diff options
author | Alon Zakai <alonzakai@gmail.com> | 2018-11-27 09:26:29 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-27 09:26:29 -0800 |
commit | 70b949ffdc3e5f3fa83dd4044f632c95159674cf (patch) | |
tree | c2bb05065cd082305cad594e76a169d1a8005a9a | |
parent | 69c93dd9fb4cf8081237c4303a416bf12dff6b58 (diff) | |
download | binaryen-70b949ffdc3e5f3fa83dd4044f632c95159674cf.tar.gz binaryen-70b949ffdc3e5f3fa83dd4044f632c95159674cf.tar.bz2 binaryen-70b949ffdc3e5f3fa83dd4044f632c95159674cf.zip |
Stricter Canonicalization (#1774)
In OptimizeInstructions we canonicalized a const on the right side. This PR adds further canonicalization, of a get to the right, and of sorting by binary and unary op ids. This guarantees fixed orders for small combinations of instructions that can then be pattern-matched in a simple way in future PRs.
28 files changed, 20491 insertions, 19876 deletions
diff --git a/src/passes/OptimizeInstructions.cpp b/src/passes/OptimizeInstructions.cpp index 7cdc048f7..e0c7217a5 100644 --- a/src/passes/OptimizeInstructions.cpp +++ b/src/passes/OptimizeInstructions.cpp @@ -270,10 +270,7 @@ struct OptimizeInstructions : public WalkerPass<PostWalker<OptimizeInstructions, } if (auto* binary = curr->dynCast<Binary>()) { if (Properties::isSymmetric(binary)) { - // canonicalize a const to the second position - if (binary->left->is<Const>() && !binary->right->is<Const>()) { - std::swap(binary->left, binary->right); - } + canonicalize(binary); } if (auto* ext = Properties::getAlmostSignExt(binary)) { Index extraShifts; @@ -515,18 +512,22 @@ struct OptimizeInstructions : public WalkerPass<PostWalker<OptimizeInstructions, } // for and and or, we can potentially conditionalize if (binary->op == AndInt32 || binary->op == OrInt32) { - auto* ret = conditionalizeExpensiveOnBitwise(binary); - if (ret) return ret; + if (auto* ret = conditionalizeExpensiveOnBitwise(binary)) { + return ret; + } } // relation/comparisons allow for math optimizations if (binary->isRelational()) { - auto* ret = optimizeRelational(binary); - if (ret) return ret; + if (auto* ret = optimizeRelational(binary)) { + return ret; + } } - // finally, try more expensive operations on the binary - if (!EffectAnalyzer(getPassOptions(), binary->left).hasSideEffects() && - ExpressionAnalyzer::equal(binary->left, binary->right)) { - return optimizeBinaryWithEqualEffectlessChildren(binary); + // finally, try more expensive operations on the binary in + // the case that they have no side effects + if (!EffectAnalyzer(getPassOptions(), binary->left).hasSideEffects()) { + if (ExpressionAnalyzer::equal(binary->left, binary->right)) { + return optimizeBinaryWithEqualEffectlessChildren(binary); + } } } else if (auto* unary = curr->dynCast<Unary>()) { // de-morgan's laws @@ -724,6 +725,56 @@ private: // Information about our locals std::vector<LocalInfo> localInfo; + // Canonicalizing the order of a symmetric binary helps us + // write more concise pattern matching code elsewhere. + void canonicalize(Binary* binary) { + assert(Properties::isSymmetric(binary)); + auto swap = [&]() { + assert(EffectAnalyzer::canReorder(getPassOptions(), binary->left, binary->right)); + std::swap(binary->left, binary->right); + }; + auto maybeSwap = [&]() { + if (EffectAnalyzer::canReorder(getPassOptions(), binary->left, binary->right)) { + swap(); + } + }; + // Prefer a const on the right. + if (binary->left->is<Const>() && !binary->right->is<Const>()) { + return swap(); + } + if (binary->right->is<Const>()) return; + // Prefer a get on the right. + if (binary->left->is<GetLocal>() && !binary->right->is<GetLocal>()) { + return maybeSwap(); + } + // Sort by the node id type, if different. + if (binary->left->_id != binary->right->_id) { + if (binary->left->_id > binary->right->_id) { + return maybeSwap(); + } + return; + } + // If the children have the same node id, we have to go deeper. + if (auto* left = binary->left->dynCast<Unary>()) { + auto* right = binary->right->cast<Unary>(); + if (left->op > right->op) { + return maybeSwap(); + } + } + if (auto* left = binary->left->dynCast<Binary>()) { + auto* right = binary->right->cast<Binary>(); + if (left->op > right->op) { + return maybeSwap(); + } + } + if (auto* left = binary->left->dynCast<GetLocal>()) { + auto* right = binary->right->cast<GetLocal>(); + if (left->index > right->index) { + return maybeSwap(); + } + } + } + // Optimize given that the expression is flowing into a boolean context Expression* optimizeBoolean(Expression* boolean) { if (auto* unary = boolean->dynCast<Unary>()) { @@ -1098,16 +1149,16 @@ private: return nullptr; } - // integer math, even on 2s complement, allows stuff like - // x + 5 == 7 - // => - // x == 2 // TODO: templatize on type? Expression* optimizeRelational(Binary* binary) { // TODO: inequalities can also work, if the constants do not overflow auto type = binary->right->type; - if (binary->op ==Abstract::getBinary(type, Abstract::Eq) || - binary->op ==Abstract::getBinary(type, Abstract::Ne)) { + // integer math, even on 2s complement, allows stuff like + // x + 5 == 7 + // => + // x == 2 + if (binary->op == Abstract::getBinary(type, Abstract::Eq) || + binary->op == Abstract::getBinary(type, Abstract::Ne)) { if (isIntegerType(binary->left->type)) { if (auto* left = binary->left->dynCast<Binary>()) { if (left->op == Abstract::getBinary(type, Abstract::Add) || diff --git a/test/debugInfo.fromasm b/test/debugInfo.fromasm index 895c032eb..45519f1ed 100644 --- a/test/debugInfo.fromasm +++ b/test/debugInfo.fromasm @@ -109,8 +109,8 @@ ) (if (i32.ne - (get_local $2) (get_local $0) + (get_local $2) ) (block (set_local $4 diff --git a/test/debugInfo.fromasm.clamp b/test/debugInfo.fromasm.clamp index 895c032eb..45519f1ed 100644 --- a/test/debugInfo.fromasm.clamp +++ b/test/debugInfo.fromasm.clamp @@ -109,8 +109,8 @@ ) (if (i32.ne - (get_local $2) (get_local $0) + (get_local $2) ) (block (set_local $4 diff --git a/test/debugInfo.fromasm.imprecise b/test/debugInfo.fromasm.imprecise index a0468d1f5..f8734889f 100644 --- a/test/debugInfo.fromasm.imprecise +++ b/test/debugInfo.fromasm.imprecise @@ -96,8 +96,8 @@ ) (if (i32.ne - (get_local $2) (get_local $0) + (get_local $2) ) (block (set_local $4 diff --git a/test/debugInfo.fromasm.read-written b/test/debugInfo.fromasm.read-written index 92deb4763..d6d001f1e 100644 --- a/test/debugInfo.fromasm.read-written +++ b/test/debugInfo.fromasm.read-written @@ -113,8 +113,8 @@ ) (if (i32.ne - (get_local $2) (get_local $0) + (get_local $2) ) (block (set_local $4 diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm index 616c6ae12..02e8174a9 100644 --- a/test/emcc_O2_hello_world.fromasm +++ b/test/emcc_O2_hello_world.fromasm @@ -114,12 +114,12 @@ (i32.and (tee_local $1 (i32.shr_u - (tee_local $15 + (tee_local $14 (i32.load (i32.const 176) ) ) - (tee_local $5 + (tee_local $8 (i32.shr_u (tee_local $9 (select @@ -158,6 +158,7 @@ (i32.shl (tee_local $1 (i32.add + (get_local $8) (i32.xor (i32.and (get_local $1) @@ -165,7 +166,6 @@ ) (i32.const 1) ) - (get_local $5) ) ) (i32.const 3) @@ -200,6 +200,7 @@ ) (if (i32.eq + (get_local $0) (i32.load (tee_local $10 (i32.add @@ -208,7 +209,6 @@ ) ) ) - (get_local $0) ) (block (i32.store @@ -226,7 +226,6 @@ (i32.store (i32.const 176) (i32.and - (get_local $15) (i32.xor (i32.shl (i32.const 1) @@ -234,6 +233,7 @@ ) (i32.const -1) ) + (get_local $14) ) ) ) @@ -290,30 +290,30 @@ (tee_local $5 (i32.add (i32.and - (tee_local $3 - (i32.and - (i32.shl - (get_local $1) - (get_local $5) - ) - (i32.or - (tee_local $5 - (i32.shl - (i32.const 2) - (get_local $5) + (i32.sub + (i32.const 0) + (tee_local $3 + (i32.and + (i32.or + (i32.sub + (i32.const 0) + (tee_local $5 + (i32.shl + (i32.const 2) + (get_local $8) + ) + ) ) - ) - (i32.sub - (i32.const 0) (get_local $5) ) + (i32.shl + (get_local $1) + (get_local $8) + ) ) ) ) - (i32.sub - (i32.const 0) - (get_local $3) - ) + (get_local $3) ) (i32.const -1) ) @@ -323,109 +323,111 @@ (i32.const 16) ) ) - (set_local $3 - (i32.load - (tee_local $10 - (i32.add - (tee_local $0 - (i32.load - (tee_local $22 - (i32.add - (tee_local $11 + (set_local $5 + (i32.and + (i32.shr_u + (tee_local $10 + (i32.shr_u + (get_local $5) + (get_local $3) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $10 + (i32.and + (i32.shr_u + (tee_local $0 + (i32.shr_u + (get_local $10) + (get_local $5) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $0 + (i32.and + (i32.shr_u + (tee_local $11 + (i32.shr_u + (get_local $0) + (get_local $10) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) + (if + (i32.ne + (tee_local $3 + (i32.load + (tee_local $10 + (i32.add + (tee_local $0 + (i32.load + (tee_local $22 (i32.add - (i32.shl - (tee_local $7 - (i32.add - (i32.or - (i32.or + (tee_local $11 + (i32.add + (i32.shl + (tee_local $7 + (i32.add (i32.or - (i32.or - (tee_local $5 - (i32.and - (i32.shr_u - (tee_local $10 - (i32.shr_u - (get_local $5) - (get_local $3) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $3) - ) - (tee_local $10 + (tee_local $11 (i32.and (i32.shr_u - (tee_local $0 + (tee_local $22 (i32.shr_u - (get_local $10) - (get_local $5) + (get_local $11) + (get_local $0) ) ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (tee_local $11 - (i32.shr_u - (get_local $0) - (get_local $10) - ) + (i32.const 1) ) (i32.const 1) ) - (i32.const 2) ) - ) - ) - (tee_local $11 - (i32.and - (i32.shr_u - (tee_local $22 - (i32.shr_u - (get_local $11) - (get_local $0) + (i32.or + (get_local $0) + (i32.or + (get_local $10) + (i32.or + (get_local $3) + (get_local $5) ) ) - (i32.const 1) ) - (i32.const 1) + ) + (i32.shr_u + (get_local $22) + (get_local $11) ) ) ) - (i32.shr_u - (get_local $22) - (get_local $11) - ) + (i32.const 3) ) + (i32.const 216) ) - (i32.const 3) ) - (i32.const 216) + (i32.const 8) ) ) - (i32.const 8) ) ) + (i32.const 8) ) ) - (i32.const 8) ) ) - ) - ) - (if - (i32.ne (get_local $11) - (get_local $3) ) (block (if @@ -439,6 +441,7 @@ ) (if (i32.eq + (get_local $0) (i32.load (tee_local $5 (i32.add @@ -447,7 +450,6 @@ ) ) ) - (get_local $0) ) (block (i32.store @@ -471,7 +473,6 @@ (i32.store (i32.const 176) (i32.and - (get_local $15) (i32.xor (i32.shl (i32.const 1) @@ -479,6 +480,7 @@ ) (i32.const -1) ) + (get_local $14) ) ) (set_local $17 @@ -494,7 +496,7 @@ ) ) (i32.store offset=4 - (tee_local $15 + (tee_local $14 (i32.add (get_local $0) (get_local $9) @@ -515,8 +517,8 @@ ) (i32.store (i32.add - (get_local $15) (get_local $6) + (get_local $14) ) (get_local $6) ) @@ -544,7 +546,7 @@ ) (if (i32.and - (tee_local $5 + (tee_local $8 (i32.load (i32.const 176) ) @@ -586,8 +588,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $5) (get_local $1) + (get_local $8) ) ) (set_local $38 @@ -625,7 +627,7 @@ ) (i32.store (i32.const 196) - (get_local $15) + (get_local $14) ) (return (get_local $10) @@ -633,23 +635,23 @@ ) ) (if - (tee_local $15 + (tee_local $14 (i32.load (i32.const 180) ) ) (block - (set_local $15 + (set_local $14 (i32.and (i32.shr_u (tee_local $6 (i32.add (i32.and - (get_local $15) (i32.sub (i32.const 0) - (get_local $15) + (get_local $14) ) + (get_local $14) ) (i32.const -1) ) @@ -659,6 +661,48 @@ (i32.const 16) ) ) + (set_local $6 + (i32.and + (i32.shr_u + (tee_local $11 + (i32.shr_u + (get_local $6) + (get_local $14) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $11 + (i32.and + (i32.shr_u + (tee_local $3 + (i32.shr_u + (get_local $11) + (get_local $6) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $3 + (i32.and + (i32.shr_u + (tee_local $1 + (i32.shr_u + (get_local $3) + (get_local $11) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) (set_local $1 (i32.sub (i32.and @@ -668,59 +712,10 @@ (i32.shl (i32.add (i32.or - (i32.or - (i32.or - (i32.or - (tee_local $6 - (i32.and - (i32.shr_u - (tee_local $11 - (i32.shr_u - (get_local $6) - (get_local $15) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $15) - ) - (tee_local $11 - (i32.and - (i32.shr_u - (tee_local $3 - (i32.shr_u - (get_local $11) - (get_local $6) - ) - ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.shr_u - (get_local $3) - (get_local $11) - ) - ) - (i32.const 1) - ) - (i32.const 2) - ) - ) - ) (tee_local $1 (i32.and (i32.shr_u - (tee_local $5 + (tee_local $8 (i32.shr_u (get_local $1) (get_local $3) @@ -731,9 +726,19 @@ (i32.const 1) ) ) + (i32.or + (get_local $3) + (i32.or + (get_local $11) + (i32.or + (get_local $6) + (get_local $14) + ) + ) + ) ) (i32.shr_u - (get_local $5) + (get_local $8) (get_local $1) ) ) @@ -748,7 +753,7 @@ ) ) (set_local $3 - (tee_local $5 + (tee_local $8 (get_local $17) ) ) @@ -760,23 +765,23 @@ (i32.sub (i32.and (i32.load offset=4 - (tee_local $5 + (tee_local $8 (if (result i32) (tee_local $17 (i32.load offset=16 - (get_local $5) + (get_local $8) ) ) (get_local $17) (if (result i32) (tee_local $11 (i32.load offset=20 - (get_local $5) + (get_local $8) ) ) (get_local $11) (block - (set_local $8 + (set_local $5 (get_local $1) ) (set_local $2 @@ -805,7 +810,7 @@ ) (set_local $3 (select - (get_local $5) + (get_local $8) (get_local $3) (get_local $11) ) @@ -827,7 +832,7 @@ (if (i32.ge_u (get_local $2) - (tee_local $5 + (tee_local $8 (i32.add (get_local $2) (get_local $9) @@ -960,6 +965,7 @@ ) (if (i32.ne + (get_local $2) (i32.load (tee_local $7 (i32.add @@ -968,12 +974,12 @@ ) ) ) - (get_local $2) ) (call $_abort) ) (if (i32.eq + (get_local $2) (i32.load (tee_local $11 (i32.add @@ -982,7 +988,6 @@ ) ) ) - (get_local $2) ) (block (i32.store @@ -1006,7 +1011,6 @@ (block $do-once8 (if (i32.eq - (get_local $2) (i32.load (tee_local $3 (i32.add @@ -1022,6 +1026,7 @@ ) ) ) + (get_local $2) ) (block (i32.store @@ -1064,6 +1069,7 @@ ) (if (i32.eq + (get_local $2) (i32.load (tee_local $10 (i32.add @@ -1072,7 +1078,6 @@ ) ) ) - (get_local $2) ) (i32.store (get_local $10) @@ -1159,7 +1164,7 @@ ) (if (i32.lt_u - (get_local $8) + (get_local $5) (i32.const 16) ) (block @@ -1168,7 +1173,7 @@ (i32.or (tee_local $1 (i32.add - (get_local $8) + (get_local $5) (get_local $9) ) ) @@ -1179,8 +1184,8 @@ (tee_local $3 (i32.add (i32.add - (get_local $2) (get_local $1) + (get_local $2) ) (i32.const 4) ) @@ -1202,9 +1207,9 @@ ) ) (i32.store offset=4 - (get_local $5) + (get_local $8) (i32.or - (get_local $8) + (get_local $5) (i32.const 1) ) ) @@ -1213,7 +1218,7 @@ (get_local $5) (get_local $8) ) - (get_local $8) + (get_local $5) ) (if (tee_local $3 @@ -1320,11 +1325,11 @@ ) (i32.store (i32.const 184) - (get_local $8) + (get_local $5) ) (i32.store (i32.const 196) - (get_local $5) + (get_local $8) ) ) ) @@ -1371,7 +1376,7 @@ ) ) (if - (tee_local $15 + (tee_local $14 (i32.load offset=480 (i32.shl (tee_local $9 @@ -1388,83 +1393,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $1) - (i32.add - (tee_local $15 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $7 + (i32.and + (i32.shr_u + (i32.add + (tee_local $10 + (i32.shl + (get_local $7) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $7) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $1) + (i32.add + (tee_local $14 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $7 + (tee_local $10 (i32.and (i32.shr_u (i32.add - (tee_local $10 + (tee_local $17 (i32.shl + (get_local $10) (get_local $7) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $7) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $3) - ) - (tee_local $10 - (i32.and - (i32.shr_u - (i32.add - (tee_local $17 - (i32.shl - (get_local $10) - (get_local $7) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $3) + (get_local $7) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $17) - (get_local $10) + (i32.shr_u + (i32.shl + (get_local $17) + (get_local $10) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $14) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $15) - (i32.const 1) ) ) ) @@ -1502,7 +1510,7 @@ ) ) (set_local $7 - (get_local $15) + (get_local $14) ) (loop $while-in14 (if @@ -1525,8 +1533,8 @@ (set_local $6 (if (result i32) (i32.eq - (get_local $22) (get_local $1) + (get_local $22) ) (block (set_local $28 @@ -1587,7 +1595,7 @@ ) ) ) - (set_local $5 + (set_local $8 (if (result i32) (tee_local $0 (i32.eqz @@ -1646,10 +1654,10 @@ (tee_local $0 (if (result i32) (i32.or - (get_local $5) + (get_local $8) (get_local $31) ) - (get_local $5) + (get_local $8) (block (result i32) (drop (br_if $do-once @@ -1657,19 +1665,19 @@ (i32.eqz (tee_local $0 (i32.and - (get_local $11) (i32.or - (tee_local $15 - (i32.shl - (i32.const 2) - (get_local $9) - ) - ) (i32.sub (i32.const 0) - (get_local $15) + (tee_local $14 + (i32.shl + (i32.const 2) + (get_local $9) + ) + ) ) + (get_local $14) ) + (get_local $11) ) ) ) @@ -1678,14 +1686,14 @@ (set_local $0 (i32.and (i32.shr_u - (tee_local $15 + (tee_local $14 (i32.add (i32.and - (get_local $0) (i32.sub (i32.const 0) (get_local $0) ) + (get_local $0) ) (i32.const -1) ) @@ -1695,66 +1703,59 @@ (i32.const 16) ) ) + (set_local $14 + (i32.and + (i32.shr_u + (tee_local $9 + (i32.shr_u + (get_local $14) + (get_local $0) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $9 + (i32.and + (i32.shr_u + (tee_local $8 + (i32.shr_u + (get_local $9) + (get_local $14) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $8 + (i32.and + (i32.shr_u + (tee_local $6 + (i32.shr_u + (get_local $8) + (get_local $9) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) (i32.load offset=480 (i32.shl (i32.add (i32.or - (i32.or - (i32.or - (i32.or - (tee_local $15 - (i32.and - (i32.shr_u - (tee_local $9 - (i32.shr_u - (get_local $15) - (get_local $0) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $0) - ) - (tee_local $9 - (i32.and - (i32.shr_u - (tee_local $5 - (i32.shr_u - (get_local $9) - (get_local $15) - ) - ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $5 - (i32.and - (i32.shr_u - (tee_local $6 - (i32.shr_u - (get_local $5) - (get_local $9) - ) - ) - (i32.const 1) - ) - (i32.const 2) - ) - ) - ) (tee_local $6 (i32.and (i32.shr_u (tee_local $3 (i32.shr_u (get_local $6) - (get_local $5) + (get_local $8) ) ) (i32.const 1) @@ -1762,6 +1763,16 @@ (i32.const 1) ) ) + (i32.or + (get_local $8) + (i32.or + (get_local $9) + (i32.or + (get_local $0) + (get_local $14) + ) + ) + ) ) (i32.shr_u (get_local $3) @@ -1823,7 +1834,7 @@ (get_local $28) ) ) - (set_local $5 + (set_local $8 (select (get_local $6) (get_local $28) @@ -1845,7 +1856,7 @@ ) (block (set_local $28 - (get_local $5) + (get_local $8) ) (set_local $26 (get_local $3) @@ -1865,7 +1876,7 @@ ) (block (set_local $28 - (get_local $5) + (get_local $8) ) (set_local $30 (get_local $6) @@ -1876,7 +1887,7 @@ (set_local $12 (get_local $6) ) - (get_local $5) + (get_local $8) ) ) ) @@ -1913,14 +1924,14 @@ (get_local $12) (tee_local $6 (i32.add - (get_local $12) (get_local $1) + (get_local $12) ) ) ) (call $_abort) ) - (set_local $5 + (set_local $8 (i32.load offset=24 (get_local $12) ) @@ -1956,7 +1967,7 @@ (if (result i32) (tee_local $17 (i32.load - (tee_local $15 + (tee_local $14 (i32.add (get_local $12) (i32.const 16) @@ -1964,7 +1975,7 @@ ) ) ) - (get_local $15) + (get_local $14) (br $do-once17) ) ) @@ -2024,7 +2035,7 @@ (get_local $7) (i32.const 0) ) - (set_local $8 + (set_local $5 (get_local $17) ) ) @@ -2044,6 +2055,7 @@ ) (if (i32.ne + (get_local $12) (i32.load (tee_local $0 (i32.add @@ -2052,21 +2064,20 @@ ) ) ) - (get_local $12) ) (call $_abort) ) (if (i32.eq + (get_local $12) (i32.load - (tee_local $15 + (tee_local $14 (i32.add (get_local $3) (i32.const 8) ) ) ) - (get_local $12) ) (block (i32.store @@ -2074,10 +2085,10 @@ (get_local $3) ) (i32.store - (get_local $15) + (get_local $14) (get_local $9) ) - (set_local $8 + (set_local $5 (get_local $3) ) ) @@ -2086,11 +2097,10 @@ ) ) (if - (get_local $5) + (get_local $8) (block $do-once21 (if (i32.eq - (get_local $12) (i32.load (tee_local $11 (i32.add @@ -2106,15 +2116,16 @@ ) ) ) + (get_local $12) ) (block (i32.store (get_local $11) - (get_local $8) + (get_local $5) ) (if (i32.eqz - (get_local $8) + (get_local $5) ) (block (i32.store @@ -2139,7 +2150,7 @@ (block (if (i32.lt_u - (get_local $5) + (get_local $8) (i32.load (i32.const 192) ) @@ -2148,35 +2159,35 @@ ) (if (i32.eq + (get_local $12) (i32.load (tee_local $3 (i32.add - (get_local $5) + (get_local $8) (i32.const 16) ) ) ) - (get_local $12) ) (i32.store (get_local $3) - (get_local $8) + (get_local $5) ) (i32.store offset=20 - (get_local $5) (get_local $8) + (get_local $5) ) ) (br_if $do-once21 (i32.eqz - (get_local $8) + (get_local $5) ) ) ) ) (if (i32.lt_u - (get_local $8) + (get_local $5) (tee_local $3 (i32.load (i32.const 192) @@ -2186,8 +2197,8 @@ (call $_abort) ) (i32.store offset=24 - (get_local $8) (get_local $5) + (get_local $8) ) (if (tee_local $11 @@ -2203,12 +2214,12 @@ (call $_abort) (block (i32.store offset=16 - (get_local $8) + (get_local $5) (get_local $11) ) (i32.store offset=24 (get_local $11) - (get_local $8) + (get_local $5) ) ) ) @@ -2229,12 +2240,12 @@ (call $_abort) (block (i32.store offset=20 - (get_local $8) + (get_local $5) (get_local $11) ) (i32.store offset=24 (get_local $11) - (get_local $8) + (get_local $5) ) ) ) @@ -2263,12 +2274,12 @@ ) (i32.store (i32.add - (get_local $6) (get_local $2) + (get_local $6) ) (get_local $2) ) - (set_local $5 + (set_local $8 (i32.shr_u (get_local $2) (i32.const 3) @@ -2283,7 +2294,7 @@ (set_local $11 (i32.add (i32.shl - (get_local $5) + (get_local $8) (i32.const 3) ) (i32.const 216) @@ -2291,23 +2302,23 @@ ) (if (i32.and - (tee_local $3 - (i32.load - (i32.const 176) - ) - ) (tee_local $9 (i32.shl (i32.const 1) - (get_local $5) + (get_local $8) + ) + ) + (tee_local $3 + (i32.load + (i32.const 176) ) ) ) (if (i32.lt_u - (tee_local $15 + (tee_local $14 (i32.load - (tee_local $5 + (tee_local $8 (i32.add (get_local $11) (i32.const 8) @@ -2322,10 +2333,10 @@ (call $_abort) (block (set_local $16 - (get_local $5) + (get_local $8) ) (set_local $27 - (get_local $15) + (get_local $14) ) ) ) @@ -2367,7 +2378,7 @@ (br $do-once25) ) ) - (set_local $5 + (set_local $8 (i32.add (i32.shl (tee_local $7 @@ -2384,83 +2395,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $2) - (i32.add - (tee_local $5 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $11 + (i32.and + (i32.shr_u + (i32.add + (tee_local $3 + (i32.shl + (get_local $11) + (tee_local $9 + (i32.and + (i32.shr_u + (i32.add + (get_local $11) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $2) + (i32.add + (tee_local $8 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $11 + (tee_local $3 (i32.and (i32.shr_u (i32.add - (tee_local $3 + (tee_local $14 (i32.shl + (get_local $3) (get_local $11) - (tee_local $9 - (i32.and - (i32.shr_u - (i32.add - (get_local $11) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $9) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (tee_local $15 - (i32.shl - (get_local $3) - (get_local $11) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $9) + (get_local $11) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $15) - (get_local $3) + (i32.shr_u + (i32.shl + (get_local $14) + (get_local $3) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $8) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $5) - (i32.const 1) ) ) ) @@ -2492,17 +2506,17 @@ (if (i32.eqz (i32.and - (tee_local $3 - (i32.load - (i32.const 180) - ) - ) - (tee_local $15 + (tee_local $14 (i32.shl (i32.const 1) (get_local $7) ) ) + (tee_local $3 + (i32.load + (i32.const 180) + ) + ) ) ) (block @@ -2510,16 +2524,16 @@ (i32.const 180) (i32.or (get_local $3) - (get_local $15) + (get_local $14) ) ) (i32.store - (get_local $5) + (get_local $8) (get_local $6) ) (i32.store offset=24 (get_local $6) - (get_local $5) + (get_local $8) ) (i32.store offset=12 (get_local $6) @@ -2532,7 +2546,7 @@ (br $do-once25) ) ) - (set_local $15 + (set_local $14 (i32.shl (get_local $2) (select @@ -2553,7 +2567,7 @@ ) (set_local $3 (i32.load - (get_local $5) + (get_local $8) ) ) (if @@ -2563,16 +2577,16 @@ (block $while-out27 (result i32) (if (i32.eq + (get_local $2) (i32.and (i32.load offset=4 (get_local $3) ) (i32.const -8) ) - (get_local $2) ) (block - (set_local $14 + (set_local $15 (get_local $3) ) (br $while-out27 @@ -2583,7 +2597,7 @@ (if (result i32) (tee_local $9 (i32.load - (tee_local $5 + (tee_local $8 (i32.add (i32.add (get_local $3) @@ -2591,7 +2605,7 @@ ) (i32.shl (i32.shr_u - (get_local $15) + (get_local $14) (i32.const 31) ) (i32.const 2) @@ -2601,9 +2615,9 @@ ) ) (block - (set_local $15 + (set_local $14 (i32.shl - (get_local $15) + (get_local $14) (i32.const 1) ) ) @@ -2614,9 +2628,9 @@ ) (block (result i32) (set_local $23 - (get_local $5) + (get_local $8) ) - (set_local $20 + (set_local $19 (get_local $3) ) (i32.const 145) @@ -2642,7 +2656,7 @@ ) (i32.store offset=24 (get_local $6) - (get_local $20) + (get_local $19) ) (i32.store offset=12 (get_local $6) @@ -2662,11 +2676,11 @@ (if (i32.and (i32.ge_u - (tee_local $15 + (tee_local $14 (i32.load (tee_local $3 (i32.add - (get_local $14) + (get_local $15) (i32.const 8) ) ) @@ -2679,13 +2693,13 @@ ) ) (i32.ge_u - (get_local $14) + (get_local $15) (get_local $9) ) ) (block (i32.store offset=12 - (get_local $15) + (get_local $14) (get_local $6) ) (i32.store @@ -2694,11 +2708,11 @@ ) (i32.store offset=8 (get_local $6) - (get_local $15) + (get_local $14) ) (i32.store offset=12 (get_local $6) - (get_local $14) + (get_local $15) ) (i32.store offset=24 (get_local $6) @@ -2714,10 +2728,10 @@ (i32.store offset=4 (get_local $12) (i32.or - (tee_local $15 + (tee_local $14 (i32.add - (get_local $2) (get_local $1) + (get_local $2) ) ) (i32.const 3) @@ -2728,7 +2742,7 @@ (i32.add (i32.add (get_local $12) - (get_local $15) + (get_local $14) ) (i32.const 4) ) @@ -2769,7 +2783,7 @@ (get_local $9) ) (block - (set_local $14 + (set_local $15 (i32.load (i32.const 196) ) @@ -2787,10 +2801,10 @@ (block (i32.store (i32.const 196) - (tee_local $20 + (tee_local $19 (i32.add - (get_local $14) (get_local $9) + (get_local $15) ) ) ) @@ -2799,7 +2813,7 @@ (get_local $2) ) (i32.store offset=4 - (get_local $20) + (get_local $19) (i32.or (get_local $2) (i32.const 1) @@ -2807,13 +2821,13 @@ ) (i32.store (i32.add - (get_local $20) (get_local $2) + (get_local $19) ) (get_local $2) ) (i32.store offset=4 - (get_local $14) + (get_local $15) (i32.or (get_local $9) (i32.const 3) @@ -2830,7 +2844,7 @@ (i32.const 0) ) (i32.store offset=4 - (get_local $14) + (get_local $15) (i32.or (get_local $12) (i32.const 3) @@ -2840,8 +2854,8 @@ (tee_local $2 (i32.add (i32.add - (get_local $14) (get_local $12) + (get_local $15) ) (i32.const 4) ) @@ -2857,7 +2871,7 @@ ) (return (i32.add - (get_local $14) + (get_local $15) (i32.const 8) ) ) @@ -2865,7 +2879,7 @@ ) (if (i32.gt_u - (tee_local $14 + (tee_local $15 (i32.load (i32.const 188) ) @@ -2877,7 +2891,7 @@ (i32.const 188) (tee_local $2 (i32.sub - (get_local $14) + (get_local $15) (get_local $9) ) ) @@ -2886,12 +2900,12 @@ (i32.const 200) (tee_local $12 (i32.add - (tee_local $14 + (get_local $9) + (tee_local $15 (i32.load (i32.const 200) ) ) - (get_local $9) ) ) ) @@ -2903,7 +2917,7 @@ ) ) (i32.store offset=4 - (get_local $14) + (get_local $15) (i32.or (get_local $9) (i32.const 3) @@ -2911,7 +2925,7 @@ ) (return (i32.add - (get_local $14) + (get_local $15) (i32.const 8) ) ) @@ -2925,25 +2939,25 @@ ) (if (i32.and - (i32.add - (tee_local $14 - (call $_sysconf - (i32.const 30) - ) + (tee_local $15 + (call $_sysconf + (i32.const 30) ) + ) + (i32.add + (get_local $15) (i32.const -1) ) - (get_local $14) ) (call $_abort) (block (i32.store (i32.const 656) - (get_local $14) + (get_local $15) ) (i32.store (i32.const 652) - (get_local $14) + (get_local $15) ) (i32.store (i32.const 660) @@ -2976,37 +2990,38 @@ ) ) ) - (set_local $14 + (set_local $15 (i32.add (get_local $9) (i32.const 48) ) ) + (set_local $19 + (i32.add + (tee_local $2 + (i32.load + (i32.const 656) + ) + ) + (tee_local $12 + (i32.add + (get_local $9) + (i32.const 47) + ) + ) + ) + ) (if (i32.le_u (tee_local $2 (i32.and - (tee_local $20 - (i32.add - (tee_local $2 - (i32.load - (i32.const 656) - ) - ) - (tee_local $12 - (i32.add - (get_local $9) - (i32.const 47) - ) - ) - ) - ) (tee_local $23 (i32.sub (i32.const 0) (get_local $2) ) ) + (get_local $19) ) ) (get_local $9) @@ -3026,12 +3041,12 @@ (i32.le_u (tee_local $16 (i32.add + (get_local $2) (tee_local $27 (i32.load (i32.const 608) ) ) - (get_local $2) ) ) (get_local $27) @@ -3091,15 +3106,15 @@ ) (i32.gt_u (i32.add - (get_local $27) (i32.load - (tee_local $8 + (tee_local $5 (i32.add (get_local $16) (i32.const 4) ) ) ) + (get_local $27) ) (get_local $7) ) @@ -3109,8 +3124,8 @@ (set_local $6 (get_local $16) ) - (set_local $5 - (get_local $8) + (set_local $8 + (get_local $5) ) (br $while-out33) ) @@ -3132,61 +3147,64 @@ (i32.lt_u (tee_local $16 (i32.and + (get_local $23) (i32.sub - (get_local $20) + (get_local $19) (i32.load (i32.const 188) ) ) - (get_local $23) ) ) (i32.const 2147483647) ) - (if - (i32.eq - (tee_local $8 - (call $_sbrk - (get_local $16) - ) + (block + (set_local $5 + (call $_sbrk + (get_local $16) ) - (i32.add - (i32.load - (get_local $6) + ) + (if + (i32.eq + (i32.add + (i32.load + (get_local $6) + ) + (i32.load + (get_local $8) + ) ) - (i32.load + (get_local $5) + ) + (if + (i32.ne (get_local $5) + (i32.const -1) + ) + (block + (set_local $20 + (get_local $5) + ) + (set_local $21 + (get_local $16) + ) + (br $label$break$L257 + (i32.const 193) + ) ) - ) - ) - (if - (i32.ne - (get_local $8) - (i32.const -1) ) (block - (set_local $19 - (get_local $8) + (set_local $13 + (get_local $5) ) - (set_local $21 + (set_local $18 (get_local $16) ) - (br $label$break$L257 - (i32.const 193) + (set_local $10 + (i32.const 183) ) ) ) - (block - (set_local $13 - (get_local $8) - ) - (set_local $18 - (get_local $16) - ) - (set_local $10 - (i32.const 183) - ) - ) ) ) ) @@ -3214,7 +3232,10 @@ (set_local $0 (if (result i32) (i32.and - (tee_local $8 + (tee_local $1 + (get_local $7) + ) + (tee_local $5 (i32.add (tee_local $16 (i32.load @@ -3224,9 +3245,6 @@ (i32.const -1) ) ) - (tee_local $1 - (get_local $7) - ) ) (i32.add (i32.sub @@ -3235,8 +3253,8 @@ ) (i32.and (i32.add - (get_local $8) (get_local $1) + (get_local $5) ) (i32.sub (i32.const 0) @@ -3259,14 +3277,14 @@ ) (if (i32.and - (i32.gt_u - (get_local $0) - (get_local $9) - ) (i32.lt_u (get_local $0) (i32.const 2147483647) ) + (i32.gt_u + (get_local $0) + (get_local $9) + ) ) (block (br_if $do-once35 @@ -3278,7 +3296,7 @@ ) (i32.gt_u (get_local $1) - (tee_local $8 + (tee_local $5 (i32.load (i32.const 616) ) @@ -3286,13 +3304,13 @@ ) ) (i32.const 0) - (get_local $8) + (get_local $5) ) ) (set_local $18 (if (result i32) (i32.eq - (tee_local $8 + (tee_local $5 (call $_sbrk (get_local $0) ) @@ -3300,7 +3318,7 @@ (get_local $7) ) (block - (set_local $19 + (set_local $20 (get_local $7) ) (set_local $21 @@ -3312,7 +3330,7 @@ ) (block (result i32) (set_local $13 - (get_local $8) + (get_local $5) ) (set_local $10 (i32.const 183) @@ -3331,7 +3349,7 @@ (i32.const 183) ) (block $label$break$L279 - (set_local $8 + (set_local $5 (i32.sub (i32.const 0) (get_local $18) @@ -3341,34 +3359,34 @@ (if (result i32) (if (result i32) (i32.and - (i32.gt_u - (get_local $14) - (get_local $18) - ) (i32.and - (i32.lt_u - (get_local $18) - (i32.const 2147483647) - ) (i32.ne (get_local $13) (i32.const -1) ) + (i32.lt_u + (get_local $18) + (i32.const 2147483647) + ) + ) + (i32.gt_u + (get_local $15) + (get_local $18) ) ) (i32.lt_u (tee_local $1 (i32.and (i32.add - (i32.sub - (get_local $12) - (get_local $18) - ) (tee_local $7 (i32.load (i32.const 656) ) ) + (i32.sub + (get_local $12) + (get_local $18) + ) ) (i32.sub (i32.const 0) @@ -3390,7 +3408,7 @@ (block (drop (call $_sbrk - (get_local $8) + (get_local $5) ) ) (br $label$break$L279) @@ -3409,7 +3427,7 @@ (i32.const -1) ) (block - (set_local $19 + (set_local $20 (get_local $13) ) (set_local $21 @@ -3439,28 +3457,28 @@ ) ) (i32.and - (i32.lt_u - (tee_local $4 - (call $_sbrk - (get_local $2) - ) - ) - (tee_local $2 - (call $_sbrk - (i32.const 0) - ) - ) - ) (i32.and (i32.ne - (get_local $4) + (tee_local $4 + (call $_sbrk + (get_local $2) + ) + ) (i32.const -1) ) (i32.ne - (get_local $2) + (tee_local $2 + (call $_sbrk + (i32.const 0) + ) + ) (i32.const -1) ) ) + (i32.lt_u + (get_local $4) + (get_local $2) + ) ) (i32.const 0) ) @@ -3479,7 +3497,7 @@ (i32.const 0) ) (block - (set_local $19 + (set_local $20 (get_local $4) ) (set_local $21 @@ -3500,10 +3518,10 @@ (i32.const 608) (tee_local $13 (i32.add + (get_local $21) (i32.load (i32.const 608) ) - (get_local $21) ) ) ) @@ -3533,7 +3551,6 @@ (block $do-out (if (i32.eq - (get_local $19) (i32.add (tee_local $2 (i32.load @@ -3551,6 +3568,7 @@ ) ) ) + (get_local $20) ) (block (set_local $46 @@ -3600,7 +3618,7 @@ (i32.and (i32.lt_u (get_local $13) - (get_local $19) + (get_local $20) ) (i32.ge_u (get_local $13) @@ -3613,13 +3631,12 @@ (i32.store (get_local $47) (i32.add - (get_local $48) (get_local $21) + (get_local $48) ) ) (set_local $4 (i32.add - (get_local $13) (tee_local $12 (select (i32.and @@ -3641,17 +3658,18 @@ ) ) ) + (get_local $13) ) ) (set_local $18 (i32.add + (i32.load + (i32.const 188) + ) (i32.sub (get_local $21) (get_local $12) ) - (i32.load - (i32.const 188) - ) ) ) (i32.store @@ -3688,7 +3706,7 @@ (set_local $3 (if (result i32) (i32.lt_u - (get_local $19) + (get_local $20) (tee_local $18 (i32.load (i32.const 192) @@ -3698,16 +3716,16 @@ (block (result i32) (i32.store (i32.const 192) - (get_local $19) + (get_local $20) ) - (get_local $19) + (get_local $20) ) (get_local $18) ) ) (set_local $18 (i32.add - (get_local $19) + (get_local $20) (get_local $21) ) ) @@ -3718,10 +3736,10 @@ (block $while-out42 (if (i32.eq + (get_local $18) (i32.load (get_local $4) ) - (get_local $18) ) (block (set_local $50 @@ -3765,7 +3783,7 @@ (block (i32.store (get_local $50) - (get_local $19) + (get_local $20) ) (i32.store (tee_local $4 @@ -3775,22 +3793,21 @@ ) ) (i32.add + (get_local $21) (i32.load (get_local $4) ) - (get_local $21) ) ) (set_local $12 (i32.add - (get_local $19) (select (i32.and (i32.sub (i32.const 0) (tee_local $4 (i32.add - (get_local $19) + (get_local $20) (i32.const 8) ) ) @@ -3803,11 +3820,11 @@ (i32.const 7) ) ) + (get_local $20) ) ) (set_local $2 (i32.add - (get_local $18) (select (i32.and (i32.sub @@ -3827,15 +3844,16 @@ (i32.const 7) ) ) + (get_local $18) ) ) (set_local $4 (i32.add - (get_local $12) (get_local $9) + (get_local $12) ) ) - (set_local $14 + (set_local $15 (i32.sub (i32.sub (get_local $2) @@ -3859,20 +3877,20 @@ (block $do-once44 (if (i32.eq - (get_local $2) (i32.load (i32.const 196) ) + (get_local $2) ) (block (i32.store (i32.const 184) (tee_local $0 (i32.add + (get_local $15) (i32.load (i32.const 184) ) - (get_local $14) ) ) ) @@ -3889,8 +3907,8 @@ ) (i32.store (i32.add - (get_local $4) (get_local $0) + (get_local $4) ) (get_local $0) ) @@ -3910,7 +3928,7 @@ (i32.const 1) ) (block - (set_local $5 + (set_local $8 (i32.and (get_local $0) (i32.const -8) @@ -3936,12 +3954,12 @@ ) (if (i32.eq - (tee_local $20 + (get_local $2) + (tee_local $19 (i32.load offset=12 (get_local $2) ) ) - (get_local $2) ) (block $do-once47 (set_local $0 @@ -3950,7 +3968,7 @@ (i32.load (tee_local $1 (i32.add - (tee_local $8 + (tee_local $5 (i32.add (get_local $2) (i32.const 16) @@ -3962,7 +3980,7 @@ ) ) (block (result i32) - (set_local $8 + (set_local $5 (get_local $1) ) (get_local $7) @@ -3970,7 +3988,7 @@ (if (result i32) (tee_local $16 (i32.load - (get_local $8) + (get_local $5) ) ) (get_local $16) @@ -3994,7 +4012,7 @@ (set_local $0 (get_local $7) ) - (set_local $8 + (set_local $5 (get_local $1) ) (br $while-in50) @@ -4015,7 +4033,7 @@ (set_local $0 (get_local $7) ) - (set_local $8 + (set_local $5 (get_local $1) ) (br $while-in50) @@ -4024,13 +4042,13 @@ ) (if (i32.lt_u - (get_local $8) + (get_local $5) (get_local $3) ) (call $_abort) (block (i32.store - (get_local $8) + (get_local $5) (i32.const 0) ) (set_local $25 @@ -4053,6 +4071,7 @@ ) (if (i32.ne + (get_local $2) (i32.load (tee_local $7 (i32.add @@ -4061,33 +4080,32 @@ ) ) ) - (get_local $2) ) (call $_abort) ) (if (i32.eq + (get_local $2) (i32.load - (tee_local $8 + (tee_local $5 (i32.add - (get_local $20) + (get_local $19) (i32.const 8) ) ) ) - (get_local $2) ) (block (i32.store (get_local $7) - (get_local $20) + (get_local $19) ) (i32.store - (get_local $8) + (get_local $5) (get_local $1) ) (set_local $25 - (get_local $20) + (get_local $19) ) ) (call $_abort) @@ -4101,12 +4119,11 @@ ) (if (i32.ne - (get_local $2) (i32.load (tee_local $1 (i32.add (i32.shl - (tee_local $20 + (tee_local $19 (i32.load offset=28 (get_local $2) ) @@ -4117,6 +4134,7 @@ ) ) ) + (get_local $2) ) (block (if @@ -4130,18 +4148,18 @@ ) (if (i32.eq + (get_local $2) (i32.load - (tee_local $8 + (tee_local $5 (i32.add (get_local $23) (i32.const 16) ) ) ) - (get_local $2) ) (i32.store - (get_local $8) + (get_local $5) (get_local $25) ) (i32.store offset=20 @@ -4172,7 +4190,7 @@ (i32.xor (i32.shl (i32.const 1) - (get_local $20) + (get_local $19) ) (i32.const -1) ) @@ -4184,7 +4202,7 @@ (if (i32.lt_u (get_local $25) - (tee_local $20 + (tee_local $19 (i32.load (i32.const 192) ) @@ -4197,7 +4215,7 @@ (get_local $23) ) (if - (tee_local $8 + (tee_local $5 (i32.load (tee_local $1 (i32.add @@ -4209,17 +4227,17 @@ ) (if (i32.lt_u - (get_local $8) - (get_local $20) + (get_local $5) + (get_local $19) ) (call $_abort) (block (i32.store offset=16 (get_local $25) - (get_local $8) + (get_local $5) ) (i32.store offset=24 - (get_local $8) + (get_local $5) (get_local $25) ) ) @@ -4227,7 +4245,7 @@ ) (br_if $label$break$L331 (i32.eqz - (tee_local $8 + (tee_local $5 (i32.load offset=4 (get_local $1) ) @@ -4236,7 +4254,7 @@ ) (if (i32.lt_u - (get_local $8) + (get_local $5) (i32.load (i32.const 192) ) @@ -4245,24 +4263,24 @@ (block (i32.store offset=20 (get_local $25) - (get_local $8) + (get_local $5) ) (i32.store offset=24 - (get_local $8) + (get_local $5) (get_local $25) ) ) ) ) (block - (set_local $20 + (set_local $19 (i32.load offset=12 (get_local $2) ) ) (if (i32.ne - (tee_local $8 + (tee_local $5 (i32.load offset=8 (get_local $2) ) @@ -4280,17 +4298,17 @@ (block $do-once55 (if (i32.lt_u - (get_local $8) + (get_local $5) (get_local $3) ) (call $_abort) ) (br_if $do-once55 (i32.eq + (get_local $2) (i32.load offset=12 - (get_local $8) + (get_local $5) ) - (get_local $2) ) ) (call $_abort) @@ -4298,8 +4316,8 @@ ) (if (i32.eq - (get_local $20) - (get_local $8) + (get_local $5) + (get_local $19) ) (block (i32.store @@ -4322,34 +4340,34 @@ ) (if (i32.eq - (get_local $20) + (get_local $19) (get_local $23) ) (set_local $41 (i32.add - (get_local $20) + (get_local $19) (i32.const 8) ) ) (block $do-once57 (if (i32.lt_u - (get_local $20) + (get_local $19) (get_local $3) ) (call $_abort) ) (if (i32.eq + (get_local $2) (i32.load (tee_local $1 (i32.add - (get_local $20) + (get_local $19) (i32.const 8) ) ) ) - (get_local $2) ) (block (set_local $41 @@ -4362,12 +4380,12 @@ ) ) (i32.store offset=12 - (get_local $8) - (get_local $20) + (get_local $5) + (get_local $19) ) (i32.store (get_local $41) - (get_local $8) + (get_local $5) ) ) ) @@ -4375,13 +4393,13 @@ (set_local $2 (i32.add (get_local $2) - (get_local $5) + (get_local $8) ) ) - (set_local $14 + (set_local $15 (i32.add - (get_local $5) - (get_local $14) + (get_local $8) + (get_local $15) ) ) ) @@ -4403,26 +4421,26 @@ (i32.store offset=4 (get_local $4) (i32.or - (get_local $14) + (get_local $15) (i32.const 1) ) ) (i32.store (i32.add (get_local $4) - (get_local $14) + (get_local $15) ) - (get_local $14) + (get_local $15) ) (set_local $6 (i32.shr_u - (get_local $14) + (get_local $15) (i32.const 3) ) ) (if (i32.lt_u - (get_local $14) + (get_local $15) (i32.const 256) ) (block @@ -4437,17 +4455,17 @@ ) (if (i32.and - (tee_local $23 - (i32.load - (i32.const 176) - ) - ) (tee_local $1 (i32.shl (i32.const 1) (get_local $6) ) ) + (tee_local $23 + (i32.load + (i32.const 176) + ) + ) ) (block $do-once59 (if @@ -4482,8 +4500,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $23) (get_local $1) + (get_local $23) ) ) (set_local $42 @@ -4523,93 +4541,96 @@ (if (result i32) (tee_local $1 (i32.shr_u - (get_local $14) + (get_local $15) (i32.const 8) ) ) (if (result i32) (i32.gt_u - (get_local $14) + (get_local $15) (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $14) - (i32.add - (tee_local $16 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $7 + (i32.and + (i32.shr_u + (i32.add + (tee_local $8 + (i32.shl + (get_local $1) + (tee_local $23 + (i32.and + (i32.shr_u + (i32.add + (get_local $1) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $15) + (i32.add + (tee_local $16 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $7 + (tee_local $8 (i32.and (i32.shr_u (i32.add - (tee_local $5 + (tee_local $6 (i32.shl - (get_local $1) - (tee_local $23 - (i32.and - (i32.shr_u - (i32.add - (get_local $1) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) + (get_local $8) + (get_local $7) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $23) - ) - (tee_local $5 - (i32.and - (i32.shr_u - (i32.add - (tee_local $6 - (i32.shl - (get_local $5) - (get_local $7) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $7) + (get_local $23) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $6) - (get_local $5) + (i32.shr_u + (i32.shl + (get_local $6) + (get_local $8) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $16) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $16) - (i32.const 1) ) ) ) @@ -4641,17 +4662,17 @@ (if (i32.eqz (i32.and - (tee_local $0 - (i32.load - (i32.const 180) - ) - ) (tee_local $16 (i32.shl (i32.const 1) (get_local $7) ) ) + (tee_local $0 + (i32.load + (i32.const 180) + ) + ) ) ) (block @@ -4683,7 +4704,7 @@ ) (set_local $16 (i32.shl - (get_local $14) + (get_local $15) (select (i32.const 0) (i32.sub @@ -4712,13 +4733,13 @@ (block $while-out63 (result i32) (if (i32.eq + (get_local $15) (i32.and (i32.load offset=4 (get_local $0) ) (i32.const -8) ) - (get_local $14) ) (block (set_local $35 @@ -4730,7 +4751,7 @@ ) ) (if (result i32) - (tee_local $5 + (tee_local $8 (i32.load (tee_local $1 (i32.add @@ -4757,7 +4778,7 @@ ) ) (set_local $0 - (get_local $5) + (get_local $8) ) (br $while-in64) ) @@ -4821,7 +4842,7 @@ ) ) ) - (tee_local $5 + (tee_local $8 (i32.load (i32.const 192) ) @@ -4829,7 +4850,7 @@ ) (i32.ge_u (get_local $35) - (get_local $5) + (get_local $8) ) ) (block @@ -4864,10 +4885,10 @@ (i32.const 188) (tee_local $16 (i32.add + (get_local $15) (i32.load (i32.const 188) ) - (get_local $14) ) ) ) @@ -4894,53 +4915,6 @@ ) ) ) - (set_local $14 - (i32.add - (tee_local $12 - (i32.add - (tee_local $0 - (loop $while-in66 (result i32) - (if (result i32) - (if (result i32) - (i32.le_u - (tee_local $4 - (i32.load - (get_local $29) - ) - ) - (get_local $13) - ) - (i32.gt_u - (tee_local $14 - (i32.add - (get_local $4) - (i32.load offset=4 - (get_local $29) - ) - ) - ) - (get_local $13) - ) - (i32.const 0) - ) - (get_local $14) - (block - (set_local $29 - (i32.load offset=8 - (get_local $29) - ) - ) - (br $while-in66) - ) - ) - ) - ) - (i32.const -47) - ) - ) - (i32.const 8) - ) - ) (set_local $4 (i32.add (tee_local $12 @@ -4948,26 +4922,72 @@ (get_local $13) (tee_local $4 (i32.add - (get_local $12) (select (i32.and (i32.sub (i32.const 0) - (get_local $14) + (tee_local $15 + (i32.add + (tee_local $12 + (i32.add + (tee_local $0 + (loop $while-in66 (result i32) + (if (result i32) + (if (result i32) + (i32.le_u + (tee_local $4 + (i32.load + (get_local $29) + ) + ) + (get_local $13) + ) + (i32.gt_u + (tee_local $15 + (i32.add + (i32.load offset=4 + (get_local $29) + ) + (get_local $4) + ) + ) + (get_local $13) + ) + (i32.const 0) + ) + (get_local $15) + (block + (set_local $29 + (i32.load offset=8 + (get_local $29) + ) + ) + (br $while-in66) + ) + ) + ) + ) + (i32.const -47) + ) + ) + (i32.const 8) + ) + ) ) (i32.const 7) ) (i32.const 0) (i32.and - (get_local $14) + (get_local $15) (i32.const 7) ) ) + (get_local $12) ) ) (i32.lt_u (get_local $4) - (tee_local $14 + (tee_local $15 (i32.add (get_local $13) (i32.const 16) @@ -4983,7 +5003,7 @@ (i32.const 200) (tee_local $2 (i32.add - (get_local $19) + (get_local $20) (tee_local $18 (select (i32.and @@ -4991,7 +5011,7 @@ (i32.const 0) (tee_local $2 (i32.add - (get_local $19) + (get_local $20) (i32.const 8) ) ) @@ -5075,7 +5095,7 @@ ) (i32.store (i32.const 624) - (get_local $19) + (get_local $20) ) (i32.store (i32.const 628) @@ -5169,17 +5189,17 @@ ) (if (i32.and - (tee_local $0 - (i32.load - (i32.const 176) - ) - ) - (tee_local $5 + (tee_local $8 (i32.shl (i32.const 1) (get_local $2) ) ) + (tee_local $0 + (i32.load + (i32.const 176) + ) + ) ) (if (i32.lt_u @@ -5212,7 +5232,7 @@ (i32.const 176) (i32.or (get_local $0) - (get_local $5) + (get_local $8) ) ) (set_local $44 @@ -5262,83 +5282,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $4) - (i32.add - (tee_local $2 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $18 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $18) + (tee_local $8 + (i32.and + (i32.shr_u + (i32.add + (get_local $18) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $4) + (i32.add + (tee_local $2 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $18 + (tee_local $0 (i32.and (i32.shr_u (i32.add - (tee_local $0 + (tee_local $1 (i32.shl + (get_local $0) (get_local $18) - (tee_local $5 - (i32.and - (i32.shr_u - (i32.add - (get_local $18) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $5) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (get_local $18) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $8) + (get_local $18) ) ) ) - ) - (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 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $2) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $2) - (i32.const 1) ) ) ) @@ -5359,23 +5382,23 @@ (i32.const 0) ) (i32.store - (get_local $14) + (get_local $15) (i32.const 0) ) (if (i32.eqz (i32.and - (tee_local $0 - (i32.load - (i32.const 180) - ) - ) (tee_local $1 (i32.shl (i32.const 1) (get_local $7) ) ) + (tee_local $0 + (i32.load + (i32.const 180) + ) + ) ) ) (block @@ -5436,13 +5459,13 @@ (block $while-out69 (result i32) (if (i32.eq + (get_local $4) (i32.and (i32.load offset=4 (get_local $0) ) (i32.const -8) ) - (get_local $4) ) (block (set_local $37 @@ -5454,7 +5477,7 @@ ) ) (if (result i32) - (tee_local $5 + (tee_local $8 (i32.load (tee_local $2 (i32.add @@ -5481,7 +5504,7 @@ ) ) (set_local $0 - (get_local $5) + (get_local $8) ) (br $while-in70) ) @@ -5596,18 +5619,18 @@ ) ) (i32.lt_u - (get_local $19) + (get_local $20) (get_local $1) ) ) (i32.store (i32.const 192) - (get_local $19) + (get_local $20) ) ) (i32.store (i32.const 624) - (get_local $19) + (get_local $20) ) (i32.store (i32.const 628) @@ -5663,7 +5686,7 @@ (i32.const 200) (tee_local $1 (i32.add - (get_local $19) + (get_local $20) (tee_local $0 (select (i32.and @@ -5671,7 +5694,7 @@ (i32.const 0) (tee_local $1 (i32.add - (get_local $19) + (get_local $20) (i32.const 8) ) ) @@ -5734,7 +5757,7 @@ (block (i32.store (i32.const 188) - (tee_local $19 + (tee_local $20 (i32.sub (get_local $21) (get_local $9) @@ -5745,19 +5768,19 @@ (i32.const 200) (tee_local $13 (i32.add + (get_local $9) (tee_local $21 (i32.load (i32.const 200) ) ) - (get_local $9) ) ) ) (i32.store offset=4 (get_local $13) (i32.or - (get_local $19) + (get_local $20) (i32.const 1) ) ) @@ -5883,8 +5906,8 @@ ) (set_local $5 (i32.add - (get_local $11) (get_local $5) + (get_local $11) ) ) (if @@ -5901,10 +5924,10 @@ ) (if (i32.eq - (get_local $1) (i32.load (i32.const 196) ) + (get_local $1) ) (block (if @@ -6006,10 +6029,10 @@ ) (if (i32.ne + (get_local $1) (i32.load offset=12 (get_local $11) ) - (get_local $1) ) (call $_abort) ) @@ -6060,6 +6083,7 @@ ) (if (i32.eq + (get_local $1) (i32.load (tee_local $4 (i32.add @@ -6068,7 +6092,6 @@ ) ) ) - (get_local $1) ) (set_local $10 (get_local $4) @@ -6107,12 +6130,12 @@ ) (if (i32.eq + (get_local $1) (tee_local $0 (i32.load offset=12 (get_local $1) ) ) - (get_local $1) ) (block $do-once0 (if @@ -6232,6 +6255,7 @@ ) (if (i32.ne + (get_local $1) (i32.load (tee_local $10 (i32.add @@ -6240,12 +6264,12 @@ ) ) ) - (get_local $1) ) (call $_abort) ) (if (i32.eq + (get_local $1) (i32.load (tee_local $4 (i32.add @@ -6254,7 +6278,6 @@ ) ) ) - (get_local $1) ) (block (i32.store @@ -6278,7 +6301,6 @@ (block (if (i32.eq - (get_local $1) (i32.load (tee_local $7 (i32.add @@ -6294,6 +6316,7 @@ ) ) ) + (get_local $1) ) (block (i32.store @@ -6342,6 +6365,7 @@ ) (if (i32.eq + (get_local $1) (i32.load (tee_local $0 (i32.add @@ -6350,7 +6374,6 @@ ) ) ) - (get_local $1) ) (i32.store (get_local $0) @@ -6533,20 +6556,20 @@ (block (result i32) (if (i32.eq - (get_local $8) (i32.load (i32.const 200) ) + (get_local $8) ) (block (i32.store (i32.const 188) (tee_local $6 (i32.add + (get_local $3) (i32.load (i32.const 188) ) - (get_local $3) ) ) ) @@ -6563,10 +6586,10 @@ ) (if (i32.ne - (get_local $2) (i32.load (i32.const 196) ) + (get_local $2) ) (return) ) @@ -6583,20 +6606,20 @@ ) (if (i32.eq - (get_local $8) (i32.load (i32.const 196) ) + (get_local $8) ) (block (i32.store (i32.const 184) (tee_local $6 (i32.add + (get_local $3) (i32.load (i32.const 184) ) - (get_local $3) ) ) ) @@ -6623,11 +6646,11 @@ ) (set_local $6 (i32.add + (get_local $3) (i32.and (get_local $1) (i32.const -8) ) - (get_local $3) ) ) (set_local $14 @@ -6650,12 +6673,12 @@ ) (if (i32.eq + (get_local $8) (tee_local $9 (i32.load offset=12 (get_local $8) ) ) - (get_local $8) ) (block $do-once6 (set_local $3 @@ -6771,6 +6794,7 @@ ) (if (i32.ne + (get_local $8) (i32.load (tee_local $10 (i32.add @@ -6779,12 +6803,12 @@ ) ) ) - (get_local $8) ) (call $_abort) ) (if (i32.eq + (get_local $8) (i32.load (tee_local $4 (i32.add @@ -6793,7 +6817,6 @@ ) ) ) - (get_local $8) ) (block (i32.store @@ -6817,7 +6840,6 @@ (block (if (i32.eq - (get_local $8) (i32.load (tee_local $5 (i32.add @@ -6833,6 +6855,7 @@ ) ) ) + (get_local $8) ) (block (i32.store @@ -6875,6 +6898,7 @@ ) (if (i32.eq + (get_local $8) (i32.load (tee_local $9 (i32.add @@ -6883,7 +6907,6 @@ ) ) ) - (get_local $8) ) (i32.store (get_local $9) @@ -7009,10 +7032,10 @@ ) (if (i32.ne + (get_local $8) (i32.load offset=12 (get_local $1) ) - (get_local $8) ) (call $_abort) ) @@ -7020,8 +7043,8 @@ ) (if (i32.eq - (get_local $9) (get_local $1) + (get_local $9) ) (block (i32.store @@ -7044,8 +7067,8 @@ ) (if (i32.ne - (get_local $9) (get_local $7) + (get_local $9) ) (block (if @@ -7059,6 +7082,7 @@ ) (if (i32.eq + (get_local $8) (i32.load (tee_local $7 (i32.add @@ -7067,7 +7091,6 @@ ) ) ) - (get_local $8) ) (set_local $16 (get_local $7) @@ -7109,10 +7132,10 @@ ) (if (result i32) (i32.eq - (get_local $2) (i32.load (i32.const 196) ) + (get_local $2) ) (block (i32.store @@ -7239,83 +7262,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $0) - (i32.add - (tee_local $5 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $15 + (i32.shl + (get_local $1) + (tee_local $13 + (i32.and + (i32.shr_u + (i32.add + (get_local $1) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $0) + (i32.add + (tee_local $5 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $1 + (tee_local $15 (i32.and (i32.shr_u (i32.add - (tee_local $15 + (tee_local $6 (i32.shl + (get_local $15) (get_local $1) - (tee_local $13 - (i32.and - (i32.shr_u - (i32.add - (get_local $1) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $13) - ) - (tee_local $15 - (i32.and - (i32.shr_u - (i32.add - (tee_local $6 - (i32.shl - (get_local $15) - (get_local $1) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $1) + (get_local $13) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $6) - (get_local $15) + (i32.shr_u + (i32.shl + (get_local $6) + (get_local $15) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $5) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $5) - (i32.const 1) ) ) ) @@ -7341,17 +7367,17 @@ ) (if (i32.and - (tee_local $15 - (i32.load - (i32.const 180) - ) - ) (tee_local $6 (i32.shl (i32.const 1) (get_local $3) ) ) + (tee_local $15 + (i32.load + (i32.const 180) + ) + ) ) (block (set_local $13 @@ -7385,13 +7411,13 @@ (block $while-out14 (result i32) (if (i32.eq + (get_local $0) (i32.and (i32.load offset=4 (get_local $1) ) (i32.const -8) ) - (get_local $0) ) (block (set_local $17 @@ -7536,8 +7562,8 @@ (i32.store (i32.const 180) (i32.or - (get_local $15) (get_local $6) + (get_local $15) ) ) (i32.store @@ -7694,8 +7720,8 @@ ) (set_local $4 (i32.add - (get_local $9) (get_local $2) + (get_local $9) ) ) (loop $while-in @@ -7815,10 +7841,10 @@ (i32.store (get_local $7) (i32.add + (get_local $6) (i32.load (get_local $7) ) - (get_local $6) ) ) (set_local $3 @@ -7871,10 +7897,10 @@ (i32.store (get_local $5) (i32.add + (get_local $6) (i32.load (get_local $5) ) - (get_local $6) ) ) (i32.store offset=4 @@ -8160,15 +8186,15 @@ (i32.store (get_local $4) (i32.add + (get_local $1) (i32.load (get_local $4) ) - (get_local $1) ) ) (i32.add - (get_local $3) (get_local $1) + (get_local $3) ) ) ) @@ -8351,21 +8377,21 @@ (loop $while-in1 (result i32) (if (result i32) (i32.and + (i32.add + (tee_local $1 + (i32.load + (get_local $2) + ) + ) + (i32.const -16843009) + ) (i32.xor (i32.and - (tee_local $1 - (i32.load - (get_local $2) - ) - ) + (get_local $1) (i32.const -2139062144) ) (i32.const -2139062144) ) - (i32.add - (get_local $1) - (i32.const -16843009) - ) ) (get_local $2) (block @@ -8900,11 +8926,11 @@ (i32.or (i32.or (i32.or - (get_local $1) (i32.shl (get_local $1) (i32.const 8) ) + (get_local $1) ) (i32.shl (get_local $1) @@ -9145,11 +9171,11 @@ (i32.store8 (get_local $1) (i32.or + (get_local $2) (i32.add (get_local $2) (i32.const 255) ) - (get_local $2) ) ) (tee_local $0 @@ -9196,10 +9222,10 @@ (i32.store offset=16 (get_local $0) (i32.add - (get_local $1) (i32.load offset=48 (get_local $0) ) + (get_local $1) ) ) (i32.const 0) @@ -9224,6 +9250,7 @@ ) ) (i32.ne + (get_local $3) (tee_local $0 (call $___fwritex (get_local $0) @@ -9231,7 +9258,6 @@ (get_local $2) ) ) - (get_local $3) ) ) (set_local $4 @@ -9386,8 +9412,8 @@ ) (set_global $STACKTOP (i32.add - (get_global $STACKTOP) (get_local $0) + (get_global $STACKTOP) ) ) (set_global $STACKTOP diff --git a/test/emcc_O2_hello_world.fromasm.clamp b/test/emcc_O2_hello_world.fromasm.clamp index 616c6ae12..02e8174a9 100644 --- a/test/emcc_O2_hello_world.fromasm.clamp +++ b/test/emcc_O2_hello_world.fromasm.clamp @@ -114,12 +114,12 @@ (i32.and (tee_local $1 (i32.shr_u - (tee_local $15 + (tee_local $14 (i32.load (i32.const 176) ) ) - (tee_local $5 + (tee_local $8 (i32.shr_u (tee_local $9 (select @@ -158,6 +158,7 @@ (i32.shl (tee_local $1 (i32.add + (get_local $8) (i32.xor (i32.and (get_local $1) @@ -165,7 +166,6 @@ ) (i32.const 1) ) - (get_local $5) ) ) (i32.const 3) @@ -200,6 +200,7 @@ ) (if (i32.eq + (get_local $0) (i32.load (tee_local $10 (i32.add @@ -208,7 +209,6 @@ ) ) ) - (get_local $0) ) (block (i32.store @@ -226,7 +226,6 @@ (i32.store (i32.const 176) (i32.and - (get_local $15) (i32.xor (i32.shl (i32.const 1) @@ -234,6 +233,7 @@ ) (i32.const -1) ) + (get_local $14) ) ) ) @@ -290,30 +290,30 @@ (tee_local $5 (i32.add (i32.and - (tee_local $3 - (i32.and - (i32.shl - (get_local $1) - (get_local $5) - ) - (i32.or - (tee_local $5 - (i32.shl - (i32.const 2) - (get_local $5) + (i32.sub + (i32.const 0) + (tee_local $3 + (i32.and + (i32.or + (i32.sub + (i32.const 0) + (tee_local $5 + (i32.shl + (i32.const 2) + (get_local $8) + ) + ) ) - ) - (i32.sub - (i32.const 0) (get_local $5) ) + (i32.shl + (get_local $1) + (get_local $8) + ) ) ) ) - (i32.sub - (i32.const 0) - (get_local $3) - ) + (get_local $3) ) (i32.const -1) ) @@ -323,109 +323,111 @@ (i32.const 16) ) ) - (set_local $3 - (i32.load - (tee_local $10 - (i32.add - (tee_local $0 - (i32.load - (tee_local $22 - (i32.add - (tee_local $11 + (set_local $5 + (i32.and + (i32.shr_u + (tee_local $10 + (i32.shr_u + (get_local $5) + (get_local $3) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $10 + (i32.and + (i32.shr_u + (tee_local $0 + (i32.shr_u + (get_local $10) + (get_local $5) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $0 + (i32.and + (i32.shr_u + (tee_local $11 + (i32.shr_u + (get_local $0) + (get_local $10) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) + (if + (i32.ne + (tee_local $3 + (i32.load + (tee_local $10 + (i32.add + (tee_local $0 + (i32.load + (tee_local $22 (i32.add - (i32.shl - (tee_local $7 - (i32.add - (i32.or - (i32.or + (tee_local $11 + (i32.add + (i32.shl + (tee_local $7 + (i32.add (i32.or - (i32.or - (tee_local $5 - (i32.and - (i32.shr_u - (tee_local $10 - (i32.shr_u - (get_local $5) - (get_local $3) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $3) - ) - (tee_local $10 + (tee_local $11 (i32.and (i32.shr_u - (tee_local $0 + (tee_local $22 (i32.shr_u - (get_local $10) - (get_local $5) + (get_local $11) + (get_local $0) ) ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (tee_local $11 - (i32.shr_u - (get_local $0) - (get_local $10) - ) + (i32.const 1) ) (i32.const 1) ) - (i32.const 2) ) - ) - ) - (tee_local $11 - (i32.and - (i32.shr_u - (tee_local $22 - (i32.shr_u - (get_local $11) - (get_local $0) + (i32.or + (get_local $0) + (i32.or + (get_local $10) + (i32.or + (get_local $3) + (get_local $5) ) ) - (i32.const 1) ) - (i32.const 1) + ) + (i32.shr_u + (get_local $22) + (get_local $11) ) ) ) - (i32.shr_u - (get_local $22) - (get_local $11) - ) + (i32.const 3) ) + (i32.const 216) ) - (i32.const 3) ) - (i32.const 216) + (i32.const 8) ) ) - (i32.const 8) ) ) + (i32.const 8) ) ) - (i32.const 8) ) ) - ) - ) - (if - (i32.ne (get_local $11) - (get_local $3) ) (block (if @@ -439,6 +441,7 @@ ) (if (i32.eq + (get_local $0) (i32.load (tee_local $5 (i32.add @@ -447,7 +450,6 @@ ) ) ) - (get_local $0) ) (block (i32.store @@ -471,7 +473,6 @@ (i32.store (i32.const 176) (i32.and - (get_local $15) (i32.xor (i32.shl (i32.const 1) @@ -479,6 +480,7 @@ ) (i32.const -1) ) + (get_local $14) ) ) (set_local $17 @@ -494,7 +496,7 @@ ) ) (i32.store offset=4 - (tee_local $15 + (tee_local $14 (i32.add (get_local $0) (get_local $9) @@ -515,8 +517,8 @@ ) (i32.store (i32.add - (get_local $15) (get_local $6) + (get_local $14) ) (get_local $6) ) @@ -544,7 +546,7 @@ ) (if (i32.and - (tee_local $5 + (tee_local $8 (i32.load (i32.const 176) ) @@ -586,8 +588,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $5) (get_local $1) + (get_local $8) ) ) (set_local $38 @@ -625,7 +627,7 @@ ) (i32.store (i32.const 196) - (get_local $15) + (get_local $14) ) (return (get_local $10) @@ -633,23 +635,23 @@ ) ) (if - (tee_local $15 + (tee_local $14 (i32.load (i32.const 180) ) ) (block - (set_local $15 + (set_local $14 (i32.and (i32.shr_u (tee_local $6 (i32.add (i32.and - (get_local $15) (i32.sub (i32.const 0) - (get_local $15) + (get_local $14) ) + (get_local $14) ) (i32.const -1) ) @@ -659,6 +661,48 @@ (i32.const 16) ) ) + (set_local $6 + (i32.and + (i32.shr_u + (tee_local $11 + (i32.shr_u + (get_local $6) + (get_local $14) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $11 + (i32.and + (i32.shr_u + (tee_local $3 + (i32.shr_u + (get_local $11) + (get_local $6) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $3 + (i32.and + (i32.shr_u + (tee_local $1 + (i32.shr_u + (get_local $3) + (get_local $11) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) (set_local $1 (i32.sub (i32.and @@ -668,59 +712,10 @@ (i32.shl (i32.add (i32.or - (i32.or - (i32.or - (i32.or - (tee_local $6 - (i32.and - (i32.shr_u - (tee_local $11 - (i32.shr_u - (get_local $6) - (get_local $15) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $15) - ) - (tee_local $11 - (i32.and - (i32.shr_u - (tee_local $3 - (i32.shr_u - (get_local $11) - (get_local $6) - ) - ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.shr_u - (get_local $3) - (get_local $11) - ) - ) - (i32.const 1) - ) - (i32.const 2) - ) - ) - ) (tee_local $1 (i32.and (i32.shr_u - (tee_local $5 + (tee_local $8 (i32.shr_u (get_local $1) (get_local $3) @@ -731,9 +726,19 @@ (i32.const 1) ) ) + (i32.or + (get_local $3) + (i32.or + (get_local $11) + (i32.or + (get_local $6) + (get_local $14) + ) + ) + ) ) (i32.shr_u - (get_local $5) + (get_local $8) (get_local $1) ) ) @@ -748,7 +753,7 @@ ) ) (set_local $3 - (tee_local $5 + (tee_local $8 (get_local $17) ) ) @@ -760,23 +765,23 @@ (i32.sub (i32.and (i32.load offset=4 - (tee_local $5 + (tee_local $8 (if (result i32) (tee_local $17 (i32.load offset=16 - (get_local $5) + (get_local $8) ) ) (get_local $17) (if (result i32) (tee_local $11 (i32.load offset=20 - (get_local $5) + (get_local $8) ) ) (get_local $11) (block - (set_local $8 + (set_local $5 (get_local $1) ) (set_local $2 @@ -805,7 +810,7 @@ ) (set_local $3 (select - (get_local $5) + (get_local $8) (get_local $3) (get_local $11) ) @@ -827,7 +832,7 @@ (if (i32.ge_u (get_local $2) - (tee_local $5 + (tee_local $8 (i32.add (get_local $2) (get_local $9) @@ -960,6 +965,7 @@ ) (if (i32.ne + (get_local $2) (i32.load (tee_local $7 (i32.add @@ -968,12 +974,12 @@ ) ) ) - (get_local $2) ) (call $_abort) ) (if (i32.eq + (get_local $2) (i32.load (tee_local $11 (i32.add @@ -982,7 +988,6 @@ ) ) ) - (get_local $2) ) (block (i32.store @@ -1006,7 +1011,6 @@ (block $do-once8 (if (i32.eq - (get_local $2) (i32.load (tee_local $3 (i32.add @@ -1022,6 +1026,7 @@ ) ) ) + (get_local $2) ) (block (i32.store @@ -1064,6 +1069,7 @@ ) (if (i32.eq + (get_local $2) (i32.load (tee_local $10 (i32.add @@ -1072,7 +1078,6 @@ ) ) ) - (get_local $2) ) (i32.store (get_local $10) @@ -1159,7 +1164,7 @@ ) (if (i32.lt_u - (get_local $8) + (get_local $5) (i32.const 16) ) (block @@ -1168,7 +1173,7 @@ (i32.or (tee_local $1 (i32.add - (get_local $8) + (get_local $5) (get_local $9) ) ) @@ -1179,8 +1184,8 @@ (tee_local $3 (i32.add (i32.add - (get_local $2) (get_local $1) + (get_local $2) ) (i32.const 4) ) @@ -1202,9 +1207,9 @@ ) ) (i32.store offset=4 - (get_local $5) + (get_local $8) (i32.or - (get_local $8) + (get_local $5) (i32.const 1) ) ) @@ -1213,7 +1218,7 @@ (get_local $5) (get_local $8) ) - (get_local $8) + (get_local $5) ) (if (tee_local $3 @@ -1320,11 +1325,11 @@ ) (i32.store (i32.const 184) - (get_local $8) + (get_local $5) ) (i32.store (i32.const 196) - (get_local $5) + (get_local $8) ) ) ) @@ -1371,7 +1376,7 @@ ) ) (if - (tee_local $15 + (tee_local $14 (i32.load offset=480 (i32.shl (tee_local $9 @@ -1388,83 +1393,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $1) - (i32.add - (tee_local $15 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $7 + (i32.and + (i32.shr_u + (i32.add + (tee_local $10 + (i32.shl + (get_local $7) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $7) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $1) + (i32.add + (tee_local $14 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $7 + (tee_local $10 (i32.and (i32.shr_u (i32.add - (tee_local $10 + (tee_local $17 (i32.shl + (get_local $10) (get_local $7) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $7) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $3) - ) - (tee_local $10 - (i32.and - (i32.shr_u - (i32.add - (tee_local $17 - (i32.shl - (get_local $10) - (get_local $7) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $3) + (get_local $7) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $17) - (get_local $10) + (i32.shr_u + (i32.shl + (get_local $17) + (get_local $10) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $14) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $15) - (i32.const 1) ) ) ) @@ -1502,7 +1510,7 @@ ) ) (set_local $7 - (get_local $15) + (get_local $14) ) (loop $while-in14 (if @@ -1525,8 +1533,8 @@ (set_local $6 (if (result i32) (i32.eq - (get_local $22) (get_local $1) + (get_local $22) ) (block (set_local $28 @@ -1587,7 +1595,7 @@ ) ) ) - (set_local $5 + (set_local $8 (if (result i32) (tee_local $0 (i32.eqz @@ -1646,10 +1654,10 @@ (tee_local $0 (if (result i32) (i32.or - (get_local $5) + (get_local $8) (get_local $31) ) - (get_local $5) + (get_local $8) (block (result i32) (drop (br_if $do-once @@ -1657,19 +1665,19 @@ (i32.eqz (tee_local $0 (i32.and - (get_local $11) (i32.or - (tee_local $15 - (i32.shl - (i32.const 2) - (get_local $9) - ) - ) (i32.sub (i32.const 0) - (get_local $15) + (tee_local $14 + (i32.shl + (i32.const 2) + (get_local $9) + ) + ) ) + (get_local $14) ) + (get_local $11) ) ) ) @@ -1678,14 +1686,14 @@ (set_local $0 (i32.and (i32.shr_u - (tee_local $15 + (tee_local $14 (i32.add (i32.and - (get_local $0) (i32.sub (i32.const 0) (get_local $0) ) + (get_local $0) ) (i32.const -1) ) @@ -1695,66 +1703,59 @@ (i32.const 16) ) ) + (set_local $14 + (i32.and + (i32.shr_u + (tee_local $9 + (i32.shr_u + (get_local $14) + (get_local $0) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $9 + (i32.and + (i32.shr_u + (tee_local $8 + (i32.shr_u + (get_local $9) + (get_local $14) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $8 + (i32.and + (i32.shr_u + (tee_local $6 + (i32.shr_u + (get_local $8) + (get_local $9) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) (i32.load offset=480 (i32.shl (i32.add (i32.or - (i32.or - (i32.or - (i32.or - (tee_local $15 - (i32.and - (i32.shr_u - (tee_local $9 - (i32.shr_u - (get_local $15) - (get_local $0) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $0) - ) - (tee_local $9 - (i32.and - (i32.shr_u - (tee_local $5 - (i32.shr_u - (get_local $9) - (get_local $15) - ) - ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $5 - (i32.and - (i32.shr_u - (tee_local $6 - (i32.shr_u - (get_local $5) - (get_local $9) - ) - ) - (i32.const 1) - ) - (i32.const 2) - ) - ) - ) (tee_local $6 (i32.and (i32.shr_u (tee_local $3 (i32.shr_u (get_local $6) - (get_local $5) + (get_local $8) ) ) (i32.const 1) @@ -1762,6 +1763,16 @@ (i32.const 1) ) ) + (i32.or + (get_local $8) + (i32.or + (get_local $9) + (i32.or + (get_local $0) + (get_local $14) + ) + ) + ) ) (i32.shr_u (get_local $3) @@ -1823,7 +1834,7 @@ (get_local $28) ) ) - (set_local $5 + (set_local $8 (select (get_local $6) (get_local $28) @@ -1845,7 +1856,7 @@ ) (block (set_local $28 - (get_local $5) + (get_local $8) ) (set_local $26 (get_local $3) @@ -1865,7 +1876,7 @@ ) (block (set_local $28 - (get_local $5) + (get_local $8) ) (set_local $30 (get_local $6) @@ -1876,7 +1887,7 @@ (set_local $12 (get_local $6) ) - (get_local $5) + (get_local $8) ) ) ) @@ -1913,14 +1924,14 @@ (get_local $12) (tee_local $6 (i32.add - (get_local $12) (get_local $1) + (get_local $12) ) ) ) (call $_abort) ) - (set_local $5 + (set_local $8 (i32.load offset=24 (get_local $12) ) @@ -1956,7 +1967,7 @@ (if (result i32) (tee_local $17 (i32.load - (tee_local $15 + (tee_local $14 (i32.add (get_local $12) (i32.const 16) @@ -1964,7 +1975,7 @@ ) ) ) - (get_local $15) + (get_local $14) (br $do-once17) ) ) @@ -2024,7 +2035,7 @@ (get_local $7) (i32.const 0) ) - (set_local $8 + (set_local $5 (get_local $17) ) ) @@ -2044,6 +2055,7 @@ ) (if (i32.ne + (get_local $12) (i32.load (tee_local $0 (i32.add @@ -2052,21 +2064,20 @@ ) ) ) - (get_local $12) ) (call $_abort) ) (if (i32.eq + (get_local $12) (i32.load - (tee_local $15 + (tee_local $14 (i32.add (get_local $3) (i32.const 8) ) ) ) - (get_local $12) ) (block (i32.store @@ -2074,10 +2085,10 @@ (get_local $3) ) (i32.store - (get_local $15) + (get_local $14) (get_local $9) ) - (set_local $8 + (set_local $5 (get_local $3) ) ) @@ -2086,11 +2097,10 @@ ) ) (if - (get_local $5) + (get_local $8) (block $do-once21 (if (i32.eq - (get_local $12) (i32.load (tee_local $11 (i32.add @@ -2106,15 +2116,16 @@ ) ) ) + (get_local $12) ) (block (i32.store (get_local $11) - (get_local $8) + (get_local $5) ) (if (i32.eqz - (get_local $8) + (get_local $5) ) (block (i32.store @@ -2139,7 +2150,7 @@ (block (if (i32.lt_u - (get_local $5) + (get_local $8) (i32.load (i32.const 192) ) @@ -2148,35 +2159,35 @@ ) (if (i32.eq + (get_local $12) (i32.load (tee_local $3 (i32.add - (get_local $5) + (get_local $8) (i32.const 16) ) ) ) - (get_local $12) ) (i32.store (get_local $3) - (get_local $8) + (get_local $5) ) (i32.store offset=20 - (get_local $5) (get_local $8) + (get_local $5) ) ) (br_if $do-once21 (i32.eqz - (get_local $8) + (get_local $5) ) ) ) ) (if (i32.lt_u - (get_local $8) + (get_local $5) (tee_local $3 (i32.load (i32.const 192) @@ -2186,8 +2197,8 @@ (call $_abort) ) (i32.store offset=24 - (get_local $8) (get_local $5) + (get_local $8) ) (if (tee_local $11 @@ -2203,12 +2214,12 @@ (call $_abort) (block (i32.store offset=16 - (get_local $8) + (get_local $5) (get_local $11) ) (i32.store offset=24 (get_local $11) - (get_local $8) + (get_local $5) ) ) ) @@ -2229,12 +2240,12 @@ (call $_abort) (block (i32.store offset=20 - (get_local $8) + (get_local $5) (get_local $11) ) (i32.store offset=24 (get_local $11) - (get_local $8) + (get_local $5) ) ) ) @@ -2263,12 +2274,12 @@ ) (i32.store (i32.add - (get_local $6) (get_local $2) + (get_local $6) ) (get_local $2) ) - (set_local $5 + (set_local $8 (i32.shr_u (get_local $2) (i32.const 3) @@ -2283,7 +2294,7 @@ (set_local $11 (i32.add (i32.shl - (get_local $5) + (get_local $8) (i32.const 3) ) (i32.const 216) @@ -2291,23 +2302,23 @@ ) (if (i32.and - (tee_local $3 - (i32.load - (i32.const 176) - ) - ) (tee_local $9 (i32.shl (i32.const 1) - (get_local $5) + (get_local $8) + ) + ) + (tee_local $3 + (i32.load + (i32.const 176) ) ) ) (if (i32.lt_u - (tee_local $15 + (tee_local $14 (i32.load - (tee_local $5 + (tee_local $8 (i32.add (get_local $11) (i32.const 8) @@ -2322,10 +2333,10 @@ (call $_abort) (block (set_local $16 - (get_local $5) + (get_local $8) ) (set_local $27 - (get_local $15) + (get_local $14) ) ) ) @@ -2367,7 +2378,7 @@ (br $do-once25) ) ) - (set_local $5 + (set_local $8 (i32.add (i32.shl (tee_local $7 @@ -2384,83 +2395,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $2) - (i32.add - (tee_local $5 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $11 + (i32.and + (i32.shr_u + (i32.add + (tee_local $3 + (i32.shl + (get_local $11) + (tee_local $9 + (i32.and + (i32.shr_u + (i32.add + (get_local $11) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $2) + (i32.add + (tee_local $8 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $11 + (tee_local $3 (i32.and (i32.shr_u (i32.add - (tee_local $3 + (tee_local $14 (i32.shl + (get_local $3) (get_local $11) - (tee_local $9 - (i32.and - (i32.shr_u - (i32.add - (get_local $11) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $9) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (tee_local $15 - (i32.shl - (get_local $3) - (get_local $11) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $9) + (get_local $11) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $15) - (get_local $3) + (i32.shr_u + (i32.shl + (get_local $14) + (get_local $3) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $8) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $5) - (i32.const 1) ) ) ) @@ -2492,17 +2506,17 @@ (if (i32.eqz (i32.and - (tee_local $3 - (i32.load - (i32.const 180) - ) - ) - (tee_local $15 + (tee_local $14 (i32.shl (i32.const 1) (get_local $7) ) ) + (tee_local $3 + (i32.load + (i32.const 180) + ) + ) ) ) (block @@ -2510,16 +2524,16 @@ (i32.const 180) (i32.or (get_local $3) - (get_local $15) + (get_local $14) ) ) (i32.store - (get_local $5) + (get_local $8) (get_local $6) ) (i32.store offset=24 (get_local $6) - (get_local $5) + (get_local $8) ) (i32.store offset=12 (get_local $6) @@ -2532,7 +2546,7 @@ (br $do-once25) ) ) - (set_local $15 + (set_local $14 (i32.shl (get_local $2) (select @@ -2553,7 +2567,7 @@ ) (set_local $3 (i32.load - (get_local $5) + (get_local $8) ) ) (if @@ -2563,16 +2577,16 @@ (block $while-out27 (result i32) (if (i32.eq + (get_local $2) (i32.and (i32.load offset=4 (get_local $3) ) (i32.const -8) ) - (get_local $2) ) (block - (set_local $14 + (set_local $15 (get_local $3) ) (br $while-out27 @@ -2583,7 +2597,7 @@ (if (result i32) (tee_local $9 (i32.load - (tee_local $5 + (tee_local $8 (i32.add (i32.add (get_local $3) @@ -2591,7 +2605,7 @@ ) (i32.shl (i32.shr_u - (get_local $15) + (get_local $14) (i32.const 31) ) (i32.const 2) @@ -2601,9 +2615,9 @@ ) ) (block - (set_local $15 + (set_local $14 (i32.shl - (get_local $15) + (get_local $14) (i32.const 1) ) ) @@ -2614,9 +2628,9 @@ ) (block (result i32) (set_local $23 - (get_local $5) + (get_local $8) ) - (set_local $20 + (set_local $19 (get_local $3) ) (i32.const 145) @@ -2642,7 +2656,7 @@ ) (i32.store offset=24 (get_local $6) - (get_local $20) + (get_local $19) ) (i32.store offset=12 (get_local $6) @@ -2662,11 +2676,11 @@ (if (i32.and (i32.ge_u - (tee_local $15 + (tee_local $14 (i32.load (tee_local $3 (i32.add - (get_local $14) + (get_local $15) (i32.const 8) ) ) @@ -2679,13 +2693,13 @@ ) ) (i32.ge_u - (get_local $14) + (get_local $15) (get_local $9) ) ) (block (i32.store offset=12 - (get_local $15) + (get_local $14) (get_local $6) ) (i32.store @@ -2694,11 +2708,11 @@ ) (i32.store offset=8 (get_local $6) - (get_local $15) + (get_local $14) ) (i32.store offset=12 (get_local $6) - (get_local $14) + (get_local $15) ) (i32.store offset=24 (get_local $6) @@ -2714,10 +2728,10 @@ (i32.store offset=4 (get_local $12) (i32.or - (tee_local $15 + (tee_local $14 (i32.add - (get_local $2) (get_local $1) + (get_local $2) ) ) (i32.const 3) @@ -2728,7 +2742,7 @@ (i32.add (i32.add (get_local $12) - (get_local $15) + (get_local $14) ) (i32.const 4) ) @@ -2769,7 +2783,7 @@ (get_local $9) ) (block - (set_local $14 + (set_local $15 (i32.load (i32.const 196) ) @@ -2787,10 +2801,10 @@ (block (i32.store (i32.const 196) - (tee_local $20 + (tee_local $19 (i32.add - (get_local $14) (get_local $9) + (get_local $15) ) ) ) @@ -2799,7 +2813,7 @@ (get_local $2) ) (i32.store offset=4 - (get_local $20) + (get_local $19) (i32.or (get_local $2) (i32.const 1) @@ -2807,13 +2821,13 @@ ) (i32.store (i32.add - (get_local $20) (get_local $2) + (get_local $19) ) (get_local $2) ) (i32.store offset=4 - (get_local $14) + (get_local $15) (i32.or (get_local $9) (i32.const 3) @@ -2830,7 +2844,7 @@ (i32.const 0) ) (i32.store offset=4 - (get_local $14) + (get_local $15) (i32.or (get_local $12) (i32.const 3) @@ -2840,8 +2854,8 @@ (tee_local $2 (i32.add (i32.add - (get_local $14) (get_local $12) + (get_local $15) ) (i32.const 4) ) @@ -2857,7 +2871,7 @@ ) (return (i32.add - (get_local $14) + (get_local $15) (i32.const 8) ) ) @@ -2865,7 +2879,7 @@ ) (if (i32.gt_u - (tee_local $14 + (tee_local $15 (i32.load (i32.const 188) ) @@ -2877,7 +2891,7 @@ (i32.const 188) (tee_local $2 (i32.sub - (get_local $14) + (get_local $15) (get_local $9) ) ) @@ -2886,12 +2900,12 @@ (i32.const 200) (tee_local $12 (i32.add - (tee_local $14 + (get_local $9) + (tee_local $15 (i32.load (i32.const 200) ) ) - (get_local $9) ) ) ) @@ -2903,7 +2917,7 @@ ) ) (i32.store offset=4 - (get_local $14) + (get_local $15) (i32.or (get_local $9) (i32.const 3) @@ -2911,7 +2925,7 @@ ) (return (i32.add - (get_local $14) + (get_local $15) (i32.const 8) ) ) @@ -2925,25 +2939,25 @@ ) (if (i32.and - (i32.add - (tee_local $14 - (call $_sysconf - (i32.const 30) - ) + (tee_local $15 + (call $_sysconf + (i32.const 30) ) + ) + (i32.add + (get_local $15) (i32.const -1) ) - (get_local $14) ) (call $_abort) (block (i32.store (i32.const 656) - (get_local $14) + (get_local $15) ) (i32.store (i32.const 652) - (get_local $14) + (get_local $15) ) (i32.store (i32.const 660) @@ -2976,37 +2990,38 @@ ) ) ) - (set_local $14 + (set_local $15 (i32.add (get_local $9) (i32.const 48) ) ) + (set_local $19 + (i32.add + (tee_local $2 + (i32.load + (i32.const 656) + ) + ) + (tee_local $12 + (i32.add + (get_local $9) + (i32.const 47) + ) + ) + ) + ) (if (i32.le_u (tee_local $2 (i32.and - (tee_local $20 - (i32.add - (tee_local $2 - (i32.load - (i32.const 656) - ) - ) - (tee_local $12 - (i32.add - (get_local $9) - (i32.const 47) - ) - ) - ) - ) (tee_local $23 (i32.sub (i32.const 0) (get_local $2) ) ) + (get_local $19) ) ) (get_local $9) @@ -3026,12 +3041,12 @@ (i32.le_u (tee_local $16 (i32.add + (get_local $2) (tee_local $27 (i32.load (i32.const 608) ) ) - (get_local $2) ) ) (get_local $27) @@ -3091,15 +3106,15 @@ ) (i32.gt_u (i32.add - (get_local $27) (i32.load - (tee_local $8 + (tee_local $5 (i32.add (get_local $16) (i32.const 4) ) ) ) + (get_local $27) ) (get_local $7) ) @@ -3109,8 +3124,8 @@ (set_local $6 (get_local $16) ) - (set_local $5 - (get_local $8) + (set_local $8 + (get_local $5) ) (br $while-out33) ) @@ -3132,61 +3147,64 @@ (i32.lt_u (tee_local $16 (i32.and + (get_local $23) (i32.sub - (get_local $20) + (get_local $19) (i32.load (i32.const 188) ) ) - (get_local $23) ) ) (i32.const 2147483647) ) - (if - (i32.eq - (tee_local $8 - (call $_sbrk - (get_local $16) - ) + (block + (set_local $5 + (call $_sbrk + (get_local $16) ) - (i32.add - (i32.load - (get_local $6) + ) + (if + (i32.eq + (i32.add + (i32.load + (get_local $6) + ) + (i32.load + (get_local $8) + ) ) - (i32.load + (get_local $5) + ) + (if + (i32.ne (get_local $5) + (i32.const -1) + ) + (block + (set_local $20 + (get_local $5) + ) + (set_local $21 + (get_local $16) + ) + (br $label$break$L257 + (i32.const 193) + ) ) - ) - ) - (if - (i32.ne - (get_local $8) - (i32.const -1) ) (block - (set_local $19 - (get_local $8) + (set_local $13 + (get_local $5) ) - (set_local $21 + (set_local $18 (get_local $16) ) - (br $label$break$L257 - (i32.const 193) + (set_local $10 + (i32.const 183) ) ) ) - (block - (set_local $13 - (get_local $8) - ) - (set_local $18 - (get_local $16) - ) - (set_local $10 - (i32.const 183) - ) - ) ) ) ) @@ -3214,7 +3232,10 @@ (set_local $0 (if (result i32) (i32.and - (tee_local $8 + (tee_local $1 + (get_local $7) + ) + (tee_local $5 (i32.add (tee_local $16 (i32.load @@ -3224,9 +3245,6 @@ (i32.const -1) ) ) - (tee_local $1 - (get_local $7) - ) ) (i32.add (i32.sub @@ -3235,8 +3253,8 @@ ) (i32.and (i32.add - (get_local $8) (get_local $1) + (get_local $5) ) (i32.sub (i32.const 0) @@ -3259,14 +3277,14 @@ ) (if (i32.and - (i32.gt_u - (get_local $0) - (get_local $9) - ) (i32.lt_u (get_local $0) (i32.const 2147483647) ) + (i32.gt_u + (get_local $0) + (get_local $9) + ) ) (block (br_if $do-once35 @@ -3278,7 +3296,7 @@ ) (i32.gt_u (get_local $1) - (tee_local $8 + (tee_local $5 (i32.load (i32.const 616) ) @@ -3286,13 +3304,13 @@ ) ) (i32.const 0) - (get_local $8) + (get_local $5) ) ) (set_local $18 (if (result i32) (i32.eq - (tee_local $8 + (tee_local $5 (call $_sbrk (get_local $0) ) @@ -3300,7 +3318,7 @@ (get_local $7) ) (block - (set_local $19 + (set_local $20 (get_local $7) ) (set_local $21 @@ -3312,7 +3330,7 @@ ) (block (result i32) (set_local $13 - (get_local $8) + (get_local $5) ) (set_local $10 (i32.const 183) @@ -3331,7 +3349,7 @@ (i32.const 183) ) (block $label$break$L279 - (set_local $8 + (set_local $5 (i32.sub (i32.const 0) (get_local $18) @@ -3341,34 +3359,34 @@ (if (result i32) (if (result i32) (i32.and - (i32.gt_u - (get_local $14) - (get_local $18) - ) (i32.and - (i32.lt_u - (get_local $18) - (i32.const 2147483647) - ) (i32.ne (get_local $13) (i32.const -1) ) + (i32.lt_u + (get_local $18) + (i32.const 2147483647) + ) + ) + (i32.gt_u + (get_local $15) + (get_local $18) ) ) (i32.lt_u (tee_local $1 (i32.and (i32.add - (i32.sub - (get_local $12) - (get_local $18) - ) (tee_local $7 (i32.load (i32.const 656) ) ) + (i32.sub + (get_local $12) + (get_local $18) + ) ) (i32.sub (i32.const 0) @@ -3390,7 +3408,7 @@ (block (drop (call $_sbrk - (get_local $8) + (get_local $5) ) ) (br $label$break$L279) @@ -3409,7 +3427,7 @@ (i32.const -1) ) (block - (set_local $19 + (set_local $20 (get_local $13) ) (set_local $21 @@ -3439,28 +3457,28 @@ ) ) (i32.and - (i32.lt_u - (tee_local $4 - (call $_sbrk - (get_local $2) - ) - ) - (tee_local $2 - (call $_sbrk - (i32.const 0) - ) - ) - ) (i32.and (i32.ne - (get_local $4) + (tee_local $4 + (call $_sbrk + (get_local $2) + ) + ) (i32.const -1) ) (i32.ne - (get_local $2) + (tee_local $2 + (call $_sbrk + (i32.const 0) + ) + ) (i32.const -1) ) ) + (i32.lt_u + (get_local $4) + (get_local $2) + ) ) (i32.const 0) ) @@ -3479,7 +3497,7 @@ (i32.const 0) ) (block - (set_local $19 + (set_local $20 (get_local $4) ) (set_local $21 @@ -3500,10 +3518,10 @@ (i32.const 608) (tee_local $13 (i32.add + (get_local $21) (i32.load (i32.const 608) ) - (get_local $21) ) ) ) @@ -3533,7 +3551,6 @@ (block $do-out (if (i32.eq - (get_local $19) (i32.add (tee_local $2 (i32.load @@ -3551,6 +3568,7 @@ ) ) ) + (get_local $20) ) (block (set_local $46 @@ -3600,7 +3618,7 @@ (i32.and (i32.lt_u (get_local $13) - (get_local $19) + (get_local $20) ) (i32.ge_u (get_local $13) @@ -3613,13 +3631,12 @@ (i32.store (get_local $47) (i32.add - (get_local $48) (get_local $21) + (get_local $48) ) ) (set_local $4 (i32.add - (get_local $13) (tee_local $12 (select (i32.and @@ -3641,17 +3658,18 @@ ) ) ) + (get_local $13) ) ) (set_local $18 (i32.add + (i32.load + (i32.const 188) + ) (i32.sub (get_local $21) (get_local $12) ) - (i32.load - (i32.const 188) - ) ) ) (i32.store @@ -3688,7 +3706,7 @@ (set_local $3 (if (result i32) (i32.lt_u - (get_local $19) + (get_local $20) (tee_local $18 (i32.load (i32.const 192) @@ -3698,16 +3716,16 @@ (block (result i32) (i32.store (i32.const 192) - (get_local $19) + (get_local $20) ) - (get_local $19) + (get_local $20) ) (get_local $18) ) ) (set_local $18 (i32.add - (get_local $19) + (get_local $20) (get_local $21) ) ) @@ -3718,10 +3736,10 @@ (block $while-out42 (if (i32.eq + (get_local $18) (i32.load (get_local $4) ) - (get_local $18) ) (block (set_local $50 @@ -3765,7 +3783,7 @@ (block (i32.store (get_local $50) - (get_local $19) + (get_local $20) ) (i32.store (tee_local $4 @@ -3775,22 +3793,21 @@ ) ) (i32.add + (get_local $21) (i32.load (get_local $4) ) - (get_local $21) ) ) (set_local $12 (i32.add - (get_local $19) (select (i32.and (i32.sub (i32.const 0) (tee_local $4 (i32.add - (get_local $19) + (get_local $20) (i32.const 8) ) ) @@ -3803,11 +3820,11 @@ (i32.const 7) ) ) + (get_local $20) ) ) (set_local $2 (i32.add - (get_local $18) (select (i32.and (i32.sub @@ -3827,15 +3844,16 @@ (i32.const 7) ) ) + (get_local $18) ) ) (set_local $4 (i32.add - (get_local $12) (get_local $9) + (get_local $12) ) ) - (set_local $14 + (set_local $15 (i32.sub (i32.sub (get_local $2) @@ -3859,20 +3877,20 @@ (block $do-once44 (if (i32.eq - (get_local $2) (i32.load (i32.const 196) ) + (get_local $2) ) (block (i32.store (i32.const 184) (tee_local $0 (i32.add + (get_local $15) (i32.load (i32.const 184) ) - (get_local $14) ) ) ) @@ -3889,8 +3907,8 @@ ) (i32.store (i32.add - (get_local $4) (get_local $0) + (get_local $4) ) (get_local $0) ) @@ -3910,7 +3928,7 @@ (i32.const 1) ) (block - (set_local $5 + (set_local $8 (i32.and (get_local $0) (i32.const -8) @@ -3936,12 +3954,12 @@ ) (if (i32.eq - (tee_local $20 + (get_local $2) + (tee_local $19 (i32.load offset=12 (get_local $2) ) ) - (get_local $2) ) (block $do-once47 (set_local $0 @@ -3950,7 +3968,7 @@ (i32.load (tee_local $1 (i32.add - (tee_local $8 + (tee_local $5 (i32.add (get_local $2) (i32.const 16) @@ -3962,7 +3980,7 @@ ) ) (block (result i32) - (set_local $8 + (set_local $5 (get_local $1) ) (get_local $7) @@ -3970,7 +3988,7 @@ (if (result i32) (tee_local $16 (i32.load - (get_local $8) + (get_local $5) ) ) (get_local $16) @@ -3994,7 +4012,7 @@ (set_local $0 (get_local $7) ) - (set_local $8 + (set_local $5 (get_local $1) ) (br $while-in50) @@ -4015,7 +4033,7 @@ (set_local $0 (get_local $7) ) - (set_local $8 + (set_local $5 (get_local $1) ) (br $while-in50) @@ -4024,13 +4042,13 @@ ) (if (i32.lt_u - (get_local $8) + (get_local $5) (get_local $3) ) (call $_abort) (block (i32.store - (get_local $8) + (get_local $5) (i32.const 0) ) (set_local $25 @@ -4053,6 +4071,7 @@ ) (if (i32.ne + (get_local $2) (i32.load (tee_local $7 (i32.add @@ -4061,33 +4080,32 @@ ) ) ) - (get_local $2) ) (call $_abort) ) (if (i32.eq + (get_local $2) (i32.load - (tee_local $8 + (tee_local $5 (i32.add - (get_local $20) + (get_local $19) (i32.const 8) ) ) ) - (get_local $2) ) (block (i32.store (get_local $7) - (get_local $20) + (get_local $19) ) (i32.store - (get_local $8) + (get_local $5) (get_local $1) ) (set_local $25 - (get_local $20) + (get_local $19) ) ) (call $_abort) @@ -4101,12 +4119,11 @@ ) (if (i32.ne - (get_local $2) (i32.load (tee_local $1 (i32.add (i32.shl - (tee_local $20 + (tee_local $19 (i32.load offset=28 (get_local $2) ) @@ -4117,6 +4134,7 @@ ) ) ) + (get_local $2) ) (block (if @@ -4130,18 +4148,18 @@ ) (if (i32.eq + (get_local $2) (i32.load - (tee_local $8 + (tee_local $5 (i32.add (get_local $23) (i32.const 16) ) ) ) - (get_local $2) ) (i32.store - (get_local $8) + (get_local $5) (get_local $25) ) (i32.store offset=20 @@ -4172,7 +4190,7 @@ (i32.xor (i32.shl (i32.const 1) - (get_local $20) + (get_local $19) ) (i32.const -1) ) @@ -4184,7 +4202,7 @@ (if (i32.lt_u (get_local $25) - (tee_local $20 + (tee_local $19 (i32.load (i32.const 192) ) @@ -4197,7 +4215,7 @@ (get_local $23) ) (if - (tee_local $8 + (tee_local $5 (i32.load (tee_local $1 (i32.add @@ -4209,17 +4227,17 @@ ) (if (i32.lt_u - (get_local $8) - (get_local $20) + (get_local $5) + (get_local $19) ) (call $_abort) (block (i32.store offset=16 (get_local $25) - (get_local $8) + (get_local $5) ) (i32.store offset=24 - (get_local $8) + (get_local $5) (get_local $25) ) ) @@ -4227,7 +4245,7 @@ ) (br_if $label$break$L331 (i32.eqz - (tee_local $8 + (tee_local $5 (i32.load offset=4 (get_local $1) ) @@ -4236,7 +4254,7 @@ ) (if (i32.lt_u - (get_local $8) + (get_local $5) (i32.load (i32.const 192) ) @@ -4245,24 +4263,24 @@ (block (i32.store offset=20 (get_local $25) - (get_local $8) + (get_local $5) ) (i32.store offset=24 - (get_local $8) + (get_local $5) (get_local $25) ) ) ) ) (block - (set_local $20 + (set_local $19 (i32.load offset=12 (get_local $2) ) ) (if (i32.ne - (tee_local $8 + (tee_local $5 (i32.load offset=8 (get_local $2) ) @@ -4280,17 +4298,17 @@ (block $do-once55 (if (i32.lt_u - (get_local $8) + (get_local $5) (get_local $3) ) (call $_abort) ) (br_if $do-once55 (i32.eq + (get_local $2) (i32.load offset=12 - (get_local $8) + (get_local $5) ) - (get_local $2) ) ) (call $_abort) @@ -4298,8 +4316,8 @@ ) (if (i32.eq - (get_local $20) - (get_local $8) + (get_local $5) + (get_local $19) ) (block (i32.store @@ -4322,34 +4340,34 @@ ) (if (i32.eq - (get_local $20) + (get_local $19) (get_local $23) ) (set_local $41 (i32.add - (get_local $20) + (get_local $19) (i32.const 8) ) ) (block $do-once57 (if (i32.lt_u - (get_local $20) + (get_local $19) (get_local $3) ) (call $_abort) ) (if (i32.eq + (get_local $2) (i32.load (tee_local $1 (i32.add - (get_local $20) + (get_local $19) (i32.const 8) ) ) ) - (get_local $2) ) (block (set_local $41 @@ -4362,12 +4380,12 @@ ) ) (i32.store offset=12 - (get_local $8) - (get_local $20) + (get_local $5) + (get_local $19) ) (i32.store (get_local $41) - (get_local $8) + (get_local $5) ) ) ) @@ -4375,13 +4393,13 @@ (set_local $2 (i32.add (get_local $2) - (get_local $5) + (get_local $8) ) ) - (set_local $14 + (set_local $15 (i32.add - (get_local $5) - (get_local $14) + (get_local $8) + (get_local $15) ) ) ) @@ -4403,26 +4421,26 @@ (i32.store offset=4 (get_local $4) (i32.or - (get_local $14) + (get_local $15) (i32.const 1) ) ) (i32.store (i32.add (get_local $4) - (get_local $14) + (get_local $15) ) - (get_local $14) + (get_local $15) ) (set_local $6 (i32.shr_u - (get_local $14) + (get_local $15) (i32.const 3) ) ) (if (i32.lt_u - (get_local $14) + (get_local $15) (i32.const 256) ) (block @@ -4437,17 +4455,17 @@ ) (if (i32.and - (tee_local $23 - (i32.load - (i32.const 176) - ) - ) (tee_local $1 (i32.shl (i32.const 1) (get_local $6) ) ) + (tee_local $23 + (i32.load + (i32.const 176) + ) + ) ) (block $do-once59 (if @@ -4482,8 +4500,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $23) (get_local $1) + (get_local $23) ) ) (set_local $42 @@ -4523,93 +4541,96 @@ (if (result i32) (tee_local $1 (i32.shr_u - (get_local $14) + (get_local $15) (i32.const 8) ) ) (if (result i32) (i32.gt_u - (get_local $14) + (get_local $15) (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $14) - (i32.add - (tee_local $16 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $7 + (i32.and + (i32.shr_u + (i32.add + (tee_local $8 + (i32.shl + (get_local $1) + (tee_local $23 + (i32.and + (i32.shr_u + (i32.add + (get_local $1) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $15) + (i32.add + (tee_local $16 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $7 + (tee_local $8 (i32.and (i32.shr_u (i32.add - (tee_local $5 + (tee_local $6 (i32.shl - (get_local $1) - (tee_local $23 - (i32.and - (i32.shr_u - (i32.add - (get_local $1) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) + (get_local $8) + (get_local $7) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $23) - ) - (tee_local $5 - (i32.and - (i32.shr_u - (i32.add - (tee_local $6 - (i32.shl - (get_local $5) - (get_local $7) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $7) + (get_local $23) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $6) - (get_local $5) + (i32.shr_u + (i32.shl + (get_local $6) + (get_local $8) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $16) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $16) - (i32.const 1) ) ) ) @@ -4641,17 +4662,17 @@ (if (i32.eqz (i32.and - (tee_local $0 - (i32.load - (i32.const 180) - ) - ) (tee_local $16 (i32.shl (i32.const 1) (get_local $7) ) ) + (tee_local $0 + (i32.load + (i32.const 180) + ) + ) ) ) (block @@ -4683,7 +4704,7 @@ ) (set_local $16 (i32.shl - (get_local $14) + (get_local $15) (select (i32.const 0) (i32.sub @@ -4712,13 +4733,13 @@ (block $while-out63 (result i32) (if (i32.eq + (get_local $15) (i32.and (i32.load offset=4 (get_local $0) ) (i32.const -8) ) - (get_local $14) ) (block (set_local $35 @@ -4730,7 +4751,7 @@ ) ) (if (result i32) - (tee_local $5 + (tee_local $8 (i32.load (tee_local $1 (i32.add @@ -4757,7 +4778,7 @@ ) ) (set_local $0 - (get_local $5) + (get_local $8) ) (br $while-in64) ) @@ -4821,7 +4842,7 @@ ) ) ) - (tee_local $5 + (tee_local $8 (i32.load (i32.const 192) ) @@ -4829,7 +4850,7 @@ ) (i32.ge_u (get_local $35) - (get_local $5) + (get_local $8) ) ) (block @@ -4864,10 +4885,10 @@ (i32.const 188) (tee_local $16 (i32.add + (get_local $15) (i32.load (i32.const 188) ) - (get_local $14) ) ) ) @@ -4894,53 +4915,6 @@ ) ) ) - (set_local $14 - (i32.add - (tee_local $12 - (i32.add - (tee_local $0 - (loop $while-in66 (result i32) - (if (result i32) - (if (result i32) - (i32.le_u - (tee_local $4 - (i32.load - (get_local $29) - ) - ) - (get_local $13) - ) - (i32.gt_u - (tee_local $14 - (i32.add - (get_local $4) - (i32.load offset=4 - (get_local $29) - ) - ) - ) - (get_local $13) - ) - (i32.const 0) - ) - (get_local $14) - (block - (set_local $29 - (i32.load offset=8 - (get_local $29) - ) - ) - (br $while-in66) - ) - ) - ) - ) - (i32.const -47) - ) - ) - (i32.const 8) - ) - ) (set_local $4 (i32.add (tee_local $12 @@ -4948,26 +4922,72 @@ (get_local $13) (tee_local $4 (i32.add - (get_local $12) (select (i32.and (i32.sub (i32.const 0) - (get_local $14) + (tee_local $15 + (i32.add + (tee_local $12 + (i32.add + (tee_local $0 + (loop $while-in66 (result i32) + (if (result i32) + (if (result i32) + (i32.le_u + (tee_local $4 + (i32.load + (get_local $29) + ) + ) + (get_local $13) + ) + (i32.gt_u + (tee_local $15 + (i32.add + (i32.load offset=4 + (get_local $29) + ) + (get_local $4) + ) + ) + (get_local $13) + ) + (i32.const 0) + ) + (get_local $15) + (block + (set_local $29 + (i32.load offset=8 + (get_local $29) + ) + ) + (br $while-in66) + ) + ) + ) + ) + (i32.const -47) + ) + ) + (i32.const 8) + ) + ) ) (i32.const 7) ) (i32.const 0) (i32.and - (get_local $14) + (get_local $15) (i32.const 7) ) ) + (get_local $12) ) ) (i32.lt_u (get_local $4) - (tee_local $14 + (tee_local $15 (i32.add (get_local $13) (i32.const 16) @@ -4983,7 +5003,7 @@ (i32.const 200) (tee_local $2 (i32.add - (get_local $19) + (get_local $20) (tee_local $18 (select (i32.and @@ -4991,7 +5011,7 @@ (i32.const 0) (tee_local $2 (i32.add - (get_local $19) + (get_local $20) (i32.const 8) ) ) @@ -5075,7 +5095,7 @@ ) (i32.store (i32.const 624) - (get_local $19) + (get_local $20) ) (i32.store (i32.const 628) @@ -5169,17 +5189,17 @@ ) (if (i32.and - (tee_local $0 - (i32.load - (i32.const 176) - ) - ) - (tee_local $5 + (tee_local $8 (i32.shl (i32.const 1) (get_local $2) ) ) + (tee_local $0 + (i32.load + (i32.const 176) + ) + ) ) (if (i32.lt_u @@ -5212,7 +5232,7 @@ (i32.const 176) (i32.or (get_local $0) - (get_local $5) + (get_local $8) ) ) (set_local $44 @@ -5262,83 +5282,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $4) - (i32.add - (tee_local $2 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $18 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $18) + (tee_local $8 + (i32.and + (i32.shr_u + (i32.add + (get_local $18) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $4) + (i32.add + (tee_local $2 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $18 + (tee_local $0 (i32.and (i32.shr_u (i32.add - (tee_local $0 + (tee_local $1 (i32.shl + (get_local $0) (get_local $18) - (tee_local $5 - (i32.and - (i32.shr_u - (i32.add - (get_local $18) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $5) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (get_local $18) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $8) + (get_local $18) ) ) ) - ) - (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 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $2) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $2) - (i32.const 1) ) ) ) @@ -5359,23 +5382,23 @@ (i32.const 0) ) (i32.store - (get_local $14) + (get_local $15) (i32.const 0) ) (if (i32.eqz (i32.and - (tee_local $0 - (i32.load - (i32.const 180) - ) - ) (tee_local $1 (i32.shl (i32.const 1) (get_local $7) ) ) + (tee_local $0 + (i32.load + (i32.const 180) + ) + ) ) ) (block @@ -5436,13 +5459,13 @@ (block $while-out69 (result i32) (if (i32.eq + (get_local $4) (i32.and (i32.load offset=4 (get_local $0) ) (i32.const -8) ) - (get_local $4) ) (block (set_local $37 @@ -5454,7 +5477,7 @@ ) ) (if (result i32) - (tee_local $5 + (tee_local $8 (i32.load (tee_local $2 (i32.add @@ -5481,7 +5504,7 @@ ) ) (set_local $0 - (get_local $5) + (get_local $8) ) (br $while-in70) ) @@ -5596,18 +5619,18 @@ ) ) (i32.lt_u - (get_local $19) + (get_local $20) (get_local $1) ) ) (i32.store (i32.const 192) - (get_local $19) + (get_local $20) ) ) (i32.store (i32.const 624) - (get_local $19) + (get_local $20) ) (i32.store (i32.const 628) @@ -5663,7 +5686,7 @@ (i32.const 200) (tee_local $1 (i32.add - (get_local $19) + (get_local $20) (tee_local $0 (select (i32.and @@ -5671,7 +5694,7 @@ (i32.const 0) (tee_local $1 (i32.add - (get_local $19) + (get_local $20) (i32.const 8) ) ) @@ -5734,7 +5757,7 @@ (block (i32.store (i32.const 188) - (tee_local $19 + (tee_local $20 (i32.sub (get_local $21) (get_local $9) @@ -5745,19 +5768,19 @@ (i32.const 200) (tee_local $13 (i32.add + (get_local $9) (tee_local $21 (i32.load (i32.const 200) ) ) - (get_local $9) ) ) ) (i32.store offset=4 (get_local $13) (i32.or - (get_local $19) + (get_local $20) (i32.const 1) ) ) @@ -5883,8 +5906,8 @@ ) (set_local $5 (i32.add - (get_local $11) (get_local $5) + (get_local $11) ) ) (if @@ -5901,10 +5924,10 @@ ) (if (i32.eq - (get_local $1) (i32.load (i32.const 196) ) + (get_local $1) ) (block (if @@ -6006,10 +6029,10 @@ ) (if (i32.ne + (get_local $1) (i32.load offset=12 (get_local $11) ) - (get_local $1) ) (call $_abort) ) @@ -6060,6 +6083,7 @@ ) (if (i32.eq + (get_local $1) (i32.load (tee_local $4 (i32.add @@ -6068,7 +6092,6 @@ ) ) ) - (get_local $1) ) (set_local $10 (get_local $4) @@ -6107,12 +6130,12 @@ ) (if (i32.eq + (get_local $1) (tee_local $0 (i32.load offset=12 (get_local $1) ) ) - (get_local $1) ) (block $do-once0 (if @@ -6232,6 +6255,7 @@ ) (if (i32.ne + (get_local $1) (i32.load (tee_local $10 (i32.add @@ -6240,12 +6264,12 @@ ) ) ) - (get_local $1) ) (call $_abort) ) (if (i32.eq + (get_local $1) (i32.load (tee_local $4 (i32.add @@ -6254,7 +6278,6 @@ ) ) ) - (get_local $1) ) (block (i32.store @@ -6278,7 +6301,6 @@ (block (if (i32.eq - (get_local $1) (i32.load (tee_local $7 (i32.add @@ -6294,6 +6316,7 @@ ) ) ) + (get_local $1) ) (block (i32.store @@ -6342,6 +6365,7 @@ ) (if (i32.eq + (get_local $1) (i32.load (tee_local $0 (i32.add @@ -6350,7 +6374,6 @@ ) ) ) - (get_local $1) ) (i32.store (get_local $0) @@ -6533,20 +6556,20 @@ (block (result i32) (if (i32.eq - (get_local $8) (i32.load (i32.const 200) ) + (get_local $8) ) (block (i32.store (i32.const 188) (tee_local $6 (i32.add + (get_local $3) (i32.load (i32.const 188) ) - (get_local $3) ) ) ) @@ -6563,10 +6586,10 @@ ) (if (i32.ne - (get_local $2) (i32.load (i32.const 196) ) + (get_local $2) ) (return) ) @@ -6583,20 +6606,20 @@ ) (if (i32.eq - (get_local $8) (i32.load (i32.const 196) ) + (get_local $8) ) (block (i32.store (i32.const 184) (tee_local $6 (i32.add + (get_local $3) (i32.load (i32.const 184) ) - (get_local $3) ) ) ) @@ -6623,11 +6646,11 @@ ) (set_local $6 (i32.add + (get_local $3) (i32.and (get_local $1) (i32.const -8) ) - (get_local $3) ) ) (set_local $14 @@ -6650,12 +6673,12 @@ ) (if (i32.eq + (get_local $8) (tee_local $9 (i32.load offset=12 (get_local $8) ) ) - (get_local $8) ) (block $do-once6 (set_local $3 @@ -6771,6 +6794,7 @@ ) (if (i32.ne + (get_local $8) (i32.load (tee_local $10 (i32.add @@ -6779,12 +6803,12 @@ ) ) ) - (get_local $8) ) (call $_abort) ) (if (i32.eq + (get_local $8) (i32.load (tee_local $4 (i32.add @@ -6793,7 +6817,6 @@ ) ) ) - (get_local $8) ) (block (i32.store @@ -6817,7 +6840,6 @@ (block (if (i32.eq - (get_local $8) (i32.load (tee_local $5 (i32.add @@ -6833,6 +6855,7 @@ ) ) ) + (get_local $8) ) (block (i32.store @@ -6875,6 +6898,7 @@ ) (if (i32.eq + (get_local $8) (i32.load (tee_local $9 (i32.add @@ -6883,7 +6907,6 @@ ) ) ) - (get_local $8) ) (i32.store (get_local $9) @@ -7009,10 +7032,10 @@ ) (if (i32.ne + (get_local $8) (i32.load offset=12 (get_local $1) ) - (get_local $8) ) (call $_abort) ) @@ -7020,8 +7043,8 @@ ) (if (i32.eq - (get_local $9) (get_local $1) + (get_local $9) ) (block (i32.store @@ -7044,8 +7067,8 @@ ) (if (i32.ne - (get_local $9) (get_local $7) + (get_local $9) ) (block (if @@ -7059,6 +7082,7 @@ ) (if (i32.eq + (get_local $8) (i32.load (tee_local $7 (i32.add @@ -7067,7 +7091,6 @@ ) ) ) - (get_local $8) ) (set_local $16 (get_local $7) @@ -7109,10 +7132,10 @@ ) (if (result i32) (i32.eq - (get_local $2) (i32.load (i32.const 196) ) + (get_local $2) ) (block (i32.store @@ -7239,83 +7262,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $0) - (i32.add - (tee_local $5 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $15 + (i32.shl + (get_local $1) + (tee_local $13 + (i32.and + (i32.shr_u + (i32.add + (get_local $1) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $0) + (i32.add + (tee_local $5 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $1 + (tee_local $15 (i32.and (i32.shr_u (i32.add - (tee_local $15 + (tee_local $6 (i32.shl + (get_local $15) (get_local $1) - (tee_local $13 - (i32.and - (i32.shr_u - (i32.add - (get_local $1) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $13) - ) - (tee_local $15 - (i32.and - (i32.shr_u - (i32.add - (tee_local $6 - (i32.shl - (get_local $15) - (get_local $1) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $1) + (get_local $13) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $6) - (get_local $15) + (i32.shr_u + (i32.shl + (get_local $6) + (get_local $15) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $5) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $5) - (i32.const 1) ) ) ) @@ -7341,17 +7367,17 @@ ) (if (i32.and - (tee_local $15 - (i32.load - (i32.const 180) - ) - ) (tee_local $6 (i32.shl (i32.const 1) (get_local $3) ) ) + (tee_local $15 + (i32.load + (i32.const 180) + ) + ) ) (block (set_local $13 @@ -7385,13 +7411,13 @@ (block $while-out14 (result i32) (if (i32.eq + (get_local $0) (i32.and (i32.load offset=4 (get_local $1) ) (i32.const -8) ) - (get_local $0) ) (block (set_local $17 @@ -7536,8 +7562,8 @@ (i32.store (i32.const 180) (i32.or - (get_local $15) (get_local $6) + (get_local $15) ) ) (i32.store @@ -7694,8 +7720,8 @@ ) (set_local $4 (i32.add - (get_local $9) (get_local $2) + (get_local $9) ) ) (loop $while-in @@ -7815,10 +7841,10 @@ (i32.store (get_local $7) (i32.add + (get_local $6) (i32.load (get_local $7) ) - (get_local $6) ) ) (set_local $3 @@ -7871,10 +7897,10 @@ (i32.store (get_local $5) (i32.add + (get_local $6) (i32.load (get_local $5) ) - (get_local $6) ) ) (i32.store offset=4 @@ -8160,15 +8186,15 @@ (i32.store (get_local $4) (i32.add + (get_local $1) (i32.load (get_local $4) ) - (get_local $1) ) ) (i32.add - (get_local $3) (get_local $1) + (get_local $3) ) ) ) @@ -8351,21 +8377,21 @@ (loop $while-in1 (result i32) (if (result i32) (i32.and + (i32.add + (tee_local $1 + (i32.load + (get_local $2) + ) + ) + (i32.const -16843009) + ) (i32.xor (i32.and - (tee_local $1 - (i32.load - (get_local $2) - ) - ) + (get_local $1) (i32.const -2139062144) ) (i32.const -2139062144) ) - (i32.add - (get_local $1) - (i32.const -16843009) - ) ) (get_local $2) (block @@ -8900,11 +8926,11 @@ (i32.or (i32.or (i32.or - (get_local $1) (i32.shl (get_local $1) (i32.const 8) ) + (get_local $1) ) (i32.shl (get_local $1) @@ -9145,11 +9171,11 @@ (i32.store8 (get_local $1) (i32.or + (get_local $2) (i32.add (get_local $2) (i32.const 255) ) - (get_local $2) ) ) (tee_local $0 @@ -9196,10 +9222,10 @@ (i32.store offset=16 (get_local $0) (i32.add - (get_local $1) (i32.load offset=48 (get_local $0) ) + (get_local $1) ) ) (i32.const 0) @@ -9224,6 +9250,7 @@ ) ) (i32.ne + (get_local $3) (tee_local $0 (call $___fwritex (get_local $0) @@ -9231,7 +9258,6 @@ (get_local $2) ) ) - (get_local $3) ) ) (set_local $4 @@ -9386,8 +9412,8 @@ ) (set_global $STACKTOP (i32.add - (get_global $STACKTOP) (get_local $0) + (get_global $STACKTOP) ) ) (set_global $STACKTOP diff --git a/test/emcc_O2_hello_world.fromasm.imprecise b/test/emcc_O2_hello_world.fromasm.imprecise index 57857f966..f098efba5 100644 --- a/test/emcc_O2_hello_world.fromasm.imprecise +++ b/test/emcc_O2_hello_world.fromasm.imprecise @@ -113,12 +113,12 @@ (i32.and (tee_local $1 (i32.shr_u - (tee_local $15 + (tee_local $14 (i32.load (i32.const 176) ) ) - (tee_local $5 + (tee_local $8 (i32.shr_u (tee_local $9 (select @@ -157,6 +157,7 @@ (i32.shl (tee_local $1 (i32.add + (get_local $8) (i32.xor (i32.and (get_local $1) @@ -164,7 +165,6 @@ ) (i32.const 1) ) - (get_local $5) ) ) (i32.const 3) @@ -199,6 +199,7 @@ ) (if (i32.eq + (get_local $0) (i32.load (tee_local $10 (i32.add @@ -207,7 +208,6 @@ ) ) ) - (get_local $0) ) (block (i32.store @@ -225,7 +225,6 @@ (i32.store (i32.const 176) (i32.and - (get_local $15) (i32.xor (i32.shl (i32.const 1) @@ -233,6 +232,7 @@ ) (i32.const -1) ) + (get_local $14) ) ) ) @@ -289,30 +289,30 @@ (tee_local $5 (i32.add (i32.and - (tee_local $3 - (i32.and - (i32.shl - (get_local $1) - (get_local $5) - ) - (i32.or - (tee_local $5 - (i32.shl - (i32.const 2) - (get_local $5) + (i32.sub + (i32.const 0) + (tee_local $3 + (i32.and + (i32.or + (i32.sub + (i32.const 0) + (tee_local $5 + (i32.shl + (i32.const 2) + (get_local $8) + ) + ) ) - ) - (i32.sub - (i32.const 0) (get_local $5) ) + (i32.shl + (get_local $1) + (get_local $8) + ) ) ) ) - (i32.sub - (i32.const 0) - (get_local $3) - ) + (get_local $3) ) (i32.const -1) ) @@ -322,109 +322,111 @@ (i32.const 16) ) ) - (set_local $3 - (i32.load - (tee_local $10 - (i32.add - (tee_local $0 - (i32.load - (tee_local $22 - (i32.add - (tee_local $11 + (set_local $5 + (i32.and + (i32.shr_u + (tee_local $10 + (i32.shr_u + (get_local $5) + (get_local $3) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $10 + (i32.and + (i32.shr_u + (tee_local $0 + (i32.shr_u + (get_local $10) + (get_local $5) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $0 + (i32.and + (i32.shr_u + (tee_local $11 + (i32.shr_u + (get_local $0) + (get_local $10) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) + (if + (i32.ne + (tee_local $3 + (i32.load + (tee_local $10 + (i32.add + (tee_local $0 + (i32.load + (tee_local $22 (i32.add - (i32.shl - (tee_local $7 - (i32.add - (i32.or - (i32.or + (tee_local $11 + (i32.add + (i32.shl + (tee_local $7 + (i32.add (i32.or - (i32.or - (tee_local $5 - (i32.and - (i32.shr_u - (tee_local $10 - (i32.shr_u - (get_local $5) - (get_local $3) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $3) - ) - (tee_local $10 + (tee_local $11 (i32.and (i32.shr_u - (tee_local $0 + (tee_local $22 (i32.shr_u - (get_local $10) - (get_local $5) + (get_local $11) + (get_local $0) ) ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (tee_local $11 - (i32.shr_u - (get_local $0) - (get_local $10) - ) + (i32.const 1) ) (i32.const 1) ) - (i32.const 2) ) - ) - ) - (tee_local $11 - (i32.and - (i32.shr_u - (tee_local $22 - (i32.shr_u - (get_local $11) - (get_local $0) + (i32.or + (get_local $0) + (i32.or + (get_local $10) + (i32.or + (get_local $3) + (get_local $5) ) ) - (i32.const 1) ) - (i32.const 1) + ) + (i32.shr_u + (get_local $22) + (get_local $11) ) ) ) - (i32.shr_u - (get_local $22) - (get_local $11) - ) + (i32.const 3) ) + (i32.const 216) ) - (i32.const 3) ) - (i32.const 216) + (i32.const 8) ) ) - (i32.const 8) ) ) + (i32.const 8) ) ) - (i32.const 8) ) ) - ) - ) - (if - (i32.ne (get_local $11) - (get_local $3) ) (block (if @@ -438,6 +440,7 @@ ) (if (i32.eq + (get_local $0) (i32.load (tee_local $5 (i32.add @@ -446,7 +449,6 @@ ) ) ) - (get_local $0) ) (block (i32.store @@ -470,7 +472,6 @@ (i32.store (i32.const 176) (i32.and - (get_local $15) (i32.xor (i32.shl (i32.const 1) @@ -478,6 +479,7 @@ ) (i32.const -1) ) + (get_local $14) ) ) (set_local $17 @@ -493,7 +495,7 @@ ) ) (i32.store offset=4 - (tee_local $15 + (tee_local $14 (i32.add (get_local $0) (get_local $9) @@ -514,8 +516,8 @@ ) (i32.store (i32.add - (get_local $15) (get_local $6) + (get_local $14) ) (get_local $6) ) @@ -543,7 +545,7 @@ ) (if (i32.and - (tee_local $5 + (tee_local $8 (i32.load (i32.const 176) ) @@ -585,8 +587,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $5) (get_local $1) + (get_local $8) ) ) (set_local $38 @@ -624,7 +626,7 @@ ) (i32.store (i32.const 196) - (get_local $15) + (get_local $14) ) (return (get_local $10) @@ -632,23 +634,23 @@ ) ) (if - (tee_local $15 + (tee_local $14 (i32.load (i32.const 180) ) ) (block - (set_local $15 + (set_local $14 (i32.and (i32.shr_u (tee_local $6 (i32.add (i32.and - (get_local $15) (i32.sub (i32.const 0) - (get_local $15) + (get_local $14) ) + (get_local $14) ) (i32.const -1) ) @@ -658,6 +660,48 @@ (i32.const 16) ) ) + (set_local $6 + (i32.and + (i32.shr_u + (tee_local $11 + (i32.shr_u + (get_local $6) + (get_local $14) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $11 + (i32.and + (i32.shr_u + (tee_local $3 + (i32.shr_u + (get_local $11) + (get_local $6) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $3 + (i32.and + (i32.shr_u + (tee_local $1 + (i32.shr_u + (get_local $3) + (get_local $11) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) (set_local $1 (i32.sub (i32.and @@ -667,59 +711,10 @@ (i32.shl (i32.add (i32.or - (i32.or - (i32.or - (i32.or - (tee_local $6 - (i32.and - (i32.shr_u - (tee_local $11 - (i32.shr_u - (get_local $6) - (get_local $15) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $15) - ) - (tee_local $11 - (i32.and - (i32.shr_u - (tee_local $3 - (i32.shr_u - (get_local $11) - (get_local $6) - ) - ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.shr_u - (get_local $3) - (get_local $11) - ) - ) - (i32.const 1) - ) - (i32.const 2) - ) - ) - ) (tee_local $1 (i32.and (i32.shr_u - (tee_local $5 + (tee_local $8 (i32.shr_u (get_local $1) (get_local $3) @@ -730,9 +725,19 @@ (i32.const 1) ) ) + (i32.or + (get_local $3) + (i32.or + (get_local $11) + (i32.or + (get_local $6) + (get_local $14) + ) + ) + ) ) (i32.shr_u - (get_local $5) + (get_local $8) (get_local $1) ) ) @@ -747,7 +752,7 @@ ) ) (set_local $3 - (tee_local $5 + (tee_local $8 (get_local $17) ) ) @@ -759,23 +764,23 @@ (i32.sub (i32.and (i32.load offset=4 - (tee_local $5 + (tee_local $8 (if (result i32) (tee_local $17 (i32.load offset=16 - (get_local $5) + (get_local $8) ) ) (get_local $17) (if (result i32) (tee_local $11 (i32.load offset=20 - (get_local $5) + (get_local $8) ) ) (get_local $11) (block - (set_local $8 + (set_local $5 (get_local $1) ) (set_local $2 @@ -804,7 +809,7 @@ ) (set_local $3 (select - (get_local $5) + (get_local $8) (get_local $3) (get_local $11) ) @@ -826,7 +831,7 @@ (if (i32.ge_u (get_local $2) - (tee_local $5 + (tee_local $8 (i32.add (get_local $2) (get_local $9) @@ -959,6 +964,7 @@ ) (if (i32.ne + (get_local $2) (i32.load (tee_local $7 (i32.add @@ -967,12 +973,12 @@ ) ) ) - (get_local $2) ) (call $_abort) ) (if (i32.eq + (get_local $2) (i32.load (tee_local $11 (i32.add @@ -981,7 +987,6 @@ ) ) ) - (get_local $2) ) (block (i32.store @@ -1005,7 +1010,6 @@ (block $do-once8 (if (i32.eq - (get_local $2) (i32.load (tee_local $3 (i32.add @@ -1021,6 +1025,7 @@ ) ) ) + (get_local $2) ) (block (i32.store @@ -1063,6 +1068,7 @@ ) (if (i32.eq + (get_local $2) (i32.load (tee_local $10 (i32.add @@ -1071,7 +1077,6 @@ ) ) ) - (get_local $2) ) (i32.store (get_local $10) @@ -1158,7 +1163,7 @@ ) (if (i32.lt_u - (get_local $8) + (get_local $5) (i32.const 16) ) (block @@ -1167,7 +1172,7 @@ (i32.or (tee_local $1 (i32.add - (get_local $8) + (get_local $5) (get_local $9) ) ) @@ -1178,8 +1183,8 @@ (tee_local $3 (i32.add (i32.add - (get_local $2) (get_local $1) + (get_local $2) ) (i32.const 4) ) @@ -1201,9 +1206,9 @@ ) ) (i32.store offset=4 - (get_local $5) + (get_local $8) (i32.or - (get_local $8) + (get_local $5) (i32.const 1) ) ) @@ -1212,7 +1217,7 @@ (get_local $5) (get_local $8) ) - (get_local $8) + (get_local $5) ) (if (tee_local $3 @@ -1319,11 +1324,11 @@ ) (i32.store (i32.const 184) - (get_local $8) + (get_local $5) ) (i32.store (i32.const 196) - (get_local $5) + (get_local $8) ) ) ) @@ -1370,7 +1375,7 @@ ) ) (if - (tee_local $15 + (tee_local $14 (i32.load offset=480 (i32.shl (tee_local $9 @@ -1387,83 +1392,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $1) - (i32.add - (tee_local $15 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $7 + (i32.and + (i32.shr_u + (i32.add + (tee_local $10 + (i32.shl + (get_local $7) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $7) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $1) + (i32.add + (tee_local $14 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $7 + (tee_local $10 (i32.and (i32.shr_u (i32.add - (tee_local $10 + (tee_local $17 (i32.shl + (get_local $10) (get_local $7) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $7) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $3) - ) - (tee_local $10 - (i32.and - (i32.shr_u - (i32.add - (tee_local $17 - (i32.shl - (get_local $10) - (get_local $7) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $3) + (get_local $7) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $17) - (get_local $10) + (i32.shr_u + (i32.shl + (get_local $17) + (get_local $10) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $14) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $15) - (i32.const 1) ) ) ) @@ -1501,7 +1509,7 @@ ) ) (set_local $7 - (get_local $15) + (get_local $14) ) (loop $while-in14 (if @@ -1524,8 +1532,8 @@ (set_local $6 (if (result i32) (i32.eq - (get_local $22) (get_local $1) + (get_local $22) ) (block (set_local $28 @@ -1586,7 +1594,7 @@ ) ) ) - (set_local $5 + (set_local $8 (if (result i32) (tee_local $0 (i32.eqz @@ -1645,10 +1653,10 @@ (tee_local $0 (if (result i32) (i32.or - (get_local $5) + (get_local $8) (get_local $31) ) - (get_local $5) + (get_local $8) (block (result i32) (drop (br_if $do-once @@ -1656,19 +1664,19 @@ (i32.eqz (tee_local $0 (i32.and - (get_local $11) (i32.or - (tee_local $15 - (i32.shl - (i32.const 2) - (get_local $9) - ) - ) (i32.sub (i32.const 0) - (get_local $15) + (tee_local $14 + (i32.shl + (i32.const 2) + (get_local $9) + ) + ) ) + (get_local $14) ) + (get_local $11) ) ) ) @@ -1677,14 +1685,14 @@ (set_local $0 (i32.and (i32.shr_u - (tee_local $15 + (tee_local $14 (i32.add (i32.and - (get_local $0) (i32.sub (i32.const 0) (get_local $0) ) + (get_local $0) ) (i32.const -1) ) @@ -1694,66 +1702,59 @@ (i32.const 16) ) ) + (set_local $14 + (i32.and + (i32.shr_u + (tee_local $9 + (i32.shr_u + (get_local $14) + (get_local $0) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $9 + (i32.and + (i32.shr_u + (tee_local $8 + (i32.shr_u + (get_local $9) + (get_local $14) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $8 + (i32.and + (i32.shr_u + (tee_local $6 + (i32.shr_u + (get_local $8) + (get_local $9) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) (i32.load offset=480 (i32.shl (i32.add (i32.or - (i32.or - (i32.or - (i32.or - (tee_local $15 - (i32.and - (i32.shr_u - (tee_local $9 - (i32.shr_u - (get_local $15) - (get_local $0) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $0) - ) - (tee_local $9 - (i32.and - (i32.shr_u - (tee_local $5 - (i32.shr_u - (get_local $9) - (get_local $15) - ) - ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $5 - (i32.and - (i32.shr_u - (tee_local $6 - (i32.shr_u - (get_local $5) - (get_local $9) - ) - ) - (i32.const 1) - ) - (i32.const 2) - ) - ) - ) (tee_local $6 (i32.and (i32.shr_u (tee_local $3 (i32.shr_u (get_local $6) - (get_local $5) + (get_local $8) ) ) (i32.const 1) @@ -1761,6 +1762,16 @@ (i32.const 1) ) ) + (i32.or + (get_local $8) + (i32.or + (get_local $9) + (i32.or + (get_local $0) + (get_local $14) + ) + ) + ) ) (i32.shr_u (get_local $3) @@ -1822,7 +1833,7 @@ (get_local $28) ) ) - (set_local $5 + (set_local $8 (select (get_local $6) (get_local $28) @@ -1844,7 +1855,7 @@ ) (block (set_local $28 - (get_local $5) + (get_local $8) ) (set_local $26 (get_local $3) @@ -1864,7 +1875,7 @@ ) (block (set_local $28 - (get_local $5) + (get_local $8) ) (set_local $30 (get_local $6) @@ -1875,7 +1886,7 @@ (set_local $12 (get_local $6) ) - (get_local $5) + (get_local $8) ) ) ) @@ -1912,14 +1923,14 @@ (get_local $12) (tee_local $6 (i32.add - (get_local $12) (get_local $1) + (get_local $12) ) ) ) (call $_abort) ) - (set_local $5 + (set_local $8 (i32.load offset=24 (get_local $12) ) @@ -1955,7 +1966,7 @@ (if (result i32) (tee_local $17 (i32.load - (tee_local $15 + (tee_local $14 (i32.add (get_local $12) (i32.const 16) @@ -1963,7 +1974,7 @@ ) ) ) - (get_local $15) + (get_local $14) (br $do-once17) ) ) @@ -2023,7 +2034,7 @@ (get_local $7) (i32.const 0) ) - (set_local $8 + (set_local $5 (get_local $17) ) ) @@ -2043,6 +2054,7 @@ ) (if (i32.ne + (get_local $12) (i32.load (tee_local $0 (i32.add @@ -2051,21 +2063,20 @@ ) ) ) - (get_local $12) ) (call $_abort) ) (if (i32.eq + (get_local $12) (i32.load - (tee_local $15 + (tee_local $14 (i32.add (get_local $3) (i32.const 8) ) ) ) - (get_local $12) ) (block (i32.store @@ -2073,10 +2084,10 @@ (get_local $3) ) (i32.store - (get_local $15) + (get_local $14) (get_local $9) ) - (set_local $8 + (set_local $5 (get_local $3) ) ) @@ -2085,11 +2096,10 @@ ) ) (if - (get_local $5) + (get_local $8) (block $do-once21 (if (i32.eq - (get_local $12) (i32.load (tee_local $11 (i32.add @@ -2105,15 +2115,16 @@ ) ) ) + (get_local $12) ) (block (i32.store (get_local $11) - (get_local $8) + (get_local $5) ) (if (i32.eqz - (get_local $8) + (get_local $5) ) (block (i32.store @@ -2138,7 +2149,7 @@ (block (if (i32.lt_u - (get_local $5) + (get_local $8) (i32.load (i32.const 192) ) @@ -2147,35 +2158,35 @@ ) (if (i32.eq + (get_local $12) (i32.load (tee_local $3 (i32.add - (get_local $5) + (get_local $8) (i32.const 16) ) ) ) - (get_local $12) ) (i32.store (get_local $3) - (get_local $8) + (get_local $5) ) (i32.store offset=20 - (get_local $5) (get_local $8) + (get_local $5) ) ) (br_if $do-once21 (i32.eqz - (get_local $8) + (get_local $5) ) ) ) ) (if (i32.lt_u - (get_local $8) + (get_local $5) (tee_local $3 (i32.load (i32.const 192) @@ -2185,8 +2196,8 @@ (call $_abort) ) (i32.store offset=24 - (get_local $8) (get_local $5) + (get_local $8) ) (if (tee_local $11 @@ -2202,12 +2213,12 @@ (call $_abort) (block (i32.store offset=16 - (get_local $8) + (get_local $5) (get_local $11) ) (i32.store offset=24 (get_local $11) - (get_local $8) + (get_local $5) ) ) ) @@ -2228,12 +2239,12 @@ (call $_abort) (block (i32.store offset=20 - (get_local $8) + (get_local $5) (get_local $11) ) (i32.store offset=24 (get_local $11) - (get_local $8) + (get_local $5) ) ) ) @@ -2262,12 +2273,12 @@ ) (i32.store (i32.add - (get_local $6) (get_local $2) + (get_local $6) ) (get_local $2) ) - (set_local $5 + (set_local $8 (i32.shr_u (get_local $2) (i32.const 3) @@ -2282,7 +2293,7 @@ (set_local $11 (i32.add (i32.shl - (get_local $5) + (get_local $8) (i32.const 3) ) (i32.const 216) @@ -2290,23 +2301,23 @@ ) (if (i32.and - (tee_local $3 - (i32.load - (i32.const 176) - ) - ) (tee_local $9 (i32.shl (i32.const 1) - (get_local $5) + (get_local $8) + ) + ) + (tee_local $3 + (i32.load + (i32.const 176) ) ) ) (if (i32.lt_u - (tee_local $15 + (tee_local $14 (i32.load - (tee_local $5 + (tee_local $8 (i32.add (get_local $11) (i32.const 8) @@ -2321,10 +2332,10 @@ (call $_abort) (block (set_local $16 - (get_local $5) + (get_local $8) ) (set_local $27 - (get_local $15) + (get_local $14) ) ) ) @@ -2366,7 +2377,7 @@ (br $do-once25) ) ) - (set_local $5 + (set_local $8 (i32.add (i32.shl (tee_local $7 @@ -2383,83 +2394,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $2) - (i32.add - (tee_local $5 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $11 + (i32.and + (i32.shr_u + (i32.add + (tee_local $3 + (i32.shl + (get_local $11) + (tee_local $9 + (i32.and + (i32.shr_u + (i32.add + (get_local $11) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $2) + (i32.add + (tee_local $8 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $11 + (tee_local $3 (i32.and (i32.shr_u (i32.add - (tee_local $3 + (tee_local $14 (i32.shl + (get_local $3) (get_local $11) - (tee_local $9 - (i32.and - (i32.shr_u - (i32.add - (get_local $11) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $9) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (tee_local $15 - (i32.shl - (get_local $3) - (get_local $11) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $9) + (get_local $11) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $15) - (get_local $3) + (i32.shr_u + (i32.shl + (get_local $14) + (get_local $3) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $8) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $5) - (i32.const 1) ) ) ) @@ -2491,17 +2505,17 @@ (if (i32.eqz (i32.and - (tee_local $3 - (i32.load - (i32.const 180) - ) - ) - (tee_local $15 + (tee_local $14 (i32.shl (i32.const 1) (get_local $7) ) ) + (tee_local $3 + (i32.load + (i32.const 180) + ) + ) ) ) (block @@ -2509,16 +2523,16 @@ (i32.const 180) (i32.or (get_local $3) - (get_local $15) + (get_local $14) ) ) (i32.store - (get_local $5) + (get_local $8) (get_local $6) ) (i32.store offset=24 (get_local $6) - (get_local $5) + (get_local $8) ) (i32.store offset=12 (get_local $6) @@ -2531,7 +2545,7 @@ (br $do-once25) ) ) - (set_local $15 + (set_local $14 (i32.shl (get_local $2) (select @@ -2552,7 +2566,7 @@ ) (set_local $3 (i32.load - (get_local $5) + (get_local $8) ) ) (if @@ -2562,16 +2576,16 @@ (block $while-out27 (result i32) (if (i32.eq + (get_local $2) (i32.and (i32.load offset=4 (get_local $3) ) (i32.const -8) ) - (get_local $2) ) (block - (set_local $14 + (set_local $15 (get_local $3) ) (br $while-out27 @@ -2582,7 +2596,7 @@ (if (result i32) (tee_local $9 (i32.load - (tee_local $5 + (tee_local $8 (i32.add (i32.add (get_local $3) @@ -2590,7 +2604,7 @@ ) (i32.shl (i32.shr_u - (get_local $15) + (get_local $14) (i32.const 31) ) (i32.const 2) @@ -2600,9 +2614,9 @@ ) ) (block - (set_local $15 + (set_local $14 (i32.shl - (get_local $15) + (get_local $14) (i32.const 1) ) ) @@ -2613,9 +2627,9 @@ ) (block (result i32) (set_local $23 - (get_local $5) + (get_local $8) ) - (set_local $20 + (set_local $19 (get_local $3) ) (i32.const 145) @@ -2641,7 +2655,7 @@ ) (i32.store offset=24 (get_local $6) - (get_local $20) + (get_local $19) ) (i32.store offset=12 (get_local $6) @@ -2661,11 +2675,11 @@ (if (i32.and (i32.ge_u - (tee_local $15 + (tee_local $14 (i32.load (tee_local $3 (i32.add - (get_local $14) + (get_local $15) (i32.const 8) ) ) @@ -2678,13 +2692,13 @@ ) ) (i32.ge_u - (get_local $14) + (get_local $15) (get_local $9) ) ) (block (i32.store offset=12 - (get_local $15) + (get_local $14) (get_local $6) ) (i32.store @@ -2693,11 +2707,11 @@ ) (i32.store offset=8 (get_local $6) - (get_local $15) + (get_local $14) ) (i32.store offset=12 (get_local $6) - (get_local $14) + (get_local $15) ) (i32.store offset=24 (get_local $6) @@ -2713,10 +2727,10 @@ (i32.store offset=4 (get_local $12) (i32.or - (tee_local $15 + (tee_local $14 (i32.add - (get_local $2) (get_local $1) + (get_local $2) ) ) (i32.const 3) @@ -2727,7 +2741,7 @@ (i32.add (i32.add (get_local $12) - (get_local $15) + (get_local $14) ) (i32.const 4) ) @@ -2768,7 +2782,7 @@ (get_local $9) ) (block - (set_local $14 + (set_local $15 (i32.load (i32.const 196) ) @@ -2786,10 +2800,10 @@ (block (i32.store (i32.const 196) - (tee_local $20 + (tee_local $19 (i32.add - (get_local $14) (get_local $9) + (get_local $15) ) ) ) @@ -2798,7 +2812,7 @@ (get_local $2) ) (i32.store offset=4 - (get_local $20) + (get_local $19) (i32.or (get_local $2) (i32.const 1) @@ -2806,13 +2820,13 @@ ) (i32.store (i32.add - (get_local $20) (get_local $2) + (get_local $19) ) (get_local $2) ) (i32.store offset=4 - (get_local $14) + (get_local $15) (i32.or (get_local $9) (i32.const 3) @@ -2829,7 +2843,7 @@ (i32.const 0) ) (i32.store offset=4 - (get_local $14) + (get_local $15) (i32.or (get_local $12) (i32.const 3) @@ -2839,8 +2853,8 @@ (tee_local $2 (i32.add (i32.add - (get_local $14) (get_local $12) + (get_local $15) ) (i32.const 4) ) @@ -2856,7 +2870,7 @@ ) (return (i32.add - (get_local $14) + (get_local $15) (i32.const 8) ) ) @@ -2864,7 +2878,7 @@ ) (if (i32.gt_u - (tee_local $14 + (tee_local $15 (i32.load (i32.const 188) ) @@ -2876,7 +2890,7 @@ (i32.const 188) (tee_local $2 (i32.sub - (get_local $14) + (get_local $15) (get_local $9) ) ) @@ -2885,12 +2899,12 @@ (i32.const 200) (tee_local $12 (i32.add - (tee_local $14 + (get_local $9) + (tee_local $15 (i32.load (i32.const 200) ) ) - (get_local $9) ) ) ) @@ -2902,7 +2916,7 @@ ) ) (i32.store offset=4 - (get_local $14) + (get_local $15) (i32.or (get_local $9) (i32.const 3) @@ -2910,7 +2924,7 @@ ) (return (i32.add - (get_local $14) + (get_local $15) (i32.const 8) ) ) @@ -2924,25 +2938,25 @@ ) (if (i32.and - (i32.add - (tee_local $14 - (call $_sysconf - (i32.const 30) - ) + (tee_local $15 + (call $_sysconf + (i32.const 30) ) + ) + (i32.add + (get_local $15) (i32.const -1) ) - (get_local $14) ) (call $_abort) (block (i32.store (i32.const 656) - (get_local $14) + (get_local $15) ) (i32.store (i32.const 652) - (get_local $14) + (get_local $15) ) (i32.store (i32.const 660) @@ -2975,37 +2989,38 @@ ) ) ) - (set_local $14 + (set_local $15 (i32.add (get_local $9) (i32.const 48) ) ) + (set_local $19 + (i32.add + (tee_local $2 + (i32.load + (i32.const 656) + ) + ) + (tee_local $12 + (i32.add + (get_local $9) + (i32.const 47) + ) + ) + ) + ) (if (i32.le_u (tee_local $2 (i32.and - (tee_local $20 - (i32.add - (tee_local $2 - (i32.load - (i32.const 656) - ) - ) - (tee_local $12 - (i32.add - (get_local $9) - (i32.const 47) - ) - ) - ) - ) (tee_local $23 (i32.sub (i32.const 0) (get_local $2) ) ) + (get_local $19) ) ) (get_local $9) @@ -3025,12 +3040,12 @@ (i32.le_u (tee_local $16 (i32.add + (get_local $2) (tee_local $27 (i32.load (i32.const 608) ) ) - (get_local $2) ) ) (get_local $27) @@ -3090,15 +3105,15 @@ ) (i32.gt_u (i32.add - (get_local $27) (i32.load - (tee_local $8 + (tee_local $5 (i32.add (get_local $16) (i32.const 4) ) ) ) + (get_local $27) ) (get_local $7) ) @@ -3108,8 +3123,8 @@ (set_local $6 (get_local $16) ) - (set_local $5 - (get_local $8) + (set_local $8 + (get_local $5) ) (br $while-out33) ) @@ -3131,61 +3146,64 @@ (i32.lt_u (tee_local $16 (i32.and + (get_local $23) (i32.sub - (get_local $20) + (get_local $19) (i32.load (i32.const 188) ) ) - (get_local $23) ) ) (i32.const 2147483647) ) - (if - (i32.eq - (tee_local $8 - (call $_sbrk - (get_local $16) - ) + (block + (set_local $5 + (call $_sbrk + (get_local $16) ) - (i32.add - (i32.load - (get_local $6) + ) + (if + (i32.eq + (i32.add + (i32.load + (get_local $6) + ) + (i32.load + (get_local $8) + ) ) - (i32.load + (get_local $5) + ) + (if + (i32.ne (get_local $5) + (i32.const -1) + ) + (block + (set_local $20 + (get_local $5) + ) + (set_local $21 + (get_local $16) + ) + (br $label$break$L257 + (i32.const 193) + ) ) - ) - ) - (if - (i32.ne - (get_local $8) - (i32.const -1) ) (block - (set_local $19 - (get_local $8) + (set_local $13 + (get_local $5) ) - (set_local $21 + (set_local $18 (get_local $16) ) - (br $label$break$L257 - (i32.const 193) + (set_local $10 + (i32.const 183) ) ) ) - (block - (set_local $13 - (get_local $8) - ) - (set_local $18 - (get_local $16) - ) - (set_local $10 - (i32.const 183) - ) - ) ) ) ) @@ -3213,7 +3231,10 @@ (set_local $0 (if (result i32) (i32.and - (tee_local $8 + (tee_local $1 + (get_local $7) + ) + (tee_local $5 (i32.add (tee_local $16 (i32.load @@ -3223,9 +3244,6 @@ (i32.const -1) ) ) - (tee_local $1 - (get_local $7) - ) ) (i32.add (i32.sub @@ -3234,8 +3252,8 @@ ) (i32.and (i32.add - (get_local $8) (get_local $1) + (get_local $5) ) (i32.sub (i32.const 0) @@ -3258,14 +3276,14 @@ ) (if (i32.and - (i32.gt_u - (get_local $0) - (get_local $9) - ) (i32.lt_u (get_local $0) (i32.const 2147483647) ) + (i32.gt_u + (get_local $0) + (get_local $9) + ) ) (block (br_if $do-once35 @@ -3277,7 +3295,7 @@ ) (i32.gt_u (get_local $1) - (tee_local $8 + (tee_local $5 (i32.load (i32.const 616) ) @@ -3285,13 +3303,13 @@ ) ) (i32.const 0) - (get_local $8) + (get_local $5) ) ) (set_local $18 (if (result i32) (i32.eq - (tee_local $8 + (tee_local $5 (call $_sbrk (get_local $0) ) @@ -3299,7 +3317,7 @@ (get_local $7) ) (block - (set_local $19 + (set_local $20 (get_local $7) ) (set_local $21 @@ -3311,7 +3329,7 @@ ) (block (result i32) (set_local $13 - (get_local $8) + (get_local $5) ) (set_local $10 (i32.const 183) @@ -3330,7 +3348,7 @@ (i32.const 183) ) (block $label$break$L279 - (set_local $8 + (set_local $5 (i32.sub (i32.const 0) (get_local $18) @@ -3340,34 +3358,34 @@ (if (result i32) (if (result i32) (i32.and - (i32.gt_u - (get_local $14) - (get_local $18) - ) (i32.and - (i32.lt_u - (get_local $18) - (i32.const 2147483647) - ) (i32.ne (get_local $13) (i32.const -1) ) + (i32.lt_u + (get_local $18) + (i32.const 2147483647) + ) + ) + (i32.gt_u + (get_local $15) + (get_local $18) ) ) (i32.lt_u (tee_local $1 (i32.and (i32.add - (i32.sub - (get_local $12) - (get_local $18) - ) (tee_local $7 (i32.load (i32.const 656) ) ) + (i32.sub + (get_local $12) + (get_local $18) + ) ) (i32.sub (i32.const 0) @@ -3389,7 +3407,7 @@ (block (drop (call $_sbrk - (get_local $8) + (get_local $5) ) ) (br $label$break$L279) @@ -3408,7 +3426,7 @@ (i32.const -1) ) (block - (set_local $19 + (set_local $20 (get_local $13) ) (set_local $21 @@ -3438,28 +3456,28 @@ ) ) (i32.and - (i32.lt_u - (tee_local $4 - (call $_sbrk - (get_local $2) - ) - ) - (tee_local $2 - (call $_sbrk - (i32.const 0) - ) - ) - ) (i32.and (i32.ne - (get_local $4) + (tee_local $4 + (call $_sbrk + (get_local $2) + ) + ) (i32.const -1) ) (i32.ne - (get_local $2) + (tee_local $2 + (call $_sbrk + (i32.const 0) + ) + ) (i32.const -1) ) ) + (i32.lt_u + (get_local $4) + (get_local $2) + ) ) (i32.const 0) ) @@ -3478,7 +3496,7 @@ (i32.const 0) ) (block - (set_local $19 + (set_local $20 (get_local $4) ) (set_local $21 @@ -3499,10 +3517,10 @@ (i32.const 608) (tee_local $13 (i32.add + (get_local $21) (i32.load (i32.const 608) ) - (get_local $21) ) ) ) @@ -3532,7 +3550,6 @@ (block $do-out (if (i32.eq - (get_local $19) (i32.add (tee_local $2 (i32.load @@ -3550,6 +3567,7 @@ ) ) ) + (get_local $20) ) (block (set_local $46 @@ -3584,7 +3602,7 @@ (i32.and (i32.lt_u (get_local $13) - (get_local $19) + (get_local $20) ) (i32.ge_u (get_local $13) @@ -3612,13 +3630,12 @@ (i32.store (get_local $47) (i32.add - (get_local $48) (get_local $21) + (get_local $48) ) ) (set_local $4 (i32.add - (get_local $13) (tee_local $12 (select (i32.and @@ -3640,17 +3657,18 @@ ) ) ) + (get_local $13) ) ) (set_local $18 (i32.add + (i32.load + (i32.const 188) + ) (i32.sub (get_local $21) (get_local $12) ) - (i32.load - (i32.const 188) - ) ) ) (i32.store @@ -3687,7 +3705,7 @@ (set_local $3 (if (result i32) (i32.lt_u - (get_local $19) + (get_local $20) (tee_local $18 (i32.load (i32.const 192) @@ -3697,16 +3715,16 @@ (block (result i32) (i32.store (i32.const 192) - (get_local $19) + (get_local $20) ) - (get_local $19) + (get_local $20) ) (get_local $18) ) ) (set_local $18 (i32.add - (get_local $19) + (get_local $20) (get_local $21) ) ) @@ -3717,10 +3735,10 @@ (block $while-out42 (if (i32.eq + (get_local $18) (i32.load (get_local $4) ) - (get_local $18) ) (block (set_local $50 @@ -3764,7 +3782,7 @@ (block (i32.store (get_local $50) - (get_local $19) + (get_local $20) ) (i32.store (tee_local $4 @@ -3774,22 +3792,21 @@ ) ) (i32.add + (get_local $21) (i32.load (get_local $4) ) - (get_local $21) ) ) (set_local $12 (i32.add - (get_local $19) (select (i32.and (i32.sub (i32.const 0) (tee_local $4 (i32.add - (get_local $19) + (get_local $20) (i32.const 8) ) ) @@ -3802,11 +3819,11 @@ (i32.const 7) ) ) + (get_local $20) ) ) (set_local $2 (i32.add - (get_local $18) (select (i32.and (i32.sub @@ -3826,15 +3843,16 @@ (i32.const 7) ) ) + (get_local $18) ) ) (set_local $4 (i32.add - (get_local $12) (get_local $9) + (get_local $12) ) ) - (set_local $14 + (set_local $15 (i32.sub (i32.sub (get_local $2) @@ -3858,20 +3876,20 @@ (block $do-once44 (if (i32.eq - (get_local $2) (i32.load (i32.const 196) ) + (get_local $2) ) (block (i32.store (i32.const 184) (tee_local $0 (i32.add + (get_local $15) (i32.load (i32.const 184) ) - (get_local $14) ) ) ) @@ -3888,8 +3906,8 @@ ) (i32.store (i32.add - (get_local $4) (get_local $0) + (get_local $4) ) (get_local $0) ) @@ -3909,7 +3927,7 @@ (i32.const 1) ) (block - (set_local $5 + (set_local $8 (i32.and (get_local $0) (i32.const -8) @@ -3935,12 +3953,12 @@ ) (if (i32.eq - (tee_local $20 + (get_local $2) + (tee_local $19 (i32.load offset=12 (get_local $2) ) ) - (get_local $2) ) (block $do-once47 (set_local $0 @@ -3949,7 +3967,7 @@ (i32.load (tee_local $1 (i32.add - (tee_local $8 + (tee_local $5 (i32.add (get_local $2) (i32.const 16) @@ -3961,7 +3979,7 @@ ) ) (block (result i32) - (set_local $8 + (set_local $5 (get_local $1) ) (get_local $7) @@ -3969,7 +3987,7 @@ (if (result i32) (tee_local $16 (i32.load - (get_local $8) + (get_local $5) ) ) (get_local $16) @@ -3993,7 +4011,7 @@ (set_local $0 (get_local $7) ) - (set_local $8 + (set_local $5 (get_local $1) ) (br $while-in50) @@ -4014,7 +4032,7 @@ (set_local $0 (get_local $7) ) - (set_local $8 + (set_local $5 (get_local $1) ) (br $while-in50) @@ -4023,13 +4041,13 @@ ) (if (i32.lt_u - (get_local $8) + (get_local $5) (get_local $3) ) (call $_abort) (block (i32.store - (get_local $8) + (get_local $5) (i32.const 0) ) (set_local $25 @@ -4052,6 +4070,7 @@ ) (if (i32.ne + (get_local $2) (i32.load (tee_local $7 (i32.add @@ -4060,33 +4079,32 @@ ) ) ) - (get_local $2) ) (call $_abort) ) (if (i32.eq + (get_local $2) (i32.load - (tee_local $8 + (tee_local $5 (i32.add - (get_local $20) + (get_local $19) (i32.const 8) ) ) ) - (get_local $2) ) (block (i32.store (get_local $7) - (get_local $20) + (get_local $19) ) (i32.store - (get_local $8) + (get_local $5) (get_local $1) ) (set_local $25 - (get_local $20) + (get_local $19) ) ) (call $_abort) @@ -4100,12 +4118,11 @@ ) (if (i32.ne - (get_local $2) (i32.load (tee_local $1 (i32.add (i32.shl - (tee_local $20 + (tee_local $19 (i32.load offset=28 (get_local $2) ) @@ -4116,6 +4133,7 @@ ) ) ) + (get_local $2) ) (block (if @@ -4129,18 +4147,18 @@ ) (if (i32.eq + (get_local $2) (i32.load - (tee_local $8 + (tee_local $5 (i32.add (get_local $23) (i32.const 16) ) ) ) - (get_local $2) ) (i32.store - (get_local $8) + (get_local $5) (get_local $25) ) (i32.store offset=20 @@ -4171,7 +4189,7 @@ (i32.xor (i32.shl (i32.const 1) - (get_local $20) + (get_local $19) ) (i32.const -1) ) @@ -4183,7 +4201,7 @@ (if (i32.lt_u (get_local $25) - (tee_local $20 + (tee_local $19 (i32.load (i32.const 192) ) @@ -4196,7 +4214,7 @@ (get_local $23) ) (if - (tee_local $8 + (tee_local $5 (i32.load (tee_local $1 (i32.add @@ -4208,17 +4226,17 @@ ) (if (i32.lt_u - (get_local $8) - (get_local $20) + (get_local $5) + (get_local $19) ) (call $_abort) (block (i32.store offset=16 (get_local $25) - (get_local $8) + (get_local $5) ) (i32.store offset=24 - (get_local $8) + (get_local $5) (get_local $25) ) ) @@ -4226,7 +4244,7 @@ ) (br_if $label$break$L331 (i32.eqz - (tee_local $8 + (tee_local $5 (i32.load offset=4 (get_local $1) ) @@ -4235,7 +4253,7 @@ ) (if (i32.lt_u - (get_local $8) + (get_local $5) (i32.load (i32.const 192) ) @@ -4244,24 +4262,24 @@ (block (i32.store offset=20 (get_local $25) - (get_local $8) + (get_local $5) ) (i32.store offset=24 - (get_local $8) + (get_local $5) (get_local $25) ) ) ) ) (block - (set_local $20 + (set_local $19 (i32.load offset=12 (get_local $2) ) ) (if (i32.ne - (tee_local $8 + (tee_local $5 (i32.load offset=8 (get_local $2) ) @@ -4279,17 +4297,17 @@ (block $do-once55 (if (i32.lt_u - (get_local $8) + (get_local $5) (get_local $3) ) (call $_abort) ) (br_if $do-once55 (i32.eq + (get_local $2) (i32.load offset=12 - (get_local $8) + (get_local $5) ) - (get_local $2) ) ) (call $_abort) @@ -4297,8 +4315,8 @@ ) (if (i32.eq - (get_local $20) - (get_local $8) + (get_local $5) + (get_local $19) ) (block (i32.store @@ -4321,34 +4339,34 @@ ) (if (i32.eq - (get_local $20) + (get_local $19) (get_local $23) ) (set_local $41 (i32.add - (get_local $20) + (get_local $19) (i32.const 8) ) ) (block $do-once57 (if (i32.lt_u - (get_local $20) + (get_local $19) (get_local $3) ) (call $_abort) ) (if (i32.eq + (get_local $2) (i32.load (tee_local $1 (i32.add - (get_local $20) + (get_local $19) (i32.const 8) ) ) ) - (get_local $2) ) (block (set_local $41 @@ -4361,12 +4379,12 @@ ) ) (i32.store offset=12 - (get_local $8) - (get_local $20) + (get_local $5) + (get_local $19) ) (i32.store (get_local $41) - (get_local $8) + (get_local $5) ) ) ) @@ -4374,13 +4392,13 @@ (set_local $2 (i32.add (get_local $2) - (get_local $5) + (get_local $8) ) ) - (set_local $14 + (set_local $15 (i32.add - (get_local $5) - (get_local $14) + (get_local $8) + (get_local $15) ) ) ) @@ -4402,26 +4420,26 @@ (i32.store offset=4 (get_local $4) (i32.or - (get_local $14) + (get_local $15) (i32.const 1) ) ) (i32.store (i32.add (get_local $4) - (get_local $14) + (get_local $15) ) - (get_local $14) + (get_local $15) ) (set_local $6 (i32.shr_u - (get_local $14) + (get_local $15) (i32.const 3) ) ) (if (i32.lt_u - (get_local $14) + (get_local $15) (i32.const 256) ) (block @@ -4436,17 +4454,17 @@ ) (if (i32.and - (tee_local $23 - (i32.load - (i32.const 176) - ) - ) (tee_local $1 (i32.shl (i32.const 1) (get_local $6) ) ) + (tee_local $23 + (i32.load + (i32.const 176) + ) + ) ) (block $do-once59 (if @@ -4481,8 +4499,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $23) (get_local $1) + (get_local $23) ) ) (set_local $42 @@ -4522,93 +4540,96 @@ (if (result i32) (tee_local $1 (i32.shr_u - (get_local $14) + (get_local $15) (i32.const 8) ) ) (if (result i32) (i32.gt_u - (get_local $14) + (get_local $15) (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $14) - (i32.add - (tee_local $16 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $7 + (i32.and + (i32.shr_u + (i32.add + (tee_local $8 + (i32.shl + (get_local $1) + (tee_local $23 + (i32.and + (i32.shr_u + (i32.add + (get_local $1) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $15) + (i32.add + (tee_local $16 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $7 + (tee_local $8 (i32.and (i32.shr_u (i32.add - (tee_local $5 + (tee_local $6 (i32.shl - (get_local $1) - (tee_local $23 - (i32.and - (i32.shr_u - (i32.add - (get_local $1) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) + (get_local $8) + (get_local $7) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $23) - ) - (tee_local $5 - (i32.and - (i32.shr_u - (i32.add - (tee_local $6 - (i32.shl - (get_local $5) - (get_local $7) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $7) + (get_local $23) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $6) - (get_local $5) + (i32.shr_u + (i32.shl + (get_local $6) + (get_local $8) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $16) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $16) - (i32.const 1) ) ) ) @@ -4640,17 +4661,17 @@ (if (i32.eqz (i32.and - (tee_local $0 - (i32.load - (i32.const 180) - ) - ) (tee_local $16 (i32.shl (i32.const 1) (get_local $7) ) ) + (tee_local $0 + (i32.load + (i32.const 180) + ) + ) ) ) (block @@ -4682,7 +4703,7 @@ ) (set_local $16 (i32.shl - (get_local $14) + (get_local $15) (select (i32.const 0) (i32.sub @@ -4711,13 +4732,13 @@ (block $while-out63 (result i32) (if (i32.eq + (get_local $15) (i32.and (i32.load offset=4 (get_local $0) ) (i32.const -8) ) - (get_local $14) ) (block (set_local $35 @@ -4729,7 +4750,7 @@ ) ) (if (result i32) - (tee_local $5 + (tee_local $8 (i32.load (tee_local $1 (i32.add @@ -4756,7 +4777,7 @@ ) ) (set_local $0 - (get_local $5) + (get_local $8) ) (br $while-in64) ) @@ -4820,7 +4841,7 @@ ) ) ) - (tee_local $5 + (tee_local $8 (i32.load (i32.const 192) ) @@ -4828,7 +4849,7 @@ ) (i32.ge_u (get_local $35) - (get_local $5) + (get_local $8) ) ) (block @@ -4863,10 +4884,10 @@ (i32.const 188) (tee_local $16 (i32.add + (get_local $15) (i32.load (i32.const 188) ) - (get_local $14) ) ) ) @@ -4893,53 +4914,6 @@ ) ) ) - (set_local $14 - (i32.add - (tee_local $12 - (i32.add - (tee_local $0 - (loop $while-in66 (result i32) - (if (result i32) - (if (result i32) - (i32.le_u - (tee_local $4 - (i32.load - (get_local $29) - ) - ) - (get_local $13) - ) - (i32.gt_u - (tee_local $14 - (i32.add - (get_local $4) - (i32.load offset=4 - (get_local $29) - ) - ) - ) - (get_local $13) - ) - (i32.const 0) - ) - (get_local $14) - (block - (set_local $29 - (i32.load offset=8 - (get_local $29) - ) - ) - (br $while-in66) - ) - ) - ) - ) - (i32.const -47) - ) - ) - (i32.const 8) - ) - ) (set_local $4 (i32.add (tee_local $12 @@ -4947,26 +4921,72 @@ (get_local $13) (tee_local $4 (i32.add - (get_local $12) (select (i32.and (i32.sub (i32.const 0) - (get_local $14) + (tee_local $15 + (i32.add + (tee_local $12 + (i32.add + (tee_local $0 + (loop $while-in66 (result i32) + (if (result i32) + (if (result i32) + (i32.le_u + (tee_local $4 + (i32.load + (get_local $29) + ) + ) + (get_local $13) + ) + (i32.gt_u + (tee_local $15 + (i32.add + (i32.load offset=4 + (get_local $29) + ) + (get_local $4) + ) + ) + (get_local $13) + ) + (i32.const 0) + ) + (get_local $15) + (block + (set_local $29 + (i32.load offset=8 + (get_local $29) + ) + ) + (br $while-in66) + ) + ) + ) + ) + (i32.const -47) + ) + ) + (i32.const 8) + ) + ) ) (i32.const 7) ) (i32.const 0) (i32.and - (get_local $14) + (get_local $15) (i32.const 7) ) ) + (get_local $12) ) ) (i32.lt_u (get_local $4) - (tee_local $14 + (tee_local $15 (i32.add (get_local $13) (i32.const 16) @@ -4982,7 +5002,7 @@ (i32.const 200) (tee_local $2 (i32.add - (get_local $19) + (get_local $20) (tee_local $18 (select (i32.and @@ -4990,7 +5010,7 @@ (i32.const 0) (tee_local $2 (i32.add - (get_local $19) + (get_local $20) (i32.const 8) ) ) @@ -5074,7 +5094,7 @@ ) (i32.store (i32.const 624) - (get_local $19) + (get_local $20) ) (i32.store (i32.const 628) @@ -5168,17 +5188,17 @@ ) (if (i32.and - (tee_local $0 - (i32.load - (i32.const 176) - ) - ) - (tee_local $5 + (tee_local $8 (i32.shl (i32.const 1) (get_local $2) ) ) + (tee_local $0 + (i32.load + (i32.const 176) + ) + ) ) (if (i32.lt_u @@ -5211,7 +5231,7 @@ (i32.const 176) (i32.or (get_local $0) - (get_local $5) + (get_local $8) ) ) (set_local $44 @@ -5261,83 +5281,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $4) - (i32.add - (tee_local $2 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $18 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $18) + (tee_local $8 + (i32.and + (i32.shr_u + (i32.add + (get_local $18) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $4) + (i32.add + (tee_local $2 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $18 + (tee_local $0 (i32.and (i32.shr_u (i32.add - (tee_local $0 + (tee_local $1 (i32.shl + (get_local $0) (get_local $18) - (tee_local $5 - (i32.and - (i32.shr_u - (i32.add - (get_local $18) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $5) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (get_local $18) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $8) + (get_local $18) ) ) ) - ) - (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 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $2) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $2) - (i32.const 1) ) ) ) @@ -5358,23 +5381,23 @@ (i32.const 0) ) (i32.store - (get_local $14) + (get_local $15) (i32.const 0) ) (if (i32.eqz (i32.and - (tee_local $0 - (i32.load - (i32.const 180) - ) - ) (tee_local $1 (i32.shl (i32.const 1) (get_local $7) ) ) + (tee_local $0 + (i32.load + (i32.const 180) + ) + ) ) ) (block @@ -5435,13 +5458,13 @@ (block $while-out69 (result i32) (if (i32.eq + (get_local $4) (i32.and (i32.load offset=4 (get_local $0) ) (i32.const -8) ) - (get_local $4) ) (block (set_local $37 @@ -5453,7 +5476,7 @@ ) ) (if (result i32) - (tee_local $5 + (tee_local $8 (i32.load (tee_local $2 (i32.add @@ -5480,7 +5503,7 @@ ) ) (set_local $0 - (get_local $5) + (get_local $8) ) (br $while-in70) ) @@ -5595,18 +5618,18 @@ ) ) (i32.lt_u - (get_local $19) + (get_local $20) (get_local $1) ) ) (i32.store (i32.const 192) - (get_local $19) + (get_local $20) ) ) (i32.store (i32.const 624) - (get_local $19) + (get_local $20) ) (i32.store (i32.const 628) @@ -5662,7 +5685,7 @@ (i32.const 200) (tee_local $1 (i32.add - (get_local $19) + (get_local $20) (tee_local $0 (select (i32.and @@ -5670,7 +5693,7 @@ (i32.const 0) (tee_local $1 (i32.add - (get_local $19) + (get_local $20) (i32.const 8) ) ) @@ -5733,7 +5756,7 @@ (block (i32.store (i32.const 188) - (tee_local $19 + (tee_local $20 (i32.sub (get_local $21) (get_local $9) @@ -5744,19 +5767,19 @@ (i32.const 200) (tee_local $13 (i32.add + (get_local $9) (tee_local $21 (i32.load (i32.const 200) ) ) - (get_local $9) ) ) ) (i32.store offset=4 (get_local $13) (i32.or - (get_local $19) + (get_local $20) (i32.const 1) ) ) @@ -5882,8 +5905,8 @@ ) (set_local $5 (i32.add - (get_local $11) (get_local $5) + (get_local $11) ) ) (if @@ -5900,10 +5923,10 @@ ) (if (i32.eq - (get_local $1) (i32.load (i32.const 196) ) + (get_local $1) ) (block (if @@ -6005,10 +6028,10 @@ ) (if (i32.ne + (get_local $1) (i32.load offset=12 (get_local $11) ) - (get_local $1) ) (call $_abort) ) @@ -6059,6 +6082,7 @@ ) (if (i32.eq + (get_local $1) (i32.load (tee_local $4 (i32.add @@ -6067,7 +6091,6 @@ ) ) ) - (get_local $1) ) (set_local $10 (get_local $4) @@ -6106,12 +6129,12 @@ ) (if (i32.eq + (get_local $1) (tee_local $0 (i32.load offset=12 (get_local $1) ) ) - (get_local $1) ) (block $do-once0 (if @@ -6231,6 +6254,7 @@ ) (if (i32.ne + (get_local $1) (i32.load (tee_local $10 (i32.add @@ -6239,12 +6263,12 @@ ) ) ) - (get_local $1) ) (call $_abort) ) (if (i32.eq + (get_local $1) (i32.load (tee_local $4 (i32.add @@ -6253,7 +6277,6 @@ ) ) ) - (get_local $1) ) (block (i32.store @@ -6277,7 +6300,6 @@ (block (if (i32.eq - (get_local $1) (i32.load (tee_local $7 (i32.add @@ -6293,6 +6315,7 @@ ) ) ) + (get_local $1) ) (block (i32.store @@ -6341,6 +6364,7 @@ ) (if (i32.eq + (get_local $1) (i32.load (tee_local $0 (i32.add @@ -6349,7 +6373,6 @@ ) ) ) - (get_local $1) ) (i32.store (get_local $0) @@ -6532,20 +6555,20 @@ (block (result i32) (if (i32.eq - (get_local $8) (i32.load (i32.const 200) ) + (get_local $8) ) (block (i32.store (i32.const 188) (tee_local $6 (i32.add + (get_local $3) (i32.load (i32.const 188) ) - (get_local $3) ) ) ) @@ -6562,10 +6585,10 @@ ) (if (i32.ne - (get_local $2) (i32.load (i32.const 196) ) + (get_local $2) ) (return) ) @@ -6582,20 +6605,20 @@ ) (if (i32.eq - (get_local $8) (i32.load (i32.const 196) ) + (get_local $8) ) (block (i32.store (i32.const 184) (tee_local $6 (i32.add + (get_local $3) (i32.load (i32.const 184) ) - (get_local $3) ) ) ) @@ -6622,11 +6645,11 @@ ) (set_local $6 (i32.add + (get_local $3) (i32.and (get_local $1) (i32.const -8) ) - (get_local $3) ) ) (set_local $14 @@ -6649,12 +6672,12 @@ ) (if (i32.eq + (get_local $8) (tee_local $9 (i32.load offset=12 (get_local $8) ) ) - (get_local $8) ) (block $do-once6 (set_local $3 @@ -6770,6 +6793,7 @@ ) (if (i32.ne + (get_local $8) (i32.load (tee_local $10 (i32.add @@ -6778,12 +6802,12 @@ ) ) ) - (get_local $8) ) (call $_abort) ) (if (i32.eq + (get_local $8) (i32.load (tee_local $4 (i32.add @@ -6792,7 +6816,6 @@ ) ) ) - (get_local $8) ) (block (i32.store @@ -6816,7 +6839,6 @@ (block (if (i32.eq - (get_local $8) (i32.load (tee_local $5 (i32.add @@ -6832,6 +6854,7 @@ ) ) ) + (get_local $8) ) (block (i32.store @@ -6874,6 +6897,7 @@ ) (if (i32.eq + (get_local $8) (i32.load (tee_local $9 (i32.add @@ -6882,7 +6906,6 @@ ) ) ) - (get_local $8) ) (i32.store (get_local $9) @@ -7008,10 +7031,10 @@ ) (if (i32.ne + (get_local $8) (i32.load offset=12 (get_local $1) ) - (get_local $8) ) (call $_abort) ) @@ -7019,8 +7042,8 @@ ) (if (i32.eq - (get_local $9) (get_local $1) + (get_local $9) ) (block (i32.store @@ -7043,8 +7066,8 @@ ) (if (i32.ne - (get_local $9) (get_local $7) + (get_local $9) ) (block (if @@ -7058,6 +7081,7 @@ ) (if (i32.eq + (get_local $8) (i32.load (tee_local $7 (i32.add @@ -7066,7 +7090,6 @@ ) ) ) - (get_local $8) ) (set_local $16 (get_local $7) @@ -7108,10 +7131,10 @@ ) (if (result i32) (i32.eq - (get_local $2) (i32.load (i32.const 196) ) + (get_local $2) ) (block (i32.store @@ -7238,83 +7261,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $0) - (i32.add - (tee_local $5 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $15 + (i32.shl + (get_local $1) + (tee_local $13 + (i32.and + (i32.shr_u + (i32.add + (get_local $1) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $0) + (i32.add + (tee_local $5 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $1 + (tee_local $15 (i32.and (i32.shr_u (i32.add - (tee_local $15 + (tee_local $6 (i32.shl + (get_local $15) (get_local $1) - (tee_local $13 - (i32.and - (i32.shr_u - (i32.add - (get_local $1) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $13) - ) - (tee_local $15 - (i32.and - (i32.shr_u - (i32.add - (tee_local $6 - (i32.shl - (get_local $15) - (get_local $1) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $1) + (get_local $13) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $6) - (get_local $15) + (i32.shr_u + (i32.shl + (get_local $6) + (get_local $15) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $5) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $5) - (i32.const 1) ) ) ) @@ -7340,17 +7366,17 @@ ) (if (i32.and - (tee_local $15 - (i32.load - (i32.const 180) - ) - ) (tee_local $6 (i32.shl (i32.const 1) (get_local $3) ) ) + (tee_local $15 + (i32.load + (i32.const 180) + ) + ) ) (block (set_local $13 @@ -7384,13 +7410,13 @@ (block $while-out14 (result i32) (if (i32.eq + (get_local $0) (i32.and (i32.load offset=4 (get_local $1) ) (i32.const -8) ) - (get_local $0) ) (block (set_local $17 @@ -7535,8 +7561,8 @@ (i32.store (i32.const 180) (i32.or - (get_local $15) (get_local $6) + (get_local $15) ) ) (i32.store @@ -7693,8 +7719,8 @@ ) (set_local $4 (i32.add - (get_local $9) (get_local $2) + (get_local $9) ) ) (loop $while-in @@ -7814,10 +7840,10 @@ (i32.store (get_local $7) (i32.add + (get_local $6) (i32.load (get_local $7) ) - (get_local $6) ) ) (set_local $3 @@ -7870,10 +7896,10 @@ (i32.store (get_local $5) (i32.add + (get_local $6) (i32.load (get_local $5) ) - (get_local $6) ) ) (i32.store offset=4 @@ -8159,15 +8185,15 @@ (i32.store (get_local $4) (i32.add + (get_local $1) (i32.load (get_local $4) ) - (get_local $1) ) ) (i32.add - (get_local $3) (get_local $1) + (get_local $3) ) ) ) @@ -8345,21 +8371,21 @@ (loop $while-in1 (result i32) (if (result i32) (i32.and + (i32.add + (tee_local $1 + (i32.load + (get_local $2) + ) + ) + (i32.const -16843009) + ) (i32.xor (i32.and - (tee_local $1 - (i32.load - (get_local $2) - ) - ) + (get_local $1) (i32.const -2139062144) ) (i32.const -2139062144) ) - (i32.add - (get_local $1) - (i32.const -16843009) - ) ) (get_local $2) (block @@ -8894,11 +8920,11 @@ (i32.or (i32.or (i32.or - (get_local $1) (i32.shl (get_local $1) (i32.const 8) ) + (get_local $1) ) (i32.shl (get_local $1) @@ -9139,11 +9165,11 @@ (i32.store8 (get_local $1) (i32.or + (get_local $2) (i32.add (get_local $2) (i32.const 255) ) - (get_local $2) ) ) (tee_local $0 @@ -9190,10 +9216,10 @@ (i32.store offset=16 (get_local $0) (i32.add - (get_local $1) (i32.load offset=48 (get_local $0) ) + (get_local $1) ) ) (i32.const 0) @@ -9212,6 +9238,7 @@ ) (if (i32.ne + (get_local $3) (tee_local $0 (call $___fwritex (get_local $0) @@ -9219,7 +9246,6 @@ (get_local $2) ) ) - (get_local $3) ) (set_local $4 (i32.div_u @@ -9369,8 +9395,8 @@ ) (set_global $STACKTOP (i32.add - (get_global $STACKTOP) (get_local $0) + (get_global $STACKTOP) ) ) (set_global $STACKTOP diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm index 5f8c33b38..6552ae32c 100644 --- a/test/emcc_hello_world.fromasm +++ b/test/emcc_hello_world.fromasm @@ -70,8 +70,8 @@ ) (set_global $STACKTOP (i32.add - (get_global $STACKTOP) (get_local $0) + (get_global $STACKTOP) ) ) (set_global $STACKTOP @@ -767,8 +767,8 @@ ) (set_local $12 (i32.add - (get_local $3) (get_local $2) + (get_local $3) ) ) (block $__rjto$1 @@ -837,8 +837,8 @@ ) (br_if $__rjti$0 (i32.eq - (get_local $12) (get_local $3) + (get_local $12) ) ) (br_if $__rjti$1 @@ -1026,7 +1026,7 @@ (local $12 i32) (local $13 i32) (local $14 i32) - (set_local $4 + (set_local $3 (get_global $STACKTOP) ) (set_global $STACKTOP @@ -1044,25 +1044,25 @@ ) (set_local $5 (i32.add - (get_local $4) + (get_local $3) (i32.const 120) ) ) (set_local $7 - (get_local $4) + (get_local $3) ) (set_local $6 (i32.add - (get_local $4) + (get_local $3) (i32.const 136) ) ) (set_local $9 (i32.add - (tee_local $3 + (tee_local $4 (tee_local $8 (i32.add - (get_local $4) + (get_local $3) (i32.const 80) ) ) @@ -1072,14 +1072,14 @@ ) (loop $do-in (i32.store - (get_local $3) + (get_local $4) (i32.const 0) ) (br_if $do-in (i32.lt_s - (tee_local $3 + (tee_local $4 (i32.add - (get_local $3) + (get_local $4) (i32.const 4) ) ) @@ -1166,7 +1166,7 @@ (get_local $6) ) (i32.store - (tee_local $9 + (tee_local $4 (i32.add (get_local $0) (i32.const 28) @@ -1175,7 +1175,7 @@ (get_local $6) ) (i32.store - (tee_local $3 + (tee_local $2 (i32.add (get_local $0) (i32.const 20) @@ -1188,7 +1188,7 @@ (i32.const 80) ) (i32.store - (tee_local $2 + (tee_local $9 (i32.add (get_local $0) (i32.const 16) @@ -1232,7 +1232,7 @@ (get_local $1) (i32.const -1) (i32.load - (get_local $3) + (get_local $2) ) ) ) @@ -1245,15 +1245,15 @@ (i32.const 0) ) (i32.store - (get_local $2) + (get_local $9) (i32.const 0) ) (i32.store - (get_local $9) + (get_local $4) (i32.const 0) ) (i32.store - (get_local $3) + (get_local $2) (i32.const 0) ) ) @@ -1286,7 +1286,7 @@ ) ) (set_global $STACKTOP - (get_local $4) + (get_local $3) ) (get_local $0) ) @@ -1346,15 +1346,18 @@ ) (block (set_local $3 + (i32.load offset=36 + (get_local $2) + ) + ) + (set_local $3 (call_indirect (type $FUNCSIG$iiii) (get_local $2) (get_local $0) (get_local $1) (i32.add (i32.and - (i32.load offset=36 - (get_local $2) - ) + (get_local $3) (i32.const 7) ) (i32.const 2) @@ -1408,6 +1411,11 @@ ) ) ) + (set_local $4 + (i32.load offset=36 + (get_local $2) + ) + ) (br_if $label$break$L5 (i32.lt_u (call_indirect (type $FUNCSIG$iiii) @@ -1416,9 +1424,7 @@ (get_local $3) (i32.add (i32.and - (i32.load offset=36 - (get_local $2) - ) + (get_local $4) (i32.const 7) ) (i32.const 2) @@ -1467,8 +1473,8 @@ ) (set_local $3 (i32.add - (get_local $2) (get_local $1) + (get_local $2) ) ) ) @@ -1490,11 +1496,11 @@ (i32.store8 (get_local $2) (i32.or + (get_local $1) (i32.add (get_local $1) (i32.const 255) ) - (get_local $1) ) ) (tee_local $0 @@ -1604,10 +1610,6 @@ ) (if (i32.or - (i32.lt_u - (get_local $1) - (i32.const 55296) - ) (i32.eq (i32.and (get_local $1) @@ -1615,6 +1617,10 @@ ) (i32.const 57344) ) + (i32.lt_u + (get_local $1) + (i32.const 55296) + ) ) (block (i32.store8 @@ -1953,13 +1959,14 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) (tee_local $0 (block $__rjto$0 (result i32) (block $__rjti$0 (br_if $__rjti$0 (i32.le_u (i32.load - (tee_local $1 + (tee_local $2 (i32.add (get_local $0) (i32.const 20) @@ -1967,7 +1974,7 @@ ) ) (i32.load - (tee_local $2 + (tee_local $3 (i32.add (get_local $0) (i32.const 28) @@ -1976,6 +1983,11 @@ ) ) ) + (set_local $1 + (i32.load offset=36 + (get_local $0) + ) + ) (drop (call_indirect (type $FUNCSIG$iiii) (get_local $0) @@ -1983,9 +1995,7 @@ (i32.const 0) (i32.add (i32.and - (i32.load offset=36 - (get_local $0) - ) + (get_local $1) (i32.const 7) ) (i32.const 2) @@ -1994,7 +2004,7 @@ ) (br_if $__rjti$0 (i32.load - (get_local $1) + (get_local $2) ) ) (br $__rjto$0 @@ -2005,7 +2015,7 @@ (i32.lt_u (tee_local $4 (i32.load - (tee_local $3 + (tee_local $1 (i32.add (get_local $0) (i32.const 4) @@ -2024,22 +2034,27 @@ ) ) ) - (drop - (call_indirect (type $FUNCSIG$iiii) - (get_local $0) - (i32.sub - (get_local $4) - (get_local $6) + (block + (set_local $7 + (i32.load offset=40 + (get_local $0) ) - (i32.const 1) - (i32.add - (i32.and - (i32.load offset=40 - (get_local $0) + ) + (drop + (call_indirect (type $FUNCSIG$iiii) + (get_local $0) + (i32.sub + (get_local $4) + (get_local $6) + ) + (i32.const 1) + (i32.add + (i32.and + (get_local $7) + (i32.const 7) ) - (i32.const 7) + (i32.const 2) ) - (i32.const 2) ) ) ) @@ -2049,11 +2064,11 @@ (i32.const 0) ) (i32.store - (get_local $2) + (get_local $3) (i32.const 0) ) (i32.store - (get_local $1) + (get_local $2) (i32.const 0) ) (i32.store @@ -2061,7 +2076,7 @@ (i32.const 0) ) (i32.store - (get_local $3) + (get_local $1) (i32.const 0) ) (i32.const 0) @@ -2202,7 +2217,7 @@ (i32.const 0) ) ) - (set_local $39 + (set_local $38 (tee_local $25 (i32.add (tee_local $5 @@ -2215,15 +2230,15 @@ ) ) ) - (set_local $40 + (set_local $39 (i32.add (get_local $5) (i32.const 39) ) ) - (set_local $44 + (set_local $43 (i32.add - (tee_local $41 + (tee_local $40 (i32.add (get_local $14) (i32.const 8) @@ -2243,13 +2258,13 @@ (i32.const 12) ) ) - (set_local $42 + (set_local $41 (i32.add (get_local $5) (i32.const 11) ) ) - (set_local $45 + (set_local $44 (i32.sub (tee_local $27 (get_local $32) @@ -2264,21 +2279,21 @@ ) ) ) - (set_local $46 + (set_local $45 (i32.sub (i32.const -2) (get_local $36) ) ) - (set_local $47 + (set_local $46 (i32.add (get_local $27) (i32.const 2) ) ) - (set_local $49 + (set_local $48 (i32.add - (tee_local $48 + (tee_local $47 (i32.add (get_local $14) (i32.const 24) @@ -2287,7 +2302,7 @@ (i32.const 288) ) ) - (set_local $43 + (set_local $42 (tee_local $29 (i32.add (get_local $22) @@ -2457,8 +2472,8 @@ ) (if (i32.ne - (get_local $10) (get_local $5) + (get_local $10) ) (block (set_local $5 @@ -2588,6 +2603,7 @@ ) (set_local $11 (i32.or + (get_local $11) (i32.shl (i32.const 1) (i32.add @@ -2601,7 +2617,6 @@ (i32.const -32) ) ) - (get_local $11) ) ) (br_if $while-in4 @@ -2674,11 +2689,11 @@ ) (i32.store (i32.add - (get_local $4) (i32.shl (get_local $11) (i32.const 2) ) + (get_local $4) ) (i32.const 10) ) @@ -2686,7 +2701,6 @@ (i32.load offset=4 (tee_local $6 (i32.add - (get_local $3) (i32.shl (i32.add (i32.load8_s @@ -2696,6 +2710,7 @@ ) (i32.const 3) ) + (get_local $3) ) ) ) @@ -2817,11 +2832,11 @@ (loop $while-in8 (set_local $6 (i32.add + (get_local $6) (i32.mul (get_local $11) (i32.const 10) ) - (get_local $6) ) ) (if @@ -2945,11 +2960,11 @@ (br_if $label$break$L46 (tee_local $6 (i32.add + (get_local $6) (i32.mul (get_local $8) (i32.const 10) ) - (get_local $6) ) ) (i32.ge_u @@ -3007,11 +3022,11 @@ (block (i32.store (i32.add - (get_local $4) (i32.shl (get_local $8) (i32.const 2) ) + (get_local $4) ) (i32.const 10) ) @@ -3019,7 +3034,6 @@ (i32.load offset=4 (tee_local $6 (i32.add - (get_local $3) (i32.shl (i32.add (i32.load8_s @@ -3029,6 +3043,7 @@ ) (i32.const 3) ) + (get_local $3) ) ) ) @@ -3138,6 +3153,7 @@ (tee_local $13 (i32.load8_s (i32.add + (get_local $12) (i32.add (i32.mul (get_local $9) @@ -3145,7 +3161,6 @@ ) (i32.const 3611) ) - (get_local $12) ) ) ) @@ -3215,11 +3230,11 @@ (block (i32.store (i32.add - (get_local $4) (i32.shl (get_local $18) (i32.const 2) ) + (get_local $4) ) (get_local $12) ) @@ -3227,11 +3242,11 @@ (i32.load offset=4 (tee_local $8 (i32.add - (get_local $3) (i32.shl (get_local $18) (i32.const 3) ) + (get_local $3) ) ) ) @@ -3299,2431 +3314,3276 @@ ) ) ) - (set_local $7 - (block $__rjto$8 (result i32) - (block $__rjti$8 - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (tee_local $7 - (block $__rjti$7 (result i32) - (block $__rjti$6 - (block $__rjti$5 - (block $__rjti$4 - (block $__rjti$3 - (block $switch-default120 - (block $switch-case119 - (block $switch-case41 - (block $switch-case40 - (block $switch-case39 - (block $switch-case38 - (block $switch-case37 - (block $switch-case36 - (block $switch-case35 - (block $switch-case33 - (block $switch-case30 - (block $switch-case28 - (block $switch-case27 - (br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case30 $switch-default120 - (i32.sub - (tee_local $19 - (select - (i32.and - (tee_local $12 - (i32.load8_s - (get_local $19) + (call $_pad + (get_local $0) + (i32.const 32) + (tee_local $7 + (select + (tee_local $6 + (i32.add + (tee_local $12 + (select + (tee_local $13 + (i32.sub + (block $__rjto$8 (result i32) + (block $__rjti$8 + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (tee_local $7 + (block $__rjti$7 (result i32) + (block $__rjti$6 + (block $__rjti$5 + (block $__rjti$4 + (block $__rjti$3 + (block $switch-default120 + (block $switch-case119 + (block $switch-case41 + (block $switch-case40 + (block $switch-case39 + (block $switch-case38 + (block $switch-case37 + (block $switch-case36 + (block $switch-case35 + (block $switch-case33 + (block $switch-case30 + (block $switch-case28 + (block $switch-case27 + (br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case30 $switch-default120 + (i32.sub + (tee_local $19 + (select + (i32.and + (tee_local $12 + (i32.load8_s + (get_local $19) + ) + ) + (i32.const -33) + ) + (get_local $12) + (i32.and + (i32.eq + (i32.and + (get_local $12) + (i32.const 15) + ) + (i32.const 3) + ) + (i32.ne + (get_local $9) + (i32.const 0) + ) + ) + ) + ) + (i32.const 65) + ) + ) + ) + (block $switch-default26 + (block $switch-case25 + (block $switch-case24 + (block $switch-case23 + (block $switch-case22 + (block $switch-case21 + (block $switch-case20 + (block $switch-case19 + (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26 + (get_local $9) + ) + ) + (i32.store + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store + (tee_local $5 + (i32.load + (get_local $14) + ) + ) + (get_local $17) + ) + (i32.store offset=4 + (get_local $5) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $17) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store16 + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store8 + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store + (tee_local $5 + (i32.load + (get_local $14) + ) + ) + (get_local $17) + ) + (i32.store offset=4 + (get_local $5) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $17) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) ) - ) - (i32.const -33) - ) - (get_local $12) - (i32.and - (i32.ne - (get_local $9) - (i32.const 0) - ) - (i32.eq - (i32.and - (get_local $12) - (i32.const 15) + (set_local $5 + (i32.or + (get_local $11) + (i32.const 8) + ) ) - (i32.const 3) - ) - ) - ) - ) - (i32.const 65) - ) - ) - ) - (block $switch-default26 - (block $switch-case25 - (block $switch-case24 - (block $switch-case23 - (block $switch-case22 - (block $switch-case21 - (block $switch-case20 - (block $switch-case19 - (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26 - (get_local $9) + (set_local $6 + (select + (get_local $6) + (i32.const 8) + (i32.gt_u + (get_local $6) + (i32.const 8) + ) ) ) - (i32.store + (set_local $19 + (i32.const 120) + ) + (br $__rjti$3) + ) + (set_local $5 + (get_local $11) + ) + (br $__rjti$3) + ) + (if + (i32.or + (tee_local $5 (i32.load (get_local $14) ) - (get_local $17) - ) - (set_local $5 - (get_local $10) ) - (set_local $10 - (get_local $7) + (tee_local $7 + (i32.load offset=4 + (get_local $14) + ) ) - (br $label$continue$L1) ) - (i32.store - (i32.load - (get_local $14) + (block + (set_local $8 + (get_local $25) + ) + (loop $while-in32 + (i32.store8 + (tee_local $8 + (i32.add + (get_local $8) + (i32.const -1) + ) + ) + (i32.or + (i32.and + (get_local $5) + (i32.const 7) + ) + (i32.const 48) + ) + ) + (br_if $while-in32 + (i32.or + (tee_local $5 + (call $_bitshift64Lshr + (get_local $5) + (get_local $7) + (i32.const 3) + ) + ) + (tee_local $7 + (get_global $tempRet0) + ) + ) + ) ) - (get_local $17) - ) - (set_local $5 - (get_local $10) ) - (set_local $10 - (get_local $7) + (set_local $8 + (get_local $25) ) - (br $label$continue$L1) ) - (i32.store - (tee_local $5 - (i32.load - (get_local $14) - ) + (if + (i32.and + (get_local $11) + (i32.const 8) ) - (get_local $17) - ) - (i32.store offset=4 - (get_local $5) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $17) - (i32.const 0) + (block + (set_local $5 + (get_local $11) + ) + (set_local $6 + (select + (tee_local $11 + (i32.add + (i32.sub + (get_local $38) + (tee_local $7 + (get_local $8) + ) + ) + (i32.const 1) + ) + ) + (get_local $6) + (i32.lt_s + (get_local $6) + (get_local $11) + ) ) - (i32.const 31) ) - (i32.const 31) + ) + (block + (set_local $7 + (get_local $8) + ) + (set_local $5 + (get_local $11) + ) ) ) - (set_local $5 - (get_local $10) + (set_local $8 + (i32.const 0) ) - (set_local $10 - (get_local $7) + (set_local $9 + (i32.const 4091) ) - (br $label$continue$L1) + (br $__rjti$8) ) - (i32.store16 + (set_local $5 (i32.load (get_local $14) ) - (get_local $17) ) - (set_local $5 - (get_local $10) + (if + (i32.lt_s + (tee_local $7 + (i32.load offset=4 + (get_local $14) + ) + ) + (i32.const 0) + ) + (block + (i32.store + (get_local $14) + (tee_local $5 + (call $_i64Subtract + (i32.const 0) + (i32.const 0) + (get_local $5) + (get_local $7) + ) + ) + ) + (i32.store offset=4 + (get_local $14) + (tee_local $7 + (get_global $tempRet0) + ) + ) + (set_local $8 + (i32.const 1) + ) + (set_local $9 + (i32.const 4091) + ) + (br $__rjti$4) + ) ) - (set_local $10 - (get_local $7) + (set_local $9 + (if (result i32) + (i32.and + (get_local $11) + (i32.const 2048) + ) + (block (result i32) + (set_local $8 + (i32.const 1) + ) + (i32.const 4092) + ) + (block (result i32) + (set_local $8 + (tee_local $9 + (i32.and + (get_local $11) + (i32.const 1) + ) + ) + ) + (select + (i32.const 4093) + (i32.const 4091) + (get_local $9) + ) + ) + ) ) - (br $label$continue$L1) + (br $__rjti$4) ) - (i32.store8 + (set_local $5 (i32.load (get_local $14) ) - (get_local $17) ) - (set_local $5 - (get_local $10) + (set_local $7 + (i32.load offset=4 + (get_local $14) + ) ) - (set_local $10 - (get_local $7) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) ) - (br $label$continue$L1) + (br $__rjti$4) ) - (i32.store + (drop + (i32.load offset=4 + (get_local $14) + ) + ) + (i32.store8 + (get_local $39) (i32.load (get_local $14) ) - (get_local $17) ) (set_local $5 - (get_local $10) + (get_local $39) ) - (set_local $10 - (get_local $7) + (set_local $11 + (get_local $8) + ) + (set_local $12 + (i32.const 1) + ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (br $__rjto$8 + (get_local $25) ) - (br $label$continue$L1) ) - (i32.store - (tee_local $5 + (set_local $7 + (call $_strerror (i32.load - (get_local $14) + (call $___errno_location) ) ) - (get_local $17) ) - (i32.store offset=4 - (get_local $5) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $17) - (i32.const 0) - ) - (i32.const 31) + (br $__rjti$5) + ) + (set_local $7 + (select + (tee_local $5 + (i32.load + (get_local $14) ) - (i32.const 31) ) + (i32.const 4101) + (get_local $5) ) - (set_local $5 - (get_local $10) - ) - (set_local $10 - (get_local $7) - ) - (br $label$continue$L1) - ) - (set_local $5 - (get_local $10) - ) - (set_local $10 - (get_local $7) - ) - (br $label$continue$L1) - ) - (set_local $5 - (i32.or - (get_local $11) - (i32.const 8) ) + (br $__rjti$5) ) - (set_local $6 - (select - (get_local $6) - (i32.const 8) - (i32.gt_u - (get_local $6) - (i32.const 8) - ) + (drop + (i32.load offset=4 + (get_local $14) ) ) - (set_local $19 - (i32.const 120) - ) - (br $__rjti$3) - ) - (set_local $5 - (get_local $11) - ) - (br $__rjti$3) - ) - (if - (i32.or - (tee_local $5 + (i32.store + (get_local $40) (i32.load (get_local $14) ) ) - (tee_local $7 - (i32.load offset=4 - (get_local $14) - ) + (i32.store + (get_local $43) + (i32.const 0) ) - ) - (block - (set_local $8 - (get_local $25) + (i32.store + (get_local $14) + (get_local $40) ) - (loop $while-in32 - (i32.store8 - (tee_local $8 - (i32.add - (get_local $8) - (i32.const -1) - ) - ) - (i32.or - (i32.and - (get_local $5) - (i32.const 7) - ) - (i32.const 48) - ) - ) - (br_if $while-in32 - (i32.or - (tee_local $5 - (call $_bitshift64Lshr - (get_local $5) - (get_local $7) - (i32.const 3) - ) - ) - (tee_local $7 - (get_global $tempRet0) - ) - ) - ) + (set_local $8 + (i32.const -1) ) + (br $__rjti$6) ) - (set_local $8 - (get_local $25) - ) - ) - (if - (i32.and - (get_local $11) - (i32.const 8) - ) - (block - (set_local $5 - (get_local $11) - ) - (set_local $6 - (select - (tee_local $11 - (i32.add - (i32.sub - (get_local $39) - (tee_local $7 - (get_local $8) - ) - ) - (i32.const 1) - ) - ) + (if + (get_local $6) + (block + (set_local $8 (get_local $6) - (i32.lt_s - (get_local $6) - (get_local $11) - ) ) + (br $__rjti$6) ) - ) - (block - (set_local $7 - (get_local $8) - ) - (set_local $5 - (get_local $11) - ) - ) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$8) - ) - (set_local $5 - (i32.load - (get_local $14) - ) - ) - (if - (i32.lt_s - (tee_local $7 - (i32.load offset=4 - (get_local $14) - ) - ) - (i32.const 0) - ) - (block - (i32.store - (get_local $14) - (tee_local $5 - (call $_i64Subtract + (block + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) (i32.const 0) + (get_local $11) + ) + (br $__rjti$7 (i32.const 0) - (get_local $5) - (get_local $7) ) ) ) - (i32.store offset=4 - (get_local $14) - (tee_local $7 - (get_global $tempRet0) - ) - ) - (set_local $8 - (i32.const 1) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$4) ) - ) - (set_local $9 - (if (result i32) - (i32.and - (get_local $11) - (i32.const 2048) - ) - (block (result i32) - (set_local $8 - (i32.const 1) - ) - (i32.const 4092) - ) - (block (result i32) - (set_local $8 - (tee_local $9 - (i32.and - (get_local $11) - (i32.const 1) - ) - ) - ) - (select - (i32.const 4093) - (i32.const 4091) - (get_local $9) - ) + (set_local $16 + (f64.load + (get_local $14) ) ) - ) - (br $__rjti$4) - ) - (set_local $5 - (i32.load - (get_local $14) - ) - ) - (set_local $7 - (i32.load offset=4 - (get_local $14) - ) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$4) - ) - (drop - (i32.load offset=4 - (get_local $14) - ) - ) - (i32.store8 - (get_local $40) - (i32.load - (get_local $14) - ) - ) - (set_local $5 - (get_local $40) - ) - (set_local $11 - (get_local $8) - ) - (set_local $12 - (i32.const 1) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjto$8 - (get_local $25) - ) - ) - (set_local $7 - (call $_strerror - (i32.load - (call $___errno_location) - ) - ) - ) - (br $__rjti$5) - ) - (set_local $7 - (select - (tee_local $5 - (i32.load - (get_local $14) - ) - ) - (i32.const 4101) - (get_local $5) - ) - ) - (br $__rjti$5) - ) - (drop - (i32.load offset=4 - (get_local $14) - ) - ) - (i32.store - (get_local $41) - (i32.load - (get_local $14) - ) - ) - (i32.store - (get_local $44) - (i32.const 0) - ) - (i32.store - (get_local $14) - (get_local $41) - ) - (set_local $8 - (i32.const -1) - ) - (br $__rjti$6) - ) - (if - (get_local $6) - (block - (set_local $8 - (get_local $6) - ) - (br $__rjti$6) - ) - (block - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (i32.const 0) - (get_local $11) - ) - (br $__rjti$7 - (i32.const 0) - ) - ) - ) - ) - (set_local $16 - (f64.load - (get_local $14) - ) - ) - (i32.store - (get_local $20) - (i32.const 0) - ) - (f64.store - (get_global $tempDoublePtr) - (get_local $16) - ) - (drop - (i32.load - (get_global $tempDoublePtr) - ) - ) - (set_local $30 - (if (result i32) - (i32.lt_s - (i32.load offset=4 - (get_global $tempDoublePtr) - ) - (i32.const 0) - ) - (block (result i32) - (set_local $26 - (i32.const 1) - ) - (set_local $16 - (f64.neg - (get_local $16) - ) - ) - (i32.const 4108) - ) - (if (result i32) - (i32.and - (get_local $11) - (i32.const 2048) - ) - (block (result i32) - (set_local $26 - (i32.const 1) - ) - (i32.const 4111) - ) - (block (result i32) - (set_local $26 - (tee_local $5 - (i32.and - (get_local $11) - (i32.const 1) - ) - ) - ) - (select - (i32.const 4114) - (i32.const 4109) - (get_local $5) - ) - ) - ) - ) - ) - (f64.store - (get_global $tempDoublePtr) - (get_local $16) - ) - (drop - (i32.load - (get_global $tempDoublePtr) - ) - ) - (set_local $7 - (if (result i32) - (i32.lt_u - (i32.and - (i32.load offset=4 - (get_global $tempDoublePtr) - ) - (i32.const 2146435072) - ) - (i32.const 2146435072) - ) - (block $do-once49 (result i32) - (if - (tee_local $5 - (f64.ne - (tee_local $23 - (f64.mul - (call $_frexp - (get_local $16) + (i32.store (get_local $20) + (i32.const 0) ) - (f64.const 2) - ) - ) - (f64.const 0) - ) - ) - (i32.store - (get_local $20) - (i32.add - (i32.load - (get_local $20) - ) - (i32.const -1) - ) - ) - ) - (if - (i32.eq - (tee_local $24 - (i32.or - (get_local $19) - (i32.const 32) - ) - ) - (i32.const 97) - ) - (block - (set_local $9 - (select - (i32.add - (get_local $30) - (i32.const 9) - ) - (get_local $30) - (tee_local $13 - (i32.and - (get_local $19) - (i32.const 32) - ) - ) - ) - ) - (set_local $16 - (if (result f64) - (i32.or - (i32.gt_u - (get_local $6) - (i32.const 11) + (f64.store + (get_global $tempDoublePtr) + (get_local $16) ) - (i32.eqz - (tee_local $5 - (i32.sub - (i32.const 12) - (get_local $6) - ) + (drop + (i32.load + (get_global $tempDoublePtr) ) ) - ) - (get_local $23) - (block (result f64) - (set_local $16 - (f64.const 8) - ) - (loop $while-in54 - (set_local $16 - (f64.mul - (get_local $16) - (f64.const 16) - ) - ) - (br_if $while-in54 - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -1) + (set_local $30 + (if (result i32) + (i32.lt_s + (i32.load offset=4 + (get_global $tempDoublePtr) ) + (i32.const 0) ) - ) - ) - (if (result f64) - (i32.eq - (i32.load8_s - (get_local $9) - ) - (i32.const 45) - ) - (f64.neg - (f64.add - (get_local $16) - (f64.sub + (block (result i32) + (set_local $26 + (i32.const 1) + ) + (set_local $16 (f64.neg - (get_local $23) + (get_local $16) ) - (get_local $16) ) + (i32.const 4108) ) - ) - (f64.sub - (f64.add - (get_local $23) - (get_local $16) - ) - (get_local $16) - ) - ) - ) - ) - ) - (if - (i32.eq - (tee_local $5 - (call $_fmt_u - (tee_local $5 - (select - (i32.sub - (i32.const 0) - (tee_local $7 - (i32.load - (get_local $20) - ) - ) - ) - (get_local $7) - (i32.lt_s - (get_local $7) - (i32.const 0) + (if (result i32) + (i32.and + (get_local $11) + (i32.const 2048) ) - ) - ) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $5) - (i32.const 0) + (block (result i32) + (set_local $26 + (i32.const 1) + ) + (i32.const 4111) ) - (i32.const 31) - ) - (i32.const 31) - ) - (get_local $32) - ) - ) - (get_local $32) - ) - (block - (i32.store8 - (get_local $42) - (i32.const 48) - ) - (set_local $5 - (get_local $42) - ) - ) - ) - (set_local $12 - (i32.or - (get_local $26) - (i32.const 2) - ) - ) - (i32.store8 - (i32.add - (get_local $5) - (i32.const -1) - ) - (i32.add - (i32.and - (i32.shr_s - (get_local $7) - (i32.const 31) - ) - (i32.const 2) - ) - (i32.const 43) - ) - ) - (i32.store8 - (tee_local $8 - (i32.add - (get_local $5) - (i32.const -2) - ) - ) - (i32.add - (get_local $19) - (i32.const 15) - ) - ) - (set_local $19 - (i32.lt_s - (get_local $6) - (i32.const 1) - ) - ) - (set_local $18 - (i32.eqz - (i32.and - (get_local $11) - (i32.const 8) - ) - ) - ) - (set_local $5 - (get_local $22) - ) - (loop $while-in56 - (i32.store8 - (get_local $5) - (i32.or - (i32.load8_u - (i32.add - (tee_local $7 - (call $f64-to-int - (get_local $16) + (block (result i32) + (set_local $26 + (tee_local $5 + (i32.and + (get_local $11) + (i32.const 1) + ) + ) + ) + (select + (i32.const 4114) + (i32.const 4109) + (get_local $5) + ) ) ) - (i32.const 4075) ) ) - (get_local $13) - ) - ) - (set_local $16 - (f64.mul - (f64.sub + (f64.store + (get_global $tempDoublePtr) (get_local $16) - (f64.convert_s/i32 - (get_local $7) - ) - ) - (f64.const 16) - ) - ) - (set_local $5 - (if (result i32) - (i32.eq - (i32.sub - (tee_local $7 - (i32.add - (get_local $5) - (i32.const 1) - ) - ) - (get_local $36) - ) - (i32.const 1) ) - (if (result i32) - (i32.and - (get_local $18) - (i32.and - (get_local $19) - (f64.eq - (get_local $16) - (f64.const 0) - ) - ) - ) - (get_local $7) - (block (result i32) - (i32.store8 - (get_local $7) - (i32.const 46) - ) - (i32.add - (get_local $5) - (i32.const 2) - ) + (drop + (i32.load + (get_global $tempDoublePtr) ) ) - (get_local $7) - ) - ) - (br_if $while-in56 - (f64.ne - (get_local $16) - (f64.const 0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (tee_local $7 - (i32.add - (tee_local $6 - (select - (i32.sub - (i32.add - (get_local $47) - (get_local $6) + (set_local $7 + (if (result i32) + (i32.lt_u + (i32.and + (i32.load offset=4 + (get_global $tempDoublePtr) + ) + (i32.const 2146435072) ) - (get_local $8) + (i32.const 2146435072) ) - (i32.add - (i32.sub - (get_local $45) - (get_local $8) + (block $do-once49 (result i32) + (if + (tee_local $5 + (f64.ne + (tee_local $23 + (f64.mul + (call $_frexp + (get_local $16) + (get_local $20) + ) + (f64.const 2) + ) + ) + (f64.const 0) + ) + ) + (i32.store + (get_local $20) + (i32.add + (i32.load + (get_local $20) + ) + (i32.const -1) + ) + ) ) - (get_local $5) - ) - (i32.and - (i32.ne - (get_local $6) - (i32.const 0) + (if + (i32.eq + (tee_local $24 + (i32.or + (get_local $19) + (i32.const 32) + ) + ) + (i32.const 97) + ) + (block + (set_local $9 + (select + (i32.add + (get_local $30) + (i32.const 9) + ) + (get_local $30) + (tee_local $13 + (i32.and + (get_local $19) + (i32.const 32) + ) + ) + ) + ) + (set_local $16 + (if (result f64) + (i32.or + (i32.eqz + (tee_local $5 + (i32.sub + (i32.const 12) + (get_local $6) + ) + ) + ) + (i32.gt_u + (get_local $6) + (i32.const 11) + ) + ) + (get_local $23) + (block (result f64) + (set_local $16 + (f64.const 8) + ) + (loop $while-in54 + (set_local $16 + (f64.mul + (get_local $16) + (f64.const 16) + ) + ) + (br_if $while-in54 + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -1) + ) + ) + ) + ) + (if (result f64) + (i32.eq + (i32.load8_s + (get_local $9) + ) + (i32.const 45) + ) + (f64.neg + (f64.add + (get_local $16) + (f64.sub + (f64.neg + (get_local $23) + ) + (get_local $16) + ) + ) + ) + (f64.sub + (f64.add + (get_local $23) + (get_local $16) + ) + (get_local $16) + ) + ) + ) + ) + ) + (if + (i32.eq + (tee_local $5 + (call $_fmt_u + (tee_local $5 + (select + (i32.sub + (i32.const 0) + (tee_local $7 + (i32.load + (get_local $20) + ) + ) + ) + (get_local $7) + (i32.lt_s + (get_local $7) + (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 $32) + ) + ) + (get_local $32) + ) + (block + (i32.store8 + (get_local $41) + (i32.const 48) + ) + (set_local $5 + (get_local $41) + ) + ) + ) + (set_local $12 + (i32.or + (get_local $26) + (i32.const 2) + ) + ) + (i32.store8 + (i32.add + (get_local $5) + (i32.const -1) + ) + (i32.add + (i32.and + (i32.shr_s + (get_local $7) + (i32.const 31) + ) + (i32.const 2) + ) + (i32.const 43) + ) + ) + (i32.store8 + (tee_local $8 + (i32.add + (get_local $5) + (i32.const -2) + ) + ) + (i32.add + (get_local $19) + (i32.const 15) + ) + ) + (set_local $19 + (i32.lt_s + (get_local $6) + (i32.const 1) + ) + ) + (set_local $18 + (i32.eqz + (i32.and + (get_local $11) + (i32.const 8) + ) + ) + ) + (set_local $5 + (get_local $22) + ) + (loop $while-in56 + (i32.store8 + (get_local $5) + (i32.or + (get_local $13) + (i32.load8_u + (i32.add + (tee_local $7 + (call $f64-to-int + (get_local $16) + ) + ) + (i32.const 4075) + ) + ) + ) + ) + (set_local $16 + (f64.mul + (f64.sub + (get_local $16) + (f64.convert_s/i32 + (get_local $7) + ) + ) + (f64.const 16) + ) + ) + (set_local $5 + (if (result i32) + (i32.eq + (i32.sub + (tee_local $7 + (i32.add + (get_local $5) + (i32.const 1) + ) + ) + (get_local $36) + ) + (i32.const 1) + ) + (if (result i32) + (i32.and + (i32.and + (f64.eq + (get_local $16) + (f64.const 0) + ) + (get_local $19) + ) + (get_local $18) + ) + (get_local $7) + (block (result i32) + (i32.store8 + (get_local $7) + (i32.const 46) + ) + (i32.add + (get_local $5) + (i32.const 2) + ) + ) + ) + (get_local $7) + ) + ) + (br_if $while-in56 + (f64.ne + (get_local $16) + (f64.const 0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (tee_local $7 + (i32.add + (get_local $12) + (tee_local $6 + (select + (i32.sub + (i32.add + (get_local $6) + (get_local $46) + ) + (get_local $8) + ) + (i32.add + (get_local $5) + (i32.sub + (get_local $44) + (get_local $8) + ) + ) + (i32.and + (i32.ne + (get_local $6) + (i32.const 0) + ) + (i32.lt_s + (i32.add + (get_local $5) + (get_local $45) + ) + (get_local $6) + ) + ) + ) + ) + ) + ) + (get_local $11) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $9) + (get_local $12) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (get_local $15) + (get_local $7) + (i32.xor + (get_local $11) + (i32.const 65536) + ) + ) + (set_local $5 + (i32.sub + (get_local $5) + (get_local $36) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $22) + (get_local $5) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.sub + (get_local $6) + (i32.add + (get_local $5) + (tee_local $5 + (i32.sub + (get_local $27) + (get_local $8) + ) + ) + ) + ) + (i32.const 0) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $8) + (get_local $5) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (get_local $7) + (i32.xor + (get_local $11) + (i32.const 8192) + ) + ) + (br $do-once49 + (select + (get_local $15) + (get_local $7) + (i32.lt_s + (get_local $7) + (get_local $15) + ) + ) + ) + ) ) - (i32.lt_s - (i32.add - (get_local $46) + (set_local $16 + (if (result f64) (get_local $5) + (block (result f64) + (i32.store + (get_local $20) + (tee_local $5 + (i32.add + (i32.load + (get_local $20) + ) + (i32.const -28) + ) + ) + ) + (f64.mul + (get_local $23) + (f64.const 268435456) + ) + ) + (block (result f64) + (set_local $5 + (i32.load + (get_local $20) + ) + ) + (get_local $23) + ) ) - (get_local $6) ) - ) - ) - ) - (get_local $12) - ) - ) - (get_local $11) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $9) - (get_local $12) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (get_local $15) - (get_local $7) - (i32.xor - (get_local $11) - (i32.const 65536) - ) - ) - (set_local $5 - (i32.sub - (get_local $5) - (get_local $36) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $22) - (get_local $5) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (i32.sub - (get_local $6) - (i32.add - (get_local $5) - (tee_local $5 - (i32.sub - (get_local $27) - (get_local $8) - ) - ) - ) - ) - (i32.const 0) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $8) - (get_local $5) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (get_local $7) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (br $do-once49 - (select - (get_local $15) - (get_local $7) - (i32.lt_s - (get_local $7) - (get_local $15) - ) - ) - ) - ) - ) - (set_local $16 - (if (result f64) - (get_local $5) - (block (result f64) - (i32.store - (get_local $20) - (tee_local $5 - (i32.add - (i32.load - (get_local $20) - ) - (i32.const -28) - ) - ) - ) - (f64.mul - (get_local $23) - (f64.const 268435456) - ) - ) - (block (result f64) - (set_local $5 - (i32.load - (get_local $20) - ) - ) - (get_local $23) - ) - ) - ) - (set_local $7 - (tee_local $8 - (select - (get_local $48) - (get_local $49) - (i32.lt_s - (get_local $5) - (i32.const 0) - ) - ) - ) - ) - (loop $while-in60 - (i32.store - (get_local $7) - (tee_local $5 - (call $f64-to-int - (get_local $16) - ) - ) - ) - (set_local $7 - (i32.add - (get_local $7) - (i32.const 4) - ) - ) - (br_if $while-in60 - (f64.ne - (tee_local $16 - (f64.mul - (f64.sub - (get_local $16) - (f64.convert_u/i32 - (get_local $5) - ) - ) - (f64.const 1e9) - ) - ) - (f64.const 0) - ) - ) - ) - (if - (i32.gt_s - (tee_local $9 - (i32.load - (get_local $20) - ) - ) - (i32.const 0) - ) - (block - (set_local $5 - (get_local $8) - ) - (loop $while-in62 - (set_local $13 - (select - (i32.const 29) - (get_local $9) - (i32.gt_s - (get_local $9) - (i32.const 29) - ) - ) - ) - (if - (i32.ge_u - (tee_local $9 - (i32.add - (get_local $7) - (i32.const -4) - ) - ) - (get_local $5) - ) - (block $do-once63 - (set_local $12 - (i32.const 0) - ) - (loop $while-in66 - (i32.store - (get_local $9) - (call $___uremdi3 - (tee_local $12 - (call $_i64Add - (call $_bitshift64Shl + (set_local $7 + (tee_local $8 + (select + (get_local $47) + (get_local $48) + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + ) + ) + ) + (loop $while-in60 + (i32.store + (get_local $7) + (tee_local $5 + (call $f64-to-int + (get_local $16) + ) + ) + ) + (set_local $7 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (br_if $while-in60 + (f64.ne + (tee_local $16 + (f64.mul + (f64.sub + (get_local $16) + (f64.convert_u/i32 + (get_local $5) + ) + ) + (f64.const 1e9) + ) + ) + (f64.const 0) + ) + ) + ) + (if + (i32.gt_s + (tee_local $9 (i32.load - (get_local $9) + (get_local $20) ) - (i32.const 0) - (get_local $13) ) - (get_global $tempRet0) - (get_local $12) (i32.const 0) ) + (block + (set_local $5 + (get_local $8) + ) + (loop $while-in62 + (set_local $13 + (select + (i32.const 29) + (get_local $9) + (i32.gt_s + (get_local $9) + (i32.const 29) + ) + ) + ) + (if + (i32.ge_u + (tee_local $9 + (i32.add + (get_local $7) + (i32.const -4) + ) + ) + (get_local $5) + ) + (block $do-once63 + (set_local $12 + (i32.const 0) + ) + (loop $while-in66 + (i32.store + (get_local $9) + (call $___uremdi3 + (tee_local $12 + (call $_i64Add + (call $_bitshift64Shl + (i32.load + (get_local $9) + ) + (i32.const 0) + (get_local $13) + ) + (get_global $tempRet0) + (get_local $12) + (i32.const 0) + ) + ) + (tee_local $18 + (get_global $tempRet0) + ) + (i32.const 1000000000) + ) + ) + (set_local $12 + (call $___udivdi3 + (get_local $12) + (get_local $18) + (i32.const 1000000000) + ) + ) + (br_if $while-in66 + (i32.ge_u + (tee_local $9 + (i32.add + (get_local $9) + (i32.const -4) + ) + ) + (get_local $5) + ) + ) + ) + (br_if $do-once63 + (i32.eqz + (get_local $12) + ) + ) + (i32.store + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -4) + ) + ) + (get_local $12) + ) + ) + ) + (loop $while-in68 + (if + (i32.gt_u + (get_local $7) + (get_local $5) + ) + (if + (i32.eqz + (i32.load + (tee_local $9 + (i32.add + (get_local $7) + (i32.const -4) + ) + ) + ) + ) + (block + (set_local $7 + (get_local $9) + ) + (br $while-in68) + ) + ) + ) + ) + (i32.store + (get_local $20) + (tee_local $9 + (i32.sub + (i32.load + (get_local $20) + ) + (get_local $13) + ) + ) + ) + (br_if $while-in62 + (i32.gt_s + (get_local $9) + (i32.const 0) + ) + ) + ) + ) + (set_local $5 + (get_local $8) + ) ) - (tee_local $18 - (get_global $tempRet0) + (set_local $18 + (select + (i32.const 6) + (get_local $6) + (i32.lt_s + (get_local $6) + (i32.const 0) + ) + ) ) - (i32.const 1000000000) - ) - ) - (set_local $12 - (call $___udivdi3 - (get_local $12) - (get_local $18) - (i32.const 1000000000) - ) - ) - (br_if $while-in66 - (i32.ge_u - (tee_local $9 - (i32.add + (if + (i32.lt_s (get_local $9) - (i32.const -4) + (i32.const 0) ) - ) - (get_local $5) - ) - ) - ) - (br_if $do-once63 - (i32.eqz - (get_local $12) - ) - ) - (i32.store - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -4) - ) - ) - (get_local $12) - ) - ) - ) - (loop $while-in68 - (if - (i32.gt_u - (get_local $7) - (get_local $5) - ) - (if - (i32.eqz - (i32.load - (tee_local $9 - (i32.add + (block + (set_local $21 + (i32.add + (call $i32s-div + (i32.add + (get_local $18) + (i32.const 25) + ) + (i32.const 9) + ) + (i32.const 1) + ) + ) + (set_local $31 + (i32.eq + (get_local $24) + (i32.const 102) + ) + ) + (set_local $6 + (get_local $5) + ) + (set_local $5 + (get_local $7) + ) + (loop $while-in70 + (set_local $13 + (select + (i32.const 9) + (tee_local $7 + (i32.sub + (i32.const 0) + (get_local $9) + ) + ) + (i32.gt_s + (get_local $7) + (i32.const 9) + ) + ) + ) + (if + (i32.lt_u + (get_local $6) + (get_local $5) + ) + (block $do-once71 + (set_local $12 + (i32.add + (i32.shl + (i32.const 1) + (get_local $13) + ) + (i32.const -1) + ) + ) + (set_local $37 + (i32.shr_u + (i32.const 1000000000) + (get_local $13) + ) + ) + (set_local $9 + (i32.const 0) + ) + (set_local $7 + (get_local $6) + ) + (loop $while-in74 + (i32.store + (get_local $7) + (i32.add + (get_local $9) + (i32.shr_u + (tee_local $9 + (i32.load + (get_local $7) + ) + ) + (get_local $13) + ) + ) + ) + (set_local $9 + (i32.mul + (i32.and + (get_local $9) + (get_local $12) + ) + (get_local $37) + ) + ) + (br_if $while-in74 + (i32.lt_u + (tee_local $7 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (get_local $5) + ) + ) + ) + (set_local $7 + (select + (get_local $6) + (i32.add + (get_local $6) + (i32.const 4) + ) + (i32.load + (get_local $6) + ) + ) + ) + (br_if $do-once71 + (i32.eqz + (get_local $9) + ) + ) + (i32.store + (get_local $5) + (get_local $9) + ) + (set_local $5 + (i32.add + (get_local $5) + (i32.const 4) + ) + ) + ) + (set_local $7 + (select + (get_local $6) + (i32.add + (get_local $6) + (i32.const 4) + ) + (i32.load + (get_local $6) + ) + ) + ) + ) + (set_local $12 + (select + (i32.add + (tee_local $6 + (select + (get_local $8) + (get_local $7) + (get_local $31) + ) + ) + (i32.shl + (get_local $21) + (i32.const 2) + ) + ) + (get_local $5) + (i32.gt_s + (i32.shr_s + (i32.sub + (get_local $5) + (get_local $6) + ) + (i32.const 2) + ) + (get_local $21) + ) + ) + ) + (i32.store + (get_local $20) + (tee_local $9 + (i32.add + (i32.load + (get_local $20) + ) + (get_local $13) + ) + ) + ) + (set_local $5 + (if (result i32) + (i32.lt_s + (get_local $9) + (i32.const 0) + ) + (block + (set_local $6 + (get_local $7) + ) + (set_local $5 + (get_local $12) + ) + (br $while-in70) + ) + (block (result i32) + (set_local $9 + (get_local $12) + ) + (get_local $7) + ) + ) + ) + ) + ) + (set_local $9 (get_local $7) - (i32.const -4) ) ) - ) - ) - (block - (set_local $7 - (get_local $9) - ) - (br $while-in68) - ) - ) - ) - ) - (i32.store - (get_local $20) - (tee_local $9 - (i32.sub - (i32.load - (get_local $20) - ) - (get_local $13) - ) - ) - ) - (br_if $while-in62 - (i32.gt_s - (get_local $9) - (i32.const 0) - ) - ) - ) - ) - (set_local $5 - (get_local $8) - ) - ) - (set_local $18 - (select - (i32.const 6) - (get_local $6) - (i32.lt_s - (get_local $6) - (i32.const 0) - ) - ) - ) - (if - (i32.lt_s - (get_local $9) - (i32.const 0) - ) - (block - (set_local $21 - (i32.add - (call $i32s-div - (i32.add - (get_local $18) - (i32.const 25) - ) - (i32.const 9) - ) - (i32.const 1) - ) - ) - (set_local $31 - (i32.eq - (get_local $24) - (i32.const 102) - ) - ) - (set_local $6 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (loop $while-in70 - (set_local $13 - (select - (i32.const 9) - (tee_local $7 - (i32.sub - (i32.const 0) - (get_local $9) - ) - ) - (i32.gt_s - (get_local $7) - (i32.const 9) - ) - ) - ) - (if - (i32.lt_u - (get_local $6) - (get_local $5) - ) - (block $do-once71 - (set_local $12 - (i32.add - (i32.shl - (i32.const 1) - (get_local $13) - ) - (i32.const -1) - ) - ) - (set_local $37 - (i32.shr_u - (i32.const 1000000000) - (get_local $13) - ) - ) - (set_local $9 - (i32.const 0) - ) - (set_local $7 - (get_local $6) - ) - (loop $while-in74 - (i32.store - (get_local $7) - (i32.add - (i32.shr_u - (tee_local $38 - (i32.load - (get_local $7) + (set_local $21 + (get_local $8) + ) + (if + (i32.lt_u + (get_local $5) + (get_local $9) + ) + (block $do-once75 + (set_local $7 + (i32.mul + (i32.shr_s + (i32.sub + (get_local $21) + (get_local $5) + ) + (i32.const 2) + ) + (i32.const 9) + ) + ) + (br_if $do-once75 + (i32.lt_u + (tee_local $12 + (i32.load + (get_local $5) + ) + ) + (i32.const 10) + ) + ) + (set_local $6 + (i32.const 10) + ) + (loop $while-in78 + (set_local $7 + (i32.add + (get_local $7) + (i32.const 1) + ) + ) + (br_if $while-in78 + (i32.ge_u + (get_local $12) + (tee_local $6 + (i32.mul + (get_local $6) + (i32.const 10) + ) + ) + ) + ) ) ) - (get_local $13) + (set_local $7 + (i32.const 0) + ) ) - (get_local $9) - ) - ) - (set_local $9 - (i32.mul - (i32.and - (get_local $38) - (get_local $12) + (set_local $5 + (if (result i32) + (i32.lt_s + (tee_local $6 + (i32.add + (i32.sub + (get_local $18) + (select + (get_local $7) + (i32.const 0) + (i32.ne + (get_local $24) + (i32.const 102) + ) + ) + ) + (i32.shr_s + (i32.shl + (i32.and + (tee_local $31 + (i32.eq + (get_local $24) + (i32.const 103) + ) + ) + (tee_local $37 + (i32.ne + (get_local $18) + (i32.const 0) + ) + ) + ) + (i32.const 31) + ) + (i32.const 31) + ) + ) + ) + (i32.add + (i32.mul + (i32.shr_s + (i32.sub + (get_local $9) + (get_local $21) + ) + (i32.const 2) + ) + (i32.const 9) + ) + (i32.const -9) + ) + ) + (block (result i32) + (set_local $13 + (call $i32s-div + (tee_local $6 + (i32.add + (get_local $6) + (i32.const 9216) + ) + ) + (i32.const 9) + ) + ) + (if + (i32.lt_s + (tee_local $6 + (i32.add + (i32.rem_s + (get_local $6) + (i32.const 9) + ) + (i32.const 1) + ) + ) + (i32.const 9) + ) + (block + (set_local $12 + (i32.const 10) + ) + (loop $while-in80 + (set_local $12 + (i32.mul + (get_local $12) + (i32.const 10) + ) + ) + (br_if $while-in80 + (i32.ne + (tee_local $6 + (i32.add + (get_local $6) + (i32.const 1) + ) + ) + (i32.const 9) + ) + ) + ) + ) + (set_local $12 + (i32.const 10) + ) + ) + (set_local $13 + (call $i32u-rem + (tee_local $24 + (i32.load + (tee_local $6 + (i32.add + (i32.add + (i32.shl + (get_local $13) + (i32.const 2) + ) + (get_local $8) + ) + (i32.const -4092) + ) + ) + ) + ) + (get_local $12) + ) + ) + (if + (i32.eqz + (i32.and + (tee_local $49 + (i32.eq + (i32.add + (get_local $6) + (i32.const 4) + ) + (get_local $9) + ) + ) + (i32.eqz + (get_local $13) + ) + ) + ) + (block $do-once81 + (set_local $50 + (call $i32u-div + (get_local $24) + (get_local $12) + ) + ) + (set_local $16 + (if (result f64) + (i32.lt_u + (get_local $13) + (tee_local $51 + (call $i32s-div + (get_local $12) + (i32.const 2) + ) + ) + ) + (f64.const 0.5) + (select + (f64.const 1) + (f64.const 1.5) + (i32.and + (get_local $49) + (i32.eq + (get_local $13) + (get_local $51) + ) + ) + ) + ) + ) + (set_local $23 + (select + (f64.const 9007199254740994) + (f64.const 9007199254740992) + (i32.and + (get_local $50) + (i32.const 1) + ) + ) + ) + (if + (get_local $26) + (if + (i32.eq + (i32.load8_s + (get_local $30) + ) + (i32.const 45) + ) + (block + (set_local $23 + (f64.neg + (get_local $23) + ) + ) + (set_local $16 + (f64.neg + (get_local $16) + ) + ) + ) + ) + ) + (i32.store + (get_local $6) + (tee_local $13 + (i32.sub + (get_local $24) + (get_local $13) + ) + ) + ) + (br_if $do-once81 + (f64.eq + (f64.add + (get_local $23) + (get_local $16) + ) + (get_local $23) + ) + ) + (i32.store + (get_local $6) + (tee_local $7 + (i32.add + (get_local $12) + (get_local $13) + ) + ) + ) + (if + (i32.gt_u + (get_local $7) + (i32.const 999999999) + ) + (loop $while-in86 + (i32.store + (get_local $6) + (i32.const 0) + ) + (if + (i32.lt_u + (tee_local $6 + (i32.add + (get_local $6) + (i32.const -4) + ) + ) + (get_local $5) + ) + (i32.store + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -4) + ) + ) + (i32.const 0) + ) + ) + (i32.store + (get_local $6) + (tee_local $7 + (i32.add + (i32.load + (get_local $6) + ) + (i32.const 1) + ) + ) + ) + (br_if $while-in86 + (i32.gt_u + (get_local $7) + (i32.const 999999999) + ) + ) + ) + ) + (set_local $7 + (i32.mul + (i32.shr_s + (i32.sub + (get_local $21) + (get_local $5) + ) + (i32.const 2) + ) + (i32.const 9) + ) + ) + (br_if $do-once81 + (i32.lt_u + (tee_local $13 + (i32.load + (get_local $5) + ) + ) + (i32.const 10) + ) + ) + (set_local $12 + (i32.const 10) + ) + (loop $while-in88 + (set_local $7 + (i32.add + (get_local $7) + (i32.const 1) + ) + ) + (br_if $while-in88 + (i32.ge_u + (get_local $13) + (tee_local $12 + (i32.mul + (get_local $12) + (i32.const 10) + ) + ) + ) + ) + ) + ) + ) + (set_local $12 + (get_local $5) + ) + (set_local $13 + (get_local $7) + ) + (select + (tee_local $5 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + (get_local $9) + (i32.gt_u + (get_local $9) + (get_local $5) + ) + ) + ) + (block (result i32) + (set_local $12 + (get_local $5) + ) + (set_local $13 + (get_local $7) + ) + (get_local $9) + ) + ) ) - (get_local $37) - ) - ) - (br_if $while-in74 - (i32.lt_u - (tee_local $7 - (i32.add - (get_local $7) - (i32.const 4) + (set_local $9 + (loop $while-in90 (result i32) + (block $while-out89 (result i32) + (if + (i32.le_u + (get_local $5) + (get_local $12) + ) + (block + (set_local $24 + (i32.const 0) + ) + (br $while-out89 + (get_local $5) + ) + ) + ) + (if (result i32) + (i32.load + (tee_local $7 + (i32.add + (get_local $5) + (i32.const -4) + ) + ) + ) + (block (result i32) + (set_local $24 + (i32.const 1) + ) + (get_local $5) + ) + (block + (set_local $5 + (get_local $7) + ) + (br $while-in90) + ) + ) + ) ) ) - (get_local $5) - ) - ) - ) - (set_local $7 - (select - (get_local $6) - (i32.add - (get_local $6) - (i32.const 4) - ) - (i32.load - (get_local $6) - ) - ) - ) - (br_if $do-once71 - (i32.eqz - (get_local $9) - ) - ) - (i32.store - (get_local $5) - (get_local $9) - ) - (set_local $5 - (i32.add - (get_local $5) - (i32.const 4) - ) - ) - ) - (set_local $7 - (select - (get_local $6) - (i32.add - (get_local $6) - (i32.const 4) - ) - (i32.load - (get_local $6) - ) - ) - ) - ) - (set_local $12 - (select - (i32.add - (tee_local $6 - (select - (get_local $8) - (get_local $7) - (get_local $31) - ) - ) - (i32.shl - (get_local $21) - (i32.const 2) - ) - ) - (get_local $5) - (i32.gt_s - (i32.shr_s - (i32.sub - (get_local $5) - (get_local $6) - ) - (i32.const 2) - ) - (get_local $21) - ) - ) - ) - (i32.store - (get_local $20) - (tee_local $9 - (i32.add - (i32.load - (get_local $20) - ) - (get_local $13) - ) - ) - ) - (set_local $5 - (if (result i32) - (i32.lt_s - (get_local $9) - (i32.const 0) - ) - (block - (set_local $6 - (get_local $7) - ) - (set_local $5 - (get_local $12) - ) - (br $while-in70) - ) - (block (result i32) - (set_local $9 - (get_local $12) - ) - (get_local $7) - ) - ) - ) - ) - ) - (set_local $9 - (get_local $7) - ) - ) - (set_local $21 - (get_local $8) - ) - (if - (i32.lt_u - (get_local $5) - (get_local $9) - ) - (block $do-once75 - (set_local $7 - (i32.mul - (i32.shr_s - (i32.sub - (get_local $21) - (get_local $5) - ) - (i32.const 2) - ) - (i32.const 9) - ) - ) - (br_if $do-once75 - (i32.lt_u - (tee_local $12 - (i32.load - (get_local $5) - ) - ) - (i32.const 10) - ) - ) - (set_local $6 - (i32.const 10) - ) - (loop $while-in78 - (set_local $7 - (i32.add - (get_local $7) - (i32.const 1) - ) - ) - (br_if $while-in78 - (i32.ge_u - (get_local $12) - (tee_local $6 - (i32.mul - (get_local $6) - (i32.const 10) - ) - ) - ) - ) - ) - ) - (set_local $7 - (i32.const 0) - ) - ) - (set_local $5 - (if (result i32) - (i32.lt_s - (tee_local $6 - (i32.add - (i32.sub - (get_local $18) - (select - (get_local $7) - (i32.const 0) - (i32.ne - (get_local $24) - (i32.const 102) - ) - ) - ) - (i32.shr_s - (i32.shl - (i32.and - (tee_local $31 - (i32.ne - (get_local $18) - (i32.const 0) + (set_local $5 + (if (result i32) + (get_local $31) + (block $do-once91 (result i32) + (set_local $7 + (if (result i32) + (i32.and + (i32.gt_s + (tee_local $5 + (i32.add + (get_local $18) + (i32.xor + (get_local $37) + (i32.const 1) + ) + ) + ) + (get_local $13) + ) + (i32.gt_s + (get_local $13) + (i32.const -5) + ) + ) + (block (result i32) + (set_local $18 + (i32.sub + (i32.add + (get_local $5) + (i32.const -1) + ) + (get_local $13) + ) + ) + (i32.add + (get_local $19) + (i32.const -1) + ) + ) + (block (result i32) + (set_local $18 + (i32.add + (get_local $5) + (i32.const -1) + ) + ) + (i32.add + (get_local $19) + (i32.const -2) + ) + ) + ) + ) + (if + (tee_local $5 + (i32.and + (get_local $11) + (i32.const 8) + ) + ) + (block + (set_local $21 + (get_local $5) + ) + (br $do-once91 + (get_local $18) + ) + ) + ) + (if + (get_local $24) + (block $do-once93 + (if + (i32.eqz + (tee_local $19 + (i32.load + (i32.add + (get_local $9) + (i32.const -4) + ) + ) + ) + ) + (block + (set_local $5 + (i32.const 9) + ) + (br $do-once93) + ) + ) + (set_local $5 + (if (result i32) + (call $i32u-rem + (get_local $19) + (i32.const 10) + ) + (block + (set_local $5 + (i32.const 0) + ) + (br $do-once93) + ) + (block (result i32) + (set_local $6 + (i32.const 10) + ) + (i32.const 0) + ) + ) + ) + (loop $while-in96 + (set_local $5 + (i32.add + (get_local $5) + (i32.const 1) + ) + ) + (br_if $while-in96 + (i32.eqz + (call $i32u-rem + (get_local $19) + (tee_local $6 + (i32.mul + (get_local $6) + (i32.const 10) + ) + ) + ) + ) + ) + ) + ) + (set_local $5 + (i32.const 9) + ) + ) + (set_local $6 + (i32.add + (i32.mul + (i32.shr_s + (i32.sub + (get_local $9) + (get_local $21) + ) + (i32.const 2) + ) + (i32.const 9) + ) + (i32.const -9) + ) + ) + (if (result i32) + (i32.eq + (i32.or + (get_local $7) + (i32.const 32) + ) + (i32.const 102) + ) + (block (result i32) + (set_local $21 + (i32.const 0) + ) + (select + (get_local $18) + (tee_local $5 + (select + (i32.const 0) + (tee_local $5 + (i32.sub + (get_local $6) + (get_local $5) + ) + ) + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + ) + ) + (i32.lt_s + (get_local $18) + (get_local $5) + ) + ) + ) + (block (result i32) + (set_local $21 + (i32.const 0) + ) + (select + (get_local $18) + (tee_local $5 + (select + (i32.const 0) + (tee_local $5 + (i32.sub + (i32.add + (get_local $6) + (get_local $13) + ) + (get_local $5) + ) + ) + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + ) + ) + (i32.lt_s + (get_local $18) + (get_local $5) + ) + ) + ) + ) + ) + (block (result i32) + (set_local $21 + (i32.and + (get_local $11) + (i32.const 8) + ) + ) + (set_local $7 + (get_local $19) + ) + (get_local $18) + ) ) ) - (tee_local $37 - (i32.eq - (get_local $24) - (i32.const 103) + (set_local $6 + (i32.sub + (i32.const 0) + (get_local $13) ) ) - ) - (i32.const 31) - ) - (i32.const 31) - ) - ) - ) - (i32.add - (i32.mul - (i32.shr_s - (i32.sub - (get_local $9) - (get_local $21) - ) - (i32.const 2) - ) - (i32.const 9) - ) - (i32.const -9) - ) - ) - (block (result i32) - (set_local $13 - (call $i32s-div - (tee_local $6 - (i32.add - (get_local $6) - (i32.const 9216) - ) - ) - (i32.const 9) - ) - ) - (if - (i32.lt_s - (tee_local $6 - (i32.add - (i32.rem_s - (get_local $6) - (i32.const 9) - ) - (i32.const 1) - ) - ) - (i32.const 9) - ) - (block - (set_local $12 - (i32.const 10) - ) - (loop $while-in80 - (set_local $12 - (i32.mul - (get_local $12) - (i32.const 10) - ) - ) - (br_if $while-in80 - (i32.ne - (tee_local $6 - (i32.add - (get_local $6) - (i32.const 1) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (tee_local $13 + (i32.add + (if (result i32) + (tee_local $18 + (i32.eq + (i32.or + (get_local $7) + (i32.const 32) + ) + (i32.const 102) + ) + ) + (block (result i32) + (set_local $19 + (i32.const 0) + ) + (select + (get_local $13) + (i32.const 0) + (i32.gt_s + (get_local $13) + (i32.const 0) + ) + ) + ) + (block (result i32) + (if + (i32.lt_s + (i32.sub + (get_local $27) + (tee_local $6 + (call $_fmt_u + (tee_local $6 + (select + (get_local $6) + (get_local $13) + (i32.lt_s + (get_local $13) + (i32.const 0) + ) + ) + ) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $6) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) + (get_local $32) + ) + ) + ) + (i32.const 2) + ) + (loop $while-in98 + (i32.store8 + (tee_local $6 + (i32.add + (get_local $6) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in98 + (i32.lt_s + (i32.sub + (get_local $27) + (get_local $6) + ) + (i32.const 2) + ) + ) + ) + ) + (i32.store8 + (i32.add + (get_local $6) + (i32.const -1) + ) + (i32.add + (i32.and + (i32.shr_s + (get_local $13) + (i32.const 31) + ) + (i32.const 2) + ) + (i32.const 43) + ) + ) + (i32.store8 + (tee_local $19 + (i32.add + (get_local $6) + (i32.const -2) + ) + ) + (get_local $7) + ) + (i32.sub + (get_local $27) + (get_local $19) + ) + ) + ) + (i32.add + (i32.add + (i32.add + (get_local $26) + (i32.const 1) + ) + (get_local $5) + ) + (i32.ne + (tee_local $31 + (i32.or + (get_local $5) + (get_local $21) + ) + ) + (i32.const 0) + ) + ) + ) ) + (get_local $11) ) - (i32.const 9) - ) - ) - ) - ) - (set_local $12 - (i32.const 10) - ) - ) - (set_local $13 - (call $i32u-rem - (tee_local $24 - (i32.load - (tee_local $6 - (i32.add - (i32.add - (get_local $8) - (i32.shl - (get_local $13) - (i32.const 2) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $30) + (get_local $26) + (get_local $0) ) ) - (i32.const -4092) ) - ) - ) - ) - (get_local $12) - ) - ) - (if - (i32.eqz - (i32.and - (tee_local $38 - (i32.eq - (i32.add - (get_local $6) - (i32.const 4) + (call $_pad + (get_local $0) + (i32.const 48) + (get_local $15) + (get_local $13) + (i32.xor + (get_local $11) + (i32.const 65536) + ) ) - (get_local $9) - ) - ) - (i32.eqz - (get_local $13) - ) - ) - ) - (block $do-once81 - (set_local $50 - (call $i32u-div - (get_local $24) - (get_local $12) - ) - ) - (set_local $16 - (if (result f64) - (i32.lt_u - (get_local $13) - (tee_local $51 - (call $i32s-div - (get_local $12) - (i32.const 2) + (if + (get_local $18) + (block + (set_local $6 + (tee_local $12 + (select + (get_local $8) + (get_local $12) + (i32.gt_u + (get_local $12) + (get_local $8) + ) + ) + ) + ) + (loop $while-in102 + (set_local $7 + (call $_fmt_u + (i32.load + (get_local $6) + ) + (i32.const 0) + (get_local $29) + ) + ) + (block $do-once103 + (if + (i32.eq + (get_local $6) + (get_local $12) + ) + (block + (br_if $do-once103 + (i32.ne + (get_local $7) + (get_local $29) + ) + ) + (i32.store8 + (get_local $33) + (i32.const 48) + ) + (set_local $7 + (get_local $33) + ) + ) + (block + (br_if $do-once103 + (i32.le_u + (get_local $7) + (get_local $22) + ) + ) + (loop $while-in106 + (i32.store8 + (tee_local $7 + (i32.add + (get_local $7) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in106 + (i32.gt_u + (get_local $7) + (get_local $22) + ) + ) + ) + ) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $7) + (i32.sub + (get_local $42) + (get_local $7) + ) + (get_local $0) + ) + ) + ) + (if + (i32.le_u + (tee_local $7 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + (get_local $8) + ) + (block + (set_local $6 + (get_local $7) + ) + (br $while-in102) + ) + ) + ) + (if + (get_local $31) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (i32.const 4143) + (i32.const 1) + (get_local $0) + ) + ) + ) + ) + (if + (i32.and + (i32.lt_u + (get_local $7) + (get_local $9) + ) + (i32.gt_s + (get_local $5) + (i32.const 0) + ) + ) + (loop $while-in110 + (if + (i32.gt_u + (tee_local $6 + (call $_fmt_u + (i32.load + (get_local $7) + ) + (i32.const 0) + (get_local $29) + ) + ) + (get_local $22) + ) + (loop $while-in112 + (i32.store8 + (tee_local $6 + (i32.add + (get_local $6) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in112 + (i32.gt_u + (get_local $6) + (get_local $22) + ) + ) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $6) + (select + (i32.const 9) + (get_local $5) + (i32.gt_s + (get_local $5) + (i32.const 9) + ) + ) + (get_local $0) + ) + ) + ) + (set_local $6 + (i32.add + (get_local $5) + (i32.const -9) + ) + ) + (set_local $5 + (if (result i32) + (i32.and + (i32.lt_u + (tee_local $7 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (get_local $9) + ) + (i32.gt_s + (get_local $5) + (i32.const 9) + ) + ) + (block + (set_local $5 + (get_local $6) + ) + (br $while-in110) + ) + (get_local $6) + ) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.add + (get_local $5) + (i32.const 9) + ) + (i32.const 9) + (i32.const 0) + ) + ) + (block $do-once99 + (set_local $9 + (select + (get_local $9) + (i32.add + (get_local $12) + (i32.const 4) + ) + (get_local $24) + ) + ) + (if + (i32.gt_s + (get_local $5) + (i32.const -1) + ) + (block + (set_local $18 + (i32.eqz + (get_local $21) + ) + ) + (set_local $6 + (get_local $12) + ) + (set_local $7 + (get_local $5) + ) + (loop $while-in114 + (if + (i32.eq + (tee_local $5 + (call $_fmt_u + (i32.load + (get_local $6) + ) + (i32.const 0) + (get_local $29) + ) + ) + (get_local $29) + ) + (block + (i32.store8 + (get_local $33) + (i32.const 48) + ) + (set_local $5 + (get_local $33) + ) + ) + ) + (block $do-once115 + (if + (i32.eq + (get_local $6) + (get_local $12) + ) + (block + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $5) + (i32.const 1) + (get_local $0) + ) + ) + ) + (set_local $5 + (i32.add + (get_local $5) + (i32.const 1) + ) + ) + (br_if $do-once115 + (i32.and + (i32.lt_s + (get_local $7) + (i32.const 1) + ) + (get_local $18) + ) + ) + (br_if $do-once115 + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (i32.const 4143) + (i32.const 1) + (get_local $0) + ) + ) + ) + (block + (br_if $do-once115 + (i32.le_u + (get_local $5) + (get_local $22) + ) + ) + (loop $while-in118 + (i32.store8 + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in118 + (i32.gt_u + (get_local $5) + (get_local $22) + ) + ) + ) + ) + ) + ) + (set_local $8 + (i32.sub + (get_local $42) + (get_local $5) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $5) + (select + (get_local $8) + (get_local $7) + (i32.gt_s + (get_local $7) + (get_local $8) + ) + ) + (get_local $0) + ) + ) + ) + (br_if $while-in114 + (i32.and + (i32.lt_u + (tee_local $6 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + (get_local $9) + ) + (i32.gt_s + (tee_local $7 + (i32.sub + (get_local $7) + (get_local $8) + ) + ) + (i32.const -1) + ) + ) + ) + ) + (set_local $5 + (get_local $7) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.add + (get_local $5) + (i32.const 18) + ) + (i32.const 18) + (i32.const 0) + ) + (br_if $do-once99 + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $19) + (i32.sub + (get_local $27) + (get_local $19) + ) + (get_local $0) + ) + ) ) ) - ) - (f64.const 0.5) - (select - (f64.const 1) - (f64.const 1.5) - (i32.and - (get_local $38) - (i32.eq - (get_local $13) - (get_local $51) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (get_local $13) + (i32.xor + (get_local $11) + (i32.const 8192) ) ) - ) - ) - ) - (set_local $23 - (select - (f64.const 9007199254740994) - (f64.const 9007199254740992) - (i32.and - (get_local $50) - (i32.const 1) - ) - ) - ) - (if - (get_local $26) - (if - (i32.eq - (i32.load8_s - (get_local $30) + (select + (get_local $15) + (get_local $13) + (i32.lt_s + (get_local $13) + (get_local $15) + ) ) - (i32.const 45) ) - (block - (set_local $23 - (f64.neg - (get_local $23) + (block (result i32) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (tee_local $7 + (i32.add + (tee_local $9 + (select + (i32.const 0) + (get_local $26) + (tee_local $6 + (f64.ne + (get_local $16) + (get_local $16) + ) + ) + ) + ) + (i32.const 3) + ) ) + (get_local $8) ) - (set_local $16 - (f64.neg - (get_local $16) + (if + (i32.eqz + (i32.and + (tee_local $5 + (i32.load + (get_local $0) + ) + ) + (i32.const 32) + ) + ) + (block + (drop + (call $___fwritex + (get_local $30) + (get_local $9) + (get_local $0) + ) + ) + (set_local $5 + (i32.load + (get_local $0) + ) + ) ) ) - ) - ) - ) - (i32.store - (get_local $6) - (tee_local $13 - (i32.sub - (get_local $24) - (get_local $13) - ) - ) - ) - (br_if $do-once81 - (f64.eq - (f64.add - (get_local $23) - (get_local $16) - ) - (get_local $23) - ) - ) - (i32.store - (get_local $6) - (tee_local $7 - (i32.add - (get_local $13) - (get_local $12) - ) - ) - ) - (if - (i32.gt_u - (get_local $7) - (i32.const 999999999) - ) - (loop $while-in86 - (i32.store - (get_local $6) - (i32.const 0) - ) - (if - (i32.lt_u - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -4) + (set_local $6 + (select + (select + (i32.const 4135) + (i32.const 4139) + (tee_local $8 + (i32.ne + (i32.and + (get_local $19) + (i32.const 32) + ) + (i32.const 0) + ) + ) ) + (select + (i32.const 4127) + (i32.const 4131) + (get_local $8) + ) + (get_local $6) ) - (get_local $5) ) - (i32.store - (tee_local $5 - (i32.add + (if + (i32.eqz + (i32.and (get_local $5) - (i32.const -4) + (i32.const 32) ) ) - (i32.const 0) - ) - ) - (i32.store - (get_local $6) - (tee_local $7 - (i32.add - (i32.load + (drop + (call $___fwritex (get_local $6) + (i32.const 3) + (get_local $0) ) - (i32.const 1) ) ) - ) - (br_if $while-in86 - (i32.gt_u + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) (get_local $7) - (i32.const 999999999) - ) - ) - ) - ) - (set_local $7 - (i32.mul - (i32.shr_s - (i32.sub - (get_local $21) - (get_local $5) + (i32.xor + (get_local $11) + (i32.const 8192) + ) ) - (i32.const 2) - ) - (i32.const 9) - ) - ) - (br_if $do-once81 - (i32.lt_u - (tee_local $13 - (i32.load - (get_local $5) + (select + (get_local $15) + (get_local $7) + (i32.lt_s + (get_local $7) + (get_local $15) + ) ) ) - (i32.const 10) ) ) - (set_local $12 - (i32.const 10) + (set_local $5 + (get_local $10) ) - (loop $while-in88 - (set_local $7 - (i32.add - (get_local $7) - (i32.const 1) - ) - ) - (br_if $while-in88 - (i32.ge_u - (get_local $13) - (tee_local $12 - (i32.mul - (get_local $12) - (i32.const 10) - ) - ) - ) - ) + (set_local $10 + (get_local $7) ) + (br $label$continue$L1) ) - ) - (set_local $12 - (get_local $5) - ) - (set_local $13 - (get_local $7) - ) - (select - (tee_local $5 - (i32.add - (get_local $6) - (i32.const 4) - ) + (set_local $12 + (get_local $6) ) - (get_local $9) - (i32.gt_u - (get_local $9) - (get_local $5) + (set_local $8 + (i32.const 0) ) - ) - ) - (block (result i32) - (set_local $12 - (get_local $5) - ) - (set_local $13 - (get_local $7) - ) - (get_local $9) - ) - ) - ) - (set_local $9 - (loop $while-in90 (result i32) - (block $while-out89 (result i32) - (if - (i32.le_u - (get_local $5) - (get_local $12) + (set_local $9 + (i32.const 4091) ) - (block - (set_local $24 - (i32.const 0) - ) - (br $while-out89 - (get_local $5) - ) + (br $__rjto$8 + (get_local $25) ) ) - (if (result i32) - (i32.load + (set_local $9 + (i32.and + (get_local $19) + (i32.const 32) + ) + ) + (if + (i32.or (tee_local $7 - (i32.add - (get_local $5) - (i32.const -4) + (i32.load + (get_local $14) ) ) - ) - (block (result i32) - (set_local $24 - (i32.const 1) + (tee_local $11 + (i32.load offset=4 + (get_local $14) + ) ) - (get_local $5) ) (block - (set_local $5 - (get_local $7) - ) - (br $while-in90) - ) - ) - ) - ) - ) - (set_local $5 - (if (result i32) - (get_local $37) - (block $do-once91 (result i32) - (set_local $7 - (if (result i32) - (i32.and - (i32.gt_s - (tee_local $5 - (i32.add - (i32.xor - (get_local $31) - (i32.const 1) - ) - (get_local $18) - ) - ) - (get_local $13) - ) - (i32.gt_s - (get_local $13) - (i32.const -5) - ) + (set_local $8 + (get_local $25) ) - (block (result i32) - (set_local $18 - (i32.sub + (loop $while-in123 + (i32.store8 + (tee_local $8 (i32.add - (get_local $5) + (get_local $8) (i32.const -1) ) - (get_local $13) - ) - ) - (i32.add - (get_local $19) - (i32.const -1) - ) - ) - (block (result i32) - (set_local $18 - (i32.add - (get_local $5) - (i32.const -1) ) - ) - (i32.add - (get_local $19) - (i32.const -2) - ) - ) - ) - ) - (if - (tee_local $5 - (i32.and - (get_local $11) - (i32.const 8) - ) - ) - (block - (set_local $21 - (get_local $5) - ) - (br $do-once91 - (get_local $18) - ) - ) - ) - (if - (get_local $24) - (block $do-once93 - (if - (i32.eqz - (tee_local $19 - (i32.load + (i32.or + (get_local $9) + (i32.load8_u (i32.add - (get_local $9) - (i32.const -4) + (i32.and + (get_local $7) + (i32.const 15) + ) + (i32.const 4075) ) ) ) ) - (block - (set_local $5 - (i32.const 9) + (br_if $while-in123 + (i32.or + (tee_local $7 + (call $_bitshift64Lshr + (get_local $7) + (get_local $11) + (i32.const 4) + ) + ) + (tee_local $11 + (get_global $tempRet0) + ) ) - (br $do-once93) ) ) - (set_local $5 + (set_local $7 + (get_local $8) + ) + (set_local $8 (if (result i32) - (call $i32u-rem - (get_local $19) - (i32.const 10) - ) - (block - (set_local $5 - (i32.const 0) + (i32.or + (i32.eqz + (i32.or + (i32.load + (get_local $14) + ) + (i32.load offset=4 + (get_local $14) + ) + ) + ) + (i32.eqz + (i32.and + (get_local $5) + (i32.const 8) + ) ) - (br $do-once93) ) (block (result i32) - (set_local $6 - (i32.const 10) + (set_local $9 + (i32.const 4091) ) (i32.const 0) ) - ) - ) - (loop $while-in96 - (set_local $5 - (i32.add - (get_local $5) - (i32.const 1) - ) - ) - (br_if $while-in96 - (i32.eqz - (call $i32u-rem - (get_local $19) - (tee_local $6 - (i32.mul - (get_local $6) - (i32.const 10) + (block (result i32) + (set_local $9 + (i32.add + (i32.shr_s + (get_local $19) + (i32.const 4) ) + (i32.const 4091) ) ) + (i32.const 2) ) ) ) ) - (set_local $5 - (i32.const 9) - ) - ) - (set_local $6 - (i32.add - (i32.mul - (i32.shr_s - (i32.sub - (get_local $9) - (get_local $21) - ) - (i32.const 2) - ) - (i32.const 9) - ) - (i32.const -9) - ) - ) - (if (result i32) - (i32.eq - (i32.or - (get_local $7) - (i32.const 32) + (block + (set_local $7 + (get_local $25) ) - (i32.const 102) - ) - (block (result i32) - (set_local $21 + (set_local $8 (i32.const 0) ) - (select - (get_local $18) - (tee_local $5 - (select - (i32.const 0) - (tee_local $5 - (i32.sub - (get_local $6) - (get_local $5) - ) - ) - (i32.lt_s - (get_local $5) - (i32.const 0) - ) - ) - ) - (i32.lt_s - (get_local $18) - (get_local $5) - ) + (set_local $9 + (i32.const 4091) ) ) - (block (result i32) - (set_local $21 - (i32.const 0) - ) - (select - (get_local $18) - (tee_local $5 - (select - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.add - (get_local $6) - (get_local $13) - ) - (get_local $5) - ) - ) - (i32.lt_s - (get_local $5) - (i32.const 0) - ) - ) - ) - (i32.lt_s - (get_local $18) - (get_local $5) - ) - ) + ) + (br $__rjti$8) + ) + (set_local $7 + (call $_fmt_u + (get_local $5) + (get_local $7) + (get_local $25) + ) + ) + (set_local $5 + (get_local $11) + ) + (br $__rjti$8) + ) + (set_local $19 + (i32.eqz + (tee_local $13 + (call $_memchr + (get_local $7) + (get_local $6) ) ) ) - (block (result i32) - (set_local $21 - (i32.and - (get_local $11) - (i32.const 8) + ) + (set_local $11 + (get_local $8) + ) + (set_local $12 + (select + (get_local $6) + (i32.sub + (get_local $13) + (tee_local $5 + (get_local $7) ) ) - (set_local $7 - (get_local $19) + (get_local $19) + ) + ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (br $__rjto$8 + (select + (i32.add + (get_local $5) + (get_local $6) ) - (get_local $18) + (get_local $13) + (get_local $19) ) ) ) + (set_local $5 + (i32.const 0) + ) + (set_local $7 + (i32.const 0) + ) (set_local $6 - (i32.sub - (i32.const 0) - (get_local $13) + (i32.load + (get_local $14) ) ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (tee_local $13 - (i32.add - (i32.add - (i32.add - (i32.add - (get_local $26) - (i32.const 1) - ) - (get_local $5) - ) - (i32.ne - (tee_local $31 - (i32.or - (get_local $5) - (get_local $21) - ) + (loop $while-in125 + (block $while-out124 + (br_if $while-out124 + (i32.eqz + (tee_local $9 + (i32.load + (get_local $6) ) - (i32.const 0) ) ) - (if (result i32) - (tee_local $18 - (i32.eq - (i32.or - (get_local $7) - (i32.const 32) + ) + (br_if $while-out124 + (i32.or + (i32.lt_s + (tee_local $7 + (call $_wctomb + (get_local $35) + (get_local $9) ) - (i32.const 102) ) + (i32.const 0) ) - (block (result i32) - (set_local $19 - (i32.const 0) - ) - (select - (get_local $13) - (i32.const 0) - (i32.gt_s - (get_local $13) - (i32.const 0) - ) + (i32.gt_u + (get_local $7) + (i32.sub + (get_local $8) + (get_local $5) ) ) - (block (result i32) - (if - (i32.lt_s - (i32.sub - (get_local $27) - (tee_local $6 - (call $_fmt_u - (tee_local $6 - (select - (get_local $6) - (get_local $13) - (i32.lt_s - (get_local $13) - (i32.const 0) - ) - ) - ) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $6) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.const 31) - ) - (get_local $32) - ) - ) - ) - (i32.const 2) - ) - (loop $while-in98 - (i32.store8 - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in98 - (i32.lt_s - (i32.sub - (get_local $27) - (get_local $6) - ) - (i32.const 2) - ) - ) - ) - ) - (i32.store8 - (i32.add - (get_local $6) - (i32.const -1) - ) - (i32.add - (i32.and - (i32.shr_s - (get_local $13) - (i32.const 31) - ) - (i32.const 2) - ) - (i32.const 43) - ) - ) - (i32.store8 - (tee_local $19 - (i32.add - (get_local $6) - (i32.const -2) - ) - ) + ) + ) + (set_local $6 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + (br_if $while-in125 + (i32.gt_u + (get_local $8) + (tee_local $5 + (i32.add + (get_local $5) (get_local $7) ) - (i32.sub - (get_local $27) - (get_local $19) - ) ) ) ) ) - (get_local $11) ) (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) + (i32.lt_s + (get_local $7) + (i32.const 0) ) - (drop - (call $___fwritex - (get_local $30) - (get_local $26) - (get_local $0) + (block + (set_local $17 + (i32.const -1) ) + (br $label$break$L1) ) ) (call $_pad (get_local $0) - (i32.const 48) + (i32.const 32) (get_local $15) - (get_local $13) - (i32.xor - (get_local $11) - (i32.const 65536) - ) + (get_local $5) + (get_local $11) ) - (if - (get_local $18) - (block + (if (result i32) + (get_local $5) + (block (result i32) (set_local $6 - (tee_local $12 - (select - (get_local $8) - (get_local $12) - (i32.gt_u - (get_local $12) - (get_local $8) - ) - ) - ) + (i32.const 0) ) - (loop $while-in102 - (set_local $7 - (call $_fmt_u - (i32.load - (get_local $6) - ) - (i32.const 0) - (get_local $29) - ) + (set_local $7 + (i32.load + (get_local $14) ) - (block $do-once103 - (if - (i32.eq - (get_local $6) - (get_local $12) - ) - (block - (br_if $do-once103 - (i32.ne + ) + (loop $while-in127 + (drop + (br_if $__rjti$7 + (get_local $5) + (i32.eqz + (tee_local $8 + (i32.load (get_local $7) - (get_local $29) ) ) - (i32.store8 - (get_local $33) - (i32.const 48) - ) - (set_local $7 - (get_local $33) - ) ) - (block - (br_if $do-once103 - (i32.le_u - (get_local $7) - (get_local $22) - ) - ) - (loop $while-in106 - (i32.store8 - (tee_local $7 - (i32.add - (get_local $7) - (i32.const -1) + ) + ) + (drop + (br_if $__rjti$7 + (get_local $5) + (i32.gt_s + (tee_local $6 + (i32.add + (tee_local $8 + (call $_wctomb + (get_local $35) + (get_local $8) ) ) - (i32.const 48) - ) - (br_if $while-in106 - (i32.gt_u - (get_local $7) - (get_local $22) - ) + (get_local $6) ) ) + (get_local $5) ) ) ) @@ -5738,972 +6598,123 @@ ) (drop (call $___fwritex - (get_local $7) - (i32.sub - (get_local $43) - (get_local $7) - ) - (get_local $0) - ) - ) - ) - (if - (i32.le_u - (tee_local $7 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) - (get_local $8) - ) - (block - (set_local $6 - (get_local $7) - ) - (br $while-in102) - ) - ) - ) - (if - (get_local $31) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) + (get_local $35) + (get_local $8) (get_local $0) ) ) ) - ) - (if - (i32.and - (i32.gt_s - (get_local $5) - (i32.const 0) - ) - (i32.lt_u - (get_local $7) - (get_local $9) - ) - ) - (loop $while-in110 - (if - (i32.gt_u - (tee_local $6 - (call $_fmt_u - (i32.load - (get_local $7) - ) - (i32.const 0) - (get_local $29) - ) - ) - (get_local $22) - ) - (loop $while-in112 - (i32.store8 - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in112 - (i32.gt_u - (get_local $6) - (get_local $22) - ) - ) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $6) - (select - (i32.const 9) - (get_local $5) - (i32.gt_s - (get_local $5) - (i32.const 9) - ) - ) - (get_local $0) - ) - ) - ) - (set_local $6 - (i32.add - (get_local $5) - (i32.const -9) - ) - ) - (set_local $5 - (if (result i32) - (i32.and - (i32.gt_s - (get_local $5) - (i32.const 9) - ) - (i32.lt_u - (tee_local $7 - (i32.add - (get_local $7) - (i32.const 4) - ) - ) - (get_local $9) - ) - ) - (block - (set_local $5 - (get_local $6) - ) - (br $while-in110) - ) - (get_local $6) - ) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (i32.add - (get_local $5) - (i32.const 9) - ) - (i32.const 9) - (i32.const 0) - ) - ) - (block $do-once99 - (set_local $9 - (select - (get_local $9) + (set_local $7 (i32.add - (get_local $12) + (get_local $7) (i32.const 4) ) - (get_local $24) ) - ) - (if - (i32.gt_s - (get_local $5) - (i32.const -1) - ) - (block - (set_local $18 - (i32.eqz - (get_local $21) - ) - ) - (set_local $6 - (get_local $12) - ) - (set_local $7 + (br_if $while-in127 + (i32.lt_u + (get_local $6) (get_local $5) ) - (loop $while-in114 - (if - (i32.eq - (tee_local $5 - (call $_fmt_u - (i32.load - (get_local $6) - ) - (i32.const 0) - (get_local $29) - ) - ) - (get_local $29) - ) - (block - (i32.store8 - (get_local $33) - (i32.const 48) - ) - (set_local $5 - (get_local $33) - ) - ) - ) - (block $do-once115 - (if - (i32.eq - (get_local $6) - (get_local $12) - ) - (block - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $5) - (i32.const 1) - (get_local $0) - ) - ) - ) - (set_local $5 - (i32.add - (get_local $5) - (i32.const 1) - ) - ) - (br_if $do-once115 - (i32.and - (get_local $18) - (i32.lt_s - (get_local $7) - (i32.const 1) - ) - ) - ) - (br_if $do-once115 - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) - (get_local $0) - ) - ) - ) - (block - (br_if $do-once115 - (i32.le_u - (get_local $5) - (get_local $22) - ) - ) - (loop $while-in118 - (i32.store8 - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in118 - (i32.gt_u - (get_local $5) - (get_local $22) - ) - ) - ) - ) - ) - ) - (set_local $8 - (i32.sub - (get_local $43) - (get_local $5) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $5) - (select - (get_local $8) - (get_local $7) - (i32.gt_s - (get_local $7) - (get_local $8) - ) - ) - (get_local $0) - ) - ) - ) - (br_if $while-in114 - (i32.and - (i32.lt_u - (tee_local $6 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) - (get_local $9) - ) - (i32.gt_s - (tee_local $7 - (i32.sub - (get_local $7) - (get_local $8) - ) - ) - (i32.const -1) - ) - ) - ) - ) - (set_local $5 - (get_local $7) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (i32.add - (get_local $5) - (i32.const 18) - ) - (i32.const 18) - (i32.const 0) - ) - (br_if $do-once99 - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $19) - (i32.sub - (get_local $27) - (get_local $19) - ) - (get_local $0) - ) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (get_local $13) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (select - (get_local $15) - (get_local $13) - (i32.lt_s - (get_local $13) - (get_local $15) - ) - ) - ) - (block (result i32) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (tee_local $7 - (i32.add - (tee_local $9 - (select - (i32.const 0) - (get_local $26) - (tee_local $6 - (f64.ne - (get_local $16) - (get_local $16) - ) - ) - ) - ) - (i32.const 3) - ) - ) - (get_local $8) - ) - (if - (i32.eqz - (i32.and - (tee_local $5 - (i32.load - (get_local $0) - ) ) - (i32.const 32) ) + (get_local $5) ) - (block - (drop - (call $___fwritex - (get_local $30) - (get_local $9) - (get_local $0) - ) - ) - (set_local $5 - (i32.load - (get_local $0) - ) - ) - ) - ) - (set_local $6 - (select - (select - (i32.const 4135) - (i32.const 4139) - (tee_local $8 - (i32.ne - (i32.and - (get_local $19) - (i32.const 32) - ) - (i32.const 0) - ) - ) - ) - (select - (i32.const 4127) - (i32.const 4131) - (get_local $8) - ) - (get_local $6) - ) - ) - (if - (i32.eqz - (i32.and - (get_local $5) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $6) - (i32.const 3) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (get_local $7) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (select - (get_local $15) - (get_local $7) - (i32.lt_s - (get_local $7) - (get_local $15) - ) + (i32.const 0) ) ) ) + (i32.xor + (get_local $11) + (i32.const 8192) + ) ) (set_local $5 (get_local $10) ) (set_local $10 - (get_local $7) + (select + (get_local $15) + (get_local $7) + (i32.gt_s + (get_local $15) + (get_local $7) + ) + ) ) (br $label$continue$L1) ) - (set_local $12 - (get_local $6) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjto$8 - (get_local $25) - ) - ) - (set_local $9 - (i32.and - (get_local $19) - (i32.const 32) - ) - ) - (if - (i32.or - (tee_local $7 - (i32.load - (get_local $14) + (set_local $11 + (select + (i32.and + (get_local $5) + (i32.const -65537) ) - ) - (tee_local $11 - (i32.load offset=4 - (get_local $14) + (get_local $5) + (i32.gt_s + (get_local $6) + (i32.const -1) ) ) ) - (block - (set_local $8 - (get_local $25) - ) - (loop $while-in123 - (i32.store8 - (tee_local $8 - (i32.add - (get_local $8) - (i32.const -1) - ) - ) + (if (result i32) + (i32.or + (get_local $6) + (tee_local $5 (i32.or - (i32.load8_u - (i32.add - (i32.and - (get_local $7) - (i32.const 15) - ) - (i32.const 4075) + (i32.ne + (i32.load + (get_local $14) ) + (i32.const 0) ) - (get_local $9) - ) - ) - (br_if $while-in123 - (i32.or - (tee_local $7 - (call $_bitshift64Lshr - (get_local $7) - (get_local $11) - (i32.const 4) + (i32.ne + (i32.load offset=4 + (get_local $14) ) - ) - (tee_local $11 - (get_global $tempRet0) + (i32.const 0) ) ) ) ) - (set_local $7 - (get_local $8) - ) - (set_local $8 - (if (result i32) - (i32.or - (i32.eqz - (i32.and - (get_local $5) - (i32.const 8) - ) - ) - (i32.eqz - (i32.or - (i32.load - (get_local $14) + (block (result i32) + (set_local $12 + (select + (get_local $6) + (tee_local $7 + (i32.add + (i32.xor + (i32.and + (get_local $5) + (i32.const 1) + ) + (i32.const 1) ) - (i32.load offset=4 - (get_local $14) + (i32.sub + (get_local $38) + (tee_local $5 + (get_local $7) + ) ) ) ) - ) - (block (result i32) - (set_local $9 - (i32.const 4091) - ) - (i32.const 0) - ) - (block (result i32) - (set_local $9 - (i32.add - (i32.shr_s - (get_local $19) - (i32.const 4) - ) - (i32.const 4091) - ) + (i32.gt_s + (get_local $6) + (get_local $7) ) - (i32.const 2) ) ) - ) - ) - (block - (set_local $7 (get_local $25) ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - ) - ) - (br $__rjti$8) - ) - (set_local $7 - (call $_fmt_u - (get_local $5) - (get_local $7) - (get_local $25) - ) - ) - (set_local $5 - (get_local $11) - ) - (br $__rjti$8) - ) - (set_local $19 - (i32.eqz - (tee_local $13 - (call $_memchr - (get_local $7) - (get_local $6) - ) - ) - ) - ) - (set_local $11 - (get_local $8) - ) - (set_local $12 - (select - (get_local $6) - (i32.sub - (get_local $13) - (tee_local $5 - (get_local $7) - ) - ) - (get_local $19) - ) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjto$8 - (select - (i32.add - (get_local $5) - (get_local $6) - ) - (get_local $13) - (get_local $19) - ) - ) - ) - (set_local $5 - (i32.const 0) - ) - (set_local $7 - (i32.const 0) - ) - (set_local $6 - (i32.load - (get_local $14) - ) - ) - (loop $while-in125 - (block $while-out124 - (br_if $while-out124 - (i32.eqz - (tee_local $9 - (i32.load - (get_local $6) - ) - ) - ) - ) - (br_if $while-out124 - (i32.or - (i32.lt_s - (tee_local $7 - (call $_wctomb - (get_local $35) - (get_local $9) - ) - ) - (i32.const 0) - ) - (i32.gt_u - (get_local $7) - (i32.sub - (get_local $8) - (get_local $5) - ) - ) - ) - ) - (set_local $6 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) - (br_if $while-in125 - (i32.gt_u - (get_local $8) - (tee_local $5 - (i32.add - (get_local $7) - (get_local $5) - ) - ) - ) - ) - ) - ) - (if - (i32.lt_s - (get_local $7) - (i32.const 0) - ) - (block - (set_local $17 - (i32.const -1) - ) - (br $label$break$L1) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (get_local $5) - (get_local $11) - ) - (if (result i32) - (get_local $5) - (block (result i32) - (set_local $6 - (i32.const 0) - ) - (set_local $7 - (i32.load - (get_local $14) - ) - ) - (loop $while-in127 - (drop - (br_if $__rjti$7 - (get_local $5) - (i32.eqz - (tee_local $8 - (i32.load - (get_local $7) - ) - ) - ) - ) - ) - (drop - (br_if $__rjti$7 - (get_local $5) - (i32.gt_s - (tee_local $6 - (i32.add - (tee_local $8 - (call $_wctomb - (get_local $35) - (get_local $8) - ) - ) - (get_local $6) - ) + (block (result i32) + (set_local $12 + (i32.const 0) ) - (get_local $5) - ) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) + (tee_local $5 + (get_local $25) ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $35) - (get_local $8) - (get_local $0) ) ) ) - (set_local $7 - (i32.add - (get_local $7) - (i32.const 4) - ) - ) - (br_if $while-in127 - (i32.lt_u - (get_local $6) - (get_local $5) - ) - ) - ) - (get_local $5) - ) - (i32.const 0) - ) - ) - ) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (set_local $5 - (get_local $10) - ) - (set_local $10 - (select - (get_local $15) - (get_local $7) - (i32.gt_s - (get_local $15) - (get_local $7) - ) - ) - ) - (br $label$continue$L1) - ) - (set_local $11 - (select - (i32.and - (get_local $5) - (i32.const -65537) - ) - (get_local $5) - (i32.gt_s - (get_local $6) - (i32.const -1) - ) - ) - ) - (if (result i32) - (i32.or - (get_local $6) - (tee_local $5 - (i32.or - (i32.ne - (i32.load - (get_local $14) - ) - (i32.const 0) - ) - (i32.ne - (i32.load offset=4 - (get_local $14) - ) - (i32.const 0) - ) - ) - ) - ) - (block (result i32) - (set_local $12 - (select - (get_local $6) - (tee_local $7 - (i32.add - (i32.xor - (i32.and - (get_local $5) - (i32.const 1) - ) - (i32.const 1) - ) - (i32.sub - (get_local $39) - (tee_local $5 - (get_local $7) - ) - ) - ) - ) - (i32.gt_s - (get_local $6) - (get_local $7) - ) - ) - ) - (get_local $25) - ) - (block (result i32) - (set_local $12 - (i32.const 0) - ) - (tee_local $5 - (get_local $25) - ) - ) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (tee_local $7 - (select - (tee_local $6 - (i32.add - (get_local $8) - (tee_local $12 - (select - (tee_local $13 - (i32.sub - (get_local $7) (get_local $5) ) ) @@ -6714,6 +6725,7 @@ ) ) ) + (get_local $8) ) ) (get_local $15) @@ -6813,22 +6825,22 @@ (tee_local $1 (i32.load (i32.add - (get_local $4) (i32.shl (get_local $0) (i32.const 2) ) + (get_local $4) ) ) ) (block (call $_pop_arg_336 (i32.add - (get_local $3) (i32.shl (get_local $0) (i32.const 3) ) + (get_local $3) ) (get_local $1) (get_local $2) @@ -6860,11 +6872,11 @@ (if (i32.load (i32.add - (get_local $4) (i32.shl (get_local $0) (i32.const 2) ) + (get_local $4) ) ) (block @@ -7308,10 +7320,6 @@ (local $4 i32) (if (i32.or - (i32.gt_u - (get_local $1) - (i32.const 0) - ) (i32.and (i32.eqz (get_local $1) @@ -7321,6 +7329,10 @@ (i32.const -1) ) ) + (i32.gt_u + (get_local $1) + (i32.const 0) + ) ) (loop $while-in (i32.store8 @@ -7354,10 +7366,6 @@ (set_local $0 (if (result i32) (i32.or - (i32.gt_u - (get_local $1) - (i32.const 9) - ) (i32.and (i32.eq (get_local $1) @@ -7368,6 +7376,10 @@ (i32.const -1) ) ) + (i32.gt_u + (get_local $1) + (i32.const 9) + ) ) (block (set_local $0 @@ -7448,16 +7460,16 @@ ) (if (i32.and - (i32.gt_s - (get_local $2) - (get_local $3) - ) (i32.eqz (i32.and (get_local $4) (i32.const 73728) ) ) + (i32.gt_s + (get_local $2) + (get_local $3) + ) ) (block $do-once (drop @@ -7630,48 +7642,47 @@ (i32.const 3) ) (block - (set_local $11 - (i32.load - (tee_local $1 - (i32.add - (tee_local $7 - (i32.load - (tee_local $3 - (i32.add - (tee_local $2 + (if + (i32.eq + (tee_local $7 + (i32.load + (tee_local $1 + (i32.add + (tee_local $11 + (i32.load + (tee_local $3 (i32.add - (i32.shl - (tee_local $4 - (i32.add - (i32.xor - (i32.and - (get_local $10) - (i32.const 1) + (tee_local $2 + (i32.add + (i32.shl + (tee_local $4 + (i32.add + (i32.xor + (i32.and + (get_local $10) + (i32.const 1) + ) + (i32.const 1) + ) + (get_local $13) ) - (i32.const 1) ) - (get_local $13) + (i32.const 3) ) + (i32.const 216) ) - (i32.const 3) ) - (i32.const 216) + (i32.const 8) ) ) - (i32.const 8) ) ) + (i32.const 8) ) ) - (i32.const 8) ) ) - ) - ) - (if - (i32.eq (get_local $2) - (get_local $11) ) (i32.store (i32.const 176) @@ -7689,7 +7700,7 @@ (block (if (i32.lt_u - (get_local $11) + (get_local $7) (i32.load (i32.const 192) ) @@ -7698,15 +7709,15 @@ ) (if (i32.eq + (get_local $11) (i32.load (tee_local $0 (i32.add - (get_local $11) + (get_local $7) (i32.const 12) ) ) ) - (get_local $7) ) (block (i32.store @@ -7715,7 +7726,7 @@ ) (i32.store (get_local $3) - (get_local $11) + (get_local $7) ) ) (call $_abort) @@ -7723,7 +7734,7 @@ ) ) (i32.store offset=4 - (get_local $7) + (get_local $11) (i32.or (tee_local $0 (i32.shl @@ -7738,8 +7749,8 @@ (tee_local $0 (i32.add (i32.add - (get_local $7) (get_local $0) + (get_local $11) ) (i32.const 4) ) @@ -7769,77 +7780,108 @@ (if (get_local $10) (block - (set_local $7 - (i32.and - (i32.shr_u - (tee_local $3 - (i32.add - (i32.and - (tee_local $3 - (i32.and - (i32.shl - (get_local $10) - (get_local $13) - ) - (i32.or - (tee_local $3 - (i32.shl - (i32.const 2) - (get_local $13) - ) - ) - (i32.sub - (i32.const 0) - (get_local $3) - ) - ) - ) - ) - (i32.sub - (i32.const 0) - (get_local $3) - ) - ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) - (set_local $10 - (i32.load - (tee_local $4 - (i32.add - (tee_local $8 - (i32.load - (tee_local $3 - (i32.add - (tee_local $7 + (if + (i32.eq + (tee_local $8 + (i32.load + (tee_local $4 + (i32.add + (tee_local $10 + (i32.load + (tee_local $3 (i32.add - (i32.shl - (tee_local $11 - (i32.add - (i32.or - (i32.or + (tee_local $7 + (i32.add + (i32.shl + (tee_local $11 + (i32.add (i32.or (i32.or + (i32.or + (i32.or + (tee_local $3 + (i32.and + (i32.shr_u + (tee_local $4 + (i32.add + (i32.and + (tee_local $3 + (i32.and + (i32.or + (tee_local $3 + (i32.shl + (i32.const 2) + (get_local $13) + ) + ) + (i32.sub + (i32.const 0) + (get_local $3) + ) + ) + (i32.shl + (get_local $10) + (get_local $13) + ) + ) + ) + (i32.sub + (i32.const 0) + (get_local $3) + ) + ) + (i32.const -1) + ) + ) + (i32.const 12) + ) + (i32.const 16) + ) + ) + (tee_local $3 + (i32.and + (i32.shr_u + (tee_local $4 + (i32.shr_u + (get_local $4) + (get_local $3) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + ) + (tee_local $3 + (i32.and + (i32.shr_u + (tee_local $4 + (i32.shr_u + (get_local $4) + (get_local $3) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + ) (tee_local $3 (i32.and (i32.shr_u (tee_local $4 (i32.shr_u + (get_local $4) (get_local $3) - (get_local $7) ) ) - (i32.const 5) + (i32.const 1) ) - (i32.const 8) + (i32.const 2) ) ) - (get_local $7) ) (tee_local $3 (i32.and @@ -7850,67 +7892,34 @@ (get_local $3) ) ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $4 - (i32.shr_u - (get_local $4) - (get_local $3) - ) + (i32.const 1) ) (i32.const 1) ) - (i32.const 2) ) ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $4 - (i32.shr_u - (get_local $4) - (get_local $3) - ) - ) - (i32.const 1) - ) - (i32.const 1) + (i32.shr_u + (get_local $4) + (get_local $3) ) ) ) - (i32.shr_u - (get_local $4) - (get_local $3) - ) + (i32.const 3) ) + (i32.const 216) ) - (i32.const 3) ) - (i32.const 216) + (i32.const 8) ) ) - (i32.const 8) ) ) + (i32.const 8) ) ) - (i32.const 8) ) ) - ) - ) - (if - (i32.eq (get_local $7) - (get_local $10) ) (block (i32.store @@ -7933,7 +7942,7 @@ (block (if (i32.lt_u - (get_local $10) + (get_local $8) (i32.load (i32.const 192) ) @@ -7945,12 +7954,12 @@ (i32.load (tee_local $0 (i32.add - (get_local $10) + (get_local $8) (i32.const 12) ) ) ) - (get_local $8) + (get_local $10) ) (block (i32.store @@ -7959,7 +7968,7 @@ ) (i32.store (get_local $3) - (get_local $10) + (get_local $8) ) (set_local $9 (i32.load @@ -7972,7 +7981,7 @@ ) ) (i32.store offset=4 - (get_local $8) + (get_local $10) (i32.or (get_local $2) (i32.const 3) @@ -7981,8 +7990,8 @@ (i32.store offset=4 (tee_local $7 (i32.add - (get_local $8) (get_local $2) + (get_local $10) ) ) (i32.or @@ -8071,8 +8080,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $3) (get_local $0) + (get_local $3) ) ) (set_local $5 @@ -8124,26 +8133,6 @@ ) ) (block - (set_local $7 - (i32.and - (i32.shr_u - (tee_local $0 - (i32.add - (i32.and - (get_local $0) - (i32.sub - (i32.const 0) - (get_local $0) - ) - ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) (set_local $11 (i32.sub (i32.and @@ -8160,9 +8149,29 @@ (i32.and (i32.shr_u (tee_local $1 + (i32.add + (i32.and + (get_local $0) + (i32.sub + (i32.const 0) + (get_local $0) + ) + ) + (i32.const -1) + ) + ) + (i32.const 12) + ) + (i32.const 16) + ) + ) + (tee_local $0 + (i32.and + (i32.shr_u + (tee_local $1 (i32.shr_u + (get_local $1) (get_local $0) - (get_local $7) ) ) (i32.const 5) @@ -8170,7 +8179,6 @@ (i32.const 8) ) ) - (get_local $7) ) (tee_local $0 (i32.and @@ -8314,8 +8322,8 @@ (get_local $8) (tee_local $5 (i32.add - (get_local $8) (get_local $2) + (get_local $8) ) ) ) @@ -8439,6 +8447,7 @@ ) (if (i32.ne + (get_local $8) (i32.load (tee_local $7 (i32.add @@ -8447,7 +8456,6 @@ ) ) ) - (get_local $8) ) (call $_abort) ) @@ -8485,7 +8493,6 @@ (block $do-once8 (if (i32.eq - (get_local $8) (i32.load (tee_local $0 (i32.add @@ -8501,6 +8508,7 @@ ) ) ) + (get_local $8) ) (block (i32.store @@ -8647,8 +8655,8 @@ (i32.or (tee_local $0 (i32.add - (get_local $6) (get_local $2) + (get_local $6) ) ) (i32.const 3) @@ -8658,8 +8666,8 @@ (tee_local $0 (i32.add (i32.add - (get_local $8) (get_local $0) + (get_local $8) ) (i32.const 4) ) @@ -8764,8 +8772,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (set_local $12 @@ -8859,83 +8867,87 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $2) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or - (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) + (block (result i32) + (set_local $4 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) ) + (i32.const 16) ) - (get_local $3) + (i32.const 8) ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (set_local $3 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (get_local $4) + ) + ) + (i32.const 245760) + ) + (i32.const 16) + ) + (i32.const 2) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $2) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or + (i32.or + (get_local $1) + (get_local $4) ) + (get_local $3) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $3) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) ) @@ -9003,8 +9015,8 @@ (set_local $1 (if (result i32) (i32.eq - (get_local $12) (get_local $2) + (get_local $12) ) (block (set_local $1 @@ -9097,15 +9109,20 @@ ) ) ) - (set_local $0 - (i32.const 0) + (block + (set_local $4 + (i32.const 0) + ) + (set_local $0 + (i32.const 0) + ) ) ) (if (i32.eqz (i32.or - (get_local $4) (get_local $0) + (get_local $4) ) ) (block @@ -9133,26 +9150,6 @@ ) ) ) - (set_local $12 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.add - (i32.and - (get_local $1) - (i32.sub - (i32.const 0) - (get_local $1) - ) - ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) (set_local $4 (i32.load offset=480 (i32.shl @@ -9165,9 +9162,29 @@ (i32.and (i32.shr_u (tee_local $4 + (i32.add + (i32.and + (get_local $1) + (i32.sub + (i32.const 0) + (get_local $1) + ) + ) + (i32.const -1) + ) + ) + (i32.const 12) + ) + (i32.const 16) + ) + ) + (tee_local $1 + (i32.and + (i32.shr_u + (tee_local $4 (i32.shr_u + (get_local $4) (get_local $1) - (get_local $12) ) ) (i32.const 5) @@ -9175,7 +9192,6 @@ (i32.const 8) ) ) - (get_local $12) ) (tee_local $1 (i32.and @@ -9338,8 +9354,8 @@ (get_local $4) (tee_local $5 (i32.add - (get_local $4) (get_local $2) + (get_local $4) ) ) ) @@ -9463,6 +9479,7 @@ ) (if (i32.ne + (get_local $4) (i32.load (tee_local $7 (i32.add @@ -9471,7 +9488,6 @@ ) ) ) - (get_local $4) ) (call $_abort) ) @@ -9509,7 +9525,6 @@ (block $do-once21 (if (i32.eq - (get_local $4) (i32.load (tee_local $0 (i32.add @@ -9525,6 +9540,7 @@ ) ) ) + (get_local $4) ) (block (i32.store @@ -9671,8 +9687,8 @@ (i32.or (tee_local $0 (i32.add - (get_local $3) (get_local $2) + (get_local $3) ) ) (i32.const 3) @@ -9682,8 +9698,8 @@ (tee_local $0 (i32.add (i32.add - (get_local $4) (get_local $0) + (get_local $4) ) (i32.const 4) ) @@ -9713,8 +9729,8 @@ ) (i32.store (i32.add - (get_local $5) (get_local $3) + (get_local $5) ) (get_local $3) ) @@ -9783,8 +9799,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (set_local $13 @@ -9834,83 +9850,87 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $3) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or - (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) + (block (result i32) + (set_local $7 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) ) + (i32.const 16) ) - (get_local $2) + (i32.const 8) ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (set_local $2 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (get_local $7) + ) + ) + (i32.const 245760) + ) + (i32.const 16) + ) + (i32.const 2) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $3) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or + (i32.or + (get_local $1) + (get_local $7) ) + (get_local $2) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $2) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) ) @@ -9959,8 +9979,8 @@ (i32.store (i32.const 180) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (i32.store @@ -10186,8 +10206,8 @@ (i32.const 196) (tee_local $1 (i32.add - (get_local $2) (get_local $0) + (get_local $2) ) ) ) @@ -10237,8 +10257,8 @@ (tee_local $0 (i32.add (i32.add - (get_local $2) (get_local $1) + (get_local $2) ) (i32.const 4) ) @@ -10279,15 +10299,15 @@ ) (if (i32.and - (i32.add - (tee_local $1 - (call $_sysconf - (i32.const 30) - ) + (tee_local $1 + (call $_sysconf + (i32.const 30) ) + ) + (i32.add + (get_local $1) (i32.const -1) ) - (get_local $1) ) (call $_abort) (block @@ -10486,33 +10506,36 @@ ) (i32.const 2147483647) ) - (if - (i32.eq - (tee_local $1 - (call $_sbrk - (get_local $3) - ) - ) - (i32.add - (i32.load - (get_local $4) - ) - (i32.load - (get_local $2) - ) + (block + (set_local $1 + (call $_sbrk + (get_local $3) ) ) - (br_if $__rjti$13 - (i32.ne + (if + (i32.eq + (i32.add + (i32.load + (get_local $4) + ) + (i32.load + (get_local $2) + ) + ) (get_local $1) - (i32.const -1) ) - ) - (block - (set_local $2 - (get_local $1) + (br_if $__rjti$13 + (i32.ne + (get_local $1) + (i32.const -1) + ) + ) + (block + (set_local $2 + (get_local $1) + ) + (br $__rjti$5) ) - (br $__rjti$5) ) ) ) @@ -10531,6 +10554,9 @@ (set_local $3 (if (result i32) (i32.and + (tee_local $3 + (get_local $1) + ) (tee_local $2 (i32.add (tee_local $4 @@ -10541,9 +10567,6 @@ (i32.const -1) ) ) - (tee_local $3 - (get_local $1) - ) ) (i32.add (i32.sub @@ -10576,14 +10599,14 @@ ) (if (i32.and - (i32.gt_u - (get_local $3) - (get_local $0) - ) (i32.lt_u (get_local $3) (i32.const 2147483647) ) + (i32.gt_u + (get_local $3) + (get_local $0) + ) ) (block (if @@ -10607,12 +10630,12 @@ ) (br_if $__rjti$13 (i32.eq + (get_local $1) (tee_local $2 (call $_sbrk (get_local $3) ) ) - (get_local $1) ) ) (br $__rjti$5) @@ -10634,19 +10657,19 @@ (set_local $3 (if (result i32) (i32.and - (i32.gt_u - (get_local $10) - (get_local $1) - ) (i32.and - (i32.lt_u - (get_local $1) - (i32.const 2147483647) - ) (i32.ne (get_local $2) (i32.const -1) ) + (i32.lt_u + (get_local $1) + (i32.const 2147483647) + ) + ) + (i32.gt_u + (get_local $10) + (get_local $1) ) ) (if (result i32) @@ -10654,15 +10677,15 @@ (tee_local $3 (i32.and (i32.add - (i32.sub - (get_local $9) - (get_local $1) - ) (tee_local $3 (i32.load (i32.const 656) ) ) + (i32.sub + (get_local $9) + (get_local $1) + ) ) (i32.sub (i32.const 0) @@ -10688,8 +10711,8 @@ (br $label$break$L279) ) (i32.add - (get_local $3) (get_local $1) + (get_local $3) ) ) (get_local $1) @@ -10807,7 +10830,6 @@ (loop $while-in45 (br_if $__rjti$10 (i32.eq - (get_local $1) (i32.add (tee_local $10 (i32.load @@ -10825,6 +10847,7 @@ ) ) ) + (get_local $1) ) ) (br_if $while-in45 @@ -10861,8 +10884,8 @@ (i32.store (get_local $4) (i32.add - (get_local $6) (get_local $3) + (get_local $6) ) ) (set_local $2 @@ -10893,13 +10916,13 @@ ) (set_local $1 (i32.add + (i32.load + (i32.const 188) + ) (i32.sub (get_local $3) (get_local $1) ) - (i32.load - (i32.const 188) - ) ) ) (i32.store @@ -10919,8 +10942,8 @@ ) (i32.store offset=4 (i32.add - (get_local $2) (get_local $1) + (get_local $2) ) (i32.const 40) ) @@ -11025,12 +11048,11 @@ (i32.add (tee_local $12 (i32.add - (get_local $1) (select (i32.and (i32.sub (i32.const 0) - (tee_local $1 + (tee_local $3 (i32.add (get_local $1) (i32.const 8) @@ -11041,10 +11063,11 @@ ) (i32.const 0) (i32.and - (get_local $1) + (get_local $3) (i32.const 7) ) ) + (get_local $1) ) ) (get_local $0) @@ -11091,8 +11114,8 @@ ) (if (i32.eq - (get_local $6) (get_local $5) + (get_local $6) ) (block (i32.store @@ -11121,10 +11144,10 @@ (block $do-once48 (if (i32.eq - (get_local $6) (i32.load (i32.const 196) ) + (get_local $6) ) (block (i32.store @@ -11151,8 +11174,8 @@ ) (i32.store (i32.add - (get_local $9) (get_local $0) + (get_local $9) ) (get_local $0) ) @@ -11262,8 +11285,8 @@ ) (if (i32.eq - (get_local $2) (get_local $0) + (get_local $2) ) (set_local $15 (i32.add @@ -11434,6 +11457,7 @@ ) (if (i32.ne + (get_local $6) (i32.load (tee_local $3 (i32.add @@ -11442,7 +11466,6 @@ ) ) ) - (get_local $6) ) (call $_abort) ) @@ -11482,7 +11505,6 @@ ) (if (i32.eq - (get_local $6) (i32.load (tee_local $0 (i32.add @@ -11498,6 +11520,7 @@ ) ) ) + (get_local $6) ) (block $do-once59 (i32.store @@ -11639,8 +11662,8 @@ ) (set_local $7 (i32.add - (get_local $10) (get_local $7) + (get_local $10) ) ) (i32.add @@ -11670,8 +11693,8 @@ ) (i32.store (i32.add - (get_local $9) (get_local $7) + (get_local $9) ) (get_local $7) ) @@ -11743,8 +11766,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (set_local $16 @@ -11794,83 +11817,87 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $7) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or - (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) + (block (result i32) + (set_local $2 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) ) + (i32.const 16) ) - (get_local $3) + (i32.const 8) ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (set_local $3 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (get_local $2) + ) + ) + (i32.const 245760) + ) + (i32.const 16) + ) + (i32.const 2) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $7) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or + (i32.or + (get_local $1) + (get_local $2) ) + (get_local $3) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $3) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) ) @@ -11919,8 +11946,8 @@ (i32.store (i32.const 180) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (i32.store @@ -12194,7 +12221,6 @@ (i32.const 200) (tee_local $6 (i32.add - (get_local $1) (tee_local $4 (select (i32.and @@ -12216,6 +12242,7 @@ ) ) ) + (get_local $1) ) ) ) @@ -12240,8 +12267,8 @@ ) (i32.store offset=4 (i32.add - (get_local $6) (get_local $4) + (get_local $6) ) (i32.const 40) ) @@ -12328,8 +12355,8 @@ ) (if (i32.ne - (get_local $10) (get_local $5) + (get_local $10) ) (block (i32.store @@ -12422,8 +12449,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $3) (get_local $1) + (get_local $3) ) ) (set_local $17 @@ -12473,83 +12500,87 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $6) - (i32.add - (tee_local $1 - (i32.add - (i32.sub - (i32.const 14) - (i32.or - (i32.or - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $3 - (i32.shl - (get_local $1) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (get_local $1) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) + (block (result i32) + (set_local $4 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $1) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $1) + (i32.const 1048320) ) + (i32.const 16) ) - (get_local $2) + (i32.const 8) ) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $3 - (i32.shl - (get_local $3) - (get_local $1) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (set_local $2 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $1) + (get_local $4) + ) + ) + (i32.const 245760) + ) + (i32.const 16) + ) + (i32.const 2) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $6) + (i32.add + (tee_local $1 + (i32.add + (i32.sub + (i32.const 14) + (i32.or + (i32.or + (get_local $3) + (get_local $4) ) + (get_local $2) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $3) - (get_local $1) + (i32.shr_u + (i32.shl + (get_local $1) + (get_local $2) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $1) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $1) - (i32.const 1) ) ) ) @@ -12593,8 +12624,8 @@ (i32.store (i32.const 180) (i32.or - (get_local $3) (get_local $1) + (get_local $3) ) ) (i32.store @@ -12849,15 +12880,14 @@ ) (i32.store (i32.const 200) - (tee_local $2 + (tee_local $4 (i32.add - (get_local $1) - (tee_local $1 + (tee_local $2 (select (i32.and (i32.sub (i32.const 0) - (tee_local $1 + (tee_local $2 (i32.add (get_local $1) (i32.const 8) @@ -12868,11 +12898,12 @@ ) (i32.const 0) (i32.and - (get_local $1) + (get_local $2) (i32.const 7) ) ) ) + (get_local $1) ) ) ) @@ -12884,12 +12915,12 @@ (get_local $3) (i32.const -40) ) - (get_local $1) + (get_local $2) ) ) ) (i32.store offset=4 - (get_local $2) + (get_local $4) (i32.or (get_local $1) (i32.const 1) @@ -12897,8 +12928,8 @@ ) (i32.store offset=4 (i32.add - (get_local $2) (get_local $1) + (get_local $4) ) (i32.const 40) ) @@ -13077,16 +13108,16 @@ ) (set_local $0 (i32.add - (get_local $7) (get_local $0) + (get_local $7) ) ) (if (i32.eq - (get_local $1) (i32.load (i32.const 196) ) + (get_local $1) ) (block (if @@ -13136,8 +13167,8 @@ ) (i32.store (i32.add - (get_local $1) (get_local $0) + (get_local $1) ) (get_local $0) ) @@ -13188,10 +13219,10 @@ ) (if (i32.ne + (get_local $1) (i32.load offset=12 (get_local $2) ) - (get_local $1) ) (call $_abort) ) @@ -13199,8 +13230,8 @@ ) (if (i32.eq - (get_local $6) (get_local $2) + (get_local $6) ) (block (i32.store @@ -13229,8 +13260,8 @@ ) (if (i32.eq - (get_local $6) (get_local $3) + (get_local $6) ) (set_local $4 (i32.add @@ -13405,6 +13436,7 @@ ) (if (i32.ne + (get_local $1) (i32.load (tee_local $7 (i32.add @@ -13413,7 +13445,6 @@ ) ) ) - (get_local $1) ) (call $_abort) ) @@ -13451,7 +13482,6 @@ (block (if (i32.eq - (get_local $1) (i32.load (tee_local $4 (i32.add @@ -13467,6 +13497,7 @@ ) ) ) + (get_local $1) ) (block (i32.store @@ -13702,10 +13733,10 @@ (block (if (i32.eq - (get_local $8) (i32.load (i32.const 200) ) + (get_local $8) ) (block (i32.store @@ -13752,10 +13783,10 @@ ) (if (i32.eq - (get_local $8) (i32.load (i32.const 196) ) + (get_local $8) ) (block (i32.store @@ -13782,8 +13813,8 @@ ) (i32.store (i32.add - (get_local $2) (get_local $0) + (get_local $2) ) (get_local $0) ) @@ -13846,10 +13877,10 @@ ) (if (i32.ne + (get_local $8) (i32.load offset=12 (get_local $1) ) - (get_local $8) ) (call $_abort) ) @@ -13857,8 +13888,8 @@ ) (if (i32.eq - (get_local $4) (get_local $1) + (get_local $4) ) (block (i32.store @@ -13881,8 +13912,8 @@ ) (if (i32.eq - (get_local $4) (get_local $0) + (get_local $4) ) (set_local $14 (i32.add @@ -14056,6 +14087,7 @@ ) (if (i32.ne + (get_local $8) (i32.load (tee_local $1 (i32.add @@ -14064,7 +14096,6 @@ ) ) ) - (get_local $8) ) (call $_abort) ) @@ -14102,7 +14133,6 @@ (block (if (i32.eq - (get_local $8) (i32.load (tee_local $0 (i32.add @@ -14118,6 +14148,7 @@ ) ) ) + (get_local $8) ) (block (i32.store @@ -14278,10 +14309,10 @@ (set_local $3 (if (result i32) (i32.eq - (get_local $2) (i32.load (i32.const 196) ) + (get_local $2) ) (block (i32.store @@ -14360,8 +14391,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $3) (get_local $0) + (get_local $3) ) ) (set_local $15 @@ -14411,83 +14442,87 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $3) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or - (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $4 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) + (block (result i32) + (set_local $5 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) ) + (i32.const 16) ) - (get_local $4) + (i32.const 8) ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (set_local $4 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (get_local $5) + ) + ) + (i32.const 245760) + ) + (i32.const 16) + ) + (i32.const 2) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $3) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or + (i32.or + (get_local $1) + (get_local $5) ) + (get_local $4) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $4) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) ) @@ -14685,8 +14720,8 @@ (i32.store (i32.const 180) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (i32.store @@ -14853,11 +14888,11 @@ (i32.or (i32.or (i32.or - (get_local $1) (i32.shl (get_local $1) (i32.const 8) ) + (get_local $1) ) (i32.shl (get_local $1) @@ -14940,10 +14975,6 @@ ) (return (i32.or - (i32.shr_u - (get_local $0) - (get_local $2) - ) (i32.shl (i32.and (get_local $1) @@ -14960,6 +14991,10 @@ (get_local $2) ) ) + (i32.shr_u + (get_local $0) + (get_local $2) + ) ) ) ) @@ -14990,7 +15025,6 @@ ) (i32.shr_u (i32.and - (get_local $0) (i32.shl (i32.sub (i32.shl @@ -15004,6 +15038,7 @@ (get_local $2) ) ) + (get_local $0) ) (i32.sub (i32.const 32) diff --git a/test/emcc_hello_world.fromasm.clamp b/test/emcc_hello_world.fromasm.clamp index 4b46f897c..57d86747f 100644 --- a/test/emcc_hello_world.fromasm.clamp +++ b/test/emcc_hello_world.fromasm.clamp @@ -68,8 +68,8 @@ ) (set_global $STACKTOP (i32.add - (get_global $STACKTOP) (get_local $0) + (get_global $STACKTOP) ) ) (set_global $STACKTOP @@ -765,8 +765,8 @@ ) (set_local $12 (i32.add - (get_local $3) (get_local $2) + (get_local $3) ) ) (block $__rjto$1 @@ -835,8 +835,8 @@ ) (br_if $__rjti$0 (i32.eq - (get_local $12) (get_local $3) + (get_local $12) ) ) (br_if $__rjti$1 @@ -1024,7 +1024,7 @@ (local $12 i32) (local $13 i32) (local $14 i32) - (set_local $4 + (set_local $3 (get_global $STACKTOP) ) (set_global $STACKTOP @@ -1042,25 +1042,25 @@ ) (set_local $5 (i32.add - (get_local $4) + (get_local $3) (i32.const 120) ) ) (set_local $7 - (get_local $4) + (get_local $3) ) (set_local $6 (i32.add - (get_local $4) + (get_local $3) (i32.const 136) ) ) (set_local $9 (i32.add - (tee_local $3 + (tee_local $4 (tee_local $8 (i32.add - (get_local $4) + (get_local $3) (i32.const 80) ) ) @@ -1070,14 +1070,14 @@ ) (loop $do-in (i32.store - (get_local $3) + (get_local $4) (i32.const 0) ) (br_if $do-in (i32.lt_s - (tee_local $3 + (tee_local $4 (i32.add - (get_local $3) + (get_local $4) (i32.const 4) ) ) @@ -1164,7 +1164,7 @@ (get_local $6) ) (i32.store - (tee_local $9 + (tee_local $4 (i32.add (get_local $0) (i32.const 28) @@ -1173,7 +1173,7 @@ (get_local $6) ) (i32.store - (tee_local $3 + (tee_local $2 (i32.add (get_local $0) (i32.const 20) @@ -1186,7 +1186,7 @@ (i32.const 80) ) (i32.store - (tee_local $2 + (tee_local $9 (i32.add (get_local $0) (i32.const 16) @@ -1230,7 +1230,7 @@ (get_local $1) (i32.const -1) (i32.load - (get_local $3) + (get_local $2) ) ) ) @@ -1243,15 +1243,15 @@ (i32.const 0) ) (i32.store - (get_local $2) + (get_local $9) (i32.const 0) ) (i32.store - (get_local $9) + (get_local $4) (i32.const 0) ) (i32.store - (get_local $3) + (get_local $2) (i32.const 0) ) ) @@ -1284,7 +1284,7 @@ ) ) (set_global $STACKTOP - (get_local $4) + (get_local $3) ) (get_local $0) ) @@ -1344,15 +1344,18 @@ ) (block (set_local $3 + (i32.load offset=36 + (get_local $2) + ) + ) + (set_local $3 (call_indirect (type $FUNCSIG$iiii) (get_local $2) (get_local $0) (get_local $1) (i32.add (i32.and - (i32.load offset=36 - (get_local $2) - ) + (get_local $3) (i32.const 7) ) (i32.const 2) @@ -1406,6 +1409,11 @@ ) ) ) + (set_local $4 + (i32.load offset=36 + (get_local $2) + ) + ) (br_if $label$break$L5 (i32.lt_u (call_indirect (type $FUNCSIG$iiii) @@ -1414,9 +1422,7 @@ (get_local $3) (i32.add (i32.and - (i32.load offset=36 - (get_local $2) - ) + (get_local $4) (i32.const 7) ) (i32.const 2) @@ -1465,8 +1471,8 @@ ) (set_local $3 (i32.add - (get_local $2) (get_local $1) + (get_local $2) ) ) ) @@ -1488,11 +1494,11 @@ (i32.store8 (get_local $2) (i32.or + (get_local $1) (i32.add (get_local $1) (i32.const 255) ) - (get_local $1) ) ) (tee_local $0 @@ -1602,10 +1608,6 @@ ) (if (i32.or - (i32.lt_u - (get_local $1) - (i32.const 55296) - ) (i32.eq (i32.and (get_local $1) @@ -1613,6 +1615,10 @@ ) (i32.const 57344) ) + (i32.lt_u + (get_local $1) + (i32.const 55296) + ) ) (block (i32.store8 @@ -1951,13 +1957,14 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) (tee_local $0 (block $__rjto$0 (result i32) (block $__rjti$0 (br_if $__rjti$0 (i32.le_u (i32.load - (tee_local $1 + (tee_local $2 (i32.add (get_local $0) (i32.const 20) @@ -1965,7 +1972,7 @@ ) ) (i32.load - (tee_local $2 + (tee_local $3 (i32.add (get_local $0) (i32.const 28) @@ -1974,6 +1981,11 @@ ) ) ) + (set_local $1 + (i32.load offset=36 + (get_local $0) + ) + ) (drop (call_indirect (type $FUNCSIG$iiii) (get_local $0) @@ -1981,9 +1993,7 @@ (i32.const 0) (i32.add (i32.and - (i32.load offset=36 - (get_local $0) - ) + (get_local $1) (i32.const 7) ) (i32.const 2) @@ -1992,7 +2002,7 @@ ) (br_if $__rjti$0 (i32.load - (get_local $1) + (get_local $2) ) ) (br $__rjto$0 @@ -2003,7 +2013,7 @@ (i32.lt_u (tee_local $4 (i32.load - (tee_local $3 + (tee_local $1 (i32.add (get_local $0) (i32.const 4) @@ -2022,22 +2032,27 @@ ) ) ) - (drop - (call_indirect (type $FUNCSIG$iiii) - (get_local $0) - (i32.sub - (get_local $4) - (get_local $6) + (block + (set_local $7 + (i32.load offset=40 + (get_local $0) ) - (i32.const 1) - (i32.add - (i32.and - (i32.load offset=40 - (get_local $0) + ) + (drop + (call_indirect (type $FUNCSIG$iiii) + (get_local $0) + (i32.sub + (get_local $4) + (get_local $6) + ) + (i32.const 1) + (i32.add + (i32.and + (get_local $7) + (i32.const 7) ) - (i32.const 7) + (i32.const 2) ) - (i32.const 2) ) ) ) @@ -2047,11 +2062,11 @@ (i32.const 0) ) (i32.store - (get_local $2) + (get_local $3) (i32.const 0) ) (i32.store - (get_local $1) + (get_local $2) (i32.const 0) ) (i32.store @@ -2059,7 +2074,7 @@ (i32.const 0) ) (i32.store - (get_local $3) + (get_local $1) (i32.const 0) ) (i32.const 0) @@ -2252,7 +2267,7 @@ (i32.const 0) ) ) - (set_local $39 + (set_local $38 (tee_local $25 (i32.add (tee_local $5 @@ -2265,15 +2280,15 @@ ) ) ) - (set_local $40 + (set_local $39 (i32.add (get_local $5) (i32.const 39) ) ) - (set_local $44 + (set_local $43 (i32.add - (tee_local $41 + (tee_local $40 (i32.add (get_local $14) (i32.const 8) @@ -2293,13 +2308,13 @@ (i32.const 12) ) ) - (set_local $42 + (set_local $41 (i32.add (get_local $5) (i32.const 11) ) ) - (set_local $45 + (set_local $44 (i32.sub (tee_local $27 (get_local $32) @@ -2314,21 +2329,21 @@ ) ) ) - (set_local $46 + (set_local $45 (i32.sub (i32.const -2) (get_local $36) ) ) - (set_local $47 + (set_local $46 (i32.add (get_local $27) (i32.const 2) ) ) - (set_local $49 + (set_local $48 (i32.add - (tee_local $48 + (tee_local $47 (i32.add (get_local $14) (i32.const 24) @@ -2337,7 +2352,7 @@ (i32.const 288) ) ) - (set_local $43 + (set_local $42 (tee_local $29 (i32.add (get_local $22) @@ -2507,8 +2522,8 @@ ) (if (i32.ne - (get_local $10) (get_local $5) + (get_local $10) ) (block (set_local $5 @@ -2638,6 +2653,7 @@ ) (set_local $11 (i32.or + (get_local $11) (i32.shl (i32.const 1) (i32.add @@ -2651,7 +2667,6 @@ (i32.const -32) ) ) - (get_local $11) ) ) (br_if $while-in4 @@ -2724,11 +2739,11 @@ ) (i32.store (i32.add - (get_local $4) (i32.shl (get_local $11) (i32.const 2) ) + (get_local $4) ) (i32.const 10) ) @@ -2736,7 +2751,6 @@ (i32.load offset=4 (tee_local $6 (i32.add - (get_local $3) (i32.shl (i32.add (i32.load8_s @@ -2746,6 +2760,7 @@ ) (i32.const 3) ) + (get_local $3) ) ) ) @@ -2867,11 +2882,11 @@ (loop $while-in8 (set_local $6 (i32.add + (get_local $6) (i32.mul (get_local $11) (i32.const 10) ) - (get_local $6) ) ) (if @@ -2995,11 +3010,11 @@ (br_if $label$break$L46 (tee_local $6 (i32.add + (get_local $6) (i32.mul (get_local $8) (i32.const 10) ) - (get_local $6) ) ) (i32.ge_u @@ -3057,11 +3072,11 @@ (block (i32.store (i32.add - (get_local $4) (i32.shl (get_local $8) (i32.const 2) ) + (get_local $4) ) (i32.const 10) ) @@ -3069,7 +3084,6 @@ (i32.load offset=4 (tee_local $6 (i32.add - (get_local $3) (i32.shl (i32.add (i32.load8_s @@ -3079,6 +3093,7 @@ ) (i32.const 3) ) + (get_local $3) ) ) ) @@ -3188,6 +3203,7 @@ (tee_local $13 (i32.load8_s (i32.add + (get_local $12) (i32.add (i32.mul (get_local $9) @@ -3195,7 +3211,6 @@ ) (i32.const 3611) ) - (get_local $12) ) ) ) @@ -3265,11 +3280,11 @@ (block (i32.store (i32.add - (get_local $4) (i32.shl (get_local $18) (i32.const 2) ) + (get_local $4) ) (get_local $12) ) @@ -3277,11 +3292,11 @@ (i32.load offset=4 (tee_local $8 (i32.add - (get_local $3) (i32.shl (get_local $18) (i32.const 3) ) + (get_local $3) ) ) ) @@ -3349,2431 +3364,3276 @@ ) ) ) - (set_local $7 - (block $__rjto$8 (result i32) - (block $__rjti$8 - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (tee_local $7 - (block $__rjti$7 (result i32) - (block $__rjti$6 - (block $__rjti$5 - (block $__rjti$4 - (block $__rjti$3 - (block $switch-default120 - (block $switch-case119 - (block $switch-case41 - (block $switch-case40 - (block $switch-case39 - (block $switch-case38 - (block $switch-case37 - (block $switch-case36 - (block $switch-case35 - (block $switch-case33 - (block $switch-case30 - (block $switch-case28 - (block $switch-case27 - (br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case30 $switch-default120 - (i32.sub - (tee_local $19 - (select - (i32.and - (tee_local $12 - (i32.load8_s - (get_local $19) + (call $_pad + (get_local $0) + (i32.const 32) + (tee_local $7 + (select + (tee_local $6 + (i32.add + (tee_local $12 + (select + (tee_local $13 + (i32.sub + (block $__rjto$8 (result i32) + (block $__rjti$8 + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (tee_local $7 + (block $__rjti$7 (result i32) + (block $__rjti$6 + (block $__rjti$5 + (block $__rjti$4 + (block $__rjti$3 + (block $switch-default120 + (block $switch-case119 + (block $switch-case41 + (block $switch-case40 + (block $switch-case39 + (block $switch-case38 + (block $switch-case37 + (block $switch-case36 + (block $switch-case35 + (block $switch-case33 + (block $switch-case30 + (block $switch-case28 + (block $switch-case27 + (br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case30 $switch-default120 + (i32.sub + (tee_local $19 + (select + (i32.and + (tee_local $12 + (i32.load8_s + (get_local $19) + ) + ) + (i32.const -33) + ) + (get_local $12) + (i32.and + (i32.eq + (i32.and + (get_local $12) + (i32.const 15) + ) + (i32.const 3) + ) + (i32.ne + (get_local $9) + (i32.const 0) + ) + ) + ) + ) + (i32.const 65) + ) + ) + ) + (block $switch-default26 + (block $switch-case25 + (block $switch-case24 + (block $switch-case23 + (block $switch-case22 + (block $switch-case21 + (block $switch-case20 + (block $switch-case19 + (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26 + (get_local $9) + ) + ) + (i32.store + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store + (tee_local $5 + (i32.load + (get_local $14) + ) + ) + (get_local $17) + ) + (i32.store offset=4 + (get_local $5) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $17) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store16 + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store8 + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store + (tee_local $5 + (i32.load + (get_local $14) + ) + ) + (get_local $17) + ) + (i32.store offset=4 + (get_local $5) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $17) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) ) - ) - (i32.const -33) - ) - (get_local $12) - (i32.and - (i32.ne - (get_local $9) - (i32.const 0) - ) - (i32.eq - (i32.and - (get_local $12) - (i32.const 15) + (set_local $5 + (i32.or + (get_local $11) + (i32.const 8) + ) ) - (i32.const 3) - ) - ) - ) - ) - (i32.const 65) - ) - ) - ) - (block $switch-default26 - (block $switch-case25 - (block $switch-case24 - (block $switch-case23 - (block $switch-case22 - (block $switch-case21 - (block $switch-case20 - (block $switch-case19 - (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26 - (get_local $9) + (set_local $6 + (select + (get_local $6) + (i32.const 8) + (i32.gt_u + (get_local $6) + (i32.const 8) + ) ) ) - (i32.store + (set_local $19 + (i32.const 120) + ) + (br $__rjti$3) + ) + (set_local $5 + (get_local $11) + ) + (br $__rjti$3) + ) + (if + (i32.or + (tee_local $5 (i32.load (get_local $14) ) - (get_local $17) - ) - (set_local $5 - (get_local $10) ) - (set_local $10 - (get_local $7) + (tee_local $7 + (i32.load offset=4 + (get_local $14) + ) ) - (br $label$continue$L1) ) - (i32.store - (i32.load - (get_local $14) + (block + (set_local $8 + (get_local $25) + ) + (loop $while-in32 + (i32.store8 + (tee_local $8 + (i32.add + (get_local $8) + (i32.const -1) + ) + ) + (i32.or + (i32.and + (get_local $5) + (i32.const 7) + ) + (i32.const 48) + ) + ) + (br_if $while-in32 + (i32.or + (tee_local $5 + (call $_bitshift64Lshr + (get_local $5) + (get_local $7) + (i32.const 3) + ) + ) + (tee_local $7 + (get_global $tempRet0) + ) + ) + ) ) - (get_local $17) - ) - (set_local $5 - (get_local $10) ) - (set_local $10 - (get_local $7) + (set_local $8 + (get_local $25) ) - (br $label$continue$L1) ) - (i32.store - (tee_local $5 - (i32.load - (get_local $14) - ) + (if + (i32.and + (get_local $11) + (i32.const 8) ) - (get_local $17) - ) - (i32.store offset=4 - (get_local $5) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $17) - (i32.const 0) + (block + (set_local $5 + (get_local $11) + ) + (set_local $6 + (select + (tee_local $11 + (i32.add + (i32.sub + (get_local $38) + (tee_local $7 + (get_local $8) + ) + ) + (i32.const 1) + ) + ) + (get_local $6) + (i32.lt_s + (get_local $6) + (get_local $11) + ) ) - (i32.const 31) ) - (i32.const 31) + ) + (block + (set_local $7 + (get_local $8) + ) + (set_local $5 + (get_local $11) + ) ) ) - (set_local $5 - (get_local $10) + (set_local $8 + (i32.const 0) ) - (set_local $10 - (get_local $7) + (set_local $9 + (i32.const 4091) ) - (br $label$continue$L1) + (br $__rjti$8) ) - (i32.store16 + (set_local $5 (i32.load (get_local $14) ) - (get_local $17) ) - (set_local $5 - (get_local $10) + (if + (i32.lt_s + (tee_local $7 + (i32.load offset=4 + (get_local $14) + ) + ) + (i32.const 0) + ) + (block + (i32.store + (get_local $14) + (tee_local $5 + (call $_i64Subtract + (i32.const 0) + (i32.const 0) + (get_local $5) + (get_local $7) + ) + ) + ) + (i32.store offset=4 + (get_local $14) + (tee_local $7 + (get_global $tempRet0) + ) + ) + (set_local $8 + (i32.const 1) + ) + (set_local $9 + (i32.const 4091) + ) + (br $__rjti$4) + ) ) - (set_local $10 - (get_local $7) + (set_local $9 + (if (result i32) + (i32.and + (get_local $11) + (i32.const 2048) + ) + (block (result i32) + (set_local $8 + (i32.const 1) + ) + (i32.const 4092) + ) + (block (result i32) + (set_local $8 + (tee_local $9 + (i32.and + (get_local $11) + (i32.const 1) + ) + ) + ) + (select + (i32.const 4093) + (i32.const 4091) + (get_local $9) + ) + ) + ) ) - (br $label$continue$L1) + (br $__rjti$4) ) - (i32.store8 + (set_local $5 (i32.load (get_local $14) ) - (get_local $17) ) - (set_local $5 - (get_local $10) + (set_local $7 + (i32.load offset=4 + (get_local $14) + ) ) - (set_local $10 - (get_local $7) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) ) - (br $label$continue$L1) + (br $__rjti$4) ) - (i32.store + (drop + (i32.load offset=4 + (get_local $14) + ) + ) + (i32.store8 + (get_local $39) (i32.load (get_local $14) ) - (get_local $17) ) (set_local $5 - (get_local $10) + (get_local $39) ) - (set_local $10 - (get_local $7) + (set_local $11 + (get_local $8) + ) + (set_local $12 + (i32.const 1) + ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (br $__rjto$8 + (get_local $25) ) - (br $label$continue$L1) ) - (i32.store - (tee_local $5 + (set_local $7 + (call $_strerror (i32.load - (get_local $14) + (call $___errno_location) ) ) - (get_local $17) ) - (i32.store offset=4 - (get_local $5) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $17) - (i32.const 0) - ) - (i32.const 31) + (br $__rjti$5) + ) + (set_local $7 + (select + (tee_local $5 + (i32.load + (get_local $14) ) - (i32.const 31) ) + (i32.const 4101) + (get_local $5) ) - (set_local $5 - (get_local $10) - ) - (set_local $10 - (get_local $7) - ) - (br $label$continue$L1) - ) - (set_local $5 - (get_local $10) - ) - (set_local $10 - (get_local $7) - ) - (br $label$continue$L1) - ) - (set_local $5 - (i32.or - (get_local $11) - (i32.const 8) ) + (br $__rjti$5) ) - (set_local $6 - (select - (get_local $6) - (i32.const 8) - (i32.gt_u - (get_local $6) - (i32.const 8) - ) + (drop + (i32.load offset=4 + (get_local $14) ) ) - (set_local $19 - (i32.const 120) - ) - (br $__rjti$3) - ) - (set_local $5 - (get_local $11) - ) - (br $__rjti$3) - ) - (if - (i32.or - (tee_local $5 + (i32.store + (get_local $40) (i32.load (get_local $14) ) ) - (tee_local $7 - (i32.load offset=4 - (get_local $14) - ) + (i32.store + (get_local $43) + (i32.const 0) ) - ) - (block - (set_local $8 - (get_local $25) + (i32.store + (get_local $14) + (get_local $40) ) - (loop $while-in32 - (i32.store8 - (tee_local $8 - (i32.add - (get_local $8) - (i32.const -1) - ) - ) - (i32.or - (i32.and - (get_local $5) - (i32.const 7) - ) - (i32.const 48) - ) - ) - (br_if $while-in32 - (i32.or - (tee_local $5 - (call $_bitshift64Lshr - (get_local $5) - (get_local $7) - (i32.const 3) - ) - ) - (tee_local $7 - (get_global $tempRet0) - ) - ) - ) + (set_local $8 + (i32.const -1) ) + (br $__rjti$6) ) - (set_local $8 - (get_local $25) - ) - ) - (if - (i32.and - (get_local $11) - (i32.const 8) - ) - (block - (set_local $5 - (get_local $11) - ) - (set_local $6 - (select - (tee_local $11 - (i32.add - (i32.sub - (get_local $39) - (tee_local $7 - (get_local $8) - ) - ) - (i32.const 1) - ) - ) + (if + (get_local $6) + (block + (set_local $8 (get_local $6) - (i32.lt_s - (get_local $6) - (get_local $11) - ) ) + (br $__rjti$6) ) - ) - (block - (set_local $7 - (get_local $8) - ) - (set_local $5 - (get_local $11) - ) - ) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$8) - ) - (set_local $5 - (i32.load - (get_local $14) - ) - ) - (if - (i32.lt_s - (tee_local $7 - (i32.load offset=4 - (get_local $14) - ) - ) - (i32.const 0) - ) - (block - (i32.store - (get_local $14) - (tee_local $5 - (call $_i64Subtract + (block + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) (i32.const 0) + (get_local $11) + ) + (br $__rjti$7 (i32.const 0) - (get_local $5) - (get_local $7) ) ) ) - (i32.store offset=4 - (get_local $14) - (tee_local $7 - (get_global $tempRet0) - ) - ) - (set_local $8 - (i32.const 1) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$4) ) - ) - (set_local $9 - (if (result i32) - (i32.and - (get_local $11) - (i32.const 2048) - ) - (block (result i32) - (set_local $8 - (i32.const 1) - ) - (i32.const 4092) - ) - (block (result i32) - (set_local $8 - (tee_local $9 - (i32.and - (get_local $11) - (i32.const 1) - ) - ) - ) - (select - (i32.const 4093) - (i32.const 4091) - (get_local $9) - ) + (set_local $16 + (f64.load + (get_local $14) ) ) - ) - (br $__rjti$4) - ) - (set_local $5 - (i32.load - (get_local $14) - ) - ) - (set_local $7 - (i32.load offset=4 - (get_local $14) - ) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$4) - ) - (drop - (i32.load offset=4 - (get_local $14) - ) - ) - (i32.store8 - (get_local $40) - (i32.load - (get_local $14) - ) - ) - (set_local $5 - (get_local $40) - ) - (set_local $11 - (get_local $8) - ) - (set_local $12 - (i32.const 1) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjto$8 - (get_local $25) - ) - ) - (set_local $7 - (call $_strerror - (i32.load - (call $___errno_location) - ) - ) - ) - (br $__rjti$5) - ) - (set_local $7 - (select - (tee_local $5 - (i32.load - (get_local $14) - ) - ) - (i32.const 4101) - (get_local $5) - ) - ) - (br $__rjti$5) - ) - (drop - (i32.load offset=4 - (get_local $14) - ) - ) - (i32.store - (get_local $41) - (i32.load - (get_local $14) - ) - ) - (i32.store - (get_local $44) - (i32.const 0) - ) - (i32.store - (get_local $14) - (get_local $41) - ) - (set_local $8 - (i32.const -1) - ) - (br $__rjti$6) - ) - (if - (get_local $6) - (block - (set_local $8 - (get_local $6) - ) - (br $__rjti$6) - ) - (block - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (i32.const 0) - (get_local $11) - ) - (br $__rjti$7 - (i32.const 0) - ) - ) - ) - ) - (set_local $16 - (f64.load - (get_local $14) - ) - ) - (i32.store - (get_local $20) - (i32.const 0) - ) - (f64.store - (get_global $tempDoublePtr) - (get_local $16) - ) - (drop - (i32.load - (get_global $tempDoublePtr) - ) - ) - (set_local $30 - (if (result i32) - (i32.lt_s - (i32.load offset=4 - (get_global $tempDoublePtr) - ) - (i32.const 0) - ) - (block (result i32) - (set_local $26 - (i32.const 1) - ) - (set_local $16 - (f64.neg - (get_local $16) - ) - ) - (i32.const 4108) - ) - (if (result i32) - (i32.and - (get_local $11) - (i32.const 2048) - ) - (block (result i32) - (set_local $26 - (i32.const 1) - ) - (i32.const 4111) - ) - (block (result i32) - (set_local $26 - (tee_local $5 - (i32.and - (get_local $11) - (i32.const 1) - ) - ) - ) - (select - (i32.const 4114) - (i32.const 4109) - (get_local $5) - ) - ) - ) - ) - ) - (f64.store - (get_global $tempDoublePtr) - (get_local $16) - ) - (drop - (i32.load - (get_global $tempDoublePtr) - ) - ) - (set_local $7 - (if (result i32) - (i32.lt_u - (i32.and - (i32.load offset=4 - (get_global $tempDoublePtr) - ) - (i32.const 2146435072) - ) - (i32.const 2146435072) - ) - (block $do-once49 (result i32) - (if - (tee_local $5 - (f64.ne - (tee_local $23 - (f64.mul - (call $_frexp - (get_local $16) + (i32.store (get_local $20) + (i32.const 0) ) - (f64.const 2) - ) - ) - (f64.const 0) - ) - ) - (i32.store - (get_local $20) - (i32.add - (i32.load - (get_local $20) - ) - (i32.const -1) - ) - ) - ) - (if - (i32.eq - (tee_local $24 - (i32.or - (get_local $19) - (i32.const 32) - ) - ) - (i32.const 97) - ) - (block - (set_local $9 - (select - (i32.add - (get_local $30) - (i32.const 9) - ) - (get_local $30) - (tee_local $13 - (i32.and - (get_local $19) - (i32.const 32) - ) - ) - ) - ) - (set_local $16 - (if (result f64) - (i32.or - (i32.gt_u - (get_local $6) - (i32.const 11) + (f64.store + (get_global $tempDoublePtr) + (get_local $16) ) - (i32.eqz - (tee_local $5 - (i32.sub - (i32.const 12) - (get_local $6) - ) + (drop + (i32.load + (get_global $tempDoublePtr) ) ) - ) - (get_local $23) - (block (result f64) - (set_local $16 - (f64.const 8) - ) - (loop $while-in54 - (set_local $16 - (f64.mul - (get_local $16) - (f64.const 16) - ) - ) - (br_if $while-in54 - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -1) + (set_local $30 + (if (result i32) + (i32.lt_s + (i32.load offset=4 + (get_global $tempDoublePtr) ) + (i32.const 0) ) - ) - ) - (if (result f64) - (i32.eq - (i32.load8_s - (get_local $9) - ) - (i32.const 45) - ) - (f64.neg - (f64.add - (get_local $16) - (f64.sub + (block (result i32) + (set_local $26 + (i32.const 1) + ) + (set_local $16 (f64.neg - (get_local $23) + (get_local $16) ) - (get_local $16) ) + (i32.const 4108) ) - ) - (f64.sub - (f64.add - (get_local $23) - (get_local $16) - ) - (get_local $16) - ) - ) - ) - ) - ) - (if - (i32.eq - (tee_local $5 - (call $_fmt_u - (tee_local $5 - (select - (i32.sub - (i32.const 0) - (tee_local $7 - (i32.load - (get_local $20) - ) - ) - ) - (get_local $7) - (i32.lt_s - (get_local $7) - (i32.const 0) + (if (result i32) + (i32.and + (get_local $11) + (i32.const 2048) ) - ) - ) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $5) - (i32.const 0) + (block (result i32) + (set_local $26 + (i32.const 1) + ) + (i32.const 4111) ) - (i32.const 31) - ) - (i32.const 31) - ) - (get_local $32) - ) - ) - (get_local $32) - ) - (block - (i32.store8 - (get_local $42) - (i32.const 48) - ) - (set_local $5 - (get_local $42) - ) - ) - ) - (set_local $12 - (i32.or - (get_local $26) - (i32.const 2) - ) - ) - (i32.store8 - (i32.add - (get_local $5) - (i32.const -1) - ) - (i32.add - (i32.and - (i32.shr_s - (get_local $7) - (i32.const 31) - ) - (i32.const 2) - ) - (i32.const 43) - ) - ) - (i32.store8 - (tee_local $8 - (i32.add - (get_local $5) - (i32.const -2) - ) - ) - (i32.add - (get_local $19) - (i32.const 15) - ) - ) - (set_local $19 - (i32.lt_s - (get_local $6) - (i32.const 1) - ) - ) - (set_local $18 - (i32.eqz - (i32.and - (get_local $11) - (i32.const 8) - ) - ) - ) - (set_local $5 - (get_local $22) - ) - (loop $while-in56 - (i32.store8 - (get_local $5) - (i32.or - (i32.load8_u - (i32.add - (tee_local $7 - (call $f64-to-int - (get_local $16) + (block (result i32) + (set_local $26 + (tee_local $5 + (i32.and + (get_local $11) + (i32.const 1) + ) + ) + ) + (select + (i32.const 4114) + (i32.const 4109) + (get_local $5) + ) ) ) - (i32.const 4075) ) ) - (get_local $13) - ) - ) - (set_local $16 - (f64.mul - (f64.sub + (f64.store + (get_global $tempDoublePtr) (get_local $16) - (f64.convert_s/i32 - (get_local $7) - ) - ) - (f64.const 16) - ) - ) - (set_local $5 - (if (result i32) - (i32.eq - (i32.sub - (tee_local $7 - (i32.add - (get_local $5) - (i32.const 1) - ) - ) - (get_local $36) - ) - (i32.const 1) ) - (if (result i32) - (i32.and - (get_local $18) - (i32.and - (get_local $19) - (f64.eq - (get_local $16) - (f64.const 0) - ) - ) - ) - (get_local $7) - (block (result i32) - (i32.store8 - (get_local $7) - (i32.const 46) - ) - (i32.add - (get_local $5) - (i32.const 2) - ) + (drop + (i32.load + (get_global $tempDoublePtr) ) ) - (get_local $7) - ) - ) - (br_if $while-in56 - (f64.ne - (get_local $16) - (f64.const 0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (tee_local $7 - (i32.add - (tee_local $6 - (select - (i32.sub - (i32.add - (get_local $47) - (get_local $6) + (set_local $7 + (if (result i32) + (i32.lt_u + (i32.and + (i32.load offset=4 + (get_global $tempDoublePtr) + ) + (i32.const 2146435072) ) - (get_local $8) + (i32.const 2146435072) ) - (i32.add - (i32.sub - (get_local $45) - (get_local $8) + (block $do-once49 (result i32) + (if + (tee_local $5 + (f64.ne + (tee_local $23 + (f64.mul + (call $_frexp + (get_local $16) + (get_local $20) + ) + (f64.const 2) + ) + ) + (f64.const 0) + ) + ) + (i32.store + (get_local $20) + (i32.add + (i32.load + (get_local $20) + ) + (i32.const -1) + ) + ) ) - (get_local $5) - ) - (i32.and - (i32.ne - (get_local $6) - (i32.const 0) + (if + (i32.eq + (tee_local $24 + (i32.or + (get_local $19) + (i32.const 32) + ) + ) + (i32.const 97) + ) + (block + (set_local $9 + (select + (i32.add + (get_local $30) + (i32.const 9) + ) + (get_local $30) + (tee_local $13 + (i32.and + (get_local $19) + (i32.const 32) + ) + ) + ) + ) + (set_local $16 + (if (result f64) + (i32.or + (i32.eqz + (tee_local $5 + (i32.sub + (i32.const 12) + (get_local $6) + ) + ) + ) + (i32.gt_u + (get_local $6) + (i32.const 11) + ) + ) + (get_local $23) + (block (result f64) + (set_local $16 + (f64.const 8) + ) + (loop $while-in54 + (set_local $16 + (f64.mul + (get_local $16) + (f64.const 16) + ) + ) + (br_if $while-in54 + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -1) + ) + ) + ) + ) + (if (result f64) + (i32.eq + (i32.load8_s + (get_local $9) + ) + (i32.const 45) + ) + (f64.neg + (f64.add + (get_local $16) + (f64.sub + (f64.neg + (get_local $23) + ) + (get_local $16) + ) + ) + ) + (f64.sub + (f64.add + (get_local $23) + (get_local $16) + ) + (get_local $16) + ) + ) + ) + ) + ) + (if + (i32.eq + (tee_local $5 + (call $_fmt_u + (tee_local $5 + (select + (i32.sub + (i32.const 0) + (tee_local $7 + (i32.load + (get_local $20) + ) + ) + ) + (get_local $7) + (i32.lt_s + (get_local $7) + (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 $32) + ) + ) + (get_local $32) + ) + (block + (i32.store8 + (get_local $41) + (i32.const 48) + ) + (set_local $5 + (get_local $41) + ) + ) + ) + (set_local $12 + (i32.or + (get_local $26) + (i32.const 2) + ) + ) + (i32.store8 + (i32.add + (get_local $5) + (i32.const -1) + ) + (i32.add + (i32.and + (i32.shr_s + (get_local $7) + (i32.const 31) + ) + (i32.const 2) + ) + (i32.const 43) + ) + ) + (i32.store8 + (tee_local $8 + (i32.add + (get_local $5) + (i32.const -2) + ) + ) + (i32.add + (get_local $19) + (i32.const 15) + ) + ) + (set_local $19 + (i32.lt_s + (get_local $6) + (i32.const 1) + ) + ) + (set_local $18 + (i32.eqz + (i32.and + (get_local $11) + (i32.const 8) + ) + ) + ) + (set_local $5 + (get_local $22) + ) + (loop $while-in56 + (i32.store8 + (get_local $5) + (i32.or + (get_local $13) + (i32.load8_u + (i32.add + (tee_local $7 + (call $f64-to-int + (get_local $16) + ) + ) + (i32.const 4075) + ) + ) + ) + ) + (set_local $16 + (f64.mul + (f64.sub + (get_local $16) + (f64.convert_s/i32 + (get_local $7) + ) + ) + (f64.const 16) + ) + ) + (set_local $5 + (if (result i32) + (i32.eq + (i32.sub + (tee_local $7 + (i32.add + (get_local $5) + (i32.const 1) + ) + ) + (get_local $36) + ) + (i32.const 1) + ) + (if (result i32) + (i32.and + (i32.and + (f64.eq + (get_local $16) + (f64.const 0) + ) + (get_local $19) + ) + (get_local $18) + ) + (get_local $7) + (block (result i32) + (i32.store8 + (get_local $7) + (i32.const 46) + ) + (i32.add + (get_local $5) + (i32.const 2) + ) + ) + ) + (get_local $7) + ) + ) + (br_if $while-in56 + (f64.ne + (get_local $16) + (f64.const 0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (tee_local $7 + (i32.add + (get_local $12) + (tee_local $6 + (select + (i32.sub + (i32.add + (get_local $6) + (get_local $46) + ) + (get_local $8) + ) + (i32.add + (get_local $5) + (i32.sub + (get_local $44) + (get_local $8) + ) + ) + (i32.and + (i32.ne + (get_local $6) + (i32.const 0) + ) + (i32.lt_s + (i32.add + (get_local $5) + (get_local $45) + ) + (get_local $6) + ) + ) + ) + ) + ) + ) + (get_local $11) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $9) + (get_local $12) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (get_local $15) + (get_local $7) + (i32.xor + (get_local $11) + (i32.const 65536) + ) + ) + (set_local $5 + (i32.sub + (get_local $5) + (get_local $36) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $22) + (get_local $5) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.sub + (get_local $6) + (i32.add + (get_local $5) + (tee_local $5 + (i32.sub + (get_local $27) + (get_local $8) + ) + ) + ) + ) + (i32.const 0) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $8) + (get_local $5) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (get_local $7) + (i32.xor + (get_local $11) + (i32.const 8192) + ) + ) + (br $do-once49 + (select + (get_local $15) + (get_local $7) + (i32.lt_s + (get_local $7) + (get_local $15) + ) + ) + ) + ) ) - (i32.lt_s - (i32.add - (get_local $46) + (set_local $16 + (if (result f64) (get_local $5) + (block (result f64) + (i32.store + (get_local $20) + (tee_local $5 + (i32.add + (i32.load + (get_local $20) + ) + (i32.const -28) + ) + ) + ) + (f64.mul + (get_local $23) + (f64.const 268435456) + ) + ) + (block (result f64) + (set_local $5 + (i32.load + (get_local $20) + ) + ) + (get_local $23) + ) ) - (get_local $6) ) - ) - ) - ) - (get_local $12) - ) - ) - (get_local $11) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $9) - (get_local $12) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (get_local $15) - (get_local $7) - (i32.xor - (get_local $11) - (i32.const 65536) - ) - ) - (set_local $5 - (i32.sub - (get_local $5) - (get_local $36) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $22) - (get_local $5) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (i32.sub - (get_local $6) - (i32.add - (get_local $5) - (tee_local $5 - (i32.sub - (get_local $27) - (get_local $8) - ) - ) - ) - ) - (i32.const 0) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $8) - (get_local $5) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (get_local $7) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (br $do-once49 - (select - (get_local $15) - (get_local $7) - (i32.lt_s - (get_local $7) - (get_local $15) - ) - ) - ) - ) - ) - (set_local $16 - (if (result f64) - (get_local $5) - (block (result f64) - (i32.store - (get_local $20) - (tee_local $5 - (i32.add - (i32.load - (get_local $20) - ) - (i32.const -28) - ) - ) - ) - (f64.mul - (get_local $23) - (f64.const 268435456) - ) - ) - (block (result f64) - (set_local $5 - (i32.load - (get_local $20) - ) - ) - (get_local $23) - ) - ) - ) - (set_local $7 - (tee_local $8 - (select - (get_local $48) - (get_local $49) - (i32.lt_s - (get_local $5) - (i32.const 0) - ) - ) - ) - ) - (loop $while-in60 - (i32.store - (get_local $7) - (tee_local $5 - (call $f64-to-uint - (get_local $16) - ) - ) - ) - (set_local $7 - (i32.add - (get_local $7) - (i32.const 4) - ) - ) - (br_if $while-in60 - (f64.ne - (tee_local $16 - (f64.mul - (f64.sub - (get_local $16) - (f64.convert_u/i32 - (get_local $5) - ) - ) - (f64.const 1e9) - ) - ) - (f64.const 0) - ) - ) - ) - (if - (i32.gt_s - (tee_local $9 - (i32.load - (get_local $20) - ) - ) - (i32.const 0) - ) - (block - (set_local $5 - (get_local $8) - ) - (loop $while-in62 - (set_local $13 - (select - (i32.const 29) - (get_local $9) - (i32.gt_s - (get_local $9) - (i32.const 29) - ) - ) - ) - (if - (i32.ge_u - (tee_local $9 - (i32.add - (get_local $7) - (i32.const -4) - ) - ) - (get_local $5) - ) - (block $do-once63 - (set_local $12 - (i32.const 0) - ) - (loop $while-in66 - (i32.store - (get_local $9) - (call $___uremdi3 - (tee_local $12 - (call $_i64Add - (call $_bitshift64Shl + (set_local $7 + (tee_local $8 + (select + (get_local $47) + (get_local $48) + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + ) + ) + ) + (loop $while-in60 + (i32.store + (get_local $7) + (tee_local $5 + (call $f64-to-uint + (get_local $16) + ) + ) + ) + (set_local $7 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (br_if $while-in60 + (f64.ne + (tee_local $16 + (f64.mul + (f64.sub + (get_local $16) + (f64.convert_u/i32 + (get_local $5) + ) + ) + (f64.const 1e9) + ) + ) + (f64.const 0) + ) + ) + ) + (if + (i32.gt_s + (tee_local $9 (i32.load - (get_local $9) + (get_local $20) ) - (i32.const 0) - (get_local $13) ) - (get_global $tempRet0) - (get_local $12) (i32.const 0) ) + (block + (set_local $5 + (get_local $8) + ) + (loop $while-in62 + (set_local $13 + (select + (i32.const 29) + (get_local $9) + (i32.gt_s + (get_local $9) + (i32.const 29) + ) + ) + ) + (if + (i32.ge_u + (tee_local $9 + (i32.add + (get_local $7) + (i32.const -4) + ) + ) + (get_local $5) + ) + (block $do-once63 + (set_local $12 + (i32.const 0) + ) + (loop $while-in66 + (i32.store + (get_local $9) + (call $___uremdi3 + (tee_local $12 + (call $_i64Add + (call $_bitshift64Shl + (i32.load + (get_local $9) + ) + (i32.const 0) + (get_local $13) + ) + (get_global $tempRet0) + (get_local $12) + (i32.const 0) + ) + ) + (tee_local $18 + (get_global $tempRet0) + ) + (i32.const 1000000000) + ) + ) + (set_local $12 + (call $___udivdi3 + (get_local $12) + (get_local $18) + (i32.const 1000000000) + ) + ) + (br_if $while-in66 + (i32.ge_u + (tee_local $9 + (i32.add + (get_local $9) + (i32.const -4) + ) + ) + (get_local $5) + ) + ) + ) + (br_if $do-once63 + (i32.eqz + (get_local $12) + ) + ) + (i32.store + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -4) + ) + ) + (get_local $12) + ) + ) + ) + (loop $while-in68 + (if + (i32.gt_u + (get_local $7) + (get_local $5) + ) + (if + (i32.eqz + (i32.load + (tee_local $9 + (i32.add + (get_local $7) + (i32.const -4) + ) + ) + ) + ) + (block + (set_local $7 + (get_local $9) + ) + (br $while-in68) + ) + ) + ) + ) + (i32.store + (get_local $20) + (tee_local $9 + (i32.sub + (i32.load + (get_local $20) + ) + (get_local $13) + ) + ) + ) + (br_if $while-in62 + (i32.gt_s + (get_local $9) + (i32.const 0) + ) + ) + ) + ) + (set_local $5 + (get_local $8) + ) ) - (tee_local $18 - (get_global $tempRet0) + (set_local $18 + (select + (i32.const 6) + (get_local $6) + (i32.lt_s + (get_local $6) + (i32.const 0) + ) + ) ) - (i32.const 1000000000) - ) - ) - (set_local $12 - (call $___udivdi3 - (get_local $12) - (get_local $18) - (i32.const 1000000000) - ) - ) - (br_if $while-in66 - (i32.ge_u - (tee_local $9 - (i32.add + (if + (i32.lt_s (get_local $9) - (i32.const -4) + (i32.const 0) ) - ) - (get_local $5) - ) - ) - ) - (br_if $do-once63 - (i32.eqz - (get_local $12) - ) - ) - (i32.store - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -4) - ) - ) - (get_local $12) - ) - ) - ) - (loop $while-in68 - (if - (i32.gt_u - (get_local $7) - (get_local $5) - ) - (if - (i32.eqz - (i32.load - (tee_local $9 - (i32.add + (block + (set_local $21 + (i32.add + (call $i32s-div + (i32.add + (get_local $18) + (i32.const 25) + ) + (i32.const 9) + ) + (i32.const 1) + ) + ) + (set_local $31 + (i32.eq + (get_local $24) + (i32.const 102) + ) + ) + (set_local $6 + (get_local $5) + ) + (set_local $5 + (get_local $7) + ) + (loop $while-in70 + (set_local $13 + (select + (i32.const 9) + (tee_local $7 + (i32.sub + (i32.const 0) + (get_local $9) + ) + ) + (i32.gt_s + (get_local $7) + (i32.const 9) + ) + ) + ) + (if + (i32.lt_u + (get_local $6) + (get_local $5) + ) + (block $do-once71 + (set_local $12 + (i32.add + (i32.shl + (i32.const 1) + (get_local $13) + ) + (i32.const -1) + ) + ) + (set_local $37 + (i32.shr_u + (i32.const 1000000000) + (get_local $13) + ) + ) + (set_local $9 + (i32.const 0) + ) + (set_local $7 + (get_local $6) + ) + (loop $while-in74 + (i32.store + (get_local $7) + (i32.add + (get_local $9) + (i32.shr_u + (tee_local $9 + (i32.load + (get_local $7) + ) + ) + (get_local $13) + ) + ) + ) + (set_local $9 + (i32.mul + (i32.and + (get_local $9) + (get_local $12) + ) + (get_local $37) + ) + ) + (br_if $while-in74 + (i32.lt_u + (tee_local $7 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (get_local $5) + ) + ) + ) + (set_local $7 + (select + (get_local $6) + (i32.add + (get_local $6) + (i32.const 4) + ) + (i32.load + (get_local $6) + ) + ) + ) + (br_if $do-once71 + (i32.eqz + (get_local $9) + ) + ) + (i32.store + (get_local $5) + (get_local $9) + ) + (set_local $5 + (i32.add + (get_local $5) + (i32.const 4) + ) + ) + ) + (set_local $7 + (select + (get_local $6) + (i32.add + (get_local $6) + (i32.const 4) + ) + (i32.load + (get_local $6) + ) + ) + ) + ) + (set_local $12 + (select + (i32.add + (tee_local $6 + (select + (get_local $8) + (get_local $7) + (get_local $31) + ) + ) + (i32.shl + (get_local $21) + (i32.const 2) + ) + ) + (get_local $5) + (i32.gt_s + (i32.shr_s + (i32.sub + (get_local $5) + (get_local $6) + ) + (i32.const 2) + ) + (get_local $21) + ) + ) + ) + (i32.store + (get_local $20) + (tee_local $9 + (i32.add + (i32.load + (get_local $20) + ) + (get_local $13) + ) + ) + ) + (set_local $5 + (if (result i32) + (i32.lt_s + (get_local $9) + (i32.const 0) + ) + (block + (set_local $6 + (get_local $7) + ) + (set_local $5 + (get_local $12) + ) + (br $while-in70) + ) + (block (result i32) + (set_local $9 + (get_local $12) + ) + (get_local $7) + ) + ) + ) + ) + ) + (set_local $9 (get_local $7) - (i32.const -4) ) ) - ) - ) - (block - (set_local $7 - (get_local $9) - ) - (br $while-in68) - ) - ) - ) - ) - (i32.store - (get_local $20) - (tee_local $9 - (i32.sub - (i32.load - (get_local $20) - ) - (get_local $13) - ) - ) - ) - (br_if $while-in62 - (i32.gt_s - (get_local $9) - (i32.const 0) - ) - ) - ) - ) - (set_local $5 - (get_local $8) - ) - ) - (set_local $18 - (select - (i32.const 6) - (get_local $6) - (i32.lt_s - (get_local $6) - (i32.const 0) - ) - ) - ) - (if - (i32.lt_s - (get_local $9) - (i32.const 0) - ) - (block - (set_local $21 - (i32.add - (call $i32s-div - (i32.add - (get_local $18) - (i32.const 25) - ) - (i32.const 9) - ) - (i32.const 1) - ) - ) - (set_local $31 - (i32.eq - (get_local $24) - (i32.const 102) - ) - ) - (set_local $6 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (loop $while-in70 - (set_local $13 - (select - (i32.const 9) - (tee_local $7 - (i32.sub - (i32.const 0) - (get_local $9) - ) - ) - (i32.gt_s - (get_local $7) - (i32.const 9) - ) - ) - ) - (if - (i32.lt_u - (get_local $6) - (get_local $5) - ) - (block $do-once71 - (set_local $12 - (i32.add - (i32.shl - (i32.const 1) - (get_local $13) - ) - (i32.const -1) - ) - ) - (set_local $37 - (i32.shr_u - (i32.const 1000000000) - (get_local $13) - ) - ) - (set_local $9 - (i32.const 0) - ) - (set_local $7 - (get_local $6) - ) - (loop $while-in74 - (i32.store - (get_local $7) - (i32.add - (i32.shr_u - (tee_local $38 - (i32.load - (get_local $7) + (set_local $21 + (get_local $8) + ) + (if + (i32.lt_u + (get_local $5) + (get_local $9) + ) + (block $do-once75 + (set_local $7 + (i32.mul + (i32.shr_s + (i32.sub + (get_local $21) + (get_local $5) + ) + (i32.const 2) + ) + (i32.const 9) + ) + ) + (br_if $do-once75 + (i32.lt_u + (tee_local $12 + (i32.load + (get_local $5) + ) + ) + (i32.const 10) + ) + ) + (set_local $6 + (i32.const 10) + ) + (loop $while-in78 + (set_local $7 + (i32.add + (get_local $7) + (i32.const 1) + ) + ) + (br_if $while-in78 + (i32.ge_u + (get_local $12) + (tee_local $6 + (i32.mul + (get_local $6) + (i32.const 10) + ) + ) + ) + ) ) ) - (get_local $13) + (set_local $7 + (i32.const 0) + ) ) - (get_local $9) - ) - ) - (set_local $9 - (i32.mul - (i32.and - (get_local $38) - (get_local $12) + (set_local $5 + (if (result i32) + (i32.lt_s + (tee_local $6 + (i32.add + (i32.sub + (get_local $18) + (select + (get_local $7) + (i32.const 0) + (i32.ne + (get_local $24) + (i32.const 102) + ) + ) + ) + (i32.shr_s + (i32.shl + (i32.and + (tee_local $31 + (i32.eq + (get_local $24) + (i32.const 103) + ) + ) + (tee_local $37 + (i32.ne + (get_local $18) + (i32.const 0) + ) + ) + ) + (i32.const 31) + ) + (i32.const 31) + ) + ) + ) + (i32.add + (i32.mul + (i32.shr_s + (i32.sub + (get_local $9) + (get_local $21) + ) + (i32.const 2) + ) + (i32.const 9) + ) + (i32.const -9) + ) + ) + (block (result i32) + (set_local $13 + (call $i32s-div + (tee_local $6 + (i32.add + (get_local $6) + (i32.const 9216) + ) + ) + (i32.const 9) + ) + ) + (if + (i32.lt_s + (tee_local $6 + (i32.add + (i32.rem_s + (get_local $6) + (i32.const 9) + ) + (i32.const 1) + ) + ) + (i32.const 9) + ) + (block + (set_local $12 + (i32.const 10) + ) + (loop $while-in80 + (set_local $12 + (i32.mul + (get_local $12) + (i32.const 10) + ) + ) + (br_if $while-in80 + (i32.ne + (tee_local $6 + (i32.add + (get_local $6) + (i32.const 1) + ) + ) + (i32.const 9) + ) + ) + ) + ) + (set_local $12 + (i32.const 10) + ) + ) + (set_local $13 + (call $i32u-rem + (tee_local $24 + (i32.load + (tee_local $6 + (i32.add + (i32.add + (i32.shl + (get_local $13) + (i32.const 2) + ) + (get_local $8) + ) + (i32.const -4092) + ) + ) + ) + ) + (get_local $12) + ) + ) + (if + (i32.eqz + (i32.and + (tee_local $49 + (i32.eq + (i32.add + (get_local $6) + (i32.const 4) + ) + (get_local $9) + ) + ) + (i32.eqz + (get_local $13) + ) + ) + ) + (block $do-once81 + (set_local $50 + (call $i32u-div + (get_local $24) + (get_local $12) + ) + ) + (set_local $16 + (if (result f64) + (i32.lt_u + (get_local $13) + (tee_local $51 + (call $i32s-div + (get_local $12) + (i32.const 2) + ) + ) + ) + (f64.const 0.5) + (select + (f64.const 1) + (f64.const 1.5) + (i32.and + (get_local $49) + (i32.eq + (get_local $13) + (get_local $51) + ) + ) + ) + ) + ) + (set_local $23 + (select + (f64.const 9007199254740994) + (f64.const 9007199254740992) + (i32.and + (get_local $50) + (i32.const 1) + ) + ) + ) + (if + (get_local $26) + (if + (i32.eq + (i32.load8_s + (get_local $30) + ) + (i32.const 45) + ) + (block + (set_local $23 + (f64.neg + (get_local $23) + ) + ) + (set_local $16 + (f64.neg + (get_local $16) + ) + ) + ) + ) + ) + (i32.store + (get_local $6) + (tee_local $13 + (i32.sub + (get_local $24) + (get_local $13) + ) + ) + ) + (br_if $do-once81 + (f64.eq + (f64.add + (get_local $23) + (get_local $16) + ) + (get_local $23) + ) + ) + (i32.store + (get_local $6) + (tee_local $7 + (i32.add + (get_local $12) + (get_local $13) + ) + ) + ) + (if + (i32.gt_u + (get_local $7) + (i32.const 999999999) + ) + (loop $while-in86 + (i32.store + (get_local $6) + (i32.const 0) + ) + (if + (i32.lt_u + (tee_local $6 + (i32.add + (get_local $6) + (i32.const -4) + ) + ) + (get_local $5) + ) + (i32.store + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -4) + ) + ) + (i32.const 0) + ) + ) + (i32.store + (get_local $6) + (tee_local $7 + (i32.add + (i32.load + (get_local $6) + ) + (i32.const 1) + ) + ) + ) + (br_if $while-in86 + (i32.gt_u + (get_local $7) + (i32.const 999999999) + ) + ) + ) + ) + (set_local $7 + (i32.mul + (i32.shr_s + (i32.sub + (get_local $21) + (get_local $5) + ) + (i32.const 2) + ) + (i32.const 9) + ) + ) + (br_if $do-once81 + (i32.lt_u + (tee_local $13 + (i32.load + (get_local $5) + ) + ) + (i32.const 10) + ) + ) + (set_local $12 + (i32.const 10) + ) + (loop $while-in88 + (set_local $7 + (i32.add + (get_local $7) + (i32.const 1) + ) + ) + (br_if $while-in88 + (i32.ge_u + (get_local $13) + (tee_local $12 + (i32.mul + (get_local $12) + (i32.const 10) + ) + ) + ) + ) + ) + ) + ) + (set_local $12 + (get_local $5) + ) + (set_local $13 + (get_local $7) + ) + (select + (tee_local $5 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + (get_local $9) + (i32.gt_u + (get_local $9) + (get_local $5) + ) + ) + ) + (block (result i32) + (set_local $12 + (get_local $5) + ) + (set_local $13 + (get_local $7) + ) + (get_local $9) + ) + ) ) - (get_local $37) - ) - ) - (br_if $while-in74 - (i32.lt_u - (tee_local $7 - (i32.add - (get_local $7) - (i32.const 4) + (set_local $9 + (loop $while-in90 (result i32) + (block $while-out89 (result i32) + (if + (i32.le_u + (get_local $5) + (get_local $12) + ) + (block + (set_local $24 + (i32.const 0) + ) + (br $while-out89 + (get_local $5) + ) + ) + ) + (if (result i32) + (i32.load + (tee_local $7 + (i32.add + (get_local $5) + (i32.const -4) + ) + ) + ) + (block (result i32) + (set_local $24 + (i32.const 1) + ) + (get_local $5) + ) + (block + (set_local $5 + (get_local $7) + ) + (br $while-in90) + ) + ) + ) ) ) - (get_local $5) - ) - ) - ) - (set_local $7 - (select - (get_local $6) - (i32.add - (get_local $6) - (i32.const 4) - ) - (i32.load - (get_local $6) - ) - ) - ) - (br_if $do-once71 - (i32.eqz - (get_local $9) - ) - ) - (i32.store - (get_local $5) - (get_local $9) - ) - (set_local $5 - (i32.add - (get_local $5) - (i32.const 4) - ) - ) - ) - (set_local $7 - (select - (get_local $6) - (i32.add - (get_local $6) - (i32.const 4) - ) - (i32.load - (get_local $6) - ) - ) - ) - ) - (set_local $12 - (select - (i32.add - (tee_local $6 - (select - (get_local $8) - (get_local $7) - (get_local $31) - ) - ) - (i32.shl - (get_local $21) - (i32.const 2) - ) - ) - (get_local $5) - (i32.gt_s - (i32.shr_s - (i32.sub - (get_local $5) - (get_local $6) - ) - (i32.const 2) - ) - (get_local $21) - ) - ) - ) - (i32.store - (get_local $20) - (tee_local $9 - (i32.add - (i32.load - (get_local $20) - ) - (get_local $13) - ) - ) - ) - (set_local $5 - (if (result i32) - (i32.lt_s - (get_local $9) - (i32.const 0) - ) - (block - (set_local $6 - (get_local $7) - ) - (set_local $5 - (get_local $12) - ) - (br $while-in70) - ) - (block (result i32) - (set_local $9 - (get_local $12) - ) - (get_local $7) - ) - ) - ) - ) - ) - (set_local $9 - (get_local $7) - ) - ) - (set_local $21 - (get_local $8) - ) - (if - (i32.lt_u - (get_local $5) - (get_local $9) - ) - (block $do-once75 - (set_local $7 - (i32.mul - (i32.shr_s - (i32.sub - (get_local $21) - (get_local $5) - ) - (i32.const 2) - ) - (i32.const 9) - ) - ) - (br_if $do-once75 - (i32.lt_u - (tee_local $12 - (i32.load - (get_local $5) - ) - ) - (i32.const 10) - ) - ) - (set_local $6 - (i32.const 10) - ) - (loop $while-in78 - (set_local $7 - (i32.add - (get_local $7) - (i32.const 1) - ) - ) - (br_if $while-in78 - (i32.ge_u - (get_local $12) - (tee_local $6 - (i32.mul - (get_local $6) - (i32.const 10) - ) - ) - ) - ) - ) - ) - (set_local $7 - (i32.const 0) - ) - ) - (set_local $5 - (if (result i32) - (i32.lt_s - (tee_local $6 - (i32.add - (i32.sub - (get_local $18) - (select - (get_local $7) - (i32.const 0) - (i32.ne - (get_local $24) - (i32.const 102) - ) - ) - ) - (i32.shr_s - (i32.shl - (i32.and - (tee_local $31 - (i32.ne - (get_local $18) - (i32.const 0) + (set_local $5 + (if (result i32) + (get_local $31) + (block $do-once91 (result i32) + (set_local $7 + (if (result i32) + (i32.and + (i32.gt_s + (tee_local $5 + (i32.add + (get_local $18) + (i32.xor + (get_local $37) + (i32.const 1) + ) + ) + ) + (get_local $13) + ) + (i32.gt_s + (get_local $13) + (i32.const -5) + ) + ) + (block (result i32) + (set_local $18 + (i32.sub + (i32.add + (get_local $5) + (i32.const -1) + ) + (get_local $13) + ) + ) + (i32.add + (get_local $19) + (i32.const -1) + ) + ) + (block (result i32) + (set_local $18 + (i32.add + (get_local $5) + (i32.const -1) + ) + ) + (i32.add + (get_local $19) + (i32.const -2) + ) + ) + ) + ) + (if + (tee_local $5 + (i32.and + (get_local $11) + (i32.const 8) + ) + ) + (block + (set_local $21 + (get_local $5) + ) + (br $do-once91 + (get_local $18) + ) + ) + ) + (if + (get_local $24) + (block $do-once93 + (if + (i32.eqz + (tee_local $19 + (i32.load + (i32.add + (get_local $9) + (i32.const -4) + ) + ) + ) + ) + (block + (set_local $5 + (i32.const 9) + ) + (br $do-once93) + ) + ) + (set_local $5 + (if (result i32) + (call $i32u-rem + (get_local $19) + (i32.const 10) + ) + (block + (set_local $5 + (i32.const 0) + ) + (br $do-once93) + ) + (block (result i32) + (set_local $6 + (i32.const 10) + ) + (i32.const 0) + ) + ) + ) + (loop $while-in96 + (set_local $5 + (i32.add + (get_local $5) + (i32.const 1) + ) + ) + (br_if $while-in96 + (i32.eqz + (call $i32u-rem + (get_local $19) + (tee_local $6 + (i32.mul + (get_local $6) + (i32.const 10) + ) + ) + ) + ) + ) + ) + ) + (set_local $5 + (i32.const 9) + ) + ) + (set_local $6 + (i32.add + (i32.mul + (i32.shr_s + (i32.sub + (get_local $9) + (get_local $21) + ) + (i32.const 2) + ) + (i32.const 9) + ) + (i32.const -9) + ) + ) + (if (result i32) + (i32.eq + (i32.or + (get_local $7) + (i32.const 32) + ) + (i32.const 102) + ) + (block (result i32) + (set_local $21 + (i32.const 0) + ) + (select + (get_local $18) + (tee_local $5 + (select + (i32.const 0) + (tee_local $5 + (i32.sub + (get_local $6) + (get_local $5) + ) + ) + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + ) + ) + (i32.lt_s + (get_local $18) + (get_local $5) + ) + ) + ) + (block (result i32) + (set_local $21 + (i32.const 0) + ) + (select + (get_local $18) + (tee_local $5 + (select + (i32.const 0) + (tee_local $5 + (i32.sub + (i32.add + (get_local $6) + (get_local $13) + ) + (get_local $5) + ) + ) + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + ) + ) + (i32.lt_s + (get_local $18) + (get_local $5) + ) + ) + ) + ) + ) + (block (result i32) + (set_local $21 + (i32.and + (get_local $11) + (i32.const 8) + ) + ) + (set_local $7 + (get_local $19) + ) + (get_local $18) + ) ) ) - (tee_local $37 - (i32.eq - (get_local $24) - (i32.const 103) + (set_local $6 + (i32.sub + (i32.const 0) + (get_local $13) ) ) - ) - (i32.const 31) - ) - (i32.const 31) - ) - ) - ) - (i32.add - (i32.mul - (i32.shr_s - (i32.sub - (get_local $9) - (get_local $21) - ) - (i32.const 2) - ) - (i32.const 9) - ) - (i32.const -9) - ) - ) - (block (result i32) - (set_local $13 - (call $i32s-div - (tee_local $6 - (i32.add - (get_local $6) - (i32.const 9216) - ) - ) - (i32.const 9) - ) - ) - (if - (i32.lt_s - (tee_local $6 - (i32.add - (i32.rem_s - (get_local $6) - (i32.const 9) - ) - (i32.const 1) - ) - ) - (i32.const 9) - ) - (block - (set_local $12 - (i32.const 10) - ) - (loop $while-in80 - (set_local $12 - (i32.mul - (get_local $12) - (i32.const 10) - ) - ) - (br_if $while-in80 - (i32.ne - (tee_local $6 - (i32.add - (get_local $6) - (i32.const 1) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (tee_local $13 + (i32.add + (if (result i32) + (tee_local $18 + (i32.eq + (i32.or + (get_local $7) + (i32.const 32) + ) + (i32.const 102) + ) + ) + (block (result i32) + (set_local $19 + (i32.const 0) + ) + (select + (get_local $13) + (i32.const 0) + (i32.gt_s + (get_local $13) + (i32.const 0) + ) + ) + ) + (block (result i32) + (if + (i32.lt_s + (i32.sub + (get_local $27) + (tee_local $6 + (call $_fmt_u + (tee_local $6 + (select + (get_local $6) + (get_local $13) + (i32.lt_s + (get_local $13) + (i32.const 0) + ) + ) + ) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $6) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) + (get_local $32) + ) + ) + ) + (i32.const 2) + ) + (loop $while-in98 + (i32.store8 + (tee_local $6 + (i32.add + (get_local $6) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in98 + (i32.lt_s + (i32.sub + (get_local $27) + (get_local $6) + ) + (i32.const 2) + ) + ) + ) + ) + (i32.store8 + (i32.add + (get_local $6) + (i32.const -1) + ) + (i32.add + (i32.and + (i32.shr_s + (get_local $13) + (i32.const 31) + ) + (i32.const 2) + ) + (i32.const 43) + ) + ) + (i32.store8 + (tee_local $19 + (i32.add + (get_local $6) + (i32.const -2) + ) + ) + (get_local $7) + ) + (i32.sub + (get_local $27) + (get_local $19) + ) + ) + ) + (i32.add + (i32.add + (i32.add + (get_local $26) + (i32.const 1) + ) + (get_local $5) + ) + (i32.ne + (tee_local $31 + (i32.or + (get_local $5) + (get_local $21) + ) + ) + (i32.const 0) + ) + ) + ) ) + (get_local $11) ) - (i32.const 9) - ) - ) - ) - ) - (set_local $12 - (i32.const 10) - ) - ) - (set_local $13 - (call $i32u-rem - (tee_local $24 - (i32.load - (tee_local $6 - (i32.add - (i32.add - (get_local $8) - (i32.shl - (get_local $13) - (i32.const 2) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $30) + (get_local $26) + (get_local $0) ) ) - (i32.const -4092) ) - ) - ) - ) - (get_local $12) - ) - ) - (if - (i32.eqz - (i32.and - (tee_local $38 - (i32.eq - (i32.add - (get_local $6) - (i32.const 4) + (call $_pad + (get_local $0) + (i32.const 48) + (get_local $15) + (get_local $13) + (i32.xor + (get_local $11) + (i32.const 65536) + ) ) - (get_local $9) - ) - ) - (i32.eqz - (get_local $13) - ) - ) - ) - (block $do-once81 - (set_local $50 - (call $i32u-div - (get_local $24) - (get_local $12) - ) - ) - (set_local $16 - (if (result f64) - (i32.lt_u - (get_local $13) - (tee_local $51 - (call $i32s-div - (get_local $12) - (i32.const 2) + (if + (get_local $18) + (block + (set_local $6 + (tee_local $12 + (select + (get_local $8) + (get_local $12) + (i32.gt_u + (get_local $12) + (get_local $8) + ) + ) + ) + ) + (loop $while-in102 + (set_local $7 + (call $_fmt_u + (i32.load + (get_local $6) + ) + (i32.const 0) + (get_local $29) + ) + ) + (block $do-once103 + (if + (i32.eq + (get_local $6) + (get_local $12) + ) + (block + (br_if $do-once103 + (i32.ne + (get_local $7) + (get_local $29) + ) + ) + (i32.store8 + (get_local $33) + (i32.const 48) + ) + (set_local $7 + (get_local $33) + ) + ) + (block + (br_if $do-once103 + (i32.le_u + (get_local $7) + (get_local $22) + ) + ) + (loop $while-in106 + (i32.store8 + (tee_local $7 + (i32.add + (get_local $7) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in106 + (i32.gt_u + (get_local $7) + (get_local $22) + ) + ) + ) + ) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $7) + (i32.sub + (get_local $42) + (get_local $7) + ) + (get_local $0) + ) + ) + ) + (if + (i32.le_u + (tee_local $7 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + (get_local $8) + ) + (block + (set_local $6 + (get_local $7) + ) + (br $while-in102) + ) + ) + ) + (if + (get_local $31) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (i32.const 4143) + (i32.const 1) + (get_local $0) + ) + ) + ) + ) + (if + (i32.and + (i32.lt_u + (get_local $7) + (get_local $9) + ) + (i32.gt_s + (get_local $5) + (i32.const 0) + ) + ) + (loop $while-in110 + (if + (i32.gt_u + (tee_local $6 + (call $_fmt_u + (i32.load + (get_local $7) + ) + (i32.const 0) + (get_local $29) + ) + ) + (get_local $22) + ) + (loop $while-in112 + (i32.store8 + (tee_local $6 + (i32.add + (get_local $6) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in112 + (i32.gt_u + (get_local $6) + (get_local $22) + ) + ) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $6) + (select + (i32.const 9) + (get_local $5) + (i32.gt_s + (get_local $5) + (i32.const 9) + ) + ) + (get_local $0) + ) + ) + ) + (set_local $6 + (i32.add + (get_local $5) + (i32.const -9) + ) + ) + (set_local $5 + (if (result i32) + (i32.and + (i32.lt_u + (tee_local $7 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (get_local $9) + ) + (i32.gt_s + (get_local $5) + (i32.const 9) + ) + ) + (block + (set_local $5 + (get_local $6) + ) + (br $while-in110) + ) + (get_local $6) + ) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.add + (get_local $5) + (i32.const 9) + ) + (i32.const 9) + (i32.const 0) + ) + ) + (block $do-once99 + (set_local $9 + (select + (get_local $9) + (i32.add + (get_local $12) + (i32.const 4) + ) + (get_local $24) + ) + ) + (if + (i32.gt_s + (get_local $5) + (i32.const -1) + ) + (block + (set_local $18 + (i32.eqz + (get_local $21) + ) + ) + (set_local $6 + (get_local $12) + ) + (set_local $7 + (get_local $5) + ) + (loop $while-in114 + (if + (i32.eq + (tee_local $5 + (call $_fmt_u + (i32.load + (get_local $6) + ) + (i32.const 0) + (get_local $29) + ) + ) + (get_local $29) + ) + (block + (i32.store8 + (get_local $33) + (i32.const 48) + ) + (set_local $5 + (get_local $33) + ) + ) + ) + (block $do-once115 + (if + (i32.eq + (get_local $6) + (get_local $12) + ) + (block + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $5) + (i32.const 1) + (get_local $0) + ) + ) + ) + (set_local $5 + (i32.add + (get_local $5) + (i32.const 1) + ) + ) + (br_if $do-once115 + (i32.and + (i32.lt_s + (get_local $7) + (i32.const 1) + ) + (get_local $18) + ) + ) + (br_if $do-once115 + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (i32.const 4143) + (i32.const 1) + (get_local $0) + ) + ) + ) + (block + (br_if $do-once115 + (i32.le_u + (get_local $5) + (get_local $22) + ) + ) + (loop $while-in118 + (i32.store8 + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in118 + (i32.gt_u + (get_local $5) + (get_local $22) + ) + ) + ) + ) + ) + ) + (set_local $8 + (i32.sub + (get_local $42) + (get_local $5) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $5) + (select + (get_local $8) + (get_local $7) + (i32.gt_s + (get_local $7) + (get_local $8) + ) + ) + (get_local $0) + ) + ) + ) + (br_if $while-in114 + (i32.and + (i32.lt_u + (tee_local $6 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + (get_local $9) + ) + (i32.gt_s + (tee_local $7 + (i32.sub + (get_local $7) + (get_local $8) + ) + ) + (i32.const -1) + ) + ) + ) + ) + (set_local $5 + (get_local $7) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.add + (get_local $5) + (i32.const 18) + ) + (i32.const 18) + (i32.const 0) + ) + (br_if $do-once99 + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $19) + (i32.sub + (get_local $27) + (get_local $19) + ) + (get_local $0) + ) + ) ) ) - ) - (f64.const 0.5) - (select - (f64.const 1) - (f64.const 1.5) - (i32.and - (get_local $38) - (i32.eq - (get_local $13) - (get_local $51) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (get_local $13) + (i32.xor + (get_local $11) + (i32.const 8192) ) ) - ) - ) - ) - (set_local $23 - (select - (f64.const 9007199254740994) - (f64.const 9007199254740992) - (i32.and - (get_local $50) - (i32.const 1) - ) - ) - ) - (if - (get_local $26) - (if - (i32.eq - (i32.load8_s - (get_local $30) + (select + (get_local $15) + (get_local $13) + (i32.lt_s + (get_local $13) + (get_local $15) + ) ) - (i32.const 45) ) - (block - (set_local $23 - (f64.neg - (get_local $23) + (block (result i32) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (tee_local $7 + (i32.add + (tee_local $9 + (select + (i32.const 0) + (get_local $26) + (tee_local $6 + (f64.ne + (get_local $16) + (get_local $16) + ) + ) + ) + ) + (i32.const 3) + ) ) + (get_local $8) ) - (set_local $16 - (f64.neg - (get_local $16) + (if + (i32.eqz + (i32.and + (tee_local $5 + (i32.load + (get_local $0) + ) + ) + (i32.const 32) + ) + ) + (block + (drop + (call $___fwritex + (get_local $30) + (get_local $9) + (get_local $0) + ) + ) + (set_local $5 + (i32.load + (get_local $0) + ) + ) ) ) - ) - ) - ) - (i32.store - (get_local $6) - (tee_local $13 - (i32.sub - (get_local $24) - (get_local $13) - ) - ) - ) - (br_if $do-once81 - (f64.eq - (f64.add - (get_local $23) - (get_local $16) - ) - (get_local $23) - ) - ) - (i32.store - (get_local $6) - (tee_local $7 - (i32.add - (get_local $13) - (get_local $12) - ) - ) - ) - (if - (i32.gt_u - (get_local $7) - (i32.const 999999999) - ) - (loop $while-in86 - (i32.store - (get_local $6) - (i32.const 0) - ) - (if - (i32.lt_u - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -4) + (set_local $6 + (select + (select + (i32.const 4135) + (i32.const 4139) + (tee_local $8 + (i32.ne + (i32.and + (get_local $19) + (i32.const 32) + ) + (i32.const 0) + ) + ) ) + (select + (i32.const 4127) + (i32.const 4131) + (get_local $8) + ) + (get_local $6) ) - (get_local $5) ) - (i32.store - (tee_local $5 - (i32.add + (if + (i32.eqz + (i32.and (get_local $5) - (i32.const -4) + (i32.const 32) ) ) - (i32.const 0) - ) - ) - (i32.store - (get_local $6) - (tee_local $7 - (i32.add - (i32.load + (drop + (call $___fwritex (get_local $6) + (i32.const 3) + (get_local $0) ) - (i32.const 1) ) ) - ) - (br_if $while-in86 - (i32.gt_u + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) (get_local $7) - (i32.const 999999999) - ) - ) - ) - ) - (set_local $7 - (i32.mul - (i32.shr_s - (i32.sub - (get_local $21) - (get_local $5) + (i32.xor + (get_local $11) + (i32.const 8192) + ) ) - (i32.const 2) - ) - (i32.const 9) - ) - ) - (br_if $do-once81 - (i32.lt_u - (tee_local $13 - (i32.load - (get_local $5) + (select + (get_local $15) + (get_local $7) + (i32.lt_s + (get_local $7) + (get_local $15) + ) ) ) - (i32.const 10) ) ) - (set_local $12 - (i32.const 10) + (set_local $5 + (get_local $10) ) - (loop $while-in88 - (set_local $7 - (i32.add - (get_local $7) - (i32.const 1) - ) - ) - (br_if $while-in88 - (i32.ge_u - (get_local $13) - (tee_local $12 - (i32.mul - (get_local $12) - (i32.const 10) - ) - ) - ) - ) + (set_local $10 + (get_local $7) ) + (br $label$continue$L1) ) - ) - (set_local $12 - (get_local $5) - ) - (set_local $13 - (get_local $7) - ) - (select - (tee_local $5 - (i32.add - (get_local $6) - (i32.const 4) - ) + (set_local $12 + (get_local $6) ) - (get_local $9) - (i32.gt_u - (get_local $9) - (get_local $5) + (set_local $8 + (i32.const 0) ) - ) - ) - (block (result i32) - (set_local $12 - (get_local $5) - ) - (set_local $13 - (get_local $7) - ) - (get_local $9) - ) - ) - ) - (set_local $9 - (loop $while-in90 (result i32) - (block $while-out89 (result i32) - (if - (i32.le_u - (get_local $5) - (get_local $12) + (set_local $9 + (i32.const 4091) ) - (block - (set_local $24 - (i32.const 0) - ) - (br $while-out89 - (get_local $5) - ) + (br $__rjto$8 + (get_local $25) ) ) - (if (result i32) - (i32.load + (set_local $9 + (i32.and + (get_local $19) + (i32.const 32) + ) + ) + (if + (i32.or (tee_local $7 - (i32.add - (get_local $5) - (i32.const -4) + (i32.load + (get_local $14) ) ) - ) - (block (result i32) - (set_local $24 - (i32.const 1) + (tee_local $11 + (i32.load offset=4 + (get_local $14) + ) ) - (get_local $5) ) (block - (set_local $5 - (get_local $7) - ) - (br $while-in90) - ) - ) - ) - ) - ) - (set_local $5 - (if (result i32) - (get_local $37) - (block $do-once91 (result i32) - (set_local $7 - (if (result i32) - (i32.and - (i32.gt_s - (tee_local $5 - (i32.add - (i32.xor - (get_local $31) - (i32.const 1) - ) - (get_local $18) - ) - ) - (get_local $13) - ) - (i32.gt_s - (get_local $13) - (i32.const -5) - ) + (set_local $8 + (get_local $25) ) - (block (result i32) - (set_local $18 - (i32.sub + (loop $while-in123 + (i32.store8 + (tee_local $8 (i32.add - (get_local $5) + (get_local $8) (i32.const -1) ) - (get_local $13) - ) - ) - (i32.add - (get_local $19) - (i32.const -1) - ) - ) - (block (result i32) - (set_local $18 - (i32.add - (get_local $5) - (i32.const -1) ) - ) - (i32.add - (get_local $19) - (i32.const -2) - ) - ) - ) - ) - (if - (tee_local $5 - (i32.and - (get_local $11) - (i32.const 8) - ) - ) - (block - (set_local $21 - (get_local $5) - ) - (br $do-once91 - (get_local $18) - ) - ) - ) - (if - (get_local $24) - (block $do-once93 - (if - (i32.eqz - (tee_local $19 - (i32.load + (i32.or + (get_local $9) + (i32.load8_u (i32.add - (get_local $9) - (i32.const -4) + (i32.and + (get_local $7) + (i32.const 15) + ) + (i32.const 4075) ) ) ) ) - (block - (set_local $5 - (i32.const 9) + (br_if $while-in123 + (i32.or + (tee_local $7 + (call $_bitshift64Lshr + (get_local $7) + (get_local $11) + (i32.const 4) + ) + ) + (tee_local $11 + (get_global $tempRet0) + ) ) - (br $do-once93) ) ) - (set_local $5 + (set_local $7 + (get_local $8) + ) + (set_local $8 (if (result i32) - (call $i32u-rem - (get_local $19) - (i32.const 10) - ) - (block - (set_local $5 - (i32.const 0) + (i32.or + (i32.eqz + (i32.or + (i32.load + (get_local $14) + ) + (i32.load offset=4 + (get_local $14) + ) + ) + ) + (i32.eqz + (i32.and + (get_local $5) + (i32.const 8) + ) ) - (br $do-once93) ) (block (result i32) - (set_local $6 - (i32.const 10) + (set_local $9 + (i32.const 4091) ) (i32.const 0) ) - ) - ) - (loop $while-in96 - (set_local $5 - (i32.add - (get_local $5) - (i32.const 1) - ) - ) - (br_if $while-in96 - (i32.eqz - (call $i32u-rem - (get_local $19) - (tee_local $6 - (i32.mul - (get_local $6) - (i32.const 10) + (block (result i32) + (set_local $9 + (i32.add + (i32.shr_s + (get_local $19) + (i32.const 4) ) + (i32.const 4091) ) ) + (i32.const 2) ) ) ) ) - (set_local $5 - (i32.const 9) - ) - ) - (set_local $6 - (i32.add - (i32.mul - (i32.shr_s - (i32.sub - (get_local $9) - (get_local $21) - ) - (i32.const 2) - ) - (i32.const 9) - ) - (i32.const -9) - ) - ) - (if (result i32) - (i32.eq - (i32.or - (get_local $7) - (i32.const 32) + (block + (set_local $7 + (get_local $25) ) - (i32.const 102) - ) - (block (result i32) - (set_local $21 + (set_local $8 (i32.const 0) ) - (select - (get_local $18) - (tee_local $5 - (select - (i32.const 0) - (tee_local $5 - (i32.sub - (get_local $6) - (get_local $5) - ) - ) - (i32.lt_s - (get_local $5) - (i32.const 0) - ) - ) - ) - (i32.lt_s - (get_local $18) - (get_local $5) - ) + (set_local $9 + (i32.const 4091) ) ) - (block (result i32) - (set_local $21 - (i32.const 0) - ) - (select - (get_local $18) - (tee_local $5 - (select - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.add - (get_local $6) - (get_local $13) - ) - (get_local $5) - ) - ) - (i32.lt_s - (get_local $5) - (i32.const 0) - ) - ) - ) - (i32.lt_s - (get_local $18) - (get_local $5) - ) - ) + ) + (br $__rjti$8) + ) + (set_local $7 + (call $_fmt_u + (get_local $5) + (get_local $7) + (get_local $25) + ) + ) + (set_local $5 + (get_local $11) + ) + (br $__rjti$8) + ) + (set_local $19 + (i32.eqz + (tee_local $13 + (call $_memchr + (get_local $7) + (get_local $6) ) ) ) - (block (result i32) - (set_local $21 - (i32.and - (get_local $11) - (i32.const 8) + ) + (set_local $11 + (get_local $8) + ) + (set_local $12 + (select + (get_local $6) + (i32.sub + (get_local $13) + (tee_local $5 + (get_local $7) ) ) - (set_local $7 - (get_local $19) + (get_local $19) + ) + ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (br $__rjto$8 + (select + (i32.add + (get_local $5) + (get_local $6) ) - (get_local $18) + (get_local $13) + (get_local $19) ) ) ) + (set_local $5 + (i32.const 0) + ) + (set_local $7 + (i32.const 0) + ) (set_local $6 - (i32.sub - (i32.const 0) - (get_local $13) + (i32.load + (get_local $14) ) ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (tee_local $13 - (i32.add - (i32.add - (i32.add - (i32.add - (get_local $26) - (i32.const 1) - ) - (get_local $5) - ) - (i32.ne - (tee_local $31 - (i32.or - (get_local $5) - (get_local $21) - ) + (loop $while-in125 + (block $while-out124 + (br_if $while-out124 + (i32.eqz + (tee_local $9 + (i32.load + (get_local $6) ) - (i32.const 0) ) ) - (if (result i32) - (tee_local $18 - (i32.eq - (i32.or - (get_local $7) - (i32.const 32) + ) + (br_if $while-out124 + (i32.or + (i32.lt_s + (tee_local $7 + (call $_wctomb + (get_local $35) + (get_local $9) ) - (i32.const 102) ) + (i32.const 0) ) - (block (result i32) - (set_local $19 - (i32.const 0) - ) - (select - (get_local $13) - (i32.const 0) - (i32.gt_s - (get_local $13) - (i32.const 0) - ) + (i32.gt_u + (get_local $7) + (i32.sub + (get_local $8) + (get_local $5) ) ) - (block (result i32) - (if - (i32.lt_s - (i32.sub - (get_local $27) - (tee_local $6 - (call $_fmt_u - (tee_local $6 - (select - (get_local $6) - (get_local $13) - (i32.lt_s - (get_local $13) - (i32.const 0) - ) - ) - ) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $6) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.const 31) - ) - (get_local $32) - ) - ) - ) - (i32.const 2) - ) - (loop $while-in98 - (i32.store8 - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in98 - (i32.lt_s - (i32.sub - (get_local $27) - (get_local $6) - ) - (i32.const 2) - ) - ) - ) - ) - (i32.store8 - (i32.add - (get_local $6) - (i32.const -1) - ) - (i32.add - (i32.and - (i32.shr_s - (get_local $13) - (i32.const 31) - ) - (i32.const 2) - ) - (i32.const 43) - ) - ) - (i32.store8 - (tee_local $19 - (i32.add - (get_local $6) - (i32.const -2) - ) - ) + ) + ) + (set_local $6 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + (br_if $while-in125 + (i32.gt_u + (get_local $8) + (tee_local $5 + (i32.add + (get_local $5) (get_local $7) ) - (i32.sub - (get_local $27) - (get_local $19) - ) ) ) ) ) - (get_local $11) ) (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) + (i32.lt_s + (get_local $7) + (i32.const 0) ) - (drop - (call $___fwritex - (get_local $30) - (get_local $26) - (get_local $0) + (block + (set_local $17 + (i32.const -1) ) + (br $label$break$L1) ) ) (call $_pad (get_local $0) - (i32.const 48) + (i32.const 32) (get_local $15) - (get_local $13) - (i32.xor - (get_local $11) - (i32.const 65536) - ) + (get_local $5) + (get_local $11) ) - (if - (get_local $18) - (block + (if (result i32) + (get_local $5) + (block (result i32) (set_local $6 - (tee_local $12 - (select - (get_local $8) - (get_local $12) - (i32.gt_u - (get_local $12) - (get_local $8) - ) - ) - ) + (i32.const 0) ) - (loop $while-in102 - (set_local $7 - (call $_fmt_u - (i32.load - (get_local $6) - ) - (i32.const 0) - (get_local $29) - ) + (set_local $7 + (i32.load + (get_local $14) ) - (block $do-once103 - (if - (i32.eq - (get_local $6) - (get_local $12) - ) - (block - (br_if $do-once103 - (i32.ne + ) + (loop $while-in127 + (drop + (br_if $__rjti$7 + (get_local $5) + (i32.eqz + (tee_local $8 + (i32.load (get_local $7) - (get_local $29) ) ) - (i32.store8 - (get_local $33) - (i32.const 48) - ) - (set_local $7 - (get_local $33) - ) ) - (block - (br_if $do-once103 - (i32.le_u - (get_local $7) - (get_local $22) - ) - ) - (loop $while-in106 - (i32.store8 - (tee_local $7 - (i32.add - (get_local $7) - (i32.const -1) + ) + ) + (drop + (br_if $__rjti$7 + (get_local $5) + (i32.gt_s + (tee_local $6 + (i32.add + (tee_local $8 + (call $_wctomb + (get_local $35) + (get_local $8) ) ) - (i32.const 48) - ) - (br_if $while-in106 - (i32.gt_u - (get_local $7) - (get_local $22) - ) + (get_local $6) ) ) + (get_local $5) ) ) ) @@ -5788,972 +6648,123 @@ ) (drop (call $___fwritex - (get_local $7) - (i32.sub - (get_local $43) - (get_local $7) - ) - (get_local $0) - ) - ) - ) - (if - (i32.le_u - (tee_local $7 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) - (get_local $8) - ) - (block - (set_local $6 - (get_local $7) - ) - (br $while-in102) - ) - ) - ) - (if - (get_local $31) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) + (get_local $35) + (get_local $8) (get_local $0) ) ) ) - ) - (if - (i32.and - (i32.gt_s - (get_local $5) - (i32.const 0) - ) - (i32.lt_u - (get_local $7) - (get_local $9) - ) - ) - (loop $while-in110 - (if - (i32.gt_u - (tee_local $6 - (call $_fmt_u - (i32.load - (get_local $7) - ) - (i32.const 0) - (get_local $29) - ) - ) - (get_local $22) - ) - (loop $while-in112 - (i32.store8 - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in112 - (i32.gt_u - (get_local $6) - (get_local $22) - ) - ) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $6) - (select - (i32.const 9) - (get_local $5) - (i32.gt_s - (get_local $5) - (i32.const 9) - ) - ) - (get_local $0) - ) - ) - ) - (set_local $6 - (i32.add - (get_local $5) - (i32.const -9) - ) - ) - (set_local $5 - (if (result i32) - (i32.and - (i32.gt_s - (get_local $5) - (i32.const 9) - ) - (i32.lt_u - (tee_local $7 - (i32.add - (get_local $7) - (i32.const 4) - ) - ) - (get_local $9) - ) - ) - (block - (set_local $5 - (get_local $6) - ) - (br $while-in110) - ) - (get_local $6) - ) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (i32.add - (get_local $5) - (i32.const 9) - ) - (i32.const 9) - (i32.const 0) - ) - ) - (block $do-once99 - (set_local $9 - (select - (get_local $9) + (set_local $7 (i32.add - (get_local $12) + (get_local $7) (i32.const 4) ) - (get_local $24) ) - ) - (if - (i32.gt_s - (get_local $5) - (i32.const -1) - ) - (block - (set_local $18 - (i32.eqz - (get_local $21) - ) - ) - (set_local $6 - (get_local $12) - ) - (set_local $7 + (br_if $while-in127 + (i32.lt_u + (get_local $6) (get_local $5) ) - (loop $while-in114 - (if - (i32.eq - (tee_local $5 - (call $_fmt_u - (i32.load - (get_local $6) - ) - (i32.const 0) - (get_local $29) - ) - ) - (get_local $29) - ) - (block - (i32.store8 - (get_local $33) - (i32.const 48) - ) - (set_local $5 - (get_local $33) - ) - ) - ) - (block $do-once115 - (if - (i32.eq - (get_local $6) - (get_local $12) - ) - (block - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $5) - (i32.const 1) - (get_local $0) - ) - ) - ) - (set_local $5 - (i32.add - (get_local $5) - (i32.const 1) - ) - ) - (br_if $do-once115 - (i32.and - (get_local $18) - (i32.lt_s - (get_local $7) - (i32.const 1) - ) - ) - ) - (br_if $do-once115 - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) - (get_local $0) - ) - ) - ) - (block - (br_if $do-once115 - (i32.le_u - (get_local $5) - (get_local $22) - ) - ) - (loop $while-in118 - (i32.store8 - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in118 - (i32.gt_u - (get_local $5) - (get_local $22) - ) - ) - ) - ) - ) - ) - (set_local $8 - (i32.sub - (get_local $43) - (get_local $5) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $5) - (select - (get_local $8) - (get_local $7) - (i32.gt_s - (get_local $7) - (get_local $8) - ) - ) - (get_local $0) - ) - ) - ) - (br_if $while-in114 - (i32.and - (i32.lt_u - (tee_local $6 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) - (get_local $9) - ) - (i32.gt_s - (tee_local $7 - (i32.sub - (get_local $7) - (get_local $8) - ) - ) - (i32.const -1) - ) - ) - ) - ) - (set_local $5 - (get_local $7) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (i32.add - (get_local $5) - (i32.const 18) - ) - (i32.const 18) - (i32.const 0) - ) - (br_if $do-once99 - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $19) - (i32.sub - (get_local $27) - (get_local $19) - ) - (get_local $0) - ) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (get_local $13) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (select - (get_local $15) - (get_local $13) - (i32.lt_s - (get_local $13) - (get_local $15) - ) - ) - ) - (block (result i32) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (tee_local $7 - (i32.add - (tee_local $9 - (select - (i32.const 0) - (get_local $26) - (tee_local $6 - (f64.ne - (get_local $16) - (get_local $16) - ) - ) - ) - ) - (i32.const 3) - ) - ) - (get_local $8) - ) - (if - (i32.eqz - (i32.and - (tee_local $5 - (i32.load - (get_local $0) - ) ) - (i32.const 32) ) + (get_local $5) ) - (block - (drop - (call $___fwritex - (get_local $30) - (get_local $9) - (get_local $0) - ) - ) - (set_local $5 - (i32.load - (get_local $0) - ) - ) - ) - ) - (set_local $6 - (select - (select - (i32.const 4135) - (i32.const 4139) - (tee_local $8 - (i32.ne - (i32.and - (get_local $19) - (i32.const 32) - ) - (i32.const 0) - ) - ) - ) - (select - (i32.const 4127) - (i32.const 4131) - (get_local $8) - ) - (get_local $6) - ) - ) - (if - (i32.eqz - (i32.and - (get_local $5) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $6) - (i32.const 3) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (get_local $7) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (select - (get_local $15) - (get_local $7) - (i32.lt_s - (get_local $7) - (get_local $15) - ) + (i32.const 0) ) ) ) + (i32.xor + (get_local $11) + (i32.const 8192) + ) ) (set_local $5 (get_local $10) ) (set_local $10 - (get_local $7) + (select + (get_local $15) + (get_local $7) + (i32.gt_s + (get_local $15) + (get_local $7) + ) + ) ) (br $label$continue$L1) ) - (set_local $12 - (get_local $6) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjto$8 - (get_local $25) - ) - ) - (set_local $9 - (i32.and - (get_local $19) - (i32.const 32) - ) - ) - (if - (i32.or - (tee_local $7 - (i32.load - (get_local $14) + (set_local $11 + (select + (i32.and + (get_local $5) + (i32.const -65537) ) - ) - (tee_local $11 - (i32.load offset=4 - (get_local $14) + (get_local $5) + (i32.gt_s + (get_local $6) + (i32.const -1) ) ) ) - (block - (set_local $8 - (get_local $25) - ) - (loop $while-in123 - (i32.store8 - (tee_local $8 - (i32.add - (get_local $8) - (i32.const -1) - ) - ) + (if (result i32) + (i32.or + (get_local $6) + (tee_local $5 (i32.or - (i32.load8_u - (i32.add - (i32.and - (get_local $7) - (i32.const 15) - ) - (i32.const 4075) + (i32.ne + (i32.load + (get_local $14) ) + (i32.const 0) ) - (get_local $9) - ) - ) - (br_if $while-in123 - (i32.or - (tee_local $7 - (call $_bitshift64Lshr - (get_local $7) - (get_local $11) - (i32.const 4) + (i32.ne + (i32.load offset=4 + (get_local $14) ) - ) - (tee_local $11 - (get_global $tempRet0) + (i32.const 0) ) ) ) ) - (set_local $7 - (get_local $8) - ) - (set_local $8 - (if (result i32) - (i32.or - (i32.eqz - (i32.and - (get_local $5) - (i32.const 8) - ) - ) - (i32.eqz - (i32.or - (i32.load - (get_local $14) + (block (result i32) + (set_local $12 + (select + (get_local $6) + (tee_local $7 + (i32.add + (i32.xor + (i32.and + (get_local $5) + (i32.const 1) + ) + (i32.const 1) ) - (i32.load offset=4 - (get_local $14) + (i32.sub + (get_local $38) + (tee_local $5 + (get_local $7) + ) ) ) ) - ) - (block (result i32) - (set_local $9 - (i32.const 4091) - ) - (i32.const 0) - ) - (block (result i32) - (set_local $9 - (i32.add - (i32.shr_s - (get_local $19) - (i32.const 4) - ) - (i32.const 4091) - ) + (i32.gt_s + (get_local $6) + (get_local $7) ) - (i32.const 2) ) ) - ) - ) - (block - (set_local $7 (get_local $25) ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - ) - ) - (br $__rjti$8) - ) - (set_local $7 - (call $_fmt_u - (get_local $5) - (get_local $7) - (get_local $25) - ) - ) - (set_local $5 - (get_local $11) - ) - (br $__rjti$8) - ) - (set_local $19 - (i32.eqz - (tee_local $13 - (call $_memchr - (get_local $7) - (get_local $6) - ) - ) - ) - ) - (set_local $11 - (get_local $8) - ) - (set_local $12 - (select - (get_local $6) - (i32.sub - (get_local $13) - (tee_local $5 - (get_local $7) - ) - ) - (get_local $19) - ) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjto$8 - (select - (i32.add - (get_local $5) - (get_local $6) - ) - (get_local $13) - (get_local $19) - ) - ) - ) - (set_local $5 - (i32.const 0) - ) - (set_local $7 - (i32.const 0) - ) - (set_local $6 - (i32.load - (get_local $14) - ) - ) - (loop $while-in125 - (block $while-out124 - (br_if $while-out124 - (i32.eqz - (tee_local $9 - (i32.load - (get_local $6) - ) - ) - ) - ) - (br_if $while-out124 - (i32.or - (i32.lt_s - (tee_local $7 - (call $_wctomb - (get_local $35) - (get_local $9) - ) - ) - (i32.const 0) - ) - (i32.gt_u - (get_local $7) - (i32.sub - (get_local $8) - (get_local $5) - ) - ) - ) - ) - (set_local $6 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) - (br_if $while-in125 - (i32.gt_u - (get_local $8) - (tee_local $5 - (i32.add - (get_local $7) - (get_local $5) - ) - ) - ) - ) - ) - ) - (if - (i32.lt_s - (get_local $7) - (i32.const 0) - ) - (block - (set_local $17 - (i32.const -1) - ) - (br $label$break$L1) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (get_local $5) - (get_local $11) - ) - (if (result i32) - (get_local $5) - (block (result i32) - (set_local $6 - (i32.const 0) - ) - (set_local $7 - (i32.load - (get_local $14) - ) - ) - (loop $while-in127 - (drop - (br_if $__rjti$7 - (get_local $5) - (i32.eqz - (tee_local $8 - (i32.load - (get_local $7) - ) - ) - ) - ) - ) - (drop - (br_if $__rjti$7 - (get_local $5) - (i32.gt_s - (tee_local $6 - (i32.add - (tee_local $8 - (call $_wctomb - (get_local $35) - (get_local $8) - ) - ) - (get_local $6) - ) + (block (result i32) + (set_local $12 + (i32.const 0) ) - (get_local $5) - ) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) + (tee_local $5 + (get_local $25) ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $35) - (get_local $8) - (get_local $0) ) ) ) - (set_local $7 - (i32.add - (get_local $7) - (i32.const 4) - ) - ) - (br_if $while-in127 - (i32.lt_u - (get_local $6) - (get_local $5) - ) - ) - ) - (get_local $5) - ) - (i32.const 0) - ) - ) - ) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (set_local $5 - (get_local $10) - ) - (set_local $10 - (select - (get_local $15) - (get_local $7) - (i32.gt_s - (get_local $15) - (get_local $7) - ) - ) - ) - (br $label$continue$L1) - ) - (set_local $11 - (select - (i32.and - (get_local $5) - (i32.const -65537) - ) - (get_local $5) - (i32.gt_s - (get_local $6) - (i32.const -1) - ) - ) - ) - (if (result i32) - (i32.or - (get_local $6) - (tee_local $5 - (i32.or - (i32.ne - (i32.load - (get_local $14) - ) - (i32.const 0) - ) - (i32.ne - (i32.load offset=4 - (get_local $14) - ) - (i32.const 0) - ) - ) - ) - ) - (block (result i32) - (set_local $12 - (select - (get_local $6) - (tee_local $7 - (i32.add - (i32.xor - (i32.and - (get_local $5) - (i32.const 1) - ) - (i32.const 1) - ) - (i32.sub - (get_local $39) - (tee_local $5 - (get_local $7) - ) - ) - ) - ) - (i32.gt_s - (get_local $6) - (get_local $7) - ) - ) - ) - (get_local $25) - ) - (block (result i32) - (set_local $12 - (i32.const 0) - ) - (tee_local $5 - (get_local $25) - ) - ) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (tee_local $7 - (select - (tee_local $6 - (i32.add - (get_local $8) - (tee_local $12 - (select - (tee_local $13 - (i32.sub - (get_local $7) (get_local $5) ) ) @@ -6764,6 +6775,7 @@ ) ) ) + (get_local $8) ) ) (get_local $15) @@ -6863,22 +6875,22 @@ (tee_local $1 (i32.load (i32.add - (get_local $4) (i32.shl (get_local $0) (i32.const 2) ) + (get_local $4) ) ) ) (block (call $_pop_arg_336 (i32.add - (get_local $3) (i32.shl (get_local $0) (i32.const 3) ) + (get_local $3) ) (get_local $1) (get_local $2) @@ -6910,11 +6922,11 @@ (if (i32.load (i32.add - (get_local $4) (i32.shl (get_local $0) (i32.const 2) ) + (get_local $4) ) ) (block @@ -7358,10 +7370,6 @@ (local $4 i32) (if (i32.or - (i32.gt_u - (get_local $1) - (i32.const 0) - ) (i32.and (i32.eqz (get_local $1) @@ -7371,6 +7379,10 @@ (i32.const -1) ) ) + (i32.gt_u + (get_local $1) + (i32.const 0) + ) ) (loop $while-in (i32.store8 @@ -7404,10 +7416,6 @@ (set_local $0 (if (result i32) (i32.or - (i32.gt_u - (get_local $1) - (i32.const 9) - ) (i32.and (i32.eq (get_local $1) @@ -7418,6 +7426,10 @@ (i32.const -1) ) ) + (i32.gt_u + (get_local $1) + (i32.const 9) + ) ) (block (set_local $0 @@ -7498,16 +7510,16 @@ ) (if (i32.and - (i32.gt_s - (get_local $2) - (get_local $3) - ) (i32.eqz (i32.and (get_local $4) (i32.const 73728) ) ) + (i32.gt_s + (get_local $2) + (get_local $3) + ) ) (block $do-once (drop @@ -7680,48 +7692,47 @@ (i32.const 3) ) (block - (set_local $11 - (i32.load - (tee_local $1 - (i32.add - (tee_local $7 - (i32.load - (tee_local $3 - (i32.add - (tee_local $2 + (if + (i32.eq + (tee_local $7 + (i32.load + (tee_local $1 + (i32.add + (tee_local $11 + (i32.load + (tee_local $3 (i32.add - (i32.shl - (tee_local $4 - (i32.add - (i32.xor - (i32.and - (get_local $10) - (i32.const 1) + (tee_local $2 + (i32.add + (i32.shl + (tee_local $4 + (i32.add + (i32.xor + (i32.and + (get_local $10) + (i32.const 1) + ) + (i32.const 1) + ) + (get_local $13) ) - (i32.const 1) ) - (get_local $13) + (i32.const 3) ) + (i32.const 216) ) - (i32.const 3) ) - (i32.const 216) + (i32.const 8) ) ) - (i32.const 8) ) ) + (i32.const 8) ) ) - (i32.const 8) ) ) - ) - ) - (if - (i32.eq (get_local $2) - (get_local $11) ) (i32.store (i32.const 176) @@ -7739,7 +7750,7 @@ (block (if (i32.lt_u - (get_local $11) + (get_local $7) (i32.load (i32.const 192) ) @@ -7748,15 +7759,15 @@ ) (if (i32.eq + (get_local $11) (i32.load (tee_local $0 (i32.add - (get_local $11) + (get_local $7) (i32.const 12) ) ) ) - (get_local $7) ) (block (i32.store @@ -7765,7 +7776,7 @@ ) (i32.store (get_local $3) - (get_local $11) + (get_local $7) ) ) (call $_abort) @@ -7773,7 +7784,7 @@ ) ) (i32.store offset=4 - (get_local $7) + (get_local $11) (i32.or (tee_local $0 (i32.shl @@ -7788,8 +7799,8 @@ (tee_local $0 (i32.add (i32.add - (get_local $7) (get_local $0) + (get_local $11) ) (i32.const 4) ) @@ -7819,77 +7830,108 @@ (if (get_local $10) (block - (set_local $7 - (i32.and - (i32.shr_u - (tee_local $3 - (i32.add - (i32.and - (tee_local $3 - (i32.and - (i32.shl - (get_local $10) - (get_local $13) - ) - (i32.or - (tee_local $3 - (i32.shl - (i32.const 2) - (get_local $13) - ) - ) - (i32.sub - (i32.const 0) - (get_local $3) - ) - ) - ) - ) - (i32.sub - (i32.const 0) - (get_local $3) - ) - ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) - (set_local $10 - (i32.load - (tee_local $4 - (i32.add - (tee_local $8 - (i32.load - (tee_local $3 - (i32.add - (tee_local $7 + (if + (i32.eq + (tee_local $8 + (i32.load + (tee_local $4 + (i32.add + (tee_local $10 + (i32.load + (tee_local $3 (i32.add - (i32.shl - (tee_local $11 - (i32.add - (i32.or - (i32.or + (tee_local $7 + (i32.add + (i32.shl + (tee_local $11 + (i32.add (i32.or (i32.or + (i32.or + (i32.or + (tee_local $3 + (i32.and + (i32.shr_u + (tee_local $4 + (i32.add + (i32.and + (tee_local $3 + (i32.and + (i32.or + (tee_local $3 + (i32.shl + (i32.const 2) + (get_local $13) + ) + ) + (i32.sub + (i32.const 0) + (get_local $3) + ) + ) + (i32.shl + (get_local $10) + (get_local $13) + ) + ) + ) + (i32.sub + (i32.const 0) + (get_local $3) + ) + ) + (i32.const -1) + ) + ) + (i32.const 12) + ) + (i32.const 16) + ) + ) + (tee_local $3 + (i32.and + (i32.shr_u + (tee_local $4 + (i32.shr_u + (get_local $4) + (get_local $3) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + ) + (tee_local $3 + (i32.and + (i32.shr_u + (tee_local $4 + (i32.shr_u + (get_local $4) + (get_local $3) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + ) (tee_local $3 (i32.and (i32.shr_u (tee_local $4 (i32.shr_u + (get_local $4) (get_local $3) - (get_local $7) ) ) - (i32.const 5) + (i32.const 1) ) - (i32.const 8) + (i32.const 2) ) ) - (get_local $7) ) (tee_local $3 (i32.and @@ -7900,67 +7942,34 @@ (get_local $3) ) ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $4 - (i32.shr_u - (get_local $4) - (get_local $3) - ) + (i32.const 1) ) (i32.const 1) ) - (i32.const 2) ) ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $4 - (i32.shr_u - (get_local $4) - (get_local $3) - ) - ) - (i32.const 1) - ) - (i32.const 1) + (i32.shr_u + (get_local $4) + (get_local $3) ) ) ) - (i32.shr_u - (get_local $4) - (get_local $3) - ) + (i32.const 3) ) + (i32.const 216) ) - (i32.const 3) ) - (i32.const 216) + (i32.const 8) ) ) - (i32.const 8) ) ) + (i32.const 8) ) ) - (i32.const 8) ) ) - ) - ) - (if - (i32.eq (get_local $7) - (get_local $10) ) (block (i32.store @@ -7983,7 +7992,7 @@ (block (if (i32.lt_u - (get_local $10) + (get_local $8) (i32.load (i32.const 192) ) @@ -7995,12 +8004,12 @@ (i32.load (tee_local $0 (i32.add - (get_local $10) + (get_local $8) (i32.const 12) ) ) ) - (get_local $8) + (get_local $10) ) (block (i32.store @@ -8009,7 +8018,7 @@ ) (i32.store (get_local $3) - (get_local $10) + (get_local $8) ) (set_local $9 (i32.load @@ -8022,7 +8031,7 @@ ) ) (i32.store offset=4 - (get_local $8) + (get_local $10) (i32.or (get_local $2) (i32.const 3) @@ -8031,8 +8040,8 @@ (i32.store offset=4 (tee_local $7 (i32.add - (get_local $8) (get_local $2) + (get_local $10) ) ) (i32.or @@ -8121,8 +8130,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $3) (get_local $0) + (get_local $3) ) ) (set_local $5 @@ -8174,26 +8183,6 @@ ) ) (block - (set_local $7 - (i32.and - (i32.shr_u - (tee_local $0 - (i32.add - (i32.and - (get_local $0) - (i32.sub - (i32.const 0) - (get_local $0) - ) - ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) (set_local $11 (i32.sub (i32.and @@ -8210,9 +8199,29 @@ (i32.and (i32.shr_u (tee_local $1 + (i32.add + (i32.and + (get_local $0) + (i32.sub + (i32.const 0) + (get_local $0) + ) + ) + (i32.const -1) + ) + ) + (i32.const 12) + ) + (i32.const 16) + ) + ) + (tee_local $0 + (i32.and + (i32.shr_u + (tee_local $1 (i32.shr_u + (get_local $1) (get_local $0) - (get_local $7) ) ) (i32.const 5) @@ -8220,7 +8229,6 @@ (i32.const 8) ) ) - (get_local $7) ) (tee_local $0 (i32.and @@ -8364,8 +8372,8 @@ (get_local $8) (tee_local $5 (i32.add - (get_local $8) (get_local $2) + (get_local $8) ) ) ) @@ -8489,6 +8497,7 @@ ) (if (i32.ne + (get_local $8) (i32.load (tee_local $7 (i32.add @@ -8497,7 +8506,6 @@ ) ) ) - (get_local $8) ) (call $_abort) ) @@ -8535,7 +8543,6 @@ (block $do-once8 (if (i32.eq - (get_local $8) (i32.load (tee_local $0 (i32.add @@ -8551,6 +8558,7 @@ ) ) ) + (get_local $8) ) (block (i32.store @@ -8697,8 +8705,8 @@ (i32.or (tee_local $0 (i32.add - (get_local $6) (get_local $2) + (get_local $6) ) ) (i32.const 3) @@ -8708,8 +8716,8 @@ (tee_local $0 (i32.add (i32.add - (get_local $8) (get_local $0) + (get_local $8) ) (i32.const 4) ) @@ -8814,8 +8822,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (set_local $12 @@ -8909,83 +8917,87 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $2) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or - (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) + (block (result i32) + (set_local $4 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) ) + (i32.const 16) ) - (get_local $3) + (i32.const 8) ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (set_local $3 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (get_local $4) + ) + ) + (i32.const 245760) + ) + (i32.const 16) + ) + (i32.const 2) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $2) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or + (i32.or + (get_local $1) + (get_local $4) ) + (get_local $3) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $3) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) ) @@ -9053,8 +9065,8 @@ (set_local $1 (if (result i32) (i32.eq - (get_local $12) (get_local $2) + (get_local $12) ) (block (set_local $1 @@ -9147,15 +9159,20 @@ ) ) ) - (set_local $0 - (i32.const 0) + (block + (set_local $4 + (i32.const 0) + ) + (set_local $0 + (i32.const 0) + ) ) ) (if (i32.eqz (i32.or - (get_local $4) (get_local $0) + (get_local $4) ) ) (block @@ -9183,26 +9200,6 @@ ) ) ) - (set_local $12 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.add - (i32.and - (get_local $1) - (i32.sub - (i32.const 0) - (get_local $1) - ) - ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) (set_local $4 (i32.load offset=480 (i32.shl @@ -9215,9 +9212,29 @@ (i32.and (i32.shr_u (tee_local $4 + (i32.add + (i32.and + (get_local $1) + (i32.sub + (i32.const 0) + (get_local $1) + ) + ) + (i32.const -1) + ) + ) + (i32.const 12) + ) + (i32.const 16) + ) + ) + (tee_local $1 + (i32.and + (i32.shr_u + (tee_local $4 (i32.shr_u + (get_local $4) (get_local $1) - (get_local $12) ) ) (i32.const 5) @@ -9225,7 +9242,6 @@ (i32.const 8) ) ) - (get_local $12) ) (tee_local $1 (i32.and @@ -9388,8 +9404,8 @@ (get_local $4) (tee_local $5 (i32.add - (get_local $4) (get_local $2) + (get_local $4) ) ) ) @@ -9513,6 +9529,7 @@ ) (if (i32.ne + (get_local $4) (i32.load (tee_local $7 (i32.add @@ -9521,7 +9538,6 @@ ) ) ) - (get_local $4) ) (call $_abort) ) @@ -9559,7 +9575,6 @@ (block $do-once21 (if (i32.eq - (get_local $4) (i32.load (tee_local $0 (i32.add @@ -9575,6 +9590,7 @@ ) ) ) + (get_local $4) ) (block (i32.store @@ -9721,8 +9737,8 @@ (i32.or (tee_local $0 (i32.add - (get_local $3) (get_local $2) + (get_local $3) ) ) (i32.const 3) @@ -9732,8 +9748,8 @@ (tee_local $0 (i32.add (i32.add - (get_local $4) (get_local $0) + (get_local $4) ) (i32.const 4) ) @@ -9763,8 +9779,8 @@ ) (i32.store (i32.add - (get_local $5) (get_local $3) + (get_local $5) ) (get_local $3) ) @@ -9833,8 +9849,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (set_local $13 @@ -9884,83 +9900,87 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $3) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or - (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) + (block (result i32) + (set_local $7 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) ) + (i32.const 16) ) - (get_local $2) + (i32.const 8) ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (set_local $2 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (get_local $7) + ) + ) + (i32.const 245760) + ) + (i32.const 16) + ) + (i32.const 2) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $3) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or + (i32.or + (get_local $1) + (get_local $7) ) + (get_local $2) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $2) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) ) @@ -10009,8 +10029,8 @@ (i32.store (i32.const 180) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (i32.store @@ -10236,8 +10256,8 @@ (i32.const 196) (tee_local $1 (i32.add - (get_local $2) (get_local $0) + (get_local $2) ) ) ) @@ -10287,8 +10307,8 @@ (tee_local $0 (i32.add (i32.add - (get_local $2) (get_local $1) + (get_local $2) ) (i32.const 4) ) @@ -10329,15 +10349,15 @@ ) (if (i32.and - (i32.add - (tee_local $1 - (call $_sysconf - (i32.const 30) - ) + (tee_local $1 + (call $_sysconf + (i32.const 30) ) + ) + (i32.add + (get_local $1) (i32.const -1) ) - (get_local $1) ) (call $_abort) (block @@ -10536,33 +10556,36 @@ ) (i32.const 2147483647) ) - (if - (i32.eq - (tee_local $1 - (call $_sbrk - (get_local $3) - ) - ) - (i32.add - (i32.load - (get_local $4) - ) - (i32.load - (get_local $2) - ) + (block + (set_local $1 + (call $_sbrk + (get_local $3) ) ) - (br_if $__rjti$13 - (i32.ne + (if + (i32.eq + (i32.add + (i32.load + (get_local $4) + ) + (i32.load + (get_local $2) + ) + ) (get_local $1) - (i32.const -1) ) - ) - (block - (set_local $2 - (get_local $1) + (br_if $__rjti$13 + (i32.ne + (get_local $1) + (i32.const -1) + ) + ) + (block + (set_local $2 + (get_local $1) + ) + (br $__rjti$5) ) - (br $__rjti$5) ) ) ) @@ -10581,6 +10604,9 @@ (set_local $3 (if (result i32) (i32.and + (tee_local $3 + (get_local $1) + ) (tee_local $2 (i32.add (tee_local $4 @@ -10591,9 +10617,6 @@ (i32.const -1) ) ) - (tee_local $3 - (get_local $1) - ) ) (i32.add (i32.sub @@ -10626,14 +10649,14 @@ ) (if (i32.and - (i32.gt_u - (get_local $3) - (get_local $0) - ) (i32.lt_u (get_local $3) (i32.const 2147483647) ) + (i32.gt_u + (get_local $3) + (get_local $0) + ) ) (block (if @@ -10657,12 +10680,12 @@ ) (br_if $__rjti$13 (i32.eq + (get_local $1) (tee_local $2 (call $_sbrk (get_local $3) ) ) - (get_local $1) ) ) (br $__rjti$5) @@ -10684,19 +10707,19 @@ (set_local $3 (if (result i32) (i32.and - (i32.gt_u - (get_local $10) - (get_local $1) - ) (i32.and - (i32.lt_u - (get_local $1) - (i32.const 2147483647) - ) (i32.ne (get_local $2) (i32.const -1) ) + (i32.lt_u + (get_local $1) + (i32.const 2147483647) + ) + ) + (i32.gt_u + (get_local $10) + (get_local $1) ) ) (if (result i32) @@ -10704,15 +10727,15 @@ (tee_local $3 (i32.and (i32.add - (i32.sub - (get_local $9) - (get_local $1) - ) (tee_local $3 (i32.load (i32.const 656) ) ) + (i32.sub + (get_local $9) + (get_local $1) + ) ) (i32.sub (i32.const 0) @@ -10738,8 +10761,8 @@ (br $label$break$L279) ) (i32.add - (get_local $3) (get_local $1) + (get_local $3) ) ) (get_local $1) @@ -10857,7 +10880,6 @@ (loop $while-in45 (br_if $__rjti$10 (i32.eq - (get_local $1) (i32.add (tee_local $10 (i32.load @@ -10875,6 +10897,7 @@ ) ) ) + (get_local $1) ) ) (br_if $while-in45 @@ -10911,8 +10934,8 @@ (i32.store (get_local $4) (i32.add - (get_local $6) (get_local $3) + (get_local $6) ) ) (set_local $2 @@ -10943,13 +10966,13 @@ ) (set_local $1 (i32.add + (i32.load + (i32.const 188) + ) (i32.sub (get_local $3) (get_local $1) ) - (i32.load - (i32.const 188) - ) ) ) (i32.store @@ -10969,8 +10992,8 @@ ) (i32.store offset=4 (i32.add - (get_local $2) (get_local $1) + (get_local $2) ) (i32.const 40) ) @@ -11075,12 +11098,11 @@ (i32.add (tee_local $12 (i32.add - (get_local $1) (select (i32.and (i32.sub (i32.const 0) - (tee_local $1 + (tee_local $3 (i32.add (get_local $1) (i32.const 8) @@ -11091,10 +11113,11 @@ ) (i32.const 0) (i32.and - (get_local $1) + (get_local $3) (i32.const 7) ) ) + (get_local $1) ) ) (get_local $0) @@ -11141,8 +11164,8 @@ ) (if (i32.eq - (get_local $6) (get_local $5) + (get_local $6) ) (block (i32.store @@ -11171,10 +11194,10 @@ (block $do-once48 (if (i32.eq - (get_local $6) (i32.load (i32.const 196) ) + (get_local $6) ) (block (i32.store @@ -11201,8 +11224,8 @@ ) (i32.store (i32.add - (get_local $9) (get_local $0) + (get_local $9) ) (get_local $0) ) @@ -11312,8 +11335,8 @@ ) (if (i32.eq - (get_local $2) (get_local $0) + (get_local $2) ) (set_local $15 (i32.add @@ -11484,6 +11507,7 @@ ) (if (i32.ne + (get_local $6) (i32.load (tee_local $3 (i32.add @@ -11492,7 +11516,6 @@ ) ) ) - (get_local $6) ) (call $_abort) ) @@ -11532,7 +11555,6 @@ ) (if (i32.eq - (get_local $6) (i32.load (tee_local $0 (i32.add @@ -11548,6 +11570,7 @@ ) ) ) + (get_local $6) ) (block $do-once59 (i32.store @@ -11689,8 +11712,8 @@ ) (set_local $7 (i32.add - (get_local $10) (get_local $7) + (get_local $10) ) ) (i32.add @@ -11720,8 +11743,8 @@ ) (i32.store (i32.add - (get_local $9) (get_local $7) + (get_local $9) ) (get_local $7) ) @@ -11793,8 +11816,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (set_local $16 @@ -11844,83 +11867,87 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $7) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or - (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) + (block (result i32) + (set_local $2 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) ) + (i32.const 16) ) - (get_local $3) + (i32.const 8) ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (set_local $3 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (get_local $2) + ) + ) + (i32.const 245760) + ) + (i32.const 16) + ) + (i32.const 2) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $7) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or + (i32.or + (get_local $1) + (get_local $2) ) + (get_local $3) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $3) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) ) @@ -11969,8 +11996,8 @@ (i32.store (i32.const 180) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (i32.store @@ -12244,7 +12271,6 @@ (i32.const 200) (tee_local $6 (i32.add - (get_local $1) (tee_local $4 (select (i32.and @@ -12266,6 +12292,7 @@ ) ) ) + (get_local $1) ) ) ) @@ -12290,8 +12317,8 @@ ) (i32.store offset=4 (i32.add - (get_local $6) (get_local $4) + (get_local $6) ) (i32.const 40) ) @@ -12378,8 +12405,8 @@ ) (if (i32.ne - (get_local $10) (get_local $5) + (get_local $10) ) (block (i32.store @@ -12472,8 +12499,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $3) (get_local $1) + (get_local $3) ) ) (set_local $17 @@ -12523,83 +12550,87 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $6) - (i32.add - (tee_local $1 - (i32.add - (i32.sub - (i32.const 14) - (i32.or - (i32.or - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $3 - (i32.shl - (get_local $1) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (get_local $1) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) + (block (result i32) + (set_local $4 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $1) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $1) + (i32.const 1048320) ) + (i32.const 16) ) - (get_local $2) + (i32.const 8) ) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $3 - (i32.shl - (get_local $3) - (get_local $1) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (set_local $2 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $1) + (get_local $4) + ) + ) + (i32.const 245760) + ) + (i32.const 16) + ) + (i32.const 2) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $6) + (i32.add + (tee_local $1 + (i32.add + (i32.sub + (i32.const 14) + (i32.or + (i32.or + (get_local $3) + (get_local $4) ) + (get_local $2) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $3) - (get_local $1) + (i32.shr_u + (i32.shl + (get_local $1) + (get_local $2) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $1) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $1) - (i32.const 1) ) ) ) @@ -12643,8 +12674,8 @@ (i32.store (i32.const 180) (i32.or - (get_local $3) (get_local $1) + (get_local $3) ) ) (i32.store @@ -12899,15 +12930,14 @@ ) (i32.store (i32.const 200) - (tee_local $2 + (tee_local $4 (i32.add - (get_local $1) - (tee_local $1 + (tee_local $2 (select (i32.and (i32.sub (i32.const 0) - (tee_local $1 + (tee_local $2 (i32.add (get_local $1) (i32.const 8) @@ -12918,11 +12948,12 @@ ) (i32.const 0) (i32.and - (get_local $1) + (get_local $2) (i32.const 7) ) ) ) + (get_local $1) ) ) ) @@ -12934,12 +12965,12 @@ (get_local $3) (i32.const -40) ) - (get_local $1) + (get_local $2) ) ) ) (i32.store offset=4 - (get_local $2) + (get_local $4) (i32.or (get_local $1) (i32.const 1) @@ -12947,8 +12978,8 @@ ) (i32.store offset=4 (i32.add - (get_local $2) (get_local $1) + (get_local $4) ) (i32.const 40) ) @@ -13127,16 +13158,16 @@ ) (set_local $0 (i32.add - (get_local $7) (get_local $0) + (get_local $7) ) ) (if (i32.eq - (get_local $1) (i32.load (i32.const 196) ) + (get_local $1) ) (block (if @@ -13186,8 +13217,8 @@ ) (i32.store (i32.add - (get_local $1) (get_local $0) + (get_local $1) ) (get_local $0) ) @@ -13238,10 +13269,10 @@ ) (if (i32.ne + (get_local $1) (i32.load offset=12 (get_local $2) ) - (get_local $1) ) (call $_abort) ) @@ -13249,8 +13280,8 @@ ) (if (i32.eq - (get_local $6) (get_local $2) + (get_local $6) ) (block (i32.store @@ -13279,8 +13310,8 @@ ) (if (i32.eq - (get_local $6) (get_local $3) + (get_local $6) ) (set_local $4 (i32.add @@ -13455,6 +13486,7 @@ ) (if (i32.ne + (get_local $1) (i32.load (tee_local $7 (i32.add @@ -13463,7 +13495,6 @@ ) ) ) - (get_local $1) ) (call $_abort) ) @@ -13501,7 +13532,6 @@ (block (if (i32.eq - (get_local $1) (i32.load (tee_local $4 (i32.add @@ -13517,6 +13547,7 @@ ) ) ) + (get_local $1) ) (block (i32.store @@ -13752,10 +13783,10 @@ (block (if (i32.eq - (get_local $8) (i32.load (i32.const 200) ) + (get_local $8) ) (block (i32.store @@ -13802,10 +13833,10 @@ ) (if (i32.eq - (get_local $8) (i32.load (i32.const 196) ) + (get_local $8) ) (block (i32.store @@ -13832,8 +13863,8 @@ ) (i32.store (i32.add - (get_local $2) (get_local $0) + (get_local $2) ) (get_local $0) ) @@ -13896,10 +13927,10 @@ ) (if (i32.ne + (get_local $8) (i32.load offset=12 (get_local $1) ) - (get_local $8) ) (call $_abort) ) @@ -13907,8 +13938,8 @@ ) (if (i32.eq - (get_local $4) (get_local $1) + (get_local $4) ) (block (i32.store @@ -13931,8 +13962,8 @@ ) (if (i32.eq - (get_local $4) (get_local $0) + (get_local $4) ) (set_local $14 (i32.add @@ -14106,6 +14137,7 @@ ) (if (i32.ne + (get_local $8) (i32.load (tee_local $1 (i32.add @@ -14114,7 +14146,6 @@ ) ) ) - (get_local $8) ) (call $_abort) ) @@ -14152,7 +14183,6 @@ (block (if (i32.eq - (get_local $8) (i32.load (tee_local $0 (i32.add @@ -14168,6 +14198,7 @@ ) ) ) + (get_local $8) ) (block (i32.store @@ -14328,10 +14359,10 @@ (set_local $3 (if (result i32) (i32.eq - (get_local $2) (i32.load (i32.const 196) ) + (get_local $2) ) (block (i32.store @@ -14410,8 +14441,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $3) (get_local $0) + (get_local $3) ) ) (set_local $15 @@ -14461,83 +14492,87 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $3) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or - (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $4 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) + (block (result i32) + (set_local $5 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) ) + (i32.const 16) ) - (get_local $4) + (i32.const 8) ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (set_local $4 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (get_local $5) + ) + ) + (i32.const 245760) + ) + (i32.const 16) + ) + (i32.const 2) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $3) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or + (i32.or + (get_local $1) + (get_local $5) ) + (get_local $4) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $4) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) ) @@ -14735,8 +14770,8 @@ (i32.store (i32.const 180) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (i32.store @@ -14903,11 +14938,11 @@ (i32.or (i32.or (i32.or - (get_local $1) (i32.shl (get_local $1) (i32.const 8) ) + (get_local $1) ) (i32.shl (get_local $1) @@ -14990,10 +15025,6 @@ ) (return (i32.or - (i32.shr_u - (get_local $0) - (get_local $2) - ) (i32.shl (i32.and (get_local $1) @@ -15010,6 +15041,10 @@ (get_local $2) ) ) + (i32.shr_u + (get_local $0) + (get_local $2) + ) ) ) ) @@ -15040,7 +15075,6 @@ ) (i32.shr_u (i32.and - (get_local $0) (i32.shl (i32.sub (i32.shl @@ -15054,6 +15088,7 @@ (get_local $2) ) ) + (get_local $0) ) (i32.sub (i32.const 32) diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise index a0d1b78a5..69bcbdba9 100644 --- a/test/emcc_hello_world.fromasm.imprecise +++ b/test/emcc_hello_world.fromasm.imprecise @@ -67,8 +67,8 @@ ) (set_global $STACKTOP (i32.add - (get_global $STACKTOP) (get_local $0) + (get_global $STACKTOP) ) ) (set_global $STACKTOP @@ -759,8 +759,8 @@ ) (set_local $12 (i32.add - (get_local $3) (get_local $2) + (get_local $3) ) ) (block $__rjto$1 @@ -829,8 +829,8 @@ ) (br_if $__rjti$0 (i32.eq - (get_local $12) (get_local $3) + (get_local $12) ) ) (br_if $__rjti$1 @@ -1017,7 +1017,7 @@ (local $11 i32) (local $12 i32) (local $13 i32) - (set_local $4 + (set_local $3 (get_global $STACKTOP) ) (set_global $STACKTOP @@ -1035,25 +1035,25 @@ ) (set_local $5 (i32.add - (get_local $4) + (get_local $3) (i32.const 120) ) ) (set_local $7 - (get_local $4) + (get_local $3) ) (set_local $6 (i32.add - (get_local $4) + (get_local $3) (i32.const 136) ) ) (set_local $9 (i32.add - (tee_local $3 + (tee_local $4 (tee_local $8 (i32.add - (get_local $4) + (get_local $3) (i32.const 80) ) ) @@ -1063,14 +1063,14 @@ ) (loop $do-in (i32.store - (get_local $3) + (get_local $4) (i32.const 0) ) (br_if $do-in (i32.lt_s - (tee_local $3 + (tee_local $4 (i32.add - (get_local $3) + (get_local $4) (i32.const 4) ) ) @@ -1152,7 +1152,7 @@ (get_local $6) ) (i32.store - (tee_local $9 + (tee_local $4 (i32.add (get_local $0) (i32.const 28) @@ -1161,7 +1161,7 @@ (get_local $6) ) (i32.store - (tee_local $3 + (tee_local $2 (i32.add (get_local $0) (i32.const 20) @@ -1174,7 +1174,7 @@ (i32.const 80) ) (i32.store - (tee_local $2 + (tee_local $9 (i32.add (get_local $0) (i32.const 16) @@ -1218,7 +1218,7 @@ (get_local $1) (i32.const -1) (i32.load - (get_local $3) + (get_local $2) ) ) ) @@ -1231,15 +1231,15 @@ (i32.const 0) ) (i32.store - (get_local $2) + (get_local $9) (i32.const 0) ) (i32.store - (get_local $9) + (get_local $4) (i32.const 0) ) (i32.store - (get_local $3) + (get_local $2) (i32.const 0) ) ) @@ -1272,7 +1272,7 @@ ) ) (set_global $STACKTOP - (get_local $4) + (get_local $3) ) (get_local $0) ) @@ -1332,15 +1332,18 @@ ) (block (set_local $3 + (i32.load offset=36 + (get_local $2) + ) + ) + (set_local $3 (call_indirect (type $FUNCSIG$iiii) (get_local $2) (get_local $0) (get_local $1) (i32.add (i32.and - (i32.load offset=36 - (get_local $2) - ) + (get_local $3) (i32.const 7) ) (i32.const 2) @@ -1394,6 +1397,11 @@ ) ) ) + (set_local $4 + (i32.load offset=36 + (get_local $2) + ) + ) (br_if $label$break$L5 (i32.lt_u (call_indirect (type $FUNCSIG$iiii) @@ -1402,9 +1410,7 @@ (get_local $3) (i32.add (i32.and - (i32.load offset=36 - (get_local $2) - ) + (get_local $4) (i32.const 7) ) (i32.const 2) @@ -1453,8 +1459,8 @@ ) (set_local $3 (i32.add - (get_local $2) (get_local $1) + (get_local $2) ) ) ) @@ -1476,11 +1482,11 @@ (i32.store8 (get_local $2) (i32.or + (get_local $1) (i32.add (get_local $1) (i32.const 255) ) - (get_local $1) ) ) (tee_local $0 @@ -1590,10 +1596,6 @@ ) (if (i32.or - (i32.lt_u - (get_local $1) - (i32.const 55296) - ) (i32.eq (i32.and (get_local $1) @@ -1601,6 +1603,10 @@ ) (i32.const 57344) ) + (i32.lt_u + (get_local $1) + (i32.const 55296) + ) ) (block (i32.store8 @@ -1939,13 +1945,14 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) (tee_local $0 (block $__rjto$0 (result i32) (block $__rjti$0 (br_if $__rjti$0 (i32.le_u (i32.load - (tee_local $1 + (tee_local $2 (i32.add (get_local $0) (i32.const 20) @@ -1953,7 +1960,7 @@ ) ) (i32.load - (tee_local $2 + (tee_local $3 (i32.add (get_local $0) (i32.const 28) @@ -1962,6 +1969,11 @@ ) ) ) + (set_local $1 + (i32.load offset=36 + (get_local $0) + ) + ) (drop (call_indirect (type $FUNCSIG$iiii) (get_local $0) @@ -1969,9 +1981,7 @@ (i32.const 0) (i32.add (i32.and - (i32.load offset=36 - (get_local $0) - ) + (get_local $1) (i32.const 7) ) (i32.const 2) @@ -1980,7 +1990,7 @@ ) (br_if $__rjti$0 (i32.load - (get_local $1) + (get_local $2) ) ) (br $__rjto$0 @@ -1991,7 +2001,7 @@ (i32.lt_u (tee_local $4 (i32.load - (tee_local $3 + (tee_local $1 (i32.add (get_local $0) (i32.const 4) @@ -2010,22 +2020,27 @@ ) ) ) - (drop - (call_indirect (type $FUNCSIG$iiii) - (get_local $0) - (i32.sub - (get_local $4) - (get_local $6) + (block + (set_local $7 + (i32.load offset=40 + (get_local $0) ) - (i32.const 1) - (i32.add - (i32.and - (i32.load offset=40 - (get_local $0) + ) + (drop + (call_indirect (type $FUNCSIG$iiii) + (get_local $0) + (i32.sub + (get_local $4) + (get_local $6) + ) + (i32.const 1) + (i32.add + (i32.and + (get_local $7) + (i32.const 7) ) - (i32.const 7) + (i32.const 2) ) - (i32.const 2) ) ) ) @@ -2035,11 +2050,11 @@ (i32.const 0) ) (i32.store - (get_local $2) + (get_local $3) (i32.const 0) ) (i32.store - (get_local $1) + (get_local $2) (i32.const 0) ) (i32.store @@ -2047,7 +2062,7 @@ (i32.const 0) ) (i32.store - (get_local $3) + (get_local $1) (i32.const 0) ) (i32.const 0) @@ -2140,7 +2155,7 @@ (i32.const 0) ) ) - (set_local $39 + (set_local $38 (tee_local $25 (i32.add (tee_local $5 @@ -2153,15 +2168,15 @@ ) ) ) - (set_local $40 + (set_local $39 (i32.add (get_local $5) (i32.const 39) ) ) - (set_local $44 + (set_local $43 (i32.add - (tee_local $41 + (tee_local $40 (i32.add (get_local $14) (i32.const 8) @@ -2181,13 +2196,13 @@ (i32.const 12) ) ) - (set_local $42 + (set_local $41 (i32.add (get_local $5) (i32.const 11) ) ) - (set_local $45 + (set_local $44 (i32.sub (tee_local $27 (get_local $32) @@ -2202,21 +2217,21 @@ ) ) ) - (set_local $46 + (set_local $45 (i32.sub (i32.const -2) (get_local $36) ) ) - (set_local $47 + (set_local $46 (i32.add (get_local $27) (i32.const 2) ) ) - (set_local $49 + (set_local $48 (i32.add - (tee_local $48 + (tee_local $47 (i32.add (get_local $14) (i32.const 24) @@ -2225,7 +2240,7 @@ (i32.const 288) ) ) - (set_local $43 + (set_local $42 (tee_local $29 (i32.add (get_local $22) @@ -2395,8 +2410,8 @@ ) (if (i32.ne - (get_local $10) (get_local $5) + (get_local $10) ) (block (set_local $5 @@ -2526,6 +2541,7 @@ ) (set_local $11 (i32.or + (get_local $11) (i32.shl (i32.const 1) (i32.add @@ -2539,7 +2555,6 @@ (i32.const -32) ) ) - (get_local $11) ) ) (br_if $while-in4 @@ -2586,6 +2601,12 @@ (if (i32.eqz (i32.or + (i32.ne + (i32.load8_s offset=2 + (get_local $10) + ) + (i32.const 36) + ) (i32.ge_u (tee_local $11 (i32.add @@ -2602,22 +2623,16 @@ ) (i32.const 10) ) - (i32.ne - (i32.load8_s offset=2 - (get_local $10) - ) - (i32.const 36) - ) ) ) (block (i32.store (i32.add - (get_local $4) (i32.shl (get_local $11) (i32.const 2) ) + (get_local $4) ) (i32.const 10) ) @@ -2625,7 +2640,6 @@ (i32.load offset=4 (tee_local $6 (i32.add - (get_local $3) (i32.shl (i32.add (i32.load8_s @@ -2635,6 +2649,7 @@ ) (i32.const 3) ) + (get_local $3) ) ) ) @@ -2757,11 +2772,11 @@ (loop $while-in8 (set_local $6 (i32.add + (get_local $6) (i32.mul (get_local $11) (i32.const 10) ) - (get_local $6) ) ) (if @@ -2885,11 +2900,11 @@ (br_if $label$break$L46 (tee_local $6 (i32.add + (get_local $6) (i32.mul (get_local $8) (i32.const 10) ) - (get_local $6) ) ) (i32.ge_u @@ -2947,11 +2962,11 @@ (block (i32.store (i32.add - (get_local $4) (i32.shl (get_local $8) (i32.const 2) ) + (get_local $4) ) (i32.const 10) ) @@ -2959,7 +2974,6 @@ (i32.load offset=4 (tee_local $6 (i32.add - (get_local $3) (i32.shl (i32.add (i32.load8_s @@ -2969,6 +2983,7 @@ ) (i32.const 3) ) + (get_local $3) ) ) ) @@ -3078,6 +3093,7 @@ (tee_local $13 (i32.load8_s (i32.add + (get_local $12) (i32.add (i32.mul (get_local $9) @@ -3085,7 +3101,6 @@ ) (i32.const 3611) ) - (get_local $12) ) ) ) @@ -3155,11 +3170,11 @@ (block (i32.store (i32.add - (get_local $4) (i32.shl (get_local $18) (i32.const 2) ) + (get_local $4) ) (get_local $12) ) @@ -3167,11 +3182,11 @@ (i32.load offset=4 (tee_local $8 (i32.add - (get_local $3) (i32.shl (get_local $18) (i32.const 3) ) + (get_local $3) ) ) ) @@ -3239,2405 +3254,3250 @@ ) ) ) - (set_local $7 - (block $__rjto$8 (result i32) - (block $__rjti$8 - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (tee_local $7 - (block $__rjti$7 (result i32) - (block $__rjti$6 - (block $__rjti$5 - (block $__rjti$4 - (block $__rjti$3 - (block $switch-default120 - (block $switch-case119 - (block $switch-case41 - (block $switch-case40 - (block $switch-case39 - (block $switch-case38 - (block $switch-case37 - (block $switch-case36 - (block $switch-case35 - (block $switch-case33 - (block $switch-case30 - (block $switch-case28 - (block $switch-case27 - (br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case30 $switch-default120 - (i32.sub - (tee_local $19 - (select - (i32.and - (tee_local $12 - (i32.load8_s - (get_local $19) + (call $_pad + (get_local $0) + (i32.const 32) + (tee_local $7 + (select + (tee_local $6 + (i32.add + (tee_local $12 + (select + (tee_local $13 + (i32.sub + (block $__rjto$8 (result i32) + (block $__rjti$8 + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (tee_local $7 + (block $__rjti$7 (result i32) + (block $__rjti$6 + (block $__rjti$5 + (block $__rjti$4 + (block $__rjti$3 + (block $switch-default120 + (block $switch-case119 + (block $switch-case41 + (block $switch-case40 + (block $switch-case39 + (block $switch-case38 + (block $switch-case37 + (block $switch-case36 + (block $switch-case35 + (block $switch-case33 + (block $switch-case30 + (block $switch-case28 + (block $switch-case27 + (br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case30 $switch-default120 + (i32.sub + (tee_local $19 + (select + (i32.and + (tee_local $12 + (i32.load8_s + (get_local $19) + ) + ) + (i32.const -33) + ) + (get_local $12) + (i32.and + (i32.eq + (i32.and + (get_local $12) + (i32.const 15) + ) + (i32.const 3) + ) + (i32.ne + (get_local $9) + (i32.const 0) + ) + ) + ) + ) + (i32.const 65) + ) + ) + ) + (block $switch-default26 + (block $switch-case25 + (block $switch-case24 + (block $switch-case23 + (block $switch-case22 + (block $switch-case21 + (block $switch-case20 + (block $switch-case19 + (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26 + (get_local $9) + ) + ) + (i32.store + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store + (tee_local $5 + (i32.load + (get_local $14) + ) + ) + (get_local $17) + ) + (i32.store offset=4 + (get_local $5) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $17) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store16 + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store8 + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store + (tee_local $5 + (i32.load + (get_local $14) + ) + ) + (get_local $17) + ) + (i32.store offset=4 + (get_local $5) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $17) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) ) - ) - (i32.const -33) - ) - (get_local $12) - (i32.and - (i32.ne - (get_local $9) - (i32.const 0) - ) - (i32.eq - (i32.and - (get_local $12) - (i32.const 15) + (set_local $5 + (i32.or + (get_local $11) + (i32.const 8) + ) ) - (i32.const 3) - ) - ) - ) - ) - (i32.const 65) - ) - ) - ) - (block $switch-default26 - (block $switch-case25 - (block $switch-case24 - (block $switch-case23 - (block $switch-case22 - (block $switch-case21 - (block $switch-case20 - (block $switch-case19 - (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26 - (get_local $9) + (set_local $6 + (select + (get_local $6) + (i32.const 8) + (i32.gt_u + (get_local $6) + (i32.const 8) + ) ) ) - (i32.store + (set_local $19 + (i32.const 120) + ) + (br $__rjti$3) + ) + (set_local $5 + (get_local $11) + ) + (br $__rjti$3) + ) + (if + (i32.or + (tee_local $5 (i32.load (get_local $14) ) - (get_local $17) ) - (set_local $5 - (get_local $10) - ) - (set_local $10 - (get_local $7) + (tee_local $7 + (i32.load offset=4 + (get_local $14) + ) ) - (br $label$continue$L1) ) - (i32.store - (i32.load - (get_local $14) + (block + (set_local $8 + (get_local $25) + ) + (loop $while-in32 + (i32.store8 + (tee_local $8 + (i32.add + (get_local $8) + (i32.const -1) + ) + ) + (i32.or + (i32.and + (get_local $5) + (i32.const 7) + ) + (i32.const 48) + ) + ) + (br_if $while-in32 + (i32.or + (tee_local $5 + (call $_bitshift64Lshr + (get_local $5) + (get_local $7) + (i32.const 3) + ) + ) + (tee_local $7 + (get_global $tempRet0) + ) + ) + ) ) - (get_local $17) - ) - (set_local $5 - (get_local $10) ) - (set_local $10 - (get_local $7) + (set_local $8 + (get_local $25) ) - (br $label$continue$L1) ) - (i32.store - (tee_local $5 - (i32.load - (get_local $14) - ) + (if + (i32.and + (get_local $11) + (i32.const 8) ) - (get_local $17) - ) - (i32.store offset=4 - (get_local $5) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $17) - (i32.const 0) + (block + (set_local $5 + (get_local $11) + ) + (set_local $6 + (select + (tee_local $11 + (i32.add + (i32.sub + (get_local $38) + (tee_local $7 + (get_local $8) + ) + ) + (i32.const 1) + ) + ) + (get_local $6) + (i32.lt_s + (get_local $6) + (get_local $11) + ) ) - (i32.const 31) ) - (i32.const 31) + ) + (block + (set_local $7 + (get_local $8) + ) + (set_local $5 + (get_local $11) + ) ) ) - (set_local $5 - (get_local $10) + (set_local $8 + (i32.const 0) ) - (set_local $10 - (get_local $7) + (set_local $9 + (i32.const 4091) ) - (br $label$continue$L1) + (br $__rjti$8) ) - (i32.store16 + (set_local $5 (i32.load (get_local $14) ) - (get_local $17) ) - (set_local $5 - (get_local $10) + (if + (i32.lt_s + (tee_local $7 + (i32.load offset=4 + (get_local $14) + ) + ) + (i32.const 0) + ) + (block + (i32.store + (get_local $14) + (tee_local $5 + (call $_i64Subtract + (i32.const 0) + (i32.const 0) + (get_local $5) + (get_local $7) + ) + ) + ) + (i32.store offset=4 + (get_local $14) + (tee_local $7 + (get_global $tempRet0) + ) + ) + (set_local $8 + (i32.const 1) + ) + (set_local $9 + (i32.const 4091) + ) + (br $__rjti$4) + ) ) - (set_local $10 - (get_local $7) + (set_local $9 + (if (result i32) + (i32.and + (get_local $11) + (i32.const 2048) + ) + (block (result i32) + (set_local $8 + (i32.const 1) + ) + (i32.const 4092) + ) + (block (result i32) + (set_local $8 + (tee_local $9 + (i32.and + (get_local $11) + (i32.const 1) + ) + ) + ) + (select + (i32.const 4093) + (i32.const 4091) + (get_local $9) + ) + ) + ) ) - (br $label$continue$L1) + (br $__rjti$4) ) - (i32.store8 + (set_local $5 (i32.load (get_local $14) ) - (get_local $17) ) - (set_local $5 - (get_local $10) + (set_local $7 + (i32.load offset=4 + (get_local $14) + ) ) - (set_local $10 - (get_local $7) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) ) - (br $label$continue$L1) + (br $__rjti$4) ) - (i32.store + (i32.store8 + (get_local $39) (i32.load (get_local $14) ) - (get_local $17) ) (set_local $5 - (get_local $10) + (get_local $39) ) - (set_local $10 - (get_local $7) + (set_local $11 + (get_local $8) + ) + (set_local $12 + (i32.const 1) + ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (br $__rjto$8 + (get_local $25) ) - (br $label$continue$L1) ) - (i32.store - (tee_local $5 + (set_local $7 + (call $_strerror (i32.load - (get_local $14) + (call $___errno_location) ) ) - (get_local $17) ) - (i32.store offset=4 - (get_local $5) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $17) - (i32.const 0) - ) - (i32.const 31) + (br $__rjti$5) + ) + (set_local $7 + (select + (tee_local $5 + (i32.load + (get_local $14) ) - (i32.const 31) ) - ) - (set_local $5 - (get_local $10) - ) - (set_local $10 - (get_local $7) - ) - (br $label$continue$L1) - ) - (set_local $5 - (get_local $10) - ) - (set_local $10 - (get_local $7) - ) - (br $label$continue$L1) - ) - (set_local $5 - (i32.or - (get_local $11) - (i32.const 8) - ) - ) - (set_local $6 - (select - (get_local $6) - (i32.const 8) - (i32.gt_u - (get_local $6) - (i32.const 8) + (i32.const 4101) + (get_local $5) ) ) + (br $__rjti$5) ) - (set_local $19 - (i32.const 120) - ) - (br $__rjti$3) - ) - (set_local $5 - (get_local $11) - ) - (br $__rjti$3) - ) - (if - (i32.or - (tee_local $5 + (i32.store + (get_local $40) (i32.load (get_local $14) ) ) - (tee_local $7 - (i32.load offset=4 - (get_local $14) - ) + (i32.store + (get_local $43) + (i32.const 0) ) - ) - (block - (set_local $8 - (get_local $25) + (i32.store + (get_local $14) + (get_local $40) ) - (loop $while-in32 - (i32.store8 - (tee_local $8 - (i32.add - (get_local $8) - (i32.const -1) - ) - ) - (i32.or - (i32.and - (get_local $5) - (i32.const 7) - ) - (i32.const 48) - ) - ) - (br_if $while-in32 - (i32.or - (tee_local $5 - (call $_bitshift64Lshr - (get_local $5) - (get_local $7) - (i32.const 3) - ) - ) - (tee_local $7 - (get_global $tempRet0) - ) - ) - ) + (set_local $8 + (i32.const -1) ) + (br $__rjti$6) ) - (set_local $8 - (get_local $25) - ) - ) - (if - (i32.and - (get_local $11) - (i32.const 8) - ) - (block - (set_local $5 - (get_local $11) - ) - (set_local $6 - (select - (tee_local $11 - (i32.add - (i32.sub - (get_local $39) - (tee_local $7 - (get_local $8) - ) - ) - (i32.const 1) - ) - ) + (if + (get_local $6) + (block + (set_local $8 (get_local $6) - (i32.lt_s - (get_local $6) - (get_local $11) - ) ) + (br $__rjti$6) ) - ) - (block - (set_local $7 - (get_local $8) - ) - (set_local $5 - (get_local $11) - ) - ) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$8) - ) - (set_local $5 - (i32.load - (get_local $14) - ) - ) - (if - (i32.lt_s - (tee_local $7 - (i32.load offset=4 - (get_local $14) - ) - ) - (i32.const 0) - ) - (block - (i32.store - (get_local $14) - (tee_local $5 - (call $_i64Subtract + (block + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) (i32.const 0) + (get_local $11) + ) + (br $__rjti$7 (i32.const 0) - (get_local $5) - (get_local $7) ) ) ) - (i32.store offset=4 - (get_local $14) - (tee_local $7 - (get_global $tempRet0) - ) - ) - (set_local $8 - (i32.const 1) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$4) ) - ) - (set_local $9 - (if (result i32) - (i32.and - (get_local $11) - (i32.const 2048) - ) - (block (result i32) - (set_local $8 - (i32.const 1) - ) - (i32.const 4092) - ) - (block (result i32) - (set_local $8 - (tee_local $9 - (i32.and - (get_local $11) - (i32.const 1) - ) - ) - ) - (select - (i32.const 4093) - (i32.const 4091) - (get_local $9) - ) + (set_local $16 + (f64.load + (get_local $14) ) ) - ) - (br $__rjti$4) - ) - (set_local $5 - (i32.load - (get_local $14) - ) - ) - (set_local $7 - (i32.load offset=4 - (get_local $14) - ) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$4) - ) - (i32.store8 - (get_local $40) - (i32.load - (get_local $14) - ) - ) - (set_local $5 - (get_local $40) - ) - (set_local $11 - (get_local $8) - ) - (set_local $12 - (i32.const 1) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjto$8 - (get_local $25) - ) - ) - (set_local $7 - (call $_strerror - (i32.load - (call $___errno_location) - ) - ) - ) - (br $__rjti$5) - ) - (set_local $7 - (select - (tee_local $5 - (i32.load - (get_local $14) - ) - ) - (i32.const 4101) - (get_local $5) - ) - ) - (br $__rjti$5) - ) - (i32.store - (get_local $41) - (i32.load - (get_local $14) - ) - ) - (i32.store - (get_local $44) - (i32.const 0) - ) - (i32.store - (get_local $14) - (get_local $41) - ) - (set_local $8 - (i32.const -1) - ) - (br $__rjti$6) - ) - (if - (get_local $6) - (block - (set_local $8 - (get_local $6) - ) - (br $__rjti$6) - ) - (block - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (i32.const 0) - (get_local $11) - ) - (br $__rjti$7 - (i32.const 0) - ) - ) - ) - ) - (set_local $16 - (f64.load - (get_local $14) - ) - ) - (i32.store - (get_local $20) - (i32.const 0) - ) - (f64.store - (get_global $tempDoublePtr) - (get_local $16) - ) - (set_local $30 - (if (result i32) - (i32.lt_s - (i32.load offset=4 - (get_global $tempDoublePtr) - ) - (i32.const 0) - ) - (block (result i32) - (set_local $26 - (i32.const 1) - ) - (set_local $16 - (f64.neg - (get_local $16) - ) - ) - (i32.const 4108) - ) - (if (result i32) - (i32.and - (get_local $11) - (i32.const 2048) - ) - (block (result i32) - (set_local $26 - (i32.const 1) - ) - (i32.const 4111) - ) - (block (result i32) - (set_local $26 - (tee_local $5 - (i32.and - (get_local $11) - (i32.const 1) - ) - ) - ) - (select - (i32.const 4114) - (i32.const 4109) - (get_local $5) - ) - ) - ) - ) - ) - (f64.store - (get_global $tempDoublePtr) - (get_local $16) - ) - (set_local $7 - (if (result i32) - (i32.lt_u - (i32.and - (i32.load offset=4 - (get_global $tempDoublePtr) - ) - (i32.const 2146435072) - ) - (i32.const 2146435072) - ) - (block $do-once49 (result i32) - (if - (tee_local $5 - (f64.ne - (tee_local $23 - (f64.mul - (call $_frexp - (get_local $16) + (i32.store (get_local $20) + (i32.const 0) ) - (f64.const 2) - ) - ) - (f64.const 0) - ) - ) - (i32.store - (get_local $20) - (i32.add - (i32.load - (get_local $20) - ) - (i32.const -1) - ) - ) - ) - (if - (i32.eq - (tee_local $24 - (i32.or - (get_local $19) - (i32.const 32) - ) - ) - (i32.const 97) - ) - (block - (set_local $9 - (select - (i32.add - (get_local $30) - (i32.const 9) - ) - (get_local $30) - (tee_local $13 - (i32.and - (get_local $19) - (i32.const 32) - ) - ) - ) - ) - (set_local $16 - (if (result f64) - (i32.or - (i32.gt_u - (get_local $6) - (i32.const 11) - ) - (i32.eqz - (tee_local $5 - (i32.sub - (i32.const 12) - (get_local $6) - ) - ) - ) - ) - (get_local $23) - (block (result f64) - (set_local $16 - (f64.const 8) + (f64.store + (get_global $tempDoublePtr) + (get_local $16) ) - (loop $while-in54 - (set_local $16 - (f64.mul - (get_local $16) - (f64.const 16) - ) - ) - (br_if $while-in54 - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -1) + (set_local $30 + (if (result i32) + (i32.lt_s + (i32.load offset=4 + (get_global $tempDoublePtr) ) + (i32.const 0) ) - ) - ) - (select - (f64.neg - (f64.add - (get_local $16) - (f64.sub + (block (result i32) + (set_local $26 + (i32.const 1) + ) + (set_local $16 (f64.neg - (get_local $23) + (get_local $16) ) - (get_local $16) ) + (i32.const 4108) ) - ) - (f64.sub - (f64.add - (get_local $23) - (get_local $16) - ) - (get_local $16) - ) - (i32.eq - (i32.load8_s - (get_local $9) - ) - (i32.const 45) - ) - ) - ) - ) - ) - (if - (i32.eq - (tee_local $5 - (call $_fmt_u - (tee_local $5 - (select - (i32.sub - (i32.const 0) - (tee_local $7 - (i32.load - (get_local $20) - ) - ) - ) - (get_local $7) - (i32.lt_s - (get_local $7) - (i32.const 0) + (if (result i32) + (i32.and + (get_local $11) + (i32.const 2048) ) - ) - ) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $5) - (i32.const 0) + (block (result i32) + (set_local $26 + (i32.const 1) + ) + (i32.const 4111) ) - (i32.const 31) - ) - (i32.const 31) - ) - (get_local $32) - ) - ) - (get_local $32) - ) - (block - (i32.store8 - (get_local $42) - (i32.const 48) - ) - (set_local $5 - (get_local $42) - ) - ) - ) - (set_local $12 - (i32.or - (get_local $26) - (i32.const 2) - ) - ) - (i32.store8 - (i32.add - (get_local $5) - (i32.const -1) - ) - (i32.add - (i32.and - (i32.shr_s - (get_local $7) - (i32.const 31) - ) - (i32.const 2) - ) - (i32.const 43) - ) - ) - (i32.store8 - (tee_local $8 - (i32.add - (get_local $5) - (i32.const -2) - ) - ) - (i32.add - (get_local $19) - (i32.const 15) - ) - ) - (set_local $19 - (i32.lt_s - (get_local $6) - (i32.const 1) - ) - ) - (set_local $18 - (i32.eqz - (i32.and - (get_local $11) - (i32.const 8) - ) - ) - ) - (set_local $5 - (get_local $22) - ) - (loop $while-in56 - (i32.store8 - (get_local $5) - (i32.or - (i32.load8_u - (i32.add - (tee_local $7 - (i32.trunc_s/f64 - (get_local $16) + (block (result i32) + (set_local $26 + (tee_local $5 + (i32.and + (get_local $11) + (i32.const 1) + ) + ) + ) + (select + (i32.const 4114) + (i32.const 4109) + (get_local $5) + ) ) ) - (i32.const 4075) ) ) - (get_local $13) - ) - ) - (set_local $16 - (f64.mul - (f64.sub + (f64.store + (get_global $tempDoublePtr) (get_local $16) - (f64.convert_s/i32 - (get_local $7) - ) ) - (f64.const 16) - ) - ) - (set_local $5 - (if (result i32) - (i32.eq - (i32.sub - (tee_local $7 - (i32.add - (get_local $5) - (i32.const 1) + (set_local $7 + (if (result i32) + (i32.lt_u + (i32.and + (i32.load offset=4 + (get_global $tempDoublePtr) + ) + (i32.const 2146435072) ) + (i32.const 2146435072) ) - (get_local $36) - ) - (i32.const 1) - ) - (if (result i32) - (i32.and - (get_local $18) - (i32.and - (get_local $19) - (f64.eq - (get_local $16) - (f64.const 0) + (block $do-once49 (result i32) + (if + (tee_local $5 + (f64.ne + (tee_local $23 + (f64.mul + (call $_frexp + (get_local $16) + (get_local $20) + ) + (f64.const 2) + ) + ) + (f64.const 0) + ) + ) + (i32.store + (get_local $20) + (i32.add + (i32.load + (get_local $20) + ) + (i32.const -1) + ) + ) ) - ) - ) - (get_local $7) - (block (result i32) - (i32.store8 - (get_local $7) - (i32.const 46) - ) - (i32.add - (get_local $5) - (i32.const 2) - ) - ) - ) - (get_local $7) - ) - ) - (br_if $while-in56 - (f64.ne - (get_local $16) - (f64.const 0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (tee_local $7 - (i32.add - (tee_local $6 - (select - (i32.sub - (i32.add - (get_local $47) - (get_local $6) + (if + (i32.eq + (tee_local $24 + (i32.or + (get_local $19) + (i32.const 32) + ) + ) + (i32.const 97) + ) + (block + (set_local $9 + (select + (i32.add + (get_local $30) + (i32.const 9) + ) + (get_local $30) + (tee_local $13 + (i32.and + (get_local $19) + (i32.const 32) + ) + ) + ) + ) + (set_local $16 + (if (result f64) + (i32.or + (i32.eqz + (tee_local $5 + (i32.sub + (i32.const 12) + (get_local $6) + ) + ) + ) + (i32.gt_u + (get_local $6) + (i32.const 11) + ) + ) + (get_local $23) + (block (result f64) + (set_local $16 + (f64.const 8) + ) + (loop $while-in54 + (set_local $16 + (f64.mul + (get_local $16) + (f64.const 16) + ) + ) + (br_if $while-in54 + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -1) + ) + ) + ) + ) + (select + (f64.neg + (f64.add + (get_local $16) + (f64.sub + (f64.neg + (get_local $23) + ) + (get_local $16) + ) + ) + ) + (f64.sub + (f64.add + (get_local $23) + (get_local $16) + ) + (get_local $16) + ) + (i32.eq + (i32.load8_s + (get_local $9) + ) + (i32.const 45) + ) + ) + ) + ) + ) + (if + (i32.eq + (tee_local $5 + (call $_fmt_u + (tee_local $5 + (select + (i32.sub + (i32.const 0) + (tee_local $7 + (i32.load + (get_local $20) + ) + ) + ) + (get_local $7) + (i32.lt_s + (get_local $7) + (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 $32) + ) + ) + (get_local $32) + ) + (block + (i32.store8 + (get_local $41) + (i32.const 48) + ) + (set_local $5 + (get_local $41) + ) + ) + ) + (set_local $12 + (i32.or + (get_local $26) + (i32.const 2) + ) + ) + (i32.store8 + (i32.add + (get_local $5) + (i32.const -1) + ) + (i32.add + (i32.and + (i32.shr_s + (get_local $7) + (i32.const 31) + ) + (i32.const 2) + ) + (i32.const 43) + ) + ) + (i32.store8 + (tee_local $8 + (i32.add + (get_local $5) + (i32.const -2) + ) + ) + (i32.add + (get_local $19) + (i32.const 15) + ) + ) + (set_local $19 + (i32.lt_s + (get_local $6) + (i32.const 1) + ) + ) + (set_local $18 + (i32.eqz + (i32.and + (get_local $11) + (i32.const 8) + ) + ) + ) + (set_local $5 + (get_local $22) + ) + (loop $while-in56 + (i32.store8 + (get_local $5) + (i32.or + (get_local $13) + (i32.load8_u + (i32.add + (tee_local $7 + (i32.trunc_s/f64 + (get_local $16) + ) + ) + (i32.const 4075) + ) + ) + ) + ) + (set_local $16 + (f64.mul + (f64.sub + (get_local $16) + (f64.convert_s/i32 + (get_local $7) + ) + ) + (f64.const 16) + ) + ) + (set_local $5 + (if (result i32) + (i32.eq + (i32.sub + (tee_local $7 + (i32.add + (get_local $5) + (i32.const 1) + ) + ) + (get_local $36) + ) + (i32.const 1) + ) + (if (result i32) + (i32.and + (i32.and + (f64.eq + (get_local $16) + (f64.const 0) + ) + (get_local $19) + ) + (get_local $18) + ) + (get_local $7) + (block (result i32) + (i32.store8 + (get_local $7) + (i32.const 46) + ) + (i32.add + (get_local $5) + (i32.const 2) + ) + ) + ) + (get_local $7) + ) + ) + (br_if $while-in56 + (f64.ne + (get_local $16) + (f64.const 0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (tee_local $7 + (i32.add + (get_local $12) + (tee_local $6 + (select + (i32.sub + (i32.add + (get_local $6) + (get_local $46) + ) + (get_local $8) + ) + (i32.add + (get_local $5) + (i32.sub + (get_local $44) + (get_local $8) + ) + ) + (i32.and + (i32.ne + (get_local $6) + (i32.const 0) + ) + (i32.lt_s + (i32.add + (get_local $5) + (get_local $45) + ) + (get_local $6) + ) + ) + ) + ) + ) + ) + (get_local $11) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $9) + (get_local $12) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (get_local $15) + (get_local $7) + (i32.xor + (get_local $11) + (i32.const 65536) + ) + ) + (set_local $5 + (i32.sub + (get_local $5) + (get_local $36) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $22) + (get_local $5) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.sub + (get_local $6) + (i32.add + (get_local $5) + (tee_local $5 + (i32.sub + (get_local $27) + (get_local $8) + ) + ) + ) + ) + (i32.const 0) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $8) + (get_local $5) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (get_local $7) + (i32.xor + (get_local $11) + (i32.const 8192) + ) + ) + (br $do-once49 + (select + (get_local $15) + (get_local $7) + (i32.lt_s + (get_local $7) + (get_local $15) + ) + ) + ) + ) ) - (get_local $8) - ) - (i32.add - (i32.sub - (get_local $45) - (get_local $8) + (set_local $16 + (if (result f64) + (get_local $5) + (block (result f64) + (i32.store + (get_local $20) + (tee_local $5 + (i32.add + (i32.load + (get_local $20) + ) + (i32.const -28) + ) + ) + ) + (f64.mul + (get_local $23) + (f64.const 268435456) + ) + ) + (block (result f64) + (set_local $5 + (i32.load + (get_local $20) + ) + ) + (get_local $23) + ) + ) ) - (get_local $5) - ) - (i32.and - (i32.ne - (get_local $6) - (i32.const 0) + (set_local $7 + (tee_local $8 + (select + (get_local $47) + (get_local $48) + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + ) + ) ) - (i32.lt_s - (i32.add - (get_local $46) - (get_local $5) + (loop $while-in60 + (i32.store + (get_local $7) + (tee_local $5 + (i32.trunc_u/f64 + (get_local $16) + ) + ) + ) + (set_local $7 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (br_if $while-in60 + (f64.ne + (tee_local $16 + (f64.mul + (f64.sub + (get_local $16) + (f64.convert_u/i32 + (get_local $5) + ) + ) + (f64.const 1e9) + ) + ) + (f64.const 0) + ) ) - (get_local $6) ) - ) - ) - ) - (get_local $12) - ) - ) - (get_local $11) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $9) - (get_local $12) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (get_local $15) - (get_local $7) - (i32.xor - (get_local $11) - (i32.const 65536) - ) - ) - (set_local $5 - (i32.sub - (get_local $5) - (get_local $36) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $22) - (get_local $5) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (i32.sub - (get_local $6) - (i32.add - (get_local $5) - (tee_local $5 - (i32.sub - (get_local $27) - (get_local $8) - ) - ) - ) - ) - (i32.const 0) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $8) - (get_local $5) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (get_local $7) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (br $do-once49 - (select - (get_local $15) - (get_local $7) - (i32.lt_s - (get_local $7) - (get_local $15) - ) - ) - ) - ) - ) - (set_local $16 - (if (result f64) - (get_local $5) - (block (result f64) - (i32.store - (get_local $20) - (tee_local $5 - (i32.add - (i32.load - (get_local $20) - ) - (i32.const -28) - ) - ) - ) - (f64.mul - (get_local $23) - (f64.const 268435456) - ) - ) - (block (result f64) - (set_local $5 - (i32.load - (get_local $20) - ) - ) - (get_local $23) - ) - ) - ) - (set_local $7 - (tee_local $8 - (select - (get_local $48) - (get_local $49) - (i32.lt_s - (get_local $5) - (i32.const 0) - ) - ) - ) - ) - (loop $while-in60 - (i32.store - (get_local $7) - (tee_local $5 - (i32.trunc_u/f64 - (get_local $16) - ) - ) - ) - (set_local $7 - (i32.add - (get_local $7) - (i32.const 4) - ) - ) - (br_if $while-in60 - (f64.ne - (tee_local $16 - (f64.mul - (f64.sub - (get_local $16) - (f64.convert_u/i32 - (get_local $5) - ) - ) - (f64.const 1e9) - ) - ) - (f64.const 0) - ) - ) - ) - (if - (i32.gt_s - (tee_local $9 - (i32.load - (get_local $20) - ) - ) - (i32.const 0) - ) - (block - (set_local $5 - (get_local $8) - ) - (loop $while-in62 - (set_local $13 - (select - (i32.const 29) - (get_local $9) - (i32.gt_s - (get_local $9) - (i32.const 29) - ) - ) - ) - (if - (i32.ge_u - (tee_local $9 - (i32.add - (get_local $7) - (i32.const -4) - ) - ) - (get_local $5) - ) - (block $do-once63 - (set_local $12 - (i32.const 0) - ) - (loop $while-in66 - (i32.store - (get_local $9) - (call $___uremdi3 - (tee_local $12 - (call $_i64Add - (call $_bitshift64Shl + (if + (i32.gt_s + (tee_local $9 (i32.load - (get_local $9) + (get_local $20) ) - (i32.const 0) - (get_local $13) ) - (get_global $tempRet0) - (get_local $12) (i32.const 0) ) + (block + (set_local $5 + (get_local $8) + ) + (loop $while-in62 + (set_local $13 + (select + (i32.const 29) + (get_local $9) + (i32.gt_s + (get_local $9) + (i32.const 29) + ) + ) + ) + (if + (i32.ge_u + (tee_local $9 + (i32.add + (get_local $7) + (i32.const -4) + ) + ) + (get_local $5) + ) + (block $do-once63 + (set_local $12 + (i32.const 0) + ) + (loop $while-in66 + (i32.store + (get_local $9) + (call $___uremdi3 + (tee_local $12 + (call $_i64Add + (call $_bitshift64Shl + (i32.load + (get_local $9) + ) + (i32.const 0) + (get_local $13) + ) + (get_global $tempRet0) + (get_local $12) + (i32.const 0) + ) + ) + (tee_local $18 + (get_global $tempRet0) + ) + (i32.const 1000000000) + ) + ) + (set_local $12 + (call $___udivdi3 + (get_local $12) + (get_local $18) + (i32.const 1000000000) + ) + ) + (br_if $while-in66 + (i32.ge_u + (tee_local $9 + (i32.add + (get_local $9) + (i32.const -4) + ) + ) + (get_local $5) + ) + ) + ) + (br_if $do-once63 + (i32.eqz + (get_local $12) + ) + ) + (i32.store + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -4) + ) + ) + (get_local $12) + ) + ) + ) + (loop $while-in68 + (if + (i32.gt_u + (get_local $7) + (get_local $5) + ) + (if + (i32.eqz + (i32.load + (tee_local $9 + (i32.add + (get_local $7) + (i32.const -4) + ) + ) + ) + ) + (block + (set_local $7 + (get_local $9) + ) + (br $while-in68) + ) + ) + ) + ) + (i32.store + (get_local $20) + (tee_local $9 + (i32.sub + (i32.load + (get_local $20) + ) + (get_local $13) + ) + ) + ) + (br_if $while-in62 + (i32.gt_s + (get_local $9) + (i32.const 0) + ) + ) + ) + ) + (set_local $5 + (get_local $8) + ) ) - (tee_local $18 - (get_global $tempRet0) + (set_local $18 + (select + (i32.const 6) + (get_local $6) + (i32.lt_s + (get_local $6) + (i32.const 0) + ) + ) ) - (i32.const 1000000000) - ) - ) - (set_local $12 - (call $___udivdi3 - (get_local $12) - (get_local $18) - (i32.const 1000000000) - ) - ) - (br_if $while-in66 - (i32.ge_u - (tee_local $9 - (i32.add + (if + (i32.lt_s (get_local $9) - (i32.const -4) + (i32.const 0) ) - ) - (get_local $5) - ) - ) - ) - (br_if $do-once63 - (i32.eqz - (get_local $12) - ) - ) - (i32.store - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -4) - ) - ) - (get_local $12) - ) - ) - ) - (loop $while-in68 - (if - (i32.gt_u - (get_local $7) - (get_local $5) - ) - (if - (i32.eqz - (i32.load - (tee_local $9 - (i32.add + (block + (set_local $21 + (i32.add + (i32.div_s + (i32.add + (get_local $18) + (i32.const 25) + ) + (i32.const 9) + ) + (i32.const 1) + ) + ) + (set_local $31 + (i32.eq + (get_local $24) + (i32.const 102) + ) + ) + (set_local $6 + (get_local $5) + ) + (set_local $5 + (get_local $7) + ) + (loop $while-in70 + (set_local $13 + (select + (i32.const 9) + (tee_local $7 + (i32.sub + (i32.const 0) + (get_local $9) + ) + ) + (i32.gt_s + (get_local $7) + (i32.const 9) + ) + ) + ) + (if + (i32.lt_u + (get_local $6) + (get_local $5) + ) + (block $do-once71 + (set_local $12 + (i32.add + (i32.shl + (i32.const 1) + (get_local $13) + ) + (i32.const -1) + ) + ) + (set_local $37 + (i32.shr_u + (i32.const 1000000000) + (get_local $13) + ) + ) + (set_local $9 + (i32.const 0) + ) + (set_local $7 + (get_local $6) + ) + (loop $while-in74 + (i32.store + (get_local $7) + (i32.add + (get_local $9) + (i32.shr_u + (tee_local $9 + (i32.load + (get_local $7) + ) + ) + (get_local $13) + ) + ) + ) + (set_local $9 + (i32.mul + (i32.and + (get_local $9) + (get_local $12) + ) + (get_local $37) + ) + ) + (br_if $while-in74 + (i32.lt_u + (tee_local $7 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (get_local $5) + ) + ) + ) + (set_local $7 + (select + (get_local $6) + (i32.add + (get_local $6) + (i32.const 4) + ) + (i32.load + (get_local $6) + ) + ) + ) + (br_if $do-once71 + (i32.eqz + (get_local $9) + ) + ) + (i32.store + (get_local $5) + (get_local $9) + ) + (set_local $5 + (i32.add + (get_local $5) + (i32.const 4) + ) + ) + ) + (set_local $7 + (select + (get_local $6) + (i32.add + (get_local $6) + (i32.const 4) + ) + (i32.load + (get_local $6) + ) + ) + ) + ) + (set_local $12 + (select + (i32.add + (tee_local $6 + (select + (get_local $8) + (get_local $7) + (get_local $31) + ) + ) + (i32.shl + (get_local $21) + (i32.const 2) + ) + ) + (get_local $5) + (i32.gt_s + (i32.shr_s + (i32.sub + (get_local $5) + (get_local $6) + ) + (i32.const 2) + ) + (get_local $21) + ) + ) + ) + (i32.store + (get_local $20) + (tee_local $9 + (i32.add + (i32.load + (get_local $20) + ) + (get_local $13) + ) + ) + ) + (set_local $5 + (if (result i32) + (i32.lt_s + (get_local $9) + (i32.const 0) + ) + (block + (set_local $6 + (get_local $7) + ) + (set_local $5 + (get_local $12) + ) + (br $while-in70) + ) + (block (result i32) + (set_local $9 + (get_local $12) + ) + (get_local $7) + ) + ) + ) + ) + ) + (set_local $9 (get_local $7) - (i32.const -4) ) ) - ) - ) - (block - (set_local $7 - (get_local $9) - ) - (br $while-in68) - ) - ) - ) - ) - (i32.store - (get_local $20) - (tee_local $9 - (i32.sub - (i32.load - (get_local $20) - ) - (get_local $13) - ) - ) - ) - (br_if $while-in62 - (i32.gt_s - (get_local $9) - (i32.const 0) - ) - ) - ) - ) - (set_local $5 - (get_local $8) - ) - ) - (set_local $18 - (select - (i32.const 6) - (get_local $6) - (i32.lt_s - (get_local $6) - (i32.const 0) - ) - ) - ) - (if - (i32.lt_s - (get_local $9) - (i32.const 0) - ) - (block - (set_local $21 - (i32.add - (i32.div_s - (i32.add - (get_local $18) - (i32.const 25) - ) - (i32.const 9) - ) - (i32.const 1) - ) - ) - (set_local $31 - (i32.eq - (get_local $24) - (i32.const 102) - ) - ) - (set_local $6 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (loop $while-in70 - (set_local $13 - (select - (i32.const 9) - (tee_local $7 - (i32.sub - (i32.const 0) - (get_local $9) - ) - ) - (i32.gt_s - (get_local $7) - (i32.const 9) - ) - ) - ) - (if - (i32.lt_u - (get_local $6) - (get_local $5) - ) - (block $do-once71 - (set_local $12 - (i32.add - (i32.shl - (i32.const 1) - (get_local $13) - ) - (i32.const -1) - ) - ) - (set_local $37 - (i32.shr_u - (i32.const 1000000000) - (get_local $13) - ) - ) - (set_local $9 - (i32.const 0) - ) - (set_local $7 - (get_local $6) - ) - (loop $while-in74 - (i32.store - (get_local $7) - (i32.add - (i32.shr_u - (tee_local $38 - (i32.load - (get_local $7) + (set_local $21 + (get_local $8) + ) + (if + (i32.lt_u + (get_local $5) + (get_local $9) + ) + (block $do-once75 + (set_local $7 + (i32.mul + (i32.shr_s + (i32.sub + (get_local $21) + (get_local $5) + ) + (i32.const 2) + ) + (i32.const 9) + ) + ) + (br_if $do-once75 + (i32.lt_u + (tee_local $12 + (i32.load + (get_local $5) + ) + ) + (i32.const 10) + ) + ) + (set_local $6 + (i32.const 10) + ) + (loop $while-in78 + (set_local $7 + (i32.add + (get_local $7) + (i32.const 1) + ) + ) + (br_if $while-in78 + (i32.ge_u + (get_local $12) + (tee_local $6 + (i32.mul + (get_local $6) + (i32.const 10) + ) + ) + ) + ) ) ) - (get_local $13) + (set_local $7 + (i32.const 0) + ) ) - (get_local $9) - ) - ) - (set_local $9 - (i32.mul - (i32.and - (get_local $38) - (get_local $12) + (set_local $5 + (if (result i32) + (i32.lt_s + (tee_local $6 + (i32.add + (i32.sub + (get_local $18) + (select + (get_local $7) + (i32.const 0) + (i32.ne + (get_local $24) + (i32.const 102) + ) + ) + ) + (i32.shr_s + (i32.shl + (i32.and + (tee_local $31 + (i32.eq + (get_local $24) + (i32.const 103) + ) + ) + (tee_local $37 + (i32.ne + (get_local $18) + (i32.const 0) + ) + ) + ) + (i32.const 31) + ) + (i32.const 31) + ) + ) + ) + (i32.add + (i32.mul + (i32.shr_s + (i32.sub + (get_local $9) + (get_local $21) + ) + (i32.const 2) + ) + (i32.const 9) + ) + (i32.const -9) + ) + ) + (block (result i32) + (if + (i32.lt_s + (tee_local $6 + (i32.add + (i32.rem_s + (tee_local $13 + (i32.add + (get_local $6) + (i32.const 9216) + ) + ) + (i32.const 9) + ) + (i32.const 1) + ) + ) + (i32.const 9) + ) + (block + (set_local $12 + (i32.const 10) + ) + (loop $while-in80 + (set_local $12 + (i32.mul + (get_local $12) + (i32.const 10) + ) + ) + (br_if $while-in80 + (i32.ne + (tee_local $6 + (i32.add + (get_local $6) + (i32.const 1) + ) + ) + (i32.const 9) + ) + ) + ) + ) + (set_local $12 + (i32.const 10) + ) + ) + (set_local $13 + (i32.rem_u + (tee_local $24 + (i32.load + (tee_local $6 + (i32.add + (i32.add + (i32.shl + (i32.div_s + (get_local $13) + (i32.const 9) + ) + (i32.const 2) + ) + (get_local $8) + ) + (i32.const -4092) + ) + ) + ) + ) + (get_local $12) + ) + ) + (if + (i32.eqz + (i32.and + (tee_local $49 + (i32.eq + (i32.add + (get_local $6) + (i32.const 4) + ) + (get_local $9) + ) + ) + (i32.eqz + (get_local $13) + ) + ) + ) + (block $do-once81 + (set_local $16 + (if (result f64) + (i32.lt_u + (get_local $13) + (tee_local $50 + (i32.div_s + (get_local $12) + (i32.const 2) + ) + ) + ) + (f64.const 0.5) + (select + (f64.const 1) + (f64.const 1.5) + (i32.and + (get_local $49) + (i32.eq + (get_local $13) + (get_local $50) + ) + ) + ) + ) + ) + (set_local $23 + (select + (f64.const 9007199254740994) + (f64.const 9007199254740992) + (i32.and + (i32.div_u + (get_local $24) + (get_local $12) + ) + (i32.const 1) + ) + ) + ) + (if + (get_local $26) + (if + (i32.eq + (i32.load8_s + (get_local $30) + ) + (i32.const 45) + ) + (block + (set_local $23 + (f64.neg + (get_local $23) + ) + ) + (set_local $16 + (f64.neg + (get_local $16) + ) + ) + ) + ) + ) + (i32.store + (get_local $6) + (tee_local $13 + (i32.sub + (get_local $24) + (get_local $13) + ) + ) + ) + (br_if $do-once81 + (f64.eq + (f64.add + (get_local $23) + (get_local $16) + ) + (get_local $23) + ) + ) + (i32.store + (get_local $6) + (tee_local $7 + (i32.add + (get_local $12) + (get_local $13) + ) + ) + ) + (if + (i32.gt_u + (get_local $7) + (i32.const 999999999) + ) + (loop $while-in86 + (i32.store + (get_local $6) + (i32.const 0) + ) + (if + (i32.lt_u + (tee_local $6 + (i32.add + (get_local $6) + (i32.const -4) + ) + ) + (get_local $5) + ) + (i32.store + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -4) + ) + ) + (i32.const 0) + ) + ) + (i32.store + (get_local $6) + (tee_local $7 + (i32.add + (i32.load + (get_local $6) + ) + (i32.const 1) + ) + ) + ) + (br_if $while-in86 + (i32.gt_u + (get_local $7) + (i32.const 999999999) + ) + ) + ) + ) + (set_local $7 + (i32.mul + (i32.shr_s + (i32.sub + (get_local $21) + (get_local $5) + ) + (i32.const 2) + ) + (i32.const 9) + ) + ) + (br_if $do-once81 + (i32.lt_u + (tee_local $13 + (i32.load + (get_local $5) + ) + ) + (i32.const 10) + ) + ) + (set_local $12 + (i32.const 10) + ) + (loop $while-in88 + (set_local $7 + (i32.add + (get_local $7) + (i32.const 1) + ) + ) + (br_if $while-in88 + (i32.ge_u + (get_local $13) + (tee_local $12 + (i32.mul + (get_local $12) + (i32.const 10) + ) + ) + ) + ) + ) + ) + ) + (set_local $12 + (get_local $5) + ) + (set_local $13 + (get_local $7) + ) + (select + (tee_local $5 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + (get_local $9) + (i32.gt_u + (get_local $9) + (get_local $5) + ) + ) + ) + (block (result i32) + (set_local $12 + (get_local $5) + ) + (set_local $13 + (get_local $7) + ) + (get_local $9) + ) + ) ) - (get_local $37) - ) - ) - (br_if $while-in74 - (i32.lt_u - (tee_local $7 - (i32.add - (get_local $7) - (i32.const 4) + (set_local $9 + (loop $while-in90 (result i32) + (block $while-out89 (result i32) + (if + (i32.le_u + (get_local $5) + (get_local $12) + ) + (block + (set_local $24 + (i32.const 0) + ) + (br $while-out89 + (get_local $5) + ) + ) + ) + (if (result i32) + (i32.load + (tee_local $7 + (i32.add + (get_local $5) + (i32.const -4) + ) + ) + ) + (block (result i32) + (set_local $24 + (i32.const 1) + ) + (get_local $5) + ) + (block + (set_local $5 + (get_local $7) + ) + (br $while-in90) + ) + ) + ) ) ) - (get_local $5) - ) - ) - ) - (set_local $7 - (select - (get_local $6) - (i32.add - (get_local $6) - (i32.const 4) - ) - (i32.load - (get_local $6) - ) - ) - ) - (br_if $do-once71 - (i32.eqz - (get_local $9) - ) - ) - (i32.store - (get_local $5) - (get_local $9) - ) - (set_local $5 - (i32.add - (get_local $5) - (i32.const 4) - ) - ) - ) - (set_local $7 - (select - (get_local $6) - (i32.add - (get_local $6) - (i32.const 4) - ) - (i32.load - (get_local $6) - ) - ) - ) - ) - (set_local $12 - (select - (i32.add - (tee_local $6 - (select - (get_local $8) - (get_local $7) - (get_local $31) - ) - ) - (i32.shl - (get_local $21) - (i32.const 2) - ) - ) - (get_local $5) - (i32.gt_s - (i32.shr_s - (i32.sub - (get_local $5) - (get_local $6) - ) - (i32.const 2) - ) - (get_local $21) - ) - ) - ) - (i32.store - (get_local $20) - (tee_local $9 - (i32.add - (i32.load - (get_local $20) - ) - (get_local $13) - ) - ) - ) - (set_local $5 - (if (result i32) - (i32.lt_s - (get_local $9) - (i32.const 0) - ) - (block - (set_local $6 - (get_local $7) - ) - (set_local $5 - (get_local $12) - ) - (br $while-in70) - ) - (block (result i32) - (set_local $9 - (get_local $12) - ) - (get_local $7) - ) - ) - ) - ) - ) - (set_local $9 - (get_local $7) - ) - ) - (set_local $21 - (get_local $8) - ) - (if - (i32.lt_u - (get_local $5) - (get_local $9) - ) - (block $do-once75 - (set_local $7 - (i32.mul - (i32.shr_s - (i32.sub - (get_local $21) - (get_local $5) - ) - (i32.const 2) - ) - (i32.const 9) - ) - ) - (br_if $do-once75 - (i32.lt_u - (tee_local $12 - (i32.load - (get_local $5) - ) - ) - (i32.const 10) - ) - ) - (set_local $6 - (i32.const 10) - ) - (loop $while-in78 - (set_local $7 - (i32.add - (get_local $7) - (i32.const 1) - ) - ) - (br_if $while-in78 - (i32.ge_u - (get_local $12) - (tee_local $6 - (i32.mul - (get_local $6) - (i32.const 10) - ) - ) - ) - ) - ) - ) - (set_local $7 - (i32.const 0) - ) - ) - (set_local $5 - (if (result i32) - (i32.lt_s - (tee_local $6 - (i32.add - (i32.sub - (get_local $18) - (select - (get_local $7) - (i32.const 0) - (i32.ne - (get_local $24) - (i32.const 102) - ) - ) - ) - (i32.shr_s - (i32.shl - (i32.and - (tee_local $31 - (i32.ne - (get_local $18) + (set_local $5 + (if (result i32) + (get_local $31) + (block $do-once91 (result i32) + (set_local $7 + (if (result i32) + (i32.and + (i32.gt_s + (tee_local $5 + (i32.add + (get_local $18) + (i32.xor + (get_local $37) + (i32.const 1) + ) + ) + ) + (get_local $13) + ) + (i32.gt_s + (get_local $13) + (i32.const -5) + ) + ) + (block (result i32) + (set_local $18 + (i32.sub + (i32.add + (get_local $5) + (i32.const -1) + ) + (get_local $13) + ) + ) + (i32.add + (get_local $19) + (i32.const -1) + ) + ) + (block (result i32) + (set_local $18 + (i32.add + (get_local $5) + (i32.const -1) + ) + ) + (i32.add + (get_local $19) + (i32.const -2) + ) + ) + ) + ) + (if + (tee_local $5 + (i32.and + (get_local $11) + (i32.const 8) + ) + ) + (block + (set_local $21 + (get_local $5) + ) + (br $do-once91 + (get_local $18) + ) + ) + ) + (if + (get_local $24) + (block $do-once93 + (if + (i32.eqz + (tee_local $19 + (i32.load + (i32.add + (get_local $9) + (i32.const -4) + ) + ) + ) + ) + (block + (set_local $5 + (i32.const 9) + ) + (br $do-once93) + ) + ) + (set_local $5 + (if (result i32) + (i32.rem_u + (get_local $19) + (i32.const 10) + ) + (block + (set_local $5 + (i32.const 0) + ) + (br $do-once93) + ) + (block (result i32) + (set_local $6 + (i32.const 10) + ) + (i32.const 0) + ) + ) + ) + (loop $while-in96 + (set_local $5 + (i32.add + (get_local $5) + (i32.const 1) + ) + ) + (br_if $while-in96 + (i32.eqz + (i32.rem_u + (get_local $19) + (tee_local $6 + (i32.mul + (get_local $6) + (i32.const 10) + ) + ) + ) + ) + ) + ) + ) + (set_local $5 + (i32.const 9) + ) + ) + (set_local $6 + (i32.add + (i32.mul + (i32.shr_s + (i32.sub + (get_local $9) + (get_local $21) + ) + (i32.const 2) + ) + (i32.const 9) + ) + (i32.const -9) + ) + ) + (if (result i32) + (i32.eq + (i32.or + (get_local $7) + (i32.const 32) + ) + (i32.const 102) + ) + (block (result i32) + (set_local $21 + (i32.const 0) + ) + (select + (get_local $18) + (tee_local $5 + (select + (i32.const 0) + (tee_local $5 + (i32.sub + (get_local $6) + (get_local $5) + ) + ) + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + ) + ) + (i32.lt_s + (get_local $18) + (get_local $5) + ) + ) + ) + (block (result i32) + (set_local $21 + (i32.const 0) + ) + (select + (get_local $18) + (tee_local $5 + (select + (i32.const 0) + (tee_local $5 + (i32.sub + (i32.add + (get_local $6) + (get_local $13) + ) + (get_local $5) + ) + ) + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + ) + ) + (i32.lt_s + (get_local $18) + (get_local $5) + ) + ) + ) + ) + ) + (block (result i32) + (set_local $21 + (i32.and + (get_local $11) + (i32.const 8) + ) + ) + (set_local $7 + (get_local $19) + ) + (get_local $18) + ) + ) + ) + (set_local $6 + (i32.sub (i32.const 0) + (get_local $13) ) ) - (tee_local $37 - (i32.eq - (get_local $24) - (i32.const 103) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (tee_local $13 + (i32.add + (if (result i32) + (tee_local $18 + (i32.eq + (i32.or + (get_local $7) + (i32.const 32) + ) + (i32.const 102) + ) + ) + (block (result i32) + (set_local $19 + (i32.const 0) + ) + (select + (get_local $13) + (i32.const 0) + (i32.gt_s + (get_local $13) + (i32.const 0) + ) + ) + ) + (block (result i32) + (if + (i32.lt_s + (i32.sub + (get_local $27) + (tee_local $6 + (call $_fmt_u + (tee_local $6 + (select + (get_local $6) + (get_local $13) + (i32.lt_s + (get_local $13) + (i32.const 0) + ) + ) + ) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $6) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) + (get_local $32) + ) + ) + ) + (i32.const 2) + ) + (loop $while-in98 + (i32.store8 + (tee_local $6 + (i32.add + (get_local $6) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in98 + (i32.lt_s + (i32.sub + (get_local $27) + (get_local $6) + ) + (i32.const 2) + ) + ) + ) + ) + (i32.store8 + (i32.add + (get_local $6) + (i32.const -1) + ) + (i32.add + (i32.and + (i32.shr_s + (get_local $13) + (i32.const 31) + ) + (i32.const 2) + ) + (i32.const 43) + ) + ) + (i32.store8 + (tee_local $19 + (i32.add + (get_local $6) + (i32.const -2) + ) + ) + (get_local $7) + ) + (i32.sub + (get_local $27) + (get_local $19) + ) + ) + ) + (i32.add + (i32.add + (i32.add + (get_local $26) + (i32.const 1) + ) + (get_local $5) + ) + (i32.ne + (tee_local $31 + (i32.or + (get_local $5) + (get_local $21) + ) + ) + (i32.const 0) + ) + ) + ) ) + (get_local $11) ) - ) - (i32.const 31) - ) - (i32.const 31) - ) - ) - ) - (i32.add - (i32.mul - (i32.shr_s - (i32.sub - (get_local $9) - (get_local $21) - ) - (i32.const 2) - ) - (i32.const 9) - ) - (i32.const -9) - ) - ) - (block (result i32) - (if - (i32.lt_s - (tee_local $6 - (i32.add - (i32.rem_s - (tee_local $13 - (i32.add - (get_local $6) - (i32.const 9216) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $30) + (get_local $26) + (get_local $0) + ) ) ) - (i32.const 9) - ) - (i32.const 1) - ) - ) - (i32.const 9) - ) - (block - (set_local $12 - (i32.const 10) - ) - (loop $while-in80 - (set_local $12 - (i32.mul - (get_local $12) - (i32.const 10) - ) - ) - (br_if $while-in80 - (i32.ne - (tee_local $6 - (i32.add - (get_local $6) - (i32.const 1) + (call $_pad + (get_local $0) + (i32.const 48) + (get_local $15) + (get_local $13) + (i32.xor + (get_local $11) + (i32.const 65536) ) ) - (i32.const 9) - ) - ) - ) - ) - (set_local $12 - (i32.const 10) - ) - ) - (set_local $13 - (i32.rem_u - (tee_local $24 - (i32.load - (tee_local $6 - (i32.add - (i32.add - (get_local $8) - (i32.shl - (i32.div_s - (get_local $13) + (if + (get_local $18) + (block + (set_local $6 + (tee_local $12 + (select + (get_local $8) + (get_local $12) + (i32.gt_u + (get_local $12) + (get_local $8) + ) + ) + ) + ) + (loop $while-in102 + (set_local $7 + (call $_fmt_u + (i32.load + (get_local $6) + ) + (i32.const 0) + (get_local $29) + ) + ) + (block $do-once103 + (if + (i32.eq + (get_local $6) + (get_local $12) + ) + (block + (br_if $do-once103 + (i32.ne + (get_local $7) + (get_local $29) + ) + ) + (i32.store8 + (get_local $33) + (i32.const 48) + ) + (set_local $7 + (get_local $33) + ) + ) + (block + (br_if $do-once103 + (i32.le_u + (get_local $7) + (get_local $22) + ) + ) + (loop $while-in106 + (i32.store8 + (tee_local $7 + (i32.add + (get_local $7) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in106 + (i32.gt_u + (get_local $7) + (get_local $22) + ) + ) + ) + ) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $7) + (i32.sub + (get_local $42) + (get_local $7) + ) + (get_local $0) + ) + ) + ) + (if + (i32.le_u + (tee_local $7 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + (get_local $8) + ) + (block + (set_local $6 + (get_local $7) + ) + (br $while-in102) + ) + ) + ) + (if + (get_local $31) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (i32.const 4143) + (i32.const 1) + (get_local $0) + ) + ) + ) + ) + (if + (i32.and + (i32.lt_u + (get_local $7) + (get_local $9) + ) + (i32.gt_s + (get_local $5) + (i32.const 0) + ) + ) + (loop $while-in110 + (if + (i32.gt_u + (tee_local $6 + (call $_fmt_u + (i32.load + (get_local $7) + ) + (i32.const 0) + (get_local $29) + ) + ) + (get_local $22) + ) + (loop $while-in112 + (i32.store8 + (tee_local $6 + (i32.add + (get_local $6) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in112 + (i32.gt_u + (get_local $6) + (get_local $22) + ) + ) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $6) + (select + (i32.const 9) + (get_local $5) + (i32.gt_s + (get_local $5) + (i32.const 9) + ) + ) + (get_local $0) + ) + ) + ) + (set_local $6 + (i32.add + (get_local $5) + (i32.const -9) + ) + ) + (set_local $5 + (if (result i32) + (i32.and + (i32.lt_u + (tee_local $7 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (get_local $9) + ) + (i32.gt_s + (get_local $5) + (i32.const 9) + ) + ) + (block + (set_local $5 + (get_local $6) + ) + (br $while-in110) + ) + (get_local $6) + ) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.add + (get_local $5) (i32.const 9) ) - (i32.const 2) + (i32.const 9) + (i32.const 0) + ) + ) + (block $do-once99 + (set_local $9 + (select + (get_local $9) + (i32.add + (get_local $12) + (i32.const 4) + ) + (get_local $24) + ) + ) + (if + (i32.gt_s + (get_local $5) + (i32.const -1) + ) + (block + (set_local $18 + (i32.eqz + (get_local $21) + ) + ) + (set_local $6 + (get_local $12) + ) + (set_local $7 + (get_local $5) + ) + (loop $while-in114 + (if + (i32.eq + (tee_local $5 + (call $_fmt_u + (i32.load + (get_local $6) + ) + (i32.const 0) + (get_local $29) + ) + ) + (get_local $29) + ) + (block + (i32.store8 + (get_local $33) + (i32.const 48) + ) + (set_local $5 + (get_local $33) + ) + ) + ) + (block $do-once115 + (if + (i32.eq + (get_local $6) + (get_local $12) + ) + (block + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $5) + (i32.const 1) + (get_local $0) + ) + ) + ) + (set_local $5 + (i32.add + (get_local $5) + (i32.const 1) + ) + ) + (br_if $do-once115 + (i32.or + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + (i32.and + (i32.lt_s + (get_local $7) + (i32.const 1) + ) + (get_local $18) + ) + ) + ) + (drop + (call $___fwritex + (i32.const 4143) + (i32.const 1) + (get_local $0) + ) + ) + ) + (block + (br_if $do-once115 + (i32.le_u + (get_local $5) + (get_local $22) + ) + ) + (loop $while-in118 + (i32.store8 + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in118 + (i32.gt_u + (get_local $5) + (get_local $22) + ) + ) + ) + ) + ) + ) + (set_local $8 + (i32.sub + (get_local $42) + (get_local $5) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $5) + (select + (get_local $8) + (get_local $7) + (i32.gt_s + (get_local $7) + (get_local $8) + ) + ) + (get_local $0) + ) + ) + ) + (br_if $while-in114 + (i32.and + (i32.lt_u + (tee_local $6 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + (get_local $9) + ) + (i32.gt_s + (tee_local $7 + (i32.sub + (get_local $7) + (get_local $8) + ) + ) + (i32.const -1) + ) + ) + ) + ) + (set_local $5 + (get_local $7) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.add + (get_local $5) + (i32.const 18) + ) + (i32.const 18) + (i32.const 0) + ) + (br_if $do-once99 + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $19) + (i32.sub + (get_local $27) + (get_local $19) + ) + (get_local $0) + ) ) ) - (i32.const -4092) - ) - ) - ) - ) - (get_local $12) - ) - ) - (if - (i32.eqz - (i32.and - (tee_local $38 - (i32.eq - (i32.add - (get_local $6) - (i32.const 4) ) - (get_local $9) - ) - ) - (i32.eqz - (get_local $13) - ) - ) - ) - (block $do-once81 - (set_local $16 - (if (result f64) - (i32.lt_u - (get_local $13) - (tee_local $50 - (i32.div_s - (get_local $12) - (i32.const 2) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (get_local $13) + (i32.xor + (get_local $11) + (i32.const 8192) ) ) - ) - (f64.const 0.5) - (select - (f64.const 1) - (f64.const 1.5) - (i32.and - (get_local $38) - (i32.eq + (select + (get_local $15) + (get_local $13) + (i32.lt_s (get_local $13) - (get_local $50) + (get_local $15) ) ) ) - ) - ) - (set_local $23 - (select - (f64.const 9007199254740994) - (f64.const 9007199254740992) - (i32.and - (i32.div_u - (get_local $24) - (get_local $12) - ) - (i32.const 1) - ) - ) - ) - (if - (get_local $26) - (if - (i32.eq - (i32.load8_s - (get_local $30) - ) - (i32.const 45) - ) - (block - (set_local $23 - (f64.neg - (get_local $23) + (block (result i32) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) + (tee_local $7 + (i32.add + (tee_local $9 + (select + (i32.const 0) + (get_local $26) + (tee_local $6 + (f64.ne + (get_local $16) + (get_local $16) + ) + ) + ) + ) + (i32.const 3) + ) ) + (get_local $8) ) - (set_local $16 - (f64.neg - (get_local $16) + (if + (i32.eqz + (i32.and + (tee_local $5 + (i32.load + (get_local $0) + ) + ) + (i32.const 32) + ) + ) + (block + (drop + (call $___fwritex + (get_local $30) + (get_local $9) + (get_local $0) + ) + ) + (set_local $5 + (i32.load + (get_local $0) + ) + ) ) ) - ) - ) - ) - (i32.store - (get_local $6) - (tee_local $13 - (i32.sub - (get_local $24) - (get_local $13) - ) - ) - ) - (br_if $do-once81 - (f64.eq - (f64.add - (get_local $23) - (get_local $16) - ) - (get_local $23) - ) - ) - (i32.store - (get_local $6) - (tee_local $7 - (i32.add - (get_local $13) - (get_local $12) - ) - ) - ) - (if - (i32.gt_u - (get_local $7) - (i32.const 999999999) - ) - (loop $while-in86 - (i32.store - (get_local $6) - (i32.const 0) - ) - (if - (i32.lt_u - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -4) + (set_local $6 + (select + (select + (i32.const 4135) + (i32.const 4139) + (tee_local $8 + (i32.ne + (i32.and + (get_local $19) + (i32.const 32) + ) + (i32.const 0) + ) + ) + ) + (select + (i32.const 4127) + (i32.const 4131) + (get_local $8) ) + (get_local $6) ) - (get_local $5) ) - (i32.store - (tee_local $5 - (i32.add + (if + (i32.eqz + (i32.and (get_local $5) - (i32.const -4) + (i32.const 32) ) ) - (i32.const 0) - ) - ) - (i32.store - (get_local $6) - (tee_local $7 - (i32.add - (i32.load + (drop + (call $___fwritex (get_local $6) + (i32.const 3) + (get_local $0) ) - (i32.const 1) ) ) - ) - (br_if $while-in86 - (i32.gt_u + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $15) (get_local $7) - (i32.const 999999999) - ) - ) - ) - ) - (set_local $7 - (i32.mul - (i32.shr_s - (i32.sub - (get_local $21) - (get_local $5) + (i32.xor + (get_local $11) + (i32.const 8192) + ) ) - (i32.const 2) - ) - (i32.const 9) - ) - ) - (br_if $do-once81 - (i32.lt_u - (tee_local $13 - (i32.load - (get_local $5) + (select + (get_local $15) + (get_local $7) + (i32.lt_s + (get_local $7) + (get_local $15) + ) ) ) - (i32.const 10) ) ) - (set_local $12 - (i32.const 10) + (set_local $5 + (get_local $10) ) - (loop $while-in88 - (set_local $7 - (i32.add - (get_local $7) - (i32.const 1) - ) - ) - (br_if $while-in88 - (i32.ge_u - (get_local $13) - (tee_local $12 - (i32.mul - (get_local $12) - (i32.const 10) - ) - ) - ) - ) + (set_local $10 + (get_local $7) ) + (br $label$continue$L1) ) - ) - (set_local $12 - (get_local $5) - ) - (set_local $13 - (get_local $7) - ) - (select - (tee_local $5 - (i32.add - (get_local $6) - (i32.const 4) - ) + (set_local $12 + (get_local $6) ) - (get_local $9) - (i32.gt_u - (get_local $9) - (get_local $5) + (set_local $8 + (i32.const 0) ) - ) - ) - (block (result i32) - (set_local $12 - (get_local $5) - ) - (set_local $13 - (get_local $7) - ) - (get_local $9) - ) - ) - ) - (set_local $9 - (loop $while-in90 (result i32) - (block $while-out89 (result i32) - (if - (i32.le_u - (get_local $5) - (get_local $12) + (set_local $9 + (i32.const 4091) ) - (block - (set_local $24 - (i32.const 0) - ) - (br $while-out89 - (get_local $5) - ) + (br $__rjto$8 + (get_local $25) ) ) - (if (result i32) - (i32.load + (set_local $9 + (i32.and + (get_local $19) + (i32.const 32) + ) + ) + (if + (i32.or (tee_local $7 - (i32.add - (get_local $5) - (i32.const -4) + (i32.load + (get_local $14) ) ) - ) - (block (result i32) - (set_local $24 - (i32.const 1) + (tee_local $11 + (i32.load offset=4 + (get_local $14) + ) ) - (get_local $5) ) (block - (set_local $5 - (get_local $7) - ) - (br $while-in90) - ) - ) - ) - ) - ) - (set_local $5 - (if (result i32) - (get_local $37) - (block $do-once91 (result i32) - (set_local $7 - (if (result i32) - (i32.and - (i32.gt_s - (tee_local $5 - (i32.add - (i32.xor - (get_local $31) - (i32.const 1) - ) - (get_local $18) - ) - ) - (get_local $13) - ) - (i32.gt_s - (get_local $13) - (i32.const -5) - ) + (set_local $8 + (get_local $25) ) - (block (result i32) - (set_local $18 - (i32.sub + (loop $while-in123 + (i32.store8 + (tee_local $8 (i32.add - (get_local $5) + (get_local $8) (i32.const -1) ) - (get_local $13) - ) - ) - (i32.add - (get_local $19) - (i32.const -1) - ) - ) - (block (result i32) - (set_local $18 - (i32.add - (get_local $5) - (i32.const -1) ) - ) - (i32.add - (get_local $19) - (i32.const -2) - ) - ) - ) - ) - (if - (tee_local $5 - (i32.and - (get_local $11) - (i32.const 8) - ) - ) - (block - (set_local $21 - (get_local $5) - ) - (br $do-once91 - (get_local $18) - ) - ) - ) - (if - (get_local $24) - (block $do-once93 - (if - (i32.eqz - (tee_local $19 - (i32.load + (i32.or + (get_local $9) + (i32.load8_u (i32.add - (get_local $9) - (i32.const -4) + (i32.and + (get_local $7) + (i32.const 15) + ) + (i32.const 4075) ) ) ) ) - (block - (set_local $5 - (i32.const 9) + (br_if $while-in123 + (i32.or + (tee_local $7 + (call $_bitshift64Lshr + (get_local $7) + (get_local $11) + (i32.const 4) + ) + ) + (tee_local $11 + (get_global $tempRet0) + ) ) - (br $do-once93) ) ) - (set_local $5 + (set_local $7 + (get_local $8) + ) + (set_local $8 (if (result i32) - (i32.rem_u - (get_local $19) - (i32.const 10) - ) - (block - (set_local $5 - (i32.const 0) + (i32.or + (i32.eqz + (i32.or + (i32.load + (get_local $14) + ) + (i32.load offset=4 + (get_local $14) + ) + ) + ) + (i32.eqz + (i32.and + (get_local $5) + (i32.const 8) + ) ) - (br $do-once93) ) (block (result i32) - (set_local $6 - (i32.const 10) + (set_local $9 + (i32.const 4091) ) (i32.const 0) ) - ) - ) - (loop $while-in96 - (set_local $5 - (i32.add - (get_local $5) - (i32.const 1) - ) - ) - (br_if $while-in96 - (i32.eqz - (i32.rem_u - (get_local $19) - (tee_local $6 - (i32.mul - (get_local $6) - (i32.const 10) + (block (result i32) + (set_local $9 + (i32.add + (i32.shr_s + (get_local $19) + (i32.const 4) ) + (i32.const 4091) ) ) + (i32.const 2) ) ) ) ) - (set_local $5 - (i32.const 9) - ) - ) - (set_local $6 - (i32.add - (i32.mul - (i32.shr_s - (i32.sub - (get_local $9) - (get_local $21) - ) - (i32.const 2) - ) - (i32.const 9) - ) - (i32.const -9) - ) - ) - (if (result i32) - (i32.eq - (i32.or - (get_local $7) - (i32.const 32) + (block + (set_local $7 + (get_local $25) ) - (i32.const 102) - ) - (block (result i32) - (set_local $21 + (set_local $8 (i32.const 0) ) - (select - (get_local $18) - (tee_local $5 - (select - (i32.const 0) - (tee_local $5 - (i32.sub - (get_local $6) - (get_local $5) - ) - ) - (i32.lt_s - (get_local $5) - (i32.const 0) - ) - ) - ) - (i32.lt_s - (get_local $18) - (get_local $5) - ) + (set_local $9 + (i32.const 4091) ) ) - (block (result i32) - (set_local $21 - (i32.const 0) - ) - (select - (get_local $18) - (tee_local $5 - (select - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.add - (get_local $6) - (get_local $13) - ) - (get_local $5) - ) - ) - (i32.lt_s - (get_local $5) - (i32.const 0) - ) - ) - ) - (i32.lt_s - (get_local $18) - (get_local $5) - ) - ) + ) + (br $__rjti$8) + ) + (set_local $7 + (call $_fmt_u + (get_local $5) + (get_local $7) + (get_local $25) + ) + ) + (set_local $5 + (get_local $11) + ) + (br $__rjti$8) + ) + (set_local $19 + (i32.eqz + (tee_local $13 + (call $_memchr + (get_local $7) + (get_local $6) ) ) ) - (block (result i32) - (set_local $21 - (i32.and - (get_local $11) - (i32.const 8) + ) + (set_local $11 + (get_local $8) + ) + (set_local $12 + (select + (get_local $6) + (i32.sub + (get_local $13) + (tee_local $5 + (get_local $7) ) ) - (set_local $7 - (get_local $19) + (get_local $19) + ) + ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (br $__rjto$8 + (select + (i32.add + (get_local $5) + (get_local $6) ) - (get_local $18) + (get_local $13) + (get_local $19) ) ) ) + (set_local $5 + (i32.const 0) + ) + (set_local $7 + (i32.const 0) + ) (set_local $6 - (i32.sub - (i32.const 0) - (get_local $13) + (i32.load + (get_local $14) ) ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (tee_local $13 - (i32.add - (i32.add - (i32.add - (i32.add - (get_local $26) - (i32.const 1) - ) - (get_local $5) - ) - (i32.ne - (tee_local $31 - (i32.or - (get_local $5) - (get_local $21) - ) + (loop $while-in125 + (block $while-out124 + (br_if $while-out124 + (i32.eqz + (tee_local $9 + (i32.load + (get_local $6) ) - (i32.const 0) ) ) - (if (result i32) - (tee_local $18 - (i32.eq - (i32.or - (get_local $7) - (i32.const 32) + ) + (br_if $while-out124 + (i32.or + (i32.lt_s + (tee_local $7 + (call $_wctomb + (get_local $35) + (get_local $9) ) - (i32.const 102) ) + (i32.const 0) ) - (block (result i32) - (set_local $19 - (i32.const 0) - ) - (select - (get_local $13) - (i32.const 0) - (i32.gt_s - (get_local $13) - (i32.const 0) - ) + (i32.gt_u + (get_local $7) + (i32.sub + (get_local $8) + (get_local $5) ) ) - (block (result i32) - (if - (i32.lt_s - (i32.sub - (get_local $27) - (tee_local $6 - (call $_fmt_u - (tee_local $6 - (select - (get_local $6) - (get_local $13) - (i32.lt_s - (get_local $13) - (i32.const 0) - ) - ) - ) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $6) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.const 31) - ) - (get_local $32) - ) - ) - ) - (i32.const 2) - ) - (loop $while-in98 - (i32.store8 - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in98 - (i32.lt_s - (i32.sub - (get_local $27) - (get_local $6) - ) - (i32.const 2) - ) - ) - ) - ) - (i32.store8 - (i32.add - (get_local $6) - (i32.const -1) - ) - (i32.add - (i32.and - (i32.shr_s - (get_local $13) - (i32.const 31) - ) - (i32.const 2) - ) - (i32.const 43) - ) - ) - (i32.store8 - (tee_local $19 - (i32.add - (get_local $6) - (i32.const -2) - ) - ) + ) + ) + (set_local $6 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + (br_if $while-in125 + (i32.gt_u + (get_local $8) + (tee_local $5 + (i32.add + (get_local $5) (get_local $7) ) - (i32.sub - (get_local $27) - (get_local $19) - ) ) ) ) ) - (get_local $11) ) (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) + (i32.lt_s + (get_local $7) + (i32.const 0) ) - (drop - (call $___fwritex - (get_local $30) - (get_local $26) - (get_local $0) + (block + (set_local $17 + (i32.const -1) ) + (br $label$break$L1) ) ) (call $_pad (get_local $0) - (i32.const 48) + (i32.const 32) (get_local $15) - (get_local $13) - (i32.xor - (get_local $11) - (i32.const 65536) - ) + (get_local $5) + (get_local $11) ) - (if - (get_local $18) - (block + (if (result i32) + (get_local $5) + (block (result i32) (set_local $6 - (tee_local $12 - (select - (get_local $8) - (get_local $12) - (i32.gt_u - (get_local $12) - (get_local $8) - ) - ) - ) + (i32.const 0) ) - (loop $while-in102 - (set_local $7 - (call $_fmt_u - (i32.load - (get_local $6) - ) - (i32.const 0) - (get_local $29) - ) + (set_local $7 + (i32.load + (get_local $14) ) - (block $do-once103 - (if - (i32.eq - (get_local $6) - (get_local $12) - ) - (block - (br_if $do-once103 - (i32.ne + ) + (loop $while-in127 + (drop + (br_if $__rjti$7 + (get_local $5) + (i32.eqz + (tee_local $8 + (i32.load (get_local $7) - (get_local $29) ) ) - (i32.store8 - (get_local $33) - (i32.const 48) - ) - (set_local $7 - (get_local $33) - ) ) - (block - (br_if $do-once103 - (i32.le_u - (get_local $7) - (get_local $22) - ) - ) - (loop $while-in106 - (i32.store8 - (tee_local $7 - (i32.add - (get_local $7) - (i32.const -1) + ) + ) + (drop + (br_if $__rjti$7 + (get_local $5) + (i32.gt_s + (tee_local $6 + (i32.add + (tee_local $8 + (call $_wctomb + (get_local $35) + (get_local $8) ) ) - (i32.const 48) - ) - (br_if $while-in106 - (i32.gt_u - (get_local $7) - (get_local $22) - ) + (get_local $6) ) ) + (get_local $5) ) ) ) @@ -5652,972 +6512,123 @@ ) (drop (call $___fwritex - (get_local $7) - (i32.sub - (get_local $43) - (get_local $7) - ) - (get_local $0) - ) - ) - ) - (if - (i32.le_u - (tee_local $7 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) - (get_local $8) - ) - (block - (set_local $6 - (get_local $7) - ) - (br $while-in102) - ) - ) - ) - (if - (get_local $31) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) + (get_local $35) + (get_local $8) (get_local $0) ) ) ) - ) - (if - (i32.and - (i32.gt_s - (get_local $5) - (i32.const 0) - ) - (i32.lt_u - (get_local $7) - (get_local $9) - ) - ) - (loop $while-in110 - (if - (i32.gt_u - (tee_local $6 - (call $_fmt_u - (i32.load - (get_local $7) - ) - (i32.const 0) - (get_local $29) - ) - ) - (get_local $22) - ) - (loop $while-in112 - (i32.store8 - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in112 - (i32.gt_u - (get_local $6) - (get_local $22) - ) - ) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $6) - (select - (i32.const 9) - (get_local $5) - (i32.gt_s - (get_local $5) - (i32.const 9) - ) - ) - (get_local $0) - ) - ) - ) - (set_local $6 - (i32.add - (get_local $5) - (i32.const -9) - ) - ) - (set_local $5 - (if (result i32) - (i32.and - (i32.gt_s - (get_local $5) - (i32.const 9) - ) - (i32.lt_u - (tee_local $7 - (i32.add - (get_local $7) - (i32.const 4) - ) - ) - (get_local $9) - ) - ) - (block - (set_local $5 - (get_local $6) - ) - (br $while-in110) - ) - (get_local $6) - ) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (i32.add - (get_local $5) - (i32.const 9) - ) - (i32.const 9) - (i32.const 0) - ) - ) - (block $do-once99 - (set_local $9 - (select - (get_local $9) + (set_local $7 (i32.add - (get_local $12) + (get_local $7) (i32.const 4) ) - (get_local $24) - ) - ) - (if - (i32.gt_s - (get_local $5) - (i32.const -1) ) - (block - (set_local $18 - (i32.eqz - (get_local $21) - ) - ) - (set_local $6 - (get_local $12) - ) - (set_local $7 + (br_if $while-in127 + (i32.lt_u + (get_local $6) (get_local $5) ) - (loop $while-in114 - (if - (i32.eq - (tee_local $5 - (call $_fmt_u - (i32.load - (get_local $6) - ) - (i32.const 0) - (get_local $29) - ) - ) - (get_local $29) - ) - (block - (i32.store8 - (get_local $33) - (i32.const 48) - ) - (set_local $5 - (get_local $33) - ) - ) - ) - (block $do-once115 - (if - (i32.eq - (get_local $6) - (get_local $12) - ) - (block - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $5) - (i32.const 1) - (get_local $0) - ) - ) - ) - (set_local $5 - (i32.add - (get_local $5) - (i32.const 1) - ) - ) - (br_if $do-once115 - (i32.or - (i32.and - (get_local $18) - (i32.lt_s - (get_local $7) - (i32.const 1) - ) - ) - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) - (get_local $0) - ) - ) - ) - (block - (br_if $do-once115 - (i32.le_u - (get_local $5) - (get_local $22) - ) - ) - (loop $while-in118 - (i32.store8 - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in118 - (i32.gt_u - (get_local $5) - (get_local $22) - ) - ) - ) - ) - ) - ) - (set_local $8 - (i32.sub - (get_local $43) - (get_local $5) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $5) - (select - (get_local $8) - (get_local $7) - (i32.gt_s - (get_local $7) - (get_local $8) - ) - ) - (get_local $0) - ) - ) - ) - (br_if $while-in114 - (i32.and - (i32.lt_u - (tee_local $6 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) - (get_local $9) - ) - (i32.gt_s - (tee_local $7 - (i32.sub - (get_local $7) - (get_local $8) - ) - ) - (i32.const -1) - ) - ) - ) - ) - (set_local $5 - (get_local $7) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (i32.add - (get_local $5) - (i32.const 18) - ) - (i32.const 18) - (i32.const 0) - ) - (br_if $do-once99 - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $19) - (i32.sub - (get_local $27) - (get_local $19) - ) - (get_local $0) ) ) + (get_local $5) ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (get_local $13) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (select - (get_local $15) - (get_local $13) - (i32.lt_s - (get_local $13) - (get_local $15) - ) - ) - ) - (block (result i32) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (tee_local $7 - (i32.add - (tee_local $9 - (select - (i32.const 0) - (get_local $26) - (tee_local $6 - (f64.ne - (get_local $16) - (get_local $16) - ) - ) - ) - ) - (i32.const 3) - ) - ) - (get_local $8) - ) - (if - (i32.eqz - (i32.and - (tee_local $5 - (i32.load - (get_local $0) - ) - ) - (i32.const 32) - ) - ) - (block - (drop - (call $___fwritex - (get_local $30) - (get_local $9) - (get_local $0) - ) - ) - (set_local $5 - (i32.load - (get_local $0) - ) - ) - ) - ) - (set_local $6 - (select - (select - (i32.const 4135) - (i32.const 4139) - (tee_local $8 - (i32.ne - (i32.and - (get_local $19) - (i32.const 32) - ) - (i32.const 0) - ) - ) - ) - (select - (i32.const 4127) - (i32.const 4131) - (get_local $8) - ) - (get_local $6) - ) - ) - (if - (i32.eqz - (i32.and - (get_local $5) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $6) - (i32.const 3) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (get_local $7) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (select - (get_local $15) - (get_local $7) - (i32.lt_s - (get_local $7) - (get_local $15) - ) + (i32.const 0) ) ) ) + (i32.xor + (get_local $11) + (i32.const 8192) + ) ) (set_local $5 (get_local $10) ) (set_local $10 - (get_local $7) + (select + (get_local $15) + (get_local $7) + (i32.gt_s + (get_local $15) + (get_local $7) + ) + ) ) (br $label$continue$L1) ) - (set_local $12 - (get_local $6) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjto$8 - (get_local $25) - ) - ) - (set_local $9 - (i32.and - (get_local $19) - (i32.const 32) - ) - ) - (if - (i32.or - (tee_local $7 - (i32.load - (get_local $14) + (set_local $11 + (select + (i32.and + (get_local $5) + (i32.const -65537) ) - ) - (tee_local $11 - (i32.load offset=4 - (get_local $14) + (get_local $5) + (i32.gt_s + (get_local $6) + (i32.const -1) ) ) ) - (block - (set_local $8 - (get_local $25) - ) - (loop $while-in123 - (i32.store8 - (tee_local $8 - (i32.add - (get_local $8) - (i32.const -1) - ) - ) + (if (result i32) + (i32.or + (get_local $6) + (tee_local $5 (i32.or - (i32.load8_u - (i32.add - (i32.and - (get_local $7) - (i32.const 15) - ) - (i32.const 4075) + (i32.ne + (i32.load + (get_local $14) ) + (i32.const 0) ) - (get_local $9) - ) - ) - (br_if $while-in123 - (i32.or - (tee_local $7 - (call $_bitshift64Lshr - (get_local $7) - (get_local $11) - (i32.const 4) + (i32.ne + (i32.load offset=4 + (get_local $14) ) - ) - (tee_local $11 - (get_global $tempRet0) + (i32.const 0) ) ) ) ) - (set_local $7 - (get_local $8) - ) - (set_local $8 - (if (result i32) - (i32.or - (i32.eqz - (i32.and - (get_local $5) - (i32.const 8) - ) - ) - (i32.eqz - (i32.or - (i32.load - (get_local $14) + (block (result i32) + (set_local $12 + (select + (get_local $6) + (tee_local $7 + (i32.add + (i32.xor + (i32.and + (get_local $5) + (i32.const 1) + ) + (i32.const 1) ) - (i32.load offset=4 - (get_local $14) + (i32.sub + (get_local $38) + (tee_local $5 + (get_local $7) + ) ) ) ) - ) - (block (result i32) - (set_local $9 - (i32.const 4091) - ) - (i32.const 0) - ) - (block (result i32) - (set_local $9 - (i32.add - (i32.shr_s - (get_local $19) - (i32.const 4) - ) - (i32.const 4091) - ) + (i32.gt_s + (get_local $6) + (get_local $7) ) - (i32.const 2) ) ) - ) - ) - (block - (set_local $7 (get_local $25) ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - ) - ) - (br $__rjti$8) - ) - (set_local $7 - (call $_fmt_u - (get_local $5) - (get_local $7) - (get_local $25) - ) - ) - (set_local $5 - (get_local $11) - ) - (br $__rjti$8) - ) - (set_local $19 - (i32.eqz - (tee_local $13 - (call $_memchr - (get_local $7) - (get_local $6) - ) - ) - ) - ) - (set_local $11 - (get_local $8) - ) - (set_local $12 - (select - (get_local $6) - (i32.sub - (get_local $13) - (tee_local $5 - (get_local $7) - ) - ) - (get_local $19) - ) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjto$8 - (select - (i32.add - (get_local $5) - (get_local $6) - ) - (get_local $13) - (get_local $19) - ) - ) - ) - (set_local $5 - (i32.const 0) - ) - (set_local $7 - (i32.const 0) - ) - (set_local $6 - (i32.load - (get_local $14) - ) - ) - (loop $while-in125 - (block $while-out124 - (br_if $while-out124 - (i32.eqz - (tee_local $9 - (i32.load - (get_local $6) - ) - ) - ) - ) - (br_if $while-out124 - (i32.or - (i32.lt_s - (tee_local $7 - (call $_wctomb - (get_local $35) - (get_local $9) - ) - ) - (i32.const 0) - ) - (i32.gt_u - (get_local $7) - (i32.sub - (get_local $8) - (get_local $5) - ) - ) - ) - ) - (set_local $6 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) - (br_if $while-in125 - (i32.gt_u - (get_local $8) - (tee_local $5 - (i32.add - (get_local $7) - (get_local $5) - ) - ) - ) - ) - ) - ) - (if - (i32.lt_s - (get_local $7) - (i32.const 0) - ) - (block - (set_local $17 - (i32.const -1) - ) - (br $label$break$L1) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $15) - (get_local $5) - (get_local $11) - ) - (if (result i32) - (get_local $5) - (block (result i32) - (set_local $6 - (i32.const 0) - ) - (set_local $7 - (i32.load - (get_local $14) - ) - ) - (loop $while-in127 - (drop - (br_if $__rjti$7 - (get_local $5) - (i32.eqz - (tee_local $8 - (i32.load - (get_local $7) - ) - ) - ) - ) - ) - (drop - (br_if $__rjti$7 - (get_local $5) - (i32.gt_s - (tee_local $6 - (i32.add - (tee_local $8 - (call $_wctomb - (get_local $35) - (get_local $8) - ) - ) - (get_local $6) - ) + (block (result i32) + (set_local $12 + (i32.const 0) ) - (get_local $5) - ) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) + (tee_local $5 + (get_local $25) ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $35) - (get_local $8) - (get_local $0) ) ) ) - (set_local $7 - (i32.add - (get_local $7) - (i32.const 4) - ) - ) - (br_if $while-in127 - (i32.lt_u - (get_local $6) - (get_local $5) - ) - ) - ) - (get_local $5) - ) - (i32.const 0) - ) - ) - ) - (i32.xor - (get_local $11) - (i32.const 8192) - ) - ) - (set_local $5 - (get_local $10) - ) - (set_local $10 - (select - (get_local $15) - (get_local $7) - (i32.gt_s - (get_local $15) - (get_local $7) - ) - ) - ) - (br $label$continue$L1) - ) - (set_local $11 - (select - (i32.and - (get_local $5) - (i32.const -65537) - ) - (get_local $5) - (i32.gt_s - (get_local $6) - (i32.const -1) - ) - ) - ) - (if (result i32) - (i32.or - (get_local $6) - (tee_local $5 - (i32.or - (i32.ne - (i32.load - (get_local $14) - ) - (i32.const 0) - ) - (i32.ne - (i32.load offset=4 - (get_local $14) - ) - (i32.const 0) - ) - ) - ) - ) - (block (result i32) - (set_local $12 - (select - (get_local $6) - (tee_local $7 - (i32.add - (i32.xor - (i32.and - (get_local $5) - (i32.const 1) - ) - (i32.const 1) - ) - (i32.sub - (get_local $39) - (tee_local $5 - (get_local $7) - ) - ) - ) - ) - (i32.gt_s - (get_local $6) - (get_local $7) - ) - ) - ) - (get_local $25) - ) - (block (result i32) - (set_local $12 - (i32.const 0) - ) - (tee_local $5 - (get_local $25) - ) - ) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (tee_local $7 - (select - (tee_local $6 - (i32.add - (get_local $8) - (tee_local $12 - (select - (tee_local $13 - (i32.sub - (get_local $7) (get_local $5) ) ) @@ -6628,6 +6639,7 @@ ) ) ) + (get_local $8) ) ) (get_local $15) @@ -6727,22 +6739,22 @@ (tee_local $1 (i32.load (i32.add - (get_local $4) (i32.shl (get_local $0) (i32.const 2) ) + (get_local $4) ) ) ) (block (call $_pop_arg_336 (i32.add - (get_local $3) (i32.shl (get_local $0) (i32.const 3) ) + (get_local $3) ) (get_local $1) (get_local $2) @@ -6774,11 +6786,11 @@ (if (i32.load (i32.add - (get_local $4) (i32.shl (get_local $0) (i32.const 2) ) + (get_local $4) ) ) (block @@ -7222,10 +7234,6 @@ (local $4 i32) (if (i32.or - (i32.gt_u - (get_local $1) - (i32.const 0) - ) (i32.and (i32.eqz (get_local $1) @@ -7235,6 +7243,10 @@ (i32.const -1) ) ) + (i32.gt_u + (get_local $1) + (i32.const 0) + ) ) (loop $while-in (i32.store8 @@ -7268,10 +7280,6 @@ (set_local $0 (if (result i32) (i32.or - (i32.gt_u - (get_local $1) - (i32.const 9) - ) (i32.and (i32.eq (get_local $1) @@ -7282,6 +7290,10 @@ (i32.const -1) ) ) + (i32.gt_u + (get_local $1) + (i32.const 9) + ) ) (block (set_local $0 @@ -7362,16 +7374,16 @@ ) (if (i32.and - (i32.gt_s - (get_local $2) - (get_local $3) - ) (i32.eqz (i32.and (get_local $4) (i32.const 73728) ) ) + (i32.gt_s + (get_local $2) + (get_local $3) + ) ) (block $do-once (drop @@ -7544,48 +7556,47 @@ (i32.const 3) ) (block - (set_local $11 - (i32.load - (tee_local $1 - (i32.add - (tee_local $7 - (i32.load - (tee_local $3 - (i32.add - (tee_local $2 + (if + (i32.eq + (tee_local $7 + (i32.load + (tee_local $1 + (i32.add + (tee_local $11 + (i32.load + (tee_local $3 (i32.add - (i32.shl - (tee_local $4 - (i32.add - (i32.xor - (i32.and - (get_local $10) - (i32.const 1) + (tee_local $2 + (i32.add + (i32.shl + (tee_local $4 + (i32.add + (i32.xor + (i32.and + (get_local $10) + (i32.const 1) + ) + (i32.const 1) + ) + (get_local $13) ) - (i32.const 1) ) - (get_local $13) + (i32.const 3) ) + (i32.const 216) ) - (i32.const 3) ) - (i32.const 216) + (i32.const 8) ) ) - (i32.const 8) ) ) + (i32.const 8) ) ) - (i32.const 8) ) ) - ) - ) - (if - (i32.eq (get_local $2) - (get_local $11) ) (i32.store (i32.const 176) @@ -7603,7 +7614,7 @@ (block (if (i32.lt_u - (get_local $11) + (get_local $7) (i32.load (i32.const 192) ) @@ -7612,15 +7623,15 @@ ) (if (i32.eq + (get_local $11) (i32.load (tee_local $0 (i32.add - (get_local $11) + (get_local $7) (i32.const 12) ) ) ) - (get_local $7) ) (block (i32.store @@ -7629,7 +7640,7 @@ ) (i32.store (get_local $3) - (get_local $11) + (get_local $7) ) ) (call $_abort) @@ -7637,7 +7648,7 @@ ) ) (i32.store offset=4 - (get_local $7) + (get_local $11) (i32.or (tee_local $0 (i32.shl @@ -7652,8 +7663,8 @@ (tee_local $0 (i32.add (i32.add - (get_local $7) (get_local $0) + (get_local $11) ) (i32.const 4) ) @@ -7683,77 +7694,108 @@ (if (get_local $10) (block - (set_local $7 - (i32.and - (i32.shr_u - (tee_local $3 - (i32.add - (i32.and - (tee_local $3 - (i32.and - (i32.shl - (get_local $10) - (get_local $13) - ) - (i32.or - (tee_local $3 - (i32.shl - (i32.const 2) - (get_local $13) - ) - ) - (i32.sub - (i32.const 0) - (get_local $3) - ) - ) - ) - ) - (i32.sub - (i32.const 0) - (get_local $3) - ) - ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) - (set_local $10 - (i32.load - (tee_local $4 - (i32.add - (tee_local $8 - (i32.load - (tee_local $3 - (i32.add - (tee_local $7 + (if + (i32.eq + (tee_local $8 + (i32.load + (tee_local $4 + (i32.add + (tee_local $10 + (i32.load + (tee_local $3 (i32.add - (i32.shl - (tee_local $11 - (i32.add - (i32.or - (i32.or + (tee_local $7 + (i32.add + (i32.shl + (tee_local $11 + (i32.add (i32.or (i32.or + (i32.or + (i32.or + (tee_local $3 + (i32.and + (i32.shr_u + (tee_local $4 + (i32.add + (i32.and + (tee_local $3 + (i32.and + (i32.or + (tee_local $3 + (i32.shl + (i32.const 2) + (get_local $13) + ) + ) + (i32.sub + (i32.const 0) + (get_local $3) + ) + ) + (i32.shl + (get_local $10) + (get_local $13) + ) + ) + ) + (i32.sub + (i32.const 0) + (get_local $3) + ) + ) + (i32.const -1) + ) + ) + (i32.const 12) + ) + (i32.const 16) + ) + ) + (tee_local $3 + (i32.and + (i32.shr_u + (tee_local $4 + (i32.shr_u + (get_local $4) + (get_local $3) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + ) + (tee_local $3 + (i32.and + (i32.shr_u + (tee_local $4 + (i32.shr_u + (get_local $4) + (get_local $3) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + ) (tee_local $3 (i32.and (i32.shr_u (tee_local $4 (i32.shr_u + (get_local $4) (get_local $3) - (get_local $7) ) ) - (i32.const 5) + (i32.const 1) ) - (i32.const 8) + (i32.const 2) ) ) - (get_local $7) ) (tee_local $3 (i32.and @@ -7764,67 +7806,34 @@ (get_local $3) ) ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $4 - (i32.shr_u - (get_local $4) - (get_local $3) - ) + (i32.const 1) ) (i32.const 1) ) - (i32.const 2) ) ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $4 - (i32.shr_u - (get_local $4) - (get_local $3) - ) - ) - (i32.const 1) - ) - (i32.const 1) + (i32.shr_u + (get_local $4) + (get_local $3) ) ) ) - (i32.shr_u - (get_local $4) - (get_local $3) - ) + (i32.const 3) ) + (i32.const 216) ) - (i32.const 3) ) - (i32.const 216) + (i32.const 8) ) ) - (i32.const 8) ) ) + (i32.const 8) ) ) - (i32.const 8) ) ) - ) - ) - (if - (i32.eq (get_local $7) - (get_local $10) ) (block (i32.store @@ -7847,7 +7856,7 @@ (block (if (i32.lt_u - (get_local $10) + (get_local $8) (i32.load (i32.const 192) ) @@ -7859,12 +7868,12 @@ (i32.load (tee_local $0 (i32.add - (get_local $10) + (get_local $8) (i32.const 12) ) ) ) - (get_local $8) + (get_local $10) ) (block (i32.store @@ -7873,7 +7882,7 @@ ) (i32.store (get_local $3) - (get_local $10) + (get_local $8) ) (set_local $9 (i32.load @@ -7886,7 +7895,7 @@ ) ) (i32.store offset=4 - (get_local $8) + (get_local $10) (i32.or (get_local $2) (i32.const 3) @@ -7895,8 +7904,8 @@ (i32.store offset=4 (tee_local $7 (i32.add - (get_local $8) (get_local $2) + (get_local $10) ) ) (i32.or @@ -7985,8 +7994,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $3) (get_local $0) + (get_local $3) ) ) (set_local $5 @@ -8038,26 +8047,6 @@ ) ) (block - (set_local $7 - (i32.and - (i32.shr_u - (tee_local $0 - (i32.add - (i32.and - (get_local $0) - (i32.sub - (i32.const 0) - (get_local $0) - ) - ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) (set_local $11 (i32.sub (i32.and @@ -8074,9 +8063,29 @@ (i32.and (i32.shr_u (tee_local $1 + (i32.add + (i32.and + (get_local $0) + (i32.sub + (i32.const 0) + (get_local $0) + ) + ) + (i32.const -1) + ) + ) + (i32.const 12) + ) + (i32.const 16) + ) + ) + (tee_local $0 + (i32.and + (i32.shr_u + (tee_local $1 (i32.shr_u + (get_local $1) (get_local $0) - (get_local $7) ) ) (i32.const 5) @@ -8084,7 +8093,6 @@ (i32.const 8) ) ) - (get_local $7) ) (tee_local $0 (i32.and @@ -8228,8 +8236,8 @@ (get_local $8) (tee_local $5 (i32.add - (get_local $8) (get_local $2) + (get_local $8) ) ) ) @@ -8353,6 +8361,7 @@ ) (if (i32.ne + (get_local $8) (i32.load (tee_local $7 (i32.add @@ -8361,7 +8370,6 @@ ) ) ) - (get_local $8) ) (call $_abort) ) @@ -8399,7 +8407,6 @@ (block $do-once8 (if (i32.eq - (get_local $8) (i32.load (tee_local $0 (i32.add @@ -8415,6 +8422,7 @@ ) ) ) + (get_local $8) ) (block (i32.store @@ -8561,8 +8569,8 @@ (i32.or (tee_local $0 (i32.add - (get_local $6) (get_local $2) + (get_local $6) ) ) (i32.const 3) @@ -8572,8 +8580,8 @@ (tee_local $0 (i32.add (i32.add - (get_local $8) (get_local $0) + (get_local $8) ) (i32.const 4) ) @@ -8678,8 +8686,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (set_local $12 @@ -8773,83 +8781,87 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $2) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or - (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) + (block (result i32) + (set_local $4 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) ) + (i32.const 16) ) - (get_local $3) + (i32.const 8) ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (set_local $3 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (get_local $4) + ) + ) + (i32.const 245760) + ) + (i32.const 16) + ) + (i32.const 2) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $2) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or + (i32.or + (get_local $1) + (get_local $4) ) + (get_local $3) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $3) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) ) @@ -8917,8 +8929,8 @@ (set_local $1 (if (result i32) (i32.eq - (get_local $12) (get_local $2) + (get_local $12) ) (block (set_local $1 @@ -9011,15 +9023,20 @@ ) ) ) - (set_local $0 - (i32.const 0) + (block + (set_local $4 + (i32.const 0) + ) + (set_local $0 + (i32.const 0) + ) ) ) (if (i32.eqz (i32.or - (get_local $4) (get_local $0) + (get_local $4) ) ) (block @@ -9047,26 +9064,6 @@ ) ) ) - (set_local $12 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.add - (i32.and - (get_local $1) - (i32.sub - (i32.const 0) - (get_local $1) - ) - ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) (set_local $4 (i32.load offset=480 (i32.shl @@ -9079,9 +9076,29 @@ (i32.and (i32.shr_u (tee_local $4 + (i32.add + (i32.and + (get_local $1) + (i32.sub + (i32.const 0) + (get_local $1) + ) + ) + (i32.const -1) + ) + ) + (i32.const 12) + ) + (i32.const 16) + ) + ) + (tee_local $1 + (i32.and + (i32.shr_u + (tee_local $4 (i32.shr_u + (get_local $4) (get_local $1) - (get_local $12) ) ) (i32.const 5) @@ -9089,7 +9106,6 @@ (i32.const 8) ) ) - (get_local $12) ) (tee_local $1 (i32.and @@ -9252,8 +9268,8 @@ (get_local $4) (tee_local $5 (i32.add - (get_local $4) (get_local $2) + (get_local $4) ) ) ) @@ -9377,6 +9393,7 @@ ) (if (i32.ne + (get_local $4) (i32.load (tee_local $7 (i32.add @@ -9385,7 +9402,6 @@ ) ) ) - (get_local $4) ) (call $_abort) ) @@ -9423,7 +9439,6 @@ (block $do-once21 (if (i32.eq - (get_local $4) (i32.load (tee_local $0 (i32.add @@ -9439,6 +9454,7 @@ ) ) ) + (get_local $4) ) (block (i32.store @@ -9585,8 +9601,8 @@ (i32.or (tee_local $0 (i32.add - (get_local $3) (get_local $2) + (get_local $3) ) ) (i32.const 3) @@ -9596,8 +9612,8 @@ (tee_local $0 (i32.add (i32.add - (get_local $4) (get_local $0) + (get_local $4) ) (i32.const 4) ) @@ -9627,8 +9643,8 @@ ) (i32.store (i32.add - (get_local $5) (get_local $3) + (get_local $5) ) (get_local $3) ) @@ -9697,8 +9713,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (set_local $13 @@ -9748,83 +9764,87 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $3) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or - (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) + (block (result i32) + (set_local $7 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) ) + (i32.const 16) ) - (get_local $2) + (i32.const 8) ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (set_local $2 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (get_local $7) + ) + ) + (i32.const 245760) + ) + (i32.const 16) + ) + (i32.const 2) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $3) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or + (i32.or + (get_local $1) + (get_local $7) ) + (get_local $2) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $2) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) ) @@ -9873,8 +9893,8 @@ (i32.store (i32.const 180) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (i32.store @@ -10100,8 +10120,8 @@ (i32.const 196) (tee_local $1 (i32.add - (get_local $2) (get_local $0) + (get_local $2) ) ) ) @@ -10151,8 +10171,8 @@ (tee_local $0 (i32.add (i32.add - (get_local $2) (get_local $1) + (get_local $2) ) (i32.const 4) ) @@ -10193,15 +10213,15 @@ ) (if (i32.and - (i32.add - (tee_local $1 - (call $_sysconf - (i32.const 30) - ) + (tee_local $1 + (call $_sysconf + (i32.const 30) ) + ) + (i32.add + (get_local $1) (i32.const -1) ) - (get_local $1) ) (call $_abort) (block @@ -10400,33 +10420,36 @@ ) (i32.const 2147483647) ) - (if - (i32.eq - (tee_local $1 - (call $_sbrk - (get_local $3) - ) - ) - (i32.add - (i32.load - (get_local $4) - ) - (i32.load - (get_local $2) - ) + (block + (set_local $1 + (call $_sbrk + (get_local $3) ) ) - (br_if $__rjti$13 - (i32.ne + (if + (i32.eq + (i32.add + (i32.load + (get_local $4) + ) + (i32.load + (get_local $2) + ) + ) (get_local $1) - (i32.const -1) ) - ) - (block - (set_local $2 - (get_local $1) + (br_if $__rjti$13 + (i32.ne + (get_local $1) + (i32.const -1) + ) + ) + (block + (set_local $2 + (get_local $1) + ) + (br $__rjti$5) ) - (br $__rjti$5) ) ) ) @@ -10445,6 +10468,9 @@ (set_local $3 (if (result i32) (i32.and + (tee_local $3 + (get_local $1) + ) (tee_local $2 (i32.add (tee_local $4 @@ -10455,9 +10481,6 @@ (i32.const -1) ) ) - (tee_local $3 - (get_local $1) - ) ) (i32.add (i32.sub @@ -10490,14 +10513,14 @@ ) (if (i32.and - (i32.gt_u - (get_local $3) - (get_local $0) - ) (i32.lt_u (get_local $3) (i32.const 2147483647) ) + (i32.gt_u + (get_local $3) + (get_local $0) + ) ) (block (if @@ -10521,12 +10544,12 @@ ) (br_if $__rjti$13 (i32.eq + (get_local $1) (tee_local $2 (call $_sbrk (get_local $3) ) ) - (get_local $1) ) ) (br $__rjti$5) @@ -10548,19 +10571,19 @@ (set_local $3 (if (result i32) (i32.and - (i32.gt_u - (get_local $10) - (get_local $1) - ) (i32.and - (i32.lt_u - (get_local $1) - (i32.const 2147483647) - ) (i32.ne (get_local $2) (i32.const -1) ) + (i32.lt_u + (get_local $1) + (i32.const 2147483647) + ) + ) + (i32.gt_u + (get_local $10) + (get_local $1) ) ) (if (result i32) @@ -10568,15 +10591,15 @@ (tee_local $3 (i32.and (i32.add - (i32.sub - (get_local $9) - (get_local $1) - ) (tee_local $3 (i32.load (i32.const 656) ) ) + (i32.sub + (get_local $9) + (get_local $1) + ) ) (i32.sub (i32.const 0) @@ -10602,8 +10625,8 @@ (br $label$break$L279) ) (i32.add - (get_local $3) (get_local $1) + (get_local $3) ) ) (get_local $1) @@ -10721,7 +10744,6 @@ (loop $while-in45 (br_if $__rjti$10 (i32.eq - (get_local $1) (i32.add (tee_local $10 (i32.load @@ -10739,6 +10761,7 @@ ) ) ) + (get_local $1) ) ) (br_if $while-in45 @@ -10775,8 +10798,8 @@ (i32.store (get_local $4) (i32.add - (get_local $6) (get_local $3) + (get_local $6) ) ) (set_local $2 @@ -10807,13 +10830,13 @@ ) (set_local $1 (i32.add + (i32.load + (i32.const 188) + ) (i32.sub (get_local $3) (get_local $1) ) - (i32.load - (i32.const 188) - ) ) ) (i32.store @@ -10833,8 +10856,8 @@ ) (i32.store offset=4 (i32.add - (get_local $2) (get_local $1) + (get_local $2) ) (i32.const 40) ) @@ -10939,12 +10962,11 @@ (i32.add (tee_local $12 (i32.add - (get_local $1) (select (i32.and (i32.sub (i32.const 0) - (tee_local $1 + (tee_local $3 (i32.add (get_local $1) (i32.const 8) @@ -10955,10 +10977,11 @@ ) (i32.const 0) (i32.and - (get_local $1) + (get_local $3) (i32.const 7) ) ) + (get_local $1) ) ) (get_local $0) @@ -11005,8 +11028,8 @@ ) (if (i32.eq - (get_local $6) (get_local $5) + (get_local $6) ) (block (i32.store @@ -11035,10 +11058,10 @@ (block $do-once48 (if (i32.eq - (get_local $6) (i32.load (i32.const 196) ) + (get_local $6) ) (block (i32.store @@ -11065,8 +11088,8 @@ ) (i32.store (i32.add - (get_local $9) (get_local $0) + (get_local $9) ) (get_local $0) ) @@ -11176,8 +11199,8 @@ ) (if (i32.eq - (get_local $2) (get_local $0) + (get_local $2) ) (set_local $15 (i32.add @@ -11348,6 +11371,7 @@ ) (if (i32.ne + (get_local $6) (i32.load (tee_local $3 (i32.add @@ -11356,7 +11380,6 @@ ) ) ) - (get_local $6) ) (call $_abort) ) @@ -11396,7 +11419,6 @@ ) (if (i32.eq - (get_local $6) (i32.load (tee_local $0 (i32.add @@ -11412,6 +11434,7 @@ ) ) ) + (get_local $6) ) (block $do-once59 (i32.store @@ -11553,8 +11576,8 @@ ) (set_local $7 (i32.add - (get_local $10) (get_local $7) + (get_local $10) ) ) (i32.add @@ -11584,8 +11607,8 @@ ) (i32.store (i32.add - (get_local $9) (get_local $7) + (get_local $9) ) (get_local $7) ) @@ -11657,8 +11680,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (set_local $16 @@ -11708,83 +11731,87 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $7) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or - (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) + (block (result i32) + (set_local $2 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) ) + (i32.const 16) ) - (get_local $3) + (i32.const 8) ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (set_local $3 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (get_local $2) + ) + ) + (i32.const 245760) + ) + (i32.const 16) + ) + (i32.const 2) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $7) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or + (i32.or + (get_local $1) + (get_local $2) ) + (get_local $3) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $3) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) ) @@ -11833,8 +11860,8 @@ (i32.store (i32.const 180) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (i32.store @@ -12108,7 +12135,6 @@ (i32.const 200) (tee_local $6 (i32.add - (get_local $1) (tee_local $4 (select (i32.and @@ -12130,6 +12156,7 @@ ) ) ) + (get_local $1) ) ) ) @@ -12154,8 +12181,8 @@ ) (i32.store offset=4 (i32.add - (get_local $6) (get_local $4) + (get_local $6) ) (i32.const 40) ) @@ -12242,8 +12269,8 @@ ) (if (i32.ne - (get_local $10) (get_local $5) + (get_local $10) ) (block (i32.store @@ -12336,8 +12363,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $3) (get_local $1) + (get_local $3) ) ) (set_local $17 @@ -12387,83 +12414,87 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $6) - (i32.add - (tee_local $1 - (i32.add - (i32.sub - (i32.const 14) - (i32.or - (i32.or - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $3 - (i32.shl - (get_local $1) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (get_local $1) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) + (block (result i32) + (set_local $4 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $1) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $1) + (i32.const 1048320) ) + (i32.const 16) ) - (get_local $2) + (i32.const 8) ) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $3 - (i32.shl - (get_local $3) - (get_local $1) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (set_local $2 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $1) + (get_local $4) + ) + ) + (i32.const 245760) + ) + (i32.const 16) + ) + (i32.const 2) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $6) + (i32.add + (tee_local $1 + (i32.add + (i32.sub + (i32.const 14) + (i32.or + (i32.or + (get_local $3) + (get_local $4) ) + (get_local $2) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $3) - (get_local $1) + (i32.shr_u + (i32.shl + (get_local $1) + (get_local $2) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $1) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $1) - (i32.const 1) ) ) ) @@ -12507,8 +12538,8 @@ (i32.store (i32.const 180) (i32.or - (get_local $3) (get_local $1) + (get_local $3) ) ) (i32.store @@ -12763,15 +12794,14 @@ ) (i32.store (i32.const 200) - (tee_local $2 + (tee_local $4 (i32.add - (get_local $1) - (tee_local $1 + (tee_local $2 (select (i32.and (i32.sub (i32.const 0) - (tee_local $1 + (tee_local $2 (i32.add (get_local $1) (i32.const 8) @@ -12782,11 +12812,12 @@ ) (i32.const 0) (i32.and - (get_local $1) + (get_local $2) (i32.const 7) ) ) ) + (get_local $1) ) ) ) @@ -12798,12 +12829,12 @@ (get_local $3) (i32.const -40) ) - (get_local $1) + (get_local $2) ) ) ) (i32.store offset=4 - (get_local $2) + (get_local $4) (i32.or (get_local $1) (i32.const 1) @@ -12811,8 +12842,8 @@ ) (i32.store offset=4 (i32.add - (get_local $2) (get_local $1) + (get_local $4) ) (i32.const 40) ) @@ -12990,16 +13021,16 @@ ) (set_local $0 (i32.add - (get_local $8) (get_local $0) + (get_local $8) ) ) (if (i32.eq - (get_local $1) (i32.load (i32.const 196) ) + (get_local $1) ) (block (if @@ -13049,8 +13080,8 @@ ) (i32.store (i32.add - (get_local $1) (get_local $0) + (get_local $1) ) (get_local $0) ) @@ -13101,10 +13132,10 @@ ) (if (i32.ne + (get_local $1) (i32.load offset=12 (get_local $2) ) - (get_local $1) ) (call $_abort) ) @@ -13112,8 +13143,8 @@ ) (if (i32.eq - (get_local $6) (get_local $2) + (get_local $6) ) (block (i32.store @@ -13142,8 +13173,8 @@ ) (if (i32.eq - (get_local $6) (get_local $3) + (get_local $6) ) (set_local $4 (i32.add @@ -13318,6 +13349,7 @@ ) (if (i32.ne + (get_local $1) (i32.load (tee_local $8 (i32.add @@ -13326,7 +13358,6 @@ ) ) ) - (get_local $1) ) (call $_abort) ) @@ -13364,7 +13395,6 @@ (block (if (i32.eq - (get_local $1) (i32.load (tee_local $4 (i32.add @@ -13380,6 +13410,7 @@ ) ) ) + (get_local $1) ) (block (i32.store @@ -13615,10 +13646,10 @@ (block (if (i32.eq - (get_local $7) (i32.load (i32.const 200) ) + (get_local $7) ) (block (i32.store @@ -13665,10 +13696,10 @@ ) (if (i32.eq - (get_local $7) (i32.load (i32.const 196) ) + (get_local $7) ) (block (i32.store @@ -13695,8 +13726,8 @@ ) (i32.store (i32.add - (get_local $2) (get_local $0) + (get_local $2) ) (get_local $0) ) @@ -13759,10 +13790,10 @@ ) (if (i32.ne + (get_local $7) (i32.load offset=12 (get_local $1) ) - (get_local $7) ) (call $_abort) ) @@ -13770,8 +13801,8 @@ ) (if (i32.eq - (get_local $4) (get_local $1) + (get_local $4) ) (block (i32.store @@ -13794,8 +13825,8 @@ ) (if (i32.eq - (get_local $4) (get_local $0) + (get_local $4) ) (set_local $14 (i32.add @@ -13969,6 +14000,7 @@ ) (if (i32.ne + (get_local $7) (i32.load (tee_local $1 (i32.add @@ -13977,7 +14009,6 @@ ) ) ) - (get_local $7) ) (call $_abort) ) @@ -14015,7 +14046,6 @@ (block (if (i32.eq - (get_local $7) (i32.load (tee_local $0 (i32.add @@ -14031,6 +14061,7 @@ ) ) ) + (get_local $7) ) (block (i32.store @@ -14191,10 +14222,10 @@ (set_local $3 (if (result i32) (i32.eq - (get_local $2) (i32.load (i32.const 196) ) + (get_local $2) ) (block (i32.store @@ -14273,8 +14304,8 @@ (i32.store (i32.const 176) (i32.or - (get_local $3) (get_local $0) + (get_local $3) ) ) (set_local $15 @@ -14324,83 +14355,87 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $3) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or - (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $4 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) + (block (result i32) + (set_local $5 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) ) + (i32.const 16) ) - (get_local $4) + (i32.const 8) ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (set_local $4 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $0) + (get_local $5) + ) + ) + (i32.const 245760) + ) + (i32.const 16) + ) + (i32.const 2) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $3) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or + (i32.or + (get_local $1) + (get_local $5) ) + (get_local $4) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $4) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) ) @@ -14598,8 +14633,8 @@ (i32.store (i32.const 180) (i32.or - (get_local $1) (get_local $0) + (get_local $1) ) ) (i32.store @@ -14766,11 +14801,11 @@ (i32.or (i32.or (i32.or - (get_local $1) (i32.shl (get_local $1) (i32.const 8) ) + (get_local $1) ) (i32.shl (get_local $1) @@ -14853,10 +14888,6 @@ ) (return (i32.or - (i32.shr_u - (get_local $0) - (get_local $2) - ) (i32.shl (i32.and (get_local $1) @@ -14873,6 +14904,10 @@ (get_local $2) ) ) + (i32.shr_u + (get_local $0) + (get_local $2) + ) ) ) ) @@ -14903,7 +14938,6 @@ ) (i32.shr_u (i32.and - (get_local $0) (i32.shl (i32.sub (i32.shl @@ -14917,6 +14951,7 @@ (get_local $2) ) ) + (get_local $0) ) (i32.sub (i32.const 32) diff --git a/test/memorygrowth.fromasm b/test/memorygrowth.fromasm index 992ac9c04..46e4beb04 100644 --- a/test/memorygrowth.fromasm +++ b/test/memorygrowth.fromasm @@ -170,13 +170,14 @@ (i32.add (tee_local $13 (i32.load - (tee_local $16 + (tee_local $15 (i32.add (tee_local $9 (i32.add (i32.shl (tee_local $0 (i32.add + (get_local $0) (i32.xor (i32.and (get_local $6) @@ -184,7 +185,6 @@ ) (i32.const 1) ) - (get_local $0) ) ) (i32.const 3) @@ -204,13 +204,12 @@ ) (if (i32.eq - (get_local $9) (get_local $7) + (get_local $9) ) (i32.store (i32.const 1208) (i32.and - (get_local $5) (i32.xor (i32.shl (i32.const 1) @@ -218,6 +217,7 @@ ) (i32.const -1) ) + (get_local $5) ) ) (block @@ -232,6 +232,7 @@ ) (if (i32.eq + (get_local $13) (i32.load (tee_local $8 (i32.add @@ -240,7 +241,6 @@ ) ) ) - (get_local $13) ) (block (i32.store @@ -248,7 +248,7 @@ (get_local $9) ) (i32.store - (get_local $16) + (get_local $15) (get_local $7) ) ) @@ -269,18 +269,18 @@ ) ) (i32.store - (tee_local $16 + (tee_local $15 (i32.add (i32.add - (get_local $13) (get_local $7) + (get_local $13) ) (i32.const 4) ) ) (i32.or (i32.load - (get_local $16) + (get_local $15) ) (i32.const 1) ) @@ -296,7 +296,7 @@ (if (result i32) (i32.gt_u (get_local $2) - (tee_local $16 + (tee_local $15 (i32.load (i32.const 1216) ) @@ -312,30 +312,30 @@ (tee_local $7 (i32.add (i32.and - (tee_local $9 - (i32.and - (i32.shl - (get_local $6) - (get_local $0) - ) - (i32.or - (tee_local $7 - (i32.shl - (i32.const 2) - (get_local $0) + (i32.sub + (i32.const 0) + (tee_local $9 + (i32.and + (i32.or + (i32.sub + (i32.const 0) + (tee_local $7 + (i32.shl + (i32.const 2) + (get_local $0) + ) + ) ) - ) - (i32.sub - (i32.const 0) (get_local $7) ) + (i32.shl + (get_local $6) + (get_local $0) + ) ) ) ) - (i32.sub - (i32.const 0) - (get_local $9) - ) + (get_local $9) ) (i32.const -1) ) @@ -345,115 +345,116 @@ (i32.const 16) ) ) - (set_local $9 - (i32.load - (tee_local $8 - (i32.add - (tee_local $10 - (i32.load - (tee_local $13 - (i32.add - (tee_local $3 + (set_local $7 + (i32.and + (i32.shr_u + (tee_local $8 + (i32.shr_u + (get_local $7) + (get_local $9) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $8 + (i32.and + (i32.shr_u + (tee_local $10 + (i32.shr_u + (get_local $8) + (get_local $7) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $10 + (i32.and + (i32.shr_u + (tee_local $3 + (i32.shr_u + (get_local $10) + (get_local $8) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) + (if + (i32.eq + (tee_local $9 + (i32.load + (tee_local $8 + (i32.add + (tee_local $10 + (i32.load + (tee_local $13 (i32.add - (i32.shl - (tee_local $4 - (i32.add - (i32.or - (i32.or + (tee_local $3 + (i32.add + (i32.shl + (tee_local $4 + (i32.add (i32.or - (i32.or - (tee_local $7 - (i32.and - (i32.shr_u - (tee_local $8 - (i32.shr_u - (get_local $7) - (get_local $9) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $9) - ) - (tee_local $8 + (tee_local $3 (i32.and (i32.shr_u - (tee_local $10 + (tee_local $13 (i32.shr_u - (get_local $8) - (get_local $7) + (get_local $3) + (get_local $10) ) ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $10 - (i32.and - (i32.shr_u - (tee_local $3 - (i32.shr_u - (get_local $10) - (get_local $8) - ) + (i32.const 1) ) (i32.const 1) ) - (i32.const 2) ) - ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $13 - (i32.shr_u - (get_local $3) - (get_local $10) + (i32.or + (get_local $10) + (i32.or + (get_local $8) + (i32.or + (get_local $7) + (get_local $9) ) ) - (i32.const 1) ) - (i32.const 1) + ) + (i32.shr_u + (get_local $13) + (get_local $3) ) ) ) - (i32.shr_u - (get_local $13) - (get_local $3) - ) + (i32.const 3) ) + (i32.const 1248) ) - (i32.const 3) ) - (i32.const 1248) + (i32.const 8) ) ) - (i32.const 8) ) ) + (i32.const 8) ) ) - (i32.const 8) ) ) - ) - ) - (if - (i32.eq (get_local $3) - (get_local $9) ) (block (i32.store (i32.const 1208) (i32.and - (get_local $5) (i32.xor (i32.shl (i32.const 1) @@ -461,10 +462,11 @@ ) (i32.const -1) ) + (get_local $5) ) ) (set_local $34 - (get_local $16) + (get_local $15) ) ) (block @@ -479,6 +481,7 @@ ) (if (i32.eq + (get_local $10) (i32.load (tee_local $7 (i32.add @@ -487,7 +490,6 @@ ) ) ) - (get_local $10) ) (block (i32.store @@ -518,8 +520,8 @@ (i32.store offset=4 (tee_local $13 (i32.add - (get_local $10) (get_local $2) + (get_local $10) ) ) (i32.or @@ -537,8 +539,8 @@ ) (i32.store (i32.add - (get_local $13) (get_local $9) + (get_local $13) ) (get_local $9) ) @@ -553,7 +555,7 @@ (set_local $5 (i32.add (i32.shl - (tee_local $16 + (tee_local $15 (i32.shr_u (get_local $34) (i32.const 3) @@ -574,7 +576,7 @@ (tee_local $6 (i32.shl (i32.const 1) - (get_local $16) + (get_local $15) ) ) ) @@ -670,11 +672,11 @@ (tee_local $9 (i32.add (i32.and - (get_local $13) (i32.sub (i32.const 0) (get_local $13) ) + (get_local $13) ) (i32.const -1) ) @@ -684,65 +686,58 @@ (i32.const 16) ) ) + (set_local $9 + (i32.and + (i32.shr_u + (tee_local $5 + (i32.shr_u + (get_local $9) + (get_local $13) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $5 + (i32.and + (i32.shr_u + (tee_local $3 + (i32.shr_u + (get_local $5) + (get_local $9) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $3 + (i32.and + (i32.shr_u + (tee_local $0 + (i32.shr_u + (get_local $3) + (get_local $5) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) (set_local $0 (i32.sub (i32.and (i32.load offset=4 - (tee_local $16 + (tee_local $15 (i32.load (i32.add (i32.shl (i32.add (i32.or - (i32.or - (i32.or - (i32.or - (tee_local $9 - (i32.and - (i32.shr_u - (tee_local $5 - (i32.shr_u - (get_local $9) - (get_local $13) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $13) - ) - (tee_local $5 - (i32.and - (i32.shr_u - (tee_local $3 - (i32.shr_u - (get_local $5) - (get_local $9) - ) - ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $0 - (i32.shr_u - (get_local $3) - (get_local $5) - ) - ) - (i32.const 1) - ) - (i32.const 2) - ) - ) - ) (tee_local $0 (i32.and (i32.shr_u @@ -757,6 +752,16 @@ (i32.const 1) ) ) + (i32.or + (get_local $3) + (i32.or + (get_local $5) + (i32.or + (get_local $9) + (get_local $13) + ) + ) + ) ) (i32.shr_u (get_local $6) @@ -777,25 +782,25 @@ ) (set_local $3 (tee_local $6 - (get_local $16) + (get_local $15) ) ) (loop $while-in (block $while-out (set_local $5 (i32.lt_u - (tee_local $16 + (tee_local $15 (i32.sub (i32.and (i32.load offset=4 (tee_local $6 (if (result i32) - (tee_local $16 + (tee_local $15 (i32.load offset=16 (get_local $6) ) ) - (get_local $16) + (get_local $15) (if (result i32) (tee_local $5 (i32.load offset=20 @@ -826,7 +831,7 @@ ) (set_local $0 (select - (get_local $16) + (get_local $15) (get_local $0) (get_local $5) ) @@ -891,7 +896,7 @@ ) ) (block - (set_local $16 + (set_local $15 (get_local $4) ) (set_local $5 @@ -900,7 +905,7 @@ ) (br_if $do-once4 (i32.eqz - (tee_local $16 + (tee_local $15 (i32.load (tee_local $5 (i32.add @@ -919,14 +924,14 @@ (i32.load (tee_local $10 (i32.add - (get_local $16) + (get_local $15) (i32.const 20) ) ) ) ) (block - (set_local $16 + (set_local $15 (get_local $4) ) (set_local $5 @@ -940,14 +945,14 @@ (i32.load (tee_local $10 (i32.add - (get_local $16) + (get_local $15) (i32.const 16) ) ) ) ) (block - (set_local $16 + (set_local $15 (get_local $4) ) (set_local $5 @@ -969,7 +974,7 @@ (i32.const 0) ) (set_local $23 - (get_local $16) + (get_local $15) ) ) ) @@ -988,6 +993,7 @@ ) (if (i32.ne + (get_local $1) (i32.load (tee_local $4 (i32.add @@ -996,12 +1002,12 @@ ) ) ) - (get_local $1) ) (call $qa) ) (if (i32.eq + (get_local $1) (i32.load (tee_local $5 (i32.add @@ -1010,7 +1016,6 @@ ) ) ) - (get_local $1) ) (block (i32.store @@ -1034,7 +1039,6 @@ (block $do-once8 (if (i32.eq - (get_local $1) (i32.load (tee_local $3 (i32.add @@ -1050,6 +1054,7 @@ ) ) ) + (get_local $1) ) (block (i32.store @@ -1092,6 +1097,7 @@ ) (if (i32.eq + (get_local $1) (i32.load (tee_local $8 (i32.add @@ -1100,7 +1106,6 @@ ) ) ) - (get_local $1) ) (i32.store (get_local $8) @@ -1196,8 +1201,8 @@ (i32.or (tee_local $0 (i32.add - (get_local $7) (get_local $2) + (get_local $7) ) ) (i32.const 3) @@ -1207,8 +1212,8 @@ (tee_local $3 (i32.add (i32.add - (get_local $1) (get_local $0) + (get_local $1) ) (i32.const 4) ) @@ -1271,17 +1276,17 @@ ) (if (i32.and - (tee_local $10 - (i32.load - (i32.const 1208) - ) - ) (tee_local $5 (i32.shl (i32.const 1) (get_local $8) ) ) + (tee_local $10 + (i32.load + (i32.const 1208) + ) + ) ) (if (i32.lt_u @@ -1313,8 +1318,8 @@ (i32.store (i32.const 1208) (i32.or - (get_local $10) (get_local $5) + (get_local $10) ) ) (set_local $41 @@ -1422,83 +1427,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $0) - (i32.add - (tee_local $13 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $8 + (i32.and + (i32.shr_u + (i32.add + (tee_local $4 + (i32.shl + (get_local $8) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $8) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $0) + (i32.add + (tee_local $13 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $8 + (tee_local $4 (i32.and (i32.shr_u (i32.add - (tee_local $4 + (tee_local $15 (i32.shl + (get_local $4) (get_local $8) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $8) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $3) - ) - (tee_local $4 - (i32.and - (i32.shr_u - (i32.add - (tee_local $16 - (i32.shl - (get_local $4) - (get_local $8) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $3) + (get_local $8) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $16) - (get_local $4) + (i32.shr_u + (i32.shl + (get_local $15) + (get_local $4) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $13) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $13) - (i32.const 1) ) ) ) @@ -1515,7 +1523,7 @@ (set_local $4 (get_local $5) ) - (set_local $16 + (set_local $15 (i32.const 0) ) (set_local $3 @@ -1561,8 +1569,8 @@ (set_local $4 (if (result i32) (i32.eq - (get_local $2) (get_local $0) + (get_local $2) ) (block (set_local $29 @@ -1590,7 +1598,7 @@ ) (set_local $2 (select - (get_local $16) + (get_local $15) (tee_local $13 (i32.load offset=20 (get_local $8) @@ -1643,7 +1651,7 @@ (get_local $2) ) (block - (set_local $16 + (set_local $15 (get_local $2) ) (set_local $3 @@ -1693,19 +1701,19 @@ (i32.eqz (tee_local $5 (i32.and - (get_local $10) (i32.or - (tee_local $13 - (i32.shl - (i32.const 2) - (get_local $27) - ) - ) (i32.sub (i32.const 0) - (get_local $13) + (tee_local $13 + (i32.shl + (i32.const 2) + (get_local $27) + ) + ) ) + (get_local $13) ) + (get_local $10) ) ) ) @@ -1717,11 +1725,11 @@ (tee_local $13 (i32.add (i32.and - (get_local $5) (i32.sub (i32.const 0) (get_local $5) ) + (get_local $5) ) (i32.const -1) ) @@ -1731,60 +1739,53 @@ (i32.const 16) ) ) + (set_local $13 + (i32.and + (i32.shr_u + (tee_local $2 + (i32.shr_u + (get_local $13) + (get_local $5) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $2 + (i32.and + (i32.shr_u + (tee_local $6 + (i32.shr_u + (get_local $2) + (get_local $13) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $6 + (i32.and + (i32.shr_u + (tee_local $9 + (i32.shr_u + (get_local $6) + (get_local $2) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) (i32.load (i32.add (i32.shl (i32.add (i32.or - (i32.or - (i32.or - (i32.or - (tee_local $13 - (i32.and - (i32.shr_u - (tee_local $2 - (i32.shr_u - (get_local $13) - (get_local $5) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $5) - ) - (tee_local $2 - (i32.and - (i32.shr_u - (tee_local $6 - (i32.shr_u - (get_local $2) - (get_local $13) - ) - ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $6 - (i32.and - (i32.shr_u - (tee_local $9 - (i32.shr_u - (get_local $6) - (get_local $2) - ) - ) - (i32.const 1) - ) - (i32.const 2) - ) - ) - ) (tee_local $9 (i32.and (i32.shr_u @@ -1799,6 +1800,16 @@ (i32.const 1) ) ) + (i32.or + (get_local $6) + (i32.or + (get_local $2) + (i32.or + (get_local $5) + (get_local $13) + ) + ) + ) ) (i32.shr_u (get_local $3) @@ -1950,8 +1961,8 @@ (get_local $11) (tee_local $9 (i32.add - (get_local $11) (get_local $0) + (get_local $11) ) ) ) @@ -1985,13 +1996,13 @@ ) ) (block (result i32) - (set_local $16 + (set_local $15 (get_local $5) ) (get_local $2) ) (if (result i32) - (tee_local $16 + (tee_local $15 (i32.load (tee_local $13 (i32.add @@ -2012,14 +2023,14 @@ (i32.load (tee_local $2 (i32.add - (get_local $16) + (get_local $15) (i32.const 20) ) ) ) ) (block - (set_local $16 + (set_local $15 (get_local $5) ) (set_local $4 @@ -2033,14 +2044,14 @@ (i32.load (tee_local $2 (i32.add - (get_local $16) + (get_local $15) (i32.const 16) ) ) ) ) (block - (set_local $16 + (set_local $15 (get_local $5) ) (set_local $4 @@ -2062,7 +2073,7 @@ (i32.const 0) ) (set_local $22 - (get_local $16) + (get_local $15) ) ) ) @@ -2081,6 +2092,7 @@ ) (if (i32.ne + (get_local $11) (i32.load (tee_local $5 (i32.add @@ -2089,12 +2101,12 @@ ) ) ) - (get_local $11) ) (call $qa) ) (if (i32.eq + (get_local $11) (i32.load (tee_local $13 (i32.add @@ -2103,7 +2115,6 @@ ) ) ) - (get_local $11) ) (block (i32.store @@ -2127,7 +2138,6 @@ (block $do-once21 (if (i32.eq - (get_local $11) (i32.load (tee_local $10 (i32.add @@ -2143,6 +2153,7 @@ ) ) ) + (get_local $11) ) (block (i32.store @@ -2185,6 +2196,7 @@ ) (if (i32.eq + (get_local $11) (i32.load (tee_local $3 (i32.add @@ -2193,7 +2205,6 @@ ) ) ) - (get_local $11) ) (i32.store (get_local $3) @@ -2289,8 +2300,8 @@ (i32.or (tee_local $6 (i32.add - (get_local $18) (get_local $0) + (get_local $18) ) ) (i32.const 3) @@ -2300,8 +2311,8 @@ (tee_local $10 (i32.add (i32.add - (get_local $11) (get_local $6) + (get_local $11) ) (i32.const 4) ) @@ -2359,17 +2370,17 @@ ) (if (i32.and - (tee_local $3 - (i32.load - (i32.const 1208) - ) - ) (tee_local $2 (i32.shl (i32.const 1) (get_local $10) ) ) + (tee_local $3 + (i32.load + (i32.const 1208) + ) + ) ) (if (i32.lt_u @@ -2401,8 +2412,8 @@ (i32.store (i32.const 1208) (i32.or - (get_local $3) (get_local $2) + (get_local $3) ) ) (set_local $19 @@ -2452,83 +2463,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $18) - (i32.add - (tee_local $13 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $6 + (i32.and + (i32.shr_u + (i32.add + (tee_local $2 + (i32.shl + (get_local $6) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $6) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $18) + (i32.add + (tee_local $13 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $6 + (tee_local $2 (i32.and (i32.shr_u (i32.add - (tee_local $2 + (tee_local $10 (i32.shl + (get_local $2) (get_local $6) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $6) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $3) - ) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (tee_local $10 - (i32.shl - (get_local $2) - (get_local $6) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $3) + (get_local $6) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $10) - (get_local $2) + (i32.shr_u + (i32.shl + (get_local $10) + (get_local $2) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $13) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $13) - (i32.const 1) ) ) ) @@ -2631,13 +2645,13 @@ (block $while-out27 (result i32) (if (i32.eq + (get_local $18) (i32.and (i32.load offset=4 (get_local $2) ) (i32.const -8) ) - (get_local $18) ) (block (set_local $17 @@ -2684,7 +2698,7 @@ (set_local $21 (get_local $13) ) - (set_local $15 + (set_local $16 (get_local $2) ) (i32.const 145) @@ -2710,7 +2724,7 @@ ) (i32.store offset=24 (get_local $9) - (get_local $15) + (get_local $16) ) (i32.store offset=12 (get_local $9) @@ -2811,7 +2825,7 @@ (get_local $6) ) (block - (set_local $15 + (set_local $16 (i32.load (i32.const 1228) ) @@ -2831,8 +2845,8 @@ (i32.const 1228) (tee_local $21 (i32.add - (get_local $15) (get_local $6) + (get_local $16) ) ) ) @@ -2849,13 +2863,13 @@ ) (i32.store (i32.add - (get_local $21) (get_local $17) + (get_local $21) ) (get_local $17) ) (i32.store offset=4 - (get_local $15) + (get_local $16) (i32.or (get_local $6) (i32.const 3) @@ -2872,7 +2886,7 @@ (i32.const 0) ) (i32.store offset=4 - (get_local $15) + (get_local $16) (i32.or (get_local $11) (i32.const 3) @@ -2882,8 +2896,8 @@ (tee_local $17 (i32.add (i32.add - (get_local $15) (get_local $11) + (get_local $16) ) (i32.const 4) ) @@ -2902,7 +2916,7 @@ ) (if (i32.gt_u - (tee_local $15 + (tee_local $16 (i32.load (i32.const 1220) ) @@ -2914,7 +2928,7 @@ (i32.const 1220) (tee_local $17 (i32.sub - (get_local $15) + (get_local $16) (get_local $6) ) ) @@ -2923,12 +2937,12 @@ (i32.const 1232) (tee_local $11 (i32.add - (tee_local $15 + (get_local $6) + (tee_local $16 (i32.load (i32.const 1232) ) ) - (get_local $6) ) ) ) @@ -2940,7 +2954,7 @@ ) ) (i32.store offset=4 - (get_local $15) + (get_local $16) (i32.or (get_local $6) (i32.const 3) @@ -2982,7 +2996,7 @@ ) (i32.store (get_local $14) - (tee_local $15 + (tee_local $16 (i32.xor (i32.and (get_local $14) @@ -2994,11 +3008,11 @@ ) (i32.store (i32.const 1680) - (get_local $15) + (get_local $16) ) ) ) - (set_local $15 + (set_local $16 (i32.add (get_local $6) (i32.const 48) @@ -3053,12 +3067,12 @@ (i32.le_u (tee_local $7 (i32.add + (get_local $14) (tee_local $3 (i32.load (i32.const 1640) ) ) - (get_local $14) ) ) (get_local $3) @@ -3114,7 +3128,6 @@ (if (i32.gt_u (i32.add - (get_local $3) (i32.load (tee_local $19 (i32.add @@ -3123,6 +3136,7 @@ ) ) ) + (get_local $3) ) (get_local $18) ) @@ -3154,61 +3168,64 @@ (i32.lt_u (tee_local $7 (i32.and + (get_local $21) (i32.sub (get_local $11) (i32.load (i32.const 1220) ) ) - (get_local $21) ) ) (i32.const 2147483647) ) - (if - (i32.eq - (tee_local $19 - (call $ta - (get_local $7) - ) - ) - (i32.add - (i32.load - (get_local $0) - ) - (i32.load - (get_local $5) - ) + (block + (set_local $19 + (call $ta + (get_local $7) ) ) (if - (i32.ne + (i32.eq + (i32.add + (i32.load + (get_local $0) + ) + (i32.load + (get_local $5) + ) + ) (get_local $19) - (i32.const -1) + ) + (if + (i32.ne + (get_local $19) + (i32.const -1) + ) + (block + (set_local $20 + (get_local $19) + ) + (set_local $26 + (get_local $7) + ) + (br $label$break$b + (i32.const 191) + ) + ) ) (block - (set_local $20 + (set_local $12 (get_local $19) ) - (set_local $26 + (set_local $1 (get_local $7) ) - (br $label$break$b - (i32.const 191) + (set_local $8 + (i32.const 181) ) ) ) - (block - (set_local $12 - (get_local $19) - ) - (set_local $1 - (get_local $7) - ) - (set_local $8 - (i32.const 181) - ) - ) ) ) ) @@ -3234,6 +3251,9 @@ (set_local $2 (if (result i32) (i32.and + (tee_local $0 + (get_local $18) + ) (tee_local $19 (i32.add (tee_local $7 @@ -3244,9 +3264,6 @@ (i32.const -1) ) ) - (tee_local $0 - (get_local $18) - ) ) (i32.add (i32.sub @@ -3255,8 +3272,8 @@ ) (i32.and (i32.add - (get_local $19) (get_local $0) + (get_local $19) ) (i32.sub (i32.const 0) @@ -3279,14 +3296,14 @@ ) (if (i32.and - (i32.gt_u - (get_local $2) - (get_local $6) - ) (i32.lt_u (get_local $2) (i32.const 2147483647) ) + (i32.gt_u + (get_local $2) + (get_local $6) + ) ) (block (if @@ -3311,12 +3328,12 @@ (set_local $1 (if (result i32) (i32.eq + (get_local $18) (tee_local $19 (call $ta (get_local $2) ) ) - (get_local $18) ) (block (set_local $20 @@ -3360,19 +3377,19 @@ (set_local $4 (if (result i32) (i32.and - (i32.gt_u - (get_local $15) - (get_local $1) - ) (i32.and - (i32.lt_u - (get_local $1) - (i32.const 2147483647) - ) (i32.ne (get_local $12) (i32.const -1) ) + (i32.lt_u + (get_local $1) + (i32.const 2147483647) + ) + ) + (i32.gt_u + (get_local $16) + (get_local $1) ) ) (if (result i32) @@ -3380,15 +3397,15 @@ (tee_local $0 (i32.and (i32.add - (i32.sub - (get_local $17) - (get_local $1) - ) (tee_local $18 (i32.load (i32.const 1688) ) ) + (i32.sub + (get_local $17) + (get_local $1) + ) ) (i32.sub (i32.const 0) @@ -3464,28 +3481,28 @@ ) (if (i32.and - (i32.lt_u - (tee_local $4 - (call $ta - (get_local $14) - ) - ) - (tee_local $14 - (call $ta - (i32.const 0) - ) - ) - ) (i32.and (i32.ne - (get_local $4) + (tee_local $4 + (call $ta + (get_local $14) + ) + ) (i32.const -1) ) (i32.ne - (get_local $14) + (tee_local $14 + (call $ta + (i32.const 0) + ) + ) (i32.const -1) ) ) + (i32.lt_u + (get_local $4) + (get_local $14) + ) ) (if (i32.gt_u @@ -3525,10 +3542,10 @@ (i32.const 1640) (tee_local $12 (i32.add + (get_local $26) (i32.load (i32.const 1640) ) - (get_local $26) ) ) ) @@ -3558,13 +3575,7 @@ (block $do-out40 (if (i32.eq - (get_local $20) (i32.add - (tee_local $4 - (i32.load - (get_local $1) - ) - ) (tee_local $17 (i32.load (tee_local $14 @@ -3575,7 +3586,13 @@ ) ) ) + (tee_local $4 + (i32.load + (get_local $1) + ) + ) ) + (get_local $20) ) (block (set_local $48 @@ -3634,13 +3651,12 @@ (i32.store (get_local $49) (i32.add - (get_local $50) (get_local $26) + (get_local $50) ) ) (set_local $1 (i32.add - (get_local $12) (tee_local $17 (select (i32.and @@ -3662,17 +3678,18 @@ ) ) ) + (get_local $12) ) ) (set_local $14 (i32.add + (i32.load + (i32.const 1220) + ) (i32.sub (get_local $26) (get_local $17) ) - (i32.load - (i32.const 1220) - ) ) ) (i32.store @@ -3708,7 +3725,7 @@ ) ) ) - (set_local $16 + (set_local $15 (if (result i32) (i32.lt_u (get_local $20) @@ -3741,10 +3758,10 @@ (block $while-out42 (if (i32.eq + (get_local $14) (i32.load (get_local $1) ) - (get_local $14) ) (block (set_local $52 @@ -3798,15 +3815,14 @@ ) ) (i32.add + (get_local $26) (i32.load (get_local $1) ) - (get_local $26) ) ) (set_local $17 (i32.add - (get_local $20) (select (i32.and (i32.sub @@ -3826,11 +3842,11 @@ (i32.const 7) ) ) + (get_local $20) ) ) (set_local $4 (i32.add - (get_local $14) (select (i32.and (i32.sub @@ -3850,15 +3866,16 @@ (i32.const 7) ) ) + (get_local $14) ) ) (set_local $1 (i32.add - (get_local $17) (get_local $6) + (get_local $17) ) ) - (set_local $15 + (set_local $16 (i32.sub (i32.sub (get_local $4) @@ -3884,10 +3901,10 @@ (i32.const 1220) (tee_local $2 (i32.add + (get_local $16) (i32.load (i32.const 1220) ) - (get_local $15) ) ) ) @@ -3906,20 +3923,20 @@ (block $do-once44 (if (i32.eq - (get_local $4) (i32.load (i32.const 1228) ) + (get_local $4) ) (block (i32.store (i32.const 1216) (tee_local $2 (i32.add + (get_local $16) (i32.load (i32.const 1216) ) - (get_local $15) ) ) ) @@ -3983,11 +4000,6 @@ ) (if (i32.ne - (tee_local $21 - (i32.load offset=8 - (get_local $4) - ) - ) (tee_local $19 (i32.add (i32.shl @@ -3997,21 +4009,26 @@ (i32.const 1248) ) ) + (tee_local $21 + (i32.load offset=8 + (get_local $4) + ) + ) ) (block $do-once47 (if (i32.lt_u (get_local $21) - (get_local $16) + (get_local $15) ) (call $qa) ) (br_if $do-once47 (i32.eq + (get_local $4) (i32.load offset=12 (get_local $21) ) - (get_local $4) ) ) (call $qa) @@ -4056,12 +4073,13 @@ (if (i32.lt_u (get_local $11) - (get_local $16) + (get_local $15) ) (call $qa) ) (if (i32.eq + (get_local $4) (i32.load (tee_local $0 (i32.add @@ -4070,7 +4088,6 @@ ) ) ) - (get_local $4) ) (block (set_local $43 @@ -4193,7 +4210,7 @@ (if (i32.lt_u (get_local $0) - (get_local $16) + (get_local $15) ) (call $qa) (block @@ -4215,12 +4232,13 @@ (get_local $4) ) ) - (get_local $16) + (get_local $15) ) (call $qa) ) (if (i32.ne + (get_local $4) (i32.load (tee_local $3 (i32.add @@ -4229,12 +4247,12 @@ ) ) ) - (get_local $4) ) (call $qa) ) (if (i32.eq + (get_local $4) (i32.load (tee_local $18 (i32.add @@ -4243,7 +4261,6 @@ ) ) ) - (get_local $4) ) (block (i32.store @@ -4269,7 +4286,6 @@ ) (if (i32.eq - (get_local $4) (i32.load (tee_local $21 (i32.add @@ -4285,6 +4301,7 @@ ) ) ) + (get_local $4) ) (block $do-once55 (i32.store @@ -4323,6 +4340,7 @@ ) (if (i32.eq + (get_local $4) (i32.load (tee_local $11 (i32.add @@ -4331,7 +4349,6 @@ ) ) ) - (get_local $4) ) (i32.store (get_local $11) @@ -4430,10 +4447,10 @@ (get_local $5) ) ) - (set_local $15 + (set_local $16 (i32.add (get_local $5) - (get_local $15) + (get_local $16) ) ) ) @@ -4455,26 +4472,26 @@ (i32.store offset=4 (get_local $1) (i32.or - (get_local $15) + (get_local $16) (i32.const 1) ) ) (i32.store (i32.add (get_local $1) - (get_local $15) + (get_local $16) ) - (get_local $15) + (get_local $16) ) (set_local $0 (i32.shr_u - (get_local $15) + (get_local $16) (i32.const 3) ) ) (if (i32.lt_u - (get_local $15) + (get_local $16) (i32.const 256) ) (block @@ -4489,17 +4506,17 @@ ) (if (i32.and - (tee_local $11 - (i32.load - (i32.const 1208) - ) - ) (tee_local $0 (i32.shl (i32.const 1) (get_local $0) ) ) + (tee_local $11 + (i32.load + (i32.const 1208) + ) + ) ) (block $do-once59 (if @@ -4534,8 +4551,8 @@ (i32.store (i32.const 1208) (i32.or - (get_local $11) (get_local $0) + (get_local $11) ) ) (set_local $44 @@ -4575,93 +4592,96 @@ (if (result i32) (tee_local $0 (i32.shr_u - (get_local $15) + (get_local $16) (i32.const 8) ) ) (if (result i32) (i32.gt_u - (get_local $15) + (get_local $16) (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $15) - (i32.add - (tee_local $7 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $19 + (i32.and + (i32.shr_u + (i32.add + (tee_local $5 + (i32.shl + (get_local $0) + (tee_local $11 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $16) + (i32.add + (tee_local $7 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $19 + (tee_local $5 (i32.and (i32.shr_u (i32.add - (tee_local $5 + (tee_local $0 (i32.shl - (get_local $0) - (tee_local $11 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) + (get_local $5) + (get_local $19) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $11) - ) - (tee_local $5 - (i32.and - (i32.shr_u - (i32.add - (tee_local $0 - (i32.shl - (get_local $5) - (get_local $19) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $11) + (get_local $19) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $0) - (get_local $5) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $5) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $7) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $7) - (i32.const 1) ) ) ) @@ -4693,17 +4713,17 @@ (if (i32.eqz (i32.and - (tee_local $2 - (i32.load - (i32.const 1212) - ) - ) (tee_local $7 (i32.shl (i32.const 1) (get_local $5) ) ) + (tee_local $2 + (i32.load + (i32.const 1212) + ) + ) ) ) (block @@ -4735,7 +4755,7 @@ ) (set_local $7 (i32.shl - (get_local $15) + (get_local $16) (select (i32.const 0) (i32.sub @@ -4764,13 +4784,13 @@ (block $while-out63 (result i32) (if (i32.eq + (get_local $16) (i32.and (i32.load offset=4 (get_local $2) ) (i32.const -8) ) - (get_local $15) ) (block (set_local $38 @@ -4938,19 +4958,19 @@ ) (if (i32.gt_u - (tee_local $15 + (tee_local $16 (i32.add - (get_local $1) (i32.load offset=4 (get_local $30) ) + (get_local $1) ) ) (get_local $12) ) (block (set_local $0 - (get_local $15) + (get_local $16) ) (br $while-out65) ) @@ -4964,17 +4984,6 @@ (br $while-in66) ) ) - (set_local $15 - (i32.add - (tee_local $17 - (i32.add - (get_local $0) - (i32.const -47) - ) - ) - (i32.const 8) - ) - ) (set_local $1 (i32.add (tee_local $17 @@ -4982,26 +4991,36 @@ (get_local $12) (tee_local $1 (i32.add - (get_local $17) (select (i32.and (i32.sub (i32.const 0) - (get_local $15) + (tee_local $16 + (i32.add + (tee_local $17 + (i32.add + (get_local $0) + (i32.const -47) + ) + ) + (i32.const 8) + ) + ) ) (i32.const 7) ) (i32.const 0) (i32.and - (get_local $15) + (get_local $16) (i32.const 7) ) ) + (get_local $17) ) ) (i32.lt_u (get_local $1) - (tee_local $15 + (tee_local $16 (i32.add (get_local $12) (i32.const 16) @@ -5017,7 +5036,6 @@ (i32.const 1232) (tee_local $4 (i32.add - (get_local $20) (tee_local $14 (select (i32.and @@ -5039,6 +5057,7 @@ ) ) ) + (get_local $20) ) ) ) @@ -5151,8 +5170,8 @@ ) (if (i32.ne - (get_local $17) (get_local $12) + (get_local $17) ) (block (i32.store @@ -5203,17 +5222,17 @@ ) (if (i32.and - (tee_local $2 - (i32.load - (i32.const 1208) - ) - ) (tee_local $5 (i32.shl (i32.const 1) (get_local $4) ) ) + (tee_local $2 + (i32.load + (i32.const 1208) + ) + ) ) (if (i32.lt_u @@ -5296,83 +5315,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $1) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $14 + (i32.and + (i32.shr_u + (i32.add + (tee_local $5 + (i32.shl + (get_local $14) + (tee_local $2 + (i32.and + (i32.shr_u + (i32.add + (get_local $14) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $1) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $14 + (tee_local $5 (i32.and (i32.shr_u (i32.add - (tee_local $5 + (tee_local $4 (i32.shl + (get_local $5) (get_local $14) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (get_local $14) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $2) - ) - (tee_local $5 - (i32.and - (i32.shr_u - (i32.add - (tee_local $4 - (i32.shl - (get_local $5) - (get_local $14) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $2) + (get_local $14) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $4) - (get_local $5) + (i32.shr_u + (i32.shl + (get_local $4) + (get_local $5) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) ) @@ -5393,7 +5415,7 @@ (i32.const 0) ) (i32.store - (get_local $15) + (get_local $16) (i32.const 0) ) (if @@ -5416,8 +5438,8 @@ (i32.store (i32.const 1212) (i32.or - (get_local $5) (get_local $4) + (get_local $5) ) ) (i32.store @@ -5470,13 +5492,13 @@ (block $while-out69 (result i32) (if (i32.eq + (get_local $1) (i32.and (i32.load offset=4 (get_local $5) ) (i32.const -8) ) - (get_local $1) ) (block (set_local $31 @@ -5697,7 +5719,6 @@ (i32.const 1232) (tee_local $4 (i32.add - (get_local $20) (tee_local $14 (select (i32.and @@ -5719,6 +5740,7 @@ ) ) ) + (get_local $20) ) ) ) @@ -5743,8 +5765,8 @@ ) (i32.store offset=4 (i32.add - (get_local $4) (get_local $1) + (get_local $4) ) (i32.const 40) ) @@ -5779,12 +5801,12 @@ (i32.const 1232) (tee_local $8 (i32.add + (get_local $6) (tee_local $12 (i32.load (i32.const 1232) ) ) - (get_local $6) ) ) ) @@ -5830,7 +5852,7 @@ (get_local $25) ) (i32.add - (get_local $15) + (get_local $16) (i32.const 8) ) ) @@ -5933,8 +5955,8 @@ ) (set_local $6 (i32.add - (get_local $10) (get_local $6) + (get_local $10) ) ) (if @@ -5951,10 +5973,10 @@ ) (if (i32.eq - (get_local $1) (i32.load (i32.const 1228) ) + (get_local $1) ) (block (if @@ -6056,10 +6078,10 @@ ) (if (i32.ne + (get_local $1) (i32.load offset=12 (get_local $10) ) - (get_local $1) ) (call $qa) ) @@ -6116,6 +6138,7 @@ ) (if (i32.eq + (get_local $1) (i32.load (tee_local $4 (i32.add @@ -6124,7 +6147,6 @@ ) ) ) - (get_local $1) ) (set_local $9 (get_local $4) @@ -6157,12 +6179,12 @@ ) (if (i32.eq + (get_local $1) (tee_local $0 (i32.load offset=12 (get_local $1) ) ) - (get_local $1) ) (block $do-once0 (if @@ -6282,6 +6304,7 @@ ) (if (i32.ne + (get_local $1) (i32.load (tee_local $9 (i32.add @@ -6290,12 +6313,12 @@ ) ) ) - (get_local $1) ) (call $qa) ) (if (i32.eq + (get_local $1) (i32.load (tee_local $4 (i32.add @@ -6304,7 +6327,6 @@ ) ) ) - (get_local $1) ) (block (i32.store @@ -6328,7 +6350,6 @@ (block (if (i32.eq - (get_local $1) (i32.load (tee_local $3 (i32.add @@ -6344,6 +6365,7 @@ ) ) ) + (get_local $1) ) (block (i32.store @@ -6392,6 +6414,7 @@ ) (if (i32.eq + (get_local $1) (i32.load (tee_local $0 (i32.add @@ -6400,7 +6423,6 @@ ) ) ) - (get_local $1) ) (i32.store (get_local $0) @@ -6583,20 +6605,20 @@ (block (result i32) (if (i32.eq - (get_local $8) (i32.load (i32.const 1232) ) + (get_local $8) ) (block (i32.store (i32.const 1220) (tee_local $5 (i32.add + (get_local $7) (i32.load (i32.const 1220) ) - (get_local $7) ) ) ) @@ -6613,10 +6635,10 @@ ) (if (i32.ne - (get_local $2) (i32.load (i32.const 1228) ) + (get_local $2) ) (return) ) @@ -6633,20 +6655,20 @@ ) (if (i32.eq - (get_local $8) (i32.load (i32.const 1228) ) + (get_local $8) ) (block (i32.store (i32.const 1216) (tee_local $5 (i32.add + (get_local $7) (i32.load (i32.const 1216) ) - (get_local $7) ) ) ) @@ -6673,11 +6695,11 @@ ) (set_local $5 (i32.add + (get_local $7) (i32.and (get_local $1) (i32.const -8) ) - (get_local $7) ) ) (set_local $14 @@ -6700,11 +6722,6 @@ ) (if (i32.ne - (tee_local $12 - (i32.load offset=8 - (get_local $8) - ) - ) (tee_local $4 (i32.add (i32.shl @@ -6714,6 +6731,11 @@ (i32.const 1248) ) ) + (tee_local $12 + (i32.load offset=8 + (get_local $8) + ) + ) ) (block (if @@ -6727,10 +6749,10 @@ ) (if (i32.ne + (get_local $8) (i32.load offset=12 (get_local $12) ) - (get_local $8) ) (call $qa) ) @@ -6783,6 +6805,7 @@ ) (if (i32.eq + (get_local $8) (i32.load (tee_local $4 (i32.add @@ -6791,7 +6814,6 @@ ) ) ) - (get_local $8) ) (set_local $17 (get_local $4) @@ -6817,12 +6839,12 @@ ) (if (i32.eq + (get_local $8) (tee_local $3 (i32.load offset=12 (get_local $8) ) ) - (get_local $8) ) (block $do-once6 (set_local $7 @@ -6938,6 +6960,7 @@ ) (if (i32.ne + (get_local $8) (i32.load (tee_local $9 (i32.add @@ -6946,12 +6969,12 @@ ) ) ) - (get_local $8) ) (call $qa) ) (if (i32.eq + (get_local $8) (i32.load (tee_local $4 (i32.add @@ -6960,7 +6983,6 @@ ) ) ) - (get_local $8) ) (block (i32.store @@ -6984,7 +7006,6 @@ (block (if (i32.eq - (get_local $8) (i32.load (tee_local $6 (i32.add @@ -7000,6 +7021,7 @@ ) ) ) + (get_local $8) ) (block (i32.store @@ -7042,6 +7064,7 @@ ) (if (i32.eq + (get_local $8) (i32.load (tee_local $3 (i32.add @@ -7050,7 +7073,6 @@ ) ) ) - (get_local $8) ) (i32.store (get_local $3) @@ -7159,10 +7181,10 @@ ) (if (result i32) (i32.eq - (get_local $2) (i32.load (i32.const 1228) ) + (get_local $2) ) (block (i32.store @@ -7238,8 +7260,8 @@ (i32.store (i32.const 1208) (i32.or - (get_local $6) (get_local $5) + (get_local $6) ) ) (set_local $15 @@ -7289,83 +7311,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $0) - (i32.add - (tee_local $5 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $15 + (i32.shl + (get_local $1) + (tee_local $13 + (i32.and + (i32.shr_u + (i32.add + (get_local $1) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $0) + (i32.add + (tee_local $5 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $1 + (tee_local $15 (i32.and (i32.shr_u (i32.add - (tee_local $15 + (tee_local $6 (i32.shl + (get_local $15) (get_local $1) - (tee_local $13 - (i32.and - (i32.shr_u - (i32.add - (get_local $1) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $13) - ) - (tee_local $15 - (i32.and - (i32.shr_u - (i32.add - (tee_local $6 - (i32.shl - (get_local $15) - (get_local $1) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $1) + (get_local $13) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $6) - (get_local $15) + (i32.shr_u + (i32.shl + (get_local $6) + (get_local $15) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $5) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $5) - (i32.const 1) ) ) ) @@ -7391,17 +7416,17 @@ ) (if (i32.and - (tee_local $15 - (i32.load - (i32.const 1212) - ) - ) (tee_local $6 (i32.shl (i32.const 1) (get_local $7) ) ) + (tee_local $15 + (i32.load + (i32.const 1212) + ) + ) ) (block (set_local $13 @@ -7435,13 +7460,13 @@ (block $while-out14 (result i32) (if (i32.eq + (get_local $0) (i32.and (i32.load offset=4 (get_local $1) ) (i32.const -8) ) - (get_local $0) ) (block (set_local $16 @@ -7586,8 +7611,8 @@ (i32.store (i32.const 1212) (i32.or - (get_local $15) (get_local $6) + (get_local $15) ) ) (i32.store @@ -7744,8 +7769,8 @@ ) (set_local $4 (i32.add - (get_local $9) (get_local $2) + (get_local $9) ) ) (loop $while-in @@ -7902,10 +7927,10 @@ (i32.store (get_local $7) (i32.add + (get_local $6) (i32.load (get_local $7) ) - (get_local $6) ) ) (set_local $3 @@ -7921,10 +7946,10 @@ (i32.store (get_local $5) (i32.add + (get_local $6) (i32.load (get_local $5) ) - (get_local $6) ) ) (i32.store offset=4 @@ -8210,15 +8235,15 @@ (i32.store (get_local $4) (i32.add + (get_local $1) (i32.load (get_local $4) ) - (get_local $1) ) ) (i32.add - (get_local $3) (get_local $1) + (get_local $3) ) ) ) @@ -8299,21 +8324,21 @@ (loop $while-in1 (result i32) (if (result i32) (i32.and + (i32.add + (tee_local $1 + (i32.load + (get_local $2) + ) + ) + (i32.const -16843009) + ) (i32.xor (i32.and - (tee_local $1 - (i32.load - (get_local $2) - ) - ) + (get_local $1) (i32.const -2139062144) ) (i32.const -2139062144) ) - (i32.add - (get_local $1) - (i32.const -16843009) - ) ) (get_local $2) (block @@ -8958,11 +8983,11 @@ (i32.or (i32.or (i32.or - (get_local $1) (i32.shl (get_local $1) (i32.const 8) ) + (get_local $1) ) (i32.shl (get_local $1) @@ -9133,11 +9158,11 @@ (i32.store8 (get_local $1) (i32.or + (get_local $2) (i32.add (get_local $2) (i32.const 255) ) - (get_local $2) ) ) (tee_local $0 @@ -9184,10 +9209,10 @@ (i32.store offset=16 (get_local $0) (i32.add - (get_local $1) (i32.load offset=48 (get_local $0) ) + (get_local $1) ) ) (i32.const 0) @@ -9212,6 +9237,7 @@ ) ) (i32.ne + (get_local $3) (tee_local $0 (call $Wa (get_local $0) @@ -9219,7 +9245,6 @@ (get_local $2) ) ) - (get_local $3) ) ) (set_local $4 @@ -9455,8 +9480,8 @@ ) (set_global $r (i32.add - (get_global $r) (get_local $0) + (get_global $r) ) ) (set_global $r diff --git a/test/memorygrowth.fromasm.clamp b/test/memorygrowth.fromasm.clamp index 992ac9c04..46e4beb04 100644 --- a/test/memorygrowth.fromasm.clamp +++ b/test/memorygrowth.fromasm.clamp @@ -170,13 +170,14 @@ (i32.add (tee_local $13 (i32.load - (tee_local $16 + (tee_local $15 (i32.add (tee_local $9 (i32.add (i32.shl (tee_local $0 (i32.add + (get_local $0) (i32.xor (i32.and (get_local $6) @@ -184,7 +185,6 @@ ) (i32.const 1) ) - (get_local $0) ) ) (i32.const 3) @@ -204,13 +204,12 @@ ) (if (i32.eq - (get_local $9) (get_local $7) + (get_local $9) ) (i32.store (i32.const 1208) (i32.and - (get_local $5) (i32.xor (i32.shl (i32.const 1) @@ -218,6 +217,7 @@ ) (i32.const -1) ) + (get_local $5) ) ) (block @@ -232,6 +232,7 @@ ) (if (i32.eq + (get_local $13) (i32.load (tee_local $8 (i32.add @@ -240,7 +241,6 @@ ) ) ) - (get_local $13) ) (block (i32.store @@ -248,7 +248,7 @@ (get_local $9) ) (i32.store - (get_local $16) + (get_local $15) (get_local $7) ) ) @@ -269,18 +269,18 @@ ) ) (i32.store - (tee_local $16 + (tee_local $15 (i32.add (i32.add - (get_local $13) (get_local $7) + (get_local $13) ) (i32.const 4) ) ) (i32.or (i32.load - (get_local $16) + (get_local $15) ) (i32.const 1) ) @@ -296,7 +296,7 @@ (if (result i32) (i32.gt_u (get_local $2) - (tee_local $16 + (tee_local $15 (i32.load (i32.const 1216) ) @@ -312,30 +312,30 @@ (tee_local $7 (i32.add (i32.and - (tee_local $9 - (i32.and - (i32.shl - (get_local $6) - (get_local $0) - ) - (i32.or - (tee_local $7 - (i32.shl - (i32.const 2) - (get_local $0) + (i32.sub + (i32.const 0) + (tee_local $9 + (i32.and + (i32.or + (i32.sub + (i32.const 0) + (tee_local $7 + (i32.shl + (i32.const 2) + (get_local $0) + ) + ) ) - ) - (i32.sub - (i32.const 0) (get_local $7) ) + (i32.shl + (get_local $6) + (get_local $0) + ) ) ) ) - (i32.sub - (i32.const 0) - (get_local $9) - ) + (get_local $9) ) (i32.const -1) ) @@ -345,115 +345,116 @@ (i32.const 16) ) ) - (set_local $9 - (i32.load - (tee_local $8 - (i32.add - (tee_local $10 - (i32.load - (tee_local $13 - (i32.add - (tee_local $3 + (set_local $7 + (i32.and + (i32.shr_u + (tee_local $8 + (i32.shr_u + (get_local $7) + (get_local $9) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $8 + (i32.and + (i32.shr_u + (tee_local $10 + (i32.shr_u + (get_local $8) + (get_local $7) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $10 + (i32.and + (i32.shr_u + (tee_local $3 + (i32.shr_u + (get_local $10) + (get_local $8) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) + (if + (i32.eq + (tee_local $9 + (i32.load + (tee_local $8 + (i32.add + (tee_local $10 + (i32.load + (tee_local $13 (i32.add - (i32.shl - (tee_local $4 - (i32.add - (i32.or - (i32.or + (tee_local $3 + (i32.add + (i32.shl + (tee_local $4 + (i32.add (i32.or - (i32.or - (tee_local $7 - (i32.and - (i32.shr_u - (tee_local $8 - (i32.shr_u - (get_local $7) - (get_local $9) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $9) - ) - (tee_local $8 + (tee_local $3 (i32.and (i32.shr_u - (tee_local $10 + (tee_local $13 (i32.shr_u - (get_local $8) - (get_local $7) + (get_local $3) + (get_local $10) ) ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $10 - (i32.and - (i32.shr_u - (tee_local $3 - (i32.shr_u - (get_local $10) - (get_local $8) - ) + (i32.const 1) ) (i32.const 1) ) - (i32.const 2) ) - ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $13 - (i32.shr_u - (get_local $3) - (get_local $10) + (i32.or + (get_local $10) + (i32.or + (get_local $8) + (i32.or + (get_local $7) + (get_local $9) ) ) - (i32.const 1) ) - (i32.const 1) + ) + (i32.shr_u + (get_local $13) + (get_local $3) ) ) ) - (i32.shr_u - (get_local $13) - (get_local $3) - ) + (i32.const 3) ) + (i32.const 1248) ) - (i32.const 3) ) - (i32.const 1248) + (i32.const 8) ) ) - (i32.const 8) ) ) + (i32.const 8) ) ) - (i32.const 8) ) ) - ) - ) - (if - (i32.eq (get_local $3) - (get_local $9) ) (block (i32.store (i32.const 1208) (i32.and - (get_local $5) (i32.xor (i32.shl (i32.const 1) @@ -461,10 +462,11 @@ ) (i32.const -1) ) + (get_local $5) ) ) (set_local $34 - (get_local $16) + (get_local $15) ) ) (block @@ -479,6 +481,7 @@ ) (if (i32.eq + (get_local $10) (i32.load (tee_local $7 (i32.add @@ -487,7 +490,6 @@ ) ) ) - (get_local $10) ) (block (i32.store @@ -518,8 +520,8 @@ (i32.store offset=4 (tee_local $13 (i32.add - (get_local $10) (get_local $2) + (get_local $10) ) ) (i32.or @@ -537,8 +539,8 @@ ) (i32.store (i32.add - (get_local $13) (get_local $9) + (get_local $13) ) (get_local $9) ) @@ -553,7 +555,7 @@ (set_local $5 (i32.add (i32.shl - (tee_local $16 + (tee_local $15 (i32.shr_u (get_local $34) (i32.const 3) @@ -574,7 +576,7 @@ (tee_local $6 (i32.shl (i32.const 1) - (get_local $16) + (get_local $15) ) ) ) @@ -670,11 +672,11 @@ (tee_local $9 (i32.add (i32.and - (get_local $13) (i32.sub (i32.const 0) (get_local $13) ) + (get_local $13) ) (i32.const -1) ) @@ -684,65 +686,58 @@ (i32.const 16) ) ) + (set_local $9 + (i32.and + (i32.shr_u + (tee_local $5 + (i32.shr_u + (get_local $9) + (get_local $13) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $5 + (i32.and + (i32.shr_u + (tee_local $3 + (i32.shr_u + (get_local $5) + (get_local $9) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $3 + (i32.and + (i32.shr_u + (tee_local $0 + (i32.shr_u + (get_local $3) + (get_local $5) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) (set_local $0 (i32.sub (i32.and (i32.load offset=4 - (tee_local $16 + (tee_local $15 (i32.load (i32.add (i32.shl (i32.add (i32.or - (i32.or - (i32.or - (i32.or - (tee_local $9 - (i32.and - (i32.shr_u - (tee_local $5 - (i32.shr_u - (get_local $9) - (get_local $13) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $13) - ) - (tee_local $5 - (i32.and - (i32.shr_u - (tee_local $3 - (i32.shr_u - (get_local $5) - (get_local $9) - ) - ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $0 - (i32.shr_u - (get_local $3) - (get_local $5) - ) - ) - (i32.const 1) - ) - (i32.const 2) - ) - ) - ) (tee_local $0 (i32.and (i32.shr_u @@ -757,6 +752,16 @@ (i32.const 1) ) ) + (i32.or + (get_local $3) + (i32.or + (get_local $5) + (i32.or + (get_local $9) + (get_local $13) + ) + ) + ) ) (i32.shr_u (get_local $6) @@ -777,25 +782,25 @@ ) (set_local $3 (tee_local $6 - (get_local $16) + (get_local $15) ) ) (loop $while-in (block $while-out (set_local $5 (i32.lt_u - (tee_local $16 + (tee_local $15 (i32.sub (i32.and (i32.load offset=4 (tee_local $6 (if (result i32) - (tee_local $16 + (tee_local $15 (i32.load offset=16 (get_local $6) ) ) - (get_local $16) + (get_local $15) (if (result i32) (tee_local $5 (i32.load offset=20 @@ -826,7 +831,7 @@ ) (set_local $0 (select - (get_local $16) + (get_local $15) (get_local $0) (get_local $5) ) @@ -891,7 +896,7 @@ ) ) (block - (set_local $16 + (set_local $15 (get_local $4) ) (set_local $5 @@ -900,7 +905,7 @@ ) (br_if $do-once4 (i32.eqz - (tee_local $16 + (tee_local $15 (i32.load (tee_local $5 (i32.add @@ -919,14 +924,14 @@ (i32.load (tee_local $10 (i32.add - (get_local $16) + (get_local $15) (i32.const 20) ) ) ) ) (block - (set_local $16 + (set_local $15 (get_local $4) ) (set_local $5 @@ -940,14 +945,14 @@ (i32.load (tee_local $10 (i32.add - (get_local $16) + (get_local $15) (i32.const 16) ) ) ) ) (block - (set_local $16 + (set_local $15 (get_local $4) ) (set_local $5 @@ -969,7 +974,7 @@ (i32.const 0) ) (set_local $23 - (get_local $16) + (get_local $15) ) ) ) @@ -988,6 +993,7 @@ ) (if (i32.ne + (get_local $1) (i32.load (tee_local $4 (i32.add @@ -996,12 +1002,12 @@ ) ) ) - (get_local $1) ) (call $qa) ) (if (i32.eq + (get_local $1) (i32.load (tee_local $5 (i32.add @@ -1010,7 +1016,6 @@ ) ) ) - (get_local $1) ) (block (i32.store @@ -1034,7 +1039,6 @@ (block $do-once8 (if (i32.eq - (get_local $1) (i32.load (tee_local $3 (i32.add @@ -1050,6 +1054,7 @@ ) ) ) + (get_local $1) ) (block (i32.store @@ -1092,6 +1097,7 @@ ) (if (i32.eq + (get_local $1) (i32.load (tee_local $8 (i32.add @@ -1100,7 +1106,6 @@ ) ) ) - (get_local $1) ) (i32.store (get_local $8) @@ -1196,8 +1201,8 @@ (i32.or (tee_local $0 (i32.add - (get_local $7) (get_local $2) + (get_local $7) ) ) (i32.const 3) @@ -1207,8 +1212,8 @@ (tee_local $3 (i32.add (i32.add - (get_local $1) (get_local $0) + (get_local $1) ) (i32.const 4) ) @@ -1271,17 +1276,17 @@ ) (if (i32.and - (tee_local $10 - (i32.load - (i32.const 1208) - ) - ) (tee_local $5 (i32.shl (i32.const 1) (get_local $8) ) ) + (tee_local $10 + (i32.load + (i32.const 1208) + ) + ) ) (if (i32.lt_u @@ -1313,8 +1318,8 @@ (i32.store (i32.const 1208) (i32.or - (get_local $10) (get_local $5) + (get_local $10) ) ) (set_local $41 @@ -1422,83 +1427,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $0) - (i32.add - (tee_local $13 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $8 + (i32.and + (i32.shr_u + (i32.add + (tee_local $4 + (i32.shl + (get_local $8) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $8) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $0) + (i32.add + (tee_local $13 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $8 + (tee_local $4 (i32.and (i32.shr_u (i32.add - (tee_local $4 + (tee_local $15 (i32.shl + (get_local $4) (get_local $8) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $8) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $3) - ) - (tee_local $4 - (i32.and - (i32.shr_u - (i32.add - (tee_local $16 - (i32.shl - (get_local $4) - (get_local $8) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $3) + (get_local $8) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $16) - (get_local $4) + (i32.shr_u + (i32.shl + (get_local $15) + (get_local $4) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $13) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $13) - (i32.const 1) ) ) ) @@ -1515,7 +1523,7 @@ (set_local $4 (get_local $5) ) - (set_local $16 + (set_local $15 (i32.const 0) ) (set_local $3 @@ -1561,8 +1569,8 @@ (set_local $4 (if (result i32) (i32.eq - (get_local $2) (get_local $0) + (get_local $2) ) (block (set_local $29 @@ -1590,7 +1598,7 @@ ) (set_local $2 (select - (get_local $16) + (get_local $15) (tee_local $13 (i32.load offset=20 (get_local $8) @@ -1643,7 +1651,7 @@ (get_local $2) ) (block - (set_local $16 + (set_local $15 (get_local $2) ) (set_local $3 @@ -1693,19 +1701,19 @@ (i32.eqz (tee_local $5 (i32.and - (get_local $10) (i32.or - (tee_local $13 - (i32.shl - (i32.const 2) - (get_local $27) - ) - ) (i32.sub (i32.const 0) - (get_local $13) + (tee_local $13 + (i32.shl + (i32.const 2) + (get_local $27) + ) + ) ) + (get_local $13) ) + (get_local $10) ) ) ) @@ -1717,11 +1725,11 @@ (tee_local $13 (i32.add (i32.and - (get_local $5) (i32.sub (i32.const 0) (get_local $5) ) + (get_local $5) ) (i32.const -1) ) @@ -1731,60 +1739,53 @@ (i32.const 16) ) ) + (set_local $13 + (i32.and + (i32.shr_u + (tee_local $2 + (i32.shr_u + (get_local $13) + (get_local $5) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $2 + (i32.and + (i32.shr_u + (tee_local $6 + (i32.shr_u + (get_local $2) + (get_local $13) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $6 + (i32.and + (i32.shr_u + (tee_local $9 + (i32.shr_u + (get_local $6) + (get_local $2) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) (i32.load (i32.add (i32.shl (i32.add (i32.or - (i32.or - (i32.or - (i32.or - (tee_local $13 - (i32.and - (i32.shr_u - (tee_local $2 - (i32.shr_u - (get_local $13) - (get_local $5) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $5) - ) - (tee_local $2 - (i32.and - (i32.shr_u - (tee_local $6 - (i32.shr_u - (get_local $2) - (get_local $13) - ) - ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $6 - (i32.and - (i32.shr_u - (tee_local $9 - (i32.shr_u - (get_local $6) - (get_local $2) - ) - ) - (i32.const 1) - ) - (i32.const 2) - ) - ) - ) (tee_local $9 (i32.and (i32.shr_u @@ -1799,6 +1800,16 @@ (i32.const 1) ) ) + (i32.or + (get_local $6) + (i32.or + (get_local $2) + (i32.or + (get_local $5) + (get_local $13) + ) + ) + ) ) (i32.shr_u (get_local $3) @@ -1950,8 +1961,8 @@ (get_local $11) (tee_local $9 (i32.add - (get_local $11) (get_local $0) + (get_local $11) ) ) ) @@ -1985,13 +1996,13 @@ ) ) (block (result i32) - (set_local $16 + (set_local $15 (get_local $5) ) (get_local $2) ) (if (result i32) - (tee_local $16 + (tee_local $15 (i32.load (tee_local $13 (i32.add @@ -2012,14 +2023,14 @@ (i32.load (tee_local $2 (i32.add - (get_local $16) + (get_local $15) (i32.const 20) ) ) ) ) (block - (set_local $16 + (set_local $15 (get_local $5) ) (set_local $4 @@ -2033,14 +2044,14 @@ (i32.load (tee_local $2 (i32.add - (get_local $16) + (get_local $15) (i32.const 16) ) ) ) ) (block - (set_local $16 + (set_local $15 (get_local $5) ) (set_local $4 @@ -2062,7 +2073,7 @@ (i32.const 0) ) (set_local $22 - (get_local $16) + (get_local $15) ) ) ) @@ -2081,6 +2092,7 @@ ) (if (i32.ne + (get_local $11) (i32.load (tee_local $5 (i32.add @@ -2089,12 +2101,12 @@ ) ) ) - (get_local $11) ) (call $qa) ) (if (i32.eq + (get_local $11) (i32.load (tee_local $13 (i32.add @@ -2103,7 +2115,6 @@ ) ) ) - (get_local $11) ) (block (i32.store @@ -2127,7 +2138,6 @@ (block $do-once21 (if (i32.eq - (get_local $11) (i32.load (tee_local $10 (i32.add @@ -2143,6 +2153,7 @@ ) ) ) + (get_local $11) ) (block (i32.store @@ -2185,6 +2196,7 @@ ) (if (i32.eq + (get_local $11) (i32.load (tee_local $3 (i32.add @@ -2193,7 +2205,6 @@ ) ) ) - (get_local $11) ) (i32.store (get_local $3) @@ -2289,8 +2300,8 @@ (i32.or (tee_local $6 (i32.add - (get_local $18) (get_local $0) + (get_local $18) ) ) (i32.const 3) @@ -2300,8 +2311,8 @@ (tee_local $10 (i32.add (i32.add - (get_local $11) (get_local $6) + (get_local $11) ) (i32.const 4) ) @@ -2359,17 +2370,17 @@ ) (if (i32.and - (tee_local $3 - (i32.load - (i32.const 1208) - ) - ) (tee_local $2 (i32.shl (i32.const 1) (get_local $10) ) ) + (tee_local $3 + (i32.load + (i32.const 1208) + ) + ) ) (if (i32.lt_u @@ -2401,8 +2412,8 @@ (i32.store (i32.const 1208) (i32.or - (get_local $3) (get_local $2) + (get_local $3) ) ) (set_local $19 @@ -2452,83 +2463,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $18) - (i32.add - (tee_local $13 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $6 + (i32.and + (i32.shr_u + (i32.add + (tee_local $2 + (i32.shl + (get_local $6) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $6) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $18) + (i32.add + (tee_local $13 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $6 + (tee_local $2 (i32.and (i32.shr_u (i32.add - (tee_local $2 + (tee_local $10 (i32.shl + (get_local $2) (get_local $6) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $6) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $3) - ) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (tee_local $10 - (i32.shl - (get_local $2) - (get_local $6) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $3) + (get_local $6) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $10) - (get_local $2) + (i32.shr_u + (i32.shl + (get_local $10) + (get_local $2) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $13) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $13) - (i32.const 1) ) ) ) @@ -2631,13 +2645,13 @@ (block $while-out27 (result i32) (if (i32.eq + (get_local $18) (i32.and (i32.load offset=4 (get_local $2) ) (i32.const -8) ) - (get_local $18) ) (block (set_local $17 @@ -2684,7 +2698,7 @@ (set_local $21 (get_local $13) ) - (set_local $15 + (set_local $16 (get_local $2) ) (i32.const 145) @@ -2710,7 +2724,7 @@ ) (i32.store offset=24 (get_local $9) - (get_local $15) + (get_local $16) ) (i32.store offset=12 (get_local $9) @@ -2811,7 +2825,7 @@ (get_local $6) ) (block - (set_local $15 + (set_local $16 (i32.load (i32.const 1228) ) @@ -2831,8 +2845,8 @@ (i32.const 1228) (tee_local $21 (i32.add - (get_local $15) (get_local $6) + (get_local $16) ) ) ) @@ -2849,13 +2863,13 @@ ) (i32.store (i32.add - (get_local $21) (get_local $17) + (get_local $21) ) (get_local $17) ) (i32.store offset=4 - (get_local $15) + (get_local $16) (i32.or (get_local $6) (i32.const 3) @@ -2872,7 +2886,7 @@ (i32.const 0) ) (i32.store offset=4 - (get_local $15) + (get_local $16) (i32.or (get_local $11) (i32.const 3) @@ -2882,8 +2896,8 @@ (tee_local $17 (i32.add (i32.add - (get_local $15) (get_local $11) + (get_local $16) ) (i32.const 4) ) @@ -2902,7 +2916,7 @@ ) (if (i32.gt_u - (tee_local $15 + (tee_local $16 (i32.load (i32.const 1220) ) @@ -2914,7 +2928,7 @@ (i32.const 1220) (tee_local $17 (i32.sub - (get_local $15) + (get_local $16) (get_local $6) ) ) @@ -2923,12 +2937,12 @@ (i32.const 1232) (tee_local $11 (i32.add - (tee_local $15 + (get_local $6) + (tee_local $16 (i32.load (i32.const 1232) ) ) - (get_local $6) ) ) ) @@ -2940,7 +2954,7 @@ ) ) (i32.store offset=4 - (get_local $15) + (get_local $16) (i32.or (get_local $6) (i32.const 3) @@ -2982,7 +2996,7 @@ ) (i32.store (get_local $14) - (tee_local $15 + (tee_local $16 (i32.xor (i32.and (get_local $14) @@ -2994,11 +3008,11 @@ ) (i32.store (i32.const 1680) - (get_local $15) + (get_local $16) ) ) ) - (set_local $15 + (set_local $16 (i32.add (get_local $6) (i32.const 48) @@ -3053,12 +3067,12 @@ (i32.le_u (tee_local $7 (i32.add + (get_local $14) (tee_local $3 (i32.load (i32.const 1640) ) ) - (get_local $14) ) ) (get_local $3) @@ -3114,7 +3128,6 @@ (if (i32.gt_u (i32.add - (get_local $3) (i32.load (tee_local $19 (i32.add @@ -3123,6 +3136,7 @@ ) ) ) + (get_local $3) ) (get_local $18) ) @@ -3154,61 +3168,64 @@ (i32.lt_u (tee_local $7 (i32.and + (get_local $21) (i32.sub (get_local $11) (i32.load (i32.const 1220) ) ) - (get_local $21) ) ) (i32.const 2147483647) ) - (if - (i32.eq - (tee_local $19 - (call $ta - (get_local $7) - ) - ) - (i32.add - (i32.load - (get_local $0) - ) - (i32.load - (get_local $5) - ) + (block + (set_local $19 + (call $ta + (get_local $7) ) ) (if - (i32.ne + (i32.eq + (i32.add + (i32.load + (get_local $0) + ) + (i32.load + (get_local $5) + ) + ) (get_local $19) - (i32.const -1) + ) + (if + (i32.ne + (get_local $19) + (i32.const -1) + ) + (block + (set_local $20 + (get_local $19) + ) + (set_local $26 + (get_local $7) + ) + (br $label$break$b + (i32.const 191) + ) + ) ) (block - (set_local $20 + (set_local $12 (get_local $19) ) - (set_local $26 + (set_local $1 (get_local $7) ) - (br $label$break$b - (i32.const 191) + (set_local $8 + (i32.const 181) ) ) ) - (block - (set_local $12 - (get_local $19) - ) - (set_local $1 - (get_local $7) - ) - (set_local $8 - (i32.const 181) - ) - ) ) ) ) @@ -3234,6 +3251,9 @@ (set_local $2 (if (result i32) (i32.and + (tee_local $0 + (get_local $18) + ) (tee_local $19 (i32.add (tee_local $7 @@ -3244,9 +3264,6 @@ (i32.const -1) ) ) - (tee_local $0 - (get_local $18) - ) ) (i32.add (i32.sub @@ -3255,8 +3272,8 @@ ) (i32.and (i32.add - (get_local $19) (get_local $0) + (get_local $19) ) (i32.sub (i32.const 0) @@ -3279,14 +3296,14 @@ ) (if (i32.and - (i32.gt_u - (get_local $2) - (get_local $6) - ) (i32.lt_u (get_local $2) (i32.const 2147483647) ) + (i32.gt_u + (get_local $2) + (get_local $6) + ) ) (block (if @@ -3311,12 +3328,12 @@ (set_local $1 (if (result i32) (i32.eq + (get_local $18) (tee_local $19 (call $ta (get_local $2) ) ) - (get_local $18) ) (block (set_local $20 @@ -3360,19 +3377,19 @@ (set_local $4 (if (result i32) (i32.and - (i32.gt_u - (get_local $15) - (get_local $1) - ) (i32.and - (i32.lt_u - (get_local $1) - (i32.const 2147483647) - ) (i32.ne (get_local $12) (i32.const -1) ) + (i32.lt_u + (get_local $1) + (i32.const 2147483647) + ) + ) + (i32.gt_u + (get_local $16) + (get_local $1) ) ) (if (result i32) @@ -3380,15 +3397,15 @@ (tee_local $0 (i32.and (i32.add - (i32.sub - (get_local $17) - (get_local $1) - ) (tee_local $18 (i32.load (i32.const 1688) ) ) + (i32.sub + (get_local $17) + (get_local $1) + ) ) (i32.sub (i32.const 0) @@ -3464,28 +3481,28 @@ ) (if (i32.and - (i32.lt_u - (tee_local $4 - (call $ta - (get_local $14) - ) - ) - (tee_local $14 - (call $ta - (i32.const 0) - ) - ) - ) (i32.and (i32.ne - (get_local $4) + (tee_local $4 + (call $ta + (get_local $14) + ) + ) (i32.const -1) ) (i32.ne - (get_local $14) + (tee_local $14 + (call $ta + (i32.const 0) + ) + ) (i32.const -1) ) ) + (i32.lt_u + (get_local $4) + (get_local $14) + ) ) (if (i32.gt_u @@ -3525,10 +3542,10 @@ (i32.const 1640) (tee_local $12 (i32.add + (get_local $26) (i32.load (i32.const 1640) ) - (get_local $26) ) ) ) @@ -3558,13 +3575,7 @@ (block $do-out40 (if (i32.eq - (get_local $20) (i32.add - (tee_local $4 - (i32.load - (get_local $1) - ) - ) (tee_local $17 (i32.load (tee_local $14 @@ -3575,7 +3586,13 @@ ) ) ) + (tee_local $4 + (i32.load + (get_local $1) + ) + ) ) + (get_local $20) ) (block (set_local $48 @@ -3634,13 +3651,12 @@ (i32.store (get_local $49) (i32.add - (get_local $50) (get_local $26) + (get_local $50) ) ) (set_local $1 (i32.add - (get_local $12) (tee_local $17 (select (i32.and @@ -3662,17 +3678,18 @@ ) ) ) + (get_local $12) ) ) (set_local $14 (i32.add + (i32.load + (i32.const 1220) + ) (i32.sub (get_local $26) (get_local $17) ) - (i32.load - (i32.const 1220) - ) ) ) (i32.store @@ -3708,7 +3725,7 @@ ) ) ) - (set_local $16 + (set_local $15 (if (result i32) (i32.lt_u (get_local $20) @@ -3741,10 +3758,10 @@ (block $while-out42 (if (i32.eq + (get_local $14) (i32.load (get_local $1) ) - (get_local $14) ) (block (set_local $52 @@ -3798,15 +3815,14 @@ ) ) (i32.add + (get_local $26) (i32.load (get_local $1) ) - (get_local $26) ) ) (set_local $17 (i32.add - (get_local $20) (select (i32.and (i32.sub @@ -3826,11 +3842,11 @@ (i32.const 7) ) ) + (get_local $20) ) ) (set_local $4 (i32.add - (get_local $14) (select (i32.and (i32.sub @@ -3850,15 +3866,16 @@ (i32.const 7) ) ) + (get_local $14) ) ) (set_local $1 (i32.add - (get_local $17) (get_local $6) + (get_local $17) ) ) - (set_local $15 + (set_local $16 (i32.sub (i32.sub (get_local $4) @@ -3884,10 +3901,10 @@ (i32.const 1220) (tee_local $2 (i32.add + (get_local $16) (i32.load (i32.const 1220) ) - (get_local $15) ) ) ) @@ -3906,20 +3923,20 @@ (block $do-once44 (if (i32.eq - (get_local $4) (i32.load (i32.const 1228) ) + (get_local $4) ) (block (i32.store (i32.const 1216) (tee_local $2 (i32.add + (get_local $16) (i32.load (i32.const 1216) ) - (get_local $15) ) ) ) @@ -3983,11 +4000,6 @@ ) (if (i32.ne - (tee_local $21 - (i32.load offset=8 - (get_local $4) - ) - ) (tee_local $19 (i32.add (i32.shl @@ -3997,21 +4009,26 @@ (i32.const 1248) ) ) + (tee_local $21 + (i32.load offset=8 + (get_local $4) + ) + ) ) (block $do-once47 (if (i32.lt_u (get_local $21) - (get_local $16) + (get_local $15) ) (call $qa) ) (br_if $do-once47 (i32.eq + (get_local $4) (i32.load offset=12 (get_local $21) ) - (get_local $4) ) ) (call $qa) @@ -4056,12 +4073,13 @@ (if (i32.lt_u (get_local $11) - (get_local $16) + (get_local $15) ) (call $qa) ) (if (i32.eq + (get_local $4) (i32.load (tee_local $0 (i32.add @@ -4070,7 +4088,6 @@ ) ) ) - (get_local $4) ) (block (set_local $43 @@ -4193,7 +4210,7 @@ (if (i32.lt_u (get_local $0) - (get_local $16) + (get_local $15) ) (call $qa) (block @@ -4215,12 +4232,13 @@ (get_local $4) ) ) - (get_local $16) + (get_local $15) ) (call $qa) ) (if (i32.ne + (get_local $4) (i32.load (tee_local $3 (i32.add @@ -4229,12 +4247,12 @@ ) ) ) - (get_local $4) ) (call $qa) ) (if (i32.eq + (get_local $4) (i32.load (tee_local $18 (i32.add @@ -4243,7 +4261,6 @@ ) ) ) - (get_local $4) ) (block (i32.store @@ -4269,7 +4286,6 @@ ) (if (i32.eq - (get_local $4) (i32.load (tee_local $21 (i32.add @@ -4285,6 +4301,7 @@ ) ) ) + (get_local $4) ) (block $do-once55 (i32.store @@ -4323,6 +4340,7 @@ ) (if (i32.eq + (get_local $4) (i32.load (tee_local $11 (i32.add @@ -4331,7 +4349,6 @@ ) ) ) - (get_local $4) ) (i32.store (get_local $11) @@ -4430,10 +4447,10 @@ (get_local $5) ) ) - (set_local $15 + (set_local $16 (i32.add (get_local $5) - (get_local $15) + (get_local $16) ) ) ) @@ -4455,26 +4472,26 @@ (i32.store offset=4 (get_local $1) (i32.or - (get_local $15) + (get_local $16) (i32.const 1) ) ) (i32.store (i32.add (get_local $1) - (get_local $15) + (get_local $16) ) - (get_local $15) + (get_local $16) ) (set_local $0 (i32.shr_u - (get_local $15) + (get_local $16) (i32.const 3) ) ) (if (i32.lt_u - (get_local $15) + (get_local $16) (i32.const 256) ) (block @@ -4489,17 +4506,17 @@ ) (if (i32.and - (tee_local $11 - (i32.load - (i32.const 1208) - ) - ) (tee_local $0 (i32.shl (i32.const 1) (get_local $0) ) ) + (tee_local $11 + (i32.load + (i32.const 1208) + ) + ) ) (block $do-once59 (if @@ -4534,8 +4551,8 @@ (i32.store (i32.const 1208) (i32.or - (get_local $11) (get_local $0) + (get_local $11) ) ) (set_local $44 @@ -4575,93 +4592,96 @@ (if (result i32) (tee_local $0 (i32.shr_u - (get_local $15) + (get_local $16) (i32.const 8) ) ) (if (result i32) (i32.gt_u - (get_local $15) + (get_local $16) (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $15) - (i32.add - (tee_local $7 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $19 + (i32.and + (i32.shr_u + (i32.add + (tee_local $5 + (i32.shl + (get_local $0) + (tee_local $11 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $16) + (i32.add + (tee_local $7 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $19 + (tee_local $5 (i32.and (i32.shr_u (i32.add - (tee_local $5 + (tee_local $0 (i32.shl - (get_local $0) - (tee_local $11 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) + (get_local $5) + (get_local $19) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $11) - ) - (tee_local $5 - (i32.and - (i32.shr_u - (i32.add - (tee_local $0 - (i32.shl - (get_local $5) - (get_local $19) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $11) + (get_local $19) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $0) - (get_local $5) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $5) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $7) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $7) - (i32.const 1) ) ) ) @@ -4693,17 +4713,17 @@ (if (i32.eqz (i32.and - (tee_local $2 - (i32.load - (i32.const 1212) - ) - ) (tee_local $7 (i32.shl (i32.const 1) (get_local $5) ) ) + (tee_local $2 + (i32.load + (i32.const 1212) + ) + ) ) ) (block @@ -4735,7 +4755,7 @@ ) (set_local $7 (i32.shl - (get_local $15) + (get_local $16) (select (i32.const 0) (i32.sub @@ -4764,13 +4784,13 @@ (block $while-out63 (result i32) (if (i32.eq + (get_local $16) (i32.and (i32.load offset=4 (get_local $2) ) (i32.const -8) ) - (get_local $15) ) (block (set_local $38 @@ -4938,19 +4958,19 @@ ) (if (i32.gt_u - (tee_local $15 + (tee_local $16 (i32.add - (get_local $1) (i32.load offset=4 (get_local $30) ) + (get_local $1) ) ) (get_local $12) ) (block (set_local $0 - (get_local $15) + (get_local $16) ) (br $while-out65) ) @@ -4964,17 +4984,6 @@ (br $while-in66) ) ) - (set_local $15 - (i32.add - (tee_local $17 - (i32.add - (get_local $0) - (i32.const -47) - ) - ) - (i32.const 8) - ) - ) (set_local $1 (i32.add (tee_local $17 @@ -4982,26 +4991,36 @@ (get_local $12) (tee_local $1 (i32.add - (get_local $17) (select (i32.and (i32.sub (i32.const 0) - (get_local $15) + (tee_local $16 + (i32.add + (tee_local $17 + (i32.add + (get_local $0) + (i32.const -47) + ) + ) + (i32.const 8) + ) + ) ) (i32.const 7) ) (i32.const 0) (i32.and - (get_local $15) + (get_local $16) (i32.const 7) ) ) + (get_local $17) ) ) (i32.lt_u (get_local $1) - (tee_local $15 + (tee_local $16 (i32.add (get_local $12) (i32.const 16) @@ -5017,7 +5036,6 @@ (i32.const 1232) (tee_local $4 (i32.add - (get_local $20) (tee_local $14 (select (i32.and @@ -5039,6 +5057,7 @@ ) ) ) + (get_local $20) ) ) ) @@ -5151,8 +5170,8 @@ ) (if (i32.ne - (get_local $17) (get_local $12) + (get_local $17) ) (block (i32.store @@ -5203,17 +5222,17 @@ ) (if (i32.and - (tee_local $2 - (i32.load - (i32.const 1208) - ) - ) (tee_local $5 (i32.shl (i32.const 1) (get_local $4) ) ) + (tee_local $2 + (i32.load + (i32.const 1208) + ) + ) ) (if (i32.lt_u @@ -5296,83 +5315,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $1) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $14 + (i32.and + (i32.shr_u + (i32.add + (tee_local $5 + (i32.shl + (get_local $14) + (tee_local $2 + (i32.and + (i32.shr_u + (i32.add + (get_local $14) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $1) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $14 + (tee_local $5 (i32.and (i32.shr_u (i32.add - (tee_local $5 + (tee_local $4 (i32.shl + (get_local $5) (get_local $14) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (get_local $14) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $2) - ) - (tee_local $5 - (i32.and - (i32.shr_u - (i32.add - (tee_local $4 - (i32.shl - (get_local $5) - (get_local $14) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $2) + (get_local $14) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $4) - (get_local $5) + (i32.shr_u + (i32.shl + (get_local $4) + (get_local $5) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) ) @@ -5393,7 +5415,7 @@ (i32.const 0) ) (i32.store - (get_local $15) + (get_local $16) (i32.const 0) ) (if @@ -5416,8 +5438,8 @@ (i32.store (i32.const 1212) (i32.or - (get_local $5) (get_local $4) + (get_local $5) ) ) (i32.store @@ -5470,13 +5492,13 @@ (block $while-out69 (result i32) (if (i32.eq + (get_local $1) (i32.and (i32.load offset=4 (get_local $5) ) (i32.const -8) ) - (get_local $1) ) (block (set_local $31 @@ -5697,7 +5719,6 @@ (i32.const 1232) (tee_local $4 (i32.add - (get_local $20) (tee_local $14 (select (i32.and @@ -5719,6 +5740,7 @@ ) ) ) + (get_local $20) ) ) ) @@ -5743,8 +5765,8 @@ ) (i32.store offset=4 (i32.add - (get_local $4) (get_local $1) + (get_local $4) ) (i32.const 40) ) @@ -5779,12 +5801,12 @@ (i32.const 1232) (tee_local $8 (i32.add + (get_local $6) (tee_local $12 (i32.load (i32.const 1232) ) ) - (get_local $6) ) ) ) @@ -5830,7 +5852,7 @@ (get_local $25) ) (i32.add - (get_local $15) + (get_local $16) (i32.const 8) ) ) @@ -5933,8 +5955,8 @@ ) (set_local $6 (i32.add - (get_local $10) (get_local $6) + (get_local $10) ) ) (if @@ -5951,10 +5973,10 @@ ) (if (i32.eq - (get_local $1) (i32.load (i32.const 1228) ) + (get_local $1) ) (block (if @@ -6056,10 +6078,10 @@ ) (if (i32.ne + (get_local $1) (i32.load offset=12 (get_local $10) ) - (get_local $1) ) (call $qa) ) @@ -6116,6 +6138,7 @@ ) (if (i32.eq + (get_local $1) (i32.load (tee_local $4 (i32.add @@ -6124,7 +6147,6 @@ ) ) ) - (get_local $1) ) (set_local $9 (get_local $4) @@ -6157,12 +6179,12 @@ ) (if (i32.eq + (get_local $1) (tee_local $0 (i32.load offset=12 (get_local $1) ) ) - (get_local $1) ) (block $do-once0 (if @@ -6282,6 +6304,7 @@ ) (if (i32.ne + (get_local $1) (i32.load (tee_local $9 (i32.add @@ -6290,12 +6313,12 @@ ) ) ) - (get_local $1) ) (call $qa) ) (if (i32.eq + (get_local $1) (i32.load (tee_local $4 (i32.add @@ -6304,7 +6327,6 @@ ) ) ) - (get_local $1) ) (block (i32.store @@ -6328,7 +6350,6 @@ (block (if (i32.eq - (get_local $1) (i32.load (tee_local $3 (i32.add @@ -6344,6 +6365,7 @@ ) ) ) + (get_local $1) ) (block (i32.store @@ -6392,6 +6414,7 @@ ) (if (i32.eq + (get_local $1) (i32.load (tee_local $0 (i32.add @@ -6400,7 +6423,6 @@ ) ) ) - (get_local $1) ) (i32.store (get_local $0) @@ -6583,20 +6605,20 @@ (block (result i32) (if (i32.eq - (get_local $8) (i32.load (i32.const 1232) ) + (get_local $8) ) (block (i32.store (i32.const 1220) (tee_local $5 (i32.add + (get_local $7) (i32.load (i32.const 1220) ) - (get_local $7) ) ) ) @@ -6613,10 +6635,10 @@ ) (if (i32.ne - (get_local $2) (i32.load (i32.const 1228) ) + (get_local $2) ) (return) ) @@ -6633,20 +6655,20 @@ ) (if (i32.eq - (get_local $8) (i32.load (i32.const 1228) ) + (get_local $8) ) (block (i32.store (i32.const 1216) (tee_local $5 (i32.add + (get_local $7) (i32.load (i32.const 1216) ) - (get_local $7) ) ) ) @@ -6673,11 +6695,11 @@ ) (set_local $5 (i32.add + (get_local $7) (i32.and (get_local $1) (i32.const -8) ) - (get_local $7) ) ) (set_local $14 @@ -6700,11 +6722,6 @@ ) (if (i32.ne - (tee_local $12 - (i32.load offset=8 - (get_local $8) - ) - ) (tee_local $4 (i32.add (i32.shl @@ -6714,6 +6731,11 @@ (i32.const 1248) ) ) + (tee_local $12 + (i32.load offset=8 + (get_local $8) + ) + ) ) (block (if @@ -6727,10 +6749,10 @@ ) (if (i32.ne + (get_local $8) (i32.load offset=12 (get_local $12) ) - (get_local $8) ) (call $qa) ) @@ -6783,6 +6805,7 @@ ) (if (i32.eq + (get_local $8) (i32.load (tee_local $4 (i32.add @@ -6791,7 +6814,6 @@ ) ) ) - (get_local $8) ) (set_local $17 (get_local $4) @@ -6817,12 +6839,12 @@ ) (if (i32.eq + (get_local $8) (tee_local $3 (i32.load offset=12 (get_local $8) ) ) - (get_local $8) ) (block $do-once6 (set_local $7 @@ -6938,6 +6960,7 @@ ) (if (i32.ne + (get_local $8) (i32.load (tee_local $9 (i32.add @@ -6946,12 +6969,12 @@ ) ) ) - (get_local $8) ) (call $qa) ) (if (i32.eq + (get_local $8) (i32.load (tee_local $4 (i32.add @@ -6960,7 +6983,6 @@ ) ) ) - (get_local $8) ) (block (i32.store @@ -6984,7 +7006,6 @@ (block (if (i32.eq - (get_local $8) (i32.load (tee_local $6 (i32.add @@ -7000,6 +7021,7 @@ ) ) ) + (get_local $8) ) (block (i32.store @@ -7042,6 +7064,7 @@ ) (if (i32.eq + (get_local $8) (i32.load (tee_local $3 (i32.add @@ -7050,7 +7073,6 @@ ) ) ) - (get_local $8) ) (i32.store (get_local $3) @@ -7159,10 +7181,10 @@ ) (if (result i32) (i32.eq - (get_local $2) (i32.load (i32.const 1228) ) + (get_local $2) ) (block (i32.store @@ -7238,8 +7260,8 @@ (i32.store (i32.const 1208) (i32.or - (get_local $6) (get_local $5) + (get_local $6) ) ) (set_local $15 @@ -7289,83 +7311,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $0) - (i32.add - (tee_local $5 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $15 + (i32.shl + (get_local $1) + (tee_local $13 + (i32.and + (i32.shr_u + (i32.add + (get_local $1) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $0) + (i32.add + (tee_local $5 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $1 + (tee_local $15 (i32.and (i32.shr_u (i32.add - (tee_local $15 + (tee_local $6 (i32.shl + (get_local $15) (get_local $1) - (tee_local $13 - (i32.and - (i32.shr_u - (i32.add - (get_local $1) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $13) - ) - (tee_local $15 - (i32.and - (i32.shr_u - (i32.add - (tee_local $6 - (i32.shl - (get_local $15) - (get_local $1) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $1) + (get_local $13) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $6) - (get_local $15) + (i32.shr_u + (i32.shl + (get_local $6) + (get_local $15) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $5) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $5) - (i32.const 1) ) ) ) @@ -7391,17 +7416,17 @@ ) (if (i32.and - (tee_local $15 - (i32.load - (i32.const 1212) - ) - ) (tee_local $6 (i32.shl (i32.const 1) (get_local $7) ) ) + (tee_local $15 + (i32.load + (i32.const 1212) + ) + ) ) (block (set_local $13 @@ -7435,13 +7460,13 @@ (block $while-out14 (result i32) (if (i32.eq + (get_local $0) (i32.and (i32.load offset=4 (get_local $1) ) (i32.const -8) ) - (get_local $0) ) (block (set_local $16 @@ -7586,8 +7611,8 @@ (i32.store (i32.const 1212) (i32.or - (get_local $15) (get_local $6) + (get_local $15) ) ) (i32.store @@ -7744,8 +7769,8 @@ ) (set_local $4 (i32.add - (get_local $9) (get_local $2) + (get_local $9) ) ) (loop $while-in @@ -7902,10 +7927,10 @@ (i32.store (get_local $7) (i32.add + (get_local $6) (i32.load (get_local $7) ) - (get_local $6) ) ) (set_local $3 @@ -7921,10 +7946,10 @@ (i32.store (get_local $5) (i32.add + (get_local $6) (i32.load (get_local $5) ) - (get_local $6) ) ) (i32.store offset=4 @@ -8210,15 +8235,15 @@ (i32.store (get_local $4) (i32.add + (get_local $1) (i32.load (get_local $4) ) - (get_local $1) ) ) (i32.add - (get_local $3) (get_local $1) + (get_local $3) ) ) ) @@ -8299,21 +8324,21 @@ (loop $while-in1 (result i32) (if (result i32) (i32.and + (i32.add + (tee_local $1 + (i32.load + (get_local $2) + ) + ) + (i32.const -16843009) + ) (i32.xor (i32.and - (tee_local $1 - (i32.load - (get_local $2) - ) - ) + (get_local $1) (i32.const -2139062144) ) (i32.const -2139062144) ) - (i32.add - (get_local $1) - (i32.const -16843009) - ) ) (get_local $2) (block @@ -8958,11 +8983,11 @@ (i32.or (i32.or (i32.or - (get_local $1) (i32.shl (get_local $1) (i32.const 8) ) + (get_local $1) ) (i32.shl (get_local $1) @@ -9133,11 +9158,11 @@ (i32.store8 (get_local $1) (i32.or + (get_local $2) (i32.add (get_local $2) (i32.const 255) ) - (get_local $2) ) ) (tee_local $0 @@ -9184,10 +9209,10 @@ (i32.store offset=16 (get_local $0) (i32.add - (get_local $1) (i32.load offset=48 (get_local $0) ) + (get_local $1) ) ) (i32.const 0) @@ -9212,6 +9237,7 @@ ) ) (i32.ne + (get_local $3) (tee_local $0 (call $Wa (get_local $0) @@ -9219,7 +9245,6 @@ (get_local $2) ) ) - (get_local $3) ) ) (set_local $4 @@ -9455,8 +9480,8 @@ ) (set_global $r (i32.add - (get_global $r) (get_local $0) + (get_global $r) ) ) (set_global $r diff --git a/test/memorygrowth.fromasm.imprecise b/test/memorygrowth.fromasm.imprecise index 4925a0ccf..72f7b31e4 100644 --- a/test/memorygrowth.fromasm.imprecise +++ b/test/memorygrowth.fromasm.imprecise @@ -168,13 +168,14 @@ (i32.add (tee_local $13 (i32.load - (tee_local $16 + (tee_local $15 (i32.add (tee_local $9 (i32.add (i32.shl (tee_local $0 (i32.add + (get_local $0) (i32.xor (i32.and (get_local $6) @@ -182,7 +183,6 @@ ) (i32.const 1) ) - (get_local $0) ) ) (i32.const 3) @@ -202,13 +202,12 @@ ) (if (i32.eq - (get_local $9) (get_local $7) + (get_local $9) ) (i32.store (i32.const 1208) (i32.and - (get_local $5) (i32.xor (i32.shl (i32.const 1) @@ -216,6 +215,7 @@ ) (i32.const -1) ) + (get_local $5) ) ) (block @@ -230,6 +230,7 @@ ) (if (i32.eq + (get_local $13) (i32.load (tee_local $8 (i32.add @@ -238,7 +239,6 @@ ) ) ) - (get_local $13) ) (block (i32.store @@ -246,7 +246,7 @@ (get_local $9) ) (i32.store - (get_local $16) + (get_local $15) (get_local $7) ) ) @@ -267,18 +267,18 @@ ) ) (i32.store - (tee_local $16 + (tee_local $15 (i32.add (i32.add - (get_local $13) (get_local $7) + (get_local $13) ) (i32.const 4) ) ) (i32.or (i32.load - (get_local $16) + (get_local $15) ) (i32.const 1) ) @@ -294,7 +294,7 @@ (if (result i32) (i32.gt_u (get_local $2) - (tee_local $16 + (tee_local $15 (i32.load (i32.const 1216) ) @@ -310,30 +310,30 @@ (tee_local $7 (i32.add (i32.and - (tee_local $9 - (i32.and - (i32.shl - (get_local $6) - (get_local $0) - ) - (i32.or - (tee_local $7 - (i32.shl - (i32.const 2) - (get_local $0) + (i32.sub + (i32.const 0) + (tee_local $9 + (i32.and + (i32.or + (i32.sub + (i32.const 0) + (tee_local $7 + (i32.shl + (i32.const 2) + (get_local $0) + ) + ) ) - ) - (i32.sub - (i32.const 0) (get_local $7) ) + (i32.shl + (get_local $6) + (get_local $0) + ) ) ) ) - (i32.sub - (i32.const 0) - (get_local $9) - ) + (get_local $9) ) (i32.const -1) ) @@ -343,115 +343,116 @@ (i32.const 16) ) ) - (set_local $9 - (i32.load - (tee_local $8 - (i32.add - (tee_local $10 - (i32.load - (tee_local $13 - (i32.add - (tee_local $3 + (set_local $7 + (i32.and + (i32.shr_u + (tee_local $8 + (i32.shr_u + (get_local $7) + (get_local $9) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $8 + (i32.and + (i32.shr_u + (tee_local $10 + (i32.shr_u + (get_local $8) + (get_local $7) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $10 + (i32.and + (i32.shr_u + (tee_local $3 + (i32.shr_u + (get_local $10) + (get_local $8) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) + (if + (i32.eq + (tee_local $9 + (i32.load + (tee_local $8 + (i32.add + (tee_local $10 + (i32.load + (tee_local $13 (i32.add - (i32.shl - (tee_local $4 - (i32.add - (i32.or - (i32.or + (tee_local $3 + (i32.add + (i32.shl + (tee_local $4 + (i32.add (i32.or - (i32.or - (tee_local $7 - (i32.and - (i32.shr_u - (tee_local $8 - (i32.shr_u - (get_local $7) - (get_local $9) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $9) - ) - (tee_local $8 + (tee_local $3 (i32.and (i32.shr_u - (tee_local $10 + (tee_local $13 (i32.shr_u - (get_local $8) - (get_local $7) + (get_local $3) + (get_local $10) ) ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $10 - (i32.and - (i32.shr_u - (tee_local $3 - (i32.shr_u - (get_local $10) - (get_local $8) - ) + (i32.const 1) ) (i32.const 1) ) - (i32.const 2) ) - ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $13 - (i32.shr_u - (get_local $3) - (get_local $10) + (i32.or + (get_local $10) + (i32.or + (get_local $8) + (i32.or + (get_local $7) + (get_local $9) ) ) - (i32.const 1) ) - (i32.const 1) + ) + (i32.shr_u + (get_local $13) + (get_local $3) ) ) ) - (i32.shr_u - (get_local $13) - (get_local $3) - ) + (i32.const 3) ) + (i32.const 1248) ) - (i32.const 3) ) - (i32.const 1248) + (i32.const 8) ) ) - (i32.const 8) ) ) + (i32.const 8) ) ) - (i32.const 8) ) ) - ) - ) - (if - (i32.eq (get_local $3) - (get_local $9) ) (block (i32.store (i32.const 1208) (i32.and - (get_local $5) (i32.xor (i32.shl (i32.const 1) @@ -459,10 +460,11 @@ ) (i32.const -1) ) + (get_local $5) ) ) (set_local $34 - (get_local $16) + (get_local $15) ) ) (block @@ -477,6 +479,7 @@ ) (if (i32.eq + (get_local $10) (i32.load (tee_local $7 (i32.add @@ -485,7 +488,6 @@ ) ) ) - (get_local $10) ) (block (i32.store @@ -516,8 +518,8 @@ (i32.store offset=4 (tee_local $13 (i32.add - (get_local $10) (get_local $2) + (get_local $10) ) ) (i32.or @@ -535,8 +537,8 @@ ) (i32.store (i32.add - (get_local $13) (get_local $9) + (get_local $13) ) (get_local $9) ) @@ -551,7 +553,7 @@ (set_local $5 (i32.add (i32.shl - (tee_local $16 + (tee_local $15 (i32.shr_u (get_local $34) (i32.const 3) @@ -572,7 +574,7 @@ (tee_local $6 (i32.shl (i32.const 1) - (get_local $16) + (get_local $15) ) ) ) @@ -668,11 +670,11 @@ (tee_local $9 (i32.add (i32.and - (get_local $13) (i32.sub (i32.const 0) (get_local $13) ) + (get_local $13) ) (i32.const -1) ) @@ -682,65 +684,58 @@ (i32.const 16) ) ) + (set_local $9 + (i32.and + (i32.shr_u + (tee_local $5 + (i32.shr_u + (get_local $9) + (get_local $13) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $5 + (i32.and + (i32.shr_u + (tee_local $3 + (i32.shr_u + (get_local $5) + (get_local $9) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $3 + (i32.and + (i32.shr_u + (tee_local $0 + (i32.shr_u + (get_local $3) + (get_local $5) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) (set_local $0 (i32.sub (i32.and (i32.load offset=4 - (tee_local $16 + (tee_local $15 (i32.load (i32.add (i32.shl (i32.add (i32.or - (i32.or - (i32.or - (i32.or - (tee_local $9 - (i32.and - (i32.shr_u - (tee_local $5 - (i32.shr_u - (get_local $9) - (get_local $13) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $13) - ) - (tee_local $5 - (i32.and - (i32.shr_u - (tee_local $3 - (i32.shr_u - (get_local $5) - (get_local $9) - ) - ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $0 - (i32.shr_u - (get_local $3) - (get_local $5) - ) - ) - (i32.const 1) - ) - (i32.const 2) - ) - ) - ) (tee_local $0 (i32.and (i32.shr_u @@ -755,6 +750,16 @@ (i32.const 1) ) ) + (i32.or + (get_local $3) + (i32.or + (get_local $5) + (i32.or + (get_local $9) + (get_local $13) + ) + ) + ) ) (i32.shr_u (get_local $6) @@ -775,25 +780,25 @@ ) (set_local $3 (tee_local $6 - (get_local $16) + (get_local $15) ) ) (loop $while-in (block $while-out (set_local $5 (i32.lt_u - (tee_local $16 + (tee_local $15 (i32.sub (i32.and (i32.load offset=4 (tee_local $6 (if (result i32) - (tee_local $16 + (tee_local $15 (i32.load offset=16 (get_local $6) ) ) - (get_local $16) + (get_local $15) (if (result i32) (tee_local $5 (i32.load offset=20 @@ -824,7 +829,7 @@ ) (set_local $0 (select - (get_local $16) + (get_local $15) (get_local $0) (get_local $5) ) @@ -889,7 +894,7 @@ ) ) (block - (set_local $16 + (set_local $15 (get_local $4) ) (set_local $5 @@ -898,7 +903,7 @@ ) (br_if $do-once4 (i32.eqz - (tee_local $16 + (tee_local $15 (i32.load (tee_local $5 (i32.add @@ -917,14 +922,14 @@ (i32.load (tee_local $10 (i32.add - (get_local $16) + (get_local $15) (i32.const 20) ) ) ) ) (block - (set_local $16 + (set_local $15 (get_local $4) ) (set_local $5 @@ -938,14 +943,14 @@ (i32.load (tee_local $10 (i32.add - (get_local $16) + (get_local $15) (i32.const 16) ) ) ) ) (block - (set_local $16 + (set_local $15 (get_local $4) ) (set_local $5 @@ -967,7 +972,7 @@ (i32.const 0) ) (set_local $23 - (get_local $16) + (get_local $15) ) ) ) @@ -986,6 +991,7 @@ ) (if (i32.ne + (get_local $1) (i32.load (tee_local $4 (i32.add @@ -994,12 +1000,12 @@ ) ) ) - (get_local $1) ) (call $qa) ) (if (i32.eq + (get_local $1) (i32.load (tee_local $5 (i32.add @@ -1008,7 +1014,6 @@ ) ) ) - (get_local $1) ) (block (i32.store @@ -1032,7 +1037,6 @@ (block $do-once8 (if (i32.eq - (get_local $1) (i32.load (tee_local $3 (i32.add @@ -1048,6 +1052,7 @@ ) ) ) + (get_local $1) ) (block (i32.store @@ -1090,6 +1095,7 @@ ) (if (i32.eq + (get_local $1) (i32.load (tee_local $8 (i32.add @@ -1098,7 +1104,6 @@ ) ) ) - (get_local $1) ) (i32.store (get_local $8) @@ -1194,8 +1199,8 @@ (i32.or (tee_local $0 (i32.add - (get_local $7) (get_local $2) + (get_local $7) ) ) (i32.const 3) @@ -1205,8 +1210,8 @@ (tee_local $3 (i32.add (i32.add - (get_local $1) (get_local $0) + (get_local $1) ) (i32.const 4) ) @@ -1269,17 +1274,17 @@ ) (if (i32.and - (tee_local $10 - (i32.load - (i32.const 1208) - ) - ) (tee_local $5 (i32.shl (i32.const 1) (get_local $8) ) ) + (tee_local $10 + (i32.load + (i32.const 1208) + ) + ) ) (if (i32.lt_u @@ -1311,8 +1316,8 @@ (i32.store (i32.const 1208) (i32.or - (get_local $10) (get_local $5) + (get_local $10) ) ) (set_local $41 @@ -1420,83 +1425,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $0) - (i32.add - (tee_local $13 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $8 + (i32.and + (i32.shr_u + (i32.add + (tee_local $4 + (i32.shl + (get_local $8) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $8) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $0) + (i32.add + (tee_local $13 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $8 + (tee_local $4 (i32.and (i32.shr_u (i32.add - (tee_local $4 + (tee_local $15 (i32.shl + (get_local $4) (get_local $8) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $8) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $3) - ) - (tee_local $4 - (i32.and - (i32.shr_u - (i32.add - (tee_local $16 - (i32.shl - (get_local $4) - (get_local $8) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $3) + (get_local $8) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $16) - (get_local $4) + (i32.shr_u + (i32.shl + (get_local $15) + (get_local $4) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $13) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $13) - (i32.const 1) ) ) ) @@ -1513,7 +1521,7 @@ (set_local $4 (get_local $5) ) - (set_local $16 + (set_local $15 (i32.const 0) ) (set_local $3 @@ -1559,8 +1567,8 @@ (set_local $4 (if (result i32) (i32.eq - (get_local $2) (get_local $0) + (get_local $2) ) (block (set_local $29 @@ -1588,7 +1596,7 @@ ) (set_local $2 (select - (get_local $16) + (get_local $15) (tee_local $13 (i32.load offset=20 (get_local $8) @@ -1641,7 +1649,7 @@ (get_local $2) ) (block - (set_local $16 + (set_local $15 (get_local $2) ) (set_local $3 @@ -1691,19 +1699,19 @@ (i32.eqz (tee_local $5 (i32.and - (get_local $10) (i32.or - (tee_local $13 - (i32.shl - (i32.const 2) - (get_local $27) - ) - ) (i32.sub (i32.const 0) - (get_local $13) + (tee_local $13 + (i32.shl + (i32.const 2) + (get_local $27) + ) + ) ) + (get_local $13) ) + (get_local $10) ) ) ) @@ -1715,11 +1723,11 @@ (tee_local $13 (i32.add (i32.and - (get_local $5) (i32.sub (i32.const 0) (get_local $5) ) + (get_local $5) ) (i32.const -1) ) @@ -1729,60 +1737,53 @@ (i32.const 16) ) ) + (set_local $13 + (i32.and + (i32.shr_u + (tee_local $2 + (i32.shr_u + (get_local $13) + (get_local $5) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (set_local $2 + (i32.and + (i32.shr_u + (tee_local $6 + (i32.shr_u + (get_local $2) + (get_local $13) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + (set_local $6 + (i32.and + (i32.shr_u + (tee_local $9 + (i32.shr_u + (get_local $6) + (get_local $2) + ) + ) + (i32.const 1) + ) + (i32.const 2) + ) + ) (i32.load (i32.add (i32.shl (i32.add (i32.or - (i32.or - (i32.or - (i32.or - (tee_local $13 - (i32.and - (i32.shr_u - (tee_local $2 - (i32.shr_u - (get_local $13) - (get_local $5) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (get_local $5) - ) - (tee_local $2 - (i32.and - (i32.shr_u - (tee_local $6 - (i32.shr_u - (get_local $2) - (get_local $13) - ) - ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (tee_local $6 - (i32.and - (i32.shr_u - (tee_local $9 - (i32.shr_u - (get_local $6) - (get_local $2) - ) - ) - (i32.const 1) - ) - (i32.const 2) - ) - ) - ) (tee_local $9 (i32.and (i32.shr_u @@ -1797,6 +1798,16 @@ (i32.const 1) ) ) + (i32.or + (get_local $6) + (i32.or + (get_local $2) + (i32.or + (get_local $5) + (get_local $13) + ) + ) + ) ) (i32.shr_u (get_local $3) @@ -1948,8 +1959,8 @@ (get_local $11) (tee_local $9 (i32.add - (get_local $11) (get_local $0) + (get_local $11) ) ) ) @@ -1983,13 +1994,13 @@ ) ) (block (result i32) - (set_local $16 + (set_local $15 (get_local $5) ) (get_local $2) ) (if (result i32) - (tee_local $16 + (tee_local $15 (i32.load (tee_local $13 (i32.add @@ -2010,14 +2021,14 @@ (i32.load (tee_local $2 (i32.add - (get_local $16) + (get_local $15) (i32.const 20) ) ) ) ) (block - (set_local $16 + (set_local $15 (get_local $5) ) (set_local $4 @@ -2031,14 +2042,14 @@ (i32.load (tee_local $2 (i32.add - (get_local $16) + (get_local $15) (i32.const 16) ) ) ) ) (block - (set_local $16 + (set_local $15 (get_local $5) ) (set_local $4 @@ -2060,7 +2071,7 @@ (i32.const 0) ) (set_local $22 - (get_local $16) + (get_local $15) ) ) ) @@ -2079,6 +2090,7 @@ ) (if (i32.ne + (get_local $11) (i32.load (tee_local $5 (i32.add @@ -2087,12 +2099,12 @@ ) ) ) - (get_local $11) ) (call $qa) ) (if (i32.eq + (get_local $11) (i32.load (tee_local $13 (i32.add @@ -2101,7 +2113,6 @@ ) ) ) - (get_local $11) ) (block (i32.store @@ -2125,7 +2136,6 @@ (block $do-once21 (if (i32.eq - (get_local $11) (i32.load (tee_local $10 (i32.add @@ -2141,6 +2151,7 @@ ) ) ) + (get_local $11) ) (block (i32.store @@ -2183,6 +2194,7 @@ ) (if (i32.eq + (get_local $11) (i32.load (tee_local $3 (i32.add @@ -2191,7 +2203,6 @@ ) ) ) - (get_local $11) ) (i32.store (get_local $3) @@ -2287,8 +2298,8 @@ (i32.or (tee_local $6 (i32.add - (get_local $18) (get_local $0) + (get_local $18) ) ) (i32.const 3) @@ -2298,8 +2309,8 @@ (tee_local $10 (i32.add (i32.add - (get_local $11) (get_local $6) + (get_local $11) ) (i32.const 4) ) @@ -2357,17 +2368,17 @@ ) (if (i32.and - (tee_local $3 - (i32.load - (i32.const 1208) - ) - ) (tee_local $2 (i32.shl (i32.const 1) (get_local $10) ) ) + (tee_local $3 + (i32.load + (i32.const 1208) + ) + ) ) (if (i32.lt_u @@ -2399,8 +2410,8 @@ (i32.store (i32.const 1208) (i32.or - (get_local $3) (get_local $2) + (get_local $3) ) ) (set_local $19 @@ -2450,83 +2461,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $18) - (i32.add - (tee_local $13 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $6 + (i32.and + (i32.shr_u + (i32.add + (tee_local $2 + (i32.shl + (get_local $6) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $6) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $18) + (i32.add + (tee_local $13 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $6 + (tee_local $2 (i32.and (i32.shr_u (i32.add - (tee_local $2 + (tee_local $10 (i32.shl + (get_local $2) (get_local $6) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $6) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $3) - ) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (tee_local $10 - (i32.shl - (get_local $2) - (get_local $6) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $3) + (get_local $6) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $10) - (get_local $2) + (i32.shr_u + (i32.shl + (get_local $10) + (get_local $2) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $13) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $13) - (i32.const 1) ) ) ) @@ -2629,13 +2643,13 @@ (block $while-out27 (result i32) (if (i32.eq + (get_local $18) (i32.and (i32.load offset=4 (get_local $2) ) (i32.const -8) ) - (get_local $18) ) (block (set_local $17 @@ -2682,7 +2696,7 @@ (set_local $21 (get_local $13) ) - (set_local $15 + (set_local $16 (get_local $2) ) (i32.const 145) @@ -2708,7 +2722,7 @@ ) (i32.store offset=24 (get_local $9) - (get_local $15) + (get_local $16) ) (i32.store offset=12 (get_local $9) @@ -2809,7 +2823,7 @@ (get_local $6) ) (block - (set_local $15 + (set_local $16 (i32.load (i32.const 1228) ) @@ -2829,8 +2843,8 @@ (i32.const 1228) (tee_local $21 (i32.add - (get_local $15) (get_local $6) + (get_local $16) ) ) ) @@ -2847,13 +2861,13 @@ ) (i32.store (i32.add - (get_local $21) (get_local $17) + (get_local $21) ) (get_local $17) ) (i32.store offset=4 - (get_local $15) + (get_local $16) (i32.or (get_local $6) (i32.const 3) @@ -2870,7 +2884,7 @@ (i32.const 0) ) (i32.store offset=4 - (get_local $15) + (get_local $16) (i32.or (get_local $11) (i32.const 3) @@ -2880,8 +2894,8 @@ (tee_local $17 (i32.add (i32.add - (get_local $15) (get_local $11) + (get_local $16) ) (i32.const 4) ) @@ -2900,7 +2914,7 @@ ) (if (i32.gt_u - (tee_local $15 + (tee_local $16 (i32.load (i32.const 1220) ) @@ -2912,7 +2926,7 @@ (i32.const 1220) (tee_local $17 (i32.sub - (get_local $15) + (get_local $16) (get_local $6) ) ) @@ -2921,12 +2935,12 @@ (i32.const 1232) (tee_local $11 (i32.add - (tee_local $15 + (get_local $6) + (tee_local $16 (i32.load (i32.const 1232) ) ) - (get_local $6) ) ) ) @@ -2938,7 +2952,7 @@ ) ) (i32.store offset=4 - (get_local $15) + (get_local $16) (i32.or (get_local $6) (i32.const 3) @@ -2980,7 +2994,7 @@ ) (i32.store (get_local $14) - (tee_local $15 + (tee_local $16 (i32.xor (i32.and (get_local $14) @@ -2992,11 +3006,11 @@ ) (i32.store (i32.const 1680) - (get_local $15) + (get_local $16) ) ) ) - (set_local $15 + (set_local $16 (i32.add (get_local $6) (i32.const 48) @@ -3051,12 +3065,12 @@ (i32.le_u (tee_local $7 (i32.add + (get_local $14) (tee_local $3 (i32.load (i32.const 1640) ) ) - (get_local $14) ) ) (get_local $3) @@ -3112,7 +3126,6 @@ (if (i32.gt_u (i32.add - (get_local $3) (i32.load (tee_local $19 (i32.add @@ -3121,6 +3134,7 @@ ) ) ) + (get_local $3) ) (get_local $18) ) @@ -3152,61 +3166,64 @@ (i32.lt_u (tee_local $7 (i32.and + (get_local $21) (i32.sub (get_local $11) (i32.load (i32.const 1220) ) ) - (get_local $21) ) ) (i32.const 2147483647) ) - (if - (i32.eq - (tee_local $19 - (call $ta - (get_local $7) - ) - ) - (i32.add - (i32.load - (get_local $0) - ) - (i32.load - (get_local $5) - ) + (block + (set_local $19 + (call $ta + (get_local $7) ) ) (if - (i32.ne + (i32.eq + (i32.add + (i32.load + (get_local $0) + ) + (i32.load + (get_local $5) + ) + ) (get_local $19) - (i32.const -1) + ) + (if + (i32.ne + (get_local $19) + (i32.const -1) + ) + (block + (set_local $20 + (get_local $19) + ) + (set_local $26 + (get_local $7) + ) + (br $label$break$b + (i32.const 191) + ) + ) ) (block - (set_local $20 + (set_local $12 (get_local $19) ) - (set_local $26 + (set_local $1 (get_local $7) ) - (br $label$break$b - (i32.const 191) + (set_local $8 + (i32.const 181) ) ) ) - (block - (set_local $12 - (get_local $19) - ) - (set_local $1 - (get_local $7) - ) - (set_local $8 - (i32.const 181) - ) - ) ) ) ) @@ -3232,6 +3249,9 @@ (set_local $2 (if (result i32) (i32.and + (tee_local $0 + (get_local $18) + ) (tee_local $19 (i32.add (tee_local $7 @@ -3242,9 +3262,6 @@ (i32.const -1) ) ) - (tee_local $0 - (get_local $18) - ) ) (i32.add (i32.sub @@ -3253,8 +3270,8 @@ ) (i32.and (i32.add - (get_local $19) (get_local $0) + (get_local $19) ) (i32.sub (i32.const 0) @@ -3277,14 +3294,14 @@ ) (if (i32.and - (i32.gt_u - (get_local $2) - (get_local $6) - ) (i32.lt_u (get_local $2) (i32.const 2147483647) ) + (i32.gt_u + (get_local $2) + (get_local $6) + ) ) (block (if @@ -3309,12 +3326,12 @@ (set_local $1 (if (result i32) (i32.eq + (get_local $18) (tee_local $19 (call $ta (get_local $2) ) ) - (get_local $18) ) (block (set_local $20 @@ -3358,19 +3375,19 @@ (set_local $4 (if (result i32) (i32.and - (i32.gt_u - (get_local $15) - (get_local $1) - ) (i32.and - (i32.lt_u - (get_local $1) - (i32.const 2147483647) - ) (i32.ne (get_local $12) (i32.const -1) ) + (i32.lt_u + (get_local $1) + (i32.const 2147483647) + ) + ) + (i32.gt_u + (get_local $16) + (get_local $1) ) ) (if (result i32) @@ -3378,15 +3395,15 @@ (tee_local $0 (i32.and (i32.add - (i32.sub - (get_local $17) - (get_local $1) - ) (tee_local $18 (i32.load (i32.const 1688) ) ) + (i32.sub + (get_local $17) + (get_local $1) + ) ) (i32.sub (i32.const 0) @@ -3462,28 +3479,28 @@ ) (if (i32.and - (i32.lt_u - (tee_local $4 - (call $ta - (get_local $14) - ) - ) - (tee_local $14 - (call $ta - (i32.const 0) - ) - ) - ) (i32.and (i32.ne - (get_local $4) + (tee_local $4 + (call $ta + (get_local $14) + ) + ) (i32.const -1) ) (i32.ne - (get_local $14) + (tee_local $14 + (call $ta + (i32.const 0) + ) + ) (i32.const -1) ) ) + (i32.lt_u + (get_local $4) + (get_local $14) + ) ) (if (i32.gt_u @@ -3523,10 +3540,10 @@ (i32.const 1640) (tee_local $12 (i32.add + (get_local $26) (i32.load (i32.const 1640) ) - (get_local $26) ) ) ) @@ -3556,13 +3573,7 @@ (block $do-out40 (if (i32.eq - (get_local $20) (i32.add - (tee_local $4 - (i32.load - (get_local $1) - ) - ) (tee_local $17 (i32.load (tee_local $14 @@ -3573,7 +3584,13 @@ ) ) ) + (tee_local $4 + (i32.load + (get_local $1) + ) + ) ) + (get_local $20) ) (block (set_local $48 @@ -3632,13 +3649,12 @@ (i32.store (get_local $49) (i32.add - (get_local $50) (get_local $26) + (get_local $50) ) ) (set_local $1 (i32.add - (get_local $12) (tee_local $17 (select (i32.and @@ -3660,17 +3676,18 @@ ) ) ) + (get_local $12) ) ) (set_local $14 (i32.add + (i32.load + (i32.const 1220) + ) (i32.sub (get_local $26) (get_local $17) ) - (i32.load - (i32.const 1220) - ) ) ) (i32.store @@ -3706,7 +3723,7 @@ ) ) ) - (set_local $16 + (set_local $15 (if (result i32) (i32.lt_u (get_local $20) @@ -3739,10 +3756,10 @@ (block $while-out42 (if (i32.eq + (get_local $14) (i32.load (get_local $1) ) - (get_local $14) ) (block (set_local $52 @@ -3796,15 +3813,14 @@ ) ) (i32.add + (get_local $26) (i32.load (get_local $1) ) - (get_local $26) ) ) (set_local $17 (i32.add - (get_local $20) (select (i32.and (i32.sub @@ -3824,11 +3840,11 @@ (i32.const 7) ) ) + (get_local $20) ) ) (set_local $4 (i32.add - (get_local $14) (select (i32.and (i32.sub @@ -3848,15 +3864,16 @@ (i32.const 7) ) ) + (get_local $14) ) ) (set_local $1 (i32.add - (get_local $17) (get_local $6) + (get_local $17) ) ) - (set_local $15 + (set_local $16 (i32.sub (i32.sub (get_local $4) @@ -3882,10 +3899,10 @@ (i32.const 1220) (tee_local $2 (i32.add + (get_local $16) (i32.load (i32.const 1220) ) - (get_local $15) ) ) ) @@ -3904,20 +3921,20 @@ (block $do-once44 (if (i32.eq - (get_local $4) (i32.load (i32.const 1228) ) + (get_local $4) ) (block (i32.store (i32.const 1216) (tee_local $2 (i32.add + (get_local $16) (i32.load (i32.const 1216) ) - (get_local $15) ) ) ) @@ -3981,11 +3998,6 @@ ) (if (i32.ne - (tee_local $21 - (i32.load offset=8 - (get_local $4) - ) - ) (tee_local $19 (i32.add (i32.shl @@ -3995,21 +4007,26 @@ (i32.const 1248) ) ) + (tee_local $21 + (i32.load offset=8 + (get_local $4) + ) + ) ) (block $do-once47 (if (i32.lt_u (get_local $21) - (get_local $16) + (get_local $15) ) (call $qa) ) (br_if $do-once47 (i32.eq + (get_local $4) (i32.load offset=12 (get_local $21) ) - (get_local $4) ) ) (call $qa) @@ -4054,12 +4071,13 @@ (if (i32.lt_u (get_local $11) - (get_local $16) + (get_local $15) ) (call $qa) ) (if (i32.eq + (get_local $4) (i32.load (tee_local $0 (i32.add @@ -4068,7 +4086,6 @@ ) ) ) - (get_local $4) ) (block (set_local $43 @@ -4191,7 +4208,7 @@ (if (i32.lt_u (get_local $0) - (get_local $16) + (get_local $15) ) (call $qa) (block @@ -4213,12 +4230,13 @@ (get_local $4) ) ) - (get_local $16) + (get_local $15) ) (call $qa) ) (if (i32.ne + (get_local $4) (i32.load (tee_local $3 (i32.add @@ -4227,12 +4245,12 @@ ) ) ) - (get_local $4) ) (call $qa) ) (if (i32.eq + (get_local $4) (i32.load (tee_local $18 (i32.add @@ -4241,7 +4259,6 @@ ) ) ) - (get_local $4) ) (block (i32.store @@ -4267,7 +4284,6 @@ ) (if (i32.eq - (get_local $4) (i32.load (tee_local $21 (i32.add @@ -4283,6 +4299,7 @@ ) ) ) + (get_local $4) ) (block $do-once55 (i32.store @@ -4321,6 +4338,7 @@ ) (if (i32.eq + (get_local $4) (i32.load (tee_local $11 (i32.add @@ -4329,7 +4347,6 @@ ) ) ) - (get_local $4) ) (i32.store (get_local $11) @@ -4428,10 +4445,10 @@ (get_local $5) ) ) - (set_local $15 + (set_local $16 (i32.add (get_local $5) - (get_local $15) + (get_local $16) ) ) ) @@ -4453,26 +4470,26 @@ (i32.store offset=4 (get_local $1) (i32.or - (get_local $15) + (get_local $16) (i32.const 1) ) ) (i32.store (i32.add (get_local $1) - (get_local $15) + (get_local $16) ) - (get_local $15) + (get_local $16) ) (set_local $0 (i32.shr_u - (get_local $15) + (get_local $16) (i32.const 3) ) ) (if (i32.lt_u - (get_local $15) + (get_local $16) (i32.const 256) ) (block @@ -4487,17 +4504,17 @@ ) (if (i32.and - (tee_local $11 - (i32.load - (i32.const 1208) - ) - ) (tee_local $0 (i32.shl (i32.const 1) (get_local $0) ) ) + (tee_local $11 + (i32.load + (i32.const 1208) + ) + ) ) (block $do-once59 (if @@ -4532,8 +4549,8 @@ (i32.store (i32.const 1208) (i32.or - (get_local $11) (get_local $0) + (get_local $11) ) ) (set_local $44 @@ -4573,93 +4590,96 @@ (if (result i32) (tee_local $0 (i32.shr_u - (get_local $15) + (get_local $16) (i32.const 8) ) ) (if (result i32) (i32.gt_u - (get_local $15) + (get_local $16) (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $15) - (i32.add - (tee_local $7 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $19 + (i32.and + (i32.shr_u + (i32.add + (tee_local $5 + (i32.shl + (get_local $0) + (tee_local $11 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $16) + (i32.add + (tee_local $7 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $19 + (tee_local $5 (i32.and (i32.shr_u (i32.add - (tee_local $5 + (tee_local $0 (i32.shl - (get_local $0) - (tee_local $11 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) + (get_local $5) + (get_local $19) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $11) - ) - (tee_local $5 - (i32.and - (i32.shr_u - (i32.add - (tee_local $0 - (i32.shl - (get_local $5) - (get_local $19) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $11) + (get_local $19) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $0) - (get_local $5) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $5) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $7) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $7) - (i32.const 1) ) ) ) @@ -4691,17 +4711,17 @@ (if (i32.eqz (i32.and - (tee_local $2 - (i32.load - (i32.const 1212) - ) - ) (tee_local $7 (i32.shl (i32.const 1) (get_local $5) ) ) + (tee_local $2 + (i32.load + (i32.const 1212) + ) + ) ) ) (block @@ -4733,7 +4753,7 @@ ) (set_local $7 (i32.shl - (get_local $15) + (get_local $16) (select (i32.const 0) (i32.sub @@ -4762,13 +4782,13 @@ (block $while-out63 (result i32) (if (i32.eq + (get_local $16) (i32.and (i32.load offset=4 (get_local $2) ) (i32.const -8) ) - (get_local $15) ) (block (set_local $38 @@ -4936,19 +4956,19 @@ ) (if (i32.gt_u - (tee_local $15 + (tee_local $16 (i32.add - (get_local $1) (i32.load offset=4 (get_local $30) ) + (get_local $1) ) ) (get_local $12) ) (block (set_local $0 - (get_local $15) + (get_local $16) ) (br $while-out65) ) @@ -4962,17 +4982,6 @@ (br $while-in66) ) ) - (set_local $15 - (i32.add - (tee_local $17 - (i32.add - (get_local $0) - (i32.const -47) - ) - ) - (i32.const 8) - ) - ) (set_local $1 (i32.add (tee_local $17 @@ -4980,26 +4989,36 @@ (get_local $12) (tee_local $1 (i32.add - (get_local $17) (select (i32.and (i32.sub (i32.const 0) - (get_local $15) + (tee_local $16 + (i32.add + (tee_local $17 + (i32.add + (get_local $0) + (i32.const -47) + ) + ) + (i32.const 8) + ) + ) ) (i32.const 7) ) (i32.const 0) (i32.and - (get_local $15) + (get_local $16) (i32.const 7) ) ) + (get_local $17) ) ) (i32.lt_u (get_local $1) - (tee_local $15 + (tee_local $16 (i32.add (get_local $12) (i32.const 16) @@ -5015,7 +5034,6 @@ (i32.const 1232) (tee_local $4 (i32.add - (get_local $20) (tee_local $14 (select (i32.and @@ -5037,6 +5055,7 @@ ) ) ) + (get_local $20) ) ) ) @@ -5149,8 +5168,8 @@ ) (if (i32.ne - (get_local $17) (get_local $12) + (get_local $17) ) (block (i32.store @@ -5201,17 +5220,17 @@ ) (if (i32.and - (tee_local $2 - (i32.load - (i32.const 1208) - ) - ) (tee_local $5 (i32.shl (i32.const 1) (get_local $4) ) ) + (tee_local $2 + (i32.load + (i32.const 1208) + ) + ) ) (if (i32.lt_u @@ -5294,83 +5313,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $1) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $14 + (i32.and + (i32.shr_u + (i32.add + (tee_local $5 + (i32.shl + (get_local $14) + (tee_local $2 + (i32.and + (i32.shr_u + (i32.add + (get_local $14) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $1) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $14 + (tee_local $5 (i32.and (i32.shr_u (i32.add - (tee_local $5 + (tee_local $4 (i32.shl + (get_local $5) (get_local $14) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (get_local $14) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $2) - ) - (tee_local $5 - (i32.and - (i32.shr_u - (i32.add - (tee_local $4 - (i32.shl - (get_local $5) - (get_local $14) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $2) + (get_local $14) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $4) - (get_local $5) + (i32.shr_u + (i32.shl + (get_local $4) + (get_local $5) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) ) @@ -5391,7 +5413,7 @@ (i32.const 0) ) (i32.store - (get_local $15) + (get_local $16) (i32.const 0) ) (if @@ -5414,8 +5436,8 @@ (i32.store (i32.const 1212) (i32.or - (get_local $5) (get_local $4) + (get_local $5) ) ) (i32.store @@ -5468,13 +5490,13 @@ (block $while-out69 (result i32) (if (i32.eq + (get_local $1) (i32.and (i32.load offset=4 (get_local $5) ) (i32.const -8) ) - (get_local $1) ) (block (set_local $31 @@ -5695,7 +5717,6 @@ (i32.const 1232) (tee_local $4 (i32.add - (get_local $20) (tee_local $14 (select (i32.and @@ -5717,6 +5738,7 @@ ) ) ) + (get_local $20) ) ) ) @@ -5741,8 +5763,8 @@ ) (i32.store offset=4 (i32.add - (get_local $4) (get_local $1) + (get_local $4) ) (i32.const 40) ) @@ -5777,12 +5799,12 @@ (i32.const 1232) (tee_local $8 (i32.add + (get_local $6) (tee_local $12 (i32.load (i32.const 1232) ) ) - (get_local $6) ) ) ) @@ -5828,7 +5850,7 @@ (get_local $25) ) (i32.add - (get_local $15) + (get_local $16) (i32.const 8) ) ) @@ -5931,8 +5953,8 @@ ) (set_local $6 (i32.add - (get_local $10) (get_local $6) + (get_local $10) ) ) (if @@ -5949,10 +5971,10 @@ ) (if (i32.eq - (get_local $1) (i32.load (i32.const 1228) ) + (get_local $1) ) (block (if @@ -6054,10 +6076,10 @@ ) (if (i32.ne + (get_local $1) (i32.load offset=12 (get_local $10) ) - (get_local $1) ) (call $qa) ) @@ -6114,6 +6136,7 @@ ) (if (i32.eq + (get_local $1) (i32.load (tee_local $4 (i32.add @@ -6122,7 +6145,6 @@ ) ) ) - (get_local $1) ) (set_local $9 (get_local $4) @@ -6155,12 +6177,12 @@ ) (if (i32.eq + (get_local $1) (tee_local $0 (i32.load offset=12 (get_local $1) ) ) - (get_local $1) ) (block $do-once0 (if @@ -6280,6 +6302,7 @@ ) (if (i32.ne + (get_local $1) (i32.load (tee_local $9 (i32.add @@ -6288,12 +6311,12 @@ ) ) ) - (get_local $1) ) (call $qa) ) (if (i32.eq + (get_local $1) (i32.load (tee_local $4 (i32.add @@ -6302,7 +6325,6 @@ ) ) ) - (get_local $1) ) (block (i32.store @@ -6326,7 +6348,6 @@ (block (if (i32.eq - (get_local $1) (i32.load (tee_local $3 (i32.add @@ -6342,6 +6363,7 @@ ) ) ) + (get_local $1) ) (block (i32.store @@ -6390,6 +6412,7 @@ ) (if (i32.eq + (get_local $1) (i32.load (tee_local $0 (i32.add @@ -6398,7 +6421,6 @@ ) ) ) - (get_local $1) ) (i32.store (get_local $0) @@ -6581,20 +6603,20 @@ (block (result i32) (if (i32.eq - (get_local $8) (i32.load (i32.const 1232) ) + (get_local $8) ) (block (i32.store (i32.const 1220) (tee_local $5 (i32.add + (get_local $7) (i32.load (i32.const 1220) ) - (get_local $7) ) ) ) @@ -6611,10 +6633,10 @@ ) (if (i32.ne - (get_local $2) (i32.load (i32.const 1228) ) + (get_local $2) ) (return) ) @@ -6631,20 +6653,20 @@ ) (if (i32.eq - (get_local $8) (i32.load (i32.const 1228) ) + (get_local $8) ) (block (i32.store (i32.const 1216) (tee_local $5 (i32.add + (get_local $7) (i32.load (i32.const 1216) ) - (get_local $7) ) ) ) @@ -6671,11 +6693,11 @@ ) (set_local $5 (i32.add + (get_local $7) (i32.and (get_local $1) (i32.const -8) ) - (get_local $7) ) ) (set_local $14 @@ -6698,11 +6720,6 @@ ) (if (i32.ne - (tee_local $12 - (i32.load offset=8 - (get_local $8) - ) - ) (tee_local $4 (i32.add (i32.shl @@ -6712,6 +6729,11 @@ (i32.const 1248) ) ) + (tee_local $12 + (i32.load offset=8 + (get_local $8) + ) + ) ) (block (if @@ -6725,10 +6747,10 @@ ) (if (i32.ne + (get_local $8) (i32.load offset=12 (get_local $12) ) - (get_local $8) ) (call $qa) ) @@ -6781,6 +6803,7 @@ ) (if (i32.eq + (get_local $8) (i32.load (tee_local $4 (i32.add @@ -6789,7 +6812,6 @@ ) ) ) - (get_local $8) ) (set_local $17 (get_local $4) @@ -6815,12 +6837,12 @@ ) (if (i32.eq + (get_local $8) (tee_local $3 (i32.load offset=12 (get_local $8) ) ) - (get_local $8) ) (block $do-once6 (set_local $7 @@ -6936,6 +6958,7 @@ ) (if (i32.ne + (get_local $8) (i32.load (tee_local $9 (i32.add @@ -6944,12 +6967,12 @@ ) ) ) - (get_local $8) ) (call $qa) ) (if (i32.eq + (get_local $8) (i32.load (tee_local $4 (i32.add @@ -6958,7 +6981,6 @@ ) ) ) - (get_local $8) ) (block (i32.store @@ -6982,7 +7004,6 @@ (block (if (i32.eq - (get_local $8) (i32.load (tee_local $6 (i32.add @@ -6998,6 +7019,7 @@ ) ) ) + (get_local $8) ) (block (i32.store @@ -7040,6 +7062,7 @@ ) (if (i32.eq + (get_local $8) (i32.load (tee_local $3 (i32.add @@ -7048,7 +7071,6 @@ ) ) ) - (get_local $8) ) (i32.store (get_local $3) @@ -7157,10 +7179,10 @@ ) (if (result i32) (i32.eq - (get_local $2) (i32.load (i32.const 1228) ) + (get_local $2) ) (block (i32.store @@ -7236,8 +7258,8 @@ (i32.store (i32.const 1208) (i32.or - (get_local $6) (get_local $5) + (get_local $6) ) ) (set_local $15 @@ -7287,83 +7309,86 @@ (i32.const 16777215) ) (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $0) - (i32.add - (tee_local $5 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (block (result i32) + (set_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $15 + (i32.shl + (get_local $1) + (tee_local $13 + (i32.and + (i32.shr_u + (i32.add + (get_local $1) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) + ) + ) + (i32.const 520192) + ) + (i32.const 16) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.and + (i32.shr_u + (get_local $0) + (i32.add + (tee_local $5 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $1 + (tee_local $15 (i32.and (i32.shr_u (i32.add - (tee_local $15 + (tee_local $6 (i32.shl + (get_local $15) (get_local $1) - (tee_local $13 - (i32.and - (i32.shr_u - (i32.add - (get_local $1) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) ) ) - (i32.const 520192) + (i32.const 245760) ) (i32.const 16) ) - (i32.const 4) + (i32.const 2) ) ) - (get_local $13) - ) - (tee_local $15 - (i32.and - (i32.shr_u - (i32.add - (tee_local $6 - (i32.shl - (get_local $15) - (get_local $1) - ) - ) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) + (i32.or + (get_local $1) + (get_local $13) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $6) - (get_local $15) + (i32.shr_u + (i32.shl + (get_local $6) + (get_local $15) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $5) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $5) - (i32.const 1) ) ) ) @@ -7389,17 +7414,17 @@ ) (if (i32.and - (tee_local $15 - (i32.load - (i32.const 1212) - ) - ) (tee_local $6 (i32.shl (i32.const 1) (get_local $7) ) ) + (tee_local $15 + (i32.load + (i32.const 1212) + ) + ) ) (block (set_local $13 @@ -7433,13 +7458,13 @@ (block $while-out14 (result i32) (if (i32.eq + (get_local $0) (i32.and (i32.load offset=4 (get_local $1) ) (i32.const -8) ) - (get_local $0) ) (block (set_local $16 @@ -7584,8 +7609,8 @@ (i32.store (i32.const 1212) (i32.or - (get_local $15) (get_local $6) + (get_local $15) ) ) (i32.store @@ -7742,8 +7767,8 @@ ) (set_local $4 (i32.add - (get_local $9) (get_local $2) + (get_local $9) ) ) (loop $while-in @@ -7900,10 +7925,10 @@ (i32.store (get_local $7) (i32.add + (get_local $6) (i32.load (get_local $7) ) - (get_local $6) ) ) (set_local $3 @@ -7919,10 +7944,10 @@ (i32.store (get_local $5) (i32.add + (get_local $6) (i32.load (get_local $5) ) - (get_local $6) ) ) (i32.store offset=4 @@ -8208,15 +8233,15 @@ (i32.store (get_local $4) (i32.add + (get_local $1) (i32.load (get_local $4) ) - (get_local $1) ) ) (i32.add - (get_local $3) (get_local $1) + (get_local $3) ) ) ) @@ -8297,21 +8322,21 @@ (loop $while-in1 (result i32) (if (result i32) (i32.and + (i32.add + (tee_local $1 + (i32.load + (get_local $2) + ) + ) + (i32.const -16843009) + ) (i32.xor (i32.and - (tee_local $1 - (i32.load - (get_local $2) - ) - ) + (get_local $1) (i32.const -2139062144) ) (i32.const -2139062144) ) - (i32.add - (get_local $1) - (i32.const -16843009) - ) ) (get_local $2) (block @@ -8951,11 +8976,11 @@ (i32.or (i32.or (i32.or - (get_local $1) (i32.shl (get_local $1) (i32.const 8) ) + (get_local $1) ) (i32.shl (get_local $1) @@ -9126,11 +9151,11 @@ (i32.store8 (get_local $1) (i32.or + (get_local $2) (i32.add (get_local $2) (i32.const 255) ) - (get_local $2) ) ) (tee_local $0 @@ -9177,10 +9202,10 @@ (i32.store offset=16 (get_local $0) (i32.add - (get_local $1) (i32.load offset=48 (get_local $0) ) + (get_local $1) ) ) (i32.const 0) @@ -9199,6 +9224,7 @@ ) (if (i32.ne + (get_local $3) (tee_local $0 (call $Wa (get_local $0) @@ -9206,7 +9232,6 @@ (get_local $2) ) ) - (get_local $3) ) (set_local $4 (i32.div_u @@ -9437,8 +9462,8 @@ ) (set_global $r (i32.add - (get_global $r) (get_local $0) + (get_global $r) ) ) (set_global $r diff --git a/test/noffi_i64.fromasm b/test/noffi_i64.fromasm index 2e2c5b989..5c08d6009 100644 --- a/test/noffi_i64.fromasm +++ b/test/noffi_i64.fromasm @@ -8,8 +8,8 @@ (export "_main" (func $main)) (func $add (; 1 ;) (; has Stack IR ;) (param $0 i64) (param $1 i64) (result i64) (i64.add - (get_local $1) (get_local $0) + (get_local $1) ) ) (func $main (; 2 ;) (; has Stack IR ;) (result i32) diff --git a/test/noffi_i64.fromasm.clamp b/test/noffi_i64.fromasm.clamp index 2e2c5b989..5c08d6009 100644 --- a/test/noffi_i64.fromasm.clamp +++ b/test/noffi_i64.fromasm.clamp @@ -8,8 +8,8 @@ (export "_main" (func $main)) (func $add (; 1 ;) (; has Stack IR ;) (param $0 i64) (param $1 i64) (result i64) (i64.add - (get_local $1) (get_local $0) + (get_local $1) ) ) (func $main (; 2 ;) (; has Stack IR ;) (result i32) diff --git a/test/noffi_i64.fromasm.imprecise b/test/noffi_i64.fromasm.imprecise index 7cdc838fb..e91328184 100644 --- a/test/noffi_i64.fromasm.imprecise +++ b/test/noffi_i64.fromasm.imprecise @@ -5,8 +5,8 @@ (export "_main" (func $main)) (func $add (; 1 ;) (; has Stack IR ;) (param $0 i64) (param $1 i64) (result i64) (i64.add - (get_local $1) (get_local $0) + (get_local $1) ) ) (func $main (; 2 ;) (; has Stack IR ;) (result i32) diff --git a/test/passes/O.bin.txt b/test/passes/O.bin.txt index ae3bda836..468615c7d 100644 --- a/test/passes/O.bin.txt +++ b/test/passes/O.bin.txt @@ -13,13 +13,13 @@ ) (i64.const 1) (i64.mul - (get_local $0) (call $0 (i64.sub (get_local $0) (i64.const 1) ) ) + (get_local $0) ) ) ) @@ -31,13 +31,13 @@ ) (i64.const 1) (i64.mul - (get_local $0) (call $1 (i64.sub (get_local $0) (i64.const 1) ) ) + (get_local $0) ) ) ) @@ -87,8 +87,8 @@ (loop $label$3 (set_local $1 (i64.mul - (get_local $1) (get_local $0) + (get_local $1) ) ) (br_if $label$3 diff --git a/test/passes/inlining-optimizing_optimize-level=3.txt b/test/passes/inlining-optimizing_optimize-level=3.txt index 5e498c475..0a2d39db3 100644 --- a/test/passes/inlining-optimizing_optimize-level=3.txt +++ b/test/passes/inlining-optimizing_optimize-level=3.txt @@ -2460,8 +2460,8 @@ ) (if (i32.ne - (get_local $10) (get_local $5) + (get_local $10) ) (block (set_local $5 @@ -3305,3514 +3305,3509 @@ ) ) ) - (set_local $5 - (block $__rjto$8 (result i32) - (block $__rjti$8 - (block $__rjti$7 - (block $__rjti$6 - (block $__rjti$5 - (block $__rjti$4 - (block $__rjti$3 - (block $switch-default120 - (block $switch-case42 - (block $switch-case41 - (block $switch-case40 - (block $switch-case39 - (block $switch-case38 - (block $switch-case37 - (block $switch-case36 - (block $switch-case34 - (block $switch-case33 - (block $switch-case29 - (block $switch-case28 - (block $switch-case27 - (br_table $switch-case42 $switch-default120 $switch-case40 $switch-default120 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case29 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case42 $switch-default120 $switch-case37 $switch-case34 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-case34 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case29 $switch-default120 - (i32.sub - (tee_local $19 - (select - (i32.and - (tee_local $11 - (i32.load8_s - (get_local $19) + (call $_pad + (get_local $0) + (i32.const 32) + (tee_local $6 + (select + (tee_local $5 + (i32.add + (tee_local $11 + (select + (tee_local $13 + (i32.sub + (block $__rjto$8 (result i32) + (block $__rjti$8 + (block $__rjti$7 + (block $__rjti$6 + (block $__rjti$5 + (block $__rjti$4 + (block $__rjti$3 + (block $switch-default120 + (block $switch-case42 + (block $switch-case41 + (block $switch-case40 + (block $switch-case39 + (block $switch-case38 + (block $switch-case37 + (block $switch-case36 + (block $switch-case34 + (block $switch-case33 + (block $switch-case29 + (block $switch-case28 + (block $switch-case27 + (br_table $switch-case42 $switch-default120 $switch-case40 $switch-default120 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case29 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case42 $switch-default120 $switch-case37 $switch-case34 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-case34 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case29 $switch-default120 + (i32.sub + (tee_local $19 + (select + (i32.and + (tee_local $11 + (i32.load8_s + (get_local $19) + ) + ) + (i32.const -33) + ) + (get_local $11) + (i32.and + (i32.eq + (i32.and + (get_local $11) + (i32.const 15) + ) + (i32.const 3) + ) + (i32.ne + (get_local $9) + (i32.const 0) + ) + ) + ) + ) + (i32.const 65) + ) + ) + ) + (block $switch-default26 + (block $switch-case25 + (block $switch-case24 + (block $switch-case23 + (block $switch-case22 + (block $switch-case21 + (block $switch-case20 + (block $switch-case19 + (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26 + (get_local $9) + ) + ) + (i32.store + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store + (tee_local $5 + (i32.load + (get_local $14) + ) + ) + (get_local $17) + ) + (i32.store offset=4 + (get_local $5) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $17) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store16 + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store8 + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store + (i32.load + (get_local $14) + ) + (get_local $17) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (i32.store + (tee_local $5 + (i32.load + (get_local $14) + ) + ) + (get_local $17) + ) + (i32.store offset=4 + (get_local $5) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $17) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 + (get_local $7) + ) + (br $label$continue$L1) ) - ) - (i32.const -33) - ) - (get_local $11) - (i32.and - (i32.ne - (get_local $9) - (i32.const 0) - ) - (i32.eq - (i32.and - (get_local $11) - (i32.const 15) + (set_local $7 + (i32.or + (get_local $12) + (i32.const 8) + ) + ) + (set_local $6 + (select + (get_local $6) + (i32.const 8) + (i32.gt_u + (get_local $6) + (i32.const 8) + ) + ) ) - (i32.const 3) + (set_local $19 + (i32.const 120) + ) + (br $__rjti$3) + ) + (set_local $7 + (get_local $12) ) + (br $__rjti$3) ) - ) - ) - (i32.const 65) - ) - ) - ) - (block $switch-default26 - (block $switch-case25 - (block $switch-case24 - (block $switch-case23 - (block $switch-case22 - (block $switch-case21 - (block $switch-case20 - (block $switch-case19 - (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26 - (get_local $9) + (if + (i32.or + (tee_local $7 + (i32.load + (get_local $14) ) ) - (i32.store - (i32.load + (tee_local $8 + (i32.load offset=4 (get_local $14) ) - (get_local $17) ) + ) + (block (set_local $5 - (get_local $10) - ) - (set_local $10 (get_local $7) ) - (br $label$continue$L1) - ) - (i32.store - (i32.load - (get_local $14) + (set_local $7 + (get_local $8) + ) + (set_local $8 + (get_local $25) + ) + (loop $while-in32 + (i32.store8 + (tee_local $8 + (i32.add + (get_local $8) + (i32.const -1) + ) + ) + (i32.or + (i32.and + (get_local $5) + (i32.const 7) + ) + (i32.const 48) + ) + ) + (br_if $while-in32 + (i32.or + (tee_local $5 + (call $_bitshift64Lshr + (get_local $5) + (get_local $7) + (i32.const 3) + ) + ) + (tee_local $7 + (get_global $tempRet0) + ) + ) + ) ) - (get_local $17) - ) - (set_local $5 - (get_local $10) ) - (set_local $10 - (get_local $7) + (set_local $8 + (get_local $25) ) - (br $label$continue$L1) ) - (i32.store - (tee_local $5 - (i32.load - (get_local $14) - ) + (if + (i32.and + (get_local $12) + (i32.const 8) ) - (get_local $17) - ) - (i32.store offset=4 - (get_local $5) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $17) - (i32.const 0) + (block + (set_local $7 + (get_local $12) + ) + (set_local $6 + (select + (tee_local $12 + (i32.add + (i32.sub + (get_local $39) + (get_local $8) + ) + (i32.const 1) + ) + ) + (get_local $6) + (i32.lt_s + (get_local $6) + (get_local $12) + ) ) - (i32.const 31) ) - (i32.const 31) + ) + (set_local $7 + (get_local $12) ) ) (set_local $5 - (get_local $10) + (get_local $8) ) - (set_local $10 - (get_local $7) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) ) - (br $label$continue$L1) + (br $__rjti$8) ) - (i32.store16 + (set_local $5 (i32.load (get_local $14) ) - (get_local $17) ) - (set_local $5 - (get_local $10) + (if + (i32.lt_s + (tee_local $7 + (i32.load offset=4 + (get_local $14) + ) + ) + (i32.const 0) + ) + (block + (set_global $tempRet0 + (i32.sub + (i32.sub + (i32.const 0) + (get_local $7) + ) + (i32.gt_u + (get_local $5) + (i32.const 0) + ) + ) + ) + (i32.store + (get_local $14) + (tee_local $5 + (i32.sub + (i32.const 0) + (get_local $5) + ) + ) + ) + (i32.store offset=4 + (get_local $14) + (tee_local $7 + (get_global $tempRet0) + ) + ) + (set_local $8 + (i32.const 1) + ) + (set_local $9 + (i32.const 4091) + ) + (br $__rjti$4) + ) ) - (set_local $10 - (get_local $7) + (set_local $9 + (if (result i32) + (i32.and + (get_local $12) + (i32.const 2048) + ) + (block (result i32) + (set_local $8 + (i32.const 1) + ) + (i32.const 4092) + ) + (block (result i32) + (set_local $8 + (tee_local $9 + (i32.and + (get_local $12) + (i32.const 1) + ) + ) + ) + (select + (i32.const 4093) + (i32.const 4091) + (get_local $9) + ) + ) + ) ) - (br $label$continue$L1) + (br $__rjti$4) ) - (i32.store8 + (set_local $5 (i32.load (get_local $14) ) - (get_local $17) ) - (set_local $5 - (get_local $10) + (set_local $7 + (i32.load offset=4 + (get_local $14) + ) ) - (set_local $10 - (get_local $7) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) ) - (br $label$continue$L1) + (br $__rjti$4) ) - (i32.store - (i32.load + (drop + (i32.load offset=4 (get_local $14) ) - (get_local $17) ) - (set_local $5 - (get_local $10) - ) - (set_local $10 - (get_local $7) - ) - (br $label$continue$L1) - ) - (i32.store - (tee_local $5 + (i32.store8 + (get_local $40) (i32.load (get_local $14) ) ) - (get_local $17) - ) - (i32.store offset=4 - (get_local $5) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $17) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.const 31) + (set_local $7 + (get_local $40) + ) + (set_local $12 + (get_local $8) + ) + (set_local $11 + (i32.const 1) + ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (br $__rjto$8 + (get_local $25) ) ) (set_local $5 - (get_local $10) - ) - (set_local $10 - (get_local $7) + (call $_strerror + (i32.load + (call $___errno_location) + ) + ) ) - (br $label$continue$L1) + (br $__rjti$5) ) (set_local $5 - (get_local $10) - ) - (set_local $10 - (get_local $7) - ) - (br $label$continue$L1) - ) - (set_local $7 - (i32.or - (get_local $12) - (i32.const 8) - ) - ) - (set_local $6 - (select - (get_local $6) - (i32.const 8) - (i32.gt_u - (get_local $6) - (i32.const 8) + (select + (tee_local $5 + (i32.load + (get_local $14) + ) + ) + (i32.const 4101) + (get_local $5) ) ) + (br $__rjti$5) ) - (set_local $19 - (i32.const 120) - ) - (br $__rjti$3) - ) - (set_local $7 - (get_local $12) - ) - (br $__rjti$3) - ) - (if - (i32.or - (tee_local $7 - (i32.load + (drop + (i32.load offset=4 (get_local $14) ) ) - (tee_local $8 - (i32.load offset=4 + (i32.store + (get_local $41) + (i32.load (get_local $14) ) ) - ) - (block - (set_local $5 - (get_local $7) + (i32.store + (get_local $44) + (i32.const 0) ) - (set_local $7 - (get_local $8) + (i32.store + (get_local $14) + (get_local $41) ) (set_local $8 - (get_local $25) - ) - (loop $while-in32 - (i32.store8 - (tee_local $8 - (i32.add - (get_local $8) - (i32.const -1) - ) - ) - (i32.or - (i32.and - (get_local $5) - (i32.const 7) - ) - (i32.const 48) - ) - ) - (br_if $while-in32 - (i32.or - (tee_local $5 - (call $_bitshift64Lshr - (get_local $5) - (get_local $7) - (i32.const 3) - ) - ) - (tee_local $7 - (get_global $tempRet0) - ) - ) - ) + (i32.const -1) ) + (br $__rjti$6) ) - (set_local $8 - (get_local $25) - ) - ) - (if - (i32.and - (get_local $12) - (i32.const 8) - ) - (block - (set_local $7 - (get_local $12) - ) - (set_local $6 - (select - (tee_local $12 - (i32.add - (i32.sub - (get_local $39) - (get_local $8) - ) - (i32.const 1) - ) - ) + (if + (get_local $6) + (block + (set_local $8 (get_local $6) - (i32.lt_s - (get_local $6) - (get_local $12) - ) ) + (br $__rjti$6) ) - ) - (set_local $7 - (get_local $12) - ) - ) - (set_local $5 - (get_local $8) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$8) - ) - (set_local $5 - (i32.load - (get_local $14) - ) - ) - (if - (i32.lt_s - (tee_local $7 - (i32.load offset=4 - (get_local $14) - ) - ) - (i32.const 0) - ) - (block - (set_global $tempRet0 - (i32.sub - (i32.sub - (i32.const 0) - (get_local $7) - ) - (i32.gt_u - (get_local $5) + (block + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $16) (i32.const 0) + (get_local $12) ) - ) - ) - (i32.store - (get_local $14) - (tee_local $5 - (i32.sub + (set_local $7 (i32.const 0) - (get_local $5) ) + (br $__rjti$7) ) ) - (i32.store offset=4 - (get_local $14) - (tee_local $7 - (get_global $tempRet0) - ) - ) - (set_local $8 - (i32.const 1) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$4) ) - ) - (set_local $9 - (if (result i32) - (i32.and - (get_local $12) - (i32.const 2048) - ) - (block (result i32) - (set_local $8 - (i32.const 1) - ) - (i32.const 4092) - ) - (block (result i32) - (set_local $8 - (tee_local $9 - (i32.and - (get_local $12) - (i32.const 1) - ) - ) - ) - (select - (i32.const 4093) - (i32.const 4091) - (get_local $9) - ) + (set_local $15 + (f64.load + (get_local $14) ) ) - ) - (br $__rjti$4) - ) - (set_local $5 - (i32.load - (get_local $14) - ) - ) - (set_local $7 - (i32.load offset=4 - (get_local $14) - ) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$4) - ) - (drop - (i32.load offset=4 - (get_local $14) - ) - ) - (i32.store8 - (get_local $40) - (i32.load - (get_local $14) - ) - ) - (set_local $7 - (get_local $40) - ) - (set_local $12 - (get_local $8) - ) - (set_local $11 - (i32.const 1) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjto$8 - (get_local $25) - ) - ) - (set_local $5 - (call $_strerror - (i32.load - (call $___errno_location) - ) - ) - ) - (br $__rjti$5) - ) - (set_local $5 - (select - (tee_local $5 - (i32.load - (get_local $14) - ) - ) - (i32.const 4101) - (get_local $5) - ) - ) - (br $__rjti$5) - ) - (drop - (i32.load offset=4 - (get_local $14) - ) - ) - (i32.store - (get_local $41) - (i32.load - (get_local $14) - ) - ) - (i32.store - (get_local $44) - (i32.const 0) - ) - (i32.store - (get_local $14) - (get_local $41) - ) - (set_local $8 - (i32.const -1) - ) - (br $__rjti$6) - ) - (if - (get_local $6) - (block - (set_local $8 - (get_local $6) - ) - (br $__rjti$6) - ) - (block - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $16) - (i32.const 0) - (get_local $12) - ) - (set_local $7 - (i32.const 0) - ) - (br $__rjti$7) - ) - ) - ) - (set_local $15 - (f64.load - (get_local $14) - ) - ) - (i32.store - (get_local $21) - (i32.const 0) - ) - (f64.store - (get_global $tempDoublePtr) - (get_local $15) - ) - (drop - (i32.load - (get_global $tempDoublePtr) - ) - ) - (set_local $30 - (if (result i32) - (i32.lt_s - (i32.load offset=4 - (get_global $tempDoublePtr) - ) - (i32.const 0) - ) - (block (result i32) - (set_local $27 - (i32.const 1) - ) - (set_local $15 - (f64.neg - (get_local $15) - ) - ) - (i32.const 4108) - ) - (if (result i32) - (i32.and - (get_local $12) - (i32.const 2048) - ) - (block (result i32) - (set_local $27 - (i32.const 1) - ) - (i32.const 4111) - ) - (block (result i32) - (set_local $27 - (tee_local $5 - (i32.and - (get_local $12) - (i32.const 1) - ) - ) - ) - (select - (i32.const 4114) - (i32.const 4109) - (get_local $5) - ) - ) - ) - ) - ) - (f64.store - (get_global $tempDoublePtr) - (get_local $15) - ) - (drop - (i32.load - (get_global $tempDoublePtr) - ) - ) - (set_local $7 - (if (result i32) - (i32.lt_u - (i32.and - (i32.load offset=4 - (get_global $tempDoublePtr) - ) - (i32.const 2146435072) - ) - (i32.const 2146435072) - ) - (block $do-once49 (result i32) - (if - (tee_local $5 - (f64.ne - (tee_local $23 - (f64.mul - (call $_frexp - (get_local $15) + (i32.store (get_local $21) + (i32.const 0) ) - (f64.const 2) - ) - ) - (f64.const 0) - ) - ) - (i32.store - (get_local $21) - (i32.add - (i32.load - (get_local $21) - ) - (i32.const -1) - ) - ) - ) - (if - (i32.eq - (tee_local $24 - (i32.or - (get_local $19) - (i32.const 32) - ) - ) - (i32.const 97) - ) - (block - (set_local $9 - (select - (i32.add - (get_local $30) - (i32.const 9) - ) - (get_local $30) - (tee_local $13 - (i32.and - (get_local $19) - (i32.const 32) - ) - ) - ) - ) - (set_local $15 - (if (result f64) - (i32.or - (i32.gt_u - (get_local $6) - (i32.const 11) + (f64.store + (get_global $tempDoublePtr) + (get_local $15) ) - (i32.eqz - (tee_local $5 - (i32.sub - (i32.const 12) - (get_local $6) - ) + (drop + (i32.load + (get_global $tempDoublePtr) ) ) - ) - (get_local $23) - (block (result f64) - (set_local $15 - (f64.const 8) - ) - (loop $while-in54 - (set_local $15 - (f64.mul - (get_local $15) - (f64.const 16) - ) - ) - (br_if $while-in54 - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -1) + (set_local $30 + (if (result i32) + (i32.lt_s + (i32.load offset=4 + (get_global $tempDoublePtr) ) + (i32.const 0) ) - ) - ) - (if (result f64) - (i32.eq - (i32.load8_s - (get_local $9) - ) - (i32.const 45) - ) - (f64.neg - (f64.add - (get_local $15) - (f64.sub - (f64.neg - (get_local $23) - ) - (get_local $15) + (block (result i32) + (set_local $27 + (i32.const 1) ) - ) - ) - (f64.sub - (f64.add - (get_local $23) - (get_local $15) - ) - (get_local $15) - ) - ) - ) - ) - ) - (if - (i32.eq - (tee_local $5 - (call $_fmt_u - (tee_local $5 - (select - (i32.sub - (i32.const 0) - (tee_local $7 - (i32.load - (get_local $21) - ) + (set_local $15 + (f64.neg + (get_local $15) ) ) - (get_local $7) - (i32.lt_s - (get_local $7) - (i32.const 0) - ) + (i32.const 4108) ) - ) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $5) - (i32.const 0) + (if (result i32) + (i32.and + (get_local $12) + (i32.const 2048) ) - (i32.const 31) - ) - (i32.const 31) - ) - (get_local $26) - ) - ) - (get_local $26) - ) - (block - (i32.store8 - (get_local $42) - (i32.const 48) - ) - (set_local $5 - (get_local $42) - ) - ) - ) - (set_local $11 - (i32.or - (get_local $27) - (i32.const 2) - ) - ) - (i32.store8 - (i32.add - (get_local $5) - (i32.const -1) - ) - (i32.add - (i32.and - (i32.shr_s - (get_local $7) - (i32.const 31) - ) - (i32.const 2) - ) - (i32.const 43) - ) - ) - (i32.store8 - (tee_local $8 - (i32.add - (get_local $5) - (i32.const -2) - ) - ) - (i32.add - (get_local $19) - (i32.const 15) - ) - ) - (set_local $19 - (i32.lt_s - (get_local $6) - (i32.const 1) - ) - ) - (set_local $18 - (i32.eqz - (i32.and - (get_local $12) - (i32.const 8) - ) - ) - ) - (set_local $5 - (get_local $22) - ) - (loop $while-in56 - (i32.store8 - (get_local $5) - (i32.or - (i32.load8_u - (i32.add - (tee_local $7 - (if (result i32) - (f64.ne - (get_local $15) - (get_local $15) + (block (result i32) + (set_local $27 + (i32.const 1) ) - (i32.const -2147483648) - (if (result i32) - (f64.ge - (get_local $15) - (f64.const 2147483648) - ) - (i32.const -2147483648) - (if (result i32) - (f64.le - (get_local $15) - (f64.const -2147483649) - ) - (i32.const -2147483648) - (i32.trunc_s/f64 - (get_local $15) + (i32.const 4111) + ) + (block (result i32) + (set_local $27 + (tee_local $5 + (i32.and + (get_local $12) + (i32.const 1) ) ) ) + (select + (i32.const 4114) + (i32.const 4109) + (get_local $5) + ) ) ) - (i32.const 4075) ) ) - (get_local $13) - ) - ) - (set_local $15 - (f64.mul - (f64.sub + (f64.store + (get_global $tempDoublePtr) (get_local $15) - (f64.convert_s/i32 - (get_local $7) - ) ) - (f64.const 16) - ) - ) - (set_local $5 - (if (result i32) - (i32.eq - (i32.sub - (tee_local $7 - (i32.add - (get_local $5) - (i32.const 1) - ) - ) - (get_local $36) - ) - (i32.const 1) - ) - (if (result i32) - (i32.and - (get_local $18) - (i32.and - (get_local $19) - (f64.eq - (get_local $15) - (f64.const 0) - ) - ) - ) - (get_local $7) - (block (result i32) - (i32.store8 - (get_local $7) - (i32.const 46) - ) - (i32.add - (get_local $5) - (i32.const 2) - ) + (drop + (i32.load + (get_global $tempDoublePtr) ) ) - (get_local $7) - ) - ) - (br_if $while-in56 - (f64.ne - (get_local $15) - (f64.const 0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $16) - (tee_local $7 - (i32.add - (tee_local $6 - (select - (i32.sub - (i32.add - (get_local $47) - (get_local $6) - ) - (get_local $8) - ) - (i32.add - (i32.sub - (get_local $45) - (get_local $8) - ) - (get_local $5) - ) - (i32.and - (i32.ne - (get_local $6) - (i32.const 0) - ) - (i32.lt_s - (i32.add - (get_local $46) - (get_local $5) + (set_local $7 + (if (result i32) + (i32.lt_u + (i32.and + (i32.load offset=4 + (get_global $tempDoublePtr) ) - (get_local $6) + (i32.const 2146435072) ) + (i32.const 2146435072) ) - ) - ) - (get_local $11) - ) - ) - (get_local $12) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $9) - (get_local $11) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (get_local $16) - (get_local $7) - (i32.xor - (get_local $12) - (i32.const 65536) - ) - ) - (set_local $5 - (i32.sub - (get_local $5) - (get_local $36) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $22) - (get_local $5) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (i32.sub - (get_local $6) - (i32.add - (get_local $5) - (tee_local $5 - (i32.sub - (get_local $26) - (get_local $8) - ) - ) - ) - ) - (i32.const 0) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $8) - (get_local $5) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $16) - (get_local $7) - (i32.xor - (get_local $12) - (i32.const 8192) - ) - ) - (br $do-once49 - (select - (get_local $16) - (get_local $7) - (i32.lt_s - (get_local $7) - (get_local $16) - ) - ) - ) - ) - ) - (set_local $15 - (if (result f64) - (get_local $5) - (block (result f64) - (i32.store - (get_local $21) - (tee_local $5 - (i32.add - (i32.load - (get_local $21) - ) - (i32.const -28) - ) - ) - ) - (f64.mul - (get_local $23) - (f64.const 268435456) - ) - ) - (block (result f64) - (set_local $5 - (i32.load - (get_local $21) - ) - ) - (get_local $23) - ) - ) - ) - (set_local $7 - (tee_local $8 - (select - (get_local $48) - (get_local $49) - (i32.lt_s - (get_local $5) - (i32.const 0) - ) - ) - ) - ) - (loop $while-in60 - (i32.store - (get_local $7) - (tee_local $5 - (if (result i32) - (f64.ne - (get_local $15) - (get_local $15) - ) - (i32.const -2147483648) - (if (result i32) - (f64.ge - (get_local $15) - (f64.const 2147483648) - ) - (i32.const -2147483648) - (if (result i32) - (f64.le - (get_local $15) - (f64.const -2147483649) - ) - (i32.const -2147483648) - (i32.trunc_s/f64 - (get_local $15) - ) - ) - ) - ) - ) - ) - (set_local $7 - (i32.add - (get_local $7) - (i32.const 4) - ) - ) - (br_if $while-in60 - (f64.ne - (tee_local $15 - (f64.mul - (f64.sub - (get_local $15) - (f64.convert_u/i32 - (get_local $5) - ) - ) - (f64.const 1e9) - ) - ) - (f64.const 0) - ) - ) - ) - (if - (i32.gt_s - (tee_local $9 - (i32.load - (get_local $21) - ) - ) - (i32.const 0) - ) - (block - (set_local $5 - (get_local $8) - ) - (loop $while-in62 - (set_local $13 - (select - (i32.const 29) - (get_local $9) - (i32.gt_s - (get_local $9) - (i32.const 29) - ) - ) - ) - (if - (i32.ge_u - (tee_local $9 - (i32.add - (get_local $7) - (i32.const -4) - ) - ) - (get_local $5) - ) - (block $do-once63 - (set_local $11 - (i32.const 0) - ) - (loop $while-in66 - (i32.store - (get_local $9) - (call $___uremdi3 - (block (result i32) - (set_local $20 - (call $_bitshift64Shl + (block $do-once49 (result i32) + (if + (tee_local $5 + (f64.ne + (tee_local $23 + (f64.mul + (call $_frexp + (get_local $15) + (get_local $21) + ) + (f64.const 2) + ) + ) + (f64.const 0) + ) + ) + (i32.store + (get_local $21) + (i32.add (i32.load - (get_local $9) + (get_local $21) + ) + (i32.const -1) + ) + ) + ) + (if + (i32.eq + (tee_local $24 + (i32.or + (get_local $19) + (i32.const 32) + ) + ) + (i32.const 97) + ) + (block + (set_local $9 + (select + (i32.add + (get_local $30) + (i32.const 9) + ) + (get_local $30) + (tee_local $13 + (i32.and + (get_local $19) + (i32.const 32) + ) + ) + ) + ) + (set_local $15 + (if (result f64) + (i32.or + (i32.eqz + (tee_local $5 + (i32.sub + (i32.const 12) + (get_local $6) + ) + ) + ) + (i32.gt_u + (get_local $6) + (i32.const 11) + ) + ) + (get_local $23) + (block (result f64) + (set_local $15 + (f64.const 8) + ) + (loop $while-in54 + (set_local $15 + (f64.mul + (get_local $15) + (f64.const 16) + ) + ) + (br_if $while-in54 + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -1) + ) + ) + ) + ) + (if (result f64) + (i32.eq + (i32.load8_s + (get_local $9) + ) + (i32.const 45) + ) + (f64.neg + (f64.add + (get_local $15) + (f64.sub + (f64.neg + (get_local $23) + ) + (get_local $15) + ) + ) + ) + (f64.sub + (f64.add + (get_local $23) + (get_local $15) + ) + (get_local $15) + ) + ) + ) + ) + ) + (if + (i32.eq + (tee_local $5 + (call $_fmt_u + (tee_local $5 + (select + (i32.sub + (i32.const 0) + (tee_local $7 + (i32.load + (get_local $21) + ) + ) + ) + (get_local $7) + (i32.lt_s + (get_local $7) + (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 $26) + ) + ) + (get_local $26) + ) + (block + (i32.store8 + (get_local $42) + (i32.const 48) + ) + (set_local $5 + (get_local $42) + ) + ) + ) + (set_local $11 + (i32.or + (get_local $27) + (i32.const 2) + ) + ) + (i32.store8 + (i32.add + (get_local $5) + (i32.const -1) + ) + (i32.add + (i32.and + (i32.shr_s + (get_local $7) + (i32.const 31) + ) + (i32.const 2) + ) + (i32.const 43) + ) + ) + (i32.store8 + (tee_local $8 + (i32.add + (get_local $5) + (i32.const -2) + ) + ) + (i32.add + (get_local $19) + (i32.const 15) + ) + ) + (set_local $19 + (i32.lt_s + (get_local $6) + (i32.const 1) + ) + ) + (set_local $18 + (i32.eqz + (i32.and + (get_local $12) + (i32.const 8) + ) + ) + ) + (set_local $5 + (get_local $22) + ) + (loop $while-in56 + (i32.store8 + (get_local $5) + (i32.or + (i32.load8_u + (i32.add + (tee_local $7 + (if (result i32) + (f64.ne + (get_local $15) + (get_local $15) + ) + (i32.const -2147483648) + (if (result i32) + (f64.ge + (get_local $15) + (f64.const 2147483648) + ) + (i32.const -2147483648) + (if (result i32) + (f64.le + (get_local $15) + (f64.const -2147483649) + ) + (i32.const -2147483648) + (i32.trunc_s/f64 + (get_local $15) + ) + ) + ) + ) + ) + (i32.const 4075) + ) + ) + (get_local $13) + ) + ) + (set_local $15 + (f64.mul + (f64.sub + (get_local $15) + (f64.convert_s/i32 + (get_local $7) + ) + ) + (f64.const 16) + ) + ) + (set_local $5 + (if (result i32) + (i32.eq + (i32.sub + (tee_local $7 + (i32.add + (get_local $5) + (i32.const 1) + ) + ) + (get_local $36) + ) + (i32.const 1) + ) + (if (result i32) + (i32.and + (get_local $18) + (i32.and + (get_local $19) + (f64.eq + (get_local $15) + (f64.const 0) + ) + ) + ) + (get_local $7) + (block (result i32) + (i32.store8 + (get_local $7) + (i32.const 46) + ) + (i32.add + (get_local $5) + (i32.const 2) + ) + ) + ) + (get_local $7) + ) + ) + (br_if $while-in56 + (f64.ne + (get_local $15) + (f64.const 0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $16) + (tee_local $7 + (i32.add + (tee_local $6 + (select + (i32.sub + (i32.add + (get_local $6) + (get_local $47) + ) + (get_local $8) + ) + (i32.add + (i32.sub + (get_local $45) + (get_local $8) + ) + (get_local $5) + ) + (i32.and + (i32.ne + (get_local $6) + (i32.const 0) + ) + (i32.lt_s + (i32.add + (get_local $5) + (get_local $46) + ) + (get_local $6) + ) + ) + ) + ) + (get_local $11) + ) + ) + (get_local $12) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $9) + (get_local $11) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (get_local $16) + (get_local $7) + (i32.xor + (get_local $12) + (i32.const 65536) + ) + ) + (set_local $5 + (i32.sub + (get_local $5) + (get_local $36) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $22) + (get_local $5) + (get_local $0) + ) ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.sub + (get_local $6) + (i32.add + (get_local $5) + (tee_local $5 + (i32.sub + (get_local $26) + (get_local $8) + ) + ) + ) + ) + (i32.const 0) (i32.const 0) - (get_local $13) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $8) + (get_local $5) + (get_local $0) + ) + ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $16) + (get_local $7) + (i32.xor + (get_local $12) + (i32.const 8192) + ) + ) + (br $do-once49 + (select + (get_local $16) + (get_local $7) + (i32.lt_s + (get_local $7) + (get_local $16) + ) + ) ) ) - (set_global $tempRet0 - (i32.add - (get_global $tempRet0) - (i32.lt_u - (tee_local $11 + ) + (set_local $15 + (if (result f64) + (get_local $5) + (block (result f64) + (i32.store + (get_local $21) + (tee_local $5 (i32.add - (get_local $20) - (get_local $11) + (i32.load + (get_local $21) + ) + (i32.const -28) ) ) - (get_local $20) + ) + (f64.mul + (get_local $23) + (f64.const 268435456) ) ) + (block (result f64) + (set_local $5 + (i32.load + (get_local $21) + ) + ) + (get_local $23) + ) ) - (get_local $11) - ) - (tee_local $18 - (get_global $tempRet0) ) - (i32.const 1000000000) - (i32.const 0) - ) - ) - (set_local $11 - (call $___udivdi3 - (get_local $11) - (get_local $18) - (i32.const 1000000000) - (i32.const 0) - ) - ) - (br_if $while-in66 - (i32.ge_u - (tee_local $9 - (i32.add - (get_local $9) - (i32.const -4) + (set_local $7 + (tee_local $8 + (select + (get_local $48) + (get_local $49) + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + ) ) ) - (get_local $5) - ) - ) - ) - (br_if $do-once63 - (i32.eqz - (get_local $11) - ) - ) - (i32.store - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -4) - ) - ) - (get_local $11) - ) - ) - ) - (loop $while-in68 - (if - (i32.gt_u - (get_local $7) - (get_local $5) - ) - (if - (i32.eqz - (i32.load - (tee_local $9 - (i32.add + (loop $while-in60 + (i32.store (get_local $7) - (i32.const -4) + (tee_local $5 + (if (result i32) + (f64.ne + (get_local $15) + (get_local $15) + ) + (i32.const -2147483648) + (if (result i32) + (f64.ge + (get_local $15) + (f64.const 2147483648) + ) + (i32.const -2147483648) + (if (result i32) + (f64.le + (get_local $15) + (f64.const -2147483649) + ) + (i32.const -2147483648) + (i32.trunc_s/f64 + (get_local $15) + ) + ) + ) + ) + ) ) - ) - ) - ) - (block - (set_local $7 - (get_local $9) - ) - (br $while-in68) - ) - ) - ) - ) - (i32.store - (get_local $21) - (tee_local $9 - (i32.sub - (i32.load - (get_local $21) - ) - (get_local $13) - ) - ) - ) - (br_if $while-in62 - (i32.gt_s - (get_local $9) - (i32.const 0) - ) - ) - ) - ) - (set_local $5 - (get_local $8) - ) - ) - (set_local $18 - (select - (i32.const 6) - (get_local $6) - (i32.lt_s - (get_local $6) - (i32.const 0) - ) - ) - ) - (if - (i32.lt_s - (get_local $9) - (i32.const 0) - ) - (block - (set_local $20 - (i32.add - (i32.div_s - (tee_local $6 - (i32.add - (get_local $18) - (i32.const 25) - ) - ) - (i32.const 9) - ) - (i32.const 1) - ) - ) - (set_local $31 - (i32.eq - (get_local $24) - (i32.const 102) - ) - ) - (set_local $6 - (get_local $5) - ) - (set_local $5 - (get_local $7) - ) - (loop $while-in70 - (set_local $13 - (select - (i32.const 9) - (tee_local $7 - (i32.sub - (i32.const 0) - (get_local $9) - ) - ) - (i32.gt_s - (get_local $7) - (i32.const 9) - ) - ) - ) - (if - (i32.lt_u - (get_local $6) - (get_local $5) - ) - (block $do-once71 - (set_local $11 - (i32.add - (i32.shl - (i32.const 1) - (get_local $13) - ) - (i32.const -1) - ) - ) - (set_local $37 - (i32.shr_u - (i32.const 1000000000) - (get_local $13) - ) - ) - (set_local $9 - (i32.const 0) - ) - (set_local $7 - (get_local $6) - ) - (loop $while-in74 - (i32.store - (get_local $7) - (i32.add - (i32.shr_u - (tee_local $32 - (i32.load + (set_local $7 + (i32.add (get_local $7) + (i32.const 4) ) ) - (get_local $13) - ) - (get_local $9) - ) - ) - (set_local $9 - (i32.mul - (i32.and - (get_local $32) - (get_local $11) - ) - (get_local $37) - ) - ) - (br_if $while-in74 - (i32.lt_u - (tee_local $7 - (i32.add - (get_local $7) - (i32.const 4) + (br_if $while-in60 + (f64.ne + (tee_local $15 + (f64.mul + (f64.sub + (get_local $15) + (f64.convert_u/i32 + (get_local $5) + ) + ) + (f64.const 1e9) + ) + ) + (f64.const 0) + ) ) ) - (get_local $5) - ) - ) - ) - (set_local $7 - (select - (get_local $6) - (i32.add - (get_local $6) - (i32.const 4) - ) - (i32.load - (get_local $6) - ) - ) - ) - (br_if $do-once71 - (i32.eqz - (get_local $9) - ) - ) - (i32.store - (get_local $5) - (get_local $9) - ) - (set_local $5 - (i32.add - (get_local $5) - (i32.const 4) - ) - ) - ) - (set_local $7 - (select - (get_local $6) - (i32.add - (get_local $6) - (i32.const 4) - ) - (i32.load - (get_local $6) - ) - ) - ) - ) - (set_local $11 - (select - (i32.add - (tee_local $6 - (select - (get_local $8) - (get_local $7) - (get_local $31) - ) - ) - (i32.shl - (get_local $20) - (i32.const 2) - ) - ) - (get_local $5) - (i32.gt_s - (i32.shr_s - (i32.sub - (get_local $5) - (get_local $6) - ) - (i32.const 2) - ) - (get_local $20) - ) - ) - ) - (i32.store - (get_local $21) - (tee_local $9 - (i32.add - (i32.load - (get_local $21) - ) - (get_local $13) - ) - ) - ) - (set_local $5 - (if (result i32) - (i32.lt_s - (get_local $9) - (i32.const 0) - ) - (block - (set_local $6 - (get_local $7) - ) - (set_local $5 - (get_local $11) - ) - (br $while-in70) - ) - (block (result i32) - (set_local $9 - (get_local $11) - ) - (get_local $7) - ) - ) - ) - ) - ) - (set_local $9 - (get_local $7) - ) - ) - (set_local $20 - (get_local $8) - ) - (if - (i32.lt_u - (get_local $5) - (get_local $9) - ) - (block $do-once75 - (set_local $7 - (i32.mul - (i32.shr_s - (i32.sub - (get_local $20) - (get_local $5) - ) - (i32.const 2) - ) - (i32.const 9) - ) - ) - (br_if $do-once75 - (i32.lt_u - (tee_local $11 - (i32.load - (get_local $5) - ) - ) - (i32.const 10) - ) - ) - (set_local $6 - (i32.const 10) - ) - (loop $while-in78 - (set_local $7 - (i32.add - (get_local $7) - (i32.const 1) - ) - ) - (br_if $while-in78 - (i32.ge_u - (get_local $11) - (tee_local $6 - (i32.mul - (get_local $6) - (i32.const 10) - ) - ) - ) - ) - ) - ) - (set_local $7 - (i32.const 0) - ) - ) - (set_local $5 - (if (result i32) - (i32.lt_s - (tee_local $6 - (i32.add - (i32.sub - (get_local $18) - (select - (get_local $7) - (i32.const 0) - (i32.ne - (get_local $24) - (i32.const 102) - ) - ) - ) - (i32.shr_s - (i32.shl - (i32.and - (tee_local $31 - (i32.ne - (get_local $18) + (if + (i32.gt_s + (tee_local $9 + (i32.load + (get_local $21) + ) + ) (i32.const 0) ) - ) - (tee_local $37 - (i32.eq - (get_local $24) - (i32.const 103) - ) - ) - ) - (i32.const 31) - ) - (i32.const 31) - ) - ) - ) - (i32.add - (i32.mul - (i32.shr_s - (i32.sub - (get_local $9) - (get_local $20) - ) - (i32.const 2) - ) - (i32.const 9) - ) - (i32.const -9) - ) - ) - (block (result i32) - (set_local $13 - (i32.div_s - (tee_local $11 - (tee_local $6 - (i32.add - (get_local $6) - (i32.const 9216) - ) - ) - ) - (i32.const 9) - ) - ) - (if - (i32.lt_s - (tee_local $6 - (i32.add - (i32.rem_s - (get_local $6) - (i32.const 9) - ) - (i32.const 1) - ) - ) - (i32.const 9) - ) - (block - (set_local $11 - (i32.const 10) - ) - (loop $while-in80 - (set_local $11 - (i32.mul - (get_local $11) - (i32.const 10) - ) - ) - (br_if $while-in80 - (i32.ne - (tee_local $6 - (i32.add - (get_local $6) - (i32.const 1) - ) - ) - (i32.const 9) - ) - ) - ) - ) - (set_local $11 - (i32.const 10) - ) - ) - (set_local $13 - (tee_local $24 - (i32.load - (tee_local $6 - (i32.add - (i32.add - (get_local $8) - (i32.shl - (get_local $13) - (i32.const 2) - ) - ) - (i32.const -4092) - ) - ) - ) - ) - ) - (set_local $13 - (if (result i32) - (get_local $11) - (i32.rem_u - (get_local $13) - (get_local $11) - ) - (i32.const 0) - ) - ) - (if - (i32.eqz - (i32.and - (tee_local $32 - (i32.eq - (i32.add - (get_local $6) - (i32.const 4) - ) - (get_local $9) - ) - ) - (i32.eqz - (get_local $13) - ) - ) - ) - (block $do-once81 - (set_local $50 - (if (result i32) - (get_local $11) - (i32.div_u - (get_local $24) - (get_local $11) - ) - (i32.const 0) - ) - ) - (set_local $15 - (if (result f64) - (i32.lt_u - (get_local $13) - (tee_local $38 - (i32.div_s - (get_local $11) - (i32.const 2) - ) - ) - ) - (f64.const 0.5) - (select - (f64.const 1) - (f64.const 1.5) - (i32.and - (get_local $32) - (i32.eq - (get_local $13) - (get_local $38) - ) - ) - ) - ) - ) - (set_local $23 - (select - (f64.const 9007199254740994) - (f64.const 9007199254740992) - (i32.and - (get_local $50) - (i32.const 1) - ) - ) - ) - (if - (get_local $27) - (if - (i32.eq - (i32.load8_s - (get_local $30) - ) - (i32.const 45) - ) - (block - (set_local $23 - (f64.neg - (get_local $23) - ) - ) - (set_local $15 - (f64.neg - (get_local $15) - ) - ) - ) - ) - ) - (i32.store - (get_local $6) - (tee_local $13 - (i32.sub - (get_local $24) - (get_local $13) - ) - ) - ) - (br_if $do-once81 - (f64.eq - (f64.add - (get_local $23) - (get_local $15) - ) - (get_local $23) - ) - ) - (i32.store - (get_local $6) - (tee_local $7 - (i32.add - (get_local $13) - (get_local $11) - ) - ) - ) - (if - (i32.gt_u - (get_local $7) - (i32.const 999999999) - ) - (loop $while-in86 - (i32.store - (get_local $6) - (i32.const 0) - ) - (if - (i32.lt_u - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -4) + (block + (set_local $5 + (get_local $8) ) - ) - (get_local $5) - ) - (i32.store - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -4) + (loop $while-in62 + (set_local $13 + (select + (i32.const 29) + (get_local $9) + (i32.gt_s + (get_local $9) + (i32.const 29) + ) + ) + ) + (if + (i32.ge_u + (tee_local $9 + (i32.add + (get_local $7) + (i32.const -4) + ) + ) + (get_local $5) + ) + (block $do-once63 + (set_local $11 + (i32.const 0) + ) + (loop $while-in66 + (i32.store + (get_local $9) + (call $___uremdi3 + (block (result i32) + (set_global $tempRet0 + (i32.add + (i32.lt_u + (tee_local $11 + (i32.add + (get_local $11) + (tee_local $20 + (call $_bitshift64Shl + (i32.load + (get_local $9) + ) + (i32.const 0) + (get_local $13) + ) + ) + ) + ) + (get_local $20) + ) + (get_global $tempRet0) + ) + ) + (get_local $11) + ) + (tee_local $18 + (get_global $tempRet0) + ) + (i32.const 1000000000) + (i32.const 0) + ) + ) + (set_local $11 + (call $___udivdi3 + (get_local $11) + (get_local $18) + (i32.const 1000000000) + (i32.const 0) + ) + ) + (br_if $while-in66 + (i32.ge_u + (tee_local $9 + (i32.add + (get_local $9) + (i32.const -4) + ) + ) + (get_local $5) + ) + ) + ) + (br_if $do-once63 + (i32.eqz + (get_local $11) + ) + ) + (i32.store + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -4) + ) + ) + (get_local $11) + ) + ) + ) + (loop $while-in68 + (if + (i32.gt_u + (get_local $7) + (get_local $5) + ) + (if + (i32.eqz + (i32.load + (tee_local $9 + (i32.add + (get_local $7) + (i32.const -4) + ) + ) + ) + ) + (block + (set_local $7 + (get_local $9) + ) + (br $while-in68) + ) + ) + ) + ) + (i32.store + (get_local $21) + (tee_local $9 + (i32.sub + (i32.load + (get_local $21) + ) + (get_local $13) + ) + ) + ) + (br_if $while-in62 + (i32.gt_s + (get_local $9) + (i32.const 0) + ) + ) ) ) - (i32.const 0) + (set_local $5 + (get_local $8) + ) ) - ) - (i32.store - (get_local $6) - (tee_local $7 - (i32.add - (i32.load + (set_local $18 + (select + (i32.const 6) + (get_local $6) + (i32.lt_s (get_local $6) + (i32.const 0) ) - (i32.const 1) ) ) - ) - (br_if $while-in86 - (i32.gt_u - (get_local $7) - (i32.const 999999999) - ) - ) - ) - ) - (set_local $7 - (i32.mul - (i32.shr_s - (i32.sub - (get_local $20) - (get_local $5) - ) - (i32.const 2) - ) - (i32.const 9) - ) - ) - (br_if $do-once81 - (i32.lt_u - (tee_local $13 - (i32.load - (get_local $5) - ) - ) - (i32.const 10) - ) - ) - (set_local $11 - (i32.const 10) - ) - (loop $while-in88 - (set_local $7 - (i32.add - (get_local $7) - (i32.const 1) - ) - ) - (br_if $while-in88 - (i32.ge_u - (get_local $13) - (tee_local $11 - (i32.mul - (get_local $11) - (i32.const 10) + (if + (i32.lt_s + (get_local $9) + (i32.const 0) ) - ) - ) - ) - ) - ) - ) - (set_local $11 - (get_local $5) - ) - (set_local $13 - (get_local $7) - ) - (select - (tee_local $5 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) - (get_local $9) - (i32.gt_u - (get_local $9) - (get_local $5) - ) - ) - ) - (block (result i32) - (set_local $11 - (get_local $5) - ) - (set_local $13 - (get_local $7) - ) - (get_local $9) - ) - ) - ) - (set_local $32 - (i32.sub - (i32.const 0) - (get_local $13) - ) - ) - (set_local $9 - (loop $while-in90 (result i32) - (block $while-out89 (result i32) - (if - (i32.le_u - (get_local $5) - (get_local $11) - ) - (block - (set_local $24 - (i32.const 0) - ) - (br $while-out89 - (get_local $5) - ) - ) - ) - (if (result i32) - (i32.load - (tee_local $7 - (i32.add - (get_local $5) - (i32.const -4) - ) - ) - ) - (block (result i32) - (set_local $24 - (i32.const 1) - ) - (get_local $5) - ) - (block - (set_local $5 - (get_local $7) - ) - (br $while-in90) - ) - ) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $16) - (tee_local $13 - (i32.add - (i32.add - (i32.add - (i32.add - (get_local $27) - (i32.const 1) - ) - (tee_local $5 - (if (result i32) - (get_local $37) - (block $do-once91 (result i32) - (set_local $7 - (if (result i32) - (i32.and - (i32.gt_s - (tee_local $5 - (i32.add - (i32.xor - (get_local $31) - (i32.const 1) + (block + (set_local $20 + (i32.add + (i32.div_s + (tee_local $6 + (i32.add + (get_local $18) + (i32.const 25) ) - (get_local $18) ) + (i32.const 9) ) - (get_local $13) + (i32.const 1) ) - (i32.gt_s - (get_local $13) - (i32.const -5) + ) + (set_local $31 + (i32.eq + (get_local $24) + (i32.const 102) ) ) - (block (result i32) - (set_local $18 - (i32.sub - (i32.add - (get_local $5) - (i32.const -1) + (set_local $6 + (get_local $5) + ) + (set_local $5 + (get_local $7) + ) + (loop $while-in70 + (set_local $13 + (select + (i32.const 9) + (tee_local $7 + (i32.sub + (i32.const 0) + (get_local $9) + ) + ) + (i32.gt_s + (get_local $7) + (i32.const 9) ) - (get_local $13) ) ) - (i32.add - (get_local $19) - (i32.const -1) + (if + (i32.lt_u + (get_local $6) + (get_local $5) + ) + (block $do-once71 + (set_local $11 + (i32.add + (i32.shl + (i32.const 1) + (get_local $13) + ) + (i32.const -1) + ) + ) + (set_local $37 + (i32.shr_u + (i32.const 1000000000) + (get_local $13) + ) + ) + (set_local $9 + (i32.const 0) + ) + (set_local $7 + (get_local $6) + ) + (loop $while-in74 + (i32.store + (get_local $7) + (i32.add + (i32.shr_u + (tee_local $32 + (i32.load + (get_local $7) + ) + ) + (get_local $13) + ) + (get_local $9) + ) + ) + (set_local $9 + (i32.mul + (i32.and + (get_local $11) + (get_local $32) + ) + (get_local $37) + ) + ) + (br_if $while-in74 + (i32.lt_u + (tee_local $7 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (get_local $5) + ) + ) + ) + (set_local $7 + (select + (get_local $6) + (i32.add + (get_local $6) + (i32.const 4) + ) + (i32.load + (get_local $6) + ) + ) + ) + (br_if $do-once71 + (i32.eqz + (get_local $9) + ) + ) + (i32.store + (get_local $5) + (get_local $9) + ) + (set_local $5 + (i32.add + (get_local $5) + (i32.const 4) + ) + ) + ) + (set_local $7 + (select + (get_local $6) + (i32.add + (get_local $6) + (i32.const 4) + ) + (i32.load + (get_local $6) + ) + ) + ) ) - ) - (block (result i32) - (set_local $18 - (i32.add + (set_local $11 + (select + (i32.add + (tee_local $6 + (select + (get_local $8) + (get_local $7) + (get_local $31) + ) + ) + (i32.shl + (get_local $20) + (i32.const 2) + ) + ) (get_local $5) - (i32.const -1) + (i32.gt_s + (i32.shr_s + (i32.sub + (get_local $5) + (get_local $6) + ) + (i32.const 2) + ) + (get_local $20) + ) ) ) - (i32.add - (get_local $19) - (i32.const -2) + (i32.store + (get_local $21) + (tee_local $9 + (i32.add + (i32.load + (get_local $21) + ) + (get_local $13) + ) + ) + ) + (set_local $5 + (if (result i32) + (i32.lt_s + (get_local $9) + (i32.const 0) + ) + (block + (set_local $6 + (get_local $7) + ) + (set_local $5 + (get_local $11) + ) + (br $while-in70) + ) + (block (result i32) + (set_local $9 + (get_local $11) + ) + (get_local $7) + ) + ) ) ) ) + (set_local $9 + (get_local $7) + ) + ) + (set_local $20 + (get_local $8) ) (if - (tee_local $5 - (i32.and - (get_local $12) - (i32.const 8) - ) + (i32.lt_u + (get_local $5) + (get_local $9) ) - (block - (set_local $20 - (get_local $5) + (block $do-once75 + (set_local $7 + (i32.mul + (i32.shr_s + (i32.sub + (get_local $20) + (get_local $5) + ) + (i32.const 2) + ) + (i32.const 9) + ) + ) + (br_if $do-once75 + (i32.lt_u + (tee_local $11 + (i32.load + (get_local $5) + ) + ) + (i32.const 10) + ) + ) + (set_local $6 + (i32.const 10) ) - (br $do-once91 - (get_local $18) + (loop $while-in78 + (set_local $7 + (i32.add + (get_local $7) + (i32.const 1) + ) + ) + (br_if $while-in78 + (i32.ge_u + (get_local $11) + (tee_local $6 + (i32.mul + (get_local $6) + (i32.const 10) + ) + ) + ) + ) ) ) + (set_local $7 + (i32.const 0) + ) ) - (if - (get_local $24) - (block $do-once93 - (if - (i32.eqz - (tee_local $19 - (i32.load - (i32.add - (get_local $9) - (i32.const -4) + (set_local $5 + (if (result i32) + (i32.lt_s + (tee_local $6 + (i32.add + (i32.sub + (get_local $18) + (select + (get_local $7) + (i32.const 0) + (i32.ne + (get_local $24) + (i32.const 102) + ) ) ) + (i32.shr_s + (i32.shl + (i32.and + (tee_local $31 + (i32.ne + (get_local $18) + (i32.const 0) + ) + ) + (tee_local $37 + (i32.eq + (get_local $24) + (i32.const 103) + ) + ) + ) + (i32.const 31) + ) + (i32.const 31) + ) ) ) - (block - (set_local $5 + (i32.add + (i32.mul + (i32.shr_s + (i32.sub + (get_local $9) + (get_local $20) + ) + (i32.const 2) + ) (i32.const 9) ) - (br $do-once93) + (i32.const -9) ) ) - (set_local $5 - (if (result i32) - (i32.rem_u - (get_local $19) - (i32.const 10) + (block (result i32) + (set_local $13 + (i32.div_s + (tee_local $11 + (tee_local $6 + (i32.add + (get_local $6) + (i32.const 9216) + ) + ) + ) + (i32.const 9) ) - (block - (set_local $5 - (i32.const 0) + ) + (if + (i32.lt_s + (tee_local $6 + (i32.add + (i32.rem_s + (get_local $6) + (i32.const 9) + ) + (i32.const 1) + ) ) - (br $do-once93) + (i32.const 9) ) - (block (result i32) - (set_local $6 + (block + (set_local $11 (i32.const 10) ) - (i32.const 0) + (loop $while-in80 + (set_local $11 + (i32.mul + (get_local $11) + (i32.const 10) + ) + ) + (br_if $while-in80 + (i32.ne + (tee_local $6 + (i32.add + (get_local $6) + (i32.const 1) + ) + ) + (i32.const 9) + ) + ) + ) + ) + (set_local $11 + (i32.const 10) ) ) - ) - (loop $while-in96 - (set_local $5 - (i32.add - (get_local $5) - (i32.const 1) + (set_local $13 + (tee_local $24 + (i32.load + (tee_local $6 + (i32.add + (i32.add + (get_local $8) + (i32.shl + (get_local $13) + (i32.const 2) + ) + ) + (i32.const -4092) + ) + ) + ) ) ) - (br_if $while-in96 + (set_local $13 + (if (result i32) + (get_local $11) + (i32.rem_u + (get_local $13) + (get_local $11) + ) + (i32.const 0) + ) + ) + (if (i32.eqz - (if (result i32) - (tee_local $38 - (tee_local $6 - (i32.mul + (i32.and + (tee_local $32 + (i32.eq + (i32.add (get_local $6) - (i32.const 10) + (i32.const 4) ) + (get_local $9) ) ) - (i32.rem_u - (get_local $19) - (get_local $38) + (i32.eqz + (get_local $13) ) - (i32.const 0) ) ) + (block $do-once81 + (set_local $50 + (if (result i32) + (get_local $11) + (i32.div_u + (get_local $24) + (get_local $11) + ) + (i32.const 0) + ) + ) + (set_local $15 + (if (result f64) + (i32.lt_u + (get_local $13) + (tee_local $38 + (i32.div_s + (get_local $11) + (i32.const 2) + ) + ) + ) + (f64.const 0.5) + (select + (f64.const 1) + (f64.const 1.5) + (i32.and + (get_local $32) + (i32.eq + (get_local $13) + (get_local $38) + ) + ) + ) + ) + ) + (set_local $23 + (select + (f64.const 9007199254740994) + (f64.const 9007199254740992) + (i32.and + (get_local $50) + (i32.const 1) + ) + ) + ) + (if + (get_local $27) + (if + (i32.eq + (i32.load8_s + (get_local $30) + ) + (i32.const 45) + ) + (block + (set_local $23 + (f64.neg + (get_local $23) + ) + ) + (set_local $15 + (f64.neg + (get_local $15) + ) + ) + ) + ) + ) + (i32.store + (get_local $6) + (tee_local $13 + (i32.sub + (get_local $24) + (get_local $13) + ) + ) + ) + (br_if $do-once81 + (f64.eq + (f64.add + (get_local $23) + (get_local $15) + ) + (get_local $23) + ) + ) + (i32.store + (get_local $6) + (tee_local $7 + (i32.add + (get_local $11) + (get_local $13) + ) + ) + ) + (if + (i32.gt_u + (get_local $7) + (i32.const 999999999) + ) + (loop $while-in86 + (i32.store + (get_local $6) + (i32.const 0) + ) + (if + (i32.lt_u + (tee_local $6 + (i32.add + (get_local $6) + (i32.const -4) + ) + ) + (get_local $5) + ) + (i32.store + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -4) + ) + ) + (i32.const 0) + ) + ) + (i32.store + (get_local $6) + (tee_local $7 + (i32.add + (i32.load + (get_local $6) + ) + (i32.const 1) + ) + ) + ) + (br_if $while-in86 + (i32.gt_u + (get_local $7) + (i32.const 999999999) + ) + ) + ) + ) + (set_local $7 + (i32.mul + (i32.shr_s + (i32.sub + (get_local $20) + (get_local $5) + ) + (i32.const 2) + ) + (i32.const 9) + ) + ) + (br_if $do-once81 + (i32.lt_u + (tee_local $13 + (i32.load + (get_local $5) + ) + ) + (i32.const 10) + ) + ) + (set_local $11 + (i32.const 10) + ) + (loop $while-in88 + (set_local $7 + (i32.add + (get_local $7) + (i32.const 1) + ) + ) + (br_if $while-in88 + (i32.ge_u + (get_local $13) + (tee_local $11 + (i32.mul + (get_local $11) + (i32.const 10) + ) + ) + ) + ) + ) + ) + ) + (set_local $11 + (get_local $5) + ) + (set_local $13 + (get_local $7) + ) + (select + (tee_local $5 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + (get_local $9) + (i32.gt_u + (get_local $9) + (get_local $5) + ) ) ) + (block (result i32) + (set_local $11 + (get_local $5) + ) + (set_local $13 + (get_local $7) + ) + (get_local $9) + ) ) - (set_local $5 - (i32.const 9) + ) + (set_local $32 + (i32.sub + (i32.const 0) + (get_local $13) ) ) - (set_local $6 - (i32.add - (i32.mul - (i32.shr_s - (i32.sub - (get_local $9) - (get_local $20) + (set_local $9 + (loop $while-in90 (result i32) + (block $while-out89 (result i32) + (if + (i32.le_u + (get_local $5) + (get_local $11) + ) + (block + (set_local $24 + (i32.const 0) + ) + (br $while-out89 + (get_local $5) + ) + ) + ) + (if (result i32) + (i32.load + (tee_local $7 + (i32.add + (get_local $5) + (i32.const -4) + ) + ) + ) + (block (result i32) + (set_local $24 + (i32.const 1) + ) + (get_local $5) + ) + (block + (set_local $5 + (get_local $7) + ) + (br $while-in90) ) - (i32.const 2) ) - (i32.const 9) ) - (i32.const -9) ) ) - (if (result i32) - (i32.eq - (i32.or - (get_local $7) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $16) + (tee_local $13 + (i32.add + (i32.add + (i32.add + (tee_local $5 + (if (result i32) + (get_local $37) + (block $do-once91 (result i32) + (set_local $7 + (if (result i32) + (i32.and + (i32.gt_s + (tee_local $5 + (i32.add + (i32.xor + (get_local $31) + (i32.const 1) + ) + (get_local $18) + ) + ) + (get_local $13) + ) + (i32.gt_s + (get_local $13) + (i32.const -5) + ) + ) + (block (result i32) + (set_local $18 + (i32.sub + (i32.add + (get_local $5) + (i32.const -1) + ) + (get_local $13) + ) + ) + (i32.add + (get_local $19) + (i32.const -1) + ) + ) + (block (result i32) + (set_local $18 + (i32.add + (get_local $5) + (i32.const -1) + ) + ) + (i32.add + (get_local $19) + (i32.const -2) + ) + ) + ) + ) + (if + (tee_local $5 + (i32.and + (get_local $12) + (i32.const 8) + ) + ) + (block + (set_local $20 + (get_local $5) + ) + (br $do-once91 + (get_local $18) + ) + ) + ) + (if + (get_local $24) + (block $do-once93 + (if + (i32.eqz + (tee_local $19 + (i32.load + (i32.add + (get_local $9) + (i32.const -4) + ) + ) + ) + ) + (block + (set_local $5 + (i32.const 9) + ) + (br $do-once93) + ) + ) + (set_local $5 + (if (result i32) + (i32.rem_u + (get_local $19) + (i32.const 10) + ) + (block + (set_local $5 + (i32.const 0) + ) + (br $do-once93) + ) + (block (result i32) + (set_local $6 + (i32.const 10) + ) + (i32.const 0) + ) + ) + ) + (loop $while-in96 + (set_local $5 + (i32.add + (get_local $5) + (i32.const 1) + ) + ) + (br_if $while-in96 + (i32.eqz + (if (result i32) + (tee_local $38 + (tee_local $6 + (i32.mul + (get_local $6) + (i32.const 10) + ) + ) + ) + (i32.rem_u + (get_local $19) + (get_local $38) + ) + (i32.const 0) + ) + ) + ) + ) + ) + (set_local $5 + (i32.const 9) + ) + ) + (set_local $6 + (i32.add + (i32.mul + (i32.shr_s + (i32.sub + (get_local $9) + (get_local $20) + ) + (i32.const 2) + ) + (i32.const 9) + ) + (i32.const -9) + ) + ) + (if (result i32) + (i32.eq + (i32.or + (get_local $7) + (i32.const 32) + ) + (i32.const 102) + ) + (block (result i32) + (set_local $20 + (i32.const 0) + ) + (select + (get_local $18) + (tee_local $5 + (select + (i32.const 0) + (tee_local $5 + (i32.sub + (get_local $6) + (get_local $5) + ) + ) + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + ) + ) + (i32.lt_s + (get_local $18) + (get_local $5) + ) + ) + ) + (block (result i32) + (set_local $20 + (i32.const 0) + ) + (select + (get_local $18) + (tee_local $5 + (select + (i32.const 0) + (tee_local $5 + (i32.sub + (i32.add + (get_local $6) + (get_local $13) + ) + (get_local $5) + ) + ) + (i32.lt_s + (get_local $5) + (i32.const 0) + ) + ) + ) + (i32.lt_s + (get_local $18) + (get_local $5) + ) + ) + ) + ) + ) + (block (result i32) + (set_local $20 + (i32.and + (get_local $12) + (i32.const 8) + ) + ) + (set_local $7 + (get_local $19) + ) + (get_local $18) + ) + ) + ) + (i32.add + (get_local $27) + (i32.const 1) + ) + ) + (i32.ne + (tee_local $31 + (i32.or + (get_local $5) + (get_local $20) + ) + ) + (i32.const 0) + ) + ) + (if (result i32) + (tee_local $18 + (i32.eq + (i32.or + (get_local $7) + (i32.const 32) + ) + (i32.const 102) + ) + ) + (block (result i32) + (set_local $19 + (i32.const 0) + ) + (select + (get_local $13) + (i32.const 0) + (i32.gt_s + (get_local $13) + (i32.const 0) + ) + ) + ) + (block (result i32) + (if + (i32.lt_s + (i32.sub + (get_local $26) + (tee_local $6 + (call $_fmt_u + (tee_local $6 + (select + (get_local $32) + (get_local $13) + (i32.lt_s + (get_local $13) + (i32.const 0) + ) + ) + ) + (i32.shr_s + (i32.shl + (i32.lt_s + (get_local $6) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) + (get_local $26) + ) + ) + ) + (i32.const 2) + ) + (loop $while-in98 + (i32.store8 + (tee_local $6 + (i32.add + (get_local $6) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in98 + (i32.lt_s + (i32.sub + (get_local $26) + (get_local $6) + ) + (i32.const 2) + ) + ) + ) + ) + (i32.store8 + (i32.add + (get_local $6) + (i32.const -1) + ) + (i32.add + (i32.and + (i32.shr_s + (get_local $13) + (i32.const 31) + ) + (i32.const 2) + ) + (i32.const 43) + ) + ) + (i32.store8 + (tee_local $6 + (i32.add + (get_local $6) + (i32.const -2) + ) + ) + (get_local $7) + ) + (i32.sub + (get_local $26) + (tee_local $19 + (get_local $6) + ) + ) + ) + ) + ) + ) + (get_local $12) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) (i32.const 32) ) - (i32.const 102) ) - (block (result i32) - (set_local $20 - (i32.const 0) + (drop + (call $___fwritex + (get_local $30) + (get_local $27) + (get_local $0) ) - (select - (get_local $18) - (tee_local $5 + ) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (get_local $16) + (get_local $13) + (i32.xor + (get_local $12) + (i32.const 65536) + ) + ) + (if + (get_local $18) + (block + (set_local $6 + (tee_local $11 (select + (get_local $8) + (get_local $11) + (i32.gt_u + (get_local $11) + (get_local $8) + ) + ) + ) + ) + (loop $while-in102 + (set_local $7 + (call $_fmt_u + (i32.load + (get_local $6) + ) (i32.const 0) - (tee_local $5 + (get_local $29) + ) + ) + (block $do-once103 + (if + (i32.eq + (get_local $6) + (get_local $11) + ) + (block + (br_if $do-once103 + (i32.ne + (get_local $7) + (get_local $29) + ) + ) + (i32.store8 + (get_local $33) + (i32.const 48) + ) + (set_local $7 + (get_local $33) + ) + ) + (block + (br_if $do-once103 + (i32.le_u + (get_local $7) + (get_local $22) + ) + ) + (loop $while-in106 + (i32.store8 + (tee_local $7 + (i32.add + (get_local $7) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in106 + (i32.gt_u + (get_local $7) + (get_local $22) + ) + ) + ) + ) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $7) (i32.sub + (get_local $43) + (get_local $7) + ) + (get_local $0) + ) + ) + ) + (if + (i32.le_u + (tee_local $7 + (i32.add (get_local $6) - (get_local $5) + (i32.const 4) ) ) - (i32.lt_s + (get_local $8) + ) + (block + (set_local $6 + (get_local $7) + ) + (br $while-in102) + ) + ) + ) + (if + (get_local $31) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (i32.const 4143) + (i32.const 1) + (get_local $0) + ) + ) + ) + ) + (if + (i32.and + (i32.lt_u + (get_local $7) + (get_local $9) + ) + (i32.gt_s + (get_local $5) + (i32.const 0) + ) + ) + (loop $while-in110 + (if + (i32.gt_u + (tee_local $6 + (call $_fmt_u + (i32.load + (get_local $7) + ) + (i32.const 0) + (get_local $29) + ) + ) + (get_local $22) + ) + (loop $while-in112 + (i32.store8 + (tee_local $6 + (i32.add + (get_local $6) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in112 + (i32.gt_u + (get_local $6) + (get_local $22) + ) + ) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $6) + (select + (i32.const 9) + (get_local $5) + (i32.gt_s + (get_local $5) + (i32.const 9) + ) + ) + (get_local $0) + ) + ) + ) + (set_local $6 + (i32.add (get_local $5) - (i32.const 0) + (i32.const -9) + ) + ) + (set_local $5 + (if (result i32) + (i32.and + (i32.lt_u + (tee_local $7 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (get_local $9) + ) + (i32.gt_s + (get_local $5) + (i32.const 9) + ) + ) + (block + (set_local $5 + (get_local $6) + ) + (br $while-in110) + ) + (get_local $6) ) ) ) - (i32.lt_s - (get_local $18) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.add (get_local $5) + (i32.const 9) ) + (i32.const 9) + (i32.const 0) ) ) - (block (result i32) - (set_local $20 - (i32.const 0) + (block $do-once99 + (set_local $9 + (select + (get_local $9) + (i32.add + (get_local $11) + (i32.const 4) + ) + (get_local $24) + ) ) - (select - (get_local $18) - (tee_local $5 - (select - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.add + (if + (i32.gt_s + (get_local $5) + (i32.const -1) + ) + (block + (set_local $18 + (i32.eqz + (get_local $20) + ) + ) + (set_local $6 + (get_local $11) + ) + (set_local $7 + (get_local $5) + ) + (loop $while-in114 + (if + (i32.eq + (tee_local $5 + (call $_fmt_u + (i32.load + (get_local $6) + ) + (i32.const 0) + (get_local $29) + ) + ) + (get_local $29) + ) + (block + (i32.store8 + (get_local $33) + (i32.const 48) + ) + (set_local $5 + (get_local $33) + ) + ) + ) + (block $do-once115 + (if + (i32.eq (get_local $6) - (get_local $13) + (get_local $11) ) + (block + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $5) + (i32.const 1) + (get_local $0) + ) + ) + ) + (set_local $5 + (i32.add + (get_local $5) + (i32.const 1) + ) + ) + (br_if $do-once115 + (i32.and + (get_local $18) + (i32.lt_s + (get_local $7) + (i32.const 1) + ) + ) + ) + (br_if $do-once115 + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (i32.const 4143) + (i32.const 1) + (get_local $0) + ) + ) + ) + (block + (br_if $do-once115 + (i32.le_u + (get_local $5) + (get_local $22) + ) + ) + (loop $while-in118 + (i32.store8 + (tee_local $5 + (i32.add + (get_local $5) + (i32.const -1) + ) + ) + (i32.const 48) + ) + (br_if $while-in118 + (i32.gt_u + (get_local $5) + (get_local $22) + ) + ) + ) + ) + ) + ) + (set_local $8 + (i32.sub + (get_local $43) (get_local $5) ) ) - (i32.lt_s - (get_local $5) - (i32.const 0) + (if + (i32.eqz + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $5) + (select + (get_local $8) + (get_local $7) + (i32.gt_s + (get_local $7) + (get_local $8) + ) + ) + (get_local $0) + ) + ) ) + (br_if $while-in114 + (i32.and + (i32.lt_u + (tee_local $6 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + (get_local $9) + ) + (i32.gt_s + (tee_local $7 + (i32.sub + (get_local $7) + (get_local $8) + ) + ) + (i32.const -1) + ) + ) + ) + ) + (set_local $5 + (get_local $7) ) ) - (i32.lt_s - (get_local $18) + ) + (call $_pad + (get_local $0) + (i32.const 48) + (i32.add (get_local $5) + (i32.const 18) + ) + (i32.const 18) + (i32.const 0) + ) + (br_if $do-once99 + (i32.and + (i32.load + (get_local $0) + ) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $19) + (i32.sub + (get_local $26) + (get_local $19) + ) + (get_local $0) ) ) ) ) - ) - (block (result i32) - (set_local $20 - (i32.and + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $16) + (get_local $13) + (i32.xor (get_local $12) - (i32.const 8) + (i32.const 8192) ) ) - (set_local $7 - (get_local $19) + (select + (get_local $16) + (get_local $13) + (i32.lt_s + (get_local $13) + (get_local $16) + ) ) - (get_local $18) ) - ) - ) - ) - (i32.ne - (tee_local $31 - (i32.or - (get_local $5) - (get_local $20) - ) - ) - (i32.const 0) - ) - ) - (if (result i32) - (tee_local $18 - (i32.eq - (i32.or - (get_local $7) - (i32.const 32) - ) - (i32.const 102) - ) - ) - (block (result i32) - (set_local $19 - (i32.const 0) - ) - (select - (get_local $13) - (i32.const 0) - (i32.gt_s - (get_local $13) - (i32.const 0) - ) - ) - ) - (block (result i32) - (if - (i32.lt_s - (i32.sub - (get_local $26) - (tee_local $6 - (call $_fmt_u - (tee_local $6 - (select - (get_local $32) - (get_local $13) - (i32.lt_s - (get_local $13) + (block (result i32) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $16) + (tee_local $7 + (i32.add + (tee_local $9 + (select (i32.const 0) + (get_local $27) + (tee_local $6 + (f64.ne + (get_local $15) + (get_local $15) + ) + ) ) ) + (i32.const 3) ) - (i32.shr_s - (i32.shl - (i32.lt_s - (get_local $6) - (i32.const 0) + ) + (get_local $8) + ) + (if + (i32.eqz + (i32.and + (tee_local $5 + (i32.load + (get_local $0) ) - (i32.const 31) ) - (i32.const 31) + (i32.const 32) + ) + ) + (block + (drop + (call $___fwritex + (get_local $30) + (get_local $9) + (get_local $0) + ) + ) + (set_local $5 + (i32.load + (get_local $0) + ) ) - (get_local $26) ) ) - ) - (i32.const 2) - ) - (loop $while-in98 - (i32.store8 - (tee_local $6 - (i32.add + (set_local $6 + (select + (select + (i32.const 4135) + (i32.const 4139) + (tee_local $8 + (i32.ne + (i32.and + (get_local $19) + (i32.const 32) + ) + (i32.const 0) + ) + ) + ) + (select + (i32.const 4127) + (i32.const 4131) + (get_local $8) + ) (get_local $6) - (i32.const -1) ) ) - (i32.const 48) - ) - (br_if $while-in98 - (i32.lt_s - (i32.sub - (get_local $26) - (get_local $6) + (if + (i32.eqz + (i32.and + (get_local $5) + (i32.const 32) + ) + ) + (drop + (call $___fwritex + (get_local $6) + (i32.const 3) + (get_local $0) + ) ) - (i32.const 2) ) - ) - ) - ) - (i32.store8 - (i32.add - (get_local $6) - (i32.const -1) - ) - (i32.add - (i32.and - (i32.shr_s - (get_local $13) - (i32.const 31) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $16) + (get_local $7) + (i32.xor + (get_local $12) + (i32.const 8192) + ) + ) + (select + (get_local $16) + (get_local $7) + (i32.lt_s + (get_local $7) + (get_local $16) + ) ) - (i32.const 2) ) - (i32.const 43) ) ) - (i32.store8 - (tee_local $6 - (i32.add - (get_local $6) - (i32.const -2) - ) - ) - (get_local $7) + (set_local $5 + (get_local $10) ) - (i32.sub - (get_local $26) - (tee_local $19 - (get_local $6) - ) + (set_local $10 + (get_local $7) ) + (br $label$continue$L1) ) - ) - ) - ) - (get_local $12) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $30) - (get_local $27) - (get_local $0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (get_local $16) - (get_local $13) - (i32.xor - (get_local $12) - (i32.const 65536) - ) - ) - (if - (get_local $18) - (block - (set_local $6 - (tee_local $11 - (select - (get_local $8) - (get_local $11) - (i32.gt_u - (get_local $11) - (get_local $8) - ) + (set_local $7 + (get_local $5) ) - ) - ) - (loop $while-in102 - (set_local $7 - (call $_fmt_u - (i32.load - (get_local $6) - ) + (set_local $11 + (get_local $6) + ) + (set_local $8 (i32.const 0) - (get_local $29) + ) + (set_local $9 + (i32.const 4091) + ) + (br $__rjto$8 + (get_local $25) ) ) - (block $do-once103 - (if - (i32.eq - (get_local $6) - (get_local $11) - ) - (block - (br_if $do-once103 - (i32.ne - (get_local $7) - (get_local $29) - ) - ) - (i32.store8 - (get_local $33) - (i32.const 48) - ) - (set_local $7 - (get_local $33) - ) - ) - (block - (br_if $do-once103 - (i32.le_u - (get_local $7) - (get_local $22) - ) - ) - (loop $while-in106 - (i32.store8 - (tee_local $7 - (i32.add - (get_local $7) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in106 - (i32.gt_u - (get_local $7) - (get_local $22) - ) - ) - ) - ) + (set_local $9 + (i32.and + (get_local $19) + (i32.const 32) ) ) (if - (i32.eqz - (i32.and + (i32.or + (tee_local $8 (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $7) - (i32.sub - (get_local $43) - (get_local $7) + (get_local $14) ) - (get_local $0) ) - ) - ) - (if - (i32.le_u - (tee_local $7 - (i32.add - (get_local $6) - (i32.const 4) + (tee_local $12 + (i32.load offset=4 + (get_local $14) ) ) - (get_local $8) ) (block - (set_local $6 - (get_local $7) - ) - (br $while-in102) - ) - ) - ) - (if - (get_local $31) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) - (get_local $0) + (set_local $5 + (get_local $8) ) - ) - ) - ) - (if - (i32.and - (i32.gt_s - (get_local $5) - (i32.const 0) - ) - (i32.lt_u - (get_local $7) - (get_local $9) - ) - ) - (loop $while-in110 - (if - (i32.gt_u - (tee_local $6 - (call $_fmt_u - (i32.load - (get_local $7) - ) - (i32.const 0) - (get_local $29) - ) - ) - (get_local $22) + (set_local $8 + (get_local $25) ) - (loop $while-in112 + (loop $while-in123 (i32.store8 - (tee_local $6 + (tee_local $8 (i32.add - (get_local $6) + (get_local $8) (i32.const -1) ) ) - (i32.const 48) - ) - (br_if $while-in112 - (i32.gt_u - (get_local $6) - (get_local $22) - ) - ) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $6) - (select - (i32.const 9) - (get_local $5) - (i32.gt_s - (get_local $5) - (i32.const 9) - ) - ) - (get_local $0) - ) - ) - ) - (set_local $6 - (i32.add - (get_local $5) - (i32.const -9) - ) - ) - (set_local $5 - (if (result i32) - (i32.and - (i32.gt_s - (get_local $5) - (i32.const 9) - ) - (i32.lt_u - (tee_local $7 + (i32.or + (i32.load8_u (i32.add - (get_local $7) - (i32.const 4) + (i32.and + (get_local $5) + (i32.const 15) + ) + (i32.const 4075) ) ) (get_local $9) ) ) - (block - (set_local $5 - (get_local $6) - ) - (br $while-in110) - ) - (get_local $6) - ) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 48) - (i32.add - (get_local $5) - (i32.const 9) - ) - (i32.const 9) - (i32.const 0) - ) - ) - (block $do-once99 - (set_local $9 - (select - (get_local $9) - (i32.add - (get_local $11) - (i32.const 4) - ) - (get_local $24) - ) - ) - (if - (i32.gt_s - (get_local $5) - (i32.const -1) - ) - (block - (set_local $18 - (i32.eqz - (get_local $20) - ) - ) - (set_local $6 - (get_local $11) - ) - (set_local $7 - (get_local $5) - ) - (loop $while-in114 - (if - (i32.eq - (tee_local $5 - (call $_fmt_u - (i32.load - (get_local $6) + (br_if $while-in123 + (i32.or + (tee_local $5 + (call $_bitshift64Lshr + (get_local $5) + (get_local $12) + (i32.const 4) ) - (i32.const 0) - (get_local $29) ) - ) - (get_local $29) - ) - (block - (i32.store8 - (get_local $33) - (i32.const 48) - ) - (set_local $5 - (get_local $33) + (tee_local $12 + (get_global $tempRet0) + ) ) ) ) - (block $do-once115 - (if - (i32.eq - (get_local $6) - (get_local $11) - ) - (block - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $5) - (i32.const 1) - (get_local $0) - ) - ) - ) - (set_local $5 - (i32.add - (get_local $5) - (i32.const 1) - ) - ) - (br_if $do-once115 + (set_local $5 + (get_local $8) + ) + (set_local $8 + (if (result i32) + (i32.or + (i32.eqz (i32.and - (get_local $18) - (i32.lt_s - (get_local $7) - (i32.const 1) - ) + (get_local $7) + (i32.const 8) ) ) - (br_if $do-once115 - (i32.and + (i32.eqz + (i32.or (i32.load - (get_local $0) + (get_local $14) ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) - (get_local $0) - ) - ) - ) - (block - (br_if $do-once115 - (i32.le_u - (get_local $5) - (get_local $22) - ) - ) - (loop $while-in118 - (i32.store8 - (tee_local $5 - (i32.add - (get_local $5) - (i32.const -1) - ) - ) - (i32.const 48) - ) - (br_if $while-in118 - (i32.gt_u - (get_local $5) - (get_local $22) + (i32.load offset=4 + (get_local $14) ) ) ) ) - ) - ) - (set_local $8 - (i32.sub - (get_local $43) - (get_local $5) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $5) - (select - (get_local $8) - (get_local $7) - (i32.gt_s - (get_local $7) - (get_local $8) - ) + (block (result i32) + (set_local $9 + (i32.const 4091) ) - (get_local $0) + (i32.const 0) ) - ) - ) - (br_if $while-in114 - (i32.and - (i32.lt_u - (tee_local $6 + (block (result i32) + (set_local $9 (i32.add - (get_local $6) - (i32.const 4) - ) - ) - (get_local $9) - ) - (i32.gt_s - (tee_local $7 - (i32.sub - (get_local $7) - (get_local $8) + (i32.shr_s + (get_local $19) + (i32.const 4) + ) + (i32.const 4091) ) ) - (i32.const -1) + (i32.const 2) ) ) ) ) - (set_local $5 - (get_local $7) + (block + (set_local $5 + (get_local $25) + ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) ) ) + (br $__rjti$8) ) - (call $_pad - (get_local $0) - (i32.const 48) - (i32.add + (set_local $5 + (call $_fmt_u (get_local $5) - (i32.const 18) + (get_local $7) + (get_local $25) ) - (i32.const 18) - (i32.const 0) ) - (br_if $do-once99 - (i32.and - (i32.load - (get_local $0) + (set_local $7 + (get_local $12) + ) + (br $__rjti$8) + ) + (set_local $19 + (i32.eqz + (tee_local $13 + (call $_memchr + (get_local $5) + (i32.const 0) + (get_local $6) ) - (i32.const 32) ) ) - (drop - (call $___fwritex - (get_local $19) - (i32.sub - (get_local $26) - (get_local $19) + ) + (set_local $12 + (get_local $8) + ) + (set_local $11 + (select + (get_local $6) + (i32.sub + (get_local $13) + (tee_local $7 + (get_local $5) ) - (get_local $0) ) + (get_local $19) ) ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $16) - (get_local $13) - (i32.xor - (get_local $12) - (i32.const 8192) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (br $__rjto$8 + (select + (i32.add + (get_local $5) + (get_local $6) + ) + (get_local $13) + (get_local $19) + ) ) ) - (select - (get_local $16) - (get_local $13) - (i32.lt_s - (get_local $13) - (get_local $16) + (set_local $5 + (i32.const 0) + ) + (set_local $7 + (i32.const 0) + ) + (set_local $6 + (i32.load + (get_local $14) ) ) - ) - (block (result i32) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $16) - (tee_local $7 - (i32.add - (tee_local $9 - (select - (i32.const 0) - (get_local $27) - (tee_local $6 - (f64.ne - (get_local $15) - (get_local $15) + (loop $while-in125 + (block $while-out124 + (br_if $while-out124 + (i32.eqz + (tee_local $9 + (i32.load + (get_local $6) + ) + ) + ) + ) + (br_if $while-out124 + (i32.or + (i32.lt_s + (tee_local $7 + (call $_wctomb + (get_local $35) + (get_local $9) ) ) + (i32.const 0) + ) + (i32.gt_u + (get_local $7) + (i32.sub + (get_local $8) + (get_local $5) + ) + ) + ) + ) + (set_local $6 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + (br_if $while-in125 + (i32.gt_u + (get_local $8) + (tee_local $5 + (i32.add + (get_local $5) + (get_local $7) + ) ) ) - (i32.const 3) ) ) - (get_local $8) ) (if - (i32.eqz - (i32.and - (tee_local $5 - (i32.load - (get_local $0) - ) - ) - (i32.const 32) + (i32.lt_s + (get_local $7) + (i32.const 0) + ) + (block + (set_local $17 + (i32.const -1) ) + (br $label$break$L1) ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $16) + (get_local $5) + (get_local $12) + ) + (if + (get_local $5) (block - (drop - (call $___fwritex - (get_local $30) - (get_local $9) - (get_local $0) - ) + (set_local $6 + (i32.const 0) ) - (set_local $5 + (set_local $7 (i32.load - (get_local $0) + (get_local $14) ) ) - ) - ) - (set_local $6 - (select - (select - (i32.const 4135) - (i32.const 4139) - (tee_local $8 - (i32.ne + (loop $while-in127 + (if + (i32.eqz + (tee_local $8 + (i32.load + (get_local $7) + ) + ) + ) + (block + (set_local $7 + (get_local $5) + ) + (br $__rjti$7) + ) + ) + (if + (i32.gt_s + (tee_local $6 + (i32.add + (tee_local $8 + (call $_wctomb + (get_local $35) + (get_local $8) + ) + ) + (get_local $6) + ) + ) + (get_local $5) + ) + (block + (set_local $7 + (get_local $5) + ) + (br $__rjti$7) + ) + ) + (if + (i32.eqz (i32.and - (get_local $19) + (i32.load + (get_local $0) + ) (i32.const 32) ) - (i32.const 0) + ) + (drop + (call $___fwritex + (get_local $35) + (get_local $8) + (get_local $0) + ) + ) + ) + (set_local $7 + (i32.add + (get_local $7) + (i32.const 4) + ) + ) + (br_if $while-in127 + (i32.lt_u + (get_local $6) + (get_local $5) ) ) ) - (select - (i32.const 4127) - (i32.const 4131) - (get_local $8) - ) - (get_local $6) - ) - ) - (if - (i32.eqz - (i32.and + (set_local $7 (get_local $5) - (i32.const 32) ) ) - (drop - (call $___fwritex - (get_local $6) - (i32.const 3) - (get_local $0) - ) + (set_local $7 + (i32.const 0) ) ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $16) - (get_local $7) - (i32.xor - (get_local $12) - (i32.const 8192) - ) + ) + (call $_pad + (get_local $0) + (i32.const 32) + (get_local $16) + (get_local $7) + (i32.xor + (get_local $12) + (i32.const 8192) ) + ) + (set_local $5 + (get_local $10) + ) + (set_local $10 (select (get_local $16) (get_local $7) - (i32.lt_s - (get_local $7) + (i32.gt_s (get_local $16) + (get_local $7) ) ) ) + (br $label$continue$L1) ) - ) - (set_local $5 - (get_local $10) - ) - (set_local $10 - (get_local $7) - ) - (br $label$continue$L1) - ) - (set_local $7 - (get_local $5) - ) - (set_local $11 - (get_local $6) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjto$8 - (get_local $25) - ) - ) - (set_local $9 - (i32.and - (get_local $19) - (i32.const 32) - ) - ) - (if - (i32.or - (tee_local $8 - (i32.load - (get_local $14) - ) - ) - (tee_local $12 - (i32.load offset=4 - (get_local $14) - ) - ) - ) - (block - (set_local $5 - (get_local $8) - ) - (set_local $8 - (get_local $25) - ) - (loop $while-in123 - (i32.store8 - (tee_local $8 - (i32.add - (get_local $8) - (i32.const -1) - ) - ) - (i32.or - (i32.load8_u - (i32.add - (i32.and - (get_local $5) - (i32.const 15) - ) - (i32.const 4075) - ) - ) - (get_local $9) - ) - ) - (br_if $while-in123 - (i32.or - (tee_local $5 - (call $_bitshift64Lshr - (get_local $5) - (get_local $12) - (i32.const 4) - ) + (set_local $12 + (select + (i32.and + (get_local $7) + (i32.const -65537) ) - (tee_local $12 - (get_global $tempRet0) + (get_local $7) + (i32.gt_s + (get_local $6) + (i32.const -1) ) ) ) - ) - (set_local $5 - (get_local $8) - ) - (set_local $8 - (if (result i32) - (i32.or - (i32.eqz - (i32.and - (get_local $7) - (i32.const 8) + (set_local $11 + (if (result i32) + (i32.or + (get_local $6) + (tee_local $11 + (i32.or + (i32.ne + (i32.load + (get_local $14) + ) + (i32.const 0) + ) + (i32.ne + (i32.load offset=4 + (get_local $14) + ) + (i32.const 0) + ) + ) ) ) - (i32.eqz - (i32.or - (i32.load - (get_local $14) - ) - (i32.load offset=4 - (get_local $14) + (select + (get_local $6) + (tee_local $5 + (i32.add + (i32.sub + (get_local $39) + (tee_local $7 + (get_local $5) + ) + ) + (i32.xor + (i32.and + (get_local $11) + (i32.const 1) + ) + (i32.const 1) + ) ) ) + (i32.gt_s + (get_local $6) + (get_local $5) + ) ) - ) - (block (result i32) - (set_local $9 - (i32.const 4091) - ) - (i32.const 0) - ) - (block (result i32) - (set_local $9 - (i32.add - (i32.shr_s - (get_local $19) - (i32.const 4) - ) - (i32.const 4091) + (block (result i32) + (set_local $7 + (get_local $25) ) + (i32.const 0) ) - (i32.const 2) ) ) - ) - ) - (block - (set_local $5 (get_local $25) ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - ) - ) - (br $__rjti$8) - ) - (set_local $5 - (call $_fmt_u - (get_local $5) - (get_local $7) - (get_local $25) - ) - ) - (set_local $7 - (get_local $12) - ) - (br $__rjti$8) - ) - (set_local $19 - (i32.eqz - (tee_local $13 - (call $_memchr - (get_local $5) - (i32.const 0) - (get_local $6) - ) - ) - ) - ) - (set_local $12 - (get_local $8) - ) - (set_local $11 - (select - (get_local $6) - (i32.sub - (get_local $13) - (tee_local $7 - (get_local $5) - ) - ) - (get_local $19) - ) - ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjto$8 - (select - (i32.add - (get_local $5) - (get_local $6) - ) - (get_local $13) - (get_local $19) - ) - ) - ) - (set_local $5 - (i32.const 0) - ) - (set_local $7 - (i32.const 0) - ) - (set_local $6 - (i32.load - (get_local $14) - ) - ) - (loop $while-in125 - (block $while-out124 - (br_if $while-out124 - (i32.eqz - (tee_local $9 - (i32.load - (get_local $6) - ) - ) - ) - ) - (br_if $while-out124 - (i32.or - (i32.lt_s - (tee_local $7 - (call $_wctomb - (get_local $35) - (get_local $9) - ) - ) - (i32.const 0) - ) - (i32.gt_u - (get_local $7) - (i32.sub - (get_local $8) - (get_local $5) - ) - ) - ) - ) - (set_local $6 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) - (br_if $while-in125 - (i32.gt_u - (get_local $8) - (tee_local $5 - (i32.add - (get_local $7) - (get_local $5) - ) - ) - ) - ) - ) - ) - (if - (i32.lt_s - (get_local $7) - (i32.const 0) - ) - (block - (set_local $17 - (i32.const -1) - ) - (br $label$break$L1) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $16) - (get_local $5) - (get_local $12) - ) - (if - (get_local $5) - (block - (set_local $6 - (i32.const 0) - ) - (set_local $7 - (i32.load - (get_local $14) - ) - ) - (loop $while-in127 - (if - (i32.eqz - (tee_local $8 - (i32.load - (get_local $7) - ) - ) - ) - (block - (set_local $7 - (get_local $5) - ) - (br $__rjti$7) - ) - ) - (if - (i32.gt_s - (tee_local $6 - (i32.add - (tee_local $8 - (call $_wctomb - (get_local $35) - (get_local $8) - ) - ) - (get_local $6) - ) - ) - (get_local $5) - ) - (block - (set_local $7 - (get_local $5) - ) - (br $__rjti$7) - ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (get_local $0) - ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (get_local $35) - (get_local $8) - (get_local $0) - ) - ) - ) - (set_local $7 - (i32.add - (get_local $7) - (i32.const 4) - ) - ) - (br_if $while-in127 - (i32.lt_u - (get_local $6) - (get_local $5) - ) - ) - ) - (set_local $7 - (get_local $5) - ) - ) - (set_local $7 - (i32.const 0) - ) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (get_local $16) - (get_local $7) - (i32.xor - (get_local $12) - (i32.const 8192) - ) - ) - (set_local $5 - (get_local $10) - ) - (set_local $10 - (select - (get_local $16) - (get_local $7) - (i32.gt_s - (get_local $16) - (get_local $7) - ) - ) - ) - (br $label$continue$L1) - ) - (set_local $12 - (select - (i32.and - (get_local $7) - (i32.const -65537) - ) - (get_local $7) - (i32.gt_s - (get_local $6) - (i32.const -1) - ) - ) - ) - (set_local $11 - (if (result i32) - (i32.or - (get_local $6) - (tee_local $11 - (i32.or - (i32.ne - (i32.load - (get_local $14) - ) - (i32.const 0) - ) - (i32.ne - (i32.load offset=4 - (get_local $14) - ) - (i32.const 0) - ) - ) - ) - ) - (select - (get_local $6) - (tee_local $5 - (i32.add - (i32.xor - (i32.and - (get_local $11) - (i32.const 1) - ) - (i32.const 1) - ) - (i32.sub - (get_local $39) - (tee_local $7 - (get_local $5) - ) - ) - ) - ) - (i32.gt_s - (get_local $6) - (get_local $5) - ) - ) - (block (result i32) - (set_local $7 - (get_local $25) - ) - (i32.const 0) - ) - ) - ) - (get_local $25) - ) - ) - (call $_pad - (get_local $0) - (i32.const 32) - (tee_local $6 - (select - (tee_local $5 - (i32.add - (get_local $8) - (tee_local $11 - (select - (tee_local $13 - (i32.sub - (get_local $5) (get_local $7) ) ) @@ -6823,6 +6818,7 @@ ) ) ) + (get_local $8) ) ) (get_local $16) @@ -7419,10 +7415,6 @@ (local $4 i32) (if (i32.or - (i32.gt_u - (get_local $1) - (i32.const 0) - ) (i32.and (i32.eqz (get_local $1) @@ -7432,6 +7424,10 @@ (i32.const -1) ) ) + (i32.gt_u + (get_local $1) + (i32.const 0) + ) ) (loop $while-in (i32.store8 @@ -7465,10 +7461,6 @@ (set_local $0 (if (result i32) (i32.or - (i32.gt_u - (get_local $1) - (i32.const 9) - ) (i32.and (i32.eq (get_local $1) @@ -7479,6 +7471,10 @@ (i32.const -1) ) ) + (i32.gt_u + (get_local $1) + (i32.const 9) + ) ) (block (set_local $0 diff --git a/test/passes/optimize-instructions.txt b/test/passes/optimize-instructions.txt index 51a5113b1..7d82ae8b1 100644 --- a/test/passes/optimize-instructions.txt +++ b/test/passes/optimize-instructions.txt @@ -1,17 +1,18 @@ (module (type $0 (func (param i32 i64))) (type $1 (func)) - (type $2 (func (result i32))) - (type $3 (func (param i32) (result i32))) - (type $4 (func (param i32 i32))) - (type $5 (func (param i32))) - (type $6 (func (param i32 i32) (result i32))) - (type $7 (func (param i64) (result i64))) - (type $8 (func (result i64))) - (type $9 (func (param i32 i64 f32 f64))) - (type $10 (func (param i32 i64 f32))) - (type $11 (func (param i32 i64 f64 i32))) - (type $12 (func (result f64))) + (type $2 (func (param i32 i32 f64 f64))) + (type $3 (func (result i32))) + (type $4 (func (param i32) (result i32))) + (type $5 (func (param i32 i32))) + (type $6 (func (param i32))) + (type $7 (func (param i32 i32) (result i32))) + (type $8 (func (param i64) (result i64))) + (type $9 (func (result i64))) + (type $10 (func (param i32 i64 f32 f64))) + (type $11 (func (param i32 i64 f32))) + (type $12 (func (param i32 i64 f64 i32))) + (type $13 (func (result f64))) (memory $0 0) (export "load-off-2" (func $load-off-2)) (func $f (; 0 ;) (type $0) (param $i1 i32) (param $i2 i64) @@ -346,7 +347,7 @@ ) ) ) - (func $canonicalize-binary (; 4 ;) (type $1) + (func $canonicalize (; 4 ;) (type $2) (param $x i32) (param $y i32) (param $fx f64) (param $fy f64) (drop (i32.and (unreachable) @@ -371,8 +372,208 @@ (unreachable) ) ) + (drop + (i32.and + (i32.const 1) + (i32.const 2) + ) + ) + (drop + (i32.and + (get_local $x) + (i32.const 3) + ) + ) + (drop + (i32.and + (get_local $x) + (i32.const 4) + ) + ) + (drop + (i32.and + (get_local $x) + (get_local $y) + ) + ) + (drop + (i32.and + (get_local $x) + (get_local $y) + ) + ) + (drop + (i32.and + (tee_local $x + (i32.const -4) + ) + (get_local $y) + ) + ) + (drop + (i32.and + (block $block (result i32) + (i32.const -5) + ) + (get_local $x) + ) + ) + (drop + (i32.and + (block $block3 (result i32) + (i32.const -6) + ) + (get_local $x) + ) + ) + (drop + (i32.and + (block $block4 (result i32) + (i32.const 5) + ) + (loop $loop-in (result i32) + (i32.const 6) + ) + ) + ) + (drop + (i32.and + (block $block6 (result i32) + (i32.const 8) + ) + (loop $loop-in5 (result i32) + (i32.const 7) + ) + ) + ) + (drop + (i32.and + (block $block8 (result i32) + (i32.const 10) + ) + (loop $loop-in7 (result i32) + (call $and-pos1) + (i32.const 9) + ) + ) + ) + (drop + (i32.and + (block $block10 (result i32) + (call $and-pos1) + (i32.const 12) + ) + (loop $loop-in9 (result i32) + (i32.const 11) + ) + ) + ) + (drop + (i32.and + (loop $loop-in11 (result i32) + (call $and-pos1) + (i32.const 13) + ) + (block $block12 (result i32) + (call $and-pos1) + (i32.const 14) + ) + ) + ) + (drop + (i32.and + (block $block13 (result i32) + (call $and-pos1) + (i32.const 14) + ) + (loop $loop-in14 (result i32) + (call $and-pos1) + (i32.const 13) + ) + ) + ) + (drop + (i32.and + (block $block15 (result i32) + (i32.const 15) + ) + (get_local $x) + ) + ) + (drop + (i32.and + (block $block16 (result i32) + (i32.const 15) + ) + (get_local $x) + ) + ) + (drop + (i32.and + (i32.gt_s + (i32.const 16) + (i32.const 17) + ) + (i32.gt_u + (i32.const 18) + (i32.const 19) + ) + ) + ) + (drop + (i32.and + (i32.gt_s + (i32.const 22) + (i32.const 23) + ) + (i32.gt_u + (i32.const 20) + (i32.const 21) + ) + ) + ) + (drop + (i32.add + (i32.ctz + (get_local $x) + ) + (i32.ctz + (get_local $y) + ) + ) + ) + (drop + (i32.add + (i32.ctz + (get_local $y) + ) + (i32.ctz + (get_local $x) + ) + ) + ) + (drop + (i32.add + (i32.ctz + (get_local $x) + ) + (i32.eqz + (get_local $y) + ) + ) + ) + (drop + (i32.add + (i32.ctz + (get_local $y) + ) + (i32.eqz + (get_local $x) + ) + ) + ) ) - (func $ne0 (; 5 ;) (type $2) (result i32) + (func $ne0 (; 5 ;) (type $3) (result i32) (if (call $ne0) (nop) @@ -420,10 +621,10 @@ (nop) ) ) - (func $ne1 (; 7 ;) (type $2) (result i32) + (func $ne1 (; 7 ;) (type $3) (result i32) (unreachable) ) - (func $load-off-2 (; 8 ;) (type $3) (param $0 i32) (result i32) + (func $load-off-2 (; 8 ;) (type $4) (param $0 i32) (result i32) (i32.store (i32.const 6) (get_local $0) @@ -506,7 +707,7 @@ ) ) ) - (func $sign-ext (; 9 ;) (type $4) (param $0 i32) (param $1 i32) + (func $sign-ext (; 9 ;) (type $5) (param $0 i32) (param $1 i32) (drop (i32.eqz (i32.and @@ -617,7 +818,7 @@ ) ) ) - (func $sign-ext-input (; 10 ;) (type $4) (param $0 i32) (param $1 i32) + (func $sign-ext-input (; 10 ;) (type $5) (param $0 i32) (param $1 i32) (drop (i32.const 100) ) @@ -936,11 +1137,11 @@ (i32.shr_s (i32.shl (i32.xor + (get_local $0) (i32.le_u (get_local $0) (i32.const 2) ) - (get_local $0) ) (i32.const 24) ) @@ -948,14 +1149,14 @@ ) ) ) - (func $linear-sums (; 11 ;) (type $4) (param $0 i32) (param $1 i32) + (func $linear-sums (; 11 ;) (type $5) (param $0 i32) (param $1 i32) (drop (i32.add - (get_local $1) (i32.shl (get_local $0) (i32.const 4) ) + (get_local $1) ) ) (drop @@ -1040,7 +1241,7 @@ (get_local $0) ) ) - (func $almost-sign-ext (; 12 ;) (type $4) (param $0 i32) (param $0 i32) + (func $almost-sign-ext (; 12 ;) (type $5) (param $0 i32) (param $0 i32) (drop (i32.shr_s (i32.shl @@ -1057,7 +1258,7 @@ ) ) ) - (func $squaring (; 13 ;) (type $4) (param $0 i32) (param $1 i32) + (func $squaring (; 13 ;) (type $5) (param $0 i32) (param $1 i32) (drop (i32.and (get_local $0) @@ -1066,11 +1267,11 @@ ) (drop (i32.and + (get_local $0) (i32.and (get_local $0) (i32.const 11) ) - (get_local $0) ) ) (drop @@ -1113,7 +1314,7 @@ ) ) ) - (func $sign-ext-ne (; 14 ;) (type $4) (param $0 i32) (param $1 i32) + (func $sign-ext-ne (; 14 ;) (type $5) (param $0 i32) (param $1 i32) (drop (i32.ne (i32.and @@ -1163,7 +1364,7 @@ ) ) ) - (func $sign-ext-eqz (; 15 ;) (type $4) (param $0 i32) (param $1 i32) + (func $sign-ext-eqz (; 15 ;) (type $5) (param $0 i32) (param $1 i32) (drop (i32.eqz (i32.and @@ -1173,7 +1374,7 @@ ) ) ) - (func $sign-ext-boolean (; 16 ;) (type $4) (param $0 i32) (param $1 i32) + (func $sign-ext-boolean (; 16 ;) (type $5) (param $0 i32) (param $1 i32) (drop (if (result i32) (i32.and @@ -1185,7 +1386,7 @@ ) ) ) - (func $add-sub-zero (; 17 ;) (type $4) (param $0 i32) (param $1 i32) + (func $add-sub-zero (; 17 ;) (type $5) (param $0 i32) (param $1 i32) (drop (get_local $0) ) @@ -1193,7 +1394,7 @@ (get_local $0) ) ) - (func $store-signext (; 18 ;) (type $5) (param $0 i32) + (func $store-signext (; 18 ;) (type $6) (param $0 i32) (i32.store8 (i32.const 8) (get_local $0) @@ -1251,7 +1452,7 @@ ) ) ) - (func $sign-ext-tee (; 19 ;) (type $4) (param $0 i32) (param $1 i32) + (func $sign-ext-tee (; 19 ;) (type $5) (param $0 i32) (param $1 i32) (drop (i32.shr_s (i32.shl @@ -1269,7 +1470,7 @@ ) ) ) - (func $sign-ext-load (; 20 ;) (type $4) (param $0 i32) (param $1 i32) + (func $sign-ext-load (; 20 ;) (type $5) (param $0 i32) (param $1 i32) (drop (i32.load8_s (i32.const 256) @@ -1340,7 +1541,7 @@ ) ) ) - (func $mask-bits (; 21 ;) (type $4) (param $0 i32) (param $1 i32) + (func $mask-bits (; 21 ;) (type $5) (param $0 i32) (param $1 i32) (drop (tee_local $0 (i32.const 127) @@ -1394,7 +1595,7 @@ ) ) ) - (func $local-info-zero-ext (; 22 ;) (type $4) (param $0 i32) (param $1 i32) + (func $local-info-zero-ext (; 22 ;) (type $5) (param $0 i32) (param $1 i32) (local $x i32) (local $y i32) (local $z i32) @@ -1445,7 +1646,7 @@ ) ) ) - (func $local-info-sign-ext-bitsize (; 23 ;) (type $4) (param $0 i32) (param $1 i32) + (func $local-info-sign-ext-bitsize (; 23 ;) (type $5) (param $0 i32) (param $1 i32) (local $x i32) (local $y i32) (local $z i32) @@ -1505,7 +1706,7 @@ ) ) ) - (func $local-info-sign-ext-already-exted (; 24 ;) (type $4) (param $0 i32) (param $1 i32) + (func $local-info-sign-ext-already-exted (; 24 ;) (type $5) (param $0 i32) (param $1 i32) (local $x i32) (local $y i32) (local $z i32) @@ -1616,7 +1817,7 @@ ) ) ) - (func $signed-loads-fill-the-bits (; 25 ;) (type $3) (param $$e i32) (result i32) + (func $signed-loads-fill-the-bits (; 25 ;) (type $4) (param $$e i32) (result i32) (local $$0 i32) (local $$conv i32) (set_local $$0 @@ -1632,12 +1833,12 @@ ) (return (i32.eq - (get_local $$conv) (get_local $$e) + (get_local $$conv) ) ) ) - (func $local-info-sign-ext-already-exted-by-load (; 26 ;) (type $4) (param $0 i32) (param $1 i32) + (func $local-info-sign-ext-already-exted-by-load (; 26 ;) (type $5) (param $0 i32) (param $1 i32) (local $x i32) (local $y i32) (local $z i32) @@ -1679,7 +1880,7 @@ ) ) ) - (func $compare-load-s-sign-extend (; 27 ;) (type $4) (param $0 i32) (param $1 i32) + (func $compare-load-s-sign-extend (; 27 ;) (type $5) (param $0 i32) (param $1 i32) (drop (i32.eq (i32.load8_u @@ -1693,13 +1894,13 @@ ) (drop (i32.eq + (i32.load8_u + (get_local $0) + ) (i32.and (get_local $1) (i32.const 255) ) - (i32.load8_u - (get_local $0) - ) ) ) (drop @@ -1732,6 +1933,9 @@ ) (drop (i32.eq + (i32.load8_u + (get_local $0) + ) (i32.shr_s (i32.shl (get_local $1) @@ -1739,13 +1943,13 @@ ) (i32.const 24) ) - (i32.load8_u - (get_local $0) - ) ) ) (drop (i32.eq + (i32.load8_s + (get_local $0) + ) (i32.shr_s (i32.shl (get_local $1) @@ -1753,13 +1957,10 @@ ) (i32.const 16) ) - (i32.load8_s - (get_local $0) - ) ) ) ) - (func $unsign-diff-sizes (; 28 ;) (type $6) (param $x i32) (param $y i32) (result i32) + (func $unsign-diff-sizes (; 28 ;) (type $7) (param $x i32) (param $y i32) (result i32) (i32.ne (i32.shr_s (i32.shl @@ -1783,7 +1984,7 @@ ) ) ) - (func $unsign-same-sizes (; 29 ;) (type $6) (param $x i32) (param $y i32) (result i32) + (func $unsign-same-sizes (; 29 ;) (type $7) (param $x i32) (param $y i32) (result i32) (i32.ne (i32.and (call $unsign-same-sizes @@ -1825,7 +2026,7 @@ ) ) ) - (func $fuzz-comp-impossible (; 31 ;) (type $5) (param $x i32) + (func $fuzz-comp-impossible (; 31 ;) (type $6) (param $x i32) (drop (i32.eq (i32.and @@ -1890,7 +2091,7 @@ ) ) ) - (func $if-parallel (; 32 ;) (type $4) (param $0 i32) (param $1 i32) + (func $if-parallel (; 32 ;) (type $5) (param $0 i32) (param $1 i32) (drop (i32.add (get_local $1) @@ -1945,7 +2146,7 @@ ) ) ) - (func $select-parallel (; 33 ;) (type $4) (param $0 i32) (param $1 i32) + (func $select-parallel (; 33 ;) (type $5) (param $0 i32) (param $1 i32) (drop (i32.add (get_local $1) @@ -2022,7 +2223,7 @@ ) ) ) - (func $zero-ops (; 35 ;) (type $2) (result i32) + (func $zero-ops (; 35 ;) (type $3) (result i32) (return (i32.eq (i32.load16_s align=1 @@ -2032,7 +2233,7 @@ ) ) ) - (func $sign-ext-1-and-ne (; 36 ;) (type $2) (result i32) + (func $sign-ext-1-and-ne (; 36 ;) (type $3) (result i32) (i32.ne (i32.and (call $sign-ext-1-and-ne) @@ -2041,7 +2242,7 @@ (i32.const -2147483648) ) ) - (func $neg-shifts-and-255 (; 37 ;) (type $2) (result i32) + (func $neg-shifts-and-255 (; 37 ;) (type $3) (result i32) (i32.and (i32.shr_u (i32.const -99) @@ -2050,7 +2251,7 @@ (i32.const 255) ) ) - (func $neg-shifts-and-255-b (; 38 ;) (type $2) (result i32) + (func $neg-shifts-and-255-b (; 38 ;) (type $3) (result i32) (i32.and (i32.shl (i32.const -2349025) @@ -2059,7 +2260,7 @@ (i32.const 255) ) ) - (func $shifts-square-overflow (; 39 ;) (type $3) (param $x i32) (result i32) + (func $shifts-square-overflow (; 39 ;) (type $4) (param $x i32) (result i32) (i32.shr_u (i32.shr_u (get_local $x) @@ -2068,13 +2269,13 @@ (i32.const 32767) ) ) - (func $shifts-square-no-overflow-small (; 40 ;) (type $3) (param $x i32) (result i32) + (func $shifts-square-no-overflow-small (; 40 ;) (type $4) (param $x i32) (result i32) (i32.shr_u (get_local $x) (i32.const 9) ) ) - (func $shifts-square-overflow-64 (; 41 ;) (type $7) (param $x i64) (result i64) + (func $shifts-square-overflow-64 (; 41 ;) (type $8) (param $x i64) (result i64) (i64.shr_u (i64.shr_u (get_local $x) @@ -2083,13 +2284,13 @@ (i64.const 64767) ) ) - (func $shifts-square-no-overflow-small-64 (; 42 ;) (type $7) (param $x i64) (result i64) + (func $shifts-square-no-overflow-small-64 (; 42 ;) (type $8) (param $x i64) (result i64) (i64.shr_u (get_local $x) (i64.const 9) ) ) - (func $shifts-square-unreachable (; 43 ;) (type $3) (param $x i32) (result i32) + (func $shifts-square-unreachable (; 43 ;) (type $4) (param $x i32) (result i32) (i32.shr_u (i32.shr_u (unreachable) @@ -2098,7 +2299,7 @@ (i32.const 4098) ) ) - (func $mix-shifts (; 44 ;) (type $2) (result i32) + (func $mix-shifts (; 44 ;) (type $3) (result i32) (i32.shr_s (i32.shl (i32.const 23) @@ -2107,13 +2308,13 @@ (i32.const 168) ) ) - (func $actually-no-shifts (; 45 ;) (type $2) (result i32) + (func $actually-no-shifts (; 45 ;) (type $3) (result i32) (i32.const 33) ) - (func $less-shifts-than-it-seems (; 46 ;) (type $3) (param $x i32) (result i32) + (func $less-shifts-than-it-seems (; 46 ;) (type $4) (param $x i32) (result i32) (i32.const 4800) ) - (func $and-popcount32 (; 47 ;) (type $2) (result i32) + (func $and-popcount32 (; 47 ;) (type $3) (result i32) (i32.and (i32.popcnt (i32.const -1) @@ -2121,12 +2322,12 @@ (i32.const 31) ) ) - (func $and-popcount32-big (; 48 ;) (type $2) (result i32) + (func $and-popcount32-big (; 48 ;) (type $3) (result i32) (i32.popcnt (i32.const -1) ) ) - (func $and-popcount64 (; 49 ;) (type $8) (result i64) + (func $and-popcount64 (; 49 ;) (type $9) (result i64) (i64.and (i64.popcnt (i64.const -1) @@ -2134,7 +2335,7 @@ (i64.const 63) ) ) - (func $and-popcount64-big (; 50 ;) (type $8) (result i64) + (func $and-popcount64-big (; 50 ;) (type $9) (result i64) (i64.and (i64.popcnt (i64.const -1) @@ -2142,7 +2343,7 @@ (i64.const 127) ) ) - (func $and-popcount64-bigger (; 51 ;) (type $8) (result i64) + (func $and-popcount64-bigger (; 51 ;) (type $9) (result i64) (i64.and (i64.popcnt (i64.const -1) @@ -2150,7 +2351,7 @@ (i64.const 255) ) ) - (func $optimizeAddedConstants-filters-through-nonzero (; 52 ;) (type $2) (result i32) + (func $optimizeAddedConstants-filters-through-nonzero (; 52 ;) (type $3) (result i32) (i32.add (i32.shl (i32.const -536870912) @@ -2161,7 +2362,7 @@ (i32.const -31744) ) ) - (func $optimizeAddedConstants-filters-through-nonzero-b (; 53 ;) (type $2) (result i32) + (func $optimizeAddedConstants-filters-through-nonzero-b (; 53 ;) (type $3) (result i32) (i32.add (i32.shl (i32.const -536870912) @@ -2172,7 +2373,7 @@ (i32.const -31744) ) ) - (func $return-proper-value-from-shift-left-by-zero (; 54 ;) (type $2) (result i32) + (func $return-proper-value-from-shift-left-by-zero (; 54 ;) (type $3) (result i32) (if (result i32) (i32.add (loop $label$0 (result i32) @@ -2191,7 +2392,7 @@ (i32.const 0) ) ) - (func $de-morgan-2 (; 55 ;) (type $4) (param $x i32) (param $y i32) + (func $de-morgan-2 (; 55 ;) (type $5) (param $x i32) (param $y i32) (drop (i32.eqz (i32.or @@ -2222,18 +2423,18 @@ ) (drop (i32.and + (get_local $y) (i32.eqz (get_local $x) ) - (get_local $y) ) ) (drop (i32.and - (get_local $x) (i32.eqz (get_local $y) ) + (get_local $x) ) ) (drop @@ -2248,16 +2449,16 @@ ) (drop (i32.and - (i32.wrap/i64 - (i64.const 1) - ) (i32.eqz (get_local $y) ) + (i32.wrap/i64 + (i64.const 1) + ) ) ) ) - (func $subzero1 (; 56 ;) (type $3) (param $0 i32) (result i32) + (func $subzero1 (; 56 ;) (type $4) (param $0 i32) (result i32) (i32.sub (i32.const 32) (i32.clz @@ -2265,7 +2466,7 @@ ) ) ) - (func $subzero2 (; 57 ;) (type $3) (param $0 i32) (result i32) + (func $subzero2 (; 57 ;) (type $4) (param $0 i32) (result i32) (i32.sub (i32.const 32) (i32.clz @@ -2273,7 +2474,7 @@ ) ) ) - (func $subzero3 (; 58 ;) (type $6) (param $0 i32) (param $1 i32) (result i32) + (func $subzero3 (; 58 ;) (type $7) (param $0 i32) (param $1 i32) (result i32) (i32.sub (get_local $1) (i32.clz @@ -2281,7 +2482,7 @@ ) ) ) - (func $subzero4 (; 59 ;) (type $6) (param $0 i32) (param $1 i32) (result i32) + (func $subzero4 (; 59 ;) (type $7) (param $0 i32) (param $1 i32) (result i32) (i32.sub (get_local $0) (i32.clz @@ -2289,7 +2490,7 @@ ) ) ) - (func $mul-power-2 (; 60 ;) (type $3) (param $x i32) (result i32) + (func $mul-power-2 (; 60 ;) (type $4) (param $x i32) (result i32) (drop (call $mul-power-2 (i32.shl @@ -2344,7 +2545,7 @@ ) (unreachable) ) - (func $urem-power-2 (; 61 ;) (type $3) (param $x i32) (result i32) + (func $urem-power-2 (; 61 ;) (type $4) (param $x i32) (result i32) (drop (call $urem-power-2 (i32.and @@ -2392,10 +2593,10 @@ ) (unreachable) ) - (func $orZero (; 62 ;) (type $3) (param $0 i32) (result i32) + (func $orZero (; 62 ;) (type $4) (param $0 i32) (result i32) (get_local $0) ) - (func $andZero (; 63 ;) (type $3) (param $0 i32) (result i32) + (func $andZero (; 63 ;) (type $4) (param $0 i32) (result i32) (drop (i32.const 0) ) @@ -2409,7 +2610,7 @@ ) (unreachable) ) - (func $abstract-additions (; 64 ;) (type $9) (param $x32 i32) (param $x64 i64) (param $y32 f32) (param $y64 f64) + (func $abstract-additions (; 64 ;) (type $10) (param $x32 i32) (param $x64 i64) (param $y32 f32) (param $y64 f64) (drop (get_local $x32) ) @@ -2565,11 +2766,11 @@ ) (drop (i32.eq - (get_local $x32) (i32.add (get_local $x32) (i32.const 10) ) + (get_local $x32) ) ) (drop @@ -2580,29 +2781,29 @@ ) (drop (i32.eq - (get_local $x32) (i32.sub (get_local $x32) (i32.const 30) ) + (get_local $x32) ) ) (drop (i32.eq - (get_local $x32) - (i32.add + (i32.sub (get_local $x32) (i32.const 30) ) + (get_local $x32) ) ) (drop (i32.eq - (get_local $x32) (i32.sub (get_local $x32) (i32.const 10) ) + (get_local $x32) ) ) (drop @@ -2615,7 +2816,7 @@ ) ) ) - (func $negatives-are-sometimes-better (; 65 ;) (type $10) (param $x i32) (param $y i64) (param $z f32) + (func $negatives-are-sometimes-better (; 65 ;) (type $11) (param $x i32) (param $y i64) (param $z f32) (drop (i32.sub (get_local $x) @@ -2713,7 +2914,7 @@ ) ) ) - (func $shift-a-zero (; 66 ;) (type $10) (param $x i32) (param $y i64) (param $z f32) + (func $shift-a-zero (; 66 ;) (type $11) (param $x i32) (param $y i64) (param $z f32) (drop (i32.const 0) ) @@ -2733,7 +2934,7 @@ ) ) ) - (func $identical-siblings (; 67 ;) (type $11) (param $x i32) (param $y i64) (param $z f64) (param $xx i32) + (func $identical-siblings (; 67 ;) (type $12) (param $x i32) (param $y i64) (param $z f64) (param $xx i32) (drop (i32.const 0) ) @@ -2870,7 +3071,7 @@ (get_local $x) ) ) - (func $select-on-const (; 70 ;) (type $4) (param $x i32) (param $y i32) + (func $select-on-const (; 70 ;) (type $5) (param $x i32) (param $y i32) (drop (get_local $x) ) @@ -2986,7 +3187,7 @@ ) ) ) - (func $tee-with-unreachable-value (; 72 ;) (type $12) (result f64) + (func $tee-with-unreachable-value (; 72 ;) (type $13) (result f64) (local $var$0 i32) (block $label$1 (result f64) (tee_local $var$0 @@ -2997,7 +3198,7 @@ ) ) ) - (func $add-sub-zero-reorder-1 (; 73 ;) (type $3) (param $temp i32) (result i32) + (func $add-sub-zero-reorder-1 (; 73 ;) (type $4) (param $temp i32) (result i32) (i32.add (i32.add (i32.sub @@ -3011,7 +3212,7 @@ (i32.const 2) ) ) - (func $add-sub-zero-reorder-2 (; 74 ;) (type $3) (param $temp i32) (result i32) + (func $add-sub-zero-reorder-2 (; 74 ;) (type $4) (param $temp i32) (result i32) (i32.add (i32.sub (tee_local $temp diff --git a/test/passes/optimize-instructions.wast b/test/passes/optimize-instructions.wast index 9ab5127a3..234b3913b 100644 --- a/test/passes/optimize-instructions.wast +++ b/test/passes/optimize-instructions.wast @@ -283,11 +283,120 @@ (drop (i32.and (i32.const 100) (i32.const 1))) (drop (i32.and (i32.lt_s (i32.const 2000) (i32.const 3000)) (i32.const 1))) ) - (func $canonicalize-binary + (func $canonicalize (param $x i32) (param $y i32) (param $fx f64) (param $fy f64) (drop (i32.and (unreachable) (i32.const 1))) ;; ok to reorder (drop (i32.and (i32.const 1) (unreachable))) (drop (i32.div_s (unreachable) (i32.const 1))) ;; not ok (drop (i32.div_s (i32.const 1) (unreachable))) + ;; the various orderings + (drop (i32.and (i32.const 1) (i32.const 2))) + (drop (i32.and (get_local $x) (i32.const 3))) + (drop (i32.and (i32.const 4) (get_local $x))) + (drop (i32.and (get_local $x) (get_local $y))) + (drop (i32.and (get_local $y) (get_local $x))) + (drop (i32.and (get_local $y) (tee_local $x (i32.const -4)))) + (drop (i32.and + (block (result i32) + (i32.const -5) + ) + (get_local $x) + )) + (drop (i32.and + (get_local $x) + (block (result i32) + (i32.const -6) + ) + )) + (drop (i32.and + (block (result i32) + (i32.const 5) + ) + (loop (result i32) + (i32.const 6) + ) + )) + (drop (i32.and + (loop (result i32) + (i32.const 7) + ) + (block (result i32) + (i32.const 8) + ) + )) + (drop (i32.and + (loop (result i32) + (call $and-pos1) + (i32.const 9) + ) + (block (result i32) + (i32.const 10) + ) + )) + (drop (i32.and + (loop (result i32) + (i32.const 11) + ) + (block (result i32) + (call $and-pos1) + (i32.const 12) + ) + )) + (drop (i32.and + (loop (result i32) + (call $and-pos1) + (i32.const 13) + ) + (block (result i32) + (call $and-pos1) + (i32.const 14) + ) + )) + (drop (i32.and + (block (result i32) + (call $and-pos1) + (i32.const 14) + ) + (loop (result i32) + (call $and-pos1) + (i32.const 13) + ) + )) + (drop (i32.and + (block (result i32) + (i32.const 15) + ) + (get_local $x) + )) + (drop (i32.and + (get_local $x) + (block (result i32) + (i32.const 15) + ) + )) + (drop (i32.and + (i32.gt_s + (i32.const 16) + (i32.const 17) + ) + (i32.gt_u + (i32.const 18) + (i32.const 19) + ) + )) + (drop (i32.and + (i32.gt_u + (i32.const 20) + (i32.const 21) + ) + (i32.gt_s + (i32.const 22) + (i32.const 23) + ) + )) + (drop (i32.add (i32.ctz (get_local $x)) (i32.ctz (get_local $y)))) + (drop (i32.add (i32.ctz (get_local $y)) (i32.ctz (get_local $x)))) + (drop (i32.add (i32.ctz (get_local $x)) (i32.eqz (get_local $y)))) + (drop (i32.add (i32.eqz (get_local $x)) (i32.ctz (get_local $y)))) ) (func $ne0 (result i32) (if (i32.ne (call $ne0) (i32.const 0)) diff --git a/test/passes/optimize-instructions_optimize-level=2_ignore-implicit-traps.txt b/test/passes/optimize-instructions_optimize-level=2_ignore-implicit-traps.txt index 14c82d38e..3e83b5894 100644 --- a/test/passes/optimize-instructions_optimize-level=2_ignore-implicit-traps.txt +++ b/test/passes/optimize-instructions_optimize-level=2_ignore-implicit-traps.txt @@ -29,13 +29,13 @@ (i32.rem_s (i32.add (i32.mul + (get_local $0) (tee_local $7 (i32.add (get_local $0) (i32.const 2) ) ) - (get_local $0) ) (i32.const 17) ) @@ -115,10 +115,10 @@ (i32.rem_s (i32.add (i32.mul + (get_local $0) (tee_local $7 (get_local $0) ) - (get_local $0) ) (i32.const 17) ) @@ -208,10 +208,10 @@ (i32.rem_s (i32.add (i32.mul + (get_local $0) (i32.eqz (get_local $0) ) - (get_local $0) ) (i32.const 17) ) diff --git a/test/two_sides.fromasm b/test/two_sides.fromasm index 0e845322d..6349982af 100644 --- a/test/two_sides.fromasm +++ b/test/two_sides.fromasm @@ -18,8 +18,8 @@ (tee_local $5 (f64.convert_s/i32 (i32.mul - (get_local $1) (get_local $0) + (get_local $1) ) ) ) @@ -41,8 +41,8 @@ (tee_local $5 (f64.convert_s/i32 (i32.mul - (get_local $3) (get_local $2) + (get_local $3) ) ) ) diff --git a/test/two_sides.fromasm.clamp b/test/two_sides.fromasm.clamp index 0bb94b93f..1db479aeb 100644 --- a/test/two_sides.fromasm.clamp +++ b/test/two_sides.fromasm.clamp @@ -42,8 +42,8 @@ (tee_local $5 (f64.convert_s/i32 (i32.mul - (get_local $1) (get_local $0) + (get_local $1) ) ) ) @@ -65,8 +65,8 @@ (tee_local $5 (f64.convert_s/i32 (i32.mul - (get_local $3) (get_local $2) + (get_local $3) ) ) ) diff --git a/test/two_sides.fromasm.imprecise b/test/two_sides.fromasm.imprecise index 9115e679a..09aa8270d 100644 --- a/test/two_sides.fromasm.imprecise +++ b/test/two_sides.fromasm.imprecise @@ -13,8 +13,8 @@ (tee_local $5 (f64.convert_s/i32 (i32.mul - (get_local $1) (get_local $0) + (get_local $1) ) ) ) @@ -36,8 +36,8 @@ (tee_local $5 (f64.convert_s/i32 (i32.mul - (get_local $3) (get_local $2) + (get_local $3) ) ) ) diff --git a/test/unit.fromasm b/test/unit.fromasm index 3eb75dc5a..cd9874cea 100644 --- a/test/unit.fromasm +++ b/test/unit.fromasm @@ -361,10 +361,10 @@ (i32.add (i32.add (i32.add - (get_local $0) (call $lb (i32.const 3) ) + (get_local $0) ) (block (result i32) (drop @@ -703,13 +703,13 @@ ) (br_if $while-in (i32.eq + (get_local $1) (tee_local $0 (i32.add (get_local $0) (i32.const 1) ) ) - (get_local $1) ) ) ) diff --git a/test/unit.fromasm.clamp b/test/unit.fromasm.clamp index e34bf66e4..1a11052a2 100644 --- a/test/unit.fromasm.clamp +++ b/test/unit.fromasm.clamp @@ -411,10 +411,10 @@ (i32.add (i32.add (i32.add - (get_local $0) (call $lb (i32.const 3) ) + (get_local $0) ) (block (result i32) (drop @@ -753,13 +753,13 @@ ) (br_if $while-in (i32.eq + (get_local $1) (tee_local $0 (i32.add (get_local $0) (i32.const 1) ) ) - (get_local $1) ) ) ) diff --git a/test/unit.fromasm.imprecise b/test/unit.fromasm.imprecise index 04794f28f..b5da4cfe4 100644 --- a/test/unit.fromasm.imprecise +++ b/test/unit.fromasm.imprecise @@ -360,10 +360,10 @@ (i32.add (i32.add (i32.add - (get_local $0) (call $lb (i32.const 3) ) + (get_local $0) ) (block (result i32) (drop @@ -702,13 +702,13 @@ ) (br_if $while-in (i32.eq + (get_local $1) (tee_local $0 (i32.add (get_local $0) (i32.const 1) ) ) - (get_local $1) ) ) ) |