diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-09-12 12:24:52 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-09-12 12:24:52 -0700 |
commit | 284865e47ed545beeff40629caa59f169885f560 (patch) | |
tree | 1d0f0d73eaa45325a7f445b43914754e1196514e | |
parent | 4d0fea95aec72f932efa83a0601b98c177e59a85 (diff) | |
download | binaryen-284865e47ed545beeff40629caa59f169885f560.tar.gz binaryen-284865e47ed545beeff40629caa59f169885f560.tar.bz2 binaryen-284865e47ed545beeff40629caa59f169885f560.zip |
simple jump threading
-rw-r--r-- | src/passes/RemoveUnusedBrs.cpp | 77 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm | 6852 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm.imprecise | 6852 | ||||
-rw-r--r-- | test/passes/remove-unused-brs.txt | 36 | ||||
-rw-r--r-- | test/passes/remove-unused-brs.wast | 34 | ||||
-rw-r--r-- | test/unit.fromasm | 109 | ||||
-rw-r--r-- | test/unit.fromasm.imprecise | 109 |
7 files changed, 7079 insertions, 6990 deletions
diff --git a/src/passes/RemoveUnusedBrs.cpp b/src/passes/RemoveUnusedBrs.cpp index c4cb0c554..924cd7848 100644 --- a/src/passes/RemoveUnusedBrs.cpp +++ b/src/passes/RemoveUnusedBrs.cpp @@ -312,8 +312,81 @@ struct RemoveUnusedBrs : public WalkerPass<PostWalker<RemoveUnusedBrs, Visitor<R typeUpdater.walkFunction(func); } + // thread trivial jumps + struct JumpThreader : public ControlFlowWalker<JumpThreader, Visitor<JumpThreader>> { + // map of all value-less breaks going to a block (and not a loop) + std::map<Block*, std::vector<Break*>> breaksToBlock; + + // number of definitions of each name - when a name is defined more than once, it is not trivially safe to do this + std::map<Name, Index> numDefs; + + // the names to update, when we can (just one def) + std::map<Break*, Name> newNames; + + void visitBreak(Break* curr) { + if (!curr->value) { + if (auto* target = findBreakTarget(curr->name)->dynCast<Block>()) { + breaksToBlock[target].push_back(curr); + } + } + } + // TODO: Switch? + void visitBlock(Block* curr) { + if (curr->name.is()) numDefs[curr->name]++; + + auto& list = curr->list; + if (list.size() == 1 && curr->name.is()) { + // if this block has just one child, a sub-block, then jumps to the former are jumps to us, really + if (auto* child = list[0]->dynCast<Block>()) { + if (child->name.is() && child->name != curr->name) { + auto& breaks = breaksToBlock[child]; + for (auto* br : breaks) { + newNames[br] = curr->name; + breaksToBlock[curr].push_back(br); // update the list - we may push it even more later + } + breaksToBlock.erase(child); + } + } + } else if (list.size() == 2) { + // if this block has two children, a child-block and a simple jump, then jumps to child-block can be replaced with jumps to the new target + auto* child = list[0]->dynCast<Block>(); + auto* jump = list[1]->dynCast<Break>(); + if (child && child->name.is() && jump && ExpressionAnalyzer::isSimple(jump)) { + auto& breaks = breaksToBlock[child]; + for (auto* br : breaks) { + newNames[br] = jump->name; + } + // if the jump is to another block then we can update the list, and maybe push it even more later + if (auto* newTarget = findBreakTarget(jump->name)->dynCast<Block>()) { + for (auto* br : breaks) { + breaksToBlock[newTarget].push_back(br); + } + } + breaksToBlock.erase(child); + } + } + } + void visitLoop(Loop* curr) { + if (curr->name.is()) numDefs[curr->name]++; + } + + void finish() { + for (auto& iter : newNames) { + auto* br = iter.first; + auto name = iter.second; + if (numDefs[name] == 1) { + br->name = name; + } + } + } + }; + JumpThreader jumpThreader; + jumpThreader.setModule(getModule()); + jumpThreader.walkFunction(func); + jumpThreader.finish(); + // perform some final optimizations - struct FinalOptimizer : public WalkerPass<PostWalker<FinalOptimizer, Visitor<FinalOptimizer>>> { + struct FinalOptimizer : public PostWalker<FinalOptimizer, Visitor<FinalOptimizer>> { void visitBlock(Block* curr) { // if a block has an if br else br, we can un-conditionalize the latter, allowing // the if to become a br_if. @@ -375,6 +448,4 @@ Pass *createRemoveUnusedBrsPass() { return new RemoveUnusedBrs(); } -// TODO: jump threading, when a jump->jump->target => jump->target - } // namespace wasm diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm index dc2885697..4680aea58 100644 --- a/test/emcc_hello_world.fromasm +++ b/test/emcc_hello_world.fromasm @@ -1496,7 +1496,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (block $jumpthreading$outer$0 + (block $label$break$L5 (block $jumpthreading$inner$0 (br_if $jumpthreading$inner$0 (tee_local $3 @@ -1526,7 +1526,7 @@ (br $jumpthreading$inner$0) ) ) - (br $jumpthreading$outer$0) + (br $label$break$L5) ) (set_local $6 (tee_local $4 @@ -1565,7 +1565,7 @@ ) ) ) - (br $jumpthreading$outer$0) + (br $label$break$L5) ) ) (drop @@ -1619,7 +1619,7 @@ ) ) ) - (br_if $jumpthreading$outer$0 + (br_if $label$break$L5 (i32.lt_u (call_indirect $FUNCSIG$iiii (get_local $2) @@ -1991,7 +1991,7 @@ (i32.const 255) ) ) - (block $jumpthreading$outer$2 + (block $label$break$L8 (block $jumpthreading$inner$2 (block $jumpthreading$inner$1 (if @@ -2070,7 +2070,7 @@ (set_local $1 (i32.const 0) ) - (br $jumpthreading$outer$2) + (br $label$break$L8) ) (if (i32.eq @@ -2179,12 +2179,12 @@ (set_local $1 (i32.const 0) ) - (br $jumpthreading$outer$2) + (br $label$break$L8) ) ) ) (loop $while-in$8 - (br_if $jumpthreading$outer$2 + (br_if $label$break$L8 (i32.eq (i32.load8_s (get_local $0) @@ -2466,7 +2466,7 @@ (set_local $40 (tee_local $23 (i32.add - (tee_local $9 + (tee_local $13 (i32.add (get_local $27) (i32.const 536) @@ -2478,7 +2478,7 @@ ) (set_local $41 (i32.add - (get_local $9) + (get_local $13) (i32.const 39) ) ) @@ -2495,7 +2495,7 @@ ) (set_local $34 (i32.add - (tee_local $9 + (tee_local $13 (i32.add (get_local $27) (i32.const 576) @@ -2506,7 +2506,7 @@ ) (set_local $43 (i32.add - (get_local $9) + (get_local $13) (i32.const 11) ) ) @@ -2565,16 +2565,13 @@ (set_local $15 (i32.const 0) ) - (set_local $9 - (get_local $1) - ) (set_local $5 (i32.const 0) ) - (set_local $1 + (set_local $13 (i32.const 0) ) - (block $jumpthreading$outer$9 + (block $label$break$L343 (block $jumpthreading$inner$9 (loop $label$continue$L1 (block $label$break$L1 @@ -2613,7 +2610,7 @@ (i32.shl (tee_local $5 (i32.load8_s - (get_local $9) + (get_local $1) ) ) (i32.const 24) @@ -2623,14 +2620,14 @@ ) ) (block - (set_local $7 + (set_local $6 (get_local $5) ) (set_local $5 - (get_local $9) + (get_local $1) ) ) - (block $jumpthreading$outer$1 + (block $label$break$L12 (block $jumpthreading$inner$1 (loop $label$continue$L9 (block $label$break$L9 @@ -2641,7 +2638,7 @@ (i32.sub (i32.shr_s (i32.shl - (get_local $7) + (get_local $6) (i32.const 24) ) (i32.const 24) @@ -2650,17 +2647,17 @@ ) ) ) - (set_local $6 + (set_local $7 (get_local $5) ) (br $jumpthreading$inner$1) ) - (set_local $6 + (set_local $7 (get_local $5) ) (br $label$break$L9) ) - (set_local $7 + (set_local $6 (i32.load8_s (tee_local $5 (i32.add @@ -2673,13 +2670,13 @@ (br $label$continue$L9) ) ) - (br $jumpthreading$outer$1) + (br $label$break$L12) ) (loop $while-in$8 - (br_if $jumpthreading$outer$1 + (br_if $label$break$L12 (i32.ne (i32.load8_s offset=1 - (get_local $6) + (get_local $7) ) (i32.const 37) ) @@ -2693,9 +2690,9 @@ (br_if $while-in$8 (i32.eq (i32.load8_s - (tee_local $6 + (tee_local $7 (i32.add - (get_local $6) + (get_local $7) (i32.const 2) ) ) @@ -2705,10 +2702,10 @@ ) ) ) - (set_local $7 + (set_local $6 (i32.sub (get_local $5) - (get_local $9) + (get_local $1) ) ) (if @@ -2724,8 +2721,8 @@ ) (drop (call $___fwritex - (get_local $9) - (get_local $7) + (get_local $1) + (get_local $6) (get_local $0) ) ) @@ -2734,14 +2731,14 @@ (if (i32.ne (get_local $5) - (get_local $9) + (get_local $1) ) (block - (set_local $9 - (get_local $6) + (set_local $1 + (get_local $7) ) (set_local $5 - (get_local $7) + (get_local $6) ) (br $label$continue$L1) ) @@ -2749,15 +2746,15 @@ (set_local $21 (if (i32.lt_u - (tee_local $10 + (tee_local $9 (i32.add (i32.shr_s (i32.shl (tee_local $5 (i32.load8_s - (tee_local $11 + (tee_local $10 (i32.add - (get_local $6) + (get_local $7) (i32.const 1) ) ) @@ -2775,17 +2772,17 @@ (block (set_local $5 (i32.load8_s - (tee_local $11 + (tee_local $10 (select (i32.add - (get_local $6) + (get_local $7) (i32.const 3) ) - (get_local $11) + (get_local $10) (tee_local $8 (i32.eq (i32.load8_s offset=2 - (get_local $6) + (get_local $7) ) (i32.const 36) ) @@ -2794,22 +2791,22 @@ ) ) ) - (set_local $6 + (set_local $7 (select (i32.const 1) - (get_local $1) + (get_local $13) (get_local $8) ) ) (select - (get_local $10) + (get_local $9) (i32.const -1) (get_local $8) ) ) (block - (set_local $6 - (get_local $1) + (set_local $7 + (get_local $13) ) (i32.const -1) ) @@ -2833,7 +2830,7 @@ (i32.const 32) ) (block - (set_local $1 + (set_local $13 (get_local $5) ) (set_local $5 @@ -2870,7 +2867,7 @@ (i32.add (i32.shr_s (i32.shl - (get_local $1) + (get_local $13) (i32.const 24) ) (i32.const 24) @@ -2887,11 +2884,11 @@ (tee_local $5 (i32.shr_s (i32.shl - (tee_local $1 + (tee_local $13 (i32.load8_s - (tee_local $11 + (tee_local $10 (i32.add - (get_local $11) + (get_local $10) (i32.const 1) ) ) @@ -2913,7 +2910,7 @@ ) ) (block - (set_local $1 + (set_local $13 (get_local $5) ) (set_local $5 @@ -2927,7 +2924,7 @@ (i32.eq (i32.shr_s (i32.shl - (get_local $1) + (get_local $13) (i32.const 24) ) (i32.const 24) @@ -2935,7 +2932,7 @@ (i32.const 42) ) (block - (set_local $1 + (set_local $13 (block $jumpthreading$outer$0 (block $jumpthreading$inner$0 (br_if $jumpthreading$inner$0 @@ -2943,9 +2940,9 @@ (tee_local $8 (i32.add (i32.load8_s - (tee_local $1 + (tee_local $13 (i32.add - (get_local $11) + (get_local $10) (i32.const 1) ) ) @@ -2959,7 +2956,7 @@ (br_if $jumpthreading$inner$0 (i32.ne (i32.load8_s offset=2 - (get_local $11) + (get_local $10) ) (i32.const 36) ) @@ -2974,13 +2971,13 @@ ) (i32.const 10) ) - (set_local $1 + (set_local $13 (i32.add (get_local $3) (i32.shl (i32.add (i32.load8_s - (get_local $1) + (get_local $13) ) (i32.const -48) ) @@ -2988,15 +2985,15 @@ ) ) ) - (set_local $11 + (set_local $10 (i32.add - (get_local $11) + (get_local $10) (i32.const 3) ) ) - (set_local $6 + (set_local $7 (i32.load - (get_local $1) + (get_local $13) ) ) (br $jumpthreading$outer$0 @@ -3004,7 +3001,7 @@ ) ) (if - (get_local $6) + (get_local $7) (block (set_local $15 (i32.const -1) @@ -3020,10 +3017,10 @@ (set_local $8 (get_local $5) ) - (set_local $11 - (get_local $1) + (set_local $10 + (get_local $13) ) - (set_local $1 + (set_local $13 (i32.const 0) ) (set_local $17 @@ -3032,9 +3029,9 @@ (br $do-once$12) ) ) - (set_local $6 + (set_local $7 (i32.load - (tee_local $11 + (tee_local $10 (i32.and (i32.add (i32.load @@ -3050,12 +3047,12 @@ (i32.store (get_local $2) (i32.add - (get_local $11) + (get_local $10) (i32.const 4) ) ) - (set_local $11 - (get_local $1) + (set_local $10 + (get_local $13) ) (i32.const 0) ) @@ -3063,14 +3060,14 @@ (set_local $8 (if (i32.lt_s - (get_local $6) + (get_local $7) (i32.const 0) ) (block (set_local $17 (i32.sub (i32.const 0) - (get_local $6) + (get_local $7) ) ) (i32.or @@ -3080,7 +3077,7 @@ ) (block (set_local $17 - (get_local $6) + (get_local $7) ) (get_local $5) ) @@ -3089,11 +3086,11 @@ ) (if (i32.lt_u - (tee_local $1 + (tee_local $13 (i32.add (i32.shr_s (i32.shl - (get_local $1) + (get_local $13) (i32.const 24) ) (i32.const 24) @@ -3108,23 +3105,23 @@ (i32.const 0) ) (loop $while-in$15 - (set_local $1 + (set_local $13 (i32.add (i32.mul (get_local $8) (i32.const 10) ) - (get_local $1) + (get_local $13) ) ) (if (i32.lt_u - (tee_local $10 + (tee_local $9 (i32.add (i32.load8_s - (tee_local $11 + (tee_local $10 (i32.add - (get_local $11) + (get_local $10) (i32.const 1) ) ) @@ -3136,21 +3133,21 @@ ) (block (set_local $8 - (get_local $1) + (get_local $13) ) - (set_local $1 - (get_local $10) + (set_local $13 + (get_local $9) ) (br $while-in$15) ) - (set_local $10 - (get_local $1) + (set_local $9 + (get_local $13) ) ) ) (if (i32.lt_s - (get_local $10) + (get_local $9) (i32.const 0) ) (block @@ -3163,11 +3160,11 @@ (set_local $8 (get_local $5) ) - (set_local $1 - (get_local $6) + (set_local $13 + (get_local $7) ) (set_local $17 - (get_local $10) + (get_local $9) ) ) ) @@ -3176,8 +3173,8 @@ (set_local $8 (get_local $5) ) - (set_local $1 - (get_local $6) + (set_local $13 + (get_local $7) ) (set_local $17 (i32.const 0) @@ -3186,12 +3183,12 @@ ) ) ) - (set_local $10 + (set_local $9 (block $label$break$L46 (if (i32.eq (i32.load8_s - (get_local $11) + (get_local $10) ) (i32.const 46) ) @@ -3200,11 +3197,11 @@ (i32.ne (i32.shr_s (i32.shl - (tee_local $6 + (tee_local $7 (i32.load8_s (tee_local $5 (i32.add - (get_local $11) + (get_local $10) (i32.const 1) ) ) @@ -3219,11 +3216,11 @@ (block (if (i32.lt_u - (tee_local $6 + (tee_local $7 (i32.add (i32.shr_s (i32.shl - (get_local $6) + (get_local $7) (i32.const 24) ) (i32.const 24) @@ -3233,11 +3230,11 @@ ) (i32.const 10) ) - (set_local $11 + (set_local $10 (i32.const 0) ) (block - (set_local $6 + (set_local $7 (i32.const 0) ) (br $label$break$L46 @@ -3246,19 +3243,19 @@ ) ) (loop $while-in$18 - (set_local $6 + (set_local $7 (i32.add (i32.mul - (get_local $11) + (get_local $10) (i32.const 10) ) - (get_local $6) + (get_local $7) ) ) (br_if $label$break$L46 (get_local $5) (i32.ge_u - (tee_local $10 + (tee_local $9 (i32.add (i32.load8_s (tee_local $5 @@ -3275,11 +3272,11 @@ ) ) (block - (set_local $11 - (get_local $6) + (set_local $10 + (get_local $7) ) - (set_local $6 - (get_local $10) + (set_local $7 + (get_local $9) ) (br $while-in$18) ) @@ -3291,9 +3288,9 @@ (tee_local $5 (i32.add (i32.load8_s - (tee_local $10 + (tee_local $9 (i32.add - (get_local $11) + (get_local $10) (i32.const 2) ) ) @@ -3306,7 +3303,7 @@ (if (i32.eq (i32.load8_s offset=3 - (get_local $11) + (get_local $10) ) (i32.const 36) ) @@ -3327,7 +3324,7 @@ (i32.shl (i32.add (i32.load8_s - (get_local $10) + (get_local $9) ) (i32.const -48) ) @@ -3335,14 +3332,14 @@ ) ) ) - (set_local $6 + (set_local $7 (i32.load (get_local $5) ) ) (br $label$break$L46 (i32.add - (get_local $11) + (get_local $10) (i32.const 4) ) ) @@ -3350,7 +3347,7 @@ ) ) (if - (get_local $1) + (get_local $13) (block (set_local $15 (i32.const -1) @@ -3361,7 +3358,7 @@ (if (get_local $31) (block - (set_local $6 + (set_local $7 (i32.load (tee_local $5 (i32.and @@ -3383,26 +3380,26 @@ (i32.const 4) ) ) - (get_local $10) + (get_local $9) ) (block - (set_local $6 + (set_local $7 (i32.const 0) ) - (get_local $10) + (get_local $9) ) ) ) (block - (set_local $6 + (set_local $7 (i32.const -1) ) - (get_local $11) + (get_local $10) ) ) ) ) - (set_local $12 + (set_local $11 (i32.const 0) ) (loop $while-in$20 @@ -3411,7 +3408,7 @@ (tee_local $5 (i32.add (i32.load8_s - (get_local $10) + (get_local $9) ) (i32.const -65) ) @@ -3425,9 +3422,9 @@ (br $label$break$L1) ) ) - (set_local $11 + (set_local $10 (i32.add - (get_local $10) + (get_local $9) (i32.const 1) ) ) @@ -3436,13 +3433,13 @@ (i32.add (tee_local $5 (i32.and - (tee_local $13 + (tee_local $12 (i32.load8_s (i32.add (i32.add (i32.const 3611) (i32.mul - (get_local $12) + (get_local $11) (i32.const 58) ) ) @@ -3458,10 +3455,10 @@ (i32.const 8) ) (block - (set_local $10 - (get_local $11) + (set_local $9 + (get_local $10) ) - (set_local $12 + (set_local $11 (get_local $5) ) (br $while-in$20) @@ -3471,10 +3468,10 @@ (get_local $5) ) (set_local $5 - (get_local $11) + (get_local $10) ) (set_local $19 - (get_local $10) + (get_local $9) ) ) ) @@ -3483,7 +3480,7 @@ (i32.eqz (i32.shr_s (i32.shl - (get_local $13) + (get_local $12) (i32.const 24) ) (i32.const 24) @@ -3496,7 +3493,7 @@ (br $label$break$L1) ) ) - (set_local $11 + (set_local $10 (i32.gt_s (get_local $21) (i32.const -1) @@ -3508,7 +3505,7 @@ (i32.eq (i32.shr_s (i32.shl - (get_local $13) + (get_local $12) (i32.const 24) ) (i32.const 24) @@ -3516,7 +3513,7 @@ (i32.const 19) ) (if - (get_local $11) + (get_local $10) (block (set_local $15 (i32.const -1) @@ -3527,7 +3524,7 @@ ) (block (if - (get_local $11) + (get_local $10) (block (i32.store (i32.add @@ -3539,9 +3536,9 @@ ) (get_local $16) ) - (set_local $13 + (set_local $12 (i32.load offset=4 - (tee_local $10 + (tee_local $9 (i32.add (get_local $3) (i32.shl @@ -3553,16 +3550,16 @@ ) ) (i32.store - (tee_local $11 + (tee_local $10 (get_local $18) ) (i32.load - (get_local $10) + (get_local $9) ) ) (i32.store offset=4 - (get_local $11) - (get_local $13) + (get_local $10) + (get_local $12) ) (br $jumpthreading$inner$2) ) @@ -3592,19 +3589,19 @@ (get_local $31) ) (block - (set_local $9 + (set_local $1 (get_local $5) ) (set_local $5 - (get_local $7) + (get_local $6) ) (br $label$continue$L1) ) ) ) - (set_local $11 + (set_local $10 (select - (tee_local $10 + (tee_local $9 (i32.and (get_local $8) (i32.const -65537) @@ -3619,3565 +3616,3552 @@ ) (block $jumpthreading$outer$8 (block $jumpthreading$inner$8 - (block $jumpthreading$outer$7 - (block $jumpthreading$inner$7 - (block $jumpthreading$outer$6 - (block $jumpthreading$inner$6 - (block $jumpthreading$outer$5 - (block $jumpthreading$inner$5 - (block $jumpthreading$outer$4 - (block $jumpthreading$inner$4 - (block $jumpthreading$outer$3 - (block $jumpthreading$inner$3 - (set_local $7 - (block $switch$24 - (block $switch-default$127 - (block $switch-case$49 - (block $switch-case$48 - (block $switch-case$47 - (block $switch-case$46 - (block $switch-case$45 - (block $switch-case$44 - (block $switch-case$43 - (block $switch-case$41 - (block $switch-case$40 - (block $switch-case$36 - (block $switch-case$35 - (block $switch-case$34 - (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$49 $switch-default$127 $switch-case$44 $switch-case$41 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 - (i32.sub - (tee_local $16 - (select - (i32.and - (tee_local $8 - (i32.load8_s - (get_local $19) - ) - ) - (i32.const -33) - ) - (get_local $8) - (i32.and - (i32.ne - (get_local $12) - (i32.const 0) - ) - (i32.eq - (i32.and - (get_local $8) - (i32.const 15) - ) - (i32.const 3) - ) - ) - ) - ) - (i32.const 65) - ) - ) - ) - (block $switch-default$33 - (block $switch-case$32 - (block $switch-case$31 - (block $switch-case$30 - (block $switch-case$29 - (block $switch-case$28 - (block $switch-case$27 - (block $switch-case$26 - (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33 - (i32.sub - (get_local $12) - (i32.const 0) - ) - ) - ) - (i32.store - (i32.load - (get_local $18) - ) - (get_local $15) - ) - (set_local $9 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (br $label$continue$L1) - ) - (i32.store - (i32.load - (get_local $18) - ) - (get_local $15) - ) - (set_local $9 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (br $label$continue$L1) - ) - (i32.store - (tee_local $9 - (i32.load - (get_local $18) - ) - ) - (get_local $15) - ) - (i32.store offset=4 - (get_local $9) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $15) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.const 31) - ) - ) - (set_local $9 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (br $label$continue$L1) - ) - (i32.store16 - (i32.load - (get_local $18) - ) - (i32.and - (get_local $15) - (i32.const 65535) - ) - ) - (set_local $9 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (br $label$continue$L1) - ) - (i32.store8 - (i32.load - (get_local $18) - ) - (i32.and - (get_local $15) - (i32.const 255) - ) - ) - (set_local $9 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (br $label$continue$L1) - ) - (i32.store - (i32.load - (get_local $18) - ) - (get_local $15) - ) - (set_local $9 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (br $label$continue$L1) - ) - (i32.store - (tee_local $9 - (i32.load - (get_local $18) - ) - ) - (get_local $15) - ) - (i32.store offset=4 - (get_local $9) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $15) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.const 31) - ) - ) - (set_local $9 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (br $label$continue$L1) - ) - (set_local $9 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (br $label$continue$L1) - ) - (set_local $9 - (i32.or - (get_local $11) - (i32.const 8) - ) - ) - (set_local $6 - (select - (get_local $6) - (i32.const 8) - (i32.gt_u - (get_local $6) - (i32.const 8) - ) + (block $jumpthreading$inner$7 + (block $jumpthreading$inner$6 + (block $jumpthreading$inner$5 + (block $jumpthreading$inner$4 + (block $jumpthreading$inner$3 + (block $switch-default$127 + (block $switch-case$49 + (block $switch-case$48 + (block $switch-case$47 + (block $switch-case$46 + (block $switch-case$45 + (block $switch-case$44 + (block $switch-case$43 + (block $switch-case$41 + (block $switch-case$40 + (block $switch-case$36 + (block $switch-case$35 + (block $switch-case$34 + (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$49 $switch-default$127 $switch-case$44 $switch-case$41 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 + (i32.sub + (tee_local $16 + (select + (i32.and + (tee_local $8 + (i32.load8_s + (get_local $19) ) ) - (set_local $16 - (i32.const 120) - ) - (br $jumpthreading$inner$3) - ) - (set_local $9 - (get_local $11) + (i32.const -33) ) - (br $jumpthreading$inner$3) - ) - (if + (get_local $8) (i32.and - (i32.eqz - (tee_local $7 - (i32.load - (tee_local $9 - (get_local $18) - ) - ) - ) + (i32.ne + (get_local $11) + (i32.const 0) ) - (i32.eqz - (tee_local $8 - (i32.load offset=4 - (get_local $9) - ) + (i32.eq + (i32.and + (get_local $8) + (i32.const 15) ) + (i32.const 3) ) ) - (set_local $8 - (get_local $23) - ) - (block - (set_local $9 - (get_local $7) - ) - (set_local $7 - (get_local $8) - ) - (set_local $8 - (get_local $23) - ) - (loop $while-in$39 - (i32.store8 - (tee_local $8 - (i32.add - (get_local $8) - (i32.const -1) - ) - ) - (i32.and - (i32.or - (i32.and - (get_local $9) - (i32.const 7) - ) - (i32.const 48) + ) + ) + (i32.const 65) + ) + ) + ) + (block $switch-default$33 + (block $switch-case$32 + (block $switch-case$31 + (block $switch-case$30 + (block $switch-case$29 + (block $switch-case$28 + (block $switch-case$27 + (block $switch-case$26 + (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33 + (i32.sub + (get_local $11) + (i32.const 0) ) - (i32.const 255) ) ) - (br_if $while-in$39 - (i32.eqz - (i32.and - (i32.eqz - (tee_local $9 - (call $_bitshift64Lshr - (get_local $9) - (get_local $7) - (i32.const 3) - ) - ) - ) - (i32.eqz - (tee_local $7 - (get_global $tempRet0) - ) - ) - ) + (i32.store + (i32.load + (get_local $18) ) + (get_local $15) ) - ) - ) - ) - (if - (i32.and - (get_local $11) - (i32.const 8) - ) - (block - (set_local $7 - (get_local $8) - ) - (set_local $9 - (get_local $11) - ) - (set_local $6 - (select - (tee_local $11 - (i32.add - (i32.sub - (get_local $40) - (get_local $8) - ) - (i32.const 1) - ) - ) + (set_local $1 + (get_local $5) + ) + (set_local $5 (get_local $6) - (i32.lt_s - (get_local $6) - (get_local $11) - ) ) + (br $label$continue$L1) ) - (set_local $8 - (i32.const 0) - ) - (set_local $10 - (i32.const 4091) - ) - (br $jumpthreading$inner$8) - ) - (block - (set_local $7 - (get_local $8) - ) - (set_local $9 - (get_local $11) - ) - (set_local $8 - (i32.const 0) + (i32.store + (i32.load + (get_local $18) + ) + (get_local $15) ) - (set_local $10 - (i32.const 4091) + (set_local $1 + (get_local $5) ) - (br $jumpthreading$inner$8) - ) - ) - ) - (set_local $9 - (i32.load - (tee_local $7 - (get_local $18) - ) - ) - ) - (if - (i32.lt_s - (tee_local $7 - (i32.load offset=4 - (get_local $7) + (set_local $5 + (get_local $6) ) + (br $label$continue$L1) ) - (i32.const 0) - ) - (block (i32.store - (tee_local $8 - (get_local $18) - ) - (tee_local $9 - (call $_i64Subtract - (i32.const 0) - (i32.const 0) - (get_local $9) - (get_local $7) + (tee_local $1 + (i32.load + (get_local $18) ) ) + (get_local $15) ) (i32.store offset=4 - (get_local $8) - (tee_local $7 - (get_global $tempRet0) + (get_local $1) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $15) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) ) ) - (set_local $8 - (i32.const 1) + (set_local $1 + (get_local $5) ) - (set_local $10 - (i32.const 4091) + (set_local $5 + (get_local $6) ) - (br $jumpthreading$inner$4) + (br $label$continue$L1) ) - ) - (if - (i32.and - (get_local $11) - (i32.const 2048) - ) - (block - (set_local $8 - (i32.const 1) + (i32.store16 + (i32.load + (get_local $18) ) - (set_local $10 - (i32.const 4092) + (i32.and + (get_local $15) + (i32.const 65535) ) - (br $jumpthreading$inner$4) ) - (block - (set_local $8 - (tee_local $10 - (i32.and - (get_local $11) - (i32.const 1) - ) - ) - ) - (set_local $10 - (select - (i32.const 4093) - (i32.const 4091) - (get_local $10) - ) - ) - (br $jumpthreading$inner$4) + (set_local $1 + (get_local $5) + ) + (set_local $5 + (get_local $6) ) + (br $label$continue$L1) ) - ) - (set_local $9 - (i32.load - (tee_local $7 + (i32.store8 + (i32.load (get_local $18) ) + (i32.and + (get_local $15) + (i32.const 255) + ) ) + (set_local $1 + (get_local $5) + ) + (set_local $5 + (get_local $6) + ) + (br $label$continue$L1) ) - (set_local $7 - (i32.load offset=4 - (get_local $7) + (i32.store + (i32.load + (get_local $18) ) + (get_local $15) ) - (set_local $8 - (i32.const 0) + (set_local $1 + (get_local $5) ) - (set_local $10 - (i32.const 4091) + (set_local $5 + (get_local $6) ) - (br $jumpthreading$inner$4) + (br $label$continue$L1) ) - (set_local $9 - (get_local $18) - ) - (i32.store8 - (get_local $41) - (i32.and + (i32.store + (tee_local $1 (i32.load - (get_local $9) + (get_local $18) ) - (i32.const 255) ) + (get_local $15) ) - (set_local $11 - (get_local $10) + (i32.store offset=4 + (get_local $1) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $15) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) ) - (set_local $12 - (i32.const 1) + (set_local $1 + (get_local $5) ) - (set_local $8 - (i32.const 0) + (set_local $5 + (get_local $6) ) - (set_local $10 - (i32.const 4091) + (br $label$continue$L1) + ) + (set_local $1 + (get_local $5) + ) + (set_local $5 + (get_local $6) + ) + (br $label$continue$L1) + ) + (set_local $1 + (i32.or + (get_local $10) + (i32.const 8) + ) + ) + (set_local $7 + (select + (get_local $7) + (i32.const 8) + (i32.gt_u + (get_local $7) + (i32.const 8) ) - (set_local $6 - (get_local $23) + ) + ) + (set_local $16 + (i32.const 120) + ) + (br $jumpthreading$inner$3) + ) + (set_local $1 + (get_local $10) + ) + (br $jumpthreading$inner$3) + ) + (if + (i32.and + (i32.eqz + (tee_local $6 + (i32.load + (tee_local $1 + (get_local $18) + ) ) - (br $switch$24 - (get_local $41) + ) + ) + (i32.eqz + (tee_local $8 + (i32.load offset=4 + (get_local $1) ) ) - (set_local $9 - (call $_strerror - (i32.load - (call $___errno_location) + ) + ) + (set_local $8 + (get_local $23) + ) + (block + (set_local $1 + (get_local $6) + ) + (set_local $6 + (get_local $8) + ) + (set_local $8 + (get_local $23) + ) + (loop $while-in$39 + (i32.store8 + (tee_local $8 + (i32.add + (get_local $8) + (i32.const -1) + ) + ) + (i32.and + (i32.or + (i32.and + (get_local $1) + (i32.const 7) + ) + (i32.const 48) + ) + (i32.const 255) + ) + ) + (br_if $while-in$39 + (i32.eqz + (i32.and + (i32.eqz + (tee_local $1 + (call $_bitshift64Lshr + (get_local $1) + (get_local $6) + (i32.const 3) + ) + ) + ) + (i32.eqz + (tee_local $6 + (get_global $tempRet0) + ) + ) ) ) ) - (br $jumpthreading$inner$5) ) - (set_local $9 + ) + ) + (if + (i32.and + (get_local $10) + (i32.const 8) + ) + (block + (set_local $6 + (get_local $8) + ) + (set_local $1 + (get_local $10) + ) + (set_local $7 (select - (tee_local $9 - (i32.load - (get_local $18) + (tee_local $10 + (i32.add + (i32.sub + (get_local $40) + (get_local $8) + ) + (i32.const 1) ) ) - (i32.const 4101) - (i32.ne - (get_local $9) - (i32.const 0) + (get_local $7) + (i32.lt_s + (get_local $7) + (get_local $10) ) ) ) - (br $jumpthreading$inner$5) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (br $jumpthreading$inner$8) ) - (set_local $9 + (block + (set_local $6 + (get_local $8) + ) + (set_local $1 + (get_local $10) + ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (br $jumpthreading$inner$8) + ) + ) + ) + (set_local $1 + (i32.load + (tee_local $6 (get_local $18) ) - (i32.store - (get_local $42) - (i32.load - (get_local $9) + ) + ) + (if + (i32.lt_s + (tee_local $6 + (i32.load offset=4 + (get_local $6) ) ) + (i32.const 0) + ) + (block (i32.store - (get_local $45) - (i32.const 0) + (tee_local $8 + (get_local $18) + ) + (tee_local $1 + (call $_i64Subtract + (i32.const 0) + (i32.const 0) + (get_local $1) + (get_local $6) + ) + ) ) - (i32.store - (get_local $18) - (get_local $42) + (i32.store offset=4 + (get_local $8) + (tee_local $6 + (get_global $tempRet0) + ) ) (set_local $8 - (i32.const -1) + (i32.const 1) + ) + (set_local $9 + (i32.const 4091) ) - (br $jumpthreading$inner$6) + (br $jumpthreading$inner$4) ) - (if - (get_local $6) - (block - (set_local $8 - (get_local $6) - ) - (br $jumpthreading$inner$6) + ) + (if + (i32.and + (get_local $10) + (i32.const 2048) + ) + (block + (set_local $8 + (i32.const 1) ) - (block - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $17) - (i32.const 0) - (get_local $11) + (set_local $9 + (i32.const 4092) + ) + (br $jumpthreading$inner$4) + ) + (block + (set_local $8 + (tee_local $9 + (i32.and + (get_local $10) + (i32.const 1) + ) ) - (set_local $7 - (i32.const 0) + ) + (set_local $9 + (select + (i32.const 4093) + (i32.const 4091) + (get_local $9) ) - (br $jumpthreading$inner$7) ) + (br $jumpthreading$inner$4) ) ) - (set_local $14 - (f64.load + ) + (set_local $1 + (i32.load + (tee_local $6 (get_local $18) ) ) - (i32.store - (get_local $20) - (i32.const 0) + ) + (set_local $6 + (i32.load offset=4 + (get_local $6) ) - (f64.store + ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (br $jumpthreading$inner$4) + ) + (set_local $1 + (get_local $18) + ) + (i32.store8 + (get_local $41) + (i32.and + (i32.load + (get_local $1) + ) + (i32.const 255) + ) + ) + (set_local $6 + (get_local $41) + ) + (set_local $10 + (get_local $9) + ) + (set_local $11 + (i32.const 1) + ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (set_local $1 + (get_local $23) + ) + (br $jumpthreading$outer$8) + ) + (set_local $1 + (call $_strerror + (i32.load + (call $___errno_location) + ) + ) + ) + (br $jumpthreading$inner$5) + ) + (set_local $1 + (select + (tee_local $1 + (i32.load + (get_local $18) + ) + ) + (i32.const 4101) + (i32.ne + (get_local $1) + (i32.const 0) + ) + ) + ) + (br $jumpthreading$inner$5) + ) + (set_local $1 + (get_local $18) + ) + (i32.store + (get_local $42) + (i32.load + (get_local $1) + ) + ) + (i32.store + (get_local $45) + (i32.const 0) + ) + (i32.store + (get_local $18) + (get_local $42) + ) + (set_local $8 + (i32.const -1) + ) + (br $jumpthreading$inner$6) + ) + (if + (get_local $7) + (block + (set_local $8 + (get_local $7) + ) + (br $jumpthreading$inner$6) + ) + (block + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $17) + (i32.const 0) + (get_local $10) + ) + (set_local $6 + (i32.const 0) + ) + (br $jumpthreading$inner$7) + ) + ) + ) + (set_local $14 + (f64.load + (get_local $18) + ) + ) + (i32.store + (get_local $20) + (i32.const 0) + ) + (f64.store + (get_global $tempDoublePtr) + (get_local $14) + ) + (set_local $33 + (if + (i32.lt_s + (i32.load offset=4 + (get_global $tempDoublePtr) + ) + (i32.const 0) + ) + (block + (set_local $28 + (i32.const 1) + ) + (set_local $14 + (f64.neg + (get_local $14) + ) + ) + (i32.const 4108) + ) + (if + (i32.and + (get_local $10) + (i32.const 2048) + ) + (block + (set_local $28 + (i32.const 1) + ) + (i32.const 4111) + ) + (block + (set_local $28 + (tee_local $1 + (i32.and + (get_local $10) + (i32.const 1) + ) + ) + ) + (select + (i32.const 4114) + (i32.const 4109) + (get_local $1) + ) + ) + ) + ) + ) + (f64.store + (get_global $tempDoublePtr) + (get_local $14) + ) + (set_local $1 + (get_local $5) + ) + (set_local $5 + (block $do-once$56 + (if + (i32.or + (i32.lt_u + (tee_local $5 + (i32.and + (i32.load offset=4 (get_global $tempDoublePtr) - (get_local $14) ) - (set_local $33 - (if - (i32.lt_s - (i32.load offset=4 - (get_global $tempDoublePtr) - ) - (i32.const 0) + (i32.const 2146435072) + ) + ) + (i32.const 2146435072) + ) + (i32.and + (i32.eq + (get_local $5) + (i32.const 2146435072) + ) + (i32.const 0) + ) + ) + (block + (if + (tee_local $5 + (f64.ne + (tee_local $22 + (f64.mul + (call $_frexpl + (get_local $14) + (get_local $20) ) - (block - (set_local $28 - (i32.const 1) + (f64.const 2) + ) + ) + (f64.const 0) + ) + ) + (i32.store + (get_local $20) + (i32.add + (i32.load + (get_local $20) + ) + (i32.const -1) + ) + ) + ) + (if + (i32.eq + (tee_local $25 + (i32.or + (get_local $16) + (i32.const 32) + ) + ) + (i32.const 97) + ) + (block + (set_local $19 + (select + (i32.add + (get_local $33) + (i32.const 9) + ) + (get_local $33) + (tee_local $9 + (i32.and + (get_local $16) + (i32.const 32) + ) + ) + ) + ) + (set_local $8 + (i32.or + (get_local $28) + (i32.const 2) + ) + ) + (set_local $14 + (if + (i32.or + (i32.gt_u + (get_local $7) + (i32.const 11) + ) + (i32.eqz + (tee_local $5 + (i32.sub + (i32.const 12) + (get_local $7) + ) ) + ) + ) + (get_local $22) + (block + (set_local $14 + (f64.const 8) + ) + (loop $while-in$61 (set_local $14 - (f64.neg + (f64.mul (get_local $14) + (f64.const 16) + ) + ) + (br_if $while-in$61 + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -1) + ) ) ) - (i32.const 4108) ) - (if - (i32.and - (get_local $11) - (i32.const 2048) + (select + (f64.neg + (f64.add + (get_local $14) + (f64.sub + (f64.neg + (get_local $22) + ) + (get_local $14) + ) + ) ) - (block - (set_local $28 - (i32.const 1) + (f64.sub + (f64.add + (get_local $22) + (get_local $14) ) - (i32.const 4111) + (get_local $14) ) - (block - (set_local $28 - (tee_local $9 - (i32.and - (get_local $11) - (i32.const 1) + (i32.eq + (i32.load8_s + (get_local $19) + ) + (i32.const 45) + ) + ) + ) + ) + ) + (i32.store8 + (i32.add + (tee_local $6 + (if + (i32.eq + (tee_local $6 + (call $_fmt_u + (tee_local $6 + (select + (i32.sub + (i32.const 0) + (tee_local $5 + (i32.load + (get_local $20) + ) + ) + ) + (get_local $5) + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + ) + ) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $6) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) ) + (get_local $34) ) ) - (select - (i32.const 4114) - (i32.const 4109) - (get_local $9) + (get_local $34) + ) + (block + (i32.store8 + (get_local $43) + (i32.const 48) ) + (get_local $43) ) + (get_local $6) ) ) + (i32.const -1) ) - (f64.store - (get_global $tempDoublePtr) - (get_local $14) + (i32.and + (i32.add + (i32.and + (i32.shr_s + (get_local $5) + (i32.const 31) + ) + (i32.const 2) + ) + (i32.const 43) + ) + (i32.const 255) ) - (set_local $9 + ) + (i32.store8 + (tee_local $11 + (i32.add + (get_local $6) + (i32.const -2) + ) + ) + (i32.and + (i32.add + (get_local $16) + (i32.const 15) + ) + (i32.const 255) + ) + ) + (set_local $12 + (i32.lt_s + (get_local $7) + (i32.const 1) + ) + ) + (set_local $16 + (i32.eqz + (i32.and + (get_local $10) + (i32.const 8) + ) + ) + ) + (set_local $5 + (get_local $24) + ) + (loop $while-in$63 + (i32.store8 (get_local $5) + (i32.and + (i32.or + (i32.and + (i32.load8_s + (i32.add + (tee_local $6 + (call_import $f64-to-int + (get_local $14) + ) + ) + (i32.const 4075) + ) + ) + (i32.const 255) + ) + (get_local $9) + ) + (i32.const 255) + ) + ) + (set_local $14 + (f64.mul + (f64.sub + (get_local $14) + (f64.convert_s/i32 + (get_local $6) + ) + ) + (f64.const 16) + ) ) (set_local $5 - (block $do-once$56 + (block $do-once$64 (if - (i32.or - (i32.lt_u - (tee_local $5 + (i32.eq + (i32.sub + (tee_local $6 + (i32.add + (get_local $5) + (i32.const 1) + ) + ) + (get_local $38) + ) + (i32.const 1) + ) + (block + (br_if $do-once$64 + (get_local $6) + (i32.and + (get_local $16) (i32.and - (i32.load offset=4 - (get_global $tempDoublePtr) + (get_local $12) + (f64.eq + (get_local $14) + (f64.const 0) ) - (i32.const 2146435072) ) ) - (i32.const 2146435072) + ) + (i32.store8 + (get_local $6) + (i32.const 46) + ) + (i32.add + (get_local $5) + (i32.const 2) + ) + ) + (get_local $6) + ) + ) + ) + (br_if $while-in$63 + (f64.ne + (get_local $14) + (f64.const 0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $17) + (tee_local $6 + (i32.add + (tee_local $7 + (select + (i32.sub + (i32.add + (get_local $48) + (get_local $7) + ) + (get_local $11) + ) + (i32.add + (i32.sub + (get_local $46) + (get_local $11) + ) + (get_local $5) ) (i32.and - (i32.eq - (get_local $5) - (i32.const 2146435072) + (i32.ne + (get_local $7) + (i32.const 0) + ) + (i32.lt_s + (i32.add + (get_local $47) + (get_local $5) + ) + (get_local $7) ) - (i32.const 0) ) ) + ) + (get_local $8) + ) + ) + (get_local $10) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $19) + (get_local $8) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (get_local $17) + (get_local $6) + (i32.xor + (get_local $10) + (i32.const 65536) + ) + ) + (set_local $5 + (i32.sub + (get_local $5) + (get_local $38) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $24) + (get_local $5) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.sub + (get_local $7) + (i32.add + (get_local $5) + (tee_local $5 + (i32.sub + (get_local $30) + (get_local $11) + ) + ) + ) + ) + (i32.const 0) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $11) + (get_local $5) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $17) + (get_local $6) + (i32.xor + (get_local $10) + (i32.const 8192) + ) + ) + (br $do-once$56 + (select + (get_local $17) + (get_local $6) + (i32.lt_s + (get_local $6) + (get_local $17) + ) + ) + ) + ) + ) + (set_local $19 + (select + (i32.const 6) + (get_local $7) + (i32.lt_s + (get_local $7) + (i32.const 0) + ) + ) + ) + (set_local $36 + (tee_local $8 + (select + (get_local $49) + (get_local $50) + (i32.lt_s + (if + (get_local $5) + (block + (i32.store + (get_local $20) + (tee_local $5 + (i32.add + (i32.load + (get_local $20) + ) + (i32.const -28) + ) + ) + ) + (set_local $14 + (f64.mul + (get_local $22) + (f64.const 268435456) + ) + ) + (get_local $5) + ) + (block + (set_local $14 + (get_local $22) + ) + (i32.load + (get_local $20) + ) + ) + ) + (i32.const 0) + ) + ) + ) + ) + (set_local $6 + (get_local $8) + ) + (loop $while-in$67 + (i32.store + (get_local $6) + (tee_local $5 + (call_import $f64-to-int + (get_local $14) + ) + ) + ) + (set_local $6 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + (br_if $while-in$67 + (f64.ne + (tee_local $14 + (f64.mul + (f64.sub + (get_local $14) + (f64.convert_u/i32 + (get_local $5) + ) + ) + (f64.const 1e9) + ) + ) + (f64.const 0) + ) + ) + ) + (if + (i32.gt_s + (tee_local $7 + (i32.load + (get_local $20) + ) + ) + (i32.const 0) + ) + (block + (set_local $9 + (get_local $8) + ) + (loop $while-in$69 + (set_local $21 + (select + (i32.const 29) + (get_local $7) + (i32.gt_s + (get_local $7) + (i32.const 29) + ) + ) + ) + (set_local $9 + (block $do-once$70 + (if + (i32.lt_u + (tee_local $7 + (i32.add + (get_local $6) + (i32.const -4) + ) + ) + (get_local $9) + ) + (get_local $9) (block - (if - (tee_local $5 - (f64.ne - (tee_local $22 - (f64.mul - (call $_frexpl - (get_local $14) - (get_local $20) + (set_local $5 + (i32.const 0) + ) + (loop $while-in$73 + (set_local $12 + (call $___uremdi3 + (tee_local $5 + (call $_i64Add + (call $_bitshift64Shl + (i32.load + (get_local $7) + ) + (i32.const 0) + (get_local $21) ) - (f64.const 2) + (get_global $tempRet0) + (get_local $5) + (i32.const 0) ) ) - (f64.const 0) + (tee_local $11 + (get_global $tempRet0) + ) + (i32.const 1000000000) + (i32.const 0) ) ) (i32.store - (get_local $20) - (i32.add - (i32.load - (get_local $20) - ) - (i32.const -1) - ) + (get_local $7) + (get_local $12) ) - ) - (if - (i32.eq - (tee_local $25 - (i32.or - (get_local $16) - (i32.const 32) - ) + (set_local $5 + (call $___udivdi3 + (get_local $5) + (get_local $11) + (i32.const 1000000000) + (i32.const 0) ) - (i32.const 97) ) - (block - (set_local $19 - (select + (br_if $while-in$73 + (i32.ge_u + (tee_local $7 (i32.add - (get_local $33) - (i32.const 9) - ) - (get_local $33) - (tee_local $10 - (i32.and - (get_local $16) - (i32.const 32) - ) + (get_local $7) + (i32.const -4) ) ) + (get_local $9) ) - (set_local $8 - (i32.or - (get_local $28) - (i32.const 2) - ) + ) + ) + (br_if $do-once$70 + (get_local $9) + (i32.eqz + (get_local $5) + ) + ) + (i32.store + (tee_local $7 + (i32.add + (get_local $9) + (i32.const -4) ) - (set_local $14 + ) + (get_local $5) + ) + (get_local $7) + ) + ) + ) + ) + (set_local $5 + (get_local $6) + ) + (loop $while-in$75 + (block $while-out$74 + (if + (i32.le_u + (get_local $5) + (get_local $9) + ) + (block + (set_local $6 + (get_local $5) + ) + (br $while-out$74) + ) + ) + (if + (i32.load + (tee_local $6 + (i32.add + (get_local $5) + (i32.const -4) + ) + ) + ) + (set_local $6 + (get_local $5) + ) + (block + (set_local $5 + (get_local $6) + ) + (br $while-in$75) + ) + ) + ) + ) + (i32.store + (get_local $20) + (tee_local $7 + (i32.sub + (i32.load + (get_local $20) + ) + (get_local $21) + ) + ) + ) + (br_if $while-in$69 + (i32.gt_s + (get_local $7) + (i32.const 0) + ) + ) + (set_local $5 + (get_local $9) + ) + ) + ) + (set_local $5 + (get_local $8) + ) + ) + (if + (i32.lt_s + (get_local $7) + (i32.const 0) + ) + (block + (set_local $12 + (i32.add + (i32.and + (call_import $i32s-div + (i32.add + (get_local $19) + (i32.const 25) + ) + (i32.const 9) + ) + (i32.const -1) + ) + (i32.const 1) + ) + ) + (set_local $21 + (i32.eq + (get_local $25) + (i32.const 102) + ) + ) + (loop $while-in$77 + (set_local $26 + (select + (i32.const 9) + (tee_local $7 + (i32.sub + (i32.const 0) + (get_local $7) + ) + ) + (i32.gt_s + (get_local $7) + (i32.const 9) + ) + ) + ) + (set_local $6 + (select + (i32.add + (tee_local $7 + (select + (get_local $8) + (tee_local $5 + (block $do-once$78 (if - (i32.or - (i32.gt_u - (get_local $6) - (i32.const 11) - ) - (i32.eqz - (tee_local $5 - (i32.sub - (i32.const 12) - (get_local $6) - ) - ) - ) + (i32.lt_u + (get_local $5) + (get_local $6) ) - (get_local $22) (block - (set_local $14 - (f64.const 8) - ) - (loop $while-in$61 - (set_local $14 - (f64.mul - (get_local $14) - (f64.const 16) - ) - ) - (br_if $while-in$61 - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -1) - ) + (set_local $39 + (i32.add + (i32.shl + (i32.const 1) + (get_local $26) ) + (i32.const -1) ) ) - (select - (f64.neg - (f64.add - (get_local $14) - (f64.sub - (f64.neg - (get_local $22) - ) - (get_local $14) - ) - ) - ) - (f64.sub - (f64.add - (get_local $22) - (get_local $14) - ) - (get_local $14) - ) - (i32.eq - (i32.load8_s - (get_local $19) - ) - (i32.const 45) + (set_local $29 + (i32.shr_u + (i32.const 1000000000) + (get_local $26) ) ) - ) - ) - ) - (i32.store8 - (i32.add - (tee_local $7 - (if - (i32.eq - (tee_local $7 - (call $_fmt_u - (tee_local $7 - (select - (i32.sub - (i32.const 0) - (tee_local $5 - (i32.load - (get_local $20) - ) - ) - ) - (get_local $5) - (i32.lt_s - (get_local $5) - (i32.const 0) - ) - ) - ) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $7) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.const 31) - ) - (get_local $34) - ) - ) - (get_local $34) - ) - (block - (i32.store8 - (get_local $43) - (i32.const 48) - ) - (get_local $43) - ) - (get_local $7) + (set_local $9 + (i32.const 0) ) - ) - (i32.const -1) - ) - (i32.and - (i32.add - (i32.and - (i32.shr_s - (get_local $5) - (i32.const 31) - ) - (i32.const 2) + (set_local $7 + (get_local $5) ) - (i32.const 43) - ) - (i32.const 255) - ) - ) - (i32.store8 - (tee_local $12 - (i32.add - (get_local $7) - (i32.const -2) - ) - ) - (i32.and - (i32.add - (get_local $16) - (i32.const 15) - ) - (i32.const 255) - ) - ) - (set_local $13 - (i32.lt_s - (get_local $6) - (i32.const 1) - ) - ) - (set_local $16 - (i32.eqz - (i32.and - (get_local $11) - (i32.const 8) - ) - ) - ) - (set_local $5 - (get_local $24) - ) - (loop $while-in$63 - (i32.store8 - (get_local $5) - (i32.and - (i32.or - (i32.and - (i32.load8_s - (i32.add - (tee_local $7 - (call_import $f64-to-int - (get_local $14) + (loop $while-in$81 + (i32.store + (get_local $7) + (i32.add + (i32.shr_u + (tee_local $11 + (i32.load + (get_local $7) ) ) - (i32.const 4075) + (get_local $26) ) + (get_local $9) ) - (i32.const 255) ) - (get_local $10) - ) - (i32.const 255) - ) - ) - (set_local $14 - (f64.mul - (f64.sub - (get_local $14) - (f64.convert_s/i32 - (get_local $7) - ) - ) - (f64.const 16) - ) - ) - (set_local $5 - (block $do-once$64 - (if - (i32.eq - (i32.sub - (tee_local $7 - (i32.add - (get_local $5) - (i32.const 1) - ) + (set_local $9 + (i32.mul + (i32.and + (get_local $11) + (get_local $39) ) - (get_local $38) + (get_local $29) ) - (i32.const 1) ) - (block - (br_if $do-once$64 - (get_local $7) - (i32.and - (get_local $16) - (i32.and - (get_local $13) - (f64.eq - (get_local $14) - (f64.const 0) - ) + (br_if $while-in$81 + (i32.lt_u + (tee_local $7 + (i32.add + (get_local $7) + (i32.const 4) ) ) - ) - (i32.store8 - (get_local $7) - (i32.const 46) - ) - (i32.add - (get_local $5) - (i32.const 2) + (get_local $6) ) ) - (get_local $7) ) - ) - ) - (br_if $while-in$63 - (f64.ne - (get_local $14) - (f64.const 0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $17) - (tee_local $7 - (i32.add - (tee_local $6 + (set_local $5 (select - (i32.sub - (i32.add - (get_local $48) - (get_local $6) - ) - (get_local $12) - ) + (get_local $5) (i32.add - (i32.sub - (get_local $46) - (get_local $12) - ) (get_local $5) + (i32.const 4) ) - (i32.and - (i32.ne - (get_local $6) - (i32.const 0) - ) - (i32.lt_s - (i32.add - (get_local $47) - (get_local $5) - ) - (get_local $6) - ) + (i32.load + (get_local $5) ) ) ) - (get_local $8) - ) - ) - (get_local $11) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) + (br_if $do-once$78 + (get_local $5) + (i32.eqz + (get_local $9) + ) ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $19) - (get_local $8) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (get_local $17) - (get_local $7) - (i32.xor - (get_local $11) - (i32.const 65536) - ) - ) - (set_local $5 - (i32.sub - (get_local $5) - (get_local $38) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) + (i32.store + (get_local $6) + (get_local $9) + ) + (set_local $6 + (i32.add + (get_local $6) + (i32.const 4) + ) ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $24) (get_local $5) - (get_local $0) ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (i32.sub - (get_local $6) - (i32.add + (select (get_local $5) - (tee_local $5 - (i32.sub - (get_local $30) - (get_local $12) - ) + (i32.add + (get_local $5) + (i32.const 4) ) - ) - ) - (i32.const 0) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and (i32.load - (get_local $0) + (get_local $5) ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $12) - (get_local $5) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $17) - (get_local $7) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (br $do-once$56 - (select - (get_local $17) - (get_local $7) - (i32.lt_s - (get_local $7) - (get_local $17) ) ) ) ) + (get_local $21) ) - (set_local $19 - (select - (i32.const 6) - (get_local $6) - (i32.lt_s - (get_local $6) + ) + (i32.shl + (get_local $12) + (i32.const 2) + ) + ) + (get_local $6) + (i32.gt_s + (i32.shr_s + (i32.sub + (get_local $6) + (get_local $7) + ) + (i32.const 2) + ) + (get_local $12) + ) + ) + ) + (i32.store + (get_local $20) + (tee_local $7 + (i32.add + (i32.load + (get_local $20) + ) + (get_local $26) + ) + ) + ) + (br_if $while-in$77 + (i32.lt_s + (get_local $7) + (i32.const 0) + ) + ) + (set_local $9 + (get_local $6) + ) + ) + ) + (set_local $9 + (get_local $6) + ) + ) + (block $do-once$82 + (if + (i32.lt_u + (get_local $5) + (get_local $9) + ) + (block + (set_local $6 + (i32.mul + (i32.shr_s + (i32.sub + (get_local $36) + (get_local $5) + ) + (i32.const 2) + ) + (i32.const 9) + ) + ) + (br_if $do-once$82 + (i32.lt_u + (tee_local $11 + (i32.load + (get_local $5) + ) + ) + (i32.const 10) + ) + ) + (set_local $7 + (i32.const 10) + ) + (loop $while-in$85 + (set_local $6 + (i32.add + (get_local $6) + (i32.const 1) + ) + ) + (br_if $while-in$85 + (i32.ge_u + (get_local $11) + (tee_local $7 + (i32.mul + (get_local $7) + (i32.const 10) + ) + ) + ) + ) + ) + ) + (set_local $6 + (i32.const 0) + ) + ) + ) + (set_local $12 + (if + (i32.lt_s + (tee_local $7 + (i32.add + (i32.sub + (get_local $19) + (select + (get_local $6) + (i32.const 0) + (i32.ne + (get_local $25) + (i32.const 102) + ) + ) + ) + (i32.shr_s + (i32.shl + (i32.and + (tee_local $39 + (i32.ne + (get_local $19) (i32.const 0) ) ) + (tee_local $21 + (i32.eq + (get_local $25) + (i32.const 103) + ) + ) ) - (set_local $36 - (tee_local $8 - (select - (get_local $49) - (get_local $50) - (i32.lt_s - (if - (get_local $5) - (block - (i32.store - (get_local $20) - (tee_local $5 - (i32.add - (i32.load - (get_local $20) - ) - (i32.const -28) - ) - ) - ) - (set_local $14 - (f64.mul - (get_local $22) - (f64.const 268435456) - ) - ) - (get_local $5) - ) - (block - (set_local $14 - (get_local $22) - ) - (i32.load - (get_local $20) - ) - ) - ) - (i32.const 0) + (i32.const 31) + ) + (i32.const 31) + ) + ) + ) + (i32.add + (i32.mul + (i32.shr_s + (i32.sub + (get_local $9) + (get_local $36) + ) + (i32.const 2) + ) + (i32.const 9) + ) + (i32.const -9) + ) + ) + (block + (set_local $7 + (i32.add + (i32.add + (get_local $8) + (i32.const 4) + ) + (i32.shl + (i32.add + (i32.and + (call_import $i32s-div + (tee_local $11 + (i32.add + (get_local $7) + (i32.const 9216) ) ) + (i32.const 9) ) + (i32.const -1) ) - (set_local $7 - (get_local $8) + (i32.const -1024) + ) + (i32.const 2) + ) + ) + ) + (if + (i32.lt_s + (tee_local $11 + (i32.add + (i32.and + (call_import $i32s-rem + (get_local $11) + (i32.const 9) + ) + (i32.const -1) ) - (loop $while-in$67 - (i32.store - (get_local $7) - (tee_local $5 - (call_import $f64-to-int - (get_local $14) - ) + (i32.const 1) + ) + ) + (i32.const 9) + ) + (block + (set_local $12 + (i32.const 10) + ) + (loop $while-in$87 + (set_local $12 + (i32.mul + (get_local $12) + (i32.const 10) + ) + ) + (br_if $while-in$87 + (i32.ne + (tee_local $11 + (i32.add + (get_local $11) + (i32.const 1) ) ) - (set_local $7 + (i32.const 9) + ) + ) + ) + ) + (set_local $12 + (i32.const 10) + ) + ) + (block $do-once$88 + (if + (i32.eqz + (i32.and + (tee_local $26 + (i32.eq (i32.add (get_local $7) (i32.const 4) ) + (get_local $9) ) - (br_if $while-in$67 - (f64.ne - (tee_local $14 - (f64.mul - (f64.sub - (get_local $14) - (f64.convert_u/i32 - (get_local $5) - ) + ) + (i32.eqz + (tee_local $29 + (i32.and + (call_import $i32u-rem + (tee_local $11 + (i32.load + (get_local $7) ) - (f64.const 1e9) ) + (get_local $12) ) - (f64.const 0) + (i32.const -1) ) ) ) - (if - (i32.gt_s - (tee_local $6 - (i32.load - (get_local $20) + ) + ) + (block + (set_local $22 + (select + (f64.const 9007199254740994) + (f64.const 9007199254740992) + (i32.and + (i32.and + (call_import $i32u-div + (get_local $11) + (get_local $12) ) + (i32.const -1) ) - (i32.const 0) + (i32.const 1) ) - (block - (set_local $10 - (get_local $8) - ) - (loop $while-in$69 - (set_local $21 - (select - (i32.const 29) - (get_local $6) - (i32.gt_s - (get_local $6) - (i32.const 29) - ) - ) - ) - (set_local $10 - (block $do-once$70 - (if - (i32.lt_u - (tee_local $6 - (i32.add - (get_local $7) - (i32.const -4) - ) - ) - (get_local $10) - ) - (get_local $10) - (block - (set_local $5 - (i32.const 0) - ) - (loop $while-in$73 - (set_local $13 - (call $___uremdi3 - (tee_local $5 - (call $_i64Add - (call $_bitshift64Shl - (i32.load - (get_local $6) - ) - (i32.const 0) - (get_local $21) - ) - (get_global $tempRet0) - (get_local $5) - (i32.const 0) - ) - ) - (tee_local $12 - (get_global $tempRet0) - ) - (i32.const 1000000000) - (i32.const 0) - ) - ) - (i32.store - (get_local $6) - (get_local $13) - ) - (set_local $5 - (call $___udivdi3 - (get_local $5) - (get_local $12) - (i32.const 1000000000) - (i32.const 0) - ) - ) - (br_if $while-in$73 - (i32.ge_u - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -4) - ) - ) - (get_local $10) - ) - ) - ) - (br_if $do-once$70 - (get_local $10) - (i32.eqz - (get_local $5) - ) - ) - (i32.store - (tee_local $6 - (i32.add - (get_local $10) - (i32.const -4) - ) - ) - (get_local $5) - ) - (get_local $6) - ) - ) + ) + ) + (set_local $14 + (if + (i32.lt_u + (get_local $29) + (tee_local $25 + (i32.and + (call_import $i32s-div + (get_local $12) + (i32.const 2) ) + (i32.const -1) ) - (set_local $5 - (get_local $7) - ) - (loop $while-in$75 - (block $while-out$74 - (if - (i32.le_u - (get_local $5) - (get_local $10) - ) - (block - (set_local $7 - (get_local $5) - ) - (br $while-out$74) - ) - ) - (if - (i32.load - (tee_local $7 - (i32.add - (get_local $5) - (i32.const -4) - ) - ) - ) - (set_local $7 - (get_local $5) - ) - (block - (set_local $5 - (get_local $7) - ) - (br $while-in$75) - ) - ) - ) + ) + ) + (f64.const 0.5) + (select + (f64.const 1) + (f64.const 1.5) + (i32.and + (get_local $26) + (i32.eq + (get_local $29) + (get_local $25) ) - (i32.store - (get_local $20) - (tee_local $6 - (i32.sub - (i32.load - (get_local $20) - ) - (get_local $21) + ) + ) + ) + ) + (set_local $22 + (block $do-once$90 + (if + (get_local $28) + (block + (br_if $do-once$90 + (get_local $22) + (i32.ne + (i32.load8_s + (get_local $33) ) + (i32.const 45) ) ) - (br_if $while-in$69 - (i32.gt_s - (get_local $6) - (i32.const 0) + (set_local $14 + (f64.neg + (get_local $14) ) ) - (set_local $5 - (get_local $10) + (f64.neg + (get_local $22) ) ) + (get_local $22) ) - (set_local $5 - (get_local $8) + ) + ) + (i32.store + (get_local $7) + (tee_local $11 + (i32.sub + (get_local $11) + (get_local $29) ) ) - (if - (i32.lt_s - (get_local $6) + ) + (br_if $do-once$88 + (f64.eq + (f64.add + (get_local $22) + (get_local $14) + ) + (get_local $22) + ) + ) + (i32.store + (get_local $7) + (tee_local $6 + (i32.add + (get_local $11) + (get_local $12) + ) + ) + ) + (if + (i32.gt_u + (get_local $6) + (i32.const 999999999) + ) + (loop $while-in$93 + (i32.store + (get_local $7) (i32.const 0) ) - (block - (set_local $13 - (i32.add - (i32.and - (call_import $i32s-div - (i32.add - (get_local $19) - (i32.const 25) - ) - (i32.const 9) - ) - (i32.const -1) - ) - (i32.const 1) - ) - ) - (set_local $21 - (i32.eq - (get_local $25) - (i32.const 102) - ) - ) - (loop $while-in$77 - (set_local $26 - (select - (i32.const 9) - (tee_local $6 - (i32.sub - (i32.const 0) - (get_local $6) - ) - ) - (i32.gt_s - (get_local $6) - (i32.const 9) - ) - ) - ) - (set_local $7 - (select + (set_local $5 + (if + (i32.lt_u + (tee_local $7 (i32.add - (tee_local $6 - (select - (get_local $8) - (tee_local $5 - (block $do-once$78 - (if - (i32.lt_u - (get_local $5) - (get_local $7) - ) - (block - (set_local $39 - (i32.add - (i32.shl - (i32.const 1) - (get_local $26) - ) - (i32.const -1) - ) - ) - (set_local $29 - (i32.shr_u - (i32.const 1000000000) - (get_local $26) - ) - ) - (set_local $10 - (i32.const 0) - ) - (set_local $6 - (get_local $5) - ) - (loop $while-in$81 - (i32.store - (get_local $6) - (i32.add - (i32.shr_u - (tee_local $12 - (i32.load - (get_local $6) - ) - ) - (get_local $26) - ) - (get_local $10) - ) - ) - (set_local $10 - (i32.mul - (i32.and - (get_local $12) - (get_local $39) - ) - (get_local $29) - ) - ) - (br_if $while-in$81 - (i32.lt_u - (tee_local $6 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) - (get_local $7) - ) - ) - ) - (set_local $5 - (select - (get_local $5) - (i32.add - (get_local $5) - (i32.const 4) - ) - (i32.load - (get_local $5) - ) - ) - ) - (br_if $do-once$78 - (get_local $5) - (i32.eqz - (get_local $10) - ) - ) - (i32.store - (get_local $7) - (get_local $10) - ) - (set_local $7 - (i32.add - (get_local $7) - (i32.const 4) - ) - ) - (get_local $5) - ) - (select - (get_local $5) - (i32.add - (get_local $5) - (i32.const 4) - ) - (i32.load - (get_local $5) - ) - ) - ) - ) - ) - (get_local $21) - ) - ) - (i32.shl - (get_local $13) - (i32.const 2) - ) - ) - (get_local $7) - (i32.gt_s - (i32.shr_s - (i32.sub - (get_local $7) - (get_local $6) - ) - (i32.const 2) - ) - (get_local $13) + (get_local $7) + (i32.const -4) ) ) + (get_local $5) ) - (i32.store - (get_local $20) - (tee_local $6 - (i32.add - (i32.load - (get_local $20) + (block + (i32.store + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -4) ) - (get_local $26) ) - ) - ) - (br_if $while-in$77 - (i32.lt_s - (get_local $6) (i32.const 0) ) + (get_local $5) ) - (set_local $10 - (get_local $7) - ) + (get_local $5) ) ) - (set_local $10 + (i32.store (get_local $7) + (tee_local $6 + (i32.add + (i32.load + (get_local $7) + ) + (i32.const 1) + ) + ) + ) + (br_if $while-in$93 + (i32.gt_u + (get_local $6) + (i32.const 999999999) + ) ) ) - (block $do-once$82 - (if - (i32.lt_u + ) + (set_local $6 + (i32.mul + (i32.shr_s + (i32.sub + (get_local $36) (get_local $5) - (get_local $10) ) - (block - (set_local $7 - (i32.mul - (i32.shr_s - (i32.sub - (get_local $36) - (get_local $5) - ) - (i32.const 2) - ) - (i32.const 9) - ) - ) - (br_if $do-once$82 - (i32.lt_u - (tee_local $12 - (i32.load - (get_local $5) - ) - ) - (i32.const 10) - ) - ) - (set_local $6 + (i32.const 2) + ) + (i32.const 9) + ) + ) + (br_if $do-once$88 + (i32.lt_u + (tee_local $12 + (i32.load + (get_local $5) + ) + ) + (i32.const 10) + ) + ) + (set_local $11 + (i32.const 10) + ) + (loop $while-in$95 + (set_local $6 + (i32.add + (get_local $6) + (i32.const 1) + ) + ) + (br_if $while-in$95 + (i32.ge_u + (get_local $12) + (tee_local $11 + (i32.mul + (get_local $11) (i32.const 10) ) - (loop $while-in$85 - (set_local $7 - (i32.add - (get_local $7) - (i32.const 1) - ) + ) + ) + ) + ) + ) + ) + ) + (set_local $11 + (get_local $6) + ) + (set_local $9 + (select + (tee_local $6 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (get_local $9) + (i32.gt_u + (get_local $9) + (get_local $6) + ) + ) + ) + (get_local $5) + ) + (block + (set_local $11 + (get_local $6) + ) + (get_local $5) + ) + ) + ) + (set_local $25 + (i32.sub + (i32.const 0) + (get_local $11) + ) + ) + (set_local $5 + (get_local $9) + ) + (loop $while-in$97 + (block $while-out$96 + (if + (i32.le_u + (get_local $5) + (get_local $12) + ) + (block + (set_local $26 + (i32.const 0) + ) + (set_local $9 + (get_local $5) + ) + (br $while-out$96) + ) + ) + (if + (i32.load + (tee_local $6 + (i32.add + (get_local $5) + (i32.const -4) + ) + ) + ) + (block + (set_local $26 + (i32.const 1) + ) + (set_local $9 + (get_local $5) + ) + ) + (block + (set_local $5 + (get_local $6) + ) + (br $while-in$97) + ) + ) + ) + ) + (set_local $19 + (block $do-once$98 + (if + (get_local $21) + (block + (set_local $16 + (if + (i32.and + (i32.gt_s + (tee_local $5 + (i32.add + (i32.xor + (i32.and + (get_local $39) + (i32.const 1) ) - (br_if $while-in$85 - (i32.ge_u - (get_local $12) - (tee_local $6 - (i32.mul - (get_local $6) - (i32.const 10) - ) - ) - ) + (i32.const 1) + ) + (get_local $19) + ) + ) + (get_local $11) + ) + (i32.gt_s + (get_local $11) + (i32.const -5) + ) + ) + (block + (set_local $6 + (i32.add + (get_local $16) + (i32.const -1) + ) + ) + (i32.sub + (i32.add + (get_local $5) + (i32.const -1) + ) + (get_local $11) + ) + ) + (block + (set_local $6 + (i32.add + (get_local $16) + (i32.const -2) + ) + ) + (i32.add + (get_local $5) + (i32.const -1) + ) + ) + ) + ) + (if + (tee_local $7 + (i32.and + (get_local $10) + (i32.const 8) + ) + ) + (block + (set_local $5 + (get_local $16) + ) + (br $do-once$98 + (get_local $7) + ) + ) + ) + (block $do-once$100 + (if + (get_local $26) + (block + (if + (i32.eqz + (tee_local $19 + (i32.load + (i32.add + (get_local $9) + (i32.const -4) ) ) ) + ) + (block + (set_local $5 + (i32.const 9) + ) + (br $do-once$100) + ) + ) + (if + (i32.and + (call_import $i32u-rem + (get_local $19) + (i32.const 10) + ) + (i32.const -1) + ) + (block + (set_local $5 + (i32.const 0) + ) + (br $do-once$100) + ) + (block (set_local $7 + (i32.const 10) + ) + (set_local $5 (i32.const 0) ) ) ) - (set_local $13 - (if - (i32.lt_s - (tee_local $6 - (i32.add - (i32.sub - (get_local $19) - (select - (get_local $7) - (i32.const 0) - (i32.ne - (get_local $25) - (i32.const 102) - ) - ) - ) - (i32.shr_s - (i32.shl - (i32.and - (tee_local $39 - (i32.ne - (get_local $19) - (i32.const 0) - ) - ) - (tee_local $21 - (i32.eq - (get_local $25) - (i32.const 103) - ) - ) - ) - (i32.const 31) - ) - (i32.const 31) - ) - ) - ) - (i32.add - (i32.mul - (i32.shr_s - (i32.sub - (get_local $10) - (get_local $36) - ) - (i32.const 2) - ) - (i32.const 9) - ) - (i32.const -9) - ) + (loop $while-in$103 + (set_local $5 + (i32.add + (get_local $5) + (i32.const 1) ) - (block - (set_local $6 - (i32.add - (i32.add - (get_local $8) - (i32.const 4) - ) - (i32.shl - (i32.add - (i32.and - (call_import $i32s-div - (tee_local $12 - (i32.add - (get_local $6) - (i32.const 9216) - ) - ) - (i32.const 9) - ) - (i32.const -1) - ) - (i32.const -1024) - ) - (i32.const 2) - ) - ) - ) - (if - (i32.lt_s - (tee_local $12 - (i32.add - (i32.and - (call_import $i32s-rem - (get_local $12) - (i32.const 9) - ) - (i32.const -1) - ) - (i32.const 1) - ) - ) - (i32.const 9) - ) - (block - (set_local $13 - (i32.const 10) - ) - (loop $while-in$87 - (set_local $13 - (i32.mul - (get_local $13) - (i32.const 10) - ) - ) - (br_if $while-in$87 - (i32.ne - (tee_local $12 - (i32.add - (get_local $12) - (i32.const 1) - ) - ) - (i32.const 9) - ) - ) - ) - ) - (set_local $13 - (i32.const 10) - ) - ) - (block $do-once$88 - (if - (i32.eqz - (i32.and - (tee_local $26 - (i32.eq - (i32.add - (get_local $6) - (i32.const 4) - ) - (get_local $10) - ) - ) - (i32.eqz - (tee_local $29 - (i32.and - (call_import $i32u-rem - (tee_local $12 - (i32.load - (get_local $6) - ) - ) - (get_local $13) - ) - (i32.const -1) - ) - ) - ) - ) - ) - (block - (set_local $22 - (select - (f64.const 9007199254740994) - (f64.const 9007199254740992) - (i32.and - (i32.and - (call_import $i32u-div - (get_local $12) - (get_local $13) - ) - (i32.const -1) - ) - (i32.const 1) - ) - ) - ) - (set_local $14 - (if - (i32.lt_u - (get_local $29) - (tee_local $25 - (i32.and - (call_import $i32s-div - (get_local $13) - (i32.const 2) - ) - (i32.const -1) - ) - ) - ) - (f64.const 0.5) - (select - (f64.const 1) - (f64.const 1.5) - (i32.and - (get_local $26) - (i32.eq - (get_local $29) - (get_local $25) - ) - ) - ) - ) - ) - (set_local $22 - (block $do-once$90 - (if - (get_local $28) - (block - (br_if $do-once$90 - (get_local $22) - (i32.ne - (i32.load8_s - (get_local $33) - ) - (i32.const 45) - ) - ) - (set_local $14 - (f64.neg - (get_local $14) - ) - ) - (f64.neg - (get_local $22) - ) - ) - (get_local $22) - ) - ) - ) - (i32.store - (get_local $6) - (tee_local $12 - (i32.sub - (get_local $12) - (get_local $29) - ) - ) - ) - (br_if $do-once$88 - (f64.eq - (f64.add - (get_local $22) - (get_local $14) - ) - (get_local $22) - ) - ) - (i32.store - (get_local $6) - (tee_local $7 - (i32.add - (get_local $12) - (get_local $13) - ) - ) - ) - (if - (i32.gt_u - (get_local $7) - (i32.const 999999999) - ) - (loop $while-in$93 - (i32.store - (get_local $6) - (i32.const 0) - ) - (set_local $5 - (if - (i32.lt_u - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -4) - ) - ) - (get_local $5) - ) - (block - (i32.store - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -4) - ) - ) - (i32.const 0) - ) - (get_local $5) - ) - (get_local $5) - ) - ) - (i32.store - (get_local $6) - (tee_local $7 - (i32.add - (i32.load - (get_local $6) - ) - (i32.const 1) - ) - ) - ) - (br_if $while-in$93 - (i32.gt_u - (get_local $7) - (i32.const 999999999) - ) - ) - ) - ) - (set_local $7 - (i32.mul - (i32.shr_s - (i32.sub - (get_local $36) - (get_local $5) - ) - (i32.const 2) - ) - (i32.const 9) - ) - ) - (br_if $do-once$88 - (i32.lt_u - (tee_local $13 - (i32.load - (get_local $5) - ) - ) - (i32.const 10) - ) - ) - (set_local $12 - (i32.const 10) - ) - (loop $while-in$95 - (set_local $7 - (i32.add - (get_local $7) - (i32.const 1) - ) - ) - (br_if $while-in$95 - (i32.ge_u - (get_local $13) - (tee_local $12 - (i32.mul - (get_local $12) - (i32.const 10) - ) - ) - ) - ) - ) - ) - ) - ) - (set_local $12 - (get_local $7) - ) - (set_local $10 - (select + ) + (br_if $while-in$103 + (i32.eqz + (i32.and + (call_import $i32u-rem + (get_local $19) (tee_local $7 - (i32.add - (get_local $6) - (i32.const 4) + (i32.mul + (get_local $7) + (i32.const 10) ) ) - (get_local $10) - (i32.gt_u - (get_local $10) - (get_local $7) - ) ) + (i32.const -1) ) - (get_local $5) - ) - (block - (set_local $12 - (get_local $7) - ) - (get_local $5) ) ) ) - (set_local $25 + ) + (set_local $5 + (i32.const 9) + ) + ) + ) + (set_local $7 + (i32.add + (i32.mul + (i32.shr_s (i32.sub - (i32.const 0) - (get_local $12) + (get_local $9) + (get_local $36) ) + (i32.const 2) ) - (set_local $5 - (get_local $10) - ) - (loop $while-in$97 - (block $while-out$96 - (if - (i32.le_u - (get_local $5) - (get_local $13) - ) - (block - (set_local $26 - (i32.const 0) - ) - (set_local $10 - (get_local $5) - ) - (br $while-out$96) - ) - ) - (if - (i32.load - (tee_local $7 - (i32.add - (get_local $5) - (i32.const -4) - ) - ) - ) - (block - (set_local $26 - (i32.const 1) - ) - (set_local $10 + (i32.const 9) + ) + (i32.const -9) + ) + ) + (if + (i32.eq + (i32.or + (get_local $6) + (i32.const 32) + ) + (i32.const 102) + ) + (block + (set_local $5 + (select + (get_local $16) + (tee_local $5 + (select + (i32.const 0) + (tee_local $5 + (i32.sub + (get_local $7) (get_local $5) ) ) - (block - (set_local $5 - (get_local $7) - ) - (br $while-in$97) + (i32.lt_s + (get_local $5) + (i32.const 0) ) ) ) + (i32.lt_s + (get_local $16) + (get_local $5) + ) ) - (set_local $19 - (block $do-once$98 - (if - (get_local $21) - (block - (set_local $16 - (if - (i32.and - (i32.gt_s - (tee_local $5 - (i32.add - (i32.xor - (i32.and - (get_local $39) - (i32.const 1) - ) - (i32.const 1) - ) - (get_local $19) - ) - ) - (get_local $12) - ) - (i32.gt_s - (get_local $12) - (i32.const -5) - ) - ) - (block - (set_local $7 - (i32.add - (get_local $16) - (i32.const -1) - ) - ) - (i32.sub - (i32.add - (get_local $5) - (i32.const -1) - ) - (get_local $12) - ) - ) - (block - (set_local $7 - (i32.add - (get_local $16) - (i32.const -2) - ) - ) - (i32.add - (get_local $5) - (i32.const -1) - ) - ) - ) - ) - (if - (tee_local $6 - (i32.and - (get_local $11) - (i32.const 8) - ) - ) - (block - (set_local $5 - (get_local $16) - ) - (br $do-once$98 - (get_local $6) - ) - ) - ) - (block $do-once$100 - (if - (get_local $26) - (block - (if - (i32.eqz - (tee_local $19 - (i32.load - (i32.add - (get_local $10) - (i32.const -4) - ) - ) - ) - ) - (block - (set_local $5 - (i32.const 9) - ) - (br $do-once$100) - ) - ) - (if - (i32.and - (call_import $i32u-rem - (get_local $19) - (i32.const 10) - ) - (i32.const -1) - ) - (block - (set_local $5 - (i32.const 0) - ) - (br $do-once$100) - ) - (block - (set_local $6 - (i32.const 10) - ) - (set_local $5 - (i32.const 0) - ) - ) - ) - (loop $while-in$103 - (set_local $5 - (i32.add - (get_local $5) - (i32.const 1) - ) - ) - (br_if $while-in$103 - (i32.eqz - (i32.and - (call_import $i32u-rem - (get_local $19) - (tee_local $6 - (i32.mul - (get_local $6) - (i32.const 10) - ) - ) - ) - (i32.const -1) - ) - ) - ) - ) - ) - (set_local $5 - (i32.const 9) - ) - ) - ) - (set_local $6 + ) + (i32.const 0) + ) + (block + (set_local $5 + (select + (get_local $16) + (tee_local $5 + (select + (i32.const 0) + (tee_local $5 + (i32.sub (i32.add - (i32.mul - (i32.shr_s - (i32.sub - (get_local $10) - (get_local $36) - ) - (i32.const 2) - ) - (i32.const 9) - ) - (i32.const -9) - ) - ) - (if - (i32.eq - (i32.or - (get_local $7) - (i32.const 32) - ) - (i32.const 102) - ) - (block - (set_local $5 - (select - (get_local $16) - (tee_local $5 - (select - (i32.const 0) - (tee_local $5 - (i32.sub - (get_local $6) - (get_local $5) - ) - ) - (i32.lt_s - (get_local $5) - (i32.const 0) - ) - ) - ) - (i32.lt_s - (get_local $16) - (get_local $5) - ) - ) - ) - (i32.const 0) - ) - (block - (set_local $5 - (select - (get_local $16) - (tee_local $5 - (select - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.add - (get_local $6) - (get_local $12) - ) - (get_local $5) - ) - ) - (i32.lt_s - (get_local $5) - (i32.const 0) - ) - ) - ) - (i32.lt_s - (get_local $16) - (get_local $5) - ) - ) - ) - (i32.const 0) + (get_local $7) + (get_local $11) ) + (get_local $5) ) ) - (block - (set_local $5 - (get_local $19) - ) - (set_local $7 - (get_local $16) - ) - (i32.and - (get_local $11) - (i32.const 8) - ) + (i32.lt_s + (get_local $5) + (i32.const 0) ) ) ) + (i32.lt_s + (get_local $16) + (get_local $5) + ) ) - (set_local $29 - (i32.and - (i32.ne - (tee_local $16 - (i32.or - (get_local $5) - (get_local $19) - ) + ) + (i32.const 0) + ) + ) + ) + (block + (set_local $5 + (get_local $19) + ) + (set_local $6 + (get_local $16) + ) + (i32.and + (get_local $10) + (i32.const 8) + ) + ) + ) + ) + ) + (set_local $29 + (i32.and + (i32.ne + (tee_local $16 + (i32.or + (get_local $5) + (get_local $19) + ) + ) + (i32.const 0) + ) + (i32.const 1) + ) + ) + (set_local $25 + (if + (tee_local $21 + (i32.eq + (i32.or + (get_local $6) + (i32.const 32) + ) + (i32.const 102) + ) + ) + (block + (set_local $6 + (select + (get_local $11) + (i32.const 0) + (i32.gt_s + (get_local $11) + (i32.const 0) + ) + ) + ) + (i32.const 0) + ) + (block + (if + (i32.lt_s + (i32.sub + (get_local $30) + (tee_local $7 + (call $_fmt_u + (tee_local $7 + (select + (get_local $25) + (get_local $11) + (i32.lt_s + (get_local $11) + (i32.const 0) ) - (i32.const 0) ) - (i32.const 1) ) - ) - (set_local $25 - (if - (tee_local $21 - (i32.eq - (i32.or - (get_local $7) - (i32.const 32) - ) - (i32.const 102) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $7) + (i32.const 0) ) + (i32.const 31) ) - (block - (set_local $7 - (select - (get_local $12) - (i32.const 0) - (i32.gt_s - (get_local $12) - (i32.const 0) - ) - ) + (i32.const 31) + ) + (get_local $34) + ) + ) + ) + (i32.const 2) + ) + (loop $while-in$105 + (i32.store8 + (tee_local $7 + (i32.add + (get_local $7) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in$105 + (i32.lt_s + (i32.sub + (get_local $30) + (get_local $7) + ) + (i32.const 2) + ) + ) + ) + ) + (i32.store8 + (i32.add + (get_local $7) + (i32.const -1) + ) + (i32.and + (i32.add + (i32.and + (i32.shr_s + (get_local $11) + (i32.const 31) + ) + (i32.const 2) + ) + (i32.const 43) + ) + (i32.const 255) + ) + ) + (i32.store8 + (tee_local $7 + (i32.add + (get_local $7) + (i32.const -2) + ) + ) + (i32.and + (get_local $6) + (i32.const 255) + ) + ) + (set_local $6 + (i32.sub + (get_local $30) + (get_local $7) + ) + ) + (get_local $7) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $17) + (tee_local $11 + (i32.add + (i32.add + (i32.add + (i32.add + (get_local $28) + (i32.const 1) + ) + (get_local $5) + ) + (get_local $29) + ) + (get_local $6) + ) + ) + (get_local $10) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $33) + (get_local $28) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (get_local $17) + (get_local $11) + (i32.xor + (get_local $10) + (i32.const 65536) + ) + ) + (block $do-once$106 + (if + (get_local $21) + (block + (set_local $7 + (tee_local $12 + (select + (get_local $8) + (get_local $12) + (i32.gt_u + (get_local $12) + (get_local $8) + ) + ) + ) + ) + (loop $while-in$109 + (set_local $6 + (call $_fmt_u + (i32.load + (get_local $7) + ) + (i32.const 0) + (get_local $32) + ) + ) + (block $do-once$110 + (if + (i32.eq + (get_local $7) + (get_local $12) + ) + (block + (br_if $do-once$110 + (i32.ne + (get_local $6) + (get_local $32) + ) + ) + (i32.store8 + (get_local $35) + (i32.const 48) + ) + (set_local $6 + (get_local $35) + ) + ) + (block + (br_if $do-once$110 + (i32.le_u + (get_local $6) + (get_local $24) + ) + ) + (loop $while-in$113 + (i32.store8 + (tee_local $6 + (i32.add + (get_local $6) + (i32.const -1) ) - (i32.const 0) ) - (block - (if - (i32.lt_s - (i32.sub - (get_local $30) - (tee_local $6 - (call $_fmt_u - (tee_local $6 - (select - (get_local $25) - (get_local $12) - (i32.lt_s - (get_local $12) - (i32.const 0) - ) - ) - ) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $6) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.const 31) - ) - (get_local $34) - ) - ) - ) - (i32.const 2) - ) - (loop $while-in$105 - (i32.store8 - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in$105 - (i32.lt_s - (i32.sub - (get_local $30) - (get_local $6) - ) - (i32.const 2) - ) - ) - ) - ) - (i32.store8 - (i32.add - (get_local $6) - (i32.const -1) - ) - (i32.and - (i32.add - (i32.and - (i32.shr_s - (get_local $12) - (i32.const 31) - ) - (i32.const 2) - ) - (i32.const 43) - ) - (i32.const 255) - ) - ) - (i32.store8 - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -2) - ) - ) - (i32.and - (get_local $7) - (i32.const 255) - ) - ) - (set_local $7 - (i32.sub - (get_local $30) - (get_local $6) - ) - ) + (i32.const 48) + ) + (br_if $while-in$113 + (i32.gt_u (get_local $6) + (get_local $24) ) ) ) - (call $_pad + ) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $6) + (i32.sub + (get_local $44) + (get_local $6) + ) + (get_local $0) + ) + ) + ) + (if + (i32.le_u + (tee_local $6 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (get_local $8) + ) + (block + (set_local $7 + (get_local $6) + ) + (br $while-in$109) + ) + ) + ) + (block $do-once$114 + (if + (get_local $16) + (block + (br_if $do-once$114 + (i32.and + (i32.load + (get_local $0) + ) (i32.const 32) - (get_local $17) - (tee_local $12 - (i32.add - (i32.add - (i32.add - (i32.add - (get_local $28) - (i32.const 1) - ) - (get_local $5) - ) - (get_local $29) + ) + ) + (drop + (call $___fwritex + (i32.const 4143) + (i32.const 1) + (get_local $0) + ) + ) + ) + ) + ) + (if + (i32.and + (i32.gt_s + (get_local $5) + (i32.const 0) + ) + (i32.lt_u + (get_local $6) + (get_local $9) + ) + ) + (block + (set_local $7 + (get_local $5) + ) + (loop $while-in$117 + (if + (i32.gt_u + (tee_local $5 + (call $_fmt_u + (i32.load + (get_local $6) ) - (get_local $7) + (i32.const 0) + (get_local $32) ) ) - (get_local $11) + (get_local $24) ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) + (loop $while-in$119 + (i32.store8 + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -1) ) - (i32.const 32) ) + (i32.const 48) ) - (drop - (call $___fwritex - (get_local $33) - (get_local $28) + (br_if $while-in$119 + (i32.gt_u + (get_local $5) + (get_local $24) + ) + ) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load (get_local $0) ) + (i32.const 32) ) ) - (call $_pad - (get_local $0) - (i32.const 48) - (get_local $17) - (get_local $12) - (i32.xor - (get_local $11) - (i32.const 65536) + (drop + (call $___fwritex + (get_local $5) + (select + (i32.const 9) + (get_local $7) + (i32.gt_s + (get_local $7) + (i32.const 9) + ) + ) + (get_local $0) ) ) - (block $do-once$106 - (if - (get_local $21) - (block - (set_local $6 - (tee_local $13 - (select - (get_local $8) - (get_local $13) - (i32.gt_u - (get_local $13) - (get_local $8) - ) - ) - ) + ) + (set_local $5 + (i32.add + (get_local $7) + (i32.const -9) + ) + ) + (if + (i32.and + (i32.gt_s + (get_local $7) + (i32.const 9) + ) + (i32.lt_u + (tee_local $6 + (i32.add + (get_local $6) + (i32.const 4) ) - (loop $while-in$109 - (set_local $7 - (call $_fmt_u - (i32.load - (get_local $6) - ) - (i32.const 0) - (get_local $32) - ) - ) - (block $do-once$110 - (if - (i32.eq - (get_local $6) - (get_local $13) - ) - (block - (br_if $do-once$110 - (i32.ne - (get_local $7) - (get_local $32) - ) - ) - (i32.store8 - (get_local $35) - (i32.const 48) - ) - (set_local $7 - (get_local $35) - ) - ) - (block - (br_if $do-once$110 - (i32.le_u - (get_local $7) - (get_local $24) - ) - ) - (loop $while-in$113 - (i32.store8 - (tee_local $7 - (i32.add - (get_local $7) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in$113 - (i32.gt_u - (get_local $7) - (get_local $24) - ) - ) - ) - ) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $7) - (i32.sub - (get_local $44) - (get_local $7) - ) - (get_local $0) - ) - ) - ) - (if - (i32.le_u - (tee_local $7 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) - (get_local $8) - ) - (block - (set_local $6 - (get_local $7) - ) - (br $while-in$109) - ) + ) + (get_local $9) + ) + ) + (block + (set_local $7 + (get_local $5) + ) + (br $while-in$117) + ) + ) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.add + (get_local $5) + (i32.const 9) + ) + (i32.const 9) + (i32.const 0) + ) + ) + (block + (set_local $16 + (select + (get_local $9) + (i32.add + (get_local $12) + (i32.const 4) + ) + (get_local $26) + ) + ) + (if + (i32.gt_s + (get_local $5) + (i32.const -1) + ) + (block + (set_local $9 + (i32.eqz + (get_local $19) + ) + ) + (set_local $6 + (get_local $12) + ) + (set_local $7 + (get_local $5) + ) + (loop $while-in$121 + (set_local $8 + (if + (i32.eq + (tee_local $5 + (call $_fmt_u + (i32.load + (get_local $6) ) + (i32.const 0) + (get_local $32) ) - (block $do-once$114 - (if - (get_local $16) - (block - (br_if $do-once$114 - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) - (get_local $0) - ) - ) - ) - ) + ) + (get_local $32) + ) + (block + (i32.store8 + (get_local $35) + (i32.const 48) + ) + (get_local $35) + ) + (get_local $5) + ) + ) + (block $do-once$122 + (if + (i32.eq + (get_local $6) + (get_local $12) + ) + (block + (set_local $5 + (i32.add + (get_local $8) + (i32.const 1) ) - (if + ) + (if + (i32.eqz (i32.and - (i32.gt_s - (get_local $5) - (i32.const 0) - ) - (i32.lt_u - (get_local $7) - (get_local $10) - ) - ) - (block - (set_local $6 - (get_local $5) - ) - (loop $while-in$117 - (if - (i32.gt_u - (tee_local $5 - (call $_fmt_u - (i32.load - (get_local $7) - ) - (i32.const 0) - (get_local $32) - ) - ) - (get_local $24) - ) - (loop $while-in$119 - (i32.store8 - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in$119 - (i32.gt_u - (get_local $5) - (get_local $24) - ) - ) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $5) - (select - (i32.const 9) - (get_local $6) - (i32.gt_s - (get_local $6) - (i32.const 9) - ) - ) - (get_local $0) - ) - ) - ) - (set_local $5 - (i32.add - (get_local $6) - (i32.const -9) - ) - ) - (if - (i32.and - (i32.gt_s - (get_local $6) - (i32.const 9) - ) - (i32.lt_u - (tee_local $7 - (i32.add - (get_local $7) - (i32.const 4) - ) - ) - (get_local $10) - ) - ) - (block - (set_local $6 - (get_local $5) - ) - (br $while-in$117) - ) - ) + (i32.load + (get_local $0) ) + (i32.const 32) ) ) - (call $_pad - (get_local $0) - (i32.const 48) - (i32.add - (get_local $5) - (i32.const 9) + (drop + (call $___fwritex + (get_local $8) + (i32.const 1) + (get_local $0) ) - (i32.const 9) - (i32.const 0) ) ) - (block - (set_local $16 - (select - (get_local $10) - (i32.add - (get_local $13) - (i32.const 4) - ) - (get_local $26) + (br_if $do-once$122 + (i32.and + (get_local $9) + (i32.lt_s + (get_local $7) + (i32.const 1) ) ) - (if - (i32.gt_s - (get_local $5) - (i32.const -1) - ) - (block - (set_local $10 - (i32.eqz - (get_local $19) - ) - ) - (set_local $7 - (get_local $13) - ) - (set_local $6 - (get_local $5) - ) - (loop $while-in$121 - (set_local $8 - (if - (i32.eq - (tee_local $5 - (call $_fmt_u - (i32.load - (get_local $7) - ) - (i32.const 0) - (get_local $32) - ) - ) - (get_local $32) - ) - (block - (i32.store8 - (get_local $35) - (i32.const 48) - ) - (get_local $35) - ) - (get_local $5) - ) - ) - (block $do-once$122 - (if - (i32.eq - (get_local $7) - (get_local $13) - ) - (block - (set_local $5 - (i32.add - (get_local $8) - (i32.const 1) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $8) - (i32.const 1) - (get_local $0) - ) - ) - ) - (br_if $do-once$122 - (i32.and - (get_local $10) - (i32.lt_s - (get_local $6) - (i32.const 1) - ) - ) - ) - (br_if $do-once$122 - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) - (get_local $0) - ) - ) - ) - (block - (if - (i32.gt_u - (get_local $8) - (get_local $24) - ) - (set_local $5 - (get_local $8) - ) - (block - (set_local $5 - (get_local $8) - ) - (br $do-once$122) - ) - ) - (loop $while-in$125 - (i32.store8 - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in$125 - (i32.gt_u - (get_local $5) - (get_local $24) - ) - ) - ) - ) - ) - ) - (set_local $8 - (i32.sub - (get_local $44) - (get_local $5) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $5) - (select - (get_local $8) - (get_local $6) - (i32.gt_s - (get_local $6) - (get_local $8) - ) - ) - (get_local $0) - ) - ) - ) - (if - (i32.and - (i32.lt_u - (tee_local $7 - (i32.add - (get_local $7) - (i32.const 4) - ) - ) - (get_local $16) - ) - (i32.gt_s - (tee_local $5 - (i32.sub - (get_local $6) - (get_local $8) - ) - ) - (i32.const -1) - ) - ) - (block - (set_local $6 - (get_local $5) - ) - (br $while-in$121) - ) - ) - ) + ) + (br_if $do-once$122 + (i32.and + (i32.load + (get_local $0) ) + (i32.const 32) ) - (call $_pad + ) + (drop + (call $___fwritex + (i32.const 4143) + (i32.const 1) (get_local $0) - (i32.const 48) - (i32.add - (get_local $5) - (i32.const 18) + ) + ) + ) + (block + (if + (i32.gt_u + (get_local $8) + (get_local $24) + ) + (set_local $5 + (get_local $8) + ) + (block + (set_local $5 + (get_local $8) ) - (i32.const 18) - (i32.const 0) + (br $do-once$122) ) - (br_if $do-once$106 - (i32.and - (i32.load - (get_local $0) + ) + (loop $while-in$125 + (i32.store8 + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -1) ) - (i32.const 32) ) + (i32.const 48) ) - (drop - (call $___fwritex - (get_local $25) - (i32.sub - (get_local $30) - (get_local $25) - ) - (get_local $0) + (br_if $while-in$125 + (i32.gt_u + (get_local $5) + (get_local $24) ) ) ) ) ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $17) - (get_local $12) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (select - (get_local $17) - (get_local $12) - (i32.lt_s - (get_local $12) - (get_local $17) - ) + ) + (set_local $8 + (i32.sub + (get_local $44) + (get_local $5) ) ) - (block - (set_local $6 - (select - (i32.const 0) - (get_local $28) - (tee_local $5 - (i32.or - (f64.ne - (get_local $14) - (get_local $14) - ) - (i32.const 0) - ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) ) + (i32.const 32) ) ) - (set_local $8 - (select - (select - (i32.const 4135) - (i32.const 4139) - (tee_local $7 - (i32.ne - (i32.and - (get_local $16) - (i32.const 32) - ) - (i32.const 0) - ) - ) - ) + (drop + (call $___fwritex + (get_local $5) (select - (i32.const 4127) - (i32.const 4131) + (get_local $8) (get_local $7) + (i32.gt_s + (get_local $7) + (get_local $8) + ) ) - (get_local $5) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $17) - (tee_local $7 - (i32.add - (get_local $6) - (i32.const 3) - ) + (get_local $0) ) - (get_local $10) ) - (if - (i32.eqz - (i32.and - (if - (i32.and - (tee_local $5 - (i32.load - (get_local $0) - ) - ) - (i32.const 32) - ) - (get_local $5) - (block - (drop - (call $___fwritex - (get_local $33) - (get_local $6) - (get_local $0) - ) - ) - (i32.load - (get_local $0) - ) - ) + ) + (if + (i32.and + (i32.lt_u + (tee_local $6 + (i32.add + (get_local $6) + (i32.const 4) ) - (i32.const 32) ) + (get_local $16) ) - (drop - (call $___fwritex - (get_local $8) - (i32.const 3) - (get_local $0) + (i32.gt_s + (tee_local $5 + (i32.sub + (get_local $7) + (get_local $8) + ) ) + (i32.const -1) ) ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $17) - (get_local $7) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (select - (get_local $17) - (get_local $7) - (i32.lt_s - (get_local $7) - (get_local $17) + (block + (set_local $7 + (get_local $5) ) + (br $while-in$121) ) ) ) ) ) - (br $label$continue$L1) - ) - (set_local $12 - (get_local $6) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $10 - (i32.const 4091) - ) - (set_local $6 - (get_local $23) - ) - (get_local $9) - ) - ) - (br $jumpthreading$outer$3) - ) - (set_local $10 - (i32.and - (get_local $16) - (i32.const 32) - ) - ) - (if - (i32.and - (i32.eqz - (tee_local $11 - (i32.load - (tee_local $7 - (get_local $18) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.add + (get_local $5) + (i32.const 18) ) + (i32.const 18) + (i32.const 0) ) - ) - ) - (i32.eqz - (tee_local $7 - (i32.load offset=4 - (get_local $7) + (br_if $do-once$106 + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $25) + (i32.sub + (get_local $30) + (get_local $25) + ) + (get_local $0) + ) ) ) ) ) - (block - (set_local $7 - (get_local $23) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $10 - (i32.const 4091) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $17) + (get_local $11) + (i32.xor + (get_local $10) + (i32.const 8192) ) - (br $jumpthreading$inner$8) ) - (block - (set_local $8 - (get_local $23) + (select + (get_local $17) + (get_local $11) + (i32.lt_s + (get_local $11) + (get_local $17) ) - (loop $while-in$130 - (i32.store8 - (tee_local $8 - (i32.add - (get_local $8) - (i32.const -1) + ) + ) + (block + (set_local $7 + (select + (i32.const 0) + (get_local $28) + (tee_local $5 + (i32.or + (f64.ne + (get_local $14) + (get_local $14) ) + (i32.const 0) ) - (i32.and - (i32.or + ) + ) + ) + (set_local $8 + (select + (select + (i32.const 4135) + (i32.const 4139) + (tee_local $6 + (i32.ne (i32.and - (i32.load8_s - (i32.add - (i32.and - (get_local $11) - (i32.const 15) - ) - (i32.const 4075) - ) - ) - (i32.const 255) + (get_local $16) + (i32.const 32) ) - (get_local $10) + (i32.const 0) ) - (i32.const 255) ) ) - (br_if $while-in$130 - (i32.eqz - (i32.and - (i32.eqz - (tee_local $11 - (call $_bitshift64Lshr - (get_local $11) - (get_local $7) - (i32.const 4) - ) - ) - ) - (i32.eqz - (tee_local $7 - (get_global $tempRet0) - ) - ) - ) - ) + (select + (i32.const 4127) + (i32.const 4131) + (get_local $6) ) - (set_local $7 - (get_local $8) + (get_local $5) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $17) + (tee_local $6 + (i32.add + (get_local $7) + (i32.const 3) ) ) - (if - (i32.or - (i32.eqz + (get_local $9) + ) + (if + (i32.eqz + (i32.and + (if (i32.and - (get_local $9) - (i32.const 8) - ) - ) - (i32.and - (i32.eqz - (i32.load - (tee_local $11 - (get_local $18) + (tee_local $5 + (i32.load + (get_local $0) ) ) + (i32.const 32) ) - (i32.eqz - (i32.load offset=4 - (get_local $11) + (get_local $5) + (block + (drop + (call $___fwritex + (get_local $33) + (get_local $7) + (get_local $0) + ) ) - ) - ) - ) - (block - (set_local $8 - (i32.const 0) - ) - (set_local $10 - (i32.const 4091) - ) - (br $jumpthreading$inner$8) - ) - (block - (set_local $8 - (i32.const 2) - ) - (set_local $10 - (i32.add - (i32.const 4091) - (i32.shr_s - (get_local $16) - (i32.const 4) + (i32.load + (get_local $0) ) ) ) - (br $jumpthreading$inner$8) + (i32.const 32) ) ) + (drop + (call $___fwritex + (get_local $8) + (i32.const 3) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $17) + (get_local $6) + (i32.xor + (get_local $10) + (i32.const 8192) + ) + ) + (select + (get_local $17) + (get_local $6) + (i32.lt_s + (get_local $6) + (get_local $17) + ) ) ) ) - (br $jumpthreading$outer$4) - ) - (set_local $7 - (call $_fmt_u - (get_local $9) - (get_local $7) - (get_local $23) - ) ) - (set_local $9 - (get_local $11) - ) - (br $jumpthreading$inner$8) ) - (br $jumpthreading$outer$5) + (br $label$continue$L1) ) - (set_local $16 - (i32.eqz - (tee_local $13 - (call $_memchr - (get_local $9) - (i32.const 0) - (get_local $6) - ) - ) - ) - ) - (set_local $7 - (get_local $9) + (set_local $6 + (get_local $1) ) (set_local $11 - (get_local $10) - ) - (set_local $12 - (select - (get_local $6) - (i32.sub - (get_local $13) - (get_local $9) - ) - (get_local $16) - ) + (get_local $7) ) (set_local $8 (i32.const 0) ) - (set_local $10 + (set_local $9 (i32.const 4091) ) - (set_local $6 - (select - (i32.add - (get_local $9) - (get_local $6) - ) - (get_local $13) - (get_local $16) - ) + (set_local $1 + (get_local $23) ) + (br $jumpthreading$outer$8) ) - (br $jumpthreading$outer$6) - ) - (set_local $9 - (i32.const 0) - ) - (set_local $7 - (i32.const 0) - ) - (set_local $6 - (i32.load - (get_local $18) + (set_local $9 + (i32.and + (get_local $16) + (i32.const 32) + ) ) - ) - (loop $while-in$132 - (block $while-out$131 - (br_if $while-out$131 + (if + (i32.and (i32.eqz (tee_local $10 (i32.load - (get_local $6) - ) - ) - ) - ) - (br_if $while-out$131 - (i32.or - (i32.lt_s - (tee_local $7 - (call $_wctomb - (get_local $37) - (get_local $10) + (tee_local $6 + (get_local $18) ) ) - (i32.const 0) ) - (i32.gt_u - (get_local $7) - (i32.sub - (get_local $8) - (get_local $9) + ) + (i32.eqz + (tee_local $6 + (i32.load offset=4 + (get_local $6) ) ) ) ) - (set_local $6 - (i32.add - (get_local $6) - (i32.const 4) + (block + (set_local $6 + (get_local $23) ) - ) - (br_if $while-in$132 - (i32.gt_u - (get_local $8) - (tee_local $9 - (i32.add - (get_local $7) - (get_local $9) - ) - ) + (set_local $8 + (i32.const 0) ) - ) - ) - ) - (if - (i32.lt_s - (get_local $7) - (i32.const 0) - ) - (block - (set_local $15 - (i32.const -1) - ) - (br $label$break$L1) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $17) - (get_local $9) - (get_local $11) - ) - (if - (get_local $9) - (block - (set_local $7 - (i32.const 0) - ) - (set_local $6 - (i32.load - (get_local $18) + (set_local $9 + (i32.const 4091) ) + (br $jumpthreading$inner$8) ) - (loop $while-in$134 - (if - (i32.eqz + (block + (set_local $8 + (get_local $23) + ) + (loop $while-in$130 + (i32.store8 (tee_local $8 - (i32.load - (get_local $6) + (i32.add + (get_local $8) + (i32.const -1) + ) + ) + (i32.and + (i32.or + (i32.and + (i32.load8_s + (i32.add + (i32.and + (get_local $10) + (i32.const 15) + ) + (i32.const 4075) + ) + ) + (i32.const 255) + ) + (get_local $9) ) + (i32.const 255) ) ) - (block - (set_local $7 - (get_local $9) + (br_if $while-in$130 + (i32.eqz + (i32.and + (i32.eqz + (tee_local $10 + (call $_bitshift64Lshr + (get_local $10) + (get_local $6) + (i32.const 4) + ) + ) + ) + (i32.eqz + (tee_local $6 + (get_global $tempRet0) + ) + ) + ) ) - (br $jumpthreading$inner$7) ) - ) - (set_local $6 - (i32.add - (get_local $6) - (i32.const 4) + (set_local $6 + (get_local $8) ) ) (if - (i32.gt_s - (tee_local $7 - (i32.add - (tee_local $8 - (call $_wctomb - (get_local $37) - (get_local $8) + (i32.or + (i32.eqz + (i32.and + (get_local $1) + (i32.const 8) + ) + ) + (i32.and + (i32.eqz + (i32.load + (tee_local $10 + (get_local $18) ) ) - (get_local $7) + ) + (i32.eqz + (i32.load offset=4 + (get_local $10) + ) ) ) - (get_local $9) ) (block - (set_local $7 - (get_local $9) + (set_local $8 + (i32.const 0) ) - (br $jumpthreading$inner$7) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) + (set_local $9 + (i32.const 4091) ) + (br $jumpthreading$inner$8) ) - (drop - (call $___fwritex - (get_local $37) - (get_local $8) - (get_local $0) + (block + (set_local $8 + (i32.const 2) + ) + (set_local $9 + (i32.add + (i32.const 4091) + (i32.shr_s + (get_local $16) + (i32.const 4) + ) + ) ) + (br $jumpthreading$inner$8) ) ) - (br_if $while-in$134 - (i32.lt_u - (get_local $7) - (get_local $9) - ) + ) + ) + (br $jumpthreading$outer$8) + ) + (set_local $6 + (call $_fmt_u + (get_local $1) + (get_local $6) + (get_local $23) + ) + ) + (set_local $1 + (get_local $10) + ) + (br $jumpthreading$inner$8) + ) + (set_local $16 + (i32.eqz + (tee_local $12 + (call $_memchr + (get_local $1) + (i32.const 0) + (get_local $7) + ) + ) + ) + ) + (set_local $6 + (get_local $1) + ) + (set_local $10 + (get_local $9) + ) + (set_local $11 + (select + (get_local $7) + (i32.sub + (get_local $12) + (get_local $1) + ) + (get_local $16) + ) + ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (set_local $1 + (select + (i32.add + (get_local $1) + (get_local $7) + ) + (get_local $12) + (get_local $16) + ) + ) + (br $jumpthreading$outer$8) + ) + (set_local $1 + (i32.const 0) + ) + (set_local $6 + (i32.const 0) + ) + (set_local $7 + (i32.load + (get_local $18) + ) + ) + (loop $while-in$132 + (block $while-out$131 + (br_if $while-out$131 + (i32.eqz + (tee_local $9 + (i32.load + (get_local $7) ) - (block - (set_local $7 + ) + ) + ) + (br_if $while-out$131 + (i32.or + (i32.lt_s + (tee_local $6 + (call $_wctomb + (get_local $37) (get_local $9) ) - (br $jumpthreading$inner$7) + ) + (i32.const 0) + ) + (i32.gt_u + (get_local $6) + (i32.sub + (get_local $8) + (get_local $1) ) ) ) - (block - (set_local $7 - (i32.const 0) + ) + (set_local $7 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (br_if $while-in$132 + (i32.gt_u + (get_local $8) + (tee_local $1 + (i32.add + (get_local $6) + (get_local $1) + ) ) - (br $jumpthreading$inner$7) ) ) ) - (br $jumpthreading$outer$7) + ) + (if + (i32.lt_s + (get_local $6) + (i32.const 0) + ) + (block + (set_local $15 + (i32.const -1) + ) + (br $label$break$L1) + ) ) (call $_pad (get_local $0) (i32.const 32) (get_local $17) - (get_local $7) - (i32.xor - (get_local $11) - (i32.const 8192) + (get_local $1) + (get_local $10) + ) + (if + (get_local $1) + (block + (set_local $6 + (i32.const 0) + ) + (set_local $7 + (i32.load + (get_local $18) + ) + ) + (loop $while-in$134 + (if + (i32.eqz + (tee_local $8 + (i32.load + (get_local $7) + ) + ) + ) + (block + (set_local $6 + (get_local $1) + ) + (br $jumpthreading$inner$7) + ) + ) + (set_local $7 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (if + (i32.gt_s + (tee_local $6 + (i32.add + (tee_local $8 + (call $_wctomb + (get_local $37) + (get_local $8) + ) + ) + (get_local $6) + ) + ) + (get_local $1) + ) + (block + (set_local $6 + (get_local $1) + ) + (br $jumpthreading$inner$7) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $37) + (get_local $8) + (get_local $0) + ) + ) + ) + (br_if $while-in$134 + (i32.lt_u + (get_local $6) + (get_local $1) + ) + ) + (block + (set_local $6 + (get_local $1) + ) + (br $jumpthreading$inner$7) + ) + ) + ) + (block + (set_local $6 + (i32.const 0) + ) + (br $jumpthreading$inner$7) ) ) - (set_local $9 - (get_local $5) + (br $jumpthreading$outer$8) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $17) + (get_local $6) + (i32.xor + (get_local $10) + (i32.const 8192) ) - (set_local $5 - (select + ) + (set_local $1 + (get_local $5) + ) + (set_local $5 + (select + (get_local $17) + (get_local $6) + (i32.gt_s (get_local $17) - (get_local $7) - (i32.gt_s - (get_local $17) - (get_local $7) - ) + (get_local $6) ) ) - (br $label$continue$L1) ) - (br $jumpthreading$outer$8) + (br $label$continue$L1) ) - (set_local $11 + (set_local $10 (select (i32.and - (get_local $9) + (get_local $1) (i32.const -65537) ) - (get_local $9) + (get_local $1) (i32.gt_s - (get_local $6) + (get_local $7) (i32.const -1) ) ) ) - (set_local $7 + (set_local $6 (if (i32.or (i32.ne - (get_local $6) + (get_local $7) (i32.const 0) ) - (tee_local $9 + (tee_local $1 (i32.or (i32.ne (i32.load - (tee_local $9 + (tee_local $1 (get_local $18) ) ) @@ -7185,7 +7169,7 @@ ) (i32.ne (i32.load offset=4 - (get_local $9) + (get_local $1) ) (i32.const 0) ) @@ -7193,40 +7177,40 @@ ) ) (block - (set_local $12 + (set_local $11 (select - (get_local $6) - (tee_local $9 + (get_local $7) + (tee_local $1 (i32.add (i32.xor (i32.and - (get_local $9) + (get_local $1) (i32.const 1) ) (i32.const 1) ) (i32.sub (get_local $40) - (get_local $7) + (get_local $6) ) ) ) (i32.gt_s - (get_local $6) - (get_local $9) + (get_local $7) + (get_local $1) ) ) ) - (set_local $6 + (set_local $1 (get_local $23) ) - (get_local $7) + (get_local $6) ) (block - (set_local $12 + (set_local $11 (i32.const 0) ) - (set_local $6 + (set_local $1 (get_local $23) ) (get_local $23) @@ -7237,23 +7221,23 @@ (call $_pad (get_local $0) (i32.const 32) - (tee_local $6 + (tee_local $7 (select - (tee_local $9 + (tee_local $1 (i32.add (get_local $8) - (tee_local $12 + (tee_local $11 (select - (tee_local $13 + (tee_local $12 (i32.sub + (get_local $1) (get_local $6) - (get_local $7) ) ) - (get_local $12) + (get_local $11) (i32.lt_s + (get_local $11) (get_local $12) - (get_local $13) ) ) ) @@ -7262,12 +7246,12 @@ (get_local $17) (i32.lt_s (get_local $17) - (get_local $9) + (get_local $1) ) ) ) - (get_local $9) - (get_local $11) + (get_local $1) + (get_local $10) ) (if (i32.eqz @@ -7280,7 +7264,7 @@ ) (drop (call $___fwritex - (get_local $10) + (get_local $9) (get_local $8) (get_local $0) ) @@ -7289,18 +7273,18 @@ (call $_pad (get_local $0) (i32.const 48) - (get_local $6) - (get_local $9) + (get_local $7) + (get_local $1) (i32.xor - (get_local $11) + (get_local $10) (i32.const 65536) ) ) (call $_pad (get_local $0) (i32.const 48) + (get_local $11) (get_local $12) - (get_local $13) (i32.const 0) ) (if @@ -7314,8 +7298,8 @@ ) (drop (call $___fwritex - (get_local $7) - (get_local $13) + (get_local $6) + (get_local $12) (get_local $0) ) ) @@ -7323,30 +7307,30 @@ (call $_pad (get_local $0) (i32.const 32) - (get_local $6) - (get_local $9) + (get_local $7) + (get_local $1) (i32.xor - (get_local $11) + (get_local $10) (i32.const 8192) ) ) - (set_local $9 + (set_local $1 (get_local $5) ) (set_local $5 - (get_local $6) + (get_local $7) ) (br $label$continue$L1) ) ) - (br $jumpthreading$outer$9) + (br $label$break$L343) ) (if (i32.eqz (get_local $0) ) (if - (get_local $1) + (get_local $13) (block (set_local $0 (i32.const 1) @@ -7394,7 +7378,7 @@ (set_local $15 (i32.const 1) ) - (br $jumpthreading$outer$9) + (br $label$break$L343) ) ) ) @@ -7424,7 +7408,7 @@ (set_local $15 (i32.const -1) ) - (br $jumpthreading$outer$9) + (br $label$break$L343) ) ) (if @@ -11127,216 +11111,214 @@ ) ) (block - (block $jumpthreading$outer$5 + (block $label$break$L279 (block $jumpthreading$inner$5 - (block $jumpthreading$outer$4 - (block $jumpthreading$inner$4 - (br_if $jumpthreading$inner$4 - (i32.eqz - (tee_local $4 - (i32.load - (i32.const 200) - ) + (block $jumpthreading$inner$4 + (br_if $jumpthreading$inner$4 + (i32.eqz + (tee_local $4 + (i32.load + (i32.const 200) ) ) ) - (set_local $1 - (i32.const 624) - ) - (loop $while-in$38 - (block $while-out$37 - (if - (i32.le_u - (tee_local $2 - (i32.load - (get_local $1) - ) + ) + (set_local $1 + (i32.const 624) + ) + (loop $while-in$38 + (block $while-out$37 + (if + (i32.le_u + (tee_local $2 + (i32.load + (get_local $1) ) - (get_local $4) ) - (if - (i32.gt_u - (i32.add - (get_local $2) - (i32.load - (tee_local $2 - (i32.add - (get_local $1) - (i32.const 4) - ) + (get_local $4) + ) + (if + (i32.gt_u + (i32.add + (get_local $2) + (i32.load + (tee_local $2 + (i32.add + (get_local $1) + (i32.const 4) ) ) ) - (get_local $4) - ) - (block - (set_local $4 - (get_local $1) - ) - (br $while-out$37) ) + (get_local $4) ) - ) - (br_if $while-in$38 - (tee_local $1 - (i32.load offset=8 + (block + (set_local $4 (get_local $1) ) + (br $while-out$37) ) ) - (br $jumpthreading$inner$4) ) - ) - (if - (i32.lt_u + (br_if $while-in$38 (tee_local $1 - (i32.and - (i32.sub - (get_local $5) - (i32.load - (i32.const 188) - ) - ) - (get_local $3) + (i32.load offset=8 + (get_local $1) ) ) - (i32.const 2147483647) ) - (if - (i32.eq - (tee_local $3 - (call_import $_sbrk - (get_local $1) - ) - ) - (i32.add - (i32.load - (get_local $4) - ) + (br $jumpthreading$inner$4) + ) + ) + (if + (i32.lt_u + (tee_local $1 + (i32.and + (i32.sub + (get_local $5) (i32.load - (get_local $2) + (i32.const 188) ) ) + (get_local $3) ) - (br_if $jumpthreading$inner$13 - (i32.ne - (get_local $3) - (i32.const -1) + ) + (i32.const 2147483647) + ) + (if + (i32.eq + (tee_local $3 + (call_import $_sbrk + (get_local $1) ) ) - (br $jumpthreading$inner$5) + (i32.add + (i32.load + (get_local $4) + ) + (i32.load + (get_local $2) + ) + ) + ) + (br_if $jumpthreading$inner$13 + (i32.ne + (get_local $3) + (i32.const -1) + ) ) + (br $jumpthreading$inner$5) ) - (br $jumpthreading$outer$4) ) - (if - (i32.ne - (tee_local $3 - (call_import $_sbrk - (i32.const 0) - ) + (br $label$break$L279) + ) + (if + (i32.ne + (tee_local $3 + (call_import $_sbrk + (i32.const 0) ) - (i32.const -1) ) - (block - (set_local $2 - (i32.add - (tee_local $5 - (i32.load - (i32.const 608) - ) + (i32.const -1) + ) + (block + (set_local $2 + (i32.add + (tee_local $5 + (i32.load + (i32.const 608) ) - (tee_local $1 - (if - (i32.and - (tee_local $2 - (i32.add - (tee_local $4 - (i32.load - (i32.const 652) - ) + ) + (tee_local $1 + (if + (i32.and + (tee_local $2 + (i32.add + (tee_local $4 + (i32.load + (i32.const 652) ) - (i32.const -1) ) - ) - (tee_local $1 - (get_local $3) + (i32.const -1) ) ) - (i32.add - (i32.sub - (get_local $10) + (tee_local $1 + (get_local $3) + ) + ) + (i32.add + (i32.sub + (get_local $10) + (get_local $1) + ) + (i32.and + (i32.add + (get_local $2) (get_local $1) ) - (i32.and - (i32.add - (get_local $2) - (get_local $1) - ) - (i32.sub - (i32.const 0) - (get_local $4) - ) + (i32.sub + (i32.const 0) + (get_local $4) ) ) - (get_local $10) ) + (get_local $10) ) ) ) - (if - (i32.and - (i32.gt_u - (get_local $1) - (get_local $0) - ) - (i32.lt_u - (get_local $1) - (i32.const 2147483647) - ) + ) + (if + (i32.and + (i32.gt_u + (get_local $1) + (get_local $0) ) - (block - (if - (tee_local $4 - (i32.load - (i32.const 616) - ) + (i32.lt_u + (get_local $1) + (i32.const 2147483647) + ) + ) + (block + (if + (tee_local $4 + (i32.load + (i32.const 616) ) - (br_if $jumpthreading$outer$4 - (i32.or - (i32.le_u - (get_local $2) - (get_local $5) - ) - (i32.gt_u - (get_local $2) - (get_local $4) - ) + ) + (br_if $label$break$L279 + (i32.or + (i32.le_u + (get_local $2) + (get_local $5) + ) + (i32.gt_u + (get_local $2) + (get_local $4) ) ) ) - (br_if $jumpthreading$inner$13 - (i32.eq - (tee_local $2 - (call_import $_sbrk - (get_local $1) - ) + ) + (br_if $jumpthreading$inner$13 + (i32.eq + (tee_local $2 + (call_import $_sbrk + (get_local $1) ) - (get_local $3) ) + (get_local $3) ) - (block - (set_local $3 - (get_local $2) - ) - (br $jumpthreading$inner$5) + ) + (block + (set_local $3 + (get_local $2) ) + (br $jumpthreading$inner$5) ) ) ) ) ) - (br $jumpthreading$outer$5) + (br $label$break$L279) ) (set_local $2 (i32.sub @@ -11397,7 +11379,7 @@ (get_local $2) ) ) - (br $jumpthreading$outer$5) + (br $label$break$L279) ) (set_local $1 (i32.add diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise index c992c092e..66c49ce29 100644 --- a/test/emcc_hello_world.fromasm.imprecise +++ b/test/emcc_hello_world.fromasm.imprecise @@ -1489,7 +1489,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (block $jumpthreading$outer$0 + (block $label$break$L5 (block $jumpthreading$inner$0 (br_if $jumpthreading$inner$0 (tee_local $3 @@ -1519,7 +1519,7 @@ (br $jumpthreading$inner$0) ) ) - (br $jumpthreading$outer$0) + (br $label$break$L5) ) (set_local $6 (tee_local $4 @@ -1558,7 +1558,7 @@ ) ) ) - (br $jumpthreading$outer$0) + (br $label$break$L5) ) ) (drop @@ -1612,7 +1612,7 @@ ) ) ) - (br_if $jumpthreading$outer$0 + (br_if $label$break$L5 (i32.lt_u (call_indirect $FUNCSIG$iiii (get_local $2) @@ -1984,7 +1984,7 @@ (i32.const 255) ) ) - (block $jumpthreading$outer$2 + (block $label$break$L8 (block $jumpthreading$inner$2 (block $jumpthreading$inner$1 (if @@ -2063,7 +2063,7 @@ (set_local $1 (i32.const 0) ) - (br $jumpthreading$outer$2) + (br $label$break$L8) ) (if (i32.eq @@ -2172,12 +2172,12 @@ (set_local $1 (i32.const 0) ) - (br $jumpthreading$outer$2) + (br $label$break$L8) ) ) ) (loop $while-in$8 - (br_if $jumpthreading$outer$2 + (br_if $label$break$L8 (i32.eq (i32.load8_s (get_local $0) @@ -2459,7 +2459,7 @@ (set_local $40 (tee_local $23 (i32.add - (tee_local $9 + (tee_local $13 (i32.add (get_local $27) (i32.const 536) @@ -2471,7 +2471,7 @@ ) (set_local $41 (i32.add - (get_local $9) + (get_local $13) (i32.const 39) ) ) @@ -2488,7 +2488,7 @@ ) (set_local $34 (i32.add - (tee_local $9 + (tee_local $13 (i32.add (get_local $27) (i32.const 576) @@ -2499,7 +2499,7 @@ ) (set_local $43 (i32.add - (get_local $9) + (get_local $13) (i32.const 11) ) ) @@ -2558,16 +2558,13 @@ (set_local $15 (i32.const 0) ) - (set_local $9 - (get_local $1) - ) (set_local $5 (i32.const 0) ) - (set_local $1 + (set_local $13 (i32.const 0) ) - (block $jumpthreading$outer$9 + (block $label$break$L343 (block $jumpthreading$inner$9 (loop $label$continue$L1 (block $label$break$L1 @@ -2606,7 +2603,7 @@ (i32.shl (tee_local $5 (i32.load8_s - (get_local $9) + (get_local $1) ) ) (i32.const 24) @@ -2616,14 +2613,14 @@ ) ) (block - (set_local $7 + (set_local $6 (get_local $5) ) (set_local $5 - (get_local $9) + (get_local $1) ) ) - (block $jumpthreading$outer$1 + (block $label$break$L12 (block $jumpthreading$inner$1 (loop $label$continue$L9 (block $label$break$L9 @@ -2634,7 +2631,7 @@ (i32.sub (i32.shr_s (i32.shl - (get_local $7) + (get_local $6) (i32.const 24) ) (i32.const 24) @@ -2643,17 +2640,17 @@ ) ) ) - (set_local $6 + (set_local $7 (get_local $5) ) (br $jumpthreading$inner$1) ) - (set_local $6 + (set_local $7 (get_local $5) ) (br $label$break$L9) ) - (set_local $7 + (set_local $6 (i32.load8_s (tee_local $5 (i32.add @@ -2666,13 +2663,13 @@ (br $label$continue$L9) ) ) - (br $jumpthreading$outer$1) + (br $label$break$L12) ) (loop $while-in$8 - (br_if $jumpthreading$outer$1 + (br_if $label$break$L12 (i32.ne (i32.load8_s offset=1 - (get_local $6) + (get_local $7) ) (i32.const 37) ) @@ -2686,9 +2683,9 @@ (br_if $while-in$8 (i32.eq (i32.load8_s - (tee_local $6 + (tee_local $7 (i32.add - (get_local $6) + (get_local $7) (i32.const 2) ) ) @@ -2698,10 +2695,10 @@ ) ) ) - (set_local $7 + (set_local $6 (i32.sub (get_local $5) - (get_local $9) + (get_local $1) ) ) (if @@ -2717,8 +2714,8 @@ ) (drop (call $___fwritex - (get_local $9) - (get_local $7) + (get_local $1) + (get_local $6) (get_local $0) ) ) @@ -2727,14 +2724,14 @@ (if (i32.ne (get_local $5) - (get_local $9) + (get_local $1) ) (block - (set_local $9 - (get_local $6) + (set_local $1 + (get_local $7) ) (set_local $5 - (get_local $7) + (get_local $6) ) (br $label$continue$L1) ) @@ -2742,15 +2739,15 @@ (set_local $21 (if (i32.lt_u - (tee_local $10 + (tee_local $9 (i32.add (i32.shr_s (i32.shl (tee_local $5 (i32.load8_s - (tee_local $11 + (tee_local $10 (i32.add - (get_local $6) + (get_local $7) (i32.const 1) ) ) @@ -2768,17 +2765,17 @@ (block (set_local $5 (i32.load8_s - (tee_local $11 + (tee_local $10 (select (i32.add - (get_local $6) + (get_local $7) (i32.const 3) ) - (get_local $11) + (get_local $10) (tee_local $8 (i32.eq (i32.load8_s offset=2 - (get_local $6) + (get_local $7) ) (i32.const 36) ) @@ -2787,22 +2784,22 @@ ) ) ) - (set_local $6 + (set_local $7 (select (i32.const 1) - (get_local $1) + (get_local $13) (get_local $8) ) ) (select - (get_local $10) + (get_local $9) (i32.const -1) (get_local $8) ) ) (block - (set_local $6 - (get_local $1) + (set_local $7 + (get_local $13) ) (i32.const -1) ) @@ -2826,7 +2823,7 @@ (i32.const 32) ) (block - (set_local $1 + (set_local $13 (get_local $5) ) (set_local $5 @@ -2863,7 +2860,7 @@ (i32.add (i32.shr_s (i32.shl - (get_local $1) + (get_local $13) (i32.const 24) ) (i32.const 24) @@ -2880,11 +2877,11 @@ (tee_local $5 (i32.shr_s (i32.shl - (tee_local $1 + (tee_local $13 (i32.load8_s - (tee_local $11 + (tee_local $10 (i32.add - (get_local $11) + (get_local $10) (i32.const 1) ) ) @@ -2906,7 +2903,7 @@ ) ) (block - (set_local $1 + (set_local $13 (get_local $5) ) (set_local $5 @@ -2920,7 +2917,7 @@ (i32.eq (i32.shr_s (i32.shl - (get_local $1) + (get_local $13) (i32.const 24) ) (i32.const 24) @@ -2928,7 +2925,7 @@ (i32.const 42) ) (block - (set_local $1 + (set_local $13 (block $jumpthreading$outer$0 (block $jumpthreading$inner$0 (br_if $jumpthreading$inner$0 @@ -2936,9 +2933,9 @@ (tee_local $8 (i32.add (i32.load8_s - (tee_local $1 + (tee_local $13 (i32.add - (get_local $11) + (get_local $10) (i32.const 1) ) ) @@ -2952,7 +2949,7 @@ (br_if $jumpthreading$inner$0 (i32.ne (i32.load8_s offset=2 - (get_local $11) + (get_local $10) ) (i32.const 36) ) @@ -2967,13 +2964,13 @@ ) (i32.const 10) ) - (set_local $1 + (set_local $13 (i32.add (get_local $3) (i32.shl (i32.add (i32.load8_s - (get_local $1) + (get_local $13) ) (i32.const -48) ) @@ -2981,15 +2978,15 @@ ) ) ) - (set_local $11 + (set_local $10 (i32.add - (get_local $11) + (get_local $10) (i32.const 3) ) ) - (set_local $6 + (set_local $7 (i32.load - (get_local $1) + (get_local $13) ) ) (br $jumpthreading$outer$0 @@ -2997,7 +2994,7 @@ ) ) (if - (get_local $6) + (get_local $7) (block (set_local $15 (i32.const -1) @@ -3013,10 +3010,10 @@ (set_local $8 (get_local $5) ) - (set_local $11 - (get_local $1) + (set_local $10 + (get_local $13) ) - (set_local $1 + (set_local $13 (i32.const 0) ) (set_local $17 @@ -3025,9 +3022,9 @@ (br $do-once$12) ) ) - (set_local $6 + (set_local $7 (i32.load - (tee_local $11 + (tee_local $10 (i32.and (i32.add (i32.load @@ -3043,12 +3040,12 @@ (i32.store (get_local $2) (i32.add - (get_local $11) + (get_local $10) (i32.const 4) ) ) - (set_local $11 - (get_local $1) + (set_local $10 + (get_local $13) ) (i32.const 0) ) @@ -3056,14 +3053,14 @@ (set_local $8 (if (i32.lt_s - (get_local $6) + (get_local $7) (i32.const 0) ) (block (set_local $17 (i32.sub (i32.const 0) - (get_local $6) + (get_local $7) ) ) (i32.or @@ -3073,7 +3070,7 @@ ) (block (set_local $17 - (get_local $6) + (get_local $7) ) (get_local $5) ) @@ -3082,11 +3079,11 @@ ) (if (i32.lt_u - (tee_local $1 + (tee_local $13 (i32.add (i32.shr_s (i32.shl - (get_local $1) + (get_local $13) (i32.const 24) ) (i32.const 24) @@ -3101,23 +3098,23 @@ (i32.const 0) ) (loop $while-in$15 - (set_local $1 + (set_local $13 (i32.add (i32.mul (get_local $8) (i32.const 10) ) - (get_local $1) + (get_local $13) ) ) (if (i32.lt_u - (tee_local $10 + (tee_local $9 (i32.add (i32.load8_s - (tee_local $11 + (tee_local $10 (i32.add - (get_local $11) + (get_local $10) (i32.const 1) ) ) @@ -3129,21 +3126,21 @@ ) (block (set_local $8 - (get_local $1) + (get_local $13) ) - (set_local $1 - (get_local $10) + (set_local $13 + (get_local $9) ) (br $while-in$15) ) - (set_local $10 - (get_local $1) + (set_local $9 + (get_local $13) ) ) ) (if (i32.lt_s - (get_local $10) + (get_local $9) (i32.const 0) ) (block @@ -3156,11 +3153,11 @@ (set_local $8 (get_local $5) ) - (set_local $1 - (get_local $6) + (set_local $13 + (get_local $7) ) (set_local $17 - (get_local $10) + (get_local $9) ) ) ) @@ -3169,8 +3166,8 @@ (set_local $8 (get_local $5) ) - (set_local $1 - (get_local $6) + (set_local $13 + (get_local $7) ) (set_local $17 (i32.const 0) @@ -3179,12 +3176,12 @@ ) ) ) - (set_local $10 + (set_local $9 (block $label$break$L46 (if (i32.eq (i32.load8_s - (get_local $11) + (get_local $10) ) (i32.const 46) ) @@ -3193,11 +3190,11 @@ (i32.ne (i32.shr_s (i32.shl - (tee_local $6 + (tee_local $7 (i32.load8_s (tee_local $5 (i32.add - (get_local $11) + (get_local $10) (i32.const 1) ) ) @@ -3212,11 +3209,11 @@ (block (if (i32.lt_u - (tee_local $6 + (tee_local $7 (i32.add (i32.shr_s (i32.shl - (get_local $6) + (get_local $7) (i32.const 24) ) (i32.const 24) @@ -3226,11 +3223,11 @@ ) (i32.const 10) ) - (set_local $11 + (set_local $10 (i32.const 0) ) (block - (set_local $6 + (set_local $7 (i32.const 0) ) (br $label$break$L46 @@ -3239,19 +3236,19 @@ ) ) (loop $while-in$18 - (set_local $6 + (set_local $7 (i32.add (i32.mul - (get_local $11) + (get_local $10) (i32.const 10) ) - (get_local $6) + (get_local $7) ) ) (br_if $label$break$L46 (get_local $5) (i32.ge_u - (tee_local $10 + (tee_local $9 (i32.add (i32.load8_s (tee_local $5 @@ -3268,11 +3265,11 @@ ) ) (block - (set_local $11 - (get_local $6) + (set_local $10 + (get_local $7) ) - (set_local $6 - (get_local $10) + (set_local $7 + (get_local $9) ) (br $while-in$18) ) @@ -3284,9 +3281,9 @@ (tee_local $5 (i32.add (i32.load8_s - (tee_local $10 + (tee_local $9 (i32.add - (get_local $11) + (get_local $10) (i32.const 2) ) ) @@ -3299,7 +3296,7 @@ (if (i32.eq (i32.load8_s offset=3 - (get_local $11) + (get_local $10) ) (i32.const 36) ) @@ -3320,7 +3317,7 @@ (i32.shl (i32.add (i32.load8_s - (get_local $10) + (get_local $9) ) (i32.const -48) ) @@ -3328,14 +3325,14 @@ ) ) ) - (set_local $6 + (set_local $7 (i32.load (get_local $5) ) ) (br $label$break$L46 (i32.add - (get_local $11) + (get_local $10) (i32.const 4) ) ) @@ -3343,7 +3340,7 @@ ) ) (if - (get_local $1) + (get_local $13) (block (set_local $15 (i32.const -1) @@ -3354,7 +3351,7 @@ (if (get_local $31) (block - (set_local $6 + (set_local $7 (i32.load (tee_local $5 (i32.and @@ -3376,26 +3373,26 @@ (i32.const 4) ) ) - (get_local $10) + (get_local $9) ) (block - (set_local $6 + (set_local $7 (i32.const 0) ) - (get_local $10) + (get_local $9) ) ) ) (block - (set_local $6 + (set_local $7 (i32.const -1) ) - (get_local $11) + (get_local $10) ) ) ) ) - (set_local $12 + (set_local $11 (i32.const 0) ) (loop $while-in$20 @@ -3404,7 +3401,7 @@ (tee_local $5 (i32.add (i32.load8_s - (get_local $10) + (get_local $9) ) (i32.const -65) ) @@ -3418,9 +3415,9 @@ (br $label$break$L1) ) ) - (set_local $11 + (set_local $10 (i32.add - (get_local $10) + (get_local $9) (i32.const 1) ) ) @@ -3429,13 +3426,13 @@ (i32.add (tee_local $5 (i32.and - (tee_local $13 + (tee_local $12 (i32.load8_s (i32.add (i32.add (i32.const 3611) (i32.mul - (get_local $12) + (get_local $11) (i32.const 58) ) ) @@ -3451,10 +3448,10 @@ (i32.const 8) ) (block - (set_local $10 - (get_local $11) + (set_local $9 + (get_local $10) ) - (set_local $12 + (set_local $11 (get_local $5) ) (br $while-in$20) @@ -3464,10 +3461,10 @@ (get_local $5) ) (set_local $5 - (get_local $11) + (get_local $10) ) (set_local $19 - (get_local $10) + (get_local $9) ) ) ) @@ -3476,7 +3473,7 @@ (i32.eqz (i32.shr_s (i32.shl - (get_local $13) + (get_local $12) (i32.const 24) ) (i32.const 24) @@ -3489,7 +3486,7 @@ (br $label$break$L1) ) ) - (set_local $11 + (set_local $10 (i32.gt_s (get_local $21) (i32.const -1) @@ -3501,7 +3498,7 @@ (i32.eq (i32.shr_s (i32.shl - (get_local $13) + (get_local $12) (i32.const 24) ) (i32.const 24) @@ -3509,7 +3506,7 @@ (i32.const 19) ) (if - (get_local $11) + (get_local $10) (block (set_local $15 (i32.const -1) @@ -3520,7 +3517,7 @@ ) (block (if - (get_local $11) + (get_local $10) (block (i32.store (i32.add @@ -3532,9 +3529,9 @@ ) (get_local $16) ) - (set_local $13 + (set_local $12 (i32.load offset=4 - (tee_local $10 + (tee_local $9 (i32.add (get_local $3) (i32.shl @@ -3546,16 +3543,16 @@ ) ) (i32.store - (tee_local $11 + (tee_local $10 (get_local $18) ) (i32.load - (get_local $10) + (get_local $9) ) ) (i32.store offset=4 - (get_local $11) - (get_local $13) + (get_local $10) + (get_local $12) ) (br $jumpthreading$inner$2) ) @@ -3585,19 +3582,19 @@ (get_local $31) ) (block - (set_local $9 + (set_local $1 (get_local $5) ) (set_local $5 - (get_local $7) + (get_local $6) ) (br $label$continue$L1) ) ) ) - (set_local $11 + (set_local $10 (select - (tee_local $10 + (tee_local $9 (i32.and (get_local $8) (i32.const -65537) @@ -3612,3565 +3609,3552 @@ ) (block $jumpthreading$outer$8 (block $jumpthreading$inner$8 - (block $jumpthreading$outer$7 - (block $jumpthreading$inner$7 - (block $jumpthreading$outer$6 - (block $jumpthreading$inner$6 - (block $jumpthreading$outer$5 - (block $jumpthreading$inner$5 - (block $jumpthreading$outer$4 - (block $jumpthreading$inner$4 - (block $jumpthreading$outer$3 - (block $jumpthreading$inner$3 - (set_local $7 - (block $switch$24 - (block $switch-default$127 - (block $switch-case$49 - (block $switch-case$48 - (block $switch-case$47 - (block $switch-case$46 - (block $switch-case$45 - (block $switch-case$44 - (block $switch-case$43 - (block $switch-case$41 - (block $switch-case$40 - (block $switch-case$36 - (block $switch-case$35 - (block $switch-case$34 - (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$49 $switch-default$127 $switch-case$44 $switch-case$41 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 - (i32.sub - (tee_local $16 - (select - (i32.and - (tee_local $8 - (i32.load8_s - (get_local $19) - ) - ) - (i32.const -33) - ) - (get_local $8) - (i32.and - (i32.ne - (get_local $12) - (i32.const 0) - ) - (i32.eq - (i32.and - (get_local $8) - (i32.const 15) - ) - (i32.const 3) - ) - ) - ) - ) - (i32.const 65) - ) - ) - ) - (block $switch-default$33 - (block $switch-case$32 - (block $switch-case$31 - (block $switch-case$30 - (block $switch-case$29 - (block $switch-case$28 - (block $switch-case$27 - (block $switch-case$26 - (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33 - (i32.sub - (get_local $12) - (i32.const 0) - ) - ) - ) - (i32.store - (i32.load - (get_local $18) - ) - (get_local $15) - ) - (set_local $9 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (br $label$continue$L1) - ) - (i32.store - (i32.load - (get_local $18) - ) - (get_local $15) - ) - (set_local $9 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (br $label$continue$L1) - ) - (i32.store - (tee_local $9 - (i32.load - (get_local $18) - ) - ) - (get_local $15) - ) - (i32.store offset=4 - (get_local $9) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $15) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.const 31) - ) - ) - (set_local $9 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (br $label$continue$L1) - ) - (i32.store16 - (i32.load - (get_local $18) - ) - (i32.and - (get_local $15) - (i32.const 65535) - ) - ) - (set_local $9 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (br $label$continue$L1) - ) - (i32.store8 - (i32.load - (get_local $18) - ) - (i32.and - (get_local $15) - (i32.const 255) - ) - ) - (set_local $9 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (br $label$continue$L1) - ) - (i32.store - (i32.load - (get_local $18) - ) - (get_local $15) - ) - (set_local $9 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (br $label$continue$L1) - ) - (i32.store - (tee_local $9 - (i32.load - (get_local $18) - ) - ) - (get_local $15) - ) - (i32.store offset=4 - (get_local $9) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $15) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.const 31) - ) - ) - (set_local $9 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (br $label$continue$L1) - ) - (set_local $9 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (br $label$continue$L1) - ) - (set_local $9 - (i32.or - (get_local $11) - (i32.const 8) - ) - ) - (set_local $6 - (select - (get_local $6) - (i32.const 8) - (i32.gt_u - (get_local $6) - (i32.const 8) - ) + (block $jumpthreading$inner$7 + (block $jumpthreading$inner$6 + (block $jumpthreading$inner$5 + (block $jumpthreading$inner$4 + (block $jumpthreading$inner$3 + (block $switch-default$127 + (block $switch-case$49 + (block $switch-case$48 + (block $switch-case$47 + (block $switch-case$46 + (block $switch-case$45 + (block $switch-case$44 + (block $switch-case$43 + (block $switch-case$41 + (block $switch-case$40 + (block $switch-case$36 + (block $switch-case$35 + (block $switch-case$34 + (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$49 $switch-default$127 $switch-case$44 $switch-case$41 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 + (i32.sub + (tee_local $16 + (select + (i32.and + (tee_local $8 + (i32.load8_s + (get_local $19) ) ) - (set_local $16 - (i32.const 120) - ) - (br $jumpthreading$inner$3) - ) - (set_local $9 - (get_local $11) + (i32.const -33) ) - (br $jumpthreading$inner$3) - ) - (if + (get_local $8) (i32.and - (i32.eqz - (tee_local $7 - (i32.load - (tee_local $9 - (get_local $18) - ) - ) - ) + (i32.ne + (get_local $11) + (i32.const 0) ) - (i32.eqz - (tee_local $8 - (i32.load offset=4 - (get_local $9) - ) + (i32.eq + (i32.and + (get_local $8) + (i32.const 15) ) + (i32.const 3) ) ) - (set_local $8 - (get_local $23) - ) - (block - (set_local $9 - (get_local $7) - ) - (set_local $7 - (get_local $8) - ) - (set_local $8 - (get_local $23) - ) - (loop $while-in$39 - (i32.store8 - (tee_local $8 - (i32.add - (get_local $8) - (i32.const -1) - ) - ) - (i32.and - (i32.or - (i32.and - (get_local $9) - (i32.const 7) - ) - (i32.const 48) + ) + ) + (i32.const 65) + ) + ) + ) + (block $switch-default$33 + (block $switch-case$32 + (block $switch-case$31 + (block $switch-case$30 + (block $switch-case$29 + (block $switch-case$28 + (block $switch-case$27 + (block $switch-case$26 + (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33 + (i32.sub + (get_local $11) + (i32.const 0) ) - (i32.const 255) ) ) - (br_if $while-in$39 - (i32.eqz - (i32.and - (i32.eqz - (tee_local $9 - (call $_bitshift64Lshr - (get_local $9) - (get_local $7) - (i32.const 3) - ) - ) - ) - (i32.eqz - (tee_local $7 - (get_global $tempRet0) - ) - ) - ) + (i32.store + (i32.load + (get_local $18) ) + (get_local $15) ) - ) - ) - ) - (if - (i32.and - (get_local $11) - (i32.const 8) - ) - (block - (set_local $7 - (get_local $8) - ) - (set_local $9 - (get_local $11) - ) - (set_local $6 - (select - (tee_local $11 - (i32.add - (i32.sub - (get_local $40) - (get_local $8) - ) - (i32.const 1) - ) - ) + (set_local $1 + (get_local $5) + ) + (set_local $5 (get_local $6) - (i32.lt_s - (get_local $6) - (get_local $11) - ) ) + (br $label$continue$L1) ) - (set_local $8 - (i32.const 0) - ) - (set_local $10 - (i32.const 4091) - ) - (br $jumpthreading$inner$8) - ) - (block - (set_local $7 - (get_local $8) - ) - (set_local $9 - (get_local $11) - ) - (set_local $8 - (i32.const 0) + (i32.store + (i32.load + (get_local $18) + ) + (get_local $15) ) - (set_local $10 - (i32.const 4091) + (set_local $1 + (get_local $5) ) - (br $jumpthreading$inner$8) - ) - ) - ) - (set_local $9 - (i32.load - (tee_local $7 - (get_local $18) - ) - ) - ) - (if - (i32.lt_s - (tee_local $7 - (i32.load offset=4 - (get_local $7) + (set_local $5 + (get_local $6) ) + (br $label$continue$L1) ) - (i32.const 0) - ) - (block (i32.store - (tee_local $8 - (get_local $18) - ) - (tee_local $9 - (call $_i64Subtract - (i32.const 0) - (i32.const 0) - (get_local $9) - (get_local $7) + (tee_local $1 + (i32.load + (get_local $18) ) ) + (get_local $15) ) (i32.store offset=4 - (get_local $8) - (tee_local $7 - (get_global $tempRet0) + (get_local $1) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $15) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) ) ) - (set_local $8 - (i32.const 1) + (set_local $1 + (get_local $5) ) - (set_local $10 - (i32.const 4091) + (set_local $5 + (get_local $6) ) - (br $jumpthreading$inner$4) + (br $label$continue$L1) ) - ) - (if - (i32.and - (get_local $11) - (i32.const 2048) - ) - (block - (set_local $8 - (i32.const 1) + (i32.store16 + (i32.load + (get_local $18) ) - (set_local $10 - (i32.const 4092) + (i32.and + (get_local $15) + (i32.const 65535) ) - (br $jumpthreading$inner$4) ) - (block - (set_local $8 - (tee_local $10 - (i32.and - (get_local $11) - (i32.const 1) - ) - ) - ) - (set_local $10 - (select - (i32.const 4093) - (i32.const 4091) - (get_local $10) - ) - ) - (br $jumpthreading$inner$4) + (set_local $1 + (get_local $5) + ) + (set_local $5 + (get_local $6) ) + (br $label$continue$L1) ) - ) - (set_local $9 - (i32.load - (tee_local $7 + (i32.store8 + (i32.load (get_local $18) ) + (i32.and + (get_local $15) + (i32.const 255) + ) ) + (set_local $1 + (get_local $5) + ) + (set_local $5 + (get_local $6) + ) + (br $label$continue$L1) ) - (set_local $7 - (i32.load offset=4 - (get_local $7) + (i32.store + (i32.load + (get_local $18) ) + (get_local $15) ) - (set_local $8 - (i32.const 0) + (set_local $1 + (get_local $5) ) - (set_local $10 - (i32.const 4091) + (set_local $5 + (get_local $6) ) - (br $jumpthreading$inner$4) + (br $label$continue$L1) ) - (set_local $9 - (get_local $18) - ) - (i32.store8 - (get_local $41) - (i32.and + (i32.store + (tee_local $1 (i32.load - (get_local $9) + (get_local $18) ) - (i32.const 255) ) + (get_local $15) ) - (set_local $11 - (get_local $10) + (i32.store offset=4 + (get_local $1) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $15) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) ) - (set_local $12 - (i32.const 1) + (set_local $1 + (get_local $5) ) - (set_local $8 - (i32.const 0) + (set_local $5 + (get_local $6) ) - (set_local $10 - (i32.const 4091) + (br $label$continue$L1) + ) + (set_local $1 + (get_local $5) + ) + (set_local $5 + (get_local $6) + ) + (br $label$continue$L1) + ) + (set_local $1 + (i32.or + (get_local $10) + (i32.const 8) + ) + ) + (set_local $7 + (select + (get_local $7) + (i32.const 8) + (i32.gt_u + (get_local $7) + (i32.const 8) ) - (set_local $6 - (get_local $23) + ) + ) + (set_local $16 + (i32.const 120) + ) + (br $jumpthreading$inner$3) + ) + (set_local $1 + (get_local $10) + ) + (br $jumpthreading$inner$3) + ) + (if + (i32.and + (i32.eqz + (tee_local $6 + (i32.load + (tee_local $1 + (get_local $18) + ) ) - (br $switch$24 - (get_local $41) + ) + ) + (i32.eqz + (tee_local $8 + (i32.load offset=4 + (get_local $1) ) ) - (set_local $9 - (call $_strerror - (i32.load - (call $___errno_location) + ) + ) + (set_local $8 + (get_local $23) + ) + (block + (set_local $1 + (get_local $6) + ) + (set_local $6 + (get_local $8) + ) + (set_local $8 + (get_local $23) + ) + (loop $while-in$39 + (i32.store8 + (tee_local $8 + (i32.add + (get_local $8) + (i32.const -1) + ) + ) + (i32.and + (i32.or + (i32.and + (get_local $1) + (i32.const 7) + ) + (i32.const 48) + ) + (i32.const 255) + ) + ) + (br_if $while-in$39 + (i32.eqz + (i32.and + (i32.eqz + (tee_local $1 + (call $_bitshift64Lshr + (get_local $1) + (get_local $6) + (i32.const 3) + ) + ) + ) + (i32.eqz + (tee_local $6 + (get_global $tempRet0) + ) + ) ) ) ) - (br $jumpthreading$inner$5) ) - (set_local $9 + ) + ) + (if + (i32.and + (get_local $10) + (i32.const 8) + ) + (block + (set_local $6 + (get_local $8) + ) + (set_local $1 + (get_local $10) + ) + (set_local $7 (select - (tee_local $9 - (i32.load - (get_local $18) + (tee_local $10 + (i32.add + (i32.sub + (get_local $40) + (get_local $8) + ) + (i32.const 1) ) ) - (i32.const 4101) - (i32.ne - (get_local $9) - (i32.const 0) + (get_local $7) + (i32.lt_s + (get_local $7) + (get_local $10) ) ) ) - (br $jumpthreading$inner$5) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (br $jumpthreading$inner$8) ) - (set_local $9 + (block + (set_local $6 + (get_local $8) + ) + (set_local $1 + (get_local $10) + ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (br $jumpthreading$inner$8) + ) + ) + ) + (set_local $1 + (i32.load + (tee_local $6 (get_local $18) ) - (i32.store - (get_local $42) - (i32.load - (get_local $9) + ) + ) + (if + (i32.lt_s + (tee_local $6 + (i32.load offset=4 + (get_local $6) ) ) + (i32.const 0) + ) + (block (i32.store - (get_local $45) - (i32.const 0) + (tee_local $8 + (get_local $18) + ) + (tee_local $1 + (call $_i64Subtract + (i32.const 0) + (i32.const 0) + (get_local $1) + (get_local $6) + ) + ) ) - (i32.store - (get_local $18) - (get_local $42) + (i32.store offset=4 + (get_local $8) + (tee_local $6 + (get_global $tempRet0) + ) ) (set_local $8 - (i32.const -1) + (i32.const 1) + ) + (set_local $9 + (i32.const 4091) ) - (br $jumpthreading$inner$6) + (br $jumpthreading$inner$4) ) - (if - (get_local $6) - (block - (set_local $8 - (get_local $6) - ) - (br $jumpthreading$inner$6) + ) + (if + (i32.and + (get_local $10) + (i32.const 2048) + ) + (block + (set_local $8 + (i32.const 1) ) - (block - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $17) - (i32.const 0) - (get_local $11) + (set_local $9 + (i32.const 4092) + ) + (br $jumpthreading$inner$4) + ) + (block + (set_local $8 + (tee_local $9 + (i32.and + (get_local $10) + (i32.const 1) + ) ) - (set_local $7 - (i32.const 0) + ) + (set_local $9 + (select + (i32.const 4093) + (i32.const 4091) + (get_local $9) ) - (br $jumpthreading$inner$7) ) + (br $jumpthreading$inner$4) ) ) - (set_local $14 - (f64.load + ) + (set_local $1 + (i32.load + (tee_local $6 (get_local $18) ) ) - (i32.store - (get_local $20) - (i32.const 0) + ) + (set_local $6 + (i32.load offset=4 + (get_local $6) ) - (f64.store + ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (br $jumpthreading$inner$4) + ) + (set_local $1 + (get_local $18) + ) + (i32.store8 + (get_local $41) + (i32.and + (i32.load + (get_local $1) + ) + (i32.const 255) + ) + ) + (set_local $6 + (get_local $41) + ) + (set_local $10 + (get_local $9) + ) + (set_local $11 + (i32.const 1) + ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (set_local $1 + (get_local $23) + ) + (br $jumpthreading$outer$8) + ) + (set_local $1 + (call $_strerror + (i32.load + (call $___errno_location) + ) + ) + ) + (br $jumpthreading$inner$5) + ) + (set_local $1 + (select + (tee_local $1 + (i32.load + (get_local $18) + ) + ) + (i32.const 4101) + (i32.ne + (get_local $1) + (i32.const 0) + ) + ) + ) + (br $jumpthreading$inner$5) + ) + (set_local $1 + (get_local $18) + ) + (i32.store + (get_local $42) + (i32.load + (get_local $1) + ) + ) + (i32.store + (get_local $45) + (i32.const 0) + ) + (i32.store + (get_local $18) + (get_local $42) + ) + (set_local $8 + (i32.const -1) + ) + (br $jumpthreading$inner$6) + ) + (if + (get_local $7) + (block + (set_local $8 + (get_local $7) + ) + (br $jumpthreading$inner$6) + ) + (block + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $17) + (i32.const 0) + (get_local $10) + ) + (set_local $6 + (i32.const 0) + ) + (br $jumpthreading$inner$7) + ) + ) + ) + (set_local $14 + (f64.load + (get_local $18) + ) + ) + (i32.store + (get_local $20) + (i32.const 0) + ) + (f64.store + (get_global $tempDoublePtr) + (get_local $14) + ) + (set_local $33 + (if + (i32.lt_s + (i32.load offset=4 + (get_global $tempDoublePtr) + ) + (i32.const 0) + ) + (block + (set_local $28 + (i32.const 1) + ) + (set_local $14 + (f64.neg + (get_local $14) + ) + ) + (i32.const 4108) + ) + (if + (i32.and + (get_local $10) + (i32.const 2048) + ) + (block + (set_local $28 + (i32.const 1) + ) + (i32.const 4111) + ) + (block + (set_local $28 + (tee_local $1 + (i32.and + (get_local $10) + (i32.const 1) + ) + ) + ) + (select + (i32.const 4114) + (i32.const 4109) + (get_local $1) + ) + ) + ) + ) + ) + (f64.store + (get_global $tempDoublePtr) + (get_local $14) + ) + (set_local $1 + (get_local $5) + ) + (set_local $5 + (block $do-once$56 + (if + (i32.or + (i32.lt_u + (tee_local $5 + (i32.and + (i32.load offset=4 (get_global $tempDoublePtr) - (get_local $14) ) - (set_local $33 - (if - (i32.lt_s - (i32.load offset=4 - (get_global $tempDoublePtr) - ) - (i32.const 0) + (i32.const 2146435072) + ) + ) + (i32.const 2146435072) + ) + (i32.and + (i32.eq + (get_local $5) + (i32.const 2146435072) + ) + (i32.const 0) + ) + ) + (block + (if + (tee_local $5 + (f64.ne + (tee_local $22 + (f64.mul + (call $_frexpl + (get_local $14) + (get_local $20) ) - (block - (set_local $28 - (i32.const 1) + (f64.const 2) + ) + ) + (f64.const 0) + ) + ) + (i32.store + (get_local $20) + (i32.add + (i32.load + (get_local $20) + ) + (i32.const -1) + ) + ) + ) + (if + (i32.eq + (tee_local $25 + (i32.or + (get_local $16) + (i32.const 32) + ) + ) + (i32.const 97) + ) + (block + (set_local $19 + (select + (i32.add + (get_local $33) + (i32.const 9) + ) + (get_local $33) + (tee_local $9 + (i32.and + (get_local $16) + (i32.const 32) + ) + ) + ) + ) + (set_local $8 + (i32.or + (get_local $28) + (i32.const 2) + ) + ) + (set_local $14 + (if + (i32.or + (i32.gt_u + (get_local $7) + (i32.const 11) + ) + (i32.eqz + (tee_local $5 + (i32.sub + (i32.const 12) + (get_local $7) + ) ) + ) + ) + (get_local $22) + (block + (set_local $14 + (f64.const 8) + ) + (loop $while-in$61 (set_local $14 - (f64.neg + (f64.mul (get_local $14) + (f64.const 16) + ) + ) + (br_if $while-in$61 + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -1) + ) ) ) - (i32.const 4108) ) - (if - (i32.and - (get_local $11) - (i32.const 2048) + (select + (f64.neg + (f64.add + (get_local $14) + (f64.sub + (f64.neg + (get_local $22) + ) + (get_local $14) + ) + ) ) - (block - (set_local $28 - (i32.const 1) + (f64.sub + (f64.add + (get_local $22) + (get_local $14) ) - (i32.const 4111) + (get_local $14) ) - (block - (set_local $28 - (tee_local $9 - (i32.and - (get_local $11) - (i32.const 1) + (i32.eq + (i32.load8_s + (get_local $19) + ) + (i32.const 45) + ) + ) + ) + ) + ) + (i32.store8 + (i32.add + (tee_local $6 + (if + (i32.eq + (tee_local $6 + (call $_fmt_u + (tee_local $6 + (select + (i32.sub + (i32.const 0) + (tee_local $5 + (i32.load + (get_local $20) + ) + ) + ) + (get_local $5) + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + ) + ) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $6) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) ) + (get_local $34) ) ) - (select - (i32.const 4114) - (i32.const 4109) - (get_local $9) + (get_local $34) + ) + (block + (i32.store8 + (get_local $43) + (i32.const 48) ) + (get_local $43) ) + (get_local $6) ) ) + (i32.const -1) ) - (f64.store - (get_global $tempDoublePtr) - (get_local $14) + (i32.and + (i32.add + (i32.and + (i32.shr_s + (get_local $5) + (i32.const 31) + ) + (i32.const 2) + ) + (i32.const 43) + ) + (i32.const 255) ) - (set_local $9 + ) + (i32.store8 + (tee_local $11 + (i32.add + (get_local $6) + (i32.const -2) + ) + ) + (i32.and + (i32.add + (get_local $16) + (i32.const 15) + ) + (i32.const 255) + ) + ) + (set_local $12 + (i32.lt_s + (get_local $7) + (i32.const 1) + ) + ) + (set_local $16 + (i32.eqz + (i32.and + (get_local $10) + (i32.const 8) + ) + ) + ) + (set_local $5 + (get_local $24) + ) + (loop $while-in$63 + (i32.store8 (get_local $5) + (i32.and + (i32.or + (i32.and + (i32.load8_s + (i32.add + (tee_local $6 + (i32.trunc_s/f64 + (get_local $14) + ) + ) + (i32.const 4075) + ) + ) + (i32.const 255) + ) + (get_local $9) + ) + (i32.const 255) + ) + ) + (set_local $14 + (f64.mul + (f64.sub + (get_local $14) + (f64.convert_s/i32 + (get_local $6) + ) + ) + (f64.const 16) + ) ) (set_local $5 - (block $do-once$56 + (block $do-once$64 (if - (i32.or - (i32.lt_u - (tee_local $5 + (i32.eq + (i32.sub + (tee_local $6 + (i32.add + (get_local $5) + (i32.const 1) + ) + ) + (get_local $38) + ) + (i32.const 1) + ) + (block + (br_if $do-once$64 + (get_local $6) + (i32.and + (get_local $16) (i32.and - (i32.load offset=4 - (get_global $tempDoublePtr) + (get_local $12) + (f64.eq + (get_local $14) + (f64.const 0) ) - (i32.const 2146435072) ) ) - (i32.const 2146435072) + ) + (i32.store8 + (get_local $6) + (i32.const 46) + ) + (i32.add + (get_local $5) + (i32.const 2) + ) + ) + (get_local $6) + ) + ) + ) + (br_if $while-in$63 + (f64.ne + (get_local $14) + (f64.const 0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $17) + (tee_local $6 + (i32.add + (tee_local $7 + (select + (i32.sub + (i32.add + (get_local $48) + (get_local $7) + ) + (get_local $11) + ) + (i32.add + (i32.sub + (get_local $46) + (get_local $11) + ) + (get_local $5) ) (i32.and - (i32.eq - (get_local $5) - (i32.const 2146435072) + (i32.ne + (get_local $7) + (i32.const 0) + ) + (i32.lt_s + (i32.add + (get_local $47) + (get_local $5) + ) + (get_local $7) ) - (i32.const 0) ) ) + ) + (get_local $8) + ) + ) + (get_local $10) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $19) + (get_local $8) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (get_local $17) + (get_local $6) + (i32.xor + (get_local $10) + (i32.const 65536) + ) + ) + (set_local $5 + (i32.sub + (get_local $5) + (get_local $38) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $24) + (get_local $5) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.sub + (get_local $7) + (i32.add + (get_local $5) + (tee_local $5 + (i32.sub + (get_local $30) + (get_local $11) + ) + ) + ) + ) + (i32.const 0) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $11) + (get_local $5) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $17) + (get_local $6) + (i32.xor + (get_local $10) + (i32.const 8192) + ) + ) + (br $do-once$56 + (select + (get_local $17) + (get_local $6) + (i32.lt_s + (get_local $6) + (get_local $17) + ) + ) + ) + ) + ) + (set_local $19 + (select + (i32.const 6) + (get_local $7) + (i32.lt_s + (get_local $7) + (i32.const 0) + ) + ) + ) + (set_local $36 + (tee_local $8 + (select + (get_local $49) + (get_local $50) + (i32.lt_s + (if + (get_local $5) + (block + (i32.store + (get_local $20) + (tee_local $5 + (i32.add + (i32.load + (get_local $20) + ) + (i32.const -28) + ) + ) + ) + (set_local $14 + (f64.mul + (get_local $22) + (f64.const 268435456) + ) + ) + (get_local $5) + ) + (block + (set_local $14 + (get_local $22) + ) + (i32.load + (get_local $20) + ) + ) + ) + (i32.const 0) + ) + ) + ) + ) + (set_local $6 + (get_local $8) + ) + (loop $while-in$67 + (i32.store + (get_local $6) + (tee_local $5 + (i32.trunc_s/f64 + (get_local $14) + ) + ) + ) + (set_local $6 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + (br_if $while-in$67 + (f64.ne + (tee_local $14 + (f64.mul + (f64.sub + (get_local $14) + (f64.convert_u/i32 + (get_local $5) + ) + ) + (f64.const 1e9) + ) + ) + (f64.const 0) + ) + ) + ) + (if + (i32.gt_s + (tee_local $7 + (i32.load + (get_local $20) + ) + ) + (i32.const 0) + ) + (block + (set_local $9 + (get_local $8) + ) + (loop $while-in$69 + (set_local $21 + (select + (i32.const 29) + (get_local $7) + (i32.gt_s + (get_local $7) + (i32.const 29) + ) + ) + ) + (set_local $9 + (block $do-once$70 + (if + (i32.lt_u + (tee_local $7 + (i32.add + (get_local $6) + (i32.const -4) + ) + ) + (get_local $9) + ) + (get_local $9) (block - (if - (tee_local $5 - (f64.ne - (tee_local $22 - (f64.mul - (call $_frexpl - (get_local $14) - (get_local $20) + (set_local $5 + (i32.const 0) + ) + (loop $while-in$73 + (set_local $12 + (call $___uremdi3 + (tee_local $5 + (call $_i64Add + (call $_bitshift64Shl + (i32.load + (get_local $7) + ) + (i32.const 0) + (get_local $21) ) - (f64.const 2) + (get_global $tempRet0) + (get_local $5) + (i32.const 0) ) ) - (f64.const 0) + (tee_local $11 + (get_global $tempRet0) + ) + (i32.const 1000000000) + (i32.const 0) ) ) (i32.store - (get_local $20) - (i32.add - (i32.load - (get_local $20) - ) - (i32.const -1) - ) + (get_local $7) + (get_local $12) ) - ) - (if - (i32.eq - (tee_local $25 - (i32.or - (get_local $16) - (i32.const 32) - ) + (set_local $5 + (call $___udivdi3 + (get_local $5) + (get_local $11) + (i32.const 1000000000) + (i32.const 0) ) - (i32.const 97) ) - (block - (set_local $19 - (select + (br_if $while-in$73 + (i32.ge_u + (tee_local $7 (i32.add - (get_local $33) - (i32.const 9) - ) - (get_local $33) - (tee_local $10 - (i32.and - (get_local $16) - (i32.const 32) - ) + (get_local $7) + (i32.const -4) ) ) + (get_local $9) ) - (set_local $8 - (i32.or - (get_local $28) - (i32.const 2) - ) + ) + ) + (br_if $do-once$70 + (get_local $9) + (i32.eqz + (get_local $5) + ) + ) + (i32.store + (tee_local $7 + (i32.add + (get_local $9) + (i32.const -4) ) - (set_local $14 + ) + (get_local $5) + ) + (get_local $7) + ) + ) + ) + ) + (set_local $5 + (get_local $6) + ) + (loop $while-in$75 + (block $while-out$74 + (if + (i32.le_u + (get_local $5) + (get_local $9) + ) + (block + (set_local $6 + (get_local $5) + ) + (br $while-out$74) + ) + ) + (if + (i32.load + (tee_local $6 + (i32.add + (get_local $5) + (i32.const -4) + ) + ) + ) + (set_local $6 + (get_local $5) + ) + (block + (set_local $5 + (get_local $6) + ) + (br $while-in$75) + ) + ) + ) + ) + (i32.store + (get_local $20) + (tee_local $7 + (i32.sub + (i32.load + (get_local $20) + ) + (get_local $21) + ) + ) + ) + (br_if $while-in$69 + (i32.gt_s + (get_local $7) + (i32.const 0) + ) + ) + (set_local $5 + (get_local $9) + ) + ) + ) + (set_local $5 + (get_local $8) + ) + ) + (if + (i32.lt_s + (get_local $7) + (i32.const 0) + ) + (block + (set_local $12 + (i32.add + (i32.and + (i32.div_s + (i32.add + (get_local $19) + (i32.const 25) + ) + (i32.const 9) + ) + (i32.const -1) + ) + (i32.const 1) + ) + ) + (set_local $21 + (i32.eq + (get_local $25) + (i32.const 102) + ) + ) + (loop $while-in$77 + (set_local $26 + (select + (i32.const 9) + (tee_local $7 + (i32.sub + (i32.const 0) + (get_local $7) + ) + ) + (i32.gt_s + (get_local $7) + (i32.const 9) + ) + ) + ) + (set_local $6 + (select + (i32.add + (tee_local $7 + (select + (get_local $8) + (tee_local $5 + (block $do-once$78 (if - (i32.or - (i32.gt_u - (get_local $6) - (i32.const 11) - ) - (i32.eqz - (tee_local $5 - (i32.sub - (i32.const 12) - (get_local $6) - ) - ) - ) + (i32.lt_u + (get_local $5) + (get_local $6) ) - (get_local $22) (block - (set_local $14 - (f64.const 8) - ) - (loop $while-in$61 - (set_local $14 - (f64.mul - (get_local $14) - (f64.const 16) - ) - ) - (br_if $while-in$61 - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -1) - ) + (set_local $39 + (i32.add + (i32.shl + (i32.const 1) + (get_local $26) ) + (i32.const -1) ) ) - (select - (f64.neg - (f64.add - (get_local $14) - (f64.sub - (f64.neg - (get_local $22) - ) - (get_local $14) - ) - ) - ) - (f64.sub - (f64.add - (get_local $22) - (get_local $14) - ) - (get_local $14) - ) - (i32.eq - (i32.load8_s - (get_local $19) - ) - (i32.const 45) + (set_local $29 + (i32.shr_u + (i32.const 1000000000) + (get_local $26) ) ) - ) - ) - ) - (i32.store8 - (i32.add - (tee_local $7 - (if - (i32.eq - (tee_local $7 - (call $_fmt_u - (tee_local $7 - (select - (i32.sub - (i32.const 0) - (tee_local $5 - (i32.load - (get_local $20) - ) - ) - ) - (get_local $5) - (i32.lt_s - (get_local $5) - (i32.const 0) - ) - ) - ) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $7) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.const 31) - ) - (get_local $34) - ) - ) - (get_local $34) - ) - (block - (i32.store8 - (get_local $43) - (i32.const 48) - ) - (get_local $43) - ) - (get_local $7) + (set_local $9 + (i32.const 0) ) - ) - (i32.const -1) - ) - (i32.and - (i32.add - (i32.and - (i32.shr_s - (get_local $5) - (i32.const 31) - ) - (i32.const 2) + (set_local $7 + (get_local $5) ) - (i32.const 43) - ) - (i32.const 255) - ) - ) - (i32.store8 - (tee_local $12 - (i32.add - (get_local $7) - (i32.const -2) - ) - ) - (i32.and - (i32.add - (get_local $16) - (i32.const 15) - ) - (i32.const 255) - ) - ) - (set_local $13 - (i32.lt_s - (get_local $6) - (i32.const 1) - ) - ) - (set_local $16 - (i32.eqz - (i32.and - (get_local $11) - (i32.const 8) - ) - ) - ) - (set_local $5 - (get_local $24) - ) - (loop $while-in$63 - (i32.store8 - (get_local $5) - (i32.and - (i32.or - (i32.and - (i32.load8_s - (i32.add - (tee_local $7 - (i32.trunc_s/f64 - (get_local $14) + (loop $while-in$81 + (i32.store + (get_local $7) + (i32.add + (i32.shr_u + (tee_local $11 + (i32.load + (get_local $7) ) ) - (i32.const 4075) + (get_local $26) ) + (get_local $9) ) - (i32.const 255) ) - (get_local $10) - ) - (i32.const 255) - ) - ) - (set_local $14 - (f64.mul - (f64.sub - (get_local $14) - (f64.convert_s/i32 - (get_local $7) - ) - ) - (f64.const 16) - ) - ) - (set_local $5 - (block $do-once$64 - (if - (i32.eq - (i32.sub - (tee_local $7 - (i32.add - (get_local $5) - (i32.const 1) - ) + (set_local $9 + (i32.mul + (i32.and + (get_local $11) + (get_local $39) ) - (get_local $38) + (get_local $29) ) - (i32.const 1) ) - (block - (br_if $do-once$64 - (get_local $7) - (i32.and - (get_local $16) - (i32.and - (get_local $13) - (f64.eq - (get_local $14) - (f64.const 0) - ) + (br_if $while-in$81 + (i32.lt_u + (tee_local $7 + (i32.add + (get_local $7) + (i32.const 4) ) ) - ) - (i32.store8 - (get_local $7) - (i32.const 46) - ) - (i32.add - (get_local $5) - (i32.const 2) + (get_local $6) ) ) - (get_local $7) ) - ) - ) - (br_if $while-in$63 - (f64.ne - (get_local $14) - (f64.const 0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $17) - (tee_local $7 - (i32.add - (tee_local $6 + (set_local $5 (select - (i32.sub - (i32.add - (get_local $48) - (get_local $6) - ) - (get_local $12) - ) + (get_local $5) (i32.add - (i32.sub - (get_local $46) - (get_local $12) - ) (get_local $5) + (i32.const 4) ) - (i32.and - (i32.ne - (get_local $6) - (i32.const 0) - ) - (i32.lt_s - (i32.add - (get_local $47) - (get_local $5) - ) - (get_local $6) - ) + (i32.load + (get_local $5) ) ) ) - (get_local $8) - ) - ) - (get_local $11) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) + (br_if $do-once$78 + (get_local $5) + (i32.eqz + (get_local $9) + ) ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $19) - (get_local $8) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (get_local $17) - (get_local $7) - (i32.xor - (get_local $11) - (i32.const 65536) - ) - ) - (set_local $5 - (i32.sub - (get_local $5) - (get_local $38) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) + (i32.store + (get_local $6) + (get_local $9) + ) + (set_local $6 + (i32.add + (get_local $6) + (i32.const 4) + ) ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $24) (get_local $5) - (get_local $0) ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (i32.sub - (get_local $6) - (i32.add + (select (get_local $5) - (tee_local $5 - (i32.sub - (get_local $30) - (get_local $12) - ) + (i32.add + (get_local $5) + (i32.const 4) ) - ) - ) - (i32.const 0) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and (i32.load - (get_local $0) + (get_local $5) ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $12) - (get_local $5) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $17) - (get_local $7) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (br $do-once$56 - (select - (get_local $17) - (get_local $7) - (i32.lt_s - (get_local $7) - (get_local $17) ) ) ) ) + (get_local $21) ) - (set_local $19 - (select - (i32.const 6) - (get_local $6) - (i32.lt_s - (get_local $6) + ) + (i32.shl + (get_local $12) + (i32.const 2) + ) + ) + (get_local $6) + (i32.gt_s + (i32.shr_s + (i32.sub + (get_local $6) + (get_local $7) + ) + (i32.const 2) + ) + (get_local $12) + ) + ) + ) + (i32.store + (get_local $20) + (tee_local $7 + (i32.add + (i32.load + (get_local $20) + ) + (get_local $26) + ) + ) + ) + (br_if $while-in$77 + (i32.lt_s + (get_local $7) + (i32.const 0) + ) + ) + (set_local $9 + (get_local $6) + ) + ) + ) + (set_local $9 + (get_local $6) + ) + ) + (block $do-once$82 + (if + (i32.lt_u + (get_local $5) + (get_local $9) + ) + (block + (set_local $6 + (i32.mul + (i32.shr_s + (i32.sub + (get_local $36) + (get_local $5) + ) + (i32.const 2) + ) + (i32.const 9) + ) + ) + (br_if $do-once$82 + (i32.lt_u + (tee_local $11 + (i32.load + (get_local $5) + ) + ) + (i32.const 10) + ) + ) + (set_local $7 + (i32.const 10) + ) + (loop $while-in$85 + (set_local $6 + (i32.add + (get_local $6) + (i32.const 1) + ) + ) + (br_if $while-in$85 + (i32.ge_u + (get_local $11) + (tee_local $7 + (i32.mul + (get_local $7) + (i32.const 10) + ) + ) + ) + ) + ) + ) + (set_local $6 + (i32.const 0) + ) + ) + ) + (set_local $12 + (if + (i32.lt_s + (tee_local $7 + (i32.add + (i32.sub + (get_local $19) + (select + (get_local $6) + (i32.const 0) + (i32.ne + (get_local $25) + (i32.const 102) + ) + ) + ) + (i32.shr_s + (i32.shl + (i32.and + (tee_local $39 + (i32.ne + (get_local $19) (i32.const 0) ) ) + (tee_local $21 + (i32.eq + (get_local $25) + (i32.const 103) + ) + ) ) - (set_local $36 - (tee_local $8 - (select - (get_local $49) - (get_local $50) - (i32.lt_s - (if - (get_local $5) - (block - (i32.store - (get_local $20) - (tee_local $5 - (i32.add - (i32.load - (get_local $20) - ) - (i32.const -28) - ) - ) - ) - (set_local $14 - (f64.mul - (get_local $22) - (f64.const 268435456) - ) - ) - (get_local $5) - ) - (block - (set_local $14 - (get_local $22) - ) - (i32.load - (get_local $20) - ) - ) - ) - (i32.const 0) + (i32.const 31) + ) + (i32.const 31) + ) + ) + ) + (i32.add + (i32.mul + (i32.shr_s + (i32.sub + (get_local $9) + (get_local $36) + ) + (i32.const 2) + ) + (i32.const 9) + ) + (i32.const -9) + ) + ) + (block + (set_local $7 + (i32.add + (i32.add + (get_local $8) + (i32.const 4) + ) + (i32.shl + (i32.add + (i32.and + (i32.div_s + (tee_local $11 + (i32.add + (get_local $7) + (i32.const 9216) ) ) + (i32.const 9) ) + (i32.const -1) ) - (set_local $7 - (get_local $8) + (i32.const -1024) + ) + (i32.const 2) + ) + ) + ) + (if + (i32.lt_s + (tee_local $11 + (i32.add + (i32.and + (i32.rem_s + (get_local $11) + (i32.const 9) + ) + (i32.const -1) ) - (loop $while-in$67 - (i32.store - (get_local $7) - (tee_local $5 - (i32.trunc_s/f64 - (get_local $14) - ) + (i32.const 1) + ) + ) + (i32.const 9) + ) + (block + (set_local $12 + (i32.const 10) + ) + (loop $while-in$87 + (set_local $12 + (i32.mul + (get_local $12) + (i32.const 10) + ) + ) + (br_if $while-in$87 + (i32.ne + (tee_local $11 + (i32.add + (get_local $11) + (i32.const 1) ) ) - (set_local $7 + (i32.const 9) + ) + ) + ) + ) + (set_local $12 + (i32.const 10) + ) + ) + (block $do-once$88 + (if + (i32.eqz + (i32.and + (tee_local $26 + (i32.eq (i32.add (get_local $7) (i32.const 4) ) + (get_local $9) ) - (br_if $while-in$67 - (f64.ne - (tee_local $14 - (f64.mul - (f64.sub - (get_local $14) - (f64.convert_u/i32 - (get_local $5) - ) + ) + (i32.eqz + (tee_local $29 + (i32.and + (i32.rem_u + (tee_local $11 + (i32.load + (get_local $7) ) - (f64.const 1e9) ) + (get_local $12) ) - (f64.const 0) + (i32.const -1) ) ) ) - (if - (i32.gt_s - (tee_local $6 - (i32.load - (get_local $20) + ) + ) + (block + (set_local $22 + (select + (f64.const 9007199254740994) + (f64.const 9007199254740992) + (i32.and + (i32.and + (i32.div_u + (get_local $11) + (get_local $12) ) + (i32.const -1) ) - (i32.const 0) + (i32.const 1) ) - (block - (set_local $10 - (get_local $8) - ) - (loop $while-in$69 - (set_local $21 - (select - (i32.const 29) - (get_local $6) - (i32.gt_s - (get_local $6) - (i32.const 29) - ) - ) - ) - (set_local $10 - (block $do-once$70 - (if - (i32.lt_u - (tee_local $6 - (i32.add - (get_local $7) - (i32.const -4) - ) - ) - (get_local $10) - ) - (get_local $10) - (block - (set_local $5 - (i32.const 0) - ) - (loop $while-in$73 - (set_local $13 - (call $___uremdi3 - (tee_local $5 - (call $_i64Add - (call $_bitshift64Shl - (i32.load - (get_local $6) - ) - (i32.const 0) - (get_local $21) - ) - (get_global $tempRet0) - (get_local $5) - (i32.const 0) - ) - ) - (tee_local $12 - (get_global $tempRet0) - ) - (i32.const 1000000000) - (i32.const 0) - ) - ) - (i32.store - (get_local $6) - (get_local $13) - ) - (set_local $5 - (call $___udivdi3 - (get_local $5) - (get_local $12) - (i32.const 1000000000) - (i32.const 0) - ) - ) - (br_if $while-in$73 - (i32.ge_u - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -4) - ) - ) - (get_local $10) - ) - ) - ) - (br_if $do-once$70 - (get_local $10) - (i32.eqz - (get_local $5) - ) - ) - (i32.store - (tee_local $6 - (i32.add - (get_local $10) - (i32.const -4) - ) - ) - (get_local $5) - ) - (get_local $6) - ) - ) + ) + ) + (set_local $14 + (if + (i32.lt_u + (get_local $29) + (tee_local $25 + (i32.and + (i32.div_s + (get_local $12) + (i32.const 2) ) + (i32.const -1) ) - (set_local $5 - (get_local $7) - ) - (loop $while-in$75 - (block $while-out$74 - (if - (i32.le_u - (get_local $5) - (get_local $10) - ) - (block - (set_local $7 - (get_local $5) - ) - (br $while-out$74) - ) - ) - (if - (i32.load - (tee_local $7 - (i32.add - (get_local $5) - (i32.const -4) - ) - ) - ) - (set_local $7 - (get_local $5) - ) - (block - (set_local $5 - (get_local $7) - ) - (br $while-in$75) - ) - ) - ) + ) + ) + (f64.const 0.5) + (select + (f64.const 1) + (f64.const 1.5) + (i32.and + (get_local $26) + (i32.eq + (get_local $29) + (get_local $25) ) - (i32.store - (get_local $20) - (tee_local $6 - (i32.sub - (i32.load - (get_local $20) - ) - (get_local $21) + ) + ) + ) + ) + (set_local $22 + (block $do-once$90 + (if + (get_local $28) + (block + (br_if $do-once$90 + (get_local $22) + (i32.ne + (i32.load8_s + (get_local $33) ) + (i32.const 45) ) ) - (br_if $while-in$69 - (i32.gt_s - (get_local $6) - (i32.const 0) + (set_local $14 + (f64.neg + (get_local $14) ) ) - (set_local $5 - (get_local $10) + (f64.neg + (get_local $22) ) ) + (get_local $22) ) - (set_local $5 - (get_local $8) + ) + ) + (i32.store + (get_local $7) + (tee_local $11 + (i32.sub + (get_local $11) + (get_local $29) ) ) - (if - (i32.lt_s - (get_local $6) + ) + (br_if $do-once$88 + (f64.eq + (f64.add + (get_local $22) + (get_local $14) + ) + (get_local $22) + ) + ) + (i32.store + (get_local $7) + (tee_local $6 + (i32.add + (get_local $11) + (get_local $12) + ) + ) + ) + (if + (i32.gt_u + (get_local $6) + (i32.const 999999999) + ) + (loop $while-in$93 + (i32.store + (get_local $7) (i32.const 0) ) - (block - (set_local $13 - (i32.add - (i32.and - (i32.div_s - (i32.add - (get_local $19) - (i32.const 25) - ) - (i32.const 9) - ) - (i32.const -1) - ) - (i32.const 1) - ) - ) - (set_local $21 - (i32.eq - (get_local $25) - (i32.const 102) - ) - ) - (loop $while-in$77 - (set_local $26 - (select - (i32.const 9) - (tee_local $6 - (i32.sub - (i32.const 0) - (get_local $6) - ) - ) - (i32.gt_s - (get_local $6) - (i32.const 9) - ) - ) - ) - (set_local $7 - (select + (set_local $5 + (if + (i32.lt_u + (tee_local $7 (i32.add - (tee_local $6 - (select - (get_local $8) - (tee_local $5 - (block $do-once$78 - (if - (i32.lt_u - (get_local $5) - (get_local $7) - ) - (block - (set_local $39 - (i32.add - (i32.shl - (i32.const 1) - (get_local $26) - ) - (i32.const -1) - ) - ) - (set_local $29 - (i32.shr_u - (i32.const 1000000000) - (get_local $26) - ) - ) - (set_local $10 - (i32.const 0) - ) - (set_local $6 - (get_local $5) - ) - (loop $while-in$81 - (i32.store - (get_local $6) - (i32.add - (i32.shr_u - (tee_local $12 - (i32.load - (get_local $6) - ) - ) - (get_local $26) - ) - (get_local $10) - ) - ) - (set_local $10 - (i32.mul - (i32.and - (get_local $12) - (get_local $39) - ) - (get_local $29) - ) - ) - (br_if $while-in$81 - (i32.lt_u - (tee_local $6 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) - (get_local $7) - ) - ) - ) - (set_local $5 - (select - (get_local $5) - (i32.add - (get_local $5) - (i32.const 4) - ) - (i32.load - (get_local $5) - ) - ) - ) - (br_if $do-once$78 - (get_local $5) - (i32.eqz - (get_local $10) - ) - ) - (i32.store - (get_local $7) - (get_local $10) - ) - (set_local $7 - (i32.add - (get_local $7) - (i32.const 4) - ) - ) - (get_local $5) - ) - (select - (get_local $5) - (i32.add - (get_local $5) - (i32.const 4) - ) - (i32.load - (get_local $5) - ) - ) - ) - ) - ) - (get_local $21) - ) - ) - (i32.shl - (get_local $13) - (i32.const 2) - ) - ) - (get_local $7) - (i32.gt_s - (i32.shr_s - (i32.sub - (get_local $7) - (get_local $6) - ) - (i32.const 2) - ) - (get_local $13) + (get_local $7) + (i32.const -4) ) ) + (get_local $5) ) - (i32.store - (get_local $20) - (tee_local $6 - (i32.add - (i32.load - (get_local $20) + (block + (i32.store + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -4) ) - (get_local $26) ) - ) - ) - (br_if $while-in$77 - (i32.lt_s - (get_local $6) (i32.const 0) ) + (get_local $5) ) - (set_local $10 - (get_local $7) - ) + (get_local $5) ) ) - (set_local $10 + (i32.store (get_local $7) + (tee_local $6 + (i32.add + (i32.load + (get_local $7) + ) + (i32.const 1) + ) + ) + ) + (br_if $while-in$93 + (i32.gt_u + (get_local $6) + (i32.const 999999999) + ) ) ) - (block $do-once$82 - (if - (i32.lt_u + ) + (set_local $6 + (i32.mul + (i32.shr_s + (i32.sub + (get_local $36) (get_local $5) - (get_local $10) ) - (block - (set_local $7 - (i32.mul - (i32.shr_s - (i32.sub - (get_local $36) - (get_local $5) - ) - (i32.const 2) - ) - (i32.const 9) - ) - ) - (br_if $do-once$82 - (i32.lt_u - (tee_local $12 - (i32.load - (get_local $5) - ) - ) - (i32.const 10) - ) - ) - (set_local $6 + (i32.const 2) + ) + (i32.const 9) + ) + ) + (br_if $do-once$88 + (i32.lt_u + (tee_local $12 + (i32.load + (get_local $5) + ) + ) + (i32.const 10) + ) + ) + (set_local $11 + (i32.const 10) + ) + (loop $while-in$95 + (set_local $6 + (i32.add + (get_local $6) + (i32.const 1) + ) + ) + (br_if $while-in$95 + (i32.ge_u + (get_local $12) + (tee_local $11 + (i32.mul + (get_local $11) (i32.const 10) ) - (loop $while-in$85 - (set_local $7 - (i32.add - (get_local $7) - (i32.const 1) - ) + ) + ) + ) + ) + ) + ) + ) + (set_local $11 + (get_local $6) + ) + (set_local $9 + (select + (tee_local $6 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (get_local $9) + (i32.gt_u + (get_local $9) + (get_local $6) + ) + ) + ) + (get_local $5) + ) + (block + (set_local $11 + (get_local $6) + ) + (get_local $5) + ) + ) + ) + (set_local $25 + (i32.sub + (i32.const 0) + (get_local $11) + ) + ) + (set_local $5 + (get_local $9) + ) + (loop $while-in$97 + (block $while-out$96 + (if + (i32.le_u + (get_local $5) + (get_local $12) + ) + (block + (set_local $26 + (i32.const 0) + ) + (set_local $9 + (get_local $5) + ) + (br $while-out$96) + ) + ) + (if + (i32.load + (tee_local $6 + (i32.add + (get_local $5) + (i32.const -4) + ) + ) + ) + (block + (set_local $26 + (i32.const 1) + ) + (set_local $9 + (get_local $5) + ) + ) + (block + (set_local $5 + (get_local $6) + ) + (br $while-in$97) + ) + ) + ) + ) + (set_local $19 + (block $do-once$98 + (if + (get_local $21) + (block + (set_local $16 + (if + (i32.and + (i32.gt_s + (tee_local $5 + (i32.add + (i32.xor + (i32.and + (get_local $39) + (i32.const 1) ) - (br_if $while-in$85 - (i32.ge_u - (get_local $12) - (tee_local $6 - (i32.mul - (get_local $6) - (i32.const 10) - ) - ) - ) + (i32.const 1) + ) + (get_local $19) + ) + ) + (get_local $11) + ) + (i32.gt_s + (get_local $11) + (i32.const -5) + ) + ) + (block + (set_local $6 + (i32.add + (get_local $16) + (i32.const -1) + ) + ) + (i32.sub + (i32.add + (get_local $5) + (i32.const -1) + ) + (get_local $11) + ) + ) + (block + (set_local $6 + (i32.add + (get_local $16) + (i32.const -2) + ) + ) + (i32.add + (get_local $5) + (i32.const -1) + ) + ) + ) + ) + (if + (tee_local $7 + (i32.and + (get_local $10) + (i32.const 8) + ) + ) + (block + (set_local $5 + (get_local $16) + ) + (br $do-once$98 + (get_local $7) + ) + ) + ) + (block $do-once$100 + (if + (get_local $26) + (block + (if + (i32.eqz + (tee_local $19 + (i32.load + (i32.add + (get_local $9) + (i32.const -4) ) ) ) + ) + (block + (set_local $5 + (i32.const 9) + ) + (br $do-once$100) + ) + ) + (if + (i32.and + (i32.rem_u + (get_local $19) + (i32.const 10) + ) + (i32.const -1) + ) + (block + (set_local $5 + (i32.const 0) + ) + (br $do-once$100) + ) + (block (set_local $7 + (i32.const 10) + ) + (set_local $5 (i32.const 0) ) ) ) - (set_local $13 - (if - (i32.lt_s - (tee_local $6 - (i32.add - (i32.sub - (get_local $19) - (select - (get_local $7) - (i32.const 0) - (i32.ne - (get_local $25) - (i32.const 102) - ) - ) - ) - (i32.shr_s - (i32.shl - (i32.and - (tee_local $39 - (i32.ne - (get_local $19) - (i32.const 0) - ) - ) - (tee_local $21 - (i32.eq - (get_local $25) - (i32.const 103) - ) - ) - ) - (i32.const 31) - ) - (i32.const 31) - ) - ) - ) - (i32.add - (i32.mul - (i32.shr_s - (i32.sub - (get_local $10) - (get_local $36) - ) - (i32.const 2) - ) - (i32.const 9) - ) - (i32.const -9) - ) + (loop $while-in$103 + (set_local $5 + (i32.add + (get_local $5) + (i32.const 1) ) - (block - (set_local $6 - (i32.add - (i32.add - (get_local $8) - (i32.const 4) - ) - (i32.shl - (i32.add - (i32.and - (i32.div_s - (tee_local $12 - (i32.add - (get_local $6) - (i32.const 9216) - ) - ) - (i32.const 9) - ) - (i32.const -1) - ) - (i32.const -1024) - ) - (i32.const 2) - ) - ) - ) - (if - (i32.lt_s - (tee_local $12 - (i32.add - (i32.and - (i32.rem_s - (get_local $12) - (i32.const 9) - ) - (i32.const -1) - ) - (i32.const 1) - ) - ) - (i32.const 9) - ) - (block - (set_local $13 - (i32.const 10) - ) - (loop $while-in$87 - (set_local $13 - (i32.mul - (get_local $13) - (i32.const 10) - ) - ) - (br_if $while-in$87 - (i32.ne - (tee_local $12 - (i32.add - (get_local $12) - (i32.const 1) - ) - ) - (i32.const 9) - ) - ) - ) - ) - (set_local $13 - (i32.const 10) - ) - ) - (block $do-once$88 - (if - (i32.eqz - (i32.and - (tee_local $26 - (i32.eq - (i32.add - (get_local $6) - (i32.const 4) - ) - (get_local $10) - ) - ) - (i32.eqz - (tee_local $29 - (i32.and - (i32.rem_u - (tee_local $12 - (i32.load - (get_local $6) - ) - ) - (get_local $13) - ) - (i32.const -1) - ) - ) - ) - ) - ) - (block - (set_local $22 - (select - (f64.const 9007199254740994) - (f64.const 9007199254740992) - (i32.and - (i32.and - (i32.div_u - (get_local $12) - (get_local $13) - ) - (i32.const -1) - ) - (i32.const 1) - ) - ) - ) - (set_local $14 - (if - (i32.lt_u - (get_local $29) - (tee_local $25 - (i32.and - (i32.div_s - (get_local $13) - (i32.const 2) - ) - (i32.const -1) - ) - ) - ) - (f64.const 0.5) - (select - (f64.const 1) - (f64.const 1.5) - (i32.and - (get_local $26) - (i32.eq - (get_local $29) - (get_local $25) - ) - ) - ) - ) - ) - (set_local $22 - (block $do-once$90 - (if - (get_local $28) - (block - (br_if $do-once$90 - (get_local $22) - (i32.ne - (i32.load8_s - (get_local $33) - ) - (i32.const 45) - ) - ) - (set_local $14 - (f64.neg - (get_local $14) - ) - ) - (f64.neg - (get_local $22) - ) - ) - (get_local $22) - ) - ) - ) - (i32.store - (get_local $6) - (tee_local $12 - (i32.sub - (get_local $12) - (get_local $29) - ) - ) - ) - (br_if $do-once$88 - (f64.eq - (f64.add - (get_local $22) - (get_local $14) - ) - (get_local $22) - ) - ) - (i32.store - (get_local $6) - (tee_local $7 - (i32.add - (get_local $12) - (get_local $13) - ) - ) - ) - (if - (i32.gt_u - (get_local $7) - (i32.const 999999999) - ) - (loop $while-in$93 - (i32.store - (get_local $6) - (i32.const 0) - ) - (set_local $5 - (if - (i32.lt_u - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -4) - ) - ) - (get_local $5) - ) - (block - (i32.store - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -4) - ) - ) - (i32.const 0) - ) - (get_local $5) - ) - (get_local $5) - ) - ) - (i32.store - (get_local $6) - (tee_local $7 - (i32.add - (i32.load - (get_local $6) - ) - (i32.const 1) - ) - ) - ) - (br_if $while-in$93 - (i32.gt_u - (get_local $7) - (i32.const 999999999) - ) - ) - ) - ) - (set_local $7 - (i32.mul - (i32.shr_s - (i32.sub - (get_local $36) - (get_local $5) - ) - (i32.const 2) - ) - (i32.const 9) - ) - ) - (br_if $do-once$88 - (i32.lt_u - (tee_local $13 - (i32.load - (get_local $5) - ) - ) - (i32.const 10) - ) - ) - (set_local $12 - (i32.const 10) - ) - (loop $while-in$95 - (set_local $7 - (i32.add - (get_local $7) - (i32.const 1) - ) - ) - (br_if $while-in$95 - (i32.ge_u - (get_local $13) - (tee_local $12 - (i32.mul - (get_local $12) - (i32.const 10) - ) - ) - ) - ) - ) - ) - ) - ) - (set_local $12 - (get_local $7) - ) - (set_local $10 - (select + ) + (br_if $while-in$103 + (i32.eqz + (i32.and + (i32.rem_u + (get_local $19) (tee_local $7 - (i32.add - (get_local $6) - (i32.const 4) + (i32.mul + (get_local $7) + (i32.const 10) ) ) - (get_local $10) - (i32.gt_u - (get_local $10) - (get_local $7) - ) ) + (i32.const -1) ) - (get_local $5) - ) - (block - (set_local $12 - (get_local $7) - ) - (get_local $5) ) ) ) - (set_local $25 + ) + (set_local $5 + (i32.const 9) + ) + ) + ) + (set_local $7 + (i32.add + (i32.mul + (i32.shr_s (i32.sub - (i32.const 0) - (get_local $12) + (get_local $9) + (get_local $36) ) + (i32.const 2) ) - (set_local $5 - (get_local $10) - ) - (loop $while-in$97 - (block $while-out$96 - (if - (i32.le_u - (get_local $5) - (get_local $13) - ) - (block - (set_local $26 - (i32.const 0) - ) - (set_local $10 - (get_local $5) - ) - (br $while-out$96) - ) - ) - (if - (i32.load - (tee_local $7 - (i32.add - (get_local $5) - (i32.const -4) - ) - ) - ) - (block - (set_local $26 - (i32.const 1) - ) - (set_local $10 + (i32.const 9) + ) + (i32.const -9) + ) + ) + (if + (i32.eq + (i32.or + (get_local $6) + (i32.const 32) + ) + (i32.const 102) + ) + (block + (set_local $5 + (select + (get_local $16) + (tee_local $5 + (select + (i32.const 0) + (tee_local $5 + (i32.sub + (get_local $7) (get_local $5) ) ) - (block - (set_local $5 - (get_local $7) - ) - (br $while-in$97) + (i32.lt_s + (get_local $5) + (i32.const 0) ) ) ) + (i32.lt_s + (get_local $16) + (get_local $5) + ) ) - (set_local $19 - (block $do-once$98 - (if - (get_local $21) - (block - (set_local $16 - (if - (i32.and - (i32.gt_s - (tee_local $5 - (i32.add - (i32.xor - (i32.and - (get_local $39) - (i32.const 1) - ) - (i32.const 1) - ) - (get_local $19) - ) - ) - (get_local $12) - ) - (i32.gt_s - (get_local $12) - (i32.const -5) - ) - ) - (block - (set_local $7 - (i32.add - (get_local $16) - (i32.const -1) - ) - ) - (i32.sub - (i32.add - (get_local $5) - (i32.const -1) - ) - (get_local $12) - ) - ) - (block - (set_local $7 - (i32.add - (get_local $16) - (i32.const -2) - ) - ) - (i32.add - (get_local $5) - (i32.const -1) - ) - ) - ) - ) - (if - (tee_local $6 - (i32.and - (get_local $11) - (i32.const 8) - ) - ) - (block - (set_local $5 - (get_local $16) - ) - (br $do-once$98 - (get_local $6) - ) - ) - ) - (block $do-once$100 - (if - (get_local $26) - (block - (if - (i32.eqz - (tee_local $19 - (i32.load - (i32.add - (get_local $10) - (i32.const -4) - ) - ) - ) - ) - (block - (set_local $5 - (i32.const 9) - ) - (br $do-once$100) - ) - ) - (if - (i32.and - (i32.rem_u - (get_local $19) - (i32.const 10) - ) - (i32.const -1) - ) - (block - (set_local $5 - (i32.const 0) - ) - (br $do-once$100) - ) - (block - (set_local $6 - (i32.const 10) - ) - (set_local $5 - (i32.const 0) - ) - ) - ) - (loop $while-in$103 - (set_local $5 - (i32.add - (get_local $5) - (i32.const 1) - ) - ) - (br_if $while-in$103 - (i32.eqz - (i32.and - (i32.rem_u - (get_local $19) - (tee_local $6 - (i32.mul - (get_local $6) - (i32.const 10) - ) - ) - ) - (i32.const -1) - ) - ) - ) - ) - ) - (set_local $5 - (i32.const 9) - ) - ) - ) - (set_local $6 + ) + (i32.const 0) + ) + (block + (set_local $5 + (select + (get_local $16) + (tee_local $5 + (select + (i32.const 0) + (tee_local $5 + (i32.sub (i32.add - (i32.mul - (i32.shr_s - (i32.sub - (get_local $10) - (get_local $36) - ) - (i32.const 2) - ) - (i32.const 9) - ) - (i32.const -9) - ) - ) - (if - (i32.eq - (i32.or - (get_local $7) - (i32.const 32) - ) - (i32.const 102) - ) - (block - (set_local $5 - (select - (get_local $16) - (tee_local $5 - (select - (i32.const 0) - (tee_local $5 - (i32.sub - (get_local $6) - (get_local $5) - ) - ) - (i32.lt_s - (get_local $5) - (i32.const 0) - ) - ) - ) - (i32.lt_s - (get_local $16) - (get_local $5) - ) - ) - ) - (i32.const 0) - ) - (block - (set_local $5 - (select - (get_local $16) - (tee_local $5 - (select - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.add - (get_local $6) - (get_local $12) - ) - (get_local $5) - ) - ) - (i32.lt_s - (get_local $5) - (i32.const 0) - ) - ) - ) - (i32.lt_s - (get_local $16) - (get_local $5) - ) - ) - ) - (i32.const 0) + (get_local $7) + (get_local $11) ) + (get_local $5) ) ) - (block - (set_local $5 - (get_local $19) - ) - (set_local $7 - (get_local $16) - ) - (i32.and - (get_local $11) - (i32.const 8) - ) + (i32.lt_s + (get_local $5) + (i32.const 0) ) ) ) + (i32.lt_s + (get_local $16) + (get_local $5) + ) ) - (set_local $29 - (i32.and - (i32.ne - (tee_local $16 - (i32.or - (get_local $5) - (get_local $19) - ) + ) + (i32.const 0) + ) + ) + ) + (block + (set_local $5 + (get_local $19) + ) + (set_local $6 + (get_local $16) + ) + (i32.and + (get_local $10) + (i32.const 8) + ) + ) + ) + ) + ) + (set_local $29 + (i32.and + (i32.ne + (tee_local $16 + (i32.or + (get_local $5) + (get_local $19) + ) + ) + (i32.const 0) + ) + (i32.const 1) + ) + ) + (set_local $25 + (if + (tee_local $21 + (i32.eq + (i32.or + (get_local $6) + (i32.const 32) + ) + (i32.const 102) + ) + ) + (block + (set_local $6 + (select + (get_local $11) + (i32.const 0) + (i32.gt_s + (get_local $11) + (i32.const 0) + ) + ) + ) + (i32.const 0) + ) + (block + (if + (i32.lt_s + (i32.sub + (get_local $30) + (tee_local $7 + (call $_fmt_u + (tee_local $7 + (select + (get_local $25) + (get_local $11) + (i32.lt_s + (get_local $11) + (i32.const 0) ) - (i32.const 0) ) - (i32.const 1) ) - ) - (set_local $25 - (if - (tee_local $21 - (i32.eq - (i32.or - (get_local $7) - (i32.const 32) - ) - (i32.const 102) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $7) + (i32.const 0) ) + (i32.const 31) ) - (block - (set_local $7 - (select - (get_local $12) - (i32.const 0) - (i32.gt_s - (get_local $12) - (i32.const 0) - ) - ) + (i32.const 31) + ) + (get_local $34) + ) + ) + ) + (i32.const 2) + ) + (loop $while-in$105 + (i32.store8 + (tee_local $7 + (i32.add + (get_local $7) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in$105 + (i32.lt_s + (i32.sub + (get_local $30) + (get_local $7) + ) + (i32.const 2) + ) + ) + ) + ) + (i32.store8 + (i32.add + (get_local $7) + (i32.const -1) + ) + (i32.and + (i32.add + (i32.and + (i32.shr_s + (get_local $11) + (i32.const 31) + ) + (i32.const 2) + ) + (i32.const 43) + ) + (i32.const 255) + ) + ) + (i32.store8 + (tee_local $7 + (i32.add + (get_local $7) + (i32.const -2) + ) + ) + (i32.and + (get_local $6) + (i32.const 255) + ) + ) + (set_local $6 + (i32.sub + (get_local $30) + (get_local $7) + ) + ) + (get_local $7) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $17) + (tee_local $11 + (i32.add + (i32.add + (i32.add + (i32.add + (get_local $28) + (i32.const 1) + ) + (get_local $5) + ) + (get_local $29) + ) + (get_local $6) + ) + ) + (get_local $10) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $33) + (get_local $28) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (get_local $17) + (get_local $11) + (i32.xor + (get_local $10) + (i32.const 65536) + ) + ) + (block $do-once$106 + (if + (get_local $21) + (block + (set_local $7 + (tee_local $12 + (select + (get_local $8) + (get_local $12) + (i32.gt_u + (get_local $12) + (get_local $8) + ) + ) + ) + ) + (loop $while-in$109 + (set_local $6 + (call $_fmt_u + (i32.load + (get_local $7) + ) + (i32.const 0) + (get_local $32) + ) + ) + (block $do-once$110 + (if + (i32.eq + (get_local $7) + (get_local $12) + ) + (block + (br_if $do-once$110 + (i32.ne + (get_local $6) + (get_local $32) + ) + ) + (i32.store8 + (get_local $35) + (i32.const 48) + ) + (set_local $6 + (get_local $35) + ) + ) + (block + (br_if $do-once$110 + (i32.le_u + (get_local $6) + (get_local $24) + ) + ) + (loop $while-in$113 + (i32.store8 + (tee_local $6 + (i32.add + (get_local $6) + (i32.const -1) ) - (i32.const 0) ) - (block - (if - (i32.lt_s - (i32.sub - (get_local $30) - (tee_local $6 - (call $_fmt_u - (tee_local $6 - (select - (get_local $25) - (get_local $12) - (i32.lt_s - (get_local $12) - (i32.const 0) - ) - ) - ) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $6) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.const 31) - ) - (get_local $34) - ) - ) - ) - (i32.const 2) - ) - (loop $while-in$105 - (i32.store8 - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in$105 - (i32.lt_s - (i32.sub - (get_local $30) - (get_local $6) - ) - (i32.const 2) - ) - ) - ) - ) - (i32.store8 - (i32.add - (get_local $6) - (i32.const -1) - ) - (i32.and - (i32.add - (i32.and - (i32.shr_s - (get_local $12) - (i32.const 31) - ) - (i32.const 2) - ) - (i32.const 43) - ) - (i32.const 255) - ) - ) - (i32.store8 - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -2) - ) - ) - (i32.and - (get_local $7) - (i32.const 255) - ) - ) - (set_local $7 - (i32.sub - (get_local $30) - (get_local $6) - ) - ) + (i32.const 48) + ) + (br_if $while-in$113 + (i32.gt_u (get_local $6) + (get_local $24) ) ) ) - (call $_pad + ) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $6) + (i32.sub + (get_local $44) + (get_local $6) + ) + (get_local $0) + ) + ) + ) + (if + (i32.le_u + (tee_local $6 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (get_local $8) + ) + (block + (set_local $7 + (get_local $6) + ) + (br $while-in$109) + ) + ) + ) + (block $do-once$114 + (if + (get_local $16) + (block + (br_if $do-once$114 + (i32.and + (i32.load + (get_local $0) + ) (i32.const 32) - (get_local $17) - (tee_local $12 - (i32.add - (i32.add - (i32.add - (i32.add - (get_local $28) - (i32.const 1) - ) - (get_local $5) - ) - (get_local $29) + ) + ) + (drop + (call $___fwritex + (i32.const 4143) + (i32.const 1) + (get_local $0) + ) + ) + ) + ) + ) + (if + (i32.and + (i32.gt_s + (get_local $5) + (i32.const 0) + ) + (i32.lt_u + (get_local $6) + (get_local $9) + ) + ) + (block + (set_local $7 + (get_local $5) + ) + (loop $while-in$117 + (if + (i32.gt_u + (tee_local $5 + (call $_fmt_u + (i32.load + (get_local $6) ) - (get_local $7) + (i32.const 0) + (get_local $32) ) ) - (get_local $11) + (get_local $24) ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) + (loop $while-in$119 + (i32.store8 + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -1) ) - (i32.const 32) ) + (i32.const 48) ) - (drop - (call $___fwritex - (get_local $33) - (get_local $28) + (br_if $while-in$119 + (i32.gt_u + (get_local $5) + (get_local $24) + ) + ) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load (get_local $0) ) + (i32.const 32) ) ) - (call $_pad - (get_local $0) - (i32.const 48) - (get_local $17) - (get_local $12) - (i32.xor - (get_local $11) - (i32.const 65536) + (drop + (call $___fwritex + (get_local $5) + (select + (i32.const 9) + (get_local $7) + (i32.gt_s + (get_local $7) + (i32.const 9) + ) + ) + (get_local $0) ) ) - (block $do-once$106 - (if - (get_local $21) - (block - (set_local $6 - (tee_local $13 - (select - (get_local $8) - (get_local $13) - (i32.gt_u - (get_local $13) - (get_local $8) - ) - ) - ) + ) + (set_local $5 + (i32.add + (get_local $7) + (i32.const -9) + ) + ) + (if + (i32.and + (i32.gt_s + (get_local $7) + (i32.const 9) + ) + (i32.lt_u + (tee_local $6 + (i32.add + (get_local $6) + (i32.const 4) ) - (loop $while-in$109 - (set_local $7 - (call $_fmt_u - (i32.load - (get_local $6) - ) - (i32.const 0) - (get_local $32) - ) - ) - (block $do-once$110 - (if - (i32.eq - (get_local $6) - (get_local $13) - ) - (block - (br_if $do-once$110 - (i32.ne - (get_local $7) - (get_local $32) - ) - ) - (i32.store8 - (get_local $35) - (i32.const 48) - ) - (set_local $7 - (get_local $35) - ) - ) - (block - (br_if $do-once$110 - (i32.le_u - (get_local $7) - (get_local $24) - ) - ) - (loop $while-in$113 - (i32.store8 - (tee_local $7 - (i32.add - (get_local $7) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in$113 - (i32.gt_u - (get_local $7) - (get_local $24) - ) - ) - ) - ) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $7) - (i32.sub - (get_local $44) - (get_local $7) - ) - (get_local $0) - ) - ) - ) - (if - (i32.le_u - (tee_local $7 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) - (get_local $8) - ) - (block - (set_local $6 - (get_local $7) - ) - (br $while-in$109) - ) + ) + (get_local $9) + ) + ) + (block + (set_local $7 + (get_local $5) + ) + (br $while-in$117) + ) + ) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.add + (get_local $5) + (i32.const 9) + ) + (i32.const 9) + (i32.const 0) + ) + ) + (block + (set_local $16 + (select + (get_local $9) + (i32.add + (get_local $12) + (i32.const 4) + ) + (get_local $26) + ) + ) + (if + (i32.gt_s + (get_local $5) + (i32.const -1) + ) + (block + (set_local $9 + (i32.eqz + (get_local $19) + ) + ) + (set_local $6 + (get_local $12) + ) + (set_local $7 + (get_local $5) + ) + (loop $while-in$121 + (set_local $8 + (if + (i32.eq + (tee_local $5 + (call $_fmt_u + (i32.load + (get_local $6) ) + (i32.const 0) + (get_local $32) ) - (block $do-once$114 - (if - (get_local $16) - (block - (br_if $do-once$114 - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) - (get_local $0) - ) - ) - ) - ) + ) + (get_local $32) + ) + (block + (i32.store8 + (get_local $35) + (i32.const 48) + ) + (get_local $35) + ) + (get_local $5) + ) + ) + (block $do-once$122 + (if + (i32.eq + (get_local $6) + (get_local $12) + ) + (block + (set_local $5 + (i32.add + (get_local $8) + (i32.const 1) ) - (if + ) + (if + (i32.eqz (i32.and - (i32.gt_s - (get_local $5) - (i32.const 0) - ) - (i32.lt_u - (get_local $7) - (get_local $10) - ) - ) - (block - (set_local $6 - (get_local $5) - ) - (loop $while-in$117 - (if - (i32.gt_u - (tee_local $5 - (call $_fmt_u - (i32.load - (get_local $7) - ) - (i32.const 0) - (get_local $32) - ) - ) - (get_local $24) - ) - (loop $while-in$119 - (i32.store8 - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in$119 - (i32.gt_u - (get_local $5) - (get_local $24) - ) - ) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $5) - (select - (i32.const 9) - (get_local $6) - (i32.gt_s - (get_local $6) - (i32.const 9) - ) - ) - (get_local $0) - ) - ) - ) - (set_local $5 - (i32.add - (get_local $6) - (i32.const -9) - ) - ) - (if - (i32.and - (i32.gt_s - (get_local $6) - (i32.const 9) - ) - (i32.lt_u - (tee_local $7 - (i32.add - (get_local $7) - (i32.const 4) - ) - ) - (get_local $10) - ) - ) - (block - (set_local $6 - (get_local $5) - ) - (br $while-in$117) - ) - ) + (i32.load + (get_local $0) ) + (i32.const 32) ) ) - (call $_pad - (get_local $0) - (i32.const 48) - (i32.add - (get_local $5) - (i32.const 9) + (drop + (call $___fwritex + (get_local $8) + (i32.const 1) + (get_local $0) ) - (i32.const 9) - (i32.const 0) ) ) - (block - (set_local $16 - (select - (get_local $10) - (i32.add - (get_local $13) - (i32.const 4) - ) - (get_local $26) + (br_if $do-once$122 + (i32.and + (get_local $9) + (i32.lt_s + (get_local $7) + (i32.const 1) ) ) - (if - (i32.gt_s - (get_local $5) - (i32.const -1) - ) - (block - (set_local $10 - (i32.eqz - (get_local $19) - ) - ) - (set_local $7 - (get_local $13) - ) - (set_local $6 - (get_local $5) - ) - (loop $while-in$121 - (set_local $8 - (if - (i32.eq - (tee_local $5 - (call $_fmt_u - (i32.load - (get_local $7) - ) - (i32.const 0) - (get_local $32) - ) - ) - (get_local $32) - ) - (block - (i32.store8 - (get_local $35) - (i32.const 48) - ) - (get_local $35) - ) - (get_local $5) - ) - ) - (block $do-once$122 - (if - (i32.eq - (get_local $7) - (get_local $13) - ) - (block - (set_local $5 - (i32.add - (get_local $8) - (i32.const 1) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $8) - (i32.const 1) - (get_local $0) - ) - ) - ) - (br_if $do-once$122 - (i32.and - (get_local $10) - (i32.lt_s - (get_local $6) - (i32.const 1) - ) - ) - ) - (br_if $do-once$122 - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) - (get_local $0) - ) - ) - ) - (block - (if - (i32.gt_u - (get_local $8) - (get_local $24) - ) - (set_local $5 - (get_local $8) - ) - (block - (set_local $5 - (get_local $8) - ) - (br $do-once$122) - ) - ) - (loop $while-in$125 - (i32.store8 - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in$125 - (i32.gt_u - (get_local $5) - (get_local $24) - ) - ) - ) - ) - ) - ) - (set_local $8 - (i32.sub - (get_local $44) - (get_local $5) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $5) - (select - (get_local $8) - (get_local $6) - (i32.gt_s - (get_local $6) - (get_local $8) - ) - ) - (get_local $0) - ) - ) - ) - (if - (i32.and - (i32.lt_u - (tee_local $7 - (i32.add - (get_local $7) - (i32.const 4) - ) - ) - (get_local $16) - ) - (i32.gt_s - (tee_local $5 - (i32.sub - (get_local $6) - (get_local $8) - ) - ) - (i32.const -1) - ) - ) - (block - (set_local $6 - (get_local $5) - ) - (br $while-in$121) - ) - ) - ) + ) + (br_if $do-once$122 + (i32.and + (i32.load + (get_local $0) ) + (i32.const 32) ) - (call $_pad + ) + (drop + (call $___fwritex + (i32.const 4143) + (i32.const 1) (get_local $0) - (i32.const 48) - (i32.add - (get_local $5) - (i32.const 18) + ) + ) + ) + (block + (if + (i32.gt_u + (get_local $8) + (get_local $24) + ) + (set_local $5 + (get_local $8) + ) + (block + (set_local $5 + (get_local $8) ) - (i32.const 18) - (i32.const 0) + (br $do-once$122) ) - (br_if $do-once$106 - (i32.and - (i32.load - (get_local $0) + ) + (loop $while-in$125 + (i32.store8 + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -1) ) - (i32.const 32) ) + (i32.const 48) ) - (drop - (call $___fwritex - (get_local $25) - (i32.sub - (get_local $30) - (get_local $25) - ) - (get_local $0) + (br_if $while-in$125 + (i32.gt_u + (get_local $5) + (get_local $24) ) ) ) ) ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $17) - (get_local $12) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (select - (get_local $17) - (get_local $12) - (i32.lt_s - (get_local $12) - (get_local $17) - ) + ) + (set_local $8 + (i32.sub + (get_local $44) + (get_local $5) ) ) - (block - (set_local $6 - (select - (i32.const 0) - (get_local $28) - (tee_local $5 - (i32.or - (f64.ne - (get_local $14) - (get_local $14) - ) - (i32.const 0) - ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) ) + (i32.const 32) ) ) - (set_local $8 - (select - (select - (i32.const 4135) - (i32.const 4139) - (tee_local $7 - (i32.ne - (i32.and - (get_local $16) - (i32.const 32) - ) - (i32.const 0) - ) - ) - ) + (drop + (call $___fwritex + (get_local $5) (select - (i32.const 4127) - (i32.const 4131) + (get_local $8) (get_local $7) + (i32.gt_s + (get_local $7) + (get_local $8) + ) ) - (get_local $5) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $17) - (tee_local $7 - (i32.add - (get_local $6) - (i32.const 3) - ) + (get_local $0) ) - (get_local $10) ) - (if - (i32.eqz - (i32.and - (if - (i32.and - (tee_local $5 - (i32.load - (get_local $0) - ) - ) - (i32.const 32) - ) - (get_local $5) - (block - (drop - (call $___fwritex - (get_local $33) - (get_local $6) - (get_local $0) - ) - ) - (i32.load - (get_local $0) - ) - ) + ) + (if + (i32.and + (i32.lt_u + (tee_local $6 + (i32.add + (get_local $6) + (i32.const 4) ) - (i32.const 32) ) + (get_local $16) ) - (drop - (call $___fwritex - (get_local $8) - (i32.const 3) - (get_local $0) + (i32.gt_s + (tee_local $5 + (i32.sub + (get_local $7) + (get_local $8) + ) ) + (i32.const -1) ) ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $17) - (get_local $7) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (select - (get_local $17) - (get_local $7) - (i32.lt_s - (get_local $7) - (get_local $17) + (block + (set_local $7 + (get_local $5) ) + (br $while-in$121) ) ) ) ) ) - (br $label$continue$L1) - ) - (set_local $12 - (get_local $6) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $10 - (i32.const 4091) - ) - (set_local $6 - (get_local $23) - ) - (get_local $9) - ) - ) - (br $jumpthreading$outer$3) - ) - (set_local $10 - (i32.and - (get_local $16) - (i32.const 32) - ) - ) - (if - (i32.and - (i32.eqz - (tee_local $11 - (i32.load - (tee_local $7 - (get_local $18) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.add + (get_local $5) + (i32.const 18) ) + (i32.const 18) + (i32.const 0) ) - ) - ) - (i32.eqz - (tee_local $7 - (i32.load offset=4 - (get_local $7) + (br_if $do-once$106 + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $25) + (i32.sub + (get_local $30) + (get_local $25) + ) + (get_local $0) + ) ) ) ) ) - (block - (set_local $7 - (get_local $23) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $10 - (i32.const 4091) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $17) + (get_local $11) + (i32.xor + (get_local $10) + (i32.const 8192) ) - (br $jumpthreading$inner$8) ) - (block - (set_local $8 - (get_local $23) + (select + (get_local $17) + (get_local $11) + (i32.lt_s + (get_local $11) + (get_local $17) ) - (loop $while-in$130 - (i32.store8 - (tee_local $8 - (i32.add - (get_local $8) - (i32.const -1) + ) + ) + (block + (set_local $7 + (select + (i32.const 0) + (get_local $28) + (tee_local $5 + (i32.or + (f64.ne + (get_local $14) + (get_local $14) ) + (i32.const 0) ) - (i32.and - (i32.or + ) + ) + ) + (set_local $8 + (select + (select + (i32.const 4135) + (i32.const 4139) + (tee_local $6 + (i32.ne (i32.and - (i32.load8_s - (i32.add - (i32.and - (get_local $11) - (i32.const 15) - ) - (i32.const 4075) - ) - ) - (i32.const 255) + (get_local $16) + (i32.const 32) ) - (get_local $10) + (i32.const 0) ) - (i32.const 255) ) ) - (br_if $while-in$130 - (i32.eqz - (i32.and - (i32.eqz - (tee_local $11 - (call $_bitshift64Lshr - (get_local $11) - (get_local $7) - (i32.const 4) - ) - ) - ) - (i32.eqz - (tee_local $7 - (get_global $tempRet0) - ) - ) - ) - ) + (select + (i32.const 4127) + (i32.const 4131) + (get_local $6) ) - (set_local $7 - (get_local $8) + (get_local $5) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $17) + (tee_local $6 + (i32.add + (get_local $7) + (i32.const 3) ) ) - (if - (i32.or - (i32.eqz + (get_local $9) + ) + (if + (i32.eqz + (i32.and + (if (i32.and - (get_local $9) - (i32.const 8) - ) - ) - (i32.and - (i32.eqz - (i32.load - (tee_local $11 - (get_local $18) + (tee_local $5 + (i32.load + (get_local $0) ) ) + (i32.const 32) ) - (i32.eqz - (i32.load offset=4 - (get_local $11) + (get_local $5) + (block + (drop + (call $___fwritex + (get_local $33) + (get_local $7) + (get_local $0) + ) ) - ) - ) - ) - (block - (set_local $8 - (i32.const 0) - ) - (set_local $10 - (i32.const 4091) - ) - (br $jumpthreading$inner$8) - ) - (block - (set_local $8 - (i32.const 2) - ) - (set_local $10 - (i32.add - (i32.const 4091) - (i32.shr_s - (get_local $16) - (i32.const 4) + (i32.load + (get_local $0) ) ) ) - (br $jumpthreading$inner$8) + (i32.const 32) ) ) + (drop + (call $___fwritex + (get_local $8) + (i32.const 3) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $17) + (get_local $6) + (i32.xor + (get_local $10) + (i32.const 8192) + ) + ) + (select + (get_local $17) + (get_local $6) + (i32.lt_s + (get_local $6) + (get_local $17) + ) ) ) ) - (br $jumpthreading$outer$4) - ) - (set_local $7 - (call $_fmt_u - (get_local $9) - (get_local $7) - (get_local $23) - ) ) - (set_local $9 - (get_local $11) - ) - (br $jumpthreading$inner$8) ) - (br $jumpthreading$outer$5) + (br $label$continue$L1) ) - (set_local $16 - (i32.eqz - (tee_local $13 - (call $_memchr - (get_local $9) - (i32.const 0) - (get_local $6) - ) - ) - ) - ) - (set_local $7 - (get_local $9) + (set_local $6 + (get_local $1) ) (set_local $11 - (get_local $10) - ) - (set_local $12 - (select - (get_local $6) - (i32.sub - (get_local $13) - (get_local $9) - ) - (get_local $16) - ) + (get_local $7) ) (set_local $8 (i32.const 0) ) - (set_local $10 + (set_local $9 (i32.const 4091) ) - (set_local $6 - (select - (i32.add - (get_local $9) - (get_local $6) - ) - (get_local $13) - (get_local $16) - ) + (set_local $1 + (get_local $23) ) + (br $jumpthreading$outer$8) ) - (br $jumpthreading$outer$6) - ) - (set_local $9 - (i32.const 0) - ) - (set_local $7 - (i32.const 0) - ) - (set_local $6 - (i32.load - (get_local $18) + (set_local $9 + (i32.and + (get_local $16) + (i32.const 32) + ) ) - ) - (loop $while-in$132 - (block $while-out$131 - (br_if $while-out$131 + (if + (i32.and (i32.eqz (tee_local $10 (i32.load - (get_local $6) - ) - ) - ) - ) - (br_if $while-out$131 - (i32.or - (i32.lt_s - (tee_local $7 - (call $_wctomb - (get_local $37) - (get_local $10) + (tee_local $6 + (get_local $18) ) ) - (i32.const 0) ) - (i32.gt_u - (get_local $7) - (i32.sub - (get_local $8) - (get_local $9) + ) + (i32.eqz + (tee_local $6 + (i32.load offset=4 + (get_local $6) ) ) ) ) - (set_local $6 - (i32.add - (get_local $6) - (i32.const 4) + (block + (set_local $6 + (get_local $23) ) - ) - (br_if $while-in$132 - (i32.gt_u - (get_local $8) - (tee_local $9 - (i32.add - (get_local $7) - (get_local $9) - ) - ) + (set_local $8 + (i32.const 0) ) - ) - ) - ) - (if - (i32.lt_s - (get_local $7) - (i32.const 0) - ) - (block - (set_local $15 - (i32.const -1) - ) - (br $label$break$L1) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $17) - (get_local $9) - (get_local $11) - ) - (if - (get_local $9) - (block - (set_local $7 - (i32.const 0) - ) - (set_local $6 - (i32.load - (get_local $18) + (set_local $9 + (i32.const 4091) ) + (br $jumpthreading$inner$8) ) - (loop $while-in$134 - (if - (i32.eqz + (block + (set_local $8 + (get_local $23) + ) + (loop $while-in$130 + (i32.store8 (tee_local $8 - (i32.load - (get_local $6) + (i32.add + (get_local $8) + (i32.const -1) + ) + ) + (i32.and + (i32.or + (i32.and + (i32.load8_s + (i32.add + (i32.and + (get_local $10) + (i32.const 15) + ) + (i32.const 4075) + ) + ) + (i32.const 255) + ) + (get_local $9) ) + (i32.const 255) ) ) - (block - (set_local $7 - (get_local $9) + (br_if $while-in$130 + (i32.eqz + (i32.and + (i32.eqz + (tee_local $10 + (call $_bitshift64Lshr + (get_local $10) + (get_local $6) + (i32.const 4) + ) + ) + ) + (i32.eqz + (tee_local $6 + (get_global $tempRet0) + ) + ) + ) ) - (br $jumpthreading$inner$7) ) - ) - (set_local $6 - (i32.add - (get_local $6) - (i32.const 4) + (set_local $6 + (get_local $8) ) ) (if - (i32.gt_s - (tee_local $7 - (i32.add - (tee_local $8 - (call $_wctomb - (get_local $37) - (get_local $8) + (i32.or + (i32.eqz + (i32.and + (get_local $1) + (i32.const 8) + ) + ) + (i32.and + (i32.eqz + (i32.load + (tee_local $10 + (get_local $18) ) ) - (get_local $7) + ) + (i32.eqz + (i32.load offset=4 + (get_local $10) + ) ) ) - (get_local $9) ) (block - (set_local $7 - (get_local $9) + (set_local $8 + (i32.const 0) ) - (br $jumpthreading$inner$7) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) + (set_local $9 + (i32.const 4091) ) + (br $jumpthreading$inner$8) ) - (drop - (call $___fwritex - (get_local $37) - (get_local $8) - (get_local $0) + (block + (set_local $8 + (i32.const 2) + ) + (set_local $9 + (i32.add + (i32.const 4091) + (i32.shr_s + (get_local $16) + (i32.const 4) + ) + ) ) + (br $jumpthreading$inner$8) ) ) - (br_if $while-in$134 - (i32.lt_u - (get_local $7) - (get_local $9) - ) + ) + ) + (br $jumpthreading$outer$8) + ) + (set_local $6 + (call $_fmt_u + (get_local $1) + (get_local $6) + (get_local $23) + ) + ) + (set_local $1 + (get_local $10) + ) + (br $jumpthreading$inner$8) + ) + (set_local $16 + (i32.eqz + (tee_local $12 + (call $_memchr + (get_local $1) + (i32.const 0) + (get_local $7) + ) + ) + ) + ) + (set_local $6 + (get_local $1) + ) + (set_local $10 + (get_local $9) + ) + (set_local $11 + (select + (get_local $7) + (i32.sub + (get_local $12) + (get_local $1) + ) + (get_local $16) + ) + ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (set_local $1 + (select + (i32.add + (get_local $1) + (get_local $7) + ) + (get_local $12) + (get_local $16) + ) + ) + (br $jumpthreading$outer$8) + ) + (set_local $1 + (i32.const 0) + ) + (set_local $6 + (i32.const 0) + ) + (set_local $7 + (i32.load + (get_local $18) + ) + ) + (loop $while-in$132 + (block $while-out$131 + (br_if $while-out$131 + (i32.eqz + (tee_local $9 + (i32.load + (get_local $7) ) - (block - (set_local $7 + ) + ) + ) + (br_if $while-out$131 + (i32.or + (i32.lt_s + (tee_local $6 + (call $_wctomb + (get_local $37) (get_local $9) ) - (br $jumpthreading$inner$7) + ) + (i32.const 0) + ) + (i32.gt_u + (get_local $6) + (i32.sub + (get_local $8) + (get_local $1) ) ) ) - (block - (set_local $7 - (i32.const 0) + ) + (set_local $7 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (br_if $while-in$132 + (i32.gt_u + (get_local $8) + (tee_local $1 + (i32.add + (get_local $6) + (get_local $1) + ) ) - (br $jumpthreading$inner$7) ) ) ) - (br $jumpthreading$outer$7) + ) + (if + (i32.lt_s + (get_local $6) + (i32.const 0) + ) + (block + (set_local $15 + (i32.const -1) + ) + (br $label$break$L1) + ) ) (call $_pad (get_local $0) (i32.const 32) (get_local $17) - (get_local $7) - (i32.xor - (get_local $11) - (i32.const 8192) + (get_local $1) + (get_local $10) + ) + (if + (get_local $1) + (block + (set_local $6 + (i32.const 0) + ) + (set_local $7 + (i32.load + (get_local $18) + ) + ) + (loop $while-in$134 + (if + (i32.eqz + (tee_local $8 + (i32.load + (get_local $7) + ) + ) + ) + (block + (set_local $6 + (get_local $1) + ) + (br $jumpthreading$inner$7) + ) + ) + (set_local $7 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (if + (i32.gt_s + (tee_local $6 + (i32.add + (tee_local $8 + (call $_wctomb + (get_local $37) + (get_local $8) + ) + ) + (get_local $6) + ) + ) + (get_local $1) + ) + (block + (set_local $6 + (get_local $1) + ) + (br $jumpthreading$inner$7) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $37) + (get_local $8) + (get_local $0) + ) + ) + ) + (br_if $while-in$134 + (i32.lt_u + (get_local $6) + (get_local $1) + ) + ) + (block + (set_local $6 + (get_local $1) + ) + (br $jumpthreading$inner$7) + ) + ) + ) + (block + (set_local $6 + (i32.const 0) + ) + (br $jumpthreading$inner$7) ) ) - (set_local $9 - (get_local $5) + (br $jumpthreading$outer$8) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $17) + (get_local $6) + (i32.xor + (get_local $10) + (i32.const 8192) ) - (set_local $5 - (select + ) + (set_local $1 + (get_local $5) + ) + (set_local $5 + (select + (get_local $17) + (get_local $6) + (i32.gt_s (get_local $17) - (get_local $7) - (i32.gt_s - (get_local $17) - (get_local $7) - ) + (get_local $6) ) ) - (br $label$continue$L1) ) - (br $jumpthreading$outer$8) + (br $label$continue$L1) ) - (set_local $11 + (set_local $10 (select (i32.and - (get_local $9) + (get_local $1) (i32.const -65537) ) - (get_local $9) + (get_local $1) (i32.gt_s - (get_local $6) + (get_local $7) (i32.const -1) ) ) ) - (set_local $7 + (set_local $6 (if (i32.or (i32.ne - (get_local $6) + (get_local $7) (i32.const 0) ) - (tee_local $9 + (tee_local $1 (i32.or (i32.ne (i32.load - (tee_local $9 + (tee_local $1 (get_local $18) ) ) @@ -7178,7 +7162,7 @@ ) (i32.ne (i32.load offset=4 - (get_local $9) + (get_local $1) ) (i32.const 0) ) @@ -7186,40 +7170,40 @@ ) ) (block - (set_local $12 + (set_local $11 (select - (get_local $6) - (tee_local $9 + (get_local $7) + (tee_local $1 (i32.add (i32.xor (i32.and - (get_local $9) + (get_local $1) (i32.const 1) ) (i32.const 1) ) (i32.sub (get_local $40) - (get_local $7) + (get_local $6) ) ) ) (i32.gt_s - (get_local $6) - (get_local $9) + (get_local $7) + (get_local $1) ) ) ) - (set_local $6 + (set_local $1 (get_local $23) ) - (get_local $7) + (get_local $6) ) (block - (set_local $12 + (set_local $11 (i32.const 0) ) - (set_local $6 + (set_local $1 (get_local $23) ) (get_local $23) @@ -7230,23 +7214,23 @@ (call $_pad (get_local $0) (i32.const 32) - (tee_local $6 + (tee_local $7 (select - (tee_local $9 + (tee_local $1 (i32.add (get_local $8) - (tee_local $12 + (tee_local $11 (select - (tee_local $13 + (tee_local $12 (i32.sub + (get_local $1) (get_local $6) - (get_local $7) ) ) - (get_local $12) + (get_local $11) (i32.lt_s + (get_local $11) (get_local $12) - (get_local $13) ) ) ) @@ -7255,12 +7239,12 @@ (get_local $17) (i32.lt_s (get_local $17) - (get_local $9) + (get_local $1) ) ) ) - (get_local $9) - (get_local $11) + (get_local $1) + (get_local $10) ) (if (i32.eqz @@ -7273,7 +7257,7 @@ ) (drop (call $___fwritex - (get_local $10) + (get_local $9) (get_local $8) (get_local $0) ) @@ -7282,18 +7266,18 @@ (call $_pad (get_local $0) (i32.const 48) - (get_local $6) - (get_local $9) + (get_local $7) + (get_local $1) (i32.xor - (get_local $11) + (get_local $10) (i32.const 65536) ) ) (call $_pad (get_local $0) (i32.const 48) + (get_local $11) (get_local $12) - (get_local $13) (i32.const 0) ) (if @@ -7307,8 +7291,8 @@ ) (drop (call $___fwritex - (get_local $7) - (get_local $13) + (get_local $6) + (get_local $12) (get_local $0) ) ) @@ -7316,30 +7300,30 @@ (call $_pad (get_local $0) (i32.const 32) - (get_local $6) - (get_local $9) + (get_local $7) + (get_local $1) (i32.xor - (get_local $11) + (get_local $10) (i32.const 8192) ) ) - (set_local $9 + (set_local $1 (get_local $5) ) (set_local $5 - (get_local $6) + (get_local $7) ) (br $label$continue$L1) ) ) - (br $jumpthreading$outer$9) + (br $label$break$L343) ) (if (i32.eqz (get_local $0) ) (if - (get_local $1) + (get_local $13) (block (set_local $0 (i32.const 1) @@ -7387,7 +7371,7 @@ (set_local $15 (i32.const 1) ) - (br $jumpthreading$outer$9) + (br $label$break$L343) ) ) ) @@ -7417,7 +7401,7 @@ (set_local $15 (i32.const -1) ) - (br $jumpthreading$outer$9) + (br $label$break$L343) ) ) (if @@ -11120,216 +11104,214 @@ ) ) (block - (block $jumpthreading$outer$5 + (block $label$break$L279 (block $jumpthreading$inner$5 - (block $jumpthreading$outer$4 - (block $jumpthreading$inner$4 - (br_if $jumpthreading$inner$4 - (i32.eqz - (tee_local $4 - (i32.load - (i32.const 200) - ) + (block $jumpthreading$inner$4 + (br_if $jumpthreading$inner$4 + (i32.eqz + (tee_local $4 + (i32.load + (i32.const 200) ) ) ) - (set_local $1 - (i32.const 624) - ) - (loop $while-in$38 - (block $while-out$37 - (if - (i32.le_u - (tee_local $2 - (i32.load - (get_local $1) - ) + ) + (set_local $1 + (i32.const 624) + ) + (loop $while-in$38 + (block $while-out$37 + (if + (i32.le_u + (tee_local $2 + (i32.load + (get_local $1) ) - (get_local $4) ) - (if - (i32.gt_u - (i32.add - (get_local $2) - (i32.load - (tee_local $2 - (i32.add - (get_local $1) - (i32.const 4) - ) + (get_local $4) + ) + (if + (i32.gt_u + (i32.add + (get_local $2) + (i32.load + (tee_local $2 + (i32.add + (get_local $1) + (i32.const 4) ) ) ) - (get_local $4) - ) - (block - (set_local $4 - (get_local $1) - ) - (br $while-out$37) ) + (get_local $4) ) - ) - (br_if $while-in$38 - (tee_local $1 - (i32.load offset=8 + (block + (set_local $4 (get_local $1) ) + (br $while-out$37) ) ) - (br $jumpthreading$inner$4) ) - ) - (if - (i32.lt_u + (br_if $while-in$38 (tee_local $1 - (i32.and - (i32.sub - (get_local $5) - (i32.load - (i32.const 188) - ) - ) - (get_local $3) + (i32.load offset=8 + (get_local $1) ) ) - (i32.const 2147483647) ) - (if - (i32.eq - (tee_local $3 - (call_import $_sbrk - (get_local $1) - ) - ) - (i32.add - (i32.load - (get_local $4) - ) + (br $jumpthreading$inner$4) + ) + ) + (if + (i32.lt_u + (tee_local $1 + (i32.and + (i32.sub + (get_local $5) (i32.load - (get_local $2) + (i32.const 188) ) ) + (get_local $3) ) - (br_if $jumpthreading$inner$13 - (i32.ne - (get_local $3) - (i32.const -1) + ) + (i32.const 2147483647) + ) + (if + (i32.eq + (tee_local $3 + (call_import $_sbrk + (get_local $1) ) ) - (br $jumpthreading$inner$5) + (i32.add + (i32.load + (get_local $4) + ) + (i32.load + (get_local $2) + ) + ) + ) + (br_if $jumpthreading$inner$13 + (i32.ne + (get_local $3) + (i32.const -1) + ) ) + (br $jumpthreading$inner$5) ) - (br $jumpthreading$outer$4) ) - (if - (i32.ne - (tee_local $3 - (call_import $_sbrk - (i32.const 0) - ) + (br $label$break$L279) + ) + (if + (i32.ne + (tee_local $3 + (call_import $_sbrk + (i32.const 0) ) - (i32.const -1) ) - (block - (set_local $2 - (i32.add - (tee_local $5 - (i32.load - (i32.const 608) - ) + (i32.const -1) + ) + (block + (set_local $2 + (i32.add + (tee_local $5 + (i32.load + (i32.const 608) ) - (tee_local $1 - (if - (i32.and - (tee_local $2 - (i32.add - (tee_local $4 - (i32.load - (i32.const 652) - ) + ) + (tee_local $1 + (if + (i32.and + (tee_local $2 + (i32.add + (tee_local $4 + (i32.load + (i32.const 652) ) - (i32.const -1) ) - ) - (tee_local $1 - (get_local $3) + (i32.const -1) ) ) - (i32.add - (i32.sub - (get_local $10) + (tee_local $1 + (get_local $3) + ) + ) + (i32.add + (i32.sub + (get_local $10) + (get_local $1) + ) + (i32.and + (i32.add + (get_local $2) (get_local $1) ) - (i32.and - (i32.add - (get_local $2) - (get_local $1) - ) - (i32.sub - (i32.const 0) - (get_local $4) - ) + (i32.sub + (i32.const 0) + (get_local $4) ) ) - (get_local $10) ) + (get_local $10) ) ) ) - (if - (i32.and - (i32.gt_u - (get_local $1) - (get_local $0) - ) - (i32.lt_u - (get_local $1) - (i32.const 2147483647) - ) + ) + (if + (i32.and + (i32.gt_u + (get_local $1) + (get_local $0) ) - (block - (if - (tee_local $4 - (i32.load - (i32.const 616) - ) + (i32.lt_u + (get_local $1) + (i32.const 2147483647) + ) + ) + (block + (if + (tee_local $4 + (i32.load + (i32.const 616) ) - (br_if $jumpthreading$outer$4 - (i32.or - (i32.le_u - (get_local $2) - (get_local $5) - ) - (i32.gt_u - (get_local $2) - (get_local $4) - ) + ) + (br_if $label$break$L279 + (i32.or + (i32.le_u + (get_local $2) + (get_local $5) + ) + (i32.gt_u + (get_local $2) + (get_local $4) ) ) ) - (br_if $jumpthreading$inner$13 - (i32.eq - (tee_local $2 - (call_import $_sbrk - (get_local $1) - ) + ) + (br_if $jumpthreading$inner$13 + (i32.eq + (tee_local $2 + (call_import $_sbrk + (get_local $1) ) - (get_local $3) ) + (get_local $3) ) - (block - (set_local $3 - (get_local $2) - ) - (br $jumpthreading$inner$5) + ) + (block + (set_local $3 + (get_local $2) ) + (br $jumpthreading$inner$5) ) ) ) ) ) - (br $jumpthreading$outer$5) + (br $label$break$L279) ) (set_local $2 (i32.sub @@ -11390,7 +11372,7 @@ (get_local $2) ) ) - (br $jumpthreading$outer$5) + (br $label$break$L279) ) (set_local $1 (i32.add diff --git a/test/passes/remove-unused-brs.txt b/test/passes/remove-unused-brs.txt index 50f3b3a62..9eb413294 100644 --- a/test/passes/remove-unused-brs.txt +++ b/test/passes/remove-unused-brs.txt @@ -108,7 +108,7 @@ (drop (i32.const 0) ) - (br_if $inner + (br_if $topmost (i32.const 1) ) ) @@ -726,4 +726,38 @@ ) ) ) + (func $threading (type $1) + (drop + (block $value-out + (block $value-in + (block $out + (block $in + (br_if $out + (i32.const 1) + ) + (br_if $out + (i32.const 2) + ) + (br $value-in + (i32.const 3) + ) + ) + ) + (i32.const 4) + ) + ) + ) + (block $stack1 + (block $stack2 + (block $stack3 + (block $stack4 + (br_if $stack1 + (i32.const 1) + ) + (unreachable) + ) + ) + ) + ) + ) ) diff --git a/test/passes/remove-unused-brs.wast b/test/passes/remove-unused-brs.wast index 1a0b16477..e777efa5b 100644 --- a/test/passes/remove-unused-brs.wast +++ b/test/passes/remove-unused-brs.wast @@ -666,4 +666,38 @@ (if (i32.const 6) (br $outval (i32.const 7)) (i32.const 8)) ) ) + (func $threading + (drop + (block $value-out + (block $value-in + (block $out + (block $in + (if (i32.const 1) + (br $in) + ) + (br_if $in (i32.const 2)) + (br $value-in (i32.const 3)) + ) + (br $out) + ) + (i32.const 4) + ) + ) + ) + (block $stack1 + (block $stack2 + (block $stack3 + (block $stack4 + (if (i32.const 1) + (br $stack4) + ) + (unreachable) + ) + (br $stack3) + ) + (br $stack2) + ) + (br $stack1) + ) + ) ) diff --git a/test/unit.fromasm b/test/unit.fromasm index 724c08746..77e5a9eb1 100644 --- a/test/unit.fromasm +++ b/test/unit.fromasm @@ -177,27 +177,24 @@ (block $label$break$L1 (loop $label$continue$L3 (block $label$break$L3 - (block $switch$17 - (block $switch-default$21 - (block $switch-case$20 - (block $switch-case$19 - (block $switch-case$18 - (br_table $switch-case$18 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$20 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$19 $switch-default$21 - (i32.sub - (get_local $0) - (i32.const -1) - ) + (block $switch-default$21 + (block $switch-case$20 + (block $switch-case$19 + (block $switch-case$18 + (br_table $switch-case$18 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$20 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$19 $switch-default$21 + (i32.sub + (get_local $0) + (i32.const -1) ) ) - (br $label$break$L1) ) - (br $switch$17) + (br $label$break$L1) ) - (br $label$break$L3) + (br $label$continue$L3) ) - (br $label$break$L1) + (br $label$break$L3) ) - (br $label$continue$L3) + (br $label$break$L1) ) ) (call_import $h @@ -834,28 +831,26 @@ ) (block $jumpthreading$outer$3 (block $jumpthreading$inner$3 - (block $jumpthreading$outer$2 - (block $jumpthreading$inner$2 - (if - (get_local $0) - (block - (call_import $h - (i32.const 4) - ) - (br_if $jumpthreading$inner$2 - (i32.eq - (get_local $0) - (i32.const 3) - ) + (block $jumpthreading$inner$2 + (if + (get_local $0) + (block + (call_import $h + (i32.const 4) + ) + (br_if $jumpthreading$inner$2 + (i32.eq + (get_local $0) + (i32.const 3) ) - (br $jumpthreading$inner$3) ) + (br $jumpthreading$inner$3) ) - (br $jumpthreading$outer$2) - ) - (call_import $h - (i32.const 5) ) + (br $jumpthreading$outer$3) + ) + (call_import $h + (i32.const 5) ) (br $jumpthreading$outer$3) ) @@ -868,33 +863,31 @@ ) (block $jumpthreading$outer$5 (block $jumpthreading$inner$5 - (block $jumpthreading$outer$4 - (block $jumpthreading$inner$4 - (if - (get_local $0) - (block - (call_import $h - (i32.const 7) - ) - (br_if $jumpthreading$inner$4 - (i32.eq - (get_local $0) - (i32.const 5) - ) + (block $jumpthreading$inner$4 + (if + (get_local $0) + (block + (call_import $h + (i32.const 7) + ) + (br_if $jumpthreading$inner$4 + (i32.eq + (get_local $0) + (i32.const 5) ) - (br $jumpthreading$inner$5) ) + (br $jumpthreading$inner$5) ) - (br $jumpthreading$outer$4) - ) - (call_import $h - (i32.const 8) ) - (br_if $jumpthreading$inner$5 - (i32.eq - (get_local $0) - (i32.const 6) - ) + (br $jumpthreading$outer$5) + ) + (call_import $h + (i32.const 8) + ) + (br_if $jumpthreading$inner$5 + (i32.eq + (get_local $0) + (i32.const 6) ) ) (br $jumpthreading$outer$5) @@ -945,7 +938,7 @@ (br $jumpthreading$inner$8) ) ) - (br $jumpthreading$outer$7) + (br $jumpthreading$outer$8) ) (call_import $h (i32.const 13) @@ -987,7 +980,7 @@ ) ) ) - (br $jumpthreading$outer$1) + (br $while-in$1) ) (i32.store (get_local $3) diff --git a/test/unit.fromasm.imprecise b/test/unit.fromasm.imprecise index aca0185a2..35aa3e4f3 100644 --- a/test/unit.fromasm.imprecise +++ b/test/unit.fromasm.imprecise @@ -164,27 +164,24 @@ (block $label$break$L1 (loop $label$continue$L3 (block $label$break$L3 - (block $switch$17 - (block $switch-default$21 - (block $switch-case$20 - (block $switch-case$19 - (block $switch-case$18 - (br_table $switch-case$18 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$20 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$19 $switch-default$21 - (i32.sub - (get_local $0) - (i32.const -1) - ) + (block $switch-default$21 + (block $switch-case$20 + (block $switch-case$19 + (block $switch-case$18 + (br_table $switch-case$18 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$20 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$19 $switch-default$21 + (i32.sub + (get_local $0) + (i32.const -1) ) ) - (br $label$break$L1) ) - (br $switch$17) + (br $label$break$L1) ) - (br $label$break$L3) + (br $label$continue$L3) ) - (br $label$break$L1) + (br $label$break$L3) ) - (br $label$continue$L3) + (br $label$break$L1) ) ) (call_import $h @@ -815,28 +812,26 @@ ) (block $jumpthreading$outer$3 (block $jumpthreading$inner$3 - (block $jumpthreading$outer$2 - (block $jumpthreading$inner$2 - (if - (get_local $0) - (block - (call_import $h - (i32.const 4) - ) - (br_if $jumpthreading$inner$2 - (i32.eq - (get_local $0) - (i32.const 3) - ) + (block $jumpthreading$inner$2 + (if + (get_local $0) + (block + (call_import $h + (i32.const 4) + ) + (br_if $jumpthreading$inner$2 + (i32.eq + (get_local $0) + (i32.const 3) ) - (br $jumpthreading$inner$3) ) + (br $jumpthreading$inner$3) ) - (br $jumpthreading$outer$2) - ) - (call_import $h - (i32.const 5) ) + (br $jumpthreading$outer$3) + ) + (call_import $h + (i32.const 5) ) (br $jumpthreading$outer$3) ) @@ -849,33 +844,31 @@ ) (block $jumpthreading$outer$5 (block $jumpthreading$inner$5 - (block $jumpthreading$outer$4 - (block $jumpthreading$inner$4 - (if - (get_local $0) - (block - (call_import $h - (i32.const 7) - ) - (br_if $jumpthreading$inner$4 - (i32.eq - (get_local $0) - (i32.const 5) - ) + (block $jumpthreading$inner$4 + (if + (get_local $0) + (block + (call_import $h + (i32.const 7) + ) + (br_if $jumpthreading$inner$4 + (i32.eq + (get_local $0) + (i32.const 5) ) - (br $jumpthreading$inner$5) ) + (br $jumpthreading$inner$5) ) - (br $jumpthreading$outer$4) - ) - (call_import $h - (i32.const 8) ) - (br_if $jumpthreading$inner$5 - (i32.eq - (get_local $0) - (i32.const 6) - ) + (br $jumpthreading$outer$5) + ) + (call_import $h + (i32.const 8) + ) + (br_if $jumpthreading$inner$5 + (i32.eq + (get_local $0) + (i32.const 6) ) ) (br $jumpthreading$outer$5) @@ -926,7 +919,7 @@ (br $jumpthreading$inner$8) ) ) - (br $jumpthreading$outer$7) + (br $jumpthreading$outer$8) ) (call_import $h (i32.const 13) @@ -968,7 +961,7 @@ ) ) ) - (br $jumpthreading$outer$1) + (br $while-in$1) ) (i32.store (get_local $3) |