diff options
-rw-r--r-- | src/passes/SimplifyLocals.cpp | 48 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm | 4929 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm.imprecise | 4929 |
3 files changed, 4812 insertions, 5094 deletions
diff --git a/src/passes/SimplifyLocals.cpp b/src/passes/SimplifyLocals.cpp index 5315edac4..efc73aa29 100644 --- a/src/passes/SimplifyLocals.cpp +++ b/src/passes/SimplifyLocals.cpp @@ -43,7 +43,7 @@ namespace wasm { // Helper classes struct GetLocalCounter : public PostWalker<GetLocalCounter, Visitor<GetLocalCounter>> { - std::vector<int>* numGetLocals; + std::vector<Index>* numGetLocals; void visitGetLocal(GetLocal *curr) { (*numGetLocals)[curr->index]++; @@ -51,7 +51,7 @@ struct GetLocalCounter : public PostWalker<GetLocalCounter, Visitor<GetLocalCoun }; struct SetLocalRemover : public PostWalker<SetLocalRemover, Visitor<SetLocalRemover>> { - std::vector<int>* numGetLocals; + std::vector<Index>* numGetLocals; void visitSetLocal(SetLocal *curr) { if ((*numGetLocals)[curr->index] == 0) { @@ -114,6 +114,12 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals, // whether we need to run an additional cycle bool anotherCycle; + // whether this is the first cycle + bool firstCycle; + + // local => # of get_locals for it + std::vector<Index> numGetLocals; + static void doNoteNonLinear(SimplifyLocals* self, Expression** currp) { auto* curr = *currp; if (curr->is<Break>()) { @@ -187,9 +193,15 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals, if (found != sinkables.end()) { // sink it, and nop the origin auto* set = (*found->second.item)->cast<SetLocal>(); - replaceCurrent(set); - assert(!set->isTee()); - set->setTee(true); + if (firstCycle) { + // just one get_local of this, so just sink the value + assert(numGetLocals[curr->index] == 1); + replaceCurrent(set->value); + } else { + replaceCurrent(set); + assert(!set->isTee()); + set->setTee(true); + } // reuse the getlocal that is dying *found->second.item = curr; ExpressionManipulator::nop(curr); @@ -259,7 +271,7 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals, self->checkInvalidations(effects); } - if (set && !set->isTee()) { + if (set && !set->isTee() && (!self->firstCycle || self->numGetLocals[set->index] == 1)) { Index index = set->index; assert(self->sinkables.count(index) == 0); self->sinkables.emplace(std::make_pair(index, SinkableInfo(currp))); @@ -397,11 +409,22 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals, } void doWalkFunction(Function* func) { + // scan get_locals + numGetLocals.resize(func->getNumLocals()); + std::fill(numGetLocals.begin(), numGetLocals.end(), 0); + GetLocalCounter counter; + counter.numGetLocals = &numGetLocals; + counter.walkFunction(func); // multiple passes may be required per function, consider this: // x = load // y = store // c(x, y) - // the load cannot cross the store, but y can be sunk, after which so can x + // the load cannot cross the store, but y can be sunk, after which so can x. + // + // we start with a cycle focusing on single-use locals, which are easy to + // sink (we don't need to put a set), and a good match for common compiler + // output patterns. further cycles do fully general sinking. + firstCycle = true; do { anotherCycle = false; // main operation @@ -435,15 +458,16 @@ struct SimplifyLocals : public WalkerPass<LinearExecutionWalker<SimplifyLocals, sinkables.clear(); blockBreaks.clear(); unoptimizableBlocks.clear(); + if (firstCycle) { + firstCycle = false; + anotherCycle = true; + } } while (anotherCycle); // Finally, after optimizing a function, we can see if we have set_locals // for a local with no remaining gets, in which case, we can // remove the set. - // First, count get_locals - std::vector<int> numGetLocals; // local => # of get_locals for it - numGetLocals.resize(func->getNumLocals()); - GetLocalCounter counter; - counter.numGetLocals = &numGetLocals; + // First, recount get_locals + std::fill(numGetLocals.begin(), numGetLocals.end(), 0); counter.walkFunction(func); // Second, remove unneeded sets SetLocalRemover remover; diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm index bb4696f9f..4c032627d 100644 --- a/test/emcc_hello_world.fromasm +++ b/test/emcc_hello_world.fromasm @@ -1592,7 +1592,7 @@ (local $6 i32) (local $7 i32) (if - (tee_local $6 + (tee_local $3 (i32.load (tee_local $5 (i32.add @@ -1603,8 +1603,8 @@ ) ) (block - (set_local $3 - (get_local $6) + (set_local $6 + (get_local $3) ) (set_local $7 (i32.const 5) @@ -1618,7 +1618,7 @@ (i32.const 0) ) (block - (set_local $3 + (set_local $6 (i32.load (get_local $5) ) @@ -1636,26 +1636,26 @@ (i32.const 5) ) (block - (set_local $3 - (i32.lt_u - (i32.sub - (get_local $3) - (tee_local $6 - (i32.load - (tee_local $5 - (i32.add - (get_local $2) - (i32.const 20) - ) - ) + (set_local $4 + (tee_local $3 + (i32.load + (tee_local $5 + (i32.add + (get_local $2) + (i32.const 20) ) ) ) - (get_local $1) ) ) (if - (get_local $3) + (i32.lt_u + (i32.sub + (get_local $6) + (get_local $3) + ) + (get_local $1) + ) (block (set_local $4 (call_indirect $FUNCSIG$iiii @@ -1701,7 +1701,7 @@ (i32.const 0) ) (br $label$break$L10 - (get_local $6) + (get_local $4) ) ) ) @@ -1710,7 +1710,7 @@ (i32.load8_s (i32.add (get_local $0) - (tee_local $4 + (tee_local $6 (i32.add (get_local $3) (i32.const -1) @@ -1722,7 +1722,7 @@ ) (br $while-out$2) (set_local $3 - (get_local $4) + (get_local $6) ) ) (br $while-in$3) @@ -1776,7 +1776,7 @@ (set_local $2 (i32.const 0) ) - (get_local $6) + (get_local $4) ) ) ) @@ -1808,19 +1808,21 @@ (local $1 i32) (local $2 i32) (set_local $1 + (i32.load8_s + (tee_local $2 + (i32.add + (get_local $0) + (i32.const 74) + ) + ) + ) + ) + (i32.store8 + (get_local $2) (i32.and (i32.or (i32.add - (tee_local $1 - (i32.load8_s - (tee_local $2 - (i32.add - (get_local $0) - (i32.const 74) - ) - ) - ) - ) + (get_local $1) (i32.const 255) ) (get_local $1) @@ -1828,10 +1830,6 @@ (i32.const 255) ) ) - (i32.store8 - (get_local $2) - (get_local $1) - ) (if (i32.and (tee_local $1 @@ -2124,7 +2122,7 @@ (block $label$break$L1 (if (i32.and - (tee_local $6 + (tee_local $5 (i32.ne (get_local $2) (i32.const 0) @@ -2139,7 +2137,7 @@ ) ) (block - (set_local $6 + (set_local $5 (i32.and (get_local $1) (i32.const 255) @@ -2160,7 +2158,7 @@ ) (i32.shr_s (i32.shl - (get_local $6) + (get_local $5) (i32.const 24) ) (i32.const 24) @@ -2170,7 +2168,7 @@ (set_local $4 (get_local $3) ) - (set_local $5 + (set_local $6 (get_local $2) ) (set_local $3 @@ -2236,7 +2234,7 @@ (get_local $0) ) (set_local $15 - (get_local $6) + (get_local $5) ) (set_local $3 (i32.const 5) @@ -2255,7 +2253,7 @@ (set_local $4 (get_local $14) ) - (set_local $5 + (set_local $6 (get_local $11) ) (set_local $3 @@ -2281,7 +2279,7 @@ (if (i32.eq (i32.load8_s - (get_local $5) + (get_local $6) ) (i32.shr_s (i32.shl @@ -2301,7 +2299,7 @@ (get_local $4) ) (set_local $8 - (get_local $5) + (get_local $6) ) ) (block @@ -2318,41 +2316,41 @@ (i32.const 3) ) (block + (set_local $1 + (get_local $6) + ) (loop $while-in$6 (block $while-out$5 - (set_local $1 - (i32.add - (tee_local $6 - (i32.xor - (i32.load - (get_local $5) - ) - (get_local $2) - ) - ) - (i32.const -16843009) - ) - ) (br_if $while-out$5 (i32.and (i32.xor (i32.and - (get_local $6) + (tee_local $5 + (i32.xor + (i32.load + (get_local $1) + ) + (get_local $2) + ) + ) (i32.const -2139062144) ) (i32.const -2139062144) ) - (get_local $1) + (i32.add + (get_local $5) + (i32.const -16843009) + ) ) ) (set_local $1 (i32.add - (get_local $5) + (get_local $1) (i32.const 4) ) ) (if - (i32.gt_u + (i32.le_u (tee_local $4 (i32.add (get_local $4) @@ -2361,9 +2359,6 @@ ) (i32.const 3) ) - (set_local $5 - (get_local $1) - ) (block (set_local $12 (get_local $4) @@ -2384,7 +2379,7 @@ (get_local $4) ) (set_local $9 - (get_local $5) + (get_local $1) ) ) (block @@ -2392,7 +2387,7 @@ (get_local $4) ) (set_local $13 - (get_local $5) + (get_local $6) ) (set_local $3 (i32.const 11) @@ -2674,8 +2669,8 @@ (local $11 i32) (local $12 i32) (local $13 i32) - (local $14 f64) - (local $15 i32) + (local $14 i32) + (local $15 f64) (local $16 i32) (local $17 i32) (local $18 i32) @@ -2688,9 +2683,9 @@ (local $25 i32) (local $26 i32) (local $27 i32) - (local $28 i32) + (local $28 f64) (local $29 i32) - (local $30 f64) + (local $30 i32) (local $31 i32) (local $32 i32) (local $33 i32) @@ -2743,8 +2738,7 @@ (local $80 i32) (local $81 i32) (local $82 i32) - (local $83 i32) - (set_local $31 + (set_local $30 (get_global $STACKTOP) ) (set_global $STACKTOP @@ -2760,33 +2754,33 @@ ) (call_import $abort) ) - (set_local $25 + (set_local $24 (i32.add - (get_local $31) + (get_local $30) (i32.const 16) ) ) - (set_local $19 - (get_local $31) + (set_local $18 + (get_local $30) ) - (set_local $63 + (set_local $62 (i32.add - (get_local $31) + (get_local $30) (i32.const 528) ) ) - (set_local $45 + (set_local $42 (i32.ne (get_local $0) (i32.const 0) ) ) - (set_local $71 - (tee_local $28 + (set_local $70 + (tee_local $26 (i32.add (tee_local $5 (i32.add - (get_local $31) + (get_local $30) (i32.const 536) ) ) @@ -2794,89 +2788,89 @@ ) ) ) - (set_local $72 + (set_local $71 (i32.add (get_local $5) (i32.const 39) ) ) - (set_local $76 + (set_local $75 (i32.add - (tee_local $73 + (tee_local $72 (i32.add - (get_local $31) + (get_local $30) (i32.const 8) ) ) (i32.const 4) ) ) - (set_local $53 + (set_local $51 (i32.add (tee_local $5 (i32.add - (get_local $31) + (get_local $30) (i32.const 576) ) ) (i32.const 12) ) ) - (set_local $74 + (set_local $73 (i32.add (get_local $5) (i32.const 11) ) ) - (set_local $77 + (set_local $76 (i32.sub - (tee_local $40 - (get_local $53) + (tee_local $38 + (get_local $51) ) - (tee_local $64 - (tee_local $29 + (tee_local $63 + (tee_local $27 (i32.add - (get_local $31) + (get_local $30) (i32.const 588) ) ) ) ) ) - (set_local $78 + (set_local $77 (i32.sub (i32.const -2) - (get_local $64) + (get_local $63) ) ) - (set_local $79 + (set_local $78 (i32.add - (get_local $40) + (get_local $38) (i32.const 2) ) ) - (set_local $81 + (set_local $80 (i32.add - (tee_local $80 + (tee_local $79 (i32.add - (get_local $31) + (get_local $30) (i32.const 24) ) ) (i32.const 288) ) ) - (set_local $75 - (tee_local $46 + (set_local $74 + (tee_local $43 (i32.add - (get_local $29) + (get_local $27) (i32.const 9) ) ) ) - (set_local $54 + (set_local $52 (i32.add - (get_local $29) + (get_local $27) (i32.const 8) ) ) @@ -2939,13 +2933,13 @@ (get_local $20) ) (block - (set_local $82 + (set_local $81 (get_local $22) ) - (set_local $83 + (set_local $82 (get_local $8) ) - (set_local $12 + (set_local $11 (i32.const 242) ) (br $label$break$L1) @@ -2969,21 +2963,21 @@ ) ) ) - (set_local $55 + (set_local $53 (get_local $5) ) - (set_local $65 + (set_local $64 (get_local $5) ) - (set_local $12 + (set_local $11 (i32.const 9) ) (br $label$break$L9) ) - (set_local $41 + (set_local $39 (get_local $5) ) - (set_local $56 + (set_local $54 (get_local $5) ) (br $label$break$L9) @@ -3004,34 +2998,34 @@ (block $label$break$L12 (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 9) ) (loop $while-in$8 (block $while-out$7 - (set_local $12 + (set_local $11 (i32.const 0) ) (if (i32.ne (i32.load8_s offset=1 - (get_local $55) + (get_local $53) ) (i32.const 37) ) (block - (set_local $41 - (get_local $55) + (set_local $39 + (get_local $53) ) - (set_local $56 - (get_local $65) + (set_local $54 + (get_local $64) ) (br $label$break$L12) ) ) (set_local $5 (i32.add - (get_local $65) + (get_local $64) (i32.const 1) ) ) @@ -3040,7 +3034,7 @@ (i32.load8_s (tee_local $1 (i32.add - (get_local $55) + (get_local $53) (i32.const 2) ) ) @@ -3048,18 +3042,18 @@ (i32.const 37) ) (block - (set_local $55 + (set_local $53 (get_local $1) ) - (set_local $65 + (set_local $64 (get_local $5) ) ) (block - (set_local $41 + (set_local $39 (get_local $1) ) - (set_local $56 + (set_local $54 (get_local $5) ) (br $while-out$7) @@ -3070,14 +3064,14 @@ ) ) ) - (set_local $17 + (set_local $12 (i32.sub - (get_local $56) + (get_local $54) (get_local $20) ) ) (if - (get_local $45) + (get_local $42) (if (i32.eqz (i32.and @@ -3089,22 +3083,22 @@ ) (call $___fwritex (get_local $20) - (get_local $17) + (get_local $12) (get_local $0) ) ) ) (if (i32.ne - (get_local $56) + (get_local $54) (get_local $20) ) (block (set_local $20 - (get_local $41) + (get_local $39) ) (set_local $1 - (get_local $17) + (get_local $12) ) (br $label$continue$L1) ) @@ -3120,7 +3114,7 @@ (i32.load8_s (tee_local $5 (i32.add - (get_local $41) + (get_local $39) (i32.const 1) ) ) @@ -3141,14 +3135,14 @@ (tee_local $5 (select (i32.add - (get_local $41) + (get_local $39) (i32.const 3) ) (get_local $5) (tee_local $7 (i32.eq (i32.load8_s offset=2 - (get_local $41) + (get_local $39) ) (i32.const 36) ) @@ -3157,14 +3151,14 @@ ) ) ) - (set_local $11 + (set_local $13 (select (i32.const 1) (get_local $8) (get_local $7) ) ) - (set_local $9 + (set_local $10 (get_local $5) ) (select @@ -3174,10 +3168,10 @@ ) ) (block - (set_local $11 + (set_local $13 (get_local $8) ) - (set_local $9 + (set_local $10 (get_local $5) ) (i32.const -1) @@ -3249,7 +3243,7 @@ (i32.load8_s (tee_local $6 (i32.add - (get_local $9) + (get_local $10) (i32.const 1) ) ) @@ -3264,11 +3258,11 @@ ) (i32.const 32) ) - (set_local $9 + (set_local $10 (get_local $6) ) (block - (set_local $9 + (set_local $10 (get_local $6) ) (br $while-out$10) @@ -3303,7 +3297,7 @@ (i32.load8_s (tee_local $6 (i32.add - (get_local $9) + (get_local $10) (i32.const 1) ) ) @@ -3316,7 +3310,7 @@ (if (i32.eq (i32.load8_s offset=2 - (get_local $9) + (get_local $10) ) (i32.const 36) ) @@ -3331,56 +3325,60 @@ ) (i32.const 10) ) - (set_local $1 - (i32.load - (i32.add - (get_local $3) - (i32.shl - (i32.add - (i32.load8_s - (get_local $6) + (drop + (i32.load offset=4 + (tee_local $1 + (i32.add + (get_local $3) + (i32.shl + (i32.add + (i32.load8_s + (get_local $6) + ) + (i32.const -48) ) - (i32.const -48) + (i32.const 3) ) - (i32.const 3) ) ) ) ) - (set_local $66 + (set_local $65 (i32.const 1) ) - (set_local $67 + (set_local $66 (i32.add - (get_local $9) + (get_local $10) (i32.const 3) ) ) - (set_local $57 - (get_local $1) + (set_local $55 + (i32.load + (get_local $1) + ) ) ) - (set_local $12 + (set_local $11 (i32.const 24) ) ) - (set_local $12 + (set_local $11 (i32.const 24) ) ) (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 24) ) (block - (set_local $12 + (set_local $11 (i32.const 0) ) (if - (get_local $11) + (get_local $13) (block - (set_local $24 + (set_local $23 (i32.const -1) ) (br $label$break$L1) @@ -3388,10 +3386,10 @@ ) (if (i32.eqz - (get_local $45) + (get_local $42) ) (block - (set_local $9 + (set_local $10 (get_local $6) ) (set_local $21 @@ -3425,13 +3423,13 @@ (i32.const 4) ) ) - (set_local $66 + (set_local $65 (i32.const 0) ) - (set_local $67 + (set_local $66 (get_local $6) ) - (set_local $57 + (set_local $55 (get_local $5) ) ) @@ -3439,20 +3437,20 @@ (set_local $8 (if (i32.lt_s - (get_local $57) + (get_local $55) (i32.const 0) ) (block - (set_local $9 - (get_local $67) + (set_local $10 + (get_local $66) ) (set_local $21 - (get_local $66) + (get_local $65) ) (set_local $16 (i32.sub (i32.const 0) - (get_local $57) + (get_local $55) ) ) (i32.or @@ -3461,14 +3459,14 @@ ) ) (block - (set_local $9 - (get_local $67) + (set_local $10 + (get_local $66) ) (set_local $21 - (get_local $66) + (get_local $65) ) (set_local $16 - (get_local $57) + (get_local $55) ) (get_local $8) ) @@ -3493,7 +3491,7 @@ ) (block (set_local $1 - (get_local $9) + (get_local $10) ) (set_local $5 (i32.const 0) @@ -3536,17 +3534,17 @@ (i32.const 0) ) (block - (set_local $24 + (set_local $23 (i32.const -1) ) (br $label$break$L1) ) (block - (set_local $9 + (set_local $10 (get_local $1) ) (set_local $21 - (get_local $11) + (get_local $13) ) (set_local $16 (get_local $5) @@ -3556,7 +3554,7 @@ ) (block (set_local $21 - (get_local $11) + (get_local $13) ) (set_local $16 (i32.const 0) @@ -3565,12 +3563,12 @@ ) ) ) - (set_local $11 + (set_local $13 (block $label$break$L46 (if (i32.eq (i32.load8_s - (get_local $9) + (get_local $10) ) (i32.const 46) ) @@ -3583,7 +3581,7 @@ (i32.load8_s (tee_local $5 (i32.add - (get_local $9) + (get_local $10) (i32.const 1) ) ) @@ -3621,7 +3619,7 @@ ) ) (block - (set_local $10 + (set_local $9 (i32.const 0) ) (br $label$break$L46 @@ -3657,7 +3655,7 @@ (i32.const 10) ) (block - (set_local $10 + (set_local $9 (get_local $5) ) (br $label$break$L46 @@ -3676,7 +3674,7 @@ (i32.load8_s (tee_local $6 (i32.add - (get_local $9) + (get_local $10) (i32.const 2) ) ) @@ -3689,7 +3687,7 @@ (if (i32.eq (i32.load8_s offset=3 - (get_local $9) + (get_local $10) ) (i32.const 36) ) @@ -3704,28 +3702,32 @@ ) (i32.const 10) ) - (set_local $1 - (i32.load - (i32.add - (get_local $3) - (i32.shl - (i32.add - (i32.load8_s - (get_local $6) + (drop + (i32.load offset=4 + (tee_local $1 + (i32.add + (get_local $3) + (i32.shl + (i32.add + (i32.load8_s + (get_local $6) + ) + (i32.const -48) ) - (i32.const -48) + (i32.const 3) ) - (i32.const 3) ) ) ) ) - (set_local $10 - (get_local $1) + (set_local $9 + (i32.load + (get_local $1) + ) ) (br $label$break$L46 (i32.add - (get_local $9) + (get_local $10) (i32.const 4) ) ) @@ -3735,14 +3737,14 @@ (if (get_local $21) (block - (set_local $24 + (set_local $23 (i32.const -1) ) (br $label$break$L1) ) ) (if - (get_local $45) + (get_local $42) (block (set_local $5 (i32.load @@ -3766,13 +3768,13 @@ (i32.const 4) ) ) - (set_local $10 + (set_local $9 (get_local $5) ) (get_local $6) ) (block - (set_local $10 + (set_local $9 (i32.const 0) ) (get_local $6) @@ -3780,15 +3782,15 @@ ) ) (block - (set_local $10 + (set_local $9 (i32.const -1) ) - (get_local $9) + (get_local $10) ) ) ) ) - (set_local $13 + (set_local $14 (i32.const 0) ) (loop $while-in$20 @@ -3798,7 +3800,7 @@ (tee_local $1 (i32.add (i32.load8_s - (get_local $11) + (get_local $13) ) (i32.const -65) ) @@ -3806,15 +3808,15 @@ (i32.const 57) ) (block - (set_local $24 + (set_local $23 (i32.const -1) ) (br $label$break$L1) ) ) - (set_local $9 + (set_local $10 (i32.add - (get_local $11) + (get_local $13) (i32.const 1) ) ) @@ -3829,7 +3831,7 @@ (i32.add (i32.const 3611) (i32.mul - (get_local $13) + (get_local $14) (i32.const 58) ) ) @@ -3845,10 +3847,10 @@ (i32.const 8) ) (block - (set_local $11 - (get_local $9) - ) (set_local $13 + (get_local $10) + ) + (set_local $14 (get_local $5) ) ) @@ -3873,7 +3875,7 @@ ) ) (block - (set_local $24 + (set_local $23 (i32.const -1) ) (br $label$break$L1) @@ -3900,12 +3902,12 @@ (if (get_local $5) (block - (set_local $24 + (set_local $23 (i32.const -1) ) (br $label$break$L1) ) - (set_local $12 + (set_local $11 (i32.const 52) ) ) @@ -3924,7 +3926,7 @@ (get_local $6) ) (set_local $5 - (i32.load + (i32.load offset=4 (tee_local $1 (i32.add (get_local $3) @@ -3936,22 +3938,19 @@ ) ) ) - (set_local $1 - (i32.load offset=4 - (get_local $1) - ) - ) (i32.store (tee_local $7 - (get_local $19) + (get_local $18) + ) + (i32.load + (get_local $1) ) - (get_local $5) ) (i32.store offset=4 (get_local $7) - (get_local $1) + (get_local $5) ) - (set_local $12 + (set_local $11 (i32.const 52) ) (br $do-once$21) @@ -3959,17 +3958,17 @@ ) (if (i32.eqz - (get_local $45) + (get_local $42) ) (block - (set_local $24 + (set_local $23 (i32.const 0) ) (br $label$break$L1) ) ) (call $_pop_arg_336 - (get_local $19) + (get_local $18) (get_local $6) (get_local $2) ) @@ -3978,23 +3977,23 @@ ) (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 52) ) (block - (set_local $12 + (set_local $11 (i32.const 0) ) (if (i32.eqz - (get_local $45) + (get_local $42) ) (block (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) @@ -4004,26 +4003,7 @@ ) ) ) - (set_local $5 - (i32.and - (i32.ne - (get_local $13) - (i32.const 0) - ) - (i32.eq - (i32.and - (tee_local $1 - (i32.load8_s - (get_local $11) - ) - ) - (i32.const 15) - ) - (i32.const 3) - ) - ) - ) - (set_local $18 + (set_local $17 (select (tee_local $7 (i32.and @@ -4054,14 +4034,30 @@ (block $switch-case$34 (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$49 $switch-default$127 $switch-case$44 $switch-case$41 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 (i32.sub - (tee_local $26 + (tee_local $25 (select (i32.and - (get_local $1) + (tee_local $1 + (i32.load8_s + (get_local $13) + ) + ) (i32.const -33) ) (get_local $1) - (get_local $5) + (i32.and + (i32.ne + (get_local $14) + (i32.const 0) + ) + (i32.eq + (i32.and + (get_local $1) + (i32.const 15) + ) + (i32.const 3) + ) + ) ) ) (i32.const 65) @@ -4078,22 +4074,22 @@ (block $switch-case$26 (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33 (i32.sub - (get_local $13) + (get_local $14) (i32.const 0) ) ) ) (i32.store (i32.load - (get_local $19) + (get_local $18) ) (get_local $22) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) @@ -4102,15 +4098,15 @@ ) (i32.store (i32.load - (get_local $19) + (get_local $18) ) (get_local $22) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) @@ -4120,7 +4116,7 @@ (i32.store (tee_local $1 (i32.load - (get_local $19) + (get_local $18) ) ) (get_local $22) @@ -4139,10 +4135,10 @@ ) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) @@ -4151,7 +4147,7 @@ ) (i32.store16 (i32.load - (get_local $19) + (get_local $18) ) (i32.and (get_local $22) @@ -4159,10 +4155,10 @@ ) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) @@ -4171,7 +4167,7 @@ ) (i32.store8 (i32.load - (get_local $19) + (get_local $18) ) (i32.and (get_local $22) @@ -4179,10 +4175,10 @@ ) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) @@ -4191,15 +4187,15 @@ ) (i32.store (i32.load - (get_local $19) + (get_local $18) ) (get_local $22) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) @@ -4209,7 +4205,7 @@ (i32.store (tee_local $1 (i32.load - (get_local $19) + (get_local $18) ) ) (get_local $22) @@ -4228,10 +4224,10 @@ ) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) @@ -4239,50 +4235,50 @@ (br $label$continue$L1) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) ) (br $label$continue$L1) ) - (set_local $47 + (set_local $44 (i32.or - (get_local $18) + (get_local $17) (i32.const 8) ) ) - (set_local $58 + (set_local $56 (select - (get_local $10) + (get_local $9) (i32.const 8) (i32.gt_u - (get_local $10) + (get_local $9) (i32.const 8) ) ) ) - (set_local $68 + (set_local $67 (i32.const 120) ) - (set_local $12 + (set_local $11 (i32.const 64) ) (br $switch$24) ) - (set_local $47 - (get_local $18) + (set_local $44 + (get_local $17) ) - (set_local $58 - (get_local $10) + (set_local $56 + (get_local $9) ) - (set_local $68 - (get_local $26) + (set_local $67 + (get_local $25) ) - (set_local $12 + (set_local $11 (i32.const 64) ) (br $switch$24) @@ -4293,7 +4289,7 @@ (tee_local $5 (i32.load (tee_local $1 - (get_local $19) + (get_local $18) ) ) ) @@ -4307,11 +4303,11 @@ ) ) (set_local $6 - (get_local $28) + (get_local $26) ) (block (set_local $6 - (get_local $28) + (get_local $26) ) (loop $while-in$39 (block $while-out$38 @@ -4356,62 +4352,59 @@ ) ) ) - (set_local $59 + (set_local $57 (if (i32.and - (get_local $18) + (get_local $17) (i32.const 8) ) (block - (set_local $5 - (i32.lt_s - (get_local $10) + (set_local $32 + (get_local $17) + ) + (set_local $31 + (select (tee_local $1 (i32.add (i32.sub - (get_local $71) + (get_local $70) (get_local $6) ) (i32.const 1) ) ) + (get_local $9) + (i32.lt_s + (get_local $9) + (get_local $1) + ) ) ) (set_local $33 - (get_local $18) - ) - (set_local $32 - (select - (get_local $1) - (get_local $10) - (get_local $5) - ) - ) - (set_local $34 (i32.const 0) ) - (set_local $35 + (set_local $34 (i32.const 4091) ) - (set_local $12 + (set_local $11 (i32.const 77) ) (get_local $6) ) (block - (set_local $33 - (get_local $18) - ) (set_local $32 - (get_local $10) + (get_local $17) ) - (set_local $34 + (set_local $31 + (get_local $9) + ) + (set_local $33 (i32.const 0) ) - (set_local $35 + (set_local $34 (i32.const 4091) ) - (set_local $12 + (set_local $11 (i32.const 77) ) (get_local $6) @@ -4423,13 +4416,13 @@ (set_local $5 (i32.load (tee_local $1 - (get_local $19) + (get_local $18) ) ) ) (if (i32.lt_s - (tee_local $36 + (tee_local $1 (i32.load offset=4 (get_local $1) ) @@ -4438,86 +4431,83 @@ ) (block (i32.store - (tee_local $42 - (get_local $19) + (tee_local $45 + (get_local $18) ) (tee_local $1 (call $_i64Subtract (i32.const 0) (i32.const 0) (get_local $5) - (get_local $36) + (get_local $1) ) ) ) (i32.store offset=4 - (get_local $42) + (get_local $45) (tee_local $5 (get_global $tempRet0) ) ) - (set_local $36 + (set_local $45 (get_local $1) ) - (set_local $42 + (set_local $58 (get_local $5) ) - (set_local $60 + (set_local $59 (i32.const 1) ) - (set_local $61 + (set_local $60 (i32.const 4091) ) - (set_local $12 + (set_local $11 (i32.const 76) ) (br $switch$24) ) ) - (set_local $36 + (set_local $45 (if (i32.and - (get_local $18) + (get_local $17) (i32.const 2048) ) (block - (set_local $42 - (get_local $36) + (set_local $58 + (get_local $1) ) - (set_local $60 + (set_local $59 (i32.const 1) ) - (set_local $61 + (set_local $60 (i32.const 4092) ) - (set_local $12 + (set_local $11 (i32.const 76) ) (get_local $5) ) (block - (set_local $1 - (select - (i32.const 4093) - (i32.const 4091) - (tee_local $6 - (i32.and - (get_local $18) - (i32.const 1) - ) + (set_local $58 + (get_local $1) + ) + (set_local $59 + (tee_local $1 + (i32.and + (get_local $17) + (i32.const 1) ) ) ) - (set_local $42 - (get_local $36) - ) (set_local $60 - (get_local $6) - ) - (set_local $61 - (get_local $1) + (select + (i32.const 4093) + (i32.const 4091) + (get_local $1) + ) ) - (set_local $12 + (set_local $11 (i32.const 76) ) (get_local $5) @@ -4526,126 +4516,131 @@ ) (br $switch$24) ) - (set_local $36 + (set_local $45 (i32.load (tee_local $1 - (get_local $19) + (get_local $18) ) ) ) - (set_local $42 + (set_local $58 (i32.load offset=4 (get_local $1) ) ) - (set_local $60 + (set_local $59 (i32.const 0) ) - (set_local $61 + (set_local $60 (i32.const 4091) ) - (set_local $12 + (set_local $11 (i32.const 76) ) (br $switch$24) ) - (set_local $1 - (i32.load - (get_local $19) + (drop + (i32.load offset=4 + (tee_local $1 + (get_local $18) + ) ) ) (i32.store8 - (get_local $72) + (get_local $71) (i32.and - (get_local $1) + (i32.load + (get_local $1) + ) (i32.const 255) ) ) - (set_local $48 - (get_local $72) + (set_local $46 + (get_local $71) ) - (set_local $37 + (set_local $35 (get_local $7) ) - (set_local $43 + (set_local $40 (i32.const 1) ) - (set_local $44 + (set_local $41 (i32.const 0) ) - (set_local $49 + (set_local $47 (i32.const 4091) ) - (set_local $50 - (get_local $28) + (set_local $48 + (get_local $26) ) (br $switch$24) ) - (set_local $51 + (set_local $49 (call $_strerror (i32.load (call $___errno_location) ) ) ) - (set_local $12 + (set_local $11 (i32.const 82) ) (br $switch$24) ) - (set_local $5 - (i32.ne + (set_local $49 + (select (tee_local $1 (i32.load - (get_local $19) + (get_local $18) ) ) - (i32.const 0) - ) - ) - (set_local $51 - (select - (get_local $1) (i32.const 4101) - (get_local $5) + (i32.ne + (get_local $1) + (i32.const 0) + ) ) ) - (set_local $12 + (set_local $11 (i32.const 82) ) (br $switch$24) ) - (set_local $1 - (i32.load - (get_local $19) + (drop + (i32.load offset=4 + (tee_local $1 + (get_local $18) + ) ) ) (i32.store - (get_local $73) - (get_local $1) + (get_local $72) + (i32.load + (get_local $1) + ) ) (i32.store - (get_local $76) + (get_local $75) (i32.const 0) ) (i32.store - (get_local $19) - (get_local $73) + (get_local $18) + (get_local $72) ) - (set_local $69 + (set_local $68 (i32.const -1) ) - (set_local $12 + (set_local $11 (i32.const 86) ) (br $switch$24) ) - (set_local $12 + (set_local $11 (if - (get_local $10) + (get_local $9) (block - (set_local $69 - (get_local $10) + (set_local $68 + (get_local $9) ) (i32.const 86) ) @@ -4655,9 +4650,9 @@ (i32.const 32) (get_local $16) (i32.const 0) - (get_local $18) + (get_local $17) ) - (set_local $38 + (set_local $36 (i32.const 0) ) (i32.const 98) @@ -4666,20 +4661,20 @@ ) (br $switch$24) ) - (set_local $14 + (set_local $15 (f64.load - (get_local $19) + (get_local $18) ) ) (i32.store - (get_local $25) + (get_local $24) (i32.const 0) ) (f64.store (get_global $tempDoublePtr) - (get_local $14) + (get_local $15) ) - (set_local $52 + (set_local $50 (if (i32.lt_s (i32.load offset=4 @@ -4688,51 +4683,51 @@ (i32.const 0) ) (block - (set_local $39 - (i32.const 4108) + (set_local $37 + (i32.const 1) ) - (set_local $14 + (set_local $15 (f64.neg - (get_local $14) + (get_local $15) ) ) - (i32.const 1) + (i32.const 4108) ) (if (i32.and - (get_local $18) + (get_local $17) (i32.const 2048) ) (block - (set_local $39 - (i32.const 4111) + (set_local $37 + (i32.const 1) ) - (i32.const 1) + (i32.const 4111) ) (block - (set_local $39 - (select - (i32.const 4114) - (i32.const 4109) - (tee_local $1 - (i32.and - (get_local $18) - (i32.const 1) - ) + (set_local $37 + (tee_local $1 + (i32.and + (get_local $17) + (i32.const 1) ) ) ) - (get_local $1) + (select + (i32.const 4114) + (i32.const 4109) + (get_local $1) + ) ) ) ) ) (f64.store (get_global $tempDoublePtr) - (get_local $14) + (get_local $15) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 (block $do-once$56 @@ -4761,11 +4756,11 @@ (if (tee_local $5 (f64.ne - (tee_local $14 + (tee_local $15 (f64.mul (call $_frexpl - (get_local $14) - (get_local $25) + (get_local $15) + (get_local $24) ) (f64.const 2) ) @@ -4774,10 +4769,10 @@ ) ) (i32.store - (get_local $25) + (get_local $24) (i32.add (i32.load - (get_local $25) + (get_local $24) ) (i32.const -1) ) @@ -4785,25 +4780,25 @@ ) (if (i32.eq - (tee_local $15 + (tee_local $12 (i32.or - (get_local $26) + (get_local $25) (i32.const 32) ) ) (i32.const 97) ) (block - (set_local $9 + (set_local $10 (select (i32.add - (get_local $39) + (get_local $50) (i32.const 9) ) - (get_local $39) + (get_local $50) (tee_local $6 (i32.and - (get_local $26) + (get_local $25) (i32.const 32) ) ) @@ -4811,36 +4806,36 @@ ) (set_local $7 (i32.or - (get_local $52) + (get_local $37) (i32.const 2) ) ) - (set_local $14 + (set_local $15 (if (i32.or (i32.gt_u - (get_local $10) + (get_local $9) (i32.const 11) ) (i32.eqz (tee_local $1 (i32.sub (i32.const 12) - (get_local $10) + (get_local $9) ) ) ) ) - (get_local $14) + (get_local $15) (block - (set_local $30 + (set_local $28 (f64.const 8) ) (loop $while-in$61 (block $while-out$60 - (set_local $30 + (set_local $28 (f64.mul - (get_local $30) + (get_local $28) (f64.const 16) ) ) @@ -4860,25 +4855,25 @@ (select (f64.neg (f64.add - (get_local $30) + (get_local $28) (f64.sub (f64.neg - (get_local $14) + (get_local $15) ) - (get_local $30) + (get_local $28) ) ) ) (f64.sub (f64.add - (get_local $14) - (get_local $30) + (get_local $15) + (get_local $28) ) - (get_local $30) + (get_local $28) ) (i32.eq (i32.load8_s - (get_local $9) + (get_local $10) ) (i32.const 45) ) @@ -4886,37 +4881,6 @@ ) ) ) - (set_local $5 - (i32.lt_s - (tee_local $1 - (i32.load - (get_local $25) - ) - ) - (i32.const 0) - ) - ) - (set_local $5 - (i32.shr_s - (i32.shl - (i32.lt_s - (tee_local $8 - (select - (i32.sub - (i32.const 0) - (get_local $1) - ) - (get_local $1) - (get_local $5) - ) - ) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.const 31) - ) - ) (i32.store8 (i32.add (tee_local $5 @@ -4924,19 +4888,44 @@ (i32.eq (tee_local $5 (call $_fmt_u - (get_local $8) - (get_local $5) - (get_local $53) + (tee_local $5 + (select + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.load + (get_local $24) + ) + ) + ) + (get_local $1) + (i32.lt_s + (get_local $1) + (i32.const 0) + ) + ) + ) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) + (get_local $51) ) ) - (get_local $53) + (get_local $51) ) (block (i32.store8 - (get_local $74) + (get_local $73) (i32.const 48) ) - (get_local $74) + (get_local $73) ) (get_local $5) ) @@ -4966,7 +4955,7 @@ ) (i32.and (i32.add - (get_local $26) + (get_local $25) (i32.const 15) ) (i32.const 255) @@ -4974,25 +4963,25 @@ ) (set_local $5 (i32.lt_s - (get_local $10) + (get_local $9) (i32.const 1) ) ) - (set_local $13 + (set_local $14 (i32.eqz (i32.and - (get_local $18) + (get_local $17) (i32.const 8) ) ) ) - (set_local $11 - (get_local $29) + (set_local $13 + (get_local $27) ) (loop $while-in$63 (block $while-out$62 (i32.store8 - (get_local $11) + (get_local $13) (i32.and (i32.or (i32.and @@ -5000,7 +4989,7 @@ (i32.add (tee_local $1 (call_import $f64-to-int - (get_local $14) + (get_local $15) ) ) (i32.const 4075) @@ -5013,10 +5002,10 @@ (i32.const 255) ) ) - (set_local $14 + (set_local $15 (f64.mul (f64.sub - (get_local $14) + (get_local $15) (f64.convert_s/i32 (get_local $1) ) @@ -5024,18 +5013,18 @@ (f64.const 16) ) ) - (set_local $11 + (set_local $13 (block $do-once$64 (if (i32.eq (i32.sub (tee_local $1 (i32.add - (get_local $11) + (get_local $13) (i32.const 1) ) ) - (get_local $64) + (get_local $63) ) (i32.const 1) ) @@ -5043,11 +5032,11 @@ (br_if $do-once$64 (get_local $1) (i32.and - (get_local $13) + (get_local $14) (i32.and (get_local $5) (f64.eq - (get_local $14) + (get_local $15) (f64.const 0) ) ) @@ -5058,7 +5047,7 @@ (i32.const 46) ) (i32.add - (get_local $11) + (get_local $13) (i32.const 2) ) ) @@ -5068,12 +5057,12 @@ ) (if (f64.eq - (get_local $14) + (get_local $15) (f64.const 0) ) (block (set_local $1 - (get_local $11) + (get_local $13) ) (br $while-out$62) ) @@ -5081,21 +5070,6 @@ (br $while-in$63) ) ) - (set_local $5 - (i32.and - (i32.ne - (get_local $10) - (i32.const 0) - ) - (i32.lt_s - (i32.add - (get_local $78) - (get_local $1) - ) - (get_local $10) - ) - ) - ) (call $_pad (get_local $0) (i32.const 32) @@ -5106,25 +5080,37 @@ (select (i32.sub (i32.add - (get_local $79) - (get_local $10) + (get_local $78) + (get_local $9) ) (get_local $8) ) (i32.add (i32.sub - (get_local $77) + (get_local $76) (get_local $8) ) (get_local $1) ) - (get_local $5) + (i32.and + (i32.ne + (get_local $9) + (i32.const 0) + ) + (i32.lt_s + (i32.add + (get_local $77) + (get_local $1) + ) + (get_local $9) + ) + ) ) ) (get_local $7) ) ) - (get_local $18) + (get_local $17) ) (if (i32.eqz @@ -5136,7 +5122,7 @@ ) ) (call $___fwritex - (get_local $9) + (get_local $10) (get_local $7) (get_local $0) ) @@ -5147,14 +5133,14 @@ (get_local $16) (get_local $5) (i32.xor - (get_local $18) + (get_local $17) (i32.const 65536) ) ) (set_local $1 (i32.sub (get_local $1) - (get_local $64) + (get_local $63) ) ) (if @@ -5167,7 +5153,7 @@ ) ) (call $___fwritex - (get_local $29) + (get_local $27) (get_local $1) (get_local $0) ) @@ -5181,7 +5167,7 @@ (get_local $1) (tee_local $1 (i32.sub - (get_local $40) + (get_local $38) (get_local $8) ) ) @@ -5211,7 +5197,7 @@ (get_local $16) (get_local $5) (i32.xor - (get_local $18) + (get_local $17) (i32.const 8192) ) ) @@ -5230,43 +5216,43 @@ (set_local $1 (select (i32.const 6) - (get_local $10) + (get_local $9) (i32.lt_s - (get_local $10) + (get_local $9) (i32.const 0) ) ) ) - (set_local $62 - (tee_local $9 + (set_local $61 + (tee_local $10 (select + (get_local $79) (get_local $80) - (get_local $81) (i32.lt_s (if (get_local $5) (block (i32.store - (get_local $25) + (get_local $24) (tee_local $5 (i32.add (i32.load - (get_local $25) + (get_local $24) ) (i32.const -28) ) ) ) - (set_local $14 + (set_local $15 (f64.mul - (get_local $14) + (get_local $15) (f64.const 268435456) ) ) (get_local $5) ) (i32.load - (get_local $25) + (get_local $24) ) ) (i32.const 0) @@ -5275,7 +5261,7 @@ ) ) (set_local $7 - (get_local $9) + (get_local $10) ) (loop $while-in$67 (block $while-out$66 @@ -5283,7 +5269,7 @@ (get_local $7) (tee_local $5 (call_import $f64-to-int - (get_local $14) + (get_local $15) ) ) ) @@ -5295,10 +5281,10 @@ ) (if (f64.eq - (tee_local $14 + (tee_local $15 (f64.mul (f64.sub - (get_local $14) + (get_local $15) (f64.convert_u/i32 (get_local $5) ) @@ -5322,21 +5308,21 @@ (i32.gt_s (tee_local $5 (i32.load - (get_local $25) + (get_local $24) ) ) (i32.const 0) ) (block (set_local $8 - (get_local $9) + (get_local $10) ) - (set_local $13 + (set_local $14 (get_local $6) ) (loop $while-in$69 (block $while-out$68 - (set_local $11 + (set_local $13 (select (i32.const 29) (get_local $5) @@ -5352,7 +5338,7 @@ (i32.lt_u (tee_local $7 (i32.add - (get_local $13) + (get_local $14) (i32.const -4) ) ) @@ -5363,7 +5349,7 @@ (set_local $5 (i32.const 0) ) - (set_local $10 + (set_local $9 (get_local $7) ) (loop $while-in$73 @@ -5374,10 +5360,10 @@ (call $_i64Add (call $_bitshift64Shl (i32.load - (get_local $10) + (get_local $9) ) (i32.const 0) - (get_local $11) + (get_local $13) ) (get_global $tempRet0) (get_local $5) @@ -5392,7 +5378,7 @@ ) ) (i32.store - (get_local $10) + (get_local $9) (get_local $6) ) (set_local $5 @@ -5407,14 +5393,14 @@ (i32.lt_u (tee_local $7 (i32.add - (get_local $10) + (get_local $9) (i32.const -4) ) ) (get_local $8) ) (br $while-out$72) - (set_local $10 + (set_local $9 (get_local $7) ) ) @@ -5445,7 +5431,7 @@ (block $while-out$74 (br_if $while-out$74 (i32.le_u - (get_local $13) + (get_local $14) (get_local $7) ) ) @@ -5453,13 +5439,13 @@ (i32.load (tee_local $5 (i32.add - (get_local $13) + (get_local $14) (i32.const -4) ) ) ) (br $while-out$74) - (set_local $13 + (set_local $14 (get_local $5) ) ) @@ -5467,13 +5453,13 @@ ) ) (i32.store - (get_local $25) + (get_local $24) (tee_local $5 (i32.sub (i32.load - (get_local $25) + (get_local $24) ) - (get_local $11) + (get_local $13) ) ) ) @@ -5487,7 +5473,7 @@ ) (block (set_local $6 - (get_local $13) + (get_local $14) ) (br $while-out$68) ) @@ -5497,7 +5483,7 @@ ) ) (set_local $7 - (get_local $9) + (get_local $10) ) ) (if @@ -5521,188 +5507,178 @@ (i32.const 1) ) ) - (set_local $10 + (set_local $13 (i32.eq - (get_local $15) + (get_local $12) (i32.const 102) ) ) - (set_local $23 + (set_local $19 (get_local $6) ) (loop $while-in$77 (block $while-out$76 - (set_local $5 - (i32.gt_s - (tee_local $6 + (set_local $9 + (select + (i32.const 9) + (tee_local $5 (i32.sub (i32.const 0) (get_local $5) ) ) - (i32.const 9) + (i32.gt_s + (get_local $5) + (i32.const 9) + ) ) ) - (set_local $13 + (set_local $6 (select - (i32.const 9) - (get_local $6) - (get_local $5) - ) - ) - (set_local $11 - (block $do-once$78 - (if - (i32.lt_u - (get_local $7) - (get_local $23) - ) - (block - (set_local $70 - (i32.add - (i32.shl - (i32.const 1) - (get_local $13) - ) - (i32.const -1) - ) - ) - (set_local $27 - (i32.shr_u - (i32.const 1000000000) - (get_local $13) - ) - ) - (set_local $11 - (i32.const 0) - ) - (set_local $17 - (get_local $7) - ) - (loop $while-in$81 - (block $while-out$80 - (set_local $6 - (i32.and - (tee_local $5 - (i32.load - (get_local $17) - ) + (i32.add + (tee_local $5 + (select + (get_local $10) + (tee_local $7 + (block $do-once$78 + (if + (i32.lt_u + (get_local $7) + (get_local $19) ) - (get_local $70) - ) - ) - (i32.store - (get_local $17) - (i32.add - (i32.shr_u + (block + (set_local $69 + (i32.add + (i32.shl + (i32.const 1) + (get_local $9) + ) + (i32.const -1) + ) + ) + (set_local $29 + (i32.shr_u + (i32.const 1000000000) + (get_local $9) + ) + ) + (set_local $6 + (i32.const 0) + ) + (set_local $14 + (get_local $7) + ) + (loop $while-in$81 + (block $while-out$80 + (i32.store + (get_local $14) + (i32.add + (i32.shr_u + (tee_local $5 + (i32.load + (get_local $14) + ) + ) + (get_local $9) + ) + (get_local $6) + ) + ) + (set_local $6 + (i32.mul + (i32.and + (get_local $5) + (get_local $69) + ) + (get_local $29) + ) + ) + (br_if $while-out$80 + (i32.ge_u + (tee_local $14 + (i32.add + (get_local $14) + (i32.const 4) + ) + ) + (get_local $19) + ) + ) + (br $while-in$81) + ) + ) + (set_local $5 + (select + (get_local $7) + (i32.add + (get_local $7) + (i32.const 4) + ) + (i32.load + (get_local $7) + ) + ) + ) + (br_if $do-once$78 + (get_local $5) + (i32.eqz + (get_local $6) + ) + ) + (i32.store + (get_local $19) + (get_local $6) + ) + (set_local $19 + (i32.add + (get_local $19) + (i32.const 4) + ) + ) (get_local $5) - (get_local $13) ) - (get_local $11) - ) - ) - (set_local $11 - (i32.mul - (get_local $6) - (get_local $27) - ) - ) - (br_if $while-out$80 - (i32.ge_u - (tee_local $17 + (select + (get_local $7) (i32.add - (get_local $17) + (get_local $7) (i32.const 4) ) + (i32.load + (get_local $7) + ) ) - (get_local $23) ) ) - (br $while-in$81) - ) - ) - (set_local $5 - (select - (get_local $7) - (i32.add - (get_local $7) - (i32.const 4) - ) - (i32.load - (get_local $7) - ) - ) - ) - (br_if $do-once$78 - (get_local $5) - (i32.eqz - (get_local $11) - ) - ) - (i32.store - (get_local $23) - (get_local $11) - ) - (set_local $23 - (i32.add - (get_local $23) - (i32.const 4) ) + (get_local $13) ) - (get_local $5) ) - (select - (get_local $7) - (i32.add - (get_local $7) - (i32.const 4) - ) - (i32.load - (get_local $7) - ) + (i32.shl + (get_local $8) + (i32.const 2) ) ) - ) - ) - (set_local $5 - (i32.gt_s - (i32.shr_s - (i32.sub - (get_local $23) - (tee_local $7 - (select - (get_local $9) - (get_local $11) - (get_local $10) - ) + (get_local $19) + (i32.gt_s + (i32.shr_s + (i32.sub + (get_local $19) + (get_local $5) ) - ) - (i32.const 2) - ) - (get_local $8) - ) - ) - (set_local $6 - (select - (i32.add - (get_local $7) - (i32.shl - (get_local $8) (i32.const 2) ) + (get_local $8) ) - (get_local $23) - (get_local $5) ) ) (i32.store - (get_local $25) + (get_local $24) (tee_local $5 (i32.add (i32.load - (get_local $25) + (get_local $24) ) - (get_local $13) + (get_local $9) ) ) ) @@ -5711,19 +5687,11 @@ (get_local $5) (i32.const 0) ) - (block - (set_local $7 - (get_local $11) - ) - (set_local $23 - (get_local $6) - ) + (set_local $19 + (get_local $6) ) (block - (set_local $7 - (get_local $11) - ) - (set_local $27 + (set_local $19 (get_local $6) ) (br $while-out$76) @@ -5733,7 +5701,7 @@ ) ) ) - (set_local $27 + (set_local $19 (get_local $6) ) ) @@ -5741,14 +5709,14 @@ (if (i32.lt_u (get_local $7) - (get_local $27) + (get_local $19) ) (block (set_local $6 (i32.mul (i32.shr_s (i32.sub - (get_local $62) + (get_local $61) (get_local $7) ) (i32.const 2) @@ -5766,7 +5734,7 @@ (i32.const 10) ) (block - (set_local $13 + (set_local $14 (get_local $6) ) (br $do-once$82) @@ -5794,7 +5762,7 @@ ) ) (block - (set_local $13 + (set_local $14 (get_local $6) ) (br $while-out$84) @@ -5804,7 +5772,7 @@ ) ) ) - (set_local $13 + (set_local $14 (i32.const 0) ) ) @@ -5817,10 +5785,10 @@ (i32.sub (get_local $1) (select - (get_local $13) + (get_local $14) (i32.const 0) (i32.ne - (get_local $15) + (get_local $12) (i32.const 102) ) ) @@ -5828,7 +5796,7 @@ (i32.shr_s (i32.shl (i32.and - (tee_local $70 + (tee_local $69 (i32.ne (get_local $1) (i32.const 0) @@ -5836,7 +5804,7 @@ ) (tee_local $8 (i32.eq - (get_local $15) + (get_local $12) (i32.const 103) ) ) @@ -5851,8 +5819,8 @@ (i32.mul (i32.shr_s (i32.sub - (get_local $27) - (get_local $62) + (get_local $19) + (get_local $61) ) (i32.const 2) ) @@ -5865,7 +5833,7 @@ (set_local $6 (i32.add (i32.add - (get_local $9) + (get_local $10) (i32.const 4) ) (i32.shl @@ -5890,7 +5858,7 @@ ) (if (i32.lt_s - (tee_local $11 + (tee_local $13 (i32.add (i32.and (call_import $i32s-rem @@ -5918,16 +5886,16 @@ ) (if (i32.eq - (tee_local $11 + (tee_local $13 (i32.add - (get_local $11) + (get_local $13) (i32.const 1) ) ) (i32.const 9) ) (block - (set_local $17 + (set_local $12 (get_local $5) ) (br $while-out$86) @@ -5937,7 +5905,7 @@ ) ) ) - (set_local $17 + (set_local $12 (i32.const 10) ) ) @@ -5945,17 +5913,17 @@ (if (i32.eqz (i32.and - (tee_local $11 + (tee_local $13 (i32.eq (i32.add (get_local $6) (i32.const 4) ) - (get_local $27) + (get_local $19) ) ) (i32.eqz - (tee_local $15 + (tee_local $29 (i32.and (call_import $i32u-rem (tee_local $5 @@ -5963,7 +5931,7 @@ (get_local $6) ) ) - (get_local $17) + (get_local $12) ) (i32.const -1) ) @@ -5972,7 +5940,7 @@ ) ) (block - (set_local $14 + (set_local $15 (select (f64.const 9007199254740994) (f64.const 9007199254740992) @@ -5980,7 +5948,7 @@ (i32.and (call_import $i32u-div (get_local $5) - (get_local $17) + (get_local $12) ) (i32.const -1) ) @@ -5988,14 +5956,14 @@ ) ) ) - (set_local $30 + (set_local $28 (if (i32.lt_u - (get_local $15) - (tee_local $10 + (get_local $29) + (tee_local $9 (i32.and (call_import $i32s-div - (get_local $17) + (get_local $12) (i32.const 2) ) (i32.const -1) @@ -6007,39 +5975,39 @@ (f64.const 1) (f64.const 1.5) (i32.and - (get_local $11) + (get_local $13) (i32.eq - (get_local $15) - (get_local $10) + (get_local $29) + (get_local $9) ) ) ) ) ) - (set_local $14 + (set_local $15 (block $do-once$90 (if - (get_local $52) + (get_local $37) (block (br_if $do-once$90 - (get_local $14) + (get_local $15) (i32.ne (i32.load8_s - (get_local $39) + (get_local $50) ) (i32.const 45) ) ) - (set_local $30 + (set_local $28 (f64.neg - (get_local $30) + (get_local $28) ) ) (f64.neg - (get_local $14) + (get_local $15) ) ) - (get_local $14) + (get_local $15) ) ) ) @@ -6048,17 +6016,17 @@ (tee_local $5 (i32.sub (get_local $5) - (get_local $15) + (get_local $29) ) ) ) (br_if $do-once$88 (f64.eq (f64.add - (get_local $14) - (get_local $30) + (get_local $15) + (get_local $28) ) - (get_local $14) + (get_local $15) ) ) (i32.store @@ -6066,7 +6034,7 @@ (tee_local $5 (i32.add (get_local $5) - (get_local $17) + (get_local $12) ) ) ) @@ -6128,11 +6096,11 @@ ) ) ) - (set_local $11 + (set_local $13 (i32.mul (i32.shr_s (i32.sub - (get_local $62) + (get_local $61) (get_local $7) ) (i32.const 2) @@ -6150,36 +6118,36 @@ (i32.const 10) ) (block - (set_local $13 - (get_local $11) + (set_local $14 + (get_local $13) ) (br $do-once$88) ) - (set_local $10 + (set_local $9 (i32.const 10) ) ) (loop $while-in$95 (block $while-out$94 - (set_local $11 + (set_local $13 (i32.add - (get_local $11) + (get_local $13) (i32.const 1) ) ) (if (i32.lt_u (get_local $5) - (tee_local $10 + (tee_local $9 (i32.mul - (get_local $10) + (get_local $9) (i32.const 10) ) ) ) (block - (set_local $13 - (get_local $11) + (set_local $14 + (get_local $13) ) (br $while-out$94) ) @@ -6191,37 +6159,34 @@ ) ) (set_local $6 - (i32.gt_u - (get_local $27) + (select (tee_local $5 (i32.add (get_local $6) (i32.const 4) ) ) - ) - ) - (set_local $6 - (select - (get_local $5) - (get_local $27) - (get_local $6) + (get_local $19) + (i32.gt_u + (get_local $19) + (get_local $5) + ) ) ) (get_local $7) ) (block (set_local $6 - (get_local $27) + (get_local $19) ) (get_local $7) ) ) ) - (set_local $27 + (set_local $29 (i32.sub (i32.const 0) - (get_local $13) + (get_local $14) ) ) (loop $while-in$97 @@ -6232,10 +6197,10 @@ (get_local $7) ) (block - (set_local $11 + (set_local $13 (i32.const 0) ) - (set_local $23 + (set_local $19 (get_local $6) ) (br $while-out$96) @@ -6251,10 +6216,10 @@ ) ) (block - (set_local $11 + (set_local $13 (i32.const 1) ) - (set_local $23 + (set_local $19 (get_local $6) ) (br $while-out$96) @@ -6279,7 +6244,7 @@ (i32.add (i32.xor (i32.and - (get_local $70) + (get_local $69) (i32.const 1) ) (i32.const 1) @@ -6287,17 +6252,17 @@ (get_local $1) ) ) - (get_local $13) + (get_local $14) ) (i32.gt_s - (get_local $13) + (get_local $14) (i32.const -5) ) ) (block - (set_local $10 + (set_local $9 (i32.add - (get_local $26) + (get_local $25) (i32.const -1) ) ) @@ -6306,13 +6271,13 @@ (get_local $1) (i32.const -1) ) - (get_local $13) + (get_local $14) ) ) (block - (set_local $10 + (set_local $9 (i32.add - (get_local $26) + (get_local $25) (i32.const -2) ) ) @@ -6326,16 +6291,16 @@ (if (tee_local $1 (i32.and - (get_local $18) + (get_local $17) (i32.const 8) ) ) (block - (set_local $15 + (set_local $12 (get_local $8) ) - (set_local $26 - (get_local $10) + (set_local $25 + (get_local $9) ) (br $do-once$98 (get_local $1) @@ -6344,14 +6309,14 @@ ) (block $do-once$100 (if - (get_local $11) + (get_local $13) (block (if (i32.eqz (tee_local $1 (i32.load (i32.add - (get_local $23) + (get_local $19) (i32.const -4) ) ) @@ -6423,8 +6388,8 @@ (i32.mul (i32.shr_s (i32.sub - (get_local $23) - (get_local $62) + (get_local $19) + (get_local $61) ) (i32.const 2) ) @@ -6436,106 +6401,94 @@ (if (i32.eq (i32.or - (get_local $10) + (get_local $9) (i32.const 32) ) (i32.const 102) ) (block - (set_local $1 - (i32.lt_s - (tee_local $5 - (i32.sub - (get_local $1) - (get_local $6) - ) - ) - (i32.const 0) - ) - ) - (set_local $5 - (i32.lt_s + (set_local $12 + (select (get_local $8) (tee_local $1 (select (i32.const 0) - (get_local $5) - (get_local $1) + (tee_local $1 + (i32.sub + (get_local $1) + (get_local $6) + ) + ) + (i32.lt_s + (get_local $1) + (i32.const 0) + ) ) ) + (i32.lt_s + (get_local $8) + (get_local $1) + ) ) ) - (set_local $15 - (select - (get_local $8) - (get_local $1) - (get_local $5) - ) - ) - (set_local $26 - (get_local $10) + (set_local $25 + (get_local $9) ) (i32.const 0) ) (block - (set_local $1 - (i32.lt_s - (tee_local $5 - (i32.sub - (i32.add - (get_local $1) - (get_local $13) - ) - (get_local $6) - ) - ) - (i32.const 0) - ) - ) - (set_local $5 - (i32.lt_s + (set_local $12 + (select (get_local $8) (tee_local $1 (select (i32.const 0) - (get_local $5) - (get_local $1) + (tee_local $1 + (i32.sub + (i32.add + (get_local $1) + (get_local $14) + ) + (get_local $6) + ) + ) + (i32.lt_s + (get_local $1) + (i32.const 0) + ) ) ) + (i32.lt_s + (get_local $8) + (get_local $1) + ) ) ) - (set_local $15 - (select - (get_local $8) - (get_local $1) - (get_local $5) - ) - ) - (set_local $26 - (get_local $10) + (set_local $25 + (get_local $9) ) (i32.const 0) ) ) ) (block - (set_local $15 + (set_local $12 (get_local $1) ) (i32.and - (get_local $18) + (get_local $17) (i32.const 8) ) ) ) ) ) - (set_local $17 + (set_local $6 (i32.and (i32.ne (tee_local $1 (i32.or - (get_local $15) + (get_local $12) (get_local $8) ) ) @@ -6544,24 +6497,24 @@ (i32.const 1) ) ) - (set_local $13 + (set_local $14 (if - (tee_local $10 + (tee_local $9 (i32.eq (i32.or - (get_local $26) + (get_local $25) (i32.const 32) ) (i32.const 102) ) ) (block - (set_local $6 + (set_local $29 (select - (get_local $13) + (get_local $14) (i32.const 0) (i32.gt_s - (get_local $13) + (get_local $14) (i32.const 0) ) ) @@ -6569,36 +6522,33 @@ (i32.const 0) ) (block - (set_local $5 - (i32.shr_s - (i32.shl - (i32.lt_s - (tee_local $6 - (select - (get_local $27) - (get_local $13) - (i32.lt_s - (get_local $13) - (i32.const 0) - ) - ) - ) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.const 31) - ) - ) (if (i32.lt_s (i32.sub - (get_local $40) + (get_local $38) (tee_local $5 (call $_fmt_u - (get_local $6) - (get_local $5) - (get_local $53) + (tee_local $5 + (select + (get_local $29) + (get_local $14) + (i32.lt_s + (get_local $14) + (i32.const 0) + ) + ) + ) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) + (get_local $51) ) ) ) @@ -6618,7 +6568,7 @@ (br_if $while-out$104 (i32.ge_s (i32.sub - (get_local $40) + (get_local $38) (get_local $5) ) (i32.const 2) @@ -6637,7 +6587,7 @@ (i32.add (i32.and (i32.shr_s - (get_local $13) + (get_local $14) (i32.const 31) ) (i32.const 2) @@ -6655,13 +6605,13 @@ ) ) (i32.and - (get_local $26) + (get_local $25) (i32.const 255) ) ) - (set_local $6 + (set_local $29 (i32.sub - (get_local $40) + (get_local $38) (get_local $5) ) ) @@ -6678,17 +6628,17 @@ (i32.add (i32.add (i32.add - (get_local $52) + (get_local $37) (i32.const 1) ) - (get_local $15) + (get_local $12) ) - (get_local $17) + (get_local $6) ) - (get_local $6) + (get_local $29) ) ) - (get_local $18) + (get_local $17) ) (if (i32.eqz @@ -6700,8 +6650,8 @@ ) ) (call $___fwritex - (get_local $39) - (get_local $52) + (get_local $50) + (get_local $37) (get_local $0) ) ) @@ -6711,22 +6661,22 @@ (get_local $16) (get_local $6) (i32.xor - (get_local $18) + (get_local $17) (i32.const 65536) ) ) (block $do-once$106 (if - (get_local $10) + (get_local $9) (block (set_local $7 (tee_local $8 (select - (get_local $9) + (get_local $10) (get_local $7) (i32.gt_u (get_local $7) - (get_local $9) + (get_local $10) ) ) ) @@ -6739,7 +6689,7 @@ (get_local $7) ) (i32.const 0) - (get_local $46) + (get_local $43) ) ) (block $do-once$110 @@ -6752,22 +6702,22 @@ (br_if $do-once$110 (i32.ne (get_local $5) - (get_local $46) + (get_local $43) ) ) (i32.store8 - (get_local $54) + (get_local $52) (i32.const 48) ) (set_local $5 - (get_local $54) + (get_local $52) ) ) (block (br_if $do-once$110 (i32.le_u (get_local $5) - (get_local $29) + (get_local $27) ) ) (loop $while-in$113 @@ -6784,7 +6734,7 @@ (br_if $while-out$112 (i32.le_u (get_local $5) - (get_local $29) + (get_local $27) ) ) (br $while-in$113) @@ -6806,7 +6756,7 @@ (call $___fwritex (get_local $5) (i32.sub - (get_local $75) + (get_local $74) (get_local $5) ) (get_local $0) @@ -6821,7 +6771,7 @@ (i32.const 4) ) ) - (get_local $9) + (get_local $10) ) (block (set_local $5 @@ -6862,12 +6812,12 @@ (if (i32.and (i32.gt_s - (get_local $15) + (get_local $12) (i32.const 0) ) (i32.lt_u (get_local $5) - (get_local $23) + (get_local $19) ) ) (loop $while-in$117 @@ -6880,10 +6830,10 @@ (get_local $5) ) (i32.const 0) - (get_local $46) + (get_local $43) ) ) - (get_local $29) + (get_local $27) ) (loop $while-in$119 (block $while-out$118 @@ -6899,7 +6849,7 @@ (br_if $while-out$118 (i32.le_u (get_local $1) - (get_local $29) + (get_local $27) ) ) (br $while-in$119) @@ -6920,9 +6870,9 @@ (get_local $1) (select (i32.const 9) - (get_local $15) + (get_local $12) (i32.gt_s - (get_local $15) + (get_local $12) (i32.const 9) ) ) @@ -6932,14 +6882,14 @@ ) (set_local $1 (i32.add - (get_local $15) + (get_local $12) (i32.const -9) ) ) (if (i32.and (i32.gt_s - (get_local $15) + (get_local $12) (i32.const 9) ) (i32.lt_u @@ -6949,14 +6899,14 @@ (i32.const 4) ) ) - (get_local $23) + (get_local $19) ) ) - (set_local $15 + (set_local $12 (get_local $1) ) (block - (set_local $15 + (set_local $12 (get_local $1) ) (br $while-out$116) @@ -6970,7 +6920,7 @@ (get_local $0) (i32.const 48) (i32.add - (get_local $15) + (get_local $12) (i32.const 9) ) (i32.const 9) @@ -6978,23 +6928,23 @@ ) ) (block - (set_local $11 + (set_local $13 (select - (get_local $23) + (get_local $19) (i32.add (get_local $7) (i32.const 4) ) - (get_local $11) + (get_local $13) ) ) (if (i32.gt_s - (get_local $15) + (get_local $12) (i32.const -1) ) (block - (set_local $9 + (set_local $10 (i32.eqz (get_local $8) ) @@ -7013,17 +6963,17 @@ (get_local $5) ) (i32.const 0) - (get_local $46) + (get_local $43) ) ) - (get_local $46) + (get_local $43) ) (block (i32.store8 - (get_local $54) + (get_local $52) (i32.const 48) ) - (get_local $54) + (get_local $52) ) (get_local $1) ) @@ -7058,9 +7008,9 @@ ) (br_if $do-once$122 (i32.and - (get_local $9) + (get_local $10) (i32.lt_s - (get_local $15) + (get_local $12) (i32.const 1) ) ) @@ -7085,7 +7035,7 @@ (if (i32.gt_u (get_local $8) - (get_local $29) + (get_local $27) ) (set_local $1 (get_local $8) @@ -7111,7 +7061,7 @@ (br_if $while-out$124 (i32.le_u (get_local $1) - (get_local $29) + (get_local $27) ) ) (br $while-in$125) @@ -7122,7 +7072,7 @@ ) (set_local $8 (i32.sub - (get_local $75) + (get_local $74) (get_local $1) ) ) @@ -7140,9 +7090,9 @@ (get_local $1) (select (get_local $8) - (get_local $15) + (get_local $12) (i32.gt_s - (get_local $15) + (get_local $12) (get_local $8) ) ) @@ -7160,12 +7110,12 @@ (i32.const 4) ) ) - (get_local $11) + (get_local $13) ) (i32.gt_s - (tee_local $15 + (tee_local $12 (i32.sub - (get_local $15) + (get_local $12) (get_local $8) ) ) @@ -7183,7 +7133,7 @@ (get_local $0) (i32.const 48) (i32.add - (get_local $15) + (get_local $12) (i32.const 18) ) (i32.const 18) @@ -7203,10 +7153,10 @@ ) (drop (call $___fwritex - (get_local $13) + (get_local $14) (i32.sub - (get_local $40) - (get_local $13) + (get_local $38) + (get_local $14) ) (get_local $0) ) @@ -7220,7 +7170,7 @@ (get_local $16) (get_local $6) (i32.xor - (get_local $18) + (get_local $17) (i32.const 8192) ) ) @@ -7234,30 +7184,15 @@ ) ) (block - (set_local $5 - (select - (i32.const 4127) - (i32.const 4131) - (tee_local $8 - (i32.ne - (i32.and - (get_local $26) - (i32.const 32) - ) - (i32.const 0) - ) - ) - ) - ) (set_local $6 (select (i32.const 0) - (get_local $52) + (get_local $37) (tee_local $1 (i32.or (f64.ne - (get_local $14) - (get_local $14) + (get_local $15) + (get_local $15) ) (i32.const 0) ) @@ -7269,9 +7204,21 @@ (select (i32.const 4135) (i32.const 4139) - (get_local $8) + (tee_local $5 + (i32.ne + (i32.and + (get_local $25) + (i32.const 32) + ) + (i32.const 0) + ) + ) + ) + (select + (i32.const 4127) + (i32.const 4131) + (get_local $5) ) - (get_local $5) (get_local $1) ) ) @@ -7303,7 +7250,7 @@ (block (drop (call $___fwritex - (get_local $39) + (get_local $50) (get_local $6) (get_local $0) ) @@ -7328,7 +7275,7 @@ (get_local $16) (get_local $5) (i32.xor - (get_local $18) + (get_local $17) (i32.const 8192) ) ) @@ -7349,46 +7296,46 @@ ) (br $label$continue$L1) ) - (set_local $48 + (set_local $46 (get_local $20) ) - (set_local $37 - (get_local $18) + (set_local $35 + (get_local $17) ) - (set_local $43 - (get_local $10) + (set_local $40 + (get_local $9) ) - (set_local $44 + (set_local $41 (i32.const 0) ) - (set_local $49 + (set_local $47 (i32.const 4091) ) - (set_local $50 - (get_local $28) + (set_local $48 + (get_local $26) ) ) (block $label$break$L308 (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 64) ) (block (set_local $7 (i32.and - (get_local $68) + (get_local $67) (i32.const 32) ) ) - (set_local $59 + (set_local $57 (if (i32.and (i32.eqz (tee_local $5 (i32.load (tee_local $1 - (get_local $19) + (get_local $18) ) ) ) @@ -7402,26 +7349,26 @@ ) ) (block - (set_local $33 - (get_local $47) - ) (set_local $32 - (get_local $58) + (get_local $44) ) - (set_local $34 + (set_local $31 + (get_local $56) + ) + (set_local $33 (i32.const 0) ) - (set_local $35 + (set_local $34 (i32.const 4091) ) - (set_local $12 + (set_local $11 (i32.const 77) ) - (get_local $28) + (get_local $26) ) (block (set_local $6 - (get_local $28) + (get_local $26) ) (loop $while-in$130 (block $while-out$129 @@ -7476,7 +7423,7 @@ (i32.or (i32.eqz (i32.and - (get_local $47) + (get_local $44) (i32.const 8) ) ) @@ -7484,7 +7431,7 @@ (i32.eqz (i32.load (tee_local $1 - (get_local $19) + (get_local $18) ) ) ) @@ -7496,43 +7443,43 @@ ) ) (block - (set_local $33 - (get_local $47) - ) (set_local $32 - (get_local $58) + (get_local $44) ) - (set_local $34 + (set_local $31 + (get_local $56) + ) + (set_local $33 (i32.const 0) ) - (set_local $35 + (set_local $34 (i32.const 4091) ) - (set_local $12 + (set_local $11 (i32.const 77) ) (get_local $6) ) (block - (set_local $33 - (get_local $47) - ) (set_local $32 - (get_local $58) + (get_local $44) ) - (set_local $34 + (set_local $31 + (get_local $56) + ) + (set_local $33 (i32.const 2) ) - (set_local $35 + (set_local $34 (i32.add (i32.const 4091) (i32.shr_s - (get_local $68) + (get_local $67) (i32.const 4) ) ) ) - (set_local $12 + (set_local $11 (i32.const 77) ) (get_local $6) @@ -7544,80 +7491,80 @@ ) (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 76) ) (block - (set_local $59 + (set_local $57 (call $_fmt_u - (get_local $36) - (get_local $42) - (get_local $28) + (get_local $45) + (get_local $58) + (get_local $26) ) ) - (set_local $33 - (get_local $18) - ) (set_local $32 - (get_local $10) + (get_local $17) + ) + (set_local $31 + (get_local $9) + ) + (set_local $33 + (get_local $59) ) (set_local $34 (get_local $60) ) - (set_local $35 - (get_local $61) - ) - (set_local $12 + (set_local $11 (i32.const 77) ) ) (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 82) ) (block - (set_local $12 + (set_local $11 (i32.const 0) ) (set_local $5 (i32.eqz (tee_local $1 (call $_memchr - (get_local $51) + (get_local $49) (i32.const 0) - (get_local $10) + (get_local $9) ) ) ) ) - (set_local $48 - (get_local $51) + (set_local $46 + (get_local $49) ) - (set_local $37 + (set_local $35 (get_local $7) ) - (set_local $43 + (set_local $40 (select - (get_local $10) + (get_local $9) (i32.sub (get_local $1) - (get_local $51) + (get_local $49) ) (get_local $5) ) ) - (set_local $44 + (set_local $41 (i32.const 0) ) - (set_local $49 + (set_local $47 (i32.const 4091) ) - (set_local $50 + (set_local $48 (select (i32.add - (get_local $51) - (get_local $10) + (get_local $49) + (get_local $9) ) (get_local $1) (get_local $5) @@ -7626,11 +7573,11 @@ ) (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 86) ) (block - (set_local $12 + (set_local $11 (i32.const 0) ) (set_local $7 @@ -7641,7 +7588,7 @@ ) (set_local $6 (i32.load - (get_local $19) + (get_local $18) ) ) (loop $while-in$132 @@ -7660,7 +7607,7 @@ (i32.lt_s (tee_local $5 (call $_wctomb - (get_local $63) + (get_local $62) (get_local $1) ) ) @@ -7669,7 +7616,7 @@ (i32.gt_u (get_local $5) (i32.sub - (get_local $69) + (get_local $68) (get_local $7) ) ) @@ -7683,7 +7630,7 @@ ) (if (i32.gt_u - (get_local $69) + (get_local $68) (tee_local $1 (i32.add (get_local $5) @@ -7710,7 +7657,7 @@ (i32.const 0) ) (block - (set_local $24 + (set_local $23 (i32.const -1) ) (br $label$break$L1) @@ -7721,7 +7668,7 @@ (i32.const 32) (get_local $16) (get_local $7) - (get_local $18) + (get_local $17) ) (if (get_local $7) @@ -7731,7 +7678,7 @@ ) (set_local $8 (i32.load - (get_local $19) + (get_local $18) ) ) (loop $while-in$134 @@ -7745,10 +7692,10 @@ ) ) (block - (set_local $38 + (set_local $36 (get_local $7) ) - (set_local $12 + (set_local $11 (i32.const 98) ) (br $label$break$L308) @@ -7766,7 +7713,7 @@ (i32.add (tee_local $5 (call $_wctomb - (get_local $63) + (get_local $62) (get_local $1) ) ) @@ -7776,10 +7723,10 @@ (get_local $7) ) (block - (set_local $38 + (set_local $36 (get_local $7) ) - (set_local $12 + (set_local $11 (i32.const 98) ) (br $label$break$L308) @@ -7795,7 +7742,7 @@ ) ) (call $___fwritex - (get_local $63) + (get_local $62) (get_local $5) (get_local $0) ) @@ -7809,10 +7756,10 @@ (get_local $1) ) (block - (set_local $38 + (set_local $36 (get_local $7) ) - (set_local $12 + (set_local $11 (i32.const 98) ) (br $while-out$133) @@ -7823,10 +7770,10 @@ ) ) (block - (set_local $38 + (set_local $36 (i32.const 0) ) - (set_local $12 + (set_local $11 (i32.const 98) ) ) @@ -7839,33 +7786,33 @@ ) (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 98) ) (block - (set_local $12 + (set_local $11 (i32.const 0) ) (call $_pad (get_local $0) (i32.const 32) (get_local $16) - (get_local $38) + (get_local $36) (i32.xor - (get_local $18) + (get_local $17) (i32.const 8192) ) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 (select (get_local $16) - (get_local $38) + (get_local $36) (i32.gt_s (get_local $16) - (get_local $38) + (get_local $36) ) ) ) @@ -7877,31 +7824,31 @@ ) (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 77) ) (block - (set_local $12 + (set_local $11 (i32.const 0) ) (set_local $5 (select (i32.and - (get_local $33) + (get_local $32) (i32.const -65537) ) - (get_local $33) + (get_local $32) (i32.gt_s - (get_local $32) + (get_local $31) (i32.const -1) ) ) ) - (set_local $48 + (set_local $46 (if (i32.or (i32.ne - (get_local $32) + (get_local $31) (i32.const 0) ) (tee_local $1 @@ -7909,7 +7856,7 @@ (i32.ne (i32.load (tee_local $1 - (get_local $19) + (get_local $18) ) ) (i32.const 0) @@ -7924,9 +7871,12 @@ ) ) (block - (set_local $7 - (i32.gt_s - (get_local $32) + (set_local $35 + (get_local $5) + ) + (set_local $40 + (select + (get_local $31) (tee_local $1 (i32.add (i32.xor @@ -7937,79 +7887,45 @@ (i32.const 1) ) (i32.sub - (get_local $71) - (get_local $59) + (get_local $70) + (get_local $57) ) ) ) + (i32.gt_s + (get_local $31) + (get_local $1) + ) ) ) - (set_local $37 - (get_local $5) - ) - (set_local $43 - (select - (get_local $32) - (get_local $1) - (get_local $7) - ) + (set_local $41 + (get_local $33) ) - (set_local $44 + (set_local $47 (get_local $34) ) - (set_local $49 - (get_local $35) - ) - (set_local $50 - (get_local $28) + (set_local $48 + (get_local $26) ) - (get_local $59) + (get_local $57) ) (block - (set_local $37 + (set_local $35 (get_local $5) ) - (set_local $43 + (set_local $40 (i32.const 0) ) - (set_local $44 - (get_local $34) - ) - (set_local $49 - (get_local $35) + (set_local $41 + (get_local $33) ) - (set_local $50 - (get_local $28) + (set_local $47 + (get_local $34) ) - (get_local $28) - ) - ) - ) - ) - ) - (set_local $1 - (i32.lt_s - (get_local $43) - (tee_local $7 - (i32.sub - (get_local $50) - (get_local $48) - ) - ) - ) - ) - (set_local $5 - (i32.lt_s - (get_local $16) - (tee_local $1 - (i32.add - (get_local $44) - (tee_local $6 - (select - (get_local $7) - (get_local $43) - (get_local $1) + (set_local $48 + (get_local $26) ) + (get_local $26) ) ) ) @@ -8018,15 +7934,37 @@ (call $_pad (get_local $0) (i32.const 32) - (tee_local $5 + (tee_local $6 (select - (get_local $1) + (tee_local $1 + (i32.add + (get_local $41) + (tee_local $7 + (select + (tee_local $5 + (i32.sub + (get_local $48) + (get_local $46) + ) + ) + (get_local $40) + (i32.lt_s + (get_local $40) + (get_local $5) + ) + ) + ) + ) + ) (get_local $16) - (get_local $5) + (i32.lt_s + (get_local $16) + (get_local $1) + ) ) ) (get_local $1) - (get_local $37) + (get_local $35) ) (if (i32.eqz @@ -8038,26 +7976,26 @@ ) ) (call $___fwritex - (get_local $49) - (get_local $44) + (get_local $47) + (get_local $41) (get_local $0) ) ) (call $_pad (get_local $0) (i32.const 48) - (get_local $5) + (get_local $6) (get_local $1) (i32.xor - (get_local $37) + (get_local $35) (i32.const 65536) ) ) (call $_pad (get_local $0) (i32.const 48) - (get_local $6) (get_local $7) + (get_local $5) (i32.const 0) ) (if @@ -8070,26 +8008,26 @@ ) ) (call $___fwritex - (get_local $48) - (get_local $7) + (get_local $46) + (get_local $5) (get_local $0) ) ) (call $_pad (get_local $0) (i32.const 32) - (get_local $5) + (get_local $6) (get_local $1) (i32.xor - (get_local $37) + (get_local $35) (i32.const 8192) ) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $5) + (get_local $6) ) (set_local $8 (get_local $21) @@ -8100,16 +8038,16 @@ (block $label$break$L343 (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 242) ) (if (get_local $0) - (set_local $24 - (get_local $82) + (set_local $23 + (get_local $81) ) (if - (get_local $83) + (get_local $82) (block (set_local $1 (i32.const 1) @@ -8153,7 +8091,7 @@ (i32.const 10) ) (block - (set_local $24 + (set_local $23 (i32.const 1) ) (br $label$break$L343) @@ -8186,7 +8124,7 @@ ) ) (block - (set_local $24 + (set_local $23 (i32.const -1) ) (br $label$break$L343) @@ -8201,7 +8139,7 @@ (get_local $0) ) (block - (set_local $24 + (set_local $23 (i32.const 1) ) (br $while-out$138) @@ -8210,12 +8148,12 @@ (br $while-in$139) ) ) - (set_local $24 + (set_local $23 (i32.const 1) ) ) ) - (set_local $24 + (set_local $23 (i32.const 0) ) ) @@ -8223,9 +8161,9 @@ ) ) (set_global $STACKTOP - (get_local $31) + (get_local $30) ) - (get_local $24) + (get_local $23) ) (func $_pop_arg_336 (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -8417,22 +8355,29 @@ (i32.const 4) ) ) - (set_local $2 + (i32.store + (tee_local $1 + (get_local $0) + ) + (tee_local $0 + (i32.shr_s + (i32.shl + (i32.and + (get_local $3) + (i32.const 65535) + ) + (i32.const 16) + ) + (i32.const 16) + ) + ) + ) + (i32.store offset=4 + (get_local $1) (i32.shr_s (i32.shl (i32.lt_s - (tee_local $1 - (i32.shr_s - (i32.shl - (i32.and - (get_local $3) - (i32.const 65535) - ) - (i32.const 16) - ) - (i32.const 16) - ) - ) + (get_local $0) (i32.const 0) ) (i32.const 31) @@ -8440,14 +8385,6 @@ (i32.const 31) ) ) - (i32.store - (get_local $0) - (get_local $1) - ) - (i32.store offset=4 - (get_local $0) - (get_local $2) - ) (br $label$break$L1) ) (set_local $3 @@ -8507,22 +8444,29 @@ (i32.const 4) ) ) - (set_local $2 + (i32.store + (tee_local $1 + (get_local $0) + ) + (tee_local $0 + (i32.shr_s + (i32.shl + (i32.and + (get_local $3) + (i32.const 255) + ) + (i32.const 24) + ) + (i32.const 24) + ) + ) + ) + (i32.store offset=4 + (get_local $1) (i32.shr_s (i32.shl (i32.lt_s - (tee_local $1 - (i32.shr_s - (i32.shl - (i32.and - (get_local $3) - (i32.const 255) - ) - (i32.const 24) - ) - (i32.const 24) - ) - ) + (get_local $0) (i32.const 0) ) (i32.const 31) @@ -8530,14 +8474,6 @@ (i32.const 31) ) ) - (i32.store - (get_local $0) - (get_local $1) - ) - (i32.store offset=4 - (get_local $0) - (get_local $2) - ) (br $label$break$L1) ) (set_local $3 @@ -8803,7 +8739,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (set_local $7 + (set_local $6 (get_global $STACKTOP) ) (set_global $STACKTOP @@ -8819,8 +8755,8 @@ ) (call_import $abort) ) - (set_local $6 - (get_local $7) + (set_local $5 + (get_local $6) ) (block $do-once$0 (if @@ -8837,29 +8773,26 @@ ) ) (block - (set_local $4 - (i32.gt_u - (tee_local $5 - (i32.sub - (get_local $2) - (get_local $3) - ) - ) - (i32.const 256) - ) - ) (drop (call $_memset - (get_local $6) + (get_local $5) (get_local $1) (select (i32.const 256) - (get_local $5) - (get_local $4) + (tee_local $4 + (i32.sub + (get_local $2) + (get_local $3) + ) + ) + (i32.gt_u + (get_local $4) + (i32.const 256) + ) ) ) ) - (set_local $4 + (set_local $7 (i32.eqz (i32.and (tee_local $1 @@ -8873,7 +8806,7 @@ ) (if (i32.gt_u - (get_local $5) + (get_local $4) (i32.const 255) ) (block @@ -8884,7 +8817,10 @@ ) ) (set_local $3 - (get_local $5) + (get_local $4) + ) + (set_local $4 + (get_local $7) ) (loop $while-in$3 (block $while-out$2 @@ -8897,7 +8833,7 @@ (block (drop (call $___fwritex - (get_local $6) + (get_local $5) (i32.const 256) (get_local $0) ) @@ -8940,16 +8876,16 @@ ) ) (if - (get_local $4) + (get_local $7) (set_local $1 - (get_local $5) + (get_local $4) ) (br $do-once$0) ) ) (drop (call $___fwritex - (get_local $6) + (get_local $5) (get_local $1) (get_local $0) ) @@ -8958,7 +8894,7 @@ ) ) (set_global $STACKTOP - (get_local $7) + (get_local $6) ) ) (func $_malloc (param $0 i32) (result i32) @@ -9017,14 +8953,14 @@ (block (if (i32.and - (tee_local $25 + (tee_local $22 (i32.shr_u (tee_local $4 (i32.load (i32.const 176) ) ) - (tee_local $22 + (tee_local $0 (i32.shr_u (tee_local $6 (select @@ -9063,16 +8999,16 @@ (i32.const 216) (i32.shl (i32.shl - (tee_local $8 + (tee_local $7 (i32.add (i32.xor (i32.and - (get_local $25) + (get_local $22) (i32.const 1) ) (i32.const 1) ) - (get_local $22) + (get_local $0) ) ) (i32.const 1) @@ -9103,7 +9039,7 @@ (i32.xor (i32.shl (i32.const 1) - (get_local $8) + (get_local $7) ) (i32.const -1) ) @@ -9150,33 +9086,30 @@ (i32.or (tee_local $0 (i32.shl - (get_local $8) + (get_local $7) (i32.const 3) ) ) (i32.const 3) ) ) - (set_local $1 + (i32.store + (tee_local $0 + (i32.add + (i32.add + (get_local $1) + (get_local $0) + ) + (i32.const 4) + ) + ) (i32.or (i32.load - (tee_local $0 - (i32.add - (i32.add - (get_local $1) - (get_local $0) - ) - (i32.const 4) - ) - ) + (get_local $0) ) (i32.const 1) ) ) - (i32.store - (get_local $0) - (get_local $1) - ) (return (get_local $3) ) @@ -9193,44 +9126,38 @@ ) (block (if - (get_local $25) + (get_local $22) (block - (set_local $1 - (i32.sub - (i32.const 0) - (tee_local $0 - (i32.shl - (i32.const 2) - (get_local $22) - ) - ) - ) - ) - (set_local $1 - (i32.sub - (i32.const 0) - (tee_local $0 - (i32.and - (i32.shl - (get_local $25) - (get_local $22) - ) - (i32.or - (get_local $0) - (get_local $1) - ) - ) - ) - ) - ) (set_local $0 (i32.and (i32.shr_u (tee_local $1 (i32.add (i32.and - (get_local $0) - (get_local $1) + (tee_local $0 + (i32.and + (i32.shl + (get_local $22) + (get_local $0) + ) + (i32.or + (tee_local $0 + (i32.shl + (i32.const 2) + (get_local $0) + ) + ) + (i32.sub + (i32.const 0) + (get_local $0) + ) + ) + ) + ) + (i32.sub + (i32.const 0) + (get_local $0) + ) ) (i32.const -1) ) @@ -9253,7 +9180,7 @@ (i32.const 216) (i32.shl (i32.shl - (tee_local $8 + (tee_local $7 (i32.add (i32.or (i32.or @@ -9355,13 +9282,13 @@ (i32.xor (i32.shl (i32.const 1) - (get_local $8) + (get_local $7) ) (i32.const -1) ) ) ) - (set_local $7 + (set_local $8 (get_local $10) ) ) @@ -9396,7 +9323,7 @@ (get_local $1) (get_local $0) ) - (set_local $7 + (set_local $8 (i32.load (i32.const 184) ) @@ -9424,7 +9351,7 @@ (tee_local $9 (i32.sub (i32.shl - (get_local $8) + (get_local $7) (i32.const 3) ) (get_local $6) @@ -9441,21 +9368,21 @@ (get_local $9) ) (if - (get_local $7) + (get_local $8) (block (set_local $0 (i32.load (i32.const 196) ) ) - (set_local $8 + (set_local $7 (i32.add (i32.const 216) (i32.shl (i32.shl (tee_local $2 (i32.shr_u - (get_local $7) + (get_local $8) (i32.const 3) ) ) @@ -9485,7 +9412,7 @@ (i32.load (tee_local $1 (i32.add - (get_local $8) + (get_local $7) (i32.const 8) ) ) @@ -9515,12 +9442,12 @@ ) (set_local $5 (i32.add - (get_local $8) + (get_local $7) (i32.const 8) ) ) (set_local $12 - (get_local $8) + (get_local $7) ) ) ) @@ -9538,7 +9465,7 @@ ) (i32.store offset=12 (get_local $0) - (get_local $8) + (get_local $7) ) ) ) @@ -9673,7 +9600,7 @@ (set_local $4 (get_local $0) ) - (set_local $8 + (set_local $7 (get_local $0) ) (loop $while-in$7 @@ -9697,11 +9624,11 @@ (get_local $0) ) (block - (set_local $7 + (set_local $8 (get_local $2) ) (set_local $10 - (get_local $8) + (get_local $7) ) (br $while-out$6) ) @@ -9733,10 +9660,10 @@ (set_local $4 (get_local $1) ) - (set_local $8 + (set_local $7 (select (get_local $1) - (get_local $8) + (get_local $7) (get_local $0) ) ) @@ -9785,7 +9712,7 @@ (if (tee_local $2 (i32.load - (tee_local $8 + (tee_local $7 (i32.add (get_local $10) (i32.const 20) @@ -9799,7 +9726,7 @@ (if (tee_local $2 (i32.load - (tee_local $8 + (tee_local $7 (i32.add (get_local $10) (i32.const 16) @@ -9835,7 +9762,7 @@ (set_local $4 (get_local $2) ) - (set_local $8 + (set_local $7 (get_local $5) ) (br $while-in$11) @@ -9856,7 +9783,7 @@ (set_local $4 (get_local $2) ) - (set_local $8 + (set_local $7 (get_local $5) ) ) @@ -9867,13 +9794,13 @@ ) (if (i32.lt_u - (get_local $8) + (get_local $7) (get_local $0) ) (call_import $_abort) (block (i32.store - (get_local $8) + (get_local $7) (i32.const 0) ) (set_local $15 @@ -9911,7 +9838,7 @@ (if (i32.eq (i32.load - (tee_local $8 + (tee_local $7 (i32.add (get_local $2) (i32.const 8) @@ -9926,7 +9853,7 @@ (get_local $2) ) (i32.store - (get_local $8) + (get_local $7) (get_local $4) ) (set_local $15 @@ -10098,7 +10025,7 @@ ) (if (i32.lt_u - (get_local $7) + (get_local $8) (i32.const 16) ) (block @@ -10107,33 +10034,30 @@ (i32.or (tee_local $0 (i32.add - (get_local $7) + (get_local $8) (get_local $6) ) ) (i32.const 3) ) ) - (set_local $1 + (i32.store + (tee_local $0 + (i32.add + (i32.add + (get_local $10) + (get_local $0) + ) + (i32.const 4) + ) + ) (i32.or (i32.load - (tee_local $0 - (i32.add - (i32.add - (get_local $10) - (get_local $0) - ) - (i32.const 4) - ) - ) + (get_local $0) ) (i32.const 1) ) ) - (i32.store - (get_local $0) - (get_local $1) - ) ) (block (i32.store offset=4 @@ -10146,16 +10070,16 @@ (i32.store offset=4 (get_local $9) (i32.or - (get_local $7) + (get_local $8) (i32.const 1) ) ) (i32.store (i32.add (get_local $9) - (get_local $7) + (get_local $8) ) - (get_local $7) + (get_local $8) ) (if (tee_local $0 @@ -10265,7 +10189,7 @@ ) (i32.store (i32.const 184) - (get_local $7) + (get_local $8) ) (i32.store (i32.const 196) @@ -10336,88 +10260,83 @@ (i32.const 16777215) ) (i32.const 31) - (block - (set_local $7 - (i32.shl - (tee_local $3 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (i32.or + (i32.and + (i32.shr_u + (get_local $5) + (i32.add + (tee_local $3 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $7 - (i32.and - (i32.shr_u - (i32.add - (tee_local $12 - (i32.shl - (get_local $3) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $3) - (i32.const 1048320) + (i32.or + (tee_local $8 + (i32.and + (i32.shr_u + (i32.add + (tee_local $12 + (i32.shl + (get_local $3) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $3) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $3) ) - (get_local $3) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (tee_local $7 - (i32.shl - (get_local $12) - (get_local $7) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (tee_local $8 + (i32.shl + (get_local $12) + (get_local $8) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $7) - (get_local $3) + (i32.shr_u + (i32.shl + (get_local $8) + (get_local $3) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 1) ) + (i32.const 1) ) - (i32.or - (i32.and - (i32.shr_u - (get_local $5) - (i32.add - (get_local $3) - (i32.const 7) - ) - ) - (i32.const 1) - ) - (get_local $7) + (i32.shl + (get_local $3) + (i32.const 1) ) ) ) @@ -10429,7 +10348,7 @@ ) ) (block - (set_local $7 + (set_local $8 (get_local $16) ) (set_local $15 @@ -10457,7 +10376,7 @@ (set_local $23 (get_local $3) ) - (set_local $36 + (set_local $35 (i32.const 0) ) (loop $while-in$18 @@ -10477,7 +10396,7 @@ (get_local $5) ) ) - (get_local $7) + (get_local $8) ) (if (i32.eq @@ -10485,13 +10404,13 @@ (get_local $5) ) (block - (set_local $26 + (set_local $25 (get_local $16) ) (set_local $24 (get_local $23) ) - (set_local $29 + (set_local $28 (get_local $23) ) (set_local $11 @@ -10499,29 +10418,26 @@ ) (br $label$break$L123) ) - (set_local $36 + (set_local $35 (get_local $23) ) ) (set_local $16 - (get_local $7) + (get_local $8) ) ) - (set_local $7 - (i32.eqz + (set_local $15 + (select + (get_local $15) (tee_local $3 (i32.load offset=20 (get_local $23) ) ) - ) - ) - (set_local $15 - (select - (get_local $15) - (get_local $3) (i32.or - (get_local $7) + (i32.eqz + (get_local $3) + ) (i32.eq (get_local $3) (tee_local $3 @@ -10550,7 +10466,7 @@ (get_local $11) (i32.xor (i32.and - (tee_local $7 + (tee_local $8 (i32.eqz (get_local $3) ) @@ -10562,16 +10478,16 @@ ) ) (if - (get_local $7) + (get_local $8) (block - (set_local $31 + (set_local $30 (get_local $16) ) - (set_local $32 + (set_local $31 (get_local $15) ) - (set_local $28 - (get_local $36) + (set_local $27 + (get_local $35) ) (set_local $11 (i32.const 86) @@ -10579,7 +10495,7 @@ (br $while-out$17) ) (block - (set_local $7 + (set_local $8 (get_local $16) ) (set_local $23 @@ -10592,13 +10508,13 @@ ) ) (block - (set_local $31 + (set_local $30 (get_local $16) ) - (set_local $32 + (set_local $31 (i32.const 0) ) - (set_local $28 + (set_local $27 (i32.const 0) ) (set_local $11 @@ -10617,32 +10533,29 @@ (if (i32.and (i32.eqz - (get_local $32) + (get_local $31) ) (i32.eqz - (get_local $28) + (get_local $27) ) ) (block - (set_local $7 - (i32.sub - (i32.const 0) - (tee_local $3 - (i32.shl - (i32.const 2) - (get_local $12) - ) - ) - ) - ) (if (i32.eqz (tee_local $0 (i32.and (get_local $0) (i32.or - (get_local $3) - (get_local $7) + (tee_local $0 + (i32.shl + (i32.const 2) + (get_local $12) + ) + ) + (i32.sub + (i32.const 0) + (get_local $0) + ) ) ) ) @@ -10684,7 +10597,7 @@ (tee_local $3 (i32.and (i32.shr_u - (tee_local $7 + (tee_local $8 (i32.shr_u (get_local $3) (get_local $0) @@ -10702,7 +10615,7 @@ (i32.shr_u (tee_local $3 (i32.shr_u - (get_local $7) + (get_local $8) (get_local $3) ) ) @@ -10751,18 +10664,18 @@ ) ) ) - (get_local $32) + (get_local $31) ) ) (block - (set_local $26 - (get_local $31) + (set_local $25 + (get_local $30) ) (set_local $24 (get_local $0) ) - (set_local $29 - (get_local $28) + (set_local $28 + (get_local $27) ) (set_local $11 (i32.const 90) @@ -10770,10 +10683,10 @@ ) (block (set_local $17 - (get_local $31) + (get_local $30) ) (set_local $13 - (get_local $28) + (get_local $27) ) ) ) @@ -10801,20 +10714,20 @@ (get_local $5) ) ) - (get_local $26) + (get_local $25) ) ) (set_local $17 (select (get_local $3) - (get_local $26) + (get_local $25) (get_local $0) ) ) (set_local $3 (select (get_local $24) - (get_local $29) + (get_local $28) (get_local $0) ) ) @@ -10825,13 +10738,13 @@ ) ) (block - (set_local $26 + (set_local $25 (get_local $17) ) (set_local $24 (get_local $0) ) - (set_local $29 + (set_local $28 (get_local $3) ) (br $while-in$20) @@ -10844,13 +10757,13 @@ ) ) (block - (set_local $26 + (set_local $25 (get_local $17) ) (set_local $24 (get_local $0) ) - (set_local $29 + (set_local $28 (get_local $3) ) ) @@ -10928,7 +10841,7 @@ ) ) ) - (set_local $8 + (set_local $7 (get_local $2) ) (if @@ -10942,7 +10855,7 @@ ) ) ) - (set_local $8 + (set_local $7 (get_local $2) ) (block @@ -10958,20 +10871,20 @@ (if (tee_local $2 (i32.load - (tee_local $7 + (tee_local $8 (i32.add - (get_local $8) + (get_local $7) (i32.const 20) ) ) ) ) (block - (set_local $8 + (set_local $7 (get_local $2) ) (set_local $9 - (get_local $7) + (get_local $8) ) (br $while-in$24) ) @@ -10979,20 +10892,20 @@ (if (tee_local $2 (i32.load - (tee_local $7 + (tee_local $8 (i32.add - (get_local $8) + (get_local $7) (i32.const 16) ) ) ) ) (block - (set_local $8 + (set_local $7 (get_local $2) ) (set_local $9 - (get_local $7) + (get_local $8) ) ) (br $while-out$23) @@ -11012,7 +10925,7 @@ (i32.const 0) ) (set_local $6 - (get_local $8) + (get_local $7) ) ) ) @@ -11020,7 +10933,7 @@ (block (if (i32.lt_u - (tee_local $8 + (tee_local $7 (i32.load offset=8 (get_local $13) ) @@ -11034,7 +10947,7 @@ (i32.load (tee_local $0 (i32.add - (get_local $8) + (get_local $7) (i32.const 12) ) ) @@ -11062,7 +10975,7 @@ ) (i32.store (get_local $9) - (get_local $8) + (get_local $7) ) (set_local $6 (get_local $2) @@ -11250,26 +11163,23 @@ (i32.const 3) ) ) - (set_local $1 + (i32.store + (tee_local $0 + (i32.add + (i32.add + (get_local $13) + (get_local $0) + ) + (i32.const 4) + ) + ) (i32.or (i32.load - (tee_local $0 - (i32.add - (i32.add - (get_local $13) - (get_local $0) - ) - (i32.const 4) - ) - ) + (get_local $0) ) (i32.const 1) ) ) - (i32.store - (get_local $0) - (get_local $1) - ) ) (block (i32.store offset=4 @@ -11413,88 +11323,83 @@ (i32.const 16777215) ) (i32.const 31) - (block - (set_local $1 - (i32.shl - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (i32.or + (i32.and + (i32.shr_u + (get_local $17) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $2 - (i32.shl - (get_local $0) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (i32.or + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $2 + (i32.shl + (get_local $0) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $0) ) - (get_local $0) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $2) - (get_local $1) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $2) + (get_local $1) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $1) + (get_local $0) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 1) ) + (i32.const 1) ) - (i32.or - (i32.and - (i32.shr_u - (get_local $17) - (i32.add - (get_local $0) - (i32.const 7) - ) - ) - (i32.const 1) - ) - (get_local $1) + (i32.shl + (get_local $0) + (i32.const 1) ) ) ) @@ -11646,10 +11551,10 @@ ) ) (block - (set_local $25 + (set_local $41 (get_local $2) ) - (set_local $37 + (set_local $36 (get_local $1) ) (set_local $11 @@ -11668,7 +11573,7 @@ ) (if (i32.lt_u - (get_local $37) + (get_local $36) (i32.load (i32.const 192) ) @@ -11676,12 +11581,12 @@ (call_import $_abort) (block (i32.store - (get_local $37) + (get_local $36) (get_local $3) ) (i32.store offset=24 (get_local $3) - (get_local $25) + (get_local $41) ) (i32.store offset=12 (get_local $3) @@ -11852,26 +11757,23 @@ (i32.const 3) ) ) - (set_local $2 + (i32.store + (tee_local $0 + (i32.add + (i32.add + (get_local $1) + (get_local $0) + ) + (i32.const 4) + ) + ) (i32.or (i32.load - (tee_local $0 - (i32.add - (i32.add - (get_local $1) - (get_local $0) - ) - (i32.const 4) - ) - ) + (get_local $0) ) (i32.const 1) ) ) - (i32.store - (get_local $0) - (get_local $2) - ) ) ) (return @@ -12005,7 +11907,7 @@ (i32.le_u (tee_local $10 (i32.and - (tee_local $7 + (tee_local $8 (i32.add (tee_local $0 (i32.load @@ -12150,7 +12052,7 @@ (tee_local $0 (i32.and (i32.sub - (get_local $7) + (get_local $8) (i32.load (i32.const 188) ) @@ -12194,7 +12096,7 @@ ) ) (block - (set_local $30 + (set_local $29 (get_local $3) ) (set_local $21 @@ -12220,7 +12122,7 @@ ) (if (i32.ne - (tee_local $7 + (tee_local $8 (call_import $_sbrk (i32.const 0) ) @@ -12249,7 +12151,7 @@ ) ) (tee_local $0 - (get_local $7) + (get_local $8) ) ) (i32.add @@ -12306,16 +12208,16 @@ ) (if (i32.eq - (tee_local $30 + (tee_local $29 (call_import $_sbrk (get_local $12) ) ) - (get_local $7) + (get_local $8) ) (block (set_local $14 - (get_local $7) + (get_local $8) ) (set_local $19 (get_local $12) @@ -12364,7 +12266,7 @@ (i32.const 2147483647) ) (i32.ne - (get_local $30) + (get_local $29) (i32.const -1) ) ) @@ -12418,12 +12320,12 @@ ) (if (i32.ne - (get_local $30) + (get_local $29) (i32.const -1) ) (block (set_local $14 - (get_local $30) + (get_local $29) ) (set_local $19 (get_local $21) @@ -12457,58 +12359,53 @@ (get_local $10) (i32.const 2147483647) ) - (block - (set_local $3 + (if + (i32.and + (i32.lt_u + (tee_local $0 + (call_import $_sbrk + (get_local $10) + ) + ) + (tee_local $4 + (call_import $_sbrk + (i32.const 0) + ) + ) + ) (i32.and (i32.ne - (tee_local $0 - (call_import $_sbrk - (get_local $10) - ) - ) + (get_local $0) (i32.const -1) ) (i32.ne - (tee_local $4 - (call_import $_sbrk - (i32.const 0) - ) - ) + (get_local $4) (i32.const -1) ) ) ) (if - (i32.and - (i32.lt_u - (get_local $0) - (get_local $4) + (i32.gt_u + (tee_local $4 + (i32.sub + (get_local $4) + (get_local $0) + ) + ) + (i32.add + (get_local $6) + (i32.const 40) ) - (get_local $3) ) - (if - (i32.gt_u - (tee_local $4 - (i32.sub - (get_local $4) - (get_local $0) - ) - ) - (i32.add - (get_local $6) - (i32.const 40) - ) + (block + (set_local $14 + (get_local $0) ) - (block - (set_local $14 - (get_local $0) - ) - (set_local $19 - (get_local $4) - ) - (set_local $11 - (i32.const 193) - ) + (set_local $19 + (get_local $4) + ) + (set_local $11 + (i32.const 193) ) ) ) @@ -12552,7 +12449,7 @@ ) ) (block - (set_local $7 + (set_local $8 (i32.const 624) ) (loop $while-in$49 @@ -12563,14 +12460,14 @@ (i32.add (tee_local $4 (i32.load - (get_local $7) + (get_local $8) ) ) (tee_local $3 (i32.load (tee_local $5 (i32.add - (get_local $7) + (get_local $8) (i32.const 4) ) ) @@ -12589,7 +12486,7 @@ (get_local $5) ) (set_local $43 - (get_local $7) + (get_local $8) ) (set_local $11 (i32.const 203) @@ -12600,10 +12497,10 @@ (if (tee_local $4 (i32.load offset=8 - (get_local $7) + (get_local $8) ) ) - (set_local $7 + (set_local $8 (get_local $4) ) (br $while-out$48) @@ -12644,33 +12541,28 @@ (get_local $19) ) ) - (set_local $2 - (i32.eqz - (i32.and - (tee_local $1 - (i32.add - (get_local $0) - (i32.const 8) - ) - ) - (i32.const 7) - ) - ) - ) (set_local $0 (i32.add (get_local $0) (tee_local $1 (select - (i32.const 0) (i32.and (i32.sub (i32.const 0) - (get_local $1) + (tee_local $0 + (i32.add + (get_local $0) + (i32.const 8) + ) + ) ) (i32.const 7) ) - (get_local $2) + (i32.const 0) + (i32.and + (get_local $0) + (i32.const 7) + ) ) ) ) @@ -12719,7 +12611,7 @@ ) ) ) - (set_local $4 + (set_local $2 (if (i32.lt_u (get_local $14) @@ -12739,7 +12631,7 @@ (get_local $1) ) ) - (set_local $3 + (set_local $4 (i32.add (get_local $14) (get_local $19) @@ -12755,13 +12647,13 @@ (i32.load (get_local $1) ) - (get_local $3) + (get_local $4) ) (block (set_local $44 (get_local $1) ) - (set_local $38 + (set_local $37 (get_local $1) ) (set_local $11 @@ -12779,7 +12671,7 @@ ) ) (block - (set_local $27 + (set_local $26 (i32.const 624) ) (br $while-out$50) @@ -12796,11 +12688,11 @@ (if (i32.and (i32.load offset=12 - (get_local $38) + (get_local $37) ) (i32.const 8) ) - (set_local $27 + (set_local $26 (i32.const 624) ) (block @@ -12808,99 +12700,83 @@ (get_local $44) (get_local $14) ) - (set_local $1 + (i32.store + (tee_local $1 + (i32.add + (get_local $37) + (i32.const 4) + ) + ) (i32.add (i32.load - (tee_local $2 - (i32.add - (get_local $38) - (i32.const 4) - ) - ) + (get_local $1) ) (get_local $19) ) ) - (i32.store - (get_local $2) - (get_local $1) - ) - (set_local $9 - (i32.eqz - (i32.and - (tee_local $1 - (i32.add - (get_local $14) - (i32.const 8) - ) - ) - (i32.const 7) - ) - ) - ) (set_local $5 - (i32.eqz - (i32.and - (tee_local $2 - (i32.add - (get_local $3) - (i32.const 8) - ) - ) - (i32.const 7) - ) - ) - ) - (set_local $1 - (i32.sub - (tee_local $3 + (i32.add + (tee_local $8 (i32.add - (get_local $3) + (get_local $14) (select - (i32.const 0) (i32.and (i32.sub (i32.const 0) - (get_local $2) + (tee_local $1 + (i32.add + (get_local $14) + (i32.const 8) + ) + ) ) (i32.const 7) ) - (get_local $5) - ) - ) - ) - (tee_local $7 - (i32.add - (get_local $14) - (select (i32.const 0) (i32.and - (i32.sub - (i32.const 0) - (get_local $1) - ) + (get_local $1) (i32.const 7) ) - (get_local $9) ) ) ) - ) - ) - (set_local $5 - (i32.add - (get_local $7) (get_local $6) ) ) (set_local $12 (i32.sub - (get_local $1) + (i32.sub + (tee_local $3 + (i32.add + (get_local $4) + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.add + (get_local $4) + (i32.const 8) + ) + ) + ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) + ) + ) + ) + ) + (get_local $8) + ) (get_local $6) ) ) (i32.store offset=4 - (get_local $7) + (get_local $8) (i32.or (get_local $6) (i32.const 3) @@ -12977,540 +12853,537 @@ (br $do-once$52) ) ) - (set_local $0 - (i32.and - (i32.load - (tee_local $1 - (i32.add - (if - (i32.eq - (i32.and - (tee_local $0 - (i32.load offset=4 - (get_local $3) - ) - ) - (i32.const 3) + (i32.store + (tee_local $0 + (i32.add + (if + (i32.eq + (i32.and + (tee_local $0 + (i32.load offset=4 + (get_local $3) ) - (i32.const 1) ) - (block - (set_local $10 - (i32.and - (get_local $0) - (i32.const -8) - ) - ) - (set_local $9 - (i32.shr_u - (get_local $0) - (i32.const 3) - ) + (i32.const 3) + ) + (i32.const 1) + ) + (block + (set_local $10 + (i32.and + (get_local $0) + (i32.const -8) + ) + ) + (set_local $9 + (i32.shr_u + (get_local $0) + (i32.const 3) + ) + ) + (block $label$break$L331 + (if + (i32.lt_u + (get_local $0) + (i32.const 256) ) - (block $label$break$L331 - (if - (i32.lt_u - (get_local $0) - (i32.const 256) + (block + (set_local $1 + (i32.load offset=12 + (get_local $3) ) - (block - (set_local $1 - (i32.load offset=12 - (get_local $3) + ) + (block $do-once$55 + (if + (i32.ne + (tee_local $0 + (i32.load offset=8 + (get_local $3) + ) ) - ) - (block $do-once$55 - (if - (i32.ne - (tee_local $0 - (i32.load offset=8 - (get_local $3) - ) - ) - (tee_local $2 - (i32.add - (i32.const 216) - (i32.shl - (i32.shl - (get_local $9) - (i32.const 1) - ) - (i32.const 2) - ) + (tee_local $4 + (i32.add + (i32.const 216) + (i32.shl + (i32.shl + (get_local $9) + (i32.const 1) ) + (i32.const 2) ) ) - (block - (if - (i32.lt_u - (get_local $0) - (get_local $4) - ) - (call_import $_abort) - ) - (br_if $do-once$55 - (i32.eq - (i32.load offset=12 - (get_local $0) - ) - (get_local $3) - ) + ) + ) + (block + (if + (i32.lt_u + (get_local $0) + (get_local $2) + ) + (call_import $_abort) + ) + (br_if $do-once$55 + (i32.eq + (i32.load offset=12 + (get_local $0) ) - (call_import $_abort) + (get_local $3) ) ) + (call_import $_abort) ) - (if - (i32.eq - (get_local $1) - (get_local $0) - ) - (block - (i32.store + ) + ) + (if + (i32.eq + (get_local $1) + (get_local $0) + ) + (block + (i32.store + (i32.const 176) + (i32.and + (i32.load (i32.const 176) - (i32.and - (i32.load - (i32.const 176) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $9) - ) - (i32.const -1) - ) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $9) ) + (i32.const -1) ) - (br $label$break$L331) ) ) - (block $do-once$57 + (br $label$break$L331) + ) + ) + (block $do-once$57 + (if + (i32.eq + (get_local $1) + (get_local $4) + ) + (set_local $38 + (i32.add + (get_local $1) + (i32.const 8) + ) + ) + (block (if - (i32.eq + (i32.lt_u (get_local $1) (get_local $2) ) - (set_local $39 - (i32.add - (get_local $1) - (i32.const 8) + (call_import $_abort) + ) + (if + (i32.eq + (i32.load + (tee_local $2 + (i32.add + (get_local $1) + (i32.const 8) + ) + ) ) + (get_local $3) ) (block - (if - (i32.lt_u - (get_local $1) - (get_local $4) - ) - (call_import $_abort) - ) - (if - (i32.eq - (i32.load - (tee_local $2 - (i32.add - (get_local $1) - (i32.const 8) - ) - ) - ) - (get_local $3) - ) - (block - (set_local $39 - (get_local $2) - ) - (br $do-once$57) - ) + (set_local $38 + (get_local $2) ) - (call_import $_abort) + (br $do-once$57) ) ) - ) - (i32.store offset=12 - (get_local $0) - (get_local $1) - ) - (i32.store - (get_local $39) - (get_local $0) + (call_import $_abort) ) ) - (block - (set_local $0 - (i32.load offset=24 - (get_local $3) + ) + (i32.store offset=12 + (get_local $0) + (get_local $1) + ) + (i32.store + (get_local $38) + (get_local $0) + ) + ) + (block + (set_local $0 + (i32.load offset=24 + (get_local $3) + ) + ) + (block $do-once$59 + (if + (i32.eq + (tee_local $1 + (i32.load offset=12 + (get_local $3) + ) ) + (get_local $3) ) - (block $do-once$59 + (block (if - (i32.eq - (tee_local $1 - (i32.load offset=12 - (get_local $3) - ) - ) - (get_local $3) - ) - (block - (if - (tee_local $1 - (i32.load - (tee_local $9 + (tee_local $1 + (i32.load + (tee_local $9 + (i32.add + (tee_local $20 (i32.add - (tee_local $20 - (i32.add - (get_local $3) - (i32.const 16) - ) - ) - (i32.const 4) + (get_local $3) + (i32.const 16) ) ) - ) - ) - (set_local $2 - (get_local $1) - ) - (if - (tee_local $1 - (i32.load - (get_local $20) - ) - ) - (block - (set_local $2 - (get_local $1) - ) - (set_local $9 - (get_local $20) - ) - ) - (block - (set_local $18 - (i32.const 0) - ) - (br $do-once$59) + (i32.const 4) ) ) ) - (loop $while-in$62 - (block $while-out$61 - (if - (tee_local $1 - (i32.load - (tee_local $20 - (i32.add - (get_local $2) - (i32.const 20) - ) - ) - ) - ) - (block - (set_local $2 - (get_local $1) - ) - (set_local $9 - (get_local $20) - ) - (br $while-in$62) - ) - ) - (if - (tee_local $1 - (i32.load - (tee_local $20 - (i32.add - (get_local $2) - (i32.const 16) - ) - ) - ) - ) - (block - (set_local $2 - (get_local $1) - ) - (set_local $9 - (get_local $20) - ) - ) - (br $while-out$61) - ) - (br $while-in$62) + ) + (set_local $4 + (get_local $1) + ) + (if + (tee_local $1 + (i32.load + (get_local $20) ) ) - (if - (i32.lt_u - (get_local $9) - (get_local $4) + (block + (set_local $4 + (get_local $1) ) - (call_import $_abort) - (block - (i32.store - (get_local $9) - (i32.const 0) - ) - (set_local $18 - (get_local $2) - ) + (set_local $9 + (get_local $20) ) ) - ) - (block - (if - (i32.lt_u - (tee_local $2 - (i32.load offset=8 - (get_local $3) - ) - ) - (get_local $4) + (block + (set_local $18 + (i32.const 0) ) - (call_import $_abort) + (br $do-once$59) ) + ) + ) + (loop $while-in$62 + (block $while-out$61 (if - (i32.ne + (tee_local $1 (i32.load - (tee_local $4 + (tee_local $20 (i32.add - (get_local $2) - (i32.const 12) + (get_local $4) + (i32.const 20) ) ) ) - (get_local $3) ) - (call_import $_abort) + (block + (set_local $4 + (get_local $1) + ) + (set_local $9 + (get_local $20) + ) + (br $while-in$62) + ) ) (if - (i32.eq + (tee_local $1 (i32.load - (tee_local $9 + (tee_local $20 (i32.add - (get_local $1) - (i32.const 8) + (get_local $4) + (i32.const 16) ) ) ) - (get_local $3) ) (block - (i32.store - (get_local $4) + (set_local $4 (get_local $1) ) - (i32.store - (get_local $9) - (get_local $2) - ) - (set_local $18 - (get_local $1) + (set_local $9 + (get_local $20) ) ) - (call_import $_abort) + (br $while-out$61) ) + (br $while-in$62) ) ) - ) - (br_if $label$break$L331 - (i32.eqz - (get_local $0) + (if + (i32.lt_u + (get_local $9) + (get_local $2) + ) + (call_import $_abort) + (block + (i32.store + (get_local $9) + (i32.const 0) + ) + (set_local $18 + (get_local $4) + ) + ) ) ) - (block $do-once$63 + (block (if - (i32.eq - (get_local $3) + (i32.lt_u + (tee_local $4 + (i32.load offset=8 + (get_local $3) + ) + ) + (get_local $2) + ) + (call_import $_abort) + ) + (if + (i32.ne (i32.load (tee_local $2 (i32.add - (i32.const 480) - (i32.shl - (tee_local $1 - (i32.load offset=28 - (get_local $3) - ) - ) - (i32.const 2) - ) + (get_local $4) + (i32.const 12) + ) + ) + ) + (get_local $3) + ) + (call_import $_abort) + ) + (if + (i32.eq + (i32.load + (tee_local $9 + (i32.add + (get_local $1) + (i32.const 8) ) ) ) + (get_local $3) ) (block (i32.store (get_local $2) - (get_local $18) - ) - (br_if $do-once$63 - (i32.eqz - (i32.eqz - (get_local $18) - ) - ) + (get_local $1) ) (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $1) - ) - (i32.const -1) - ) - ) + (get_local $9) + (get_local $4) ) - (br $label$break$L331) - ) - (block - (if - (i32.lt_u - (get_local $0) - (i32.load - (i32.const 192) - ) - ) - (call_import $_abort) + (set_local $18 + (get_local $1) ) - (if - (i32.eq - (i32.load - (tee_local $1 - (i32.add - (get_local $0) - (i32.const 16) - ) + ) + (call_import $_abort) + ) + ) + ) + ) + (br_if $label$break$L331 + (i32.eqz + (get_local $0) + ) + ) + (block $do-once$63 + (if + (i32.eq + (get_local $3) + (i32.load + (tee_local $2 + (i32.add + (i32.const 480) + (i32.shl + (tee_local $1 + (i32.load offset=28 + (get_local $3) ) ) - (get_local $3) - ) - (i32.store - (get_local $1) - (get_local $18) - ) - (i32.store offset=20 - (get_local $0) - (get_local $18) - ) - ) - (br_if $label$break$L331 - (i32.eqz - (get_local $18) + (i32.const 2) ) ) ) ) ) - (if - (i32.lt_u + (block + (i32.store + (get_local $2) (get_local $18) - (tee_local $1 - (i32.load - (i32.const 192) + ) + (br_if $do-once$63 + (i32.eqz + (i32.eqz + (get_local $18) ) ) ) - (call_import $_abort) - ) - (i32.store offset=24 - (get_local $18) - (get_local $0) - ) - (if - (tee_local $0 - (i32.load - (tee_local $2 - (i32.add - (get_local $3) - (i32.const 16) + (i32.store + (i32.const 180) + (i32.and + (i32.load + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $1) ) + (i32.const -1) ) ) ) + (br $label$break$L331) + ) + (block (if (i32.lt_u (get_local $0) - (get_local $1) - ) - (call_import $_abort) - (block - (i32.store offset=16 - (get_local $18) - (get_local $0) - ) - (i32.store offset=24 - (get_local $0) - (get_local $18) + (i32.load + (i32.const 192) ) ) + (call_import $_abort) ) - ) - (br_if $label$break$L331 - (i32.eqz - (tee_local $0 - (i32.load offset=4 - (get_local $2) + (if + (i32.eq + (i32.load + (tee_local $1 + (i32.add + (get_local $0) + (i32.const 16) + ) + ) ) + (get_local $3) ) - ) - ) - (if - (i32.lt_u - (get_local $0) - (i32.load - (i32.const 192) + (i32.store + (get_local $1) + (get_local $18) ) - ) - (call_import $_abort) - (block (i32.store offset=20 - (get_local $18) (get_local $0) + (get_local $18) ) - (i32.store offset=24 - (get_local $0) + ) + (br_if $label$break$L331 + (i32.eqz (get_local $18) ) ) ) ) ) - ) - (set_local $4 - (i32.add - (get_local $10) - (get_local $12) + (if + (i32.lt_u + (get_local $18) + (tee_local $1 + (i32.load + (i32.const 192) + ) + ) + ) + (call_import $_abort) + ) + (i32.store offset=24 + (get_local $18) + (get_local $0) + ) + (if + (tee_local $0 + (i32.load + (tee_local $2 + (i32.add + (get_local $3) + (i32.const 16) + ) + ) + ) + ) + (if + (i32.lt_u + (get_local $0) + (get_local $1) + ) + (call_import $_abort) + (block + (i32.store offset=16 + (get_local $18) + (get_local $0) + ) + (i32.store offset=24 + (get_local $0) + (get_local $18) + ) + ) + ) + ) + (br_if $label$break$L331 + (i32.eqz + (tee_local $0 + (i32.load offset=4 + (get_local $2) + ) + ) + ) + ) + (if + (i32.lt_u + (get_local $0) + (i32.load + (i32.const 192) + ) + ) + (call_import $_abort) + (block + (i32.store offset=20 + (get_local $18) + (get_local $0) + ) + (i32.store offset=24 + (get_local $0) + (get_local $18) + ) + ) ) - ) - (i32.add - (get_local $3) - (get_local $10) ) ) - (block - (set_local $4 - (get_local $12) - ) - (get_local $3) + ) + (set_local $4 + (i32.add + (get_local $10) + (get_local $12) ) ) - (i32.const 4) + (i32.add + (get_local $3) + (get_local $10) + ) + ) + (block + (set_local $4 + (get_local $12) + ) + (get_local $3) ) ) + (i32.const 4) + ) + ) + (i32.and + (i32.load + (get_local $0) ) (i32.const -2) ) ) - (i32.store - (get_local $1) - (get_local $0) - ) (i32.store offset=4 (get_local $5) (i32.or @@ -13582,10 +13455,10 @@ ) ) (block - (set_local $8 + (set_local $7 (get_local $0) ) - (set_local $33 + (set_local $32 (get_local $1) ) (br $do-once$67) @@ -13601,29 +13474,29 @@ (get_local $1) ) ) - (set_local $8 + (set_local $7 (i32.add (get_local $2) (i32.const 8) ) ) - (set_local $33 + (set_local $32 (get_local $2) ) ) ) ) (i32.store - (get_local $8) + (get_local $7) (get_local $5) ) (i32.store offset=12 - (get_local $33) + (get_local $32) (get_local $5) ) (i32.store offset=8 (get_local $5) - (get_local $33) + (get_local $32) ) (i32.store offset=12 (get_local $5) @@ -13653,87 +13526,84 @@ (i32.const 16777215) ) ) - (set_local $1 - (i32.shl - (tee_local $0 + (i32.or + (i32.and + (i32.shr_u + (get_local $4) (i32.add - (i32.sub - (i32.const 14) - (i32.or - (i32.or - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $2 - (i32.shl - (get_local $0) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or + (i32.or + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $2 + (i32.shl + (get_local $0) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) + ) + (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 $0) ) - ) - (get_local $0) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $2) - (get_local $1) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $2) + (get_local $1) + ) + ) + (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 $1) + (get_local $0) + ) + (i32.const 15) + ) ) ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) - ) - (i32.const 15) - ) + (i32.const 7) ) ) (i32.const 1) ) - ) - (i32.or - (i32.and - (i32.shr_u - (get_local $4) - (i32.add - (get_local $0) - (i32.const 7) - ) - ) + (i32.shl + (get_local $0) (i32.const 1) ) - (get_local $1) ) ) (i32.const 0) @@ -13769,7 +13639,7 @@ (i32.const 180) ) ) - (tee_local $8 + (tee_local $7 (i32.shl (i32.const 1) (get_local $1) @@ -13782,7 +13652,7 @@ (i32.const 180) (i32.or (get_local $0) - (get_local $8) + (get_local $7) ) ) (i32.store @@ -13841,7 +13711,7 @@ (get_local $4) ) (block - (set_local $34 + (set_local $33 (get_local $2) ) (set_local $11 @@ -13850,7 +13720,7 @@ (br $while-out$71) ) ) - (set_local $8 + (set_local $7 (i32.shl (get_local $1) (i32.const 1) @@ -13878,7 +13748,7 @@ ) (block (set_local $1 - (get_local $8) + (get_local $7) ) (set_local $2 (get_local $0) @@ -13888,7 +13758,7 @@ (set_local $45 (get_local $2) ) - (set_local $40 + (set_local $39 (get_local $1) ) (set_local $11 @@ -13907,7 +13777,7 @@ ) (if (i32.lt_u - (get_local $40) + (get_local $39) (i32.load (i32.const 192) ) @@ -13915,7 +13785,7 @@ (call_import $_abort) (block (i32.store - (get_local $40) + (get_local $39) (get_local $5) ) (i32.store offset=24 @@ -13944,7 +13814,7 @@ (i32.load (tee_local $2 (i32.add - (get_local $34) + (get_local $33) (i32.const 8) ) ) @@ -13957,7 +13827,7 @@ ) ) (i32.ge_u - (get_local $34) + (get_local $33) (get_local $1) ) ) @@ -13976,7 +13846,7 @@ ) (i32.store offset=12 (get_local $5) - (get_local $34) + (get_local $33) ) (i32.store offset=24 (get_local $5) @@ -13992,7 +13862,7 @@ ) (return (i32.add - (get_local $7) + (get_local $8) (i32.const 8) ) ) @@ -14005,7 +13875,7 @@ (i32.le_u (tee_local $1 (i32.load - (get_local $27) + (get_local $26) ) ) (get_local $0) @@ -14016,7 +13886,7 @@ (i32.add (get_local $1) (i32.load offset=4 - (get_local $27) + (get_local $26) ) ) ) @@ -14030,56 +13900,23 @@ ) ) ) - (set_local $27 + (set_local $26 (i32.load offset=8 - (get_local $27) + (get_local $26) ) ) (br $while-in$74) ) ) - (set_local $8 - (i32.eqz - (i32.and - (tee_local $1 - (i32.add - (tee_local $4 - (i32.add - (get_local $2) - (i32.const -47) - ) - ) - (i32.const 8) - ) - ) - (i32.const 7) - ) - ) - ) - (set_local $4 - (i32.lt_u - (tee_local $1 - (i32.add - (get_local $4) - (select - (i32.const 0) - (i32.and - (i32.sub - (i32.const 0) - (get_local $1) - ) - (i32.const 7) - ) - (get_local $8) - ) - ) - ) - (tee_local $8 + (set_local $1 + (i32.add + (tee_local $4 (i32.add - (get_local $0) - (i32.const 16) + (get_local $2) + (i32.const -47) ) ) + (i32.const 8) ) ) (set_local $4 @@ -14087,24 +13924,37 @@ (tee_local $5 (select (get_local $0) - (get_local $1) - (get_local $4) - ) - ) - (i32.const 8) - ) - ) - (set_local $3 - (i32.eqz - (i32.and - (tee_local $1 - (i32.add - (get_local $14) - (i32.const 8) + (tee_local $1 + (i32.add + (get_local $4) + (select + (i32.and + (i32.sub + (i32.const 0) + (get_local $1) + ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) + ) + ) + ) + ) + (i32.lt_u + (get_local $1) + (tee_local $7 + (i32.add + (get_local $0) + (i32.const 16) + ) + ) ) ) - (i32.const 7) ) + (i32.const 8) ) ) (i32.store @@ -14114,15 +13964,23 @@ (get_local $14) (tee_local $3 (select - (i32.const 0) (i32.and (i32.sub (i32.const 0) - (get_local $1) + (tee_local $1 + (i32.add + (get_local $14) + (i32.const 8) + ) + ) ) (i32.const 7) ) - (get_local $3) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) + ) ) ) ) @@ -14389,88 +14247,83 @@ (i32.const 16777215) ) (i32.const 31) - (block - (set_local $2 - (i32.shl - (tee_local $1 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (i32.or + (i32.and + (i32.shr_u + (get_local $3) + (i32.add + (tee_local $1 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (tee_local $4 - (i32.shl - (get_local $1) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (get_local $1) - (i32.const 1048320) + (i32.or + (tee_local $2 + (i32.and + (i32.shr_u + (i32.add + (tee_local $4 + (i32.shl + (get_local $1) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $1) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $1) ) - (get_local $1) - ) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $2 - (i32.shl - (get_local $4) - (get_local $2) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $2 + (i32.shl + (get_local $4) + (get_local $2) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $2) - (get_local $1) + (i32.shr_u + (i32.shl + (get_local $2) + (get_local $1) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 1) ) + (i32.const 1) ) - (i32.or - (i32.and - (i32.shr_u - (get_local $3) - (i32.add - (get_local $1) - (i32.const 7) - ) - ) - (i32.const 1) - ) - (get_local $2) + (i32.shl + (get_local $1) + (i32.const 1) ) ) ) @@ -14490,7 +14343,7 @@ (i32.const 0) ) (i32.store - (get_local $8) + (get_local $7) (i32.const 0) ) (if @@ -14501,7 +14354,7 @@ (i32.const 180) ) ) - (tee_local $8 + (tee_local $7 (i32.shl (i32.const 1) (get_local $2) @@ -14514,7 +14367,7 @@ (i32.const 180) (i32.or (get_local $1) - (get_local $8) + (get_local $7) ) ) (i32.store @@ -14573,7 +14426,7 @@ (get_local $3) ) (block - (set_local $35 + (set_local $34 (get_local $4) ) (set_local $11 @@ -14582,7 +14435,7 @@ (br $while-out$77) ) ) - (set_local $8 + (set_local $7 (i32.shl (get_local $2) (i32.const 1) @@ -14610,7 +14463,7 @@ ) (block (set_local $2 - (get_local $8) + (get_local $7) ) (set_local $4 (get_local $1) @@ -14620,7 +14473,7 @@ (set_local $46 (get_local $4) ) - (set_local $41 + (set_local $40 (get_local $2) ) (set_local $11 @@ -14639,7 +14492,7 @@ ) (if (i32.lt_u - (get_local $41) + (get_local $40) (i32.load (i32.const 192) ) @@ -14647,7 +14500,7 @@ (call_import $_abort) (block (i32.store - (get_local $41) + (get_local $40) (get_local $0) ) (i32.store offset=24 @@ -14676,7 +14529,7 @@ (i32.load (tee_local $4 (i32.add - (get_local $35) + (get_local $34) (i32.const 8) ) ) @@ -14689,7 +14542,7 @@ ) ) (i32.ge_u - (get_local $35) + (get_local $34) (get_local $2) ) ) @@ -14708,7 +14561,7 @@ ) (i32.store offset=12 (get_local $0) - (get_local $35) + (get_local $34) ) (i32.store offset=24 (get_local $0) @@ -14802,19 +14655,6 @@ (br $while-in$47) ) ) - (set_local $1 - (i32.eqz - (i32.and - (tee_local $0 - (i32.add - (get_local $14) - (i32.const 8) - ) - ) - (i32.const 7) - ) - ) - ) (i32.store (i32.const 200) (tee_local $0 @@ -14822,15 +14662,23 @@ (get_local $14) (tee_local $1 (select - (i32.const 0) (i32.and (i32.sub (i32.const 0) - (get_local $0) + (tee_local $0 + (i32.add + (get_local $14) + (i32.const 8) + ) + ) ) (i32.const 7) ) - (get_local $1) + (i32.const 0) + (i32.and + (get_local $0) + (i32.const 7) + ) ) ) ) @@ -14996,7 +14844,7 @@ (set_local $9 (i32.add (get_local $2) - (tee_local $7 + (tee_local $6 (i32.and (get_local $0) (i32.const -8) @@ -15015,7 +14863,7 @@ (get_local $2) ) (set_local $10 - (get_local $7) + (get_local $6) ) ) (block @@ -15033,7 +14881,7 @@ (set_local $12 (i32.add (get_local $0) - (get_local $7) + (get_local $6) ) ) (if @@ -15114,7 +14962,7 @@ (return) ) ) - (set_local $7 + (set_local $6 (i32.shr_u (get_local $0) (i32.const 3) @@ -15143,7 +14991,7 @@ (i32.const 216) (i32.shl (i32.shl - (get_local $7) + (get_local $6) (i32.const 1) ) (i32.const 2) @@ -15185,7 +15033,7 @@ (i32.xor (i32.shl (i32.const 1) - (get_local $7) + (get_local $6) ) (i32.const -1) ) @@ -15274,7 +15122,7 @@ (if (tee_local $0 (i32.load - (tee_local $7 + (tee_local $6 (i32.add (tee_local $13 (i32.add @@ -15300,7 +15148,7 @@ (set_local $2 (get_local $0) ) - (set_local $7 + (set_local $6 (get_local $13) ) ) @@ -15329,7 +15177,7 @@ (set_local $2 (get_local $0) ) - (set_local $7 + (set_local $6 (get_local $13) ) (br $while-in$5) @@ -15350,7 +15198,7 @@ (set_local $2 (get_local $0) ) - (set_local $7 + (set_local $6 (get_local $13) ) ) @@ -15361,13 +15209,13 @@ ) (if (i32.lt_u - (get_local $7) + (get_local $6) (get_local $1) ) (call_import $_abort) (block (i32.store - (get_local $7) + (get_local $6) (i32.const 0) ) (set_local $5 @@ -15405,7 +15253,7 @@ (if (i32.eq (i32.load - (tee_local $7 + (tee_local $6 (i32.add (get_local $0) (i32.const 8) @@ -15420,7 +15268,7 @@ (get_local $0) ) (i32.store - (get_local $7) + (get_local $6) (get_local $2) ) (set_local $5 @@ -15943,7 +15791,7 @@ (i32.load (tee_local $8 (i32.add - (tee_local $7 + (tee_local $6 (i32.add (get_local $9) (i32.const 16) @@ -15960,7 +15808,7 @@ (if (tee_local $1 (i32.load - (get_local $7) + (get_local $6) ) ) (block @@ -15968,7 +15816,7 @@ (get_local $1) ) (set_local $8 - (get_local $7) + (get_local $6) ) ) (block @@ -15984,7 +15832,7 @@ (if (tee_local $1 (i32.load - (tee_local $7 + (tee_local $6 (i32.add (get_local $2) (i32.const 20) @@ -15997,7 +15845,7 @@ (get_local $1) ) (set_local $8 - (get_local $7) + (get_local $6) ) (br $while-in$13) ) @@ -16005,7 +15853,7 @@ (if (tee_local $1 (i32.load - (tee_local $7 + (tee_local $6 (i32.add (get_local $2) (i32.const 16) @@ -16018,7 +15866,7 @@ (get_local $1) ) (set_local $8 - (get_local $7) + (get_local $6) ) ) (br $while-out$12) @@ -16076,7 +15924,7 @@ (if (i32.eq (i32.load - (tee_local $7 + (tee_local $6 (i32.add (get_local $1) (i32.const 8) @@ -16091,7 +15939,7 @@ (get_local $1) ) (i32.store - (get_local $7) + (get_local $6) (get_local $2) ) (set_local $11 @@ -16354,7 +16202,7 @@ ) (call_import $_abort) (block - (set_local $6 + (set_local $7 (get_local $0) ) (set_local $14 @@ -16370,7 +16218,7 @@ (get_local $1) ) ) - (set_local $6 + (set_local $7 (i32.add (get_local $2) (i32.const 8) @@ -16382,7 +16230,7 @@ ) ) (i32.store - (get_local $6) + (get_local $7) (get_local $3) ) (i32.store offset=12 @@ -16404,7 +16252,7 @@ (i32.add (i32.const 480) (i32.shl - (tee_local $6 + (tee_local $7 (if (tee_local $0 (i32.shr_u @@ -16418,88 +16266,83 @@ (i32.const 16777215) ) (i32.const 31) - (block - (set_local $6 - (i32.shl - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (i32.or + (i32.and + (i32.shr_u + (get_local $5) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $6 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (i32.or + (tee_local $7 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $0) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $0) ) - (get_local $0) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $6 - (i32.shl - (get_local $1) - (get_local $6) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $7 + (i32.shl + (get_local $1) + (get_local $7) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $6) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $7) + (get_local $0) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 1) ) + (i32.const 1) ) - (i32.or - (i32.and - (i32.shr_u - (get_local $5) - (i32.add - (get_local $0) - (i32.const 7) - ) - ) - (i32.const 1) - ) - (get_local $6) + (i32.shl + (get_local $0) + (i32.const 1) ) ) ) @@ -16512,7 +16355,7 @@ ) (i32.store offset=28 (get_local $3) - (get_local $6) + (get_local $7) ) (i32.store offset=20 (get_local $3) @@ -16532,12 +16375,12 @@ (tee_local $2 (i32.shl (i32.const 1) - (get_local $6) + (get_local $7) ) ) ) (block - (set_local $6 + (set_local $7 (i32.shl (get_local $5) (select @@ -16545,12 +16388,12 @@ (i32.sub (i32.const 25) (i32.shr_u - (get_local $6) + (get_local $7) (i32.const 1) ) ) (i32.eq - (get_local $6) + (get_local $7) (i32.const 31) ) ) @@ -16585,14 +16428,14 @@ ) (set_local $2 (i32.shl - (get_local $6) + (get_local $7) (i32.const 1) ) ) (if (tee_local $0 (i32.load - (tee_local $6 + (tee_local $7 (i32.add (i32.add (get_local $1) @@ -16600,7 +16443,7 @@ ) (i32.shl (i32.shr_u - (get_local $6) + (get_local $7) (i32.const 31) ) (i32.const 2) @@ -16610,7 +16453,7 @@ ) ) (block - (set_local $6 + (set_local $7 (get_local $2) ) (set_local $1 @@ -16622,7 +16465,7 @@ (get_local $1) ) (set_local $17 - (get_local $6) + (get_local $7) ) (set_local $0 (i32.const 127) @@ -16683,7 +16526,7 @@ ) ) ) - (tee_local $6 + (tee_local $7 (i32.load (i32.const 192) ) @@ -16691,7 +16534,7 @@ ) (i32.ge_u (get_local $15) - (get_local $6) + (get_local $7) ) ) (block @@ -16761,29 +16604,26 @@ (if (get_local $0) (return) - (set_local $6 + (set_local $0 (i32.const 632) ) ) (loop $while-in$21 (block $while-out$20 (set_local $0 - (i32.eqz - (tee_local $6 + (i32.add + (tee_local $7 (i32.load - (get_local $6) + (get_local $0) ) ) - ) - ) - (set_local $6 - (i32.add - (get_local $6) (i32.const 8) ) ) (br_if $while-out$20 - (get_local $0) + (i32.eqz + (get_local $7) + ) ) (br $while-in$21) ) @@ -17374,140 +17214,147 @@ ) (func $___divdi3 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) - (call $_i64Subtract - (i32.xor - (call $___udivmoddi4 - (call $_i64Subtract - (i32.xor - (tee_local $4 - (i32.or - (i32.shr_s + (local $5 i32) + (local $6 i32) + (set_local $6 + (call $_i64Subtract + (i32.xor + (tee_local $4 + (i32.or + (i32.shr_s + (get_local $1) + (i32.const 31) + ) + (i32.shl + (select + (i32.const -1) + (i32.const 0) + (i32.lt_s (get_local $1) - (i32.const 31) - ) - (i32.shl - (select - (i32.const -1) - (i32.const 0) - (i32.lt_s - (get_local $1) - (i32.const 0) - ) - ) - (i32.const 1) + (i32.const 0) ) ) + (i32.const 1) ) - (get_local $0) ) - (i32.xor - (tee_local $0 - (i32.or - (i32.shr_s - (select - (i32.const -1) - (i32.const 0) - (i32.lt_s - (get_local $1) - (i32.const 0) - ) - ) - (i32.const 31) + ) + (get_local $0) + ) + (i32.xor + (tee_local $0 + (i32.or + (i32.shr_s + (select + (i32.const -1) + (i32.const 0) + (i32.lt_s + (get_local $1) + (i32.const 0) ) - (i32.shl - (select - (i32.const -1) - (i32.const 0) - (i32.lt_s - (get_local $1) - (i32.const 0) - ) - ) - (i32.const 1) + ) + (i32.const 31) + ) + (i32.shl + (select + (i32.const -1) + (i32.const 0) + (i32.lt_s + (get_local $1) + (i32.const 0) ) ) + (i32.const 1) ) - (get_local $1) ) - (get_local $4) - (get_local $0) ) + (get_local $1) + ) + (get_local $4) + (get_local $0) + ) + ) + (set_local $5 + (i32.xor + (tee_local $1 + (i32.or + (i32.shr_s + (get_local $3) + (i32.const 31) + ) + (i32.shl + (select + (i32.const -1) + (i32.const 0) + (i32.lt_s + (get_local $3) + (i32.const 0) + ) + ) + (i32.const 1) + ) + ) + ) + (get_local $4) + ) + ) + (set_local $0 + (i32.xor + (tee_local $4 + (i32.or + (i32.shr_s + (select + (i32.const -1) + (i32.const 0) + (i32.lt_s + (get_local $3) + (i32.const 0) + ) + ) + (i32.const 31) + ) + (i32.shl + (select + (i32.const -1) + (i32.const 0) + (i32.lt_s + (get_local $3) + (i32.const 0) + ) + ) + (i32.const 1) + ) + ) + ) + (get_local $0) + ) + ) + (call $_i64Subtract + (i32.xor + (call $___udivmoddi4 + (get_local $6) (get_global $tempRet0) (call $_i64Subtract (i32.xor - (tee_local $1 - (i32.or - (i32.shr_s - (get_local $3) - (i32.const 31) - ) - (i32.shl - (select - (i32.const -1) - (i32.const 0) - (i32.lt_s - (get_local $3) - (i32.const 0) - ) - ) - (i32.const 1) - ) - ) - ) + (get_local $1) (get_local $2) ) (i32.xor - (tee_local $2 - (i32.or - (i32.shr_s - (select - (i32.const -1) - (i32.const 0) - (i32.lt_s - (get_local $3) - (i32.const 0) - ) - ) - (i32.const 31) - ) - (i32.shl - (select - (i32.const -1) - (i32.const 0) - (i32.lt_s - (get_local $3) - (i32.const 0) - ) - ) - (i32.const 1) - ) - ) - ) + (get_local $4) (get_local $3) ) (get_local $1) - (get_local $2) + (get_local $4) ) (get_global $tempRet0) (i32.const 0) ) - (tee_local $1 - (i32.xor - (get_local $1) - (get_local $4) - ) - ) + (get_local $5) ) (i32.xor (get_global $tempRet0) - (tee_local $0 - (i32.xor - (get_local $2) - (get_local $0) - ) - ) + (get_local $0) ) - (get_local $1) + (get_local $5) (get_local $0) ) ) diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise index 0e395cf49..d5dd39c95 100644 --- a/test/emcc_hello_world.fromasm.imprecise +++ b/test/emcc_hello_world.fromasm.imprecise @@ -1585,7 +1585,7 @@ (local $6 i32) (local $7 i32) (if - (tee_local $6 + (tee_local $3 (i32.load (tee_local $5 (i32.add @@ -1596,8 +1596,8 @@ ) ) (block - (set_local $3 - (get_local $6) + (set_local $6 + (get_local $3) ) (set_local $7 (i32.const 5) @@ -1611,7 +1611,7 @@ (i32.const 0) ) (block - (set_local $3 + (set_local $6 (i32.load (get_local $5) ) @@ -1629,26 +1629,26 @@ (i32.const 5) ) (block - (set_local $3 - (i32.lt_u - (i32.sub - (get_local $3) - (tee_local $6 - (i32.load - (tee_local $5 - (i32.add - (get_local $2) - (i32.const 20) - ) - ) + (set_local $4 + (tee_local $3 + (i32.load + (tee_local $5 + (i32.add + (get_local $2) + (i32.const 20) ) ) ) - (get_local $1) ) ) (if - (get_local $3) + (i32.lt_u + (i32.sub + (get_local $6) + (get_local $3) + ) + (get_local $1) + ) (block (set_local $4 (call_indirect $FUNCSIG$iiii @@ -1694,7 +1694,7 @@ (i32.const 0) ) (br $label$break$L10 - (get_local $6) + (get_local $4) ) ) ) @@ -1703,7 +1703,7 @@ (i32.load8_s (i32.add (get_local $0) - (tee_local $4 + (tee_local $6 (i32.add (get_local $3) (i32.const -1) @@ -1715,7 +1715,7 @@ ) (br $while-out$2) (set_local $3 - (get_local $4) + (get_local $6) ) ) (br $while-in$3) @@ -1769,7 +1769,7 @@ (set_local $2 (i32.const 0) ) - (get_local $6) + (get_local $4) ) ) ) @@ -1801,19 +1801,21 @@ (local $1 i32) (local $2 i32) (set_local $1 + (i32.load8_s + (tee_local $2 + (i32.add + (get_local $0) + (i32.const 74) + ) + ) + ) + ) + (i32.store8 + (get_local $2) (i32.and (i32.or (i32.add - (tee_local $1 - (i32.load8_s - (tee_local $2 - (i32.add - (get_local $0) - (i32.const 74) - ) - ) - ) - ) + (get_local $1) (i32.const 255) ) (get_local $1) @@ -1821,10 +1823,6 @@ (i32.const 255) ) ) - (i32.store8 - (get_local $2) - (get_local $1) - ) (if (i32.and (tee_local $1 @@ -2117,7 +2115,7 @@ (block $label$break$L1 (if (i32.and - (tee_local $6 + (tee_local $5 (i32.ne (get_local $2) (i32.const 0) @@ -2132,7 +2130,7 @@ ) ) (block - (set_local $6 + (set_local $5 (i32.and (get_local $1) (i32.const 255) @@ -2153,7 +2151,7 @@ ) (i32.shr_s (i32.shl - (get_local $6) + (get_local $5) (i32.const 24) ) (i32.const 24) @@ -2163,7 +2161,7 @@ (set_local $4 (get_local $3) ) - (set_local $5 + (set_local $6 (get_local $2) ) (set_local $3 @@ -2229,7 +2227,7 @@ (get_local $0) ) (set_local $15 - (get_local $6) + (get_local $5) ) (set_local $3 (i32.const 5) @@ -2248,7 +2246,7 @@ (set_local $4 (get_local $14) ) - (set_local $5 + (set_local $6 (get_local $11) ) (set_local $3 @@ -2274,7 +2272,7 @@ (if (i32.eq (i32.load8_s - (get_local $5) + (get_local $6) ) (i32.shr_s (i32.shl @@ -2294,7 +2292,7 @@ (get_local $4) ) (set_local $8 - (get_local $5) + (get_local $6) ) ) (block @@ -2311,41 +2309,41 @@ (i32.const 3) ) (block + (set_local $1 + (get_local $6) + ) (loop $while-in$6 (block $while-out$5 - (set_local $1 - (i32.add - (tee_local $6 - (i32.xor - (i32.load - (get_local $5) - ) - (get_local $2) - ) - ) - (i32.const -16843009) - ) - ) (br_if $while-out$5 (i32.and (i32.xor (i32.and - (get_local $6) + (tee_local $5 + (i32.xor + (i32.load + (get_local $1) + ) + (get_local $2) + ) + ) (i32.const -2139062144) ) (i32.const -2139062144) ) - (get_local $1) + (i32.add + (get_local $5) + (i32.const -16843009) + ) ) ) (set_local $1 (i32.add - (get_local $5) + (get_local $1) (i32.const 4) ) ) (if - (i32.gt_u + (i32.le_u (tee_local $4 (i32.add (get_local $4) @@ -2354,9 +2352,6 @@ ) (i32.const 3) ) - (set_local $5 - (get_local $1) - ) (block (set_local $12 (get_local $4) @@ -2377,7 +2372,7 @@ (get_local $4) ) (set_local $9 - (get_local $5) + (get_local $1) ) ) (block @@ -2385,7 +2380,7 @@ (get_local $4) ) (set_local $13 - (get_local $5) + (get_local $6) ) (set_local $3 (i32.const 11) @@ -2667,8 +2662,8 @@ (local $11 i32) (local $12 i32) (local $13 i32) - (local $14 f64) - (local $15 i32) + (local $14 i32) + (local $15 f64) (local $16 i32) (local $17 i32) (local $18 i32) @@ -2681,9 +2676,9 @@ (local $25 i32) (local $26 i32) (local $27 i32) - (local $28 i32) + (local $28 f64) (local $29 i32) - (local $30 f64) + (local $30 i32) (local $31 i32) (local $32 i32) (local $33 i32) @@ -2736,8 +2731,7 @@ (local $80 i32) (local $81 i32) (local $82 i32) - (local $83 i32) - (set_local $31 + (set_local $30 (get_global $STACKTOP) ) (set_global $STACKTOP @@ -2753,33 +2747,33 @@ ) (call_import $abort) ) - (set_local $25 + (set_local $24 (i32.add - (get_local $31) + (get_local $30) (i32.const 16) ) ) - (set_local $19 - (get_local $31) + (set_local $18 + (get_local $30) ) - (set_local $63 + (set_local $62 (i32.add - (get_local $31) + (get_local $30) (i32.const 528) ) ) - (set_local $45 + (set_local $42 (i32.ne (get_local $0) (i32.const 0) ) ) - (set_local $71 - (tee_local $28 + (set_local $70 + (tee_local $26 (i32.add (tee_local $5 (i32.add - (get_local $31) + (get_local $30) (i32.const 536) ) ) @@ -2787,89 +2781,89 @@ ) ) ) - (set_local $72 + (set_local $71 (i32.add (get_local $5) (i32.const 39) ) ) - (set_local $76 + (set_local $75 (i32.add - (tee_local $73 + (tee_local $72 (i32.add - (get_local $31) + (get_local $30) (i32.const 8) ) ) (i32.const 4) ) ) - (set_local $53 + (set_local $51 (i32.add (tee_local $5 (i32.add - (get_local $31) + (get_local $30) (i32.const 576) ) ) (i32.const 12) ) ) - (set_local $74 + (set_local $73 (i32.add (get_local $5) (i32.const 11) ) ) - (set_local $77 + (set_local $76 (i32.sub - (tee_local $40 - (get_local $53) + (tee_local $38 + (get_local $51) ) - (tee_local $64 - (tee_local $29 + (tee_local $63 + (tee_local $27 (i32.add - (get_local $31) + (get_local $30) (i32.const 588) ) ) ) ) ) - (set_local $78 + (set_local $77 (i32.sub (i32.const -2) - (get_local $64) + (get_local $63) ) ) - (set_local $79 + (set_local $78 (i32.add - (get_local $40) + (get_local $38) (i32.const 2) ) ) - (set_local $81 + (set_local $80 (i32.add - (tee_local $80 + (tee_local $79 (i32.add - (get_local $31) + (get_local $30) (i32.const 24) ) ) (i32.const 288) ) ) - (set_local $75 - (tee_local $46 + (set_local $74 + (tee_local $43 (i32.add - (get_local $29) + (get_local $27) (i32.const 9) ) ) ) - (set_local $54 + (set_local $52 (i32.add - (get_local $29) + (get_local $27) (i32.const 8) ) ) @@ -2932,13 +2926,13 @@ (get_local $20) ) (block - (set_local $82 + (set_local $81 (get_local $22) ) - (set_local $83 + (set_local $82 (get_local $8) ) - (set_local $12 + (set_local $11 (i32.const 242) ) (br $label$break$L1) @@ -2962,21 +2956,21 @@ ) ) ) - (set_local $55 + (set_local $53 (get_local $5) ) - (set_local $65 + (set_local $64 (get_local $5) ) - (set_local $12 + (set_local $11 (i32.const 9) ) (br $label$break$L9) ) - (set_local $41 + (set_local $39 (get_local $5) ) - (set_local $56 + (set_local $54 (get_local $5) ) (br $label$break$L9) @@ -2997,34 +2991,34 @@ (block $label$break$L12 (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 9) ) (loop $while-in$8 (block $while-out$7 - (set_local $12 + (set_local $11 (i32.const 0) ) (if (i32.ne (i32.load8_s offset=1 - (get_local $55) + (get_local $53) ) (i32.const 37) ) (block - (set_local $41 - (get_local $55) + (set_local $39 + (get_local $53) ) - (set_local $56 - (get_local $65) + (set_local $54 + (get_local $64) ) (br $label$break$L12) ) ) (set_local $5 (i32.add - (get_local $65) + (get_local $64) (i32.const 1) ) ) @@ -3033,7 +3027,7 @@ (i32.load8_s (tee_local $1 (i32.add - (get_local $55) + (get_local $53) (i32.const 2) ) ) @@ -3041,18 +3035,18 @@ (i32.const 37) ) (block - (set_local $55 + (set_local $53 (get_local $1) ) - (set_local $65 + (set_local $64 (get_local $5) ) ) (block - (set_local $41 + (set_local $39 (get_local $1) ) - (set_local $56 + (set_local $54 (get_local $5) ) (br $while-out$7) @@ -3063,14 +3057,14 @@ ) ) ) - (set_local $17 + (set_local $12 (i32.sub - (get_local $56) + (get_local $54) (get_local $20) ) ) (if - (get_local $45) + (get_local $42) (if (i32.eqz (i32.and @@ -3082,22 +3076,22 @@ ) (call $___fwritex (get_local $20) - (get_local $17) + (get_local $12) (get_local $0) ) ) ) (if (i32.ne - (get_local $56) + (get_local $54) (get_local $20) ) (block (set_local $20 - (get_local $41) + (get_local $39) ) (set_local $1 - (get_local $17) + (get_local $12) ) (br $label$continue$L1) ) @@ -3113,7 +3107,7 @@ (i32.load8_s (tee_local $5 (i32.add - (get_local $41) + (get_local $39) (i32.const 1) ) ) @@ -3134,14 +3128,14 @@ (tee_local $5 (select (i32.add - (get_local $41) + (get_local $39) (i32.const 3) ) (get_local $5) (tee_local $7 (i32.eq (i32.load8_s offset=2 - (get_local $41) + (get_local $39) ) (i32.const 36) ) @@ -3150,14 +3144,14 @@ ) ) ) - (set_local $11 + (set_local $13 (select (i32.const 1) (get_local $8) (get_local $7) ) ) - (set_local $9 + (set_local $10 (get_local $5) ) (select @@ -3167,10 +3161,10 @@ ) ) (block - (set_local $11 + (set_local $13 (get_local $8) ) - (set_local $9 + (set_local $10 (get_local $5) ) (i32.const -1) @@ -3242,7 +3236,7 @@ (i32.load8_s (tee_local $6 (i32.add - (get_local $9) + (get_local $10) (i32.const 1) ) ) @@ -3257,11 +3251,11 @@ ) (i32.const 32) ) - (set_local $9 + (set_local $10 (get_local $6) ) (block - (set_local $9 + (set_local $10 (get_local $6) ) (br $while-out$10) @@ -3296,7 +3290,7 @@ (i32.load8_s (tee_local $6 (i32.add - (get_local $9) + (get_local $10) (i32.const 1) ) ) @@ -3309,7 +3303,7 @@ (if (i32.eq (i32.load8_s offset=2 - (get_local $9) + (get_local $10) ) (i32.const 36) ) @@ -3324,56 +3318,60 @@ ) (i32.const 10) ) - (set_local $1 - (i32.load - (i32.add - (get_local $3) - (i32.shl - (i32.add - (i32.load8_s - (get_local $6) + (drop + (i32.load offset=4 + (tee_local $1 + (i32.add + (get_local $3) + (i32.shl + (i32.add + (i32.load8_s + (get_local $6) + ) + (i32.const -48) ) - (i32.const -48) + (i32.const 3) ) - (i32.const 3) ) ) ) ) - (set_local $66 + (set_local $65 (i32.const 1) ) - (set_local $67 + (set_local $66 (i32.add - (get_local $9) + (get_local $10) (i32.const 3) ) ) - (set_local $57 - (get_local $1) + (set_local $55 + (i32.load + (get_local $1) + ) ) ) - (set_local $12 + (set_local $11 (i32.const 24) ) ) - (set_local $12 + (set_local $11 (i32.const 24) ) ) (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 24) ) (block - (set_local $12 + (set_local $11 (i32.const 0) ) (if - (get_local $11) + (get_local $13) (block - (set_local $24 + (set_local $23 (i32.const -1) ) (br $label$break$L1) @@ -3381,10 +3379,10 @@ ) (if (i32.eqz - (get_local $45) + (get_local $42) ) (block - (set_local $9 + (set_local $10 (get_local $6) ) (set_local $21 @@ -3418,13 +3416,13 @@ (i32.const 4) ) ) - (set_local $66 + (set_local $65 (i32.const 0) ) - (set_local $67 + (set_local $66 (get_local $6) ) - (set_local $57 + (set_local $55 (get_local $5) ) ) @@ -3432,20 +3430,20 @@ (set_local $8 (if (i32.lt_s - (get_local $57) + (get_local $55) (i32.const 0) ) (block - (set_local $9 - (get_local $67) + (set_local $10 + (get_local $66) ) (set_local $21 - (get_local $66) + (get_local $65) ) (set_local $16 (i32.sub (i32.const 0) - (get_local $57) + (get_local $55) ) ) (i32.or @@ -3454,14 +3452,14 @@ ) ) (block - (set_local $9 - (get_local $67) + (set_local $10 + (get_local $66) ) (set_local $21 - (get_local $66) + (get_local $65) ) (set_local $16 - (get_local $57) + (get_local $55) ) (get_local $8) ) @@ -3486,7 +3484,7 @@ ) (block (set_local $1 - (get_local $9) + (get_local $10) ) (set_local $5 (i32.const 0) @@ -3529,17 +3527,17 @@ (i32.const 0) ) (block - (set_local $24 + (set_local $23 (i32.const -1) ) (br $label$break$L1) ) (block - (set_local $9 + (set_local $10 (get_local $1) ) (set_local $21 - (get_local $11) + (get_local $13) ) (set_local $16 (get_local $5) @@ -3549,7 +3547,7 @@ ) (block (set_local $21 - (get_local $11) + (get_local $13) ) (set_local $16 (i32.const 0) @@ -3558,12 +3556,12 @@ ) ) ) - (set_local $11 + (set_local $13 (block $label$break$L46 (if (i32.eq (i32.load8_s - (get_local $9) + (get_local $10) ) (i32.const 46) ) @@ -3576,7 +3574,7 @@ (i32.load8_s (tee_local $5 (i32.add - (get_local $9) + (get_local $10) (i32.const 1) ) ) @@ -3614,7 +3612,7 @@ ) ) (block - (set_local $10 + (set_local $9 (i32.const 0) ) (br $label$break$L46 @@ -3650,7 +3648,7 @@ (i32.const 10) ) (block - (set_local $10 + (set_local $9 (get_local $5) ) (br $label$break$L46 @@ -3669,7 +3667,7 @@ (i32.load8_s (tee_local $6 (i32.add - (get_local $9) + (get_local $10) (i32.const 2) ) ) @@ -3682,7 +3680,7 @@ (if (i32.eq (i32.load8_s offset=3 - (get_local $9) + (get_local $10) ) (i32.const 36) ) @@ -3697,28 +3695,32 @@ ) (i32.const 10) ) - (set_local $1 - (i32.load - (i32.add - (get_local $3) - (i32.shl - (i32.add - (i32.load8_s - (get_local $6) + (drop + (i32.load offset=4 + (tee_local $1 + (i32.add + (get_local $3) + (i32.shl + (i32.add + (i32.load8_s + (get_local $6) + ) + (i32.const -48) ) - (i32.const -48) + (i32.const 3) ) - (i32.const 3) ) ) ) ) - (set_local $10 - (get_local $1) + (set_local $9 + (i32.load + (get_local $1) + ) ) (br $label$break$L46 (i32.add - (get_local $9) + (get_local $10) (i32.const 4) ) ) @@ -3728,14 +3730,14 @@ (if (get_local $21) (block - (set_local $24 + (set_local $23 (i32.const -1) ) (br $label$break$L1) ) ) (if - (get_local $45) + (get_local $42) (block (set_local $5 (i32.load @@ -3759,13 +3761,13 @@ (i32.const 4) ) ) - (set_local $10 + (set_local $9 (get_local $5) ) (get_local $6) ) (block - (set_local $10 + (set_local $9 (i32.const 0) ) (get_local $6) @@ -3773,15 +3775,15 @@ ) ) (block - (set_local $10 + (set_local $9 (i32.const -1) ) - (get_local $9) + (get_local $10) ) ) ) ) - (set_local $13 + (set_local $14 (i32.const 0) ) (loop $while-in$20 @@ -3791,7 +3793,7 @@ (tee_local $1 (i32.add (i32.load8_s - (get_local $11) + (get_local $13) ) (i32.const -65) ) @@ -3799,15 +3801,15 @@ (i32.const 57) ) (block - (set_local $24 + (set_local $23 (i32.const -1) ) (br $label$break$L1) ) ) - (set_local $9 + (set_local $10 (i32.add - (get_local $11) + (get_local $13) (i32.const 1) ) ) @@ -3822,7 +3824,7 @@ (i32.add (i32.const 3611) (i32.mul - (get_local $13) + (get_local $14) (i32.const 58) ) ) @@ -3838,10 +3840,10 @@ (i32.const 8) ) (block - (set_local $11 - (get_local $9) - ) (set_local $13 + (get_local $10) + ) + (set_local $14 (get_local $5) ) ) @@ -3866,7 +3868,7 @@ ) ) (block - (set_local $24 + (set_local $23 (i32.const -1) ) (br $label$break$L1) @@ -3893,12 +3895,12 @@ (if (get_local $5) (block - (set_local $24 + (set_local $23 (i32.const -1) ) (br $label$break$L1) ) - (set_local $12 + (set_local $11 (i32.const 52) ) ) @@ -3917,7 +3919,7 @@ (get_local $6) ) (set_local $5 - (i32.load + (i32.load offset=4 (tee_local $1 (i32.add (get_local $3) @@ -3929,22 +3931,19 @@ ) ) ) - (set_local $1 - (i32.load offset=4 - (get_local $1) - ) - ) (i32.store (tee_local $7 - (get_local $19) + (get_local $18) + ) + (i32.load + (get_local $1) ) - (get_local $5) ) (i32.store offset=4 (get_local $7) - (get_local $1) + (get_local $5) ) - (set_local $12 + (set_local $11 (i32.const 52) ) (br $do-once$21) @@ -3952,17 +3951,17 @@ ) (if (i32.eqz - (get_local $45) + (get_local $42) ) (block - (set_local $24 + (set_local $23 (i32.const 0) ) (br $label$break$L1) ) ) (call $_pop_arg_336 - (get_local $19) + (get_local $18) (get_local $6) (get_local $2) ) @@ -3971,23 +3970,23 @@ ) (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 52) ) (block - (set_local $12 + (set_local $11 (i32.const 0) ) (if (i32.eqz - (get_local $45) + (get_local $42) ) (block (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) @@ -3997,26 +3996,7 @@ ) ) ) - (set_local $5 - (i32.and - (i32.ne - (get_local $13) - (i32.const 0) - ) - (i32.eq - (i32.and - (tee_local $1 - (i32.load8_s - (get_local $11) - ) - ) - (i32.const 15) - ) - (i32.const 3) - ) - ) - ) - (set_local $18 + (set_local $17 (select (tee_local $7 (i32.and @@ -4047,14 +4027,30 @@ (block $switch-case$34 (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$49 $switch-default$127 $switch-case$44 $switch-case$41 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 (i32.sub - (tee_local $26 + (tee_local $25 (select (i32.and - (get_local $1) + (tee_local $1 + (i32.load8_s + (get_local $13) + ) + ) (i32.const -33) ) (get_local $1) - (get_local $5) + (i32.and + (i32.ne + (get_local $14) + (i32.const 0) + ) + (i32.eq + (i32.and + (get_local $1) + (i32.const 15) + ) + (i32.const 3) + ) + ) ) ) (i32.const 65) @@ -4071,22 +4067,22 @@ (block $switch-case$26 (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33 (i32.sub - (get_local $13) + (get_local $14) (i32.const 0) ) ) ) (i32.store (i32.load - (get_local $19) + (get_local $18) ) (get_local $22) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) @@ -4095,15 +4091,15 @@ ) (i32.store (i32.load - (get_local $19) + (get_local $18) ) (get_local $22) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) @@ -4113,7 +4109,7 @@ (i32.store (tee_local $1 (i32.load - (get_local $19) + (get_local $18) ) ) (get_local $22) @@ -4132,10 +4128,10 @@ ) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) @@ -4144,7 +4140,7 @@ ) (i32.store16 (i32.load - (get_local $19) + (get_local $18) ) (i32.and (get_local $22) @@ -4152,10 +4148,10 @@ ) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) @@ -4164,7 +4160,7 @@ ) (i32.store8 (i32.load - (get_local $19) + (get_local $18) ) (i32.and (get_local $22) @@ -4172,10 +4168,10 @@ ) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) @@ -4184,15 +4180,15 @@ ) (i32.store (i32.load - (get_local $19) + (get_local $18) ) (get_local $22) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) @@ -4202,7 +4198,7 @@ (i32.store (tee_local $1 (i32.load - (get_local $19) + (get_local $18) ) ) (get_local $22) @@ -4221,10 +4217,10 @@ ) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) @@ -4232,50 +4228,50 @@ (br $label$continue$L1) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $17) + (get_local $12) ) (set_local $8 (get_local $21) ) (br $label$continue$L1) ) - (set_local $47 + (set_local $44 (i32.or - (get_local $18) + (get_local $17) (i32.const 8) ) ) - (set_local $58 + (set_local $56 (select - (get_local $10) + (get_local $9) (i32.const 8) (i32.gt_u - (get_local $10) + (get_local $9) (i32.const 8) ) ) ) - (set_local $68 + (set_local $67 (i32.const 120) ) - (set_local $12 + (set_local $11 (i32.const 64) ) (br $switch$24) ) - (set_local $47 - (get_local $18) + (set_local $44 + (get_local $17) ) - (set_local $58 - (get_local $10) + (set_local $56 + (get_local $9) ) - (set_local $68 - (get_local $26) + (set_local $67 + (get_local $25) ) - (set_local $12 + (set_local $11 (i32.const 64) ) (br $switch$24) @@ -4286,7 +4282,7 @@ (tee_local $5 (i32.load (tee_local $1 - (get_local $19) + (get_local $18) ) ) ) @@ -4300,11 +4296,11 @@ ) ) (set_local $6 - (get_local $28) + (get_local $26) ) (block (set_local $6 - (get_local $28) + (get_local $26) ) (loop $while-in$39 (block $while-out$38 @@ -4349,62 +4345,59 @@ ) ) ) - (set_local $59 + (set_local $57 (if (i32.and - (get_local $18) + (get_local $17) (i32.const 8) ) (block - (set_local $5 - (i32.lt_s - (get_local $10) + (set_local $32 + (get_local $17) + ) + (set_local $31 + (select (tee_local $1 (i32.add (i32.sub - (get_local $71) + (get_local $70) (get_local $6) ) (i32.const 1) ) ) + (get_local $9) + (i32.lt_s + (get_local $9) + (get_local $1) + ) ) ) (set_local $33 - (get_local $18) - ) - (set_local $32 - (select - (get_local $1) - (get_local $10) - (get_local $5) - ) - ) - (set_local $34 (i32.const 0) ) - (set_local $35 + (set_local $34 (i32.const 4091) ) - (set_local $12 + (set_local $11 (i32.const 77) ) (get_local $6) ) (block - (set_local $33 - (get_local $18) - ) (set_local $32 - (get_local $10) + (get_local $17) ) - (set_local $34 + (set_local $31 + (get_local $9) + ) + (set_local $33 (i32.const 0) ) - (set_local $35 + (set_local $34 (i32.const 4091) ) - (set_local $12 + (set_local $11 (i32.const 77) ) (get_local $6) @@ -4416,13 +4409,13 @@ (set_local $5 (i32.load (tee_local $1 - (get_local $19) + (get_local $18) ) ) ) (if (i32.lt_s - (tee_local $36 + (tee_local $1 (i32.load offset=4 (get_local $1) ) @@ -4431,86 +4424,83 @@ ) (block (i32.store - (tee_local $42 - (get_local $19) + (tee_local $45 + (get_local $18) ) (tee_local $1 (call $_i64Subtract (i32.const 0) (i32.const 0) (get_local $5) - (get_local $36) + (get_local $1) ) ) ) (i32.store offset=4 - (get_local $42) + (get_local $45) (tee_local $5 (get_global $tempRet0) ) ) - (set_local $36 + (set_local $45 (get_local $1) ) - (set_local $42 + (set_local $58 (get_local $5) ) - (set_local $60 + (set_local $59 (i32.const 1) ) - (set_local $61 + (set_local $60 (i32.const 4091) ) - (set_local $12 + (set_local $11 (i32.const 76) ) (br $switch$24) ) ) - (set_local $36 + (set_local $45 (if (i32.and - (get_local $18) + (get_local $17) (i32.const 2048) ) (block - (set_local $42 - (get_local $36) + (set_local $58 + (get_local $1) ) - (set_local $60 + (set_local $59 (i32.const 1) ) - (set_local $61 + (set_local $60 (i32.const 4092) ) - (set_local $12 + (set_local $11 (i32.const 76) ) (get_local $5) ) (block - (set_local $1 - (select - (i32.const 4093) - (i32.const 4091) - (tee_local $6 - (i32.and - (get_local $18) - (i32.const 1) - ) + (set_local $58 + (get_local $1) + ) + (set_local $59 + (tee_local $1 + (i32.and + (get_local $17) + (i32.const 1) ) ) ) - (set_local $42 - (get_local $36) - ) (set_local $60 - (get_local $6) - ) - (set_local $61 - (get_local $1) + (select + (i32.const 4093) + (i32.const 4091) + (get_local $1) + ) ) - (set_local $12 + (set_local $11 (i32.const 76) ) (get_local $5) @@ -4519,126 +4509,131 @@ ) (br $switch$24) ) - (set_local $36 + (set_local $45 (i32.load (tee_local $1 - (get_local $19) + (get_local $18) ) ) ) - (set_local $42 + (set_local $58 (i32.load offset=4 (get_local $1) ) ) - (set_local $60 + (set_local $59 (i32.const 0) ) - (set_local $61 + (set_local $60 (i32.const 4091) ) - (set_local $12 + (set_local $11 (i32.const 76) ) (br $switch$24) ) - (set_local $1 - (i32.load - (get_local $19) + (drop + (i32.load offset=4 + (tee_local $1 + (get_local $18) + ) ) ) (i32.store8 - (get_local $72) + (get_local $71) (i32.and - (get_local $1) + (i32.load + (get_local $1) + ) (i32.const 255) ) ) - (set_local $48 - (get_local $72) + (set_local $46 + (get_local $71) ) - (set_local $37 + (set_local $35 (get_local $7) ) - (set_local $43 + (set_local $40 (i32.const 1) ) - (set_local $44 + (set_local $41 (i32.const 0) ) - (set_local $49 + (set_local $47 (i32.const 4091) ) - (set_local $50 - (get_local $28) + (set_local $48 + (get_local $26) ) (br $switch$24) ) - (set_local $51 + (set_local $49 (call $_strerror (i32.load (call $___errno_location) ) ) ) - (set_local $12 + (set_local $11 (i32.const 82) ) (br $switch$24) ) - (set_local $5 - (i32.ne + (set_local $49 + (select (tee_local $1 (i32.load - (get_local $19) + (get_local $18) ) ) - (i32.const 0) - ) - ) - (set_local $51 - (select - (get_local $1) (i32.const 4101) - (get_local $5) + (i32.ne + (get_local $1) + (i32.const 0) + ) ) ) - (set_local $12 + (set_local $11 (i32.const 82) ) (br $switch$24) ) - (set_local $1 - (i32.load - (get_local $19) + (drop + (i32.load offset=4 + (tee_local $1 + (get_local $18) + ) ) ) (i32.store - (get_local $73) - (get_local $1) + (get_local $72) + (i32.load + (get_local $1) + ) ) (i32.store - (get_local $76) + (get_local $75) (i32.const 0) ) (i32.store - (get_local $19) - (get_local $73) + (get_local $18) + (get_local $72) ) - (set_local $69 + (set_local $68 (i32.const -1) ) - (set_local $12 + (set_local $11 (i32.const 86) ) (br $switch$24) ) - (set_local $12 + (set_local $11 (if - (get_local $10) + (get_local $9) (block - (set_local $69 - (get_local $10) + (set_local $68 + (get_local $9) ) (i32.const 86) ) @@ -4648,9 +4643,9 @@ (i32.const 32) (get_local $16) (i32.const 0) - (get_local $18) + (get_local $17) ) - (set_local $38 + (set_local $36 (i32.const 0) ) (i32.const 98) @@ -4659,20 +4654,20 @@ ) (br $switch$24) ) - (set_local $14 + (set_local $15 (f64.load - (get_local $19) + (get_local $18) ) ) (i32.store - (get_local $25) + (get_local $24) (i32.const 0) ) (f64.store (get_global $tempDoublePtr) - (get_local $14) + (get_local $15) ) - (set_local $52 + (set_local $50 (if (i32.lt_s (i32.load offset=4 @@ -4681,51 +4676,51 @@ (i32.const 0) ) (block - (set_local $39 - (i32.const 4108) + (set_local $37 + (i32.const 1) ) - (set_local $14 + (set_local $15 (f64.neg - (get_local $14) + (get_local $15) ) ) - (i32.const 1) + (i32.const 4108) ) (if (i32.and - (get_local $18) + (get_local $17) (i32.const 2048) ) (block - (set_local $39 - (i32.const 4111) + (set_local $37 + (i32.const 1) ) - (i32.const 1) + (i32.const 4111) ) (block - (set_local $39 - (select - (i32.const 4114) - (i32.const 4109) - (tee_local $1 - (i32.and - (get_local $18) - (i32.const 1) - ) + (set_local $37 + (tee_local $1 + (i32.and + (get_local $17) + (i32.const 1) ) ) ) - (get_local $1) + (select + (i32.const 4114) + (i32.const 4109) + (get_local $1) + ) ) ) ) ) (f64.store (get_global $tempDoublePtr) - (get_local $14) + (get_local $15) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 (block $do-once$56 @@ -4754,11 +4749,11 @@ (if (tee_local $5 (f64.ne - (tee_local $14 + (tee_local $15 (f64.mul (call $_frexpl - (get_local $14) - (get_local $25) + (get_local $15) + (get_local $24) ) (f64.const 2) ) @@ -4767,10 +4762,10 @@ ) ) (i32.store - (get_local $25) + (get_local $24) (i32.add (i32.load - (get_local $25) + (get_local $24) ) (i32.const -1) ) @@ -4778,25 +4773,25 @@ ) (if (i32.eq - (tee_local $15 + (tee_local $12 (i32.or - (get_local $26) + (get_local $25) (i32.const 32) ) ) (i32.const 97) ) (block - (set_local $9 + (set_local $10 (select (i32.add - (get_local $39) + (get_local $50) (i32.const 9) ) - (get_local $39) + (get_local $50) (tee_local $6 (i32.and - (get_local $26) + (get_local $25) (i32.const 32) ) ) @@ -4804,36 +4799,36 @@ ) (set_local $7 (i32.or - (get_local $52) + (get_local $37) (i32.const 2) ) ) - (set_local $14 + (set_local $15 (if (i32.or (i32.gt_u - (get_local $10) + (get_local $9) (i32.const 11) ) (i32.eqz (tee_local $1 (i32.sub (i32.const 12) - (get_local $10) + (get_local $9) ) ) ) ) - (get_local $14) + (get_local $15) (block - (set_local $30 + (set_local $28 (f64.const 8) ) (loop $while-in$61 (block $while-out$60 - (set_local $30 + (set_local $28 (f64.mul - (get_local $30) + (get_local $28) (f64.const 16) ) ) @@ -4853,25 +4848,25 @@ (select (f64.neg (f64.add - (get_local $30) + (get_local $28) (f64.sub (f64.neg - (get_local $14) + (get_local $15) ) - (get_local $30) + (get_local $28) ) ) ) (f64.sub (f64.add - (get_local $14) - (get_local $30) + (get_local $15) + (get_local $28) ) - (get_local $30) + (get_local $28) ) (i32.eq (i32.load8_s - (get_local $9) + (get_local $10) ) (i32.const 45) ) @@ -4879,37 +4874,6 @@ ) ) ) - (set_local $5 - (i32.lt_s - (tee_local $1 - (i32.load - (get_local $25) - ) - ) - (i32.const 0) - ) - ) - (set_local $5 - (i32.shr_s - (i32.shl - (i32.lt_s - (tee_local $8 - (select - (i32.sub - (i32.const 0) - (get_local $1) - ) - (get_local $1) - (get_local $5) - ) - ) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.const 31) - ) - ) (i32.store8 (i32.add (tee_local $5 @@ -4917,19 +4881,44 @@ (i32.eq (tee_local $5 (call $_fmt_u - (get_local $8) - (get_local $5) - (get_local $53) + (tee_local $5 + (select + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.load + (get_local $24) + ) + ) + ) + (get_local $1) + (i32.lt_s + (get_local $1) + (i32.const 0) + ) + ) + ) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) + (get_local $51) ) ) - (get_local $53) + (get_local $51) ) (block (i32.store8 - (get_local $74) + (get_local $73) (i32.const 48) ) - (get_local $74) + (get_local $73) ) (get_local $5) ) @@ -4959,7 +4948,7 @@ ) (i32.and (i32.add - (get_local $26) + (get_local $25) (i32.const 15) ) (i32.const 255) @@ -4967,25 +4956,25 @@ ) (set_local $5 (i32.lt_s - (get_local $10) + (get_local $9) (i32.const 1) ) ) - (set_local $13 + (set_local $14 (i32.eqz (i32.and - (get_local $18) + (get_local $17) (i32.const 8) ) ) ) - (set_local $11 - (get_local $29) + (set_local $13 + (get_local $27) ) (loop $while-in$63 (block $while-out$62 (i32.store8 - (get_local $11) + (get_local $13) (i32.and (i32.or (i32.and @@ -4993,7 +4982,7 @@ (i32.add (tee_local $1 (i32.trunc_s/f64 - (get_local $14) + (get_local $15) ) ) (i32.const 4075) @@ -5006,10 +4995,10 @@ (i32.const 255) ) ) - (set_local $14 + (set_local $15 (f64.mul (f64.sub - (get_local $14) + (get_local $15) (f64.convert_s/i32 (get_local $1) ) @@ -5017,18 +5006,18 @@ (f64.const 16) ) ) - (set_local $11 + (set_local $13 (block $do-once$64 (if (i32.eq (i32.sub (tee_local $1 (i32.add - (get_local $11) + (get_local $13) (i32.const 1) ) ) - (get_local $64) + (get_local $63) ) (i32.const 1) ) @@ -5036,11 +5025,11 @@ (br_if $do-once$64 (get_local $1) (i32.and - (get_local $13) + (get_local $14) (i32.and (get_local $5) (f64.eq - (get_local $14) + (get_local $15) (f64.const 0) ) ) @@ -5051,7 +5040,7 @@ (i32.const 46) ) (i32.add - (get_local $11) + (get_local $13) (i32.const 2) ) ) @@ -5061,12 +5050,12 @@ ) (if (f64.eq - (get_local $14) + (get_local $15) (f64.const 0) ) (block (set_local $1 - (get_local $11) + (get_local $13) ) (br $while-out$62) ) @@ -5074,21 +5063,6 @@ (br $while-in$63) ) ) - (set_local $5 - (i32.and - (i32.ne - (get_local $10) - (i32.const 0) - ) - (i32.lt_s - (i32.add - (get_local $78) - (get_local $1) - ) - (get_local $10) - ) - ) - ) (call $_pad (get_local $0) (i32.const 32) @@ -5099,25 +5073,37 @@ (select (i32.sub (i32.add - (get_local $79) - (get_local $10) + (get_local $78) + (get_local $9) ) (get_local $8) ) (i32.add (i32.sub - (get_local $77) + (get_local $76) (get_local $8) ) (get_local $1) ) - (get_local $5) + (i32.and + (i32.ne + (get_local $9) + (i32.const 0) + ) + (i32.lt_s + (i32.add + (get_local $77) + (get_local $1) + ) + (get_local $9) + ) + ) ) ) (get_local $7) ) ) - (get_local $18) + (get_local $17) ) (if (i32.eqz @@ -5129,7 +5115,7 @@ ) ) (call $___fwritex - (get_local $9) + (get_local $10) (get_local $7) (get_local $0) ) @@ -5140,14 +5126,14 @@ (get_local $16) (get_local $5) (i32.xor - (get_local $18) + (get_local $17) (i32.const 65536) ) ) (set_local $1 (i32.sub (get_local $1) - (get_local $64) + (get_local $63) ) ) (if @@ -5160,7 +5146,7 @@ ) ) (call $___fwritex - (get_local $29) + (get_local $27) (get_local $1) (get_local $0) ) @@ -5174,7 +5160,7 @@ (get_local $1) (tee_local $1 (i32.sub - (get_local $40) + (get_local $38) (get_local $8) ) ) @@ -5204,7 +5190,7 @@ (get_local $16) (get_local $5) (i32.xor - (get_local $18) + (get_local $17) (i32.const 8192) ) ) @@ -5223,43 +5209,43 @@ (set_local $1 (select (i32.const 6) - (get_local $10) + (get_local $9) (i32.lt_s - (get_local $10) + (get_local $9) (i32.const 0) ) ) ) - (set_local $62 - (tee_local $9 + (set_local $61 + (tee_local $10 (select + (get_local $79) (get_local $80) - (get_local $81) (i32.lt_s (if (get_local $5) (block (i32.store - (get_local $25) + (get_local $24) (tee_local $5 (i32.add (i32.load - (get_local $25) + (get_local $24) ) (i32.const -28) ) ) ) - (set_local $14 + (set_local $15 (f64.mul - (get_local $14) + (get_local $15) (f64.const 268435456) ) ) (get_local $5) ) (i32.load - (get_local $25) + (get_local $24) ) ) (i32.const 0) @@ -5268,7 +5254,7 @@ ) ) (set_local $7 - (get_local $9) + (get_local $10) ) (loop $while-in$67 (block $while-out$66 @@ -5276,7 +5262,7 @@ (get_local $7) (tee_local $5 (i32.trunc_s/f64 - (get_local $14) + (get_local $15) ) ) ) @@ -5288,10 +5274,10 @@ ) (if (f64.eq - (tee_local $14 + (tee_local $15 (f64.mul (f64.sub - (get_local $14) + (get_local $15) (f64.convert_u/i32 (get_local $5) ) @@ -5315,21 +5301,21 @@ (i32.gt_s (tee_local $5 (i32.load - (get_local $25) + (get_local $24) ) ) (i32.const 0) ) (block (set_local $8 - (get_local $9) + (get_local $10) ) - (set_local $13 + (set_local $14 (get_local $6) ) (loop $while-in$69 (block $while-out$68 - (set_local $11 + (set_local $13 (select (i32.const 29) (get_local $5) @@ -5345,7 +5331,7 @@ (i32.lt_u (tee_local $7 (i32.add - (get_local $13) + (get_local $14) (i32.const -4) ) ) @@ -5356,7 +5342,7 @@ (set_local $5 (i32.const 0) ) - (set_local $10 + (set_local $9 (get_local $7) ) (loop $while-in$73 @@ -5367,10 +5353,10 @@ (call $_i64Add (call $_bitshift64Shl (i32.load - (get_local $10) + (get_local $9) ) (i32.const 0) - (get_local $11) + (get_local $13) ) (get_global $tempRet0) (get_local $5) @@ -5385,7 +5371,7 @@ ) ) (i32.store - (get_local $10) + (get_local $9) (get_local $6) ) (set_local $5 @@ -5400,14 +5386,14 @@ (i32.lt_u (tee_local $7 (i32.add - (get_local $10) + (get_local $9) (i32.const -4) ) ) (get_local $8) ) (br $while-out$72) - (set_local $10 + (set_local $9 (get_local $7) ) ) @@ -5438,7 +5424,7 @@ (block $while-out$74 (br_if $while-out$74 (i32.le_u - (get_local $13) + (get_local $14) (get_local $7) ) ) @@ -5446,13 +5432,13 @@ (i32.load (tee_local $5 (i32.add - (get_local $13) + (get_local $14) (i32.const -4) ) ) ) (br $while-out$74) - (set_local $13 + (set_local $14 (get_local $5) ) ) @@ -5460,13 +5446,13 @@ ) ) (i32.store - (get_local $25) + (get_local $24) (tee_local $5 (i32.sub (i32.load - (get_local $25) + (get_local $24) ) - (get_local $11) + (get_local $13) ) ) ) @@ -5480,7 +5466,7 @@ ) (block (set_local $6 - (get_local $13) + (get_local $14) ) (br $while-out$68) ) @@ -5490,7 +5476,7 @@ ) ) (set_local $7 - (get_local $9) + (get_local $10) ) ) (if @@ -5514,188 +5500,178 @@ (i32.const 1) ) ) - (set_local $10 + (set_local $13 (i32.eq - (get_local $15) + (get_local $12) (i32.const 102) ) ) - (set_local $23 + (set_local $19 (get_local $6) ) (loop $while-in$77 (block $while-out$76 - (set_local $5 - (i32.gt_s - (tee_local $6 + (set_local $9 + (select + (i32.const 9) + (tee_local $5 (i32.sub (i32.const 0) (get_local $5) ) ) - (i32.const 9) + (i32.gt_s + (get_local $5) + (i32.const 9) + ) ) ) - (set_local $13 + (set_local $6 (select - (i32.const 9) - (get_local $6) - (get_local $5) - ) - ) - (set_local $11 - (block $do-once$78 - (if - (i32.lt_u - (get_local $7) - (get_local $23) - ) - (block - (set_local $70 - (i32.add - (i32.shl - (i32.const 1) - (get_local $13) - ) - (i32.const -1) - ) - ) - (set_local $27 - (i32.shr_u - (i32.const 1000000000) - (get_local $13) - ) - ) - (set_local $11 - (i32.const 0) - ) - (set_local $17 - (get_local $7) - ) - (loop $while-in$81 - (block $while-out$80 - (set_local $6 - (i32.and - (tee_local $5 - (i32.load - (get_local $17) - ) + (i32.add + (tee_local $5 + (select + (get_local $10) + (tee_local $7 + (block $do-once$78 + (if + (i32.lt_u + (get_local $7) + (get_local $19) ) - (get_local $70) - ) - ) - (i32.store - (get_local $17) - (i32.add - (i32.shr_u + (block + (set_local $69 + (i32.add + (i32.shl + (i32.const 1) + (get_local $9) + ) + (i32.const -1) + ) + ) + (set_local $29 + (i32.shr_u + (i32.const 1000000000) + (get_local $9) + ) + ) + (set_local $6 + (i32.const 0) + ) + (set_local $14 + (get_local $7) + ) + (loop $while-in$81 + (block $while-out$80 + (i32.store + (get_local $14) + (i32.add + (i32.shr_u + (tee_local $5 + (i32.load + (get_local $14) + ) + ) + (get_local $9) + ) + (get_local $6) + ) + ) + (set_local $6 + (i32.mul + (i32.and + (get_local $5) + (get_local $69) + ) + (get_local $29) + ) + ) + (br_if $while-out$80 + (i32.ge_u + (tee_local $14 + (i32.add + (get_local $14) + (i32.const 4) + ) + ) + (get_local $19) + ) + ) + (br $while-in$81) + ) + ) + (set_local $5 + (select + (get_local $7) + (i32.add + (get_local $7) + (i32.const 4) + ) + (i32.load + (get_local $7) + ) + ) + ) + (br_if $do-once$78 + (get_local $5) + (i32.eqz + (get_local $6) + ) + ) + (i32.store + (get_local $19) + (get_local $6) + ) + (set_local $19 + (i32.add + (get_local $19) + (i32.const 4) + ) + ) (get_local $5) - (get_local $13) ) - (get_local $11) - ) - ) - (set_local $11 - (i32.mul - (get_local $6) - (get_local $27) - ) - ) - (br_if $while-out$80 - (i32.ge_u - (tee_local $17 + (select + (get_local $7) (i32.add - (get_local $17) + (get_local $7) (i32.const 4) ) + (i32.load + (get_local $7) + ) ) - (get_local $23) ) ) - (br $while-in$81) - ) - ) - (set_local $5 - (select - (get_local $7) - (i32.add - (get_local $7) - (i32.const 4) - ) - (i32.load - (get_local $7) - ) - ) - ) - (br_if $do-once$78 - (get_local $5) - (i32.eqz - (get_local $11) - ) - ) - (i32.store - (get_local $23) - (get_local $11) - ) - (set_local $23 - (i32.add - (get_local $23) - (i32.const 4) ) + (get_local $13) ) - (get_local $5) ) - (select - (get_local $7) - (i32.add - (get_local $7) - (i32.const 4) - ) - (i32.load - (get_local $7) - ) + (i32.shl + (get_local $8) + (i32.const 2) ) ) - ) - ) - (set_local $5 - (i32.gt_s - (i32.shr_s - (i32.sub - (get_local $23) - (tee_local $7 - (select - (get_local $9) - (get_local $11) - (get_local $10) - ) + (get_local $19) + (i32.gt_s + (i32.shr_s + (i32.sub + (get_local $19) + (get_local $5) ) - ) - (i32.const 2) - ) - (get_local $8) - ) - ) - (set_local $6 - (select - (i32.add - (get_local $7) - (i32.shl - (get_local $8) (i32.const 2) ) + (get_local $8) ) - (get_local $23) - (get_local $5) ) ) (i32.store - (get_local $25) + (get_local $24) (tee_local $5 (i32.add (i32.load - (get_local $25) + (get_local $24) ) - (get_local $13) + (get_local $9) ) ) ) @@ -5704,19 +5680,11 @@ (get_local $5) (i32.const 0) ) - (block - (set_local $7 - (get_local $11) - ) - (set_local $23 - (get_local $6) - ) + (set_local $19 + (get_local $6) ) (block - (set_local $7 - (get_local $11) - ) - (set_local $27 + (set_local $19 (get_local $6) ) (br $while-out$76) @@ -5726,7 +5694,7 @@ ) ) ) - (set_local $27 + (set_local $19 (get_local $6) ) ) @@ -5734,14 +5702,14 @@ (if (i32.lt_u (get_local $7) - (get_local $27) + (get_local $19) ) (block (set_local $6 (i32.mul (i32.shr_s (i32.sub - (get_local $62) + (get_local $61) (get_local $7) ) (i32.const 2) @@ -5759,7 +5727,7 @@ (i32.const 10) ) (block - (set_local $13 + (set_local $14 (get_local $6) ) (br $do-once$82) @@ -5787,7 +5755,7 @@ ) ) (block - (set_local $13 + (set_local $14 (get_local $6) ) (br $while-out$84) @@ -5797,7 +5765,7 @@ ) ) ) - (set_local $13 + (set_local $14 (i32.const 0) ) ) @@ -5810,10 +5778,10 @@ (i32.sub (get_local $1) (select - (get_local $13) + (get_local $14) (i32.const 0) (i32.ne - (get_local $15) + (get_local $12) (i32.const 102) ) ) @@ -5821,7 +5789,7 @@ (i32.shr_s (i32.shl (i32.and - (tee_local $70 + (tee_local $69 (i32.ne (get_local $1) (i32.const 0) @@ -5829,7 +5797,7 @@ ) (tee_local $8 (i32.eq - (get_local $15) + (get_local $12) (i32.const 103) ) ) @@ -5844,8 +5812,8 @@ (i32.mul (i32.shr_s (i32.sub - (get_local $27) - (get_local $62) + (get_local $19) + (get_local $61) ) (i32.const 2) ) @@ -5858,7 +5826,7 @@ (set_local $6 (i32.add (i32.add - (get_local $9) + (get_local $10) (i32.const 4) ) (i32.shl @@ -5883,7 +5851,7 @@ ) (if (i32.lt_s - (tee_local $11 + (tee_local $13 (i32.add (i32.and (i32.rem_s @@ -5911,16 +5879,16 @@ ) (if (i32.eq - (tee_local $11 + (tee_local $13 (i32.add - (get_local $11) + (get_local $13) (i32.const 1) ) ) (i32.const 9) ) (block - (set_local $17 + (set_local $12 (get_local $5) ) (br $while-out$86) @@ -5930,7 +5898,7 @@ ) ) ) - (set_local $17 + (set_local $12 (i32.const 10) ) ) @@ -5938,17 +5906,17 @@ (if (i32.eqz (i32.and - (tee_local $11 + (tee_local $13 (i32.eq (i32.add (get_local $6) (i32.const 4) ) - (get_local $27) + (get_local $19) ) ) (i32.eqz - (tee_local $15 + (tee_local $29 (i32.and (i32.rem_u (tee_local $5 @@ -5956,7 +5924,7 @@ (get_local $6) ) ) - (get_local $17) + (get_local $12) ) (i32.const -1) ) @@ -5965,7 +5933,7 @@ ) ) (block - (set_local $14 + (set_local $15 (select (f64.const 9007199254740994) (f64.const 9007199254740992) @@ -5973,7 +5941,7 @@ (i32.and (i32.div_u (get_local $5) - (get_local $17) + (get_local $12) ) (i32.const -1) ) @@ -5981,14 +5949,14 @@ ) ) ) - (set_local $30 + (set_local $28 (if (i32.lt_u - (get_local $15) - (tee_local $10 + (get_local $29) + (tee_local $9 (i32.and (i32.div_s - (get_local $17) + (get_local $12) (i32.const 2) ) (i32.const -1) @@ -6000,39 +5968,39 @@ (f64.const 1) (f64.const 1.5) (i32.and - (get_local $11) + (get_local $13) (i32.eq - (get_local $15) - (get_local $10) + (get_local $29) + (get_local $9) ) ) ) ) ) - (set_local $14 + (set_local $15 (block $do-once$90 (if - (get_local $52) + (get_local $37) (block (br_if $do-once$90 - (get_local $14) + (get_local $15) (i32.ne (i32.load8_s - (get_local $39) + (get_local $50) ) (i32.const 45) ) ) - (set_local $30 + (set_local $28 (f64.neg - (get_local $30) + (get_local $28) ) ) (f64.neg - (get_local $14) + (get_local $15) ) ) - (get_local $14) + (get_local $15) ) ) ) @@ -6041,17 +6009,17 @@ (tee_local $5 (i32.sub (get_local $5) - (get_local $15) + (get_local $29) ) ) ) (br_if $do-once$88 (f64.eq (f64.add - (get_local $14) - (get_local $30) + (get_local $15) + (get_local $28) ) - (get_local $14) + (get_local $15) ) ) (i32.store @@ -6059,7 +6027,7 @@ (tee_local $5 (i32.add (get_local $5) - (get_local $17) + (get_local $12) ) ) ) @@ -6121,11 +6089,11 @@ ) ) ) - (set_local $11 + (set_local $13 (i32.mul (i32.shr_s (i32.sub - (get_local $62) + (get_local $61) (get_local $7) ) (i32.const 2) @@ -6143,36 +6111,36 @@ (i32.const 10) ) (block - (set_local $13 - (get_local $11) + (set_local $14 + (get_local $13) ) (br $do-once$88) ) - (set_local $10 + (set_local $9 (i32.const 10) ) ) (loop $while-in$95 (block $while-out$94 - (set_local $11 + (set_local $13 (i32.add - (get_local $11) + (get_local $13) (i32.const 1) ) ) (if (i32.lt_u (get_local $5) - (tee_local $10 + (tee_local $9 (i32.mul - (get_local $10) + (get_local $9) (i32.const 10) ) ) ) (block - (set_local $13 - (get_local $11) + (set_local $14 + (get_local $13) ) (br $while-out$94) ) @@ -6184,37 +6152,34 @@ ) ) (set_local $6 - (i32.gt_u - (get_local $27) + (select (tee_local $5 (i32.add (get_local $6) (i32.const 4) ) ) - ) - ) - (set_local $6 - (select - (get_local $5) - (get_local $27) - (get_local $6) + (get_local $19) + (i32.gt_u + (get_local $19) + (get_local $5) + ) ) ) (get_local $7) ) (block (set_local $6 - (get_local $27) + (get_local $19) ) (get_local $7) ) ) ) - (set_local $27 + (set_local $29 (i32.sub (i32.const 0) - (get_local $13) + (get_local $14) ) ) (loop $while-in$97 @@ -6225,10 +6190,10 @@ (get_local $7) ) (block - (set_local $11 + (set_local $13 (i32.const 0) ) - (set_local $23 + (set_local $19 (get_local $6) ) (br $while-out$96) @@ -6244,10 +6209,10 @@ ) ) (block - (set_local $11 + (set_local $13 (i32.const 1) ) - (set_local $23 + (set_local $19 (get_local $6) ) (br $while-out$96) @@ -6272,7 +6237,7 @@ (i32.add (i32.xor (i32.and - (get_local $70) + (get_local $69) (i32.const 1) ) (i32.const 1) @@ -6280,17 +6245,17 @@ (get_local $1) ) ) - (get_local $13) + (get_local $14) ) (i32.gt_s - (get_local $13) + (get_local $14) (i32.const -5) ) ) (block - (set_local $10 + (set_local $9 (i32.add - (get_local $26) + (get_local $25) (i32.const -1) ) ) @@ -6299,13 +6264,13 @@ (get_local $1) (i32.const -1) ) - (get_local $13) + (get_local $14) ) ) (block - (set_local $10 + (set_local $9 (i32.add - (get_local $26) + (get_local $25) (i32.const -2) ) ) @@ -6319,16 +6284,16 @@ (if (tee_local $1 (i32.and - (get_local $18) + (get_local $17) (i32.const 8) ) ) (block - (set_local $15 + (set_local $12 (get_local $8) ) - (set_local $26 - (get_local $10) + (set_local $25 + (get_local $9) ) (br $do-once$98 (get_local $1) @@ -6337,14 +6302,14 @@ ) (block $do-once$100 (if - (get_local $11) + (get_local $13) (block (if (i32.eqz (tee_local $1 (i32.load (i32.add - (get_local $23) + (get_local $19) (i32.const -4) ) ) @@ -6416,8 +6381,8 @@ (i32.mul (i32.shr_s (i32.sub - (get_local $23) - (get_local $62) + (get_local $19) + (get_local $61) ) (i32.const 2) ) @@ -6429,106 +6394,94 @@ (if (i32.eq (i32.or - (get_local $10) + (get_local $9) (i32.const 32) ) (i32.const 102) ) (block - (set_local $1 - (i32.lt_s - (tee_local $5 - (i32.sub - (get_local $1) - (get_local $6) - ) - ) - (i32.const 0) - ) - ) - (set_local $5 - (i32.lt_s + (set_local $12 + (select (get_local $8) (tee_local $1 (select (i32.const 0) - (get_local $5) - (get_local $1) + (tee_local $1 + (i32.sub + (get_local $1) + (get_local $6) + ) + ) + (i32.lt_s + (get_local $1) + (i32.const 0) + ) ) ) + (i32.lt_s + (get_local $8) + (get_local $1) + ) ) ) - (set_local $15 - (select - (get_local $8) - (get_local $1) - (get_local $5) - ) - ) - (set_local $26 - (get_local $10) + (set_local $25 + (get_local $9) ) (i32.const 0) ) (block - (set_local $1 - (i32.lt_s - (tee_local $5 - (i32.sub - (i32.add - (get_local $1) - (get_local $13) - ) - (get_local $6) - ) - ) - (i32.const 0) - ) - ) - (set_local $5 - (i32.lt_s + (set_local $12 + (select (get_local $8) (tee_local $1 (select (i32.const 0) - (get_local $5) - (get_local $1) + (tee_local $1 + (i32.sub + (i32.add + (get_local $1) + (get_local $14) + ) + (get_local $6) + ) + ) + (i32.lt_s + (get_local $1) + (i32.const 0) + ) ) ) + (i32.lt_s + (get_local $8) + (get_local $1) + ) ) ) - (set_local $15 - (select - (get_local $8) - (get_local $1) - (get_local $5) - ) - ) - (set_local $26 - (get_local $10) + (set_local $25 + (get_local $9) ) (i32.const 0) ) ) ) (block - (set_local $15 + (set_local $12 (get_local $1) ) (i32.and - (get_local $18) + (get_local $17) (i32.const 8) ) ) ) ) ) - (set_local $17 + (set_local $6 (i32.and (i32.ne (tee_local $1 (i32.or - (get_local $15) + (get_local $12) (get_local $8) ) ) @@ -6537,24 +6490,24 @@ (i32.const 1) ) ) - (set_local $13 + (set_local $14 (if - (tee_local $10 + (tee_local $9 (i32.eq (i32.or - (get_local $26) + (get_local $25) (i32.const 32) ) (i32.const 102) ) ) (block - (set_local $6 + (set_local $29 (select - (get_local $13) + (get_local $14) (i32.const 0) (i32.gt_s - (get_local $13) + (get_local $14) (i32.const 0) ) ) @@ -6562,36 +6515,33 @@ (i32.const 0) ) (block - (set_local $5 - (i32.shr_s - (i32.shl - (i32.lt_s - (tee_local $6 - (select - (get_local $27) - (get_local $13) - (i32.lt_s - (get_local $13) - (i32.const 0) - ) - ) - ) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.const 31) - ) - ) (if (i32.lt_s (i32.sub - (get_local $40) + (get_local $38) (tee_local $5 (call $_fmt_u - (get_local $6) - (get_local $5) - (get_local $53) + (tee_local $5 + (select + (get_local $29) + (get_local $14) + (i32.lt_s + (get_local $14) + (i32.const 0) + ) + ) + ) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) + (get_local $51) ) ) ) @@ -6611,7 +6561,7 @@ (br_if $while-out$104 (i32.ge_s (i32.sub - (get_local $40) + (get_local $38) (get_local $5) ) (i32.const 2) @@ -6630,7 +6580,7 @@ (i32.add (i32.and (i32.shr_s - (get_local $13) + (get_local $14) (i32.const 31) ) (i32.const 2) @@ -6648,13 +6598,13 @@ ) ) (i32.and - (get_local $26) + (get_local $25) (i32.const 255) ) ) - (set_local $6 + (set_local $29 (i32.sub - (get_local $40) + (get_local $38) (get_local $5) ) ) @@ -6671,17 +6621,17 @@ (i32.add (i32.add (i32.add - (get_local $52) + (get_local $37) (i32.const 1) ) - (get_local $15) + (get_local $12) ) - (get_local $17) + (get_local $6) ) - (get_local $6) + (get_local $29) ) ) - (get_local $18) + (get_local $17) ) (if (i32.eqz @@ -6693,8 +6643,8 @@ ) ) (call $___fwritex - (get_local $39) - (get_local $52) + (get_local $50) + (get_local $37) (get_local $0) ) ) @@ -6704,22 +6654,22 @@ (get_local $16) (get_local $6) (i32.xor - (get_local $18) + (get_local $17) (i32.const 65536) ) ) (block $do-once$106 (if - (get_local $10) + (get_local $9) (block (set_local $7 (tee_local $8 (select - (get_local $9) + (get_local $10) (get_local $7) (i32.gt_u (get_local $7) - (get_local $9) + (get_local $10) ) ) ) @@ -6732,7 +6682,7 @@ (get_local $7) ) (i32.const 0) - (get_local $46) + (get_local $43) ) ) (block $do-once$110 @@ -6745,22 +6695,22 @@ (br_if $do-once$110 (i32.ne (get_local $5) - (get_local $46) + (get_local $43) ) ) (i32.store8 - (get_local $54) + (get_local $52) (i32.const 48) ) (set_local $5 - (get_local $54) + (get_local $52) ) ) (block (br_if $do-once$110 (i32.le_u (get_local $5) - (get_local $29) + (get_local $27) ) ) (loop $while-in$113 @@ -6777,7 +6727,7 @@ (br_if $while-out$112 (i32.le_u (get_local $5) - (get_local $29) + (get_local $27) ) ) (br $while-in$113) @@ -6799,7 +6749,7 @@ (call $___fwritex (get_local $5) (i32.sub - (get_local $75) + (get_local $74) (get_local $5) ) (get_local $0) @@ -6814,7 +6764,7 @@ (i32.const 4) ) ) - (get_local $9) + (get_local $10) ) (block (set_local $5 @@ -6855,12 +6805,12 @@ (if (i32.and (i32.gt_s - (get_local $15) + (get_local $12) (i32.const 0) ) (i32.lt_u (get_local $5) - (get_local $23) + (get_local $19) ) ) (loop $while-in$117 @@ -6873,10 +6823,10 @@ (get_local $5) ) (i32.const 0) - (get_local $46) + (get_local $43) ) ) - (get_local $29) + (get_local $27) ) (loop $while-in$119 (block $while-out$118 @@ -6892,7 +6842,7 @@ (br_if $while-out$118 (i32.le_u (get_local $1) - (get_local $29) + (get_local $27) ) ) (br $while-in$119) @@ -6913,9 +6863,9 @@ (get_local $1) (select (i32.const 9) - (get_local $15) + (get_local $12) (i32.gt_s - (get_local $15) + (get_local $12) (i32.const 9) ) ) @@ -6925,14 +6875,14 @@ ) (set_local $1 (i32.add - (get_local $15) + (get_local $12) (i32.const -9) ) ) (if (i32.and (i32.gt_s - (get_local $15) + (get_local $12) (i32.const 9) ) (i32.lt_u @@ -6942,14 +6892,14 @@ (i32.const 4) ) ) - (get_local $23) + (get_local $19) ) ) - (set_local $15 + (set_local $12 (get_local $1) ) (block - (set_local $15 + (set_local $12 (get_local $1) ) (br $while-out$116) @@ -6963,7 +6913,7 @@ (get_local $0) (i32.const 48) (i32.add - (get_local $15) + (get_local $12) (i32.const 9) ) (i32.const 9) @@ -6971,23 +6921,23 @@ ) ) (block - (set_local $11 + (set_local $13 (select - (get_local $23) + (get_local $19) (i32.add (get_local $7) (i32.const 4) ) - (get_local $11) + (get_local $13) ) ) (if (i32.gt_s - (get_local $15) + (get_local $12) (i32.const -1) ) (block - (set_local $9 + (set_local $10 (i32.eqz (get_local $8) ) @@ -7006,17 +6956,17 @@ (get_local $5) ) (i32.const 0) - (get_local $46) + (get_local $43) ) ) - (get_local $46) + (get_local $43) ) (block (i32.store8 - (get_local $54) + (get_local $52) (i32.const 48) ) - (get_local $54) + (get_local $52) ) (get_local $1) ) @@ -7051,9 +7001,9 @@ ) (br_if $do-once$122 (i32.and - (get_local $9) + (get_local $10) (i32.lt_s - (get_local $15) + (get_local $12) (i32.const 1) ) ) @@ -7078,7 +7028,7 @@ (if (i32.gt_u (get_local $8) - (get_local $29) + (get_local $27) ) (set_local $1 (get_local $8) @@ -7104,7 +7054,7 @@ (br_if $while-out$124 (i32.le_u (get_local $1) - (get_local $29) + (get_local $27) ) ) (br $while-in$125) @@ -7115,7 +7065,7 @@ ) (set_local $8 (i32.sub - (get_local $75) + (get_local $74) (get_local $1) ) ) @@ -7133,9 +7083,9 @@ (get_local $1) (select (get_local $8) - (get_local $15) + (get_local $12) (i32.gt_s - (get_local $15) + (get_local $12) (get_local $8) ) ) @@ -7153,12 +7103,12 @@ (i32.const 4) ) ) - (get_local $11) + (get_local $13) ) (i32.gt_s - (tee_local $15 + (tee_local $12 (i32.sub - (get_local $15) + (get_local $12) (get_local $8) ) ) @@ -7176,7 +7126,7 @@ (get_local $0) (i32.const 48) (i32.add - (get_local $15) + (get_local $12) (i32.const 18) ) (i32.const 18) @@ -7196,10 +7146,10 @@ ) (drop (call $___fwritex - (get_local $13) + (get_local $14) (i32.sub - (get_local $40) - (get_local $13) + (get_local $38) + (get_local $14) ) (get_local $0) ) @@ -7213,7 +7163,7 @@ (get_local $16) (get_local $6) (i32.xor - (get_local $18) + (get_local $17) (i32.const 8192) ) ) @@ -7227,30 +7177,15 @@ ) ) (block - (set_local $5 - (select - (i32.const 4127) - (i32.const 4131) - (tee_local $8 - (i32.ne - (i32.and - (get_local $26) - (i32.const 32) - ) - (i32.const 0) - ) - ) - ) - ) (set_local $6 (select (i32.const 0) - (get_local $52) + (get_local $37) (tee_local $1 (i32.or (f64.ne - (get_local $14) - (get_local $14) + (get_local $15) + (get_local $15) ) (i32.const 0) ) @@ -7262,9 +7197,21 @@ (select (i32.const 4135) (i32.const 4139) - (get_local $8) + (tee_local $5 + (i32.ne + (i32.and + (get_local $25) + (i32.const 32) + ) + (i32.const 0) + ) + ) + ) + (select + (i32.const 4127) + (i32.const 4131) + (get_local $5) ) - (get_local $5) (get_local $1) ) ) @@ -7296,7 +7243,7 @@ (block (drop (call $___fwritex - (get_local $39) + (get_local $50) (get_local $6) (get_local $0) ) @@ -7321,7 +7268,7 @@ (get_local $16) (get_local $5) (i32.xor - (get_local $18) + (get_local $17) (i32.const 8192) ) ) @@ -7342,46 +7289,46 @@ ) (br $label$continue$L1) ) - (set_local $48 + (set_local $46 (get_local $20) ) - (set_local $37 - (get_local $18) + (set_local $35 + (get_local $17) ) - (set_local $43 - (get_local $10) + (set_local $40 + (get_local $9) ) - (set_local $44 + (set_local $41 (i32.const 0) ) - (set_local $49 + (set_local $47 (i32.const 4091) ) - (set_local $50 - (get_local $28) + (set_local $48 + (get_local $26) ) ) (block $label$break$L308 (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 64) ) (block (set_local $7 (i32.and - (get_local $68) + (get_local $67) (i32.const 32) ) ) - (set_local $59 + (set_local $57 (if (i32.and (i32.eqz (tee_local $5 (i32.load (tee_local $1 - (get_local $19) + (get_local $18) ) ) ) @@ -7395,26 +7342,26 @@ ) ) (block - (set_local $33 - (get_local $47) - ) (set_local $32 - (get_local $58) + (get_local $44) ) - (set_local $34 + (set_local $31 + (get_local $56) + ) + (set_local $33 (i32.const 0) ) - (set_local $35 + (set_local $34 (i32.const 4091) ) - (set_local $12 + (set_local $11 (i32.const 77) ) - (get_local $28) + (get_local $26) ) (block (set_local $6 - (get_local $28) + (get_local $26) ) (loop $while-in$130 (block $while-out$129 @@ -7469,7 +7416,7 @@ (i32.or (i32.eqz (i32.and - (get_local $47) + (get_local $44) (i32.const 8) ) ) @@ -7477,7 +7424,7 @@ (i32.eqz (i32.load (tee_local $1 - (get_local $19) + (get_local $18) ) ) ) @@ -7489,43 +7436,43 @@ ) ) (block - (set_local $33 - (get_local $47) - ) (set_local $32 - (get_local $58) + (get_local $44) ) - (set_local $34 + (set_local $31 + (get_local $56) + ) + (set_local $33 (i32.const 0) ) - (set_local $35 + (set_local $34 (i32.const 4091) ) - (set_local $12 + (set_local $11 (i32.const 77) ) (get_local $6) ) (block - (set_local $33 - (get_local $47) - ) (set_local $32 - (get_local $58) + (get_local $44) ) - (set_local $34 + (set_local $31 + (get_local $56) + ) + (set_local $33 (i32.const 2) ) - (set_local $35 + (set_local $34 (i32.add (i32.const 4091) (i32.shr_s - (get_local $68) + (get_local $67) (i32.const 4) ) ) ) - (set_local $12 + (set_local $11 (i32.const 77) ) (get_local $6) @@ -7537,80 +7484,80 @@ ) (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 76) ) (block - (set_local $59 + (set_local $57 (call $_fmt_u - (get_local $36) - (get_local $42) - (get_local $28) + (get_local $45) + (get_local $58) + (get_local $26) ) ) - (set_local $33 - (get_local $18) - ) (set_local $32 - (get_local $10) + (get_local $17) + ) + (set_local $31 + (get_local $9) + ) + (set_local $33 + (get_local $59) ) (set_local $34 (get_local $60) ) - (set_local $35 - (get_local $61) - ) - (set_local $12 + (set_local $11 (i32.const 77) ) ) (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 82) ) (block - (set_local $12 + (set_local $11 (i32.const 0) ) (set_local $5 (i32.eqz (tee_local $1 (call $_memchr - (get_local $51) + (get_local $49) (i32.const 0) - (get_local $10) + (get_local $9) ) ) ) ) - (set_local $48 - (get_local $51) + (set_local $46 + (get_local $49) ) - (set_local $37 + (set_local $35 (get_local $7) ) - (set_local $43 + (set_local $40 (select - (get_local $10) + (get_local $9) (i32.sub (get_local $1) - (get_local $51) + (get_local $49) ) (get_local $5) ) ) - (set_local $44 + (set_local $41 (i32.const 0) ) - (set_local $49 + (set_local $47 (i32.const 4091) ) - (set_local $50 + (set_local $48 (select (i32.add - (get_local $51) - (get_local $10) + (get_local $49) + (get_local $9) ) (get_local $1) (get_local $5) @@ -7619,11 +7566,11 @@ ) (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 86) ) (block - (set_local $12 + (set_local $11 (i32.const 0) ) (set_local $7 @@ -7634,7 +7581,7 @@ ) (set_local $6 (i32.load - (get_local $19) + (get_local $18) ) ) (loop $while-in$132 @@ -7653,7 +7600,7 @@ (i32.lt_s (tee_local $5 (call $_wctomb - (get_local $63) + (get_local $62) (get_local $1) ) ) @@ -7662,7 +7609,7 @@ (i32.gt_u (get_local $5) (i32.sub - (get_local $69) + (get_local $68) (get_local $7) ) ) @@ -7676,7 +7623,7 @@ ) (if (i32.gt_u - (get_local $69) + (get_local $68) (tee_local $1 (i32.add (get_local $5) @@ -7703,7 +7650,7 @@ (i32.const 0) ) (block - (set_local $24 + (set_local $23 (i32.const -1) ) (br $label$break$L1) @@ -7714,7 +7661,7 @@ (i32.const 32) (get_local $16) (get_local $7) - (get_local $18) + (get_local $17) ) (if (get_local $7) @@ -7724,7 +7671,7 @@ ) (set_local $8 (i32.load - (get_local $19) + (get_local $18) ) ) (loop $while-in$134 @@ -7738,10 +7685,10 @@ ) ) (block - (set_local $38 + (set_local $36 (get_local $7) ) - (set_local $12 + (set_local $11 (i32.const 98) ) (br $label$break$L308) @@ -7759,7 +7706,7 @@ (i32.add (tee_local $5 (call $_wctomb - (get_local $63) + (get_local $62) (get_local $1) ) ) @@ -7769,10 +7716,10 @@ (get_local $7) ) (block - (set_local $38 + (set_local $36 (get_local $7) ) - (set_local $12 + (set_local $11 (i32.const 98) ) (br $label$break$L308) @@ -7788,7 +7735,7 @@ ) ) (call $___fwritex - (get_local $63) + (get_local $62) (get_local $5) (get_local $0) ) @@ -7802,10 +7749,10 @@ (get_local $1) ) (block - (set_local $38 + (set_local $36 (get_local $7) ) - (set_local $12 + (set_local $11 (i32.const 98) ) (br $while-out$133) @@ -7816,10 +7763,10 @@ ) ) (block - (set_local $38 + (set_local $36 (i32.const 0) ) - (set_local $12 + (set_local $11 (i32.const 98) ) ) @@ -7832,33 +7779,33 @@ ) (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 98) ) (block - (set_local $12 + (set_local $11 (i32.const 0) ) (call $_pad (get_local $0) (i32.const 32) (get_local $16) - (get_local $38) + (get_local $36) (i32.xor - (get_local $18) + (get_local $17) (i32.const 8192) ) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 (select (get_local $16) - (get_local $38) + (get_local $36) (i32.gt_s (get_local $16) - (get_local $38) + (get_local $36) ) ) ) @@ -7870,31 +7817,31 @@ ) (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 77) ) (block - (set_local $12 + (set_local $11 (i32.const 0) ) (set_local $5 (select (i32.and - (get_local $33) + (get_local $32) (i32.const -65537) ) - (get_local $33) + (get_local $32) (i32.gt_s - (get_local $32) + (get_local $31) (i32.const -1) ) ) ) - (set_local $48 + (set_local $46 (if (i32.or (i32.ne - (get_local $32) + (get_local $31) (i32.const 0) ) (tee_local $1 @@ -7902,7 +7849,7 @@ (i32.ne (i32.load (tee_local $1 - (get_local $19) + (get_local $18) ) ) (i32.const 0) @@ -7917,9 +7864,12 @@ ) ) (block - (set_local $7 - (i32.gt_s - (get_local $32) + (set_local $35 + (get_local $5) + ) + (set_local $40 + (select + (get_local $31) (tee_local $1 (i32.add (i32.xor @@ -7930,79 +7880,45 @@ (i32.const 1) ) (i32.sub - (get_local $71) - (get_local $59) + (get_local $70) + (get_local $57) ) ) ) + (i32.gt_s + (get_local $31) + (get_local $1) + ) ) ) - (set_local $37 - (get_local $5) - ) - (set_local $43 - (select - (get_local $32) - (get_local $1) - (get_local $7) - ) + (set_local $41 + (get_local $33) ) - (set_local $44 + (set_local $47 (get_local $34) ) - (set_local $49 - (get_local $35) - ) - (set_local $50 - (get_local $28) + (set_local $48 + (get_local $26) ) - (get_local $59) + (get_local $57) ) (block - (set_local $37 + (set_local $35 (get_local $5) ) - (set_local $43 + (set_local $40 (i32.const 0) ) - (set_local $44 - (get_local $34) - ) - (set_local $49 - (get_local $35) + (set_local $41 + (get_local $33) ) - (set_local $50 - (get_local $28) + (set_local $47 + (get_local $34) ) - (get_local $28) - ) - ) - ) - ) - ) - (set_local $1 - (i32.lt_s - (get_local $43) - (tee_local $7 - (i32.sub - (get_local $50) - (get_local $48) - ) - ) - ) - ) - (set_local $5 - (i32.lt_s - (get_local $16) - (tee_local $1 - (i32.add - (get_local $44) - (tee_local $6 - (select - (get_local $7) - (get_local $43) - (get_local $1) + (set_local $48 + (get_local $26) ) + (get_local $26) ) ) ) @@ -8011,15 +7927,37 @@ (call $_pad (get_local $0) (i32.const 32) - (tee_local $5 + (tee_local $6 (select - (get_local $1) + (tee_local $1 + (i32.add + (get_local $41) + (tee_local $7 + (select + (tee_local $5 + (i32.sub + (get_local $48) + (get_local $46) + ) + ) + (get_local $40) + (i32.lt_s + (get_local $40) + (get_local $5) + ) + ) + ) + ) + ) (get_local $16) - (get_local $5) + (i32.lt_s + (get_local $16) + (get_local $1) + ) ) ) (get_local $1) - (get_local $37) + (get_local $35) ) (if (i32.eqz @@ -8031,26 +7969,26 @@ ) ) (call $___fwritex - (get_local $49) - (get_local $44) + (get_local $47) + (get_local $41) (get_local $0) ) ) (call $_pad (get_local $0) (i32.const 48) - (get_local $5) + (get_local $6) (get_local $1) (i32.xor - (get_local $37) + (get_local $35) (i32.const 65536) ) ) (call $_pad (get_local $0) (i32.const 48) - (get_local $6) (get_local $7) + (get_local $5) (i32.const 0) ) (if @@ -8063,26 +8001,26 @@ ) ) (call $___fwritex - (get_local $48) - (get_local $7) + (get_local $46) + (get_local $5) (get_local $0) ) ) (call $_pad (get_local $0) (i32.const 32) - (get_local $5) + (get_local $6) (get_local $1) (i32.xor - (get_local $37) + (get_local $35) (i32.const 8192) ) ) (set_local $20 - (get_local $9) + (get_local $10) ) (set_local $1 - (get_local $5) + (get_local $6) ) (set_local $8 (get_local $21) @@ -8093,16 +8031,16 @@ (block $label$break$L343 (if (i32.eq - (get_local $12) + (get_local $11) (i32.const 242) ) (if (get_local $0) - (set_local $24 - (get_local $82) + (set_local $23 + (get_local $81) ) (if - (get_local $83) + (get_local $82) (block (set_local $1 (i32.const 1) @@ -8146,7 +8084,7 @@ (i32.const 10) ) (block - (set_local $24 + (set_local $23 (i32.const 1) ) (br $label$break$L343) @@ -8179,7 +8117,7 @@ ) ) (block - (set_local $24 + (set_local $23 (i32.const -1) ) (br $label$break$L343) @@ -8194,7 +8132,7 @@ (get_local $0) ) (block - (set_local $24 + (set_local $23 (i32.const 1) ) (br $while-out$138) @@ -8203,12 +8141,12 @@ (br $while-in$139) ) ) - (set_local $24 + (set_local $23 (i32.const 1) ) ) ) - (set_local $24 + (set_local $23 (i32.const 0) ) ) @@ -8216,9 +8154,9 @@ ) ) (set_global $STACKTOP - (get_local $31) + (get_local $30) ) - (get_local $24) + (get_local $23) ) (func $_pop_arg_336 (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -8410,22 +8348,29 @@ (i32.const 4) ) ) - (set_local $2 + (i32.store + (tee_local $1 + (get_local $0) + ) + (tee_local $0 + (i32.shr_s + (i32.shl + (i32.and + (get_local $3) + (i32.const 65535) + ) + (i32.const 16) + ) + (i32.const 16) + ) + ) + ) + (i32.store offset=4 + (get_local $1) (i32.shr_s (i32.shl (i32.lt_s - (tee_local $1 - (i32.shr_s - (i32.shl - (i32.and - (get_local $3) - (i32.const 65535) - ) - (i32.const 16) - ) - (i32.const 16) - ) - ) + (get_local $0) (i32.const 0) ) (i32.const 31) @@ -8433,14 +8378,6 @@ (i32.const 31) ) ) - (i32.store - (get_local $0) - (get_local $1) - ) - (i32.store offset=4 - (get_local $0) - (get_local $2) - ) (br $label$break$L1) ) (set_local $3 @@ -8500,22 +8437,29 @@ (i32.const 4) ) ) - (set_local $2 + (i32.store + (tee_local $1 + (get_local $0) + ) + (tee_local $0 + (i32.shr_s + (i32.shl + (i32.and + (get_local $3) + (i32.const 255) + ) + (i32.const 24) + ) + (i32.const 24) + ) + ) + ) + (i32.store offset=4 + (get_local $1) (i32.shr_s (i32.shl (i32.lt_s - (tee_local $1 - (i32.shr_s - (i32.shl - (i32.and - (get_local $3) - (i32.const 255) - ) - (i32.const 24) - ) - (i32.const 24) - ) - ) + (get_local $0) (i32.const 0) ) (i32.const 31) @@ -8523,14 +8467,6 @@ (i32.const 31) ) ) - (i32.store - (get_local $0) - (get_local $1) - ) - (i32.store offset=4 - (get_local $0) - (get_local $2) - ) (br $label$break$L1) ) (set_local $3 @@ -8796,7 +8732,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (set_local $7 + (set_local $6 (get_global $STACKTOP) ) (set_global $STACKTOP @@ -8812,8 +8748,8 @@ ) (call_import $abort) ) - (set_local $6 - (get_local $7) + (set_local $5 + (get_local $6) ) (block $do-once$0 (if @@ -8830,29 +8766,26 @@ ) ) (block - (set_local $4 - (i32.gt_u - (tee_local $5 - (i32.sub - (get_local $2) - (get_local $3) - ) - ) - (i32.const 256) - ) - ) (drop (call $_memset - (get_local $6) + (get_local $5) (get_local $1) (select (i32.const 256) - (get_local $5) - (get_local $4) + (tee_local $4 + (i32.sub + (get_local $2) + (get_local $3) + ) + ) + (i32.gt_u + (get_local $4) + (i32.const 256) + ) ) ) ) - (set_local $4 + (set_local $7 (i32.eqz (i32.and (tee_local $1 @@ -8866,7 +8799,7 @@ ) (if (i32.gt_u - (get_local $5) + (get_local $4) (i32.const 255) ) (block @@ -8877,7 +8810,10 @@ ) ) (set_local $3 - (get_local $5) + (get_local $4) + ) + (set_local $4 + (get_local $7) ) (loop $while-in$3 (block $while-out$2 @@ -8890,7 +8826,7 @@ (block (drop (call $___fwritex - (get_local $6) + (get_local $5) (i32.const 256) (get_local $0) ) @@ -8933,16 +8869,16 @@ ) ) (if - (get_local $4) + (get_local $7) (set_local $1 - (get_local $5) + (get_local $4) ) (br $do-once$0) ) ) (drop (call $___fwritex - (get_local $6) + (get_local $5) (get_local $1) (get_local $0) ) @@ -8951,7 +8887,7 @@ ) ) (set_global $STACKTOP - (get_local $7) + (get_local $6) ) ) (func $_malloc (param $0 i32) (result i32) @@ -9010,14 +8946,14 @@ (block (if (i32.and - (tee_local $25 + (tee_local $22 (i32.shr_u (tee_local $4 (i32.load (i32.const 176) ) ) - (tee_local $22 + (tee_local $0 (i32.shr_u (tee_local $6 (select @@ -9056,16 +8992,16 @@ (i32.const 216) (i32.shl (i32.shl - (tee_local $8 + (tee_local $7 (i32.add (i32.xor (i32.and - (get_local $25) + (get_local $22) (i32.const 1) ) (i32.const 1) ) - (get_local $22) + (get_local $0) ) ) (i32.const 1) @@ -9096,7 +9032,7 @@ (i32.xor (i32.shl (i32.const 1) - (get_local $8) + (get_local $7) ) (i32.const -1) ) @@ -9143,33 +9079,30 @@ (i32.or (tee_local $0 (i32.shl - (get_local $8) + (get_local $7) (i32.const 3) ) ) (i32.const 3) ) ) - (set_local $1 + (i32.store + (tee_local $0 + (i32.add + (i32.add + (get_local $1) + (get_local $0) + ) + (i32.const 4) + ) + ) (i32.or (i32.load - (tee_local $0 - (i32.add - (i32.add - (get_local $1) - (get_local $0) - ) - (i32.const 4) - ) - ) + (get_local $0) ) (i32.const 1) ) ) - (i32.store - (get_local $0) - (get_local $1) - ) (return (get_local $3) ) @@ -9186,44 +9119,38 @@ ) (block (if - (get_local $25) + (get_local $22) (block - (set_local $1 - (i32.sub - (i32.const 0) - (tee_local $0 - (i32.shl - (i32.const 2) - (get_local $22) - ) - ) - ) - ) - (set_local $1 - (i32.sub - (i32.const 0) - (tee_local $0 - (i32.and - (i32.shl - (get_local $25) - (get_local $22) - ) - (i32.or - (get_local $0) - (get_local $1) - ) - ) - ) - ) - ) (set_local $0 (i32.and (i32.shr_u (tee_local $1 (i32.add (i32.and - (get_local $0) - (get_local $1) + (tee_local $0 + (i32.and + (i32.shl + (get_local $22) + (get_local $0) + ) + (i32.or + (tee_local $0 + (i32.shl + (i32.const 2) + (get_local $0) + ) + ) + (i32.sub + (i32.const 0) + (get_local $0) + ) + ) + ) + ) + (i32.sub + (i32.const 0) + (get_local $0) + ) ) (i32.const -1) ) @@ -9246,7 +9173,7 @@ (i32.const 216) (i32.shl (i32.shl - (tee_local $8 + (tee_local $7 (i32.add (i32.or (i32.or @@ -9348,13 +9275,13 @@ (i32.xor (i32.shl (i32.const 1) - (get_local $8) + (get_local $7) ) (i32.const -1) ) ) ) - (set_local $7 + (set_local $8 (get_local $10) ) ) @@ -9389,7 +9316,7 @@ (get_local $1) (get_local $0) ) - (set_local $7 + (set_local $8 (i32.load (i32.const 184) ) @@ -9417,7 +9344,7 @@ (tee_local $9 (i32.sub (i32.shl - (get_local $8) + (get_local $7) (i32.const 3) ) (get_local $6) @@ -9434,21 +9361,21 @@ (get_local $9) ) (if - (get_local $7) + (get_local $8) (block (set_local $0 (i32.load (i32.const 196) ) ) - (set_local $8 + (set_local $7 (i32.add (i32.const 216) (i32.shl (i32.shl (tee_local $2 (i32.shr_u - (get_local $7) + (get_local $8) (i32.const 3) ) ) @@ -9478,7 +9405,7 @@ (i32.load (tee_local $1 (i32.add - (get_local $8) + (get_local $7) (i32.const 8) ) ) @@ -9508,12 +9435,12 @@ ) (set_local $5 (i32.add - (get_local $8) + (get_local $7) (i32.const 8) ) ) (set_local $12 - (get_local $8) + (get_local $7) ) ) ) @@ -9531,7 +9458,7 @@ ) (i32.store offset=12 (get_local $0) - (get_local $8) + (get_local $7) ) ) ) @@ -9666,7 +9593,7 @@ (set_local $4 (get_local $0) ) - (set_local $8 + (set_local $7 (get_local $0) ) (loop $while-in$7 @@ -9690,11 +9617,11 @@ (get_local $0) ) (block - (set_local $7 + (set_local $8 (get_local $2) ) (set_local $10 - (get_local $8) + (get_local $7) ) (br $while-out$6) ) @@ -9726,10 +9653,10 @@ (set_local $4 (get_local $1) ) - (set_local $8 + (set_local $7 (select (get_local $1) - (get_local $8) + (get_local $7) (get_local $0) ) ) @@ -9778,7 +9705,7 @@ (if (tee_local $2 (i32.load - (tee_local $8 + (tee_local $7 (i32.add (get_local $10) (i32.const 20) @@ -9792,7 +9719,7 @@ (if (tee_local $2 (i32.load - (tee_local $8 + (tee_local $7 (i32.add (get_local $10) (i32.const 16) @@ -9828,7 +9755,7 @@ (set_local $4 (get_local $2) ) - (set_local $8 + (set_local $7 (get_local $5) ) (br $while-in$11) @@ -9849,7 +9776,7 @@ (set_local $4 (get_local $2) ) - (set_local $8 + (set_local $7 (get_local $5) ) ) @@ -9860,13 +9787,13 @@ ) (if (i32.lt_u - (get_local $8) + (get_local $7) (get_local $0) ) (call_import $_abort) (block (i32.store - (get_local $8) + (get_local $7) (i32.const 0) ) (set_local $15 @@ -9904,7 +9831,7 @@ (if (i32.eq (i32.load - (tee_local $8 + (tee_local $7 (i32.add (get_local $2) (i32.const 8) @@ -9919,7 +9846,7 @@ (get_local $2) ) (i32.store - (get_local $8) + (get_local $7) (get_local $4) ) (set_local $15 @@ -10091,7 +10018,7 @@ ) (if (i32.lt_u - (get_local $7) + (get_local $8) (i32.const 16) ) (block @@ -10100,33 +10027,30 @@ (i32.or (tee_local $0 (i32.add - (get_local $7) + (get_local $8) (get_local $6) ) ) (i32.const 3) ) ) - (set_local $1 + (i32.store + (tee_local $0 + (i32.add + (i32.add + (get_local $10) + (get_local $0) + ) + (i32.const 4) + ) + ) (i32.or (i32.load - (tee_local $0 - (i32.add - (i32.add - (get_local $10) - (get_local $0) - ) - (i32.const 4) - ) - ) + (get_local $0) ) (i32.const 1) ) ) - (i32.store - (get_local $0) - (get_local $1) - ) ) (block (i32.store offset=4 @@ -10139,16 +10063,16 @@ (i32.store offset=4 (get_local $9) (i32.or - (get_local $7) + (get_local $8) (i32.const 1) ) ) (i32.store (i32.add (get_local $9) - (get_local $7) + (get_local $8) ) - (get_local $7) + (get_local $8) ) (if (tee_local $0 @@ -10258,7 +10182,7 @@ ) (i32.store (i32.const 184) - (get_local $7) + (get_local $8) ) (i32.store (i32.const 196) @@ -10329,88 +10253,83 @@ (i32.const 16777215) ) (i32.const 31) - (block - (set_local $7 - (i32.shl - (tee_local $3 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (i32.or + (i32.and + (i32.shr_u + (get_local $5) + (i32.add + (tee_local $3 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $7 - (i32.and - (i32.shr_u - (i32.add - (tee_local $12 - (i32.shl - (get_local $3) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $3) - (i32.const 1048320) + (i32.or + (tee_local $8 + (i32.and + (i32.shr_u + (i32.add + (tee_local $12 + (i32.shl + (get_local $3) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $3) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $3) ) - (get_local $3) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (tee_local $7 - (i32.shl - (get_local $12) - (get_local $7) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (tee_local $8 + (i32.shl + (get_local $12) + (get_local $8) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $7) - (get_local $3) + (i32.shr_u + (i32.shl + (get_local $8) + (get_local $3) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 1) ) + (i32.const 1) ) - (i32.or - (i32.and - (i32.shr_u - (get_local $5) - (i32.add - (get_local $3) - (i32.const 7) - ) - ) - (i32.const 1) - ) - (get_local $7) + (i32.shl + (get_local $3) + (i32.const 1) ) ) ) @@ -10422,7 +10341,7 @@ ) ) (block - (set_local $7 + (set_local $8 (get_local $16) ) (set_local $15 @@ -10450,7 +10369,7 @@ (set_local $23 (get_local $3) ) - (set_local $36 + (set_local $35 (i32.const 0) ) (loop $while-in$18 @@ -10470,7 +10389,7 @@ (get_local $5) ) ) - (get_local $7) + (get_local $8) ) (if (i32.eq @@ -10478,13 +10397,13 @@ (get_local $5) ) (block - (set_local $26 + (set_local $25 (get_local $16) ) (set_local $24 (get_local $23) ) - (set_local $29 + (set_local $28 (get_local $23) ) (set_local $11 @@ -10492,29 +10411,26 @@ ) (br $label$break$L123) ) - (set_local $36 + (set_local $35 (get_local $23) ) ) (set_local $16 - (get_local $7) + (get_local $8) ) ) - (set_local $7 - (i32.eqz + (set_local $15 + (select + (get_local $15) (tee_local $3 (i32.load offset=20 (get_local $23) ) ) - ) - ) - (set_local $15 - (select - (get_local $15) - (get_local $3) (i32.or - (get_local $7) + (i32.eqz + (get_local $3) + ) (i32.eq (get_local $3) (tee_local $3 @@ -10543,7 +10459,7 @@ (get_local $11) (i32.xor (i32.and - (tee_local $7 + (tee_local $8 (i32.eqz (get_local $3) ) @@ -10555,16 +10471,16 @@ ) ) (if - (get_local $7) + (get_local $8) (block - (set_local $31 + (set_local $30 (get_local $16) ) - (set_local $32 + (set_local $31 (get_local $15) ) - (set_local $28 - (get_local $36) + (set_local $27 + (get_local $35) ) (set_local $11 (i32.const 86) @@ -10572,7 +10488,7 @@ (br $while-out$17) ) (block - (set_local $7 + (set_local $8 (get_local $16) ) (set_local $23 @@ -10585,13 +10501,13 @@ ) ) (block - (set_local $31 + (set_local $30 (get_local $16) ) - (set_local $32 + (set_local $31 (i32.const 0) ) - (set_local $28 + (set_local $27 (i32.const 0) ) (set_local $11 @@ -10610,32 +10526,29 @@ (if (i32.and (i32.eqz - (get_local $32) + (get_local $31) ) (i32.eqz - (get_local $28) + (get_local $27) ) ) (block - (set_local $7 - (i32.sub - (i32.const 0) - (tee_local $3 - (i32.shl - (i32.const 2) - (get_local $12) - ) - ) - ) - ) (if (i32.eqz (tee_local $0 (i32.and (get_local $0) (i32.or - (get_local $3) - (get_local $7) + (tee_local $0 + (i32.shl + (i32.const 2) + (get_local $12) + ) + ) + (i32.sub + (i32.const 0) + (get_local $0) + ) ) ) ) @@ -10677,7 +10590,7 @@ (tee_local $3 (i32.and (i32.shr_u - (tee_local $7 + (tee_local $8 (i32.shr_u (get_local $3) (get_local $0) @@ -10695,7 +10608,7 @@ (i32.shr_u (tee_local $3 (i32.shr_u - (get_local $7) + (get_local $8) (get_local $3) ) ) @@ -10744,18 +10657,18 @@ ) ) ) - (get_local $32) + (get_local $31) ) ) (block - (set_local $26 - (get_local $31) + (set_local $25 + (get_local $30) ) (set_local $24 (get_local $0) ) - (set_local $29 - (get_local $28) + (set_local $28 + (get_local $27) ) (set_local $11 (i32.const 90) @@ -10763,10 +10676,10 @@ ) (block (set_local $17 - (get_local $31) + (get_local $30) ) (set_local $13 - (get_local $28) + (get_local $27) ) ) ) @@ -10794,20 +10707,20 @@ (get_local $5) ) ) - (get_local $26) + (get_local $25) ) ) (set_local $17 (select (get_local $3) - (get_local $26) + (get_local $25) (get_local $0) ) ) (set_local $3 (select (get_local $24) - (get_local $29) + (get_local $28) (get_local $0) ) ) @@ -10818,13 +10731,13 @@ ) ) (block - (set_local $26 + (set_local $25 (get_local $17) ) (set_local $24 (get_local $0) ) - (set_local $29 + (set_local $28 (get_local $3) ) (br $while-in$20) @@ -10837,13 +10750,13 @@ ) ) (block - (set_local $26 + (set_local $25 (get_local $17) ) (set_local $24 (get_local $0) ) - (set_local $29 + (set_local $28 (get_local $3) ) ) @@ -10921,7 +10834,7 @@ ) ) ) - (set_local $8 + (set_local $7 (get_local $2) ) (if @@ -10935,7 +10848,7 @@ ) ) ) - (set_local $8 + (set_local $7 (get_local $2) ) (block @@ -10951,20 +10864,20 @@ (if (tee_local $2 (i32.load - (tee_local $7 + (tee_local $8 (i32.add - (get_local $8) + (get_local $7) (i32.const 20) ) ) ) ) (block - (set_local $8 + (set_local $7 (get_local $2) ) (set_local $9 - (get_local $7) + (get_local $8) ) (br $while-in$24) ) @@ -10972,20 +10885,20 @@ (if (tee_local $2 (i32.load - (tee_local $7 + (tee_local $8 (i32.add - (get_local $8) + (get_local $7) (i32.const 16) ) ) ) ) (block - (set_local $8 + (set_local $7 (get_local $2) ) (set_local $9 - (get_local $7) + (get_local $8) ) ) (br $while-out$23) @@ -11005,7 +10918,7 @@ (i32.const 0) ) (set_local $6 - (get_local $8) + (get_local $7) ) ) ) @@ -11013,7 +10926,7 @@ (block (if (i32.lt_u - (tee_local $8 + (tee_local $7 (i32.load offset=8 (get_local $13) ) @@ -11027,7 +10940,7 @@ (i32.load (tee_local $0 (i32.add - (get_local $8) + (get_local $7) (i32.const 12) ) ) @@ -11055,7 +10968,7 @@ ) (i32.store (get_local $9) - (get_local $8) + (get_local $7) ) (set_local $6 (get_local $2) @@ -11243,26 +11156,23 @@ (i32.const 3) ) ) - (set_local $1 + (i32.store + (tee_local $0 + (i32.add + (i32.add + (get_local $13) + (get_local $0) + ) + (i32.const 4) + ) + ) (i32.or (i32.load - (tee_local $0 - (i32.add - (i32.add - (get_local $13) - (get_local $0) - ) - (i32.const 4) - ) - ) + (get_local $0) ) (i32.const 1) ) ) - (i32.store - (get_local $0) - (get_local $1) - ) ) (block (i32.store offset=4 @@ -11406,88 +11316,83 @@ (i32.const 16777215) ) (i32.const 31) - (block - (set_local $1 - (i32.shl - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (i32.or + (i32.and + (i32.shr_u + (get_local $17) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $2 - (i32.shl - (get_local $0) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (i32.or + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $2 + (i32.shl + (get_local $0) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $0) ) - (get_local $0) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $2) - (get_local $1) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $2) + (get_local $1) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $1) + (get_local $0) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 1) ) + (i32.const 1) ) - (i32.or - (i32.and - (i32.shr_u - (get_local $17) - (i32.add - (get_local $0) - (i32.const 7) - ) - ) - (i32.const 1) - ) - (get_local $1) + (i32.shl + (get_local $0) + (i32.const 1) ) ) ) @@ -11639,10 +11544,10 @@ ) ) (block - (set_local $25 + (set_local $41 (get_local $2) ) - (set_local $37 + (set_local $36 (get_local $1) ) (set_local $11 @@ -11661,7 +11566,7 @@ ) (if (i32.lt_u - (get_local $37) + (get_local $36) (i32.load (i32.const 192) ) @@ -11669,12 +11574,12 @@ (call_import $_abort) (block (i32.store - (get_local $37) + (get_local $36) (get_local $3) ) (i32.store offset=24 (get_local $3) - (get_local $25) + (get_local $41) ) (i32.store offset=12 (get_local $3) @@ -11845,26 +11750,23 @@ (i32.const 3) ) ) - (set_local $2 + (i32.store + (tee_local $0 + (i32.add + (i32.add + (get_local $1) + (get_local $0) + ) + (i32.const 4) + ) + ) (i32.or (i32.load - (tee_local $0 - (i32.add - (i32.add - (get_local $1) - (get_local $0) - ) - (i32.const 4) - ) - ) + (get_local $0) ) (i32.const 1) ) ) - (i32.store - (get_local $0) - (get_local $2) - ) ) ) (return @@ -11998,7 +11900,7 @@ (i32.le_u (tee_local $10 (i32.and - (tee_local $7 + (tee_local $8 (i32.add (tee_local $0 (i32.load @@ -12143,7 +12045,7 @@ (tee_local $0 (i32.and (i32.sub - (get_local $7) + (get_local $8) (i32.load (i32.const 188) ) @@ -12187,7 +12089,7 @@ ) ) (block - (set_local $30 + (set_local $29 (get_local $3) ) (set_local $21 @@ -12213,7 +12115,7 @@ ) (if (i32.ne - (tee_local $7 + (tee_local $8 (call_import $_sbrk (i32.const 0) ) @@ -12242,7 +12144,7 @@ ) ) (tee_local $0 - (get_local $7) + (get_local $8) ) ) (i32.add @@ -12299,16 +12201,16 @@ ) (if (i32.eq - (tee_local $30 + (tee_local $29 (call_import $_sbrk (get_local $12) ) ) - (get_local $7) + (get_local $8) ) (block (set_local $14 - (get_local $7) + (get_local $8) ) (set_local $19 (get_local $12) @@ -12357,7 +12259,7 @@ (i32.const 2147483647) ) (i32.ne - (get_local $30) + (get_local $29) (i32.const -1) ) ) @@ -12411,12 +12313,12 @@ ) (if (i32.ne - (get_local $30) + (get_local $29) (i32.const -1) ) (block (set_local $14 - (get_local $30) + (get_local $29) ) (set_local $19 (get_local $21) @@ -12450,58 +12352,53 @@ (get_local $10) (i32.const 2147483647) ) - (block - (set_local $3 + (if + (i32.and + (i32.lt_u + (tee_local $0 + (call_import $_sbrk + (get_local $10) + ) + ) + (tee_local $4 + (call_import $_sbrk + (i32.const 0) + ) + ) + ) (i32.and (i32.ne - (tee_local $0 - (call_import $_sbrk - (get_local $10) - ) - ) + (get_local $0) (i32.const -1) ) (i32.ne - (tee_local $4 - (call_import $_sbrk - (i32.const 0) - ) - ) + (get_local $4) (i32.const -1) ) ) ) (if - (i32.and - (i32.lt_u - (get_local $0) - (get_local $4) + (i32.gt_u + (tee_local $4 + (i32.sub + (get_local $4) + (get_local $0) + ) + ) + (i32.add + (get_local $6) + (i32.const 40) ) - (get_local $3) ) - (if - (i32.gt_u - (tee_local $4 - (i32.sub - (get_local $4) - (get_local $0) - ) - ) - (i32.add - (get_local $6) - (i32.const 40) - ) + (block + (set_local $14 + (get_local $0) ) - (block - (set_local $14 - (get_local $0) - ) - (set_local $19 - (get_local $4) - ) - (set_local $11 - (i32.const 193) - ) + (set_local $19 + (get_local $4) + ) + (set_local $11 + (i32.const 193) ) ) ) @@ -12545,7 +12442,7 @@ ) ) (block - (set_local $7 + (set_local $8 (i32.const 624) ) (loop $while-in$49 @@ -12556,14 +12453,14 @@ (i32.add (tee_local $4 (i32.load - (get_local $7) + (get_local $8) ) ) (tee_local $3 (i32.load (tee_local $5 (i32.add - (get_local $7) + (get_local $8) (i32.const 4) ) ) @@ -12582,7 +12479,7 @@ (get_local $5) ) (set_local $43 - (get_local $7) + (get_local $8) ) (set_local $11 (i32.const 203) @@ -12593,10 +12490,10 @@ (if (tee_local $4 (i32.load offset=8 - (get_local $7) + (get_local $8) ) ) - (set_local $7 + (set_local $8 (get_local $4) ) (br $while-out$48) @@ -12637,33 +12534,28 @@ (get_local $19) ) ) - (set_local $2 - (i32.eqz - (i32.and - (tee_local $1 - (i32.add - (get_local $0) - (i32.const 8) - ) - ) - (i32.const 7) - ) - ) - ) (set_local $0 (i32.add (get_local $0) (tee_local $1 (select - (i32.const 0) (i32.and (i32.sub (i32.const 0) - (get_local $1) + (tee_local $0 + (i32.add + (get_local $0) + (i32.const 8) + ) + ) ) (i32.const 7) ) - (get_local $2) + (i32.const 0) + (i32.and + (get_local $0) + (i32.const 7) + ) ) ) ) @@ -12712,7 +12604,7 @@ ) ) ) - (set_local $4 + (set_local $2 (if (i32.lt_u (get_local $14) @@ -12732,7 +12624,7 @@ (get_local $1) ) ) - (set_local $3 + (set_local $4 (i32.add (get_local $14) (get_local $19) @@ -12748,13 +12640,13 @@ (i32.load (get_local $1) ) - (get_local $3) + (get_local $4) ) (block (set_local $44 (get_local $1) ) - (set_local $38 + (set_local $37 (get_local $1) ) (set_local $11 @@ -12772,7 +12664,7 @@ ) ) (block - (set_local $27 + (set_local $26 (i32.const 624) ) (br $while-out$50) @@ -12789,11 +12681,11 @@ (if (i32.and (i32.load offset=12 - (get_local $38) + (get_local $37) ) (i32.const 8) ) - (set_local $27 + (set_local $26 (i32.const 624) ) (block @@ -12801,99 +12693,83 @@ (get_local $44) (get_local $14) ) - (set_local $1 + (i32.store + (tee_local $1 + (i32.add + (get_local $37) + (i32.const 4) + ) + ) (i32.add (i32.load - (tee_local $2 - (i32.add - (get_local $38) - (i32.const 4) - ) - ) + (get_local $1) ) (get_local $19) ) ) - (i32.store - (get_local $2) - (get_local $1) - ) - (set_local $9 - (i32.eqz - (i32.and - (tee_local $1 - (i32.add - (get_local $14) - (i32.const 8) - ) - ) - (i32.const 7) - ) - ) - ) (set_local $5 - (i32.eqz - (i32.and - (tee_local $2 - (i32.add - (get_local $3) - (i32.const 8) - ) - ) - (i32.const 7) - ) - ) - ) - (set_local $1 - (i32.sub - (tee_local $3 + (i32.add + (tee_local $8 (i32.add - (get_local $3) + (get_local $14) (select - (i32.const 0) (i32.and (i32.sub (i32.const 0) - (get_local $2) + (tee_local $1 + (i32.add + (get_local $14) + (i32.const 8) + ) + ) ) (i32.const 7) ) - (get_local $5) - ) - ) - ) - (tee_local $7 - (i32.add - (get_local $14) - (select (i32.const 0) (i32.and - (i32.sub - (i32.const 0) - (get_local $1) - ) + (get_local $1) (i32.const 7) ) - (get_local $9) ) ) ) - ) - ) - (set_local $5 - (i32.add - (get_local $7) (get_local $6) ) ) (set_local $12 (i32.sub - (get_local $1) + (i32.sub + (tee_local $3 + (i32.add + (get_local $4) + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.add + (get_local $4) + (i32.const 8) + ) + ) + ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) + ) + ) + ) + ) + (get_local $8) + ) (get_local $6) ) ) (i32.store offset=4 - (get_local $7) + (get_local $8) (i32.or (get_local $6) (i32.const 3) @@ -12970,540 +12846,537 @@ (br $do-once$52) ) ) - (set_local $0 - (i32.and - (i32.load - (tee_local $1 - (i32.add - (if - (i32.eq - (i32.and - (tee_local $0 - (i32.load offset=4 - (get_local $3) - ) - ) - (i32.const 3) + (i32.store + (tee_local $0 + (i32.add + (if + (i32.eq + (i32.and + (tee_local $0 + (i32.load offset=4 + (get_local $3) ) - (i32.const 1) ) - (block - (set_local $10 - (i32.and - (get_local $0) - (i32.const -8) - ) - ) - (set_local $9 - (i32.shr_u - (get_local $0) - (i32.const 3) - ) + (i32.const 3) + ) + (i32.const 1) + ) + (block + (set_local $10 + (i32.and + (get_local $0) + (i32.const -8) + ) + ) + (set_local $9 + (i32.shr_u + (get_local $0) + (i32.const 3) + ) + ) + (block $label$break$L331 + (if + (i32.lt_u + (get_local $0) + (i32.const 256) ) - (block $label$break$L331 - (if - (i32.lt_u - (get_local $0) - (i32.const 256) + (block + (set_local $1 + (i32.load offset=12 + (get_local $3) ) - (block - (set_local $1 - (i32.load offset=12 - (get_local $3) + ) + (block $do-once$55 + (if + (i32.ne + (tee_local $0 + (i32.load offset=8 + (get_local $3) + ) ) - ) - (block $do-once$55 - (if - (i32.ne - (tee_local $0 - (i32.load offset=8 - (get_local $3) - ) - ) - (tee_local $2 - (i32.add - (i32.const 216) - (i32.shl - (i32.shl - (get_local $9) - (i32.const 1) - ) - (i32.const 2) - ) + (tee_local $4 + (i32.add + (i32.const 216) + (i32.shl + (i32.shl + (get_local $9) + (i32.const 1) ) + (i32.const 2) ) ) - (block - (if - (i32.lt_u - (get_local $0) - (get_local $4) - ) - (call_import $_abort) - ) - (br_if $do-once$55 - (i32.eq - (i32.load offset=12 - (get_local $0) - ) - (get_local $3) - ) + ) + ) + (block + (if + (i32.lt_u + (get_local $0) + (get_local $2) + ) + (call_import $_abort) + ) + (br_if $do-once$55 + (i32.eq + (i32.load offset=12 + (get_local $0) ) - (call_import $_abort) + (get_local $3) ) ) + (call_import $_abort) ) - (if - (i32.eq - (get_local $1) - (get_local $0) - ) - (block - (i32.store + ) + ) + (if + (i32.eq + (get_local $1) + (get_local $0) + ) + (block + (i32.store + (i32.const 176) + (i32.and + (i32.load (i32.const 176) - (i32.and - (i32.load - (i32.const 176) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $9) - ) - (i32.const -1) - ) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $9) ) + (i32.const -1) ) - (br $label$break$L331) ) ) - (block $do-once$57 + (br $label$break$L331) + ) + ) + (block $do-once$57 + (if + (i32.eq + (get_local $1) + (get_local $4) + ) + (set_local $38 + (i32.add + (get_local $1) + (i32.const 8) + ) + ) + (block (if - (i32.eq + (i32.lt_u (get_local $1) (get_local $2) ) - (set_local $39 - (i32.add - (get_local $1) - (i32.const 8) + (call_import $_abort) + ) + (if + (i32.eq + (i32.load + (tee_local $2 + (i32.add + (get_local $1) + (i32.const 8) + ) + ) ) + (get_local $3) ) (block - (if - (i32.lt_u - (get_local $1) - (get_local $4) - ) - (call_import $_abort) - ) - (if - (i32.eq - (i32.load - (tee_local $2 - (i32.add - (get_local $1) - (i32.const 8) - ) - ) - ) - (get_local $3) - ) - (block - (set_local $39 - (get_local $2) - ) - (br $do-once$57) - ) + (set_local $38 + (get_local $2) ) - (call_import $_abort) + (br $do-once$57) ) ) - ) - (i32.store offset=12 - (get_local $0) - (get_local $1) - ) - (i32.store - (get_local $39) - (get_local $0) + (call_import $_abort) ) ) - (block - (set_local $0 - (i32.load offset=24 - (get_local $3) + ) + (i32.store offset=12 + (get_local $0) + (get_local $1) + ) + (i32.store + (get_local $38) + (get_local $0) + ) + ) + (block + (set_local $0 + (i32.load offset=24 + (get_local $3) + ) + ) + (block $do-once$59 + (if + (i32.eq + (tee_local $1 + (i32.load offset=12 + (get_local $3) + ) ) + (get_local $3) ) - (block $do-once$59 + (block (if - (i32.eq - (tee_local $1 - (i32.load offset=12 - (get_local $3) - ) - ) - (get_local $3) - ) - (block - (if - (tee_local $1 - (i32.load - (tee_local $9 + (tee_local $1 + (i32.load + (tee_local $9 + (i32.add + (tee_local $20 (i32.add - (tee_local $20 - (i32.add - (get_local $3) - (i32.const 16) - ) - ) - (i32.const 4) + (get_local $3) + (i32.const 16) ) ) - ) - ) - (set_local $2 - (get_local $1) - ) - (if - (tee_local $1 - (i32.load - (get_local $20) - ) - ) - (block - (set_local $2 - (get_local $1) - ) - (set_local $9 - (get_local $20) - ) - ) - (block - (set_local $18 - (i32.const 0) - ) - (br $do-once$59) + (i32.const 4) ) ) ) - (loop $while-in$62 - (block $while-out$61 - (if - (tee_local $1 - (i32.load - (tee_local $20 - (i32.add - (get_local $2) - (i32.const 20) - ) - ) - ) - ) - (block - (set_local $2 - (get_local $1) - ) - (set_local $9 - (get_local $20) - ) - (br $while-in$62) - ) - ) - (if - (tee_local $1 - (i32.load - (tee_local $20 - (i32.add - (get_local $2) - (i32.const 16) - ) - ) - ) - ) - (block - (set_local $2 - (get_local $1) - ) - (set_local $9 - (get_local $20) - ) - ) - (br $while-out$61) - ) - (br $while-in$62) + ) + (set_local $4 + (get_local $1) + ) + (if + (tee_local $1 + (i32.load + (get_local $20) ) ) - (if - (i32.lt_u - (get_local $9) - (get_local $4) + (block + (set_local $4 + (get_local $1) ) - (call_import $_abort) - (block - (i32.store - (get_local $9) - (i32.const 0) - ) - (set_local $18 - (get_local $2) - ) + (set_local $9 + (get_local $20) ) ) - ) - (block - (if - (i32.lt_u - (tee_local $2 - (i32.load offset=8 - (get_local $3) - ) - ) - (get_local $4) + (block + (set_local $18 + (i32.const 0) ) - (call_import $_abort) + (br $do-once$59) ) + ) + ) + (loop $while-in$62 + (block $while-out$61 (if - (i32.ne + (tee_local $1 (i32.load - (tee_local $4 + (tee_local $20 (i32.add - (get_local $2) - (i32.const 12) + (get_local $4) + (i32.const 20) ) ) ) - (get_local $3) ) - (call_import $_abort) + (block + (set_local $4 + (get_local $1) + ) + (set_local $9 + (get_local $20) + ) + (br $while-in$62) + ) ) (if - (i32.eq + (tee_local $1 (i32.load - (tee_local $9 + (tee_local $20 (i32.add - (get_local $1) - (i32.const 8) + (get_local $4) + (i32.const 16) ) ) ) - (get_local $3) ) (block - (i32.store - (get_local $4) + (set_local $4 (get_local $1) ) - (i32.store - (get_local $9) - (get_local $2) - ) - (set_local $18 - (get_local $1) + (set_local $9 + (get_local $20) ) ) - (call_import $_abort) + (br $while-out$61) ) + (br $while-in$62) ) ) - ) - (br_if $label$break$L331 - (i32.eqz - (get_local $0) + (if + (i32.lt_u + (get_local $9) + (get_local $2) + ) + (call_import $_abort) + (block + (i32.store + (get_local $9) + (i32.const 0) + ) + (set_local $18 + (get_local $4) + ) + ) ) ) - (block $do-once$63 + (block (if - (i32.eq - (get_local $3) + (i32.lt_u + (tee_local $4 + (i32.load offset=8 + (get_local $3) + ) + ) + (get_local $2) + ) + (call_import $_abort) + ) + (if + (i32.ne (i32.load (tee_local $2 (i32.add - (i32.const 480) - (i32.shl - (tee_local $1 - (i32.load offset=28 - (get_local $3) - ) - ) - (i32.const 2) - ) + (get_local $4) + (i32.const 12) + ) + ) + ) + (get_local $3) + ) + (call_import $_abort) + ) + (if + (i32.eq + (i32.load + (tee_local $9 + (i32.add + (get_local $1) + (i32.const 8) ) ) ) + (get_local $3) ) (block (i32.store (get_local $2) - (get_local $18) - ) - (br_if $do-once$63 - (i32.eqz - (i32.eqz - (get_local $18) - ) - ) + (get_local $1) ) (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $1) - ) - (i32.const -1) - ) - ) + (get_local $9) + (get_local $4) ) - (br $label$break$L331) - ) - (block - (if - (i32.lt_u - (get_local $0) - (i32.load - (i32.const 192) - ) - ) - (call_import $_abort) + (set_local $18 + (get_local $1) ) - (if - (i32.eq - (i32.load - (tee_local $1 - (i32.add - (get_local $0) - (i32.const 16) - ) + ) + (call_import $_abort) + ) + ) + ) + ) + (br_if $label$break$L331 + (i32.eqz + (get_local $0) + ) + ) + (block $do-once$63 + (if + (i32.eq + (get_local $3) + (i32.load + (tee_local $2 + (i32.add + (i32.const 480) + (i32.shl + (tee_local $1 + (i32.load offset=28 + (get_local $3) ) ) - (get_local $3) - ) - (i32.store - (get_local $1) - (get_local $18) - ) - (i32.store offset=20 - (get_local $0) - (get_local $18) - ) - ) - (br_if $label$break$L331 - (i32.eqz - (get_local $18) + (i32.const 2) ) ) ) ) ) - (if - (i32.lt_u + (block + (i32.store + (get_local $2) (get_local $18) - (tee_local $1 - (i32.load - (i32.const 192) + ) + (br_if $do-once$63 + (i32.eqz + (i32.eqz + (get_local $18) ) ) ) - (call_import $_abort) - ) - (i32.store offset=24 - (get_local $18) - (get_local $0) - ) - (if - (tee_local $0 - (i32.load - (tee_local $2 - (i32.add - (get_local $3) - (i32.const 16) + (i32.store + (i32.const 180) + (i32.and + (i32.load + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $1) ) + (i32.const -1) ) ) ) + (br $label$break$L331) + ) + (block (if (i32.lt_u (get_local $0) - (get_local $1) - ) - (call_import $_abort) - (block - (i32.store offset=16 - (get_local $18) - (get_local $0) - ) - (i32.store offset=24 - (get_local $0) - (get_local $18) + (i32.load + (i32.const 192) ) ) + (call_import $_abort) ) - ) - (br_if $label$break$L331 - (i32.eqz - (tee_local $0 - (i32.load offset=4 - (get_local $2) + (if + (i32.eq + (i32.load + (tee_local $1 + (i32.add + (get_local $0) + (i32.const 16) + ) + ) ) + (get_local $3) ) - ) - ) - (if - (i32.lt_u - (get_local $0) - (i32.load - (i32.const 192) + (i32.store + (get_local $1) + (get_local $18) ) - ) - (call_import $_abort) - (block (i32.store offset=20 - (get_local $18) (get_local $0) + (get_local $18) ) - (i32.store offset=24 - (get_local $0) + ) + (br_if $label$break$L331 + (i32.eqz (get_local $18) ) ) ) ) ) - ) - (set_local $4 - (i32.add - (get_local $10) - (get_local $12) + (if + (i32.lt_u + (get_local $18) + (tee_local $1 + (i32.load + (i32.const 192) + ) + ) + ) + (call_import $_abort) + ) + (i32.store offset=24 + (get_local $18) + (get_local $0) + ) + (if + (tee_local $0 + (i32.load + (tee_local $2 + (i32.add + (get_local $3) + (i32.const 16) + ) + ) + ) + ) + (if + (i32.lt_u + (get_local $0) + (get_local $1) + ) + (call_import $_abort) + (block + (i32.store offset=16 + (get_local $18) + (get_local $0) + ) + (i32.store offset=24 + (get_local $0) + (get_local $18) + ) + ) + ) + ) + (br_if $label$break$L331 + (i32.eqz + (tee_local $0 + (i32.load offset=4 + (get_local $2) + ) + ) + ) + ) + (if + (i32.lt_u + (get_local $0) + (i32.load + (i32.const 192) + ) + ) + (call_import $_abort) + (block + (i32.store offset=20 + (get_local $18) + (get_local $0) + ) + (i32.store offset=24 + (get_local $0) + (get_local $18) + ) + ) ) - ) - (i32.add - (get_local $3) - (get_local $10) ) ) - (block - (set_local $4 - (get_local $12) - ) - (get_local $3) + ) + (set_local $4 + (i32.add + (get_local $10) + (get_local $12) ) ) - (i32.const 4) + (i32.add + (get_local $3) + (get_local $10) + ) + ) + (block + (set_local $4 + (get_local $12) + ) + (get_local $3) ) ) + (i32.const 4) + ) + ) + (i32.and + (i32.load + (get_local $0) ) (i32.const -2) ) ) - (i32.store - (get_local $1) - (get_local $0) - ) (i32.store offset=4 (get_local $5) (i32.or @@ -13575,10 +13448,10 @@ ) ) (block - (set_local $8 + (set_local $7 (get_local $0) ) - (set_local $33 + (set_local $32 (get_local $1) ) (br $do-once$67) @@ -13594,29 +13467,29 @@ (get_local $1) ) ) - (set_local $8 + (set_local $7 (i32.add (get_local $2) (i32.const 8) ) ) - (set_local $33 + (set_local $32 (get_local $2) ) ) ) ) (i32.store - (get_local $8) + (get_local $7) (get_local $5) ) (i32.store offset=12 - (get_local $33) + (get_local $32) (get_local $5) ) (i32.store offset=8 (get_local $5) - (get_local $33) + (get_local $32) ) (i32.store offset=12 (get_local $5) @@ -13646,87 +13519,84 @@ (i32.const 16777215) ) ) - (set_local $1 - (i32.shl - (tee_local $0 + (i32.or + (i32.and + (i32.shr_u + (get_local $4) (i32.add - (i32.sub - (i32.const 14) - (i32.or - (i32.or - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $2 - (i32.shl - (get_local $0) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or + (i32.or + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $2 + (i32.shl + (get_local $0) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) + ) + (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 $0) ) - ) - (get_local $0) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $2) - (get_local $1) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $2) + (get_local $1) + ) + ) + (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 $1) + (get_local $0) + ) + (i32.const 15) + ) ) ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) - ) - (i32.const 15) - ) + (i32.const 7) ) ) (i32.const 1) ) - ) - (i32.or - (i32.and - (i32.shr_u - (get_local $4) - (i32.add - (get_local $0) - (i32.const 7) - ) - ) + (i32.shl + (get_local $0) (i32.const 1) ) - (get_local $1) ) ) (i32.const 0) @@ -13762,7 +13632,7 @@ (i32.const 180) ) ) - (tee_local $8 + (tee_local $7 (i32.shl (i32.const 1) (get_local $1) @@ -13775,7 +13645,7 @@ (i32.const 180) (i32.or (get_local $0) - (get_local $8) + (get_local $7) ) ) (i32.store @@ -13834,7 +13704,7 @@ (get_local $4) ) (block - (set_local $34 + (set_local $33 (get_local $2) ) (set_local $11 @@ -13843,7 +13713,7 @@ (br $while-out$71) ) ) - (set_local $8 + (set_local $7 (i32.shl (get_local $1) (i32.const 1) @@ -13871,7 +13741,7 @@ ) (block (set_local $1 - (get_local $8) + (get_local $7) ) (set_local $2 (get_local $0) @@ -13881,7 +13751,7 @@ (set_local $45 (get_local $2) ) - (set_local $40 + (set_local $39 (get_local $1) ) (set_local $11 @@ -13900,7 +13770,7 @@ ) (if (i32.lt_u - (get_local $40) + (get_local $39) (i32.load (i32.const 192) ) @@ -13908,7 +13778,7 @@ (call_import $_abort) (block (i32.store - (get_local $40) + (get_local $39) (get_local $5) ) (i32.store offset=24 @@ -13937,7 +13807,7 @@ (i32.load (tee_local $2 (i32.add - (get_local $34) + (get_local $33) (i32.const 8) ) ) @@ -13950,7 +13820,7 @@ ) ) (i32.ge_u - (get_local $34) + (get_local $33) (get_local $1) ) ) @@ -13969,7 +13839,7 @@ ) (i32.store offset=12 (get_local $5) - (get_local $34) + (get_local $33) ) (i32.store offset=24 (get_local $5) @@ -13985,7 +13855,7 @@ ) (return (i32.add - (get_local $7) + (get_local $8) (i32.const 8) ) ) @@ -13998,7 +13868,7 @@ (i32.le_u (tee_local $1 (i32.load - (get_local $27) + (get_local $26) ) ) (get_local $0) @@ -14009,7 +13879,7 @@ (i32.add (get_local $1) (i32.load offset=4 - (get_local $27) + (get_local $26) ) ) ) @@ -14023,56 +13893,23 @@ ) ) ) - (set_local $27 + (set_local $26 (i32.load offset=8 - (get_local $27) + (get_local $26) ) ) (br $while-in$74) ) ) - (set_local $8 - (i32.eqz - (i32.and - (tee_local $1 - (i32.add - (tee_local $4 - (i32.add - (get_local $2) - (i32.const -47) - ) - ) - (i32.const 8) - ) - ) - (i32.const 7) - ) - ) - ) - (set_local $4 - (i32.lt_u - (tee_local $1 - (i32.add - (get_local $4) - (select - (i32.const 0) - (i32.and - (i32.sub - (i32.const 0) - (get_local $1) - ) - (i32.const 7) - ) - (get_local $8) - ) - ) - ) - (tee_local $8 + (set_local $1 + (i32.add + (tee_local $4 (i32.add - (get_local $0) - (i32.const 16) + (get_local $2) + (i32.const -47) ) ) + (i32.const 8) ) ) (set_local $4 @@ -14080,24 +13917,37 @@ (tee_local $5 (select (get_local $0) - (get_local $1) - (get_local $4) - ) - ) - (i32.const 8) - ) - ) - (set_local $3 - (i32.eqz - (i32.and - (tee_local $1 - (i32.add - (get_local $14) - (i32.const 8) + (tee_local $1 + (i32.add + (get_local $4) + (select + (i32.and + (i32.sub + (i32.const 0) + (get_local $1) + ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) + ) + ) + ) + ) + (i32.lt_u + (get_local $1) + (tee_local $7 + (i32.add + (get_local $0) + (i32.const 16) + ) + ) ) ) - (i32.const 7) ) + (i32.const 8) ) ) (i32.store @@ -14107,15 +13957,23 @@ (get_local $14) (tee_local $3 (select - (i32.const 0) (i32.and (i32.sub (i32.const 0) - (get_local $1) + (tee_local $1 + (i32.add + (get_local $14) + (i32.const 8) + ) + ) ) (i32.const 7) ) - (get_local $3) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) + ) ) ) ) @@ -14382,88 +14240,83 @@ (i32.const 16777215) ) (i32.const 31) - (block - (set_local $2 - (i32.shl - (tee_local $1 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (i32.or + (i32.and + (i32.shr_u + (get_local $3) + (i32.add + (tee_local $1 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (tee_local $4 - (i32.shl - (get_local $1) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (get_local $1) - (i32.const 1048320) + (i32.or + (tee_local $2 + (i32.and + (i32.shr_u + (i32.add + (tee_local $4 + (i32.shl + (get_local $1) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $1) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $1) ) - (get_local $1) - ) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $2 - (i32.shl - (get_local $4) - (get_local $2) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $2 + (i32.shl + (get_local $4) + (get_local $2) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $2) - (get_local $1) + (i32.shr_u + (i32.shl + (get_local $2) + (get_local $1) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 1) ) + (i32.const 1) ) - (i32.or - (i32.and - (i32.shr_u - (get_local $3) - (i32.add - (get_local $1) - (i32.const 7) - ) - ) - (i32.const 1) - ) - (get_local $2) + (i32.shl + (get_local $1) + (i32.const 1) ) ) ) @@ -14483,7 +14336,7 @@ (i32.const 0) ) (i32.store - (get_local $8) + (get_local $7) (i32.const 0) ) (if @@ -14494,7 +14347,7 @@ (i32.const 180) ) ) - (tee_local $8 + (tee_local $7 (i32.shl (i32.const 1) (get_local $2) @@ -14507,7 +14360,7 @@ (i32.const 180) (i32.or (get_local $1) - (get_local $8) + (get_local $7) ) ) (i32.store @@ -14566,7 +14419,7 @@ (get_local $3) ) (block - (set_local $35 + (set_local $34 (get_local $4) ) (set_local $11 @@ -14575,7 +14428,7 @@ (br $while-out$77) ) ) - (set_local $8 + (set_local $7 (i32.shl (get_local $2) (i32.const 1) @@ -14603,7 +14456,7 @@ ) (block (set_local $2 - (get_local $8) + (get_local $7) ) (set_local $4 (get_local $1) @@ -14613,7 +14466,7 @@ (set_local $46 (get_local $4) ) - (set_local $41 + (set_local $40 (get_local $2) ) (set_local $11 @@ -14632,7 +14485,7 @@ ) (if (i32.lt_u - (get_local $41) + (get_local $40) (i32.load (i32.const 192) ) @@ -14640,7 +14493,7 @@ (call_import $_abort) (block (i32.store - (get_local $41) + (get_local $40) (get_local $0) ) (i32.store offset=24 @@ -14669,7 +14522,7 @@ (i32.load (tee_local $4 (i32.add - (get_local $35) + (get_local $34) (i32.const 8) ) ) @@ -14682,7 +14535,7 @@ ) ) (i32.ge_u - (get_local $35) + (get_local $34) (get_local $2) ) ) @@ -14701,7 +14554,7 @@ ) (i32.store offset=12 (get_local $0) - (get_local $35) + (get_local $34) ) (i32.store offset=24 (get_local $0) @@ -14795,19 +14648,6 @@ (br $while-in$47) ) ) - (set_local $1 - (i32.eqz - (i32.and - (tee_local $0 - (i32.add - (get_local $14) - (i32.const 8) - ) - ) - (i32.const 7) - ) - ) - ) (i32.store (i32.const 200) (tee_local $0 @@ -14815,15 +14655,23 @@ (get_local $14) (tee_local $1 (select - (i32.const 0) (i32.and (i32.sub (i32.const 0) - (get_local $0) + (tee_local $0 + (i32.add + (get_local $14) + (i32.const 8) + ) + ) ) (i32.const 7) ) - (get_local $1) + (i32.const 0) + (i32.and + (get_local $0) + (i32.const 7) + ) ) ) ) @@ -14989,7 +14837,7 @@ (set_local $9 (i32.add (get_local $2) - (tee_local $7 + (tee_local $6 (i32.and (get_local $0) (i32.const -8) @@ -15008,7 +14856,7 @@ (get_local $2) ) (set_local $10 - (get_local $7) + (get_local $6) ) ) (block @@ -15026,7 +14874,7 @@ (set_local $12 (i32.add (get_local $0) - (get_local $7) + (get_local $6) ) ) (if @@ -15107,7 +14955,7 @@ (return) ) ) - (set_local $7 + (set_local $6 (i32.shr_u (get_local $0) (i32.const 3) @@ -15136,7 +14984,7 @@ (i32.const 216) (i32.shl (i32.shl - (get_local $7) + (get_local $6) (i32.const 1) ) (i32.const 2) @@ -15178,7 +15026,7 @@ (i32.xor (i32.shl (i32.const 1) - (get_local $7) + (get_local $6) ) (i32.const -1) ) @@ -15267,7 +15115,7 @@ (if (tee_local $0 (i32.load - (tee_local $7 + (tee_local $6 (i32.add (tee_local $13 (i32.add @@ -15293,7 +15141,7 @@ (set_local $2 (get_local $0) ) - (set_local $7 + (set_local $6 (get_local $13) ) ) @@ -15322,7 +15170,7 @@ (set_local $2 (get_local $0) ) - (set_local $7 + (set_local $6 (get_local $13) ) (br $while-in$5) @@ -15343,7 +15191,7 @@ (set_local $2 (get_local $0) ) - (set_local $7 + (set_local $6 (get_local $13) ) ) @@ -15354,13 +15202,13 @@ ) (if (i32.lt_u - (get_local $7) + (get_local $6) (get_local $1) ) (call_import $_abort) (block (i32.store - (get_local $7) + (get_local $6) (i32.const 0) ) (set_local $5 @@ -15398,7 +15246,7 @@ (if (i32.eq (i32.load - (tee_local $7 + (tee_local $6 (i32.add (get_local $0) (i32.const 8) @@ -15413,7 +15261,7 @@ (get_local $0) ) (i32.store - (get_local $7) + (get_local $6) (get_local $2) ) (set_local $5 @@ -15936,7 +15784,7 @@ (i32.load (tee_local $8 (i32.add - (tee_local $7 + (tee_local $6 (i32.add (get_local $9) (i32.const 16) @@ -15953,7 +15801,7 @@ (if (tee_local $1 (i32.load - (get_local $7) + (get_local $6) ) ) (block @@ -15961,7 +15809,7 @@ (get_local $1) ) (set_local $8 - (get_local $7) + (get_local $6) ) ) (block @@ -15977,7 +15825,7 @@ (if (tee_local $1 (i32.load - (tee_local $7 + (tee_local $6 (i32.add (get_local $2) (i32.const 20) @@ -15990,7 +15838,7 @@ (get_local $1) ) (set_local $8 - (get_local $7) + (get_local $6) ) (br $while-in$13) ) @@ -15998,7 +15846,7 @@ (if (tee_local $1 (i32.load - (tee_local $7 + (tee_local $6 (i32.add (get_local $2) (i32.const 16) @@ -16011,7 +15859,7 @@ (get_local $1) ) (set_local $8 - (get_local $7) + (get_local $6) ) ) (br $while-out$12) @@ -16069,7 +15917,7 @@ (if (i32.eq (i32.load - (tee_local $7 + (tee_local $6 (i32.add (get_local $1) (i32.const 8) @@ -16084,7 +15932,7 @@ (get_local $1) ) (i32.store - (get_local $7) + (get_local $6) (get_local $2) ) (set_local $11 @@ -16347,7 +16195,7 @@ ) (call_import $_abort) (block - (set_local $6 + (set_local $7 (get_local $0) ) (set_local $14 @@ -16363,7 +16211,7 @@ (get_local $1) ) ) - (set_local $6 + (set_local $7 (i32.add (get_local $2) (i32.const 8) @@ -16375,7 +16223,7 @@ ) ) (i32.store - (get_local $6) + (get_local $7) (get_local $3) ) (i32.store offset=12 @@ -16397,7 +16245,7 @@ (i32.add (i32.const 480) (i32.shl - (tee_local $6 + (tee_local $7 (if (tee_local $0 (i32.shr_u @@ -16411,88 +16259,83 @@ (i32.const 16777215) ) (i32.const 31) - (block - (set_local $6 - (i32.shl - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (i32.or + (i32.and + (i32.shr_u + (get_local $5) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $6 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (i32.or + (tee_local $7 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $0) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $0) ) - (get_local $0) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $6 - (i32.shl - (get_local $1) - (get_local $6) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $7 + (i32.shl + (get_local $1) + (get_local $7) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $6) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $7) + (get_local $0) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 1) ) + (i32.const 1) ) - (i32.or - (i32.and - (i32.shr_u - (get_local $5) - (i32.add - (get_local $0) - (i32.const 7) - ) - ) - (i32.const 1) - ) - (get_local $6) + (i32.shl + (get_local $0) + (i32.const 1) ) ) ) @@ -16505,7 +16348,7 @@ ) (i32.store offset=28 (get_local $3) - (get_local $6) + (get_local $7) ) (i32.store offset=20 (get_local $3) @@ -16525,12 +16368,12 @@ (tee_local $2 (i32.shl (i32.const 1) - (get_local $6) + (get_local $7) ) ) ) (block - (set_local $6 + (set_local $7 (i32.shl (get_local $5) (select @@ -16538,12 +16381,12 @@ (i32.sub (i32.const 25) (i32.shr_u - (get_local $6) + (get_local $7) (i32.const 1) ) ) (i32.eq - (get_local $6) + (get_local $7) (i32.const 31) ) ) @@ -16578,14 +16421,14 @@ ) (set_local $2 (i32.shl - (get_local $6) + (get_local $7) (i32.const 1) ) ) (if (tee_local $0 (i32.load - (tee_local $6 + (tee_local $7 (i32.add (i32.add (get_local $1) @@ -16593,7 +16436,7 @@ ) (i32.shl (i32.shr_u - (get_local $6) + (get_local $7) (i32.const 31) ) (i32.const 2) @@ -16603,7 +16446,7 @@ ) ) (block - (set_local $6 + (set_local $7 (get_local $2) ) (set_local $1 @@ -16615,7 +16458,7 @@ (get_local $1) ) (set_local $17 - (get_local $6) + (get_local $7) ) (set_local $0 (i32.const 127) @@ -16676,7 +16519,7 @@ ) ) ) - (tee_local $6 + (tee_local $7 (i32.load (i32.const 192) ) @@ -16684,7 +16527,7 @@ ) (i32.ge_u (get_local $15) - (get_local $6) + (get_local $7) ) ) (block @@ -16754,29 +16597,26 @@ (if (get_local $0) (return) - (set_local $6 + (set_local $0 (i32.const 632) ) ) (loop $while-in$21 (block $while-out$20 (set_local $0 - (i32.eqz - (tee_local $6 + (i32.add + (tee_local $7 (i32.load - (get_local $6) + (get_local $0) ) ) - ) - ) - (set_local $6 - (i32.add - (get_local $6) (i32.const 8) ) ) (br_if $while-out$20 - (get_local $0) + (i32.eqz + (get_local $7) + ) ) (br $while-in$21) ) @@ -17367,140 +17207,147 @@ ) (func $___divdi3 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) - (call $_i64Subtract - (i32.xor - (call $___udivmoddi4 - (call $_i64Subtract - (i32.xor - (tee_local $4 - (i32.or - (i32.shr_s + (local $5 i32) + (local $6 i32) + (set_local $6 + (call $_i64Subtract + (i32.xor + (tee_local $4 + (i32.or + (i32.shr_s + (get_local $1) + (i32.const 31) + ) + (i32.shl + (select + (i32.const -1) + (i32.const 0) + (i32.lt_s (get_local $1) - (i32.const 31) - ) - (i32.shl - (select - (i32.const -1) - (i32.const 0) - (i32.lt_s - (get_local $1) - (i32.const 0) - ) - ) - (i32.const 1) + (i32.const 0) ) ) + (i32.const 1) ) - (get_local $0) ) - (i32.xor - (tee_local $0 - (i32.or - (i32.shr_s - (select - (i32.const -1) - (i32.const 0) - (i32.lt_s - (get_local $1) - (i32.const 0) - ) - ) - (i32.const 31) + ) + (get_local $0) + ) + (i32.xor + (tee_local $0 + (i32.or + (i32.shr_s + (select + (i32.const -1) + (i32.const 0) + (i32.lt_s + (get_local $1) + (i32.const 0) ) - (i32.shl - (select - (i32.const -1) - (i32.const 0) - (i32.lt_s - (get_local $1) - (i32.const 0) - ) - ) - (i32.const 1) + ) + (i32.const 31) + ) + (i32.shl + (select + (i32.const -1) + (i32.const 0) + (i32.lt_s + (get_local $1) + (i32.const 0) ) ) + (i32.const 1) ) - (get_local $1) ) - (get_local $4) - (get_local $0) ) + (get_local $1) + ) + (get_local $4) + (get_local $0) + ) + ) + (set_local $5 + (i32.xor + (tee_local $1 + (i32.or + (i32.shr_s + (get_local $3) + (i32.const 31) + ) + (i32.shl + (select + (i32.const -1) + (i32.const 0) + (i32.lt_s + (get_local $3) + (i32.const 0) + ) + ) + (i32.const 1) + ) + ) + ) + (get_local $4) + ) + ) + (set_local $0 + (i32.xor + (tee_local $4 + (i32.or + (i32.shr_s + (select + (i32.const -1) + (i32.const 0) + (i32.lt_s + (get_local $3) + (i32.const 0) + ) + ) + (i32.const 31) + ) + (i32.shl + (select + (i32.const -1) + (i32.const 0) + (i32.lt_s + (get_local $3) + (i32.const 0) + ) + ) + (i32.const 1) + ) + ) + ) + (get_local $0) + ) + ) + (call $_i64Subtract + (i32.xor + (call $___udivmoddi4 + (get_local $6) (get_global $tempRet0) (call $_i64Subtract (i32.xor - (tee_local $1 - (i32.or - (i32.shr_s - (get_local $3) - (i32.const 31) - ) - (i32.shl - (select - (i32.const -1) - (i32.const 0) - (i32.lt_s - (get_local $3) - (i32.const 0) - ) - ) - (i32.const 1) - ) - ) - ) + (get_local $1) (get_local $2) ) (i32.xor - (tee_local $2 - (i32.or - (i32.shr_s - (select - (i32.const -1) - (i32.const 0) - (i32.lt_s - (get_local $3) - (i32.const 0) - ) - ) - (i32.const 31) - ) - (i32.shl - (select - (i32.const -1) - (i32.const 0) - (i32.lt_s - (get_local $3) - (i32.const 0) - ) - ) - (i32.const 1) - ) - ) - ) + (get_local $4) (get_local $3) ) (get_local $1) - (get_local $2) + (get_local $4) ) (get_global $tempRet0) (i32.const 0) ) - (tee_local $1 - (i32.xor - (get_local $1) - (get_local $4) - ) - ) + (get_local $5) ) (i32.xor (get_global $tempRet0) - (tee_local $0 - (i32.xor - (get_local $2) - (get_local $0) - ) - ) + (get_local $0) ) - (get_local $1) + (get_local $5) (get_local $0) ) ) |