diff options
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 |