diff options
-rw-r--r-- | src/passes/OptimizeAddedConstants.cpp | 46 | ||||
-rw-r--r-- | test/emcc_O2_hello_world.fromasm | 630 | ||||
-rw-r--r-- | test/emcc_O2_hello_world.fromasm.clamp | 630 | ||||
-rw-r--r-- | test/emcc_O2_hello_world.fromasm.imprecise | 624 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm | 7936 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm.clamp | 7936 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm.imprecise | 7988 | ||||
-rw-r--r-- | test/memorygrowth.fromasm | 455 | ||||
-rw-r--r-- | test/memorygrowth.fromasm.clamp | 455 | ||||
-rw-r--r-- | test/memorygrowth.fromasm.imprecise | 449 | ||||
-rw-r--r-- | test/passes/optimize-added-constants-propagate_low-memory-unused.txt | 20 | ||||
-rw-r--r-- | test/passes/optimize-added-constants-propagate_low-memory-unused.wast | 20 |
12 files changed, 13599 insertions, 13590 deletions
diff --git a/src/passes/OptimizeAddedConstants.cpp b/src/passes/OptimizeAddedConstants.cpp index 9e339ed38..f6158cb2d 100644 --- a/src/passes/OptimizeAddedConstants.cpp +++ b/src/passes/OptimizeAddedConstants.cpp @@ -41,19 +41,22 @@ template<typename P, typename T> class MemoryAccessOptimizer { public: MemoryAccessOptimizer(P* parent, T* curr, Module* module, LocalGraph* localGraph) : - parent(parent), curr(curr), module(module), localGraph(localGraph) { + parent(parent), curr(curr), module(module), localGraph(localGraph) {} + + // Tries to optimize, and returns whether we propagated a change. + bool optimize() { // The pointer itself may be a constant, if e.g. it was precomputed or // a get that we propagated. if (curr->ptr->template is<Const>()) { optimizeConstantPointer(); - return; + return false; } if (auto* add = curr->ptr->template dynCast<Binary>()) { if (add->op == AddInt32) { // Look for a constant on both sides. if (tryToOptimizeConstant(add->right, add->left) || tryToOptimizeConstant(add->left, add->right)) { - return; + return false; } } } @@ -84,7 +87,7 @@ public: // old value. if (tryToOptimizePropagatedAdd(add->right, add->left, get, set) || tryToOptimizePropagatedAdd(add->left, add->right, get, set)) { - return; + return true; } } } @@ -92,6 +95,7 @@ public: } } } + return false; } private: @@ -233,23 +237,37 @@ struct OptimizeAddedConstants : public WalkerPass<PostWalker<OptimizeAddedConsta std::unique_ptr<LocalGraph> localGraph; void visitLoad(Load* curr) { - MemoryAccessOptimizer<OptimizeAddedConstants, Load>(this, curr, getModule(), localGraph.get()); + MemoryAccessOptimizer<OptimizeAddedConstants, Load> optimizer(this, curr, getModule(), localGraph.get()); + if (optimizer.optimize()) { + propagated = true; + } } void visitStore(Store* curr) { - MemoryAccessOptimizer<OptimizeAddedConstants, Store>(this, curr, getModule(), localGraph.get()); + MemoryAccessOptimizer<OptimizeAddedConstants, Store> optimizer(this, curr, getModule(), localGraph.get()); + if (optimizer.optimize()) { + propagated = true; + } } void doWalkFunction(Function* func) { // This pass is only valid under the assumption of unused low memory. assert(getPassOptions().lowMemoryUnused); - if (propagate) { - localGraph = make_unique<LocalGraph>(func); - localGraph->computeSSAIndexes(); - } - super::doWalkFunction(func); - if (!helperIndexes.empty()) { - createHelperIndexes(); + // Multiple passes may be needed if we have x + 4 + 8 etc. (nested structs in C + // can cause this, but it's rare). Note that we only need that for the propagation + // case (as 4 + 8 would be optimized directly if it were adjacent). + while (1) { + propagated = false; + if (propagate) { + localGraph = make_unique<LocalGraph>(func); + localGraph->computeSSAIndexes(); + } + super::doWalkFunction(func); + if (!helperIndexes.empty()) { + createHelperIndexes(); + helperIndexes.clear(); + } + if (!propagated) return; } } @@ -269,6 +287,8 @@ struct OptimizeAddedConstants : public WalkerPass<PostWalker<OptimizeAddedConsta private: std::map<SetLocal*, Index> helperIndexes; + bool propagated; + void createHelperIndexes() { struct Creator : public PostWalker<Creator> { std::map<SetLocal*, Index>& helperIndexes; diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm index 7946a7135..4f4fccf20 100644 --- a/test/emcc_O2_hello_world.fromasm +++ b/test/emcc_O2_hello_world.fromasm @@ -145,7 +145,7 @@ (i32.const 3) ) (block - (local.set $8 + (local.set $7 (local.tee $1 (i32.add (i32.shl @@ -172,7 +172,7 @@ (local.tee $2 (local.tee $0 (i32.load offset=8 - (local.get $8) + (local.get $7) ) ) ) @@ -182,7 +182,7 @@ (if (i32.ne (local.get $1) - (local.tee $7 + (local.tee $3 (i32.load offset=8 (local.get $2) ) @@ -191,7 +191,7 @@ (block (if (i32.lt_u - (local.get $7) + (local.get $3) (i32.load (i32.const 192) ) @@ -199,13 +199,13 @@ (call $_abort) ) (local.set $2 - (local.get $7) + (local.get $3) ) (if (i32.eq (local.get $0) (i32.load offset=12 - (local.get $2) + (local.get $3) ) ) (block @@ -214,8 +214,8 @@ (local.get $1) ) (i32.store offset=8 - (local.get $8) (local.get $7) + (local.get $3) ) ) (call $_abort) @@ -238,7 +238,7 @@ (i32.store offset=4 (local.get $0) (i32.or - (local.tee $7 + (local.tee $3 (i32.shl (local.get $6) (i32.const 3) @@ -250,7 +250,7 @@ (local.set $0 (i32.add (local.get $0) - (local.get $7) + (local.get $3) ) ) (i32.store offset=4 @@ -283,7 +283,7 @@ (local.set $1 (i32.and (i32.shr_u - (local.tee $7 + (local.tee $3 (i32.add (i32.and (i32.sub @@ -293,14 +293,14 @@ (i32.or (i32.sub (i32.const 0) - (local.tee $7 + (local.tee $3 (i32.shl (i32.const 2) (local.get $6) ) ) ) - (local.get $7) + (local.get $3) ) (i32.shl (local.get $2) @@ -319,12 +319,12 @@ (i32.const 16) ) ) - (local.set $7 + (local.set $3 (i32.and (i32.shr_u (local.tee $9 (i32.shr_u - (local.get $7) + (local.get $3) (local.get $1) ) ) @@ -339,7 +339,7 @@ (local.tee $0 (i32.shr_u (local.get $9) - (local.get $7) + (local.get $3) ) ) (i32.const 2) @@ -388,7 +388,7 @@ (local.get $9) (i32.or (local.get $1) - (local.get $7) + (local.get $3) ) ) ) @@ -779,7 +779,7 @@ ) (local.get $10) (block - (local.set $3 + (local.set $4 (local.get $2) ) (local.set $5 @@ -860,7 +860,7 @@ (i32.const 20) ) ) - (local.set $4 + (local.set $3 (if (result i32) (local.tee $7 (i32.load offset=20 @@ -910,7 +910,7 @@ (local.set $17 (local.get $7) ) - (local.set $4 + (local.set $3 (local.get $0) ) (br $while-in7) @@ -932,7 +932,7 @@ (local.set $17 (local.get $7) ) - (local.set $4 + (local.set $3 (local.get $0) ) (br $while-in7) @@ -941,13 +941,13 @@ ) (if (i32.lt_u - (local.get $4) + (local.get $3) (local.get $1) ) (call $_abort) (block (i32.store - (local.get $4) + (local.get $3) (i32.const 0) ) (local.set $19 @@ -980,14 +980,14 @@ ) (call $_abort) ) - (local.set $7 + (local.set $3 (local.get $9) ) (if (i32.eq (local.get $5) (i32.load offset=8 - (local.get $7) + (local.get $3) ) ) (block @@ -996,7 +996,7 @@ (local.get $9) ) (i32.store offset=8 - (local.get $7) + (local.get $3) (local.get $0) ) (local.set $19 @@ -1161,7 +1161,7 @@ ) (if (i32.lt_u - (local.get $3) + (local.get $4) (i32.const 16) ) (block @@ -1170,7 +1170,7 @@ (i32.or (local.tee $2 (i32.add - (local.get $3) + (local.get $4) (local.get $8) ) ) @@ -1204,16 +1204,16 @@ (i32.store offset=4 (local.get $6) (i32.or - (local.get $3) + (local.get $4) (i32.const 1) ) ) (i32.store (i32.add - (local.get $3) + (local.get $4) (local.get $6) ) - (local.get $3) + (local.get $4) ) (if (local.tee $1 @@ -1323,7 +1323,7 @@ ) (i32.store (i32.const 184) - (local.get $3) + (local.get $4) ) (i32.store (i32.const 196) @@ -1801,7 +1801,7 @@ ) ) (block - (local.set $4 + (local.set $3 (local.get $33) ) (local.set $11 @@ -1816,7 +1816,7 @@ (local.get $9) (i32.const 90) ) - (local.set $4 + (local.set $3 (loop $while-in16 (result i32) (local.set $9 (i32.const 0) @@ -1899,7 +1899,7 @@ (if (result i32) (local.get $11) (i32.lt_u - (local.get $4) + (local.get $3) (i32.sub (i32.load (i32.const 184) @@ -2255,7 +2255,7 @@ ) (if (i32.ge_u - (local.get $4) + (local.get $3) (i32.const 16) ) (block $do-once25 @@ -2269,26 +2269,26 @@ (i32.store offset=4 (local.get $5) (i32.or - (local.get $4) + (local.get $3) (i32.const 1) ) ) (i32.store (i32.add - (local.get $4) + (local.get $3) (local.get $5) ) - (local.get $4) + (local.get $3) ) (local.set $6 (i32.shr_u - (local.get $4) + (local.get $3) (i32.const 3) ) ) (if (i32.lt_u - (local.get $4) + (local.get $3) (i32.const 256) ) (block @@ -2390,13 +2390,13 @@ (if (result i32) (local.tee $10 (i32.shr_u - (local.get $4) + (local.get $3) (i32.const 8) ) ) (if (result i32) (i32.gt_u - (local.get $4) + (local.get $3) (i32.const 16777215) ) (i32.const 31) @@ -2432,7 +2432,7 @@ (i32.or (i32.and (i32.shr_u - (local.get $4) + (local.get $3) (i32.add (local.tee $6 (i32.add @@ -2496,11 +2496,8 @@ (local.get $5) (local.get $7) ) - (i32.store offset=4 - (i32.add - (local.get $5) - (i32.const 16) - ) + (i32.store offset=20 + (local.get $5) (i32.const 0) ) (i32.store offset=16 @@ -2552,7 +2549,7 @@ ) (local.set $14 (i32.shl - (local.get $4) + (local.get $3) (select (i32.const 0) (i32.sub @@ -2581,7 +2578,7 @@ (block $while-out27 (result i32) (if (i32.eq - (local.get $4) + (local.get $3) (i32.and (i32.load offset=4 (local.get $1) @@ -2735,7 +2732,7 @@ (local.tee $14 (i32.add (local.get $2) - (local.get $4) + (local.get $3) ) ) (i32.const 3) @@ -2792,7 +2789,7 @@ ) (if (i32.gt_u - (local.tee $4 + (local.tee $3 (i32.sub (local.get $11) (local.get $8) @@ -2812,21 +2809,21 @@ ) (i32.store (i32.const 184) - (local.get $4) + (local.get $3) ) (i32.store offset=4 (local.get $20) (i32.or - (local.get $4) + (local.get $3) (i32.const 1) ) ) (i32.store (i32.add - (local.get $4) + (local.get $3) (local.get $20) ) - (local.get $4) + (local.get $3) ) (i32.store offset=4 (local.get $15) @@ -2889,7 +2886,7 @@ (block (i32.store (i32.const 188) - (local.tee $4 + (local.tee $3 (i32.sub (local.get $15) (local.get $8) @@ -2912,7 +2909,7 @@ (i32.store offset=4 (local.get $11) (i32.or - (local.get $4) + (local.get $3) (i32.const 1) ) ) @@ -2998,7 +2995,7 @@ ) (local.set $20 (i32.add - (local.tee $4 + (local.tee $3 (i32.load (i32.const 656) ) @@ -3013,12 +3010,12 @@ ) (if (i32.le_u - (local.tee $4 + (local.tee $3 (i32.and (local.tee $23 (i32.sub (i32.const 0) - (local.get $4) + (local.get $3) ) ) (local.get $20) @@ -3041,7 +3038,7 @@ (i32.le_u (local.tee $16 (i32.add - (local.get $4) + (local.get $3) (local.tee $26 (i32.load (i32.const 608) @@ -3069,7 +3066,7 @@ (if (result i32) (select (i32.lt_u - (local.get $4) + (local.get $3) (i32.const 2147483647) ) (i32.const 0) @@ -3253,7 +3250,7 @@ ) (i32.add (i32.sub - (local.get $4) + (local.get $3) (local.get $2) ) (i32.and @@ -3267,7 +3264,7 @@ ) ) ) - (local.get $4) + (local.get $3) ) ) (local.set $2 @@ -3360,7 +3357,7 @@ (local.get $18) ) ) - (local.set $3 + (local.set $4 (if (result i32) (if (result i32) (i32.and @@ -3436,7 +3433,7 @@ (local.get $13) ) (local.set $22 - (local.get $3) + (local.get $4) ) (br $label$break$L257 (i32.const 193) @@ -3464,15 +3461,15 @@ (i32.and (i32.and (i32.ne - (local.tee $3 + (local.tee $4 (call $_sbrk - (local.get $4) + (local.get $3) ) ) (i32.const -1) ) (i32.ne - (local.tee $4 + (local.tee $3 (call $_sbrk (i32.const 0) ) @@ -3481,8 +3478,8 @@ ) ) (i32.lt_u - (local.get $3) (local.get $4) + (local.get $3) ) ) (i32.const 0) @@ -3490,8 +3487,8 @@ (i32.gt_u (local.tee $13 (i32.sub - (local.get $4) (local.get $3) + (local.get $4) ) ) (i32.add @@ -3503,7 +3500,7 @@ ) (block (local.set $21 - (local.get $3) + (local.get $4) ) (local.set $22 (local.get $13) @@ -3549,28 +3546,28 @@ ) ) (block $do-once40 - (local.set $3 + (local.set $4 (i32.const 624) ) (loop $do-in (block $do-out (local.set $18 (i32.add - (local.get $3) + (local.get $4) (i32.const 4) ) ) (if (i32.eq (i32.add - (local.tee $4 + (local.tee $3 (i32.load - (local.get $3) + (local.get $4) ) ) (local.tee $11 (i32.load offset=4 - (local.get $3) + (local.get $4) ) ) ) @@ -3578,7 +3575,7 @@ ) (block (local.set $46 - (local.get $4) + (local.get $3) ) (local.set $47 (local.get $18) @@ -3587,7 +3584,7 @@ (local.get $11) ) (local.set $49 - (local.get $3) + (local.get $4) ) (local.set $9 (i32.const 203) @@ -3596,9 +3593,9 @@ ) ) (br_if $do-in - (local.tee $3 + (local.tee $4 (i32.load offset=8 - (local.get $3) + (local.get $4) ) ) ) @@ -3641,14 +3638,14 @@ (local.get $48) ) ) - (local.set $3 + (local.set $4 (i32.add (local.tee $11 (select (i32.and (i32.sub (i32.const 0) - (local.tee $3 + (local.tee $4 (i32.add (local.get $13) (i32.const 8) @@ -3659,7 +3656,7 @@ ) (i32.const 0) (i32.and - (local.get $3) + (local.get $4) (i32.const 7) ) ) @@ -3680,14 +3677,14 @@ ) (i32.store (i32.const 200) - (local.get $3) + (local.get $4) ) (i32.store (i32.const 188) (local.get $18) ) (i32.store offset=4 - (local.get $3) + (local.get $4) (i32.or (local.get $18) (i32.const 1) @@ -3695,7 +3692,7 @@ ) (i32.store offset=4 (i32.add - (local.get $3) + (local.get $4) (local.get $18) ) (i32.const 40) @@ -3735,7 +3732,7 @@ (local.get $22) ) ) - (local.set $3 + (local.set $4 (i32.const 624) ) (loop $while-in43 @@ -3744,15 +3741,15 @@ (i32.eq (local.get $18) (i32.load - (local.get $3) + (local.get $4) ) ) (block (local.set $50 - (local.get $3) + (local.get $4) ) (local.set $34 - (local.get $3) + (local.get $4) ) (local.set $9 (i32.const 211) @@ -3761,9 +3758,9 @@ ) ) (br_if $while-in43 - (local.tee $3 + (local.tee $4 (i32.load offset=8 - (local.get $3) + (local.get $4) ) ) ) @@ -3806,7 +3803,7 @@ (i32.and (i32.sub (i32.const 0) - (local.tee $3 + (local.tee $4 (i32.add (local.get $21) (i32.const 8) @@ -3817,20 +3814,20 @@ ) (i32.const 0) (i32.and - (local.get $3) + (local.get $4) (i32.const 7) ) ) (local.get $21) ) ) - (local.set $4 + (local.set $3 (i32.add (select (i32.and (i32.sub (i32.const 0) - (local.tee $3 + (local.tee $4 (i32.add (local.get $18) (i32.const 8) @@ -3841,14 +3838,14 @@ ) (i32.const 0) (i32.and - (local.get $3) + (local.get $4) (i32.const 7) ) ) (local.get $18) ) ) - (local.set $3 + (local.set $4 (i32.add (local.get $8) (local.get $11) @@ -3857,7 +3854,7 @@ (local.set $15 (i32.sub (i32.sub - (local.get $4) + (local.get $3) (local.get $11) ) (local.get $8) @@ -3872,7 +3869,7 @@ ) (if (i32.ne - (local.get $4) + (local.get $3) (local.get $13) ) (block $do-once44 @@ -3881,7 +3878,7 @@ (i32.load (i32.const 196) ) - (local.get $4) + (local.get $3) ) (block (i32.store @@ -3897,10 +3894,10 @@ ) (i32.store (i32.const 196) - (local.get $3) + (local.get $4) ) (i32.store offset=4 - (local.get $3) + (local.get $4) (i32.or (local.get $0) (i32.const 1) @@ -3909,7 +3906,7 @@ (i32.store (i32.add (local.get $0) - (local.get $3) + (local.get $4) ) (local.get $0) ) @@ -3921,7 +3918,7 @@ (i32.and (local.tee $0 (i32.load offset=4 - (local.get $4) + (local.get $3) ) ) (i32.const 3) @@ -3950,15 +3947,15 @@ (block (local.set $23 (i32.load offset=24 - (local.get $4) + (local.get $3) ) ) (if (i32.eq - (local.get $4) + (local.get $3) (local.tee $20 (i32.load offset=12 - (local.get $4) + (local.get $3) ) ) ) @@ -3969,7 +3966,7 @@ (local.tee $12 (i32.add (local.tee $0 - (local.get $4) + (local.get $3) ) (i32.const 16) ) @@ -4070,7 +4067,7 @@ (i32.lt_u (local.tee $2 (i32.load offset=8 - (local.get $4) + (local.get $3) ) ) (local.get $5) @@ -4082,7 +4079,7 @@ ) (if (i32.ne - (local.get $4) + (local.get $3) (i32.load offset=12 (local.get $0) ) @@ -4094,7 +4091,7 @@ ) (if (i32.eq - (local.get $4) + (local.get $3) (i32.load offset=8 (local.get $6) ) @@ -4125,7 +4122,7 @@ (i32.shl (local.tee $20 (i32.load offset=28 - (local.get $4) + (local.get $3) ) ) (i32.const 2) @@ -4136,7 +4133,7 @@ (i32.load offset=480 (local.get $0) ) - (local.get $4) + (local.get $3) ) (block (if @@ -4153,7 +4150,7 @@ ) (if (i32.eq - (local.get $4) + (local.get $3) (i32.load offset=16 (local.get $0) ) @@ -4214,16 +4211,13 @@ (local.get $24) (local.get $23) ) - (local.set $2 - (i32.add - (local.get $4) - (i32.const 16) - ) + (local.set $0 + (local.get $3) ) (if (local.tee $12 (i32.load offset=16 - (local.get $4) + (local.get $0) ) ) (if @@ -4247,8 +4241,8 @@ (br_if $label$break$L331 (i32.eqz (local.tee $12 - (i32.load offset=4 - (local.get $2) + (i32.load offset=20 + (local.get $0) ) ) ) @@ -4276,14 +4270,14 @@ (block (local.set $20 (i32.load offset=12 - (local.get $4) + (local.get $3) ) ) (if (i32.ne (local.tee $12 (i32.load offset=8 - (local.get $4) + (local.get $3) ) ) (local.tee $23 @@ -4306,7 +4300,7 @@ ) (br_if $do-once55 (i32.eq - (local.get $4) + (local.get $3) (i32.load offset=12 (local.get $12) ) @@ -4366,7 +4360,7 @@ ) (if (i32.eq - (local.get $4) + (local.get $3) (i32.load offset=8 (local.get $20) ) @@ -4392,10 +4386,10 @@ ) ) ) - (local.set $4 + (local.set $3 (i32.add (local.get $1) - (local.get $4) + (local.get $3) ) ) (local.set $15 @@ -4407,16 +4401,16 @@ ) ) (i32.store offset=4 - (local.get $4) + (local.get $3) (i32.and (i32.load offset=4 - (local.get $4) + (local.get $3) ) (i32.const -2) ) ) (i32.store offset=4 - (local.get $3) + (local.get $4) (i32.or (local.get $15) (i32.const 1) @@ -4424,7 +4418,7 @@ ) (i32.store (i32.add - (local.get $3) + (local.get $4) (local.get $15) ) (local.get $15) @@ -4515,18 +4509,18 @@ ) (i32.store (local.get $40) - (local.get $3) + (local.get $4) ) (i32.store offset=12 (local.get $35) - (local.get $3) + (local.get $4) ) (i32.store offset=8 - (local.get $3) + (local.get $4) (local.get $35) ) (i32.store offset=12 - (local.get $3) + (local.get $4) (local.get $0) ) (br $do-once44) @@ -4643,18 +4637,15 @@ ) ) (i32.store offset=28 - (local.get $3) + (local.get $4) (local.get $1) ) - (i32.store offset=4 - (i32.add - (local.get $3) - (i32.const 16) - ) + (i32.store offset=20 + (local.get $4) (i32.const 0) ) (i32.store offset=16 - (local.get $3) + (local.get $4) (i32.const 0) ) (if @@ -4683,19 +4674,19 @@ ) (i32.store offset=480 (local.get $6) - (local.get $3) + (local.get $4) ) (i32.store offset=24 - (local.get $3) + (local.get $4) (local.get $2) ) (i32.store offset=12 - (local.get $3) - (local.get $3) + (local.get $4) + (local.get $4) ) (i32.store offset=8 - (local.get $3) - (local.get $3) + (local.get $4) + (local.get $4) ) (br $do-once44) ) @@ -4806,19 +4797,19 @@ (block (i32.store (local.get $42) - (local.get $3) + (local.get $4) ) (i32.store offset=24 - (local.get $3) + (local.get $4) (local.get $51) ) (i32.store offset=12 - (local.get $3) - (local.get $3) + (local.get $4) + (local.get $4) ) (i32.store offset=8 - (local.get $3) - (local.get $3) + (local.get $4) + (local.get $4) ) ) ) @@ -4853,22 +4844,22 @@ (block (i32.store offset=12 (local.get $16) - (local.get $3) + (local.get $4) ) (i32.store offset=8 (local.get $0) - (local.get $3) + (local.get $4) ) (i32.store offset=8 - (local.get $3) + (local.get $4) (local.get $16) ) (i32.store offset=12 - (local.get $3) + (local.get $4) (local.get $41) ) (i32.store offset=24 - (local.get $3) + (local.get $4) (i32.const 0) ) ) @@ -4892,10 +4883,10 @@ ) (i32.store (i32.const 200) - (local.get $3) + (local.get $4) ) (i32.store offset=4 - (local.get $3) + (local.get $4) (i32.or (local.get $16) (i32.const 1) @@ -4913,84 +4904,86 @@ ) ) ) - (local.set $3 + (local.set $4 (i32.add (local.tee $1 - (local.tee $11 - (select - (local.get $13) - (local.tee $3 - (i32.add - (select - (i32.and - (i32.sub - (i32.const 0) - (local.tee $15 - (i32.add - (local.tee $11 - (i32.add - (local.tee $0 - (loop $while-in66 (result i32) - (if (result i32) + (local.tee $7 + (local.tee $11 + (select + (local.get $13) + (local.tee $4 + (i32.add + (select + (i32.and + (i32.sub + (i32.const 0) + (local.tee $15 + (i32.add + (local.tee $11 + (i32.add + (local.tee $0 + (loop $while-in66 (result i32) (if (result i32) - (i32.le_u - (local.tee $3 - (i32.load - (local.get $27) + (if (result i32) + (i32.le_u + (local.tee $4 + (i32.load + (local.get $27) + ) ) + (local.get $13) ) - (local.get $13) - ) - (i32.gt_u - (local.tee $15 - (i32.add - (i32.load offset=4 - (local.get $27) + (i32.gt_u + (local.tee $15 + (i32.add + (i32.load offset=4 + (local.get $27) + ) + (local.get $4) ) - (local.get $3) ) + (local.get $13) ) - (local.get $13) + (i32.const 0) ) - (i32.const 0) - ) - (local.get $15) - (block - (local.set $27 - (i32.load offset=8 - (local.get $27) + (local.get $15) + (block + (local.set $27 + (i32.load offset=8 + (local.get $27) + ) ) + (br $while-in66) ) - (br $while-in66) ) ) ) + (i32.const -47) ) - (i32.const -47) ) + (i32.const 8) ) - (i32.const 8) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (local.get $15) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $15) - (i32.const 7) ) + (local.get $11) ) - (local.get $11) ) - ) - (i32.lt_u - (local.get $3) - (i32.add - (local.tee $6 - (local.get $13) + (i32.lt_u + (local.get $4) + (i32.add + (local.tee $6 + (local.get $13) + ) + (i32.const 16) ) - (i32.const 16) ) ) ) @@ -5001,7 +4994,7 @@ ) (i32.store (i32.const 200) - (local.tee $4 + (local.tee $3 (i32.add (local.get $21) (local.tee $18 @@ -5009,7 +5002,7 @@ (i32.and (i32.sub (i32.const 0) - (local.tee $4 + (local.tee $3 (i32.add (local.get $21) (i32.const 8) @@ -5020,7 +5013,7 @@ ) (i32.const 0) (i32.and - (local.get $4) + (local.get $3) (i32.const 7) ) ) @@ -5041,7 +5034,7 @@ ) ) (i32.store offset=4 - (local.get $4) + (local.get $3) (i32.or (local.get $16) (i32.const 1) @@ -5049,7 +5042,7 @@ ) (i32.store offset=4 (i32.add - (local.get $4) + (local.get $3) (local.get $16) ) (i32.const 40) @@ -5068,25 +5061,25 @@ (i32.const 27) ) (i32.store offset=8 - (local.get $1) + (local.get $7) (i32.load (i32.const 624) ) ) - (i32.store offset=4 - (local.get $3) + (i32.store offset=12 + (local.get $1) (i32.load (i32.const 628) ) ) - (i32.store offset=8 - (local.get $3) + (i32.store offset=16 + (local.get $1) (i32.load (i32.const 632) ) ) - (i32.store offset=12 - (local.get $3) + (i32.store offset=20 + (local.get $1) (i32.load (i32.const 636) ) @@ -5105,19 +5098,19 @@ ) (i32.store (i32.const 632) - (local.get $3) + (local.get $4) ) - (local.set $3 + (local.set $4 (i32.add (local.get $2) (i32.const 24) ) ) (loop $do-in68 - (local.set $3 + (local.set $4 (i32.add (local.tee $1 - (local.get $3) + (local.get $4) ) (i32.const 4) ) @@ -5129,7 +5122,7 @@ (br_if $do-in68 (i32.lt_u (i32.add - (local.get $3) + (local.get $4) (i32.const 4) ) (local.get $0) @@ -5154,7 +5147,7 @@ (i32.store offset=4 (local.get $13) (i32.or - (local.tee $3 + (local.tee $4 (i32.sub (local.get $11) (local.get $13) @@ -5165,24 +5158,24 @@ ) (i32.store (local.get $11) - (local.get $3) + (local.get $4) ) - (local.set $4 + (local.set $3 (i32.shr_u - (local.get $3) + (local.get $4) (i32.const 3) ) ) (if (i32.lt_u - (local.get $3) + (local.get $4) (i32.const 256) ) (block (local.set $18 (i32.add (i32.shl - (local.get $4) + (local.get $3) (i32.const 3) ) (i32.const 216) @@ -5193,7 +5186,7 @@ (local.tee $1 (i32.shl (i32.const 1) - (local.get $4) + (local.get $3) ) ) (local.tee $0 @@ -5203,7 +5196,7 @@ ) ) (block - (local.set $4 + (local.set $3 (i32.add (local.get $18) (i32.const 8) @@ -5223,7 +5216,7 @@ (call $_abort) (block (local.set $43 - (local.get $4) + (local.get $3) ) (local.set $36 (local.get $2) @@ -5269,7 +5262,7 @@ (br $do-once40) ) ) - (local.set $4 + (local.set $3 (i32.add (local.tee $7 (i32.shl @@ -5277,13 +5270,13 @@ (if (result i32) (local.tee $18 (i32.shr_u - (local.get $3) + (local.get $4) (i32.const 8) ) ) (if (result i32) (i32.gt_u - (local.get $3) + (local.get $4) (i32.const 16777215) ) (i32.const 31) @@ -5319,9 +5312,9 @@ (i32.or (i32.and (i32.shr_u - (local.get $3) + (local.get $4) (i32.add - (local.tee $4 + (local.tee $3 (i32.add (i32.sub (i32.const 14) @@ -5364,7 +5357,7 @@ (i32.const 1) ) (i32.shl - (local.get $4) + (local.get $3) (i32.const 1) ) ) @@ -5421,7 +5414,7 @@ ) (i32.store offset=24 (local.get $13) - (local.get $4) + (local.get $3) ) (i32.store offset=12 (local.get $13) @@ -5436,7 +5429,7 @@ ) (local.set $2 (i32.shl - (local.get $3) + (local.get $4) (select (i32.const 0) (i32.sub @@ -5465,7 +5458,7 @@ (block $while-out69 (result i32) (if (i32.eq - (local.get $3) + (local.get $4) (i32.and (i32.load offset=4 (local.get $0) @@ -5485,7 +5478,7 @@ (if (result i32) (local.tee $1 (i32.load - (local.tee $4 + (local.tee $3 (i32.add (i32.add (local.get $0) @@ -5516,7 +5509,7 @@ ) (block (result i32) (local.set $45 - (local.get $4) + (local.get $3) ) (local.set $52 (local.get $0) @@ -5573,7 +5566,7 @@ (local.get $0) ) ) - (local.tee $3 + (local.tee $4 (i32.load (i32.const 192) ) @@ -5581,7 +5574,7 @@ ) (i32.ge_u (local.get $0) - (local.get $3) + (local.get $4) ) ) (block @@ -5660,20 +5653,23 @@ (i32.const 0) ) (loop $do-in72 - (i32.store offset=12 - (local.tee $0 - (i32.add + (local.set $0 + (i32.add + (local.tee $1 (i32.shl (local.get $2) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (local.get $0) ) - (i32.store offset=8 + (i32.store offset=228 + (local.get $1) (local.get $0) + ) + (i32.store offset=224 + (local.get $1) (local.get $0) ) (br_if $do-in72 @@ -5719,7 +5715,7 @@ ) (i32.store (i32.const 188) - (local.tee $3 + (local.tee $4 (i32.sub (i32.add (local.get $22) @@ -5732,14 +5728,14 @@ (i32.store offset=4 (local.get $2) (i32.or - (local.get $3) + (local.get $4) (i32.const 1) ) ) (i32.store offset=4 (i32.add (local.get $2) - (local.get $3) + (local.get $4) ) (i32.const 40) ) @@ -6414,10 +6410,7 @@ (local.get $10) ) (local.set $6 - (i32.add - (local.get $1) - (i32.const 16) - ) + (local.get $1) ) (if (local.tee $2 @@ -6445,7 +6438,7 @@ ) (if (local.tee $2 - (i32.load offset=4 + (i32.load offset=20 (local.get $6) ) ) @@ -6935,16 +6928,13 @@ (local.get $11) (local.get $6) ) - (local.set $7 - (i32.add - (local.get $8) - (i32.const 16) - ) + (local.set $0 + (local.get $8) ) (if (local.tee $1 (i32.load offset=16 - (local.get $8) + (local.get $0) ) ) (if @@ -6967,8 +6957,8 @@ ) (if (local.tee $1 - (i32.load offset=4 - (local.get $7) + (i32.load offset=20 + (local.get $0) ) ) (if @@ -7642,7 +7632,7 @@ (local $13 i32) (local $14 i32) (local $15 i32) - (local.set $6 + (local.set $4 (global.get $STACKTOP) ) (global.set $STACKTOP @@ -7651,30 +7641,25 @@ (i32.const 48) ) ) - (local.set $9 + (local.set $13 (i32.add - (local.get $6) + (local.get $4) (i32.const 16) ) ) (local.set $8 - (local.get $6) + (local.get $4) ) (i32.store offset=32 - (local.get $6) + (local.get $4) (local.tee $3 (i32.load offset=28 (local.get $0) ) ) ) - (i32.store offset=4 - (local.tee $4 - (i32.add - (local.get $6) - (i32.const 32) - ) - ) + (i32.store offset=36 + (local.get $4) (local.tee $7 (i32.sub (i32.load offset=20 @@ -7684,24 +7669,27 @@ ) ) ) - (i32.store offset=8 + (i32.store offset=40 (local.get $4) (local.get $1) ) - (i32.store offset=12 + (i32.store offset=44 (local.get $4) (local.get $2) ) - (local.set $11 + (local.set $10 (local.get $0) ) - (local.set $12 + (local.set $11 (local.get $0) ) (local.set $1 - (local.get $4) + (i32.add + (local.get $4) + (i32.const 32) + ) ) - (local.set $4 + (local.set $6 (i32.const 2) ) (local.set $3 @@ -7728,7 +7716,7 @@ (i32.store (local.get $8) (i32.load offset=60 - (local.get $11) + (local.get $10) ) ) (i32.store offset=4 @@ -7737,7 +7725,7 @@ ) (i32.store offset=8 (local.get $8) - (local.get $4) + (local.get $6) ) (local.set $7 (call $___syscall_ret @@ -7754,23 +7742,23 @@ ) (block (result i32) (i32.store offset=16 - (local.get $6) + (local.get $4) (i32.load offset=60 - (local.get $11) + (local.get $10) ) ) - (i32.store offset=4 - (local.get $9) + (i32.store offset=20 + (local.get $4) (local.get $1) ) - (i32.store offset=8 - (local.get $9) + (i32.store offset=24 (local.get $4) + (local.get $6) ) (call $___syscall_ret (call $___syscall146 (i32.const 146) - (local.get $9) + (local.get $13) ) ) ) @@ -7794,7 +7782,7 @@ (local.get $1) ) (local.set $15 - (local.get $4) + (local.get $6) ) (local.set $1 (i32.const 8) @@ -7811,7 +7799,7 @@ (if (i32.le_u (local.get $5) - (local.tee $10 + (local.tee $9 (i32.load offset=4 (local.get $1) ) @@ -7820,7 +7808,7 @@ (block (if (i32.eq - (local.get $4) + (local.get $6) (i32.const 2) ) (block @@ -7833,13 +7821,13 @@ ) ) ) - (local.set $4 + (local.set $6 (i32.const 2) ) ) ) (local.set $3 - (local.get $10) + (local.get $9) ) ) (block @@ -7847,7 +7835,7 @@ (local.get $0) (local.tee $3 (i32.load offset=44 - (local.get $12) + (local.get $11) ) ) ) @@ -7863,7 +7851,7 @@ (local.set $5 (i32.sub (local.get $5) - (local.get $10) + (local.get $9) ) ) (local.set $1 @@ -7872,9 +7860,9 @@ (i32.const 8) ) ) - (local.set $4 + (local.set $6 (i32.add - (local.get $4) + (local.get $6) (i32.const -1) ) ) @@ -7902,7 +7890,7 @@ (br $while-in) ) ) - (local.set $13 + (local.set $12 (if (result i32) (i32.eq (local.get $1) @@ -7914,7 +7902,7 @@ (i32.add (local.tee $3 (i32.load offset=44 - (local.get $12) + (local.get $11) ) ) (i32.load offset=48 @@ -7973,14 +7961,14 @@ ) ) ) - (local.get $13) + (local.get $12) ) ) ) (global.set $STACKTOP - (local.get $6) + (local.get $4) ) - (local.get $13) + (local.get $12) ) (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) diff --git a/test/emcc_O2_hello_world.fromasm.clamp b/test/emcc_O2_hello_world.fromasm.clamp index 7946a7135..4f4fccf20 100644 --- a/test/emcc_O2_hello_world.fromasm.clamp +++ b/test/emcc_O2_hello_world.fromasm.clamp @@ -145,7 +145,7 @@ (i32.const 3) ) (block - (local.set $8 + (local.set $7 (local.tee $1 (i32.add (i32.shl @@ -172,7 +172,7 @@ (local.tee $2 (local.tee $0 (i32.load offset=8 - (local.get $8) + (local.get $7) ) ) ) @@ -182,7 +182,7 @@ (if (i32.ne (local.get $1) - (local.tee $7 + (local.tee $3 (i32.load offset=8 (local.get $2) ) @@ -191,7 +191,7 @@ (block (if (i32.lt_u - (local.get $7) + (local.get $3) (i32.load (i32.const 192) ) @@ -199,13 +199,13 @@ (call $_abort) ) (local.set $2 - (local.get $7) + (local.get $3) ) (if (i32.eq (local.get $0) (i32.load offset=12 - (local.get $2) + (local.get $3) ) ) (block @@ -214,8 +214,8 @@ (local.get $1) ) (i32.store offset=8 - (local.get $8) (local.get $7) + (local.get $3) ) ) (call $_abort) @@ -238,7 +238,7 @@ (i32.store offset=4 (local.get $0) (i32.or - (local.tee $7 + (local.tee $3 (i32.shl (local.get $6) (i32.const 3) @@ -250,7 +250,7 @@ (local.set $0 (i32.add (local.get $0) - (local.get $7) + (local.get $3) ) ) (i32.store offset=4 @@ -283,7 +283,7 @@ (local.set $1 (i32.and (i32.shr_u - (local.tee $7 + (local.tee $3 (i32.add (i32.and (i32.sub @@ -293,14 +293,14 @@ (i32.or (i32.sub (i32.const 0) - (local.tee $7 + (local.tee $3 (i32.shl (i32.const 2) (local.get $6) ) ) ) - (local.get $7) + (local.get $3) ) (i32.shl (local.get $2) @@ -319,12 +319,12 @@ (i32.const 16) ) ) - (local.set $7 + (local.set $3 (i32.and (i32.shr_u (local.tee $9 (i32.shr_u - (local.get $7) + (local.get $3) (local.get $1) ) ) @@ -339,7 +339,7 @@ (local.tee $0 (i32.shr_u (local.get $9) - (local.get $7) + (local.get $3) ) ) (i32.const 2) @@ -388,7 +388,7 @@ (local.get $9) (i32.or (local.get $1) - (local.get $7) + (local.get $3) ) ) ) @@ -779,7 +779,7 @@ ) (local.get $10) (block - (local.set $3 + (local.set $4 (local.get $2) ) (local.set $5 @@ -860,7 +860,7 @@ (i32.const 20) ) ) - (local.set $4 + (local.set $3 (if (result i32) (local.tee $7 (i32.load offset=20 @@ -910,7 +910,7 @@ (local.set $17 (local.get $7) ) - (local.set $4 + (local.set $3 (local.get $0) ) (br $while-in7) @@ -932,7 +932,7 @@ (local.set $17 (local.get $7) ) - (local.set $4 + (local.set $3 (local.get $0) ) (br $while-in7) @@ -941,13 +941,13 @@ ) (if (i32.lt_u - (local.get $4) + (local.get $3) (local.get $1) ) (call $_abort) (block (i32.store - (local.get $4) + (local.get $3) (i32.const 0) ) (local.set $19 @@ -980,14 +980,14 @@ ) (call $_abort) ) - (local.set $7 + (local.set $3 (local.get $9) ) (if (i32.eq (local.get $5) (i32.load offset=8 - (local.get $7) + (local.get $3) ) ) (block @@ -996,7 +996,7 @@ (local.get $9) ) (i32.store offset=8 - (local.get $7) + (local.get $3) (local.get $0) ) (local.set $19 @@ -1161,7 +1161,7 @@ ) (if (i32.lt_u - (local.get $3) + (local.get $4) (i32.const 16) ) (block @@ -1170,7 +1170,7 @@ (i32.or (local.tee $2 (i32.add - (local.get $3) + (local.get $4) (local.get $8) ) ) @@ -1204,16 +1204,16 @@ (i32.store offset=4 (local.get $6) (i32.or - (local.get $3) + (local.get $4) (i32.const 1) ) ) (i32.store (i32.add - (local.get $3) + (local.get $4) (local.get $6) ) - (local.get $3) + (local.get $4) ) (if (local.tee $1 @@ -1323,7 +1323,7 @@ ) (i32.store (i32.const 184) - (local.get $3) + (local.get $4) ) (i32.store (i32.const 196) @@ -1801,7 +1801,7 @@ ) ) (block - (local.set $4 + (local.set $3 (local.get $33) ) (local.set $11 @@ -1816,7 +1816,7 @@ (local.get $9) (i32.const 90) ) - (local.set $4 + (local.set $3 (loop $while-in16 (result i32) (local.set $9 (i32.const 0) @@ -1899,7 +1899,7 @@ (if (result i32) (local.get $11) (i32.lt_u - (local.get $4) + (local.get $3) (i32.sub (i32.load (i32.const 184) @@ -2255,7 +2255,7 @@ ) (if (i32.ge_u - (local.get $4) + (local.get $3) (i32.const 16) ) (block $do-once25 @@ -2269,26 +2269,26 @@ (i32.store offset=4 (local.get $5) (i32.or - (local.get $4) + (local.get $3) (i32.const 1) ) ) (i32.store (i32.add - (local.get $4) + (local.get $3) (local.get $5) ) - (local.get $4) + (local.get $3) ) (local.set $6 (i32.shr_u - (local.get $4) + (local.get $3) (i32.const 3) ) ) (if (i32.lt_u - (local.get $4) + (local.get $3) (i32.const 256) ) (block @@ -2390,13 +2390,13 @@ (if (result i32) (local.tee $10 (i32.shr_u - (local.get $4) + (local.get $3) (i32.const 8) ) ) (if (result i32) (i32.gt_u - (local.get $4) + (local.get $3) (i32.const 16777215) ) (i32.const 31) @@ -2432,7 +2432,7 @@ (i32.or (i32.and (i32.shr_u - (local.get $4) + (local.get $3) (i32.add (local.tee $6 (i32.add @@ -2496,11 +2496,8 @@ (local.get $5) (local.get $7) ) - (i32.store offset=4 - (i32.add - (local.get $5) - (i32.const 16) - ) + (i32.store offset=20 + (local.get $5) (i32.const 0) ) (i32.store offset=16 @@ -2552,7 +2549,7 @@ ) (local.set $14 (i32.shl - (local.get $4) + (local.get $3) (select (i32.const 0) (i32.sub @@ -2581,7 +2578,7 @@ (block $while-out27 (result i32) (if (i32.eq - (local.get $4) + (local.get $3) (i32.and (i32.load offset=4 (local.get $1) @@ -2735,7 +2732,7 @@ (local.tee $14 (i32.add (local.get $2) - (local.get $4) + (local.get $3) ) ) (i32.const 3) @@ -2792,7 +2789,7 @@ ) (if (i32.gt_u - (local.tee $4 + (local.tee $3 (i32.sub (local.get $11) (local.get $8) @@ -2812,21 +2809,21 @@ ) (i32.store (i32.const 184) - (local.get $4) + (local.get $3) ) (i32.store offset=4 (local.get $20) (i32.or - (local.get $4) + (local.get $3) (i32.const 1) ) ) (i32.store (i32.add - (local.get $4) + (local.get $3) (local.get $20) ) - (local.get $4) + (local.get $3) ) (i32.store offset=4 (local.get $15) @@ -2889,7 +2886,7 @@ (block (i32.store (i32.const 188) - (local.tee $4 + (local.tee $3 (i32.sub (local.get $15) (local.get $8) @@ -2912,7 +2909,7 @@ (i32.store offset=4 (local.get $11) (i32.or - (local.get $4) + (local.get $3) (i32.const 1) ) ) @@ -2998,7 +2995,7 @@ ) (local.set $20 (i32.add - (local.tee $4 + (local.tee $3 (i32.load (i32.const 656) ) @@ -3013,12 +3010,12 @@ ) (if (i32.le_u - (local.tee $4 + (local.tee $3 (i32.and (local.tee $23 (i32.sub (i32.const 0) - (local.get $4) + (local.get $3) ) ) (local.get $20) @@ -3041,7 +3038,7 @@ (i32.le_u (local.tee $16 (i32.add - (local.get $4) + (local.get $3) (local.tee $26 (i32.load (i32.const 608) @@ -3069,7 +3066,7 @@ (if (result i32) (select (i32.lt_u - (local.get $4) + (local.get $3) (i32.const 2147483647) ) (i32.const 0) @@ -3253,7 +3250,7 @@ ) (i32.add (i32.sub - (local.get $4) + (local.get $3) (local.get $2) ) (i32.and @@ -3267,7 +3264,7 @@ ) ) ) - (local.get $4) + (local.get $3) ) ) (local.set $2 @@ -3360,7 +3357,7 @@ (local.get $18) ) ) - (local.set $3 + (local.set $4 (if (result i32) (if (result i32) (i32.and @@ -3436,7 +3433,7 @@ (local.get $13) ) (local.set $22 - (local.get $3) + (local.get $4) ) (br $label$break$L257 (i32.const 193) @@ -3464,15 +3461,15 @@ (i32.and (i32.and (i32.ne - (local.tee $3 + (local.tee $4 (call $_sbrk - (local.get $4) + (local.get $3) ) ) (i32.const -1) ) (i32.ne - (local.tee $4 + (local.tee $3 (call $_sbrk (i32.const 0) ) @@ -3481,8 +3478,8 @@ ) ) (i32.lt_u - (local.get $3) (local.get $4) + (local.get $3) ) ) (i32.const 0) @@ -3490,8 +3487,8 @@ (i32.gt_u (local.tee $13 (i32.sub - (local.get $4) (local.get $3) + (local.get $4) ) ) (i32.add @@ -3503,7 +3500,7 @@ ) (block (local.set $21 - (local.get $3) + (local.get $4) ) (local.set $22 (local.get $13) @@ -3549,28 +3546,28 @@ ) ) (block $do-once40 - (local.set $3 + (local.set $4 (i32.const 624) ) (loop $do-in (block $do-out (local.set $18 (i32.add - (local.get $3) + (local.get $4) (i32.const 4) ) ) (if (i32.eq (i32.add - (local.tee $4 + (local.tee $3 (i32.load - (local.get $3) + (local.get $4) ) ) (local.tee $11 (i32.load offset=4 - (local.get $3) + (local.get $4) ) ) ) @@ -3578,7 +3575,7 @@ ) (block (local.set $46 - (local.get $4) + (local.get $3) ) (local.set $47 (local.get $18) @@ -3587,7 +3584,7 @@ (local.get $11) ) (local.set $49 - (local.get $3) + (local.get $4) ) (local.set $9 (i32.const 203) @@ -3596,9 +3593,9 @@ ) ) (br_if $do-in - (local.tee $3 + (local.tee $4 (i32.load offset=8 - (local.get $3) + (local.get $4) ) ) ) @@ -3641,14 +3638,14 @@ (local.get $48) ) ) - (local.set $3 + (local.set $4 (i32.add (local.tee $11 (select (i32.and (i32.sub (i32.const 0) - (local.tee $3 + (local.tee $4 (i32.add (local.get $13) (i32.const 8) @@ -3659,7 +3656,7 @@ ) (i32.const 0) (i32.and - (local.get $3) + (local.get $4) (i32.const 7) ) ) @@ -3680,14 +3677,14 @@ ) (i32.store (i32.const 200) - (local.get $3) + (local.get $4) ) (i32.store (i32.const 188) (local.get $18) ) (i32.store offset=4 - (local.get $3) + (local.get $4) (i32.or (local.get $18) (i32.const 1) @@ -3695,7 +3692,7 @@ ) (i32.store offset=4 (i32.add - (local.get $3) + (local.get $4) (local.get $18) ) (i32.const 40) @@ -3735,7 +3732,7 @@ (local.get $22) ) ) - (local.set $3 + (local.set $4 (i32.const 624) ) (loop $while-in43 @@ -3744,15 +3741,15 @@ (i32.eq (local.get $18) (i32.load - (local.get $3) + (local.get $4) ) ) (block (local.set $50 - (local.get $3) + (local.get $4) ) (local.set $34 - (local.get $3) + (local.get $4) ) (local.set $9 (i32.const 211) @@ -3761,9 +3758,9 @@ ) ) (br_if $while-in43 - (local.tee $3 + (local.tee $4 (i32.load offset=8 - (local.get $3) + (local.get $4) ) ) ) @@ -3806,7 +3803,7 @@ (i32.and (i32.sub (i32.const 0) - (local.tee $3 + (local.tee $4 (i32.add (local.get $21) (i32.const 8) @@ -3817,20 +3814,20 @@ ) (i32.const 0) (i32.and - (local.get $3) + (local.get $4) (i32.const 7) ) ) (local.get $21) ) ) - (local.set $4 + (local.set $3 (i32.add (select (i32.and (i32.sub (i32.const 0) - (local.tee $3 + (local.tee $4 (i32.add (local.get $18) (i32.const 8) @@ -3841,14 +3838,14 @@ ) (i32.const 0) (i32.and - (local.get $3) + (local.get $4) (i32.const 7) ) ) (local.get $18) ) ) - (local.set $3 + (local.set $4 (i32.add (local.get $8) (local.get $11) @@ -3857,7 +3854,7 @@ (local.set $15 (i32.sub (i32.sub - (local.get $4) + (local.get $3) (local.get $11) ) (local.get $8) @@ -3872,7 +3869,7 @@ ) (if (i32.ne - (local.get $4) + (local.get $3) (local.get $13) ) (block $do-once44 @@ -3881,7 +3878,7 @@ (i32.load (i32.const 196) ) - (local.get $4) + (local.get $3) ) (block (i32.store @@ -3897,10 +3894,10 @@ ) (i32.store (i32.const 196) - (local.get $3) + (local.get $4) ) (i32.store offset=4 - (local.get $3) + (local.get $4) (i32.or (local.get $0) (i32.const 1) @@ -3909,7 +3906,7 @@ (i32.store (i32.add (local.get $0) - (local.get $3) + (local.get $4) ) (local.get $0) ) @@ -3921,7 +3918,7 @@ (i32.and (local.tee $0 (i32.load offset=4 - (local.get $4) + (local.get $3) ) ) (i32.const 3) @@ -3950,15 +3947,15 @@ (block (local.set $23 (i32.load offset=24 - (local.get $4) + (local.get $3) ) ) (if (i32.eq - (local.get $4) + (local.get $3) (local.tee $20 (i32.load offset=12 - (local.get $4) + (local.get $3) ) ) ) @@ -3969,7 +3966,7 @@ (local.tee $12 (i32.add (local.tee $0 - (local.get $4) + (local.get $3) ) (i32.const 16) ) @@ -4070,7 +4067,7 @@ (i32.lt_u (local.tee $2 (i32.load offset=8 - (local.get $4) + (local.get $3) ) ) (local.get $5) @@ -4082,7 +4079,7 @@ ) (if (i32.ne - (local.get $4) + (local.get $3) (i32.load offset=12 (local.get $0) ) @@ -4094,7 +4091,7 @@ ) (if (i32.eq - (local.get $4) + (local.get $3) (i32.load offset=8 (local.get $6) ) @@ -4125,7 +4122,7 @@ (i32.shl (local.tee $20 (i32.load offset=28 - (local.get $4) + (local.get $3) ) ) (i32.const 2) @@ -4136,7 +4133,7 @@ (i32.load offset=480 (local.get $0) ) - (local.get $4) + (local.get $3) ) (block (if @@ -4153,7 +4150,7 @@ ) (if (i32.eq - (local.get $4) + (local.get $3) (i32.load offset=16 (local.get $0) ) @@ -4214,16 +4211,13 @@ (local.get $24) (local.get $23) ) - (local.set $2 - (i32.add - (local.get $4) - (i32.const 16) - ) + (local.set $0 + (local.get $3) ) (if (local.tee $12 (i32.load offset=16 - (local.get $4) + (local.get $0) ) ) (if @@ -4247,8 +4241,8 @@ (br_if $label$break$L331 (i32.eqz (local.tee $12 - (i32.load offset=4 - (local.get $2) + (i32.load offset=20 + (local.get $0) ) ) ) @@ -4276,14 +4270,14 @@ (block (local.set $20 (i32.load offset=12 - (local.get $4) + (local.get $3) ) ) (if (i32.ne (local.tee $12 (i32.load offset=8 - (local.get $4) + (local.get $3) ) ) (local.tee $23 @@ -4306,7 +4300,7 @@ ) (br_if $do-once55 (i32.eq - (local.get $4) + (local.get $3) (i32.load offset=12 (local.get $12) ) @@ -4366,7 +4360,7 @@ ) (if (i32.eq - (local.get $4) + (local.get $3) (i32.load offset=8 (local.get $20) ) @@ -4392,10 +4386,10 @@ ) ) ) - (local.set $4 + (local.set $3 (i32.add (local.get $1) - (local.get $4) + (local.get $3) ) ) (local.set $15 @@ -4407,16 +4401,16 @@ ) ) (i32.store offset=4 - (local.get $4) + (local.get $3) (i32.and (i32.load offset=4 - (local.get $4) + (local.get $3) ) (i32.const -2) ) ) (i32.store offset=4 - (local.get $3) + (local.get $4) (i32.or (local.get $15) (i32.const 1) @@ -4424,7 +4418,7 @@ ) (i32.store (i32.add - (local.get $3) + (local.get $4) (local.get $15) ) (local.get $15) @@ -4515,18 +4509,18 @@ ) (i32.store (local.get $40) - (local.get $3) + (local.get $4) ) (i32.store offset=12 (local.get $35) - (local.get $3) + (local.get $4) ) (i32.store offset=8 - (local.get $3) + (local.get $4) (local.get $35) ) (i32.store offset=12 - (local.get $3) + (local.get $4) (local.get $0) ) (br $do-once44) @@ -4643,18 +4637,15 @@ ) ) (i32.store offset=28 - (local.get $3) + (local.get $4) (local.get $1) ) - (i32.store offset=4 - (i32.add - (local.get $3) - (i32.const 16) - ) + (i32.store offset=20 + (local.get $4) (i32.const 0) ) (i32.store offset=16 - (local.get $3) + (local.get $4) (i32.const 0) ) (if @@ -4683,19 +4674,19 @@ ) (i32.store offset=480 (local.get $6) - (local.get $3) + (local.get $4) ) (i32.store offset=24 - (local.get $3) + (local.get $4) (local.get $2) ) (i32.store offset=12 - (local.get $3) - (local.get $3) + (local.get $4) + (local.get $4) ) (i32.store offset=8 - (local.get $3) - (local.get $3) + (local.get $4) + (local.get $4) ) (br $do-once44) ) @@ -4806,19 +4797,19 @@ (block (i32.store (local.get $42) - (local.get $3) + (local.get $4) ) (i32.store offset=24 - (local.get $3) + (local.get $4) (local.get $51) ) (i32.store offset=12 - (local.get $3) - (local.get $3) + (local.get $4) + (local.get $4) ) (i32.store offset=8 - (local.get $3) - (local.get $3) + (local.get $4) + (local.get $4) ) ) ) @@ -4853,22 +4844,22 @@ (block (i32.store offset=12 (local.get $16) - (local.get $3) + (local.get $4) ) (i32.store offset=8 (local.get $0) - (local.get $3) + (local.get $4) ) (i32.store offset=8 - (local.get $3) + (local.get $4) (local.get $16) ) (i32.store offset=12 - (local.get $3) + (local.get $4) (local.get $41) ) (i32.store offset=24 - (local.get $3) + (local.get $4) (i32.const 0) ) ) @@ -4892,10 +4883,10 @@ ) (i32.store (i32.const 200) - (local.get $3) + (local.get $4) ) (i32.store offset=4 - (local.get $3) + (local.get $4) (i32.or (local.get $16) (i32.const 1) @@ -4913,84 +4904,86 @@ ) ) ) - (local.set $3 + (local.set $4 (i32.add (local.tee $1 - (local.tee $11 - (select - (local.get $13) - (local.tee $3 - (i32.add - (select - (i32.and - (i32.sub - (i32.const 0) - (local.tee $15 - (i32.add - (local.tee $11 - (i32.add - (local.tee $0 - (loop $while-in66 (result i32) - (if (result i32) + (local.tee $7 + (local.tee $11 + (select + (local.get $13) + (local.tee $4 + (i32.add + (select + (i32.and + (i32.sub + (i32.const 0) + (local.tee $15 + (i32.add + (local.tee $11 + (i32.add + (local.tee $0 + (loop $while-in66 (result i32) (if (result i32) - (i32.le_u - (local.tee $3 - (i32.load - (local.get $27) + (if (result i32) + (i32.le_u + (local.tee $4 + (i32.load + (local.get $27) + ) ) + (local.get $13) ) - (local.get $13) - ) - (i32.gt_u - (local.tee $15 - (i32.add - (i32.load offset=4 - (local.get $27) + (i32.gt_u + (local.tee $15 + (i32.add + (i32.load offset=4 + (local.get $27) + ) + (local.get $4) ) - (local.get $3) ) + (local.get $13) ) - (local.get $13) + (i32.const 0) ) - (i32.const 0) - ) - (local.get $15) - (block - (local.set $27 - (i32.load offset=8 - (local.get $27) + (local.get $15) + (block + (local.set $27 + (i32.load offset=8 + (local.get $27) + ) ) + (br $while-in66) ) - (br $while-in66) ) ) ) + (i32.const -47) ) - (i32.const -47) ) + (i32.const 8) ) - (i32.const 8) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (local.get $15) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $15) - (i32.const 7) ) + (local.get $11) ) - (local.get $11) ) - ) - (i32.lt_u - (local.get $3) - (i32.add - (local.tee $6 - (local.get $13) + (i32.lt_u + (local.get $4) + (i32.add + (local.tee $6 + (local.get $13) + ) + (i32.const 16) ) - (i32.const 16) ) ) ) @@ -5001,7 +4994,7 @@ ) (i32.store (i32.const 200) - (local.tee $4 + (local.tee $3 (i32.add (local.get $21) (local.tee $18 @@ -5009,7 +5002,7 @@ (i32.and (i32.sub (i32.const 0) - (local.tee $4 + (local.tee $3 (i32.add (local.get $21) (i32.const 8) @@ -5020,7 +5013,7 @@ ) (i32.const 0) (i32.and - (local.get $4) + (local.get $3) (i32.const 7) ) ) @@ -5041,7 +5034,7 @@ ) ) (i32.store offset=4 - (local.get $4) + (local.get $3) (i32.or (local.get $16) (i32.const 1) @@ -5049,7 +5042,7 @@ ) (i32.store offset=4 (i32.add - (local.get $4) + (local.get $3) (local.get $16) ) (i32.const 40) @@ -5068,25 +5061,25 @@ (i32.const 27) ) (i32.store offset=8 - (local.get $1) + (local.get $7) (i32.load (i32.const 624) ) ) - (i32.store offset=4 - (local.get $3) + (i32.store offset=12 + (local.get $1) (i32.load (i32.const 628) ) ) - (i32.store offset=8 - (local.get $3) + (i32.store offset=16 + (local.get $1) (i32.load (i32.const 632) ) ) - (i32.store offset=12 - (local.get $3) + (i32.store offset=20 + (local.get $1) (i32.load (i32.const 636) ) @@ -5105,19 +5098,19 @@ ) (i32.store (i32.const 632) - (local.get $3) + (local.get $4) ) - (local.set $3 + (local.set $4 (i32.add (local.get $2) (i32.const 24) ) ) (loop $do-in68 - (local.set $3 + (local.set $4 (i32.add (local.tee $1 - (local.get $3) + (local.get $4) ) (i32.const 4) ) @@ -5129,7 +5122,7 @@ (br_if $do-in68 (i32.lt_u (i32.add - (local.get $3) + (local.get $4) (i32.const 4) ) (local.get $0) @@ -5154,7 +5147,7 @@ (i32.store offset=4 (local.get $13) (i32.or - (local.tee $3 + (local.tee $4 (i32.sub (local.get $11) (local.get $13) @@ -5165,24 +5158,24 @@ ) (i32.store (local.get $11) - (local.get $3) + (local.get $4) ) - (local.set $4 + (local.set $3 (i32.shr_u - (local.get $3) + (local.get $4) (i32.const 3) ) ) (if (i32.lt_u - (local.get $3) + (local.get $4) (i32.const 256) ) (block (local.set $18 (i32.add (i32.shl - (local.get $4) + (local.get $3) (i32.const 3) ) (i32.const 216) @@ -5193,7 +5186,7 @@ (local.tee $1 (i32.shl (i32.const 1) - (local.get $4) + (local.get $3) ) ) (local.tee $0 @@ -5203,7 +5196,7 @@ ) ) (block - (local.set $4 + (local.set $3 (i32.add (local.get $18) (i32.const 8) @@ -5223,7 +5216,7 @@ (call $_abort) (block (local.set $43 - (local.get $4) + (local.get $3) ) (local.set $36 (local.get $2) @@ -5269,7 +5262,7 @@ (br $do-once40) ) ) - (local.set $4 + (local.set $3 (i32.add (local.tee $7 (i32.shl @@ -5277,13 +5270,13 @@ (if (result i32) (local.tee $18 (i32.shr_u - (local.get $3) + (local.get $4) (i32.const 8) ) ) (if (result i32) (i32.gt_u - (local.get $3) + (local.get $4) (i32.const 16777215) ) (i32.const 31) @@ -5319,9 +5312,9 @@ (i32.or (i32.and (i32.shr_u - (local.get $3) + (local.get $4) (i32.add - (local.tee $4 + (local.tee $3 (i32.add (i32.sub (i32.const 14) @@ -5364,7 +5357,7 @@ (i32.const 1) ) (i32.shl - (local.get $4) + (local.get $3) (i32.const 1) ) ) @@ -5421,7 +5414,7 @@ ) (i32.store offset=24 (local.get $13) - (local.get $4) + (local.get $3) ) (i32.store offset=12 (local.get $13) @@ -5436,7 +5429,7 @@ ) (local.set $2 (i32.shl - (local.get $3) + (local.get $4) (select (i32.const 0) (i32.sub @@ -5465,7 +5458,7 @@ (block $while-out69 (result i32) (if (i32.eq - (local.get $3) + (local.get $4) (i32.and (i32.load offset=4 (local.get $0) @@ -5485,7 +5478,7 @@ (if (result i32) (local.tee $1 (i32.load - (local.tee $4 + (local.tee $3 (i32.add (i32.add (local.get $0) @@ -5516,7 +5509,7 @@ ) (block (result i32) (local.set $45 - (local.get $4) + (local.get $3) ) (local.set $52 (local.get $0) @@ -5573,7 +5566,7 @@ (local.get $0) ) ) - (local.tee $3 + (local.tee $4 (i32.load (i32.const 192) ) @@ -5581,7 +5574,7 @@ ) (i32.ge_u (local.get $0) - (local.get $3) + (local.get $4) ) ) (block @@ -5660,20 +5653,23 @@ (i32.const 0) ) (loop $do-in72 - (i32.store offset=12 - (local.tee $0 - (i32.add + (local.set $0 + (i32.add + (local.tee $1 (i32.shl (local.get $2) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (local.get $0) ) - (i32.store offset=8 + (i32.store offset=228 + (local.get $1) (local.get $0) + ) + (i32.store offset=224 + (local.get $1) (local.get $0) ) (br_if $do-in72 @@ -5719,7 +5715,7 @@ ) (i32.store (i32.const 188) - (local.tee $3 + (local.tee $4 (i32.sub (i32.add (local.get $22) @@ -5732,14 +5728,14 @@ (i32.store offset=4 (local.get $2) (i32.or - (local.get $3) + (local.get $4) (i32.const 1) ) ) (i32.store offset=4 (i32.add (local.get $2) - (local.get $3) + (local.get $4) ) (i32.const 40) ) @@ -6414,10 +6410,7 @@ (local.get $10) ) (local.set $6 - (i32.add - (local.get $1) - (i32.const 16) - ) + (local.get $1) ) (if (local.tee $2 @@ -6445,7 +6438,7 @@ ) (if (local.tee $2 - (i32.load offset=4 + (i32.load offset=20 (local.get $6) ) ) @@ -6935,16 +6928,13 @@ (local.get $11) (local.get $6) ) - (local.set $7 - (i32.add - (local.get $8) - (i32.const 16) - ) + (local.set $0 + (local.get $8) ) (if (local.tee $1 (i32.load offset=16 - (local.get $8) + (local.get $0) ) ) (if @@ -6967,8 +6957,8 @@ ) (if (local.tee $1 - (i32.load offset=4 - (local.get $7) + (i32.load offset=20 + (local.get $0) ) ) (if @@ -7642,7 +7632,7 @@ (local $13 i32) (local $14 i32) (local $15 i32) - (local.set $6 + (local.set $4 (global.get $STACKTOP) ) (global.set $STACKTOP @@ -7651,30 +7641,25 @@ (i32.const 48) ) ) - (local.set $9 + (local.set $13 (i32.add - (local.get $6) + (local.get $4) (i32.const 16) ) ) (local.set $8 - (local.get $6) + (local.get $4) ) (i32.store offset=32 - (local.get $6) + (local.get $4) (local.tee $3 (i32.load offset=28 (local.get $0) ) ) ) - (i32.store offset=4 - (local.tee $4 - (i32.add - (local.get $6) - (i32.const 32) - ) - ) + (i32.store offset=36 + (local.get $4) (local.tee $7 (i32.sub (i32.load offset=20 @@ -7684,24 +7669,27 @@ ) ) ) - (i32.store offset=8 + (i32.store offset=40 (local.get $4) (local.get $1) ) - (i32.store offset=12 + (i32.store offset=44 (local.get $4) (local.get $2) ) - (local.set $11 + (local.set $10 (local.get $0) ) - (local.set $12 + (local.set $11 (local.get $0) ) (local.set $1 - (local.get $4) + (i32.add + (local.get $4) + (i32.const 32) + ) ) - (local.set $4 + (local.set $6 (i32.const 2) ) (local.set $3 @@ -7728,7 +7716,7 @@ (i32.store (local.get $8) (i32.load offset=60 - (local.get $11) + (local.get $10) ) ) (i32.store offset=4 @@ -7737,7 +7725,7 @@ ) (i32.store offset=8 (local.get $8) - (local.get $4) + (local.get $6) ) (local.set $7 (call $___syscall_ret @@ -7754,23 +7742,23 @@ ) (block (result i32) (i32.store offset=16 - (local.get $6) + (local.get $4) (i32.load offset=60 - (local.get $11) + (local.get $10) ) ) - (i32.store offset=4 - (local.get $9) + (i32.store offset=20 + (local.get $4) (local.get $1) ) - (i32.store offset=8 - (local.get $9) + (i32.store offset=24 (local.get $4) + (local.get $6) ) (call $___syscall_ret (call $___syscall146 (i32.const 146) - (local.get $9) + (local.get $13) ) ) ) @@ -7794,7 +7782,7 @@ (local.get $1) ) (local.set $15 - (local.get $4) + (local.get $6) ) (local.set $1 (i32.const 8) @@ -7811,7 +7799,7 @@ (if (i32.le_u (local.get $5) - (local.tee $10 + (local.tee $9 (i32.load offset=4 (local.get $1) ) @@ -7820,7 +7808,7 @@ (block (if (i32.eq - (local.get $4) + (local.get $6) (i32.const 2) ) (block @@ -7833,13 +7821,13 @@ ) ) ) - (local.set $4 + (local.set $6 (i32.const 2) ) ) ) (local.set $3 - (local.get $10) + (local.get $9) ) ) (block @@ -7847,7 +7835,7 @@ (local.get $0) (local.tee $3 (i32.load offset=44 - (local.get $12) + (local.get $11) ) ) ) @@ -7863,7 +7851,7 @@ (local.set $5 (i32.sub (local.get $5) - (local.get $10) + (local.get $9) ) ) (local.set $1 @@ -7872,9 +7860,9 @@ (i32.const 8) ) ) - (local.set $4 + (local.set $6 (i32.add - (local.get $4) + (local.get $6) (i32.const -1) ) ) @@ -7902,7 +7890,7 @@ (br $while-in) ) ) - (local.set $13 + (local.set $12 (if (result i32) (i32.eq (local.get $1) @@ -7914,7 +7902,7 @@ (i32.add (local.tee $3 (i32.load offset=44 - (local.get $12) + (local.get $11) ) ) (i32.load offset=48 @@ -7973,14 +7961,14 @@ ) ) ) - (local.get $13) + (local.get $12) ) ) ) (global.set $STACKTOP - (local.get $6) + (local.get $4) ) - (local.get $13) + (local.get $12) ) (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) diff --git a/test/emcc_O2_hello_world.fromasm.imprecise b/test/emcc_O2_hello_world.fromasm.imprecise index 70e0fd77a..d4e98f7f8 100644 --- a/test/emcc_O2_hello_world.fromasm.imprecise +++ b/test/emcc_O2_hello_world.fromasm.imprecise @@ -144,7 +144,7 @@ (i32.const 3) ) (block - (local.set $8 + (local.set $7 (local.tee $1 (i32.add (i32.shl @@ -171,7 +171,7 @@ (local.tee $2 (local.tee $0 (i32.load offset=8 - (local.get $8) + (local.get $7) ) ) ) @@ -181,7 +181,7 @@ (if (i32.ne (local.get $1) - (local.tee $7 + (local.tee $3 (i32.load offset=8 (local.get $2) ) @@ -190,7 +190,7 @@ (block (if (i32.lt_u - (local.get $7) + (local.get $3) (i32.load (i32.const 192) ) @@ -198,13 +198,13 @@ (call $_abort) ) (local.set $2 - (local.get $7) + (local.get $3) ) (if (i32.eq (local.get $0) (i32.load offset=12 - (local.get $2) + (local.get $3) ) ) (block @@ -213,8 +213,8 @@ (local.get $1) ) (i32.store offset=8 - (local.get $8) (local.get $7) + (local.get $3) ) ) (call $_abort) @@ -237,7 +237,7 @@ (i32.store offset=4 (local.get $0) (i32.or - (local.tee $7 + (local.tee $3 (i32.shl (local.get $6) (i32.const 3) @@ -249,7 +249,7 @@ (local.set $0 (i32.add (local.get $0) - (local.get $7) + (local.get $3) ) ) (i32.store offset=4 @@ -282,7 +282,7 @@ (local.set $1 (i32.and (i32.shr_u - (local.tee $7 + (local.tee $3 (i32.add (i32.and (i32.sub @@ -292,14 +292,14 @@ (i32.or (i32.sub (i32.const 0) - (local.tee $7 + (local.tee $3 (i32.shl (i32.const 2) (local.get $6) ) ) ) - (local.get $7) + (local.get $3) ) (i32.shl (local.get $2) @@ -318,12 +318,12 @@ (i32.const 16) ) ) - (local.set $7 + (local.set $3 (i32.and (i32.shr_u (local.tee $9 (i32.shr_u - (local.get $7) + (local.get $3) (local.get $1) ) ) @@ -338,7 +338,7 @@ (local.tee $0 (i32.shr_u (local.get $9) - (local.get $7) + (local.get $3) ) ) (i32.const 2) @@ -387,7 +387,7 @@ (local.get $9) (i32.or (local.get $1) - (local.get $7) + (local.get $3) ) ) ) @@ -778,7 +778,7 @@ ) (local.get $10) (block - (local.set $3 + (local.set $4 (local.get $2) ) (local.set $5 @@ -859,7 +859,7 @@ (i32.const 20) ) ) - (local.set $4 + (local.set $3 (if (result i32) (local.tee $7 (i32.load offset=20 @@ -909,7 +909,7 @@ (local.set $17 (local.get $7) ) - (local.set $4 + (local.set $3 (local.get $0) ) (br $while-in7) @@ -931,7 +931,7 @@ (local.set $17 (local.get $7) ) - (local.set $4 + (local.set $3 (local.get $0) ) (br $while-in7) @@ -940,13 +940,13 @@ ) (if (i32.lt_u - (local.get $4) + (local.get $3) (local.get $1) ) (call $_abort) (block (i32.store - (local.get $4) + (local.get $3) (i32.const 0) ) (local.set $19 @@ -979,14 +979,14 @@ ) (call $_abort) ) - (local.set $7 + (local.set $3 (local.get $9) ) (if (i32.eq (local.get $5) (i32.load offset=8 - (local.get $7) + (local.get $3) ) ) (block @@ -995,7 +995,7 @@ (local.get $9) ) (i32.store offset=8 - (local.get $7) + (local.get $3) (local.get $0) ) (local.set $19 @@ -1160,7 +1160,7 @@ ) (if (i32.lt_u - (local.get $3) + (local.get $4) (i32.const 16) ) (block @@ -1169,7 +1169,7 @@ (i32.or (local.tee $2 (i32.add - (local.get $3) + (local.get $4) (local.get $8) ) ) @@ -1203,16 +1203,16 @@ (i32.store offset=4 (local.get $6) (i32.or - (local.get $3) + (local.get $4) (i32.const 1) ) ) (i32.store (i32.add - (local.get $3) + (local.get $4) (local.get $6) ) - (local.get $3) + (local.get $4) ) (if (local.tee $1 @@ -1322,7 +1322,7 @@ ) (i32.store (i32.const 184) - (local.get $3) + (local.get $4) ) (i32.store (i32.const 196) @@ -1800,7 +1800,7 @@ ) ) (block - (local.set $4 + (local.set $3 (local.get $33) ) (local.set $11 @@ -1818,7 +1818,7 @@ (local.get $9) (i32.const 90) ) - (local.set $4 + (local.set $3 (loop $while-in16 (result i32) (local.set $9 (i32.const 0) @@ -1898,7 +1898,7 @@ ) ) (i32.lt_u - (local.get $4) + (local.get $3) (i32.sub (i32.load (i32.const 184) @@ -2256,7 +2256,7 @@ ) (if (i32.ge_u - (local.get $4) + (local.get $3) (i32.const 16) ) (block $do-once25 @@ -2270,26 +2270,26 @@ (i32.store offset=4 (local.get $5) (i32.or - (local.get $4) + (local.get $3) (i32.const 1) ) ) (i32.store (i32.add - (local.get $4) + (local.get $3) (local.get $5) ) - (local.get $4) + (local.get $3) ) (local.set $6 (i32.shr_u - (local.get $4) + (local.get $3) (i32.const 3) ) ) (if (i32.lt_u - (local.get $4) + (local.get $3) (i32.const 256) ) (block @@ -2391,13 +2391,13 @@ (if (result i32) (local.tee $10 (i32.shr_u - (local.get $4) + (local.get $3) (i32.const 8) ) ) (if (result i32) (i32.gt_u - (local.get $4) + (local.get $3) (i32.const 16777215) ) (i32.const 31) @@ -2433,7 +2433,7 @@ (i32.or (i32.and (i32.shr_u - (local.get $4) + (local.get $3) (i32.add (local.tee $6 (i32.add @@ -2497,11 +2497,8 @@ (local.get $5) (local.get $7) ) - (i32.store offset=4 - (i32.add - (local.get $5) - (i32.const 16) - ) + (i32.store offset=20 + (local.get $5) (i32.const 0) ) (i32.store offset=16 @@ -2553,7 +2550,7 @@ ) (local.set $14 (i32.shl - (local.get $4) + (local.get $3) (select (i32.const 0) (i32.sub @@ -2582,7 +2579,7 @@ (block $while-out27 (result i32) (if (i32.eq - (local.get $4) + (local.get $3) (i32.and (i32.load offset=4 (local.get $1) @@ -2736,7 +2733,7 @@ (local.tee $14 (i32.add (local.get $2) - (local.get $4) + (local.get $3) ) ) (i32.const 3) @@ -2793,7 +2790,7 @@ ) (if (i32.gt_u - (local.tee $4 + (local.tee $3 (i32.sub (local.get $11) (local.get $8) @@ -2813,21 +2810,21 @@ ) (i32.store (i32.const 184) - (local.get $4) + (local.get $3) ) (i32.store offset=4 (local.get $20) (i32.or - (local.get $4) + (local.get $3) (i32.const 1) ) ) (i32.store (i32.add - (local.get $4) + (local.get $3) (local.get $20) ) - (local.get $4) + (local.get $3) ) (i32.store offset=4 (local.get $15) @@ -2890,7 +2887,7 @@ (block (i32.store (i32.const 188) - (local.tee $4 + (local.tee $3 (i32.sub (local.get $15) (local.get $8) @@ -2913,7 +2910,7 @@ (i32.store offset=4 (local.get $11) (i32.or - (local.get $4) + (local.get $3) (i32.const 1) ) ) @@ -2999,7 +2996,7 @@ ) (local.set $20 (i32.add - (local.tee $4 + (local.tee $3 (i32.load (i32.const 656) ) @@ -3014,12 +3011,12 @@ ) (if (i32.le_u - (local.tee $4 + (local.tee $3 (i32.and (local.tee $23 (i32.sub (i32.const 0) - (local.get $4) + (local.get $3) ) ) (local.get $20) @@ -3042,7 +3039,7 @@ (i32.le_u (local.tee $16 (i32.add - (local.get $4) + (local.get $3) (local.tee $26 (i32.load (i32.const 608) @@ -3070,7 +3067,7 @@ (if (result i32) (select (i32.lt_u - (local.get $4) + (local.get $3) (i32.const 2147483647) ) (i32.const 0) @@ -3254,7 +3251,7 @@ ) (i32.add (i32.sub - (local.get $4) + (local.get $3) (local.get $2) ) (i32.and @@ -3268,7 +3265,7 @@ ) ) ) - (local.get $4) + (local.get $3) ) ) (local.set $2 @@ -3361,7 +3358,7 @@ (local.get $18) ) ) - (local.set $3 + (local.set $4 (if (result i32) (if (result i32) (i32.and @@ -3437,7 +3434,7 @@ (local.get $13) ) (local.set $22 - (local.get $3) + (local.get $4) ) (br $label$break$L257 (i32.const 193) @@ -3465,15 +3462,15 @@ (i32.and (i32.and (i32.ne - (local.tee $3 + (local.tee $4 (call $_sbrk - (local.get $4) + (local.get $3) ) ) (i32.const -1) ) (i32.ne - (local.tee $4 + (local.tee $3 (call $_sbrk (i32.const 0) ) @@ -3482,8 +3479,8 @@ ) ) (i32.lt_u - (local.get $3) (local.get $4) + (local.get $3) ) ) (i32.const 0) @@ -3491,8 +3488,8 @@ (i32.gt_u (local.tee $13 (i32.sub - (local.get $4) (local.get $3) + (local.get $4) ) ) (i32.add @@ -3504,7 +3501,7 @@ ) (block (local.set $21 - (local.get $3) + (local.get $4) ) (local.set $22 (local.get $13) @@ -3550,28 +3547,28 @@ ) ) (block $do-once40 - (local.set $3 + (local.set $4 (i32.const 624) ) (loop $do-in (block $do-out (local.set $18 (i32.add - (local.get $3) + (local.get $4) (i32.const 4) ) ) (if (i32.eq (i32.add - (local.tee $4 + (local.tee $3 (i32.load - (local.get $3) + (local.get $4) ) ) (local.tee $11 (i32.load offset=4 - (local.get $3) + (local.get $4) ) ) ) @@ -3579,7 +3576,7 @@ ) (block (local.set $46 - (local.get $4) + (local.get $3) ) (local.set $47 (local.get $18) @@ -3588,7 +3585,7 @@ (local.get $11) ) (local.set $49 - (local.get $3) + (local.get $4) ) (local.set $9 (i32.const 203) @@ -3597,9 +3594,9 @@ ) ) (br_if $do-in - (local.tee $3 + (local.tee $4 (i32.load offset=8 - (local.get $3) + (local.get $4) ) ) ) @@ -3642,14 +3639,14 @@ (local.get $48) ) ) - (local.set $3 + (local.set $4 (i32.add (local.tee $11 (select (i32.and (i32.sub (i32.const 0) - (local.tee $3 + (local.tee $4 (i32.add (local.get $13) (i32.const 8) @@ -3660,7 +3657,7 @@ ) (i32.const 0) (i32.and - (local.get $3) + (local.get $4) (i32.const 7) ) ) @@ -3681,14 +3678,14 @@ ) (i32.store (i32.const 200) - (local.get $3) + (local.get $4) ) (i32.store (i32.const 188) (local.get $18) ) (i32.store offset=4 - (local.get $3) + (local.get $4) (i32.or (local.get $18) (i32.const 1) @@ -3696,7 +3693,7 @@ ) (i32.store offset=4 (i32.add - (local.get $3) + (local.get $4) (local.get $18) ) (i32.const 40) @@ -3736,7 +3733,7 @@ (local.get $22) ) ) - (local.set $3 + (local.set $4 (i32.const 624) ) (loop $while-in43 @@ -3745,15 +3742,15 @@ (i32.eq (local.get $18) (i32.load - (local.get $3) + (local.get $4) ) ) (block (local.set $50 - (local.get $3) + (local.get $4) ) (local.set $34 - (local.get $3) + (local.get $4) ) (local.set $9 (i32.const 211) @@ -3762,9 +3759,9 @@ ) ) (br_if $while-in43 - (local.tee $3 + (local.tee $4 (i32.load offset=8 - (local.get $3) + (local.get $4) ) ) ) @@ -3807,7 +3804,7 @@ (i32.and (i32.sub (i32.const 0) - (local.tee $3 + (local.tee $4 (i32.add (local.get $21) (i32.const 8) @@ -3818,20 +3815,20 @@ ) (i32.const 0) (i32.and - (local.get $3) + (local.get $4) (i32.const 7) ) ) (local.get $21) ) ) - (local.set $4 + (local.set $3 (i32.add (select (i32.and (i32.sub (i32.const 0) - (local.tee $3 + (local.tee $4 (i32.add (local.get $18) (i32.const 8) @@ -3842,14 +3839,14 @@ ) (i32.const 0) (i32.and - (local.get $3) + (local.get $4) (i32.const 7) ) ) (local.get $18) ) ) - (local.set $3 + (local.set $4 (i32.add (local.get $8) (local.get $11) @@ -3858,7 +3855,7 @@ (local.set $15 (i32.sub (i32.sub - (local.get $4) + (local.get $3) (local.get $11) ) (local.get $8) @@ -3873,7 +3870,7 @@ ) (if (i32.ne - (local.get $4) + (local.get $3) (local.get $13) ) (block $do-once44 @@ -3882,7 +3879,7 @@ (i32.load (i32.const 196) ) - (local.get $4) + (local.get $3) ) (block (i32.store @@ -3898,10 +3895,10 @@ ) (i32.store (i32.const 196) - (local.get $3) + (local.get $4) ) (i32.store offset=4 - (local.get $3) + (local.get $4) (i32.or (local.get $0) (i32.const 1) @@ -3910,7 +3907,7 @@ (i32.store (i32.add (local.get $0) - (local.get $3) + (local.get $4) ) (local.get $0) ) @@ -3922,7 +3919,7 @@ (i32.and (local.tee $0 (i32.load offset=4 - (local.get $4) + (local.get $3) ) ) (i32.const 3) @@ -3951,15 +3948,15 @@ (block (local.set $23 (i32.load offset=24 - (local.get $4) + (local.get $3) ) ) (if (i32.eq - (local.get $4) + (local.get $3) (local.tee $20 (i32.load offset=12 - (local.get $4) + (local.get $3) ) ) ) @@ -3970,7 +3967,7 @@ (local.tee $12 (i32.add (local.tee $0 - (local.get $4) + (local.get $3) ) (i32.const 16) ) @@ -4071,7 +4068,7 @@ (i32.lt_u (local.tee $2 (i32.load offset=8 - (local.get $4) + (local.get $3) ) ) (local.get $5) @@ -4083,7 +4080,7 @@ ) (if (i32.ne - (local.get $4) + (local.get $3) (i32.load offset=12 (local.get $0) ) @@ -4095,7 +4092,7 @@ ) (if (i32.eq - (local.get $4) + (local.get $3) (i32.load offset=8 (local.get $6) ) @@ -4126,7 +4123,7 @@ (i32.shl (local.tee $20 (i32.load offset=28 - (local.get $4) + (local.get $3) ) ) (i32.const 2) @@ -4137,7 +4134,7 @@ (i32.load offset=480 (local.get $0) ) - (local.get $4) + (local.get $3) ) (block (if @@ -4154,7 +4151,7 @@ ) (if (i32.eq - (local.get $4) + (local.get $3) (i32.load offset=16 (local.get $0) ) @@ -4215,16 +4212,13 @@ (local.get $24) (local.get $23) ) - (local.set $2 - (i32.add - (local.get $4) - (i32.const 16) - ) + (local.set $0 + (local.get $3) ) (if (local.tee $12 (i32.load offset=16 - (local.get $4) + (local.get $0) ) ) (if @@ -4248,8 +4242,8 @@ (br_if $label$break$L331 (i32.eqz (local.tee $12 - (i32.load offset=4 - (local.get $2) + (i32.load offset=20 + (local.get $0) ) ) ) @@ -4277,14 +4271,14 @@ (block (local.set $20 (i32.load offset=12 - (local.get $4) + (local.get $3) ) ) (if (i32.ne (local.tee $12 (i32.load offset=8 - (local.get $4) + (local.get $3) ) ) (local.tee $23 @@ -4307,7 +4301,7 @@ ) (br_if $do-once55 (i32.eq - (local.get $4) + (local.get $3) (i32.load offset=12 (local.get $12) ) @@ -4367,7 +4361,7 @@ ) (if (i32.eq - (local.get $4) + (local.get $3) (i32.load offset=8 (local.get $20) ) @@ -4393,10 +4387,10 @@ ) ) ) - (local.set $4 + (local.set $3 (i32.add (local.get $1) - (local.get $4) + (local.get $3) ) ) (local.set $15 @@ -4408,16 +4402,16 @@ ) ) (i32.store offset=4 - (local.get $4) + (local.get $3) (i32.and (i32.load offset=4 - (local.get $4) + (local.get $3) ) (i32.const -2) ) ) (i32.store offset=4 - (local.get $3) + (local.get $4) (i32.or (local.get $15) (i32.const 1) @@ -4425,7 +4419,7 @@ ) (i32.store (i32.add - (local.get $3) + (local.get $4) (local.get $15) ) (local.get $15) @@ -4516,18 +4510,18 @@ ) (i32.store (local.get $40) - (local.get $3) + (local.get $4) ) (i32.store offset=12 (local.get $35) - (local.get $3) + (local.get $4) ) (i32.store offset=8 - (local.get $3) + (local.get $4) (local.get $35) ) (i32.store offset=12 - (local.get $3) + (local.get $4) (local.get $0) ) (br $do-once44) @@ -4644,18 +4638,15 @@ ) ) (i32.store offset=28 - (local.get $3) + (local.get $4) (local.get $1) ) - (i32.store offset=4 - (i32.add - (local.get $3) - (i32.const 16) - ) + (i32.store offset=20 + (local.get $4) (i32.const 0) ) (i32.store offset=16 - (local.get $3) + (local.get $4) (i32.const 0) ) (if @@ -4684,19 +4675,19 @@ ) (i32.store offset=480 (local.get $6) - (local.get $3) + (local.get $4) ) (i32.store offset=24 - (local.get $3) + (local.get $4) (local.get $2) ) (i32.store offset=12 - (local.get $3) - (local.get $3) + (local.get $4) + (local.get $4) ) (i32.store offset=8 - (local.get $3) - (local.get $3) + (local.get $4) + (local.get $4) ) (br $do-once44) ) @@ -4807,19 +4798,19 @@ (block (i32.store (local.get $42) - (local.get $3) + (local.get $4) ) (i32.store offset=24 - (local.get $3) + (local.get $4) (local.get $51) ) (i32.store offset=12 - (local.get $3) - (local.get $3) + (local.get $4) + (local.get $4) ) (i32.store offset=8 - (local.get $3) - (local.get $3) + (local.get $4) + (local.get $4) ) ) ) @@ -4854,22 +4845,22 @@ (block (i32.store offset=12 (local.get $16) - (local.get $3) + (local.get $4) ) (i32.store offset=8 (local.get $0) - (local.get $3) + (local.get $4) ) (i32.store offset=8 - (local.get $3) + (local.get $4) (local.get $16) ) (i32.store offset=12 - (local.get $3) + (local.get $4) (local.get $41) ) (i32.store offset=24 - (local.get $3) + (local.get $4) (i32.const 0) ) ) @@ -4893,10 +4884,10 @@ ) (i32.store (i32.const 200) - (local.get $3) + (local.get $4) ) (i32.store offset=4 - (local.get $3) + (local.get $4) (i32.or (local.get $16) (i32.const 1) @@ -4914,84 +4905,86 @@ ) ) ) - (local.set $3 + (local.set $4 (i32.add (local.tee $1 - (local.tee $11 - (select - (local.get $13) - (local.tee $3 - (i32.add - (select - (i32.and - (i32.sub - (i32.const 0) - (local.tee $15 - (i32.add - (local.tee $11 - (i32.add - (local.tee $0 - (loop $while-in66 (result i32) - (if (result i32) + (local.tee $7 + (local.tee $11 + (select + (local.get $13) + (local.tee $4 + (i32.add + (select + (i32.and + (i32.sub + (i32.const 0) + (local.tee $15 + (i32.add + (local.tee $11 + (i32.add + (local.tee $0 + (loop $while-in66 (result i32) (if (result i32) - (i32.le_u - (local.tee $3 - (i32.load - (local.get $27) + (if (result i32) + (i32.le_u + (local.tee $4 + (i32.load + (local.get $27) + ) ) + (local.get $13) ) - (local.get $13) - ) - (i32.gt_u - (local.tee $15 - (i32.add - (i32.load offset=4 - (local.get $27) + (i32.gt_u + (local.tee $15 + (i32.add + (i32.load offset=4 + (local.get $27) + ) + (local.get $4) ) - (local.get $3) ) + (local.get $13) ) - (local.get $13) + (i32.const 0) ) - (i32.const 0) - ) - (local.get $15) - (block - (local.set $27 - (i32.load offset=8 - (local.get $27) + (local.get $15) + (block + (local.set $27 + (i32.load offset=8 + (local.get $27) + ) ) + (br $while-in66) ) - (br $while-in66) ) ) ) + (i32.const -47) ) - (i32.const -47) ) + (i32.const 8) ) - (i32.const 8) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (local.get $15) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $15) - (i32.const 7) ) + (local.get $11) ) - (local.get $11) ) - ) - (i32.lt_u - (local.get $3) - (i32.add - (local.tee $6 - (local.get $13) + (i32.lt_u + (local.get $4) + (i32.add + (local.tee $6 + (local.get $13) + ) + (i32.const 16) ) - (i32.const 16) ) ) ) @@ -5002,7 +4995,7 @@ ) (i32.store (i32.const 200) - (local.tee $4 + (local.tee $3 (i32.add (local.get $21) (local.tee $18 @@ -5010,7 +5003,7 @@ (i32.and (i32.sub (i32.const 0) - (local.tee $4 + (local.tee $3 (i32.add (local.get $21) (i32.const 8) @@ -5021,7 +5014,7 @@ ) (i32.const 0) (i32.and - (local.get $4) + (local.get $3) (i32.const 7) ) ) @@ -5042,7 +5035,7 @@ ) ) (i32.store offset=4 - (local.get $4) + (local.get $3) (i32.or (local.get $16) (i32.const 1) @@ -5050,7 +5043,7 @@ ) (i32.store offset=4 (i32.add - (local.get $4) + (local.get $3) (local.get $16) ) (i32.const 40) @@ -5069,25 +5062,25 @@ (i32.const 27) ) (i32.store offset=8 - (local.get $1) + (local.get $7) (i32.load (i32.const 624) ) ) - (i32.store offset=4 - (local.get $3) + (i32.store offset=12 + (local.get $1) (i32.load (i32.const 628) ) ) - (i32.store offset=8 - (local.get $3) + (i32.store offset=16 + (local.get $1) (i32.load (i32.const 632) ) ) - (i32.store offset=12 - (local.get $3) + (i32.store offset=20 + (local.get $1) (i32.load (i32.const 636) ) @@ -5106,19 +5099,19 @@ ) (i32.store (i32.const 632) - (local.get $3) + (local.get $4) ) - (local.set $3 + (local.set $4 (i32.add (local.get $2) (i32.const 24) ) ) (loop $do-in68 - (local.set $3 + (local.set $4 (i32.add (local.tee $1 - (local.get $3) + (local.get $4) ) (i32.const 4) ) @@ -5130,7 +5123,7 @@ (br_if $do-in68 (i32.lt_u (i32.add - (local.get $3) + (local.get $4) (i32.const 4) ) (local.get $0) @@ -5155,7 +5148,7 @@ (i32.store offset=4 (local.get $13) (i32.or - (local.tee $3 + (local.tee $4 (i32.sub (local.get $11) (local.get $13) @@ -5166,24 +5159,24 @@ ) (i32.store (local.get $11) - (local.get $3) + (local.get $4) ) - (local.set $4 + (local.set $3 (i32.shr_u - (local.get $3) + (local.get $4) (i32.const 3) ) ) (if (i32.lt_u - (local.get $3) + (local.get $4) (i32.const 256) ) (block (local.set $18 (i32.add (i32.shl - (local.get $4) + (local.get $3) (i32.const 3) ) (i32.const 216) @@ -5194,7 +5187,7 @@ (local.tee $1 (i32.shl (i32.const 1) - (local.get $4) + (local.get $3) ) ) (local.tee $0 @@ -5204,7 +5197,7 @@ ) ) (block - (local.set $4 + (local.set $3 (i32.add (local.get $18) (i32.const 8) @@ -5224,7 +5217,7 @@ (call $_abort) (block (local.set $43 - (local.get $4) + (local.get $3) ) (local.set $36 (local.get $2) @@ -5270,7 +5263,7 @@ (br $do-once40) ) ) - (local.set $4 + (local.set $3 (i32.add (local.tee $7 (i32.shl @@ -5278,13 +5271,13 @@ (if (result i32) (local.tee $18 (i32.shr_u - (local.get $3) + (local.get $4) (i32.const 8) ) ) (if (result i32) (i32.gt_u - (local.get $3) + (local.get $4) (i32.const 16777215) ) (i32.const 31) @@ -5320,9 +5313,9 @@ (i32.or (i32.and (i32.shr_u - (local.get $3) + (local.get $4) (i32.add - (local.tee $4 + (local.tee $3 (i32.add (i32.sub (i32.const 14) @@ -5365,7 +5358,7 @@ (i32.const 1) ) (i32.shl - (local.get $4) + (local.get $3) (i32.const 1) ) ) @@ -5422,7 +5415,7 @@ ) (i32.store offset=24 (local.get $13) - (local.get $4) + (local.get $3) ) (i32.store offset=12 (local.get $13) @@ -5437,7 +5430,7 @@ ) (local.set $2 (i32.shl - (local.get $3) + (local.get $4) (select (i32.const 0) (i32.sub @@ -5466,7 +5459,7 @@ (block $while-out69 (result i32) (if (i32.eq - (local.get $3) + (local.get $4) (i32.and (i32.load offset=4 (local.get $0) @@ -5486,7 +5479,7 @@ (if (result i32) (local.tee $1 (i32.load - (local.tee $4 + (local.tee $3 (i32.add (i32.add (local.get $0) @@ -5517,7 +5510,7 @@ ) (block (result i32) (local.set $45 - (local.get $4) + (local.get $3) ) (local.set $52 (local.get $0) @@ -5574,7 +5567,7 @@ (local.get $0) ) ) - (local.tee $3 + (local.tee $4 (i32.load (i32.const 192) ) @@ -5582,7 +5575,7 @@ ) (i32.ge_u (local.get $0) - (local.get $3) + (local.get $4) ) ) (block @@ -5661,20 +5654,23 @@ (i32.const 0) ) (loop $do-in72 - (i32.store offset=12 - (local.tee $0 - (i32.add + (local.set $0 + (i32.add + (local.tee $1 (i32.shl (local.get $2) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (local.get $0) ) - (i32.store offset=8 + (i32.store offset=228 + (local.get $1) (local.get $0) + ) + (i32.store offset=224 + (local.get $1) (local.get $0) ) (br_if $do-in72 @@ -5720,7 +5716,7 @@ ) (i32.store (i32.const 188) - (local.tee $3 + (local.tee $4 (i32.sub (i32.add (local.get $22) @@ -5733,14 +5729,14 @@ (i32.store offset=4 (local.get $2) (i32.or - (local.get $3) + (local.get $4) (i32.const 1) ) ) (i32.store offset=4 (i32.add (local.get $2) - (local.get $3) + (local.get $4) ) (i32.const 40) ) @@ -6415,10 +6411,7 @@ (local.get $10) ) (local.set $6 - (i32.add - (local.get $1) - (i32.const 16) - ) + (local.get $1) ) (if (local.tee $2 @@ -6446,7 +6439,7 @@ ) (if (local.tee $2 - (i32.load offset=4 + (i32.load offset=20 (local.get $6) ) ) @@ -6936,16 +6929,13 @@ (local.get $11) (local.get $6) ) - (local.set $7 - (i32.add - (local.get $8) - (i32.const 16) - ) + (local.set $0 + (local.get $8) ) (if (local.tee $1 (i32.load offset=16 - (local.get $8) + (local.get $0) ) ) (if @@ -6968,8 +6958,8 @@ ) (if (local.tee $1 - (i32.load offset=4 - (local.get $7) + (i32.load offset=20 + (local.get $0) ) ) (if @@ -7643,7 +7633,7 @@ (local $13 i32) (local $14 i32) (local $15 i32) - (local.set $6 + (local.set $4 (global.get $STACKTOP) ) (global.set $STACKTOP @@ -7652,30 +7642,25 @@ (i32.const 48) ) ) - (local.set $9 + (local.set $12 (i32.add - (local.get $6) + (local.get $4) (i32.const 16) ) ) (local.set $8 - (local.get $6) + (local.get $4) ) (i32.store offset=32 - (local.get $6) + (local.get $4) (local.tee $3 (i32.load offset=28 (local.get $0) ) ) ) - (i32.store offset=4 - (local.tee $4 - (i32.add - (local.get $6) - (i32.const 32) - ) - ) + (i32.store offset=36 + (local.get $4) (local.tee $7 (i32.sub (i32.load offset=20 @@ -7685,24 +7670,27 @@ ) ) ) - (i32.store offset=8 + (i32.store offset=40 (local.get $4) (local.get $1) ) - (i32.store offset=12 + (i32.store offset=44 (local.get $4) (local.get $2) ) - (local.set $11 + (local.set $10 (local.get $0) ) - (local.set $12 + (local.set $11 (local.get $0) ) (local.set $1 - (local.get $4) + (i32.add + (local.get $4) + (i32.const 32) + ) ) - (local.set $4 + (local.set $6 (i32.const 2) ) (local.set $3 @@ -7729,7 +7717,7 @@ (i32.store (local.get $8) (i32.load offset=60 - (local.get $11) + (local.get $10) ) ) (i32.store offset=4 @@ -7738,7 +7726,7 @@ ) (i32.store offset=8 (local.get $8) - (local.get $4) + (local.get $6) ) (local.set $7 (call $___syscall_ret @@ -7755,23 +7743,23 @@ ) (block (result i32) (i32.store offset=16 - (local.get $6) + (local.get $4) (i32.load offset=60 - (local.get $11) + (local.get $10) ) ) - (i32.store offset=4 - (local.get $9) + (i32.store offset=20 + (local.get $4) (local.get $1) ) - (i32.store offset=8 - (local.get $9) + (i32.store offset=24 (local.get $4) + (local.get $6) ) (call $___syscall_ret (call $___syscall146 (i32.const 146) - (local.get $9) + (local.get $12) ) ) ) @@ -7795,7 +7783,7 @@ (local.get $1) ) (local.set $14 - (local.get $4) + (local.get $6) ) (local.set $1 (i32.const 8) @@ -7812,7 +7800,7 @@ (if (i32.le_u (local.get $5) - (local.tee $10 + (local.tee $9 (i32.load offset=4 (local.get $1) ) @@ -7821,7 +7809,7 @@ (block (if (i32.eq - (local.get $4) + (local.get $6) (i32.const 2) ) (block @@ -7834,13 +7822,13 @@ ) ) ) - (local.set $4 + (local.set $6 (i32.const 2) ) ) ) (local.set $3 - (local.get $10) + (local.get $9) ) ) (block @@ -7848,7 +7836,7 @@ (local.get $0) (local.tee $3 (i32.load offset=44 - (local.get $12) + (local.get $11) ) ) ) @@ -7864,7 +7852,7 @@ (local.set $5 (i32.sub (local.get $5) - (local.get $10) + (local.get $9) ) ) (local.set $1 @@ -7873,9 +7861,9 @@ (i32.const 8) ) ) - (local.set $4 + (local.set $6 (i32.add - (local.get $4) + (local.get $6) (i32.const -1) ) ) @@ -7904,7 +7892,7 @@ ) ) (global.set $STACKTOP - (local.get $6) + (local.get $4) ) (if (result i32) (i32.eq @@ -7917,7 +7905,7 @@ (i32.add (local.tee $3 (i32.load offset=44 - (local.get $12) + (local.get $11) ) ) (i32.load offset=48 diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm index e0f4d3de4..db32080ab 100644 --- a/test/emcc_hello_world.fromasm +++ b/test/emcc_hello_world.fromasm @@ -664,7 +664,7 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local.set $8 + (local.set $4 (global.get $STACKTOP) ) (global.set $STACKTOP @@ -680,29 +680,25 @@ ) (call $abort) ) - (local.set $9 + (local.set $10 (i32.add - (local.get $8) + (local.get $4) (i32.const 16) ) ) + (local.set $8 + (local.get $4) + ) (i32.store offset=32 - (local.tee $6 - (local.get $8) - ) + (local.get $4) (local.tee $3 (i32.load offset=28 (local.get $0) ) ) ) - (i32.store offset=4 - (local.tee $4 - (i32.add - (local.get $6) - (i32.const 32) - ) - ) + (i32.store offset=36 + (local.get $4) (local.tee $3 (i32.sub (i32.load offset=20 @@ -712,21 +708,24 @@ ) ) ) - (i32.store offset=8 + (i32.store offset=40 (local.get $4) (local.get $1) ) - (i32.store offset=12 + (i32.store offset=44 (local.get $4) (local.get $2) ) (local.set $1 - (local.get $4) + (i32.add + (local.get $4) + (i32.const 32) + ) ) - (local.set $4 + (local.set $5 (i32.const 2) ) - (local.set $10 + (local.set $9 (i32.add (local.get $2) (local.get $3) @@ -746,24 +745,24 @@ (local.get $0) ) (i32.store - (local.get $6) + (local.get $8) (i32.load offset=60 (local.get $0) ) ) (i32.store offset=4 - (local.get $6) + (local.get $8) (local.get $1) ) (i32.store offset=8 - (local.get $6) - (local.get $4) + (local.get $8) + (local.get $5) ) (local.set $3 (call $___syscall_ret (call $___syscall146 (i32.const 146) - (local.get $6) + (local.get $8) ) ) ) @@ -773,24 +772,24 @@ ) (block (i32.store offset=16 - (local.get $8) + (local.get $4) (i32.load offset=60 (local.get $0) ) ) - (i32.store offset=4 - (local.get $9) + (i32.store offset=20 + (local.get $4) (local.get $1) ) - (i32.store offset=8 - (local.get $9) + (i32.store offset=24 (local.get $4) + (local.get $5) ) (local.set $3 (call $___syscall_ret (call $___syscall146 (i32.const 146) - (local.get $9) + (local.get $10) ) ) ) @@ -799,7 +798,7 @@ (br_if $__rjti$0 (i32.eq (local.get $3) - (local.get $10) + (local.get $9) ) ) (br_if $__rjti$1 @@ -808,11 +807,11 @@ (i32.const 0) ) ) - (local.set $5 + (local.set $6 (if (result i32) (i32.gt_u (local.get $3) - (local.tee $5 + (local.tee $6 (i32.load offset=4 (local.get $1) ) @@ -842,21 +841,21 @@ (i32.const 8) ) ) - (local.set $4 + (local.set $5 (i32.add - (local.get $4) + (local.get $5) (i32.const -1) ) ) (i32.sub (local.get $3) - (local.get $5) + (local.get $6) ) ) (block (result i32) (if (i32.eq - (local.get $4) + (local.get $5) (i32.const 2) ) (block @@ -870,14 +869,14 @@ ) ) (local.set $7 - (local.get $5) + (local.get $6) ) - (local.set $4 + (local.set $5 (i32.const 2) ) ) (local.set $7 - (local.get $5) + (local.get $6) ) ) (local.get $3) @@ -890,19 +889,19 @@ (i32.load (local.get $1) ) - (local.get $5) + (local.get $6) ) ) (i32.store offset=4 (local.get $1) (i32.sub (local.get $7) - (local.get $5) + (local.get $6) ) ) - (local.set $10 + (local.set $9 (i32.sub - (local.get $10) + (local.get $9) (local.get $3) ) ) @@ -956,7 +955,7 @@ (local.set $2 (if (result i32) (i32.eq - (local.get $4) + (local.get $5) (i32.const 2) ) (i32.const 0) @@ -970,7 +969,7 @@ ) ) (global.set $STACKTOP - (local.get $8) + (local.get $4) ) (local.get $2) ) @@ -2035,7 +2034,7 @@ (local $48 i32) (local $49 i32) (local $50 i32) - (local.set $20 + (local.set $19 (global.get $STACKTOP) ) (global.set $STACKTOP @@ -2053,14 +2052,14 @@ ) (local.set $39 (i32.add - (local.get $20) + (local.get $19) (i32.const 16) ) ) (local.set $33 (i32.add (local.tee $13 - (local.get $20) + (local.get $19) ) (i32.const 528) ) @@ -2403,7 +2402,7 @@ ) (select (i32.const 1) - (local.get $19) + (local.get $20) (local.get $10) ) ) @@ -2414,11 +2413,11 @@ (local.set $8 (local.get $10) ) - (local.get $19) + (local.get $20) ) ) ) - (local.set $19 + (local.set $20 (if (result i32) (i32.eq (i32.and @@ -2436,7 +2435,7 @@ (i32.const 32) ) (block $label$break$L25 (result i32) - (local.set $19 + (local.set $20 (local.get $5) ) (local.set $5 @@ -2461,7 +2460,7 @@ ) (block (local.set $5 - (local.get $19) + (local.get $20) ) (br $label$break$L25 (local.get $10) @@ -2476,7 +2475,7 @@ (i32.add (i32.shr_s (i32.shl - (local.get $19) + (local.get $20) (i32.const 24) ) (i32.const 24) @@ -2496,7 +2495,7 @@ (i32.eq (i32.and (local.tee $5 - (local.tee $19 + (local.tee $20 (i32.load8_s offset=1 (local.get $8) ) @@ -2514,7 +2513,7 @@ ) (block (result i32) (local.set $5 - (local.get $19) + (local.get $20) ) (local.set $8 (local.get $7) @@ -2527,7 +2526,7 @@ (i32.const 0) ) ) - (local.set $19 + (local.set $20 (if (result i32) (i32.eq (i32.and @@ -2627,7 +2626,7 @@ ) (block (local.set $10 - (local.get $19) + (local.get $20) ) (local.set $8 (local.get $7) @@ -2682,11 +2681,11 @@ ) ) (i32.or - (local.get $19) + (local.get $20) (i32.const 8192) ) ) - (local.get $19) + (local.get $20) ) ) (local.get $5) @@ -2769,7 +2768,7 @@ ) (block (result i32) (local.set $10 - (local.get $19) + (local.get $20) ) (local.set $15 (local.get $5) @@ -2780,7 +2779,7 @@ ) (block (result i32) (local.set $10 - (local.get $19) + (local.get $20) ) (local.set $15 (i32.const 0) @@ -2967,7 +2966,7 @@ ) ) (if - (local.get $19) + (local.get $20) (block (local.set $16 (i32.const -1) @@ -3659,7 +3658,7 @@ ) ) (i32.store8 offset=575 - (local.get $13) + (local.get $19) (i32.load (local.get $13) ) @@ -3711,13 +3710,13 @@ ) ) (i32.store offset=8 - (local.get $20) + (local.get $19) (i32.load (local.get $13) ) ) (i32.store offset=12 - (local.get $13) + (local.get $19) (i32.const 0) ) (i32.store @@ -3757,7 +3756,7 @@ ) ) (i32.store offset=16 - (local.get $20) + (local.get $19) (i32.const 0) ) (f64.store @@ -3854,10 +3853,10 @@ ) ) (i32.store offset=16 - (local.get $20) + (local.get $19) (i32.add (i32.load offset=16 - (local.get $20) + (local.get $19) ) (i32.const -1) ) @@ -3971,7 +3970,7 @@ (i32.const 0) (local.tee $6 (i32.load offset=16 - (local.get $20) + (local.get $19) ) ) ) @@ -3999,7 +3998,7 @@ ) (block (i32.store8 offset=587 - (local.get $13) + (local.get $19) (i32.const 48) ) (local.set $4 @@ -4277,11 +4276,11 @@ (local.get $4) (block (result f64) (i32.store offset=16 - (local.get $20) + (local.get $19) (local.tee $4 (i32.add (i32.load offset=16 - (local.get $20) + (local.get $19) ) (i32.const -28) ) @@ -4295,7 +4294,7 @@ (block (result f64) (local.set $4 (i32.load offset=16 - (local.get $20) + (local.get $19) ) ) (local.get $23) @@ -4350,7 +4349,7 @@ (i32.gt_s (local.tee $7 (i32.load offset=16 - (local.get $20) + (local.get $19) ) ) (i32.const 0) @@ -4470,11 +4469,11 @@ ) ) (i32.store offset=16 - (local.get $20) + (local.get $19) (local.tee $7 (i32.sub (i32.load offset=16 - (local.get $20) + (local.get $19) ) (local.get $12) ) @@ -4682,11 +4681,11 @@ ) ) (i32.store offset=16 - (local.get $20) + (local.get $19) (local.tee $7 (i32.add (i32.load offset=16 - (local.get $20) + (local.get $19) ) (local.get $12) ) @@ -5619,7 +5618,7 @@ ) ) (i32.store8 offset=596 - (local.get $13) + (local.get $19) (i32.const 48) ) (local.set $6 @@ -5863,7 +5862,7 @@ ) (block (i32.store8 offset=596 - (local.get $13) + (local.get $19) (i32.const 48) ) (local.set $4 @@ -6683,14 +6682,14 @@ ) (local.set $16 (if (result i32) - (local.get $19) + (local.get $20) (block (result i32) (local.set $0 (i32.const 1) ) (loop $while-in130 (if - (local.tee $19 + (local.tee $20 (i32.load (i32.add (i32.shl @@ -6710,7 +6709,7 @@ ) (local.get $2) ) - (local.get $19) + (local.get $20) (local.get $1) ) (br_if $while-in130 @@ -6776,7 +6775,7 @@ ) ) (global.set $STACKTOP - (local.get $20) + (local.get $19) ) (local.get $16) ) @@ -7481,556 +7480,553 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (block $folding-inner1 - (local.set $0 - (if (result i32) - (i32.lt_u - (local.get $0) - (i32.const 245) - ) - (block (result i32) - (if - (i32.and - (local.tee $11 - (i32.shr_u - (local.tee $7 - (i32.load - (i32.const 176) - ) + (local.set $0 + (if (result i32) + (i32.lt_u + (local.get $0) + (i32.const 245) + ) + (block (result i32) + (if + (i32.and + (local.tee $11 + (i32.shr_u + (local.tee $7 + (i32.load + (i32.const 176) ) - (local.tee $13 - (i32.shr_u - (local.tee $2 - (select - (i32.const 16) - (i32.and - (i32.add - (local.get $0) - (i32.const 11) - ) - (i32.const -8) - ) - (i32.lt_u + ) + (local.tee $13 + (i32.shr_u + (local.tee $3 + (select + (i32.const 16) + (i32.and + (i32.add (local.get $0) (i32.const 11) ) + (i32.const -8) + ) + (i32.lt_u + (local.get $0) + (i32.const 11) ) ) - (i32.const 3) ) + (i32.const 3) ) ) ) - (i32.const 3) ) - (block - (if - (i32.eq - (local.tee $3 - (i32.load offset=8 - (local.tee $2 - (i32.load offset=8 - (local.tee $1 - (i32.add - (i32.shl - (local.tee $0 - (i32.add - (i32.xor - (i32.and - (local.get $11) - (i32.const 1) - ) - (i32.const 1) - ) - (local.get $13) - ) - ) - (i32.const 3) - ) - (i32.const 216) - ) + (i32.const 3) + ) + (block + (local.set $0 + (i32.add + (local.tee $1 + (i32.shl + (local.tee $4 + (i32.add + (i32.xor + (i32.and + (local.get $11) + (i32.const 1) ) + (i32.const 1) ) + (local.get $13) ) ) + (i32.const 3) ) - (local.get $1) ) - (i32.store - (i32.const 176) - (i32.and - (local.get $7) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $0) + (i32.const 216) + ) + ) + (if + (i32.eq + (local.tee $3 + (i32.load offset=8 + (local.tee $2 + (i32.load offset=224 + (local.get $1) ) - (i32.const -1) ) ) ) - (block - (if - (i32.lt_u - (local.get $3) - (i32.load - (i32.const 192) - ) + (local.get $0) + ) + (i32.store + (i32.const 176) + (i32.and + (local.get $7) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $4) ) - (call $_abort) + (i32.const -1) ) - (if - (i32.eq - (local.get $2) - (i32.load offset=12 - (local.get $3) - ) - ) - (block - (i32.store offset=12 - (local.get $3) - (local.get $1) - ) - (i32.store offset=8 - (local.get $1) - (local.get $3) - ) + ) + ) + (block + (if + (i32.lt_u + (local.get $3) + (i32.load + (i32.const 192) ) - (call $_abort) ) + (call $_abort) ) - ) - (i32.store offset=4 - (local.get $2) - (i32.or - (local.tee $0 - (i32.shl + (if + (i32.eq + (local.get $2) + (i32.load offset=12 + (local.get $3) + ) + ) + (block + (i32.store offset=12 + (local.get $3) (local.get $0) - (i32.const 3) + ) + (i32.store offset=224 + (local.get $1) + (local.get $3) ) ) - (i32.const 3) + (call $_abort) ) ) - (i32.store offset=4 + ) + (i32.store offset=4 + (local.get $2) + (i32.or (local.tee $0 - (i32.add - (local.get $0) - (local.get $2) - ) - ) - (i32.or - (i32.load offset=4 - (local.get $0) + (i32.shl + (local.get $4) + (i32.const 3) ) - (i32.const 1) ) + (i32.const 3) ) - (br $folding-inner1) ) - ) - (if (result i32) - (i32.gt_u - (local.get $2) + (i32.store offset=4 (local.tee $0 - (i32.load - (i32.const 184) + (i32.add + (local.get $0) + (local.get $2) + ) + ) + (i32.or + (i32.load offset=4 + (local.get $0) ) + (i32.const 1) ) ) - (block (result i32) - (if - (local.get $11) - (block - (if - (i32.eq - (local.tee $6 - (i32.load offset=8 - (local.tee $8 - (i32.load offset=8 - (local.tee $4 - (i32.add - (i32.shl - (local.tee $3 - (i32.add - (i32.or - (i32.or - (i32.or - (i32.or - (local.tee $3 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.add - (i32.and - (local.tee $3 - (i32.and - (i32.or - (local.tee $3 - (i32.shl - (i32.const 2) - (local.get $13) - ) - ) - (i32.sub - (i32.const 0) - (local.get $3) - ) - ) - (i32.shl - (local.get $11) - (local.get $13) - ) - ) - ) - (i32.sub - (i32.const 0) - (local.get $3) - ) - ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) - (local.tee $3 + (return + (i32.add + (local.get $2) + (i32.const 8) + ) + ) + ) + ) + (if (result i32) + (i32.gt_u + (local.get $3) + (local.tee $0 + (i32.load + (i32.const 184) + ) + ) + ) + (block (result i32) + (if + (local.get $11) + (block + (local.set $4 + (i32.add + (local.tee $2 + (i32.shl + (local.tee $10 + (i32.add + (i32.or + (i32.or + (i32.or + (i32.or + (local.tee $4 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.add + (i32.and + (local.tee $4 (i32.and - (i32.shr_u + (i32.or (local.tee $4 - (i32.shr_u - (local.get $4) - (local.get $3) + (i32.shl + (i32.const 2) + (local.get $13) ) ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - ) - (local.tee $3 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.shr_u + (i32.sub + (i32.const 0) (local.get $4) - (local.get $3) ) ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (local.tee $3 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.shr_u - (local.get $4) - (local.get $3) + (i32.shl + (local.get $11) + (local.get $13) ) ) - (i32.const 1) ) - (i32.const 2) + (i32.sub + (i32.const 0) + (local.get $4) + ) ) + (i32.const -1) ) ) - (local.tee $3 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.shr_u - (local.get $4) - (local.get $3) - ) - ) - (i32.const 1) - ) - (i32.const 1) + (i32.const 12) + ) + (i32.const 16) + ) + ) + (local.tee $4 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.shr_u + (local.get $2) + (local.get $4) ) ) + (i32.const 5) ) + (i32.const 8) + ) + ) + ) + (local.tee $4 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.shr_u + (local.get $2) + (local.get $4) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + ) + (local.tee $4 + (i32.and + (i32.shr_u + (local.tee $2 (i32.shr_u + (local.get $2) (local.get $4) - (local.get $3) ) ) + (i32.const 1) ) - (i32.const 3) + (i32.const 2) ) - (i32.const 216) ) ) + (local.tee $4 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.shr_u + (local.get $2) + (local.get $4) + ) + ) + (i32.const 1) + ) + (i32.const 1) + ) + ) + ) + (i32.shr_u + (local.get $2) + (local.get $4) ) ) ) + (i32.const 3) ) - (local.get $4) ) - (block - (i32.store - (i32.const 176) - (i32.and - (local.get $7) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $3) - ) - (i32.const -1) + (i32.const 216) + ) + ) + (if + (i32.eq + (local.tee $6 + (i32.load offset=8 + (local.tee $9 + (i32.load offset=224 + (local.get $2) ) ) ) - (local.set $9 - (local.get $0) + ) + (local.get $4) + ) + (block + (i32.store + (i32.const 176) + (i32.and + (local.get $7) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $10) + ) + (i32.const -1) + ) ) ) - (block - (if - (i32.lt_u + (local.set $8 + (local.get $0) + ) + ) + (block + (if + (i32.lt_u + (local.get $6) + (i32.load + (i32.const 192) + ) + ) + (call $_abort) + ) + (if + (i32.eq + (i32.load offset=12 (local.get $6) - (i32.load - (i32.const 192) - ) ) - (call $_abort) + (local.get $9) ) - (if - (i32.eq - (i32.load offset=12 - (local.get $6) - ) - (local.get $8) + (block + (i32.store offset=12 + (local.get $6) + (local.get $4) ) - (block - (i32.store offset=12 - (local.get $6) - (local.get $4) - ) - (i32.store offset=8 - (local.get $4) - (local.get $6) - ) - (local.set $9 - (i32.load - (i32.const 184) - ) + (i32.store offset=224 + (local.get $2) + (local.get $6) + ) + (local.set $8 + (i32.load + (i32.const 184) ) ) - (call $_abort) ) + (call $_abort) ) ) - (i32.store offset=4 - (local.get $8) - (i32.or - (local.get $2) - (i32.const 3) - ) + ) + (i32.store offset=4 + (local.get $9) + (i32.or + (local.get $3) + (i32.const 3) ) - (i32.store offset=4 - (local.tee $4 - (i32.add - (local.get $2) - (local.get $8) - ) + ) + (i32.store offset=4 + (local.tee $6 + (i32.add + (local.get $3) + (local.get $9) ) - (i32.or - (local.tee $6 - (i32.sub - (i32.shl - (local.get $3) - (i32.const 3) - ) - (local.get $2) + ) + (i32.or + (local.tee $10 + (i32.sub + (i32.shl + (local.get $10) + (i32.const 3) ) + (local.get $3) ) - (i32.const 1) ) + (i32.const 1) ) - (i32.store - (i32.add - (local.get $4) - (local.get $6) - ) + ) + (i32.store + (i32.add (local.get $6) + (local.get $10) ) - (if - (local.get $9) - (block - (local.set $10 - (i32.load - (i32.const 196) - ) + (local.get $10) + ) + (if + (local.get $8) + (block + (local.set $7 + (i32.load + (i32.const 196) ) - (local.set $2 - (i32.add + ) + (local.set $3 + (i32.add + (local.tee $2 (i32.shl (local.tee $0 (i32.shr_u - (local.get $9) + (local.get $8) (i32.const 3) ) ) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (if - (i32.and - (local.tee $3 - (i32.load - (i32.const 176) - ) + ) + (if + (i32.and + (local.tee $4 + (i32.load + (i32.const 176) ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $0) - ) + ) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $0) ) ) - (block - (local.set $3 - (i32.add - (local.get $2) - (i32.const 8) - ) + ) + (block + (local.set $4 + (i32.add + (local.get $3) + (i32.const 8) ) - (if - (i32.lt_u - (local.tee $0 - (i32.load offset=8 - (local.get $2) - ) - ) - (i32.load - (i32.const 192) + ) + (if + (i32.lt_u + (local.tee $0 + (i32.load offset=224 + (local.get $2) ) ) - (call $_abort) - (block - (local.set $5 - (local.get $3) - ) - (local.set $1 - (local.get $0) - ) + (i32.load + (i32.const 192) ) ) - ) - (block - (i32.store - (i32.const 176) - (i32.or + (call $_abort) + (block + (local.set $5 + (local.get $4) + ) + (local.set $1 (local.get $0) - (local.get $3) ) ) - (local.set $5 - (i32.add - (local.get $2) - (i32.const 8) - ) + ) + ) + (block + (i32.store + (i32.const 176) + (i32.or + (local.get $0) + (local.get $4) ) - (local.set $1 - (local.get $2) + ) + (local.set $5 + (i32.add + (local.get $3) + (i32.const 8) ) ) - ) - (i32.store - (local.get $5) - (local.get $10) - ) - (i32.store offset=12 - (local.get $1) - (local.get $10) - ) - (i32.store offset=8 - (local.get $10) - (local.get $1) - ) - (i32.store offset=12 - (local.get $10) - (local.get $2) + (local.set $1 + (local.get $3) + ) ) ) - ) - (i32.store - (i32.const 184) - (local.get $6) - ) - (i32.store - (i32.const 196) - (local.get $4) - ) - (return - (i32.add - (local.get $8) - (i32.const 8) + (i32.store + (local.get $5) + (local.get $7) + ) + (i32.store offset=12 + (local.get $1) + (local.get $7) + ) + (i32.store offset=8 + (local.get $7) + (local.get $1) + ) + (i32.store offset=12 + (local.get $7) + (local.get $3) ) ) ) - ) - (if (result i32) - (local.tee $0 - (i32.load - (i32.const 180) + (i32.store + (i32.const 184) + (local.get $10) + ) + (i32.store + (i32.const 196) + (local.get $6) + ) + (return + (i32.add + (local.get $9) + (i32.const 8) ) ) - (block - (local.set $10 - (i32.sub - (i32.and - (i32.load offset=4 - (local.tee $0 - (i32.load offset=480 - (i32.shl - (i32.add + ) + ) + (if (result i32) + (local.tee $0 + (i32.load + (i32.const 180) + ) + ) + (block + (local.set $10 + (i32.sub + (i32.and + (i32.load offset=4 + (local.tee $0 + (i32.load offset=480 + (i32.shl + (i32.add + (i32.or (i32.or (i32.or (i32.or - (i32.or - (local.tee $0 - (i32.and - (i32.shr_u - (local.tee $1 - (i32.add - (i32.and + (local.tee $0 + (i32.and + (i32.shr_u + (local.tee $1 + (i32.add + (i32.and + (local.get $0) + (i32.sub + (i32.const 0) (local.get $0) - (i32.sub - (i32.const 0) - (local.get $0) - ) ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) - (local.tee $0 - (i32.and - (i32.shr_u - (local.tee $1 - (i32.shr_u - (local.get $1) - (local.get $0) ) + (i32.const -1) ) - (i32.const 5) ) - (i32.const 8) + (i32.const 12) ) + (i32.const 16) ) ) (local.tee $0 @@ -8042,9 +8038,9 @@ (local.get $0) ) ) - (i32.const 2) + (i32.const 5) ) - (i32.const 4) + (i32.const 8) ) ) ) @@ -8057,9 +8053,9 @@ (local.get $0) ) ) - (i32.const 1) + (i32.const 2) ) - (i32.const 2) + (i32.const 4) ) ) ) @@ -8074,486 +8070,502 @@ ) (i32.const 1) ) - (i32.const 1) + (i32.const 2) ) ) ) - (i32.shr_u - (local.get $1) - (local.get $0) + (local.tee $0 + (i32.and + (i32.shr_u + (local.tee $1 + (i32.shr_u + (local.get $1) + (local.get $0) + ) + ) + (i32.const 1) + ) + (i32.const 1) + ) ) ) - (i32.const 2) + (i32.shr_u + (local.get $1) + (local.get $0) + ) ) + (i32.const 2) ) ) ) - (i32.const -8) ) - (local.get $2) + (i32.const -8) ) + (local.get $3) ) - (local.set $6 - (local.get $0) - ) - (loop $while-in - (block $while-out + ) + (local.set $6 + (local.get $0) + ) + (loop $while-in + (block $while-out + (if + (local.tee $1 + (i32.load offset=16 + (local.get $0) + ) + ) + (local.set $0 + (local.get $1) + ) (if - (local.tee $1 - (i32.load offset=16 - (local.get $0) + (i32.eqz + (local.tee $0 + (i32.load offset=20 + (local.get $0) + ) ) ) - (local.set $0 - (local.get $1) - ) - (if - (i32.eqz - (local.tee $0 - (i32.load offset=20 - (local.get $0) - ) - ) + (block + (local.set $7 + (local.get $10) ) - (block - (local.set $7 - (local.get $10) - ) - (local.set $8 - (local.get $6) - ) - (br $while-out) + (local.set $9 + (local.get $6) ) + (br $while-out) ) ) - (local.set $7 - (i32.lt_u - (local.tee $1 - (i32.sub - (i32.and - (i32.load offset=4 - (local.get $0) - ) - (i32.const -8) + ) + (local.set $7 + (i32.lt_u + (local.tee $1 + (i32.sub + (i32.and + (i32.load offset=4 + (local.get $0) ) - (local.get $2) + (i32.const -8) ) + (local.get $3) ) - (local.get $10) ) + (local.get $10) ) - (local.set $10 - (select - (local.get $1) - (local.get $10) - (local.get $7) - ) + ) + (local.set $10 + (select + (local.get $1) + (local.get $10) + (local.get $7) ) - (local.set $6 - (select - (local.get $0) - (local.get $6) - (local.get $7) - ) + ) + (local.set $6 + (select + (local.get $0) + (local.get $6) + (local.get $7) ) - (br $while-in) ) + (br $while-in) ) - (if - (i32.lt_u - (local.get $8) - (local.tee $11 - (i32.load - (i32.const 192) - ) + ) + (if + (i32.lt_u + (local.get $9) + (local.tee $11 + (i32.load + (i32.const 192) ) ) - (call $_abort) ) - (if - (i32.ge_u - (local.get $8) - (local.tee $5 - (i32.add - (local.get $2) - (local.get $8) - ) + (call $_abort) + ) + (if + (i32.ge_u + (local.get $9) + (local.tee $5 + (i32.add + (local.get $3) + (local.get $9) ) ) - (call $_abort) ) - (local.set $9 - (i32.load offset=24 - (local.get $8) + (call $_abort) + ) + (local.set $8 + (i32.load offset=24 + (local.get $9) + ) + ) + (if + (i32.eq + (local.tee $0 + (i32.load offset=12 + (local.get $9) + ) ) + (local.get $9) ) - (if - (i32.eq - (local.tee $0 - (i32.load offset=12 - (local.get $8) - ) + (block $do-once4 + (local.set $0 + (i32.add + (local.get $9) + (i32.const 20) ) - (local.get $8) ) - (block $do-once4 - (local.set $0 - (i32.add - (local.get $8) - (i32.const 20) + (if + (i32.eqz + (local.tee $1 + (i32.load offset=20 + (local.get $9) + ) ) ) - (if - (i32.eqz - (local.tee $1 - (i32.load offset=20 - (local.get $8) - ) + (block + (local.set $0 + (i32.add + (local.get $9) + (i32.const 16) ) ) - (block - (local.set $0 - (i32.add - (local.get $8) - (i32.const 16) - ) - ) - (br_if $do-once4 - (i32.eqz - (local.tee $1 - (i32.load offset=16 - (local.get $8) - ) + (br_if $do-once4 + (i32.eqz + (local.tee $1 + (i32.load offset=16 + (local.get $9) ) ) ) ) ) - (loop $while-in7 - (local.set $10 - (i32.add + ) + (loop $while-in7 + (local.set $10 + (i32.add + (local.get $1) + (i32.const 20) + ) + ) + (if + (local.tee $6 + (i32.load offset=20 (local.get $1) - (i32.const 20) ) ) - (if - (local.tee $6 - (i32.load offset=20 - (local.get $1) - ) + (block + (local.set $1 + (local.get $6) ) - (block - (local.set $1 - (local.get $6) - ) - (local.set $0 - (local.get $10) - ) - (br $while-in7) + (local.set $0 + (local.get $10) ) + (br $while-in7) ) - (local.set $10 - (i32.add + ) + (local.set $10 + (i32.add + (local.get $1) + (i32.const 16) + ) + ) + (if + (local.tee $6 + (i32.load offset=16 (local.get $1) - (i32.const 16) ) ) - (if - (local.tee $6 - (i32.load offset=16 - (local.get $1) - ) + (block + (local.set $1 + (local.get $6) ) - (block - (local.set $1 - (local.get $6) - ) - (local.set $0 - (local.get $10) - ) - (br $while-in7) + (local.set $0 + (local.get $10) ) + (br $while-in7) ) ) - (if - (i32.lt_u + ) + (if + (i32.lt_u + (local.get $0) + (local.get $11) + ) + (call $_abort) + (block + (i32.store (local.get $0) - (local.get $11) + (i32.const 0) ) - (call $_abort) - (block - (i32.store - (local.get $0) - (i32.const 0) - ) - (local.set $4 - (local.get $1) - ) + (local.set $2 + (local.get $1) ) ) ) - (block - (if - (i32.lt_u - (local.tee $1 - (i32.load offset=8 - (local.get $8) - ) + ) + (block + (if + (i32.lt_u + (local.tee $1 + (i32.load offset=8 + (local.get $9) ) - (local.get $11) ) - (call $_abort) + (local.get $11) ) - (if - (i32.ne - (local.get $8) - (i32.load offset=12 - (local.get $1) - ) + (call $_abort) + ) + (if + (i32.ne + (local.get $9) + (i32.load offset=12 + (local.get $1) ) - (call $_abort) ) - (if - (i32.eq - (i32.load offset=8 - (local.get $0) - ) - (local.get $8) + (call $_abort) + ) + (if + (i32.eq + (i32.load offset=8 + (local.get $0) ) - (block - (i32.store offset=12 - (local.get $1) - (local.get $0) - ) - (i32.store offset=8 - (local.get $0) - (local.get $1) - ) - (local.set $4 - (local.get $0) - ) + (local.get $9) + ) + (block + (i32.store offset=12 + (local.get $1) + (local.get $0) + ) + (i32.store offset=8 + (local.get $0) + (local.get $1) + ) + (local.set $2 + (local.get $0) ) - (call $_abort) ) + (call $_abort) ) ) - (if - (local.get $9) - (block $do-once8 - (if - (i32.eq - (i32.load offset=480 - (local.tee $1 - (i32.shl - (local.tee $0 - (i32.load offset=28 - (local.get $8) - ) + ) + (if + (local.get $8) + (block $do-once8 + (if + (i32.eq + (i32.load offset=480 + (local.tee $1 + (i32.shl + (local.tee $0 + (i32.load offset=28 + (local.get $9) ) - (i32.const 2) ) + (i32.const 2) ) ) - (local.get $8) ) - (block - (i32.store offset=480 - (local.get $1) - (local.get $4) + (local.get $9) + ) + (block + (i32.store offset=480 + (local.get $1) + (local.get $2) + ) + (if + (i32.eqz + (local.get $2) ) - (if - (i32.eqz - (local.get $4) - ) - (block - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $0) - ) - (i32.const -1) + (block + (i32.store + (i32.const 180) + (i32.and + (i32.load + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $0) ) + (i32.const -1) ) ) - (br $do-once8) ) + (br $do-once8) ) ) - (block - (if - (i32.lt_u - (local.get $9) - (i32.load - (i32.const 192) - ) + ) + (block + (if + (i32.lt_u + (local.get $8) + (i32.load + (i32.const 192) ) - (call $_abort) ) - (if - (i32.eq - (i32.load offset=16 - (local.get $9) - ) + (call $_abort) + ) + (if + (i32.eq + (i32.load offset=16 (local.get $8) ) - (i32.store offset=16 - (local.get $9) - (local.get $4) - ) - (i32.store offset=20 - (local.get $9) - (local.get $4) - ) + (local.get $9) ) - (br_if $do-once8 - (i32.eqz - (local.get $4) - ) + (i32.store offset=16 + (local.get $8) + (local.get $2) + ) + (i32.store offset=20 + (local.get $8) + (local.get $2) + ) + ) + (br_if $do-once8 + (i32.eqz + (local.get $2) ) ) ) - (if - (i32.lt_u - (local.get $4) - (local.tee $0 - (i32.load - (i32.const 192) - ) + ) + (if + (i32.lt_u + (local.get $2) + (local.tee $0 + (i32.load + (i32.const 192) ) ) - (call $_abort) ) - (i32.store offset=24 - (local.get $4) - (local.get $9) + (call $_abort) + ) + (i32.store offset=24 + (local.get $2) + (local.get $8) + ) + (if + (local.tee $1 + (i32.load offset=16 + (local.get $9) + ) ) (if - (local.tee $1 - (i32.load offset=16 - (local.get $8) - ) + (i32.lt_u + (local.get $1) + (local.get $0) ) - (if - (i32.lt_u + (call $_abort) + (block + (i32.store offset=16 + (local.get $2) (local.get $1) - (local.get $0) ) - (call $_abort) - (block - (i32.store offset=16 - (local.get $4) - (local.get $1) - ) - (i32.store offset=24 - (local.get $1) - (local.get $4) - ) + (i32.store offset=24 + (local.get $1) + (local.get $2) ) ) ) + ) + (if + (local.tee $0 + (i32.load offset=20 + (local.get $9) + ) + ) (if - (local.tee $0 - (i32.load offset=20 - (local.get $8) + (i32.lt_u + (local.get $0) + (i32.load + (i32.const 192) ) ) - (if - (i32.lt_u + (call $_abort) + (block + (i32.store offset=20 + (local.get $2) (local.get $0) - (i32.load - (i32.const 192) - ) ) - (call $_abort) - (block - (i32.store offset=20 - (local.get $4) - (local.get $0) - ) - (i32.store offset=24 - (local.get $0) - (local.get $4) - ) + (i32.store offset=24 + (local.get $0) + (local.get $2) ) ) ) ) ) - (if - (i32.lt_u - (local.get $7) - (i32.const 16) - ) - (block - (i32.store offset=4 - (local.get $8) - (i32.or - (local.tee $0 - (i32.add - (local.get $2) - (local.get $7) - ) - ) - (i32.const 3) - ) - ) - (i32.store offset=4 + ) + (if + (i32.lt_u + (local.get $7) + (i32.const 16) + ) + (block + (i32.store offset=4 + (local.get $9) + (i32.or (local.tee $0 (i32.add - (local.get $0) - (local.get $8) - ) - ) - (i32.or - (i32.load offset=4 - (local.get $0) + (local.get $3) + (local.get $7) ) - (i32.const 1) ) + (i32.const 3) ) ) - (block - (i32.store offset=4 - (local.get $8) - (i32.or - (local.get $2) - (i32.const 3) + (i32.store offset=4 + (local.tee $0 + (i32.add + (local.get $0) + (local.get $9) ) ) - (i32.store offset=4 - (local.get $5) - (i32.or - (local.get $7) - (i32.const 1) + (i32.or + (i32.load offset=4 + (local.get $0) ) + (i32.const 1) ) - (i32.store - (i32.add - (local.get $5) - (local.get $7) - ) + ) + ) + (block + (i32.store offset=4 + (local.get $9) + (i32.or + (local.get $3) + (i32.const 3) + ) + ) + (i32.store offset=4 + (local.get $5) + (i32.or (local.get $7) + (i32.const 1) ) - (if - (local.tee $0 + ) + (i32.store + (i32.add + (local.get $5) + (local.get $7) + ) + (local.get $7) + ) + (if + (local.tee $0 + (i32.load + (i32.const 184) + ) + ) + (block + (local.set $6 (i32.load - (i32.const 184) + (i32.const 196) ) ) - (block - (local.set $4 - (i32.load - (i32.const 196) - ) - ) - (local.set $2 - (i32.add + (local.set $3 + (i32.add + (local.tee $2 (i32.shl (local.tee $0 (i32.shr_u @@ -8563,349 +8575,349 @@ ) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (if - (i32.and - (local.tee $1 - (i32.load - (i32.const 176) - ) + ) + (if + (i32.and + (local.tee $1 + (i32.load + (i32.const 176) ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $0) - ) + ) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $0) ) ) - (block - (local.set $1 - (i32.add - (local.get $2) - (i32.const 8) - ) + ) + (block + (local.set $1 + (i32.add + (local.get $3) + (i32.const 8) ) - (if - (i32.lt_u - (local.tee $0 - (i32.load offset=8 - (local.get $2) - ) - ) - (i32.load - (i32.const 192) + ) + (if + (i32.lt_u + (local.tee $0 + (i32.load offset=224 + (local.get $2) ) ) - (call $_abort) - (block - (local.set $12 - (local.get $1) - ) - (local.set $3 - (local.get $0) - ) + (i32.load + (i32.const 192) ) ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (local.get $0) + (call $_abort) + (block + (local.set $12 (local.get $1) ) - ) - (local.set $12 - (i32.add - (local.get $2) - (i32.const 8) + (local.set $4 + (local.get $0) ) ) - (local.set $3 - (local.get $2) - ) ) ) - (i32.store - (local.get $12) - (local.get $4) - ) - (i32.store offset=12 - (local.get $3) - (local.get $4) - ) - (i32.store offset=8 - (local.get $4) - (local.get $3) - ) - (i32.store offset=12 - (local.get $4) - (local.get $2) + (block + (i32.store + (i32.const 176) + (i32.or + (local.get $0) + (local.get $1) + ) + ) + (local.set $12 + (i32.add + (local.get $3) + (i32.const 8) + ) + ) + (local.set $4 + (local.get $3) + ) ) ) - ) - (i32.store - (i32.const 184) - (local.get $7) - ) - (i32.store - (i32.const 196) - (local.get $5) + (i32.store + (local.get $12) + (local.get $6) + ) + (i32.store offset=12 + (local.get $4) + (local.get $6) + ) + (i32.store offset=8 + (local.get $6) + (local.get $4) + ) + (i32.store offset=12 + (local.get $6) + (local.get $3) + ) ) ) - ) - (return - (i32.add - (local.get $8) - (i32.const 8) + (i32.store + (i32.const 184) + (local.get $7) + ) + (i32.store + (i32.const 196) + (local.get $5) ) ) ) - (local.get $2) + (return + (i32.add + (local.get $9) + (i32.const 8) + ) + ) ) + (local.get $3) ) - (local.get $2) ) + (local.get $3) ) - (if (result i32) - (i32.gt_u - (local.get $0) - (i32.const -65) - ) - (i32.const -1) - (block $do-once (result i32) - (local.set $2 - (i32.and - (local.tee $0 - (i32.add - (local.get $0) - (i32.const 11) - ) + ) + (if (result i32) + (i32.gt_u + (local.get $0) + (i32.const -65) + ) + (i32.const -1) + (block $do-once (result i32) + (local.set $3 + (i32.and + (local.tee $0 + (i32.add + (local.get $0) + (i32.const 11) ) - (i32.const -8) ) + (i32.const -8) ) - (if (result i32) - (local.tee $18 - (i32.load - (i32.const 180) - ) + ) + (if (result i32) + (local.tee $18 + (i32.load + (i32.const 180) ) - (block (result i32) - (local.set $14 + ) + (block (result i32) + (local.set $14 + (if (result i32) + (local.tee $0 + (i32.shr_u + (local.get $0) + (i32.const 8) + ) + ) (if (result i32) - (local.tee $0 - (i32.shr_u - (local.get $0) - (i32.const 8) - ) + (i32.gt_u + (local.get $3) + (i32.const 16777215) ) - (if (result i32) - (i32.gt_u - (local.get $2) - (i32.const 16777215) - ) - (i32.const 31) - (block (result i32) - (local.set $4 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.tee $1 - (i32.and - (i32.shr_u - (i32.add - (local.get $0) - (i32.const 1048320) - ) - (i32.const 16) + (i32.const 31) + (block (result i32) + (local.set $2 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.tee $1 + (i32.and + (i32.shr_u + (i32.add + (local.get $0) + (i32.const 1048320) ) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) ) - (i32.const 520192) ) - (i32.const 16) + (i32.const 520192) ) - (i32.const 4) + (i32.const 16) ) + (i32.const 4) ) - (local.set $3 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.get $4) - ) + ) + (local.set $4 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.get $2) ) - (i32.const 245760) ) - (i32.const 16) + (i32.const 245760) ) - (i32.const 2) + (i32.const 16) ) + (i32.const 2) ) - (i32.or - (i32.and - (i32.shr_u - (local.get $2) - (i32.add - (local.tee $0 - (i32.add - (i32.sub - (i32.const 14) + ) + (i32.or + (i32.and + (i32.shr_u + (local.get $3) + (i32.add + (local.tee $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or (i32.or - (i32.or - (local.get $1) - (local.get $4) - ) - (local.get $3) + (local.get $1) + (local.get $2) ) + (local.get $4) ) - (i32.shr_u - (i32.shl - (local.get $0) - (local.get $3) - ) - (i32.const 15) + ) + (i32.shr_u + (i32.shl + (local.get $0) + (local.get $4) ) + (i32.const 15) ) ) - (i32.const 7) ) + (i32.const 7) ) - (i32.const 1) - ) - (i32.shl - (local.get $0) - (i32.const 1) ) + (i32.const 1) + ) + (i32.shl + (local.get $0) + (i32.const 1) ) ) ) - (i32.const 0) ) + (i32.const 0) ) - (local.set $3 - (i32.sub - (i32.const 0) - (local.get $2) - ) + ) + (local.set $4 + (i32.sub + (i32.const 0) + (local.get $3) ) - (block $__rjto$3 - (block $__rjti$3 - (local.set $0 - (if (result i32) - (local.tee $0 - (i32.load offset=480 - (i32.shl - (local.get $14) - (i32.const 2) - ) + ) + (block $__rjto$3 + (block $__rjti$3 + (local.set $0 + (if (result i32) + (local.tee $0 + (i32.load offset=480 + (i32.shl + (local.get $14) + (i32.const 2) ) ) - (block (result i32) - (local.set $9 - (i32.shl - (local.get $2) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $14) - (i32.const 1) - ) - ) - (i32.eq + ) + (block (result i32) + (local.set $8 + (i32.shl + (local.get $3) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u (local.get $14) - (i32.const 31) + (i32.const 1) ) ) + (i32.eq + (local.get $14) + (i32.const 31) + ) ) ) - (local.set $1 - (i32.const 0) - ) - (loop $while-in14 (result i32) - (if - (i32.lt_u - (local.tee $4 - (i32.sub - (local.tee $12 - (i32.and - (i32.load offset=4 - (local.get $0) - ) - (i32.const -8) + ) + (local.set $1 + (i32.const 0) + ) + (loop $while-in14 (result i32) + (if + (i32.lt_u + (local.tee $2 + (i32.sub + (local.tee $12 + (i32.and + (i32.load offset=4 + (local.get $0) ) + (i32.const -8) ) - (local.get $2) ) + (local.get $3) ) - (local.get $3) ) - (local.set $1 - (if (result i32) - (i32.eq + (local.get $4) + ) + (local.set $1 + (if (result i32) + (i32.eq + (local.get $3) + (local.get $12) + ) + (block + (local.set $1 (local.get $2) - (local.get $12) - ) - (block - (local.set $1 - (local.get $4) - ) - (local.set $3 - (local.get $0) - ) - (br $__rjti$3) ) - (block (result i32) - (local.set $3 - (local.get $4) - ) + (local.set $4 (local.get $0) ) + (br $__rjti$3) + ) + (block (result i32) + (local.set $4 + (local.get $2) + ) + (local.get $0) ) ) ) - (local.set $0 - (select - (local.get $5) - (local.tee $4 - (i32.load offset=20 - (local.get $0) - ) + ) + (local.set $0 + (select + (local.get $5) + (local.tee $2 + (i32.load offset=20 + (local.get $0) ) - (i32.or - (i32.eqz - (local.get $4) - ) - (i32.eq - (local.get $4) - (local.tee $12 - (i32.load + ) + (i32.or + (i32.eqz + (local.get $2) + ) + (i32.eq + (local.get $2) + (local.tee $12 + (i32.load + (i32.add (i32.add - (i32.add - (local.get $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (local.get $9) - (i32.const 31) - ) - (i32.const 2) + (local.get $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (local.get $8) + (i32.const 31) ) + (i32.const 2) ) ) ) @@ -8913,1960 +8925,1996 @@ ) ) ) - (local.set $4 - (i32.shl - (local.get $9) - (i32.xor - (local.tee $5 - (i32.eqz - (local.get $12) - ) + ) + (local.set $2 + (i32.shl + (local.get $8) + (i32.xor + (local.tee $5 + (i32.eqz + (local.get $12) ) - (i32.const 1) ) + (i32.const 1) ) ) - (if (result i32) - (local.get $5) - (block (result i32) - (local.set $4 - (local.get $0) - ) - (local.get $1) + ) + (if (result i32) + (local.get $5) + (block (result i32) + (local.set $2 + (local.get $0) ) - (block - (local.set $5 - (local.get $0) - ) - (local.set $9 - (local.get $4) - ) - (local.set $0 - (local.get $12) - ) - (br $while-in14) + (local.get $1) + ) + (block + (local.set $5 + (local.get $0) ) + (local.set $8 + (local.get $2) + ) + (local.set $0 + (local.get $12) + ) + (br $while-in14) ) ) ) - (block (result i32) - (local.set $4 - (i32.const 0) - ) + ) + (block (result i32) + (local.set $2 (i32.const 0) ) + (i32.const 0) ) ) - (if - (i32.eqz - (i32.or - (local.get $0) - (local.get $4) - ) + ) + (if + (i32.eqz + (i32.or + (local.get $0) + (local.get $2) ) - (block - (drop - (br_if $do-once - (local.get $2) - (i32.eqz - (local.tee $1 - (i32.and - (local.get $18) - (i32.or - (local.tee $1 - (i32.shl - (i32.const 2) - (local.get $14) - ) - ) - (i32.sub - (i32.const 0) - (local.get $1) + ) + (block + (drop + (br_if $do-once + (local.get $3) + (i32.eqz + (local.tee $1 + (i32.and + (local.get $18) + (i32.or + (local.tee $1 + (i32.shl + (i32.const 2) + (local.get $14) ) ) + (i32.sub + (i32.const 0) + (local.get $1) + ) ) ) ) ) ) - (local.set $4 - (i32.load offset=480 - (i32.shl - (i32.add + ) + (local.set $2 + (i32.load offset=480 + (i32.shl + (i32.add + (i32.or (i32.or (i32.or (i32.or - (i32.or - (local.tee $1 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.add - (i32.and + (local.tee $1 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.add + (i32.and + (local.get $1) + (i32.sub + (i32.const 0) (local.get $1) - (i32.sub - (i32.const 0) - (local.get $1) - ) ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) - (local.tee $1 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.shr_u - (local.get $4) - (local.get $1) ) + (i32.const -1) ) - (i32.const 5) ) - (i32.const 8) + (i32.const 12) ) + (i32.const 16) ) ) (local.tee $1 (i32.and (i32.shr_u - (local.tee $4 + (local.tee $2 (i32.shr_u - (local.get $4) + (local.get $2) (local.get $1) ) ) - (i32.const 2) + (i32.const 5) ) - (i32.const 4) + (i32.const 8) ) ) ) (local.tee $1 (i32.and (i32.shr_u - (local.tee $4 + (local.tee $2 (i32.shr_u - (local.get $4) + (local.get $2) (local.get $1) ) ) - (i32.const 1) + (i32.const 2) ) - (i32.const 2) + (i32.const 4) ) ) ) (local.tee $1 (i32.and (i32.shr_u - (local.tee $4 + (local.tee $2 (i32.shr_u - (local.get $4) + (local.get $2) (local.get $1) ) ) (i32.const 1) ) - (i32.const 1) + (i32.const 2) ) ) ) - (i32.shr_u - (local.get $4) - (local.get $1) + (local.tee $1 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.shr_u + (local.get $2) + (local.get $1) + ) + ) + (i32.const 1) + ) + (i32.const 1) + ) ) ) - (i32.const 2) + (i32.shr_u + (local.get $2) + (local.get $1) + ) ) + (i32.const 2) ) ) ) ) - (local.set $4 - (if (result i32) - (local.get $4) - (block - (local.set $1 - (local.get $3) - ) - (local.set $3 - (local.get $4) - ) - (br $__rjti$3) + ) + (local.set $2 + (if (result i32) + (local.get $2) + (block + (local.set $1 + (local.get $4) ) - (local.get $0) + (local.set $4 + (local.get $2) + ) + (br $__rjti$3) ) + (local.get $0) ) - (br $__rjto$3) ) - (local.set $3 - (loop $while-in16 (result i32) - (local.set $12 - (i32.lt_u - (local.tee $4 - (i32.sub - (i32.and - (i32.load offset=4 - (local.get $3) - ) - (i32.const -8) + (br $__rjto$3) + ) + (local.set $4 + (loop $while-in16 (result i32) + (local.set $12 + (i32.lt_u + (local.tee $2 + (i32.sub + (i32.and + (i32.load offset=4 + (local.get $4) ) - (local.get $2) + (i32.const -8) ) + (local.get $3) ) - (local.get $1) ) + (local.get $1) ) - (local.set $1 - (select - (local.get $4) - (local.get $1) - (local.get $12) - ) + ) + (local.set $1 + (select + (local.get $2) + (local.get $1) + (local.get $12) ) - (local.set $0 - (select - (local.get $3) - (local.get $0) - (local.get $12) - ) + ) + (local.set $0 + (select + (local.get $4) + (local.get $0) + (local.get $12) ) - (if - (local.tee $4 - (i32.load offset=16 - (local.get $3) - ) - ) - (block - (local.set $3 - (local.get $4) - ) - (br $while-in16) + ) + (if + (local.tee $2 + (i32.load offset=16 + (local.get $4) ) ) - (br_if $while-in16 - (local.tee $3 - (i32.load offset=20 - (local.get $3) - ) + (block + (local.set $4 + (local.get $2) ) + (br $while-in16) ) - (local.set $4 - (local.get $0) + ) + (br_if $while-in16 + (local.tee $4 + (i32.load offset=20 + (local.get $4) + ) ) - (local.get $1) ) + (local.set $2 + (local.get $0) + ) + (local.get $1) ) ) + ) + (if (result i32) + (local.get $2) (if (result i32) - (local.get $4) - (if (result i32) - (i32.lt_u - (local.get $3) - (i32.sub - (i32.load - (i32.const 184) - ) - (local.get $2) + (i32.lt_u + (local.get $4) + (i32.sub + (i32.load + (i32.const 184) ) + (local.get $3) ) - (block - (if - (i32.lt_u - (local.get $4) - (local.tee $8 - (i32.load - (i32.const 192) - ) + ) + (block + (if + (i32.lt_u + (local.get $2) + (local.tee $9 + (i32.load + (i32.const 192) ) ) - (call $_abort) ) - (if - (i32.ge_u - (local.get $4) - (local.tee $5 - (i32.add - (local.get $2) - (local.get $4) - ) + (call $_abort) + ) + (if + (i32.ge_u + (local.get $2) + (local.tee $5 + (i32.add + (local.get $2) + (local.get $3) ) ) - (call $_abort) ) - (local.set $12 - (i32.load offset=24 - (local.get $4) + (call $_abort) + ) + (local.set $12 + (i32.load offset=24 + (local.get $2) + ) + ) + (if + (i32.eq + (local.tee $0 + (i32.load offset=12 + (local.get $2) + ) ) + (local.get $2) ) - (if - (i32.eq - (local.tee $0 - (i32.load offset=12 - (local.get $4) - ) + (block $do-once17 + (local.set $0 + (i32.add + (local.get $2) + (i32.const 20) ) - (local.get $4) ) - (block $do-once17 - (local.set $0 - (i32.add - (local.get $4) - (i32.const 20) + (if + (i32.eqz + (local.tee $1 + (i32.load offset=20 + (local.get $2) + ) ) ) - (if - (i32.eqz - (local.tee $1 - (i32.load offset=20 - (local.get $4) - ) + (block + (local.set $0 + (i32.add + (local.get $2) + (i32.const 16) ) ) - (block - (local.set $0 - (i32.add - (local.get $4) - (i32.const 16) - ) - ) - (br_if $do-once17 - (i32.eqz - (local.tee $1 - (i32.load offset=16 - (local.get $4) - ) + (br_if $do-once17 + (i32.eqz + (local.tee $1 + (i32.load offset=16 + (local.get $2) ) ) ) ) ) - (loop $while-in20 - (local.set $10 - (i32.add + ) + (loop $while-in20 + (local.set $10 + (i32.add + (local.get $1) + (i32.const 20) + ) + ) + (if + (local.tee $6 + (i32.load offset=20 (local.get $1) - (i32.const 20) ) ) - (if - (local.tee $6 - (i32.load offset=20 - (local.get $1) - ) + (block + (local.set $1 + (local.get $6) ) - (block - (local.set $1 - (local.get $6) - ) - (local.set $0 - (local.get $10) - ) - (br $while-in20) + (local.set $0 + (local.get $10) ) + (br $while-in20) ) - (local.set $10 - (i32.add + ) + (local.set $10 + (i32.add + (local.get $1) + (i32.const 16) + ) + ) + (if + (local.tee $6 + (i32.load offset=16 (local.get $1) - (i32.const 16) ) ) - (if - (local.tee $6 - (i32.load offset=16 - (local.get $1) - ) + (block + (local.set $1 + (local.get $6) ) - (block - (local.set $1 - (local.get $6) - ) - (local.set $0 - (local.get $10) - ) - (br $while-in20) + (local.set $0 + (local.get $10) ) + (br $while-in20) ) ) - (if - (i32.lt_u + ) + (if + (i32.lt_u + (local.get $0) + (local.get $9) + ) + (call $_abort) + (block + (i32.store (local.get $0) - (local.get $8) + (i32.const 0) ) - (call $_abort) - (block - (i32.store - (local.get $0) - (i32.const 0) - ) - (local.set $11 - (local.get $1) - ) + (local.set $11 + (local.get $1) ) ) ) - (block - (if - (i32.lt_u - (local.tee $1 - (i32.load offset=8 - (local.get $4) - ) + ) + (block + (if + (i32.lt_u + (local.tee $1 + (i32.load offset=8 + (local.get $2) ) - (local.get $8) ) - (call $_abort) + (local.get $9) ) - (if - (i32.ne - (local.get $4) - (i32.load offset=12 - (local.get $1) - ) + (call $_abort) + ) + (if + (i32.ne + (local.get $2) + (i32.load offset=12 + (local.get $1) ) - (call $_abort) ) - (if - (i32.eq - (i32.load offset=8 - (local.get $0) - ) - (local.get $4) + (call $_abort) + ) + (if + (i32.eq + (i32.load offset=8 + (local.get $0) ) - (block - (i32.store offset=12 - (local.get $1) - (local.get $0) - ) - (i32.store offset=8 - (local.get $0) - (local.get $1) - ) - (local.set $11 - (local.get $0) - ) + (local.get $2) + ) + (block + (i32.store offset=12 + (local.get $1) + (local.get $0) + ) + (i32.store offset=8 + (local.get $0) + (local.get $1) + ) + (local.set $11 + (local.get $0) ) - (call $_abort) ) + (call $_abort) ) ) - (if - (local.get $12) - (block $do-once21 - (if - (i32.eq - (i32.load offset=480 - (local.tee $1 - (i32.shl - (local.tee $0 - (i32.load offset=28 - (local.get $4) - ) + ) + (if + (local.get $12) + (block $do-once21 + (if + (i32.eq + (i32.load offset=480 + (local.tee $1 + (i32.shl + (local.tee $0 + (i32.load offset=28 + (local.get $2) ) - (i32.const 2) ) + (i32.const 2) ) ) - (local.get $4) ) - (block - (i32.store offset=480 - (local.get $1) + (local.get $2) + ) + (block + (i32.store offset=480 + (local.get $1) + (local.get $11) + ) + (if + (i32.eqz (local.get $11) ) - (if - (i32.eqz - (local.get $11) - ) - (block - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $0) - ) - (i32.const -1) + (block + (i32.store + (i32.const 180) + (i32.and + (i32.load + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $0) ) + (i32.const -1) ) ) - (br $do-once21) ) + (br $do-once21) ) ) - (block - (if - (i32.lt_u - (local.get $12) - (i32.load - (i32.const 192) - ) + ) + (block + (if + (i32.lt_u + (local.get $12) + (i32.load + (i32.const 192) ) - (call $_abort) ) - (if - (i32.eq - (i32.load offset=16 - (local.get $12) - ) - (local.get $4) - ) - (i32.store offset=16 - (local.get $12) - (local.get $11) - ) - (i32.store offset=20 + (call $_abort) + ) + (if + (i32.eq + (i32.load offset=16 (local.get $12) - (local.get $11) ) + (local.get $2) ) - (br_if $do-once21 - (i32.eqz - (local.get $11) - ) + (i32.store offset=16 + (local.get $12) + (local.get $11) + ) + (i32.store offset=20 + (local.get $12) + (local.get $11) ) ) - ) - (if - (i32.lt_u - (local.get $11) - (local.tee $0 - (i32.load - (i32.const 192) - ) + (br_if $do-once21 + (i32.eqz + (local.get $11) ) ) - (call $_abort) ) - (i32.store offset=24 + ) + (if + (i32.lt_u (local.get $11) - (local.get $12) + (local.tee $0 + (i32.load + (i32.const 192) + ) + ) + ) + (call $_abort) + ) + (i32.store offset=24 + (local.get $11) + (local.get $12) + ) + (if + (local.tee $1 + (i32.load offset=16 + (local.get $2) + ) ) (if - (local.tee $1 - (i32.load offset=16 - (local.get $4) - ) + (i32.lt_u + (local.get $1) + (local.get $0) ) - (if - (i32.lt_u + (call $_abort) + (block + (i32.store offset=16 + (local.get $11) (local.get $1) - (local.get $0) ) - (call $_abort) - (block - (i32.store offset=16 - (local.get $11) - (local.get $1) - ) - (i32.store offset=24 - (local.get $1) - (local.get $11) - ) + (i32.store offset=24 + (local.get $1) + (local.get $11) ) ) ) + ) + (if + (local.tee $0 + (i32.load offset=20 + (local.get $2) + ) + ) (if - (local.tee $0 - (i32.load offset=20 - (local.get $4) + (i32.lt_u + (local.get $0) + (i32.load + (i32.const 192) ) ) - (if - (i32.lt_u + (call $_abort) + (block + (i32.store offset=20 + (local.get $11) (local.get $0) - (i32.load - (i32.const 192) - ) ) - (call $_abort) - (block - (i32.store offset=20 - (local.get $11) - (local.get $0) - ) - (i32.store offset=24 - (local.get $0) - (local.get $11) - ) + (i32.store offset=24 + (local.get $0) + (local.get $11) ) ) ) ) ) - (if - (i32.lt_u - (local.get $3) - (i32.const 16) - ) - (block - (i32.store offset=4 - (local.get $4) - (i32.or - (local.tee $0 - (i32.add - (local.get $2) - (local.get $3) - ) - ) - (i32.const 3) - ) - ) - (i32.store offset=4 + ) + (if + (i32.lt_u + (local.get $4) + (i32.const 16) + ) + (block + (i32.store offset=4 + (local.get $2) + (i32.or (local.tee $0 (i32.add - (local.get $0) + (local.get $3) (local.get $4) ) ) - (i32.or - (i32.load offset=4 - (local.get $0) - ) - (i32.const 1) - ) + (i32.const 3) ) ) - (block $do-once25 - (i32.store offset=4 - (local.get $4) - (i32.or + (i32.store offset=4 + (local.tee $0 + (i32.add + (local.get $0) (local.get $2) - (i32.const 3) ) ) - (i32.store offset=4 - (local.get $5) - (i32.or - (local.get $3) - (i32.const 1) + (i32.or + (i32.load offset=4 + (local.get $0) ) + (i32.const 1) ) - (i32.store - (i32.add - (local.get $3) - (local.get $5) - ) + ) + ) + (block $do-once25 + (i32.store offset=4 + (local.get $2) + (i32.or (local.get $3) + (i32.const 3) ) - (local.set $0 - (i32.shr_u - (local.get $3) - (i32.const 3) - ) + ) + (i32.store offset=4 + (local.get $5) + (i32.or + (local.get $4) + (i32.const 1) ) - (if - (i32.lt_u - (local.get $3) - (i32.const 256) - ) - (block - (local.set $3 - (i32.add + ) + (i32.store + (i32.add + (local.get $4) + (local.get $5) + ) + (local.get $4) + ) + (local.set $0 + (i32.shr_u + (local.get $4) + (i32.const 3) + ) + ) + (if + (i32.lt_u + (local.get $4) + (i32.const 256) + ) + (block + (local.set $4 + (i32.add + (local.tee $3 (i32.shl (local.get $0) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (if - (i32.and - (local.tee $1 - (i32.load - (i32.const 176) - ) + ) + (if + (i32.and + (local.tee $1 + (i32.load + (i32.const 176) ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $0) - ) + ) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $0) ) ) - (block - (local.set $1 - (i32.add - (local.get $3) - (i32.const 8) - ) + ) + (block + (local.set $1 + (i32.add + (local.get $4) + (i32.const 8) ) - (if - (i32.lt_u - (local.tee $0 - (i32.load offset=8 - (local.get $3) - ) - ) - (i32.load - (i32.const 192) + ) + (if + (i32.lt_u + (local.tee $0 + (i32.load offset=224 + (local.get $3) ) ) - (call $_abort) - (block - (local.set $13 - (local.get $1) - ) - (local.set $7 - (local.get $0) - ) + (i32.load + (i32.const 192) ) ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (local.get $0) + (call $_abort) + (block + (local.set $13 (local.get $1) ) - ) - (local.set $13 - (i32.add - (local.get $3) - (i32.const 8) + (local.set $7 + (local.get $0) ) ) - (local.set $7 - (local.get $3) - ) ) ) - (i32.store - (local.get $13) - (local.get $5) - ) - (i32.store offset=12 - (local.get $7) - (local.get $5) - ) - (i32.store offset=8 - (local.get $5) - (local.get $7) - ) - (i32.store offset=12 - (local.get $5) - (local.get $3) + (block + (i32.store + (i32.const 176) + (i32.or + (local.get $0) + (local.get $1) + ) + ) + (local.set $13 + (i32.add + (local.get $4) + (i32.const 8) + ) + ) + (local.set $7 + (local.get $4) + ) ) - (br $do-once25) ) + (i32.store + (local.get $13) + (local.get $5) + ) + (i32.store offset=12 + (local.get $7) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $7) + ) + (i32.store offset=12 + (local.get $5) + (local.get $4) + ) + (br $do-once25) ) - (local.set $2 - (i32.add - (local.tee $10 - (i32.shl - (local.tee $6 + ) + (local.set $3 + (i32.add + (local.tee $10 + (i32.shl + (local.tee $6 + (if (result i32) + (local.tee $0 + (i32.shr_u + (local.get $4) + (i32.const 8) + ) + ) (if (result i32) - (local.tee $0 - (i32.shr_u - (local.get $3) - (i32.const 8) - ) + (i32.gt_u + (local.get $4) + (i32.const 16777215) ) - (if (result i32) - (i32.gt_u - (local.get $3) - (i32.const 16777215) - ) - (i32.const 31) - (block (result i32) - (local.set $6 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.tee $1 - (i32.and - (i32.shr_u - (i32.add - (local.get $0) - (i32.const 1048320) - ) - (i32.const 16) + (i32.const 31) + (block (result i32) + (local.set $6 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.tee $1 + (i32.and + (i32.shr_u + (i32.add + (local.get $0) + (i32.const 1048320) ) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) ) - (i32.const 520192) ) - (i32.const 16) + (i32.const 520192) ) - (i32.const 4) + (i32.const 16) ) + (i32.const 4) ) - (local.set $2 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.get $6) - ) + ) + (local.set $3 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.get $6) ) - (i32.const 245760) ) - (i32.const 16) + (i32.const 245760) ) - (i32.const 2) + (i32.const 16) ) + (i32.const 2) ) - (i32.or - (i32.and - (i32.shr_u - (local.get $3) - (i32.add - (local.tee $0 - (i32.add - (i32.sub - (i32.const 14) + ) + (i32.or + (i32.and + (i32.shr_u + (local.get $4) + (i32.add + (local.tee $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or (i32.or - (i32.or - (local.get $1) - (local.get $6) - ) - (local.get $2) + (local.get $1) + (local.get $6) ) + (local.get $3) ) - (i32.shr_u - (i32.shl - (local.get $0) - (local.get $2) - ) - (i32.const 15) + ) + (i32.shr_u + (i32.shl + (local.get $0) + (local.get $3) ) + (i32.const 15) ) ) - (i32.const 7) ) + (i32.const 7) ) - (i32.const 1) - ) - (i32.shl - (local.get $0) - (i32.const 1) ) + (i32.const 1) + ) + (i32.shl + (local.get $0) + (i32.const 1) ) ) ) - (i32.const 0) ) + (i32.const 0) ) - (i32.const 2) ) + (i32.const 2) ) - (i32.const 480) - ) - ) - (i32.store offset=28 - (local.get $5) - (local.get $6) - ) - (i32.store offset=4 - (i32.add - (local.get $5) - (i32.const 16) ) - (i32.const 0) - ) - (i32.store offset=16 - (local.get $5) - (i32.const 0) + (i32.const 480) ) - (if - (i32.eqz - (i32.and - (local.tee $1 - (i32.load - (i32.const 180) - ) - ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $6) - ) + ) + (i32.store offset=28 + (local.get $5) + (local.get $6) + ) + (i32.store offset=20 + (local.get $5) + (i32.const 0) + ) + (i32.store offset=16 + (local.get $5) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (local.tee $1 + (i32.load + (i32.const 180) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (local.get $0) - (local.get $1) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $6) ) ) - (i32.store offset=480 - (local.get $10) - (local.get $5) - ) - (i32.store offset=24 - (local.get $5) - (local.get $2) - ) - (i32.store offset=12 - (local.get $5) - (local.get $5) - ) - (i32.store offset=8 - (local.get $5) - (local.get $5) - ) - (br $do-once25) ) ) - (local.set $6 - (i32.shl + (block + (i32.store + (i32.const 180) + (i32.or + (local.get $0) + (local.get $1) + ) + ) + (i32.store offset=480 + (local.get $10) + (local.get $5) + ) + (i32.store offset=24 + (local.get $5) (local.get $3) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $6) - (i32.const 1) - ) - ) - (i32.eq + ) + (i32.store offset=12 + (local.get $5) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $5) + ) + (br $do-once25) + ) + ) + (local.set $6 + (i32.shl + (local.get $4) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u (local.get $6) - (i32.const 31) + (i32.const 1) ) ) + (i32.eq + (local.get $6) + (i32.const 31) + ) ) ) - (local.set $0 - (i32.load offset=480 - (local.get $10) - ) + ) + (local.set $0 + (i32.load offset=480 + (local.get $10) ) - (block $__rjto$1 - (block $__rjti$1 - (loop $while-in28 - (br_if $__rjti$1 - (i32.eq - (i32.and - (i32.load offset=4 - (local.get $0) - ) - (i32.const -8) + ) + (block $__rjto$1 + (block $__rjti$1 + (loop $while-in28 + (br_if $__rjti$1 + (i32.eq + (i32.and + (i32.load offset=4 + (local.get $0) ) - (local.get $3) + (i32.const -8) ) + (local.get $4) ) - (local.set $2 - (i32.shl - (local.get $6) - (i32.const 1) - ) + ) + (local.set $3 + (i32.shl + (local.get $6) + (i32.const 1) ) - (if - (local.tee $1 - (i32.load - (local.tee $6 + ) + (if + (local.tee $1 + (i32.load + (local.tee $6 + (i32.add (i32.add - (i32.add - (local.get $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (local.get $6) - (i32.const 31) - ) - (i32.const 2) + (local.get $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (local.get $6) + (i32.const 31) ) + (i32.const 2) ) ) ) ) - (block - (local.set $6 - (local.get $2) - ) - (local.set $0 - (local.get $1) - ) - (br $while-in28) - ) - ) - ) - (if - (i32.lt_u - (local.get $6) - (i32.load - (i32.const 192) - ) ) - (call $_abort) (block - (i32.store - (local.get $6) - (local.get $5) - ) - (i32.store offset=24 - (local.get $5) - (local.get $0) - ) - (i32.store offset=12 - (local.get $5) - (local.get $5) + (local.set $6 + (local.get $3) ) - (i32.store offset=8 - (local.get $5) - (local.get $5) + (local.set $0 + (local.get $1) ) - (br $do-once25) + (br $while-in28) ) ) - (br $__rjto$1) ) (if - (i32.and - (i32.ge_u - (local.tee $3 - (i32.load offset=8 - (local.get $0) - ) - ) - (local.tee $1 - (i32.load - (i32.const 192) - ) - ) - ) - (i32.ge_u - (local.get $0) - (local.get $1) + (i32.lt_u + (local.get $6) + (i32.load + (i32.const 192) ) ) + (call $_abort) (block - (i32.store offset=12 - (local.get $3) + (i32.store + (local.get $6) (local.get $5) ) - (i32.store offset=8 + (i32.store offset=24 + (local.get $5) (local.get $0) + ) + (i32.store offset=12 + (local.get $5) (local.get $5) ) (i32.store offset=8 (local.get $5) - (local.get $3) - ) - (i32.store offset=12 (local.get $5) - (local.get $0) ) - (i32.store offset=24 - (local.get $5) - (i32.const 0) + (br $do-once25) + ) + ) + (br $__rjto$1) + ) + (if + (i32.and + (i32.ge_u + (local.tee $4 + (i32.load offset=8 + (local.get $0) + ) + ) + (local.tee $1 + (i32.load + (i32.const 192) + ) ) ) - (call $_abort) + (i32.ge_u + (local.get $0) + (local.get $1) + ) + ) + (block + (i32.store offset=12 + (local.get $4) + (local.get $5) + ) + (i32.store offset=8 + (local.get $0) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $4) + ) + (i32.store offset=12 + (local.get $5) + (local.get $0) + ) + (i32.store offset=24 + (local.get $5) + (i32.const 0) + ) ) + (call $_abort) ) ) ) - (return - (i32.add - (local.get $4) - (i32.const 8) - ) + ) + (return + (i32.add + (local.get $2) + (i32.const 8) ) ) - (local.get $2) ) - (local.get $2) + (local.get $3) ) + (local.get $3) ) - (local.get $2) ) + (local.get $3) ) ) ) ) - (if - (i32.ge_u - (local.tee $1 - (i32.load - (i32.const 184) - ) + ) + (if + (i32.ge_u + (local.tee $1 + (i32.load + (i32.const 184) ) - (local.get $0) ) - (block - (local.set $2 - (i32.load - (i32.const 196) + (local.get $0) + ) + (block + (local.set $3 + (i32.load + (i32.const 196) + ) + ) + (if + (i32.gt_u + (local.tee $4 + (i32.sub + (local.get $1) + (local.get $0) + ) ) + (i32.const 15) ) - (if - (i32.gt_u - (local.tee $3 - (i32.sub - (local.get $1) + (block + (i32.store + (i32.const 196) + (local.tee $1 + (i32.add (local.get $0) + (local.get $3) ) ) - (i32.const 15) ) - (block - (i32.store - (i32.const 196) - (local.tee $1 - (i32.add - (local.get $0) - (local.get $2) - ) - ) + (i32.store + (i32.const 184) + (local.get $4) + ) + (i32.store offset=4 + (local.get $1) + (i32.or + (local.get $4) + (i32.const 1) ) - (i32.store - (i32.const 184) - (local.get $3) + ) + (i32.store + (i32.add + (local.get $1) + (local.get $4) ) - (i32.store offset=4 + (local.get $4) + ) + (i32.store offset=4 + (local.get $3) + (i32.or + (local.get $0) + (i32.const 3) + ) + ) + ) + (block + (i32.store + (i32.const 184) + (i32.const 0) + ) + (i32.store + (i32.const 196) + (i32.const 0) + ) + (i32.store offset=4 + (local.get $3) + (i32.or (local.get $1) - (i32.or - (local.get $3) - (i32.const 1) - ) + (i32.const 3) ) - (i32.store + ) + (i32.store offset=4 + (local.tee $0 (i32.add (local.get $1) (local.get $3) ) - (local.get $3) ) - (i32.store offset=4 - (local.get $2) - (i32.or + (i32.or + (i32.load offset=4 (local.get $0) - (i32.const 3) - ) - ) - ) - (block - (i32.store - (i32.const 184) - (i32.const 0) - ) - (i32.store - (i32.const 196) - (i32.const 0) - ) - (i32.store offset=4 - (local.get $2) - (i32.or - (local.get $1) - (i32.const 3) - ) - ) - (i32.store offset=4 - (local.tee $0 - (i32.add - (local.get $1) - (local.get $2) - ) - ) - (i32.or - (i32.load offset=4 - (local.get $0) - ) - (i32.const 1) ) + (i32.const 1) ) ) ) - (br $folding-inner1) + ) + (return + (i32.add + (local.get $3) + (i32.const 8) + ) ) ) - (block $folding-inner0 - (br_if $folding-inner0 - (i32.gt_u - (local.tee $1 - (i32.load - (i32.const 188) - ) + ) + (block $folding-inner0 + (br_if $folding-inner0 + (i32.gt_u + (local.tee $1 + (i32.load + (i32.const 188) ) - (local.get $0) + ) + (local.get $0) + ) + ) + (if + (i32.eqz + (i32.load + (i32.const 648) ) ) (if - (i32.eqz - (i32.load - (i32.const 648) + (i32.and + (local.tee $1 + (call $_sysconf + (i32.const 30) + ) + ) + (i32.add + (local.get $1) + (i32.const -1) ) ) - (if - (i32.and - (local.tee $1 - (call $_sysconf - (i32.const 30) - ) - ) - (i32.add - (local.get $1) - (i32.const -1) - ) + (call $_abort) + (block + (i32.store + (i32.const 656) + (local.get $1) ) - (call $_abort) - (block - (i32.store - (i32.const 656) - (local.get $1) - ) - (i32.store - (i32.const 652) - (local.get $1) - ) - (i32.store - (i32.const 660) - (i32.const -1) - ) - (i32.store - (i32.const 664) - (i32.const -1) - ) - (i32.store - (i32.const 668) - (i32.const 0) - ) - (i32.store - (i32.const 620) - (i32.const 0) - ) - (i32.store - (i32.const 648) - (i32.xor - (i32.and - (call $_time - (i32.const 0) - ) - (i32.const -16) + (i32.store + (i32.const 652) + (local.get $1) + ) + (i32.store + (i32.const 660) + (i32.const -1) + ) + (i32.store + (i32.const 664) + (i32.const -1) + ) + (i32.store + (i32.const 668) + (i32.const 0) + ) + (i32.store + (i32.const 620) + (i32.const 0) + ) + (i32.store + (i32.const 648) + (i32.xor + (i32.and + (call $_time + (i32.const 0) ) - (i32.const 1431655768) + (i32.const -16) ) + (i32.const 1431655768) ) ) ) ) - (if - (i32.le_u - (local.tee $7 - (i32.and - (local.tee $5 - (i32.add - (local.tee $1 - (i32.load - (i32.const 656) - ) + ) + (if + (i32.le_u + (local.tee $7 + (i32.and + (local.tee $5 + (i32.add + (local.tee $1 + (i32.load + (i32.const 656) ) - (local.tee $9 - (i32.add - (local.get $0) - (i32.const 47) - ) + ) + (local.tee $8 + (i32.add + (local.get $0) + (i32.const 47) ) ) ) - (local.tee $12 - (i32.sub - (i32.const 0) - (local.get $1) - ) + ) + (local.tee $12 + (i32.sub + (i32.const 0) + (local.get $1) ) ) ) - (local.get $0) ) - (return - (i32.const 0) + (local.get $0) + ) + (return + (i32.const 0) + ) + ) + (if + (local.tee $3 + (i32.load + (i32.const 616) ) ) (if - (local.tee $2 - (i32.load - (i32.const 616) - ) - ) - (if - (i32.or - (i32.le_u - (local.tee $1 - (i32.add - (local.tee $3 - (i32.load - (i32.const 608) - ) + (i32.or + (i32.le_u + (local.tee $1 + (i32.add + (local.tee $4 + (i32.load + (i32.const 608) ) - (local.get $7) ) + (local.get $7) ) - (local.get $3) - ) - (i32.gt_u - (local.get $1) - (local.get $2) ) + (local.get $4) ) - (return - (i32.const 0) + (i32.gt_u + (local.get $1) + (local.get $3) ) ) - ) - (local.set $11 - (i32.add - (local.get $0) - (i32.const 48) + (return + (i32.const 0) ) ) - (block $__rjto$13 - (block $__rjti$13 - (if - (i32.eqz - (i32.and - (i32.load - (i32.const 620) - ) - (i32.const 4) + ) + (local.set $11 + (i32.add + (local.get $0) + (i32.const 48) + ) + ) + (block $__rjto$13 + (block $__rjti$13 + (if + (i32.eqz + (i32.and + (i32.load + (i32.const 620) ) + (i32.const 4) ) - (block - (block $label$break$L279 - (block $__rjti$5 - (block $__rjti$4 - (br_if $__rjti$4 - (i32.eqz - (local.tee $4 - (i32.load - (i32.const 200) - ) + ) + (block + (block $label$break$L279 + (block $__rjti$5 + (block $__rjti$4 + (br_if $__rjti$4 + (i32.eqz + (local.tee $2 + (i32.load + (i32.const 200) ) ) ) - (local.set $1 - (i32.const 624) - ) - (loop $while-in34 - (block $while-out33 - (if - (i32.le_u - (local.tee $3 - (i32.load - (local.get $1) - ) + ) + (local.set $1 + (i32.const 624) + ) + (loop $while-in34 + (block $while-out33 + (if + (i32.le_u + (local.tee $4 + (i32.load + (local.get $1) ) - (local.get $4) ) - (block - (local.set $2 - (i32.add - (local.get $1) - (i32.const 4) - ) + (local.get $2) + ) + (block + (local.set $3 + (i32.add + (local.get $1) + (i32.const 4) ) - (if - (i32.gt_u - (i32.add - (local.get $3) - (i32.load offset=4 - (local.get $1) - ) - ) + ) + (if + (i32.gt_u + (i32.add (local.get $4) - ) - (block - (local.set $4 + (i32.load offset=4 (local.get $1) ) - (br $while-out33) ) + (local.get $2) + ) + (block + (local.set $2 + (local.get $1) + ) + (br $while-out33) ) ) ) - (br_if $while-in34 - (local.tee $1 - (i32.load offset=8 - (local.get $1) - ) + ) + (br_if $while-in34 + (local.tee $1 + (i32.load offset=8 + (local.get $1) ) ) - (br $__rjti$4) ) + (br $__rjti$4) ) - (if - (i32.lt_u - (local.tee $3 - (i32.and - (i32.sub - (local.get $5) - (i32.load - (i32.const 188) - ) + ) + (if + (i32.lt_u + (local.tee $4 + (i32.and + (i32.sub + (local.get $5) + (i32.load + (i32.const 188) ) - (local.get $12) ) + (local.get $12) ) - (i32.const 2147483647) ) - (block - (local.set $1 - (call $_sbrk - (local.get $3) - ) + (i32.const 2147483647) + ) + (block + (local.set $1 + (call $_sbrk + (local.get $4) ) - (if - (i32.eq - (i32.add - (i32.load - (local.get $4) - ) - (i32.load - (local.get $2) - ) + ) + (if + (i32.eq + (i32.add + (i32.load + (local.get $2) ) - (local.get $1) - ) - (br_if $__rjti$13 - (i32.ne - (local.get $1) - (i32.const -1) + (i32.load + (local.get $3) ) ) - (block - (local.set $2 - (local.get $1) - ) - (br $__rjti$5) + (local.get $1) + ) + (br_if $__rjti$13 + (i32.ne + (local.get $1) + (i32.const -1) ) ) + (block + (local.set $3 + (local.get $1) + ) + (br $__rjti$5) + ) ) ) - (br $label$break$L279) ) - (if - (i32.ne - (local.tee $1 - (call $_sbrk - (i32.const 0) - ) + (br $label$break$L279) + ) + (if + (i32.ne + (local.tee $1 + (call $_sbrk + (i32.const 0) ) - (i32.const -1) ) - (block - (local.set $3 - (if (result i32) - (i32.and - (local.tee $3 - (local.get $1) - ) - (local.tee $2 - (i32.add - (local.tee $4 - (i32.load - (i32.const 652) - ) + (i32.const -1) + ) + (block + (local.set $4 + (if (result i32) + (i32.and + (local.tee $4 + (local.get $1) + ) + (local.tee $3 + (i32.add + (local.tee $2 + (i32.load + (i32.const 652) ) - (i32.const -1) ) + (i32.const -1) ) ) - (i32.add - (i32.sub - (local.get $7) + ) + (i32.add + (i32.sub + (local.get $7) + (local.get $4) + ) + (i32.and + (i32.add (local.get $3) + (local.get $4) ) - (i32.and - (i32.add - (local.get $2) - (local.get $3) - ) - (i32.sub - (i32.const 0) - (local.get $4) - ) + (i32.sub + (i32.const 0) + (local.get $2) ) ) - (local.get $7) ) + (local.get $7) ) - (local.set $12 - (i32.add - (local.tee $4 - (i32.load - (i32.const 608) - ) + ) + (local.set $12 + (i32.add + (local.tee $2 + (i32.load + (i32.const 608) ) - (local.get $3) ) + (local.get $4) ) - (if - (i32.and - (i32.lt_u - (local.get $3) - (i32.const 2147483647) - ) - (i32.gt_u - (local.get $3) - (local.get $0) - ) + ) + (if + (i32.and + (i32.lt_u + (local.get $4) + (i32.const 2147483647) ) - (block - (if - (local.tee $2 - (i32.load - (i32.const 616) - ) + (i32.gt_u + (local.get $4) + (local.get $0) + ) + ) + (block + (if + (local.tee $3 + (i32.load + (i32.const 616) ) - (br_if $label$break$L279 - (i32.or - (i32.le_u - (local.get $12) - (local.get $4) - ) - (i32.gt_u - (local.get $12) - (local.get $2) - ) + ) + (br_if $label$break$L279 + (i32.or + (i32.le_u + (local.get $12) + (local.get $2) + ) + (i32.gt_u + (local.get $12) + (local.get $3) ) ) ) - (br_if $__rjti$13 - (i32.eq - (local.get $1) - (local.tee $2 - (call $_sbrk - (local.get $3) - ) + ) + (br_if $__rjti$13 + (i32.eq + (local.get $1) + (local.tee $3 + (call $_sbrk + (local.get $4) ) ) ) - (br $__rjti$5) ) + (br $__rjti$5) ) ) ) - (br $label$break$L279) - ) - (local.set $1 - (local.get $3) ) - (local.set $4 - (i32.sub - (i32.const 0) - (local.get $1) - ) + (br $label$break$L279) + ) + (local.set $1 + (local.get $4) + ) + (local.set $2 + (i32.sub + (i32.const 0) + (local.get $1) ) - (local.set $3 - (if (result i32) + ) + (local.set $4 + (if (result i32) + (i32.and (i32.and - (i32.and - (i32.ne - (local.get $2) - (i32.const -1) - ) - (i32.lt_u - (local.get $1) - (i32.const 2147483647) - ) + (i32.ne + (local.get $3) + (i32.const -1) ) - (i32.gt_u - (local.get $11) + (i32.lt_u (local.get $1) + (i32.const 2147483647) ) ) - (if (result i32) - (i32.lt_u - (local.tee $3 - (i32.and - (i32.add - (local.tee $3 - (i32.load - (i32.const 656) - ) - ) - (i32.sub - (local.get $9) - (local.get $1) + (i32.gt_u + (local.get $11) + (local.get $1) + ) + ) + (if (result i32) + (i32.lt_u + (local.tee $4 + (i32.and + (i32.add + (local.tee $4 + (i32.load + (i32.const 656) ) ) (i32.sub - (i32.const 0) - (local.get $3) + (local.get $8) + (local.get $1) ) ) + (i32.sub + (i32.const 0) + (local.get $4) + ) ) - (i32.const 2147483647) ) - (if (result i32) - (i32.eq - (call $_sbrk - (local.get $3) - ) - (i32.const -1) + (i32.const 2147483647) + ) + (if (result i32) + (i32.eq + (call $_sbrk + (local.get $4) ) - (block - (drop - (call $_sbrk - (local.get $4) - ) + (i32.const -1) + ) + (block + (drop + (call $_sbrk + (local.get $2) ) - (br $label$break$L279) - ) - (i32.add - (local.get $1) - (local.get $3) ) + (br $label$break$L279) + ) + (i32.add + (local.get $1) + (local.get $4) ) - (local.get $1) ) (local.get $1) ) + (local.get $1) ) - (if - (i32.ne - (local.get $2) - (i32.const -1) - ) - (block - (local.set $1 - (local.get $2) - ) - (br $__rjti$13) + ) + (if + (i32.ne + (local.get $3) + (i32.const -1) + ) + (block + (local.set $1 + (local.get $3) ) + (br $__rjti$13) ) ) - (i32.store - (i32.const 620) - (i32.or - (i32.load - (i32.const 620) - ) - (i32.const 4) + ) + (i32.store + (i32.const 620) + (i32.or + (i32.load + (i32.const 620) ) + (i32.const 4) ) ) ) + ) + (if + (i32.lt_u + (local.get $7) + (i32.const 2147483647) + ) (if - (i32.lt_u - (local.get $7) - (i32.const 2147483647) - ) - (if - (i32.and - (i32.lt_u - (local.tee $1 - (call $_sbrk - (local.get $7) - ) - ) - (local.tee $3 - (call $_sbrk - (i32.const 0) - ) + (i32.and + (i32.lt_u + (local.tee $1 + (call $_sbrk + (local.get $7) ) ) - (i32.and - (i32.ne - (local.get $1) - (i32.const -1) - ) - (i32.ne - (local.get $3) - (i32.const -1) + (local.tee $4 + (call $_sbrk + (i32.const 0) ) ) ) - (br_if $__rjti$13 - (i32.gt_u - (local.tee $3 - (i32.sub - (local.get $3) - (local.get $1) - ) - ) - (i32.add - (local.get $0) - (i32.const 40) - ) + (i32.and + (i32.ne + (local.get $1) + (i32.const -1) + ) + (i32.ne + (local.get $4) + (i32.const -1) ) ) ) - ) - (br $__rjto$13) - ) - (i32.store - (i32.const 608) - (local.tee $2 - (i32.add - (i32.load - (i32.const 608) + (br_if $__rjti$13 + (i32.gt_u + (local.tee $4 + (i32.sub + (local.get $4) + (local.get $1) + ) + ) + (i32.add + (local.get $0) + (i32.const 40) + ) ) - (local.get $3) ) ) ) - (if - (i32.gt_u - (local.get $2) + (br $__rjto$13) + ) + (i32.store + (i32.const 608) + (local.tee $3 + (i32.add (i32.load - (i32.const 612) + (i32.const 608) ) + (local.get $4) ) - (i32.store + ) + ) + (if + (i32.gt_u + (local.get $3) + (i32.load (i32.const 612) - (local.get $2) ) ) - (if - (local.tee $5 - (i32.load - (i32.const 200) - ) + (i32.store + (i32.const 612) + (local.get $3) + ) + ) + (if + (local.tee $5 + (i32.load + (i32.const 200) ) - (block $do-once40 - (local.set $2 - (i32.const 624) - ) - (block $__rjto$10 - (block $__rjti$10 - (loop $while-in45 - (local.set $4 - (i32.add - (local.get $2) - (i32.const 4) - ) + ) + (block $do-once40 + (local.set $3 + (i32.const 624) + ) + (block $__rjto$10 + (block $__rjti$10 + (loop $while-in45 + (local.set $2 + (i32.add + (local.get $3) + (i32.const 4) ) - (br_if $__rjti$10 - (i32.eq - (i32.add - (local.tee $11 - (i32.load - (local.get $2) - ) + ) + (br_if $__rjti$10 + (i32.eq + (i32.add + (local.tee $11 + (i32.load + (local.get $3) ) - (local.tee $7 - (i32.load offset=4 - (local.get $2) - ) + ) + (local.tee $7 + (i32.load offset=4 + (local.get $3) ) ) - (local.get $1) ) + (local.get $1) ) - (br_if $while-in45 - (local.tee $2 - (i32.load offset=8 - (local.get $2) - ) + ) + (br_if $while-in45 + (local.tee $3 + (i32.load offset=8 + (local.get $3) ) ) ) - (br $__rjto$10) ) - (if - (i32.eqz - (i32.and - (i32.load offset=12 - (local.get $2) - ) - (i32.const 8) + (br $__rjto$10) + ) + (if + (i32.eqz + (i32.and + (i32.load offset=12 + (local.get $3) ) + (i32.const 8) ) - (if - (i32.and - (i32.lt_u - (local.get $5) - (local.get $1) - ) - (i32.ge_u - (local.get $5) - (local.get $11) - ) + ) + (if + (i32.and + (i32.lt_u + (local.get $5) + (local.get $1) ) - (block - (i32.store + (i32.ge_u + (local.get $5) + (local.get $11) + ) + ) + (block + (i32.store + (local.get $2) + (i32.add (local.get $4) - (i32.add - (local.get $3) - (local.get $7) - ) + (local.get $7) ) - (local.set $2 - (i32.add - (local.get $5) - (local.tee $1 - (select - (i32.and - (i32.sub - (i32.const 0) - (local.tee $1 - (i32.add - (local.get $5) - (i32.const 8) - ) + ) + (local.set $3 + (i32.add + (local.get $5) + (local.tee $1 + (select + (i32.and + (i32.sub + (i32.const 0) + (local.tee $1 + (i32.add + (local.get $5) + (i32.const 8) ) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $1) - (i32.const 7) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (local.get $1) + (i32.const 7) ) ) ) ) - (local.set $1 - (i32.add - (i32.load - (i32.const 188) - ) - (i32.sub - (local.get $3) - (local.get $1) - ) + ) + (local.set $1 + (i32.add + (i32.load + (i32.const 188) ) - ) - (i32.store - (i32.const 200) - (local.get $2) - ) - (i32.store - (i32.const 188) - (local.get $1) - ) - (i32.store offset=4 - (local.get $2) - (i32.or + (i32.sub + (local.get $4) (local.get $1) - (i32.const 1) ) ) - (i32.store offset=4 - (i32.add - (local.get $1) - (local.get $2) - ) - (i32.const 40) + ) + (i32.store + (i32.const 200) + (local.get $3) + ) + (i32.store + (i32.const 188) + (local.get $1) + ) + (i32.store offset=4 + (local.get $3) + (i32.or + (local.get $1) + (i32.const 1) ) - (i32.store - (i32.const 204) - (i32.load - (i32.const 664) - ) + ) + (i32.store offset=4 + (i32.add + (local.get $1) + (local.get $3) ) - (br $do-once40) + (i32.const 40) ) - ) - ) - ) - (if - (i32.lt_u - (local.get $1) - (local.tee $4 - (i32.load - (i32.const 192) + (i32.store + (i32.const 204) + (i32.load + (i32.const 664) + ) ) + (br $do-once40) ) ) - (block - (i32.store + ) + ) + (if + (i32.lt_u + (local.get $1) + (local.tee $2 + (i32.load (i32.const 192) - (local.get $1) - ) - (local.set $4 - (local.get $1) ) ) ) - (local.set $11 - (i32.add + (block + (i32.store + (i32.const 192) + (local.get $1) + ) + (local.set $2 (local.get $1) - (local.get $3) ) ) - (local.set $2 - (i32.const 624) + ) + (local.set $11 + (i32.add + (local.get $1) + (local.get $4) ) - (local.set $4 - (block $__rjto$11 (result i32) - (block $__rjti$11 - (br $__rjto$11 - (loop $while-in47 (result i32) - (if - (i32.eq - (i32.load - (local.get $2) - ) - (local.get $11) + ) + (local.set $3 + (i32.const 624) + ) + (local.set $2 + (block $__rjto$11 (result i32) + (block $__rjti$11 + (br $__rjto$11 + (loop $while-in47 (result i32) + (if + (i32.eq + (i32.load + (local.get $3) ) - (block - (local.set $7 - (local.get $2) - ) - (br $__rjti$11) + (local.get $11) + ) + (block + (local.set $7 + (local.get $3) ) + (br $__rjti$11) ) - (br_if $while-in47 - (local.tee $2 - (i32.load offset=8 - (local.get $2) - ) + ) + (br_if $while-in47 + (local.tee $3 + (i32.load offset=8 + (local.get $3) ) ) - (i32.const 624) ) + (i32.const 624) ) ) - (if (result i32) - (i32.and - (i32.load offset=12 - (local.get $2) - ) - (i32.const 8) + ) + (if (result i32) + (i32.and + (i32.load offset=12 + (local.get $3) ) - (i32.const 624) - (block - (i32.store - (local.get $7) - (local.get $1) + (i32.const 8) + ) + (i32.const 624) + (block + (i32.store + (local.get $7) + (local.get $1) + ) + (i32.store offset=4 + (local.get $3) + (i32.add + (i32.load offset=4 + (local.get $3) + ) + (local.get $4) ) - (i32.store offset=4 - (local.get $2) - (i32.add - (i32.load offset=4 - (local.get $2) + ) + (local.set $8 + (i32.add + (local.tee $12 + (i32.add + (select + (i32.and + (i32.sub + (i32.const 0) + (local.tee $4 + (i32.add + (local.get $1) + (i32.const 8) + ) + ) + ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (local.get $4) + (i32.const 7) + ) + ) + (local.get $1) ) - (local.get $3) ) + (local.get $0) ) - (local.set $9 - (i32.add - (local.tee $12 + ) + (local.set $6 + (i32.sub + (i32.sub + (local.tee $7 (i32.add + (local.get $11) (select (i32.and (i32.sub (i32.const 0) - (local.tee $3 + (local.tee $1 (i32.add - (local.get $1) + (local.get $11) (i32.const 8) ) ) @@ -10875,1910 +10923,1876 @@ ) (i32.const 0) (i32.and - (local.get $3) + (local.get $1) (i32.const 7) ) ) - (local.get $1) ) ) - (local.get $0) + (local.get $12) ) + (local.get $0) ) - (local.set $6 - (i32.sub - (i32.sub - (local.tee $7 - (i32.add - (local.get $11) - (select - (i32.and - (i32.sub - (i32.const 0) - (local.tee $1 - (i32.add - (local.get $11) - (i32.const 8) - ) - ) - ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $1) - (i32.const 7) - ) - ) + ) + (i32.store offset=4 + (local.get $12) + (i32.or + (local.get $0) + (i32.const 3) + ) + ) + (if + (i32.eq + (local.get $5) + (local.get $7) + ) + (block + (i32.store + (i32.const 188) + (local.tee $0 + (i32.add + (i32.load + (i32.const 188) ) + (local.get $6) ) - (local.get $12) ) - (local.get $0) ) - ) - (i32.store offset=4 - (local.get $12) - (i32.or - (local.get $0) - (i32.const 3) + (i32.store + (i32.const 200) + (local.get $8) ) - ) - (if - (i32.eq - (local.get $5) - (local.get $7) + (i32.store offset=4 + (local.get $8) + (i32.or + (local.get $0) + (i32.const 1) + ) ) - (block - (i32.store - (i32.const 188) - (local.tee $0 - (i32.add - (i32.load - (i32.const 188) + ) + (block $do-once48 + (if + (i32.eq + (i32.load + (i32.const 196) + ) + (local.get $7) + ) + (block + (i32.store + (i32.const 184) + (local.tee $0 + (i32.add + (i32.load + (i32.const 184) + ) + (local.get $6) ) - (local.get $6) ) ) - ) - (i32.store - (i32.const 200) - (local.get $9) - ) - (i32.store offset=4 - (local.get $9) - (i32.or + (i32.store + (i32.const 196) + (local.get $8) + ) + (i32.store offset=4 + (local.get $8) + (i32.or + (local.get $0) + (i32.const 1) + ) + ) + (i32.store + (i32.add + (local.get $0) + (local.get $8) + ) (local.get $0) - (i32.const 1) ) + (br $do-once48) ) ) - (block $do-once48 - (if - (i32.eq - (i32.load - (i32.const 196) - ) - (local.get $7) - ) - (block - (i32.store - (i32.const 184) - (local.tee $0 - (i32.add - (i32.load - (i32.const 184) + (i32.store offset=4 + (local.tee $0 + (if (result i32) + (i32.eq + (i32.and + (local.tee $0 + (i32.load offset=4 + (local.get $7) ) - (local.get $6) ) + (i32.const 3) ) + (i32.const 1) ) - (i32.store - (i32.const 196) - (local.get $9) - ) - (i32.store offset=4 - (local.get $9) - (i32.or - (local.get $0) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (local.get $0) - (local.get $9) - ) - (local.get $0) - ) - (br $do-once48) - ) - ) - (i32.store offset=4 - (local.tee $0 - (if (result i32) - (i32.eq + (block (result i32) + (local.set $11 (i32.and - (local.tee $0 - (i32.load offset=4 - (local.get $7) - ) - ) - (i32.const 3) + (local.get $0) + (i32.const -8) ) - (i32.const 1) ) - (block (result i32) - (local.set $11 - (i32.and - (local.get $0) - (i32.const -8) - ) + (local.set $1 + (i32.shr_u + (local.get $0) + (i32.const 3) ) - (local.set $1 - (i32.shr_u + ) + (block $label$break$L331 + (if + (i32.lt_u (local.get $0) - (i32.const 3) + (i32.const 256) ) - ) - (block $label$break$L331 - (if - (i32.lt_u - (local.get $0) - (i32.const 256) + (block + (local.set $3 + (i32.load offset=12 + (local.get $7) + ) ) - (block - (local.set $2 - (i32.load offset=12 - (local.get $7) + (if + (i32.ne + (local.tee $4 + (i32.load offset=8 + (local.get $7) + ) ) - ) - (if - (i32.ne - (local.tee $3 - (i32.load offset=8 - (local.get $7) + (local.tee $0 + (i32.add + (i32.shl + (local.get $1) + (i32.const 3) ) + (i32.const 216) ) - (local.tee $0 - (i32.add - (i32.shl - (local.get $1) - (i32.const 3) - ) - (i32.const 216) - ) + ) + ) + (block $do-once51 + (if + (i32.lt_u + (local.get $4) + (local.get $2) ) + (call $_abort) ) - (block $do-once51 - (if - (i32.lt_u - (local.get $3) + (br_if $do-once51 + (i32.eq + (i32.load offset=12 (local.get $4) ) - (call $_abort) + (local.get $7) ) - (br_if $do-once51 - (i32.eq - (i32.load offset=12 - (local.get $3) + ) + (call $_abort) + ) + ) + (if + (i32.eq + (local.get $3) + (local.get $4) + ) + (block + (i32.store + (i32.const 176) + (i32.and + (i32.load + (i32.const 176) + ) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $1) ) - (local.get $7) + (i32.const -1) ) ) - (call $_abort) ) + (br $label$break$L331) ) - (if - (i32.eq - (local.get $2) + ) + (if + (i32.eq + (local.get $0) + (local.get $3) + ) + (local.set $15 + (i32.add (local.get $3) - ) - (block - (i32.store - (i32.const 176) - (i32.and - (i32.load - (i32.const 176) - ) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $1) - ) - (i32.const -1) - ) - ) - ) - (br $label$break$L331) + (i32.const 8) ) ) - (if - (i32.eq - (local.get $0) - (local.get $2) + (block $do-once53 + (if + (i32.lt_u + (local.get $3) + (local.get $2) + ) + (call $_abort) ) - (local.set $15 + (local.set $0 (i32.add - (local.get $2) + (local.get $3) (i32.const 8) ) ) - (block $do-once53 - (if - (i32.lt_u - (local.get $2) - (local.get $4) - ) - (call $_abort) - ) - (local.set $0 - (i32.add - (local.get $2) - (i32.const 8) + (if + (i32.eq + (i32.load offset=8 + (local.get $3) ) + (local.get $7) ) - (if - (i32.eq - (i32.load offset=8 - (local.get $2) - ) - (local.get $7) - ) - (block - (local.set $15 - (local.get $0) - ) - (br $do-once53) + (block + (local.set $15 + (local.get $0) ) + (br $do-once53) ) - (call $_abort) ) + (call $_abort) ) - (i32.store offset=12 - (local.get $3) - (local.get $2) - ) - (i32.store - (local.get $15) - (local.get $3) + ) + (i32.store offset=12 + (local.get $4) + (local.get $3) + ) + (i32.store + (local.get $15) + (local.get $4) + ) + ) + (block + (local.set $5 + (i32.load offset=24 + (local.get $7) ) ) - (block - (local.set $5 - (i32.load offset=24 - (local.get $7) + (if + (i32.eq + (local.tee $0 + (i32.load offset=12 + (local.get $7) + ) ) + (local.get $7) ) - (if - (i32.eq - (local.tee $0 - (i32.load offset=12 - (local.get $7) + (block $do-once55 + (local.set $0 + (i32.add + (local.tee $4 + (i32.add + (local.get $7) + (i32.const 16) + ) ) + (i32.const 4) ) - (local.get $7) ) - (block $do-once55 - (local.set $0 - (i32.add - (local.tee $3 - (i32.add - (local.get $7) - (i32.const 16) - ) + (if + (i32.eqz + (local.tee $1 + (i32.load offset=20 + (local.get $7) ) - (i32.const 4) ) ) - (if - (i32.eqz - (local.tee $1 - (i32.load offset=4 - (local.get $3) - ) - ) - ) - (block - (br_if $do-once55 - (i32.eqz - (local.tee $1 - (i32.load offset=16 - (local.get $7) - ) + (block + (br_if $do-once55 + (i32.eqz + (local.tee $1 + (i32.load offset=16 + (local.get $7) ) ) ) - (local.set $0 - (local.get $3) - ) - ) - ) - (loop $while-in58 - (local.set $2 - (i32.add - (local.get $1) - (i32.const 20) - ) - ) - (if - (local.tee $3 - (i32.load offset=20 - (local.get $1) - ) - ) - (block - (local.set $1 - (local.get $3) - ) - (local.set $0 - (local.get $2) - ) - (br $while-in58) - ) ) - (local.set $2 - (i32.add - (local.get $1) - (i32.const 16) - ) + (local.set $0 + (local.get $4) ) - (if - (local.tee $3 - (i32.load offset=16 - (local.get $1) - ) - ) - (block - (local.set $1 - (local.get $3) - ) - (local.set $0 - (local.get $2) - ) - (br $while-in58) - ) + ) + ) + (loop $while-in58 + (local.set $3 + (i32.add + (local.get $1) + (i32.const 20) ) ) (if - (i32.lt_u - (local.get $0) - (local.get $4) + (local.tee $4 + (i32.load offset=20 + (local.get $1) + ) ) - (call $_abort) (block - (i32.store - (local.get $0) - (i32.const 0) + (local.set $1 + (local.get $4) ) - (local.set $8 - (local.get $1) + (local.set $0 + (local.get $3) ) + (br $while-in58) ) ) - ) - (block - (if - (i32.lt_u - (local.tee $1 - (i32.load offset=8 - (local.get $7) - ) - ) - (local.get $4) + (local.set $3 + (i32.add + (local.get $1) + (i32.const 16) ) - (call $_abort) ) (if - (i32.ne - (local.get $7) - (i32.load offset=12 + (local.tee $4 + (i32.load offset=16 (local.get $1) ) ) - (call $_abort) - ) - (if - (i32.eq - (i32.load offset=8 - (local.get $0) - ) - (local.get $7) - ) (block - (i32.store offset=12 - (local.get $1) - (local.get $0) - ) - (i32.store offset=8 - (local.get $0) - (local.get $1) + (local.set $1 + (local.get $4) ) - (local.set $8 - (local.get $0) + (local.set $0 + (local.get $3) ) + (br $while-in58) ) - (call $_abort) ) ) - ) - (br_if $label$break$L331 - (i32.eqz - (local.get $5) + (if + (i32.lt_u + (local.get $0) + (local.get $2) + ) + (call $_abort) + (block + (i32.store + (local.get $0) + (i32.const 0) + ) + (local.set $9 + (local.get $1) + ) + ) ) ) - (if - (i32.eq - (i32.load offset=480 + (block + (if + (i32.lt_u (local.tee $1 - (i32.shl - (local.tee $0 - (i32.load offset=28 - (local.get $7) - ) - ) - (i32.const 2) + (i32.load offset=8 + (local.get $7) ) ) + (local.get $2) ) - (local.get $7) + (call $_abort) ) - (block $do-once59 - (i32.store offset=480 - (local.get $1) - (local.get $8) - ) - (br_if $do-once59 - (local.get $8) - ) - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $0) - ) - (i32.const -1) - ) + (if + (i32.ne + (local.get $7) + (i32.load offset=12 + (local.get $1) ) ) - (br $label$break$L331) + (call $_abort) ) - (block - (if - (i32.lt_u - (local.get $5) - (i32.load - (i32.const 192) - ) + (if + (i32.eq + (i32.load offset=8 + (local.get $0) ) - (call $_abort) + (local.get $7) ) - (if - (i32.eq - (i32.load offset=16 - (local.get $5) - ) - (local.get $7) + (block + (i32.store offset=12 + (local.get $1) + (local.get $0) ) - (i32.store offset=16 - (local.get $5) - (local.get $8) + (i32.store offset=8 + (local.get $0) + (local.get $1) ) - (i32.store offset=20 - (local.get $5) - (local.get $8) + (local.set $9 + (local.get $0) ) ) - (br_if $label$break$L331 - (i32.eqz - (local.get $8) + (call $_abort) + ) + ) + ) + (br_if $label$break$L331 + (i32.eqz + (local.get $5) + ) + ) + (if + (i32.eq + (i32.load offset=480 + (local.tee $1 + (i32.shl + (local.tee $0 + (i32.load offset=28 + (local.get $7) + ) + ) + (i32.const 2) ) ) ) + (local.get $7) ) - (if - (i32.lt_u - (local.get $8) - (local.tee $0 + (block $do-once59 + (i32.store offset=480 + (local.get $1) + (local.get $9) + ) + (br_if $do-once59 + (local.get $9) + ) + (i32.store + (i32.const 180) + (i32.and (i32.load - (i32.const 192) + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $0) + ) + (i32.const -1) ) ) ) - (call $_abort) - ) - (i32.store offset=24 - (local.get $8) - (local.get $5) + (br $label$break$L331) ) - (if - (local.tee $1 - (i32.load offset=16 - (local.get $7) - ) - ) + (block (if (i32.lt_u - (local.get $1) - (local.get $0) + (local.get $5) + (i32.load + (i32.const 192) + ) ) (call $_abort) - (block - (i32.store offset=16 - (local.get $8) - (local.get $1) - ) - (i32.store offset=24 - (local.get $1) - (local.get $8) + ) + (if + (i32.eq + (i32.load offset=16 + (local.get $5) ) + (local.get $7) + ) + (i32.store offset=16 + (local.get $5) + (local.get $9) + ) + (i32.store offset=20 + (local.get $5) + (local.get $9) + ) + ) + (br_if $label$break$L331 + (i32.eqz + (local.get $9) ) ) ) - (br_if $label$break$L331 - (i32.eqz - (local.tee $0 - (i32.load offset=4 - (i32.add - (local.get $7) - (i32.const 16) - ) - ) + ) + (if + (i32.lt_u + (local.get $9) + (local.tee $0 + (i32.load + (i32.const 192) ) ) ) + (call $_abort) + ) + (i32.store offset=24 + (local.get $9) + (local.get $5) + ) + (if + (local.tee $1 + (i32.load offset=16 + (local.get $7) + ) + ) (if (i32.lt_u + (local.get $1) (local.get $0) - (i32.load - (i32.const 192) - ) ) (call $_abort) (block - (i32.store offset=20 - (local.get $8) - (local.get $0) + (i32.store offset=16 + (local.get $9) + (local.get $1) ) (i32.store offset=24 - (local.get $0) - (local.get $8) + (local.get $1) + (local.get $9) ) ) ) ) + (br_if $label$break$L331 + (i32.eqz + (local.tee $0 + (i32.load offset=20 + (local.get $7) + ) + ) + ) + ) + (if + (i32.lt_u + (local.get $0) + (i32.load + (i32.const 192) + ) + ) + (call $_abort) + (block + (i32.store offset=20 + (local.get $9) + (local.get $0) + ) + (i32.store offset=24 + (local.get $0) + (local.get $9) + ) + ) + ) ) ) - (local.set $6 - (i32.add - (local.get $6) - (local.get $11) - ) - ) + ) + (local.set $6 (i32.add - (local.get $7) + (local.get $6) (local.get $11) ) ) - (local.get $7) - ) - ) - (i32.and - (i32.load offset=4 - (local.get $0) + (i32.add + (local.get $7) + (local.get $11) + ) ) - (i32.const -2) + (local.get $7) ) ) - (i32.store offset=4 - (local.get $9) - (i32.or - (local.get $6) - (i32.const 1) + (i32.and + (i32.load offset=4 + (local.get $0) ) + (i32.const -2) ) - (i32.store - (i32.add - (local.get $6) - (local.get $9) - ) + ) + (i32.store offset=4 + (local.get $8) + (i32.or (local.get $6) + (i32.const 1) ) - (local.set $0 - (i32.shr_u - (local.get $6) - (i32.const 3) - ) + ) + (i32.store + (i32.add + (local.get $6) + (local.get $8) ) - (if - (i32.lt_u - (local.get $6) - (i32.const 256) - ) - (block - (local.set $3 - (i32.add + (local.get $6) + ) + (local.set $0 + (i32.shr_u + (local.get $6) + (i32.const 3) + ) + ) + (if + (i32.lt_u + (local.get $6) + (i32.const 256) + ) + (block + (local.set $4 + (i32.add + (local.tee $3 (i32.shl (local.get $0) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (if - (i32.and - (local.tee $1 - (i32.load - (i32.const 176) - ) + ) + (if + (i32.and + (local.tee $1 + (i32.load + (i32.const 176) ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $0) - ) + ) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $0) ) ) - (block $do-once63 - (local.set $1 - (i32.add - (local.get $3) - (i32.const 8) - ) + ) + (block $do-once63 + (local.set $1 + (i32.add + (local.get $4) + (i32.const 8) ) - (if - (i32.ge_u - (local.tee $0 - (i32.load offset=8 - (local.get $3) - ) - ) - (i32.load - (i32.const 192) + ) + (if + (i32.ge_u + (local.tee $0 + (i32.load offset=224 + (local.get $3) ) ) - (block - (local.set $16 - (local.get $1) - ) - (local.set $10 - (local.get $0) - ) - (br $do-once63) + (i32.load + (i32.const 192) ) ) - (call $_abort) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (local.get $0) + (block + (local.set $16 (local.get $1) ) - ) - (local.set $16 - (i32.add - (local.get $3) - (i32.const 8) + (local.set $10 + (local.get $0) ) - ) - (local.set $10 - (local.get $3) + (br $do-once63) ) ) + (call $_abort) ) - (i32.store - (local.get $16) - (local.get $9) - ) - (i32.store offset=12 - (local.get $10) - (local.get $9) - ) - (i32.store offset=8 - (local.get $9) - (local.get $10) - ) - (i32.store offset=12 - (local.get $9) - (local.get $3) + (block + (i32.store + (i32.const 176) + (i32.or + (local.get $0) + (local.get $1) + ) + ) + (local.set $16 + (i32.add + (local.get $4) + (i32.const 8) + ) + ) + (local.set $10 + (local.get $4) + ) ) - (br $do-once48) ) + (i32.store + (local.get $16) + (local.get $8) + ) + (i32.store offset=12 + (local.get $10) + (local.get $8) + ) + (i32.store offset=8 + (local.get $8) + (local.get $10) + ) + (i32.store offset=12 + (local.get $8) + (local.get $4) + ) + (br $do-once48) ) - (local.set $3 - (i32.add - (local.tee $4 - (i32.shl - (local.tee $2 + ) + (local.set $4 + (i32.add + (local.tee $2 + (i32.shl + (local.tee $3 + (if (result i32) + (local.tee $0 + (i32.shr_u + (local.get $6) + (i32.const 8) + ) + ) (if (result i32) - (local.tee $0 - (i32.shr_u - (local.get $6) - (i32.const 8) - ) + (i32.gt_u + (local.get $6) + (i32.const 16777215) ) - (if (result i32) - (i32.gt_u - (local.get $6) - (i32.const 16777215) - ) - (i32.const 31) - (block (result i32) - (local.set $2 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.tee $1 - (i32.and - (i32.shr_u - (i32.add - (local.get $0) - (i32.const 1048320) - ) - (i32.const 16) + (i32.const 31) + (block (result i32) + (local.set $3 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.tee $1 + (i32.and + (i32.shr_u + (i32.add + (local.get $0) + (i32.const 1048320) ) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) ) - (i32.const 520192) ) - (i32.const 16) + (i32.const 520192) ) - (i32.const 4) + (i32.const 16) ) + (i32.const 4) ) - (local.set $3 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.get $2) - ) + ) + (local.set $4 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.get $3) ) - (i32.const 245760) ) - (i32.const 16) + (i32.const 245760) ) - (i32.const 2) + (i32.const 16) ) + (i32.const 2) ) - (i32.or - (i32.and - (i32.shr_u - (local.get $6) - (i32.add - (local.tee $0 - (i32.add - (i32.sub - (i32.const 14) + ) + (i32.or + (i32.and + (i32.shr_u + (local.get $6) + (i32.add + (local.tee $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or (i32.or - (i32.or - (local.get $1) - (local.get $2) - ) + (local.get $1) (local.get $3) ) + (local.get $4) ) - (i32.shr_u - (i32.shl - (local.get $0) - (local.get $3) - ) - (i32.const 15) + ) + (i32.shr_u + (i32.shl + (local.get $0) + (local.get $4) ) + (i32.const 15) ) ) - (i32.const 7) ) + (i32.const 7) ) - (i32.const 1) - ) - (i32.shl - (local.get $0) - (i32.const 1) ) + (i32.const 1) + ) + (i32.shl + (local.get $0) + (i32.const 1) ) ) ) - (i32.const 0) ) + (i32.const 0) ) - (i32.const 2) ) + (i32.const 2) ) - (i32.const 480) - ) - ) - (i32.store offset=28 - (local.get $9) - (local.get $2) - ) - (i32.store offset=4 - (i32.add - (local.get $9) - (i32.const 16) ) - (i32.const 0) + (i32.const 480) ) - (i32.store offset=16 - (local.get $9) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (local.tee $1 - (i32.load - (i32.const 180) - ) - ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $2) - ) + ) + (i32.store offset=28 + (local.get $8) + (local.get $3) + ) + (i32.store offset=20 + (local.get $8) + (i32.const 0) + ) + (i32.store offset=16 + (local.get $8) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (local.tee $1 + (i32.load + (i32.const 180) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (local.get $0) - (local.get $1) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $3) ) ) - (i32.store offset=480 - (local.get $4) - (local.get $9) - ) - (i32.store offset=24 - (local.get $9) - (local.get $3) - ) - (i32.store offset=12 - (local.get $9) - (local.get $9) - ) - (i32.store offset=8 - (local.get $9) - (local.get $9) + ) + ) + (block + (i32.store + (i32.const 180) + (i32.or + (local.get $0) + (local.get $1) ) - (br $do-once48) ) + (i32.store offset=480 + (local.get $2) + (local.get $8) + ) + (i32.store offset=24 + (local.get $8) + (local.get $4) + ) + (i32.store offset=12 + (local.get $8) + (local.get $8) + ) + (i32.store offset=8 + (local.get $8) + (local.get $8) + ) + (br $do-once48) ) - (local.set $2 - (i32.shl - (local.get $6) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $2) - (i32.const 1) - ) - ) - (i32.eq - (local.get $2) - (i32.const 31) + ) + (local.set $3 + (i32.shl + (local.get $6) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (local.get $3) + (i32.const 1) ) ) + (i32.eq + (local.get $3) + (i32.const 31) + ) ) ) - (local.set $0 - (i32.load offset=480 - (local.get $4) - ) + ) + (local.set $0 + (i32.load offset=480 + (local.get $2) ) - (block $__rjto$7 - (block $__rjti$7 - (loop $while-in68 - (br_if $__rjti$7 - (i32.eq - (i32.and - (i32.load offset=4 - (local.get $0) - ) - (i32.const -8) + ) + (block $__rjto$7 + (block $__rjti$7 + (loop $while-in68 + (br_if $__rjti$7 + (i32.eq + (i32.and + (i32.load offset=4 + (local.get $0) ) - (local.get $6) + (i32.const -8) ) + (local.get $6) ) - (local.set $3 - (i32.shl - (local.get $2) - (i32.const 1) - ) + ) + (local.set $4 + (i32.shl + (local.get $3) + (i32.const 1) ) - (if - (local.tee $1 - (i32.load - (local.tee $2 + ) + (if + (local.tee $1 + (i32.load + (local.tee $3 + (i32.add (i32.add - (i32.add - (local.get $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (local.get $2) - (i32.const 31) - ) - (i32.const 2) + (local.get $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (local.get $3) + (i32.const 31) ) + (i32.const 2) ) ) ) ) - (block - (local.set $2 - (local.get $3) - ) - (local.set $0 - (local.get $1) - ) - (br $while-in68) - ) - ) - ) - (if - (i32.lt_u - (local.get $2) - (i32.load - (i32.const 192) - ) ) - (call $_abort) (block - (i32.store - (local.get $2) - (local.get $9) - ) - (i32.store offset=24 - (local.get $9) - (local.get $0) - ) - (i32.store offset=12 - (local.get $9) - (local.get $9) + (local.set $3 + (local.get $4) ) - (i32.store offset=8 - (local.get $9) - (local.get $9) + (local.set $0 + (local.get $1) ) - (br $do-once48) + (br $while-in68) ) ) - (br $__rjto$7) ) (if - (i32.and - (i32.ge_u - (local.tee $3 - (i32.load offset=8 - (local.get $0) - ) - ) - (local.tee $1 - (i32.load - (i32.const 192) - ) - ) - ) - (i32.ge_u - (local.get $0) - (local.get $1) + (i32.lt_u + (local.get $3) + (i32.load + (i32.const 192) ) ) + (call $_abort) (block - (i32.store offset=12 + (i32.store (local.get $3) - (local.get $9) + (local.get $8) ) - (i32.store offset=8 + (i32.store offset=24 + (local.get $8) (local.get $0) - (local.get $9) + ) + (i32.store offset=12 + (local.get $8) + (local.get $8) ) (i32.store offset=8 - (local.get $9) - (local.get $3) + (local.get $8) + (local.get $8) ) - (i32.store offset=12 - (local.get $9) - (local.get $0) + (br $do-once48) + ) + ) + (br $__rjto$7) + ) + (if + (i32.and + (i32.ge_u + (local.tee $4 + (i32.load offset=8 + (local.get $0) + ) ) - (i32.store offset=24 - (local.get $9) - (i32.const 0) + (local.tee $1 + (i32.load + (i32.const 192) + ) ) ) - (call $_abort) + (i32.ge_u + (local.get $0) + (local.get $1) + ) ) + (block + (i32.store offset=12 + (local.get $4) + (local.get $8) + ) + (i32.store offset=8 + (local.get $0) + (local.get $8) + ) + (i32.store offset=8 + (local.get $8) + (local.get $4) + ) + (i32.store offset=12 + (local.get $8) + (local.get $0) + ) + (i32.store offset=24 + (local.get $8) + (i32.const 0) + ) + ) + (call $_abort) ) ) ) - (return - (i32.add - (local.get $12) - (i32.const 8) - ) + ) + (return + (i32.add + (local.get $12) + (i32.const 8) ) ) ) ) ) - (loop $while-in70 - (block $while-out69 - (if - (i32.le_u - (local.tee $2 - (i32.load - (local.get $4) - ) + ) + (loop $while-in70 + (block $while-out69 + (if + (i32.le_u + (local.tee $3 + (i32.load + (local.get $2) ) - (local.get $5) ) - (br_if $while-out69 - (i32.gt_u - (local.tee $2 - (i32.add + (local.get $5) + ) + (br_if $while-out69 + (i32.gt_u + (local.tee $3 + (i32.add + (local.get $3) + (i32.load offset=4 (local.get $2) - (i32.load offset=4 - (local.get $4) - ) ) ) - (local.get $5) ) + (local.get $5) ) ) - (local.set $4 - (i32.load offset=8 - (local.get $4) - ) + ) + (local.set $2 + (i32.load offset=8 + (local.get $2) ) - (br $while-in70) ) + (br $while-in70) ) - (local.set $10 - (i32.add - (local.tee $4 - (i32.add - (local.get $2) - (i32.const -47) - ) + ) + (local.set $9 + (i32.add + (local.tee $10 + (i32.add + (local.get $3) + (i32.const -47) ) - (i32.const 8) ) + (i32.const 8) ) - (local.set $7 + ) + (i32.store + (i32.const 200) + (local.tee $7 (i32.add - (local.tee $8 + (local.tee $2 (select - (local.get $5) - (local.tee $4 - (i32.add - (local.get $4) - (select - (i32.and - (i32.sub - (i32.const 0) - (local.get $10) - ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $10) - (i32.const 7) + (i32.and + (i32.sub + (i32.const 0) + (local.tee $2 + (i32.add + (local.get $1) + (i32.const 8) ) ) ) + (i32.const 7) ) - (i32.lt_u - (local.get $4) - (i32.add - (local.get $5) - (i32.const 16) - ) + (i32.const 0) + (i32.and + (local.get $2) + (i32.const 7) ) ) ) - (i32.const 8) + (local.get $1) ) ) - (i32.store - (i32.const 200) - (local.tee $10 + ) + (i32.store + (i32.const 188) + (local.tee $2 + (i32.sub (i32.add - (local.tee $4 + (local.get $4) + (i32.const -40) + ) + (local.get $2) + ) + ) + ) + (i32.store offset=4 + (local.get $7) + (i32.or + (local.get $2) + (i32.const 1) + ) + ) + (i32.store offset=4 + (i32.add + (local.get $2) + (local.get $7) + ) + (i32.const 40) + ) + (i32.store + (i32.const 204) + (i32.load + (i32.const 664) + ) + ) + (i32.store offset=4 + (local.tee $2 + (select + (local.get $5) + (local.tee $2 + (i32.add + (local.get $10) (select (i32.and (i32.sub (i32.const 0) - (local.tee $4 - (i32.add - (local.get $1) - (i32.const 8) - ) - ) + (local.get $9) ) (i32.const 7) ) (i32.const 0) (i32.and - (local.get $4) + (local.get $9) (i32.const 7) ) ) ) - (local.get $1) ) - ) - ) - (i32.store - (i32.const 188) - (local.tee $4 - (i32.sub + (i32.lt_u + (local.get $2) (i32.add - (local.get $3) - (i32.const -40) + (local.get $5) + (i32.const 16) ) - (local.get $4) ) ) ) - (i32.store offset=4 - (local.get $10) - (i32.or - (local.get $4) - (i32.const 1) - ) - ) - (i32.store offset=4 - (i32.add - (local.get $4) - (local.get $10) - ) - (i32.const 40) - ) - (i32.store - (i32.const 204) - (i32.load - (i32.const 664) - ) - ) - (i32.store offset=4 - (local.get $8) - (i32.const 27) - ) - (i32.store offset=8 - (local.get $8) - (i32.load - (i32.const 624) - ) - ) - (i32.store offset=4 - (local.get $7) - (i32.load - (i32.const 628) - ) - ) - (i32.store offset=8 - (local.get $7) - (i32.load - (i32.const 632) - ) - ) - (i32.store offset=12 - (local.get $7) - (i32.load - (i32.const 636) - ) - ) - (i32.store + (i32.const 27) + ) + (i32.store offset=8 + (local.get $2) + (i32.load (i32.const 624) - (local.get $1) ) - (i32.store + ) + (i32.store offset=12 + (local.get $2) + (i32.load (i32.const 628) - (local.get $3) ) - (i32.store + ) + (i32.store offset=16 + (local.get $2) + (i32.load + (i32.const 632) + ) + ) + (i32.store offset=20 + (local.get $2) + (i32.load (i32.const 636) - (i32.const 0) ) - (i32.store - (i32.const 632) - (local.get $7) + ) + (i32.store + (i32.const 624) + (local.get $1) + ) + (i32.store + (i32.const 628) + (local.get $4) + ) + (i32.store + (i32.const 636) + (i32.const 0) + ) + (i32.store + (i32.const 632) + (i32.add + (local.get $2) + (i32.const 8) ) - (local.set $1 - (i32.add - (local.get $8) - (i32.const 24) - ) + ) + (local.set $1 + (i32.add + (local.get $2) + (i32.const 24) ) - (loop $while-in72 - (i32.store offset=4 - (local.get $1) - (i32.const 7) - ) - (br_if $while-in72 - (i32.lt_u - (i32.add - (local.tee $1 - (i32.add - (local.get $1) - (i32.const 4) - ) + ) + (loop $while-in72 + (i32.store offset=4 + (local.get $1) + (i32.const 7) + ) + (br_if $while-in72 + (i32.lt_u + (i32.add + (local.tee $1 + (i32.add + (local.get $1) + (i32.const 4) ) - (i32.const 4) ) - (local.get $2) + (i32.const 4) ) + (local.get $3) ) ) - (if - (i32.ne - (local.get $5) - (local.get $8) - ) - (block - (i32.store offset=4 - (local.get $8) - (i32.and - (i32.load offset=4 - (local.get $8) - ) - (i32.const -2) + ) + (if + (i32.ne + (local.get $2) + (local.get $5) + ) + (block + (i32.store offset=4 + (local.get $2) + (i32.and + (i32.load offset=4 + (local.get $2) ) + (i32.const -2) ) - (i32.store offset=4 - (local.get $5) - (i32.or - (local.tee $10 - (i32.sub - (local.get $8) - (local.get $5) - ) + ) + (i32.store offset=4 + (local.get $5) + (i32.or + (local.tee $10 + (i32.sub + (local.get $2) + (local.get $5) ) - (i32.const 1) ) + (i32.const 1) ) - (i32.store - (local.get $8) + ) + (i32.store + (local.get $2) + (local.get $10) + ) + (local.set $1 + (i32.shr_u (local.get $10) + (i32.const 3) ) - (local.set $1 - (i32.shr_u - (local.get $10) - (i32.const 3) - ) + ) + (if + (i32.lt_u + (local.get $10) + (i32.const 256) ) - (if - (i32.lt_u - (local.get $10) - (i32.const 256) - ) - (block - (local.set $2 - (i32.add + (block + (local.set $3 + (i32.add + (local.tee $2 (i32.shl (local.get $1) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (if - (i32.and - (local.tee $3 - (i32.load - (i32.const 176) - ) + ) + (if + (i32.and + (local.tee $4 + (i32.load + (i32.const 176) ) - (local.tee $1 - (i32.shl - (i32.const 1) - (local.get $1) - ) + ) + (local.tee $1 + (i32.shl + (i32.const 1) + (local.get $1) ) ) - (block - (local.set $3 - (i32.add - (local.get $2) - (i32.const 8) - ) + ) + (block + (local.set $4 + (i32.add + (local.get $3) + (i32.const 8) ) - (if - (i32.lt_u - (local.tee $1 - (i32.load offset=8 - (local.get $2) - ) - ) - (i32.load - (i32.const 192) + ) + (if + (i32.lt_u + (local.tee $1 + (i32.load offset=224 + (local.get $2) ) ) - (call $_abort) - (block - (local.set $17 - (local.get $3) - ) - (local.set $6 - (local.get $1) - ) + (i32.load + (i32.const 192) ) ) - ) - (block - (i32.store - (i32.const 176) - (i32.or + (call $_abort) + (block + (local.set $17 + (local.get $4) + ) + (local.set $6 (local.get $1) - (local.get $3) ) ) - (local.set $17 - (i32.add - (local.get $2) - (i32.const 8) - ) + ) + ) + (block + (i32.store + (i32.const 176) + (i32.or + (local.get $1) + (local.get $4) ) - (local.set $6 - (local.get $2) + ) + (local.set $17 + (i32.add + (local.get $3) + (i32.const 8) ) ) + (local.set $6 + (local.get $3) + ) ) - (i32.store - (local.get $17) - (local.get $5) - ) - (i32.store offset=12 - (local.get $6) - (local.get $5) - ) - (i32.store offset=8 - (local.get $5) - (local.get $6) - ) - (i32.store offset=12 - (local.get $5) - (local.get $2) - ) - (br $do-once40) ) + (i32.store + (local.get $17) + (local.get $5) + ) + (i32.store offset=12 + (local.get $6) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $6) + ) + (i32.store offset=12 + (local.get $5) + (local.get $3) + ) + (br $do-once40) ) - (local.set $2 - (i32.add - (local.tee $6 - (i32.shl - (local.tee $4 + ) + (local.set $3 + (i32.add + (local.tee $6 + (i32.shl + (local.tee $2 + (if (result i32) + (local.tee $1 + (i32.shr_u + (local.get $10) + (i32.const 8) + ) + ) (if (result i32) - (local.tee $1 - (i32.shr_u - (local.get $10) - (i32.const 8) - ) + (i32.gt_u + (local.get $10) + (i32.const 16777215) ) - (if (result i32) - (i32.gt_u - (local.get $10) - (i32.const 16777215) - ) - (i32.const 31) - (block (result i32) - (local.set $4 - (i32.and - (i32.shr_u - (i32.add - (local.tee $1 - (i32.shl - (local.get $1) - (local.tee $3 - (i32.and - (i32.shr_u - (i32.add - (local.get $1) - (i32.const 1048320) - ) - (i32.const 16) + (i32.const 31) + (block (result i32) + (local.set $2 + (i32.and + (i32.shr_u + (i32.add + (local.tee $1 + (i32.shl + (local.get $1) + (local.tee $4 + (i32.and + (i32.shr_u + (i32.add + (local.get $1) + (i32.const 1048320) ) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) ) - (i32.const 520192) ) - (i32.const 16) + (i32.const 520192) ) - (i32.const 4) + (i32.const 16) ) + (i32.const 4) ) - (local.set $2 - (i32.and - (i32.shr_u - (i32.add - (local.tee $1 - (i32.shl - (local.get $1) - (local.get $4) - ) + ) + (local.set $3 + (i32.and + (i32.shr_u + (i32.add + (local.tee $1 + (i32.shl + (local.get $1) + (local.get $2) ) - (i32.const 245760) ) - (i32.const 16) + (i32.const 245760) ) - (i32.const 2) + (i32.const 16) ) + (i32.const 2) ) - (i32.or - (i32.and - (i32.shr_u - (local.get $10) - (i32.add - (local.tee $1 - (i32.add - (i32.sub - (i32.const 14) + ) + (i32.or + (i32.and + (i32.shr_u + (local.get $10) + (i32.add + (local.tee $1 + (i32.add + (i32.sub + (i32.const 14) + (i32.or (i32.or - (i32.or - (local.get $3) - (local.get $4) - ) (local.get $2) + (local.get $4) ) + (local.get $3) ) - (i32.shr_u - (i32.shl - (local.get $1) - (local.get $2) - ) - (i32.const 15) + ) + (i32.shr_u + (i32.shl + (local.get $1) + (local.get $3) ) + (i32.const 15) ) ) - (i32.const 7) ) + (i32.const 7) ) - (i32.const 1) - ) - (i32.shl - (local.get $1) - (i32.const 1) ) + (i32.const 1) + ) + (i32.shl + (local.get $1) + (i32.const 1) ) ) ) - (i32.const 0) ) + (i32.const 0) ) - (i32.const 2) ) + (i32.const 2) ) - (i32.const 480) ) + (i32.const 480) ) - (i32.store offset=28 - (local.get $5) - (local.get $4) - ) - (i32.store offset=20 - (local.get $5) - (i32.const 0) - ) - (i32.store offset=16 - (local.get $5) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (local.tee $3 - (i32.load - (i32.const 180) - ) - ) - (local.tee $1 - (i32.shl - (i32.const 1) - (local.get $4) - ) + ) + (i32.store offset=28 + (local.get $5) + (local.get $2) + ) + (i32.store offset=20 + (local.get $5) + (i32.const 0) + ) + (i32.store offset=16 + (local.get $5) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (local.tee $4 + (i32.load + (i32.const 180) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (local.get $1) - (local.get $3) + (local.tee $1 + (i32.shl + (i32.const 1) + (local.get $2) ) ) - (i32.store offset=480 - (local.get $6) - (local.get $5) - ) - (i32.store offset=24 - (local.get $5) - (local.get $2) - ) - (i32.store offset=12 - (local.get $5) - (local.get $5) - ) - (i32.store offset=8 - (local.get $5) - (local.get $5) + ) + ) + (block + (i32.store + (i32.const 180) + (i32.or + (local.get $1) + (local.get $4) ) - (br $do-once40) ) + (i32.store offset=480 + (local.get $6) + (local.get $5) + ) + (i32.store offset=24 + (local.get $5) + (local.get $3) + ) + (i32.store offset=12 + (local.get $5) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $5) + ) + (br $do-once40) ) - (local.set $4 - (i32.shl - (local.get $10) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $4) - (i32.const 1) - ) - ) - (i32.eq - (local.get $4) - (i32.const 31) + ) + (local.set $2 + (i32.shl + (local.get $10) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (local.get $2) + (i32.const 1) ) ) + (i32.eq + (local.get $2) + (i32.const 31) + ) ) ) - (local.set $1 - (i32.load offset=480 - (local.get $6) - ) + ) + (local.set $1 + (i32.load offset=480 + (local.get $6) ) - (block $__rjto$9 - (block $__rjti$9 - (loop $while-in74 - (br_if $__rjti$9 - (i32.eq - (i32.and - (i32.load offset=4 - (local.get $1) - ) - (i32.const -8) + ) + (block $__rjto$9 + (block $__rjti$9 + (loop $while-in74 + (br_if $__rjti$9 + (i32.eq + (i32.and + (i32.load offset=4 + (local.get $1) ) - (local.get $10) + (i32.const -8) ) + (local.get $10) ) - (local.set $2 - (i32.shl - (local.get $4) - (i32.const 1) - ) + ) + (local.set $3 + (i32.shl + (local.get $2) + (i32.const 1) ) - (if - (local.tee $3 - (i32.load - (local.tee $4 + ) + (if + (local.tee $4 + (i32.load + (local.tee $2 + (i32.add (i32.add - (i32.add - (local.get $1) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (local.get $4) - (i32.const 31) - ) - (i32.const 2) + (local.get $1) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (local.get $2) + (i32.const 31) ) + (i32.const 2) ) ) ) ) - (block - (local.set $4 - (local.get $2) - ) - (local.set $1 - (local.get $3) - ) - (br $while-in74) - ) ) - ) - (if - (i32.lt_u - (local.get $4) - (i32.load - (i32.const 192) - ) - ) - (call $_abort) (block - (i32.store - (local.get $4) - (local.get $5) - ) - (i32.store offset=24 - (local.get $5) - (local.get $1) - ) - (i32.store offset=12 - (local.get $5) - (local.get $5) + (local.set $2 + (local.get $3) ) - (i32.store offset=8 - (local.get $5) - (local.get $5) + (local.set $1 + (local.get $4) ) - (br $do-once40) + (br $while-in74) ) ) - (br $__rjto$9) ) (if - (i32.and - (i32.ge_u - (local.tee $2 - (i32.load offset=8 - (local.get $1) - ) - ) - (local.tee $3 - (i32.load - (i32.const 192) - ) - ) - ) - (i32.ge_u - (local.get $1) - (local.get $3) + (i32.lt_u + (local.get $2) + (i32.load + (i32.const 192) ) ) + (call $_abort) (block - (i32.store offset=12 + (i32.store (local.get $2) (local.get $5) ) - (i32.store offset=8 + (i32.store offset=24 + (local.get $5) (local.get $1) + ) + (i32.store offset=12 + (local.get $5) (local.get $5) ) (i32.store offset=8 (local.get $5) - (local.get $2) - ) - (i32.store offset=12 (local.get $5) - (local.get $1) ) - (i32.store offset=24 - (local.get $5) - (i32.const 0) + (br $do-once40) + ) + ) + (br $__rjto$9) + ) + (if + (i32.and + (i32.ge_u + (local.tee $3 + (i32.load offset=8 + (local.get $1) + ) + ) + (local.tee $4 + (i32.load + (i32.const 192) + ) ) ) - (call $_abort) + (i32.ge_u + (local.get $1) + (local.get $4) + ) + ) + (block + (i32.store offset=12 + (local.get $3) + (local.get $5) + ) + (i32.store offset=8 + (local.get $1) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $3) + ) + (i32.store offset=12 + (local.get $5) + (local.get $1) + ) + (i32.store offset=24 + (local.get $5) + (i32.const 0) + ) ) + (call $_abort) ) ) ) ) - (block - (if - (i32.or - (i32.eqz - (local.tee $2 - (i32.load - (i32.const 192) - ) + ) + (block + (if + (i32.or + (i32.eqz + (local.tee $3 + (i32.load + (i32.const 192) ) ) - (i32.lt_u - (local.get $1) - (local.get $2) - ) ) - (i32.store - (i32.const 192) + (i32.lt_u (local.get $1) + (local.get $3) ) ) (i32.store - (i32.const 624) + (i32.const 192) (local.get $1) ) - (i32.store - (i32.const 628) - (local.get $3) - ) - (i32.store - (i32.const 636) - (i32.const 0) + ) + (i32.store + (i32.const 624) + (local.get $1) + ) + (i32.store + (i32.const 628) + (local.get $4) + ) + (i32.store + (i32.const 636) + (i32.const 0) + ) + (i32.store + (i32.const 212) + (i32.load + (i32.const 648) ) - (i32.store - (i32.const 212) - (i32.load - (i32.const 648) + ) + (i32.store + (i32.const 208) + (i32.const -1) + ) + (local.set $3 + (i32.const 0) + ) + (loop $while-in43 + (local.set $2 + (i32.add + (local.tee $6 + (i32.shl + (local.get $3) + (i32.const 3) + ) + ) + (i32.const 216) ) ) - (i32.store - (i32.const 208) - (i32.const -1) + (i32.store offset=228 + (local.get $6) + (local.get $2) ) - (local.set $2 - (i32.const 0) + (i32.store offset=224 + (local.get $6) + (local.get $2) ) - (loop $while-in43 - (i32.store offset=12 - (local.tee $4 + (br_if $while-in43 + (i32.ne + (local.tee $3 (i32.add - (i32.shl - (local.get $2) - (i32.const 3) - ) - (i32.const 216) - ) - ) - (local.get $4) - ) - (i32.store offset=8 - (local.get $4) - (local.get $4) - ) - (br_if $while-in43 - (i32.ne - (local.tee $2 - (i32.add - (local.get $2) - (i32.const 1) - ) + (local.get $3) + (i32.const 1) ) - (i32.const 32) ) + (i32.const 32) ) ) - (i32.store - (i32.const 200) - (local.tee $4 - (i32.add - (local.tee $2 - (select - (i32.and - (i32.sub - (i32.const 0) - (local.tee $2 - (i32.add - (local.get $1) - (i32.const 8) - ) + ) + (i32.store + (i32.const 200) + (local.tee $2 + (i32.add + (local.tee $3 + (select + (i32.and + (i32.sub + (i32.const 0) + (local.tee $3 + (i32.add + (local.get $1) + (i32.const 8) ) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $2) - (i32.const 7) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (local.get $3) + (i32.const 7) ) ) - (local.get $1) ) + (local.get $1) ) ) - (i32.store - (i32.const 188) - (local.tee $1 - (i32.sub - (i32.add - (local.get $3) - (i32.const -40) - ) - (local.get $2) + ) + (i32.store + (i32.const 188) + (local.tee $1 + (i32.sub + (i32.add + (local.get $4) + (i32.const -40) ) + (local.get $3) ) ) - (i32.store offset=4 - (local.get $4) - (i32.or - (local.get $1) - (i32.const 1) - ) - ) - (i32.store offset=4 - (i32.add - (local.get $1) - (local.get $4) - ) - (i32.const 40) + ) + (i32.store offset=4 + (local.get $2) + (i32.or + (local.get $1) + (i32.const 1) ) - (i32.store - (i32.const 204) - (i32.load - (i32.const 664) - ) + ) + (i32.store offset=4 + (i32.add + (local.get $1) + (local.get $2) ) + (i32.const 40) ) - ) - (br_if $folding-inner0 - (i32.gt_u - (local.tee $1 - (i32.load - (i32.const 188) - ) + (i32.store + (i32.const 204) + (i32.load + (i32.const 664) ) - (local.get $0) ) ) ) - (i32.store - (call $___errno_location) - (i32.const 12) - ) - (return - (i32.const 0) - ) - ) - (i32.store - (i32.const 188) - (local.tee $3 - (i32.sub - (local.get $1) - (local.get $0) - ) - ) - ) - (i32.store - (i32.const 200) - (local.tee $1 - (i32.add - (local.tee $2 + (br_if $folding-inner0 + (i32.gt_u + (local.tee $1 (i32.load - (i32.const 200) + (i32.const 188) ) ) (local.get $0) ) ) ) - (i32.store offset=4 - (local.get $1) - (i32.or - (local.get $3) - (i32.const 1) + (i32.store + (call $___errno_location) + (i32.const 12) + ) + (return + (i32.const 0) + ) + ) + (i32.store + (i32.const 188) + (local.tee $4 + (i32.sub + (local.get $1) + (local.get $0) ) ) - (i32.store offset=4 - (local.get $2) - (i32.or + ) + (i32.store + (i32.const 200) + (local.tee $1 + (i32.add + (local.tee $3 + (i32.load + (i32.const 200) + ) + ) (local.get $0) - (i32.const 3) ) ) ) + (i32.store offset=4 + (local.get $1) + (i32.or + (local.get $4) + (i32.const 1) + ) + ) + (i32.store offset=4 + (local.get $3) + (i32.or + (local.get $0) + (i32.const 3) + ) + ) (i32.add - (local.get $2) + (local.get $3) (i32.const 8) ) ) @@ -13119,8 +13133,8 @@ (if (i32.eqz (local.tee $4 - (i32.load offset=4 - (local.get $8) + (i32.load offset=20 + (local.get $1) ) ) ) @@ -13384,11 +13398,8 @@ ) (if (local.tee $5 - (i32.load offset=4 - (i32.add - (local.get $1) - (i32.const 16) - ) + (i32.load offset=20 + (local.get $1) ) ) (if @@ -13745,8 +13756,8 @@ (if (i32.eqz (local.tee $2 - (i32.load offset=4 - (local.get $1) + (i32.load offset=20 + (local.get $7) ) ) ) @@ -13999,11 +14010,8 @@ ) (if (local.tee $0 - (i32.load offset=4 - (i32.add - (local.get $7) - (i32.const 16) - ) + (i32.load offset=20 + (local.get $7) ) ) (if @@ -14079,9 +14087,11 @@ (block (local.set $1 (i32.add - (i32.shl - (local.get $0) - (i32.const 3) + (local.tee $5 + (i32.shl + (local.get $0) + (i32.const 3) + ) ) (i32.const 216) ) @@ -14110,8 +14120,8 @@ (if (i32.lt_u (local.tee $0 - (i32.load offset=8 - (local.get $1) + (i32.load offset=224 + (local.get $5) ) ) (i32.load diff --git a/test/emcc_hello_world.fromasm.clamp b/test/emcc_hello_world.fromasm.clamp index 45f02325a..5ba9179fc 100644 --- a/test/emcc_hello_world.fromasm.clamp +++ b/test/emcc_hello_world.fromasm.clamp @@ -662,7 +662,7 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local.set $8 + (local.set $4 (global.get $STACKTOP) ) (global.set $STACKTOP @@ -678,29 +678,25 @@ ) (call $abort) ) - (local.set $9 + (local.set $10 (i32.add - (local.get $8) + (local.get $4) (i32.const 16) ) ) + (local.set $8 + (local.get $4) + ) (i32.store offset=32 - (local.tee $6 - (local.get $8) - ) + (local.get $4) (local.tee $3 (i32.load offset=28 (local.get $0) ) ) ) - (i32.store offset=4 - (local.tee $4 - (i32.add - (local.get $6) - (i32.const 32) - ) - ) + (i32.store offset=36 + (local.get $4) (local.tee $3 (i32.sub (i32.load offset=20 @@ -710,21 +706,24 @@ ) ) ) - (i32.store offset=8 + (i32.store offset=40 (local.get $4) (local.get $1) ) - (i32.store offset=12 + (i32.store offset=44 (local.get $4) (local.get $2) ) (local.set $1 - (local.get $4) + (i32.add + (local.get $4) + (i32.const 32) + ) ) - (local.set $4 + (local.set $5 (i32.const 2) ) - (local.set $10 + (local.set $9 (i32.add (local.get $2) (local.get $3) @@ -744,24 +743,24 @@ (local.get $0) ) (i32.store - (local.get $6) + (local.get $8) (i32.load offset=60 (local.get $0) ) ) (i32.store offset=4 - (local.get $6) + (local.get $8) (local.get $1) ) (i32.store offset=8 - (local.get $6) - (local.get $4) + (local.get $8) + (local.get $5) ) (local.set $3 (call $___syscall_ret (call $___syscall146 (i32.const 146) - (local.get $6) + (local.get $8) ) ) ) @@ -771,24 +770,24 @@ ) (block (i32.store offset=16 - (local.get $8) + (local.get $4) (i32.load offset=60 (local.get $0) ) ) - (i32.store offset=4 - (local.get $9) + (i32.store offset=20 + (local.get $4) (local.get $1) ) - (i32.store offset=8 - (local.get $9) + (i32.store offset=24 (local.get $4) + (local.get $5) ) (local.set $3 (call $___syscall_ret (call $___syscall146 (i32.const 146) - (local.get $9) + (local.get $10) ) ) ) @@ -797,7 +796,7 @@ (br_if $__rjti$0 (i32.eq (local.get $3) - (local.get $10) + (local.get $9) ) ) (br_if $__rjti$1 @@ -806,11 +805,11 @@ (i32.const 0) ) ) - (local.set $5 + (local.set $6 (if (result i32) (i32.gt_u (local.get $3) - (local.tee $5 + (local.tee $6 (i32.load offset=4 (local.get $1) ) @@ -840,21 +839,21 @@ (i32.const 8) ) ) - (local.set $4 + (local.set $5 (i32.add - (local.get $4) + (local.get $5) (i32.const -1) ) ) (i32.sub (local.get $3) - (local.get $5) + (local.get $6) ) ) (block (result i32) (if (i32.eq - (local.get $4) + (local.get $5) (i32.const 2) ) (block @@ -868,14 +867,14 @@ ) ) (local.set $7 - (local.get $5) + (local.get $6) ) - (local.set $4 + (local.set $5 (i32.const 2) ) ) (local.set $7 - (local.get $5) + (local.get $6) ) ) (local.get $3) @@ -888,19 +887,19 @@ (i32.load (local.get $1) ) - (local.get $5) + (local.get $6) ) ) (i32.store offset=4 (local.get $1) (i32.sub (local.get $7) - (local.get $5) + (local.get $6) ) ) - (local.set $10 + (local.set $9 (i32.sub - (local.get $10) + (local.get $9) (local.get $3) ) ) @@ -954,7 +953,7 @@ (local.set $2 (if (result i32) (i32.eq - (local.get $4) + (local.get $5) (i32.const 2) ) (i32.const 0) @@ -968,7 +967,7 @@ ) ) (global.set $STACKTOP - (local.get $8) + (local.get $4) ) (local.get $2) ) @@ -2085,7 +2084,7 @@ (local $48 i32) (local $49 i32) (local $50 i32) - (local.set $20 + (local.set $19 (global.get $STACKTOP) ) (global.set $STACKTOP @@ -2103,14 +2102,14 @@ ) (local.set $39 (i32.add - (local.get $20) + (local.get $19) (i32.const 16) ) ) (local.set $33 (i32.add (local.tee $13 - (local.get $20) + (local.get $19) ) (i32.const 528) ) @@ -2453,7 +2452,7 @@ ) (select (i32.const 1) - (local.get $19) + (local.get $20) (local.get $10) ) ) @@ -2464,11 +2463,11 @@ (local.set $8 (local.get $10) ) - (local.get $19) + (local.get $20) ) ) ) - (local.set $19 + (local.set $20 (if (result i32) (i32.eq (i32.and @@ -2486,7 +2485,7 @@ (i32.const 32) ) (block $label$break$L25 (result i32) - (local.set $19 + (local.set $20 (local.get $5) ) (local.set $5 @@ -2511,7 +2510,7 @@ ) (block (local.set $5 - (local.get $19) + (local.get $20) ) (br $label$break$L25 (local.get $10) @@ -2526,7 +2525,7 @@ (i32.add (i32.shr_s (i32.shl - (local.get $19) + (local.get $20) (i32.const 24) ) (i32.const 24) @@ -2546,7 +2545,7 @@ (i32.eq (i32.and (local.tee $5 - (local.tee $19 + (local.tee $20 (i32.load8_s offset=1 (local.get $8) ) @@ -2564,7 +2563,7 @@ ) (block (result i32) (local.set $5 - (local.get $19) + (local.get $20) ) (local.set $8 (local.get $7) @@ -2577,7 +2576,7 @@ (i32.const 0) ) ) - (local.set $19 + (local.set $20 (if (result i32) (i32.eq (i32.and @@ -2677,7 +2676,7 @@ ) (block (local.set $10 - (local.get $19) + (local.get $20) ) (local.set $8 (local.get $7) @@ -2732,11 +2731,11 @@ ) ) (i32.or - (local.get $19) + (local.get $20) (i32.const 8192) ) ) - (local.get $19) + (local.get $20) ) ) (local.get $5) @@ -2819,7 +2818,7 @@ ) (block (result i32) (local.set $10 - (local.get $19) + (local.get $20) ) (local.set $15 (local.get $5) @@ -2830,7 +2829,7 @@ ) (block (result i32) (local.set $10 - (local.get $19) + (local.get $20) ) (local.set $15 (i32.const 0) @@ -3017,7 +3016,7 @@ ) ) (if - (local.get $19) + (local.get $20) (block (local.set $16 (i32.const -1) @@ -3709,7 +3708,7 @@ ) ) (i32.store8 offset=575 - (local.get $13) + (local.get $19) (i32.load (local.get $13) ) @@ -3761,13 +3760,13 @@ ) ) (i32.store offset=8 - (local.get $20) + (local.get $19) (i32.load (local.get $13) ) ) (i32.store offset=12 - (local.get $13) + (local.get $19) (i32.const 0) ) (i32.store @@ -3807,7 +3806,7 @@ ) ) (i32.store offset=16 - (local.get $20) + (local.get $19) (i32.const 0) ) (f64.store @@ -3904,10 +3903,10 @@ ) ) (i32.store offset=16 - (local.get $20) + (local.get $19) (i32.add (i32.load offset=16 - (local.get $20) + (local.get $19) ) (i32.const -1) ) @@ -4021,7 +4020,7 @@ (i32.const 0) (local.tee $6 (i32.load offset=16 - (local.get $20) + (local.get $19) ) ) ) @@ -4049,7 +4048,7 @@ ) (block (i32.store8 offset=587 - (local.get $13) + (local.get $19) (i32.const 48) ) (local.set $4 @@ -4327,11 +4326,11 @@ (local.get $4) (block (result f64) (i32.store offset=16 - (local.get $20) + (local.get $19) (local.tee $4 (i32.add (i32.load offset=16 - (local.get $20) + (local.get $19) ) (i32.const -28) ) @@ -4345,7 +4344,7 @@ (block (result f64) (local.set $4 (i32.load offset=16 - (local.get $20) + (local.get $19) ) ) (local.get $23) @@ -4400,7 +4399,7 @@ (i32.gt_s (local.tee $7 (i32.load offset=16 - (local.get $20) + (local.get $19) ) ) (i32.const 0) @@ -4520,11 +4519,11 @@ ) ) (i32.store offset=16 - (local.get $20) + (local.get $19) (local.tee $7 (i32.sub (i32.load offset=16 - (local.get $20) + (local.get $19) ) (local.get $12) ) @@ -4732,11 +4731,11 @@ ) ) (i32.store offset=16 - (local.get $20) + (local.get $19) (local.tee $7 (i32.add (i32.load offset=16 - (local.get $20) + (local.get $19) ) (local.get $12) ) @@ -5669,7 +5668,7 @@ ) ) (i32.store8 offset=596 - (local.get $13) + (local.get $19) (i32.const 48) ) (local.set $6 @@ -5913,7 +5912,7 @@ ) (block (i32.store8 offset=596 - (local.get $13) + (local.get $19) (i32.const 48) ) (local.set $4 @@ -6733,14 +6732,14 @@ ) (local.set $16 (if (result i32) - (local.get $19) + (local.get $20) (block (result i32) (local.set $0 (i32.const 1) ) (loop $while-in130 (if - (local.tee $19 + (local.tee $20 (i32.load (i32.add (i32.shl @@ -6760,7 +6759,7 @@ ) (local.get $2) ) - (local.get $19) + (local.get $20) (local.get $1) ) (br_if $while-in130 @@ -6826,7 +6825,7 @@ ) ) (global.set $STACKTOP - (local.get $20) + (local.get $19) ) (local.get $16) ) @@ -7531,556 +7530,553 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (block $folding-inner1 - (local.set $0 - (if (result i32) - (i32.lt_u - (local.get $0) - (i32.const 245) - ) - (block (result i32) - (if - (i32.and - (local.tee $11 - (i32.shr_u - (local.tee $7 - (i32.load - (i32.const 176) - ) + (local.set $0 + (if (result i32) + (i32.lt_u + (local.get $0) + (i32.const 245) + ) + (block (result i32) + (if + (i32.and + (local.tee $11 + (i32.shr_u + (local.tee $7 + (i32.load + (i32.const 176) ) - (local.tee $13 - (i32.shr_u - (local.tee $2 - (select - (i32.const 16) - (i32.and - (i32.add - (local.get $0) - (i32.const 11) - ) - (i32.const -8) - ) - (i32.lt_u + ) + (local.tee $13 + (i32.shr_u + (local.tee $3 + (select + (i32.const 16) + (i32.and + (i32.add (local.get $0) (i32.const 11) ) + (i32.const -8) + ) + (i32.lt_u + (local.get $0) + (i32.const 11) ) ) - (i32.const 3) ) + (i32.const 3) ) ) ) - (i32.const 3) ) - (block - (if - (i32.eq - (local.tee $3 - (i32.load offset=8 - (local.tee $2 - (i32.load offset=8 - (local.tee $1 - (i32.add - (i32.shl - (local.tee $0 - (i32.add - (i32.xor - (i32.and - (local.get $11) - (i32.const 1) - ) - (i32.const 1) - ) - (local.get $13) - ) - ) - (i32.const 3) - ) - (i32.const 216) - ) + (i32.const 3) + ) + (block + (local.set $0 + (i32.add + (local.tee $1 + (i32.shl + (local.tee $4 + (i32.add + (i32.xor + (i32.and + (local.get $11) + (i32.const 1) ) + (i32.const 1) ) + (local.get $13) ) ) + (i32.const 3) ) - (local.get $1) ) - (i32.store - (i32.const 176) - (i32.and - (local.get $7) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $0) + (i32.const 216) + ) + ) + (if + (i32.eq + (local.tee $3 + (i32.load offset=8 + (local.tee $2 + (i32.load offset=224 + (local.get $1) ) - (i32.const -1) ) ) ) - (block - (if - (i32.lt_u - (local.get $3) - (i32.load - (i32.const 192) - ) + (local.get $0) + ) + (i32.store + (i32.const 176) + (i32.and + (local.get $7) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $4) ) - (call $_abort) + (i32.const -1) ) - (if - (i32.eq - (local.get $2) - (i32.load offset=12 - (local.get $3) - ) - ) - (block - (i32.store offset=12 - (local.get $3) - (local.get $1) - ) - (i32.store offset=8 - (local.get $1) - (local.get $3) - ) + ) + ) + (block + (if + (i32.lt_u + (local.get $3) + (i32.load + (i32.const 192) ) - (call $_abort) ) + (call $_abort) ) - ) - (i32.store offset=4 - (local.get $2) - (i32.or - (local.tee $0 - (i32.shl + (if + (i32.eq + (local.get $2) + (i32.load offset=12 + (local.get $3) + ) + ) + (block + (i32.store offset=12 + (local.get $3) (local.get $0) - (i32.const 3) + ) + (i32.store offset=224 + (local.get $1) + (local.get $3) ) ) - (i32.const 3) + (call $_abort) ) ) - (i32.store offset=4 + ) + (i32.store offset=4 + (local.get $2) + (i32.or (local.tee $0 - (i32.add - (local.get $0) - (local.get $2) - ) - ) - (i32.or - (i32.load offset=4 - (local.get $0) + (i32.shl + (local.get $4) + (i32.const 3) ) - (i32.const 1) ) + (i32.const 3) ) - (br $folding-inner1) ) - ) - (if (result i32) - (i32.gt_u - (local.get $2) + (i32.store offset=4 (local.tee $0 - (i32.load - (i32.const 184) + (i32.add + (local.get $0) + (local.get $2) + ) + ) + (i32.or + (i32.load offset=4 + (local.get $0) ) + (i32.const 1) ) ) - (block (result i32) - (if - (local.get $11) - (block - (if - (i32.eq - (local.tee $6 - (i32.load offset=8 - (local.tee $8 - (i32.load offset=8 - (local.tee $4 - (i32.add - (i32.shl - (local.tee $3 - (i32.add - (i32.or - (i32.or - (i32.or - (i32.or - (local.tee $3 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.add - (i32.and - (local.tee $3 - (i32.and - (i32.or - (local.tee $3 - (i32.shl - (i32.const 2) - (local.get $13) - ) - ) - (i32.sub - (i32.const 0) - (local.get $3) - ) - ) - (i32.shl - (local.get $11) - (local.get $13) - ) - ) - ) - (i32.sub - (i32.const 0) - (local.get $3) - ) - ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) - (local.tee $3 + (return + (i32.add + (local.get $2) + (i32.const 8) + ) + ) + ) + ) + (if (result i32) + (i32.gt_u + (local.get $3) + (local.tee $0 + (i32.load + (i32.const 184) + ) + ) + ) + (block (result i32) + (if + (local.get $11) + (block + (local.set $4 + (i32.add + (local.tee $2 + (i32.shl + (local.tee $10 + (i32.add + (i32.or + (i32.or + (i32.or + (i32.or + (local.tee $4 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.add + (i32.and + (local.tee $4 (i32.and - (i32.shr_u + (i32.or (local.tee $4 - (i32.shr_u - (local.get $4) - (local.get $3) + (i32.shl + (i32.const 2) + (local.get $13) ) ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - ) - (local.tee $3 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.shr_u + (i32.sub + (i32.const 0) (local.get $4) - (local.get $3) ) ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (local.tee $3 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.shr_u - (local.get $4) - (local.get $3) + (i32.shl + (local.get $11) + (local.get $13) ) ) - (i32.const 1) ) - (i32.const 2) + (i32.sub + (i32.const 0) + (local.get $4) + ) ) + (i32.const -1) ) ) - (local.tee $3 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.shr_u - (local.get $4) - (local.get $3) - ) - ) - (i32.const 1) - ) - (i32.const 1) + (i32.const 12) + ) + (i32.const 16) + ) + ) + (local.tee $4 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.shr_u + (local.get $2) + (local.get $4) ) ) + (i32.const 5) ) + (i32.const 8) + ) + ) + ) + (local.tee $4 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.shr_u + (local.get $2) + (local.get $4) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + ) + (local.tee $4 + (i32.and + (i32.shr_u + (local.tee $2 (i32.shr_u + (local.get $2) (local.get $4) - (local.get $3) ) ) + (i32.const 1) ) - (i32.const 3) + (i32.const 2) ) - (i32.const 216) ) ) + (local.tee $4 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.shr_u + (local.get $2) + (local.get $4) + ) + ) + (i32.const 1) + ) + (i32.const 1) + ) + ) + ) + (i32.shr_u + (local.get $2) + (local.get $4) ) ) ) + (i32.const 3) ) - (local.get $4) ) - (block - (i32.store - (i32.const 176) - (i32.and - (local.get $7) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $3) - ) - (i32.const -1) + (i32.const 216) + ) + ) + (if + (i32.eq + (local.tee $6 + (i32.load offset=8 + (local.tee $9 + (i32.load offset=224 + (local.get $2) ) ) ) - (local.set $9 - (local.get $0) + ) + (local.get $4) + ) + (block + (i32.store + (i32.const 176) + (i32.and + (local.get $7) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $10) + ) + (i32.const -1) + ) ) ) - (block - (if - (i32.lt_u + (local.set $8 + (local.get $0) + ) + ) + (block + (if + (i32.lt_u + (local.get $6) + (i32.load + (i32.const 192) + ) + ) + (call $_abort) + ) + (if + (i32.eq + (i32.load offset=12 (local.get $6) - (i32.load - (i32.const 192) - ) ) - (call $_abort) + (local.get $9) ) - (if - (i32.eq - (i32.load offset=12 - (local.get $6) - ) - (local.get $8) + (block + (i32.store offset=12 + (local.get $6) + (local.get $4) ) - (block - (i32.store offset=12 - (local.get $6) - (local.get $4) - ) - (i32.store offset=8 - (local.get $4) - (local.get $6) - ) - (local.set $9 - (i32.load - (i32.const 184) - ) + (i32.store offset=224 + (local.get $2) + (local.get $6) + ) + (local.set $8 + (i32.load + (i32.const 184) ) ) - (call $_abort) ) + (call $_abort) ) ) - (i32.store offset=4 - (local.get $8) - (i32.or - (local.get $2) - (i32.const 3) - ) + ) + (i32.store offset=4 + (local.get $9) + (i32.or + (local.get $3) + (i32.const 3) ) - (i32.store offset=4 - (local.tee $4 - (i32.add - (local.get $2) - (local.get $8) - ) + ) + (i32.store offset=4 + (local.tee $6 + (i32.add + (local.get $3) + (local.get $9) ) - (i32.or - (local.tee $6 - (i32.sub - (i32.shl - (local.get $3) - (i32.const 3) - ) - (local.get $2) + ) + (i32.or + (local.tee $10 + (i32.sub + (i32.shl + (local.get $10) + (i32.const 3) ) + (local.get $3) ) - (i32.const 1) ) + (i32.const 1) ) - (i32.store - (i32.add - (local.get $4) - (local.get $6) - ) + ) + (i32.store + (i32.add (local.get $6) + (local.get $10) ) - (if - (local.get $9) - (block - (local.set $10 - (i32.load - (i32.const 196) - ) + (local.get $10) + ) + (if + (local.get $8) + (block + (local.set $7 + (i32.load + (i32.const 196) ) - (local.set $2 - (i32.add + ) + (local.set $3 + (i32.add + (local.tee $2 (i32.shl (local.tee $0 (i32.shr_u - (local.get $9) + (local.get $8) (i32.const 3) ) ) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (if - (i32.and - (local.tee $3 - (i32.load - (i32.const 176) - ) + ) + (if + (i32.and + (local.tee $4 + (i32.load + (i32.const 176) ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $0) - ) + ) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $0) ) ) - (block - (local.set $3 - (i32.add - (local.get $2) - (i32.const 8) - ) + ) + (block + (local.set $4 + (i32.add + (local.get $3) + (i32.const 8) ) - (if - (i32.lt_u - (local.tee $0 - (i32.load offset=8 - (local.get $2) - ) - ) - (i32.load - (i32.const 192) + ) + (if + (i32.lt_u + (local.tee $0 + (i32.load offset=224 + (local.get $2) ) ) - (call $_abort) - (block - (local.set $5 - (local.get $3) - ) - (local.set $1 - (local.get $0) - ) + (i32.load + (i32.const 192) ) ) - ) - (block - (i32.store - (i32.const 176) - (i32.or + (call $_abort) + (block + (local.set $5 + (local.get $4) + ) + (local.set $1 (local.get $0) - (local.get $3) ) ) - (local.set $5 - (i32.add - (local.get $2) - (i32.const 8) - ) + ) + ) + (block + (i32.store + (i32.const 176) + (i32.or + (local.get $0) + (local.get $4) ) - (local.set $1 - (local.get $2) + ) + (local.set $5 + (i32.add + (local.get $3) + (i32.const 8) ) ) - ) - (i32.store - (local.get $5) - (local.get $10) - ) - (i32.store offset=12 - (local.get $1) - (local.get $10) - ) - (i32.store offset=8 - (local.get $10) - (local.get $1) - ) - (i32.store offset=12 - (local.get $10) - (local.get $2) + (local.set $1 + (local.get $3) + ) ) ) - ) - (i32.store - (i32.const 184) - (local.get $6) - ) - (i32.store - (i32.const 196) - (local.get $4) - ) - (return - (i32.add - (local.get $8) - (i32.const 8) + (i32.store + (local.get $5) + (local.get $7) + ) + (i32.store offset=12 + (local.get $1) + (local.get $7) + ) + (i32.store offset=8 + (local.get $7) + (local.get $1) + ) + (i32.store offset=12 + (local.get $7) + (local.get $3) ) ) ) - ) - (if (result i32) - (local.tee $0 - (i32.load - (i32.const 180) + (i32.store + (i32.const 184) + (local.get $10) + ) + (i32.store + (i32.const 196) + (local.get $6) + ) + (return + (i32.add + (local.get $9) + (i32.const 8) ) ) - (block - (local.set $10 - (i32.sub - (i32.and - (i32.load offset=4 - (local.tee $0 - (i32.load offset=480 - (i32.shl - (i32.add + ) + ) + (if (result i32) + (local.tee $0 + (i32.load + (i32.const 180) + ) + ) + (block + (local.set $10 + (i32.sub + (i32.and + (i32.load offset=4 + (local.tee $0 + (i32.load offset=480 + (i32.shl + (i32.add + (i32.or (i32.or (i32.or (i32.or - (i32.or - (local.tee $0 - (i32.and - (i32.shr_u - (local.tee $1 - (i32.add - (i32.and + (local.tee $0 + (i32.and + (i32.shr_u + (local.tee $1 + (i32.add + (i32.and + (local.get $0) + (i32.sub + (i32.const 0) (local.get $0) - (i32.sub - (i32.const 0) - (local.get $0) - ) ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) - (local.tee $0 - (i32.and - (i32.shr_u - (local.tee $1 - (i32.shr_u - (local.get $1) - (local.get $0) ) + (i32.const -1) ) - (i32.const 5) ) - (i32.const 8) + (i32.const 12) ) + (i32.const 16) ) ) (local.tee $0 @@ -8092,9 +8088,9 @@ (local.get $0) ) ) - (i32.const 2) + (i32.const 5) ) - (i32.const 4) + (i32.const 8) ) ) ) @@ -8107,9 +8103,9 @@ (local.get $0) ) ) - (i32.const 1) + (i32.const 2) ) - (i32.const 2) + (i32.const 4) ) ) ) @@ -8124,486 +8120,502 @@ ) (i32.const 1) ) - (i32.const 1) + (i32.const 2) ) ) ) - (i32.shr_u - (local.get $1) - (local.get $0) + (local.tee $0 + (i32.and + (i32.shr_u + (local.tee $1 + (i32.shr_u + (local.get $1) + (local.get $0) + ) + ) + (i32.const 1) + ) + (i32.const 1) + ) ) ) - (i32.const 2) + (i32.shr_u + (local.get $1) + (local.get $0) + ) ) + (i32.const 2) ) ) ) - (i32.const -8) ) - (local.get $2) + (i32.const -8) ) + (local.get $3) ) - (local.set $6 - (local.get $0) - ) - (loop $while-in - (block $while-out + ) + (local.set $6 + (local.get $0) + ) + (loop $while-in + (block $while-out + (if + (local.tee $1 + (i32.load offset=16 + (local.get $0) + ) + ) + (local.set $0 + (local.get $1) + ) (if - (local.tee $1 - (i32.load offset=16 - (local.get $0) + (i32.eqz + (local.tee $0 + (i32.load offset=20 + (local.get $0) + ) ) ) - (local.set $0 - (local.get $1) - ) - (if - (i32.eqz - (local.tee $0 - (i32.load offset=20 - (local.get $0) - ) - ) + (block + (local.set $7 + (local.get $10) ) - (block - (local.set $7 - (local.get $10) - ) - (local.set $8 - (local.get $6) - ) - (br $while-out) + (local.set $9 + (local.get $6) ) + (br $while-out) ) ) - (local.set $7 - (i32.lt_u - (local.tee $1 - (i32.sub - (i32.and - (i32.load offset=4 - (local.get $0) - ) - (i32.const -8) + ) + (local.set $7 + (i32.lt_u + (local.tee $1 + (i32.sub + (i32.and + (i32.load offset=4 + (local.get $0) ) - (local.get $2) + (i32.const -8) ) + (local.get $3) ) - (local.get $10) ) + (local.get $10) ) - (local.set $10 - (select - (local.get $1) - (local.get $10) - (local.get $7) - ) + ) + (local.set $10 + (select + (local.get $1) + (local.get $10) + (local.get $7) ) - (local.set $6 - (select - (local.get $0) - (local.get $6) - (local.get $7) - ) + ) + (local.set $6 + (select + (local.get $0) + (local.get $6) + (local.get $7) ) - (br $while-in) ) + (br $while-in) ) - (if - (i32.lt_u - (local.get $8) - (local.tee $11 - (i32.load - (i32.const 192) - ) + ) + (if + (i32.lt_u + (local.get $9) + (local.tee $11 + (i32.load + (i32.const 192) ) ) - (call $_abort) ) - (if - (i32.ge_u - (local.get $8) - (local.tee $5 - (i32.add - (local.get $2) - (local.get $8) - ) + (call $_abort) + ) + (if + (i32.ge_u + (local.get $9) + (local.tee $5 + (i32.add + (local.get $3) + (local.get $9) ) ) - (call $_abort) ) - (local.set $9 - (i32.load offset=24 - (local.get $8) + (call $_abort) + ) + (local.set $8 + (i32.load offset=24 + (local.get $9) + ) + ) + (if + (i32.eq + (local.tee $0 + (i32.load offset=12 + (local.get $9) + ) ) + (local.get $9) ) - (if - (i32.eq - (local.tee $0 - (i32.load offset=12 - (local.get $8) - ) + (block $do-once4 + (local.set $0 + (i32.add + (local.get $9) + (i32.const 20) ) - (local.get $8) ) - (block $do-once4 - (local.set $0 - (i32.add - (local.get $8) - (i32.const 20) + (if + (i32.eqz + (local.tee $1 + (i32.load offset=20 + (local.get $9) + ) ) ) - (if - (i32.eqz - (local.tee $1 - (i32.load offset=20 - (local.get $8) - ) + (block + (local.set $0 + (i32.add + (local.get $9) + (i32.const 16) ) ) - (block - (local.set $0 - (i32.add - (local.get $8) - (i32.const 16) - ) - ) - (br_if $do-once4 - (i32.eqz - (local.tee $1 - (i32.load offset=16 - (local.get $8) - ) + (br_if $do-once4 + (i32.eqz + (local.tee $1 + (i32.load offset=16 + (local.get $9) ) ) ) ) ) - (loop $while-in7 - (local.set $10 - (i32.add + ) + (loop $while-in7 + (local.set $10 + (i32.add + (local.get $1) + (i32.const 20) + ) + ) + (if + (local.tee $6 + (i32.load offset=20 (local.get $1) - (i32.const 20) ) ) - (if - (local.tee $6 - (i32.load offset=20 - (local.get $1) - ) + (block + (local.set $1 + (local.get $6) ) - (block - (local.set $1 - (local.get $6) - ) - (local.set $0 - (local.get $10) - ) - (br $while-in7) + (local.set $0 + (local.get $10) ) + (br $while-in7) ) - (local.set $10 - (i32.add + ) + (local.set $10 + (i32.add + (local.get $1) + (i32.const 16) + ) + ) + (if + (local.tee $6 + (i32.load offset=16 (local.get $1) - (i32.const 16) ) ) - (if - (local.tee $6 - (i32.load offset=16 - (local.get $1) - ) + (block + (local.set $1 + (local.get $6) ) - (block - (local.set $1 - (local.get $6) - ) - (local.set $0 - (local.get $10) - ) - (br $while-in7) + (local.set $0 + (local.get $10) ) + (br $while-in7) ) ) - (if - (i32.lt_u + ) + (if + (i32.lt_u + (local.get $0) + (local.get $11) + ) + (call $_abort) + (block + (i32.store (local.get $0) - (local.get $11) + (i32.const 0) ) - (call $_abort) - (block - (i32.store - (local.get $0) - (i32.const 0) - ) - (local.set $4 - (local.get $1) - ) + (local.set $2 + (local.get $1) ) ) ) - (block - (if - (i32.lt_u - (local.tee $1 - (i32.load offset=8 - (local.get $8) - ) + ) + (block + (if + (i32.lt_u + (local.tee $1 + (i32.load offset=8 + (local.get $9) ) - (local.get $11) ) - (call $_abort) + (local.get $11) ) - (if - (i32.ne - (local.get $8) - (i32.load offset=12 - (local.get $1) - ) + (call $_abort) + ) + (if + (i32.ne + (local.get $9) + (i32.load offset=12 + (local.get $1) ) - (call $_abort) ) - (if - (i32.eq - (i32.load offset=8 - (local.get $0) - ) - (local.get $8) + (call $_abort) + ) + (if + (i32.eq + (i32.load offset=8 + (local.get $0) ) - (block - (i32.store offset=12 - (local.get $1) - (local.get $0) - ) - (i32.store offset=8 - (local.get $0) - (local.get $1) - ) - (local.set $4 - (local.get $0) - ) + (local.get $9) + ) + (block + (i32.store offset=12 + (local.get $1) + (local.get $0) + ) + (i32.store offset=8 + (local.get $0) + (local.get $1) + ) + (local.set $2 + (local.get $0) ) - (call $_abort) ) + (call $_abort) ) ) - (if - (local.get $9) - (block $do-once8 - (if - (i32.eq - (i32.load offset=480 - (local.tee $1 - (i32.shl - (local.tee $0 - (i32.load offset=28 - (local.get $8) - ) + ) + (if + (local.get $8) + (block $do-once8 + (if + (i32.eq + (i32.load offset=480 + (local.tee $1 + (i32.shl + (local.tee $0 + (i32.load offset=28 + (local.get $9) ) - (i32.const 2) ) + (i32.const 2) ) ) - (local.get $8) ) - (block - (i32.store offset=480 - (local.get $1) - (local.get $4) + (local.get $9) + ) + (block + (i32.store offset=480 + (local.get $1) + (local.get $2) + ) + (if + (i32.eqz + (local.get $2) ) - (if - (i32.eqz - (local.get $4) - ) - (block - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $0) - ) - (i32.const -1) + (block + (i32.store + (i32.const 180) + (i32.and + (i32.load + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $0) ) + (i32.const -1) ) ) - (br $do-once8) ) + (br $do-once8) ) ) - (block - (if - (i32.lt_u - (local.get $9) - (i32.load - (i32.const 192) - ) + ) + (block + (if + (i32.lt_u + (local.get $8) + (i32.load + (i32.const 192) ) - (call $_abort) ) - (if - (i32.eq - (i32.load offset=16 - (local.get $9) - ) + (call $_abort) + ) + (if + (i32.eq + (i32.load offset=16 (local.get $8) ) - (i32.store offset=16 - (local.get $9) - (local.get $4) - ) - (i32.store offset=20 - (local.get $9) - (local.get $4) - ) + (local.get $9) ) - (br_if $do-once8 - (i32.eqz - (local.get $4) - ) + (i32.store offset=16 + (local.get $8) + (local.get $2) + ) + (i32.store offset=20 + (local.get $8) + (local.get $2) + ) + ) + (br_if $do-once8 + (i32.eqz + (local.get $2) ) ) ) - (if - (i32.lt_u - (local.get $4) - (local.tee $0 - (i32.load - (i32.const 192) - ) + ) + (if + (i32.lt_u + (local.get $2) + (local.tee $0 + (i32.load + (i32.const 192) ) ) - (call $_abort) ) - (i32.store offset=24 - (local.get $4) - (local.get $9) + (call $_abort) + ) + (i32.store offset=24 + (local.get $2) + (local.get $8) + ) + (if + (local.tee $1 + (i32.load offset=16 + (local.get $9) + ) ) (if - (local.tee $1 - (i32.load offset=16 - (local.get $8) - ) + (i32.lt_u + (local.get $1) + (local.get $0) ) - (if - (i32.lt_u + (call $_abort) + (block + (i32.store offset=16 + (local.get $2) (local.get $1) - (local.get $0) ) - (call $_abort) - (block - (i32.store offset=16 - (local.get $4) - (local.get $1) - ) - (i32.store offset=24 - (local.get $1) - (local.get $4) - ) + (i32.store offset=24 + (local.get $1) + (local.get $2) ) ) ) + ) + (if + (local.tee $0 + (i32.load offset=20 + (local.get $9) + ) + ) (if - (local.tee $0 - (i32.load offset=20 - (local.get $8) + (i32.lt_u + (local.get $0) + (i32.load + (i32.const 192) ) ) - (if - (i32.lt_u + (call $_abort) + (block + (i32.store offset=20 + (local.get $2) (local.get $0) - (i32.load - (i32.const 192) - ) ) - (call $_abort) - (block - (i32.store offset=20 - (local.get $4) - (local.get $0) - ) - (i32.store offset=24 - (local.get $0) - (local.get $4) - ) + (i32.store offset=24 + (local.get $0) + (local.get $2) ) ) ) ) ) - (if - (i32.lt_u - (local.get $7) - (i32.const 16) - ) - (block - (i32.store offset=4 - (local.get $8) - (i32.or - (local.tee $0 - (i32.add - (local.get $2) - (local.get $7) - ) - ) - (i32.const 3) - ) - ) - (i32.store offset=4 + ) + (if + (i32.lt_u + (local.get $7) + (i32.const 16) + ) + (block + (i32.store offset=4 + (local.get $9) + (i32.or (local.tee $0 (i32.add - (local.get $0) - (local.get $8) - ) - ) - (i32.or - (i32.load offset=4 - (local.get $0) + (local.get $3) + (local.get $7) ) - (i32.const 1) ) + (i32.const 3) ) ) - (block - (i32.store offset=4 - (local.get $8) - (i32.or - (local.get $2) - (i32.const 3) + (i32.store offset=4 + (local.tee $0 + (i32.add + (local.get $0) + (local.get $9) ) ) - (i32.store offset=4 - (local.get $5) - (i32.or - (local.get $7) - (i32.const 1) + (i32.or + (i32.load offset=4 + (local.get $0) ) + (i32.const 1) ) - (i32.store - (i32.add - (local.get $5) - (local.get $7) - ) + ) + ) + (block + (i32.store offset=4 + (local.get $9) + (i32.or + (local.get $3) + (i32.const 3) + ) + ) + (i32.store offset=4 + (local.get $5) + (i32.or (local.get $7) + (i32.const 1) ) - (if - (local.tee $0 + ) + (i32.store + (i32.add + (local.get $5) + (local.get $7) + ) + (local.get $7) + ) + (if + (local.tee $0 + (i32.load + (i32.const 184) + ) + ) + (block + (local.set $6 (i32.load - (i32.const 184) + (i32.const 196) ) ) - (block - (local.set $4 - (i32.load - (i32.const 196) - ) - ) - (local.set $2 - (i32.add + (local.set $3 + (i32.add + (local.tee $2 (i32.shl (local.tee $0 (i32.shr_u @@ -8613,349 +8625,349 @@ ) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (if - (i32.and - (local.tee $1 - (i32.load - (i32.const 176) - ) + ) + (if + (i32.and + (local.tee $1 + (i32.load + (i32.const 176) ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $0) - ) + ) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $0) ) ) - (block - (local.set $1 - (i32.add - (local.get $2) - (i32.const 8) - ) + ) + (block + (local.set $1 + (i32.add + (local.get $3) + (i32.const 8) ) - (if - (i32.lt_u - (local.tee $0 - (i32.load offset=8 - (local.get $2) - ) - ) - (i32.load - (i32.const 192) + ) + (if + (i32.lt_u + (local.tee $0 + (i32.load offset=224 + (local.get $2) ) ) - (call $_abort) - (block - (local.set $12 - (local.get $1) - ) - (local.set $3 - (local.get $0) - ) + (i32.load + (i32.const 192) ) ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (local.get $0) + (call $_abort) + (block + (local.set $12 (local.get $1) ) - ) - (local.set $12 - (i32.add - (local.get $2) - (i32.const 8) + (local.set $4 + (local.get $0) ) ) - (local.set $3 - (local.get $2) - ) ) ) - (i32.store - (local.get $12) - (local.get $4) - ) - (i32.store offset=12 - (local.get $3) - (local.get $4) - ) - (i32.store offset=8 - (local.get $4) - (local.get $3) - ) - (i32.store offset=12 - (local.get $4) - (local.get $2) + (block + (i32.store + (i32.const 176) + (i32.or + (local.get $0) + (local.get $1) + ) + ) + (local.set $12 + (i32.add + (local.get $3) + (i32.const 8) + ) + ) + (local.set $4 + (local.get $3) + ) ) ) - ) - (i32.store - (i32.const 184) - (local.get $7) - ) - (i32.store - (i32.const 196) - (local.get $5) + (i32.store + (local.get $12) + (local.get $6) + ) + (i32.store offset=12 + (local.get $4) + (local.get $6) + ) + (i32.store offset=8 + (local.get $6) + (local.get $4) + ) + (i32.store offset=12 + (local.get $6) + (local.get $3) + ) ) ) - ) - (return - (i32.add - (local.get $8) - (i32.const 8) + (i32.store + (i32.const 184) + (local.get $7) + ) + (i32.store + (i32.const 196) + (local.get $5) ) ) ) - (local.get $2) + (return + (i32.add + (local.get $9) + (i32.const 8) + ) + ) ) + (local.get $3) ) - (local.get $2) ) + (local.get $3) ) - (if (result i32) - (i32.gt_u - (local.get $0) - (i32.const -65) - ) - (i32.const -1) - (block $do-once (result i32) - (local.set $2 - (i32.and - (local.tee $0 - (i32.add - (local.get $0) - (i32.const 11) - ) + ) + (if (result i32) + (i32.gt_u + (local.get $0) + (i32.const -65) + ) + (i32.const -1) + (block $do-once (result i32) + (local.set $3 + (i32.and + (local.tee $0 + (i32.add + (local.get $0) + (i32.const 11) ) - (i32.const -8) ) + (i32.const -8) ) - (if (result i32) - (local.tee $18 - (i32.load - (i32.const 180) - ) + ) + (if (result i32) + (local.tee $18 + (i32.load + (i32.const 180) ) - (block (result i32) - (local.set $14 + ) + (block (result i32) + (local.set $14 + (if (result i32) + (local.tee $0 + (i32.shr_u + (local.get $0) + (i32.const 8) + ) + ) (if (result i32) - (local.tee $0 - (i32.shr_u - (local.get $0) - (i32.const 8) - ) + (i32.gt_u + (local.get $3) + (i32.const 16777215) ) - (if (result i32) - (i32.gt_u - (local.get $2) - (i32.const 16777215) - ) - (i32.const 31) - (block (result i32) - (local.set $4 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.tee $1 - (i32.and - (i32.shr_u - (i32.add - (local.get $0) - (i32.const 1048320) - ) - (i32.const 16) + (i32.const 31) + (block (result i32) + (local.set $2 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.tee $1 + (i32.and + (i32.shr_u + (i32.add + (local.get $0) + (i32.const 1048320) ) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) ) - (i32.const 520192) ) - (i32.const 16) + (i32.const 520192) ) - (i32.const 4) + (i32.const 16) ) + (i32.const 4) ) - (local.set $3 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.get $4) - ) + ) + (local.set $4 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.get $2) ) - (i32.const 245760) ) - (i32.const 16) + (i32.const 245760) ) - (i32.const 2) + (i32.const 16) ) + (i32.const 2) ) - (i32.or - (i32.and - (i32.shr_u - (local.get $2) - (i32.add - (local.tee $0 - (i32.add - (i32.sub - (i32.const 14) + ) + (i32.or + (i32.and + (i32.shr_u + (local.get $3) + (i32.add + (local.tee $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or (i32.or - (i32.or - (local.get $1) - (local.get $4) - ) - (local.get $3) + (local.get $1) + (local.get $2) ) + (local.get $4) ) - (i32.shr_u - (i32.shl - (local.get $0) - (local.get $3) - ) - (i32.const 15) + ) + (i32.shr_u + (i32.shl + (local.get $0) + (local.get $4) ) + (i32.const 15) ) ) - (i32.const 7) ) + (i32.const 7) ) - (i32.const 1) - ) - (i32.shl - (local.get $0) - (i32.const 1) ) + (i32.const 1) + ) + (i32.shl + (local.get $0) + (i32.const 1) ) ) ) - (i32.const 0) ) + (i32.const 0) ) - (local.set $3 - (i32.sub - (i32.const 0) - (local.get $2) - ) + ) + (local.set $4 + (i32.sub + (i32.const 0) + (local.get $3) ) - (block $__rjto$3 - (block $__rjti$3 - (local.set $0 - (if (result i32) - (local.tee $0 - (i32.load offset=480 - (i32.shl - (local.get $14) - (i32.const 2) - ) + ) + (block $__rjto$3 + (block $__rjti$3 + (local.set $0 + (if (result i32) + (local.tee $0 + (i32.load offset=480 + (i32.shl + (local.get $14) + (i32.const 2) ) ) - (block (result i32) - (local.set $9 - (i32.shl - (local.get $2) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $14) - (i32.const 1) - ) - ) - (i32.eq + ) + (block (result i32) + (local.set $8 + (i32.shl + (local.get $3) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u (local.get $14) - (i32.const 31) + (i32.const 1) ) ) + (i32.eq + (local.get $14) + (i32.const 31) + ) ) ) - (local.set $1 - (i32.const 0) - ) - (loop $while-in14 (result i32) - (if - (i32.lt_u - (local.tee $4 - (i32.sub - (local.tee $12 - (i32.and - (i32.load offset=4 - (local.get $0) - ) - (i32.const -8) + ) + (local.set $1 + (i32.const 0) + ) + (loop $while-in14 (result i32) + (if + (i32.lt_u + (local.tee $2 + (i32.sub + (local.tee $12 + (i32.and + (i32.load offset=4 + (local.get $0) ) + (i32.const -8) ) - (local.get $2) ) + (local.get $3) ) - (local.get $3) ) - (local.set $1 - (if (result i32) - (i32.eq + (local.get $4) + ) + (local.set $1 + (if (result i32) + (i32.eq + (local.get $3) + (local.get $12) + ) + (block + (local.set $1 (local.get $2) - (local.get $12) - ) - (block - (local.set $1 - (local.get $4) - ) - (local.set $3 - (local.get $0) - ) - (br $__rjti$3) ) - (block (result i32) - (local.set $3 - (local.get $4) - ) + (local.set $4 (local.get $0) ) + (br $__rjti$3) + ) + (block (result i32) + (local.set $4 + (local.get $2) + ) + (local.get $0) ) ) ) - (local.set $0 - (select - (local.get $5) - (local.tee $4 - (i32.load offset=20 - (local.get $0) - ) + ) + (local.set $0 + (select + (local.get $5) + (local.tee $2 + (i32.load offset=20 + (local.get $0) ) - (i32.or - (i32.eqz - (local.get $4) - ) - (i32.eq - (local.get $4) - (local.tee $12 - (i32.load + ) + (i32.or + (i32.eqz + (local.get $2) + ) + (i32.eq + (local.get $2) + (local.tee $12 + (i32.load + (i32.add (i32.add - (i32.add - (local.get $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (local.get $9) - (i32.const 31) - ) - (i32.const 2) + (local.get $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (local.get $8) + (i32.const 31) ) + (i32.const 2) ) ) ) @@ -8963,1960 +8975,1996 @@ ) ) ) - (local.set $4 - (i32.shl - (local.get $9) - (i32.xor - (local.tee $5 - (i32.eqz - (local.get $12) - ) + ) + (local.set $2 + (i32.shl + (local.get $8) + (i32.xor + (local.tee $5 + (i32.eqz + (local.get $12) ) - (i32.const 1) ) + (i32.const 1) ) ) - (if (result i32) - (local.get $5) - (block (result i32) - (local.set $4 - (local.get $0) - ) - (local.get $1) + ) + (if (result i32) + (local.get $5) + (block (result i32) + (local.set $2 + (local.get $0) ) - (block - (local.set $5 - (local.get $0) - ) - (local.set $9 - (local.get $4) - ) - (local.set $0 - (local.get $12) - ) - (br $while-in14) + (local.get $1) + ) + (block + (local.set $5 + (local.get $0) ) + (local.set $8 + (local.get $2) + ) + (local.set $0 + (local.get $12) + ) + (br $while-in14) ) ) ) - (block (result i32) - (local.set $4 - (i32.const 0) - ) + ) + (block (result i32) + (local.set $2 (i32.const 0) ) + (i32.const 0) ) ) - (if - (i32.eqz - (i32.or - (local.get $0) - (local.get $4) - ) + ) + (if + (i32.eqz + (i32.or + (local.get $0) + (local.get $2) ) - (block - (drop - (br_if $do-once - (local.get $2) - (i32.eqz - (local.tee $1 - (i32.and - (local.get $18) - (i32.or - (local.tee $1 - (i32.shl - (i32.const 2) - (local.get $14) - ) - ) - (i32.sub - (i32.const 0) - (local.get $1) + ) + (block + (drop + (br_if $do-once + (local.get $3) + (i32.eqz + (local.tee $1 + (i32.and + (local.get $18) + (i32.or + (local.tee $1 + (i32.shl + (i32.const 2) + (local.get $14) ) ) + (i32.sub + (i32.const 0) + (local.get $1) + ) ) ) ) ) ) - (local.set $4 - (i32.load offset=480 - (i32.shl - (i32.add + ) + (local.set $2 + (i32.load offset=480 + (i32.shl + (i32.add + (i32.or (i32.or (i32.or (i32.or - (i32.or - (local.tee $1 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.add - (i32.and + (local.tee $1 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.add + (i32.and + (local.get $1) + (i32.sub + (i32.const 0) (local.get $1) - (i32.sub - (i32.const 0) - (local.get $1) - ) ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) - (local.tee $1 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.shr_u - (local.get $4) - (local.get $1) ) + (i32.const -1) ) - (i32.const 5) ) - (i32.const 8) + (i32.const 12) ) + (i32.const 16) ) ) (local.tee $1 (i32.and (i32.shr_u - (local.tee $4 + (local.tee $2 (i32.shr_u - (local.get $4) + (local.get $2) (local.get $1) ) ) - (i32.const 2) + (i32.const 5) ) - (i32.const 4) + (i32.const 8) ) ) ) (local.tee $1 (i32.and (i32.shr_u - (local.tee $4 + (local.tee $2 (i32.shr_u - (local.get $4) + (local.get $2) (local.get $1) ) ) - (i32.const 1) + (i32.const 2) ) - (i32.const 2) + (i32.const 4) ) ) ) (local.tee $1 (i32.and (i32.shr_u - (local.tee $4 + (local.tee $2 (i32.shr_u - (local.get $4) + (local.get $2) (local.get $1) ) ) (i32.const 1) ) - (i32.const 1) + (i32.const 2) ) ) ) - (i32.shr_u - (local.get $4) - (local.get $1) + (local.tee $1 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.shr_u + (local.get $2) + (local.get $1) + ) + ) + (i32.const 1) + ) + (i32.const 1) + ) ) ) - (i32.const 2) + (i32.shr_u + (local.get $2) + (local.get $1) + ) ) + (i32.const 2) ) ) ) ) - (local.set $4 - (if (result i32) - (local.get $4) - (block - (local.set $1 - (local.get $3) - ) - (local.set $3 - (local.get $4) - ) - (br $__rjti$3) + ) + (local.set $2 + (if (result i32) + (local.get $2) + (block + (local.set $1 + (local.get $4) ) - (local.get $0) + (local.set $4 + (local.get $2) + ) + (br $__rjti$3) ) + (local.get $0) ) - (br $__rjto$3) ) - (local.set $3 - (loop $while-in16 (result i32) - (local.set $12 - (i32.lt_u - (local.tee $4 - (i32.sub - (i32.and - (i32.load offset=4 - (local.get $3) - ) - (i32.const -8) + (br $__rjto$3) + ) + (local.set $4 + (loop $while-in16 (result i32) + (local.set $12 + (i32.lt_u + (local.tee $2 + (i32.sub + (i32.and + (i32.load offset=4 + (local.get $4) ) - (local.get $2) + (i32.const -8) ) + (local.get $3) ) - (local.get $1) ) + (local.get $1) ) - (local.set $1 - (select - (local.get $4) - (local.get $1) - (local.get $12) - ) + ) + (local.set $1 + (select + (local.get $2) + (local.get $1) + (local.get $12) ) - (local.set $0 - (select - (local.get $3) - (local.get $0) - (local.get $12) - ) + ) + (local.set $0 + (select + (local.get $4) + (local.get $0) + (local.get $12) ) - (if - (local.tee $4 - (i32.load offset=16 - (local.get $3) - ) - ) - (block - (local.set $3 - (local.get $4) - ) - (br $while-in16) + ) + (if + (local.tee $2 + (i32.load offset=16 + (local.get $4) ) ) - (br_if $while-in16 - (local.tee $3 - (i32.load offset=20 - (local.get $3) - ) + (block + (local.set $4 + (local.get $2) ) + (br $while-in16) ) - (local.set $4 - (local.get $0) + ) + (br_if $while-in16 + (local.tee $4 + (i32.load offset=20 + (local.get $4) + ) ) - (local.get $1) ) + (local.set $2 + (local.get $0) + ) + (local.get $1) ) ) + ) + (if (result i32) + (local.get $2) (if (result i32) - (local.get $4) - (if (result i32) - (i32.lt_u - (local.get $3) - (i32.sub - (i32.load - (i32.const 184) - ) - (local.get $2) + (i32.lt_u + (local.get $4) + (i32.sub + (i32.load + (i32.const 184) ) + (local.get $3) ) - (block - (if - (i32.lt_u - (local.get $4) - (local.tee $8 - (i32.load - (i32.const 192) - ) + ) + (block + (if + (i32.lt_u + (local.get $2) + (local.tee $9 + (i32.load + (i32.const 192) ) ) - (call $_abort) ) - (if - (i32.ge_u - (local.get $4) - (local.tee $5 - (i32.add - (local.get $2) - (local.get $4) - ) + (call $_abort) + ) + (if + (i32.ge_u + (local.get $2) + (local.tee $5 + (i32.add + (local.get $2) + (local.get $3) ) ) - (call $_abort) ) - (local.set $12 - (i32.load offset=24 - (local.get $4) + (call $_abort) + ) + (local.set $12 + (i32.load offset=24 + (local.get $2) + ) + ) + (if + (i32.eq + (local.tee $0 + (i32.load offset=12 + (local.get $2) + ) ) + (local.get $2) ) - (if - (i32.eq - (local.tee $0 - (i32.load offset=12 - (local.get $4) - ) + (block $do-once17 + (local.set $0 + (i32.add + (local.get $2) + (i32.const 20) ) - (local.get $4) ) - (block $do-once17 - (local.set $0 - (i32.add - (local.get $4) - (i32.const 20) + (if + (i32.eqz + (local.tee $1 + (i32.load offset=20 + (local.get $2) + ) ) ) - (if - (i32.eqz - (local.tee $1 - (i32.load offset=20 - (local.get $4) - ) + (block + (local.set $0 + (i32.add + (local.get $2) + (i32.const 16) ) ) - (block - (local.set $0 - (i32.add - (local.get $4) - (i32.const 16) - ) - ) - (br_if $do-once17 - (i32.eqz - (local.tee $1 - (i32.load offset=16 - (local.get $4) - ) + (br_if $do-once17 + (i32.eqz + (local.tee $1 + (i32.load offset=16 + (local.get $2) ) ) ) ) ) - (loop $while-in20 - (local.set $10 - (i32.add + ) + (loop $while-in20 + (local.set $10 + (i32.add + (local.get $1) + (i32.const 20) + ) + ) + (if + (local.tee $6 + (i32.load offset=20 (local.get $1) - (i32.const 20) ) ) - (if - (local.tee $6 - (i32.load offset=20 - (local.get $1) - ) + (block + (local.set $1 + (local.get $6) ) - (block - (local.set $1 - (local.get $6) - ) - (local.set $0 - (local.get $10) - ) - (br $while-in20) + (local.set $0 + (local.get $10) ) + (br $while-in20) ) - (local.set $10 - (i32.add + ) + (local.set $10 + (i32.add + (local.get $1) + (i32.const 16) + ) + ) + (if + (local.tee $6 + (i32.load offset=16 (local.get $1) - (i32.const 16) ) ) - (if - (local.tee $6 - (i32.load offset=16 - (local.get $1) - ) + (block + (local.set $1 + (local.get $6) ) - (block - (local.set $1 - (local.get $6) - ) - (local.set $0 - (local.get $10) - ) - (br $while-in20) + (local.set $0 + (local.get $10) ) + (br $while-in20) ) ) - (if - (i32.lt_u + ) + (if + (i32.lt_u + (local.get $0) + (local.get $9) + ) + (call $_abort) + (block + (i32.store (local.get $0) - (local.get $8) + (i32.const 0) ) - (call $_abort) - (block - (i32.store - (local.get $0) - (i32.const 0) - ) - (local.set $11 - (local.get $1) - ) + (local.set $11 + (local.get $1) ) ) ) - (block - (if - (i32.lt_u - (local.tee $1 - (i32.load offset=8 - (local.get $4) - ) + ) + (block + (if + (i32.lt_u + (local.tee $1 + (i32.load offset=8 + (local.get $2) ) - (local.get $8) ) - (call $_abort) + (local.get $9) ) - (if - (i32.ne - (local.get $4) - (i32.load offset=12 - (local.get $1) - ) + (call $_abort) + ) + (if + (i32.ne + (local.get $2) + (i32.load offset=12 + (local.get $1) ) - (call $_abort) ) - (if - (i32.eq - (i32.load offset=8 - (local.get $0) - ) - (local.get $4) + (call $_abort) + ) + (if + (i32.eq + (i32.load offset=8 + (local.get $0) ) - (block - (i32.store offset=12 - (local.get $1) - (local.get $0) - ) - (i32.store offset=8 - (local.get $0) - (local.get $1) - ) - (local.set $11 - (local.get $0) - ) + (local.get $2) + ) + (block + (i32.store offset=12 + (local.get $1) + (local.get $0) + ) + (i32.store offset=8 + (local.get $0) + (local.get $1) + ) + (local.set $11 + (local.get $0) ) - (call $_abort) ) + (call $_abort) ) ) - (if - (local.get $12) - (block $do-once21 - (if - (i32.eq - (i32.load offset=480 - (local.tee $1 - (i32.shl - (local.tee $0 - (i32.load offset=28 - (local.get $4) - ) + ) + (if + (local.get $12) + (block $do-once21 + (if + (i32.eq + (i32.load offset=480 + (local.tee $1 + (i32.shl + (local.tee $0 + (i32.load offset=28 + (local.get $2) ) - (i32.const 2) ) + (i32.const 2) ) ) - (local.get $4) ) - (block - (i32.store offset=480 - (local.get $1) + (local.get $2) + ) + (block + (i32.store offset=480 + (local.get $1) + (local.get $11) + ) + (if + (i32.eqz (local.get $11) ) - (if - (i32.eqz - (local.get $11) - ) - (block - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $0) - ) - (i32.const -1) + (block + (i32.store + (i32.const 180) + (i32.and + (i32.load + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $0) ) + (i32.const -1) ) ) - (br $do-once21) ) + (br $do-once21) ) ) - (block - (if - (i32.lt_u - (local.get $12) - (i32.load - (i32.const 192) - ) + ) + (block + (if + (i32.lt_u + (local.get $12) + (i32.load + (i32.const 192) ) - (call $_abort) ) - (if - (i32.eq - (i32.load offset=16 - (local.get $12) - ) - (local.get $4) - ) - (i32.store offset=16 - (local.get $12) - (local.get $11) - ) - (i32.store offset=20 + (call $_abort) + ) + (if + (i32.eq + (i32.load offset=16 (local.get $12) - (local.get $11) ) + (local.get $2) ) - (br_if $do-once21 - (i32.eqz - (local.get $11) - ) + (i32.store offset=16 + (local.get $12) + (local.get $11) + ) + (i32.store offset=20 + (local.get $12) + (local.get $11) ) ) - ) - (if - (i32.lt_u - (local.get $11) - (local.tee $0 - (i32.load - (i32.const 192) - ) + (br_if $do-once21 + (i32.eqz + (local.get $11) ) ) - (call $_abort) ) - (i32.store offset=24 + ) + (if + (i32.lt_u (local.get $11) - (local.get $12) + (local.tee $0 + (i32.load + (i32.const 192) + ) + ) + ) + (call $_abort) + ) + (i32.store offset=24 + (local.get $11) + (local.get $12) + ) + (if + (local.tee $1 + (i32.load offset=16 + (local.get $2) + ) ) (if - (local.tee $1 - (i32.load offset=16 - (local.get $4) - ) + (i32.lt_u + (local.get $1) + (local.get $0) ) - (if - (i32.lt_u + (call $_abort) + (block + (i32.store offset=16 + (local.get $11) (local.get $1) - (local.get $0) ) - (call $_abort) - (block - (i32.store offset=16 - (local.get $11) - (local.get $1) - ) - (i32.store offset=24 - (local.get $1) - (local.get $11) - ) + (i32.store offset=24 + (local.get $1) + (local.get $11) ) ) ) + ) + (if + (local.tee $0 + (i32.load offset=20 + (local.get $2) + ) + ) (if - (local.tee $0 - (i32.load offset=20 - (local.get $4) + (i32.lt_u + (local.get $0) + (i32.load + (i32.const 192) ) ) - (if - (i32.lt_u + (call $_abort) + (block + (i32.store offset=20 + (local.get $11) (local.get $0) - (i32.load - (i32.const 192) - ) ) - (call $_abort) - (block - (i32.store offset=20 - (local.get $11) - (local.get $0) - ) - (i32.store offset=24 - (local.get $0) - (local.get $11) - ) + (i32.store offset=24 + (local.get $0) + (local.get $11) ) ) ) ) ) - (if - (i32.lt_u - (local.get $3) - (i32.const 16) - ) - (block - (i32.store offset=4 - (local.get $4) - (i32.or - (local.tee $0 - (i32.add - (local.get $2) - (local.get $3) - ) - ) - (i32.const 3) - ) - ) - (i32.store offset=4 + ) + (if + (i32.lt_u + (local.get $4) + (i32.const 16) + ) + (block + (i32.store offset=4 + (local.get $2) + (i32.or (local.tee $0 (i32.add - (local.get $0) + (local.get $3) (local.get $4) ) ) - (i32.or - (i32.load offset=4 - (local.get $0) - ) - (i32.const 1) - ) + (i32.const 3) ) ) - (block $do-once25 - (i32.store offset=4 - (local.get $4) - (i32.or + (i32.store offset=4 + (local.tee $0 + (i32.add + (local.get $0) (local.get $2) - (i32.const 3) ) ) - (i32.store offset=4 - (local.get $5) - (i32.or - (local.get $3) - (i32.const 1) + (i32.or + (i32.load offset=4 + (local.get $0) ) + (i32.const 1) ) - (i32.store - (i32.add - (local.get $3) - (local.get $5) - ) + ) + ) + (block $do-once25 + (i32.store offset=4 + (local.get $2) + (i32.or (local.get $3) + (i32.const 3) ) - (local.set $0 - (i32.shr_u - (local.get $3) - (i32.const 3) - ) + ) + (i32.store offset=4 + (local.get $5) + (i32.or + (local.get $4) + (i32.const 1) ) - (if - (i32.lt_u - (local.get $3) - (i32.const 256) - ) - (block - (local.set $3 - (i32.add + ) + (i32.store + (i32.add + (local.get $4) + (local.get $5) + ) + (local.get $4) + ) + (local.set $0 + (i32.shr_u + (local.get $4) + (i32.const 3) + ) + ) + (if + (i32.lt_u + (local.get $4) + (i32.const 256) + ) + (block + (local.set $4 + (i32.add + (local.tee $3 (i32.shl (local.get $0) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (if - (i32.and - (local.tee $1 - (i32.load - (i32.const 176) - ) + ) + (if + (i32.and + (local.tee $1 + (i32.load + (i32.const 176) ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $0) - ) + ) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $0) ) ) - (block - (local.set $1 - (i32.add - (local.get $3) - (i32.const 8) - ) + ) + (block + (local.set $1 + (i32.add + (local.get $4) + (i32.const 8) ) - (if - (i32.lt_u - (local.tee $0 - (i32.load offset=8 - (local.get $3) - ) - ) - (i32.load - (i32.const 192) + ) + (if + (i32.lt_u + (local.tee $0 + (i32.load offset=224 + (local.get $3) ) ) - (call $_abort) - (block - (local.set $13 - (local.get $1) - ) - (local.set $7 - (local.get $0) - ) + (i32.load + (i32.const 192) ) ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (local.get $0) + (call $_abort) + (block + (local.set $13 (local.get $1) ) - ) - (local.set $13 - (i32.add - (local.get $3) - (i32.const 8) + (local.set $7 + (local.get $0) ) ) - (local.set $7 - (local.get $3) - ) ) ) - (i32.store - (local.get $13) - (local.get $5) - ) - (i32.store offset=12 - (local.get $7) - (local.get $5) - ) - (i32.store offset=8 - (local.get $5) - (local.get $7) - ) - (i32.store offset=12 - (local.get $5) - (local.get $3) + (block + (i32.store + (i32.const 176) + (i32.or + (local.get $0) + (local.get $1) + ) + ) + (local.set $13 + (i32.add + (local.get $4) + (i32.const 8) + ) + ) + (local.set $7 + (local.get $4) + ) ) - (br $do-once25) ) + (i32.store + (local.get $13) + (local.get $5) + ) + (i32.store offset=12 + (local.get $7) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $7) + ) + (i32.store offset=12 + (local.get $5) + (local.get $4) + ) + (br $do-once25) ) - (local.set $2 - (i32.add - (local.tee $10 - (i32.shl - (local.tee $6 + ) + (local.set $3 + (i32.add + (local.tee $10 + (i32.shl + (local.tee $6 + (if (result i32) + (local.tee $0 + (i32.shr_u + (local.get $4) + (i32.const 8) + ) + ) (if (result i32) - (local.tee $0 - (i32.shr_u - (local.get $3) - (i32.const 8) - ) + (i32.gt_u + (local.get $4) + (i32.const 16777215) ) - (if (result i32) - (i32.gt_u - (local.get $3) - (i32.const 16777215) - ) - (i32.const 31) - (block (result i32) - (local.set $6 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.tee $1 - (i32.and - (i32.shr_u - (i32.add - (local.get $0) - (i32.const 1048320) - ) - (i32.const 16) + (i32.const 31) + (block (result i32) + (local.set $6 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.tee $1 + (i32.and + (i32.shr_u + (i32.add + (local.get $0) + (i32.const 1048320) ) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) ) - (i32.const 520192) ) - (i32.const 16) + (i32.const 520192) ) - (i32.const 4) + (i32.const 16) ) + (i32.const 4) ) - (local.set $2 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.get $6) - ) + ) + (local.set $3 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.get $6) ) - (i32.const 245760) ) - (i32.const 16) + (i32.const 245760) ) - (i32.const 2) + (i32.const 16) ) + (i32.const 2) ) - (i32.or - (i32.and - (i32.shr_u - (local.get $3) - (i32.add - (local.tee $0 - (i32.add - (i32.sub - (i32.const 14) + ) + (i32.or + (i32.and + (i32.shr_u + (local.get $4) + (i32.add + (local.tee $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or (i32.or - (i32.or - (local.get $1) - (local.get $6) - ) - (local.get $2) + (local.get $1) + (local.get $6) ) + (local.get $3) ) - (i32.shr_u - (i32.shl - (local.get $0) - (local.get $2) - ) - (i32.const 15) + ) + (i32.shr_u + (i32.shl + (local.get $0) + (local.get $3) ) + (i32.const 15) ) ) - (i32.const 7) ) + (i32.const 7) ) - (i32.const 1) - ) - (i32.shl - (local.get $0) - (i32.const 1) ) + (i32.const 1) + ) + (i32.shl + (local.get $0) + (i32.const 1) ) ) ) - (i32.const 0) ) + (i32.const 0) ) - (i32.const 2) ) + (i32.const 2) ) - (i32.const 480) - ) - ) - (i32.store offset=28 - (local.get $5) - (local.get $6) - ) - (i32.store offset=4 - (i32.add - (local.get $5) - (i32.const 16) ) - (i32.const 0) - ) - (i32.store offset=16 - (local.get $5) - (i32.const 0) + (i32.const 480) ) - (if - (i32.eqz - (i32.and - (local.tee $1 - (i32.load - (i32.const 180) - ) - ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $6) - ) + ) + (i32.store offset=28 + (local.get $5) + (local.get $6) + ) + (i32.store offset=20 + (local.get $5) + (i32.const 0) + ) + (i32.store offset=16 + (local.get $5) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (local.tee $1 + (i32.load + (i32.const 180) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (local.get $0) - (local.get $1) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $6) ) ) - (i32.store offset=480 - (local.get $10) - (local.get $5) - ) - (i32.store offset=24 - (local.get $5) - (local.get $2) - ) - (i32.store offset=12 - (local.get $5) - (local.get $5) - ) - (i32.store offset=8 - (local.get $5) - (local.get $5) - ) - (br $do-once25) ) ) - (local.set $6 - (i32.shl + (block + (i32.store + (i32.const 180) + (i32.or + (local.get $0) + (local.get $1) + ) + ) + (i32.store offset=480 + (local.get $10) + (local.get $5) + ) + (i32.store offset=24 + (local.get $5) (local.get $3) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $6) - (i32.const 1) - ) - ) - (i32.eq + ) + (i32.store offset=12 + (local.get $5) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $5) + ) + (br $do-once25) + ) + ) + (local.set $6 + (i32.shl + (local.get $4) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u (local.get $6) - (i32.const 31) + (i32.const 1) ) ) + (i32.eq + (local.get $6) + (i32.const 31) + ) ) ) - (local.set $0 - (i32.load offset=480 - (local.get $10) - ) + ) + (local.set $0 + (i32.load offset=480 + (local.get $10) ) - (block $__rjto$1 - (block $__rjti$1 - (loop $while-in28 - (br_if $__rjti$1 - (i32.eq - (i32.and - (i32.load offset=4 - (local.get $0) - ) - (i32.const -8) + ) + (block $__rjto$1 + (block $__rjti$1 + (loop $while-in28 + (br_if $__rjti$1 + (i32.eq + (i32.and + (i32.load offset=4 + (local.get $0) ) - (local.get $3) + (i32.const -8) ) + (local.get $4) ) - (local.set $2 - (i32.shl - (local.get $6) - (i32.const 1) - ) + ) + (local.set $3 + (i32.shl + (local.get $6) + (i32.const 1) ) - (if - (local.tee $1 - (i32.load - (local.tee $6 + ) + (if + (local.tee $1 + (i32.load + (local.tee $6 + (i32.add (i32.add - (i32.add - (local.get $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (local.get $6) - (i32.const 31) - ) - (i32.const 2) + (local.get $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (local.get $6) + (i32.const 31) ) + (i32.const 2) ) ) ) ) - (block - (local.set $6 - (local.get $2) - ) - (local.set $0 - (local.get $1) - ) - (br $while-in28) - ) - ) - ) - (if - (i32.lt_u - (local.get $6) - (i32.load - (i32.const 192) - ) ) - (call $_abort) (block - (i32.store - (local.get $6) - (local.get $5) - ) - (i32.store offset=24 - (local.get $5) - (local.get $0) - ) - (i32.store offset=12 - (local.get $5) - (local.get $5) + (local.set $6 + (local.get $3) ) - (i32.store offset=8 - (local.get $5) - (local.get $5) + (local.set $0 + (local.get $1) ) - (br $do-once25) + (br $while-in28) ) ) - (br $__rjto$1) ) (if - (i32.and - (i32.ge_u - (local.tee $3 - (i32.load offset=8 - (local.get $0) - ) - ) - (local.tee $1 - (i32.load - (i32.const 192) - ) - ) - ) - (i32.ge_u - (local.get $0) - (local.get $1) + (i32.lt_u + (local.get $6) + (i32.load + (i32.const 192) ) ) + (call $_abort) (block - (i32.store offset=12 - (local.get $3) + (i32.store + (local.get $6) (local.get $5) ) - (i32.store offset=8 + (i32.store offset=24 + (local.get $5) (local.get $0) + ) + (i32.store offset=12 + (local.get $5) (local.get $5) ) (i32.store offset=8 (local.get $5) - (local.get $3) - ) - (i32.store offset=12 (local.get $5) - (local.get $0) ) - (i32.store offset=24 - (local.get $5) - (i32.const 0) + (br $do-once25) + ) + ) + (br $__rjto$1) + ) + (if + (i32.and + (i32.ge_u + (local.tee $4 + (i32.load offset=8 + (local.get $0) + ) + ) + (local.tee $1 + (i32.load + (i32.const 192) + ) ) ) - (call $_abort) + (i32.ge_u + (local.get $0) + (local.get $1) + ) + ) + (block + (i32.store offset=12 + (local.get $4) + (local.get $5) + ) + (i32.store offset=8 + (local.get $0) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $4) + ) + (i32.store offset=12 + (local.get $5) + (local.get $0) + ) + (i32.store offset=24 + (local.get $5) + (i32.const 0) + ) ) + (call $_abort) ) ) ) - (return - (i32.add - (local.get $4) - (i32.const 8) - ) + ) + (return + (i32.add + (local.get $2) + (i32.const 8) ) ) - (local.get $2) ) - (local.get $2) + (local.get $3) ) + (local.get $3) ) - (local.get $2) ) + (local.get $3) ) ) ) ) - (if - (i32.ge_u - (local.tee $1 - (i32.load - (i32.const 184) - ) + ) + (if + (i32.ge_u + (local.tee $1 + (i32.load + (i32.const 184) ) - (local.get $0) ) - (block - (local.set $2 - (i32.load - (i32.const 196) + (local.get $0) + ) + (block + (local.set $3 + (i32.load + (i32.const 196) + ) + ) + (if + (i32.gt_u + (local.tee $4 + (i32.sub + (local.get $1) + (local.get $0) + ) ) + (i32.const 15) ) - (if - (i32.gt_u - (local.tee $3 - (i32.sub - (local.get $1) + (block + (i32.store + (i32.const 196) + (local.tee $1 + (i32.add (local.get $0) + (local.get $3) ) ) - (i32.const 15) ) - (block - (i32.store - (i32.const 196) - (local.tee $1 - (i32.add - (local.get $0) - (local.get $2) - ) - ) + (i32.store + (i32.const 184) + (local.get $4) + ) + (i32.store offset=4 + (local.get $1) + (i32.or + (local.get $4) + (i32.const 1) ) - (i32.store - (i32.const 184) - (local.get $3) + ) + (i32.store + (i32.add + (local.get $1) + (local.get $4) ) - (i32.store offset=4 + (local.get $4) + ) + (i32.store offset=4 + (local.get $3) + (i32.or + (local.get $0) + (i32.const 3) + ) + ) + ) + (block + (i32.store + (i32.const 184) + (i32.const 0) + ) + (i32.store + (i32.const 196) + (i32.const 0) + ) + (i32.store offset=4 + (local.get $3) + (i32.or (local.get $1) - (i32.or - (local.get $3) - (i32.const 1) - ) + (i32.const 3) ) - (i32.store + ) + (i32.store offset=4 + (local.tee $0 (i32.add (local.get $1) (local.get $3) ) - (local.get $3) ) - (i32.store offset=4 - (local.get $2) - (i32.or + (i32.or + (i32.load offset=4 (local.get $0) - (i32.const 3) - ) - ) - ) - (block - (i32.store - (i32.const 184) - (i32.const 0) - ) - (i32.store - (i32.const 196) - (i32.const 0) - ) - (i32.store offset=4 - (local.get $2) - (i32.or - (local.get $1) - (i32.const 3) - ) - ) - (i32.store offset=4 - (local.tee $0 - (i32.add - (local.get $1) - (local.get $2) - ) - ) - (i32.or - (i32.load offset=4 - (local.get $0) - ) - (i32.const 1) ) + (i32.const 1) ) ) ) - (br $folding-inner1) + ) + (return + (i32.add + (local.get $3) + (i32.const 8) + ) ) ) - (block $folding-inner0 - (br_if $folding-inner0 - (i32.gt_u - (local.tee $1 - (i32.load - (i32.const 188) - ) + ) + (block $folding-inner0 + (br_if $folding-inner0 + (i32.gt_u + (local.tee $1 + (i32.load + (i32.const 188) ) - (local.get $0) + ) + (local.get $0) + ) + ) + (if + (i32.eqz + (i32.load + (i32.const 648) ) ) (if - (i32.eqz - (i32.load - (i32.const 648) + (i32.and + (local.tee $1 + (call $_sysconf + (i32.const 30) + ) + ) + (i32.add + (local.get $1) + (i32.const -1) ) ) - (if - (i32.and - (local.tee $1 - (call $_sysconf - (i32.const 30) - ) - ) - (i32.add - (local.get $1) - (i32.const -1) - ) + (call $_abort) + (block + (i32.store + (i32.const 656) + (local.get $1) ) - (call $_abort) - (block - (i32.store - (i32.const 656) - (local.get $1) - ) - (i32.store - (i32.const 652) - (local.get $1) - ) - (i32.store - (i32.const 660) - (i32.const -1) - ) - (i32.store - (i32.const 664) - (i32.const -1) - ) - (i32.store - (i32.const 668) - (i32.const 0) - ) - (i32.store - (i32.const 620) - (i32.const 0) - ) - (i32.store - (i32.const 648) - (i32.xor - (i32.and - (call $_time - (i32.const 0) - ) - (i32.const -16) + (i32.store + (i32.const 652) + (local.get $1) + ) + (i32.store + (i32.const 660) + (i32.const -1) + ) + (i32.store + (i32.const 664) + (i32.const -1) + ) + (i32.store + (i32.const 668) + (i32.const 0) + ) + (i32.store + (i32.const 620) + (i32.const 0) + ) + (i32.store + (i32.const 648) + (i32.xor + (i32.and + (call $_time + (i32.const 0) ) - (i32.const 1431655768) + (i32.const -16) ) + (i32.const 1431655768) ) ) ) ) - (if - (i32.le_u - (local.tee $7 - (i32.and - (local.tee $5 - (i32.add - (local.tee $1 - (i32.load - (i32.const 656) - ) + ) + (if + (i32.le_u + (local.tee $7 + (i32.and + (local.tee $5 + (i32.add + (local.tee $1 + (i32.load + (i32.const 656) ) - (local.tee $9 - (i32.add - (local.get $0) - (i32.const 47) - ) + ) + (local.tee $8 + (i32.add + (local.get $0) + (i32.const 47) ) ) ) - (local.tee $12 - (i32.sub - (i32.const 0) - (local.get $1) - ) + ) + (local.tee $12 + (i32.sub + (i32.const 0) + (local.get $1) ) ) ) - (local.get $0) ) - (return - (i32.const 0) + (local.get $0) + ) + (return + (i32.const 0) + ) + ) + (if + (local.tee $3 + (i32.load + (i32.const 616) ) ) (if - (local.tee $2 - (i32.load - (i32.const 616) - ) - ) - (if - (i32.or - (i32.le_u - (local.tee $1 - (i32.add - (local.tee $3 - (i32.load - (i32.const 608) - ) + (i32.or + (i32.le_u + (local.tee $1 + (i32.add + (local.tee $4 + (i32.load + (i32.const 608) ) - (local.get $7) ) + (local.get $7) ) - (local.get $3) - ) - (i32.gt_u - (local.get $1) - (local.get $2) ) + (local.get $4) ) - (return - (i32.const 0) + (i32.gt_u + (local.get $1) + (local.get $3) ) ) - ) - (local.set $11 - (i32.add - (local.get $0) - (i32.const 48) + (return + (i32.const 0) ) ) - (block $__rjto$13 - (block $__rjti$13 - (if - (i32.eqz - (i32.and - (i32.load - (i32.const 620) - ) - (i32.const 4) + ) + (local.set $11 + (i32.add + (local.get $0) + (i32.const 48) + ) + ) + (block $__rjto$13 + (block $__rjti$13 + (if + (i32.eqz + (i32.and + (i32.load + (i32.const 620) ) + (i32.const 4) ) - (block - (block $label$break$L279 - (block $__rjti$5 - (block $__rjti$4 - (br_if $__rjti$4 - (i32.eqz - (local.tee $4 - (i32.load - (i32.const 200) - ) + ) + (block + (block $label$break$L279 + (block $__rjti$5 + (block $__rjti$4 + (br_if $__rjti$4 + (i32.eqz + (local.tee $2 + (i32.load + (i32.const 200) ) ) ) - (local.set $1 - (i32.const 624) - ) - (loop $while-in34 - (block $while-out33 - (if - (i32.le_u - (local.tee $3 - (i32.load - (local.get $1) - ) + ) + (local.set $1 + (i32.const 624) + ) + (loop $while-in34 + (block $while-out33 + (if + (i32.le_u + (local.tee $4 + (i32.load + (local.get $1) ) - (local.get $4) ) - (block - (local.set $2 - (i32.add - (local.get $1) - (i32.const 4) - ) + (local.get $2) + ) + (block + (local.set $3 + (i32.add + (local.get $1) + (i32.const 4) ) - (if - (i32.gt_u - (i32.add - (local.get $3) - (i32.load offset=4 - (local.get $1) - ) - ) + ) + (if + (i32.gt_u + (i32.add (local.get $4) - ) - (block - (local.set $4 + (i32.load offset=4 (local.get $1) ) - (br $while-out33) ) + (local.get $2) + ) + (block + (local.set $2 + (local.get $1) + ) + (br $while-out33) ) ) ) - (br_if $while-in34 - (local.tee $1 - (i32.load offset=8 - (local.get $1) - ) + ) + (br_if $while-in34 + (local.tee $1 + (i32.load offset=8 + (local.get $1) ) ) - (br $__rjti$4) ) + (br $__rjti$4) ) - (if - (i32.lt_u - (local.tee $3 - (i32.and - (i32.sub - (local.get $5) - (i32.load - (i32.const 188) - ) + ) + (if + (i32.lt_u + (local.tee $4 + (i32.and + (i32.sub + (local.get $5) + (i32.load + (i32.const 188) ) - (local.get $12) ) + (local.get $12) ) - (i32.const 2147483647) ) - (block - (local.set $1 - (call $_sbrk - (local.get $3) - ) + (i32.const 2147483647) + ) + (block + (local.set $1 + (call $_sbrk + (local.get $4) ) - (if - (i32.eq - (i32.add - (i32.load - (local.get $4) - ) - (i32.load - (local.get $2) - ) + ) + (if + (i32.eq + (i32.add + (i32.load + (local.get $2) ) - (local.get $1) - ) - (br_if $__rjti$13 - (i32.ne - (local.get $1) - (i32.const -1) + (i32.load + (local.get $3) ) ) - (block - (local.set $2 - (local.get $1) - ) - (br $__rjti$5) + (local.get $1) + ) + (br_if $__rjti$13 + (i32.ne + (local.get $1) + (i32.const -1) ) ) + (block + (local.set $3 + (local.get $1) + ) + (br $__rjti$5) + ) ) ) - (br $label$break$L279) ) - (if - (i32.ne - (local.tee $1 - (call $_sbrk - (i32.const 0) - ) + (br $label$break$L279) + ) + (if + (i32.ne + (local.tee $1 + (call $_sbrk + (i32.const 0) ) - (i32.const -1) ) - (block - (local.set $3 - (if (result i32) - (i32.and - (local.tee $3 - (local.get $1) - ) - (local.tee $2 - (i32.add - (local.tee $4 - (i32.load - (i32.const 652) - ) + (i32.const -1) + ) + (block + (local.set $4 + (if (result i32) + (i32.and + (local.tee $4 + (local.get $1) + ) + (local.tee $3 + (i32.add + (local.tee $2 + (i32.load + (i32.const 652) ) - (i32.const -1) ) + (i32.const -1) ) ) - (i32.add - (i32.sub - (local.get $7) + ) + (i32.add + (i32.sub + (local.get $7) + (local.get $4) + ) + (i32.and + (i32.add (local.get $3) + (local.get $4) ) - (i32.and - (i32.add - (local.get $2) - (local.get $3) - ) - (i32.sub - (i32.const 0) - (local.get $4) - ) + (i32.sub + (i32.const 0) + (local.get $2) ) ) - (local.get $7) ) + (local.get $7) ) - (local.set $12 - (i32.add - (local.tee $4 - (i32.load - (i32.const 608) - ) + ) + (local.set $12 + (i32.add + (local.tee $2 + (i32.load + (i32.const 608) ) - (local.get $3) ) + (local.get $4) ) - (if - (i32.and - (i32.lt_u - (local.get $3) - (i32.const 2147483647) - ) - (i32.gt_u - (local.get $3) - (local.get $0) - ) + ) + (if + (i32.and + (i32.lt_u + (local.get $4) + (i32.const 2147483647) ) - (block - (if - (local.tee $2 - (i32.load - (i32.const 616) - ) + (i32.gt_u + (local.get $4) + (local.get $0) + ) + ) + (block + (if + (local.tee $3 + (i32.load + (i32.const 616) ) - (br_if $label$break$L279 - (i32.or - (i32.le_u - (local.get $12) - (local.get $4) - ) - (i32.gt_u - (local.get $12) - (local.get $2) - ) + ) + (br_if $label$break$L279 + (i32.or + (i32.le_u + (local.get $12) + (local.get $2) + ) + (i32.gt_u + (local.get $12) + (local.get $3) ) ) ) - (br_if $__rjti$13 - (i32.eq - (local.get $1) - (local.tee $2 - (call $_sbrk - (local.get $3) - ) + ) + (br_if $__rjti$13 + (i32.eq + (local.get $1) + (local.tee $3 + (call $_sbrk + (local.get $4) ) ) ) - (br $__rjti$5) ) + (br $__rjti$5) ) ) ) - (br $label$break$L279) - ) - (local.set $1 - (local.get $3) ) - (local.set $4 - (i32.sub - (i32.const 0) - (local.get $1) - ) + (br $label$break$L279) + ) + (local.set $1 + (local.get $4) + ) + (local.set $2 + (i32.sub + (i32.const 0) + (local.get $1) ) - (local.set $3 - (if (result i32) + ) + (local.set $4 + (if (result i32) + (i32.and (i32.and - (i32.and - (i32.ne - (local.get $2) - (i32.const -1) - ) - (i32.lt_u - (local.get $1) - (i32.const 2147483647) - ) + (i32.ne + (local.get $3) + (i32.const -1) ) - (i32.gt_u - (local.get $11) + (i32.lt_u (local.get $1) + (i32.const 2147483647) ) ) - (if (result i32) - (i32.lt_u - (local.tee $3 - (i32.and - (i32.add - (local.tee $3 - (i32.load - (i32.const 656) - ) - ) - (i32.sub - (local.get $9) - (local.get $1) + (i32.gt_u + (local.get $11) + (local.get $1) + ) + ) + (if (result i32) + (i32.lt_u + (local.tee $4 + (i32.and + (i32.add + (local.tee $4 + (i32.load + (i32.const 656) ) ) (i32.sub - (i32.const 0) - (local.get $3) + (local.get $8) + (local.get $1) ) ) + (i32.sub + (i32.const 0) + (local.get $4) + ) ) - (i32.const 2147483647) ) - (if (result i32) - (i32.eq - (call $_sbrk - (local.get $3) - ) - (i32.const -1) + (i32.const 2147483647) + ) + (if (result i32) + (i32.eq + (call $_sbrk + (local.get $4) ) - (block - (drop - (call $_sbrk - (local.get $4) - ) + (i32.const -1) + ) + (block + (drop + (call $_sbrk + (local.get $2) ) - (br $label$break$L279) - ) - (i32.add - (local.get $1) - (local.get $3) ) + (br $label$break$L279) + ) + (i32.add + (local.get $1) + (local.get $4) ) - (local.get $1) ) (local.get $1) ) + (local.get $1) ) - (if - (i32.ne - (local.get $2) - (i32.const -1) - ) - (block - (local.set $1 - (local.get $2) - ) - (br $__rjti$13) + ) + (if + (i32.ne + (local.get $3) + (i32.const -1) + ) + (block + (local.set $1 + (local.get $3) ) + (br $__rjti$13) ) ) - (i32.store - (i32.const 620) - (i32.or - (i32.load - (i32.const 620) - ) - (i32.const 4) + ) + (i32.store + (i32.const 620) + (i32.or + (i32.load + (i32.const 620) ) + (i32.const 4) ) ) ) + ) + (if + (i32.lt_u + (local.get $7) + (i32.const 2147483647) + ) (if - (i32.lt_u - (local.get $7) - (i32.const 2147483647) - ) - (if - (i32.and - (i32.lt_u - (local.tee $1 - (call $_sbrk - (local.get $7) - ) - ) - (local.tee $3 - (call $_sbrk - (i32.const 0) - ) + (i32.and + (i32.lt_u + (local.tee $1 + (call $_sbrk + (local.get $7) ) ) - (i32.and - (i32.ne - (local.get $1) - (i32.const -1) - ) - (i32.ne - (local.get $3) - (i32.const -1) + (local.tee $4 + (call $_sbrk + (i32.const 0) ) ) ) - (br_if $__rjti$13 - (i32.gt_u - (local.tee $3 - (i32.sub - (local.get $3) - (local.get $1) - ) - ) - (i32.add - (local.get $0) - (i32.const 40) - ) + (i32.and + (i32.ne + (local.get $1) + (i32.const -1) + ) + (i32.ne + (local.get $4) + (i32.const -1) ) ) ) - ) - (br $__rjto$13) - ) - (i32.store - (i32.const 608) - (local.tee $2 - (i32.add - (i32.load - (i32.const 608) + (br_if $__rjti$13 + (i32.gt_u + (local.tee $4 + (i32.sub + (local.get $4) + (local.get $1) + ) + ) + (i32.add + (local.get $0) + (i32.const 40) + ) ) - (local.get $3) ) ) ) - (if - (i32.gt_u - (local.get $2) + (br $__rjto$13) + ) + (i32.store + (i32.const 608) + (local.tee $3 + (i32.add (i32.load - (i32.const 612) + (i32.const 608) ) + (local.get $4) ) - (i32.store + ) + ) + (if + (i32.gt_u + (local.get $3) + (i32.load (i32.const 612) - (local.get $2) ) ) - (if - (local.tee $5 - (i32.load - (i32.const 200) - ) + (i32.store + (i32.const 612) + (local.get $3) + ) + ) + (if + (local.tee $5 + (i32.load + (i32.const 200) ) - (block $do-once40 - (local.set $2 - (i32.const 624) - ) - (block $__rjto$10 - (block $__rjti$10 - (loop $while-in45 - (local.set $4 - (i32.add - (local.get $2) - (i32.const 4) - ) + ) + (block $do-once40 + (local.set $3 + (i32.const 624) + ) + (block $__rjto$10 + (block $__rjti$10 + (loop $while-in45 + (local.set $2 + (i32.add + (local.get $3) + (i32.const 4) ) - (br_if $__rjti$10 - (i32.eq - (i32.add - (local.tee $11 - (i32.load - (local.get $2) - ) + ) + (br_if $__rjti$10 + (i32.eq + (i32.add + (local.tee $11 + (i32.load + (local.get $3) ) - (local.tee $7 - (i32.load offset=4 - (local.get $2) - ) + ) + (local.tee $7 + (i32.load offset=4 + (local.get $3) ) ) - (local.get $1) ) + (local.get $1) ) - (br_if $while-in45 - (local.tee $2 - (i32.load offset=8 - (local.get $2) - ) + ) + (br_if $while-in45 + (local.tee $3 + (i32.load offset=8 + (local.get $3) ) ) ) - (br $__rjto$10) ) - (if - (i32.eqz - (i32.and - (i32.load offset=12 - (local.get $2) - ) - (i32.const 8) + (br $__rjto$10) + ) + (if + (i32.eqz + (i32.and + (i32.load offset=12 + (local.get $3) ) + (i32.const 8) ) - (if - (i32.and - (i32.lt_u - (local.get $5) - (local.get $1) - ) - (i32.ge_u - (local.get $5) - (local.get $11) - ) + ) + (if + (i32.and + (i32.lt_u + (local.get $5) + (local.get $1) ) - (block - (i32.store + (i32.ge_u + (local.get $5) + (local.get $11) + ) + ) + (block + (i32.store + (local.get $2) + (i32.add (local.get $4) - (i32.add - (local.get $3) - (local.get $7) - ) + (local.get $7) ) - (local.set $2 - (i32.add - (local.get $5) - (local.tee $1 - (select - (i32.and - (i32.sub - (i32.const 0) - (local.tee $1 - (i32.add - (local.get $5) - (i32.const 8) - ) + ) + (local.set $3 + (i32.add + (local.get $5) + (local.tee $1 + (select + (i32.and + (i32.sub + (i32.const 0) + (local.tee $1 + (i32.add + (local.get $5) + (i32.const 8) ) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $1) - (i32.const 7) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (local.get $1) + (i32.const 7) ) ) ) ) - (local.set $1 - (i32.add - (i32.load - (i32.const 188) - ) - (i32.sub - (local.get $3) - (local.get $1) - ) + ) + (local.set $1 + (i32.add + (i32.load + (i32.const 188) ) - ) - (i32.store - (i32.const 200) - (local.get $2) - ) - (i32.store - (i32.const 188) - (local.get $1) - ) - (i32.store offset=4 - (local.get $2) - (i32.or + (i32.sub + (local.get $4) (local.get $1) - (i32.const 1) ) ) - (i32.store offset=4 - (i32.add - (local.get $1) - (local.get $2) - ) - (i32.const 40) + ) + (i32.store + (i32.const 200) + (local.get $3) + ) + (i32.store + (i32.const 188) + (local.get $1) + ) + (i32.store offset=4 + (local.get $3) + (i32.or + (local.get $1) + (i32.const 1) ) - (i32.store - (i32.const 204) - (i32.load - (i32.const 664) - ) + ) + (i32.store offset=4 + (i32.add + (local.get $1) + (local.get $3) ) - (br $do-once40) + (i32.const 40) ) - ) - ) - ) - (if - (i32.lt_u - (local.get $1) - (local.tee $4 - (i32.load - (i32.const 192) + (i32.store + (i32.const 204) + (i32.load + (i32.const 664) + ) ) + (br $do-once40) ) ) - (block - (i32.store + ) + ) + (if + (i32.lt_u + (local.get $1) + (local.tee $2 + (i32.load (i32.const 192) - (local.get $1) - ) - (local.set $4 - (local.get $1) ) ) ) - (local.set $11 - (i32.add + (block + (i32.store + (i32.const 192) + (local.get $1) + ) + (local.set $2 (local.get $1) - (local.get $3) ) ) - (local.set $2 - (i32.const 624) + ) + (local.set $11 + (i32.add + (local.get $1) + (local.get $4) ) - (local.set $4 - (block $__rjto$11 (result i32) - (block $__rjti$11 - (br $__rjto$11 - (loop $while-in47 (result i32) - (if - (i32.eq - (i32.load - (local.get $2) - ) - (local.get $11) + ) + (local.set $3 + (i32.const 624) + ) + (local.set $2 + (block $__rjto$11 (result i32) + (block $__rjti$11 + (br $__rjto$11 + (loop $while-in47 (result i32) + (if + (i32.eq + (i32.load + (local.get $3) ) - (block - (local.set $7 - (local.get $2) - ) - (br $__rjti$11) + (local.get $11) + ) + (block + (local.set $7 + (local.get $3) ) + (br $__rjti$11) ) - (br_if $while-in47 - (local.tee $2 - (i32.load offset=8 - (local.get $2) - ) + ) + (br_if $while-in47 + (local.tee $3 + (i32.load offset=8 + (local.get $3) ) ) - (i32.const 624) ) + (i32.const 624) ) ) - (if (result i32) - (i32.and - (i32.load offset=12 - (local.get $2) - ) - (i32.const 8) + ) + (if (result i32) + (i32.and + (i32.load offset=12 + (local.get $3) ) - (i32.const 624) - (block - (i32.store - (local.get $7) - (local.get $1) + (i32.const 8) + ) + (i32.const 624) + (block + (i32.store + (local.get $7) + (local.get $1) + ) + (i32.store offset=4 + (local.get $3) + (i32.add + (i32.load offset=4 + (local.get $3) + ) + (local.get $4) ) - (i32.store offset=4 - (local.get $2) - (i32.add - (i32.load offset=4 - (local.get $2) + ) + (local.set $8 + (i32.add + (local.tee $12 + (i32.add + (select + (i32.and + (i32.sub + (i32.const 0) + (local.tee $4 + (i32.add + (local.get $1) + (i32.const 8) + ) + ) + ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (local.get $4) + (i32.const 7) + ) + ) + (local.get $1) ) - (local.get $3) ) + (local.get $0) ) - (local.set $9 - (i32.add - (local.tee $12 + ) + (local.set $6 + (i32.sub + (i32.sub + (local.tee $7 (i32.add + (local.get $11) (select (i32.and (i32.sub (i32.const 0) - (local.tee $3 + (local.tee $1 (i32.add - (local.get $1) + (local.get $11) (i32.const 8) ) ) @@ -10925,1910 +10973,1876 @@ ) (i32.const 0) (i32.and - (local.get $3) + (local.get $1) (i32.const 7) ) ) - (local.get $1) ) ) - (local.get $0) + (local.get $12) ) + (local.get $0) ) - (local.set $6 - (i32.sub - (i32.sub - (local.tee $7 - (i32.add - (local.get $11) - (select - (i32.and - (i32.sub - (i32.const 0) - (local.tee $1 - (i32.add - (local.get $11) - (i32.const 8) - ) - ) - ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $1) - (i32.const 7) - ) - ) + ) + (i32.store offset=4 + (local.get $12) + (i32.or + (local.get $0) + (i32.const 3) + ) + ) + (if + (i32.eq + (local.get $5) + (local.get $7) + ) + (block + (i32.store + (i32.const 188) + (local.tee $0 + (i32.add + (i32.load + (i32.const 188) ) + (local.get $6) ) - (local.get $12) ) - (local.get $0) ) - ) - (i32.store offset=4 - (local.get $12) - (i32.or - (local.get $0) - (i32.const 3) + (i32.store + (i32.const 200) + (local.get $8) ) - ) - (if - (i32.eq - (local.get $5) - (local.get $7) + (i32.store offset=4 + (local.get $8) + (i32.or + (local.get $0) + (i32.const 1) + ) ) - (block - (i32.store - (i32.const 188) - (local.tee $0 - (i32.add - (i32.load - (i32.const 188) + ) + (block $do-once48 + (if + (i32.eq + (i32.load + (i32.const 196) + ) + (local.get $7) + ) + (block + (i32.store + (i32.const 184) + (local.tee $0 + (i32.add + (i32.load + (i32.const 184) + ) + (local.get $6) ) - (local.get $6) ) ) - ) - (i32.store - (i32.const 200) - (local.get $9) - ) - (i32.store offset=4 - (local.get $9) - (i32.or + (i32.store + (i32.const 196) + (local.get $8) + ) + (i32.store offset=4 + (local.get $8) + (i32.or + (local.get $0) + (i32.const 1) + ) + ) + (i32.store + (i32.add + (local.get $0) + (local.get $8) + ) (local.get $0) - (i32.const 1) ) + (br $do-once48) ) ) - (block $do-once48 - (if - (i32.eq - (i32.load - (i32.const 196) - ) - (local.get $7) - ) - (block - (i32.store - (i32.const 184) - (local.tee $0 - (i32.add - (i32.load - (i32.const 184) + (i32.store offset=4 + (local.tee $0 + (if (result i32) + (i32.eq + (i32.and + (local.tee $0 + (i32.load offset=4 + (local.get $7) ) - (local.get $6) ) + (i32.const 3) ) + (i32.const 1) ) - (i32.store - (i32.const 196) - (local.get $9) - ) - (i32.store offset=4 - (local.get $9) - (i32.or - (local.get $0) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (local.get $0) - (local.get $9) - ) - (local.get $0) - ) - (br $do-once48) - ) - ) - (i32.store offset=4 - (local.tee $0 - (if (result i32) - (i32.eq + (block (result i32) + (local.set $11 (i32.and - (local.tee $0 - (i32.load offset=4 - (local.get $7) - ) - ) - (i32.const 3) + (local.get $0) + (i32.const -8) ) - (i32.const 1) ) - (block (result i32) - (local.set $11 - (i32.and - (local.get $0) - (i32.const -8) - ) + (local.set $1 + (i32.shr_u + (local.get $0) + (i32.const 3) ) - (local.set $1 - (i32.shr_u + ) + (block $label$break$L331 + (if + (i32.lt_u (local.get $0) - (i32.const 3) + (i32.const 256) ) - ) - (block $label$break$L331 - (if - (i32.lt_u - (local.get $0) - (i32.const 256) + (block + (local.set $3 + (i32.load offset=12 + (local.get $7) + ) ) - (block - (local.set $2 - (i32.load offset=12 - (local.get $7) + (if + (i32.ne + (local.tee $4 + (i32.load offset=8 + (local.get $7) + ) ) - ) - (if - (i32.ne - (local.tee $3 - (i32.load offset=8 - (local.get $7) + (local.tee $0 + (i32.add + (i32.shl + (local.get $1) + (i32.const 3) ) + (i32.const 216) ) - (local.tee $0 - (i32.add - (i32.shl - (local.get $1) - (i32.const 3) - ) - (i32.const 216) - ) + ) + ) + (block $do-once51 + (if + (i32.lt_u + (local.get $4) + (local.get $2) ) + (call $_abort) ) - (block $do-once51 - (if - (i32.lt_u - (local.get $3) + (br_if $do-once51 + (i32.eq + (i32.load offset=12 (local.get $4) ) - (call $_abort) + (local.get $7) ) - (br_if $do-once51 - (i32.eq - (i32.load offset=12 - (local.get $3) + ) + (call $_abort) + ) + ) + (if + (i32.eq + (local.get $3) + (local.get $4) + ) + (block + (i32.store + (i32.const 176) + (i32.and + (i32.load + (i32.const 176) + ) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $1) ) - (local.get $7) + (i32.const -1) ) ) - (call $_abort) ) + (br $label$break$L331) ) - (if - (i32.eq - (local.get $2) + ) + (if + (i32.eq + (local.get $0) + (local.get $3) + ) + (local.set $15 + (i32.add (local.get $3) - ) - (block - (i32.store - (i32.const 176) - (i32.and - (i32.load - (i32.const 176) - ) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $1) - ) - (i32.const -1) - ) - ) - ) - (br $label$break$L331) + (i32.const 8) ) ) - (if - (i32.eq - (local.get $0) - (local.get $2) + (block $do-once53 + (if + (i32.lt_u + (local.get $3) + (local.get $2) + ) + (call $_abort) ) - (local.set $15 + (local.set $0 (i32.add - (local.get $2) + (local.get $3) (i32.const 8) ) ) - (block $do-once53 - (if - (i32.lt_u - (local.get $2) - (local.get $4) - ) - (call $_abort) - ) - (local.set $0 - (i32.add - (local.get $2) - (i32.const 8) + (if + (i32.eq + (i32.load offset=8 + (local.get $3) ) + (local.get $7) ) - (if - (i32.eq - (i32.load offset=8 - (local.get $2) - ) - (local.get $7) - ) - (block - (local.set $15 - (local.get $0) - ) - (br $do-once53) + (block + (local.set $15 + (local.get $0) ) + (br $do-once53) ) - (call $_abort) ) + (call $_abort) ) - (i32.store offset=12 - (local.get $3) - (local.get $2) - ) - (i32.store - (local.get $15) - (local.get $3) + ) + (i32.store offset=12 + (local.get $4) + (local.get $3) + ) + (i32.store + (local.get $15) + (local.get $4) + ) + ) + (block + (local.set $5 + (i32.load offset=24 + (local.get $7) ) ) - (block - (local.set $5 - (i32.load offset=24 - (local.get $7) + (if + (i32.eq + (local.tee $0 + (i32.load offset=12 + (local.get $7) + ) ) + (local.get $7) ) - (if - (i32.eq - (local.tee $0 - (i32.load offset=12 - (local.get $7) + (block $do-once55 + (local.set $0 + (i32.add + (local.tee $4 + (i32.add + (local.get $7) + (i32.const 16) + ) ) + (i32.const 4) ) - (local.get $7) ) - (block $do-once55 - (local.set $0 - (i32.add - (local.tee $3 - (i32.add - (local.get $7) - (i32.const 16) - ) + (if + (i32.eqz + (local.tee $1 + (i32.load offset=20 + (local.get $7) ) - (i32.const 4) ) ) - (if - (i32.eqz - (local.tee $1 - (i32.load offset=4 - (local.get $3) - ) - ) - ) - (block - (br_if $do-once55 - (i32.eqz - (local.tee $1 - (i32.load offset=16 - (local.get $7) - ) + (block + (br_if $do-once55 + (i32.eqz + (local.tee $1 + (i32.load offset=16 + (local.get $7) ) ) ) - (local.set $0 - (local.get $3) - ) - ) - ) - (loop $while-in58 - (local.set $2 - (i32.add - (local.get $1) - (i32.const 20) - ) - ) - (if - (local.tee $3 - (i32.load offset=20 - (local.get $1) - ) - ) - (block - (local.set $1 - (local.get $3) - ) - (local.set $0 - (local.get $2) - ) - (br $while-in58) - ) ) - (local.set $2 - (i32.add - (local.get $1) - (i32.const 16) - ) + (local.set $0 + (local.get $4) ) - (if - (local.tee $3 - (i32.load offset=16 - (local.get $1) - ) - ) - (block - (local.set $1 - (local.get $3) - ) - (local.set $0 - (local.get $2) - ) - (br $while-in58) - ) + ) + ) + (loop $while-in58 + (local.set $3 + (i32.add + (local.get $1) + (i32.const 20) ) ) (if - (i32.lt_u - (local.get $0) - (local.get $4) + (local.tee $4 + (i32.load offset=20 + (local.get $1) + ) ) - (call $_abort) (block - (i32.store - (local.get $0) - (i32.const 0) + (local.set $1 + (local.get $4) ) - (local.set $8 - (local.get $1) + (local.set $0 + (local.get $3) ) + (br $while-in58) ) ) - ) - (block - (if - (i32.lt_u - (local.tee $1 - (i32.load offset=8 - (local.get $7) - ) - ) - (local.get $4) + (local.set $3 + (i32.add + (local.get $1) + (i32.const 16) ) - (call $_abort) ) (if - (i32.ne - (local.get $7) - (i32.load offset=12 + (local.tee $4 + (i32.load offset=16 (local.get $1) ) ) - (call $_abort) - ) - (if - (i32.eq - (i32.load offset=8 - (local.get $0) - ) - (local.get $7) - ) (block - (i32.store offset=12 - (local.get $1) - (local.get $0) - ) - (i32.store offset=8 - (local.get $0) - (local.get $1) + (local.set $1 + (local.get $4) ) - (local.set $8 - (local.get $0) + (local.set $0 + (local.get $3) ) + (br $while-in58) ) - (call $_abort) ) ) - ) - (br_if $label$break$L331 - (i32.eqz - (local.get $5) + (if + (i32.lt_u + (local.get $0) + (local.get $2) + ) + (call $_abort) + (block + (i32.store + (local.get $0) + (i32.const 0) + ) + (local.set $9 + (local.get $1) + ) + ) ) ) - (if - (i32.eq - (i32.load offset=480 + (block + (if + (i32.lt_u (local.tee $1 - (i32.shl - (local.tee $0 - (i32.load offset=28 - (local.get $7) - ) - ) - (i32.const 2) + (i32.load offset=8 + (local.get $7) ) ) + (local.get $2) ) - (local.get $7) + (call $_abort) ) - (block $do-once59 - (i32.store offset=480 - (local.get $1) - (local.get $8) - ) - (br_if $do-once59 - (local.get $8) - ) - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $0) - ) - (i32.const -1) - ) + (if + (i32.ne + (local.get $7) + (i32.load offset=12 + (local.get $1) ) ) - (br $label$break$L331) + (call $_abort) ) - (block - (if - (i32.lt_u - (local.get $5) - (i32.load - (i32.const 192) - ) + (if + (i32.eq + (i32.load offset=8 + (local.get $0) ) - (call $_abort) + (local.get $7) ) - (if - (i32.eq - (i32.load offset=16 - (local.get $5) - ) - (local.get $7) + (block + (i32.store offset=12 + (local.get $1) + (local.get $0) ) - (i32.store offset=16 - (local.get $5) - (local.get $8) + (i32.store offset=8 + (local.get $0) + (local.get $1) ) - (i32.store offset=20 - (local.get $5) - (local.get $8) + (local.set $9 + (local.get $0) ) ) - (br_if $label$break$L331 - (i32.eqz - (local.get $8) + (call $_abort) + ) + ) + ) + (br_if $label$break$L331 + (i32.eqz + (local.get $5) + ) + ) + (if + (i32.eq + (i32.load offset=480 + (local.tee $1 + (i32.shl + (local.tee $0 + (i32.load offset=28 + (local.get $7) + ) + ) + (i32.const 2) ) ) ) + (local.get $7) ) - (if - (i32.lt_u - (local.get $8) - (local.tee $0 + (block $do-once59 + (i32.store offset=480 + (local.get $1) + (local.get $9) + ) + (br_if $do-once59 + (local.get $9) + ) + (i32.store + (i32.const 180) + (i32.and (i32.load - (i32.const 192) + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $0) + ) + (i32.const -1) ) ) ) - (call $_abort) - ) - (i32.store offset=24 - (local.get $8) - (local.get $5) + (br $label$break$L331) ) - (if - (local.tee $1 - (i32.load offset=16 - (local.get $7) - ) - ) + (block (if (i32.lt_u - (local.get $1) - (local.get $0) + (local.get $5) + (i32.load + (i32.const 192) + ) ) (call $_abort) - (block - (i32.store offset=16 - (local.get $8) - (local.get $1) - ) - (i32.store offset=24 - (local.get $1) - (local.get $8) + ) + (if + (i32.eq + (i32.load offset=16 + (local.get $5) ) + (local.get $7) + ) + (i32.store offset=16 + (local.get $5) + (local.get $9) + ) + (i32.store offset=20 + (local.get $5) + (local.get $9) + ) + ) + (br_if $label$break$L331 + (i32.eqz + (local.get $9) ) ) ) - (br_if $label$break$L331 - (i32.eqz - (local.tee $0 - (i32.load offset=4 - (i32.add - (local.get $7) - (i32.const 16) - ) - ) + ) + (if + (i32.lt_u + (local.get $9) + (local.tee $0 + (i32.load + (i32.const 192) ) ) ) + (call $_abort) + ) + (i32.store offset=24 + (local.get $9) + (local.get $5) + ) + (if + (local.tee $1 + (i32.load offset=16 + (local.get $7) + ) + ) (if (i32.lt_u + (local.get $1) (local.get $0) - (i32.load - (i32.const 192) - ) ) (call $_abort) (block - (i32.store offset=20 - (local.get $8) - (local.get $0) + (i32.store offset=16 + (local.get $9) + (local.get $1) ) (i32.store offset=24 - (local.get $0) - (local.get $8) + (local.get $1) + (local.get $9) ) ) ) ) + (br_if $label$break$L331 + (i32.eqz + (local.tee $0 + (i32.load offset=20 + (local.get $7) + ) + ) + ) + ) + (if + (i32.lt_u + (local.get $0) + (i32.load + (i32.const 192) + ) + ) + (call $_abort) + (block + (i32.store offset=20 + (local.get $9) + (local.get $0) + ) + (i32.store offset=24 + (local.get $0) + (local.get $9) + ) + ) + ) ) ) - (local.set $6 - (i32.add - (local.get $6) - (local.get $11) - ) - ) + ) + (local.set $6 (i32.add - (local.get $7) + (local.get $6) (local.get $11) ) ) - (local.get $7) - ) - ) - (i32.and - (i32.load offset=4 - (local.get $0) + (i32.add + (local.get $7) + (local.get $11) + ) ) - (i32.const -2) + (local.get $7) ) ) - (i32.store offset=4 - (local.get $9) - (i32.or - (local.get $6) - (i32.const 1) + (i32.and + (i32.load offset=4 + (local.get $0) ) + (i32.const -2) ) - (i32.store - (i32.add - (local.get $6) - (local.get $9) - ) + ) + (i32.store offset=4 + (local.get $8) + (i32.or (local.get $6) + (i32.const 1) ) - (local.set $0 - (i32.shr_u - (local.get $6) - (i32.const 3) - ) + ) + (i32.store + (i32.add + (local.get $6) + (local.get $8) ) - (if - (i32.lt_u - (local.get $6) - (i32.const 256) - ) - (block - (local.set $3 - (i32.add + (local.get $6) + ) + (local.set $0 + (i32.shr_u + (local.get $6) + (i32.const 3) + ) + ) + (if + (i32.lt_u + (local.get $6) + (i32.const 256) + ) + (block + (local.set $4 + (i32.add + (local.tee $3 (i32.shl (local.get $0) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (if - (i32.and - (local.tee $1 - (i32.load - (i32.const 176) - ) + ) + (if + (i32.and + (local.tee $1 + (i32.load + (i32.const 176) ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $0) - ) + ) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $0) ) ) - (block $do-once63 - (local.set $1 - (i32.add - (local.get $3) - (i32.const 8) - ) + ) + (block $do-once63 + (local.set $1 + (i32.add + (local.get $4) + (i32.const 8) ) - (if - (i32.ge_u - (local.tee $0 - (i32.load offset=8 - (local.get $3) - ) - ) - (i32.load - (i32.const 192) + ) + (if + (i32.ge_u + (local.tee $0 + (i32.load offset=224 + (local.get $3) ) ) - (block - (local.set $16 - (local.get $1) - ) - (local.set $10 - (local.get $0) - ) - (br $do-once63) + (i32.load + (i32.const 192) ) ) - (call $_abort) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (local.get $0) + (block + (local.set $16 (local.get $1) ) - ) - (local.set $16 - (i32.add - (local.get $3) - (i32.const 8) + (local.set $10 + (local.get $0) ) - ) - (local.set $10 - (local.get $3) + (br $do-once63) ) ) + (call $_abort) ) - (i32.store - (local.get $16) - (local.get $9) - ) - (i32.store offset=12 - (local.get $10) - (local.get $9) - ) - (i32.store offset=8 - (local.get $9) - (local.get $10) - ) - (i32.store offset=12 - (local.get $9) - (local.get $3) + (block + (i32.store + (i32.const 176) + (i32.or + (local.get $0) + (local.get $1) + ) + ) + (local.set $16 + (i32.add + (local.get $4) + (i32.const 8) + ) + ) + (local.set $10 + (local.get $4) + ) ) - (br $do-once48) ) + (i32.store + (local.get $16) + (local.get $8) + ) + (i32.store offset=12 + (local.get $10) + (local.get $8) + ) + (i32.store offset=8 + (local.get $8) + (local.get $10) + ) + (i32.store offset=12 + (local.get $8) + (local.get $4) + ) + (br $do-once48) ) - (local.set $3 - (i32.add - (local.tee $4 - (i32.shl - (local.tee $2 + ) + (local.set $4 + (i32.add + (local.tee $2 + (i32.shl + (local.tee $3 + (if (result i32) + (local.tee $0 + (i32.shr_u + (local.get $6) + (i32.const 8) + ) + ) (if (result i32) - (local.tee $0 - (i32.shr_u - (local.get $6) - (i32.const 8) - ) + (i32.gt_u + (local.get $6) + (i32.const 16777215) ) - (if (result i32) - (i32.gt_u - (local.get $6) - (i32.const 16777215) - ) - (i32.const 31) - (block (result i32) - (local.set $2 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.tee $1 - (i32.and - (i32.shr_u - (i32.add - (local.get $0) - (i32.const 1048320) - ) - (i32.const 16) + (i32.const 31) + (block (result i32) + (local.set $3 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.tee $1 + (i32.and + (i32.shr_u + (i32.add + (local.get $0) + (i32.const 1048320) ) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) ) - (i32.const 520192) ) - (i32.const 16) + (i32.const 520192) ) - (i32.const 4) + (i32.const 16) ) + (i32.const 4) ) - (local.set $3 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.get $2) - ) + ) + (local.set $4 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.get $3) ) - (i32.const 245760) ) - (i32.const 16) + (i32.const 245760) ) - (i32.const 2) + (i32.const 16) ) + (i32.const 2) ) - (i32.or - (i32.and - (i32.shr_u - (local.get $6) - (i32.add - (local.tee $0 - (i32.add - (i32.sub - (i32.const 14) + ) + (i32.or + (i32.and + (i32.shr_u + (local.get $6) + (i32.add + (local.tee $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or (i32.or - (i32.or - (local.get $1) - (local.get $2) - ) + (local.get $1) (local.get $3) ) + (local.get $4) ) - (i32.shr_u - (i32.shl - (local.get $0) - (local.get $3) - ) - (i32.const 15) + ) + (i32.shr_u + (i32.shl + (local.get $0) + (local.get $4) ) + (i32.const 15) ) ) - (i32.const 7) ) + (i32.const 7) ) - (i32.const 1) - ) - (i32.shl - (local.get $0) - (i32.const 1) ) + (i32.const 1) + ) + (i32.shl + (local.get $0) + (i32.const 1) ) ) ) - (i32.const 0) ) + (i32.const 0) ) - (i32.const 2) ) + (i32.const 2) ) - (i32.const 480) - ) - ) - (i32.store offset=28 - (local.get $9) - (local.get $2) - ) - (i32.store offset=4 - (i32.add - (local.get $9) - (i32.const 16) ) - (i32.const 0) + (i32.const 480) ) - (i32.store offset=16 - (local.get $9) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (local.tee $1 - (i32.load - (i32.const 180) - ) - ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $2) - ) + ) + (i32.store offset=28 + (local.get $8) + (local.get $3) + ) + (i32.store offset=20 + (local.get $8) + (i32.const 0) + ) + (i32.store offset=16 + (local.get $8) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (local.tee $1 + (i32.load + (i32.const 180) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (local.get $0) - (local.get $1) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $3) ) ) - (i32.store offset=480 - (local.get $4) - (local.get $9) - ) - (i32.store offset=24 - (local.get $9) - (local.get $3) - ) - (i32.store offset=12 - (local.get $9) - (local.get $9) - ) - (i32.store offset=8 - (local.get $9) - (local.get $9) + ) + ) + (block + (i32.store + (i32.const 180) + (i32.or + (local.get $0) + (local.get $1) ) - (br $do-once48) ) + (i32.store offset=480 + (local.get $2) + (local.get $8) + ) + (i32.store offset=24 + (local.get $8) + (local.get $4) + ) + (i32.store offset=12 + (local.get $8) + (local.get $8) + ) + (i32.store offset=8 + (local.get $8) + (local.get $8) + ) + (br $do-once48) ) - (local.set $2 - (i32.shl - (local.get $6) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $2) - (i32.const 1) - ) - ) - (i32.eq - (local.get $2) - (i32.const 31) + ) + (local.set $3 + (i32.shl + (local.get $6) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (local.get $3) + (i32.const 1) ) ) + (i32.eq + (local.get $3) + (i32.const 31) + ) ) ) - (local.set $0 - (i32.load offset=480 - (local.get $4) - ) + ) + (local.set $0 + (i32.load offset=480 + (local.get $2) ) - (block $__rjto$7 - (block $__rjti$7 - (loop $while-in68 - (br_if $__rjti$7 - (i32.eq - (i32.and - (i32.load offset=4 - (local.get $0) - ) - (i32.const -8) + ) + (block $__rjto$7 + (block $__rjti$7 + (loop $while-in68 + (br_if $__rjti$7 + (i32.eq + (i32.and + (i32.load offset=4 + (local.get $0) ) - (local.get $6) + (i32.const -8) ) + (local.get $6) ) - (local.set $3 - (i32.shl - (local.get $2) - (i32.const 1) - ) + ) + (local.set $4 + (i32.shl + (local.get $3) + (i32.const 1) ) - (if - (local.tee $1 - (i32.load - (local.tee $2 + ) + (if + (local.tee $1 + (i32.load + (local.tee $3 + (i32.add (i32.add - (i32.add - (local.get $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (local.get $2) - (i32.const 31) - ) - (i32.const 2) + (local.get $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (local.get $3) + (i32.const 31) ) + (i32.const 2) ) ) ) ) - (block - (local.set $2 - (local.get $3) - ) - (local.set $0 - (local.get $1) - ) - (br $while-in68) - ) - ) - ) - (if - (i32.lt_u - (local.get $2) - (i32.load - (i32.const 192) - ) ) - (call $_abort) (block - (i32.store - (local.get $2) - (local.get $9) - ) - (i32.store offset=24 - (local.get $9) - (local.get $0) - ) - (i32.store offset=12 - (local.get $9) - (local.get $9) + (local.set $3 + (local.get $4) ) - (i32.store offset=8 - (local.get $9) - (local.get $9) + (local.set $0 + (local.get $1) ) - (br $do-once48) + (br $while-in68) ) ) - (br $__rjto$7) ) (if - (i32.and - (i32.ge_u - (local.tee $3 - (i32.load offset=8 - (local.get $0) - ) - ) - (local.tee $1 - (i32.load - (i32.const 192) - ) - ) - ) - (i32.ge_u - (local.get $0) - (local.get $1) + (i32.lt_u + (local.get $3) + (i32.load + (i32.const 192) ) ) + (call $_abort) (block - (i32.store offset=12 + (i32.store (local.get $3) - (local.get $9) + (local.get $8) ) - (i32.store offset=8 + (i32.store offset=24 + (local.get $8) (local.get $0) - (local.get $9) + ) + (i32.store offset=12 + (local.get $8) + (local.get $8) ) (i32.store offset=8 - (local.get $9) - (local.get $3) + (local.get $8) + (local.get $8) ) - (i32.store offset=12 - (local.get $9) - (local.get $0) + (br $do-once48) + ) + ) + (br $__rjto$7) + ) + (if + (i32.and + (i32.ge_u + (local.tee $4 + (i32.load offset=8 + (local.get $0) + ) ) - (i32.store offset=24 - (local.get $9) - (i32.const 0) + (local.tee $1 + (i32.load + (i32.const 192) + ) ) ) - (call $_abort) + (i32.ge_u + (local.get $0) + (local.get $1) + ) ) + (block + (i32.store offset=12 + (local.get $4) + (local.get $8) + ) + (i32.store offset=8 + (local.get $0) + (local.get $8) + ) + (i32.store offset=8 + (local.get $8) + (local.get $4) + ) + (i32.store offset=12 + (local.get $8) + (local.get $0) + ) + (i32.store offset=24 + (local.get $8) + (i32.const 0) + ) + ) + (call $_abort) ) ) ) - (return - (i32.add - (local.get $12) - (i32.const 8) - ) + ) + (return + (i32.add + (local.get $12) + (i32.const 8) ) ) ) ) ) - (loop $while-in70 - (block $while-out69 - (if - (i32.le_u - (local.tee $2 - (i32.load - (local.get $4) - ) + ) + (loop $while-in70 + (block $while-out69 + (if + (i32.le_u + (local.tee $3 + (i32.load + (local.get $2) ) - (local.get $5) ) - (br_if $while-out69 - (i32.gt_u - (local.tee $2 - (i32.add + (local.get $5) + ) + (br_if $while-out69 + (i32.gt_u + (local.tee $3 + (i32.add + (local.get $3) + (i32.load offset=4 (local.get $2) - (i32.load offset=4 - (local.get $4) - ) ) ) - (local.get $5) ) + (local.get $5) ) ) - (local.set $4 - (i32.load offset=8 - (local.get $4) - ) + ) + (local.set $2 + (i32.load offset=8 + (local.get $2) ) - (br $while-in70) ) + (br $while-in70) ) - (local.set $10 - (i32.add - (local.tee $4 - (i32.add - (local.get $2) - (i32.const -47) - ) + ) + (local.set $9 + (i32.add + (local.tee $10 + (i32.add + (local.get $3) + (i32.const -47) ) - (i32.const 8) ) + (i32.const 8) ) - (local.set $7 + ) + (i32.store + (i32.const 200) + (local.tee $7 (i32.add - (local.tee $8 + (local.tee $2 (select - (local.get $5) - (local.tee $4 - (i32.add - (local.get $4) - (select - (i32.and - (i32.sub - (i32.const 0) - (local.get $10) - ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $10) - (i32.const 7) + (i32.and + (i32.sub + (i32.const 0) + (local.tee $2 + (i32.add + (local.get $1) + (i32.const 8) ) ) ) + (i32.const 7) ) - (i32.lt_u - (local.get $4) - (i32.add - (local.get $5) - (i32.const 16) - ) + (i32.const 0) + (i32.and + (local.get $2) + (i32.const 7) ) ) ) - (i32.const 8) + (local.get $1) ) ) - (i32.store - (i32.const 200) - (local.tee $10 + ) + (i32.store + (i32.const 188) + (local.tee $2 + (i32.sub (i32.add - (local.tee $4 + (local.get $4) + (i32.const -40) + ) + (local.get $2) + ) + ) + ) + (i32.store offset=4 + (local.get $7) + (i32.or + (local.get $2) + (i32.const 1) + ) + ) + (i32.store offset=4 + (i32.add + (local.get $2) + (local.get $7) + ) + (i32.const 40) + ) + (i32.store + (i32.const 204) + (i32.load + (i32.const 664) + ) + ) + (i32.store offset=4 + (local.tee $2 + (select + (local.get $5) + (local.tee $2 + (i32.add + (local.get $10) (select (i32.and (i32.sub (i32.const 0) - (local.tee $4 - (i32.add - (local.get $1) - (i32.const 8) - ) - ) + (local.get $9) ) (i32.const 7) ) (i32.const 0) (i32.and - (local.get $4) + (local.get $9) (i32.const 7) ) ) ) - (local.get $1) ) - ) - ) - (i32.store - (i32.const 188) - (local.tee $4 - (i32.sub + (i32.lt_u + (local.get $2) (i32.add - (local.get $3) - (i32.const -40) + (local.get $5) + (i32.const 16) ) - (local.get $4) ) ) ) - (i32.store offset=4 - (local.get $10) - (i32.or - (local.get $4) - (i32.const 1) - ) - ) - (i32.store offset=4 - (i32.add - (local.get $4) - (local.get $10) - ) - (i32.const 40) - ) - (i32.store - (i32.const 204) - (i32.load - (i32.const 664) - ) - ) - (i32.store offset=4 - (local.get $8) - (i32.const 27) - ) - (i32.store offset=8 - (local.get $8) - (i32.load - (i32.const 624) - ) - ) - (i32.store offset=4 - (local.get $7) - (i32.load - (i32.const 628) - ) - ) - (i32.store offset=8 - (local.get $7) - (i32.load - (i32.const 632) - ) - ) - (i32.store offset=12 - (local.get $7) - (i32.load - (i32.const 636) - ) - ) - (i32.store + (i32.const 27) + ) + (i32.store offset=8 + (local.get $2) + (i32.load (i32.const 624) - (local.get $1) ) - (i32.store + ) + (i32.store offset=12 + (local.get $2) + (i32.load (i32.const 628) - (local.get $3) ) - (i32.store + ) + (i32.store offset=16 + (local.get $2) + (i32.load + (i32.const 632) + ) + ) + (i32.store offset=20 + (local.get $2) + (i32.load (i32.const 636) - (i32.const 0) ) - (i32.store - (i32.const 632) - (local.get $7) + ) + (i32.store + (i32.const 624) + (local.get $1) + ) + (i32.store + (i32.const 628) + (local.get $4) + ) + (i32.store + (i32.const 636) + (i32.const 0) + ) + (i32.store + (i32.const 632) + (i32.add + (local.get $2) + (i32.const 8) ) - (local.set $1 - (i32.add - (local.get $8) - (i32.const 24) - ) + ) + (local.set $1 + (i32.add + (local.get $2) + (i32.const 24) ) - (loop $while-in72 - (i32.store offset=4 - (local.get $1) - (i32.const 7) - ) - (br_if $while-in72 - (i32.lt_u - (i32.add - (local.tee $1 - (i32.add - (local.get $1) - (i32.const 4) - ) + ) + (loop $while-in72 + (i32.store offset=4 + (local.get $1) + (i32.const 7) + ) + (br_if $while-in72 + (i32.lt_u + (i32.add + (local.tee $1 + (i32.add + (local.get $1) + (i32.const 4) ) - (i32.const 4) ) - (local.get $2) + (i32.const 4) ) + (local.get $3) ) ) - (if - (i32.ne - (local.get $5) - (local.get $8) - ) - (block - (i32.store offset=4 - (local.get $8) - (i32.and - (i32.load offset=4 - (local.get $8) - ) - (i32.const -2) + ) + (if + (i32.ne + (local.get $2) + (local.get $5) + ) + (block + (i32.store offset=4 + (local.get $2) + (i32.and + (i32.load offset=4 + (local.get $2) ) + (i32.const -2) ) - (i32.store offset=4 - (local.get $5) - (i32.or - (local.tee $10 - (i32.sub - (local.get $8) - (local.get $5) - ) + ) + (i32.store offset=4 + (local.get $5) + (i32.or + (local.tee $10 + (i32.sub + (local.get $2) + (local.get $5) ) - (i32.const 1) ) + (i32.const 1) ) - (i32.store - (local.get $8) + ) + (i32.store + (local.get $2) + (local.get $10) + ) + (local.set $1 + (i32.shr_u (local.get $10) + (i32.const 3) ) - (local.set $1 - (i32.shr_u - (local.get $10) - (i32.const 3) - ) + ) + (if + (i32.lt_u + (local.get $10) + (i32.const 256) ) - (if - (i32.lt_u - (local.get $10) - (i32.const 256) - ) - (block - (local.set $2 - (i32.add + (block + (local.set $3 + (i32.add + (local.tee $2 (i32.shl (local.get $1) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (if - (i32.and - (local.tee $3 - (i32.load - (i32.const 176) - ) + ) + (if + (i32.and + (local.tee $4 + (i32.load + (i32.const 176) ) - (local.tee $1 - (i32.shl - (i32.const 1) - (local.get $1) - ) + ) + (local.tee $1 + (i32.shl + (i32.const 1) + (local.get $1) ) ) - (block - (local.set $3 - (i32.add - (local.get $2) - (i32.const 8) - ) + ) + (block + (local.set $4 + (i32.add + (local.get $3) + (i32.const 8) ) - (if - (i32.lt_u - (local.tee $1 - (i32.load offset=8 - (local.get $2) - ) - ) - (i32.load - (i32.const 192) + ) + (if + (i32.lt_u + (local.tee $1 + (i32.load offset=224 + (local.get $2) ) ) - (call $_abort) - (block - (local.set $17 - (local.get $3) - ) - (local.set $6 - (local.get $1) - ) + (i32.load + (i32.const 192) ) ) - ) - (block - (i32.store - (i32.const 176) - (i32.or + (call $_abort) + (block + (local.set $17 + (local.get $4) + ) + (local.set $6 (local.get $1) - (local.get $3) ) ) - (local.set $17 - (i32.add - (local.get $2) - (i32.const 8) - ) + ) + ) + (block + (i32.store + (i32.const 176) + (i32.or + (local.get $1) + (local.get $4) ) - (local.set $6 - (local.get $2) + ) + (local.set $17 + (i32.add + (local.get $3) + (i32.const 8) ) ) + (local.set $6 + (local.get $3) + ) ) - (i32.store - (local.get $17) - (local.get $5) - ) - (i32.store offset=12 - (local.get $6) - (local.get $5) - ) - (i32.store offset=8 - (local.get $5) - (local.get $6) - ) - (i32.store offset=12 - (local.get $5) - (local.get $2) - ) - (br $do-once40) ) + (i32.store + (local.get $17) + (local.get $5) + ) + (i32.store offset=12 + (local.get $6) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $6) + ) + (i32.store offset=12 + (local.get $5) + (local.get $3) + ) + (br $do-once40) ) - (local.set $2 - (i32.add - (local.tee $6 - (i32.shl - (local.tee $4 + ) + (local.set $3 + (i32.add + (local.tee $6 + (i32.shl + (local.tee $2 + (if (result i32) + (local.tee $1 + (i32.shr_u + (local.get $10) + (i32.const 8) + ) + ) (if (result i32) - (local.tee $1 - (i32.shr_u - (local.get $10) - (i32.const 8) - ) + (i32.gt_u + (local.get $10) + (i32.const 16777215) ) - (if (result i32) - (i32.gt_u - (local.get $10) - (i32.const 16777215) - ) - (i32.const 31) - (block (result i32) - (local.set $4 - (i32.and - (i32.shr_u - (i32.add - (local.tee $1 - (i32.shl - (local.get $1) - (local.tee $3 - (i32.and - (i32.shr_u - (i32.add - (local.get $1) - (i32.const 1048320) - ) - (i32.const 16) + (i32.const 31) + (block (result i32) + (local.set $2 + (i32.and + (i32.shr_u + (i32.add + (local.tee $1 + (i32.shl + (local.get $1) + (local.tee $4 + (i32.and + (i32.shr_u + (i32.add + (local.get $1) + (i32.const 1048320) ) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) ) - (i32.const 520192) ) - (i32.const 16) + (i32.const 520192) ) - (i32.const 4) + (i32.const 16) ) + (i32.const 4) ) - (local.set $2 - (i32.and - (i32.shr_u - (i32.add - (local.tee $1 - (i32.shl - (local.get $1) - (local.get $4) - ) + ) + (local.set $3 + (i32.and + (i32.shr_u + (i32.add + (local.tee $1 + (i32.shl + (local.get $1) + (local.get $2) ) - (i32.const 245760) ) - (i32.const 16) + (i32.const 245760) ) - (i32.const 2) + (i32.const 16) ) + (i32.const 2) ) - (i32.or - (i32.and - (i32.shr_u - (local.get $10) - (i32.add - (local.tee $1 - (i32.add - (i32.sub - (i32.const 14) + ) + (i32.or + (i32.and + (i32.shr_u + (local.get $10) + (i32.add + (local.tee $1 + (i32.add + (i32.sub + (i32.const 14) + (i32.or (i32.or - (i32.or - (local.get $3) - (local.get $4) - ) (local.get $2) + (local.get $4) ) + (local.get $3) ) - (i32.shr_u - (i32.shl - (local.get $1) - (local.get $2) - ) - (i32.const 15) + ) + (i32.shr_u + (i32.shl + (local.get $1) + (local.get $3) ) + (i32.const 15) ) ) - (i32.const 7) ) + (i32.const 7) ) - (i32.const 1) - ) - (i32.shl - (local.get $1) - (i32.const 1) ) + (i32.const 1) + ) + (i32.shl + (local.get $1) + (i32.const 1) ) ) ) - (i32.const 0) ) + (i32.const 0) ) - (i32.const 2) ) + (i32.const 2) ) - (i32.const 480) ) + (i32.const 480) ) - (i32.store offset=28 - (local.get $5) - (local.get $4) - ) - (i32.store offset=20 - (local.get $5) - (i32.const 0) - ) - (i32.store offset=16 - (local.get $5) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (local.tee $3 - (i32.load - (i32.const 180) - ) - ) - (local.tee $1 - (i32.shl - (i32.const 1) - (local.get $4) - ) + ) + (i32.store offset=28 + (local.get $5) + (local.get $2) + ) + (i32.store offset=20 + (local.get $5) + (i32.const 0) + ) + (i32.store offset=16 + (local.get $5) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (local.tee $4 + (i32.load + (i32.const 180) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (local.get $1) - (local.get $3) + (local.tee $1 + (i32.shl + (i32.const 1) + (local.get $2) ) ) - (i32.store offset=480 - (local.get $6) - (local.get $5) - ) - (i32.store offset=24 - (local.get $5) - (local.get $2) - ) - (i32.store offset=12 - (local.get $5) - (local.get $5) - ) - (i32.store offset=8 - (local.get $5) - (local.get $5) + ) + ) + (block + (i32.store + (i32.const 180) + (i32.or + (local.get $1) + (local.get $4) ) - (br $do-once40) ) + (i32.store offset=480 + (local.get $6) + (local.get $5) + ) + (i32.store offset=24 + (local.get $5) + (local.get $3) + ) + (i32.store offset=12 + (local.get $5) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $5) + ) + (br $do-once40) ) - (local.set $4 - (i32.shl - (local.get $10) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $4) - (i32.const 1) - ) - ) - (i32.eq - (local.get $4) - (i32.const 31) + ) + (local.set $2 + (i32.shl + (local.get $10) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (local.get $2) + (i32.const 1) ) ) + (i32.eq + (local.get $2) + (i32.const 31) + ) ) ) - (local.set $1 - (i32.load offset=480 - (local.get $6) - ) + ) + (local.set $1 + (i32.load offset=480 + (local.get $6) ) - (block $__rjto$9 - (block $__rjti$9 - (loop $while-in74 - (br_if $__rjti$9 - (i32.eq - (i32.and - (i32.load offset=4 - (local.get $1) - ) - (i32.const -8) + ) + (block $__rjto$9 + (block $__rjti$9 + (loop $while-in74 + (br_if $__rjti$9 + (i32.eq + (i32.and + (i32.load offset=4 + (local.get $1) ) - (local.get $10) + (i32.const -8) ) + (local.get $10) ) - (local.set $2 - (i32.shl - (local.get $4) - (i32.const 1) - ) + ) + (local.set $3 + (i32.shl + (local.get $2) + (i32.const 1) ) - (if - (local.tee $3 - (i32.load - (local.tee $4 + ) + (if + (local.tee $4 + (i32.load + (local.tee $2 + (i32.add (i32.add - (i32.add - (local.get $1) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (local.get $4) - (i32.const 31) - ) - (i32.const 2) + (local.get $1) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (local.get $2) + (i32.const 31) ) + (i32.const 2) ) ) ) ) - (block - (local.set $4 - (local.get $2) - ) - (local.set $1 - (local.get $3) - ) - (br $while-in74) - ) ) - ) - (if - (i32.lt_u - (local.get $4) - (i32.load - (i32.const 192) - ) - ) - (call $_abort) (block - (i32.store - (local.get $4) - (local.get $5) - ) - (i32.store offset=24 - (local.get $5) - (local.get $1) - ) - (i32.store offset=12 - (local.get $5) - (local.get $5) + (local.set $2 + (local.get $3) ) - (i32.store offset=8 - (local.get $5) - (local.get $5) + (local.set $1 + (local.get $4) ) - (br $do-once40) + (br $while-in74) ) ) - (br $__rjto$9) ) (if - (i32.and - (i32.ge_u - (local.tee $2 - (i32.load offset=8 - (local.get $1) - ) - ) - (local.tee $3 - (i32.load - (i32.const 192) - ) - ) - ) - (i32.ge_u - (local.get $1) - (local.get $3) + (i32.lt_u + (local.get $2) + (i32.load + (i32.const 192) ) ) + (call $_abort) (block - (i32.store offset=12 + (i32.store (local.get $2) (local.get $5) ) - (i32.store offset=8 + (i32.store offset=24 + (local.get $5) (local.get $1) + ) + (i32.store offset=12 + (local.get $5) (local.get $5) ) (i32.store offset=8 (local.get $5) - (local.get $2) - ) - (i32.store offset=12 (local.get $5) - (local.get $1) ) - (i32.store offset=24 - (local.get $5) - (i32.const 0) + (br $do-once40) + ) + ) + (br $__rjto$9) + ) + (if + (i32.and + (i32.ge_u + (local.tee $3 + (i32.load offset=8 + (local.get $1) + ) + ) + (local.tee $4 + (i32.load + (i32.const 192) + ) ) ) - (call $_abort) + (i32.ge_u + (local.get $1) + (local.get $4) + ) + ) + (block + (i32.store offset=12 + (local.get $3) + (local.get $5) + ) + (i32.store offset=8 + (local.get $1) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $3) + ) + (i32.store offset=12 + (local.get $5) + (local.get $1) + ) + (i32.store offset=24 + (local.get $5) + (i32.const 0) + ) ) + (call $_abort) ) ) ) ) - (block - (if - (i32.or - (i32.eqz - (local.tee $2 - (i32.load - (i32.const 192) - ) + ) + (block + (if + (i32.or + (i32.eqz + (local.tee $3 + (i32.load + (i32.const 192) ) ) - (i32.lt_u - (local.get $1) - (local.get $2) - ) ) - (i32.store - (i32.const 192) + (i32.lt_u (local.get $1) + (local.get $3) ) ) (i32.store - (i32.const 624) + (i32.const 192) (local.get $1) ) - (i32.store - (i32.const 628) - (local.get $3) - ) - (i32.store - (i32.const 636) - (i32.const 0) + ) + (i32.store + (i32.const 624) + (local.get $1) + ) + (i32.store + (i32.const 628) + (local.get $4) + ) + (i32.store + (i32.const 636) + (i32.const 0) + ) + (i32.store + (i32.const 212) + (i32.load + (i32.const 648) ) - (i32.store - (i32.const 212) - (i32.load - (i32.const 648) + ) + (i32.store + (i32.const 208) + (i32.const -1) + ) + (local.set $3 + (i32.const 0) + ) + (loop $while-in43 + (local.set $2 + (i32.add + (local.tee $6 + (i32.shl + (local.get $3) + (i32.const 3) + ) + ) + (i32.const 216) ) ) - (i32.store - (i32.const 208) - (i32.const -1) + (i32.store offset=228 + (local.get $6) + (local.get $2) ) - (local.set $2 - (i32.const 0) + (i32.store offset=224 + (local.get $6) + (local.get $2) ) - (loop $while-in43 - (i32.store offset=12 - (local.tee $4 + (br_if $while-in43 + (i32.ne + (local.tee $3 (i32.add - (i32.shl - (local.get $2) - (i32.const 3) - ) - (i32.const 216) - ) - ) - (local.get $4) - ) - (i32.store offset=8 - (local.get $4) - (local.get $4) - ) - (br_if $while-in43 - (i32.ne - (local.tee $2 - (i32.add - (local.get $2) - (i32.const 1) - ) + (local.get $3) + (i32.const 1) ) - (i32.const 32) ) + (i32.const 32) ) ) - (i32.store - (i32.const 200) - (local.tee $4 - (i32.add - (local.tee $2 - (select - (i32.and - (i32.sub - (i32.const 0) - (local.tee $2 - (i32.add - (local.get $1) - (i32.const 8) - ) + ) + (i32.store + (i32.const 200) + (local.tee $2 + (i32.add + (local.tee $3 + (select + (i32.and + (i32.sub + (i32.const 0) + (local.tee $3 + (i32.add + (local.get $1) + (i32.const 8) ) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $2) - (i32.const 7) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (local.get $3) + (i32.const 7) ) ) - (local.get $1) ) + (local.get $1) ) ) - (i32.store - (i32.const 188) - (local.tee $1 - (i32.sub - (i32.add - (local.get $3) - (i32.const -40) - ) - (local.get $2) + ) + (i32.store + (i32.const 188) + (local.tee $1 + (i32.sub + (i32.add + (local.get $4) + (i32.const -40) ) + (local.get $3) ) ) - (i32.store offset=4 - (local.get $4) - (i32.or - (local.get $1) - (i32.const 1) - ) - ) - (i32.store offset=4 - (i32.add - (local.get $1) - (local.get $4) - ) - (i32.const 40) + ) + (i32.store offset=4 + (local.get $2) + (i32.or + (local.get $1) + (i32.const 1) ) - (i32.store - (i32.const 204) - (i32.load - (i32.const 664) - ) + ) + (i32.store offset=4 + (i32.add + (local.get $1) + (local.get $2) ) + (i32.const 40) ) - ) - (br_if $folding-inner0 - (i32.gt_u - (local.tee $1 - (i32.load - (i32.const 188) - ) + (i32.store + (i32.const 204) + (i32.load + (i32.const 664) ) - (local.get $0) ) ) ) - (i32.store - (call $___errno_location) - (i32.const 12) - ) - (return - (i32.const 0) - ) - ) - (i32.store - (i32.const 188) - (local.tee $3 - (i32.sub - (local.get $1) - (local.get $0) - ) - ) - ) - (i32.store - (i32.const 200) - (local.tee $1 - (i32.add - (local.tee $2 + (br_if $folding-inner0 + (i32.gt_u + (local.tee $1 (i32.load - (i32.const 200) + (i32.const 188) ) ) (local.get $0) ) ) ) - (i32.store offset=4 - (local.get $1) - (i32.or - (local.get $3) - (i32.const 1) + (i32.store + (call $___errno_location) + (i32.const 12) + ) + (return + (i32.const 0) + ) + ) + (i32.store + (i32.const 188) + (local.tee $4 + (i32.sub + (local.get $1) + (local.get $0) ) ) - (i32.store offset=4 - (local.get $2) - (i32.or + ) + (i32.store + (i32.const 200) + (local.tee $1 + (i32.add + (local.tee $3 + (i32.load + (i32.const 200) + ) + ) (local.get $0) - (i32.const 3) ) ) ) + (i32.store offset=4 + (local.get $1) + (i32.or + (local.get $4) + (i32.const 1) + ) + ) + (i32.store offset=4 + (local.get $3) + (i32.or + (local.get $0) + (i32.const 3) + ) + ) (i32.add - (local.get $2) + (local.get $3) (i32.const 8) ) ) @@ -13169,8 +13183,8 @@ (if (i32.eqz (local.tee $4 - (i32.load offset=4 - (local.get $8) + (i32.load offset=20 + (local.get $1) ) ) ) @@ -13434,11 +13448,8 @@ ) (if (local.tee $5 - (i32.load offset=4 - (i32.add - (local.get $1) - (i32.const 16) - ) + (i32.load offset=20 + (local.get $1) ) ) (if @@ -13795,8 +13806,8 @@ (if (i32.eqz (local.tee $2 - (i32.load offset=4 - (local.get $1) + (i32.load offset=20 + (local.get $7) ) ) ) @@ -14049,11 +14060,8 @@ ) (if (local.tee $0 - (i32.load offset=4 - (i32.add - (local.get $7) - (i32.const 16) - ) + (i32.load offset=20 + (local.get $7) ) ) (if @@ -14129,9 +14137,11 @@ (block (local.set $1 (i32.add - (i32.shl - (local.get $0) - (i32.const 3) + (local.tee $5 + (i32.shl + (local.get $0) + (i32.const 3) + ) ) (i32.const 216) ) @@ -14160,8 +14170,8 @@ (if (i32.lt_u (local.tee $0 - (i32.load offset=8 - (local.get $1) + (i32.load offset=224 + (local.get $5) ) ) (i32.load diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise index 5cd135b88..2be09df62 100644 --- a/test/emcc_hello_world.fromasm.imprecise +++ b/test/emcc_hello_world.fromasm.imprecise @@ -656,7 +656,7 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local.set $8 + (local.set $4 (global.get $STACKTOP) ) (global.set $STACKTOP @@ -672,29 +672,25 @@ ) (call $abort) ) - (local.set $9 + (local.set $10 (i32.add - (local.get $8) + (local.get $4) (i32.const 16) ) ) + (local.set $8 + (local.get $4) + ) (i32.store offset=32 - (local.tee $6 - (local.get $8) - ) + (local.get $4) (local.tee $3 (i32.load offset=28 (local.get $0) ) ) ) - (i32.store offset=4 - (local.tee $4 - (i32.add - (local.get $6) - (i32.const 32) - ) - ) + (i32.store offset=36 + (local.get $4) (local.tee $3 (i32.sub (i32.load offset=20 @@ -704,21 +700,24 @@ ) ) ) - (i32.store offset=8 + (i32.store offset=40 (local.get $4) (local.get $1) ) - (i32.store offset=12 + (i32.store offset=44 (local.get $4) (local.get $2) ) (local.set $1 - (local.get $4) + (i32.add + (local.get $4) + (i32.const 32) + ) ) - (local.set $4 + (local.set $5 (i32.const 2) ) - (local.set $10 + (local.set $9 (i32.add (local.get $2) (local.get $3) @@ -738,24 +737,24 @@ (local.get $0) ) (i32.store - (local.get $6) + (local.get $8) (i32.load offset=60 (local.get $0) ) ) (i32.store offset=4 - (local.get $6) + (local.get $8) (local.get $1) ) (i32.store offset=8 - (local.get $6) - (local.get $4) + (local.get $8) + (local.get $5) ) (local.set $3 (call $___syscall_ret (call $___syscall146 (i32.const 146) - (local.get $6) + (local.get $8) ) ) ) @@ -765,24 +764,24 @@ ) (block (i32.store offset=16 - (local.get $8) + (local.get $4) (i32.load offset=60 (local.get $0) ) ) - (i32.store offset=4 - (local.get $9) + (i32.store offset=20 + (local.get $4) (local.get $1) ) - (i32.store offset=8 - (local.get $9) + (i32.store offset=24 (local.get $4) + (local.get $5) ) (local.set $3 (call $___syscall_ret (call $___syscall146 (i32.const 146) - (local.get $9) + (local.get $10) ) ) ) @@ -791,7 +790,7 @@ (br_if $__rjti$0 (i32.eq (local.get $3) - (local.get $10) + (local.get $9) ) ) (br_if $__rjti$1 @@ -800,11 +799,11 @@ (i32.const 0) ) ) - (local.set $5 + (local.set $6 (if (result i32) (i32.gt_u (local.get $3) - (local.tee $5 + (local.tee $6 (i32.load offset=4 (local.get $1) ) @@ -834,21 +833,21 @@ (i32.const 8) ) ) - (local.set $4 + (local.set $5 (i32.add - (local.get $4) + (local.get $5) (i32.const -1) ) ) (i32.sub (local.get $3) - (local.get $5) + (local.get $6) ) ) (block (result i32) (if (i32.eq - (local.get $4) + (local.get $5) (i32.const 2) ) (block @@ -862,14 +861,14 @@ ) ) (local.set $7 - (local.get $5) + (local.get $6) ) - (local.set $4 + (local.set $5 (i32.const 2) ) ) (local.set $7 - (local.get $5) + (local.get $6) ) ) (local.get $3) @@ -882,19 +881,19 @@ (i32.load (local.get $1) ) - (local.get $5) + (local.get $6) ) ) (i32.store offset=4 (local.get $1) (i32.sub (local.get $7) - (local.get $5) + (local.get $6) ) ) - (local.set $10 + (local.set $9 (i32.sub - (local.get $10) + (local.get $9) (local.get $3) ) ) @@ -955,14 +954,14 @@ ) ) (i32.eq - (local.get $4) + (local.get $5) (i32.const 2) ) ) ) ) (global.set $STACKTOP - (local.get $8) + (local.get $4) ) (local.get $2) ) @@ -1969,7 +1968,7 @@ (local $47 i32) (local $48 i32) (local $49 i32) - (local.set $20 + (local.set $19 (global.get $STACKTOP) ) (global.set $STACKTOP @@ -1987,14 +1986,14 @@ ) (local.set $39 (i32.add - (local.get $20) + (local.get $19) (i32.const 16) ) ) (local.set $33 (i32.add (local.tee $13 - (local.get $20) + (local.get $19) ) (i32.const 528) ) @@ -2337,7 +2336,7 @@ ) (select (i32.const 1) - (local.get $19) + (local.get $20) (local.get $10) ) ) @@ -2348,11 +2347,11 @@ (local.set $8 (local.get $10) ) - (local.get $19) + (local.get $20) ) ) ) - (local.set $19 + (local.set $20 (if (result i32) (i32.eq (i32.and @@ -2370,7 +2369,7 @@ (i32.const 32) ) (block $label$break$L25 (result i32) - (local.set $19 + (local.set $20 (local.get $5) ) (local.set $5 @@ -2395,7 +2394,7 @@ ) (block (local.set $5 - (local.get $19) + (local.get $20) ) (br $label$break$L25 (local.get $10) @@ -2410,7 +2409,7 @@ (i32.add (i32.shr_s (i32.shl - (local.get $19) + (local.get $20) (i32.const 24) ) (i32.const 24) @@ -2430,7 +2429,7 @@ (i32.eq (i32.and (local.tee $5 - (local.tee $19 + (local.tee $20 (i32.load8_s offset=1 (local.get $8) ) @@ -2448,7 +2447,7 @@ ) (block (result i32) (local.set $5 - (local.get $19) + (local.get $20) ) (local.set $8 (local.get $7) @@ -2461,7 +2460,7 @@ (i32.const 0) ) ) - (local.set $19 + (local.set $20 (if (result i32) (i32.eq (i32.and @@ -2563,7 +2562,7 @@ ) (block (local.set $10 - (local.get $19) + (local.get $20) ) (local.set $8 (local.get $7) @@ -2618,11 +2617,11 @@ ) ) (i32.or - (local.get $19) + (local.get $20) (i32.const 8192) ) ) - (local.get $19) + (local.get $20) ) ) (local.get $5) @@ -2705,7 +2704,7 @@ ) (block (result i32) (local.set $10 - (local.get $19) + (local.get $20) ) (local.set $15 (local.get $5) @@ -2716,7 +2715,7 @@ ) (block (result i32) (local.set $10 - (local.get $19) + (local.get $20) ) (local.set $15 (i32.const 0) @@ -2903,7 +2902,7 @@ ) ) (if - (local.get $19) + (local.get $20) (block (local.set $16 (i32.const -1) @@ -3590,7 +3589,7 @@ (br $__rjti$4) ) (i32.store8 offset=575 - (local.get $13) + (local.get $19) (i32.load (local.get $13) ) @@ -3637,13 +3636,13 @@ (br $__rjti$5) ) (i32.store offset=8 - (local.get $20) + (local.get $19) (i32.load (local.get $13) ) ) (i32.store offset=12 - (local.get $13) + (local.get $19) (i32.const 0) ) (i32.store @@ -3683,7 +3682,7 @@ ) ) (i32.store offset=16 - (local.get $20) + (local.get $19) (i32.const 0) ) (f64.store @@ -3770,10 +3769,10 @@ ) ) (i32.store offset=16 - (local.get $20) + (local.get $19) (i32.add (i32.load offset=16 - (local.get $20) + (local.get $19) ) (i32.const -1) ) @@ -3887,7 +3886,7 @@ (i32.const 0) (local.tee $6 (i32.load offset=16 - (local.get $20) + (local.get $19) ) ) ) @@ -3915,7 +3914,7 @@ ) (block (i32.store8 offset=587 - (local.get $13) + (local.get $19) (i32.const 48) ) (local.set $4 @@ -4193,11 +4192,11 @@ (local.get $4) (block (result f64) (i32.store offset=16 - (local.get $20) + (local.get $19) (local.tee $4 (i32.add (i32.load offset=16 - (local.get $20) + (local.get $19) ) (i32.const -28) ) @@ -4211,7 +4210,7 @@ (block (result f64) (local.set $4 (i32.load offset=16 - (local.get $20) + (local.get $19) ) ) (local.get $23) @@ -4266,7 +4265,7 @@ (i32.gt_s (local.tee $7 (i32.load offset=16 - (local.get $20) + (local.get $19) ) ) (i32.const 0) @@ -4386,11 +4385,11 @@ ) ) (i32.store offset=16 - (local.get $20) + (local.get $19) (local.tee $7 (i32.sub (i32.load offset=16 - (local.get $20) + (local.get $19) ) (local.get $12) ) @@ -4598,11 +4597,11 @@ ) ) (i32.store offset=16 - (local.get $20) + (local.get $19) (local.tee $7 (i32.add (i32.load offset=16 - (local.get $20) + (local.get $19) ) (local.get $12) ) @@ -5529,7 +5528,7 @@ ) ) (i32.store8 offset=596 - (local.get $13) + (local.get $19) (i32.const 48) ) (local.set $6 @@ -5773,7 +5772,7 @@ ) (block (i32.store8 offset=596 - (local.get $13) + (local.get $19) (i32.const 48) ) (local.set $4 @@ -6593,14 +6592,14 @@ ) (local.set $16 (if (result i32) - (local.get $19) + (local.get $20) (block (result i32) (local.set $0 (i32.const 1) ) (loop $while-in130 (if - (local.tee $19 + (local.tee $20 (i32.load (i32.add (i32.shl @@ -6620,7 +6619,7 @@ ) (local.get $2) ) - (local.get $19) + (local.get $20) (local.get $1) ) (br_if $while-in130 @@ -6686,7 +6685,7 @@ ) ) (global.set $STACKTOP - (local.get $20) + (local.get $19) ) (local.get $16) ) @@ -7391,556 +7390,553 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (block $folding-inner1 - (local.set $0 - (if (result i32) - (i32.lt_u - (local.get $0) - (i32.const 245) - ) - (block (result i32) - (if - (i32.and - (local.tee $11 - (i32.shr_u - (local.tee $7 - (i32.load - (i32.const 176) - ) + (local.set $0 + (if (result i32) + (i32.lt_u + (local.get $0) + (i32.const 245) + ) + (block (result i32) + (if + (i32.and + (local.tee $11 + (i32.shr_u + (local.tee $7 + (i32.load + (i32.const 176) ) - (local.tee $13 - (i32.shr_u - (local.tee $2 - (select - (i32.const 16) - (i32.and - (i32.add - (local.get $0) - (i32.const 11) - ) - (i32.const -8) - ) - (i32.lt_u + ) + (local.tee $13 + (i32.shr_u + (local.tee $3 + (select + (i32.const 16) + (i32.and + (i32.add (local.get $0) (i32.const 11) ) + (i32.const -8) + ) + (i32.lt_u + (local.get $0) + (i32.const 11) ) ) - (i32.const 3) ) + (i32.const 3) ) ) ) - (i32.const 3) ) - (block - (if - (i32.eq - (local.tee $3 - (i32.load offset=8 - (local.tee $2 - (i32.load offset=8 - (local.tee $1 - (i32.add - (i32.shl - (local.tee $0 - (i32.add - (i32.xor - (i32.and - (local.get $11) - (i32.const 1) - ) - (i32.const 1) - ) - (local.get $13) - ) - ) - (i32.const 3) - ) - (i32.const 216) - ) + (i32.const 3) + ) + (block + (local.set $0 + (i32.add + (local.tee $1 + (i32.shl + (local.tee $4 + (i32.add + (i32.xor + (i32.and + (local.get $11) + (i32.const 1) ) + (i32.const 1) ) + (local.get $13) ) ) + (i32.const 3) ) - (local.get $1) ) - (i32.store - (i32.const 176) - (i32.and - (local.get $7) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $0) + (i32.const 216) + ) + ) + (if + (i32.eq + (local.tee $3 + (i32.load offset=8 + (local.tee $2 + (i32.load offset=224 + (local.get $1) ) - (i32.const -1) ) ) ) - (block - (if - (i32.lt_u - (local.get $3) - (i32.load - (i32.const 192) - ) + (local.get $0) + ) + (i32.store + (i32.const 176) + (i32.and + (local.get $7) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $4) ) - (call $_abort) + (i32.const -1) ) - (if - (i32.eq - (local.get $2) - (i32.load offset=12 - (local.get $3) - ) - ) - (block - (i32.store offset=12 - (local.get $3) - (local.get $1) - ) - (i32.store offset=8 - (local.get $1) - (local.get $3) - ) + ) + ) + (block + (if + (i32.lt_u + (local.get $3) + (i32.load + (i32.const 192) ) - (call $_abort) ) + (call $_abort) ) - ) - (i32.store offset=4 - (local.get $2) - (i32.or - (local.tee $0 - (i32.shl + (if + (i32.eq + (local.get $2) + (i32.load offset=12 + (local.get $3) + ) + ) + (block + (i32.store offset=12 + (local.get $3) (local.get $0) - (i32.const 3) + ) + (i32.store offset=224 + (local.get $1) + (local.get $3) ) ) - (i32.const 3) + (call $_abort) ) ) - (i32.store offset=4 + ) + (i32.store offset=4 + (local.get $2) + (i32.or (local.tee $0 - (i32.add - (local.get $0) - (local.get $2) - ) - ) - (i32.or - (i32.load offset=4 - (local.get $0) + (i32.shl + (local.get $4) + (i32.const 3) ) - (i32.const 1) ) + (i32.const 3) ) - (br $folding-inner1) ) - ) - (if (result i32) - (i32.gt_u - (local.get $2) + (i32.store offset=4 (local.tee $0 - (i32.load - (i32.const 184) + (i32.add + (local.get $0) + (local.get $2) + ) + ) + (i32.or + (i32.load offset=4 + (local.get $0) ) + (i32.const 1) ) ) - (block (result i32) - (if - (local.get $11) - (block - (if - (i32.eq - (local.tee $6 - (i32.load offset=8 - (local.tee $8 - (i32.load offset=8 - (local.tee $4 - (i32.add - (i32.shl - (local.tee $3 - (i32.add - (i32.or - (i32.or - (i32.or - (i32.or - (local.tee $3 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.add - (i32.and - (local.tee $3 - (i32.and - (i32.or - (local.tee $3 - (i32.shl - (i32.const 2) - (local.get $13) - ) - ) - (i32.sub - (i32.const 0) - (local.get $3) - ) - ) - (i32.shl - (local.get $11) - (local.get $13) - ) - ) - ) - (i32.sub - (i32.const 0) - (local.get $3) - ) - ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) - (local.tee $3 + (return + (i32.add + (local.get $2) + (i32.const 8) + ) + ) + ) + ) + (if (result i32) + (i32.gt_u + (local.get $3) + (local.tee $0 + (i32.load + (i32.const 184) + ) + ) + ) + (block (result i32) + (if + (local.get $11) + (block + (local.set $4 + (i32.add + (local.tee $2 + (i32.shl + (local.tee $10 + (i32.add + (i32.or + (i32.or + (i32.or + (i32.or + (local.tee $4 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.add + (i32.and + (local.tee $4 (i32.and - (i32.shr_u + (i32.or (local.tee $4 - (i32.shr_u - (local.get $4) - (local.get $3) + (i32.shl + (i32.const 2) + (local.get $13) ) ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - ) - (local.tee $3 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.shr_u + (i32.sub + (i32.const 0) (local.get $4) - (local.get $3) ) ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (local.tee $3 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.shr_u - (local.get $4) - (local.get $3) + (i32.shl + (local.get $11) + (local.get $13) ) ) - (i32.const 1) ) - (i32.const 2) + (i32.sub + (i32.const 0) + (local.get $4) + ) ) + (i32.const -1) ) ) - (local.tee $3 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.shr_u - (local.get $4) - (local.get $3) - ) - ) - (i32.const 1) - ) - (i32.const 1) + (i32.const 12) + ) + (i32.const 16) + ) + ) + (local.tee $4 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.shr_u + (local.get $2) + (local.get $4) ) ) + (i32.const 5) ) + (i32.const 8) + ) + ) + ) + (local.tee $4 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.shr_u + (local.get $2) + (local.get $4) + ) + ) + (i32.const 2) + ) + (i32.const 4) + ) + ) + ) + (local.tee $4 + (i32.and + (i32.shr_u + (local.tee $2 (i32.shr_u + (local.get $2) (local.get $4) - (local.get $3) ) ) + (i32.const 1) ) - (i32.const 3) + (i32.const 2) ) - (i32.const 216) + ) + ) + (local.tee $4 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.shr_u + (local.get $2) + (local.get $4) + ) + ) + (i32.const 1) + ) + (i32.const 1) ) ) ) + (i32.shr_u + (local.get $2) + (local.get $4) + ) ) ) + (i32.const 3) ) - (local.get $4) ) - (block - (i32.store - (i32.const 176) - (i32.and - (local.get $7) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $3) - ) - (i32.const -1) + (i32.const 216) + ) + ) + (if + (i32.eq + (local.tee $6 + (i32.load offset=8 + (local.tee $9 + (i32.load offset=224 + (local.get $2) ) ) ) - (local.set $9 - (local.get $0) + ) + (local.get $4) + ) + (block + (i32.store + (i32.const 176) + (i32.and + (local.get $7) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $10) + ) + (i32.const -1) + ) ) ) - (block - (if - (i32.lt_u + (local.set $8 + (local.get $0) + ) + ) + (block + (if + (i32.lt_u + (local.get $6) + (i32.load + (i32.const 192) + ) + ) + (call $_abort) + ) + (if + (i32.eq + (i32.load offset=12 (local.get $6) - (i32.load - (i32.const 192) - ) ) - (call $_abort) + (local.get $9) ) - (if - (i32.eq - (i32.load offset=12 - (local.get $6) - ) - (local.get $8) + (block + (i32.store offset=12 + (local.get $6) + (local.get $4) ) - (block - (i32.store offset=12 - (local.get $6) - (local.get $4) - ) - (i32.store offset=8 - (local.get $4) - (local.get $6) - ) - (local.set $9 - (i32.load - (i32.const 184) - ) + (i32.store offset=224 + (local.get $2) + (local.get $6) + ) + (local.set $8 + (i32.load + (i32.const 184) ) ) - (call $_abort) ) + (call $_abort) ) ) - (i32.store offset=4 - (local.get $8) - (i32.or - (local.get $2) - (i32.const 3) - ) + ) + (i32.store offset=4 + (local.get $9) + (i32.or + (local.get $3) + (i32.const 3) ) - (i32.store offset=4 - (local.tee $4 - (i32.add - (local.get $2) - (local.get $8) - ) + ) + (i32.store offset=4 + (local.tee $6 + (i32.add + (local.get $3) + (local.get $9) ) - (i32.or - (local.tee $6 - (i32.sub - (i32.shl - (local.get $3) - (i32.const 3) - ) - (local.get $2) + ) + (i32.or + (local.tee $10 + (i32.sub + (i32.shl + (local.get $10) + (i32.const 3) ) + (local.get $3) ) - (i32.const 1) ) + (i32.const 1) ) - (i32.store - (i32.add - (local.get $4) - (local.get $6) - ) + ) + (i32.store + (i32.add (local.get $6) + (local.get $10) ) - (if - (local.get $9) - (block - (local.set $10 - (i32.load - (i32.const 196) - ) + (local.get $10) + ) + (if + (local.get $8) + (block + (local.set $7 + (i32.load + (i32.const 196) ) - (local.set $2 - (i32.add + ) + (local.set $3 + (i32.add + (local.tee $2 (i32.shl (local.tee $0 (i32.shr_u - (local.get $9) + (local.get $8) (i32.const 3) ) ) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (if - (i32.and - (local.tee $3 - (i32.load - (i32.const 176) - ) + ) + (if + (i32.and + (local.tee $4 + (i32.load + (i32.const 176) ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $0) - ) + ) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $0) ) ) - (block - (local.set $3 - (i32.add - (local.get $2) - (i32.const 8) - ) + ) + (block + (local.set $4 + (i32.add + (local.get $3) + (i32.const 8) ) - (if - (i32.lt_u - (local.tee $0 - (i32.load offset=8 - (local.get $2) - ) - ) - (i32.load - (i32.const 192) + ) + (if + (i32.lt_u + (local.tee $0 + (i32.load offset=224 + (local.get $2) ) ) - (call $_abort) - (block - (local.set $5 - (local.get $3) - ) - (local.set $1 - (local.get $0) - ) + (i32.load + (i32.const 192) ) ) - ) - (block - (i32.store - (i32.const 176) - (i32.or + (call $_abort) + (block + (local.set $5 + (local.get $4) + ) + (local.set $1 (local.get $0) - (local.get $3) ) ) - (local.set $5 - (i32.add - (local.get $2) - (i32.const 8) - ) + ) + ) + (block + (i32.store + (i32.const 176) + (i32.or + (local.get $0) + (local.get $4) ) - (local.set $1 - (local.get $2) + ) + (local.set $5 + (i32.add + (local.get $3) + (i32.const 8) ) ) - ) - (i32.store - (local.get $5) - (local.get $10) - ) - (i32.store offset=12 - (local.get $1) - (local.get $10) - ) - (i32.store offset=8 - (local.get $10) - (local.get $1) - ) - (i32.store offset=12 - (local.get $10) - (local.get $2) + (local.set $1 + (local.get $3) + ) ) ) - ) - (i32.store - (i32.const 184) - (local.get $6) - ) - (i32.store - (i32.const 196) - (local.get $4) - ) - (return - (i32.add - (local.get $8) - (i32.const 8) + (i32.store + (local.get $5) + (local.get $7) + ) + (i32.store offset=12 + (local.get $1) + (local.get $7) + ) + (i32.store offset=8 + (local.get $7) + (local.get $1) + ) + (i32.store offset=12 + (local.get $7) + (local.get $3) ) ) ) - ) - (if (result i32) - (local.tee $0 - (i32.load - (i32.const 180) + (i32.store + (i32.const 184) + (local.get $10) + ) + (i32.store + (i32.const 196) + (local.get $6) + ) + (return + (i32.add + (local.get $9) + (i32.const 8) ) ) - (block - (local.set $10 - (i32.sub - (i32.and - (i32.load offset=4 - (local.tee $0 - (i32.load offset=480 - (i32.shl - (i32.add + ) + ) + (if (result i32) + (local.tee $0 + (i32.load + (i32.const 180) + ) + ) + (block + (local.set $10 + (i32.sub + (i32.and + (i32.load offset=4 + (local.tee $0 + (i32.load offset=480 + (i32.shl + (i32.add + (i32.or (i32.or (i32.or (i32.or - (i32.or - (local.tee $0 - (i32.and - (i32.shr_u - (local.tee $1 - (i32.add - (i32.and + (local.tee $0 + (i32.and + (i32.shr_u + (local.tee $1 + (i32.add + (i32.and + (local.get $0) + (i32.sub + (i32.const 0) (local.get $0) - (i32.sub - (i32.const 0) - (local.get $0) - ) ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) - (local.tee $0 - (i32.and - (i32.shr_u - (local.tee $1 - (i32.shr_u - (local.get $1) - (local.get $0) ) + (i32.const -1) ) - (i32.const 5) ) - (i32.const 8) + (i32.const 12) ) + (i32.const 16) ) ) (local.tee $0 @@ -7952,9 +7948,9 @@ (local.get $0) ) ) - (i32.const 2) + (i32.const 5) ) - (i32.const 4) + (i32.const 8) ) ) ) @@ -7967,9 +7963,9 @@ (local.get $0) ) ) - (i32.const 1) + (i32.const 2) ) - (i32.const 2) + (i32.const 4) ) ) ) @@ -7984,486 +7980,502 @@ ) (i32.const 1) ) - (i32.const 1) + (i32.const 2) ) ) ) - (i32.shr_u - (local.get $1) - (local.get $0) + (local.tee $0 + (i32.and + (i32.shr_u + (local.tee $1 + (i32.shr_u + (local.get $1) + (local.get $0) + ) + ) + (i32.const 1) + ) + (i32.const 1) + ) ) ) - (i32.const 2) + (i32.shr_u + (local.get $1) + (local.get $0) + ) ) + (i32.const 2) ) ) ) - (i32.const -8) ) - (local.get $2) + (i32.const -8) ) + (local.get $3) ) - (local.set $6 - (local.get $0) - ) - (loop $while-in - (block $while-out + ) + (local.set $6 + (local.get $0) + ) + (loop $while-in + (block $while-out + (if + (local.tee $1 + (i32.load offset=16 + (local.get $0) + ) + ) + (local.set $0 + (local.get $1) + ) (if - (local.tee $1 - (i32.load offset=16 - (local.get $0) + (i32.eqz + (local.tee $0 + (i32.load offset=20 + (local.get $0) + ) ) ) - (local.set $0 - (local.get $1) - ) - (if - (i32.eqz - (local.tee $0 - (i32.load offset=20 - (local.get $0) - ) - ) + (block + (local.set $7 + (local.get $10) ) - (block - (local.set $7 - (local.get $10) - ) - (local.set $8 - (local.get $6) - ) - (br $while-out) + (local.set $9 + (local.get $6) ) + (br $while-out) ) ) - (local.set $7 - (i32.lt_u - (local.tee $1 - (i32.sub - (i32.and - (i32.load offset=4 - (local.get $0) - ) - (i32.const -8) + ) + (local.set $7 + (i32.lt_u + (local.tee $1 + (i32.sub + (i32.and + (i32.load offset=4 + (local.get $0) ) - (local.get $2) + (i32.const -8) ) + (local.get $3) ) - (local.get $10) ) + (local.get $10) ) - (local.set $10 - (select - (local.get $1) - (local.get $10) - (local.get $7) - ) + ) + (local.set $10 + (select + (local.get $1) + (local.get $10) + (local.get $7) ) - (local.set $6 - (select - (local.get $0) - (local.get $6) - (local.get $7) - ) + ) + (local.set $6 + (select + (local.get $0) + (local.get $6) + (local.get $7) ) - (br $while-in) ) + (br $while-in) ) - (if - (i32.lt_u - (local.get $8) - (local.tee $11 - (i32.load - (i32.const 192) - ) + ) + (if + (i32.lt_u + (local.get $9) + (local.tee $11 + (i32.load + (i32.const 192) ) ) - (call $_abort) ) - (if - (i32.ge_u - (local.get $8) - (local.tee $5 - (i32.add - (local.get $2) - (local.get $8) - ) + (call $_abort) + ) + (if + (i32.ge_u + (local.get $9) + (local.tee $5 + (i32.add + (local.get $3) + (local.get $9) ) ) - (call $_abort) ) - (local.set $9 - (i32.load offset=24 - (local.get $8) + (call $_abort) + ) + (local.set $8 + (i32.load offset=24 + (local.get $9) + ) + ) + (if + (i32.eq + (local.tee $0 + (i32.load offset=12 + (local.get $9) + ) ) + (local.get $9) ) - (if - (i32.eq - (local.tee $0 - (i32.load offset=12 - (local.get $8) - ) + (block $do-once4 + (local.set $0 + (i32.add + (local.get $9) + (i32.const 20) ) - (local.get $8) ) - (block $do-once4 - (local.set $0 - (i32.add - (local.get $8) - (i32.const 20) + (if + (i32.eqz + (local.tee $1 + (i32.load offset=20 + (local.get $9) + ) ) ) - (if - (i32.eqz - (local.tee $1 - (i32.load offset=20 - (local.get $8) - ) + (block + (local.set $0 + (i32.add + (local.get $9) + (i32.const 16) ) ) - (block - (local.set $0 - (i32.add - (local.get $8) - (i32.const 16) - ) - ) - (br_if $do-once4 - (i32.eqz - (local.tee $1 - (i32.load offset=16 - (local.get $8) - ) + (br_if $do-once4 + (i32.eqz + (local.tee $1 + (i32.load offset=16 + (local.get $9) ) ) ) ) ) - (loop $while-in7 - (local.set $10 - (i32.add + ) + (loop $while-in7 + (local.set $10 + (i32.add + (local.get $1) + (i32.const 20) + ) + ) + (if + (local.tee $6 + (i32.load offset=20 (local.get $1) - (i32.const 20) ) ) - (if - (local.tee $6 - (i32.load offset=20 - (local.get $1) - ) + (block + (local.set $1 + (local.get $6) ) - (block - (local.set $1 - (local.get $6) - ) - (local.set $0 - (local.get $10) - ) - (br $while-in7) + (local.set $0 + (local.get $10) ) + (br $while-in7) ) - (local.set $10 - (i32.add + ) + (local.set $10 + (i32.add + (local.get $1) + (i32.const 16) + ) + ) + (if + (local.tee $6 + (i32.load offset=16 (local.get $1) - (i32.const 16) ) ) - (if - (local.tee $6 - (i32.load offset=16 - (local.get $1) - ) + (block + (local.set $1 + (local.get $6) ) - (block - (local.set $1 - (local.get $6) - ) - (local.set $0 - (local.get $10) - ) - (br $while-in7) + (local.set $0 + (local.get $10) ) + (br $while-in7) ) ) - (if - (i32.lt_u + ) + (if + (i32.lt_u + (local.get $0) + (local.get $11) + ) + (call $_abort) + (block + (i32.store (local.get $0) - (local.get $11) + (i32.const 0) ) - (call $_abort) - (block - (i32.store - (local.get $0) - (i32.const 0) - ) - (local.set $4 - (local.get $1) - ) + (local.set $2 + (local.get $1) ) ) ) - (block - (if - (i32.lt_u - (local.tee $1 - (i32.load offset=8 - (local.get $8) - ) + ) + (block + (if + (i32.lt_u + (local.tee $1 + (i32.load offset=8 + (local.get $9) ) - (local.get $11) ) - (call $_abort) + (local.get $11) ) - (if - (i32.ne - (local.get $8) - (i32.load offset=12 - (local.get $1) - ) + (call $_abort) + ) + (if + (i32.ne + (local.get $9) + (i32.load offset=12 + (local.get $1) ) - (call $_abort) ) - (if - (i32.eq - (i32.load offset=8 - (local.get $0) - ) - (local.get $8) + (call $_abort) + ) + (if + (i32.eq + (i32.load offset=8 + (local.get $0) ) - (block - (i32.store offset=12 - (local.get $1) - (local.get $0) - ) - (i32.store offset=8 - (local.get $0) - (local.get $1) - ) - (local.set $4 - (local.get $0) - ) + (local.get $9) + ) + (block + (i32.store offset=12 + (local.get $1) + (local.get $0) + ) + (i32.store offset=8 + (local.get $0) + (local.get $1) + ) + (local.set $2 + (local.get $0) ) - (call $_abort) ) + (call $_abort) ) ) - (if - (local.get $9) - (block $do-once8 - (if - (i32.eq - (i32.load offset=480 - (local.tee $1 - (i32.shl - (local.tee $0 - (i32.load offset=28 - (local.get $8) - ) + ) + (if + (local.get $8) + (block $do-once8 + (if + (i32.eq + (i32.load offset=480 + (local.tee $1 + (i32.shl + (local.tee $0 + (i32.load offset=28 + (local.get $9) ) - (i32.const 2) ) + (i32.const 2) ) ) - (local.get $8) ) - (block - (i32.store offset=480 - (local.get $1) - (local.get $4) + (local.get $9) + ) + (block + (i32.store offset=480 + (local.get $1) + (local.get $2) + ) + (if + (i32.eqz + (local.get $2) ) - (if - (i32.eqz - (local.get $4) - ) - (block - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $0) - ) - (i32.const -1) + (block + (i32.store + (i32.const 180) + (i32.and + (i32.load + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $0) ) + (i32.const -1) ) ) - (br $do-once8) ) + (br $do-once8) ) ) - (block - (if - (i32.lt_u - (local.get $9) - (i32.load - (i32.const 192) - ) + ) + (block + (if + (i32.lt_u + (local.get $8) + (i32.load + (i32.const 192) ) - (call $_abort) ) - (if - (i32.eq - (i32.load offset=16 - (local.get $9) - ) + (call $_abort) + ) + (if + (i32.eq + (i32.load offset=16 (local.get $8) ) - (i32.store offset=16 - (local.get $9) - (local.get $4) - ) - (i32.store offset=20 - (local.get $9) - (local.get $4) - ) + (local.get $9) ) - (br_if $do-once8 - (i32.eqz - (local.get $4) - ) + (i32.store offset=16 + (local.get $8) + (local.get $2) + ) + (i32.store offset=20 + (local.get $8) + (local.get $2) + ) + ) + (br_if $do-once8 + (i32.eqz + (local.get $2) ) ) ) - (if - (i32.lt_u - (local.get $4) - (local.tee $0 - (i32.load - (i32.const 192) - ) + ) + (if + (i32.lt_u + (local.get $2) + (local.tee $0 + (i32.load + (i32.const 192) ) ) - (call $_abort) ) - (i32.store offset=24 - (local.get $4) - (local.get $9) + (call $_abort) + ) + (i32.store offset=24 + (local.get $2) + (local.get $8) + ) + (if + (local.tee $1 + (i32.load offset=16 + (local.get $9) + ) ) (if - (local.tee $1 - (i32.load offset=16 - (local.get $8) - ) + (i32.lt_u + (local.get $1) + (local.get $0) ) - (if - (i32.lt_u + (call $_abort) + (block + (i32.store offset=16 + (local.get $2) (local.get $1) - (local.get $0) ) - (call $_abort) - (block - (i32.store offset=16 - (local.get $4) - (local.get $1) - ) - (i32.store offset=24 - (local.get $1) - (local.get $4) - ) + (i32.store offset=24 + (local.get $1) + (local.get $2) ) ) ) + ) + (if + (local.tee $0 + (i32.load offset=20 + (local.get $9) + ) + ) (if - (local.tee $0 - (i32.load offset=20 - (local.get $8) + (i32.lt_u + (local.get $0) + (i32.load + (i32.const 192) ) ) - (if - (i32.lt_u + (call $_abort) + (block + (i32.store offset=20 + (local.get $2) (local.get $0) - (i32.load - (i32.const 192) - ) ) - (call $_abort) - (block - (i32.store offset=20 - (local.get $4) - (local.get $0) - ) - (i32.store offset=24 - (local.get $0) - (local.get $4) - ) + (i32.store offset=24 + (local.get $0) + (local.get $2) ) ) ) ) ) - (if - (i32.lt_u - (local.get $7) - (i32.const 16) - ) - (block - (i32.store offset=4 - (local.get $8) - (i32.or - (local.tee $0 - (i32.add - (local.get $2) - (local.get $7) - ) - ) - (i32.const 3) - ) - ) - (i32.store offset=4 + ) + (if + (i32.lt_u + (local.get $7) + (i32.const 16) + ) + (block + (i32.store offset=4 + (local.get $9) + (i32.or (local.tee $0 (i32.add - (local.get $0) - (local.get $8) - ) - ) - (i32.or - (i32.load offset=4 - (local.get $0) + (local.get $3) + (local.get $7) ) - (i32.const 1) ) + (i32.const 3) ) ) - (block - (i32.store offset=4 - (local.get $8) - (i32.or - (local.get $2) - (i32.const 3) + (i32.store offset=4 + (local.tee $0 + (i32.add + (local.get $0) + (local.get $9) ) ) - (i32.store offset=4 - (local.get $5) - (i32.or - (local.get $7) - (i32.const 1) + (i32.or + (i32.load offset=4 + (local.get $0) ) + (i32.const 1) ) - (i32.store - (i32.add - (local.get $5) - (local.get $7) - ) + ) + ) + (block + (i32.store offset=4 + (local.get $9) + (i32.or + (local.get $3) + (i32.const 3) + ) + ) + (i32.store offset=4 + (local.get $5) + (i32.or + (local.get $7) + (i32.const 1) + ) + ) + (i32.store + (i32.add + (local.get $5) (local.get $7) ) - (if - (local.tee $0 + (local.get $7) + ) + (if + (local.tee $0 + (i32.load + (i32.const 184) + ) + ) + (block + (local.set $6 (i32.load - (i32.const 184) + (i32.const 196) ) ) - (block - (local.set $4 - (i32.load - (i32.const 196) - ) - ) - (local.set $2 - (i32.add + (local.set $3 + (i32.add + (local.tee $2 (i32.shl (local.tee $0 (i32.shr_u @@ -8473,349 +8485,349 @@ ) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (if - (i32.and - (local.tee $1 - (i32.load - (i32.const 176) - ) + ) + (if + (i32.and + (local.tee $1 + (i32.load + (i32.const 176) ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $0) - ) + ) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $0) ) ) - (block - (local.set $1 - (i32.add - (local.get $2) - (i32.const 8) - ) + ) + (block + (local.set $1 + (i32.add + (local.get $3) + (i32.const 8) ) - (if - (i32.lt_u - (local.tee $0 - (i32.load offset=8 - (local.get $2) - ) - ) - (i32.load - (i32.const 192) + ) + (if + (i32.lt_u + (local.tee $0 + (i32.load offset=224 + (local.get $2) ) ) - (call $_abort) - (block - (local.set $12 - (local.get $1) - ) - (local.set $3 - (local.get $0) - ) + (i32.load + (i32.const 192) ) ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (local.get $0) + (call $_abort) + (block + (local.set $12 (local.get $1) ) - ) - (local.set $12 - (i32.add - (local.get $2) - (i32.const 8) + (local.set $4 + (local.get $0) ) ) - (local.set $3 - (local.get $2) - ) ) ) - (i32.store - (local.get $12) - (local.get $4) - ) - (i32.store offset=12 - (local.get $3) - (local.get $4) - ) - (i32.store offset=8 - (local.get $4) - (local.get $3) - ) - (i32.store offset=12 - (local.get $4) - (local.get $2) + (block + (i32.store + (i32.const 176) + (i32.or + (local.get $0) + (local.get $1) + ) + ) + (local.set $12 + (i32.add + (local.get $3) + (i32.const 8) + ) + ) + (local.set $4 + (local.get $3) + ) ) ) - ) - (i32.store - (i32.const 184) - (local.get $7) - ) - (i32.store - (i32.const 196) - (local.get $5) + (i32.store + (local.get $12) + (local.get $6) + ) + (i32.store offset=12 + (local.get $4) + (local.get $6) + ) + (i32.store offset=8 + (local.get $6) + (local.get $4) + ) + (i32.store offset=12 + (local.get $6) + (local.get $3) + ) ) ) - ) - (return - (i32.add - (local.get $8) - (i32.const 8) + (i32.store + (i32.const 184) + (local.get $7) + ) + (i32.store + (i32.const 196) + (local.get $5) ) ) ) - (local.get $2) + (return + (i32.add + (local.get $9) + (i32.const 8) + ) + ) ) + (local.get $3) ) - (local.get $2) ) + (local.get $3) ) - (if (result i32) - (i32.gt_u - (local.get $0) - (i32.const -65) - ) - (i32.const -1) - (block $do-once (result i32) - (local.set $2 - (i32.and - (local.tee $0 - (i32.add - (local.get $0) - (i32.const 11) - ) + ) + (if (result i32) + (i32.gt_u + (local.get $0) + (i32.const -65) + ) + (i32.const -1) + (block $do-once (result i32) + (local.set $3 + (i32.and + (local.tee $0 + (i32.add + (local.get $0) + (i32.const 11) ) - (i32.const -8) ) + (i32.const -8) ) - (if (result i32) - (local.tee $18 - (i32.load - (i32.const 180) - ) + ) + (if (result i32) + (local.tee $18 + (i32.load + (i32.const 180) ) - (block (result i32) - (local.set $14 + ) + (block (result i32) + (local.set $14 + (if (result i32) + (local.tee $0 + (i32.shr_u + (local.get $0) + (i32.const 8) + ) + ) (if (result i32) - (local.tee $0 - (i32.shr_u - (local.get $0) - (i32.const 8) - ) + (i32.gt_u + (local.get $3) + (i32.const 16777215) ) - (if (result i32) - (i32.gt_u - (local.get $2) - (i32.const 16777215) - ) - (i32.const 31) - (block (result i32) - (local.set $4 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.tee $1 - (i32.and - (i32.shr_u - (i32.add - (local.get $0) - (i32.const 1048320) - ) - (i32.const 16) + (i32.const 31) + (block (result i32) + (local.set $2 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.tee $1 + (i32.and + (i32.shr_u + (i32.add + (local.get $0) + (i32.const 1048320) ) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) ) - (i32.const 520192) ) - (i32.const 16) + (i32.const 520192) ) - (i32.const 4) + (i32.const 16) ) + (i32.const 4) ) - (local.set $3 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.get $4) - ) + ) + (local.set $4 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.get $2) ) - (i32.const 245760) ) - (i32.const 16) + (i32.const 245760) ) - (i32.const 2) + (i32.const 16) ) + (i32.const 2) ) - (i32.or - (i32.and - (i32.shr_u - (local.get $2) - (i32.add - (local.tee $0 - (i32.add - (i32.sub - (i32.const 14) + ) + (i32.or + (i32.and + (i32.shr_u + (local.get $3) + (i32.add + (local.tee $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or (i32.or - (i32.or - (local.get $1) - (local.get $4) - ) - (local.get $3) + (local.get $1) + (local.get $2) ) + (local.get $4) ) - (i32.shr_u - (i32.shl - (local.get $0) - (local.get $3) - ) - (i32.const 15) + ) + (i32.shr_u + (i32.shl + (local.get $0) + (local.get $4) ) + (i32.const 15) ) ) - (i32.const 7) ) + (i32.const 7) ) - (i32.const 1) - ) - (i32.shl - (local.get $0) - (i32.const 1) ) + (i32.const 1) + ) + (i32.shl + (local.get $0) + (i32.const 1) ) ) ) - (i32.const 0) ) + (i32.const 0) ) - (local.set $3 - (i32.sub - (i32.const 0) - (local.get $2) - ) + ) + (local.set $4 + (i32.sub + (i32.const 0) + (local.get $3) ) - (block $__rjto$3 - (block $__rjti$3 - (local.set $0 - (if (result i32) - (local.tee $0 - (i32.load offset=480 - (i32.shl - (local.get $14) - (i32.const 2) - ) + ) + (block $__rjto$3 + (block $__rjti$3 + (local.set $0 + (if (result i32) + (local.tee $0 + (i32.load offset=480 + (i32.shl + (local.get $14) + (i32.const 2) ) ) - (block (result i32) - (local.set $9 - (i32.shl - (local.get $2) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $14) - (i32.const 1) - ) - ) - (i32.eq + ) + (block (result i32) + (local.set $8 + (i32.shl + (local.get $3) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u (local.get $14) - (i32.const 31) + (i32.const 1) ) ) + (i32.eq + (local.get $14) + (i32.const 31) + ) ) ) - (local.set $1 - (i32.const 0) - ) - (loop $while-in14 (result i32) - (if - (i32.lt_u - (local.tee $4 - (i32.sub - (local.tee $12 - (i32.and - (i32.load offset=4 - (local.get $0) - ) - (i32.const -8) + ) + (local.set $1 + (i32.const 0) + ) + (loop $while-in14 (result i32) + (if + (i32.lt_u + (local.tee $2 + (i32.sub + (local.tee $12 + (i32.and + (i32.load offset=4 + (local.get $0) ) + (i32.const -8) ) - (local.get $2) ) + (local.get $3) ) - (local.get $3) ) - (local.set $1 - (if (result i32) - (i32.eq + (local.get $4) + ) + (local.set $1 + (if (result i32) + (i32.eq + (local.get $3) + (local.get $12) + ) + (block + (local.set $1 (local.get $2) - (local.get $12) - ) - (block - (local.set $1 - (local.get $4) - ) - (local.set $3 - (local.get $0) - ) - (br $__rjti$3) ) - (block (result i32) - (local.set $3 - (local.get $4) - ) + (local.set $4 (local.get $0) ) + (br $__rjti$3) + ) + (block (result i32) + (local.set $4 + (local.get $2) + ) + (local.get $0) ) ) ) - (local.set $0 - (select - (local.get $5) - (local.tee $4 - (i32.load offset=20 - (local.get $0) - ) + ) + (local.set $0 + (select + (local.get $5) + (local.tee $2 + (i32.load offset=20 + (local.get $0) ) - (i32.or - (i32.eqz - (local.get $4) - ) - (i32.eq - (local.get $4) - (local.tee $12 - (i32.load + ) + (i32.or + (i32.eqz + (local.get $2) + ) + (i32.eq + (local.get $2) + (local.tee $12 + (i32.load + (i32.add (i32.add - (i32.add - (local.get $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (local.get $9) - (i32.const 31) - ) - (i32.const 2) + (local.get $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (local.get $8) + (i32.const 31) ) + (i32.const 2) ) ) ) @@ -8823,1960 +8835,1996 @@ ) ) ) - (local.set $4 - (i32.shl - (local.get $9) - (i32.xor - (local.tee $5 - (i32.eqz - (local.get $12) - ) + ) + (local.set $2 + (i32.shl + (local.get $8) + (i32.xor + (local.tee $5 + (i32.eqz + (local.get $12) ) - (i32.const 1) ) + (i32.const 1) ) ) - (if (result i32) - (local.get $5) - (block (result i32) - (local.set $4 - (local.get $0) - ) - (local.get $1) + ) + (if (result i32) + (local.get $5) + (block (result i32) + (local.set $2 + (local.get $0) ) - (block - (local.set $5 - (local.get $0) - ) - (local.set $9 - (local.get $4) - ) - (local.set $0 - (local.get $12) - ) - (br $while-in14) + (local.get $1) + ) + (block + (local.set $5 + (local.get $0) ) + (local.set $8 + (local.get $2) + ) + (local.set $0 + (local.get $12) + ) + (br $while-in14) ) ) ) - (block (result i32) - (local.set $4 - (i32.const 0) - ) + ) + (block (result i32) + (local.set $2 (i32.const 0) ) + (i32.const 0) ) ) - (if - (i32.eqz - (i32.or - (local.get $0) - (local.get $4) - ) + ) + (if + (i32.eqz + (i32.or + (local.get $0) + (local.get $2) ) - (block - (drop - (br_if $do-once - (local.get $2) - (i32.eqz - (local.tee $1 - (i32.and - (local.get $18) - (i32.or - (local.tee $1 - (i32.shl - (i32.const 2) - (local.get $14) - ) - ) - (i32.sub - (i32.const 0) - (local.get $1) + ) + (block + (drop + (br_if $do-once + (local.get $3) + (i32.eqz + (local.tee $1 + (i32.and + (local.get $18) + (i32.or + (local.tee $1 + (i32.shl + (i32.const 2) + (local.get $14) ) ) + (i32.sub + (i32.const 0) + (local.get $1) + ) ) ) ) ) ) - (local.set $4 - (i32.load offset=480 - (i32.shl - (i32.add + ) + (local.set $2 + (i32.load offset=480 + (i32.shl + (i32.add + (i32.or (i32.or (i32.or (i32.or - (i32.or - (local.tee $1 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.add - (i32.and + (local.tee $1 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.add + (i32.and + (local.get $1) + (i32.sub + (i32.const 0) (local.get $1) - (i32.sub - (i32.const 0) - (local.get $1) - ) ) - (i32.const -1) - ) - ) - (i32.const 12) - ) - (i32.const 16) - ) - ) - (local.tee $1 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.shr_u - (local.get $4) - (local.get $1) ) + (i32.const -1) ) - (i32.const 5) ) - (i32.const 8) + (i32.const 12) ) + (i32.const 16) ) ) (local.tee $1 (i32.and (i32.shr_u - (local.tee $4 + (local.tee $2 (i32.shr_u - (local.get $4) + (local.get $2) (local.get $1) ) ) - (i32.const 2) + (i32.const 5) ) - (i32.const 4) + (i32.const 8) ) ) ) (local.tee $1 (i32.and (i32.shr_u - (local.tee $4 + (local.tee $2 (i32.shr_u - (local.get $4) + (local.get $2) (local.get $1) ) ) - (i32.const 1) + (i32.const 2) ) - (i32.const 2) + (i32.const 4) ) ) ) (local.tee $1 (i32.and (i32.shr_u - (local.tee $4 + (local.tee $2 (i32.shr_u - (local.get $4) + (local.get $2) (local.get $1) ) ) (i32.const 1) ) - (i32.const 1) + (i32.const 2) ) ) ) - (i32.shr_u - (local.get $4) - (local.get $1) + (local.tee $1 + (i32.and + (i32.shr_u + (local.tee $2 + (i32.shr_u + (local.get $2) + (local.get $1) + ) + ) + (i32.const 1) + ) + (i32.const 1) + ) ) ) - (i32.const 2) + (i32.shr_u + (local.get $2) + (local.get $1) + ) ) + (i32.const 2) ) ) ) ) - (local.set $4 - (if (result i32) - (local.get $4) - (block - (local.set $1 - (local.get $3) - ) - (local.set $3 - (local.get $4) - ) - (br $__rjti$3) + ) + (local.set $2 + (if (result i32) + (local.get $2) + (block + (local.set $1 + (local.get $4) ) - (local.get $0) + (local.set $4 + (local.get $2) + ) + (br $__rjti$3) ) + (local.get $0) ) - (br $__rjto$3) ) - (local.set $3 - (loop $while-in16 (result i32) - (local.set $12 - (i32.lt_u - (local.tee $4 - (i32.sub - (i32.and - (i32.load offset=4 - (local.get $3) - ) - (i32.const -8) + (br $__rjto$3) + ) + (local.set $4 + (loop $while-in16 (result i32) + (local.set $12 + (i32.lt_u + (local.tee $2 + (i32.sub + (i32.and + (i32.load offset=4 + (local.get $4) ) - (local.get $2) + (i32.const -8) ) + (local.get $3) ) - (local.get $1) ) + (local.get $1) ) - (local.set $1 - (select - (local.get $4) - (local.get $1) - (local.get $12) - ) + ) + (local.set $1 + (select + (local.get $2) + (local.get $1) + (local.get $12) ) - (local.set $0 - (select - (local.get $3) - (local.get $0) - (local.get $12) - ) + ) + (local.set $0 + (select + (local.get $4) + (local.get $0) + (local.get $12) ) - (if - (local.tee $4 - (i32.load offset=16 - (local.get $3) - ) - ) - (block - (local.set $3 - (local.get $4) - ) - (br $while-in16) + ) + (if + (local.tee $2 + (i32.load offset=16 + (local.get $4) ) ) - (br_if $while-in16 - (local.tee $3 - (i32.load offset=20 - (local.get $3) - ) + (block + (local.set $4 + (local.get $2) ) + (br $while-in16) ) - (local.set $4 - (local.get $0) + ) + (br_if $while-in16 + (local.tee $4 + (i32.load offset=20 + (local.get $4) + ) ) - (local.get $1) ) + (local.set $2 + (local.get $0) + ) + (local.get $1) ) ) + ) + (if (result i32) + (local.get $2) (if (result i32) - (local.get $4) - (if (result i32) - (i32.lt_u - (local.get $3) - (i32.sub - (i32.load - (i32.const 184) - ) - (local.get $2) + (i32.lt_u + (local.get $4) + (i32.sub + (i32.load + (i32.const 184) ) + (local.get $3) ) - (block - (if - (i32.lt_u - (local.get $4) - (local.tee $8 - (i32.load - (i32.const 192) - ) + ) + (block + (if + (i32.lt_u + (local.get $2) + (local.tee $9 + (i32.load + (i32.const 192) ) ) - (call $_abort) ) - (if - (i32.ge_u - (local.get $4) - (local.tee $5 - (i32.add - (local.get $2) - (local.get $4) - ) + (call $_abort) + ) + (if + (i32.ge_u + (local.get $2) + (local.tee $5 + (i32.add + (local.get $2) + (local.get $3) ) ) - (call $_abort) ) - (local.set $12 - (i32.load offset=24 - (local.get $4) + (call $_abort) + ) + (local.set $12 + (i32.load offset=24 + (local.get $2) + ) + ) + (if + (i32.eq + (local.tee $0 + (i32.load offset=12 + (local.get $2) + ) ) + (local.get $2) ) - (if - (i32.eq - (local.tee $0 - (i32.load offset=12 - (local.get $4) - ) + (block $do-once17 + (local.set $0 + (i32.add + (local.get $2) + (i32.const 20) ) - (local.get $4) ) - (block $do-once17 - (local.set $0 - (i32.add - (local.get $4) - (i32.const 20) + (if + (i32.eqz + (local.tee $1 + (i32.load offset=20 + (local.get $2) + ) ) ) - (if - (i32.eqz - (local.tee $1 - (i32.load offset=20 - (local.get $4) - ) + (block + (local.set $0 + (i32.add + (local.get $2) + (i32.const 16) ) ) - (block - (local.set $0 - (i32.add - (local.get $4) - (i32.const 16) - ) - ) - (br_if $do-once17 - (i32.eqz - (local.tee $1 - (i32.load offset=16 - (local.get $4) - ) + (br_if $do-once17 + (i32.eqz + (local.tee $1 + (i32.load offset=16 + (local.get $2) ) ) ) ) ) - (loop $while-in20 - (local.set $10 - (i32.add + ) + (loop $while-in20 + (local.set $10 + (i32.add + (local.get $1) + (i32.const 20) + ) + ) + (if + (local.tee $6 + (i32.load offset=20 (local.get $1) - (i32.const 20) ) ) - (if - (local.tee $6 - (i32.load offset=20 - (local.get $1) - ) + (block + (local.set $1 + (local.get $6) ) - (block - (local.set $1 - (local.get $6) - ) - (local.set $0 - (local.get $10) - ) - (br $while-in20) + (local.set $0 + (local.get $10) ) + (br $while-in20) ) - (local.set $10 - (i32.add + ) + (local.set $10 + (i32.add + (local.get $1) + (i32.const 16) + ) + ) + (if + (local.tee $6 + (i32.load offset=16 (local.get $1) - (i32.const 16) ) ) - (if - (local.tee $6 - (i32.load offset=16 - (local.get $1) - ) + (block + (local.set $1 + (local.get $6) ) - (block - (local.set $1 - (local.get $6) - ) - (local.set $0 - (local.get $10) - ) - (br $while-in20) + (local.set $0 + (local.get $10) ) + (br $while-in20) ) ) - (if - (i32.lt_u + ) + (if + (i32.lt_u + (local.get $0) + (local.get $9) + ) + (call $_abort) + (block + (i32.store (local.get $0) - (local.get $8) + (i32.const 0) ) - (call $_abort) - (block - (i32.store - (local.get $0) - (i32.const 0) - ) - (local.set $11 - (local.get $1) - ) + (local.set $11 + (local.get $1) ) ) ) - (block - (if - (i32.lt_u - (local.tee $1 - (i32.load offset=8 - (local.get $4) - ) + ) + (block + (if + (i32.lt_u + (local.tee $1 + (i32.load offset=8 + (local.get $2) ) - (local.get $8) ) - (call $_abort) + (local.get $9) ) - (if - (i32.ne - (local.get $4) - (i32.load offset=12 - (local.get $1) - ) + (call $_abort) + ) + (if + (i32.ne + (local.get $2) + (i32.load offset=12 + (local.get $1) ) - (call $_abort) ) - (if - (i32.eq - (i32.load offset=8 - (local.get $0) - ) - (local.get $4) + (call $_abort) + ) + (if + (i32.eq + (i32.load offset=8 + (local.get $0) ) - (block - (i32.store offset=12 - (local.get $1) - (local.get $0) - ) - (i32.store offset=8 - (local.get $0) - (local.get $1) - ) - (local.set $11 - (local.get $0) - ) + (local.get $2) + ) + (block + (i32.store offset=12 + (local.get $1) + (local.get $0) + ) + (i32.store offset=8 + (local.get $0) + (local.get $1) + ) + (local.set $11 + (local.get $0) ) - (call $_abort) ) + (call $_abort) ) ) - (if - (local.get $12) - (block $do-once21 - (if - (i32.eq - (i32.load offset=480 - (local.tee $1 - (i32.shl - (local.tee $0 - (i32.load offset=28 - (local.get $4) - ) + ) + (if + (local.get $12) + (block $do-once21 + (if + (i32.eq + (i32.load offset=480 + (local.tee $1 + (i32.shl + (local.tee $0 + (i32.load offset=28 + (local.get $2) ) - (i32.const 2) ) + (i32.const 2) ) ) - (local.get $4) ) - (block - (i32.store offset=480 - (local.get $1) + (local.get $2) + ) + (block + (i32.store offset=480 + (local.get $1) + (local.get $11) + ) + (if + (i32.eqz (local.get $11) ) - (if - (i32.eqz - (local.get $11) - ) - (block - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $0) - ) - (i32.const -1) + (block + (i32.store + (i32.const 180) + (i32.and + (i32.load + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $0) ) + (i32.const -1) ) ) - (br $do-once21) ) + (br $do-once21) ) ) - (block - (if - (i32.lt_u - (local.get $12) - (i32.load - (i32.const 192) - ) + ) + (block + (if + (i32.lt_u + (local.get $12) + (i32.load + (i32.const 192) ) - (call $_abort) ) - (if - (i32.eq - (i32.load offset=16 - (local.get $12) - ) - (local.get $4) - ) - (i32.store offset=16 - (local.get $12) - (local.get $11) - ) - (i32.store offset=20 + (call $_abort) + ) + (if + (i32.eq + (i32.load offset=16 (local.get $12) - (local.get $11) ) + (local.get $2) ) - (br_if $do-once21 - (i32.eqz - (local.get $11) - ) + (i32.store offset=16 + (local.get $12) + (local.get $11) + ) + (i32.store offset=20 + (local.get $12) + (local.get $11) ) ) - ) - (if - (i32.lt_u - (local.get $11) - (local.tee $0 - (i32.load - (i32.const 192) - ) + (br_if $do-once21 + (i32.eqz + (local.get $11) ) ) - (call $_abort) ) - (i32.store offset=24 + ) + (if + (i32.lt_u (local.get $11) - (local.get $12) + (local.tee $0 + (i32.load + (i32.const 192) + ) + ) + ) + (call $_abort) + ) + (i32.store offset=24 + (local.get $11) + (local.get $12) + ) + (if + (local.tee $1 + (i32.load offset=16 + (local.get $2) + ) ) (if - (local.tee $1 - (i32.load offset=16 - (local.get $4) - ) + (i32.lt_u + (local.get $1) + (local.get $0) ) - (if - (i32.lt_u + (call $_abort) + (block + (i32.store offset=16 + (local.get $11) (local.get $1) - (local.get $0) ) - (call $_abort) - (block - (i32.store offset=16 - (local.get $11) - (local.get $1) - ) - (i32.store offset=24 - (local.get $1) - (local.get $11) - ) + (i32.store offset=24 + (local.get $1) + (local.get $11) ) ) ) + ) + (if + (local.tee $0 + (i32.load offset=20 + (local.get $2) + ) + ) (if - (local.tee $0 - (i32.load offset=20 - (local.get $4) + (i32.lt_u + (local.get $0) + (i32.load + (i32.const 192) ) ) - (if - (i32.lt_u + (call $_abort) + (block + (i32.store offset=20 + (local.get $11) (local.get $0) - (i32.load - (i32.const 192) - ) ) - (call $_abort) - (block - (i32.store offset=20 - (local.get $11) - (local.get $0) - ) - (i32.store offset=24 - (local.get $0) - (local.get $11) - ) + (i32.store offset=24 + (local.get $0) + (local.get $11) ) ) ) ) ) - (if - (i32.lt_u - (local.get $3) - (i32.const 16) - ) - (block - (i32.store offset=4 - (local.get $4) - (i32.or - (local.tee $0 - (i32.add - (local.get $2) - (local.get $3) - ) - ) - (i32.const 3) - ) - ) - (i32.store offset=4 + ) + (if + (i32.lt_u + (local.get $4) + (i32.const 16) + ) + (block + (i32.store offset=4 + (local.get $2) + (i32.or (local.tee $0 (i32.add - (local.get $0) + (local.get $3) (local.get $4) ) ) - (i32.or - (i32.load offset=4 - (local.get $0) - ) - (i32.const 1) - ) + (i32.const 3) ) ) - (block $do-once25 - (i32.store offset=4 - (local.get $4) - (i32.or + (i32.store offset=4 + (local.tee $0 + (i32.add + (local.get $0) (local.get $2) - (i32.const 3) ) ) - (i32.store offset=4 - (local.get $5) - (i32.or - (local.get $3) - (i32.const 1) + (i32.or + (i32.load offset=4 + (local.get $0) ) + (i32.const 1) ) - (i32.store - (i32.add - (local.get $3) - (local.get $5) - ) + ) + ) + (block $do-once25 + (i32.store offset=4 + (local.get $2) + (i32.or (local.get $3) + (i32.const 3) ) - (local.set $0 - (i32.shr_u - (local.get $3) - (i32.const 3) - ) + ) + (i32.store offset=4 + (local.get $5) + (i32.or + (local.get $4) + (i32.const 1) ) - (if - (i32.lt_u - (local.get $3) - (i32.const 256) - ) - (block - (local.set $3 - (i32.add + ) + (i32.store + (i32.add + (local.get $4) + (local.get $5) + ) + (local.get $4) + ) + (local.set $0 + (i32.shr_u + (local.get $4) + (i32.const 3) + ) + ) + (if + (i32.lt_u + (local.get $4) + (i32.const 256) + ) + (block + (local.set $4 + (i32.add + (local.tee $3 (i32.shl (local.get $0) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (if - (i32.and - (local.tee $1 - (i32.load - (i32.const 176) - ) + ) + (if + (i32.and + (local.tee $1 + (i32.load + (i32.const 176) ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $0) - ) + ) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $0) ) ) - (block - (local.set $1 - (i32.add - (local.get $3) - (i32.const 8) - ) + ) + (block + (local.set $1 + (i32.add + (local.get $4) + (i32.const 8) ) - (if - (i32.lt_u - (local.tee $0 - (i32.load offset=8 - (local.get $3) - ) - ) - (i32.load - (i32.const 192) + ) + (if + (i32.lt_u + (local.tee $0 + (i32.load offset=224 + (local.get $3) ) ) - (call $_abort) - (block - (local.set $13 - (local.get $1) - ) - (local.set $7 - (local.get $0) - ) + (i32.load + (i32.const 192) ) ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (local.get $0) + (call $_abort) + (block + (local.set $13 (local.get $1) ) - ) - (local.set $13 - (i32.add - (local.get $3) - (i32.const 8) + (local.set $7 + (local.get $0) ) ) - (local.set $7 - (local.get $3) - ) ) ) - (i32.store - (local.get $13) - (local.get $5) - ) - (i32.store offset=12 - (local.get $7) - (local.get $5) - ) - (i32.store offset=8 - (local.get $5) - (local.get $7) - ) - (i32.store offset=12 - (local.get $5) - (local.get $3) + (block + (i32.store + (i32.const 176) + (i32.or + (local.get $0) + (local.get $1) + ) + ) + (local.set $13 + (i32.add + (local.get $4) + (i32.const 8) + ) + ) + (local.set $7 + (local.get $4) + ) ) - (br $do-once25) ) + (i32.store + (local.get $13) + (local.get $5) + ) + (i32.store offset=12 + (local.get $7) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $7) + ) + (i32.store offset=12 + (local.get $5) + (local.get $4) + ) + (br $do-once25) ) - (local.set $2 - (i32.add - (local.tee $10 - (i32.shl - (local.tee $6 + ) + (local.set $3 + (i32.add + (local.tee $10 + (i32.shl + (local.tee $6 + (if (result i32) + (local.tee $0 + (i32.shr_u + (local.get $4) + (i32.const 8) + ) + ) (if (result i32) - (local.tee $0 - (i32.shr_u - (local.get $3) - (i32.const 8) - ) + (i32.gt_u + (local.get $4) + (i32.const 16777215) ) - (if (result i32) - (i32.gt_u - (local.get $3) - (i32.const 16777215) - ) - (i32.const 31) - (block (result i32) - (local.set $6 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.tee $1 - (i32.and - (i32.shr_u - (i32.add - (local.get $0) - (i32.const 1048320) - ) - (i32.const 16) + (i32.const 31) + (block (result i32) + (local.set $6 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.tee $1 + (i32.and + (i32.shr_u + (i32.add + (local.get $0) + (i32.const 1048320) ) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) ) - (i32.const 520192) ) - (i32.const 16) + (i32.const 520192) ) - (i32.const 4) + (i32.const 16) ) + (i32.const 4) ) - (local.set $2 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.get $6) - ) + ) + (local.set $3 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.get $6) ) - (i32.const 245760) ) - (i32.const 16) + (i32.const 245760) ) - (i32.const 2) + (i32.const 16) ) + (i32.const 2) ) - (i32.or - (i32.and - (i32.shr_u - (local.get $3) - (i32.add - (local.tee $0 - (i32.add - (i32.sub - (i32.const 14) + ) + (i32.or + (i32.and + (i32.shr_u + (local.get $4) + (i32.add + (local.tee $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or (i32.or - (i32.or - (local.get $1) - (local.get $6) - ) - (local.get $2) + (local.get $1) + (local.get $6) ) + (local.get $3) ) - (i32.shr_u - (i32.shl - (local.get $0) - (local.get $2) - ) - (i32.const 15) + ) + (i32.shr_u + (i32.shl + (local.get $0) + (local.get $3) ) + (i32.const 15) ) ) - (i32.const 7) ) + (i32.const 7) ) - (i32.const 1) - ) - (i32.shl - (local.get $0) - (i32.const 1) ) + (i32.const 1) + ) + (i32.shl + (local.get $0) + (i32.const 1) ) ) ) - (i32.const 0) ) + (i32.const 0) ) - (i32.const 2) ) + (i32.const 2) ) - (i32.const 480) - ) - ) - (i32.store offset=28 - (local.get $5) - (local.get $6) - ) - (i32.store offset=4 - (i32.add - (local.get $5) - (i32.const 16) ) - (i32.const 0) - ) - (i32.store offset=16 - (local.get $5) - (i32.const 0) + (i32.const 480) ) - (if - (i32.eqz - (i32.and - (local.tee $1 - (i32.load - (i32.const 180) - ) - ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $6) - ) + ) + (i32.store offset=28 + (local.get $5) + (local.get $6) + ) + (i32.store offset=20 + (local.get $5) + (i32.const 0) + ) + (i32.store offset=16 + (local.get $5) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (local.tee $1 + (i32.load + (i32.const 180) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (local.get $0) - (local.get $1) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $6) ) ) - (i32.store offset=480 - (local.get $10) - (local.get $5) - ) - (i32.store offset=24 - (local.get $5) - (local.get $2) - ) - (i32.store offset=12 - (local.get $5) - (local.get $5) - ) - (i32.store offset=8 - (local.get $5) - (local.get $5) - ) - (br $do-once25) ) ) - (local.set $6 - (i32.shl + (block + (i32.store + (i32.const 180) + (i32.or + (local.get $0) + (local.get $1) + ) + ) + (i32.store offset=480 + (local.get $10) + (local.get $5) + ) + (i32.store offset=24 + (local.get $5) (local.get $3) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $6) - (i32.const 1) - ) - ) - (i32.eq + ) + (i32.store offset=12 + (local.get $5) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $5) + ) + (br $do-once25) + ) + ) + (local.set $6 + (i32.shl + (local.get $4) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u (local.get $6) - (i32.const 31) + (i32.const 1) ) ) + (i32.eq + (local.get $6) + (i32.const 31) + ) ) ) - (local.set $0 - (i32.load offset=480 - (local.get $10) - ) + ) + (local.set $0 + (i32.load offset=480 + (local.get $10) ) - (block $__rjto$1 - (block $__rjti$1 - (loop $while-in28 - (br_if $__rjti$1 - (i32.eq - (i32.and - (i32.load offset=4 - (local.get $0) - ) - (i32.const -8) + ) + (block $__rjto$1 + (block $__rjti$1 + (loop $while-in28 + (br_if $__rjti$1 + (i32.eq + (i32.and + (i32.load offset=4 + (local.get $0) ) - (local.get $3) + (i32.const -8) ) + (local.get $4) ) - (local.set $2 - (i32.shl - (local.get $6) - (i32.const 1) - ) + ) + (local.set $3 + (i32.shl + (local.get $6) + (i32.const 1) ) - (if - (local.tee $1 - (i32.load - (local.tee $6 + ) + (if + (local.tee $1 + (i32.load + (local.tee $6 + (i32.add (i32.add - (i32.add - (local.get $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (local.get $6) - (i32.const 31) - ) - (i32.const 2) + (local.get $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (local.get $6) + (i32.const 31) ) + (i32.const 2) ) ) ) ) - (block - (local.set $6 - (local.get $2) - ) - (local.set $0 - (local.get $1) - ) - (br $while-in28) - ) ) - ) - (if - (i32.lt_u - (local.get $6) - (i32.load - (i32.const 192) - ) - ) - (call $_abort) (block - (i32.store - (local.get $6) - (local.get $5) - ) - (i32.store offset=24 - (local.get $5) - (local.get $0) - ) - (i32.store offset=12 - (local.get $5) - (local.get $5) + (local.set $6 + (local.get $3) ) - (i32.store offset=8 - (local.get $5) - (local.get $5) + (local.set $0 + (local.get $1) ) - (br $do-once25) + (br $while-in28) ) ) - (br $__rjto$1) ) (if - (i32.and - (i32.ge_u - (local.tee $3 - (i32.load offset=8 - (local.get $0) - ) - ) - (local.tee $1 - (i32.load - (i32.const 192) - ) - ) - ) - (i32.ge_u - (local.get $0) - (local.get $1) + (i32.lt_u + (local.get $6) + (i32.load + (i32.const 192) ) ) + (call $_abort) (block - (i32.store offset=12 - (local.get $3) + (i32.store + (local.get $6) (local.get $5) ) - (i32.store offset=8 + (i32.store offset=24 + (local.get $5) (local.get $0) + ) + (i32.store offset=12 + (local.get $5) (local.get $5) ) (i32.store offset=8 (local.get $5) - (local.get $3) - ) - (i32.store offset=12 (local.get $5) - (local.get $0) ) - (i32.store offset=24 - (local.get $5) - (i32.const 0) + (br $do-once25) + ) + ) + (br $__rjto$1) + ) + (if + (i32.and + (i32.ge_u + (local.tee $4 + (i32.load offset=8 + (local.get $0) + ) + ) + (local.tee $1 + (i32.load + (i32.const 192) + ) ) ) - (call $_abort) + (i32.ge_u + (local.get $0) + (local.get $1) + ) + ) + (block + (i32.store offset=12 + (local.get $4) + (local.get $5) + ) + (i32.store offset=8 + (local.get $0) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $4) + ) + (i32.store offset=12 + (local.get $5) + (local.get $0) + ) + (i32.store offset=24 + (local.get $5) + (i32.const 0) + ) ) + (call $_abort) ) ) ) - (return - (i32.add - (local.get $4) - (i32.const 8) - ) + ) + (return + (i32.add + (local.get $2) + (i32.const 8) ) ) - (local.get $2) ) - (local.get $2) + (local.get $3) ) + (local.get $3) ) - (local.get $2) ) + (local.get $3) ) ) ) ) - (if - (i32.ge_u - (local.tee $1 - (i32.load - (i32.const 184) - ) + ) + (if + (i32.ge_u + (local.tee $1 + (i32.load + (i32.const 184) ) - (local.get $0) ) - (block - (local.set $2 - (i32.load - (i32.const 196) + (local.get $0) + ) + (block + (local.set $3 + (i32.load + (i32.const 196) + ) + ) + (if + (i32.gt_u + (local.tee $4 + (i32.sub + (local.get $1) + (local.get $0) + ) ) + (i32.const 15) ) - (if - (i32.gt_u - (local.tee $3 - (i32.sub - (local.get $1) + (block + (i32.store + (i32.const 196) + (local.tee $1 + (i32.add (local.get $0) + (local.get $3) ) ) - (i32.const 15) ) - (block - (i32.store - (i32.const 196) - (local.tee $1 - (i32.add - (local.get $0) - (local.get $2) - ) - ) + (i32.store + (i32.const 184) + (local.get $4) + ) + (i32.store offset=4 + (local.get $1) + (i32.or + (local.get $4) + (i32.const 1) ) - (i32.store - (i32.const 184) - (local.get $3) + ) + (i32.store + (i32.add + (local.get $1) + (local.get $4) ) - (i32.store offset=4 + (local.get $4) + ) + (i32.store offset=4 + (local.get $3) + (i32.or + (local.get $0) + (i32.const 3) + ) + ) + ) + (block + (i32.store + (i32.const 184) + (i32.const 0) + ) + (i32.store + (i32.const 196) + (i32.const 0) + ) + (i32.store offset=4 + (local.get $3) + (i32.or (local.get $1) - (i32.or - (local.get $3) - (i32.const 1) - ) + (i32.const 3) ) - (i32.store + ) + (i32.store offset=4 + (local.tee $0 (i32.add (local.get $1) (local.get $3) ) - (local.get $3) ) - (i32.store offset=4 - (local.get $2) - (i32.or + (i32.or + (i32.load offset=4 (local.get $0) - (i32.const 3) - ) - ) - ) - (block - (i32.store - (i32.const 184) - (i32.const 0) - ) - (i32.store - (i32.const 196) - (i32.const 0) - ) - (i32.store offset=4 - (local.get $2) - (i32.or - (local.get $1) - (i32.const 3) - ) - ) - (i32.store offset=4 - (local.tee $0 - (i32.add - (local.get $1) - (local.get $2) - ) - ) - (i32.or - (i32.load offset=4 - (local.get $0) - ) - (i32.const 1) ) + (i32.const 1) ) ) ) - (br $folding-inner1) + ) + (return + (i32.add + (local.get $3) + (i32.const 8) + ) ) ) - (block $folding-inner0 - (br_if $folding-inner0 - (i32.gt_u - (local.tee $1 - (i32.load - (i32.const 188) - ) + ) + (block $folding-inner0 + (br_if $folding-inner0 + (i32.gt_u + (local.tee $1 + (i32.load + (i32.const 188) ) - (local.get $0) + ) + (local.get $0) + ) + ) + (if + (i32.eqz + (i32.load + (i32.const 648) ) ) (if - (i32.eqz - (i32.load - (i32.const 648) + (i32.and + (local.tee $1 + (call $_sysconf + (i32.const 30) + ) + ) + (i32.add + (local.get $1) + (i32.const -1) ) ) - (if - (i32.and - (local.tee $1 - (call $_sysconf - (i32.const 30) - ) - ) - (i32.add - (local.get $1) - (i32.const -1) - ) + (call $_abort) + (block + (i32.store + (i32.const 656) + (local.get $1) ) - (call $_abort) - (block - (i32.store - (i32.const 656) - (local.get $1) - ) - (i32.store - (i32.const 652) - (local.get $1) - ) - (i32.store - (i32.const 660) - (i32.const -1) - ) - (i32.store - (i32.const 664) - (i32.const -1) - ) - (i32.store - (i32.const 668) - (i32.const 0) - ) - (i32.store - (i32.const 620) - (i32.const 0) - ) - (i32.store - (i32.const 648) - (i32.xor - (i32.and - (call $_time - (i32.const 0) - ) - (i32.const -16) + (i32.store + (i32.const 652) + (local.get $1) + ) + (i32.store + (i32.const 660) + (i32.const -1) + ) + (i32.store + (i32.const 664) + (i32.const -1) + ) + (i32.store + (i32.const 668) + (i32.const 0) + ) + (i32.store + (i32.const 620) + (i32.const 0) + ) + (i32.store + (i32.const 648) + (i32.xor + (i32.and + (call $_time + (i32.const 0) ) - (i32.const 1431655768) + (i32.const -16) ) + (i32.const 1431655768) ) ) ) ) - (if - (i32.le_u - (local.tee $7 - (i32.and - (local.tee $5 - (i32.add - (local.tee $1 - (i32.load - (i32.const 656) - ) + ) + (if + (i32.le_u + (local.tee $7 + (i32.and + (local.tee $5 + (i32.add + (local.tee $1 + (i32.load + (i32.const 656) ) - (local.tee $9 - (i32.add - (local.get $0) - (i32.const 47) - ) + ) + (local.tee $8 + (i32.add + (local.get $0) + (i32.const 47) ) ) ) - (local.tee $12 - (i32.sub - (i32.const 0) - (local.get $1) - ) + ) + (local.tee $12 + (i32.sub + (i32.const 0) + (local.get $1) ) ) ) - (local.get $0) ) - (return - (i32.const 0) + (local.get $0) + ) + (return + (i32.const 0) + ) + ) + (if + (local.tee $3 + (i32.load + (i32.const 616) ) ) (if - (local.tee $2 - (i32.load - (i32.const 616) - ) - ) - (if - (i32.or - (i32.le_u - (local.tee $1 - (i32.add - (local.tee $3 - (i32.load - (i32.const 608) - ) + (i32.or + (i32.le_u + (local.tee $1 + (i32.add + (local.tee $4 + (i32.load + (i32.const 608) ) - (local.get $7) ) + (local.get $7) ) - (local.get $3) - ) - (i32.gt_u - (local.get $1) - (local.get $2) ) + (local.get $4) ) - (return - (i32.const 0) + (i32.gt_u + (local.get $1) + (local.get $3) ) ) - ) - (local.set $11 - (i32.add - (local.get $0) - (i32.const 48) + (return + (i32.const 0) ) ) - (block $__rjto$13 - (block $__rjti$13 - (if - (i32.eqz - (i32.and - (i32.load - (i32.const 620) - ) - (i32.const 4) + ) + (local.set $11 + (i32.add + (local.get $0) + (i32.const 48) + ) + ) + (block $__rjto$13 + (block $__rjti$13 + (if + (i32.eqz + (i32.and + (i32.load + (i32.const 620) ) + (i32.const 4) ) - (block - (block $label$break$L279 - (block $__rjti$5 - (block $__rjti$4 - (br_if $__rjti$4 - (i32.eqz - (local.tee $4 - (i32.load - (i32.const 200) - ) + ) + (block + (block $label$break$L279 + (block $__rjti$5 + (block $__rjti$4 + (br_if $__rjti$4 + (i32.eqz + (local.tee $2 + (i32.load + (i32.const 200) ) ) ) - (local.set $1 - (i32.const 624) - ) - (loop $while-in34 - (block $while-out33 - (if - (i32.le_u - (local.tee $3 - (i32.load - (local.get $1) - ) + ) + (local.set $1 + (i32.const 624) + ) + (loop $while-in34 + (block $while-out33 + (if + (i32.le_u + (local.tee $4 + (i32.load + (local.get $1) ) - (local.get $4) ) - (block - (local.set $2 - (i32.add - (local.get $1) - (i32.const 4) - ) + (local.get $2) + ) + (block + (local.set $3 + (i32.add + (local.get $1) + (i32.const 4) ) - (if - (i32.gt_u - (i32.add - (local.get $3) - (i32.load offset=4 - (local.get $1) - ) - ) + ) + (if + (i32.gt_u + (i32.add (local.get $4) - ) - (block - (local.set $4 + (i32.load offset=4 (local.get $1) ) - (br $while-out33) ) + (local.get $2) + ) + (block + (local.set $2 + (local.get $1) + ) + (br $while-out33) ) ) ) - (br_if $while-in34 - (local.tee $1 - (i32.load offset=8 - (local.get $1) - ) + ) + (br_if $while-in34 + (local.tee $1 + (i32.load offset=8 + (local.get $1) ) ) - (br $__rjti$4) ) + (br $__rjti$4) ) - (if - (i32.lt_u - (local.tee $3 - (i32.and - (i32.sub - (local.get $5) - (i32.load - (i32.const 188) - ) + ) + (if + (i32.lt_u + (local.tee $4 + (i32.and + (i32.sub + (local.get $5) + (i32.load + (i32.const 188) ) - (local.get $12) ) + (local.get $12) ) - (i32.const 2147483647) ) - (block - (local.set $1 - (call $_sbrk - (local.get $3) - ) + (i32.const 2147483647) + ) + (block + (local.set $1 + (call $_sbrk + (local.get $4) ) - (if - (i32.eq - (i32.add - (i32.load - (local.get $4) - ) - (i32.load - (local.get $2) - ) + ) + (if + (i32.eq + (i32.add + (i32.load + (local.get $2) ) - (local.get $1) - ) - (br_if $__rjti$13 - (i32.ne - (local.get $1) - (i32.const -1) + (i32.load + (local.get $3) ) ) - (block - (local.set $2 - (local.get $1) - ) - (br $__rjti$5) + (local.get $1) + ) + (br_if $__rjti$13 + (i32.ne + (local.get $1) + (i32.const -1) ) ) + (block + (local.set $3 + (local.get $1) + ) + (br $__rjti$5) + ) ) ) - (br $label$break$L279) ) - (if - (i32.ne - (local.tee $1 - (call $_sbrk - (i32.const 0) - ) + (br $label$break$L279) + ) + (if + (i32.ne + (local.tee $1 + (call $_sbrk + (i32.const 0) ) - (i32.const -1) ) - (block - (local.set $3 - (if (result i32) - (i32.and - (local.tee $3 - (local.get $1) - ) - (local.tee $2 - (i32.add - (local.tee $4 - (i32.load - (i32.const 652) - ) + (i32.const -1) + ) + (block + (local.set $4 + (if (result i32) + (i32.and + (local.tee $4 + (local.get $1) + ) + (local.tee $3 + (i32.add + (local.tee $2 + (i32.load + (i32.const 652) ) - (i32.const -1) ) + (i32.const -1) ) ) - (i32.add - (i32.sub - (local.get $7) + ) + (i32.add + (i32.sub + (local.get $7) + (local.get $4) + ) + (i32.and + (i32.add (local.get $3) + (local.get $4) ) - (i32.and - (i32.add - (local.get $2) - (local.get $3) - ) - (i32.sub - (i32.const 0) - (local.get $4) - ) + (i32.sub + (i32.const 0) + (local.get $2) ) ) - (local.get $7) ) + (local.get $7) ) - (local.set $12 - (i32.add - (local.tee $4 - (i32.load - (i32.const 608) - ) + ) + (local.set $12 + (i32.add + (local.tee $2 + (i32.load + (i32.const 608) ) - (local.get $3) ) + (local.get $4) ) - (if - (i32.and - (i32.lt_u - (local.get $3) - (i32.const 2147483647) - ) - (i32.gt_u - (local.get $3) - (local.get $0) - ) + ) + (if + (i32.and + (i32.lt_u + (local.get $4) + (i32.const 2147483647) ) - (block - (if - (local.tee $2 - (i32.load - (i32.const 616) - ) + (i32.gt_u + (local.get $4) + (local.get $0) + ) + ) + (block + (if + (local.tee $3 + (i32.load + (i32.const 616) ) - (br_if $label$break$L279 - (i32.or - (i32.le_u - (local.get $12) - (local.get $4) - ) - (i32.gt_u - (local.get $12) - (local.get $2) - ) + ) + (br_if $label$break$L279 + (i32.or + (i32.le_u + (local.get $12) + (local.get $2) + ) + (i32.gt_u + (local.get $12) + (local.get $3) ) ) ) - (br_if $__rjti$13 - (i32.eq - (local.get $1) - (local.tee $2 - (call $_sbrk - (local.get $3) - ) + ) + (br_if $__rjti$13 + (i32.eq + (local.get $1) + (local.tee $3 + (call $_sbrk + (local.get $4) ) ) ) - (br $__rjti$5) ) + (br $__rjti$5) ) ) ) - (br $label$break$L279) - ) - (local.set $1 - (local.get $3) ) - (local.set $4 - (i32.sub - (i32.const 0) - (local.get $1) - ) + (br $label$break$L279) + ) + (local.set $1 + (local.get $4) + ) + (local.set $2 + (i32.sub + (i32.const 0) + (local.get $1) ) - (local.set $3 - (if (result i32) + ) + (local.set $4 + (if (result i32) + (i32.and (i32.and - (i32.and - (i32.ne - (local.get $2) - (i32.const -1) - ) - (i32.lt_u - (local.get $1) - (i32.const 2147483647) - ) + (i32.ne + (local.get $3) + (i32.const -1) ) - (i32.gt_u - (local.get $11) + (i32.lt_u (local.get $1) + (i32.const 2147483647) ) ) - (if (result i32) - (i32.lt_u - (local.tee $3 - (i32.and - (i32.add - (local.tee $3 - (i32.load - (i32.const 656) - ) - ) - (i32.sub - (local.get $9) - (local.get $1) + (i32.gt_u + (local.get $11) + (local.get $1) + ) + ) + (if (result i32) + (i32.lt_u + (local.tee $4 + (i32.and + (i32.add + (local.tee $4 + (i32.load + (i32.const 656) ) ) (i32.sub - (i32.const 0) - (local.get $3) + (local.get $8) + (local.get $1) ) ) + (i32.sub + (i32.const 0) + (local.get $4) + ) ) - (i32.const 2147483647) ) - (if (result i32) - (i32.eq - (call $_sbrk - (local.get $3) - ) - (i32.const -1) + (i32.const 2147483647) + ) + (if (result i32) + (i32.eq + (call $_sbrk + (local.get $4) ) - (block - (drop - (call $_sbrk - (local.get $4) - ) + (i32.const -1) + ) + (block + (drop + (call $_sbrk + (local.get $2) ) - (br $label$break$L279) - ) - (i32.add - (local.get $1) - (local.get $3) ) + (br $label$break$L279) + ) + (i32.add + (local.get $1) + (local.get $4) ) - (local.get $1) ) (local.get $1) ) + (local.get $1) ) - (if - (i32.ne - (local.get $2) - (i32.const -1) - ) - (block - (local.set $1 - (local.get $2) - ) - (br $__rjti$13) + ) + (if + (i32.ne + (local.get $3) + (i32.const -1) + ) + (block + (local.set $1 + (local.get $3) ) + (br $__rjti$13) ) ) - (i32.store - (i32.const 620) - (i32.or - (i32.load - (i32.const 620) - ) - (i32.const 4) + ) + (i32.store + (i32.const 620) + (i32.or + (i32.load + (i32.const 620) ) + (i32.const 4) ) ) ) + ) + (if + (i32.lt_u + (local.get $7) + (i32.const 2147483647) + ) (if - (i32.lt_u - (local.get $7) - (i32.const 2147483647) - ) - (if - (i32.and - (i32.lt_u - (local.tee $1 - (call $_sbrk - (local.get $7) - ) - ) - (local.tee $3 - (call $_sbrk - (i32.const 0) - ) + (i32.and + (i32.lt_u + (local.tee $1 + (call $_sbrk + (local.get $7) ) ) - (i32.and - (i32.ne - (local.get $1) - (i32.const -1) - ) - (i32.ne - (local.get $3) - (i32.const -1) + (local.tee $4 + (call $_sbrk + (i32.const 0) ) ) ) - (br_if $__rjti$13 - (i32.gt_u - (local.tee $3 - (i32.sub - (local.get $3) - (local.get $1) - ) - ) - (i32.add - (local.get $0) - (i32.const 40) - ) + (i32.and + (i32.ne + (local.get $1) + (i32.const -1) + ) + (i32.ne + (local.get $4) + (i32.const -1) ) ) ) - ) - (br $__rjto$13) - ) - (i32.store - (i32.const 608) - (local.tee $2 - (i32.add - (i32.load - (i32.const 608) + (br_if $__rjti$13 + (i32.gt_u + (local.tee $4 + (i32.sub + (local.get $4) + (local.get $1) + ) + ) + (i32.add + (local.get $0) + (i32.const 40) + ) ) - (local.get $3) ) ) ) - (if - (i32.gt_u - (local.get $2) + (br $__rjto$13) + ) + (i32.store + (i32.const 608) + (local.tee $3 + (i32.add (i32.load - (i32.const 612) + (i32.const 608) ) + (local.get $4) ) - (i32.store + ) + ) + (if + (i32.gt_u + (local.get $3) + (i32.load (i32.const 612) - (local.get $2) ) ) - (if - (local.tee $5 - (i32.load - (i32.const 200) - ) + (i32.store + (i32.const 612) + (local.get $3) + ) + ) + (if + (local.tee $5 + (i32.load + (i32.const 200) ) - (block $do-once40 - (local.set $2 - (i32.const 624) - ) - (block $__rjto$10 - (block $__rjti$10 - (loop $while-in45 - (local.set $4 - (i32.add - (local.get $2) - (i32.const 4) - ) + ) + (block $do-once40 + (local.set $3 + (i32.const 624) + ) + (block $__rjto$10 + (block $__rjti$10 + (loop $while-in45 + (local.set $2 + (i32.add + (local.get $3) + (i32.const 4) ) - (br_if $__rjti$10 - (i32.eq - (i32.add - (local.tee $11 - (i32.load - (local.get $2) - ) + ) + (br_if $__rjti$10 + (i32.eq + (i32.add + (local.tee $11 + (i32.load + (local.get $3) ) - (local.tee $7 - (i32.load offset=4 - (local.get $2) - ) + ) + (local.tee $7 + (i32.load offset=4 + (local.get $3) ) ) - (local.get $1) ) + (local.get $1) ) - (br_if $while-in45 - (local.tee $2 - (i32.load offset=8 - (local.get $2) - ) + ) + (br_if $while-in45 + (local.tee $3 + (i32.load offset=8 + (local.get $3) ) ) ) - (br $__rjto$10) ) - (if - (i32.eqz - (i32.and - (i32.load offset=12 - (local.get $2) - ) - (i32.const 8) + (br $__rjto$10) + ) + (if + (i32.eqz + (i32.and + (i32.load offset=12 + (local.get $3) ) + (i32.const 8) ) - (if - (i32.and - (i32.lt_u - (local.get $5) - (local.get $1) - ) - (i32.ge_u - (local.get $5) - (local.get $11) - ) + ) + (if + (i32.and + (i32.lt_u + (local.get $5) + (local.get $1) ) - (block - (i32.store + (i32.ge_u + (local.get $5) + (local.get $11) + ) + ) + (block + (i32.store + (local.get $2) + (i32.add (local.get $4) - (i32.add - (local.get $3) - (local.get $7) - ) + (local.get $7) ) - (local.set $2 - (i32.add - (local.get $5) - (local.tee $1 - (select - (i32.and - (i32.sub - (i32.const 0) - (local.tee $1 - (i32.add - (local.get $5) - (i32.const 8) - ) + ) + (local.set $3 + (i32.add + (local.get $5) + (local.tee $1 + (select + (i32.and + (i32.sub + (i32.const 0) + (local.tee $1 + (i32.add + (local.get $5) + (i32.const 8) ) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $1) - (i32.const 7) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (local.get $1) + (i32.const 7) ) ) ) ) - (local.set $1 - (i32.add - (i32.load - (i32.const 188) - ) - (i32.sub - (local.get $3) - (local.get $1) - ) + ) + (local.set $1 + (i32.add + (i32.load + (i32.const 188) ) - ) - (i32.store - (i32.const 200) - (local.get $2) - ) - (i32.store - (i32.const 188) - (local.get $1) - ) - (i32.store offset=4 - (local.get $2) - (i32.or + (i32.sub + (local.get $4) (local.get $1) - (i32.const 1) ) ) - (i32.store offset=4 - (i32.add - (local.get $1) - (local.get $2) - ) - (i32.const 40) + ) + (i32.store + (i32.const 200) + (local.get $3) + ) + (i32.store + (i32.const 188) + (local.get $1) + ) + (i32.store offset=4 + (local.get $3) + (i32.or + (local.get $1) + (i32.const 1) ) - (i32.store - (i32.const 204) - (i32.load - (i32.const 664) - ) + ) + (i32.store offset=4 + (i32.add + (local.get $1) + (local.get $3) ) - (br $do-once40) + (i32.const 40) ) - ) - ) - ) - (if - (i32.lt_u - (local.get $1) - (local.tee $4 - (i32.load - (i32.const 192) + (i32.store + (i32.const 204) + (i32.load + (i32.const 664) + ) ) + (br $do-once40) ) ) - (block - (i32.store + ) + ) + (if + (i32.lt_u + (local.get $1) + (local.tee $2 + (i32.load (i32.const 192) - (local.get $1) - ) - (local.set $4 - (local.get $1) ) ) ) - (local.set $11 - (i32.add + (block + (i32.store + (i32.const 192) + (local.get $1) + ) + (local.set $2 (local.get $1) - (local.get $3) ) ) - (local.set $2 - (i32.const 624) + ) + (local.set $11 + (i32.add + (local.get $1) + (local.get $4) ) - (local.set $4 - (block $__rjto$11 (result i32) - (block $__rjti$11 - (br $__rjto$11 - (loop $while-in47 (result i32) - (if - (i32.eq - (i32.load - (local.get $2) - ) - (local.get $11) + ) + (local.set $3 + (i32.const 624) + ) + (local.set $2 + (block $__rjto$11 (result i32) + (block $__rjti$11 + (br $__rjto$11 + (loop $while-in47 (result i32) + (if + (i32.eq + (i32.load + (local.get $3) ) - (block - (local.set $7 - (local.get $2) - ) - (br $__rjti$11) + (local.get $11) + ) + (block + (local.set $7 + (local.get $3) ) + (br $__rjti$11) ) - (br_if $while-in47 - (local.tee $2 - (i32.load offset=8 - (local.get $2) - ) + ) + (br_if $while-in47 + (local.tee $3 + (i32.load offset=8 + (local.get $3) ) ) - (i32.const 624) ) + (i32.const 624) ) ) - (if (result i32) - (i32.and - (i32.load offset=12 - (local.get $2) - ) - (i32.const 8) + ) + (if (result i32) + (i32.and + (i32.load offset=12 + (local.get $3) ) - (i32.const 624) - (block - (i32.store - (local.get $7) - (local.get $1) + (i32.const 8) + ) + (i32.const 624) + (block + (i32.store + (local.get $7) + (local.get $1) + ) + (i32.store offset=4 + (local.get $3) + (i32.add + (i32.load offset=4 + (local.get $3) + ) + (local.get $4) ) - (i32.store offset=4 - (local.get $2) - (i32.add - (i32.load offset=4 - (local.get $2) + ) + (local.set $8 + (i32.add + (local.tee $12 + (i32.add + (select + (i32.and + (i32.sub + (i32.const 0) + (local.tee $4 + (i32.add + (local.get $1) + (i32.const 8) + ) + ) + ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (local.get $4) + (i32.const 7) + ) + ) + (local.get $1) ) - (local.get $3) ) + (local.get $0) ) - (local.set $9 - (i32.add - (local.tee $12 + ) + (local.set $6 + (i32.sub + (i32.sub + (local.tee $7 (i32.add + (local.get $11) (select (i32.and (i32.sub (i32.const 0) - (local.tee $3 + (local.tee $1 (i32.add - (local.get $1) + (local.get $11) (i32.const 8) ) ) @@ -10785,1910 +10833,1876 @@ ) (i32.const 0) (i32.and - (local.get $3) + (local.get $1) (i32.const 7) ) ) - (local.get $1) ) ) - (local.get $0) + (local.get $12) ) + (local.get $0) ) - (local.set $6 - (i32.sub - (i32.sub - (local.tee $7 - (i32.add - (local.get $11) - (select - (i32.and - (i32.sub - (i32.const 0) - (local.tee $1 - (i32.add - (local.get $11) - (i32.const 8) - ) - ) - ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $1) - (i32.const 7) - ) - ) + ) + (i32.store offset=4 + (local.get $12) + (i32.or + (local.get $0) + (i32.const 3) + ) + ) + (if + (i32.eq + (local.get $5) + (local.get $7) + ) + (block + (i32.store + (i32.const 188) + (local.tee $0 + (i32.add + (i32.load + (i32.const 188) ) + (local.get $6) ) - (local.get $12) ) - (local.get $0) ) - ) - (i32.store offset=4 - (local.get $12) - (i32.or - (local.get $0) - (i32.const 3) + (i32.store + (i32.const 200) + (local.get $8) ) - ) - (if - (i32.eq - (local.get $5) - (local.get $7) + (i32.store offset=4 + (local.get $8) + (i32.or + (local.get $0) + (i32.const 1) + ) ) - (block - (i32.store - (i32.const 188) - (local.tee $0 - (i32.add - (i32.load - (i32.const 188) + ) + (block $do-once48 + (if + (i32.eq + (i32.load + (i32.const 196) + ) + (local.get $7) + ) + (block + (i32.store + (i32.const 184) + (local.tee $0 + (i32.add + (i32.load + (i32.const 184) + ) + (local.get $6) ) - (local.get $6) ) ) - ) - (i32.store - (i32.const 200) - (local.get $9) - ) - (i32.store offset=4 - (local.get $9) - (i32.or + (i32.store + (i32.const 196) + (local.get $8) + ) + (i32.store offset=4 + (local.get $8) + (i32.or + (local.get $0) + (i32.const 1) + ) + ) + (i32.store + (i32.add + (local.get $0) + (local.get $8) + ) (local.get $0) - (i32.const 1) ) + (br $do-once48) ) ) - (block $do-once48 - (if - (i32.eq - (i32.load - (i32.const 196) - ) - (local.get $7) - ) - (block - (i32.store - (i32.const 184) - (local.tee $0 - (i32.add - (i32.load - (i32.const 184) + (i32.store offset=4 + (local.tee $0 + (if (result i32) + (i32.eq + (i32.and + (local.tee $0 + (i32.load offset=4 + (local.get $7) ) - (local.get $6) ) + (i32.const 3) ) + (i32.const 1) ) - (i32.store - (i32.const 196) - (local.get $9) - ) - (i32.store offset=4 - (local.get $9) - (i32.or - (local.get $0) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (local.get $0) - (local.get $9) - ) - (local.get $0) - ) - (br $do-once48) - ) - ) - (i32.store offset=4 - (local.tee $0 - (if (result i32) - (i32.eq + (block (result i32) + (local.set $11 (i32.and - (local.tee $0 - (i32.load offset=4 - (local.get $7) - ) - ) - (i32.const 3) + (local.get $0) + (i32.const -8) ) - (i32.const 1) ) - (block (result i32) - (local.set $11 - (i32.and - (local.get $0) - (i32.const -8) - ) + (local.set $1 + (i32.shr_u + (local.get $0) + (i32.const 3) ) - (local.set $1 - (i32.shr_u + ) + (block $label$break$L331 + (if + (i32.lt_u (local.get $0) - (i32.const 3) + (i32.const 256) ) - ) - (block $label$break$L331 - (if - (i32.lt_u - (local.get $0) - (i32.const 256) + (block + (local.set $3 + (i32.load offset=12 + (local.get $7) + ) ) - (block - (local.set $2 - (i32.load offset=12 - (local.get $7) + (if + (i32.ne + (local.tee $4 + (i32.load offset=8 + (local.get $7) + ) ) - ) - (if - (i32.ne - (local.tee $3 - (i32.load offset=8 - (local.get $7) + (local.tee $0 + (i32.add + (i32.shl + (local.get $1) + (i32.const 3) ) + (i32.const 216) ) - (local.tee $0 - (i32.add - (i32.shl - (local.get $1) - (i32.const 3) - ) - (i32.const 216) - ) + ) + ) + (block $do-once51 + (if + (i32.lt_u + (local.get $4) + (local.get $2) ) + (call $_abort) ) - (block $do-once51 - (if - (i32.lt_u - (local.get $3) + (br_if $do-once51 + (i32.eq + (i32.load offset=12 (local.get $4) ) - (call $_abort) + (local.get $7) ) - (br_if $do-once51 - (i32.eq - (i32.load offset=12 - (local.get $3) + ) + (call $_abort) + ) + ) + (if + (i32.eq + (local.get $3) + (local.get $4) + ) + (block + (i32.store + (i32.const 176) + (i32.and + (i32.load + (i32.const 176) + ) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $1) ) - (local.get $7) + (i32.const -1) ) ) - (call $_abort) ) + (br $label$break$L331) ) - (if - (i32.eq - (local.get $2) + ) + (if + (i32.eq + (local.get $0) + (local.get $3) + ) + (local.set $15 + (i32.add (local.get $3) - ) - (block - (i32.store - (i32.const 176) - (i32.and - (i32.load - (i32.const 176) - ) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $1) - ) - (i32.const -1) - ) - ) - ) - (br $label$break$L331) + (i32.const 8) ) ) - (if - (i32.eq - (local.get $0) - (local.get $2) + (block $do-once53 + (if + (i32.lt_u + (local.get $3) + (local.get $2) + ) + (call $_abort) ) - (local.set $15 + (local.set $0 (i32.add - (local.get $2) + (local.get $3) (i32.const 8) ) ) - (block $do-once53 - (if - (i32.lt_u - (local.get $2) - (local.get $4) - ) - (call $_abort) - ) - (local.set $0 - (i32.add - (local.get $2) - (i32.const 8) + (if + (i32.eq + (i32.load offset=8 + (local.get $3) ) + (local.get $7) ) - (if - (i32.eq - (i32.load offset=8 - (local.get $2) - ) - (local.get $7) - ) - (block - (local.set $15 - (local.get $0) - ) - (br $do-once53) + (block + (local.set $15 + (local.get $0) ) + (br $do-once53) ) - (call $_abort) ) + (call $_abort) ) - (i32.store offset=12 - (local.get $3) - (local.get $2) - ) - (i32.store - (local.get $15) - (local.get $3) + ) + (i32.store offset=12 + (local.get $4) + (local.get $3) + ) + (i32.store + (local.get $15) + (local.get $4) + ) + ) + (block + (local.set $5 + (i32.load offset=24 + (local.get $7) ) ) - (block - (local.set $5 - (i32.load offset=24 - (local.get $7) + (if + (i32.eq + (local.tee $0 + (i32.load offset=12 + (local.get $7) + ) ) + (local.get $7) ) - (if - (i32.eq - (local.tee $0 - (i32.load offset=12 - (local.get $7) + (block $do-once55 + (local.set $0 + (i32.add + (local.tee $4 + (i32.add + (local.get $7) + (i32.const 16) + ) ) + (i32.const 4) ) - (local.get $7) ) - (block $do-once55 - (local.set $0 - (i32.add - (local.tee $3 - (i32.add - (local.get $7) - (i32.const 16) - ) + (if + (i32.eqz + (local.tee $1 + (i32.load offset=20 + (local.get $7) ) - (i32.const 4) ) ) - (if - (i32.eqz - (local.tee $1 - (i32.load offset=4 - (local.get $3) - ) - ) - ) - (block - (br_if $do-once55 - (i32.eqz - (local.tee $1 - (i32.load offset=16 - (local.get $7) - ) + (block + (br_if $do-once55 + (i32.eqz + (local.tee $1 + (i32.load offset=16 + (local.get $7) ) ) ) - (local.set $0 - (local.get $3) - ) - ) - ) - (loop $while-in58 - (local.set $2 - (i32.add - (local.get $1) - (i32.const 20) - ) - ) - (if - (local.tee $3 - (i32.load offset=20 - (local.get $1) - ) - ) - (block - (local.set $1 - (local.get $3) - ) - (local.set $0 - (local.get $2) - ) - (br $while-in58) - ) ) - (local.set $2 - (i32.add - (local.get $1) - (i32.const 16) - ) + (local.set $0 + (local.get $4) ) - (if - (local.tee $3 - (i32.load offset=16 - (local.get $1) - ) - ) - (block - (local.set $1 - (local.get $3) - ) - (local.set $0 - (local.get $2) - ) - (br $while-in58) - ) + ) + ) + (loop $while-in58 + (local.set $3 + (i32.add + (local.get $1) + (i32.const 20) ) ) (if - (i32.lt_u - (local.get $0) - (local.get $4) + (local.tee $4 + (i32.load offset=20 + (local.get $1) + ) ) - (call $_abort) (block - (i32.store - (local.get $0) - (i32.const 0) + (local.set $1 + (local.get $4) ) - (local.set $8 - (local.get $1) + (local.set $0 + (local.get $3) ) + (br $while-in58) ) ) - ) - (block - (if - (i32.lt_u - (local.tee $1 - (i32.load offset=8 - (local.get $7) - ) - ) - (local.get $4) + (local.set $3 + (i32.add + (local.get $1) + (i32.const 16) ) - (call $_abort) ) (if - (i32.ne - (local.get $7) - (i32.load offset=12 + (local.tee $4 + (i32.load offset=16 (local.get $1) ) ) - (call $_abort) - ) - (if - (i32.eq - (i32.load offset=8 - (local.get $0) - ) - (local.get $7) - ) (block - (i32.store offset=12 - (local.get $1) - (local.get $0) - ) - (i32.store offset=8 - (local.get $0) - (local.get $1) + (local.set $1 + (local.get $4) ) - (local.set $8 - (local.get $0) + (local.set $0 + (local.get $3) ) + (br $while-in58) ) - (call $_abort) ) ) - ) - (br_if $label$break$L331 - (i32.eqz - (local.get $5) + (if + (i32.lt_u + (local.get $0) + (local.get $2) + ) + (call $_abort) + (block + (i32.store + (local.get $0) + (i32.const 0) + ) + (local.set $9 + (local.get $1) + ) + ) ) ) - (if - (i32.eq - (i32.load offset=480 + (block + (if + (i32.lt_u (local.tee $1 - (i32.shl - (local.tee $0 - (i32.load offset=28 - (local.get $7) - ) - ) - (i32.const 2) + (i32.load offset=8 + (local.get $7) ) ) + (local.get $2) ) - (local.get $7) + (call $_abort) ) - (block $do-once59 - (i32.store offset=480 - (local.get $1) - (local.get $8) - ) - (br_if $do-once59 - (local.get $8) - ) - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $0) - ) - (i32.const -1) - ) + (if + (i32.ne + (local.get $7) + (i32.load offset=12 + (local.get $1) ) ) - (br $label$break$L331) + (call $_abort) ) - (block - (if - (i32.lt_u - (local.get $5) - (i32.load - (i32.const 192) - ) + (if + (i32.eq + (i32.load offset=8 + (local.get $0) ) - (call $_abort) + (local.get $7) ) - (if - (i32.eq - (i32.load offset=16 - (local.get $5) - ) - (local.get $7) + (block + (i32.store offset=12 + (local.get $1) + (local.get $0) ) - (i32.store offset=16 - (local.get $5) - (local.get $8) + (i32.store offset=8 + (local.get $0) + (local.get $1) ) - (i32.store offset=20 - (local.get $5) - (local.get $8) + (local.set $9 + (local.get $0) ) ) - (br_if $label$break$L331 - (i32.eqz - (local.get $8) + (call $_abort) + ) + ) + ) + (br_if $label$break$L331 + (i32.eqz + (local.get $5) + ) + ) + (if + (i32.eq + (i32.load offset=480 + (local.tee $1 + (i32.shl + (local.tee $0 + (i32.load offset=28 + (local.get $7) + ) + ) + (i32.const 2) ) ) ) + (local.get $7) ) - (if - (i32.lt_u - (local.get $8) - (local.tee $0 + (block $do-once59 + (i32.store offset=480 + (local.get $1) + (local.get $9) + ) + (br_if $do-once59 + (local.get $9) + ) + (i32.store + (i32.const 180) + (i32.and (i32.load - (i32.const 192) + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $0) + ) + (i32.const -1) ) ) ) - (call $_abort) - ) - (i32.store offset=24 - (local.get $8) - (local.get $5) + (br $label$break$L331) ) - (if - (local.tee $1 - (i32.load offset=16 - (local.get $7) - ) - ) + (block (if (i32.lt_u - (local.get $1) - (local.get $0) + (local.get $5) + (i32.load + (i32.const 192) + ) ) (call $_abort) - (block - (i32.store offset=16 - (local.get $8) - (local.get $1) - ) - (i32.store offset=24 - (local.get $1) - (local.get $8) + ) + (if + (i32.eq + (i32.load offset=16 + (local.get $5) ) + (local.get $7) + ) + (i32.store offset=16 + (local.get $5) + (local.get $9) + ) + (i32.store offset=20 + (local.get $5) + (local.get $9) + ) + ) + (br_if $label$break$L331 + (i32.eqz + (local.get $9) ) ) ) - (br_if $label$break$L331 - (i32.eqz - (local.tee $0 - (i32.load offset=4 - (i32.add - (local.get $7) - (i32.const 16) - ) - ) + ) + (if + (i32.lt_u + (local.get $9) + (local.tee $0 + (i32.load + (i32.const 192) ) ) ) + (call $_abort) + ) + (i32.store offset=24 + (local.get $9) + (local.get $5) + ) + (if + (local.tee $1 + (i32.load offset=16 + (local.get $7) + ) + ) (if (i32.lt_u + (local.get $1) (local.get $0) - (i32.load - (i32.const 192) - ) ) (call $_abort) (block - (i32.store offset=20 - (local.get $8) - (local.get $0) + (i32.store offset=16 + (local.get $9) + (local.get $1) ) (i32.store offset=24 - (local.get $0) - (local.get $8) + (local.get $1) + (local.get $9) ) ) ) ) + (br_if $label$break$L331 + (i32.eqz + (local.tee $0 + (i32.load offset=20 + (local.get $7) + ) + ) + ) + ) + (if + (i32.lt_u + (local.get $0) + (i32.load + (i32.const 192) + ) + ) + (call $_abort) + (block + (i32.store offset=20 + (local.get $9) + (local.get $0) + ) + (i32.store offset=24 + (local.get $0) + (local.get $9) + ) + ) + ) ) ) - (local.set $6 - (i32.add - (local.get $6) - (local.get $11) - ) - ) + ) + (local.set $6 (i32.add - (local.get $7) + (local.get $6) (local.get $11) ) ) - (local.get $7) - ) - ) - (i32.and - (i32.load offset=4 - (local.get $0) + (i32.add + (local.get $7) + (local.get $11) + ) ) - (i32.const -2) + (local.get $7) ) ) - (i32.store offset=4 - (local.get $9) - (i32.or - (local.get $6) - (i32.const 1) + (i32.and + (i32.load offset=4 + (local.get $0) ) + (i32.const -2) ) - (i32.store - (i32.add - (local.get $6) - (local.get $9) - ) + ) + (i32.store offset=4 + (local.get $8) + (i32.or (local.get $6) + (i32.const 1) ) - (local.set $0 - (i32.shr_u - (local.get $6) - (i32.const 3) - ) + ) + (i32.store + (i32.add + (local.get $6) + (local.get $8) ) - (if - (i32.lt_u - (local.get $6) - (i32.const 256) - ) - (block - (local.set $3 - (i32.add + (local.get $6) + ) + (local.set $0 + (i32.shr_u + (local.get $6) + (i32.const 3) + ) + ) + (if + (i32.lt_u + (local.get $6) + (i32.const 256) + ) + (block + (local.set $4 + (i32.add + (local.tee $3 (i32.shl (local.get $0) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (if - (i32.and - (local.tee $1 - (i32.load - (i32.const 176) - ) + ) + (if + (i32.and + (local.tee $1 + (i32.load + (i32.const 176) ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $0) - ) + ) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $0) ) ) - (block $do-once63 - (local.set $1 - (i32.add - (local.get $3) - (i32.const 8) - ) + ) + (block $do-once63 + (local.set $1 + (i32.add + (local.get $4) + (i32.const 8) ) - (if - (i32.ge_u - (local.tee $0 - (i32.load offset=8 - (local.get $3) - ) - ) - (i32.load - (i32.const 192) + ) + (if + (i32.ge_u + (local.tee $0 + (i32.load offset=224 + (local.get $3) ) ) - (block - (local.set $16 - (local.get $1) - ) - (local.set $10 - (local.get $0) - ) - (br $do-once63) + (i32.load + (i32.const 192) ) ) - (call $_abort) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (local.get $0) + (block + (local.set $16 (local.get $1) ) - ) - (local.set $16 - (i32.add - (local.get $3) - (i32.const 8) + (local.set $10 + (local.get $0) ) - ) - (local.set $10 - (local.get $3) + (br $do-once63) ) ) + (call $_abort) ) - (i32.store - (local.get $16) - (local.get $9) - ) - (i32.store offset=12 - (local.get $10) - (local.get $9) - ) - (i32.store offset=8 - (local.get $9) - (local.get $10) - ) - (i32.store offset=12 - (local.get $9) - (local.get $3) + (block + (i32.store + (i32.const 176) + (i32.or + (local.get $0) + (local.get $1) + ) + ) + (local.set $16 + (i32.add + (local.get $4) + (i32.const 8) + ) + ) + (local.set $10 + (local.get $4) + ) ) - (br $do-once48) ) + (i32.store + (local.get $16) + (local.get $8) + ) + (i32.store offset=12 + (local.get $10) + (local.get $8) + ) + (i32.store offset=8 + (local.get $8) + (local.get $10) + ) + (i32.store offset=12 + (local.get $8) + (local.get $4) + ) + (br $do-once48) ) - (local.set $3 - (i32.add - (local.tee $4 - (i32.shl - (local.tee $2 + ) + (local.set $4 + (i32.add + (local.tee $2 + (i32.shl + (local.tee $3 + (if (result i32) + (local.tee $0 + (i32.shr_u + (local.get $6) + (i32.const 8) + ) + ) (if (result i32) - (local.tee $0 - (i32.shr_u - (local.get $6) - (i32.const 8) - ) + (i32.gt_u + (local.get $6) + (i32.const 16777215) ) - (if (result i32) - (i32.gt_u - (local.get $6) - (i32.const 16777215) - ) - (i32.const 31) - (block (result i32) - (local.set $2 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.tee $1 - (i32.and - (i32.shr_u - (i32.add - (local.get $0) - (i32.const 1048320) - ) - (i32.const 16) + (i32.const 31) + (block (result i32) + (local.set $3 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.tee $1 + (i32.and + (i32.shr_u + (i32.add + (local.get $0) + (i32.const 1048320) ) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) ) - (i32.const 520192) ) - (i32.const 16) + (i32.const 520192) ) - (i32.const 4) + (i32.const 16) ) + (i32.const 4) ) - (local.set $3 - (i32.and - (i32.shr_u - (i32.add - (local.tee $0 - (i32.shl - (local.get $0) - (local.get $2) - ) + ) + (local.set $4 + (i32.and + (i32.shr_u + (i32.add + (local.tee $0 + (i32.shl + (local.get $0) + (local.get $3) ) - (i32.const 245760) ) - (i32.const 16) + (i32.const 245760) ) - (i32.const 2) + (i32.const 16) ) + (i32.const 2) ) - (i32.or - (i32.and - (i32.shr_u - (local.get $6) - (i32.add - (local.tee $0 - (i32.add - (i32.sub - (i32.const 14) + ) + (i32.or + (i32.and + (i32.shr_u + (local.get $6) + (i32.add + (local.tee $0 + (i32.add + (i32.sub + (i32.const 14) + (i32.or (i32.or - (i32.or - (local.get $1) - (local.get $2) - ) + (local.get $1) (local.get $3) ) + (local.get $4) ) - (i32.shr_u - (i32.shl - (local.get $0) - (local.get $3) - ) - (i32.const 15) + ) + (i32.shr_u + (i32.shl + (local.get $0) + (local.get $4) ) + (i32.const 15) ) ) - (i32.const 7) ) + (i32.const 7) ) - (i32.const 1) - ) - (i32.shl - (local.get $0) - (i32.const 1) ) + (i32.const 1) + ) + (i32.shl + (local.get $0) + (i32.const 1) ) ) ) - (i32.const 0) ) + (i32.const 0) ) - (i32.const 2) ) + (i32.const 2) ) - (i32.const 480) - ) - ) - (i32.store offset=28 - (local.get $9) - (local.get $2) - ) - (i32.store offset=4 - (i32.add - (local.get $9) - (i32.const 16) ) - (i32.const 0) + (i32.const 480) ) - (i32.store offset=16 - (local.get $9) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (local.tee $1 - (i32.load - (i32.const 180) - ) - ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $2) - ) + ) + (i32.store offset=28 + (local.get $8) + (local.get $3) + ) + (i32.store offset=20 + (local.get $8) + (i32.const 0) + ) + (i32.store offset=16 + (local.get $8) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (local.tee $1 + (i32.load + (i32.const 180) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (local.get $0) - (local.get $1) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $3) ) ) - (i32.store offset=480 - (local.get $4) - (local.get $9) - ) - (i32.store offset=24 - (local.get $9) - (local.get $3) - ) - (i32.store offset=12 - (local.get $9) - (local.get $9) - ) - (i32.store offset=8 - (local.get $9) - (local.get $9) + ) + ) + (block + (i32.store + (i32.const 180) + (i32.or + (local.get $0) + (local.get $1) ) - (br $do-once48) ) + (i32.store offset=480 + (local.get $2) + (local.get $8) + ) + (i32.store offset=24 + (local.get $8) + (local.get $4) + ) + (i32.store offset=12 + (local.get $8) + (local.get $8) + ) + (i32.store offset=8 + (local.get $8) + (local.get $8) + ) + (br $do-once48) ) - (local.set $2 - (i32.shl - (local.get $6) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $2) - (i32.const 1) - ) - ) - (i32.eq - (local.get $2) - (i32.const 31) + ) + (local.set $3 + (i32.shl + (local.get $6) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (local.get $3) + (i32.const 1) ) ) + (i32.eq + (local.get $3) + (i32.const 31) + ) ) ) - (local.set $0 - (i32.load offset=480 - (local.get $4) - ) + ) + (local.set $0 + (i32.load offset=480 + (local.get $2) ) - (block $__rjto$7 - (block $__rjti$7 - (loop $while-in68 - (br_if $__rjti$7 - (i32.eq - (i32.and - (i32.load offset=4 - (local.get $0) - ) - (i32.const -8) + ) + (block $__rjto$7 + (block $__rjti$7 + (loop $while-in68 + (br_if $__rjti$7 + (i32.eq + (i32.and + (i32.load offset=4 + (local.get $0) ) - (local.get $6) + (i32.const -8) ) + (local.get $6) ) - (local.set $3 - (i32.shl - (local.get $2) - (i32.const 1) - ) + ) + (local.set $4 + (i32.shl + (local.get $3) + (i32.const 1) ) - (if - (local.tee $1 - (i32.load - (local.tee $2 + ) + (if + (local.tee $1 + (i32.load + (local.tee $3 + (i32.add (i32.add - (i32.add - (local.get $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (local.get $2) - (i32.const 31) - ) - (i32.const 2) + (local.get $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (local.get $3) + (i32.const 31) ) + (i32.const 2) ) ) ) ) - (block - (local.set $2 - (local.get $3) - ) - (local.set $0 - (local.get $1) - ) - (br $while-in68) - ) - ) - ) - (if - (i32.lt_u - (local.get $2) - (i32.load - (i32.const 192) - ) ) - (call $_abort) (block - (i32.store - (local.get $2) - (local.get $9) - ) - (i32.store offset=24 - (local.get $9) - (local.get $0) - ) - (i32.store offset=12 - (local.get $9) - (local.get $9) + (local.set $3 + (local.get $4) ) - (i32.store offset=8 - (local.get $9) - (local.get $9) + (local.set $0 + (local.get $1) ) - (br $do-once48) + (br $while-in68) ) ) - (br $__rjto$7) ) (if - (i32.and - (i32.ge_u - (local.tee $3 - (i32.load offset=8 - (local.get $0) - ) - ) - (local.tee $1 - (i32.load - (i32.const 192) - ) - ) - ) - (i32.ge_u - (local.get $0) - (local.get $1) + (i32.lt_u + (local.get $3) + (i32.load + (i32.const 192) ) ) + (call $_abort) (block - (i32.store offset=12 + (i32.store (local.get $3) - (local.get $9) + (local.get $8) ) - (i32.store offset=8 + (i32.store offset=24 + (local.get $8) (local.get $0) - (local.get $9) + ) + (i32.store offset=12 + (local.get $8) + (local.get $8) ) (i32.store offset=8 - (local.get $9) - (local.get $3) + (local.get $8) + (local.get $8) ) - (i32.store offset=12 - (local.get $9) - (local.get $0) + (br $do-once48) + ) + ) + (br $__rjto$7) + ) + (if + (i32.and + (i32.ge_u + (local.tee $4 + (i32.load offset=8 + (local.get $0) + ) ) - (i32.store offset=24 - (local.get $9) - (i32.const 0) + (local.tee $1 + (i32.load + (i32.const 192) + ) ) ) - (call $_abort) + (i32.ge_u + (local.get $0) + (local.get $1) + ) + ) + (block + (i32.store offset=12 + (local.get $4) + (local.get $8) + ) + (i32.store offset=8 + (local.get $0) + (local.get $8) + ) + (i32.store offset=8 + (local.get $8) + (local.get $4) + ) + (i32.store offset=12 + (local.get $8) + (local.get $0) + ) + (i32.store offset=24 + (local.get $8) + (i32.const 0) + ) ) + (call $_abort) ) ) ) - (return - (i32.add - (local.get $12) - (i32.const 8) - ) + ) + (return + (i32.add + (local.get $12) + (i32.const 8) ) ) ) ) ) - (loop $while-in70 - (block $while-out69 - (if - (i32.le_u - (local.tee $2 - (i32.load - (local.get $4) - ) + ) + (loop $while-in70 + (block $while-out69 + (if + (i32.le_u + (local.tee $3 + (i32.load + (local.get $2) ) - (local.get $5) ) - (br_if $while-out69 - (i32.gt_u - (local.tee $2 - (i32.add + (local.get $5) + ) + (br_if $while-out69 + (i32.gt_u + (local.tee $3 + (i32.add + (local.get $3) + (i32.load offset=4 (local.get $2) - (i32.load offset=4 - (local.get $4) - ) ) ) - (local.get $5) ) + (local.get $5) ) ) - (local.set $4 - (i32.load offset=8 - (local.get $4) - ) + ) + (local.set $2 + (i32.load offset=8 + (local.get $2) ) - (br $while-in70) ) + (br $while-in70) ) - (local.set $10 - (i32.add - (local.tee $4 - (i32.add - (local.get $2) - (i32.const -47) - ) + ) + (local.set $9 + (i32.add + (local.tee $10 + (i32.add + (local.get $3) + (i32.const -47) ) - (i32.const 8) ) + (i32.const 8) ) - (local.set $7 + ) + (i32.store + (i32.const 200) + (local.tee $7 (i32.add - (local.tee $8 + (local.tee $2 (select - (local.get $5) - (local.tee $4 - (i32.add - (local.get $4) - (select - (i32.and - (i32.sub - (i32.const 0) - (local.get $10) - ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $10) - (i32.const 7) + (i32.and + (i32.sub + (i32.const 0) + (local.tee $2 + (i32.add + (local.get $1) + (i32.const 8) ) ) ) + (i32.const 7) ) - (i32.lt_u - (local.get $4) - (i32.add - (local.get $5) - (i32.const 16) - ) + (i32.const 0) + (i32.and + (local.get $2) + (i32.const 7) ) ) ) - (i32.const 8) + (local.get $1) ) ) - (i32.store - (i32.const 200) - (local.tee $10 + ) + (i32.store + (i32.const 188) + (local.tee $2 + (i32.sub (i32.add - (local.tee $4 + (local.get $4) + (i32.const -40) + ) + (local.get $2) + ) + ) + ) + (i32.store offset=4 + (local.get $7) + (i32.or + (local.get $2) + (i32.const 1) + ) + ) + (i32.store offset=4 + (i32.add + (local.get $2) + (local.get $7) + ) + (i32.const 40) + ) + (i32.store + (i32.const 204) + (i32.load + (i32.const 664) + ) + ) + (i32.store offset=4 + (local.tee $2 + (select + (local.get $5) + (local.tee $2 + (i32.add + (local.get $10) (select (i32.and (i32.sub (i32.const 0) - (local.tee $4 - (i32.add - (local.get $1) - (i32.const 8) - ) - ) + (local.get $9) ) (i32.const 7) ) (i32.const 0) (i32.and - (local.get $4) + (local.get $9) (i32.const 7) ) ) ) - (local.get $1) ) - ) - ) - (i32.store - (i32.const 188) - (local.tee $4 - (i32.sub + (i32.lt_u + (local.get $2) (i32.add - (local.get $3) - (i32.const -40) + (local.get $5) + (i32.const 16) ) - (local.get $4) ) ) ) - (i32.store offset=4 - (local.get $10) - (i32.or - (local.get $4) - (i32.const 1) - ) - ) - (i32.store offset=4 - (i32.add - (local.get $4) - (local.get $10) - ) - (i32.const 40) - ) - (i32.store - (i32.const 204) - (i32.load - (i32.const 664) - ) - ) - (i32.store offset=4 - (local.get $8) - (i32.const 27) - ) - (i32.store offset=8 - (local.get $8) - (i32.load - (i32.const 624) - ) - ) - (i32.store offset=4 - (local.get $7) - (i32.load - (i32.const 628) - ) - ) - (i32.store offset=8 - (local.get $7) - (i32.load - (i32.const 632) - ) - ) - (i32.store offset=12 - (local.get $7) - (i32.load - (i32.const 636) - ) - ) - (i32.store + (i32.const 27) + ) + (i32.store offset=8 + (local.get $2) + (i32.load (i32.const 624) - (local.get $1) ) - (i32.store + ) + (i32.store offset=12 + (local.get $2) + (i32.load (i32.const 628) - (local.get $3) ) - (i32.store + ) + (i32.store offset=16 + (local.get $2) + (i32.load + (i32.const 632) + ) + ) + (i32.store offset=20 + (local.get $2) + (i32.load (i32.const 636) - (i32.const 0) ) - (i32.store - (i32.const 632) - (local.get $7) + ) + (i32.store + (i32.const 624) + (local.get $1) + ) + (i32.store + (i32.const 628) + (local.get $4) + ) + (i32.store + (i32.const 636) + (i32.const 0) + ) + (i32.store + (i32.const 632) + (i32.add + (local.get $2) + (i32.const 8) ) - (local.set $1 - (i32.add - (local.get $8) - (i32.const 24) - ) + ) + (local.set $1 + (i32.add + (local.get $2) + (i32.const 24) ) - (loop $while-in72 - (i32.store offset=4 - (local.get $1) - (i32.const 7) - ) - (br_if $while-in72 - (i32.lt_u - (i32.add - (local.tee $1 - (i32.add - (local.get $1) - (i32.const 4) - ) + ) + (loop $while-in72 + (i32.store offset=4 + (local.get $1) + (i32.const 7) + ) + (br_if $while-in72 + (i32.lt_u + (i32.add + (local.tee $1 + (i32.add + (local.get $1) + (i32.const 4) ) - (i32.const 4) ) - (local.get $2) + (i32.const 4) ) + (local.get $3) ) ) - (if - (i32.ne - (local.get $5) - (local.get $8) - ) - (block - (i32.store offset=4 - (local.get $8) - (i32.and - (i32.load offset=4 - (local.get $8) - ) - (i32.const -2) + ) + (if + (i32.ne + (local.get $2) + (local.get $5) + ) + (block + (i32.store offset=4 + (local.get $2) + (i32.and + (i32.load offset=4 + (local.get $2) ) + (i32.const -2) ) - (i32.store offset=4 - (local.get $5) - (i32.or - (local.tee $10 - (i32.sub - (local.get $8) - (local.get $5) - ) + ) + (i32.store offset=4 + (local.get $5) + (i32.or + (local.tee $10 + (i32.sub + (local.get $2) + (local.get $5) ) - (i32.const 1) ) + (i32.const 1) ) - (i32.store - (local.get $8) + ) + (i32.store + (local.get $2) + (local.get $10) + ) + (local.set $1 + (i32.shr_u (local.get $10) + (i32.const 3) ) - (local.set $1 - (i32.shr_u - (local.get $10) - (i32.const 3) - ) + ) + (if + (i32.lt_u + (local.get $10) + (i32.const 256) ) - (if - (i32.lt_u - (local.get $10) - (i32.const 256) - ) - (block - (local.set $2 - (i32.add + (block + (local.set $3 + (i32.add + (local.tee $2 (i32.shl (local.get $1) (i32.const 3) ) - (i32.const 216) ) + (i32.const 216) ) - (if - (i32.and - (local.tee $3 - (i32.load - (i32.const 176) - ) + ) + (if + (i32.and + (local.tee $4 + (i32.load + (i32.const 176) ) - (local.tee $1 - (i32.shl - (i32.const 1) - (local.get $1) - ) + ) + (local.tee $1 + (i32.shl + (i32.const 1) + (local.get $1) ) ) - (block - (local.set $3 - (i32.add - (local.get $2) - (i32.const 8) - ) + ) + (block + (local.set $4 + (i32.add + (local.get $3) + (i32.const 8) ) - (if - (i32.lt_u - (local.tee $1 - (i32.load offset=8 - (local.get $2) - ) - ) - (i32.load - (i32.const 192) + ) + (if + (i32.lt_u + (local.tee $1 + (i32.load offset=224 + (local.get $2) ) ) - (call $_abort) - (block - (local.set $17 - (local.get $3) - ) - (local.set $6 - (local.get $1) - ) + (i32.load + (i32.const 192) ) ) - ) - (block - (i32.store - (i32.const 176) - (i32.or + (call $_abort) + (block + (local.set $17 + (local.get $4) + ) + (local.set $6 (local.get $1) - (local.get $3) ) ) - (local.set $17 - (i32.add - (local.get $2) - (i32.const 8) - ) + ) + ) + (block + (i32.store + (i32.const 176) + (i32.or + (local.get $1) + (local.get $4) ) - (local.set $6 - (local.get $2) + ) + (local.set $17 + (i32.add + (local.get $3) + (i32.const 8) ) ) + (local.set $6 + (local.get $3) + ) ) - (i32.store - (local.get $17) - (local.get $5) - ) - (i32.store offset=12 - (local.get $6) - (local.get $5) - ) - (i32.store offset=8 - (local.get $5) - (local.get $6) - ) - (i32.store offset=12 - (local.get $5) - (local.get $2) - ) - (br $do-once40) ) + (i32.store + (local.get $17) + (local.get $5) + ) + (i32.store offset=12 + (local.get $6) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $6) + ) + (i32.store offset=12 + (local.get $5) + (local.get $3) + ) + (br $do-once40) ) - (local.set $2 - (i32.add - (local.tee $6 - (i32.shl - (local.tee $4 + ) + (local.set $3 + (i32.add + (local.tee $6 + (i32.shl + (local.tee $2 + (if (result i32) + (local.tee $1 + (i32.shr_u + (local.get $10) + (i32.const 8) + ) + ) (if (result i32) - (local.tee $1 - (i32.shr_u - (local.get $10) - (i32.const 8) - ) + (i32.gt_u + (local.get $10) + (i32.const 16777215) ) - (if (result i32) - (i32.gt_u - (local.get $10) - (i32.const 16777215) - ) - (i32.const 31) - (block (result i32) - (local.set $4 - (i32.and - (i32.shr_u - (i32.add - (local.tee $1 - (i32.shl - (local.get $1) - (local.tee $3 - (i32.and - (i32.shr_u - (i32.add - (local.get $1) - (i32.const 1048320) - ) - (i32.const 16) + (i32.const 31) + (block (result i32) + (local.set $2 + (i32.and + (i32.shr_u + (i32.add + (local.tee $1 + (i32.shl + (local.get $1) + (local.tee $4 + (i32.and + (i32.shr_u + (i32.add + (local.get $1) + (i32.const 1048320) ) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) ) - (i32.const 520192) ) - (i32.const 16) + (i32.const 520192) ) - (i32.const 4) + (i32.const 16) ) + (i32.const 4) ) - (local.set $2 - (i32.and - (i32.shr_u - (i32.add - (local.tee $1 - (i32.shl - (local.get $1) - (local.get $4) - ) + ) + (local.set $3 + (i32.and + (i32.shr_u + (i32.add + (local.tee $1 + (i32.shl + (local.get $1) + (local.get $2) ) - (i32.const 245760) ) - (i32.const 16) + (i32.const 245760) ) - (i32.const 2) + (i32.const 16) ) + (i32.const 2) ) - (i32.or - (i32.and - (i32.shr_u - (local.get $10) - (i32.add - (local.tee $1 - (i32.add - (i32.sub - (i32.const 14) + ) + (i32.or + (i32.and + (i32.shr_u + (local.get $10) + (i32.add + (local.tee $1 + (i32.add + (i32.sub + (i32.const 14) + (i32.or (i32.or - (i32.or - (local.get $3) - (local.get $4) - ) (local.get $2) + (local.get $4) ) + (local.get $3) ) - (i32.shr_u - (i32.shl - (local.get $1) - (local.get $2) - ) - (i32.const 15) + ) + (i32.shr_u + (i32.shl + (local.get $1) + (local.get $3) ) + (i32.const 15) ) ) - (i32.const 7) ) + (i32.const 7) ) - (i32.const 1) - ) - (i32.shl - (local.get $1) - (i32.const 1) ) + (i32.const 1) + ) + (i32.shl + (local.get $1) + (i32.const 1) ) ) ) - (i32.const 0) ) + (i32.const 0) ) - (i32.const 2) ) + (i32.const 2) ) - (i32.const 480) ) + (i32.const 480) ) - (i32.store offset=28 - (local.get $5) - (local.get $4) - ) - (i32.store offset=20 - (local.get $5) - (i32.const 0) - ) - (i32.store offset=16 - (local.get $5) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (local.tee $3 - (i32.load - (i32.const 180) - ) - ) - (local.tee $1 - (i32.shl - (i32.const 1) - (local.get $4) - ) + ) + (i32.store offset=28 + (local.get $5) + (local.get $2) + ) + (i32.store offset=20 + (local.get $5) + (i32.const 0) + ) + (i32.store offset=16 + (local.get $5) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (local.tee $4 + (i32.load + (i32.const 180) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (local.get $1) - (local.get $3) + (local.tee $1 + (i32.shl + (i32.const 1) + (local.get $2) ) ) - (i32.store offset=480 - (local.get $6) - (local.get $5) - ) - (i32.store offset=24 - (local.get $5) - (local.get $2) - ) - (i32.store offset=12 - (local.get $5) - (local.get $5) - ) - (i32.store offset=8 - (local.get $5) - (local.get $5) + ) + ) + (block + (i32.store + (i32.const 180) + (i32.or + (local.get $1) + (local.get $4) ) - (br $do-once40) ) + (i32.store offset=480 + (local.get $6) + (local.get $5) + ) + (i32.store offset=24 + (local.get $5) + (local.get $3) + ) + (i32.store offset=12 + (local.get $5) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $5) + ) + (br $do-once40) ) - (local.set $4 - (i32.shl - (local.get $10) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $4) - (i32.const 1) - ) - ) - (i32.eq - (local.get $4) - (i32.const 31) + ) + (local.set $2 + (i32.shl + (local.get $10) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (local.get $2) + (i32.const 1) ) ) + (i32.eq + (local.get $2) + (i32.const 31) + ) ) ) - (local.set $1 - (i32.load offset=480 - (local.get $6) - ) + ) + (local.set $1 + (i32.load offset=480 + (local.get $6) ) - (block $__rjto$9 - (block $__rjti$9 - (loop $while-in74 - (br_if $__rjti$9 - (i32.eq - (i32.and - (i32.load offset=4 - (local.get $1) - ) - (i32.const -8) + ) + (block $__rjto$9 + (block $__rjti$9 + (loop $while-in74 + (br_if $__rjti$9 + (i32.eq + (i32.and + (i32.load offset=4 + (local.get $1) ) - (local.get $10) + (i32.const -8) ) + (local.get $10) ) - (local.set $2 - (i32.shl - (local.get $4) - (i32.const 1) - ) + ) + (local.set $3 + (i32.shl + (local.get $2) + (i32.const 1) ) - (if - (local.tee $3 - (i32.load - (local.tee $4 + ) + (if + (local.tee $4 + (i32.load + (local.tee $2 + (i32.add (i32.add - (i32.add - (local.get $1) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (local.get $4) - (i32.const 31) - ) - (i32.const 2) + (local.get $1) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (local.get $2) + (i32.const 31) ) + (i32.const 2) ) ) ) ) - (block - (local.set $4 - (local.get $2) - ) - (local.set $1 - (local.get $3) - ) - (br $while-in74) - ) ) - ) - (if - (i32.lt_u - (local.get $4) - (i32.load - (i32.const 192) - ) - ) - (call $_abort) (block - (i32.store - (local.get $4) - (local.get $5) - ) - (i32.store offset=24 - (local.get $5) - (local.get $1) - ) - (i32.store offset=12 - (local.get $5) - (local.get $5) + (local.set $2 + (local.get $3) ) - (i32.store offset=8 - (local.get $5) - (local.get $5) + (local.set $1 + (local.get $4) ) - (br $do-once40) + (br $while-in74) ) ) - (br $__rjto$9) ) (if - (i32.and - (i32.ge_u - (local.tee $2 - (i32.load offset=8 - (local.get $1) - ) - ) - (local.tee $3 - (i32.load - (i32.const 192) - ) - ) - ) - (i32.ge_u - (local.get $1) - (local.get $3) + (i32.lt_u + (local.get $2) + (i32.load + (i32.const 192) ) ) + (call $_abort) (block - (i32.store offset=12 + (i32.store (local.get $2) (local.get $5) ) - (i32.store offset=8 + (i32.store offset=24 + (local.get $5) (local.get $1) + ) + (i32.store offset=12 + (local.get $5) (local.get $5) ) (i32.store offset=8 (local.get $5) - (local.get $2) - ) - (i32.store offset=12 (local.get $5) - (local.get $1) ) - (i32.store offset=24 - (local.get $5) - (i32.const 0) + (br $do-once40) + ) + ) + (br $__rjto$9) + ) + (if + (i32.and + (i32.ge_u + (local.tee $3 + (i32.load offset=8 + (local.get $1) + ) + ) + (local.tee $4 + (i32.load + (i32.const 192) + ) ) ) - (call $_abort) + (i32.ge_u + (local.get $1) + (local.get $4) + ) + ) + (block + (i32.store offset=12 + (local.get $3) + (local.get $5) + ) + (i32.store offset=8 + (local.get $1) + (local.get $5) + ) + (i32.store offset=8 + (local.get $5) + (local.get $3) + ) + (i32.store offset=12 + (local.get $5) + (local.get $1) + ) + (i32.store offset=24 + (local.get $5) + (i32.const 0) + ) ) + (call $_abort) ) ) ) ) - (block - (if - (i32.or - (i32.eqz - (local.tee $2 - (i32.load - (i32.const 192) - ) + ) + (block + (if + (i32.or + (i32.eqz + (local.tee $3 + (i32.load + (i32.const 192) ) ) - (i32.lt_u - (local.get $1) - (local.get $2) - ) ) - (i32.store - (i32.const 192) + (i32.lt_u (local.get $1) + (local.get $3) ) ) (i32.store - (i32.const 624) + (i32.const 192) (local.get $1) ) - (i32.store - (i32.const 628) - (local.get $3) - ) - (i32.store - (i32.const 636) - (i32.const 0) + ) + (i32.store + (i32.const 624) + (local.get $1) + ) + (i32.store + (i32.const 628) + (local.get $4) + ) + (i32.store + (i32.const 636) + (i32.const 0) + ) + (i32.store + (i32.const 212) + (i32.load + (i32.const 648) ) - (i32.store - (i32.const 212) - (i32.load - (i32.const 648) + ) + (i32.store + (i32.const 208) + (i32.const -1) + ) + (local.set $3 + (i32.const 0) + ) + (loop $while-in43 + (local.set $2 + (i32.add + (local.tee $6 + (i32.shl + (local.get $3) + (i32.const 3) + ) + ) + (i32.const 216) ) ) - (i32.store - (i32.const 208) - (i32.const -1) + (i32.store offset=228 + (local.get $6) + (local.get $2) ) - (local.set $2 - (i32.const 0) + (i32.store offset=224 + (local.get $6) + (local.get $2) ) - (loop $while-in43 - (i32.store offset=12 - (local.tee $4 + (br_if $while-in43 + (i32.ne + (local.tee $3 (i32.add - (i32.shl - (local.get $2) - (i32.const 3) - ) - (i32.const 216) - ) - ) - (local.get $4) - ) - (i32.store offset=8 - (local.get $4) - (local.get $4) - ) - (br_if $while-in43 - (i32.ne - (local.tee $2 - (i32.add - (local.get $2) - (i32.const 1) - ) + (local.get $3) + (i32.const 1) ) - (i32.const 32) ) + (i32.const 32) ) ) - (i32.store - (i32.const 200) - (local.tee $4 - (i32.add - (local.tee $2 - (select - (i32.and - (i32.sub - (i32.const 0) - (local.tee $2 - (i32.add - (local.get $1) - (i32.const 8) - ) + ) + (i32.store + (i32.const 200) + (local.tee $2 + (i32.add + (local.tee $3 + (select + (i32.and + (i32.sub + (i32.const 0) + (local.tee $3 + (i32.add + (local.get $1) + (i32.const 8) ) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $2) - (i32.const 7) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (local.get $3) + (i32.const 7) ) ) - (local.get $1) ) + (local.get $1) ) ) - (i32.store - (i32.const 188) - (local.tee $1 - (i32.sub - (i32.add - (local.get $3) - (i32.const -40) - ) - (local.get $2) + ) + (i32.store + (i32.const 188) + (local.tee $1 + (i32.sub + (i32.add + (local.get $4) + (i32.const -40) ) + (local.get $3) ) ) - (i32.store offset=4 - (local.get $4) - (i32.or - (local.get $1) - (i32.const 1) - ) - ) - (i32.store offset=4 - (i32.add - (local.get $1) - (local.get $4) - ) - (i32.const 40) + ) + (i32.store offset=4 + (local.get $2) + (i32.or + (local.get $1) + (i32.const 1) ) - (i32.store - (i32.const 204) - (i32.load - (i32.const 664) - ) + ) + (i32.store offset=4 + (i32.add + (local.get $1) + (local.get $2) ) + (i32.const 40) ) - ) - (br_if $folding-inner0 - (i32.gt_u - (local.tee $1 - (i32.load - (i32.const 188) - ) + (i32.store + (i32.const 204) + (i32.load + (i32.const 664) ) - (local.get $0) ) ) ) - (i32.store - (call $___errno_location) - (i32.const 12) - ) - (return - (i32.const 0) - ) - ) - (i32.store - (i32.const 188) - (local.tee $3 - (i32.sub - (local.get $1) - (local.get $0) - ) - ) - ) - (i32.store - (i32.const 200) - (local.tee $1 - (i32.add - (local.tee $2 + (br_if $folding-inner0 + (i32.gt_u + (local.tee $1 (i32.load - (i32.const 200) + (i32.const 188) ) ) (local.get $0) ) ) ) - (i32.store offset=4 - (local.get $1) - (i32.or - (local.get $3) - (i32.const 1) + (i32.store + (call $___errno_location) + (i32.const 12) + ) + (return + (i32.const 0) + ) + ) + (i32.store + (i32.const 188) + (local.tee $4 + (i32.sub + (local.get $1) + (local.get $0) ) ) - (i32.store offset=4 - (local.get $2) - (i32.or + ) + (i32.store + (i32.const 200) + (local.tee $1 + (i32.add + (local.tee $3 + (i32.load + (i32.const 200) + ) + ) (local.get $0) - (i32.const 3) ) ) ) + (i32.store offset=4 + (local.get $1) + (i32.or + (local.get $4) + (i32.const 1) + ) + ) + (i32.store offset=4 + (local.get $3) + (i32.or + (local.get $0) + (i32.const 3) + ) + ) (i32.add - (local.get $2) + (local.get $3) (i32.const 8) ) ) @@ -12734,7 +12748,7 @@ (i32.eq (local.tee $4 (i32.and - (local.tee $8 + (local.tee $9 (i32.load (i32.add (local.get $0) @@ -12754,7 +12768,7 @@ (local.get $1) (local.tee $0 (i32.and - (local.get $8) + (local.get $9) (i32.const -8) ) ) @@ -12762,7 +12776,7 @@ ) (if (i32.and - (local.get $8) + (local.get $9) (i32.const 1) ) (block @@ -12785,7 +12799,7 @@ (local.tee $1 (i32.sub (local.get $1) - (local.tee $8 + (local.tee $9 (i32.load (local.get $1) ) @@ -12799,7 +12813,7 @@ (local.set $0 (i32.add (local.get $0) - (local.get $8) + (local.get $9) ) ) (if @@ -12862,13 +12876,13 @@ ) (local.set $4 (i32.shr_u - (local.get $8) + (local.get $9) (i32.const 3) ) ) (if (i32.lt_u - (local.get $8) + (local.get $9) (i32.const 256) ) (block @@ -13016,7 +13030,7 @@ (block $do-once0 (local.set $5 (i32.add - (local.tee $8 + (local.tee $9 (i32.add (local.get $1) (i32.const 16) @@ -13028,8 +13042,8 @@ (if (i32.eqz (local.tee $4 - (i32.load offset=4 - (local.get $8) + (i32.load offset=20 + (local.get $1) ) ) ) @@ -13044,7 +13058,7 @@ ) ) (local.set $5 - (local.get $8) + (local.get $9) ) ) ) @@ -13056,14 +13070,14 @@ ) ) (if - (local.tee $8 + (local.tee $9 (i32.load offset=20 (local.get $4) ) ) (block (local.set $4 - (local.get $8) + (local.get $9) ) (local.set $5 (local.get $13) @@ -13078,14 +13092,14 @@ ) ) (if - (local.tee $8 + (local.tee $9 (i32.load offset=16 (local.get $4) ) ) (block (local.set $4 - (local.get $8) + (local.get $9) ) (local.set $5 (local.get $13) @@ -13293,11 +13307,8 @@ ) (if (local.tee $5 - (i32.load offset=4 - (i32.add - (local.get $1) - (i32.const 16) - ) + (i32.load offset=20 + (local.get $1) ) ) (if @@ -13654,8 +13665,8 @@ (if (i32.eqz (local.tee $2 - (i32.load offset=4 - (local.get $1) + (i32.load offset=20 + (local.get $7) ) ) ) @@ -13733,7 +13744,7 @@ (local.get $0) (i32.const 0) ) - (local.set $9 + (local.set $8 (local.get $2) ) ) @@ -13778,7 +13789,7 @@ (local.get $0) (local.get $2) ) - (local.set $9 + (local.set $8 (local.get $0) ) ) @@ -13808,11 +13819,11 @@ (block (i32.store offset=480 (local.get $2) - (local.get $9) + (local.get $8) ) (if (i32.eqz - (local.get $9) + (local.get $8) ) (block (i32.store @@ -13853,23 +13864,23 @@ ) (i32.store offset=16 (local.get $6) - (local.get $9) + (local.get $8) ) (i32.store offset=20 (local.get $6) - (local.get $9) + (local.get $8) ) ) (br_if $do-once4 (i32.eqz - (local.get $9) + (local.get $8) ) ) ) ) (if (i32.lt_u - (local.get $9) + (local.get $8) (local.tee $0 (i32.load (i32.const 192) @@ -13879,7 +13890,7 @@ (call $_abort) ) (i32.store offset=24 - (local.get $9) + (local.get $8) (local.get $6) ) (if @@ -13896,23 +13907,20 @@ (call $_abort) (block (i32.store offset=16 - (local.get $9) + (local.get $8) (local.get $2) ) (i32.store offset=24 (local.get $2) - (local.get $9) + (local.get $8) ) ) ) ) (if (local.tee $0 - (i32.load offset=4 - (i32.add - (local.get $7) - (i32.const 16) - ) + (i32.load offset=20 + (local.get $7) ) ) (if @@ -13925,12 +13933,12 @@ (call $_abort) (block (i32.store offset=20 - (local.get $9) + (local.get $8) (local.get $0) ) (i32.store offset=24 (local.get $0) - (local.get $9) + (local.get $8) ) ) ) @@ -13988,9 +13996,11 @@ (block (local.set $1 (i32.add - (i32.shl - (local.get $0) - (i32.const 3) + (local.tee $5 + (i32.shl + (local.get $0) + (i32.const 3) + ) ) (i32.const 216) ) @@ -14019,8 +14029,8 @@ (if (i32.lt_u (local.tee $0 - (i32.load offset=8 - (local.get $1) + (i32.load offset=224 + (local.get $5) ) ) (i32.load diff --git a/test/memorygrowth.fromasm b/test/memorygrowth.fromasm index 570b9938d..8d0a6f368 100644 --- a/test/memorygrowth.fromasm +++ b/test/memorygrowth.fromasm @@ -293,7 +293,7 @@ (if (result i32) (i32.gt_u (local.get $2) - (local.tee $14 + (local.tee $15 (i32.load (i32.const 1216) ) @@ -388,13 +388,13 @@ (local.tee $4 (i32.add (i32.shl - (local.tee $16 + (local.tee $14 (i32.add (i32.or (local.tee $4 (i32.and (i32.shr_u - (local.tee $15 + (local.tee $16 (i32.shr_u (local.get $4) (local.get $10) @@ -417,7 +417,7 @@ ) ) (i32.shr_u - (local.get $15) + (local.get $16) (local.get $4) ) ) @@ -456,7 +456,7 @@ (i32.xor (i32.shl (i32.const 1) - (local.get $16) + (local.get $14) ) (i32.const -1) ) @@ -464,7 +464,7 @@ ) ) (local.set $34 - (local.get $14) + (local.get $15) ) ) (block @@ -514,7 +514,7 @@ ) ) (i32.store offset=4 - (local.tee $15 + (local.tee $16 (i32.add (local.get $2) (local.get $10) @@ -524,7 +524,7 @@ (local.tee $7 (i32.sub (i32.shl - (local.get $16) + (local.get $14) (i32.const 3) ) (local.get $2) @@ -536,7 +536,7 @@ (i32.store (i32.add (local.get $7) - (local.get $15) + (local.get $16) ) (local.get $7) ) @@ -551,7 +551,7 @@ (local.set $1 (i32.add (i32.shl - (local.tee $14 + (local.tee $15 (i32.shr_u (local.get $34) (i32.const 3) @@ -572,7 +572,7 @@ (local.tee $5 (i32.shl (i32.const 1) - (local.get $14) + (local.get $15) ) ) ) @@ -648,7 +648,7 @@ ) (i32.store (i32.const 1228) - (local.get $15) + (local.get $16) ) (global.set $r (local.get $25) @@ -659,13 +659,13 @@ ) ) (if (result i32) - (local.tee $15 + (local.tee $16 (i32.load (i32.const 1212) ) ) (block - (local.set $15 + (local.set $16 (i32.and (i32.shr_u (local.tee $7 @@ -673,9 +673,9 @@ (i32.and (i32.sub (i32.const 0) - (local.get $15) + (local.get $16) ) - (local.get $15) + (local.get $16) ) (i32.const -1) ) @@ -691,7 +691,7 @@ (local.tee $1 (i32.shr_u (local.get $7) - (local.get $15) + (local.get $16) ) ) (i32.const 5) @@ -731,7 +731,7 @@ (i32.sub (i32.and (i32.load offset=4 - (local.tee $14 + (local.tee $15 (i32.load (i32.add (i32.shl @@ -757,7 +757,7 @@ (local.get $1) (i32.or (local.get $7) - (local.get $15) + (local.get $16) ) ) ) @@ -781,25 +781,25 @@ ) (local.set $4 (local.tee $5 - (local.get $14) + (local.get $15) ) ) (loop $while-in (block $while-out (local.set $1 (i32.lt_u - (local.tee $14 + (local.tee $15 (i32.sub (i32.and (i32.load offset=4 (local.tee $5 (if (result i32) - (local.tee $14 + (local.tee $15 (i32.load offset=16 (local.get $5) ) ) - (local.get $14) + (local.get $15) (if (result i32) (local.tee $1 (i32.load offset=20 @@ -830,7 +830,7 @@ ) (local.set $0 (select - (local.get $14) + (local.get $15) (local.get $0) (local.get $1) ) @@ -890,14 +890,14 @@ ) ) (if - (local.tee $16 + (local.tee $14 (i32.load offset=20 (local.get $6) ) ) (block - (local.set $14 - (local.get $16) + (local.set $15 + (local.get $14) ) (local.set $1 (local.get $10) @@ -912,7 +912,7 @@ ) (br_if $do-once4 (i32.eqz - (local.tee $14 + (local.tee $15 (i32.load offset=16 (local.get $6) ) @@ -924,19 +924,19 @@ (loop $while-in7 (local.set $10 (i32.add - (local.get $14) + (local.get $15) (i32.const 20) ) ) (if - (local.tee $16 + (local.tee $14 (i32.load offset=20 - (local.get $14) + (local.get $15) ) ) (block - (local.set $14 - (local.get $16) + (local.set $15 + (local.get $14) ) (local.set $1 (local.get $10) @@ -946,19 +946,19 @@ ) (local.set $10 (i32.add - (local.get $14) + (local.get $15) (i32.const 16) ) ) (if - (local.tee $16 + (local.tee $14 (i32.load offset=16 - (local.get $14) + (local.get $15) ) ) (block - (local.set $14 - (local.get $16) + (local.set $15 + (local.get $14) ) (local.set $1 (local.get $10) @@ -979,7 +979,7 @@ (i32.const 0) ) (local.set $21 - (local.get $14) + (local.get $15) ) ) ) @@ -1412,7 +1412,7 @@ (i32.eq (local.tee $8 (if (result i32) - (local.tee $15 + (local.tee $16 (i32.load (i32.add (i32.shl @@ -1435,7 +1435,7 @@ (i32.and (i32.shr_u (i32.add - (local.tee $16 + (local.tee $14 (i32.shl (local.get $8) (local.tee $4 @@ -1464,18 +1464,18 @@ (i32.shr_u (local.get $0) (i32.add - (local.tee $15 + (local.tee $16 (i32.add (i32.sub (i32.const 14) (i32.or - (local.tee $16 + (local.tee $14 (i32.and (i32.shr_u (i32.add - (local.tee $14 + (local.tee $15 (i32.shl - (local.get $16) + (local.get $14) (local.get $8) ) ) @@ -1494,8 +1494,8 @@ ) (i32.shr_u (i32.shl + (local.get $15) (local.get $14) - (local.get $16) ) (i32.const 15) ) @@ -1507,7 +1507,7 @@ (i32.const 1) ) (i32.shl - (local.get $15) + (local.get $16) (i32.const 1) ) ) @@ -1523,10 +1523,10 @@ ) ) (block $label$break$a (result i32) - (local.set $16 + (local.set $14 (local.get $1) ) - (local.set $14 + (local.set $15 (i32.const 0) ) (local.set $4 @@ -1549,7 +1549,7 @@ ) ) (local.set $8 - (local.get $15) + (local.get $16) ) (loop $while-in14 (result i32) (if @@ -1567,7 +1567,7 @@ (local.get $0) ) ) - (local.get $16) + (local.get $14) ) (local.set $7 (if (result i32) @@ -1590,7 +1590,7 @@ ) ) (block (result i32) - (local.set $16 + (local.set $14 (local.get $5) ) (local.get $8) @@ -1600,7 +1600,7 @@ ) (local.set $2 (select - (local.get $14) + (local.get $15) (local.tee $5 (i32.load offset=20 (local.get $8) @@ -1641,7 +1641,7 @@ ) (block (result i32) (local.set $37 - (local.get $16) + (local.get $14) ) (local.set $30 (local.get $2) @@ -1652,7 +1652,7 @@ (i32.const 86) ) (block - (local.set $14 + (local.set $15 (local.get $2) ) (local.set $4 @@ -1700,14 +1700,14 @@ (i32.or (i32.sub (i32.const 0) - (local.tee $15 + (local.tee $16 (i32.shl (i32.const 2) (local.get $21) ) ) ) - (local.get $15) + (local.get $16) ) (local.get $10) ) @@ -1718,7 +1718,7 @@ (local.set $1 (i32.and (i32.shr_u - (local.tee $15 + (local.tee $16 (i32.add (i32.and (i32.sub @@ -1735,12 +1735,12 @@ (i32.const 16) ) ) - (local.set $15 + (local.set $16 (i32.and (i32.shr_u (local.tee $2 (i32.shr_u - (local.get $15) + (local.get $16) (local.get $1) ) ) @@ -1755,7 +1755,7 @@ (local.tee $5 (i32.shr_u (local.get $2) - (local.get $15) + (local.get $16) ) ) (i32.const 2) @@ -1803,7 +1803,7 @@ (local.get $2) (i32.or (local.get $1) - (local.get $15) + (local.get $16) ) ) ) @@ -1997,13 +1997,13 @@ ) ) (block (result i32) - (local.set $14 + (local.set $15 (local.get $1) ) (local.get $2) ) (block (result i32) - (local.set $15 + (local.set $16 (i32.add (local.get $9) (i32.const 16) @@ -2011,32 +2011,32 @@ ) (br_if $do-once17 (i32.eqz - (local.tee $14 + (local.tee $15 (i32.load offset=16 (local.get $9) ) ) ) ) - (local.get $15) + (local.get $16) ) ) ) (loop $while-in20 (local.set $2 (i32.add - (local.get $14) + (local.get $15) (i32.const 20) ) ) (if (local.tee $1 (i32.load offset=20 - (local.get $14) + (local.get $15) ) ) (block - (local.set $14 + (local.set $15 (local.get $1) ) (local.set $3 @@ -2047,18 +2047,18 @@ ) (local.set $2 (i32.add - (local.get $14) + (local.get $15) (i32.const 16) ) ) (if (local.tee $1 (i32.load offset=16 - (local.get $14) + (local.get $15) ) ) (block - (local.set $14 + (local.set $15 (local.get $1) ) (local.set $3 @@ -2079,8 +2079,8 @@ (local.get $3) (i32.const 0) ) - (local.set $23 - (local.get $14) + (local.set $22 + (local.get $15) ) ) ) @@ -2128,7 +2128,7 @@ (local.get $3) (local.get $2) ) - (local.set $23 + (local.set $22 (local.get $4) ) ) @@ -2161,11 +2161,11 @@ (block (i32.store (local.get $10) - (local.get $23) + (local.get $22) ) (if (i32.eqz - (local.get $23) + (local.get $22) ) (block (i32.store @@ -2209,23 +2209,23 @@ ) (i32.store offset=16 (local.get $2) - (local.get $23) + (local.get $22) ) (i32.store offset=20 (local.get $5) - (local.get $23) + (local.get $22) ) ) (br_if $do-once21 (i32.eqz - (local.get $23) + (local.get $22) ) ) ) ) (if (i32.lt_u - (local.get $23) + (local.get $22) (local.tee $4 (i32.load (i32.const 1224) @@ -2235,7 +2235,7 @@ (call $qa) ) (i32.store offset=24 - (local.get $23) + (local.get $22) (local.get $5) ) (if @@ -2252,12 +2252,12 @@ (call $qa) (block (i32.store offset=16 - (local.get $23) + (local.get $22) (local.get $10) ) (i32.store offset=24 (local.get $10) - (local.get $23) + (local.get $22) ) ) ) @@ -2278,12 +2278,12 @@ (call $qa) (block (i32.store offset=20 - (local.get $23) + (local.get $22) (local.get $10) ) (i32.store offset=24 (local.get $10) - (local.get $23) + (local.get $22) ) ) ) @@ -2448,10 +2448,10 @@ (br $do-once25) ) ) - (local.set $15 + (local.set $16 (i32.add (i32.shl - (local.tee $16 + (local.tee $14 (if (result i32) (local.tee $5 (i32.shr_u @@ -2499,7 +2499,7 @@ (i32.shr_u (local.get $18) (i32.add - (local.tee $15 + (local.tee $16 (i32.add (i32.sub (i32.const 14) @@ -2542,7 +2542,7 @@ (i32.const 1) ) (i32.shl - (local.get $15) + (local.get $16) (i32.const 1) ) ) @@ -2558,13 +2558,10 @@ ) (i32.store offset=28 (local.get $7) - (local.get $16) + (local.get $14) ) - (i32.store offset=4 - (i32.add - (local.get $7) - (i32.const 16) - ) + (i32.store offset=20 + (local.get $7) (i32.const 0) ) (i32.store offset=16 @@ -2582,7 +2579,7 @@ (local.tee $10 (i32.shl (i32.const 1) - (local.get $16) + (local.get $14) ) ) ) @@ -2596,12 +2593,12 @@ ) ) (i32.store - (local.get $15) + (local.get $16) (local.get $7) ) (i32.store offset=24 (local.get $7) - (local.get $15) + (local.get $16) ) (i32.store offset=12 (local.get $7) @@ -2622,12 +2619,12 @@ (i32.sub (i32.const 25) (i32.shr_u - (local.get $16) + (local.get $14) (i32.const 1) ) ) (i32.eq - (local.get $16) + (local.get $14) (i32.const 31) ) ) @@ -2635,7 +2632,7 @@ ) (local.set $2 (i32.load - (local.get $15) + (local.get $16) ) ) (if @@ -2665,7 +2662,7 @@ (if (result i32) (local.tee $4 (i32.load - (local.tee $15 + (local.tee $16 (i32.add (i32.add (local.get $2) @@ -2695,8 +2692,8 @@ (br $while-in28) ) (block (result i32) - (local.set $22 - (local.get $15) + (local.set $23 + (local.get $16) ) (local.set $13 (local.get $2) @@ -2711,7 +2708,7 @@ ) (if (i32.lt_u - (local.get $22) + (local.get $23) (i32.load (i32.const 1224) ) @@ -2719,7 +2716,7 @@ (call $qa) (block (i32.store - (local.get $22) + (local.get $23) (local.get $7) ) (i32.store offset=24 @@ -2843,7 +2840,7 @@ (block (i32.store (i32.const 1228) - (local.tee $22 + (local.tee $23 (i32.add (local.get $4) (local.get $13) @@ -2855,7 +2852,7 @@ (local.get $19) ) (i32.store offset=4 - (local.get $22) + (local.get $23) (i32.or (local.get $19) (i32.const 1) @@ -2864,7 +2861,7 @@ (i32.store (i32.add (local.get $19) - (local.get $22) + (local.get $23) ) (local.get $19) ) @@ -3035,7 +3032,7 @@ ) ) ) - (local.tee $22 + (local.tee $23 (i32.sub (i32.const 0) (local.get $12) @@ -3066,14 +3063,14 @@ (local.tee $6 (i32.add (local.get $12) - (local.tee $16 + (local.tee $14 (i32.load (i32.const 1640) ) ) ) ) - (local.get $16) + (local.get $14) ) (i32.gt_u (local.get $6) @@ -3118,7 +3115,7 @@ (block $while-out31 (if (i32.le_u - (local.tee $16 + (local.tee $14 (i32.load (local.get $6) ) @@ -3138,7 +3135,7 @@ (i32.load offset=4 (local.get $6) ) - (local.get $16) + (local.get $14) ) (local.get $18) ) @@ -3171,7 +3168,7 @@ (i32.lt_u (local.tee $6 (i32.and - (local.get $22) + (local.get $23) (i32.sub (local.get $9) (i32.load @@ -4008,7 +4005,7 @@ (i32.const 1248) ) ) - (local.tee $22 + (local.tee $23 (i32.load offset=8 (local.get $1) ) @@ -4017,7 +4014,7 @@ (block $do-once47 (if (i32.lt_u - (local.get $22) + (local.get $23) (local.get $7) ) (call $qa) @@ -4026,7 +4023,7 @@ (i32.eq (local.get $1) (i32.load offset=12 - (local.get $22) + (local.get $23) ) ) ) @@ -4036,7 +4033,7 @@ (if (i32.eq (local.get $9) - (local.get $22) + (local.get $23) ) (block (i32.store @@ -4100,12 +4097,12 @@ ) ) (i32.store offset=12 - (local.get $22) + (local.get $23) (local.get $9) ) (i32.store (local.get $43) - (local.get $22) + (local.get $23) ) ) (block @@ -4141,7 +4138,7 @@ ) (local.set $0 (if (result i32) - (local.tee $16 + (local.tee $14 (i32.load offset=4 (local.get $2) ) @@ -4150,10 +4147,10 @@ (local.set $2 (local.get $6) ) - (local.get $16) + (local.get $14) ) (if (result i32) - (local.tee $23 + (local.tee $22 (i32.load offset=16 (local.get $0) ) @@ -4162,7 +4159,7 @@ (local.set $2 (local.get $18) ) - (local.get $23) + (local.get $22) ) (br $do-once51) ) @@ -4176,14 +4173,14 @@ ) ) (if - (local.tee $16 + (local.tee $14 (i32.load offset=20 (local.get $0) ) ) (block (local.set $0 - (local.get $16) + (local.get $14) ) (local.set $2 (local.get $6) @@ -4198,14 +4195,14 @@ ) ) (if - (local.tee $16 + (local.tee $14 (i32.load offset=16 (local.get $0) ) ) (block (local.set $0 - (local.get $16) + (local.get $14) ) (local.set $2 (local.get $6) @@ -4290,7 +4287,7 @@ (if (i32.eq (i32.load - (local.tee $22 + (local.tee $23 (i32.add (i32.shl (local.tee $0 @@ -4308,7 +4305,7 @@ ) (block $do-once55 (i32.store - (local.get $22) + (local.get $23) (local.get $24) ) (br_if $do-once55 @@ -4382,11 +4379,8 @@ (local.get $24) (local.get $17) ) - (local.set $22 - (i32.add - (local.get $1) - (i32.const 16) - ) + (local.set $2 + (local.get $1) ) (if (local.tee $9 @@ -4415,8 +4409,8 @@ (br_if $label$break$e (i32.eqz (local.tee $9 - (i32.load offset=4 - (local.get $22) + (i32.load offset=20 + (local.get $2) ) ) ) @@ -4695,11 +4689,8 @@ (local.get $3) (local.get $1) ) - (i32.store offset=4 - (i32.add - (local.get $3) - (i32.const 16) - ) + (i32.store offset=20 + (local.get $3) (i32.const 0) ) (i32.store offset=16 @@ -4983,45 +4974,47 @@ (local.set $3 (i32.add (local.tee $5 - (local.tee $19 - (select - (local.get $11) - (local.tee $3 - (i32.add - (select - (i32.and - (i32.sub - (i32.const 0) - (local.tee $13 - (i32.add - (local.tee $19 - (i32.add - (local.get $0) - (i32.const -47) + (local.tee $14 + (local.tee $19 + (select + (local.get $11) + (local.tee $3 + (i32.add + (select + (i32.and + (i32.sub + (i32.const 0) + (local.tee $13 + (i32.add + (local.tee $19 + (i32.add + (local.get $0) + (i32.const -47) + ) ) + (i32.const 8) ) - (i32.const 8) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (local.get $13) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $13) - (i32.const 7) ) + (local.get $19) ) - (local.get $19) ) - ) - (i32.lt_u - (local.get $3) - (i32.add - (local.tee $7 - (local.get $11) + (i32.lt_u + (local.get $3) + (i32.add + (local.tee $7 + (local.get $11) + ) + (i32.const 16) ) - (i32.const 16) ) ) ) @@ -5099,25 +5092,25 @@ (i32.const 27) ) (i32.store offset=8 - (local.get $5) + (local.get $14) (i32.load (i32.const 1656) ) ) - (i32.store offset=4 - (local.get $3) + (i32.store offset=12 + (local.get $5) (i32.load (i32.const 1660) ) ) - (i32.store offset=8 - (local.get $3) + (i32.store offset=16 + (local.get $5) (i32.load (i32.const 1664) ) ) - (i32.store offset=12 - (local.get $3) + (i32.store offset=20 + (local.get $5) (i32.load (i32.const 1668) ) @@ -6466,10 +6459,7 @@ (local.get $10) ) (local.set $4 - (i32.add - (local.get $1) - (i32.const 16) - ) + (local.get $1) ) (if (local.tee $6 @@ -6497,7 +6487,7 @@ ) (if (local.tee $6 - (i32.load offset=4 + (i32.load offset=20 (local.get $4) ) ) @@ -7107,16 +7097,13 @@ (local.get $11) (local.get $12) ) - (local.set $7 - (i32.add - (local.get $8) - (i32.const 16) - ) + (local.set $0 + (local.get $8) ) (if (local.tee $1 (i32.load offset=16 - (local.get $8) + (local.get $0) ) ) (if @@ -7139,8 +7126,8 @@ ) (if (local.tee $1 - (i32.load offset=4 - (local.get $7) + (i32.load offset=20 + (local.get $0) ) ) (if @@ -7694,7 +7681,7 @@ (local $13 i32) (local $14 i32) (local $15 i32) - (local.set $6 + (local.set $4 (global.get $r) ) (global.set $r @@ -7703,30 +7690,25 @@ (i32.const 48) ) ) - (local.set $9 + (local.set $13 (i32.add - (local.get $6) + (local.get $4) (i32.const 16) ) ) (local.set $8 - (local.get $6) + (local.get $4) ) (i32.store offset=32 - (local.get $6) + (local.get $4) (local.tee $3 (i32.load offset=28 (local.get $0) ) ) ) - (i32.store offset=4 - (local.tee $4 - (i32.add - (local.get $6) - (i32.const 32) - ) - ) + (i32.store offset=36 + (local.get $4) (local.tee $7 (i32.sub (i32.load offset=20 @@ -7736,24 +7718,27 @@ ) ) ) - (i32.store offset=8 + (i32.store offset=40 (local.get $4) (local.get $1) ) - (i32.store offset=12 + (i32.store offset=44 (local.get $4) (local.get $2) ) - (local.set $11 + (local.set $10 (local.get $0) ) - (local.set $12 + (local.set $11 (local.get $0) ) (local.set $1 - (local.get $4) + (i32.add + (local.get $4) + (i32.const 32) + ) ) - (local.set $4 + (local.set $6 (i32.const 2) ) (local.set $3 @@ -7780,7 +7765,7 @@ (i32.store (local.get $8) (i32.load offset=60 - (local.get $11) + (local.get $10) ) ) (i32.store offset=4 @@ -7789,7 +7774,7 @@ ) (i32.store offset=8 (local.get $8) - (local.get $4) + (local.get $6) ) (local.set $7 (call $Pa @@ -7806,23 +7791,23 @@ ) (block (result i32) (i32.store offset=16 - (local.get $6) + (local.get $4) (i32.load offset=60 - (local.get $11) + (local.get $10) ) ) - (i32.store offset=4 - (local.get $9) + (i32.store offset=20 + (local.get $4) (local.get $1) ) - (i32.store offset=8 - (local.get $9) + (i32.store offset=24 (local.get $4) + (local.get $6) ) (call $Pa (call $ya (i32.const 146) - (local.get $9) + (local.get $13) ) ) ) @@ -7846,7 +7831,7 @@ (local.get $1) ) (local.set $15 - (local.get $4) + (local.get $6) ) (local.set $1 (i32.const 8) @@ -7863,7 +7848,7 @@ (if (i32.gt_u (local.get $5) - (local.tee $10 + (local.tee $9 (i32.load offset=4 (local.get $1) ) @@ -7874,7 +7859,7 @@ (local.get $0) (local.tee $3 (i32.load offset=44 - (local.get $12) + (local.get $11) ) ) ) @@ -7890,7 +7875,7 @@ (local.set $5 (i32.sub (local.get $5) - (local.get $10) + (local.get $9) ) ) (local.set $1 @@ -7899,9 +7884,9 @@ (i32.const 8) ) ) - (local.set $4 + (local.set $6 (i32.add - (local.get $4) + (local.get $6) (i32.const -1) ) ) @@ -7909,7 +7894,7 @@ (block (if (i32.eq - (local.get $4) + (local.get $6) (i32.const 2) ) (block @@ -7922,13 +7907,13 @@ ) ) ) - (local.set $4 + (local.set $6 (i32.const 2) ) ) ) (local.set $3 - (local.get $10) + (local.get $9) ) ) ) @@ -7954,7 +7939,7 @@ (br $while-in) ) ) - (local.set $13 + (local.set $12 (if (result i32) (i32.eq (local.get $1) @@ -7966,7 +7951,7 @@ (i32.add (local.tee $3 (i32.load offset=44 - (local.get $12) + (local.get $11) ) ) (i32.load offset=48 @@ -8025,14 +8010,14 @@ ) ) ) - (local.get $13) + (local.get $12) ) ) ) (global.set $r - (local.get $6) + (local.get $4) ) - (local.get $13) + (local.get $12) ) (func $Wa (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) diff --git a/test/memorygrowth.fromasm.clamp b/test/memorygrowth.fromasm.clamp index 570b9938d..8d0a6f368 100644 --- a/test/memorygrowth.fromasm.clamp +++ b/test/memorygrowth.fromasm.clamp @@ -293,7 +293,7 @@ (if (result i32) (i32.gt_u (local.get $2) - (local.tee $14 + (local.tee $15 (i32.load (i32.const 1216) ) @@ -388,13 +388,13 @@ (local.tee $4 (i32.add (i32.shl - (local.tee $16 + (local.tee $14 (i32.add (i32.or (local.tee $4 (i32.and (i32.shr_u - (local.tee $15 + (local.tee $16 (i32.shr_u (local.get $4) (local.get $10) @@ -417,7 +417,7 @@ ) ) (i32.shr_u - (local.get $15) + (local.get $16) (local.get $4) ) ) @@ -456,7 +456,7 @@ (i32.xor (i32.shl (i32.const 1) - (local.get $16) + (local.get $14) ) (i32.const -1) ) @@ -464,7 +464,7 @@ ) ) (local.set $34 - (local.get $14) + (local.get $15) ) ) (block @@ -514,7 +514,7 @@ ) ) (i32.store offset=4 - (local.tee $15 + (local.tee $16 (i32.add (local.get $2) (local.get $10) @@ -524,7 +524,7 @@ (local.tee $7 (i32.sub (i32.shl - (local.get $16) + (local.get $14) (i32.const 3) ) (local.get $2) @@ -536,7 +536,7 @@ (i32.store (i32.add (local.get $7) - (local.get $15) + (local.get $16) ) (local.get $7) ) @@ -551,7 +551,7 @@ (local.set $1 (i32.add (i32.shl - (local.tee $14 + (local.tee $15 (i32.shr_u (local.get $34) (i32.const 3) @@ -572,7 +572,7 @@ (local.tee $5 (i32.shl (i32.const 1) - (local.get $14) + (local.get $15) ) ) ) @@ -648,7 +648,7 @@ ) (i32.store (i32.const 1228) - (local.get $15) + (local.get $16) ) (global.set $r (local.get $25) @@ -659,13 +659,13 @@ ) ) (if (result i32) - (local.tee $15 + (local.tee $16 (i32.load (i32.const 1212) ) ) (block - (local.set $15 + (local.set $16 (i32.and (i32.shr_u (local.tee $7 @@ -673,9 +673,9 @@ (i32.and (i32.sub (i32.const 0) - (local.get $15) + (local.get $16) ) - (local.get $15) + (local.get $16) ) (i32.const -1) ) @@ -691,7 +691,7 @@ (local.tee $1 (i32.shr_u (local.get $7) - (local.get $15) + (local.get $16) ) ) (i32.const 5) @@ -731,7 +731,7 @@ (i32.sub (i32.and (i32.load offset=4 - (local.tee $14 + (local.tee $15 (i32.load (i32.add (i32.shl @@ -757,7 +757,7 @@ (local.get $1) (i32.or (local.get $7) - (local.get $15) + (local.get $16) ) ) ) @@ -781,25 +781,25 @@ ) (local.set $4 (local.tee $5 - (local.get $14) + (local.get $15) ) ) (loop $while-in (block $while-out (local.set $1 (i32.lt_u - (local.tee $14 + (local.tee $15 (i32.sub (i32.and (i32.load offset=4 (local.tee $5 (if (result i32) - (local.tee $14 + (local.tee $15 (i32.load offset=16 (local.get $5) ) ) - (local.get $14) + (local.get $15) (if (result i32) (local.tee $1 (i32.load offset=20 @@ -830,7 +830,7 @@ ) (local.set $0 (select - (local.get $14) + (local.get $15) (local.get $0) (local.get $1) ) @@ -890,14 +890,14 @@ ) ) (if - (local.tee $16 + (local.tee $14 (i32.load offset=20 (local.get $6) ) ) (block - (local.set $14 - (local.get $16) + (local.set $15 + (local.get $14) ) (local.set $1 (local.get $10) @@ -912,7 +912,7 @@ ) (br_if $do-once4 (i32.eqz - (local.tee $14 + (local.tee $15 (i32.load offset=16 (local.get $6) ) @@ -924,19 +924,19 @@ (loop $while-in7 (local.set $10 (i32.add - (local.get $14) + (local.get $15) (i32.const 20) ) ) (if - (local.tee $16 + (local.tee $14 (i32.load offset=20 - (local.get $14) + (local.get $15) ) ) (block - (local.set $14 - (local.get $16) + (local.set $15 + (local.get $14) ) (local.set $1 (local.get $10) @@ -946,19 +946,19 @@ ) (local.set $10 (i32.add - (local.get $14) + (local.get $15) (i32.const 16) ) ) (if - (local.tee $16 + (local.tee $14 (i32.load offset=16 - (local.get $14) + (local.get $15) ) ) (block - (local.set $14 - (local.get $16) + (local.set $15 + (local.get $14) ) (local.set $1 (local.get $10) @@ -979,7 +979,7 @@ (i32.const 0) ) (local.set $21 - (local.get $14) + (local.get $15) ) ) ) @@ -1412,7 +1412,7 @@ (i32.eq (local.tee $8 (if (result i32) - (local.tee $15 + (local.tee $16 (i32.load (i32.add (i32.shl @@ -1435,7 +1435,7 @@ (i32.and (i32.shr_u (i32.add - (local.tee $16 + (local.tee $14 (i32.shl (local.get $8) (local.tee $4 @@ -1464,18 +1464,18 @@ (i32.shr_u (local.get $0) (i32.add - (local.tee $15 + (local.tee $16 (i32.add (i32.sub (i32.const 14) (i32.or - (local.tee $16 + (local.tee $14 (i32.and (i32.shr_u (i32.add - (local.tee $14 + (local.tee $15 (i32.shl - (local.get $16) + (local.get $14) (local.get $8) ) ) @@ -1494,8 +1494,8 @@ ) (i32.shr_u (i32.shl + (local.get $15) (local.get $14) - (local.get $16) ) (i32.const 15) ) @@ -1507,7 +1507,7 @@ (i32.const 1) ) (i32.shl - (local.get $15) + (local.get $16) (i32.const 1) ) ) @@ -1523,10 +1523,10 @@ ) ) (block $label$break$a (result i32) - (local.set $16 + (local.set $14 (local.get $1) ) - (local.set $14 + (local.set $15 (i32.const 0) ) (local.set $4 @@ -1549,7 +1549,7 @@ ) ) (local.set $8 - (local.get $15) + (local.get $16) ) (loop $while-in14 (result i32) (if @@ -1567,7 +1567,7 @@ (local.get $0) ) ) - (local.get $16) + (local.get $14) ) (local.set $7 (if (result i32) @@ -1590,7 +1590,7 @@ ) ) (block (result i32) - (local.set $16 + (local.set $14 (local.get $5) ) (local.get $8) @@ -1600,7 +1600,7 @@ ) (local.set $2 (select - (local.get $14) + (local.get $15) (local.tee $5 (i32.load offset=20 (local.get $8) @@ -1641,7 +1641,7 @@ ) (block (result i32) (local.set $37 - (local.get $16) + (local.get $14) ) (local.set $30 (local.get $2) @@ -1652,7 +1652,7 @@ (i32.const 86) ) (block - (local.set $14 + (local.set $15 (local.get $2) ) (local.set $4 @@ -1700,14 +1700,14 @@ (i32.or (i32.sub (i32.const 0) - (local.tee $15 + (local.tee $16 (i32.shl (i32.const 2) (local.get $21) ) ) ) - (local.get $15) + (local.get $16) ) (local.get $10) ) @@ -1718,7 +1718,7 @@ (local.set $1 (i32.and (i32.shr_u - (local.tee $15 + (local.tee $16 (i32.add (i32.and (i32.sub @@ -1735,12 +1735,12 @@ (i32.const 16) ) ) - (local.set $15 + (local.set $16 (i32.and (i32.shr_u (local.tee $2 (i32.shr_u - (local.get $15) + (local.get $16) (local.get $1) ) ) @@ -1755,7 +1755,7 @@ (local.tee $5 (i32.shr_u (local.get $2) - (local.get $15) + (local.get $16) ) ) (i32.const 2) @@ -1803,7 +1803,7 @@ (local.get $2) (i32.or (local.get $1) - (local.get $15) + (local.get $16) ) ) ) @@ -1997,13 +1997,13 @@ ) ) (block (result i32) - (local.set $14 + (local.set $15 (local.get $1) ) (local.get $2) ) (block (result i32) - (local.set $15 + (local.set $16 (i32.add (local.get $9) (i32.const 16) @@ -2011,32 +2011,32 @@ ) (br_if $do-once17 (i32.eqz - (local.tee $14 + (local.tee $15 (i32.load offset=16 (local.get $9) ) ) ) ) - (local.get $15) + (local.get $16) ) ) ) (loop $while-in20 (local.set $2 (i32.add - (local.get $14) + (local.get $15) (i32.const 20) ) ) (if (local.tee $1 (i32.load offset=20 - (local.get $14) + (local.get $15) ) ) (block - (local.set $14 + (local.set $15 (local.get $1) ) (local.set $3 @@ -2047,18 +2047,18 @@ ) (local.set $2 (i32.add - (local.get $14) + (local.get $15) (i32.const 16) ) ) (if (local.tee $1 (i32.load offset=16 - (local.get $14) + (local.get $15) ) ) (block - (local.set $14 + (local.set $15 (local.get $1) ) (local.set $3 @@ -2079,8 +2079,8 @@ (local.get $3) (i32.const 0) ) - (local.set $23 - (local.get $14) + (local.set $22 + (local.get $15) ) ) ) @@ -2128,7 +2128,7 @@ (local.get $3) (local.get $2) ) - (local.set $23 + (local.set $22 (local.get $4) ) ) @@ -2161,11 +2161,11 @@ (block (i32.store (local.get $10) - (local.get $23) + (local.get $22) ) (if (i32.eqz - (local.get $23) + (local.get $22) ) (block (i32.store @@ -2209,23 +2209,23 @@ ) (i32.store offset=16 (local.get $2) - (local.get $23) + (local.get $22) ) (i32.store offset=20 (local.get $5) - (local.get $23) + (local.get $22) ) ) (br_if $do-once21 (i32.eqz - (local.get $23) + (local.get $22) ) ) ) ) (if (i32.lt_u - (local.get $23) + (local.get $22) (local.tee $4 (i32.load (i32.const 1224) @@ -2235,7 +2235,7 @@ (call $qa) ) (i32.store offset=24 - (local.get $23) + (local.get $22) (local.get $5) ) (if @@ -2252,12 +2252,12 @@ (call $qa) (block (i32.store offset=16 - (local.get $23) + (local.get $22) (local.get $10) ) (i32.store offset=24 (local.get $10) - (local.get $23) + (local.get $22) ) ) ) @@ -2278,12 +2278,12 @@ (call $qa) (block (i32.store offset=20 - (local.get $23) + (local.get $22) (local.get $10) ) (i32.store offset=24 (local.get $10) - (local.get $23) + (local.get $22) ) ) ) @@ -2448,10 +2448,10 @@ (br $do-once25) ) ) - (local.set $15 + (local.set $16 (i32.add (i32.shl - (local.tee $16 + (local.tee $14 (if (result i32) (local.tee $5 (i32.shr_u @@ -2499,7 +2499,7 @@ (i32.shr_u (local.get $18) (i32.add - (local.tee $15 + (local.tee $16 (i32.add (i32.sub (i32.const 14) @@ -2542,7 +2542,7 @@ (i32.const 1) ) (i32.shl - (local.get $15) + (local.get $16) (i32.const 1) ) ) @@ -2558,13 +2558,10 @@ ) (i32.store offset=28 (local.get $7) - (local.get $16) + (local.get $14) ) - (i32.store offset=4 - (i32.add - (local.get $7) - (i32.const 16) - ) + (i32.store offset=20 + (local.get $7) (i32.const 0) ) (i32.store offset=16 @@ -2582,7 +2579,7 @@ (local.tee $10 (i32.shl (i32.const 1) - (local.get $16) + (local.get $14) ) ) ) @@ -2596,12 +2593,12 @@ ) ) (i32.store - (local.get $15) + (local.get $16) (local.get $7) ) (i32.store offset=24 (local.get $7) - (local.get $15) + (local.get $16) ) (i32.store offset=12 (local.get $7) @@ -2622,12 +2619,12 @@ (i32.sub (i32.const 25) (i32.shr_u - (local.get $16) + (local.get $14) (i32.const 1) ) ) (i32.eq - (local.get $16) + (local.get $14) (i32.const 31) ) ) @@ -2635,7 +2632,7 @@ ) (local.set $2 (i32.load - (local.get $15) + (local.get $16) ) ) (if @@ -2665,7 +2662,7 @@ (if (result i32) (local.tee $4 (i32.load - (local.tee $15 + (local.tee $16 (i32.add (i32.add (local.get $2) @@ -2695,8 +2692,8 @@ (br $while-in28) ) (block (result i32) - (local.set $22 - (local.get $15) + (local.set $23 + (local.get $16) ) (local.set $13 (local.get $2) @@ -2711,7 +2708,7 @@ ) (if (i32.lt_u - (local.get $22) + (local.get $23) (i32.load (i32.const 1224) ) @@ -2719,7 +2716,7 @@ (call $qa) (block (i32.store - (local.get $22) + (local.get $23) (local.get $7) ) (i32.store offset=24 @@ -2843,7 +2840,7 @@ (block (i32.store (i32.const 1228) - (local.tee $22 + (local.tee $23 (i32.add (local.get $4) (local.get $13) @@ -2855,7 +2852,7 @@ (local.get $19) ) (i32.store offset=4 - (local.get $22) + (local.get $23) (i32.or (local.get $19) (i32.const 1) @@ -2864,7 +2861,7 @@ (i32.store (i32.add (local.get $19) - (local.get $22) + (local.get $23) ) (local.get $19) ) @@ -3035,7 +3032,7 @@ ) ) ) - (local.tee $22 + (local.tee $23 (i32.sub (i32.const 0) (local.get $12) @@ -3066,14 +3063,14 @@ (local.tee $6 (i32.add (local.get $12) - (local.tee $16 + (local.tee $14 (i32.load (i32.const 1640) ) ) ) ) - (local.get $16) + (local.get $14) ) (i32.gt_u (local.get $6) @@ -3118,7 +3115,7 @@ (block $while-out31 (if (i32.le_u - (local.tee $16 + (local.tee $14 (i32.load (local.get $6) ) @@ -3138,7 +3135,7 @@ (i32.load offset=4 (local.get $6) ) - (local.get $16) + (local.get $14) ) (local.get $18) ) @@ -3171,7 +3168,7 @@ (i32.lt_u (local.tee $6 (i32.and - (local.get $22) + (local.get $23) (i32.sub (local.get $9) (i32.load @@ -4008,7 +4005,7 @@ (i32.const 1248) ) ) - (local.tee $22 + (local.tee $23 (i32.load offset=8 (local.get $1) ) @@ -4017,7 +4014,7 @@ (block $do-once47 (if (i32.lt_u - (local.get $22) + (local.get $23) (local.get $7) ) (call $qa) @@ -4026,7 +4023,7 @@ (i32.eq (local.get $1) (i32.load offset=12 - (local.get $22) + (local.get $23) ) ) ) @@ -4036,7 +4033,7 @@ (if (i32.eq (local.get $9) - (local.get $22) + (local.get $23) ) (block (i32.store @@ -4100,12 +4097,12 @@ ) ) (i32.store offset=12 - (local.get $22) + (local.get $23) (local.get $9) ) (i32.store (local.get $43) - (local.get $22) + (local.get $23) ) ) (block @@ -4141,7 +4138,7 @@ ) (local.set $0 (if (result i32) - (local.tee $16 + (local.tee $14 (i32.load offset=4 (local.get $2) ) @@ -4150,10 +4147,10 @@ (local.set $2 (local.get $6) ) - (local.get $16) + (local.get $14) ) (if (result i32) - (local.tee $23 + (local.tee $22 (i32.load offset=16 (local.get $0) ) @@ -4162,7 +4159,7 @@ (local.set $2 (local.get $18) ) - (local.get $23) + (local.get $22) ) (br $do-once51) ) @@ -4176,14 +4173,14 @@ ) ) (if - (local.tee $16 + (local.tee $14 (i32.load offset=20 (local.get $0) ) ) (block (local.set $0 - (local.get $16) + (local.get $14) ) (local.set $2 (local.get $6) @@ -4198,14 +4195,14 @@ ) ) (if - (local.tee $16 + (local.tee $14 (i32.load offset=16 (local.get $0) ) ) (block (local.set $0 - (local.get $16) + (local.get $14) ) (local.set $2 (local.get $6) @@ -4290,7 +4287,7 @@ (if (i32.eq (i32.load - (local.tee $22 + (local.tee $23 (i32.add (i32.shl (local.tee $0 @@ -4308,7 +4305,7 @@ ) (block $do-once55 (i32.store - (local.get $22) + (local.get $23) (local.get $24) ) (br_if $do-once55 @@ -4382,11 +4379,8 @@ (local.get $24) (local.get $17) ) - (local.set $22 - (i32.add - (local.get $1) - (i32.const 16) - ) + (local.set $2 + (local.get $1) ) (if (local.tee $9 @@ -4415,8 +4409,8 @@ (br_if $label$break$e (i32.eqz (local.tee $9 - (i32.load offset=4 - (local.get $22) + (i32.load offset=20 + (local.get $2) ) ) ) @@ -4695,11 +4689,8 @@ (local.get $3) (local.get $1) ) - (i32.store offset=4 - (i32.add - (local.get $3) - (i32.const 16) - ) + (i32.store offset=20 + (local.get $3) (i32.const 0) ) (i32.store offset=16 @@ -4983,45 +4974,47 @@ (local.set $3 (i32.add (local.tee $5 - (local.tee $19 - (select - (local.get $11) - (local.tee $3 - (i32.add - (select - (i32.and - (i32.sub - (i32.const 0) - (local.tee $13 - (i32.add - (local.tee $19 - (i32.add - (local.get $0) - (i32.const -47) + (local.tee $14 + (local.tee $19 + (select + (local.get $11) + (local.tee $3 + (i32.add + (select + (i32.and + (i32.sub + (i32.const 0) + (local.tee $13 + (i32.add + (local.tee $19 + (i32.add + (local.get $0) + (i32.const -47) + ) ) + (i32.const 8) ) - (i32.const 8) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (local.get $13) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $13) - (i32.const 7) ) + (local.get $19) ) - (local.get $19) ) - ) - (i32.lt_u - (local.get $3) - (i32.add - (local.tee $7 - (local.get $11) + (i32.lt_u + (local.get $3) + (i32.add + (local.tee $7 + (local.get $11) + ) + (i32.const 16) ) - (i32.const 16) ) ) ) @@ -5099,25 +5092,25 @@ (i32.const 27) ) (i32.store offset=8 - (local.get $5) + (local.get $14) (i32.load (i32.const 1656) ) ) - (i32.store offset=4 - (local.get $3) + (i32.store offset=12 + (local.get $5) (i32.load (i32.const 1660) ) ) - (i32.store offset=8 - (local.get $3) + (i32.store offset=16 + (local.get $5) (i32.load (i32.const 1664) ) ) - (i32.store offset=12 - (local.get $3) + (i32.store offset=20 + (local.get $5) (i32.load (i32.const 1668) ) @@ -6466,10 +6459,7 @@ (local.get $10) ) (local.set $4 - (i32.add - (local.get $1) - (i32.const 16) - ) + (local.get $1) ) (if (local.tee $6 @@ -6497,7 +6487,7 @@ ) (if (local.tee $6 - (i32.load offset=4 + (i32.load offset=20 (local.get $4) ) ) @@ -7107,16 +7097,13 @@ (local.get $11) (local.get $12) ) - (local.set $7 - (i32.add - (local.get $8) - (i32.const 16) - ) + (local.set $0 + (local.get $8) ) (if (local.tee $1 (i32.load offset=16 - (local.get $8) + (local.get $0) ) ) (if @@ -7139,8 +7126,8 @@ ) (if (local.tee $1 - (i32.load offset=4 - (local.get $7) + (i32.load offset=20 + (local.get $0) ) ) (if @@ -7694,7 +7681,7 @@ (local $13 i32) (local $14 i32) (local $15 i32) - (local.set $6 + (local.set $4 (global.get $r) ) (global.set $r @@ -7703,30 +7690,25 @@ (i32.const 48) ) ) - (local.set $9 + (local.set $13 (i32.add - (local.get $6) + (local.get $4) (i32.const 16) ) ) (local.set $8 - (local.get $6) + (local.get $4) ) (i32.store offset=32 - (local.get $6) + (local.get $4) (local.tee $3 (i32.load offset=28 (local.get $0) ) ) ) - (i32.store offset=4 - (local.tee $4 - (i32.add - (local.get $6) - (i32.const 32) - ) - ) + (i32.store offset=36 + (local.get $4) (local.tee $7 (i32.sub (i32.load offset=20 @@ -7736,24 +7718,27 @@ ) ) ) - (i32.store offset=8 + (i32.store offset=40 (local.get $4) (local.get $1) ) - (i32.store offset=12 + (i32.store offset=44 (local.get $4) (local.get $2) ) - (local.set $11 + (local.set $10 (local.get $0) ) - (local.set $12 + (local.set $11 (local.get $0) ) (local.set $1 - (local.get $4) + (i32.add + (local.get $4) + (i32.const 32) + ) ) - (local.set $4 + (local.set $6 (i32.const 2) ) (local.set $3 @@ -7780,7 +7765,7 @@ (i32.store (local.get $8) (i32.load offset=60 - (local.get $11) + (local.get $10) ) ) (i32.store offset=4 @@ -7789,7 +7774,7 @@ ) (i32.store offset=8 (local.get $8) - (local.get $4) + (local.get $6) ) (local.set $7 (call $Pa @@ -7806,23 +7791,23 @@ ) (block (result i32) (i32.store offset=16 - (local.get $6) + (local.get $4) (i32.load offset=60 - (local.get $11) + (local.get $10) ) ) - (i32.store offset=4 - (local.get $9) + (i32.store offset=20 + (local.get $4) (local.get $1) ) - (i32.store offset=8 - (local.get $9) + (i32.store offset=24 (local.get $4) + (local.get $6) ) (call $Pa (call $ya (i32.const 146) - (local.get $9) + (local.get $13) ) ) ) @@ -7846,7 +7831,7 @@ (local.get $1) ) (local.set $15 - (local.get $4) + (local.get $6) ) (local.set $1 (i32.const 8) @@ -7863,7 +7848,7 @@ (if (i32.gt_u (local.get $5) - (local.tee $10 + (local.tee $9 (i32.load offset=4 (local.get $1) ) @@ -7874,7 +7859,7 @@ (local.get $0) (local.tee $3 (i32.load offset=44 - (local.get $12) + (local.get $11) ) ) ) @@ -7890,7 +7875,7 @@ (local.set $5 (i32.sub (local.get $5) - (local.get $10) + (local.get $9) ) ) (local.set $1 @@ -7899,9 +7884,9 @@ (i32.const 8) ) ) - (local.set $4 + (local.set $6 (i32.add - (local.get $4) + (local.get $6) (i32.const -1) ) ) @@ -7909,7 +7894,7 @@ (block (if (i32.eq - (local.get $4) + (local.get $6) (i32.const 2) ) (block @@ -7922,13 +7907,13 @@ ) ) ) - (local.set $4 + (local.set $6 (i32.const 2) ) ) ) (local.set $3 - (local.get $10) + (local.get $9) ) ) ) @@ -7954,7 +7939,7 @@ (br $while-in) ) ) - (local.set $13 + (local.set $12 (if (result i32) (i32.eq (local.get $1) @@ -7966,7 +7951,7 @@ (i32.add (local.tee $3 (i32.load offset=44 - (local.get $12) + (local.get $11) ) ) (i32.load offset=48 @@ -8025,14 +8010,14 @@ ) ) ) - (local.get $13) + (local.get $12) ) ) ) (global.set $r - (local.get $6) + (local.get $4) ) - (local.get $13) + (local.get $12) ) (func $Wa (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) diff --git a/test/memorygrowth.fromasm.imprecise b/test/memorygrowth.fromasm.imprecise index b9f314863..36180d615 100644 --- a/test/memorygrowth.fromasm.imprecise +++ b/test/memorygrowth.fromasm.imprecise @@ -291,7 +291,7 @@ (if (result i32) (i32.gt_u (local.get $2) - (local.tee $14 + (local.tee $15 (i32.load (i32.const 1216) ) @@ -386,13 +386,13 @@ (local.tee $4 (i32.add (i32.shl - (local.tee $16 + (local.tee $14 (i32.add (i32.or (local.tee $4 (i32.and (i32.shr_u - (local.tee $15 + (local.tee $16 (i32.shr_u (local.get $4) (local.get $10) @@ -415,7 +415,7 @@ ) ) (i32.shr_u - (local.get $15) + (local.get $16) (local.get $4) ) ) @@ -454,7 +454,7 @@ (i32.xor (i32.shl (i32.const 1) - (local.get $16) + (local.get $14) ) (i32.const -1) ) @@ -462,7 +462,7 @@ ) ) (local.set $34 - (local.get $14) + (local.get $15) ) ) (block @@ -512,7 +512,7 @@ ) ) (i32.store offset=4 - (local.tee $15 + (local.tee $16 (i32.add (local.get $2) (local.get $10) @@ -522,7 +522,7 @@ (local.tee $7 (i32.sub (i32.shl - (local.get $16) + (local.get $14) (i32.const 3) ) (local.get $2) @@ -534,7 +534,7 @@ (i32.store (i32.add (local.get $7) - (local.get $15) + (local.get $16) ) (local.get $7) ) @@ -549,7 +549,7 @@ (local.set $1 (i32.add (i32.shl - (local.tee $14 + (local.tee $15 (i32.shr_u (local.get $34) (i32.const 3) @@ -570,7 +570,7 @@ (local.tee $5 (i32.shl (i32.const 1) - (local.get $14) + (local.get $15) ) ) ) @@ -646,7 +646,7 @@ ) (i32.store (i32.const 1228) - (local.get $15) + (local.get $16) ) (global.set $r (local.get $25) @@ -657,13 +657,13 @@ ) ) (if (result i32) - (local.tee $15 + (local.tee $16 (i32.load (i32.const 1212) ) ) (block - (local.set $15 + (local.set $16 (i32.and (i32.shr_u (local.tee $7 @@ -671,9 +671,9 @@ (i32.and (i32.sub (i32.const 0) - (local.get $15) + (local.get $16) ) - (local.get $15) + (local.get $16) ) (i32.const -1) ) @@ -689,7 +689,7 @@ (local.tee $1 (i32.shr_u (local.get $7) - (local.get $15) + (local.get $16) ) ) (i32.const 5) @@ -729,7 +729,7 @@ (i32.sub (i32.and (i32.load offset=4 - (local.tee $14 + (local.tee $15 (i32.load (i32.add (i32.shl @@ -755,7 +755,7 @@ (local.get $1) (i32.or (local.get $7) - (local.get $15) + (local.get $16) ) ) ) @@ -779,25 +779,25 @@ ) (local.set $4 (local.tee $5 - (local.get $14) + (local.get $15) ) ) (loop $while-in (block $while-out (local.set $1 (i32.lt_u - (local.tee $14 + (local.tee $15 (i32.sub (i32.and (i32.load offset=4 (local.tee $5 (if (result i32) - (local.tee $14 + (local.tee $15 (i32.load offset=16 (local.get $5) ) ) - (local.get $14) + (local.get $15) (if (result i32) (local.tee $1 (i32.load offset=20 @@ -828,7 +828,7 @@ ) (local.set $0 (select - (local.get $14) + (local.get $15) (local.get $0) (local.get $1) ) @@ -888,14 +888,14 @@ ) ) (if - (local.tee $16 + (local.tee $14 (i32.load offset=20 (local.get $6) ) ) (block - (local.set $14 - (local.get $16) + (local.set $15 + (local.get $14) ) (local.set $1 (local.get $10) @@ -910,7 +910,7 @@ ) (br_if $do-once4 (i32.eqz - (local.tee $14 + (local.tee $15 (i32.load offset=16 (local.get $6) ) @@ -922,19 +922,19 @@ (loop $while-in7 (local.set $10 (i32.add - (local.get $14) + (local.get $15) (i32.const 20) ) ) (if - (local.tee $16 + (local.tee $14 (i32.load offset=20 - (local.get $14) + (local.get $15) ) ) (block - (local.set $14 - (local.get $16) + (local.set $15 + (local.get $14) ) (local.set $1 (local.get $10) @@ -944,19 +944,19 @@ ) (local.set $10 (i32.add - (local.get $14) + (local.get $15) (i32.const 16) ) ) (if - (local.tee $16 + (local.tee $14 (i32.load offset=16 - (local.get $14) + (local.get $15) ) ) (block - (local.set $14 - (local.get $16) + (local.set $15 + (local.get $14) ) (local.set $1 (local.get $10) @@ -977,7 +977,7 @@ (i32.const 0) ) (local.set $21 - (local.get $14) + (local.get $15) ) ) ) @@ -1410,7 +1410,7 @@ (i32.eq (local.tee $8 (if (result i32) - (local.tee $15 + (local.tee $16 (i32.load (i32.add (i32.shl @@ -1433,7 +1433,7 @@ (i32.and (i32.shr_u (i32.add - (local.tee $16 + (local.tee $14 (i32.shl (local.get $8) (local.tee $4 @@ -1462,18 +1462,18 @@ (i32.shr_u (local.get $0) (i32.add - (local.tee $15 + (local.tee $16 (i32.add (i32.sub (i32.const 14) (i32.or - (local.tee $16 + (local.tee $14 (i32.and (i32.shr_u (i32.add - (local.tee $14 + (local.tee $15 (i32.shl - (local.get $16) + (local.get $14) (local.get $8) ) ) @@ -1492,8 +1492,8 @@ ) (i32.shr_u (i32.shl + (local.get $15) (local.get $14) - (local.get $16) ) (i32.const 15) ) @@ -1505,7 +1505,7 @@ (i32.const 1) ) (i32.shl - (local.get $15) + (local.get $16) (i32.const 1) ) ) @@ -1521,10 +1521,10 @@ ) ) (block $label$break$a (result i32) - (local.set $16 + (local.set $14 (local.get $1) ) - (local.set $14 + (local.set $15 (i32.const 0) ) (local.set $4 @@ -1547,7 +1547,7 @@ ) ) (local.set $8 - (local.get $15) + (local.get $16) ) (loop $while-in14 (result i32) (if @@ -1565,7 +1565,7 @@ (local.get $0) ) ) - (local.get $16) + (local.get $14) ) (local.set $7 (if (result i32) @@ -1588,7 +1588,7 @@ ) ) (block (result i32) - (local.set $16 + (local.set $14 (local.get $5) ) (local.get $8) @@ -1598,7 +1598,7 @@ ) (local.set $2 (select - (local.get $14) + (local.get $15) (local.tee $5 (i32.load offset=20 (local.get $8) @@ -1639,7 +1639,7 @@ ) (block (result i32) (local.set $37 - (local.get $16) + (local.get $14) ) (local.set $30 (local.get $2) @@ -1650,7 +1650,7 @@ (i32.const 86) ) (block - (local.set $14 + (local.set $15 (local.get $2) ) (local.set $4 @@ -1698,14 +1698,14 @@ (i32.or (i32.sub (i32.const 0) - (local.tee $15 + (local.tee $16 (i32.shl (i32.const 2) (local.get $21) ) ) ) - (local.get $15) + (local.get $16) ) (local.get $10) ) @@ -1716,7 +1716,7 @@ (local.set $1 (i32.and (i32.shr_u - (local.tee $15 + (local.tee $16 (i32.add (i32.and (i32.sub @@ -1733,12 +1733,12 @@ (i32.const 16) ) ) - (local.set $15 + (local.set $16 (i32.and (i32.shr_u (local.tee $2 (i32.shr_u - (local.get $15) + (local.get $16) (local.get $1) ) ) @@ -1753,7 +1753,7 @@ (local.tee $5 (i32.shr_u (local.get $2) - (local.get $15) + (local.get $16) ) ) (i32.const 2) @@ -1801,7 +1801,7 @@ (local.get $2) (i32.or (local.get $1) - (local.get $15) + (local.get $16) ) ) ) @@ -1995,13 +1995,13 @@ ) ) (block (result i32) - (local.set $14 + (local.set $15 (local.get $1) ) (local.get $2) ) (block (result i32) - (local.set $15 + (local.set $16 (i32.add (local.get $9) (i32.const 16) @@ -2009,32 +2009,32 @@ ) (br_if $do-once17 (i32.eqz - (local.tee $14 + (local.tee $15 (i32.load offset=16 (local.get $9) ) ) ) ) - (local.get $15) + (local.get $16) ) ) ) (loop $while-in20 (local.set $2 (i32.add - (local.get $14) + (local.get $15) (i32.const 20) ) ) (if (local.tee $1 (i32.load offset=20 - (local.get $14) + (local.get $15) ) ) (block - (local.set $14 + (local.set $15 (local.get $1) ) (local.set $3 @@ -2045,18 +2045,18 @@ ) (local.set $2 (i32.add - (local.get $14) + (local.get $15) (i32.const 16) ) ) (if (local.tee $1 (i32.load offset=16 - (local.get $14) + (local.get $15) ) ) (block - (local.set $14 + (local.set $15 (local.get $1) ) (local.set $3 @@ -2077,8 +2077,8 @@ (local.get $3) (i32.const 0) ) - (local.set $23 - (local.get $14) + (local.set $22 + (local.get $15) ) ) ) @@ -2126,7 +2126,7 @@ (local.get $3) (local.get $2) ) - (local.set $23 + (local.set $22 (local.get $4) ) ) @@ -2159,11 +2159,11 @@ (block (i32.store (local.get $10) - (local.get $23) + (local.get $22) ) (if (i32.eqz - (local.get $23) + (local.get $22) ) (block (i32.store @@ -2207,23 +2207,23 @@ ) (i32.store offset=16 (local.get $2) - (local.get $23) + (local.get $22) ) (i32.store offset=20 (local.get $5) - (local.get $23) + (local.get $22) ) ) (br_if $do-once21 (i32.eqz - (local.get $23) + (local.get $22) ) ) ) ) (if (i32.lt_u - (local.get $23) + (local.get $22) (local.tee $4 (i32.load (i32.const 1224) @@ -2233,7 +2233,7 @@ (call $qa) ) (i32.store offset=24 - (local.get $23) + (local.get $22) (local.get $5) ) (if @@ -2250,12 +2250,12 @@ (call $qa) (block (i32.store offset=16 - (local.get $23) + (local.get $22) (local.get $10) ) (i32.store offset=24 (local.get $10) - (local.get $23) + (local.get $22) ) ) ) @@ -2276,12 +2276,12 @@ (call $qa) (block (i32.store offset=20 - (local.get $23) + (local.get $22) (local.get $10) ) (i32.store offset=24 (local.get $10) - (local.get $23) + (local.get $22) ) ) ) @@ -2446,10 +2446,10 @@ (br $do-once25) ) ) - (local.set $15 + (local.set $16 (i32.add (i32.shl - (local.tee $16 + (local.tee $14 (if (result i32) (local.tee $5 (i32.shr_u @@ -2497,7 +2497,7 @@ (i32.shr_u (local.get $18) (i32.add - (local.tee $15 + (local.tee $16 (i32.add (i32.sub (i32.const 14) @@ -2540,7 +2540,7 @@ (i32.const 1) ) (i32.shl - (local.get $15) + (local.get $16) (i32.const 1) ) ) @@ -2556,13 +2556,10 @@ ) (i32.store offset=28 (local.get $7) - (local.get $16) + (local.get $14) ) - (i32.store offset=4 - (i32.add - (local.get $7) - (i32.const 16) - ) + (i32.store offset=20 + (local.get $7) (i32.const 0) ) (i32.store offset=16 @@ -2580,7 +2577,7 @@ (local.tee $10 (i32.shl (i32.const 1) - (local.get $16) + (local.get $14) ) ) ) @@ -2594,12 +2591,12 @@ ) ) (i32.store - (local.get $15) + (local.get $16) (local.get $7) ) (i32.store offset=24 (local.get $7) - (local.get $15) + (local.get $16) ) (i32.store offset=12 (local.get $7) @@ -2620,12 +2617,12 @@ (i32.sub (i32.const 25) (i32.shr_u - (local.get $16) + (local.get $14) (i32.const 1) ) ) (i32.eq - (local.get $16) + (local.get $14) (i32.const 31) ) ) @@ -2633,7 +2630,7 @@ ) (local.set $2 (i32.load - (local.get $15) + (local.get $16) ) ) (if @@ -2663,7 +2660,7 @@ (if (result i32) (local.tee $4 (i32.load - (local.tee $15 + (local.tee $16 (i32.add (i32.add (local.get $2) @@ -2693,8 +2690,8 @@ (br $while-in28) ) (block (result i32) - (local.set $22 - (local.get $15) + (local.set $23 + (local.get $16) ) (local.set $13 (local.get $2) @@ -2709,7 +2706,7 @@ ) (if (i32.lt_u - (local.get $22) + (local.get $23) (i32.load (i32.const 1224) ) @@ -2717,7 +2714,7 @@ (call $qa) (block (i32.store - (local.get $22) + (local.get $23) (local.get $7) ) (i32.store offset=24 @@ -2841,7 +2838,7 @@ (block (i32.store (i32.const 1228) - (local.tee $22 + (local.tee $23 (i32.add (local.get $4) (local.get $13) @@ -2853,7 +2850,7 @@ (local.get $19) ) (i32.store offset=4 - (local.get $22) + (local.get $23) (i32.or (local.get $19) (i32.const 1) @@ -2862,7 +2859,7 @@ (i32.store (i32.add (local.get $19) - (local.get $22) + (local.get $23) ) (local.get $19) ) @@ -3033,7 +3030,7 @@ ) ) ) - (local.tee $22 + (local.tee $23 (i32.sub (i32.const 0) (local.get $12) @@ -3064,14 +3061,14 @@ (local.tee $6 (i32.add (local.get $12) - (local.tee $16 + (local.tee $14 (i32.load (i32.const 1640) ) ) ) ) - (local.get $16) + (local.get $14) ) (i32.gt_u (local.get $6) @@ -3116,7 +3113,7 @@ (block $while-out31 (if (i32.le_u - (local.tee $16 + (local.tee $14 (i32.load (local.get $6) ) @@ -3136,7 +3133,7 @@ (i32.load offset=4 (local.get $6) ) - (local.get $16) + (local.get $14) ) (local.get $18) ) @@ -3169,7 +3166,7 @@ (i32.lt_u (local.tee $6 (i32.and - (local.get $22) + (local.get $23) (i32.sub (local.get $9) (i32.load @@ -4006,7 +4003,7 @@ (i32.const 1248) ) ) - (local.tee $22 + (local.tee $23 (i32.load offset=8 (local.get $1) ) @@ -4015,7 +4012,7 @@ (block $do-once47 (if (i32.lt_u - (local.get $22) + (local.get $23) (local.get $7) ) (call $qa) @@ -4024,7 +4021,7 @@ (i32.eq (local.get $1) (i32.load offset=12 - (local.get $22) + (local.get $23) ) ) ) @@ -4034,7 +4031,7 @@ (if (i32.eq (local.get $9) - (local.get $22) + (local.get $23) ) (block (i32.store @@ -4098,12 +4095,12 @@ ) ) (i32.store offset=12 - (local.get $22) + (local.get $23) (local.get $9) ) (i32.store (local.get $43) - (local.get $22) + (local.get $23) ) ) (block @@ -4139,7 +4136,7 @@ ) (local.set $0 (if (result i32) - (local.tee $16 + (local.tee $14 (i32.load offset=4 (local.get $2) ) @@ -4148,10 +4145,10 @@ (local.set $2 (local.get $6) ) - (local.get $16) + (local.get $14) ) (if (result i32) - (local.tee $23 + (local.tee $22 (i32.load offset=16 (local.get $0) ) @@ -4160,7 +4157,7 @@ (local.set $2 (local.get $18) ) - (local.get $23) + (local.get $22) ) (br $do-once51) ) @@ -4174,14 +4171,14 @@ ) ) (if - (local.tee $16 + (local.tee $14 (i32.load offset=20 (local.get $0) ) ) (block (local.set $0 - (local.get $16) + (local.get $14) ) (local.set $2 (local.get $6) @@ -4196,14 +4193,14 @@ ) ) (if - (local.tee $16 + (local.tee $14 (i32.load offset=16 (local.get $0) ) ) (block (local.set $0 - (local.get $16) + (local.get $14) ) (local.set $2 (local.get $6) @@ -4288,7 +4285,7 @@ (if (i32.eq (i32.load - (local.tee $22 + (local.tee $23 (i32.add (i32.shl (local.tee $0 @@ -4306,7 +4303,7 @@ ) (block $do-once55 (i32.store - (local.get $22) + (local.get $23) (local.get $24) ) (br_if $do-once55 @@ -4380,11 +4377,8 @@ (local.get $24) (local.get $17) ) - (local.set $22 - (i32.add - (local.get $1) - (i32.const 16) - ) + (local.set $2 + (local.get $1) ) (if (local.tee $9 @@ -4413,8 +4407,8 @@ (br_if $label$break$e (i32.eqz (local.tee $9 - (i32.load offset=4 - (local.get $22) + (i32.load offset=20 + (local.get $2) ) ) ) @@ -4693,11 +4687,8 @@ (local.get $3) (local.get $1) ) - (i32.store offset=4 - (i32.add - (local.get $3) - (i32.const 16) - ) + (i32.store offset=20 + (local.get $3) (i32.const 0) ) (i32.store offset=16 @@ -4981,45 +4972,47 @@ (local.set $3 (i32.add (local.tee $5 - (local.tee $19 - (select - (local.get $11) - (local.tee $3 - (i32.add - (select - (i32.and - (i32.sub - (i32.const 0) - (local.tee $13 - (i32.add - (local.tee $19 - (i32.add - (local.get $0) - (i32.const -47) + (local.tee $14 + (local.tee $19 + (select + (local.get $11) + (local.tee $3 + (i32.add + (select + (i32.and + (i32.sub + (i32.const 0) + (local.tee $13 + (i32.add + (local.tee $19 + (i32.add + (local.get $0) + (i32.const -47) + ) ) + (i32.const 8) ) - (i32.const 8) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (local.get $13) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $13) - (i32.const 7) ) + (local.get $19) ) - (local.get $19) ) - ) - (i32.lt_u - (local.get $3) - (i32.add - (local.tee $7 - (local.get $11) + (i32.lt_u + (local.get $3) + (i32.add + (local.tee $7 + (local.get $11) + ) + (i32.const 16) ) - (i32.const 16) ) ) ) @@ -5097,25 +5090,25 @@ (i32.const 27) ) (i32.store offset=8 - (local.get $5) + (local.get $14) (i32.load (i32.const 1656) ) ) - (i32.store offset=4 - (local.get $3) + (i32.store offset=12 + (local.get $5) (i32.load (i32.const 1660) ) ) - (i32.store offset=8 - (local.get $3) + (i32.store offset=16 + (local.get $5) (i32.load (i32.const 1664) ) ) - (i32.store offset=12 - (local.get $3) + (i32.store offset=20 + (local.get $5) (i32.load (i32.const 1668) ) @@ -6464,10 +6457,7 @@ (local.get $10) ) (local.set $4 - (i32.add - (local.get $1) - (i32.const 16) - ) + (local.get $1) ) (if (local.tee $6 @@ -6495,7 +6485,7 @@ ) (if (local.tee $6 - (i32.load offset=4 + (i32.load offset=20 (local.get $4) ) ) @@ -7105,16 +7095,13 @@ (local.get $11) (local.get $12) ) - (local.set $7 - (i32.add - (local.get $8) - (i32.const 16) - ) + (local.set $0 + (local.get $8) ) (if (local.tee $1 (i32.load offset=16 - (local.get $8) + (local.get $0) ) ) (if @@ -7137,8 +7124,8 @@ ) (if (local.tee $1 - (i32.load offset=4 - (local.get $7) + (i32.load offset=20 + (local.get $0) ) ) (if @@ -7692,7 +7679,7 @@ (local $13 i32) (local $14 i32) (local $15 i32) - (local.set $6 + (local.set $4 (global.get $r) ) (global.set $r @@ -7701,30 +7688,25 @@ (i32.const 48) ) ) - (local.set $9 + (local.set $12 (i32.add - (local.get $6) + (local.get $4) (i32.const 16) ) ) (local.set $8 - (local.get $6) + (local.get $4) ) (i32.store offset=32 - (local.get $6) + (local.get $4) (local.tee $3 (i32.load offset=28 (local.get $0) ) ) ) - (i32.store offset=4 - (local.tee $4 - (i32.add - (local.get $6) - (i32.const 32) - ) - ) + (i32.store offset=36 + (local.get $4) (local.tee $7 (i32.sub (i32.load offset=20 @@ -7734,24 +7716,27 @@ ) ) ) - (i32.store offset=8 + (i32.store offset=40 (local.get $4) (local.get $1) ) - (i32.store offset=12 + (i32.store offset=44 (local.get $4) (local.get $2) ) - (local.set $11 + (local.set $10 (local.get $0) ) - (local.set $12 + (local.set $11 (local.get $0) ) (local.set $1 - (local.get $4) + (i32.add + (local.get $4) + (i32.const 32) + ) ) - (local.set $4 + (local.set $6 (i32.const 2) ) (local.set $3 @@ -7778,7 +7763,7 @@ (i32.store (local.get $8) (i32.load offset=60 - (local.get $11) + (local.get $10) ) ) (i32.store offset=4 @@ -7787,7 +7772,7 @@ ) (i32.store offset=8 (local.get $8) - (local.get $4) + (local.get $6) ) (local.set $7 (call $Pa @@ -7804,23 +7789,23 @@ ) (block (result i32) (i32.store offset=16 - (local.get $6) + (local.get $4) (i32.load offset=60 - (local.get $11) + (local.get $10) ) ) - (i32.store offset=4 - (local.get $9) + (i32.store offset=20 + (local.get $4) (local.get $1) ) - (i32.store offset=8 - (local.get $9) + (i32.store offset=24 (local.get $4) + (local.get $6) ) (call $Pa (call $ya (i32.const 146) - (local.get $9) + (local.get $12) ) ) ) @@ -7844,7 +7829,7 @@ (local.get $1) ) (local.set $14 - (local.get $4) + (local.get $6) ) (local.set $1 (i32.const 8) @@ -7861,7 +7846,7 @@ (if (i32.gt_u (local.get $5) - (local.tee $10 + (local.tee $9 (i32.load offset=4 (local.get $1) ) @@ -7872,7 +7857,7 @@ (local.get $0) (local.tee $3 (i32.load offset=44 - (local.get $12) + (local.get $11) ) ) ) @@ -7888,7 +7873,7 @@ (local.set $5 (i32.sub (local.get $5) - (local.get $10) + (local.get $9) ) ) (local.set $1 @@ -7897,9 +7882,9 @@ (i32.const 8) ) ) - (local.set $4 + (local.set $6 (i32.add - (local.get $4) + (local.get $6) (i32.const -1) ) ) @@ -7907,7 +7892,7 @@ (block (if (i32.eq - (local.get $4) + (local.get $6) (i32.const 2) ) (block @@ -7920,13 +7905,13 @@ ) ) ) - (local.set $4 + (local.set $6 (i32.const 2) ) ) ) (local.set $3 - (local.get $10) + (local.get $9) ) ) ) @@ -7953,7 +7938,7 @@ ) ) (global.set $r - (local.get $6) + (local.get $4) ) (if (result i32) (i32.eq @@ -7966,7 +7951,7 @@ (i32.add (local.tee $3 (i32.load offset=44 - (local.get $12) + (local.get $11) ) ) (i32.load offset=48 diff --git a/test/passes/optimize-added-constants-propagate_low-memory-unused.txt b/test/passes/optimize-added-constants-propagate_low-memory-unused.txt index 9d0521f07..9f9cd6ba6 100644 --- a/test/passes/optimize-added-constants-propagate_low-memory-unused.txt +++ b/test/passes/optimize-added-constants-propagate_low-memory-unused.txt @@ -419,4 +419,24 @@ ) ) ) + (func $multiadd (; 13 ;) (type $1) (param $sp i32) + (local $$vararg_buffer i32) + (local $$vararg_ptr1 i32) + (local.set $$vararg_buffer + (i32.add + (local.get $sp) + (i32.const 16) + ) + ) + (local.set $$vararg_ptr1 + (i32.add + (local.get $$vararg_buffer) + (i32.const 4) + ) + ) + (i32.store offset=20 + (local.get $sp) + (i32.const 1) + ) + ) ) diff --git a/test/passes/optimize-added-constants-propagate_low-memory-unused.wast b/test/passes/optimize-added-constants-propagate_low-memory-unused.wast index 4f549aa47..601d51a29 100644 --- a/test/passes/optimize-added-constants-propagate_low-memory-unused.wast +++ b/test/passes/optimize-added-constants-propagate_low-memory-unused.wast @@ -411,5 +411,25 @@ ) ) ) + (func $multiadd (param $sp i32) + (local $$vararg_buffer i32) + (local $$vararg_ptr1 i32) + (local.set $$vararg_buffer + (i32.add + (local.get $sp) + (i32.const 16) + ) + ) + (local.set $$vararg_ptr1 + (i32.add + (local.get $$vararg_buffer) + (i32.const 4) + ) + ) + (i32.store + (local.get $$vararg_ptr1) + (i32.const 1) + ) + ) ) |