diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-09-13 20:58:20 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-09-14 10:27:34 -0700 |
commit | d8f45bca8141f6d4dcd46c46ef354756728848c6 (patch) | |
tree | 63bdf1d6f21f6092571a68825fcbec2780fbde73 | |
parent | da407c06333857f153f9fd1dba780dfbc64677bc (diff) | |
download | binaryen-d8f45bca8141f6d4dcd46c46ef354756728848c6.tar.gz binaryen-d8f45bca8141f6d4dcd46c46ef354756728848c6.tar.bz2 binaryen-d8f45bca8141f6d4dcd46c46ef354756728848c6.zip |
avoid threading jumps when there is irreducible control flow, as it is hard to know if it is safe to do so
-rw-r--r-- | src/passes/RelooperJumpThreading.cpp | 119 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm | 2659 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm.imprecise | 2659 |
3 files changed, 2863 insertions, 2574 deletions
diff --git a/src/passes/RelooperJumpThreading.cpp b/src/passes/RelooperJumpThreading.cpp index a0c33811a..7f74220d5 100644 --- a/src/passes/RelooperJumpThreading.cpp +++ b/src/passes/RelooperJumpThreading.cpp @@ -47,6 +47,53 @@ struct NameEnsurer { } }; +static If* isLabelCheckingIf(Expression* curr, Index labelIndex) { + if (!curr) return nullptr; + auto* iff = curr->dynCast<If>(); + if (!iff) return nullptr; + auto* condition = iff->condition->dynCast<Binary>(); + if (!(condition && condition->op == EqInt32)) return nullptr; + auto* left = condition->left->dynCast<GetLocal>(); + if (!(left && left->index == labelIndex)) return nullptr; + return iff; +} + +static Index getCheckedLabelValue(If* iff) { + return iff->condition->cast<Binary>()->right->cast<Const>()->value.geti32(); +} + +static SetLocal* isLabelSettingSetLocal(Expression* curr, Index labelIndex) { + if (!curr) return nullptr; + auto* set = curr->dynCast<SetLocal>(); + if (!set) return nullptr; + if (set->index != labelIndex) return nullptr; + return set; +} + +static Index getSetLabelValue(SetLocal* set) { + return set->value->cast<Const>()->value.geti32(); +} + +struct LabelUseFinder : public PostWalker<LabelUseFinder, Visitor<LabelUseFinder>> { + Index labelIndex; + std::map<Index, Index>& checks; // label value => number of checks on it + std::map<Index, Index>& sets; // label value => number of sets to it + + LabelUseFinder(Index labelIndex, std::map<Index, Index>& checks, std::map<Index, Index>& sets) : labelIndex(labelIndex), checks(checks), sets(sets) {} + + void visitIf(If* curr) { + if (isLabelCheckingIf(curr, labelIndex)) { + checks[getCheckedLabelValue(curr)]++; + } + } + + void visitSetLocal(SetLocal* curr) { + if (isLabelSettingSetLocal(curr, labelIndex)) { + sets[getSetLabelValue(curr)]++; + } + } +}; + struct RelooperJumpThreading : public WalkerPass<ExpressionStackWalker<RelooperJumpThreading, Visitor<RelooperJumpThreading>>> { bool isFunctionParallel() override { return true; } @@ -56,6 +103,9 @@ struct RelooperJumpThreading : public WalkerPass<ExpressionStackWalker<RelooperJ static NameEnsurer ensurer; } + std::map<Index, Index> labelChecks; + std::map<Index, Index> labelSets; + Index labelIndex; Index newNameCounter = 0; @@ -64,27 +114,35 @@ struct RelooperJumpThreading : public WalkerPass<ExpressionStackWalker<RelooperJ auto& list = curr->list; if (list.size() == 0) return; for (Index i = 0; i < list.size() - 1; i++) { + // once we see something that might be irreducible, we must skip that if and the rest of the dependents + bool irreducible = false; Index origin = i; for (Index j = i + 1; j < list.size(); j++) { - if (auto* iff = isLabelCheckingIf(list[j])) { - optimizeJumpsToLabelCheck(list[origin], iff); - ExpressionManipulator::nop(iff); + if (auto* iff = isLabelCheckingIf(list[j], labelIndex)) { + irreducible |= hasIrreducibleControlFlow(iff, list[origin]); + if (!irreducible) { + optimizeJumpsToLabelCheck(list[origin], iff); + ExpressionManipulator::nop(iff); + } i++; continue; } // if the next element is a block, it may be the holding block of label-checking ifs if (auto* holder = list[j]->dynCast<Block>()) { if (holder->list.size() > 0) { - if (If* iff = isLabelCheckingIf(holder->list[0])) { - // this is indeed a holder. we can process the ifs, and must also move - // the block to enclose the origin, so it is properly reachable - assert(holder->list.size() == 1); // must be size 1, a relooper multiple will have its own label, and is an if-else sequence and nothing more - optimizeJumpsToLabelCheck(list[origin], iff); - holder->list[0] = list[origin]; - list[origin] = holder; - // reuse the if as a nop - list[j] = iff; - ExpressionManipulator::nop(iff); + if (If* iff = isLabelCheckingIf(holder->list[0], labelIndex)) { + irreducible |= hasIrreducibleControlFlow(iff, list[origin]); + if (!irreducible) { + // this is indeed a holder. we can process the ifs, and must also move + // the block to enclose the origin, so it is properly reachable + assert(holder->list.size() == 1); // must be size 1, a relooper multiple will have its own label, and is an if-else sequence and nothing more + optimizeJumpsToLabelCheck(list[origin], iff); + holder->list[0] = list[origin]; + list[origin] = holder; + // reuse the if as a nop + list[j] = iff; + ExpressionManipulator::nop(iff); + } i++; continue; } @@ -99,19 +157,36 @@ struct RelooperJumpThreading : public WalkerPass<ExpressionStackWalker<RelooperJ // if there isn't a label variable, nothing for us to do if (func->localIndices.count(LABEL)) { labelIndex = func->getLocalIndex(LABEL); + LabelUseFinder finder(labelIndex, labelChecks, labelSets); + finder.walk(func->body); WalkerPass<ExpressionStackWalker<RelooperJumpThreading, Visitor<RelooperJumpThreading>>>::doWalkFunction(func); } } private: - If* isLabelCheckingIf(Expression* curr) { - auto* iff = curr->dynCast<If>(); - if (!iff) return nullptr; - auto* condition = iff->condition->dynCast<Binary>(); - if (!(condition && condition->op == EqInt32)) return nullptr; - auto* left = condition->left->dynCast<GetLocal>(); - if (!(left && left->index == labelIndex)) return nullptr; - return iff; + + bool hasIrreducibleControlFlow(If* iff, Expression* origin) { + // Gather the checks in this if chain. If all the label values checked are only set in origin, + // then since origin is right before us, this is not irreducible - we can replace all sets + // in origin with jumps forward to us, and since there is nothing else, this is safe and complete. + // We must also have the property that there is just one check for the label value, as otherwise + // node splitting has complicated things. + std::map<Index, Index> labelChecksInOrigin; + std::map<Index, Index> labelSetsInOrigin; + LabelUseFinder finder(labelIndex, labelChecksInOrigin, labelSetsInOrigin); + finder.walk(origin); + while (iff) { + auto num = getCheckedLabelValue(iff); + assert(labelChecks[num] > 0); + if (labelChecks[num] > 1) return true; // checked more than once, somewhere in function + assert(labelChecksInOrigin[num] == 0); + if (labelSetsInOrigin[num] != labelSets[num]) { + assert(labelSetsInOrigin[num] < labelSets[num]); + return true; // label set somewhere outside of origin TODO: if set in the if body here, it might be safe in some cases + } + iff = isLabelCheckingIf(iff->ifFalse, labelIndex); + } + return false; } // optimizes jumps to a label check @@ -123,7 +198,7 @@ private: std::cerr << "too many names in RelooperJumpThreading :(\n"; return; } - Index num = iff->condition->cast<Binary>()->right->cast<Const>()->value.geti32(); + Index num = getCheckedLabelValue(iff); // create a new block for this jump target Builder builder(*getModule()); // origin is where all jumps to this target must come from - the element right before this if diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm index 9f0d1ee47..a4bf51c56 100644 --- a/test/emcc_hello_world.fromasm +++ b/test/emcc_hello_world.fromasm @@ -374,64 +374,75 @@ (func $_strerror (param $0 i32) (result i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) (set_local $1 (i32.const 0) ) - (block $jumpthreading$outer$1 - (block $jumpthreading$inner$1 - (block $jumpthreading$inner$0 - (loop $while-in$1 - (br_if $jumpthreading$inner$0 - (i32.eq - (i32.and - (i32.load8_s offset=687 - (get_local $1) - ) - (i32.const 255) + (block $jumpthreading$outer$0 + (block $jumpthreading$inner$0 + (loop $while-in$1 + (br_if $jumpthreading$inner$0 + (i32.eq + (i32.and + (i32.load8_s offset=687 + (get_local $1) ) - (get_local $0) + (i32.const 255) ) + (get_local $0) ) - (br_if $while-in$1 - (i32.ne - (tee_local $1 - (i32.add - (get_local $1) - (i32.const 1) - ) + ) + (br_if $while-in$1 + (i32.ne + (tee_local $1 + (i32.add + (get_local $1) + (i32.const 1) ) - (i32.const 87) ) - ) - (block - (set_local $1 - (i32.const 87) - ) - (set_local $0 - (i32.const 775) - ) - (br $jumpthreading$inner$1) + (i32.const 87) ) ) - ) - (if - (get_local $1) (block - (set_local $0 + (set_local $3 + (i32.const 87) + ) + (set_local $2 (i32.const 775) ) - (br $jumpthreading$inner$1) + (set_local $4 + (i32.const 5) + ) ) - (set_local $0 + ) + (br $jumpthreading$outer$0) + ) + (if + (get_local $1) + (block + (set_local $3 + (get_local $1) + ) + (set_local $2 (i32.const 775) ) + (set_local $4 + (i32.const 5) + ) ) - (br $jumpthreading$outer$1) + (set_local $5 + (i32.const 775) + ) + ) + ) + (if + (i32.eq + (get_local $4) + (i32.const 5) ) (loop $while-in$3 - (set_local $2 - (get_local $0) - ) (loop $while-in$5 (set_local $0 (i32.add @@ -451,17 +462,26 @@ ) ) ) - (br_if $while-in$3 - (tee_local $1 + (if + (tee_local $3 (i32.add - (get_local $1) + (get_local $3) (i32.const -1) ) ) + (block + (set_local $2 + (get_local $0) + ) + (br $while-in$3) + ) + (set_local $5 + (get_local $0) + ) ) ) ) - (get_local $0) + (get_local $5) ) (func $___errno_location (result i32) (if @@ -2426,6 +2446,11 @@ (local $48 i32) (local $49 i32) (local $50 i32) + (local $51 i32) + (local $52 i32) + (local $53 i32) + (local $54 i32) + (local $55 i32) (set_local $27 (get_global $STACKTOP) ) @@ -2451,19 +2476,19 @@ (set_local $18 (get_local $27) ) - (set_local $37 + (set_local $41 (i32.add (get_local $27) (i32.const 528) ) ) - (set_local $31 + (set_local $33 (i32.ne (get_local $0) (i32.const 0) ) ) - (set_local $40 + (set_local $45 (tee_local $23 (i32.add (tee_local $13 @@ -2476,15 +2501,15 @@ ) ) ) - (set_local $41 + (set_local $46 (i32.add (get_local $13) (i32.const 39) ) ) - (set_local $45 + (set_local $50 (i32.add - (tee_local $42 + (tee_local $47 (i32.add (get_local $27) (i32.const 8) @@ -2493,7 +2518,7 @@ (i32.const 4) ) ) - (set_local $34 + (set_local $37 (i32.add (tee_local $13 (i32.add @@ -2504,18 +2529,18 @@ (i32.const 12) ) ) - (set_local $43 + (set_local $48 (i32.add (get_local $13) (i32.const 11) ) ) - (set_local $46 + (set_local $51 (i32.sub - (tee_local $30 - (get_local $34) + (tee_local $32 + (get_local $37) ) - (tee_local $38 + (tee_local $42 (tee_local $24 (i32.add (get_local $27) @@ -2525,21 +2550,21 @@ ) ) ) - (set_local $47 + (set_local $52 (i32.sub (i32.const -2) - (get_local $38) + (get_local $42) ) ) - (set_local $48 + (set_local $53 (i32.add - (get_local $30) + (get_local $32) (i32.const 2) ) ) - (set_local $50 + (set_local $55 (i32.add - (tee_local $49 + (tee_local $54 (i32.add (get_local $27) (i32.const 24) @@ -2548,15 +2573,15 @@ (i32.const 288) ) ) - (set_local $44 - (tee_local $32 + (set_local $49 + (tee_local $34 (i32.add (get_local $24) (i32.const 9) ) ) ) - (set_local $35 + (set_local $38 (i32.add (get_local $24) (i32.const 8) @@ -2572,7 +2597,7 @@ (i32.const 0) ) (block $label$break$L343 - (block $jumpthreading$inner$9 + (block $jumpthreading$inner$8 (loop $label$continue$L1 (block $label$break$L1 (set_local $15 @@ -2604,7 +2629,7 @@ (get_local $15) ) ) - (br_if $jumpthreading$inner$9 + (br_if $jumpthreading$inner$8 (i32.eqz (i32.shr_s (i32.shl @@ -2627,89 +2652,122 @@ (get_local $1) ) ) - (block $label$break$L12 - (block $jumpthreading$inner$1 - (loop $label$continue$L9 - (block $label$break$L9 - (block $switch-default$5 - (block $switch-case$4 - (block $switch-case$3 - (br_table $switch-case$4 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-case$3 $switch-default$5 - (i32.sub - (i32.shr_s - (i32.shl - (get_local $6) - (i32.const 24) - ) - (i32.const 24) - ) - (i32.const 0) + (loop $label$continue$L9 + (block $label$break$L9 + (block $switch-default$5 + (block $switch-case$4 + (block $switch-case$3 + (br_table $switch-case$4 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-case$3 $switch-default$5 + (i32.sub + (i32.shr_s + (i32.shl + (get_local $6) + (i32.const 24) ) + (i32.const 24) ) + (i32.const 0) ) - (set_local $7 - (get_local $5) - ) - (br $jumpthreading$inner$1) ) - (set_local $7 - (get_local $5) - ) - (br $label$break$L9) ) - (set_local $6 - (i32.load8_s - (tee_local $5 - (i32.add - (get_local $5) - (i32.const 1) - ) - ) + (set_local $39 + (get_local $5) + ) + (set_local $43 + (get_local $5) + ) + (set_local $28 + (i32.const 9) + ) + (br $label$break$L9) + ) + (set_local $29 + (get_local $5) + ) + (set_local $35 + (get_local $5) + ) + (br $label$break$L9) + ) + (set_local $6 + (i32.load8_s + (tee_local $5 + (i32.add + (get_local $5) + (i32.const 1) ) ) - (br $label$continue$L9) ) ) - (br $label$break$L12) + (br $label$continue$L9) ) - (loop $while-in$8 - (br_if $label$break$L12 - (i32.ne - (i32.load8_s offset=1 - (get_local $7) + ) + (block $label$break$L12 + (if + (i32.eq + (get_local $28) + (i32.const 9) + ) + (loop $while-in$8 + (set_local $28 + (i32.const 0) + ) + (if + (i32.ne + (i32.load8_s offset=1 + (get_local $39) + ) + (i32.const 37) + ) + (block + (set_local $29 + (get_local $39) + ) + (set_local $35 + (get_local $43) + ) + (br $label$break$L12) ) - (i32.const 37) ) - ) - (set_local $5 - (i32.add - (get_local $5) - (i32.const 1) + (set_local $35 + (i32.add + (get_local $43) + (i32.const 1) + ) ) - ) - (br_if $while-in$8 - (i32.eq - (i32.load8_s - (tee_local $7 - (i32.add - (get_local $7) - (i32.const 2) + (if + (i32.eq + (i32.load8_s + (tee_local $29 + (i32.add + (get_local $39) + (i32.const 2) + ) ) ) + (i32.const 37) + ) + (block + (set_local $39 + (get_local $29) + ) + (set_local $43 + (get_local $35) + ) + (br $while-in$8) ) - (i32.const 37) ) ) ) ) (set_local $6 (i32.sub - (get_local $5) + (get_local $35) (get_local $1) ) ) (if - (get_local $31) + (get_local $33) (if (i32.eqz (i32.and @@ -2730,12 +2788,12 @@ ) (if (i32.ne - (get_local $5) + (get_local $35) (get_local $1) ) (block (set_local $1 - (get_local $7) + (get_local $29) ) (set_local $5 (get_local $6) @@ -2754,7 +2812,7 @@ (i32.load8_s (tee_local $10 (i32.add - (get_local $7) + (get_local $29) (i32.const 1) ) ) @@ -2775,14 +2833,14 @@ (tee_local $10 (select (i32.add - (get_local $7) + (get_local $29) (i32.const 3) ) (get_local $10) (tee_local $8 (i32.eq (i32.load8_s offset=2 - (get_local $7) + (get_local $29) ) (i32.const 36) ) @@ -3000,6 +3058,9 @@ (i32.const 1) ) ) + (set_local $28 + (i32.const 0) + ) (if (get_local $7) (block @@ -3011,7 +3072,7 @@ ) (if (i32.eqz - (get_local $31) + (get_local $33) ) (block (set_local $8 @@ -3358,7 +3419,7 @@ ) ) (if - (get_local $31) + (get_local $33) (block (set_local $7 (i32.load @@ -3501,8 +3562,8 @@ (i32.const -1) ) ) - (block $jumpthreading$outer$2 - (block $jumpthreading$inner$2 + (block $jumpthreading$outer$1 + (block $jumpthreading$inner$1 (if (i32.eq (i32.shr_s @@ -3522,7 +3583,7 @@ ) (br $label$break$L1) ) - (br $jumpthreading$inner$2) + (br $jumpthreading$inner$1) ) (block (if @@ -3563,12 +3624,12 @@ (get_local $10) (get_local $12) ) - (br $jumpthreading$inner$2) + (br $jumpthreading$inner$1) ) ) (if (i32.eqz - (get_local $31) + (get_local $33) ) (block (set_local $15 @@ -3584,11 +3645,14 @@ ) ) ) - (br $jumpthreading$outer$2) + (br $jumpthreading$outer$1) + ) + (set_local $28 + (i32.const 0) ) (if (i32.eqz - (get_local $31) + (get_local $33) ) (block (set_local $1 @@ -3616,13 +3680,13 @@ ) ) ) - (block $jumpthreading$outer$8 - (block $jumpthreading$inner$8 - (block $jumpthreading$inner$7 - (block $jumpthreading$inner$6 - (block $jumpthreading$inner$5 - (block $jumpthreading$inner$4 - (block $jumpthreading$inner$3 + (block $jumpthreading$outer$7 + (block $jumpthreading$inner$7 + (block $jumpthreading$inner$6 + (block $jumpthreading$inner$5 + (block $jumpthreading$inner$4 + (block $jumpthreading$inner$3 + (block $jumpthreading$inner$2 (block $switch-default$127 (block $switch-case$49 (block $switch-case$48 @@ -3844,12 +3908,12 @@ (set_local $16 (i32.const 120) ) - (br $jumpthreading$inner$3) + (br $jumpthreading$inner$2) ) (set_local $1 (get_local $10) ) - (br $jumpthreading$inner$3) + (br $jumpthreading$inner$2) ) (if (i32.and @@ -3942,7 +4006,7 @@ (tee_local $10 (i32.add (i32.sub - (get_local $40) + (get_local $45) (get_local $8) ) (i32.const 1) @@ -3961,7 +4025,7 @@ (set_local $9 (i32.const 4091) ) - (br $jumpthreading$inner$8) + (br $jumpthreading$inner$7) ) (block (set_local $6 @@ -3976,7 +4040,7 @@ (set_local $9 (i32.const 4091) ) - (br $jumpthreading$inner$8) + (br $jumpthreading$inner$7) ) ) ) @@ -4022,7 +4086,7 @@ (set_local $9 (i32.const 4091) ) - (br $jumpthreading$inner$4) + (br $jumpthreading$inner$3) ) ) (if @@ -4037,7 +4101,7 @@ (set_local $9 (i32.const 4092) ) - (br $jumpthreading$inner$4) + (br $jumpthreading$inner$3) ) (block (set_local $8 @@ -4055,7 +4119,7 @@ (get_local $9) ) ) - (br $jumpthreading$inner$4) + (br $jumpthreading$inner$3) ) ) ) @@ -4077,13 +4141,13 @@ (set_local $9 (i32.const 4091) ) - (br $jumpthreading$inner$4) + (br $jumpthreading$inner$3) ) (set_local $1 (get_local $18) ) (i32.store8 - (get_local $41) + (get_local $46) (i32.and (i32.load (get_local $1) @@ -4092,7 +4156,7 @@ ) ) (set_local $6 - (get_local $41) + (get_local $46) ) (set_local $10 (get_local $9) @@ -4109,7 +4173,7 @@ (set_local $1 (get_local $23) ) - (br $jumpthreading$outer$8) + (br $jumpthreading$outer$7) ) (set_local $1 (call $_strerror @@ -4118,7 +4182,7 @@ ) ) ) - (br $jumpthreading$inner$5) + (br $jumpthreading$inner$4) ) (set_local $1 (select @@ -4134,29 +4198,29 @@ ) ) ) - (br $jumpthreading$inner$5) + (br $jumpthreading$inner$4) ) (set_local $1 (get_local $18) ) (i32.store - (get_local $42) + (get_local $47) (i32.load (get_local $1) ) ) (i32.store - (get_local $45) + (get_local $50) (i32.const 0) ) (i32.store (get_local $18) - (get_local $42) + (get_local $47) ) (set_local $8 (i32.const -1) ) - (br $jumpthreading$inner$6) + (br $jumpthreading$inner$5) ) (if (get_local $7) @@ -4164,7 +4228,7 @@ (set_local $8 (get_local $7) ) - (br $jumpthreading$inner$6) + (br $jumpthreading$inner$5) ) (block (call $_pad @@ -4177,7 +4241,7 @@ (set_local $6 (i32.const 0) ) - (br $jumpthreading$inner$7) + (br $jumpthreading$inner$6) ) ) ) @@ -4194,7 +4258,7 @@ (get_global $tempDoublePtr) (get_local $14) ) - (set_local $33 + (set_local $36 (if (i32.lt_s (i32.load offset=4 @@ -4203,7 +4267,7 @@ (i32.const 0) ) (block - (set_local $28 + (set_local $30 (i32.const 1) ) (set_local $14 @@ -4219,13 +4283,13 @@ (i32.const 2048) ) (block - (set_local $28 + (set_local $30 (i32.const 1) ) (i32.const 4111) ) (block - (set_local $28 + (set_local $30 (tee_local $1 (i32.and (get_local $10) @@ -4312,10 +4376,10 @@ (set_local $19 (select (i32.add - (get_local $33) + (get_local $36) (i32.const 9) ) - (get_local $33) + (get_local $36) (tee_local $9 (i32.and (get_local $16) @@ -4326,7 +4390,7 @@ ) (set_local $8 (i32.or - (get_local $28) + (get_local $30) (i32.const 2) ) ) @@ -4430,17 +4494,17 @@ ) (i32.const 31) ) - (get_local $34) + (get_local $37) ) ) - (get_local $34) + (get_local $37) ) (block (i32.store8 - (get_local $43) + (get_local $48) (i32.const 48) ) - (get_local $43) + (get_local $48) ) (get_local $6) ) @@ -4538,7 +4602,7 @@ (i32.const 1) ) ) - (get_local $38) + (get_local $42) ) (i32.const 1) ) @@ -4586,14 +4650,14 @@ (select (i32.sub (i32.add - (get_local $48) + (get_local $53) (get_local $7) ) (get_local $11) ) (i32.add (i32.sub - (get_local $46) + (get_local $51) (get_local $11) ) (get_local $5) @@ -4605,7 +4669,7 @@ ) (i32.lt_s (i32.add - (get_local $47) + (get_local $52) (get_local $5) ) (get_local $7) @@ -4648,7 +4712,7 @@ (set_local $5 (i32.sub (get_local $5) - (get_local $38) + (get_local $42) ) ) (if @@ -4677,7 +4741,7 @@ (get_local $5) (tee_local $5 (i32.sub - (get_local $30) + (get_local $32) (get_local $11) ) ) @@ -4735,11 +4799,11 @@ ) ) ) - (set_local $36 + (set_local $40 (tee_local $8 (select - (get_local $49) - (get_local $50) + (get_local $54) + (get_local $55) (i32.lt_s (if (get_local $5) @@ -5042,7 +5106,7 @@ (get_local $6) ) (block - (set_local $39 + (set_local $44 (i32.add (i32.shl (i32.const 1) @@ -5051,7 +5115,7 @@ (i32.const -1) ) ) - (set_local $29 + (set_local $31 (i32.shr_u (i32.const 1000000000) (get_local $26) @@ -5082,9 +5146,9 @@ (i32.mul (i32.and (get_local $11) - (get_local $39) + (get_local $44) ) - (get_local $29) + (get_local $31) ) ) (br_if $while-in$81 @@ -5200,7 +5264,7 @@ (i32.mul (i32.shr_s (i32.sub - (get_local $36) + (get_local $40) (get_local $5) ) (i32.const 2) @@ -5265,7 +5329,7 @@ (i32.shr_s (i32.shl (i32.and - (tee_local $39 + (tee_local $44 (i32.ne (get_local $19) (i32.const 0) @@ -5289,7 +5353,7 @@ (i32.shr_s (i32.sub (get_local $9) - (get_local $36) + (get_local $40) ) (i32.const 2) ) @@ -5383,7 +5447,7 @@ ) ) (i32.eqz - (tee_local $29 + (tee_local $31 (i32.and (call_import $i32u-rem (tee_local $11 @@ -5419,7 +5483,7 @@ (set_local $14 (if (i32.lt_u - (get_local $29) + (get_local $31) (tee_local $25 (i32.and (call_import $i32s-div @@ -5437,7 +5501,7 @@ (i32.and (get_local $26) (i32.eq - (get_local $29) + (get_local $31) (get_local $25) ) ) @@ -5447,13 +5511,13 @@ (set_local $22 (block $do-once$90 (if - (get_local $28) + (get_local $30) (block (br_if $do-once$90 (get_local $22) (i32.ne (i32.load8_s - (get_local $33) + (get_local $36) ) (i32.const 45) ) @@ -5476,7 +5540,7 @@ (tee_local $11 (i32.sub (get_local $11) - (get_local $29) + (get_local $31) ) ) ) @@ -5557,7 +5621,7 @@ (i32.mul (i32.shr_s (i32.sub - (get_local $36) + (get_local $40) (get_local $5) ) (i32.const 2) @@ -5693,7 +5757,7 @@ (i32.add (i32.xor (i32.and - (get_local $39) + (get_local $44) (i32.const 1) ) (i32.const 1) @@ -5834,7 +5898,7 @@ (i32.shr_s (i32.sub (get_local $9) - (get_local $36) + (get_local $40) ) (i32.const 2) ) @@ -5925,7 +5989,7 @@ ) ) ) - (set_local $29 + (set_local $31 (i32.and (i32.ne (tee_local $16 @@ -5967,7 +6031,7 @@ (if (i32.lt_s (i32.sub - (get_local $30) + (get_local $32) (tee_local $7 (call $_fmt_u (tee_local $7 @@ -5990,7 +6054,7 @@ ) (i32.const 31) ) - (get_local $34) + (get_local $37) ) ) ) @@ -6009,7 +6073,7 @@ (br_if $while-in$105 (i32.lt_s (i32.sub - (get_local $30) + (get_local $32) (get_local $7) ) (i32.const 2) @@ -6050,7 +6114,7 @@ ) (set_local $6 (i32.sub - (get_local $30) + (get_local $32) (get_local $7) ) ) @@ -6067,12 +6131,12 @@ (i32.add (i32.add (i32.add - (get_local $28) + (get_local $30) (i32.const 1) ) (get_local $5) ) - (get_local $29) + (get_local $31) ) (get_local $6) ) @@ -6090,8 +6154,8 @@ ) (drop (call $___fwritex - (get_local $33) - (get_local $28) + (get_local $36) + (get_local $30) (get_local $0) ) ) @@ -6129,7 +6193,7 @@ (get_local $7) ) (i32.const 0) - (get_local $32) + (get_local $34) ) ) (block $do-once$110 @@ -6142,15 +6206,15 @@ (br_if $do-once$110 (i32.ne (get_local $6) - (get_local $32) + (get_local $34) ) ) (i32.store8 - (get_local $35) + (get_local $38) (i32.const 48) ) (set_local $6 - (get_local $35) + (get_local $38) ) ) (block @@ -6193,7 +6257,7 @@ (call $___fwritex (get_local $6) (i32.sub - (get_local $44) + (get_local $49) (get_local $6) ) (get_local $0) @@ -6264,7 +6328,7 @@ (get_local $6) ) (i32.const 0) - (get_local $32) + (get_local $34) ) ) (get_local $24) @@ -6392,17 +6456,17 @@ (get_local $6) ) (i32.const 0) - (get_local $32) + (get_local $34) ) ) - (get_local $32) + (get_local $34) ) (block (i32.store8 - (get_local $35) + (get_local $38) (i32.const 48) ) - (get_local $35) + (get_local $38) ) (get_local $5) ) @@ -6500,7 +6564,7 @@ ) (set_local $8 (i32.sub - (get_local $44) + (get_local $49) (get_local $5) ) ) @@ -6581,7 +6645,7 @@ (call $___fwritex (get_local $25) (i32.sub - (get_local $30) + (get_local $32) (get_local $25) ) (get_local $0) @@ -6613,7 +6677,7 @@ (set_local $7 (select (i32.const 0) - (get_local $28) + (get_local $30) (tee_local $5 (i32.or (f64.ne @@ -6676,7 +6740,7 @@ (block (drop (call $___fwritex - (get_local $33) + (get_local $36) (get_local $7) (get_local $0) ) @@ -6736,7 +6800,7 @@ (set_local $1 (get_local $23) ) - (br $jumpthreading$outer$8) + (br $jumpthreading$outer$7) ) (set_local $9 (i32.and @@ -6773,7 +6837,7 @@ (set_local $9 (i32.const 4091) ) - (br $jumpthreading$inner$8) + (br $jumpthreading$inner$7) ) (block (set_local $8 @@ -6860,7 +6924,7 @@ (set_local $9 (i32.const 4091) ) - (br $jumpthreading$inner$8) + (br $jumpthreading$inner$7) ) (block (set_local $8 @@ -6875,12 +6939,12 @@ ) ) ) - (br $jumpthreading$inner$8) + (br $jumpthreading$inner$7) ) ) ) ) - (br $jumpthreading$outer$8) + (br $jumpthreading$outer$7) ) (set_local $6 (call $_fmt_u @@ -6892,7 +6956,10 @@ (set_local $1 (get_local $10) ) - (br $jumpthreading$inner$8) + (br $jumpthreading$inner$7) + ) + (set_local $28 + (i32.const 0) ) (set_local $16 (i32.eqz @@ -6937,7 +7004,7 @@ (get_local $16) ) ) - (br $jumpthreading$outer$8) + (br $jumpthreading$outer$7) ) (set_local $1 (i32.const 0) @@ -6966,7 +7033,7 @@ (i32.lt_s (tee_local $6 (call $_wctomb - (get_local $37) + (get_local $41) (get_local $9) ) ) @@ -7043,7 +7110,7 @@ (set_local $6 (get_local $1) ) - (br $jumpthreading$inner$7) + (br $jumpthreading$inner$6) ) ) (set_local $7 @@ -7058,7 +7125,7 @@ (i32.add (tee_local $8 (call $_wctomb - (get_local $37) + (get_local $41) (get_local $8) ) ) @@ -7071,7 +7138,7 @@ (set_local $6 (get_local $1) ) - (br $jumpthreading$inner$7) + (br $jumpthreading$inner$6) ) ) (if @@ -7085,7 +7152,7 @@ ) (drop (call $___fwritex - (get_local $37) + (get_local $41) (get_local $8) (get_local $0) ) @@ -7101,7 +7168,7 @@ (set_local $6 (get_local $1) ) - (br $jumpthreading$inner$7) + (br $jumpthreading$inner$6) ) ) ) @@ -7109,10 +7176,13 @@ (set_local $6 (i32.const 0) ) - (br $jumpthreading$inner$7) + (br $jumpthreading$inner$6) ) ) - (br $jumpthreading$outer$8) + (br $jumpthreading$outer$7) + ) + (set_local $28 + (i32.const 0) ) (call $_pad (get_local $0) @@ -7139,6 +7209,9 @@ ) (br $label$continue$L1) ) + (set_local $28 + (i32.const 0) + ) (set_local $10 (select (i32.and @@ -7192,7 +7265,7 @@ (i32.const 1) ) (i32.sub - (get_local $40) + (get_local $45) (get_local $6) ) ) @@ -8171,6 +8244,12 @@ (local $16 i32) (local $17 i32) (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) + (local $23 i32) + (local $24 i32) (block $do-once$0 (if (i32.lt_u @@ -8180,16 +8259,16 @@ (block (if (i32.and - (tee_local $7 + (tee_local $1 (i32.shr_u - (tee_local $13 + (tee_local $10 (i32.load (i32.const 176) ) ) - (tee_local $10 + (tee_local $4 (i32.shr_u - (tee_local $2 + (tee_local $3 (select (i32.const 16) (i32.and @@ -8217,25 +8296,25 @@ (i32.load (tee_local $1 (i32.add - (tee_local $6 + (tee_local $5 (i32.load - (tee_local $7 + (tee_local $9 (i32.add - (tee_local $3 + (tee_local $2 (i32.add (i32.const 216) (i32.shl (i32.shl - (tee_local $2 + (tee_local $3 (i32.add (i32.xor (i32.and - (get_local $7) + (get_local $1) (i32.const 1) ) (i32.const 1) ) - (get_local $10) + (get_local $4) ) ) (i32.const 1) @@ -8256,17 +8335,17 @@ ) (if (i32.eq - (get_local $3) + (get_local $2) (get_local $4) ) (i32.store (i32.const 176) (i32.and - (get_local $13) + (get_local $10) (i32.xor (i32.shl (i32.const 1) - (get_local $2) + (get_local $3) ) (i32.const -1) ) @@ -8292,15 +8371,15 @@ ) ) ) - (get_local $6) + (get_local $5) ) (block (i32.store (get_local $0) - (get_local $3) + (get_local $2) ) (i32.store - (get_local $7) + (get_local $9) (get_local $4) ) ) @@ -8309,11 +8388,11 @@ ) ) (i32.store offset=4 - (get_local $6) + (get_local $5) (i32.or (tee_local $0 (i32.shl - (get_local $2) + (get_local $3) (i32.const 3) ) ) @@ -8324,7 +8403,7 @@ (tee_local $0 (i32.add (i32.add - (get_local $6) + (get_local $5) (get_local $0) ) (i32.const 4) @@ -8344,7 +8423,7 @@ ) (if (i32.gt_u - (get_local $2) + (get_local $3) (tee_local $0 (i32.load (i32.const 184) @@ -8353,37 +8432,37 @@ ) (block (if - (get_local $7) + (get_local $1) (block - (set_local $7 + (set_local $5 (i32.and (i32.shr_u - (tee_local $4 + (tee_local $1 (i32.add (i32.and - (tee_local $4 + (tee_local $1 (i32.and (i32.shl - (get_local $7) - (get_local $10) + (get_local $1) + (get_local $4) ) (i32.or - (tee_local $4 + (tee_local $1 (i32.shl (i32.const 2) - (get_local $10) + (get_local $4) ) ) (i32.sub (i32.const 0) - (get_local $4) + (get_local $1) ) ) ) ) (i32.sub (i32.const 0) - (get_local $4) + (get_local $1) ) ) (i32.const -1) @@ -8394,32 +8473,32 @@ (i32.const 16) ) ) - (set_local $5 + (set_local $7 (i32.load - (tee_local $6 + (tee_local $5 (i32.add - (tee_local $10 + (tee_local $9 (i32.load - (tee_local $11 + (tee_local $6 (i32.add - (tee_local $4 + (tee_local $1 (i32.add (i32.const 216) (i32.shl (i32.shl - (tee_local $7 + (tee_local $4 (i32.add (i32.or (i32.or (i32.or (i32.or - (tee_local $6 + (tee_local $4 (i32.and (i32.shr_u - (tee_local $4 + (tee_local $1 (i32.shr_u - (get_local $4) - (get_local $7) + (get_local $1) + (get_local $5) ) ) (i32.const 5) @@ -8427,15 +8506,15 @@ (i32.const 8) ) ) - (get_local $7) + (get_local $5) ) - (tee_local $6 + (tee_local $4 (i32.and (i32.shr_u - (tee_local $4 + (tee_local $1 (i32.shr_u + (get_local $1) (get_local $4) - (get_local $6) ) ) (i32.const 2) @@ -8444,13 +8523,13 @@ ) ) ) - (tee_local $6 + (tee_local $4 (i32.and (i32.shr_u - (tee_local $4 + (tee_local $1 (i32.shr_u + (get_local $1) (get_local $4) - (get_local $6) ) ) (i32.const 1) @@ -8459,13 +8538,13 @@ ) ) ) - (tee_local $6 + (tee_local $4 (i32.and (i32.shr_u - (tee_local $4 + (tee_local $1 (i32.shr_u + (get_local $1) (get_local $4) - (get_local $6) ) ) (i32.const 1) @@ -8475,8 +8554,8 @@ ) ) (i32.shr_u + (get_local $1) (get_local $4) - (get_local $6) ) ) ) @@ -8498,31 +8577,31 @@ ) (if (i32.eq - (get_local $4) - (get_local $5) + (get_local $1) + (get_local $7) ) (block (i32.store (i32.const 176) (i32.and - (get_local $13) + (get_local $10) (i32.xor (i32.shl (i32.const 1) - (get_local $7) + (get_local $4) ) (i32.const -1) ) ) ) - (set_local $3 + (set_local $8 (get_local $0) ) ) (block (if (i32.lt_u - (get_local $5) + (get_local $7) (i32.load (i32.const 192) ) @@ -8534,23 +8613,23 @@ (i32.load (tee_local $0 (i32.add - (get_local $5) + (get_local $7) (i32.const 12) ) ) ) - (get_local $10) + (get_local $9) ) (block (i32.store (get_local $0) - (get_local $4) + (get_local $1) ) (i32.store - (get_local $11) - (get_local $5) + (get_local $6) + (get_local $7) ) - (set_local $3 + (set_local $8 (i32.load (i32.const 184) ) @@ -8561,27 +8640,27 @@ ) ) (i32.store offset=4 - (get_local $10) + (get_local $9) (i32.or - (get_local $2) + (get_local $3) (i32.const 3) ) ) (i32.store offset=4 - (tee_local $10 + (tee_local $9 (i32.add - (get_local $10) - (get_local $2) + (get_local $9) + (get_local $3) ) ) (i32.or (tee_local $4 (i32.sub (i32.shl - (get_local $7) + (get_local $4) (i32.const 3) ) - (get_local $2) + (get_local $3) ) ) (i32.const 1) @@ -8589,15 +8668,15 @@ ) (i32.store (i32.add - (get_local $10) + (get_local $9) (get_local $4) ) (get_local $4) ) (if - (get_local $3) + (get_local $8) (block - (set_local $7 + (set_local $6 (i32.load (i32.const 196) ) @@ -8607,9 +8686,9 @@ (i32.const 216) (i32.shl (i32.shl - (tee_local $3 + (tee_local $1 (i32.shr_u - (get_local $3) + (get_local $8) (i32.const 3) ) ) @@ -8621,23 +8700,23 @@ ) (if (i32.and - (tee_local $2 + (tee_local $3 (i32.load (i32.const 176) ) ) - (tee_local $3 + (tee_local $1 (i32.shl (i32.const 1) - (get_local $3) + (get_local $1) ) ) ) (if (i32.lt_u - (tee_local $3 + (tee_local $1 (i32.load - (tee_local $2 + (tee_local $3 (i32.add (get_local $0) (i32.const 8) @@ -8651,47 +8730,47 @@ ) (call_import $_abort) (block - (set_local $8 - (get_local $2) - ) - (set_local $1 + (set_local $12 (get_local $3) ) + (set_local $2 + (get_local $1) + ) ) ) (block (i32.store (i32.const 176) (i32.or - (get_local $2) (get_local $3) + (get_local $1) ) ) - (set_local $8 + (set_local $12 (i32.add (get_local $0) (i32.const 8) ) ) - (set_local $1 + (set_local $2 (get_local $0) ) ) ) (i32.store - (get_local $8) - (get_local $7) + (get_local $12) + (get_local $6) ) (i32.store offset=12 - (get_local $1) - (get_local $7) + (get_local $2) + (get_local $6) ) (i32.store offset=8 - (get_local $7) - (get_local $1) + (get_local $6) + (get_local $2) ) (i32.store offset=12 - (get_local $7) + (get_local $6) (get_local $0) ) ) @@ -8702,10 +8781,10 @@ ) (i32.store (i32.const 196) - (get_local $10) + (get_local $9) ) (return - (get_local $6) + (get_local $5) ) ) ) @@ -8716,7 +8795,7 @@ ) ) (block - (set_local $3 + (set_local $2 (i32.and (i32.shr_u (tee_local $0 @@ -8736,7 +8815,7 @@ (i32.const 16) ) ) - (set_local $6 + (set_local $4 (i32.sub (i32.and (i32.load offset=4 @@ -8754,7 +8833,7 @@ (tee_local $0 (i32.shr_u (get_local $0) - (get_local $3) + (get_local $2) ) ) (i32.const 5) @@ -8762,7 +8841,7 @@ (i32.const 8) ) ) - (get_local $3) + (get_local $2) ) (tee_local $1 (i32.and @@ -8821,10 +8900,10 @@ ) (i32.const -8) ) - (get_local $2) + (get_local $3) ) ) - (set_local $3 + (set_local $2 (get_local $1) ) (loop $while-in$7 @@ -8833,7 +8912,7 @@ (i32.eqz (tee_local $0 (i32.load offset=16 - (get_local $3) + (get_local $2) ) ) ) @@ -8841,21 +8920,21 @@ (i32.eqz (tee_local $0 (i32.load offset=20 - (get_local $3) + (get_local $2) ) ) ) (block - (set_local $3 + (set_local $2 (get_local $1) ) (br $while-out$6) ) ) ) - (set_local $7 + (set_local $6 (i32.lt_u - (tee_local $3 + (tee_local $2 (i32.sub (i32.and (i32.load offset=4 @@ -8863,27 +8942,27 @@ ) (i32.const -8) ) - (get_local $2) + (get_local $3) ) ) - (get_local $6) + (get_local $4) ) ) - (set_local $6 + (set_local $4 (select - (get_local $3) + (get_local $2) + (get_local $4) (get_local $6) - (get_local $7) ) ) - (set_local $3 + (set_local $2 (get_local $0) ) (set_local $1 (select (get_local $0) (get_local $1) - (get_local $7) + (get_local $6) ) ) (br $while-in$7) @@ -8891,8 +8970,8 @@ ) (if (i32.lt_u - (get_local $3) - (tee_local $8 + (get_local $2) + (tee_local $10 (i32.load (i32.const 192) ) @@ -8902,19 +8981,19 @@ ) (if (i32.ge_u - (get_local $3) - (tee_local $11 + (get_local $2) + (tee_local $7 (i32.add - (get_local $3) (get_local $2) + (get_local $3) ) ) ) (call_import $_abort) ) - (set_local $9 + (set_local $11 (i32.load offset=24 - (get_local $3) + (get_local $2) ) ) (block $do-once$8 @@ -8922,10 +9001,10 @@ (i32.eq (tee_local $0 (i32.load offset=12 - (get_local $3) + (get_local $2) ) ) - (get_local $3) + (get_local $2) ) (block (if @@ -8934,7 +9013,7 @@ (i32.load (tee_local $0 (i32.add - (get_local $3) + (get_local $2) (i32.const 20) ) ) @@ -8947,7 +9026,7 @@ (i32.load (tee_local $0 (i32.add - (get_local $3) + (get_local $2) (i32.const 16) ) ) @@ -8955,7 +9034,7 @@ ) ) (block - (set_local $4 + (set_local $5 (i32.const 0) ) (br $do-once$8) @@ -8964,9 +9043,9 @@ ) (loop $while-in$11 (if - (tee_local $10 + (tee_local $8 (i32.load - (tee_local $7 + (tee_local $6 (i32.add (get_local $1) (i32.const 20) @@ -8976,18 +9055,18 @@ ) (block (set_local $1 - (get_local $10) + (get_local $8) ) (set_local $0 - (get_local $7) + (get_local $6) ) (br $while-in$11) ) ) (if - (tee_local $10 + (tee_local $8 (i32.load - (tee_local $7 + (tee_local $6 (i32.add (get_local $1) (i32.const 16) @@ -8997,10 +9076,10 @@ ) (block (set_local $1 - (get_local $10) + (get_local $8) ) (set_local $0 - (get_local $7) + (get_local $6) ) (br $while-in$11) ) @@ -9009,7 +9088,7 @@ (if (i32.lt_u (get_local $0) - (get_local $8) + (get_local $10) ) (call_import $_abort) (block @@ -9017,7 +9096,7 @@ (get_local $0) (i32.const 0) ) - (set_local $4 + (set_local $5 (get_local $1) ) ) @@ -9026,26 +9105,26 @@ (block (if (i32.lt_u - (tee_local $10 + (tee_local $8 (i32.load offset=8 - (get_local $3) + (get_local $2) ) ) - (get_local $8) + (get_local $10) ) (call_import $_abort) ) (if (i32.ne (i32.load - (tee_local $7 + (tee_local $6 (i32.add - (get_local $10) + (get_local $8) (i32.const 12) ) ) ) - (get_local $3) + (get_local $2) ) (call_import $_abort) ) @@ -9059,18 +9138,18 @@ ) ) ) - (get_local $3) + (get_local $2) ) (block (i32.store - (get_local $7) + (get_local $6) (get_local $0) ) (i32.store (get_local $1) - (get_local $10) + (get_local $8) ) - (set_local $4 + (set_local $5 (get_local $0) ) ) @@ -9081,11 +9160,11 @@ ) (block $do-once$12 (if - (get_local $9) + (get_local $11) (block (if (i32.eq - (get_local $3) + (get_local $2) (i32.load (tee_local $0 (i32.add @@ -9093,7 +9172,7 @@ (i32.shl (tee_local $1 (i32.load offset=28 - (get_local $3) + (get_local $2) ) ) (i32.const 2) @@ -9105,11 +9184,11 @@ (block (i32.store (get_local $0) - (get_local $4) + (get_local $5) ) (if (i32.eqz - (get_local $4) + (get_local $5) ) (block (i32.store @@ -9134,7 +9213,7 @@ (block (if (i32.lt_u - (get_local $9) + (get_local $11) (i32.load (i32.const 192) ) @@ -9146,32 +9225,32 @@ (i32.load (tee_local $0 (i32.add - (get_local $9) + (get_local $11) (i32.const 16) ) ) ) - (get_local $3) + (get_local $2) ) (i32.store (get_local $0) - (get_local $4) + (get_local $5) ) (i32.store offset=20 - (get_local $9) - (get_local $4) + (get_local $11) + (get_local $5) ) ) (br_if $do-once$12 (i32.eqz - (get_local $4) + (get_local $5) ) ) ) ) (if (i32.lt_u - (get_local $4) + (get_local $5) (tee_local $1 (i32.load (i32.const 192) @@ -9181,13 +9260,13 @@ (call_import $_abort) ) (i32.store offset=24 - (get_local $4) - (get_local $9) + (get_local $5) + (get_local $11) ) (if (tee_local $0 (i32.load offset=16 - (get_local $3) + (get_local $2) ) ) (if @@ -9198,12 +9277,12 @@ (call_import $_abort) (block (i32.store offset=16 - (get_local $4) + (get_local $5) (get_local $0) ) (i32.store offset=24 (get_local $0) - (get_local $4) + (get_local $5) ) ) ) @@ -9211,7 +9290,7 @@ (if (tee_local $0 (i32.load offset=20 - (get_local $3) + (get_local $2) ) ) (if @@ -9224,12 +9303,12 @@ (call_import $_abort) (block (i32.store offset=20 - (get_local $4) + (get_local $5) (get_local $0) ) (i32.store offset=24 (get_local $0) - (get_local $4) + (get_local $5) ) ) ) @@ -9239,17 +9318,17 @@ ) (if (i32.lt_u - (get_local $6) + (get_local $4) (i32.const 16) ) (block (i32.store offset=4 - (get_local $3) + (get_local $2) (i32.or (tee_local $0 (i32.add - (get_local $6) - (get_local $2) + (get_local $4) + (get_local $3) ) ) (i32.const 3) @@ -9259,7 +9338,7 @@ (tee_local $0 (i32.add (i32.add - (get_local $3) + (get_local $2) (get_local $0) ) (i32.const 4) @@ -9275,25 +9354,25 @@ ) (block (i32.store offset=4 - (get_local $3) + (get_local $2) (i32.or - (get_local $2) + (get_local $3) (i32.const 3) ) ) (i32.store offset=4 - (get_local $11) + (get_local $7) (i32.or - (get_local $6) + (get_local $4) (i32.const 1) ) ) (i32.store (i32.add - (get_local $11) - (get_local $6) + (get_local $7) + (get_local $4) ) - (get_local $6) + (get_local $4) ) (if (tee_local $0 @@ -9302,7 +9381,7 @@ ) ) (block - (set_local $4 + (set_local $5 (i32.load (i32.const 196) ) @@ -9326,7 +9405,7 @@ ) (if (i32.and - (tee_local $2 + (tee_local $3 (i32.load (i32.const 176) ) @@ -9342,7 +9421,7 @@ (i32.lt_u (tee_local $1 (i32.load - (tee_local $2 + (tee_local $3 (i32.add (get_local $0) (i32.const 8) @@ -9356,10 +9435,10 @@ ) (call_import $_abort) (block - (set_local $12 - (get_local $2) + (set_local $13 + (get_local $3) ) - (set_local $5 + (set_local $9 (get_local $1) ) ) @@ -9368,63 +9447,63 @@ (i32.store (i32.const 176) (i32.or - (get_local $2) + (get_local $3) (get_local $1) ) ) - (set_local $12 + (set_local $13 (i32.add (get_local $0) (i32.const 8) ) ) - (set_local $5 + (set_local $9 (get_local $0) ) ) ) (i32.store - (get_local $12) - (get_local $4) + (get_local $13) + (get_local $5) ) (i32.store offset=12 + (get_local $9) (get_local $5) - (get_local $4) ) (i32.store offset=8 - (get_local $4) (get_local $5) + (get_local $9) ) (i32.store offset=12 - (get_local $4) + (get_local $5) (get_local $0) ) ) ) (i32.store (i32.const 184) - (get_local $6) + (get_local $4) ) (i32.store (i32.const 196) - (get_local $11) + (get_local $7) ) ) ) (return (i32.add - (get_local $3) + (get_local $2) (i32.const 8) ) ) ) (set_local $0 - (get_local $2) + (get_local $3) ) ) ) (set_local $0 - (get_local $2) + (get_local $3) ) ) ) @@ -9437,9 +9516,9 @@ (i32.const -1) ) (block - (set_local $2 + (set_local $9 (i32.and - (tee_local $0 + (tee_local $2 (i32.add (get_local $0) (i32.const 11) @@ -9449,222 +9528,232 @@ ) ) (if - (tee_local $18 + (tee_local $24 (i32.load (i32.const 180) ) ) (block - (set_local $3 + (set_local $0 (i32.sub (i32.const 0) - (get_local $2) + (get_local $9) ) ) - (block $jumpthreading$outer$3 - (block $jumpthreading$inner$3 - (block $jumpthreading$inner$2 - (if - (tee_local $0 - (i32.load offset=480 - (i32.shl - (tee_local $14 + (block $jumpthreading$outer$2 + (block $jumpthreading$inner$2 + (if + (tee_local $2 + (i32.load offset=480 + (i32.shl + (tee_local $15 + (if + (tee_local $2 + (i32.shr_u + (get_local $2) + (i32.const 8) + ) + ) (if - (tee_local $0 - (i32.shr_u - (get_local $0) - (i32.const 8) - ) + (i32.gt_u + (get_local $9) + (i32.const 16777215) ) - (if - (i32.gt_u - (get_local $2) - (i32.const 16777215) - ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $2) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $9) + (i32.add + (tee_local $2 + (i32.add + (i32.sub + (i32.const 14) + (i32.or (i32.or - (i32.or - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $0 - (i32.shl - (get_local $0) - (tee_local $4 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) - ) - (i32.const 16) + (tee_local $5 + (i32.and + (i32.shr_u + (i32.add + (tee_local $2 + (i32.shl + (get_local $2) + (tee_local $8 + (i32.and + (i32.shr_u + (i32.add + (get_local $2) + (i32.const 1048320) ) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) ) - (i32.const 520192) ) - (i32.const 16) + (i32.const 520192) ) - (i32.const 4) + (i32.const 16) ) + (i32.const 4) ) - (get_local $4) ) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $0 - (i32.shl - (get_local $0) - (get_local $1) - ) + (get_local $8) + ) + (tee_local $5 + (i32.and + (i32.shr_u + (i32.add + (tee_local $2 + (i32.shl + (get_local $2) + (get_local $5) ) - (i32.const 245760) ) - (i32.const 16) + (i32.const 245760) ) - (i32.const 2) + (i32.const 16) ) + (i32.const 2) ) ) ) - (i32.shr_u - (i32.shl - (get_local $0) - (get_local $1) - ) - (i32.const 15) + ) + (i32.shr_u + (i32.shl + (get_local $2) + (get_local $5) ) + (i32.const 15) ) ) - (i32.const 7) ) + (i32.const 7) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) + (i32.const 1) + ) + (i32.shl + (get_local $2) + (i32.const 1) ) ) - (i32.const 0) ) + (i32.const 0) ) - (i32.const 2) ) + (i32.const 2) ) ) - (block - (set_local $8 - (i32.const 0) - ) - (set_local $5 - (i32.shl - (get_local $2) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (get_local $14) - (i32.const 1) - ) - ) - (i32.eq - (get_local $14) - (i32.const 31) + ) + (block + (set_local $5 + (get_local $0) + ) + (set_local $13 + (i32.const 0) + ) + (set_local $12 + (i32.shl + (get_local $9) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $15) + (i32.const 1) ) ) + (i32.eq + (get_local $15) + (i32.const 31) + ) ) ) - (set_local $1 - (i32.const 0) - ) - (loop $while-in$18 - (if - (i32.lt_u - (tee_local $4 - (i32.sub - (tee_local $12 - (i32.and - (i32.load offset=4 - (get_local $0) - ) - (i32.const -8) + ) + (set_local $0 + (get_local $2) + ) + (set_local $2 + (i32.const 0) + ) + (loop $while-in$18 + (if + (i32.lt_u + (tee_local $8 + (i32.sub + (tee_local $14 + (i32.and + (i32.load offset=4 + (get_local $0) ) + (i32.const -8) ) - (get_local $2) ) + (get_local $9) ) - (get_local $3) ) - (if - (i32.eq - (get_local $12) - (get_local $2) + (get_local $5) + ) + (if + (i32.eq + (get_local $14) + (get_local $9) + ) + (block + (set_local $4 + (get_local $8) ) - (block - (set_local $3 - (get_local $4) - ) - (set_local $1 - (get_local $0) - ) - (br $jumpthreading$inner$3) + (set_local $3 + (get_local $0) ) - (block - (set_local $3 - (get_local $4) - ) - (set_local $1 - (get_local $0) - ) + (set_local $1 + (get_local $0) + ) + (set_local $19 + (i32.const 90) + ) + (br $jumpthreading$outer$2) + ) + (block + (set_local $5 + (get_local $8) + ) + (set_local $2 + (get_local $0) ) ) ) - (set_local $0 - (select - (get_local $8) - (tee_local $4 - (i32.load offset=20 - (get_local $0) - ) + ) + (set_local $8 + (select + (get_local $13) + (tee_local $8 + (i32.load offset=20 + (get_local $0) ) - (i32.or - (i32.eqz - (get_local $4) - ) - (i32.eq - (get_local $4) - (tee_local $12 - (i32.load + ) + (i32.or + (i32.eqz + (get_local $8) + ) + (i32.eq + (get_local $8) + (tee_local $14 + (i32.load + (i32.add (i32.add - (i32.add - (get_local $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $5) - (i32.const 31) - ) - (i32.const 2) + (get_local $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $12) + (i32.const 31) ) + (i32.const 2) ) ) ) @@ -9672,285 +9761,303 @@ ) ) ) - (set_local $4 - (i32.shl - (get_local $5) - (i32.xor - (i32.and - (tee_local $5 - (i32.eqz - (get_local $12) - ) + ) + (set_local $0 + (i32.shl + (get_local $12) + (i32.xor + (i32.and + (tee_local $12 + (i32.eqz + (get_local $14) ) - (i32.const 1) ) (i32.const 1) ) + (i32.const 1) ) ) - (if - (get_local $5) - (block - (set_local $4 - (get_local $0) - ) - (set_local $0 - (get_local $1) - ) - (br $jumpthreading$inner$2) + ) + (if + (get_local $12) + (block + (set_local $0 + (get_local $5) ) - (block - (set_local $8 - (get_local $0) - ) - (set_local $5 - (get_local $4) - ) - (set_local $0 - (get_local $12) - ) - (br $while-in$18) + (br $jumpthreading$inner$2) + ) + (block + (set_local $13 + (get_local $8) + ) + (set_local $12 + (get_local $0) + ) + (set_local $0 + (get_local $14) ) + (br $while-in$18) ) ) ) - (block - (set_local $4 - (i32.const 0) - ) - (set_local $0 - (i32.const 0) - ) + ) + (block + (set_local $8 + (i32.const 0) ) + (set_local $2 + (i32.const 0) + ) + (br $jumpthreading$inner$2) ) ) - (br_if $jumpthreading$inner$3 - (tee_local $1 - (if - (i32.and - (i32.eqz - (get_local $4) - ) - (i32.eqz - (get_local $0) - ) + (br $jumpthreading$outer$2) + ) + (if + (tee_local $5 + (if + (i32.and + (i32.eqz + (get_local $8) ) - (block - (if - (i32.eqz - (tee_local $1 - (i32.and - (get_local $18) - (i32.or - (tee_local $1 - (i32.shl - (i32.const 2) - (get_local $14) - ) - ) - (i32.sub - (i32.const 0) - (get_local $1) + (i32.eqz + (get_local $2) + ) + ) + (block + (if + (i32.eqz + (tee_local $5 + (i32.and + (get_local $24) + (i32.or + (tee_local $5 + (i32.shl + (i32.const 2) + (get_local $15) ) ) + (i32.sub + (i32.const 0) + (get_local $5) + ) ) ) ) - (block - (set_local $0 - (get_local $2) - ) - (br $do-once$0) + ) + (block + (set_local $0 + (get_local $9) ) + (br $do-once$0) ) - (set_local $5 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.add - (i32.and - (get_local $1) - (i32.sub - (i32.const 0) - (get_local $1) - ) + ) + (set_local $12 + (i32.and + (i32.shr_u + (tee_local $5 + (i32.add + (i32.and + (get_local $5) + (i32.sub + (i32.const 0) + (get_local $5) ) - (i32.const -1) ) + (i32.const -1) ) - (i32.const 12) ) - (i32.const 16) + (i32.const 12) ) + (i32.const 16) ) - (i32.load offset=480 - (i32.shl - (i32.add + ) + (i32.load offset=480 + (i32.shl + (i32.add + (i32.or (i32.or (i32.or (i32.or - (i32.or - (tee_local $4 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.shr_u - (get_local $1) - (get_local $5) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $5) - ) - (tee_local $4 + (tee_local $8 (i32.and (i32.shr_u - (tee_local $1 + (tee_local $5 (i32.shr_u - (get_local $1) - (get_local $4) + (get_local $5) + (get_local $12) ) ) - (i32.const 2) + (i32.const 5) ) - (i32.const 4) + (i32.const 8) ) ) + (get_local $12) ) - (tee_local $4 + (tee_local $8 (i32.and (i32.shr_u - (tee_local $1 + (tee_local $5 (i32.shr_u - (get_local $1) - (get_local $4) + (get_local $5) + (get_local $8) ) ) - (i32.const 1) + (i32.const 2) ) - (i32.const 2) + (i32.const 4) ) ) ) - (tee_local $4 + (tee_local $8 (i32.and (i32.shr_u - (tee_local $1 + (tee_local $5 (i32.shr_u - (get_local $1) - (get_local $4) + (get_local $5) + (get_local $8) ) ) (i32.const 1) ) - (i32.const 1) + (i32.const 2) ) ) ) - (i32.shr_u - (get_local $1) - (get_local $4) + (tee_local $8 + (i32.and + (i32.shr_u + (tee_local $5 + (i32.shr_u + (get_local $5) + (get_local $8) + ) + ) + (i32.const 1) + ) + (i32.const 1) + ) ) ) - (i32.const 2) + (i32.shr_u + (get_local $5) + (get_local $8) + ) ) + (i32.const 2) ) ) - (get_local $4) ) + (get_local $8) ) ) (block (set_local $4 - (get_local $3) + (get_local $0) ) (set_local $3 + (get_local $5) + ) + (set_local $1 + (get_local $2) + ) + (set_local $19 + (i32.const 90) + ) + ) + (block + (set_local $7 (get_local $0) ) + (set_local $6 + (get_local $2) + ) ) - (br $jumpthreading$outer$3) + ) + ) + (if + (i32.eq + (get_local $19) + (i32.const 90) ) (loop $while-in$20 - (set_local $5 + (set_local $2 (i32.lt_u - (tee_local $4 + (tee_local $0 (i32.sub (i32.and (i32.load offset=4 - (get_local $1) + (get_local $3) ) (i32.const -8) ) - (get_local $2) + (get_local $9) ) ) - (get_local $3) + (get_local $4) ) ) - (set_local $3 + (set_local $4 (select + (get_local $0) (get_local $4) - (get_local $3) - (get_local $5) + (get_local $2) ) ) - (set_local $0 + (set_local $1 (select + (get_local $3) (get_local $1) - (get_local $0) - (get_local $5) + (get_local $2) ) ) (if - (tee_local $4 + (tee_local $0 (i32.load offset=16 - (get_local $1) + (get_local $3) ) ) (block - (set_local $1 - (get_local $4) + (set_local $3 + (get_local $0) ) (br $while-in$20) ) ) (br_if $while-in$20 - (tee_local $1 + (tee_local $3 (i32.load offset=20 - (get_local $1) + (get_local $3) ) ) ) (block - (set_local $4 - (get_local $3) + (set_local $7 + (get_local $4) ) - (set_local $3 - (get_local $0) + (set_local $6 + (get_local $1) ) ) ) ) (if - (get_local $3) + (get_local $6) (if (i32.lt_u - (get_local $4) + (get_local $7) (i32.sub (i32.load (i32.const 184) ) - (get_local $2) + (get_local $9) ) ) (block (if (i32.lt_u - (get_local $3) + (get_local $6) (tee_local $8 (i32.load (i32.const 192) @@ -9961,19 +10068,19 @@ ) (if (i32.ge_u - (get_local $3) - (tee_local $5 + (get_local $6) + (tee_local $4 (i32.add - (get_local $3) - (get_local $2) + (get_local $6) + (get_local $9) ) ) ) (call_import $_abort) ) - (set_local $9 + (set_local $5 (i32.load offset=24 - (get_local $3) + (get_local $6) ) ) (block $do-once$21 @@ -9981,10 +10088,10 @@ (i32.eq (tee_local $0 (i32.load offset=12 - (get_local $3) + (get_local $6) ) ) - (get_local $3) + (get_local $6) ) (block (if @@ -9993,7 +10100,7 @@ (i32.load (tee_local $0 (i32.add - (get_local $3) + (get_local $6) (i32.const 20) ) ) @@ -10006,7 +10113,7 @@ (i32.load (tee_local $0 (i32.add - (get_local $3) + (get_local $6) (i32.const 16) ) ) @@ -10014,7 +10121,7 @@ ) ) (block - (set_local $7 + (set_local $10 (i32.const 0) ) (br $do-once$21) @@ -10023,9 +10130,9 @@ ) (loop $while-in$24 (if - (tee_local $11 + (tee_local $3 (i32.load - (tee_local $6 + (tee_local $2 (i32.add (get_local $1) (i32.const 20) @@ -10035,18 +10142,18 @@ ) (block (set_local $1 - (get_local $11) + (get_local $3) ) (set_local $0 - (get_local $6) + (get_local $2) ) (br $while-in$24) ) ) (if - (tee_local $11 + (tee_local $3 (i32.load - (tee_local $6 + (tee_local $2 (i32.add (get_local $1) (i32.const 16) @@ -10056,10 +10163,10 @@ ) (block (set_local $1 - (get_local $11) + (get_local $3) ) (set_local $0 - (get_local $6) + (get_local $2) ) (br $while-in$24) ) @@ -10076,7 +10183,7 @@ (get_local $0) (i32.const 0) ) - (set_local $7 + (set_local $10 (get_local $1) ) ) @@ -10085,9 +10192,9 @@ (block (if (i32.lt_u - (tee_local $11 + (tee_local $3 (i32.load offset=8 - (get_local $3) + (get_local $6) ) ) (get_local $8) @@ -10097,14 +10204,14 @@ (if (i32.ne (i32.load - (tee_local $6 + (tee_local $2 (i32.add - (get_local $11) + (get_local $3) (i32.const 12) ) ) ) - (get_local $3) + (get_local $6) ) (call_import $_abort) ) @@ -10118,18 +10225,18 @@ ) ) ) - (get_local $3) + (get_local $6) ) (block (i32.store - (get_local $6) + (get_local $2) (get_local $0) ) (i32.store (get_local $1) - (get_local $11) + (get_local $3) ) - (set_local $7 + (set_local $10 (get_local $0) ) ) @@ -10140,11 +10247,11 @@ ) (block $do-once$25 (if - (get_local $9) + (get_local $5) (block (if (i32.eq - (get_local $3) + (get_local $6) (i32.load (tee_local $0 (i32.add @@ -10152,7 +10259,7 @@ (i32.shl (tee_local $1 (i32.load offset=28 - (get_local $3) + (get_local $6) ) ) (i32.const 2) @@ -10164,11 +10271,11 @@ (block (i32.store (get_local $0) - (get_local $7) + (get_local $10) ) (if (i32.eqz - (get_local $7) + (get_local $10) ) (block (i32.store @@ -10193,7 +10300,7 @@ (block (if (i32.lt_u - (get_local $9) + (get_local $5) (i32.load (i32.const 192) ) @@ -10205,32 +10312,32 @@ (i32.load (tee_local $0 (i32.add - (get_local $9) + (get_local $5) (i32.const 16) ) ) ) - (get_local $3) + (get_local $6) ) (i32.store (get_local $0) - (get_local $7) + (get_local $10) ) (i32.store offset=20 - (get_local $9) - (get_local $7) + (get_local $5) + (get_local $10) ) ) (br_if $do-once$25 (i32.eqz - (get_local $7) + (get_local $10) ) ) ) ) (if (i32.lt_u - (get_local $7) + (get_local $10) (tee_local $1 (i32.load (i32.const 192) @@ -10240,13 +10347,13 @@ (call_import $_abort) ) (i32.store offset=24 - (get_local $7) - (get_local $9) + (get_local $10) + (get_local $5) ) (if (tee_local $0 (i32.load offset=16 - (get_local $3) + (get_local $6) ) ) (if @@ -10257,12 +10364,12 @@ (call_import $_abort) (block (i32.store offset=16 - (get_local $7) + (get_local $10) (get_local $0) ) (i32.store offset=24 (get_local $0) - (get_local $7) + (get_local $10) ) ) ) @@ -10270,7 +10377,7 @@ (if (tee_local $0 (i32.load offset=20 - (get_local $3) + (get_local $6) ) ) (if @@ -10283,12 +10390,12 @@ (call_import $_abort) (block (i32.store offset=20 - (get_local $7) + (get_local $10) (get_local $0) ) (i32.store offset=24 (get_local $0) - (get_local $7) + (get_local $10) ) ) ) @@ -10299,17 +10406,17 @@ (block $do-once$29 (if (i32.lt_u - (get_local $4) + (get_local $7) (i32.const 16) ) (block (i32.store offset=4 - (get_local $3) + (get_local $6) (i32.or (tee_local $0 (i32.add - (get_local $4) - (get_local $2) + (get_local $7) + (get_local $9) ) ) (i32.const 3) @@ -10319,7 +10426,7 @@ (tee_local $0 (i32.add (i32.add - (get_local $3) + (get_local $6) (get_local $0) ) (i32.const 4) @@ -10335,35 +10442,35 @@ ) (block (i32.store offset=4 - (get_local $3) + (get_local $6) (i32.or - (get_local $2) + (get_local $9) (i32.const 3) ) ) (i32.store offset=4 - (get_local $5) + (get_local $4) (i32.or - (get_local $4) + (get_local $7) (i32.const 1) ) ) (i32.store (i32.add - (get_local $5) (get_local $4) + (get_local $7) ) - (get_local $4) + (get_local $7) ) (set_local $1 (i32.shr_u - (get_local $4) + (get_local $7) (i32.const 3) ) ) (if (i32.lt_u - (get_local $4) + (get_local $7) (i32.const 256) ) (block @@ -10411,10 +10518,10 @@ ) (call_import $_abort) (block - (set_local $13 + (set_local $20 (get_local $2) ) - (set_local $10 + (set_local $16 (get_local $1) ) ) @@ -10427,31 +10534,31 @@ (get_local $1) ) ) - (set_local $13 + (set_local $20 (i32.add (get_local $0) (i32.const 8) ) ) - (set_local $10 + (set_local $16 (get_local $0) ) ) ) (i32.store - (get_local $13) - (get_local $5) + (get_local $20) + (get_local $4) ) (i32.store offset=12 - (get_local $10) - (get_local $5) + (get_local $16) + (get_local $4) ) (i32.store offset=8 - (get_local $5) - (get_local $10) + (get_local $4) + (get_local $16) ) (i32.store offset=12 - (get_local $5) + (get_local $4) (get_local $0) ) (br $do-once$29) @@ -10465,20 +10572,20 @@ (if (tee_local $0 (i32.shr_u - (get_local $4) + (get_local $7) (i32.const 8) ) ) (if (i32.gt_u - (get_local $4) + (get_local $7) (i32.const 16777215) ) (i32.const 31) (i32.or (i32.and (i32.shr_u - (get_local $4) + (get_local $7) (i32.add (tee_local $0 (i32.add @@ -10563,13 +10670,13 @@ ) ) (i32.store offset=28 - (get_local $5) + (get_local $4) (get_local $2) ) (i32.store offset=4 (tee_local $0 (i32.add - (get_local $5) + (get_local $4) (i32.const 16) ) ) @@ -10582,7 +10689,7 @@ (if (i32.eqz (i32.and - (tee_local $6 + (tee_local $3 (i32.load (i32.const 180) ) @@ -10599,32 +10706,32 @@ (i32.store (i32.const 180) (i32.or - (get_local $6) + (get_local $3) (get_local $0) ) ) (i32.store (get_local $1) - (get_local $5) + (get_local $4) ) (i32.store offset=24 - (get_local $5) + (get_local $4) (get_local $1) ) (i32.store offset=12 - (get_local $5) - (get_local $5) + (get_local $4) + (get_local $4) ) (i32.store offset=8 - (get_local $5) - (get_local $5) + (get_local $4) + (get_local $4) ) (br $do-once$29) ) ) (set_local $2 (i32.shl - (get_local $4) + (get_local $7) (select (i32.const 0) (i32.sub @@ -10658,7 +10765,7 @@ ) (i32.const -8) ) - (get_local $4) + (get_local $7) ) ) (set_local $1 @@ -10668,7 +10775,7 @@ ) ) (if - (tee_local $6 + (tee_local $3 (i32.load (tee_local $2 (i32.add @@ -10692,7 +10799,7 @@ (get_local $1) ) (set_local $0 - (get_local $6) + (get_local $3) ) (br $while-in$32) ) @@ -10719,19 +10826,19 @@ (block (i32.store (get_local $0) - (get_local $5) + (get_local $4) ) (i32.store offset=24 - (get_local $5) + (get_local $4) (get_local $1) ) (i32.store offset=12 - (get_local $5) - (get_local $5) + (get_local $4) + (get_local $4) ) (i32.store offset=8 - (get_local $5) - (get_local $5) + (get_local $4) + (get_local $4) ) (br $do-once$29) ) @@ -10741,7 +10848,7 @@ (if (i32.and (i32.ge_u - (tee_local $4 + (tee_local $3 (i32.load (tee_local $1 (i32.add @@ -10764,23 +10871,23 @@ ) (block (i32.store offset=12 + (get_local $3) (get_local $4) - (get_local $5) ) (i32.store (get_local $1) - (get_local $5) + (get_local $4) ) (i32.store offset=8 - (get_local $5) (get_local $4) + (get_local $3) ) (i32.store offset=12 - (get_local $5) + (get_local $4) (get_local $0) ) (i32.store offset=24 - (get_local $5) + (get_local $4) (i32.const 0) ) ) @@ -10792,22 +10899,22 @@ ) (return (i32.add - (get_local $3) + (get_local $6) (i32.const 8) ) ) ) (set_local $0 - (get_local $2) + (get_local $9) ) ) (set_local $0 - (get_local $2) + (get_local $9) ) ) ) (set_local $0 - (get_local $2) + (get_local $9) ) ) ) @@ -10816,7 +10923,7 @@ ) (if (i32.ge_u - (tee_local $3 + (tee_local $2 (i32.load (i32.const 184) ) @@ -10824,7 +10931,7 @@ (get_local $0) ) (block - (set_local $2 + (set_local $3 (i32.load (i32.const 196) ) @@ -10833,7 +10940,7 @@ (i32.gt_u (tee_local $1 (i32.sub - (get_local $3) + (get_local $2) (get_local $0) ) ) @@ -10842,9 +10949,9 @@ (block (i32.store (i32.const 196) - (tee_local $3 + (tee_local $2 (i32.add - (get_local $2) + (get_local $3) (get_local $0) ) ) @@ -10854,7 +10961,7 @@ (get_local $1) ) (i32.store offset=4 - (get_local $3) + (get_local $2) (i32.or (get_local $1) (i32.const 1) @@ -10862,13 +10969,13 @@ ) (i32.store (i32.add - (get_local $3) + (get_local $2) (get_local $1) ) (get_local $1) ) (i32.store offset=4 - (get_local $2) + (get_local $3) (i32.or (get_local $0) (i32.const 3) @@ -10885,9 +10992,9 @@ (i32.const 0) ) (i32.store offset=4 - (get_local $2) + (get_local $3) (i32.or - (get_local $3) + (get_local $2) (i32.const 3) ) ) @@ -10895,8 +11002,8 @@ (tee_local $0 (i32.add (i32.add - (get_local $2) (get_local $3) + (get_local $2) ) (i32.const 4) ) @@ -10912,7 +11019,7 @@ ) (return (i32.add - (get_local $2) + (get_local $3) (i32.const 8) ) ) @@ -10939,9 +11046,9 @@ ) (i32.store (i32.const 200) - (tee_local $3 + (tee_local $2 (i32.add - (tee_local $2 + (tee_local $3 (i32.load (i32.const 200) ) @@ -10951,14 +11058,14 @@ ) ) (i32.store offset=4 - (get_local $3) + (get_local $2) (i32.or (get_local $1) (i32.const 1) ) ) (i32.store offset=4 - (get_local $2) + (get_local $3) (i32.or (get_local $0) (i32.const 3) @@ -10966,7 +11073,7 @@ ) (return (i32.add - (get_local $2) + (get_local $3) (i32.const 8) ) ) @@ -11039,16 +11146,16 @@ ) (if (i32.le_u - (tee_local $10 + (tee_local $9 (i32.and - (tee_local $5 + (tee_local $6 (i32.add (tee_local $1 (i32.load (i32.const 656) ) ) - (tee_local $7 + (tee_local $5 (i32.add (get_local $0) (i32.const 47) @@ -11056,7 +11163,7 @@ ) ) ) - (tee_local $3 + (tee_local $2 (i32.sub (i32.const 0) (get_local $1) @@ -11081,15 +11188,15 @@ (i32.le_u (tee_local $1 (i32.add - (tee_local $2 + (tee_local $3 (i32.load (i32.const 608) ) ) - (get_local $10) + (get_local $9) ) ) - (get_local $2) + (get_local $3) ) (i32.gt_u (get_local $1) @@ -11101,8 +11208,8 @@ ) ) ) - (block $jumpthreading$outer$13 - (block $jumpthreading$inner$13 + (block $jumpthreading$outer$12 + (block $jumpthreading$inner$12 (if (i32.eqz (i32.and @@ -11114,9 +11221,9 @@ ) (block (block $label$break$L279 - (block $jumpthreading$inner$5 - (block $jumpthreading$inner$4 - (br_if $jumpthreading$inner$4 + (block $jumpthreading$inner$4 + (block $jumpthreading$inner$3 + (br_if $jumpthreading$inner$3 (i32.eqz (tee_local $4 (i32.load @@ -11132,7 +11239,7 @@ (block $while-out$37 (if (i32.le_u - (tee_local $2 + (tee_local $3 (i32.load (get_local $1) ) @@ -11142,9 +11249,9 @@ (if (i32.gt_u (i32.add - (get_local $2) + (get_local $3) (i32.load - (tee_local $2 + (tee_local $3 (i32.add (get_local $1) (i32.const 4) @@ -11169,7 +11276,7 @@ ) ) ) - (br $jumpthreading$inner$4) + (br $jumpthreading$inner$3) ) ) (if @@ -11177,19 +11284,19 @@ (tee_local $1 (i32.and (i32.sub - (get_local $5) + (get_local $6) (i32.load (i32.const 188) ) ) - (get_local $3) + (get_local $2) ) ) (i32.const 2147483647) ) (if (i32.eq - (tee_local $3 + (tee_local $2 (call_import $_sbrk (get_local $1) ) @@ -11199,24 +11306,24 @@ (get_local $4) ) (i32.load - (get_local $2) + (get_local $3) ) ) ) - (br_if $jumpthreading$inner$13 + (br_if $jumpthreading$inner$12 (i32.ne - (get_local $3) + (get_local $2) (i32.const -1) ) ) - (br $jumpthreading$inner$5) + (br $jumpthreading$inner$4) ) ) (br $label$break$L279) ) (if (i32.ne - (tee_local $3 + (tee_local $2 (call_import $_sbrk (i32.const 0) ) @@ -11224,9 +11331,9 @@ (i32.const -1) ) (block - (set_local $2 + (set_local $3 (i32.add - (tee_local $5 + (tee_local $6 (i32.load (i32.const 608) ) @@ -11234,7 +11341,7 @@ (tee_local $1 (if (i32.and - (tee_local $2 + (tee_local $3 (i32.add (tee_local $4 (i32.load @@ -11245,17 +11352,17 @@ ) ) (tee_local $1 - (get_local $3) + (get_local $2) ) ) (i32.add (i32.sub - (get_local $10) + (get_local $9) (get_local $1) ) (i32.and (i32.add - (get_local $2) + (get_local $3) (get_local $1) ) (i32.sub @@ -11264,7 +11371,7 @@ ) ) ) - (get_local $10) + (get_local $9) ) ) ) @@ -11290,31 +11397,31 @@ (br_if $label$break$L279 (i32.or (i32.le_u - (get_local $2) - (get_local $5) + (get_local $3) + (get_local $6) ) (i32.gt_u - (get_local $2) + (get_local $3) (get_local $4) ) ) ) ) - (br_if $jumpthreading$inner$13 + (br_if $jumpthreading$inner$12 (i32.eq - (tee_local $2 + (tee_local $3 (call_import $_sbrk (get_local $1) ) ) - (get_local $3) + (get_local $2) ) ) (block - (set_local $3 - (get_local $2) + (set_local $2 + (get_local $3) ) - (br $jumpthreading$inner$5) + (br $jumpthreading$inner$4) ) ) ) @@ -11322,7 +11429,7 @@ ) (br $label$break$L279) ) - (set_local $2 + (set_local $3 (i32.sub (i32.const 0) (get_local $1) @@ -11340,7 +11447,7 @@ (i32.const 2147483647) ) (i32.ne - (get_local $3) + (get_local $2) (i32.const -1) ) ) @@ -11351,7 +11458,7 @@ (i32.and (i32.add (i32.sub - (get_local $7) + (get_local $5) (get_local $1) ) (tee_local $4 @@ -11378,7 +11485,7 @@ (block (drop (call_import $_sbrk - (get_local $2) + (get_local $3) ) ) (br $label$break$L279) @@ -11392,9 +11499,9 @@ ) ) ) - (br_if $jumpthreading$inner$13 + (br_if $jumpthreading$inner$12 (i32.ne - (get_local $3) + (get_local $2) (i32.const -1) ) ) @@ -11412,15 +11519,15 @@ ) (if (i32.lt_u - (get_local $10) + (get_local $9) (i32.const 2147483647) ) (if (i32.and (i32.lt_u - (tee_local $3 + (tee_local $2 (call_import $_sbrk - (get_local $10) + (get_local $9) ) ) (tee_local $1 @@ -11431,7 +11538,7 @@ ) (i32.and (i32.ne - (get_local $3) + (get_local $2) (i32.const -1) ) (i32.ne @@ -11440,12 +11547,12 @@ ) ) ) - (br_if $jumpthreading$inner$13 + (br_if $jumpthreading$inner$12 (i32.gt_u (tee_local $1 (i32.sub (get_local $1) - (get_local $3) + (get_local $2) ) ) (i32.add @@ -11456,11 +11563,11 @@ ) ) ) - (br $jumpthreading$outer$13) + (br $jumpthreading$outer$12) ) (i32.store (i32.const 608) - (tee_local $2 + (tee_local $3 (i32.add (i32.load (i32.const 608) @@ -11471,44 +11578,44 @@ ) (if (i32.gt_u - (get_local $2) + (get_local $3) (i32.load (i32.const 612) ) ) (i32.store (i32.const 612) - (get_local $2) + (get_local $3) ) ) (block $do-once$44 (if - (tee_local $8 + (tee_local $7 (i32.load (i32.const 200) ) ) (block - (set_local $2 + (set_local $3 (i32.const 624) ) - (block $jumpthreading$outer$10 - (block $jumpthreading$inner$10 + (block $jumpthreading$outer$9 + (block $jumpthreading$inner$9 (loop $while-in$49 - (br_if $jumpthreading$inner$10 + (br_if $jumpthreading$inner$9 (i32.eq - (get_local $3) + (get_local $2) (i32.add - (tee_local $10 + (tee_local $9 (i32.load - (get_local $2) + (get_local $3) ) ) - (tee_local $7 + (tee_local $5 (i32.load (tee_local $4 (i32.add - (get_local $2) + (get_local $3) (i32.const 4) ) ) @@ -11518,20 +11625,20 @@ ) ) (br_if $while-in$49 - (tee_local $2 + (tee_local $3 (i32.load offset=8 - (get_local $2) + (get_local $3) ) ) ) ) - (br $jumpthreading$outer$10) + (br $jumpthreading$outer$9) ) (if (i32.eqz (i32.and (i32.load offset=12 - (get_local $2) + (get_local $3) ) (i32.const 8) ) @@ -11539,33 +11646,33 @@ (if (i32.and (i32.lt_u - (get_local $8) - (get_local $3) + (get_local $7) + (get_local $2) ) (i32.ge_u - (get_local $8) - (get_local $10) + (get_local $7) + (get_local $9) ) ) (block (i32.store (get_local $4) (i32.add - (get_local $7) + (get_local $5) (get_local $1) ) ) - (set_local $2 + (set_local $3 (i32.add - (get_local $8) - (tee_local $3 + (get_local $7) + (tee_local $2 (select (i32.and (i32.sub (i32.const 0) - (tee_local $3 + (tee_local $2 (i32.add - (get_local $8) + (get_local $7) (i32.const 8) ) ) @@ -11574,7 +11681,7 @@ ) (i32.const 0) (i32.and - (get_local $3) + (get_local $2) (i32.const 7) ) ) @@ -11585,7 +11692,7 @@ (i32.add (i32.sub (get_local $1) - (get_local $3) + (get_local $2) ) (i32.load (i32.const 188) @@ -11594,14 +11701,14 @@ ) (i32.store (i32.const 200) - (get_local $2) + (get_local $3) ) (i32.store (i32.const 188) (get_local $1) ) (i32.store offset=4 - (get_local $2) + (get_local $3) (i32.or (get_local $1) (i32.const 1) @@ -11609,7 +11716,7 @@ ) (i32.store offset=4 (i32.add - (get_local $2) + (get_local $3) (get_local $1) ) (i32.const 40) @@ -11625,11 +11732,11 @@ ) ) ) - (set_local $12 + (set_local $10 (if (i32.lt_u - (get_local $3) - (tee_local $2 + (get_local $2) + (tee_local $3 (i32.load (i32.const 192) ) @@ -11638,43 +11745,43 @@ (block (i32.store (i32.const 192) - (get_local $3) + (get_local $2) ) - (get_local $3) + (get_local $2) ) - (get_local $2) + (get_local $3) ) ) - (set_local $7 + (set_local $5 (i32.add - (get_local $3) + (get_local $2) (get_local $1) ) ) - (set_local $2 + (set_local $3 (i32.const 624) ) - (block $jumpthreading$outer$11 - (block $jumpthreading$inner$11 + (block $jumpthreading$outer$10 + (block $jumpthreading$inner$10 (loop $while-in$51 (if (i32.eq (i32.load - (get_local $2) + (get_local $3) ) - (get_local $7) + (get_local $5) ) (block (set_local $4 - (get_local $2) + (get_local $3) ) - (br $jumpthreading$inner$11) + (br $jumpthreading$inner$10) ) ) (br_if $while-in$51 - (tee_local $2 + (tee_local $3 (i32.load offset=8 - (get_local $2) + (get_local $3) ) ) ) @@ -11682,12 +11789,12 @@ (i32.const 624) ) ) - (br $jumpthreading$outer$11) + (br $jumpthreading$outer$10) ) (if (i32.and (i32.load offset=12 - (get_local $2) + (get_local $3) ) (i32.const 8) ) @@ -11697,34 +11804,34 @@ (block (i32.store (get_local $4) - (get_local $3) + (get_local $2) ) (i32.store - (tee_local $2 + (tee_local $3 (i32.add - (get_local $2) + (get_local $3) (i32.const 4) ) ) (i32.add (i32.load - (get_local $2) + (get_local $3) ) (get_local $1) ) ) - (set_local $5 + (set_local $6 (i32.add - (tee_local $10 + (tee_local $9 (i32.add - (get_local $3) + (get_local $2) (select (i32.and (i32.sub (i32.const 0) (tee_local $1 (i32.add - (get_local $3) + (get_local $2) (i32.const 8) ) ) @@ -11742,19 +11849,19 @@ (get_local $0) ) ) - (set_local $3 + (set_local $2 (i32.sub (i32.sub - (tee_local $9 + (tee_local $8 (i32.add - (get_local $7) + (get_local $5) (select (i32.and (i32.sub (i32.const 0) (tee_local $1 (i32.add - (get_local $7) + (get_local $5) (i32.const 8) ) ) @@ -11769,13 +11876,13 @@ ) ) ) - (get_local $10) + (get_local $9) ) (get_local $0) ) ) (i32.store offset=4 - (get_local $10) + (get_local $9) (i32.or (get_local $0) (i32.const 3) @@ -11784,8 +11891,8 @@ (block $do-once$52 (if (i32.eq - (get_local $9) (get_local $8) + (get_local $7) ) (block (i32.store @@ -11795,16 +11902,16 @@ (i32.load (i32.const 188) ) - (get_local $3) + (get_local $2) ) ) ) (i32.store (i32.const 200) - (get_local $5) + (get_local $6) ) (i32.store offset=4 - (get_local $5) + (get_local $6) (i32.or (get_local $0) (i32.const 1) @@ -11814,7 +11921,7 @@ (block (if (i32.eq - (get_local $9) + (get_local $8) (i32.load (i32.const 196) ) @@ -11827,16 +11934,16 @@ (i32.load (i32.const 184) ) - (get_local $3) + (get_local $2) ) ) ) (i32.store (i32.const 196) - (get_local $5) + (get_local $6) ) (i32.store offset=4 - (get_local $5) + (get_local $6) (i32.or (get_local $0) (i32.const 1) @@ -11844,7 +11951,7 @@ ) (i32.store (i32.add - (get_local $5) + (get_local $6) (get_local $0) ) (get_local $0) @@ -11860,7 +11967,7 @@ (i32.and (tee_local $1 (i32.load offset=4 - (get_local $9) + (get_local $8) ) ) (i32.const 3) @@ -11868,7 +11975,7 @@ (i32.const 1) ) (block - (set_local $7 + (set_local $5 (i32.and (get_local $1) (i32.const -8) @@ -11887,9 +11994,9 @@ (i32.const 256) ) (block - (set_local $2 + (set_local $3 (i32.load offset=12 - (get_local $9) + (get_local $8) ) ) (block $do-once$55 @@ -11897,7 +12004,7 @@ (i32.ne (tee_local $4 (i32.load offset=8 - (get_local $9) + (get_local $8) ) ) (tee_local $1 @@ -11917,7 +12024,7 @@ (if (i32.lt_u (get_local $4) - (get_local $12) + (get_local $10) ) (call_import $_abort) ) @@ -11926,7 +12033,7 @@ (i32.load offset=12 (get_local $4) ) - (get_local $9) + (get_local $8) ) ) (call_import $_abort) @@ -11935,7 +12042,7 @@ ) (if (i32.eq - (get_local $2) + (get_local $3) (get_local $4) ) (block @@ -11960,20 +12067,20 @@ (block $do-once$57 (if (i32.eq - (get_local $2) + (get_local $3) (get_local $1) ) - (set_local $15 + (set_local $21 (i32.add - (get_local $2) + (get_local $3) (i32.const 8) ) ) (block (if (i32.lt_u - (get_local $2) - (get_local $12) + (get_local $3) + (get_local $10) ) (call_import $_abort) ) @@ -11982,15 +12089,15 @@ (i32.load (tee_local $0 (i32.add - (get_local $2) + (get_local $3) (i32.const 8) ) ) ) - (get_local $9) + (get_local $8) ) (block - (set_local $15 + (set_local $21 (get_local $0) ) (br $do-once$57) @@ -12002,17 +12109,17 @@ ) (i32.store offset=12 (get_local $4) - (get_local $2) + (get_local $3) ) (i32.store - (get_local $15) + (get_local $21) (get_local $4) ) ) (block - (set_local $8 + (set_local $7 (i32.load offset=24 - (get_local $9) + (get_local $8) ) ) (block $do-once$59 @@ -12020,20 +12127,20 @@ (i32.eq (tee_local $0 (i32.load offset=12 - (get_local $9) + (get_local $8) ) ) - (get_local $9) + (get_local $8) ) (block (if (tee_local $1 (i32.load - (tee_local $2 + (tee_local $3 (i32.add (tee_local $0 (i32.add - (get_local $9) + (get_local $8) (i32.const 16) ) ) @@ -12043,7 +12150,7 @@ ) ) (set_local $0 - (get_local $2) + (get_local $3) ) (if (i32.eqz @@ -12054,7 +12161,7 @@ ) ) (block - (set_local $6 + (set_local $11 (i32.const 0) ) (br $do-once$59) @@ -12065,7 +12172,7 @@ (if (tee_local $4 (i32.load - (tee_local $2 + (tee_local $3 (i32.add (get_local $1) (i32.const 20) @@ -12078,7 +12185,7 @@ (get_local $4) ) (set_local $0 - (get_local $2) + (get_local $3) ) (br $while-in$62) ) @@ -12086,7 +12193,7 @@ (if (tee_local $4 (i32.load - (tee_local $2 + (tee_local $3 (i32.add (get_local $1) (i32.const 16) @@ -12099,7 +12206,7 @@ (get_local $4) ) (set_local $0 - (get_local $2) + (get_local $3) ) (br $while-in$62) ) @@ -12108,7 +12215,7 @@ (if (i32.lt_u (get_local $0) - (get_local $12) + (get_local $10) ) (call_import $_abort) (block @@ -12116,7 +12223,7 @@ (get_local $0) (i32.const 0) ) - (set_local $6 + (set_local $11 (get_local $1) ) ) @@ -12127,24 +12234,24 @@ (i32.lt_u (tee_local $4 (i32.load offset=8 - (get_local $9) + (get_local $8) ) ) - (get_local $12) + (get_local $10) ) (call_import $_abort) ) (if (i32.ne (i32.load - (tee_local $2 + (tee_local $3 (i32.add (get_local $4) (i32.const 12) ) ) ) - (get_local $9) + (get_local $8) ) (call_import $_abort) ) @@ -12158,18 +12265,18 @@ ) ) ) - (get_local $9) + (get_local $8) ) (block (i32.store - (get_local $2) + (get_local $3) (get_local $0) ) (i32.store (get_local $1) (get_local $4) ) - (set_local $6 + (set_local $11 (get_local $0) ) ) @@ -12180,13 +12287,13 @@ ) (br_if $label$break$L331 (i32.eqz - (get_local $8) + (get_local $7) ) ) (block $do-once$63 (if (i32.eq - (get_local $9) + (get_local $8) (i32.load (tee_local $0 (i32.add @@ -12194,7 +12301,7 @@ (i32.shl (tee_local $1 (i32.load offset=28 - (get_local $9) + (get_local $8) ) ) (i32.const 2) @@ -12206,10 +12313,10 @@ (block (i32.store (get_local $0) - (get_local $6) + (get_local $11) ) (br_if $do-once$63 - (get_local $6) + (get_local $11) ) (i32.store (i32.const 180) @@ -12231,7 +12338,7 @@ (block (if (i32.lt_u - (get_local $8) + (get_local $7) (i32.load (i32.const 192) ) @@ -12243,25 +12350,25 @@ (i32.load (tee_local $0 (i32.add - (get_local $8) + (get_local $7) (i32.const 16) ) ) ) - (get_local $9) + (get_local $8) ) (i32.store (get_local $0) - (get_local $6) + (get_local $11) ) (i32.store offset=20 - (get_local $8) - (get_local $6) + (get_local $7) + (get_local $11) ) ) (br_if $label$break$L331 (i32.eqz - (get_local $6) + (get_local $11) ) ) ) @@ -12269,8 +12376,8 @@ ) (if (i32.lt_u - (get_local $6) - (tee_local $2 + (get_local $11) + (tee_local $3 (i32.load (i32.const 192) ) @@ -12279,15 +12386,15 @@ (call_import $_abort) ) (i32.store offset=24 - (get_local $6) - (get_local $8) + (get_local $11) + (get_local $7) ) (if (tee_local $1 (i32.load (tee_local $0 (i32.add - (get_local $9) + (get_local $8) (i32.const 16) ) ) @@ -12296,17 +12403,17 @@ (if (i32.lt_u (get_local $1) - (get_local $2) + (get_local $3) ) (call_import $_abort) (block (i32.store offset=16 - (get_local $6) + (get_local $11) (get_local $1) ) (i32.store offset=24 (get_local $1) - (get_local $6) + (get_local $11) ) ) ) @@ -12330,30 +12437,30 @@ (call_import $_abort) (block (i32.store offset=20 - (get_local $6) + (get_local $11) (get_local $0) ) (i32.store offset=24 (get_local $0) - (get_local $6) + (get_local $11) ) ) ) ) ) ) - (set_local $3 + (set_local $2 (i32.add - (get_local $7) - (get_local $3) + (get_local $5) + (get_local $2) ) ) (i32.add - (get_local $9) - (get_local $7) + (get_local $8) + (get_local $5) ) ) - (get_local $9) + (get_local $8) ) (i32.const 4) ) @@ -12366,28 +12473,28 @@ ) ) (i32.store offset=4 - (get_local $5) + (get_local $6) (i32.or - (get_local $3) + (get_local $2) (i32.const 1) ) ) (i32.store (i32.add - (get_local $5) - (get_local $3) + (get_local $6) + (get_local $2) ) - (get_local $3) + (get_local $2) ) (set_local $1 (i32.shr_u - (get_local $3) + (get_local $2) (i32.const 3) ) ) (if (i32.lt_u - (get_local $3) + (get_local $2) (i32.const 256) ) (block @@ -12406,7 +12513,7 @@ (block $do-once$67 (if (i32.and - (tee_local $3 + (tee_local $2 (i32.load (i32.const 176) ) @@ -12423,7 +12530,7 @@ (i32.ge_u (tee_local $1 (i32.load - (tee_local $3 + (tee_local $2 (i32.add (get_local $0) (i32.const 8) @@ -12436,10 +12543,10 @@ ) ) (block - (set_local $16 - (get_local $3) + (set_local $22 + (get_local $2) ) - (set_local $11 + (set_local $17 (get_local $1) ) (br $do-once$67) @@ -12451,36 +12558,36 @@ (i32.store (i32.const 176) (i32.or - (get_local $3) + (get_local $2) (get_local $1) ) ) - (set_local $16 + (set_local $22 (i32.add (get_local $0) (i32.const 8) ) ) - (set_local $11 + (set_local $17 (get_local $0) ) ) ) ) (i32.store - (get_local $16) - (get_local $5) + (get_local $22) + (get_local $6) ) (i32.store offset=12 - (get_local $11) - (get_local $5) + (get_local $17) + (get_local $6) ) (i32.store offset=8 - (get_local $5) - (get_local $11) + (get_local $6) + (get_local $17) ) (i32.store offset=12 - (get_local $5) + (get_local $6) (get_local $0) ) (br $do-once$52) @@ -12490,12 +12597,12 @@ (i32.add (i32.const 480) (i32.shl - (tee_local $2 + (tee_local $3 (block $do-once$69 (if (tee_local $0 (i32.shr_u - (get_local $3) + (get_local $2) (i32.const 8) ) ) @@ -12503,14 +12610,14 @@ (br_if $do-once$69 (i32.const 31) (i32.gt_u - (get_local $3) + (get_local $2) (i32.const 16777215) ) ) (i32.or (i32.and (i32.shr_u - (get_local $3) + (get_local $2) (i32.add (tee_local $0 (i32.add @@ -12525,7 +12632,7 @@ (tee_local $0 (i32.shl (get_local $0) - (tee_local $2 + (tee_local $3 (i32.and (i32.shr_u (i32.add @@ -12546,7 +12653,7 @@ (i32.const 4) ) ) - (get_local $2) + (get_local $3) ) (tee_local $1 (i32.and @@ -12596,13 +12703,13 @@ ) ) (i32.store offset=28 - (get_local $5) - (get_local $2) + (get_local $6) + (get_local $3) ) (i32.store offset=4 (tee_local $0 (i32.add - (get_local $5) + (get_local $6) (i32.const 16) ) ) @@ -12623,7 +12730,7 @@ (tee_local $0 (i32.shl (i32.const 1) - (get_local $2) + (get_local $3) ) ) ) @@ -12638,37 +12745,37 @@ ) (i32.store (get_local $1) - (get_local $5) + (get_local $6) ) (i32.store offset=24 - (get_local $5) + (get_local $6) (get_local $1) ) (i32.store offset=12 - (get_local $5) - (get_local $5) + (get_local $6) + (get_local $6) ) (i32.store offset=8 - (get_local $5) - (get_local $5) + (get_local $6) + (get_local $6) ) (br $do-once$52) ) ) - (set_local $2 + (set_local $3 (i32.shl - (get_local $3) + (get_local $2) (select (i32.const 0) (i32.sub (i32.const 25) (i32.shr_u - (get_local $2) + (get_local $3) (i32.const 1) ) ) (i32.eq - (get_local $2) + (get_local $3) (i32.const 31) ) ) @@ -12679,11 +12786,11 @@ (get_local $1) ) ) - (block $jumpthreading$outer$7 - (block $jumpthreading$inner$7 - (block $jumpthreading$inner$6 + (block $jumpthreading$outer$6 + (block $jumpthreading$inner$6 + (block $jumpthreading$inner$5 (loop $while-in$72 - (br_if $jumpthreading$inner$7 + (br_if $jumpthreading$inner$6 (i32.eq (i32.and (i32.load offset=4 @@ -12691,19 +12798,19 @@ ) (i32.const -8) ) - (get_local $3) + (get_local $2) ) ) (set_local $1 (i32.shl - (get_local $2) + (get_local $3) (i32.const 1) ) ) (if (tee_local $4 (i32.load - (tee_local $2 + (tee_local $3 (i32.add (i32.add (get_local $0) @@ -12711,7 +12818,7 @@ ) (i32.shl (i32.shr_u - (get_local $2) + (get_local $3) (i32.const 31) ) (i32.const 2) @@ -12721,7 +12828,7 @@ ) ) (block - (set_local $2 + (set_local $3 (get_local $1) ) (set_local $0 @@ -12734,9 +12841,9 @@ (get_local $0) ) (set_local $0 - (get_local $2) + (get_local $3) ) - (br $jumpthreading$inner$6) + (br $jumpthreading$inner$5) ) ) ) @@ -12752,29 +12859,29 @@ (block (i32.store (get_local $0) - (get_local $5) + (get_local $6) ) (i32.store offset=24 - (get_local $5) + (get_local $6) (get_local $1) ) (i32.store offset=12 - (get_local $5) - (get_local $5) + (get_local $6) + (get_local $6) ) (i32.store offset=8 - (get_local $5) - (get_local $5) + (get_local $6) + (get_local $6) ) (br $do-once$52) ) ) - (br $jumpthreading$outer$7) + (br $jumpthreading$outer$6) ) (if (i32.and (i32.ge_u - (tee_local $2 + (tee_local $3 (i32.load (tee_local $1 (i32.add @@ -12784,7 +12891,7 @@ ) ) ) - (tee_local $3 + (tee_local $2 (i32.load (i32.const 192) ) @@ -12792,28 +12899,28 @@ ) (i32.ge_u (get_local $0) - (get_local $3) + (get_local $2) ) ) (block (i32.store offset=12 - (get_local $2) - (get_local $5) + (get_local $3) + (get_local $6) ) (i32.store (get_local $1) - (get_local $5) + (get_local $6) ) (i32.store offset=8 - (get_local $5) - (get_local $2) + (get_local $6) + (get_local $3) ) (i32.store offset=12 - (get_local $5) + (get_local $6) (get_local $0) ) (i32.store offset=24 - (get_local $5) + (get_local $6) (i32.const 0) ) ) @@ -12825,7 +12932,7 @@ ) (return (i32.add - (get_local $10) + (get_local $9) (i32.const 8) ) ) @@ -12836,24 +12943,24 @@ (block $while-out$73 (if (i32.le_u - (tee_local $2 + (tee_local $3 (i32.load (get_local $4) ) ) - (get_local $8) + (get_local $7) ) (br_if $while-out$73 (i32.gt_u - (tee_local $2 + (tee_local $3 (i32.add - (get_local $2) + (get_local $3) (i32.load offset=4 (get_local $4) ) ) ) - (get_local $8) + (get_local $7) ) ) ) @@ -12865,22 +12972,22 @@ (br $while-in$74) ) ) - (set_local $6 + (set_local $5 (i32.add (tee_local $4 (i32.add - (get_local $2) + (get_local $3) (i32.const -47) ) ) (i32.const 8) ) ) - (set_local $11 + (set_local $8 (i32.add - (tee_local $7 + (tee_local $9 (select - (get_local $8) + (get_local $7) (tee_local $4 (i32.add (get_local $4) @@ -12888,13 +12995,13 @@ (i32.and (i32.sub (i32.const 0) - (get_local $6) + (get_local $5) ) (i32.const 7) ) (i32.const 0) (i32.and - (get_local $6) + (get_local $5) (i32.const 7) ) ) @@ -12902,9 +13009,9 @@ ) (i32.lt_u (get_local $4) - (tee_local $10 + (tee_local $6 (i32.add - (get_local $8) + (get_local $7) (i32.const 16) ) ) @@ -12916,9 +13023,9 @@ ) (i32.store (i32.const 200) - (tee_local $6 + (tee_local $5 (i32.add - (get_local $3) + (get_local $2) (tee_local $4 (select (i32.and @@ -12926,7 +13033,7 @@ (i32.const 0) (tee_local $4 (i32.add - (get_local $3) + (get_local $2) (i32.const 8) ) ) @@ -12956,7 +13063,7 @@ ) ) (i32.store offset=4 - (get_local $6) + (get_local $5) (i32.or (get_local $4) (i32.const 1) @@ -12964,7 +13071,7 @@ ) (i32.store offset=4 (i32.add - (get_local $6) + (get_local $5) (get_local $4) ) (i32.const 40) @@ -12978,39 +13085,39 @@ (i32.store (tee_local $4 (i32.add - (get_local $7) + (get_local $9) (i32.const 4) ) ) (i32.const 27) ) (i32.store - (get_local $11) + (get_local $8) (i32.load (i32.const 624) ) ) (i32.store offset=4 - (get_local $11) + (get_local $8) (i32.load (i32.const 628) ) ) (i32.store offset=8 - (get_local $11) + (get_local $8) (i32.load (i32.const 632) ) ) (i32.store offset=12 - (get_local $11) + (get_local $8) (i32.load (i32.const 636) ) ) (i32.store (i32.const 624) - (get_local $3) + (get_local $2) ) (i32.store (i32.const 628) @@ -13022,11 +13129,11 @@ ) (i32.store (i32.const 632) - (get_local $11) + (get_local $8) ) (set_local $1 (i32.add - (get_local $7) + (get_local $9) (i32.const 24) ) ) @@ -13046,14 +13153,14 @@ (get_local $1) (i32.const 4) ) - (get_local $2) + (get_local $3) ) ) ) (if (i32.ne + (get_local $9) (get_local $7) - (get_local $8) ) (block (i32.store @@ -13066,30 +13173,30 @@ ) ) (i32.store offset=4 - (get_local $8) + (get_local $7) (i32.or - (tee_local $6 + (tee_local $5 (i32.sub + (get_local $9) (get_local $7) - (get_local $8) ) ) (i32.const 1) ) ) (i32.store - (get_local $7) - (get_local $6) + (get_local $9) + (get_local $5) ) - (set_local $3 + (set_local $2 (i32.shr_u - (get_local $6) + (get_local $5) (i32.const 3) ) ) (if (i32.lt_u - (get_local $6) + (get_local $5) (i32.const 256) ) (block @@ -13098,7 +13205,7 @@ (i32.const 216) (i32.shl (i32.shl - (get_local $3) + (get_local $2) (i32.const 1) ) (i32.const 2) @@ -13107,23 +13214,23 @@ ) (if (i32.and - (tee_local $2 + (tee_local $3 (i32.load (i32.const 176) ) ) - (tee_local $3 + (tee_local $2 (i32.shl (i32.const 1) - (get_local $3) + (get_local $2) ) ) ) (if (i32.lt_u - (tee_local $3 + (tee_local $2 (i32.load - (tee_local $2 + (tee_local $3 (i32.add (get_local $1) (i32.const 8) @@ -13137,74 +13244,74 @@ ) (call_import $_abort) (block - (set_local $17 - (get_local $2) - ) - (set_local $9 + (set_local $23 (get_local $3) ) + (set_local $18 + (get_local $2) + ) ) ) (block (i32.store (i32.const 176) (i32.or - (get_local $2) (get_local $3) + (get_local $2) ) ) - (set_local $17 + (set_local $23 (i32.add (get_local $1) (i32.const 8) ) ) - (set_local $9 + (set_local $18 (get_local $1) ) ) ) (i32.store - (get_local $17) - (get_local $8) + (get_local $23) + (get_local $7) ) (i32.store offset=12 - (get_local $9) - (get_local $8) + (get_local $18) + (get_local $7) ) (i32.store offset=8 - (get_local $8) - (get_local $9) + (get_local $7) + (get_local $18) ) (i32.store offset=12 - (get_local $8) + (get_local $7) (get_local $1) ) (br $do-once$44) ) ) - (set_local $3 + (set_local $2 (i32.add (i32.const 480) (i32.shl - (tee_local $2 + (tee_local $3 (if (tee_local $1 (i32.shr_u - (get_local $6) + (get_local $5) (i32.const 8) ) ) (if (i32.gt_u - (get_local $6) + (get_local $5) (i32.const 16777215) ) (i32.const 31) (i32.or (i32.and (i32.shr_u - (get_local $6) + (get_local $5) (i32.add (tee_local $1 (i32.add @@ -13212,14 +13319,14 @@ (i32.const 14) (i32.or (i32.or - (tee_local $3 + (tee_local $2 (i32.and (i32.shr_u (i32.add (tee_local $1 (i32.shl (get_local $1) - (tee_local $2 + (tee_local $3 (i32.and (i32.shr_u (i32.add @@ -13240,16 +13347,16 @@ (i32.const 4) ) ) - (get_local $2) + (get_local $3) ) - (tee_local $3 + (tee_local $2 (i32.and (i32.shr_u (i32.add (tee_local $1 (i32.shl (get_local $1) - (get_local $3) + (get_local $2) ) ) (i32.const 245760) @@ -13264,7 +13371,7 @@ (i32.shr_u (i32.shl (get_local $1) - (get_local $3) + (get_local $2) ) (i32.const 15) ) @@ -13289,15 +13396,15 @@ ) ) (i32.store offset=28 - (get_local $8) - (get_local $2) + (get_local $7) + (get_local $3) ) (i32.store offset=20 - (get_local $8) + (get_local $7) (i32.const 0) ) (i32.store - (get_local $10) + (get_local $6) (i32.const 0) ) (if @@ -13311,7 +13418,7 @@ (tee_local $1 (i32.shl (i32.const 1) - (get_local $2) + (get_local $3) ) ) ) @@ -13325,38 +13432,38 @@ ) ) (i32.store - (get_local $3) - (get_local $8) + (get_local $2) + (get_local $7) ) (i32.store offset=24 - (get_local $8) - (get_local $3) + (get_local $7) + (get_local $2) ) (i32.store offset=12 - (get_local $8) - (get_local $8) + (get_local $7) + (get_local $7) ) (i32.store offset=8 - (get_local $8) - (get_local $8) + (get_local $7) + (get_local $7) ) (br $do-once$44) ) ) - (set_local $2 + (set_local $3 (i32.shl - (get_local $6) + (get_local $5) (select (i32.const 0) (i32.sub (i32.const 25) (i32.shr_u - (get_local $2) + (get_local $3) (i32.const 1) ) ) (i32.eq - (get_local $2) + (get_local $3) (i32.const 31) ) ) @@ -13364,14 +13471,14 @@ ) (set_local $1 (i32.load - (get_local $3) + (get_local $2) ) ) - (block $jumpthreading$outer$9 - (block $jumpthreading$inner$9 - (block $jumpthreading$inner$8 + (block $jumpthreading$outer$8 + (block $jumpthreading$inner$8 + (block $jumpthreading$inner$7 (loop $while-in$78 - (br_if $jumpthreading$inner$9 + (br_if $jumpthreading$inner$8 (i32.eq (i32.and (i32.load offset=4 @@ -13379,19 +13486,19 @@ ) (i32.const -8) ) - (get_local $6) + (get_local $5) ) ) - (set_local $3 + (set_local $2 (i32.shl - (get_local $2) + (get_local $3) (i32.const 1) ) ) (if (tee_local $4 (i32.load - (tee_local $2 + (tee_local $3 (i32.add (i32.add (get_local $1) @@ -13399,7 +13506,7 @@ ) (i32.shl (i32.shr_u - (get_local $2) + (get_local $3) (i32.const 31) ) (i32.const 2) @@ -13409,8 +13516,8 @@ ) ) (block - (set_local $2 - (get_local $3) + (set_local $3 + (get_local $2) ) (set_local $1 (get_local $4) @@ -13418,13 +13525,13 @@ (br $while-in$78) ) (block - (set_local $3 + (set_local $2 (get_local $1) ) (set_local $1 - (get_local $2) + (get_local $3) ) - (br $jumpthreading$inner$8) + (br $jumpthreading$inner$7) ) ) ) @@ -13440,31 +13547,31 @@ (block (i32.store (get_local $1) - (get_local $8) + (get_local $7) ) (i32.store offset=24 - (get_local $8) - (get_local $3) + (get_local $7) + (get_local $2) ) (i32.store offset=12 - (get_local $8) - (get_local $8) + (get_local $7) + (get_local $7) ) (i32.store offset=8 - (get_local $8) - (get_local $8) + (get_local $7) + (get_local $7) ) (br $do-once$44) ) ) - (br $jumpthreading$outer$9) + (br $jumpthreading$outer$8) ) (if (i32.and (i32.ge_u (tee_local $4 (i32.load - (tee_local $3 + (tee_local $2 (i32.add (get_local $1) (i32.const 8) @@ -13472,7 +13579,7 @@ ) ) ) - (tee_local $2 + (tee_local $3 (i32.load (i32.const 192) ) @@ -13480,28 +13587,28 @@ ) (i32.ge_u (get_local $1) - (get_local $2) + (get_local $3) ) ) (block (i32.store offset=12 (get_local $4) - (get_local $8) + (get_local $7) ) (i32.store - (get_local $3) - (get_local $8) + (get_local $2) + (get_local $7) ) (i32.store offset=8 - (get_local $8) + (get_local $7) (get_local $4) ) (i32.store offset=12 - (get_local $8) + (get_local $7) (get_local $1) ) (i32.store offset=24 - (get_local $8) + (get_local $7) (i32.const 0) ) ) @@ -13515,25 +13622,25 @@ (if (i32.or (i32.eqz - (tee_local $2 + (tee_local $3 (i32.load (i32.const 192) ) ) ) (i32.lt_u - (get_local $3) (get_local $2) + (get_local $3) ) ) (i32.store (i32.const 192) - (get_local $3) + (get_local $2) ) ) (i32.store (i32.const 624) - (get_local $3) + (get_local $2) ) (i32.store (i32.const 628) @@ -13553,7 +13660,7 @@ (i32.const 208) (i32.const -1) ) - (set_local $2 + (set_local $3 (i32.const 0) ) (loop $while-in$47 @@ -13563,7 +13670,7 @@ (i32.const 216) (i32.shl (i32.shl - (get_local $2) + (get_local $3) (i32.const 1) ) (i32.const 2) @@ -13578,9 +13685,9 @@ ) (br_if $while-in$47 (i32.ne - (tee_local $2 + (tee_local $3 (i32.add - (get_local $2) + (get_local $3) (i32.const 1) ) ) @@ -13590,17 +13697,17 @@ ) (i32.store (i32.const 200) - (tee_local $2 + (tee_local $3 (i32.add - (get_local $3) - (tee_local $3 + (get_local $2) + (tee_local $2 (select (i32.and (i32.sub (i32.const 0) - (tee_local $3 + (tee_local $2 (i32.add - (get_local $3) + (get_local $2) (i32.const 8) ) ) @@ -13609,7 +13716,7 @@ ) (i32.const 0) (i32.and - (get_local $3) + (get_local $2) (i32.const 7) ) ) @@ -13625,12 +13732,12 @@ (get_local $1) (i32.const -40) ) - (get_local $3) + (get_local $2) ) ) ) (i32.store offset=4 - (get_local $2) + (get_local $3) (i32.or (get_local $1) (i32.const 1) @@ -13638,7 +13745,7 @@ ) (i32.store offset=4 (i32.add - (get_local $2) + (get_local $3) (get_local $1) ) (i32.const 40) @@ -13673,9 +13780,9 @@ ) (i32.store (i32.const 200) - (tee_local $3 + (tee_local $2 (i32.add - (tee_local $2 + (tee_local $3 (i32.load (i32.const 200) ) @@ -13685,14 +13792,14 @@ ) ) (i32.store offset=4 - (get_local $3) + (get_local $2) (i32.or (get_local $1) (i32.const 1) ) ) (i32.store offset=4 - (get_local $2) + (get_local $3) (i32.or (get_local $0) (i32.const 3) @@ -13700,7 +13807,7 @@ ) (return (i32.add - (get_local $2) + (get_local $3) (i32.const 8) ) ) diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise index 88532cef3..bc1e15b0d 100644 --- a/test/emcc_hello_world.fromasm.imprecise +++ b/test/emcc_hello_world.fromasm.imprecise @@ -367,64 +367,75 @@ (func $_strerror (param $0 i32) (result i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) (set_local $1 (i32.const 0) ) - (block $jumpthreading$outer$1 - (block $jumpthreading$inner$1 - (block $jumpthreading$inner$0 - (loop $while-in$1 - (br_if $jumpthreading$inner$0 - (i32.eq - (i32.and - (i32.load8_s offset=687 - (get_local $1) - ) - (i32.const 255) + (block $jumpthreading$outer$0 + (block $jumpthreading$inner$0 + (loop $while-in$1 + (br_if $jumpthreading$inner$0 + (i32.eq + (i32.and + (i32.load8_s offset=687 + (get_local $1) ) - (get_local $0) + (i32.const 255) ) + (get_local $0) ) - (br_if $while-in$1 - (i32.ne - (tee_local $1 - (i32.add - (get_local $1) - (i32.const 1) - ) + ) + (br_if $while-in$1 + (i32.ne + (tee_local $1 + (i32.add + (get_local $1) + (i32.const 1) ) - (i32.const 87) ) - ) - (block - (set_local $1 - (i32.const 87) - ) - (set_local $0 - (i32.const 775) - ) - (br $jumpthreading$inner$1) + (i32.const 87) ) ) - ) - (if - (get_local $1) (block - (set_local $0 + (set_local $3 + (i32.const 87) + ) + (set_local $2 (i32.const 775) ) - (br $jumpthreading$inner$1) + (set_local $4 + (i32.const 5) + ) ) - (set_local $0 + ) + (br $jumpthreading$outer$0) + ) + (if + (get_local $1) + (block + (set_local $3 + (get_local $1) + ) + (set_local $2 (i32.const 775) ) + (set_local $4 + (i32.const 5) + ) ) - (br $jumpthreading$outer$1) + (set_local $5 + (i32.const 775) + ) + ) + ) + (if + (i32.eq + (get_local $4) + (i32.const 5) ) (loop $while-in$3 - (set_local $2 - (get_local $0) - ) (loop $while-in$5 (set_local $0 (i32.add @@ -444,17 +455,26 @@ ) ) ) - (br_if $while-in$3 - (tee_local $1 + (if + (tee_local $3 (i32.add - (get_local $1) + (get_local $3) (i32.const -1) ) ) + (block + (set_local $2 + (get_local $0) + ) + (br $while-in$3) + ) + (set_local $5 + (get_local $0) + ) ) ) ) - (get_local $0) + (get_local $5) ) (func $___errno_location (result i32) (if @@ -2419,6 +2439,11 @@ (local $48 i32) (local $49 i32) (local $50 i32) + (local $51 i32) + (local $52 i32) + (local $53 i32) + (local $54 i32) + (local $55 i32) (set_local $27 (get_global $STACKTOP) ) @@ -2444,19 +2469,19 @@ (set_local $18 (get_local $27) ) - (set_local $37 + (set_local $41 (i32.add (get_local $27) (i32.const 528) ) ) - (set_local $31 + (set_local $33 (i32.ne (get_local $0) (i32.const 0) ) ) - (set_local $40 + (set_local $45 (tee_local $23 (i32.add (tee_local $13 @@ -2469,15 +2494,15 @@ ) ) ) - (set_local $41 + (set_local $46 (i32.add (get_local $13) (i32.const 39) ) ) - (set_local $45 + (set_local $50 (i32.add - (tee_local $42 + (tee_local $47 (i32.add (get_local $27) (i32.const 8) @@ -2486,7 +2511,7 @@ (i32.const 4) ) ) - (set_local $34 + (set_local $37 (i32.add (tee_local $13 (i32.add @@ -2497,18 +2522,18 @@ (i32.const 12) ) ) - (set_local $43 + (set_local $48 (i32.add (get_local $13) (i32.const 11) ) ) - (set_local $46 + (set_local $51 (i32.sub - (tee_local $30 - (get_local $34) + (tee_local $32 + (get_local $37) ) - (tee_local $38 + (tee_local $42 (tee_local $24 (i32.add (get_local $27) @@ -2518,21 +2543,21 @@ ) ) ) - (set_local $47 + (set_local $52 (i32.sub (i32.const -2) - (get_local $38) + (get_local $42) ) ) - (set_local $48 + (set_local $53 (i32.add - (get_local $30) + (get_local $32) (i32.const 2) ) ) - (set_local $50 + (set_local $55 (i32.add - (tee_local $49 + (tee_local $54 (i32.add (get_local $27) (i32.const 24) @@ -2541,15 +2566,15 @@ (i32.const 288) ) ) - (set_local $44 - (tee_local $32 + (set_local $49 + (tee_local $34 (i32.add (get_local $24) (i32.const 9) ) ) ) - (set_local $35 + (set_local $38 (i32.add (get_local $24) (i32.const 8) @@ -2565,7 +2590,7 @@ (i32.const 0) ) (block $label$break$L343 - (block $jumpthreading$inner$9 + (block $jumpthreading$inner$8 (loop $label$continue$L1 (block $label$break$L1 (set_local $15 @@ -2597,7 +2622,7 @@ (get_local $15) ) ) - (br_if $jumpthreading$inner$9 + (br_if $jumpthreading$inner$8 (i32.eqz (i32.shr_s (i32.shl @@ -2620,89 +2645,122 @@ (get_local $1) ) ) - (block $label$break$L12 - (block $jumpthreading$inner$1 - (loop $label$continue$L9 - (block $label$break$L9 - (block $switch-default$5 - (block $switch-case$4 - (block $switch-case$3 - (br_table $switch-case$4 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-case$3 $switch-default$5 - (i32.sub - (i32.shr_s - (i32.shl - (get_local $6) - (i32.const 24) - ) - (i32.const 24) - ) - (i32.const 0) + (loop $label$continue$L9 + (block $label$break$L9 + (block $switch-default$5 + (block $switch-case$4 + (block $switch-case$3 + (br_table $switch-case$4 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-case$3 $switch-default$5 + (i32.sub + (i32.shr_s + (i32.shl + (get_local $6) + (i32.const 24) ) + (i32.const 24) ) + (i32.const 0) ) - (set_local $7 - (get_local $5) - ) - (br $jumpthreading$inner$1) ) - (set_local $7 - (get_local $5) - ) - (br $label$break$L9) ) - (set_local $6 - (i32.load8_s - (tee_local $5 - (i32.add - (get_local $5) - (i32.const 1) - ) - ) + (set_local $39 + (get_local $5) + ) + (set_local $43 + (get_local $5) + ) + (set_local $28 + (i32.const 9) + ) + (br $label$break$L9) + ) + (set_local $29 + (get_local $5) + ) + (set_local $35 + (get_local $5) + ) + (br $label$break$L9) + ) + (set_local $6 + (i32.load8_s + (tee_local $5 + (i32.add + (get_local $5) + (i32.const 1) ) ) - (br $label$continue$L9) ) ) - (br $label$break$L12) + (br $label$continue$L9) ) - (loop $while-in$8 - (br_if $label$break$L12 - (i32.ne - (i32.load8_s offset=1 - (get_local $7) + ) + (block $label$break$L12 + (if + (i32.eq + (get_local $28) + (i32.const 9) + ) + (loop $while-in$8 + (set_local $28 + (i32.const 0) + ) + (if + (i32.ne + (i32.load8_s offset=1 + (get_local $39) + ) + (i32.const 37) + ) + (block + (set_local $29 + (get_local $39) + ) + (set_local $35 + (get_local $43) + ) + (br $label$break$L12) ) - (i32.const 37) ) - ) - (set_local $5 - (i32.add - (get_local $5) - (i32.const 1) + (set_local $35 + (i32.add + (get_local $43) + (i32.const 1) + ) ) - ) - (br_if $while-in$8 - (i32.eq - (i32.load8_s - (tee_local $7 - (i32.add - (get_local $7) - (i32.const 2) + (if + (i32.eq + (i32.load8_s + (tee_local $29 + (i32.add + (get_local $39) + (i32.const 2) + ) ) ) + (i32.const 37) + ) + (block + (set_local $39 + (get_local $29) + ) + (set_local $43 + (get_local $35) + ) + (br $while-in$8) ) - (i32.const 37) ) ) ) ) (set_local $6 (i32.sub - (get_local $5) + (get_local $35) (get_local $1) ) ) (if - (get_local $31) + (get_local $33) (if (i32.eqz (i32.and @@ -2723,12 +2781,12 @@ ) (if (i32.ne - (get_local $5) + (get_local $35) (get_local $1) ) (block (set_local $1 - (get_local $7) + (get_local $29) ) (set_local $5 (get_local $6) @@ -2747,7 +2805,7 @@ (i32.load8_s (tee_local $10 (i32.add - (get_local $7) + (get_local $29) (i32.const 1) ) ) @@ -2768,14 +2826,14 @@ (tee_local $10 (select (i32.add - (get_local $7) + (get_local $29) (i32.const 3) ) (get_local $10) (tee_local $8 (i32.eq (i32.load8_s offset=2 - (get_local $7) + (get_local $29) ) (i32.const 36) ) @@ -2993,6 +3051,9 @@ (i32.const 1) ) ) + (set_local $28 + (i32.const 0) + ) (if (get_local $7) (block @@ -3004,7 +3065,7 @@ ) (if (i32.eqz - (get_local $31) + (get_local $33) ) (block (set_local $8 @@ -3351,7 +3412,7 @@ ) ) (if - (get_local $31) + (get_local $33) (block (set_local $7 (i32.load @@ -3494,8 +3555,8 @@ (i32.const -1) ) ) - (block $jumpthreading$outer$2 - (block $jumpthreading$inner$2 + (block $jumpthreading$outer$1 + (block $jumpthreading$inner$1 (if (i32.eq (i32.shr_s @@ -3515,7 +3576,7 @@ ) (br $label$break$L1) ) - (br $jumpthreading$inner$2) + (br $jumpthreading$inner$1) ) (block (if @@ -3556,12 +3617,12 @@ (get_local $10) (get_local $12) ) - (br $jumpthreading$inner$2) + (br $jumpthreading$inner$1) ) ) (if (i32.eqz - (get_local $31) + (get_local $33) ) (block (set_local $15 @@ -3577,11 +3638,14 @@ ) ) ) - (br $jumpthreading$outer$2) + (br $jumpthreading$outer$1) + ) + (set_local $28 + (i32.const 0) ) (if (i32.eqz - (get_local $31) + (get_local $33) ) (block (set_local $1 @@ -3609,13 +3673,13 @@ ) ) ) - (block $jumpthreading$outer$8 - (block $jumpthreading$inner$8 - (block $jumpthreading$inner$7 - (block $jumpthreading$inner$6 - (block $jumpthreading$inner$5 - (block $jumpthreading$inner$4 - (block $jumpthreading$inner$3 + (block $jumpthreading$outer$7 + (block $jumpthreading$inner$7 + (block $jumpthreading$inner$6 + (block $jumpthreading$inner$5 + (block $jumpthreading$inner$4 + (block $jumpthreading$inner$3 + (block $jumpthreading$inner$2 (block $switch-default$127 (block $switch-case$49 (block $switch-case$48 @@ -3837,12 +3901,12 @@ (set_local $16 (i32.const 120) ) - (br $jumpthreading$inner$3) + (br $jumpthreading$inner$2) ) (set_local $1 (get_local $10) ) - (br $jumpthreading$inner$3) + (br $jumpthreading$inner$2) ) (if (i32.and @@ -3935,7 +3999,7 @@ (tee_local $10 (i32.add (i32.sub - (get_local $40) + (get_local $45) (get_local $8) ) (i32.const 1) @@ -3954,7 +4018,7 @@ (set_local $9 (i32.const 4091) ) - (br $jumpthreading$inner$8) + (br $jumpthreading$inner$7) ) (block (set_local $6 @@ -3969,7 +4033,7 @@ (set_local $9 (i32.const 4091) ) - (br $jumpthreading$inner$8) + (br $jumpthreading$inner$7) ) ) ) @@ -4015,7 +4079,7 @@ (set_local $9 (i32.const 4091) ) - (br $jumpthreading$inner$4) + (br $jumpthreading$inner$3) ) ) (if @@ -4030,7 +4094,7 @@ (set_local $9 (i32.const 4092) ) - (br $jumpthreading$inner$4) + (br $jumpthreading$inner$3) ) (block (set_local $8 @@ -4048,7 +4112,7 @@ (get_local $9) ) ) - (br $jumpthreading$inner$4) + (br $jumpthreading$inner$3) ) ) ) @@ -4070,13 +4134,13 @@ (set_local $9 (i32.const 4091) ) - (br $jumpthreading$inner$4) + (br $jumpthreading$inner$3) ) (set_local $1 (get_local $18) ) (i32.store8 - (get_local $41) + (get_local $46) (i32.and (i32.load (get_local $1) @@ -4085,7 +4149,7 @@ ) ) (set_local $6 - (get_local $41) + (get_local $46) ) (set_local $10 (get_local $9) @@ -4102,7 +4166,7 @@ (set_local $1 (get_local $23) ) - (br $jumpthreading$outer$8) + (br $jumpthreading$outer$7) ) (set_local $1 (call $_strerror @@ -4111,7 +4175,7 @@ ) ) ) - (br $jumpthreading$inner$5) + (br $jumpthreading$inner$4) ) (set_local $1 (select @@ -4127,29 +4191,29 @@ ) ) ) - (br $jumpthreading$inner$5) + (br $jumpthreading$inner$4) ) (set_local $1 (get_local $18) ) (i32.store - (get_local $42) + (get_local $47) (i32.load (get_local $1) ) ) (i32.store - (get_local $45) + (get_local $50) (i32.const 0) ) (i32.store (get_local $18) - (get_local $42) + (get_local $47) ) (set_local $8 (i32.const -1) ) - (br $jumpthreading$inner$6) + (br $jumpthreading$inner$5) ) (if (get_local $7) @@ -4157,7 +4221,7 @@ (set_local $8 (get_local $7) ) - (br $jumpthreading$inner$6) + (br $jumpthreading$inner$5) ) (block (call $_pad @@ -4170,7 +4234,7 @@ (set_local $6 (i32.const 0) ) - (br $jumpthreading$inner$7) + (br $jumpthreading$inner$6) ) ) ) @@ -4187,7 +4251,7 @@ (get_global $tempDoublePtr) (get_local $14) ) - (set_local $33 + (set_local $36 (if (i32.lt_s (i32.load offset=4 @@ -4196,7 +4260,7 @@ (i32.const 0) ) (block - (set_local $28 + (set_local $30 (i32.const 1) ) (set_local $14 @@ -4212,13 +4276,13 @@ (i32.const 2048) ) (block - (set_local $28 + (set_local $30 (i32.const 1) ) (i32.const 4111) ) (block - (set_local $28 + (set_local $30 (tee_local $1 (i32.and (get_local $10) @@ -4305,10 +4369,10 @@ (set_local $19 (select (i32.add - (get_local $33) + (get_local $36) (i32.const 9) ) - (get_local $33) + (get_local $36) (tee_local $9 (i32.and (get_local $16) @@ -4319,7 +4383,7 @@ ) (set_local $8 (i32.or - (get_local $28) + (get_local $30) (i32.const 2) ) ) @@ -4423,17 +4487,17 @@ ) (i32.const 31) ) - (get_local $34) + (get_local $37) ) ) - (get_local $34) + (get_local $37) ) (block (i32.store8 - (get_local $43) + (get_local $48) (i32.const 48) ) - (get_local $43) + (get_local $48) ) (get_local $6) ) @@ -4531,7 +4595,7 @@ (i32.const 1) ) ) - (get_local $38) + (get_local $42) ) (i32.const 1) ) @@ -4579,14 +4643,14 @@ (select (i32.sub (i32.add - (get_local $48) + (get_local $53) (get_local $7) ) (get_local $11) ) (i32.add (i32.sub - (get_local $46) + (get_local $51) (get_local $11) ) (get_local $5) @@ -4598,7 +4662,7 @@ ) (i32.lt_s (i32.add - (get_local $47) + (get_local $52) (get_local $5) ) (get_local $7) @@ -4641,7 +4705,7 @@ (set_local $5 (i32.sub (get_local $5) - (get_local $38) + (get_local $42) ) ) (if @@ -4670,7 +4734,7 @@ (get_local $5) (tee_local $5 (i32.sub - (get_local $30) + (get_local $32) (get_local $11) ) ) @@ -4728,11 +4792,11 @@ ) ) ) - (set_local $36 + (set_local $40 (tee_local $8 (select - (get_local $49) - (get_local $50) + (get_local $54) + (get_local $55) (i32.lt_s (if (get_local $5) @@ -5035,7 +5099,7 @@ (get_local $6) ) (block - (set_local $39 + (set_local $44 (i32.add (i32.shl (i32.const 1) @@ -5044,7 +5108,7 @@ (i32.const -1) ) ) - (set_local $29 + (set_local $31 (i32.shr_u (i32.const 1000000000) (get_local $26) @@ -5075,9 +5139,9 @@ (i32.mul (i32.and (get_local $11) - (get_local $39) + (get_local $44) ) - (get_local $29) + (get_local $31) ) ) (br_if $while-in$81 @@ -5193,7 +5257,7 @@ (i32.mul (i32.shr_s (i32.sub - (get_local $36) + (get_local $40) (get_local $5) ) (i32.const 2) @@ -5258,7 +5322,7 @@ (i32.shr_s (i32.shl (i32.and - (tee_local $39 + (tee_local $44 (i32.ne (get_local $19) (i32.const 0) @@ -5282,7 +5346,7 @@ (i32.shr_s (i32.sub (get_local $9) - (get_local $36) + (get_local $40) ) (i32.const 2) ) @@ -5376,7 +5440,7 @@ ) ) (i32.eqz - (tee_local $29 + (tee_local $31 (i32.and (i32.rem_u (tee_local $11 @@ -5412,7 +5476,7 @@ (set_local $14 (if (i32.lt_u - (get_local $29) + (get_local $31) (tee_local $25 (i32.and (i32.div_s @@ -5430,7 +5494,7 @@ (i32.and (get_local $26) (i32.eq - (get_local $29) + (get_local $31) (get_local $25) ) ) @@ -5440,13 +5504,13 @@ (set_local $22 (block $do-once$90 (if - (get_local $28) + (get_local $30) (block (br_if $do-once$90 (get_local $22) (i32.ne (i32.load8_s - (get_local $33) + (get_local $36) ) (i32.const 45) ) @@ -5469,7 +5533,7 @@ (tee_local $11 (i32.sub (get_local $11) - (get_local $29) + (get_local $31) ) ) ) @@ -5550,7 +5614,7 @@ (i32.mul (i32.shr_s (i32.sub - (get_local $36) + (get_local $40) (get_local $5) ) (i32.const 2) @@ -5686,7 +5750,7 @@ (i32.add (i32.xor (i32.and - (get_local $39) + (get_local $44) (i32.const 1) ) (i32.const 1) @@ -5827,7 +5891,7 @@ (i32.shr_s (i32.sub (get_local $9) - (get_local $36) + (get_local $40) ) (i32.const 2) ) @@ -5918,7 +5982,7 @@ ) ) ) - (set_local $29 + (set_local $31 (i32.and (i32.ne (tee_local $16 @@ -5960,7 +6024,7 @@ (if (i32.lt_s (i32.sub - (get_local $30) + (get_local $32) (tee_local $7 (call $_fmt_u (tee_local $7 @@ -5983,7 +6047,7 @@ ) (i32.const 31) ) - (get_local $34) + (get_local $37) ) ) ) @@ -6002,7 +6066,7 @@ (br_if $while-in$105 (i32.lt_s (i32.sub - (get_local $30) + (get_local $32) (get_local $7) ) (i32.const 2) @@ -6043,7 +6107,7 @@ ) (set_local $6 (i32.sub - (get_local $30) + (get_local $32) (get_local $7) ) ) @@ -6060,12 +6124,12 @@ (i32.add (i32.add (i32.add - (get_local $28) + (get_local $30) (i32.const 1) ) (get_local $5) ) - (get_local $29) + (get_local $31) ) (get_local $6) ) @@ -6083,8 +6147,8 @@ ) (drop (call $___fwritex - (get_local $33) - (get_local $28) + (get_local $36) + (get_local $30) (get_local $0) ) ) @@ -6122,7 +6186,7 @@ (get_local $7) ) (i32.const 0) - (get_local $32) + (get_local $34) ) ) (block $do-once$110 @@ -6135,15 +6199,15 @@ (br_if $do-once$110 (i32.ne (get_local $6) - (get_local $32) + (get_local $34) ) ) (i32.store8 - (get_local $35) + (get_local $38) (i32.const 48) ) (set_local $6 - (get_local $35) + (get_local $38) ) ) (block @@ -6186,7 +6250,7 @@ (call $___fwritex (get_local $6) (i32.sub - (get_local $44) + (get_local $49) (get_local $6) ) (get_local $0) @@ -6257,7 +6321,7 @@ (get_local $6) ) (i32.const 0) - (get_local $32) + (get_local $34) ) ) (get_local $24) @@ -6385,17 +6449,17 @@ (get_local $6) ) (i32.const 0) - (get_local $32) + (get_local $34) ) ) - (get_local $32) + (get_local $34) ) (block (i32.store8 - (get_local $35) + (get_local $38) (i32.const 48) ) - (get_local $35) + (get_local $38) ) (get_local $5) ) @@ -6493,7 +6557,7 @@ ) (set_local $8 (i32.sub - (get_local $44) + (get_local $49) (get_local $5) ) ) @@ -6574,7 +6638,7 @@ (call $___fwritex (get_local $25) (i32.sub - (get_local $30) + (get_local $32) (get_local $25) ) (get_local $0) @@ -6606,7 +6670,7 @@ (set_local $7 (select (i32.const 0) - (get_local $28) + (get_local $30) (tee_local $5 (i32.or (f64.ne @@ -6669,7 +6733,7 @@ (block (drop (call $___fwritex - (get_local $33) + (get_local $36) (get_local $7) (get_local $0) ) @@ -6729,7 +6793,7 @@ (set_local $1 (get_local $23) ) - (br $jumpthreading$outer$8) + (br $jumpthreading$outer$7) ) (set_local $9 (i32.and @@ -6766,7 +6830,7 @@ (set_local $9 (i32.const 4091) ) - (br $jumpthreading$inner$8) + (br $jumpthreading$inner$7) ) (block (set_local $8 @@ -6853,7 +6917,7 @@ (set_local $9 (i32.const 4091) ) - (br $jumpthreading$inner$8) + (br $jumpthreading$inner$7) ) (block (set_local $8 @@ -6868,12 +6932,12 @@ ) ) ) - (br $jumpthreading$inner$8) + (br $jumpthreading$inner$7) ) ) ) ) - (br $jumpthreading$outer$8) + (br $jumpthreading$outer$7) ) (set_local $6 (call $_fmt_u @@ -6885,7 +6949,10 @@ (set_local $1 (get_local $10) ) - (br $jumpthreading$inner$8) + (br $jumpthreading$inner$7) + ) + (set_local $28 + (i32.const 0) ) (set_local $16 (i32.eqz @@ -6930,7 +6997,7 @@ (get_local $16) ) ) - (br $jumpthreading$outer$8) + (br $jumpthreading$outer$7) ) (set_local $1 (i32.const 0) @@ -6959,7 +7026,7 @@ (i32.lt_s (tee_local $6 (call $_wctomb - (get_local $37) + (get_local $41) (get_local $9) ) ) @@ -7036,7 +7103,7 @@ (set_local $6 (get_local $1) ) - (br $jumpthreading$inner$7) + (br $jumpthreading$inner$6) ) ) (set_local $7 @@ -7051,7 +7118,7 @@ (i32.add (tee_local $8 (call $_wctomb - (get_local $37) + (get_local $41) (get_local $8) ) ) @@ -7064,7 +7131,7 @@ (set_local $6 (get_local $1) ) - (br $jumpthreading$inner$7) + (br $jumpthreading$inner$6) ) ) (if @@ -7078,7 +7145,7 @@ ) (drop (call $___fwritex - (get_local $37) + (get_local $41) (get_local $8) (get_local $0) ) @@ -7094,7 +7161,7 @@ (set_local $6 (get_local $1) ) - (br $jumpthreading$inner$7) + (br $jumpthreading$inner$6) ) ) ) @@ -7102,10 +7169,13 @@ (set_local $6 (i32.const 0) ) - (br $jumpthreading$inner$7) + (br $jumpthreading$inner$6) ) ) - (br $jumpthreading$outer$8) + (br $jumpthreading$outer$7) + ) + (set_local $28 + (i32.const 0) ) (call $_pad (get_local $0) @@ -7132,6 +7202,9 @@ ) (br $label$continue$L1) ) + (set_local $28 + (i32.const 0) + ) (set_local $10 (select (i32.and @@ -7185,7 +7258,7 @@ (i32.const 1) ) (i32.sub - (get_local $40) + (get_local $45) (get_local $6) ) ) @@ -8164,6 +8237,12 @@ (local $16 i32) (local $17 i32) (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) + (local $23 i32) + (local $24 i32) (block $do-once$0 (if (i32.lt_u @@ -8173,16 +8252,16 @@ (block (if (i32.and - (tee_local $7 + (tee_local $1 (i32.shr_u - (tee_local $13 + (tee_local $10 (i32.load (i32.const 176) ) ) - (tee_local $10 + (tee_local $4 (i32.shr_u - (tee_local $2 + (tee_local $3 (select (i32.const 16) (i32.and @@ -8210,25 +8289,25 @@ (i32.load (tee_local $1 (i32.add - (tee_local $6 + (tee_local $5 (i32.load - (tee_local $7 + (tee_local $9 (i32.add - (tee_local $3 + (tee_local $2 (i32.add (i32.const 216) (i32.shl (i32.shl - (tee_local $2 + (tee_local $3 (i32.add (i32.xor (i32.and - (get_local $7) + (get_local $1) (i32.const 1) ) (i32.const 1) ) - (get_local $10) + (get_local $4) ) ) (i32.const 1) @@ -8249,17 +8328,17 @@ ) (if (i32.eq - (get_local $3) + (get_local $2) (get_local $4) ) (i32.store (i32.const 176) (i32.and - (get_local $13) + (get_local $10) (i32.xor (i32.shl (i32.const 1) - (get_local $2) + (get_local $3) ) (i32.const -1) ) @@ -8285,15 +8364,15 @@ ) ) ) - (get_local $6) + (get_local $5) ) (block (i32.store (get_local $0) - (get_local $3) + (get_local $2) ) (i32.store - (get_local $7) + (get_local $9) (get_local $4) ) ) @@ -8302,11 +8381,11 @@ ) ) (i32.store offset=4 - (get_local $6) + (get_local $5) (i32.or (tee_local $0 (i32.shl - (get_local $2) + (get_local $3) (i32.const 3) ) ) @@ -8317,7 +8396,7 @@ (tee_local $0 (i32.add (i32.add - (get_local $6) + (get_local $5) (get_local $0) ) (i32.const 4) @@ -8337,7 +8416,7 @@ ) (if (i32.gt_u - (get_local $2) + (get_local $3) (tee_local $0 (i32.load (i32.const 184) @@ -8346,37 +8425,37 @@ ) (block (if - (get_local $7) + (get_local $1) (block - (set_local $7 + (set_local $5 (i32.and (i32.shr_u - (tee_local $4 + (tee_local $1 (i32.add (i32.and - (tee_local $4 + (tee_local $1 (i32.and (i32.shl - (get_local $7) - (get_local $10) + (get_local $1) + (get_local $4) ) (i32.or - (tee_local $4 + (tee_local $1 (i32.shl (i32.const 2) - (get_local $10) + (get_local $4) ) ) (i32.sub (i32.const 0) - (get_local $4) + (get_local $1) ) ) ) ) (i32.sub (i32.const 0) - (get_local $4) + (get_local $1) ) ) (i32.const -1) @@ -8387,32 +8466,32 @@ (i32.const 16) ) ) - (set_local $5 + (set_local $7 (i32.load - (tee_local $6 + (tee_local $5 (i32.add - (tee_local $10 + (tee_local $9 (i32.load - (tee_local $11 + (tee_local $6 (i32.add - (tee_local $4 + (tee_local $1 (i32.add (i32.const 216) (i32.shl (i32.shl - (tee_local $7 + (tee_local $4 (i32.add (i32.or (i32.or (i32.or (i32.or - (tee_local $6 + (tee_local $4 (i32.and (i32.shr_u - (tee_local $4 + (tee_local $1 (i32.shr_u - (get_local $4) - (get_local $7) + (get_local $1) + (get_local $5) ) ) (i32.const 5) @@ -8420,15 +8499,15 @@ (i32.const 8) ) ) - (get_local $7) + (get_local $5) ) - (tee_local $6 + (tee_local $4 (i32.and (i32.shr_u - (tee_local $4 + (tee_local $1 (i32.shr_u + (get_local $1) (get_local $4) - (get_local $6) ) ) (i32.const 2) @@ -8437,13 +8516,13 @@ ) ) ) - (tee_local $6 + (tee_local $4 (i32.and (i32.shr_u - (tee_local $4 + (tee_local $1 (i32.shr_u + (get_local $1) (get_local $4) - (get_local $6) ) ) (i32.const 1) @@ -8452,13 +8531,13 @@ ) ) ) - (tee_local $6 + (tee_local $4 (i32.and (i32.shr_u - (tee_local $4 + (tee_local $1 (i32.shr_u + (get_local $1) (get_local $4) - (get_local $6) ) ) (i32.const 1) @@ -8468,8 +8547,8 @@ ) ) (i32.shr_u + (get_local $1) (get_local $4) - (get_local $6) ) ) ) @@ -8491,31 +8570,31 @@ ) (if (i32.eq - (get_local $4) - (get_local $5) + (get_local $1) + (get_local $7) ) (block (i32.store (i32.const 176) (i32.and - (get_local $13) + (get_local $10) (i32.xor (i32.shl (i32.const 1) - (get_local $7) + (get_local $4) ) (i32.const -1) ) ) ) - (set_local $3 + (set_local $8 (get_local $0) ) ) (block (if (i32.lt_u - (get_local $5) + (get_local $7) (i32.load (i32.const 192) ) @@ -8527,23 +8606,23 @@ (i32.load (tee_local $0 (i32.add - (get_local $5) + (get_local $7) (i32.const 12) ) ) ) - (get_local $10) + (get_local $9) ) (block (i32.store (get_local $0) - (get_local $4) + (get_local $1) ) (i32.store - (get_local $11) - (get_local $5) + (get_local $6) + (get_local $7) ) - (set_local $3 + (set_local $8 (i32.load (i32.const 184) ) @@ -8554,27 +8633,27 @@ ) ) (i32.store offset=4 - (get_local $10) + (get_local $9) (i32.or - (get_local $2) + (get_local $3) (i32.const 3) ) ) (i32.store offset=4 - (tee_local $10 + (tee_local $9 (i32.add - (get_local $10) - (get_local $2) + (get_local $9) + (get_local $3) ) ) (i32.or (tee_local $4 (i32.sub (i32.shl - (get_local $7) + (get_local $4) (i32.const 3) ) - (get_local $2) + (get_local $3) ) ) (i32.const 1) @@ -8582,15 +8661,15 @@ ) (i32.store (i32.add - (get_local $10) + (get_local $9) (get_local $4) ) (get_local $4) ) (if - (get_local $3) + (get_local $8) (block - (set_local $7 + (set_local $6 (i32.load (i32.const 196) ) @@ -8600,9 +8679,9 @@ (i32.const 216) (i32.shl (i32.shl - (tee_local $3 + (tee_local $1 (i32.shr_u - (get_local $3) + (get_local $8) (i32.const 3) ) ) @@ -8614,23 +8693,23 @@ ) (if (i32.and - (tee_local $2 + (tee_local $3 (i32.load (i32.const 176) ) ) - (tee_local $3 + (tee_local $1 (i32.shl (i32.const 1) - (get_local $3) + (get_local $1) ) ) ) (if (i32.lt_u - (tee_local $3 + (tee_local $1 (i32.load - (tee_local $2 + (tee_local $3 (i32.add (get_local $0) (i32.const 8) @@ -8644,47 +8723,47 @@ ) (call_import $_abort) (block - (set_local $8 - (get_local $2) - ) - (set_local $1 + (set_local $12 (get_local $3) ) + (set_local $2 + (get_local $1) + ) ) ) (block (i32.store (i32.const 176) (i32.or - (get_local $2) (get_local $3) + (get_local $1) ) ) - (set_local $8 + (set_local $12 (i32.add (get_local $0) (i32.const 8) ) ) - (set_local $1 + (set_local $2 (get_local $0) ) ) ) (i32.store - (get_local $8) - (get_local $7) + (get_local $12) + (get_local $6) ) (i32.store offset=12 - (get_local $1) - (get_local $7) + (get_local $2) + (get_local $6) ) (i32.store offset=8 - (get_local $7) - (get_local $1) + (get_local $6) + (get_local $2) ) (i32.store offset=12 - (get_local $7) + (get_local $6) (get_local $0) ) ) @@ -8695,10 +8774,10 @@ ) (i32.store (i32.const 196) - (get_local $10) + (get_local $9) ) (return - (get_local $6) + (get_local $5) ) ) ) @@ -8709,7 +8788,7 @@ ) ) (block - (set_local $3 + (set_local $2 (i32.and (i32.shr_u (tee_local $0 @@ -8729,7 +8808,7 @@ (i32.const 16) ) ) - (set_local $6 + (set_local $4 (i32.sub (i32.and (i32.load offset=4 @@ -8747,7 +8826,7 @@ (tee_local $0 (i32.shr_u (get_local $0) - (get_local $3) + (get_local $2) ) ) (i32.const 5) @@ -8755,7 +8834,7 @@ (i32.const 8) ) ) - (get_local $3) + (get_local $2) ) (tee_local $1 (i32.and @@ -8814,10 +8893,10 @@ ) (i32.const -8) ) - (get_local $2) + (get_local $3) ) ) - (set_local $3 + (set_local $2 (get_local $1) ) (loop $while-in$7 @@ -8826,7 +8905,7 @@ (i32.eqz (tee_local $0 (i32.load offset=16 - (get_local $3) + (get_local $2) ) ) ) @@ -8834,21 +8913,21 @@ (i32.eqz (tee_local $0 (i32.load offset=20 - (get_local $3) + (get_local $2) ) ) ) (block - (set_local $3 + (set_local $2 (get_local $1) ) (br $while-out$6) ) ) ) - (set_local $7 + (set_local $6 (i32.lt_u - (tee_local $3 + (tee_local $2 (i32.sub (i32.and (i32.load offset=4 @@ -8856,27 +8935,27 @@ ) (i32.const -8) ) - (get_local $2) + (get_local $3) ) ) - (get_local $6) + (get_local $4) ) ) - (set_local $6 + (set_local $4 (select - (get_local $3) + (get_local $2) + (get_local $4) (get_local $6) - (get_local $7) ) ) - (set_local $3 + (set_local $2 (get_local $0) ) (set_local $1 (select (get_local $0) (get_local $1) - (get_local $7) + (get_local $6) ) ) (br $while-in$7) @@ -8884,8 +8963,8 @@ ) (if (i32.lt_u - (get_local $3) - (tee_local $8 + (get_local $2) + (tee_local $10 (i32.load (i32.const 192) ) @@ -8895,19 +8974,19 @@ ) (if (i32.ge_u - (get_local $3) - (tee_local $11 + (get_local $2) + (tee_local $7 (i32.add - (get_local $3) (get_local $2) + (get_local $3) ) ) ) (call_import $_abort) ) - (set_local $9 + (set_local $11 (i32.load offset=24 - (get_local $3) + (get_local $2) ) ) (block $do-once$8 @@ -8915,10 +8994,10 @@ (i32.eq (tee_local $0 (i32.load offset=12 - (get_local $3) + (get_local $2) ) ) - (get_local $3) + (get_local $2) ) (block (if @@ -8927,7 +9006,7 @@ (i32.load (tee_local $0 (i32.add - (get_local $3) + (get_local $2) (i32.const 20) ) ) @@ -8940,7 +9019,7 @@ (i32.load (tee_local $0 (i32.add - (get_local $3) + (get_local $2) (i32.const 16) ) ) @@ -8948,7 +9027,7 @@ ) ) (block - (set_local $4 + (set_local $5 (i32.const 0) ) (br $do-once$8) @@ -8957,9 +9036,9 @@ ) (loop $while-in$11 (if - (tee_local $10 + (tee_local $8 (i32.load - (tee_local $7 + (tee_local $6 (i32.add (get_local $1) (i32.const 20) @@ -8969,18 +9048,18 @@ ) (block (set_local $1 - (get_local $10) + (get_local $8) ) (set_local $0 - (get_local $7) + (get_local $6) ) (br $while-in$11) ) ) (if - (tee_local $10 + (tee_local $8 (i32.load - (tee_local $7 + (tee_local $6 (i32.add (get_local $1) (i32.const 16) @@ -8990,10 +9069,10 @@ ) (block (set_local $1 - (get_local $10) + (get_local $8) ) (set_local $0 - (get_local $7) + (get_local $6) ) (br $while-in$11) ) @@ -9002,7 +9081,7 @@ (if (i32.lt_u (get_local $0) - (get_local $8) + (get_local $10) ) (call_import $_abort) (block @@ -9010,7 +9089,7 @@ (get_local $0) (i32.const 0) ) - (set_local $4 + (set_local $5 (get_local $1) ) ) @@ -9019,26 +9098,26 @@ (block (if (i32.lt_u - (tee_local $10 + (tee_local $8 (i32.load offset=8 - (get_local $3) + (get_local $2) ) ) - (get_local $8) + (get_local $10) ) (call_import $_abort) ) (if (i32.ne (i32.load - (tee_local $7 + (tee_local $6 (i32.add - (get_local $10) + (get_local $8) (i32.const 12) ) ) ) - (get_local $3) + (get_local $2) ) (call_import $_abort) ) @@ -9052,18 +9131,18 @@ ) ) ) - (get_local $3) + (get_local $2) ) (block (i32.store - (get_local $7) + (get_local $6) (get_local $0) ) (i32.store (get_local $1) - (get_local $10) + (get_local $8) ) - (set_local $4 + (set_local $5 (get_local $0) ) ) @@ -9074,11 +9153,11 @@ ) (block $do-once$12 (if - (get_local $9) + (get_local $11) (block (if (i32.eq - (get_local $3) + (get_local $2) (i32.load (tee_local $0 (i32.add @@ -9086,7 +9165,7 @@ (i32.shl (tee_local $1 (i32.load offset=28 - (get_local $3) + (get_local $2) ) ) (i32.const 2) @@ -9098,11 +9177,11 @@ (block (i32.store (get_local $0) - (get_local $4) + (get_local $5) ) (if (i32.eqz - (get_local $4) + (get_local $5) ) (block (i32.store @@ -9127,7 +9206,7 @@ (block (if (i32.lt_u - (get_local $9) + (get_local $11) (i32.load (i32.const 192) ) @@ -9139,32 +9218,32 @@ (i32.load (tee_local $0 (i32.add - (get_local $9) + (get_local $11) (i32.const 16) ) ) ) - (get_local $3) + (get_local $2) ) (i32.store (get_local $0) - (get_local $4) + (get_local $5) ) (i32.store offset=20 - (get_local $9) - (get_local $4) + (get_local $11) + (get_local $5) ) ) (br_if $do-once$12 (i32.eqz - (get_local $4) + (get_local $5) ) ) ) ) (if (i32.lt_u - (get_local $4) + (get_local $5) (tee_local $1 (i32.load (i32.const 192) @@ -9174,13 +9253,13 @@ (call_import $_abort) ) (i32.store offset=24 - (get_local $4) - (get_local $9) + (get_local $5) + (get_local $11) ) (if (tee_local $0 (i32.load offset=16 - (get_local $3) + (get_local $2) ) ) (if @@ -9191,12 +9270,12 @@ (call_import $_abort) (block (i32.store offset=16 - (get_local $4) + (get_local $5) (get_local $0) ) (i32.store offset=24 (get_local $0) - (get_local $4) + (get_local $5) ) ) ) @@ -9204,7 +9283,7 @@ (if (tee_local $0 (i32.load offset=20 - (get_local $3) + (get_local $2) ) ) (if @@ -9217,12 +9296,12 @@ (call_import $_abort) (block (i32.store offset=20 - (get_local $4) + (get_local $5) (get_local $0) ) (i32.store offset=24 (get_local $0) - (get_local $4) + (get_local $5) ) ) ) @@ -9232,17 +9311,17 @@ ) (if (i32.lt_u - (get_local $6) + (get_local $4) (i32.const 16) ) (block (i32.store offset=4 - (get_local $3) + (get_local $2) (i32.or (tee_local $0 (i32.add - (get_local $6) - (get_local $2) + (get_local $4) + (get_local $3) ) ) (i32.const 3) @@ -9252,7 +9331,7 @@ (tee_local $0 (i32.add (i32.add - (get_local $3) + (get_local $2) (get_local $0) ) (i32.const 4) @@ -9268,25 +9347,25 @@ ) (block (i32.store offset=4 - (get_local $3) + (get_local $2) (i32.or - (get_local $2) + (get_local $3) (i32.const 3) ) ) (i32.store offset=4 - (get_local $11) + (get_local $7) (i32.or - (get_local $6) + (get_local $4) (i32.const 1) ) ) (i32.store (i32.add - (get_local $11) - (get_local $6) + (get_local $7) + (get_local $4) ) - (get_local $6) + (get_local $4) ) (if (tee_local $0 @@ -9295,7 +9374,7 @@ ) ) (block - (set_local $4 + (set_local $5 (i32.load (i32.const 196) ) @@ -9319,7 +9398,7 @@ ) (if (i32.and - (tee_local $2 + (tee_local $3 (i32.load (i32.const 176) ) @@ -9335,7 +9414,7 @@ (i32.lt_u (tee_local $1 (i32.load - (tee_local $2 + (tee_local $3 (i32.add (get_local $0) (i32.const 8) @@ -9349,10 +9428,10 @@ ) (call_import $_abort) (block - (set_local $12 - (get_local $2) + (set_local $13 + (get_local $3) ) - (set_local $5 + (set_local $9 (get_local $1) ) ) @@ -9361,63 +9440,63 @@ (i32.store (i32.const 176) (i32.or - (get_local $2) + (get_local $3) (get_local $1) ) ) - (set_local $12 + (set_local $13 (i32.add (get_local $0) (i32.const 8) ) ) - (set_local $5 + (set_local $9 (get_local $0) ) ) ) (i32.store - (get_local $12) - (get_local $4) + (get_local $13) + (get_local $5) ) (i32.store offset=12 + (get_local $9) (get_local $5) - (get_local $4) ) (i32.store offset=8 - (get_local $4) (get_local $5) + (get_local $9) ) (i32.store offset=12 - (get_local $4) + (get_local $5) (get_local $0) ) ) ) (i32.store (i32.const 184) - (get_local $6) + (get_local $4) ) (i32.store (i32.const 196) - (get_local $11) + (get_local $7) ) ) ) (return (i32.add - (get_local $3) + (get_local $2) (i32.const 8) ) ) ) (set_local $0 - (get_local $2) + (get_local $3) ) ) ) (set_local $0 - (get_local $2) + (get_local $3) ) ) ) @@ -9430,9 +9509,9 @@ (i32.const -1) ) (block - (set_local $2 + (set_local $9 (i32.and - (tee_local $0 + (tee_local $2 (i32.add (get_local $0) (i32.const 11) @@ -9442,222 +9521,232 @@ ) ) (if - (tee_local $18 + (tee_local $24 (i32.load (i32.const 180) ) ) (block - (set_local $3 + (set_local $0 (i32.sub (i32.const 0) - (get_local $2) + (get_local $9) ) ) - (block $jumpthreading$outer$3 - (block $jumpthreading$inner$3 - (block $jumpthreading$inner$2 - (if - (tee_local $0 - (i32.load offset=480 - (i32.shl - (tee_local $14 + (block $jumpthreading$outer$2 + (block $jumpthreading$inner$2 + (if + (tee_local $2 + (i32.load offset=480 + (i32.shl + (tee_local $15 + (if + (tee_local $2 + (i32.shr_u + (get_local $2) + (i32.const 8) + ) + ) (if - (tee_local $0 - (i32.shr_u - (get_local $0) - (i32.const 8) - ) + (i32.gt_u + (get_local $9) + (i32.const 16777215) ) - (if - (i32.gt_u - (get_local $2) - (i32.const 16777215) - ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $2) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $9) + (i32.add + (tee_local $2 + (i32.add + (i32.sub + (i32.const 14) + (i32.or (i32.or - (i32.or - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $0 - (i32.shl - (get_local $0) - (tee_local $4 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) - ) - (i32.const 16) + (tee_local $5 + (i32.and + (i32.shr_u + (i32.add + (tee_local $2 + (i32.shl + (get_local $2) + (tee_local $8 + (i32.and + (i32.shr_u + (i32.add + (get_local $2) + (i32.const 1048320) ) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) ) - (i32.const 520192) ) - (i32.const 16) + (i32.const 520192) ) - (i32.const 4) + (i32.const 16) ) + (i32.const 4) ) - (get_local $4) ) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $0 - (i32.shl - (get_local $0) - (get_local $1) - ) + (get_local $8) + ) + (tee_local $5 + (i32.and + (i32.shr_u + (i32.add + (tee_local $2 + (i32.shl + (get_local $2) + (get_local $5) ) - (i32.const 245760) ) - (i32.const 16) + (i32.const 245760) ) - (i32.const 2) + (i32.const 16) ) + (i32.const 2) ) ) ) - (i32.shr_u - (i32.shl - (get_local $0) - (get_local $1) - ) - (i32.const 15) + ) + (i32.shr_u + (i32.shl + (get_local $2) + (get_local $5) ) + (i32.const 15) ) ) - (i32.const 7) ) + (i32.const 7) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) + (i32.const 1) + ) + (i32.shl + (get_local $2) + (i32.const 1) ) ) - (i32.const 0) ) + (i32.const 0) ) - (i32.const 2) ) + (i32.const 2) ) ) - (block - (set_local $8 - (i32.const 0) - ) - (set_local $5 - (i32.shl - (get_local $2) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (get_local $14) - (i32.const 1) - ) - ) - (i32.eq - (get_local $14) - (i32.const 31) + ) + (block + (set_local $5 + (get_local $0) + ) + (set_local $13 + (i32.const 0) + ) + (set_local $12 + (i32.shl + (get_local $9) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $15) + (i32.const 1) ) ) + (i32.eq + (get_local $15) + (i32.const 31) + ) ) ) - (set_local $1 - (i32.const 0) - ) - (loop $while-in$18 - (if - (i32.lt_u - (tee_local $4 - (i32.sub - (tee_local $12 - (i32.and - (i32.load offset=4 - (get_local $0) - ) - (i32.const -8) + ) + (set_local $0 + (get_local $2) + ) + (set_local $2 + (i32.const 0) + ) + (loop $while-in$18 + (if + (i32.lt_u + (tee_local $8 + (i32.sub + (tee_local $14 + (i32.and + (i32.load offset=4 + (get_local $0) ) + (i32.const -8) ) - (get_local $2) ) + (get_local $9) ) - (get_local $3) ) - (if - (i32.eq - (get_local $12) - (get_local $2) + (get_local $5) + ) + (if + (i32.eq + (get_local $14) + (get_local $9) + ) + (block + (set_local $4 + (get_local $8) ) - (block - (set_local $3 - (get_local $4) - ) - (set_local $1 - (get_local $0) - ) - (br $jumpthreading$inner$3) + (set_local $3 + (get_local $0) ) - (block - (set_local $3 - (get_local $4) - ) - (set_local $1 - (get_local $0) - ) + (set_local $1 + (get_local $0) + ) + (set_local $19 + (i32.const 90) + ) + (br $jumpthreading$outer$2) + ) + (block + (set_local $5 + (get_local $8) + ) + (set_local $2 + (get_local $0) ) ) ) - (set_local $0 - (select - (get_local $8) - (tee_local $4 - (i32.load offset=20 - (get_local $0) - ) + ) + (set_local $8 + (select + (get_local $13) + (tee_local $8 + (i32.load offset=20 + (get_local $0) ) - (i32.or - (i32.eqz - (get_local $4) - ) - (i32.eq - (get_local $4) - (tee_local $12 - (i32.load + ) + (i32.or + (i32.eqz + (get_local $8) + ) + (i32.eq + (get_local $8) + (tee_local $14 + (i32.load + (i32.add (i32.add - (i32.add - (get_local $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $5) - (i32.const 31) - ) - (i32.const 2) + (get_local $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $12) + (i32.const 31) ) + (i32.const 2) ) ) ) @@ -9665,285 +9754,303 @@ ) ) ) - (set_local $4 - (i32.shl - (get_local $5) - (i32.xor - (i32.and - (tee_local $5 - (i32.eqz - (get_local $12) - ) + ) + (set_local $0 + (i32.shl + (get_local $12) + (i32.xor + (i32.and + (tee_local $12 + (i32.eqz + (get_local $14) ) - (i32.const 1) ) (i32.const 1) ) + (i32.const 1) ) ) - (if - (get_local $5) - (block - (set_local $4 - (get_local $0) - ) - (set_local $0 - (get_local $1) - ) - (br $jumpthreading$inner$2) + ) + (if + (get_local $12) + (block + (set_local $0 + (get_local $5) ) - (block - (set_local $8 - (get_local $0) - ) - (set_local $5 - (get_local $4) - ) - (set_local $0 - (get_local $12) - ) - (br $while-in$18) + (br $jumpthreading$inner$2) + ) + (block + (set_local $13 + (get_local $8) + ) + (set_local $12 + (get_local $0) + ) + (set_local $0 + (get_local $14) ) + (br $while-in$18) ) ) ) - (block - (set_local $4 - (i32.const 0) - ) - (set_local $0 - (i32.const 0) - ) + ) + (block + (set_local $8 + (i32.const 0) ) + (set_local $2 + (i32.const 0) + ) + (br $jumpthreading$inner$2) ) ) - (br_if $jumpthreading$inner$3 - (tee_local $1 - (if - (i32.and - (i32.eqz - (get_local $4) - ) - (i32.eqz - (get_local $0) - ) + (br $jumpthreading$outer$2) + ) + (if + (tee_local $5 + (if + (i32.and + (i32.eqz + (get_local $8) ) - (block - (if - (i32.eqz - (tee_local $1 - (i32.and - (get_local $18) - (i32.or - (tee_local $1 - (i32.shl - (i32.const 2) - (get_local $14) - ) - ) - (i32.sub - (i32.const 0) - (get_local $1) + (i32.eqz + (get_local $2) + ) + ) + (block + (if + (i32.eqz + (tee_local $5 + (i32.and + (get_local $24) + (i32.or + (tee_local $5 + (i32.shl + (i32.const 2) + (get_local $15) ) ) + (i32.sub + (i32.const 0) + (get_local $5) + ) ) ) ) - (block - (set_local $0 - (get_local $2) - ) - (br $do-once$0) + ) + (block + (set_local $0 + (get_local $9) ) + (br $do-once$0) ) - (set_local $5 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.add - (i32.and - (get_local $1) - (i32.sub - (i32.const 0) - (get_local $1) - ) + ) + (set_local $12 + (i32.and + (i32.shr_u + (tee_local $5 + (i32.add + (i32.and + (get_local $5) + (i32.sub + (i32.const 0) + (get_local $5) ) - (i32.const -1) ) + (i32.const -1) ) - (i32.const 12) ) - (i32.const 16) + (i32.const 12) ) + (i32.const 16) ) - (i32.load offset=480 - (i32.shl - (i32.add + ) + (i32.load offset=480 + (i32.shl + (i32.add + (i32.or (i32.or (i32.or (i32.or - (i32.or - (tee_local $4 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.shr_u - (get_local $1) - (get_local $5) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $5) - ) - (tee_local $4 + (tee_local $8 (i32.and (i32.shr_u - (tee_local $1 + (tee_local $5 (i32.shr_u - (get_local $1) - (get_local $4) + (get_local $5) + (get_local $12) ) ) - (i32.const 2) + (i32.const 5) ) - (i32.const 4) + (i32.const 8) ) ) + (get_local $12) ) - (tee_local $4 + (tee_local $8 (i32.and (i32.shr_u - (tee_local $1 + (tee_local $5 (i32.shr_u - (get_local $1) - (get_local $4) + (get_local $5) + (get_local $8) ) ) - (i32.const 1) + (i32.const 2) ) - (i32.const 2) + (i32.const 4) ) ) ) - (tee_local $4 + (tee_local $8 (i32.and (i32.shr_u - (tee_local $1 + (tee_local $5 (i32.shr_u - (get_local $1) - (get_local $4) + (get_local $5) + (get_local $8) ) ) (i32.const 1) ) - (i32.const 1) + (i32.const 2) ) ) ) - (i32.shr_u - (get_local $1) - (get_local $4) + (tee_local $8 + (i32.and + (i32.shr_u + (tee_local $5 + (i32.shr_u + (get_local $5) + (get_local $8) + ) + ) + (i32.const 1) + ) + (i32.const 1) + ) ) ) - (i32.const 2) + (i32.shr_u + (get_local $5) + (get_local $8) + ) ) + (i32.const 2) ) ) - (get_local $4) ) + (get_local $8) ) ) (block (set_local $4 - (get_local $3) + (get_local $0) ) (set_local $3 + (get_local $5) + ) + (set_local $1 + (get_local $2) + ) + (set_local $19 + (i32.const 90) + ) + ) + (block + (set_local $7 (get_local $0) ) + (set_local $6 + (get_local $2) + ) ) - (br $jumpthreading$outer$3) + ) + ) + (if + (i32.eq + (get_local $19) + (i32.const 90) ) (loop $while-in$20 - (set_local $5 + (set_local $2 (i32.lt_u - (tee_local $4 + (tee_local $0 (i32.sub (i32.and (i32.load offset=4 - (get_local $1) + (get_local $3) ) (i32.const -8) ) - (get_local $2) + (get_local $9) ) ) - (get_local $3) + (get_local $4) ) ) - (set_local $3 + (set_local $4 (select + (get_local $0) (get_local $4) - (get_local $3) - (get_local $5) + (get_local $2) ) ) - (set_local $0 + (set_local $1 (select + (get_local $3) (get_local $1) - (get_local $0) - (get_local $5) + (get_local $2) ) ) (if - (tee_local $4 + (tee_local $0 (i32.load offset=16 - (get_local $1) + (get_local $3) ) ) (block - (set_local $1 - (get_local $4) + (set_local $3 + (get_local $0) ) (br $while-in$20) ) ) (br_if $while-in$20 - (tee_local $1 + (tee_local $3 (i32.load offset=20 - (get_local $1) + (get_local $3) ) ) ) (block - (set_local $4 - (get_local $3) + (set_local $7 + (get_local $4) ) - (set_local $3 - (get_local $0) + (set_local $6 + (get_local $1) ) ) ) ) (if - (get_local $3) + (get_local $6) (if (i32.lt_u - (get_local $4) + (get_local $7) (i32.sub (i32.load (i32.const 184) ) - (get_local $2) + (get_local $9) ) ) (block (if (i32.lt_u - (get_local $3) + (get_local $6) (tee_local $8 (i32.load (i32.const 192) @@ -9954,19 +10061,19 @@ ) (if (i32.ge_u - (get_local $3) - (tee_local $5 + (get_local $6) + (tee_local $4 (i32.add - (get_local $3) - (get_local $2) + (get_local $6) + (get_local $9) ) ) ) (call_import $_abort) ) - (set_local $9 + (set_local $5 (i32.load offset=24 - (get_local $3) + (get_local $6) ) ) (block $do-once$21 @@ -9974,10 +10081,10 @@ (i32.eq (tee_local $0 (i32.load offset=12 - (get_local $3) + (get_local $6) ) ) - (get_local $3) + (get_local $6) ) (block (if @@ -9986,7 +10093,7 @@ (i32.load (tee_local $0 (i32.add - (get_local $3) + (get_local $6) (i32.const 20) ) ) @@ -9999,7 +10106,7 @@ (i32.load (tee_local $0 (i32.add - (get_local $3) + (get_local $6) (i32.const 16) ) ) @@ -10007,7 +10114,7 @@ ) ) (block - (set_local $7 + (set_local $10 (i32.const 0) ) (br $do-once$21) @@ -10016,9 +10123,9 @@ ) (loop $while-in$24 (if - (tee_local $11 + (tee_local $3 (i32.load - (tee_local $6 + (tee_local $2 (i32.add (get_local $1) (i32.const 20) @@ -10028,18 +10135,18 @@ ) (block (set_local $1 - (get_local $11) + (get_local $3) ) (set_local $0 - (get_local $6) + (get_local $2) ) (br $while-in$24) ) ) (if - (tee_local $11 + (tee_local $3 (i32.load - (tee_local $6 + (tee_local $2 (i32.add (get_local $1) (i32.const 16) @@ -10049,10 +10156,10 @@ ) (block (set_local $1 - (get_local $11) + (get_local $3) ) (set_local $0 - (get_local $6) + (get_local $2) ) (br $while-in$24) ) @@ -10069,7 +10176,7 @@ (get_local $0) (i32.const 0) ) - (set_local $7 + (set_local $10 (get_local $1) ) ) @@ -10078,9 +10185,9 @@ (block (if (i32.lt_u - (tee_local $11 + (tee_local $3 (i32.load offset=8 - (get_local $3) + (get_local $6) ) ) (get_local $8) @@ -10090,14 +10197,14 @@ (if (i32.ne (i32.load - (tee_local $6 + (tee_local $2 (i32.add - (get_local $11) + (get_local $3) (i32.const 12) ) ) ) - (get_local $3) + (get_local $6) ) (call_import $_abort) ) @@ -10111,18 +10218,18 @@ ) ) ) - (get_local $3) + (get_local $6) ) (block (i32.store - (get_local $6) + (get_local $2) (get_local $0) ) (i32.store (get_local $1) - (get_local $11) + (get_local $3) ) - (set_local $7 + (set_local $10 (get_local $0) ) ) @@ -10133,11 +10240,11 @@ ) (block $do-once$25 (if - (get_local $9) + (get_local $5) (block (if (i32.eq - (get_local $3) + (get_local $6) (i32.load (tee_local $0 (i32.add @@ -10145,7 +10252,7 @@ (i32.shl (tee_local $1 (i32.load offset=28 - (get_local $3) + (get_local $6) ) ) (i32.const 2) @@ -10157,11 +10264,11 @@ (block (i32.store (get_local $0) - (get_local $7) + (get_local $10) ) (if (i32.eqz - (get_local $7) + (get_local $10) ) (block (i32.store @@ -10186,7 +10293,7 @@ (block (if (i32.lt_u - (get_local $9) + (get_local $5) (i32.load (i32.const 192) ) @@ -10198,32 +10305,32 @@ (i32.load (tee_local $0 (i32.add - (get_local $9) + (get_local $5) (i32.const 16) ) ) ) - (get_local $3) + (get_local $6) ) (i32.store (get_local $0) - (get_local $7) + (get_local $10) ) (i32.store offset=20 - (get_local $9) - (get_local $7) + (get_local $5) + (get_local $10) ) ) (br_if $do-once$25 (i32.eqz - (get_local $7) + (get_local $10) ) ) ) ) (if (i32.lt_u - (get_local $7) + (get_local $10) (tee_local $1 (i32.load (i32.const 192) @@ -10233,13 +10340,13 @@ (call_import $_abort) ) (i32.store offset=24 - (get_local $7) - (get_local $9) + (get_local $10) + (get_local $5) ) (if (tee_local $0 (i32.load offset=16 - (get_local $3) + (get_local $6) ) ) (if @@ -10250,12 +10357,12 @@ (call_import $_abort) (block (i32.store offset=16 - (get_local $7) + (get_local $10) (get_local $0) ) (i32.store offset=24 (get_local $0) - (get_local $7) + (get_local $10) ) ) ) @@ -10263,7 +10370,7 @@ (if (tee_local $0 (i32.load offset=20 - (get_local $3) + (get_local $6) ) ) (if @@ -10276,12 +10383,12 @@ (call_import $_abort) (block (i32.store offset=20 - (get_local $7) + (get_local $10) (get_local $0) ) (i32.store offset=24 (get_local $0) - (get_local $7) + (get_local $10) ) ) ) @@ -10292,17 +10399,17 @@ (block $do-once$29 (if (i32.lt_u - (get_local $4) + (get_local $7) (i32.const 16) ) (block (i32.store offset=4 - (get_local $3) + (get_local $6) (i32.or (tee_local $0 (i32.add - (get_local $4) - (get_local $2) + (get_local $7) + (get_local $9) ) ) (i32.const 3) @@ -10312,7 +10419,7 @@ (tee_local $0 (i32.add (i32.add - (get_local $3) + (get_local $6) (get_local $0) ) (i32.const 4) @@ -10328,35 +10435,35 @@ ) (block (i32.store offset=4 - (get_local $3) + (get_local $6) (i32.or - (get_local $2) + (get_local $9) (i32.const 3) ) ) (i32.store offset=4 - (get_local $5) + (get_local $4) (i32.or - (get_local $4) + (get_local $7) (i32.const 1) ) ) (i32.store (i32.add - (get_local $5) (get_local $4) + (get_local $7) ) - (get_local $4) + (get_local $7) ) (set_local $1 (i32.shr_u - (get_local $4) + (get_local $7) (i32.const 3) ) ) (if (i32.lt_u - (get_local $4) + (get_local $7) (i32.const 256) ) (block @@ -10404,10 +10511,10 @@ ) (call_import $_abort) (block - (set_local $13 + (set_local $20 (get_local $2) ) - (set_local $10 + (set_local $16 (get_local $1) ) ) @@ -10420,31 +10527,31 @@ (get_local $1) ) ) - (set_local $13 + (set_local $20 (i32.add (get_local $0) (i32.const 8) ) ) - (set_local $10 + (set_local $16 (get_local $0) ) ) ) (i32.store - (get_local $13) - (get_local $5) + (get_local $20) + (get_local $4) ) (i32.store offset=12 - (get_local $10) - (get_local $5) + (get_local $16) + (get_local $4) ) (i32.store offset=8 - (get_local $5) - (get_local $10) + (get_local $4) + (get_local $16) ) (i32.store offset=12 - (get_local $5) + (get_local $4) (get_local $0) ) (br $do-once$29) @@ -10458,20 +10565,20 @@ (if (tee_local $0 (i32.shr_u - (get_local $4) + (get_local $7) (i32.const 8) ) ) (if (i32.gt_u - (get_local $4) + (get_local $7) (i32.const 16777215) ) (i32.const 31) (i32.or (i32.and (i32.shr_u - (get_local $4) + (get_local $7) (i32.add (tee_local $0 (i32.add @@ -10556,13 +10663,13 @@ ) ) (i32.store offset=28 - (get_local $5) + (get_local $4) (get_local $2) ) (i32.store offset=4 (tee_local $0 (i32.add - (get_local $5) + (get_local $4) (i32.const 16) ) ) @@ -10575,7 +10682,7 @@ (if (i32.eqz (i32.and - (tee_local $6 + (tee_local $3 (i32.load (i32.const 180) ) @@ -10592,32 +10699,32 @@ (i32.store (i32.const 180) (i32.or - (get_local $6) + (get_local $3) (get_local $0) ) ) (i32.store (get_local $1) - (get_local $5) + (get_local $4) ) (i32.store offset=24 - (get_local $5) + (get_local $4) (get_local $1) ) (i32.store offset=12 - (get_local $5) - (get_local $5) + (get_local $4) + (get_local $4) ) (i32.store offset=8 - (get_local $5) - (get_local $5) + (get_local $4) + (get_local $4) ) (br $do-once$29) ) ) (set_local $2 (i32.shl - (get_local $4) + (get_local $7) (select (i32.const 0) (i32.sub @@ -10651,7 +10758,7 @@ ) (i32.const -8) ) - (get_local $4) + (get_local $7) ) ) (set_local $1 @@ -10661,7 +10768,7 @@ ) ) (if - (tee_local $6 + (tee_local $3 (i32.load (tee_local $2 (i32.add @@ -10685,7 +10792,7 @@ (get_local $1) ) (set_local $0 - (get_local $6) + (get_local $3) ) (br $while-in$32) ) @@ -10712,19 +10819,19 @@ (block (i32.store (get_local $0) - (get_local $5) + (get_local $4) ) (i32.store offset=24 - (get_local $5) + (get_local $4) (get_local $1) ) (i32.store offset=12 - (get_local $5) - (get_local $5) + (get_local $4) + (get_local $4) ) (i32.store offset=8 - (get_local $5) - (get_local $5) + (get_local $4) + (get_local $4) ) (br $do-once$29) ) @@ -10734,7 +10841,7 @@ (if (i32.and (i32.ge_u - (tee_local $4 + (tee_local $3 (i32.load (tee_local $1 (i32.add @@ -10757,23 +10864,23 @@ ) (block (i32.store offset=12 + (get_local $3) (get_local $4) - (get_local $5) ) (i32.store (get_local $1) - (get_local $5) + (get_local $4) ) (i32.store offset=8 - (get_local $5) (get_local $4) + (get_local $3) ) (i32.store offset=12 - (get_local $5) + (get_local $4) (get_local $0) ) (i32.store offset=24 - (get_local $5) + (get_local $4) (i32.const 0) ) ) @@ -10785,22 +10892,22 @@ ) (return (i32.add - (get_local $3) + (get_local $6) (i32.const 8) ) ) ) (set_local $0 - (get_local $2) + (get_local $9) ) ) (set_local $0 - (get_local $2) + (get_local $9) ) ) ) (set_local $0 - (get_local $2) + (get_local $9) ) ) ) @@ -10809,7 +10916,7 @@ ) (if (i32.ge_u - (tee_local $3 + (tee_local $2 (i32.load (i32.const 184) ) @@ -10817,7 +10924,7 @@ (get_local $0) ) (block - (set_local $2 + (set_local $3 (i32.load (i32.const 196) ) @@ -10826,7 +10933,7 @@ (i32.gt_u (tee_local $1 (i32.sub - (get_local $3) + (get_local $2) (get_local $0) ) ) @@ -10835,9 +10942,9 @@ (block (i32.store (i32.const 196) - (tee_local $3 + (tee_local $2 (i32.add - (get_local $2) + (get_local $3) (get_local $0) ) ) @@ -10847,7 +10954,7 @@ (get_local $1) ) (i32.store offset=4 - (get_local $3) + (get_local $2) (i32.or (get_local $1) (i32.const 1) @@ -10855,13 +10962,13 @@ ) (i32.store (i32.add - (get_local $3) + (get_local $2) (get_local $1) ) (get_local $1) ) (i32.store offset=4 - (get_local $2) + (get_local $3) (i32.or (get_local $0) (i32.const 3) @@ -10878,9 +10985,9 @@ (i32.const 0) ) (i32.store offset=4 - (get_local $2) + (get_local $3) (i32.or - (get_local $3) + (get_local $2) (i32.const 3) ) ) @@ -10888,8 +10995,8 @@ (tee_local $0 (i32.add (i32.add - (get_local $2) (get_local $3) + (get_local $2) ) (i32.const 4) ) @@ -10905,7 +11012,7 @@ ) (return (i32.add - (get_local $2) + (get_local $3) (i32.const 8) ) ) @@ -10932,9 +11039,9 @@ ) (i32.store (i32.const 200) - (tee_local $3 + (tee_local $2 (i32.add - (tee_local $2 + (tee_local $3 (i32.load (i32.const 200) ) @@ -10944,14 +11051,14 @@ ) ) (i32.store offset=4 - (get_local $3) + (get_local $2) (i32.or (get_local $1) (i32.const 1) ) ) (i32.store offset=4 - (get_local $2) + (get_local $3) (i32.or (get_local $0) (i32.const 3) @@ -10959,7 +11066,7 @@ ) (return (i32.add - (get_local $2) + (get_local $3) (i32.const 8) ) ) @@ -11032,16 +11139,16 @@ ) (if (i32.le_u - (tee_local $10 + (tee_local $9 (i32.and - (tee_local $5 + (tee_local $6 (i32.add (tee_local $1 (i32.load (i32.const 656) ) ) - (tee_local $7 + (tee_local $5 (i32.add (get_local $0) (i32.const 47) @@ -11049,7 +11156,7 @@ ) ) ) - (tee_local $3 + (tee_local $2 (i32.sub (i32.const 0) (get_local $1) @@ -11074,15 +11181,15 @@ (i32.le_u (tee_local $1 (i32.add - (tee_local $2 + (tee_local $3 (i32.load (i32.const 608) ) ) - (get_local $10) + (get_local $9) ) ) - (get_local $2) + (get_local $3) ) (i32.gt_u (get_local $1) @@ -11094,8 +11201,8 @@ ) ) ) - (block $jumpthreading$outer$13 - (block $jumpthreading$inner$13 + (block $jumpthreading$outer$12 + (block $jumpthreading$inner$12 (if (i32.eqz (i32.and @@ -11107,9 +11214,9 @@ ) (block (block $label$break$L279 - (block $jumpthreading$inner$5 - (block $jumpthreading$inner$4 - (br_if $jumpthreading$inner$4 + (block $jumpthreading$inner$4 + (block $jumpthreading$inner$3 + (br_if $jumpthreading$inner$3 (i32.eqz (tee_local $4 (i32.load @@ -11125,7 +11232,7 @@ (block $while-out$37 (if (i32.le_u - (tee_local $2 + (tee_local $3 (i32.load (get_local $1) ) @@ -11135,9 +11242,9 @@ (if (i32.gt_u (i32.add - (get_local $2) + (get_local $3) (i32.load - (tee_local $2 + (tee_local $3 (i32.add (get_local $1) (i32.const 4) @@ -11162,7 +11269,7 @@ ) ) ) - (br $jumpthreading$inner$4) + (br $jumpthreading$inner$3) ) ) (if @@ -11170,19 +11277,19 @@ (tee_local $1 (i32.and (i32.sub - (get_local $5) + (get_local $6) (i32.load (i32.const 188) ) ) - (get_local $3) + (get_local $2) ) ) (i32.const 2147483647) ) (if (i32.eq - (tee_local $3 + (tee_local $2 (call_import $_sbrk (get_local $1) ) @@ -11192,24 +11299,24 @@ (get_local $4) ) (i32.load - (get_local $2) + (get_local $3) ) ) ) - (br_if $jumpthreading$inner$13 + (br_if $jumpthreading$inner$12 (i32.ne - (get_local $3) + (get_local $2) (i32.const -1) ) ) - (br $jumpthreading$inner$5) + (br $jumpthreading$inner$4) ) ) (br $label$break$L279) ) (if (i32.ne - (tee_local $3 + (tee_local $2 (call_import $_sbrk (i32.const 0) ) @@ -11217,9 +11324,9 @@ (i32.const -1) ) (block - (set_local $2 + (set_local $3 (i32.add - (tee_local $5 + (tee_local $6 (i32.load (i32.const 608) ) @@ -11227,7 +11334,7 @@ (tee_local $1 (if (i32.and - (tee_local $2 + (tee_local $3 (i32.add (tee_local $4 (i32.load @@ -11238,17 +11345,17 @@ ) ) (tee_local $1 - (get_local $3) + (get_local $2) ) ) (i32.add (i32.sub - (get_local $10) + (get_local $9) (get_local $1) ) (i32.and (i32.add - (get_local $2) + (get_local $3) (get_local $1) ) (i32.sub @@ -11257,7 +11364,7 @@ ) ) ) - (get_local $10) + (get_local $9) ) ) ) @@ -11283,31 +11390,31 @@ (br_if $label$break$L279 (i32.or (i32.le_u - (get_local $2) - (get_local $5) + (get_local $3) + (get_local $6) ) (i32.gt_u - (get_local $2) + (get_local $3) (get_local $4) ) ) ) ) - (br_if $jumpthreading$inner$13 + (br_if $jumpthreading$inner$12 (i32.eq - (tee_local $2 + (tee_local $3 (call_import $_sbrk (get_local $1) ) ) - (get_local $3) + (get_local $2) ) ) (block - (set_local $3 - (get_local $2) + (set_local $2 + (get_local $3) ) - (br $jumpthreading$inner$5) + (br $jumpthreading$inner$4) ) ) ) @@ -11315,7 +11422,7 @@ ) (br $label$break$L279) ) - (set_local $2 + (set_local $3 (i32.sub (i32.const 0) (get_local $1) @@ -11333,7 +11440,7 @@ (i32.const 2147483647) ) (i32.ne - (get_local $3) + (get_local $2) (i32.const -1) ) ) @@ -11344,7 +11451,7 @@ (i32.and (i32.add (i32.sub - (get_local $7) + (get_local $5) (get_local $1) ) (tee_local $4 @@ -11371,7 +11478,7 @@ (block (drop (call_import $_sbrk - (get_local $2) + (get_local $3) ) ) (br $label$break$L279) @@ -11385,9 +11492,9 @@ ) ) ) - (br_if $jumpthreading$inner$13 + (br_if $jumpthreading$inner$12 (i32.ne - (get_local $3) + (get_local $2) (i32.const -1) ) ) @@ -11405,15 +11512,15 @@ ) (if (i32.lt_u - (get_local $10) + (get_local $9) (i32.const 2147483647) ) (if (i32.and (i32.lt_u - (tee_local $3 + (tee_local $2 (call_import $_sbrk - (get_local $10) + (get_local $9) ) ) (tee_local $1 @@ -11424,7 +11531,7 @@ ) (i32.and (i32.ne - (get_local $3) + (get_local $2) (i32.const -1) ) (i32.ne @@ -11433,12 +11540,12 @@ ) ) ) - (br_if $jumpthreading$inner$13 + (br_if $jumpthreading$inner$12 (i32.gt_u (tee_local $1 (i32.sub (get_local $1) - (get_local $3) + (get_local $2) ) ) (i32.add @@ -11449,11 +11556,11 @@ ) ) ) - (br $jumpthreading$outer$13) + (br $jumpthreading$outer$12) ) (i32.store (i32.const 608) - (tee_local $2 + (tee_local $3 (i32.add (i32.load (i32.const 608) @@ -11464,44 +11571,44 @@ ) (if (i32.gt_u - (get_local $2) + (get_local $3) (i32.load (i32.const 612) ) ) (i32.store (i32.const 612) - (get_local $2) + (get_local $3) ) ) (block $do-once$44 (if - (tee_local $8 + (tee_local $7 (i32.load (i32.const 200) ) ) (block - (set_local $2 + (set_local $3 (i32.const 624) ) - (block $jumpthreading$outer$10 - (block $jumpthreading$inner$10 + (block $jumpthreading$outer$9 + (block $jumpthreading$inner$9 (loop $while-in$49 - (br_if $jumpthreading$inner$10 + (br_if $jumpthreading$inner$9 (i32.eq - (get_local $3) + (get_local $2) (i32.add - (tee_local $10 + (tee_local $9 (i32.load - (get_local $2) + (get_local $3) ) ) - (tee_local $7 + (tee_local $5 (i32.load (tee_local $4 (i32.add - (get_local $2) + (get_local $3) (i32.const 4) ) ) @@ -11511,20 +11618,20 @@ ) ) (br_if $while-in$49 - (tee_local $2 + (tee_local $3 (i32.load offset=8 - (get_local $2) + (get_local $3) ) ) ) ) - (br $jumpthreading$outer$10) + (br $jumpthreading$outer$9) ) (if (i32.eqz (i32.and (i32.load offset=12 - (get_local $2) + (get_local $3) ) (i32.const 8) ) @@ -11532,33 +11639,33 @@ (if (i32.and (i32.lt_u - (get_local $8) - (get_local $3) + (get_local $7) + (get_local $2) ) (i32.ge_u - (get_local $8) - (get_local $10) + (get_local $7) + (get_local $9) ) ) (block (i32.store (get_local $4) (i32.add - (get_local $7) + (get_local $5) (get_local $1) ) ) - (set_local $2 + (set_local $3 (i32.add - (get_local $8) - (tee_local $3 + (get_local $7) + (tee_local $2 (select (i32.and (i32.sub (i32.const 0) - (tee_local $3 + (tee_local $2 (i32.add - (get_local $8) + (get_local $7) (i32.const 8) ) ) @@ -11567,7 +11674,7 @@ ) (i32.const 0) (i32.and - (get_local $3) + (get_local $2) (i32.const 7) ) ) @@ -11578,7 +11685,7 @@ (i32.add (i32.sub (get_local $1) - (get_local $3) + (get_local $2) ) (i32.load (i32.const 188) @@ -11587,14 +11694,14 @@ ) (i32.store (i32.const 200) - (get_local $2) + (get_local $3) ) (i32.store (i32.const 188) (get_local $1) ) (i32.store offset=4 - (get_local $2) + (get_local $3) (i32.or (get_local $1) (i32.const 1) @@ -11602,7 +11709,7 @@ ) (i32.store offset=4 (i32.add - (get_local $2) + (get_local $3) (get_local $1) ) (i32.const 40) @@ -11618,11 +11725,11 @@ ) ) ) - (set_local $12 + (set_local $10 (if (i32.lt_u - (get_local $3) - (tee_local $2 + (get_local $2) + (tee_local $3 (i32.load (i32.const 192) ) @@ -11631,43 +11738,43 @@ (block (i32.store (i32.const 192) - (get_local $3) + (get_local $2) ) - (get_local $3) + (get_local $2) ) - (get_local $2) + (get_local $3) ) ) - (set_local $7 + (set_local $5 (i32.add - (get_local $3) + (get_local $2) (get_local $1) ) ) - (set_local $2 + (set_local $3 (i32.const 624) ) - (block $jumpthreading$outer$11 - (block $jumpthreading$inner$11 + (block $jumpthreading$outer$10 + (block $jumpthreading$inner$10 (loop $while-in$51 (if (i32.eq (i32.load - (get_local $2) + (get_local $3) ) - (get_local $7) + (get_local $5) ) (block (set_local $4 - (get_local $2) + (get_local $3) ) - (br $jumpthreading$inner$11) + (br $jumpthreading$inner$10) ) ) (br_if $while-in$51 - (tee_local $2 + (tee_local $3 (i32.load offset=8 - (get_local $2) + (get_local $3) ) ) ) @@ -11675,12 +11782,12 @@ (i32.const 624) ) ) - (br $jumpthreading$outer$11) + (br $jumpthreading$outer$10) ) (if (i32.and (i32.load offset=12 - (get_local $2) + (get_local $3) ) (i32.const 8) ) @@ -11690,34 +11797,34 @@ (block (i32.store (get_local $4) - (get_local $3) + (get_local $2) ) (i32.store - (tee_local $2 + (tee_local $3 (i32.add - (get_local $2) + (get_local $3) (i32.const 4) ) ) (i32.add (i32.load - (get_local $2) + (get_local $3) ) (get_local $1) ) ) - (set_local $5 + (set_local $6 (i32.add - (tee_local $10 + (tee_local $9 (i32.add - (get_local $3) + (get_local $2) (select (i32.and (i32.sub (i32.const 0) (tee_local $1 (i32.add - (get_local $3) + (get_local $2) (i32.const 8) ) ) @@ -11735,19 +11842,19 @@ (get_local $0) ) ) - (set_local $3 + (set_local $2 (i32.sub (i32.sub - (tee_local $9 + (tee_local $8 (i32.add - (get_local $7) + (get_local $5) (select (i32.and (i32.sub (i32.const 0) (tee_local $1 (i32.add - (get_local $7) + (get_local $5) (i32.const 8) ) ) @@ -11762,13 +11869,13 @@ ) ) ) - (get_local $10) + (get_local $9) ) (get_local $0) ) ) (i32.store offset=4 - (get_local $10) + (get_local $9) (i32.or (get_local $0) (i32.const 3) @@ -11777,8 +11884,8 @@ (block $do-once$52 (if (i32.eq - (get_local $9) (get_local $8) + (get_local $7) ) (block (i32.store @@ -11788,16 +11895,16 @@ (i32.load (i32.const 188) ) - (get_local $3) + (get_local $2) ) ) ) (i32.store (i32.const 200) - (get_local $5) + (get_local $6) ) (i32.store offset=4 - (get_local $5) + (get_local $6) (i32.or (get_local $0) (i32.const 1) @@ -11807,7 +11914,7 @@ (block (if (i32.eq - (get_local $9) + (get_local $8) (i32.load (i32.const 196) ) @@ -11820,16 +11927,16 @@ (i32.load (i32.const 184) ) - (get_local $3) + (get_local $2) ) ) ) (i32.store (i32.const 196) - (get_local $5) + (get_local $6) ) (i32.store offset=4 - (get_local $5) + (get_local $6) (i32.or (get_local $0) (i32.const 1) @@ -11837,7 +11944,7 @@ ) (i32.store (i32.add - (get_local $5) + (get_local $6) (get_local $0) ) (get_local $0) @@ -11853,7 +11960,7 @@ (i32.and (tee_local $1 (i32.load offset=4 - (get_local $9) + (get_local $8) ) ) (i32.const 3) @@ -11861,7 +11968,7 @@ (i32.const 1) ) (block - (set_local $7 + (set_local $5 (i32.and (get_local $1) (i32.const -8) @@ -11880,9 +11987,9 @@ (i32.const 256) ) (block - (set_local $2 + (set_local $3 (i32.load offset=12 - (get_local $9) + (get_local $8) ) ) (block $do-once$55 @@ -11890,7 +11997,7 @@ (i32.ne (tee_local $4 (i32.load offset=8 - (get_local $9) + (get_local $8) ) ) (tee_local $1 @@ -11910,7 +12017,7 @@ (if (i32.lt_u (get_local $4) - (get_local $12) + (get_local $10) ) (call_import $_abort) ) @@ -11919,7 +12026,7 @@ (i32.load offset=12 (get_local $4) ) - (get_local $9) + (get_local $8) ) ) (call_import $_abort) @@ -11928,7 +12035,7 @@ ) (if (i32.eq - (get_local $2) + (get_local $3) (get_local $4) ) (block @@ -11953,20 +12060,20 @@ (block $do-once$57 (if (i32.eq - (get_local $2) + (get_local $3) (get_local $1) ) - (set_local $15 + (set_local $21 (i32.add - (get_local $2) + (get_local $3) (i32.const 8) ) ) (block (if (i32.lt_u - (get_local $2) - (get_local $12) + (get_local $3) + (get_local $10) ) (call_import $_abort) ) @@ -11975,15 +12082,15 @@ (i32.load (tee_local $0 (i32.add - (get_local $2) + (get_local $3) (i32.const 8) ) ) ) - (get_local $9) + (get_local $8) ) (block - (set_local $15 + (set_local $21 (get_local $0) ) (br $do-once$57) @@ -11995,17 +12102,17 @@ ) (i32.store offset=12 (get_local $4) - (get_local $2) + (get_local $3) ) (i32.store - (get_local $15) + (get_local $21) (get_local $4) ) ) (block - (set_local $8 + (set_local $7 (i32.load offset=24 - (get_local $9) + (get_local $8) ) ) (block $do-once$59 @@ -12013,20 +12120,20 @@ (i32.eq (tee_local $0 (i32.load offset=12 - (get_local $9) + (get_local $8) ) ) - (get_local $9) + (get_local $8) ) (block (if (tee_local $1 (i32.load - (tee_local $2 + (tee_local $3 (i32.add (tee_local $0 (i32.add - (get_local $9) + (get_local $8) (i32.const 16) ) ) @@ -12036,7 +12143,7 @@ ) ) (set_local $0 - (get_local $2) + (get_local $3) ) (if (i32.eqz @@ -12047,7 +12154,7 @@ ) ) (block - (set_local $6 + (set_local $11 (i32.const 0) ) (br $do-once$59) @@ -12058,7 +12165,7 @@ (if (tee_local $4 (i32.load - (tee_local $2 + (tee_local $3 (i32.add (get_local $1) (i32.const 20) @@ -12071,7 +12178,7 @@ (get_local $4) ) (set_local $0 - (get_local $2) + (get_local $3) ) (br $while-in$62) ) @@ -12079,7 +12186,7 @@ (if (tee_local $4 (i32.load - (tee_local $2 + (tee_local $3 (i32.add (get_local $1) (i32.const 16) @@ -12092,7 +12199,7 @@ (get_local $4) ) (set_local $0 - (get_local $2) + (get_local $3) ) (br $while-in$62) ) @@ -12101,7 +12208,7 @@ (if (i32.lt_u (get_local $0) - (get_local $12) + (get_local $10) ) (call_import $_abort) (block @@ -12109,7 +12216,7 @@ (get_local $0) (i32.const 0) ) - (set_local $6 + (set_local $11 (get_local $1) ) ) @@ -12120,24 +12227,24 @@ (i32.lt_u (tee_local $4 (i32.load offset=8 - (get_local $9) + (get_local $8) ) ) - (get_local $12) + (get_local $10) ) (call_import $_abort) ) (if (i32.ne (i32.load - (tee_local $2 + (tee_local $3 (i32.add (get_local $4) (i32.const 12) ) ) ) - (get_local $9) + (get_local $8) ) (call_import $_abort) ) @@ -12151,18 +12258,18 @@ ) ) ) - (get_local $9) + (get_local $8) ) (block (i32.store - (get_local $2) + (get_local $3) (get_local $0) ) (i32.store (get_local $1) (get_local $4) ) - (set_local $6 + (set_local $11 (get_local $0) ) ) @@ -12173,13 +12280,13 @@ ) (br_if $label$break$L331 (i32.eqz - (get_local $8) + (get_local $7) ) ) (block $do-once$63 (if (i32.eq - (get_local $9) + (get_local $8) (i32.load (tee_local $0 (i32.add @@ -12187,7 +12294,7 @@ (i32.shl (tee_local $1 (i32.load offset=28 - (get_local $9) + (get_local $8) ) ) (i32.const 2) @@ -12199,10 +12306,10 @@ (block (i32.store (get_local $0) - (get_local $6) + (get_local $11) ) (br_if $do-once$63 - (get_local $6) + (get_local $11) ) (i32.store (i32.const 180) @@ -12224,7 +12331,7 @@ (block (if (i32.lt_u - (get_local $8) + (get_local $7) (i32.load (i32.const 192) ) @@ -12236,25 +12343,25 @@ (i32.load (tee_local $0 (i32.add - (get_local $8) + (get_local $7) (i32.const 16) ) ) ) - (get_local $9) + (get_local $8) ) (i32.store (get_local $0) - (get_local $6) + (get_local $11) ) (i32.store offset=20 - (get_local $8) - (get_local $6) + (get_local $7) + (get_local $11) ) ) (br_if $label$break$L331 (i32.eqz - (get_local $6) + (get_local $11) ) ) ) @@ -12262,8 +12369,8 @@ ) (if (i32.lt_u - (get_local $6) - (tee_local $2 + (get_local $11) + (tee_local $3 (i32.load (i32.const 192) ) @@ -12272,15 +12379,15 @@ (call_import $_abort) ) (i32.store offset=24 - (get_local $6) - (get_local $8) + (get_local $11) + (get_local $7) ) (if (tee_local $1 (i32.load (tee_local $0 (i32.add - (get_local $9) + (get_local $8) (i32.const 16) ) ) @@ -12289,17 +12396,17 @@ (if (i32.lt_u (get_local $1) - (get_local $2) + (get_local $3) ) (call_import $_abort) (block (i32.store offset=16 - (get_local $6) + (get_local $11) (get_local $1) ) (i32.store offset=24 (get_local $1) - (get_local $6) + (get_local $11) ) ) ) @@ -12323,30 +12430,30 @@ (call_import $_abort) (block (i32.store offset=20 - (get_local $6) + (get_local $11) (get_local $0) ) (i32.store offset=24 (get_local $0) - (get_local $6) + (get_local $11) ) ) ) ) ) ) - (set_local $3 + (set_local $2 (i32.add - (get_local $7) - (get_local $3) + (get_local $5) + (get_local $2) ) ) (i32.add - (get_local $9) - (get_local $7) + (get_local $8) + (get_local $5) ) ) - (get_local $9) + (get_local $8) ) (i32.const 4) ) @@ -12359,28 +12466,28 @@ ) ) (i32.store offset=4 - (get_local $5) + (get_local $6) (i32.or - (get_local $3) + (get_local $2) (i32.const 1) ) ) (i32.store (i32.add - (get_local $5) - (get_local $3) + (get_local $6) + (get_local $2) ) - (get_local $3) + (get_local $2) ) (set_local $1 (i32.shr_u - (get_local $3) + (get_local $2) (i32.const 3) ) ) (if (i32.lt_u - (get_local $3) + (get_local $2) (i32.const 256) ) (block @@ -12399,7 +12506,7 @@ (block $do-once$67 (if (i32.and - (tee_local $3 + (tee_local $2 (i32.load (i32.const 176) ) @@ -12416,7 +12523,7 @@ (i32.ge_u (tee_local $1 (i32.load - (tee_local $3 + (tee_local $2 (i32.add (get_local $0) (i32.const 8) @@ -12429,10 +12536,10 @@ ) ) (block - (set_local $16 - (get_local $3) + (set_local $22 + (get_local $2) ) - (set_local $11 + (set_local $17 (get_local $1) ) (br $do-once$67) @@ -12444,36 +12551,36 @@ (i32.store (i32.const 176) (i32.or - (get_local $3) + (get_local $2) (get_local $1) ) ) - (set_local $16 + (set_local $22 (i32.add (get_local $0) (i32.const 8) ) ) - (set_local $11 + (set_local $17 (get_local $0) ) ) ) ) (i32.store - (get_local $16) - (get_local $5) + (get_local $22) + (get_local $6) ) (i32.store offset=12 - (get_local $11) - (get_local $5) + (get_local $17) + (get_local $6) ) (i32.store offset=8 - (get_local $5) - (get_local $11) + (get_local $6) + (get_local $17) ) (i32.store offset=12 - (get_local $5) + (get_local $6) (get_local $0) ) (br $do-once$52) @@ -12483,12 +12590,12 @@ (i32.add (i32.const 480) (i32.shl - (tee_local $2 + (tee_local $3 (block $do-once$69 (if (tee_local $0 (i32.shr_u - (get_local $3) + (get_local $2) (i32.const 8) ) ) @@ -12496,14 +12603,14 @@ (br_if $do-once$69 (i32.const 31) (i32.gt_u - (get_local $3) + (get_local $2) (i32.const 16777215) ) ) (i32.or (i32.and (i32.shr_u - (get_local $3) + (get_local $2) (i32.add (tee_local $0 (i32.add @@ -12518,7 +12625,7 @@ (tee_local $0 (i32.shl (get_local $0) - (tee_local $2 + (tee_local $3 (i32.and (i32.shr_u (i32.add @@ -12539,7 +12646,7 @@ (i32.const 4) ) ) - (get_local $2) + (get_local $3) ) (tee_local $1 (i32.and @@ -12589,13 +12696,13 @@ ) ) (i32.store offset=28 - (get_local $5) - (get_local $2) + (get_local $6) + (get_local $3) ) (i32.store offset=4 (tee_local $0 (i32.add - (get_local $5) + (get_local $6) (i32.const 16) ) ) @@ -12616,7 +12723,7 @@ (tee_local $0 (i32.shl (i32.const 1) - (get_local $2) + (get_local $3) ) ) ) @@ -12631,37 +12738,37 @@ ) (i32.store (get_local $1) - (get_local $5) + (get_local $6) ) (i32.store offset=24 - (get_local $5) + (get_local $6) (get_local $1) ) (i32.store offset=12 - (get_local $5) - (get_local $5) + (get_local $6) + (get_local $6) ) (i32.store offset=8 - (get_local $5) - (get_local $5) + (get_local $6) + (get_local $6) ) (br $do-once$52) ) ) - (set_local $2 + (set_local $3 (i32.shl - (get_local $3) + (get_local $2) (select (i32.const 0) (i32.sub (i32.const 25) (i32.shr_u - (get_local $2) + (get_local $3) (i32.const 1) ) ) (i32.eq - (get_local $2) + (get_local $3) (i32.const 31) ) ) @@ -12672,11 +12779,11 @@ (get_local $1) ) ) - (block $jumpthreading$outer$7 - (block $jumpthreading$inner$7 - (block $jumpthreading$inner$6 + (block $jumpthreading$outer$6 + (block $jumpthreading$inner$6 + (block $jumpthreading$inner$5 (loop $while-in$72 - (br_if $jumpthreading$inner$7 + (br_if $jumpthreading$inner$6 (i32.eq (i32.and (i32.load offset=4 @@ -12684,19 +12791,19 @@ ) (i32.const -8) ) - (get_local $3) + (get_local $2) ) ) (set_local $1 (i32.shl - (get_local $2) + (get_local $3) (i32.const 1) ) ) (if (tee_local $4 (i32.load - (tee_local $2 + (tee_local $3 (i32.add (i32.add (get_local $0) @@ -12704,7 +12811,7 @@ ) (i32.shl (i32.shr_u - (get_local $2) + (get_local $3) (i32.const 31) ) (i32.const 2) @@ -12714,7 +12821,7 @@ ) ) (block - (set_local $2 + (set_local $3 (get_local $1) ) (set_local $0 @@ -12727,9 +12834,9 @@ (get_local $0) ) (set_local $0 - (get_local $2) + (get_local $3) ) - (br $jumpthreading$inner$6) + (br $jumpthreading$inner$5) ) ) ) @@ -12745,29 +12852,29 @@ (block (i32.store (get_local $0) - (get_local $5) + (get_local $6) ) (i32.store offset=24 - (get_local $5) + (get_local $6) (get_local $1) ) (i32.store offset=12 - (get_local $5) - (get_local $5) + (get_local $6) + (get_local $6) ) (i32.store offset=8 - (get_local $5) - (get_local $5) + (get_local $6) + (get_local $6) ) (br $do-once$52) ) ) - (br $jumpthreading$outer$7) + (br $jumpthreading$outer$6) ) (if (i32.and (i32.ge_u - (tee_local $2 + (tee_local $3 (i32.load (tee_local $1 (i32.add @@ -12777,7 +12884,7 @@ ) ) ) - (tee_local $3 + (tee_local $2 (i32.load (i32.const 192) ) @@ -12785,28 +12892,28 @@ ) (i32.ge_u (get_local $0) - (get_local $3) + (get_local $2) ) ) (block (i32.store offset=12 - (get_local $2) - (get_local $5) + (get_local $3) + (get_local $6) ) (i32.store (get_local $1) - (get_local $5) + (get_local $6) ) (i32.store offset=8 - (get_local $5) - (get_local $2) + (get_local $6) + (get_local $3) ) (i32.store offset=12 - (get_local $5) + (get_local $6) (get_local $0) ) (i32.store offset=24 - (get_local $5) + (get_local $6) (i32.const 0) ) ) @@ -12818,7 +12925,7 @@ ) (return (i32.add - (get_local $10) + (get_local $9) (i32.const 8) ) ) @@ -12829,24 +12936,24 @@ (block $while-out$73 (if (i32.le_u - (tee_local $2 + (tee_local $3 (i32.load (get_local $4) ) ) - (get_local $8) + (get_local $7) ) (br_if $while-out$73 (i32.gt_u - (tee_local $2 + (tee_local $3 (i32.add - (get_local $2) + (get_local $3) (i32.load offset=4 (get_local $4) ) ) ) - (get_local $8) + (get_local $7) ) ) ) @@ -12858,22 +12965,22 @@ (br $while-in$74) ) ) - (set_local $6 + (set_local $5 (i32.add (tee_local $4 (i32.add - (get_local $2) + (get_local $3) (i32.const -47) ) ) (i32.const 8) ) ) - (set_local $11 + (set_local $8 (i32.add - (tee_local $7 + (tee_local $9 (select - (get_local $8) + (get_local $7) (tee_local $4 (i32.add (get_local $4) @@ -12881,13 +12988,13 @@ (i32.and (i32.sub (i32.const 0) - (get_local $6) + (get_local $5) ) (i32.const 7) ) (i32.const 0) (i32.and - (get_local $6) + (get_local $5) (i32.const 7) ) ) @@ -12895,9 +13002,9 @@ ) (i32.lt_u (get_local $4) - (tee_local $10 + (tee_local $6 (i32.add - (get_local $8) + (get_local $7) (i32.const 16) ) ) @@ -12909,9 +13016,9 @@ ) (i32.store (i32.const 200) - (tee_local $6 + (tee_local $5 (i32.add - (get_local $3) + (get_local $2) (tee_local $4 (select (i32.and @@ -12919,7 +13026,7 @@ (i32.const 0) (tee_local $4 (i32.add - (get_local $3) + (get_local $2) (i32.const 8) ) ) @@ -12949,7 +13056,7 @@ ) ) (i32.store offset=4 - (get_local $6) + (get_local $5) (i32.or (get_local $4) (i32.const 1) @@ -12957,7 +13064,7 @@ ) (i32.store offset=4 (i32.add - (get_local $6) + (get_local $5) (get_local $4) ) (i32.const 40) @@ -12971,39 +13078,39 @@ (i32.store (tee_local $4 (i32.add - (get_local $7) + (get_local $9) (i32.const 4) ) ) (i32.const 27) ) (i32.store - (get_local $11) + (get_local $8) (i32.load (i32.const 624) ) ) (i32.store offset=4 - (get_local $11) + (get_local $8) (i32.load (i32.const 628) ) ) (i32.store offset=8 - (get_local $11) + (get_local $8) (i32.load (i32.const 632) ) ) (i32.store offset=12 - (get_local $11) + (get_local $8) (i32.load (i32.const 636) ) ) (i32.store (i32.const 624) - (get_local $3) + (get_local $2) ) (i32.store (i32.const 628) @@ -13015,11 +13122,11 @@ ) (i32.store (i32.const 632) - (get_local $11) + (get_local $8) ) (set_local $1 (i32.add - (get_local $7) + (get_local $9) (i32.const 24) ) ) @@ -13039,14 +13146,14 @@ (get_local $1) (i32.const 4) ) - (get_local $2) + (get_local $3) ) ) ) (if (i32.ne + (get_local $9) (get_local $7) - (get_local $8) ) (block (i32.store @@ -13059,30 +13166,30 @@ ) ) (i32.store offset=4 - (get_local $8) + (get_local $7) (i32.or - (tee_local $6 + (tee_local $5 (i32.sub + (get_local $9) (get_local $7) - (get_local $8) ) ) (i32.const 1) ) ) (i32.store - (get_local $7) - (get_local $6) + (get_local $9) + (get_local $5) ) - (set_local $3 + (set_local $2 (i32.shr_u - (get_local $6) + (get_local $5) (i32.const 3) ) ) (if (i32.lt_u - (get_local $6) + (get_local $5) (i32.const 256) ) (block @@ -13091,7 +13198,7 @@ (i32.const 216) (i32.shl (i32.shl - (get_local $3) + (get_local $2) (i32.const 1) ) (i32.const 2) @@ -13100,23 +13207,23 @@ ) (if (i32.and - (tee_local $2 + (tee_local $3 (i32.load (i32.const 176) ) ) - (tee_local $3 + (tee_local $2 (i32.shl (i32.const 1) - (get_local $3) + (get_local $2) ) ) ) (if (i32.lt_u - (tee_local $3 + (tee_local $2 (i32.load - (tee_local $2 + (tee_local $3 (i32.add (get_local $1) (i32.const 8) @@ -13130,74 +13237,74 @@ ) (call_import $_abort) (block - (set_local $17 - (get_local $2) - ) - (set_local $9 + (set_local $23 (get_local $3) ) + (set_local $18 + (get_local $2) + ) ) ) (block (i32.store (i32.const 176) (i32.or - (get_local $2) (get_local $3) + (get_local $2) ) ) - (set_local $17 + (set_local $23 (i32.add (get_local $1) (i32.const 8) ) ) - (set_local $9 + (set_local $18 (get_local $1) ) ) ) (i32.store - (get_local $17) - (get_local $8) + (get_local $23) + (get_local $7) ) (i32.store offset=12 - (get_local $9) - (get_local $8) + (get_local $18) + (get_local $7) ) (i32.store offset=8 - (get_local $8) - (get_local $9) + (get_local $7) + (get_local $18) ) (i32.store offset=12 - (get_local $8) + (get_local $7) (get_local $1) ) (br $do-once$44) ) ) - (set_local $3 + (set_local $2 (i32.add (i32.const 480) (i32.shl - (tee_local $2 + (tee_local $3 (if (tee_local $1 (i32.shr_u - (get_local $6) + (get_local $5) (i32.const 8) ) ) (if (i32.gt_u - (get_local $6) + (get_local $5) (i32.const 16777215) ) (i32.const 31) (i32.or (i32.and (i32.shr_u - (get_local $6) + (get_local $5) (i32.add (tee_local $1 (i32.add @@ -13205,14 +13312,14 @@ (i32.const 14) (i32.or (i32.or - (tee_local $3 + (tee_local $2 (i32.and (i32.shr_u (i32.add (tee_local $1 (i32.shl (get_local $1) - (tee_local $2 + (tee_local $3 (i32.and (i32.shr_u (i32.add @@ -13233,16 +13340,16 @@ (i32.const 4) ) ) - (get_local $2) + (get_local $3) ) - (tee_local $3 + (tee_local $2 (i32.and (i32.shr_u (i32.add (tee_local $1 (i32.shl (get_local $1) - (get_local $3) + (get_local $2) ) ) (i32.const 245760) @@ -13257,7 +13364,7 @@ (i32.shr_u (i32.shl (get_local $1) - (get_local $3) + (get_local $2) ) (i32.const 15) ) @@ -13282,15 +13389,15 @@ ) ) (i32.store offset=28 - (get_local $8) - (get_local $2) + (get_local $7) + (get_local $3) ) (i32.store offset=20 - (get_local $8) + (get_local $7) (i32.const 0) ) (i32.store - (get_local $10) + (get_local $6) (i32.const 0) ) (if @@ -13304,7 +13411,7 @@ (tee_local $1 (i32.shl (i32.const 1) - (get_local $2) + (get_local $3) ) ) ) @@ -13318,38 +13425,38 @@ ) ) (i32.store - (get_local $3) - (get_local $8) + (get_local $2) + (get_local $7) ) (i32.store offset=24 - (get_local $8) - (get_local $3) + (get_local $7) + (get_local $2) ) (i32.store offset=12 - (get_local $8) - (get_local $8) + (get_local $7) + (get_local $7) ) (i32.store offset=8 - (get_local $8) - (get_local $8) + (get_local $7) + (get_local $7) ) (br $do-once$44) ) ) - (set_local $2 + (set_local $3 (i32.shl - (get_local $6) + (get_local $5) (select (i32.const 0) (i32.sub (i32.const 25) (i32.shr_u - (get_local $2) + (get_local $3) (i32.const 1) ) ) (i32.eq - (get_local $2) + (get_local $3) (i32.const 31) ) ) @@ -13357,14 +13464,14 @@ ) (set_local $1 (i32.load - (get_local $3) + (get_local $2) ) ) - (block $jumpthreading$outer$9 - (block $jumpthreading$inner$9 - (block $jumpthreading$inner$8 + (block $jumpthreading$outer$8 + (block $jumpthreading$inner$8 + (block $jumpthreading$inner$7 (loop $while-in$78 - (br_if $jumpthreading$inner$9 + (br_if $jumpthreading$inner$8 (i32.eq (i32.and (i32.load offset=4 @@ -13372,19 +13479,19 @@ ) (i32.const -8) ) - (get_local $6) + (get_local $5) ) ) - (set_local $3 + (set_local $2 (i32.shl - (get_local $2) + (get_local $3) (i32.const 1) ) ) (if (tee_local $4 (i32.load - (tee_local $2 + (tee_local $3 (i32.add (i32.add (get_local $1) @@ -13392,7 +13499,7 @@ ) (i32.shl (i32.shr_u - (get_local $2) + (get_local $3) (i32.const 31) ) (i32.const 2) @@ -13402,8 +13509,8 @@ ) ) (block - (set_local $2 - (get_local $3) + (set_local $3 + (get_local $2) ) (set_local $1 (get_local $4) @@ -13411,13 +13518,13 @@ (br $while-in$78) ) (block - (set_local $3 + (set_local $2 (get_local $1) ) (set_local $1 - (get_local $2) + (get_local $3) ) - (br $jumpthreading$inner$8) + (br $jumpthreading$inner$7) ) ) ) @@ -13433,31 +13540,31 @@ (block (i32.store (get_local $1) - (get_local $8) + (get_local $7) ) (i32.store offset=24 - (get_local $8) - (get_local $3) + (get_local $7) + (get_local $2) ) (i32.store offset=12 - (get_local $8) - (get_local $8) + (get_local $7) + (get_local $7) ) (i32.store offset=8 - (get_local $8) - (get_local $8) + (get_local $7) + (get_local $7) ) (br $do-once$44) ) ) - (br $jumpthreading$outer$9) + (br $jumpthreading$outer$8) ) (if (i32.and (i32.ge_u (tee_local $4 (i32.load - (tee_local $3 + (tee_local $2 (i32.add (get_local $1) (i32.const 8) @@ -13465,7 +13572,7 @@ ) ) ) - (tee_local $2 + (tee_local $3 (i32.load (i32.const 192) ) @@ -13473,28 +13580,28 @@ ) (i32.ge_u (get_local $1) - (get_local $2) + (get_local $3) ) ) (block (i32.store offset=12 (get_local $4) - (get_local $8) + (get_local $7) ) (i32.store - (get_local $3) - (get_local $8) + (get_local $2) + (get_local $7) ) (i32.store offset=8 - (get_local $8) + (get_local $7) (get_local $4) ) (i32.store offset=12 - (get_local $8) + (get_local $7) (get_local $1) ) (i32.store offset=24 - (get_local $8) + (get_local $7) (i32.const 0) ) ) @@ -13508,25 +13615,25 @@ (if (i32.or (i32.eqz - (tee_local $2 + (tee_local $3 (i32.load (i32.const 192) ) ) ) (i32.lt_u - (get_local $3) (get_local $2) + (get_local $3) ) ) (i32.store (i32.const 192) - (get_local $3) + (get_local $2) ) ) (i32.store (i32.const 624) - (get_local $3) + (get_local $2) ) (i32.store (i32.const 628) @@ -13546,7 +13653,7 @@ (i32.const 208) (i32.const -1) ) - (set_local $2 + (set_local $3 (i32.const 0) ) (loop $while-in$47 @@ -13556,7 +13663,7 @@ (i32.const 216) (i32.shl (i32.shl - (get_local $2) + (get_local $3) (i32.const 1) ) (i32.const 2) @@ -13571,9 +13678,9 @@ ) (br_if $while-in$47 (i32.ne - (tee_local $2 + (tee_local $3 (i32.add - (get_local $2) + (get_local $3) (i32.const 1) ) ) @@ -13583,17 +13690,17 @@ ) (i32.store (i32.const 200) - (tee_local $2 + (tee_local $3 (i32.add - (get_local $3) - (tee_local $3 + (get_local $2) + (tee_local $2 (select (i32.and (i32.sub (i32.const 0) - (tee_local $3 + (tee_local $2 (i32.add - (get_local $3) + (get_local $2) (i32.const 8) ) ) @@ -13602,7 +13709,7 @@ ) (i32.const 0) (i32.and - (get_local $3) + (get_local $2) (i32.const 7) ) ) @@ -13618,12 +13725,12 @@ (get_local $1) (i32.const -40) ) - (get_local $3) + (get_local $2) ) ) ) (i32.store offset=4 - (get_local $2) + (get_local $3) (i32.or (get_local $1) (i32.const 1) @@ -13631,7 +13738,7 @@ ) (i32.store offset=4 (i32.add - (get_local $2) + (get_local $3) (get_local $1) ) (i32.const 40) @@ -13666,9 +13773,9 @@ ) (i32.store (i32.const 200) - (tee_local $3 + (tee_local $2 (i32.add - (tee_local $2 + (tee_local $3 (i32.load (i32.const 200) ) @@ -13678,14 +13785,14 @@ ) ) (i32.store offset=4 - (get_local $3) + (get_local $2) (i32.or (get_local $1) (i32.const 1) ) ) (i32.store offset=4 - (get_local $2) + (get_local $3) (i32.or (get_local $0) (i32.const 3) @@ -13693,7 +13800,7 @@ ) (return (i32.add - (get_local $2) + (get_local $3) (i32.const 8) ) ) |