diff options
author | Alon Zakai <alonzakai@gmail.com> | 2019-02-26 16:15:04 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-26 16:15:04 -0800 |
commit | c6237e8ea6236aa4a622cae64517cc3fd4f27b83 (patch) | |
tree | 0446fe737565914b63d2cf9cc56c29456ebe3f18 | |
parent | 8b698a87ba2c7891a8c17c07744bf3fcfe49f691 (diff) | |
download | binaryen-c6237e8ea6236aa4a622cae64517cc3fd4f27b83.tar.gz binaryen-c6237e8ea6236aa4a622cae64517cc3fd4f27b83.tar.bz2 binaryen-c6237e8ea6236aa4a622cae64517cc3fd4f27b83.zip |
Dead return value elimination in DeadArgumentElimination (#1917)
* Finds functions whose return value is always dropped, and removes the return.
* Run multiple iterations of the pass, as one can enable others.
* Do not run DeadArgumentElimination at all if debug info is present (with these improvements, it became much more likely to destroy debug info).
Saves 2.5% on hello world, because of some simple libc calls.
-rw-r--r-- | src/passes/DeadArgumentElimination.cpp | 104 | ||||
-rw-r--r-- | src/passes/RemoveNonJSOps.cpp | 2 | ||||
-rw-r--r-- | src/passes/pass.cpp | 17 | ||||
-rw-r--r-- | test/emcc_O2_hello_world.fromasm | 327 | ||||
-rw-r--r-- | test/emcc_O2_hello_world.fromasm.clamp | 327 | ||||
-rw-r--r-- | test/emcc_O2_hello_world.fromasm.imprecise | 328 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm | 2556 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm.clamp | 2556 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm.imprecise | 2547 | ||||
-rw-r--r-- | test/memorygrowth.fromasm | 325 | ||||
-rw-r--r-- | test/memorygrowth.fromasm.clamp | 325 | ||||
-rw-r--r-- | test/memorygrowth.fromasm.imprecise | 328 | ||||
-rw-r--r-- | test/passes/dae.txt | 75 | ||||
-rw-r--r-- | test/passes/dae.wast | 50 | ||||
-rw-r--r-- | test/unit.fromasm | 42 | ||||
-rw-r--r-- | test/unit.fromasm.clamp | 109 | ||||
-rw-r--r-- | test/unit.fromasm.imprecise | 42 | ||||
-rw-r--r-- | test/wasm-only.fromasm | 324 | ||||
-rw-r--r-- | test/wasm-only.fromasm.clamp | 324 | ||||
-rw-r--r-- | test/wasm-only.fromasm.imprecise | 174 |
20 files changed, 5013 insertions, 5869 deletions
diff --git a/src/passes/DeadArgumentElimination.cpp b/src/passes/DeadArgumentElimination.cpp index 434ea1ece..e4b8eef56 100644 --- a/src/passes/DeadArgumentElimination.cpp +++ b/src/passes/DeadArgumentElimination.cpp @@ -27,6 +27,7 @@ // If so, we can avoid even sending and receiving it. (Note how if // the previous point was true for an argument, then the second // must as well.) +// * Find return values ("return arguments" ;) that are never used. // // This pass does not depend on flattening, but it may be more effective, // as then call arguments never have side effects (which we need to @@ -53,6 +54,9 @@ struct DAEFunctionInfo { SortedVector unusedParams; // Maps a function name to the calls going to it. std::unordered_map<Name, std::vector<Call*>> calls; + // Map of all calls that are dropped, to their drops' locations (so that + // if we can optimize out the drop, we can replace the drop there). + std::unordered_map<Call*, Expression**> droppedCalls; // Whether the function can be called from places that // affect what we can do. For now, any call we don't // see inhibits our optimizations, but TODO: an export @@ -116,6 +120,12 @@ struct DAEScanner : public WalkerPass<CFGWalker<DAEScanner, Visitor<DAEScanner>, } } + void visitDrop(Drop* curr) { + if (auto* call = curr->value->dynCast<Call>()) { + info->droppedCalls[call] = getCurrentPointer(); + } + } + // main entry point void doWalkFunction(Function* func) { @@ -197,6 +207,15 @@ struct DAE : public Pass { bool optimize = false; void run(PassRunner* runner, Module* module) override { + // Iterate to convergence. + while (1) { + if (!iteration(runner, module)) { + break; + } + } + } + + bool iteration(PassRunner* runner, Module* module) { DAEFunctionInfoMap infoMap; // Ensure they all exist so the parallel threads don't modify the data structure. ModuleUtils::iterDefinedFunctions(*module, [&](Function* func) { @@ -230,6 +249,9 @@ struct DAE : public Pass { auto& allCallsToName = allCalls[name]; allCallsToName.insert(allCallsToName.end(), calls.begin(), calls.end()); } + for (auto& pair : info.droppedCalls) { + allDroppedCalls[pair.first] = pair.second; + } } // We now have a mapping of all call sites for each function. Check which // are always passed the same constant for a particular argument. @@ -237,7 +259,9 @@ struct DAE : public Pass { auto name = pair.first; // We can only optimize if we see all the calls and can modify // them. - if (infoMap[name].hasUnseenCalls) continue; + if (infoMap[name].hasUnseenCalls) { + continue; + } auto& calls = pair.second; auto* func = module->getFunction(name); auto numParams = func->getNumParams(); @@ -311,13 +335,48 @@ struct DAE : public Pass { i--; } } - if (optimize && changed.size() > 0) { + // We can also tell which calls have all their return values dropped. Note that we can't do this + // if we changed anything so far, as we may have modified allCalls (we can't modify a call site + // twice in one iteration, once to remove a param, once to drop the return value). + if (changed.empty()) { + for (auto& func : module->functions) { + if (func->result == none) { + continue; + } + auto name = func->name; + if (infoMap[name].hasUnseenCalls) { + continue; + } + auto iter = allCalls.find(name); + if (iter == allCalls.end()) { + continue; + } + auto& calls = iter->second; + bool allDropped = true; + for (auto* call : calls) { + if (!allDroppedCalls.count(call)) { + allDropped = false; + break; + } + } + if (!allDropped) { + continue; + } + removeReturnValue(func.get(), calls, module); + // TODO Removing a drop may also open optimization opportunities in the callers. + changed.insert(func.get()); + } + } + if (optimize && !changed.empty()) { OptUtils::optimizeAfterInlining(changed, module, runner); } + return !changed.empty(); } private: - void removeParameter(Function* func, Index i, std::vector<Call*> calls) { + std::unordered_map<Call*, Expression**> allDroppedCalls; + + void removeParameter(Function* func, Index i, std::vector<Call*>& calls) { // Clear the type, which is no longer accurate. func->type = Name(); // It's cumbersome to adjust local names - TODO don't clear them? @@ -354,6 +413,45 @@ private: call->operands.erase(call->operands.begin() + i); } } + + void removeReturnValue(Function* func, std::vector<Call*>& calls, Module* module) { + // Clear the type, which is no longer accurate. + func->type = Name(); + func->result = none; + Builder builder(*module); + // Remove any return values. + struct ReturnUpdater : public PostWalker<ReturnUpdater> { + Module* module; + ReturnUpdater(Function* func, Module* module) : module(module) { + walk(func->body); + } + void visitReturn(Return* curr) { + auto* value = curr->value; + assert(value); + curr->value = nullptr; + Builder builder(*module); + replaceCurrent(builder.makeSequence( + builder.makeDrop(value), + curr + )); + } + } returnUpdater(func, module); + // Remove any value flowing out. + if (isConcreteType(func->body->type)) { + func->body = builder.makeDrop(func->body); + } + // Remove the drops on the calls. + for (auto* call : calls) { + auto iter = allDroppedCalls.find(call); + assert(iter != allDroppedCalls.end()); + Expression** location = iter->second; + *location = call; + // Update the call's type. + if (call->type != unreachable) { + call->type = none; + } + } + } }; Pass *createDAEPass() { diff --git a/src/passes/RemoveNonJSOps.cpp b/src/passes/RemoveNonJSOps.cpp index ef8c7531c..cc9a40a1f 100644 --- a/src/passes/RemoveNonJSOps.cpp +++ b/src/passes/RemoveNonJSOps.cpp @@ -107,7 +107,7 @@ struct RemoveNonJSOpsPass : public WalkerPass<PostWalker<RemoveNonJSOpsPass>> { auto function = m.getFunction(name); FindAll<Call> calls(function->body); - for (auto &call : calls.list) { + for (auto* call : calls.list) { this->addNeededFunctions(m, call->target, needed); } } diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp index 3eed059bb..4b14186fb 100644 --- a/src/passes/pass.cpp +++ b/src/passes/pass.cpp @@ -214,14 +214,15 @@ void PassRunner::addDefaultGlobalOptimizationPrePasses() { } void PassRunner::addDefaultGlobalOptimizationPostPasses() { - if (options.optimizeLevel >= 2 || options.shrinkLevel >= 1) { - add("dae-optimizing"); - } - // inline when working hard, and when not preserving debug info - // (inlining+optimizing can remove the annotations) - if ((options.optimizeLevel >= 2 || options.shrinkLevel >= 2) && - !options.debugInfo) { - add("inlining-optimizing"); + // inlining/dae+optimizing can remove debug annotations + if (!options.debugInfo) { + if (options.optimizeLevel >= 2 || options.shrinkLevel >= 1) { + add("dae-optimizing"); + } + // inline when working hard, and when not preserving debug info + if (options.optimizeLevel >= 2 || options.shrinkLevel >= 2) { + add("inlining-optimizing"); + } } add("duplicate-function-elimination"); // optimizations show more functions as duplicate add("remove-unused-module-elements"); diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm index aaa67c330..7ea5ff8d6 100644 --- a/test/emcc_O2_hello_world.fromasm +++ b/test/emcc_O2_hello_world.fromasm @@ -7998,52 +7998,52 @@ ) (local.get $15) ) - (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (if - (local.tee $4 - (i32.load - (local.tee $3 - (i32.add - (local.get $2) - (i32.const 16) + (local.set $6 + (i32.const 672) + ) + (local.set $5 + (if (result i32) + (local.tee $3 + (i32.load + (local.tee $2 + (i32.add + (local.get $1) + (i32.const 16) + ) ) ) ) - ) - (block - (local.set $5 - (local.get $4) - ) - (local.set $7 - (i32.const 5) + (block (result i32) + (local.set $4 + (i32.const 5) + ) + (local.get $3) ) - ) - (if - (i32.eqz + (if (result i32) (call $___towrite - (local.get $2) + (local.get $1) ) - ) - (block - (local.set $5 + (local.get $5) + (block (result i32) + (local.set $4 + (i32.const 5) + ) (i32.load - (local.get $3) + (local.get $2) ) ) - (local.set $7 - (i32.const 5) - ) ) ) ) (if (result i32) (i32.eq - (local.get $7) + (local.get $4) (i32.const 5) ) (block $label$break$L5 (result i32) @@ -8051,28 +8051,28 @@ (i32.lt_u (i32.sub (local.get $5) - (local.tee $3 + (local.tee $2 (i32.load - (local.tee $4 + (local.tee $3 (i32.add - (local.get $2) + (local.get $1) (i32.const 20) ) ) ) ) ) - (local.get $1) + (local.get $0) ) (br $label$break$L5 (call_indirect (type $FUNCSIG$iiii) - (local.get $2) - (local.get $0) (local.get $1) + (i32.const 672) + (local.get $0) (i32.add (i32.and (i32.load offset=36 - (local.get $2) + (local.get $1) ) (i32.const 7) ) @@ -8081,27 +8081,27 @@ ) ) ) - (local.set $6 - (local.get $3) + (local.set $4 + (local.get $2) ) (if (i32.gt_s (i32.load8_s offset=75 - (local.get $2) + (local.get $1) ) (i32.const -1) ) (block $label$break$L10 - (local.set $3 - (local.get $1) + (local.set $2 + (local.get $0) ) (loop $while-in (if (i32.eqz - (local.get $3) + (local.get $2) ) (block - (local.set $3 + (local.set $2 (i32.const 0) ) (br $label$break$L10) @@ -8111,19 +8111,19 @@ (i32.ne (i32.load8_s (i32.add - (local.get $0) (local.tee $5 (i32.add - (local.get $3) + (local.get $2) (i32.const -1) ) ) + (i32.const 672) ) ) (i32.const 10) ) (block - (local.set $3 + (local.set $2 (local.get $5) ) (br $while-in) @@ -8132,70 +8132,70 @@ ) (drop (br_if $label$break$L5 - (local.get $3) + (local.get $2) (i32.lt_u (call_indirect (type $FUNCSIG$iiii) + (local.get $1) + (i32.const 672) (local.get $2) - (local.get $0) - (local.get $3) (i32.add (i32.and (i32.load offset=36 - (local.get $2) + (local.get $1) ) (i32.const 7) ) (i32.const 2) ) ) - (local.get $3) + (local.get $2) ) ) ) - (local.set $1 + (local.set $0 (i32.sub - (local.get $1) - (local.get $3) + (local.get $0) + (local.get $2) ) ) - (local.set $0 + (local.set $6 (i32.add - (local.get $0) - (local.get $3) + (local.get $2) + (i32.const 672) ) ) - (local.set $6 + (local.set $4 (i32.load - (local.get $4) + (local.get $3) ) ) ) - (local.set $3 + (local.set $2 (i32.const 0) ) ) (drop (call $_memcpy + (local.get $4) (local.get $6) (local.get $0) - (local.get $1) ) ) (i32.store - (local.get $4) + (local.get $3) (i32.add - (local.get $1) + (local.get $0) (i32.load - (local.get $4) + (local.get $3) ) ) ) (i32.add - (local.get $1) - (local.get $3) + (local.get $0) + (local.get $2) ) ) - (local.get $6) + (i32.const 0) ) ) (func $_fflush (; 19 ;) (; has Stack IR ;) (param $0 i32) (result i32) @@ -8297,65 +8297,21 @@ ) (local.get $1) ) - (func $_strlen (; 20 ;) (; has Stack IR ;) (param $0 i32) (result i32) + (func $_strlen (; 20 ;) (; has Stack IR ;) (result i32) + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (if - (i32.and - (local.tee $3 - (local.get $0) - ) - (i32.const 3) - ) - (block $label$break$L1 - (local.set $4 - (local.get $3) - ) - (local.set $1 - (loop $while-in (result i32) - (if - (i32.eqz - (i32.load8_s - (local.get $0) - ) - ) - (block - (local.set $5 - (local.get $4) - ) - (br $label$break$L1) - ) - ) - (br_if $while-in - (i32.and - (local.tee $4 - (local.tee $0 - (i32.add - (local.get $0) - (i32.const 1) - ) - ) - ) - (i32.const 3) - ) - ) - (local.set $2 - (i32.const 4) - ) - (local.get $0) - ) - ) + (local.set $0 + (i32.const 672) + ) + (block + (local.set $1 + (i32.const 672) ) - (block - (local.set $1 - (local.get $0) - ) - (local.set $2 - (i32.const 4) - ) + (local.set $2 + (i32.const 4) ) ) (i32.sub @@ -8432,9 +8388,9 @@ ) (local.get $0) ) - (local.get $5) + (local.get $4) ) - (local.get $3) + (i32.const 672) ) ) (func $___overflow (; 21 ;) (; has Stack IR ;) (param $0 i32) (result i32) @@ -8988,7 +8944,7 @@ (local.get $2) ) ) - (func $_puts (; 26 ;) (; has Stack IR ;) (result i32) + (func $_puts (; 26 ;) (; has Stack IR ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9001,77 +8957,67 @@ ) ) ) - (i32.shr_s - (i32.shl - (if (result i32) - (i32.lt_s - (i32.add - (call $_fwrite - (i32.const 672) - (call $_strlen - (i32.const 672) - ) - (local.get $0) - ) - (i32.const -1) + (drop + (if (result i32) + (i32.lt_s + (i32.add + (call $_fwrite + (call $_strlen) + (local.get $0) ) - (i32.const 0) + (i32.const -1) ) - (i32.const 1) - (block $do-once (result i32) - (if - (if (result i32) - (i32.ne - (i32.load8_s offset=75 - (local.get $0) - ) - (i32.const 10) + (i32.const 0) + ) + (i32.const 1) + (block $do-once (result i32) + (if + (if (result i32) + (i32.ne + (i32.load8_s offset=75 + (local.get $0) ) - (i32.lt_u - (local.tee $1 - (i32.load - (local.tee $2 - (i32.add - (local.get $0) - (i32.const 20) - ) + (i32.const 10) + ) + (i32.lt_u + (local.tee $1 + (i32.load + (local.tee $2 + (i32.add + (local.get $0) + (i32.const 20) ) ) ) - (i32.load offset=16 - (local.get $0) - ) ) - (i32.const 0) - ) - (block - (i32.store - (local.get $2) - (i32.add - (local.get $1) - (i32.const 1) - ) + (i32.load offset=16 + (local.get $0) ) - (i32.store8 + ) + (i32.const 0) + ) + (block + (i32.store + (local.get $2) + (i32.add (local.get $1) - (i32.const 10) - ) - (br $do-once - (i32.const 0) + (i32.const 1) ) ) - ) - (i32.lt_s - (call $___overflow - (local.get $0) + (i32.store8 + (local.get $1) + (i32.const 10) + ) + (br $do-once + (i32.const 0) ) - (i32.const 0) ) ) + (call $___overflow + (local.get $0) + ) ) - (i32.const 31) ) - (i32.const 31) ) ) (func $___stdio_seek (; 27 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -9219,34 +9165,33 @@ ) ) ) - (func $_fwrite (; 29 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local.set $3 - (local.get $1) + (func $_fwrite (; 29 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local.set $2 + (local.get $0) ) (if (result i32) (block (result i32) (drop (i32.load offset=76 - (local.get $2) + (local.get $1) ) ) (i32.ne - (local.get $3) - (local.tee $0 + (local.get $2) + (local.tee $1 (call $___fwritex - (local.get $0) - (local.get $3) (local.get $2) + (local.get $1) ) ) ) ) (if (result i32) - (local.get $1) + (local.get $0) (i32.div_u - (local.get $0) (local.get $1) + (local.get $0) ) (i32.const 0) ) @@ -9495,9 +9440,7 @@ (global.get $tempRet0) ) (func $_main (; 46 ;) (; has Stack IR ;) (result i32) - (drop - (call $_puts) - ) + (call $_puts) (i32.const 0) ) (func $stackSave (; 47 ;) (; has Stack IR ;) (result i32) diff --git a/test/emcc_O2_hello_world.fromasm.clamp b/test/emcc_O2_hello_world.fromasm.clamp index aaa67c330..7ea5ff8d6 100644 --- a/test/emcc_O2_hello_world.fromasm.clamp +++ b/test/emcc_O2_hello_world.fromasm.clamp @@ -7998,52 +7998,52 @@ ) (local.get $15) ) - (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (if - (local.tee $4 - (i32.load - (local.tee $3 - (i32.add - (local.get $2) - (i32.const 16) + (local.set $6 + (i32.const 672) + ) + (local.set $5 + (if (result i32) + (local.tee $3 + (i32.load + (local.tee $2 + (i32.add + (local.get $1) + (i32.const 16) + ) ) ) ) - ) - (block - (local.set $5 - (local.get $4) - ) - (local.set $7 - (i32.const 5) + (block (result i32) + (local.set $4 + (i32.const 5) + ) + (local.get $3) ) - ) - (if - (i32.eqz + (if (result i32) (call $___towrite - (local.get $2) + (local.get $1) ) - ) - (block - (local.set $5 + (local.get $5) + (block (result i32) + (local.set $4 + (i32.const 5) + ) (i32.load - (local.get $3) + (local.get $2) ) ) - (local.set $7 - (i32.const 5) - ) ) ) ) (if (result i32) (i32.eq - (local.get $7) + (local.get $4) (i32.const 5) ) (block $label$break$L5 (result i32) @@ -8051,28 +8051,28 @@ (i32.lt_u (i32.sub (local.get $5) - (local.tee $3 + (local.tee $2 (i32.load - (local.tee $4 + (local.tee $3 (i32.add - (local.get $2) + (local.get $1) (i32.const 20) ) ) ) ) ) - (local.get $1) + (local.get $0) ) (br $label$break$L5 (call_indirect (type $FUNCSIG$iiii) - (local.get $2) - (local.get $0) (local.get $1) + (i32.const 672) + (local.get $0) (i32.add (i32.and (i32.load offset=36 - (local.get $2) + (local.get $1) ) (i32.const 7) ) @@ -8081,27 +8081,27 @@ ) ) ) - (local.set $6 - (local.get $3) + (local.set $4 + (local.get $2) ) (if (i32.gt_s (i32.load8_s offset=75 - (local.get $2) + (local.get $1) ) (i32.const -1) ) (block $label$break$L10 - (local.set $3 - (local.get $1) + (local.set $2 + (local.get $0) ) (loop $while-in (if (i32.eqz - (local.get $3) + (local.get $2) ) (block - (local.set $3 + (local.set $2 (i32.const 0) ) (br $label$break$L10) @@ -8111,19 +8111,19 @@ (i32.ne (i32.load8_s (i32.add - (local.get $0) (local.tee $5 (i32.add - (local.get $3) + (local.get $2) (i32.const -1) ) ) + (i32.const 672) ) ) (i32.const 10) ) (block - (local.set $3 + (local.set $2 (local.get $5) ) (br $while-in) @@ -8132,70 +8132,70 @@ ) (drop (br_if $label$break$L5 - (local.get $3) + (local.get $2) (i32.lt_u (call_indirect (type $FUNCSIG$iiii) + (local.get $1) + (i32.const 672) (local.get $2) - (local.get $0) - (local.get $3) (i32.add (i32.and (i32.load offset=36 - (local.get $2) + (local.get $1) ) (i32.const 7) ) (i32.const 2) ) ) - (local.get $3) + (local.get $2) ) ) ) - (local.set $1 + (local.set $0 (i32.sub - (local.get $1) - (local.get $3) + (local.get $0) + (local.get $2) ) ) - (local.set $0 + (local.set $6 (i32.add - (local.get $0) - (local.get $3) + (local.get $2) + (i32.const 672) ) ) - (local.set $6 + (local.set $4 (i32.load - (local.get $4) + (local.get $3) ) ) ) - (local.set $3 + (local.set $2 (i32.const 0) ) ) (drop (call $_memcpy + (local.get $4) (local.get $6) (local.get $0) - (local.get $1) ) ) (i32.store - (local.get $4) + (local.get $3) (i32.add - (local.get $1) + (local.get $0) (i32.load - (local.get $4) + (local.get $3) ) ) ) (i32.add - (local.get $1) - (local.get $3) + (local.get $0) + (local.get $2) ) ) - (local.get $6) + (i32.const 0) ) ) (func $_fflush (; 19 ;) (; has Stack IR ;) (param $0 i32) (result i32) @@ -8297,65 +8297,21 @@ ) (local.get $1) ) - (func $_strlen (; 20 ;) (; has Stack IR ;) (param $0 i32) (result i32) + (func $_strlen (; 20 ;) (; has Stack IR ;) (result i32) + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (if - (i32.and - (local.tee $3 - (local.get $0) - ) - (i32.const 3) - ) - (block $label$break$L1 - (local.set $4 - (local.get $3) - ) - (local.set $1 - (loop $while-in (result i32) - (if - (i32.eqz - (i32.load8_s - (local.get $0) - ) - ) - (block - (local.set $5 - (local.get $4) - ) - (br $label$break$L1) - ) - ) - (br_if $while-in - (i32.and - (local.tee $4 - (local.tee $0 - (i32.add - (local.get $0) - (i32.const 1) - ) - ) - ) - (i32.const 3) - ) - ) - (local.set $2 - (i32.const 4) - ) - (local.get $0) - ) - ) + (local.set $0 + (i32.const 672) + ) + (block + (local.set $1 + (i32.const 672) ) - (block - (local.set $1 - (local.get $0) - ) - (local.set $2 - (i32.const 4) - ) + (local.set $2 + (i32.const 4) ) ) (i32.sub @@ -8432,9 +8388,9 @@ ) (local.get $0) ) - (local.get $5) + (local.get $4) ) - (local.get $3) + (i32.const 672) ) ) (func $___overflow (; 21 ;) (; has Stack IR ;) (param $0 i32) (result i32) @@ -8988,7 +8944,7 @@ (local.get $2) ) ) - (func $_puts (; 26 ;) (; has Stack IR ;) (result i32) + (func $_puts (; 26 ;) (; has Stack IR ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9001,77 +8957,67 @@ ) ) ) - (i32.shr_s - (i32.shl - (if (result i32) - (i32.lt_s - (i32.add - (call $_fwrite - (i32.const 672) - (call $_strlen - (i32.const 672) - ) - (local.get $0) - ) - (i32.const -1) + (drop + (if (result i32) + (i32.lt_s + (i32.add + (call $_fwrite + (call $_strlen) + (local.get $0) ) - (i32.const 0) + (i32.const -1) ) - (i32.const 1) - (block $do-once (result i32) - (if - (if (result i32) - (i32.ne - (i32.load8_s offset=75 - (local.get $0) - ) - (i32.const 10) + (i32.const 0) + ) + (i32.const 1) + (block $do-once (result i32) + (if + (if (result i32) + (i32.ne + (i32.load8_s offset=75 + (local.get $0) ) - (i32.lt_u - (local.tee $1 - (i32.load - (local.tee $2 - (i32.add - (local.get $0) - (i32.const 20) - ) + (i32.const 10) + ) + (i32.lt_u + (local.tee $1 + (i32.load + (local.tee $2 + (i32.add + (local.get $0) + (i32.const 20) ) ) ) - (i32.load offset=16 - (local.get $0) - ) ) - (i32.const 0) - ) - (block - (i32.store - (local.get $2) - (i32.add - (local.get $1) - (i32.const 1) - ) + (i32.load offset=16 + (local.get $0) ) - (i32.store8 + ) + (i32.const 0) + ) + (block + (i32.store + (local.get $2) + (i32.add (local.get $1) - (i32.const 10) - ) - (br $do-once - (i32.const 0) + (i32.const 1) ) ) - ) - (i32.lt_s - (call $___overflow - (local.get $0) + (i32.store8 + (local.get $1) + (i32.const 10) + ) + (br $do-once + (i32.const 0) ) - (i32.const 0) ) ) + (call $___overflow + (local.get $0) + ) ) - (i32.const 31) ) - (i32.const 31) ) ) (func $___stdio_seek (; 27 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -9219,34 +9165,33 @@ ) ) ) - (func $_fwrite (; 29 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local.set $3 - (local.get $1) + (func $_fwrite (; 29 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local.set $2 + (local.get $0) ) (if (result i32) (block (result i32) (drop (i32.load offset=76 - (local.get $2) + (local.get $1) ) ) (i32.ne - (local.get $3) - (local.tee $0 + (local.get $2) + (local.tee $1 (call $___fwritex - (local.get $0) - (local.get $3) (local.get $2) + (local.get $1) ) ) ) ) (if (result i32) - (local.get $1) + (local.get $0) (i32.div_u - (local.get $0) (local.get $1) + (local.get $0) ) (i32.const 0) ) @@ -9495,9 +9440,7 @@ (global.get $tempRet0) ) (func $_main (; 46 ;) (; has Stack IR ;) (result i32) - (drop - (call $_puts) - ) + (call $_puts) (i32.const 0) ) (func $stackSave (; 47 ;) (; has Stack IR ;) (result i32) diff --git a/test/emcc_O2_hello_world.fromasm.imprecise b/test/emcc_O2_hello_world.fromasm.imprecise index f954e96f5..c493e11b2 100644 --- a/test/emcc_O2_hello_world.fromasm.imprecise +++ b/test/emcc_O2_hello_world.fromasm.imprecise @@ -7996,52 +7996,52 @@ ) ) ) - (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (if - (local.tee $4 - (i32.load - (local.tee $3 - (i32.add - (local.get $2) - (i32.const 16) + (local.set $6 + (i32.const 672) + ) + (local.set $5 + (if (result i32) + (local.tee $3 + (i32.load + (local.tee $2 + (i32.add + (local.get $1) + (i32.const 16) + ) ) ) ) - ) - (block - (local.set $5 - (local.get $4) - ) - (local.set $7 - (i32.const 5) + (block (result i32) + (local.set $4 + (i32.const 5) + ) + (local.get $3) ) - ) - (if - (i32.eqz + (if (result i32) (call $___towrite - (local.get $2) + (local.get $1) ) - ) - (block - (local.set $5 + (local.get $5) + (block (result i32) + (local.set $4 + (i32.const 5) + ) (i32.load - (local.get $3) + (local.get $2) ) ) - (local.set $7 - (i32.const 5) - ) ) ) ) (if (result i32) (i32.eq - (local.get $7) + (local.get $4) (i32.const 5) ) (block $label$break$L5 (result i32) @@ -8049,28 +8049,28 @@ (i32.lt_u (i32.sub (local.get $5) - (local.tee $3 + (local.tee $2 (i32.load - (local.tee $4 + (local.tee $3 (i32.add - (local.get $2) + (local.get $1) (i32.const 20) ) ) ) ) ) - (local.get $1) + (local.get $0) ) (br $label$break$L5 (call_indirect (type $FUNCSIG$iiii) - (local.get $2) - (local.get $0) (local.get $1) + (i32.const 672) + (local.get $0) (i32.add (i32.and (i32.load offset=36 - (local.get $2) + (local.get $1) ) (i32.const 7) ) @@ -8079,27 +8079,27 @@ ) ) ) - (local.set $6 - (local.get $3) + (local.set $4 + (local.get $2) ) (if (i32.gt_s (i32.load8_s offset=75 - (local.get $2) + (local.get $1) ) (i32.const -1) ) (block $label$break$L10 - (local.set $3 - (local.get $1) + (local.set $2 + (local.get $0) ) (loop $while-in (if (i32.eqz - (local.get $3) + (local.get $2) ) (block - (local.set $3 + (local.set $2 (i32.const 0) ) (br $label$break$L10) @@ -8109,19 +8109,19 @@ (i32.ne (i32.load8_s (i32.add - (local.get $0) (local.tee $5 (i32.add - (local.get $3) + (local.get $2) (i32.const -1) ) ) + (i32.const 672) ) ) (i32.const 10) ) (block - (local.set $3 + (local.set $2 (local.get $5) ) (br $while-in) @@ -8130,70 +8130,70 @@ ) (drop (br_if $label$break$L5 - (local.get $3) + (local.get $2) (i32.lt_u (call_indirect (type $FUNCSIG$iiii) + (local.get $1) + (i32.const 672) (local.get $2) - (local.get $0) - (local.get $3) (i32.add (i32.and (i32.load offset=36 - (local.get $2) + (local.get $1) ) (i32.const 7) ) (i32.const 2) ) ) - (local.get $3) + (local.get $2) ) ) ) - (local.set $1 + (local.set $0 (i32.sub - (local.get $1) - (local.get $3) + (local.get $0) + (local.get $2) ) ) - (local.set $0 + (local.set $6 (i32.add - (local.get $0) - (local.get $3) + (local.get $2) + (i32.const 672) ) ) - (local.set $6 + (local.set $4 (i32.load - (local.get $4) + (local.get $3) ) ) ) - (local.set $3 + (local.set $2 (i32.const 0) ) ) (drop (call $_memcpy + (local.get $4) (local.get $6) (local.get $0) - (local.get $1) ) ) (i32.store - (local.get $4) + (local.get $3) (i32.add - (local.get $1) + (local.get $0) (i32.load - (local.get $4) + (local.get $3) ) ) ) (i32.add - (local.get $1) - (local.get $3) + (local.get $0) + (local.get $2) ) ) - (local.get $6) + (i32.const 0) ) ) (func $_fflush (; 19 ;) (; has Stack IR ;) (param $0 i32) (result i32) @@ -8290,65 +8290,21 @@ ) (local.get $1) ) - (func $_strlen (; 20 ;) (; has Stack IR ;) (param $0 i32) (result i32) + (func $_strlen (; 20 ;) (; has Stack IR ;) (result i32) + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (if - (i32.and - (local.tee $3 - (local.get $0) - ) - (i32.const 3) - ) - (block $label$break$L1 - (local.set $4 - (local.get $3) - ) - (local.set $1 - (loop $while-in (result i32) - (if - (i32.eqz - (i32.load8_s - (local.get $0) - ) - ) - (block - (local.set $5 - (local.get $4) - ) - (br $label$break$L1) - ) - ) - (br_if $while-in - (i32.and - (local.tee $4 - (local.tee $0 - (i32.add - (local.get $0) - (i32.const 1) - ) - ) - ) - (i32.const 3) - ) - ) - (local.set $2 - (i32.const 4) - ) - (local.get $0) - ) - ) + (local.set $0 + (i32.const 672) + ) + (block + (local.set $1 + (i32.const 672) ) - (block - (local.set $1 - (local.get $0) - ) - (local.set $2 - (i32.const 4) - ) + (local.set $2 + (i32.const 4) ) ) (i32.sub @@ -8425,9 +8381,9 @@ ) (local.get $0) ) - (local.get $5) + (local.get $4) ) - (local.get $3) + (i32.const 672) ) ) (func $___overflow (; 21 ;) (; has Stack IR ;) (param $0 i32) (result i32) @@ -8981,7 +8937,7 @@ (local.get $2) ) ) - (func $_puts (; 26 ;) (; has Stack IR ;) (result i32) + (func $_puts (; 26 ;) (; has Stack IR ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -8997,93 +8953,83 @@ ) ) ) - (i32.shr_s - (i32.shl - (if (result i32) - (i32.lt_s - (i32.add - (select - (i32.div_u - (local.tee $4 - (call $___fwritex - (i32.const 672) - (local.tee $3 - (local.tee $2 - (call $_strlen - (i32.const 672) - ) - ) + (drop + (if (result i32) + (i32.lt_s + (i32.add + (select + (i32.div_u + (local.tee $4 + (call $___fwritex + (local.tee $3 + (local.tee $2 + (call $_strlen) ) - (local.get $0) ) + (local.get $0) ) - (local.get $2) - ) - (i32.const 1) - (i32.ne - (local.get $3) - (local.get $4) ) + (local.get $2) + ) + (i32.const 1) + (i32.ne + (local.get $3) + (local.get $4) ) - (i32.const -1) ) - (i32.const 0) + (i32.const -1) ) - (i32.const 1) - (block $do-once (result i32) - (if - (if (result i32) - (i32.ne - (i32.load8_s offset=75 - (local.get $0) - ) - (i32.const 10) + (i32.const 0) + ) + (i32.const 1) + (block $do-once (result i32) + (if + (if (result i32) + (i32.ne + (i32.load8_s offset=75 + (local.get $0) ) - (i32.lt_u - (local.tee $1 - (i32.load - (local.tee $5 - (i32.add - (local.get $0) - (i32.const 20) - ) + (i32.const 10) + ) + (i32.lt_u + (local.tee $1 + (i32.load + (local.tee $5 + (i32.add + (local.get $0) + (i32.const 20) ) ) ) - (i32.load offset=16 - (local.get $0) - ) ) - (i32.const 0) - ) - (block - (i32.store - (local.get $5) - (i32.add - (local.get $1) - (i32.const 1) - ) + (i32.load offset=16 + (local.get $0) ) - (i32.store8 + ) + (i32.const 0) + ) + (block + (i32.store + (local.get $5) + (i32.add (local.get $1) - (i32.const 10) - ) - (br $do-once - (i32.const 0) + (i32.const 1) ) ) - ) - (i32.lt_s - (call $___overflow - (local.get $0) + (i32.store8 + (local.get $1) + (i32.const 10) + ) + (br $do-once + (i32.const 0) ) - (i32.const 0) ) ) + (call $___overflow + (local.get $0) + ) ) - (i32.const 31) ) - (i32.const 31) ) ) (func $___stdio_seek (; 27 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -9469,9 +9415,7 @@ (global.get $tempRet0) ) (func $_main (; 45 ;) (; has Stack IR ;) (result i32) - (drop - (call $_puts) - ) + (call $_puts) (i32.const 0) ) (func $stackSave (; 46 ;) (; has Stack IR ;) (result i32) diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm index c560de2a3..16adc1457 100644 --- a/test/emcc_hello_world.fromasm +++ b/test/emcc_hello_world.fromasm @@ -149,10 +149,8 @@ ) (call $abort) ) - (drop - (call $_printf - (local.get $0) - ) + (call $_printf + (local.get $0) ) (global.set $STACKTOP (local.get $0) @@ -627,7 +625,7 @@ ) (local.get $0) ) - (func $_printf (; 34 ;) (; has Stack IR ;) (param $0 i32) (result i32) + (func $_printf (; 34 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (local.set $1 (global.get $STACKTOP) @@ -649,19 +647,15 @@ (local.get $1) (local.get $0) ) - (local.set $0 - (call $_vfprintf - (i32.load - (i32.const 8) - ) - (i32.const 672) - (local.get $1) + (call $_vfprintf + (i32.load + (i32.const 8) ) + (local.get $1) ) (global.set $STACKTOP (local.get $1) ) - (local.get $0) ) (func $___stdio_write (; 35 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -1008,7 +1002,8 @@ ) (local.get $2) ) - (func $_vfprintf (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_vfprintf (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1019,8 +1014,7 @@ (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i32) - (local.set $3 + (local.set $6 (global.get $STACKTOP) ) (global.set $STACKTOP @@ -1036,27 +1030,26 @@ ) (call $abort) ) - (local.set $5 + (local.set $3 (i32.add - (local.get $3) + (local.get $6) (i32.const 120) ) ) - (local.set $7 - (local.get $3) - ) - (local.set $6 + (local.set $5 (i32.add - (local.get $3) + (local.tee $4 + (local.get $6) + ) (i32.const 136) ) ) - (local.set $9 + (local.set $8 (i32.add - (local.tee $4 - (local.tee $8 + (local.tee $2 + (local.tee $7 (i32.add - (local.get $3) + (local.get $4) (i32.const 80) ) ) @@ -1066,36 +1059,35 @@ ) (loop $do-in (i32.store - (local.get $4) + (local.get $2) (i32.const 0) ) (br_if $do-in (i32.lt_s - (local.tee $4 + (local.tee $2 (i32.add - (local.get $4) + (local.get $2) (i32.const 4) ) ) - (local.get $9) + (local.get $8) ) ) ) (i32.store - (local.get $5) + (local.get $3) (i32.load - (local.get $2) + (local.get $1) ) ) - (local.set $0 + (drop (if (result i32) (i32.lt_s (call $_printf_core (i32.const 0) - (local.get $1) - (local.get $5) + (local.get $3) + (local.get $4) (local.get $7) - (local.get $8) ) (i32.const 0) ) @@ -1106,7 +1098,7 @@ (local.get $0) ) ) - (local.set $10 + (local.set $9 (i32.load (local.get $0) ) @@ -1121,33 +1113,32 @@ (i32.store (local.get $0) (i32.and - (local.get $10) + (local.get $9) (i32.const -33) ) ) ) (if (i32.load - (local.tee $11 + (local.tee $1 (i32.add (local.get $0) (i32.const 48) ) ) ) - (local.set $1 + (drop (call $_printf_core (local.get $0) - (local.get $1) - (local.get $5) + (local.get $3) + (local.get $4) (local.get $7) - (local.get $8) ) ) (block - (local.set $13 + (local.set $11 (i32.load - (local.tee $12 + (local.tee $10 (i32.add (local.get $0) (i32.const 44) @@ -1156,54 +1147,53 @@ ) ) (i32.store - (local.get $12) - (local.get $6) + (local.get $10) + (local.get $5) ) (i32.store - (local.tee $4 + (local.tee $2 (i32.add (local.get $0) (i32.const 28) ) ) - (local.get $6) + (local.get $5) ) (i32.store - (local.tee $2 + (local.tee $12 (i32.add (local.get $0) (i32.const 20) ) ) - (local.get $6) + (local.get $5) ) (i32.store - (local.get $11) + (local.get $1) (i32.const 80) ) (i32.store - (local.tee $9 + (local.tee $8 (i32.add (local.get $0) (i32.const 16) ) ) (i32.add - (local.get $6) + (local.get $5) (i32.const 80) ) ) - (local.set $1 + (drop (call $_printf_core (local.get $0) - (local.get $1) - (local.get $5) + (local.get $3) + (local.get $4) (local.get $7) - (local.get $8) ) ) (if - (local.get $13) + (local.get $11) (block (drop (call_indirect (type $FUNCSIG$iiii) @@ -1221,33 +1211,29 @@ ) ) ) - (local.set $1 - (select - (local.get $1) - (i32.const -1) - (i32.load - (local.get $2) - ) + (drop + (i32.load + (local.get $12) ) ) (i32.store - (local.get $12) - (local.get $13) + (local.get $10) + (local.get $11) ) (i32.store - (local.get $11) + (local.get $1) (i32.const 0) ) (i32.store - (local.get $9) + (local.get $8) (i32.const 0) ) (i32.store - (local.get $4) + (local.get $2) (i32.const 0) ) (i32.store - (local.get $2) + (local.get $12) (i32.const 0) ) ) @@ -1257,34 +1243,24 @@ (i32.store (local.get $0) (i32.or - (local.tee $2 - (i32.load - (local.get $0) - ) + (i32.load + (local.get $0) ) (i32.and - (local.get $10) + (local.get $9) (i32.const 32) ) ) ) - (select - (i32.const -1) - (local.get $1) - (i32.and - (local.get $2) - (i32.const 32) - ) - ) + (i32.const 0) ) ) ) (global.set $STACKTOP - (local.get $3) + (local.get $6) ) - (local.get $0) ) - (func $___fwritex (; 37 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___fwritex (; 37 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1303,20 +1279,19 @@ ) ) ) - (local.set $3 - (if (result i32) + (if + (i32.eqz (call $___towrite (local.get $2) ) - (i32.const 0) - (block - (local.set $3 - (i32.load - (local.get $4) - ) + ) + (block + (local.set $3 + (i32.load + (local.get $4) ) - (br $__rjti$0) ) + (br $__rjti$0) ) ) (br $label$break$L5) @@ -1339,19 +1314,16 @@ (local.get $1) ) (block - (local.set $3 - (i32.load offset=36 - (local.get $2) - ) - ) - (local.set $3 + (drop (call_indirect (type $FUNCSIG$iiii) (local.get $2) (local.get $0) (local.get $1) (i32.add (i32.and - (local.get $3) + (i32.load offset=36 + (local.get $2) + ) (i32.const 7) ) (i32.const 2) @@ -1361,7 +1333,7 @@ (br $label$break$L5) ) ) - (local.set $2 + (drop (if (result i32) (i32.gt_s (i32.load8_s offset=75 @@ -1405,11 +1377,6 @@ ) ) ) - (local.set $4 - (i32.load offset=36 - (local.get $2) - ) - ) (br_if $label$break$L5 (i32.lt_u (call_indirect (type $FUNCSIG$iiii) @@ -1418,7 +1385,9 @@ (local.get $3) (i32.add (i32.and - (local.get $4) + (i32.load offset=36 + (local.get $2) + ) (i32.const 7) ) (i32.const 2) @@ -1444,7 +1413,7 @@ (local.get $3) ) ) - (local.get $3) + (i32.const 0) ) (i32.const 0) ) @@ -1465,14 +1434,7 @@ (local.get $1) ) ) - (local.set $3 - (i32.add - (local.get $1) - (local.get $2) - ) - ) ) - (local.get $3) ) (func $___towrite (; 38 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) @@ -2123,7 +2085,8 @@ (i32.const 0) ) ) - (func $_printf_core (; 48 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $_printf_core (; 48 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -2134,8 +2097,8 @@ (local $12 i32) (local $13 i32) (local $14 i32) - (local $15 i32) - (local $16 f64) + (local $15 f64) + (local $16 i32) (local $17 i32) (local $18 i32) (local $19 i32) @@ -2195,7 +2158,7 @@ ) (local.set $35 (i32.add - (local.tee $14 + (local.tee $13 (local.get $34) ) (i32.const 528) @@ -2210,9 +2173,9 @@ (local.set $38 (local.tee $25 (i32.add - (local.tee $5 + (local.tee $4 (i32.add - (local.get $14) + (local.get $13) (i32.const 536) ) ) @@ -2222,7 +2185,7 @@ ) (local.set $39 (i32.add - (local.get $5) + (local.get $4) (i32.const 39) ) ) @@ -2230,7 +2193,7 @@ (i32.add (local.tee $40 (i32.add - (local.get $14) + (local.get $13) (i32.const 8) ) ) @@ -2239,9 +2202,9 @@ ) (local.set $32 (i32.add - (local.tee $5 + (local.tee $4 (i32.add - (local.get $14) + (local.get $13) (i32.const 576) ) ) @@ -2250,7 +2213,7 @@ ) (local.set $41 (i32.add - (local.get $5) + (local.get $4) (i32.const 11) ) ) @@ -2262,7 +2225,7 @@ (local.tee $36 (local.tee $23 (i32.add - (local.get $14) + (local.get $13) (i32.const 588) ) ) @@ -2285,7 +2248,7 @@ (i32.add (local.tee $47 (i32.add - (local.get $14) + (local.get $13) (i32.const 24) ) ) @@ -2306,11 +2269,8 @@ (i32.const 8) ) ) - (local.set $5 - (local.get $1) - ) - (local.set $1 - (i32.const 0) + (local.set $4 + (i32.const 672) ) (block $label$break$L343 (block $__rjti$9 @@ -2318,16 +2278,16 @@ (block $label$break$L1 (if (i32.gt_s - (local.get $17) + (local.get $16) (i32.const -1) ) - (local.set $17 + (local.set $16 (if (result i32) (i32.gt_s - (local.get $10) + (local.get $9) (i32.sub (i32.const 2147483647) - (local.get $17) + (local.get $16) ) ) (block (result i32) @@ -2338,23 +2298,23 @@ (i32.const -1) ) (i32.add - (local.get $10) - (local.get $17) + (local.get $9) + (local.get $16) ) ) ) ) (br_if $__rjti$9 (i32.eqz - (local.tee $7 + (local.tee $6 (i32.load8_s - (local.get $5) + (local.get $4) ) ) ) ) - (local.set $10 - (local.get $5) + (local.set $9 + (local.get $4) ) (block $label$break$L12 (block $__rjti$1 @@ -2362,10 +2322,10 @@ (block $label$break$L9 (block $switch (if - (local.tee $7 + (local.tee $6 (i32.shr_s (i32.shl - (local.get $7) + (local.get $6) (i32.const 24) ) (i32.const 24) @@ -2374,26 +2334,26 @@ (block (br_if $switch (i32.ne - (local.get $7) + (local.get $6) (i32.const 37) ) ) - (local.set $6 - (local.get $10) + (local.set $5 + (local.get $9) ) (br $__rjti$1) ) ) - (local.set $6 - (local.get $10) + (local.set $5 + (local.get $9) ) (br $label$break$L9) ) - (local.set $7 + (local.set $6 (i32.load8_s - (local.tee $10 + (local.tee $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -2408,23 +2368,23 @@ (br_if $label$break$L12 (i32.ne (i32.load8_s offset=1 - (local.get $6) + (local.get $5) ) (i32.const 37) ) ) - (local.set $10 + (local.set $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) (br_if $while-in (i32.eq (i32.load8_s - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const 2) ) ) @@ -2434,10 +2394,10 @@ ) ) ) - (local.set $7 + (local.set $6 (i32.sub - (local.get $10) - (local.get $5) + (local.get $9) + (local.get $4) ) ) (if @@ -2451,40 +2411,38 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $5) - (local.get $7) - (local.get $0) - ) + (call $___fwritex + (local.get $4) + (local.get $6) + (local.get $0) ) ) ) (if (i32.ne - (local.get $5) - (local.get $10) + (local.get $4) + (local.get $9) ) (block - (local.set $5 - (local.get $6) + (local.set $4 + (local.get $5) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) ) - (local.set $8 + (local.set $7 (if (result i32) (i32.lt_u - (local.tee $8 + (local.tee $7 (i32.add - (local.tee $11 + (local.tee $10 (i32.load8_s - (local.tee $10 + (local.tee $9 (i32.add - (local.get $6) + (local.get $5) (i32.const 1) ) ) @@ -2496,19 +2454,19 @@ (i32.const 10) ) (block (result i32) - (local.set $6 + (local.set $5 (i32.load8_s - (local.tee $10 + (local.tee $9 (select (i32.add - (local.get $6) + (local.get $5) (i32.const 3) ) - (local.get $10) - (local.tee $11 + (local.get $9) + (local.tee $10 (i32.eq (i32.load8_s offset=2 - (local.get $6) + (local.get $5) ) (i32.const 36) ) @@ -2517,38 +2475,38 @@ ) ) ) - (local.set $18 + (local.set $17 (select - (local.get $8) + (local.get $7) (i32.const -1) - (local.get $11) + (local.get $10) ) ) (select (i32.const 1) - (local.get $1) - (local.get $11) + (local.get $19) + (local.get $10) ) ) (block (result i32) - (local.set $6 - (local.get $11) + (local.set $5 + (local.get $10) ) - (local.set $18 + (local.set $17 (i32.const -1) ) - (local.get $1) + (local.get $19) ) ) ) - (local.set $1 + (local.set $19 (if (result i32) (i32.eq (i32.and - (local.tee $11 + (local.tee $10 (i32.shr_s (i32.shl - (local.get $6) + (local.get $5) (i32.const 24) ) (i32.const 24) @@ -2559,13 +2517,13 @@ (i32.const 32) ) (block $label$break$L25 (result i32) - (local.set $1 - (local.get $6) + (local.set $19 + (local.get $5) ) - (local.set $6 - (local.get $11) + (local.set $5 + (local.get $10) ) - (local.set $11 + (local.set $10 (i32.const 0) ) (loop $while-in4 (result i32) @@ -2575,7 +2533,7 @@ (i32.shl (i32.const 1) (i32.add - (local.get $6) + (local.get $5) (i32.const -32) ) ) @@ -2583,23 +2541,23 @@ ) ) (block - (local.set $6 - (local.get $1) + (local.set $5 + (local.get $19) ) (br $label$break$L25 - (local.get $11) + (local.get $10) ) ) ) - (local.set $11 + (local.set $10 (i32.or - (local.get $11) + (local.get $10) (i32.shl (i32.const 1) (i32.add (i32.shr_s (i32.shl - (local.get $1) + (local.get $19) (i32.const 24) ) (i32.const 24) @@ -2612,12 +2570,12 @@ (br_if $while-in4 (i32.eq (i32.and - (local.tee $6 - (local.tee $1 + (local.tee $5 + (local.tee $19 (i32.load8_s - (local.tee $10 + (local.tee $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -2629,36 +2587,36 @@ (i32.const 32) ) ) - (local.set $6 - (local.get $1) + (local.set $5 + (local.get $19) ) - (local.get $11) + (local.get $10) ) ) (i32.const 0) ) ) - (local.set $1 + (local.set $19 (if (result i32) (i32.eq (i32.and - (local.get $6) + (local.get $5) (i32.const 255) ) (i32.const 42) ) (block $do-once5 (result i32) - (local.set $10 + (local.set $9 (block $__rjto$0 (result i32) (block $__rjti$0 (br_if $__rjti$0 (i32.ge_u - (local.tee $11 + (local.tee $10 (i32.add (i32.load8_s - (local.tee $6 + (local.tee $5 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -2672,7 +2630,7 @@ (br_if $__rjti$0 (i32.ne (i32.load8_s offset=2 - (local.get $10) + (local.get $9) ) (i32.const 36) ) @@ -2680,50 +2638,50 @@ (i32.store (i32.add (i32.shl - (local.get $11) + (local.get $10) (i32.const 2) ) - (local.get $4) + (local.get $3) ) (i32.const 10) ) (drop (i32.load offset=4 - (local.tee $6 + (local.tee $5 (i32.add (i32.shl (i32.add (i32.load8_s - (local.get $6) + (local.get $5) ) (i32.const -48) ) (i32.const 3) ) - (local.get $3) + (local.get $2) ) ) ) ) - (local.set $8 + (local.set $7 (i32.const 1) ) - (local.set $15 + (local.set $14 (i32.load - (local.get $6) + (local.get $5) ) ) (br $__rjto$0 (i32.add - (local.get $10) + (local.get $9) (i32.const 3) ) ) ) (if - (local.get $8) + (local.get $7) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) @@ -2734,13 +2692,13 @@ (local.get $28) ) (block - (local.set $11 - (local.get $1) - ) (local.set $10 - (local.get $6) + (local.get $19) + ) + (local.set $9 + (local.get $5) ) - (local.set $15 + (local.set $14 (i32.const 0) ) (br $do-once5 @@ -2748,13 +2706,13 @@ ) ) ) - (local.set $15 + (local.set $14 (i32.load - (local.tee $10 + (local.tee $9 (i32.and (i32.add (i32.load - (local.get $2) + (local.get $1) ) (i32.const 3) ) @@ -2764,48 +2722,48 @@ ) ) (i32.store - (local.get $2) + (local.get $1) (i32.add - (local.get $10) + (local.get $9) (i32.const 4) ) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.get $6) + (local.get $5) ) ) - (local.set $11 + (local.set $10 (if (result i32) (i32.lt_s - (local.get $15) + (local.get $14) (i32.const 0) ) (block (result i32) - (local.set $15 + (local.set $14 (i32.sub (i32.const 0) - (local.get $15) + (local.get $14) ) ) (i32.or - (local.get $1) + (local.get $19) (i32.const 8192) ) ) - (local.get $1) + (local.get $19) ) ) - (local.get $8) + (local.get $7) ) (if (result i32) (i32.lt_u - (local.tee $6 + (local.tee $5 (i32.add (i32.shr_s (i32.shl - (local.get $6) + (local.get $5) (i32.const 24) ) (i32.const 24) @@ -2816,27 +2774,27 @@ (i32.const 10) ) (block (result i32) - (local.set $11 + (local.set $10 (i32.const 0) ) (loop $while-in8 - (local.set $6 + (local.set $5 (i32.add - (local.get $6) + (local.get $5) (i32.mul - (local.get $11) + (local.get $10) (i32.const 10) ) ) ) (if (i32.lt_u - (local.tee $9 + (local.tee $8 (i32.add (i32.load8_s - (local.tee $10 + (local.tee $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -2847,11 +2805,11 @@ (i32.const 10) ) (block - (local.set $11 - (local.get $6) + (local.set $10 + (local.get $5) ) - (local.set $6 - (local.get $9) + (local.set $5 + (local.get $8) ) (br $while-in8) ) @@ -2859,54 +2817,54 @@ ) (if (result i32) (i32.lt_s - (local.get $6) + (local.get $5) (i32.const 0) ) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) ) (block (result i32) - (local.set $11 - (local.get $1) + (local.set $10 + (local.get $19) ) - (local.set $15 - (local.get $6) + (local.set $14 + (local.get $5) ) - (local.get $8) + (local.get $7) ) ) ) (block (result i32) - (local.set $11 - (local.get $1) + (local.set $10 + (local.get $19) ) - (local.set $15 + (local.set $14 (i32.const 0) ) - (local.get $8) + (local.get $7) ) ) ) ) - (local.set $6 + (local.set $5 (if (result i32) (i32.eq (i32.load8_s - (local.get $10) + (local.get $9) ) (i32.const 46) ) (block $label$break$L46 (result i32) (if (i32.ne - (local.tee $8 + (local.tee $7 (i32.load8_s - (local.tee $6 + (local.tee $5 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -2915,29 +2873,29 @@ (i32.const 42) ) (block - (local.set $6 + (local.set $5 (if (result i32) (i32.lt_u - (local.tee $9 + (local.tee $8 (i32.add - (local.get $8) + (local.get $7) (i32.const -48) ) ) (i32.const 10) ) (block (result i32) - (local.set $10 - (local.get $6) + (local.set $9 + (local.get $5) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.get $9) + (local.get $8) ) (block - (local.set $10 - (local.get $6) + (local.set $9 + (local.get $5) ) (br $label$break$L46 (i32.const 0) @@ -2948,22 +2906,22 @@ (loop $while-in11 (drop (br_if $label$break$L46 - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.mul - (local.get $8) + (local.get $7) (i32.const 10) ) ) ) (i32.ge_u - (local.tee $9 + (local.tee $8 (i32.add (i32.load8_s - (local.tee $10 + (local.tee $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -2975,11 +2933,11 @@ ) ) ) - (local.set $8 - (local.get $6) + (local.set $7 + (local.get $5) ) - (local.set $6 - (local.get $9) + (local.set $5 + (local.get $8) ) (br $while-in11) ) @@ -2987,12 +2945,12 @@ ) (if (i32.lt_u - (local.tee $8 + (local.tee $7 (i32.add (i32.load8_s - (local.tee $6 + (local.tee $5 (i32.add - (local.get $10) + (local.get $9) (i32.const 2) ) ) @@ -3005,7 +2963,7 @@ (if (i32.eq (i32.load8_s offset=3 - (local.get $10) + (local.get $9) ) (i32.const 36) ) @@ -3013,49 +2971,49 @@ (i32.store (i32.add (i32.shl - (local.get $8) + (local.get $7) (i32.const 2) ) - (local.get $4) + (local.get $3) ) (i32.const 10) ) (drop (i32.load offset=4 - (local.tee $6 + (local.tee $5 (i32.add (i32.shl (i32.add (i32.load8_s - (local.get $6) + (local.get $5) ) (i32.const -48) ) (i32.const 3) ) - (local.get $3) + (local.get $2) ) ) ) ) - (local.set $10 + (local.set $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 4) ) ) (br $label$break$L46 (i32.load - (local.get $6) + (local.get $5) ) ) ) ) ) (if - (local.get $1) + (local.get $19) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) @@ -3064,13 +3022,13 @@ (if (result i32) (local.get $28) (block (result i32) - (local.set $8 + (local.set $7 (i32.load - (local.tee $10 + (local.tee $9 (i32.and (i32.add (i32.load - (local.get $2) + (local.get $1) ) (i32.const 3) ) @@ -3080,20 +3038,20 @@ ) ) (i32.store - (local.get $2) + (local.get $1) (i32.add - (local.get $10) + (local.get $9) (i32.const 4) ) ) - (local.set $10 - (local.get $6) + (local.set $9 + (local.get $5) ) - (local.get $8) + (local.get $7) ) (block (result i32) - (local.set $10 - (local.get $6) + (local.set $9 + (local.get $5) ) (i32.const 0) ) @@ -3102,20 +3060,20 @@ (i32.const -1) ) ) - (local.set $8 - (local.get $10) + (local.set $7 + (local.get $9) ) - (local.set $9 + (local.set $8 (i32.const 0) ) - (local.set $19 + (local.set $18 (loop $while-in13 (result i32) (if (i32.gt_u - (local.tee $12 + (local.tee $11 (i32.add (i32.load8_s - (local.get $8) + (local.get $7) ) (i32.const -65) ) @@ -3123,30 +3081,30 @@ (i32.const 57) ) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) ) ) - (local.set $10 + (local.set $9 (i32.add - (local.get $8) + (local.get $7) (i32.const 1) ) ) (if (result i32) (i32.lt_u (i32.add - (local.tee $12 + (local.tee $11 (i32.and - (local.tee $13 + (local.tee $12 (i32.load8_s (i32.add - (local.get $12) + (local.get $11) (i32.add (i32.mul - (local.get $9) + (local.get $8) (i32.const 58) ) (i32.const 3611) @@ -3162,35 +3120,35 @@ (i32.const 8) ) (block - (local.set $8 - (local.get $10) + (local.set $7 + (local.get $9) ) - (local.set $9 - (local.get $12) + (local.set $8 + (local.get $11) ) (br $while-in13) ) - (local.get $8) + (local.get $7) ) ) ) (if (i32.eqz (i32.and - (local.get $13) + (local.get $12) (i32.const 255) ) ) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) ) ) - (local.set $8 + (local.set $7 (i32.gt_s - (local.get $18) + (local.get $17) (i32.const -1) ) ) @@ -3199,15 +3157,15 @@ (if (i32.eq (i32.and - (local.get $13) + (local.get $12) (i32.const 255) ) (i32.const 19) ) (if - (local.get $8) + (local.get $7) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) @@ -3216,40 +3174,40 @@ ) (block (if - (local.get $8) + (local.get $7) (block (i32.store (i32.add (i32.shl - (local.get $18) + (local.get $17) (i32.const 2) ) - (local.get $4) + (local.get $3) ) - (local.get $12) + (local.get $11) ) - (local.set $12 + (local.set $11 (i32.load offset=4 - (local.tee $8 + (local.tee $7 (i32.add (i32.shl - (local.get $18) + (local.get $17) (i32.const 3) ) - (local.get $3) + (local.get $2) ) ) ) ) (i32.store - (local.get $14) + (local.get $13) (i32.load - (local.get $8) + (local.get $7) ) ) (i32.store offset=4 - (local.get $14) - (local.get $12) + (local.get $13) + (local.get $11) ) (br $__rjti$2) ) @@ -3259,16 +3217,16 @@ (local.get $28) ) (block - (local.set $17 + (local.set $16 (i32.const 0) ) (br $label$break$L1) ) ) (call $_pop_arg_336 - (local.get $14) - (local.get $12) - (local.get $2) + (local.get $13) + (local.get $11) + (local.get $1) ) ) ) @@ -3279,27 +3237,27 @@ (local.get $28) ) (block - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) ) ) - (local.set $11 + (local.set $10 (select - (local.tee $8 + (local.tee $7 (i32.and - (local.get $11) + (local.get $10) (i32.const -65537) ) ) - (local.get $11) + (local.get $10) (i32.and - (local.get $11) + (local.get $10) (i32.const 8192) ) ) @@ -3307,21 +3265,21 @@ (call $_pad (local.get $0) (i32.const 32) - (local.tee $7 + (local.tee $6 (select - (local.tee $6 + (local.tee $5 (i32.add - (local.tee $12 + (local.tee $11 (select - (local.tee $13 + (local.tee $12 (i32.sub (block $__rjto$8 (result i32) (block $__rjti$8 (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.tee $7 + (local.get $14) + (local.tee $6 (block $__rjti$7 (result i32) (block $__rjti$6 (block $__rjti$5 @@ -3342,27 +3300,27 @@ (block $switch-case27 (br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $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-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $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-case30 $switch-default120 (i32.sub - (local.tee $19 + (local.tee $18 (select (i32.and - (local.tee $12 + (local.tee $11 (i32.load8_s - (local.get $19) + (local.get $18) ) ) (i32.const -33) ) - (local.get $12) + (local.get $11) (i32.and (i32.eq (i32.and - (local.get $12) + (local.get $11) (i32.const 15) ) (i32.const 3) ) (i32.ne - (local.get $9) + (local.get $8) (i32.const 0) ) ) @@ -3381,51 +3339,51 @@ (block $switch-case20 (block $switch-case19 (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26 - (local.get $9) + (local.get $8) ) ) (i32.store (i32.load - (local.get $14) + (local.get $13) ) - (local.get $17) + (local.get $16) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store (i32.load - (local.get $14) + (local.get $13) ) - (local.get $17) + (local.get $16) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store - (local.tee $5 + (local.tee $4 (i32.load - (local.get $14) + (local.get $13) ) ) - (local.get $17) + (local.get $16) ) (i32.store offset=4 - (local.get $5) + (local.get $4) (i32.shr_s (i32.shl (i32.lt_s - (local.get $17) + (local.get $16) (i32.const 0) ) (i32.const 31) @@ -3433,70 +3391,70 @@ (i32.const 31) ) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store16 (i32.load - (local.get $14) + (local.get $13) ) - (local.get $17) + (local.get $16) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store8 (i32.load - (local.get $14) + (local.get $13) ) - (local.get $17) + (local.get $16) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store (i32.load - (local.get $14) + (local.get $13) ) - (local.get $17) + (local.get $16) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store - (local.tee $5 + (local.tee $4 (i32.load - (local.get $14) + (local.get $13) ) ) - (local.get $17) + (local.get $16) ) (i32.store offset=4 - (local.get $5) + (local.get $4) (i32.shr_s (i32.shl (i32.lt_s - (local.get $17) + (local.get $16) (i32.const 0) ) (i32.const 31) @@ -3504,76 +3462,76 @@ (i32.const 31) ) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) - (local.set $5 + (local.set $4 (i32.or - (local.get $11) + (local.get $10) (i32.const 8) ) ) - (local.set $6 + (local.set $5 (select - (local.get $6) + (local.get $5) (i32.const 8) (i32.gt_u - (local.get $6) + (local.get $5) (i32.const 8) ) ) ) - (local.set $19 + (local.set $18 (i32.const 120) ) (br $__rjti$3) ) - (local.set $5 - (local.get $11) + (local.set $4 + (local.get $10) ) (br $__rjti$3) ) (if (i32.or - (local.tee $5 + (local.tee $4 (i32.load - (local.get $14) + (local.get $13) ) ) - (local.tee $7 + (local.tee $6 (i32.load offset=4 - (local.get $14) + (local.get $13) ) ) ) (block - (local.set $8 + (local.set $7 (local.get $25) ) (loop $while-in32 (i32.store8 - (local.tee $8 + (local.tee $7 (i32.add - (local.get $8) + (local.get $7) (i32.const -1) ) ) (i32.or (i32.and - (local.get $5) + (local.get $4) (i32.const 7) ) (i32.const 48) @@ -3581,129 +3539,129 @@ ) (br_if $while-in32 (i32.or - (local.tee $5 + (local.tee $4 (call $_bitshift64Lshr - (local.get $5) - (local.get $7) + (local.get $4) + (local.get $6) (i32.const 3) ) ) - (local.tee $7 + (local.tee $6 (global.get $tempRet0) ) ) ) ) ) - (local.set $8 + (local.set $7 (local.get $25) ) ) (if (i32.and - (local.get $11) + (local.get $10) (i32.const 8) ) (block - (local.set $5 - (local.get $11) + (local.set $4 + (local.get $10) ) - (local.set $6 + (local.set $5 (select - (local.tee $11 + (local.tee $10 (i32.add (i32.sub (local.get $38) - (local.tee $7 - (local.get $8) + (local.tee $6 + (local.get $7) ) ) (i32.const 1) ) ) - (local.get $6) + (local.get $5) (i32.lt_s - (local.get $6) - (local.get $11) + (local.get $5) + (local.get $10) ) ) ) ) (block - (local.set $7 - (local.get $8) + (local.set $6 + (local.get $7) ) - (local.set $5 - (local.get $11) + (local.set $4 + (local.get $10) ) ) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjti$8) ) - (local.set $5 + (local.set $4 (i32.load - (local.get $14) + (local.get $13) ) ) (if (i32.lt_s - (local.tee $7 + (local.tee $6 (i32.load offset=4 - (local.get $14) + (local.get $13) ) ) (i32.const 0) ) (block (i32.store - (local.get $14) - (local.tee $5 + (local.get $13) + (local.tee $4 (call $_i64Subtract (i32.const 0) (i32.const 0) - (local.get $5) - (local.get $7) + (local.get $4) + (local.get $6) ) ) ) (i32.store offset=4 - (local.get $14) - (local.tee $7 + (local.get $13) + (local.tee $6 (global.get $tempRet0) ) ) - (local.set $8 + (local.set $7 (i32.const 1) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjti$4) ) ) - (local.set $9 + (local.set $8 (if (result i32) (i32.and - (local.get $11) + (local.get $10) (i32.const 2048) ) (block (result i32) - (local.set $8 + (local.set $7 (i32.const 1) ) (i32.const 4092) ) (block (result i32) - (local.set $8 - (local.tee $9 + (local.set $7 + (local.tee $8 (i32.and - (local.get $11) + (local.get $10) (i32.const 1) ) ) @@ -3711,62 +3669,62 @@ (select (i32.const 4093) (i32.const 4091) - (local.get $9) + (local.get $8) ) ) ) ) (br $__rjti$4) ) - (local.set $5 + (local.set $4 (i32.load - (local.get $14) + (local.get $13) ) ) - (local.set $7 + (local.set $6 (i32.load offset=4 - (local.get $14) + (local.get $13) ) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjti$4) ) (drop (i32.load offset=4 - (local.get $14) + (local.get $13) ) ) (i32.store8 (local.get $39) (i32.load - (local.get $14) + (local.get $13) ) ) - (local.set $5 + (local.set $4 (local.get $39) ) - (local.set $11 - (local.get $8) + (local.set $10 + (local.get $7) ) - (local.set $12 + (local.set $11 (i32.const 1) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjto$8 (local.get $25) ) ) - (local.set $7 + (local.set $6 (call $_strerror (i32.load (call $___errno_location) @@ -3775,28 +3733,28 @@ ) (br $__rjti$5) ) - (local.set $7 + (local.set $6 (select - (local.tee $5 + (local.tee $4 (i32.load - (local.get $14) + (local.get $13) ) ) (i32.const 4101) - (local.get $5) + (local.get $4) ) ) (br $__rjti$5) ) (drop (i32.load offset=4 - (local.get $14) + (local.get $13) ) ) (i32.store (local.get $40) (i32.load - (local.get $14) + (local.get $13) ) ) (i32.store @@ -3804,19 +3762,19 @@ (i32.const 0) ) (i32.store - (local.get $14) + (local.get $13) (local.get $40) ) - (local.set $8 + (local.set $7 (i32.const -1) ) (br $__rjti$6) ) (if - (local.get $6) + (local.get $5) (block - (local.set $8 - (local.get $6) + (local.set $7 + (local.get $5) ) (br $__rjti$6) ) @@ -3824,9 +3782,9 @@ (call $_pad (local.get $0) (i32.const 32) - (local.get $15) + (local.get $14) (i32.const 0) - (local.get $11) + (local.get $10) ) (br $__rjti$7 (i32.const 0) @@ -3834,9 +3792,9 @@ ) ) ) - (local.set $16 + (local.set $15 (f64.load - (local.get $14) + (local.get $13) ) ) (i32.store @@ -3845,7 +3803,7 @@ ) (f64.store (global.get $tempDoublePtr) - (local.get $16) + (local.get $15) ) (drop (i32.load @@ -3864,16 +3822,16 @@ (local.set $26 (i32.const 1) ) - (local.set $16 + (local.set $15 (f64.neg - (local.get $16) + (local.get $15) ) ) (i32.const 4108) ) (if (result i32) (i32.and - (local.get $11) + (local.get $10) (i32.const 2048) ) (block (result i32) @@ -3884,9 +3842,9 @@ ) (block (result i32) (local.set $26 - (local.tee $5 + (local.tee $4 (i32.and - (local.get $11) + (local.get $10) (i32.const 1) ) ) @@ -3894,7 +3852,7 @@ (select (i32.const 4114) (i32.const 4109) - (local.get $5) + (local.get $4) ) ) ) @@ -3902,14 +3860,14 @@ ) (f64.store (global.get $tempDoublePtr) - (local.get $16) + (local.get $15) ) (drop (i32.load (global.get $tempDoublePtr) ) ) - (local.set $7 + (local.set $6 (if (result i32) (i32.lt_u (i32.and @@ -3922,12 +3880,12 @@ ) (block $do-once49 (result i32) (if - (local.tee $5 + (local.tee $4 (f64.ne (local.tee $22 (f64.mul (call $_frexp - (local.get $16) + (local.get $15) (local.get $20) ) (f64.const 2) @@ -3950,60 +3908,60 @@ (i32.eq (local.tee $24 (i32.or - (local.get $19) + (local.get $18) (i32.const 32) ) ) (i32.const 97) ) (block - (local.set $9 + (local.set $8 (select (i32.add (local.get $30) (i32.const 9) ) (local.get $30) - (local.tee $13 + (local.tee $12 (i32.and - (local.get $19) + (local.get $18) (i32.const 32) ) ) ) ) - (local.set $16 + (local.set $15 (if (result f64) (i32.or (i32.eqz - (local.tee $5 + (local.tee $4 (i32.sub (i32.const 12) - (local.get $6) + (local.get $5) ) ) ) (i32.gt_u - (local.get $6) + (local.get $5) (i32.const 11) ) ) (local.get $22) (block (result f64) - (local.set $16 + (local.set $15 (f64.const 8) ) (loop $while-in54 - (local.set $16 + (local.set $15 (f64.mul - (local.get $16) + (local.get $15) (f64.const 16) ) ) (br_if $while-in54 - (local.tee $5 + (local.tee $4 (i32.add - (local.get $5) + (local.get $4) (i32.const -1) ) ) @@ -4012,33 +3970,33 @@ (if (result f64) (i32.eq (i32.load8_s - (local.get $9) + (local.get $8) ) (i32.const 45) ) (f64.neg (f64.add - (local.get $16) + (local.get $15) (f64.sub (f64.neg (local.get $22) ) - (local.get $16) + (local.get $15) ) ) ) (f64.sub (f64.add (local.get $22) - (local.get $16) + (local.get $15) ) - (local.get $16) + (local.get $15) ) ) ) ) ) - (local.set $12 + (local.set $11 (i32.or (local.get $26) (i32.const 2) @@ -4046,21 +4004,21 @@ ) (if (i32.eq - (local.tee $5 + (local.tee $4 (call $_fmt_u - (local.tee $5 + (local.tee $4 (select (i32.sub (i32.const 0) - (local.tee $7 + (local.tee $6 (i32.load (local.get $20) ) ) ) - (local.get $7) + (local.get $6) (i32.lt_s - (local.get $7) + (local.get $6) (i32.const 0) ) ) @@ -4068,7 +4026,7 @@ (i32.shr_s (i32.shl (i32.lt_s - (local.get $5) + (local.get $4) (i32.const 0) ) (i32.const 31) @@ -4085,20 +4043,20 @@ (local.get $41) (i32.const 48) ) - (local.set $5 + (local.set $4 (local.get $41) ) ) ) (i32.store8 (i32.add - (local.get $5) + (local.get $4) (i32.const -1) ) (i32.add (i32.and (i32.shr_s - (local.get $7) + (local.get $6) (i32.const 31) ) (i32.const 2) @@ -4107,44 +4065,44 @@ ) ) (i32.store8 - (local.tee $8 + (local.tee $7 (i32.add - (local.get $5) + (local.get $4) (i32.const -2) ) ) (i32.add - (local.get $19) + (local.get $18) (i32.const 15) ) ) - (local.set $19 + (local.set $18 (i32.lt_s - (local.get $6) + (local.get $5) (i32.const 1) ) ) - (local.set $18 + (local.set $17 (i32.eqz (i32.and - (local.get $11) + (local.get $10) (i32.const 8) ) ) ) - (local.set $5 + (local.set $4 (local.get $23) ) (loop $while-in56 (i32.store8 - (local.get $5) + (local.get $4) (i32.or - (local.get $13) + (local.get $12) (i32.load8_u (i32.add - (local.tee $7 + (local.tee $6 (call $f64-to-int - (local.get $16) + (local.get $15) ) ) (i32.const 4075) @@ -4152,24 +4110,24 @@ ) ) ) - (local.set $16 + (local.set $15 (f64.mul (f64.sub - (local.get $16) + (local.get $15) (f64.convert_i32_s - (local.get $7) + (local.get $6) ) ) (f64.const 16) ) ) - (local.set $5 + (local.set $4 (if (result i32) (i32.eq (i32.sub - (local.tee $7 + (local.tee $6 (i32.add - (local.get $5) + (local.get $4) (i32.const 1) ) ) @@ -4181,31 +4139,31 @@ (i32.and (i32.and (f64.eq - (local.get $16) + (local.get $15) (f64.const 0) ) - (local.get $19) + (local.get $18) ) - (local.get $18) + (local.get $17) ) - (local.get $7) + (local.get $6) (block (result i32) (i32.store8 - (local.get $7) + (local.get $6) (i32.const 46) ) (i32.add - (local.get $5) + (local.get $4) (i32.const 2) ) ) ) - (local.get $7) + (local.get $6) ) ) (br_if $while-in56 (f64.ne - (local.get $16) + (local.get $15) (f64.const 0) ) ) @@ -4213,44 +4171,44 @@ (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.tee $7 + (local.get $14) + (local.tee $6 (i32.add - (local.get $12) - (local.tee $6 + (local.get $11) + (local.tee $5 (select (i32.sub (i32.add - (local.get $6) + (local.get $5) (local.get $46) ) - (local.get $8) + (local.get $7) ) (i32.add - (local.get $5) + (local.get $4) (i32.sub (local.get $44) - (local.get $8) + (local.get $7) ) ) (i32.and (i32.ne - (local.get $6) + (local.get $5) (i32.const 0) ) (i32.lt_s (i32.add - (local.get $5) + (local.get $4) (local.get $45) ) - (local.get $6) + (local.get $5) ) ) ) ) ) ) - (local.get $11) + (local.get $10) ) (if (i32.eqz @@ -4261,27 +4219,25 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $9) - (local.get $12) - (local.get $0) - ) + (call $___fwritex + (local.get $8) + (local.get $11) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 48) - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.xor - (local.get $11) + (local.get $10) (i32.const 65536) ) ) - (local.set $5 + (local.set $4 (i32.sub - (local.get $5) + (local.get $4) (local.get $36) ) ) @@ -4294,25 +4250,23 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $23) - (local.get $5) - (local.get $0) - ) + (call $___fwritex + (local.get $23) + (local.get $4) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 48) (i32.sub - (local.get $6) + (local.get $5) (i32.add - (local.get $5) - (local.tee $5 + (local.get $4) + (local.tee $4 (i32.sub (local.get $27) - (local.get $8) + (local.get $7) ) ) ) @@ -4329,43 +4283,41 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $8) - (local.get $5) - (local.get $0) - ) + (call $___fwritex + (local.get $7) + (local.get $4) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.xor - (local.get $11) + (local.get $10) (i32.const 8192) ) ) (br $do-once49 (select - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.lt_s - (local.get $7) - (local.get $15) + (local.get $6) + (local.get $14) ) ) ) ) ) - (local.set $16 + (local.set $15 (if (result f64) - (local.get $5) + (local.get $4) (block (result f64) (i32.store (local.get $20) - (local.tee $5 + (local.tee $4 (i32.add (i32.load (local.get $20) @@ -4380,7 +4332,7 @@ ) ) (block (result f64) - (local.set $5 + (local.set $4 (i32.load (local.get $20) ) @@ -4389,13 +4341,13 @@ ) ) ) - (local.set $7 - (local.tee $8 + (local.set $6 + (local.tee $7 (select (local.get $47) (local.get $48) (i32.lt_s - (local.get $5) + (local.get $4) (i32.const 0) ) ) @@ -4403,27 +4355,27 @@ ) (loop $while-in60 (i32.store - (local.get $7) - (local.tee $5 + (local.get $6) + (local.tee $4 (call $f64-to-int - (local.get $16) + (local.get $15) ) ) ) - (local.set $7 + (local.set $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 4) ) ) (br_if $while-in60 (f64.ne - (local.tee $16 + (local.tee $15 (f64.mul (f64.sub - (local.get $16) + (local.get $15) (f64.convert_i32_u - (local.get $5) + (local.get $4) ) ) (f64.const 1e9) @@ -4435,7 +4387,7 @@ ) (if (i32.gt_s - (local.tee $9 + (local.tee $8 (i32.load (local.get $20) ) @@ -4443,113 +4395,113 @@ (i32.const 0) ) (block - (local.set $5 - (local.get $8) + (local.set $4 + (local.get $7) ) (loop $while-in62 - (local.set $13 + (local.set $12 (select (i32.const 29) - (local.get $9) + (local.get $8) (i32.gt_s - (local.get $9) + (local.get $8) (i32.const 29) ) ) ) (if (i32.ge_u - (local.tee $9 + (local.tee $8 (i32.add - (local.get $7) + (local.get $6) (i32.const -4) ) ) - (local.get $5) + (local.get $4) ) (block $do-once63 - (local.set $12 + (local.set $11 (i32.const 0) ) (loop $while-in66 (i32.store - (local.get $9) + (local.get $8) (call $___uremdi3 - (local.tee $12 + (local.tee $11 (call $_i64Add (call $_bitshift64Shl (i32.load - (local.get $9) + (local.get $8) ) (i32.const 0) - (local.get $13) + (local.get $12) ) (global.get $tempRet0) - (local.get $12) + (local.get $11) (i32.const 0) ) ) - (local.tee $18 + (local.tee $17 (global.get $tempRet0) ) (i32.const 1000000000) ) ) - (local.set $12 + (local.set $11 (call $___udivdi3 - (local.get $12) - (local.get $18) + (local.get $11) + (local.get $17) (i32.const 1000000000) ) ) (br_if $while-in66 (i32.ge_u - (local.tee $9 + (local.tee $8 (i32.add - (local.get $9) + (local.get $8) (i32.const -4) ) ) - (local.get $5) + (local.get $4) ) ) ) (br_if $do-once63 (i32.eqz - (local.get $12) + (local.get $11) ) ) (i32.store - (local.tee $5 + (local.tee $4 (i32.add - (local.get $5) + (local.get $4) (i32.const -4) ) ) - (local.get $12) + (local.get $11) ) ) ) (loop $while-in68 (if (i32.gt_u - (local.get $7) - (local.get $5) + (local.get $6) + (local.get $4) ) (if (i32.eqz (i32.load - (local.tee $9 + (local.tee $8 (i32.add - (local.get $7) + (local.get $6) (i32.const -4) ) ) ) ) (block - (local.set $7 - (local.get $9) + (local.set $6 + (local.get $8) ) (br $while-in68) ) @@ -4558,40 +4510,40 @@ ) (i32.store (local.get $20) - (local.tee $9 + (local.tee $8 (i32.sub (i32.load (local.get $20) ) - (local.get $13) + (local.get $12) ) ) ) (br_if $while-in62 (i32.gt_s - (local.get $9) + (local.get $8) (i32.const 0) ) ) ) ) - (local.set $5 - (local.get $8) + (local.set $4 + (local.get $7) ) ) - (local.set $18 + (local.set $17 (select (i32.const 6) - (local.get $6) + (local.get $5) (i32.lt_s - (local.get $6) + (local.get $5) (i32.const 0) ) ) ) (if (i32.lt_s - (local.get $9) + (local.get $8) (i32.const 0) ) (block @@ -4599,7 +4551,7 @@ (i32.add (call $i32s-div (i32.add - (local.get $18) + (local.get $17) (i32.const 25) ) (i32.const 9) @@ -4613,40 +4565,40 @@ (i32.const 102) ) ) - (local.set $6 - (local.get $5) - ) (local.set $5 - (local.get $7) + (local.get $4) ) - (local.set $5 + (local.set $4 + (local.get $6) + ) + (local.set $4 (loop $while-in70 (result i32) - (local.set $13 + (local.set $12 (select (i32.const 9) - (local.tee $7 + (local.tee $6 (i32.sub (i32.const 0) - (local.get $9) + (local.get $8) ) ) (i32.gt_s - (local.get $7) + (local.get $6) (i32.const 9) ) ) ) (if (i32.lt_u - (local.get $6) (local.get $5) + (local.get $4) ) (block $do-once71 - (local.set $12 + (local.set $11 (i32.add (i32.shl (i32.const 1) - (local.get $13) + (local.get $12) ) (i32.const -1) ) @@ -4654,99 +4606,99 @@ (local.set $37 (i32.shr_u (i32.const 1000000000) - (local.get $13) + (local.get $12) ) ) - (local.set $9 + (local.set $8 (i32.const 0) ) - (local.set $7 - (local.get $6) + (local.set $6 + (local.get $5) ) (loop $while-in74 (i32.store - (local.get $7) + (local.get $6) (i32.add - (local.get $9) + (local.get $8) (i32.shr_u - (local.tee $9 + (local.tee $8 (i32.load - (local.get $7) + (local.get $6) ) ) - (local.get $13) + (local.get $12) ) ) ) - (local.set $9 + (local.set $8 (i32.mul (i32.and - (local.get $9) - (local.get $12) + (local.get $8) + (local.get $11) ) (local.get $37) ) ) (br_if $while-in74 (i32.lt_u - (local.tee $7 + (local.tee $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 4) ) ) - (local.get $5) + (local.get $4) ) ) ) - (local.set $7 + (local.set $6 (select - (local.get $6) + (local.get $5) (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) (i32.load - (local.get $6) + (local.get $5) ) ) ) (br_if $do-once71 (i32.eqz - (local.get $9) + (local.get $8) ) ) (i32.store - (local.get $5) - (local.get $9) + (local.get $4) + (local.get $8) ) - (local.set $5 + (local.set $4 (i32.add - (local.get $5) + (local.get $4) (i32.const 4) ) ) ) - (local.set $7 + (local.set $6 (select - (local.get $6) + (local.get $5) (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) (i32.load - (local.get $6) + (local.get $5) ) ) ) ) - (local.set $12 + (local.set $11 (select (i32.add - (local.tee $6 + (local.tee $5 (select - (local.get $8) (local.get $7) + (local.get $6) (local.get $31) ) ) @@ -4755,12 +4707,12 @@ (i32.const 2) ) ) - (local.get $5) + (local.get $4) (i32.gt_s (i32.shr_s (i32.sub + (local.get $4) (local.get $5) - (local.get $6) ) (i32.const 2) ) @@ -4770,58 +4722,58 @@ ) (i32.store (local.get $20) - (local.tee $9 + (local.tee $8 (i32.add (i32.load (local.get $20) ) - (local.get $13) + (local.get $12) ) ) ) (if (result i32) (i32.lt_s - (local.get $9) + (local.get $8) (i32.const 0) ) (block - (local.set $6 - (local.get $7) - ) (local.set $5 - (local.get $12) + (local.get $6) + ) + (local.set $4 + (local.get $11) ) (br $while-in70) ) (block (result i32) - (local.set $9 - (local.get $12) + (local.set $8 + (local.get $11) ) - (local.get $7) + (local.get $6) ) ) ) ) ) - (local.set $9 - (local.get $7) + (local.set $8 + (local.get $6) ) ) (local.set $21 - (local.get $8) + (local.get $7) ) (if (i32.lt_u - (local.get $5) - (local.get $9) + (local.get $4) + (local.get $8) ) (block $do-once75 - (local.set $7 + (local.set $6 (i32.mul (i32.shr_s (i32.sub (local.get $21) - (local.get $5) + (local.get $4) ) (i32.const 2) ) @@ -4830,30 +4782,30 @@ ) (br_if $do-once75 (i32.lt_u - (local.tee $12 + (local.tee $11 (i32.load - (local.get $5) + (local.get $4) ) ) (i32.const 10) ) ) - (local.set $6 + (local.set $5 (i32.const 10) ) (loop $while-in78 - (local.set $7 + (local.set $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 1) ) ) (br_if $while-in78 (i32.ge_u - (local.get $12) - (local.tee $6 + (local.get $11) + (local.tee $5 (i32.mul - (local.get $6) + (local.get $5) (i32.const 10) ) ) @@ -4861,19 +4813,19 @@ ) ) ) - (local.set $7 + (local.set $6 (i32.const 0) ) ) - (local.set $5 + (local.set $4 (if (result i32) (i32.lt_s - (local.tee $6 + (local.tee $5 (i32.add (i32.sub - (local.get $18) + (local.get $17) (select - (local.get $7) + (local.get $6) (i32.const 0) (i32.ne (local.get $24) @@ -4892,7 +4844,7 @@ ) (local.tee $37 (i32.ne - (local.get $18) + (local.get $17) (i32.const 0) ) ) @@ -4907,7 +4859,7 @@ (i32.mul (i32.shr_s (i32.sub - (local.get $9) + (local.get $8) (local.get $21) ) (i32.const 2) @@ -4918,11 +4870,11 @@ ) ) (block (result i32) - (local.set $13 + (local.set $12 (call $i32s-div - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const 9216) ) ) @@ -4931,10 +4883,10 @@ ) (if (i32.lt_s - (local.tee $6 + (local.tee $5 (i32.add (i32.rem_s - (local.get $6) + (local.get $5) (i32.const 9) ) (i32.const 1) @@ -4943,21 +4895,21 @@ (i32.const 9) ) (block - (local.set $12 + (local.set $11 (i32.const 10) ) (loop $while-in80 - (local.set $12 + (local.set $11 (i32.mul - (local.get $12) + (local.get $11) (i32.const 10) ) ) (br_if $while-in80 (i32.ne - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const 1) ) ) @@ -4966,29 +4918,29 @@ ) ) ) - (local.set $12 + (local.set $11 (i32.const 10) ) ) - (local.set $13 + (local.set $12 (call $i32u-rem (local.tee $24 (i32.load - (local.tee $6 + (local.tee $5 (i32.add (i32.add (i32.shl - (local.get $13) + (local.get $12) (i32.const 2) ) - (local.get $8) + (local.get $7) ) (i32.const -4092) ) ) ) ) - (local.get $12) + (local.get $11) ) ) (if @@ -4997,14 +4949,14 @@ (local.tee $49 (i32.eq (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) - (local.get $9) + (local.get $8) ) ) (i32.eqz - (local.get $13) + (local.get $12) ) ) ) @@ -5012,16 +4964,16 @@ (local.set $50 (call $i32u-div (local.get $24) - (local.get $12) + (local.get $11) ) ) - (local.set $16 + (local.set $15 (if (result f64) (i32.lt_u - (local.get $13) + (local.get $12) (local.tee $51 (call $i32s-div - (local.get $12) + (local.get $11) (i32.const 2) ) ) @@ -5033,7 +4985,7 @@ (i32.and (local.get $49) (i32.eq - (local.get $13) + (local.get $12) (local.get $51) ) ) @@ -5060,9 +5012,9 @@ (i32.const 45) ) (block - (local.set $16 + (local.set $15 (f64.neg - (local.get $16) + (local.get $15) ) ) (local.set $22 @@ -5074,11 +5026,11 @@ ) ) (i32.store - (local.get $6) - (local.tee $13 + (local.get $5) + (local.tee $12 (i32.sub (local.get $24) - (local.get $13) + (local.get $12) ) ) ) @@ -5086,44 +5038,44 @@ (f64.eq (f64.add (local.get $22) - (local.get $16) + (local.get $15) ) (local.get $22) ) ) (i32.store - (local.get $6) - (local.tee $7 + (local.get $5) + (local.tee $6 (i32.add + (local.get $11) (local.get $12) - (local.get $13) ) ) ) (if (i32.gt_u - (local.get $7) + (local.get $6) (i32.const 999999999) ) (loop $while-in86 (i32.store - (local.get $6) + (local.get $5) (i32.const 0) ) (if (i32.lt_u - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const -4) ) ) - (local.get $5) + (local.get $4) ) (i32.store - (local.tee $5 + (local.tee $4 (i32.add - (local.get $5) + (local.get $4) (i32.const -4) ) ) @@ -5131,11 +5083,11 @@ ) ) (i32.store - (local.get $6) - (local.tee $7 + (local.get $5) + (local.tee $6 (i32.add (i32.load - (local.get $6) + (local.get $5) ) (i32.const 1) ) @@ -5143,18 +5095,18 @@ ) (br_if $while-in86 (i32.gt_u - (local.get $7) + (local.get $6) (i32.const 999999999) ) ) ) ) - (local.set $7 + (local.set $6 (i32.mul (i32.shr_s (i32.sub (local.get $21) - (local.get $5) + (local.get $4) ) (i32.const 2) ) @@ -5163,30 +5115,30 @@ ) (br_if $do-once81 (i32.lt_u - (local.tee $13 + (local.tee $12 (i32.load - (local.get $5) + (local.get $4) ) ) (i32.const 10) ) ) - (local.set $12 + (local.set $11 (i32.const 10) ) (loop $while-in88 - (local.set $7 + (local.set $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 1) ) ) (br_if $while-in88 (i32.ge_u - (local.get $13) - (local.tee $12 + (local.get $12) + (local.tee $11 (i32.mul - (local.get $12) + (local.get $11) (i32.const 10) ) ) @@ -5195,59 +5147,59 @@ ) ) ) - (local.set $12 - (local.get $5) + (local.set $11 + (local.get $4) ) - (local.set $13 - (local.get $7) + (local.set $12 + (local.get $6) ) (select - (local.tee $5 + (local.tee $4 (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) ) - (local.get $9) + (local.get $8) (i32.gt_u - (local.get $9) - (local.get $5) + (local.get $8) + (local.get $4) ) ) ) (block (result i32) - (local.set $12 - (local.get $5) + (local.set $11 + (local.get $4) ) - (local.set $13 - (local.get $7) + (local.set $12 + (local.get $6) ) - (local.get $9) + (local.get $8) ) ) ) - (local.set $9 + (local.set $8 (loop $while-in90 (result i32) (block $while-out89 (result i32) (if (i32.le_u - (local.get $5) - (local.get $12) + (local.get $4) + (local.get $11) ) (block (local.set $24 (i32.const 0) ) (br $while-out89 - (local.get $5) + (local.get $4) ) ) ) (if (result i32) (i32.load - (local.tee $7 + (local.tee $6 (i32.add - (local.get $5) + (local.get $4) (i32.const -4) ) ) @@ -5256,11 +5208,11 @@ (local.set $24 (i32.const 1) ) - (local.get $5) + (local.get $4) ) (block - (local.set $5 - (local.get $7) + (local.set $4 + (local.get $6) ) (br $while-in90) ) @@ -5268,72 +5220,72 @@ ) ) ) - (local.set $5 + (local.set $4 (if (result i32) (local.get $31) (block $do-once91 (result i32) - (local.set $7 + (local.set $6 (if (result i32) (i32.and (i32.gt_s - (local.tee $5 + (local.tee $4 (i32.add - (local.get $18) + (local.get $17) (i32.xor (local.get $37) (i32.const 1) ) ) ) - (local.get $13) + (local.get $12) ) (i32.gt_s - (local.get $13) + (local.get $12) (i32.const -5) ) ) (block (result i32) - (local.set $18 + (local.set $17 (i32.sub (i32.add - (local.get $5) + (local.get $4) (i32.const -1) ) - (local.get $13) + (local.get $12) ) ) (i32.add - (local.get $19) + (local.get $18) (i32.const -1) ) ) (block (result i32) - (local.set $18 + (local.set $17 (i32.add - (local.get $5) + (local.get $4) (i32.const -1) ) ) (i32.add - (local.get $19) + (local.get $18) (i32.const -2) ) ) ) ) (if - (local.tee $5 + (local.tee $4 (i32.and - (local.get $11) + (local.get $10) (i32.const 8) ) ) (block (local.set $21 - (local.get $5) + (local.get $4) ) (br $do-once91 - (local.get $18) + (local.get $17) ) ) ) @@ -5342,36 +5294,36 @@ (block $do-once93 (if (i32.eqz - (local.tee $19 + (local.tee $18 (i32.load (i32.add - (local.get $9) + (local.get $8) (i32.const -4) ) ) ) ) (block - (local.set $5 + (local.set $4 (i32.const 9) ) (br $do-once93) ) ) - (local.set $5 + (local.set $4 (if (result i32) (call $i32u-rem - (local.get $19) + (local.get $18) (i32.const 10) ) (block - (local.set $5 + (local.set $4 (i32.const 0) ) (br $do-once93) ) (block (result i32) - (local.set $6 + (local.set $5 (i32.const 10) ) (i32.const 0) @@ -5379,19 +5331,19 @@ ) ) (loop $while-in96 - (local.set $5 + (local.set $4 (i32.add - (local.get $5) + (local.get $4) (i32.const 1) ) ) (br_if $while-in96 (i32.eqz (call $i32u-rem - (local.get $19) - (local.tee $6 + (local.get $18) + (local.tee $5 (i32.mul - (local.get $6) + (local.get $5) (i32.const 10) ) ) @@ -5400,16 +5352,16 @@ ) ) ) - (local.set $5 + (local.set $4 (i32.const 9) ) ) - (local.set $6 + (local.set $5 (i32.add (i32.mul (i32.shr_s (i32.sub - (local.get $9) + (local.get $8) (local.get $21) ) (i32.const 2) @@ -5422,7 +5374,7 @@ (if (result i32) (i32.eq (i32.or - (local.get $7) + (local.get $6) (i32.const 32) ) (i32.const 102) @@ -5432,25 +5384,25 @@ (i32.const 0) ) (select - (local.get $18) - (local.tee $5 + (local.get $17) + (local.tee $4 (select (i32.const 0) - (local.tee $5 + (local.tee $4 (i32.sub - (local.get $6) (local.get $5) + (local.get $4) ) ) (i32.lt_s - (local.get $5) + (local.get $4) (i32.const 0) ) ) ) (i32.lt_s - (local.get $18) - (local.get $5) + (local.get $17) + (local.get $4) ) ) ) @@ -5459,28 +5411,28 @@ (i32.const 0) ) (select - (local.get $18) - (local.tee $5 + (local.get $17) + (local.tee $4 (select (i32.const 0) - (local.tee $5 + (local.tee $4 (i32.sub (i32.add - (local.get $6) - (local.get $13) + (local.get $5) + (local.get $12) ) - (local.get $5) + (local.get $4) ) ) (i32.lt_s - (local.get $5) + (local.get $4) (i32.const 0) ) ) ) (i32.lt_s - (local.get $18) - (local.get $5) + (local.get $17) + (local.get $4) ) ) ) @@ -5489,48 +5441,48 @@ (block (result i32) (local.set $21 (i32.and - (local.get $11) + (local.get $10) (i32.const 8) ) ) - (local.set $7 - (local.get $19) + (local.set $6 + (local.get $18) ) - (local.get $18) + (local.get $17) ) ) ) - (local.set $6 + (local.set $5 (i32.sub (i32.const 0) - (local.get $13) + (local.get $12) ) ) (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.tee $13 + (local.get $14) + (local.tee $12 (i32.add (if (result i32) - (local.tee $18 + (local.tee $17 (i32.eq (i32.or - (local.get $7) + (local.get $6) (i32.const 32) ) (i32.const 102) ) ) (block (result i32) - (local.set $19 + (local.set $18 (i32.const 0) ) (select - (local.get $13) + (local.get $12) (i32.const 0) (i32.gt_s - (local.get $13) + (local.get $12) (i32.const 0) ) ) @@ -5540,14 +5492,14 @@ (i32.lt_s (i32.sub (local.get $27) - (local.tee $6 + (local.tee $5 (call $_fmt_u - (local.tee $6 + (local.tee $5 (select - (local.get $6) - (local.get $13) + (local.get $5) + (local.get $12) (i32.lt_s - (local.get $13) + (local.get $12) (i32.const 0) ) ) @@ -5555,7 +5507,7 @@ (i32.shr_s (i32.shl (i32.lt_s - (local.get $6) + (local.get $5) (i32.const 0) ) (i32.const 31) @@ -5570,9 +5522,9 @@ ) (loop $while-in98 (i32.store8 - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const -1) ) ) @@ -5582,7 +5534,7 @@ (i32.lt_s (i32.sub (local.get $27) - (local.get $6) + (local.get $5) ) (i32.const 2) ) @@ -5591,13 +5543,13 @@ ) (i32.store8 (i32.add - (local.get $6) + (local.get $5) (i32.const -1) ) (i32.add (i32.and (i32.shr_s - (local.get $13) + (local.get $12) (i32.const 31) ) (i32.const 2) @@ -5606,17 +5558,17 @@ ) ) (i32.store8 - (local.tee $19 + (local.tee $18 (i32.add - (local.get $6) + (local.get $5) (i32.const -2) ) ) - (local.get $7) + (local.get $6) ) (i32.sub (local.get $27) - (local.get $19) + (local.get $18) ) ) ) @@ -5626,12 +5578,12 @@ (local.get $26) (i32.const 1) ) - (local.get $5) + (local.get $4) ) (i32.ne (local.tee $31 (i32.or - (local.get $5) + (local.get $4) (local.get $21) ) ) @@ -5640,7 +5592,7 @@ ) ) ) - (local.get $11) + (local.get $10) ) (if (i32.eqz @@ -5651,44 +5603,42 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $30) - (local.get $26) - (local.get $0) - ) + (call $___fwritex + (local.get $30) + (local.get $26) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 48) - (local.get $15) - (local.get $13) + (local.get $14) + (local.get $12) (i32.xor - (local.get $11) + (local.get $10) (i32.const 65536) ) ) (if - (local.get $18) + (local.get $17) (block - (local.set $6 - (local.tee $12 + (local.set $5 + (local.tee $11 (select - (local.get $8) - (local.get $12) + (local.get $7) + (local.get $11) (i32.gt_u - (local.get $12) - (local.get $8) + (local.get $11) + (local.get $7) ) ) ) ) (loop $while-in102 - (local.set $7 + (local.set $6 (call $_fmt_u (i32.load - (local.get $6) + (local.get $5) ) (i32.const 0) (local.get $29) @@ -5697,13 +5647,13 @@ (block $do-once103 (if (i32.eq - (local.get $6) - (local.get $12) + (local.get $5) + (local.get $11) ) (block (br_if $do-once103 (i32.ne - (local.get $7) + (local.get $6) (local.get $29) ) ) @@ -5711,22 +5661,22 @@ (local.get $33) (i32.const 48) ) - (local.set $7 + (local.set $6 (local.get $33) ) ) (block (br_if $do-once103 (i32.le_u - (local.get $7) + (local.get $6) (local.get $23) ) ) (loop $while-in106 (i32.store8 - (local.tee $7 + (local.tee $6 (i32.add - (local.get $7) + (local.get $6) (i32.const -1) ) ) @@ -5734,7 +5684,7 @@ ) (br_if $while-in106 (i32.gt_u - (local.get $7) + (local.get $6) (local.get $23) ) ) @@ -5751,30 +5701,28 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $7) - (i32.sub - (local.get $42) - (local.get $7) - ) - (local.get $0) + (call $___fwritex + (local.get $6) + (i32.sub + (local.get $42) + (local.get $6) ) + (local.get $0) ) ) (if (i32.le_u - (local.tee $7 + (local.tee $6 (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) ) - (local.get $8) + (local.get $7) ) (block - (local.set $6 - (local.get $7) + (local.set $5 + (local.get $6) ) (br $while-in102) ) @@ -5791,12 +5739,10 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) - (local.get $0) - ) + (call $___fwritex + (i32.const 4143) + (i32.const 1) + (local.get $0) ) ) ) @@ -5807,21 +5753,21 @@ (if (result i32) (i32.and (i32.lt_u - (local.get $7) - (local.get $9) + (local.get $6) + (local.get $8) ) (i32.gt_s - (local.get $5) + (local.get $4) (i32.const 0) ) ) (loop $while-in110 (result i32) (if (i32.gt_u - (local.tee $6 + (local.tee $5 (call $_fmt_u (i32.load - (local.get $7) + (local.get $6) ) (i32.const 0) (local.get $29) @@ -5831,9 +5777,9 @@ ) (loop $while-in112 (i32.store8 - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const -1) ) ) @@ -5841,7 +5787,7 @@ ) (br_if $while-in112 (i32.gt_u - (local.get $6) + (local.get $5) (local.get $23) ) ) @@ -5856,53 +5802,51 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $6) - (select + (call $___fwritex + (local.get $5) + (select + (i32.const 9) + (local.get $4) + (i32.gt_s + (local.get $4) (i32.const 9) - (local.get $5) - (i32.gt_s - (local.get $5) - (i32.const 9) - ) ) - (local.get $0) ) + (local.get $0) ) ) - (local.set $6 + (local.set $5 (i32.add - (local.get $5) + (local.get $4) (i32.const -9) ) ) (if (result i32) (i32.and (i32.lt_u - (local.tee $7 + (local.tee $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 4) ) ) - (local.get $9) + (local.get $8) ) (i32.gt_s - (local.get $5) + (local.get $4) (i32.const 9) ) ) (block - (local.set $5 - (local.get $6) + (local.set $4 + (local.get $5) ) (br $while-in110) ) - (local.get $6) + (local.get $5) ) ) - (local.get $5) + (local.get $4) ) (i32.const 9) ) @@ -5911,11 +5855,11 @@ ) ) (block $do-once99 - (local.set $9 + (local.set $8 (select - (local.get $9) + (local.get $8) (i32.add - (local.get $12) + (local.get $11) (i32.const 4) ) (local.get $24) @@ -5927,28 +5871,28 @@ (i32.add (if (result i32) (i32.gt_s - (local.get $5) + (local.get $4) (i32.const -1) ) (block (result i32) - (local.set $18 + (local.set $17 (i32.eqz (local.get $21) ) ) - (local.set $6 - (local.get $12) + (local.set $5 + (local.get $11) ) - (local.set $7 - (local.get $5) + (local.set $6 + (local.get $4) ) (loop $while-in114 (result i32) (if (i32.eq - (local.tee $5 + (local.tee $4 (call $_fmt_u (i32.load - (local.get $6) + (local.get $5) ) (i32.const 0) (local.get $29) @@ -5961,7 +5905,7 @@ (local.get $33) (i32.const 48) ) - (local.set $5 + (local.set $4 (local.get $33) ) ) @@ -5969,8 +5913,8 @@ (block $do-once115 (if (i32.eq - (local.get $6) - (local.get $12) + (local.get $5) + (local.get $11) ) (block (if @@ -5982,27 +5926,25 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $5) - (i32.const 1) - (local.get $0) - ) + (call $___fwritex + (local.get $4) + (i32.const 1) + (local.get $0) ) ) - (local.set $5 + (local.set $4 (i32.add - (local.get $5) + (local.get $4) (i32.const 1) ) ) (br_if $do-once115 (i32.and (i32.lt_s - (local.get $7) + (local.get $6) (i32.const 1) ) - (local.get $18) + (local.get $17) ) ) (br_if $do-once115 @@ -6013,26 +5955,24 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) - (local.get $0) - ) + (call $___fwritex + (i32.const 4143) + (i32.const 1) + (local.get $0) ) ) (block (br_if $do-once115 (i32.le_u - (local.get $5) + (local.get $4) (local.get $23) ) ) (loop $while-in118 (i32.store8 - (local.tee $5 + (local.tee $4 (i32.add - (local.get $5) + (local.get $4) (i32.const -1) ) ) @@ -6040,7 +5980,7 @@ ) (br_if $while-in118 (i32.gt_u - (local.get $5) + (local.get $4) (local.get $23) ) ) @@ -6048,10 +5988,10 @@ ) ) ) - (local.set $8 + (local.set $7 (i32.sub (local.get $42) - (local.get $5) + (local.get $4) ) ) (if @@ -6063,47 +6003,45 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $5) - (select - (local.get $8) + (call $___fwritex + (local.get $4) + (select + (local.get $7) + (local.get $6) + (i32.gt_s + (local.get $6) (local.get $7) - (i32.gt_s - (local.get $7) - (local.get $8) - ) ) - (local.get $0) ) + (local.get $0) ) ) (br_if $while-in114 (i32.and (i32.lt_u - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) ) - (local.get $9) + (local.get $8) ) (i32.gt_s - (local.tee $7 + (local.tee $6 (i32.sub + (local.get $6) (local.get $7) - (local.get $8) ) ) (i32.const -1) ) ) ) - (local.get $7) + (local.get $6) ) ) - (local.get $5) + (local.get $4) ) (i32.const 18) ) @@ -6118,34 +6056,32 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $19) - (i32.sub - (local.get $27) - (local.get $19) - ) - (local.get $0) + (call $___fwritex + (local.get $18) + (i32.sub + (local.get $27) + (local.get $18) ) + (local.get $0) ) ) ) (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.get $13) + (local.get $14) + (local.get $12) (i32.xor - (local.get $11) + (local.get $10) (i32.const 8192) ) ) (select - (local.get $15) - (local.get $13) + (local.get $14) + (local.get $12) (i32.lt_s - (local.get $13) - (local.get $15) + (local.get $12) + (local.get $14) ) ) ) @@ -6153,17 +6089,17 @@ (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.tee $7 + (local.get $14) + (local.tee $6 (i32.add - (local.tee $9 + (local.tee $8 (select (i32.const 0) (local.get $26) - (local.tee $6 + (local.tee $5 (f64.ne - (local.get $16) - (local.get $16) + (local.get $15) + (local.get $15) ) ) ) @@ -6171,17 +6107,17 @@ (i32.const 3) ) ) - (local.get $8) + (local.get $7) ) - (local.set $6 + (local.set $5 (select (select (i32.const 4135) (i32.const 4139) - (local.tee $8 + (local.tee $7 (i32.ne (i32.and - (local.get $19) + (local.get $18) (i32.const 32) ) (i32.const 0) @@ -6191,9 +6127,9 @@ (select (i32.const 4127) (i32.const 4131) - (local.get $8) + (local.get $7) ) - (local.get $6) + (local.get $5) ) ) (if @@ -6201,21 +6137,19 @@ (i32.and (if (result i32) (i32.and - (local.tee $5 + (local.tee $4 (i32.load (local.get $0) ) ) (i32.const 32) ) - (local.get $5) + (local.get $4) (block (result i32) - (drop - (call $___fwritex - (local.get $30) - (local.get $9) - (local.get $0) - ) + (call $___fwritex + (local.get $30) + (local.get $8) + (local.get $0) ) (i32.load (local.get $0) @@ -6225,149 +6159,147 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $6) - (i32.const 3) - (local.get $0) - ) + (call $___fwritex + (local.get $5) + (i32.const 3) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.xor - (local.get $11) + (local.get $10) (i32.const 8192) ) ) (select - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.lt_s - (local.get $7) - (local.get $15) + (local.get $6) + (local.get $14) ) ) ) ) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) - (local.set $12 - (local.get $6) + (local.set $11 + (local.get $5) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjto$8 (local.get $25) ) ) - (local.set $9 + (local.set $8 (i32.and - (local.get $19) + (local.get $18) (i32.const 32) ) ) - (if - (i32.or - (local.tee $7 - (i32.load - (local.get $14) + (local.set $7 + (if (result i32) + (i32.or + (local.tee $6 + (i32.load + (local.get $13) + ) ) - ) - (local.tee $11 - (i32.load offset=4 - (local.get $14) + (local.tee $10 + (i32.load offset=4 + (local.get $13) + ) ) ) - ) - (block - (local.set $8 - (local.get $25) - ) - (local.set $7 - (loop $while-in123 (result i32) - (i32.store8 - (local.tee $8 - (i32.add - (local.get $8) - (i32.const -1) - ) - ) - (i32.or - (local.get $9) - (i32.load8_u + (block (result i32) + (local.set $7 + (local.get $25) + ) + (local.set $6 + (loop $while-in123 (result i32) + (i32.store8 + (local.tee $7 (i32.add - (i32.and - (local.get $7) - (i32.const 15) + (local.get $7) + (i32.const -1) + ) + ) + (i32.or + (local.get $8) + (i32.load8_u + (i32.add + (i32.and + (local.get $6) + (i32.const 15) + ) + (i32.const 4075) ) - (i32.const 4075) ) ) ) - ) - (br_if $while-in123 - (i32.or - (local.tee $7 - (call $_bitshift64Lshr - (local.get $7) - (local.get $11) - (i32.const 4) + (br_if $while-in123 + (i32.or + (local.tee $6 + (call $_bitshift64Lshr + (local.get $6) + (local.get $10) + (i32.const 4) + ) + ) + (local.tee $10 + (global.get $tempRet0) ) - ) - (local.tee $11 - (global.get $tempRet0) ) ) + (local.get $7) ) - (local.get $8) ) - ) - (local.set $8 (if (result i32) (i32.or (i32.eqz (i32.or (i32.load - (local.get $14) + (local.get $13) ) (i32.load offset=4 - (local.get $14) + (local.get $13) ) ) ) (i32.eqz (i32.and - (local.get $5) + (local.get $4) (i32.const 8) ) ) ) (block (result i32) - (local.set $9 + (local.set $8 (i32.const 4091) ) (i32.const 0) ) (block (result i32) - (local.set $9 + (local.set $8 (i32.add (i32.shr_s - (local.get $19) + (local.get $18) (i32.const 4) ) (i32.const 4091) @@ -6377,93 +6309,91 @@ ) ) ) - ) - (block - (local.set $7 - (local.get $25) - ) - (local.set $8 + (block (result i32) + (local.set $6 + (local.get $25) + ) + (local.set $8 + (i32.const 4091) + ) (i32.const 0) ) - (local.set $9 - (i32.const 4091) - ) ) ) (br $__rjti$8) ) - (local.set $7 + (local.set $6 (call $_fmt_u - (local.get $5) - (local.get $7) + (local.get $4) + (local.get $6) (local.get $25) ) ) - (local.set $5 - (local.get $11) + (local.set $4 + (local.get $10) ) (br $__rjti$8) ) - (local.set $19 + (local.set $18 (i32.eqz - (local.tee $13 + (local.tee $12 (call $_memchr - (local.get $7) (local.get $6) + (local.get $5) ) ) ) ) - (local.set $11 - (local.get $8) + (local.set $10 + (local.get $7) ) - (local.set $12 + (local.set $11 (select - (local.get $6) + (local.get $5) (i32.sub - (local.get $13) - (local.tee $5 - (local.get $7) + (local.get $12) + (local.tee $4 + (local.get $6) ) ) - (local.get $19) + (local.get $18) ) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjto$8 (select (i32.add + (local.get $4) (local.get $5) - (local.get $6) ) - (local.get $13) - (local.get $19) + (local.get $12) + (local.get $18) ) ) ) - (local.set $5 + (local.set $4 (i32.const 0) ) - (local.set $7 + (local.set $6 (i32.const 0) ) - (local.set $6 + (local.set $5 (i32.load - (local.get $14) + (local.get $13) ) ) (loop $while-in125 (block $while-out124 (br_if $while-out124 (i32.eqz - (local.tee $9 + (local.tee $8 (i32.load - (local.get $6) + (local.get $5) ) ) ) @@ -6471,36 +6401,36 @@ (br_if $while-out124 (i32.or (i32.lt_s - (local.tee $7 + (local.tee $6 (call $_wctomb (local.get $35) - (local.get $9) + (local.get $8) ) ) (i32.const 0) ) (i32.gt_u - (local.get $7) + (local.get $6) (i32.sub - (local.get $8) - (local.get $5) + (local.get $7) + (local.get $4) ) ) ) ) - (local.set $6 + (local.set $5 (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) ) (br_if $while-in125 (i32.gt_u - (local.get $8) - (local.tee $5 + (local.get $7) + (local.tee $4 (i32.add - (local.get $5) - (local.get $7) + (local.get $4) + (local.get $6) ) ) ) @@ -6509,11 +6439,11 @@ ) (if (i32.lt_s - (local.get $7) + (local.get $6) (i32.const 0) ) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) @@ -6522,29 +6452,29 @@ (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.get $5) - (local.get $11) + (local.get $14) + (local.get $4) + (local.get $10) ) (if (result i32) - (local.get $5) + (local.get $4) (block (result i32) - (local.set $6 + (local.set $5 (i32.const 0) ) - (local.set $7 + (local.set $6 (i32.load - (local.get $14) + (local.get $13) ) ) (loop $while-in127 (result i32) (drop (br_if $__rjti$7 - (local.get $5) + (local.get $4) (i32.eqz - (local.tee $8 + (local.tee $7 (i32.load - (local.get $7) + (local.get $6) ) ) ) @@ -6552,20 +6482,20 @@ ) (drop (br_if $__rjti$7 - (local.get $5) + (local.get $4) (i32.gt_s - (local.tee $6 + (local.tee $5 (i32.add - (local.tee $8 + (local.tee $7 (call $_wctomb (local.get $35) - (local.get $8) + (local.get $7) ) ) - (local.get $6) + (local.get $5) ) ) - (local.get $5) + (local.get $4) ) ) ) @@ -6578,27 +6508,25 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $35) - (local.get $8) - (local.get $0) - ) + (call $___fwritex + (local.get $35) + (local.get $7) + (local.get $0) ) ) - (local.set $7 + (local.set $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 4) ) ) (br_if $while-in127 (i32.lt_u - (local.get $6) (local.get $5) + (local.get $4) ) ) - (local.get $5) + (local.get $4) ) ) (i32.const 0) @@ -6606,52 +6534,52 @@ ) ) (i32.xor - (local.get $11) + (local.get $10) (i32.const 8192) ) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 + (local.set $9 (select - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.gt_s - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) ) ) ) (br $label$continue$L1) ) - (local.set $11 + (local.set $10 (select (i32.and - (local.get $5) + (local.get $4) (i32.const -65537) ) - (local.get $5) + (local.get $4) (i32.gt_s - (local.get $6) + (local.get $5) (i32.const -1) ) ) ) (if (result i32) (i32.or - (local.get $6) - (local.tee $5 + (local.get $5) + (local.tee $4 (i32.or (i32.ne (i32.load - (local.get $14) + (local.get $13) ) (i32.const 0) ) (i32.ne (i32.load offset=4 - (local.get $14) + (local.get $13) ) (i32.const 0) ) @@ -6659,66 +6587,66 @@ ) ) (block (result i32) - (local.set $12 + (local.set $11 (select - (local.get $6) - (local.tee $7 + (local.get $5) + (local.tee $6 (i32.add (i32.xor (i32.and - (local.get $5) + (local.get $4) (i32.const 1) ) (i32.const 1) ) (i32.sub (local.get $38) - (local.tee $5 - (local.get $7) + (local.tee $4 + (local.get $6) ) ) ) ) (i32.gt_s + (local.get $5) (local.get $6) - (local.get $7) ) ) ) (local.get $25) ) (block (result i32) - (local.set $12 + (local.set $11 (i32.const 0) ) - (local.tee $5 + (local.tee $4 (local.get $25) ) ) ) ) - (local.get $5) + (local.get $4) ) ) - (local.get $12) + (local.get $11) (i32.lt_s + (local.get $11) (local.get $12) - (local.get $13) ) ) ) - (local.get $8) + (local.get $7) ) ) - (local.get $15) + (local.get $14) (i32.lt_s - (local.get $15) - (local.get $6) + (local.get $14) + (local.get $5) ) ) ) - (local.get $6) - (local.get $11) + (local.get $5) + (local.get $10) ) (if (i32.eqz @@ -6729,29 +6657,27 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $9) - (local.get $8) - (local.get $0) - ) + (call $___fwritex + (local.get $8) + (local.get $7) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 48) - (local.get $7) (local.get $6) + (local.get $5) (i32.xor - (local.get $11) + (local.get $10) (i32.const 65536) ) ) (call $_pad (local.get $0) (i32.const 48) + (local.get $11) (local.get $12) - (local.get $13) (i32.const 0) ) (if @@ -6763,29 +6689,27 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $5) - (local.get $13) - (local.get $0) - ) + (call $___fwritex + (local.get $4) + (local.get $12) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 32) - (local.get $7) (local.get $6) + (local.get $5) (i32.xor - (local.get $11) + (local.get $10) (i32.const 8192) ) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) @@ -6796,23 +6720,23 @@ (i32.eqz (local.get $0) ) - (local.set $17 + (local.set $16 (if (result i32) - (local.get $1) + (local.get $19) (block (result i32) (local.set $0 (i32.const 1) ) (loop $while-in130 (if - (local.tee $1 + (local.tee $19 (i32.load (i32.add (i32.shl (local.get $0) (i32.const 2) ) - (local.get $4) + (local.get $3) ) ) ) @@ -6823,10 +6747,10 @@ (local.get $0) (i32.const 3) ) - (local.get $3) + (local.get $2) ) + (local.get $19) (local.get $1) - (local.get $2) ) (br_if $while-in130 (i32.lt_s @@ -6839,7 +6763,7 @@ (i32.const 10) ) ) - (local.set $17 + (local.set $16 (i32.const 1) ) (br $label$break$L343) @@ -6859,11 +6783,11 @@ (local.get $0) (i32.const 2) ) - (local.get $4) + (local.get $3) ) ) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L343) @@ -6893,7 +6817,7 @@ (global.set $STACKTOP (local.get $34) ) - (local.get $17) + (local.get $16) ) (func $_pop_arg_336 (; 49 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -7489,12 +7413,10 @@ (if (local.get $4) (block - (drop - (call $___fwritex - (local.get $6) - (i32.const 256) - (local.get $0) - ) + (call $___fwritex + (local.get $6) + (i32.const 256) + (local.get $0) ) (local.set $1 (i32.load @@ -7544,12 +7466,10 @@ ) ) ) - (drop - (call $___fwritex - (local.get $6) - (local.get $5) - (local.get $0) - ) + (call $___fwritex + (local.get $6) + (local.get $5) + (local.get $0) ) ) ) diff --git a/test/emcc_hello_world.fromasm.clamp b/test/emcc_hello_world.fromasm.clamp index 532943bbc..9a4aad57b 100644 --- a/test/emcc_hello_world.fromasm.clamp +++ b/test/emcc_hello_world.fromasm.clamp @@ -147,10 +147,8 @@ ) (call $abort) ) - (drop - (call $_printf - (local.get $0) - ) + (call $_printf + (local.get $0) ) (global.set $STACKTOP (local.get $0) @@ -625,7 +623,7 @@ ) (local.get $0) ) - (func $_printf (; 33 ;) (; has Stack IR ;) (param $0 i32) (result i32) + (func $_printf (; 33 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (local.set $1 (global.get $STACKTOP) @@ -647,19 +645,15 @@ (local.get $1) (local.get $0) ) - (local.set $0 - (call $_vfprintf - (i32.load - (i32.const 8) - ) - (i32.const 672) - (local.get $1) + (call $_vfprintf + (i32.load + (i32.const 8) ) + (local.get $1) ) (global.set $STACKTOP (local.get $1) ) - (local.get $0) ) (func $___stdio_write (; 34 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -1006,7 +1000,8 @@ ) (local.get $2) ) - (func $_vfprintf (; 35 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_vfprintf (; 35 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1017,8 +1012,7 @@ (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i32) - (local.set $3 + (local.set $6 (global.get $STACKTOP) ) (global.set $STACKTOP @@ -1034,27 +1028,26 @@ ) (call $abort) ) - (local.set $5 + (local.set $3 (i32.add - (local.get $3) + (local.get $6) (i32.const 120) ) ) - (local.set $7 - (local.get $3) - ) - (local.set $6 + (local.set $5 (i32.add - (local.get $3) + (local.tee $4 + (local.get $6) + ) (i32.const 136) ) ) - (local.set $9 + (local.set $8 (i32.add - (local.tee $4 - (local.tee $8 + (local.tee $2 + (local.tee $7 (i32.add - (local.get $3) + (local.get $4) (i32.const 80) ) ) @@ -1064,36 +1057,35 @@ ) (loop $do-in (i32.store - (local.get $4) + (local.get $2) (i32.const 0) ) (br_if $do-in (i32.lt_s - (local.tee $4 + (local.tee $2 (i32.add - (local.get $4) + (local.get $2) (i32.const 4) ) ) - (local.get $9) + (local.get $8) ) ) ) (i32.store - (local.get $5) + (local.get $3) (i32.load - (local.get $2) + (local.get $1) ) ) - (local.set $0 + (drop (if (result i32) (i32.lt_s (call $_printf_core (i32.const 0) - (local.get $1) - (local.get $5) + (local.get $3) + (local.get $4) (local.get $7) - (local.get $8) ) (i32.const 0) ) @@ -1104,7 +1096,7 @@ (local.get $0) ) ) - (local.set $10 + (local.set $9 (i32.load (local.get $0) ) @@ -1119,33 +1111,32 @@ (i32.store (local.get $0) (i32.and - (local.get $10) + (local.get $9) (i32.const -33) ) ) ) (if (i32.load - (local.tee $11 + (local.tee $1 (i32.add (local.get $0) (i32.const 48) ) ) ) - (local.set $1 + (drop (call $_printf_core (local.get $0) - (local.get $1) - (local.get $5) + (local.get $3) + (local.get $4) (local.get $7) - (local.get $8) ) ) (block - (local.set $13 + (local.set $11 (i32.load - (local.tee $12 + (local.tee $10 (i32.add (local.get $0) (i32.const 44) @@ -1154,54 +1145,53 @@ ) ) (i32.store - (local.get $12) - (local.get $6) + (local.get $10) + (local.get $5) ) (i32.store - (local.tee $4 + (local.tee $2 (i32.add (local.get $0) (i32.const 28) ) ) - (local.get $6) + (local.get $5) ) (i32.store - (local.tee $2 + (local.tee $12 (i32.add (local.get $0) (i32.const 20) ) ) - (local.get $6) + (local.get $5) ) (i32.store - (local.get $11) + (local.get $1) (i32.const 80) ) (i32.store - (local.tee $9 + (local.tee $8 (i32.add (local.get $0) (i32.const 16) ) ) (i32.add - (local.get $6) + (local.get $5) (i32.const 80) ) ) - (local.set $1 + (drop (call $_printf_core (local.get $0) - (local.get $1) - (local.get $5) + (local.get $3) + (local.get $4) (local.get $7) - (local.get $8) ) ) (if - (local.get $13) + (local.get $11) (block (drop (call_indirect (type $FUNCSIG$iiii) @@ -1219,33 +1209,29 @@ ) ) ) - (local.set $1 - (select - (local.get $1) - (i32.const -1) - (i32.load - (local.get $2) - ) + (drop + (i32.load + (local.get $12) ) ) (i32.store - (local.get $12) - (local.get $13) + (local.get $10) + (local.get $11) ) (i32.store - (local.get $11) + (local.get $1) (i32.const 0) ) (i32.store - (local.get $9) + (local.get $8) (i32.const 0) ) (i32.store - (local.get $4) + (local.get $2) (i32.const 0) ) (i32.store - (local.get $2) + (local.get $12) (i32.const 0) ) ) @@ -1255,34 +1241,24 @@ (i32.store (local.get $0) (i32.or - (local.tee $2 - (i32.load - (local.get $0) - ) + (i32.load + (local.get $0) ) (i32.and - (local.get $10) + (local.get $9) (i32.const 32) ) ) ) - (select - (i32.const -1) - (local.get $1) - (i32.and - (local.get $2) - (i32.const 32) - ) - ) + (i32.const 0) ) ) ) (global.set $STACKTOP - (local.get $3) + (local.get $6) ) - (local.get $0) ) - (func $___fwritex (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___fwritex (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1301,20 +1277,19 @@ ) ) ) - (local.set $3 - (if (result i32) + (if + (i32.eqz (call $___towrite (local.get $2) ) - (i32.const 0) - (block - (local.set $3 - (i32.load - (local.get $4) - ) + ) + (block + (local.set $3 + (i32.load + (local.get $4) ) - (br $__rjti$0) ) + (br $__rjti$0) ) ) (br $label$break$L5) @@ -1337,19 +1312,16 @@ (local.get $1) ) (block - (local.set $3 - (i32.load offset=36 - (local.get $2) - ) - ) - (local.set $3 + (drop (call_indirect (type $FUNCSIG$iiii) (local.get $2) (local.get $0) (local.get $1) (i32.add (i32.and - (local.get $3) + (i32.load offset=36 + (local.get $2) + ) (i32.const 7) ) (i32.const 2) @@ -1359,7 +1331,7 @@ (br $label$break$L5) ) ) - (local.set $2 + (drop (if (result i32) (i32.gt_s (i32.load8_s offset=75 @@ -1403,11 +1375,6 @@ ) ) ) - (local.set $4 - (i32.load offset=36 - (local.get $2) - ) - ) (br_if $label$break$L5 (i32.lt_u (call_indirect (type $FUNCSIG$iiii) @@ -1416,7 +1383,9 @@ (local.get $3) (i32.add (i32.and - (local.get $4) + (i32.load offset=36 + (local.get $2) + ) (i32.const 7) ) (i32.const 2) @@ -1442,7 +1411,7 @@ (local.get $3) ) ) - (local.get $3) + (i32.const 0) ) (i32.const 0) ) @@ -1463,14 +1432,7 @@ (local.get $1) ) ) - (local.set $3 - (i32.add - (local.get $1) - (local.get $2) - ) - ) ) - (local.get $3) ) (func $___towrite (; 37 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) @@ -2173,7 +2135,8 @@ (i32.const 0) ) ) - (func $_printf_core (; 49 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $_printf_core (; 49 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -2184,8 +2147,8 @@ (local $12 i32) (local $13 i32) (local $14 i32) - (local $15 i32) - (local $16 f64) + (local $15 f64) + (local $16 i32) (local $17 i32) (local $18 i32) (local $19 i32) @@ -2245,7 +2208,7 @@ ) (local.set $35 (i32.add - (local.tee $14 + (local.tee $13 (local.get $34) ) (i32.const 528) @@ -2260,9 +2223,9 @@ (local.set $38 (local.tee $25 (i32.add - (local.tee $5 + (local.tee $4 (i32.add - (local.get $14) + (local.get $13) (i32.const 536) ) ) @@ -2272,7 +2235,7 @@ ) (local.set $39 (i32.add - (local.get $5) + (local.get $4) (i32.const 39) ) ) @@ -2280,7 +2243,7 @@ (i32.add (local.tee $40 (i32.add - (local.get $14) + (local.get $13) (i32.const 8) ) ) @@ -2289,9 +2252,9 @@ ) (local.set $32 (i32.add - (local.tee $5 + (local.tee $4 (i32.add - (local.get $14) + (local.get $13) (i32.const 576) ) ) @@ -2300,7 +2263,7 @@ ) (local.set $41 (i32.add - (local.get $5) + (local.get $4) (i32.const 11) ) ) @@ -2312,7 +2275,7 @@ (local.tee $36 (local.tee $23 (i32.add - (local.get $14) + (local.get $13) (i32.const 588) ) ) @@ -2335,7 +2298,7 @@ (i32.add (local.tee $47 (i32.add - (local.get $14) + (local.get $13) (i32.const 24) ) ) @@ -2356,11 +2319,8 @@ (i32.const 8) ) ) - (local.set $5 - (local.get $1) - ) - (local.set $1 - (i32.const 0) + (local.set $4 + (i32.const 672) ) (block $label$break$L343 (block $__rjti$9 @@ -2368,16 +2328,16 @@ (block $label$break$L1 (if (i32.gt_s - (local.get $17) + (local.get $16) (i32.const -1) ) - (local.set $17 + (local.set $16 (if (result i32) (i32.gt_s - (local.get $10) + (local.get $9) (i32.sub (i32.const 2147483647) - (local.get $17) + (local.get $16) ) ) (block (result i32) @@ -2388,23 +2348,23 @@ (i32.const -1) ) (i32.add - (local.get $10) - (local.get $17) + (local.get $9) + (local.get $16) ) ) ) ) (br_if $__rjti$9 (i32.eqz - (local.tee $7 + (local.tee $6 (i32.load8_s - (local.get $5) + (local.get $4) ) ) ) ) - (local.set $10 - (local.get $5) + (local.set $9 + (local.get $4) ) (block $label$break$L12 (block $__rjti$1 @@ -2412,10 +2372,10 @@ (block $label$break$L9 (block $switch (if - (local.tee $7 + (local.tee $6 (i32.shr_s (i32.shl - (local.get $7) + (local.get $6) (i32.const 24) ) (i32.const 24) @@ -2424,26 +2384,26 @@ (block (br_if $switch (i32.ne - (local.get $7) + (local.get $6) (i32.const 37) ) ) - (local.set $6 - (local.get $10) + (local.set $5 + (local.get $9) ) (br $__rjti$1) ) ) - (local.set $6 - (local.get $10) + (local.set $5 + (local.get $9) ) (br $label$break$L9) ) - (local.set $7 + (local.set $6 (i32.load8_s - (local.tee $10 + (local.tee $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -2458,23 +2418,23 @@ (br_if $label$break$L12 (i32.ne (i32.load8_s offset=1 - (local.get $6) + (local.get $5) ) (i32.const 37) ) ) - (local.set $10 + (local.set $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) (br_if $while-in (i32.eq (i32.load8_s - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const 2) ) ) @@ -2484,10 +2444,10 @@ ) ) ) - (local.set $7 + (local.set $6 (i32.sub - (local.get $10) - (local.get $5) + (local.get $9) + (local.get $4) ) ) (if @@ -2501,40 +2461,38 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $5) - (local.get $7) - (local.get $0) - ) + (call $___fwritex + (local.get $4) + (local.get $6) + (local.get $0) ) ) ) (if (i32.ne - (local.get $5) - (local.get $10) + (local.get $4) + (local.get $9) ) (block - (local.set $5 - (local.get $6) + (local.set $4 + (local.get $5) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) ) - (local.set $8 + (local.set $7 (if (result i32) (i32.lt_u - (local.tee $8 + (local.tee $7 (i32.add - (local.tee $11 + (local.tee $10 (i32.load8_s - (local.tee $10 + (local.tee $9 (i32.add - (local.get $6) + (local.get $5) (i32.const 1) ) ) @@ -2546,19 +2504,19 @@ (i32.const 10) ) (block (result i32) - (local.set $6 + (local.set $5 (i32.load8_s - (local.tee $10 + (local.tee $9 (select (i32.add - (local.get $6) + (local.get $5) (i32.const 3) ) - (local.get $10) - (local.tee $11 + (local.get $9) + (local.tee $10 (i32.eq (i32.load8_s offset=2 - (local.get $6) + (local.get $5) ) (i32.const 36) ) @@ -2567,38 +2525,38 @@ ) ) ) - (local.set $18 + (local.set $17 (select - (local.get $8) + (local.get $7) (i32.const -1) - (local.get $11) + (local.get $10) ) ) (select (i32.const 1) - (local.get $1) - (local.get $11) + (local.get $19) + (local.get $10) ) ) (block (result i32) - (local.set $6 - (local.get $11) + (local.set $5 + (local.get $10) ) - (local.set $18 + (local.set $17 (i32.const -1) ) - (local.get $1) + (local.get $19) ) ) ) - (local.set $1 + (local.set $19 (if (result i32) (i32.eq (i32.and - (local.tee $11 + (local.tee $10 (i32.shr_s (i32.shl - (local.get $6) + (local.get $5) (i32.const 24) ) (i32.const 24) @@ -2609,13 +2567,13 @@ (i32.const 32) ) (block $label$break$L25 (result i32) - (local.set $1 - (local.get $6) + (local.set $19 + (local.get $5) ) - (local.set $6 - (local.get $11) + (local.set $5 + (local.get $10) ) - (local.set $11 + (local.set $10 (i32.const 0) ) (loop $while-in4 (result i32) @@ -2625,7 +2583,7 @@ (i32.shl (i32.const 1) (i32.add - (local.get $6) + (local.get $5) (i32.const -32) ) ) @@ -2633,23 +2591,23 @@ ) ) (block - (local.set $6 - (local.get $1) + (local.set $5 + (local.get $19) ) (br $label$break$L25 - (local.get $11) + (local.get $10) ) ) ) - (local.set $11 + (local.set $10 (i32.or - (local.get $11) + (local.get $10) (i32.shl (i32.const 1) (i32.add (i32.shr_s (i32.shl - (local.get $1) + (local.get $19) (i32.const 24) ) (i32.const 24) @@ -2662,12 +2620,12 @@ (br_if $while-in4 (i32.eq (i32.and - (local.tee $6 - (local.tee $1 + (local.tee $5 + (local.tee $19 (i32.load8_s - (local.tee $10 + (local.tee $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -2679,36 +2637,36 @@ (i32.const 32) ) ) - (local.set $6 - (local.get $1) + (local.set $5 + (local.get $19) ) - (local.get $11) + (local.get $10) ) ) (i32.const 0) ) ) - (local.set $1 + (local.set $19 (if (result i32) (i32.eq (i32.and - (local.get $6) + (local.get $5) (i32.const 255) ) (i32.const 42) ) (block $do-once5 (result i32) - (local.set $10 + (local.set $9 (block $__rjto$0 (result i32) (block $__rjti$0 (br_if $__rjti$0 (i32.ge_u - (local.tee $11 + (local.tee $10 (i32.add (i32.load8_s - (local.tee $6 + (local.tee $5 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -2722,7 +2680,7 @@ (br_if $__rjti$0 (i32.ne (i32.load8_s offset=2 - (local.get $10) + (local.get $9) ) (i32.const 36) ) @@ -2730,50 +2688,50 @@ (i32.store (i32.add (i32.shl - (local.get $11) + (local.get $10) (i32.const 2) ) - (local.get $4) + (local.get $3) ) (i32.const 10) ) (drop (i32.load offset=4 - (local.tee $6 + (local.tee $5 (i32.add (i32.shl (i32.add (i32.load8_s - (local.get $6) + (local.get $5) ) (i32.const -48) ) (i32.const 3) ) - (local.get $3) + (local.get $2) ) ) ) ) - (local.set $8 + (local.set $7 (i32.const 1) ) - (local.set $15 + (local.set $14 (i32.load - (local.get $6) + (local.get $5) ) ) (br $__rjto$0 (i32.add - (local.get $10) + (local.get $9) (i32.const 3) ) ) ) (if - (local.get $8) + (local.get $7) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) @@ -2784,13 +2742,13 @@ (local.get $28) ) (block - (local.set $11 - (local.get $1) - ) (local.set $10 - (local.get $6) + (local.get $19) + ) + (local.set $9 + (local.get $5) ) - (local.set $15 + (local.set $14 (i32.const 0) ) (br $do-once5 @@ -2798,13 +2756,13 @@ ) ) ) - (local.set $15 + (local.set $14 (i32.load - (local.tee $10 + (local.tee $9 (i32.and (i32.add (i32.load - (local.get $2) + (local.get $1) ) (i32.const 3) ) @@ -2814,48 +2772,48 @@ ) ) (i32.store - (local.get $2) + (local.get $1) (i32.add - (local.get $10) + (local.get $9) (i32.const 4) ) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.get $6) + (local.get $5) ) ) - (local.set $11 + (local.set $10 (if (result i32) (i32.lt_s - (local.get $15) + (local.get $14) (i32.const 0) ) (block (result i32) - (local.set $15 + (local.set $14 (i32.sub (i32.const 0) - (local.get $15) + (local.get $14) ) ) (i32.or - (local.get $1) + (local.get $19) (i32.const 8192) ) ) - (local.get $1) + (local.get $19) ) ) - (local.get $8) + (local.get $7) ) (if (result i32) (i32.lt_u - (local.tee $6 + (local.tee $5 (i32.add (i32.shr_s (i32.shl - (local.get $6) + (local.get $5) (i32.const 24) ) (i32.const 24) @@ -2866,27 +2824,27 @@ (i32.const 10) ) (block (result i32) - (local.set $11 + (local.set $10 (i32.const 0) ) (loop $while-in8 - (local.set $6 + (local.set $5 (i32.add - (local.get $6) + (local.get $5) (i32.mul - (local.get $11) + (local.get $10) (i32.const 10) ) ) ) (if (i32.lt_u - (local.tee $9 + (local.tee $8 (i32.add (i32.load8_s - (local.tee $10 + (local.tee $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -2897,11 +2855,11 @@ (i32.const 10) ) (block - (local.set $11 - (local.get $6) + (local.set $10 + (local.get $5) ) - (local.set $6 - (local.get $9) + (local.set $5 + (local.get $8) ) (br $while-in8) ) @@ -2909,54 +2867,54 @@ ) (if (result i32) (i32.lt_s - (local.get $6) + (local.get $5) (i32.const 0) ) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) ) (block (result i32) - (local.set $11 - (local.get $1) + (local.set $10 + (local.get $19) ) - (local.set $15 - (local.get $6) + (local.set $14 + (local.get $5) ) - (local.get $8) + (local.get $7) ) ) ) (block (result i32) - (local.set $11 - (local.get $1) + (local.set $10 + (local.get $19) ) - (local.set $15 + (local.set $14 (i32.const 0) ) - (local.get $8) + (local.get $7) ) ) ) ) - (local.set $6 + (local.set $5 (if (result i32) (i32.eq (i32.load8_s - (local.get $10) + (local.get $9) ) (i32.const 46) ) (block $label$break$L46 (result i32) (if (i32.ne - (local.tee $8 + (local.tee $7 (i32.load8_s - (local.tee $6 + (local.tee $5 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -2965,29 +2923,29 @@ (i32.const 42) ) (block - (local.set $6 + (local.set $5 (if (result i32) (i32.lt_u - (local.tee $9 + (local.tee $8 (i32.add - (local.get $8) + (local.get $7) (i32.const -48) ) ) (i32.const 10) ) (block (result i32) - (local.set $10 - (local.get $6) + (local.set $9 + (local.get $5) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.get $9) + (local.get $8) ) (block - (local.set $10 - (local.get $6) + (local.set $9 + (local.get $5) ) (br $label$break$L46 (i32.const 0) @@ -2998,22 +2956,22 @@ (loop $while-in11 (drop (br_if $label$break$L46 - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.mul - (local.get $8) + (local.get $7) (i32.const 10) ) ) ) (i32.ge_u - (local.tee $9 + (local.tee $8 (i32.add (i32.load8_s - (local.tee $10 + (local.tee $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -3025,11 +2983,11 @@ ) ) ) - (local.set $8 - (local.get $6) + (local.set $7 + (local.get $5) ) - (local.set $6 - (local.get $9) + (local.set $5 + (local.get $8) ) (br $while-in11) ) @@ -3037,12 +2995,12 @@ ) (if (i32.lt_u - (local.tee $8 + (local.tee $7 (i32.add (i32.load8_s - (local.tee $6 + (local.tee $5 (i32.add - (local.get $10) + (local.get $9) (i32.const 2) ) ) @@ -3055,7 +3013,7 @@ (if (i32.eq (i32.load8_s offset=3 - (local.get $10) + (local.get $9) ) (i32.const 36) ) @@ -3063,49 +3021,49 @@ (i32.store (i32.add (i32.shl - (local.get $8) + (local.get $7) (i32.const 2) ) - (local.get $4) + (local.get $3) ) (i32.const 10) ) (drop (i32.load offset=4 - (local.tee $6 + (local.tee $5 (i32.add (i32.shl (i32.add (i32.load8_s - (local.get $6) + (local.get $5) ) (i32.const -48) ) (i32.const 3) ) - (local.get $3) + (local.get $2) ) ) ) ) - (local.set $10 + (local.set $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 4) ) ) (br $label$break$L46 (i32.load - (local.get $6) + (local.get $5) ) ) ) ) ) (if - (local.get $1) + (local.get $19) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) @@ -3114,13 +3072,13 @@ (if (result i32) (local.get $28) (block (result i32) - (local.set $8 + (local.set $7 (i32.load - (local.tee $10 + (local.tee $9 (i32.and (i32.add (i32.load - (local.get $2) + (local.get $1) ) (i32.const 3) ) @@ -3130,20 +3088,20 @@ ) ) (i32.store - (local.get $2) + (local.get $1) (i32.add - (local.get $10) + (local.get $9) (i32.const 4) ) ) - (local.set $10 - (local.get $6) + (local.set $9 + (local.get $5) ) - (local.get $8) + (local.get $7) ) (block (result i32) - (local.set $10 - (local.get $6) + (local.set $9 + (local.get $5) ) (i32.const 0) ) @@ -3152,20 +3110,20 @@ (i32.const -1) ) ) - (local.set $8 - (local.get $10) + (local.set $7 + (local.get $9) ) - (local.set $9 + (local.set $8 (i32.const 0) ) - (local.set $19 + (local.set $18 (loop $while-in13 (result i32) (if (i32.gt_u - (local.tee $12 + (local.tee $11 (i32.add (i32.load8_s - (local.get $8) + (local.get $7) ) (i32.const -65) ) @@ -3173,30 +3131,30 @@ (i32.const 57) ) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) ) ) - (local.set $10 + (local.set $9 (i32.add - (local.get $8) + (local.get $7) (i32.const 1) ) ) (if (result i32) (i32.lt_u (i32.add - (local.tee $12 + (local.tee $11 (i32.and - (local.tee $13 + (local.tee $12 (i32.load8_s (i32.add - (local.get $12) + (local.get $11) (i32.add (i32.mul - (local.get $9) + (local.get $8) (i32.const 58) ) (i32.const 3611) @@ -3212,35 +3170,35 @@ (i32.const 8) ) (block - (local.set $8 - (local.get $10) + (local.set $7 + (local.get $9) ) - (local.set $9 - (local.get $12) + (local.set $8 + (local.get $11) ) (br $while-in13) ) - (local.get $8) + (local.get $7) ) ) ) (if (i32.eqz (i32.and - (local.get $13) + (local.get $12) (i32.const 255) ) ) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) ) ) - (local.set $8 + (local.set $7 (i32.gt_s - (local.get $18) + (local.get $17) (i32.const -1) ) ) @@ -3249,15 +3207,15 @@ (if (i32.eq (i32.and - (local.get $13) + (local.get $12) (i32.const 255) ) (i32.const 19) ) (if - (local.get $8) + (local.get $7) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) @@ -3266,40 +3224,40 @@ ) (block (if - (local.get $8) + (local.get $7) (block (i32.store (i32.add (i32.shl - (local.get $18) + (local.get $17) (i32.const 2) ) - (local.get $4) + (local.get $3) ) - (local.get $12) + (local.get $11) ) - (local.set $12 + (local.set $11 (i32.load offset=4 - (local.tee $8 + (local.tee $7 (i32.add (i32.shl - (local.get $18) + (local.get $17) (i32.const 3) ) - (local.get $3) + (local.get $2) ) ) ) ) (i32.store - (local.get $14) + (local.get $13) (i32.load - (local.get $8) + (local.get $7) ) ) (i32.store offset=4 - (local.get $14) - (local.get $12) + (local.get $13) + (local.get $11) ) (br $__rjti$2) ) @@ -3309,16 +3267,16 @@ (local.get $28) ) (block - (local.set $17 + (local.set $16 (i32.const 0) ) (br $label$break$L1) ) ) (call $_pop_arg_336 - (local.get $14) - (local.get $12) - (local.get $2) + (local.get $13) + (local.get $11) + (local.get $1) ) ) ) @@ -3329,27 +3287,27 @@ (local.get $28) ) (block - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) ) ) - (local.set $11 + (local.set $10 (select - (local.tee $8 + (local.tee $7 (i32.and - (local.get $11) + (local.get $10) (i32.const -65537) ) ) - (local.get $11) + (local.get $10) (i32.and - (local.get $11) + (local.get $10) (i32.const 8192) ) ) @@ -3357,21 +3315,21 @@ (call $_pad (local.get $0) (i32.const 32) - (local.tee $7 + (local.tee $6 (select - (local.tee $6 + (local.tee $5 (i32.add - (local.tee $12 + (local.tee $11 (select - (local.tee $13 + (local.tee $12 (i32.sub (block $__rjto$8 (result i32) (block $__rjti$8 (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.tee $7 + (local.get $14) + (local.tee $6 (block $__rjti$7 (result i32) (block $__rjti$6 (block $__rjti$5 @@ -3392,27 +3350,27 @@ (block $switch-case27 (br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $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-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $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-case30 $switch-default120 (i32.sub - (local.tee $19 + (local.tee $18 (select (i32.and - (local.tee $12 + (local.tee $11 (i32.load8_s - (local.get $19) + (local.get $18) ) ) (i32.const -33) ) - (local.get $12) + (local.get $11) (i32.and (i32.eq (i32.and - (local.get $12) + (local.get $11) (i32.const 15) ) (i32.const 3) ) (i32.ne - (local.get $9) + (local.get $8) (i32.const 0) ) ) @@ -3431,51 +3389,51 @@ (block $switch-case20 (block $switch-case19 (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26 - (local.get $9) + (local.get $8) ) ) (i32.store (i32.load - (local.get $14) + (local.get $13) ) - (local.get $17) + (local.get $16) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store (i32.load - (local.get $14) + (local.get $13) ) - (local.get $17) + (local.get $16) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store - (local.tee $5 + (local.tee $4 (i32.load - (local.get $14) + (local.get $13) ) ) - (local.get $17) + (local.get $16) ) (i32.store offset=4 - (local.get $5) + (local.get $4) (i32.shr_s (i32.shl (i32.lt_s - (local.get $17) + (local.get $16) (i32.const 0) ) (i32.const 31) @@ -3483,70 +3441,70 @@ (i32.const 31) ) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store16 (i32.load - (local.get $14) + (local.get $13) ) - (local.get $17) + (local.get $16) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store8 (i32.load - (local.get $14) + (local.get $13) ) - (local.get $17) + (local.get $16) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store (i32.load - (local.get $14) + (local.get $13) ) - (local.get $17) + (local.get $16) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store - (local.tee $5 + (local.tee $4 (i32.load - (local.get $14) + (local.get $13) ) ) - (local.get $17) + (local.get $16) ) (i32.store offset=4 - (local.get $5) + (local.get $4) (i32.shr_s (i32.shl (i32.lt_s - (local.get $17) + (local.get $16) (i32.const 0) ) (i32.const 31) @@ -3554,76 +3512,76 @@ (i32.const 31) ) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) - (local.set $5 + (local.set $4 (i32.or - (local.get $11) + (local.get $10) (i32.const 8) ) ) - (local.set $6 + (local.set $5 (select - (local.get $6) + (local.get $5) (i32.const 8) (i32.gt_u - (local.get $6) + (local.get $5) (i32.const 8) ) ) ) - (local.set $19 + (local.set $18 (i32.const 120) ) (br $__rjti$3) ) - (local.set $5 - (local.get $11) + (local.set $4 + (local.get $10) ) (br $__rjti$3) ) (if (i32.or - (local.tee $5 + (local.tee $4 (i32.load - (local.get $14) + (local.get $13) ) ) - (local.tee $7 + (local.tee $6 (i32.load offset=4 - (local.get $14) + (local.get $13) ) ) ) (block - (local.set $8 + (local.set $7 (local.get $25) ) (loop $while-in32 (i32.store8 - (local.tee $8 + (local.tee $7 (i32.add - (local.get $8) + (local.get $7) (i32.const -1) ) ) (i32.or (i32.and - (local.get $5) + (local.get $4) (i32.const 7) ) (i32.const 48) @@ -3631,129 +3589,129 @@ ) (br_if $while-in32 (i32.or - (local.tee $5 + (local.tee $4 (call $_bitshift64Lshr - (local.get $5) - (local.get $7) + (local.get $4) + (local.get $6) (i32.const 3) ) ) - (local.tee $7 + (local.tee $6 (global.get $tempRet0) ) ) ) ) ) - (local.set $8 + (local.set $7 (local.get $25) ) ) (if (i32.and - (local.get $11) + (local.get $10) (i32.const 8) ) (block - (local.set $5 - (local.get $11) + (local.set $4 + (local.get $10) ) - (local.set $6 + (local.set $5 (select - (local.tee $11 + (local.tee $10 (i32.add (i32.sub (local.get $38) - (local.tee $7 - (local.get $8) + (local.tee $6 + (local.get $7) ) ) (i32.const 1) ) ) - (local.get $6) + (local.get $5) (i32.lt_s - (local.get $6) - (local.get $11) + (local.get $5) + (local.get $10) ) ) ) ) (block - (local.set $7 - (local.get $8) + (local.set $6 + (local.get $7) ) - (local.set $5 - (local.get $11) + (local.set $4 + (local.get $10) ) ) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjti$8) ) - (local.set $5 + (local.set $4 (i32.load - (local.get $14) + (local.get $13) ) ) (if (i32.lt_s - (local.tee $7 + (local.tee $6 (i32.load offset=4 - (local.get $14) + (local.get $13) ) ) (i32.const 0) ) (block (i32.store - (local.get $14) - (local.tee $5 + (local.get $13) + (local.tee $4 (call $_i64Subtract (i32.const 0) (i32.const 0) - (local.get $5) - (local.get $7) + (local.get $4) + (local.get $6) ) ) ) (i32.store offset=4 - (local.get $14) - (local.tee $7 + (local.get $13) + (local.tee $6 (global.get $tempRet0) ) ) - (local.set $8 + (local.set $7 (i32.const 1) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjti$4) ) ) - (local.set $9 + (local.set $8 (if (result i32) (i32.and - (local.get $11) + (local.get $10) (i32.const 2048) ) (block (result i32) - (local.set $8 + (local.set $7 (i32.const 1) ) (i32.const 4092) ) (block (result i32) - (local.set $8 - (local.tee $9 + (local.set $7 + (local.tee $8 (i32.and - (local.get $11) + (local.get $10) (i32.const 1) ) ) @@ -3761,62 +3719,62 @@ (select (i32.const 4093) (i32.const 4091) - (local.get $9) + (local.get $8) ) ) ) ) (br $__rjti$4) ) - (local.set $5 + (local.set $4 (i32.load - (local.get $14) + (local.get $13) ) ) - (local.set $7 + (local.set $6 (i32.load offset=4 - (local.get $14) + (local.get $13) ) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjti$4) ) (drop (i32.load offset=4 - (local.get $14) + (local.get $13) ) ) (i32.store8 (local.get $39) (i32.load - (local.get $14) + (local.get $13) ) ) - (local.set $5 + (local.set $4 (local.get $39) ) - (local.set $11 - (local.get $8) + (local.set $10 + (local.get $7) ) - (local.set $12 + (local.set $11 (i32.const 1) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjto$8 (local.get $25) ) ) - (local.set $7 + (local.set $6 (call $_strerror (i32.load (call $___errno_location) @@ -3825,28 +3783,28 @@ ) (br $__rjti$5) ) - (local.set $7 + (local.set $6 (select - (local.tee $5 + (local.tee $4 (i32.load - (local.get $14) + (local.get $13) ) ) (i32.const 4101) - (local.get $5) + (local.get $4) ) ) (br $__rjti$5) ) (drop (i32.load offset=4 - (local.get $14) + (local.get $13) ) ) (i32.store (local.get $40) (i32.load - (local.get $14) + (local.get $13) ) ) (i32.store @@ -3854,19 +3812,19 @@ (i32.const 0) ) (i32.store - (local.get $14) + (local.get $13) (local.get $40) ) - (local.set $8 + (local.set $7 (i32.const -1) ) (br $__rjti$6) ) (if - (local.get $6) + (local.get $5) (block - (local.set $8 - (local.get $6) + (local.set $7 + (local.get $5) ) (br $__rjti$6) ) @@ -3874,9 +3832,9 @@ (call $_pad (local.get $0) (i32.const 32) - (local.get $15) + (local.get $14) (i32.const 0) - (local.get $11) + (local.get $10) ) (br $__rjti$7 (i32.const 0) @@ -3884,9 +3842,9 @@ ) ) ) - (local.set $16 + (local.set $15 (f64.load - (local.get $14) + (local.get $13) ) ) (i32.store @@ -3895,7 +3853,7 @@ ) (f64.store (global.get $tempDoublePtr) - (local.get $16) + (local.get $15) ) (drop (i32.load @@ -3914,16 +3872,16 @@ (local.set $26 (i32.const 1) ) - (local.set $16 + (local.set $15 (f64.neg - (local.get $16) + (local.get $15) ) ) (i32.const 4108) ) (if (result i32) (i32.and - (local.get $11) + (local.get $10) (i32.const 2048) ) (block (result i32) @@ -3934,9 +3892,9 @@ ) (block (result i32) (local.set $26 - (local.tee $5 + (local.tee $4 (i32.and - (local.get $11) + (local.get $10) (i32.const 1) ) ) @@ -3944,7 +3902,7 @@ (select (i32.const 4114) (i32.const 4109) - (local.get $5) + (local.get $4) ) ) ) @@ -3952,14 +3910,14 @@ ) (f64.store (global.get $tempDoublePtr) - (local.get $16) + (local.get $15) ) (drop (i32.load (global.get $tempDoublePtr) ) ) - (local.set $7 + (local.set $6 (if (result i32) (i32.lt_u (i32.and @@ -3972,12 +3930,12 @@ ) (block $do-once49 (result i32) (if - (local.tee $5 + (local.tee $4 (f64.ne (local.tee $22 (f64.mul (call $_frexp - (local.get $16) + (local.get $15) (local.get $20) ) (f64.const 2) @@ -4000,60 +3958,60 @@ (i32.eq (local.tee $24 (i32.or - (local.get $19) + (local.get $18) (i32.const 32) ) ) (i32.const 97) ) (block - (local.set $9 + (local.set $8 (select (i32.add (local.get $30) (i32.const 9) ) (local.get $30) - (local.tee $13 + (local.tee $12 (i32.and - (local.get $19) + (local.get $18) (i32.const 32) ) ) ) ) - (local.set $16 + (local.set $15 (if (result f64) (i32.or (i32.eqz - (local.tee $5 + (local.tee $4 (i32.sub (i32.const 12) - (local.get $6) + (local.get $5) ) ) ) (i32.gt_u - (local.get $6) + (local.get $5) (i32.const 11) ) ) (local.get $22) (block (result f64) - (local.set $16 + (local.set $15 (f64.const 8) ) (loop $while-in54 - (local.set $16 + (local.set $15 (f64.mul - (local.get $16) + (local.get $15) (f64.const 16) ) ) (br_if $while-in54 - (local.tee $5 + (local.tee $4 (i32.add - (local.get $5) + (local.get $4) (i32.const -1) ) ) @@ -4062,33 +4020,33 @@ (if (result f64) (i32.eq (i32.load8_s - (local.get $9) + (local.get $8) ) (i32.const 45) ) (f64.neg (f64.add - (local.get $16) + (local.get $15) (f64.sub (f64.neg (local.get $22) ) - (local.get $16) + (local.get $15) ) ) ) (f64.sub (f64.add (local.get $22) - (local.get $16) + (local.get $15) ) - (local.get $16) + (local.get $15) ) ) ) ) ) - (local.set $12 + (local.set $11 (i32.or (local.get $26) (i32.const 2) @@ -4096,21 +4054,21 @@ ) (if (i32.eq - (local.tee $5 + (local.tee $4 (call $_fmt_u - (local.tee $5 + (local.tee $4 (select (i32.sub (i32.const 0) - (local.tee $7 + (local.tee $6 (i32.load (local.get $20) ) ) ) - (local.get $7) + (local.get $6) (i32.lt_s - (local.get $7) + (local.get $6) (i32.const 0) ) ) @@ -4118,7 +4076,7 @@ (i32.shr_s (i32.shl (i32.lt_s - (local.get $5) + (local.get $4) (i32.const 0) ) (i32.const 31) @@ -4135,20 +4093,20 @@ (local.get $41) (i32.const 48) ) - (local.set $5 + (local.set $4 (local.get $41) ) ) ) (i32.store8 (i32.add - (local.get $5) + (local.get $4) (i32.const -1) ) (i32.add (i32.and (i32.shr_s - (local.get $7) + (local.get $6) (i32.const 31) ) (i32.const 2) @@ -4157,44 +4115,44 @@ ) ) (i32.store8 - (local.tee $8 + (local.tee $7 (i32.add - (local.get $5) + (local.get $4) (i32.const -2) ) ) (i32.add - (local.get $19) + (local.get $18) (i32.const 15) ) ) - (local.set $19 + (local.set $18 (i32.lt_s - (local.get $6) + (local.get $5) (i32.const 1) ) ) - (local.set $18 + (local.set $17 (i32.eqz (i32.and - (local.get $11) + (local.get $10) (i32.const 8) ) ) ) - (local.set $5 + (local.set $4 (local.get $23) ) (loop $while-in56 (i32.store8 - (local.get $5) + (local.get $4) (i32.or - (local.get $13) + (local.get $12) (i32.load8_u (i32.add - (local.tee $7 + (local.tee $6 (call $f64-to-int - (local.get $16) + (local.get $15) ) ) (i32.const 4075) @@ -4202,24 +4160,24 @@ ) ) ) - (local.set $16 + (local.set $15 (f64.mul (f64.sub - (local.get $16) + (local.get $15) (f64.convert_i32_s - (local.get $7) + (local.get $6) ) ) (f64.const 16) ) ) - (local.set $5 + (local.set $4 (if (result i32) (i32.eq (i32.sub - (local.tee $7 + (local.tee $6 (i32.add - (local.get $5) + (local.get $4) (i32.const 1) ) ) @@ -4231,31 +4189,31 @@ (i32.and (i32.and (f64.eq - (local.get $16) + (local.get $15) (f64.const 0) ) - (local.get $19) + (local.get $18) ) - (local.get $18) + (local.get $17) ) - (local.get $7) + (local.get $6) (block (result i32) (i32.store8 - (local.get $7) + (local.get $6) (i32.const 46) ) (i32.add - (local.get $5) + (local.get $4) (i32.const 2) ) ) ) - (local.get $7) + (local.get $6) ) ) (br_if $while-in56 (f64.ne - (local.get $16) + (local.get $15) (f64.const 0) ) ) @@ -4263,44 +4221,44 @@ (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.tee $7 + (local.get $14) + (local.tee $6 (i32.add - (local.get $12) - (local.tee $6 + (local.get $11) + (local.tee $5 (select (i32.sub (i32.add - (local.get $6) + (local.get $5) (local.get $46) ) - (local.get $8) + (local.get $7) ) (i32.add - (local.get $5) + (local.get $4) (i32.sub (local.get $44) - (local.get $8) + (local.get $7) ) ) (i32.and (i32.ne - (local.get $6) + (local.get $5) (i32.const 0) ) (i32.lt_s (i32.add - (local.get $5) + (local.get $4) (local.get $45) ) - (local.get $6) + (local.get $5) ) ) ) ) ) ) - (local.get $11) + (local.get $10) ) (if (i32.eqz @@ -4311,27 +4269,25 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $9) - (local.get $12) - (local.get $0) - ) + (call $___fwritex + (local.get $8) + (local.get $11) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 48) - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.xor - (local.get $11) + (local.get $10) (i32.const 65536) ) ) - (local.set $5 + (local.set $4 (i32.sub - (local.get $5) + (local.get $4) (local.get $36) ) ) @@ -4344,25 +4300,23 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $23) - (local.get $5) - (local.get $0) - ) + (call $___fwritex + (local.get $23) + (local.get $4) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 48) (i32.sub - (local.get $6) + (local.get $5) (i32.add - (local.get $5) - (local.tee $5 + (local.get $4) + (local.tee $4 (i32.sub (local.get $27) - (local.get $8) + (local.get $7) ) ) ) @@ -4379,43 +4333,41 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $8) - (local.get $5) - (local.get $0) - ) + (call $___fwritex + (local.get $7) + (local.get $4) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.xor - (local.get $11) + (local.get $10) (i32.const 8192) ) ) (br $do-once49 (select - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.lt_s - (local.get $7) - (local.get $15) + (local.get $6) + (local.get $14) ) ) ) ) ) - (local.set $16 + (local.set $15 (if (result f64) - (local.get $5) + (local.get $4) (block (result f64) (i32.store (local.get $20) - (local.tee $5 + (local.tee $4 (i32.add (i32.load (local.get $20) @@ -4430,7 +4382,7 @@ ) ) (block (result f64) - (local.set $5 + (local.set $4 (i32.load (local.get $20) ) @@ -4439,13 +4391,13 @@ ) ) ) - (local.set $7 - (local.tee $8 + (local.set $6 + (local.tee $7 (select (local.get $47) (local.get $48) (i32.lt_s - (local.get $5) + (local.get $4) (i32.const 0) ) ) @@ -4453,27 +4405,27 @@ ) (loop $while-in60 (i32.store - (local.get $7) - (local.tee $5 + (local.get $6) + (local.tee $4 (call $f64-to-uint - (local.get $16) + (local.get $15) ) ) ) - (local.set $7 + (local.set $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 4) ) ) (br_if $while-in60 (f64.ne - (local.tee $16 + (local.tee $15 (f64.mul (f64.sub - (local.get $16) + (local.get $15) (f64.convert_i32_u - (local.get $5) + (local.get $4) ) ) (f64.const 1e9) @@ -4485,7 +4437,7 @@ ) (if (i32.gt_s - (local.tee $9 + (local.tee $8 (i32.load (local.get $20) ) @@ -4493,113 +4445,113 @@ (i32.const 0) ) (block - (local.set $5 - (local.get $8) + (local.set $4 + (local.get $7) ) (loop $while-in62 - (local.set $13 + (local.set $12 (select (i32.const 29) - (local.get $9) + (local.get $8) (i32.gt_s - (local.get $9) + (local.get $8) (i32.const 29) ) ) ) (if (i32.ge_u - (local.tee $9 + (local.tee $8 (i32.add - (local.get $7) + (local.get $6) (i32.const -4) ) ) - (local.get $5) + (local.get $4) ) (block $do-once63 - (local.set $12 + (local.set $11 (i32.const 0) ) (loop $while-in66 (i32.store - (local.get $9) + (local.get $8) (call $___uremdi3 - (local.tee $12 + (local.tee $11 (call $_i64Add (call $_bitshift64Shl (i32.load - (local.get $9) + (local.get $8) ) (i32.const 0) - (local.get $13) + (local.get $12) ) (global.get $tempRet0) - (local.get $12) + (local.get $11) (i32.const 0) ) ) - (local.tee $18 + (local.tee $17 (global.get $tempRet0) ) (i32.const 1000000000) ) ) - (local.set $12 + (local.set $11 (call $___udivdi3 - (local.get $12) - (local.get $18) + (local.get $11) + (local.get $17) (i32.const 1000000000) ) ) (br_if $while-in66 (i32.ge_u - (local.tee $9 + (local.tee $8 (i32.add - (local.get $9) + (local.get $8) (i32.const -4) ) ) - (local.get $5) + (local.get $4) ) ) ) (br_if $do-once63 (i32.eqz - (local.get $12) + (local.get $11) ) ) (i32.store - (local.tee $5 + (local.tee $4 (i32.add - (local.get $5) + (local.get $4) (i32.const -4) ) ) - (local.get $12) + (local.get $11) ) ) ) (loop $while-in68 (if (i32.gt_u - (local.get $7) - (local.get $5) + (local.get $6) + (local.get $4) ) (if (i32.eqz (i32.load - (local.tee $9 + (local.tee $8 (i32.add - (local.get $7) + (local.get $6) (i32.const -4) ) ) ) ) (block - (local.set $7 - (local.get $9) + (local.set $6 + (local.get $8) ) (br $while-in68) ) @@ -4608,40 +4560,40 @@ ) (i32.store (local.get $20) - (local.tee $9 + (local.tee $8 (i32.sub (i32.load (local.get $20) ) - (local.get $13) + (local.get $12) ) ) ) (br_if $while-in62 (i32.gt_s - (local.get $9) + (local.get $8) (i32.const 0) ) ) ) ) - (local.set $5 - (local.get $8) + (local.set $4 + (local.get $7) ) ) - (local.set $18 + (local.set $17 (select (i32.const 6) - (local.get $6) + (local.get $5) (i32.lt_s - (local.get $6) + (local.get $5) (i32.const 0) ) ) ) (if (i32.lt_s - (local.get $9) + (local.get $8) (i32.const 0) ) (block @@ -4649,7 +4601,7 @@ (i32.add (call $i32s-div (i32.add - (local.get $18) + (local.get $17) (i32.const 25) ) (i32.const 9) @@ -4663,40 +4615,40 @@ (i32.const 102) ) ) - (local.set $6 - (local.get $5) - ) (local.set $5 - (local.get $7) + (local.get $4) ) - (local.set $5 + (local.set $4 + (local.get $6) + ) + (local.set $4 (loop $while-in70 (result i32) - (local.set $13 + (local.set $12 (select (i32.const 9) - (local.tee $7 + (local.tee $6 (i32.sub (i32.const 0) - (local.get $9) + (local.get $8) ) ) (i32.gt_s - (local.get $7) + (local.get $6) (i32.const 9) ) ) ) (if (i32.lt_u - (local.get $6) (local.get $5) + (local.get $4) ) (block $do-once71 - (local.set $12 + (local.set $11 (i32.add (i32.shl (i32.const 1) - (local.get $13) + (local.get $12) ) (i32.const -1) ) @@ -4704,99 +4656,99 @@ (local.set $37 (i32.shr_u (i32.const 1000000000) - (local.get $13) + (local.get $12) ) ) - (local.set $9 + (local.set $8 (i32.const 0) ) - (local.set $7 - (local.get $6) + (local.set $6 + (local.get $5) ) (loop $while-in74 (i32.store - (local.get $7) + (local.get $6) (i32.add - (local.get $9) + (local.get $8) (i32.shr_u - (local.tee $9 + (local.tee $8 (i32.load - (local.get $7) + (local.get $6) ) ) - (local.get $13) + (local.get $12) ) ) ) - (local.set $9 + (local.set $8 (i32.mul (i32.and - (local.get $9) - (local.get $12) + (local.get $8) + (local.get $11) ) (local.get $37) ) ) (br_if $while-in74 (i32.lt_u - (local.tee $7 + (local.tee $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 4) ) ) - (local.get $5) + (local.get $4) ) ) ) - (local.set $7 + (local.set $6 (select - (local.get $6) + (local.get $5) (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) (i32.load - (local.get $6) + (local.get $5) ) ) ) (br_if $do-once71 (i32.eqz - (local.get $9) + (local.get $8) ) ) (i32.store - (local.get $5) - (local.get $9) + (local.get $4) + (local.get $8) ) - (local.set $5 + (local.set $4 (i32.add - (local.get $5) + (local.get $4) (i32.const 4) ) ) ) - (local.set $7 + (local.set $6 (select - (local.get $6) + (local.get $5) (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) (i32.load - (local.get $6) + (local.get $5) ) ) ) ) - (local.set $12 + (local.set $11 (select (i32.add - (local.tee $6 + (local.tee $5 (select - (local.get $8) (local.get $7) + (local.get $6) (local.get $31) ) ) @@ -4805,12 +4757,12 @@ (i32.const 2) ) ) - (local.get $5) + (local.get $4) (i32.gt_s (i32.shr_s (i32.sub + (local.get $4) (local.get $5) - (local.get $6) ) (i32.const 2) ) @@ -4820,58 +4772,58 @@ ) (i32.store (local.get $20) - (local.tee $9 + (local.tee $8 (i32.add (i32.load (local.get $20) ) - (local.get $13) + (local.get $12) ) ) ) (if (result i32) (i32.lt_s - (local.get $9) + (local.get $8) (i32.const 0) ) (block - (local.set $6 - (local.get $7) - ) (local.set $5 - (local.get $12) + (local.get $6) + ) + (local.set $4 + (local.get $11) ) (br $while-in70) ) (block (result i32) - (local.set $9 - (local.get $12) + (local.set $8 + (local.get $11) ) - (local.get $7) + (local.get $6) ) ) ) ) ) - (local.set $9 - (local.get $7) + (local.set $8 + (local.get $6) ) ) (local.set $21 - (local.get $8) + (local.get $7) ) (if (i32.lt_u - (local.get $5) - (local.get $9) + (local.get $4) + (local.get $8) ) (block $do-once75 - (local.set $7 + (local.set $6 (i32.mul (i32.shr_s (i32.sub (local.get $21) - (local.get $5) + (local.get $4) ) (i32.const 2) ) @@ -4880,30 +4832,30 @@ ) (br_if $do-once75 (i32.lt_u - (local.tee $12 + (local.tee $11 (i32.load - (local.get $5) + (local.get $4) ) ) (i32.const 10) ) ) - (local.set $6 + (local.set $5 (i32.const 10) ) (loop $while-in78 - (local.set $7 + (local.set $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 1) ) ) (br_if $while-in78 (i32.ge_u - (local.get $12) - (local.tee $6 + (local.get $11) + (local.tee $5 (i32.mul - (local.get $6) + (local.get $5) (i32.const 10) ) ) @@ -4911,19 +4863,19 @@ ) ) ) - (local.set $7 + (local.set $6 (i32.const 0) ) ) - (local.set $5 + (local.set $4 (if (result i32) (i32.lt_s - (local.tee $6 + (local.tee $5 (i32.add (i32.sub - (local.get $18) + (local.get $17) (select - (local.get $7) + (local.get $6) (i32.const 0) (i32.ne (local.get $24) @@ -4942,7 +4894,7 @@ ) (local.tee $37 (i32.ne - (local.get $18) + (local.get $17) (i32.const 0) ) ) @@ -4957,7 +4909,7 @@ (i32.mul (i32.shr_s (i32.sub - (local.get $9) + (local.get $8) (local.get $21) ) (i32.const 2) @@ -4968,11 +4920,11 @@ ) ) (block (result i32) - (local.set $13 + (local.set $12 (call $i32s-div - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const 9216) ) ) @@ -4981,10 +4933,10 @@ ) (if (i32.lt_s - (local.tee $6 + (local.tee $5 (i32.add (i32.rem_s - (local.get $6) + (local.get $5) (i32.const 9) ) (i32.const 1) @@ -4993,21 +4945,21 @@ (i32.const 9) ) (block - (local.set $12 + (local.set $11 (i32.const 10) ) (loop $while-in80 - (local.set $12 + (local.set $11 (i32.mul - (local.get $12) + (local.get $11) (i32.const 10) ) ) (br_if $while-in80 (i32.ne - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const 1) ) ) @@ -5016,29 +4968,29 @@ ) ) ) - (local.set $12 + (local.set $11 (i32.const 10) ) ) - (local.set $13 + (local.set $12 (call $i32u-rem (local.tee $24 (i32.load - (local.tee $6 + (local.tee $5 (i32.add (i32.add (i32.shl - (local.get $13) + (local.get $12) (i32.const 2) ) - (local.get $8) + (local.get $7) ) (i32.const -4092) ) ) ) ) - (local.get $12) + (local.get $11) ) ) (if @@ -5047,14 +4999,14 @@ (local.tee $49 (i32.eq (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) - (local.get $9) + (local.get $8) ) ) (i32.eqz - (local.get $13) + (local.get $12) ) ) ) @@ -5062,16 +5014,16 @@ (local.set $50 (call $i32u-div (local.get $24) - (local.get $12) + (local.get $11) ) ) - (local.set $16 + (local.set $15 (if (result f64) (i32.lt_u - (local.get $13) + (local.get $12) (local.tee $51 (call $i32s-div - (local.get $12) + (local.get $11) (i32.const 2) ) ) @@ -5083,7 +5035,7 @@ (i32.and (local.get $49) (i32.eq - (local.get $13) + (local.get $12) (local.get $51) ) ) @@ -5110,9 +5062,9 @@ (i32.const 45) ) (block - (local.set $16 + (local.set $15 (f64.neg - (local.get $16) + (local.get $15) ) ) (local.set $22 @@ -5124,11 +5076,11 @@ ) ) (i32.store - (local.get $6) - (local.tee $13 + (local.get $5) + (local.tee $12 (i32.sub (local.get $24) - (local.get $13) + (local.get $12) ) ) ) @@ -5136,44 +5088,44 @@ (f64.eq (f64.add (local.get $22) - (local.get $16) + (local.get $15) ) (local.get $22) ) ) (i32.store - (local.get $6) - (local.tee $7 + (local.get $5) + (local.tee $6 (i32.add + (local.get $11) (local.get $12) - (local.get $13) ) ) ) (if (i32.gt_u - (local.get $7) + (local.get $6) (i32.const 999999999) ) (loop $while-in86 (i32.store - (local.get $6) + (local.get $5) (i32.const 0) ) (if (i32.lt_u - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const -4) ) ) - (local.get $5) + (local.get $4) ) (i32.store - (local.tee $5 + (local.tee $4 (i32.add - (local.get $5) + (local.get $4) (i32.const -4) ) ) @@ -5181,11 +5133,11 @@ ) ) (i32.store - (local.get $6) - (local.tee $7 + (local.get $5) + (local.tee $6 (i32.add (i32.load - (local.get $6) + (local.get $5) ) (i32.const 1) ) @@ -5193,18 +5145,18 @@ ) (br_if $while-in86 (i32.gt_u - (local.get $7) + (local.get $6) (i32.const 999999999) ) ) ) ) - (local.set $7 + (local.set $6 (i32.mul (i32.shr_s (i32.sub (local.get $21) - (local.get $5) + (local.get $4) ) (i32.const 2) ) @@ -5213,30 +5165,30 @@ ) (br_if $do-once81 (i32.lt_u - (local.tee $13 + (local.tee $12 (i32.load - (local.get $5) + (local.get $4) ) ) (i32.const 10) ) ) - (local.set $12 + (local.set $11 (i32.const 10) ) (loop $while-in88 - (local.set $7 + (local.set $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 1) ) ) (br_if $while-in88 (i32.ge_u - (local.get $13) - (local.tee $12 + (local.get $12) + (local.tee $11 (i32.mul - (local.get $12) + (local.get $11) (i32.const 10) ) ) @@ -5245,59 +5197,59 @@ ) ) ) - (local.set $12 - (local.get $5) + (local.set $11 + (local.get $4) ) - (local.set $13 - (local.get $7) + (local.set $12 + (local.get $6) ) (select - (local.tee $5 + (local.tee $4 (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) ) - (local.get $9) + (local.get $8) (i32.gt_u - (local.get $9) - (local.get $5) + (local.get $8) + (local.get $4) ) ) ) (block (result i32) - (local.set $12 - (local.get $5) + (local.set $11 + (local.get $4) ) - (local.set $13 - (local.get $7) + (local.set $12 + (local.get $6) ) - (local.get $9) + (local.get $8) ) ) ) - (local.set $9 + (local.set $8 (loop $while-in90 (result i32) (block $while-out89 (result i32) (if (i32.le_u - (local.get $5) - (local.get $12) + (local.get $4) + (local.get $11) ) (block (local.set $24 (i32.const 0) ) (br $while-out89 - (local.get $5) + (local.get $4) ) ) ) (if (result i32) (i32.load - (local.tee $7 + (local.tee $6 (i32.add - (local.get $5) + (local.get $4) (i32.const -4) ) ) @@ -5306,11 +5258,11 @@ (local.set $24 (i32.const 1) ) - (local.get $5) + (local.get $4) ) (block - (local.set $5 - (local.get $7) + (local.set $4 + (local.get $6) ) (br $while-in90) ) @@ -5318,72 +5270,72 @@ ) ) ) - (local.set $5 + (local.set $4 (if (result i32) (local.get $31) (block $do-once91 (result i32) - (local.set $7 + (local.set $6 (if (result i32) (i32.and (i32.gt_s - (local.tee $5 + (local.tee $4 (i32.add - (local.get $18) + (local.get $17) (i32.xor (local.get $37) (i32.const 1) ) ) ) - (local.get $13) + (local.get $12) ) (i32.gt_s - (local.get $13) + (local.get $12) (i32.const -5) ) ) (block (result i32) - (local.set $18 + (local.set $17 (i32.sub (i32.add - (local.get $5) + (local.get $4) (i32.const -1) ) - (local.get $13) + (local.get $12) ) ) (i32.add - (local.get $19) + (local.get $18) (i32.const -1) ) ) (block (result i32) - (local.set $18 + (local.set $17 (i32.add - (local.get $5) + (local.get $4) (i32.const -1) ) ) (i32.add - (local.get $19) + (local.get $18) (i32.const -2) ) ) ) ) (if - (local.tee $5 + (local.tee $4 (i32.and - (local.get $11) + (local.get $10) (i32.const 8) ) ) (block (local.set $21 - (local.get $5) + (local.get $4) ) (br $do-once91 - (local.get $18) + (local.get $17) ) ) ) @@ -5392,36 +5344,36 @@ (block $do-once93 (if (i32.eqz - (local.tee $19 + (local.tee $18 (i32.load (i32.add - (local.get $9) + (local.get $8) (i32.const -4) ) ) ) ) (block - (local.set $5 + (local.set $4 (i32.const 9) ) (br $do-once93) ) ) - (local.set $5 + (local.set $4 (if (result i32) (call $i32u-rem - (local.get $19) + (local.get $18) (i32.const 10) ) (block - (local.set $5 + (local.set $4 (i32.const 0) ) (br $do-once93) ) (block (result i32) - (local.set $6 + (local.set $5 (i32.const 10) ) (i32.const 0) @@ -5429,19 +5381,19 @@ ) ) (loop $while-in96 - (local.set $5 + (local.set $4 (i32.add - (local.get $5) + (local.get $4) (i32.const 1) ) ) (br_if $while-in96 (i32.eqz (call $i32u-rem - (local.get $19) - (local.tee $6 + (local.get $18) + (local.tee $5 (i32.mul - (local.get $6) + (local.get $5) (i32.const 10) ) ) @@ -5450,16 +5402,16 @@ ) ) ) - (local.set $5 + (local.set $4 (i32.const 9) ) ) - (local.set $6 + (local.set $5 (i32.add (i32.mul (i32.shr_s (i32.sub - (local.get $9) + (local.get $8) (local.get $21) ) (i32.const 2) @@ -5472,7 +5424,7 @@ (if (result i32) (i32.eq (i32.or - (local.get $7) + (local.get $6) (i32.const 32) ) (i32.const 102) @@ -5482,25 +5434,25 @@ (i32.const 0) ) (select - (local.get $18) - (local.tee $5 + (local.get $17) + (local.tee $4 (select (i32.const 0) - (local.tee $5 + (local.tee $4 (i32.sub - (local.get $6) (local.get $5) + (local.get $4) ) ) (i32.lt_s - (local.get $5) + (local.get $4) (i32.const 0) ) ) ) (i32.lt_s - (local.get $18) - (local.get $5) + (local.get $17) + (local.get $4) ) ) ) @@ -5509,28 +5461,28 @@ (i32.const 0) ) (select - (local.get $18) - (local.tee $5 + (local.get $17) + (local.tee $4 (select (i32.const 0) - (local.tee $5 + (local.tee $4 (i32.sub (i32.add - (local.get $6) - (local.get $13) + (local.get $5) + (local.get $12) ) - (local.get $5) + (local.get $4) ) ) (i32.lt_s - (local.get $5) + (local.get $4) (i32.const 0) ) ) ) (i32.lt_s - (local.get $18) - (local.get $5) + (local.get $17) + (local.get $4) ) ) ) @@ -5539,48 +5491,48 @@ (block (result i32) (local.set $21 (i32.and - (local.get $11) + (local.get $10) (i32.const 8) ) ) - (local.set $7 - (local.get $19) + (local.set $6 + (local.get $18) ) - (local.get $18) + (local.get $17) ) ) ) - (local.set $6 + (local.set $5 (i32.sub (i32.const 0) - (local.get $13) + (local.get $12) ) ) (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.tee $13 + (local.get $14) + (local.tee $12 (i32.add (if (result i32) - (local.tee $18 + (local.tee $17 (i32.eq (i32.or - (local.get $7) + (local.get $6) (i32.const 32) ) (i32.const 102) ) ) (block (result i32) - (local.set $19 + (local.set $18 (i32.const 0) ) (select - (local.get $13) + (local.get $12) (i32.const 0) (i32.gt_s - (local.get $13) + (local.get $12) (i32.const 0) ) ) @@ -5590,14 +5542,14 @@ (i32.lt_s (i32.sub (local.get $27) - (local.tee $6 + (local.tee $5 (call $_fmt_u - (local.tee $6 + (local.tee $5 (select - (local.get $6) - (local.get $13) + (local.get $5) + (local.get $12) (i32.lt_s - (local.get $13) + (local.get $12) (i32.const 0) ) ) @@ -5605,7 +5557,7 @@ (i32.shr_s (i32.shl (i32.lt_s - (local.get $6) + (local.get $5) (i32.const 0) ) (i32.const 31) @@ -5620,9 +5572,9 @@ ) (loop $while-in98 (i32.store8 - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const -1) ) ) @@ -5632,7 +5584,7 @@ (i32.lt_s (i32.sub (local.get $27) - (local.get $6) + (local.get $5) ) (i32.const 2) ) @@ -5641,13 +5593,13 @@ ) (i32.store8 (i32.add - (local.get $6) + (local.get $5) (i32.const -1) ) (i32.add (i32.and (i32.shr_s - (local.get $13) + (local.get $12) (i32.const 31) ) (i32.const 2) @@ -5656,17 +5608,17 @@ ) ) (i32.store8 - (local.tee $19 + (local.tee $18 (i32.add - (local.get $6) + (local.get $5) (i32.const -2) ) ) - (local.get $7) + (local.get $6) ) (i32.sub (local.get $27) - (local.get $19) + (local.get $18) ) ) ) @@ -5676,12 +5628,12 @@ (local.get $26) (i32.const 1) ) - (local.get $5) + (local.get $4) ) (i32.ne (local.tee $31 (i32.or - (local.get $5) + (local.get $4) (local.get $21) ) ) @@ -5690,7 +5642,7 @@ ) ) ) - (local.get $11) + (local.get $10) ) (if (i32.eqz @@ -5701,44 +5653,42 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $30) - (local.get $26) - (local.get $0) - ) + (call $___fwritex + (local.get $30) + (local.get $26) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 48) - (local.get $15) - (local.get $13) + (local.get $14) + (local.get $12) (i32.xor - (local.get $11) + (local.get $10) (i32.const 65536) ) ) (if - (local.get $18) + (local.get $17) (block - (local.set $6 - (local.tee $12 + (local.set $5 + (local.tee $11 (select - (local.get $8) - (local.get $12) + (local.get $7) + (local.get $11) (i32.gt_u - (local.get $12) - (local.get $8) + (local.get $11) + (local.get $7) ) ) ) ) (loop $while-in102 - (local.set $7 + (local.set $6 (call $_fmt_u (i32.load - (local.get $6) + (local.get $5) ) (i32.const 0) (local.get $29) @@ -5747,13 +5697,13 @@ (block $do-once103 (if (i32.eq - (local.get $6) - (local.get $12) + (local.get $5) + (local.get $11) ) (block (br_if $do-once103 (i32.ne - (local.get $7) + (local.get $6) (local.get $29) ) ) @@ -5761,22 +5711,22 @@ (local.get $33) (i32.const 48) ) - (local.set $7 + (local.set $6 (local.get $33) ) ) (block (br_if $do-once103 (i32.le_u - (local.get $7) + (local.get $6) (local.get $23) ) ) (loop $while-in106 (i32.store8 - (local.tee $7 + (local.tee $6 (i32.add - (local.get $7) + (local.get $6) (i32.const -1) ) ) @@ -5784,7 +5734,7 @@ ) (br_if $while-in106 (i32.gt_u - (local.get $7) + (local.get $6) (local.get $23) ) ) @@ -5801,30 +5751,28 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $7) - (i32.sub - (local.get $42) - (local.get $7) - ) - (local.get $0) + (call $___fwritex + (local.get $6) + (i32.sub + (local.get $42) + (local.get $6) ) + (local.get $0) ) ) (if (i32.le_u - (local.tee $7 + (local.tee $6 (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) ) - (local.get $8) + (local.get $7) ) (block - (local.set $6 - (local.get $7) + (local.set $5 + (local.get $6) ) (br $while-in102) ) @@ -5841,12 +5789,10 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) - (local.get $0) - ) + (call $___fwritex + (i32.const 4143) + (i32.const 1) + (local.get $0) ) ) ) @@ -5857,21 +5803,21 @@ (if (result i32) (i32.and (i32.lt_u - (local.get $7) - (local.get $9) + (local.get $6) + (local.get $8) ) (i32.gt_s - (local.get $5) + (local.get $4) (i32.const 0) ) ) (loop $while-in110 (result i32) (if (i32.gt_u - (local.tee $6 + (local.tee $5 (call $_fmt_u (i32.load - (local.get $7) + (local.get $6) ) (i32.const 0) (local.get $29) @@ -5881,9 +5827,9 @@ ) (loop $while-in112 (i32.store8 - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const -1) ) ) @@ -5891,7 +5837,7 @@ ) (br_if $while-in112 (i32.gt_u - (local.get $6) + (local.get $5) (local.get $23) ) ) @@ -5906,53 +5852,51 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $6) - (select + (call $___fwritex + (local.get $5) + (select + (i32.const 9) + (local.get $4) + (i32.gt_s + (local.get $4) (i32.const 9) - (local.get $5) - (i32.gt_s - (local.get $5) - (i32.const 9) - ) ) - (local.get $0) ) + (local.get $0) ) ) - (local.set $6 + (local.set $5 (i32.add - (local.get $5) + (local.get $4) (i32.const -9) ) ) (if (result i32) (i32.and (i32.lt_u - (local.tee $7 + (local.tee $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 4) ) ) - (local.get $9) + (local.get $8) ) (i32.gt_s - (local.get $5) + (local.get $4) (i32.const 9) ) ) (block - (local.set $5 - (local.get $6) + (local.set $4 + (local.get $5) ) (br $while-in110) ) - (local.get $6) + (local.get $5) ) ) - (local.get $5) + (local.get $4) ) (i32.const 9) ) @@ -5961,11 +5905,11 @@ ) ) (block $do-once99 - (local.set $9 + (local.set $8 (select - (local.get $9) + (local.get $8) (i32.add - (local.get $12) + (local.get $11) (i32.const 4) ) (local.get $24) @@ -5977,28 +5921,28 @@ (i32.add (if (result i32) (i32.gt_s - (local.get $5) + (local.get $4) (i32.const -1) ) (block (result i32) - (local.set $18 + (local.set $17 (i32.eqz (local.get $21) ) ) - (local.set $6 - (local.get $12) + (local.set $5 + (local.get $11) ) - (local.set $7 - (local.get $5) + (local.set $6 + (local.get $4) ) (loop $while-in114 (result i32) (if (i32.eq - (local.tee $5 + (local.tee $4 (call $_fmt_u (i32.load - (local.get $6) + (local.get $5) ) (i32.const 0) (local.get $29) @@ -6011,7 +5955,7 @@ (local.get $33) (i32.const 48) ) - (local.set $5 + (local.set $4 (local.get $33) ) ) @@ -6019,8 +5963,8 @@ (block $do-once115 (if (i32.eq - (local.get $6) - (local.get $12) + (local.get $5) + (local.get $11) ) (block (if @@ -6032,27 +5976,25 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $5) - (i32.const 1) - (local.get $0) - ) + (call $___fwritex + (local.get $4) + (i32.const 1) + (local.get $0) ) ) - (local.set $5 + (local.set $4 (i32.add - (local.get $5) + (local.get $4) (i32.const 1) ) ) (br_if $do-once115 (i32.and (i32.lt_s - (local.get $7) + (local.get $6) (i32.const 1) ) - (local.get $18) + (local.get $17) ) ) (br_if $do-once115 @@ -6063,26 +6005,24 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) - (local.get $0) - ) + (call $___fwritex + (i32.const 4143) + (i32.const 1) + (local.get $0) ) ) (block (br_if $do-once115 (i32.le_u - (local.get $5) + (local.get $4) (local.get $23) ) ) (loop $while-in118 (i32.store8 - (local.tee $5 + (local.tee $4 (i32.add - (local.get $5) + (local.get $4) (i32.const -1) ) ) @@ -6090,7 +6030,7 @@ ) (br_if $while-in118 (i32.gt_u - (local.get $5) + (local.get $4) (local.get $23) ) ) @@ -6098,10 +6038,10 @@ ) ) ) - (local.set $8 + (local.set $7 (i32.sub (local.get $42) - (local.get $5) + (local.get $4) ) ) (if @@ -6113,47 +6053,45 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $5) - (select - (local.get $8) + (call $___fwritex + (local.get $4) + (select + (local.get $7) + (local.get $6) + (i32.gt_s + (local.get $6) (local.get $7) - (i32.gt_s - (local.get $7) - (local.get $8) - ) ) - (local.get $0) ) + (local.get $0) ) ) (br_if $while-in114 (i32.and (i32.lt_u - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) ) - (local.get $9) + (local.get $8) ) (i32.gt_s - (local.tee $7 + (local.tee $6 (i32.sub + (local.get $6) (local.get $7) - (local.get $8) ) ) (i32.const -1) ) ) ) - (local.get $7) + (local.get $6) ) ) - (local.get $5) + (local.get $4) ) (i32.const 18) ) @@ -6168,34 +6106,32 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $19) - (i32.sub - (local.get $27) - (local.get $19) - ) - (local.get $0) + (call $___fwritex + (local.get $18) + (i32.sub + (local.get $27) + (local.get $18) ) + (local.get $0) ) ) ) (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.get $13) + (local.get $14) + (local.get $12) (i32.xor - (local.get $11) + (local.get $10) (i32.const 8192) ) ) (select - (local.get $15) - (local.get $13) + (local.get $14) + (local.get $12) (i32.lt_s - (local.get $13) - (local.get $15) + (local.get $12) + (local.get $14) ) ) ) @@ -6203,17 +6139,17 @@ (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.tee $7 + (local.get $14) + (local.tee $6 (i32.add - (local.tee $9 + (local.tee $8 (select (i32.const 0) (local.get $26) - (local.tee $6 + (local.tee $5 (f64.ne - (local.get $16) - (local.get $16) + (local.get $15) + (local.get $15) ) ) ) @@ -6221,17 +6157,17 @@ (i32.const 3) ) ) - (local.get $8) + (local.get $7) ) - (local.set $6 + (local.set $5 (select (select (i32.const 4135) (i32.const 4139) - (local.tee $8 + (local.tee $7 (i32.ne (i32.and - (local.get $19) + (local.get $18) (i32.const 32) ) (i32.const 0) @@ -6241,9 +6177,9 @@ (select (i32.const 4127) (i32.const 4131) - (local.get $8) + (local.get $7) ) - (local.get $6) + (local.get $5) ) ) (if @@ -6251,21 +6187,19 @@ (i32.and (if (result i32) (i32.and - (local.tee $5 + (local.tee $4 (i32.load (local.get $0) ) ) (i32.const 32) ) - (local.get $5) + (local.get $4) (block (result i32) - (drop - (call $___fwritex - (local.get $30) - (local.get $9) - (local.get $0) - ) + (call $___fwritex + (local.get $30) + (local.get $8) + (local.get $0) ) (i32.load (local.get $0) @@ -6275,149 +6209,147 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $6) - (i32.const 3) - (local.get $0) - ) + (call $___fwritex + (local.get $5) + (i32.const 3) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.xor - (local.get $11) + (local.get $10) (i32.const 8192) ) ) (select - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.lt_s - (local.get $7) - (local.get $15) + (local.get $6) + (local.get $14) ) ) ) ) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) - (local.set $12 - (local.get $6) + (local.set $11 + (local.get $5) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjto$8 (local.get $25) ) ) - (local.set $9 + (local.set $8 (i32.and - (local.get $19) + (local.get $18) (i32.const 32) ) ) - (if - (i32.or - (local.tee $7 - (i32.load - (local.get $14) + (local.set $7 + (if (result i32) + (i32.or + (local.tee $6 + (i32.load + (local.get $13) + ) ) - ) - (local.tee $11 - (i32.load offset=4 - (local.get $14) + (local.tee $10 + (i32.load offset=4 + (local.get $13) + ) ) ) - ) - (block - (local.set $8 - (local.get $25) - ) - (local.set $7 - (loop $while-in123 (result i32) - (i32.store8 - (local.tee $8 - (i32.add - (local.get $8) - (i32.const -1) - ) - ) - (i32.or - (local.get $9) - (i32.load8_u + (block (result i32) + (local.set $7 + (local.get $25) + ) + (local.set $6 + (loop $while-in123 (result i32) + (i32.store8 + (local.tee $7 (i32.add - (i32.and - (local.get $7) - (i32.const 15) + (local.get $7) + (i32.const -1) + ) + ) + (i32.or + (local.get $8) + (i32.load8_u + (i32.add + (i32.and + (local.get $6) + (i32.const 15) + ) + (i32.const 4075) ) - (i32.const 4075) ) ) ) - ) - (br_if $while-in123 - (i32.or - (local.tee $7 - (call $_bitshift64Lshr - (local.get $7) - (local.get $11) - (i32.const 4) + (br_if $while-in123 + (i32.or + (local.tee $6 + (call $_bitshift64Lshr + (local.get $6) + (local.get $10) + (i32.const 4) + ) + ) + (local.tee $10 + (global.get $tempRet0) ) - ) - (local.tee $11 - (global.get $tempRet0) ) ) + (local.get $7) ) - (local.get $8) ) - ) - (local.set $8 (if (result i32) (i32.or (i32.eqz (i32.or (i32.load - (local.get $14) + (local.get $13) ) (i32.load offset=4 - (local.get $14) + (local.get $13) ) ) ) (i32.eqz (i32.and - (local.get $5) + (local.get $4) (i32.const 8) ) ) ) (block (result i32) - (local.set $9 + (local.set $8 (i32.const 4091) ) (i32.const 0) ) (block (result i32) - (local.set $9 + (local.set $8 (i32.add (i32.shr_s - (local.get $19) + (local.get $18) (i32.const 4) ) (i32.const 4091) @@ -6427,93 +6359,91 @@ ) ) ) - ) - (block - (local.set $7 - (local.get $25) - ) - (local.set $8 + (block (result i32) + (local.set $6 + (local.get $25) + ) + (local.set $8 + (i32.const 4091) + ) (i32.const 0) ) - (local.set $9 - (i32.const 4091) - ) ) ) (br $__rjti$8) ) - (local.set $7 + (local.set $6 (call $_fmt_u - (local.get $5) - (local.get $7) + (local.get $4) + (local.get $6) (local.get $25) ) ) - (local.set $5 - (local.get $11) + (local.set $4 + (local.get $10) ) (br $__rjti$8) ) - (local.set $19 + (local.set $18 (i32.eqz - (local.tee $13 + (local.tee $12 (call $_memchr - (local.get $7) (local.get $6) + (local.get $5) ) ) ) ) - (local.set $11 - (local.get $8) + (local.set $10 + (local.get $7) ) - (local.set $12 + (local.set $11 (select - (local.get $6) + (local.get $5) (i32.sub - (local.get $13) - (local.tee $5 - (local.get $7) + (local.get $12) + (local.tee $4 + (local.get $6) ) ) - (local.get $19) + (local.get $18) ) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjto$8 (select (i32.add + (local.get $4) (local.get $5) - (local.get $6) ) - (local.get $13) - (local.get $19) + (local.get $12) + (local.get $18) ) ) ) - (local.set $5 + (local.set $4 (i32.const 0) ) - (local.set $7 + (local.set $6 (i32.const 0) ) - (local.set $6 + (local.set $5 (i32.load - (local.get $14) + (local.get $13) ) ) (loop $while-in125 (block $while-out124 (br_if $while-out124 (i32.eqz - (local.tee $9 + (local.tee $8 (i32.load - (local.get $6) + (local.get $5) ) ) ) @@ -6521,36 +6451,36 @@ (br_if $while-out124 (i32.or (i32.lt_s - (local.tee $7 + (local.tee $6 (call $_wctomb (local.get $35) - (local.get $9) + (local.get $8) ) ) (i32.const 0) ) (i32.gt_u - (local.get $7) + (local.get $6) (i32.sub - (local.get $8) - (local.get $5) + (local.get $7) + (local.get $4) ) ) ) ) - (local.set $6 + (local.set $5 (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) ) (br_if $while-in125 (i32.gt_u - (local.get $8) - (local.tee $5 + (local.get $7) + (local.tee $4 (i32.add - (local.get $5) - (local.get $7) + (local.get $4) + (local.get $6) ) ) ) @@ -6559,11 +6489,11 @@ ) (if (i32.lt_s - (local.get $7) + (local.get $6) (i32.const 0) ) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) @@ -6572,29 +6502,29 @@ (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.get $5) - (local.get $11) + (local.get $14) + (local.get $4) + (local.get $10) ) (if (result i32) - (local.get $5) + (local.get $4) (block (result i32) - (local.set $6 + (local.set $5 (i32.const 0) ) - (local.set $7 + (local.set $6 (i32.load - (local.get $14) + (local.get $13) ) ) (loop $while-in127 (result i32) (drop (br_if $__rjti$7 - (local.get $5) + (local.get $4) (i32.eqz - (local.tee $8 + (local.tee $7 (i32.load - (local.get $7) + (local.get $6) ) ) ) @@ -6602,20 +6532,20 @@ ) (drop (br_if $__rjti$7 - (local.get $5) + (local.get $4) (i32.gt_s - (local.tee $6 + (local.tee $5 (i32.add - (local.tee $8 + (local.tee $7 (call $_wctomb (local.get $35) - (local.get $8) + (local.get $7) ) ) - (local.get $6) + (local.get $5) ) ) - (local.get $5) + (local.get $4) ) ) ) @@ -6628,27 +6558,25 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $35) - (local.get $8) - (local.get $0) - ) + (call $___fwritex + (local.get $35) + (local.get $7) + (local.get $0) ) ) - (local.set $7 + (local.set $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 4) ) ) (br_if $while-in127 (i32.lt_u - (local.get $6) (local.get $5) + (local.get $4) ) ) - (local.get $5) + (local.get $4) ) ) (i32.const 0) @@ -6656,52 +6584,52 @@ ) ) (i32.xor - (local.get $11) + (local.get $10) (i32.const 8192) ) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 + (local.set $9 (select - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.gt_s - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) ) ) ) (br $label$continue$L1) ) - (local.set $11 + (local.set $10 (select (i32.and - (local.get $5) + (local.get $4) (i32.const -65537) ) - (local.get $5) + (local.get $4) (i32.gt_s - (local.get $6) + (local.get $5) (i32.const -1) ) ) ) (if (result i32) (i32.or - (local.get $6) - (local.tee $5 + (local.get $5) + (local.tee $4 (i32.or (i32.ne (i32.load - (local.get $14) + (local.get $13) ) (i32.const 0) ) (i32.ne (i32.load offset=4 - (local.get $14) + (local.get $13) ) (i32.const 0) ) @@ -6709,66 +6637,66 @@ ) ) (block (result i32) - (local.set $12 + (local.set $11 (select - (local.get $6) - (local.tee $7 + (local.get $5) + (local.tee $6 (i32.add (i32.xor (i32.and - (local.get $5) + (local.get $4) (i32.const 1) ) (i32.const 1) ) (i32.sub (local.get $38) - (local.tee $5 - (local.get $7) + (local.tee $4 + (local.get $6) ) ) ) ) (i32.gt_s + (local.get $5) (local.get $6) - (local.get $7) ) ) ) (local.get $25) ) (block (result i32) - (local.set $12 + (local.set $11 (i32.const 0) ) - (local.tee $5 + (local.tee $4 (local.get $25) ) ) ) ) - (local.get $5) + (local.get $4) ) ) - (local.get $12) + (local.get $11) (i32.lt_s + (local.get $11) (local.get $12) - (local.get $13) ) ) ) - (local.get $8) + (local.get $7) ) ) - (local.get $15) + (local.get $14) (i32.lt_s - (local.get $15) - (local.get $6) + (local.get $14) + (local.get $5) ) ) ) - (local.get $6) - (local.get $11) + (local.get $5) + (local.get $10) ) (if (i32.eqz @@ -6779,29 +6707,27 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $9) - (local.get $8) - (local.get $0) - ) + (call $___fwritex + (local.get $8) + (local.get $7) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 48) - (local.get $7) (local.get $6) + (local.get $5) (i32.xor - (local.get $11) + (local.get $10) (i32.const 65536) ) ) (call $_pad (local.get $0) (i32.const 48) + (local.get $11) (local.get $12) - (local.get $13) (i32.const 0) ) (if @@ -6813,29 +6739,27 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $5) - (local.get $13) - (local.get $0) - ) + (call $___fwritex + (local.get $4) + (local.get $12) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 32) - (local.get $7) (local.get $6) + (local.get $5) (i32.xor - (local.get $11) + (local.get $10) (i32.const 8192) ) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) @@ -6846,23 +6770,23 @@ (i32.eqz (local.get $0) ) - (local.set $17 + (local.set $16 (if (result i32) - (local.get $1) + (local.get $19) (block (result i32) (local.set $0 (i32.const 1) ) (loop $while-in130 (if - (local.tee $1 + (local.tee $19 (i32.load (i32.add (i32.shl (local.get $0) (i32.const 2) ) - (local.get $4) + (local.get $3) ) ) ) @@ -6873,10 +6797,10 @@ (local.get $0) (i32.const 3) ) - (local.get $3) + (local.get $2) ) + (local.get $19) (local.get $1) - (local.get $2) ) (br_if $while-in130 (i32.lt_s @@ -6889,7 +6813,7 @@ (i32.const 10) ) ) - (local.set $17 + (local.set $16 (i32.const 1) ) (br $label$break$L343) @@ -6909,11 +6833,11 @@ (local.get $0) (i32.const 2) ) - (local.get $4) + (local.get $3) ) ) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L343) @@ -6943,7 +6867,7 @@ (global.set $STACKTOP (local.get $34) ) - (local.get $17) + (local.get $16) ) (func $_pop_arg_336 (; 50 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -7539,12 +7463,10 @@ (if (local.get $4) (block - (drop - (call $___fwritex - (local.get $6) - (i32.const 256) - (local.get $0) - ) + (call $___fwritex + (local.get $6) + (i32.const 256) + (local.get $0) ) (local.set $1 (i32.load @@ -7594,12 +7516,10 @@ ) ) ) - (drop - (call $___fwritex - (local.get $6) - (local.get $5) - (local.get $0) - ) + (call $___fwritex + (local.get $6) + (local.get $5) + (local.get $0) ) ) ) diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise index 2247f4e33..e3feaa729 100644 --- a/test/emcc_hello_world.fromasm.imprecise +++ b/test/emcc_hello_world.fromasm.imprecise @@ -146,10 +146,8 @@ ) (call $abort) ) - (drop - (call $_printf - (local.get $0) - ) + (call $_printf + (local.get $0) ) (global.set $STACKTOP (local.get $0) @@ -619,7 +617,7 @@ ) (local.get $0) ) - (func $_printf (; 33 ;) (; has Stack IR ;) (param $0 i32) (result i32) + (func $_printf (; 33 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (local.set $1 (global.get $STACKTOP) @@ -641,19 +639,15 @@ (local.get $1) (local.get $0) ) - (local.set $0 - (call $_vfprintf - (i32.load - (i32.const 8) - ) - (i32.const 672) - (local.get $1) + (call $_vfprintf + (i32.load + (i32.const 8) ) + (local.get $1) ) (global.set $STACKTOP (local.get $1) ) - (local.get $0) ) (func $___stdio_write (; 34 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -1000,7 +994,8 @@ ) (local.get $2) ) - (func $_vfprintf (; 35 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_vfprintf (; 35 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1011,8 +1006,7 @@ (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i32) - (local.set $3 + (local.set $6 (global.get $STACKTOP) ) (global.set $STACKTOP @@ -1028,27 +1022,26 @@ ) (call $abort) ) - (local.set $5 + (local.set $3 (i32.add - (local.get $3) + (local.get $6) (i32.const 120) ) ) - (local.set $7 - (local.get $3) - ) - (local.set $6 + (local.set $5 (i32.add - (local.get $3) + (local.tee $4 + (local.get $6) + ) (i32.const 136) ) ) - (local.set $9 + (local.set $8 (i32.add - (local.tee $4 - (local.tee $8 + (local.tee $2 + (local.tee $7 (i32.add - (local.get $3) + (local.get $4) (i32.const 80) ) ) @@ -1058,42 +1051,41 @@ ) (loop $do-in (i32.store - (local.get $4) + (local.get $2) (i32.const 0) ) (br_if $do-in (i32.lt_s - (local.tee $4 + (local.tee $2 (i32.add - (local.get $4) + (local.get $2) (i32.const 4) ) ) - (local.get $9) + (local.get $8) ) ) ) (i32.store - (local.get $5) + (local.get $3) (i32.load - (local.get $2) + (local.get $1) ) ) - (local.set $0 + (drop (if (result i32) (i32.lt_s (call $_printf_core (i32.const 0) - (local.get $1) - (local.get $5) + (local.get $3) + (local.get $4) (local.get $7) - (local.get $8) ) (i32.const 0) ) (i32.const -1) (block (result i32) - (local.set $10 + (local.set $9 (i32.load (local.get $0) ) @@ -1108,33 +1100,32 @@ (i32.store (local.get $0) (i32.and - (local.get $10) + (local.get $9) (i32.const -33) ) ) ) (if (i32.load - (local.tee $11 + (local.tee $1 (i32.add (local.get $0) (i32.const 48) ) ) ) - (local.set $1 + (drop (call $_printf_core (local.get $0) - (local.get $1) - (local.get $5) + (local.get $3) + (local.get $4) (local.get $7) - (local.get $8) ) ) (block - (local.set $13 + (local.set $11 (i32.load - (local.tee $12 + (local.tee $10 (i32.add (local.get $0) (i32.const 44) @@ -1143,54 +1134,53 @@ ) ) (i32.store - (local.get $12) - (local.get $6) + (local.get $10) + (local.get $5) ) (i32.store - (local.tee $4 + (local.tee $2 (i32.add (local.get $0) (i32.const 28) ) ) - (local.get $6) + (local.get $5) ) (i32.store - (local.tee $2 + (local.tee $12 (i32.add (local.get $0) (i32.const 20) ) ) - (local.get $6) + (local.get $5) ) (i32.store - (local.get $11) + (local.get $1) (i32.const 80) ) (i32.store - (local.tee $9 + (local.tee $8 (i32.add (local.get $0) (i32.const 16) ) ) (i32.add - (local.get $6) + (local.get $5) (i32.const 80) ) ) - (local.set $1 + (drop (call $_printf_core (local.get $0) - (local.get $1) - (local.get $5) + (local.get $3) + (local.get $4) (local.get $7) - (local.get $8) ) ) (if - (local.get $13) + (local.get $11) (block (drop (call_indirect (type $FUNCSIG$iiii) @@ -1208,33 +1198,24 @@ ) ) ) - (local.set $1 - (select - (local.get $1) - (i32.const -1) - (i32.load - (local.get $2) - ) - ) - ) (i32.store - (local.get $12) - (local.get $13) + (local.get $10) + (local.get $11) ) (i32.store - (local.get $11) + (local.get $1) (i32.const 0) ) (i32.store - (local.get $9) + (local.get $8) (i32.const 0) ) (i32.store - (local.get $4) + (local.get $2) (i32.const 0) ) (i32.store - (local.get $2) + (local.get $12) (i32.const 0) ) ) @@ -1244,34 +1225,24 @@ (i32.store (local.get $0) (i32.or - (local.tee $2 - (i32.load - (local.get $0) - ) + (i32.load + (local.get $0) ) (i32.and - (local.get $10) + (local.get $9) (i32.const 32) ) ) ) - (select - (i32.const -1) - (local.get $1) - (i32.and - (local.get $2) - (i32.const 32) - ) - ) + (i32.const 0) ) ) ) (global.set $STACKTOP - (local.get $3) + (local.get $6) ) - (local.get $0) ) - (func $___fwritex (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___fwritex (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1290,20 +1261,19 @@ ) ) ) - (local.set $3 - (if (result i32) + (if + (i32.eqz (call $___towrite (local.get $2) ) - (i32.const 0) - (block - (local.set $3 - (i32.load - (local.get $4) - ) + ) + (block + (local.set $3 + (i32.load + (local.get $4) ) - (br $__rjti$0) ) + (br $__rjti$0) ) ) (br $label$break$L5) @@ -1326,19 +1296,16 @@ (local.get $1) ) (block - (local.set $3 - (i32.load offset=36 - (local.get $2) - ) - ) - (local.set $3 + (drop (call_indirect (type $FUNCSIG$iiii) (local.get $2) (local.get $0) (local.get $1) (i32.add (i32.and - (local.get $3) + (i32.load offset=36 + (local.get $2) + ) (i32.const 7) ) (i32.const 2) @@ -1348,7 +1315,7 @@ (br $label$break$L5) ) ) - (local.set $2 + (drop (if (result i32) (i32.gt_s (i32.load8_s offset=75 @@ -1392,11 +1359,6 @@ ) ) ) - (local.set $4 - (i32.load offset=36 - (local.get $2) - ) - ) (br_if $label$break$L5 (i32.lt_u (call_indirect (type $FUNCSIG$iiii) @@ -1405,7 +1367,9 @@ (local.get $3) (i32.add (i32.and - (local.get $4) + (i32.load offset=36 + (local.get $2) + ) (i32.const 7) ) (i32.const 2) @@ -1431,7 +1395,7 @@ (local.get $3) ) ) - (local.get $3) + (i32.const 0) ) (i32.const 0) ) @@ -1452,14 +1416,7 @@ (local.get $1) ) ) - (local.set $3 - (i32.add - (local.get $1) - (local.get $2) - ) - ) ) - (local.get $3) ) (func $___towrite (; 37 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) @@ -2063,7 +2020,8 @@ (func $_cleanup (; 43 ;) (; has Stack IR ;) (param $0 i32) (nop) ) - (func $_printf_core (; 44 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $_printf_core (; 44 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -2074,8 +2032,8 @@ (local $12 i32) (local $13 i32) (local $14 i32) - (local $15 i32) - (local $16 f64) + (local $15 f64) + (local $16 i32) (local $17 i32) (local $18 i32) (local $19 i32) @@ -2134,7 +2092,7 @@ ) (local.set $35 (i32.add - (local.tee $14 + (local.tee $13 (local.get $34) ) (i32.const 528) @@ -2149,9 +2107,9 @@ (local.set $38 (local.tee $25 (i32.add - (local.tee $5 + (local.tee $4 (i32.add - (local.get $14) + (local.get $13) (i32.const 536) ) ) @@ -2161,7 +2119,7 @@ ) (local.set $39 (i32.add - (local.get $5) + (local.get $4) (i32.const 39) ) ) @@ -2169,7 +2127,7 @@ (i32.add (local.tee $40 (i32.add - (local.get $14) + (local.get $13) (i32.const 8) ) ) @@ -2178,9 +2136,9 @@ ) (local.set $32 (i32.add - (local.tee $5 + (local.tee $4 (i32.add - (local.get $14) + (local.get $13) (i32.const 576) ) ) @@ -2189,7 +2147,7 @@ ) (local.set $41 (i32.add - (local.get $5) + (local.get $4) (i32.const 11) ) ) @@ -2201,7 +2159,7 @@ (local.tee $36 (local.tee $23 (i32.add - (local.get $14) + (local.get $13) (i32.const 588) ) ) @@ -2224,7 +2182,7 @@ (i32.add (local.tee $47 (i32.add - (local.get $14) + (local.get $13) (i32.const 24) ) ) @@ -2245,11 +2203,8 @@ (i32.const 8) ) ) - (local.set $5 - (local.get $1) - ) - (local.set $1 - (i32.const 0) + (local.set $4 + (i32.const 672) ) (block $label$break$L343 (block $__rjti$9 @@ -2257,16 +2212,16 @@ (block $label$break$L1 (if (i32.gt_s - (local.get $17) + (local.get $16) (i32.const -1) ) - (local.set $17 + (local.set $16 (if (result i32) (i32.gt_s - (local.get $10) + (local.get $9) (i32.sub (i32.const 2147483647) - (local.get $17) + (local.get $16) ) ) (block (result i32) @@ -2277,23 +2232,23 @@ (i32.const -1) ) (i32.add - (local.get $10) - (local.get $17) + (local.get $9) + (local.get $16) ) ) ) ) (br_if $__rjti$9 (i32.eqz - (local.tee $7 + (local.tee $6 (i32.load8_s - (local.get $5) + (local.get $4) ) ) ) ) - (local.set $10 - (local.get $5) + (local.set $9 + (local.get $4) ) (block $label$break$L12 (block $__rjti$1 @@ -2301,10 +2256,10 @@ (block $label$break$L9 (block $switch (if - (local.tee $7 + (local.tee $6 (i32.shr_s (i32.shl - (local.get $7) + (local.get $6) (i32.const 24) ) (i32.const 24) @@ -2313,26 +2268,26 @@ (block (br_if $switch (i32.ne - (local.get $7) + (local.get $6) (i32.const 37) ) ) - (local.set $6 - (local.get $10) + (local.set $5 + (local.get $9) ) (br $__rjti$1) ) ) - (local.set $6 - (local.get $10) + (local.set $5 + (local.get $9) ) (br $label$break$L9) ) - (local.set $7 + (local.set $6 (i32.load8_s - (local.tee $10 + (local.tee $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -2347,23 +2302,23 @@ (br_if $label$break$L12 (i32.ne (i32.load8_s offset=1 - (local.get $6) + (local.get $5) ) (i32.const 37) ) ) - (local.set $10 + (local.set $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) (br_if $while-in (i32.eq (i32.load8_s - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const 2) ) ) @@ -2373,10 +2328,10 @@ ) ) ) - (local.set $7 + (local.set $6 (i32.sub - (local.get $10) - (local.get $5) + (local.get $9) + (local.get $4) ) ) (if @@ -2390,40 +2345,38 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $5) - (local.get $7) - (local.get $0) - ) + (call $___fwritex + (local.get $4) + (local.get $6) + (local.get $0) ) ) ) (if (i32.ne - (local.get $5) - (local.get $10) + (local.get $4) + (local.get $9) ) (block - (local.set $5 - (local.get $6) + (local.set $4 + (local.get $5) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) ) - (local.set $8 + (local.set $7 (if (result i32) (i32.lt_u - (local.tee $8 + (local.tee $7 (i32.add - (local.tee $11 + (local.tee $10 (i32.load8_s - (local.tee $10 + (local.tee $9 (i32.add - (local.get $6) + (local.get $5) (i32.const 1) ) ) @@ -2435,19 +2388,19 @@ (i32.const 10) ) (block (result i32) - (local.set $6 + (local.set $5 (i32.load8_s - (local.tee $10 + (local.tee $9 (select (i32.add - (local.get $6) + (local.get $5) (i32.const 3) ) - (local.get $10) - (local.tee $11 + (local.get $9) + (local.tee $10 (i32.eq (i32.load8_s offset=2 - (local.get $6) + (local.get $5) ) (i32.const 36) ) @@ -2456,38 +2409,38 @@ ) ) ) - (local.set $18 + (local.set $17 (select - (local.get $8) + (local.get $7) (i32.const -1) - (local.get $11) + (local.get $10) ) ) (select (i32.const 1) - (local.get $1) - (local.get $11) + (local.get $19) + (local.get $10) ) ) (block (result i32) - (local.set $6 - (local.get $11) + (local.set $5 + (local.get $10) ) - (local.set $18 + (local.set $17 (i32.const -1) ) - (local.get $1) + (local.get $19) ) ) ) - (local.set $1 + (local.set $19 (if (result i32) (i32.eq (i32.and - (local.tee $11 + (local.tee $10 (i32.shr_s (i32.shl - (local.get $6) + (local.get $5) (i32.const 24) ) (i32.const 24) @@ -2498,13 +2451,13 @@ (i32.const 32) ) (block $label$break$L25 (result i32) - (local.set $1 - (local.get $6) + (local.set $19 + (local.get $5) ) - (local.set $6 - (local.get $11) + (local.set $5 + (local.get $10) ) - (local.set $11 + (local.set $10 (i32.const 0) ) (loop $while-in4 (result i32) @@ -2514,7 +2467,7 @@ (i32.shl (i32.const 1) (i32.add - (local.get $6) + (local.get $5) (i32.const -32) ) ) @@ -2522,23 +2475,23 @@ ) ) (block - (local.set $6 - (local.get $1) + (local.set $5 + (local.get $19) ) (br $label$break$L25 - (local.get $11) + (local.get $10) ) ) ) - (local.set $11 + (local.set $10 (i32.or - (local.get $11) + (local.get $10) (i32.shl (i32.const 1) (i32.add (i32.shr_s (i32.shl - (local.get $1) + (local.get $19) (i32.const 24) ) (i32.const 24) @@ -2551,12 +2504,12 @@ (br_if $while-in4 (i32.eq (i32.and - (local.tee $6 - (local.tee $1 + (local.tee $5 + (local.tee $19 (i32.load8_s - (local.tee $10 + (local.tee $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -2568,43 +2521,43 @@ (i32.const 32) ) ) - (local.set $6 - (local.get $1) + (local.set $5 + (local.get $19) ) - (local.get $11) + (local.get $10) ) ) (i32.const 0) ) ) - (local.set $1 + (local.set $19 (if (result i32) (i32.eq (i32.and - (local.get $6) + (local.get $5) (i32.const 255) ) (i32.const 42) ) (block $do-once5 (result i32) - (local.set $10 + (local.set $9 (block $__rjto$0 (result i32) (if (i32.eqz (i32.or (i32.ne (i32.load8_s offset=2 - (local.get $10) + (local.get $9) ) (i32.const 36) ) (i32.ge_u - (local.tee $11 + (local.tee $10 (i32.add (i32.load8_s - (local.tee $6 + (local.tee $5 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -2620,51 +2573,51 @@ (i32.store (i32.add (i32.shl - (local.get $11) + (local.get $10) (i32.const 2) ) - (local.get $4) + (local.get $3) ) (i32.const 10) ) (drop (i32.load offset=4 - (local.tee $6 + (local.tee $5 (i32.add (i32.shl (i32.add (i32.load8_s - (local.get $6) + (local.get $5) ) (i32.const -48) ) (i32.const 3) ) - (local.get $3) + (local.get $2) ) ) ) ) - (local.set $8 + (local.set $7 (i32.const 1) ) - (local.set $15 + (local.set $14 (i32.load - (local.get $6) + (local.get $5) ) ) (br $__rjto$0 (i32.add - (local.get $10) + (local.get $9) (i32.const 3) ) ) ) ) (if - (local.get $8) + (local.get $7) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) @@ -2675,13 +2628,13 @@ (local.get $28) ) (block - (local.set $11 - (local.get $1) - ) (local.set $10 - (local.get $6) + (local.get $19) + ) + (local.set $9 + (local.get $5) ) - (local.set $15 + (local.set $14 (i32.const 0) ) (br $do-once5 @@ -2689,13 +2642,13 @@ ) ) ) - (local.set $15 + (local.set $14 (i32.load - (local.tee $10 + (local.tee $9 (i32.and (i32.add (i32.load - (local.get $2) + (local.get $1) ) (i32.const 3) ) @@ -2705,48 +2658,48 @@ ) ) (i32.store - (local.get $2) + (local.get $1) (i32.add - (local.get $10) + (local.get $9) (i32.const 4) ) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.get $6) + (local.get $5) ) ) - (local.set $11 + (local.set $10 (if (result i32) (i32.lt_s - (local.get $15) + (local.get $14) (i32.const 0) ) (block (result i32) - (local.set $15 + (local.set $14 (i32.sub (i32.const 0) - (local.get $15) + (local.get $14) ) ) (i32.or - (local.get $1) + (local.get $19) (i32.const 8192) ) ) - (local.get $1) + (local.get $19) ) ) - (local.get $8) + (local.get $7) ) (if (result i32) (i32.lt_u - (local.tee $6 + (local.tee $5 (i32.add (i32.shr_s (i32.shl - (local.get $6) + (local.get $5) (i32.const 24) ) (i32.const 24) @@ -2757,27 +2710,27 @@ (i32.const 10) ) (block (result i32) - (local.set $11 + (local.set $10 (i32.const 0) ) (loop $while-in8 - (local.set $6 + (local.set $5 (i32.add - (local.get $6) + (local.get $5) (i32.mul - (local.get $11) + (local.get $10) (i32.const 10) ) ) ) (if (i32.lt_u - (local.tee $9 + (local.tee $8 (i32.add (i32.load8_s - (local.tee $10 + (local.tee $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -2788,11 +2741,11 @@ (i32.const 10) ) (block - (local.set $11 - (local.get $6) + (local.set $10 + (local.get $5) ) - (local.set $6 - (local.get $9) + (local.set $5 + (local.get $8) ) (br $while-in8) ) @@ -2800,54 +2753,54 @@ ) (if (result i32) (i32.lt_s - (local.get $6) + (local.get $5) (i32.const 0) ) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) ) (block (result i32) - (local.set $11 - (local.get $1) + (local.set $10 + (local.get $19) ) - (local.set $15 - (local.get $6) + (local.set $14 + (local.get $5) ) - (local.get $8) + (local.get $7) ) ) ) (block (result i32) - (local.set $11 - (local.get $1) + (local.set $10 + (local.get $19) ) - (local.set $15 + (local.set $14 (i32.const 0) ) - (local.get $8) + (local.get $7) ) ) ) ) - (local.set $6 + (local.set $5 (if (result i32) (i32.eq (i32.load8_s - (local.get $10) + (local.get $9) ) (i32.const 46) ) (block $label$break$L46 (result i32) (if (i32.ne - (local.tee $8 + (local.tee $7 (i32.load8_s - (local.tee $6 + (local.tee $5 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -2856,29 +2809,29 @@ (i32.const 42) ) (block - (local.set $6 + (local.set $5 (if (result i32) (i32.lt_u - (local.tee $9 + (local.tee $8 (i32.add - (local.get $8) + (local.get $7) (i32.const -48) ) ) (i32.const 10) ) (block (result i32) - (local.set $10 - (local.get $6) + (local.set $9 + (local.get $5) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.get $9) + (local.get $8) ) (block - (local.set $10 - (local.get $6) + (local.set $9 + (local.get $5) ) (br $label$break$L46 (i32.const 0) @@ -2889,22 +2842,22 @@ (loop $while-in11 (drop (br_if $label$break$L46 - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.mul - (local.get $8) + (local.get $7) (i32.const 10) ) ) ) (i32.ge_u - (local.tee $9 + (local.tee $8 (i32.add (i32.load8_s - (local.tee $10 + (local.tee $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 1) ) ) @@ -2916,11 +2869,11 @@ ) ) ) - (local.set $8 - (local.get $6) + (local.set $7 + (local.get $5) ) - (local.set $6 - (local.get $9) + (local.set $5 + (local.get $8) ) (br $while-in11) ) @@ -2928,12 +2881,12 @@ ) (if (i32.lt_u - (local.tee $8 + (local.tee $7 (i32.add (i32.load8_s - (local.tee $6 + (local.tee $5 (i32.add - (local.get $10) + (local.get $9) (i32.const 2) ) ) @@ -2946,7 +2899,7 @@ (if (i32.eq (i32.load8_s offset=3 - (local.get $10) + (local.get $9) ) (i32.const 36) ) @@ -2954,49 +2907,49 @@ (i32.store (i32.add (i32.shl - (local.get $8) + (local.get $7) (i32.const 2) ) - (local.get $4) + (local.get $3) ) (i32.const 10) ) (drop (i32.load offset=4 - (local.tee $6 + (local.tee $5 (i32.add (i32.shl (i32.add (i32.load8_s - (local.get $6) + (local.get $5) ) (i32.const -48) ) (i32.const 3) ) - (local.get $3) + (local.get $2) ) ) ) ) - (local.set $10 + (local.set $9 (i32.add - (local.get $10) + (local.get $9) (i32.const 4) ) ) (br $label$break$L46 (i32.load - (local.get $6) + (local.get $5) ) ) ) ) ) (if - (local.get $1) + (local.get $19) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) @@ -3005,13 +2958,13 @@ (if (result i32) (local.get $28) (block (result i32) - (local.set $8 + (local.set $7 (i32.load - (local.tee $10 + (local.tee $9 (i32.and (i32.add (i32.load - (local.get $2) + (local.get $1) ) (i32.const 3) ) @@ -3021,20 +2974,20 @@ ) ) (i32.store - (local.get $2) + (local.get $1) (i32.add - (local.get $10) + (local.get $9) (i32.const 4) ) ) - (local.set $10 - (local.get $6) + (local.set $9 + (local.get $5) ) - (local.get $8) + (local.get $7) ) (block (result i32) - (local.set $10 - (local.get $6) + (local.set $9 + (local.get $5) ) (i32.const 0) ) @@ -3043,20 +2996,20 @@ (i32.const -1) ) ) - (local.set $8 - (local.get $10) + (local.set $7 + (local.get $9) ) - (local.set $9 + (local.set $8 (i32.const 0) ) - (local.set $19 + (local.set $18 (loop $while-in13 (result i32) (if (i32.gt_u - (local.tee $12 + (local.tee $11 (i32.add (i32.load8_s - (local.get $8) + (local.get $7) ) (i32.const -65) ) @@ -3064,30 +3017,30 @@ (i32.const 57) ) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) ) ) - (local.set $10 + (local.set $9 (i32.add - (local.get $8) + (local.get $7) (i32.const 1) ) ) (if (result i32) (i32.lt_u (i32.add - (local.tee $12 + (local.tee $11 (i32.and - (local.tee $13 + (local.tee $12 (i32.load8_s (i32.add - (local.get $12) + (local.get $11) (i32.add (i32.mul - (local.get $9) + (local.get $8) (i32.const 58) ) (i32.const 3611) @@ -3103,35 +3056,35 @@ (i32.const 8) ) (block - (local.set $8 - (local.get $10) + (local.set $7 + (local.get $9) ) - (local.set $9 - (local.get $12) + (local.set $8 + (local.get $11) ) (br $while-in13) ) - (local.get $8) + (local.get $7) ) ) ) (if (i32.eqz (i32.and - (local.get $13) + (local.get $12) (i32.const 255) ) ) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) ) ) - (local.set $8 + (local.set $7 (i32.gt_s - (local.get $18) + (local.get $17) (i32.const -1) ) ) @@ -3140,15 +3093,15 @@ (if (i32.eq (i32.and - (local.get $13) + (local.get $12) (i32.const 255) ) (i32.const 19) ) (if - (local.get $8) + (local.get $7) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) @@ -3157,40 +3110,40 @@ ) (block (if - (local.get $8) + (local.get $7) (block (i32.store (i32.add (i32.shl - (local.get $18) + (local.get $17) (i32.const 2) ) - (local.get $4) + (local.get $3) ) - (local.get $12) + (local.get $11) ) - (local.set $12 + (local.set $11 (i32.load offset=4 - (local.tee $8 + (local.tee $7 (i32.add (i32.shl - (local.get $18) + (local.get $17) (i32.const 3) ) - (local.get $3) + (local.get $2) ) ) ) ) (i32.store - (local.get $14) + (local.get $13) (i32.load - (local.get $8) + (local.get $7) ) ) (i32.store offset=4 - (local.get $14) - (local.get $12) + (local.get $13) + (local.get $11) ) (br $__rjti$2) ) @@ -3200,16 +3153,16 @@ (local.get $28) ) (block - (local.set $17 + (local.set $16 (i32.const 0) ) (br $label$break$L1) ) ) (call $_pop_arg_336 - (local.get $14) - (local.get $12) - (local.get $2) + (local.get $13) + (local.get $11) + (local.get $1) ) ) ) @@ -3220,27 +3173,27 @@ (local.get $28) ) (block - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) ) ) - (local.set $11 + (local.set $10 (select - (local.tee $8 + (local.tee $7 (i32.and - (local.get $11) + (local.get $10) (i32.const -65537) ) ) - (local.get $11) + (local.get $10) (i32.and - (local.get $11) + (local.get $10) (i32.const 8192) ) ) @@ -3248,21 +3201,21 @@ (call $_pad (local.get $0) (i32.const 32) - (local.tee $7 + (local.tee $6 (select - (local.tee $6 + (local.tee $5 (i32.add - (local.tee $12 + (local.tee $11 (select - (local.tee $13 + (local.tee $12 (i32.sub (block $__rjto$8 (result i32) (block $__rjti$8 (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.tee $7 + (local.get $14) + (local.tee $6 (block $__rjti$7 (result i32) (block $__rjti$6 (block $__rjti$5 @@ -3283,27 +3236,27 @@ (block $switch-case27 (br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $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-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $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-case30 $switch-default120 (i32.sub - (local.tee $19 + (local.tee $18 (select (i32.and - (local.tee $12 + (local.tee $11 (i32.load8_s - (local.get $19) + (local.get $18) ) ) (i32.const -33) ) - (local.get $12) + (local.get $11) (i32.and (i32.eq (i32.and - (local.get $12) + (local.get $11) (i32.const 15) ) (i32.const 3) ) (i32.ne - (local.get $9) + (local.get $8) (i32.const 0) ) ) @@ -3322,51 +3275,51 @@ (block $switch-case20 (block $switch-case19 (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26 - (local.get $9) + (local.get $8) ) ) (i32.store (i32.load - (local.get $14) + (local.get $13) ) - (local.get $17) + (local.get $16) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store (i32.load - (local.get $14) + (local.get $13) ) - (local.get $17) + (local.get $16) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store - (local.tee $5 + (local.tee $4 (i32.load - (local.get $14) + (local.get $13) ) ) - (local.get $17) + (local.get $16) ) (i32.store offset=4 - (local.get $5) + (local.get $4) (i32.shr_s (i32.shl (i32.lt_s - (local.get $17) + (local.get $16) (i32.const 0) ) (i32.const 31) @@ -3374,70 +3327,70 @@ (i32.const 31) ) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store16 (i32.load - (local.get $14) + (local.get $13) ) - (local.get $17) + (local.get $16) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store8 (i32.load - (local.get $14) + (local.get $13) ) - (local.get $17) + (local.get $16) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store (i32.load - (local.get $14) + (local.get $13) ) - (local.get $17) + (local.get $16) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) (i32.store - (local.tee $5 + (local.tee $4 (i32.load - (local.get $14) + (local.get $13) ) ) - (local.get $17) + (local.get $16) ) (i32.store offset=4 - (local.get $5) + (local.get $4) (i32.shr_s (i32.shl (i32.lt_s - (local.get $17) + (local.get $16) (i32.const 0) ) (i32.const 31) @@ -3445,76 +3398,76 @@ (i32.const 31) ) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) - (local.set $5 + (local.set $4 (i32.or - (local.get $11) + (local.get $10) (i32.const 8) ) ) - (local.set $6 + (local.set $5 (select - (local.get $6) + (local.get $5) (i32.const 8) (i32.gt_u - (local.get $6) + (local.get $5) (i32.const 8) ) ) ) - (local.set $19 + (local.set $18 (i32.const 120) ) (br $__rjti$3) ) - (local.set $5 - (local.get $11) + (local.set $4 + (local.get $10) ) (br $__rjti$3) ) (if (i32.or - (local.tee $5 + (local.tee $4 (i32.load - (local.get $14) + (local.get $13) ) ) - (local.tee $7 + (local.tee $6 (i32.load offset=4 - (local.get $14) + (local.get $13) ) ) ) (block - (local.set $8 + (local.set $7 (local.get $25) ) (loop $while-in32 (i32.store8 - (local.tee $8 + (local.tee $7 (i32.add - (local.get $8) + (local.get $7) (i32.const -1) ) ) (i32.or (i32.and - (local.get $5) + (local.get $4) (i32.const 7) ) (i32.const 48) @@ -3522,129 +3475,129 @@ ) (br_if $while-in32 (i32.or - (local.tee $5 + (local.tee $4 (call $_bitshift64Lshr - (local.get $5) - (local.get $7) + (local.get $4) + (local.get $6) (i32.const 3) ) ) - (local.tee $7 + (local.tee $6 (global.get $tempRet0) ) ) ) ) ) - (local.set $8 + (local.set $7 (local.get $25) ) ) (if (i32.and - (local.get $11) + (local.get $10) (i32.const 8) ) (block - (local.set $5 - (local.get $11) + (local.set $4 + (local.get $10) ) - (local.set $6 + (local.set $5 (select - (local.tee $11 + (local.tee $10 (i32.add (i32.sub (local.get $38) - (local.tee $7 - (local.get $8) + (local.tee $6 + (local.get $7) ) ) (i32.const 1) ) ) - (local.get $6) + (local.get $5) (i32.lt_s - (local.get $6) - (local.get $11) + (local.get $5) + (local.get $10) ) ) ) ) (block - (local.set $7 - (local.get $8) + (local.set $6 + (local.get $7) ) - (local.set $5 - (local.get $11) + (local.set $4 + (local.get $10) ) ) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjti$8) ) - (local.set $5 + (local.set $4 (i32.load - (local.get $14) + (local.get $13) ) ) (if (i32.lt_s - (local.tee $7 + (local.tee $6 (i32.load offset=4 - (local.get $14) + (local.get $13) ) ) (i32.const 0) ) (block (i32.store - (local.get $14) - (local.tee $5 + (local.get $13) + (local.tee $4 (call $_i64Subtract (i32.const 0) (i32.const 0) - (local.get $5) - (local.get $7) + (local.get $4) + (local.get $6) ) ) ) (i32.store offset=4 - (local.get $14) - (local.tee $7 + (local.get $13) + (local.tee $6 (global.get $tempRet0) ) ) - (local.set $8 + (local.set $7 (i32.const 1) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjti$4) ) ) - (local.set $9 + (local.set $8 (if (result i32) (i32.and - (local.get $11) + (local.get $10) (i32.const 2048) ) (block (result i32) - (local.set $8 + (local.set $7 (i32.const 1) ) (i32.const 4092) ) (block (result i32) - (local.set $8 - (local.tee $9 + (local.set $7 + (local.tee $8 (i32.and - (local.get $11) + (local.get $10) (i32.const 1) ) ) @@ -3652,27 +3605,27 @@ (select (i32.const 4093) (i32.const 4091) - (local.get $9) + (local.get $8) ) ) ) ) (br $__rjti$4) ) - (local.set $5 + (local.set $4 (i32.load - (local.get $14) + (local.get $13) ) ) - (local.set $7 + (local.set $6 (i32.load offset=4 - (local.get $14) + (local.get $13) ) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjti$4) @@ -3680,29 +3633,29 @@ (i32.store8 (local.get $39) (i32.load - (local.get $14) + (local.get $13) ) ) - (local.set $5 + (local.set $4 (local.get $39) ) - (local.set $11 - (local.get $8) + (local.set $10 + (local.get $7) ) - (local.set $12 + (local.set $11 (i32.const 1) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjto$8 (local.get $25) ) ) - (local.set $7 + (local.set $6 (call $_strerror (i32.load (call $___errno_location) @@ -3711,15 +3664,15 @@ ) (br $__rjti$5) ) - (local.set $7 + (local.set $6 (select - (local.tee $5 + (local.tee $4 (i32.load - (local.get $14) + (local.get $13) ) ) (i32.const 4101) - (local.get $5) + (local.get $4) ) ) (br $__rjti$5) @@ -3727,7 +3680,7 @@ (i32.store (local.get $40) (i32.load - (local.get $14) + (local.get $13) ) ) (i32.store @@ -3735,19 +3688,19 @@ (i32.const 0) ) (i32.store - (local.get $14) + (local.get $13) (local.get $40) ) - (local.set $8 + (local.set $7 (i32.const -1) ) (br $__rjti$6) ) (if - (local.get $6) + (local.get $5) (block - (local.set $8 - (local.get $6) + (local.set $7 + (local.get $5) ) (br $__rjti$6) ) @@ -3755,9 +3708,9 @@ (call $_pad (local.get $0) (i32.const 32) - (local.get $15) + (local.get $14) (i32.const 0) - (local.get $11) + (local.get $10) ) (br $__rjti$7 (i32.const 0) @@ -3765,9 +3718,9 @@ ) ) ) - (local.set $16 + (local.set $15 (f64.load - (local.get $14) + (local.get $13) ) ) (i32.store @@ -3776,7 +3729,7 @@ ) (f64.store (global.get $tempDoublePtr) - (local.get $16) + (local.get $15) ) (local.set $30 (if (result i32) @@ -3790,16 +3743,16 @@ (local.set $26 (i32.const 1) ) - (local.set $16 + (local.set $15 (f64.neg - (local.get $16) + (local.get $15) ) ) (i32.const 4108) ) (if (result i32) (i32.and - (local.get $11) + (local.get $10) (i32.const 2048) ) (block (result i32) @@ -3810,9 +3763,9 @@ ) (block (result i32) (local.set $26 - (local.tee $5 + (local.tee $4 (i32.and - (local.get $11) + (local.get $10) (i32.const 1) ) ) @@ -3820,7 +3773,7 @@ (select (i32.const 4114) (i32.const 4109) - (local.get $5) + (local.get $4) ) ) ) @@ -3828,9 +3781,9 @@ ) (f64.store (global.get $tempDoublePtr) - (local.get $16) + (local.get $15) ) - (local.set $7 + (local.set $6 (if (result i32) (i32.lt_u (i32.and @@ -3843,12 +3796,12 @@ ) (block $do-once49 (result i32) (if - (local.tee $5 + (local.tee $4 (f64.ne (local.tee $22 (f64.mul (call $_frexp - (local.get $16) + (local.get $15) (local.get $20) ) (f64.const 2) @@ -3871,60 +3824,60 @@ (i32.eq (local.tee $24 (i32.or - (local.get $19) + (local.get $18) (i32.const 32) ) ) (i32.const 97) ) (block - (local.set $9 + (local.set $8 (select (i32.add (local.get $30) (i32.const 9) ) (local.get $30) - (local.tee $13 + (local.tee $12 (i32.and - (local.get $19) + (local.get $18) (i32.const 32) ) ) ) ) - (local.set $16 + (local.set $15 (if (result f64) (i32.or (i32.eqz - (local.tee $5 + (local.tee $4 (i32.sub (i32.const 12) - (local.get $6) + (local.get $5) ) ) ) (i32.gt_u - (local.get $6) + (local.get $5) (i32.const 11) ) ) (local.get $22) (block (result f64) - (local.set $16 + (local.set $15 (f64.const 8) ) (loop $while-in54 - (local.set $16 + (local.set $15 (f64.mul - (local.get $16) + (local.get $15) (f64.const 16) ) ) (br_if $while-in54 - (local.tee $5 + (local.tee $4 (i32.add - (local.get $5) + (local.get $4) (i32.const -1) ) ) @@ -3933,25 +3886,25 @@ (select (f64.neg (f64.add - (local.get $16) + (local.get $15) (f64.sub (f64.neg (local.get $22) ) - (local.get $16) + (local.get $15) ) ) ) (f64.sub (f64.add (local.get $22) - (local.get $16) + (local.get $15) ) - (local.get $16) + (local.get $15) ) (i32.eq (i32.load8_s - (local.get $9) + (local.get $8) ) (i32.const 45) ) @@ -3959,7 +3912,7 @@ ) ) ) - (local.set $12 + (local.set $11 (i32.or (local.get $26) (i32.const 2) @@ -3967,21 +3920,21 @@ ) (if (i32.eq - (local.tee $5 + (local.tee $4 (call $_fmt_u - (local.tee $5 + (local.tee $4 (select (i32.sub (i32.const 0) - (local.tee $7 + (local.tee $6 (i32.load (local.get $20) ) ) ) - (local.get $7) + (local.get $6) (i32.lt_s - (local.get $7) + (local.get $6) (i32.const 0) ) ) @@ -3989,7 +3942,7 @@ (i32.shr_s (i32.shl (i32.lt_s - (local.get $5) + (local.get $4) (i32.const 0) ) (i32.const 31) @@ -4006,20 +3959,20 @@ (local.get $41) (i32.const 48) ) - (local.set $5 + (local.set $4 (local.get $41) ) ) ) (i32.store8 (i32.add - (local.get $5) + (local.get $4) (i32.const -1) ) (i32.add (i32.and (i32.shr_s - (local.get $7) + (local.get $6) (i32.const 31) ) (i32.const 2) @@ -4028,44 +3981,44 @@ ) ) (i32.store8 - (local.tee $8 + (local.tee $7 (i32.add - (local.get $5) + (local.get $4) (i32.const -2) ) ) (i32.add - (local.get $19) + (local.get $18) (i32.const 15) ) ) - (local.set $19 + (local.set $18 (i32.lt_s - (local.get $6) + (local.get $5) (i32.const 1) ) ) - (local.set $18 + (local.set $17 (i32.eqz (i32.and - (local.get $11) + (local.get $10) (i32.const 8) ) ) ) - (local.set $5 + (local.set $4 (local.get $23) ) (loop $while-in56 (i32.store8 - (local.get $5) + (local.get $4) (i32.or - (local.get $13) + (local.get $12) (i32.load8_u (i32.add - (local.tee $7 + (local.tee $6 (i32.trunc_f64_s - (local.get $16) + (local.get $15) ) ) (i32.const 4075) @@ -4073,24 +4026,24 @@ ) ) ) - (local.set $16 + (local.set $15 (f64.mul (f64.sub - (local.get $16) + (local.get $15) (f64.convert_i32_s - (local.get $7) + (local.get $6) ) ) (f64.const 16) ) ) - (local.set $5 + (local.set $4 (if (result i32) (i32.eq (i32.sub - (local.tee $7 + (local.tee $6 (i32.add - (local.get $5) + (local.get $4) (i32.const 1) ) ) @@ -4102,31 +4055,31 @@ (i32.and (i32.and (f64.eq - (local.get $16) + (local.get $15) (f64.const 0) ) - (local.get $19) + (local.get $18) ) - (local.get $18) + (local.get $17) ) - (local.get $7) + (local.get $6) (block (result i32) (i32.store8 - (local.get $7) + (local.get $6) (i32.const 46) ) (i32.add - (local.get $5) + (local.get $4) (i32.const 2) ) ) ) - (local.get $7) + (local.get $6) ) ) (br_if $while-in56 (f64.ne - (local.get $16) + (local.get $15) (f64.const 0) ) ) @@ -4134,44 +4087,44 @@ (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.tee $7 + (local.get $14) + (local.tee $6 (i32.add - (local.get $12) - (local.tee $6 + (local.get $11) + (local.tee $5 (select (i32.sub (i32.add - (local.get $6) + (local.get $5) (local.get $46) ) - (local.get $8) + (local.get $7) ) (i32.add - (local.get $5) + (local.get $4) (i32.sub (local.get $44) - (local.get $8) + (local.get $7) ) ) (i32.and (i32.ne - (local.get $6) + (local.get $5) (i32.const 0) ) (i32.lt_s (i32.add - (local.get $5) + (local.get $4) (local.get $45) ) - (local.get $6) + (local.get $5) ) ) ) ) ) ) - (local.get $11) + (local.get $10) ) (if (i32.eqz @@ -4182,27 +4135,25 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $9) - (local.get $12) - (local.get $0) - ) + (call $___fwritex + (local.get $8) + (local.get $11) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 48) - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.xor - (local.get $11) + (local.get $10) (i32.const 65536) ) ) - (local.set $5 + (local.set $4 (i32.sub - (local.get $5) + (local.get $4) (local.get $36) ) ) @@ -4215,25 +4166,23 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $23) - (local.get $5) - (local.get $0) - ) + (call $___fwritex + (local.get $23) + (local.get $4) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 48) (i32.sub - (local.get $6) + (local.get $5) (i32.add - (local.get $5) - (local.tee $5 + (local.get $4) + (local.tee $4 (i32.sub (local.get $27) - (local.get $8) + (local.get $7) ) ) ) @@ -4250,43 +4199,41 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $8) - (local.get $5) - (local.get $0) - ) + (call $___fwritex + (local.get $7) + (local.get $4) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.xor - (local.get $11) + (local.get $10) (i32.const 8192) ) ) (br $do-once49 (select - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.lt_s - (local.get $7) - (local.get $15) + (local.get $6) + (local.get $14) ) ) ) ) ) - (local.set $16 + (local.set $15 (if (result f64) - (local.get $5) + (local.get $4) (block (result f64) (i32.store (local.get $20) - (local.tee $5 + (local.tee $4 (i32.add (i32.load (local.get $20) @@ -4301,7 +4248,7 @@ ) ) (block (result f64) - (local.set $5 + (local.set $4 (i32.load (local.get $20) ) @@ -4310,13 +4257,13 @@ ) ) ) - (local.set $7 - (local.tee $8 + (local.set $6 + (local.tee $7 (select (local.get $47) (local.get $48) (i32.lt_s - (local.get $5) + (local.get $4) (i32.const 0) ) ) @@ -4324,27 +4271,27 @@ ) (loop $while-in60 (i32.store - (local.get $7) - (local.tee $5 + (local.get $6) + (local.tee $4 (i32.trunc_f64_u - (local.get $16) + (local.get $15) ) ) ) - (local.set $7 + (local.set $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 4) ) ) (br_if $while-in60 (f64.ne - (local.tee $16 + (local.tee $15 (f64.mul (f64.sub - (local.get $16) + (local.get $15) (f64.convert_i32_u - (local.get $5) + (local.get $4) ) ) (f64.const 1e9) @@ -4356,7 +4303,7 @@ ) (if (i32.gt_s - (local.tee $9 + (local.tee $8 (i32.load (local.get $20) ) @@ -4364,113 +4311,113 @@ (i32.const 0) ) (block - (local.set $5 - (local.get $8) + (local.set $4 + (local.get $7) ) (loop $while-in62 - (local.set $13 + (local.set $12 (select (i32.const 29) - (local.get $9) + (local.get $8) (i32.gt_s - (local.get $9) + (local.get $8) (i32.const 29) ) ) ) (if (i32.ge_u - (local.tee $9 + (local.tee $8 (i32.add - (local.get $7) + (local.get $6) (i32.const -4) ) ) - (local.get $5) + (local.get $4) ) (block $do-once63 - (local.set $12 + (local.set $11 (i32.const 0) ) (loop $while-in66 (i32.store - (local.get $9) + (local.get $8) (call $___uremdi3 - (local.tee $12 + (local.tee $11 (call $_i64Add (call $_bitshift64Shl (i32.load - (local.get $9) + (local.get $8) ) (i32.const 0) - (local.get $13) + (local.get $12) ) (global.get $tempRet0) - (local.get $12) + (local.get $11) (i32.const 0) ) ) - (local.tee $18 + (local.tee $17 (global.get $tempRet0) ) (i32.const 1000000000) ) ) - (local.set $12 + (local.set $11 (call $___udivdi3 - (local.get $12) - (local.get $18) + (local.get $11) + (local.get $17) (i32.const 1000000000) ) ) (br_if $while-in66 (i32.ge_u - (local.tee $9 + (local.tee $8 (i32.add - (local.get $9) + (local.get $8) (i32.const -4) ) ) - (local.get $5) + (local.get $4) ) ) ) (br_if $do-once63 (i32.eqz - (local.get $12) + (local.get $11) ) ) (i32.store - (local.tee $5 + (local.tee $4 (i32.add - (local.get $5) + (local.get $4) (i32.const -4) ) ) - (local.get $12) + (local.get $11) ) ) ) (loop $while-in68 (if (i32.gt_u - (local.get $7) - (local.get $5) + (local.get $6) + (local.get $4) ) (if (i32.eqz (i32.load - (local.tee $9 + (local.tee $8 (i32.add - (local.get $7) + (local.get $6) (i32.const -4) ) ) ) ) (block - (local.set $7 - (local.get $9) + (local.set $6 + (local.get $8) ) (br $while-in68) ) @@ -4479,40 +4426,40 @@ ) (i32.store (local.get $20) - (local.tee $9 + (local.tee $8 (i32.sub (i32.load (local.get $20) ) - (local.get $13) + (local.get $12) ) ) ) (br_if $while-in62 (i32.gt_s - (local.get $9) + (local.get $8) (i32.const 0) ) ) ) ) - (local.set $5 - (local.get $8) + (local.set $4 + (local.get $7) ) ) - (local.set $18 + (local.set $17 (select (i32.const 6) - (local.get $6) + (local.get $5) (i32.lt_s - (local.get $6) + (local.get $5) (i32.const 0) ) ) ) (if (i32.lt_s - (local.get $9) + (local.get $8) (i32.const 0) ) (block @@ -4520,7 +4467,7 @@ (i32.add (i32.div_s (i32.add - (local.get $18) + (local.get $17) (i32.const 25) ) (i32.const 9) @@ -4534,40 +4481,40 @@ (i32.const 102) ) ) - (local.set $6 - (local.get $5) - ) (local.set $5 - (local.get $7) + (local.get $4) ) - (local.set $5 + (local.set $4 + (local.get $6) + ) + (local.set $4 (loop $while-in70 (result i32) - (local.set $13 + (local.set $12 (select (i32.const 9) - (local.tee $7 + (local.tee $6 (i32.sub (i32.const 0) - (local.get $9) + (local.get $8) ) ) (i32.gt_s - (local.get $7) + (local.get $6) (i32.const 9) ) ) ) (if (i32.lt_u - (local.get $6) (local.get $5) + (local.get $4) ) (block $do-once71 - (local.set $12 + (local.set $11 (i32.add (i32.shl (i32.const 1) - (local.get $13) + (local.get $12) ) (i32.const -1) ) @@ -4575,99 +4522,99 @@ (local.set $37 (i32.shr_u (i32.const 1000000000) - (local.get $13) + (local.get $12) ) ) - (local.set $9 + (local.set $8 (i32.const 0) ) - (local.set $7 - (local.get $6) + (local.set $6 + (local.get $5) ) (loop $while-in74 (i32.store - (local.get $7) + (local.get $6) (i32.add - (local.get $9) + (local.get $8) (i32.shr_u - (local.tee $9 + (local.tee $8 (i32.load - (local.get $7) + (local.get $6) ) ) - (local.get $13) + (local.get $12) ) ) ) - (local.set $9 + (local.set $8 (i32.mul (i32.and - (local.get $9) - (local.get $12) + (local.get $8) + (local.get $11) ) (local.get $37) ) ) (br_if $while-in74 (i32.lt_u - (local.tee $7 + (local.tee $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 4) ) ) - (local.get $5) + (local.get $4) ) ) ) - (local.set $7 + (local.set $6 (select - (local.get $6) + (local.get $5) (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) (i32.load - (local.get $6) + (local.get $5) ) ) ) (br_if $do-once71 (i32.eqz - (local.get $9) + (local.get $8) ) ) (i32.store - (local.get $5) - (local.get $9) + (local.get $4) + (local.get $8) ) - (local.set $5 + (local.set $4 (i32.add - (local.get $5) + (local.get $4) (i32.const 4) ) ) ) - (local.set $7 + (local.set $6 (select - (local.get $6) + (local.get $5) (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) (i32.load - (local.get $6) + (local.get $5) ) ) ) ) - (local.set $12 + (local.set $11 (select (i32.add - (local.tee $6 + (local.tee $5 (select - (local.get $8) (local.get $7) + (local.get $6) (local.get $31) ) ) @@ -4676,12 +4623,12 @@ (i32.const 2) ) ) - (local.get $5) + (local.get $4) (i32.gt_s (i32.shr_s (i32.sub + (local.get $4) (local.get $5) - (local.get $6) ) (i32.const 2) ) @@ -4691,58 +4638,58 @@ ) (i32.store (local.get $20) - (local.tee $9 + (local.tee $8 (i32.add (i32.load (local.get $20) ) - (local.get $13) + (local.get $12) ) ) ) (if (result i32) (i32.lt_s - (local.get $9) + (local.get $8) (i32.const 0) ) (block - (local.set $6 - (local.get $7) - ) (local.set $5 - (local.get $12) + (local.get $6) + ) + (local.set $4 + (local.get $11) ) (br $while-in70) ) (block (result i32) - (local.set $9 - (local.get $12) + (local.set $8 + (local.get $11) ) - (local.get $7) + (local.get $6) ) ) ) ) ) - (local.set $9 - (local.get $7) + (local.set $8 + (local.get $6) ) ) (local.set $21 - (local.get $8) + (local.get $7) ) (if (i32.lt_u - (local.get $5) - (local.get $9) + (local.get $4) + (local.get $8) ) (block $do-once75 - (local.set $7 + (local.set $6 (i32.mul (i32.shr_s (i32.sub (local.get $21) - (local.get $5) + (local.get $4) ) (i32.const 2) ) @@ -4751,30 +4698,30 @@ ) (br_if $do-once75 (i32.lt_u - (local.tee $12 + (local.tee $11 (i32.load - (local.get $5) + (local.get $4) ) ) (i32.const 10) ) ) - (local.set $6 + (local.set $5 (i32.const 10) ) (loop $while-in78 - (local.set $7 + (local.set $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 1) ) ) (br_if $while-in78 (i32.ge_u - (local.get $12) - (local.tee $6 + (local.get $11) + (local.tee $5 (i32.mul - (local.get $6) + (local.get $5) (i32.const 10) ) ) @@ -4782,19 +4729,19 @@ ) ) ) - (local.set $7 + (local.set $6 (i32.const 0) ) ) - (local.set $5 + (local.set $4 (if (result i32) (i32.lt_s - (local.tee $6 + (local.tee $5 (i32.add (i32.sub - (local.get $18) + (local.get $17) (select - (local.get $7) + (local.get $6) (i32.const 0) (i32.ne (local.get $24) @@ -4813,7 +4760,7 @@ ) (local.tee $37 (i32.ne - (local.get $18) + (local.get $17) (i32.const 0) ) ) @@ -4828,7 +4775,7 @@ (i32.mul (i32.shr_s (i32.sub - (local.get $9) + (local.get $8) (local.get $21) ) (i32.const 2) @@ -4841,12 +4788,12 @@ (block (result i32) (if (i32.lt_s - (local.tee $6 + (local.tee $5 (i32.add (i32.rem_s - (local.tee $13 + (local.tee $12 (i32.add - (local.get $6) + (local.get $5) (i32.const 9216) ) ) @@ -4858,21 +4805,21 @@ (i32.const 9) ) (block - (local.set $12 + (local.set $11 (i32.const 10) ) (loop $while-in80 - (local.set $12 + (local.set $11 (i32.mul - (local.get $12) + (local.get $11) (i32.const 10) ) ) (br_if $while-in80 (i32.ne - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const 1) ) ) @@ -4881,32 +4828,32 @@ ) ) ) - (local.set $12 + (local.set $11 (i32.const 10) ) ) - (local.set $13 + (local.set $12 (i32.rem_u (local.tee $24 (i32.load - (local.tee $6 + (local.tee $5 (i32.add (i32.add (i32.shl (i32.div_s - (local.get $13) + (local.get $12) (i32.const 9) ) (i32.const 2) ) - (local.get $8) + (local.get $7) ) (i32.const -4092) ) ) ) ) - (local.get $12) + (local.get $11) ) ) (if @@ -4915,25 +4862,25 @@ (local.tee $49 (i32.eq (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) - (local.get $9) + (local.get $8) ) ) (i32.eqz - (local.get $13) + (local.get $12) ) ) ) (block $do-once81 - (local.set $16 + (local.set $15 (if (result f64) (i32.lt_u - (local.get $13) + (local.get $12) (local.tee $50 (i32.div_s - (local.get $12) + (local.get $11) (i32.const 2) ) ) @@ -4945,7 +4892,7 @@ (i32.and (local.get $49) (i32.eq - (local.get $13) + (local.get $12) (local.get $50) ) ) @@ -4959,7 +4906,7 @@ (i32.and (i32.div_u (local.get $24) - (local.get $12) + (local.get $11) ) (i32.const 1) ) @@ -4975,9 +4922,9 @@ (i32.const 45) ) (block - (local.set $16 + (local.set $15 (f64.neg - (local.get $16) + (local.get $15) ) ) (local.set $22 @@ -4989,11 +4936,11 @@ ) ) (i32.store - (local.get $6) - (local.tee $13 + (local.get $5) + (local.tee $12 (i32.sub (local.get $24) - (local.get $13) + (local.get $12) ) ) ) @@ -5001,44 +4948,44 @@ (f64.eq (f64.add (local.get $22) - (local.get $16) + (local.get $15) ) (local.get $22) ) ) (i32.store - (local.get $6) - (local.tee $7 + (local.get $5) + (local.tee $6 (i32.add + (local.get $11) (local.get $12) - (local.get $13) ) ) ) (if (i32.gt_u - (local.get $7) + (local.get $6) (i32.const 999999999) ) (loop $while-in86 (i32.store - (local.get $6) + (local.get $5) (i32.const 0) ) (if (i32.lt_u - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const -4) ) ) - (local.get $5) + (local.get $4) ) (i32.store - (local.tee $5 + (local.tee $4 (i32.add - (local.get $5) + (local.get $4) (i32.const -4) ) ) @@ -5046,11 +4993,11 @@ ) ) (i32.store - (local.get $6) - (local.tee $7 + (local.get $5) + (local.tee $6 (i32.add (i32.load - (local.get $6) + (local.get $5) ) (i32.const 1) ) @@ -5058,18 +5005,18 @@ ) (br_if $while-in86 (i32.gt_u - (local.get $7) + (local.get $6) (i32.const 999999999) ) ) ) ) - (local.set $7 + (local.set $6 (i32.mul (i32.shr_s (i32.sub (local.get $21) - (local.get $5) + (local.get $4) ) (i32.const 2) ) @@ -5078,30 +5025,30 @@ ) (br_if $do-once81 (i32.lt_u - (local.tee $13 + (local.tee $12 (i32.load - (local.get $5) + (local.get $4) ) ) (i32.const 10) ) ) - (local.set $12 + (local.set $11 (i32.const 10) ) (loop $while-in88 - (local.set $7 + (local.set $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 1) ) ) (br_if $while-in88 (i32.ge_u - (local.get $13) - (local.tee $12 + (local.get $12) + (local.tee $11 (i32.mul - (local.get $12) + (local.get $11) (i32.const 10) ) ) @@ -5110,59 +5057,59 @@ ) ) ) - (local.set $12 - (local.get $5) + (local.set $11 + (local.get $4) ) - (local.set $13 - (local.get $7) + (local.set $12 + (local.get $6) ) (select - (local.tee $5 + (local.tee $4 (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) ) - (local.get $9) + (local.get $8) (i32.gt_u - (local.get $9) - (local.get $5) + (local.get $8) + (local.get $4) ) ) ) (block (result i32) - (local.set $12 - (local.get $5) + (local.set $11 + (local.get $4) ) - (local.set $13 - (local.get $7) + (local.set $12 + (local.get $6) ) - (local.get $9) + (local.get $8) ) ) ) - (local.set $9 + (local.set $8 (loop $while-in90 (result i32) (block $while-out89 (result i32) (if (i32.le_u - (local.get $5) - (local.get $12) + (local.get $4) + (local.get $11) ) (block (local.set $24 (i32.const 0) ) (br $while-out89 - (local.get $5) + (local.get $4) ) ) ) (if (result i32) (i32.load - (local.tee $7 + (local.tee $6 (i32.add - (local.get $5) + (local.get $4) (i32.const -4) ) ) @@ -5171,11 +5118,11 @@ (local.set $24 (i32.const 1) ) - (local.get $5) + (local.get $4) ) (block - (local.set $5 - (local.get $7) + (local.set $4 + (local.get $6) ) (br $while-in90) ) @@ -5183,72 +5130,72 @@ ) ) ) - (local.set $5 + (local.set $4 (if (result i32) (local.get $31) (block $do-once91 (result i32) - (local.set $7 + (local.set $6 (if (result i32) (i32.and (i32.gt_s - (local.tee $5 + (local.tee $4 (i32.add - (local.get $18) + (local.get $17) (i32.xor (local.get $37) (i32.const 1) ) ) ) - (local.get $13) + (local.get $12) ) (i32.gt_s - (local.get $13) + (local.get $12) (i32.const -5) ) ) (block (result i32) - (local.set $18 + (local.set $17 (i32.sub (i32.add - (local.get $5) + (local.get $4) (i32.const -1) ) - (local.get $13) + (local.get $12) ) ) (i32.add - (local.get $19) + (local.get $18) (i32.const -1) ) ) (block (result i32) - (local.set $18 + (local.set $17 (i32.add - (local.get $5) + (local.get $4) (i32.const -1) ) ) (i32.add - (local.get $19) + (local.get $18) (i32.const -2) ) ) ) ) (if - (local.tee $5 + (local.tee $4 (i32.and - (local.get $11) + (local.get $10) (i32.const 8) ) ) (block (local.set $21 - (local.get $5) + (local.get $4) ) (br $do-once91 - (local.get $18) + (local.get $17) ) ) ) @@ -5257,36 +5204,36 @@ (block $do-once93 (if (i32.eqz - (local.tee $19 + (local.tee $18 (i32.load (i32.add - (local.get $9) + (local.get $8) (i32.const -4) ) ) ) ) (block - (local.set $5 + (local.set $4 (i32.const 9) ) (br $do-once93) ) ) - (local.set $5 + (local.set $4 (if (result i32) (i32.rem_u - (local.get $19) + (local.get $18) (i32.const 10) ) (block - (local.set $5 + (local.set $4 (i32.const 0) ) (br $do-once93) ) (block (result i32) - (local.set $6 + (local.set $5 (i32.const 10) ) (i32.const 0) @@ -5294,19 +5241,19 @@ ) ) (loop $while-in96 - (local.set $5 + (local.set $4 (i32.add - (local.get $5) + (local.get $4) (i32.const 1) ) ) (br_if $while-in96 (i32.eqz (i32.rem_u - (local.get $19) - (local.tee $6 + (local.get $18) + (local.tee $5 (i32.mul - (local.get $6) + (local.get $5) (i32.const 10) ) ) @@ -5315,16 +5262,16 @@ ) ) ) - (local.set $5 + (local.set $4 (i32.const 9) ) ) - (local.set $6 + (local.set $5 (i32.add (i32.mul (i32.shr_s (i32.sub - (local.get $9) + (local.get $8) (local.get $21) ) (i32.const 2) @@ -5337,7 +5284,7 @@ (if (result i32) (i32.eq (i32.or - (local.get $7) + (local.get $6) (i32.const 32) ) (i32.const 102) @@ -5347,25 +5294,25 @@ (i32.const 0) ) (select - (local.get $18) - (local.tee $5 + (local.get $17) + (local.tee $4 (select (i32.const 0) - (local.tee $5 + (local.tee $4 (i32.sub - (local.get $6) (local.get $5) + (local.get $4) ) ) (i32.lt_s - (local.get $5) + (local.get $4) (i32.const 0) ) ) ) (i32.lt_s - (local.get $18) - (local.get $5) + (local.get $17) + (local.get $4) ) ) ) @@ -5374,28 +5321,28 @@ (i32.const 0) ) (select - (local.get $18) - (local.tee $5 + (local.get $17) + (local.tee $4 (select (i32.const 0) - (local.tee $5 + (local.tee $4 (i32.sub (i32.add - (local.get $6) - (local.get $13) + (local.get $5) + (local.get $12) ) - (local.get $5) + (local.get $4) ) ) (i32.lt_s - (local.get $5) + (local.get $4) (i32.const 0) ) ) ) (i32.lt_s - (local.get $18) - (local.get $5) + (local.get $17) + (local.get $4) ) ) ) @@ -5404,48 +5351,48 @@ (block (result i32) (local.set $21 (i32.and - (local.get $11) + (local.get $10) (i32.const 8) ) ) - (local.set $7 - (local.get $19) + (local.set $6 + (local.get $18) ) - (local.get $18) + (local.get $17) ) ) ) - (local.set $6 + (local.set $5 (i32.sub (i32.const 0) - (local.get $13) + (local.get $12) ) ) (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.tee $13 + (local.get $14) + (local.tee $12 (i32.add (if (result i32) - (local.tee $18 + (local.tee $17 (i32.eq (i32.or - (local.get $7) + (local.get $6) (i32.const 32) ) (i32.const 102) ) ) (block (result i32) - (local.set $19 + (local.set $18 (i32.const 0) ) (select - (local.get $13) + (local.get $12) (i32.const 0) (i32.gt_s - (local.get $13) + (local.get $12) (i32.const 0) ) ) @@ -5455,14 +5402,14 @@ (i32.lt_s (i32.sub (local.get $27) - (local.tee $6 + (local.tee $5 (call $_fmt_u - (local.tee $6 + (local.tee $5 (select - (local.get $6) - (local.get $13) + (local.get $5) + (local.get $12) (i32.lt_s - (local.get $13) + (local.get $12) (i32.const 0) ) ) @@ -5470,7 +5417,7 @@ (i32.shr_s (i32.shl (i32.lt_s - (local.get $6) + (local.get $5) (i32.const 0) ) (i32.const 31) @@ -5485,9 +5432,9 @@ ) (loop $while-in98 (i32.store8 - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const -1) ) ) @@ -5497,7 +5444,7 @@ (i32.lt_s (i32.sub (local.get $27) - (local.get $6) + (local.get $5) ) (i32.const 2) ) @@ -5506,13 +5453,13 @@ ) (i32.store8 (i32.add - (local.get $6) + (local.get $5) (i32.const -1) ) (i32.add (i32.and (i32.shr_s - (local.get $13) + (local.get $12) (i32.const 31) ) (i32.const 2) @@ -5521,17 +5468,17 @@ ) ) (i32.store8 - (local.tee $19 + (local.tee $18 (i32.add - (local.get $6) + (local.get $5) (i32.const -2) ) ) - (local.get $7) + (local.get $6) ) (i32.sub (local.get $27) - (local.get $19) + (local.get $18) ) ) ) @@ -5541,12 +5488,12 @@ (local.get $26) (i32.const 1) ) - (local.get $5) + (local.get $4) ) (i32.ne (local.tee $31 (i32.or - (local.get $5) + (local.get $4) (local.get $21) ) ) @@ -5555,7 +5502,7 @@ ) ) ) - (local.get $11) + (local.get $10) ) (if (i32.eqz @@ -5566,44 +5513,42 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $30) - (local.get $26) - (local.get $0) - ) + (call $___fwritex + (local.get $30) + (local.get $26) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 48) - (local.get $15) - (local.get $13) + (local.get $14) + (local.get $12) (i32.xor - (local.get $11) + (local.get $10) (i32.const 65536) ) ) (if - (local.get $18) + (local.get $17) (block - (local.set $6 - (local.tee $12 + (local.set $5 + (local.tee $11 (select - (local.get $8) - (local.get $12) + (local.get $7) + (local.get $11) (i32.gt_u - (local.get $12) - (local.get $8) + (local.get $11) + (local.get $7) ) ) ) ) (loop $while-in102 - (local.set $7 + (local.set $6 (call $_fmt_u (i32.load - (local.get $6) + (local.get $5) ) (i32.const 0) (local.get $29) @@ -5612,13 +5557,13 @@ (block $do-once103 (if (i32.eq - (local.get $6) - (local.get $12) + (local.get $5) + (local.get $11) ) (block (br_if $do-once103 (i32.ne - (local.get $7) + (local.get $6) (local.get $29) ) ) @@ -5626,22 +5571,22 @@ (local.get $33) (i32.const 48) ) - (local.set $7 + (local.set $6 (local.get $33) ) ) (block (br_if $do-once103 (i32.le_u - (local.get $7) + (local.get $6) (local.get $23) ) ) (loop $while-in106 (i32.store8 - (local.tee $7 + (local.tee $6 (i32.add - (local.get $7) + (local.get $6) (i32.const -1) ) ) @@ -5649,7 +5594,7 @@ ) (br_if $while-in106 (i32.gt_u - (local.get $7) + (local.get $6) (local.get $23) ) ) @@ -5666,30 +5611,28 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $7) - (i32.sub - (local.get $42) - (local.get $7) - ) - (local.get $0) + (call $___fwritex + (local.get $6) + (i32.sub + (local.get $42) + (local.get $6) ) + (local.get $0) ) ) (if (i32.le_u - (local.tee $7 + (local.tee $6 (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) ) - (local.get $8) + (local.get $7) ) (block - (local.set $6 - (local.get $7) + (local.set $5 + (local.get $6) ) (br $while-in102) ) @@ -5706,12 +5649,10 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) - (local.get $0) - ) + (call $___fwritex + (i32.const 4143) + (i32.const 1) + (local.get $0) ) ) ) @@ -5722,21 +5663,21 @@ (if (result i32) (i32.and (i32.lt_u - (local.get $7) - (local.get $9) + (local.get $6) + (local.get $8) ) (i32.gt_s - (local.get $5) + (local.get $4) (i32.const 0) ) ) (loop $while-in110 (result i32) (if (i32.gt_u - (local.tee $6 + (local.tee $5 (call $_fmt_u (i32.load - (local.get $7) + (local.get $6) ) (i32.const 0) (local.get $29) @@ -5746,9 +5687,9 @@ ) (loop $while-in112 (i32.store8 - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const -1) ) ) @@ -5756,7 +5697,7 @@ ) (br_if $while-in112 (i32.gt_u - (local.get $6) + (local.get $5) (local.get $23) ) ) @@ -5771,53 +5712,51 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $6) - (select + (call $___fwritex + (local.get $5) + (select + (i32.const 9) + (local.get $4) + (i32.gt_s + (local.get $4) (i32.const 9) - (local.get $5) - (i32.gt_s - (local.get $5) - (i32.const 9) - ) ) - (local.get $0) ) + (local.get $0) ) ) - (local.set $6 + (local.set $5 (i32.add - (local.get $5) + (local.get $4) (i32.const -9) ) ) (if (result i32) (i32.and (i32.lt_u - (local.tee $7 + (local.tee $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 4) ) ) - (local.get $9) + (local.get $8) ) (i32.gt_s - (local.get $5) + (local.get $4) (i32.const 9) ) ) (block - (local.set $5 - (local.get $6) + (local.set $4 + (local.get $5) ) (br $while-in110) ) - (local.get $6) + (local.get $5) ) ) - (local.get $5) + (local.get $4) ) (i32.const 9) ) @@ -5826,11 +5765,11 @@ ) ) (block $do-once99 - (local.set $9 + (local.set $8 (select - (local.get $9) + (local.get $8) (i32.add - (local.get $12) + (local.get $11) (i32.const 4) ) (local.get $24) @@ -5842,28 +5781,28 @@ (i32.add (if (result i32) (i32.gt_s - (local.get $5) + (local.get $4) (i32.const -1) ) (block (result i32) - (local.set $18 + (local.set $17 (i32.eqz (local.get $21) ) ) - (local.set $6 - (local.get $12) + (local.set $5 + (local.get $11) ) - (local.set $7 - (local.get $5) + (local.set $6 + (local.get $4) ) (loop $while-in114 (result i32) (if (i32.eq - (local.tee $5 + (local.tee $4 (call $_fmt_u (i32.load - (local.get $6) + (local.get $5) ) (i32.const 0) (local.get $29) @@ -5876,7 +5815,7 @@ (local.get $33) (i32.const 48) ) - (local.set $5 + (local.set $4 (local.get $33) ) ) @@ -5884,8 +5823,8 @@ (block $do-once115 (if (i32.eq - (local.get $6) - (local.get $12) + (local.get $5) + (local.get $11) ) (block (if @@ -5897,17 +5836,15 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $5) - (i32.const 1) - (local.get $0) - ) + (call $___fwritex + (local.get $4) + (i32.const 1) + (local.get $0) ) ) - (local.set $5 + (local.set $4 (i32.add - (local.get $5) + (local.get $4) (i32.const 1) ) ) @@ -5921,33 +5858,31 @@ ) (i32.and (i32.lt_s - (local.get $7) + (local.get $6) (i32.const 1) ) - (local.get $18) + (local.get $17) ) ) ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) - (local.get $0) - ) + (call $___fwritex + (i32.const 4143) + (i32.const 1) + (local.get $0) ) ) (block (br_if $do-once115 (i32.le_u - (local.get $5) + (local.get $4) (local.get $23) ) ) (loop $while-in118 (i32.store8 - (local.tee $5 + (local.tee $4 (i32.add - (local.get $5) + (local.get $4) (i32.const -1) ) ) @@ -5955,7 +5890,7 @@ ) (br_if $while-in118 (i32.gt_u - (local.get $5) + (local.get $4) (local.get $23) ) ) @@ -5963,10 +5898,10 @@ ) ) ) - (local.set $8 + (local.set $7 (i32.sub (local.get $42) - (local.get $5) + (local.get $4) ) ) (if @@ -5978,47 +5913,45 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $5) - (select - (local.get $8) + (call $___fwritex + (local.get $4) + (select + (local.get $7) + (local.get $6) + (i32.gt_s + (local.get $6) (local.get $7) - (i32.gt_s - (local.get $7) - (local.get $8) - ) ) - (local.get $0) ) + (local.get $0) ) ) (br_if $while-in114 (i32.and (i32.lt_u - (local.tee $6 + (local.tee $5 (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) ) - (local.get $9) + (local.get $8) ) (i32.gt_s - (local.tee $7 + (local.tee $6 (i32.sub + (local.get $6) (local.get $7) - (local.get $8) ) ) (i32.const -1) ) ) ) - (local.get $7) + (local.get $6) ) ) - (local.get $5) + (local.get $4) ) (i32.const 18) ) @@ -6033,34 +5966,32 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $19) - (i32.sub - (local.get $27) - (local.get $19) - ) - (local.get $0) + (call $___fwritex + (local.get $18) + (i32.sub + (local.get $27) + (local.get $18) ) + (local.get $0) ) ) ) (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.get $13) + (local.get $14) + (local.get $12) (i32.xor - (local.get $11) + (local.get $10) (i32.const 8192) ) ) (select - (local.get $15) - (local.get $13) + (local.get $14) + (local.get $12) (i32.lt_s - (local.get $13) - (local.get $15) + (local.get $12) + (local.get $14) ) ) ) @@ -6068,17 +5999,17 @@ (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.tee $7 + (local.get $14) + (local.tee $6 (i32.add - (local.tee $9 + (local.tee $8 (select (i32.const 0) (local.get $26) - (local.tee $6 + (local.tee $5 (f64.ne - (local.get $16) - (local.get $16) + (local.get $15) + (local.get $15) ) ) ) @@ -6086,17 +6017,17 @@ (i32.const 3) ) ) - (local.get $8) + (local.get $7) ) - (local.set $6 + (local.set $5 (select (select (i32.const 4135) (i32.const 4139) - (local.tee $8 + (local.tee $7 (i32.ne (i32.and - (local.get $19) + (local.get $18) (i32.const 32) ) (i32.const 0) @@ -6106,9 +6037,9 @@ (select (i32.const 4127) (i32.const 4131) - (local.get $8) + (local.get $7) ) - (local.get $6) + (local.get $5) ) ) (if @@ -6116,21 +6047,19 @@ (i32.and (if (result i32) (i32.and - (local.tee $5 + (local.tee $4 (i32.load (local.get $0) ) ) (i32.const 32) ) - (local.get $5) + (local.get $4) (block (result i32) - (drop - (call $___fwritex - (local.get $30) - (local.get $9) - (local.get $0) - ) + (call $___fwritex + (local.get $30) + (local.get $8) + (local.get $0) ) (i32.load (local.get $0) @@ -6140,149 +6069,147 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $6) - (i32.const 3) - (local.get $0) - ) + (call $___fwritex + (local.get $5) + (i32.const 3) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.xor - (local.get $11) + (local.get $10) (i32.const 8192) ) ) (select - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.lt_s - (local.get $7) - (local.get $15) + (local.get $6) + (local.get $14) ) ) ) ) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) - (local.set $12 - (local.get $6) + (local.set $11 + (local.get $5) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjto$8 (local.get $25) ) ) - (local.set $9 + (local.set $8 (i32.and - (local.get $19) + (local.get $18) (i32.const 32) ) ) - (if - (i32.or - (local.tee $7 - (i32.load - (local.get $14) + (local.set $7 + (if (result i32) + (i32.or + (local.tee $6 + (i32.load + (local.get $13) + ) ) - ) - (local.tee $11 - (i32.load offset=4 - (local.get $14) + (local.tee $10 + (i32.load offset=4 + (local.get $13) + ) ) ) - ) - (block - (local.set $8 - (local.get $25) - ) - (local.set $7 - (loop $while-in123 (result i32) - (i32.store8 - (local.tee $8 - (i32.add - (local.get $8) - (i32.const -1) - ) - ) - (i32.or - (local.get $9) - (i32.load8_u + (block (result i32) + (local.set $7 + (local.get $25) + ) + (local.set $6 + (loop $while-in123 (result i32) + (i32.store8 + (local.tee $7 (i32.add - (i32.and - (local.get $7) - (i32.const 15) + (local.get $7) + (i32.const -1) + ) + ) + (i32.or + (local.get $8) + (i32.load8_u + (i32.add + (i32.and + (local.get $6) + (i32.const 15) + ) + (i32.const 4075) ) - (i32.const 4075) ) ) ) - ) - (br_if $while-in123 - (i32.or - (local.tee $7 - (call $_bitshift64Lshr - (local.get $7) - (local.get $11) - (i32.const 4) + (br_if $while-in123 + (i32.or + (local.tee $6 + (call $_bitshift64Lshr + (local.get $6) + (local.get $10) + (i32.const 4) + ) + ) + (local.tee $10 + (global.get $tempRet0) ) - ) - (local.tee $11 - (global.get $tempRet0) ) ) + (local.get $7) ) - (local.get $8) ) - ) - (local.set $8 (if (result i32) (i32.or (i32.eqz (i32.or (i32.load - (local.get $14) + (local.get $13) ) (i32.load offset=4 - (local.get $14) + (local.get $13) ) ) ) (i32.eqz (i32.and - (local.get $5) + (local.get $4) (i32.const 8) ) ) ) (block (result i32) - (local.set $9 + (local.set $8 (i32.const 4091) ) (i32.const 0) ) (block (result i32) - (local.set $9 + (local.set $8 (i32.add (i32.shr_s - (local.get $19) + (local.get $18) (i32.const 4) ) (i32.const 4091) @@ -6292,93 +6219,91 @@ ) ) ) - ) - (block - (local.set $7 - (local.get $25) - ) - (local.set $8 + (block (result i32) + (local.set $6 + (local.get $25) + ) + (local.set $8 + (i32.const 4091) + ) (i32.const 0) ) - (local.set $9 - (i32.const 4091) - ) ) ) (br $__rjti$8) ) - (local.set $7 + (local.set $6 (call $_fmt_u - (local.get $5) - (local.get $7) + (local.get $4) + (local.get $6) (local.get $25) ) ) - (local.set $5 - (local.get $11) + (local.set $4 + (local.get $10) ) (br $__rjti$8) ) - (local.set $19 + (local.set $18 (i32.eqz - (local.tee $13 + (local.tee $12 (call $_memchr - (local.get $7) (local.get $6) + (local.get $5) ) ) ) ) - (local.set $11 - (local.get $8) + (local.set $10 + (local.get $7) ) - (local.set $12 + (local.set $11 (select - (local.get $6) + (local.get $5) (i32.sub - (local.get $13) - (local.tee $5 - (local.get $7) + (local.get $12) + (local.tee $4 + (local.get $6) ) ) - (local.get $19) + (local.get $18) ) ) - (local.set $8 + (local.set $7 (i32.const 0) ) - (local.set $9 + (local.set $8 (i32.const 4091) ) (br $__rjto$8 (select (i32.add + (local.get $4) (local.get $5) - (local.get $6) ) - (local.get $13) - (local.get $19) + (local.get $12) + (local.get $18) ) ) ) - (local.set $5 + (local.set $4 (i32.const 0) ) - (local.set $7 + (local.set $6 (i32.const 0) ) - (local.set $6 + (local.set $5 (i32.load - (local.get $14) + (local.get $13) ) ) (loop $while-in125 (block $while-out124 (br_if $while-out124 (i32.eqz - (local.tee $9 + (local.tee $8 (i32.load - (local.get $6) + (local.get $5) ) ) ) @@ -6386,36 +6311,36 @@ (br_if $while-out124 (i32.or (i32.lt_s - (local.tee $7 + (local.tee $6 (call $_wctomb (local.get $35) - (local.get $9) + (local.get $8) ) ) (i32.const 0) ) (i32.gt_u - (local.get $7) + (local.get $6) (i32.sub - (local.get $8) - (local.get $5) + (local.get $7) + (local.get $4) ) ) ) ) - (local.set $6 + (local.set $5 (i32.add - (local.get $6) + (local.get $5) (i32.const 4) ) ) (br_if $while-in125 (i32.gt_u - (local.get $8) - (local.tee $5 + (local.get $7) + (local.tee $4 (i32.add - (local.get $5) - (local.get $7) + (local.get $4) + (local.get $6) ) ) ) @@ -6424,11 +6349,11 @@ ) (if (i32.lt_s - (local.get $7) + (local.get $6) (i32.const 0) ) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L1) @@ -6437,29 +6362,29 @@ (call $_pad (local.get $0) (i32.const 32) - (local.get $15) - (local.get $5) - (local.get $11) + (local.get $14) + (local.get $4) + (local.get $10) ) (if (result i32) - (local.get $5) + (local.get $4) (block (result i32) - (local.set $6 + (local.set $5 (i32.const 0) ) - (local.set $7 + (local.set $6 (i32.load - (local.get $14) + (local.get $13) ) ) (loop $while-in127 (result i32) (drop (br_if $__rjti$7 - (local.get $5) + (local.get $4) (i32.eqz - (local.tee $8 + (local.tee $7 (i32.load - (local.get $7) + (local.get $6) ) ) ) @@ -6467,20 +6392,20 @@ ) (drop (br_if $__rjti$7 - (local.get $5) + (local.get $4) (i32.gt_s - (local.tee $6 + (local.tee $5 (i32.add - (local.tee $8 + (local.tee $7 (call $_wctomb (local.get $35) - (local.get $8) + (local.get $7) ) ) - (local.get $6) + (local.get $5) ) ) - (local.get $5) + (local.get $4) ) ) ) @@ -6493,27 +6418,25 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $35) - (local.get $8) - (local.get $0) - ) + (call $___fwritex + (local.get $35) + (local.get $7) + (local.get $0) ) ) - (local.set $7 + (local.set $6 (i32.add - (local.get $7) + (local.get $6) (i32.const 4) ) ) (br_if $while-in127 (i32.lt_u - (local.get $6) (local.get $5) + (local.get $4) ) ) - (local.get $5) + (local.get $4) ) ) (i32.const 0) @@ -6521,52 +6444,52 @@ ) ) (i32.xor - (local.get $11) + (local.get $10) (i32.const 8192) ) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 + (local.set $9 (select - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) (i32.gt_s - (local.get $15) - (local.get $7) + (local.get $14) + (local.get $6) ) ) ) (br $label$continue$L1) ) - (local.set $11 + (local.set $10 (select (i32.and - (local.get $5) + (local.get $4) (i32.const -65537) ) - (local.get $5) + (local.get $4) (i32.gt_s - (local.get $6) + (local.get $5) (i32.const -1) ) ) ) (if (result i32) (i32.or - (local.get $6) - (local.tee $5 + (local.get $5) + (local.tee $4 (i32.or (i32.ne (i32.load - (local.get $14) + (local.get $13) ) (i32.const 0) ) (i32.ne (i32.load offset=4 - (local.get $14) + (local.get $13) ) (i32.const 0) ) @@ -6574,66 +6497,66 @@ ) ) (block (result i32) - (local.set $12 + (local.set $11 (select - (local.get $6) - (local.tee $7 + (local.get $5) + (local.tee $6 (i32.add (i32.xor (i32.and - (local.get $5) + (local.get $4) (i32.const 1) ) (i32.const 1) ) (i32.sub (local.get $38) - (local.tee $5 - (local.get $7) + (local.tee $4 + (local.get $6) ) ) ) ) (i32.gt_s + (local.get $5) (local.get $6) - (local.get $7) ) ) ) (local.get $25) ) (block (result i32) - (local.set $12 + (local.set $11 (i32.const 0) ) - (local.tee $5 + (local.tee $4 (local.get $25) ) ) ) ) - (local.get $5) + (local.get $4) ) ) - (local.get $12) + (local.get $11) (i32.lt_s + (local.get $11) (local.get $12) - (local.get $13) ) ) ) - (local.get $8) + (local.get $7) ) ) - (local.get $15) + (local.get $14) (i32.lt_s - (local.get $15) - (local.get $6) + (local.get $14) + (local.get $5) ) ) ) - (local.get $6) - (local.get $11) + (local.get $5) + (local.get $10) ) (if (i32.eqz @@ -6644,29 +6567,27 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $9) - (local.get $8) - (local.get $0) - ) + (call $___fwritex + (local.get $8) + (local.get $7) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 48) - (local.get $7) (local.get $6) + (local.get $5) (i32.xor - (local.get $11) + (local.get $10) (i32.const 65536) ) ) (call $_pad (local.get $0) (i32.const 48) + (local.get $11) (local.get $12) - (local.get $13) (i32.const 0) ) (if @@ -6678,29 +6599,27 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $5) - (local.get $13) - (local.get $0) - ) + (call $___fwritex + (local.get $4) + (local.get $12) + (local.get $0) ) ) (call $_pad (local.get $0) (i32.const 32) - (local.get $7) (local.get $6) + (local.get $5) (i32.xor - (local.get $11) + (local.get $10) (i32.const 8192) ) ) - (local.set $5 - (local.get $10) + (local.set $4 + (local.get $9) ) - (local.set $10 - (local.get $7) + (local.set $9 + (local.get $6) ) (br $label$continue$L1) ) @@ -6711,23 +6630,23 @@ (i32.eqz (local.get $0) ) - (local.set $17 + (local.set $16 (if (result i32) - (local.get $1) + (local.get $19) (block (result i32) (local.set $0 (i32.const 1) ) (loop $while-in130 (if - (local.tee $1 + (local.tee $19 (i32.load (i32.add (i32.shl (local.get $0) (i32.const 2) ) - (local.get $4) + (local.get $3) ) ) ) @@ -6738,10 +6657,10 @@ (local.get $0) (i32.const 3) ) - (local.get $3) + (local.get $2) ) + (local.get $19) (local.get $1) - (local.get $2) ) (br_if $while-in130 (i32.lt_s @@ -6754,7 +6673,7 @@ (i32.const 10) ) ) - (local.set $17 + (local.set $16 (i32.const 1) ) (br $label$break$L343) @@ -6774,11 +6693,11 @@ (local.get $0) (i32.const 2) ) - (local.get $4) + (local.get $3) ) ) (block - (local.set $17 + (local.set $16 (i32.const -1) ) (br $label$break$L343) @@ -6808,7 +6727,7 @@ (global.set $STACKTOP (local.get $34) ) - (local.get $17) + (local.get $16) ) (func $_pop_arg_336 (; 45 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -7404,12 +7323,10 @@ (if (local.get $4) (block - (drop - (call $___fwritex - (local.get $6) - (i32.const 256) - (local.get $0) - ) + (call $___fwritex + (local.get $6) + (i32.const 256) + (local.get $0) ) (local.set $1 (i32.load @@ -7459,12 +7376,10 @@ ) ) ) - (drop - (call $___fwritex - (local.get $6) - (local.get $5) - (local.get $0) - ) + (call $___fwritex + (local.get $6) + (local.get $5) + (local.get $0) ) ) ) diff --git a/test/memorygrowth.fromasm b/test/memorygrowth.fromasm index 0bc8c30ca..6a67b7fc0 100644 --- a/test/memorygrowth.fromasm +++ b/test/memorygrowth.fromasm @@ -8044,52 +8044,52 @@ ) (local.get $15) ) - (func $Wa (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $Wa (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (if - (local.tee $4 - (i32.load - (local.tee $3 - (i32.add - (local.get $2) - (i32.const 16) + (local.set $6 + (i32.const 1144) + ) + (local.set $5 + (if (result i32) + (local.tee $3 + (i32.load + (local.tee $2 + (i32.add + (local.get $1) + (i32.const 16) + ) ) ) ) - ) - (block - (local.set $5 - (local.get $4) - ) - (local.set $7 - (i32.const 5) + (block (result i32) + (local.set $4 + (i32.const 5) + ) + (local.get $3) ) - ) - (if - (i32.eqz + (if (result i32) (call $Xa - (local.get $2) + (local.get $1) ) - ) - (block - (local.set $5 + (local.get $5) + (block (result i32) + (local.set $4 + (i32.const 5) + ) (i32.load - (local.get $3) + (local.get $2) ) ) - (local.set $7 - (i32.const 5) - ) ) ) ) (if (result i32) (i32.eq - (local.get $7) + (local.get $4) (i32.const 5) ) (block $label$break$a (result i32) @@ -8097,28 +8097,28 @@ (i32.lt_u (i32.sub (local.get $5) - (local.tee $3 + (local.tee $2 (i32.load - (local.tee $4 + (local.tee $3 (i32.add - (local.get $2) + (local.get $1) (i32.const 20) ) ) ) ) ) - (local.get $1) + (local.get $0) ) (br $label$break$a (call_indirect (type $FUNCSIG$iiii) - (local.get $2) - (local.get $0) (local.get $1) + (i32.const 1144) + (local.get $0) (i32.add (i32.and (i32.load offset=36 - (local.get $2) + (local.get $1) ) (i32.const 3) ) @@ -8127,27 +8127,27 @@ ) ) ) - (local.set $6 - (local.get $3) + (local.set $4 + (local.get $2) ) (if (i32.gt_s (i32.load8_s offset=75 - (local.get $2) + (local.get $1) ) (i32.const -1) ) (block $label$break$b - (local.set $3 - (local.get $1) + (local.set $2 + (local.get $0) ) (loop $while-in (if (i32.eqz - (local.get $3) + (local.get $2) ) (block - (local.set $3 + (local.set $2 (i32.const 0) ) (br $label$break$b) @@ -8157,19 +8157,19 @@ (i32.ne (i32.load8_s (i32.add - (local.get $0) (local.tee $5 (i32.add - (local.get $3) + (local.get $2) (i32.const -1) ) ) + (i32.const 1144) ) ) (i32.const 10) ) (block - (local.set $3 + (local.set $2 (local.get $5) ) (br $while-in) @@ -8178,131 +8178,87 @@ ) (drop (br_if $label$break$a - (local.get $3) + (local.get $2) (i32.lt_u (call_indirect (type $FUNCSIG$iiii) + (local.get $1) + (i32.const 1144) (local.get $2) - (local.get $0) - (local.get $3) (i32.add (i32.and (i32.load offset=36 - (local.get $2) + (local.get $1) ) (i32.const 3) ) (i32.const 2) ) ) - (local.get $3) + (local.get $2) ) ) ) - (local.set $1 + (local.set $0 (i32.sub - (local.get $1) - (local.get $3) + (local.get $0) + (local.get $2) ) ) - (local.set $0 + (local.set $6 (i32.add - (local.get $0) - (local.get $3) + (local.get $2) + (i32.const 1144) ) ) - (local.set $6 + (local.set $4 (i32.load - (local.get $4) + (local.get $3) ) ) ) - (local.set $3 + (local.set $2 (i32.const 0) ) ) (drop (call $jb + (local.get $4) (local.get $6) (local.get $0) - (local.get $1) ) ) (i32.store - (local.get $4) + (local.get $3) (i32.add - (local.get $1) + (local.get $0) (i32.load - (local.get $4) + (local.get $3) ) ) ) (i32.add - (local.get $1) - (local.get $3) + (local.get $0) + (local.get $2) ) ) - (local.get $6) + (i32.const 0) ) ) - (func $Za (; 17 ;) (; has Stack IR ;) (param $0 i32) (result i32) + (func $Za (; 17 ;) (; has Stack IR ;) (result i32) + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (if - (i32.and - (local.tee $3 - (local.get $0) - ) - (i32.const 3) - ) - (block $label$break$a - (local.set $4 - (local.get $3) - ) - (local.set $1 - (loop $while-in (result i32) - (if - (i32.eqz - (i32.load8_s - (local.get $0) - ) - ) - (block - (local.set $5 - (local.get $4) - ) - (br $label$break$a) - ) - ) - (br_if $while-in - (i32.and - (local.tee $4 - (local.tee $0 - (i32.add - (local.get $0) - (i32.const 1) - ) - ) - ) - (i32.const 3) - ) - ) - (local.set $2 - (i32.const 4) - ) - (local.get $0) - ) - ) + (local.set $0 + (i32.const 1144) + ) + (block + (local.set $1 + (i32.const 1144) ) - (block - (local.set $1 - (local.get $0) - ) - (local.set $2 - (i32.const 4) - ) + (local.set $2 + (i32.const 4) ) ) (i32.sub @@ -8379,9 +8335,9 @@ ) (local.get $0) ) - (local.get $5) + (local.get $4) ) - (local.get $3) + (i32.const 1144) ) ) (func $_a (; 18 ;) (; has Stack IR ;) (param $0 i32) (result i32) @@ -9040,7 +8996,7 @@ (local.get $2) ) ) - (func $db (; 24 ;) (; has Stack IR ;) (result i32) + (func $db (; 24 ;) (; has Stack IR ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9053,76 +9009,66 @@ ) ) ) - (i32.shr_s - (i32.shl - (if (result i32) - (i32.lt_s - (i32.add - (call $bb - (i32.const 1144) - (call $Za - (i32.const 1144) - ) + (drop + (if (result i32) + (i32.lt_s + (i32.add + (call $bb + (call $Za) + (local.get $0) + ) + (i32.const -1) + ) + (i32.const 0) + ) + (i32.const 1) + (block $do-once (result i32) + (if + (i32.ne + (i32.load8_s offset=75 (local.get $0) ) - (i32.const -1) + (i32.const 10) ) - (i32.const 0) - ) - (i32.const 1) - (block $do-once (result i32) (if - (i32.ne - (i32.load8_s offset=75 - (local.get $0) - ) - (i32.const 10) - ) - (if - (i32.lt_u - (local.tee $1 - (i32.load - (local.tee $2 - (i32.add - (local.get $0) - (i32.const 20) - ) + (i32.lt_u + (local.tee $1 + (i32.load + (local.tee $2 + (i32.add + (local.get $0) + (i32.const 20) ) ) ) - (i32.load offset=16 - (local.get $0) - ) ) - (block - (i32.store - (local.get $2) - (i32.add - (local.get $1) - (i32.const 1) - ) - ) - (i32.store8 + (i32.load offset=16 + (local.get $0) + ) + ) + (block + (i32.store + (local.get $2) + (i32.add (local.get $1) - (i32.const 10) - ) - (br $do-once - (i32.const 0) + (i32.const 1) ) ) + (i32.store8 + (local.get $1) + (i32.const 10) + ) + (br $do-once + (i32.const 0) + ) ) ) - (i32.lt_s - (call $ab - (local.get $0) - ) - (i32.const 0) - ) + ) + (call $ab + (local.get $0) ) ) - (i32.const 31) ) - (i32.const 31) ) ) (func $Xa (; 25 ;) (; has Stack IR ;) (param $0 i32) (result i32) @@ -9201,34 +9147,33 @@ ) ) ) - (func $bb (; 26 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local.set $3 - (local.get $1) + (func $bb (; 26 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local.set $2 + (local.get $0) ) (if (result i32) (block (result i32) (drop (i32.load offset=76 - (local.get $2) + (local.get $1) ) ) (i32.ne - (local.get $3) - (local.tee $0 + (local.get $2) + (local.tee $1 (call $Wa - (local.get $0) - (local.get $3) (local.get $2) + (local.get $1) ) ) ) ) (if (result i32) - (local.get $1) + (local.get $0) (i32.div_u - (local.get $0) (local.get $1) + (local.get $0) ) (i32.const 0) ) @@ -9534,9 +9479,7 @@ (i32.const 0) ) (func $Na (; 41 ;) (; has Stack IR ;) (result i32) - (drop - (call $db) - ) + (call $db) (i32.const 0) ) (func $pb (; 42 ;) (; has Stack IR ;) (param $0 i32) diff --git a/test/memorygrowth.fromasm.clamp b/test/memorygrowth.fromasm.clamp index 0bc8c30ca..6a67b7fc0 100644 --- a/test/memorygrowth.fromasm.clamp +++ b/test/memorygrowth.fromasm.clamp @@ -8044,52 +8044,52 @@ ) (local.get $15) ) - (func $Wa (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $Wa (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (if - (local.tee $4 - (i32.load - (local.tee $3 - (i32.add - (local.get $2) - (i32.const 16) + (local.set $6 + (i32.const 1144) + ) + (local.set $5 + (if (result i32) + (local.tee $3 + (i32.load + (local.tee $2 + (i32.add + (local.get $1) + (i32.const 16) + ) ) ) ) - ) - (block - (local.set $5 - (local.get $4) - ) - (local.set $7 - (i32.const 5) + (block (result i32) + (local.set $4 + (i32.const 5) + ) + (local.get $3) ) - ) - (if - (i32.eqz + (if (result i32) (call $Xa - (local.get $2) + (local.get $1) ) - ) - (block - (local.set $5 + (local.get $5) + (block (result i32) + (local.set $4 + (i32.const 5) + ) (i32.load - (local.get $3) + (local.get $2) ) ) - (local.set $7 - (i32.const 5) - ) ) ) ) (if (result i32) (i32.eq - (local.get $7) + (local.get $4) (i32.const 5) ) (block $label$break$a (result i32) @@ -8097,28 +8097,28 @@ (i32.lt_u (i32.sub (local.get $5) - (local.tee $3 + (local.tee $2 (i32.load - (local.tee $4 + (local.tee $3 (i32.add - (local.get $2) + (local.get $1) (i32.const 20) ) ) ) ) ) - (local.get $1) + (local.get $0) ) (br $label$break$a (call_indirect (type $FUNCSIG$iiii) - (local.get $2) - (local.get $0) (local.get $1) + (i32.const 1144) + (local.get $0) (i32.add (i32.and (i32.load offset=36 - (local.get $2) + (local.get $1) ) (i32.const 3) ) @@ -8127,27 +8127,27 @@ ) ) ) - (local.set $6 - (local.get $3) + (local.set $4 + (local.get $2) ) (if (i32.gt_s (i32.load8_s offset=75 - (local.get $2) + (local.get $1) ) (i32.const -1) ) (block $label$break$b - (local.set $3 - (local.get $1) + (local.set $2 + (local.get $0) ) (loop $while-in (if (i32.eqz - (local.get $3) + (local.get $2) ) (block - (local.set $3 + (local.set $2 (i32.const 0) ) (br $label$break$b) @@ -8157,19 +8157,19 @@ (i32.ne (i32.load8_s (i32.add - (local.get $0) (local.tee $5 (i32.add - (local.get $3) + (local.get $2) (i32.const -1) ) ) + (i32.const 1144) ) ) (i32.const 10) ) (block - (local.set $3 + (local.set $2 (local.get $5) ) (br $while-in) @@ -8178,131 +8178,87 @@ ) (drop (br_if $label$break$a - (local.get $3) + (local.get $2) (i32.lt_u (call_indirect (type $FUNCSIG$iiii) + (local.get $1) + (i32.const 1144) (local.get $2) - (local.get $0) - (local.get $3) (i32.add (i32.and (i32.load offset=36 - (local.get $2) + (local.get $1) ) (i32.const 3) ) (i32.const 2) ) ) - (local.get $3) + (local.get $2) ) ) ) - (local.set $1 + (local.set $0 (i32.sub - (local.get $1) - (local.get $3) + (local.get $0) + (local.get $2) ) ) - (local.set $0 + (local.set $6 (i32.add - (local.get $0) - (local.get $3) + (local.get $2) + (i32.const 1144) ) ) - (local.set $6 + (local.set $4 (i32.load - (local.get $4) + (local.get $3) ) ) ) - (local.set $3 + (local.set $2 (i32.const 0) ) ) (drop (call $jb + (local.get $4) (local.get $6) (local.get $0) - (local.get $1) ) ) (i32.store - (local.get $4) + (local.get $3) (i32.add - (local.get $1) + (local.get $0) (i32.load - (local.get $4) + (local.get $3) ) ) ) (i32.add - (local.get $1) - (local.get $3) + (local.get $0) + (local.get $2) ) ) - (local.get $6) + (i32.const 0) ) ) - (func $Za (; 17 ;) (; has Stack IR ;) (param $0 i32) (result i32) + (func $Za (; 17 ;) (; has Stack IR ;) (result i32) + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (if - (i32.and - (local.tee $3 - (local.get $0) - ) - (i32.const 3) - ) - (block $label$break$a - (local.set $4 - (local.get $3) - ) - (local.set $1 - (loop $while-in (result i32) - (if - (i32.eqz - (i32.load8_s - (local.get $0) - ) - ) - (block - (local.set $5 - (local.get $4) - ) - (br $label$break$a) - ) - ) - (br_if $while-in - (i32.and - (local.tee $4 - (local.tee $0 - (i32.add - (local.get $0) - (i32.const 1) - ) - ) - ) - (i32.const 3) - ) - ) - (local.set $2 - (i32.const 4) - ) - (local.get $0) - ) - ) + (local.set $0 + (i32.const 1144) + ) + (block + (local.set $1 + (i32.const 1144) ) - (block - (local.set $1 - (local.get $0) - ) - (local.set $2 - (i32.const 4) - ) + (local.set $2 + (i32.const 4) ) ) (i32.sub @@ -8379,9 +8335,9 @@ ) (local.get $0) ) - (local.get $5) + (local.get $4) ) - (local.get $3) + (i32.const 1144) ) ) (func $_a (; 18 ;) (; has Stack IR ;) (param $0 i32) (result i32) @@ -9040,7 +8996,7 @@ (local.get $2) ) ) - (func $db (; 24 ;) (; has Stack IR ;) (result i32) + (func $db (; 24 ;) (; has Stack IR ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9053,76 +9009,66 @@ ) ) ) - (i32.shr_s - (i32.shl - (if (result i32) - (i32.lt_s - (i32.add - (call $bb - (i32.const 1144) - (call $Za - (i32.const 1144) - ) + (drop + (if (result i32) + (i32.lt_s + (i32.add + (call $bb + (call $Za) + (local.get $0) + ) + (i32.const -1) + ) + (i32.const 0) + ) + (i32.const 1) + (block $do-once (result i32) + (if + (i32.ne + (i32.load8_s offset=75 (local.get $0) ) - (i32.const -1) + (i32.const 10) ) - (i32.const 0) - ) - (i32.const 1) - (block $do-once (result i32) (if - (i32.ne - (i32.load8_s offset=75 - (local.get $0) - ) - (i32.const 10) - ) - (if - (i32.lt_u - (local.tee $1 - (i32.load - (local.tee $2 - (i32.add - (local.get $0) - (i32.const 20) - ) + (i32.lt_u + (local.tee $1 + (i32.load + (local.tee $2 + (i32.add + (local.get $0) + (i32.const 20) ) ) ) - (i32.load offset=16 - (local.get $0) - ) ) - (block - (i32.store - (local.get $2) - (i32.add - (local.get $1) - (i32.const 1) - ) - ) - (i32.store8 + (i32.load offset=16 + (local.get $0) + ) + ) + (block + (i32.store + (local.get $2) + (i32.add (local.get $1) - (i32.const 10) - ) - (br $do-once - (i32.const 0) + (i32.const 1) ) ) + (i32.store8 + (local.get $1) + (i32.const 10) + ) + (br $do-once + (i32.const 0) + ) ) ) - (i32.lt_s - (call $ab - (local.get $0) - ) - (i32.const 0) - ) + ) + (call $ab + (local.get $0) ) ) - (i32.const 31) ) - (i32.const 31) ) ) (func $Xa (; 25 ;) (; has Stack IR ;) (param $0 i32) (result i32) @@ -9201,34 +9147,33 @@ ) ) ) - (func $bb (; 26 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local.set $3 - (local.get $1) + (func $bb (; 26 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local.set $2 + (local.get $0) ) (if (result i32) (block (result i32) (drop (i32.load offset=76 - (local.get $2) + (local.get $1) ) ) (i32.ne - (local.get $3) - (local.tee $0 + (local.get $2) + (local.tee $1 (call $Wa - (local.get $0) - (local.get $3) (local.get $2) + (local.get $1) ) ) ) ) (if (result i32) - (local.get $1) + (local.get $0) (i32.div_u - (local.get $0) (local.get $1) + (local.get $0) ) (i32.const 0) ) @@ -9534,9 +9479,7 @@ (i32.const 0) ) (func $Na (; 41 ;) (; has Stack IR ;) (result i32) - (drop - (call $db) - ) + (call $db) (i32.const 0) ) (func $pb (; 42 ;) (; has Stack IR ;) (param $0 i32) diff --git a/test/memorygrowth.fromasm.imprecise b/test/memorygrowth.fromasm.imprecise index 9816d91e7..075614f71 100644 --- a/test/memorygrowth.fromasm.imprecise +++ b/test/memorygrowth.fromasm.imprecise @@ -8039,52 +8039,52 @@ ) ) ) - (func $Wa (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $Wa (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (if - (local.tee $4 - (i32.load - (local.tee $3 - (i32.add - (local.get $2) - (i32.const 16) + (local.set $6 + (i32.const 1144) + ) + (local.set $5 + (if (result i32) + (local.tee $3 + (i32.load + (local.tee $2 + (i32.add + (local.get $1) + (i32.const 16) + ) ) ) ) - ) - (block - (local.set $5 - (local.get $4) - ) - (local.set $7 - (i32.const 5) + (block (result i32) + (local.set $4 + (i32.const 5) + ) + (local.get $3) ) - ) - (if - (i32.eqz + (if (result i32) (call $Xa - (local.get $2) + (local.get $1) ) - ) - (block - (local.set $5 + (local.get $5) + (block (result i32) + (local.set $4 + (i32.const 5) + ) (i32.load - (local.get $3) + (local.get $2) ) ) - (local.set $7 - (i32.const 5) - ) ) ) ) (if (result i32) (i32.eq - (local.get $7) + (local.get $4) (i32.const 5) ) (block $label$break$a (result i32) @@ -8092,28 +8092,28 @@ (i32.lt_u (i32.sub (local.get $5) - (local.tee $3 + (local.tee $2 (i32.load - (local.tee $4 + (local.tee $3 (i32.add - (local.get $2) + (local.get $1) (i32.const 20) ) ) ) ) ) - (local.get $1) + (local.get $0) ) (br $label$break$a (call_indirect (type $FUNCSIG$iiii) - (local.get $2) - (local.get $0) (local.get $1) + (i32.const 1144) + (local.get $0) (i32.add (i32.and (i32.load offset=36 - (local.get $2) + (local.get $1) ) (i32.const 3) ) @@ -8122,27 +8122,27 @@ ) ) ) - (local.set $6 - (local.get $3) + (local.set $4 + (local.get $2) ) (if (i32.gt_s (i32.load8_s offset=75 - (local.get $2) + (local.get $1) ) (i32.const -1) ) (block $label$break$b - (local.set $3 - (local.get $1) + (local.set $2 + (local.get $0) ) (loop $while-in (if (i32.eqz - (local.get $3) + (local.get $2) ) (block - (local.set $3 + (local.set $2 (i32.const 0) ) (br $label$break$b) @@ -8152,19 +8152,19 @@ (i32.ne (i32.load8_s (i32.add - (local.get $0) (local.tee $5 (i32.add - (local.get $3) + (local.get $2) (i32.const -1) ) ) + (i32.const 1144) ) ) (i32.const 10) ) (block - (local.set $3 + (local.set $2 (local.get $5) ) (br $while-in) @@ -8173,131 +8173,87 @@ ) (drop (br_if $label$break$a - (local.get $3) + (local.get $2) (i32.lt_u (call_indirect (type $FUNCSIG$iiii) + (local.get $1) + (i32.const 1144) (local.get $2) - (local.get $0) - (local.get $3) (i32.add (i32.and (i32.load offset=36 - (local.get $2) + (local.get $1) ) (i32.const 3) ) (i32.const 2) ) ) - (local.get $3) + (local.get $2) ) ) ) - (local.set $1 + (local.set $0 (i32.sub - (local.get $1) - (local.get $3) + (local.get $0) + (local.get $2) ) ) - (local.set $0 + (local.set $6 (i32.add - (local.get $0) - (local.get $3) + (local.get $2) + (i32.const 1144) ) ) - (local.set $6 + (local.set $4 (i32.load - (local.get $4) + (local.get $3) ) ) ) - (local.set $3 + (local.set $2 (i32.const 0) ) ) (drop (call $jb + (local.get $4) (local.get $6) (local.get $0) - (local.get $1) ) ) (i32.store - (local.get $4) + (local.get $3) (i32.add - (local.get $1) + (local.get $0) (i32.load - (local.get $4) + (local.get $3) ) ) ) (i32.add - (local.get $1) - (local.get $3) + (local.get $0) + (local.get $2) ) ) - (local.get $6) + (i32.const 0) ) ) - (func $Za (; 17 ;) (; has Stack IR ;) (param $0 i32) (result i32) + (func $Za (; 17 ;) (; has Stack IR ;) (result i32) + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (if - (i32.and - (local.tee $3 - (local.get $0) - ) - (i32.const 3) - ) - (block $label$break$a - (local.set $4 - (local.get $3) - ) - (local.set $1 - (loop $while-in (result i32) - (if - (i32.eqz - (i32.load8_s - (local.get $0) - ) - ) - (block - (local.set $5 - (local.get $4) - ) - (br $label$break$a) - ) - ) - (br_if $while-in - (i32.and - (local.tee $4 - (local.tee $0 - (i32.add - (local.get $0) - (i32.const 1) - ) - ) - ) - (i32.const 3) - ) - ) - (local.set $2 - (i32.const 4) - ) - (local.get $0) - ) - ) + (local.set $0 + (i32.const 1144) + ) + (block + (local.set $1 + (i32.const 1144) ) - (block - (local.set $1 - (local.get $0) - ) - (local.set $2 - (i32.const 4) - ) + (local.set $2 + (i32.const 4) ) ) (i32.sub @@ -8374,9 +8330,9 @@ ) (local.get $0) ) - (local.get $5) + (local.get $4) ) - (local.get $3) + (i32.const 1144) ) ) (func $_a (; 18 ;) (; has Stack IR ;) (param $0 i32) (result i32) @@ -9030,7 +8986,7 @@ (local.get $2) ) ) - (func $db (; 24 ;) (; has Stack IR ;) (result i32) + (func $db (; 24 ;) (; has Stack IR ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9044,92 +9000,82 @@ ) ) ) - (i32.shr_s - (i32.shl - (if (result i32) - (i32.lt_s - (i32.add - (select - (i32.div_u - (local.tee $3 - (call $Wa - (i32.const 1144) - (local.tee $2 - (local.tee $1 - (call $Za - (i32.const 1144) - ) - ) + (drop + (if (result i32) + (i32.lt_s + (i32.add + (select + (i32.div_u + (local.tee $2 + (call $Wa + (local.tee $1 + (local.tee $3 + (call $Za) ) - (local.get $0) ) + (local.get $0) ) - (local.get $1) - ) - (i32.const 1) - (i32.ne - (local.get $2) - (local.get $3) ) + (local.get $3) + ) + (i32.const 1) + (i32.ne + (local.get $1) + (local.get $2) ) - (i32.const -1) ) - (i32.const 0) + (i32.const -1) ) - (i32.const 1) - (block $do-once (result i32) - (if - (i32.ne - (i32.load8_s offset=75 - (local.get $0) - ) - (i32.const 10) + (i32.const 0) + ) + (i32.const 1) + (block $do-once (result i32) + (if + (i32.ne + (i32.load8_s offset=75 + (local.get $0) ) - (if - (i32.lt_u - (local.tee $1 - (i32.load - (local.tee $2 - (i32.add - (local.get $0) - (i32.const 20) - ) + (i32.const 10) + ) + (if + (i32.lt_u + (local.tee $1 + (i32.load + (local.tee $2 + (i32.add + (local.get $0) + (i32.const 20) ) ) ) - (i32.load offset=16 - (local.get $0) - ) ) - (block - (i32.store - (local.get $2) - (i32.add - (local.get $1) - (i32.const 1) - ) - ) - (i32.store8 + (i32.load offset=16 + (local.get $0) + ) + ) + (block + (i32.store + (local.get $2) + (i32.add (local.get $1) - (i32.const 10) - ) - (br $do-once - (i32.const 0) + (i32.const 1) ) ) + (i32.store8 + (local.get $1) + (i32.const 10) + ) + (br $do-once + (i32.const 0) + ) ) ) - (i32.lt_s - (call $ab - (local.get $0) - ) - (i32.const 0) - ) + ) + (call $ab + (local.get $0) ) ) - (i32.const 31) ) - (i32.const 31) ) ) (func $Xa (; 25 ;) (; has Stack IR ;) (param $0 i32) (result i32) @@ -9503,9 +9449,7 @@ (i32.const 0) ) (func $Na (; 40 ;) (; has Stack IR ;) (result i32) - (drop - (call $db) - ) + (call $db) (i32.const 0) ) (func $pb (; 41 ;) (; has Stack IR ;) (param $0 i32) diff --git a/test/passes/dae.txt b/test/passes/dae.txt index 697f57b0e..4c483e888 100644 --- a/test/passes/dae.txt +++ b/test/passes/dae.txt @@ -2,8 +2,10 @@ (type $0 (func (param i32))) (type $1 (func)) (type $2 (func (param i32 f64))) - (table $0 1 1 funcref) - (elem (i32.const 0) $a9) + (type $3 (func (result i32))) + (type $4 (func (param i32) (result i32))) + (table $0 2 2 funcref) + (elem (i32.const 0) $a9 $c8) (export "a8" (func $a8)) (func $a (; 0 ;) (local $0 i32) @@ -171,4 +173,73 @@ (i32.const 2) ) ) + (func $c1 (; 27 ;) (type $1) + (local $x i32) + (call $c2) + (call $c3) + (call $c3) + (drop + (call $c4) + ) + (local.set $x + (call $c4) + ) + (call $c5 + (unreachable) + ) + (call $c6) + (call $c7) + (drop + (call $c8) + ) + ) + (func $c2 (; 28 ;) + (drop + (i32.const 1) + ) + ) + (func $c3 (; 29 ;) + (drop + (i32.const 2) + ) + ) + (func $c4 (; 30 ;) (type $3) (result i32) + (i32.const 3) + ) + (func $c5 (; 31 ;) (param $x i32) + (drop + (local.get $x) + ) + ) + (func $c6 (; 32 ;) + (unreachable) + ) + (func $c7 (; 33 ;) + (drop + (i32.const 4) + ) + (return) + ) + (func $c8 (; 34 ;) (type $3) (result i32) + (i32.const 5) + ) +) +(module + (type $0 (func)) + (type $1 (func (param i32) (result i32))) + (export "a" (func $0)) + (func $0 (; 0 ;) (type $0) + (call $b) + ) + (func $b (; 1 ;) + (local $0 i32) + (drop + (block (result i32) + (local.set $0 + (i32.const 1) + ) + (local.get $0) + ) + ) + ) ) diff --git a/test/passes/dae.wast b/test/passes/dae.wast index 25fe52c52..2fdf6958d 100644 --- a/test/passes/dae.wast +++ b/test/passes/dae.wast @@ -1,7 +1,7 @@ (module (export "a8" (func $a8)) - (table 1 1 funcref) - (elem (i32.const 0) $a9) + (table 2 2 funcref) + (elem (i32.const 0) $a9 $c8) (func $a (param $x i32)) (func $b (call $a (i32.const 1)) ;; best case scenario @@ -83,5 +83,51 @@ (call $a12 (i32.const 1)) (call $a12 (i32.const 2)) ) + ;; return values + (func $c1 + (local $x i32) + (drop (call $c2)) + (drop (call $c3)) + (drop (call $c3)) + (drop (call $c4)) + (local.set $x (call $c4)) + (drop (call $c5 (unreachable))) + (drop (call $c6)) + (drop (call $c7)) + (drop (call $c8)) + ) + (func $c2 (result i32) + (i32.const 1) + ) + (func $c3 (result i32) + (i32.const 2) + ) + (func $c4 (result i32) + (i32.const 3) + ) + (func $c5 (param $x i32) (result i32) + (local.get $x) + ) + (func $c6 (result i32) + (unreachable) + ) + (func $c7 (result i32) + (return (i32.const 4)) + ) + (func $c8 (result i32) + (i32.const 5) + ) +) +(module ;; both operations at once: remove params and return value + (func "a" + (drop + (call $b + (i32.const 1) + ) + ) + ) + (func $b (param $x i32) (result i32) + (local.get $x) + ) ) diff --git a/test/unit.fromasm b/test/unit.fromasm index c9e20da52..575013dbb 100644 --- a/test/unit.fromasm +++ b/test/unit.fromasm @@ -1087,31 +1087,7 @@ (i32.const 30) ) ) - (func $sqrts (; 53 ;) (; has Stack IR ;) (param $0 f64) (result f64) - (f64.add - (f64.sqrt - (local.get $0) - ) - (f64.promote_f32 - (f32.sqrt - (f32.demote_f64 - (local.get $0) - ) - ) - ) - ) - ) - (func $keepAlive (; 54 ;) (; has Stack IR ;) - (drop - (call $sqrts - (f64.const 3.14159) - ) - ) - (drop - (call $sqrts - (f64.const 2.18281) - ) - ) + (func $keepAlive (; 53 ;) (; has Stack IR ;) (drop (call $f64-to-int (f64.const 100) @@ -1170,13 +1146,13 @@ ) ) ) - (func $vi (; 55 ;) (; has Stack IR ;) (param $0 i32) + (func $vi (; 54 ;) (; has Stack IR ;) (param $0 i32) (nop) ) - (func $ii (; 56 ;) (; has Stack IR ;) (param $0 i32) (result i32) + (func $ii (; 55 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local.get $0) ) - (func $legalstub$conversions (; 57 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) + (func $legalstub$conversions (; 56 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (drop (call $f64-to-int (local.get $1) @@ -1192,7 +1168,7 @@ ) ) ) - (func $legalstub$frem_float (; 58 ;) (; has Stack IR ;) (result f64) + (func $legalstub$frem_float (; 57 ;) (; has Stack IR ;) (result f64) (f64.promote_f32 (f32.demote_f64 (call $f64-rem @@ -1202,16 +1178,16 @@ ) ) ) - (func $legalstub$fr (; 59 ;) (; has Stack IR ;) (param $0 f64) + (func $legalstub$fr (; 58 ;) (; has Stack IR ;) (param $0 f64) (nop) ) - (func $legalstub$ceiling_32_64 (; 60 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64) + (func $legalstub$ceiling_32_64 (; 59 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64) (nop) ) - (func $legalstub$bitcasts (; 61 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) + (func $legalstub$bitcasts (; 60 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (nop) ) - (func $legalstub$exported_f32_user (; 62 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64) + (func $legalstub$exported_f32_user (; 61 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64) (f64.promote_f32 (f32.demote_f64 (local.get $1) diff --git a/test/unit.fromasm.clamp b/test/unit.fromasm.clamp index deec92f97..73fe3f4a1 100644 --- a/test/unit.fromasm.clamp +++ b/test/unit.fromasm.clamp @@ -170,27 +170,29 @@ ) ) ) - (func $f32-to-int (; 12 ;) (; has Stack IR ;) (param $0 f32) (result i32) - (if (result i32) - (f32.ne - (local.get $0) - (local.get $0) - ) - (i32.const -2147483648) + (func $f32-to-int (; 12 ;) (; has Stack IR ;) (param $0 f32) + (drop (if (result i32) - (f32.ge + (f32.ne + (local.get $0) (local.get $0) - (f32.const 2147483648) ) (i32.const -2147483648) (if (result i32) - (f32.le + (f32.ge (local.get $0) - (f32.const -2147483648) + (f32.const 2147483648) ) (i32.const -2147483648) - (i32.trunc_f32_s - (local.get $0) + (if (result i32) + (f32.le + (local.get $0) + (f32.const -2147483648) + ) + (i32.const -2147483648) + (i32.trunc_f32_s + (local.get $0) + ) ) ) ) @@ -1137,62 +1139,7 @@ (i32.const 30) ) ) - (func $sqrts (; 54 ;) (; has Stack IR ;) (param $0 f64) (result f64) - (f64.add - (f64.sqrt - (local.get $0) - ) - (f64.promote_f32 - (f32.sqrt - (f32.demote_f64 - (local.get $0) - ) - ) - ) - ) - ) - (func $f64-to-uint (; 55 ;) (; has Stack IR ;) (param $0 f64) (result i32) - (if (result i32) - (f64.ne - (local.get $0) - (local.get $0) - ) - (i32.const 0) - (if (result i32) - (f64.ge - (local.get $0) - (f64.const 4294967296) - ) - (i32.const 0) - (if (result i32) - (f64.le - (local.get $0) - (f64.const -1) - ) - (i32.const 0) - (i32.trunc_f64_u - (local.get $0) - ) - ) - ) - ) - ) - (func $keepAlive (; 56 ;) (; has Stack IR ;) - (drop - (call $sqrts - (f64.const 3.14159) - ) - ) - (drop - (call $sqrts - (f64.const 2.18281) - ) - ) - (drop - (call $f64-to-uint - (f64.const 100) - ) - ) + (func $keepAlive (; 54 ;) (; has Stack IR ;) (drop (call $f64-to-int (f64.const 100) @@ -1246,27 +1193,25 @@ ) ) ) - (func $vi (; 57 ;) (; has Stack IR ;) (param $0 i32) + (func $vi (; 55 ;) (; has Stack IR ;) (param $0 i32) (nop) ) - (func $ii (; 58 ;) (; has Stack IR ;) (param $0 i32) (result i32) + (func $ii (; 56 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local.get $0) ) - (func $legalstub$conversions (; 59 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) + (func $legalstub$conversions (; 57 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (drop (call $f64-to-int (local.get $1) ) ) - (drop - (call $f32-to-int - (f32.demote_f64 - (local.get $2) - ) + (call $f32-to-int + (f32.demote_f64 + (local.get $2) ) ) ) - (func $legalstub$frem_float (; 60 ;) (; has Stack IR ;) (result f64) + (func $legalstub$frem_float (; 58 ;) (; has Stack IR ;) (result f64) (f64.promote_f32 (f32.demote_f64 (call $f64-rem @@ -1276,16 +1221,16 @@ ) ) ) - (func $legalstub$fr (; 61 ;) (; has Stack IR ;) (param $0 f64) + (func $legalstub$fr (; 59 ;) (; has Stack IR ;) (param $0 f64) (nop) ) - (func $legalstub$ceiling_32_64 (; 62 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64) + (func $legalstub$ceiling_32_64 (; 60 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64) (nop) ) - (func $legalstub$bitcasts (; 63 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) + (func $legalstub$bitcasts (; 61 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (nop) ) - (func $legalstub$exported_f32_user (; 64 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64) + (func $legalstub$exported_f32_user (; 62 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64) (f64.promote_f32 (f32.demote_f64 (local.get $1) diff --git a/test/unit.fromasm.imprecise b/test/unit.fromasm.imprecise index 7ff7a4c18..bf5a9ae22 100644 --- a/test/unit.fromasm.imprecise +++ b/test/unit.fromasm.imprecise @@ -1086,31 +1086,7 @@ (i32.const 30) ) ) - (func $sqrts (; 52 ;) (; has Stack IR ;) (param $0 f64) (result f64) - (f64.add - (f64.sqrt - (local.get $0) - ) - (f64.promote_f32 - (f32.sqrt - (f32.demote_f64 - (local.get $0) - ) - ) - ) - ) - ) - (func $keepAlive (; 53 ;) (; has Stack IR ;) - (drop - (call $sqrts - (f64.const 3.14159) - ) - ) - (drop - (call $sqrts - (f64.const 2.18281) - ) - ) + (func $keepAlive (; 52 ;) (; has Stack IR ;) (call_indirect (type $FUNCSIG$vi) (i32.const 0) (i32.const 17) @@ -1149,16 +1125,16 @@ ) ) ) - (func $vi (; 54 ;) (; has Stack IR ;) (param $0 i32) + (func $vi (; 53 ;) (; has Stack IR ;) (param $0 i32) (nop) ) - (func $ii (; 55 ;) (; has Stack IR ;) (param $0 i32) (result i32) + (func $ii (; 54 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local.get $0) ) - (func $legalstub$conversions (; 56 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) + (func $legalstub$conversions (; 55 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (nop) ) - (func $legalstub$frem_float (; 57 ;) (; has Stack IR ;) (result f64) + (func $legalstub$frem_float (; 56 ;) (; has Stack IR ;) (result f64) (f64.promote_f32 (f32.demote_f64 (call $f64-rem @@ -1168,16 +1144,16 @@ ) ) ) - (func $legalstub$fr (; 58 ;) (; has Stack IR ;) (param $0 f64) + (func $legalstub$fr (; 57 ;) (; has Stack IR ;) (param $0 f64) (nop) ) - (func $legalstub$ceiling_32_64 (; 59 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64) + (func $legalstub$ceiling_32_64 (; 58 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64) (nop) ) - (func $legalstub$bitcasts (; 60 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) + (func $legalstub$bitcasts (; 59 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (nop) ) - (func $legalstub$exported_f32_user (; 61 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64) + (func $legalstub$exported_f32_user (; 60 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64) (f64.promote_f32 (f32.demote_f64 (local.get $1) diff --git a/test/wasm-only.fromasm b/test/wasm-only.fromasm index f3e2c2817..36611ca94 100644 --- a/test/wasm-only.fromasm +++ b/test/wasm-only.fromasm @@ -249,105 +249,113 @@ ) ) ) - (func $f32-to-int64 (; 9 ;) (; has Stack IR ;) (param $0 f32) (result i64) - (if (result i64) - (f32.ne - (local.get $0) - (local.get $0) - ) - (i64.const -9223372036854775808) + (func $f32-to-int64 (; 9 ;) (; has Stack IR ;) (param $0 f32) + (drop (if (result i64) - (f32.ge + (f32.ne + (local.get $0) (local.get $0) - (f32.const 9223372036854775808) ) (i64.const -9223372036854775808) (if (result i64) - (f32.le + (f32.ge (local.get $0) - (f32.const -9223372036854775808) + (f32.const 9223372036854775808) ) (i64.const -9223372036854775808) - (i64.trunc_f32_s - (local.get $0) + (if (result i64) + (f32.le + (local.get $0) + (f32.const -9223372036854775808) + ) + (i64.const -9223372036854775808) + (i64.trunc_f32_s + (local.get $0) + ) ) ) ) ) ) - (func $f64-to-int64 (; 10 ;) (; has Stack IR ;) (param $0 f64) (result i64) - (if (result i64) - (f64.ne - (local.get $0) - (local.get $0) - ) - (i64.const -9223372036854775808) + (func $f64-to-int64 (; 10 ;) (; has Stack IR ;) (param $0 f64) + (drop (if (result i64) - (f64.ge + (f64.ne + (local.get $0) (local.get $0) - (f64.const 9223372036854775808) ) (i64.const -9223372036854775808) (if (result i64) - (f64.le + (f64.ge (local.get $0) - (f64.const -9223372036854775808) + (f64.const 9223372036854775808) ) (i64.const -9223372036854775808) - (i64.trunc_f64_s - (local.get $0) + (if (result i64) + (f64.le + (local.get $0) + (f64.const -9223372036854775808) + ) + (i64.const -9223372036854775808) + (i64.trunc_f64_s + (local.get $0) + ) ) ) ) ) ) - (func $f32-to-uint64 (; 11 ;) (; has Stack IR ;) (param $0 f32) (result i64) - (if (result i64) - (f32.ne - (local.get $0) - (local.get $0) - ) - (i64.const 0) + (func $f32-to-uint64 (; 11 ;) (; has Stack IR ;) (param $0 f32) + (drop (if (result i64) - (f32.ge + (f32.ne + (local.get $0) (local.get $0) - (f32.const 18446744073709551615) ) (i64.const 0) (if (result i64) - (f32.le + (f32.ge (local.get $0) - (f32.const -1) + (f32.const 18446744073709551615) ) (i64.const 0) - (i64.trunc_f32_u - (local.get $0) + (if (result i64) + (f32.le + (local.get $0) + (f32.const -1) + ) + (i64.const 0) + (i64.trunc_f32_u + (local.get $0) + ) ) ) ) ) ) - (func $f64-to-uint64 (; 12 ;) (; has Stack IR ;) (param $0 f64) (result i64) - (if (result i64) - (f64.ne - (local.get $0) - (local.get $0) - ) - (i64.const 0) + (func $f64-to-uint64 (; 12 ;) (; has Stack IR ;) (param $0 f64) + (drop (if (result i64) - (f64.ge + (f64.ne + (local.get $0) (local.get $0) - (f64.const 18446744073709551615) ) (i64.const 0) (if (result i64) - (f64.le + (f64.ge (local.get $0) - (f64.const -1) + (f64.const 18446744073709551615) ) (i64.const 0) - (i64.trunc_f64_u - (local.get $0) + (if (result i64) + (f64.le + (local.get $0) + (f64.const -1) + ) + (i64.const 0) + (i64.trunc_f64_u + (local.get $0) + ) ) ) ) @@ -413,56 +421,50 @@ (i32.const 120) (local.get $0) ) - (drop - (call $f32-to-int64 - (local.tee $1 - (f32.convert_i64_u - (local.tee $0 - (i64.extend_i32_u - (i32.wrap_i64 - (local.get $0) - ) + (call $f32-to-int64 + (local.tee $1 + (f32.convert_i64_u + (local.tee $0 + (i64.extend_i32_u + (i32.wrap_i64 + (local.get $0) ) ) ) ) ) ) - (drop - (call $f64-to-int64 - (local.tee $2 - (f64.convert_i64_u - (local.get $0) - ) + (call $f64-to-int64 + (local.tee $2 + (f64.convert_i64_u + (local.get $0) ) ) ) - (drop - (call $f32-to-uint64 - (local.get $1) - ) + (call $f32-to-uint64 + (local.get $1) ) - (drop - (call $f64-to-uint64 - (local.get $2) - ) + (call $f64-to-uint64 + (local.get $2) ) ) - (func $imports (; 14 ;) (; has Stack IR ;) (result i64) + (func $imports (; 14 ;) (; has Stack IR ;) (call $legalfunc$illegalImport (f64.const -3.13159) (i64.const 94489280523) (i32.const -33) ) - (i64.or - (i64.extend_i32_u - (call $legalimport$illegalImportResult) - ) - (i64.shl + (drop + (i64.or (i64.extend_i32_u - (call $getTempRet0) + (call $legalimport$illegalImportResult) + ) + (i64.shl + (i64.extend_i32_u + (call $getTempRet0) + ) + (i64.const 32) ) - (i64.const 32) ) ) ) @@ -509,151 +511,32 @@ ) (i64.const 245127260211081) ) - (func $ifValue32 (; 19 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + (func $ifValue64 (; 19 ;) (; has Stack IR ;) + (drop + (call $call2 + (i64.const 0) + ) + ) + ) + (func $ifValue32 (; 20 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call $ifValue32 (local.get $0) (local.get $1) ) ) - (func $unreachable_leftovers (; 20 ;) (; has Stack IR ;) + (func $unreachable_leftovers (; 21 ;) (; has Stack IR ;) (i32.store (i32.const 0) (i32.const -2) ) ) - (func $_memchr (; 21 ;) (; has Stack IR ;) (result i32) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (block $label$break$L8 - (block $__rjti$2 - (br_if $__rjti$2 - (local.get $0) - ) - (local.set $0 - (i32.const 0) - ) - (br $label$break$L8) - ) - (local.set $0 - (local.get $2) - ) - (if - (i32.load8_u - (local.get $1) - ) - (block - (block $__rjto$0 - (block $__rjti$0 - (br_if $__rjti$0 - (i32.le_u - (local.get $0) - (i32.const 3) - ) - ) - (loop $while-in3 - (if - (i32.eqz - (i32.and - (i32.xor - (i32.and - (local.tee $2 - (i32.load - (local.get $1) - ) - ) - (i32.const -2139062144) - ) - (i32.const -2139062144) - ) - (i32.add - (local.get $2) - (i32.const -16843009) - ) - ) - ) - (block - (local.set $1 - (i32.add - (local.get $1) - (i32.const 4) - ) - ) - (br_if $while-in3 - (i32.gt_u - (local.tee $0 - (i32.add - (local.get $0) - (i32.const -4) - ) - ) - (i32.const 3) - ) - ) - (br $__rjti$0) - ) - ) - ) - (br $__rjto$0) - ) - (if - (i32.eqz - (local.get $0) - ) - (block - (local.set $0 - (i32.const 0) - ) - (br $label$break$L8) - ) - ) - ) - (local.set $0 - (loop $while-in5 (result i32) - (br_if $label$break$L8 - (i32.eqz - (i32.load8_u - (local.get $1) - ) - ) - ) - (local.set $1 - (i32.add - (local.get $1) - (i32.const 1) - ) - ) - (br_if $while-in5 - (local.tee $0 - (i32.add - (local.get $0) - (i32.const -1) - ) - ) - ) - (i32.const 0) - ) - ) - ) - ) - ) - (select - (local.get $1) - (i32.const 0) - (local.get $0) - ) - ) (func $keepAlive (; 22 ;) (; has Stack IR ;) (call $loads) (call $loads) (call $stores) (call $stores) - (drop - (call $imports) - ) - (drop - (call $imports) - ) + (call $imports) + (call $imports) (call $arg (i64.const 0) ) @@ -680,16 +563,8 @@ (i64.const 0) ) ) - (drop - (call $call2 - (i64.const 0) - ) - ) - (drop - (call $call2 - (i64.const 0) - ) - ) + (call $ifValue64) + (call $ifValue64) (drop (call $ifValue32 (i32.const 0) @@ -704,9 +579,6 @@ ) (call $unreachable_leftovers) (call $unreachable_leftovers) - (drop - (call $_memchr) - ) ) (func $legalstub$illegalParam (; 23 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 f64) (call $illegalParam diff --git a/test/wasm-only.fromasm.clamp b/test/wasm-only.fromasm.clamp index f3e2c2817..36611ca94 100644 --- a/test/wasm-only.fromasm.clamp +++ b/test/wasm-only.fromasm.clamp @@ -249,105 +249,113 @@ ) ) ) - (func $f32-to-int64 (; 9 ;) (; has Stack IR ;) (param $0 f32) (result i64) - (if (result i64) - (f32.ne - (local.get $0) - (local.get $0) - ) - (i64.const -9223372036854775808) + (func $f32-to-int64 (; 9 ;) (; has Stack IR ;) (param $0 f32) + (drop (if (result i64) - (f32.ge + (f32.ne + (local.get $0) (local.get $0) - (f32.const 9223372036854775808) ) (i64.const -9223372036854775808) (if (result i64) - (f32.le + (f32.ge (local.get $0) - (f32.const -9223372036854775808) + (f32.const 9223372036854775808) ) (i64.const -9223372036854775808) - (i64.trunc_f32_s - (local.get $0) + (if (result i64) + (f32.le + (local.get $0) + (f32.const -9223372036854775808) + ) + (i64.const -9223372036854775808) + (i64.trunc_f32_s + (local.get $0) + ) ) ) ) ) ) - (func $f64-to-int64 (; 10 ;) (; has Stack IR ;) (param $0 f64) (result i64) - (if (result i64) - (f64.ne - (local.get $0) - (local.get $0) - ) - (i64.const -9223372036854775808) + (func $f64-to-int64 (; 10 ;) (; has Stack IR ;) (param $0 f64) + (drop (if (result i64) - (f64.ge + (f64.ne + (local.get $0) (local.get $0) - (f64.const 9223372036854775808) ) (i64.const -9223372036854775808) (if (result i64) - (f64.le + (f64.ge (local.get $0) - (f64.const -9223372036854775808) + (f64.const 9223372036854775808) ) (i64.const -9223372036854775808) - (i64.trunc_f64_s - (local.get $0) + (if (result i64) + (f64.le + (local.get $0) + (f64.const -9223372036854775808) + ) + (i64.const -9223372036854775808) + (i64.trunc_f64_s + (local.get $0) + ) ) ) ) ) ) - (func $f32-to-uint64 (; 11 ;) (; has Stack IR ;) (param $0 f32) (result i64) - (if (result i64) - (f32.ne - (local.get $0) - (local.get $0) - ) - (i64.const 0) + (func $f32-to-uint64 (; 11 ;) (; has Stack IR ;) (param $0 f32) + (drop (if (result i64) - (f32.ge + (f32.ne + (local.get $0) (local.get $0) - (f32.const 18446744073709551615) ) (i64.const 0) (if (result i64) - (f32.le + (f32.ge (local.get $0) - (f32.const -1) + (f32.const 18446744073709551615) ) (i64.const 0) - (i64.trunc_f32_u - (local.get $0) + (if (result i64) + (f32.le + (local.get $0) + (f32.const -1) + ) + (i64.const 0) + (i64.trunc_f32_u + (local.get $0) + ) ) ) ) ) ) - (func $f64-to-uint64 (; 12 ;) (; has Stack IR ;) (param $0 f64) (result i64) - (if (result i64) - (f64.ne - (local.get $0) - (local.get $0) - ) - (i64.const 0) + (func $f64-to-uint64 (; 12 ;) (; has Stack IR ;) (param $0 f64) + (drop (if (result i64) - (f64.ge + (f64.ne + (local.get $0) (local.get $0) - (f64.const 18446744073709551615) ) (i64.const 0) (if (result i64) - (f64.le + (f64.ge (local.get $0) - (f64.const -1) + (f64.const 18446744073709551615) ) (i64.const 0) - (i64.trunc_f64_u - (local.get $0) + (if (result i64) + (f64.le + (local.get $0) + (f64.const -1) + ) + (i64.const 0) + (i64.trunc_f64_u + (local.get $0) + ) ) ) ) @@ -413,56 +421,50 @@ (i32.const 120) (local.get $0) ) - (drop - (call $f32-to-int64 - (local.tee $1 - (f32.convert_i64_u - (local.tee $0 - (i64.extend_i32_u - (i32.wrap_i64 - (local.get $0) - ) + (call $f32-to-int64 + (local.tee $1 + (f32.convert_i64_u + (local.tee $0 + (i64.extend_i32_u + (i32.wrap_i64 + (local.get $0) ) ) ) ) ) ) - (drop - (call $f64-to-int64 - (local.tee $2 - (f64.convert_i64_u - (local.get $0) - ) + (call $f64-to-int64 + (local.tee $2 + (f64.convert_i64_u + (local.get $0) ) ) ) - (drop - (call $f32-to-uint64 - (local.get $1) - ) + (call $f32-to-uint64 + (local.get $1) ) - (drop - (call $f64-to-uint64 - (local.get $2) - ) + (call $f64-to-uint64 + (local.get $2) ) ) - (func $imports (; 14 ;) (; has Stack IR ;) (result i64) + (func $imports (; 14 ;) (; has Stack IR ;) (call $legalfunc$illegalImport (f64.const -3.13159) (i64.const 94489280523) (i32.const -33) ) - (i64.or - (i64.extend_i32_u - (call $legalimport$illegalImportResult) - ) - (i64.shl + (drop + (i64.or (i64.extend_i32_u - (call $getTempRet0) + (call $legalimport$illegalImportResult) + ) + (i64.shl + (i64.extend_i32_u + (call $getTempRet0) + ) + (i64.const 32) ) - (i64.const 32) ) ) ) @@ -509,151 +511,32 @@ ) (i64.const 245127260211081) ) - (func $ifValue32 (; 19 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + (func $ifValue64 (; 19 ;) (; has Stack IR ;) + (drop + (call $call2 + (i64.const 0) + ) + ) + ) + (func $ifValue32 (; 20 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call $ifValue32 (local.get $0) (local.get $1) ) ) - (func $unreachable_leftovers (; 20 ;) (; has Stack IR ;) + (func $unreachable_leftovers (; 21 ;) (; has Stack IR ;) (i32.store (i32.const 0) (i32.const -2) ) ) - (func $_memchr (; 21 ;) (; has Stack IR ;) (result i32) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (block $label$break$L8 - (block $__rjti$2 - (br_if $__rjti$2 - (local.get $0) - ) - (local.set $0 - (i32.const 0) - ) - (br $label$break$L8) - ) - (local.set $0 - (local.get $2) - ) - (if - (i32.load8_u - (local.get $1) - ) - (block - (block $__rjto$0 - (block $__rjti$0 - (br_if $__rjti$0 - (i32.le_u - (local.get $0) - (i32.const 3) - ) - ) - (loop $while-in3 - (if - (i32.eqz - (i32.and - (i32.xor - (i32.and - (local.tee $2 - (i32.load - (local.get $1) - ) - ) - (i32.const -2139062144) - ) - (i32.const -2139062144) - ) - (i32.add - (local.get $2) - (i32.const -16843009) - ) - ) - ) - (block - (local.set $1 - (i32.add - (local.get $1) - (i32.const 4) - ) - ) - (br_if $while-in3 - (i32.gt_u - (local.tee $0 - (i32.add - (local.get $0) - (i32.const -4) - ) - ) - (i32.const 3) - ) - ) - (br $__rjti$0) - ) - ) - ) - (br $__rjto$0) - ) - (if - (i32.eqz - (local.get $0) - ) - (block - (local.set $0 - (i32.const 0) - ) - (br $label$break$L8) - ) - ) - ) - (local.set $0 - (loop $while-in5 (result i32) - (br_if $label$break$L8 - (i32.eqz - (i32.load8_u - (local.get $1) - ) - ) - ) - (local.set $1 - (i32.add - (local.get $1) - (i32.const 1) - ) - ) - (br_if $while-in5 - (local.tee $0 - (i32.add - (local.get $0) - (i32.const -1) - ) - ) - ) - (i32.const 0) - ) - ) - ) - ) - ) - (select - (local.get $1) - (i32.const 0) - (local.get $0) - ) - ) (func $keepAlive (; 22 ;) (; has Stack IR ;) (call $loads) (call $loads) (call $stores) (call $stores) - (drop - (call $imports) - ) - (drop - (call $imports) - ) + (call $imports) + (call $imports) (call $arg (i64.const 0) ) @@ -680,16 +563,8 @@ (i64.const 0) ) ) - (drop - (call $call2 - (i64.const 0) - ) - ) - (drop - (call $call2 - (i64.const 0) - ) - ) + (call $ifValue64) + (call $ifValue64) (drop (call $ifValue32 (i32.const 0) @@ -704,9 +579,6 @@ ) (call $unreachable_leftovers) (call $unreachable_leftovers) - (drop - (call $_memchr) - ) ) (func $legalstub$illegalParam (; 23 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 f64) (call $illegalParam diff --git a/test/wasm-only.fromasm.imprecise b/test/wasm-only.fromasm.imprecise index 6f0cdef47..87e328ab1 100644 --- a/test/wasm-only.fromasm.imprecise +++ b/test/wasm-only.fromasm.imprecise @@ -143,21 +143,23 @@ ) ) ) - (func $imports (; 8 ;) (; has Stack IR ;) (result i64) + (func $imports (; 8 ;) (; has Stack IR ;) (call $legalfunc$illegalImport (f64.const -3.13159) (i64.const 94489280523) (i32.const -33) ) - (i64.or - (i64.extend_i32_u - (call $legalimport$illegalImportResult) - ) - (i64.shl + (drop + (i64.or (i64.extend_i32_u - (call $getTempRet0) + (call $legalimport$illegalImportResult) + ) + (i64.shl + (i64.extend_i32_u + (call $getTempRet0) + ) + (i64.const 32) ) - (i64.const 32) ) ) ) @@ -204,149 +206,30 @@ ) (i64.const 245127260211081) ) - (func $ifValue32 (; 13 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + (func $ifValue64 (; 13 ;) (; has Stack IR ;) + (drop + (call $call2 + (i64.const 0) + ) + ) + ) + (func $ifValue32 (; 14 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call $ifValue32 (local.get $0) (local.get $1) ) ) - (func $unreachable_leftovers (; 14 ;) (; has Stack IR ;) + (func $unreachable_leftovers (; 15 ;) (; has Stack IR ;) (i32.store (i32.const 0) (i32.const -2) ) ) - (func $_memchr (; 15 ;) (; has Stack IR ;) (result i32) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (block $label$break$L8 - (block $__rjti$2 - (br_if $__rjti$2 - (local.get $0) - ) - (local.set $0 - (i32.const 0) - ) - (br $label$break$L8) - ) - (local.set $0 - (local.get $2) - ) - (if - (i32.load8_u - (local.get $1) - ) - (block - (block $__rjto$0 - (block $__rjti$0 - (br_if $__rjti$0 - (i32.le_u - (local.get $0) - (i32.const 3) - ) - ) - (loop $while-in3 - (if - (i32.eqz - (i32.and - (i32.xor - (i32.and - (local.tee $2 - (i32.load - (local.get $1) - ) - ) - (i32.const -2139062144) - ) - (i32.const -2139062144) - ) - (i32.add - (local.get $2) - (i32.const -16843009) - ) - ) - ) - (block - (local.set $1 - (i32.add - (local.get $1) - (i32.const 4) - ) - ) - (br_if $while-in3 - (i32.gt_u - (local.tee $0 - (i32.add - (local.get $0) - (i32.const -4) - ) - ) - (i32.const 3) - ) - ) - (br $__rjti$0) - ) - ) - ) - (br $__rjto$0) - ) - (if - (i32.eqz - (local.get $0) - ) - (block - (local.set $0 - (i32.const 0) - ) - (br $label$break$L8) - ) - ) - ) - (local.set $0 - (loop $while-in5 (result i32) - (br_if $label$break$L8 - (i32.eqz - (i32.load8_u - (local.get $1) - ) - ) - ) - (local.set $1 - (i32.add - (local.get $1) - (i32.const 1) - ) - ) - (br_if $while-in5 - (local.tee $0 - (i32.add - (local.get $0) - (i32.const -1) - ) - ) - ) - (i32.const 0) - ) - ) - ) - ) - ) - (select - (local.get $1) - (i32.const 0) - (local.get $0) - ) - ) (func $keepAlive (; 16 ;) (; has Stack IR ;) (call $stores) (call $stores) - (drop - (call $imports) - ) - (drop - (call $imports) - ) + (call $imports) + (call $imports) (call $arg (i64.const 0) ) @@ -373,16 +256,8 @@ (i64.const 0) ) ) - (drop - (call $call2 - (i64.const 0) - ) - ) - (drop - (call $call2 - (i64.const 0) - ) - ) + (call $ifValue64) + (call $ifValue64) (drop (call $ifValue32 (i32.const 0) @@ -397,9 +272,6 @@ ) (call $unreachable_leftovers) (call $unreachable_leftovers) - (drop - (call $_memchr) - ) ) (func $legalstub$illegalParam (; 17 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 f64) (call $illegalParam |