summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cfg/Relooper.cpp7
-rw-r--r--src/passes/ReReloop.cpp3
-rw-r--r--src/passes/Vacuum.cpp63
-rw-r--r--src/tools/wasm-opt.cpp73
-rw-r--r--src/wasm-validator.h21
-rw-r--r--test/emcc_hello_world.fromasm4955
-rw-r--r--test/emcc_hello_world.fromasm.clamp4955
-rw-r--r--test/emcc_hello_world.fromasm.imprecise4947
-rw-r--r--test/example/c-api-kitchen-sink.c3
-rw-r--r--test/passes/precompute_coalesce-locals_vacuum.txt5
-rw-r--r--test/passes/remove-unused-brs_precompute_vacuum_remove-unused-brs.txt12
-rw-r--r--test/passes/remove-unused-names_vacuum.txt1
-rw-r--r--test/passes/rereloop.txt47
-rw-r--r--test/passes/rereloop.wast21
-rw-r--r--test/passes/vacuum.txt58
-rw-r--r--test/unreachable-import_wasm-only.fromasm12
-rw-r--r--test/unreachable-import_wasm-only.fromasm.clamp12
-rw-r--r--test/unreachable-import_wasm-only.fromasm.imprecise12
-rw-r--r--test/wasm-only.fromasm1
-rw-r--r--test/wasm-only.fromasm.clamp1
-rw-r--r--test/wasm-only.fromasm.imprecise1
21 files changed, 7615 insertions, 7595 deletions
diff --git a/src/cfg/Relooper.cpp b/src/cfg/Relooper.cpp
index 9fcc9c8be..b326d761d 100644
--- a/src/cfg/Relooper.cpp
+++ b/src/cfg/Relooper.cpp
@@ -328,7 +328,12 @@ wasm::Expression* Block::Render(RelooperBuilder& Builder, bool InLoop) {
NextOuter->list.push_back(Outer);
Outer->name = CurrName; // breaking on Outer leads to the content in NextOuter
NextOuter->list.push_back(CurrContent);
- NextOuter->list.push_back(Builder.makeBreak(SwitchLeave));
+ // if this is not a dead end, also need to break to the outside
+ // this is both an optimization, and avoids incorrectness as adding
+ // a brak in unreachable code can make a place look reachable that isn't
+ if (CurrContent->type != wasm::unreachable) {
+ NextOuter->list.push_back(Builder.makeBreak(SwitchLeave));
+ }
// prepare for more nesting
Outer = NextOuter;
} else {
diff --git a/src/passes/ReReloop.cpp b/src/passes/ReReloop.cpp
index 6bdc0eb06..db2ec5698 100644
--- a/src/passes/ReReloop.cpp
+++ b/src/passes/ReReloop.cpp
@@ -28,6 +28,7 @@
#include "wasm-traversal.h"
#include "pass.h"
#include "cfg/Relooper.h"
+#include "ast_utils.h"
namespace wasm {
@@ -314,6 +315,8 @@ struct ReReloop : public Pass {
CFG::RelooperBuilder builder(*module, temp);
function->body = relooper.Render(builder);
}
+ // TODO: should this be in the relooper itself?
+ ReFinalize().walk(function->body);
}
};
diff --git a/src/passes/Vacuum.cpp b/src/passes/Vacuum.cpp
index 1f820ec9d..4e47ad9a3 100644
--- a/src/passes/Vacuum.cpp
+++ b/src/passes/Vacuum.cpp
@@ -23,6 +23,7 @@
#include <ast_utils.h>
#include <wasm-builder.h>
#include <ast/block-utils.h>
+#include <ast/type-updating.h>
namespace wasm {
@@ -31,7 +32,20 @@ struct Vacuum : public WalkerPass<PostWalker<Vacuum>> {
Pass* create() override { return new Vacuum; }
- bool needRefinalize = false;
+ TypeUpdater typeUpdater;
+
+ Expression* replaceCurrent(Expression* expression) {
+ auto* old = getCurrent();
+ WalkerPass<PostWalker<Vacuum>>::replaceCurrent(expression);
+ // also update the type updater
+ typeUpdater.noteReplacement(old, expression);
+ return expression;
+ }
+
+ void doWalkFunction(Function* func) {
+ typeUpdater.walk(func->body);
+ walk(func->body);
+ }
// returns nullptr if curr is dead, curr if it must stay as is, or another node if it can be replaced
Expression* optimize(Expression* curr, bool resultUsed) {
@@ -143,40 +157,39 @@ struct Vacuum : public WalkerPass<PostWalker<Vacuum>> {
int skip = 0;
auto& list = curr->list;
size_t size = list.size();
- bool needResize = false;
for (size_t z = 0; z < size; z++) {
- auto* optimized = optimize(list[z], z == size - 1 && isConcreteWasmType(curr->type));
+ auto* child = list[z];
+ auto* optimized = optimize(child, z == size - 1 && isConcreteWasmType(curr->type));
if (!optimized) {
+ typeUpdater.noteRecursiveRemoval(child);
skip++;
- needResize = true;
} else {
- if (optimized != list[z]) {
+ if (optimized != child) {
+ typeUpdater.noteReplacement(child, optimized);
list[z] = optimized;
}
if (skip > 0) {
list[z - skip] = list[z];
+ list[z] = nullptr;
}
- // if this is an unconditional br, the rest is dead code
- Break* br = list[z - skip]->dynCast<Break>();
- Switch* sw = list[z - skip]->dynCast<Switch>();
- if ((br && !br->condition) || sw) {
- auto* last = list.back();
- list.resize(z - skip + 1);
- // if we removed the last one, and it was a return value, it must be returned
- if (list.back() != last && isConcreteWasmType(last->type)) {
- list.push_back(last);
+ // if this is unreachable, the rest is dead code
+ if (list[z - skip]->type == unreachable && z < size - 1) {
+ for (Index i = z - skip + 1; i < list.size(); i++) {
+ auto* remove = list[i];
+ if (remove) {
+ typeUpdater.noteRecursiveRemoval(remove);
+ }
}
- needResize = false;
- needRefinalize = true;
+ list.resize(z - skip + 1);
+ typeUpdater.maybeUpdateTypeToUnreachable(curr);
+ skip = 0; // nothing more to do on the list
break;
}
}
}
- if (needResize) {
+ if (skip > 0) {
list.resize(size - skip);
- // resizing means we drop elements, which may include breaks, which may
- // render blocks unreachable now
- needRefinalize = true;
+ typeUpdater.maybeUpdateTypeToUnreachable(curr);
}
// the block may now be a trivial one that we can get rid of and just leave its contents
replaceCurrent(BlockUtils::simplifyToContents(curr, this));
@@ -198,13 +211,6 @@ struct Vacuum : public WalkerPass<PostWalker<Vacuum>> {
}
}
replaceCurrent(child);
- if (curr->type != child->type) {
- // e.g., if (1) unreachable is none => unreachable
- // or if i32 (1) unreachable else 10 is i32 => unreachable
- // in which cases we must update our parents.
- // we must do this now, so that our parents see valid data
- ReFinalize().walk(getFunction()->body);
- }
return;
}
if (curr->ifFalse) {
@@ -307,9 +313,6 @@ struct Vacuum : public WalkerPass<PostWalker<Vacuum>> {
}
void visitFunction(Function* curr) {
- if (needRefinalize) {
- ReFinalize().walk(curr->body);
- }
auto* optimized = optimize(curr->body, curr->result != none);
if (optimized) {
curr->body = optimized;
diff --git a/src/tools/wasm-opt.cpp b/src/tools/wasm-opt.cpp
index bf79cb31d..468f3ce93 100644
--- a/src/tools/wasm-opt.cpp
+++ b/src/tools/wasm-opt.cpp
@@ -28,9 +28,64 @@
#include "wasm-s-parser.h"
#include "wasm-validator.h"
#include "wasm-io.h"
+#include "wasm-interpreter.h"
+#include "shell-interface.h"
using namespace wasm;
+// gets execution results from a wasm module. this is useful for fuzzing
+//
+// we can only get results when there are no imports. we then call each method
+// that has a result, with some values
+struct ExecutionResults {
+ std::map<Name, Literal> results;
+
+ void get(Module& wasm) {
+ if (wasm.imports.size() > 0) {
+ std::cout << "[fuzz-exec] imports, so quitting\n";
+ return;
+ }
+ for (auto& func : wasm.functions) {
+ if (func->result != none) {
+ // this is good
+ results[func->name] = run(func.get(), wasm);
+ }
+ }
+ std::cout << "[fuzz-exec] " << results.size() << " results noted\n";
+ }
+
+ bool operator==(ExecutionResults& other) {
+ for (auto& iter : results) {
+ auto name = iter.first;
+ if (other.results.find(name) != other.results.end()) {
+ if (results[name] != other.results[name]) {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+ bool operator!=(ExecutionResults& other) {
+ return !((*this) == other);
+ }
+
+ Literal run(Function* func, Module& wasm) {
+ ShellExternalInterface interface;
+ ModuleInstance instance(wasm, &interface);
+ LiteralList arguments;
+ for (WasmType param : func->params) {
+ // zeros in arguments TODO: more?
+ arguments.push_back(Literal(param));
+ }
+ try {
+ return instance.callFunctionInternal(func->name, arguments);
+ } catch (const TrapException&) {
+ return Literal();
+ }
+ }
+};
+
//
// main
//
@@ -42,6 +97,7 @@ int main(int argc, const char* argv[]) {
PassOptions passOptions;
bool emitBinary = true;
bool debugInfo = false;
+ bool fuzzExec = false;
Options options("wasm-opt", "Optimize .wast files");
options
@@ -58,6 +114,9 @@ int main(int argc, const char* argv[]) {
.add("--debuginfo", "-g", "Emit names section and debug info",
Options::Arguments::Zero,
[&](Options *o, const std::string &arguments) { debugInfo = true; })
+ .add("--fuzz-exec", "-fe", "Execute functions before and after optimization, helping fuzzing find bugs",
+ Options::Arguments::Zero,
+ [&](Options *o, const std::string &arguments) { fuzzExec = true; })
.add_positional("INFILE", Options::Arguments::One,
[](Options* o, const std::string& argument) {
o->extra["infile"] = argument;
@@ -99,6 +158,11 @@ int main(int argc, const char* argv[]) {
Fatal() << "error in validating input";
}
+ ExecutionResults results;
+ if (fuzzExec) {
+ results.get(wasm);
+ }
+
if (passes.size() > 0) {
if (options.debug) std::cerr << "running passes...\n";
PassRunner passRunner(&wasm, passOptions);
@@ -114,6 +178,15 @@ int main(int argc, const char* argv[]) {
assert(WasmValidator().validate(wasm));
}
+ if (fuzzExec) {
+ ExecutionResults optimizedResults;
+ optimizedResults.get(wasm);
+ if (optimizedResults != results) {
+ Fatal() << "[fuzz-exec] optimization passes changed execution results";
+ }
+ std::cout << "[fuzz-exec] results match\n";
+ }
+
if (options.extra.count("output") > 0) {
if (options.debug) std::cerr << "writing..." << std::endl;
ModuleWriter writer;
diff --git a/src/wasm-validator.h b/src/wasm-validator.h
index 699e5910a..aa404099e 100644
--- a/src/wasm-validator.h
+++ b/src/wasm-validator.h
@@ -408,17 +408,26 @@ public:
switch (curr->op) {
case ClzInt32:
case CtzInt32:
- case PopcntInt32:
+ case PopcntInt32: {
+ shouldBeEqual(curr->value->type, i32, curr, "i32 unary value type must be correct");
+ break;
+ }
+ case ClzInt64:
+ case CtzInt64:
+ case PopcntInt64: {
+ shouldBeEqual(curr->value->type, i64, curr, "i64 unary value type must be correct");
+ break;
+ }
case NegFloat32:
case AbsFloat32:
case CeilFloat32:
case FloorFloat32:
case TruncFloat32:
case NearestFloat32:
- case SqrtFloat32:
- case ClzInt64:
- case CtzInt64:
- case PopcntInt64:
+ case SqrtFloat32: {
+ shouldBeEqual(curr->value->type, f32, curr, "f32 unary value type must be correct");
+ break;
+ }
case NegFloat64:
case AbsFloat64:
case CeilFloat64:
@@ -426,7 +435,7 @@ public:
case TruncFloat64:
case NearestFloat64:
case SqrtFloat64: {
- shouldBeEqual(curr->value->type, curr->type, curr, "non-conversion unaries must return the same type");
+ shouldBeEqual(curr->value->type, f64, curr, "f64 unary value type must be correct");
break;
}
case EqZInt32: {
diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm
index 5032cd047..cc2627501 100644
--- a/test/emcc_hello_world.fromasm
+++ b/test/emcc_hello_world.fromasm
@@ -3460,69 +3460,84 @@
)
)
)
- (block $__rjto$8
- (block $__rjti$8
- (block $__rjti$7
- (block $__rjti$6
- (block $__rjti$5
- (block $__rjti$4
- (block $__rjti$3
- (block $switch-default120
- (block $switch-case42
- (block $switch-case41
- (block $switch-case40
- (block $switch-case39
- (block $switch-case38
- (block $switch-case37
- (block $switch-case36
- (block $switch-case34
- (block $switch-case33
- (block $switch-case29
- (block $switch-case28
- (block $switch-case27
- (br_table $switch-case42 $switch-default120 $switch-case40 $switch-default120 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case29 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case42 $switch-default120 $switch-case37 $switch-case34 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-case34 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case29 $switch-default120
- (i32.sub
- (tee_local $18
- (select
- (i32.and
- (tee_local $12
- (i32.load8_s
- (get_local $18)
+ (set_local $5
+ (block $__rjto$8 i32
+ (block $__rjti$8
+ (block $__rjti$7
+ (block $__rjti$6
+ (block $__rjti$5
+ (block $__rjti$4
+ (block $__rjti$3
+ (block $switch-default120
+ (block $switch-case42
+ (block $switch-case41
+ (block $switch-case40
+ (block $switch-case39
+ (block $switch-case38
+ (block $switch-case37
+ (block $switch-case36
+ (block $switch-case34
+ (block $switch-case33
+ (block $switch-case29
+ (block $switch-case28
+ (block $switch-case27
+ (br_table $switch-case42 $switch-default120 $switch-case40 $switch-default120 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case29 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case42 $switch-default120 $switch-case37 $switch-case34 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-case34 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case29 $switch-default120
+ (i32.sub
+ (tee_local $18
+ (select
+ (i32.and
+ (tee_local $12
+ (i32.load8_s
+ (get_local $18)
+ )
)
+ (i32.const -33)
)
- (i32.const -33)
- )
- (get_local $12)
- (i32.and
- (i32.ne
- (get_local $9)
- (i32.const 0)
- )
- (i32.eq
- (i32.and
- (get_local $12)
- (i32.const 15)
+ (get_local $12)
+ (i32.and
+ (i32.ne
+ (get_local $9)
+ (i32.const 0)
+ )
+ (i32.eq
+ (i32.and
+ (get_local $12)
+ (i32.const 15)
+ )
+ (i32.const 3)
)
- (i32.const 3)
)
)
)
+ (i32.const 65)
)
- (i32.const 65)
)
)
- )
- (block $switch-default26
- (block $switch-case25
- (block $switch-case24
- (block $switch-case23
- (block $switch-case22
- (block $switch-case21
- (block $switch-case20
- (block $switch-case19
- (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
- (get_local $9)
+ (block $switch-default26
+ (block $switch-case25
+ (block $switch-case24
+ (block $switch-case23
+ (block $switch-case22
+ (block $switch-case21
+ (block $switch-case20
+ (block $switch-case19
+ (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
+ (get_local $9)
+ )
+ )
+ (i32.store
+ (i32.load
+ (get_local $19)
+ )
+ (get_local $16)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
)
+ (br $label$continue$L1)
)
(i32.store
(i32.load
@@ -3539,11 +3554,26 @@
(br $label$continue$L1)
)
(i32.store
- (i32.load
- (get_local $19)
+ (tee_local $5
+ (i32.load
+ (get_local $19)
+ )
)
(get_local $16)
)
+ (i32.store offset=4
+ (get_local $5)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $16)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
(set_local $5
(get_local $10)
)
@@ -3552,27 +3582,12 @@
)
(br $label$continue$L1)
)
- (i32.store
- (tee_local $5
- (i32.load
- (get_local $19)
- )
+ (i32.store16
+ (i32.load
+ (get_local $19)
)
(get_local $16)
)
- (i32.store offset=4
- (get_local $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $16)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
(set_local $5
(get_local $10)
)
@@ -3581,7 +3596,7 @@
)
(br $label$continue$L1)
)
- (i32.store16
+ (i32.store8
(i32.load
(get_local $19)
)
@@ -3595,7 +3610,7 @@
)
(br $label$continue$L1)
)
- (i32.store8
+ (i32.store
(i32.load
(get_local $19)
)
@@ -3610,11 +3625,26 @@
(br $label$continue$L1)
)
(i32.store
- (i32.load
- (get_local $19)
+ (tee_local $5
+ (i32.load
+ (get_local $19)
+ )
)
(get_local $16)
)
+ (i32.store offset=4
+ (get_local $5)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $16)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
(set_local $5
(get_local $10)
)
@@ -3623,27 +3653,6 @@
)
(br $label$continue$L1)
)
- (i32.store
- (tee_local $5
- (i32.load
- (get_local $19)
- )
- )
- (get_local $16)
- )
- (i32.store offset=4
- (get_local $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $16)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
(set_local $5
(get_local $10)
)
@@ -3652,103 +3661,96 @@
)
(br $label$continue$L1)
)
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (get_local $7)
- )
- (br $label$continue$L1)
- )
- (set_local $7
- (i32.or
- (get_local $11)
- (i32.const 8)
+ (set_local $7
+ (i32.or
+ (get_local $11)
+ (i32.const 8)
+ )
)
- )
- (set_local $6
- (select
- (get_local $6)
- (i32.const 8)
- (i32.gt_u
+ (set_local $6
+ (select
(get_local $6)
(i32.const 8)
+ (i32.gt_u
+ (get_local $6)
+ (i32.const 8)
+ )
)
)
+ (set_local $18
+ (i32.const 120)
+ )
+ (br $__rjti$3)
)
- (set_local $18
- (i32.const 120)
+ (set_local $7
+ (get_local $11)
)
(br $__rjti$3)
)
- (set_local $7
- (get_local $11)
- )
- (br $__rjti$3)
- )
- (if
- (i32.and
- (i32.eqz
- (tee_local $7
- (i32.load
- (tee_local $5
- (get_local $19)
+ (if
+ (i32.and
+ (i32.eqz
+ (tee_local $7
+ (i32.load
+ (tee_local $5
+ (get_local $19)
+ )
)
)
)
- )
- (i32.eqz
- (tee_local $8
- (i32.load offset=4
- (get_local $5)
+ (i32.eqz
+ (tee_local $8
+ (i32.load offset=4
+ (get_local $5)
+ )
)
)
)
- )
- (set_local $8
- (get_local $22)
- )
- (block
- (set_local $5
- (get_local $7)
- )
- (set_local $7
- (get_local $8)
- )
(set_local $8
(get_local $22)
)
- (loop $while-in32
- (i32.store8
- (tee_local $8
- (i32.add
- (get_local $8)
- (i32.const -1)
+ (block
+ (set_local $5
+ (get_local $7)
+ )
+ (set_local $7
+ (get_local $8)
+ )
+ (set_local $8
+ (get_local $22)
+ )
+ (loop $while-in32
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $8)
+ (i32.const -1)
+ )
)
- )
- (i32.or
- (i32.and
- (get_local $5)
- (i32.const 7)
+ (i32.or
+ (i32.and
+ (get_local $5)
+ (i32.const 7)
+ )
+ (i32.const 48)
)
- (i32.const 48)
)
- )
- (br_if $while-in32
- (i32.eqz
- (i32.and
- (i32.eqz
- (tee_local $5
- (call $_bitshift64Lshr
- (get_local $5)
- (get_local $7)
- (i32.const 3)
+ (br_if $while-in32
+ (i32.eqz
+ (i32.and
+ (i32.eqz
+ (tee_local $5
+ (call $_bitshift64Lshr
+ (get_local $5)
+ (get_local $7)
+ (i32.const 3)
+ )
)
)
- )
- (i32.eqz
- (tee_local $7
- (get_global $tempRet0)
+ (i32.eqz
+ (tee_local $7
+ (get_global $tempRet0)
+ )
)
)
)
@@ -3756,152 +3758,177 @@
)
)
)
- )
- (if
- (i32.and
- (get_local $11)
- (i32.const 8)
- )
- (block
- (set_local $5
- (get_local $8)
- )
- (set_local $7
+ (if
+ (i32.and
(get_local $11)
+ (i32.const 8)
)
- (set_local $6
- (select
- (tee_local $11
- (i32.add
- (i32.sub
- (get_local $39)
- (get_local $8)
+ (block
+ (set_local $5
+ (get_local $8)
+ )
+ (set_local $7
+ (get_local $11)
+ )
+ (set_local $6
+ (select
+ (tee_local $11
+ (i32.add
+ (i32.sub
+ (get_local $39)
+ (get_local $8)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
- )
- (get_local $6)
- (i32.lt_s
(get_local $6)
- (get_local $11)
+ (i32.lt_s
+ (get_local $6)
+ (get_local $11)
+ )
)
)
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjti$8)
)
- (set_local $8
- (i32.const 0)
+ (block
+ (set_local $5
+ (get_local $8)
+ )
+ (set_local $7
+ (get_local $11)
+ )
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjti$8)
)
- (set_local $9
- (i32.const 4091)
+ )
+ )
+ (set_local $5
+ (i32.load
+ (tee_local $7
+ (get_local $19)
+ )
+ )
+ )
+ (if
+ (i32.lt_s
+ (tee_local $7
+ (i32.load offset=4
+ (get_local $7)
+ )
)
- (br $__rjti$8)
+ (i32.const 0)
)
(block
- (set_local $5
- (get_local $8)
+ (i32.store
+ (tee_local $8
+ (get_local $19)
+ )
+ (tee_local $5
+ (call $_i64Subtract
+ (i32.const 0)
+ (i32.const 0)
+ (get_local $5)
+ (get_local $7)
+ )
+ )
)
- (set_local $7
- (get_local $11)
+ (i32.store offset=4
+ (get_local $8)
+ (tee_local $7
+ (get_global $tempRet0)
+ )
)
(set_local $8
- (i32.const 0)
+ (i32.const 1)
)
(set_local $9
(i32.const 4091)
)
- (br $__rjti$8)
+ (br $__rjti$4)
)
)
- )
- (set_local $5
- (i32.load
- (tee_local $7
- (get_local $19)
+ (if
+ (i32.and
+ (get_local $11)
+ (i32.const 2048)
)
- )
- )
- (if
- (i32.lt_s
- (tee_local $7
- (i32.load offset=4
- (get_local $7)
+ (block
+ (set_local $8
+ (i32.const 1)
)
- )
- (i32.const 0)
- )
- (block
- (i32.store
- (tee_local $8
- (get_local $19)
+ (set_local $9
+ (i32.const 4092)
)
- (tee_local $5
- (call $_i64Subtract
- (i32.const 0)
- (i32.const 0)
- (get_local $5)
- (get_local $7)
+ (br $__rjti$4)
+ )
+ (block
+ (set_local $8
+ (tee_local $9
+ (i32.and
+ (get_local $11)
+ (i32.const 1)
+ )
)
)
- )
- (i32.store offset=4
- (get_local $8)
- (tee_local $7
- (get_global $tempRet0)
+ (set_local $9
+ (select
+ (i32.const 4093)
+ (i32.const 4091)
+ (get_local $9)
+ )
)
+ (br $__rjti$4)
)
- (set_local $8
- (i32.const 1)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$4)
)
)
- (if
- (i32.and
- (get_local $11)
- (i32.const 2048)
- )
- (block
- (set_local $8
- (i32.const 1)
- )
- (set_local $9
- (i32.const 4092)
+ (set_local $5
+ (i32.load
+ (tee_local $7
+ (get_local $19)
)
- (br $__rjti$4)
)
- (block
- (set_local $8
- (tee_local $9
- (i32.and
- (get_local $11)
- (i32.const 1)
- )
- )
- )
- (set_local $9
- (select
- (i32.const 4093)
- (i32.const 4091)
- (get_local $9)
- )
- )
- (br $__rjti$4)
+ )
+ (set_local $7
+ (i32.load offset=4
+ (get_local $7)
)
)
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjti$4)
)
(set_local $5
+ (get_local $19)
+ )
+ (i32.store8
+ (get_local $40)
(i32.load
- (tee_local $7
- (get_local $19)
- )
+ (get_local $5)
)
)
(set_local $7
- (i32.load offset=4
- (get_local $7)
- )
+ (get_local $40)
+ )
+ (set_local $11
+ (get_local $8)
+ )
+ (set_local $12
+ (i32.const 1)
)
(set_local $8
(i32.const 0)
@@ -3909,978 +3936,979 @@
(set_local $9
(i32.const 4091)
)
- (br $__rjti$4)
- )
- (set_local $5
- (get_local $19)
- )
- (i32.store8
- (get_local $40)
- (i32.load
- (get_local $5)
+ (br $__rjto$8
+ (get_local $22)
)
)
- (set_local $7
- (get_local $40)
- )
- (set_local $11
- (get_local $8)
- )
- (set_local $12
- (i32.const 1)
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
(set_local $5
- (get_local $22)
+ (call $_strerror
+ (i32.load
+ (call $___errno_location)
+ )
+ )
)
- (br $__rjto$8)
+ (br $__rjti$5)
)
(set_local $5
- (call $_strerror
- (i32.load
- (call $___errno_location)
+ (select
+ (tee_local $5
+ (i32.load
+ (get_local $19)
+ )
)
+ (i32.const 4101)
+ (get_local $5)
)
)
(br $__rjti$5)
)
(set_local $5
- (select
- (tee_local $5
- (i32.load
- (get_local $19)
- )
- )
- (i32.const 4101)
+ (get_local $19)
+ )
+ (i32.store
+ (get_local $41)
+ (i32.load
(get_local $5)
)
)
- (br $__rjti$5)
- )
- (set_local $5
- (get_local $19)
- )
- (i32.store
- (get_local $41)
- (i32.load
- (get_local $5)
+ (i32.store
+ (get_local $44)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $19)
+ (get_local $41)
)
- )
- (i32.store
- (get_local $44)
- (i32.const 0)
- )
- (i32.store
- (get_local $19)
- (get_local $41)
- )
- (set_local $8
- (i32.const -1)
- )
- (br $__rjti$6)
- )
- (if
- (get_local $6)
- (block
(set_local $8
- (get_local $6)
+ (i32.const -1)
)
(br $__rjti$6)
)
- (block
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (i32.const 0)
- (get_local $11)
+ (if
+ (get_local $6)
+ (block
+ (set_local $8
+ (get_local $6)
+ )
+ (br $__rjti$6)
)
- (set_local $7
- (i32.const 0)
+ (block
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
+ (i32.const 0)
+ (get_local $11)
+ )
+ (set_local $7
+ (i32.const 0)
+ )
+ (br $__rjti$7)
)
- (br $__rjti$7)
)
)
- )
- (set_local $15
- (f64.load
- (get_local $19)
- )
- )
- (i32.store
- (get_local $21)
- (i32.const 0)
- )
- (f64.store
- (get_global $tempDoublePtr)
- (get_local $15)
- )
- (set_local $31
- (if i32
- (i32.lt_s
- (i32.load offset=4
- (get_global $tempDoublePtr)
- )
- (i32.const 0)
- )
- (block i32
- (set_local $27
- (i32.const 1)
- )
- (set_local $15
- (f64.neg
- (get_local $15)
- )
- )
- (i32.const 4108)
+ (set_local $15
+ (f64.load
+ (get_local $19)
)
+ )
+ (i32.store
+ (get_local $21)
+ (i32.const 0)
+ )
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $15)
+ )
+ (set_local $31
(if i32
- (i32.and
- (get_local $11)
- (i32.const 2048)
+ (i32.lt_s
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
+ )
+ (i32.const 0)
)
(block i32
(set_local $27
(i32.const 1)
)
- (i32.const 4111)
- )
- (block i32
- (set_local $27
- (tee_local $5
- (i32.and
- (get_local $11)
- (i32.const 1)
- )
+ (set_local $15
+ (f64.neg
+ (get_local $15)
)
)
- (select
- (i32.const 4114)
- (i32.const 4109)
- (get_local $5)
- )
+ (i32.const 4108)
)
- )
- )
- )
- (f64.store
- (get_global $tempDoublePtr)
- (get_local $15)
- )
- (set_local $7
- (block $do-once49 i32
- (if i32
- (i32.or
- (i32.lt_u
- (tee_local $5
- (i32.and
- (i32.load offset=4
- (get_global $tempDoublePtr)
+ (if i32
+ (i32.and
+ (get_local $11)
+ (i32.const 2048)
+ )
+ (block i32
+ (set_local $27
+ (i32.const 1)
+ )
+ (i32.const 4111)
+ )
+ (block i32
+ (set_local $27
+ (tee_local $5
+ (i32.and
+ (get_local $11)
+ (i32.const 1)
)
- (i32.const 2146435072)
)
)
- (i32.const 2146435072)
- )
- (i32.and
- (i32.eq
+ (select
+ (i32.const 4114)
+ (i32.const 4109)
(get_local $5)
- (i32.const 2146435072)
)
- (i32.const 0)
)
)
- (block i32
- (if
- (tee_local $5
- (f64.ne
- (tee_local $24
- (f64.mul
- (call $_frexpl
- (get_local $15)
- (get_local $21)
- )
- (f64.const 2)
+ )
+ )
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $15)
+ )
+ (set_local $7
+ (block $do-once49 i32
+ (if i32
+ (i32.or
+ (i32.lt_u
+ (tee_local $5
+ (i32.and
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
)
+ (i32.const 2146435072)
)
- (f64.const 0)
)
+ (i32.const 2146435072)
)
- (i32.store
- (get_local $21)
- (i32.add
- (i32.load
- (get_local $21)
- )
- (i32.const -1)
+ (i32.and
+ (i32.eq
+ (get_local $5)
+ (i32.const 2146435072)
)
+ (i32.const 0)
)
)
- (if
- (i32.eq
- (tee_local $25
- (i32.or
- (get_local $18)
- (i32.const 32)
+ (block i32
+ (if
+ (tee_local $5
+ (f64.ne
+ (tee_local $24
+ (f64.mul
+ (call $_frexpl
+ (get_local $15)
+ (get_local $21)
+ )
+ (f64.const 2)
+ )
+ )
+ (f64.const 0)
)
)
- (i32.const 97)
- )
- (block
- (set_local $9
- (select
- (i32.add
- (get_local $31)
- (i32.const 9)
- )
- (get_local $31)
- (tee_local $13
- (i32.and
- (get_local $18)
- (i32.const 32)
- )
+ (i32.store
+ (get_local $21)
+ (i32.add
+ (i32.load
+ (get_local $21)
)
+ (i32.const -1)
)
)
- (set_local $15
- (if f64
+ )
+ (if
+ (i32.eq
+ (tee_local $25
(i32.or
- (i32.gt_u
- (get_local $6)
- (i32.const 11)
+ (get_local $18)
+ (i32.const 32)
+ )
+ )
+ (i32.const 97)
+ )
+ (block
+ (set_local $9
+ (select
+ (i32.add
+ (get_local $31)
+ (i32.const 9)
)
- (i32.eqz
- (tee_local $5
- (i32.sub
- (i32.const 12)
- (get_local $6)
- )
+ (get_local $31)
+ (tee_local $13
+ (i32.and
+ (get_local $18)
+ (i32.const 32)
)
)
)
- (get_local $24)
- (block f64
- (set_local $15
- (f64.const 8)
- )
- (loop $while-in54
- (set_local $15
- (f64.mul
- (get_local $15)
- (f64.const 16)
- )
+ )
+ (set_local $15
+ (if f64
+ (i32.or
+ (i32.gt_u
+ (get_local $6)
+ (i32.const 11)
)
- (br_if $while-in54
+ (i32.eqz
(tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
+ (i32.sub
+ (i32.const 12)
+ (get_local $6)
)
)
)
)
- (if f64
- (i32.eq
- (i32.load8_s
- (get_local $9)
- )
- (i32.const 45)
+ (get_local $24)
+ (block f64
+ (set_local $15
+ (f64.const 8)
)
- (f64.neg
- (f64.add
- (get_local $15)
- (f64.sub
- (f64.neg
- (get_local $24)
- )
+ (loop $while-in54
+ (set_local $15
+ (f64.mul
(get_local $15)
+ (f64.const 16)
+ )
+ )
+ (br_if $while-in54
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
)
)
)
- (f64.sub
- (f64.add
- (get_local $24)
+ (if f64
+ (i32.eq
+ (i32.load8_s
+ (get_local $9)
+ )
+ (i32.const 45)
+ )
+ (f64.neg
+ (f64.add
+ (get_local $15)
+ (f64.sub
+ (f64.neg
+ (get_local $24)
+ )
+ (get_local $15)
+ )
+ )
+ )
+ (f64.sub
+ (f64.add
+ (get_local $24)
+ (get_local $15)
+ )
(get_local $15)
)
- (get_local $15)
)
)
)
)
- )
- (if
- (i32.eq
- (tee_local $5
- (call $_fmt_u
- (tee_local $5
- (select
- (i32.sub
- (i32.const 0)
- (tee_local $7
- (i32.load
- (get_local $21)
+ (if
+ (i32.eq
+ (tee_local $5
+ (call $_fmt_u
+ (tee_local $5
+ (select
+ (i32.sub
+ (i32.const 0)
+ (tee_local $7
+ (i32.load
+ (get_local $21)
+ )
)
)
- )
- (get_local $7)
- (i32.lt_s
(get_local $7)
- (i32.const 0)
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 0)
+ )
)
)
- )
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.const 31)
)
(i32.const 31)
)
- (i32.const 31)
+ (get_local $34)
)
- (get_local $34)
)
+ (get_local $34)
)
- (get_local $34)
- )
- (block
- (i32.store8
- (get_local $42)
- (i32.const 48)
- )
- (set_local $5
- (get_local $42)
+ (block
+ (i32.store8
+ (get_local $42)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $42)
+ )
)
)
- )
- (set_local $12
- (i32.or
- (get_local $27)
- (i32.const 2)
- )
- )
- (i32.store8
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $7)
- (i32.const 31)
- )
+ (set_local $12
+ (i32.or
+ (get_local $27)
(i32.const 2)
)
- (i32.const 43)
)
- )
- (i32.store8
- (tee_local $8
+ (i32.store8
(i32.add
(get_local $5)
- (i32.const -2)
+ (i32.const -1)
+ )
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $7)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ (i32.const 43)
)
)
- (i32.add
- (get_local $18)
- (i32.const 15)
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $5)
+ (i32.const -2)
+ )
+ )
+ (i32.add
+ (get_local $18)
+ (i32.const 15)
+ )
)
- )
- (set_local $18
- (i32.lt_s
- (get_local $6)
- (i32.const 1)
+ (set_local $18
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 1)
+ )
)
- )
- (set_local $17
- (i32.eqz
- (i32.and
- (get_local $11)
- (i32.const 8)
+ (set_local $17
+ (i32.eqz
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
)
)
- )
- (set_local $5
- (get_local $23)
- )
- (loop $while-in56
- (i32.store8
- (get_local $5)
- (i32.or
- (i32.load8_u
- (i32.add
- (tee_local $7
- (call $f64-to-int
- (get_local $15)
+ (set_local $5
+ (get_local $23)
+ )
+ (loop $while-in56
+ (i32.store8
+ (get_local $5)
+ (i32.or
+ (i32.load8_u
+ (i32.add
+ (tee_local $7
+ (call $f64-to-int
+ (get_local $15)
+ )
)
+ (i32.const 4075)
)
- (i32.const 4075)
)
+ (get_local $13)
)
- (get_local $13)
)
- )
- (set_local $15
- (f64.mul
- (f64.sub
- (get_local $15)
- (f64.convert_s/i32
- (get_local $7)
+ (set_local $15
+ (f64.mul
+ (f64.sub
+ (get_local $15)
+ (f64.convert_s/i32
+ (get_local $7)
+ )
)
+ (f64.const 16)
)
- (f64.const 16)
)
- )
- (set_local $5
- (block $do-once57 i32
- (if i32
- (i32.eq
- (i32.sub
- (tee_local $7
- (i32.add
- (get_local $5)
- (i32.const 1)
+ (set_local $5
+ (block $do-once57 i32
+ (if i32
+ (i32.eq
+ (i32.sub
+ (tee_local $7
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
)
+ (get_local $37)
)
- (get_local $37)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (block i32
- (drop
- (br_if $do-once57
- (get_local $7)
- (i32.and
- (get_local $17)
+ (block i32
+ (drop
+ (br_if $do-once57
+ (get_local $7)
(i32.and
- (get_local $18)
- (f64.eq
- (get_local $15)
- (f64.const 0)
+ (get_local $17)
+ (i32.and
+ (get_local $18)
+ (f64.eq
+ (get_local $15)
+ (f64.const 0)
+ )
)
)
)
)
+ (i32.store8
+ (get_local $7)
+ (i32.const 46)
+ )
+ (i32.add
+ (get_local $5)
+ (i32.const 2)
+ )
)
- (i32.store8
- (get_local $7)
- (i32.const 46)
- )
- (i32.add
- (get_local $5)
- (i32.const 2)
- )
+ (get_local $7)
)
- (get_local $7)
)
)
- )
- (br_if $while-in56
- (f64.ne
- (get_local $15)
- (f64.const 0)
+ (br_if $while-in56
+ (f64.ne
+ (get_local $15)
+ (f64.const 0)
+ )
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (tee_local $7
- (i32.add
- (tee_local $6
- (select
- (i32.sub
- (i32.add
- (get_local $47)
- (get_local $6)
- )
- (get_local $8)
- )
- (i32.add
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
+ (tee_local $7
+ (i32.add
+ (tee_local $6
+ (select
(i32.sub
- (get_local $45)
+ (i32.add
+ (get_local $47)
+ (get_local $6)
+ )
(get_local $8)
)
- (get_local $5)
- )
- (i32.and
- (i32.ne
- (get_local $6)
- (i32.const 0)
+ (i32.add
+ (i32.sub
+ (get_local $45)
+ (get_local $8)
+ )
+ (get_local $5)
)
- (i32.lt_s
- (i32.add
- (get_local $46)
- (get_local $5)
+ (i32.and
+ (i32.ne
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.lt_s
+ (i32.add
+ (get_local $46)
+ (get_local $5)
+ )
+ (get_local $6)
)
- (get_local $6)
)
)
)
+ (get_local $12)
)
- (get_local $12)
)
+ (get_local $11)
)
- (get_local $11)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $9)
+ (get_local $12)
(get_local $0)
)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
- (get_local $9)
- (get_local $12)
- (get_local $0)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $14)
+ (get_local $7)
+ (i32.xor
+ (get_local $11)
+ (i32.const 65536)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $14)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 65536)
- )
- )
- (set_local $5
- (i32.sub
- (get_local $5)
- (get_local $37)
+ (set_local $5
+ (i32.sub
+ (get_local $5)
+ (get_local $37)
+ )
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $23)
+ (get_local $5)
(get_local $0)
)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
- (get_local $23)
- (get_local $5)
- (get_local $0)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.sub
+ (get_local $6)
+ (i32.add
+ (get_local $5)
+ (tee_local $5
+ (i32.sub
+ (get_local $28)
+ (get_local $8)
+ )
+ )
+ )
)
+ (i32.const 0)
+ (i32.const 0)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.sub
- (get_local $6)
- (i32.add
- (get_local $5)
- (tee_local $5
- (i32.sub
- (get_local $28)
- (get_local $8)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
)
+ (i32.const 32)
)
)
- )
- (i32.const 0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
+ (drop
+ (call $___fwritex
+ (get_local $8)
+ (get_local $5)
(get_local $0)
)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
- (get_local $8)
- (get_local $5)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (br $do-once49
- (select
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
(get_local $14)
(get_local $7)
- (i32.lt_s
- (get_local $7)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
+ )
+ (br $do-once49
+ (select
(get_local $14)
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (get_local $14)
+ )
)
)
)
)
- )
- (set_local $15
- (if f64
- (get_local $5)
- (block f64
- (i32.store
- (get_local $21)
- (tee_local $5
- (i32.add
- (i32.load
- (get_local $21)
+ (set_local $15
+ (if f64
+ (get_local $5)
+ (block f64
+ (i32.store
+ (get_local $21)
+ (tee_local $5
+ (i32.add
+ (i32.load
+ (get_local $21)
+ )
+ (i32.const -28)
)
- (i32.const -28)
)
)
+ (f64.mul
+ (get_local $24)
+ (f64.const 268435456)
+ )
)
- (f64.mul
+ (block f64
+ (set_local $5
+ (i32.load
+ (get_local $21)
+ )
+ )
(get_local $24)
- (f64.const 268435456)
)
)
- (block f64
- (set_local $5
- (i32.load
- (get_local $21)
+ )
+ (set_local $7
+ (tee_local $8
+ (select
+ (get_local $48)
+ (get_local $49)
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
)
)
- (get_local $24)
)
)
- )
- (set_local $7
- (tee_local $8
- (select
- (get_local $48)
- (get_local $49)
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
+ (loop $while-in60
+ (i32.store
+ (get_local $7)
+ (tee_local $5
+ (call $f64-to-int
+ (get_local $15)
+ )
)
)
- )
- )
- (loop $while-in60
- (i32.store
- (get_local $7)
- (tee_local $5
- (call $f64-to-int
- (get_local $15)
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
)
)
- )
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (br_if $while-in60
- (f64.ne
- (tee_local $15
- (f64.mul
- (f64.sub
- (get_local $15)
- (f64.convert_u/i32
- (get_local $5)
+ (br_if $while-in60
+ (f64.ne
+ (tee_local $15
+ (f64.mul
+ (f64.sub
+ (get_local $15)
+ (f64.convert_u/i32
+ (get_local $5)
+ )
)
+ (f64.const 1e9)
)
- (f64.const 1e9)
)
+ (f64.const 0)
)
- (f64.const 0)
)
)
- )
- (if
- (i32.gt_s
- (tee_local $9
- (i32.load
- (get_local $21)
+ (if
+ (i32.gt_s
+ (tee_local $9
+ (i32.load
+ (get_local $21)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $5
- (get_local $8)
- )
- (loop $while-in62
- (set_local $13
- (select
- (i32.const 29)
- (get_local $9)
- (i32.gt_s
- (get_local $9)
+ (block
+ (set_local $5
+ (get_local $8)
+ )
+ (loop $while-in62
+ (set_local $13
+ (select
(i32.const 29)
+ (get_local $9)
+ (i32.gt_s
+ (get_local $9)
+ (i32.const 29)
+ )
)
)
- )
- (block $do-once63
- (if
- (i32.ge_u
- (tee_local $9
- (i32.add
- (get_local $7)
- (i32.const -4)
+ (block $do-once63
+ (if
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
+ )
)
+ (get_local $5)
)
- (get_local $5)
- )
- (block
- (set_local $12
- (i32.const 0)
- )
- (loop $while-in66
- (i32.store
- (get_local $9)
- (tee_local $20
- (call $___uremdi3
- (tee_local $12
- (call $_i64Add
- (call $_bitshift64Shl
- (i32.load
- (get_local $9)
+ (block
+ (set_local $12
+ (i32.const 0)
+ )
+ (loop $while-in66
+ (i32.store
+ (get_local $9)
+ (tee_local $20
+ (call $___uremdi3
+ (tee_local $12
+ (call $_i64Add
+ (call $_bitshift64Shl
+ (i32.load
+ (get_local $9)
+ )
+ (i32.const 0)
+ (get_local $13)
)
+ (get_global $tempRet0)
+ (get_local $12)
(i32.const 0)
- (get_local $13)
)
+ )
+ (tee_local $17
(get_global $tempRet0)
- (get_local $12)
- (i32.const 0)
)
+ (i32.const 1000000000)
+ (i32.const 0)
)
- (tee_local $17
- (get_global $tempRet0)
- )
+ )
+ )
+ (set_local $12
+ (call $___udivdi3
+ (get_local $12)
+ (get_local $17)
(i32.const 1000000000)
(i32.const 0)
)
)
+ (br_if $while-in66
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $9)
+ (i32.const -4)
+ )
+ )
+ (get_local $5)
+ )
+ )
)
- (set_local $12
- (call $___udivdi3
+ (br_if $do-once63
+ (i32.eqz
(get_local $12)
- (get_local $17)
- (i32.const 1000000000)
- (i32.const 0)
)
)
- (br_if $while-in66
- (i32.ge_u
- (tee_local $9
- (i32.add
- (get_local $9)
- (i32.const -4)
- )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
)
- (get_local $5)
)
- )
- )
- (br_if $do-once63
- (i32.eqz
(get_local $12)
)
)
- (i32.store
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -4)
- )
- )
- (get_local $12)
- )
)
)
- )
- (loop $while-in68
- (if
- (i32.gt_u
- (get_local $7)
- (get_local $5)
- )
+ (loop $while-in68
(if
- (i32.eqz
- (i32.load
- (tee_local $9
- (i32.add
- (get_local $7)
- (i32.const -4)
+ (i32.gt_u
+ (get_local $7)
+ (get_local $5)
+ )
+ (if
+ (i32.eqz
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
+ )
)
)
)
- )
- (block
- (set_local $7
- (get_local $9)
+ (block
+ (set_local $7
+ (get_local $9)
+ )
+ (br $while-in68)
)
- (br $while-in68)
)
)
)
- )
- (i32.store
- (get_local $21)
- (tee_local $9
- (i32.sub
- (i32.load
- (get_local $21)
+ (i32.store
+ (get_local $21)
+ (tee_local $9
+ (i32.sub
+ (i32.load
+ (get_local $21)
+ )
+ (get_local $13)
)
- (get_local $13)
)
)
- )
- (br_if $while-in62
- (i32.gt_s
- (get_local $9)
- (i32.const 0)
+ (br_if $while-in62
+ (i32.gt_s
+ (get_local $9)
+ (i32.const 0)
+ )
)
)
)
- )
- (set_local $5
- (get_local $8)
- )
- )
- (set_local $17
- (select
- (i32.const 6)
- (get_local $6)
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
+ (set_local $5
+ (get_local $8)
)
)
- )
- (if
- (i32.lt_s
- (get_local $9)
- (i32.const 0)
- )
- (block
- (set_local $20
- (i32.add
- (call $i32s-div
- (i32.add
- (get_local $17)
- (i32.const 25)
- )
- (i32.const 9)
- )
- (i32.const 1)
- )
- )
- (set_local $32
- (i32.eq
- (get_local $25)
- (i32.const 102)
+ (set_local $17
+ (select
+ (i32.const 6)
+ (get_local $6)
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 0)
)
)
- (set_local $6
- (get_local $5)
- )
- (set_local $5
- (get_local $7)
+ )
+ (if
+ (i32.lt_s
+ (get_local $9)
+ (i32.const 0)
)
- (loop $while-in70
- (set_local $13
- (select
- (i32.const 9)
- (tee_local $7
- (i32.sub
- (i32.const 0)
- (get_local $9)
+ (block
+ (set_local $20
+ (i32.add
+ (call $i32s-div
+ (i32.add
+ (get_local $17)
+ (i32.const 25)
)
- )
- (i32.gt_s
- (get_local $7)
(i32.const 9)
)
+ (i32.const 1)
)
)
- (block $do-once71
- (if
- (i32.lt_u
- (get_local $6)
- (get_local $5)
- )
- (block
- (set_local $12
- (i32.add
- (i32.shl
- (i32.const 1)
- (get_local $13)
- )
- (i32.const -1)
- )
- )
- (set_local $38
- (i32.shr_u
- (i32.const 1000000000)
- (get_local $13)
+ (set_local $32
+ (i32.eq
+ (get_local $25)
+ (i32.const 102)
+ )
+ )
+ (set_local $6
+ (get_local $5)
+ )
+ (set_local $5
+ (get_local $7)
+ )
+ (loop $while-in70
+ (set_local $13
+ (select
+ (i32.const 9)
+ (tee_local $7
+ (i32.sub
+ (i32.const 0)
+ (get_local $9)
)
)
- (set_local $9
- (i32.const 0)
+ (i32.gt_s
+ (get_local $7)
+ (i32.const 9)
)
- (set_local $7
+ )
+ )
+ (block $do-once71
+ (if
+ (i32.lt_u
(get_local $6)
+ (get_local $5)
)
- (loop $while-in74
- (i32.store
- (get_local $7)
+ (block
+ (set_local $12
(i32.add
- (i32.shr_u
- (tee_local $33
- (i32.load
- (get_local $7)
- )
- )
+ (i32.shl
+ (i32.const 1)
(get_local $13)
)
- (get_local $9)
+ (i32.const -1)
+ )
+ )
+ (set_local $38
+ (i32.shr_u
+ (i32.const 1000000000)
+ (get_local $13)
)
)
(set_local $9
- (i32.mul
- (i32.and
- (get_local $33)
- (get_local $12)
+ (i32.const 0)
+ )
+ (set_local $7
+ (get_local $6)
+ )
+ (loop $while-in74
+ (i32.store
+ (get_local $7)
+ (i32.add
+ (i32.shr_u
+ (tee_local $33
+ (i32.load
+ (get_local $7)
+ )
+ )
+ (get_local $13)
+ )
+ (get_local $9)
)
- (get_local $38)
)
- )
- (br_if $while-in74
- (i32.lt_u
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
+ (set_local $9
+ (i32.mul
+ (i32.and
+ (get_local $33)
+ (get_local $12)
)
+ (get_local $38)
)
+ )
+ (br_if $while-in74
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ )
+ (get_local $5)
+ )
+ )
+ )
+ (set_local $7
+ (select
+ (get_local $6)
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (i32.load
+ (get_local $6)
+ )
+ )
+ )
+ (br_if $do-once71
+ (i32.eqz
+ (get_local $9)
+ )
+ )
+ (i32.store
+ (get_local $5)
+ (get_local $9)
+ )
+ (set_local $5
+ (i32.add
(get_local $5)
+ (i32.const 4)
)
)
)
@@ -4896,490 +4924,463 @@
)
)
)
- (br_if $do-once71
- (i32.eqz
- (get_local $9)
+ )
+ )
+ (set_local $12
+ (select
+ (i32.add
+ (tee_local $6
+ (select
+ (get_local $8)
+ (get_local $7)
+ (get_local $32)
+ )
+ )
+ (i32.shl
+ (get_local $20)
+ (i32.const 2)
)
)
- (i32.store
- (get_local $5)
- (get_local $9)
- )
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 4)
+ (get_local $5)
+ (i32.gt_s
+ (i32.shr_s
+ (i32.sub
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.const 2)
)
+ (get_local $20)
)
)
- (set_local $7
- (select
- (get_local $6)
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
+ )
+ (i32.store
+ (get_local $21)
+ (tee_local $9
+ (i32.add
(i32.load
- (get_local $6)
+ (get_local $21)
)
+ (get_local $13)
)
)
)
- )
- (set_local $12
- (select
- (i32.add
- (tee_local $6
- (select
- (get_local $8)
- (get_local $7)
- (get_local $32)
- )
+ (if
+ (i32.lt_s
+ (get_local $9)
+ (i32.const 0)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
)
- (i32.shl
- (get_local $20)
- (i32.const 2)
+ (set_local $5
+ (get_local $12)
)
+ (br $while-in70)
)
- (get_local $5)
- (i32.gt_s
- (i32.shr_s
- (i32.sub
- (get_local $5)
- (get_local $6)
- )
- (i32.const 2)
+ (block
+ (set_local $5
+ (get_local $7)
)
- (get_local $20)
- )
- )
- )
- (i32.store
- (get_local $21)
- (tee_local $9
- (i32.add
- (i32.load
- (get_local $21)
+ (set_local $9
+ (get_local $12)
)
- (get_local $13)
- )
- )
- )
- (if
- (i32.lt_s
- (get_local $9)
- (i32.const 0)
- )
- (block
- (set_local $6
- (get_local $7)
- )
- (set_local $5
- (get_local $12)
- )
- (br $while-in70)
- )
- (block
- (set_local $5
- (get_local $7)
- )
- (set_local $9
- (get_local $12)
)
)
)
)
+ (set_local $9
+ (get_local $7)
+ )
)
- (set_local $9
- (get_local $7)
+ (set_local $20
+ (get_local $8)
)
- )
- (set_local $20
- (get_local $8)
- )
- (block $do-once75
- (if
- (i32.lt_u
- (get_local $5)
- (get_local $9)
- )
- (block
- (set_local $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $20)
- (get_local $5)
+ (block $do-once75
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (get_local $9)
+ )
+ (block
+ (set_local $7
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $20)
+ (get_local $5)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 9)
)
- (i32.const 9)
)
- )
- (br_if $do-once75
- (i32.lt_u
- (tee_local $12
- (i32.load
- (get_local $5)
+ (br_if $do-once75
+ (i32.lt_u
+ (tee_local $12
+ (i32.load
+ (get_local $5)
+ )
)
+ (i32.const 10)
)
+ )
+ (set_local $6
(i32.const 10)
)
- )
- (set_local $6
- (i32.const 10)
- )
- (loop $while-in78
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 1)
+ (loop $while-in78
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 1)
+ )
)
- )
- (br_if $while-in78
- (i32.ge_u
- (get_local $12)
- (tee_local $6
- (i32.mul
- (get_local $6)
- (i32.const 10)
+ (br_if $while-in78
+ (i32.ge_u
+ (get_local $12)
+ (tee_local $6
+ (i32.mul
+ (get_local $6)
+ (i32.const 10)
+ )
)
)
)
)
)
- )
- (set_local $7
- (i32.const 0)
+ (set_local $7
+ (i32.const 0)
+ )
)
)
- )
- (set_local $5
- (if i32
- (i32.lt_s
- (tee_local $6
- (i32.add
- (i32.sub
- (get_local $17)
- (select
- (get_local $7)
- (i32.const 0)
- (i32.ne
- (get_local $25)
- (i32.const 102)
+ (set_local $5
+ (if i32
+ (i32.lt_s
+ (tee_local $6
+ (i32.add
+ (i32.sub
+ (get_local $17)
+ (select
+ (get_local $7)
+ (i32.const 0)
+ (i32.ne
+ (get_local $25)
+ (i32.const 102)
+ )
)
)
- )
- (i32.shr_s
- (i32.shl
- (i32.and
- (tee_local $32
- (i32.ne
- (get_local $17)
- (i32.const 0)
+ (i32.shr_s
+ (i32.shl
+ (i32.and
+ (tee_local $32
+ (i32.ne
+ (get_local $17)
+ (i32.const 0)
+ )
)
- )
- (tee_local $38
- (i32.eq
- (get_local $25)
- (i32.const 103)
+ (tee_local $38
+ (i32.eq
+ (get_local $25)
+ (i32.const 103)
+ )
)
)
+ (i32.const 31)
)
(i32.const 31)
)
- (i32.const 31)
- )
- )
- )
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $9)
- (get_local $20)
- )
- (i32.const 2)
)
- (i32.const 9)
)
- (i32.const -9)
- )
- )
- (block i32
- (set_local $13
- (call $i32s-div
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 9216)
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $9)
+ (get_local $20)
+ )
+ (i32.const 2)
)
+ (i32.const 9)
)
- (i32.const 9)
+ (i32.const -9)
)
)
- (if
- (i32.lt_s
- (tee_local $6
- (i32.add
- (call $i32s-rem
+ (block i32
+ (set_local $13
+ (call $i32s-div
+ (tee_local $6
+ (i32.add
(get_local $6)
- (i32.const 9)
+ (i32.const 9216)
)
- (i32.const 1)
)
+ (i32.const 9)
)
- (i32.const 9)
)
- (block
- (set_local $12
- (i32.const 10)
+ (if
+ (i32.lt_s
+ (tee_local $6
+ (i32.add
+ (call $i32s-rem
+ (get_local $6)
+ (i32.const 9)
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.const 9)
)
- (loop $while-in80
+ (block
(set_local $12
- (i32.mul
- (get_local $12)
- (i32.const 10)
- )
+ (i32.const 10)
)
- (br_if $while-in80
- (i32.ne
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 1)
+ (loop $while-in80
+ (set_local $12
+ (i32.mul
+ (get_local $12)
+ (i32.const 10)
+ )
+ )
+ (br_if $while-in80
+ (i32.ne
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 1)
+ )
)
+ (i32.const 9)
)
- (i32.const 9)
)
)
)
+ (set_local $12
+ (i32.const 10)
+ )
)
- (set_local $12
- (i32.const 10)
- )
- )
- (set_local $13
- (call $i32u-rem
- (tee_local $25
- (i32.load
- (tee_local $6
- (i32.add
+ (set_local $13
+ (call $i32u-rem
+ (tee_local $25
+ (i32.load
+ (tee_local $6
(i32.add
- (get_local $8)
- (i32.shl
- (get_local $13)
- (i32.const 2)
+ (i32.add
+ (get_local $8)
+ (i32.shl
+ (get_local $13)
+ (i32.const 2)
+ )
)
+ (i32.const -4092)
)
- (i32.const -4092)
)
)
)
+ (get_local $12)
)
- (get_local $12)
)
- )
- (block $do-once81
- (if
- (i32.eqz
- (i32.and
- (tee_local $33
- (i32.eq
- (i32.add
- (get_local $6)
- (i32.const 4)
+ (block $do-once81
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $33
+ (i32.eq
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (get_local $9)
)
- (get_local $9)
)
- )
- (i32.eqz
- (get_local $13)
+ (i32.eqz
+ (get_local $13)
+ )
)
)
- )
- (block
- (set_local $50
- (call $i32u-div
- (get_local $25)
- (get_local $12)
+ (block
+ (set_local $50
+ (call $i32u-div
+ (get_local $25)
+ (get_local $12)
+ )
)
- )
- (set_local $15
- (if f64
- (i32.lt_u
- (get_local $13)
- (tee_local $51
- (call $i32s-div
- (get_local $12)
- (i32.const 2)
+ (set_local $15
+ (if f64
+ (i32.lt_u
+ (get_local $13)
+ (tee_local $51
+ (call $i32s-div
+ (get_local $12)
+ (i32.const 2)
+ )
)
)
- )
- (f64.const 0.5)
- (select
- (f64.const 1)
- (f64.const 1.5)
- (i32.and
- (get_local $33)
- (i32.eq
- (get_local $13)
- (get_local $51)
+ (f64.const 0.5)
+ (select
+ (f64.const 1)
+ (f64.const 1.5)
+ (i32.and
+ (get_local $33)
+ (i32.eq
+ (get_local $13)
+ (get_local $51)
+ )
)
)
)
)
- )
- (set_local $24
- (select
- (f64.const 9007199254740994)
- (f64.const 9007199254740992)
- (i32.and
- (get_local $50)
- (i32.const 1)
+ (set_local $24
+ (select
+ (f64.const 9007199254740994)
+ (f64.const 9007199254740992)
+ (i32.and
+ (get_local $50)
+ (i32.const 1)
+ )
)
)
- )
- (block $do-once83
- (if
- (get_local $27)
- (block
- (br_if $do-once83
- (i32.ne
- (i32.load8_s
- (get_local $31)
+ (block $do-once83
+ (if
+ (get_local $27)
+ (block
+ (br_if $do-once83
+ (i32.ne
+ (i32.load8_s
+ (get_local $31)
+ )
+ (i32.const 45)
)
- (i32.const 45)
)
- )
- (set_local $24
- (f64.neg
- (get_local $24)
+ (set_local $24
+ (f64.neg
+ (get_local $24)
+ )
)
- )
- (set_local $15
- (f64.neg
- (get_local $15)
+ (set_local $15
+ (f64.neg
+ (get_local $15)
+ )
)
)
)
)
- )
- (i32.store
- (get_local $6)
- (tee_local $13
- (i32.sub
- (get_local $25)
- (get_local $13)
+ (i32.store
+ (get_local $6)
+ (tee_local $13
+ (i32.sub
+ (get_local $25)
+ (get_local $13)
+ )
)
)
- )
- (br_if $do-once81
- (f64.eq
- (f64.add
+ (br_if $do-once81
+ (f64.eq
+ (f64.add
+ (get_local $24)
+ (get_local $15)
+ )
(get_local $24)
- (get_local $15)
)
- (get_local $24)
)
- )
- (i32.store
- (get_local $6)
- (tee_local $7
- (i32.add
- (get_local $13)
- (get_local $12)
+ (i32.store
+ (get_local $6)
+ (tee_local $7
+ (i32.add
+ (get_local $13)
+ (get_local $12)
+ )
)
)
- )
- (if
- (i32.gt_u
- (get_local $7)
- (i32.const 999999999)
- )
- (loop $while-in86
- (i32.store
- (get_local $6)
- (i32.const 0)
+ (if
+ (i32.gt_u
+ (get_local $7)
+ (i32.const 999999999)
)
- (if
- (i32.lt_u
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -4)
+ (loop $while-in86
+ (i32.store
+ (get_local $6)
+ (i32.const 0)
+ )
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
+ )
)
+ (get_local $5)
+ )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
+ (i32.const 0)
)
- (get_local $5)
)
(i32.store
- (tee_local $5
+ (get_local $6)
+ (tee_local $7
(i32.add
- (get_local $5)
- (i32.const -4)
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 1)
)
)
- (i32.const 0)
)
- )
- (i32.store
- (get_local $6)
- (tee_local $7
- (i32.add
- (i32.load
- (get_local $6)
- )
- (i32.const 1)
+ (br_if $while-in86
+ (i32.gt_u
+ (get_local $7)
+ (i32.const 999999999)
)
)
)
- (br_if $while-in86
- (i32.gt_u
- (get_local $7)
- (i32.const 999999999)
- )
- )
)
- )
- (set_local $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $20)
- (get_local $5)
+ (set_local $7
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $20)
+ (get_local $5)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 9)
)
- (i32.const 9)
)
- )
- (br_if $do-once81
- (i32.lt_u
- (tee_local $13
- (i32.load
- (get_local $5)
+ (br_if $do-once81
+ (i32.lt_u
+ (tee_local $13
+ (i32.load
+ (get_local $5)
+ )
)
+ (i32.const 10)
)
+ )
+ (set_local $12
(i32.const 10)
)
- )
- (set_local $12
- (i32.const 10)
- )
- (loop $while-in88
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 1)
+ (loop $while-in88
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 1)
+ )
)
- )
- (br_if $while-in88
- (i32.ge_u
- (get_local $13)
- (tee_local $12
- (i32.mul
- (get_local $12)
- (i32.const 10)
+ (br_if $while-in88
+ (i32.ge_u
+ (get_local $13)
+ (tee_local $12
+ (i32.mul
+ (get_local $12)
+ (i32.const 10)
+ )
)
)
)
@@ -5387,607 +5388,565 @@
)
)
)
- )
- (set_local $12
- (get_local $5)
- )
- (set_local $13
- (get_local $7)
- )
- (select
- (tee_local $5
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
+ (set_local $12
+ (get_local $5)
)
- (get_local $9)
- (i32.gt_u
+ (set_local $13
+ (get_local $7)
+ )
+ (select
+ (tee_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
(get_local $9)
- (get_local $5)
+ (i32.gt_u
+ (get_local $9)
+ (get_local $5)
+ )
)
)
- )
- (block i32
- (set_local $12
- (get_local $5)
- )
- (set_local $13
- (get_local $7)
+ (block i32
+ (set_local $12
+ (get_local $5)
+ )
+ (set_local $13
+ (get_local $7)
+ )
+ (get_local $9)
)
- (get_local $9)
)
)
- )
- (set_local $33
- (i32.sub
- (i32.const 0)
- (get_local $13)
+ (set_local $33
+ (i32.sub
+ (i32.const 0)
+ (get_local $13)
+ )
)
- )
- (loop $while-in90
- (block $while-out89
- (if
- (i32.le_u
- (get_local $5)
- (get_local $12)
- )
- (block
- (set_local $25
- (i32.const 0)
- )
- (set_local $9
+ (loop $while-in90
+ (block $while-out89
+ (if
+ (i32.le_u
(get_local $5)
+ (get_local $12)
)
- (br $while-out89)
- )
- )
- (if
- (i32.load
- (tee_local $7
- (i32.add
+ (block
+ (set_local $25
+ (i32.const 0)
+ )
+ (set_local $9
(get_local $5)
- (i32.const -4)
)
+ (br $while-out89)
)
)
- (block
- (set_local $25
- (i32.const 1)
+ (if
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
)
- (set_local $9
- (get_local $5)
+ (block
+ (set_local $25
+ (i32.const 1)
+ )
+ (set_local $9
+ (get_local $5)
+ )
)
- )
- (block
- (set_local $5
- (get_local $7)
+ (block
+ (set_local $5
+ (get_local $7)
+ )
+ (br $while-in90)
)
- (br $while-in90)
)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (tee_local $13
- (i32.add
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
+ (tee_local $13
(i32.add
(i32.add
(i32.add
- (get_local $27)
- (i32.const 1)
- )
- (tee_local $5
- (block $do-once91 i32
- (if i32
- (get_local $38)
- (block i32
- (set_local $7
- (if i32
- (i32.and
- (i32.gt_s
- (tee_local $5
- (i32.add
- (i32.xor
- (get_local $32)
- (i32.const 1)
+ (i32.add
+ (get_local $27)
+ (i32.const 1)
+ )
+ (tee_local $5
+ (block $do-once91 i32
+ (if i32
+ (get_local $38)
+ (block i32
+ (set_local $7
+ (if i32
+ (i32.and
+ (i32.gt_s
+ (tee_local $5
+ (i32.add
+ (i32.xor
+ (get_local $32)
+ (i32.const 1)
+ )
+ (get_local $17)
)
- (get_local $17)
)
+ (get_local $13)
+ )
+ (i32.gt_s
+ (get_local $13)
+ (i32.const -5)
)
- (get_local $13)
)
- (i32.gt_s
- (get_local $13)
- (i32.const -5)
+ (block i32
+ (set_local $17
+ (i32.sub
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ (get_local $13)
+ )
+ )
+ (i32.add
+ (get_local $18)
+ (i32.const -1)
+ )
)
- )
- (block i32
- (set_local $17
- (i32.sub
+ (block i32
+ (set_local $17
(i32.add
(get_local $5)
(i32.const -1)
)
- (get_local $13)
)
- )
- (i32.add
- (get_local $18)
- (i32.const -1)
- )
- )
- (block i32
- (set_local $17
(i32.add
- (get_local $5)
- (i32.const -1)
+ (get_local $18)
+ (i32.const -2)
)
)
- (i32.add
- (get_local $18)
- (i32.const -2)
- )
)
)
- )
- (if
- (tee_local $5
- (i32.and
- (get_local $11)
- (i32.const 8)
- )
- )
- (block
- (set_local $20
- (get_local $5)
+ (if
+ (tee_local $5
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
)
- (br $do-once91
- (get_local $17)
+ (block
+ (set_local $20
+ (get_local $5)
+ )
+ (br $do-once91
+ (get_local $17)
+ )
)
)
- )
- (block $do-once93
- (if
- (get_local $25)
- (block
- (if
- (i32.eqz
- (tee_local $18
- (i32.load
- (i32.add
- (get_local $9)
- (i32.const -4)
+ (block $do-once93
+ (if
+ (get_local $25)
+ (block
+ (if
+ (i32.eqz
+ (tee_local $18
+ (i32.load
+ (i32.add
+ (get_local $9)
+ (i32.const -4)
+ )
)
)
)
- )
- (block
- (set_local $5
- (i32.const 9)
- )
- (br $do-once93)
- )
- )
- (if
- (call $i32u-rem
- (get_local $18)
- (i32.const 10)
- )
- (block
- (set_local $5
- (i32.const 0)
+ (block
+ (set_local $5
+ (i32.const 9)
+ )
+ (br $do-once93)
)
- (br $do-once93)
)
- (block
- (set_local $6
+ (if
+ (call $i32u-rem
+ (get_local $18)
(i32.const 10)
)
- (set_local $5
- (i32.const 0)
+ (block
+ (set_local $5
+ (i32.const 0)
+ )
+ (br $do-once93)
)
- )
- )
- (loop $while-in96
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
+ (block
+ (set_local $6
+ (i32.const 10)
+ )
+ (set_local $5
+ (i32.const 0)
+ )
)
)
- (br_if $while-in96
- (i32.eqz
- (call $i32u-rem
- (get_local $18)
- (tee_local $6
- (i32.mul
- (get_local $6)
- (i32.const 10)
+ (loop $while-in96
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in96
+ (i32.eqz
+ (call $i32u-rem
+ (get_local $18)
+ (tee_local $6
+ (i32.mul
+ (get_local $6)
+ (i32.const 10)
+ )
)
)
)
)
)
)
- )
- (set_local $5
- (i32.const 9)
+ (set_local $5
+ (i32.const 9)
+ )
)
)
- )
- (set_local $6
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $9)
- (get_local $20)
+ (set_local $6
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $9)
+ (get_local $20)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 9)
)
- (i32.const 9)
- )
- (i32.const -9)
- )
- )
- (if i32
- (i32.eq
- (i32.or
- (get_local $7)
- (i32.const 32)
+ (i32.const -9)
)
- (i32.const 102)
)
- (block i32
- (set_local $20
- (i32.const 0)
+ (if i32
+ (i32.eq
+ (i32.or
+ (get_local $7)
+ (i32.const 32)
+ )
+ (i32.const 102)
)
- (select
- (get_local $17)
- (tee_local $5
- (select
- (i32.const 0)
- (tee_local $5
- (i32.sub
- (get_local $6)
+ (block i32
+ (set_local $20
+ (i32.const 0)
+ )
+ (select
+ (get_local $17)
+ (tee_local $5
+ (select
+ (i32.const 0)
+ (tee_local $5
+ (i32.sub
+ (get_local $6)
+ (get_local $5)
+ )
+ )
+ (i32.lt_s
(get_local $5)
+ (i32.const 0)
)
)
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
)
- )
- (i32.lt_s
- (get_local $17)
- (get_local $5)
+ (i32.lt_s
+ (get_local $17)
+ (get_local $5)
+ )
)
)
- )
- (block i32
- (set_local $20
- (i32.const 0)
- )
- (select
- (get_local $17)
- (tee_local $5
- (select
- (i32.const 0)
- (tee_local $5
- (i32.sub
- (i32.add
- (get_local $6)
- (get_local $13)
+ (block i32
+ (set_local $20
+ (i32.const 0)
+ )
+ (select
+ (get_local $17)
+ (tee_local $5
+ (select
+ (i32.const 0)
+ (tee_local $5
+ (i32.sub
+ (i32.add
+ (get_local $6)
+ (get_local $13)
+ )
+ (get_local $5)
)
+ )
+ (i32.lt_s
(get_local $5)
+ (i32.const 0)
)
)
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
)
- )
- (i32.lt_s
- (get_local $17)
- (get_local $5)
+ (i32.lt_s
+ (get_local $17)
+ (get_local $5)
+ )
)
)
)
)
- )
- (block i32
- (set_local $20
- (i32.and
- (get_local $11)
- (i32.const 8)
+ (block i32
+ (set_local $20
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
)
+ (set_local $7
+ (get_local $18)
+ )
+ (get_local $17)
)
- (set_local $7
- (get_local $18)
- )
- (get_local $17)
)
)
)
)
- )
- (i32.ne
- (tee_local $32
- (i32.or
- (get_local $5)
- (get_local $20)
- )
- )
- (i32.const 0)
- )
- )
- (tee_local $7
- (if i32
- (tee_local $17
- (i32.eq
+ (i32.ne
+ (tee_local $32
(i32.or
- (get_local $7)
- (i32.const 32)
+ (get_local $5)
+ (get_local $20)
)
- (i32.const 102)
)
+ (i32.const 0)
)
- (block i32
- (set_local $18
- (i32.const 0)
+ )
+ (tee_local $7
+ (if i32
+ (tee_local $17
+ (i32.eq
+ (i32.or
+ (get_local $7)
+ (i32.const 32)
+ )
+ (i32.const 102)
+ )
)
- (select
- (get_local $13)
- (i32.const 0)
- (i32.gt_s
+ (block i32
+ (set_local $18
+ (i32.const 0)
+ )
+ (select
(get_local $13)
(i32.const 0)
+ (i32.gt_s
+ (get_local $13)
+ (i32.const 0)
+ )
)
)
- )
- (block i32
- (if
- (i32.lt_s
- (i32.sub
- (get_local $28)
- (tee_local $6
- (call $_fmt_u
- (tee_local $6
- (select
- (get_local $33)
- (get_local $13)
- (i32.lt_s
+ (block i32
+ (if
+ (i32.lt_s
+ (i32.sub
+ (get_local $28)
+ (tee_local $6
+ (call $_fmt_u
+ (tee_local $6
+ (select
+ (get_local $33)
(get_local $13)
- (i32.const 0)
+ (i32.lt_s
+ (get_local $13)
+ (i32.const 0)
+ )
)
)
- )
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.const 31)
)
(i32.const 31)
)
- (i32.const 31)
+ (get_local $34)
)
- (get_local $34)
)
)
+ (i32.const 2)
)
- (i32.const 2)
- )
- (loop $while-in98
- (i32.store8
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
+ (loop $while-in98
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in98
+ (i32.lt_s
+ (i32.sub
+ (get_local $28)
+ (get_local $6)
+ )
+ (i32.const 2)
)
)
- (i32.const 48)
)
- (br_if $while-in98
- (i32.lt_s
- (i32.sub
- (get_local $28)
- (get_local $6)
+ )
+ (i32.store8
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $13)
+ (i32.const 31)
)
(i32.const 2)
)
+ (i32.const 43)
)
)
- )
- (i32.store8
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $13)
- (i32.const 31)
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -2)
)
- (i32.const 2)
)
- (i32.const 43)
+ (get_local $7)
)
- )
- (i32.store8
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -2)
- )
+ (set_local $18
+ (get_local $6)
+ )
+ (i32.sub
+ (get_local $28)
+ (get_local $6)
)
- (get_local $7)
- )
- (set_local $18
- (get_local $6)
- )
- (i32.sub
- (get_local $28)
- (get_local $6)
)
)
)
)
)
+ (get_local $11)
)
- (get_local $11)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $31)
+ (get_local $27)
(get_local $0)
)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
- (get_local $31)
- (get_local $27)
- (get_local $0)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $14)
+ (get_local $13)
+ (i32.xor
+ (get_local $11)
+ (i32.const 65536)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $14)
- (get_local $13)
- (i32.xor
- (get_local $11)
- (i32.const 65536)
- )
- )
- (block $do-once99
- (if
- (get_local $17)
- (block
- (set_local $6
- (tee_local $12
- (select
- (get_local $8)
- (get_local $12)
- (i32.gt_u
- (get_local $12)
+ (block $do-once99
+ (if
+ (get_local $17)
+ (block
+ (set_local $6
+ (tee_local $12
+ (select
(get_local $8)
+ (get_local $12)
+ (i32.gt_u
+ (get_local $12)
+ (get_local $8)
+ )
)
)
)
- )
- (loop $while-in102
- (set_local $7
- (call $_fmt_u
- (i32.load
- (get_local $6)
+ (loop $while-in102
+ (set_local $7
+ (call $_fmt_u
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 0)
+ (get_local $30)
)
- (i32.const 0)
- (get_local $30)
)
- )
- (block $do-once103
- (if
- (i32.eq
- (get_local $6)
- (get_local $12)
- )
- (block
- (br_if $do-once103
- (i32.ne
- (get_local $7)
- (get_local $30)
- )
- )
- (i32.store8
- (get_local $35)
- (i32.const 48)
- )
- (set_local $7
- (get_local $35)
+ (block $do-once103
+ (if
+ (i32.eq
+ (get_local $6)
+ (get_local $12)
)
- )
- (block
- (br_if $do-once103
- (i32.le_u
- (get_local $7)
- (get_local $23)
+ (block
+ (br_if $do-once103
+ (i32.ne
+ (get_local $7)
+ (get_local $30)
+ )
)
- )
- (loop $while-in106
(i32.store8
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const -1)
- )
- )
+ (get_local $35)
(i32.const 48)
)
- (br_if $while-in106
- (i32.gt_u
+ (set_local $7
+ (get_local $35)
+ )
+ )
+ (block
+ (br_if $do-once103
+ (i32.le_u
(get_local $7)
(get_local $23)
)
)
+ (loop $while-in106
+ (i32.store8
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in106
+ (i32.gt_u
+ (get_local $7)
+ (get_local $23)
+ )
+ )
+ )
)
)
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $7)
- (i32.sub
- (get_local $43)
- (get_local $7)
- )
- (get_local $0)
- )
- )
- )
- (if
- (i32.le_u
- (tee_local $7
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
- (get_local $8)
- )
- (block
- (set_local $6
- (get_local $7)
- )
- (br $while-in102)
- )
- )
- )
- (block $do-once107
- (if
- (get_local $32)
- (block
- (br_if $do-once107
+ (if
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
@@ -5997,187 +5956,259 @@
)
(drop
(call $___fwritex
- (i32.const 4143)
- (i32.const 1)
+ (get_local $7)
+ (i32.sub
+ (get_local $43)
+ (get_local $7)
+ )
(get_local $0)
)
)
)
- )
- )
- (if
- (i32.and
- (i32.gt_s
- (get_local $5)
- (i32.const 0)
- )
- (i32.lt_u
- (get_local $7)
- (get_local $9)
+ (if
+ (i32.le_u
+ (tee_local $7
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (get_local $8)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
+ )
+ (br $while-in102)
+ )
)
)
- (loop $while-in110
+ (block $do-once107
(if
- (i32.gt_u
- (tee_local $6
- (call $_fmt_u
+ (get_local $32)
+ (block
+ (br_if $do-once107
+ (i32.and
(i32.load
- (get_local $7)
+ (get_local $0)
)
- (i32.const 0)
- (get_local $30)
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
)
)
- (get_local $23)
)
- (loop $while-in112
- (i32.store8
+ )
+ )
+ (if
+ (i32.and
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.lt_u
+ (get_local $7)
+ (get_local $9)
+ )
+ )
+ (loop $while-in110
+ (if
+ (i32.gt_u
(tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
+ (call $_fmt_u
+ (i32.load
+ (get_local $7)
+ )
+ (i32.const 0)
+ (get_local $30)
)
)
- (i32.const 48)
+ (get_local $23)
)
- (br_if $while-in112
- (i32.gt_u
- (get_local $6)
- (get_local $23)
+ (loop $while-in112
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in112
+ (i32.gt_u
+ (get_local $6)
+ (get_local $23)
+ )
)
)
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
- )
- (drop
- (call $___fwritex
- (get_local $6)
- (select
- (i32.const 9)
- (get_local $5)
- (i32.gt_s
- (get_local $5)
+ (drop
+ (call $___fwritex
+ (get_local $6)
+ (select
(i32.const 9)
+ (get_local $5)
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 9)
+ )
)
+ (get_local $0)
)
- (get_local $0)
)
)
- )
- (set_local $6
- (i32.add
- (get_local $5)
- (i32.const -9)
- )
- )
- (if
- (i32.and
- (i32.gt_s
+ (set_local $6
+ (i32.add
(get_local $5)
- (i32.const 9)
+ (i32.const -9)
)
- (i32.lt_u
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
+ )
+ (if
+ (i32.and
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 9)
+ )
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
)
+ (get_local $9)
)
- (get_local $9)
)
- )
- (block
+ (block
+ (set_local $5
+ (get_local $6)
+ )
+ (br $while-in110)
+ )
(set_local $5
(get_local $6)
)
- (br $while-in110)
- )
- (set_local $5
- (get_local $6)
)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $5)
- (i32.const 9)
- )
- (i32.const 9)
- (i32.const 0)
- )
- )
- (block
- (set_local $9
- (select
- (get_local $9)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
(i32.add
- (get_local $12)
- (i32.const 4)
+ (get_local $5)
+ (i32.const 9)
)
- (get_local $25)
+ (i32.const 9)
+ (i32.const 0)
)
)
- (if
- (i32.gt_s
- (get_local $5)
- (i32.const -1)
- )
- (block
- (set_local $17
- (i32.eqz
- (get_local $20)
+ (block
+ (set_local $9
+ (select
+ (get_local $9)
+ (i32.add
+ (get_local $12)
+ (i32.const 4)
)
+ (get_local $25)
)
- (set_local $6
- (get_local $12)
- )
- (set_local $7
+ )
+ (if
+ (i32.gt_s
(get_local $5)
+ (i32.const -1)
)
- (loop $while-in114
- (if
- (i32.eq
- (tee_local $5
- (call $_fmt_u
- (i32.load
- (get_local $6)
- )
- (i32.const 0)
- (get_local $30)
- )
- )
- (get_local $30)
- )
- (block
- (i32.store8
- (get_local $35)
- (i32.const 48)
- )
- (set_local $5
- (get_local $35)
- )
+ (block
+ (set_local $17
+ (i32.eqz
+ (get_local $20)
)
)
- (block $do-once115
+ (set_local $6
+ (get_local $12)
+ )
+ (set_local $7
+ (get_local $5)
+ )
+ (loop $while-in114
(if
(i32.eq
- (get_local $6)
- (get_local $12)
+ (tee_local $5
+ (call $_fmt_u
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 0)
+ (get_local $30)
+ )
+ )
+ (get_local $30)
)
(block
- (if
- (i32.eqz
+ (i32.store8
+ (get_local $35)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $35)
+ )
+ )
+ )
+ (block $do-once115
+ (if
+ (i32.eq
+ (get_local $6)
+ (get_local $12)
+ )
+ (block
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $5)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ (br_if $do-once115
+ (i32.and
+ (get_local $17)
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ )
+ (br_if $do-once115
(i32.and
(i32.load
(get_local $0)
@@ -6187,344 +6218,273 @@
)
(drop
(call $___fwritex
- (get_local $5)
+ (i32.const 4143)
(i32.const 1)
(get_local $0)
)
)
)
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
- )
- )
- (br_if $do-once115
- (i32.and
- (get_local $17)
- (i32.lt_s
- (get_local $7)
- (i32.const 1)
+ (block
+ (br_if $do-once115
+ (i32.le_u
+ (get_local $5)
+ (get_local $23)
)
)
- )
- (br_if $do-once115
- (i32.and
- (i32.load
- (get_local $0)
+ (loop $while-in118
+ (i32.store8
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
)
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $0)
- )
- )
- )
- (block
- (br_if $do-once115
- (i32.le_u
- (get_local $5)
- (get_local $23)
- )
- )
- (loop $while-in118
- (i32.store8
- (tee_local $5
- (i32.add
+ (br_if $while-in118
+ (i32.gt_u
(get_local $5)
- (i32.const -1)
+ (get_local $23)
)
)
- (i32.const 48)
- )
- (br_if $while-in118
- (i32.gt_u
- (get_local $5)
- (get_local $23)
- )
)
)
)
)
- )
- (set_local $8
- (i32.sub
- (get_local $43)
- (get_local $5)
+ (set_local $8
+ (i32.sub
+ (get_local $43)
+ (get_local $5)
+ )
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
- )
- (drop
- (call $___fwritex
- (get_local $5)
- (select
- (get_local $8)
- (get_local $7)
- (i32.gt_s
- (get_local $7)
+ (drop
+ (call $___fwritex
+ (get_local $5)
+ (select
(get_local $8)
+ (get_local $7)
+ (i32.gt_s
+ (get_local $7)
+ (get_local $8)
+ )
)
+ (get_local $0)
)
- (get_local $0)
)
)
- )
- (br_if $while-in114
- (i32.and
- (i32.lt_u
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 4)
+ (br_if $while-in114
+ (i32.and
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
)
+ (get_local $9)
)
- (get_local $9)
- )
- (i32.gt_s
- (tee_local $7
- (i32.sub
- (get_local $7)
- (get_local $8)
+ (i32.gt_s
+ (tee_local $7
+ (i32.sub
+ (get_local $7)
+ (get_local $8)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
)
)
- )
- (set_local $5
- (get_local $7)
+ (set_local $5
+ (get_local $7)
+ )
)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $5)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
+ (get_local $5)
+ (i32.const 18)
+ )
(i32.const 18)
+ (i32.const 0)
)
- (i32.const 18)
- (i32.const 0)
- )
- (br_if $do-once99
- (i32.and
- (i32.load
- (get_local $0)
+ (br_if $do-once99
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
- )
- (drop
- (call $___fwritex
- (get_local $18)
- (i32.sub
- (get_local $28)
+ (drop
+ (call $___fwritex
(get_local $18)
+ (i32.sub
+ (get_local $28)
+ (get_local $18)
+ )
+ (get_local $0)
)
- (get_local $0)
)
)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (get_local $13)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (select
- (get_local $14)
- (get_local $13)
- (i32.lt_s
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
(get_local $13)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
+ )
+ (select
(get_local $14)
+ (get_local $13)
+ (i32.lt_s
+ (get_local $13)
+ (get_local $14)
+ )
)
)
- )
- (block i32
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (tee_local $7
- (i32.add
- (tee_local $9
- (select
- (i32.const 0)
- (get_local $27)
- (tee_local $6
- (i32.or
- (f64.ne
- (get_local $15)
- (get_local $15)
+ (block i32
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
+ (tee_local $7
+ (i32.add
+ (tee_local $9
+ (select
+ (i32.const 0)
+ (get_local $27)
+ (tee_local $6
+ (i32.or
+ (f64.ne
+ (get_local $15)
+ (get_local $15)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
+ (i32.const 3)
)
- (i32.const 3)
)
+ (get_local $8)
)
- (get_local $8)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $5
- (i32.load
- (get_local $0)
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $5
+ (i32.load
+ (get_local $0)
+ )
)
+ (i32.const 32)
)
- (i32.const 32)
)
- )
- (block
- (drop
- (call $___fwritex
- (get_local $31)
- (get_local $9)
- (get_local $0)
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $31)
+ (get_local $9)
+ (get_local $0)
+ )
)
- )
- (set_local $5
- (i32.load
- (get_local $0)
+ (set_local $5
+ (i32.load
+ (get_local $0)
+ )
)
)
)
- )
- (set_local $6
- (select
+ (set_local $6
(select
- (i32.const 4135)
- (i32.const 4139)
- (tee_local $8
- (i32.ne
- (i32.and
- (get_local $18)
- (i32.const 32)
+ (select
+ (i32.const 4135)
+ (i32.const 4139)
+ (tee_local $8
+ (i32.ne
+ (i32.and
+ (get_local $18)
+ (i32.const 32)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
)
+ (select
+ (i32.const 4127)
+ (i32.const 4131)
+ (get_local $8)
+ )
+ (get_local $6)
)
- (select
- (i32.const 4127)
- (i32.const 4131)
- (get_local $8)
- )
- (get_local $6)
)
- )
- (if
- (i32.eqz
- (i32.and
- (get_local $5)
- (i32.const 32)
+ (if
+ (i32.eqz
+ (i32.and
+ (get_local $5)
+ (i32.const 32)
+ )
)
- )
- (drop
- (call $___fwritex
- (get_local $6)
- (i32.const 3)
- (get_local $0)
+ (drop
+ (call $___fwritex
+ (get_local $6)
+ (i32.const 3)
+ (get_local $0)
+ )
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (select
- (get_local $14)
- (get_local $7)
- (i32.lt_s
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
(get_local $7)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
+ )
+ (select
(get_local $14)
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (get_local $14)
+ )
)
)
)
)
)
- )
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (get_local $7)
- )
- (br $label$continue$L1)
- )
- (set_local $7
- (get_local $5)
- )
- (set_local $12
- (get_local $6)
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (set_local $5
- (get_local $22)
- )
- (br $__rjto$8)
- )
- (set_local $9
- (i32.and
- (get_local $18)
- (i32.const 32)
- )
- )
- (if
- (i32.and
- (i32.eqz
- (tee_local $8
- (i32.load
- (tee_local $5
- (get_local $19)
- )
- )
+ (set_local $5
+ (get_local $10)
)
- )
- (i32.eqz
- (tee_local $11
- (i32.load offset=4
- (get_local $5)
- )
+ (set_local $10
+ (get_local $7)
)
+ (br $label$continue$L1)
)
- )
- (block
- (set_local $5
- (get_local $22)
+ (set_local $7
+ (get_local $5)
+ )
+ (set_local $12
+ (get_local $6)
)
(set_local $8
(i32.const 0)
@@ -6532,381 +6492,412 @@
(set_local $9
(i32.const 4091)
)
- (br $__rjti$8)
- )
- (block
- (set_local $5
- (get_local $8)
- )
- (set_local $8
+ (br $__rjto$8
(get_local $22)
)
- (loop $while-in123
- (i32.store8
+ )
+ (set_local $9
+ (i32.and
+ (get_local $18)
+ (i32.const 32)
+ )
+ )
+ (if
+ (i32.and
+ (i32.eqz
(tee_local $8
- (i32.add
- (get_local $8)
- (i32.const -1)
- )
- )
- (i32.or
- (i32.load8_u
- (i32.add
- (i32.and
- (get_local $5)
- (i32.const 15)
- )
- (i32.const 4075)
+ (i32.load
+ (tee_local $5
+ (get_local $19)
)
)
- (get_local $9)
)
)
- (br_if $while-in123
- (i32.eqz
- (i32.and
- (i32.eqz
- (tee_local $5
- (call $_bitshift64Lshr
- (get_local $5)
- (get_local $11)
- (i32.const 4)
- )
- )
- )
- (i32.eqz
- (tee_local $11
- (get_global $tempRet0)
- )
- )
+ (i32.eqz
+ (tee_local $11
+ (i32.load offset=4
+ (get_local $5)
)
)
)
+ )
+ (block
(set_local $5
- (get_local $8)
+ (get_local $22)
+ )
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
)
+ (br $__rjti$8)
)
- (if
- (i32.or
- (i32.eqz
- (i32.and
- (get_local $7)
- (i32.const 8)
+ (block
+ (set_local $5
+ (get_local $8)
+ )
+ (set_local $8
+ (get_local $22)
+ )
+ (loop $while-in123
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $8)
+ (i32.const -1)
+ )
)
- )
- (i32.and
- (i32.eqz
- (i32.load
- (tee_local $11
- (get_local $19)
+ (i32.or
+ (i32.load8_u
+ (i32.add
+ (i32.and
+ (get_local $5)
+ (i32.const 15)
+ )
+ (i32.const 4075)
)
)
+ (get_local $9)
)
+ )
+ (br_if $while-in123
(i32.eqz
- (i32.load offset=4
- (get_local $11)
+ (i32.and
+ (i32.eqz
+ (tee_local $5
+ (call $_bitshift64Lshr
+ (get_local $5)
+ (get_local $11)
+ (i32.const 4)
+ )
+ )
+ )
+ (i32.eqz
+ (tee_local $11
+ (get_global $tempRet0)
+ )
+ )
)
)
)
- )
- (block
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
+ (set_local $5
+ (get_local $8)
)
- (br $__rjti$8)
)
- (block
- (set_local $8
- (i32.const 2)
- )
- (set_local $9
- (i32.add
- (i32.shr_s
- (get_local $18)
- (i32.const 4)
+ (if
+ (i32.or
+ (i32.eqz
+ (i32.and
+ (get_local $7)
+ (i32.const 8)
)
+ )
+ (i32.and
+ (i32.eqz
+ (i32.load
+ (tee_local $11
+ (get_local $19)
+ )
+ )
+ )
+ (i32.eqz
+ (i32.load offset=4
+ (get_local $11)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
(i32.const 4091)
)
+ (br $__rjti$8)
+ )
+ (block
+ (set_local $8
+ (i32.const 2)
+ )
+ (set_local $9
+ (i32.add
+ (i32.shr_s
+ (get_local $18)
+ (i32.const 4)
+ )
+ (i32.const 4091)
+ )
+ )
+ (br $__rjti$8)
)
- (br $__rjti$8)
)
)
)
)
- (br $__rjto$8)
+ (set_local $5
+ (call $_fmt_u
+ (get_local $5)
+ (get_local $7)
+ (get_local $22)
+ )
+ )
+ (set_local $7
+ (get_local $11)
+ )
+ (br $__rjti$8)
)
- (set_local $5
- (call $_fmt_u
- (get_local $5)
- (get_local $7)
- (get_local $22)
+ (set_local $18
+ (i32.eqz
+ (tee_local $13
+ (call $_memchr
+ (get_local $5)
+ (i32.const 0)
+ (get_local $6)
+ )
+ )
)
)
(set_local $7
- (get_local $11)
+ (get_local $5)
)
- (br $__rjti$8)
- )
- (set_local $18
- (i32.eqz
- (tee_local $13
- (call $_memchr
+ (set_local $11
+ (get_local $8)
+ )
+ (set_local $12
+ (select
+ (get_local $6)
+ (i32.sub
+ (get_local $13)
(get_local $5)
- (i32.const 0)
- (get_local $6)
)
+ (get_local $18)
)
)
- )
- (set_local $7
- (get_local $5)
- )
- (set_local $11
- (get_local $8)
- )
- (set_local $12
- (select
- (get_local $6)
- (i32.sub
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjto$8
+ (select
+ (i32.add
+ (get_local $5)
+ (get_local $6)
+ )
(get_local $13)
- (get_local $5)
+ (get_local $18)
)
- (get_local $18)
)
)
- (set_local $8
+ (set_local $5
(i32.const 0)
)
- (set_local $9
- (i32.const 4091)
+ (set_local $7
+ (i32.const 0)
)
- (set_local $5
- (select
- (i32.add
- (get_local $5)
- (get_local $6)
- )
- (get_local $13)
- (get_local $18)
+ (set_local $6
+ (i32.load
+ (get_local $19)
)
)
- (br $__rjto$8)
- )
- (set_local $5
- (i32.const 0)
- )
- (set_local $7
- (i32.const 0)
- )
- (set_local $6
- (i32.load
- (get_local $19)
- )
- )
- (loop $while-in125
- (block $while-out124
- (br_if $while-out124
- (i32.eqz
- (tee_local $9
- (i32.load
- (get_local $6)
+ (loop $while-in125
+ (block $while-out124
+ (br_if $while-out124
+ (i32.eqz
+ (tee_local $9
+ (i32.load
+ (get_local $6)
+ )
)
)
)
- )
- (br_if $while-out124
- (i32.or
- (i32.lt_s
- (tee_local $7
- (call $_wctomb
- (get_local $36)
- (get_local $9)
+ (br_if $while-out124
+ (i32.or
+ (i32.lt_s
+ (tee_local $7
+ (call $_wctomb
+ (get_local $36)
+ (get_local $9)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (i32.gt_u
- (get_local $7)
- (i32.sub
- (get_local $8)
- (get_local $5)
+ (i32.gt_u
+ (get_local $7)
+ (i32.sub
+ (get_local $8)
+ (get_local $5)
+ )
)
)
)
- )
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const 4)
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
)
- )
- (br_if $while-in125
- (i32.gt_u
- (get_local $8)
- (tee_local $5
- (i32.add
- (get_local $7)
- (get_local $5)
+ (br_if $while-in125
+ (i32.gt_u
+ (get_local $8)
+ (tee_local $5
+ (i32.add
+ (get_local $7)
+ (get_local $5)
+ )
)
)
)
)
)
- )
- (if
- (i32.lt_s
- (get_local $7)
- (i32.const 0)
- )
- (block
- (set_local $16
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (get_local $5)
- (get_local $11)
- )
- (if
- (get_local $5)
- (block
- (set_local $6
+ (if
+ (i32.lt_s
+ (get_local $7)
(i32.const 0)
)
- (set_local $7
- (i32.load
- (get_local $19)
+ (block
+ (set_local $16
+ (i32.const -1)
)
+ (br $label$break$L1)
)
- (loop $while-in127
- (if
- (i32.eqz
- (tee_local $8
- (i32.load
- (get_local $7)
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
+ (get_local $5)
+ (get_local $11)
+ )
+ (if
+ (get_local $5)
+ (block
+ (set_local $6
+ (i32.const 0)
+ )
+ (set_local $7
+ (i32.load
+ (get_local $19)
+ )
+ )
+ (loop $while-in127
+ (if
+ (i32.eqz
+ (tee_local $8
+ (i32.load
+ (get_local $7)
+ )
)
)
- )
- (block
- (set_local $7
- (get_local $5)
+ (block
+ (set_local $7
+ (get_local $5)
+ )
+ (br $__rjti$7)
)
- (br $__rjti$7)
)
- )
- (if
- (i32.gt_s
- (tee_local $6
- (i32.add
- (tee_local $8
- (call $_wctomb
- (get_local $36)
- (get_local $8)
+ (if
+ (i32.gt_s
+ (tee_local $6
+ (i32.add
+ (tee_local $8
+ (call $_wctomb
+ (get_local $36)
+ (get_local $8)
+ )
)
+ (get_local $6)
)
- (get_local $6)
)
- )
- (get_local $5)
- )
- (block
- (set_local $7
(get_local $5)
)
- (br $__rjti$7)
+ (block
+ (set_local $7
+ (get_local $5)
+ )
+ (br $__rjti$7)
+ )
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $36)
+ (get_local $8)
(get_local $0)
)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
- (get_local $36)
- (get_local $8)
- (get_local $0)
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
)
)
- )
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
+ (br_if $while-in127
+ (i32.lt_u
+ (get_local $6)
+ (get_local $5)
+ )
)
- )
- (br_if $while-in127
- (i32.lt_u
- (get_local $6)
+ (set_local $7
(get_local $5)
)
)
- (set_local $7
- (get_local $5)
- )
- (br $__rjti$7)
)
- )
- (block
(set_local $7
(i32.const 0)
)
- (br $__rjti$7)
)
)
- (br $__rjto$8)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (select
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
(get_local $14)
(get_local $7)
- (i32.gt_s
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (select
(get_local $14)
(get_local $7)
+ (i32.gt_s
+ (get_local $14)
+ (get_local $7)
+ )
)
)
+ (br $label$continue$L1)
)
- (br $label$continue$L1)
- )
- (set_local $11
- (select
- (i32.and
+ (set_local $11
+ (select
+ (i32.and
+ (get_local $7)
+ (i32.const -65537)
+ )
(get_local $7)
- (i32.const -65537)
- )
- (get_local $7)
- (i32.gt_s
- (get_local $6)
- (i32.const -1)
+ (i32.gt_s
+ (get_local $6)
+ (i32.const -1)
+ )
)
)
- )
- (set_local $5
(if i32
(i32.or
(get_local $6)
diff --git a/test/emcc_hello_world.fromasm.clamp b/test/emcc_hello_world.fromasm.clamp
index 944dc27e2..2edc60677 100644
--- a/test/emcc_hello_world.fromasm.clamp
+++ b/test/emcc_hello_world.fromasm.clamp
@@ -3484,69 +3484,84 @@
)
)
)
- (block $__rjto$8
- (block $__rjti$8
- (block $__rjti$7
- (block $__rjti$6
- (block $__rjti$5
- (block $__rjti$4
- (block $__rjti$3
- (block $switch-default120
- (block $switch-case42
- (block $switch-case41
- (block $switch-case40
- (block $switch-case39
- (block $switch-case38
- (block $switch-case37
- (block $switch-case36
- (block $switch-case34
- (block $switch-case33
- (block $switch-case29
- (block $switch-case28
- (block $switch-case27
- (br_table $switch-case42 $switch-default120 $switch-case40 $switch-default120 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case29 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case42 $switch-default120 $switch-case37 $switch-case34 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-case34 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case29 $switch-default120
- (i32.sub
- (tee_local $18
- (select
- (i32.and
- (tee_local $12
- (i32.load8_s
- (get_local $18)
+ (set_local $5
+ (block $__rjto$8 i32
+ (block $__rjti$8
+ (block $__rjti$7
+ (block $__rjti$6
+ (block $__rjti$5
+ (block $__rjti$4
+ (block $__rjti$3
+ (block $switch-default120
+ (block $switch-case42
+ (block $switch-case41
+ (block $switch-case40
+ (block $switch-case39
+ (block $switch-case38
+ (block $switch-case37
+ (block $switch-case36
+ (block $switch-case34
+ (block $switch-case33
+ (block $switch-case29
+ (block $switch-case28
+ (block $switch-case27
+ (br_table $switch-case42 $switch-default120 $switch-case40 $switch-default120 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case29 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case42 $switch-default120 $switch-case37 $switch-case34 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-case34 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case29 $switch-default120
+ (i32.sub
+ (tee_local $18
+ (select
+ (i32.and
+ (tee_local $12
+ (i32.load8_s
+ (get_local $18)
+ )
)
+ (i32.const -33)
)
- (i32.const -33)
- )
- (get_local $12)
- (i32.and
- (i32.ne
- (get_local $9)
- (i32.const 0)
- )
- (i32.eq
- (i32.and
- (get_local $12)
- (i32.const 15)
+ (get_local $12)
+ (i32.and
+ (i32.ne
+ (get_local $9)
+ (i32.const 0)
+ )
+ (i32.eq
+ (i32.and
+ (get_local $12)
+ (i32.const 15)
+ )
+ (i32.const 3)
)
- (i32.const 3)
)
)
)
+ (i32.const 65)
)
- (i32.const 65)
)
)
- )
- (block $switch-default26
- (block $switch-case25
- (block $switch-case24
- (block $switch-case23
- (block $switch-case22
- (block $switch-case21
- (block $switch-case20
- (block $switch-case19
- (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
- (get_local $9)
+ (block $switch-default26
+ (block $switch-case25
+ (block $switch-case24
+ (block $switch-case23
+ (block $switch-case22
+ (block $switch-case21
+ (block $switch-case20
+ (block $switch-case19
+ (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
+ (get_local $9)
+ )
+ )
+ (i32.store
+ (i32.load
+ (get_local $19)
+ )
+ (get_local $16)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
)
+ (br $label$continue$L1)
)
(i32.store
(i32.load
@@ -3563,11 +3578,26 @@
(br $label$continue$L1)
)
(i32.store
- (i32.load
- (get_local $19)
+ (tee_local $5
+ (i32.load
+ (get_local $19)
+ )
)
(get_local $16)
)
+ (i32.store offset=4
+ (get_local $5)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $16)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
(set_local $5
(get_local $10)
)
@@ -3576,27 +3606,12 @@
)
(br $label$continue$L1)
)
- (i32.store
- (tee_local $5
- (i32.load
- (get_local $19)
- )
+ (i32.store16
+ (i32.load
+ (get_local $19)
)
(get_local $16)
)
- (i32.store offset=4
- (get_local $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $16)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
(set_local $5
(get_local $10)
)
@@ -3605,7 +3620,7 @@
)
(br $label$continue$L1)
)
- (i32.store16
+ (i32.store8
(i32.load
(get_local $19)
)
@@ -3619,7 +3634,7 @@
)
(br $label$continue$L1)
)
- (i32.store8
+ (i32.store
(i32.load
(get_local $19)
)
@@ -3634,11 +3649,26 @@
(br $label$continue$L1)
)
(i32.store
- (i32.load
- (get_local $19)
+ (tee_local $5
+ (i32.load
+ (get_local $19)
+ )
)
(get_local $16)
)
+ (i32.store offset=4
+ (get_local $5)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $16)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
(set_local $5
(get_local $10)
)
@@ -3647,27 +3677,6 @@
)
(br $label$continue$L1)
)
- (i32.store
- (tee_local $5
- (i32.load
- (get_local $19)
- )
- )
- (get_local $16)
- )
- (i32.store offset=4
- (get_local $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $16)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
(set_local $5
(get_local $10)
)
@@ -3676,103 +3685,96 @@
)
(br $label$continue$L1)
)
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (get_local $7)
- )
- (br $label$continue$L1)
- )
- (set_local $7
- (i32.or
- (get_local $11)
- (i32.const 8)
+ (set_local $7
+ (i32.or
+ (get_local $11)
+ (i32.const 8)
+ )
)
- )
- (set_local $6
- (select
- (get_local $6)
- (i32.const 8)
- (i32.gt_u
+ (set_local $6
+ (select
(get_local $6)
(i32.const 8)
+ (i32.gt_u
+ (get_local $6)
+ (i32.const 8)
+ )
)
)
+ (set_local $18
+ (i32.const 120)
+ )
+ (br $__rjti$3)
)
- (set_local $18
- (i32.const 120)
+ (set_local $7
+ (get_local $11)
)
(br $__rjti$3)
)
- (set_local $7
- (get_local $11)
- )
- (br $__rjti$3)
- )
- (if
- (i32.and
- (i32.eqz
- (tee_local $7
- (i32.load
- (tee_local $5
- (get_local $19)
+ (if
+ (i32.and
+ (i32.eqz
+ (tee_local $7
+ (i32.load
+ (tee_local $5
+ (get_local $19)
+ )
)
)
)
- )
- (i32.eqz
- (tee_local $8
- (i32.load offset=4
- (get_local $5)
+ (i32.eqz
+ (tee_local $8
+ (i32.load offset=4
+ (get_local $5)
+ )
)
)
)
- )
- (set_local $8
- (get_local $22)
- )
- (block
- (set_local $5
- (get_local $7)
- )
- (set_local $7
- (get_local $8)
- )
(set_local $8
(get_local $22)
)
- (loop $while-in32
- (i32.store8
- (tee_local $8
- (i32.add
- (get_local $8)
- (i32.const -1)
+ (block
+ (set_local $5
+ (get_local $7)
+ )
+ (set_local $7
+ (get_local $8)
+ )
+ (set_local $8
+ (get_local $22)
+ )
+ (loop $while-in32
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $8)
+ (i32.const -1)
+ )
)
- )
- (i32.or
- (i32.and
- (get_local $5)
- (i32.const 7)
+ (i32.or
+ (i32.and
+ (get_local $5)
+ (i32.const 7)
+ )
+ (i32.const 48)
)
- (i32.const 48)
)
- )
- (br_if $while-in32
- (i32.eqz
- (i32.and
- (i32.eqz
- (tee_local $5
- (call $_bitshift64Lshr
- (get_local $5)
- (get_local $7)
- (i32.const 3)
+ (br_if $while-in32
+ (i32.eqz
+ (i32.and
+ (i32.eqz
+ (tee_local $5
+ (call $_bitshift64Lshr
+ (get_local $5)
+ (get_local $7)
+ (i32.const 3)
+ )
)
)
- )
- (i32.eqz
- (tee_local $7
- (get_global $tempRet0)
+ (i32.eqz
+ (tee_local $7
+ (get_global $tempRet0)
+ )
)
)
)
@@ -3780,152 +3782,177 @@
)
)
)
- )
- (if
- (i32.and
- (get_local $11)
- (i32.const 8)
- )
- (block
- (set_local $5
- (get_local $8)
- )
- (set_local $7
+ (if
+ (i32.and
(get_local $11)
+ (i32.const 8)
)
- (set_local $6
- (select
- (tee_local $11
- (i32.add
- (i32.sub
- (get_local $39)
- (get_local $8)
+ (block
+ (set_local $5
+ (get_local $8)
+ )
+ (set_local $7
+ (get_local $11)
+ )
+ (set_local $6
+ (select
+ (tee_local $11
+ (i32.add
+ (i32.sub
+ (get_local $39)
+ (get_local $8)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
- )
- (get_local $6)
- (i32.lt_s
(get_local $6)
- (get_local $11)
+ (i32.lt_s
+ (get_local $6)
+ (get_local $11)
+ )
)
)
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjti$8)
)
- (set_local $8
- (i32.const 0)
+ (block
+ (set_local $5
+ (get_local $8)
+ )
+ (set_local $7
+ (get_local $11)
+ )
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjti$8)
)
- (set_local $9
- (i32.const 4091)
+ )
+ )
+ (set_local $5
+ (i32.load
+ (tee_local $7
+ (get_local $19)
+ )
+ )
+ )
+ (if
+ (i32.lt_s
+ (tee_local $7
+ (i32.load offset=4
+ (get_local $7)
+ )
)
- (br $__rjti$8)
+ (i32.const 0)
)
(block
- (set_local $5
- (get_local $8)
+ (i32.store
+ (tee_local $8
+ (get_local $19)
+ )
+ (tee_local $5
+ (call $_i64Subtract
+ (i32.const 0)
+ (i32.const 0)
+ (get_local $5)
+ (get_local $7)
+ )
+ )
)
- (set_local $7
- (get_local $11)
+ (i32.store offset=4
+ (get_local $8)
+ (tee_local $7
+ (get_global $tempRet0)
+ )
)
(set_local $8
- (i32.const 0)
+ (i32.const 1)
)
(set_local $9
(i32.const 4091)
)
- (br $__rjti$8)
+ (br $__rjti$4)
)
)
- )
- (set_local $5
- (i32.load
- (tee_local $7
- (get_local $19)
+ (if
+ (i32.and
+ (get_local $11)
+ (i32.const 2048)
)
- )
- )
- (if
- (i32.lt_s
- (tee_local $7
- (i32.load offset=4
- (get_local $7)
+ (block
+ (set_local $8
+ (i32.const 1)
)
- )
- (i32.const 0)
- )
- (block
- (i32.store
- (tee_local $8
- (get_local $19)
+ (set_local $9
+ (i32.const 4092)
)
- (tee_local $5
- (call $_i64Subtract
- (i32.const 0)
- (i32.const 0)
- (get_local $5)
- (get_local $7)
+ (br $__rjti$4)
+ )
+ (block
+ (set_local $8
+ (tee_local $9
+ (i32.and
+ (get_local $11)
+ (i32.const 1)
+ )
)
)
- )
- (i32.store offset=4
- (get_local $8)
- (tee_local $7
- (get_global $tempRet0)
+ (set_local $9
+ (select
+ (i32.const 4093)
+ (i32.const 4091)
+ (get_local $9)
+ )
)
+ (br $__rjti$4)
)
- (set_local $8
- (i32.const 1)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$4)
)
)
- (if
- (i32.and
- (get_local $11)
- (i32.const 2048)
- )
- (block
- (set_local $8
- (i32.const 1)
- )
- (set_local $9
- (i32.const 4092)
+ (set_local $5
+ (i32.load
+ (tee_local $7
+ (get_local $19)
)
- (br $__rjti$4)
)
- (block
- (set_local $8
- (tee_local $9
- (i32.and
- (get_local $11)
- (i32.const 1)
- )
- )
- )
- (set_local $9
- (select
- (i32.const 4093)
- (i32.const 4091)
- (get_local $9)
- )
- )
- (br $__rjti$4)
+ )
+ (set_local $7
+ (i32.load offset=4
+ (get_local $7)
)
)
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjti$4)
)
(set_local $5
+ (get_local $19)
+ )
+ (i32.store8
+ (get_local $40)
(i32.load
- (tee_local $7
- (get_local $19)
- )
+ (get_local $5)
)
)
(set_local $7
- (i32.load offset=4
- (get_local $7)
- )
+ (get_local $40)
+ )
+ (set_local $11
+ (get_local $8)
+ )
+ (set_local $12
+ (i32.const 1)
)
(set_local $8
(i32.const 0)
@@ -3933,978 +3960,979 @@
(set_local $9
(i32.const 4091)
)
- (br $__rjti$4)
- )
- (set_local $5
- (get_local $19)
- )
- (i32.store8
- (get_local $40)
- (i32.load
- (get_local $5)
+ (br $__rjto$8
+ (get_local $22)
)
)
- (set_local $7
- (get_local $40)
- )
- (set_local $11
- (get_local $8)
- )
- (set_local $12
- (i32.const 1)
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
(set_local $5
- (get_local $22)
+ (call $_strerror
+ (i32.load
+ (call $___errno_location)
+ )
+ )
)
- (br $__rjto$8)
+ (br $__rjti$5)
)
(set_local $5
- (call $_strerror
- (i32.load
- (call $___errno_location)
+ (select
+ (tee_local $5
+ (i32.load
+ (get_local $19)
+ )
)
+ (i32.const 4101)
+ (get_local $5)
)
)
(br $__rjti$5)
)
(set_local $5
- (select
- (tee_local $5
- (i32.load
- (get_local $19)
- )
- )
- (i32.const 4101)
+ (get_local $19)
+ )
+ (i32.store
+ (get_local $41)
+ (i32.load
(get_local $5)
)
)
- (br $__rjti$5)
- )
- (set_local $5
- (get_local $19)
- )
- (i32.store
- (get_local $41)
- (i32.load
- (get_local $5)
+ (i32.store
+ (get_local $44)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $19)
+ (get_local $41)
)
- )
- (i32.store
- (get_local $44)
- (i32.const 0)
- )
- (i32.store
- (get_local $19)
- (get_local $41)
- )
- (set_local $8
- (i32.const -1)
- )
- (br $__rjti$6)
- )
- (if
- (get_local $6)
- (block
(set_local $8
- (get_local $6)
+ (i32.const -1)
)
(br $__rjti$6)
)
- (block
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (i32.const 0)
- (get_local $11)
+ (if
+ (get_local $6)
+ (block
+ (set_local $8
+ (get_local $6)
+ )
+ (br $__rjti$6)
)
- (set_local $7
- (i32.const 0)
+ (block
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
+ (i32.const 0)
+ (get_local $11)
+ )
+ (set_local $7
+ (i32.const 0)
+ )
+ (br $__rjti$7)
)
- (br $__rjti$7)
)
)
- )
- (set_local $15
- (f64.load
- (get_local $19)
- )
- )
- (i32.store
- (get_local $21)
- (i32.const 0)
- )
- (f64.store
- (get_global $tempDoublePtr)
- (get_local $15)
- )
- (set_local $31
- (if i32
- (i32.lt_s
- (i32.load offset=4
- (get_global $tempDoublePtr)
- )
- (i32.const 0)
- )
- (block i32
- (set_local $27
- (i32.const 1)
- )
- (set_local $15
- (f64.neg
- (get_local $15)
- )
- )
- (i32.const 4108)
+ (set_local $15
+ (f64.load
+ (get_local $19)
)
+ )
+ (i32.store
+ (get_local $21)
+ (i32.const 0)
+ )
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $15)
+ )
+ (set_local $31
(if i32
- (i32.and
- (get_local $11)
- (i32.const 2048)
+ (i32.lt_s
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
+ )
+ (i32.const 0)
)
(block i32
(set_local $27
(i32.const 1)
)
- (i32.const 4111)
- )
- (block i32
- (set_local $27
- (tee_local $5
- (i32.and
- (get_local $11)
- (i32.const 1)
- )
+ (set_local $15
+ (f64.neg
+ (get_local $15)
)
)
- (select
- (i32.const 4114)
- (i32.const 4109)
- (get_local $5)
- )
+ (i32.const 4108)
)
- )
- )
- )
- (f64.store
- (get_global $tempDoublePtr)
- (get_local $15)
- )
- (set_local $7
- (block $do-once49 i32
- (if i32
- (i32.or
- (i32.lt_u
- (tee_local $5
- (i32.and
- (i32.load offset=4
- (get_global $tempDoublePtr)
+ (if i32
+ (i32.and
+ (get_local $11)
+ (i32.const 2048)
+ )
+ (block i32
+ (set_local $27
+ (i32.const 1)
+ )
+ (i32.const 4111)
+ )
+ (block i32
+ (set_local $27
+ (tee_local $5
+ (i32.and
+ (get_local $11)
+ (i32.const 1)
)
- (i32.const 2146435072)
)
)
- (i32.const 2146435072)
- )
- (i32.and
- (i32.eq
+ (select
+ (i32.const 4114)
+ (i32.const 4109)
(get_local $5)
- (i32.const 2146435072)
)
- (i32.const 0)
)
)
- (block i32
- (if
- (tee_local $5
- (f64.ne
- (tee_local $24
- (f64.mul
- (call $_frexpl
- (get_local $15)
- (get_local $21)
- )
- (f64.const 2)
+ )
+ )
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $15)
+ )
+ (set_local $7
+ (block $do-once49 i32
+ (if i32
+ (i32.or
+ (i32.lt_u
+ (tee_local $5
+ (i32.and
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
)
+ (i32.const 2146435072)
)
- (f64.const 0)
)
+ (i32.const 2146435072)
)
- (i32.store
- (get_local $21)
- (i32.add
- (i32.load
- (get_local $21)
- )
- (i32.const -1)
+ (i32.and
+ (i32.eq
+ (get_local $5)
+ (i32.const 2146435072)
)
+ (i32.const 0)
)
)
- (if
- (i32.eq
- (tee_local $25
- (i32.or
- (get_local $18)
- (i32.const 32)
+ (block i32
+ (if
+ (tee_local $5
+ (f64.ne
+ (tee_local $24
+ (f64.mul
+ (call $_frexpl
+ (get_local $15)
+ (get_local $21)
+ )
+ (f64.const 2)
+ )
+ )
+ (f64.const 0)
)
)
- (i32.const 97)
- )
- (block
- (set_local $9
- (select
- (i32.add
- (get_local $31)
- (i32.const 9)
- )
- (get_local $31)
- (tee_local $13
- (i32.and
- (get_local $18)
- (i32.const 32)
- )
+ (i32.store
+ (get_local $21)
+ (i32.add
+ (i32.load
+ (get_local $21)
)
+ (i32.const -1)
)
)
- (set_local $15
- (if f64
+ )
+ (if
+ (i32.eq
+ (tee_local $25
(i32.or
- (i32.gt_u
- (get_local $6)
- (i32.const 11)
+ (get_local $18)
+ (i32.const 32)
+ )
+ )
+ (i32.const 97)
+ )
+ (block
+ (set_local $9
+ (select
+ (i32.add
+ (get_local $31)
+ (i32.const 9)
)
- (i32.eqz
- (tee_local $5
- (i32.sub
- (i32.const 12)
- (get_local $6)
- )
+ (get_local $31)
+ (tee_local $13
+ (i32.and
+ (get_local $18)
+ (i32.const 32)
)
)
)
- (get_local $24)
- (block f64
- (set_local $15
- (f64.const 8)
- )
- (loop $while-in54
- (set_local $15
- (f64.mul
- (get_local $15)
- (f64.const 16)
- )
+ )
+ (set_local $15
+ (if f64
+ (i32.or
+ (i32.gt_u
+ (get_local $6)
+ (i32.const 11)
)
- (br_if $while-in54
+ (i32.eqz
(tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
+ (i32.sub
+ (i32.const 12)
+ (get_local $6)
)
)
)
)
- (if f64
- (i32.eq
- (i32.load8_s
- (get_local $9)
- )
- (i32.const 45)
+ (get_local $24)
+ (block f64
+ (set_local $15
+ (f64.const 8)
)
- (f64.neg
- (f64.add
- (get_local $15)
- (f64.sub
- (f64.neg
- (get_local $24)
- )
+ (loop $while-in54
+ (set_local $15
+ (f64.mul
(get_local $15)
+ (f64.const 16)
+ )
+ )
+ (br_if $while-in54
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
)
)
)
- (f64.sub
- (f64.add
- (get_local $24)
+ (if f64
+ (i32.eq
+ (i32.load8_s
+ (get_local $9)
+ )
+ (i32.const 45)
+ )
+ (f64.neg
+ (f64.add
+ (get_local $15)
+ (f64.sub
+ (f64.neg
+ (get_local $24)
+ )
+ (get_local $15)
+ )
+ )
+ )
+ (f64.sub
+ (f64.add
+ (get_local $24)
+ (get_local $15)
+ )
(get_local $15)
)
- (get_local $15)
)
)
)
)
- )
- (if
- (i32.eq
- (tee_local $5
- (call $_fmt_u
- (tee_local $5
- (select
- (i32.sub
- (i32.const 0)
- (tee_local $7
- (i32.load
- (get_local $21)
+ (if
+ (i32.eq
+ (tee_local $5
+ (call $_fmt_u
+ (tee_local $5
+ (select
+ (i32.sub
+ (i32.const 0)
+ (tee_local $7
+ (i32.load
+ (get_local $21)
+ )
)
)
- )
- (get_local $7)
- (i32.lt_s
(get_local $7)
- (i32.const 0)
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 0)
+ )
)
)
- )
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.const 31)
)
(i32.const 31)
)
- (i32.const 31)
+ (get_local $34)
)
- (get_local $34)
)
+ (get_local $34)
)
- (get_local $34)
- )
- (block
- (i32.store8
- (get_local $42)
- (i32.const 48)
- )
- (set_local $5
- (get_local $42)
+ (block
+ (i32.store8
+ (get_local $42)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $42)
+ )
)
)
- )
- (set_local $12
- (i32.or
- (get_local $27)
- (i32.const 2)
- )
- )
- (i32.store8
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $7)
- (i32.const 31)
- )
+ (set_local $12
+ (i32.or
+ (get_local $27)
(i32.const 2)
)
- (i32.const 43)
)
- )
- (i32.store8
- (tee_local $8
+ (i32.store8
(i32.add
(get_local $5)
- (i32.const -2)
+ (i32.const -1)
+ )
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $7)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ (i32.const 43)
)
)
- (i32.add
- (get_local $18)
- (i32.const 15)
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $5)
+ (i32.const -2)
+ )
+ )
+ (i32.add
+ (get_local $18)
+ (i32.const 15)
+ )
)
- )
- (set_local $18
- (i32.lt_s
- (get_local $6)
- (i32.const 1)
+ (set_local $18
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 1)
+ )
)
- )
- (set_local $17
- (i32.eqz
- (i32.and
- (get_local $11)
- (i32.const 8)
+ (set_local $17
+ (i32.eqz
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
)
)
- )
- (set_local $5
- (get_local $23)
- )
- (loop $while-in56
- (i32.store8
- (get_local $5)
- (i32.or
- (i32.load8_u
- (i32.add
- (tee_local $7
- (call $f64-to-int
- (get_local $15)
+ (set_local $5
+ (get_local $23)
+ )
+ (loop $while-in56
+ (i32.store8
+ (get_local $5)
+ (i32.or
+ (i32.load8_u
+ (i32.add
+ (tee_local $7
+ (call $f64-to-int
+ (get_local $15)
+ )
)
+ (i32.const 4075)
)
- (i32.const 4075)
)
+ (get_local $13)
)
- (get_local $13)
)
- )
- (set_local $15
- (f64.mul
- (f64.sub
- (get_local $15)
- (f64.convert_s/i32
- (get_local $7)
+ (set_local $15
+ (f64.mul
+ (f64.sub
+ (get_local $15)
+ (f64.convert_s/i32
+ (get_local $7)
+ )
)
+ (f64.const 16)
)
- (f64.const 16)
)
- )
- (set_local $5
- (block $do-once57 i32
- (if i32
- (i32.eq
- (i32.sub
- (tee_local $7
- (i32.add
- (get_local $5)
- (i32.const 1)
+ (set_local $5
+ (block $do-once57 i32
+ (if i32
+ (i32.eq
+ (i32.sub
+ (tee_local $7
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
)
+ (get_local $37)
)
- (get_local $37)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (block i32
- (drop
- (br_if $do-once57
- (get_local $7)
- (i32.and
- (get_local $17)
+ (block i32
+ (drop
+ (br_if $do-once57
+ (get_local $7)
(i32.and
- (get_local $18)
- (f64.eq
- (get_local $15)
- (f64.const 0)
+ (get_local $17)
+ (i32.and
+ (get_local $18)
+ (f64.eq
+ (get_local $15)
+ (f64.const 0)
+ )
)
)
)
)
+ (i32.store8
+ (get_local $7)
+ (i32.const 46)
+ )
+ (i32.add
+ (get_local $5)
+ (i32.const 2)
+ )
)
- (i32.store8
- (get_local $7)
- (i32.const 46)
- )
- (i32.add
- (get_local $5)
- (i32.const 2)
- )
+ (get_local $7)
)
- (get_local $7)
)
)
- )
- (br_if $while-in56
- (f64.ne
- (get_local $15)
- (f64.const 0)
+ (br_if $while-in56
+ (f64.ne
+ (get_local $15)
+ (f64.const 0)
+ )
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (tee_local $7
- (i32.add
- (tee_local $6
- (select
- (i32.sub
- (i32.add
- (get_local $47)
- (get_local $6)
- )
- (get_local $8)
- )
- (i32.add
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
+ (tee_local $7
+ (i32.add
+ (tee_local $6
+ (select
(i32.sub
- (get_local $45)
+ (i32.add
+ (get_local $47)
+ (get_local $6)
+ )
(get_local $8)
)
- (get_local $5)
- )
- (i32.and
- (i32.ne
- (get_local $6)
- (i32.const 0)
+ (i32.add
+ (i32.sub
+ (get_local $45)
+ (get_local $8)
+ )
+ (get_local $5)
)
- (i32.lt_s
- (i32.add
- (get_local $46)
- (get_local $5)
+ (i32.and
+ (i32.ne
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.lt_s
+ (i32.add
+ (get_local $46)
+ (get_local $5)
+ )
+ (get_local $6)
)
- (get_local $6)
)
)
)
+ (get_local $12)
)
- (get_local $12)
)
+ (get_local $11)
)
- (get_local $11)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $9)
+ (get_local $12)
(get_local $0)
)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
- (get_local $9)
- (get_local $12)
- (get_local $0)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $14)
+ (get_local $7)
+ (i32.xor
+ (get_local $11)
+ (i32.const 65536)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $14)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 65536)
- )
- )
- (set_local $5
- (i32.sub
- (get_local $5)
- (get_local $37)
+ (set_local $5
+ (i32.sub
+ (get_local $5)
+ (get_local $37)
+ )
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $23)
+ (get_local $5)
(get_local $0)
)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
- (get_local $23)
- (get_local $5)
- (get_local $0)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.sub
+ (get_local $6)
+ (i32.add
+ (get_local $5)
+ (tee_local $5
+ (i32.sub
+ (get_local $28)
+ (get_local $8)
+ )
+ )
+ )
)
+ (i32.const 0)
+ (i32.const 0)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.sub
- (get_local $6)
- (i32.add
- (get_local $5)
- (tee_local $5
- (i32.sub
- (get_local $28)
- (get_local $8)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
)
+ (i32.const 32)
)
)
- )
- (i32.const 0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
+ (drop
+ (call $___fwritex
+ (get_local $8)
+ (get_local $5)
(get_local $0)
)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
- (get_local $8)
- (get_local $5)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (br $do-once49
- (select
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
(get_local $14)
(get_local $7)
- (i32.lt_s
- (get_local $7)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
+ )
+ (br $do-once49
+ (select
(get_local $14)
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (get_local $14)
+ )
)
)
)
)
- )
- (set_local $15
- (if f64
- (get_local $5)
- (block f64
- (i32.store
- (get_local $21)
- (tee_local $5
- (i32.add
- (i32.load
- (get_local $21)
+ (set_local $15
+ (if f64
+ (get_local $5)
+ (block f64
+ (i32.store
+ (get_local $21)
+ (tee_local $5
+ (i32.add
+ (i32.load
+ (get_local $21)
+ )
+ (i32.const -28)
)
- (i32.const -28)
)
)
+ (f64.mul
+ (get_local $24)
+ (f64.const 268435456)
+ )
)
- (f64.mul
+ (block f64
+ (set_local $5
+ (i32.load
+ (get_local $21)
+ )
+ )
(get_local $24)
- (f64.const 268435456)
)
)
- (block f64
- (set_local $5
- (i32.load
- (get_local $21)
+ )
+ (set_local $7
+ (tee_local $8
+ (select
+ (get_local $48)
+ (get_local $49)
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
)
)
- (get_local $24)
)
)
- )
- (set_local $7
- (tee_local $8
- (select
- (get_local $48)
- (get_local $49)
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
+ (loop $while-in60
+ (i32.store
+ (get_local $7)
+ (tee_local $5
+ (call $f64-to-int
+ (get_local $15)
+ )
)
)
- )
- )
- (loop $while-in60
- (i32.store
- (get_local $7)
- (tee_local $5
- (call $f64-to-int
- (get_local $15)
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
)
)
- )
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (br_if $while-in60
- (f64.ne
- (tee_local $15
- (f64.mul
- (f64.sub
- (get_local $15)
- (f64.convert_u/i32
- (get_local $5)
+ (br_if $while-in60
+ (f64.ne
+ (tee_local $15
+ (f64.mul
+ (f64.sub
+ (get_local $15)
+ (f64.convert_u/i32
+ (get_local $5)
+ )
)
+ (f64.const 1e9)
)
- (f64.const 1e9)
)
+ (f64.const 0)
)
- (f64.const 0)
)
)
- )
- (if
- (i32.gt_s
- (tee_local $9
- (i32.load
- (get_local $21)
+ (if
+ (i32.gt_s
+ (tee_local $9
+ (i32.load
+ (get_local $21)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $5
- (get_local $8)
- )
- (loop $while-in62
- (set_local $13
- (select
- (i32.const 29)
- (get_local $9)
- (i32.gt_s
- (get_local $9)
+ (block
+ (set_local $5
+ (get_local $8)
+ )
+ (loop $while-in62
+ (set_local $13
+ (select
(i32.const 29)
+ (get_local $9)
+ (i32.gt_s
+ (get_local $9)
+ (i32.const 29)
+ )
)
)
- )
- (block $do-once63
- (if
- (i32.ge_u
- (tee_local $9
- (i32.add
- (get_local $7)
- (i32.const -4)
+ (block $do-once63
+ (if
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
+ )
)
+ (get_local $5)
)
- (get_local $5)
- )
- (block
- (set_local $12
- (i32.const 0)
- )
- (loop $while-in66
- (i32.store
- (get_local $9)
- (tee_local $20
- (call $___uremdi3
- (tee_local $12
- (call $_i64Add
- (call $_bitshift64Shl
- (i32.load
- (get_local $9)
+ (block
+ (set_local $12
+ (i32.const 0)
+ )
+ (loop $while-in66
+ (i32.store
+ (get_local $9)
+ (tee_local $20
+ (call $___uremdi3
+ (tee_local $12
+ (call $_i64Add
+ (call $_bitshift64Shl
+ (i32.load
+ (get_local $9)
+ )
+ (i32.const 0)
+ (get_local $13)
)
+ (get_global $tempRet0)
+ (get_local $12)
(i32.const 0)
- (get_local $13)
)
+ )
+ (tee_local $17
(get_global $tempRet0)
- (get_local $12)
- (i32.const 0)
)
+ (i32.const 1000000000)
+ (i32.const 0)
)
- (tee_local $17
- (get_global $tempRet0)
- )
+ )
+ )
+ (set_local $12
+ (call $___udivdi3
+ (get_local $12)
+ (get_local $17)
(i32.const 1000000000)
(i32.const 0)
)
)
+ (br_if $while-in66
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $9)
+ (i32.const -4)
+ )
+ )
+ (get_local $5)
+ )
+ )
)
- (set_local $12
- (call $___udivdi3
+ (br_if $do-once63
+ (i32.eqz
(get_local $12)
- (get_local $17)
- (i32.const 1000000000)
- (i32.const 0)
)
)
- (br_if $while-in66
- (i32.ge_u
- (tee_local $9
- (i32.add
- (get_local $9)
- (i32.const -4)
- )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
)
- (get_local $5)
)
- )
- )
- (br_if $do-once63
- (i32.eqz
(get_local $12)
)
)
- (i32.store
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -4)
- )
- )
- (get_local $12)
- )
)
)
- )
- (loop $while-in68
- (if
- (i32.gt_u
- (get_local $7)
- (get_local $5)
- )
+ (loop $while-in68
(if
- (i32.eqz
- (i32.load
- (tee_local $9
- (i32.add
- (get_local $7)
- (i32.const -4)
+ (i32.gt_u
+ (get_local $7)
+ (get_local $5)
+ )
+ (if
+ (i32.eqz
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
+ )
)
)
)
- )
- (block
- (set_local $7
- (get_local $9)
+ (block
+ (set_local $7
+ (get_local $9)
+ )
+ (br $while-in68)
)
- (br $while-in68)
)
)
)
- )
- (i32.store
- (get_local $21)
- (tee_local $9
- (i32.sub
- (i32.load
- (get_local $21)
+ (i32.store
+ (get_local $21)
+ (tee_local $9
+ (i32.sub
+ (i32.load
+ (get_local $21)
+ )
+ (get_local $13)
)
- (get_local $13)
)
)
- )
- (br_if $while-in62
- (i32.gt_s
- (get_local $9)
- (i32.const 0)
+ (br_if $while-in62
+ (i32.gt_s
+ (get_local $9)
+ (i32.const 0)
+ )
)
)
)
- )
- (set_local $5
- (get_local $8)
- )
- )
- (set_local $17
- (select
- (i32.const 6)
- (get_local $6)
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
+ (set_local $5
+ (get_local $8)
)
)
- )
- (if
- (i32.lt_s
- (get_local $9)
- (i32.const 0)
- )
- (block
- (set_local $20
- (i32.add
- (call $i32s-div
- (i32.add
- (get_local $17)
- (i32.const 25)
- )
- (i32.const 9)
- )
- (i32.const 1)
- )
- )
- (set_local $32
- (i32.eq
- (get_local $25)
- (i32.const 102)
+ (set_local $17
+ (select
+ (i32.const 6)
+ (get_local $6)
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 0)
)
)
- (set_local $6
- (get_local $5)
- )
- (set_local $5
- (get_local $7)
+ )
+ (if
+ (i32.lt_s
+ (get_local $9)
+ (i32.const 0)
)
- (loop $while-in70
- (set_local $13
- (select
- (i32.const 9)
- (tee_local $7
- (i32.sub
- (i32.const 0)
- (get_local $9)
+ (block
+ (set_local $20
+ (i32.add
+ (call $i32s-div
+ (i32.add
+ (get_local $17)
+ (i32.const 25)
)
- )
- (i32.gt_s
- (get_local $7)
(i32.const 9)
)
+ (i32.const 1)
)
)
- (block $do-once71
- (if
- (i32.lt_u
- (get_local $6)
- (get_local $5)
- )
- (block
- (set_local $12
- (i32.add
- (i32.shl
- (i32.const 1)
- (get_local $13)
- )
- (i32.const -1)
- )
- )
- (set_local $38
- (i32.shr_u
- (i32.const 1000000000)
- (get_local $13)
+ (set_local $32
+ (i32.eq
+ (get_local $25)
+ (i32.const 102)
+ )
+ )
+ (set_local $6
+ (get_local $5)
+ )
+ (set_local $5
+ (get_local $7)
+ )
+ (loop $while-in70
+ (set_local $13
+ (select
+ (i32.const 9)
+ (tee_local $7
+ (i32.sub
+ (i32.const 0)
+ (get_local $9)
)
)
- (set_local $9
- (i32.const 0)
+ (i32.gt_s
+ (get_local $7)
+ (i32.const 9)
)
- (set_local $7
+ )
+ )
+ (block $do-once71
+ (if
+ (i32.lt_u
(get_local $6)
+ (get_local $5)
)
- (loop $while-in74
- (i32.store
- (get_local $7)
+ (block
+ (set_local $12
(i32.add
- (i32.shr_u
- (tee_local $33
- (i32.load
- (get_local $7)
- )
- )
+ (i32.shl
+ (i32.const 1)
(get_local $13)
)
- (get_local $9)
+ (i32.const -1)
+ )
+ )
+ (set_local $38
+ (i32.shr_u
+ (i32.const 1000000000)
+ (get_local $13)
)
)
(set_local $9
- (i32.mul
- (i32.and
- (get_local $33)
- (get_local $12)
+ (i32.const 0)
+ )
+ (set_local $7
+ (get_local $6)
+ )
+ (loop $while-in74
+ (i32.store
+ (get_local $7)
+ (i32.add
+ (i32.shr_u
+ (tee_local $33
+ (i32.load
+ (get_local $7)
+ )
+ )
+ (get_local $13)
+ )
+ (get_local $9)
)
- (get_local $38)
)
- )
- (br_if $while-in74
- (i32.lt_u
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
+ (set_local $9
+ (i32.mul
+ (i32.and
+ (get_local $33)
+ (get_local $12)
)
+ (get_local $38)
)
+ )
+ (br_if $while-in74
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ )
+ (get_local $5)
+ )
+ )
+ )
+ (set_local $7
+ (select
+ (get_local $6)
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (i32.load
+ (get_local $6)
+ )
+ )
+ )
+ (br_if $do-once71
+ (i32.eqz
+ (get_local $9)
+ )
+ )
+ (i32.store
+ (get_local $5)
+ (get_local $9)
+ )
+ (set_local $5
+ (i32.add
(get_local $5)
+ (i32.const 4)
)
)
)
@@ -4920,490 +4948,463 @@
)
)
)
- (br_if $do-once71
- (i32.eqz
- (get_local $9)
+ )
+ )
+ (set_local $12
+ (select
+ (i32.add
+ (tee_local $6
+ (select
+ (get_local $8)
+ (get_local $7)
+ (get_local $32)
+ )
+ )
+ (i32.shl
+ (get_local $20)
+ (i32.const 2)
)
)
- (i32.store
- (get_local $5)
- (get_local $9)
- )
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 4)
+ (get_local $5)
+ (i32.gt_s
+ (i32.shr_s
+ (i32.sub
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.const 2)
)
+ (get_local $20)
)
)
- (set_local $7
- (select
- (get_local $6)
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
+ )
+ (i32.store
+ (get_local $21)
+ (tee_local $9
+ (i32.add
(i32.load
- (get_local $6)
+ (get_local $21)
)
+ (get_local $13)
)
)
)
- )
- (set_local $12
- (select
- (i32.add
- (tee_local $6
- (select
- (get_local $8)
- (get_local $7)
- (get_local $32)
- )
+ (if
+ (i32.lt_s
+ (get_local $9)
+ (i32.const 0)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
)
- (i32.shl
- (get_local $20)
- (i32.const 2)
+ (set_local $5
+ (get_local $12)
)
+ (br $while-in70)
)
- (get_local $5)
- (i32.gt_s
- (i32.shr_s
- (i32.sub
- (get_local $5)
- (get_local $6)
- )
- (i32.const 2)
+ (block
+ (set_local $5
+ (get_local $7)
)
- (get_local $20)
- )
- )
- )
- (i32.store
- (get_local $21)
- (tee_local $9
- (i32.add
- (i32.load
- (get_local $21)
+ (set_local $9
+ (get_local $12)
)
- (get_local $13)
- )
- )
- )
- (if
- (i32.lt_s
- (get_local $9)
- (i32.const 0)
- )
- (block
- (set_local $6
- (get_local $7)
- )
- (set_local $5
- (get_local $12)
- )
- (br $while-in70)
- )
- (block
- (set_local $5
- (get_local $7)
- )
- (set_local $9
- (get_local $12)
)
)
)
)
+ (set_local $9
+ (get_local $7)
+ )
)
- (set_local $9
- (get_local $7)
+ (set_local $20
+ (get_local $8)
)
- )
- (set_local $20
- (get_local $8)
- )
- (block $do-once75
- (if
- (i32.lt_u
- (get_local $5)
- (get_local $9)
- )
- (block
- (set_local $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $20)
- (get_local $5)
+ (block $do-once75
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (get_local $9)
+ )
+ (block
+ (set_local $7
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $20)
+ (get_local $5)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 9)
)
- (i32.const 9)
)
- )
- (br_if $do-once75
- (i32.lt_u
- (tee_local $12
- (i32.load
- (get_local $5)
+ (br_if $do-once75
+ (i32.lt_u
+ (tee_local $12
+ (i32.load
+ (get_local $5)
+ )
)
+ (i32.const 10)
)
+ )
+ (set_local $6
(i32.const 10)
)
- )
- (set_local $6
- (i32.const 10)
- )
- (loop $while-in78
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 1)
+ (loop $while-in78
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 1)
+ )
)
- )
- (br_if $while-in78
- (i32.ge_u
- (get_local $12)
- (tee_local $6
- (i32.mul
- (get_local $6)
- (i32.const 10)
+ (br_if $while-in78
+ (i32.ge_u
+ (get_local $12)
+ (tee_local $6
+ (i32.mul
+ (get_local $6)
+ (i32.const 10)
+ )
)
)
)
)
)
- )
- (set_local $7
- (i32.const 0)
+ (set_local $7
+ (i32.const 0)
+ )
)
)
- )
- (set_local $5
- (if i32
- (i32.lt_s
- (tee_local $6
- (i32.add
- (i32.sub
- (get_local $17)
- (select
- (get_local $7)
- (i32.const 0)
- (i32.ne
- (get_local $25)
- (i32.const 102)
+ (set_local $5
+ (if i32
+ (i32.lt_s
+ (tee_local $6
+ (i32.add
+ (i32.sub
+ (get_local $17)
+ (select
+ (get_local $7)
+ (i32.const 0)
+ (i32.ne
+ (get_local $25)
+ (i32.const 102)
+ )
)
)
- )
- (i32.shr_s
- (i32.shl
- (i32.and
- (tee_local $32
- (i32.ne
- (get_local $17)
- (i32.const 0)
+ (i32.shr_s
+ (i32.shl
+ (i32.and
+ (tee_local $32
+ (i32.ne
+ (get_local $17)
+ (i32.const 0)
+ )
)
- )
- (tee_local $38
- (i32.eq
- (get_local $25)
- (i32.const 103)
+ (tee_local $38
+ (i32.eq
+ (get_local $25)
+ (i32.const 103)
+ )
)
)
+ (i32.const 31)
)
(i32.const 31)
)
- (i32.const 31)
- )
- )
- )
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $9)
- (get_local $20)
- )
- (i32.const 2)
)
- (i32.const 9)
)
- (i32.const -9)
- )
- )
- (block i32
- (set_local $13
- (call $i32s-div
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 9216)
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $9)
+ (get_local $20)
+ )
+ (i32.const 2)
)
+ (i32.const 9)
)
- (i32.const 9)
+ (i32.const -9)
)
)
- (if
- (i32.lt_s
- (tee_local $6
- (i32.add
- (call $i32s-rem
+ (block i32
+ (set_local $13
+ (call $i32s-div
+ (tee_local $6
+ (i32.add
(get_local $6)
- (i32.const 9)
+ (i32.const 9216)
)
- (i32.const 1)
)
+ (i32.const 9)
)
- (i32.const 9)
)
- (block
- (set_local $12
- (i32.const 10)
+ (if
+ (i32.lt_s
+ (tee_local $6
+ (i32.add
+ (call $i32s-rem
+ (get_local $6)
+ (i32.const 9)
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.const 9)
)
- (loop $while-in80
+ (block
(set_local $12
- (i32.mul
- (get_local $12)
- (i32.const 10)
- )
+ (i32.const 10)
)
- (br_if $while-in80
- (i32.ne
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 1)
+ (loop $while-in80
+ (set_local $12
+ (i32.mul
+ (get_local $12)
+ (i32.const 10)
+ )
+ )
+ (br_if $while-in80
+ (i32.ne
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 1)
+ )
)
+ (i32.const 9)
)
- (i32.const 9)
)
)
)
+ (set_local $12
+ (i32.const 10)
+ )
)
- (set_local $12
- (i32.const 10)
- )
- )
- (set_local $13
- (call $i32u-rem
- (tee_local $25
- (i32.load
- (tee_local $6
- (i32.add
+ (set_local $13
+ (call $i32u-rem
+ (tee_local $25
+ (i32.load
+ (tee_local $6
(i32.add
- (get_local $8)
- (i32.shl
- (get_local $13)
- (i32.const 2)
+ (i32.add
+ (get_local $8)
+ (i32.shl
+ (get_local $13)
+ (i32.const 2)
+ )
)
+ (i32.const -4092)
)
- (i32.const -4092)
)
)
)
+ (get_local $12)
)
- (get_local $12)
)
- )
- (block $do-once81
- (if
- (i32.eqz
- (i32.and
- (tee_local $33
- (i32.eq
- (i32.add
- (get_local $6)
- (i32.const 4)
+ (block $do-once81
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $33
+ (i32.eq
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (get_local $9)
)
- (get_local $9)
)
- )
- (i32.eqz
- (get_local $13)
+ (i32.eqz
+ (get_local $13)
+ )
)
)
- )
- (block
- (set_local $50
- (call $i32u-div
- (get_local $25)
- (get_local $12)
+ (block
+ (set_local $50
+ (call $i32u-div
+ (get_local $25)
+ (get_local $12)
+ )
)
- )
- (set_local $15
- (if f64
- (i32.lt_u
- (get_local $13)
- (tee_local $51
- (call $i32s-div
- (get_local $12)
- (i32.const 2)
+ (set_local $15
+ (if f64
+ (i32.lt_u
+ (get_local $13)
+ (tee_local $51
+ (call $i32s-div
+ (get_local $12)
+ (i32.const 2)
+ )
)
)
- )
- (f64.const 0.5)
- (select
- (f64.const 1)
- (f64.const 1.5)
- (i32.and
- (get_local $33)
- (i32.eq
- (get_local $13)
- (get_local $51)
+ (f64.const 0.5)
+ (select
+ (f64.const 1)
+ (f64.const 1.5)
+ (i32.and
+ (get_local $33)
+ (i32.eq
+ (get_local $13)
+ (get_local $51)
+ )
)
)
)
)
- )
- (set_local $24
- (select
- (f64.const 9007199254740994)
- (f64.const 9007199254740992)
- (i32.and
- (get_local $50)
- (i32.const 1)
+ (set_local $24
+ (select
+ (f64.const 9007199254740994)
+ (f64.const 9007199254740992)
+ (i32.and
+ (get_local $50)
+ (i32.const 1)
+ )
)
)
- )
- (block $do-once83
- (if
- (get_local $27)
- (block
- (br_if $do-once83
- (i32.ne
- (i32.load8_s
- (get_local $31)
+ (block $do-once83
+ (if
+ (get_local $27)
+ (block
+ (br_if $do-once83
+ (i32.ne
+ (i32.load8_s
+ (get_local $31)
+ )
+ (i32.const 45)
)
- (i32.const 45)
)
- )
- (set_local $24
- (f64.neg
- (get_local $24)
+ (set_local $24
+ (f64.neg
+ (get_local $24)
+ )
)
- )
- (set_local $15
- (f64.neg
- (get_local $15)
+ (set_local $15
+ (f64.neg
+ (get_local $15)
+ )
)
)
)
)
- )
- (i32.store
- (get_local $6)
- (tee_local $13
- (i32.sub
- (get_local $25)
- (get_local $13)
+ (i32.store
+ (get_local $6)
+ (tee_local $13
+ (i32.sub
+ (get_local $25)
+ (get_local $13)
+ )
)
)
- )
- (br_if $do-once81
- (f64.eq
- (f64.add
+ (br_if $do-once81
+ (f64.eq
+ (f64.add
+ (get_local $24)
+ (get_local $15)
+ )
(get_local $24)
- (get_local $15)
)
- (get_local $24)
)
- )
- (i32.store
- (get_local $6)
- (tee_local $7
- (i32.add
- (get_local $13)
- (get_local $12)
+ (i32.store
+ (get_local $6)
+ (tee_local $7
+ (i32.add
+ (get_local $13)
+ (get_local $12)
+ )
)
)
- )
- (if
- (i32.gt_u
- (get_local $7)
- (i32.const 999999999)
- )
- (loop $while-in86
- (i32.store
- (get_local $6)
- (i32.const 0)
+ (if
+ (i32.gt_u
+ (get_local $7)
+ (i32.const 999999999)
)
- (if
- (i32.lt_u
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -4)
+ (loop $while-in86
+ (i32.store
+ (get_local $6)
+ (i32.const 0)
+ )
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
+ )
)
+ (get_local $5)
+ )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
+ (i32.const 0)
)
- (get_local $5)
)
(i32.store
- (tee_local $5
+ (get_local $6)
+ (tee_local $7
(i32.add
- (get_local $5)
- (i32.const -4)
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 1)
)
)
- (i32.const 0)
)
- )
- (i32.store
- (get_local $6)
- (tee_local $7
- (i32.add
- (i32.load
- (get_local $6)
- )
- (i32.const 1)
+ (br_if $while-in86
+ (i32.gt_u
+ (get_local $7)
+ (i32.const 999999999)
)
)
)
- (br_if $while-in86
- (i32.gt_u
- (get_local $7)
- (i32.const 999999999)
- )
- )
)
- )
- (set_local $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $20)
- (get_local $5)
+ (set_local $7
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $20)
+ (get_local $5)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 9)
)
- (i32.const 9)
)
- )
- (br_if $do-once81
- (i32.lt_u
- (tee_local $13
- (i32.load
- (get_local $5)
+ (br_if $do-once81
+ (i32.lt_u
+ (tee_local $13
+ (i32.load
+ (get_local $5)
+ )
)
+ (i32.const 10)
)
+ )
+ (set_local $12
(i32.const 10)
)
- )
- (set_local $12
- (i32.const 10)
- )
- (loop $while-in88
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 1)
+ (loop $while-in88
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 1)
+ )
)
- )
- (br_if $while-in88
- (i32.ge_u
- (get_local $13)
- (tee_local $12
- (i32.mul
- (get_local $12)
- (i32.const 10)
+ (br_if $while-in88
+ (i32.ge_u
+ (get_local $13)
+ (tee_local $12
+ (i32.mul
+ (get_local $12)
+ (i32.const 10)
+ )
)
)
)
@@ -5411,607 +5412,565 @@
)
)
)
- )
- (set_local $12
- (get_local $5)
- )
- (set_local $13
- (get_local $7)
- )
- (select
- (tee_local $5
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
+ (set_local $12
+ (get_local $5)
)
- (get_local $9)
- (i32.gt_u
+ (set_local $13
+ (get_local $7)
+ )
+ (select
+ (tee_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
(get_local $9)
- (get_local $5)
+ (i32.gt_u
+ (get_local $9)
+ (get_local $5)
+ )
)
)
- )
- (block i32
- (set_local $12
- (get_local $5)
- )
- (set_local $13
- (get_local $7)
+ (block i32
+ (set_local $12
+ (get_local $5)
+ )
+ (set_local $13
+ (get_local $7)
+ )
+ (get_local $9)
)
- (get_local $9)
)
)
- )
- (set_local $33
- (i32.sub
- (i32.const 0)
- (get_local $13)
+ (set_local $33
+ (i32.sub
+ (i32.const 0)
+ (get_local $13)
+ )
)
- )
- (loop $while-in90
- (block $while-out89
- (if
- (i32.le_u
- (get_local $5)
- (get_local $12)
- )
- (block
- (set_local $25
- (i32.const 0)
- )
- (set_local $9
+ (loop $while-in90
+ (block $while-out89
+ (if
+ (i32.le_u
(get_local $5)
+ (get_local $12)
)
- (br $while-out89)
- )
- )
- (if
- (i32.load
- (tee_local $7
- (i32.add
+ (block
+ (set_local $25
+ (i32.const 0)
+ )
+ (set_local $9
(get_local $5)
- (i32.const -4)
)
+ (br $while-out89)
)
)
- (block
- (set_local $25
- (i32.const 1)
+ (if
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
)
- (set_local $9
- (get_local $5)
+ (block
+ (set_local $25
+ (i32.const 1)
+ )
+ (set_local $9
+ (get_local $5)
+ )
)
- )
- (block
- (set_local $5
- (get_local $7)
+ (block
+ (set_local $5
+ (get_local $7)
+ )
+ (br $while-in90)
)
- (br $while-in90)
)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (tee_local $13
- (i32.add
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
+ (tee_local $13
(i32.add
(i32.add
(i32.add
- (get_local $27)
- (i32.const 1)
- )
- (tee_local $5
- (block $do-once91 i32
- (if i32
- (get_local $38)
- (block i32
- (set_local $7
- (if i32
- (i32.and
- (i32.gt_s
- (tee_local $5
- (i32.add
- (i32.xor
- (get_local $32)
- (i32.const 1)
+ (i32.add
+ (get_local $27)
+ (i32.const 1)
+ )
+ (tee_local $5
+ (block $do-once91 i32
+ (if i32
+ (get_local $38)
+ (block i32
+ (set_local $7
+ (if i32
+ (i32.and
+ (i32.gt_s
+ (tee_local $5
+ (i32.add
+ (i32.xor
+ (get_local $32)
+ (i32.const 1)
+ )
+ (get_local $17)
)
- (get_local $17)
)
+ (get_local $13)
+ )
+ (i32.gt_s
+ (get_local $13)
+ (i32.const -5)
)
- (get_local $13)
)
- (i32.gt_s
- (get_local $13)
- (i32.const -5)
+ (block i32
+ (set_local $17
+ (i32.sub
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ (get_local $13)
+ )
+ )
+ (i32.add
+ (get_local $18)
+ (i32.const -1)
+ )
)
- )
- (block i32
- (set_local $17
- (i32.sub
+ (block i32
+ (set_local $17
(i32.add
(get_local $5)
(i32.const -1)
)
- (get_local $13)
)
- )
- (i32.add
- (get_local $18)
- (i32.const -1)
- )
- )
- (block i32
- (set_local $17
(i32.add
- (get_local $5)
- (i32.const -1)
+ (get_local $18)
+ (i32.const -2)
)
)
- (i32.add
- (get_local $18)
- (i32.const -2)
- )
)
)
- )
- (if
- (tee_local $5
- (i32.and
- (get_local $11)
- (i32.const 8)
- )
- )
- (block
- (set_local $20
- (get_local $5)
+ (if
+ (tee_local $5
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
)
- (br $do-once91
- (get_local $17)
+ (block
+ (set_local $20
+ (get_local $5)
+ )
+ (br $do-once91
+ (get_local $17)
+ )
)
)
- )
- (block $do-once93
- (if
- (get_local $25)
- (block
- (if
- (i32.eqz
- (tee_local $18
- (i32.load
- (i32.add
- (get_local $9)
- (i32.const -4)
+ (block $do-once93
+ (if
+ (get_local $25)
+ (block
+ (if
+ (i32.eqz
+ (tee_local $18
+ (i32.load
+ (i32.add
+ (get_local $9)
+ (i32.const -4)
+ )
)
)
)
- )
- (block
- (set_local $5
- (i32.const 9)
- )
- (br $do-once93)
- )
- )
- (if
- (call $i32u-rem
- (get_local $18)
- (i32.const 10)
- )
- (block
- (set_local $5
- (i32.const 0)
+ (block
+ (set_local $5
+ (i32.const 9)
+ )
+ (br $do-once93)
)
- (br $do-once93)
)
- (block
- (set_local $6
+ (if
+ (call $i32u-rem
+ (get_local $18)
(i32.const 10)
)
- (set_local $5
- (i32.const 0)
+ (block
+ (set_local $5
+ (i32.const 0)
+ )
+ (br $do-once93)
)
- )
- )
- (loop $while-in96
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
+ (block
+ (set_local $6
+ (i32.const 10)
+ )
+ (set_local $5
+ (i32.const 0)
+ )
)
)
- (br_if $while-in96
- (i32.eqz
- (call $i32u-rem
- (get_local $18)
- (tee_local $6
- (i32.mul
- (get_local $6)
- (i32.const 10)
+ (loop $while-in96
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in96
+ (i32.eqz
+ (call $i32u-rem
+ (get_local $18)
+ (tee_local $6
+ (i32.mul
+ (get_local $6)
+ (i32.const 10)
+ )
)
)
)
)
)
)
- )
- (set_local $5
- (i32.const 9)
+ (set_local $5
+ (i32.const 9)
+ )
)
)
- )
- (set_local $6
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $9)
- (get_local $20)
+ (set_local $6
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $9)
+ (get_local $20)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 9)
)
- (i32.const 9)
- )
- (i32.const -9)
- )
- )
- (if i32
- (i32.eq
- (i32.or
- (get_local $7)
- (i32.const 32)
+ (i32.const -9)
)
- (i32.const 102)
)
- (block i32
- (set_local $20
- (i32.const 0)
+ (if i32
+ (i32.eq
+ (i32.or
+ (get_local $7)
+ (i32.const 32)
+ )
+ (i32.const 102)
)
- (select
- (get_local $17)
- (tee_local $5
- (select
- (i32.const 0)
- (tee_local $5
- (i32.sub
- (get_local $6)
+ (block i32
+ (set_local $20
+ (i32.const 0)
+ )
+ (select
+ (get_local $17)
+ (tee_local $5
+ (select
+ (i32.const 0)
+ (tee_local $5
+ (i32.sub
+ (get_local $6)
+ (get_local $5)
+ )
+ )
+ (i32.lt_s
(get_local $5)
+ (i32.const 0)
)
)
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
)
- )
- (i32.lt_s
- (get_local $17)
- (get_local $5)
+ (i32.lt_s
+ (get_local $17)
+ (get_local $5)
+ )
)
)
- )
- (block i32
- (set_local $20
- (i32.const 0)
- )
- (select
- (get_local $17)
- (tee_local $5
- (select
- (i32.const 0)
- (tee_local $5
- (i32.sub
- (i32.add
- (get_local $6)
- (get_local $13)
+ (block i32
+ (set_local $20
+ (i32.const 0)
+ )
+ (select
+ (get_local $17)
+ (tee_local $5
+ (select
+ (i32.const 0)
+ (tee_local $5
+ (i32.sub
+ (i32.add
+ (get_local $6)
+ (get_local $13)
+ )
+ (get_local $5)
)
+ )
+ (i32.lt_s
(get_local $5)
+ (i32.const 0)
)
)
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
)
- )
- (i32.lt_s
- (get_local $17)
- (get_local $5)
+ (i32.lt_s
+ (get_local $17)
+ (get_local $5)
+ )
)
)
)
)
- )
- (block i32
- (set_local $20
- (i32.and
- (get_local $11)
- (i32.const 8)
+ (block i32
+ (set_local $20
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
)
+ (set_local $7
+ (get_local $18)
+ )
+ (get_local $17)
)
- (set_local $7
- (get_local $18)
- )
- (get_local $17)
)
)
)
)
- )
- (i32.ne
- (tee_local $32
- (i32.or
- (get_local $5)
- (get_local $20)
- )
- )
- (i32.const 0)
- )
- )
- (tee_local $7
- (if i32
- (tee_local $17
- (i32.eq
+ (i32.ne
+ (tee_local $32
(i32.or
- (get_local $7)
- (i32.const 32)
+ (get_local $5)
+ (get_local $20)
)
- (i32.const 102)
)
+ (i32.const 0)
)
- (block i32
- (set_local $18
- (i32.const 0)
+ )
+ (tee_local $7
+ (if i32
+ (tee_local $17
+ (i32.eq
+ (i32.or
+ (get_local $7)
+ (i32.const 32)
+ )
+ (i32.const 102)
+ )
)
- (select
- (get_local $13)
- (i32.const 0)
- (i32.gt_s
+ (block i32
+ (set_local $18
+ (i32.const 0)
+ )
+ (select
(get_local $13)
(i32.const 0)
+ (i32.gt_s
+ (get_local $13)
+ (i32.const 0)
+ )
)
)
- )
- (block i32
- (if
- (i32.lt_s
- (i32.sub
- (get_local $28)
- (tee_local $6
- (call $_fmt_u
- (tee_local $6
- (select
- (get_local $33)
- (get_local $13)
- (i32.lt_s
+ (block i32
+ (if
+ (i32.lt_s
+ (i32.sub
+ (get_local $28)
+ (tee_local $6
+ (call $_fmt_u
+ (tee_local $6
+ (select
+ (get_local $33)
(get_local $13)
- (i32.const 0)
+ (i32.lt_s
+ (get_local $13)
+ (i32.const 0)
+ )
)
)
- )
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.const 31)
)
(i32.const 31)
)
- (i32.const 31)
+ (get_local $34)
)
- (get_local $34)
)
)
+ (i32.const 2)
)
- (i32.const 2)
- )
- (loop $while-in98
- (i32.store8
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
+ (loop $while-in98
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in98
+ (i32.lt_s
+ (i32.sub
+ (get_local $28)
+ (get_local $6)
+ )
+ (i32.const 2)
)
)
- (i32.const 48)
)
- (br_if $while-in98
- (i32.lt_s
- (i32.sub
- (get_local $28)
- (get_local $6)
+ )
+ (i32.store8
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $13)
+ (i32.const 31)
)
(i32.const 2)
)
+ (i32.const 43)
)
)
- )
- (i32.store8
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $13)
- (i32.const 31)
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -2)
)
- (i32.const 2)
)
- (i32.const 43)
+ (get_local $7)
)
- )
- (i32.store8
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -2)
- )
+ (set_local $18
+ (get_local $6)
+ )
+ (i32.sub
+ (get_local $28)
+ (get_local $6)
)
- (get_local $7)
- )
- (set_local $18
- (get_local $6)
- )
- (i32.sub
- (get_local $28)
- (get_local $6)
)
)
)
)
)
+ (get_local $11)
)
- (get_local $11)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $31)
+ (get_local $27)
(get_local $0)
)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
- (get_local $31)
- (get_local $27)
- (get_local $0)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $14)
+ (get_local $13)
+ (i32.xor
+ (get_local $11)
+ (i32.const 65536)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $14)
- (get_local $13)
- (i32.xor
- (get_local $11)
- (i32.const 65536)
- )
- )
- (block $do-once99
- (if
- (get_local $17)
- (block
- (set_local $6
- (tee_local $12
- (select
- (get_local $8)
- (get_local $12)
- (i32.gt_u
- (get_local $12)
+ (block $do-once99
+ (if
+ (get_local $17)
+ (block
+ (set_local $6
+ (tee_local $12
+ (select
(get_local $8)
+ (get_local $12)
+ (i32.gt_u
+ (get_local $12)
+ (get_local $8)
+ )
)
)
)
- )
- (loop $while-in102
- (set_local $7
- (call $_fmt_u
- (i32.load
- (get_local $6)
+ (loop $while-in102
+ (set_local $7
+ (call $_fmt_u
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 0)
+ (get_local $30)
)
- (i32.const 0)
- (get_local $30)
)
- )
- (block $do-once103
- (if
- (i32.eq
- (get_local $6)
- (get_local $12)
- )
- (block
- (br_if $do-once103
- (i32.ne
- (get_local $7)
- (get_local $30)
- )
- )
- (i32.store8
- (get_local $35)
- (i32.const 48)
- )
- (set_local $7
- (get_local $35)
+ (block $do-once103
+ (if
+ (i32.eq
+ (get_local $6)
+ (get_local $12)
)
- )
- (block
- (br_if $do-once103
- (i32.le_u
- (get_local $7)
- (get_local $23)
+ (block
+ (br_if $do-once103
+ (i32.ne
+ (get_local $7)
+ (get_local $30)
+ )
)
- )
- (loop $while-in106
(i32.store8
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const -1)
- )
- )
+ (get_local $35)
(i32.const 48)
)
- (br_if $while-in106
- (i32.gt_u
+ (set_local $7
+ (get_local $35)
+ )
+ )
+ (block
+ (br_if $do-once103
+ (i32.le_u
(get_local $7)
(get_local $23)
)
)
+ (loop $while-in106
+ (i32.store8
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in106
+ (i32.gt_u
+ (get_local $7)
+ (get_local $23)
+ )
+ )
+ )
)
)
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $7)
- (i32.sub
- (get_local $43)
- (get_local $7)
- )
- (get_local $0)
- )
- )
- )
- (if
- (i32.le_u
- (tee_local $7
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
- (get_local $8)
- )
- (block
- (set_local $6
- (get_local $7)
- )
- (br $while-in102)
- )
- )
- )
- (block $do-once107
- (if
- (get_local $32)
- (block
- (br_if $do-once107
+ (if
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
@@ -6021,187 +5980,259 @@
)
(drop
(call $___fwritex
- (i32.const 4143)
- (i32.const 1)
+ (get_local $7)
+ (i32.sub
+ (get_local $43)
+ (get_local $7)
+ )
(get_local $0)
)
)
)
- )
- )
- (if
- (i32.and
- (i32.gt_s
- (get_local $5)
- (i32.const 0)
- )
- (i32.lt_u
- (get_local $7)
- (get_local $9)
+ (if
+ (i32.le_u
+ (tee_local $7
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (get_local $8)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
+ )
+ (br $while-in102)
+ )
)
)
- (loop $while-in110
+ (block $do-once107
(if
- (i32.gt_u
- (tee_local $6
- (call $_fmt_u
+ (get_local $32)
+ (block
+ (br_if $do-once107
+ (i32.and
(i32.load
- (get_local $7)
+ (get_local $0)
)
- (i32.const 0)
- (get_local $30)
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
)
)
- (get_local $23)
)
- (loop $while-in112
- (i32.store8
+ )
+ )
+ (if
+ (i32.and
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.lt_u
+ (get_local $7)
+ (get_local $9)
+ )
+ )
+ (loop $while-in110
+ (if
+ (i32.gt_u
(tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
+ (call $_fmt_u
+ (i32.load
+ (get_local $7)
+ )
+ (i32.const 0)
+ (get_local $30)
)
)
- (i32.const 48)
+ (get_local $23)
)
- (br_if $while-in112
- (i32.gt_u
- (get_local $6)
- (get_local $23)
+ (loop $while-in112
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in112
+ (i32.gt_u
+ (get_local $6)
+ (get_local $23)
+ )
)
)
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
- )
- (drop
- (call $___fwritex
- (get_local $6)
- (select
- (i32.const 9)
- (get_local $5)
- (i32.gt_s
- (get_local $5)
+ (drop
+ (call $___fwritex
+ (get_local $6)
+ (select
(i32.const 9)
+ (get_local $5)
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 9)
+ )
)
+ (get_local $0)
)
- (get_local $0)
)
)
- )
- (set_local $6
- (i32.add
- (get_local $5)
- (i32.const -9)
- )
- )
- (if
- (i32.and
- (i32.gt_s
+ (set_local $6
+ (i32.add
(get_local $5)
- (i32.const 9)
+ (i32.const -9)
)
- (i32.lt_u
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
+ )
+ (if
+ (i32.and
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 9)
+ )
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
)
+ (get_local $9)
)
- (get_local $9)
)
- )
- (block
+ (block
+ (set_local $5
+ (get_local $6)
+ )
+ (br $while-in110)
+ )
(set_local $5
(get_local $6)
)
- (br $while-in110)
- )
- (set_local $5
- (get_local $6)
)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $5)
- (i32.const 9)
- )
- (i32.const 9)
- (i32.const 0)
- )
- )
- (block
- (set_local $9
- (select
- (get_local $9)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
(i32.add
- (get_local $12)
- (i32.const 4)
+ (get_local $5)
+ (i32.const 9)
)
- (get_local $25)
+ (i32.const 9)
+ (i32.const 0)
)
)
- (if
- (i32.gt_s
- (get_local $5)
- (i32.const -1)
- )
- (block
- (set_local $17
- (i32.eqz
- (get_local $20)
+ (block
+ (set_local $9
+ (select
+ (get_local $9)
+ (i32.add
+ (get_local $12)
+ (i32.const 4)
)
+ (get_local $25)
)
- (set_local $6
- (get_local $12)
- )
- (set_local $7
+ )
+ (if
+ (i32.gt_s
(get_local $5)
+ (i32.const -1)
)
- (loop $while-in114
- (if
- (i32.eq
- (tee_local $5
- (call $_fmt_u
- (i32.load
- (get_local $6)
- )
- (i32.const 0)
- (get_local $30)
- )
- )
- (get_local $30)
- )
- (block
- (i32.store8
- (get_local $35)
- (i32.const 48)
- )
- (set_local $5
- (get_local $35)
- )
+ (block
+ (set_local $17
+ (i32.eqz
+ (get_local $20)
)
)
- (block $do-once115
+ (set_local $6
+ (get_local $12)
+ )
+ (set_local $7
+ (get_local $5)
+ )
+ (loop $while-in114
(if
(i32.eq
- (get_local $6)
- (get_local $12)
+ (tee_local $5
+ (call $_fmt_u
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 0)
+ (get_local $30)
+ )
+ )
+ (get_local $30)
)
(block
- (if
- (i32.eqz
+ (i32.store8
+ (get_local $35)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $35)
+ )
+ )
+ )
+ (block $do-once115
+ (if
+ (i32.eq
+ (get_local $6)
+ (get_local $12)
+ )
+ (block
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $5)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ (br_if $do-once115
+ (i32.and
+ (get_local $17)
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ )
+ (br_if $do-once115
(i32.and
(i32.load
(get_local $0)
@@ -6211,344 +6242,273 @@
)
(drop
(call $___fwritex
- (get_local $5)
+ (i32.const 4143)
(i32.const 1)
(get_local $0)
)
)
)
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
- )
- )
- (br_if $do-once115
- (i32.and
- (get_local $17)
- (i32.lt_s
- (get_local $7)
- (i32.const 1)
+ (block
+ (br_if $do-once115
+ (i32.le_u
+ (get_local $5)
+ (get_local $23)
)
)
- )
- (br_if $do-once115
- (i32.and
- (i32.load
- (get_local $0)
+ (loop $while-in118
+ (i32.store8
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
)
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $0)
- )
- )
- )
- (block
- (br_if $do-once115
- (i32.le_u
- (get_local $5)
- (get_local $23)
- )
- )
- (loop $while-in118
- (i32.store8
- (tee_local $5
- (i32.add
+ (br_if $while-in118
+ (i32.gt_u
(get_local $5)
- (i32.const -1)
+ (get_local $23)
)
)
- (i32.const 48)
- )
- (br_if $while-in118
- (i32.gt_u
- (get_local $5)
- (get_local $23)
- )
)
)
)
)
- )
- (set_local $8
- (i32.sub
- (get_local $43)
- (get_local $5)
+ (set_local $8
+ (i32.sub
+ (get_local $43)
+ (get_local $5)
+ )
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
- )
- (drop
- (call $___fwritex
- (get_local $5)
- (select
- (get_local $8)
- (get_local $7)
- (i32.gt_s
- (get_local $7)
+ (drop
+ (call $___fwritex
+ (get_local $5)
+ (select
(get_local $8)
+ (get_local $7)
+ (i32.gt_s
+ (get_local $7)
+ (get_local $8)
+ )
)
+ (get_local $0)
)
- (get_local $0)
)
)
- )
- (br_if $while-in114
- (i32.and
- (i32.lt_u
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 4)
+ (br_if $while-in114
+ (i32.and
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
)
+ (get_local $9)
)
- (get_local $9)
- )
- (i32.gt_s
- (tee_local $7
- (i32.sub
- (get_local $7)
- (get_local $8)
+ (i32.gt_s
+ (tee_local $7
+ (i32.sub
+ (get_local $7)
+ (get_local $8)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
)
)
- )
- (set_local $5
- (get_local $7)
+ (set_local $5
+ (get_local $7)
+ )
)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $5)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
+ (get_local $5)
+ (i32.const 18)
+ )
(i32.const 18)
+ (i32.const 0)
)
- (i32.const 18)
- (i32.const 0)
- )
- (br_if $do-once99
- (i32.and
- (i32.load
- (get_local $0)
+ (br_if $do-once99
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
- )
- (drop
- (call $___fwritex
- (get_local $18)
- (i32.sub
- (get_local $28)
+ (drop
+ (call $___fwritex
(get_local $18)
+ (i32.sub
+ (get_local $28)
+ (get_local $18)
+ )
+ (get_local $0)
)
- (get_local $0)
)
)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (get_local $13)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (select
- (get_local $14)
- (get_local $13)
- (i32.lt_s
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
(get_local $13)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
+ )
+ (select
(get_local $14)
+ (get_local $13)
+ (i32.lt_s
+ (get_local $13)
+ (get_local $14)
+ )
)
)
- )
- (block i32
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (tee_local $7
- (i32.add
- (tee_local $9
- (select
- (i32.const 0)
- (get_local $27)
- (tee_local $6
- (i32.or
- (f64.ne
- (get_local $15)
- (get_local $15)
+ (block i32
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
+ (tee_local $7
+ (i32.add
+ (tee_local $9
+ (select
+ (i32.const 0)
+ (get_local $27)
+ (tee_local $6
+ (i32.or
+ (f64.ne
+ (get_local $15)
+ (get_local $15)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
+ (i32.const 3)
)
- (i32.const 3)
)
+ (get_local $8)
)
- (get_local $8)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $5
- (i32.load
- (get_local $0)
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $5
+ (i32.load
+ (get_local $0)
+ )
)
+ (i32.const 32)
)
- (i32.const 32)
)
- )
- (block
- (drop
- (call $___fwritex
- (get_local $31)
- (get_local $9)
- (get_local $0)
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $31)
+ (get_local $9)
+ (get_local $0)
+ )
)
- )
- (set_local $5
- (i32.load
- (get_local $0)
+ (set_local $5
+ (i32.load
+ (get_local $0)
+ )
)
)
)
- )
- (set_local $6
- (select
+ (set_local $6
(select
- (i32.const 4135)
- (i32.const 4139)
- (tee_local $8
- (i32.ne
- (i32.and
- (get_local $18)
- (i32.const 32)
+ (select
+ (i32.const 4135)
+ (i32.const 4139)
+ (tee_local $8
+ (i32.ne
+ (i32.and
+ (get_local $18)
+ (i32.const 32)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
)
+ (select
+ (i32.const 4127)
+ (i32.const 4131)
+ (get_local $8)
+ )
+ (get_local $6)
)
- (select
- (i32.const 4127)
- (i32.const 4131)
- (get_local $8)
- )
- (get_local $6)
)
- )
- (if
- (i32.eqz
- (i32.and
- (get_local $5)
- (i32.const 32)
+ (if
+ (i32.eqz
+ (i32.and
+ (get_local $5)
+ (i32.const 32)
+ )
)
- )
- (drop
- (call $___fwritex
- (get_local $6)
- (i32.const 3)
- (get_local $0)
+ (drop
+ (call $___fwritex
+ (get_local $6)
+ (i32.const 3)
+ (get_local $0)
+ )
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (select
- (get_local $14)
- (get_local $7)
- (i32.lt_s
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
(get_local $7)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
+ )
+ (select
(get_local $14)
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (get_local $14)
+ )
)
)
)
)
)
- )
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (get_local $7)
- )
- (br $label$continue$L1)
- )
- (set_local $7
- (get_local $5)
- )
- (set_local $12
- (get_local $6)
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (set_local $5
- (get_local $22)
- )
- (br $__rjto$8)
- )
- (set_local $9
- (i32.and
- (get_local $18)
- (i32.const 32)
- )
- )
- (if
- (i32.and
- (i32.eqz
- (tee_local $8
- (i32.load
- (tee_local $5
- (get_local $19)
- )
- )
+ (set_local $5
+ (get_local $10)
)
- )
- (i32.eqz
- (tee_local $11
- (i32.load offset=4
- (get_local $5)
- )
+ (set_local $10
+ (get_local $7)
)
+ (br $label$continue$L1)
)
- )
- (block
- (set_local $5
- (get_local $22)
+ (set_local $7
+ (get_local $5)
+ )
+ (set_local $12
+ (get_local $6)
)
(set_local $8
(i32.const 0)
@@ -6556,381 +6516,412 @@
(set_local $9
(i32.const 4091)
)
- (br $__rjti$8)
- )
- (block
- (set_local $5
- (get_local $8)
- )
- (set_local $8
+ (br $__rjto$8
(get_local $22)
)
- (loop $while-in123
- (i32.store8
+ )
+ (set_local $9
+ (i32.and
+ (get_local $18)
+ (i32.const 32)
+ )
+ )
+ (if
+ (i32.and
+ (i32.eqz
(tee_local $8
- (i32.add
- (get_local $8)
- (i32.const -1)
- )
- )
- (i32.or
- (i32.load8_u
- (i32.add
- (i32.and
- (get_local $5)
- (i32.const 15)
- )
- (i32.const 4075)
+ (i32.load
+ (tee_local $5
+ (get_local $19)
)
)
- (get_local $9)
)
)
- (br_if $while-in123
- (i32.eqz
- (i32.and
- (i32.eqz
- (tee_local $5
- (call $_bitshift64Lshr
- (get_local $5)
- (get_local $11)
- (i32.const 4)
- )
- )
- )
- (i32.eqz
- (tee_local $11
- (get_global $tempRet0)
- )
- )
+ (i32.eqz
+ (tee_local $11
+ (i32.load offset=4
+ (get_local $5)
)
)
)
+ )
+ (block
(set_local $5
- (get_local $8)
+ (get_local $22)
+ )
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
)
+ (br $__rjti$8)
)
- (if
- (i32.or
- (i32.eqz
- (i32.and
- (get_local $7)
- (i32.const 8)
+ (block
+ (set_local $5
+ (get_local $8)
+ )
+ (set_local $8
+ (get_local $22)
+ )
+ (loop $while-in123
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $8)
+ (i32.const -1)
+ )
)
- )
- (i32.and
- (i32.eqz
- (i32.load
- (tee_local $11
- (get_local $19)
+ (i32.or
+ (i32.load8_u
+ (i32.add
+ (i32.and
+ (get_local $5)
+ (i32.const 15)
+ )
+ (i32.const 4075)
)
)
+ (get_local $9)
)
+ )
+ (br_if $while-in123
(i32.eqz
- (i32.load offset=4
- (get_local $11)
+ (i32.and
+ (i32.eqz
+ (tee_local $5
+ (call $_bitshift64Lshr
+ (get_local $5)
+ (get_local $11)
+ (i32.const 4)
+ )
+ )
+ )
+ (i32.eqz
+ (tee_local $11
+ (get_global $tempRet0)
+ )
+ )
)
)
)
- )
- (block
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
+ (set_local $5
+ (get_local $8)
)
- (br $__rjti$8)
)
- (block
- (set_local $8
- (i32.const 2)
- )
- (set_local $9
- (i32.add
- (i32.shr_s
- (get_local $18)
- (i32.const 4)
+ (if
+ (i32.or
+ (i32.eqz
+ (i32.and
+ (get_local $7)
+ (i32.const 8)
)
+ )
+ (i32.and
+ (i32.eqz
+ (i32.load
+ (tee_local $11
+ (get_local $19)
+ )
+ )
+ )
+ (i32.eqz
+ (i32.load offset=4
+ (get_local $11)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
(i32.const 4091)
)
+ (br $__rjti$8)
+ )
+ (block
+ (set_local $8
+ (i32.const 2)
+ )
+ (set_local $9
+ (i32.add
+ (i32.shr_s
+ (get_local $18)
+ (i32.const 4)
+ )
+ (i32.const 4091)
+ )
+ )
+ (br $__rjti$8)
)
- (br $__rjti$8)
)
)
)
)
- (br $__rjto$8)
+ (set_local $5
+ (call $_fmt_u
+ (get_local $5)
+ (get_local $7)
+ (get_local $22)
+ )
+ )
+ (set_local $7
+ (get_local $11)
+ )
+ (br $__rjti$8)
)
- (set_local $5
- (call $_fmt_u
- (get_local $5)
- (get_local $7)
- (get_local $22)
+ (set_local $18
+ (i32.eqz
+ (tee_local $13
+ (call $_memchr
+ (get_local $5)
+ (i32.const 0)
+ (get_local $6)
+ )
+ )
)
)
(set_local $7
- (get_local $11)
+ (get_local $5)
)
- (br $__rjti$8)
- )
- (set_local $18
- (i32.eqz
- (tee_local $13
- (call $_memchr
+ (set_local $11
+ (get_local $8)
+ )
+ (set_local $12
+ (select
+ (get_local $6)
+ (i32.sub
+ (get_local $13)
(get_local $5)
- (i32.const 0)
- (get_local $6)
)
+ (get_local $18)
)
)
- )
- (set_local $7
- (get_local $5)
- )
- (set_local $11
- (get_local $8)
- )
- (set_local $12
- (select
- (get_local $6)
- (i32.sub
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjto$8
+ (select
+ (i32.add
+ (get_local $5)
+ (get_local $6)
+ )
(get_local $13)
- (get_local $5)
+ (get_local $18)
)
- (get_local $18)
)
)
- (set_local $8
+ (set_local $5
(i32.const 0)
)
- (set_local $9
- (i32.const 4091)
+ (set_local $7
+ (i32.const 0)
)
- (set_local $5
- (select
- (i32.add
- (get_local $5)
- (get_local $6)
- )
- (get_local $13)
- (get_local $18)
+ (set_local $6
+ (i32.load
+ (get_local $19)
)
)
- (br $__rjto$8)
- )
- (set_local $5
- (i32.const 0)
- )
- (set_local $7
- (i32.const 0)
- )
- (set_local $6
- (i32.load
- (get_local $19)
- )
- )
- (loop $while-in125
- (block $while-out124
- (br_if $while-out124
- (i32.eqz
- (tee_local $9
- (i32.load
- (get_local $6)
+ (loop $while-in125
+ (block $while-out124
+ (br_if $while-out124
+ (i32.eqz
+ (tee_local $9
+ (i32.load
+ (get_local $6)
+ )
)
)
)
- )
- (br_if $while-out124
- (i32.or
- (i32.lt_s
- (tee_local $7
- (call $_wctomb
- (get_local $36)
- (get_local $9)
+ (br_if $while-out124
+ (i32.or
+ (i32.lt_s
+ (tee_local $7
+ (call $_wctomb
+ (get_local $36)
+ (get_local $9)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (i32.gt_u
- (get_local $7)
- (i32.sub
- (get_local $8)
- (get_local $5)
+ (i32.gt_u
+ (get_local $7)
+ (i32.sub
+ (get_local $8)
+ (get_local $5)
+ )
)
)
)
- )
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const 4)
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
)
- )
- (br_if $while-in125
- (i32.gt_u
- (get_local $8)
- (tee_local $5
- (i32.add
- (get_local $7)
- (get_local $5)
+ (br_if $while-in125
+ (i32.gt_u
+ (get_local $8)
+ (tee_local $5
+ (i32.add
+ (get_local $7)
+ (get_local $5)
+ )
)
)
)
)
)
- )
- (if
- (i32.lt_s
- (get_local $7)
- (i32.const 0)
- )
- (block
- (set_local $16
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (get_local $5)
- (get_local $11)
- )
- (if
- (get_local $5)
- (block
- (set_local $6
+ (if
+ (i32.lt_s
+ (get_local $7)
(i32.const 0)
)
- (set_local $7
- (i32.load
- (get_local $19)
+ (block
+ (set_local $16
+ (i32.const -1)
)
+ (br $label$break$L1)
)
- (loop $while-in127
- (if
- (i32.eqz
- (tee_local $8
- (i32.load
- (get_local $7)
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
+ (get_local $5)
+ (get_local $11)
+ )
+ (if
+ (get_local $5)
+ (block
+ (set_local $6
+ (i32.const 0)
+ )
+ (set_local $7
+ (i32.load
+ (get_local $19)
+ )
+ )
+ (loop $while-in127
+ (if
+ (i32.eqz
+ (tee_local $8
+ (i32.load
+ (get_local $7)
+ )
)
)
- )
- (block
- (set_local $7
- (get_local $5)
+ (block
+ (set_local $7
+ (get_local $5)
+ )
+ (br $__rjti$7)
)
- (br $__rjti$7)
)
- )
- (if
- (i32.gt_s
- (tee_local $6
- (i32.add
- (tee_local $8
- (call $_wctomb
- (get_local $36)
- (get_local $8)
+ (if
+ (i32.gt_s
+ (tee_local $6
+ (i32.add
+ (tee_local $8
+ (call $_wctomb
+ (get_local $36)
+ (get_local $8)
+ )
)
+ (get_local $6)
)
- (get_local $6)
)
- )
- (get_local $5)
- )
- (block
- (set_local $7
(get_local $5)
)
- (br $__rjti$7)
+ (block
+ (set_local $7
+ (get_local $5)
+ )
+ (br $__rjti$7)
+ )
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $36)
+ (get_local $8)
(get_local $0)
)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
- (get_local $36)
- (get_local $8)
- (get_local $0)
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
)
)
- )
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
+ (br_if $while-in127
+ (i32.lt_u
+ (get_local $6)
+ (get_local $5)
+ )
)
- )
- (br_if $while-in127
- (i32.lt_u
- (get_local $6)
+ (set_local $7
(get_local $5)
)
)
- (set_local $7
- (get_local $5)
- )
- (br $__rjti$7)
)
- )
- (block
(set_local $7
(i32.const 0)
)
- (br $__rjti$7)
)
)
- (br $__rjto$8)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (select
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
(get_local $14)
(get_local $7)
- (i32.gt_s
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (select
(get_local $14)
(get_local $7)
+ (i32.gt_s
+ (get_local $14)
+ (get_local $7)
+ )
)
)
+ (br $label$continue$L1)
)
- (br $label$continue$L1)
- )
- (set_local $11
- (select
- (i32.and
+ (set_local $11
+ (select
+ (i32.and
+ (get_local $7)
+ (i32.const -65537)
+ )
(get_local $7)
- (i32.const -65537)
- )
- (get_local $7)
- (i32.gt_s
- (get_local $6)
- (i32.const -1)
+ (i32.gt_s
+ (get_local $6)
+ (i32.const -1)
+ )
)
)
- )
- (set_local $5
(if i32
(i32.or
(get_local $6)
diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise
index 0e4228725..09672b584 100644
--- a/test/emcc_hello_world.fromasm.imprecise
+++ b/test/emcc_hello_world.fromasm.imprecise
@@ -3405,69 +3405,84 @@
)
)
)
- (block $__rjto$8
- (block $__rjti$8
- (block $__rjti$7
- (block $__rjti$6
- (block $__rjti$5
- (block $__rjti$4
- (block $__rjti$3
- (block $switch-default120
- (block $switch-case42
- (block $switch-case41
- (block $switch-case40
- (block $switch-case39
- (block $switch-case38
- (block $switch-case37
- (block $switch-case36
- (block $switch-case34
- (block $switch-case33
- (block $switch-case29
- (block $switch-case28
- (block $switch-case27
- (br_table $switch-case42 $switch-default120 $switch-case40 $switch-default120 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case29 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case42 $switch-default120 $switch-case37 $switch-case34 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-case34 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case29 $switch-default120
- (i32.sub
- (tee_local $18
- (select
- (i32.and
- (tee_local $12
- (i32.load8_s
- (get_local $18)
+ (set_local $5
+ (block $__rjto$8 i32
+ (block $__rjti$8
+ (block $__rjti$7
+ (block $__rjti$6
+ (block $__rjti$5
+ (block $__rjti$4
+ (block $__rjti$3
+ (block $switch-default120
+ (block $switch-case42
+ (block $switch-case41
+ (block $switch-case40
+ (block $switch-case39
+ (block $switch-case38
+ (block $switch-case37
+ (block $switch-case36
+ (block $switch-case34
+ (block $switch-case33
+ (block $switch-case29
+ (block $switch-case28
+ (block $switch-case27
+ (br_table $switch-case42 $switch-default120 $switch-case40 $switch-default120 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case29 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case42 $switch-default120 $switch-case37 $switch-case34 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-case34 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case29 $switch-default120
+ (i32.sub
+ (tee_local $18
+ (select
+ (i32.and
+ (tee_local $12
+ (i32.load8_s
+ (get_local $18)
+ )
)
+ (i32.const -33)
)
- (i32.const -33)
- )
- (get_local $12)
- (i32.and
- (i32.ne
- (get_local $9)
- (i32.const 0)
- )
- (i32.eq
- (i32.and
- (get_local $12)
- (i32.const 15)
+ (get_local $12)
+ (i32.and
+ (i32.ne
+ (get_local $9)
+ (i32.const 0)
+ )
+ (i32.eq
+ (i32.and
+ (get_local $12)
+ (i32.const 15)
+ )
+ (i32.const 3)
)
- (i32.const 3)
)
)
)
+ (i32.const 65)
)
- (i32.const 65)
)
)
- )
- (block $switch-default26
- (block $switch-case25
- (block $switch-case24
- (block $switch-case23
- (block $switch-case22
- (block $switch-case21
- (block $switch-case20
- (block $switch-case19
- (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
- (get_local $9)
+ (block $switch-default26
+ (block $switch-case25
+ (block $switch-case24
+ (block $switch-case23
+ (block $switch-case22
+ (block $switch-case21
+ (block $switch-case20
+ (block $switch-case19
+ (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
+ (get_local $9)
+ )
+ )
+ (i32.store
+ (i32.load
+ (get_local $19)
+ )
+ (get_local $16)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
)
+ (br $label$continue$L1)
)
(i32.store
(i32.load
@@ -3484,11 +3499,26 @@
(br $label$continue$L1)
)
(i32.store
- (i32.load
- (get_local $19)
+ (tee_local $5
+ (i32.load
+ (get_local $19)
+ )
)
(get_local $16)
)
+ (i32.store offset=4
+ (get_local $5)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $16)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
(set_local $5
(get_local $10)
)
@@ -3497,27 +3527,12 @@
)
(br $label$continue$L1)
)
- (i32.store
- (tee_local $5
- (i32.load
- (get_local $19)
- )
+ (i32.store16
+ (i32.load
+ (get_local $19)
)
(get_local $16)
)
- (i32.store offset=4
- (get_local $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $16)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
(set_local $5
(get_local $10)
)
@@ -3526,7 +3541,7 @@
)
(br $label$continue$L1)
)
- (i32.store16
+ (i32.store8
(i32.load
(get_local $19)
)
@@ -3540,7 +3555,7 @@
)
(br $label$continue$L1)
)
- (i32.store8
+ (i32.store
(i32.load
(get_local $19)
)
@@ -3555,11 +3570,26 @@
(br $label$continue$L1)
)
(i32.store
- (i32.load
- (get_local $19)
+ (tee_local $5
+ (i32.load
+ (get_local $19)
+ )
)
(get_local $16)
)
+ (i32.store offset=4
+ (get_local $5)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $16)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
(set_local $5
(get_local $10)
)
@@ -3568,27 +3598,6 @@
)
(br $label$continue$L1)
)
- (i32.store
- (tee_local $5
- (i32.load
- (get_local $19)
- )
- )
- (get_local $16)
- )
- (i32.store offset=4
- (get_local $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $16)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
(set_local $5
(get_local $10)
)
@@ -3597,103 +3606,96 @@
)
(br $label$continue$L1)
)
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (get_local $7)
- )
- (br $label$continue$L1)
- )
- (set_local $7
- (i32.or
- (get_local $11)
- (i32.const 8)
+ (set_local $7
+ (i32.or
+ (get_local $11)
+ (i32.const 8)
+ )
)
- )
- (set_local $6
- (select
- (get_local $6)
- (i32.const 8)
- (i32.gt_u
+ (set_local $6
+ (select
(get_local $6)
(i32.const 8)
+ (i32.gt_u
+ (get_local $6)
+ (i32.const 8)
+ )
)
)
+ (set_local $18
+ (i32.const 120)
+ )
+ (br $__rjti$3)
)
- (set_local $18
- (i32.const 120)
+ (set_local $7
+ (get_local $11)
)
(br $__rjti$3)
)
- (set_local $7
- (get_local $11)
- )
- (br $__rjti$3)
- )
- (if
- (i32.and
- (i32.eqz
- (tee_local $7
- (i32.load
- (tee_local $5
- (get_local $19)
+ (if
+ (i32.and
+ (i32.eqz
+ (tee_local $7
+ (i32.load
+ (tee_local $5
+ (get_local $19)
+ )
)
)
)
- )
- (i32.eqz
- (tee_local $8
- (i32.load offset=4
- (get_local $5)
+ (i32.eqz
+ (tee_local $8
+ (i32.load offset=4
+ (get_local $5)
+ )
)
)
)
- )
- (set_local $8
- (get_local $22)
- )
- (block
- (set_local $5
- (get_local $7)
- )
- (set_local $7
- (get_local $8)
- )
(set_local $8
(get_local $22)
)
- (loop $while-in32
- (i32.store8
- (tee_local $8
- (i32.add
- (get_local $8)
- (i32.const -1)
+ (block
+ (set_local $5
+ (get_local $7)
+ )
+ (set_local $7
+ (get_local $8)
+ )
+ (set_local $8
+ (get_local $22)
+ )
+ (loop $while-in32
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $8)
+ (i32.const -1)
+ )
)
- )
- (i32.or
- (i32.and
- (get_local $5)
- (i32.const 7)
+ (i32.or
+ (i32.and
+ (get_local $5)
+ (i32.const 7)
+ )
+ (i32.const 48)
)
- (i32.const 48)
)
- )
- (br_if $while-in32
- (i32.eqz
- (i32.and
- (i32.eqz
- (tee_local $5
- (call $_bitshift64Lshr
- (get_local $5)
- (get_local $7)
- (i32.const 3)
+ (br_if $while-in32
+ (i32.eqz
+ (i32.and
+ (i32.eqz
+ (tee_local $5
+ (call $_bitshift64Lshr
+ (get_local $5)
+ (get_local $7)
+ (i32.const 3)
+ )
)
)
- )
- (i32.eqz
- (tee_local $7
- (get_global $tempRet0)
+ (i32.eqz
+ (tee_local $7
+ (get_global $tempRet0)
+ )
)
)
)
@@ -3701,152 +3703,177 @@
)
)
)
- )
- (if
- (i32.and
- (get_local $11)
- (i32.const 8)
- )
- (block
- (set_local $5
- (get_local $8)
- )
- (set_local $7
+ (if
+ (i32.and
(get_local $11)
+ (i32.const 8)
)
- (set_local $6
- (select
- (tee_local $11
- (i32.add
- (i32.sub
- (get_local $39)
- (get_local $8)
+ (block
+ (set_local $5
+ (get_local $8)
+ )
+ (set_local $7
+ (get_local $11)
+ )
+ (set_local $6
+ (select
+ (tee_local $11
+ (i32.add
+ (i32.sub
+ (get_local $39)
+ (get_local $8)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
- )
- (get_local $6)
- (i32.lt_s
(get_local $6)
- (get_local $11)
+ (i32.lt_s
+ (get_local $6)
+ (get_local $11)
+ )
)
)
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjti$8)
)
- (set_local $8
- (i32.const 0)
+ (block
+ (set_local $5
+ (get_local $8)
+ )
+ (set_local $7
+ (get_local $11)
+ )
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjti$8)
)
- (set_local $9
- (i32.const 4091)
+ )
+ )
+ (set_local $5
+ (i32.load
+ (tee_local $7
+ (get_local $19)
+ )
+ )
+ )
+ (if
+ (i32.lt_s
+ (tee_local $7
+ (i32.load offset=4
+ (get_local $7)
+ )
)
- (br $__rjti$8)
+ (i32.const 0)
)
(block
- (set_local $5
- (get_local $8)
+ (i32.store
+ (tee_local $8
+ (get_local $19)
+ )
+ (tee_local $5
+ (call $_i64Subtract
+ (i32.const 0)
+ (i32.const 0)
+ (get_local $5)
+ (get_local $7)
+ )
+ )
)
- (set_local $7
- (get_local $11)
+ (i32.store offset=4
+ (get_local $8)
+ (tee_local $7
+ (get_global $tempRet0)
+ )
)
(set_local $8
- (i32.const 0)
+ (i32.const 1)
)
(set_local $9
(i32.const 4091)
)
- (br $__rjti$8)
+ (br $__rjti$4)
)
)
- )
- (set_local $5
- (i32.load
- (tee_local $7
- (get_local $19)
+ (if
+ (i32.and
+ (get_local $11)
+ (i32.const 2048)
)
- )
- )
- (if
- (i32.lt_s
- (tee_local $7
- (i32.load offset=4
- (get_local $7)
+ (block
+ (set_local $8
+ (i32.const 1)
)
- )
- (i32.const 0)
- )
- (block
- (i32.store
- (tee_local $8
- (get_local $19)
+ (set_local $9
+ (i32.const 4092)
)
- (tee_local $5
- (call $_i64Subtract
- (i32.const 0)
- (i32.const 0)
- (get_local $5)
- (get_local $7)
+ (br $__rjti$4)
+ )
+ (block
+ (set_local $8
+ (tee_local $9
+ (i32.and
+ (get_local $11)
+ (i32.const 1)
+ )
)
)
- )
- (i32.store offset=4
- (get_local $8)
- (tee_local $7
- (get_global $tempRet0)
+ (set_local $9
+ (select
+ (i32.const 4093)
+ (i32.const 4091)
+ (get_local $9)
+ )
)
+ (br $__rjti$4)
)
- (set_local $8
- (i32.const 1)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$4)
)
)
- (if
- (i32.and
- (get_local $11)
- (i32.const 2048)
- )
- (block
- (set_local $8
- (i32.const 1)
- )
- (set_local $9
- (i32.const 4092)
+ (set_local $5
+ (i32.load
+ (tee_local $7
+ (get_local $19)
)
- (br $__rjti$4)
)
- (block
- (set_local $8
- (tee_local $9
- (i32.and
- (get_local $11)
- (i32.const 1)
- )
- )
- )
- (set_local $9
- (select
- (i32.const 4093)
- (i32.const 4091)
- (get_local $9)
- )
- )
- (br $__rjti$4)
+ )
+ (set_local $7
+ (i32.load offset=4
+ (get_local $7)
)
)
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjti$4)
)
(set_local $5
+ (get_local $19)
+ )
+ (i32.store8
+ (get_local $40)
(i32.load
- (tee_local $7
- (get_local $19)
- )
+ (get_local $5)
)
)
(set_local $7
- (i32.load offset=4
- (get_local $7)
- )
+ (get_local $40)
+ )
+ (set_local $11
+ (get_local $8)
+ )
+ (set_local $12
+ (i32.const 1)
)
(set_local $8
(i32.const 0)
@@ -3854,978 +3881,979 @@
(set_local $9
(i32.const 4091)
)
- (br $__rjti$4)
- )
- (set_local $5
- (get_local $19)
- )
- (i32.store8
- (get_local $40)
- (i32.load
- (get_local $5)
+ (br $__rjto$8
+ (get_local $22)
)
)
- (set_local $7
- (get_local $40)
- )
- (set_local $11
- (get_local $8)
- )
- (set_local $12
- (i32.const 1)
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
(set_local $5
- (get_local $22)
+ (call $_strerror
+ (i32.load
+ (call $___errno_location)
+ )
+ )
)
- (br $__rjto$8)
+ (br $__rjti$5)
)
(set_local $5
- (call $_strerror
- (i32.load
- (call $___errno_location)
+ (select
+ (tee_local $5
+ (i32.load
+ (get_local $19)
+ )
)
+ (i32.const 4101)
+ (get_local $5)
)
)
(br $__rjti$5)
)
(set_local $5
- (select
- (tee_local $5
- (i32.load
- (get_local $19)
- )
- )
- (i32.const 4101)
+ (get_local $19)
+ )
+ (i32.store
+ (get_local $41)
+ (i32.load
(get_local $5)
)
)
- (br $__rjti$5)
- )
- (set_local $5
- (get_local $19)
- )
- (i32.store
- (get_local $41)
- (i32.load
- (get_local $5)
+ (i32.store
+ (get_local $44)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $19)
+ (get_local $41)
)
- )
- (i32.store
- (get_local $44)
- (i32.const 0)
- )
- (i32.store
- (get_local $19)
- (get_local $41)
- )
- (set_local $8
- (i32.const -1)
- )
- (br $__rjti$6)
- )
- (if
- (get_local $6)
- (block
(set_local $8
- (get_local $6)
+ (i32.const -1)
)
(br $__rjti$6)
)
- (block
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (i32.const 0)
- (get_local $11)
+ (if
+ (get_local $6)
+ (block
+ (set_local $8
+ (get_local $6)
+ )
+ (br $__rjti$6)
)
- (set_local $7
- (i32.const 0)
+ (block
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
+ (i32.const 0)
+ (get_local $11)
+ )
+ (set_local $7
+ (i32.const 0)
+ )
+ (br $__rjti$7)
)
- (br $__rjti$7)
)
)
- )
- (set_local $15
- (f64.load
- (get_local $19)
- )
- )
- (i32.store
- (get_local $21)
- (i32.const 0)
- )
- (f64.store
- (get_global $tempDoublePtr)
- (get_local $15)
- )
- (set_local $31
- (if i32
- (i32.lt_s
- (i32.load offset=4
- (get_global $tempDoublePtr)
- )
- (i32.const 0)
- )
- (block i32
- (set_local $27
- (i32.const 1)
- )
- (set_local $15
- (f64.neg
- (get_local $15)
- )
- )
- (i32.const 4108)
+ (set_local $15
+ (f64.load
+ (get_local $19)
)
+ )
+ (i32.store
+ (get_local $21)
+ (i32.const 0)
+ )
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $15)
+ )
+ (set_local $31
(if i32
- (i32.and
- (get_local $11)
- (i32.const 2048)
+ (i32.lt_s
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
+ )
+ (i32.const 0)
)
(block i32
(set_local $27
(i32.const 1)
)
- (i32.const 4111)
- )
- (block i32
- (set_local $27
- (tee_local $5
- (i32.and
- (get_local $11)
- (i32.const 1)
- )
+ (set_local $15
+ (f64.neg
+ (get_local $15)
)
)
- (select
- (i32.const 4114)
- (i32.const 4109)
- (get_local $5)
- )
+ (i32.const 4108)
)
- )
- )
- )
- (f64.store
- (get_global $tempDoublePtr)
- (get_local $15)
- )
- (set_local $7
- (block $do-once49 i32
- (if i32
- (i32.or
- (i32.lt_u
- (tee_local $5
- (i32.and
- (i32.load offset=4
- (get_global $tempDoublePtr)
+ (if i32
+ (i32.and
+ (get_local $11)
+ (i32.const 2048)
+ )
+ (block i32
+ (set_local $27
+ (i32.const 1)
+ )
+ (i32.const 4111)
+ )
+ (block i32
+ (set_local $27
+ (tee_local $5
+ (i32.and
+ (get_local $11)
+ (i32.const 1)
)
- (i32.const 2146435072)
)
)
- (i32.const 2146435072)
- )
- (i32.and
- (i32.eq
+ (select
+ (i32.const 4114)
+ (i32.const 4109)
(get_local $5)
- (i32.const 2146435072)
)
- (i32.const 0)
)
)
- (block i32
- (if
- (tee_local $5
- (f64.ne
- (tee_local $24
- (f64.mul
- (call $_frexpl
- (get_local $15)
- (get_local $21)
- )
- (f64.const 2)
+ )
+ )
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $15)
+ )
+ (set_local $7
+ (block $do-once49 i32
+ (if i32
+ (i32.or
+ (i32.lt_u
+ (tee_local $5
+ (i32.and
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
)
+ (i32.const 2146435072)
)
- (f64.const 0)
)
+ (i32.const 2146435072)
)
- (i32.store
- (get_local $21)
- (i32.add
- (i32.load
- (get_local $21)
- )
- (i32.const -1)
+ (i32.and
+ (i32.eq
+ (get_local $5)
+ (i32.const 2146435072)
)
+ (i32.const 0)
)
)
- (if
- (i32.eq
- (tee_local $25
- (i32.or
- (get_local $18)
- (i32.const 32)
+ (block i32
+ (if
+ (tee_local $5
+ (f64.ne
+ (tee_local $24
+ (f64.mul
+ (call $_frexpl
+ (get_local $15)
+ (get_local $21)
+ )
+ (f64.const 2)
+ )
+ )
+ (f64.const 0)
)
)
- (i32.const 97)
- )
- (block
- (set_local $9
- (select
- (i32.add
- (get_local $31)
- (i32.const 9)
- )
- (get_local $31)
- (tee_local $13
- (i32.and
- (get_local $18)
- (i32.const 32)
- )
+ (i32.store
+ (get_local $21)
+ (i32.add
+ (i32.load
+ (get_local $21)
)
+ (i32.const -1)
)
)
- (set_local $15
- (if f64
+ )
+ (if
+ (i32.eq
+ (tee_local $25
(i32.or
- (i32.gt_u
- (get_local $6)
- (i32.const 11)
+ (get_local $18)
+ (i32.const 32)
+ )
+ )
+ (i32.const 97)
+ )
+ (block
+ (set_local $9
+ (select
+ (i32.add
+ (get_local $31)
+ (i32.const 9)
)
- (i32.eqz
- (tee_local $5
- (i32.sub
- (i32.const 12)
- (get_local $6)
- )
+ (get_local $31)
+ (tee_local $13
+ (i32.and
+ (get_local $18)
+ (i32.const 32)
)
)
)
- (get_local $24)
- (block f64
- (set_local $15
- (f64.const 8)
- )
- (loop $while-in54
- (set_local $15
- (f64.mul
- (get_local $15)
- (f64.const 16)
- )
+ )
+ (set_local $15
+ (if f64
+ (i32.or
+ (i32.gt_u
+ (get_local $6)
+ (i32.const 11)
)
- (br_if $while-in54
+ (i32.eqz
(tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
+ (i32.sub
+ (i32.const 12)
+ (get_local $6)
)
)
)
)
- (select
- (f64.neg
- (f64.add
- (get_local $15)
- (f64.sub
- (f64.neg
- (get_local $24)
- )
+ (get_local $24)
+ (block f64
+ (set_local $15
+ (f64.const 8)
+ )
+ (loop $while-in54
+ (set_local $15
+ (f64.mul
(get_local $15)
+ (f64.const 16)
+ )
+ )
+ (br_if $while-in54
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
)
)
)
- (f64.sub
- (f64.add
- (get_local $24)
+ (select
+ (f64.neg
+ (f64.add
+ (get_local $15)
+ (f64.sub
+ (f64.neg
+ (get_local $24)
+ )
+ (get_local $15)
+ )
+ )
+ )
+ (f64.sub
+ (f64.add
+ (get_local $24)
+ (get_local $15)
+ )
(get_local $15)
)
- (get_local $15)
- )
- (i32.eq
- (i32.load8_s
- (get_local $9)
+ (i32.eq
+ (i32.load8_s
+ (get_local $9)
+ )
+ (i32.const 45)
)
- (i32.const 45)
)
)
)
)
- )
- (if
- (i32.eq
- (tee_local $5
- (call $_fmt_u
- (tee_local $5
- (select
- (i32.sub
- (i32.const 0)
- (tee_local $7
- (i32.load
- (get_local $21)
+ (if
+ (i32.eq
+ (tee_local $5
+ (call $_fmt_u
+ (tee_local $5
+ (select
+ (i32.sub
+ (i32.const 0)
+ (tee_local $7
+ (i32.load
+ (get_local $21)
+ )
)
)
- )
- (get_local $7)
- (i32.lt_s
(get_local $7)
- (i32.const 0)
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 0)
+ )
)
)
- )
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.const 31)
)
(i32.const 31)
)
- (i32.const 31)
+ (get_local $34)
)
- (get_local $34)
)
+ (get_local $34)
)
- (get_local $34)
- )
- (block
- (i32.store8
- (get_local $42)
- (i32.const 48)
- )
- (set_local $5
- (get_local $42)
+ (block
+ (i32.store8
+ (get_local $42)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $42)
+ )
)
)
- )
- (set_local $12
- (i32.or
- (get_local $27)
- (i32.const 2)
- )
- )
- (i32.store8
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $7)
- (i32.const 31)
- )
+ (set_local $12
+ (i32.or
+ (get_local $27)
(i32.const 2)
)
- (i32.const 43)
)
- )
- (i32.store8
- (tee_local $8
+ (i32.store8
(i32.add
(get_local $5)
- (i32.const -2)
+ (i32.const -1)
+ )
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $7)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ (i32.const 43)
)
)
- (i32.add
- (get_local $18)
- (i32.const 15)
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $5)
+ (i32.const -2)
+ )
+ )
+ (i32.add
+ (get_local $18)
+ (i32.const 15)
+ )
)
- )
- (set_local $18
- (i32.lt_s
- (get_local $6)
- (i32.const 1)
+ (set_local $18
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 1)
+ )
)
- )
- (set_local $17
- (i32.eqz
- (i32.and
- (get_local $11)
- (i32.const 8)
+ (set_local $17
+ (i32.eqz
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
)
)
- )
- (set_local $5
- (get_local $23)
- )
- (loop $while-in56
- (i32.store8
- (get_local $5)
- (i32.or
- (i32.load8_u
- (i32.add
- (tee_local $7
- (i32.trunc_s/f64
- (get_local $15)
+ (set_local $5
+ (get_local $23)
+ )
+ (loop $while-in56
+ (i32.store8
+ (get_local $5)
+ (i32.or
+ (i32.load8_u
+ (i32.add
+ (tee_local $7
+ (i32.trunc_s/f64
+ (get_local $15)
+ )
)
+ (i32.const 4075)
)
- (i32.const 4075)
)
+ (get_local $13)
)
- (get_local $13)
)
- )
- (set_local $15
- (f64.mul
- (f64.sub
- (get_local $15)
- (f64.convert_s/i32
- (get_local $7)
+ (set_local $15
+ (f64.mul
+ (f64.sub
+ (get_local $15)
+ (f64.convert_s/i32
+ (get_local $7)
+ )
)
+ (f64.const 16)
)
- (f64.const 16)
)
- )
- (set_local $5
- (block $do-once57 i32
- (if i32
- (i32.eq
- (i32.sub
- (tee_local $7
- (i32.add
- (get_local $5)
- (i32.const 1)
+ (set_local $5
+ (block $do-once57 i32
+ (if i32
+ (i32.eq
+ (i32.sub
+ (tee_local $7
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
)
+ (get_local $37)
)
- (get_local $37)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (block i32
- (drop
- (br_if $do-once57
- (get_local $7)
- (i32.and
- (get_local $17)
+ (block i32
+ (drop
+ (br_if $do-once57
+ (get_local $7)
(i32.and
- (get_local $18)
- (f64.eq
- (get_local $15)
- (f64.const 0)
+ (get_local $17)
+ (i32.and
+ (get_local $18)
+ (f64.eq
+ (get_local $15)
+ (f64.const 0)
+ )
)
)
)
)
+ (i32.store8
+ (get_local $7)
+ (i32.const 46)
+ )
+ (i32.add
+ (get_local $5)
+ (i32.const 2)
+ )
)
- (i32.store8
- (get_local $7)
- (i32.const 46)
- )
- (i32.add
- (get_local $5)
- (i32.const 2)
- )
+ (get_local $7)
)
- (get_local $7)
)
)
- )
- (br_if $while-in56
- (f64.ne
- (get_local $15)
- (f64.const 0)
+ (br_if $while-in56
+ (f64.ne
+ (get_local $15)
+ (f64.const 0)
+ )
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (tee_local $7
- (i32.add
- (tee_local $6
- (select
- (i32.sub
- (i32.add
- (get_local $47)
- (get_local $6)
- )
- (get_local $8)
- )
- (i32.add
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
+ (tee_local $7
+ (i32.add
+ (tee_local $6
+ (select
(i32.sub
- (get_local $45)
+ (i32.add
+ (get_local $47)
+ (get_local $6)
+ )
(get_local $8)
)
- (get_local $5)
- )
- (i32.and
- (i32.ne
- (get_local $6)
- (i32.const 0)
+ (i32.add
+ (i32.sub
+ (get_local $45)
+ (get_local $8)
+ )
+ (get_local $5)
)
- (i32.lt_s
- (i32.add
- (get_local $46)
- (get_local $5)
+ (i32.and
+ (i32.ne
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.lt_s
+ (i32.add
+ (get_local $46)
+ (get_local $5)
+ )
+ (get_local $6)
)
- (get_local $6)
)
)
)
+ (get_local $12)
)
- (get_local $12)
)
+ (get_local $11)
)
- (get_local $11)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $9)
+ (get_local $12)
(get_local $0)
)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
- (get_local $9)
- (get_local $12)
- (get_local $0)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $14)
+ (get_local $7)
+ (i32.xor
+ (get_local $11)
+ (i32.const 65536)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $14)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 65536)
- )
- )
- (set_local $5
- (i32.sub
- (get_local $5)
- (get_local $37)
+ (set_local $5
+ (i32.sub
+ (get_local $5)
+ (get_local $37)
+ )
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $23)
+ (get_local $5)
(get_local $0)
)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
- (get_local $23)
- (get_local $5)
- (get_local $0)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.sub
+ (get_local $6)
+ (i32.add
+ (get_local $5)
+ (tee_local $5
+ (i32.sub
+ (get_local $28)
+ (get_local $8)
+ )
+ )
+ )
)
+ (i32.const 0)
+ (i32.const 0)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.sub
- (get_local $6)
- (i32.add
- (get_local $5)
- (tee_local $5
- (i32.sub
- (get_local $28)
- (get_local $8)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
)
+ (i32.const 32)
)
)
- )
- (i32.const 0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
+ (drop
+ (call $___fwritex
+ (get_local $8)
+ (get_local $5)
(get_local $0)
)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
- (get_local $8)
- (get_local $5)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (br $do-once49
- (select
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
(get_local $14)
(get_local $7)
- (i32.lt_s
- (get_local $7)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
+ )
+ (br $do-once49
+ (select
(get_local $14)
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (get_local $14)
+ )
)
)
)
)
- )
- (set_local $15
- (if f64
- (get_local $5)
- (block f64
- (i32.store
- (get_local $21)
- (tee_local $5
- (i32.add
- (i32.load
- (get_local $21)
+ (set_local $15
+ (if f64
+ (get_local $5)
+ (block f64
+ (i32.store
+ (get_local $21)
+ (tee_local $5
+ (i32.add
+ (i32.load
+ (get_local $21)
+ )
+ (i32.const -28)
)
- (i32.const -28)
)
)
+ (f64.mul
+ (get_local $24)
+ (f64.const 268435456)
+ )
)
- (f64.mul
+ (block f64
+ (set_local $5
+ (i32.load
+ (get_local $21)
+ )
+ )
(get_local $24)
- (f64.const 268435456)
)
)
- (block f64
- (set_local $5
- (i32.load
- (get_local $21)
+ )
+ (set_local $7
+ (tee_local $8
+ (select
+ (get_local $48)
+ (get_local $49)
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
)
)
- (get_local $24)
)
)
- )
- (set_local $7
- (tee_local $8
- (select
- (get_local $48)
- (get_local $49)
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
+ (loop $while-in60
+ (i32.store
+ (get_local $7)
+ (tee_local $5
+ (i32.trunc_u/f64
+ (get_local $15)
+ )
)
)
- )
- )
- (loop $while-in60
- (i32.store
- (get_local $7)
- (tee_local $5
- (i32.trunc_u/f64
- (get_local $15)
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
)
)
- )
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (br_if $while-in60
- (f64.ne
- (tee_local $15
- (f64.mul
- (f64.sub
- (get_local $15)
- (f64.convert_u/i32
- (get_local $5)
+ (br_if $while-in60
+ (f64.ne
+ (tee_local $15
+ (f64.mul
+ (f64.sub
+ (get_local $15)
+ (f64.convert_u/i32
+ (get_local $5)
+ )
)
+ (f64.const 1e9)
)
- (f64.const 1e9)
)
+ (f64.const 0)
)
- (f64.const 0)
)
)
- )
- (if
- (i32.gt_s
- (tee_local $9
- (i32.load
- (get_local $21)
+ (if
+ (i32.gt_s
+ (tee_local $9
+ (i32.load
+ (get_local $21)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $5
- (get_local $8)
- )
- (loop $while-in62
- (set_local $13
- (select
- (i32.const 29)
- (get_local $9)
- (i32.gt_s
- (get_local $9)
+ (block
+ (set_local $5
+ (get_local $8)
+ )
+ (loop $while-in62
+ (set_local $13
+ (select
(i32.const 29)
+ (get_local $9)
+ (i32.gt_s
+ (get_local $9)
+ (i32.const 29)
+ )
)
)
- )
- (block $do-once63
- (if
- (i32.ge_u
- (tee_local $9
- (i32.add
- (get_local $7)
- (i32.const -4)
+ (block $do-once63
+ (if
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
+ )
)
+ (get_local $5)
)
- (get_local $5)
- )
- (block
- (set_local $12
- (i32.const 0)
- )
- (loop $while-in66
- (i32.store
- (get_local $9)
- (tee_local $20
- (call $___uremdi3
- (tee_local $12
- (call $_i64Add
- (call $_bitshift64Shl
- (i32.load
- (get_local $9)
+ (block
+ (set_local $12
+ (i32.const 0)
+ )
+ (loop $while-in66
+ (i32.store
+ (get_local $9)
+ (tee_local $20
+ (call $___uremdi3
+ (tee_local $12
+ (call $_i64Add
+ (call $_bitshift64Shl
+ (i32.load
+ (get_local $9)
+ )
+ (i32.const 0)
+ (get_local $13)
)
+ (get_global $tempRet0)
+ (get_local $12)
(i32.const 0)
- (get_local $13)
)
+ )
+ (tee_local $17
(get_global $tempRet0)
- (get_local $12)
- (i32.const 0)
)
+ (i32.const 1000000000)
+ (i32.const 0)
)
- (tee_local $17
- (get_global $tempRet0)
- )
+ )
+ )
+ (set_local $12
+ (call $___udivdi3
+ (get_local $12)
+ (get_local $17)
(i32.const 1000000000)
(i32.const 0)
)
)
+ (br_if $while-in66
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $9)
+ (i32.const -4)
+ )
+ )
+ (get_local $5)
+ )
+ )
)
- (set_local $12
- (call $___udivdi3
+ (br_if $do-once63
+ (i32.eqz
(get_local $12)
- (get_local $17)
- (i32.const 1000000000)
- (i32.const 0)
)
)
- (br_if $while-in66
- (i32.ge_u
- (tee_local $9
- (i32.add
- (get_local $9)
- (i32.const -4)
- )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
)
- (get_local $5)
)
- )
- )
- (br_if $do-once63
- (i32.eqz
(get_local $12)
)
)
- (i32.store
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -4)
- )
- )
- (get_local $12)
- )
)
)
- )
- (loop $while-in68
- (if
- (i32.gt_u
- (get_local $7)
- (get_local $5)
- )
+ (loop $while-in68
(if
- (i32.eqz
- (i32.load
- (tee_local $9
- (i32.add
- (get_local $7)
- (i32.const -4)
+ (i32.gt_u
+ (get_local $7)
+ (get_local $5)
+ )
+ (if
+ (i32.eqz
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
+ )
)
)
)
- )
- (block
- (set_local $7
- (get_local $9)
+ (block
+ (set_local $7
+ (get_local $9)
+ )
+ (br $while-in68)
)
- (br $while-in68)
)
)
)
- )
- (i32.store
- (get_local $21)
- (tee_local $9
- (i32.sub
- (i32.load
- (get_local $21)
+ (i32.store
+ (get_local $21)
+ (tee_local $9
+ (i32.sub
+ (i32.load
+ (get_local $21)
+ )
+ (get_local $13)
)
- (get_local $13)
)
)
- )
- (br_if $while-in62
- (i32.gt_s
- (get_local $9)
- (i32.const 0)
+ (br_if $while-in62
+ (i32.gt_s
+ (get_local $9)
+ (i32.const 0)
+ )
)
)
)
- )
- (set_local $5
- (get_local $8)
- )
- )
- (set_local $17
- (select
- (i32.const 6)
- (get_local $6)
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
+ (set_local $5
+ (get_local $8)
)
)
- )
- (if
- (i32.lt_s
- (get_local $9)
- (i32.const 0)
- )
- (block
- (set_local $20
- (i32.add
- (i32.div_s
- (i32.add
- (get_local $17)
- (i32.const 25)
- )
- (i32.const 9)
- )
- (i32.const 1)
- )
- )
- (set_local $32
- (i32.eq
- (get_local $25)
- (i32.const 102)
+ (set_local $17
+ (select
+ (i32.const 6)
+ (get_local $6)
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 0)
)
)
- (set_local $6
- (get_local $5)
- )
- (set_local $5
- (get_local $7)
+ )
+ (if
+ (i32.lt_s
+ (get_local $9)
+ (i32.const 0)
)
- (loop $while-in70
- (set_local $13
- (select
- (i32.const 9)
- (tee_local $7
- (i32.sub
- (i32.const 0)
- (get_local $9)
+ (block
+ (set_local $20
+ (i32.add
+ (i32.div_s
+ (i32.add
+ (get_local $17)
+ (i32.const 25)
)
- )
- (i32.gt_s
- (get_local $7)
(i32.const 9)
)
+ (i32.const 1)
)
)
- (block $do-once71
- (if
- (i32.lt_u
- (get_local $6)
- (get_local $5)
- )
- (block
- (set_local $12
- (i32.add
- (i32.shl
- (i32.const 1)
- (get_local $13)
- )
- (i32.const -1)
- )
- )
- (set_local $38
- (i32.shr_u
- (i32.const 1000000000)
- (get_local $13)
+ (set_local $32
+ (i32.eq
+ (get_local $25)
+ (i32.const 102)
+ )
+ )
+ (set_local $6
+ (get_local $5)
+ )
+ (set_local $5
+ (get_local $7)
+ )
+ (loop $while-in70
+ (set_local $13
+ (select
+ (i32.const 9)
+ (tee_local $7
+ (i32.sub
+ (i32.const 0)
+ (get_local $9)
)
)
- (set_local $9
- (i32.const 0)
+ (i32.gt_s
+ (get_local $7)
+ (i32.const 9)
)
- (set_local $7
+ )
+ )
+ (block $do-once71
+ (if
+ (i32.lt_u
(get_local $6)
+ (get_local $5)
)
- (loop $while-in74
- (i32.store
- (get_local $7)
+ (block
+ (set_local $12
(i32.add
- (i32.shr_u
- (tee_local $33
- (i32.load
- (get_local $7)
- )
- )
+ (i32.shl
+ (i32.const 1)
(get_local $13)
)
- (get_local $9)
+ (i32.const -1)
+ )
+ )
+ (set_local $38
+ (i32.shr_u
+ (i32.const 1000000000)
+ (get_local $13)
)
)
(set_local $9
- (i32.mul
- (i32.and
- (get_local $33)
- (get_local $12)
+ (i32.const 0)
+ )
+ (set_local $7
+ (get_local $6)
+ )
+ (loop $while-in74
+ (i32.store
+ (get_local $7)
+ (i32.add
+ (i32.shr_u
+ (tee_local $33
+ (i32.load
+ (get_local $7)
+ )
+ )
+ (get_local $13)
+ )
+ (get_local $9)
)
- (get_local $38)
)
- )
- (br_if $while-in74
- (i32.lt_u
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
+ (set_local $9
+ (i32.mul
+ (i32.and
+ (get_local $33)
+ (get_local $12)
)
+ (get_local $38)
)
+ )
+ (br_if $while-in74
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ )
+ (get_local $5)
+ )
+ )
+ )
+ (set_local $7
+ (select
+ (get_local $6)
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (i32.load
+ (get_local $6)
+ )
+ )
+ )
+ (br_if $do-once71
+ (i32.eqz
+ (get_local $9)
+ )
+ )
+ (i32.store
+ (get_local $5)
+ (get_local $9)
+ )
+ (set_local $5
+ (i32.add
(get_local $5)
+ (i32.const 4)
)
)
)
@@ -4841,484 +4869,457 @@
)
)
)
- (br_if $do-once71
- (i32.eqz
- (get_local $9)
+ )
+ )
+ (set_local $12
+ (select
+ (i32.add
+ (tee_local $6
+ (select
+ (get_local $8)
+ (get_local $7)
+ (get_local $32)
+ )
+ )
+ (i32.shl
+ (get_local $20)
+ (i32.const 2)
)
)
- (i32.store
- (get_local $5)
- (get_local $9)
- )
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 4)
+ (get_local $5)
+ (i32.gt_s
+ (i32.shr_s
+ (i32.sub
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.const 2)
)
+ (get_local $20)
)
)
- (set_local $7
- (select
- (get_local $6)
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
+ )
+ (i32.store
+ (get_local $21)
+ (tee_local $9
+ (i32.add
(i32.load
- (get_local $6)
+ (get_local $21)
)
+ (get_local $13)
)
)
)
- )
- (set_local $12
- (select
- (i32.add
- (tee_local $6
- (select
- (get_local $8)
- (get_local $7)
- (get_local $32)
- )
+ (if
+ (i32.lt_s
+ (get_local $9)
+ (i32.const 0)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
)
- (i32.shl
- (get_local $20)
- (i32.const 2)
+ (set_local $5
+ (get_local $12)
)
+ (br $while-in70)
)
- (get_local $5)
- (i32.gt_s
- (i32.shr_s
- (i32.sub
- (get_local $5)
- (get_local $6)
- )
- (i32.const 2)
+ (block
+ (set_local $5
+ (get_local $7)
)
- (get_local $20)
- )
- )
- )
- (i32.store
- (get_local $21)
- (tee_local $9
- (i32.add
- (i32.load
- (get_local $21)
+ (set_local $9
+ (get_local $12)
)
- (get_local $13)
- )
- )
- )
- (if
- (i32.lt_s
- (get_local $9)
- (i32.const 0)
- )
- (block
- (set_local $6
- (get_local $7)
- )
- (set_local $5
- (get_local $12)
- )
- (br $while-in70)
- )
- (block
- (set_local $5
- (get_local $7)
- )
- (set_local $9
- (get_local $12)
)
)
)
)
+ (set_local $9
+ (get_local $7)
+ )
)
- (set_local $9
- (get_local $7)
+ (set_local $20
+ (get_local $8)
)
- )
- (set_local $20
- (get_local $8)
- )
- (block $do-once75
- (if
- (i32.lt_u
- (get_local $5)
- (get_local $9)
- )
- (block
- (set_local $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $20)
- (get_local $5)
+ (block $do-once75
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (get_local $9)
+ )
+ (block
+ (set_local $7
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $20)
+ (get_local $5)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 9)
)
- (i32.const 9)
)
- )
- (br_if $do-once75
- (i32.lt_u
- (tee_local $12
- (i32.load
- (get_local $5)
+ (br_if $do-once75
+ (i32.lt_u
+ (tee_local $12
+ (i32.load
+ (get_local $5)
+ )
)
+ (i32.const 10)
)
+ )
+ (set_local $6
(i32.const 10)
)
- )
- (set_local $6
- (i32.const 10)
- )
- (loop $while-in78
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 1)
+ (loop $while-in78
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 1)
+ )
)
- )
- (br_if $while-in78
- (i32.ge_u
- (get_local $12)
- (tee_local $6
- (i32.mul
- (get_local $6)
- (i32.const 10)
+ (br_if $while-in78
+ (i32.ge_u
+ (get_local $12)
+ (tee_local $6
+ (i32.mul
+ (get_local $6)
+ (i32.const 10)
+ )
)
)
)
)
)
- )
- (set_local $7
- (i32.const 0)
+ (set_local $7
+ (i32.const 0)
+ )
)
)
- )
- (set_local $5
- (if i32
- (i32.lt_s
- (tee_local $6
- (i32.add
- (i32.sub
- (get_local $17)
- (select
- (get_local $7)
- (i32.const 0)
- (i32.ne
- (get_local $25)
- (i32.const 102)
+ (set_local $5
+ (if i32
+ (i32.lt_s
+ (tee_local $6
+ (i32.add
+ (i32.sub
+ (get_local $17)
+ (select
+ (get_local $7)
+ (i32.const 0)
+ (i32.ne
+ (get_local $25)
+ (i32.const 102)
+ )
)
)
- )
- (i32.shr_s
- (i32.shl
- (i32.and
- (tee_local $32
- (i32.ne
- (get_local $17)
- (i32.const 0)
+ (i32.shr_s
+ (i32.shl
+ (i32.and
+ (tee_local $32
+ (i32.ne
+ (get_local $17)
+ (i32.const 0)
+ )
)
- )
- (tee_local $38
- (i32.eq
- (get_local $25)
- (i32.const 103)
+ (tee_local $38
+ (i32.eq
+ (get_local $25)
+ (i32.const 103)
+ )
)
)
+ (i32.const 31)
)
(i32.const 31)
)
- (i32.const 31)
)
)
- )
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $9)
- (get_local $20)
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $9)
+ (get_local $20)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 9)
)
- (i32.const 9)
+ (i32.const -9)
)
- (i32.const -9)
)
- )
- (block i32
- (if
- (i32.lt_s
- (tee_local $6
- (i32.add
- (i32.rem_s
- (tee_local $13
- (i32.add
- (get_local $6)
- (i32.const 9216)
+ (block i32
+ (if
+ (i32.lt_s
+ (tee_local $6
+ (i32.add
+ (i32.rem_s
+ (tee_local $13
+ (i32.add
+ (get_local $6)
+ (i32.const 9216)
+ )
)
+ (i32.const 9)
)
- (i32.const 9)
+ (i32.const 1)
)
- (i32.const 1)
)
+ (i32.const 9)
)
- (i32.const 9)
- )
- (block
- (set_local $12
- (i32.const 10)
- )
- (loop $while-in80
+ (block
(set_local $12
- (i32.mul
- (get_local $12)
- (i32.const 10)
- )
+ (i32.const 10)
)
- (br_if $while-in80
- (i32.ne
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 1)
+ (loop $while-in80
+ (set_local $12
+ (i32.mul
+ (get_local $12)
+ (i32.const 10)
+ )
+ )
+ (br_if $while-in80
+ (i32.ne
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 1)
+ )
)
+ (i32.const 9)
)
- (i32.const 9)
)
)
)
+ (set_local $12
+ (i32.const 10)
+ )
)
- (set_local $12
- (i32.const 10)
- )
- )
- (set_local $13
- (i32.rem_u
- (tee_local $25
- (i32.load
- (tee_local $6
- (i32.add
+ (set_local $13
+ (i32.rem_u
+ (tee_local $25
+ (i32.load
+ (tee_local $6
(i32.add
- (get_local $8)
- (i32.shl
- (i32.div_s
- (get_local $13)
- (i32.const 9)
+ (i32.add
+ (get_local $8)
+ (i32.shl
+ (i32.div_s
+ (get_local $13)
+ (i32.const 9)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
+ (i32.const -4092)
)
- (i32.const -4092)
)
)
)
+ (get_local $12)
)
- (get_local $12)
)
- )
- (block $do-once81
- (if
- (i32.eqz
- (i32.and
- (tee_local $33
- (i32.eq
- (i32.add
- (get_local $6)
- (i32.const 4)
+ (block $do-once81
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $33
+ (i32.eq
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (get_local $9)
)
- (get_local $9)
)
- )
- (i32.eqz
- (get_local $13)
+ (i32.eqz
+ (get_local $13)
+ )
)
)
- )
- (block
- (set_local $15
- (if f64
- (i32.lt_u
- (get_local $13)
- (tee_local $50
- (i32.div_s
- (get_local $12)
- (i32.const 2)
+ (block
+ (set_local $15
+ (if f64
+ (i32.lt_u
+ (get_local $13)
+ (tee_local $50
+ (i32.div_s
+ (get_local $12)
+ (i32.const 2)
+ )
)
)
- )
- (f64.const 0.5)
- (select
- (f64.const 1)
- (f64.const 1.5)
- (i32.and
- (get_local $33)
- (i32.eq
- (get_local $13)
- (get_local $50)
+ (f64.const 0.5)
+ (select
+ (f64.const 1)
+ (f64.const 1.5)
+ (i32.and
+ (get_local $33)
+ (i32.eq
+ (get_local $13)
+ (get_local $50)
+ )
)
)
)
)
- )
- (set_local $24
- (select
- (f64.const 9007199254740994)
- (f64.const 9007199254740992)
- (i32.and
- (i32.div_u
- (get_local $25)
- (get_local $12)
+ (set_local $24
+ (select
+ (f64.const 9007199254740994)
+ (f64.const 9007199254740992)
+ (i32.and
+ (i32.div_u
+ (get_local $25)
+ (get_local $12)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
)
- )
- (block $do-once83
- (if
- (get_local $27)
- (block
- (br_if $do-once83
- (i32.ne
- (i32.load8_s
- (get_local $31)
+ (block $do-once83
+ (if
+ (get_local $27)
+ (block
+ (br_if $do-once83
+ (i32.ne
+ (i32.load8_s
+ (get_local $31)
+ )
+ (i32.const 45)
)
- (i32.const 45)
)
- )
- (set_local $24
- (f64.neg
- (get_local $24)
+ (set_local $24
+ (f64.neg
+ (get_local $24)
+ )
)
- )
- (set_local $15
- (f64.neg
- (get_local $15)
+ (set_local $15
+ (f64.neg
+ (get_local $15)
+ )
)
)
)
)
- )
- (i32.store
- (get_local $6)
- (tee_local $13
- (i32.sub
- (get_local $25)
- (get_local $13)
+ (i32.store
+ (get_local $6)
+ (tee_local $13
+ (i32.sub
+ (get_local $25)
+ (get_local $13)
+ )
)
)
- )
- (br_if $do-once81
- (f64.eq
- (f64.add
+ (br_if $do-once81
+ (f64.eq
+ (f64.add
+ (get_local $24)
+ (get_local $15)
+ )
(get_local $24)
- (get_local $15)
)
- (get_local $24)
)
- )
- (i32.store
- (get_local $6)
- (tee_local $7
- (i32.add
- (get_local $13)
- (get_local $12)
+ (i32.store
+ (get_local $6)
+ (tee_local $7
+ (i32.add
+ (get_local $13)
+ (get_local $12)
+ )
)
)
- )
- (if
- (i32.gt_u
- (get_local $7)
- (i32.const 999999999)
- )
- (loop $while-in86
- (i32.store
- (get_local $6)
- (i32.const 0)
+ (if
+ (i32.gt_u
+ (get_local $7)
+ (i32.const 999999999)
)
- (if
- (i32.lt_u
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -4)
+ (loop $while-in86
+ (i32.store
+ (get_local $6)
+ (i32.const 0)
+ )
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
+ )
)
+ (get_local $5)
+ )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
+ (i32.const 0)
)
- (get_local $5)
)
(i32.store
- (tee_local $5
+ (get_local $6)
+ (tee_local $7
(i32.add
- (get_local $5)
- (i32.const -4)
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 1)
)
)
- (i32.const 0)
)
- )
- (i32.store
- (get_local $6)
- (tee_local $7
- (i32.add
- (i32.load
- (get_local $6)
- )
- (i32.const 1)
+ (br_if $while-in86
+ (i32.gt_u
+ (get_local $7)
+ (i32.const 999999999)
)
)
)
- (br_if $while-in86
- (i32.gt_u
- (get_local $7)
- (i32.const 999999999)
- )
- )
)
- )
- (set_local $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $20)
- (get_local $5)
+ (set_local $7
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $20)
+ (get_local $5)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 9)
)
- (i32.const 9)
)
- )
- (br_if $do-once81
- (i32.lt_u
- (tee_local $13
- (i32.load
- (get_local $5)
+ (br_if $do-once81
+ (i32.lt_u
+ (tee_local $13
+ (i32.load
+ (get_local $5)
+ )
)
+ (i32.const 10)
)
+ )
+ (set_local $12
(i32.const 10)
)
- )
- (set_local $12
- (i32.const 10)
- )
- (loop $while-in88
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 1)
+ (loop $while-in88
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 1)
+ )
)
- )
- (br_if $while-in88
- (i32.ge_u
- (get_local $13)
- (tee_local $12
- (i32.mul
- (get_local $12)
- (i32.const 10)
+ (br_if $while-in88
+ (i32.ge_u
+ (get_local $13)
+ (tee_local $12
+ (i32.mul
+ (get_local $12)
+ (i32.const 10)
+ )
)
)
)
@@ -5326,607 +5327,565 @@
)
)
)
- )
- (set_local $12
- (get_local $5)
- )
- (set_local $13
- (get_local $7)
- )
- (select
- (tee_local $5
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
+ (set_local $12
+ (get_local $5)
)
- (get_local $9)
- (i32.gt_u
+ (set_local $13
+ (get_local $7)
+ )
+ (select
+ (tee_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
(get_local $9)
- (get_local $5)
+ (i32.gt_u
+ (get_local $9)
+ (get_local $5)
+ )
)
)
- )
- (block i32
- (set_local $12
- (get_local $5)
- )
- (set_local $13
- (get_local $7)
+ (block i32
+ (set_local $12
+ (get_local $5)
+ )
+ (set_local $13
+ (get_local $7)
+ )
+ (get_local $9)
)
- (get_local $9)
)
)
- )
- (set_local $33
- (i32.sub
- (i32.const 0)
- (get_local $13)
+ (set_local $33
+ (i32.sub
+ (i32.const 0)
+ (get_local $13)
+ )
)
- )
- (loop $while-in90
- (block $while-out89
- (if
- (i32.le_u
- (get_local $5)
- (get_local $12)
- )
- (block
- (set_local $25
- (i32.const 0)
- )
- (set_local $9
+ (loop $while-in90
+ (block $while-out89
+ (if
+ (i32.le_u
(get_local $5)
+ (get_local $12)
)
- (br $while-out89)
- )
- )
- (if
- (i32.load
- (tee_local $7
- (i32.add
+ (block
+ (set_local $25
+ (i32.const 0)
+ )
+ (set_local $9
(get_local $5)
- (i32.const -4)
)
+ (br $while-out89)
)
)
- (block
- (set_local $25
- (i32.const 1)
+ (if
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
)
- (set_local $9
- (get_local $5)
+ (block
+ (set_local $25
+ (i32.const 1)
+ )
+ (set_local $9
+ (get_local $5)
+ )
)
- )
- (block
- (set_local $5
- (get_local $7)
+ (block
+ (set_local $5
+ (get_local $7)
+ )
+ (br $while-in90)
)
- (br $while-in90)
)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (tee_local $13
- (i32.add
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
+ (tee_local $13
(i32.add
(i32.add
(i32.add
- (get_local $27)
- (i32.const 1)
- )
- (tee_local $5
- (block $do-once91 i32
- (if i32
- (get_local $38)
- (block i32
- (set_local $7
- (if i32
- (i32.and
- (i32.gt_s
- (tee_local $5
- (i32.add
- (i32.xor
- (get_local $32)
- (i32.const 1)
+ (i32.add
+ (get_local $27)
+ (i32.const 1)
+ )
+ (tee_local $5
+ (block $do-once91 i32
+ (if i32
+ (get_local $38)
+ (block i32
+ (set_local $7
+ (if i32
+ (i32.and
+ (i32.gt_s
+ (tee_local $5
+ (i32.add
+ (i32.xor
+ (get_local $32)
+ (i32.const 1)
+ )
+ (get_local $17)
)
- (get_local $17)
)
+ (get_local $13)
+ )
+ (i32.gt_s
+ (get_local $13)
+ (i32.const -5)
)
- (get_local $13)
)
- (i32.gt_s
- (get_local $13)
- (i32.const -5)
+ (block i32
+ (set_local $17
+ (i32.sub
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ (get_local $13)
+ )
+ )
+ (i32.add
+ (get_local $18)
+ (i32.const -1)
+ )
)
- )
- (block i32
- (set_local $17
- (i32.sub
+ (block i32
+ (set_local $17
(i32.add
(get_local $5)
(i32.const -1)
)
- (get_local $13)
)
- )
- (i32.add
- (get_local $18)
- (i32.const -1)
- )
- )
- (block i32
- (set_local $17
(i32.add
- (get_local $5)
- (i32.const -1)
+ (get_local $18)
+ (i32.const -2)
)
)
- (i32.add
- (get_local $18)
- (i32.const -2)
- )
)
)
- )
- (if
- (tee_local $5
- (i32.and
- (get_local $11)
- (i32.const 8)
- )
- )
- (block
- (set_local $20
- (get_local $5)
+ (if
+ (tee_local $5
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
)
- (br $do-once91
- (get_local $17)
+ (block
+ (set_local $20
+ (get_local $5)
+ )
+ (br $do-once91
+ (get_local $17)
+ )
)
)
- )
- (block $do-once93
- (if
- (get_local $25)
- (block
- (if
- (i32.eqz
- (tee_local $18
- (i32.load
- (i32.add
- (get_local $9)
- (i32.const -4)
+ (block $do-once93
+ (if
+ (get_local $25)
+ (block
+ (if
+ (i32.eqz
+ (tee_local $18
+ (i32.load
+ (i32.add
+ (get_local $9)
+ (i32.const -4)
+ )
)
)
)
- )
- (block
- (set_local $5
- (i32.const 9)
- )
- (br $do-once93)
- )
- )
- (if
- (i32.rem_u
- (get_local $18)
- (i32.const 10)
- )
- (block
- (set_local $5
- (i32.const 0)
+ (block
+ (set_local $5
+ (i32.const 9)
+ )
+ (br $do-once93)
)
- (br $do-once93)
)
- (block
- (set_local $6
+ (if
+ (i32.rem_u
+ (get_local $18)
(i32.const 10)
)
- (set_local $5
- (i32.const 0)
+ (block
+ (set_local $5
+ (i32.const 0)
+ )
+ (br $do-once93)
)
- )
- )
- (loop $while-in96
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
+ (block
+ (set_local $6
+ (i32.const 10)
+ )
+ (set_local $5
+ (i32.const 0)
+ )
)
)
- (br_if $while-in96
- (i32.eqz
- (i32.rem_u
- (get_local $18)
- (tee_local $6
- (i32.mul
- (get_local $6)
- (i32.const 10)
+ (loop $while-in96
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in96
+ (i32.eqz
+ (i32.rem_u
+ (get_local $18)
+ (tee_local $6
+ (i32.mul
+ (get_local $6)
+ (i32.const 10)
+ )
)
)
)
)
)
)
- )
- (set_local $5
- (i32.const 9)
+ (set_local $5
+ (i32.const 9)
+ )
)
)
- )
- (set_local $6
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $9)
- (get_local $20)
+ (set_local $6
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $9)
+ (get_local $20)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 9)
)
- (i32.const 9)
- )
- (i32.const -9)
- )
- )
- (if i32
- (i32.eq
- (i32.or
- (get_local $7)
- (i32.const 32)
+ (i32.const -9)
)
- (i32.const 102)
)
- (block i32
- (set_local $20
- (i32.const 0)
+ (if i32
+ (i32.eq
+ (i32.or
+ (get_local $7)
+ (i32.const 32)
+ )
+ (i32.const 102)
)
- (select
- (get_local $17)
- (tee_local $5
- (select
- (i32.const 0)
- (tee_local $5
- (i32.sub
- (get_local $6)
+ (block i32
+ (set_local $20
+ (i32.const 0)
+ )
+ (select
+ (get_local $17)
+ (tee_local $5
+ (select
+ (i32.const 0)
+ (tee_local $5
+ (i32.sub
+ (get_local $6)
+ (get_local $5)
+ )
+ )
+ (i32.lt_s
(get_local $5)
+ (i32.const 0)
)
)
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
)
- )
- (i32.lt_s
- (get_local $17)
- (get_local $5)
+ (i32.lt_s
+ (get_local $17)
+ (get_local $5)
+ )
)
)
- )
- (block i32
- (set_local $20
- (i32.const 0)
- )
- (select
- (get_local $17)
- (tee_local $5
- (select
- (i32.const 0)
- (tee_local $5
- (i32.sub
- (i32.add
- (get_local $6)
- (get_local $13)
+ (block i32
+ (set_local $20
+ (i32.const 0)
+ )
+ (select
+ (get_local $17)
+ (tee_local $5
+ (select
+ (i32.const 0)
+ (tee_local $5
+ (i32.sub
+ (i32.add
+ (get_local $6)
+ (get_local $13)
+ )
+ (get_local $5)
)
+ )
+ (i32.lt_s
(get_local $5)
+ (i32.const 0)
)
)
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
)
- )
- (i32.lt_s
- (get_local $17)
- (get_local $5)
+ (i32.lt_s
+ (get_local $17)
+ (get_local $5)
+ )
)
)
)
)
- )
- (block i32
- (set_local $20
- (i32.and
- (get_local $11)
- (i32.const 8)
+ (block i32
+ (set_local $20
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
)
+ (set_local $7
+ (get_local $18)
+ )
+ (get_local $17)
)
- (set_local $7
- (get_local $18)
- )
- (get_local $17)
)
)
)
)
- )
- (i32.ne
- (tee_local $32
- (i32.or
- (get_local $5)
- (get_local $20)
- )
- )
- (i32.const 0)
- )
- )
- (tee_local $7
- (if i32
- (tee_local $17
- (i32.eq
+ (i32.ne
+ (tee_local $32
(i32.or
- (get_local $7)
- (i32.const 32)
+ (get_local $5)
+ (get_local $20)
)
- (i32.const 102)
)
+ (i32.const 0)
)
- (block i32
- (set_local $18
- (i32.const 0)
+ )
+ (tee_local $7
+ (if i32
+ (tee_local $17
+ (i32.eq
+ (i32.or
+ (get_local $7)
+ (i32.const 32)
+ )
+ (i32.const 102)
+ )
)
- (select
- (get_local $13)
- (i32.const 0)
- (i32.gt_s
+ (block i32
+ (set_local $18
+ (i32.const 0)
+ )
+ (select
(get_local $13)
(i32.const 0)
+ (i32.gt_s
+ (get_local $13)
+ (i32.const 0)
+ )
)
)
- )
- (block i32
- (if
- (i32.lt_s
- (i32.sub
- (get_local $28)
- (tee_local $6
- (call $_fmt_u
- (tee_local $6
- (select
- (get_local $33)
- (get_local $13)
- (i32.lt_s
+ (block i32
+ (if
+ (i32.lt_s
+ (i32.sub
+ (get_local $28)
+ (tee_local $6
+ (call $_fmt_u
+ (tee_local $6
+ (select
+ (get_local $33)
(get_local $13)
- (i32.const 0)
+ (i32.lt_s
+ (get_local $13)
+ (i32.const 0)
+ )
)
)
- )
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.const 31)
)
(i32.const 31)
)
- (i32.const 31)
+ (get_local $34)
)
- (get_local $34)
)
)
+ (i32.const 2)
)
- (i32.const 2)
- )
- (loop $while-in98
- (i32.store8
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
+ (loop $while-in98
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in98
+ (i32.lt_s
+ (i32.sub
+ (get_local $28)
+ (get_local $6)
+ )
+ (i32.const 2)
)
)
- (i32.const 48)
)
- (br_if $while-in98
- (i32.lt_s
- (i32.sub
- (get_local $28)
- (get_local $6)
+ )
+ (i32.store8
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $13)
+ (i32.const 31)
)
(i32.const 2)
)
+ (i32.const 43)
)
)
- )
- (i32.store8
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $13)
- (i32.const 31)
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -2)
)
- (i32.const 2)
)
- (i32.const 43)
+ (get_local $7)
)
- )
- (i32.store8
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -2)
- )
+ (set_local $18
+ (get_local $6)
+ )
+ (i32.sub
+ (get_local $28)
+ (get_local $6)
)
- (get_local $7)
- )
- (set_local $18
- (get_local $6)
- )
- (i32.sub
- (get_local $28)
- (get_local $6)
)
)
)
)
)
+ (get_local $11)
)
- (get_local $11)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $31)
+ (get_local $27)
(get_local $0)
)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
- (get_local $31)
- (get_local $27)
- (get_local $0)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $14)
+ (get_local $13)
+ (i32.xor
+ (get_local $11)
+ (i32.const 65536)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $14)
- (get_local $13)
- (i32.xor
- (get_local $11)
- (i32.const 65536)
- )
- )
- (block $do-once99
- (if
- (get_local $17)
- (block
- (set_local $6
- (tee_local $12
- (select
- (get_local $8)
- (get_local $12)
- (i32.gt_u
- (get_local $12)
+ (block $do-once99
+ (if
+ (get_local $17)
+ (block
+ (set_local $6
+ (tee_local $12
+ (select
(get_local $8)
+ (get_local $12)
+ (i32.gt_u
+ (get_local $12)
+ (get_local $8)
+ )
)
)
)
- )
- (loop $while-in102
- (set_local $7
- (call $_fmt_u
- (i32.load
- (get_local $6)
+ (loop $while-in102
+ (set_local $7
+ (call $_fmt_u
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 0)
+ (get_local $30)
)
- (i32.const 0)
- (get_local $30)
)
- )
- (block $do-once103
- (if
- (i32.eq
- (get_local $6)
- (get_local $12)
- )
- (block
- (br_if $do-once103
- (i32.ne
- (get_local $7)
- (get_local $30)
- )
- )
- (i32.store8
- (get_local $35)
- (i32.const 48)
- )
- (set_local $7
- (get_local $35)
+ (block $do-once103
+ (if
+ (i32.eq
+ (get_local $6)
+ (get_local $12)
)
- )
- (block
- (br_if $do-once103
- (i32.le_u
- (get_local $7)
- (get_local $23)
+ (block
+ (br_if $do-once103
+ (i32.ne
+ (get_local $7)
+ (get_local $30)
+ )
)
- )
- (loop $while-in106
(i32.store8
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const -1)
- )
- )
+ (get_local $35)
(i32.const 48)
)
- (br_if $while-in106
- (i32.gt_u
+ (set_local $7
+ (get_local $35)
+ )
+ )
+ (block
+ (br_if $do-once103
+ (i32.le_u
(get_local $7)
(get_local $23)
)
)
+ (loop $while-in106
+ (i32.store8
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in106
+ (i32.gt_u
+ (get_local $7)
+ (get_local $23)
+ )
+ )
+ )
)
)
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $7)
- (i32.sub
- (get_local $43)
- (get_local $7)
- )
- (get_local $0)
- )
- )
- )
- (if
- (i32.le_u
- (tee_local $7
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
- (get_local $8)
- )
- (block
- (set_local $6
- (get_local $7)
- )
- (br $while-in102)
- )
- )
- )
- (block $do-once107
- (if
- (get_local $32)
- (block
- (br_if $do-once107
+ (if
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
@@ -5936,534 +5895,535 @@
)
(drop
(call $___fwritex
- (i32.const 4143)
- (i32.const 1)
+ (get_local $7)
+ (i32.sub
+ (get_local $43)
+ (get_local $7)
+ )
(get_local $0)
)
)
)
- )
- )
- (if
- (i32.and
- (i32.gt_s
- (get_local $5)
- (i32.const 0)
- )
- (i32.lt_u
- (get_local $7)
- (get_local $9)
+ (if
+ (i32.le_u
+ (tee_local $7
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (get_local $8)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
+ )
+ (br $while-in102)
+ )
)
)
- (loop $while-in110
+ (block $do-once107
(if
- (i32.gt_u
- (tee_local $6
- (call $_fmt_u
+ (get_local $32)
+ (block
+ (br_if $do-once107
+ (i32.and
(i32.load
- (get_local $7)
+ (get_local $0)
)
- (i32.const 0)
- (get_local $30)
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
)
)
- (get_local $23)
)
- (loop $while-in112
- (i32.store8
+ )
+ )
+ (if
+ (i32.and
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.lt_u
+ (get_local $7)
+ (get_local $9)
+ )
+ )
+ (loop $while-in110
+ (if
+ (i32.gt_u
(tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
+ (call $_fmt_u
+ (i32.load
+ (get_local $7)
+ )
+ (i32.const 0)
+ (get_local $30)
)
)
- (i32.const 48)
+ (get_local $23)
)
- (br_if $while-in112
- (i32.gt_u
- (get_local $6)
- (get_local $23)
+ (loop $while-in112
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in112
+ (i32.gt_u
+ (get_local $6)
+ (get_local $23)
+ )
)
)
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
- )
- (drop
- (call $___fwritex
- (get_local $6)
- (select
- (i32.const 9)
- (get_local $5)
- (i32.gt_s
- (get_local $5)
+ (drop
+ (call $___fwritex
+ (get_local $6)
+ (select
(i32.const 9)
+ (get_local $5)
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 9)
+ )
)
+ (get_local $0)
)
- (get_local $0)
)
)
- )
- (set_local $6
- (i32.add
- (get_local $5)
- (i32.const -9)
- )
- )
- (if
- (i32.and
- (i32.gt_s
+ (set_local $6
+ (i32.add
(get_local $5)
- (i32.const 9)
+ (i32.const -9)
)
- (i32.lt_u
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
+ )
+ (if
+ (i32.and
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 9)
+ )
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
)
+ (get_local $9)
)
- (get_local $9)
)
- )
- (block
+ (block
+ (set_local $5
+ (get_local $6)
+ )
+ (br $while-in110)
+ )
(set_local $5
(get_local $6)
)
- (br $while-in110)
- )
- (set_local $5
- (get_local $6)
)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $5)
- (i32.const 9)
- )
- (i32.const 9)
- (i32.const 0)
- )
- )
- (block
- (set_local $9
- (select
- (get_local $9)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
(i32.add
- (get_local $12)
- (i32.const 4)
+ (get_local $5)
+ (i32.const 9)
)
- (get_local $25)
+ (i32.const 9)
+ (i32.const 0)
)
)
- (if
- (i32.gt_s
- (get_local $5)
- (i32.const -1)
- )
- (block
- (set_local $17
- (i32.eqz
- (get_local $20)
+ (block
+ (set_local $9
+ (select
+ (get_local $9)
+ (i32.add
+ (get_local $12)
+ (i32.const 4)
)
+ (get_local $25)
)
- (set_local $6
- (get_local $12)
- )
- (set_local $7
+ )
+ (if
+ (i32.gt_s
(get_local $5)
+ (i32.const -1)
)
- (loop $while-in114
- (if
- (i32.eq
- (tee_local $5
- (call $_fmt_u
- (i32.load
- (get_local $6)
- )
- (i32.const 0)
- (get_local $30)
- )
- )
- (get_local $30)
- )
- (block
- (i32.store8
- (get_local $35)
- (i32.const 48)
- )
- (set_local $5
- (get_local $35)
- )
+ (block
+ (set_local $17
+ (i32.eqz
+ (get_local $20)
)
)
- (block $do-once115
+ (set_local $6
+ (get_local $12)
+ )
+ (set_local $7
+ (get_local $5)
+ )
+ (loop $while-in114
(if
(i32.eq
- (get_local $6)
- (get_local $12)
+ (tee_local $5
+ (call $_fmt_u
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 0)
+ (get_local $30)
+ )
+ )
+ (get_local $30)
)
(block
- (if
- (i32.eqz
- (i32.and
- (i32.load
+ (i32.store8
+ (get_local $35)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $35)
+ )
+ )
+ )
+ (block $do-once115
+ (if
+ (i32.eq
+ (get_local $6)
+ (get_local $12)
+ )
+ (block
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $5)
+ (i32.const 1)
(get_local $0)
)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
+ (set_local $5
+ (i32.add
(get_local $5)
(i32.const 1)
- (get_local $0)
)
)
- )
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
- )
- )
- (br_if $do-once115
- (i32.or
- (i32.and
- (get_local $17)
- (i32.lt_s
- (get_local $7)
- (i32.const 1)
+ (br_if $do-once115
+ (i32.or
+ (i32.and
+ (get_local $17)
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 1)
+ )
)
- )
- (i32.and
- (i32.load
- (get_local $0)
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
)
- )
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $0)
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
+ )
)
)
- )
- (block
- (br_if $do-once115
- (i32.le_u
- (get_local $5)
- (get_local $23)
+ (block
+ (br_if $do-once115
+ (i32.le_u
+ (get_local $5)
+ (get_local $23)
+ )
)
- )
- (loop $while-in118
- (i32.store8
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
+ (loop $while-in118
+ (i32.store8
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
)
+ (i32.const 48)
)
- (i32.const 48)
- )
- (br_if $while-in118
- (i32.gt_u
- (get_local $5)
- (get_local $23)
+ (br_if $while-in118
+ (i32.gt_u
+ (get_local $5)
+ (get_local $23)
+ )
)
)
)
)
)
- )
- (set_local $8
- (i32.sub
- (get_local $43)
- (get_local $5)
+ (set_local $8
+ (i32.sub
+ (get_local $43)
+ (get_local $5)
+ )
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
- )
- (drop
- (call $___fwritex
- (get_local $5)
- (select
- (get_local $8)
- (get_local $7)
- (i32.gt_s
- (get_local $7)
+ (drop
+ (call $___fwritex
+ (get_local $5)
+ (select
(get_local $8)
+ (get_local $7)
+ (i32.gt_s
+ (get_local $7)
+ (get_local $8)
+ )
)
+ (get_local $0)
)
- (get_local $0)
)
)
- )
- (br_if $while-in114
- (i32.and
- (i32.lt_u
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 4)
+ (br_if $while-in114
+ (i32.and
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
)
+ (get_local $9)
)
- (get_local $9)
- )
- (i32.gt_s
- (tee_local $7
- (i32.sub
- (get_local $7)
- (get_local $8)
+ (i32.gt_s
+ (tee_local $7
+ (i32.sub
+ (get_local $7)
+ (get_local $8)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
)
)
- )
- (set_local $5
- (get_local $7)
+ (set_local $5
+ (get_local $7)
+ )
)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $5)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
+ (get_local $5)
+ (i32.const 18)
+ )
(i32.const 18)
+ (i32.const 0)
)
- (i32.const 18)
- (i32.const 0)
- )
- (br_if $do-once99
- (i32.and
- (i32.load
- (get_local $0)
+ (br_if $do-once99
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
- )
- (drop
- (call $___fwritex
- (get_local $18)
- (i32.sub
- (get_local $28)
+ (drop
+ (call $___fwritex
(get_local $18)
+ (i32.sub
+ (get_local $28)
+ (get_local $18)
+ )
+ (get_local $0)
)
- (get_local $0)
)
)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (get_local $13)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (select
- (get_local $14)
- (get_local $13)
- (i32.lt_s
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
(get_local $13)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
+ )
+ (select
(get_local $14)
+ (get_local $13)
+ (i32.lt_s
+ (get_local $13)
+ (get_local $14)
+ )
)
)
- )
- (block i32
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (tee_local $7
- (i32.add
- (tee_local $9
- (select
- (i32.const 0)
- (get_local $27)
- (tee_local $6
- (i32.or
- (f64.ne
- (get_local $15)
- (get_local $15)
+ (block i32
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
+ (tee_local $7
+ (i32.add
+ (tee_local $9
+ (select
+ (i32.const 0)
+ (get_local $27)
+ (tee_local $6
+ (i32.or
+ (f64.ne
+ (get_local $15)
+ (get_local $15)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
+ (i32.const 3)
)
- (i32.const 3)
)
+ (get_local $8)
)
- (get_local $8)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $5
- (i32.load
- (get_local $0)
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $5
+ (i32.load
+ (get_local $0)
+ )
)
+ (i32.const 32)
)
- (i32.const 32)
)
- )
- (block
- (drop
- (call $___fwritex
- (get_local $31)
- (get_local $9)
- (get_local $0)
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $31)
+ (get_local $9)
+ (get_local $0)
+ )
)
- )
- (set_local $5
- (i32.load
- (get_local $0)
+ (set_local $5
+ (i32.load
+ (get_local $0)
+ )
)
)
)
- )
- (set_local $6
- (select
+ (set_local $6
(select
- (i32.const 4135)
- (i32.const 4139)
- (tee_local $8
- (i32.ne
- (i32.and
- (get_local $18)
- (i32.const 32)
+ (select
+ (i32.const 4135)
+ (i32.const 4139)
+ (tee_local $8
+ (i32.ne
+ (i32.and
+ (get_local $18)
+ (i32.const 32)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
)
+ (select
+ (i32.const 4127)
+ (i32.const 4131)
+ (get_local $8)
+ )
+ (get_local $6)
)
- (select
- (i32.const 4127)
- (i32.const 4131)
- (get_local $8)
- )
- (get_local $6)
)
- )
- (if
- (i32.eqz
- (i32.and
- (get_local $5)
- (i32.const 32)
+ (if
+ (i32.eqz
+ (i32.and
+ (get_local $5)
+ (i32.const 32)
+ )
)
- )
- (drop
- (call $___fwritex
- (get_local $6)
- (i32.const 3)
- (get_local $0)
+ (drop
+ (call $___fwritex
+ (get_local $6)
+ (i32.const 3)
+ (get_local $0)
+ )
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (select
- (get_local $14)
- (get_local $7)
- (i32.lt_s
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
(get_local $7)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
+ )
+ (select
(get_local $14)
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (get_local $14)
+ )
)
)
)
)
)
- )
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (get_local $7)
- )
- (br $label$continue$L1)
- )
- (set_local $7
- (get_local $5)
- )
- (set_local $12
- (get_local $6)
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (set_local $5
- (get_local $22)
- )
- (br $__rjto$8)
- )
- (set_local $9
- (i32.and
- (get_local $18)
- (i32.const 32)
- )
- )
- (if
- (i32.and
- (i32.eqz
- (tee_local $8
- (i32.load
- (tee_local $5
- (get_local $19)
- )
- )
+ (set_local $5
+ (get_local $10)
)
- )
- (i32.eqz
- (tee_local $11
- (i32.load offset=4
- (get_local $5)
- )
+ (set_local $10
+ (get_local $7)
)
+ (br $label$continue$L1)
)
- )
- (block
- (set_local $5
- (get_local $22)
+ (set_local $7
+ (get_local $5)
+ )
+ (set_local $12
+ (get_local $6)
)
(set_local $8
(i32.const 0)
@@ -6471,381 +6431,412 @@
(set_local $9
(i32.const 4091)
)
- (br $__rjti$8)
- )
- (block
- (set_local $5
- (get_local $8)
- )
- (set_local $8
+ (br $__rjto$8
(get_local $22)
)
- (loop $while-in123
- (i32.store8
+ )
+ (set_local $9
+ (i32.and
+ (get_local $18)
+ (i32.const 32)
+ )
+ )
+ (if
+ (i32.and
+ (i32.eqz
(tee_local $8
- (i32.add
- (get_local $8)
- (i32.const -1)
- )
- )
- (i32.or
- (i32.load8_u
- (i32.add
- (i32.and
- (get_local $5)
- (i32.const 15)
- )
- (i32.const 4075)
+ (i32.load
+ (tee_local $5
+ (get_local $19)
)
)
- (get_local $9)
)
)
- (br_if $while-in123
- (i32.eqz
- (i32.and
- (i32.eqz
- (tee_local $5
- (call $_bitshift64Lshr
- (get_local $5)
- (get_local $11)
- (i32.const 4)
- )
- )
- )
- (i32.eqz
- (tee_local $11
- (get_global $tempRet0)
- )
- )
+ (i32.eqz
+ (tee_local $11
+ (i32.load offset=4
+ (get_local $5)
)
)
)
+ )
+ (block
(set_local $5
- (get_local $8)
+ (get_local $22)
+ )
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
)
+ (br $__rjti$8)
)
- (if
- (i32.or
- (i32.eqz
- (i32.and
- (get_local $7)
- (i32.const 8)
+ (block
+ (set_local $5
+ (get_local $8)
+ )
+ (set_local $8
+ (get_local $22)
+ )
+ (loop $while-in123
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $8)
+ (i32.const -1)
+ )
)
- )
- (i32.and
- (i32.eqz
- (i32.load
- (tee_local $11
- (get_local $19)
+ (i32.or
+ (i32.load8_u
+ (i32.add
+ (i32.and
+ (get_local $5)
+ (i32.const 15)
+ )
+ (i32.const 4075)
)
)
+ (get_local $9)
)
+ )
+ (br_if $while-in123
(i32.eqz
- (i32.load offset=4
- (get_local $11)
+ (i32.and
+ (i32.eqz
+ (tee_local $5
+ (call $_bitshift64Lshr
+ (get_local $5)
+ (get_local $11)
+ (i32.const 4)
+ )
+ )
+ )
+ (i32.eqz
+ (tee_local $11
+ (get_global $tempRet0)
+ )
+ )
)
)
)
- )
- (block
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
+ (set_local $5
+ (get_local $8)
)
- (br $__rjti$8)
)
- (block
- (set_local $8
- (i32.const 2)
- )
- (set_local $9
- (i32.add
- (i32.shr_s
- (get_local $18)
- (i32.const 4)
+ (if
+ (i32.or
+ (i32.eqz
+ (i32.and
+ (get_local $7)
+ (i32.const 8)
)
+ )
+ (i32.and
+ (i32.eqz
+ (i32.load
+ (tee_local $11
+ (get_local $19)
+ )
+ )
+ )
+ (i32.eqz
+ (i32.load offset=4
+ (get_local $11)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
(i32.const 4091)
)
+ (br $__rjti$8)
+ )
+ (block
+ (set_local $8
+ (i32.const 2)
+ )
+ (set_local $9
+ (i32.add
+ (i32.shr_s
+ (get_local $18)
+ (i32.const 4)
+ )
+ (i32.const 4091)
+ )
+ )
+ (br $__rjti$8)
)
- (br $__rjti$8)
)
)
)
)
- (br $__rjto$8)
+ (set_local $5
+ (call $_fmt_u
+ (get_local $5)
+ (get_local $7)
+ (get_local $22)
+ )
+ )
+ (set_local $7
+ (get_local $11)
+ )
+ (br $__rjti$8)
)
- (set_local $5
- (call $_fmt_u
- (get_local $5)
- (get_local $7)
- (get_local $22)
+ (set_local $18
+ (i32.eqz
+ (tee_local $13
+ (call $_memchr
+ (get_local $5)
+ (i32.const 0)
+ (get_local $6)
+ )
+ )
)
)
(set_local $7
- (get_local $11)
+ (get_local $5)
)
- (br $__rjti$8)
- )
- (set_local $18
- (i32.eqz
- (tee_local $13
- (call $_memchr
+ (set_local $11
+ (get_local $8)
+ )
+ (set_local $12
+ (select
+ (get_local $6)
+ (i32.sub
+ (get_local $13)
(get_local $5)
- (i32.const 0)
- (get_local $6)
)
+ (get_local $18)
)
)
- )
- (set_local $7
- (get_local $5)
- )
- (set_local $11
- (get_local $8)
- )
- (set_local $12
- (select
- (get_local $6)
- (i32.sub
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjto$8
+ (select
+ (i32.add
+ (get_local $5)
+ (get_local $6)
+ )
(get_local $13)
- (get_local $5)
+ (get_local $18)
)
- (get_local $18)
)
)
- (set_local $8
+ (set_local $5
(i32.const 0)
)
- (set_local $9
- (i32.const 4091)
+ (set_local $7
+ (i32.const 0)
)
- (set_local $5
- (select
- (i32.add
- (get_local $5)
- (get_local $6)
- )
- (get_local $13)
- (get_local $18)
+ (set_local $6
+ (i32.load
+ (get_local $19)
)
)
- (br $__rjto$8)
- )
- (set_local $5
- (i32.const 0)
- )
- (set_local $7
- (i32.const 0)
- )
- (set_local $6
- (i32.load
- (get_local $19)
- )
- )
- (loop $while-in125
- (block $while-out124
- (br_if $while-out124
- (i32.eqz
- (tee_local $9
- (i32.load
- (get_local $6)
+ (loop $while-in125
+ (block $while-out124
+ (br_if $while-out124
+ (i32.eqz
+ (tee_local $9
+ (i32.load
+ (get_local $6)
+ )
)
)
)
- )
- (br_if $while-out124
- (i32.or
- (i32.lt_s
- (tee_local $7
- (call $_wctomb
- (get_local $36)
- (get_local $9)
+ (br_if $while-out124
+ (i32.or
+ (i32.lt_s
+ (tee_local $7
+ (call $_wctomb
+ (get_local $36)
+ (get_local $9)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (i32.gt_u
- (get_local $7)
- (i32.sub
- (get_local $8)
- (get_local $5)
+ (i32.gt_u
+ (get_local $7)
+ (i32.sub
+ (get_local $8)
+ (get_local $5)
+ )
)
)
)
- )
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const 4)
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
)
- )
- (br_if $while-in125
- (i32.gt_u
- (get_local $8)
- (tee_local $5
- (i32.add
- (get_local $7)
- (get_local $5)
+ (br_if $while-in125
+ (i32.gt_u
+ (get_local $8)
+ (tee_local $5
+ (i32.add
+ (get_local $7)
+ (get_local $5)
+ )
)
)
)
)
)
- )
- (if
- (i32.lt_s
- (get_local $7)
- (i32.const 0)
- )
- (block
- (set_local $16
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (get_local $5)
- (get_local $11)
- )
- (if
- (get_local $5)
- (block
- (set_local $6
+ (if
+ (i32.lt_s
+ (get_local $7)
(i32.const 0)
)
- (set_local $7
- (i32.load
- (get_local $19)
+ (block
+ (set_local $16
+ (i32.const -1)
)
+ (br $label$break$L1)
)
- (loop $while-in127
- (if
- (i32.eqz
- (tee_local $8
- (i32.load
- (get_local $7)
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
+ (get_local $5)
+ (get_local $11)
+ )
+ (if
+ (get_local $5)
+ (block
+ (set_local $6
+ (i32.const 0)
+ )
+ (set_local $7
+ (i32.load
+ (get_local $19)
+ )
+ )
+ (loop $while-in127
+ (if
+ (i32.eqz
+ (tee_local $8
+ (i32.load
+ (get_local $7)
+ )
)
)
- )
- (block
- (set_local $7
- (get_local $5)
+ (block
+ (set_local $7
+ (get_local $5)
+ )
+ (br $__rjti$7)
)
- (br $__rjti$7)
)
- )
- (if
- (i32.gt_s
- (tee_local $6
- (i32.add
- (tee_local $8
- (call $_wctomb
- (get_local $36)
- (get_local $8)
+ (if
+ (i32.gt_s
+ (tee_local $6
+ (i32.add
+ (tee_local $8
+ (call $_wctomb
+ (get_local $36)
+ (get_local $8)
+ )
)
+ (get_local $6)
)
- (get_local $6)
)
- )
- (get_local $5)
- )
- (block
- (set_local $7
(get_local $5)
)
- (br $__rjti$7)
+ (block
+ (set_local $7
+ (get_local $5)
+ )
+ (br $__rjti$7)
+ )
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $36)
+ (get_local $8)
(get_local $0)
)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
- (get_local $36)
- (get_local $8)
- (get_local $0)
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
)
)
- )
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
+ (br_if $while-in127
+ (i32.lt_u
+ (get_local $6)
+ (get_local $5)
+ )
)
- )
- (br_if $while-in127
- (i32.lt_u
- (get_local $6)
+ (set_local $7
(get_local $5)
)
)
- (set_local $7
- (get_local $5)
- )
- (br $__rjti$7)
)
- )
- (block
(set_local $7
(i32.const 0)
)
- (br $__rjti$7)
)
)
- (br $__rjto$8)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (select
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
(get_local $14)
(get_local $7)
- (i32.gt_s
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (select
(get_local $14)
(get_local $7)
+ (i32.gt_s
+ (get_local $14)
+ (get_local $7)
+ )
)
)
+ (br $label$continue$L1)
)
- (br $label$continue$L1)
- )
- (set_local $11
- (select
- (i32.and
+ (set_local $11
+ (select
+ (i32.and
+ (get_local $7)
+ (i32.const -65537)
+ )
(get_local $7)
- (i32.const -65537)
- )
- (get_local $7)
- (i32.gt_s
- (get_local $6)
- (i32.const -1)
+ (i32.gt_s
+ (get_local $6)
+ (i32.const -1)
+ )
)
)
- )
- (set_local $5
(if i32
(i32.or
(get_local $6)
diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c
index 5935e9993..b2218993c 100644
--- a/test/example/c-api-kitchen-sink.c
+++ b/test/example/c-api-kitchen-sink.c
@@ -427,6 +427,9 @@ void test_relooper() {
RelooperRef relooper = RelooperCreate();
BinaryenExpressionRef temp = makeInt32(module, -99);
RelooperBlockRef block0 = RelooperAddBlockWithSwitch(relooper, makeCallCheck(module, 0), temp);
+ // TODO: this example is not very good, the blocks should end in a |return| as otherwise they
+ // fall through to each other. A relooper block should end in something that stops control
+ // flow, if it doesn't have branches going out
RelooperBlockRef block1 = RelooperAddBlock(relooper, makeCallCheck(module, 1));
RelooperBlockRef block2 = RelooperAddBlock(relooper, makeCallCheck(module, 2));
RelooperBlockRef block3 = RelooperAddBlock(relooper, makeCallCheck(module, 3));
diff --git a/test/passes/precompute_coalesce-locals_vacuum.txt b/test/passes/precompute_coalesce-locals_vacuum.txt
index fcf3cdf5d..dbeec78f1 100644
--- a/test/passes/precompute_coalesce-locals_vacuum.txt
+++ b/test/passes/precompute_coalesce-locals_vacuum.txt
@@ -3,10 +3,7 @@
(memory $0 0)
(func $nested-br_if-value (type $0) (param $0 i32) (result i32)
(loop $label$0
- (block $block
- (br $label$0)
- (i32.const 0)
- )
+ (br $label$0)
)
)
)
diff --git a/test/passes/remove-unused-brs_precompute_vacuum_remove-unused-brs.txt b/test/passes/remove-unused-brs_precompute_vacuum_remove-unused-brs.txt
index e2d4f13a9..2fe672e68 100644
--- a/test/passes/remove-unused-brs_precompute_vacuum_remove-unused-brs.txt
+++ b/test/passes/remove-unused-brs_precompute_vacuum_remove-unused-brs.txt
@@ -4,19 +4,11 @@
(memory $0 0)
(func $1 (type $0) (param $x i32) (result f64)
(local $var$0 f64)
- (block $label$0
+ (block $label$0 f64
(set_local $var$0
(f64.const 0)
)
- (return
- (f64.const -3.4)
- )
- (if
- (get_local $x)
- (return
- (f64.const 5.6)
- )
- )
+ (f64.const -3.4)
)
)
)
diff --git a/test/passes/remove-unused-names_vacuum.txt b/test/passes/remove-unused-names_vacuum.txt
index a1f49128e..7c1f902c0 100644
--- a/test/passes/remove-unused-names_vacuum.txt
+++ b/test/passes/remove-unused-names_vacuum.txt
@@ -9,7 +9,6 @@
(func $return-i32-but-body-is-unreachable4 (type $0) (result i32)
(local $label i32)
(unreachable)
- (i32.const 0)
)
(func $to-drop-unreachable (type $1)
(drop
diff --git a/test/passes/rereloop.txt b/test/passes/rereloop.txt
index c15934c0b..17a084395 100644
--- a/test/passes/rereloop.txt
+++ b/test/passes/rereloop.txt
@@ -541,7 +541,6 @@
(block
(br $block$3$break)
)
- (br $switch$1$leave)
)
(block
(block
@@ -552,7 +551,6 @@
)
)
)
- (br $switch$1$leave)
)
)
(block
@@ -572,7 +570,6 @@
(block
(br $block$6$break)
)
- (br $switch$3$leave)
)
(block
(block
@@ -586,7 +583,6 @@
)
)
)
- (br $switch$3$leave)
)
)
(block
@@ -704,4 +700,47 @@
)
)
)
+ (func $switcher-to-nowhere (type $2) (param $0 i32) (result i32)
+ (local $1 i32)
+ (block
+ )
+ (block $switch$1$leave
+ (block $switch$1$default
+ (block $switch$1$case$3
+ (block $switch$1$case$4
+ (br_table $switch$1$case$4 $switch$1$case$3 $switch$1$default
+ (get_local $0)
+ )
+ )
+ (block
+ (block
+ (block
+ (return
+ (i32.const 1)
+ )
+ )
+ )
+ )
+ )
+ (block
+ (block
+ (block
+ (return
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ )
+ (block
+ (block
+ (block
+ (return
+ (i32.const 3)
+ )
+ )
+ )
+ )
+ )
+ )
)
diff --git a/test/passes/rereloop.wast b/test/passes/rereloop.wast
index 38c74ff56..0680c97fe 100644
--- a/test/passes/rereloop.wast
+++ b/test/passes/rereloop.wast
@@ -175,5 +175,26 @@
(i32.const 3)
)
)
+
+ (func $switcher-to-nowhere (param $0 i32) (result i32)
+ (block $switch
+ (block $switch-case0
+ (block $switch-case
+ (br_table $switch-case $switch-case0 $switch
+ (get_local $0)
+ )
+ )
+ (return
+ (i32.const 1)
+ )
+ )
+ (return
+ (i32.const 2)
+ )
+ )
+ (return
+ (i32.const 3)
+ )
+ )
)
diff --git a/test/passes/vacuum.txt b/test/passes/vacuum.txt
index be18cc713..f5894c693 100644
--- a/test/passes/vacuum.txt
+++ b/test/passes/vacuum.txt
@@ -29,71 +29,19 @@
)
(func $unary (type $2) (result f32)
(unreachable)
- (f32.abs
- (f32.const 2)
- )
)
(func $binary (type $2) (result f32)
(drop
(unreachable)
)
- (drop
- (unreachable)
- )
- (f32.add
- (unreachable)
- (unreachable)
- )
- (f32.add
- (f32.const 5)
- (f32.const 6)
- )
)
(func $select (type $3) (result i32)
(drop
(unreachable)
)
- (drop
- (unreachable)
- )
- (drop
- (unreachable)
- )
- (select
- (unreachable)
- (unreachable)
- (i32.const 10)
- )
- (drop
- (select
- (unreachable)
- (i32.const 11)
- (unreachable)
- )
- )
- (drop
- (select
- (i32.const 12)
- (unreachable)
- (unreachable)
- )
- )
- (select
- (unreachable)
- (unreachable)
- (unreachable)
- )
- (select
- (i32.const 13)
- (i32.const 14)
- (i32.const 15)
- )
)
(func $block-to-one (type $0)
(unreachable)
- (unreachable)
- (unreachable)
- (unreachable)
)
(func $recurse (type $0)
(nop)
@@ -245,12 +193,6 @@
)
(return)
)
- (block $out2
- (block $in2
- (br $in2)
- )
- (return)
- )
)
(func $block-unreachable-but-last-element-concrete (type $0)
(local $2 i32)
diff --git a/test/unreachable-import_wasm-only.fromasm b/test/unreachable-import_wasm-only.fromasm
index fad6e4de8..b63989188 100644
--- a/test/unreachable-import_wasm-only.fromasm
+++ b/test/unreachable-import_wasm-only.fromasm
@@ -1,6 +1,4 @@
(module
- (type $FUNCSIG$viii (func (param i32 i32 i32)))
- (import "env" "___cxa_throw" (func $___cxa_throw (param i32 i32 i32)))
(import "env" "memory" (memory $0 256 256))
(import "env" "table" (table 0 0 anyfunc))
(import "env" "memoryBase" (global $memoryBase i32))
@@ -12,15 +10,5 @@
(i32.const 12)
(i32.const 26)
)
- (return)
- (i32.store
- (i32.const 0)
- (i32.const 1)
- )
- (call $___cxa_throw
- (i32.const 0)
- (i32.const 1280)
- (i32.const 0)
- )
)
)
diff --git a/test/unreachable-import_wasm-only.fromasm.clamp b/test/unreachable-import_wasm-only.fromasm.clamp
index fad6e4de8..b63989188 100644
--- a/test/unreachable-import_wasm-only.fromasm.clamp
+++ b/test/unreachable-import_wasm-only.fromasm.clamp
@@ -1,6 +1,4 @@
(module
- (type $FUNCSIG$viii (func (param i32 i32 i32)))
- (import "env" "___cxa_throw" (func $___cxa_throw (param i32 i32 i32)))
(import "env" "memory" (memory $0 256 256))
(import "env" "table" (table 0 0 anyfunc))
(import "env" "memoryBase" (global $memoryBase i32))
@@ -12,15 +10,5 @@
(i32.const 12)
(i32.const 26)
)
- (return)
- (i32.store
- (i32.const 0)
- (i32.const 1)
- )
- (call $___cxa_throw
- (i32.const 0)
- (i32.const 1280)
- (i32.const 0)
- )
)
)
diff --git a/test/unreachable-import_wasm-only.fromasm.imprecise b/test/unreachable-import_wasm-only.fromasm.imprecise
index a85dc9ed8..208c4435e 100644
--- a/test/unreachable-import_wasm-only.fromasm.imprecise
+++ b/test/unreachable-import_wasm-only.fromasm.imprecise
@@ -1,6 +1,4 @@
(module
- (type $FUNCSIG$viii (func (param i32 i32 i32)))
- (import "env" "___cxa_throw" (func $___cxa_throw (param i32 i32 i32)))
(import "env" "memory" (memory $0 256 256))
(import "env" "table" (table 0 0 anyfunc))
(import "env" "memoryBase" (global $memoryBase i32))
@@ -11,15 +9,5 @@
(i32.const 12)
(i32.const 26)
)
- (return)
- (i32.store
- (i32.const 0)
- (i32.const 1)
- )
- (call $___cxa_throw
- (i32.const 0)
- (i32.const 1280)
- (i32.const 0)
- )
)
)
diff --git a/test/wasm-only.fromasm b/test/wasm-only.fromasm
index 3a98e84a3..0cb1acb65 100644
--- a/test/wasm-only.fromasm
+++ b/test/wasm-only.fromasm
@@ -356,7 +356,6 @@
(i32.const -2)
)
(return)
- (br $__rjto$0)
)
)
(i32.store
diff --git a/test/wasm-only.fromasm.clamp b/test/wasm-only.fromasm.clamp
index 3a98e84a3..0cb1acb65 100644
--- a/test/wasm-only.fromasm.clamp
+++ b/test/wasm-only.fromasm.clamp
@@ -356,7 +356,6 @@
(i32.const -2)
)
(return)
- (br $__rjto$0)
)
)
(i32.store
diff --git a/test/wasm-only.fromasm.imprecise b/test/wasm-only.fromasm.imprecise
index de241740e..14a2cedc6 100644
--- a/test/wasm-only.fromasm.imprecise
+++ b/test/wasm-only.fromasm.imprecise
@@ -271,7 +271,6 @@
(i32.const -2)
)
(return)
- (br $__rjto$0)
)
)
(i32.store