summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/passes/OptimizeInstructions.cpp8
-rw-r--r--src/passes/SimplifyLocals.cpp61
-rw-r--r--src/passes/pass.cpp9
-rw-r--r--src/passes/passes.h3
-rw-r--r--test/emcc_O2_hello_world.fromasm2346
-rw-r--r--test/emcc_O2_hello_world.fromasm.imprecise2346
-rw-r--r--test/emcc_hello_world.fromasm5719
-rw-r--r--test/emcc_hello_world.fromasm.imprecise5719
-rw-r--r--test/memorygrowth.fromasm1383
-rw-r--r--test/memorygrowth.fromasm.imprecise1383
-rw-r--r--test/passes/optimize-instructions.txt20
-rw-r--r--test/passes/optimize-instructions.wast16
-rw-r--r--test/passes/simplify-locals-nostructure.txt65
-rw-r--r--test/passes/simplify-locals-nostructure.wast32
-rw-r--r--test/passes/simplify-locals-notee-nostructure.txt65
-rw-r--r--test/passes/simplify-locals-notee-nostructure.wast32
-rw-r--r--test/passes/simplify-locals-notee.txt66
-rw-r--r--test/passes/simplify-locals-notee.wast32
-rw-r--r--test/passes/simplify-locals.txt82
-rw-r--r--test/passes/simplify-locals.wast29
-rw-r--r--test/unit.fromasm3
-rw-r--r--test/unit.fromasm.imprecise11
-rw-r--r--test/wasm-only.fromasm34
-rw-r--r--test/wasm-only.fromasm.imprecise6
24 files changed, 9909 insertions, 9561 deletions
diff --git a/src/passes/OptimizeInstructions.cpp b/src/passes/OptimizeInstructions.cpp
index 6ba34990f..1970cf08f 100644
--- a/src/passes/OptimizeInstructions.cpp
+++ b/src/passes/OptimizeInstructions.cpp
@@ -363,8 +363,12 @@ private:
}
}
} else if (auto* binary = boolean->dynCast<Binary>()) {
- // x != 0 is just x if it's used as a bool
- if (binary->op == NeInt32) {
+ if (binary->op == OrInt32) {
+ // an or flowing into a boolean context can consider each input as boolean
+ binary->left = optimizeBoolean(binary->left);
+ binary->right = optimizeBoolean(binary->right);
+ } else if (binary->op == NeInt32) {
+ // x != 0 is just x if it's used as a bool
if (auto* num = binary->right->dynCast<Const>()) {
if (num->value.geti32() == 0) {
return binary->left;
diff --git a/src/passes/SimplifyLocals.cpp b/src/passes/SimplifyLocals.cpp
index 7fef53dcc..6509c9da5 100644
--- a/src/passes/SimplifyLocals.cpp
+++ b/src/passes/SimplifyLocals.cpp
@@ -31,6 +31,15 @@
// After this pass, some locals may be completely unused. reorder-locals
// can get rid of those (the operation is trivial there after it sorts by use
// frequency).
+//
+// This pass has two main options:
+//
+// * Tee: allow teeing, i.e., sinking a local with more than one use,
+// and so after sinking we have a tee for the first use.
+// * Structure: create block and if return values, by merging the
+// internal set_locals into one on the outside,
+// that can itself then be sunk further.
+//
#include <wasm.h>
#include <wasm-builder.h>
@@ -64,7 +73,11 @@ struct SetLocalRemover : public PostWalker<SetLocalRemover, Visitor<SetLocalRemo
struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals, Visitor<SimplifyLocals>>> {
bool isFunctionParallel() override { return true; }
- Pass* create() override { return new SimplifyLocals; }
+ Pass* create() override { return new SimplifyLocals(allowTee, allowStructure); }
+
+ bool allowTee, allowStructure;
+
+ SimplifyLocals(bool allowTee, bool allowStructure) : allowTee(allowTee), allowStructure(allowStructure) {}
// information for a set_local we can sink
struct SinkableInfo {
@@ -107,11 +120,11 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals,
// whether we need to run an additional cycle
bool anotherCycle;
- // whether this is the first cycle
+ // whether this is the first cycle, in which we always disallow teeing
bool firstCycle;
// local => # of get_locals for it
- GetLocalCounter counter;
+ GetLocalCounter getCounter;
static void doNoteNonLinear(SimplifyLocals* self, Expression** currp) {
auto* curr = *currp;
@@ -156,7 +169,9 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals,
// mere with the ifTrue side and optimize a return value, if possible
auto* iff = (*currp)->cast<If>();
assert(iff->ifFalse);
- self->optimizeIfReturn(iff, currp, self->ifStack.back());
+ if (self->allowStructure) {
+ self->optimizeIfReturn(iff, currp, self->ifStack.back());
+ }
self->ifStack.pop_back();
self->sinkables.clear();
}
@@ -164,7 +179,9 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals,
void visitBlock(Block* curr) {
bool hasBreaks = curr->name.is() && blockBreaks[curr->name].size() > 0;
- optimizeBlockReturn(curr); // can modify blockBreaks
+ if (allowStructure) {
+ optimizeBlockReturn(curr); // can modify blockBreaks
+ }
// post-block cleanups
if (curr->name.is()) {
@@ -186,9 +203,7 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals,
if (found != sinkables.end()) {
// sink it, and nop the origin
auto* set = (*found->second.item)->cast<SetLocal>();
- if (firstCycle) {
- // just one get_local of this, so just sink the value
- assert(counter.num[curr->index] == 1);
+ if (firstCycle || getCounter.num[curr->index] == 1) {
replaceCurrent(set->value);
} else {
replaceCurrent(set);
@@ -264,7 +279,7 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals,
self->checkInvalidations(effects);
}
- if (set && !set->isTee() && (!self->firstCycle || self->counter.num[set->index] == 1)) {
+ if (set && self->canSink(set)) {
Index index = set->index;
assert(self->sinkables.count(index) == 0);
self->sinkables.emplace(std::make_pair(index, SinkableInfo(currp)));
@@ -273,6 +288,14 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals,
self->expressionStack.pop_back();
}
+ bool canSink(SetLocal* set) {
+ // we can never move a tee
+ if (set->isTee()) return false;
+ // if in the first cycle, or not allowing tees, then we cannot sink if >1 use as that would make a tee
+ if ((firstCycle || !allowTee) && getCounter.num[set->index] > 1) return false;
+ return true;
+ }
+
std::vector<Block*> blocksToEnlarge;
std::vector<If*> ifsToEnlarge;
@@ -415,7 +438,7 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals,
void doWalkFunction(Function* func) {
// scan get_locals
- counter.analyze(func);
+ getCounter.analyze(func);
// multiple passes may be required per function, consider this:
// x = load
// y = store
@@ -468,16 +491,28 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals,
// for a local with no remaining gets, in which case, we can
// remove the set.
// First, recount get_locals
- counter.analyze(func);
+ getCounter.analyze(func);
// Second, remove unneeded sets
SetLocalRemover remover;
- remover.numGetLocals = &counter.num;
+ remover.numGetLocals = &getCounter.num;
remover.walkFunction(func);
}
};
Pass *createSimplifyLocalsPass() {
- return new SimplifyLocals();
+ return new SimplifyLocals(true, true);
+}
+
+Pass *createSimplifyLocalsNoTeePass() {
+ return new SimplifyLocals(false, true);
+}
+
+Pass *createSimplifyLocalsNoStructurePass() {
+ return new SimplifyLocals(true, false);
+}
+
+Pass *createSimplifyLocalsNoTeeNoStructurePass() {
+ return new SimplifyLocals(false, false);
}
} // namespace wasm
diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp
index c307fea46..20e002f4b 100644
--- a/src/passes/pass.cpp
+++ b/src/passes/pass.cpp
@@ -91,6 +91,9 @@ void PassRegistry::registerPasses() {
registerPass("reorder-functions", "sorts functions by access frequency", createReorderFunctionsPass);
registerPass("reorder-locals", "sorts locals by access frequency", createReorderLocalsPass);
registerPass("simplify-locals", "miscellaneous locals-related optimizations", createSimplifyLocalsPass);
+ registerPass("simplify-locals-notee", "miscellaneous locals-related optimizations", createSimplifyLocalsNoTeePass);
+ registerPass("simplify-locals-nostructure", "miscellaneous locals-related optimizations", createSimplifyLocalsNoStructurePass);
+ registerPass("simplify-locals-notee-nostructure", "miscellaneous locals-related optimizations", createSimplifyLocalsNoTeeNoStructurePass);
registerPass("vacuum", "removes obviously unneeded code", createVacuumPass);
registerPass("precompute", "computes compile-time evaluatable expressions", createPrecomputePass);
// registerPass("lower-i64", "lowers i64 into pairs of i32s", createLowerInt64Pass);
@@ -113,13 +116,15 @@ void PassRunner::addDefaultFunctionOptimizationPasses() {
if (options.optimizeLevel >= 2 || options.shrinkLevel >= 2) {
add("code-pushing");
}
- add("simplify-locals");
+ add("simplify-locals-nostructure"); // don't create if/block return values yet, as coalesce can remove copies that that could inhibit
add("vacuum"); // previous pass creates garbage
add("reorder-locals");
- add("remove-unused-brs"); // simplify-locals opens opportunities for phi optimizations
+ add("remove-unused-brs"); // simplify-locals opens opportunities for optimizations
add("coalesce-locals");
+ add("simplify-locals");
add("vacuum"); // previous pass creates garbage
add("reorder-locals");
+ add("remove-unused-brs"); // coalesce-locals opens opportunities for optimizations
add("merge-blocks");
add("optimize-instructions");
add("precompute");
diff --git a/src/passes/passes.h b/src/passes/passes.h
index c71831e73..98f99654e 100644
--- a/src/passes/passes.h
+++ b/src/passes/passes.h
@@ -51,6 +51,9 @@ Pass *createRemoveUnusedNamesPass();
Pass *createReorderFunctionsPass();
Pass *createReorderLocalsPass();
Pass *createSimplifyLocalsPass();
+Pass *createSimplifyLocalsNoTeePass();
+Pass *createSimplifyLocalsNoStructurePass();
+Pass *createSimplifyLocalsNoTeeNoStructurePass();
Pass *createVacuumPass();
Pass *createPrecomputePass();
//Pass *createLowerInt64Pass();
diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm
index 70ff7a09e..ea595e69d 100644
--- a/test/emcc_O2_hello_world.fromasm
+++ b/test/emcc_O2_hello_world.fromasm
@@ -151,7 +151,7 @@
(i32.const 176)
)
)
- (tee_local $7
+ (tee_local $6
(i32.shr_u
(tee_local $9
(select
@@ -183,7 +183,7 @@
(i32.add
(tee_local $0
(i32.load
- (tee_local $6
+ (tee_local $5
(i32.add
(tee_local $1
(i32.add
@@ -198,7 +198,7 @@
)
(i32.const 1)
)
- (get_local $7)
+ (get_local $6)
)
)
(i32.const 1)
@@ -236,7 +236,7 @@
(if
(i32.eq
(i32.load
- (tee_local $8
+ (tee_local $7
(i32.add
(get_local $2)
(i32.const 12)
@@ -247,11 +247,11 @@
)
(block
(i32.store
- (get_local $8)
+ (get_local $7)
(get_local $1)
)
(i32.store
- (get_local $6)
+ (get_local $5)
(get_local $2)
)
)
@@ -285,7 +285,7 @@
)
)
(i32.store
- (tee_local $6
+ (tee_local $5
(i32.add
(i32.add
(get_local $0)
@@ -296,7 +296,7 @@
)
(i32.or
(i32.load
- (get_local $6)
+ (get_local $5)
)
(i32.const 1)
)
@@ -309,7 +309,7 @@
(if
(i32.gt_u
(get_local $9)
- (tee_local $6
+ (tee_local $5
(i32.load
(i32.const 184)
)
@@ -329,13 +329,13 @@
(i32.and
(i32.shl
(get_local $2)
- (get_local $7)
+ (get_local $6)
)
(i32.or
(tee_local $2
(i32.shl
(i32.const 2)
- (get_local $7)
+ (get_local $6)
)
)
(i32.sub
@@ -360,7 +360,7 @@
)
(set_local $1
(i32.load
- (tee_local $8
+ (tee_local $7
(i32.add
(tee_local $0
(i32.load
@@ -379,7 +379,7 @@
(tee_local $2
(i32.and
(i32.shr_u
- (tee_local $8
+ (tee_local $7
(i32.shr_u
(get_local $2)
(get_local $1)
@@ -392,12 +392,12 @@
)
(get_local $1)
)
- (tee_local $8
+ (tee_local $7
(i32.and
(i32.shr_u
(tee_local $0
(i32.shr_u
- (get_local $8)
+ (get_local $7)
(get_local $2)
)
)
@@ -413,7 +413,7 @@
(tee_local $11
(i32.shr_u
(get_local $0)
- (get_local $8)
+ (get_local $7)
)
)
(i32.const 1)
@@ -520,7 +520,7 @@
)
)
(set_local $17
- (get_local $6)
+ (get_local $5)
)
)
)
@@ -539,7 +539,7 @@
)
)
(i32.or
- (tee_local $6
+ (tee_local $5
(i32.sub
(i32.shl
(get_local $10)
@@ -554,9 +554,9 @@
(i32.store
(i32.add
(get_local $15)
- (get_local $6)
+ (get_local $5)
)
- (get_local $6)
+ (get_local $5)
)
(if
(get_local $17)
@@ -585,7 +585,7 @@
)
(if
(i32.and
- (tee_local $7
+ (tee_local $6
(i32.load
(i32.const 176)
)
@@ -627,7 +627,7 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $7)
+ (get_local $6)
(get_local $2)
)
)
@@ -662,14 +662,14 @@
)
(i32.store
(i32.const 184)
- (get_local $6)
+ (get_local $5)
)
(i32.store
(i32.const 196)
(get_local $15)
)
(return
- (get_local $8)
+ (get_local $7)
)
)
)
@@ -683,7 +683,7 @@
(set_local $15
(i32.and
(i32.shr_u
- (tee_local $6
+ (tee_local $5
(i32.add
(i32.and
(get_local $15)
@@ -712,12 +712,12 @@
(i32.or
(i32.or
(i32.or
- (tee_local $6
+ (tee_local $5
(i32.and
(i32.shr_u
(tee_local $11
(i32.shr_u
- (get_local $6)
+ (get_local $5)
(get_local $15)
)
)
@@ -734,7 +734,7 @@
(tee_local $1
(i32.shr_u
(get_local $11)
- (get_local $6)
+ (get_local $5)
)
)
(i32.const 2)
@@ -761,7 +761,7 @@
(tee_local $2
(i32.and
(i32.shr_u
- (tee_local $7
+ (tee_local $6
(i32.shr_u
(get_local $2)
(get_local $1)
@@ -774,7 +774,7 @@
)
)
(i32.shr_u
- (get_local $7)
+ (get_local $6)
(get_local $2)
)
)
@@ -788,7 +788,7 @@
(get_local $9)
)
)
- (set_local $7
+ (set_local $6
(get_local $17)
)
(set_local $1
@@ -799,7 +799,7 @@
(if
(tee_local $17
(i32.load offset=16
- (get_local $7)
+ (get_local $6)
)
)
(set_local $0
@@ -808,17 +808,17 @@
(if
(tee_local $11
(i32.load offset=20
- (get_local $7)
+ (get_local $6)
)
)
(set_local $0
(get_local $11)
)
(block
- (set_local $3
+ (set_local $8
(get_local $2)
)
- (set_local $5
+ (set_local $3
(get_local $1)
)
(br $while-out)
@@ -848,7 +848,7 @@
(get_local $11)
)
)
- (set_local $7
+ (set_local $6
(get_local $0)
)
(set_local $1
@@ -863,7 +863,7 @@
)
(if
(i32.lt_u
- (get_local $5)
+ (get_local $3)
(tee_local $1
(i32.load
(i32.const 192)
@@ -874,10 +874,10 @@
)
(if
(i32.ge_u
- (get_local $5)
- (tee_local $7
+ (get_local $3)
+ (tee_local $6
(i32.add
- (get_local $5)
+ (get_local $3)
(get_local $9)
)
)
@@ -886,18 +886,18 @@
)
(set_local $2
(i32.load offset=24
- (get_local $5)
+ (get_local $3)
)
)
(block $do-once4
(if
(i32.eq
- (tee_local $8
+ (tee_local $7
(i32.load offset=12
- (get_local $5)
+ (get_local $3)
)
)
- (get_local $5)
+ (get_local $3)
)
(block
(if
@@ -905,7 +905,7 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $5)
+ (get_local $3)
(i32.const 20)
)
)
@@ -915,7 +915,7 @@
(set_local $17
(get_local $10)
)
- (set_local $6
+ (set_local $5
(get_local $0)
)
)
@@ -924,13 +924,13 @@
(i32.load
(tee_local $11
(i32.add
- (get_local $5)
+ (get_local $3)
(i32.const 16)
)
)
)
)
- (set_local $6
+ (set_local $5
(get_local $11)
)
(block
@@ -957,7 +957,7 @@
(set_local $17
(get_local $10)
)
- (set_local $6
+ (set_local $5
(get_local $0)
)
(br $while-in7)
@@ -978,7 +978,7 @@
(set_local $17
(get_local $10)
)
- (set_local $6
+ (set_local $5
(get_local $0)
)
(br $while-in7)
@@ -987,13 +987,13 @@
)
(if
(i32.lt_u
- (get_local $6)
+ (get_local $5)
(get_local $1)
)
(call $_abort)
(block
(i32.store
- (get_local $6)
+ (get_local $5)
(i32.const 0)
)
(set_local $19
@@ -1007,7 +1007,7 @@
(i32.lt_u
(tee_local $0
(i32.load offset=8
- (get_local $5)
+ (get_local $3)
)
)
(get_local $1)
@@ -1024,7 +1024,7 @@
)
)
)
- (get_local $5)
+ (get_local $3)
)
(call $_abort)
)
@@ -1033,24 +1033,24 @@
(i32.load
(tee_local $11
(i32.add
- (get_local $8)
+ (get_local $7)
(i32.const 8)
)
)
)
- (get_local $5)
+ (get_local $3)
)
(block
(i32.store
(get_local $10)
- (get_local $8)
+ (get_local $7)
)
(i32.store
(get_local $11)
(get_local $0)
)
(set_local $19
- (get_local $8)
+ (get_local $7)
)
)
(call $_abort)
@@ -1064,14 +1064,14 @@
(block
(if
(i32.eq
- (get_local $5)
+ (get_local $3)
(i32.load
(tee_local $1
(i32.add
(i32.shl
- (tee_local $8
+ (tee_local $7
(i32.load offset=28
- (get_local $5)
+ (get_local $3)
)
)
(i32.const 2)
@@ -1100,7 +1100,7 @@
(i32.xor
(i32.shl
(i32.const 1)
- (get_local $8)
+ (get_local $7)
)
(i32.const -1)
)
@@ -1123,17 +1123,17 @@
(if
(i32.eq
(i32.load
- (tee_local $8
+ (tee_local $7
(i32.add
(get_local $2)
(i32.const 16)
)
)
)
- (get_local $5)
+ (get_local $3)
)
(i32.store
- (get_local $8)
+ (get_local $7)
(get_local $19)
)
(i32.store offset=20
@@ -1151,7 +1151,7 @@
(if
(i32.lt_u
(get_local $19)
- (tee_local $8
+ (tee_local $7
(i32.load
(i32.const 192)
)
@@ -1166,13 +1166,13 @@
(if
(tee_local $1
(i32.load offset=16
- (get_local $5)
+ (get_local $3)
)
)
(if
(i32.lt_u
(get_local $1)
- (get_local $8)
+ (get_local $7)
)
(call $_abort)
(block
@@ -1190,7 +1190,7 @@
(if
(tee_local $1
(i32.load offset=20
- (get_local $5)
+ (get_local $3)
)
)
(if
@@ -1218,16 +1218,16 @@
)
(if
(i32.lt_u
- (get_local $3)
+ (get_local $8)
(i32.const 16)
)
(block
(i32.store offset=4
- (get_local $5)
+ (get_local $3)
(i32.or
(tee_local $2
(i32.add
- (get_local $3)
+ (get_local $8)
(get_local $9)
)
)
@@ -1238,7 +1238,7 @@
(tee_local $1
(i32.add
(i32.add
- (get_local $5)
+ (get_local $3)
(get_local $2)
)
(i32.const 4)
@@ -1254,25 +1254,25 @@
)
(block
(i32.store offset=4
- (get_local $5)
+ (get_local $3)
(i32.or
(get_local $9)
(i32.const 3)
)
)
(i32.store offset=4
- (get_local $7)
+ (get_local $6)
(i32.or
- (get_local $3)
+ (get_local $8)
(i32.const 1)
)
)
(i32.store
(i32.add
- (get_local $7)
- (get_local $3)
+ (get_local $6)
+ (get_local $8)
)
- (get_local $3)
+ (get_local $8)
)
(if
(tee_local $1
@@ -1290,7 +1290,7 @@
(i32.add
(i32.shl
(i32.shl
- (tee_local $8
+ (tee_local $7
(i32.shr_u
(get_local $1)
(i32.const 3)
@@ -1313,7 +1313,7 @@
(tee_local $11
(i32.shl
(i32.const 1)
- (get_local $8)
+ (get_local $7)
)
)
)
@@ -1321,7 +1321,7 @@
(i32.lt_u
(tee_local $10
(i32.load
- (tee_local $8
+ (tee_local $7
(i32.add
(get_local $1)
(i32.const 8)
@@ -1336,7 +1336,7 @@
(call $_abort)
(block
(set_local $39
- (get_local $8)
+ (get_local $7)
)
(set_local $32
(get_local $10)
@@ -1382,17 +1382,17 @@
)
(i32.store
(i32.const 184)
- (get_local $3)
+ (get_local $8)
)
(i32.store
(i32.const 196)
- (get_local $7)
+ (get_local $6)
)
)
)
(return
(i32.add
- (get_local $5)
+ (get_local $3)
(i32.const 8)
)
)
@@ -1465,7 +1465,7 @@
(i32.and
(i32.shr_u
(i32.add
- (tee_local $8
+ (tee_local $7
(i32.shl
(get_local $10)
(tee_local $1
@@ -1491,13 +1491,13 @@
)
(get_local $1)
)
- (tee_local $8
+ (tee_local $7
(i32.and
(i32.shr_u
(i32.add
(tee_local $17
(i32.shl
- (get_local $8)
+ (get_local $7)
(get_local $10)
)
)
@@ -1513,7 +1513,7 @@
(i32.shr_u
(i32.shl
(get_local $17)
- (get_local $8)
+ (get_local $7)
)
(i32.const 15)
)
@@ -1538,7 +1538,7 @@
)
)
(block
- (set_local $8
+ (set_local $7
(get_local $0)
)
(set_local $17
@@ -1566,7 +1566,7 @@
(set_local $10
(get_local $15)
)
- (set_local $6
+ (set_local $5
(i32.const 0)
)
(loop $while-in14
@@ -1585,7 +1585,7 @@
(get_local $2)
)
)
- (get_local $8)
+ (get_local $7)
)
(if
(i32.eq
@@ -1602,16 +1602,16 @@
(set_local $29
(get_local $10)
)
- (set_local $8
+ (set_local $7
(i32.const 90)
)
(br $label$break$L123)
)
(block
- (set_local $8
+ (set_local $7
(get_local $0)
)
- (set_local $6
+ (set_local $5
(get_local $10)
)
)
@@ -1660,15 +1660,15 @@
)
(block
(set_local $33
- (get_local $8)
+ (get_local $7)
)
- (set_local $7
+ (set_local $6
(get_local $19)
)
(set_local $30
- (get_local $6)
+ (get_local $5)
)
- (set_local $8
+ (set_local $7
(i32.const 86)
)
)
@@ -1697,13 +1697,13 @@
(set_local $33
(get_local $0)
)
- (set_local $7
+ (set_local $6
(i32.const 0)
)
(set_local $30
(i32.const 0)
)
- (set_local $8
+ (set_local $7
(i32.const 86)
)
)
@@ -1711,20 +1711,20 @@
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 86)
)
- (if
- (if i32
+ (block
+ (if
(i32.and
(i32.eqz
- (get_local $7)
+ (get_local $6)
)
(i32.eqz
(get_local $30)
)
)
- (block i32
+ (block
(if
(i32.eqz
(tee_local $0
@@ -1772,7 +1772,7 @@
(i32.const 16)
)
)
- (tee_local $7
+ (set_local $6
(i32.load offset=480
(i32.shl
(i32.add
@@ -1799,7 +1799,7 @@
(tee_local $9
(i32.and
(i32.shr_u
- (tee_local $7
+ (tee_local $6
(i32.shr_u
(get_local $9)
(get_local $15)
@@ -1811,12 +1811,12 @@
)
)
)
- (tee_local $7
+ (tee_local $6
(i32.and
(i32.shr_u
- (tee_local $6
+ (tee_local $5
(i32.shr_u
- (get_local $7)
+ (get_local $6)
(get_local $9)
)
)
@@ -1826,13 +1826,13 @@
)
)
)
- (tee_local $6
+ (tee_local $5
(i32.and
(i32.shr_u
(tee_local $1
(i32.shr_u
+ (get_local $5)
(get_local $6)
- (get_local $7)
)
)
(i32.const 1)
@@ -1843,7 +1843,7 @@
)
(i32.shr_u
(get_local $1)
- (get_local $6)
+ (get_local $5)
)
)
(i32.const 2)
@@ -1851,44 +1851,46 @@
)
)
)
- (get_local $7)
)
- (block
- (set_local $27
- (get_local $33)
- )
- (set_local $25
- (get_local $7)
- )
- (set_local $29
- (get_local $30)
- )
- (set_local $8
- (i32.const 90)
- )
- )
- (block
- (set_local $4
- (get_local $33)
+ (if
+ (get_local $6)
+ (block
+ (set_local $27
+ (get_local $33)
+ )
+ (set_local $25
+ (get_local $6)
+ )
+ (set_local $29
+ (get_local $30)
+ )
+ (set_local $7
+ (i32.const 90)
+ )
)
- (set_local $12
- (get_local $30)
+ (block
+ (set_local $3
+ (get_local $33)
+ )
+ (set_local $12
+ (get_local $30)
+ )
)
)
)
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 90)
)
(loop $while-in16
- (set_local $8
+ (set_local $7
(i32.const 0)
)
(set_local $1
(i32.lt_u
- (tee_local $6
+ (tee_local $5
(i32.sub
(i32.and
(i32.load offset=4
@@ -1902,14 +1904,14 @@
(get_local $27)
)
)
- (set_local $7
+ (set_local $6
(select
- (get_local $6)
+ (get_local $5)
(get_local $27)
(get_local $1)
)
)
- (set_local $6
+ (set_local $5
(select
(get_local $25)
(get_local $29)
@@ -1924,13 +1926,13 @@
)
(block
(set_local $27
- (get_local $7)
+ (get_local $6)
)
(set_local $25
(get_local $1)
)
(set_local $29
- (get_local $6)
+ (get_local $5)
)
(br $while-in16)
)
@@ -1943,19 +1945,19 @@
)
(block
(set_local $27
- (get_local $7)
+ (get_local $6)
)
(set_local $29
- (get_local $6)
+ (get_local $5)
)
(br $while-in16)
)
(block
- (set_local $4
- (get_local $7)
+ (set_local $3
+ (get_local $6)
)
(set_local $12
- (get_local $6)
+ (get_local $5)
)
)
)
@@ -1964,7 +1966,7 @@
(if
(select
(i32.lt_u
- (get_local $4)
+ (get_local $3)
(i32.sub
(i32.load
(i32.const 184)
@@ -1990,7 +1992,7 @@
(if
(i32.ge_u
(get_local $12)
- (tee_local $6
+ (tee_local $5
(i32.add
(get_local $12)
(get_local $2)
@@ -1999,7 +2001,7 @@
)
(call $_abort)
)
- (set_local $7
+ (set_local $6
(i32.load offset=24
(get_local $12)
)
@@ -2049,7 +2051,7 @@
(get_local $15)
)
(block
- (set_local $5
+ (set_local $8
(i32.const 0)
)
(br $do-once17)
@@ -2111,7 +2113,7 @@
(get_local $1)
(i32.const 0)
)
- (set_local $5
+ (set_local $8
(get_local $17)
)
)
@@ -2164,7 +2166,7 @@
(get_local $15)
(get_local $9)
)
- (set_local $5
+ (set_local $8
(get_local $1)
)
)
@@ -2175,7 +2177,7 @@
)
(block $do-once21
(if
- (get_local $7)
+ (get_local $6)
(block
(if
(i32.eq
@@ -2199,11 +2201,11 @@
(block
(i32.store
(get_local $11)
- (get_local $5)
+ (get_local $8)
)
(if
(i32.eqz
- (get_local $5)
+ (get_local $8)
)
(block
(i32.store
@@ -2228,7 +2230,7 @@
(block
(if
(i32.lt_u
- (get_local $7)
+ (get_local $6)
(i32.load
(i32.const 192)
)
@@ -2240,7 +2242,7 @@
(i32.load
(tee_local $1
(i32.add
- (get_local $7)
+ (get_local $6)
(i32.const 16)
)
)
@@ -2249,23 +2251,23 @@
)
(i32.store
(get_local $1)
- (get_local $5)
+ (get_local $8)
)
(i32.store offset=20
- (get_local $7)
- (get_local $5)
+ (get_local $6)
+ (get_local $8)
)
)
(br_if $do-once21
(i32.eqz
- (get_local $5)
+ (get_local $8)
)
)
)
)
(if
(i32.lt_u
- (get_local $5)
+ (get_local $8)
(tee_local $1
(i32.load
(i32.const 192)
@@ -2275,8 +2277,8 @@
(call $_abort)
)
(i32.store offset=24
- (get_local $5)
- (get_local $7)
+ (get_local $8)
+ (get_local $6)
)
(if
(tee_local $11
@@ -2292,12 +2294,12 @@
(call $_abort)
(block
(i32.store offset=16
- (get_local $5)
+ (get_local $8)
(get_local $11)
)
(i32.store offset=24
(get_local $11)
- (get_local $5)
+ (get_local $8)
)
)
)
@@ -2318,12 +2320,12 @@
(call $_abort)
(block
(i32.store offset=20
- (get_local $5)
+ (get_local $8)
(get_local $11)
)
(i32.store offset=24
(get_local $11)
- (get_local $5)
+ (get_local $8)
)
)
)
@@ -2334,7 +2336,7 @@
(block $do-once25
(if
(i32.ge_u
- (get_local $4)
+ (get_local $3)
(i32.const 16)
)
(block
@@ -2346,28 +2348,28 @@
)
)
(i32.store offset=4
- (get_local $6)
+ (get_local $5)
(i32.or
- (get_local $4)
+ (get_local $3)
(i32.const 1)
)
)
(i32.store
(i32.add
- (get_local $6)
- (get_local $4)
+ (get_local $5)
+ (get_local $3)
)
- (get_local $4)
+ (get_local $3)
)
- (set_local $7
+ (set_local $6
(i32.shr_u
- (get_local $4)
+ (get_local $3)
(i32.const 3)
)
)
(if
(i32.lt_u
- (get_local $4)
+ (get_local $3)
(i32.const 256)
)
(block
@@ -2375,7 +2377,7 @@
(i32.add
(i32.shl
(i32.shl
- (get_local $7)
+ (get_local $6)
(i32.const 1)
)
(i32.const 2)
@@ -2393,7 +2395,7 @@
(tee_local $9
(i32.shl
(i32.const 1)
- (get_local $7)
+ (get_local $6)
)
)
)
@@ -2401,7 +2403,7 @@
(i32.lt_u
(tee_local $15
(i32.load
- (tee_local $7
+ (tee_local $6
(i32.add
(get_local $11)
(i32.const 8)
@@ -2416,7 +2418,7 @@
(call $_abort)
(block
(set_local $16
- (get_local $7)
+ (get_local $6)
)
(set_local $26
(get_local $15)
@@ -2444,46 +2446,46 @@
)
(i32.store
(get_local $16)
- (get_local $6)
+ (get_local $5)
)
(i32.store offset=12
(get_local $26)
- (get_local $6)
+ (get_local $5)
)
(i32.store offset=8
- (get_local $6)
+ (get_local $5)
(get_local $26)
)
(i32.store offset=12
- (get_local $6)
+ (get_local $5)
(get_local $11)
)
(br $do-once25)
)
)
- (set_local $7
+ (set_local $6
(i32.add
(i32.shl
(tee_local $10
(if i32
(tee_local $11
(i32.shr_u
- (get_local $4)
+ (get_local $3)
(i32.const 8)
)
)
(if i32
(i32.gt_u
- (get_local $4)
+ (get_local $3)
(i32.const 16777215)
)
(i32.const 31)
(i32.or
(i32.and
(i32.shr_u
- (get_local $4)
+ (get_local $3)
(i32.add
- (tee_local $7
+ (tee_local $6
(i32.add
(i32.sub
(i32.const 14)
@@ -2553,7 +2555,7 @@
(i32.const 1)
)
(i32.shl
- (get_local $7)
+ (get_local $6)
(i32.const 1)
)
)
@@ -2567,13 +2569,13 @@
)
)
(i32.store offset=28
- (get_local $6)
+ (get_local $5)
(get_local $10)
)
(i32.store offset=4
(tee_local $1
(i32.add
- (get_local $6)
+ (get_local $5)
(i32.const 16)
)
)
@@ -2608,27 +2610,27 @@
)
)
(i32.store
- (get_local $7)
(get_local $6)
+ (get_local $5)
)
(i32.store offset=24
+ (get_local $5)
(get_local $6)
- (get_local $7)
)
(i32.store offset=12
- (get_local $6)
- (get_local $6)
+ (get_local $5)
+ (get_local $5)
)
(i32.store offset=8
- (get_local $6)
- (get_local $6)
+ (get_local $5)
+ (get_local $5)
)
(br $do-once25)
)
)
(set_local $15
(i32.shl
- (get_local $4)
+ (get_local $3)
(select
(i32.const 0)
(i32.sub
@@ -2647,7 +2649,7 @@
)
(set_local $1
(i32.load
- (get_local $7)
+ (get_local $6)
)
)
(loop $while-in28
@@ -2660,13 +2662,13 @@
)
(i32.const -8)
)
- (get_local $4)
+ (get_local $3)
)
(block
(set_local $14
(get_local $1)
)
- (set_local $8
+ (set_local $7
(i32.const 148)
)
(br $while-out27)
@@ -2675,7 +2677,7 @@
(if
(tee_local $9
(i32.load
- (tee_local $7
+ (tee_local $6
(i32.add
(i32.add
(get_local $1)
@@ -2706,12 +2708,12 @@
)
(block
(set_local $23
- (get_local $7)
+ (get_local $6)
)
(set_local $21
(get_local $1)
)
- (set_local $8
+ (set_local $7
(i32.const 145)
)
)
@@ -2720,7 +2722,7 @@
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 145)
)
(if
@@ -2734,25 +2736,25 @@
(block
(i32.store
(get_local $23)
- (get_local $6)
+ (get_local $5)
)
(i32.store offset=24
- (get_local $6)
+ (get_local $5)
(get_local $21)
)
(i32.store offset=12
- (get_local $6)
- (get_local $6)
+ (get_local $5)
+ (get_local $5)
)
(i32.store offset=8
- (get_local $6)
- (get_local $6)
+ (get_local $5)
+ (get_local $5)
)
)
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 148)
)
(if
@@ -2782,22 +2784,22 @@
(block
(i32.store offset=12
(get_local $15)
- (get_local $6)
+ (get_local $5)
)
(i32.store
(get_local $1)
- (get_local $6)
+ (get_local $5)
)
(i32.store offset=8
- (get_local $6)
+ (get_local $5)
(get_local $15)
)
(i32.store offset=12
- (get_local $6)
+ (get_local $5)
(get_local $14)
)
(i32.store offset=24
- (get_local $6)
+ (get_local $5)
(i32.const 0)
)
)
@@ -2812,7 +2814,7 @@
(i32.or
(tee_local $15
(i32.add
- (get_local $4)
+ (get_local $3)
(get_local $2)
)
)
@@ -2879,7 +2881,7 @@
)
(if
(i32.gt_u
- (tee_local $4
+ (tee_local $3
(i32.sub
(get_local $12)
(get_local $9)
@@ -2899,21 +2901,21 @@
)
(i32.store
(i32.const 184)
- (get_local $4)
+ (get_local $3)
)
(i32.store offset=4
(get_local $21)
(i32.or
- (get_local $4)
+ (get_local $3)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $21)
- (get_local $4)
+ (get_local $3)
)
- (get_local $4)
+ (get_local $3)
)
(i32.store offset=4
(get_local $14)
@@ -2940,7 +2942,7 @@
)
)
(i32.store
- (tee_local $4
+ (tee_local $3
(i32.add
(i32.add
(get_local $14)
@@ -2951,7 +2953,7 @@
)
(i32.or
(i32.load
- (get_local $4)
+ (get_local $3)
)
(i32.const 1)
)
@@ -2978,7 +2980,7 @@
(block
(i32.store
(i32.const 188)
- (tee_local $4
+ (tee_local $3
(i32.sub
(get_local $14)
(get_local $9)
@@ -3001,7 +3003,7 @@
(i32.store offset=4
(get_local $12)
(i32.or
- (get_local $4)
+ (get_local $3)
(i32.const 1)
)
)
@@ -3087,11 +3089,11 @@
)
(if
(i32.le_u
- (tee_local $4
+ (tee_local $3
(i32.and
(tee_local $21
(i32.add
- (tee_local $4
+ (tee_local $3
(i32.load
(i32.const 656)
)
@@ -3107,7 +3109,7 @@
(tee_local $23
(i32.sub
(i32.const 0)
- (get_local $4)
+ (get_local $3)
)
)
)
@@ -3134,7 +3136,7 @@
(i32.const 608)
)
)
- (get_local $4)
+ (get_local $3)
)
)
(get_local $26)
@@ -3155,12 +3157,12 @@
(if i32
(select
(i32.lt_u
- (get_local $4)
+ (get_local $3)
(i32.const 2147483647)
)
(i32.const 0)
(i32.eq
- (tee_local $8
+ (tee_local $7
(block $label$break$L257 i32
(if i32
(i32.and
@@ -3198,7 +3200,7 @@
(i32.add
(get_local $26)
(i32.load
- (tee_local $5
+ (tee_local $8
(i32.add
(get_local $16)
(i32.const 4)
@@ -3211,11 +3213,11 @@
(i32.const 0)
)
(block
- (set_local $7
+ (set_local $6
(get_local $16)
)
(set_local $1
- (get_local $5)
+ (get_local $8)
)
(br $while-out33)
)
@@ -3227,7 +3229,7 @@
)
)
)
- (set_local $8
+ (set_local $7
(i32.const 173)
)
(br $label$break$L259)
@@ -3250,14 +3252,14 @@
)
(if
(i32.eq
- (tee_local $5
+ (tee_local $8
(call $_sbrk
(get_local $16)
)
)
(i32.add
(i32.load
- (get_local $7)
+ (get_local $6)
)
(i32.load
(get_local $1)
@@ -3266,12 +3268,12 @@
)
(if
(i32.ne
- (get_local $5)
+ (get_local $8)
(i32.const -1)
)
(block
(set_local $20
- (get_local $5)
+ (get_local $8)
)
(set_local $22
(get_local $16)
@@ -3283,19 +3285,19 @@
)
(block
(set_local $13
- (get_local $5)
+ (get_local $8)
)
(set_local $18
(get_local $16)
)
- (set_local $8
+ (set_local $7
(i32.const 183)
)
)
)
)
)
- (set_local $8
+ (set_local $7
(i32.const 173)
)
)
@@ -3304,7 +3306,7 @@
(if
(if i32
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 173)
)
(i32.ne
@@ -3321,7 +3323,7 @@
(set_local $0
(if i32
(i32.and
- (tee_local $5
+ (tee_local $8
(i32.add
(tee_local $16
(i32.load
@@ -3337,12 +3339,12 @@
)
(i32.add
(i32.sub
- (get_local $4)
+ (get_local $3)
(get_local $2)
)
(i32.and
(i32.add
- (get_local $5)
+ (get_local $8)
(get_local $2)
)
(i32.sub
@@ -3351,7 +3353,7 @@
)
)
)
- (get_local $4)
+ (get_local $3)
)
)
(set_local $2
@@ -3385,7 +3387,7 @@
)
(i32.gt_u
(get_local $2)
- (tee_local $5
+ (tee_local $8
(i32.load
(i32.const 616)
)
@@ -3393,12 +3395,12 @@
)
)
(i32.const 0)
- (get_local $5)
+ (get_local $8)
)
)
(if
(i32.eq
- (tee_local $5
+ (tee_local $8
(call $_sbrk
(get_local $0)
)
@@ -3418,12 +3420,12 @@
)
(block
(set_local $13
- (get_local $5)
+ (get_local $8)
)
(set_local $18
(get_local $0)
)
- (set_local $8
+ (set_local $7
(i32.const 183)
)
)
@@ -3436,11 +3438,11 @@
(block $label$break$L279
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 183)
)
(block
- (set_local $5
+ (set_local $8
(i32.sub
(i32.const 0)
(get_local $18)
@@ -3498,19 +3500,19 @@
(block
(drop
(call $_sbrk
- (get_local $5)
+ (get_local $8)
)
)
(br $label$break$L279)
)
- (set_local $3
+ (set_local $4
(i32.add
(get_local $2)
(get_local $18)
)
)
)
- (set_local $3
+ (set_local $4
(get_local $18)
)
)
@@ -3524,7 +3526,7 @@
(get_local $13)
)
(set_local $22
- (get_local $3)
+ (get_local $4)
)
(br $label$break$L257
(i32.const 193)
@@ -3553,12 +3555,12 @@
)
(i32.and
(i32.lt_u
- (tee_local $3
+ (tee_local $4
(call $_sbrk
- (get_local $4)
+ (get_local $3)
)
)
- (tee_local $4
+ (tee_local $3
(call $_sbrk
(i32.const 0)
)
@@ -3566,11 +3568,11 @@
)
(i32.and
(i32.ne
- (get_local $3)
+ (get_local $4)
(i32.const -1)
)
(i32.ne
- (get_local $4)
+ (get_local $3)
(i32.const -1)
)
)
@@ -3580,8 +3582,8 @@
(i32.gt_u
(tee_local $13
(i32.sub
- (get_local $4)
(get_local $3)
+ (get_local $4)
)
)
(i32.add
@@ -3593,19 +3595,19 @@
)
(block
(set_local $20
- (get_local $3)
+ (get_local $4)
)
(set_local $22
(get_local $13)
)
- (set_local $8
+ (set_local $7
(i32.const 193)
)
)
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 193)
)
(block
@@ -3640,7 +3642,7 @@
)
)
(block
- (set_local $3
+ (set_local $4
(i32.const 624)
)
(loop $do-in
@@ -3649,16 +3651,16 @@
(i32.eq
(get_local $20)
(i32.add
- (tee_local $4
+ (tee_local $3
(i32.load
- (get_local $3)
+ (get_local $4)
)
)
(tee_local $12
(i32.load
(tee_local $18
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.const 4)
)
)
@@ -3668,7 +3670,7 @@
)
(block
(set_local $46
- (get_local $4)
+ (get_local $3)
)
(set_local $47
(get_local $18)
@@ -3677,18 +3679,18 @@
(get_local $12)
)
(set_local $49
- (get_local $3)
+ (get_local $4)
)
- (set_local $8
+ (set_local $7
(i32.const 203)
)
(br $do-out)
)
)
(br_if $do-in
- (tee_local $3
+ (tee_local $4
(i32.load offset=8
- (get_local $3)
+ (get_local $4)
)
)
)
@@ -3718,7 +3720,7 @@
)
(i32.const 0)
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 203)
)
)
@@ -3731,7 +3733,7 @@
(get_local $22)
)
)
- (set_local $3
+ (set_local $4
(i32.add
(get_local $13)
(tee_local $12
@@ -3739,7 +3741,7 @@
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $3
+ (tee_local $4
(i32.add
(get_local $13)
(i32.const 8)
@@ -3750,7 +3752,7 @@
)
(i32.const 0)
(i32.and
- (get_local $3)
+ (get_local $4)
(i32.const 7)
)
)
@@ -3770,14 +3772,14 @@
)
(i32.store
(i32.const 200)
- (get_local $3)
+ (get_local $4)
)
(i32.store
(i32.const 188)
(get_local $18)
)
(i32.store offset=4
- (get_local $3)
+ (get_local $4)
(i32.or
(get_local $18)
(i32.const 1)
@@ -3785,7 +3787,7 @@
)
(i32.store offset=4
(i32.add
- (get_local $3)
+ (get_local $4)
(get_local $18)
)
(i32.const 40)
@@ -3799,7 +3801,7 @@
(br $do-once40)
)
)
- (set_local $6
+ (set_local $5
(if i32
(i32.lt_u
(get_local $20)
@@ -3825,7 +3827,7 @@
(get_local $22)
)
)
- (set_local $3
+ (set_local $4
(i32.const 624)
)
(loop $while-in43
@@ -3833,27 +3835,27 @@
(if
(i32.eq
(i32.load
- (get_local $3)
+ (get_local $4)
)
(get_local $18)
)
(block
(set_local $50
- (get_local $3)
+ (get_local $4)
)
(set_local $40
- (get_local $3)
+ (get_local $4)
)
- (set_local $8
+ (set_local $7
(i32.const 211)
)
(br $while-out42)
)
)
(br_if $while-in43
- (tee_local $3
+ (tee_local $4
(i32.load offset=8
- (get_local $3)
+ (get_local $4)
)
)
)
@@ -3864,7 +3866,7 @@
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 211)
)
(if
@@ -3883,7 +3885,7 @@
(get_local $20)
)
(i32.store
- (tee_local $3
+ (tee_local $4
(i32.add
(get_local $40)
(i32.const 4)
@@ -3891,7 +3893,7 @@
)
(i32.add
(i32.load
- (get_local $3)
+ (get_local $4)
)
(get_local $22)
)
@@ -3903,7 +3905,7 @@
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $3
+ (tee_local $4
(i32.add
(get_local $20)
(i32.const 8)
@@ -3914,20 +3916,20 @@
)
(i32.const 0)
(i32.and
- (get_local $3)
+ (get_local $4)
(i32.const 7)
)
)
)
)
- (set_local $4
+ (set_local $3
(i32.add
(get_local $18)
(select
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $3
+ (tee_local $4
(i32.add
(get_local $18)
(i32.const 8)
@@ -3938,13 +3940,13 @@
)
(i32.const 0)
(i32.and
- (get_local $3)
+ (get_local $4)
(i32.const 7)
)
)
)
)
- (set_local $3
+ (set_local $4
(i32.add
(get_local $12)
(get_local $9)
@@ -3953,7 +3955,7 @@
(set_local $14
(i32.sub
(i32.sub
- (get_local $4)
+ (get_local $3)
(get_local $12)
)
(get_local $9)
@@ -3969,13 +3971,13 @@
(block $do-once44
(if
(i32.ne
- (get_local $4)
+ (get_local $3)
(get_local $13)
)
(block
(if
(i32.eq
- (get_local $4)
+ (get_local $3)
(i32.load
(i32.const 196)
)
@@ -3994,10 +3996,10 @@
)
(i32.store
(i32.const 196)
- (get_local $3)
+ (get_local $4)
)
(i32.store offset=4
- (get_local $3)
+ (get_local $4)
(i32.or
(get_local $0)
(i32.const 1)
@@ -4005,7 +4007,7 @@
)
(i32.store
(i32.add
- (get_local $3)
+ (get_local $4)
(get_local $0)
)
(get_local $0)
@@ -4013,527 +4015,529 @@
(br $do-once44)
)
)
- (i32.store
- (tee_local $7
- (i32.add
- (if i32
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.load offset=4
- (get_local $4)
- )
- )
- (i32.const 3)
- )
- (i32.const 1)
+ (if
+ (i32.eq
+ (i32.and
+ (tee_local $0
+ (i32.load offset=4
+ (get_local $3)
)
- (block i32
- (set_local $1
- (i32.and
- (get_local $0)
- (i32.const -8)
- )
- )
- (set_local $7
- (i32.shr_u
- (get_local $0)
- (i32.const 3)
+ )
+ (i32.const 3)
+ )
+ (i32.const 1)
+ )
+ (block
+ (set_local $1
+ (i32.and
+ (get_local $0)
+ (i32.const -8)
+ )
+ )
+ (set_local $6
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (block $label$break$L331
+ (if
+ (i32.ge_u
+ (get_local $0)
+ (i32.const 256)
+ )
+ (block
+ (set_local $23
+ (i32.load offset=24
+ (get_local $3)
)
)
- (block $label$break$L331
+ (block $do-once47
(if
- (i32.ge_u
- (get_local $0)
- (i32.const 256)
- )
- (block
- (set_local $23
- (i32.load offset=24
- (get_local $4)
+ (i32.eq
+ (tee_local $21
+ (i32.load offset=12
+ (get_local $3)
)
)
- (block $do-once47
- (if
- (i32.eq
- (tee_local $21
- (i32.load offset=12
- (get_local $4)
- )
- )
- (get_local $4)
- )
- (block
- (if
- (tee_local $10
- (i32.load
- (tee_local $2
- (i32.add
- (tee_local $5
- (i32.add
- (get_local $4)
- (i32.const 16)
- )
- )
- (i32.const 4)
- )
- )
- )
- )
- (block
- (set_local $0
- (get_local $10)
- )
- (set_local $5
- (get_local $2)
- )
- )
- (if
- (tee_local $16
- (i32.load
- (get_local $5)
- )
- )
- (set_local $0
- (get_local $16)
- )
- (block
- (set_local $24
- (i32.const 0)
- )
- (br $do-once47)
- )
- )
- )
- (loop $while-in50
- (if
- (tee_local $10
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $0)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (set_local $0
- (get_local $10)
- )
- (set_local $5
- (get_local $2)
- )
- (br $while-in50)
- )
- )
- (if
- (tee_local $10
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $0)
- (i32.const 16)
- )
- )
- )
- )
- (block
- (set_local $0
- (get_local $10)
- )
- (set_local $5
- (get_local $2)
+ (get_local $3)
+ )
+ (block
+ (if
+ (tee_local $10
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (tee_local $8
+ (i32.add
+ (get_local $3)
+ (i32.const 16)
)
- (br $while-in50)
)
+ (i32.const 4)
)
)
- (if
- (i32.lt_u
- (get_local $5)
- (get_local $6)
- )
- (call $_abort)
- (block
- (i32.store
- (get_local $5)
- (i32.const 0)
- )
- (set_local $24
- (get_local $0)
- )
- )
+ )
+ )
+ (block
+ (set_local $0
+ (get_local $10)
+ )
+ (set_local $8
+ (get_local $2)
+ )
+ )
+ (if
+ (tee_local $16
+ (i32.load
+ (get_local $8)
)
)
+ (set_local $0
+ (get_local $16)
+ )
(block
- (if
- (i32.lt_u
- (tee_local $2
- (i32.load offset=8
- (get_local $4)
- )
- )
- (get_local $6)
- )
- (call $_abort)
- )
- (if
- (i32.ne
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $2)
- (i32.const 12)
- )
- )
- )
- (get_local $4)
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $21)
- (i32.const 8)
- )
- )
- )
- (get_local $4)
- )
- (block
- (i32.store
- (get_local $10)
- (get_local $21)
- )
- (i32.store
- (get_local $5)
- (get_local $2)
- )
- (set_local $24
- (get_local $21)
- )
- )
- (call $_abort)
+ (set_local $24
+ (i32.const 0)
)
+ (br $do-once47)
)
)
)
- (br_if $label$break$L331
- (i32.eqz
- (get_local $23)
- )
- )
- (block $do-once51
+ (loop $while-in50
(if
- (i32.ne
- (get_local $4)
+ (tee_local $10
(i32.load
(tee_local $2
(i32.add
- (i32.shl
- (tee_local $21
- (i32.load offset=28
- (get_local $4)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
+ (get_local $0)
+ (i32.const 20)
)
)
)
)
(block
- (if
- (i32.lt_u
- (get_local $23)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
+ (set_local $0
+ (get_local $10)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $23)
- (i32.const 16)
- )
- )
- )
- (get_local $4)
- )
- (i32.store
- (get_local $5)
- (get_local $24)
- )
- (i32.store offset=20
- (get_local $23)
- (get_local $24)
- )
+ (set_local $8
+ (get_local $2)
)
- (br_if $label$break$L331
- (i32.eqz
- (get_local $24)
+ (br $while-in50)
+ )
+ )
+ (if
+ (tee_local $10
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
)
)
)
(block
- (i32.store
- (get_local $2)
- (get_local $24)
- )
- (br_if $do-once51
- (get_local $24)
+ (set_local $0
+ (get_local $10)
)
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $21)
- )
- (i32.const -1)
- )
- )
+ (set_local $8
+ (get_local $2)
)
- (br $label$break$L331)
+ (br $while-in50)
)
)
)
(if
(i32.lt_u
- (get_local $24)
- (tee_local $21
- (i32.load
- (i32.const 192)
+ (get_local $8)
+ (get_local $5)
+ )
+ (call $_abort)
+ (block
+ (i32.store
+ (get_local $8)
+ (i32.const 0)
+ )
+ (set_local $24
+ (get_local $0)
+ )
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $3)
)
)
+ (get_local $5)
)
(call $_abort)
)
- (i32.store offset=24
- (get_local $24)
- (get_local $23)
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $2)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $3)
+ )
+ (call $_abort)
)
(if
- (tee_local $5
+ (i32.eq
(i32.load
- (tee_local $2
+ (tee_local $8
(i32.add
- (get_local $4)
- (i32.const 16)
+ (get_local $21)
+ (i32.const 8)
)
)
)
+ (get_local $3)
)
- (if
- (i32.lt_u
- (get_local $5)
+ (block
+ (i32.store
+ (get_local $10)
(get_local $21)
)
- (call $_abort)
- (block
- (i32.store offset=16
- (get_local $24)
- (get_local $5)
- )
- (i32.store offset=24
- (get_local $5)
- (get_local $24)
- )
+ (i32.store
+ (get_local $8)
+ (get_local $2)
+ )
+ (set_local $24
+ (get_local $21)
)
)
+ (call $_abort)
)
- (br_if $label$break$L331
- (i32.eqz
- (tee_local $5
- (i32.load offset=4
- (get_local $2)
+ )
+ )
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (get_local $23)
+ )
+ )
+ (block $do-once51
+ (if
+ (i32.ne
+ (get_local $3)
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $21
+ (i32.load offset=28
+ (get_local $3)
+ )
+ )
+ (i32.const 2)
)
+ (i32.const 480)
)
)
)
+ )
+ (block
(if
(i32.lt_u
- (get_local $5)
+ (get_local $23)
(i32.load
(i32.const 192)
)
)
(call $_abort)
- (block
- (i32.store offset=20
- (get_local $24)
- (get_local $5)
- )
- (i32.store offset=24
- (get_local $5)
- (get_local $24)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (get_local $23)
+ (i32.const 16)
+ )
+ )
)
+ (get_local $3)
+ )
+ (i32.store
+ (get_local $8)
+ (get_local $24)
+ )
+ (i32.store offset=20
+ (get_local $23)
+ (get_local $24)
+ )
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (get_local $24)
)
)
)
(block
- (set_local $21
- (i32.load offset=12
- (get_local $4)
- )
+ (i32.store
+ (get_local $2)
+ (get_local $24)
)
- (block $do-once55
- (if
- (i32.ne
- (tee_local $5
- (i32.load offset=8
- (get_local $4)
- )
- )
- (tee_local $23
- (i32.add
- (i32.shl
- (i32.shl
- (get_local $7)
- (i32.const 1)
- )
- (i32.const 2)
- )
- (i32.const 216)
- )
- )
+ (br_if $do-once51
+ (get_local $24)
+ )
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
)
- (block
- (if
- (i32.lt_u
- (get_local $5)
- (get_local $6)
- )
- (call $_abort)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $21)
)
- (br_if $do-once55
- (i32.eq
- (i32.load offset=12
- (get_local $5)
- )
- (get_local $4)
- )
+ (i32.const -1)
+ )
+ )
+ )
+ (br $label$break$L331)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $24)
+ (tee_local $21
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (get_local $24)
+ (get_local $23)
+ )
+ (if
+ (tee_local $8
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $3)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $8)
+ (get_local $21)
+ )
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (get_local $24)
+ (get_local $8)
+ )
+ (i32.store offset=24
+ (get_local $8)
+ (get_local $24)
+ )
+ )
+ )
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (tee_local $8
+ (i32.load offset=4
+ (get_local $2)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $8)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (get_local $24)
+ (get_local $8)
+ )
+ (i32.store offset=24
+ (get_local $8)
+ (get_local $24)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $21
+ (i32.load offset=12
+ (get_local $3)
+ )
+ )
+ (block $do-once55
+ (if
+ (i32.ne
+ (tee_local $8
+ (i32.load offset=8
+ (get_local $3)
+ )
+ )
+ (tee_local $23
+ (i32.add
+ (i32.shl
+ (i32.shl
+ (get_local $6)
+ (i32.const 1)
)
- (call $_abort)
+ (i32.const 2)
)
+ (i32.const 216)
)
)
+ )
+ (block
(if
- (i32.eq
- (get_local $21)
+ (i32.lt_u
+ (get_local $8)
(get_local $5)
)
- (block
- (i32.store
- (i32.const 176)
- (i32.and
- (i32.load
- (i32.const 176)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $7)
- )
- (i32.const -1)
- )
- )
+ (call $_abort)
+ )
+ (br_if $do-once55
+ (i32.eq
+ (i32.load offset=12
+ (get_local $8)
)
- (br $label$break$L331)
+ (get_local $3)
)
)
- (block $do-once57
- (if
- (i32.eq
- (get_local $21)
- (get_local $23)
- )
- (set_local $41
- (i32.add
- (get_local $21)
- (i32.const 8)
- )
+ (call $_abort)
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $21)
+ (get_local $8)
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (i32.load
+ (i32.const 176)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $6)
)
- (block
- (if
- (i32.lt_u
+ (i32.const -1)
+ )
+ )
+ )
+ (br $label$break$L331)
+ )
+ )
+ (block $do-once57
+ (if
+ (i32.eq
+ (get_local $21)
+ (get_local $23)
+ )
+ (set_local $41
+ (i32.add
+ (get_local $21)
+ (i32.const 8)
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $21)
+ (get_local $5)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $2
+ (i32.add
(get_local $21)
- (get_local $6)
+ (i32.const 8)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $21)
- (i32.const 8)
- )
- )
- )
- (get_local $4)
- )
- (block
- (set_local $41
- (get_local $2)
- )
- (br $do-once57)
- )
- )
- (call $_abort)
)
+ (get_local $3)
+ )
+ (block
+ (set_local $41
+ (get_local $2)
+ )
+ (br $do-once57)
)
)
- (i32.store offset=12
- (get_local $5)
- (get_local $21)
- )
- (i32.store
- (get_local $41)
- (get_local $5)
- )
+ (call $_abort)
)
)
)
- (set_local $14
- (i32.add
- (get_local $1)
- (get_local $14)
- )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $21)
)
- (i32.add
- (get_local $4)
- (get_local $1)
+ (i32.store
+ (get_local $41)
+ (get_local $8)
)
)
- (get_local $4)
)
+ )
+ (set_local $3
+ (i32.add
+ (get_local $3)
+ (get_local $1)
+ )
+ )
+ (set_local $14
+ (i32.add
+ (get_local $1)
+ (get_local $14)
+ )
+ )
+ )
+ )
+ (i32.store
+ (tee_local $6
+ (i32.add
+ (get_local $3)
(i32.const 4)
)
)
(i32.and
(i32.load
- (get_local $7)
+ (get_local $6)
)
(i32.const -2)
)
)
(i32.store offset=4
- (get_local $3)
+ (get_local $4)
(i32.or
(get_local $14)
(i32.const 1)
@@ -4541,12 +4545,12 @@
)
(i32.store
(i32.add
- (get_local $3)
+ (get_local $4)
(get_local $14)
)
(get_local $14)
)
- (set_local $7
+ (set_local $6
(i32.shr_u
(get_local $14)
(i32.const 3)
@@ -4562,7 +4566,7 @@
(i32.add
(i32.shl
(i32.shl
- (get_local $7)
+ (get_local $6)
(i32.const 1)
)
(i32.const 2)
@@ -4581,7 +4585,7 @@
(tee_local $2
(i32.shl
(i32.const 1)
- (get_local $7)
+ (get_local $6)
)
)
)
@@ -4590,7 +4594,7 @@
(i32.ge_u
(tee_local $10
(i32.load
- (tee_local $7
+ (tee_local $6
(i32.add
(get_local $0)
(i32.const 8)
@@ -4604,7 +4608,7 @@
)
(block
(set_local $42
- (get_local $7)
+ (get_local $6)
)
(set_local $34
(get_local $10)
@@ -4636,18 +4640,18 @@
)
(i32.store
(get_local $42)
- (get_local $3)
+ (get_local $4)
)
(i32.store offset=12
(get_local $34)
- (get_local $3)
+ (get_local $4)
)
(i32.store offset=8
- (get_local $3)
+ (get_local $4)
(get_local $34)
)
(i32.store offset=12
- (get_local $3)
+ (get_local $4)
(get_local $0)
)
(br $do-once44)
@@ -4720,7 +4724,7 @@
(i32.and
(i32.shr_u
(i32.add
- (tee_local $7
+ (tee_local $6
(i32.shl
(get_local $1)
(get_local $10)
@@ -4737,7 +4741,7 @@
)
(i32.shr_u
(i32.shl
- (get_local $7)
+ (get_local $6)
(get_local $1)
)
(i32.const 15)
@@ -4765,13 +4769,13 @@
)
)
(i32.store offset=28
- (get_local $3)
+ (get_local $4)
(get_local $1)
)
(i32.store offset=4
(tee_local $0
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.const 16)
)
)
@@ -4807,19 +4811,19 @@
)
(i32.store
(get_local $2)
- (get_local $3)
+ (get_local $4)
)
(i32.store offset=24
- (get_local $3)
+ (get_local $4)
(get_local $2)
)
(i32.store offset=12
- (get_local $3)
- (get_local $3)
+ (get_local $4)
+ (get_local $4)
)
(i32.store offset=8
- (get_local $3)
- (get_local $3)
+ (get_local $4)
+ (get_local $4)
)
(br $do-once44)
)
@@ -4864,7 +4868,7 @@
(set_local $35
(get_local $0)
)
- (set_local $8
+ (set_local $7
(i32.const 281)
)
(br $while-out63)
@@ -4909,7 +4913,7 @@
(set_local $51
(get_local $0)
)
- (set_local $8
+ (set_local $7
(i32.const 278)
)
)
@@ -4918,7 +4922,7 @@
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 278)
)
(if
@@ -4932,25 +4936,25 @@
(block
(i32.store
(get_local $43)
- (get_local $3)
+ (get_local $4)
)
(i32.store offset=24
- (get_local $3)
+ (get_local $4)
(get_local $51)
)
(i32.store offset=12
- (get_local $3)
- (get_local $3)
+ (get_local $4)
+ (get_local $4)
)
(i32.store offset=8
- (get_local $3)
- (get_local $3)
+ (get_local $4)
+ (get_local $4)
)
)
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 281)
)
(if
@@ -4980,22 +4984,22 @@
(block
(i32.store offset=12
(get_local $16)
- (get_local $3)
+ (get_local $4)
)
(i32.store
(get_local $0)
- (get_local $3)
+ (get_local $4)
)
(i32.store offset=8
- (get_local $3)
+ (get_local $4)
(get_local $16)
)
(i32.store offset=12
- (get_local $3)
+ (get_local $4)
(get_local $35)
)
(i32.store offset=24
- (get_local $3)
+ (get_local $4)
(i32.const 0)
)
)
@@ -5018,10 +5022,10 @@
)
(i32.store
(i32.const 200)
- (get_local $3)
+ (get_local $4)
)
(i32.store offset=4
- (get_local $3)
+ (get_local $4)
(i32.or
(get_local $16)
(i32.const 1)
@@ -5043,7 +5047,7 @@
(if
(if i32
(i32.le_u
- (tee_local $3
+ (tee_local $4
(i32.load
(get_local $28)
)
@@ -5053,7 +5057,7 @@
(i32.gt_u
(tee_local $14
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.load offset=4
(get_local $28)
)
@@ -5087,12 +5091,12 @@
(i32.const 8)
)
)
- (set_local $3
+ (set_local $4
(i32.add
(tee_local $12
(select
(get_local $13)
- (tee_local $3
+ (tee_local $4
(i32.add
(get_local $12)
(select
@@ -5112,7 +5116,7 @@
)
)
(i32.lt_u
- (get_local $3)
+ (get_local $4)
(tee_local $14
(i32.add
(get_local $13)
@@ -5127,7 +5131,7 @@
)
(i32.store
(i32.const 200)
- (tee_local $4
+ (tee_local $3
(i32.add
(get_local $20)
(tee_local $18
@@ -5135,7 +5139,7 @@
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $4
+ (tee_local $3
(i32.add
(get_local $20)
(i32.const 8)
@@ -5146,7 +5150,7 @@
)
(i32.const 0)
(i32.and
- (get_local $4)
+ (get_local $3)
(i32.const 7)
)
)
@@ -5167,7 +5171,7 @@
)
)
(i32.store offset=4
- (get_local $4)
+ (get_local $3)
(i32.or
(get_local $16)
(i32.const 1)
@@ -5175,7 +5179,7 @@
)
(i32.store offset=4
(i32.add
- (get_local $4)
+ (get_local $3)
(get_local $16)
)
(i32.const 40)
@@ -5196,25 +5200,25 @@
(i32.const 27)
)
(i32.store
- (get_local $3)
+ (get_local $4)
(i32.load
(i32.const 624)
)
)
(i32.store offset=4
- (get_local $3)
+ (get_local $4)
(i32.load
(i32.const 628)
)
)
(i32.store offset=8
- (get_local $3)
+ (get_local $4)
(i32.load
(i32.const 632)
)
)
(i32.store offset=12
- (get_local $3)
+ (get_local $4)
(i32.load
(i32.const 636)
)
@@ -5233,9 +5237,9 @@
)
(i32.store
(i32.const 632)
- (get_local $3)
+ (get_local $4)
)
- (set_local $3
+ (set_local $4
(i32.add
(get_local $12)
(i32.const 24)
@@ -5243,9 +5247,9 @@
)
(loop $do-in68
(i32.store
- (tee_local $3
+ (tee_local $4
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.const 4)
)
)
@@ -5254,7 +5258,7 @@
(br_if $do-in68
(i32.lt_u
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.const 4)
)
(get_local $0)
@@ -5279,7 +5283,7 @@
(i32.store offset=4
(get_local $13)
(i32.or
- (tee_local $3
+ (tee_local $4
(i32.sub
(get_local $12)
(get_local $13)
@@ -5290,17 +5294,17 @@
)
(i32.store
(get_local $12)
- (get_local $3)
+ (get_local $4)
)
- (set_local $4
+ (set_local $3
(i32.shr_u
- (get_local $3)
+ (get_local $4)
(i32.const 3)
)
)
(if
(i32.lt_u
- (get_local $3)
+ (get_local $4)
(i32.const 256)
)
(block
@@ -5308,7 +5312,7 @@
(i32.add
(i32.shl
(i32.shl
- (get_local $4)
+ (get_local $3)
(i32.const 1)
)
(i32.const 2)
@@ -5326,7 +5330,7 @@
(tee_local $1
(i32.shl
(i32.const 1)
- (get_local $4)
+ (get_local $3)
)
)
)
@@ -5334,7 +5338,7 @@
(i32.lt_u
(tee_local $2
(i32.load
- (tee_local $4
+ (tee_local $3
(i32.add
(get_local $18)
(i32.const 8)
@@ -5349,7 +5353,7 @@
(call $_abort)
(block
(set_local $44
- (get_local $4)
+ (get_local $3)
)
(set_local $36
(get_local $2)
@@ -5394,29 +5398,29 @@
(br $do-once40)
)
)
- (set_local $4
+ (set_local $3
(i32.add
(i32.shl
(tee_local $1
(if i32
(tee_local $18
(i32.shr_u
- (get_local $3)
+ (get_local $4)
(i32.const 8)
)
)
(if i32
(i32.gt_u
- (get_local $3)
+ (get_local $4)
(i32.const 16777215)
)
(i32.const 31)
(i32.or
(i32.and
(i32.shr_u
- (get_local $3)
+ (get_local $4)
(i32.add
- (tee_local $4
+ (tee_local $3
(i32.add
(i32.sub
(i32.const 14)
@@ -5486,7 +5490,7 @@
(i32.const 1)
)
(i32.shl
- (get_local $4)
+ (get_local $3)
(i32.const 1)
)
)
@@ -5536,12 +5540,12 @@
)
)
(i32.store
- (get_local $4)
+ (get_local $3)
(get_local $13)
)
(i32.store offset=24
(get_local $13)
- (get_local $4)
+ (get_local $3)
)
(i32.store offset=12
(get_local $13)
@@ -5556,7 +5560,7 @@
)
(set_local $2
(i32.shl
- (get_local $3)
+ (get_local $4)
(select
(i32.const 0)
(i32.sub
@@ -5575,7 +5579,7 @@
)
(set_local $0
(i32.load
- (get_local $4)
+ (get_local $3)
)
)
(loop $while-in70
@@ -5588,13 +5592,13 @@
)
(i32.const -8)
)
- (get_local $3)
+ (get_local $4)
)
(block
(set_local $37
(get_local $0)
)
- (set_local $8
+ (set_local $7
(i32.const 307)
)
(br $while-out69)
@@ -5603,7 +5607,7 @@
(if
(tee_local $1
(i32.load
- (tee_local $4
+ (tee_local $3
(i32.add
(i32.add
(get_local $0)
@@ -5634,12 +5638,12 @@
)
(block
(set_local $45
- (get_local $4)
+ (get_local $3)
)
(set_local $52
(get_local $0)
)
- (set_local $8
+ (set_local $7
(i32.const 304)
)
)
@@ -5648,7 +5652,7 @@
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 304)
)
(if
@@ -5680,7 +5684,7 @@
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 307)
)
(if
@@ -5696,7 +5700,7 @@
)
)
)
- (tee_local $3
+ (tee_local $4
(i32.load
(i32.const 192)
)
@@ -5704,7 +5708,7 @@
)
(i32.ge_u
(get_local $37)
- (get_local $3)
+ (get_local $4)
)
)
(block
@@ -5844,7 +5848,7 @@
)
(i32.store
(i32.const 188)
- (tee_local $3
+ (tee_local $4
(i32.sub
(i32.add
(get_local $22)
@@ -5857,14 +5861,14 @@
(i32.store offset=4
(get_local $2)
(i32.or
- (get_local $3)
+ (get_local $4)
(i32.const 1)
)
)
(i32.store offset=4
(i32.add
(get_local $2)
- (get_local $3)
+ (get_local $4)
)
(i32.const 40)
)
@@ -7825,7 +7829,7 @@
(get_local $10)
)
(i32.store
- (tee_local $4
+ (tee_local $3
(i32.add
(get_local $10)
(i32.const 32)
@@ -7843,7 +7847,7 @@
)
)
(i32.store offset=4
- (get_local $4)
+ (get_local $3)
(tee_local $9
(i32.sub
(i32.load
@@ -7859,11 +7863,11 @@
)
)
(i32.store offset=8
- (get_local $4)
+ (get_local $3)
(get_local $1)
)
(i32.store offset=12
- (get_local $4)
+ (get_local $3)
(get_local $2)
)
(set_local $1
@@ -7878,13 +7882,13 @@
(i32.const 44)
)
)
- (set_local $5
- (get_local $4)
- )
(set_local $4
- (i32.const 2)
+ (get_local $3)
)
(set_local $3
+ (i32.const 2)
+ )
+ (set_local $5
(i32.add
(get_local $9)
(get_local $2)
@@ -7894,7 +7898,7 @@
(block $while-out
(if
(i32.eq
- (get_local $3)
+ (get_local $5)
(tee_local $6
(if i32
(i32.load
@@ -7913,11 +7917,11 @@
)
(i32.store offset=4
(get_local $12)
- (get_local $5)
+ (get_local $4)
)
(i32.store offset=8
(get_local $12)
- (get_local $4)
+ (get_local $3)
)
(set_local $9
(call $___syscall_ret
@@ -7941,11 +7945,11 @@
)
(i32.store offset=4
(get_local $11)
- (get_local $5)
+ (get_local $4)
)
(i32.store offset=8
(get_local $11)
- (get_local $4)
+ (get_local $3)
)
(call $___syscall_ret
(call $___syscall146
@@ -7971,124 +7975,114 @@
)
(block
(set_local $16
- (get_local $5)
+ (get_local $4)
)
(set_local $17
- (get_local $4)
+ (get_local $3)
)
(set_local $1
(i32.const 8)
)
+ (br $while-out)
)
- (block
- (set_local $9
- (i32.sub
- (get_local $3)
- (get_local $6)
+ )
+ (set_local $9
+ (i32.sub
+ (get_local $5)
+ (get_local $6)
+ )
+ )
+ (if
+ (i32.le_u
+ (get_local $6)
+ (tee_local $14
+ (i32.load offset=4
+ (get_local $4)
)
)
- (set_local $5
- (if i32
- (i32.le_u
- (get_local $6)
- (tee_local $14
- (i32.load offset=4
- (get_local $5)
- )
- )
- )
- (if i32
- (i32.eq
- (get_local $4)
- (i32.const 2)
- )
- (block i32
- (i32.store
+ )
+ (set_local $5
+ (if i32
+ (i32.eq
+ (get_local $3)
+ (i32.const 2)
+ )
+ (block i32
+ (i32.store
+ (get_local $8)
+ (i32.add
+ (i32.load
(get_local $8)
- (i32.add
- (i32.load
- (get_local $8)
- )
- (get_local $6)
- )
- )
- (set_local $3
- (get_local $5)
)
- (set_local $4
- (i32.const 2)
- )
- (get_local $14)
- )
- (block i32
- (set_local $3
- (get_local $5)
- )
- (get_local $14)
+ (get_local $6)
)
)
- (block i32
- (i32.store
- (get_local $8)
- (tee_local $3
- (i32.load
- (get_local $7)
- )
- )
- )
- (i32.store
- (get_local $13)
- (get_local $3)
- )
- (set_local $6
- (i32.sub
- (get_local $6)
- (get_local $14)
- )
- )
- (set_local $3
- (i32.add
- (get_local $5)
- (i32.const 8)
- )
- )
- (set_local $4
- (i32.add
- (get_local $4)
- (i32.const -1)
- )
- )
- (i32.load offset=12
- (get_local $5)
- )
+ (set_local $3
+ (i32.const 2)
)
+ (get_local $14)
)
+ (get_local $14)
)
+ )
+ (block
(i32.store
- (get_local $3)
- (i32.add
+ (get_local $8)
+ (tee_local $5
(i32.load
- (get_local $3)
+ (get_local $7)
)
- (get_local $6)
)
)
- (i32.store offset=4
- (get_local $3)
+ (i32.store
+ (get_local $13)
+ (get_local $5)
+ )
+ (set_local $5
+ (i32.load offset=12
+ (get_local $4)
+ )
+ )
+ (set_local $6
(i32.sub
- (get_local $5)
(get_local $6)
+ (get_local $14)
)
)
- (set_local $5
- (get_local $3)
+ (set_local $4
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
(set_local $3
- (get_local $9)
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
+ )
)
- (br $while-in)
)
)
+ (i32.store
+ (get_local $4)
+ (i32.add
+ (i32.load
+ (get_local $4)
+ )
+ (get_local $6)
+ )
+ )
+ (i32.store offset=4
+ (get_local $4)
+ (i32.sub
+ (get_local $5)
+ (get_local $6)
+ )
+ )
+ (set_local $5
+ (get_local $9)
+ )
+ (br $while-in)
)
)
(if
@@ -8100,7 +8094,7 @@
(i32.store offset=16
(get_local $0)
(i32.add
- (tee_local $3
+ (tee_local $5
(i32.load
(get_local $7)
)
@@ -8113,7 +8107,7 @@
(i32.store
(get_local $8)
(tee_local $7
- (get_local $3)
+ (get_local $5)
)
)
(i32.store
@@ -8265,107 +8259,99 @@
(set_local $4
(get_local $3)
)
- (set_local $1
- (block $label$break$L10 i32
- (if i32
- (i32.gt_s
- (i32.load8_s offset=75
- (get_local $2)
- )
- (i32.const -1)
+ (block $label$break$L10
+ (if
+ (i32.gt_s
+ (i32.load8_s offset=75
+ (get_local $2)
)
- (block i32
- (set_local $3
- (get_local $1)
- )
- (loop $while-in
- (if
- (i32.eqz
- (get_local $3)
- )
- (block
- (set_local $2
- (i32.const 0)
- )
- (br $label$break$L10
- (get_local $1)
- )
- )
+ (i32.const -1)
+ )
+ (block
+ (set_local $3
+ (get_local $1)
+ )
+ (loop $while-in
+ (if
+ (i32.eqz
+ (get_local $3)
)
- (if
- (i32.ne
- (i32.load8_s
- (i32.add
- (get_local $0)
- (tee_local $6
- (i32.add
- (get_local $3)
- (i32.const -1)
- )
- )
- )
- )
- (i32.const 10)
- )
- (block
- (set_local $3
- (get_local $6)
- )
- (br $while-in)
+ (block
+ (set_local $3
+ (i32.const 0)
)
+ (br $label$break$L10)
)
)
(if
- (i32.lt_u
- (call_indirect $FUNCSIG$iiii
- (get_local $2)
- (get_local $0)
- (get_local $3)
+ (i32.ne
+ (i32.load8_s
(i32.add
- (i32.and
- (i32.load offset=36
- (get_local $2)
+ (get_local $0)
+ (tee_local $6
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
)
- (i32.const 7)
)
- (i32.const 2)
)
)
- (get_local $3)
+ (i32.const 10)
)
(block
- (set_local $4
- (get_local $3)
+ (set_local $3
+ (get_local $6)
)
- (br $label$break$L5)
+ (br $while-in)
)
)
- (set_local $0
- (i32.add
+ )
+ (if
+ (i32.lt_u
+ (call_indirect $FUNCSIG$iiii
+ (get_local $2)
(get_local $0)
(get_local $3)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $2)
+ )
+ (i32.const 7)
+ )
+ (i32.const 2)
+ )
)
+ (get_local $3)
)
- (set_local $4
- (i32.load
- (get_local $5)
+ (block
+ (set_local $4
+ (get_local $3)
)
+ (br $label$break$L5)
)
- (set_local $2
- (get_local $3)
- )
+ )
+ (set_local $1
(i32.sub
(get_local $1)
(get_local $3)
)
)
- (block i32
- (set_local $2
- (i32.const 0)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (get_local $3)
+ )
+ )
+ (set_local $4
+ (i32.load
+ (get_local $5)
)
- (get_local $1)
)
)
+ (set_local $3
+ (i32.const 0)
+ )
)
)
(drop
@@ -8386,7 +8372,7 @@
)
(set_local $4
(i32.add
- (get_local $2)
+ (get_local $3)
(get_local $1)
)
)
@@ -8398,10 +8384,10 @@
(func $_fflush (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
- (block $do-once i32
- (if i32
+ (block $do-once
+ (if
(get_local $0)
- (block i32
+ (block
(if
(i32.le_s
(i32.load offset=76
@@ -8409,10 +8395,13 @@
)
(i32.const -1)
)
- (br $do-once
- (call $___fflush_unlocked
- (get_local $0)
+ (block
+ (set_local $2
+ (call $___fflush_unlocked
+ (get_local $0)
+ )
)
+ (br $do-once)
)
)
(set_local $1
@@ -8427,18 +8416,16 @@
(get_local $0)
)
)
- (if i32
- (get_local $1)
- (get_local $2)
- (block i32
- (call $___unlockfile
- (get_local $0)
- )
- (get_local $2)
+ (if
+ (i32.eqz
+ (get_local $1)
+ )
+ (call $___unlockfile
+ (get_local $0)
)
)
)
- (block i32
+ (block
(set_local $0
(if i32
(i32.load
@@ -8514,19 +8501,19 @@
)
)
)
- (set_local $0
- (get_local $2)
- )
)
)
+ (set_local $2
+ (get_local $0)
+ )
)
(call $___unlock
(i32.const 36)
)
- (get_local $0)
)
)
)
+ (get_local $2)
)
(func $_strlen (param $0 i32) (result i32)
(local $1 i32)
@@ -8573,13 +8560,11 @@
(i32.const 3)
)
)
- (block
- (set_local $1
- (get_local $0)
- )
- (set_local $2
- (i32.const 4)
- )
+ (set_local $1
+ (get_local $0)
+ )
+ (set_local $2
+ (i32.const 4)
)
)
)
@@ -8841,117 +8826,119 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
- (if i32
+ (tee_local $0
(if i32
- (i32.gt_u
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 20)
+ (if i32
+ (i32.gt_u
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 20)
+ )
)
)
- )
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $0)
- (i32.const 28)
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $0)
+ (i32.const 28)
+ )
)
)
)
- )
- (block i32
- (drop
- (call_indirect $FUNCSIG$iiii
- (get_local $0)
- (i32.const 0)
- (i32.const 0)
- (i32.add
- (i32.and
- (i32.load offset=36
- (get_local $0)
+ (block i32
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $0)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (i32.eqz
- (i32.load
- (get_local $1)
+ (i32.eqz
+ (i32.load
+ (get_local $1)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (i32.const -1)
- (block i32
- (if
- (i32.lt_u
- (tee_local $4
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $0)
- (i32.const 4)
+ (i32.const -1)
+ (block i32
+ (if
+ (i32.lt_u
+ (tee_local $4
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
)
)
)
- )
- (tee_local $6
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $0)
- (i32.const 8)
+ (tee_local $6
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
)
)
)
)
- )
- (drop
- (call_indirect $FUNCSIG$iiii
- (get_local $0)
- (i32.sub
- (get_local $4)
- (get_local $6)
- )
- (i32.const 1)
- (i32.add
- (i32.and
- (i32.load offset=40
- (get_local $0)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.sub
+ (get_local $4)
+ (get_local $6)
+ )
+ (i32.const 1)
+ (i32.add
+ (i32.and
+ (i32.load offset=40
+ (get_local $0)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.store offset=16
- (get_local $0)
- (i32.const 0)
- )
- (i32.store
- (get_local $2)
- (i32.const 0)
- )
- (i32.store
- (get_local $1)
- (i32.const 0)
- )
- (i32.store
- (get_local $5)
- (i32.const 0)
- )
- (i32.store
- (get_local $3)
+ (i32.store offset=16
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $2)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $1)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $3)
+ (i32.const 0)
+ )
(i32.const 0)
)
- (i32.const 0)
)
)
)
@@ -9437,56 +9424,58 @@
(get_local $2)
)
)
- (if i32
- (i32.and
- (tee_local $2
- (i32.load
- (get_local $0)
+ (tee_local $0
+ (if i32
+ (i32.and
+ (tee_local $2
+ (i32.load
+ (get_local $0)
+ )
)
+ (i32.const 8)
)
- (i32.const 8)
- )
- (block i32
- (i32.store
- (get_local $0)
- (i32.or
- (get_local $2)
- (i32.const 32)
+ (block i32
+ (i32.store
+ (get_local $0)
+ (i32.or
+ (get_local $2)
+ (i32.const 32)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
- )
- (block i32
- (i32.store offset=8
- (get_local $0)
- (i32.const 0)
- )
- (i32.store offset=4
- (get_local $0)
- (i32.const 0)
- )
- (i32.store offset=28
- (get_local $0)
- (tee_local $1
- (i32.load offset=44
- (get_local $0)
+ (block i32
+ (i32.store offset=8
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store offset=28
+ (get_local $0)
+ (tee_local $1
+ (i32.load offset=44
+ (get_local $0)
+ )
)
)
- )
- (i32.store offset=20
- (get_local $0)
- (get_local $1)
- )
- (i32.store offset=16
- (get_local $0)
- (i32.add
+ (i32.store offset=20
+ (get_local $0)
(get_local $1)
- (i32.load offset=48
- (get_local $0)
+ )
+ (i32.store offset=16
+ (get_local $0)
+ (i32.add
+ (get_local $1)
+ (i32.load offset=48
+ (get_local $0)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
@@ -9499,57 +9488,58 @@
(get_local $1)
)
)
- (if i32
- (i32.eq
- (tee_local $0
- (if i32
- (i32.gt_s
- (i32.load offset=76
- (get_local $3)
- )
- (i32.const -1)
- )
- (block i32
- (set_local $5
- (i32.eqz
- (call $___lockfile
- (get_local $3)
- )
- )
- )
- (set_local $0
- (call $___fwritex
- (get_local $0)
- (get_local $4)
- (get_local $3)
- )
- )
- (if i32
- (get_local $5)
- (get_local $0)
- (block i32
- (call $___unlockfile
- (get_local $3)
- )
- (get_local $0)
- )
- )
- )
- (call $___fwritex
- (get_local $0)
- (get_local $4)
+ (if
+ (i32.gt_s
+ (i32.load offset=76
+ (get_local $3)
+ )
+ (i32.const -1)
+ )
+ (block
+ (set_local $5
+ (i32.eqz
+ (call $___lockfile
(get_local $3)
)
)
)
- (get_local $4)
+ (set_local $0
+ (call $___fwritex
+ (get_local $0)
+ (get_local $4)
+ (get_local $3)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $5)
+ )
+ (call $___unlockfile
+ (get_local $3)
+ )
+ )
)
- (get_local $2)
- (call $i32u-div
+ (set_local $0
+ (call $___fwritex
+ (get_local $0)
+ (get_local $4)
+ (get_local $3)
+ )
+ )
+ )
+ (if
+ (i32.ne
(get_local $0)
- (get_local $1)
+ (get_local $4)
+ )
+ (set_local $2
+ (call $i32u-div
+ (get_local $0)
+ (get_local $1)
+ )
)
)
+ (get_local $2)
)
(func $___stdout_write (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
diff --git a/test/emcc_O2_hello_world.fromasm.imprecise b/test/emcc_O2_hello_world.fromasm.imprecise
index ad819ca56..3fabf2c9e 100644
--- a/test/emcc_O2_hello_world.fromasm.imprecise
+++ b/test/emcc_O2_hello_world.fromasm.imprecise
@@ -149,7 +149,7 @@
(i32.const 176)
)
)
- (tee_local $7
+ (tee_local $6
(i32.shr_u
(tee_local $9
(select
@@ -181,7 +181,7 @@
(i32.add
(tee_local $0
(i32.load
- (tee_local $6
+ (tee_local $5
(i32.add
(tee_local $1
(i32.add
@@ -196,7 +196,7 @@
)
(i32.const 1)
)
- (get_local $7)
+ (get_local $6)
)
)
(i32.const 1)
@@ -234,7 +234,7 @@
(if
(i32.eq
(i32.load
- (tee_local $8
+ (tee_local $7
(i32.add
(get_local $2)
(i32.const 12)
@@ -245,11 +245,11 @@
)
(block
(i32.store
- (get_local $8)
+ (get_local $7)
(get_local $1)
)
(i32.store
- (get_local $6)
+ (get_local $5)
(get_local $2)
)
)
@@ -283,7 +283,7 @@
)
)
(i32.store
- (tee_local $6
+ (tee_local $5
(i32.add
(i32.add
(get_local $0)
@@ -294,7 +294,7 @@
)
(i32.or
(i32.load
- (get_local $6)
+ (get_local $5)
)
(i32.const 1)
)
@@ -307,7 +307,7 @@
(if
(i32.gt_u
(get_local $9)
- (tee_local $6
+ (tee_local $5
(i32.load
(i32.const 184)
)
@@ -327,13 +327,13 @@
(i32.and
(i32.shl
(get_local $2)
- (get_local $7)
+ (get_local $6)
)
(i32.or
(tee_local $2
(i32.shl
(i32.const 2)
- (get_local $7)
+ (get_local $6)
)
)
(i32.sub
@@ -358,7 +358,7 @@
)
(set_local $1
(i32.load
- (tee_local $8
+ (tee_local $7
(i32.add
(tee_local $0
(i32.load
@@ -377,7 +377,7 @@
(tee_local $2
(i32.and
(i32.shr_u
- (tee_local $8
+ (tee_local $7
(i32.shr_u
(get_local $2)
(get_local $1)
@@ -390,12 +390,12 @@
)
(get_local $1)
)
- (tee_local $8
+ (tee_local $7
(i32.and
(i32.shr_u
(tee_local $0
(i32.shr_u
- (get_local $8)
+ (get_local $7)
(get_local $2)
)
)
@@ -411,7 +411,7 @@
(tee_local $11
(i32.shr_u
(get_local $0)
- (get_local $8)
+ (get_local $7)
)
)
(i32.const 1)
@@ -518,7 +518,7 @@
)
)
(set_local $17
- (get_local $6)
+ (get_local $5)
)
)
)
@@ -537,7 +537,7 @@
)
)
(i32.or
- (tee_local $6
+ (tee_local $5
(i32.sub
(i32.shl
(get_local $10)
@@ -552,9 +552,9 @@
(i32.store
(i32.add
(get_local $15)
- (get_local $6)
+ (get_local $5)
)
- (get_local $6)
+ (get_local $5)
)
(if
(get_local $17)
@@ -583,7 +583,7 @@
)
(if
(i32.and
- (tee_local $7
+ (tee_local $6
(i32.load
(i32.const 176)
)
@@ -625,7 +625,7 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $7)
+ (get_local $6)
(get_local $2)
)
)
@@ -660,14 +660,14 @@
)
(i32.store
(i32.const 184)
- (get_local $6)
+ (get_local $5)
)
(i32.store
(i32.const 196)
(get_local $15)
)
(return
- (get_local $8)
+ (get_local $7)
)
)
)
@@ -681,7 +681,7 @@
(set_local $15
(i32.and
(i32.shr_u
- (tee_local $6
+ (tee_local $5
(i32.add
(i32.and
(get_local $15)
@@ -710,12 +710,12 @@
(i32.or
(i32.or
(i32.or
- (tee_local $6
+ (tee_local $5
(i32.and
(i32.shr_u
(tee_local $11
(i32.shr_u
- (get_local $6)
+ (get_local $5)
(get_local $15)
)
)
@@ -732,7 +732,7 @@
(tee_local $1
(i32.shr_u
(get_local $11)
- (get_local $6)
+ (get_local $5)
)
)
(i32.const 2)
@@ -759,7 +759,7 @@
(tee_local $2
(i32.and
(i32.shr_u
- (tee_local $7
+ (tee_local $6
(i32.shr_u
(get_local $2)
(get_local $1)
@@ -772,7 +772,7 @@
)
)
(i32.shr_u
- (get_local $7)
+ (get_local $6)
(get_local $2)
)
)
@@ -786,7 +786,7 @@
(get_local $9)
)
)
- (set_local $7
+ (set_local $6
(get_local $17)
)
(set_local $1
@@ -797,7 +797,7 @@
(if
(tee_local $17
(i32.load offset=16
- (get_local $7)
+ (get_local $6)
)
)
(set_local $0
@@ -806,17 +806,17 @@
(if
(tee_local $11
(i32.load offset=20
- (get_local $7)
+ (get_local $6)
)
)
(set_local $0
(get_local $11)
)
(block
- (set_local $3
+ (set_local $8
(get_local $2)
)
- (set_local $5
+ (set_local $3
(get_local $1)
)
(br $while-out)
@@ -846,7 +846,7 @@
(get_local $11)
)
)
- (set_local $7
+ (set_local $6
(get_local $0)
)
(set_local $1
@@ -861,7 +861,7 @@
)
(if
(i32.lt_u
- (get_local $5)
+ (get_local $3)
(tee_local $1
(i32.load
(i32.const 192)
@@ -872,10 +872,10 @@
)
(if
(i32.ge_u
- (get_local $5)
- (tee_local $7
+ (get_local $3)
+ (tee_local $6
(i32.add
- (get_local $5)
+ (get_local $3)
(get_local $9)
)
)
@@ -884,18 +884,18 @@
)
(set_local $2
(i32.load offset=24
- (get_local $5)
+ (get_local $3)
)
)
(block $do-once4
(if
(i32.eq
- (tee_local $8
+ (tee_local $7
(i32.load offset=12
- (get_local $5)
+ (get_local $3)
)
)
- (get_local $5)
+ (get_local $3)
)
(block
(if
@@ -903,7 +903,7 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $5)
+ (get_local $3)
(i32.const 20)
)
)
@@ -913,7 +913,7 @@
(set_local $17
(get_local $10)
)
- (set_local $6
+ (set_local $5
(get_local $0)
)
)
@@ -922,13 +922,13 @@
(i32.load
(tee_local $11
(i32.add
- (get_local $5)
+ (get_local $3)
(i32.const 16)
)
)
)
)
- (set_local $6
+ (set_local $5
(get_local $11)
)
(block
@@ -955,7 +955,7 @@
(set_local $17
(get_local $10)
)
- (set_local $6
+ (set_local $5
(get_local $0)
)
(br $while-in7)
@@ -976,7 +976,7 @@
(set_local $17
(get_local $10)
)
- (set_local $6
+ (set_local $5
(get_local $0)
)
(br $while-in7)
@@ -985,13 +985,13 @@
)
(if
(i32.lt_u
- (get_local $6)
+ (get_local $5)
(get_local $1)
)
(call $_abort)
(block
(i32.store
- (get_local $6)
+ (get_local $5)
(i32.const 0)
)
(set_local $19
@@ -1005,7 +1005,7 @@
(i32.lt_u
(tee_local $0
(i32.load offset=8
- (get_local $5)
+ (get_local $3)
)
)
(get_local $1)
@@ -1022,7 +1022,7 @@
)
)
)
- (get_local $5)
+ (get_local $3)
)
(call $_abort)
)
@@ -1031,24 +1031,24 @@
(i32.load
(tee_local $11
(i32.add
- (get_local $8)
+ (get_local $7)
(i32.const 8)
)
)
)
- (get_local $5)
+ (get_local $3)
)
(block
(i32.store
(get_local $10)
- (get_local $8)
+ (get_local $7)
)
(i32.store
(get_local $11)
(get_local $0)
)
(set_local $19
- (get_local $8)
+ (get_local $7)
)
)
(call $_abort)
@@ -1062,14 +1062,14 @@
(block
(if
(i32.eq
- (get_local $5)
+ (get_local $3)
(i32.load
(tee_local $1
(i32.add
(i32.shl
- (tee_local $8
+ (tee_local $7
(i32.load offset=28
- (get_local $5)
+ (get_local $3)
)
)
(i32.const 2)
@@ -1098,7 +1098,7 @@
(i32.xor
(i32.shl
(i32.const 1)
- (get_local $8)
+ (get_local $7)
)
(i32.const -1)
)
@@ -1121,17 +1121,17 @@
(if
(i32.eq
(i32.load
- (tee_local $8
+ (tee_local $7
(i32.add
(get_local $2)
(i32.const 16)
)
)
)
- (get_local $5)
+ (get_local $3)
)
(i32.store
- (get_local $8)
+ (get_local $7)
(get_local $19)
)
(i32.store offset=20
@@ -1149,7 +1149,7 @@
(if
(i32.lt_u
(get_local $19)
- (tee_local $8
+ (tee_local $7
(i32.load
(i32.const 192)
)
@@ -1164,13 +1164,13 @@
(if
(tee_local $1
(i32.load offset=16
- (get_local $5)
+ (get_local $3)
)
)
(if
(i32.lt_u
(get_local $1)
- (get_local $8)
+ (get_local $7)
)
(call $_abort)
(block
@@ -1188,7 +1188,7 @@
(if
(tee_local $1
(i32.load offset=20
- (get_local $5)
+ (get_local $3)
)
)
(if
@@ -1216,16 +1216,16 @@
)
(if
(i32.lt_u
- (get_local $3)
+ (get_local $8)
(i32.const 16)
)
(block
(i32.store offset=4
- (get_local $5)
+ (get_local $3)
(i32.or
(tee_local $2
(i32.add
- (get_local $3)
+ (get_local $8)
(get_local $9)
)
)
@@ -1236,7 +1236,7 @@
(tee_local $1
(i32.add
(i32.add
- (get_local $5)
+ (get_local $3)
(get_local $2)
)
(i32.const 4)
@@ -1252,25 +1252,25 @@
)
(block
(i32.store offset=4
- (get_local $5)
+ (get_local $3)
(i32.or
(get_local $9)
(i32.const 3)
)
)
(i32.store offset=4
- (get_local $7)
+ (get_local $6)
(i32.or
- (get_local $3)
+ (get_local $8)
(i32.const 1)
)
)
(i32.store
(i32.add
- (get_local $7)
- (get_local $3)
+ (get_local $6)
+ (get_local $8)
)
- (get_local $3)
+ (get_local $8)
)
(if
(tee_local $1
@@ -1288,7 +1288,7 @@
(i32.add
(i32.shl
(i32.shl
- (tee_local $8
+ (tee_local $7
(i32.shr_u
(get_local $1)
(i32.const 3)
@@ -1311,7 +1311,7 @@
(tee_local $11
(i32.shl
(i32.const 1)
- (get_local $8)
+ (get_local $7)
)
)
)
@@ -1319,7 +1319,7 @@
(i32.lt_u
(tee_local $10
(i32.load
- (tee_local $8
+ (tee_local $7
(i32.add
(get_local $1)
(i32.const 8)
@@ -1334,7 +1334,7 @@
(call $_abort)
(block
(set_local $39
- (get_local $8)
+ (get_local $7)
)
(set_local $32
(get_local $10)
@@ -1380,17 +1380,17 @@
)
(i32.store
(i32.const 184)
- (get_local $3)
+ (get_local $8)
)
(i32.store
(i32.const 196)
- (get_local $7)
+ (get_local $6)
)
)
)
(return
(i32.add
- (get_local $5)
+ (get_local $3)
(i32.const 8)
)
)
@@ -1463,7 +1463,7 @@
(i32.and
(i32.shr_u
(i32.add
- (tee_local $8
+ (tee_local $7
(i32.shl
(get_local $10)
(tee_local $1
@@ -1489,13 +1489,13 @@
)
(get_local $1)
)
- (tee_local $8
+ (tee_local $7
(i32.and
(i32.shr_u
(i32.add
(tee_local $17
(i32.shl
- (get_local $8)
+ (get_local $7)
(get_local $10)
)
)
@@ -1511,7 +1511,7 @@
(i32.shr_u
(i32.shl
(get_local $17)
- (get_local $8)
+ (get_local $7)
)
(i32.const 15)
)
@@ -1536,7 +1536,7 @@
)
)
(block
- (set_local $8
+ (set_local $7
(get_local $0)
)
(set_local $17
@@ -1564,7 +1564,7 @@
(set_local $10
(get_local $15)
)
- (set_local $6
+ (set_local $5
(i32.const 0)
)
(loop $while-in14
@@ -1583,7 +1583,7 @@
(get_local $2)
)
)
- (get_local $8)
+ (get_local $7)
)
(if
(i32.eq
@@ -1600,16 +1600,16 @@
(set_local $29
(get_local $10)
)
- (set_local $8
+ (set_local $7
(i32.const 90)
)
(br $label$break$L123)
)
(block
- (set_local $8
+ (set_local $7
(get_local $0)
)
- (set_local $6
+ (set_local $5
(get_local $10)
)
)
@@ -1658,15 +1658,15 @@
)
(block
(set_local $33
- (get_local $8)
+ (get_local $7)
)
- (set_local $7
+ (set_local $6
(get_local $19)
)
(set_local $30
- (get_local $6)
+ (get_local $5)
)
- (set_local $8
+ (set_local $7
(i32.const 86)
)
)
@@ -1695,13 +1695,13 @@
(set_local $33
(get_local $0)
)
- (set_local $7
+ (set_local $6
(i32.const 0)
)
(set_local $30
(i32.const 0)
)
- (set_local $8
+ (set_local $7
(i32.const 86)
)
)
@@ -1709,20 +1709,20 @@
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 86)
)
- (if
- (if i32
+ (block
+ (if
(i32.and
(i32.eqz
- (get_local $7)
+ (get_local $6)
)
(i32.eqz
(get_local $30)
)
)
- (block i32
+ (block
(if
(i32.eqz
(tee_local $0
@@ -1770,7 +1770,7 @@
(i32.const 16)
)
)
- (tee_local $7
+ (set_local $6
(i32.load offset=480
(i32.shl
(i32.add
@@ -1797,7 +1797,7 @@
(tee_local $9
(i32.and
(i32.shr_u
- (tee_local $7
+ (tee_local $6
(i32.shr_u
(get_local $9)
(get_local $15)
@@ -1809,12 +1809,12 @@
)
)
)
- (tee_local $7
+ (tee_local $6
(i32.and
(i32.shr_u
- (tee_local $6
+ (tee_local $5
(i32.shr_u
- (get_local $7)
+ (get_local $6)
(get_local $9)
)
)
@@ -1824,13 +1824,13 @@
)
)
)
- (tee_local $6
+ (tee_local $5
(i32.and
(i32.shr_u
(tee_local $1
(i32.shr_u
+ (get_local $5)
(get_local $6)
- (get_local $7)
)
)
(i32.const 1)
@@ -1841,7 +1841,7 @@
)
(i32.shr_u
(get_local $1)
- (get_local $6)
+ (get_local $5)
)
)
(i32.const 2)
@@ -1849,44 +1849,46 @@
)
)
)
- (get_local $7)
)
- (block
- (set_local $27
- (get_local $33)
- )
- (set_local $25
- (get_local $7)
- )
- (set_local $29
- (get_local $30)
- )
- (set_local $8
- (i32.const 90)
- )
- )
- (block
- (set_local $4
- (get_local $33)
+ (if
+ (get_local $6)
+ (block
+ (set_local $27
+ (get_local $33)
+ )
+ (set_local $25
+ (get_local $6)
+ )
+ (set_local $29
+ (get_local $30)
+ )
+ (set_local $7
+ (i32.const 90)
+ )
)
- (set_local $12
- (get_local $30)
+ (block
+ (set_local $3
+ (get_local $33)
+ )
+ (set_local $12
+ (get_local $30)
+ )
)
)
)
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 90)
)
(loop $while-in16
- (set_local $8
+ (set_local $7
(i32.const 0)
)
(set_local $1
(i32.lt_u
- (tee_local $6
+ (tee_local $5
(i32.sub
(i32.and
(i32.load offset=4
@@ -1900,14 +1902,14 @@
(get_local $27)
)
)
- (set_local $7
+ (set_local $6
(select
- (get_local $6)
+ (get_local $5)
(get_local $27)
(get_local $1)
)
)
- (set_local $6
+ (set_local $5
(select
(get_local $25)
(get_local $29)
@@ -1922,13 +1924,13 @@
)
(block
(set_local $27
- (get_local $7)
+ (get_local $6)
)
(set_local $25
(get_local $1)
)
(set_local $29
- (get_local $6)
+ (get_local $5)
)
(br $while-in16)
)
@@ -1941,19 +1943,19 @@
)
(block
(set_local $27
- (get_local $7)
+ (get_local $6)
)
(set_local $29
- (get_local $6)
+ (get_local $5)
)
(br $while-in16)
)
(block
- (set_local $4
- (get_local $7)
+ (set_local $3
+ (get_local $6)
)
(set_local $12
- (get_local $6)
+ (get_local $5)
)
)
)
@@ -1962,7 +1964,7 @@
(if
(select
(i32.lt_u
- (get_local $4)
+ (get_local $3)
(i32.sub
(i32.load
(i32.const 184)
@@ -1988,7 +1990,7 @@
(if
(i32.ge_u
(get_local $12)
- (tee_local $6
+ (tee_local $5
(i32.add
(get_local $12)
(get_local $2)
@@ -1997,7 +1999,7 @@
)
(call $_abort)
)
- (set_local $7
+ (set_local $6
(i32.load offset=24
(get_local $12)
)
@@ -2047,7 +2049,7 @@
(get_local $15)
)
(block
- (set_local $5
+ (set_local $8
(i32.const 0)
)
(br $do-once17)
@@ -2109,7 +2111,7 @@
(get_local $1)
(i32.const 0)
)
- (set_local $5
+ (set_local $8
(get_local $17)
)
)
@@ -2162,7 +2164,7 @@
(get_local $15)
(get_local $9)
)
- (set_local $5
+ (set_local $8
(get_local $1)
)
)
@@ -2173,7 +2175,7 @@
)
(block $do-once21
(if
- (get_local $7)
+ (get_local $6)
(block
(if
(i32.eq
@@ -2197,11 +2199,11 @@
(block
(i32.store
(get_local $11)
- (get_local $5)
+ (get_local $8)
)
(if
(i32.eqz
- (get_local $5)
+ (get_local $8)
)
(block
(i32.store
@@ -2226,7 +2228,7 @@
(block
(if
(i32.lt_u
- (get_local $7)
+ (get_local $6)
(i32.load
(i32.const 192)
)
@@ -2238,7 +2240,7 @@
(i32.load
(tee_local $1
(i32.add
- (get_local $7)
+ (get_local $6)
(i32.const 16)
)
)
@@ -2247,23 +2249,23 @@
)
(i32.store
(get_local $1)
- (get_local $5)
+ (get_local $8)
)
(i32.store offset=20
- (get_local $7)
- (get_local $5)
+ (get_local $6)
+ (get_local $8)
)
)
(br_if $do-once21
(i32.eqz
- (get_local $5)
+ (get_local $8)
)
)
)
)
(if
(i32.lt_u
- (get_local $5)
+ (get_local $8)
(tee_local $1
(i32.load
(i32.const 192)
@@ -2273,8 +2275,8 @@
(call $_abort)
)
(i32.store offset=24
- (get_local $5)
- (get_local $7)
+ (get_local $8)
+ (get_local $6)
)
(if
(tee_local $11
@@ -2290,12 +2292,12 @@
(call $_abort)
(block
(i32.store offset=16
- (get_local $5)
+ (get_local $8)
(get_local $11)
)
(i32.store offset=24
(get_local $11)
- (get_local $5)
+ (get_local $8)
)
)
)
@@ -2316,12 +2318,12 @@
(call $_abort)
(block
(i32.store offset=20
- (get_local $5)
+ (get_local $8)
(get_local $11)
)
(i32.store offset=24
(get_local $11)
- (get_local $5)
+ (get_local $8)
)
)
)
@@ -2332,7 +2334,7 @@
(block $do-once25
(if
(i32.ge_u
- (get_local $4)
+ (get_local $3)
(i32.const 16)
)
(block
@@ -2344,28 +2346,28 @@
)
)
(i32.store offset=4
- (get_local $6)
+ (get_local $5)
(i32.or
- (get_local $4)
+ (get_local $3)
(i32.const 1)
)
)
(i32.store
(i32.add
- (get_local $6)
- (get_local $4)
+ (get_local $5)
+ (get_local $3)
)
- (get_local $4)
+ (get_local $3)
)
- (set_local $7
+ (set_local $6
(i32.shr_u
- (get_local $4)
+ (get_local $3)
(i32.const 3)
)
)
(if
(i32.lt_u
- (get_local $4)
+ (get_local $3)
(i32.const 256)
)
(block
@@ -2373,7 +2375,7 @@
(i32.add
(i32.shl
(i32.shl
- (get_local $7)
+ (get_local $6)
(i32.const 1)
)
(i32.const 2)
@@ -2391,7 +2393,7 @@
(tee_local $9
(i32.shl
(i32.const 1)
- (get_local $7)
+ (get_local $6)
)
)
)
@@ -2399,7 +2401,7 @@
(i32.lt_u
(tee_local $15
(i32.load
- (tee_local $7
+ (tee_local $6
(i32.add
(get_local $11)
(i32.const 8)
@@ -2414,7 +2416,7 @@
(call $_abort)
(block
(set_local $16
- (get_local $7)
+ (get_local $6)
)
(set_local $26
(get_local $15)
@@ -2442,46 +2444,46 @@
)
(i32.store
(get_local $16)
- (get_local $6)
+ (get_local $5)
)
(i32.store offset=12
(get_local $26)
- (get_local $6)
+ (get_local $5)
)
(i32.store offset=8
- (get_local $6)
+ (get_local $5)
(get_local $26)
)
(i32.store offset=12
- (get_local $6)
+ (get_local $5)
(get_local $11)
)
(br $do-once25)
)
)
- (set_local $7
+ (set_local $6
(i32.add
(i32.shl
(tee_local $10
(if i32
(tee_local $11
(i32.shr_u
- (get_local $4)
+ (get_local $3)
(i32.const 8)
)
)
(if i32
(i32.gt_u
- (get_local $4)
+ (get_local $3)
(i32.const 16777215)
)
(i32.const 31)
(i32.or
(i32.and
(i32.shr_u
- (get_local $4)
+ (get_local $3)
(i32.add
- (tee_local $7
+ (tee_local $6
(i32.add
(i32.sub
(i32.const 14)
@@ -2551,7 +2553,7 @@
(i32.const 1)
)
(i32.shl
- (get_local $7)
+ (get_local $6)
(i32.const 1)
)
)
@@ -2565,13 +2567,13 @@
)
)
(i32.store offset=28
- (get_local $6)
+ (get_local $5)
(get_local $10)
)
(i32.store offset=4
(tee_local $1
(i32.add
- (get_local $6)
+ (get_local $5)
(i32.const 16)
)
)
@@ -2606,27 +2608,27 @@
)
)
(i32.store
- (get_local $7)
(get_local $6)
+ (get_local $5)
)
(i32.store offset=24
+ (get_local $5)
(get_local $6)
- (get_local $7)
)
(i32.store offset=12
- (get_local $6)
- (get_local $6)
+ (get_local $5)
+ (get_local $5)
)
(i32.store offset=8
- (get_local $6)
- (get_local $6)
+ (get_local $5)
+ (get_local $5)
)
(br $do-once25)
)
)
(set_local $15
(i32.shl
- (get_local $4)
+ (get_local $3)
(select
(i32.const 0)
(i32.sub
@@ -2645,7 +2647,7 @@
)
(set_local $1
(i32.load
- (get_local $7)
+ (get_local $6)
)
)
(loop $while-in28
@@ -2658,13 +2660,13 @@
)
(i32.const -8)
)
- (get_local $4)
+ (get_local $3)
)
(block
(set_local $14
(get_local $1)
)
- (set_local $8
+ (set_local $7
(i32.const 148)
)
(br $while-out27)
@@ -2673,7 +2675,7 @@
(if
(tee_local $9
(i32.load
- (tee_local $7
+ (tee_local $6
(i32.add
(i32.add
(get_local $1)
@@ -2704,12 +2706,12 @@
)
(block
(set_local $23
- (get_local $7)
+ (get_local $6)
)
(set_local $21
(get_local $1)
)
- (set_local $8
+ (set_local $7
(i32.const 145)
)
)
@@ -2718,7 +2720,7 @@
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 145)
)
(if
@@ -2732,25 +2734,25 @@
(block
(i32.store
(get_local $23)
- (get_local $6)
+ (get_local $5)
)
(i32.store offset=24
- (get_local $6)
+ (get_local $5)
(get_local $21)
)
(i32.store offset=12
- (get_local $6)
- (get_local $6)
+ (get_local $5)
+ (get_local $5)
)
(i32.store offset=8
- (get_local $6)
- (get_local $6)
+ (get_local $5)
+ (get_local $5)
)
)
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 148)
)
(if
@@ -2780,22 +2782,22 @@
(block
(i32.store offset=12
(get_local $15)
- (get_local $6)
+ (get_local $5)
)
(i32.store
(get_local $1)
- (get_local $6)
+ (get_local $5)
)
(i32.store offset=8
- (get_local $6)
+ (get_local $5)
(get_local $15)
)
(i32.store offset=12
- (get_local $6)
+ (get_local $5)
(get_local $14)
)
(i32.store offset=24
- (get_local $6)
+ (get_local $5)
(i32.const 0)
)
)
@@ -2810,7 +2812,7 @@
(i32.or
(tee_local $15
(i32.add
- (get_local $4)
+ (get_local $3)
(get_local $2)
)
)
@@ -2877,7 +2879,7 @@
)
(if
(i32.gt_u
- (tee_local $4
+ (tee_local $3
(i32.sub
(get_local $12)
(get_local $9)
@@ -2897,21 +2899,21 @@
)
(i32.store
(i32.const 184)
- (get_local $4)
+ (get_local $3)
)
(i32.store offset=4
(get_local $21)
(i32.or
- (get_local $4)
+ (get_local $3)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $21)
- (get_local $4)
+ (get_local $3)
)
- (get_local $4)
+ (get_local $3)
)
(i32.store offset=4
(get_local $14)
@@ -2938,7 +2940,7 @@
)
)
(i32.store
- (tee_local $4
+ (tee_local $3
(i32.add
(i32.add
(get_local $14)
@@ -2949,7 +2951,7 @@
)
(i32.or
(i32.load
- (get_local $4)
+ (get_local $3)
)
(i32.const 1)
)
@@ -2976,7 +2978,7 @@
(block
(i32.store
(i32.const 188)
- (tee_local $4
+ (tee_local $3
(i32.sub
(get_local $14)
(get_local $9)
@@ -2999,7 +3001,7 @@
(i32.store offset=4
(get_local $12)
(i32.or
- (get_local $4)
+ (get_local $3)
(i32.const 1)
)
)
@@ -3085,11 +3087,11 @@
)
(if
(i32.le_u
- (tee_local $4
+ (tee_local $3
(i32.and
(tee_local $21
(i32.add
- (tee_local $4
+ (tee_local $3
(i32.load
(i32.const 656)
)
@@ -3105,7 +3107,7 @@
(tee_local $23
(i32.sub
(i32.const 0)
- (get_local $4)
+ (get_local $3)
)
)
)
@@ -3132,7 +3134,7 @@
(i32.const 608)
)
)
- (get_local $4)
+ (get_local $3)
)
)
(get_local $26)
@@ -3153,12 +3155,12 @@
(if i32
(select
(i32.lt_u
- (get_local $4)
+ (get_local $3)
(i32.const 2147483647)
)
(i32.const 0)
(i32.eq
- (tee_local $8
+ (tee_local $7
(block $label$break$L257 i32
(if i32
(i32.and
@@ -3196,7 +3198,7 @@
(i32.add
(get_local $26)
(i32.load
- (tee_local $5
+ (tee_local $8
(i32.add
(get_local $16)
(i32.const 4)
@@ -3209,11 +3211,11 @@
(i32.const 0)
)
(block
- (set_local $7
+ (set_local $6
(get_local $16)
)
(set_local $1
- (get_local $5)
+ (get_local $8)
)
(br $while-out33)
)
@@ -3225,7 +3227,7 @@
)
)
)
- (set_local $8
+ (set_local $7
(i32.const 173)
)
(br $label$break$L259)
@@ -3248,14 +3250,14 @@
)
(if
(i32.eq
- (tee_local $5
+ (tee_local $8
(call $_sbrk
(get_local $16)
)
)
(i32.add
(i32.load
- (get_local $7)
+ (get_local $6)
)
(i32.load
(get_local $1)
@@ -3264,12 +3266,12 @@
)
(if
(i32.ne
- (get_local $5)
+ (get_local $8)
(i32.const -1)
)
(block
(set_local $20
- (get_local $5)
+ (get_local $8)
)
(set_local $22
(get_local $16)
@@ -3281,19 +3283,19 @@
)
(block
(set_local $13
- (get_local $5)
+ (get_local $8)
)
(set_local $18
(get_local $16)
)
- (set_local $8
+ (set_local $7
(i32.const 183)
)
)
)
)
)
- (set_local $8
+ (set_local $7
(i32.const 173)
)
)
@@ -3302,7 +3304,7 @@
(if
(if i32
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 173)
)
(i32.ne
@@ -3319,7 +3321,7 @@
(set_local $0
(if i32
(i32.and
- (tee_local $5
+ (tee_local $8
(i32.add
(tee_local $16
(i32.load
@@ -3335,12 +3337,12 @@
)
(i32.add
(i32.sub
- (get_local $4)
+ (get_local $3)
(get_local $2)
)
(i32.and
(i32.add
- (get_local $5)
+ (get_local $8)
(get_local $2)
)
(i32.sub
@@ -3349,7 +3351,7 @@
)
)
)
- (get_local $4)
+ (get_local $3)
)
)
(set_local $2
@@ -3383,7 +3385,7 @@
)
(i32.gt_u
(get_local $2)
- (tee_local $5
+ (tee_local $8
(i32.load
(i32.const 616)
)
@@ -3391,12 +3393,12 @@
)
)
(i32.const 0)
- (get_local $5)
+ (get_local $8)
)
)
(if
(i32.eq
- (tee_local $5
+ (tee_local $8
(call $_sbrk
(get_local $0)
)
@@ -3416,12 +3418,12 @@
)
(block
(set_local $13
- (get_local $5)
+ (get_local $8)
)
(set_local $18
(get_local $0)
)
- (set_local $8
+ (set_local $7
(i32.const 183)
)
)
@@ -3434,11 +3436,11 @@
(block $label$break$L279
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 183)
)
(block
- (set_local $5
+ (set_local $8
(i32.sub
(i32.const 0)
(get_local $18)
@@ -3496,19 +3498,19 @@
(block
(drop
(call $_sbrk
- (get_local $5)
+ (get_local $8)
)
)
(br $label$break$L279)
)
- (set_local $3
+ (set_local $4
(i32.add
(get_local $2)
(get_local $18)
)
)
)
- (set_local $3
+ (set_local $4
(get_local $18)
)
)
@@ -3522,7 +3524,7 @@
(get_local $13)
)
(set_local $22
- (get_local $3)
+ (get_local $4)
)
(br $label$break$L257
(i32.const 193)
@@ -3551,12 +3553,12 @@
)
(i32.and
(i32.lt_u
- (tee_local $3
+ (tee_local $4
(call $_sbrk
- (get_local $4)
+ (get_local $3)
)
)
- (tee_local $4
+ (tee_local $3
(call $_sbrk
(i32.const 0)
)
@@ -3564,11 +3566,11 @@
)
(i32.and
(i32.ne
- (get_local $3)
+ (get_local $4)
(i32.const -1)
)
(i32.ne
- (get_local $4)
+ (get_local $3)
(i32.const -1)
)
)
@@ -3578,8 +3580,8 @@
(i32.gt_u
(tee_local $13
(i32.sub
- (get_local $4)
(get_local $3)
+ (get_local $4)
)
)
(i32.add
@@ -3591,19 +3593,19 @@
)
(block
(set_local $20
- (get_local $3)
+ (get_local $4)
)
(set_local $22
(get_local $13)
)
- (set_local $8
+ (set_local $7
(i32.const 193)
)
)
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 193)
)
(block
@@ -3638,7 +3640,7 @@
)
)
(block
- (set_local $3
+ (set_local $4
(i32.const 624)
)
(loop $do-in
@@ -3647,16 +3649,16 @@
(i32.eq
(get_local $20)
(i32.add
- (tee_local $4
+ (tee_local $3
(i32.load
- (get_local $3)
+ (get_local $4)
)
)
(tee_local $12
(i32.load
(tee_local $18
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.const 4)
)
)
@@ -3666,7 +3668,7 @@
)
(block
(set_local $46
- (get_local $4)
+ (get_local $3)
)
(set_local $47
(get_local $18)
@@ -3675,18 +3677,18 @@
(get_local $12)
)
(set_local $49
- (get_local $3)
+ (get_local $4)
)
- (set_local $8
+ (set_local $7
(i32.const 203)
)
(br $do-out)
)
)
(br_if $do-in
- (tee_local $3
+ (tee_local $4
(i32.load offset=8
- (get_local $3)
+ (get_local $4)
)
)
)
@@ -3716,7 +3718,7 @@
)
(i32.const 0)
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 203)
)
)
@@ -3729,7 +3731,7 @@
(get_local $22)
)
)
- (set_local $3
+ (set_local $4
(i32.add
(get_local $13)
(tee_local $12
@@ -3737,7 +3739,7 @@
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $3
+ (tee_local $4
(i32.add
(get_local $13)
(i32.const 8)
@@ -3748,7 +3750,7 @@
)
(i32.const 0)
(i32.and
- (get_local $3)
+ (get_local $4)
(i32.const 7)
)
)
@@ -3768,14 +3770,14 @@
)
(i32.store
(i32.const 200)
- (get_local $3)
+ (get_local $4)
)
(i32.store
(i32.const 188)
(get_local $18)
)
(i32.store offset=4
- (get_local $3)
+ (get_local $4)
(i32.or
(get_local $18)
(i32.const 1)
@@ -3783,7 +3785,7 @@
)
(i32.store offset=4
(i32.add
- (get_local $3)
+ (get_local $4)
(get_local $18)
)
(i32.const 40)
@@ -3797,7 +3799,7 @@
(br $do-once40)
)
)
- (set_local $6
+ (set_local $5
(if i32
(i32.lt_u
(get_local $20)
@@ -3823,7 +3825,7 @@
(get_local $22)
)
)
- (set_local $3
+ (set_local $4
(i32.const 624)
)
(loop $while-in43
@@ -3831,27 +3833,27 @@
(if
(i32.eq
(i32.load
- (get_local $3)
+ (get_local $4)
)
(get_local $18)
)
(block
(set_local $50
- (get_local $3)
+ (get_local $4)
)
(set_local $40
- (get_local $3)
+ (get_local $4)
)
- (set_local $8
+ (set_local $7
(i32.const 211)
)
(br $while-out42)
)
)
(br_if $while-in43
- (tee_local $3
+ (tee_local $4
(i32.load offset=8
- (get_local $3)
+ (get_local $4)
)
)
)
@@ -3862,7 +3864,7 @@
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 211)
)
(if
@@ -3881,7 +3883,7 @@
(get_local $20)
)
(i32.store
- (tee_local $3
+ (tee_local $4
(i32.add
(get_local $40)
(i32.const 4)
@@ -3889,7 +3891,7 @@
)
(i32.add
(i32.load
- (get_local $3)
+ (get_local $4)
)
(get_local $22)
)
@@ -3901,7 +3903,7 @@
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $3
+ (tee_local $4
(i32.add
(get_local $20)
(i32.const 8)
@@ -3912,20 +3914,20 @@
)
(i32.const 0)
(i32.and
- (get_local $3)
+ (get_local $4)
(i32.const 7)
)
)
)
)
- (set_local $4
+ (set_local $3
(i32.add
(get_local $18)
(select
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $3
+ (tee_local $4
(i32.add
(get_local $18)
(i32.const 8)
@@ -3936,13 +3938,13 @@
)
(i32.const 0)
(i32.and
- (get_local $3)
+ (get_local $4)
(i32.const 7)
)
)
)
)
- (set_local $3
+ (set_local $4
(i32.add
(get_local $12)
(get_local $9)
@@ -3951,7 +3953,7 @@
(set_local $14
(i32.sub
(i32.sub
- (get_local $4)
+ (get_local $3)
(get_local $12)
)
(get_local $9)
@@ -3967,13 +3969,13 @@
(block $do-once44
(if
(i32.ne
- (get_local $4)
+ (get_local $3)
(get_local $13)
)
(block
(if
(i32.eq
- (get_local $4)
+ (get_local $3)
(i32.load
(i32.const 196)
)
@@ -3992,10 +3994,10 @@
)
(i32.store
(i32.const 196)
- (get_local $3)
+ (get_local $4)
)
(i32.store offset=4
- (get_local $3)
+ (get_local $4)
(i32.or
(get_local $0)
(i32.const 1)
@@ -4003,7 +4005,7 @@
)
(i32.store
(i32.add
- (get_local $3)
+ (get_local $4)
(get_local $0)
)
(get_local $0)
@@ -4011,527 +4013,529 @@
(br $do-once44)
)
)
- (i32.store
- (tee_local $7
- (i32.add
- (if i32
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.load offset=4
- (get_local $4)
- )
- )
- (i32.const 3)
- )
- (i32.const 1)
+ (if
+ (i32.eq
+ (i32.and
+ (tee_local $0
+ (i32.load offset=4
+ (get_local $3)
)
- (block i32
- (set_local $1
- (i32.and
- (get_local $0)
- (i32.const -8)
- )
- )
- (set_local $7
- (i32.shr_u
- (get_local $0)
- (i32.const 3)
+ )
+ (i32.const 3)
+ )
+ (i32.const 1)
+ )
+ (block
+ (set_local $1
+ (i32.and
+ (get_local $0)
+ (i32.const -8)
+ )
+ )
+ (set_local $6
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (block $label$break$L331
+ (if
+ (i32.ge_u
+ (get_local $0)
+ (i32.const 256)
+ )
+ (block
+ (set_local $23
+ (i32.load offset=24
+ (get_local $3)
)
)
- (block $label$break$L331
+ (block $do-once47
(if
- (i32.ge_u
- (get_local $0)
- (i32.const 256)
- )
- (block
- (set_local $23
- (i32.load offset=24
- (get_local $4)
+ (i32.eq
+ (tee_local $21
+ (i32.load offset=12
+ (get_local $3)
)
)
- (block $do-once47
- (if
- (i32.eq
- (tee_local $21
- (i32.load offset=12
- (get_local $4)
- )
- )
- (get_local $4)
- )
- (block
- (if
- (tee_local $10
- (i32.load
- (tee_local $2
- (i32.add
- (tee_local $5
- (i32.add
- (get_local $4)
- (i32.const 16)
- )
- )
- (i32.const 4)
- )
- )
- )
- )
- (block
- (set_local $0
- (get_local $10)
- )
- (set_local $5
- (get_local $2)
- )
- )
- (if
- (tee_local $16
- (i32.load
- (get_local $5)
- )
- )
- (set_local $0
- (get_local $16)
- )
- (block
- (set_local $24
- (i32.const 0)
- )
- (br $do-once47)
- )
- )
- )
- (loop $while-in50
- (if
- (tee_local $10
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $0)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (set_local $0
- (get_local $10)
- )
- (set_local $5
- (get_local $2)
- )
- (br $while-in50)
- )
- )
- (if
- (tee_local $10
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $0)
- (i32.const 16)
- )
- )
- )
- )
- (block
- (set_local $0
- (get_local $10)
- )
- (set_local $5
- (get_local $2)
+ (get_local $3)
+ )
+ (block
+ (if
+ (tee_local $10
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (tee_local $8
+ (i32.add
+ (get_local $3)
+ (i32.const 16)
)
- (br $while-in50)
)
+ (i32.const 4)
)
)
- (if
- (i32.lt_u
- (get_local $5)
- (get_local $6)
- )
- (call $_abort)
- (block
- (i32.store
- (get_local $5)
- (i32.const 0)
- )
- (set_local $24
- (get_local $0)
- )
- )
+ )
+ )
+ (block
+ (set_local $0
+ (get_local $10)
+ )
+ (set_local $8
+ (get_local $2)
+ )
+ )
+ (if
+ (tee_local $16
+ (i32.load
+ (get_local $8)
)
)
+ (set_local $0
+ (get_local $16)
+ )
(block
- (if
- (i32.lt_u
- (tee_local $2
- (i32.load offset=8
- (get_local $4)
- )
- )
- (get_local $6)
- )
- (call $_abort)
- )
- (if
- (i32.ne
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $2)
- (i32.const 12)
- )
- )
- )
- (get_local $4)
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $21)
- (i32.const 8)
- )
- )
- )
- (get_local $4)
- )
- (block
- (i32.store
- (get_local $10)
- (get_local $21)
- )
- (i32.store
- (get_local $5)
- (get_local $2)
- )
- (set_local $24
- (get_local $21)
- )
- )
- (call $_abort)
+ (set_local $24
+ (i32.const 0)
)
+ (br $do-once47)
)
)
)
- (br_if $label$break$L331
- (i32.eqz
- (get_local $23)
- )
- )
- (block $do-once51
+ (loop $while-in50
(if
- (i32.ne
- (get_local $4)
+ (tee_local $10
(i32.load
(tee_local $2
(i32.add
- (i32.shl
- (tee_local $21
- (i32.load offset=28
- (get_local $4)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
+ (get_local $0)
+ (i32.const 20)
)
)
)
)
(block
- (if
- (i32.lt_u
- (get_local $23)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
+ (set_local $0
+ (get_local $10)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $23)
- (i32.const 16)
- )
- )
- )
- (get_local $4)
- )
- (i32.store
- (get_local $5)
- (get_local $24)
- )
- (i32.store offset=20
- (get_local $23)
- (get_local $24)
- )
+ (set_local $8
+ (get_local $2)
)
- (br_if $label$break$L331
- (i32.eqz
- (get_local $24)
+ (br $while-in50)
+ )
+ )
+ (if
+ (tee_local $10
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
)
)
)
(block
- (i32.store
- (get_local $2)
- (get_local $24)
- )
- (br_if $do-once51
- (get_local $24)
+ (set_local $0
+ (get_local $10)
)
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $21)
- )
- (i32.const -1)
- )
- )
+ (set_local $8
+ (get_local $2)
)
- (br $label$break$L331)
+ (br $while-in50)
)
)
)
(if
(i32.lt_u
- (get_local $24)
- (tee_local $21
- (i32.load
- (i32.const 192)
+ (get_local $8)
+ (get_local $5)
+ )
+ (call $_abort)
+ (block
+ (i32.store
+ (get_local $8)
+ (i32.const 0)
+ )
+ (set_local $24
+ (get_local $0)
+ )
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $3)
)
)
+ (get_local $5)
)
(call $_abort)
)
- (i32.store offset=24
- (get_local $24)
- (get_local $23)
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $2)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $3)
+ )
+ (call $_abort)
)
(if
- (tee_local $5
+ (i32.eq
(i32.load
- (tee_local $2
+ (tee_local $8
(i32.add
- (get_local $4)
- (i32.const 16)
+ (get_local $21)
+ (i32.const 8)
)
)
)
+ (get_local $3)
)
- (if
- (i32.lt_u
- (get_local $5)
+ (block
+ (i32.store
+ (get_local $10)
(get_local $21)
)
- (call $_abort)
- (block
- (i32.store offset=16
- (get_local $24)
- (get_local $5)
- )
- (i32.store offset=24
- (get_local $5)
- (get_local $24)
- )
+ (i32.store
+ (get_local $8)
+ (get_local $2)
+ )
+ (set_local $24
+ (get_local $21)
)
)
+ (call $_abort)
)
- (br_if $label$break$L331
- (i32.eqz
- (tee_local $5
- (i32.load offset=4
- (get_local $2)
+ )
+ )
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (get_local $23)
+ )
+ )
+ (block $do-once51
+ (if
+ (i32.ne
+ (get_local $3)
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $21
+ (i32.load offset=28
+ (get_local $3)
+ )
+ )
+ (i32.const 2)
)
+ (i32.const 480)
)
)
)
+ )
+ (block
(if
(i32.lt_u
- (get_local $5)
+ (get_local $23)
(i32.load
(i32.const 192)
)
)
(call $_abort)
- (block
- (i32.store offset=20
- (get_local $24)
- (get_local $5)
- )
- (i32.store offset=24
- (get_local $5)
- (get_local $24)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (get_local $23)
+ (i32.const 16)
+ )
+ )
)
+ (get_local $3)
+ )
+ (i32.store
+ (get_local $8)
+ (get_local $24)
+ )
+ (i32.store offset=20
+ (get_local $23)
+ (get_local $24)
+ )
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (get_local $24)
)
)
)
(block
- (set_local $21
- (i32.load offset=12
- (get_local $4)
- )
+ (i32.store
+ (get_local $2)
+ (get_local $24)
)
- (block $do-once55
- (if
- (i32.ne
- (tee_local $5
- (i32.load offset=8
- (get_local $4)
- )
- )
- (tee_local $23
- (i32.add
- (i32.shl
- (i32.shl
- (get_local $7)
- (i32.const 1)
- )
- (i32.const 2)
- )
- (i32.const 216)
- )
- )
+ (br_if $do-once51
+ (get_local $24)
+ )
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
)
- (block
- (if
- (i32.lt_u
- (get_local $5)
- (get_local $6)
- )
- (call $_abort)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $21)
)
- (br_if $do-once55
- (i32.eq
- (i32.load offset=12
- (get_local $5)
- )
- (get_local $4)
- )
+ (i32.const -1)
+ )
+ )
+ )
+ (br $label$break$L331)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $24)
+ (tee_local $21
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (get_local $24)
+ (get_local $23)
+ )
+ (if
+ (tee_local $8
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $3)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $8)
+ (get_local $21)
+ )
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (get_local $24)
+ (get_local $8)
+ )
+ (i32.store offset=24
+ (get_local $8)
+ (get_local $24)
+ )
+ )
+ )
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (tee_local $8
+ (i32.load offset=4
+ (get_local $2)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $8)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (get_local $24)
+ (get_local $8)
+ )
+ (i32.store offset=24
+ (get_local $8)
+ (get_local $24)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $21
+ (i32.load offset=12
+ (get_local $3)
+ )
+ )
+ (block $do-once55
+ (if
+ (i32.ne
+ (tee_local $8
+ (i32.load offset=8
+ (get_local $3)
+ )
+ )
+ (tee_local $23
+ (i32.add
+ (i32.shl
+ (i32.shl
+ (get_local $6)
+ (i32.const 1)
)
- (call $_abort)
+ (i32.const 2)
)
+ (i32.const 216)
)
)
+ )
+ (block
(if
- (i32.eq
- (get_local $21)
+ (i32.lt_u
+ (get_local $8)
(get_local $5)
)
- (block
- (i32.store
- (i32.const 176)
- (i32.and
- (i32.load
- (i32.const 176)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $7)
- )
- (i32.const -1)
- )
- )
+ (call $_abort)
+ )
+ (br_if $do-once55
+ (i32.eq
+ (i32.load offset=12
+ (get_local $8)
)
- (br $label$break$L331)
+ (get_local $3)
)
)
- (block $do-once57
- (if
- (i32.eq
- (get_local $21)
- (get_local $23)
- )
- (set_local $41
- (i32.add
- (get_local $21)
- (i32.const 8)
- )
+ (call $_abort)
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $21)
+ (get_local $8)
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (i32.load
+ (i32.const 176)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $6)
)
- (block
- (if
- (i32.lt_u
+ (i32.const -1)
+ )
+ )
+ )
+ (br $label$break$L331)
+ )
+ )
+ (block $do-once57
+ (if
+ (i32.eq
+ (get_local $21)
+ (get_local $23)
+ )
+ (set_local $41
+ (i32.add
+ (get_local $21)
+ (i32.const 8)
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $21)
+ (get_local $5)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $2
+ (i32.add
(get_local $21)
- (get_local $6)
+ (i32.const 8)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $21)
- (i32.const 8)
- )
- )
- )
- (get_local $4)
- )
- (block
- (set_local $41
- (get_local $2)
- )
- (br $do-once57)
- )
- )
- (call $_abort)
)
+ (get_local $3)
+ )
+ (block
+ (set_local $41
+ (get_local $2)
+ )
+ (br $do-once57)
)
)
- (i32.store offset=12
- (get_local $5)
- (get_local $21)
- )
- (i32.store
- (get_local $41)
- (get_local $5)
- )
+ (call $_abort)
)
)
)
- (set_local $14
- (i32.add
- (get_local $1)
- (get_local $14)
- )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $21)
)
- (i32.add
- (get_local $4)
- (get_local $1)
+ (i32.store
+ (get_local $41)
+ (get_local $8)
)
)
- (get_local $4)
)
+ )
+ (set_local $3
+ (i32.add
+ (get_local $3)
+ (get_local $1)
+ )
+ )
+ (set_local $14
+ (i32.add
+ (get_local $1)
+ (get_local $14)
+ )
+ )
+ )
+ )
+ (i32.store
+ (tee_local $6
+ (i32.add
+ (get_local $3)
(i32.const 4)
)
)
(i32.and
(i32.load
- (get_local $7)
+ (get_local $6)
)
(i32.const -2)
)
)
(i32.store offset=4
- (get_local $3)
+ (get_local $4)
(i32.or
(get_local $14)
(i32.const 1)
@@ -4539,12 +4543,12 @@
)
(i32.store
(i32.add
- (get_local $3)
+ (get_local $4)
(get_local $14)
)
(get_local $14)
)
- (set_local $7
+ (set_local $6
(i32.shr_u
(get_local $14)
(i32.const 3)
@@ -4560,7 +4564,7 @@
(i32.add
(i32.shl
(i32.shl
- (get_local $7)
+ (get_local $6)
(i32.const 1)
)
(i32.const 2)
@@ -4579,7 +4583,7 @@
(tee_local $2
(i32.shl
(i32.const 1)
- (get_local $7)
+ (get_local $6)
)
)
)
@@ -4588,7 +4592,7 @@
(i32.ge_u
(tee_local $10
(i32.load
- (tee_local $7
+ (tee_local $6
(i32.add
(get_local $0)
(i32.const 8)
@@ -4602,7 +4606,7 @@
)
(block
(set_local $42
- (get_local $7)
+ (get_local $6)
)
(set_local $34
(get_local $10)
@@ -4634,18 +4638,18 @@
)
(i32.store
(get_local $42)
- (get_local $3)
+ (get_local $4)
)
(i32.store offset=12
(get_local $34)
- (get_local $3)
+ (get_local $4)
)
(i32.store offset=8
- (get_local $3)
+ (get_local $4)
(get_local $34)
)
(i32.store offset=12
- (get_local $3)
+ (get_local $4)
(get_local $0)
)
(br $do-once44)
@@ -4718,7 +4722,7 @@
(i32.and
(i32.shr_u
(i32.add
- (tee_local $7
+ (tee_local $6
(i32.shl
(get_local $1)
(get_local $10)
@@ -4735,7 +4739,7 @@
)
(i32.shr_u
(i32.shl
- (get_local $7)
+ (get_local $6)
(get_local $1)
)
(i32.const 15)
@@ -4763,13 +4767,13 @@
)
)
(i32.store offset=28
- (get_local $3)
+ (get_local $4)
(get_local $1)
)
(i32.store offset=4
(tee_local $0
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.const 16)
)
)
@@ -4805,19 +4809,19 @@
)
(i32.store
(get_local $2)
- (get_local $3)
+ (get_local $4)
)
(i32.store offset=24
- (get_local $3)
+ (get_local $4)
(get_local $2)
)
(i32.store offset=12
- (get_local $3)
- (get_local $3)
+ (get_local $4)
+ (get_local $4)
)
(i32.store offset=8
- (get_local $3)
- (get_local $3)
+ (get_local $4)
+ (get_local $4)
)
(br $do-once44)
)
@@ -4862,7 +4866,7 @@
(set_local $35
(get_local $0)
)
- (set_local $8
+ (set_local $7
(i32.const 281)
)
(br $while-out63)
@@ -4907,7 +4911,7 @@
(set_local $51
(get_local $0)
)
- (set_local $8
+ (set_local $7
(i32.const 278)
)
)
@@ -4916,7 +4920,7 @@
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 278)
)
(if
@@ -4930,25 +4934,25 @@
(block
(i32.store
(get_local $43)
- (get_local $3)
+ (get_local $4)
)
(i32.store offset=24
- (get_local $3)
+ (get_local $4)
(get_local $51)
)
(i32.store offset=12
- (get_local $3)
- (get_local $3)
+ (get_local $4)
+ (get_local $4)
)
(i32.store offset=8
- (get_local $3)
- (get_local $3)
+ (get_local $4)
+ (get_local $4)
)
)
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 281)
)
(if
@@ -4978,22 +4982,22 @@
(block
(i32.store offset=12
(get_local $16)
- (get_local $3)
+ (get_local $4)
)
(i32.store
(get_local $0)
- (get_local $3)
+ (get_local $4)
)
(i32.store offset=8
- (get_local $3)
+ (get_local $4)
(get_local $16)
)
(i32.store offset=12
- (get_local $3)
+ (get_local $4)
(get_local $35)
)
(i32.store offset=24
- (get_local $3)
+ (get_local $4)
(i32.const 0)
)
)
@@ -5016,10 +5020,10 @@
)
(i32.store
(i32.const 200)
- (get_local $3)
+ (get_local $4)
)
(i32.store offset=4
- (get_local $3)
+ (get_local $4)
(i32.or
(get_local $16)
(i32.const 1)
@@ -5041,7 +5045,7 @@
(if
(if i32
(i32.le_u
- (tee_local $3
+ (tee_local $4
(i32.load
(get_local $28)
)
@@ -5051,7 +5055,7 @@
(i32.gt_u
(tee_local $14
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.load offset=4
(get_local $28)
)
@@ -5085,12 +5089,12 @@
(i32.const 8)
)
)
- (set_local $3
+ (set_local $4
(i32.add
(tee_local $12
(select
(get_local $13)
- (tee_local $3
+ (tee_local $4
(i32.add
(get_local $12)
(select
@@ -5110,7 +5114,7 @@
)
)
(i32.lt_u
- (get_local $3)
+ (get_local $4)
(tee_local $14
(i32.add
(get_local $13)
@@ -5125,7 +5129,7 @@
)
(i32.store
(i32.const 200)
- (tee_local $4
+ (tee_local $3
(i32.add
(get_local $20)
(tee_local $18
@@ -5133,7 +5137,7 @@
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $4
+ (tee_local $3
(i32.add
(get_local $20)
(i32.const 8)
@@ -5144,7 +5148,7 @@
)
(i32.const 0)
(i32.and
- (get_local $4)
+ (get_local $3)
(i32.const 7)
)
)
@@ -5165,7 +5169,7 @@
)
)
(i32.store offset=4
- (get_local $4)
+ (get_local $3)
(i32.or
(get_local $16)
(i32.const 1)
@@ -5173,7 +5177,7 @@
)
(i32.store offset=4
(i32.add
- (get_local $4)
+ (get_local $3)
(get_local $16)
)
(i32.const 40)
@@ -5194,25 +5198,25 @@
(i32.const 27)
)
(i32.store
- (get_local $3)
+ (get_local $4)
(i32.load
(i32.const 624)
)
)
(i32.store offset=4
- (get_local $3)
+ (get_local $4)
(i32.load
(i32.const 628)
)
)
(i32.store offset=8
- (get_local $3)
+ (get_local $4)
(i32.load
(i32.const 632)
)
)
(i32.store offset=12
- (get_local $3)
+ (get_local $4)
(i32.load
(i32.const 636)
)
@@ -5231,9 +5235,9 @@
)
(i32.store
(i32.const 632)
- (get_local $3)
+ (get_local $4)
)
- (set_local $3
+ (set_local $4
(i32.add
(get_local $12)
(i32.const 24)
@@ -5241,9 +5245,9 @@
)
(loop $do-in68
(i32.store
- (tee_local $3
+ (tee_local $4
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.const 4)
)
)
@@ -5252,7 +5256,7 @@
(br_if $do-in68
(i32.lt_u
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.const 4)
)
(get_local $0)
@@ -5277,7 +5281,7 @@
(i32.store offset=4
(get_local $13)
(i32.or
- (tee_local $3
+ (tee_local $4
(i32.sub
(get_local $12)
(get_local $13)
@@ -5288,17 +5292,17 @@
)
(i32.store
(get_local $12)
- (get_local $3)
+ (get_local $4)
)
- (set_local $4
+ (set_local $3
(i32.shr_u
- (get_local $3)
+ (get_local $4)
(i32.const 3)
)
)
(if
(i32.lt_u
- (get_local $3)
+ (get_local $4)
(i32.const 256)
)
(block
@@ -5306,7 +5310,7 @@
(i32.add
(i32.shl
(i32.shl
- (get_local $4)
+ (get_local $3)
(i32.const 1)
)
(i32.const 2)
@@ -5324,7 +5328,7 @@
(tee_local $1
(i32.shl
(i32.const 1)
- (get_local $4)
+ (get_local $3)
)
)
)
@@ -5332,7 +5336,7 @@
(i32.lt_u
(tee_local $2
(i32.load
- (tee_local $4
+ (tee_local $3
(i32.add
(get_local $18)
(i32.const 8)
@@ -5347,7 +5351,7 @@
(call $_abort)
(block
(set_local $44
- (get_local $4)
+ (get_local $3)
)
(set_local $36
(get_local $2)
@@ -5392,29 +5396,29 @@
(br $do-once40)
)
)
- (set_local $4
+ (set_local $3
(i32.add
(i32.shl
(tee_local $1
(if i32
(tee_local $18
(i32.shr_u
- (get_local $3)
+ (get_local $4)
(i32.const 8)
)
)
(if i32
(i32.gt_u
- (get_local $3)
+ (get_local $4)
(i32.const 16777215)
)
(i32.const 31)
(i32.or
(i32.and
(i32.shr_u
- (get_local $3)
+ (get_local $4)
(i32.add
- (tee_local $4
+ (tee_local $3
(i32.add
(i32.sub
(i32.const 14)
@@ -5484,7 +5488,7 @@
(i32.const 1)
)
(i32.shl
- (get_local $4)
+ (get_local $3)
(i32.const 1)
)
)
@@ -5534,12 +5538,12 @@
)
)
(i32.store
- (get_local $4)
+ (get_local $3)
(get_local $13)
)
(i32.store offset=24
(get_local $13)
- (get_local $4)
+ (get_local $3)
)
(i32.store offset=12
(get_local $13)
@@ -5554,7 +5558,7 @@
)
(set_local $2
(i32.shl
- (get_local $3)
+ (get_local $4)
(select
(i32.const 0)
(i32.sub
@@ -5573,7 +5577,7 @@
)
(set_local $0
(i32.load
- (get_local $4)
+ (get_local $3)
)
)
(loop $while-in70
@@ -5586,13 +5590,13 @@
)
(i32.const -8)
)
- (get_local $3)
+ (get_local $4)
)
(block
(set_local $37
(get_local $0)
)
- (set_local $8
+ (set_local $7
(i32.const 307)
)
(br $while-out69)
@@ -5601,7 +5605,7 @@
(if
(tee_local $1
(i32.load
- (tee_local $4
+ (tee_local $3
(i32.add
(i32.add
(get_local $0)
@@ -5632,12 +5636,12 @@
)
(block
(set_local $45
- (get_local $4)
+ (get_local $3)
)
(set_local $52
(get_local $0)
)
- (set_local $8
+ (set_local $7
(i32.const 304)
)
)
@@ -5646,7 +5650,7 @@
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 304)
)
(if
@@ -5678,7 +5682,7 @@
)
(if
(i32.eq
- (get_local $8)
+ (get_local $7)
(i32.const 307)
)
(if
@@ -5694,7 +5698,7 @@
)
)
)
- (tee_local $3
+ (tee_local $4
(i32.load
(i32.const 192)
)
@@ -5702,7 +5706,7 @@
)
(i32.ge_u
(get_local $37)
- (get_local $3)
+ (get_local $4)
)
)
(block
@@ -5842,7 +5846,7 @@
)
(i32.store
(i32.const 188)
- (tee_local $3
+ (tee_local $4
(i32.sub
(i32.add
(get_local $22)
@@ -5855,14 +5859,14 @@
(i32.store offset=4
(get_local $2)
(i32.or
- (get_local $3)
+ (get_local $4)
(i32.const 1)
)
)
(i32.store offset=4
(i32.add
(get_local $2)
- (get_local $3)
+ (get_local $4)
)
(i32.const 40)
)
@@ -7823,7 +7827,7 @@
(get_local $10)
)
(i32.store
- (tee_local $4
+ (tee_local $3
(i32.add
(get_local $10)
(i32.const 32)
@@ -7841,7 +7845,7 @@
)
)
(i32.store offset=4
- (get_local $4)
+ (get_local $3)
(tee_local $9
(i32.sub
(i32.load
@@ -7857,11 +7861,11 @@
)
)
(i32.store offset=8
- (get_local $4)
+ (get_local $3)
(get_local $1)
)
(i32.store offset=12
- (get_local $4)
+ (get_local $3)
(get_local $2)
)
(set_local $1
@@ -7876,13 +7880,13 @@
(i32.const 44)
)
)
- (set_local $5
- (get_local $4)
- )
(set_local $4
- (i32.const 2)
+ (get_local $3)
)
(set_local $3
+ (i32.const 2)
+ )
+ (set_local $5
(i32.add
(get_local $9)
(get_local $2)
@@ -7892,7 +7896,7 @@
(block $while-out
(if
(i32.eq
- (get_local $3)
+ (get_local $5)
(tee_local $6
(if i32
(i32.load
@@ -7911,11 +7915,11 @@
)
(i32.store offset=4
(get_local $12)
- (get_local $5)
+ (get_local $4)
)
(i32.store offset=8
(get_local $12)
- (get_local $4)
+ (get_local $3)
)
(set_local $9
(call $___syscall_ret
@@ -7939,11 +7943,11 @@
)
(i32.store offset=4
(get_local $11)
- (get_local $5)
+ (get_local $4)
)
(i32.store offset=8
(get_local $11)
- (get_local $4)
+ (get_local $3)
)
(call $___syscall_ret
(call $___syscall146
@@ -7969,124 +7973,114 @@
)
(block
(set_local $16
- (get_local $5)
+ (get_local $4)
)
(set_local $17
- (get_local $4)
+ (get_local $3)
)
(set_local $1
(i32.const 8)
)
+ (br $while-out)
)
- (block
- (set_local $9
- (i32.sub
- (get_local $3)
- (get_local $6)
+ )
+ (set_local $9
+ (i32.sub
+ (get_local $5)
+ (get_local $6)
+ )
+ )
+ (if
+ (i32.le_u
+ (get_local $6)
+ (tee_local $14
+ (i32.load offset=4
+ (get_local $4)
)
)
- (set_local $5
- (if i32
- (i32.le_u
- (get_local $6)
- (tee_local $14
- (i32.load offset=4
- (get_local $5)
- )
- )
- )
- (if i32
- (i32.eq
- (get_local $4)
- (i32.const 2)
- )
- (block i32
- (i32.store
+ )
+ (set_local $5
+ (if i32
+ (i32.eq
+ (get_local $3)
+ (i32.const 2)
+ )
+ (block i32
+ (i32.store
+ (get_local $8)
+ (i32.add
+ (i32.load
(get_local $8)
- (i32.add
- (i32.load
- (get_local $8)
- )
- (get_local $6)
- )
- )
- (set_local $3
- (get_local $5)
)
- (set_local $4
- (i32.const 2)
- )
- (get_local $14)
- )
- (block i32
- (set_local $3
- (get_local $5)
- )
- (get_local $14)
+ (get_local $6)
)
)
- (block i32
- (i32.store
- (get_local $8)
- (tee_local $3
- (i32.load
- (get_local $7)
- )
- )
- )
- (i32.store
- (get_local $13)
- (get_local $3)
- )
- (set_local $6
- (i32.sub
- (get_local $6)
- (get_local $14)
- )
- )
- (set_local $3
- (i32.add
- (get_local $5)
- (i32.const 8)
- )
- )
- (set_local $4
- (i32.add
- (get_local $4)
- (i32.const -1)
- )
- )
- (i32.load offset=12
- (get_local $5)
- )
+ (set_local $3
+ (i32.const 2)
)
+ (get_local $14)
)
+ (get_local $14)
)
+ )
+ (block
(i32.store
- (get_local $3)
- (i32.add
+ (get_local $8)
+ (tee_local $5
(i32.load
- (get_local $3)
+ (get_local $7)
)
- (get_local $6)
)
)
- (i32.store offset=4
- (get_local $3)
+ (i32.store
+ (get_local $13)
+ (get_local $5)
+ )
+ (set_local $5
+ (i32.load offset=12
+ (get_local $4)
+ )
+ )
+ (set_local $6
(i32.sub
- (get_local $5)
(get_local $6)
+ (get_local $14)
)
)
- (set_local $5
- (get_local $3)
+ (set_local $4
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
(set_local $3
- (get_local $9)
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
+ )
)
- (br $while-in)
)
)
+ (i32.store
+ (get_local $4)
+ (i32.add
+ (i32.load
+ (get_local $4)
+ )
+ (get_local $6)
+ )
+ )
+ (i32.store offset=4
+ (get_local $4)
+ (i32.sub
+ (get_local $5)
+ (get_local $6)
+ )
+ )
+ (set_local $5
+ (get_local $9)
+ )
+ (br $while-in)
)
)
(if
@@ -8098,7 +8092,7 @@
(i32.store offset=16
(get_local $0)
(i32.add
- (tee_local $3
+ (tee_local $5
(i32.load
(get_local $7)
)
@@ -8111,7 +8105,7 @@
(i32.store
(get_local $8)
(tee_local $7
- (get_local $3)
+ (get_local $5)
)
)
(i32.store
@@ -8263,107 +8257,99 @@
(set_local $4
(get_local $3)
)
- (set_local $1
- (block $label$break$L10 i32
- (if i32
- (i32.gt_s
- (i32.load8_s offset=75
- (get_local $2)
- )
- (i32.const -1)
+ (block $label$break$L10
+ (if
+ (i32.gt_s
+ (i32.load8_s offset=75
+ (get_local $2)
)
- (block i32
- (set_local $3
- (get_local $1)
- )
- (loop $while-in
- (if
- (i32.eqz
- (get_local $3)
- )
- (block
- (set_local $2
- (i32.const 0)
- )
- (br $label$break$L10
- (get_local $1)
- )
- )
+ (i32.const -1)
+ )
+ (block
+ (set_local $3
+ (get_local $1)
+ )
+ (loop $while-in
+ (if
+ (i32.eqz
+ (get_local $3)
)
- (if
- (i32.ne
- (i32.load8_s
- (i32.add
- (get_local $0)
- (tee_local $6
- (i32.add
- (get_local $3)
- (i32.const -1)
- )
- )
- )
- )
- (i32.const 10)
- )
- (block
- (set_local $3
- (get_local $6)
- )
- (br $while-in)
+ (block
+ (set_local $3
+ (i32.const 0)
)
+ (br $label$break$L10)
)
)
(if
- (i32.lt_u
- (call_indirect $FUNCSIG$iiii
- (get_local $2)
- (get_local $0)
- (get_local $3)
+ (i32.ne
+ (i32.load8_s
(i32.add
- (i32.and
- (i32.load offset=36
- (get_local $2)
+ (get_local $0)
+ (tee_local $6
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
)
- (i32.const 7)
)
- (i32.const 2)
)
)
- (get_local $3)
+ (i32.const 10)
)
(block
- (set_local $4
- (get_local $3)
+ (set_local $3
+ (get_local $6)
)
- (br $label$break$L5)
+ (br $while-in)
)
)
- (set_local $0
- (i32.add
+ )
+ (if
+ (i32.lt_u
+ (call_indirect $FUNCSIG$iiii
+ (get_local $2)
(get_local $0)
(get_local $3)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $2)
+ )
+ (i32.const 7)
+ )
+ (i32.const 2)
+ )
)
+ (get_local $3)
)
- (set_local $4
- (i32.load
- (get_local $5)
+ (block
+ (set_local $4
+ (get_local $3)
)
+ (br $label$break$L5)
)
- (set_local $2
- (get_local $3)
- )
+ )
+ (set_local $1
(i32.sub
(get_local $1)
(get_local $3)
)
)
- (block i32
- (set_local $2
- (i32.const 0)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (get_local $3)
+ )
+ )
+ (set_local $4
+ (i32.load
+ (get_local $5)
)
- (get_local $1)
)
)
+ (set_local $3
+ (i32.const 0)
+ )
)
)
(drop
@@ -8384,7 +8370,7 @@
)
(set_local $4
(i32.add
- (get_local $2)
+ (get_local $3)
(get_local $1)
)
)
@@ -8396,10 +8382,10 @@
(func $_fflush (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
- (block $do-once i32
- (if i32
+ (block $do-once
+ (if
(get_local $0)
- (block i32
+ (block
(if
(i32.le_s
(i32.load offset=76
@@ -8407,10 +8393,13 @@
)
(i32.const -1)
)
- (br $do-once
- (call $___fflush_unlocked
- (get_local $0)
+ (block
+ (set_local $2
+ (call $___fflush_unlocked
+ (get_local $0)
+ )
)
+ (br $do-once)
)
)
(set_local $1
@@ -8425,18 +8414,16 @@
(get_local $0)
)
)
- (if i32
- (get_local $1)
- (get_local $2)
- (block i32
- (call $___unlockfile
- (get_local $0)
- )
- (get_local $2)
+ (if
+ (i32.eqz
+ (get_local $1)
+ )
+ (call $___unlockfile
+ (get_local $0)
)
)
)
- (block i32
+ (block
(set_local $0
(if i32
(i32.load
@@ -8512,19 +8499,19 @@
)
)
)
- (set_local $0
- (get_local $2)
- )
)
)
+ (set_local $2
+ (get_local $0)
+ )
)
(call $___unlock
(i32.const 36)
)
- (get_local $0)
)
)
)
+ (get_local $2)
)
(func $_strlen (param $0 i32) (result i32)
(local $1 i32)
@@ -8571,13 +8558,11 @@
(i32.const 3)
)
)
- (block
- (set_local $1
- (get_local $0)
- )
- (set_local $2
- (i32.const 4)
- )
+ (set_local $1
+ (get_local $0)
+ )
+ (set_local $2
+ (i32.const 4)
)
)
)
@@ -8839,117 +8824,119 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
- (if i32
+ (tee_local $0
(if i32
- (i32.gt_u
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 20)
+ (if i32
+ (i32.gt_u
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 20)
+ )
)
)
- )
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $0)
- (i32.const 28)
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $0)
+ (i32.const 28)
+ )
)
)
)
- )
- (block i32
- (drop
- (call_indirect $FUNCSIG$iiii
- (get_local $0)
- (i32.const 0)
- (i32.const 0)
- (i32.add
- (i32.and
- (i32.load offset=36
- (get_local $0)
+ (block i32
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $0)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (i32.eqz
- (i32.load
- (get_local $1)
+ (i32.eqz
+ (i32.load
+ (get_local $1)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (i32.const -1)
- (block i32
- (if
- (i32.lt_u
- (tee_local $4
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $0)
- (i32.const 4)
+ (i32.const -1)
+ (block i32
+ (if
+ (i32.lt_u
+ (tee_local $4
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
)
)
)
- )
- (tee_local $6
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $0)
- (i32.const 8)
+ (tee_local $6
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
)
)
)
)
- )
- (drop
- (call_indirect $FUNCSIG$iiii
- (get_local $0)
- (i32.sub
- (get_local $4)
- (get_local $6)
- )
- (i32.const 1)
- (i32.add
- (i32.and
- (i32.load offset=40
- (get_local $0)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.sub
+ (get_local $4)
+ (get_local $6)
+ )
+ (i32.const 1)
+ (i32.add
+ (i32.and
+ (i32.load offset=40
+ (get_local $0)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.store offset=16
- (get_local $0)
- (i32.const 0)
- )
- (i32.store
- (get_local $2)
- (i32.const 0)
- )
- (i32.store
- (get_local $1)
- (i32.const 0)
- )
- (i32.store
- (get_local $5)
- (i32.const 0)
- )
- (i32.store
- (get_local $3)
+ (i32.store offset=16
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $2)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $1)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $3)
+ (i32.const 0)
+ )
(i32.const 0)
)
- (i32.const 0)
)
)
)
@@ -9435,56 +9422,58 @@
(get_local $2)
)
)
- (if i32
- (i32.and
- (tee_local $2
- (i32.load
- (get_local $0)
+ (tee_local $0
+ (if i32
+ (i32.and
+ (tee_local $2
+ (i32.load
+ (get_local $0)
+ )
)
+ (i32.const 8)
)
- (i32.const 8)
- )
- (block i32
- (i32.store
- (get_local $0)
- (i32.or
- (get_local $2)
- (i32.const 32)
+ (block i32
+ (i32.store
+ (get_local $0)
+ (i32.or
+ (get_local $2)
+ (i32.const 32)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
- )
- (block i32
- (i32.store offset=8
- (get_local $0)
- (i32.const 0)
- )
- (i32.store offset=4
- (get_local $0)
- (i32.const 0)
- )
- (i32.store offset=28
- (get_local $0)
- (tee_local $1
- (i32.load offset=44
- (get_local $0)
+ (block i32
+ (i32.store offset=8
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store offset=28
+ (get_local $0)
+ (tee_local $1
+ (i32.load offset=44
+ (get_local $0)
+ )
)
)
- )
- (i32.store offset=20
- (get_local $0)
- (get_local $1)
- )
- (i32.store offset=16
- (get_local $0)
- (i32.add
+ (i32.store offset=20
+ (get_local $0)
(get_local $1)
- (i32.load offset=48
- (get_local $0)
+ )
+ (i32.store offset=16
+ (get_local $0)
+ (i32.add
+ (get_local $1)
+ (i32.load offset=48
+ (get_local $0)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
@@ -9497,57 +9486,58 @@
(get_local $1)
)
)
- (if i32
- (i32.eq
- (tee_local $0
- (if i32
- (i32.gt_s
- (i32.load offset=76
- (get_local $3)
- )
- (i32.const -1)
- )
- (block i32
- (set_local $5
- (i32.eqz
- (call $___lockfile
- (get_local $3)
- )
- )
- )
- (set_local $0
- (call $___fwritex
- (get_local $0)
- (get_local $4)
- (get_local $3)
- )
- )
- (if i32
- (get_local $5)
- (get_local $0)
- (block i32
- (call $___unlockfile
- (get_local $3)
- )
- (get_local $0)
- )
- )
- )
- (call $___fwritex
- (get_local $0)
- (get_local $4)
+ (if
+ (i32.gt_s
+ (i32.load offset=76
+ (get_local $3)
+ )
+ (i32.const -1)
+ )
+ (block
+ (set_local $5
+ (i32.eqz
+ (call $___lockfile
(get_local $3)
)
)
)
- (get_local $4)
+ (set_local $0
+ (call $___fwritex
+ (get_local $0)
+ (get_local $4)
+ (get_local $3)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $5)
+ )
+ (call $___unlockfile
+ (get_local $3)
+ )
+ )
)
- (get_local $2)
- (i32.div_u
+ (set_local $0
+ (call $___fwritex
+ (get_local $0)
+ (get_local $4)
+ (get_local $3)
+ )
+ )
+ )
+ (if
+ (i32.ne
(get_local $0)
- (get_local $1)
+ (get_local $4)
+ )
+ (set_local $2
+ (i32.div_u
+ (get_local $0)
+ (get_local $1)
+ )
)
)
+ (get_local $2)
)
(func $___stdout_write (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm
index 043ad0d96..8dca5e3e3 100644
--- a/test/emcc_hello_world.fromasm
+++ b/test/emcc_hello_world.fromasm
@@ -202,30 +202,29 @@
(get_global $tempDoublePtr)
(get_local $0)
)
- (set_local $2
- (call $_bitshift64Lshr
- (tee_local $3
- (i32.load
- (get_global $tempDoublePtr)
- )
- )
- (tee_local $4
- (i32.load offset=4
- (get_global $tempDoublePtr)
- )
- )
- (i32.const 52)
- )
- )
- (block $switch f64
+ (block $switch
(block $switch-default
(block $switch-case0
(block $switch-case
(br_table $switch-case $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case0 $switch-default
(i32.sub
- (tee_local $2
+ (tee_local $3
(i32.and
- (get_local $2)
+ (tee_local $3
+ (call $_bitshift64Lshr
+ (tee_local $2
+ (i32.load
+ (get_global $tempDoublePtr)
+ )
+ )
+ (tee_local $4
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
+ )
+ )
+ (i32.const 52)
+ )
+ )
(i32.const 2047)
)
)
@@ -235,49 +234,47 @@
)
(i32.store
(get_local $1)
- (if i32
- (f64.ne
- (get_local $0)
- (f64.const 0)
- )
- (block i32
- (set_local $0
- (call $_frexp
- (f64.mul
- (get_local $0)
- (f64.const 18446744073709551615)
+ (tee_local $2
+ (if i32
+ (f64.ne
+ (get_local $0)
+ (f64.const 0)
+ )
+ (block i32
+ (set_local $0
+ (call $_frexp
+ (f64.mul
+ (get_local $0)
+ (f64.const 18446744073709551615)
+ )
+ (get_local $1)
)
- (get_local $1)
)
- )
- (i32.add
- (i32.load
- (get_local $1)
+ (i32.add
+ (i32.load
+ (get_local $1)
+ )
+ (i32.const -64)
)
- (i32.const -64)
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
- (br $switch
- (get_local $0)
- )
- )
- (br $switch
- (get_local $0)
+ (br $switch)
)
+ (br $switch)
)
(i32.store
(get_local $1)
(i32.add
- (get_local $2)
+ (get_local $3)
(i32.const -1022)
)
)
(i32.store
(get_global $tempDoublePtr)
- (get_local $3)
+ (get_local $2)
)
(i32.store offset=4
(get_global $tempDoublePtr)
@@ -289,10 +286,13 @@
(i32.const 1071644672)
)
)
- (f64.load
- (get_global $tempDoublePtr)
+ (set_local $0
+ (f64.load
+ (get_global $tempDoublePtr)
+ )
)
)
+ (get_local $0)
)
(func $_frexpl (param $0 f64) (param $1 i32) (result f64)
(call $_frexp
@@ -331,16 +331,14 @@
(i32.const 87)
)
)
- (block
- (set_local $3
- (i32.const 87)
- )
- (set_local $2
- (i32.const 775)
- )
- (set_local $4
- (i32.const 5)
- )
+ (set_local $3
+ (i32.const 87)
+ )
+ (set_local $2
+ (i32.const 775)
+ )
+ (set_local $4
+ (i32.const 5)
)
)
(br $jumpthreading$outer$0)
@@ -620,10 +618,10 @@
(func $_fflush (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
- (block $do-once i32
- (if i32
+ (block $do-once
+ (if
(get_local $0)
- (block i32
+ (block
(if
(i32.le_s
(i32.load offset=76
@@ -631,10 +629,13 @@
)
(i32.const -1)
)
- (br $do-once
- (call $___fflush_unlocked
- (get_local $0)
+ (block
+ (set_local $0
+ (call $___fflush_unlocked
+ (get_local $0)
+ )
)
+ (br $do-once)
)
)
(set_local $2
@@ -649,18 +650,20 @@
(get_local $0)
)
)
- (if i32
- (get_local $2)
- (get_local $1)
- (block i32
- (call $___unlockfile
- (get_local $0)
- )
+ (set_local $0
+ (if i32
+ (get_local $2)
(get_local $1)
+ (block i32
+ (call $___unlockfile
+ (get_local $0)
+ )
+ (get_local $1)
+ )
)
)
)
- (block i32
+ (block
(set_local $0
(if i32
(i32.load
@@ -734,10 +737,10 @@
(call $___unlock
(i32.const 44)
)
- (get_local $0)
)
)
)
+ (get_local $0)
)
(func $_printf (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
@@ -797,7 +800,6 @@
(local $12 i32)
(local $13 i32)
(local $14 i32)
- (local $15 i32)
(set_local $8
(get_global $STACKTOP)
)
@@ -824,15 +826,15 @@
(get_local $8)
)
(i32.store
- (tee_local $3
+ (tee_local $4
(i32.add
(get_local $8)
(i32.const 32)
)
)
- (tee_local $4
+ (tee_local $3
(i32.load
- (tee_local $7
+ (tee_local $6
(i32.add
(get_local $0)
(i32.const 28)
@@ -842,8 +844,8 @@
)
)
(i32.store offset=4
- (get_local $3)
- (tee_local $6
+ (get_local $4)
+ (tee_local $3
(i32.sub
(i32.load
(tee_local $11
@@ -853,280 +855,265 @@
)
)
)
- (get_local $4)
+ (get_local $3)
)
)
)
(i32.store offset=8
- (get_local $3)
+ (get_local $4)
(get_local $1)
)
(i32.store offset=12
- (get_local $3)
+ (get_local $4)
(get_local $2)
)
- (set_local $14
+ (set_local $13
(i32.add
(get_local $0)
(i32.const 60)
)
)
- (set_local $15
+ (set_local $14
(i32.add
(get_local $0)
(i32.const 44)
)
)
(set_local $1
- (get_local $3)
+ (get_local $4)
)
(set_local $4
(i32.const 2)
)
(set_local $12
(i32.add
- (get_local $6)
+ (get_local $3)
(get_local $2)
)
)
- (set_local $0
- (block $jumpthreading$outer$1 i32
- (block $jumpthreading$inner$1
- (block $jumpthreading$inner$0
- (loop $while-in
- (br_if $jumpthreading$inner$0
- (i32.eq
- (get_local $12)
- (tee_local $5
- (if i32
- (i32.load
- (i32.const 16)
- )
- (block i32
- (call $_pthread_cleanup_push
- (i32.const 5)
- (get_local $0)
- )
- (i32.store
- (get_local $10)
- (i32.load
- (get_local $14)
- )
- )
- (i32.store offset=4
- (get_local $10)
- (get_local $1)
- )
- (i32.store offset=8
- (get_local $10)
- (get_local $4)
- )
- (set_local $3
- (call $___syscall_ret
- (call $___syscall146
- (i32.const 146)
- (get_local $10)
- )
- )
- )
- (call $_pthread_cleanup_pop
- (i32.const 0)
- )
- (get_local $3)
- )
- (block i32
- (i32.store
- (get_local $9)
- (i32.load
- (get_local $14)
- )
- )
- (i32.store offset=4
- (get_local $9)
- (get_local $1)
- )
- (i32.store offset=8
- (get_local $9)
- (get_local $4)
- )
- (call $___syscall_ret
- (call $___syscall146
- (i32.const 146)
- (get_local $9)
- )
- )
- )
+ (block $jumpthreading$outer$1
+ (block $jumpthreading$inner$1
+ (block $jumpthreading$inner$0
+ (loop $while-in
+ (if
+ (i32.load
+ (i32.const 16)
+ )
+ (block
+ (call $_pthread_cleanup_push
+ (i32.const 5)
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $10)
+ (i32.load
+ (get_local $13)
+ )
+ )
+ (i32.store offset=4
+ (get_local $10)
+ (get_local $1)
+ )
+ (i32.store offset=8
+ (get_local $10)
+ (get_local $4)
+ )
+ (set_local $3
+ (call $___syscall_ret
+ (call $___syscall146
+ (i32.const 146)
+ (get_local $10)
)
)
)
- )
- (br_if $jumpthreading$inner$1
- (i32.lt_s
- (get_local $5)
+ (call $_pthread_cleanup_pop
(i32.const 0)
)
)
(block
- (set_local $1
- (if i32
- (i32.gt_u
- (get_local $5)
- (tee_local $13
- (i32.load offset=4
- (get_local $1)
- )
- )
- )
- (block i32
- (i32.store
- (get_local $7)
- (tee_local $3
- (i32.load
- (get_local $15)
- )
- )
- )
- (i32.store
- (get_local $11)
- (get_local $3)
- )
- (set_local $6
- (i32.sub
- (get_local $5)
- (get_local $13)
- )
- )
- (set_local $3
- (i32.add
- (get_local $1)
- (i32.const 8)
- )
- )
- (set_local $4
- (i32.add
- (get_local $4)
- (i32.const -1)
- )
- )
- (i32.load offset=12
- (get_local $1)
- )
- )
- (if i32
- (i32.eq
- (get_local $4)
- (i32.const 2)
- )
- (block i32
- (i32.store
- (get_local $7)
- (i32.add
- (i32.load
- (get_local $7)
- )
- (get_local $5)
- )
- )
- (set_local $6
- (get_local $5)
- )
- (set_local $3
- (get_local $1)
- )
- (set_local $4
- (i32.const 2)
- )
- (get_local $13)
- )
- (block i32
- (set_local $6
- (get_local $5)
- )
- (set_local $3
- (get_local $1)
- )
- (get_local $13)
- )
+ (i32.store
+ (get_local $9)
+ (i32.load
+ (get_local $13)
+ )
+ )
+ (i32.store offset=4
+ (get_local $9)
+ (get_local $1)
+ )
+ (i32.store offset=8
+ (get_local $9)
+ (get_local $4)
+ )
+ (set_local $3
+ (call $___syscall_ret
+ (call $___syscall146
+ (i32.const 146)
+ (get_local $9)
)
)
)
- (i32.store
+ )
+ )
+ (br_if $jumpthreading$inner$0
+ (i32.eq
+ (get_local $12)
+ (get_local $3)
+ )
+ )
+ (br_if $jumpthreading$inner$1
+ (i32.lt_s
+ (get_local $3)
+ (i32.const 0)
+ )
+ )
+ (set_local $5
+ (if i32
+ (i32.gt_u
(get_local $3)
- (i32.add
- (i32.load
- (get_local $3)
+ (tee_local $5
+ (i32.load offset=4
+ (get_local $1)
)
- (get_local $6)
)
)
- (i32.store offset=4
- (get_local $3)
- (i32.sub
- (get_local $1)
+ (block i32
+ (i32.store
(get_local $6)
+ (tee_local $7
+ (i32.load
+ (get_local $14)
+ )
+ )
+ )
+ (i32.store
+ (get_local $11)
+ (get_local $7)
+ )
+ (set_local $7
+ (i32.load offset=12
+ (get_local $1)
+ )
+ )
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
+ )
+ (set_local $4
+ (i32.add
+ (get_local $4)
+ (i32.const -1)
+ )
)
- )
- (set_local $1
- (get_local $3)
- )
- (set_local $12
(i32.sub
- (get_local $12)
+ (get_local $3)
(get_local $5)
)
)
- (br $while-in)
+ (if i32
+ (i32.eq
+ (get_local $4)
+ (i32.const 2)
+ )
+ (block i32
+ (i32.store
+ (get_local $6)
+ (i32.add
+ (i32.load
+ (get_local $6)
+ )
+ (get_local $3)
+ )
+ )
+ (set_local $7
+ (get_local $5)
+ )
+ (set_local $4
+ (i32.const 2)
+ )
+ (get_local $3)
+ )
+ (block i32
+ (set_local $7
+ (get_local $5)
+ )
+ (get_local $3)
+ )
+ )
)
)
- )
- (i32.store offset=16
- (get_local $0)
- (i32.add
- (tee_local $1
+ (i32.store
+ (get_local $1)
+ (i32.add
(i32.load
- (get_local $15)
+ (get_local $1)
)
- )
- (i32.load offset=48
- (get_local $0)
+ (get_local $5)
)
)
- )
- (i32.store
- (get_local $7)
- (tee_local $0
+ (i32.store offset=4
(get_local $1)
+ (i32.sub
+ (get_local $7)
+ (get_local $5)
+ )
)
- )
- (i32.store
- (get_local $11)
- (get_local $0)
- )
- (br $jumpthreading$outer$1
- (get_local $2)
+ (set_local $12
+ (i32.sub
+ (get_local $12)
+ (get_local $3)
+ )
+ )
+ (br $while-in)
)
)
(i32.store offset=16
(get_local $0)
- (i32.const 0)
+ (i32.add
+ (tee_local $1
+ (i32.load
+ (get_local $14)
+ )
+ )
+ (i32.load offset=48
+ (get_local $0)
+ )
+ )
)
(i32.store
- (get_local $7)
- (i32.const 0)
+ (get_local $6)
+ (get_local $1)
)
(i32.store
(get_local $11)
- (i32.const 0)
+ (get_local $1)
)
- (i32.store
- (get_local $0)
- (i32.or
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ (br $jumpthreading$outer$1)
+ )
+ (i32.store offset=16
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $11)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $0)
+ (i32.or
+ (i32.load
+ (get_local $0)
)
+ (i32.const 32)
)
+ )
+ (set_local $2
(select
(i32.const 0)
(i32.sub
@@ -1145,7 +1132,7 @@
(set_global $STACKTOP
(get_local $8)
)
- (get_local $0)
+ (get_local $2)
)
(func $_vfprintf (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
@@ -1160,7 +1147,7 @@
(local $12 i32)
(local $13 i32)
(local $14 i32)
- (set_local $3
+ (set_local $4
(get_global $STACKTOP)
)
(set_global $STACKTOP
@@ -1178,25 +1165,25 @@
)
(set_local $5
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.const 120)
)
)
(set_local $7
- (get_local $3)
+ (get_local $4)
)
(set_local $6
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.const 136)
)
)
(set_local $9
(i32.add
- (tee_local $4
+ (tee_local $3
(tee_local $8
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.const 80)
)
)
@@ -1206,14 +1193,14 @@
)
(loop $do-in
(i32.store
- (get_local $4)
+ (get_local $3)
(i32.const 0)
)
(br_if $do-in
(i32.lt_s
- (tee_local $4
+ (tee_local $3
(i32.add
- (get_local $4)
+ (get_local $3)
(i32.const 4)
)
)
@@ -1241,7 +1228,7 @@
)
(i32.const -1)
(block i32
- (set_local $4
+ (set_local $14
(if i32
(i32.gt_s
(i32.load offset=76
@@ -1275,16 +1262,16 @@
)
)
)
- (set_local $2
- (if i32
- (i32.load
- (tee_local $11
- (i32.add
- (get_local $0)
- (i32.const 48)
- )
+ (if
+ (i32.load
+ (tee_local $11
+ (i32.add
+ (get_local $0)
+ (i32.const 48)
)
)
+ )
+ (set_local $1
(call $_printf_core
(get_local $0)
(get_local $1)
@@ -1292,115 +1279,113 @@
(get_local $7)
(get_local $8)
)
- (block i32
- (set_local $13
- (i32.load
- (tee_local $12
- (i32.add
- (get_local $0)
- (i32.const 44)
- )
- )
- )
- )
- (i32.store
- (get_local $12)
- (get_local $6)
- )
- (i32.store
- (tee_local $9
+ )
+ (block
+ (set_local $13
+ (i32.load
+ (tee_local $12
(i32.add
(get_local $0)
- (i32.const 28)
+ (i32.const 44)
)
)
- (get_local $6)
)
- (i32.store
- (tee_local $14
- (i32.add
- (get_local $0)
- (i32.const 20)
- )
+ )
+ (i32.store
+ (get_local $12)
+ (get_local $6)
+ )
+ (i32.store
+ (tee_local $9
+ (i32.add
+ (get_local $0)
+ (i32.const 28)
)
- (get_local $6)
)
- (i32.store
- (get_local $11)
- (i32.const 80)
- )
- (i32.store
- (tee_local $2
- (i32.add
- (get_local $0)
- (i32.const 16)
- )
- )
+ (get_local $6)
+ )
+ (i32.store
+ (tee_local $3
(i32.add
- (get_local $6)
- (i32.const 80)
+ (get_local $0)
+ (i32.const 20)
)
)
- (set_local $1
- (call $_printf_core
+ (get_local $6)
+ )
+ (i32.store
+ (get_local $11)
+ (i32.const 80)
+ )
+ (i32.store
+ (tee_local $2
+ (i32.add
(get_local $0)
- (get_local $1)
- (get_local $5)
- (get_local $7)
- (get_local $8)
+ (i32.const 16)
)
)
- (if i32
- (get_local $13)
- (block i32
- (drop
- (call_indirect $FUNCSIG$iiii
- (get_local $0)
- (i32.const 0)
- (i32.const 0)
- (i32.add
- (i32.and
- (i32.load offset=36
- (get_local $0)
- )
- (i32.const 7)
+ (i32.add
+ (get_local $6)
+ (i32.const 80)
+ )
+ )
+ (set_local $1
+ (call $_printf_core
+ (get_local $0)
+ (get_local $1)
+ (get_local $5)
+ (get_local $7)
+ (get_local $8)
+ )
+ )
+ (if
+ (get_local $13)
+ (block
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $0)
)
- (i32.const 2)
+ (i32.const 7)
)
+ (i32.const 2)
)
)
- (set_local $1
- (select
- (get_local $1)
- (i32.const -1)
- (i32.load
- (get_local $14)
- )
+ )
+ (set_local $1
+ (select
+ (get_local $1)
+ (i32.const -1)
+ (i32.load
+ (get_local $3)
)
)
- (i32.store
- (get_local $12)
- (get_local $13)
- )
- (i32.store
- (get_local $11)
- (i32.const 0)
- )
- (i32.store
- (get_local $2)
- (i32.const 0)
- )
- (i32.store
- (get_local $9)
- (i32.const 0)
- )
- (i32.store
- (get_local $14)
- (i32.const 0)
- )
- (get_local $1)
)
- (get_local $1)
+ (i32.store
+ (get_local $12)
+ (get_local $13)
+ )
+ (i32.store
+ (get_local $11)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $2)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $9)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $3)
+ (i32.const 0)
+ )
)
)
)
@@ -1408,7 +1393,7 @@
(i32.store
(get_local $0)
(i32.or
- (tee_local $1
+ (tee_local $2
(i32.load
(get_local $0)
)
@@ -1420,16 +1405,16 @@
)
)
(if
- (get_local $4)
+ (get_local $14)
(call $___unlockfile
(get_local $0)
)
)
(select
(i32.const -1)
- (get_local $2)
+ (get_local $1)
(i32.and
- (get_local $1)
+ (get_local $2)
(i32.const 32)
)
)
@@ -1437,7 +1422,7 @@
)
)
(set_global $STACKTOP
- (get_local $3)
+ (get_local $4)
)
(get_local $0)
)
@@ -1482,7 +1467,7 @@
(i32.lt_u
(i32.sub
(get_local $3)
- (tee_local $6
+ (tee_local $4
(i32.load
(tee_local $5
(i32.add
@@ -1515,103 +1500,96 @@
(br $label$break$L5)
)
)
- (drop
- (call $_memcpy
- (block $label$break$L10 i32
- (if i32
- (i32.gt_s
- (i32.load8_s offset=75
- (get_local $2)
- )
- (i32.const -1)
+ (set_local $2
+ (block $label$break$L10 i32
+ (if i32
+ (i32.gt_s
+ (i32.load8_s offset=75
+ (get_local $2)
)
- (block i32
- (set_local $3
- (get_local $1)
- )
- (loop $while-in
- (if
+ (i32.const -1)
+ )
+ (block i32
+ (set_local $3
+ (get_local $1)
+ )
+ (loop $while-in
+ (drop
+ (br_if $label$break$L10
+ (i32.const 0)
(i32.eqz
(get_local $3)
)
- (block
- (set_local $2
- (i32.const 0)
- )
- (br $label$break$L10
- (get_local $6)
- )
- )
- )
- (if
- (i32.ne
- (i32.load8_s
- (i32.add
- (get_local $0)
- (tee_local $4
- (i32.add
- (get_local $3)
- (i32.const -1)
- )
- )
- )
- )
- (i32.const 10)
- )
- (block
- (set_local $3
- (get_local $4)
- )
- (br $while-in)
- )
)
)
- (br_if $label$break$L5
- (i32.lt_u
- (call_indirect $FUNCSIG$iiii
- (get_local $2)
- (get_local $0)
- (get_local $3)
+ (if
+ (i32.ne
+ (i32.load8_s
(i32.add
- (i32.and
- (i32.load offset=36
- (get_local $2)
+ (get_local $0)
+ (tee_local $6
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
)
- (i32.const 7)
)
- (i32.const 2)
)
)
- (get_local $3)
+ (i32.const 10)
)
- )
- (set_local $2
- (get_local $3)
- )
- (set_local $1
- (i32.sub
- (get_local $1)
- (get_local $3)
+ (block
+ (set_local $3
+ (get_local $6)
+ )
+ (br $while-in)
)
)
- (set_local $0
- (i32.add
+ )
+ (br_if $label$break$L5
+ (i32.lt_u
+ (call_indirect $FUNCSIG$iiii
+ (get_local $2)
(get_local $0)
(get_local $3)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $2)
+ )
+ (i32.const 7)
+ )
+ (i32.const 2)
+ )
)
+ (get_local $3)
)
+ )
+ (set_local $4
(i32.load
(get_local $5)
)
)
- (block i32
- (set_local $2
- (i32.const 0)
+ (set_local $1
+ (i32.sub
+ (get_local $1)
+ (get_local $3)
+ )
+ )
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (get_local $3)
)
- (get_local $6)
)
+ (get_local $3)
)
+ (i32.const 0)
)
+ )
+ )
+ (drop
+ (call $_memcpy
+ (get_local $4)
(get_local $0)
(get_local $1)
)
@@ -1657,56 +1635,58 @@
(get_local $1)
)
)
- (if i32
- (i32.and
- (tee_local $1
- (i32.load
- (get_local $0)
- )
- )
- (i32.const 8)
- )
- (block i32
- (i32.store
- (get_local $0)
- (i32.or
- (get_local $1)
- (i32.const 32)
- )
- )
- (i32.const -1)
- )
- (block i32
- (i32.store offset=8
- (get_local $0)
- (i32.const 0)
- )
- (i32.store offset=4
- (get_local $0)
- (i32.const 0)
- )
- (i32.store offset=28
- (get_local $0)
+ (tee_local $0
+ (if i32
+ (i32.and
(tee_local $1
- (i32.load offset=44
+ (i32.load
(get_local $0)
)
)
+ (i32.const 8)
)
- (i32.store offset=20
- (get_local $0)
- (get_local $1)
+ (block i32
+ (i32.store
+ (get_local $0)
+ (i32.or
+ (get_local $1)
+ (i32.const 32)
+ )
+ )
+ (i32.const -1)
)
- (i32.store offset=16
- (get_local $0)
- (i32.add
+ (block i32
+ (i32.store offset=8
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store offset=28
+ (get_local $0)
+ (tee_local $1
+ (i32.load offset=44
+ (get_local $0)
+ )
+ )
+ )
+ (i32.store offset=20
+ (get_local $0)
(get_local $1)
- (i32.load offset=48
- (get_local $0)
+ )
+ (i32.store offset=16
+ (get_local $0)
+ (i32.add
+ (get_local $1)
+ (i32.load offset=48
+ (get_local $0)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
@@ -2073,7 +2053,6 @@
)
)
(block
- (nop)
(set_local $2
(i32.add
(get_local $2)
@@ -2177,117 +2156,119 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
- (block $jumpthreading$outer$0 i32
- (block $jumpthreading$inner$0
- (br_if $jumpthreading$inner$0
- (i32.le_u
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 20)
+ (tee_local $0
+ (block $jumpthreading$outer$0 i32
+ (block $jumpthreading$inner$0
+ (br_if $jumpthreading$inner$0
+ (i32.le_u
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 20)
+ )
)
)
- )
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $0)
- (i32.const 28)
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $0)
+ (i32.const 28)
+ )
)
)
)
)
- )
- (drop
- (call_indirect $FUNCSIG$iiii
- (get_local $0)
- (i32.const 0)
- (i32.const 0)
- (i32.add
- (i32.and
- (i32.load offset=36
- (get_local $0)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $0)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (br_if $jumpthreading$inner$0
- (i32.load
- (get_local $1)
+ (br_if $jumpthreading$inner$0
+ (i32.load
+ (get_local $1)
+ )
+ )
+ (br $jumpthreading$outer$0
+ (i32.const -1)
)
)
- (br $jumpthreading$outer$0
- (i32.const -1)
- )
- )
- (if
- (i32.lt_u
- (tee_local $4
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $0)
- (i32.const 4)
+ (if
+ (i32.lt_u
+ (tee_local $4
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
)
)
)
- )
- (tee_local $6
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $0)
- (i32.const 8)
+ (tee_local $6
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
)
)
)
)
- )
- (drop
- (call_indirect $FUNCSIG$iiii
- (get_local $0)
- (i32.sub
- (get_local $4)
- (get_local $6)
- )
- (i32.const 1)
- (i32.add
- (i32.and
- (i32.load offset=40
- (get_local $0)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.sub
+ (get_local $4)
+ (get_local $6)
+ )
+ (i32.const 1)
+ (i32.add
+ (i32.and
+ (i32.load offset=40
+ (get_local $0)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.store offset=16
- (get_local $0)
- (i32.const 0)
- )
- (i32.store
- (get_local $2)
- (i32.const 0)
- )
- (i32.store
- (get_local $1)
- (i32.const 0)
- )
- (i32.store
- (get_local $5)
- (i32.const 0)
- )
- (i32.store
- (get_local $3)
+ (i32.store offset=16
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $2)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $1)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $3)
+ (i32.const 0)
+ )
(i32.const 0)
)
- (i32.const 0)
)
)
(func $_cleanup (param $0 i32)
@@ -2319,10 +2300,10 @@
(local $18 i32)
(local $19 i32)
(local $20 i32)
- (local $21 f64)
+ (local $21 i32)
(local $22 i32)
(local $23 i32)
- (local $24 i32)
+ (local $24 f64)
(local $25 i32)
(local $26 i32)
(local $27 i32)
@@ -2371,13 +2352,13 @@
)
(call $abort)
)
- (set_local $20
+ (set_local $21
(i32.add
(get_local $26)
(i32.const 16)
)
)
- (set_local $18
+ (set_local $19
(get_local $26)
)
(set_local $40
@@ -2393,9 +2374,9 @@
)
)
(set_local $44
- (tee_local $23
+ (tee_local $22
(i32.add
- (tee_local $9
+ (tee_local $5
(i32.add
(get_local $26)
(i32.const 536)
@@ -2407,7 +2388,7 @@
)
(set_local $45
(i32.add
- (get_local $9)
+ (get_local $5)
(i32.const 39)
)
)
@@ -2424,7 +2405,7 @@
)
(set_local $37
(i32.add
- (tee_local $9
+ (tee_local $5
(i32.add
(get_local $26)
(i32.const 576)
@@ -2435,7 +2416,7 @@
)
(set_local $47
(i32.add
- (get_local $9)
+ (get_local $5)
(i32.const 11)
)
)
@@ -2445,7 +2426,7 @@
(get_local $37)
)
(tee_local $41
- (tee_local $24
+ (tee_local $23
(i32.add
(get_local $26)
(i32.const 588)
@@ -2480,24 +2461,24 @@
(set_local $48
(tee_local $32
(i32.add
- (get_local $24)
+ (get_local $23)
(i32.const 9)
)
)
)
(set_local $38
(i32.add
- (get_local $24)
+ (get_local $23)
(i32.const 8)
)
)
- (set_local $17
+ (set_local $16
(i32.const 0)
)
- (set_local $9
+ (set_local $5
(get_local $1)
)
- (set_local $5
+ (set_local $10
(i32.const 0)
)
(set_local $1
@@ -2509,16 +2490,16 @@
(block $label$break$L1
(if
(i32.gt_s
- (get_local $17)
+ (get_local $16)
(i32.const -1)
)
- (set_local $17
+ (set_local $16
(if i32
(i32.gt_s
- (get_local $5)
+ (get_local $10)
(i32.sub
(i32.const 2147483647)
- (get_local $17)
+ (get_local $16)
)
)
(block i32
@@ -2529,8 +2510,8 @@
(i32.const -1)
)
(i32.add
- (get_local $5)
- (get_local $17)
+ (get_local $10)
+ (get_local $16)
)
)
)
@@ -2541,7 +2522,7 @@
(i32.shl
(tee_local $6
(i32.load8_s
- (get_local $9)
+ (get_local $5)
)
)
(i32.const 24)
@@ -2550,8 +2531,8 @@
)
)
)
- (set_local $5
- (get_local $9)
+ (set_local $10
+ (get_local $5)
)
(loop $label$continue$L9
(block $label$break$L9
@@ -2572,10 +2553,10 @@
)
)
(set_local $39
- (get_local $5)
+ (get_local $10)
)
(set_local $42
- (get_local $5)
+ (get_local $10)
)
(set_local $27
(i32.const 9)
@@ -2583,18 +2564,18 @@
(br $label$break$L9)
)
(set_local $28
- (get_local $5)
+ (get_local $10)
)
(set_local $33
- (get_local $5)
+ (get_local $10)
)
(br $label$break$L9)
)
(set_local $6
(i32.load8_s
- (tee_local $5
+ (tee_local $10
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 1)
)
)
@@ -2664,7 +2645,7 @@
(set_local $6
(i32.sub
(get_local $33)
- (get_local $9)
+ (get_local $5)
)
)
(if
@@ -2680,7 +2661,7 @@
)
(drop
(call $___fwritex
- (get_local $9)
+ (get_local $5)
(get_local $6)
(get_local $0)
)
@@ -2690,28 +2671,28 @@
(if
(i32.ne
(get_local $33)
- (get_local $9)
+ (get_local $5)
)
(block
- (set_local $9
+ (set_local $5
(get_local $28)
)
- (set_local $5
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
)
- (set_local $19
+ (set_local $8
(if i32
(i32.lt_u
- (tee_local $10
+ (tee_local $8
(i32.add
(i32.shr_s
(i32.shl
(tee_local $7
(i32.load8_s
- (tee_local $5
+ (tee_local $10
(i32.add
(get_local $28)
(i32.const 1)
@@ -2731,14 +2712,14 @@
(block i32
(set_local $7
(i32.load8_s
- (tee_local $5
+ (tee_local $10
(select
(i32.add
(get_local $28)
(i32.const 3)
)
- (get_local $5)
- (tee_local $12
+ (get_local $10)
+ (tee_local $11
(i32.eq
(i32.load8_s offset=2
(get_local $28)
@@ -2750,24 +2731,24 @@
)
)
)
- (set_local $8
+ (set_local $17
(select
- (i32.const 1)
- (get_local $1)
- (get_local $12)
+ (get_local $8)
+ (i32.const -1)
+ (get_local $11)
)
)
(select
- (get_local $10)
- (i32.const -1)
- (get_local $12)
+ (i32.const 1)
+ (get_local $1)
+ (get_local $11)
)
)
(block i32
- (set_local $8
- (get_local $1)
+ (set_local $17
+ (i32.const -1)
)
- (i32.const -1)
+ (get_local $1)
)
)
)
@@ -2775,7 +2756,7 @@
(if
(i32.eq
(i32.and
- (tee_local $12
+ (tee_local $11
(i32.shr_s
(i32.shl
(get_local $7)
@@ -2793,24 +2774,36 @@
(get_local $7)
)
(set_local $7
+ (get_local $11)
+ )
+ (set_local $11
(i32.const 0)
)
(loop $while-in4
- (br_if $label$break$L25
+ (if
(i32.eqz
(i32.and
(i32.shl
(i32.const 1)
(i32.add
- (get_local $12)
+ (get_local $7)
(i32.const -32)
)
)
(i32.const 75913)
)
)
+ (block
+ (set_local $7
+ (get_local $1)
+ )
+ (set_local $1
+ (get_local $11)
+ )
+ (br $label$break$L25)
+ )
)
- (set_local $7
+ (set_local $11
(i32.or
(i32.shl
(i32.const 1)
@@ -2825,20 +2818,20 @@
(i32.const -32)
)
)
- (get_local $7)
+ (get_local $11)
)
)
(br_if $while-in4
(i32.eq
(i32.and
- (tee_local $12
+ (tee_local $7
(i32.shr_s
(i32.shl
(tee_local $1
(i32.load8_s
- (tee_local $5
+ (tee_local $10
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 1)
)
)
@@ -2854,15 +2847,16 @@
(i32.const 32)
)
)
+ (set_local $7
+ (get_local $1)
+ )
+ (set_local $1
+ (get_local $11)
+ )
)
)
- (block
- (set_local $1
- (get_local $7)
- )
- (set_local $7
- (i32.const 0)
- )
+ (set_local $1
+ (i32.const 0)
)
)
)
@@ -2871,7 +2865,7 @@
(i32.eq
(i32.shr_s
(i32.shl
- (get_local $1)
+ (get_local $7)
(i32.const 24)
)
(i32.const 24)
@@ -2879,17 +2873,17 @@
(i32.const 42)
)
(block
- (set_local $1
+ (set_local $10
(block $jumpthreading$outer$0 i32
(block $jumpthreading$inner$0
(br_if $jumpthreading$inner$0
(i32.ge_u
- (tee_local $12
+ (tee_local $11
(i32.add
(i32.load8_s
- (tee_local $1
+ (tee_local $7
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 1)
)
)
@@ -2903,7 +2897,7 @@
(br_if $jumpthreading$inner$0
(i32.ne
(i32.load8_s offset=2
- (get_local $5)
+ (get_local $10)
)
(i32.const 36)
)
@@ -2912,19 +2906,19 @@
(i32.add
(get_local $4)
(i32.shl
- (get_local $12)
+ (get_local $11)
(i32.const 2)
)
)
(i32.const 10)
)
- (set_local $1
+ (set_local $7
(i32.add
(get_local $3)
(i32.shl
(i32.add
(i32.load8_s
- (get_local $1)
+ (get_local $7)
)
(i32.const -48)
)
@@ -2932,19 +2926,19 @@
)
)
)
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 3)
- )
+ (set_local $8
+ (i32.const 1)
)
(set_local $14
(i32.load
- (get_local $1)
+ (get_local $7)
)
)
(br $jumpthreading$outer$0
- (i32.const 1)
+ (i32.add
+ (get_local $10)
+ (i32.const 3)
+ )
)
)
(set_local $27
@@ -2953,7 +2947,7 @@
(if
(get_local $8)
(block
- (set_local $17
+ (set_local $16
(i32.const -1)
)
(br $label$break$L1)
@@ -2964,12 +2958,12 @@
(get_local $31)
)
(block
- (set_local $12
- (get_local $7)
- )
- (set_local $5
+ (set_local $11
(get_local $1)
)
+ (set_local $10
+ (get_local $7)
+ )
(set_local $1
(i32.const 0)
)
@@ -2981,7 +2975,7 @@
)
(set_local $14
(i32.load
- (tee_local $5
+ (tee_local $10
(i32.and
(i32.add
(i32.load
@@ -2997,45 +2991,53 @@
(i32.store
(get_local $2)
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 4)
)
)
- (set_local $5
- (get_local $1)
+ (set_local $8
+ (i32.const 0)
)
- (i32.const 0)
+ (get_local $7)
)
)
- (set_local $12
+ (set_local $1
(if i32
(i32.lt_s
(get_local $14)
(i32.const 0)
)
(block i32
+ (set_local $11
+ (i32.or
+ (get_local $1)
+ (i32.const 8192)
+ )
+ )
(set_local $14
(i32.sub
(i32.const 0)
(get_local $14)
)
)
- (i32.or
- (get_local $7)
- (i32.const 8192)
+ (get_local $8)
+ )
+ (block i32
+ (set_local $11
+ (get_local $1)
)
+ (get_local $8)
)
- (get_local $7)
)
)
)
(if
(i32.lt_u
- (tee_local $1
+ (tee_local $7
(i32.add
(i32.shr_s
(i32.shl
- (get_local $1)
+ (get_local $7)
(i32.const 24)
)
(i32.const 24)
@@ -3046,27 +3048,27 @@
(i32.const 10)
)
(block
- (set_local $12
+ (set_local $11
(i32.const 0)
)
(loop $while-in8
- (set_local $1
+ (set_local $7
(i32.add
(i32.mul
- (get_local $12)
+ (get_local $11)
(i32.const 10)
)
- (get_local $1)
+ (get_local $7)
)
)
(if
(i32.lt_u
- (tee_local $10
+ (tee_local $9
(i32.add
(i32.load8_s
- (tee_local $5
+ (tee_local $10
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 1)
)
)
@@ -3077,43 +3079,43 @@
(i32.const 10)
)
(block
- (set_local $12
- (get_local $1)
+ (set_local $11
+ (get_local $7)
)
- (set_local $1
- (get_local $10)
+ (set_local $7
+ (get_local $9)
)
(br $while-in8)
)
- (set_local $14
- (get_local $1)
- )
)
)
(if
(i32.lt_s
- (get_local $14)
+ (get_local $7)
(i32.const 0)
)
(block
- (set_local $17
+ (set_local $16
(i32.const -1)
)
(br $label$break$L1)
)
(block
- (set_local $12
- (get_local $7)
+ (set_local $11
+ (get_local $1)
)
(set_local $1
(get_local $8)
)
+ (set_local $14
+ (get_local $7)
+ )
)
)
)
(block
- (set_local $12
- (get_local $7)
+ (set_local $11
+ (get_local $1)
)
(set_local $1
(get_local $8)
@@ -3125,12 +3127,12 @@
)
)
)
- (set_local $8
- (block $label$break$L46 i32
+ (block $label$break$L46
+ (set_local $7
(if i32
(i32.eq
(i32.load8_s
- (get_local $5)
+ (get_local $10)
)
(i32.const 46)
)
@@ -3139,11 +3141,11 @@
(i32.ne
(i32.shr_s
(i32.shl
- (tee_local $7
+ (tee_local $8
(i32.load8_s
- (tee_local $8
+ (tee_local $7
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 1)
)
)
@@ -3158,11 +3160,11 @@
(block
(if
(i32.lt_u
- (tee_local $7
+ (tee_local $9
(i32.add
(i32.shr_s
(i32.shl
- (get_local $7)
+ (get_local $8)
(i32.const 24)
)
(i32.const 24)
@@ -3173,20 +3175,24 @@
(i32.const 10)
)
(block
- (set_local $5
- (get_local $8)
+ (set_local $10
+ (get_local $7)
)
(set_local $8
(i32.const 0)
)
+ (set_local $7
+ (get_local $9)
+ )
)
(block
+ (set_local $10
+ (get_local $7)
+ )
(set_local $7
(i32.const 0)
)
- (br $label$break$L46
- (get_local $8)
- )
+ (br $label$break$L46)
)
)
(loop $while-in11
@@ -3199,14 +3205,14 @@
(get_local $7)
)
)
- (if
- (i32.lt_u
- (tee_local $10
+ (br_if $label$break$L46
+ (i32.ge_u
+ (tee_local $9
(i32.add
(i32.load8_s
- (tee_local $5
+ (tee_local $10
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 1)
)
)
@@ -3216,30 +3222,25 @@
)
(i32.const 10)
)
- (block
- (set_local $8
- (get_local $7)
- )
- (set_local $7
- (get_local $10)
- )
- (br $while-in11)
- )
- (br $label$break$L46
- (get_local $5)
- )
)
+ (set_local $8
+ (get_local $7)
+ )
+ (set_local $7
+ (get_local $9)
+ )
+ (br $while-in11)
)
)
)
(if
(i32.lt_u
- (tee_local $7
+ (tee_local $8
(i32.add
(i32.load8_s
- (tee_local $8
+ (tee_local $7
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 2)
)
)
@@ -3252,7 +3253,7 @@
(if
(i32.eq
(i32.load8_s offset=3
- (get_local $5)
+ (get_local $10)
)
(i32.const 36)
)
@@ -3261,7 +3262,7 @@
(i32.add
(get_local $4)
(i32.shl
- (get_local $7)
+ (get_local $8)
(i32.const 2)
)
)
@@ -3273,7 +3274,7 @@
(i32.shl
(i32.add
(i32.load8_s
- (get_local $8)
+ (get_local $7)
)
(i32.const -48)
)
@@ -3281,24 +3282,25 @@
)
)
)
+ (set_local $10
+ (i32.add
+ (get_local $10)
+ (i32.const 4)
+ )
+ )
(set_local $7
(i32.load
(get_local $7)
)
)
- (br $label$break$L46
- (i32.add
- (get_local $5)
- (i32.const 4)
- )
- )
+ (br $label$break$L46)
)
)
)
(if
(get_local $1)
(block
- (set_local $17
+ (set_local $16
(i32.const -1)
)
(br $label$break$L1)
@@ -3307,9 +3309,9 @@
(if i32
(get_local $31)
(block i32
- (set_local $7
+ (set_local $8
(i32.load
- (tee_local $5
+ (tee_local $10
(i32.and
(i32.add
(i32.load
@@ -3325,36 +3327,37 @@
(i32.store
(get_local $2)
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 4)
)
)
+ (set_local $10
+ (get_local $7)
+ )
(get_local $8)
)
(block i32
- (set_local $7
- (i32.const 0)
+ (set_local $10
+ (get_local $7)
)
- (get_local $8)
+ (i32.const 0)
)
)
)
- (block i32
- (set_local $7
- (i32.const -1)
- )
- (get_local $5)
- )
+ (i32.const -1)
)
)
)
- (set_local $10
+ (set_local $8
+ (get_local $10)
+ )
+ (set_local $9
(i32.const 0)
)
(loop $while-in13
(if
(i32.gt_u
- (tee_local $11
+ (tee_local $12
(i32.add
(i32.load8_s
(get_local $8)
@@ -3365,13 +3368,13 @@
(i32.const 57)
)
(block
- (set_local $17
+ (set_local $16
(i32.const -1)
)
(br $label$break$L1)
)
)
- (set_local $5
+ (set_local $10
(i32.add
(get_local $8)
(i32.const 1)
@@ -3380,19 +3383,19 @@
(if
(i32.lt_u
(i32.add
- (tee_local $11
+ (tee_local $12
(i32.and
(tee_local $13
(i32.load8_s
(i32.add
(i32.add
(i32.mul
- (get_local $10)
+ (get_local $9)
(i32.const 58)
)
(i32.const 3611)
)
- (get_local $11)
+ (get_local $12)
)
)
)
@@ -3405,14 +3408,14 @@
)
(block
(set_local $8
- (get_local $5)
+ (get_local $10)
)
- (set_local $10
- (get_local $11)
+ (set_local $9
+ (get_local $12)
)
(br $while-in13)
)
- (set_local $16
+ (set_local $18
(get_local $8)
)
)
@@ -3428,7 +3431,7 @@
)
)
(block
- (set_local $17
+ (set_local $16
(i32.const -1)
)
(br $label$break$L1)
@@ -3436,7 +3439,7 @@
)
(set_local $8
(i32.gt_s
- (get_local $19)
+ (get_local $17)
(i32.const -1)
)
)
@@ -3456,7 +3459,7 @@
(if
(get_local $8)
(block
- (set_local $17
+ (set_local $16
(i32.const -1)
)
(br $label$break$L1)
@@ -3471,19 +3474,19 @@
(i32.add
(get_local $4)
(i32.shl
- (get_local $19)
+ (get_local $17)
(i32.const 2)
)
)
- (get_local $11)
+ (get_local $12)
)
(set_local $13
(i32.load offset=4
- (tee_local $11
+ (tee_local $12
(i32.add
(get_local $3)
(i32.shl
- (get_local $19)
+ (get_local $17)
(i32.const 3)
)
)
@@ -3492,10 +3495,10 @@
)
(i32.store
(tee_local $8
- (get_local $18)
+ (get_local $19)
)
(i32.load
- (get_local $11)
+ (get_local $12)
)
)
(i32.store offset=4
@@ -3510,15 +3513,15 @@
(get_local $31)
)
(block
- (set_local $17
+ (set_local $16
(i32.const 0)
)
(br $label$break$L1)
)
)
(call $_pop_arg_336
- (get_local $18)
- (get_local $11)
+ (get_local $19)
+ (get_local $12)
(get_local $2)
)
)
@@ -3533,27 +3536,27 @@
(get_local $31)
)
(block
- (set_local $9
- (get_local $5)
- )
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
)
)
- (set_local $12
+ (set_local $11
(select
(tee_local $8
(i32.and
- (get_local $12)
+ (get_local $11)
(i32.const -65537)
)
)
- (get_local $12)
+ (get_local $11)
(i32.and
- (get_local $12)
+ (get_local $11)
(i32.const 8192)
)
)
@@ -3580,25 +3583,25 @@
(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 $13
+ (tee_local $18
(select
(i32.and
- (tee_local $11
+ (tee_local $12
(i32.load8_s
- (get_local $16)
+ (get_local $18)
)
)
(i32.const -33)
)
- (get_local $11)
+ (get_local $12)
(i32.and
(i32.ne
- (get_local $10)
+ (get_local $9)
(i32.const 0)
)
(i32.eq
(i32.and
- (get_local $11)
+ (get_local $12)
(i32.const 15)
)
(i32.const 3)
@@ -3620,53 +3623,53 @@
(block $switch-case19
(br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
(i32.sub
- (get_local $10)
+ (get_local $9)
(i32.const 0)
)
)
)
(i32.store
(i32.load
- (get_local $18)
+ (get_local $19)
)
- (get_local $17)
- )
- (set_local $9
- (get_local $5)
+ (get_local $16)
)
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
(i32.store
(i32.load
- (get_local $18)
+ (get_local $19)
)
- (get_local $17)
- )
- (set_local $9
- (get_local $5)
+ (get_local $16)
)
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
(i32.store
- (tee_local $9
+ (tee_local $5
(i32.load
- (get_local $18)
+ (get_local $19)
)
)
- (get_local $17)
+ (get_local $16)
)
(i32.store offset=4
- (get_local $9)
+ (get_local $5)
(i32.shr_s
(i32.shl
(i32.lt_s
- (get_local $17)
+ (get_local $16)
(i32.const 0)
)
(i32.const 31)
@@ -3674,70 +3677,70 @@
(i32.const 31)
)
)
- (set_local $9
- (get_local $5)
- )
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
(i32.store16
(i32.load
- (get_local $18)
+ (get_local $19)
)
- (get_local $17)
- )
- (set_local $9
- (get_local $5)
+ (get_local $16)
)
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
(i32.store8
(i32.load
- (get_local $18)
+ (get_local $19)
)
- (get_local $17)
- )
- (set_local $9
- (get_local $5)
+ (get_local $16)
)
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
(i32.store
(i32.load
- (get_local $18)
+ (get_local $19)
)
- (get_local $17)
- )
- (set_local $9
- (get_local $5)
+ (get_local $16)
)
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
(i32.store
- (tee_local $9
+ (tee_local $5
(i32.load
- (get_local $18)
+ (get_local $19)
)
)
- (get_local $17)
+ (get_local $16)
)
(i32.store offset=4
- (get_local $9)
+ (get_local $5)
(i32.shr_s
(i32.shl
(i32.lt_s
- (get_local $17)
+ (get_local $16)
(i32.const 0)
)
(i32.const 31)
@@ -3745,25 +3748,25 @@
(i32.const 31)
)
)
- (set_local $9
- (get_local $5)
- )
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
- (set_local $9
- (get_local $5)
- )
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
- (set_local $9
+ (set_local $6
(i32.or
- (get_local $12)
+ (get_local $11)
(i32.const 8)
)
)
@@ -3777,13 +3780,13 @@
)
)
)
- (set_local $13
+ (set_local $18
(i32.const 120)
)
(br $jumpthreading$inner$2)
)
- (set_local $9
- (get_local $12)
+ (set_local $6
+ (get_local $11)
)
(br $jumpthreading$inner$2)
)
@@ -3792,8 +3795,8 @@
(i32.eqz
(tee_local $6
(i32.load
- (tee_local $9
- (get_local $18)
+ (tee_local $5
+ (get_local $19)
)
)
)
@@ -3801,23 +3804,23 @@
(i32.eqz
(tee_local $8
(i32.load offset=4
- (get_local $9)
+ (get_local $5)
)
)
)
)
(set_local $8
- (get_local $23)
+ (get_local $22)
)
(block
- (set_local $9
+ (set_local $5
(get_local $6)
)
(set_local $6
(get_local $8)
)
(set_local $8
- (get_local $23)
+ (get_local $22)
)
(loop $while-in32
(i32.store8
@@ -3829,7 +3832,7 @@
)
(i32.or
(i32.and
- (get_local $9)
+ (get_local $5)
(i32.const 7)
)
(i32.const 48)
@@ -3839,9 +3842,9 @@
(i32.eqz
(i32.and
(i32.eqz
- (tee_local $9
+ (tee_local $5
(call $_bitshift64Lshr
- (get_local $9)
+ (get_local $5)
(get_local $6)
(i32.const 3)
)
@@ -3860,19 +3863,19 @@
)
(if
(i32.and
- (get_local $12)
+ (get_local $11)
(i32.const 8)
)
(block
- (set_local $6
+ (set_local $5
(get_local $8)
)
- (set_local $9
- (get_local $12)
+ (set_local $6
+ (get_local $11)
)
(set_local $7
(select
- (tee_local $12
+ (tee_local $11
(i32.add
(i32.sub
(get_local $44)
@@ -3884,39 +3887,39 @@
(get_local $7)
(i32.lt_s
(get_local $7)
- (get_local $12)
+ (get_local $11)
)
)
)
(set_local $8
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
(br $jumpthreading$inner$7)
)
(block
- (set_local $6
+ (set_local $5
(get_local $8)
)
- (set_local $9
- (get_local $12)
+ (set_local $6
+ (get_local $11)
)
(set_local $8
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
(br $jumpthreading$inner$7)
)
)
)
- (set_local $9
+ (set_local $5
(i32.load
(tee_local $6
- (get_local $18)
+ (get_local $19)
)
)
)
@@ -3932,13 +3935,13 @@
(block
(i32.store
(tee_local $8
- (get_local $18)
+ (get_local $19)
)
- (tee_local $9
+ (tee_local $5
(call $_i64Subtract
(i32.const 0)
(i32.const 0)
- (get_local $9)
+ (get_local $5)
(get_local $6)
)
)
@@ -3952,7 +3955,7 @@
(set_local $8
(i32.const 1)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
(br $jumpthreading$inner$3)
@@ -3960,42 +3963,42 @@
)
(if
(i32.and
- (get_local $12)
+ (get_local $11)
(i32.const 2048)
)
(block
(set_local $8
(i32.const 1)
)
- (set_local $10
+ (set_local $9
(i32.const 4092)
)
(br $jumpthreading$inner$3)
)
(block
(set_local $8
- (tee_local $10
+ (tee_local $9
(i32.and
- (get_local $12)
+ (get_local $11)
(i32.const 1)
)
)
)
- (set_local $10
+ (set_local $9
(select
(i32.const 4093)
(i32.const 4091)
- (get_local $10)
+ (get_local $9)
)
)
(br $jumpthreading$inner$3)
)
)
)
- (set_local $9
+ (set_local $5
(i32.load
(tee_local $6
- (get_local $18)
+ (get_local $19)
)
)
)
@@ -4007,41 +4010,41 @@
(set_local $8
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
(br $jumpthreading$inner$3)
)
- (set_local $9
- (get_local $18)
+ (set_local $5
+ (get_local $19)
)
(i32.store8
(get_local $45)
(i32.load
- (get_local $9)
+ (get_local $5)
)
)
(set_local $6
(get_local $45)
)
- (set_local $12
+ (set_local $11
(get_local $8)
)
- (set_local $11
+ (set_local $12
(i32.const 1)
)
(set_local $8
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
- (set_local $9
- (get_local $23)
+ (set_local $5
+ (get_local $22)
)
(br $jumpthreading$outer$7)
)
- (set_local $9
+ (set_local $5
(call $_strerror
(i32.load
(call $___errno_location)
@@ -4050,26 +4053,26 @@
)
(br $jumpthreading$inner$4)
)
- (set_local $9
+ (set_local $5
(select
- (tee_local $9
+ (tee_local $5
(i32.load
- (get_local $18)
+ (get_local $19)
)
)
(i32.const 4101)
- (get_local $9)
+ (get_local $5)
)
)
(br $jumpthreading$inner$4)
)
- (set_local $9
- (get_local $18)
+ (set_local $5
+ (get_local $19)
)
(i32.store
(get_local $46)
(i32.load
- (get_local $9)
+ (get_local $5)
)
)
(i32.store
@@ -4077,7 +4080,7 @@
(i32.const 0)
)
(i32.store
- (get_local $18)
+ (get_local $19)
(get_local $46)
)
(set_local $8
@@ -4099,7 +4102,7 @@
(i32.const 32)
(get_local $14)
(i32.const 0)
- (get_local $12)
+ (get_local $11)
)
(set_local $6
(i32.const 0)
@@ -4110,11 +4113,11 @@
)
(set_local $15
(f64.load
- (get_local $18)
+ (get_local $19)
)
)
(i32.store
- (get_local $20)
+ (get_local $21)
(i32.const 0)
)
(f64.store
@@ -4142,7 +4145,7 @@
)
(if i32
(i32.and
- (get_local $12)
+ (get_local $11)
(i32.const 2048)
)
(block i32
@@ -4153,9 +4156,9 @@
)
(block i32
(set_local $29
- (tee_local $9
+ (tee_local $5
(i32.and
- (get_local $12)
+ (get_local $11)
(i32.const 1)
)
)
@@ -4163,7 +4166,7 @@
(select
(i32.const 4114)
(i32.const 4109)
- (get_local $9)
+ (get_local $5)
)
)
)
@@ -4173,10 +4176,7 @@
(get_global $tempDoublePtr)
(get_local $15)
)
- (set_local $9
- (get_local $5)
- )
- (set_local $5
+ (set_local $6
(block $do-once49 i32
(if i32
(i32.or
@@ -4203,11 +4203,11 @@
(if
(tee_local $5
(f64.ne
- (tee_local $21
+ (tee_local $24
(f64.mul
(call $_frexpl
(get_local $15)
- (get_local $20)
+ (get_local $21)
)
(f64.const 2)
)
@@ -4216,10 +4216,10 @@
)
)
(i32.store
- (get_local $20)
+ (get_local $21)
(i32.add
(i32.load
- (get_local $20)
+ (get_local $21)
)
(i32.const -1)
)
@@ -4227,25 +4227,25 @@
)
(if
(i32.eq
- (tee_local $16
+ (tee_local $25
(i32.or
- (get_local $13)
+ (get_local $18)
(i32.const 32)
)
)
(i32.const 97)
)
(block
- (set_local $10
+ (set_local $9
(select
(i32.add
(get_local $34)
(i32.const 9)
)
(get_local $34)
- (tee_local $16
+ (tee_local $13
(i32.and
- (get_local $13)
+ (get_local $18)
(i32.const 32)
)
)
@@ -4267,7 +4267,7 @@
)
)
)
- (get_local $21)
+ (get_local $24)
(block f64
(set_local $15
(f64.const 8)
@@ -4294,7 +4294,7 @@
(get_local $15)
(f64.sub
(f64.neg
- (get_local $21)
+ (get_local $24)
)
(get_local $15)
)
@@ -4302,14 +4302,14 @@
)
(f64.sub
(f64.add
- (get_local $21)
+ (get_local $24)
(get_local $15)
)
(get_local $15)
)
(i32.eq
(i32.load8_s
- (get_local $10)
+ (get_local $9)
)
(i32.const 45)
)
@@ -4317,61 +4317,61 @@
)
)
)
- (set_local $11
- (i32.or
- (get_local $29)
- (i32.const 2)
- )
- )
- (i32.store8
- (i32.add
- (if i32
- (i32.eq
+ (if
+ (i32.eq
+ (tee_local $5
+ (call $_fmt_u
(tee_local $5
- (call $_fmt_u
- (tee_local $5
- (select
- (i32.sub
- (i32.const 0)
- (tee_local $6
- (i32.load
- (get_local $20)
- )
- )
- )
- (get_local $6)
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
+ (select
+ (i32.sub
+ (i32.const 0)
+ (tee_local $6
+ (i32.load
+ (get_local $21)
)
)
)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
+ (get_local $6)
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 0)
)
- (get_local $37)
)
)
- (get_local $37)
- )
- (block i32
- (i32.store8
- (get_local $47)
- (i32.const 48)
- )
- (tee_local $5
- (get_local $47)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
)
+ (get_local $37)
)
- (get_local $5)
)
+ (get_local $37)
+ )
+ (block
+ (i32.store8
+ (get_local $47)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $47)
+ )
+ )
+ )
+ (set_local $12
+ (i32.or
+ (get_local $29)
+ (i32.const 2)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (get_local $5)
(i32.const -1)
)
(i32.add
@@ -4386,33 +4386,33 @@
)
)
(i32.store8
- (tee_local $6
+ (tee_local $8
(i32.add
(get_local $5)
(i32.const -2)
)
)
(i32.add
- (get_local $13)
+ (get_local $18)
(i32.const 15)
)
)
- (set_local $13
+ (set_local $18
(i32.lt_s
(get_local $7)
(i32.const 1)
)
)
- (set_local $19
+ (set_local $17
(i32.eqz
(i32.and
- (get_local $12)
+ (get_local $11)
(i32.const 8)
)
)
)
(set_local $5
- (get_local $24)
+ (get_local $23)
)
(loop $while-in56
(i32.store8
@@ -4420,7 +4420,7 @@
(i32.or
(i32.load8_u
(i32.add
- (tee_local $8
+ (tee_local $6
(call $f64-to-int
(get_local $15)
)
@@ -4428,7 +4428,7 @@
(i32.const 4075)
)
)
- (get_local $16)
+ (get_local $13)
)
)
(set_local $15
@@ -4436,7 +4436,7 @@
(f64.sub
(get_local $15)
(f64.convert_s/i32
- (get_local $8)
+ (get_local $6)
)
)
(f64.const 16)
@@ -4447,7 +4447,7 @@
(if i32
(i32.eq
(i32.sub
- (tee_local $8
+ (tee_local $6
(i32.add
(get_local $5)
(i32.const 1)
@@ -4460,11 +4460,11 @@
(block i32
(drop
(br_if $do-once57
- (get_local $8)
+ (get_local $6)
(i32.and
- (get_local $19)
+ (get_local $17)
(i32.and
- (get_local $13)
+ (get_local $18)
(f64.eq
(get_local $15)
(f64.const 0)
@@ -4474,7 +4474,7 @@
)
)
(i32.store8
- (get_local $8)
+ (get_local $6)
(i32.const 46)
)
(i32.add
@@ -4482,7 +4482,7 @@
(i32.const 2)
)
)
- (get_local $8)
+ (get_local $6)
)
)
)
@@ -4497,21 +4497,21 @@
(get_local $0)
(i32.const 32)
(get_local $14)
- (tee_local $7
+ (tee_local $6
(i32.add
- (tee_local $8
+ (tee_local $7
(select
(i32.sub
(i32.add
(get_local $52)
(get_local $7)
)
- (get_local $6)
+ (get_local $8)
)
(i32.add
(i32.sub
(get_local $50)
- (get_local $6)
+ (get_local $8)
)
(get_local $5)
)
@@ -4530,10 +4530,10 @@
)
)
)
- (get_local $11)
+ (get_local $12)
)
)
- (get_local $12)
+ (get_local $11)
)
(if
(i32.eqz
@@ -4546,8 +4546,8 @@
)
(drop
(call $___fwritex
- (get_local $10)
- (get_local $11)
+ (get_local $9)
+ (get_local $12)
(get_local $0)
)
)
@@ -4556,9 +4556,9 @@
(get_local $0)
(i32.const 48)
(get_local $14)
- (get_local $7)
+ (get_local $6)
(i32.xor
- (get_local $12)
+ (get_local $11)
(i32.const 65536)
)
)
@@ -4579,7 +4579,7 @@
)
(drop
(call $___fwritex
- (get_local $24)
+ (get_local $23)
(get_local $5)
(get_local $0)
)
@@ -4589,13 +4589,13 @@
(get_local $0)
(i32.const 48)
(i32.sub
- (get_local $8)
+ (get_local $7)
(i32.add
(get_local $5)
(tee_local $5
(i32.sub
(get_local $30)
- (get_local $6)
+ (get_local $8)
)
)
)
@@ -4614,7 +4614,7 @@
)
(drop
(call $___fwritex
- (get_local $6)
+ (get_local $8)
(get_local $5)
(get_local $0)
)
@@ -4624,79 +4624,78 @@
(get_local $0)
(i32.const 32)
(get_local $14)
- (get_local $7)
+ (get_local $6)
(i32.xor
- (get_local $12)
+ (get_local $11)
(i32.const 8192)
)
)
(br $do-once49
(select
(get_local $14)
- (get_local $7)
+ (get_local $6)
(i32.lt_s
- (get_local $7)
+ (get_local $6)
(get_local $14)
)
)
)
)
)
- (set_local $8
- (select
- (get_local $53)
- (get_local $54)
- (i32.lt_s
- (if i32
- (get_local $5)
- (block i32
- (i32.store
- (get_local $20)
- (tee_local $5
- (i32.add
- (i32.load
- (get_local $20)
- )
- (i32.const -28)
- )
- )
- )
- (set_local $15
- (f64.mul
+ (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)
- (f64.const 268435456)
)
+ (i32.const -28)
)
- (get_local $5)
)
- (block i32
- (set_local $15
- (get_local $21)
- )
- (i32.load
- (get_local $20)
- )
+ )
+ (f64.mul
+ (get_local $24)
+ (f64.const 268435456)
+ )
+ )
+ (block f64
+ (set_local $5
+ (i32.load
+ (get_local $21)
)
)
- (i32.const 0)
+ (get_local $24)
)
)
)
- (set_local $5
- (get_local $8)
+ (set_local $6
+ (tee_local $8
+ (select
+ (get_local $53)
+ (get_local $54)
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
)
(loop $while-in60
(i32.store
- (get_local $5)
- (tee_local $6
+ (get_local $6)
+ (tee_local $5
(call $f64-to-int
(get_local $15)
)
)
)
- (set_local $5
+ (set_local $6
(i32.add
- (get_local $5)
+ (get_local $6)
(i32.const 4)
)
)
@@ -4707,7 +4706,7 @@
(f64.sub
(get_local $15)
(f64.convert_u/i32
- (get_local $6)
+ (get_local $5)
)
)
(f64.const 1e9)
@@ -4719,111 +4718,103 @@
)
(if
(i32.gt_s
- (tee_local $10
+ (tee_local $9
(i32.load
- (get_local $20)
+ (get_local $21)
)
)
(i32.const 0)
)
(block
- (set_local $6
+ (set_local $5
(get_local $8)
)
(loop $while-in62
- (set_local $19
+ (set_local $13
(select
(i32.const 29)
- (get_local $10)
+ (get_local $9)
(i32.gt_s
- (get_local $10)
+ (get_local $9)
(i32.const 29)
)
)
)
- (set_local $6
- (block $do-once63 i32
- (if i32
- (i32.lt_u
- (tee_local $10
- (i32.add
- (get_local $5)
- (i32.const -4)
- )
+ (block $do-once63
+ (if
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
)
- (get_local $6)
)
- (get_local $6)
- (block i32
- (set_local $11
- (i32.const 0)
- )
- (loop $while-in66
- (set_local $25
+ (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 $11
+ (tee_local $12
(call $_i64Add
(call $_bitshift64Shl
(i32.load
- (get_local $10)
+ (get_local $9)
)
(i32.const 0)
- (get_local $19)
+ (get_local $13)
)
(get_global $tempRet0)
- (get_local $11)
+ (get_local $12)
(i32.const 0)
)
)
- (tee_local $22
+ (tee_local $17
(get_global $tempRet0)
)
(i32.const 1000000000)
(i32.const 0)
)
)
- (i32.store
- (get_local $10)
- (get_local $25)
- )
- (set_local $11
- (call $___udivdi3
- (get_local $11)
- (get_local $22)
- (i32.const 1000000000)
- (i32.const 0)
- )
+ )
+ (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 $10
- (i32.add
- (get_local $10)
- (i32.const -4)
- )
+ )
+ (br_if $while-in66
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $9)
+ (i32.const -4)
)
- (get_local $6)
)
+ (get_local $5)
)
)
- (drop
- (br_if $do-once63
- (get_local $6)
- (i32.eqz
- (get_local $11)
- )
- )
+ )
+ (br_if $do-once63
+ (i32.eqz
+ (get_local $12)
)
- (i32.store
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -4)
- )
+ )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
)
- (get_local $11)
)
- (get_local $6)
+ (get_local $12)
)
)
)
@@ -4831,72 +4822,53 @@
(loop $while-in68
(if
(i32.gt_u
- (get_local $5)
(get_local $6)
+ (get_local $5)
)
- (block
- (nop)
- (if
- (i32.eqz
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $5)
- (i32.const -4)
- )
+ (if
+ (i32.eqz
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
)
)
)
- (block
- (set_local $5
- (get_local $10)
- )
- (br $while-in68)
+ )
+ (block
+ (set_local $6
+ (get_local $9)
)
+ (br $while-in68)
)
)
)
)
(i32.store
- (get_local $20)
- (tee_local $10
+ (get_local $21)
+ (tee_local $9
(i32.sub
(i32.load
- (get_local $20)
+ (get_local $21)
)
- (get_local $19)
+ (get_local $13)
)
)
)
(br_if $while-in62
(i32.gt_s
- (get_local $10)
+ (get_local $9)
(i32.const 0)
)
)
- (block
- (set_local $11
- (get_local $10)
- )
- (set_local $10
- (get_local $5)
- )
- )
)
)
- (block
- (set_local $11
- (get_local $10)
- )
- (set_local $6
- (get_local $8)
- )
- (set_local $10
- (get_local $5)
- )
+ (set_local $5
+ (get_local $8)
)
)
- (set_local $19
+ (set_local $17
(select
(i32.const 6)
(get_local $7)
@@ -4908,15 +4880,15 @@
)
(if
(i32.lt_s
- (get_local $11)
+ (get_local $9)
(i32.const 0)
)
(block
- (set_local $22
+ (set_local $20
(i32.add
(call $i32s-div
(i32.add
- (get_local $19)
+ (get_local $17)
(i32.const 25)
)
(i32.const 9)
@@ -4924,152 +4896,152 @@
(i32.const 1)
)
)
- (set_local $25
+ (set_local $35
(i32.eq
- (get_local $16)
+ (get_local $25)
(i32.const 102)
)
)
+ (set_local $7
+ (get_local $5)
+ )
(set_local $5
- (get_local $10)
+ (get_local $6)
)
(loop $while-in70
- (set_local $11
+ (set_local $13
(select
(i32.const 9)
- (tee_local $7
+ (tee_local $6
(i32.sub
(i32.const 0)
- (get_local $11)
+ (get_local $9)
)
)
(i32.gt_s
- (get_local $7)
+ (get_local $6)
(i32.const 9)
)
)
)
- (set_local $10
- (select
- (i32.add
- (tee_local $7
- (select
- (get_local $8)
- (tee_local $6
- (block $do-once71 i32
- (if i32
- (i32.lt_u
- (get_local $6)
- (get_local $5)
- )
- (block i32
- (set_local $35
- (i32.add
- (i32.shl
- (i32.const 1)
- (get_local $11)
- )
- (i32.const -1)
- )
- )
- (set_local $43
- (i32.shr_u
- (i32.const 1000000000)
- (get_local $11)
- )
- )
- (set_local $10
- (i32.const 0)
- )
- (set_local $7
- (get_local $6)
- )
- (loop $while-in74
- (i32.store
- (get_local $7)
- (i32.add
- (i32.shr_u
- (tee_local $36
- (i32.load
- (get_local $7)
- )
- )
- (get_local $11)
- )
- (get_local $10)
- )
- )
- (set_local $10
- (i32.mul
- (i32.and
- (get_local $36)
- (get_local $35)
- )
- (get_local $43)
- )
- )
- (br_if $while-in74
- (i32.lt_u
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (get_local $5)
- )
- )
- )
- (set_local $6
- (select
- (get_local $6)
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- (i32.load
- (get_local $6)
- )
- )
- )
- (drop
- (br_if $do-once71
- (get_local $6)
- (i32.eqz
- (get_local $10)
- )
- )
- )
- (i32.store
- (get_local $5)
- (get_local $10)
- )
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 4)
- )
- )
- (get_local $6)
- )
- (select
+ (block $do-once71
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (get_local $5)
+ )
+ (block
+ (set_local $12
+ (i32.add
+ (i32.shl
+ (i32.const 1)
+ (get_local $13)
+ )
+ (i32.const -1)
+ )
+ )
+ (set_local $43
+ (i32.shr_u
+ (i32.const 1000000000)
+ (get_local $13)
+ )
+ )
+ (set_local $9
+ (i32.const 0)
+ )
+ (set_local $6
+ (get_local $7)
+ )
+ (loop $while-in74
+ (i32.store
+ (get_local $6)
+ (i32.add
+ (i32.shr_u
+ (tee_local $36
+ (i32.load
(get_local $6)
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- (i32.load
- (get_local $6)
- )
)
)
+ (get_local $13)
)
+ (get_local $9)
)
- (get_local $25)
+ )
+ (set_local $9
+ (i32.mul
+ (i32.and
+ (get_local $36)
+ (get_local $12)
+ )
+ (get_local $43)
+ )
+ )
+ (br_if $while-in74
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (get_local $5)
+ )
+ )
+ )
+ (set_local $6
+ (select
+ (get_local $7)
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ (i32.load
+ (get_local $7)
+ )
+ )
+ )
+ (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)
+ )
+ )
+ )
+ (set_local $6
+ (select
+ (get_local $7)
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ (i32.load
+ (get_local $7)
+ )
+ )
+ )
+ )
+ )
+ (set_local $12
+ (select
+ (i32.add
+ (tee_local $7
+ (select
+ (get_local $8)
+ (get_local $6)
+ (get_local $35)
)
)
(i32.shl
- (get_local $22)
+ (get_local $20)
(i32.const 2)
)
)
@@ -5082,57 +5054,65 @@
)
(i32.const 2)
)
- (get_local $22)
+ (get_local $20)
)
)
)
(i32.store
- (get_local $20)
- (tee_local $11
+ (get_local $21)
+ (tee_local $9
(i32.add
(i32.load
- (get_local $20)
+ (get_local $21)
)
- (get_local $11)
+ (get_local $13)
)
)
)
(if
(i32.lt_s
- (get_local $11)
+ (get_local $9)
(i32.const 0)
)
(block
+ (set_local $7
+ (get_local $6)
+ )
(set_local $5
- (get_local $10)
+ (get_local $12)
)
(br $while-in70)
)
- (set_local $5
- (get_local $6)
+ (block
+ (set_local $5
+ (get_local $6)
+ )
+ (set_local $9
+ (get_local $12)
+ )
)
)
)
)
- (set_local $5
+ (set_local $9
(get_local $6)
)
)
- (set_local $22
+ (set_local $20
(get_local $8)
)
(block $do-once75
(if
(i32.lt_u
(get_local $5)
- (get_local $10)
+ (get_local $9)
)
(block
(set_local $6
(i32.mul
(i32.shr_s
(i32.sub
- (get_local $22)
+ (get_local $20)
(get_local $5)
)
(i32.const 2)
@@ -5142,7 +5122,7 @@
)
(br_if $do-once75
(i32.lt_u
- (tee_local $11
+ (tee_local $12
(i32.load
(get_local $5)
)
@@ -5162,7 +5142,7 @@
)
(br_if $while-in78
(i32.ge_u
- (get_local $11)
+ (get_local $12)
(tee_local $7
(i32.mul
(get_local $7)
@@ -5178,18 +5158,18 @@
)
)
)
- (set_local $16
+ (set_local $5
(if i32
(i32.lt_s
(tee_local $7
(i32.add
(i32.sub
- (get_local $19)
+ (get_local $17)
(select
(get_local $6)
(i32.const 0)
(i32.ne
- (get_local $16)
+ (get_local $25)
(i32.const 102)
)
)
@@ -5199,13 +5179,13 @@
(i32.and
(tee_local $35
(i32.ne
- (get_local $19)
+ (get_local $17)
(i32.const 0)
)
)
(tee_local $43
(i32.eq
- (get_local $16)
+ (get_local $25)
(i32.const 103)
)
)
@@ -5220,8 +5200,8 @@
(i32.mul
(i32.shr_s
(i32.sub
- (get_local $10)
- (get_local $22)
+ (get_local $9)
+ (get_local $20)
)
(i32.const 2)
)
@@ -5231,7 +5211,7 @@
)
)
(block i32
- (set_local $16
+ (set_local $13
(call $i32s-div
(tee_local $7
(i32.add
@@ -5256,13 +5236,13 @@
(i32.const 9)
)
(block
- (set_local $11
+ (set_local $12
(i32.const 10)
)
(loop $while-in80
- (set_local $11
+ (set_local $12
(i32.mul
- (get_local $11)
+ (get_local $12)
(i32.const 10)
)
)
@@ -5279,11 +5259,11 @@
)
)
)
- (set_local $11
+ (set_local $12
(i32.const 10)
)
)
- (set_local $16
+ (set_local $13
(call $i32u-rem
(tee_local $25
(i32.load
@@ -5295,7 +5275,7 @@
)
(i32.shl
(i32.add
- (get_local $16)
+ (get_local $13)
(i32.const -1024)
)
(i32.const 2)
@@ -5304,7 +5284,7 @@
)
)
)
- (get_local $11)
+ (get_local $12)
)
)
(block $do-once81
@@ -5317,11 +5297,11 @@
(get_local $7)
(i32.const 4)
)
- (get_local $10)
+ (get_local $9)
)
)
(i32.eqz
- (get_local $16)
+ (get_local $13)
)
)
)
@@ -5329,16 +5309,16 @@
(set_local $55
(call $i32u-div
(get_local $25)
- (get_local $11)
+ (get_local $12)
)
)
(set_local $15
(if f64
(i32.lt_u
- (get_local $16)
+ (get_local $13)
(tee_local $56
(call $i32s-div
- (get_local $11)
+ (get_local $12)
(i32.const 2)
)
)
@@ -5350,14 +5330,14 @@
(i32.and
(get_local $36)
(i32.eq
- (get_local $16)
+ (get_local $13)
(get_local $56)
)
)
)
)
)
- (set_local $21
+ (set_local $24
(select
(f64.const 9007199254740994)
(f64.const 9007199254740992)
@@ -5367,59 +5347,55 @@
)
)
)
- (set_local $21
- (block $do-once83 f64
- (if f64
- (get_local $29)
- (block f64
- (drop
- (br_if $do-once83
- (get_local $21)
- (i32.ne
- (i32.load8_s
- (get_local $34)
- )
- (i32.const 45)
- )
+ (block $do-once83
+ (if
+ (get_local $29)
+ (block
+ (br_if $do-once83
+ (i32.ne
+ (i32.load8_s
+ (get_local $34)
)
+ (i32.const 45)
)
- (set_local $15
- (f64.neg
- (get_local $15)
- )
+ )
+ (set_local $24
+ (f64.neg
+ (get_local $24)
)
+ )
+ (set_local $15
(f64.neg
- (get_local $21)
+ (get_local $15)
)
)
- (get_local $21)
)
)
)
(i32.store
(get_local $7)
- (tee_local $16
+ (tee_local $13
(i32.sub
(get_local $25)
- (get_local $16)
+ (get_local $13)
)
)
)
(br_if $do-once81
(f64.eq
(f64.add
- (get_local $21)
+ (get_local $24)
(get_local $15)
)
- (get_local $21)
+ (get_local $24)
)
)
(i32.store
(get_local $7)
(tee_local $6
(i32.add
- (get_local $16)
- (get_local $11)
+ (get_local $13)
+ (get_local $12)
)
)
)
@@ -5443,19 +5419,14 @@
)
(get_local $5)
)
- (block
- (i32.store
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -4)
- )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
)
- (i32.const 0)
- )
- (set_local $5
- (get_local $5)
)
+ (i32.const 0)
)
)
(i32.store
@@ -5481,7 +5452,7 @@
(i32.mul
(i32.shr_s
(i32.sub
- (get_local $22)
+ (get_local $20)
(get_local $5)
)
(i32.const 2)
@@ -5491,7 +5462,7 @@
)
(br_if $do-once81
(i32.lt_u
- (tee_local $16
+ (tee_local $13
(i32.load
(get_local $5)
)
@@ -5499,7 +5470,7 @@
(i32.const 10)
)
)
- (set_local $11
+ (set_local $12
(i32.const 10)
)
(loop $while-in88
@@ -5511,10 +5482,10 @@
)
(br_if $while-in88
(i32.ge_u
- (get_local $16)
- (tee_local $11
+ (get_local $13)
+ (tee_local $12
(i32.mul
- (get_local $11)
+ (get_local $12)
(i32.const 10)
)
)
@@ -5524,55 +5495,55 @@
)
)
)
- (set_local $11
+ (set_local $12
+ (get_local $5)
+ )
+ (set_local $13
(get_local $6)
)
- (set_local $10
- (select
- (tee_local $6
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (get_local $10)
- (i32.gt_u
- (get_local $10)
- (get_local $6)
+ (select
+ (tee_local $5
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
)
)
+ (get_local $9)
+ (i32.gt_u
+ (get_local $9)
+ (get_local $5)
+ )
)
- (get_local $5)
)
(block i32
- (set_local $11
+ (set_local $12
+ (get_local $5)
+ )
+ (set_local $13
(get_local $6)
)
- (get_local $5)
+ (get_local $9)
)
)
)
(set_local $36
(i32.sub
(i32.const 0)
- (get_local $11)
+ (get_local $13)
)
)
- (set_local $5
- (get_local $10)
- )
(loop $while-in90
(block $while-out89
(if
(i32.le_u
(get_local $5)
- (get_local $16)
+ (get_local $12)
)
(block
(set_local $25
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(get_local $5)
)
(br $while-out89)
@@ -5591,7 +5562,7 @@
(set_local $25
(i32.const 1)
)
- (set_local $10
+ (set_local $9
(get_local $5)
)
)
@@ -5604,386 +5575,384 @@
)
)
)
- (set_local $13
- (block $do-once91 i32
- (if i32
- (get_local $43)
- (block i32
- (set_local $13
- (if i32
- (i32.and
- (i32.gt_s
- (tee_local $5
- (i32.add
- (i32.xor
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
+ (tee_local $13
+ (i32.add
+ (i32.add
+ (i32.add
+ (i32.add
+ (get_local $29)
+ (i32.const 1)
+ )
+ (tee_local $5
+ (block $do-once91 i32
+ (if i32
+ (get_local $43)
+ (block i32
+ (set_local $6
+ (if i32
(i32.and
- (get_local $35)
- (i32.const 1)
+ (i32.gt_s
+ (tee_local $5
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $35)
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (get_local $17)
+ )
+ )
+ (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.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ (i32.add
+ (get_local $18)
+ (i32.const -2)
+ )
)
- (i32.const 1)
)
- (get_local $19)
)
- )
- (get_local $11)
- )
- (i32.gt_s
- (get_local $11)
- (i32.const -5)
- )
- )
- (block i32
- (set_local $6
- (i32.add
- (get_local $13)
- (i32.const -1)
- )
- )
- (i32.sub
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- (get_local $11)
- )
- )
- (block i32
- (set_local $6
- (i32.add
- (get_local $13)
- (i32.const -2)
- )
- )
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- )
- )
- )
- (if
- (tee_local $7
- (i32.and
- (get_local $12)
- (i32.const 8)
- )
- )
- (block
- (set_local $5
- (get_local $13)
- )
- (br $do-once91
- (get_local $7)
- )
- )
- )
- (block $do-once93
- (if
- (get_local $25)
- (block
- (if
- (i32.eqz
- (tee_local $19
- (i32.load
- (i32.add
- (get_local $10)
- (i32.const -4)
+ (if
+ (tee_local $5
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
+ )
+ (block
+ (set_local $20
+ (get_local $5)
+ )
+ (br $do-once91
+ (get_local $17)
)
)
)
- )
- (block
- (set_local $5
- (i32.const 9)
- )
- (br $do-once93)
- )
- )
- (if
- (call $i32u-rem
- (get_local $19)
- (i32.const 10)
- )
- (block
- (set_local $5
- (i32.const 0)
+ (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)
+ )
+ (br $do-once93)
+ )
+ (block
+ (set_local $7
+ (i32.const 10)
+ )
+ (set_local $5
+ (i32.const 0)
+ )
+ )
+ )
+ (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 $7
+ (i32.mul
+ (get_local $7)
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (set_local $5
+ (i32.const 9)
+ )
+ )
)
- (br $do-once93)
- )
- (block
(set_local $7
- (i32.const 10)
- )
- (set_local $5
- (i32.const 0)
- )
- )
- )
- (loop $while-in96
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $9)
+ (get_local $20)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ (i32.const -9)
+ )
)
- )
- (br_if $while-in96
- (i32.eqz
- (call $i32u-rem
- (get_local $19)
- (tee_local $7
- (i32.mul
- (get_local $7)
- (i32.const 10)
+ (if i32
+ (i32.eq
+ (i32.or
+ (get_local $6)
+ (i32.const 32)
+ )
+ (i32.const 102)
+ )
+ (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 $7)
+ (get_local $5)
+ )
+ )
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
+ (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 $7)
+ (get_local $13)
+ )
+ (get_local $5)
+ )
+ )
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.lt_s
+ (get_local $17)
+ (get_local $5)
)
)
)
)
)
+ (block i32
+ (set_local $20
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
+ )
+ (set_local $6
+ (get_local $18)
+ )
+ (get_local $17)
+ )
)
)
- (set_local $5
- (i32.const 9)
- )
)
)
- (set_local $7
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $10)
- (get_local $22)
- )
- (i32.const 2)
- )
- (i32.const 9)
+ (i32.ne
+ (tee_local $35
+ (i32.or
+ (get_local $5)
+ (get_local $20)
)
- (i32.const -9)
)
+ (i32.const 0)
)
+ )
+ (tee_local $6
(if i32
- (i32.eq
- (i32.or
- (get_local $6)
- (i32.const 32)
+ (tee_local $17
+ (i32.eq
+ (i32.or
+ (get_local $6)
+ (i32.const 32)
+ )
+ (i32.const 102)
)
- (i32.const 102)
)
(block i32
- (set_local $5
- (select
+ (set_local $18
+ (i32.const 0)
+ )
+ (select
+ (get_local $13)
+ (i32.const 0)
+ (i32.gt_s
(get_local $13)
- (tee_local $5
- (select
- (i32.const 0)
- (tee_local $5
- (i32.sub
- (get_local $7)
- (get_local $5)
- )
- )
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- )
- )
- (i32.lt_s
- (get_local $13)
- (get_local $5)
- )
+ (i32.const 0)
)
)
- (i32.const 0)
)
(block i32
- (set_local $5
- (select
- (get_local $13)
- (tee_local $5
- (select
- (i32.const 0)
- (tee_local $5
- (i32.sub
- (i32.add
- (get_local $7)
- (get_local $11)
+ (if
+ (i32.lt_s
+ (i32.sub
+ (get_local $30)
+ (tee_local $7
+ (call $_fmt_u
+ (tee_local $7
+ (select
+ (get_local $36)
+ (get_local $13)
+ (i32.lt_s
+ (get_local $13)
+ (i32.const 0)
+ )
)
- (get_local $5)
)
- )
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ (get_local $37)
)
)
)
- (i32.lt_s
- (get_local $13)
- (get_local $5)
- )
+ (i32.const 2)
)
- )
- (i32.const 0)
- )
- )
- )
- (block i32
- (set_local $5
- (get_local $19)
- )
- (set_local $6
- (get_local $13)
- )
- (i32.and
- (get_local $12)
- (i32.const 8)
- )
- )
- )
- )
- )
- (set_local $19
- (if i32
- (tee_local $22
- (i32.eq
- (i32.or
- (get_local $6)
- (i32.const 32)
- )
- (i32.const 102)
- )
- )
- (block i32
- (set_local $6
- (select
- (get_local $11)
- (i32.const 0)
- (i32.gt_s
- (get_local $11)
- (i32.const 0)
- )
- )
- )
- (i32.const 0)
- )
- (block i32
- (if
- (i32.lt_s
- (i32.sub
- (get_local $30)
- (tee_local $7
- (call $_fmt_u
- (tee_local $7
- (select
- (get_local $36)
- (get_local $11)
- (i32.lt_s
- (get_local $11)
- (i32.const 0)
+ (loop $while-in98
+ (i32.store8
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const -1)
)
)
+ (i32.const 48)
)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
+ (br_if $while-in98
+ (i32.lt_s
+ (i32.sub
+ (get_local $30)
(get_local $7)
- (i32.const 0)
)
- (i32.const 31)
+ (i32.const 2)
)
- (i32.const 31)
)
- (get_local $37)
)
)
- )
- (i32.const 2)
- )
- (loop $while-in98
- (i32.store8
- (tee_local $7
+ (i32.store8
(i32.add
(get_local $7)
(i32.const -1)
)
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $13)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ (i32.const 43)
+ )
)
- (i32.const 48)
- )
- (br_if $while-in98
- (i32.lt_s
- (i32.sub
- (get_local $30)
- (get_local $7)
+ (i32.store8
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const -2)
+ )
)
- (i32.const 2)
+ (get_local $6)
)
- )
- )
- )
- (i32.store8
- (i32.add
- (get_local $7)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $11)
- (i32.const 31)
+ (set_local $18
+ (get_local $7)
)
- (i32.const 2)
- )
- (i32.const 43)
- )
- )
- (i32.store8
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const -2)
- )
- )
- (get_local $6)
- )
- (set_local $6
- (i32.sub
- (get_local $30)
- (get_local $7)
- )
- )
- (get_local $7)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (tee_local $11
- (i32.add
- (i32.add
- (i32.add
- (i32.add
- (get_local $29)
- (i32.const 1)
- )
- (get_local $5)
- )
- (i32.ne
- (tee_local $35
- (i32.or
- (get_local $5)
- (get_local $13)
+ (i32.sub
+ (get_local $30)
+ (get_local $7)
)
)
- (i32.const 0)
)
)
- (get_local $6)
)
)
- (get_local $12)
+ (get_local $11)
)
(if
(i32.eqz
@@ -6006,23 +5975,23 @@
(get_local $0)
(i32.const 48)
(get_local $14)
- (get_local $11)
+ (get_local $13)
(i32.xor
- (get_local $12)
+ (get_local $11)
(i32.const 65536)
)
)
(block $do-once99
(if
- (get_local $22)
+ (get_local $17)
(block
(set_local $7
- (tee_local $13
+ (tee_local $12
(select
(get_local $8)
- (get_local $16)
+ (get_local $12)
(i32.gt_u
- (get_local $16)
+ (get_local $12)
(get_local $8)
)
)
@@ -6042,7 +6011,7 @@
(if
(i32.eq
(get_local $7)
- (get_local $13)
+ (get_local $12)
)
(block
(br_if $do-once103
@@ -6063,7 +6032,7 @@
(br_if $do-once103
(i32.le_u
(get_local $6)
- (get_local $24)
+ (get_local $23)
)
)
(loop $while-in106
@@ -6079,7 +6048,7 @@
(br_if $while-in106
(i32.gt_u
(get_local $6)
- (get_local $24)
+ (get_local $23)
)
)
)
@@ -6154,7 +6123,7 @@
)
(i32.lt_u
(get_local $6)
- (get_local $10)
+ (get_local $9)
)
)
(loop $while-in110
@@ -6169,7 +6138,7 @@
(get_local $32)
)
)
- (get_local $24)
+ (get_local $23)
)
(loop $while-in112
(i32.store8
@@ -6184,7 +6153,7 @@
(br_if $while-in112
(i32.gt_u
(get_local $7)
- (get_local $24)
+ (get_local $23)
)
)
)
@@ -6232,7 +6201,7 @@
(i32.const 4)
)
)
- (get_local $10)
+ (get_local $9)
)
)
(block
@@ -6259,11 +6228,11 @@
)
)
(block
- (set_local $10
+ (set_local $9
(select
- (get_local $10)
+ (get_local $9)
(i32.add
- (get_local $16)
+ (get_local $12)
(i32.const 4)
)
(get_local $25)
@@ -6275,13 +6244,13 @@
(i32.const -1)
)
(block
- (set_local $13
+ (set_local $17
(i32.eqz
- (get_local $13)
+ (get_local $20)
)
)
(set_local $7
- (get_local $16)
+ (get_local $12)
)
(set_local $6
(get_local $5)
@@ -6314,7 +6283,7 @@
(if
(i32.eq
(get_local $7)
- (get_local $16)
+ (get_local $12)
)
(block
(if
@@ -6341,20 +6310,20 @@
)
)
(br_if $do-once115
- (i32.and
- (get_local $13)
- (i32.lt_s
- (get_local $6)
- (i32.const 1)
+ (i32.or
+ (i32.and
+ (get_local $17)
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 1)
+ )
)
- )
- )
- (br_if $do-once115
- (i32.and
- (i32.load
- (get_local $0)
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
)
(drop
@@ -6369,7 +6338,7 @@
(br_if $do-once115
(i32.le_u
(get_local $5)
- (get_local $24)
+ (get_local $23)
)
)
(loop $while-in118
@@ -6385,7 +6354,7 @@
(br_if $while-in118
(i32.gt_u
(get_local $5)
- (get_local $24)
+ (get_local $23)
)
)
)
@@ -6431,7 +6400,7 @@
(i32.const 4)
)
)
- (get_local $10)
+ (get_local $9)
)
(i32.gt_s
(tee_local $6
@@ -6470,10 +6439,10 @@
)
(drop
(call $___fwritex
- (get_local $19)
+ (get_local $18)
(i32.sub
(get_local $30)
- (get_local $19)
+ (get_local $18)
)
(get_local $0)
)
@@ -6485,17 +6454,17 @@
(get_local $0)
(i32.const 32)
(get_local $14)
- (get_local $11)
+ (get_local $13)
(i32.xor
- (get_local $12)
+ (get_local $11)
(i32.const 8192)
)
)
(select
(get_local $14)
- (get_local $11)
+ (get_local $13)
(i32.lt_s
- (get_local $11)
+ (get_local $13)
(get_local $14)
)
)
@@ -6505,13 +6474,13 @@
(get_local $0)
(i32.const 32)
(get_local $14)
- (tee_local $5
+ (tee_local $6
(i32.add
- (tee_local $7
+ (tee_local $9
(select
(i32.const 0)
(get_local $29)
- (tee_local $6
+ (tee_local $7
(i32.or
(f64.ne
(get_local $15)
@@ -6527,7 +6496,33 @@
)
(get_local $8)
)
- (set_local $6
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $5
+ (i32.load
+ (get_local $0)
+ )
+ )
+ (i32.const 32)
+ )
+ )
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $34)
+ (get_local $9)
+ (get_local $0)
+ )
+ )
+ (set_local $5
+ (i32.load
+ (get_local $0)
+ )
+ )
+ )
+ )
+ (set_local $7
(select
(select
(i32.const 4135)
@@ -6535,7 +6530,7 @@
(tee_local $8
(i32.ne
(i32.and
- (get_local $13)
+ (get_local $18)
(i32.const 32)
)
(i32.const 0)
@@ -6547,41 +6542,19 @@
(i32.const 4131)
(get_local $8)
)
- (get_local $6)
+ (get_local $7)
)
)
(if
(i32.eqz
(i32.and
- (if i32
- (i32.and
- (tee_local $8
- (i32.load
- (get_local $0)
- )
- )
- (i32.const 32)
- )
- (get_local $8)
- (block i32
- (drop
- (call $___fwritex
- (get_local $34)
- (get_local $7)
- (get_local $0)
- )
- )
- (i32.load
- (get_local $0)
- )
- )
- )
+ (get_local $5)
(i32.const 32)
)
)
(drop
(call $___fwritex
- (get_local $6)
+ (get_local $7)
(i32.const 3)
(get_local $0)
)
@@ -6591,17 +6564,17 @@
(get_local $0)
(i32.const 32)
(get_local $14)
- (get_local $5)
+ (get_local $6)
(i32.xor
- (get_local $12)
+ (get_local $11)
(i32.const 8192)
)
)
(select
(get_local $14)
- (get_local $5)
+ (get_local $6)
(i32.lt_s
- (get_local $5)
+ (get_local $6)
(get_local $14)
)
)
@@ -6609,28 +6582,34 @@
)
)
)
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $6)
+ )
(br $label$continue$L1)
)
(set_local $6
- (get_local $9)
+ (get_local $5)
)
- (set_local $11
+ (set_local $12
(get_local $7)
)
(set_local $8
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
- (set_local $9
- (get_local $23)
+ (set_local $5
+ (get_local $22)
)
(br $jumpthreading$outer$7)
)
- (set_local $10
+ (set_local $9
(i32.and
- (get_local $13)
+ (get_local $18)
(i32.const 32)
)
)
@@ -6639,38 +6618,38 @@
(i32.eqz
(tee_local $8
(i32.load
- (tee_local $6
- (get_local $18)
+ (tee_local $5
+ (get_local $19)
)
)
)
)
(i32.eqz
- (tee_local $12
+ (tee_local $11
(i32.load offset=4
- (get_local $6)
+ (get_local $5)
)
)
)
)
(block
- (set_local $6
- (get_local $23)
+ (set_local $5
+ (get_local $22)
)
(set_local $8
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
(br $jumpthreading$inner$7)
)
(block
- (set_local $6
+ (set_local $5
(get_local $8)
)
(set_local $8
- (get_local $23)
+ (get_local $22)
)
(loop $while-in123
(i32.store8
@@ -6684,36 +6663,36 @@
(i32.load8_u
(i32.add
(i32.and
- (get_local $6)
+ (get_local $5)
(i32.const 15)
)
(i32.const 4075)
)
)
- (get_local $10)
+ (get_local $9)
)
)
(br_if $while-in123
(i32.eqz
(i32.and
(i32.eqz
- (tee_local $6
+ (tee_local $5
(call $_bitshift64Lshr
- (get_local $6)
- (get_local $12)
+ (get_local $5)
+ (get_local $11)
(i32.const 4)
)
)
)
(i32.eqz
- (tee_local $12
+ (tee_local $11
(get_global $tempRet0)
)
)
)
)
)
- (set_local $6
+ (set_local $5
(get_local $8)
)
)
@@ -6721,21 +6700,21 @@
(i32.or
(i32.eqz
(i32.and
- (get_local $9)
+ (get_local $6)
(i32.const 8)
)
)
(i32.and
(i32.eqz
(i32.load
- (tee_local $12
- (get_local $18)
+ (tee_local $11
+ (get_local $19)
)
)
)
(i32.eqz
(i32.load offset=4
- (get_local $12)
+ (get_local $11)
)
)
)
@@ -6744,7 +6723,7 @@
(set_local $8
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
(br $jumpthreading$inner$7)
@@ -6753,10 +6732,10 @@
(set_local $8
(i32.const 2)
)
- (set_local $10
+ (set_local $9
(i32.add
(i32.shr_s
- (get_local $13)
+ (get_local $18)
(i32.const 4)
)
(i32.const 4091)
@@ -6769,26 +6748,26 @@
)
(br $jumpthreading$outer$7)
)
- (set_local $6
+ (set_local $5
(call $_fmt_u
- (get_local $9)
+ (get_local $5)
(get_local $6)
- (get_local $23)
+ (get_local $22)
)
)
- (set_local $9
- (get_local $12)
+ (set_local $6
+ (get_local $11)
)
(br $jumpthreading$inner$7)
)
(set_local $27
(i32.const 0)
)
- (set_local $16
+ (set_local $18
(i32.eqz
(tee_local $13
(call $_memchr
- (get_local $9)
+ (get_local $5)
(i32.const 0)
(get_local $7)
)
@@ -6796,40 +6775,40 @@
)
)
(set_local $6
- (get_local $9)
+ (get_local $5)
)
- (set_local $12
+ (set_local $11
(get_local $8)
)
- (set_local $11
+ (set_local $12
(select
(get_local $7)
(i32.sub
(get_local $13)
- (get_local $9)
+ (get_local $5)
)
- (get_local $16)
+ (get_local $18)
)
)
(set_local $8
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
- (set_local $9
+ (set_local $5
(select
(i32.add
- (get_local $9)
+ (get_local $5)
(get_local $7)
)
(get_local $13)
- (get_local $16)
+ (get_local $18)
)
)
(br $jumpthreading$outer$7)
)
- (set_local $9
+ (set_local $5
(i32.const 0)
)
(set_local $6
@@ -6837,14 +6816,14 @@
)
(set_local $7
(i32.load
- (get_local $18)
+ (get_local $19)
)
)
(loop $while-in125
(block $while-out124
(br_if $while-out124
(i32.eqz
- (tee_local $10
+ (tee_local $9
(i32.load
(get_local $7)
)
@@ -6857,7 +6836,7 @@
(tee_local $6
(call $_wctomb
(get_local $40)
- (get_local $10)
+ (get_local $9)
)
)
(i32.const 0)
@@ -6866,7 +6845,7 @@
(get_local $6)
(i32.sub
(get_local $8)
- (get_local $9)
+ (get_local $5)
)
)
)
@@ -6880,10 +6859,10 @@
(br_if $while-in125
(i32.gt_u
(get_local $8)
- (tee_local $9
+ (tee_local $5
(i32.add
(get_local $6)
- (get_local $9)
+ (get_local $5)
)
)
)
@@ -6896,7 +6875,7 @@
(i32.const 0)
)
(block
- (set_local $17
+ (set_local $16
(i32.const -1)
)
(br $label$break$L1)
@@ -6906,18 +6885,18 @@
(get_local $0)
(i32.const 32)
(get_local $14)
- (get_local $9)
- (get_local $12)
+ (get_local $5)
+ (get_local $11)
)
(if
- (get_local $9)
+ (get_local $5)
(block
(set_local $7
(i32.const 0)
)
(set_local $6
(i32.load
- (get_local $18)
+ (get_local $19)
)
)
(loop $while-in127
@@ -6931,7 +6910,7 @@
)
(block
(set_local $6
- (get_local $9)
+ (get_local $5)
)
(br $jumpthreading$inner$6)
)
@@ -6949,11 +6928,11 @@
(get_local $7)
)
)
- (get_local $9)
+ (get_local $5)
)
(block
(set_local $6
- (get_local $9)
+ (get_local $5)
)
(br $jumpthreading$inner$6)
)
@@ -6984,15 +6963,13 @@
(br_if $while-in127
(i32.lt_u
(get_local $7)
- (get_local $9)
+ (get_local $5)
)
)
- (block
- (set_local $6
- (get_local $9)
- )
- (br $jumpthreading$inner$6)
+ (set_local $6
+ (get_local $5)
)
+ (br $jumpthreading$inner$6)
)
)
(block
@@ -7013,14 +6990,14 @@
(get_local $14)
(get_local $6)
(i32.xor
- (get_local $12)
+ (get_local $11)
(i32.const 8192)
)
)
- (set_local $9
- (get_local $5)
- )
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(select
(get_local $14)
(get_local $6)
@@ -7035,39 +7012,36 @@
(set_local $27
(i32.const 0)
)
- (set_local $12
+ (set_local $11
(select
(i32.and
- (get_local $9)
+ (get_local $6)
(i32.const -65537)
)
- (get_local $9)
+ (get_local $6)
(i32.gt_s
(get_local $7)
(i32.const -1)
)
)
)
- (set_local $6
+ (set_local $5
(if i32
(i32.or
- (i32.ne
- (get_local $7)
- (i32.const 0)
- )
- (tee_local $9
+ (get_local $7)
+ (tee_local $12
(i32.or
(i32.ne
(i32.load
- (tee_local $9
- (get_local $18)
+ (tee_local $6
+ (get_local $19)
)
)
(i32.const 0)
)
(i32.ne
(i32.load offset=4
- (get_local $9)
+ (get_local $6)
)
(i32.const 0)
)
@@ -7075,43 +7049,43 @@
)
)
(block i32
- (set_local $11
+ (set_local $6
+ (get_local $5)
+ )
+ (set_local $12
(select
(get_local $7)
- (tee_local $9
+ (tee_local $5
(i32.add
(i32.xor
(i32.and
- (get_local $9)
+ (get_local $12)
(i32.const 1)
)
(i32.const 1)
)
(i32.sub
(get_local $44)
- (get_local $6)
+ (get_local $5)
)
)
)
(i32.gt_s
(get_local $7)
- (get_local $9)
+ (get_local $5)
)
)
)
- (set_local $9
- (get_local $23)
- )
- (get_local $6)
+ (get_local $22)
)
(block i32
- (set_local $11
- (i32.const 0)
+ (set_local $6
+ (get_local $22)
)
- (set_local $9
- (get_local $23)
+ (set_local $12
+ (i32.const 0)
)
- (get_local $23)
+ (get_local $22)
)
)
)
@@ -7121,20 +7095,20 @@
(i32.const 32)
(tee_local $7
(select
- (tee_local $9
+ (tee_local $5
(i32.add
(get_local $8)
- (tee_local $11
+ (tee_local $12
(select
(tee_local $13
(i32.sub
- (get_local $9)
+ (get_local $5)
(get_local $6)
)
)
- (get_local $11)
+ (get_local $12)
(i32.lt_s
- (get_local $11)
+ (get_local $12)
(get_local $13)
)
)
@@ -7144,12 +7118,12 @@
(get_local $14)
(i32.lt_s
(get_local $14)
- (get_local $9)
+ (get_local $5)
)
)
)
- (get_local $9)
- (get_local $12)
+ (get_local $5)
+ (get_local $11)
)
(if
(i32.eqz
@@ -7162,7 +7136,7 @@
)
(drop
(call $___fwritex
- (get_local $10)
+ (get_local $9)
(get_local $8)
(get_local $0)
)
@@ -7172,16 +7146,16 @@
(get_local $0)
(i32.const 48)
(get_local $7)
- (get_local $9)
+ (get_local $5)
(i32.xor
- (get_local $12)
+ (get_local $11)
(i32.const 65536)
)
)
(call $_pad
(get_local $0)
(i32.const 48)
- (get_local $11)
+ (get_local $12)
(get_local $13)
(i32.const 0)
)
@@ -7206,16 +7180,16 @@
(get_local $0)
(i32.const 32)
(get_local $7)
- (get_local $9)
+ (get_local $5)
(i32.xor
- (get_local $12)
+ (get_local $11)
(i32.const 8192)
)
)
- (set_local $9
- (get_local $5)
- )
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $7)
)
(br $label$continue$L1)
@@ -7247,7 +7221,6 @@
)
)
(block
- (nop)
(call $_pop_arg_336
(i32.add
(get_local $3)
@@ -7270,12 +7243,10 @@
(i32.const 10)
)
)
- (block
- (set_local $17
- (i32.const 1)
- )
- (br $label$break$L343)
+ (set_local $16
+ (i32.const 1)
)
+ (br $label$break$L343)
)
)
)
@@ -7296,7 +7267,7 @@
)
)
(block
- (set_local $17
+ (set_local $16
(i32.const -1)
)
(br $label$break$L343)
@@ -7313,16 +7284,16 @@
(i32.const 10)
)
)
- (set_local $17
+ (set_local $16
(i32.const 1)
)
)
- (set_local $17
+ (set_local $16
(i32.const 1)
)
)
)
- (set_local $17
+ (set_local $16
(i32.const 0)
)
)
@@ -7331,7 +7302,7 @@
(set_global $STACKTOP
(get_local $26)
)
- (get_local $17)
+ (get_local $16)
)
(func $_pop_arg_336 (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
@@ -7736,26 +7707,32 @@
(func $_fmt_u (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
- (set_local $1
- (if i32
- (i32.or
- (i32.gt_u
+ (if
+ (i32.or
+ (i32.gt_u
+ (get_local $1)
+ (i32.const 0)
+ )
+ (i32.and
+ (i32.eqz
(get_local $1)
- (i32.const 0)
)
- (i32.and
- (i32.eqz
- (get_local $1)
- )
- (i32.gt_u
- (get_local $0)
+ (i32.gt_u
+ (get_local $0)
+ (i32.const -1)
+ )
+ )
+ )
+ (loop $while-in
+ (i32.store8
+ (tee_local $2
+ (i32.add
+ (get_local $2)
(i32.const -1)
)
)
- )
- (block i32
- (loop $while-in
- (set_local $3
+ (i32.or
+ (tee_local $3
(call $___uremdi3
(get_local $0)
(get_local $1)
@@ -7763,72 +7740,59 @@
(i32.const 0)
)
)
- (i32.store8
- (tee_local $2
- (i32.add
- (get_local $2)
- (i32.const -1)
- )
- )
- (i32.or
- (get_local $3)
- (i32.const 48)
- )
+ (i32.const 48)
+ )
+ )
+ (set_local $3
+ (call $___udivdi3
+ (get_local $0)
+ (get_local $1)
+ (i32.const 10)
+ (i32.const 0)
+ )
+ )
+ (set_local $4
+ (get_global $tempRet0)
+ )
+ (if
+ (i32.or
+ (i32.gt_u
+ (get_local $1)
+ (i32.const 9)
)
- (set_local $3
- (call $___udivdi3
- (get_local $0)
+ (i32.and
+ (i32.eq
(get_local $1)
- (i32.const 10)
- (i32.const 0)
+ (i32.const 9)
+ )
+ (i32.gt_u
+ (get_local $0)
+ (i32.const -1)
)
)
- (set_local $4
- (get_global $tempRet0)
+ )
+ (block
+ (set_local $0
+ (get_local $3)
)
- (if
- (i32.or
- (i32.gt_u
- (get_local $1)
- (i32.const 9)
- )
- (i32.and
- (i32.eq
- (get_local $1)
- (i32.const 9)
- )
- (i32.gt_u
- (get_local $0)
- (i32.const -1)
- )
- )
- )
- (block
- (set_local $0
- (get_local $3)
- )
- (set_local $1
- (get_local $4)
- )
- (br $while-in)
- )
- (set_local $0
- (get_local $3)
- )
+ (set_local $1
+ (get_local $4)
)
+ (br $while-in)
+ )
+ (set_local $0
+ (get_local $3)
)
- (get_local $2)
)
- (get_local $2)
)
)
(if
(get_local $0)
(loop $while-in1
(i32.store8
- (tee_local $1
+ (tee_local $2
(i32.add
- (get_local $1)
+ (get_local $2)
(i32.const -1)
)
)
@@ -7840,7 +7804,7 @@
(i32.const 48)
)
)
- (set_local $2
+ (set_local $1
(call $i32u-div
(get_local $0)
(i32.const 10)
@@ -7853,14 +7817,14 @@
)
(block
(set_local $0
- (get_local $2)
+ (get_local $1)
)
(br $while-in1)
)
)
)
)
- (get_local $1)
+ (get_local $2)
)
(func $_pad (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 i32)
@@ -7938,27 +7902,27 @@
)
(block
(loop $while-in
+ (if
+ (get_local $4)
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $6)
+ (i32.const 256)
+ (get_local $0)
+ )
+ )
+ (set_local $1
+ (i32.load
+ (get_local $0)
+ )
+ )
+ )
+ )
(set_local $4
(i32.eqz
(i32.and
- (if i32
- (get_local $4)
- (block i32
- (drop
- (call $___fwritex
- (get_local $6)
- (i32.const 256)
- (get_local $0)
- )
- )
- (tee_local $1
- (i32.load
- (get_local $0)
- )
- )
- )
- (get_local $1)
- )
+ (get_local $1)
(i32.const 32)
)
)
@@ -8046,7 +8010,7 @@
(i32.and
(tee_local $1
(i32.shr_u
- (tee_local $10
+ (tee_local $8
(i32.load
(i32.const 176)
)
@@ -8081,7 +8045,7 @@
(i32.load
(tee_local $1
(i32.add
- (tee_local $9
+ (tee_local $7
(i32.load
(tee_local $2
(i32.add
@@ -8126,7 +8090,7 @@
(i32.store
(i32.const 176)
(i32.and
- (get_local $10)
+ (get_local $8)
(i32.xor
(i32.shl
(i32.const 1)
@@ -8156,7 +8120,7 @@
)
)
)
- (get_local $9)
+ (get_local $7)
)
(block
(i32.store
@@ -8173,7 +8137,7 @@
)
)
(i32.store offset=4
- (get_local $9)
+ (get_local $7)
(i32.or
(tee_local $0
(i32.shl
@@ -8188,7 +8152,7 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $9)
+ (get_local $7)
(get_local $0)
)
(i32.const 4)
@@ -8258,7 +8222,7 @@
(i32.const 16)
)
)
- (set_local $12
+ (set_local $11
(i32.load
(tee_local $4
(i32.add
@@ -8363,13 +8327,13 @@
(if
(i32.eq
(get_local $2)
- (get_local $12)
+ (get_local $11)
)
(block
(i32.store
(i32.const 176)
(i32.and
- (get_local $10)
+ (get_local $8)
(i32.xor
(i32.shl
(i32.const 1)
@@ -8386,7 +8350,7 @@
(block
(if
(i32.lt_u
- (get_local $12)
+ (get_local $11)
(i32.load
(i32.const 192)
)
@@ -8398,7 +8362,7 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $12)
+ (get_local $11)
(i32.const 12)
)
)
@@ -8412,7 +8376,7 @@
)
(i32.store
(get_local $1)
- (get_local $12)
+ (get_local $11)
)
(set_local $16
(i32.load
@@ -8518,7 +8482,7 @@
(set_local $15
(get_local $1)
)
- (set_local $9
+ (set_local $7
(get_local $0)
)
)
@@ -8537,7 +8501,7 @@
(i32.const 8)
)
)
- (set_local $9
+ (set_local $7
(get_local $2)
)
)
@@ -8547,12 +8511,12 @@
(get_local $6)
)
(i32.store offset=12
- (get_local $9)
+ (get_local $7)
(get_local $6)
)
(i32.store offset=8
(get_local $6)
- (get_local $9)
+ (get_local $7)
)
(i32.store offset=12
(get_local $6)
@@ -8600,7 +8564,7 @@
(i32.const 16)
)
)
- (set_local $9
+ (set_local $7
(i32.sub
(i32.and
(i32.load offset=4
@@ -8713,17 +8677,17 @@
)
)
(block
- (set_local $12
- (get_local $9)
- )
(set_local $11
+ (get_local $7)
+ )
+ (set_local $10
(get_local $2)
)
(br $while-out)
)
)
)
- (set_local $12
+ (set_local $11
(i32.lt_u
(tee_local $1
(i32.sub
@@ -8736,14 +8700,14 @@
(get_local $3)
)
)
- (get_local $9)
+ (get_local $7)
)
)
- (set_local $9
+ (set_local $7
(select
(get_local $1)
- (get_local $9)
- (get_local $12)
+ (get_local $7)
+ (get_local $11)
)
)
(set_local $1
@@ -8753,7 +8717,7 @@
(select
(get_local $0)
(get_local $2)
- (get_local $12)
+ (get_local $11)
)
)
(br $while-in)
@@ -8761,8 +8725,8 @@
)
(if
(i32.lt_u
- (get_local $11)
- (tee_local $10
+ (get_local $10)
+ (tee_local $8
(i32.load
(i32.const 192)
)
@@ -8772,19 +8736,19 @@
)
(if
(i32.ge_u
- (get_local $11)
- (tee_local $14
+ (get_local $10)
+ (tee_local $13
(i32.add
- (get_local $11)
+ (get_local $10)
(get_local $3)
)
)
)
(call $_abort)
)
- (set_local $7
+ (set_local $9
(i32.load offset=24
- (get_local $11)
+ (get_local $10)
)
)
(block $do-once4
@@ -8792,10 +8756,10 @@
(i32.eq
(tee_local $0
(i32.load offset=12
- (get_local $11)
+ (get_local $10)
)
)
- (get_local $11)
+ (get_local $10)
)
(block
(if
@@ -8804,7 +8768,7 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $11)
+ (get_local $10)
(i32.const 20)
)
)
@@ -8817,7 +8781,7 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $11)
+ (get_local $10)
(i32.const 16)
)
)
@@ -8836,7 +8800,7 @@
(if
(tee_local $2
(i32.load
- (tee_local $9
+ (tee_local $7
(i32.add
(get_local $1)
(i32.const 20)
@@ -8849,7 +8813,7 @@
(get_local $2)
)
(set_local $0
- (get_local $9)
+ (get_local $7)
)
(br $while-in7)
)
@@ -8857,7 +8821,7 @@
(if
(tee_local $2
(i32.load
- (tee_local $9
+ (tee_local $7
(i32.add
(get_local $1)
(i32.const 16)
@@ -8870,7 +8834,7 @@
(get_local $2)
)
(set_local $0
- (get_local $9)
+ (get_local $7)
)
(br $while-in7)
)
@@ -8879,7 +8843,7 @@
(if
(i32.lt_u
(get_local $0)
- (get_local $10)
+ (get_local $8)
)
(call $_abort)
(block
@@ -8896,12 +8860,12 @@
(block
(if
(i32.lt_u
- (tee_local $9
+ (tee_local $7
(i32.load offset=8
- (get_local $11)
+ (get_local $10)
)
)
- (get_local $10)
+ (get_local $8)
)
(call $_abort)
)
@@ -8910,12 +8874,12 @@
(i32.load
(tee_local $2
(i32.add
- (get_local $9)
+ (get_local $7)
(i32.const 12)
)
)
)
- (get_local $11)
+ (get_local $10)
)
(call $_abort)
)
@@ -8929,7 +8893,7 @@
)
)
)
- (get_local $11)
+ (get_local $10)
)
(block
(i32.store
@@ -8938,7 +8902,7 @@
)
(i32.store
(get_local $1)
- (get_local $9)
+ (get_local $7)
)
(set_local $5
(get_local $0)
@@ -8951,18 +8915,18 @@
)
(block $do-once8
(if
- (get_local $7)
+ (get_local $9)
(block
(if
(i32.eq
- (get_local $11)
+ (get_local $10)
(i32.load
(tee_local $0
(i32.add
(i32.shl
(tee_local $1
(i32.load offset=28
- (get_local $11)
+ (get_local $10)
)
)
(i32.const 2)
@@ -9004,7 +8968,7 @@
(block
(if
(i32.lt_u
- (get_local $7)
+ (get_local $9)
(i32.load
(i32.const 192)
)
@@ -9016,19 +8980,19 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $7)
+ (get_local $9)
(i32.const 16)
)
)
)
- (get_local $11)
+ (get_local $10)
)
(i32.store
(get_local $0)
(get_local $5)
)
(i32.store offset=20
- (get_local $7)
+ (get_local $9)
(get_local $5)
)
)
@@ -9052,12 +9016,12 @@
)
(i32.store offset=24
(get_local $5)
- (get_local $7)
+ (get_local $9)
)
(if
(tee_local $1
(i32.load offset=16
- (get_local $11)
+ (get_local $10)
)
)
(if
@@ -9081,7 +9045,7 @@
(if
(tee_local $0
(i32.load offset=20
- (get_local $11)
+ (get_local $10)
)
)
(if
@@ -9109,16 +9073,16 @@
)
(if
(i32.lt_u
- (get_local $12)
+ (get_local $11)
(i32.const 16)
)
(block
(i32.store offset=4
- (get_local $11)
+ (get_local $10)
(i32.or
(tee_local $0
(i32.add
- (get_local $12)
+ (get_local $11)
(get_local $3)
)
)
@@ -9129,7 +9093,7 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $11)
+ (get_local $10)
(get_local $0)
)
(i32.const 4)
@@ -9145,25 +9109,25 @@
)
(block
(i32.store offset=4
- (get_local $11)
+ (get_local $10)
(i32.or
(get_local $3)
(i32.const 3)
)
)
(i32.store offset=4
- (get_local $14)
+ (get_local $13)
(i32.or
- (get_local $12)
+ (get_local $11)
(i32.const 1)
)
)
(i32.store
(i32.add
- (get_local $14)
- (get_local $12)
+ (get_local $13)
+ (get_local $11)
)
- (get_local $12)
+ (get_local $11)
)
(if
(tee_local $0
@@ -9273,17 +9237,17 @@
)
(i32.store
(i32.const 184)
- (get_local $12)
+ (get_local $11)
)
(i32.store
(i32.const 196)
- (get_local $14)
+ (get_local $13)
)
)
)
(return
(i32.add
- (get_local $11)
+ (get_local $10)
(i32.const 8)
)
)
@@ -9325,115 +9289,116 @@
)
)
(block
- (set_local $9
- (i32.sub
- (i32.const 0)
- (get_local $5)
- )
- )
- (block $jumpthreading$outer$2
- (block $jumpthreading$inner$2
- (if
- (tee_local $0
- (i32.load offset=480
- (i32.shl
- (tee_local $17
- (if i32
- (tee_local $0
- (i32.shr_u
- (get_local $0)
- (i32.const 8)
- )
- )
- (if i32
- (i32.gt_u
- (get_local $5)
- (i32.const 16777215)
- )
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $5)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (tee_local $0
+ (set_local $17
+ (if i32
+ (tee_local $0
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
+ (if i32
+ (i32.gt_u
+ (get_local $5)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $5)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $4
+ (i32.shl
+ (get_local $0)
+ (tee_local $7
(i32.and
(i32.shr_u
(i32.add
- (tee_local $4
- (i32.shl
- (get_local $0)
- (tee_local $6
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
+ (get_local $0)
+ (i32.const 1048320)
)
(i32.const 16)
)
- (i32.const 4)
- )
- )
- (get_local $6)
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $4
- (i32.shl
- (get_local $4)
- (get_local $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 2)
)
)
)
+ (i32.const 520192)
)
- (i32.shr_u
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (get_local $7)
+ )
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $4
(i32.shl
(get_local $4)
(get_local $0)
)
- (i32.const 15)
)
+ (i32.const 245760)
)
+ (i32.const 16)
)
- (i32.const 7)
+ (i32.const 2)
)
)
- (i32.const 1)
)
+ )
+ (i32.shr_u
(i32.shl
+ (get_local $4)
(get_local $0)
- (i32.const 1)
)
+ (i32.const 15)
)
)
- (i32.const 0)
)
+ (i32.const 7)
)
+ )
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (set_local $7
+ (i32.sub
+ (i32.const 0)
+ (get_local $5)
+ )
+ )
+ (block $jumpthreading$outer$2
+ (block $jumpthreading$inner$2
+ (if
+ (tee_local $0
+ (i32.load offset=480
+ (i32.shl
+ (get_local $17)
(i32.const 2)
)
)
@@ -9480,7 +9445,7 @@
(get_local $5)
)
)
- (get_local $9)
+ (get_local $7)
)
(if
(i32.eq
@@ -9503,7 +9468,7 @@
(br $jumpthreading$outer$2)
)
(block
- (set_local $9
+ (set_local $7
(get_local $6)
)
(set_local $4
@@ -9566,18 +9531,16 @@
(br_if $jumpthreading$inner$2
(get_local $16)
)
- (block
- (set_local $16
- (get_local $0)
- )
- (set_local $18
- (get_local $6)
- )
- (set_local $0
- (get_local $15)
- )
- (br $while-in14)
+ (set_local $16
+ (get_local $0)
)
+ (set_local $18
+ (get_local $6)
+ )
+ (set_local $0
+ (get_local $15)
+ )
+ (br $while-in14)
)
)
(block
@@ -9593,101 +9556,85 @@
(br $jumpthreading$outer$2)
)
(if
- (if i32
- (i32.and
- (i32.eqz
- (get_local $0)
- )
- (i32.eqz
- (get_local $4)
- )
+ (i32.and
+ (i32.eqz
+ (get_local $0)
)
- (block i32
- (if
- (i32.eqz
- (tee_local $0
- (i32.and
- (get_local $24)
- (i32.or
- (tee_local $0
- (i32.shl
- (i32.const 2)
- (get_local $17)
- )
- )
- (i32.sub
- (i32.const 0)
- (get_local $0)
+ (i32.eqz
+ (get_local $4)
+ )
+ )
+ (block
+ (if
+ (i32.eqz
+ (tee_local $0
+ (i32.and
+ (get_local $24)
+ (i32.or
+ (tee_local $0
+ (i32.shl
+ (i32.const 2)
+ (get_local $17)
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $0)
+ )
)
)
)
- (block
- (set_local $0
- (get_local $5)
- )
- (br $do-once)
+ )
+ (block
+ (set_local $0
+ (get_local $5)
)
+ (br $do-once)
)
- (set_local $15
- (i32.and
- (i32.shr_u
- (tee_local $0
- (i32.add
- (i32.and
+ )
+ (set_local $15
+ (i32.and
+ (i32.shr_u
+ (tee_local $0
+ (i32.add
+ (i32.and
+ (get_local $0)
+ (i32.sub
+ (i32.const 0)
(get_local $0)
- (i32.sub
- (i32.const 0)
- (get_local $0)
- )
)
- (i32.const -1)
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (tee_local $0
- (i32.load offset=480
- (i32.shl
- (i32.add
+ )
+ (set_local $0
+ (i32.load offset=480
+ (i32.shl
+ (i32.add
+ (i32.or
(i32.or
(i32.or
(i32.or
- (i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (tee_local $6
- (i32.shr_u
- (get_local $0)
- (get_local $15)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $15)
- )
(tee_local $0
(i32.and
(i32.shr_u
(tee_local $6
(i32.shr_u
- (get_local $6)
(get_local $0)
+ (get_local $15)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $15)
)
(tee_local $0
(i32.and
@@ -9698,9 +9645,9 @@
(get_local $0)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
@@ -9715,25 +9662,41 @@
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $6)
- (get_local $0)
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $6
+ (i32.shr_u
+ (get_local $6)
+ (get_local $0)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
)
)
- (i32.const 2)
+ (i32.shr_u
+ (get_local $6)
+ (get_local $0)
+ )
)
+ (i32.const 2)
)
)
)
- (get_local $0)
)
+ )
+ (if
+ (get_local $0)
(block
(set_local $2
- (get_local $9)
+ (get_local $7)
)
(set_local $3
(get_local $0)
@@ -9746,10 +9709,10 @@
)
)
(block
- (set_local $8
- (get_local $9)
+ (set_local $14
+ (get_local $7)
)
- (set_local $13
+ (set_local $12
(get_local $4)
)
)
@@ -9811,21 +9774,19 @@
)
)
)
- (block
- (set_local $8
- (get_local $2)
- )
- (set_local $13
- (get_local $1)
- )
+ (set_local $14
+ (get_local $2)
+ )
+ (set_local $12
+ (get_local $1)
)
)
)
(if
- (get_local $13)
+ (get_local $12)
(if
(i32.lt_u
- (get_local $8)
+ (get_local $14)
(i32.sub
(i32.load
(i32.const 184)
@@ -9836,7 +9797,7 @@
(block
(if
(i32.lt_u
- (get_local $13)
+ (get_local $12)
(tee_local $4
(i32.load
(i32.const 192)
@@ -9847,19 +9808,19 @@
)
(if
(i32.ge_u
- (get_local $13)
+ (get_local $12)
(tee_local $6
(i32.add
- (get_local $13)
+ (get_local $12)
(get_local $5)
)
)
)
(call $_abort)
)
- (set_local $9
+ (set_local $7
(i32.load offset=24
- (get_local $13)
+ (get_local $12)
)
)
(block $do-once17
@@ -9867,10 +9828,10 @@
(i32.eq
(tee_local $0
(i32.load offset=12
- (get_local $13)
+ (get_local $12)
)
)
- (get_local $13)
+ (get_local $12)
)
(block
(if
@@ -9879,7 +9840,7 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $13)
+ (get_local $12)
(i32.const 20)
)
)
@@ -9892,7 +9853,7 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $13)
+ (get_local $12)
(i32.const 16)
)
)
@@ -9900,7 +9861,7 @@
)
)
(block
- (set_local $7
+ (set_local $9
(i32.const 0)
)
(br $do-once17)
@@ -9962,7 +9923,7 @@
(get_local $0)
(i32.const 0)
)
- (set_local $7
+ (set_local $9
(get_local $1)
)
)
@@ -9973,7 +9934,7 @@
(i32.lt_u
(tee_local $3
(i32.load offset=8
- (get_local $13)
+ (get_local $12)
)
)
(get_local $4)
@@ -9990,7 +9951,7 @@
)
)
)
- (get_local $13)
+ (get_local $12)
)
(call $_abort)
)
@@ -10004,7 +9965,7 @@
)
)
)
- (get_local $13)
+ (get_local $12)
)
(block
(i32.store
@@ -10015,7 +9976,7 @@
(get_local $1)
(get_local $3)
)
- (set_local $7
+ (set_local $9
(get_local $0)
)
)
@@ -10026,18 +9987,18 @@
)
(block $do-once21
(if
- (get_local $9)
+ (get_local $7)
(block
(if
(i32.eq
- (get_local $13)
+ (get_local $12)
(i32.load
(tee_local $0
(i32.add
(i32.shl
(tee_local $1
(i32.load offset=28
- (get_local $13)
+ (get_local $12)
)
)
(i32.const 2)
@@ -10050,11 +10011,11 @@
(block
(i32.store
(get_local $0)
- (get_local $7)
+ (get_local $9)
)
(if
(i32.eqz
- (get_local $7)
+ (get_local $9)
)
(block
(i32.store
@@ -10079,7 +10040,7 @@
(block
(if
(i32.lt_u
- (get_local $9)
+ (get_local $7)
(i32.load
(i32.const 192)
)
@@ -10091,32 +10052,32 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $9)
+ (get_local $7)
(i32.const 16)
)
)
)
- (get_local $13)
+ (get_local $12)
)
(i32.store
(get_local $0)
- (get_local $7)
+ (get_local $9)
)
(i32.store offset=20
- (get_local $9)
(get_local $7)
+ (get_local $9)
)
)
(br_if $do-once21
(i32.eqz
- (get_local $7)
+ (get_local $9)
)
)
)
)
(if
(i32.lt_u
- (get_local $7)
+ (get_local $9)
(tee_local $0
(i32.load
(i32.const 192)
@@ -10126,13 +10087,13 @@
(call $_abort)
)
(i32.store offset=24
- (get_local $7)
(get_local $9)
+ (get_local $7)
)
(if
(tee_local $1
(i32.load offset=16
- (get_local $13)
+ (get_local $12)
)
)
(if
@@ -10143,12 +10104,12 @@
(call $_abort)
(block
(i32.store offset=16
- (get_local $7)
+ (get_local $9)
(get_local $1)
)
(i32.store offset=24
(get_local $1)
- (get_local $7)
+ (get_local $9)
)
)
)
@@ -10156,7 +10117,7 @@
(if
(tee_local $0
(i32.load offset=20
- (get_local $13)
+ (get_local $12)
)
)
(if
@@ -10169,12 +10130,12 @@
(call $_abort)
(block
(i32.store offset=20
- (get_local $7)
+ (get_local $9)
(get_local $0)
)
(i32.store offset=24
(get_local $0)
- (get_local $7)
+ (get_local $9)
)
)
)
@@ -10185,16 +10146,16 @@
(block $do-once25
(if
(i32.lt_u
- (get_local $8)
+ (get_local $14)
(i32.const 16)
)
(block
(i32.store offset=4
- (get_local $13)
+ (get_local $12)
(i32.or
(tee_local $0
(i32.add
- (get_local $8)
+ (get_local $14)
(get_local $5)
)
)
@@ -10205,7 +10166,7 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $13)
+ (get_local $12)
(get_local $0)
)
(i32.const 4)
@@ -10221,7 +10182,7 @@
)
(block
(i32.store offset=4
- (get_local $13)
+ (get_local $12)
(i32.or
(get_local $5)
(i32.const 3)
@@ -10230,26 +10191,26 @@
(i32.store offset=4
(get_local $6)
(i32.or
- (get_local $8)
+ (get_local $14)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $6)
- (get_local $8)
+ (get_local $14)
)
- (get_local $8)
+ (get_local $14)
)
(set_local $0
(i32.shr_u
- (get_local $8)
+ (get_local $14)
(i32.const 3)
)
)
(if
(i32.lt_u
- (get_local $8)
+ (get_local $14)
(i32.const 256)
)
(block
@@ -10300,7 +10261,7 @@
(set_local $20
(get_local $1)
)
- (set_local $10
+ (set_local $8
(get_local $0)
)
)
@@ -10319,7 +10280,7 @@
(i32.const 8)
)
)
- (set_local $10
+ (set_local $8
(get_local $2)
)
)
@@ -10329,12 +10290,12 @@
(get_local $6)
)
(i32.store offset=12
- (get_local $10)
+ (get_local $8)
(get_local $6)
)
(i32.store offset=8
(get_local $6)
- (get_local $10)
+ (get_local $8)
)
(i32.store offset=12
(get_local $6)
@@ -10350,20 +10311,20 @@
(if i32
(tee_local $0
(i32.shr_u
- (get_local $8)
+ (get_local $14)
(i32.const 8)
)
)
(if i32
(i32.gt_u
- (get_local $8)
+ (get_local $14)
(i32.const 16777215)
)
(i32.const 31)
(i32.or
(i32.and
(i32.shr_u
- (get_local $8)
+ (get_local $14)
(i32.add
(tee_local $0
(i32.add
@@ -10510,7 +10471,7 @@
)
(set_local $3
(i32.shl
- (get_local $8)
+ (get_local $14)
(select
(i32.const 0)
(i32.sub
@@ -10544,7 +10505,7 @@
)
(i32.const -8)
)
- (get_local $8)
+ (get_local $14)
)
)
(set_local $2
@@ -10576,15 +10537,13 @@
)
)
)
- (block
- (set_local $3
- (get_local $2)
- )
- (set_local $0
- (get_local $1)
- )
- (br $while-in28)
+ (set_local $3
+ (get_local $2)
+ )
+ (set_local $0
+ (get_local $1)
)
+ (br $while-in28)
)
)
(if
@@ -10671,7 +10630,7 @@
)
(return
(i32.add
- (get_local $13)
+ (get_local $12)
(i32.const 8)
)
)
@@ -10912,16 +10871,16 @@
)
(if
(i32.le_u
- (tee_local $9
+ (tee_local $7
(i32.and
- (tee_local $10
+ (tee_local $8
(i32.add
(tee_local $1
(i32.load
(i32.const 656)
)
)
- (tee_local $7
+ (tee_local $9
(i32.add
(get_local $0)
(i32.const 47)
@@ -10929,7 +10888,7 @@
)
)
)
- (tee_local $5
+ (tee_local $6
(i32.sub
(i32.const 0)
(get_local $1)
@@ -10959,7 +10918,7 @@
(i32.const 608)
)
)
- (get_local $9)
+ (get_local $7)
)
)
(get_local $2)
@@ -10974,7 +10933,7 @@
)
)
)
- (set_local $6
+ (set_local $5
(i32.add
(get_local $0)
(i32.const 48)
@@ -11053,24 +11012,24 @@
)
(if
(i32.lt_u
- (tee_local $1
+ (tee_local $2
(i32.and
(i32.sub
- (get_local $10)
+ (get_local $8)
(i32.load
(i32.const 188)
)
)
- (get_local $5)
+ (get_local $6)
)
)
(i32.const 2147483647)
)
(if
(i32.eq
- (tee_local $2
+ (tee_local $1
(call $_sbrk
- (get_local $1)
+ (get_local $2)
)
)
(i32.add
@@ -11084,18 +11043,26 @@
)
(br_if $jumpthreading$inner$12
(i32.ne
- (get_local $2)
+ (get_local $1)
(i32.const -1)
)
)
- (br $jumpthreading$inner$4)
+ (block
+ (set_local $3
+ (get_local $1)
+ )
+ (set_local $1
+ (get_local $2)
+ )
+ (br $jumpthreading$inner$4)
+ )
)
)
(br $label$break$L279)
)
(if
(i32.ne
- (tee_local $2
+ (tee_local $1
(call $_sbrk
(i32.const 0)
)
@@ -11103,59 +11070,60 @@
(i32.const -1)
)
(block
- (set_local $4
- (i32.add
- (tee_local $5
- (i32.load
- (i32.const 608)
- )
- )
- (tee_local $1
- (if i32
- (i32.and
- (tee_local $3
- (i32.add
- (tee_local $4
- (i32.load
- (i32.const 652)
- )
- )
- (i32.const -1)
+ (set_local $2
+ (if i32
+ (i32.and
+ (tee_local $3
+ (i32.add
+ (tee_local $4
+ (i32.load
+ (i32.const 652)
)
)
- (tee_local $1
- (get_local $2)
- )
+ (i32.const -1)
)
+ )
+ (tee_local $2
+ (get_local $1)
+ )
+ )
+ (i32.add
+ (i32.sub
+ (get_local $7)
+ (get_local $2)
+ )
+ (i32.and
(i32.add
- (i32.sub
- (get_local $9)
- (get_local $1)
- )
- (i32.and
- (i32.add
- (get_local $3)
- (get_local $1)
- )
- (i32.sub
- (i32.const 0)
- (get_local $4)
- )
- )
+ (get_local $3)
+ (get_local $2)
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $4)
)
- (get_local $9)
)
)
+ (get_local $7)
+ )
+ )
+ (set_local $6
+ (i32.add
+ (tee_local $4
+ (i32.load
+ (i32.const 608)
+ )
+ )
+ (get_local $2)
)
)
(if
(i32.and
(i32.gt_u
- (get_local $1)
+ (get_local $2)
(get_local $0)
)
(i32.lt_u
- (get_local $1)
+ (get_local $2)
(i32.const 2147483647)
)
)
@@ -11169,11 +11137,11 @@
(br_if $label$break$L279
(i32.or
(i32.le_u
+ (get_local $6)
(get_local $4)
- (get_local $5)
)
(i32.gt_u
- (get_local $4)
+ (get_local $6)
(get_local $3)
)
)
@@ -11183,18 +11151,16 @@
(i32.eq
(tee_local $3
(call $_sbrk
- (get_local $1)
+ (get_local $2)
)
)
- (get_local $2)
+ (get_local $1)
)
)
- (block
- (set_local $2
- (get_local $3)
- )
- (br $jumpthreading$inner$4)
+ (set_local $1
+ (get_local $2)
)
+ (br $jumpthreading$inner$4)
)
)
)
@@ -11210,7 +11176,7 @@
(if
(i32.and
(i32.gt_u
- (get_local $6)
+ (get_local $5)
(get_local $1)
)
(i32.and
@@ -11219,21 +11185,21 @@
(i32.const 2147483647)
)
(i32.ne
- (get_local $2)
+ (get_local $3)
(i32.const -1)
)
)
)
(if
(i32.lt_u
- (tee_local $3
+ (tee_local $2
(i32.and
(i32.add
(i32.sub
- (get_local $7)
+ (get_local $9)
(get_local $1)
)
- (tee_local $3
+ (tee_local $2
(i32.load
(i32.const 656)
)
@@ -11241,7 +11207,7 @@
)
(i32.sub
(i32.const 0)
- (get_local $3)
+ (get_local $2)
)
)
)
@@ -11250,7 +11216,7 @@
(if
(i32.eq
(call $_sbrk
- (get_local $3)
+ (get_local $2)
)
(i32.const -1)
)
@@ -11262,20 +11228,32 @@
)
(br $label$break$L279)
)
- (set_local $1
+ (set_local $2
(i32.add
- (get_local $3)
+ (get_local $2)
(get_local $1)
)
)
)
+ (set_local $2
+ (get_local $1)
+ )
+ )
+ (set_local $2
+ (get_local $1)
)
)
- (br_if $jumpthreading$inner$12
+ (if
(i32.ne
- (get_local $2)
+ (get_local $3)
(i32.const -1)
)
+ (block
+ (set_local $1
+ (get_local $3)
+ )
+ (br $jumpthreading$inner$12)
+ )
)
)
(i32.store
@@ -11291,18 +11269,18 @@
)
(if
(i32.lt_u
- (get_local $9)
+ (get_local $7)
(i32.const 2147483647)
)
(if
(i32.and
(i32.lt_u
- (tee_local $2
+ (tee_local $1
(call $_sbrk
- (get_local $9)
+ (get_local $7)
)
)
- (tee_local $1
+ (tee_local $2
(call $_sbrk
(i32.const 0)
)
@@ -11310,21 +11288,21 @@
)
(i32.and
(i32.ne
- (get_local $2)
+ (get_local $1)
(i32.const -1)
)
(i32.ne
- (get_local $1)
+ (get_local $2)
(i32.const -1)
)
)
)
(br_if $jumpthreading$inner$12
(i32.gt_u
- (tee_local $1
+ (tee_local $2
(i32.sub
- (get_local $1)
(get_local $2)
+ (get_local $1)
)
)
(i32.add
@@ -11344,7 +11322,7 @@
(i32.load
(i32.const 608)
)
- (get_local $1)
+ (get_local $2)
)
)
)
@@ -11376,14 +11354,14 @@
(loop $while-in45
(br_if $jumpthreading$inner$9
(i32.eq
- (get_local $2)
+ (get_local $1)
(i32.add
(tee_local $5
(i32.load
(get_local $3)
)
)
- (tee_local $9
+ (tee_local $7
(i32.load
(tee_local $4
(i32.add
@@ -11419,7 +11397,7 @@
(i32.and
(i32.lt_u
(get_local $8)
- (get_local $2)
+ (get_local $1)
)
(i32.ge_u
(get_local $8)
@@ -11430,19 +11408,19 @@
(i32.store
(get_local $4)
(i32.add
- (get_local $9)
- (get_local $1)
+ (get_local $7)
+ (get_local $2)
)
)
(set_local $3
(i32.add
(get_local $8)
- (tee_local $2
+ (tee_local $1
(select
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $2
+ (tee_local $1
(i32.add
(get_local $8)
(i32.const 8)
@@ -11453,7 +11431,7 @@
)
(i32.const 0)
(i32.and
- (get_local $2)
+ (get_local $1)
(i32.const 7)
)
)
@@ -11463,8 +11441,8 @@
(set_local $1
(i32.add
(i32.sub
- (get_local $1)
(get_local $2)
+ (get_local $1)
)
(i32.load
(i32.const 188)
@@ -11504,30 +11482,29 @@
)
)
)
- (set_local $9
- (if i32
- (i32.lt_u
- (get_local $2)
- (tee_local $3
- (i32.load
- (i32.const 192)
- )
- )
- )
- (block i32
- (i32.store
+ (if
+ (i32.lt_u
+ (get_local $1)
+ (tee_local $4
+ (i32.load
(i32.const 192)
- (get_local $2)
)
- (get_local $2)
)
- (get_local $3)
+ )
+ (block
+ (i32.store
+ (i32.const 192)
+ (get_local $1)
+ )
+ (set_local $4
+ (get_local $1)
+ )
)
)
(set_local $5
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $2)
)
)
(set_local $3
@@ -11544,7 +11521,7 @@
(get_local $5)
)
(block
- (set_local $4
+ (set_local $7
(get_local $3)
)
(br $jumpthreading$inner$10)
@@ -11575,8 +11552,8 @@
)
(block
(i32.store
- (get_local $4)
- (get_local $2)
+ (get_local $7)
+ (get_local $1)
)
(i32.store
(tee_local $3
@@ -11589,21 +11566,21 @@
(i32.load
(get_local $3)
)
- (get_local $1)
+ (get_local $2)
)
)
- (set_local $7
+ (set_local $9
(i32.add
- (tee_local $6
+ (tee_local $11
(i32.add
- (get_local $2)
+ (get_local $1)
(select
(i32.and
(i32.sub
(i32.const 0)
(tee_local $1
(i32.add
- (get_local $2)
+ (get_local $1)
(i32.const 8)
)
)
@@ -11621,10 +11598,10 @@
(get_local $0)
)
)
- (set_local $4
+ (set_local $7
(i32.sub
(i32.sub
- (tee_local $10
+ (tee_local $5
(i32.add
(get_local $5)
(select
@@ -11648,13 +11625,13 @@
)
)
)
- (get_local $6)
+ (get_local $11)
)
(get_local $0)
)
)
(i32.store offset=4
- (get_local $6)
+ (get_local $11)
(i32.or
(get_local $0)
(i32.const 3)
@@ -11663,7 +11640,7 @@
(block $do-once48
(if
(i32.eq
- (get_local $10)
+ (get_local $5)
(get_local $8)
)
(block
@@ -11674,16 +11651,16 @@
(i32.load
(i32.const 188)
)
- (get_local $4)
+ (get_local $7)
)
)
)
(i32.store
(i32.const 200)
- (get_local $7)
+ (get_local $9)
)
(i32.store offset=4
- (get_local $7)
+ (get_local $9)
(i32.or
(get_local $0)
(i32.const 1)
@@ -11693,7 +11670,7 @@
(block
(if
(i32.eq
- (get_local $10)
+ (get_local $5)
(i32.load
(i32.const 196)
)
@@ -11706,16 +11683,16 @@
(i32.load
(i32.const 184)
)
- (get_local $4)
+ (get_local $7)
)
)
)
(i32.store
(i32.const 196)
- (get_local $7)
+ (get_local $9)
)
(i32.store offset=4
- (get_local $7)
+ (get_local $9)
(i32.or
(get_local $0)
(i32.const 1)
@@ -11723,7 +11700,7 @@
)
(i32.store
(i32.add
- (get_local $7)
+ (get_local $9)
(get_local $0)
)
(get_local $0)
@@ -11734,505 +11711,507 @@
(i32.store
(tee_local $0
(i32.add
- (if i32
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.load offset=4
- (get_local $10)
- )
- )
- (i32.const 3)
- )
- (i32.const 1)
- )
- (block i32
- (set_local $5
+ (tee_local $0
+ (if i32
+ (i32.eq
(i32.and
- (get_local $0)
- (i32.const -8)
- )
- )
- (set_local $1
- (i32.shr_u
- (get_local $0)
+ (tee_local $0
+ (i32.load offset=4
+ (get_local $5)
+ )
+ )
(i32.const 3)
)
+ (i32.const 1)
)
- (block $label$break$L331
- (if
- (i32.lt_u
+ (block i32
+ (set_local $6
+ (i32.and
(get_local $0)
- (i32.const 256)
+ (i32.const -8)
)
- (block
- (set_local $3
- (i32.load offset=12
- (get_local $10)
- )
+ )
+ (set_local $1
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (block $label$break$L331
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (i32.const 256)
)
- (block $do-once51
- (if
- (i32.ne
- (tee_local $2
- (i32.load offset=8
- (get_local $10)
+ (block
+ (set_local $3
+ (i32.load offset=12
+ (get_local $5)
+ )
+ )
+ (block $do-once51
+ (if
+ (i32.ne
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $5)
+ )
)
- )
- (tee_local $0
- (i32.add
- (i32.shl
+ (tee_local $0
+ (i32.add
(i32.shl
- (get_local $1)
- (i32.const 1)
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 216)
)
- (i32.const 216)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $2)
- (get_local $9)
)
- (call $_abort)
)
- (br_if $do-once51
- (i32.eq
- (i32.load offset=12
+ (block
+ (if
+ (i32.lt_u
(get_local $2)
+ (get_local $4)
)
- (get_local $10)
+ (call $_abort)
)
- )
- (call $_abort)
- )
- )
- )
- (if
- (i32.eq
- (get_local $3)
- (get_local $2)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.and
- (i32.load
- (i32.const 176)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
+ (br_if $do-once51
+ (i32.eq
+ (i32.load offset=12
+ (get_local $2)
+ )
+ (get_local $5)
)
- (i32.const -1)
)
+ (call $_abort)
)
)
- (br $label$break$L331)
)
- )
- (block $do-once53
(if
(i32.eq
(get_local $3)
- (get_local $0)
+ (get_local $2)
)
- (set_local $21
- (i32.add
- (get_local $3)
- (i32.const 8)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (i32.load
+ (i32.const 176)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ (i32.const -1)
+ )
+ )
)
+ (br $label$break$L331)
)
- (block
- (if
- (i32.lt_u
+ )
+ (block $do-once53
+ (if
+ (i32.eq
+ (get_local $3)
+ (get_local $0)
+ )
+ (set_local $21
+ (i32.add
(get_local $3)
- (get_local $9)
+ (i32.const 8)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $3)
- (i32.const 8)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (get_local $4)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
)
+ (get_local $5)
)
- (get_local $10)
- )
- (block
- (set_local $21
- (get_local $0)
+ (block
+ (set_local $21
+ (get_local $0)
+ )
+ (br $do-once53)
)
- (br $do-once53)
)
+ (call $_abort)
)
- (call $_abort)
)
)
- )
- (i32.store offset=12
- (get_local $2)
- (get_local $3)
- )
- (i32.store
- (get_local $21)
- (get_local $2)
- )
- )
- (block
- (set_local $12
- (i32.load offset=24
- (get_local $10)
+ (i32.store offset=12
+ (get_local $2)
+ (get_local $3)
+ )
+ (i32.store
+ (get_local $21)
+ (get_local $2)
)
)
- (block $do-once55
- (if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
- (get_local $10)
+ (block
+ (set_local $8
+ (i32.load offset=24
+ (get_local $5)
+ )
+ )
+ (block $do-once55
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $5)
+ )
)
+ (get_local $5)
)
- (get_local $10)
- )
- (block
- (if
- (i32.eqz
- (tee_local $1
- (i32.load
- (tee_local $0
- (i32.add
- (tee_local $2
- (i32.add
- (get_local $10)
- (i32.const 16)
+ (block
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (tee_local $2
+ (i32.add
+ (get_local $5)
+ (i32.const 16)
+ )
)
+ (i32.const 4)
)
- (i32.const 4)
)
)
)
)
- )
- (if
- (tee_local $1
- (i32.load
+ (if
+ (tee_local $1
+ (i32.load
+ (get_local $2)
+ )
+ )
+ (set_local $0
(get_local $2)
)
+ (block
+ (set_local $13
+ (i32.const 0)
+ )
+ (br $do-once55)
+ )
)
- (set_local $0
- (get_local $2)
+ )
+ (loop $while-in58
+ (if
+ (tee_local $2
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $1
+ (get_local $2)
+ )
+ (set_local $0
+ (get_local $3)
+ )
+ (br $while-in58)
+ )
)
+ (if
+ (tee_local $2
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $1
+ (get_local $2)
+ )
+ (set_local $0
+ (get_local $3)
+ )
+ (br $while-in58)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (get_local $4)
+ )
+ (call $_abort)
(block
- (set_local $14
+ (i32.store
+ (get_local $0)
(i32.const 0)
)
- (br $do-once55)
+ (set_local $13
+ (get_local $1)
+ )
)
)
)
- (loop $while-in58
+ (block
(if
- (tee_local $2
+ (i32.lt_u
+ (tee_local $3
+ (i32.load offset=8
+ (get_local $5)
+ )
+ )
+ (get_local $4)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
(i32.load
- (tee_local $3
+ (tee_local $2
(i32.add
- (get_local $1)
- (i32.const 20)
+ (get_local $3)
+ (i32.const 12)
)
)
)
+ (get_local $5)
)
- (block
- (set_local $1
- (get_local $2)
- )
- (set_local $0
- (get_local $3)
- )
- (br $while-in58)
- )
+ (call $_abort)
)
(if
- (tee_local $2
+ (i32.eq
(i32.load
- (tee_local $3
+ (tee_local $1
(i32.add
- (get_local $1)
- (i32.const 16)
+ (get_local $0)
+ (i32.const 8)
)
)
)
+ (get_local $5)
)
(block
- (set_local $1
+ (i32.store
(get_local $2)
+ (get_local $0)
)
- (set_local $0
+ (i32.store
+ (get_local $1)
(get_local $3)
)
- (br $while-in58)
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $0)
- (get_local $9)
- )
- (call $_abort)
- (block
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (set_local $14
- (get_local $1)
+ (set_local $13
+ (get_local $0)
+ )
)
+ (call $_abort)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $3
- (i32.load offset=8
- (get_local $10)
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (get_local $8)
+ )
+ )
+ (block $do-once59
+ (if
+ (i32.eq
+ (get_local $5)
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $1
+ (i32.load offset=28
+ (get_local $5)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 480)
)
)
- (get_local $9)
)
- (call $_abort)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $3)
- (i32.const 12)
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $13)
+ )
+ (br_if $do-once59
+ (get_local $13)
+ )
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
)
+ (i32.const -1)
)
)
- (get_local $10)
)
- (call $_abort)
+ (br $label$break$L331)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $8)
+ (i32.load
+ (i32.const 192)
)
)
- (get_local $10)
+ (call $_abort)
)
- (block
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
+ )
+ )
+ )
+ (get_local $5)
+ )
(i32.store
- (get_local $2)
(get_local $0)
+ (get_local $13)
)
- (i32.store
- (get_local $1)
- (get_local $3)
+ (i32.store offset=20
+ (get_local $8)
+ (get_local $13)
)
- (set_local $14
- (get_local $0)
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (get_local $13)
)
)
- (call $_abort)
)
)
)
- )
- (br_if $label$break$L331
- (i32.eqz
- (get_local $12)
+ (if
+ (i32.lt_u
+ (get_local $13)
+ (tee_local $1
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (get_local $13)
+ (get_local $8)
)
- )
- (block $do-once59
(if
- (i32.eq
- (get_local $10)
+ (tee_local $2
(i32.load
(tee_local $0
(i32.add
- (i32.shl
- (tee_local $1
- (i32.load offset=28
- (get_local $10)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- )
- )
- (block
- (i32.store
- (get_local $0)
- (get_local $14)
- )
- (br_if $do-once59
- (get_local $14)
- )
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
- )
- (i32.const -1)
+ (get_local $5)
+ (i32.const 16)
)
)
)
- (br $label$break$L331)
)
- (block
- (if
- (i32.lt_u
- (get_local $12)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
+ (if
+ (i32.lt_u
+ (get_local $2)
+ (get_local $1)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $12)
- (i32.const 16)
- )
- )
- )
- (get_local $10)
- )
- (i32.store
- (get_local $0)
- (get_local $14)
- )
- (i32.store offset=20
- (get_local $12)
- (get_local $14)
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (get_local $13)
+ (get_local $2)
)
- )
- (br_if $label$break$L331
- (i32.eqz
- (get_local $14)
+ (i32.store offset=24
+ (get_local $2)
+ (get_local $13)
)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $14)
- (tee_local $1
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (i32.store offset=24
- (get_local $14)
- (get_local $12)
- )
- (if
- (tee_local $2
- (i32.load
+ (br_if $label$break$L331
+ (i32.eqz
(tee_local $0
- (i32.add
- (get_local $10)
- (i32.const 16)
+ (i32.load offset=4
+ (get_local $0)
)
)
)
)
(if
(i32.lt_u
- (get_local $2)
- (get_local $1)
+ (get_local $0)
+ (i32.load
+ (i32.const 192)
+ )
)
(call $_abort)
(block
- (i32.store offset=16
- (get_local $14)
- (get_local $2)
+ (i32.store offset=20
+ (get_local $13)
+ (get_local $0)
)
(i32.store offset=24
- (get_local $2)
- (get_local $14)
- )
- )
- )
- )
- (br_if $label$break$L331
- (i32.eqz
- (tee_local $0
- (i32.load offset=4
(get_local $0)
+ (get_local $13)
)
)
)
)
- (if
- (i32.lt_u
- (get_local $0)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (i32.store offset=20
- (get_local $14)
- (get_local $0)
- )
- (i32.store offset=24
- (get_local $0)
- (get_local $14)
- )
- )
- )
)
)
- )
- (set_local $4
+ (set_local $7
+ (i32.add
+ (get_local $6)
+ (get_local $7)
+ )
+ )
(i32.add
(get_local $5)
- (get_local $4)
+ (get_local $6)
)
)
- (i32.add
- (get_local $10)
- (get_local $5)
- )
+ (get_local $5)
)
- (get_local $10)
)
(i32.const 4)
)
@@ -12245,28 +12224,28 @@
)
)
(i32.store offset=4
- (get_local $7)
+ (get_local $9)
(i32.or
- (get_local $4)
+ (get_local $7)
(i32.const 1)
)
)
(i32.store
(i32.add
+ (get_local $9)
(get_local $7)
- (get_local $4)
)
- (get_local $4)
+ (get_local $7)
)
(set_local $0
(i32.shr_u
- (get_local $4)
+ (get_local $7)
(i32.const 3)
)
)
(if
(i32.lt_u
- (get_local $4)
+ (get_local $7)
(i32.const 256)
)
(block
@@ -12318,7 +12297,7 @@
(set_local $22
(get_local $1)
)
- (set_local $11
+ (set_local $10
(get_local $0)
)
(br $do-once63)
@@ -12340,7 +12319,7 @@
(i32.const 8)
)
)
- (set_local $11
+ (set_local $10
(get_local $2)
)
)
@@ -12348,18 +12327,18 @@
)
(i32.store
(get_local $22)
- (get_local $7)
+ (get_local $9)
)
(i32.store offset=12
- (get_local $11)
- (get_local $7)
+ (get_local $10)
+ (get_local $9)
)
(i32.store offset=8
- (get_local $7)
- (get_local $11)
+ (get_local $9)
+ (get_local $10)
)
(i32.store offset=12
- (get_local $7)
+ (get_local $9)
(get_local $2)
)
(br $do-once48)
@@ -12373,7 +12352,7 @@
(if i32
(tee_local $0
(i32.shr_u
- (get_local $4)
+ (get_local $7)
(i32.const 8)
)
)
@@ -12382,7 +12361,7 @@
(br_if $do-once65
(i32.const 31)
(i32.gt_u
- (get_local $4)
+ (get_local $7)
(i32.const 16777215)
)
)
@@ -12390,7 +12369,7 @@
(i32.or
(i32.and
(i32.shr_u
- (get_local $4)
+ (get_local $7)
(i32.add
(tee_local $0
(i32.add
@@ -12477,13 +12456,13 @@
)
)
(i32.store offset=28
- (get_local $7)
+ (get_local $9)
(get_local $3)
)
(i32.store offset=4
(tee_local $0
(i32.add
- (get_local $7)
+ (get_local $9)
(i32.const 16)
)
)
@@ -12519,26 +12498,26 @@
)
(i32.store
(get_local $2)
- (get_local $7)
+ (get_local $9)
)
(i32.store offset=24
- (get_local $7)
+ (get_local $9)
(get_local $2)
)
(i32.store offset=12
- (get_local $7)
- (get_local $7)
+ (get_local $9)
+ (get_local $9)
)
(i32.store offset=8
- (get_local $7)
- (get_local $7)
+ (get_local $9)
+ (get_local $9)
)
(br $do-once48)
)
)
(set_local $3
(i32.shl
- (get_local $4)
+ (get_local $7)
(select
(i32.const 0)
(i32.sub
@@ -12572,7 +12551,7 @@
)
(i32.const -8)
)
- (get_local $4)
+ (get_local $7)
)
)
(set_local $2
@@ -12604,15 +12583,13 @@
)
)
)
- (block
- (set_local $3
- (get_local $2)
- )
- (set_local $0
- (get_local $1)
- )
- (br $while-in68)
+ (set_local $3
+ (get_local $2)
+ )
+ (set_local $0
+ (get_local $1)
)
+ (br $while-in68)
)
)
(if
@@ -12626,19 +12603,19 @@
(block
(i32.store
(get_local $3)
- (get_local $7)
+ (get_local $9)
)
(i32.store offset=24
- (get_local $7)
+ (get_local $9)
(get_local $0)
)
(i32.store offset=12
- (get_local $7)
- (get_local $7)
+ (get_local $9)
+ (get_local $9)
)
(i32.store offset=8
- (get_local $7)
- (get_local $7)
+ (get_local $9)
+ (get_local $9)
)
(br $do-once48)
)
@@ -12672,22 +12649,22 @@
(block
(i32.store offset=12
(get_local $3)
- (get_local $7)
+ (get_local $9)
)
(i32.store
(get_local $2)
- (get_local $7)
+ (get_local $9)
)
(i32.store offset=8
- (get_local $7)
+ (get_local $9)
(get_local $3)
)
(i32.store offset=12
- (get_local $7)
+ (get_local $9)
(get_local $0)
)
(i32.store offset=24
- (get_local $7)
+ (get_local $9)
(i32.const 0)
)
)
@@ -12699,7 +12676,7 @@
)
(return
(i32.add
- (get_local $6)
+ (get_local $11)
(i32.const 8)
)
)
@@ -12739,7 +12716,7 @@
(br $while-in70)
)
)
- (set_local $9
+ (set_local $7
(i32.add
(tee_local $4
(i32.add
@@ -12752,7 +12729,7 @@
)
(set_local $6
(i32.add
- (tee_local $11
+ (tee_local $10
(select
(get_local $8)
(tee_local $4
@@ -12762,13 +12739,13 @@
(i32.and
(i32.sub
(i32.const 0)
- (get_local $9)
+ (get_local $7)
)
(i32.const 7)
)
(i32.const 0)
(i32.and
- (get_local $9)
+ (get_local $7)
(i32.const 7)
)
)
@@ -12776,7 +12753,7 @@
)
(i32.lt_u
(get_local $4)
- (tee_local $9
+ (tee_local $7
(i32.add
(get_local $8)
(i32.const 16)
@@ -12792,7 +12769,7 @@
(i32.const 200)
(tee_local $5
(i32.add
- (get_local $2)
+ (get_local $1)
(tee_local $4
(select
(i32.and
@@ -12800,7 +12777,7 @@
(i32.const 0)
(tee_local $4
(i32.add
- (get_local $2)
+ (get_local $1)
(i32.const 8)
)
)
@@ -12822,7 +12799,7 @@
(tee_local $4
(i32.sub
(i32.add
- (get_local $1)
+ (get_local $2)
(i32.const -40)
)
(get_local $4)
@@ -12852,7 +12829,7 @@
(i32.store
(tee_local $4
(i32.add
- (get_local $11)
+ (get_local $10)
(i32.const 4)
)
)
@@ -12884,11 +12861,11 @@
)
(i32.store
(i32.const 624)
- (get_local $2)
+ (get_local $1)
)
(i32.store
(i32.const 628)
- (get_local $1)
+ (get_local $2)
)
(i32.store
(i32.const 636)
@@ -12900,7 +12877,7 @@
)
(set_local $1
(i32.add
- (get_local $11)
+ (get_local $10)
(i32.const 24)
)
)
@@ -12926,7 +12903,7 @@
)
(if
(i32.ne
- (get_local $11)
+ (get_local $10)
(get_local $8)
)
(block
@@ -12944,7 +12921,7 @@
(i32.or
(tee_local $5
(i32.sub
- (get_local $11)
+ (get_local $10)
(get_local $8)
)
)
@@ -12952,7 +12929,7 @@
)
)
(i32.store
- (get_local $11)
+ (get_local $10)
(get_local $5)
)
(set_local $1
@@ -13014,7 +12991,7 @@
(set_local $23
(get_local $2)
)
- (set_local $12
+ (set_local $11
(get_local $1)
)
)
@@ -13033,7 +13010,7 @@
(i32.const 8)
)
)
- (set_local $12
+ (set_local $11
(get_local $3)
)
)
@@ -13043,12 +13020,12 @@
(get_local $8)
)
(i32.store offset=12
- (get_local $12)
+ (get_local $11)
(get_local $8)
)
(i32.store offset=8
(get_local $8)
- (get_local $12)
+ (get_local $11)
)
(i32.store offset=12
(get_local $8)
@@ -13171,7 +13148,7 @@
(i32.const 0)
)
(i32.store
- (get_local $9)
+ (get_local $7)
(i32.const 0)
)
(if
@@ -13285,15 +13262,13 @@
)
)
)
- (block
- (set_local $4
- (get_local $3)
- )
- (set_local $1
- (get_local $2)
- )
- (br $while-in74)
+ (set_local $4
+ (get_local $3)
+ )
+ (set_local $1
+ (get_local $2)
)
+ (br $while-in74)
)
)
(if
@@ -13389,22 +13364,22 @@
)
)
(i32.lt_u
- (get_local $2)
+ (get_local $1)
(get_local $3)
)
)
(i32.store
(i32.const 192)
- (get_local $2)
+ (get_local $1)
)
)
(i32.store
(i32.const 624)
- (get_local $2)
+ (get_local $1)
)
(i32.store
(i32.const 628)
- (get_local $1)
+ (get_local $2)
)
(i32.store
(i32.const 636)
@@ -13459,15 +13434,15 @@
(i32.const 200)
(tee_local $3
(i32.add
- (get_local $2)
- (tee_local $2
+ (get_local $1)
+ (tee_local $1
(select
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $2
+ (tee_local $1
(i32.add
- (get_local $2)
+ (get_local $1)
(i32.const 8)
)
)
@@ -13476,7 +13451,7 @@
)
(i32.const 0)
(i32.and
- (get_local $2)
+ (get_local $1)
(i32.const 7)
)
)
@@ -13489,10 +13464,10 @@
(tee_local $1
(i32.sub
(i32.add
- (get_local $1)
+ (get_local $2)
(i32.const -40)
)
- (get_local $2)
+ (get_local $1)
)
)
)
@@ -15226,15 +15201,13 @@
)
)
)
- (block
- (set_local $5
- (get_local $4)
- )
- (set_local $0
- (get_local $1)
- )
- (br $while-in15)
+ (set_local $5
+ (get_local $4)
+ )
+ (set_local $0
+ (get_local $1)
)
+ (br $while-in15)
)
)
(if
diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise
index 0daff6798..54d46c50e 100644
--- a/test/emcc_hello_world.fromasm.imprecise
+++ b/test/emcc_hello_world.fromasm.imprecise
@@ -195,30 +195,29 @@
(get_global $tempDoublePtr)
(get_local $0)
)
- (set_local $2
- (call $_bitshift64Lshr
- (tee_local $3
- (i32.load
- (get_global $tempDoublePtr)
- )
- )
- (tee_local $4
- (i32.load offset=4
- (get_global $tempDoublePtr)
- )
- )
- (i32.const 52)
- )
- )
- (block $switch f64
+ (block $switch
(block $switch-default
(block $switch-case0
(block $switch-case
(br_table $switch-case $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case0 $switch-default
(i32.sub
- (tee_local $2
+ (tee_local $3
(i32.and
- (get_local $2)
+ (tee_local $3
+ (call $_bitshift64Lshr
+ (tee_local $2
+ (i32.load
+ (get_global $tempDoublePtr)
+ )
+ )
+ (tee_local $4
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
+ )
+ )
+ (i32.const 52)
+ )
+ )
(i32.const 2047)
)
)
@@ -228,49 +227,47 @@
)
(i32.store
(get_local $1)
- (if i32
- (f64.ne
- (get_local $0)
- (f64.const 0)
- )
- (block i32
- (set_local $0
- (call $_frexp
- (f64.mul
- (get_local $0)
- (f64.const 18446744073709551615)
+ (tee_local $2
+ (if i32
+ (f64.ne
+ (get_local $0)
+ (f64.const 0)
+ )
+ (block i32
+ (set_local $0
+ (call $_frexp
+ (f64.mul
+ (get_local $0)
+ (f64.const 18446744073709551615)
+ )
+ (get_local $1)
)
- (get_local $1)
)
- )
- (i32.add
- (i32.load
- (get_local $1)
+ (i32.add
+ (i32.load
+ (get_local $1)
+ )
+ (i32.const -64)
)
- (i32.const -64)
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
- (br $switch
- (get_local $0)
- )
- )
- (br $switch
- (get_local $0)
+ (br $switch)
)
+ (br $switch)
)
(i32.store
(get_local $1)
(i32.add
- (get_local $2)
+ (get_local $3)
(i32.const -1022)
)
)
(i32.store
(get_global $tempDoublePtr)
- (get_local $3)
+ (get_local $2)
)
(i32.store offset=4
(get_global $tempDoublePtr)
@@ -282,10 +279,13 @@
(i32.const 1071644672)
)
)
- (f64.load
- (get_global $tempDoublePtr)
+ (set_local $0
+ (f64.load
+ (get_global $tempDoublePtr)
+ )
)
)
+ (get_local $0)
)
(func $_frexpl (param $0 f64) (param $1 i32) (result f64)
(call $_frexp
@@ -324,16 +324,14 @@
(i32.const 87)
)
)
- (block
- (set_local $3
- (i32.const 87)
- )
- (set_local $2
- (i32.const 775)
- )
- (set_local $4
- (i32.const 5)
- )
+ (set_local $3
+ (i32.const 87)
+ )
+ (set_local $2
+ (i32.const 775)
+ )
+ (set_local $4
+ (i32.const 5)
)
)
(br $jumpthreading$outer$0)
@@ -613,10 +611,10 @@
(func $_fflush (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
- (block $do-once i32
- (if i32
+ (block $do-once
+ (if
(get_local $0)
- (block i32
+ (block
(if
(i32.le_s
(i32.load offset=76
@@ -624,10 +622,13 @@
)
(i32.const -1)
)
- (br $do-once
- (call $___fflush_unlocked
- (get_local $0)
+ (block
+ (set_local $0
+ (call $___fflush_unlocked
+ (get_local $0)
+ )
)
+ (br $do-once)
)
)
(set_local $2
@@ -642,18 +643,20 @@
(get_local $0)
)
)
- (if i32
- (get_local $2)
- (get_local $1)
- (block i32
- (call $___unlockfile
- (get_local $0)
- )
+ (set_local $0
+ (if i32
+ (get_local $2)
(get_local $1)
+ (block i32
+ (call $___unlockfile
+ (get_local $0)
+ )
+ (get_local $1)
+ )
)
)
)
- (block i32
+ (block
(set_local $0
(if i32
(i32.load
@@ -727,10 +730,10 @@
(call $___unlock
(i32.const 44)
)
- (get_local $0)
)
)
)
+ (get_local $0)
)
(func $_printf (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
@@ -790,7 +793,6 @@
(local $12 i32)
(local $13 i32)
(local $14 i32)
- (local $15 i32)
(set_local $8
(get_global $STACKTOP)
)
@@ -817,15 +819,15 @@
(get_local $8)
)
(i32.store
- (tee_local $3
+ (tee_local $4
(i32.add
(get_local $8)
(i32.const 32)
)
)
- (tee_local $4
+ (tee_local $3
(i32.load
- (tee_local $7
+ (tee_local $6
(i32.add
(get_local $0)
(i32.const 28)
@@ -835,8 +837,8 @@
)
)
(i32.store offset=4
- (get_local $3)
- (tee_local $6
+ (get_local $4)
+ (tee_local $3
(i32.sub
(i32.load
(tee_local $11
@@ -846,280 +848,265 @@
)
)
)
- (get_local $4)
+ (get_local $3)
)
)
)
(i32.store offset=8
- (get_local $3)
+ (get_local $4)
(get_local $1)
)
(i32.store offset=12
- (get_local $3)
+ (get_local $4)
(get_local $2)
)
- (set_local $14
+ (set_local $13
(i32.add
(get_local $0)
(i32.const 60)
)
)
- (set_local $15
+ (set_local $14
(i32.add
(get_local $0)
(i32.const 44)
)
)
(set_local $1
- (get_local $3)
+ (get_local $4)
)
(set_local $4
(i32.const 2)
)
(set_local $12
(i32.add
- (get_local $6)
+ (get_local $3)
(get_local $2)
)
)
- (set_local $0
- (block $jumpthreading$outer$1 i32
- (block $jumpthreading$inner$1
- (block $jumpthreading$inner$0
- (loop $while-in
- (br_if $jumpthreading$inner$0
- (i32.eq
- (get_local $12)
- (tee_local $5
- (if i32
- (i32.load
- (i32.const 16)
- )
- (block i32
- (call $_pthread_cleanup_push
- (i32.const 5)
- (get_local $0)
- )
- (i32.store
- (get_local $10)
- (i32.load
- (get_local $14)
- )
- )
- (i32.store offset=4
- (get_local $10)
- (get_local $1)
- )
- (i32.store offset=8
- (get_local $10)
- (get_local $4)
- )
- (set_local $3
- (call $___syscall_ret
- (call $___syscall146
- (i32.const 146)
- (get_local $10)
- )
- )
- )
- (call $_pthread_cleanup_pop
- (i32.const 0)
- )
- (get_local $3)
- )
- (block i32
- (i32.store
- (get_local $9)
- (i32.load
- (get_local $14)
- )
- )
- (i32.store offset=4
- (get_local $9)
- (get_local $1)
- )
- (i32.store offset=8
- (get_local $9)
- (get_local $4)
- )
- (call $___syscall_ret
- (call $___syscall146
- (i32.const 146)
- (get_local $9)
- )
- )
- )
+ (block $jumpthreading$outer$1
+ (block $jumpthreading$inner$1
+ (block $jumpthreading$inner$0
+ (loop $while-in
+ (if
+ (i32.load
+ (i32.const 16)
+ )
+ (block
+ (call $_pthread_cleanup_push
+ (i32.const 5)
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $10)
+ (i32.load
+ (get_local $13)
+ )
+ )
+ (i32.store offset=4
+ (get_local $10)
+ (get_local $1)
+ )
+ (i32.store offset=8
+ (get_local $10)
+ (get_local $4)
+ )
+ (set_local $3
+ (call $___syscall_ret
+ (call $___syscall146
+ (i32.const 146)
+ (get_local $10)
)
)
)
- )
- (br_if $jumpthreading$inner$1
- (i32.lt_s
- (get_local $5)
+ (call $_pthread_cleanup_pop
(i32.const 0)
)
)
(block
- (set_local $1
- (if i32
- (i32.gt_u
- (get_local $5)
- (tee_local $13
- (i32.load offset=4
- (get_local $1)
- )
- )
- )
- (block i32
- (i32.store
- (get_local $7)
- (tee_local $3
- (i32.load
- (get_local $15)
- )
- )
- )
- (i32.store
- (get_local $11)
- (get_local $3)
- )
- (set_local $6
- (i32.sub
- (get_local $5)
- (get_local $13)
- )
- )
- (set_local $3
- (i32.add
- (get_local $1)
- (i32.const 8)
- )
- )
- (set_local $4
- (i32.add
- (get_local $4)
- (i32.const -1)
- )
- )
- (i32.load offset=12
- (get_local $1)
- )
- )
- (if i32
- (i32.eq
- (get_local $4)
- (i32.const 2)
- )
- (block i32
- (i32.store
- (get_local $7)
- (i32.add
- (i32.load
- (get_local $7)
- )
- (get_local $5)
- )
- )
- (set_local $6
- (get_local $5)
- )
- (set_local $3
- (get_local $1)
- )
- (set_local $4
- (i32.const 2)
- )
- (get_local $13)
- )
- (block i32
- (set_local $6
- (get_local $5)
- )
- (set_local $3
- (get_local $1)
- )
- (get_local $13)
- )
+ (i32.store
+ (get_local $9)
+ (i32.load
+ (get_local $13)
+ )
+ )
+ (i32.store offset=4
+ (get_local $9)
+ (get_local $1)
+ )
+ (i32.store offset=8
+ (get_local $9)
+ (get_local $4)
+ )
+ (set_local $3
+ (call $___syscall_ret
+ (call $___syscall146
+ (i32.const 146)
+ (get_local $9)
)
)
)
- (i32.store
+ )
+ )
+ (br_if $jumpthreading$inner$0
+ (i32.eq
+ (get_local $12)
+ (get_local $3)
+ )
+ )
+ (br_if $jumpthreading$inner$1
+ (i32.lt_s
+ (get_local $3)
+ (i32.const 0)
+ )
+ )
+ (set_local $5
+ (if i32
+ (i32.gt_u
(get_local $3)
- (i32.add
- (i32.load
- (get_local $3)
+ (tee_local $5
+ (i32.load offset=4
+ (get_local $1)
)
- (get_local $6)
)
)
- (i32.store offset=4
- (get_local $3)
- (i32.sub
- (get_local $1)
+ (block i32
+ (i32.store
(get_local $6)
+ (tee_local $7
+ (i32.load
+ (get_local $14)
+ )
+ )
+ )
+ (i32.store
+ (get_local $11)
+ (get_local $7)
+ )
+ (set_local $7
+ (i32.load offset=12
+ (get_local $1)
+ )
+ )
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
+ )
+ (set_local $4
+ (i32.add
+ (get_local $4)
+ (i32.const -1)
+ )
)
- )
- (set_local $1
- (get_local $3)
- )
- (set_local $12
(i32.sub
- (get_local $12)
+ (get_local $3)
(get_local $5)
)
)
- (br $while-in)
+ (if i32
+ (i32.eq
+ (get_local $4)
+ (i32.const 2)
+ )
+ (block i32
+ (i32.store
+ (get_local $6)
+ (i32.add
+ (i32.load
+ (get_local $6)
+ )
+ (get_local $3)
+ )
+ )
+ (set_local $7
+ (get_local $5)
+ )
+ (set_local $4
+ (i32.const 2)
+ )
+ (get_local $3)
+ )
+ (block i32
+ (set_local $7
+ (get_local $5)
+ )
+ (get_local $3)
+ )
+ )
)
)
- )
- (i32.store offset=16
- (get_local $0)
- (i32.add
- (tee_local $1
+ (i32.store
+ (get_local $1)
+ (i32.add
(i32.load
- (get_local $15)
+ (get_local $1)
)
- )
- (i32.load offset=48
- (get_local $0)
+ (get_local $5)
)
)
- )
- (i32.store
- (get_local $7)
- (tee_local $0
+ (i32.store offset=4
(get_local $1)
+ (i32.sub
+ (get_local $7)
+ (get_local $5)
+ )
)
- )
- (i32.store
- (get_local $11)
- (get_local $0)
- )
- (br $jumpthreading$outer$1
- (get_local $2)
+ (set_local $12
+ (i32.sub
+ (get_local $12)
+ (get_local $3)
+ )
+ )
+ (br $while-in)
)
)
(i32.store offset=16
(get_local $0)
- (i32.const 0)
+ (i32.add
+ (tee_local $1
+ (i32.load
+ (get_local $14)
+ )
+ )
+ (i32.load offset=48
+ (get_local $0)
+ )
+ )
)
(i32.store
- (get_local $7)
- (i32.const 0)
+ (get_local $6)
+ (get_local $1)
)
(i32.store
(get_local $11)
- (i32.const 0)
+ (get_local $1)
)
- (i32.store
- (get_local $0)
- (i32.or
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ (br $jumpthreading$outer$1)
+ )
+ (i32.store offset=16
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $11)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $0)
+ (i32.or
+ (i32.load
+ (get_local $0)
)
+ (i32.const 32)
)
+ )
+ (set_local $2
(select
(i32.const 0)
(i32.sub
@@ -1138,7 +1125,7 @@
(set_global $STACKTOP
(get_local $8)
)
- (get_local $0)
+ (get_local $2)
)
(func $_vfprintf (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
@@ -1153,7 +1140,7 @@
(local $12 i32)
(local $13 i32)
(local $14 i32)
- (set_local $3
+ (set_local $4
(get_global $STACKTOP)
)
(set_global $STACKTOP
@@ -1171,25 +1158,25 @@
)
(set_local $5
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.const 120)
)
)
(set_local $7
- (get_local $3)
+ (get_local $4)
)
(set_local $6
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.const 136)
)
)
(set_local $9
(i32.add
- (tee_local $4
+ (tee_local $3
(tee_local $8
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.const 80)
)
)
@@ -1199,14 +1186,14 @@
)
(loop $do-in
(i32.store
- (get_local $4)
+ (get_local $3)
(i32.const 0)
)
(br_if $do-in
(i32.lt_s
- (tee_local $4
+ (tee_local $3
(i32.add
- (get_local $4)
+ (get_local $3)
(i32.const 4)
)
)
@@ -1234,7 +1221,7 @@
)
(i32.const -1)
(block i32
- (set_local $4
+ (set_local $14
(if i32
(i32.gt_s
(i32.load offset=76
@@ -1268,16 +1255,16 @@
)
)
)
- (set_local $2
- (if i32
- (i32.load
- (tee_local $11
- (i32.add
- (get_local $0)
- (i32.const 48)
- )
+ (if
+ (i32.load
+ (tee_local $11
+ (i32.add
+ (get_local $0)
+ (i32.const 48)
)
)
+ )
+ (set_local $1
(call $_printf_core
(get_local $0)
(get_local $1)
@@ -1285,115 +1272,113 @@
(get_local $7)
(get_local $8)
)
- (block i32
- (set_local $13
- (i32.load
- (tee_local $12
- (i32.add
- (get_local $0)
- (i32.const 44)
- )
- )
- )
- )
- (i32.store
- (get_local $12)
- (get_local $6)
- )
- (i32.store
- (tee_local $9
+ )
+ (block
+ (set_local $13
+ (i32.load
+ (tee_local $12
(i32.add
(get_local $0)
- (i32.const 28)
+ (i32.const 44)
)
)
- (get_local $6)
)
- (i32.store
- (tee_local $14
- (i32.add
- (get_local $0)
- (i32.const 20)
- )
+ )
+ (i32.store
+ (get_local $12)
+ (get_local $6)
+ )
+ (i32.store
+ (tee_local $9
+ (i32.add
+ (get_local $0)
+ (i32.const 28)
)
- (get_local $6)
)
- (i32.store
- (get_local $11)
- (i32.const 80)
- )
- (i32.store
- (tee_local $2
- (i32.add
- (get_local $0)
- (i32.const 16)
- )
- )
+ (get_local $6)
+ )
+ (i32.store
+ (tee_local $3
(i32.add
- (get_local $6)
- (i32.const 80)
+ (get_local $0)
+ (i32.const 20)
)
)
- (set_local $1
- (call $_printf_core
+ (get_local $6)
+ )
+ (i32.store
+ (get_local $11)
+ (i32.const 80)
+ )
+ (i32.store
+ (tee_local $2
+ (i32.add
(get_local $0)
- (get_local $1)
- (get_local $5)
- (get_local $7)
- (get_local $8)
+ (i32.const 16)
)
)
- (if i32
- (get_local $13)
- (block i32
- (drop
- (call_indirect $FUNCSIG$iiii
- (get_local $0)
- (i32.const 0)
- (i32.const 0)
- (i32.add
- (i32.and
- (i32.load offset=36
- (get_local $0)
- )
- (i32.const 7)
+ (i32.add
+ (get_local $6)
+ (i32.const 80)
+ )
+ )
+ (set_local $1
+ (call $_printf_core
+ (get_local $0)
+ (get_local $1)
+ (get_local $5)
+ (get_local $7)
+ (get_local $8)
+ )
+ )
+ (if
+ (get_local $13)
+ (block
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $0)
)
- (i32.const 2)
+ (i32.const 7)
)
+ (i32.const 2)
)
)
- (set_local $1
- (select
- (get_local $1)
- (i32.const -1)
- (i32.load
- (get_local $14)
- )
+ )
+ (set_local $1
+ (select
+ (get_local $1)
+ (i32.const -1)
+ (i32.load
+ (get_local $3)
)
)
- (i32.store
- (get_local $12)
- (get_local $13)
- )
- (i32.store
- (get_local $11)
- (i32.const 0)
- )
- (i32.store
- (get_local $2)
- (i32.const 0)
- )
- (i32.store
- (get_local $9)
- (i32.const 0)
- )
- (i32.store
- (get_local $14)
- (i32.const 0)
- )
- (get_local $1)
)
- (get_local $1)
+ (i32.store
+ (get_local $12)
+ (get_local $13)
+ )
+ (i32.store
+ (get_local $11)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $2)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $9)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $3)
+ (i32.const 0)
+ )
)
)
)
@@ -1401,7 +1386,7 @@
(i32.store
(get_local $0)
(i32.or
- (tee_local $1
+ (tee_local $2
(i32.load
(get_local $0)
)
@@ -1413,16 +1398,16 @@
)
)
(if
- (get_local $4)
+ (get_local $14)
(call $___unlockfile
(get_local $0)
)
)
(select
(i32.const -1)
- (get_local $2)
+ (get_local $1)
(i32.and
- (get_local $1)
+ (get_local $2)
(i32.const 32)
)
)
@@ -1430,7 +1415,7 @@
)
)
(set_global $STACKTOP
- (get_local $3)
+ (get_local $4)
)
(get_local $0)
)
@@ -1475,7 +1460,7 @@
(i32.lt_u
(i32.sub
(get_local $3)
- (tee_local $6
+ (tee_local $4
(i32.load
(tee_local $5
(i32.add
@@ -1508,103 +1493,96 @@
(br $label$break$L5)
)
)
- (drop
- (call $_memcpy
- (block $label$break$L10 i32
- (if i32
- (i32.gt_s
- (i32.load8_s offset=75
- (get_local $2)
- )
- (i32.const -1)
+ (set_local $2
+ (block $label$break$L10 i32
+ (if i32
+ (i32.gt_s
+ (i32.load8_s offset=75
+ (get_local $2)
)
- (block i32
- (set_local $3
- (get_local $1)
- )
- (loop $while-in
- (if
+ (i32.const -1)
+ )
+ (block i32
+ (set_local $3
+ (get_local $1)
+ )
+ (loop $while-in
+ (drop
+ (br_if $label$break$L10
+ (i32.const 0)
(i32.eqz
(get_local $3)
)
- (block
- (set_local $2
- (i32.const 0)
- )
- (br $label$break$L10
- (get_local $6)
- )
- )
- )
- (if
- (i32.ne
- (i32.load8_s
- (i32.add
- (get_local $0)
- (tee_local $4
- (i32.add
- (get_local $3)
- (i32.const -1)
- )
- )
- )
- )
- (i32.const 10)
- )
- (block
- (set_local $3
- (get_local $4)
- )
- (br $while-in)
- )
)
)
- (br_if $label$break$L5
- (i32.lt_u
- (call_indirect $FUNCSIG$iiii
- (get_local $2)
- (get_local $0)
- (get_local $3)
+ (if
+ (i32.ne
+ (i32.load8_s
(i32.add
- (i32.and
- (i32.load offset=36
- (get_local $2)
+ (get_local $0)
+ (tee_local $6
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
)
- (i32.const 7)
)
- (i32.const 2)
)
)
- (get_local $3)
+ (i32.const 10)
)
- )
- (set_local $2
- (get_local $3)
- )
- (set_local $1
- (i32.sub
- (get_local $1)
- (get_local $3)
+ (block
+ (set_local $3
+ (get_local $6)
+ )
+ (br $while-in)
)
)
- (set_local $0
- (i32.add
+ )
+ (br_if $label$break$L5
+ (i32.lt_u
+ (call_indirect $FUNCSIG$iiii
+ (get_local $2)
(get_local $0)
(get_local $3)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $2)
+ )
+ (i32.const 7)
+ )
+ (i32.const 2)
+ )
)
+ (get_local $3)
)
+ )
+ (set_local $4
(i32.load
(get_local $5)
)
)
- (block i32
- (set_local $2
- (i32.const 0)
+ (set_local $1
+ (i32.sub
+ (get_local $1)
+ (get_local $3)
+ )
+ )
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (get_local $3)
)
- (get_local $6)
)
+ (get_local $3)
)
+ (i32.const 0)
)
+ )
+ )
+ (drop
+ (call $_memcpy
+ (get_local $4)
(get_local $0)
(get_local $1)
)
@@ -1650,56 +1628,58 @@
(get_local $1)
)
)
- (if i32
- (i32.and
- (tee_local $1
- (i32.load
- (get_local $0)
- )
- )
- (i32.const 8)
- )
- (block i32
- (i32.store
- (get_local $0)
- (i32.or
- (get_local $1)
- (i32.const 32)
- )
- )
- (i32.const -1)
- )
- (block i32
- (i32.store offset=8
- (get_local $0)
- (i32.const 0)
- )
- (i32.store offset=4
- (get_local $0)
- (i32.const 0)
- )
- (i32.store offset=28
- (get_local $0)
+ (tee_local $0
+ (if i32
+ (i32.and
(tee_local $1
- (i32.load offset=44
+ (i32.load
(get_local $0)
)
)
+ (i32.const 8)
)
- (i32.store offset=20
- (get_local $0)
- (get_local $1)
+ (block i32
+ (i32.store
+ (get_local $0)
+ (i32.or
+ (get_local $1)
+ (i32.const 32)
+ )
+ )
+ (i32.const -1)
)
- (i32.store offset=16
- (get_local $0)
- (i32.add
+ (block i32
+ (i32.store offset=8
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store offset=28
+ (get_local $0)
+ (tee_local $1
+ (i32.load offset=44
+ (get_local $0)
+ )
+ )
+ )
+ (i32.store offset=20
+ (get_local $0)
(get_local $1)
- (i32.load offset=48
- (get_local $0)
+ )
+ (i32.store offset=16
+ (get_local $0)
+ (i32.add
+ (get_local $1)
+ (i32.load offset=48
+ (get_local $0)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
@@ -2066,7 +2046,6 @@
)
)
(block
- (nop)
(set_local $2
(i32.add
(get_local $2)
@@ -2170,117 +2149,119 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
- (block $jumpthreading$outer$0 i32
- (block $jumpthreading$inner$0
- (br_if $jumpthreading$inner$0
- (i32.le_u
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 20)
+ (tee_local $0
+ (block $jumpthreading$outer$0 i32
+ (block $jumpthreading$inner$0
+ (br_if $jumpthreading$inner$0
+ (i32.le_u
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 20)
+ )
)
)
- )
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $0)
- (i32.const 28)
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $0)
+ (i32.const 28)
+ )
)
)
)
)
- )
- (drop
- (call_indirect $FUNCSIG$iiii
- (get_local $0)
- (i32.const 0)
- (i32.const 0)
- (i32.add
- (i32.and
- (i32.load offset=36
- (get_local $0)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $0)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (br_if $jumpthreading$inner$0
- (i32.load
- (get_local $1)
+ (br_if $jumpthreading$inner$0
+ (i32.load
+ (get_local $1)
+ )
+ )
+ (br $jumpthreading$outer$0
+ (i32.const -1)
)
)
- (br $jumpthreading$outer$0
- (i32.const -1)
- )
- )
- (if
- (i32.lt_u
- (tee_local $4
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $0)
- (i32.const 4)
+ (if
+ (i32.lt_u
+ (tee_local $4
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
)
)
)
- )
- (tee_local $6
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $0)
- (i32.const 8)
+ (tee_local $6
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
)
)
)
)
- )
- (drop
- (call_indirect $FUNCSIG$iiii
- (get_local $0)
- (i32.sub
- (get_local $4)
- (get_local $6)
- )
- (i32.const 1)
- (i32.add
- (i32.and
- (i32.load offset=40
- (get_local $0)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.sub
+ (get_local $4)
+ (get_local $6)
+ )
+ (i32.const 1)
+ (i32.add
+ (i32.and
+ (i32.load offset=40
+ (get_local $0)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.store offset=16
- (get_local $0)
- (i32.const 0)
- )
- (i32.store
- (get_local $2)
- (i32.const 0)
- )
- (i32.store
- (get_local $1)
- (i32.const 0)
- )
- (i32.store
- (get_local $5)
- (i32.const 0)
- )
- (i32.store
- (get_local $3)
+ (i32.store offset=16
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $2)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $1)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $3)
+ (i32.const 0)
+ )
(i32.const 0)
)
- (i32.const 0)
)
)
(func $_cleanup (param $0 i32)
@@ -2312,10 +2293,10 @@
(local $18 i32)
(local $19 i32)
(local $20 i32)
- (local $21 f64)
+ (local $21 i32)
(local $22 i32)
(local $23 i32)
- (local $24 i32)
+ (local $24 f64)
(local $25 i32)
(local $26 i32)
(local $27 i32)
@@ -2363,13 +2344,13 @@
)
(call $abort)
)
- (set_local $20
+ (set_local $21
(i32.add
(get_local $26)
(i32.const 16)
)
)
- (set_local $18
+ (set_local $19
(get_local $26)
)
(set_local $40
@@ -2385,9 +2366,9 @@
)
)
(set_local $44
- (tee_local $23
+ (tee_local $22
(i32.add
- (tee_local $9
+ (tee_local $5
(i32.add
(get_local $26)
(i32.const 536)
@@ -2399,7 +2380,7 @@
)
(set_local $45
(i32.add
- (get_local $9)
+ (get_local $5)
(i32.const 39)
)
)
@@ -2416,7 +2397,7 @@
)
(set_local $37
(i32.add
- (tee_local $9
+ (tee_local $5
(i32.add
(get_local $26)
(i32.const 576)
@@ -2427,7 +2408,7 @@
)
(set_local $47
(i32.add
- (get_local $9)
+ (get_local $5)
(i32.const 11)
)
)
@@ -2437,7 +2418,7 @@
(get_local $37)
)
(tee_local $41
- (tee_local $24
+ (tee_local $23
(i32.add
(get_local $26)
(i32.const 588)
@@ -2472,24 +2453,24 @@
(set_local $48
(tee_local $32
(i32.add
- (get_local $24)
+ (get_local $23)
(i32.const 9)
)
)
)
(set_local $38
(i32.add
- (get_local $24)
+ (get_local $23)
(i32.const 8)
)
)
- (set_local $17
+ (set_local $16
(i32.const 0)
)
- (set_local $9
+ (set_local $5
(get_local $1)
)
- (set_local $5
+ (set_local $10
(i32.const 0)
)
(set_local $1
@@ -2501,16 +2482,16 @@
(block $label$break$L1
(if
(i32.gt_s
- (get_local $17)
+ (get_local $16)
(i32.const -1)
)
- (set_local $17
+ (set_local $16
(if i32
(i32.gt_s
- (get_local $5)
+ (get_local $10)
(i32.sub
(i32.const 2147483647)
- (get_local $17)
+ (get_local $16)
)
)
(block i32
@@ -2521,8 +2502,8 @@
(i32.const -1)
)
(i32.add
- (get_local $5)
- (get_local $17)
+ (get_local $10)
+ (get_local $16)
)
)
)
@@ -2533,7 +2514,7 @@
(i32.shl
(tee_local $6
(i32.load8_s
- (get_local $9)
+ (get_local $5)
)
)
(i32.const 24)
@@ -2542,8 +2523,8 @@
)
)
)
- (set_local $5
- (get_local $9)
+ (set_local $10
+ (get_local $5)
)
(loop $label$continue$L9
(block $label$break$L9
@@ -2564,10 +2545,10 @@
)
)
(set_local $39
- (get_local $5)
+ (get_local $10)
)
(set_local $42
- (get_local $5)
+ (get_local $10)
)
(set_local $27
(i32.const 9)
@@ -2575,18 +2556,18 @@
(br $label$break$L9)
)
(set_local $28
- (get_local $5)
+ (get_local $10)
)
(set_local $33
- (get_local $5)
+ (get_local $10)
)
(br $label$break$L9)
)
(set_local $6
(i32.load8_s
- (tee_local $5
+ (tee_local $10
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 1)
)
)
@@ -2656,7 +2637,7 @@
(set_local $6
(i32.sub
(get_local $33)
- (get_local $9)
+ (get_local $5)
)
)
(if
@@ -2672,7 +2653,7 @@
)
(drop
(call $___fwritex
- (get_local $9)
+ (get_local $5)
(get_local $6)
(get_local $0)
)
@@ -2682,28 +2663,28 @@
(if
(i32.ne
(get_local $33)
- (get_local $9)
+ (get_local $5)
)
(block
- (set_local $9
+ (set_local $5
(get_local $28)
)
- (set_local $5
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
)
- (set_local $19
+ (set_local $8
(if i32
(i32.lt_u
- (tee_local $10
+ (tee_local $8
(i32.add
(i32.shr_s
(i32.shl
(tee_local $7
(i32.load8_s
- (tee_local $5
+ (tee_local $10
(i32.add
(get_local $28)
(i32.const 1)
@@ -2723,14 +2704,14 @@
(block i32
(set_local $7
(i32.load8_s
- (tee_local $5
+ (tee_local $10
(select
(i32.add
(get_local $28)
(i32.const 3)
)
- (get_local $5)
- (tee_local $12
+ (get_local $10)
+ (tee_local $11
(i32.eq
(i32.load8_s offset=2
(get_local $28)
@@ -2742,24 +2723,24 @@
)
)
)
- (set_local $8
+ (set_local $17
(select
- (i32.const 1)
- (get_local $1)
- (get_local $12)
+ (get_local $8)
+ (i32.const -1)
+ (get_local $11)
)
)
(select
- (get_local $10)
- (i32.const -1)
- (get_local $12)
+ (i32.const 1)
+ (get_local $1)
+ (get_local $11)
)
)
(block i32
- (set_local $8
- (get_local $1)
+ (set_local $17
+ (i32.const -1)
)
- (i32.const -1)
+ (get_local $1)
)
)
)
@@ -2767,7 +2748,7 @@
(if
(i32.eq
(i32.and
- (tee_local $12
+ (tee_local $11
(i32.shr_s
(i32.shl
(get_local $7)
@@ -2785,24 +2766,36 @@
(get_local $7)
)
(set_local $7
+ (get_local $11)
+ )
+ (set_local $11
(i32.const 0)
)
(loop $while-in4
- (br_if $label$break$L25
+ (if
(i32.eqz
(i32.and
(i32.shl
(i32.const 1)
(i32.add
- (get_local $12)
+ (get_local $7)
(i32.const -32)
)
)
(i32.const 75913)
)
)
+ (block
+ (set_local $7
+ (get_local $1)
+ )
+ (set_local $1
+ (get_local $11)
+ )
+ (br $label$break$L25)
+ )
)
- (set_local $7
+ (set_local $11
(i32.or
(i32.shl
(i32.const 1)
@@ -2817,20 +2810,20 @@
(i32.const -32)
)
)
- (get_local $7)
+ (get_local $11)
)
)
(br_if $while-in4
(i32.eq
(i32.and
- (tee_local $12
+ (tee_local $7
(i32.shr_s
(i32.shl
(tee_local $1
(i32.load8_s
- (tee_local $5
+ (tee_local $10
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 1)
)
)
@@ -2846,15 +2839,16 @@
(i32.const 32)
)
)
+ (set_local $7
+ (get_local $1)
+ )
+ (set_local $1
+ (get_local $11)
+ )
)
)
- (block
- (set_local $1
- (get_local $7)
- )
- (set_local $7
- (i32.const 0)
- )
+ (set_local $1
+ (i32.const 0)
)
)
)
@@ -2863,7 +2857,7 @@
(i32.eq
(i32.shr_s
(i32.shl
- (get_local $1)
+ (get_local $7)
(i32.const 24)
)
(i32.const 24)
@@ -2871,17 +2865,17 @@
(i32.const 42)
)
(block
- (set_local $1
+ (set_local $10
(block $jumpthreading$outer$0 i32
(block $jumpthreading$inner$0
(br_if $jumpthreading$inner$0
(i32.ge_u
- (tee_local $12
+ (tee_local $11
(i32.add
(i32.load8_s
- (tee_local $1
+ (tee_local $7
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 1)
)
)
@@ -2895,7 +2889,7 @@
(br_if $jumpthreading$inner$0
(i32.ne
(i32.load8_s offset=2
- (get_local $5)
+ (get_local $10)
)
(i32.const 36)
)
@@ -2904,19 +2898,19 @@
(i32.add
(get_local $4)
(i32.shl
- (get_local $12)
+ (get_local $11)
(i32.const 2)
)
)
(i32.const 10)
)
- (set_local $1
+ (set_local $7
(i32.add
(get_local $3)
(i32.shl
(i32.add
(i32.load8_s
- (get_local $1)
+ (get_local $7)
)
(i32.const -48)
)
@@ -2924,19 +2918,19 @@
)
)
)
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 3)
- )
+ (set_local $8
+ (i32.const 1)
)
(set_local $14
(i32.load
- (get_local $1)
+ (get_local $7)
)
)
(br $jumpthreading$outer$0
- (i32.const 1)
+ (i32.add
+ (get_local $10)
+ (i32.const 3)
+ )
)
)
(set_local $27
@@ -2945,7 +2939,7 @@
(if
(get_local $8)
(block
- (set_local $17
+ (set_local $16
(i32.const -1)
)
(br $label$break$L1)
@@ -2956,12 +2950,12 @@
(get_local $31)
)
(block
- (set_local $12
- (get_local $7)
- )
- (set_local $5
+ (set_local $11
(get_local $1)
)
+ (set_local $10
+ (get_local $7)
+ )
(set_local $1
(i32.const 0)
)
@@ -2973,7 +2967,7 @@
)
(set_local $14
(i32.load
- (tee_local $5
+ (tee_local $10
(i32.and
(i32.add
(i32.load
@@ -2989,45 +2983,53 @@
(i32.store
(get_local $2)
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 4)
)
)
- (set_local $5
- (get_local $1)
+ (set_local $8
+ (i32.const 0)
)
- (i32.const 0)
+ (get_local $7)
)
)
- (set_local $12
+ (set_local $1
(if i32
(i32.lt_s
(get_local $14)
(i32.const 0)
)
(block i32
+ (set_local $11
+ (i32.or
+ (get_local $1)
+ (i32.const 8192)
+ )
+ )
(set_local $14
(i32.sub
(i32.const 0)
(get_local $14)
)
)
- (i32.or
- (get_local $7)
- (i32.const 8192)
+ (get_local $8)
+ )
+ (block i32
+ (set_local $11
+ (get_local $1)
)
+ (get_local $8)
)
- (get_local $7)
)
)
)
(if
(i32.lt_u
- (tee_local $1
+ (tee_local $7
(i32.add
(i32.shr_s
(i32.shl
- (get_local $1)
+ (get_local $7)
(i32.const 24)
)
(i32.const 24)
@@ -3038,27 +3040,27 @@
(i32.const 10)
)
(block
- (set_local $12
+ (set_local $11
(i32.const 0)
)
(loop $while-in8
- (set_local $1
+ (set_local $7
(i32.add
(i32.mul
- (get_local $12)
+ (get_local $11)
(i32.const 10)
)
- (get_local $1)
+ (get_local $7)
)
)
(if
(i32.lt_u
- (tee_local $10
+ (tee_local $9
(i32.add
(i32.load8_s
- (tee_local $5
+ (tee_local $10
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 1)
)
)
@@ -3069,43 +3071,43 @@
(i32.const 10)
)
(block
- (set_local $12
- (get_local $1)
+ (set_local $11
+ (get_local $7)
)
- (set_local $1
- (get_local $10)
+ (set_local $7
+ (get_local $9)
)
(br $while-in8)
)
- (set_local $14
- (get_local $1)
- )
)
)
(if
(i32.lt_s
- (get_local $14)
+ (get_local $7)
(i32.const 0)
)
(block
- (set_local $17
+ (set_local $16
(i32.const -1)
)
(br $label$break$L1)
)
(block
- (set_local $12
- (get_local $7)
+ (set_local $11
+ (get_local $1)
)
(set_local $1
(get_local $8)
)
+ (set_local $14
+ (get_local $7)
+ )
)
)
)
(block
- (set_local $12
- (get_local $7)
+ (set_local $11
+ (get_local $1)
)
(set_local $1
(get_local $8)
@@ -3117,12 +3119,12 @@
)
)
)
- (set_local $8
- (block $label$break$L46 i32
+ (block $label$break$L46
+ (set_local $7
(if i32
(i32.eq
(i32.load8_s
- (get_local $5)
+ (get_local $10)
)
(i32.const 46)
)
@@ -3131,11 +3133,11 @@
(i32.ne
(i32.shr_s
(i32.shl
- (tee_local $7
+ (tee_local $8
(i32.load8_s
- (tee_local $8
+ (tee_local $7
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 1)
)
)
@@ -3150,11 +3152,11 @@
(block
(if
(i32.lt_u
- (tee_local $7
+ (tee_local $9
(i32.add
(i32.shr_s
(i32.shl
- (get_local $7)
+ (get_local $8)
(i32.const 24)
)
(i32.const 24)
@@ -3165,20 +3167,24 @@
(i32.const 10)
)
(block
- (set_local $5
- (get_local $8)
+ (set_local $10
+ (get_local $7)
)
(set_local $8
(i32.const 0)
)
+ (set_local $7
+ (get_local $9)
+ )
)
(block
+ (set_local $10
+ (get_local $7)
+ )
(set_local $7
(i32.const 0)
)
- (br $label$break$L46
- (get_local $8)
- )
+ (br $label$break$L46)
)
)
(loop $while-in11
@@ -3191,14 +3197,14 @@
(get_local $7)
)
)
- (if
- (i32.lt_u
- (tee_local $10
+ (br_if $label$break$L46
+ (i32.ge_u
+ (tee_local $9
(i32.add
(i32.load8_s
- (tee_local $5
+ (tee_local $10
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 1)
)
)
@@ -3208,30 +3214,25 @@
)
(i32.const 10)
)
- (block
- (set_local $8
- (get_local $7)
- )
- (set_local $7
- (get_local $10)
- )
- (br $while-in11)
- )
- (br $label$break$L46
- (get_local $5)
- )
)
+ (set_local $8
+ (get_local $7)
+ )
+ (set_local $7
+ (get_local $9)
+ )
+ (br $while-in11)
)
)
)
(if
(i32.lt_u
- (tee_local $7
+ (tee_local $8
(i32.add
(i32.load8_s
- (tee_local $8
+ (tee_local $7
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 2)
)
)
@@ -3244,7 +3245,7 @@
(if
(i32.eq
(i32.load8_s offset=3
- (get_local $5)
+ (get_local $10)
)
(i32.const 36)
)
@@ -3253,7 +3254,7 @@
(i32.add
(get_local $4)
(i32.shl
- (get_local $7)
+ (get_local $8)
(i32.const 2)
)
)
@@ -3265,7 +3266,7 @@
(i32.shl
(i32.add
(i32.load8_s
- (get_local $8)
+ (get_local $7)
)
(i32.const -48)
)
@@ -3273,24 +3274,25 @@
)
)
)
+ (set_local $10
+ (i32.add
+ (get_local $10)
+ (i32.const 4)
+ )
+ )
(set_local $7
(i32.load
(get_local $7)
)
)
- (br $label$break$L46
- (i32.add
- (get_local $5)
- (i32.const 4)
- )
- )
+ (br $label$break$L46)
)
)
)
(if
(get_local $1)
(block
- (set_local $17
+ (set_local $16
(i32.const -1)
)
(br $label$break$L1)
@@ -3299,9 +3301,9 @@
(if i32
(get_local $31)
(block i32
- (set_local $7
+ (set_local $8
(i32.load
- (tee_local $5
+ (tee_local $10
(i32.and
(i32.add
(i32.load
@@ -3317,36 +3319,37 @@
(i32.store
(get_local $2)
(i32.add
- (get_local $5)
+ (get_local $10)
(i32.const 4)
)
)
+ (set_local $10
+ (get_local $7)
+ )
(get_local $8)
)
(block i32
- (set_local $7
- (i32.const 0)
+ (set_local $10
+ (get_local $7)
)
- (get_local $8)
+ (i32.const 0)
)
)
)
- (block i32
- (set_local $7
- (i32.const -1)
- )
- (get_local $5)
- )
+ (i32.const -1)
)
)
)
- (set_local $10
+ (set_local $8
+ (get_local $10)
+ )
+ (set_local $9
(i32.const 0)
)
(loop $while-in13
(if
(i32.gt_u
- (tee_local $11
+ (tee_local $12
(i32.add
(i32.load8_s
(get_local $8)
@@ -3357,13 +3360,13 @@
(i32.const 57)
)
(block
- (set_local $17
+ (set_local $16
(i32.const -1)
)
(br $label$break$L1)
)
)
- (set_local $5
+ (set_local $10
(i32.add
(get_local $8)
(i32.const 1)
@@ -3372,19 +3375,19 @@
(if
(i32.lt_u
(i32.add
- (tee_local $11
+ (tee_local $12
(i32.and
(tee_local $13
(i32.load8_s
(i32.add
(i32.add
(i32.mul
- (get_local $10)
+ (get_local $9)
(i32.const 58)
)
(i32.const 3611)
)
- (get_local $11)
+ (get_local $12)
)
)
)
@@ -3397,14 +3400,14 @@
)
(block
(set_local $8
- (get_local $5)
+ (get_local $10)
)
- (set_local $10
- (get_local $11)
+ (set_local $9
+ (get_local $12)
)
(br $while-in13)
)
- (set_local $16
+ (set_local $18
(get_local $8)
)
)
@@ -3420,7 +3423,7 @@
)
)
(block
- (set_local $17
+ (set_local $16
(i32.const -1)
)
(br $label$break$L1)
@@ -3428,7 +3431,7 @@
)
(set_local $8
(i32.gt_s
- (get_local $19)
+ (get_local $17)
(i32.const -1)
)
)
@@ -3448,7 +3451,7 @@
(if
(get_local $8)
(block
- (set_local $17
+ (set_local $16
(i32.const -1)
)
(br $label$break$L1)
@@ -3463,19 +3466,19 @@
(i32.add
(get_local $4)
(i32.shl
- (get_local $19)
+ (get_local $17)
(i32.const 2)
)
)
- (get_local $11)
+ (get_local $12)
)
(set_local $13
(i32.load offset=4
- (tee_local $11
+ (tee_local $12
(i32.add
(get_local $3)
(i32.shl
- (get_local $19)
+ (get_local $17)
(i32.const 3)
)
)
@@ -3484,10 +3487,10 @@
)
(i32.store
(tee_local $8
- (get_local $18)
+ (get_local $19)
)
(i32.load
- (get_local $11)
+ (get_local $12)
)
)
(i32.store offset=4
@@ -3502,15 +3505,15 @@
(get_local $31)
)
(block
- (set_local $17
+ (set_local $16
(i32.const 0)
)
(br $label$break$L1)
)
)
(call $_pop_arg_336
- (get_local $18)
- (get_local $11)
+ (get_local $19)
+ (get_local $12)
(get_local $2)
)
)
@@ -3525,27 +3528,27 @@
(get_local $31)
)
(block
- (set_local $9
- (get_local $5)
- )
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
)
)
- (set_local $12
+ (set_local $11
(select
(tee_local $8
(i32.and
- (get_local $12)
+ (get_local $11)
(i32.const -65537)
)
)
- (get_local $12)
+ (get_local $11)
(i32.and
- (get_local $12)
+ (get_local $11)
(i32.const 8192)
)
)
@@ -3572,25 +3575,25 @@
(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 $13
+ (tee_local $18
(select
(i32.and
- (tee_local $11
+ (tee_local $12
(i32.load8_s
- (get_local $16)
+ (get_local $18)
)
)
(i32.const -33)
)
- (get_local $11)
+ (get_local $12)
(i32.and
(i32.ne
- (get_local $10)
+ (get_local $9)
(i32.const 0)
)
(i32.eq
(i32.and
- (get_local $11)
+ (get_local $12)
(i32.const 15)
)
(i32.const 3)
@@ -3612,53 +3615,53 @@
(block $switch-case19
(br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
(i32.sub
- (get_local $10)
+ (get_local $9)
(i32.const 0)
)
)
)
(i32.store
(i32.load
- (get_local $18)
+ (get_local $19)
)
- (get_local $17)
- )
- (set_local $9
- (get_local $5)
+ (get_local $16)
)
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
(i32.store
(i32.load
- (get_local $18)
+ (get_local $19)
)
- (get_local $17)
- )
- (set_local $9
- (get_local $5)
+ (get_local $16)
)
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
(i32.store
- (tee_local $9
+ (tee_local $5
(i32.load
- (get_local $18)
+ (get_local $19)
)
)
- (get_local $17)
+ (get_local $16)
)
(i32.store offset=4
- (get_local $9)
+ (get_local $5)
(i32.shr_s
(i32.shl
(i32.lt_s
- (get_local $17)
+ (get_local $16)
(i32.const 0)
)
(i32.const 31)
@@ -3666,70 +3669,70 @@
(i32.const 31)
)
)
- (set_local $9
- (get_local $5)
- )
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
(i32.store16
(i32.load
- (get_local $18)
+ (get_local $19)
)
- (get_local $17)
- )
- (set_local $9
- (get_local $5)
+ (get_local $16)
)
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
(i32.store8
(i32.load
- (get_local $18)
+ (get_local $19)
)
- (get_local $17)
- )
- (set_local $9
- (get_local $5)
+ (get_local $16)
)
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
(i32.store
(i32.load
- (get_local $18)
+ (get_local $19)
)
- (get_local $17)
- )
- (set_local $9
- (get_local $5)
+ (get_local $16)
)
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
(i32.store
- (tee_local $9
+ (tee_local $5
(i32.load
- (get_local $18)
+ (get_local $19)
)
)
- (get_local $17)
+ (get_local $16)
)
(i32.store offset=4
- (get_local $9)
+ (get_local $5)
(i32.shr_s
(i32.shl
(i32.lt_s
- (get_local $17)
+ (get_local $16)
(i32.const 0)
)
(i32.const 31)
@@ -3737,25 +3740,25 @@
(i32.const 31)
)
)
- (set_local $9
- (get_local $5)
- )
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
- (set_local $9
- (get_local $5)
- )
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $6)
)
(br $label$continue$L1)
)
- (set_local $9
+ (set_local $6
(i32.or
- (get_local $12)
+ (get_local $11)
(i32.const 8)
)
)
@@ -3769,13 +3772,13 @@
)
)
)
- (set_local $13
+ (set_local $18
(i32.const 120)
)
(br $jumpthreading$inner$2)
)
- (set_local $9
- (get_local $12)
+ (set_local $6
+ (get_local $11)
)
(br $jumpthreading$inner$2)
)
@@ -3784,8 +3787,8 @@
(i32.eqz
(tee_local $6
(i32.load
- (tee_local $9
- (get_local $18)
+ (tee_local $5
+ (get_local $19)
)
)
)
@@ -3793,23 +3796,23 @@
(i32.eqz
(tee_local $8
(i32.load offset=4
- (get_local $9)
+ (get_local $5)
)
)
)
)
(set_local $8
- (get_local $23)
+ (get_local $22)
)
(block
- (set_local $9
+ (set_local $5
(get_local $6)
)
(set_local $6
(get_local $8)
)
(set_local $8
- (get_local $23)
+ (get_local $22)
)
(loop $while-in32
(i32.store8
@@ -3821,7 +3824,7 @@
)
(i32.or
(i32.and
- (get_local $9)
+ (get_local $5)
(i32.const 7)
)
(i32.const 48)
@@ -3831,9 +3834,9 @@
(i32.eqz
(i32.and
(i32.eqz
- (tee_local $9
+ (tee_local $5
(call $_bitshift64Lshr
- (get_local $9)
+ (get_local $5)
(get_local $6)
(i32.const 3)
)
@@ -3852,19 +3855,19 @@
)
(if
(i32.and
- (get_local $12)
+ (get_local $11)
(i32.const 8)
)
(block
- (set_local $6
+ (set_local $5
(get_local $8)
)
- (set_local $9
- (get_local $12)
+ (set_local $6
+ (get_local $11)
)
(set_local $7
(select
- (tee_local $12
+ (tee_local $11
(i32.add
(i32.sub
(get_local $44)
@@ -3876,39 +3879,39 @@
(get_local $7)
(i32.lt_s
(get_local $7)
- (get_local $12)
+ (get_local $11)
)
)
)
(set_local $8
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
(br $jumpthreading$inner$7)
)
(block
- (set_local $6
+ (set_local $5
(get_local $8)
)
- (set_local $9
- (get_local $12)
+ (set_local $6
+ (get_local $11)
)
(set_local $8
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
(br $jumpthreading$inner$7)
)
)
)
- (set_local $9
+ (set_local $5
(i32.load
(tee_local $6
- (get_local $18)
+ (get_local $19)
)
)
)
@@ -3924,13 +3927,13 @@
(block
(i32.store
(tee_local $8
- (get_local $18)
+ (get_local $19)
)
- (tee_local $9
+ (tee_local $5
(call $_i64Subtract
(i32.const 0)
(i32.const 0)
- (get_local $9)
+ (get_local $5)
(get_local $6)
)
)
@@ -3944,7 +3947,7 @@
(set_local $8
(i32.const 1)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
(br $jumpthreading$inner$3)
@@ -3952,42 +3955,42 @@
)
(if
(i32.and
- (get_local $12)
+ (get_local $11)
(i32.const 2048)
)
(block
(set_local $8
(i32.const 1)
)
- (set_local $10
+ (set_local $9
(i32.const 4092)
)
(br $jumpthreading$inner$3)
)
(block
(set_local $8
- (tee_local $10
+ (tee_local $9
(i32.and
- (get_local $12)
+ (get_local $11)
(i32.const 1)
)
)
)
- (set_local $10
+ (set_local $9
(select
(i32.const 4093)
(i32.const 4091)
- (get_local $10)
+ (get_local $9)
)
)
(br $jumpthreading$inner$3)
)
)
)
- (set_local $9
+ (set_local $5
(i32.load
(tee_local $6
- (get_local $18)
+ (get_local $19)
)
)
)
@@ -3999,41 +4002,41 @@
(set_local $8
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
(br $jumpthreading$inner$3)
)
- (set_local $9
- (get_local $18)
+ (set_local $5
+ (get_local $19)
)
(i32.store8
(get_local $45)
(i32.load
- (get_local $9)
+ (get_local $5)
)
)
(set_local $6
(get_local $45)
)
- (set_local $12
+ (set_local $11
(get_local $8)
)
- (set_local $11
+ (set_local $12
(i32.const 1)
)
(set_local $8
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
- (set_local $9
- (get_local $23)
+ (set_local $5
+ (get_local $22)
)
(br $jumpthreading$outer$7)
)
- (set_local $9
+ (set_local $5
(call $_strerror
(i32.load
(call $___errno_location)
@@ -4042,26 +4045,26 @@
)
(br $jumpthreading$inner$4)
)
- (set_local $9
+ (set_local $5
(select
- (tee_local $9
+ (tee_local $5
(i32.load
- (get_local $18)
+ (get_local $19)
)
)
(i32.const 4101)
- (get_local $9)
+ (get_local $5)
)
)
(br $jumpthreading$inner$4)
)
- (set_local $9
- (get_local $18)
+ (set_local $5
+ (get_local $19)
)
(i32.store
(get_local $46)
(i32.load
- (get_local $9)
+ (get_local $5)
)
)
(i32.store
@@ -4069,7 +4072,7 @@
(i32.const 0)
)
(i32.store
- (get_local $18)
+ (get_local $19)
(get_local $46)
)
(set_local $8
@@ -4091,7 +4094,7 @@
(i32.const 32)
(get_local $14)
(i32.const 0)
- (get_local $12)
+ (get_local $11)
)
(set_local $6
(i32.const 0)
@@ -4102,11 +4105,11 @@
)
(set_local $15
(f64.load
- (get_local $18)
+ (get_local $19)
)
)
(i32.store
- (get_local $20)
+ (get_local $21)
(i32.const 0)
)
(f64.store
@@ -4134,7 +4137,7 @@
)
(if i32
(i32.and
- (get_local $12)
+ (get_local $11)
(i32.const 2048)
)
(block i32
@@ -4145,9 +4148,9 @@
)
(block i32
(set_local $29
- (tee_local $9
+ (tee_local $5
(i32.and
- (get_local $12)
+ (get_local $11)
(i32.const 1)
)
)
@@ -4155,7 +4158,7 @@
(select
(i32.const 4114)
(i32.const 4109)
- (get_local $9)
+ (get_local $5)
)
)
)
@@ -4165,10 +4168,7 @@
(get_global $tempDoublePtr)
(get_local $15)
)
- (set_local $9
- (get_local $5)
- )
- (set_local $5
+ (set_local $6
(block $do-once49 i32
(if i32
(i32.or
@@ -4195,11 +4195,11 @@
(if
(tee_local $5
(f64.ne
- (tee_local $21
+ (tee_local $24
(f64.mul
(call $_frexpl
(get_local $15)
- (get_local $20)
+ (get_local $21)
)
(f64.const 2)
)
@@ -4208,10 +4208,10 @@
)
)
(i32.store
- (get_local $20)
+ (get_local $21)
(i32.add
(i32.load
- (get_local $20)
+ (get_local $21)
)
(i32.const -1)
)
@@ -4219,25 +4219,25 @@
)
(if
(i32.eq
- (tee_local $16
+ (tee_local $25
(i32.or
- (get_local $13)
+ (get_local $18)
(i32.const 32)
)
)
(i32.const 97)
)
(block
- (set_local $10
+ (set_local $9
(select
(i32.add
(get_local $34)
(i32.const 9)
)
(get_local $34)
- (tee_local $16
+ (tee_local $13
(i32.and
- (get_local $13)
+ (get_local $18)
(i32.const 32)
)
)
@@ -4259,7 +4259,7 @@
)
)
)
- (get_local $21)
+ (get_local $24)
(block f64
(set_local $15
(f64.const 8)
@@ -4286,7 +4286,7 @@
(get_local $15)
(f64.sub
(f64.neg
- (get_local $21)
+ (get_local $24)
)
(get_local $15)
)
@@ -4294,14 +4294,14 @@
)
(f64.sub
(f64.add
- (get_local $21)
+ (get_local $24)
(get_local $15)
)
(get_local $15)
)
(i32.eq
(i32.load8_s
- (get_local $10)
+ (get_local $9)
)
(i32.const 45)
)
@@ -4309,61 +4309,61 @@
)
)
)
- (set_local $11
- (i32.or
- (get_local $29)
- (i32.const 2)
- )
- )
- (i32.store8
- (i32.add
- (if i32
- (i32.eq
+ (if
+ (i32.eq
+ (tee_local $5
+ (call $_fmt_u
(tee_local $5
- (call $_fmt_u
- (tee_local $5
- (select
- (i32.sub
- (i32.const 0)
- (tee_local $6
- (i32.load
- (get_local $20)
- )
- )
- )
- (get_local $6)
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
+ (select
+ (i32.sub
+ (i32.const 0)
+ (tee_local $6
+ (i32.load
+ (get_local $21)
)
)
)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
+ (get_local $6)
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 0)
)
- (get_local $37)
)
)
- (get_local $37)
- )
- (block i32
- (i32.store8
- (get_local $47)
- (i32.const 48)
- )
- (tee_local $5
- (get_local $47)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
)
+ (get_local $37)
)
- (get_local $5)
)
+ (get_local $37)
+ )
+ (block
+ (i32.store8
+ (get_local $47)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $47)
+ )
+ )
+ )
+ (set_local $12
+ (i32.or
+ (get_local $29)
+ (i32.const 2)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (get_local $5)
(i32.const -1)
)
(i32.add
@@ -4378,33 +4378,33 @@
)
)
(i32.store8
- (tee_local $6
+ (tee_local $8
(i32.add
(get_local $5)
(i32.const -2)
)
)
(i32.add
- (get_local $13)
+ (get_local $18)
(i32.const 15)
)
)
- (set_local $13
+ (set_local $18
(i32.lt_s
(get_local $7)
(i32.const 1)
)
)
- (set_local $19
+ (set_local $17
(i32.eqz
(i32.and
- (get_local $12)
+ (get_local $11)
(i32.const 8)
)
)
)
(set_local $5
- (get_local $24)
+ (get_local $23)
)
(loop $while-in56
(i32.store8
@@ -4412,7 +4412,7 @@
(i32.or
(i32.load8_u
(i32.add
- (tee_local $8
+ (tee_local $6
(i32.trunc_s/f64
(get_local $15)
)
@@ -4420,7 +4420,7 @@
(i32.const 4075)
)
)
- (get_local $16)
+ (get_local $13)
)
)
(set_local $15
@@ -4428,7 +4428,7 @@
(f64.sub
(get_local $15)
(f64.convert_s/i32
- (get_local $8)
+ (get_local $6)
)
)
(f64.const 16)
@@ -4439,7 +4439,7 @@
(if i32
(i32.eq
(i32.sub
- (tee_local $8
+ (tee_local $6
(i32.add
(get_local $5)
(i32.const 1)
@@ -4452,11 +4452,11 @@
(block i32
(drop
(br_if $do-once57
- (get_local $8)
+ (get_local $6)
(i32.and
- (get_local $19)
+ (get_local $17)
(i32.and
- (get_local $13)
+ (get_local $18)
(f64.eq
(get_local $15)
(f64.const 0)
@@ -4466,7 +4466,7 @@
)
)
(i32.store8
- (get_local $8)
+ (get_local $6)
(i32.const 46)
)
(i32.add
@@ -4474,7 +4474,7 @@
(i32.const 2)
)
)
- (get_local $8)
+ (get_local $6)
)
)
)
@@ -4489,21 +4489,21 @@
(get_local $0)
(i32.const 32)
(get_local $14)
- (tee_local $7
+ (tee_local $6
(i32.add
- (tee_local $8
+ (tee_local $7
(select
(i32.sub
(i32.add
(get_local $52)
(get_local $7)
)
- (get_local $6)
+ (get_local $8)
)
(i32.add
(i32.sub
(get_local $50)
- (get_local $6)
+ (get_local $8)
)
(get_local $5)
)
@@ -4522,10 +4522,10 @@
)
)
)
- (get_local $11)
+ (get_local $12)
)
)
- (get_local $12)
+ (get_local $11)
)
(if
(i32.eqz
@@ -4538,8 +4538,8 @@
)
(drop
(call $___fwritex
- (get_local $10)
- (get_local $11)
+ (get_local $9)
+ (get_local $12)
(get_local $0)
)
)
@@ -4548,9 +4548,9 @@
(get_local $0)
(i32.const 48)
(get_local $14)
- (get_local $7)
+ (get_local $6)
(i32.xor
- (get_local $12)
+ (get_local $11)
(i32.const 65536)
)
)
@@ -4571,7 +4571,7 @@
)
(drop
(call $___fwritex
- (get_local $24)
+ (get_local $23)
(get_local $5)
(get_local $0)
)
@@ -4581,13 +4581,13 @@
(get_local $0)
(i32.const 48)
(i32.sub
- (get_local $8)
+ (get_local $7)
(i32.add
(get_local $5)
(tee_local $5
(i32.sub
(get_local $30)
- (get_local $6)
+ (get_local $8)
)
)
)
@@ -4606,7 +4606,7 @@
)
(drop
(call $___fwritex
- (get_local $6)
+ (get_local $8)
(get_local $5)
(get_local $0)
)
@@ -4616,79 +4616,78 @@
(get_local $0)
(i32.const 32)
(get_local $14)
- (get_local $7)
+ (get_local $6)
(i32.xor
- (get_local $12)
+ (get_local $11)
(i32.const 8192)
)
)
(br $do-once49
(select
(get_local $14)
- (get_local $7)
+ (get_local $6)
(i32.lt_s
- (get_local $7)
+ (get_local $6)
(get_local $14)
)
)
)
)
)
- (set_local $8
- (select
- (get_local $53)
- (get_local $54)
- (i32.lt_s
- (if i32
- (get_local $5)
- (block i32
- (i32.store
- (get_local $20)
- (tee_local $5
- (i32.add
- (i32.load
- (get_local $20)
- )
- (i32.const -28)
- )
- )
- )
- (set_local $15
- (f64.mul
+ (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)
- (f64.const 268435456)
)
+ (i32.const -28)
)
- (get_local $5)
)
- (block i32
- (set_local $15
- (get_local $21)
- )
- (i32.load
- (get_local $20)
- )
+ )
+ (f64.mul
+ (get_local $24)
+ (f64.const 268435456)
+ )
+ )
+ (block f64
+ (set_local $5
+ (i32.load
+ (get_local $21)
)
)
- (i32.const 0)
+ (get_local $24)
)
)
)
- (set_local $5
- (get_local $8)
+ (set_local $6
+ (tee_local $8
+ (select
+ (get_local $53)
+ (get_local $54)
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
)
(loop $while-in60
(i32.store
- (get_local $5)
- (tee_local $6
+ (get_local $6)
+ (tee_local $5
(i32.trunc_s/f64
(get_local $15)
)
)
)
- (set_local $5
+ (set_local $6
(i32.add
- (get_local $5)
+ (get_local $6)
(i32.const 4)
)
)
@@ -4699,7 +4698,7 @@
(f64.sub
(get_local $15)
(f64.convert_u/i32
- (get_local $6)
+ (get_local $5)
)
)
(f64.const 1e9)
@@ -4711,111 +4710,103 @@
)
(if
(i32.gt_s
- (tee_local $10
+ (tee_local $9
(i32.load
- (get_local $20)
+ (get_local $21)
)
)
(i32.const 0)
)
(block
- (set_local $6
+ (set_local $5
(get_local $8)
)
(loop $while-in62
- (set_local $19
+ (set_local $13
(select
(i32.const 29)
- (get_local $10)
+ (get_local $9)
(i32.gt_s
- (get_local $10)
+ (get_local $9)
(i32.const 29)
)
)
)
- (set_local $6
- (block $do-once63 i32
- (if i32
- (i32.lt_u
- (tee_local $10
- (i32.add
- (get_local $5)
- (i32.const -4)
- )
+ (block $do-once63
+ (if
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
)
- (get_local $6)
)
- (get_local $6)
- (block i32
- (set_local $11
- (i32.const 0)
- )
- (loop $while-in66
- (set_local $25
+ (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 $11
+ (tee_local $12
(call $_i64Add
(call $_bitshift64Shl
(i32.load
- (get_local $10)
+ (get_local $9)
)
(i32.const 0)
- (get_local $19)
+ (get_local $13)
)
(get_global $tempRet0)
- (get_local $11)
+ (get_local $12)
(i32.const 0)
)
)
- (tee_local $22
+ (tee_local $17
(get_global $tempRet0)
)
(i32.const 1000000000)
(i32.const 0)
)
)
- (i32.store
- (get_local $10)
- (get_local $25)
- )
- (set_local $11
- (call $___udivdi3
- (get_local $11)
- (get_local $22)
- (i32.const 1000000000)
- (i32.const 0)
- )
+ )
+ (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 $10
- (i32.add
- (get_local $10)
- (i32.const -4)
- )
+ )
+ (br_if $while-in66
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $9)
+ (i32.const -4)
)
- (get_local $6)
)
+ (get_local $5)
)
)
- (drop
- (br_if $do-once63
- (get_local $6)
- (i32.eqz
- (get_local $11)
- )
- )
+ )
+ (br_if $do-once63
+ (i32.eqz
+ (get_local $12)
)
- (i32.store
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -4)
- )
+ )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
)
- (get_local $11)
)
- (get_local $6)
+ (get_local $12)
)
)
)
@@ -4823,72 +4814,53 @@
(loop $while-in68
(if
(i32.gt_u
- (get_local $5)
(get_local $6)
+ (get_local $5)
)
- (block
- (nop)
- (if
- (i32.eqz
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $5)
- (i32.const -4)
- )
+ (if
+ (i32.eqz
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
)
)
)
- (block
- (set_local $5
- (get_local $10)
- )
- (br $while-in68)
+ )
+ (block
+ (set_local $6
+ (get_local $9)
)
+ (br $while-in68)
)
)
)
)
(i32.store
- (get_local $20)
- (tee_local $10
+ (get_local $21)
+ (tee_local $9
(i32.sub
(i32.load
- (get_local $20)
+ (get_local $21)
)
- (get_local $19)
+ (get_local $13)
)
)
)
(br_if $while-in62
(i32.gt_s
- (get_local $10)
+ (get_local $9)
(i32.const 0)
)
)
- (block
- (set_local $11
- (get_local $10)
- )
- (set_local $10
- (get_local $5)
- )
- )
)
)
- (block
- (set_local $11
- (get_local $10)
- )
- (set_local $6
- (get_local $8)
- )
- (set_local $10
- (get_local $5)
- )
+ (set_local $5
+ (get_local $8)
)
)
- (set_local $19
+ (set_local $17
(select
(i32.const 6)
(get_local $7)
@@ -4900,15 +4872,15 @@
)
(if
(i32.lt_s
- (get_local $11)
+ (get_local $9)
(i32.const 0)
)
(block
- (set_local $22
+ (set_local $20
(i32.add
(i32.div_s
(i32.add
- (get_local $19)
+ (get_local $17)
(i32.const 25)
)
(i32.const 9)
@@ -4916,152 +4888,152 @@
(i32.const 1)
)
)
- (set_local $25
+ (set_local $35
(i32.eq
- (get_local $16)
+ (get_local $25)
(i32.const 102)
)
)
+ (set_local $7
+ (get_local $5)
+ )
(set_local $5
- (get_local $10)
+ (get_local $6)
)
(loop $while-in70
- (set_local $11
+ (set_local $13
(select
(i32.const 9)
- (tee_local $7
+ (tee_local $6
(i32.sub
(i32.const 0)
- (get_local $11)
+ (get_local $9)
)
)
(i32.gt_s
- (get_local $7)
+ (get_local $6)
(i32.const 9)
)
)
)
- (set_local $10
- (select
- (i32.add
- (tee_local $7
- (select
- (get_local $8)
- (tee_local $6
- (block $do-once71 i32
- (if i32
- (i32.lt_u
- (get_local $6)
- (get_local $5)
- )
- (block i32
- (set_local $35
- (i32.add
- (i32.shl
- (i32.const 1)
- (get_local $11)
- )
- (i32.const -1)
- )
- )
- (set_local $43
- (i32.shr_u
- (i32.const 1000000000)
- (get_local $11)
- )
- )
- (set_local $10
- (i32.const 0)
- )
- (set_local $7
- (get_local $6)
- )
- (loop $while-in74
- (i32.store
- (get_local $7)
- (i32.add
- (i32.shr_u
- (tee_local $36
- (i32.load
- (get_local $7)
- )
- )
- (get_local $11)
- )
- (get_local $10)
- )
- )
- (set_local $10
- (i32.mul
- (i32.and
- (get_local $36)
- (get_local $35)
- )
- (get_local $43)
- )
- )
- (br_if $while-in74
- (i32.lt_u
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (get_local $5)
- )
- )
- )
- (set_local $6
- (select
- (get_local $6)
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- (i32.load
- (get_local $6)
- )
- )
- )
- (drop
- (br_if $do-once71
- (get_local $6)
- (i32.eqz
- (get_local $10)
- )
- )
- )
- (i32.store
- (get_local $5)
- (get_local $10)
- )
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 4)
- )
- )
- (get_local $6)
- )
- (select
+ (block $do-once71
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (get_local $5)
+ )
+ (block
+ (set_local $12
+ (i32.add
+ (i32.shl
+ (i32.const 1)
+ (get_local $13)
+ )
+ (i32.const -1)
+ )
+ )
+ (set_local $43
+ (i32.shr_u
+ (i32.const 1000000000)
+ (get_local $13)
+ )
+ )
+ (set_local $9
+ (i32.const 0)
+ )
+ (set_local $6
+ (get_local $7)
+ )
+ (loop $while-in74
+ (i32.store
+ (get_local $6)
+ (i32.add
+ (i32.shr_u
+ (tee_local $36
+ (i32.load
(get_local $6)
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- (i32.load
- (get_local $6)
- )
)
)
+ (get_local $13)
+ )
+ (get_local $9)
+ )
+ )
+ (set_local $9
+ (i32.mul
+ (i32.and
+ (get_local $36)
+ (get_local $12)
+ )
+ (get_local $43)
+ )
+ )
+ (br_if $while-in74
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
)
+ (get_local $5)
)
- (get_local $25)
+ )
+ )
+ (set_local $6
+ (select
+ (get_local $7)
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ (i32.load
+ (get_local $7)
+ )
+ )
+ )
+ (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)
+ )
+ )
+ )
+ (set_local $6
+ (select
+ (get_local $7)
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ (i32.load
+ (get_local $7)
+ )
+ )
+ )
+ )
+ )
+ (set_local $12
+ (select
+ (i32.add
+ (tee_local $7
+ (select
+ (get_local $8)
+ (get_local $6)
+ (get_local $35)
)
)
(i32.shl
- (get_local $22)
+ (get_local $20)
(i32.const 2)
)
)
@@ -5074,57 +5046,65 @@
)
(i32.const 2)
)
- (get_local $22)
+ (get_local $20)
)
)
)
(i32.store
- (get_local $20)
- (tee_local $11
+ (get_local $21)
+ (tee_local $9
(i32.add
(i32.load
- (get_local $20)
+ (get_local $21)
)
- (get_local $11)
+ (get_local $13)
)
)
)
(if
(i32.lt_s
- (get_local $11)
+ (get_local $9)
(i32.const 0)
)
(block
+ (set_local $7
+ (get_local $6)
+ )
(set_local $5
- (get_local $10)
+ (get_local $12)
)
(br $while-in70)
)
- (set_local $5
- (get_local $6)
+ (block
+ (set_local $5
+ (get_local $6)
+ )
+ (set_local $9
+ (get_local $12)
+ )
)
)
)
)
- (set_local $5
+ (set_local $9
(get_local $6)
)
)
- (set_local $22
+ (set_local $20
(get_local $8)
)
(block $do-once75
(if
(i32.lt_u
(get_local $5)
- (get_local $10)
+ (get_local $9)
)
(block
(set_local $6
(i32.mul
(i32.shr_s
(i32.sub
- (get_local $22)
+ (get_local $20)
(get_local $5)
)
(i32.const 2)
@@ -5134,7 +5114,7 @@
)
(br_if $do-once75
(i32.lt_u
- (tee_local $11
+ (tee_local $12
(i32.load
(get_local $5)
)
@@ -5154,7 +5134,7 @@
)
(br_if $while-in78
(i32.ge_u
- (get_local $11)
+ (get_local $12)
(tee_local $7
(i32.mul
(get_local $7)
@@ -5170,18 +5150,18 @@
)
)
)
- (set_local $16
+ (set_local $5
(if i32
(i32.lt_s
(tee_local $7
(i32.add
(i32.sub
- (get_local $19)
+ (get_local $17)
(select
(get_local $6)
(i32.const 0)
(i32.ne
- (get_local $16)
+ (get_local $25)
(i32.const 102)
)
)
@@ -5191,13 +5171,13 @@
(i32.and
(tee_local $35
(i32.ne
- (get_local $19)
+ (get_local $17)
(i32.const 0)
)
)
(tee_local $43
(i32.eq
- (get_local $16)
+ (get_local $25)
(i32.const 103)
)
)
@@ -5212,8 +5192,8 @@
(i32.mul
(i32.shr_s
(i32.sub
- (get_local $10)
- (get_local $22)
+ (get_local $9)
+ (get_local $20)
)
(i32.const 2)
)
@@ -5228,7 +5208,7 @@
(tee_local $7
(i32.add
(i32.rem_s
- (tee_local $16
+ (tee_local $13
(i32.add
(get_local $7)
(i32.const 9216)
@@ -5242,13 +5222,13 @@
(i32.const 9)
)
(block
- (set_local $11
+ (set_local $12
(i32.const 10)
)
(loop $while-in80
- (set_local $11
+ (set_local $12
(i32.mul
- (get_local $11)
+ (get_local $12)
(i32.const 10)
)
)
@@ -5265,11 +5245,11 @@
)
)
)
- (set_local $11
+ (set_local $12
(i32.const 10)
)
)
- (set_local $16
+ (set_local $13
(i32.rem_u
(tee_local $25
(i32.load
@@ -5282,7 +5262,7 @@
(i32.shl
(i32.add
(i32.div_s
- (get_local $16)
+ (get_local $13)
(i32.const 9)
)
(i32.const -1024)
@@ -5293,7 +5273,7 @@
)
)
)
- (get_local $11)
+ (get_local $12)
)
)
(block $do-once81
@@ -5306,11 +5286,11 @@
(get_local $7)
(i32.const 4)
)
- (get_local $10)
+ (get_local $9)
)
)
(i32.eqz
- (get_local $16)
+ (get_local $13)
)
)
)
@@ -5318,10 +5298,10 @@
(set_local $15
(if f64
(i32.lt_u
- (get_local $16)
+ (get_local $13)
(tee_local $55
(i32.div_s
- (get_local $11)
+ (get_local $12)
(i32.const 2)
)
)
@@ -5333,79 +5313,75 @@
(i32.and
(get_local $36)
(i32.eq
- (get_local $16)
+ (get_local $13)
(get_local $55)
)
)
)
)
)
- (set_local $21
+ (set_local $24
(select
(f64.const 9007199254740994)
(f64.const 9007199254740992)
(i32.and
(i32.div_u
(get_local $25)
- (get_local $11)
+ (get_local $12)
)
(i32.const 1)
)
)
)
- (set_local $21
- (block $do-once83 f64
- (if f64
- (get_local $29)
- (block f64
- (drop
- (br_if $do-once83
- (get_local $21)
- (i32.ne
- (i32.load8_s
- (get_local $34)
- )
- (i32.const 45)
- )
+ (block $do-once83
+ (if
+ (get_local $29)
+ (block
+ (br_if $do-once83
+ (i32.ne
+ (i32.load8_s
+ (get_local $34)
)
+ (i32.const 45)
)
- (set_local $15
- (f64.neg
- (get_local $15)
- )
+ )
+ (set_local $24
+ (f64.neg
+ (get_local $24)
)
+ )
+ (set_local $15
(f64.neg
- (get_local $21)
+ (get_local $15)
)
)
- (get_local $21)
)
)
)
(i32.store
(get_local $7)
- (tee_local $16
+ (tee_local $13
(i32.sub
(get_local $25)
- (get_local $16)
+ (get_local $13)
)
)
)
(br_if $do-once81
(f64.eq
(f64.add
- (get_local $21)
+ (get_local $24)
(get_local $15)
)
- (get_local $21)
+ (get_local $24)
)
)
(i32.store
(get_local $7)
(tee_local $6
(i32.add
- (get_local $16)
- (get_local $11)
+ (get_local $13)
+ (get_local $12)
)
)
)
@@ -5429,19 +5405,14 @@
)
(get_local $5)
)
- (block
- (i32.store
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -4)
- )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
)
- (i32.const 0)
- )
- (set_local $5
- (get_local $5)
)
+ (i32.const 0)
)
)
(i32.store
@@ -5467,7 +5438,7 @@
(i32.mul
(i32.shr_s
(i32.sub
- (get_local $22)
+ (get_local $20)
(get_local $5)
)
(i32.const 2)
@@ -5477,7 +5448,7 @@
)
(br_if $do-once81
(i32.lt_u
- (tee_local $16
+ (tee_local $13
(i32.load
(get_local $5)
)
@@ -5485,7 +5456,7 @@
(i32.const 10)
)
)
- (set_local $11
+ (set_local $12
(i32.const 10)
)
(loop $while-in88
@@ -5497,10 +5468,10 @@
)
(br_if $while-in88
(i32.ge_u
- (get_local $16)
- (tee_local $11
+ (get_local $13)
+ (tee_local $12
(i32.mul
- (get_local $11)
+ (get_local $12)
(i32.const 10)
)
)
@@ -5510,55 +5481,55 @@
)
)
)
- (set_local $11
+ (set_local $12
+ (get_local $5)
+ )
+ (set_local $13
(get_local $6)
)
- (set_local $10
- (select
- (tee_local $6
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (get_local $10)
- (i32.gt_u
- (get_local $10)
- (get_local $6)
+ (select
+ (tee_local $5
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
)
)
+ (get_local $9)
+ (i32.gt_u
+ (get_local $9)
+ (get_local $5)
+ )
)
- (get_local $5)
)
(block i32
- (set_local $11
+ (set_local $12
+ (get_local $5)
+ )
+ (set_local $13
(get_local $6)
)
- (get_local $5)
+ (get_local $9)
)
)
)
(set_local $36
(i32.sub
(i32.const 0)
- (get_local $11)
+ (get_local $13)
)
)
- (set_local $5
- (get_local $10)
- )
(loop $while-in90
(block $while-out89
(if
(i32.le_u
(get_local $5)
- (get_local $16)
+ (get_local $12)
)
(block
(set_local $25
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(get_local $5)
)
(br $while-out89)
@@ -5577,7 +5548,7 @@
(set_local $25
(i32.const 1)
)
- (set_local $10
+ (set_local $9
(get_local $5)
)
)
@@ -5590,386 +5561,384 @@
)
)
)
- (set_local $13
- (block $do-once91 i32
- (if i32
- (get_local $43)
- (block i32
- (set_local $13
- (if i32
- (i32.and
- (i32.gt_s
- (tee_local $5
- (i32.add
- (i32.xor
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $14)
+ (tee_local $13
+ (i32.add
+ (i32.add
+ (i32.add
+ (i32.add
+ (get_local $29)
+ (i32.const 1)
+ )
+ (tee_local $5
+ (block $do-once91 i32
+ (if i32
+ (get_local $43)
+ (block i32
+ (set_local $6
+ (if i32
(i32.and
- (get_local $35)
- (i32.const 1)
+ (i32.gt_s
+ (tee_local $5
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $35)
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (get_local $17)
+ )
+ )
+ (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.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ (i32.add
+ (get_local $18)
+ (i32.const -2)
+ )
)
- (i32.const 1)
)
- (get_local $19)
)
- )
- (get_local $11)
- )
- (i32.gt_s
- (get_local $11)
- (i32.const -5)
- )
- )
- (block i32
- (set_local $6
- (i32.add
- (get_local $13)
- (i32.const -1)
- )
- )
- (i32.sub
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- (get_local $11)
- )
- )
- (block i32
- (set_local $6
- (i32.add
- (get_local $13)
- (i32.const -2)
- )
- )
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- )
- )
- )
- (if
- (tee_local $7
- (i32.and
- (get_local $12)
- (i32.const 8)
- )
- )
- (block
- (set_local $5
- (get_local $13)
- )
- (br $do-once91
- (get_local $7)
- )
- )
- )
- (block $do-once93
- (if
- (get_local $25)
- (block
- (if
- (i32.eqz
- (tee_local $19
- (i32.load
- (i32.add
- (get_local $10)
- (i32.const -4)
+ (if
+ (tee_local $5
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
+ )
+ (block
+ (set_local $20
+ (get_local $5)
+ )
+ (br $do-once91
+ (get_local $17)
)
)
)
- )
- (block
- (set_local $5
- (i32.const 9)
- )
- (br $do-once93)
- )
- )
- (if
- (i32.rem_u
- (get_local $19)
- (i32.const 10)
- )
- (block
- (set_local $5
- (i32.const 0)
+ (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)
+ )
+ (br $do-once93)
+ )
+ (block
+ (set_local $7
+ (i32.const 10)
+ )
+ (set_local $5
+ (i32.const 0)
+ )
+ )
+ )
+ (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 $7
+ (i32.mul
+ (get_local $7)
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (set_local $5
+ (i32.const 9)
+ )
+ )
)
- (br $do-once93)
- )
- (block
(set_local $7
- (i32.const 10)
- )
- (set_local $5
- (i32.const 0)
- )
- )
- )
- (loop $while-in96
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $9)
+ (get_local $20)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ (i32.const -9)
+ )
)
- )
- (br_if $while-in96
- (i32.eqz
- (i32.rem_u
- (get_local $19)
- (tee_local $7
- (i32.mul
- (get_local $7)
- (i32.const 10)
+ (if i32
+ (i32.eq
+ (i32.or
+ (get_local $6)
+ (i32.const 32)
+ )
+ (i32.const 102)
+ )
+ (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 $7)
+ (get_local $5)
+ )
+ )
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
+ (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 $7)
+ (get_local $13)
+ )
+ (get_local $5)
+ )
+ )
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.lt_s
+ (get_local $17)
+ (get_local $5)
)
)
)
)
)
+ (block i32
+ (set_local $20
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
+ )
+ (set_local $6
+ (get_local $18)
+ )
+ (get_local $17)
+ )
)
)
- (set_local $5
- (i32.const 9)
- )
)
)
- (set_local $7
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $10)
- (get_local $22)
- )
- (i32.const 2)
- )
- (i32.const 9)
+ (i32.ne
+ (tee_local $35
+ (i32.or
+ (get_local $5)
+ (get_local $20)
)
- (i32.const -9)
)
+ (i32.const 0)
)
+ )
+ (tee_local $6
(if i32
- (i32.eq
- (i32.or
- (get_local $6)
- (i32.const 32)
+ (tee_local $17
+ (i32.eq
+ (i32.or
+ (get_local $6)
+ (i32.const 32)
+ )
+ (i32.const 102)
)
- (i32.const 102)
)
(block i32
- (set_local $5
- (select
+ (set_local $18
+ (i32.const 0)
+ )
+ (select
+ (get_local $13)
+ (i32.const 0)
+ (i32.gt_s
(get_local $13)
- (tee_local $5
- (select
- (i32.const 0)
- (tee_local $5
- (i32.sub
- (get_local $7)
- (get_local $5)
- )
- )
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- )
- )
- (i32.lt_s
- (get_local $13)
- (get_local $5)
- )
+ (i32.const 0)
)
)
- (i32.const 0)
)
(block i32
- (set_local $5
- (select
- (get_local $13)
- (tee_local $5
- (select
- (i32.const 0)
- (tee_local $5
- (i32.sub
- (i32.add
- (get_local $7)
- (get_local $11)
+ (if
+ (i32.lt_s
+ (i32.sub
+ (get_local $30)
+ (tee_local $7
+ (call $_fmt_u
+ (tee_local $7
+ (select
+ (get_local $36)
+ (get_local $13)
+ (i32.lt_s
+ (get_local $13)
+ (i32.const 0)
+ )
)
- (get_local $5)
)
- )
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ (get_local $37)
)
)
)
- (i32.lt_s
- (get_local $13)
- (get_local $5)
- )
+ (i32.const 2)
)
- )
- (i32.const 0)
- )
- )
- )
- (block i32
- (set_local $5
- (get_local $19)
- )
- (set_local $6
- (get_local $13)
- )
- (i32.and
- (get_local $12)
- (i32.const 8)
- )
- )
- )
- )
- )
- (set_local $19
- (if i32
- (tee_local $22
- (i32.eq
- (i32.or
- (get_local $6)
- (i32.const 32)
- )
- (i32.const 102)
- )
- )
- (block i32
- (set_local $6
- (select
- (get_local $11)
- (i32.const 0)
- (i32.gt_s
- (get_local $11)
- (i32.const 0)
- )
- )
- )
- (i32.const 0)
- )
- (block i32
- (if
- (i32.lt_s
- (i32.sub
- (get_local $30)
- (tee_local $7
- (call $_fmt_u
- (tee_local $7
- (select
- (get_local $36)
- (get_local $11)
- (i32.lt_s
- (get_local $11)
- (i32.const 0)
+ (loop $while-in98
+ (i32.store8
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const -1)
)
)
+ (i32.const 48)
)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
+ (br_if $while-in98
+ (i32.lt_s
+ (i32.sub
+ (get_local $30)
(get_local $7)
- (i32.const 0)
)
- (i32.const 31)
+ (i32.const 2)
)
- (i32.const 31)
)
- (get_local $37)
)
)
- )
- (i32.const 2)
- )
- (loop $while-in98
- (i32.store8
- (tee_local $7
+ (i32.store8
(i32.add
(get_local $7)
(i32.const -1)
)
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $13)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ (i32.const 43)
+ )
)
- (i32.const 48)
- )
- (br_if $while-in98
- (i32.lt_s
- (i32.sub
- (get_local $30)
- (get_local $7)
+ (i32.store8
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const -2)
+ )
)
- (i32.const 2)
+ (get_local $6)
)
- )
- )
- )
- (i32.store8
- (i32.add
- (get_local $7)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $11)
- (i32.const 31)
+ (set_local $18
+ (get_local $7)
)
- (i32.const 2)
- )
- (i32.const 43)
- )
- )
- (i32.store8
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const -2)
- )
- )
- (get_local $6)
- )
- (set_local $6
- (i32.sub
- (get_local $30)
- (get_local $7)
- )
- )
- (get_local $7)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $14)
- (tee_local $11
- (i32.add
- (i32.add
- (i32.add
- (i32.add
- (get_local $29)
- (i32.const 1)
- )
- (get_local $5)
- )
- (i32.ne
- (tee_local $35
- (i32.or
- (get_local $5)
- (get_local $13)
+ (i32.sub
+ (get_local $30)
+ (get_local $7)
)
)
- (i32.const 0)
)
)
- (get_local $6)
)
)
- (get_local $12)
+ (get_local $11)
)
(if
(i32.eqz
@@ -5992,23 +5961,23 @@
(get_local $0)
(i32.const 48)
(get_local $14)
- (get_local $11)
+ (get_local $13)
(i32.xor
- (get_local $12)
+ (get_local $11)
(i32.const 65536)
)
)
(block $do-once99
(if
- (get_local $22)
+ (get_local $17)
(block
(set_local $7
- (tee_local $13
+ (tee_local $12
(select
(get_local $8)
- (get_local $16)
+ (get_local $12)
(i32.gt_u
- (get_local $16)
+ (get_local $12)
(get_local $8)
)
)
@@ -6028,7 +5997,7 @@
(if
(i32.eq
(get_local $7)
- (get_local $13)
+ (get_local $12)
)
(block
(br_if $do-once103
@@ -6049,7 +6018,7 @@
(br_if $do-once103
(i32.le_u
(get_local $6)
- (get_local $24)
+ (get_local $23)
)
)
(loop $while-in106
@@ -6065,7 +6034,7 @@
(br_if $while-in106
(i32.gt_u
(get_local $6)
- (get_local $24)
+ (get_local $23)
)
)
)
@@ -6140,7 +6109,7 @@
)
(i32.lt_u
(get_local $6)
- (get_local $10)
+ (get_local $9)
)
)
(loop $while-in110
@@ -6155,7 +6124,7 @@
(get_local $32)
)
)
- (get_local $24)
+ (get_local $23)
)
(loop $while-in112
(i32.store8
@@ -6170,7 +6139,7 @@
(br_if $while-in112
(i32.gt_u
(get_local $7)
- (get_local $24)
+ (get_local $23)
)
)
)
@@ -6218,7 +6187,7 @@
(i32.const 4)
)
)
- (get_local $10)
+ (get_local $9)
)
)
(block
@@ -6245,11 +6214,11 @@
)
)
(block
- (set_local $10
+ (set_local $9
(select
- (get_local $10)
+ (get_local $9)
(i32.add
- (get_local $16)
+ (get_local $12)
(i32.const 4)
)
(get_local $25)
@@ -6261,13 +6230,13 @@
(i32.const -1)
)
(block
- (set_local $13
+ (set_local $17
(i32.eqz
- (get_local $13)
+ (get_local $20)
)
)
(set_local $7
- (get_local $16)
+ (get_local $12)
)
(set_local $6
(get_local $5)
@@ -6300,7 +6269,7 @@
(if
(i32.eq
(get_local $7)
- (get_local $16)
+ (get_local $12)
)
(block
(if
@@ -6327,20 +6296,20 @@
)
)
(br_if $do-once115
- (i32.and
- (get_local $13)
- (i32.lt_s
- (get_local $6)
- (i32.const 1)
+ (i32.or
+ (i32.and
+ (get_local $17)
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 1)
+ )
)
- )
- )
- (br_if $do-once115
- (i32.and
- (i32.load
- (get_local $0)
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
)
(drop
@@ -6355,7 +6324,7 @@
(br_if $do-once115
(i32.le_u
(get_local $5)
- (get_local $24)
+ (get_local $23)
)
)
(loop $while-in118
@@ -6371,7 +6340,7 @@
(br_if $while-in118
(i32.gt_u
(get_local $5)
- (get_local $24)
+ (get_local $23)
)
)
)
@@ -6417,7 +6386,7 @@
(i32.const 4)
)
)
- (get_local $10)
+ (get_local $9)
)
(i32.gt_s
(tee_local $6
@@ -6456,10 +6425,10 @@
)
(drop
(call $___fwritex
- (get_local $19)
+ (get_local $18)
(i32.sub
(get_local $30)
- (get_local $19)
+ (get_local $18)
)
(get_local $0)
)
@@ -6471,17 +6440,17 @@
(get_local $0)
(i32.const 32)
(get_local $14)
- (get_local $11)
+ (get_local $13)
(i32.xor
- (get_local $12)
+ (get_local $11)
(i32.const 8192)
)
)
(select
(get_local $14)
- (get_local $11)
+ (get_local $13)
(i32.lt_s
- (get_local $11)
+ (get_local $13)
(get_local $14)
)
)
@@ -6491,13 +6460,13 @@
(get_local $0)
(i32.const 32)
(get_local $14)
- (tee_local $5
+ (tee_local $6
(i32.add
- (tee_local $7
+ (tee_local $9
(select
(i32.const 0)
(get_local $29)
- (tee_local $6
+ (tee_local $7
(i32.or
(f64.ne
(get_local $15)
@@ -6513,7 +6482,33 @@
)
(get_local $8)
)
- (set_local $6
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $5
+ (i32.load
+ (get_local $0)
+ )
+ )
+ (i32.const 32)
+ )
+ )
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $34)
+ (get_local $9)
+ (get_local $0)
+ )
+ )
+ (set_local $5
+ (i32.load
+ (get_local $0)
+ )
+ )
+ )
+ )
+ (set_local $7
(select
(select
(i32.const 4135)
@@ -6521,7 +6516,7 @@
(tee_local $8
(i32.ne
(i32.and
- (get_local $13)
+ (get_local $18)
(i32.const 32)
)
(i32.const 0)
@@ -6533,41 +6528,19 @@
(i32.const 4131)
(get_local $8)
)
- (get_local $6)
+ (get_local $7)
)
)
(if
(i32.eqz
(i32.and
- (if i32
- (i32.and
- (tee_local $8
- (i32.load
- (get_local $0)
- )
- )
- (i32.const 32)
- )
- (get_local $8)
- (block i32
- (drop
- (call $___fwritex
- (get_local $34)
- (get_local $7)
- (get_local $0)
- )
- )
- (i32.load
- (get_local $0)
- )
- )
- )
+ (get_local $5)
(i32.const 32)
)
)
(drop
(call $___fwritex
- (get_local $6)
+ (get_local $7)
(i32.const 3)
(get_local $0)
)
@@ -6577,17 +6550,17 @@
(get_local $0)
(i32.const 32)
(get_local $14)
- (get_local $5)
+ (get_local $6)
(i32.xor
- (get_local $12)
+ (get_local $11)
(i32.const 8192)
)
)
(select
(get_local $14)
- (get_local $5)
+ (get_local $6)
(i32.lt_s
- (get_local $5)
+ (get_local $6)
(get_local $14)
)
)
@@ -6595,28 +6568,34 @@
)
)
)
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $6)
+ )
(br $label$continue$L1)
)
(set_local $6
- (get_local $9)
+ (get_local $5)
)
- (set_local $11
+ (set_local $12
(get_local $7)
)
(set_local $8
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
- (set_local $9
- (get_local $23)
+ (set_local $5
+ (get_local $22)
)
(br $jumpthreading$outer$7)
)
- (set_local $10
+ (set_local $9
(i32.and
- (get_local $13)
+ (get_local $18)
(i32.const 32)
)
)
@@ -6625,38 +6604,38 @@
(i32.eqz
(tee_local $8
(i32.load
- (tee_local $6
- (get_local $18)
+ (tee_local $5
+ (get_local $19)
)
)
)
)
(i32.eqz
- (tee_local $12
+ (tee_local $11
(i32.load offset=4
- (get_local $6)
+ (get_local $5)
)
)
)
)
(block
- (set_local $6
- (get_local $23)
+ (set_local $5
+ (get_local $22)
)
(set_local $8
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
(br $jumpthreading$inner$7)
)
(block
- (set_local $6
+ (set_local $5
(get_local $8)
)
(set_local $8
- (get_local $23)
+ (get_local $22)
)
(loop $while-in123
(i32.store8
@@ -6670,36 +6649,36 @@
(i32.load8_u
(i32.add
(i32.and
- (get_local $6)
+ (get_local $5)
(i32.const 15)
)
(i32.const 4075)
)
)
- (get_local $10)
+ (get_local $9)
)
)
(br_if $while-in123
(i32.eqz
(i32.and
(i32.eqz
- (tee_local $6
+ (tee_local $5
(call $_bitshift64Lshr
- (get_local $6)
- (get_local $12)
+ (get_local $5)
+ (get_local $11)
(i32.const 4)
)
)
)
(i32.eqz
- (tee_local $12
+ (tee_local $11
(get_global $tempRet0)
)
)
)
)
)
- (set_local $6
+ (set_local $5
(get_local $8)
)
)
@@ -6707,21 +6686,21 @@
(i32.or
(i32.eqz
(i32.and
- (get_local $9)
+ (get_local $6)
(i32.const 8)
)
)
(i32.and
(i32.eqz
(i32.load
- (tee_local $12
- (get_local $18)
+ (tee_local $11
+ (get_local $19)
)
)
)
(i32.eqz
(i32.load offset=4
- (get_local $12)
+ (get_local $11)
)
)
)
@@ -6730,7 +6709,7 @@
(set_local $8
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
(br $jumpthreading$inner$7)
@@ -6739,10 +6718,10 @@
(set_local $8
(i32.const 2)
)
- (set_local $10
+ (set_local $9
(i32.add
(i32.shr_s
- (get_local $13)
+ (get_local $18)
(i32.const 4)
)
(i32.const 4091)
@@ -6755,26 +6734,26 @@
)
(br $jumpthreading$outer$7)
)
- (set_local $6
+ (set_local $5
(call $_fmt_u
- (get_local $9)
+ (get_local $5)
(get_local $6)
- (get_local $23)
+ (get_local $22)
)
)
- (set_local $9
- (get_local $12)
+ (set_local $6
+ (get_local $11)
)
(br $jumpthreading$inner$7)
)
(set_local $27
(i32.const 0)
)
- (set_local $16
+ (set_local $18
(i32.eqz
(tee_local $13
(call $_memchr
- (get_local $9)
+ (get_local $5)
(i32.const 0)
(get_local $7)
)
@@ -6782,40 +6761,40 @@
)
)
(set_local $6
- (get_local $9)
+ (get_local $5)
)
- (set_local $12
+ (set_local $11
(get_local $8)
)
- (set_local $11
+ (set_local $12
(select
(get_local $7)
(i32.sub
(get_local $13)
- (get_local $9)
+ (get_local $5)
)
- (get_local $16)
+ (get_local $18)
)
)
(set_local $8
(i32.const 0)
)
- (set_local $10
+ (set_local $9
(i32.const 4091)
)
- (set_local $9
+ (set_local $5
(select
(i32.add
- (get_local $9)
+ (get_local $5)
(get_local $7)
)
(get_local $13)
- (get_local $16)
+ (get_local $18)
)
)
(br $jumpthreading$outer$7)
)
- (set_local $9
+ (set_local $5
(i32.const 0)
)
(set_local $6
@@ -6823,14 +6802,14 @@
)
(set_local $7
(i32.load
- (get_local $18)
+ (get_local $19)
)
)
(loop $while-in125
(block $while-out124
(br_if $while-out124
(i32.eqz
- (tee_local $10
+ (tee_local $9
(i32.load
(get_local $7)
)
@@ -6843,7 +6822,7 @@
(tee_local $6
(call $_wctomb
(get_local $40)
- (get_local $10)
+ (get_local $9)
)
)
(i32.const 0)
@@ -6852,7 +6831,7 @@
(get_local $6)
(i32.sub
(get_local $8)
- (get_local $9)
+ (get_local $5)
)
)
)
@@ -6866,10 +6845,10 @@
(br_if $while-in125
(i32.gt_u
(get_local $8)
- (tee_local $9
+ (tee_local $5
(i32.add
(get_local $6)
- (get_local $9)
+ (get_local $5)
)
)
)
@@ -6882,7 +6861,7 @@
(i32.const 0)
)
(block
- (set_local $17
+ (set_local $16
(i32.const -1)
)
(br $label$break$L1)
@@ -6892,18 +6871,18 @@
(get_local $0)
(i32.const 32)
(get_local $14)
- (get_local $9)
- (get_local $12)
+ (get_local $5)
+ (get_local $11)
)
(if
- (get_local $9)
+ (get_local $5)
(block
(set_local $7
(i32.const 0)
)
(set_local $6
(i32.load
- (get_local $18)
+ (get_local $19)
)
)
(loop $while-in127
@@ -6917,7 +6896,7 @@
)
(block
(set_local $6
- (get_local $9)
+ (get_local $5)
)
(br $jumpthreading$inner$6)
)
@@ -6935,11 +6914,11 @@
(get_local $7)
)
)
- (get_local $9)
+ (get_local $5)
)
(block
(set_local $6
- (get_local $9)
+ (get_local $5)
)
(br $jumpthreading$inner$6)
)
@@ -6970,15 +6949,13 @@
(br_if $while-in127
(i32.lt_u
(get_local $7)
- (get_local $9)
+ (get_local $5)
)
)
- (block
- (set_local $6
- (get_local $9)
- )
- (br $jumpthreading$inner$6)
+ (set_local $6
+ (get_local $5)
)
+ (br $jumpthreading$inner$6)
)
)
(block
@@ -6999,14 +6976,14 @@
(get_local $14)
(get_local $6)
(i32.xor
- (get_local $12)
+ (get_local $11)
(i32.const 8192)
)
)
- (set_local $9
- (get_local $5)
- )
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(select
(get_local $14)
(get_local $6)
@@ -7021,39 +6998,36 @@
(set_local $27
(i32.const 0)
)
- (set_local $12
+ (set_local $11
(select
(i32.and
- (get_local $9)
+ (get_local $6)
(i32.const -65537)
)
- (get_local $9)
+ (get_local $6)
(i32.gt_s
(get_local $7)
(i32.const -1)
)
)
)
- (set_local $6
+ (set_local $5
(if i32
(i32.or
- (i32.ne
- (get_local $7)
- (i32.const 0)
- )
- (tee_local $9
+ (get_local $7)
+ (tee_local $12
(i32.or
(i32.ne
(i32.load
- (tee_local $9
- (get_local $18)
+ (tee_local $6
+ (get_local $19)
)
)
(i32.const 0)
)
(i32.ne
(i32.load offset=4
- (get_local $9)
+ (get_local $6)
)
(i32.const 0)
)
@@ -7061,43 +7035,43 @@
)
)
(block i32
- (set_local $11
+ (set_local $6
+ (get_local $5)
+ )
+ (set_local $12
(select
(get_local $7)
- (tee_local $9
+ (tee_local $5
(i32.add
(i32.xor
(i32.and
- (get_local $9)
+ (get_local $12)
(i32.const 1)
)
(i32.const 1)
)
(i32.sub
(get_local $44)
- (get_local $6)
+ (get_local $5)
)
)
)
(i32.gt_s
(get_local $7)
- (get_local $9)
+ (get_local $5)
)
)
)
- (set_local $9
- (get_local $23)
- )
- (get_local $6)
+ (get_local $22)
)
(block i32
- (set_local $11
- (i32.const 0)
+ (set_local $6
+ (get_local $22)
)
- (set_local $9
- (get_local $23)
+ (set_local $12
+ (i32.const 0)
)
- (get_local $23)
+ (get_local $22)
)
)
)
@@ -7107,20 +7081,20 @@
(i32.const 32)
(tee_local $7
(select
- (tee_local $9
+ (tee_local $5
(i32.add
(get_local $8)
- (tee_local $11
+ (tee_local $12
(select
(tee_local $13
(i32.sub
- (get_local $9)
+ (get_local $5)
(get_local $6)
)
)
- (get_local $11)
+ (get_local $12)
(i32.lt_s
- (get_local $11)
+ (get_local $12)
(get_local $13)
)
)
@@ -7130,12 +7104,12 @@
(get_local $14)
(i32.lt_s
(get_local $14)
- (get_local $9)
+ (get_local $5)
)
)
)
- (get_local $9)
- (get_local $12)
+ (get_local $5)
+ (get_local $11)
)
(if
(i32.eqz
@@ -7148,7 +7122,7 @@
)
(drop
(call $___fwritex
- (get_local $10)
+ (get_local $9)
(get_local $8)
(get_local $0)
)
@@ -7158,16 +7132,16 @@
(get_local $0)
(i32.const 48)
(get_local $7)
- (get_local $9)
+ (get_local $5)
(i32.xor
- (get_local $12)
+ (get_local $11)
(i32.const 65536)
)
)
(call $_pad
(get_local $0)
(i32.const 48)
- (get_local $11)
+ (get_local $12)
(get_local $13)
(i32.const 0)
)
@@ -7192,16 +7166,16 @@
(get_local $0)
(i32.const 32)
(get_local $7)
- (get_local $9)
+ (get_local $5)
(i32.xor
- (get_local $12)
+ (get_local $11)
(i32.const 8192)
)
)
- (set_local $9
- (get_local $5)
- )
(set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(get_local $7)
)
(br $label$continue$L1)
@@ -7233,7 +7207,6 @@
)
)
(block
- (nop)
(call $_pop_arg_336
(i32.add
(get_local $3)
@@ -7256,12 +7229,10 @@
(i32.const 10)
)
)
- (block
- (set_local $17
- (i32.const 1)
- )
- (br $label$break$L343)
+ (set_local $16
+ (i32.const 1)
)
+ (br $label$break$L343)
)
)
)
@@ -7282,7 +7253,7 @@
)
)
(block
- (set_local $17
+ (set_local $16
(i32.const -1)
)
(br $label$break$L343)
@@ -7299,16 +7270,16 @@
(i32.const 10)
)
)
- (set_local $17
+ (set_local $16
(i32.const 1)
)
)
- (set_local $17
+ (set_local $16
(i32.const 1)
)
)
)
- (set_local $17
+ (set_local $16
(i32.const 0)
)
)
@@ -7317,7 +7288,7 @@
(set_global $STACKTOP
(get_local $26)
)
- (get_local $17)
+ (get_local $16)
)
(func $_pop_arg_336 (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
@@ -7722,26 +7693,32 @@
(func $_fmt_u (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
- (set_local $1
- (if i32
- (i32.or
- (i32.gt_u
+ (if
+ (i32.or
+ (i32.gt_u
+ (get_local $1)
+ (i32.const 0)
+ )
+ (i32.and
+ (i32.eqz
(get_local $1)
- (i32.const 0)
)
- (i32.and
- (i32.eqz
- (get_local $1)
- )
- (i32.gt_u
- (get_local $0)
+ (i32.gt_u
+ (get_local $0)
+ (i32.const -1)
+ )
+ )
+ )
+ (loop $while-in
+ (i32.store8
+ (tee_local $2
+ (i32.add
+ (get_local $2)
(i32.const -1)
)
)
- )
- (block i32
- (loop $while-in
- (set_local $3
+ (i32.or
+ (tee_local $3
(call $___uremdi3
(get_local $0)
(get_local $1)
@@ -7749,72 +7726,59 @@
(i32.const 0)
)
)
- (i32.store8
- (tee_local $2
- (i32.add
- (get_local $2)
- (i32.const -1)
- )
- )
- (i32.or
- (get_local $3)
- (i32.const 48)
- )
+ (i32.const 48)
+ )
+ )
+ (set_local $3
+ (call $___udivdi3
+ (get_local $0)
+ (get_local $1)
+ (i32.const 10)
+ (i32.const 0)
+ )
+ )
+ (set_local $4
+ (get_global $tempRet0)
+ )
+ (if
+ (i32.or
+ (i32.gt_u
+ (get_local $1)
+ (i32.const 9)
)
- (set_local $3
- (call $___udivdi3
- (get_local $0)
+ (i32.and
+ (i32.eq
(get_local $1)
- (i32.const 10)
- (i32.const 0)
+ (i32.const 9)
+ )
+ (i32.gt_u
+ (get_local $0)
+ (i32.const -1)
)
)
- (set_local $4
- (get_global $tempRet0)
+ )
+ (block
+ (set_local $0
+ (get_local $3)
)
- (if
- (i32.or
- (i32.gt_u
- (get_local $1)
- (i32.const 9)
- )
- (i32.and
- (i32.eq
- (get_local $1)
- (i32.const 9)
- )
- (i32.gt_u
- (get_local $0)
- (i32.const -1)
- )
- )
- )
- (block
- (set_local $0
- (get_local $3)
- )
- (set_local $1
- (get_local $4)
- )
- (br $while-in)
- )
- (set_local $0
- (get_local $3)
- )
+ (set_local $1
+ (get_local $4)
)
+ (br $while-in)
+ )
+ (set_local $0
+ (get_local $3)
)
- (get_local $2)
)
- (get_local $2)
)
)
(if
(get_local $0)
(loop $while-in1
(i32.store8
- (tee_local $1
+ (tee_local $2
(i32.add
- (get_local $1)
+ (get_local $2)
(i32.const -1)
)
)
@@ -7826,7 +7790,7 @@
(i32.const 48)
)
)
- (set_local $2
+ (set_local $1
(i32.div_u
(get_local $0)
(i32.const 10)
@@ -7839,14 +7803,14 @@
)
(block
(set_local $0
- (get_local $2)
+ (get_local $1)
)
(br $while-in1)
)
)
)
)
- (get_local $1)
+ (get_local $2)
)
(func $_pad (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 i32)
@@ -7924,27 +7888,27 @@
)
(block
(loop $while-in
+ (if
+ (get_local $4)
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $6)
+ (i32.const 256)
+ (get_local $0)
+ )
+ )
+ (set_local $1
+ (i32.load
+ (get_local $0)
+ )
+ )
+ )
+ )
(set_local $4
(i32.eqz
(i32.and
- (if i32
- (get_local $4)
- (block i32
- (drop
- (call $___fwritex
- (get_local $6)
- (i32.const 256)
- (get_local $0)
- )
- )
- (tee_local $1
- (i32.load
- (get_local $0)
- )
- )
- )
- (get_local $1)
- )
+ (get_local $1)
(i32.const 32)
)
)
@@ -8032,7 +7996,7 @@
(i32.and
(tee_local $1
(i32.shr_u
- (tee_local $10
+ (tee_local $8
(i32.load
(i32.const 176)
)
@@ -8067,7 +8031,7 @@
(i32.load
(tee_local $1
(i32.add
- (tee_local $9
+ (tee_local $7
(i32.load
(tee_local $2
(i32.add
@@ -8112,7 +8076,7 @@
(i32.store
(i32.const 176)
(i32.and
- (get_local $10)
+ (get_local $8)
(i32.xor
(i32.shl
(i32.const 1)
@@ -8142,7 +8106,7 @@
)
)
)
- (get_local $9)
+ (get_local $7)
)
(block
(i32.store
@@ -8159,7 +8123,7 @@
)
)
(i32.store offset=4
- (get_local $9)
+ (get_local $7)
(i32.or
(tee_local $0
(i32.shl
@@ -8174,7 +8138,7 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $9)
+ (get_local $7)
(get_local $0)
)
(i32.const 4)
@@ -8244,7 +8208,7 @@
(i32.const 16)
)
)
- (set_local $12
+ (set_local $11
(i32.load
(tee_local $4
(i32.add
@@ -8349,13 +8313,13 @@
(if
(i32.eq
(get_local $2)
- (get_local $12)
+ (get_local $11)
)
(block
(i32.store
(i32.const 176)
(i32.and
- (get_local $10)
+ (get_local $8)
(i32.xor
(i32.shl
(i32.const 1)
@@ -8372,7 +8336,7 @@
(block
(if
(i32.lt_u
- (get_local $12)
+ (get_local $11)
(i32.load
(i32.const 192)
)
@@ -8384,7 +8348,7 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $12)
+ (get_local $11)
(i32.const 12)
)
)
@@ -8398,7 +8362,7 @@
)
(i32.store
(get_local $1)
- (get_local $12)
+ (get_local $11)
)
(set_local $16
(i32.load
@@ -8504,7 +8468,7 @@
(set_local $15
(get_local $1)
)
- (set_local $9
+ (set_local $7
(get_local $0)
)
)
@@ -8523,7 +8487,7 @@
(i32.const 8)
)
)
- (set_local $9
+ (set_local $7
(get_local $2)
)
)
@@ -8533,12 +8497,12 @@
(get_local $6)
)
(i32.store offset=12
- (get_local $9)
+ (get_local $7)
(get_local $6)
)
(i32.store offset=8
(get_local $6)
- (get_local $9)
+ (get_local $7)
)
(i32.store offset=12
(get_local $6)
@@ -8586,7 +8550,7 @@
(i32.const 16)
)
)
- (set_local $9
+ (set_local $7
(i32.sub
(i32.and
(i32.load offset=4
@@ -8699,17 +8663,17 @@
)
)
(block
- (set_local $12
- (get_local $9)
- )
(set_local $11
+ (get_local $7)
+ )
+ (set_local $10
(get_local $2)
)
(br $while-out)
)
)
)
- (set_local $12
+ (set_local $11
(i32.lt_u
(tee_local $1
(i32.sub
@@ -8722,14 +8686,14 @@
(get_local $3)
)
)
- (get_local $9)
+ (get_local $7)
)
)
- (set_local $9
+ (set_local $7
(select
(get_local $1)
- (get_local $9)
- (get_local $12)
+ (get_local $7)
+ (get_local $11)
)
)
(set_local $1
@@ -8739,7 +8703,7 @@
(select
(get_local $0)
(get_local $2)
- (get_local $12)
+ (get_local $11)
)
)
(br $while-in)
@@ -8747,8 +8711,8 @@
)
(if
(i32.lt_u
- (get_local $11)
- (tee_local $10
+ (get_local $10)
+ (tee_local $8
(i32.load
(i32.const 192)
)
@@ -8758,19 +8722,19 @@
)
(if
(i32.ge_u
- (get_local $11)
- (tee_local $14
+ (get_local $10)
+ (tee_local $13
(i32.add
- (get_local $11)
+ (get_local $10)
(get_local $3)
)
)
)
(call $_abort)
)
- (set_local $7
+ (set_local $9
(i32.load offset=24
- (get_local $11)
+ (get_local $10)
)
)
(block $do-once4
@@ -8778,10 +8742,10 @@
(i32.eq
(tee_local $0
(i32.load offset=12
- (get_local $11)
+ (get_local $10)
)
)
- (get_local $11)
+ (get_local $10)
)
(block
(if
@@ -8790,7 +8754,7 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $11)
+ (get_local $10)
(i32.const 20)
)
)
@@ -8803,7 +8767,7 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $11)
+ (get_local $10)
(i32.const 16)
)
)
@@ -8822,7 +8786,7 @@
(if
(tee_local $2
(i32.load
- (tee_local $9
+ (tee_local $7
(i32.add
(get_local $1)
(i32.const 20)
@@ -8835,7 +8799,7 @@
(get_local $2)
)
(set_local $0
- (get_local $9)
+ (get_local $7)
)
(br $while-in7)
)
@@ -8843,7 +8807,7 @@
(if
(tee_local $2
(i32.load
- (tee_local $9
+ (tee_local $7
(i32.add
(get_local $1)
(i32.const 16)
@@ -8856,7 +8820,7 @@
(get_local $2)
)
(set_local $0
- (get_local $9)
+ (get_local $7)
)
(br $while-in7)
)
@@ -8865,7 +8829,7 @@
(if
(i32.lt_u
(get_local $0)
- (get_local $10)
+ (get_local $8)
)
(call $_abort)
(block
@@ -8882,12 +8846,12 @@
(block
(if
(i32.lt_u
- (tee_local $9
+ (tee_local $7
(i32.load offset=8
- (get_local $11)
+ (get_local $10)
)
)
- (get_local $10)
+ (get_local $8)
)
(call $_abort)
)
@@ -8896,12 +8860,12 @@
(i32.load
(tee_local $2
(i32.add
- (get_local $9)
+ (get_local $7)
(i32.const 12)
)
)
)
- (get_local $11)
+ (get_local $10)
)
(call $_abort)
)
@@ -8915,7 +8879,7 @@
)
)
)
- (get_local $11)
+ (get_local $10)
)
(block
(i32.store
@@ -8924,7 +8888,7 @@
)
(i32.store
(get_local $1)
- (get_local $9)
+ (get_local $7)
)
(set_local $5
(get_local $0)
@@ -8937,18 +8901,18 @@
)
(block $do-once8
(if
- (get_local $7)
+ (get_local $9)
(block
(if
(i32.eq
- (get_local $11)
+ (get_local $10)
(i32.load
(tee_local $0
(i32.add
(i32.shl
(tee_local $1
(i32.load offset=28
- (get_local $11)
+ (get_local $10)
)
)
(i32.const 2)
@@ -8990,7 +8954,7 @@
(block
(if
(i32.lt_u
- (get_local $7)
+ (get_local $9)
(i32.load
(i32.const 192)
)
@@ -9002,19 +8966,19 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $7)
+ (get_local $9)
(i32.const 16)
)
)
)
- (get_local $11)
+ (get_local $10)
)
(i32.store
(get_local $0)
(get_local $5)
)
(i32.store offset=20
- (get_local $7)
+ (get_local $9)
(get_local $5)
)
)
@@ -9038,12 +9002,12 @@
)
(i32.store offset=24
(get_local $5)
- (get_local $7)
+ (get_local $9)
)
(if
(tee_local $1
(i32.load offset=16
- (get_local $11)
+ (get_local $10)
)
)
(if
@@ -9067,7 +9031,7 @@
(if
(tee_local $0
(i32.load offset=20
- (get_local $11)
+ (get_local $10)
)
)
(if
@@ -9095,16 +9059,16 @@
)
(if
(i32.lt_u
- (get_local $12)
+ (get_local $11)
(i32.const 16)
)
(block
(i32.store offset=4
- (get_local $11)
+ (get_local $10)
(i32.or
(tee_local $0
(i32.add
- (get_local $12)
+ (get_local $11)
(get_local $3)
)
)
@@ -9115,7 +9079,7 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $11)
+ (get_local $10)
(get_local $0)
)
(i32.const 4)
@@ -9131,25 +9095,25 @@
)
(block
(i32.store offset=4
- (get_local $11)
+ (get_local $10)
(i32.or
(get_local $3)
(i32.const 3)
)
)
(i32.store offset=4
- (get_local $14)
+ (get_local $13)
(i32.or
- (get_local $12)
+ (get_local $11)
(i32.const 1)
)
)
(i32.store
(i32.add
- (get_local $14)
- (get_local $12)
+ (get_local $13)
+ (get_local $11)
)
- (get_local $12)
+ (get_local $11)
)
(if
(tee_local $0
@@ -9259,17 +9223,17 @@
)
(i32.store
(i32.const 184)
- (get_local $12)
+ (get_local $11)
)
(i32.store
(i32.const 196)
- (get_local $14)
+ (get_local $13)
)
)
)
(return
(i32.add
- (get_local $11)
+ (get_local $10)
(i32.const 8)
)
)
@@ -9311,115 +9275,116 @@
)
)
(block
- (set_local $9
- (i32.sub
- (i32.const 0)
- (get_local $5)
- )
- )
- (block $jumpthreading$outer$2
- (block $jumpthreading$inner$2
- (if
- (tee_local $0
- (i32.load offset=480
- (i32.shl
- (tee_local $17
- (if i32
- (tee_local $0
- (i32.shr_u
- (get_local $0)
- (i32.const 8)
- )
- )
- (if i32
- (i32.gt_u
- (get_local $5)
- (i32.const 16777215)
- )
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $5)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (tee_local $0
+ (set_local $17
+ (if i32
+ (tee_local $0
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
+ (if i32
+ (i32.gt_u
+ (get_local $5)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $5)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $4
+ (i32.shl
+ (get_local $0)
+ (tee_local $7
(i32.and
(i32.shr_u
(i32.add
- (tee_local $4
- (i32.shl
- (get_local $0)
- (tee_local $6
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
+ (get_local $0)
+ (i32.const 1048320)
)
(i32.const 16)
)
- (i32.const 4)
- )
- )
- (get_local $6)
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $4
- (i32.shl
- (get_local $4)
- (get_local $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 2)
)
)
)
+ (i32.const 520192)
)
- (i32.shr_u
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (get_local $7)
+ )
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $4
(i32.shl
(get_local $4)
(get_local $0)
)
- (i32.const 15)
)
+ (i32.const 245760)
)
+ (i32.const 16)
)
- (i32.const 7)
+ (i32.const 2)
)
)
- (i32.const 1)
)
+ )
+ (i32.shr_u
(i32.shl
+ (get_local $4)
(get_local $0)
- (i32.const 1)
)
+ (i32.const 15)
)
)
- (i32.const 0)
)
+ (i32.const 7)
)
+ )
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (set_local $7
+ (i32.sub
+ (i32.const 0)
+ (get_local $5)
+ )
+ )
+ (block $jumpthreading$outer$2
+ (block $jumpthreading$inner$2
+ (if
+ (tee_local $0
+ (i32.load offset=480
+ (i32.shl
+ (get_local $17)
(i32.const 2)
)
)
@@ -9466,7 +9431,7 @@
(get_local $5)
)
)
- (get_local $9)
+ (get_local $7)
)
(if
(i32.eq
@@ -9489,7 +9454,7 @@
(br $jumpthreading$outer$2)
)
(block
- (set_local $9
+ (set_local $7
(get_local $6)
)
(set_local $4
@@ -9552,18 +9517,16 @@
(br_if $jumpthreading$inner$2
(get_local $16)
)
- (block
- (set_local $16
- (get_local $0)
- )
- (set_local $18
- (get_local $6)
- )
- (set_local $0
- (get_local $15)
- )
- (br $while-in14)
+ (set_local $16
+ (get_local $0)
+ )
+ (set_local $18
+ (get_local $6)
+ )
+ (set_local $0
+ (get_local $15)
)
+ (br $while-in14)
)
)
(block
@@ -9579,101 +9542,85 @@
(br $jumpthreading$outer$2)
)
(if
- (if i32
- (i32.and
- (i32.eqz
- (get_local $0)
- )
- (i32.eqz
- (get_local $4)
- )
+ (i32.and
+ (i32.eqz
+ (get_local $0)
)
- (block i32
- (if
- (i32.eqz
- (tee_local $0
- (i32.and
- (get_local $24)
- (i32.or
- (tee_local $0
- (i32.shl
- (i32.const 2)
- (get_local $17)
- )
- )
- (i32.sub
- (i32.const 0)
- (get_local $0)
+ (i32.eqz
+ (get_local $4)
+ )
+ )
+ (block
+ (if
+ (i32.eqz
+ (tee_local $0
+ (i32.and
+ (get_local $24)
+ (i32.or
+ (tee_local $0
+ (i32.shl
+ (i32.const 2)
+ (get_local $17)
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $0)
+ )
)
)
)
- (block
- (set_local $0
- (get_local $5)
- )
- (br $do-once)
+ )
+ (block
+ (set_local $0
+ (get_local $5)
)
+ (br $do-once)
)
- (set_local $15
- (i32.and
- (i32.shr_u
- (tee_local $0
- (i32.add
- (i32.and
+ )
+ (set_local $15
+ (i32.and
+ (i32.shr_u
+ (tee_local $0
+ (i32.add
+ (i32.and
+ (get_local $0)
+ (i32.sub
+ (i32.const 0)
(get_local $0)
- (i32.sub
- (i32.const 0)
- (get_local $0)
- )
)
- (i32.const -1)
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (tee_local $0
- (i32.load offset=480
- (i32.shl
- (i32.add
+ )
+ (set_local $0
+ (i32.load offset=480
+ (i32.shl
+ (i32.add
+ (i32.or
(i32.or
(i32.or
(i32.or
- (i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (tee_local $6
- (i32.shr_u
- (get_local $0)
- (get_local $15)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $15)
- )
(tee_local $0
(i32.and
(i32.shr_u
(tee_local $6
(i32.shr_u
- (get_local $6)
(get_local $0)
+ (get_local $15)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $15)
)
(tee_local $0
(i32.and
@@ -9684,9 +9631,9 @@
(get_local $0)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
@@ -9701,25 +9648,41 @@
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $6)
- (get_local $0)
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $6
+ (i32.shr_u
+ (get_local $6)
+ (get_local $0)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
)
)
- (i32.const 2)
+ (i32.shr_u
+ (get_local $6)
+ (get_local $0)
+ )
)
+ (i32.const 2)
)
)
)
- (get_local $0)
)
+ )
+ (if
+ (get_local $0)
(block
(set_local $2
- (get_local $9)
+ (get_local $7)
)
(set_local $3
(get_local $0)
@@ -9732,10 +9695,10 @@
)
)
(block
- (set_local $8
- (get_local $9)
+ (set_local $14
+ (get_local $7)
)
- (set_local $13
+ (set_local $12
(get_local $4)
)
)
@@ -9797,21 +9760,19 @@
)
)
)
- (block
- (set_local $8
- (get_local $2)
- )
- (set_local $13
- (get_local $1)
- )
+ (set_local $14
+ (get_local $2)
+ )
+ (set_local $12
+ (get_local $1)
)
)
)
(if
- (get_local $13)
+ (get_local $12)
(if
(i32.lt_u
- (get_local $8)
+ (get_local $14)
(i32.sub
(i32.load
(i32.const 184)
@@ -9822,7 +9783,7 @@
(block
(if
(i32.lt_u
- (get_local $13)
+ (get_local $12)
(tee_local $4
(i32.load
(i32.const 192)
@@ -9833,19 +9794,19 @@
)
(if
(i32.ge_u
- (get_local $13)
+ (get_local $12)
(tee_local $6
(i32.add
- (get_local $13)
+ (get_local $12)
(get_local $5)
)
)
)
(call $_abort)
)
- (set_local $9
+ (set_local $7
(i32.load offset=24
- (get_local $13)
+ (get_local $12)
)
)
(block $do-once17
@@ -9853,10 +9814,10 @@
(i32.eq
(tee_local $0
(i32.load offset=12
- (get_local $13)
+ (get_local $12)
)
)
- (get_local $13)
+ (get_local $12)
)
(block
(if
@@ -9865,7 +9826,7 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $13)
+ (get_local $12)
(i32.const 20)
)
)
@@ -9878,7 +9839,7 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $13)
+ (get_local $12)
(i32.const 16)
)
)
@@ -9886,7 +9847,7 @@
)
)
(block
- (set_local $7
+ (set_local $9
(i32.const 0)
)
(br $do-once17)
@@ -9948,7 +9909,7 @@
(get_local $0)
(i32.const 0)
)
- (set_local $7
+ (set_local $9
(get_local $1)
)
)
@@ -9959,7 +9920,7 @@
(i32.lt_u
(tee_local $3
(i32.load offset=8
- (get_local $13)
+ (get_local $12)
)
)
(get_local $4)
@@ -9976,7 +9937,7 @@
)
)
)
- (get_local $13)
+ (get_local $12)
)
(call $_abort)
)
@@ -9990,7 +9951,7 @@
)
)
)
- (get_local $13)
+ (get_local $12)
)
(block
(i32.store
@@ -10001,7 +9962,7 @@
(get_local $1)
(get_local $3)
)
- (set_local $7
+ (set_local $9
(get_local $0)
)
)
@@ -10012,18 +9973,18 @@
)
(block $do-once21
(if
- (get_local $9)
+ (get_local $7)
(block
(if
(i32.eq
- (get_local $13)
+ (get_local $12)
(i32.load
(tee_local $0
(i32.add
(i32.shl
(tee_local $1
(i32.load offset=28
- (get_local $13)
+ (get_local $12)
)
)
(i32.const 2)
@@ -10036,11 +9997,11 @@
(block
(i32.store
(get_local $0)
- (get_local $7)
+ (get_local $9)
)
(if
(i32.eqz
- (get_local $7)
+ (get_local $9)
)
(block
(i32.store
@@ -10065,7 +10026,7 @@
(block
(if
(i32.lt_u
- (get_local $9)
+ (get_local $7)
(i32.load
(i32.const 192)
)
@@ -10077,32 +10038,32 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $9)
+ (get_local $7)
(i32.const 16)
)
)
)
- (get_local $13)
+ (get_local $12)
)
(i32.store
(get_local $0)
- (get_local $7)
+ (get_local $9)
)
(i32.store offset=20
- (get_local $9)
(get_local $7)
+ (get_local $9)
)
)
(br_if $do-once21
(i32.eqz
- (get_local $7)
+ (get_local $9)
)
)
)
)
(if
(i32.lt_u
- (get_local $7)
+ (get_local $9)
(tee_local $0
(i32.load
(i32.const 192)
@@ -10112,13 +10073,13 @@
(call $_abort)
)
(i32.store offset=24
- (get_local $7)
(get_local $9)
+ (get_local $7)
)
(if
(tee_local $1
(i32.load offset=16
- (get_local $13)
+ (get_local $12)
)
)
(if
@@ -10129,12 +10090,12 @@
(call $_abort)
(block
(i32.store offset=16
- (get_local $7)
+ (get_local $9)
(get_local $1)
)
(i32.store offset=24
(get_local $1)
- (get_local $7)
+ (get_local $9)
)
)
)
@@ -10142,7 +10103,7 @@
(if
(tee_local $0
(i32.load offset=20
- (get_local $13)
+ (get_local $12)
)
)
(if
@@ -10155,12 +10116,12 @@
(call $_abort)
(block
(i32.store offset=20
- (get_local $7)
+ (get_local $9)
(get_local $0)
)
(i32.store offset=24
(get_local $0)
- (get_local $7)
+ (get_local $9)
)
)
)
@@ -10171,16 +10132,16 @@
(block $do-once25
(if
(i32.lt_u
- (get_local $8)
+ (get_local $14)
(i32.const 16)
)
(block
(i32.store offset=4
- (get_local $13)
+ (get_local $12)
(i32.or
(tee_local $0
(i32.add
- (get_local $8)
+ (get_local $14)
(get_local $5)
)
)
@@ -10191,7 +10152,7 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $13)
+ (get_local $12)
(get_local $0)
)
(i32.const 4)
@@ -10207,7 +10168,7 @@
)
(block
(i32.store offset=4
- (get_local $13)
+ (get_local $12)
(i32.or
(get_local $5)
(i32.const 3)
@@ -10216,26 +10177,26 @@
(i32.store offset=4
(get_local $6)
(i32.or
- (get_local $8)
+ (get_local $14)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $6)
- (get_local $8)
+ (get_local $14)
)
- (get_local $8)
+ (get_local $14)
)
(set_local $0
(i32.shr_u
- (get_local $8)
+ (get_local $14)
(i32.const 3)
)
)
(if
(i32.lt_u
- (get_local $8)
+ (get_local $14)
(i32.const 256)
)
(block
@@ -10286,7 +10247,7 @@
(set_local $20
(get_local $1)
)
- (set_local $10
+ (set_local $8
(get_local $0)
)
)
@@ -10305,7 +10266,7 @@
(i32.const 8)
)
)
- (set_local $10
+ (set_local $8
(get_local $2)
)
)
@@ -10315,12 +10276,12 @@
(get_local $6)
)
(i32.store offset=12
- (get_local $10)
+ (get_local $8)
(get_local $6)
)
(i32.store offset=8
(get_local $6)
- (get_local $10)
+ (get_local $8)
)
(i32.store offset=12
(get_local $6)
@@ -10336,20 +10297,20 @@
(if i32
(tee_local $0
(i32.shr_u
- (get_local $8)
+ (get_local $14)
(i32.const 8)
)
)
(if i32
(i32.gt_u
- (get_local $8)
+ (get_local $14)
(i32.const 16777215)
)
(i32.const 31)
(i32.or
(i32.and
(i32.shr_u
- (get_local $8)
+ (get_local $14)
(i32.add
(tee_local $0
(i32.add
@@ -10496,7 +10457,7 @@
)
(set_local $3
(i32.shl
- (get_local $8)
+ (get_local $14)
(select
(i32.const 0)
(i32.sub
@@ -10530,7 +10491,7 @@
)
(i32.const -8)
)
- (get_local $8)
+ (get_local $14)
)
)
(set_local $2
@@ -10562,15 +10523,13 @@
)
)
)
- (block
- (set_local $3
- (get_local $2)
- )
- (set_local $0
- (get_local $1)
- )
- (br $while-in28)
+ (set_local $3
+ (get_local $2)
)
+ (set_local $0
+ (get_local $1)
+ )
+ (br $while-in28)
)
)
(if
@@ -10657,7 +10616,7 @@
)
(return
(i32.add
- (get_local $13)
+ (get_local $12)
(i32.const 8)
)
)
@@ -10898,16 +10857,16 @@
)
(if
(i32.le_u
- (tee_local $9
+ (tee_local $7
(i32.and
- (tee_local $10
+ (tee_local $8
(i32.add
(tee_local $1
(i32.load
(i32.const 656)
)
)
- (tee_local $7
+ (tee_local $9
(i32.add
(get_local $0)
(i32.const 47)
@@ -10915,7 +10874,7 @@
)
)
)
- (tee_local $5
+ (tee_local $6
(i32.sub
(i32.const 0)
(get_local $1)
@@ -10945,7 +10904,7 @@
(i32.const 608)
)
)
- (get_local $9)
+ (get_local $7)
)
)
(get_local $2)
@@ -10960,7 +10919,7 @@
)
)
)
- (set_local $6
+ (set_local $5
(i32.add
(get_local $0)
(i32.const 48)
@@ -11039,24 +10998,24 @@
)
(if
(i32.lt_u
- (tee_local $1
+ (tee_local $2
(i32.and
(i32.sub
- (get_local $10)
+ (get_local $8)
(i32.load
(i32.const 188)
)
)
- (get_local $5)
+ (get_local $6)
)
)
(i32.const 2147483647)
)
(if
(i32.eq
- (tee_local $2
+ (tee_local $1
(call $_sbrk
- (get_local $1)
+ (get_local $2)
)
)
(i32.add
@@ -11070,18 +11029,26 @@
)
(br_if $jumpthreading$inner$12
(i32.ne
- (get_local $2)
+ (get_local $1)
(i32.const -1)
)
)
- (br $jumpthreading$inner$4)
+ (block
+ (set_local $3
+ (get_local $1)
+ )
+ (set_local $1
+ (get_local $2)
+ )
+ (br $jumpthreading$inner$4)
+ )
)
)
(br $label$break$L279)
)
(if
(i32.ne
- (tee_local $2
+ (tee_local $1
(call $_sbrk
(i32.const 0)
)
@@ -11089,59 +11056,60 @@
(i32.const -1)
)
(block
- (set_local $4
- (i32.add
- (tee_local $5
- (i32.load
- (i32.const 608)
- )
- )
- (tee_local $1
- (if i32
- (i32.and
- (tee_local $3
- (i32.add
- (tee_local $4
- (i32.load
- (i32.const 652)
- )
- )
- (i32.const -1)
+ (set_local $2
+ (if i32
+ (i32.and
+ (tee_local $3
+ (i32.add
+ (tee_local $4
+ (i32.load
+ (i32.const 652)
)
)
- (tee_local $1
- (get_local $2)
- )
+ (i32.const -1)
)
+ )
+ (tee_local $2
+ (get_local $1)
+ )
+ )
+ (i32.add
+ (i32.sub
+ (get_local $7)
+ (get_local $2)
+ )
+ (i32.and
(i32.add
- (i32.sub
- (get_local $9)
- (get_local $1)
- )
- (i32.and
- (i32.add
- (get_local $3)
- (get_local $1)
- )
- (i32.sub
- (i32.const 0)
- (get_local $4)
- )
- )
+ (get_local $3)
+ (get_local $2)
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $4)
)
- (get_local $9)
)
)
+ (get_local $7)
+ )
+ )
+ (set_local $6
+ (i32.add
+ (tee_local $4
+ (i32.load
+ (i32.const 608)
+ )
+ )
+ (get_local $2)
)
)
(if
(i32.and
(i32.gt_u
- (get_local $1)
+ (get_local $2)
(get_local $0)
)
(i32.lt_u
- (get_local $1)
+ (get_local $2)
(i32.const 2147483647)
)
)
@@ -11155,11 +11123,11 @@
(br_if $label$break$L279
(i32.or
(i32.le_u
+ (get_local $6)
(get_local $4)
- (get_local $5)
)
(i32.gt_u
- (get_local $4)
+ (get_local $6)
(get_local $3)
)
)
@@ -11169,18 +11137,16 @@
(i32.eq
(tee_local $3
(call $_sbrk
- (get_local $1)
+ (get_local $2)
)
)
- (get_local $2)
+ (get_local $1)
)
)
- (block
- (set_local $2
- (get_local $3)
- )
- (br $jumpthreading$inner$4)
+ (set_local $1
+ (get_local $2)
)
+ (br $jumpthreading$inner$4)
)
)
)
@@ -11196,7 +11162,7 @@
(if
(i32.and
(i32.gt_u
- (get_local $6)
+ (get_local $5)
(get_local $1)
)
(i32.and
@@ -11205,21 +11171,21 @@
(i32.const 2147483647)
)
(i32.ne
- (get_local $2)
+ (get_local $3)
(i32.const -1)
)
)
)
(if
(i32.lt_u
- (tee_local $3
+ (tee_local $2
(i32.and
(i32.add
(i32.sub
- (get_local $7)
+ (get_local $9)
(get_local $1)
)
- (tee_local $3
+ (tee_local $2
(i32.load
(i32.const 656)
)
@@ -11227,7 +11193,7 @@
)
(i32.sub
(i32.const 0)
- (get_local $3)
+ (get_local $2)
)
)
)
@@ -11236,7 +11202,7 @@
(if
(i32.eq
(call $_sbrk
- (get_local $3)
+ (get_local $2)
)
(i32.const -1)
)
@@ -11248,20 +11214,32 @@
)
(br $label$break$L279)
)
- (set_local $1
+ (set_local $2
(i32.add
- (get_local $3)
+ (get_local $2)
(get_local $1)
)
)
)
+ (set_local $2
+ (get_local $1)
+ )
+ )
+ (set_local $2
+ (get_local $1)
)
)
- (br_if $jumpthreading$inner$12
+ (if
(i32.ne
- (get_local $2)
+ (get_local $3)
(i32.const -1)
)
+ (block
+ (set_local $1
+ (get_local $3)
+ )
+ (br $jumpthreading$inner$12)
+ )
)
)
(i32.store
@@ -11277,18 +11255,18 @@
)
(if
(i32.lt_u
- (get_local $9)
+ (get_local $7)
(i32.const 2147483647)
)
(if
(i32.and
(i32.lt_u
- (tee_local $2
+ (tee_local $1
(call $_sbrk
- (get_local $9)
+ (get_local $7)
)
)
- (tee_local $1
+ (tee_local $2
(call $_sbrk
(i32.const 0)
)
@@ -11296,21 +11274,21 @@
)
(i32.and
(i32.ne
- (get_local $2)
+ (get_local $1)
(i32.const -1)
)
(i32.ne
- (get_local $1)
+ (get_local $2)
(i32.const -1)
)
)
)
(br_if $jumpthreading$inner$12
(i32.gt_u
- (tee_local $1
+ (tee_local $2
(i32.sub
- (get_local $1)
(get_local $2)
+ (get_local $1)
)
)
(i32.add
@@ -11330,7 +11308,7 @@
(i32.load
(i32.const 608)
)
- (get_local $1)
+ (get_local $2)
)
)
)
@@ -11362,14 +11340,14 @@
(loop $while-in45
(br_if $jumpthreading$inner$9
(i32.eq
- (get_local $2)
+ (get_local $1)
(i32.add
(tee_local $5
(i32.load
(get_local $3)
)
)
- (tee_local $9
+ (tee_local $7
(i32.load
(tee_local $4
(i32.add
@@ -11405,7 +11383,7 @@
(i32.and
(i32.lt_u
(get_local $8)
- (get_local $2)
+ (get_local $1)
)
(i32.ge_u
(get_local $8)
@@ -11416,19 +11394,19 @@
(i32.store
(get_local $4)
(i32.add
- (get_local $9)
- (get_local $1)
+ (get_local $7)
+ (get_local $2)
)
)
(set_local $3
(i32.add
(get_local $8)
- (tee_local $2
+ (tee_local $1
(select
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $2
+ (tee_local $1
(i32.add
(get_local $8)
(i32.const 8)
@@ -11439,7 +11417,7 @@
)
(i32.const 0)
(i32.and
- (get_local $2)
+ (get_local $1)
(i32.const 7)
)
)
@@ -11449,8 +11427,8 @@
(set_local $1
(i32.add
(i32.sub
- (get_local $1)
(get_local $2)
+ (get_local $1)
)
(i32.load
(i32.const 188)
@@ -11490,30 +11468,29 @@
)
)
)
- (set_local $9
- (if i32
- (i32.lt_u
- (get_local $2)
- (tee_local $3
- (i32.load
- (i32.const 192)
- )
- )
- )
- (block i32
- (i32.store
+ (if
+ (i32.lt_u
+ (get_local $1)
+ (tee_local $4
+ (i32.load
(i32.const 192)
- (get_local $2)
)
- (get_local $2)
)
- (get_local $3)
+ )
+ (block
+ (i32.store
+ (i32.const 192)
+ (get_local $1)
+ )
+ (set_local $4
+ (get_local $1)
+ )
)
)
(set_local $5
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $2)
)
)
(set_local $3
@@ -11530,7 +11507,7 @@
(get_local $5)
)
(block
- (set_local $4
+ (set_local $7
(get_local $3)
)
(br $jumpthreading$inner$10)
@@ -11561,8 +11538,8 @@
)
(block
(i32.store
- (get_local $4)
- (get_local $2)
+ (get_local $7)
+ (get_local $1)
)
(i32.store
(tee_local $3
@@ -11575,21 +11552,21 @@
(i32.load
(get_local $3)
)
- (get_local $1)
+ (get_local $2)
)
)
- (set_local $7
+ (set_local $9
(i32.add
- (tee_local $6
+ (tee_local $11
(i32.add
- (get_local $2)
+ (get_local $1)
(select
(i32.and
(i32.sub
(i32.const 0)
(tee_local $1
(i32.add
- (get_local $2)
+ (get_local $1)
(i32.const 8)
)
)
@@ -11607,10 +11584,10 @@
(get_local $0)
)
)
- (set_local $4
+ (set_local $7
(i32.sub
(i32.sub
- (tee_local $10
+ (tee_local $5
(i32.add
(get_local $5)
(select
@@ -11634,13 +11611,13 @@
)
)
)
- (get_local $6)
+ (get_local $11)
)
(get_local $0)
)
)
(i32.store offset=4
- (get_local $6)
+ (get_local $11)
(i32.or
(get_local $0)
(i32.const 3)
@@ -11649,7 +11626,7 @@
(block $do-once48
(if
(i32.eq
- (get_local $10)
+ (get_local $5)
(get_local $8)
)
(block
@@ -11660,16 +11637,16 @@
(i32.load
(i32.const 188)
)
- (get_local $4)
+ (get_local $7)
)
)
)
(i32.store
(i32.const 200)
- (get_local $7)
+ (get_local $9)
)
(i32.store offset=4
- (get_local $7)
+ (get_local $9)
(i32.or
(get_local $0)
(i32.const 1)
@@ -11679,7 +11656,7 @@
(block
(if
(i32.eq
- (get_local $10)
+ (get_local $5)
(i32.load
(i32.const 196)
)
@@ -11692,16 +11669,16 @@
(i32.load
(i32.const 184)
)
- (get_local $4)
+ (get_local $7)
)
)
)
(i32.store
(i32.const 196)
- (get_local $7)
+ (get_local $9)
)
(i32.store offset=4
- (get_local $7)
+ (get_local $9)
(i32.or
(get_local $0)
(i32.const 1)
@@ -11709,7 +11686,7 @@
)
(i32.store
(i32.add
- (get_local $7)
+ (get_local $9)
(get_local $0)
)
(get_local $0)
@@ -11720,505 +11697,507 @@
(i32.store
(tee_local $0
(i32.add
- (if i32
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.load offset=4
- (get_local $10)
- )
- )
- (i32.const 3)
- )
- (i32.const 1)
- )
- (block i32
- (set_local $5
+ (tee_local $0
+ (if i32
+ (i32.eq
(i32.and
- (get_local $0)
- (i32.const -8)
- )
- )
- (set_local $1
- (i32.shr_u
- (get_local $0)
+ (tee_local $0
+ (i32.load offset=4
+ (get_local $5)
+ )
+ )
(i32.const 3)
)
+ (i32.const 1)
)
- (block $label$break$L331
- (if
- (i32.lt_u
+ (block i32
+ (set_local $6
+ (i32.and
(get_local $0)
- (i32.const 256)
+ (i32.const -8)
)
- (block
- (set_local $3
- (i32.load offset=12
- (get_local $10)
- )
+ )
+ (set_local $1
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (block $label$break$L331
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (i32.const 256)
)
- (block $do-once51
- (if
- (i32.ne
- (tee_local $2
- (i32.load offset=8
- (get_local $10)
+ (block
+ (set_local $3
+ (i32.load offset=12
+ (get_local $5)
+ )
+ )
+ (block $do-once51
+ (if
+ (i32.ne
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $5)
+ )
)
- )
- (tee_local $0
- (i32.add
- (i32.shl
+ (tee_local $0
+ (i32.add
(i32.shl
- (get_local $1)
- (i32.const 1)
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 216)
)
- (i32.const 216)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $2)
- (get_local $9)
)
- (call $_abort)
)
- (br_if $do-once51
- (i32.eq
- (i32.load offset=12
+ (block
+ (if
+ (i32.lt_u
(get_local $2)
+ (get_local $4)
)
- (get_local $10)
+ (call $_abort)
)
- )
- (call $_abort)
- )
- )
- )
- (if
- (i32.eq
- (get_local $3)
- (get_local $2)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.and
- (i32.load
- (i32.const 176)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
+ (br_if $do-once51
+ (i32.eq
+ (i32.load offset=12
+ (get_local $2)
+ )
+ (get_local $5)
)
- (i32.const -1)
)
+ (call $_abort)
)
)
- (br $label$break$L331)
)
- )
- (block $do-once53
(if
(i32.eq
(get_local $3)
- (get_local $0)
+ (get_local $2)
)
- (set_local $21
- (i32.add
- (get_local $3)
- (i32.const 8)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (i32.load
+ (i32.const 176)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ (i32.const -1)
+ )
+ )
)
+ (br $label$break$L331)
)
- (block
- (if
- (i32.lt_u
+ )
+ (block $do-once53
+ (if
+ (i32.eq
+ (get_local $3)
+ (get_local $0)
+ )
+ (set_local $21
+ (i32.add
(get_local $3)
- (get_local $9)
+ (i32.const 8)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $3)
- (i32.const 8)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (get_local $4)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
)
+ (get_local $5)
)
- (get_local $10)
- )
- (block
- (set_local $21
- (get_local $0)
+ (block
+ (set_local $21
+ (get_local $0)
+ )
+ (br $do-once53)
)
- (br $do-once53)
)
+ (call $_abort)
)
- (call $_abort)
)
)
- )
- (i32.store offset=12
- (get_local $2)
- (get_local $3)
- )
- (i32.store
- (get_local $21)
- (get_local $2)
- )
- )
- (block
- (set_local $12
- (i32.load offset=24
- (get_local $10)
+ (i32.store offset=12
+ (get_local $2)
+ (get_local $3)
+ )
+ (i32.store
+ (get_local $21)
+ (get_local $2)
)
)
- (block $do-once55
- (if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
- (get_local $10)
+ (block
+ (set_local $8
+ (i32.load offset=24
+ (get_local $5)
+ )
+ )
+ (block $do-once55
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $5)
+ )
)
+ (get_local $5)
)
- (get_local $10)
- )
- (block
- (if
- (i32.eqz
- (tee_local $1
- (i32.load
- (tee_local $0
- (i32.add
- (tee_local $2
- (i32.add
- (get_local $10)
- (i32.const 16)
+ (block
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (tee_local $2
+ (i32.add
+ (get_local $5)
+ (i32.const 16)
+ )
)
+ (i32.const 4)
)
- (i32.const 4)
)
)
)
)
- )
- (if
- (tee_local $1
- (i32.load
+ (if
+ (tee_local $1
+ (i32.load
+ (get_local $2)
+ )
+ )
+ (set_local $0
(get_local $2)
)
+ (block
+ (set_local $13
+ (i32.const 0)
+ )
+ (br $do-once55)
+ )
)
- (set_local $0
- (get_local $2)
+ )
+ (loop $while-in58
+ (if
+ (tee_local $2
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $1
+ (get_local $2)
+ )
+ (set_local $0
+ (get_local $3)
+ )
+ (br $while-in58)
+ )
)
+ (if
+ (tee_local $2
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $1
+ (get_local $2)
+ )
+ (set_local $0
+ (get_local $3)
+ )
+ (br $while-in58)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (get_local $4)
+ )
+ (call $_abort)
(block
- (set_local $14
+ (i32.store
+ (get_local $0)
(i32.const 0)
)
- (br $do-once55)
+ (set_local $13
+ (get_local $1)
+ )
)
)
)
- (loop $while-in58
+ (block
(if
- (tee_local $2
+ (i32.lt_u
+ (tee_local $3
+ (i32.load offset=8
+ (get_local $5)
+ )
+ )
+ (get_local $4)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
(i32.load
- (tee_local $3
+ (tee_local $2
(i32.add
- (get_local $1)
- (i32.const 20)
+ (get_local $3)
+ (i32.const 12)
)
)
)
+ (get_local $5)
)
- (block
- (set_local $1
- (get_local $2)
- )
- (set_local $0
- (get_local $3)
- )
- (br $while-in58)
- )
+ (call $_abort)
)
(if
- (tee_local $2
+ (i32.eq
(i32.load
- (tee_local $3
+ (tee_local $1
(i32.add
- (get_local $1)
- (i32.const 16)
+ (get_local $0)
+ (i32.const 8)
)
)
)
+ (get_local $5)
)
(block
- (set_local $1
+ (i32.store
(get_local $2)
+ (get_local $0)
)
- (set_local $0
+ (i32.store
+ (get_local $1)
(get_local $3)
)
- (br $while-in58)
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $0)
- (get_local $9)
- )
- (call $_abort)
- (block
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (set_local $14
- (get_local $1)
+ (set_local $13
+ (get_local $0)
+ )
)
+ (call $_abort)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $3
- (i32.load offset=8
- (get_local $10)
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (get_local $8)
+ )
+ )
+ (block $do-once59
+ (if
+ (i32.eq
+ (get_local $5)
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $1
+ (i32.load offset=28
+ (get_local $5)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 480)
)
)
- (get_local $9)
)
- (call $_abort)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $3)
- (i32.const 12)
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $13)
+ )
+ (br_if $do-once59
+ (get_local $13)
+ )
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
)
+ (i32.const -1)
)
)
- (get_local $10)
)
- (call $_abort)
+ (br $label$break$L331)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $8)
+ (i32.load
+ (i32.const 192)
)
)
- (get_local $10)
+ (call $_abort)
)
- (block
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
+ )
+ )
+ )
+ (get_local $5)
+ )
(i32.store
- (get_local $2)
(get_local $0)
+ (get_local $13)
)
- (i32.store
- (get_local $1)
- (get_local $3)
+ (i32.store offset=20
+ (get_local $8)
+ (get_local $13)
)
- (set_local $14
- (get_local $0)
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (get_local $13)
)
)
- (call $_abort)
)
)
)
- )
- (br_if $label$break$L331
- (i32.eqz
- (get_local $12)
+ (if
+ (i32.lt_u
+ (get_local $13)
+ (tee_local $1
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (get_local $13)
+ (get_local $8)
)
- )
- (block $do-once59
(if
- (i32.eq
- (get_local $10)
+ (tee_local $2
(i32.load
(tee_local $0
(i32.add
- (i32.shl
- (tee_local $1
- (i32.load offset=28
- (get_local $10)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- )
- )
- (block
- (i32.store
- (get_local $0)
- (get_local $14)
- )
- (br_if $do-once59
- (get_local $14)
- )
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
- )
- (i32.const -1)
+ (get_local $5)
+ (i32.const 16)
)
)
)
- (br $label$break$L331)
)
- (block
- (if
- (i32.lt_u
- (get_local $12)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
+ (if
+ (i32.lt_u
+ (get_local $2)
+ (get_local $1)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $12)
- (i32.const 16)
- )
- )
- )
- (get_local $10)
- )
- (i32.store
- (get_local $0)
- (get_local $14)
- )
- (i32.store offset=20
- (get_local $12)
- (get_local $14)
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (get_local $13)
+ (get_local $2)
)
- )
- (br_if $label$break$L331
- (i32.eqz
- (get_local $14)
+ (i32.store offset=24
+ (get_local $2)
+ (get_local $13)
)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $14)
- (tee_local $1
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (i32.store offset=24
- (get_local $14)
- (get_local $12)
- )
- (if
- (tee_local $2
- (i32.load
+ (br_if $label$break$L331
+ (i32.eqz
(tee_local $0
- (i32.add
- (get_local $10)
- (i32.const 16)
+ (i32.load offset=4
+ (get_local $0)
)
)
)
)
(if
(i32.lt_u
- (get_local $2)
- (get_local $1)
+ (get_local $0)
+ (i32.load
+ (i32.const 192)
+ )
)
(call $_abort)
(block
- (i32.store offset=16
- (get_local $14)
- (get_local $2)
+ (i32.store offset=20
+ (get_local $13)
+ (get_local $0)
)
(i32.store offset=24
- (get_local $2)
- (get_local $14)
- )
- )
- )
- )
- (br_if $label$break$L331
- (i32.eqz
- (tee_local $0
- (i32.load offset=4
(get_local $0)
+ (get_local $13)
)
)
)
)
- (if
- (i32.lt_u
- (get_local $0)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (i32.store offset=20
- (get_local $14)
- (get_local $0)
- )
- (i32.store offset=24
- (get_local $0)
- (get_local $14)
- )
- )
- )
)
)
- )
- (set_local $4
+ (set_local $7
+ (i32.add
+ (get_local $6)
+ (get_local $7)
+ )
+ )
(i32.add
(get_local $5)
- (get_local $4)
+ (get_local $6)
)
)
- (i32.add
- (get_local $10)
- (get_local $5)
- )
+ (get_local $5)
)
- (get_local $10)
)
(i32.const 4)
)
@@ -12231,28 +12210,28 @@
)
)
(i32.store offset=4
- (get_local $7)
+ (get_local $9)
(i32.or
- (get_local $4)
+ (get_local $7)
(i32.const 1)
)
)
(i32.store
(i32.add
+ (get_local $9)
(get_local $7)
- (get_local $4)
)
- (get_local $4)
+ (get_local $7)
)
(set_local $0
(i32.shr_u
- (get_local $4)
+ (get_local $7)
(i32.const 3)
)
)
(if
(i32.lt_u
- (get_local $4)
+ (get_local $7)
(i32.const 256)
)
(block
@@ -12304,7 +12283,7 @@
(set_local $22
(get_local $1)
)
- (set_local $11
+ (set_local $10
(get_local $0)
)
(br $do-once63)
@@ -12326,7 +12305,7 @@
(i32.const 8)
)
)
- (set_local $11
+ (set_local $10
(get_local $2)
)
)
@@ -12334,18 +12313,18 @@
)
(i32.store
(get_local $22)
- (get_local $7)
+ (get_local $9)
)
(i32.store offset=12
- (get_local $11)
- (get_local $7)
+ (get_local $10)
+ (get_local $9)
)
(i32.store offset=8
- (get_local $7)
- (get_local $11)
+ (get_local $9)
+ (get_local $10)
)
(i32.store offset=12
- (get_local $7)
+ (get_local $9)
(get_local $2)
)
(br $do-once48)
@@ -12359,7 +12338,7 @@
(if i32
(tee_local $0
(i32.shr_u
- (get_local $4)
+ (get_local $7)
(i32.const 8)
)
)
@@ -12368,7 +12347,7 @@
(br_if $do-once65
(i32.const 31)
(i32.gt_u
- (get_local $4)
+ (get_local $7)
(i32.const 16777215)
)
)
@@ -12376,7 +12355,7 @@
(i32.or
(i32.and
(i32.shr_u
- (get_local $4)
+ (get_local $7)
(i32.add
(tee_local $0
(i32.add
@@ -12463,13 +12442,13 @@
)
)
(i32.store offset=28
- (get_local $7)
+ (get_local $9)
(get_local $3)
)
(i32.store offset=4
(tee_local $0
(i32.add
- (get_local $7)
+ (get_local $9)
(i32.const 16)
)
)
@@ -12505,26 +12484,26 @@
)
(i32.store
(get_local $2)
- (get_local $7)
+ (get_local $9)
)
(i32.store offset=24
- (get_local $7)
+ (get_local $9)
(get_local $2)
)
(i32.store offset=12
- (get_local $7)
- (get_local $7)
+ (get_local $9)
+ (get_local $9)
)
(i32.store offset=8
- (get_local $7)
- (get_local $7)
+ (get_local $9)
+ (get_local $9)
)
(br $do-once48)
)
)
(set_local $3
(i32.shl
- (get_local $4)
+ (get_local $7)
(select
(i32.const 0)
(i32.sub
@@ -12558,7 +12537,7 @@
)
(i32.const -8)
)
- (get_local $4)
+ (get_local $7)
)
)
(set_local $2
@@ -12590,15 +12569,13 @@
)
)
)
- (block
- (set_local $3
- (get_local $2)
- )
- (set_local $0
- (get_local $1)
- )
- (br $while-in68)
+ (set_local $3
+ (get_local $2)
+ )
+ (set_local $0
+ (get_local $1)
)
+ (br $while-in68)
)
)
(if
@@ -12612,19 +12589,19 @@
(block
(i32.store
(get_local $3)
- (get_local $7)
+ (get_local $9)
)
(i32.store offset=24
- (get_local $7)
+ (get_local $9)
(get_local $0)
)
(i32.store offset=12
- (get_local $7)
- (get_local $7)
+ (get_local $9)
+ (get_local $9)
)
(i32.store offset=8
- (get_local $7)
- (get_local $7)
+ (get_local $9)
+ (get_local $9)
)
(br $do-once48)
)
@@ -12658,22 +12635,22 @@
(block
(i32.store offset=12
(get_local $3)
- (get_local $7)
+ (get_local $9)
)
(i32.store
(get_local $2)
- (get_local $7)
+ (get_local $9)
)
(i32.store offset=8
- (get_local $7)
+ (get_local $9)
(get_local $3)
)
(i32.store offset=12
- (get_local $7)
+ (get_local $9)
(get_local $0)
)
(i32.store offset=24
- (get_local $7)
+ (get_local $9)
(i32.const 0)
)
)
@@ -12685,7 +12662,7 @@
)
(return
(i32.add
- (get_local $6)
+ (get_local $11)
(i32.const 8)
)
)
@@ -12725,7 +12702,7 @@
(br $while-in70)
)
)
- (set_local $9
+ (set_local $7
(i32.add
(tee_local $4
(i32.add
@@ -12738,7 +12715,7 @@
)
(set_local $6
(i32.add
- (tee_local $11
+ (tee_local $10
(select
(get_local $8)
(tee_local $4
@@ -12748,13 +12725,13 @@
(i32.and
(i32.sub
(i32.const 0)
- (get_local $9)
+ (get_local $7)
)
(i32.const 7)
)
(i32.const 0)
(i32.and
- (get_local $9)
+ (get_local $7)
(i32.const 7)
)
)
@@ -12762,7 +12739,7 @@
)
(i32.lt_u
(get_local $4)
- (tee_local $9
+ (tee_local $7
(i32.add
(get_local $8)
(i32.const 16)
@@ -12778,7 +12755,7 @@
(i32.const 200)
(tee_local $5
(i32.add
- (get_local $2)
+ (get_local $1)
(tee_local $4
(select
(i32.and
@@ -12786,7 +12763,7 @@
(i32.const 0)
(tee_local $4
(i32.add
- (get_local $2)
+ (get_local $1)
(i32.const 8)
)
)
@@ -12808,7 +12785,7 @@
(tee_local $4
(i32.sub
(i32.add
- (get_local $1)
+ (get_local $2)
(i32.const -40)
)
(get_local $4)
@@ -12838,7 +12815,7 @@
(i32.store
(tee_local $4
(i32.add
- (get_local $11)
+ (get_local $10)
(i32.const 4)
)
)
@@ -12870,11 +12847,11 @@
)
(i32.store
(i32.const 624)
- (get_local $2)
+ (get_local $1)
)
(i32.store
(i32.const 628)
- (get_local $1)
+ (get_local $2)
)
(i32.store
(i32.const 636)
@@ -12886,7 +12863,7 @@
)
(set_local $1
(i32.add
- (get_local $11)
+ (get_local $10)
(i32.const 24)
)
)
@@ -12912,7 +12889,7 @@
)
(if
(i32.ne
- (get_local $11)
+ (get_local $10)
(get_local $8)
)
(block
@@ -12930,7 +12907,7 @@
(i32.or
(tee_local $5
(i32.sub
- (get_local $11)
+ (get_local $10)
(get_local $8)
)
)
@@ -12938,7 +12915,7 @@
)
)
(i32.store
- (get_local $11)
+ (get_local $10)
(get_local $5)
)
(set_local $1
@@ -13000,7 +12977,7 @@
(set_local $23
(get_local $2)
)
- (set_local $12
+ (set_local $11
(get_local $1)
)
)
@@ -13019,7 +12996,7 @@
(i32.const 8)
)
)
- (set_local $12
+ (set_local $11
(get_local $3)
)
)
@@ -13029,12 +13006,12 @@
(get_local $8)
)
(i32.store offset=12
- (get_local $12)
+ (get_local $11)
(get_local $8)
)
(i32.store offset=8
(get_local $8)
- (get_local $12)
+ (get_local $11)
)
(i32.store offset=12
(get_local $8)
@@ -13157,7 +13134,7 @@
(i32.const 0)
)
(i32.store
- (get_local $9)
+ (get_local $7)
(i32.const 0)
)
(if
@@ -13271,15 +13248,13 @@
)
)
)
- (block
- (set_local $4
- (get_local $3)
- )
- (set_local $1
- (get_local $2)
- )
- (br $while-in74)
+ (set_local $4
+ (get_local $3)
+ )
+ (set_local $1
+ (get_local $2)
)
+ (br $while-in74)
)
)
(if
@@ -13375,22 +13350,22 @@
)
)
(i32.lt_u
- (get_local $2)
+ (get_local $1)
(get_local $3)
)
)
(i32.store
(i32.const 192)
- (get_local $2)
+ (get_local $1)
)
)
(i32.store
(i32.const 624)
- (get_local $2)
+ (get_local $1)
)
(i32.store
(i32.const 628)
- (get_local $1)
+ (get_local $2)
)
(i32.store
(i32.const 636)
@@ -13445,15 +13420,15 @@
(i32.const 200)
(tee_local $3
(i32.add
- (get_local $2)
- (tee_local $2
+ (get_local $1)
+ (tee_local $1
(select
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $2
+ (tee_local $1
(i32.add
- (get_local $2)
+ (get_local $1)
(i32.const 8)
)
)
@@ -13462,7 +13437,7 @@
)
(i32.const 0)
(i32.and
- (get_local $2)
+ (get_local $1)
(i32.const 7)
)
)
@@ -13475,10 +13450,10 @@
(tee_local $1
(i32.sub
(i32.add
- (get_local $1)
+ (get_local $2)
(i32.const -40)
)
- (get_local $2)
+ (get_local $1)
)
)
)
@@ -15212,15 +15187,13 @@
)
)
)
- (block
- (set_local $5
- (get_local $4)
- )
- (set_local $0
- (get_local $1)
- )
- (br $while-in15)
+ (set_local $5
+ (get_local $4)
+ )
+ (set_local $0
+ (get_local $1)
)
+ (br $while-in15)
)
)
(if
diff --git a/test/memorygrowth.fromasm b/test/memorygrowth.fromasm
index a1dfc9fd9..1422a65a9 100644
--- a/test/memorygrowth.fromasm
+++ b/test/memorygrowth.fromasm
@@ -4076,520 +4076,522 @@
(br $do-once44)
)
)
- (i32.store
- (tee_local $0
- (i32.add
- (if i32
- (i32.eq
- (i32.and
- (tee_local $3
- (i32.load offset=4
- (get_local $1)
- )
- )
- (i32.const 3)
- )
- (i32.const 1)
+ (if
+ (i32.eq
+ (i32.and
+ (tee_local $3
+ (i32.load offset=4
+ (get_local $1)
)
- (block i32
- (set_local $4
- (i32.and
- (get_local $3)
- (i32.const -8)
- )
- )
- (set_local $0
- (i32.shr_u
- (get_local $3)
- (i32.const 3)
+ )
+ (i32.const 3)
+ )
+ (i32.const 1)
+ )
+ (block
+ (set_local $4
+ (i32.and
+ (get_local $3)
+ (i32.const -8)
+ )
+ )
+ (set_local $0
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 3)
+ )
+ )
+ (block $label$break$e
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 256)
+ )
+ (block
+ (set_local $10
+ (i32.load offset=12
+ (get_local $1)
)
)
- (block $label$break$e
+ (block $do-once47
(if
- (i32.lt_u
- (get_local $3)
- (i32.const 256)
- )
- (block
- (set_local $10
- (i32.load offset=12
+ (i32.ne
+ (tee_local $21
+ (i32.load offset=8
(get_local $1)
)
)
- (block $do-once47
- (if
- (i32.ne
- (tee_local $21
- (i32.load offset=8
- (get_local $1)
- )
- )
- (tee_local $19
- (i32.add
- (i32.shl
- (i32.shl
- (get_local $0)
- (i32.const 1)
- )
- (i32.const 2)
- )
- (i32.const 1248)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $21)
- (get_local $14)
- )
- (call $qa)
- )
- (br_if $do-once47
- (i32.eq
- (i32.load offset=12
- (get_local $21)
- )
- (get_local $1)
- )
+ (tee_local $19
+ (i32.add
+ (i32.shl
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (call $qa)
+ (i32.const 2)
)
+ (i32.const 1248)
)
)
+ )
+ (block
(if
- (i32.eq
- (get_local $10)
+ (i32.lt_u
(get_local $21)
+ (get_local $14)
)
- (block
- (i32.store
- (i32.const 1208)
- (i32.and
- (i32.load
- (i32.const 1208)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $0)
- )
- (i32.const -1)
- )
- )
+ (call $qa)
+ )
+ (br_if $do-once47
+ (i32.eq
+ (i32.load offset=12
+ (get_local $21)
)
- (br $label$break$e)
+ (get_local $1)
)
)
- (block $do-once49
- (if
- (i32.eq
- (get_local $10)
- (get_local $19)
- )
- (set_local $43
- (i32.add
- (get_local $10)
- (i32.const 8)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $10)
- (get_local $14)
- )
- (call $qa)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $10)
- (i32.const 8)
- )
- )
- )
- (get_local $1)
- )
- (block
- (set_local $43
- (get_local $0)
- )
- (br $do-once49)
- )
- )
- (call $qa)
+ (call $qa)
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $10)
+ (get_local $21)
+ )
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.and
+ (i32.load
+ (i32.const 1208)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
)
+ (i32.const -1)
)
)
- (i32.store offset=12
- (get_local $21)
+ )
+ (br $label$break$e)
+ )
+ )
+ (block $do-once49
+ (if
+ (i32.eq
+ (get_local $10)
+ (get_local $19)
+ )
+ (set_local $43
+ (i32.add
(get_local $10)
- )
- (i32.store
- (get_local $43)
- (get_local $21)
+ (i32.const 8)
)
)
(block
- (set_local $19
- (i32.load offset=24
- (get_local $1)
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (get_local $14)
)
+ (call $qa)
)
- (block $do-once51
- (if
- (i32.eq
+ (if
+ (i32.eq
+ (i32.load
(tee_local $0
- (i32.load offset=12
- (get_local $1)
+ (i32.add
+ (get_local $10)
+ (i32.const 8)
)
)
- (get_local $1)
)
- (block
- (if
- (tee_local $16
- (i32.load
- (tee_local $6
- (i32.add
- (tee_local $18
- (i32.add
- (get_local $1)
- (i32.const 16)
- )
- )
- (i32.const 4)
- )
- )
- )
- )
- (block
- (set_local $3
- (get_local $16)
- )
- (set_local $0
- (get_local $6)
- )
- )
- (if
- (tee_local $22
- (i32.load
- (get_local $18)
- )
- )
- (block
- (set_local $3
- (get_local $22)
- )
- (set_local $0
- (get_local $18)
- )
- )
- (block
- (set_local $24
- (i32.const 0)
- )
- (br $do-once51)
- )
- )
- )
- (loop $while-in54
- (if
- (tee_local $16
- (i32.load
- (tee_local $6
- (i32.add
- (get_local $3)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (set_local $3
- (get_local $16)
- )
- (set_local $0
- (get_local $6)
- )
- (br $while-in54)
- )
- )
- (if
- (tee_local $16
- (i32.load
- (tee_local $6
- (i32.add
- (get_local $3)
- (i32.const 16)
- )
- )
- )
- )
- (block
- (set_local $3
- (get_local $16)
- )
- (set_local $0
- (get_local $6)
+ (get_local $1)
+ )
+ (block
+ (set_local $43
+ (get_local $0)
+ )
+ (br $do-once49)
+ )
+ )
+ (call $qa)
+ )
+ )
+ )
+ (i32.store offset=12
+ (get_local $21)
+ (get_local $10)
+ )
+ (i32.store
+ (get_local $43)
+ (get_local $21)
+ )
+ )
+ (block
+ (set_local $19
+ (i32.load offset=24
+ (get_local $1)
+ )
+ )
+ (block $do-once51
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $1)
+ )
+ )
+ (get_local $1)
+ )
+ (block
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (tee_local $18
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
)
- (br $while-in54)
)
+ (i32.const 4)
)
)
- (if
- (i32.lt_u
- (get_local $0)
- (get_local $14)
- )
- (call $qa)
- (block
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (set_local $24
- (get_local $3)
- )
- )
+ )
+ )
+ (block
+ (set_local $3
+ (get_local $16)
+ )
+ (set_local $0
+ (get_local $6)
+ )
+ )
+ (if
+ (tee_local $22
+ (i32.load
+ (get_local $18)
)
)
(block
- (if
- (i32.lt_u
- (tee_local $6
- (i32.load offset=8
- (get_local $1)
- )
- )
- (get_local $14)
- )
- (call $qa)
+ (set_local $3
+ (get_local $22)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $16
- (i32.add
- (get_local $6)
- (i32.const 12)
- )
- )
- )
- (get_local $1)
- )
- (call $qa)
+ (set_local $0
+ (get_local $18)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $18
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
- )
- )
- (get_local $1)
- )
- (block
- (i32.store
- (get_local $16)
- (get_local $0)
- )
- (i32.store
- (get_local $18)
- (get_local $6)
- )
- (set_local $24
- (get_local $0)
- )
- )
- (call $qa)
+ )
+ (block
+ (set_local $24
+ (i32.const 0)
)
+ (br $do-once51)
)
)
)
- (br_if $label$break$e
- (i32.eqz
- (get_local $19)
- )
- )
- (block $do-once55
+ (loop $while-in54
(if
- (i32.eq
- (get_local $1)
+ (tee_local $16
(i32.load
- (tee_local $21
+ (tee_local $6
(i32.add
- (i32.shl
- (tee_local $0
- (i32.load offset=28
- (get_local $1)
- )
- )
- (i32.const 2)
- )
- (i32.const 1512)
+ (get_local $3)
+ (i32.const 20)
)
)
)
)
(block
- (i32.store
- (get_local $21)
- (get_local $24)
+ (set_local $3
+ (get_local $16)
)
- (br_if $do-once55
- (get_local $24)
+ (set_local $0
+ (get_local $6)
)
- (i32.store
- (i32.const 1212)
- (i32.and
- (i32.load
- (i32.const 1212)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $0)
- )
- (i32.const -1)
+ (br $while-in54)
+ )
+ )
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (get_local $3)
+ (i32.const 16)
)
)
)
- (br $label$break$e)
)
(block
- (if
- (i32.lt_u
- (get_local $19)
- (i32.load
- (i32.const 1224)
- )
- )
- (call $qa)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $19)
- (i32.const 16)
- )
- )
- )
- (get_local $1)
- )
- (i32.store
- (get_local $10)
- (get_local $24)
- )
- (i32.store offset=20
- (get_local $19)
- (get_local $24)
- )
+ (set_local $3
+ (get_local $16)
)
- (br_if $label$break$e
- (i32.eqz
- (get_local $24)
- )
+ (set_local $0
+ (get_local $6)
)
+ (br $while-in54)
)
)
)
(if
(i32.lt_u
- (get_local $24)
- (tee_local $0
- (i32.load
- (i32.const 1224)
+ (get_local $0)
+ (get_local $14)
+ )
+ (call $qa)
+ (block
+ (i32.store
+ (get_local $0)
+ (i32.const 0)
+ )
+ (set_local $24
+ (get_local $3)
+ )
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.load offset=8
+ (get_local $1)
)
)
+ (get_local $14)
)
(call $qa)
)
- (i32.store offset=24
- (get_local $24)
- (get_local $19)
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $16
+ (i32.add
+ (get_local $6)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $1)
+ )
+ (call $qa)
)
(if
- (tee_local $10
+ (i32.eq
(i32.load
- (tee_local $21
+ (tee_local $18
(i32.add
- (get_local $1)
- (i32.const 16)
+ (get_local $0)
+ (i32.const 8)
)
)
)
+ (get_local $1)
)
- (if
- (i32.lt_u
- (get_local $10)
+ (block
+ (i32.store
+ (get_local $16)
(get_local $0)
)
- (call $qa)
- (block
- (i32.store offset=16
- (get_local $24)
- (get_local $10)
- )
- (i32.store offset=24
- (get_local $10)
- (get_local $24)
+ (i32.store
+ (get_local $18)
+ (get_local $6)
+ )
+ (set_local $24
+ (get_local $0)
+ )
+ )
+ (call $qa)
+ )
+ )
+ )
+ )
+ (br_if $label$break$e
+ (i32.eqz
+ (get_local $19)
+ )
+ )
+ (block $do-once55
+ (if
+ (i32.eq
+ (get_local $1)
+ (i32.load
+ (tee_local $21
+ (i32.add
+ (i32.shl
+ (tee_local $0
+ (i32.load offset=28
+ (get_local $1)
+ )
+ )
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
)
- (br_if $label$break$e
- (i32.eqz
- (tee_local $10
- (i32.load offset=4
- (get_local $21)
+ )
+ (block
+ (i32.store
+ (get_local $21)
+ (get_local $24)
+ )
+ (br_if $do-once55
+ (get_local $24)
+ )
+ (i32.store
+ (i32.const 1212)
+ (i32.and
+ (i32.load
+ (i32.const 1212)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
)
+ (i32.const -1)
)
)
)
+ (br $label$break$e)
+ )
+ (block
(if
(i32.lt_u
- (get_local $10)
+ (get_local $19)
(i32.load
(i32.const 1224)
)
)
(call $qa)
- (block
- (i32.store offset=20
- (get_local $24)
- (get_local $10)
- )
- (i32.store offset=24
- (get_local $10)
- (get_local $24)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $19)
+ (i32.const 16)
+ )
+ )
)
+ (get_local $1)
+ )
+ (i32.store
+ (get_local $10)
+ (get_local $24)
+ )
+ (i32.store offset=20
+ (get_local $19)
+ (get_local $24)
+ )
+ )
+ (br_if $label$break$e
+ (i32.eqz
+ (get_local $24)
)
)
)
)
)
- (set_local $15
- (i32.add
- (get_local $4)
- (get_local $15)
+ (if
+ (i32.lt_u
+ (get_local $24)
+ (tee_local $0
+ (i32.load
+ (i32.const 1224)
+ )
+ )
)
+ (call $qa)
)
- (i32.add
- (get_local $1)
- (get_local $4)
+ (i32.store offset=24
+ (get_local $24)
+ (get_local $19)
+ )
+ (if
+ (tee_local $10
+ (i32.load
+ (tee_local $21
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (get_local $0)
+ )
+ (call $qa)
+ (block
+ (i32.store offset=16
+ (get_local $24)
+ (get_local $10)
+ )
+ (i32.store offset=24
+ (get_local $10)
+ (get_local $24)
+ )
+ )
+ )
+ )
+ (br_if $label$break$e
+ (i32.eqz
+ (tee_local $10
+ (i32.load offset=4
+ (get_local $21)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ (call $qa)
+ (block
+ (i32.store offset=20
+ (get_local $24)
+ (get_local $10)
+ )
+ (i32.store offset=24
+ (get_local $10)
+ (get_local $24)
+ )
+ )
)
)
+ )
+ )
+ (set_local $1
+ (i32.add
(get_local $1)
+ (get_local $4)
)
+ )
+ (set_local $15
+ (i32.add
+ (get_local $4)
+ (get_local $15)
+ )
+ )
+ )
+ )
+ (i32.store
+ (tee_local $0
+ (i32.add
+ (get_local $1)
(i32.const 4)
)
)
@@ -7880,7 +7882,7 @@
(get_local $10)
)
(i32.store
- (tee_local $4
+ (tee_local $3
(i32.add
(get_local $10)
(i32.const 32)
@@ -7898,7 +7900,7 @@
)
)
(i32.store offset=4
- (get_local $4)
+ (get_local $3)
(tee_local $9
(i32.sub
(i32.load
@@ -7914,11 +7916,11 @@
)
)
(i32.store offset=8
- (get_local $4)
+ (get_local $3)
(get_local $1)
)
(i32.store offset=12
- (get_local $4)
+ (get_local $3)
(get_local $2)
)
(set_local $1
@@ -7933,13 +7935,13 @@
(i32.const 44)
)
)
- (set_local $5
- (get_local $4)
- )
(set_local $4
- (i32.const 2)
+ (get_local $3)
)
(set_local $3
+ (i32.const 2)
+ )
+ (set_local $5
(i32.add
(get_local $9)
(get_local $2)
@@ -7949,7 +7951,7 @@
(block $while-out
(if
(i32.eq
- (get_local $3)
+ (get_local $5)
(tee_local $6
(if i32
(i32.load
@@ -7968,11 +7970,11 @@
)
(i32.store offset=4
(get_local $12)
- (get_local $5)
+ (get_local $4)
)
(i32.store offset=8
(get_local $12)
- (get_local $4)
+ (get_local $3)
)
(set_local $9
(call $Pa
@@ -7996,11 +7998,11 @@
)
(i32.store offset=4
(get_local $11)
- (get_local $5)
+ (get_local $4)
)
(i32.store offset=8
(get_local $11)
- (get_local $4)
+ (get_local $3)
)
(call $Pa
(call $ya
@@ -8026,124 +8028,114 @@
)
(block
(set_local $16
- (get_local $5)
+ (get_local $4)
)
(set_local $17
- (get_local $4)
+ (get_local $3)
)
(set_local $1
(i32.const 8)
)
+ (br $while-out)
)
- (block
- (set_local $9
- (i32.sub
- (get_local $3)
- (get_local $6)
+ )
+ (set_local $9
+ (i32.sub
+ (get_local $5)
+ (get_local $6)
+ )
+ )
+ (if
+ (i32.gt_u
+ (get_local $6)
+ (tee_local $14
+ (i32.load offset=4
+ (get_local $4)
)
)
- (set_local $5
- (if i32
- (i32.gt_u
- (get_local $6)
- (tee_local $14
- (i32.load offset=4
- (get_local $5)
- )
- )
- )
- (block i32
- (i32.store
- (get_local $8)
- (tee_local $3
- (i32.load
- (get_local $7)
- )
- )
- )
- (i32.store
- (get_local $13)
- (get_local $3)
- )
- (set_local $6
- (i32.sub
- (get_local $6)
- (get_local $14)
- )
- )
- (set_local $3
- (i32.add
- (get_local $5)
- (i32.const 8)
- )
- )
- (set_local $4
- (i32.add
- (get_local $4)
- (i32.const -1)
- )
- )
- (i32.load offset=12
- (get_local $5)
- )
- )
- (if i32
- (i32.eq
- (get_local $4)
- (i32.const 2)
- )
- (block i32
- (i32.store
- (get_local $8)
- (i32.add
- (i32.load
- (get_local $8)
- )
- (get_local $6)
- )
- )
- (set_local $3
- (get_local $5)
- )
- (set_local $4
- (i32.const 2)
- )
- (get_local $14)
- )
- (block i32
- (set_local $3
- (get_local $5)
- )
- (get_local $14)
- )
+ )
+ (block
+ (i32.store
+ (get_local $8)
+ (tee_local $5
+ (i32.load
+ (get_local $7)
)
)
)
(i32.store
- (get_local $3)
- (i32.add
- (i32.load
- (get_local $3)
- )
- (get_local $6)
+ (get_local $13)
+ (get_local $5)
+ )
+ (set_local $5
+ (i32.load offset=12
+ (get_local $4)
)
)
- (i32.store offset=4
- (get_local $3)
+ (set_local $6
(i32.sub
- (get_local $5)
(get_local $6)
+ (get_local $14)
)
)
- (set_local $5
- (get_local $3)
+ (set_local $4
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
(set_local $3
- (get_local $9)
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
+ )
+ )
+ )
+ (set_local $5
+ (if i32
+ (i32.eq
+ (get_local $3)
+ (i32.const 2)
+ )
+ (block i32
+ (i32.store
+ (get_local $8)
+ (i32.add
+ (i32.load
+ (get_local $8)
+ )
+ (get_local $6)
+ )
+ )
+ (set_local $3
+ (i32.const 2)
+ )
+ (get_local $14)
+ )
+ (get_local $14)
)
- (br $while-in)
)
)
+ (i32.store
+ (get_local $4)
+ (i32.add
+ (i32.load
+ (get_local $4)
+ )
+ (get_local $6)
+ )
+ )
+ (i32.store offset=4
+ (get_local $4)
+ (i32.sub
+ (get_local $5)
+ (get_local $6)
+ )
+ )
+ (set_local $5
+ (get_local $9)
+ )
+ (br $while-in)
)
)
(if
@@ -8155,7 +8147,7 @@
(i32.store offset=16
(get_local $0)
(i32.add
- (tee_local $3
+ (tee_local $5
(i32.load
(get_local $7)
)
@@ -8168,7 +8160,7 @@
(i32.store
(get_local $8)
(tee_local $7
- (get_local $3)
+ (get_local $5)
)
)
(i32.store
@@ -8320,107 +8312,99 @@
(set_local $4
(get_local $3)
)
- (set_local $1
- (block $label$break$b i32
- (if i32
- (i32.gt_s
- (i32.load8_s offset=75
- (get_local $2)
- )
- (i32.const -1)
+ (block $label$break$b
+ (if
+ (i32.gt_s
+ (i32.load8_s offset=75
+ (get_local $2)
)
- (block i32
- (set_local $3
- (get_local $1)
- )
- (loop $while-in
- (if
- (i32.eqz
- (get_local $3)
- )
- (block
- (set_local $2
- (i32.const 0)
- )
- (br $label$break$b
- (get_local $1)
- )
- )
+ (i32.const -1)
+ )
+ (block
+ (set_local $3
+ (get_local $1)
+ )
+ (loop $while-in
+ (if
+ (i32.eqz
+ (get_local $3)
)
- (if
- (i32.ne
- (i32.load8_s
- (i32.add
- (get_local $0)
- (tee_local $6
- (i32.add
- (get_local $3)
- (i32.const -1)
- )
- )
- )
- )
- (i32.const 10)
- )
- (block
- (set_local $3
- (get_local $6)
- )
- (br $while-in)
+ (block
+ (set_local $3
+ (i32.const 0)
)
+ (br $label$break$b)
)
)
(if
- (i32.lt_u
- (call_indirect $FUNCSIG$iiii
- (get_local $2)
- (get_local $0)
- (get_local $3)
+ (i32.ne
+ (i32.load8_s
(i32.add
- (i32.and
- (i32.load offset=36
- (get_local $2)
+ (get_local $0)
+ (tee_local $6
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
)
- (i32.const 3)
)
- (i32.const 2)
)
)
- (get_local $3)
+ (i32.const 10)
)
(block
- (set_local $4
- (get_local $3)
+ (set_local $3
+ (get_local $6)
)
- (br $label$break$a)
+ (br $while-in)
)
)
- (set_local $0
- (i32.add
+ )
+ (if
+ (i32.lt_u
+ (call_indirect $FUNCSIG$iiii
+ (get_local $2)
(get_local $0)
(get_local $3)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $2)
+ )
+ (i32.const 3)
+ )
+ (i32.const 2)
+ )
)
+ (get_local $3)
)
- (set_local $4
- (i32.load
- (get_local $5)
+ (block
+ (set_local $4
+ (get_local $3)
)
+ (br $label$break$a)
)
- (set_local $2
- (get_local $3)
- )
+ )
+ (set_local $1
(i32.sub
(get_local $1)
(get_local $3)
)
)
- (block i32
- (set_local $2
- (i32.const 0)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (get_local $3)
+ )
+ )
+ (set_local $4
+ (i32.load
+ (get_local $5)
)
- (get_local $1)
)
)
+ (set_local $3
+ (i32.const 0)
+ )
)
)
(drop
@@ -8441,7 +8425,7 @@
)
(set_local $4
(i32.add
- (get_local $2)
+ (get_local $3)
(get_local $1)
)
)
@@ -8495,13 +8479,11 @@
(i32.const 3)
)
)
- (block
- (set_local $1
- (get_local $0)
- )
- (set_local $2
- (i32.const 4)
- )
+ (set_local $1
+ (get_local $0)
+ )
+ (set_local $2
+ (i32.const 4)
)
)
)
@@ -8605,10 +8587,10 @@
(func $_a (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
- (block $do-once i32
- (if i32
+ (block $do-once
+ (if
(get_local $0)
- (block i32
+ (block
(if
(i32.le_s
(i32.load offset=76
@@ -8616,10 +8598,13 @@
)
(i32.const -1)
)
- (br $do-once
- (call $$a
- (get_local $0)
+ (block
+ (set_local $1
+ (call $$a
+ (get_local $0)
+ )
)
+ (br $do-once)
)
)
(set_local $2
@@ -8634,18 +8619,16 @@
(get_local $0)
)
)
- (if i32
- (get_local $2)
- (get_local $1)
- (block i32
- (call $Ta
- (get_local $0)
- )
- (get_local $1)
+ (if
+ (i32.eqz
+ (get_local $2)
+ )
+ (call $Ta
+ (get_local $0)
)
)
)
- (block i32
+ (block
(set_local $0
(if i32
(i32.load
@@ -8721,19 +8704,22 @@
)
)
)
- (set_local $0
- (get_local $2)
- )
)
)
+ (set_local $2
+ (get_local $0)
+ )
)
(call $xa
(i32.const 1188)
)
- (get_local $0)
+ (set_local $1
+ (get_local $2)
+ )
)
)
)
+ (get_local $1)
)
(func $ab (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
@@ -9430,56 +9416,58 @@
(get_local $2)
)
)
- (if i32
- (i32.and
- (tee_local $2
- (i32.load
- (get_local $0)
+ (tee_local $0
+ (if i32
+ (i32.and
+ (tee_local $2
+ (i32.load
+ (get_local $0)
+ )
)
+ (i32.const 8)
)
- (i32.const 8)
- )
- (block i32
- (i32.store
- (get_local $0)
- (i32.or
- (get_local $2)
- (i32.const 32)
+ (block i32
+ (i32.store
+ (get_local $0)
+ (i32.or
+ (get_local $2)
+ (i32.const 32)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
- )
- (block i32
- (i32.store offset=8
- (get_local $0)
- (i32.const 0)
- )
- (i32.store offset=4
- (get_local $0)
- (i32.const 0)
- )
- (i32.store offset=28
- (get_local $0)
- (tee_local $1
- (i32.load offset=44
- (get_local $0)
+ (block i32
+ (i32.store offset=8
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store offset=28
+ (get_local $0)
+ (tee_local $1
+ (i32.load offset=44
+ (get_local $0)
+ )
)
)
- )
- (i32.store offset=20
- (get_local $0)
- (get_local $1)
- )
- (i32.store offset=16
- (get_local $0)
- (i32.add
+ (i32.store offset=20
+ (get_local $0)
(get_local $1)
- (i32.load offset=48
- (get_local $0)
+ )
+ (i32.store offset=16
+ (get_local $0)
+ (i32.add
+ (get_local $1)
+ (i32.load offset=48
+ (get_local $0)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
@@ -9492,57 +9480,58 @@
(get_local $1)
)
)
- (if i32
- (i32.eq
- (tee_local $0
- (if i32
- (i32.gt_s
- (i32.load offset=76
- (get_local $3)
- )
- (i32.const -1)
- )
- (block i32
- (set_local $5
- (i32.eqz
- (call $Ya
- (get_local $3)
- )
- )
- )
- (set_local $0
- (call $Wa
- (get_local $0)
- (get_local $4)
- (get_local $3)
- )
- )
- (if i32
- (get_local $5)
- (get_local $0)
- (block i32
- (call $Ta
- (get_local $3)
- )
- (get_local $0)
- )
- )
- )
- (call $Wa
- (get_local $0)
- (get_local $4)
+ (if
+ (i32.gt_s
+ (i32.load offset=76
+ (get_local $3)
+ )
+ (i32.const -1)
+ )
+ (block
+ (set_local $5
+ (i32.eqz
+ (call $Ya
(get_local $3)
)
)
)
- (get_local $4)
+ (set_local $0
+ (call $Wa
+ (get_local $0)
+ (get_local $4)
+ (get_local $3)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $5)
+ )
+ (call $Ta
+ (get_local $3)
+ )
+ )
)
- (get_local $2)
- (call $i32u-div
+ (set_local $0
+ (call $Wa
+ (get_local $0)
+ (get_local $4)
+ (get_local $3)
+ )
+ )
+ )
+ (if
+ (i32.ne
(get_local $0)
- (get_local $1)
+ (get_local $4)
+ )
+ (set_local $2
+ (call $i32u-div
+ (get_local $0)
+ (get_local $1)
+ )
)
)
+ (get_local $2)
)
(func $Ua (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
diff --git a/test/memorygrowth.fromasm.imprecise b/test/memorygrowth.fromasm.imprecise
index cb6a2c8c5..4301d1105 100644
--- a/test/memorygrowth.fromasm.imprecise
+++ b/test/memorygrowth.fromasm.imprecise
@@ -4074,520 +4074,522 @@
(br $do-once44)
)
)
- (i32.store
- (tee_local $0
- (i32.add
- (if i32
- (i32.eq
- (i32.and
- (tee_local $3
- (i32.load offset=4
- (get_local $1)
- )
- )
- (i32.const 3)
- )
- (i32.const 1)
+ (if
+ (i32.eq
+ (i32.and
+ (tee_local $3
+ (i32.load offset=4
+ (get_local $1)
)
- (block i32
- (set_local $4
- (i32.and
- (get_local $3)
- (i32.const -8)
- )
- )
- (set_local $0
- (i32.shr_u
- (get_local $3)
- (i32.const 3)
+ )
+ (i32.const 3)
+ )
+ (i32.const 1)
+ )
+ (block
+ (set_local $4
+ (i32.and
+ (get_local $3)
+ (i32.const -8)
+ )
+ )
+ (set_local $0
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 3)
+ )
+ )
+ (block $label$break$e
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 256)
+ )
+ (block
+ (set_local $10
+ (i32.load offset=12
+ (get_local $1)
)
)
- (block $label$break$e
+ (block $do-once47
(if
- (i32.lt_u
- (get_local $3)
- (i32.const 256)
- )
- (block
- (set_local $10
- (i32.load offset=12
+ (i32.ne
+ (tee_local $21
+ (i32.load offset=8
(get_local $1)
)
)
- (block $do-once47
- (if
- (i32.ne
- (tee_local $21
- (i32.load offset=8
- (get_local $1)
- )
- )
- (tee_local $19
- (i32.add
- (i32.shl
- (i32.shl
- (get_local $0)
- (i32.const 1)
- )
- (i32.const 2)
- )
- (i32.const 1248)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $21)
- (get_local $14)
- )
- (call $qa)
- )
- (br_if $do-once47
- (i32.eq
- (i32.load offset=12
- (get_local $21)
- )
- (get_local $1)
- )
+ (tee_local $19
+ (i32.add
+ (i32.shl
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (call $qa)
+ (i32.const 2)
)
+ (i32.const 1248)
)
)
+ )
+ (block
(if
- (i32.eq
- (get_local $10)
+ (i32.lt_u
(get_local $21)
+ (get_local $14)
)
- (block
- (i32.store
- (i32.const 1208)
- (i32.and
- (i32.load
- (i32.const 1208)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $0)
- )
- (i32.const -1)
- )
- )
+ (call $qa)
+ )
+ (br_if $do-once47
+ (i32.eq
+ (i32.load offset=12
+ (get_local $21)
)
- (br $label$break$e)
+ (get_local $1)
)
)
- (block $do-once49
- (if
- (i32.eq
- (get_local $10)
- (get_local $19)
- )
- (set_local $43
- (i32.add
- (get_local $10)
- (i32.const 8)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $10)
- (get_local $14)
- )
- (call $qa)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $10)
- (i32.const 8)
- )
- )
- )
- (get_local $1)
- )
- (block
- (set_local $43
- (get_local $0)
- )
- (br $do-once49)
- )
- )
- (call $qa)
+ (call $qa)
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $10)
+ (get_local $21)
+ )
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.and
+ (i32.load
+ (i32.const 1208)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
)
+ (i32.const -1)
)
)
- (i32.store offset=12
- (get_local $21)
+ )
+ (br $label$break$e)
+ )
+ )
+ (block $do-once49
+ (if
+ (i32.eq
+ (get_local $10)
+ (get_local $19)
+ )
+ (set_local $43
+ (i32.add
(get_local $10)
- )
- (i32.store
- (get_local $43)
- (get_local $21)
+ (i32.const 8)
)
)
(block
- (set_local $19
- (i32.load offset=24
- (get_local $1)
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (get_local $14)
)
+ (call $qa)
)
- (block $do-once51
- (if
- (i32.eq
+ (if
+ (i32.eq
+ (i32.load
(tee_local $0
- (i32.load offset=12
- (get_local $1)
+ (i32.add
+ (get_local $10)
+ (i32.const 8)
)
)
- (get_local $1)
)
- (block
- (if
- (tee_local $16
- (i32.load
- (tee_local $6
- (i32.add
- (tee_local $18
- (i32.add
- (get_local $1)
- (i32.const 16)
- )
- )
- (i32.const 4)
- )
- )
- )
- )
- (block
- (set_local $3
- (get_local $16)
- )
- (set_local $0
- (get_local $6)
- )
- )
- (if
- (tee_local $22
- (i32.load
- (get_local $18)
- )
- )
- (block
- (set_local $3
- (get_local $22)
- )
- (set_local $0
- (get_local $18)
- )
- )
- (block
- (set_local $24
- (i32.const 0)
- )
- (br $do-once51)
- )
- )
- )
- (loop $while-in54
- (if
- (tee_local $16
- (i32.load
- (tee_local $6
- (i32.add
- (get_local $3)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (set_local $3
- (get_local $16)
- )
- (set_local $0
- (get_local $6)
- )
- (br $while-in54)
- )
- )
- (if
- (tee_local $16
- (i32.load
- (tee_local $6
- (i32.add
- (get_local $3)
- (i32.const 16)
- )
- )
- )
- )
- (block
- (set_local $3
- (get_local $16)
- )
- (set_local $0
- (get_local $6)
+ (get_local $1)
+ )
+ (block
+ (set_local $43
+ (get_local $0)
+ )
+ (br $do-once49)
+ )
+ )
+ (call $qa)
+ )
+ )
+ )
+ (i32.store offset=12
+ (get_local $21)
+ (get_local $10)
+ )
+ (i32.store
+ (get_local $43)
+ (get_local $21)
+ )
+ )
+ (block
+ (set_local $19
+ (i32.load offset=24
+ (get_local $1)
+ )
+ )
+ (block $do-once51
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $1)
+ )
+ )
+ (get_local $1)
+ )
+ (block
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (tee_local $18
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
)
- (br $while-in54)
)
+ (i32.const 4)
)
)
- (if
- (i32.lt_u
- (get_local $0)
- (get_local $14)
- )
- (call $qa)
- (block
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (set_local $24
- (get_local $3)
- )
- )
+ )
+ )
+ (block
+ (set_local $3
+ (get_local $16)
+ )
+ (set_local $0
+ (get_local $6)
+ )
+ )
+ (if
+ (tee_local $22
+ (i32.load
+ (get_local $18)
)
)
(block
- (if
- (i32.lt_u
- (tee_local $6
- (i32.load offset=8
- (get_local $1)
- )
- )
- (get_local $14)
- )
- (call $qa)
+ (set_local $3
+ (get_local $22)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $16
- (i32.add
- (get_local $6)
- (i32.const 12)
- )
- )
- )
- (get_local $1)
- )
- (call $qa)
+ (set_local $0
+ (get_local $18)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $18
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
- )
- )
- (get_local $1)
- )
- (block
- (i32.store
- (get_local $16)
- (get_local $0)
- )
- (i32.store
- (get_local $18)
- (get_local $6)
- )
- (set_local $24
- (get_local $0)
- )
- )
- (call $qa)
+ )
+ (block
+ (set_local $24
+ (i32.const 0)
)
+ (br $do-once51)
)
)
)
- (br_if $label$break$e
- (i32.eqz
- (get_local $19)
- )
- )
- (block $do-once55
+ (loop $while-in54
(if
- (i32.eq
- (get_local $1)
+ (tee_local $16
(i32.load
- (tee_local $21
+ (tee_local $6
(i32.add
- (i32.shl
- (tee_local $0
- (i32.load offset=28
- (get_local $1)
- )
- )
- (i32.const 2)
- )
- (i32.const 1512)
+ (get_local $3)
+ (i32.const 20)
)
)
)
)
(block
- (i32.store
- (get_local $21)
- (get_local $24)
+ (set_local $3
+ (get_local $16)
)
- (br_if $do-once55
- (get_local $24)
+ (set_local $0
+ (get_local $6)
)
- (i32.store
- (i32.const 1212)
- (i32.and
- (i32.load
- (i32.const 1212)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $0)
- )
- (i32.const -1)
+ (br $while-in54)
+ )
+ )
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (get_local $3)
+ (i32.const 16)
)
)
)
- (br $label$break$e)
)
(block
- (if
- (i32.lt_u
- (get_local $19)
- (i32.load
- (i32.const 1224)
- )
- )
- (call $qa)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $19)
- (i32.const 16)
- )
- )
- )
- (get_local $1)
- )
- (i32.store
- (get_local $10)
- (get_local $24)
- )
- (i32.store offset=20
- (get_local $19)
- (get_local $24)
- )
+ (set_local $3
+ (get_local $16)
)
- (br_if $label$break$e
- (i32.eqz
- (get_local $24)
- )
+ (set_local $0
+ (get_local $6)
)
+ (br $while-in54)
)
)
)
(if
(i32.lt_u
- (get_local $24)
- (tee_local $0
- (i32.load
- (i32.const 1224)
+ (get_local $0)
+ (get_local $14)
+ )
+ (call $qa)
+ (block
+ (i32.store
+ (get_local $0)
+ (i32.const 0)
+ )
+ (set_local $24
+ (get_local $3)
+ )
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.load offset=8
+ (get_local $1)
)
)
+ (get_local $14)
)
(call $qa)
)
- (i32.store offset=24
- (get_local $24)
- (get_local $19)
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $16
+ (i32.add
+ (get_local $6)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $1)
+ )
+ (call $qa)
)
(if
- (tee_local $10
+ (i32.eq
(i32.load
- (tee_local $21
+ (tee_local $18
(i32.add
- (get_local $1)
- (i32.const 16)
+ (get_local $0)
+ (i32.const 8)
)
)
)
+ (get_local $1)
)
- (if
- (i32.lt_u
- (get_local $10)
+ (block
+ (i32.store
+ (get_local $16)
(get_local $0)
)
- (call $qa)
- (block
- (i32.store offset=16
- (get_local $24)
- (get_local $10)
- )
- (i32.store offset=24
- (get_local $10)
- (get_local $24)
+ (i32.store
+ (get_local $18)
+ (get_local $6)
+ )
+ (set_local $24
+ (get_local $0)
+ )
+ )
+ (call $qa)
+ )
+ )
+ )
+ )
+ (br_if $label$break$e
+ (i32.eqz
+ (get_local $19)
+ )
+ )
+ (block $do-once55
+ (if
+ (i32.eq
+ (get_local $1)
+ (i32.load
+ (tee_local $21
+ (i32.add
+ (i32.shl
+ (tee_local $0
+ (i32.load offset=28
+ (get_local $1)
+ )
+ )
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
)
- (br_if $label$break$e
- (i32.eqz
- (tee_local $10
- (i32.load offset=4
- (get_local $21)
+ )
+ (block
+ (i32.store
+ (get_local $21)
+ (get_local $24)
+ )
+ (br_if $do-once55
+ (get_local $24)
+ )
+ (i32.store
+ (i32.const 1212)
+ (i32.and
+ (i32.load
+ (i32.const 1212)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
)
+ (i32.const -1)
)
)
)
+ (br $label$break$e)
+ )
+ (block
(if
(i32.lt_u
- (get_local $10)
+ (get_local $19)
(i32.load
(i32.const 1224)
)
)
(call $qa)
- (block
- (i32.store offset=20
- (get_local $24)
- (get_local $10)
- )
- (i32.store offset=24
- (get_local $10)
- (get_local $24)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $19)
+ (i32.const 16)
+ )
+ )
)
+ (get_local $1)
+ )
+ (i32.store
+ (get_local $10)
+ (get_local $24)
+ )
+ (i32.store offset=20
+ (get_local $19)
+ (get_local $24)
+ )
+ )
+ (br_if $label$break$e
+ (i32.eqz
+ (get_local $24)
)
)
)
)
)
- (set_local $15
- (i32.add
- (get_local $4)
- (get_local $15)
+ (if
+ (i32.lt_u
+ (get_local $24)
+ (tee_local $0
+ (i32.load
+ (i32.const 1224)
+ )
+ )
)
+ (call $qa)
)
- (i32.add
- (get_local $1)
- (get_local $4)
+ (i32.store offset=24
+ (get_local $24)
+ (get_local $19)
+ )
+ (if
+ (tee_local $10
+ (i32.load
+ (tee_local $21
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (get_local $0)
+ )
+ (call $qa)
+ (block
+ (i32.store offset=16
+ (get_local $24)
+ (get_local $10)
+ )
+ (i32.store offset=24
+ (get_local $10)
+ (get_local $24)
+ )
+ )
+ )
+ )
+ (br_if $label$break$e
+ (i32.eqz
+ (tee_local $10
+ (i32.load offset=4
+ (get_local $21)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ (call $qa)
+ (block
+ (i32.store offset=20
+ (get_local $24)
+ (get_local $10)
+ )
+ (i32.store offset=24
+ (get_local $10)
+ (get_local $24)
+ )
+ )
)
)
+ )
+ )
+ (set_local $1
+ (i32.add
(get_local $1)
+ (get_local $4)
)
+ )
+ (set_local $15
+ (i32.add
+ (get_local $4)
+ (get_local $15)
+ )
+ )
+ )
+ )
+ (i32.store
+ (tee_local $0
+ (i32.add
+ (get_local $1)
(i32.const 4)
)
)
@@ -7878,7 +7880,7 @@
(get_local $10)
)
(i32.store
- (tee_local $4
+ (tee_local $3
(i32.add
(get_local $10)
(i32.const 32)
@@ -7896,7 +7898,7 @@
)
)
(i32.store offset=4
- (get_local $4)
+ (get_local $3)
(tee_local $9
(i32.sub
(i32.load
@@ -7912,11 +7914,11 @@
)
)
(i32.store offset=8
- (get_local $4)
+ (get_local $3)
(get_local $1)
)
(i32.store offset=12
- (get_local $4)
+ (get_local $3)
(get_local $2)
)
(set_local $1
@@ -7931,13 +7933,13 @@
(i32.const 44)
)
)
- (set_local $5
- (get_local $4)
- )
(set_local $4
- (i32.const 2)
+ (get_local $3)
)
(set_local $3
+ (i32.const 2)
+ )
+ (set_local $5
(i32.add
(get_local $9)
(get_local $2)
@@ -7947,7 +7949,7 @@
(block $while-out
(if
(i32.eq
- (get_local $3)
+ (get_local $5)
(tee_local $6
(if i32
(i32.load
@@ -7966,11 +7968,11 @@
)
(i32.store offset=4
(get_local $12)
- (get_local $5)
+ (get_local $4)
)
(i32.store offset=8
(get_local $12)
- (get_local $4)
+ (get_local $3)
)
(set_local $9
(call $Pa
@@ -7994,11 +7996,11 @@
)
(i32.store offset=4
(get_local $11)
- (get_local $5)
+ (get_local $4)
)
(i32.store offset=8
(get_local $11)
- (get_local $4)
+ (get_local $3)
)
(call $Pa
(call $ya
@@ -8024,124 +8026,114 @@
)
(block
(set_local $16
- (get_local $5)
+ (get_local $4)
)
(set_local $17
- (get_local $4)
+ (get_local $3)
)
(set_local $1
(i32.const 8)
)
+ (br $while-out)
)
- (block
- (set_local $9
- (i32.sub
- (get_local $3)
- (get_local $6)
+ )
+ (set_local $9
+ (i32.sub
+ (get_local $5)
+ (get_local $6)
+ )
+ )
+ (if
+ (i32.gt_u
+ (get_local $6)
+ (tee_local $14
+ (i32.load offset=4
+ (get_local $4)
)
)
- (set_local $5
- (if i32
- (i32.gt_u
- (get_local $6)
- (tee_local $14
- (i32.load offset=4
- (get_local $5)
- )
- )
- )
- (block i32
- (i32.store
- (get_local $8)
- (tee_local $3
- (i32.load
- (get_local $7)
- )
- )
- )
- (i32.store
- (get_local $13)
- (get_local $3)
- )
- (set_local $6
- (i32.sub
- (get_local $6)
- (get_local $14)
- )
- )
- (set_local $3
- (i32.add
- (get_local $5)
- (i32.const 8)
- )
- )
- (set_local $4
- (i32.add
- (get_local $4)
- (i32.const -1)
- )
- )
- (i32.load offset=12
- (get_local $5)
- )
- )
- (if i32
- (i32.eq
- (get_local $4)
- (i32.const 2)
- )
- (block i32
- (i32.store
- (get_local $8)
- (i32.add
- (i32.load
- (get_local $8)
- )
- (get_local $6)
- )
- )
- (set_local $3
- (get_local $5)
- )
- (set_local $4
- (i32.const 2)
- )
- (get_local $14)
- )
- (block i32
- (set_local $3
- (get_local $5)
- )
- (get_local $14)
- )
+ )
+ (block
+ (i32.store
+ (get_local $8)
+ (tee_local $5
+ (i32.load
+ (get_local $7)
)
)
)
(i32.store
- (get_local $3)
- (i32.add
- (i32.load
- (get_local $3)
- )
- (get_local $6)
+ (get_local $13)
+ (get_local $5)
+ )
+ (set_local $5
+ (i32.load offset=12
+ (get_local $4)
)
)
- (i32.store offset=4
- (get_local $3)
+ (set_local $6
(i32.sub
- (get_local $5)
(get_local $6)
+ (get_local $14)
)
)
- (set_local $5
- (get_local $3)
+ (set_local $4
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
(set_local $3
- (get_local $9)
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
+ )
+ )
+ )
+ (set_local $5
+ (if i32
+ (i32.eq
+ (get_local $3)
+ (i32.const 2)
+ )
+ (block i32
+ (i32.store
+ (get_local $8)
+ (i32.add
+ (i32.load
+ (get_local $8)
+ )
+ (get_local $6)
+ )
+ )
+ (set_local $3
+ (i32.const 2)
+ )
+ (get_local $14)
+ )
+ (get_local $14)
)
- (br $while-in)
)
)
+ (i32.store
+ (get_local $4)
+ (i32.add
+ (i32.load
+ (get_local $4)
+ )
+ (get_local $6)
+ )
+ )
+ (i32.store offset=4
+ (get_local $4)
+ (i32.sub
+ (get_local $5)
+ (get_local $6)
+ )
+ )
+ (set_local $5
+ (get_local $9)
+ )
+ (br $while-in)
)
)
(if
@@ -8153,7 +8145,7 @@
(i32.store offset=16
(get_local $0)
(i32.add
- (tee_local $3
+ (tee_local $5
(i32.load
(get_local $7)
)
@@ -8166,7 +8158,7 @@
(i32.store
(get_local $8)
(tee_local $7
- (get_local $3)
+ (get_local $5)
)
)
(i32.store
@@ -8318,107 +8310,99 @@
(set_local $4
(get_local $3)
)
- (set_local $1
- (block $label$break$b i32
- (if i32
- (i32.gt_s
- (i32.load8_s offset=75
- (get_local $2)
- )
- (i32.const -1)
+ (block $label$break$b
+ (if
+ (i32.gt_s
+ (i32.load8_s offset=75
+ (get_local $2)
)
- (block i32
- (set_local $3
- (get_local $1)
- )
- (loop $while-in
- (if
- (i32.eqz
- (get_local $3)
- )
- (block
- (set_local $2
- (i32.const 0)
- )
- (br $label$break$b
- (get_local $1)
- )
- )
+ (i32.const -1)
+ )
+ (block
+ (set_local $3
+ (get_local $1)
+ )
+ (loop $while-in
+ (if
+ (i32.eqz
+ (get_local $3)
)
- (if
- (i32.ne
- (i32.load8_s
- (i32.add
- (get_local $0)
- (tee_local $6
- (i32.add
- (get_local $3)
- (i32.const -1)
- )
- )
- )
- )
- (i32.const 10)
- )
- (block
- (set_local $3
- (get_local $6)
- )
- (br $while-in)
+ (block
+ (set_local $3
+ (i32.const 0)
)
+ (br $label$break$b)
)
)
(if
- (i32.lt_u
- (call_indirect $FUNCSIG$iiii
- (get_local $2)
- (get_local $0)
- (get_local $3)
+ (i32.ne
+ (i32.load8_s
(i32.add
- (i32.and
- (i32.load offset=36
- (get_local $2)
+ (get_local $0)
+ (tee_local $6
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
)
- (i32.const 3)
)
- (i32.const 2)
)
)
- (get_local $3)
+ (i32.const 10)
)
(block
- (set_local $4
- (get_local $3)
+ (set_local $3
+ (get_local $6)
)
- (br $label$break$a)
+ (br $while-in)
)
)
- (set_local $0
- (i32.add
+ )
+ (if
+ (i32.lt_u
+ (call_indirect $FUNCSIG$iiii
+ (get_local $2)
(get_local $0)
(get_local $3)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $2)
+ )
+ (i32.const 3)
+ )
+ (i32.const 2)
+ )
)
+ (get_local $3)
)
- (set_local $4
- (i32.load
- (get_local $5)
+ (block
+ (set_local $4
+ (get_local $3)
)
+ (br $label$break$a)
)
- (set_local $2
- (get_local $3)
- )
+ )
+ (set_local $1
(i32.sub
(get_local $1)
(get_local $3)
)
)
- (block i32
- (set_local $2
- (i32.const 0)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (get_local $3)
+ )
+ )
+ (set_local $4
+ (i32.load
+ (get_local $5)
)
- (get_local $1)
)
)
+ (set_local $3
+ (i32.const 0)
+ )
)
)
(drop
@@ -8439,7 +8423,7 @@
)
(set_local $4
(i32.add
- (get_local $2)
+ (get_local $3)
(get_local $1)
)
)
@@ -8493,13 +8477,11 @@
(i32.const 3)
)
)
- (block
- (set_local $1
- (get_local $0)
- )
- (set_local $2
- (i32.const 4)
- )
+ (set_local $1
+ (get_local $0)
+ )
+ (set_local $2
+ (i32.const 4)
)
)
)
@@ -8603,10 +8585,10 @@
(func $_a (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
- (block $do-once i32
- (if i32
+ (block $do-once
+ (if
(get_local $0)
- (block i32
+ (block
(if
(i32.le_s
(i32.load offset=76
@@ -8614,10 +8596,13 @@
)
(i32.const -1)
)
- (br $do-once
- (call $$a
- (get_local $0)
+ (block
+ (set_local $1
+ (call $$a
+ (get_local $0)
+ )
)
+ (br $do-once)
)
)
(set_local $2
@@ -8632,18 +8617,16 @@
(get_local $0)
)
)
- (if i32
- (get_local $2)
- (get_local $1)
- (block i32
- (call $Ta
- (get_local $0)
- )
- (get_local $1)
+ (if
+ (i32.eqz
+ (get_local $2)
+ )
+ (call $Ta
+ (get_local $0)
)
)
)
- (block i32
+ (block
(set_local $0
(if i32
(i32.load
@@ -8719,19 +8702,22 @@
)
)
)
- (set_local $0
- (get_local $2)
- )
)
)
+ (set_local $2
+ (get_local $0)
+ )
)
(call $xa
(i32.const 1188)
)
- (get_local $0)
+ (set_local $1
+ (get_local $2)
+ )
)
)
)
+ (get_local $1)
)
(func $ab (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
@@ -9428,56 +9414,58 @@
(get_local $2)
)
)
- (if i32
- (i32.and
- (tee_local $2
- (i32.load
- (get_local $0)
+ (tee_local $0
+ (if i32
+ (i32.and
+ (tee_local $2
+ (i32.load
+ (get_local $0)
+ )
)
+ (i32.const 8)
)
- (i32.const 8)
- )
- (block i32
- (i32.store
- (get_local $0)
- (i32.or
- (get_local $2)
- (i32.const 32)
+ (block i32
+ (i32.store
+ (get_local $0)
+ (i32.or
+ (get_local $2)
+ (i32.const 32)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
- )
- (block i32
- (i32.store offset=8
- (get_local $0)
- (i32.const 0)
- )
- (i32.store offset=4
- (get_local $0)
- (i32.const 0)
- )
- (i32.store offset=28
- (get_local $0)
- (tee_local $1
- (i32.load offset=44
- (get_local $0)
+ (block i32
+ (i32.store offset=8
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (get_local $0)
+ (i32.const 0)
+ )
+ (i32.store offset=28
+ (get_local $0)
+ (tee_local $1
+ (i32.load offset=44
+ (get_local $0)
+ )
)
)
- )
- (i32.store offset=20
- (get_local $0)
- (get_local $1)
- )
- (i32.store offset=16
- (get_local $0)
- (i32.add
+ (i32.store offset=20
+ (get_local $0)
(get_local $1)
- (i32.load offset=48
- (get_local $0)
+ )
+ (i32.store offset=16
+ (get_local $0)
+ (i32.add
+ (get_local $1)
+ (i32.load offset=48
+ (get_local $0)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
@@ -9490,57 +9478,58 @@
(get_local $1)
)
)
- (if i32
- (i32.eq
- (tee_local $0
- (if i32
- (i32.gt_s
- (i32.load offset=76
- (get_local $3)
- )
- (i32.const -1)
- )
- (block i32
- (set_local $5
- (i32.eqz
- (call $Ya
- (get_local $3)
- )
- )
- )
- (set_local $0
- (call $Wa
- (get_local $0)
- (get_local $4)
- (get_local $3)
- )
- )
- (if i32
- (get_local $5)
- (get_local $0)
- (block i32
- (call $Ta
- (get_local $3)
- )
- (get_local $0)
- )
- )
- )
- (call $Wa
- (get_local $0)
- (get_local $4)
+ (if
+ (i32.gt_s
+ (i32.load offset=76
+ (get_local $3)
+ )
+ (i32.const -1)
+ )
+ (block
+ (set_local $5
+ (i32.eqz
+ (call $Ya
(get_local $3)
)
)
)
- (get_local $4)
+ (set_local $0
+ (call $Wa
+ (get_local $0)
+ (get_local $4)
+ (get_local $3)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $5)
+ )
+ (call $Ta
+ (get_local $3)
+ )
+ )
)
- (get_local $2)
- (i32.div_u
+ (set_local $0
+ (call $Wa
+ (get_local $0)
+ (get_local $4)
+ (get_local $3)
+ )
+ )
+ )
+ (if
+ (i32.ne
(get_local $0)
- (get_local $1)
+ (get_local $4)
+ )
+ (set_local $2
+ (i32.div_u
+ (get_local $0)
+ (get_local $1)
+ )
)
)
+ (get_local $2)
)
(func $Ua (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
diff --git a/test/passes/optimize-instructions.txt b/test/passes/optimize-instructions.txt
index 226f1766e..cb043f155 100644
--- a/test/passes/optimize-instructions.txt
+++ b/test/passes/optimize-instructions.txt
@@ -373,6 +373,26 @@
(call $ne0)
(nop)
)
+ (if
+ (i32.or
+ (call $ne0)
+ (call $ne0)
+ )
+ (nop)
+ )
+ (if
+ (i32.and
+ (i32.ne
+ (call $ne0)
+ (i32.const 0)
+ )
+ (i32.ne
+ (call $ne0)
+ (i32.const 0)
+ )
+ )
+ (nop)
+ )
(i32.const 1)
)
(func $recurse-bool (type $1)
diff --git a/test/passes/optimize-instructions.wast b/test/passes/optimize-instructions.wast
index dfa6365f9..3cf756548 100644
--- a/test/passes/optimize-instructions.wast
+++ b/test/passes/optimize-instructions.wast
@@ -294,6 +294,22 @@
(if (i32.ne (i32.const 0) (call $ne0))
(nop)
)
+ ;; through an or
+ (if
+ (i32.or
+ (i32.ne (i32.const 0) (call $ne0))
+ (i32.ne (i32.const 0) (call $ne0))
+ )
+ (nop)
+ )
+ ;; but not an and
+ (if
+ (i32.and
+ (i32.ne (i32.const 0) (call $ne0))
+ (i32.ne (i32.const 0) (call $ne0))
+ )
+ (nop)
+ )
(i32.const 1)
)
(func $recurse-bool
diff --git a/test/passes/simplify-locals-nostructure.txt b/test/passes/simplify-locals-nostructure.txt
new file mode 100644
index 000000000..9d85e1ddc
--- /dev/null
+++ b/test/passes/simplify-locals-nostructure.txt
@@ -0,0 +1,65 @@
+(module
+ (type $0 (func))
+ (memory $0 0)
+ (func $contrast (type $0)
+ (local $x i32)
+ (local $y i32)
+ (local $z i32)
+ (local $a i32)
+ (local $b i32)
+ (nop)
+ (if
+ (tee_local $x
+ (i32.const 1)
+ )
+ (nop)
+ )
+ (if
+ (get_local $x)
+ (nop)
+ )
+ (nop)
+ (drop
+ (if i32
+ (i32.const 2)
+ (i32.const 3)
+ (i32.const 4)
+ )
+ )
+ (nop)
+ (drop
+ (block $block i32
+ (i32.const 5)
+ )
+ )
+ (if
+ (i32.const 6)
+ (set_local $a
+ (i32.const 7)
+ )
+ (set_local $a
+ (i32.const 8)
+ )
+ )
+ (drop
+ (get_local $a)
+ )
+ (block $val
+ (if
+ (i32.const 10)
+ (block $block4
+ (set_local $b
+ (i32.const 11)
+ )
+ (br $val)
+ )
+ )
+ (set_local $b
+ (i32.const 12)
+ )
+ )
+ (drop
+ (get_local $b)
+ )
+ )
+)
diff --git a/test/passes/simplify-locals-nostructure.wast b/test/passes/simplify-locals-nostructure.wast
new file mode 100644
index 000000000..e7b827f55
--- /dev/null
+++ b/test/passes/simplify-locals-nostructure.wast
@@ -0,0 +1,32 @@
+(module
+ (func $contrast ;; check for tee and structure sinking
+ (local $x i32)
+ (local $y i32)
+ (local $z i32)
+ (local $a i32)
+ (local $b i32)
+ (set_local $x (i32.const 1))
+ (if (get_local $x) (nop))
+ (if (get_local $x) (nop))
+ (set_local $y (if i32 (i32.const 2) (i32.const 3) (i32.const 4)))
+ (drop (get_local $y))
+ (set_local $z (block i32 (i32.const 5)))
+ (drop (get_local $z))
+ (if (i32.const 6)
+ (set_local $a (i32.const 7))
+ (set_local $a (i32.const 8))
+ )
+ (drop (get_local $a))
+ (block $val
+ (if (i32.const 10)
+ (block
+ (set_local $b (i32.const 11))
+ (br $val)
+ )
+ )
+ (set_local $b (i32.const 12))
+ )
+ (drop (get_local $b))
+ )
+)
+
diff --git a/test/passes/simplify-locals-notee-nostructure.txt b/test/passes/simplify-locals-notee-nostructure.txt
new file mode 100644
index 000000000..d631b9d83
--- /dev/null
+++ b/test/passes/simplify-locals-notee-nostructure.txt
@@ -0,0 +1,65 @@
+(module
+ (type $0 (func))
+ (memory $0 0)
+ (func $contrast (type $0)
+ (local $x i32)
+ (local $y i32)
+ (local $z i32)
+ (local $a i32)
+ (local $b i32)
+ (set_local $x
+ (i32.const 1)
+ )
+ (if
+ (get_local $x)
+ (nop)
+ )
+ (if
+ (get_local $x)
+ (nop)
+ )
+ (nop)
+ (drop
+ (if i32
+ (i32.const 2)
+ (i32.const 3)
+ (i32.const 4)
+ )
+ )
+ (nop)
+ (drop
+ (block $block i32
+ (i32.const 5)
+ )
+ )
+ (if
+ (i32.const 6)
+ (set_local $a
+ (i32.const 7)
+ )
+ (set_local $a
+ (i32.const 8)
+ )
+ )
+ (drop
+ (get_local $a)
+ )
+ (block $val
+ (if
+ (i32.const 10)
+ (block $block4
+ (set_local $b
+ (i32.const 11)
+ )
+ (br $val)
+ )
+ )
+ (set_local $b
+ (i32.const 12)
+ )
+ )
+ (drop
+ (get_local $b)
+ )
+ )
+)
diff --git a/test/passes/simplify-locals-notee-nostructure.wast b/test/passes/simplify-locals-notee-nostructure.wast
new file mode 100644
index 000000000..e7b827f55
--- /dev/null
+++ b/test/passes/simplify-locals-notee-nostructure.wast
@@ -0,0 +1,32 @@
+(module
+ (func $contrast ;; check for tee and structure sinking
+ (local $x i32)
+ (local $y i32)
+ (local $z i32)
+ (local $a i32)
+ (local $b i32)
+ (set_local $x (i32.const 1))
+ (if (get_local $x) (nop))
+ (if (get_local $x) (nop))
+ (set_local $y (if i32 (i32.const 2) (i32.const 3) (i32.const 4)))
+ (drop (get_local $y))
+ (set_local $z (block i32 (i32.const 5)))
+ (drop (get_local $z))
+ (if (i32.const 6)
+ (set_local $a (i32.const 7))
+ (set_local $a (i32.const 8))
+ )
+ (drop (get_local $a))
+ (block $val
+ (if (i32.const 10)
+ (block
+ (set_local $b (i32.const 11))
+ (br $val)
+ )
+ )
+ (set_local $b (i32.const 12))
+ )
+ (drop (get_local $b))
+ )
+)
+
diff --git a/test/passes/simplify-locals-notee.txt b/test/passes/simplify-locals-notee.txt
new file mode 100644
index 000000000..fc48429d7
--- /dev/null
+++ b/test/passes/simplify-locals-notee.txt
@@ -0,0 +1,66 @@
+(module
+ (type $0 (func))
+ (memory $0 0)
+ (func $contrast (type $0)
+ (local $x i32)
+ (local $y i32)
+ (local $z i32)
+ (local $a i32)
+ (local $b i32)
+ (set_local $x
+ (i32.const 1)
+ )
+ (if
+ (get_local $x)
+ (nop)
+ )
+ (if
+ (get_local $x)
+ (nop)
+ )
+ (nop)
+ (drop
+ (if i32
+ (i32.const 2)
+ (i32.const 3)
+ (i32.const 4)
+ )
+ )
+ (nop)
+ (drop
+ (block $block i32
+ (i32.const 5)
+ )
+ )
+ (nop)
+ (drop
+ (if i32
+ (i32.const 6)
+ (block i32
+ (nop)
+ (i32.const 7)
+ )
+ (block i32
+ (nop)
+ (i32.const 8)
+ )
+ )
+ )
+ (nop)
+ (drop
+ (block $val i32
+ (if
+ (i32.const 10)
+ (block $block4
+ (nop)
+ (br $val
+ (i32.const 11)
+ )
+ )
+ )
+ (nop)
+ (i32.const 12)
+ )
+ )
+ )
+)
diff --git a/test/passes/simplify-locals-notee.wast b/test/passes/simplify-locals-notee.wast
new file mode 100644
index 000000000..e7b827f55
--- /dev/null
+++ b/test/passes/simplify-locals-notee.wast
@@ -0,0 +1,32 @@
+(module
+ (func $contrast ;; check for tee and structure sinking
+ (local $x i32)
+ (local $y i32)
+ (local $z i32)
+ (local $a i32)
+ (local $b i32)
+ (set_local $x (i32.const 1))
+ (if (get_local $x) (nop))
+ (if (get_local $x) (nop))
+ (set_local $y (if i32 (i32.const 2) (i32.const 3) (i32.const 4)))
+ (drop (get_local $y))
+ (set_local $z (block i32 (i32.const 5)))
+ (drop (get_local $z))
+ (if (i32.const 6)
+ (set_local $a (i32.const 7))
+ (set_local $a (i32.const 8))
+ )
+ (drop (get_local $a))
+ (block $val
+ (if (i32.const 10)
+ (block
+ (set_local $b (i32.const 11))
+ (br $val)
+ )
+ )
+ (set_local $b (i32.const 12))
+ )
+ (drop (get_local $b))
+ )
+)
+
diff --git a/test/passes/simplify-locals.txt b/test/passes/simplify-locals.txt
index 36424193b..c9601940b 100644
--- a/test/passes/simplify-locals.txt
+++ b/test/passes/simplify-locals.txt
@@ -15,6 +15,68 @@
(import "env" "moddi" (func $___udivmoddi4 (param i32 i32 i32 i32 i32) (result i32)))
(import "env" "lp" (func $lp (param i32 i32) (result i32)))
(memory $0 256 256)
+ (func $contrast (type $FUNCSIG$v)
+ (local $x i32)
+ (local $y i32)
+ (local $z i32)
+ (local $a i32)
+ (local $b i32)
+ (nop)
+ (if
+ (tee_local $x
+ (i32.const 1)
+ )
+ (nop)
+ )
+ (if
+ (get_local $x)
+ (nop)
+ )
+ (nop)
+ (drop
+ (if i32
+ (i32.const 2)
+ (i32.const 3)
+ (i32.const 4)
+ )
+ )
+ (nop)
+ (drop
+ (block $block i32
+ (i32.const 5)
+ )
+ )
+ (nop)
+ (drop
+ (if i32
+ (i32.const 6)
+ (block i32
+ (nop)
+ (i32.const 7)
+ )
+ (block i32
+ (nop)
+ (i32.const 8)
+ )
+ )
+ )
+ (nop)
+ (drop
+ (block $val i32
+ (if
+ (i32.const 10)
+ (block $block4
+ (nop)
+ (br $val
+ (i32.const 11)
+ )
+ )
+ )
+ (nop)
+ (i32.const 12)
+ )
+ )
+ )
(func $b0-yes (type $4) (param $i1 i32)
(local $x i32)
(local $y i32)
@@ -225,7 +287,7 @@
(nop)
(set_local $a
(block $block i32
- (block $block4
+ (block $block5
(nop)
(i32.store
(i32.const 104)
@@ -239,8 +301,8 @@
)
(call $waka)
(set_local $a
- (block $block5 i32
- (block $block6
+ (block $block6 i32
+ (block $block7
(nop)
(i32.store
(i32.const 106)
@@ -258,8 +320,8 @@
)
(call $waka)
(set_local $a
- (block $block7 i32
- (block $block8
+ (block $block8 i32
+ (block $block9
(nop)
(i32.store
(i32.const 108)
@@ -281,8 +343,8 @@
)
(call $waka)
(set_local $a
- (block $block9 i32
- (block $block10
+ (block $block10 i32
+ (block $block11
(nop)
(i32.store
(i32.const 110)
@@ -703,10 +765,10 @@
(drop
(get_local $x)
)
- (block $moar17
+ (block $moar18
(set_local $y
- (block $block18 i32
- (br_if $moar17
+ (block $block19 i32
+ (br_if $moar18
(get_local $y)
)
(i32.const 0)
diff --git a/test/passes/simplify-locals.wast b/test/passes/simplify-locals.wast
index 06907a570..a8fc75f06 100644
--- a/test/passes/simplify-locals.wast
+++ b/test/passes/simplify-locals.wast
@@ -12,6 +12,35 @@
(import $_i64Subtract "env" "i64sub" (param i32 i32 i32 i32) (result i32))
(import $___udivmoddi4 "env" "moddi" (param i32 i32 i32 i32 i32) (result i32))
(import $lp "env" "lp" (param i32 i32) (result i32))
+ (func $contrast ;; check for tee and structure sinking
+ (local $x i32)
+ (local $y i32)
+ (local $z i32)
+ (local $a i32)
+ (local $b i32)
+ (set_local $x (i32.const 1))
+ (if (get_local $x) (nop))
+ (if (get_local $x) (nop))
+ (set_local $y (if i32 (i32.const 2) (i32.const 3) (i32.const 4)))
+ (drop (get_local $y))
+ (set_local $z (block i32 (i32.const 5)))
+ (drop (get_local $z))
+ (if (i32.const 6)
+ (set_local $a (i32.const 7))
+ (set_local $a (i32.const 8))
+ )
+ (drop (get_local $a))
+ (block $val
+ (if (i32.const 10)
+ (block
+ (set_local $b (i32.const 11))
+ (br $val)
+ )
+ )
+ (set_local $b (i32.const 12))
+ )
+ (drop (get_local $b))
+ )
(func $b0-yes (type $4) (param $i1 i32)
(local $x i32)
(local $y i32)
diff --git a/test/unit.fromasm b/test/unit.fromasm
index a6dac1e63..4bc083abc 100644
--- a/test/unit.fromasm
+++ b/test/unit.fromasm
@@ -148,13 +148,12 @@
(func $conversions
(local $0 f64)
(local $1 f32)
- (local $2 i32)
(drop
(call $f64-to-int
(get_local $0)
)
)
- (set_local $2
+ (drop
(call $f64-to-int
(f64.promote/f32
(get_local $1)
diff --git a/test/unit.fromasm.imprecise b/test/unit.fromasm.imprecise
index bb1147d16..98a797f65 100644
--- a/test/unit.fromasm.imprecise
+++ b/test/unit.fromasm.imprecise
@@ -32,7 +32,7 @@
(export "pick" (func $big_negative))
(export "doubleCompares" (func $doubleCompares))
(export "intOps" (func $intOps))
- (export "conversions" (func $conversions))
+ (export "conversions" (func $big_negative))
(export "switcher" (func $switcher))
(export "frem" (func $frem))
(export "big_uint_div_u" (func $big_uint_div_u))
@@ -140,15 +140,6 @@
(get_local $0)
)
)
- (func $conversions
- (local $0 f32)
- (local $1 i32)
- (set_local $1
- (i32.trunc_s/f32
- (get_local $0)
- )
- )
- )
(func $switcher (param $0 i32) (result i32)
(block $switch
(block $switch-case0
diff --git a/test/wasm-only.fromasm b/test/wasm-only.fromasm
index 9fd95ed27..adcc66137 100644
--- a/test/wasm-only.fromasm
+++ b/test/wasm-only.fromasm
@@ -173,7 +173,6 @@
(local $0 i64)
(local $1 i64)
(local $2 i32)
- (local $3 f64)
(drop
(call $i64s-rem
(call $i64u-rem
@@ -182,27 +181,27 @@
(i64.mul
(i64.sub
(i64.add
- (tee_local $1
+ (tee_local $0
(i64.const 128849018897)
)
(i64.const 100)
)
- (get_local $1)
+ (get_local $0)
)
- (get_local $1)
+ (get_local $0)
)
- (get_local $1)
+ (get_local $0)
)
- (get_local $1)
+ (get_local $0)
)
- (get_local $1)
+ (get_local $0)
)
- (get_local $1)
+ (get_local $0)
)
)
(i64.store
(i32.const 120)
- (tee_local $0
+ (tee_local $1
(i64.load
(i32.const 120)
)
@@ -210,35 +209,30 @@
)
(i64.store
(i32.const 120)
- (get_local $0)
+ (get_local $1)
)
(i64.store align=2
(i32.const 120)
- (get_local $0)
+ (get_local $1)
)
(i64.store align=4
(i32.const 120)
- (get_local $0)
+ (get_local $1)
)
(i64.store
(i32.const 120)
- (get_local $0)
+ (get_local $1)
)
(set_local $2
(i32.wrap/i64
- (get_local $0)
+ (get_local $1)
)
)
- (set_local $0
+ (set_local $1
(i64.extend_u/i32
(get_local $2)
)
)
- (set_local $3
- (f64.convert_u/i64
- (get_local $0)
- )
- )
)
(func $imports (result i64)
(call $legalfunc$illegalImport
diff --git a/test/wasm-only.fromasm.imprecise b/test/wasm-only.fromasm.imprecise
index 0289372eb..def563598 100644
--- a/test/wasm-only.fromasm.imprecise
+++ b/test/wasm-only.fromasm.imprecise
@@ -124,7 +124,6 @@
(local $0 i64)
(local $1 i32)
(local $2 i64)
- (local $3 f64)
(set_local $2
(i64.const 128849018897)
)
@@ -162,11 +161,6 @@
(get_local $1)
)
)
- (set_local $3
- (f64.convert_u/i64
- (get_local $0)
- )
- )
)
(func $imports (result i64)
(call $legalfunc$illegalImport