summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2019-03-06 11:15:42 -0800
committerAlon Zakai <alonzakai@gmail.com>2019-03-06 16:34:34 -0800
commit22fe3269f79c38c7954967ec303642b5168844c3 (patch)
tree7a49400f32d013eb7ce72e15ac8a9ec71f1e2d77
parent56fc114121716c672d4a16f92e8323eada557177 (diff)
downloadbinaryen-22fe3269f79c38c7954967ec303642b5168844c3.tar.gz
binaryen-22fe3269f79c38c7954967ec303642b5168844c3.tar.bz2
binaryen-22fe3269f79c38c7954967ec303642b5168844c3.zip
Run multiple iterations in OptimizeAddedConstants
Multiple propagations may be possible in some cases, like nested structs in C.
-rw-r--r--src/passes/OptimizeAddedConstants.cpp46
-rw-r--r--test/emcc_O2_hello_world.fromasm630
-rw-r--r--test/emcc_O2_hello_world.fromasm.clamp630
-rw-r--r--test/emcc_O2_hello_world.fromasm.imprecise624
-rw-r--r--test/emcc_hello_world.fromasm7936
-rw-r--r--test/emcc_hello_world.fromasm.clamp7936
-rw-r--r--test/emcc_hello_world.fromasm.imprecise7988
-rw-r--r--test/memorygrowth.fromasm455
-rw-r--r--test/memorygrowth.fromasm.clamp455
-rw-r--r--test/memorygrowth.fromasm.imprecise449
-rw-r--r--test/passes/optimize-added-constants-propagate_low-memory-unused.txt20
-rw-r--r--test/passes/optimize-added-constants-propagate_low-memory-unused.wast20
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)
+ )
+ )
)