summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2018-11-27 09:26:29 -0800
committerGitHub <noreply@github.com>2018-11-27 09:26:29 -0800
commit70b949ffdc3e5f3fa83dd4044f632c95159674cf (patch)
treec2bb05065cd082305cad594e76a169d1a8005a9a
parent69c93dd9fb4cf8081237c4303a416bf12dff6b58 (diff)
downloadbinaryen-70b949ffdc3e5f3fa83dd4044f632c95159674cf.tar.gz
binaryen-70b949ffdc3e5f3fa83dd4044f632c95159674cf.tar.bz2
binaryen-70b949ffdc3e5f3fa83dd4044f632c95159674cf.zip
Stricter Canonicalization (#1774)
In OptimizeInstructions we canonicalized a const on the right side. This PR adds further canonicalization, of a get to the right, and of sorting by binary and unary op ids. This guarantees fixed orders for small combinations of instructions that can then be pattern-matched in a simple way in future PRs.
-rw-r--r--src/passes/OptimizeInstructions.cpp87
-rw-r--r--test/debugInfo.fromasm2
-rw-r--r--test/debugInfo.fromasm.clamp2
-rw-r--r--test/debugInfo.fromasm.imprecise2
-rw-r--r--test/debugInfo.fromasm.read-written2
-rw-r--r--test/emcc_O2_hello_world.fromasm1914
-rw-r--r--test/emcc_O2_hello_world.fromasm.clamp1914
-rw-r--r--test/emcc_O2_hello_world.fromasm.imprecise1914
-rw-r--r--test/emcc_hello_world.fromasm7669
-rw-r--r--test/emcc_hello_world.fromasm.clamp7669
-rw-r--r--test/emcc_hello_world.fromasm.imprecise7631
-rw-r--r--test/memorygrowth.fromasm1573
-rw-r--r--test/memorygrowth.fromasm.clamp1573
-rw-r--r--test/memorygrowth.fromasm.imprecise1573
-rw-r--r--test/noffi_i64.fromasm2
-rw-r--r--test/noffi_i64.fromasm.clamp2
-rw-r--r--test/noffi_i64.fromasm.imprecise2
-rw-r--r--test/passes/O.bin.txt6
-rw-r--r--test/passes/inlining-optimizing_optimize-level=3.txt6290
-rw-r--r--test/passes/optimize-instructions.txt399
-rw-r--r--test/passes/optimize-instructions.wast111
-rw-r--r--test/passes/optimize-instructions_optimize-level=2_ignore-implicit-traps.txt6
-rw-r--r--test/two_sides.fromasm4
-rw-r--r--test/two_sides.fromasm.clamp4
-rw-r--r--test/two_sides.fromasm.imprecise4
-rw-r--r--test/unit.fromasm4
-rw-r--r--test/unit.fromasm.clamp4
-rw-r--r--test/unit.fromasm.imprecise4
28 files changed, 20491 insertions, 19876 deletions
diff --git a/src/passes/OptimizeInstructions.cpp b/src/passes/OptimizeInstructions.cpp
index 7cdc048f7..e0c7217a5 100644
--- a/src/passes/OptimizeInstructions.cpp
+++ b/src/passes/OptimizeInstructions.cpp
@@ -270,10 +270,7 @@ struct OptimizeInstructions : public WalkerPass<PostWalker<OptimizeInstructions,
}
if (auto* binary = curr->dynCast<Binary>()) {
if (Properties::isSymmetric(binary)) {
- // canonicalize a const to the second position
- if (binary->left->is<Const>() && !binary->right->is<Const>()) {
- std::swap(binary->left, binary->right);
- }
+ canonicalize(binary);
}
if (auto* ext = Properties::getAlmostSignExt(binary)) {
Index extraShifts;
@@ -515,18 +512,22 @@ struct OptimizeInstructions : public WalkerPass<PostWalker<OptimizeInstructions,
}
// for and and or, we can potentially conditionalize
if (binary->op == AndInt32 || binary->op == OrInt32) {
- auto* ret = conditionalizeExpensiveOnBitwise(binary);
- if (ret) return ret;
+ if (auto* ret = conditionalizeExpensiveOnBitwise(binary)) {
+ return ret;
+ }
}
// relation/comparisons allow for math optimizations
if (binary->isRelational()) {
- auto* ret = optimizeRelational(binary);
- if (ret) return ret;
+ if (auto* ret = optimizeRelational(binary)) {
+ return ret;
+ }
}
- // finally, try more expensive operations on the binary
- if (!EffectAnalyzer(getPassOptions(), binary->left).hasSideEffects() &&
- ExpressionAnalyzer::equal(binary->left, binary->right)) {
- return optimizeBinaryWithEqualEffectlessChildren(binary);
+ // finally, try more expensive operations on the binary in
+ // the case that they have no side effects
+ if (!EffectAnalyzer(getPassOptions(), binary->left).hasSideEffects()) {
+ if (ExpressionAnalyzer::equal(binary->left, binary->right)) {
+ return optimizeBinaryWithEqualEffectlessChildren(binary);
+ }
}
} else if (auto* unary = curr->dynCast<Unary>()) {
// de-morgan's laws
@@ -724,6 +725,56 @@ private:
// Information about our locals
std::vector<LocalInfo> localInfo;
+ // Canonicalizing the order of a symmetric binary helps us
+ // write more concise pattern matching code elsewhere.
+ void canonicalize(Binary* binary) {
+ assert(Properties::isSymmetric(binary));
+ auto swap = [&]() {
+ assert(EffectAnalyzer::canReorder(getPassOptions(), binary->left, binary->right));
+ std::swap(binary->left, binary->right);
+ };
+ auto maybeSwap = [&]() {
+ if (EffectAnalyzer::canReorder(getPassOptions(), binary->left, binary->right)) {
+ swap();
+ }
+ };
+ // Prefer a const on the right.
+ if (binary->left->is<Const>() && !binary->right->is<Const>()) {
+ return swap();
+ }
+ if (binary->right->is<Const>()) return;
+ // Prefer a get on the right.
+ if (binary->left->is<GetLocal>() && !binary->right->is<GetLocal>()) {
+ return maybeSwap();
+ }
+ // Sort by the node id type, if different.
+ if (binary->left->_id != binary->right->_id) {
+ if (binary->left->_id > binary->right->_id) {
+ return maybeSwap();
+ }
+ return;
+ }
+ // If the children have the same node id, we have to go deeper.
+ if (auto* left = binary->left->dynCast<Unary>()) {
+ auto* right = binary->right->cast<Unary>();
+ if (left->op > right->op) {
+ return maybeSwap();
+ }
+ }
+ if (auto* left = binary->left->dynCast<Binary>()) {
+ auto* right = binary->right->cast<Binary>();
+ if (left->op > right->op) {
+ return maybeSwap();
+ }
+ }
+ if (auto* left = binary->left->dynCast<GetLocal>()) {
+ auto* right = binary->right->cast<GetLocal>();
+ if (left->index > right->index) {
+ return maybeSwap();
+ }
+ }
+ }
+
// Optimize given that the expression is flowing into a boolean context
Expression* optimizeBoolean(Expression* boolean) {
if (auto* unary = boolean->dynCast<Unary>()) {
@@ -1098,16 +1149,16 @@ private:
return nullptr;
}
- // integer math, even on 2s complement, allows stuff like
- // x + 5 == 7
- // =>
- // x == 2
// TODO: templatize on type?
Expression* optimizeRelational(Binary* binary) {
// TODO: inequalities can also work, if the constants do not overflow
auto type = binary->right->type;
- if (binary->op ==Abstract::getBinary(type, Abstract::Eq) ||
- binary->op ==Abstract::getBinary(type, Abstract::Ne)) {
+ // integer math, even on 2s complement, allows stuff like
+ // x + 5 == 7
+ // =>
+ // x == 2
+ if (binary->op == Abstract::getBinary(type, Abstract::Eq) ||
+ binary->op == Abstract::getBinary(type, Abstract::Ne)) {
if (isIntegerType(binary->left->type)) {
if (auto* left = binary->left->dynCast<Binary>()) {
if (left->op == Abstract::getBinary(type, Abstract::Add) ||
diff --git a/test/debugInfo.fromasm b/test/debugInfo.fromasm
index 895c032eb..45519f1ed 100644
--- a/test/debugInfo.fromasm
+++ b/test/debugInfo.fromasm
@@ -109,8 +109,8 @@
)
(if
(i32.ne
- (get_local $2)
(get_local $0)
+ (get_local $2)
)
(block
(set_local $4
diff --git a/test/debugInfo.fromasm.clamp b/test/debugInfo.fromasm.clamp
index 895c032eb..45519f1ed 100644
--- a/test/debugInfo.fromasm.clamp
+++ b/test/debugInfo.fromasm.clamp
@@ -109,8 +109,8 @@
)
(if
(i32.ne
- (get_local $2)
(get_local $0)
+ (get_local $2)
)
(block
(set_local $4
diff --git a/test/debugInfo.fromasm.imprecise b/test/debugInfo.fromasm.imprecise
index a0468d1f5..f8734889f 100644
--- a/test/debugInfo.fromasm.imprecise
+++ b/test/debugInfo.fromasm.imprecise
@@ -96,8 +96,8 @@
)
(if
(i32.ne
- (get_local $2)
(get_local $0)
+ (get_local $2)
)
(block
(set_local $4
diff --git a/test/debugInfo.fromasm.read-written b/test/debugInfo.fromasm.read-written
index 92deb4763..d6d001f1e 100644
--- a/test/debugInfo.fromasm.read-written
+++ b/test/debugInfo.fromasm.read-written
@@ -113,8 +113,8 @@
)
(if
(i32.ne
- (get_local $2)
(get_local $0)
+ (get_local $2)
)
(block
(set_local $4
diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm
index 616c6ae12..02e8174a9 100644
--- a/test/emcc_O2_hello_world.fromasm
+++ b/test/emcc_O2_hello_world.fromasm
@@ -114,12 +114,12 @@
(i32.and
(tee_local $1
(i32.shr_u
- (tee_local $15
+ (tee_local $14
(i32.load
(i32.const 176)
)
)
- (tee_local $5
+ (tee_local $8
(i32.shr_u
(tee_local $9
(select
@@ -158,6 +158,7 @@
(i32.shl
(tee_local $1
(i32.add
+ (get_local $8)
(i32.xor
(i32.and
(get_local $1)
@@ -165,7 +166,6 @@
)
(i32.const 1)
)
- (get_local $5)
)
)
(i32.const 3)
@@ -200,6 +200,7 @@
)
(if
(i32.eq
+ (get_local $0)
(i32.load
(tee_local $10
(i32.add
@@ -208,7 +209,6 @@
)
)
)
- (get_local $0)
)
(block
(i32.store
@@ -226,7 +226,6 @@
(i32.store
(i32.const 176)
(i32.and
- (get_local $15)
(i32.xor
(i32.shl
(i32.const 1)
@@ -234,6 +233,7 @@
)
(i32.const -1)
)
+ (get_local $14)
)
)
)
@@ -290,30 +290,30 @@
(tee_local $5
(i32.add
(i32.and
- (tee_local $3
- (i32.and
- (i32.shl
- (get_local $1)
- (get_local $5)
- )
- (i32.or
- (tee_local $5
- (i32.shl
- (i32.const 2)
- (get_local $5)
+ (i32.sub
+ (i32.const 0)
+ (tee_local $3
+ (i32.and
+ (i32.or
+ (i32.sub
+ (i32.const 0)
+ (tee_local $5
+ (i32.shl
+ (i32.const 2)
+ (get_local $8)
+ )
+ )
)
- )
- (i32.sub
- (i32.const 0)
(get_local $5)
)
+ (i32.shl
+ (get_local $1)
+ (get_local $8)
+ )
)
)
)
- (i32.sub
- (i32.const 0)
- (get_local $3)
- )
+ (get_local $3)
)
(i32.const -1)
)
@@ -323,109 +323,111 @@
(i32.const 16)
)
)
- (set_local $3
- (i32.load
- (tee_local $10
- (i32.add
- (tee_local $0
- (i32.load
- (tee_local $22
- (i32.add
- (tee_local $11
+ (set_local $5
+ (i32.and
+ (i32.shr_u
+ (tee_local $10
+ (i32.shr_u
+ (get_local $5)
+ (get_local $3)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $10
+ (i32.and
+ (i32.shr_u
+ (tee_local $0
+ (i32.shr_u
+ (get_local $10)
+ (get_local $5)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $11
+ (i32.shr_u
+ (get_local $0)
+ (get_local $10)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
+ (if
+ (i32.ne
+ (tee_local $3
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (tee_local $0
+ (i32.load
+ (tee_local $22
(i32.add
- (i32.shl
- (tee_local $7
- (i32.add
- (i32.or
- (i32.or
+ (tee_local $11
+ (i32.add
+ (i32.shl
+ (tee_local $7
+ (i32.add
(i32.or
- (i32.or
- (tee_local $5
- (i32.and
- (i32.shr_u
- (tee_local $10
- (i32.shr_u
- (get_local $5)
- (get_local $3)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $3)
- )
- (tee_local $10
+ (tee_local $11
(i32.and
(i32.shr_u
- (tee_local $0
+ (tee_local $22
(i32.shr_u
- (get_local $10)
- (get_local $5)
+ (get_local $11)
+ (get_local $0)
)
)
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (tee_local $11
- (i32.shr_u
- (get_local $0)
- (get_local $10)
- )
+ (i32.const 1)
)
(i32.const 1)
)
- (i32.const 2)
)
- )
- )
- (tee_local $11
- (i32.and
- (i32.shr_u
- (tee_local $22
- (i32.shr_u
- (get_local $11)
- (get_local $0)
+ (i32.or
+ (get_local $0)
+ (i32.or
+ (get_local $10)
+ (i32.or
+ (get_local $3)
+ (get_local $5)
)
)
- (i32.const 1)
)
- (i32.const 1)
+ )
+ (i32.shr_u
+ (get_local $22)
+ (get_local $11)
)
)
)
- (i32.shr_u
- (get_local $22)
- (get_local $11)
- )
+ (i32.const 3)
)
+ (i32.const 216)
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
- )
- )
- (if
- (i32.ne
(get_local $11)
- (get_local $3)
)
(block
(if
@@ -439,6 +441,7 @@
)
(if
(i32.eq
+ (get_local $0)
(i32.load
(tee_local $5
(i32.add
@@ -447,7 +450,6 @@
)
)
)
- (get_local $0)
)
(block
(i32.store
@@ -471,7 +473,6 @@
(i32.store
(i32.const 176)
(i32.and
- (get_local $15)
(i32.xor
(i32.shl
(i32.const 1)
@@ -479,6 +480,7 @@
)
(i32.const -1)
)
+ (get_local $14)
)
)
(set_local $17
@@ -494,7 +496,7 @@
)
)
(i32.store offset=4
- (tee_local $15
+ (tee_local $14
(i32.add
(get_local $0)
(get_local $9)
@@ -515,8 +517,8 @@
)
(i32.store
(i32.add
- (get_local $15)
(get_local $6)
+ (get_local $14)
)
(get_local $6)
)
@@ -544,7 +546,7 @@
)
(if
(i32.and
- (tee_local $5
+ (tee_local $8
(i32.load
(i32.const 176)
)
@@ -586,8 +588,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $5)
(get_local $1)
+ (get_local $8)
)
)
(set_local $38
@@ -625,7 +627,7 @@
)
(i32.store
(i32.const 196)
- (get_local $15)
+ (get_local $14)
)
(return
(get_local $10)
@@ -633,23 +635,23 @@
)
)
(if
- (tee_local $15
+ (tee_local $14
(i32.load
(i32.const 180)
)
)
(block
- (set_local $15
+ (set_local $14
(i32.and
(i32.shr_u
(tee_local $6
(i32.add
(i32.and
- (get_local $15)
(i32.sub
(i32.const 0)
- (get_local $15)
+ (get_local $14)
)
+ (get_local $14)
)
(i32.const -1)
)
@@ -659,6 +661,48 @@
(i32.const 16)
)
)
+ (set_local $6
+ (i32.and
+ (i32.shr_u
+ (tee_local $11
+ (i32.shr_u
+ (get_local $6)
+ (get_local $14)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $11
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.shr_u
+ (get_local $11)
+ (get_local $6)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $1
+ (i32.shr_u
+ (get_local $3)
+ (get_local $11)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
(set_local $1
(i32.sub
(i32.and
@@ -668,59 +712,10 @@
(i32.shl
(i32.add
(i32.or
- (i32.or
- (i32.or
- (i32.or
- (tee_local $6
- (i32.and
- (i32.shr_u
- (tee_local $11
- (i32.shr_u
- (get_local $6)
- (get_local $15)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $15)
- )
- (tee_local $11
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.shr_u
- (get_local $11)
- (get_local $6)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.shr_u
- (get_local $3)
- (get_local $11)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
(tee_local $1
(i32.and
(i32.shr_u
- (tee_local $5
+ (tee_local $8
(i32.shr_u
(get_local $1)
(get_local $3)
@@ -731,9 +726,19 @@
(i32.const 1)
)
)
+ (i32.or
+ (get_local $3)
+ (i32.or
+ (get_local $11)
+ (i32.or
+ (get_local $6)
+ (get_local $14)
+ )
+ )
+ )
)
(i32.shr_u
- (get_local $5)
+ (get_local $8)
(get_local $1)
)
)
@@ -748,7 +753,7 @@
)
)
(set_local $3
- (tee_local $5
+ (tee_local $8
(get_local $17)
)
)
@@ -760,23 +765,23 @@
(i32.sub
(i32.and
(i32.load offset=4
- (tee_local $5
+ (tee_local $8
(if (result i32)
(tee_local $17
(i32.load offset=16
- (get_local $5)
+ (get_local $8)
)
)
(get_local $17)
(if (result i32)
(tee_local $11
(i32.load offset=20
- (get_local $5)
+ (get_local $8)
)
)
(get_local $11)
(block
- (set_local $8
+ (set_local $5
(get_local $1)
)
(set_local $2
@@ -805,7 +810,7 @@
)
(set_local $3
(select
- (get_local $5)
+ (get_local $8)
(get_local $3)
(get_local $11)
)
@@ -827,7 +832,7 @@
(if
(i32.ge_u
(get_local $2)
- (tee_local $5
+ (tee_local $8
(i32.add
(get_local $2)
(get_local $9)
@@ -960,6 +965,7 @@
)
(if
(i32.ne
+ (get_local $2)
(i32.load
(tee_local $7
(i32.add
@@ -968,12 +974,12 @@
)
)
)
- (get_local $2)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $2)
(i32.load
(tee_local $11
(i32.add
@@ -982,7 +988,6 @@
)
)
)
- (get_local $2)
)
(block
(i32.store
@@ -1006,7 +1011,6 @@
(block $do-once8
(if
(i32.eq
- (get_local $2)
(i32.load
(tee_local $3
(i32.add
@@ -1022,6 +1026,7 @@
)
)
)
+ (get_local $2)
)
(block
(i32.store
@@ -1064,6 +1069,7 @@
)
(if
(i32.eq
+ (get_local $2)
(i32.load
(tee_local $10
(i32.add
@@ -1072,7 +1078,6 @@
)
)
)
- (get_local $2)
)
(i32.store
(get_local $10)
@@ -1159,7 +1164,7 @@
)
(if
(i32.lt_u
- (get_local $8)
+ (get_local $5)
(i32.const 16)
)
(block
@@ -1168,7 +1173,7 @@
(i32.or
(tee_local $1
(i32.add
- (get_local $8)
+ (get_local $5)
(get_local $9)
)
)
@@ -1179,8 +1184,8 @@
(tee_local $3
(i32.add
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $2)
)
(i32.const 4)
)
@@ -1202,9 +1207,9 @@
)
)
(i32.store offset=4
- (get_local $5)
+ (get_local $8)
(i32.or
- (get_local $8)
+ (get_local $5)
(i32.const 1)
)
)
@@ -1213,7 +1218,7 @@
(get_local $5)
(get_local $8)
)
- (get_local $8)
+ (get_local $5)
)
(if
(tee_local $3
@@ -1320,11 +1325,11 @@
)
(i32.store
(i32.const 184)
- (get_local $8)
+ (get_local $5)
)
(i32.store
(i32.const 196)
- (get_local $5)
+ (get_local $8)
)
)
)
@@ -1371,7 +1376,7 @@
)
)
(if
- (tee_local $15
+ (tee_local $14
(i32.load offset=480
(i32.shl
(tee_local $9
@@ -1388,83 +1393,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $1)
- (i32.add
- (tee_local $15
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $10
+ (i32.shl
+ (get_local $7)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $7)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $1)
+ (i32.add
+ (tee_local $14
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $7
+ (tee_local $10
(i32.and
(i32.shr_u
(i32.add
- (tee_local $10
+ (tee_local $17
(i32.shl
+ (get_local $10)
(get_local $7)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $7)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $3)
- )
- (tee_local $10
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $17
- (i32.shl
- (get_local $10)
- (get_local $7)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $3)
+ (get_local $7)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $17)
- (get_local $10)
+ (i32.shr_u
+ (i32.shl
+ (get_local $17)
+ (get_local $10)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $14)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $15)
- (i32.const 1)
)
)
)
@@ -1502,7 +1510,7 @@
)
)
(set_local $7
- (get_local $15)
+ (get_local $14)
)
(loop $while-in14
(if
@@ -1525,8 +1533,8 @@
(set_local $6
(if (result i32)
(i32.eq
- (get_local $22)
(get_local $1)
+ (get_local $22)
)
(block
(set_local $28
@@ -1587,7 +1595,7 @@
)
)
)
- (set_local $5
+ (set_local $8
(if (result i32)
(tee_local $0
(i32.eqz
@@ -1646,10 +1654,10 @@
(tee_local $0
(if (result i32)
(i32.or
- (get_local $5)
+ (get_local $8)
(get_local $31)
)
- (get_local $5)
+ (get_local $8)
(block (result i32)
(drop
(br_if $do-once
@@ -1657,19 +1665,19 @@
(i32.eqz
(tee_local $0
(i32.and
- (get_local $11)
(i32.or
- (tee_local $15
- (i32.shl
- (i32.const 2)
- (get_local $9)
- )
- )
(i32.sub
(i32.const 0)
- (get_local $15)
+ (tee_local $14
+ (i32.shl
+ (i32.const 2)
+ (get_local $9)
+ )
+ )
)
+ (get_local $14)
)
+ (get_local $11)
)
)
)
@@ -1678,14 +1686,14 @@
(set_local $0
(i32.and
(i32.shr_u
- (tee_local $15
+ (tee_local $14
(i32.add
(i32.and
- (get_local $0)
(i32.sub
(i32.const 0)
(get_local $0)
)
+ (get_local $0)
)
(i32.const -1)
)
@@ -1695,66 +1703,59 @@
(i32.const 16)
)
)
+ (set_local $14
+ (i32.and
+ (i32.shr_u
+ (tee_local $9
+ (i32.shr_u
+ (get_local $14)
+ (get_local $0)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $9
+ (i32.and
+ (i32.shr_u
+ (tee_local $8
+ (i32.shr_u
+ (get_local $9)
+ (get_local $14)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $8
+ (i32.and
+ (i32.shr_u
+ (tee_local $6
+ (i32.shr_u
+ (get_local $8)
+ (get_local $9)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
(i32.load offset=480
(i32.shl
(i32.add
(i32.or
- (i32.or
- (i32.or
- (i32.or
- (tee_local $15
- (i32.and
- (i32.shr_u
- (tee_local $9
- (i32.shr_u
- (get_local $15)
- (get_local $0)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $0)
- )
- (tee_local $9
- (i32.and
- (i32.shr_u
- (tee_local $5
- (i32.shr_u
- (get_local $9)
- (get_local $15)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $5
- (i32.and
- (i32.shr_u
- (tee_local $6
- (i32.shr_u
- (get_local $5)
- (get_local $9)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
(tee_local $6
(i32.and
(i32.shr_u
(tee_local $3
(i32.shr_u
(get_local $6)
- (get_local $5)
+ (get_local $8)
)
)
(i32.const 1)
@@ -1762,6 +1763,16 @@
(i32.const 1)
)
)
+ (i32.or
+ (get_local $8)
+ (i32.or
+ (get_local $9)
+ (i32.or
+ (get_local $0)
+ (get_local $14)
+ )
+ )
+ )
)
(i32.shr_u
(get_local $3)
@@ -1823,7 +1834,7 @@
(get_local $28)
)
)
- (set_local $5
+ (set_local $8
(select
(get_local $6)
(get_local $28)
@@ -1845,7 +1856,7 @@
)
(block
(set_local $28
- (get_local $5)
+ (get_local $8)
)
(set_local $26
(get_local $3)
@@ -1865,7 +1876,7 @@
)
(block
(set_local $28
- (get_local $5)
+ (get_local $8)
)
(set_local $30
(get_local $6)
@@ -1876,7 +1887,7 @@
(set_local $12
(get_local $6)
)
- (get_local $5)
+ (get_local $8)
)
)
)
@@ -1913,14 +1924,14 @@
(get_local $12)
(tee_local $6
(i32.add
- (get_local $12)
(get_local $1)
+ (get_local $12)
)
)
)
(call $_abort)
)
- (set_local $5
+ (set_local $8
(i32.load offset=24
(get_local $12)
)
@@ -1956,7 +1967,7 @@
(if (result i32)
(tee_local $17
(i32.load
- (tee_local $15
+ (tee_local $14
(i32.add
(get_local $12)
(i32.const 16)
@@ -1964,7 +1975,7 @@
)
)
)
- (get_local $15)
+ (get_local $14)
(br $do-once17)
)
)
@@ -2024,7 +2035,7 @@
(get_local $7)
(i32.const 0)
)
- (set_local $8
+ (set_local $5
(get_local $17)
)
)
@@ -2044,6 +2055,7 @@
)
(if
(i32.ne
+ (get_local $12)
(i32.load
(tee_local $0
(i32.add
@@ -2052,21 +2064,20 @@
)
)
)
- (get_local $12)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $12)
(i32.load
- (tee_local $15
+ (tee_local $14
(i32.add
(get_local $3)
(i32.const 8)
)
)
)
- (get_local $12)
)
(block
(i32.store
@@ -2074,10 +2085,10 @@
(get_local $3)
)
(i32.store
- (get_local $15)
+ (get_local $14)
(get_local $9)
)
- (set_local $8
+ (set_local $5
(get_local $3)
)
)
@@ -2086,11 +2097,10 @@
)
)
(if
- (get_local $5)
+ (get_local $8)
(block $do-once21
(if
(i32.eq
- (get_local $12)
(i32.load
(tee_local $11
(i32.add
@@ -2106,15 +2116,16 @@
)
)
)
+ (get_local $12)
)
(block
(i32.store
(get_local $11)
- (get_local $8)
+ (get_local $5)
)
(if
(i32.eqz
- (get_local $8)
+ (get_local $5)
)
(block
(i32.store
@@ -2139,7 +2150,7 @@
(block
(if
(i32.lt_u
- (get_local $5)
+ (get_local $8)
(i32.load
(i32.const 192)
)
@@ -2148,35 +2159,35 @@
)
(if
(i32.eq
+ (get_local $12)
(i32.load
(tee_local $3
(i32.add
- (get_local $5)
+ (get_local $8)
(i32.const 16)
)
)
)
- (get_local $12)
)
(i32.store
(get_local $3)
- (get_local $8)
+ (get_local $5)
)
(i32.store offset=20
- (get_local $5)
(get_local $8)
+ (get_local $5)
)
)
(br_if $do-once21
(i32.eqz
- (get_local $8)
+ (get_local $5)
)
)
)
)
(if
(i32.lt_u
- (get_local $8)
+ (get_local $5)
(tee_local $3
(i32.load
(i32.const 192)
@@ -2186,8 +2197,8 @@
(call $_abort)
)
(i32.store offset=24
- (get_local $8)
(get_local $5)
+ (get_local $8)
)
(if
(tee_local $11
@@ -2203,12 +2214,12 @@
(call $_abort)
(block
(i32.store offset=16
- (get_local $8)
+ (get_local $5)
(get_local $11)
)
(i32.store offset=24
(get_local $11)
- (get_local $8)
+ (get_local $5)
)
)
)
@@ -2229,12 +2240,12 @@
(call $_abort)
(block
(i32.store offset=20
- (get_local $8)
+ (get_local $5)
(get_local $11)
)
(i32.store offset=24
(get_local $11)
- (get_local $8)
+ (get_local $5)
)
)
)
@@ -2263,12 +2274,12 @@
)
(i32.store
(i32.add
- (get_local $6)
(get_local $2)
+ (get_local $6)
)
(get_local $2)
)
- (set_local $5
+ (set_local $8
(i32.shr_u
(get_local $2)
(i32.const 3)
@@ -2283,7 +2294,7 @@
(set_local $11
(i32.add
(i32.shl
- (get_local $5)
+ (get_local $8)
(i32.const 3)
)
(i32.const 216)
@@ -2291,23 +2302,23 @@
)
(if
(i32.and
- (tee_local $3
- (i32.load
- (i32.const 176)
- )
- )
(tee_local $9
(i32.shl
(i32.const 1)
- (get_local $5)
+ (get_local $8)
+ )
+ )
+ (tee_local $3
+ (i32.load
+ (i32.const 176)
)
)
)
(if
(i32.lt_u
- (tee_local $15
+ (tee_local $14
(i32.load
- (tee_local $5
+ (tee_local $8
(i32.add
(get_local $11)
(i32.const 8)
@@ -2322,10 +2333,10 @@
(call $_abort)
(block
(set_local $16
- (get_local $5)
+ (get_local $8)
)
(set_local $27
- (get_local $15)
+ (get_local $14)
)
)
)
@@ -2367,7 +2378,7 @@
(br $do-once25)
)
)
- (set_local $5
+ (set_local $8
(i32.add
(i32.shl
(tee_local $7
@@ -2384,83 +2395,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $2)
- (i32.add
- (tee_local $5
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $11
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $3
+ (i32.shl
+ (get_local $11)
+ (tee_local $9
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $11)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $2)
+ (i32.add
+ (tee_local $8
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $11
+ (tee_local $3
(i32.and
(i32.shr_u
(i32.add
- (tee_local $3
+ (tee_local $14
(i32.shl
+ (get_local $3)
(get_local $11)
- (tee_local $9
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $11)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $9)
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $15
- (i32.shl
- (get_local $3)
- (get_local $11)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $9)
+ (get_local $11)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $15)
- (get_local $3)
+ (i32.shr_u
+ (i32.shl
+ (get_local $14)
+ (get_local $3)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $8)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $5)
- (i32.const 1)
)
)
)
@@ -2492,17 +2506,17 @@
(if
(i32.eqz
(i32.and
- (tee_local $3
- (i32.load
- (i32.const 180)
- )
- )
- (tee_local $15
+ (tee_local $14
(i32.shl
(i32.const 1)
(get_local $7)
)
)
+ (tee_local $3
+ (i32.load
+ (i32.const 180)
+ )
+ )
)
)
(block
@@ -2510,16 +2524,16 @@
(i32.const 180)
(i32.or
(get_local $3)
- (get_local $15)
+ (get_local $14)
)
)
(i32.store
- (get_local $5)
+ (get_local $8)
(get_local $6)
)
(i32.store offset=24
(get_local $6)
- (get_local $5)
+ (get_local $8)
)
(i32.store offset=12
(get_local $6)
@@ -2532,7 +2546,7 @@
(br $do-once25)
)
)
- (set_local $15
+ (set_local $14
(i32.shl
(get_local $2)
(select
@@ -2553,7 +2567,7 @@
)
(set_local $3
(i32.load
- (get_local $5)
+ (get_local $8)
)
)
(if
@@ -2563,16 +2577,16 @@
(block $while-out27 (result i32)
(if
(i32.eq
+ (get_local $2)
(i32.and
(i32.load offset=4
(get_local $3)
)
(i32.const -8)
)
- (get_local $2)
)
(block
- (set_local $14
+ (set_local $15
(get_local $3)
)
(br $while-out27
@@ -2583,7 +2597,7 @@
(if (result i32)
(tee_local $9
(i32.load
- (tee_local $5
+ (tee_local $8
(i32.add
(i32.add
(get_local $3)
@@ -2591,7 +2605,7 @@
)
(i32.shl
(i32.shr_u
- (get_local $15)
+ (get_local $14)
(i32.const 31)
)
(i32.const 2)
@@ -2601,9 +2615,9 @@
)
)
(block
- (set_local $15
+ (set_local $14
(i32.shl
- (get_local $15)
+ (get_local $14)
(i32.const 1)
)
)
@@ -2614,9 +2628,9 @@
)
(block (result i32)
(set_local $23
- (get_local $5)
+ (get_local $8)
)
- (set_local $20
+ (set_local $19
(get_local $3)
)
(i32.const 145)
@@ -2642,7 +2656,7 @@
)
(i32.store offset=24
(get_local $6)
- (get_local $20)
+ (get_local $19)
)
(i32.store offset=12
(get_local $6)
@@ -2662,11 +2676,11 @@
(if
(i32.and
(i32.ge_u
- (tee_local $15
+ (tee_local $14
(i32.load
(tee_local $3
(i32.add
- (get_local $14)
+ (get_local $15)
(i32.const 8)
)
)
@@ -2679,13 +2693,13 @@
)
)
(i32.ge_u
- (get_local $14)
+ (get_local $15)
(get_local $9)
)
)
(block
(i32.store offset=12
- (get_local $15)
+ (get_local $14)
(get_local $6)
)
(i32.store
@@ -2694,11 +2708,11 @@
)
(i32.store offset=8
(get_local $6)
- (get_local $15)
+ (get_local $14)
)
(i32.store offset=12
(get_local $6)
- (get_local $14)
+ (get_local $15)
)
(i32.store offset=24
(get_local $6)
@@ -2714,10 +2728,10 @@
(i32.store offset=4
(get_local $12)
(i32.or
- (tee_local $15
+ (tee_local $14
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $2)
)
)
(i32.const 3)
@@ -2728,7 +2742,7 @@
(i32.add
(i32.add
(get_local $12)
- (get_local $15)
+ (get_local $14)
)
(i32.const 4)
)
@@ -2769,7 +2783,7 @@
(get_local $9)
)
(block
- (set_local $14
+ (set_local $15
(i32.load
(i32.const 196)
)
@@ -2787,10 +2801,10 @@
(block
(i32.store
(i32.const 196)
- (tee_local $20
+ (tee_local $19
(i32.add
- (get_local $14)
(get_local $9)
+ (get_local $15)
)
)
)
@@ -2799,7 +2813,7 @@
(get_local $2)
)
(i32.store offset=4
- (get_local $20)
+ (get_local $19)
(i32.or
(get_local $2)
(i32.const 1)
@@ -2807,13 +2821,13 @@
)
(i32.store
(i32.add
- (get_local $20)
(get_local $2)
+ (get_local $19)
)
(get_local $2)
)
(i32.store offset=4
- (get_local $14)
+ (get_local $15)
(i32.or
(get_local $9)
(i32.const 3)
@@ -2830,7 +2844,7 @@
(i32.const 0)
)
(i32.store offset=4
- (get_local $14)
+ (get_local $15)
(i32.or
(get_local $12)
(i32.const 3)
@@ -2840,8 +2854,8 @@
(tee_local $2
(i32.add
(i32.add
- (get_local $14)
(get_local $12)
+ (get_local $15)
)
(i32.const 4)
)
@@ -2857,7 +2871,7 @@
)
(return
(i32.add
- (get_local $14)
+ (get_local $15)
(i32.const 8)
)
)
@@ -2865,7 +2879,7 @@
)
(if
(i32.gt_u
- (tee_local $14
+ (tee_local $15
(i32.load
(i32.const 188)
)
@@ -2877,7 +2891,7 @@
(i32.const 188)
(tee_local $2
(i32.sub
- (get_local $14)
+ (get_local $15)
(get_local $9)
)
)
@@ -2886,12 +2900,12 @@
(i32.const 200)
(tee_local $12
(i32.add
- (tee_local $14
+ (get_local $9)
+ (tee_local $15
(i32.load
(i32.const 200)
)
)
- (get_local $9)
)
)
)
@@ -2903,7 +2917,7 @@
)
)
(i32.store offset=4
- (get_local $14)
+ (get_local $15)
(i32.or
(get_local $9)
(i32.const 3)
@@ -2911,7 +2925,7 @@
)
(return
(i32.add
- (get_local $14)
+ (get_local $15)
(i32.const 8)
)
)
@@ -2925,25 +2939,25 @@
)
(if
(i32.and
- (i32.add
- (tee_local $14
- (call $_sysconf
- (i32.const 30)
- )
+ (tee_local $15
+ (call $_sysconf
+ (i32.const 30)
)
+ )
+ (i32.add
+ (get_local $15)
(i32.const -1)
)
- (get_local $14)
)
(call $_abort)
(block
(i32.store
(i32.const 656)
- (get_local $14)
+ (get_local $15)
)
(i32.store
(i32.const 652)
- (get_local $14)
+ (get_local $15)
)
(i32.store
(i32.const 660)
@@ -2976,37 +2990,38 @@
)
)
)
- (set_local $14
+ (set_local $15
(i32.add
(get_local $9)
(i32.const 48)
)
)
+ (set_local $19
+ (i32.add
+ (tee_local $2
+ (i32.load
+ (i32.const 656)
+ )
+ )
+ (tee_local $12
+ (i32.add
+ (get_local $9)
+ (i32.const 47)
+ )
+ )
+ )
+ )
(if
(i32.le_u
(tee_local $2
(i32.and
- (tee_local $20
- (i32.add
- (tee_local $2
- (i32.load
- (i32.const 656)
- )
- )
- (tee_local $12
- (i32.add
- (get_local $9)
- (i32.const 47)
- )
- )
- )
- )
(tee_local $23
(i32.sub
(i32.const 0)
(get_local $2)
)
)
+ (get_local $19)
)
)
(get_local $9)
@@ -3026,12 +3041,12 @@
(i32.le_u
(tee_local $16
(i32.add
+ (get_local $2)
(tee_local $27
(i32.load
(i32.const 608)
)
)
- (get_local $2)
)
)
(get_local $27)
@@ -3091,15 +3106,15 @@
)
(i32.gt_u
(i32.add
- (get_local $27)
(i32.load
- (tee_local $8
+ (tee_local $5
(i32.add
(get_local $16)
(i32.const 4)
)
)
)
+ (get_local $27)
)
(get_local $7)
)
@@ -3109,8 +3124,8 @@
(set_local $6
(get_local $16)
)
- (set_local $5
- (get_local $8)
+ (set_local $8
+ (get_local $5)
)
(br $while-out33)
)
@@ -3132,61 +3147,64 @@
(i32.lt_u
(tee_local $16
(i32.and
+ (get_local $23)
(i32.sub
- (get_local $20)
+ (get_local $19)
(i32.load
(i32.const 188)
)
)
- (get_local $23)
)
)
(i32.const 2147483647)
)
- (if
- (i32.eq
- (tee_local $8
- (call $_sbrk
- (get_local $16)
- )
+ (block
+ (set_local $5
+ (call $_sbrk
+ (get_local $16)
)
- (i32.add
- (i32.load
- (get_local $6)
+ )
+ (if
+ (i32.eq
+ (i32.add
+ (i32.load
+ (get_local $6)
+ )
+ (i32.load
+ (get_local $8)
+ )
)
- (i32.load
+ (get_local $5)
+ )
+ (if
+ (i32.ne
(get_local $5)
+ (i32.const -1)
+ )
+ (block
+ (set_local $20
+ (get_local $5)
+ )
+ (set_local $21
+ (get_local $16)
+ )
+ (br $label$break$L257
+ (i32.const 193)
+ )
)
- )
- )
- (if
- (i32.ne
- (get_local $8)
- (i32.const -1)
)
(block
- (set_local $19
- (get_local $8)
+ (set_local $13
+ (get_local $5)
)
- (set_local $21
+ (set_local $18
(get_local $16)
)
- (br $label$break$L257
- (i32.const 193)
+ (set_local $10
+ (i32.const 183)
)
)
)
- (block
- (set_local $13
- (get_local $8)
- )
- (set_local $18
- (get_local $16)
- )
- (set_local $10
- (i32.const 183)
- )
- )
)
)
)
@@ -3214,7 +3232,10 @@
(set_local $0
(if (result i32)
(i32.and
- (tee_local $8
+ (tee_local $1
+ (get_local $7)
+ )
+ (tee_local $5
(i32.add
(tee_local $16
(i32.load
@@ -3224,9 +3245,6 @@
(i32.const -1)
)
)
- (tee_local $1
- (get_local $7)
- )
)
(i32.add
(i32.sub
@@ -3235,8 +3253,8 @@
)
(i32.and
(i32.add
- (get_local $8)
(get_local $1)
+ (get_local $5)
)
(i32.sub
(i32.const 0)
@@ -3259,14 +3277,14 @@
)
(if
(i32.and
- (i32.gt_u
- (get_local $0)
- (get_local $9)
- )
(i32.lt_u
(get_local $0)
(i32.const 2147483647)
)
+ (i32.gt_u
+ (get_local $0)
+ (get_local $9)
+ )
)
(block
(br_if $do-once35
@@ -3278,7 +3296,7 @@
)
(i32.gt_u
(get_local $1)
- (tee_local $8
+ (tee_local $5
(i32.load
(i32.const 616)
)
@@ -3286,13 +3304,13 @@
)
)
(i32.const 0)
- (get_local $8)
+ (get_local $5)
)
)
(set_local $18
(if (result i32)
(i32.eq
- (tee_local $8
+ (tee_local $5
(call $_sbrk
(get_local $0)
)
@@ -3300,7 +3318,7 @@
(get_local $7)
)
(block
- (set_local $19
+ (set_local $20
(get_local $7)
)
(set_local $21
@@ -3312,7 +3330,7 @@
)
(block (result i32)
(set_local $13
- (get_local $8)
+ (get_local $5)
)
(set_local $10
(i32.const 183)
@@ -3331,7 +3349,7 @@
(i32.const 183)
)
(block $label$break$L279
- (set_local $8
+ (set_local $5
(i32.sub
(i32.const 0)
(get_local $18)
@@ -3341,34 +3359,34 @@
(if (result i32)
(if (result i32)
(i32.and
- (i32.gt_u
- (get_local $14)
- (get_local $18)
- )
(i32.and
- (i32.lt_u
- (get_local $18)
- (i32.const 2147483647)
- )
(i32.ne
(get_local $13)
(i32.const -1)
)
+ (i32.lt_u
+ (get_local $18)
+ (i32.const 2147483647)
+ )
+ )
+ (i32.gt_u
+ (get_local $15)
+ (get_local $18)
)
)
(i32.lt_u
(tee_local $1
(i32.and
(i32.add
- (i32.sub
- (get_local $12)
- (get_local $18)
- )
(tee_local $7
(i32.load
(i32.const 656)
)
)
+ (i32.sub
+ (get_local $12)
+ (get_local $18)
+ )
)
(i32.sub
(i32.const 0)
@@ -3390,7 +3408,7 @@
(block
(drop
(call $_sbrk
- (get_local $8)
+ (get_local $5)
)
)
(br $label$break$L279)
@@ -3409,7 +3427,7 @@
(i32.const -1)
)
(block
- (set_local $19
+ (set_local $20
(get_local $13)
)
(set_local $21
@@ -3439,28 +3457,28 @@
)
)
(i32.and
- (i32.lt_u
- (tee_local $4
- (call $_sbrk
- (get_local $2)
- )
- )
- (tee_local $2
- (call $_sbrk
- (i32.const 0)
- )
- )
- )
(i32.and
(i32.ne
- (get_local $4)
+ (tee_local $4
+ (call $_sbrk
+ (get_local $2)
+ )
+ )
(i32.const -1)
)
(i32.ne
- (get_local $2)
+ (tee_local $2
+ (call $_sbrk
+ (i32.const 0)
+ )
+ )
(i32.const -1)
)
)
+ (i32.lt_u
+ (get_local $4)
+ (get_local $2)
+ )
)
(i32.const 0)
)
@@ -3479,7 +3497,7 @@
(i32.const 0)
)
(block
- (set_local $19
+ (set_local $20
(get_local $4)
)
(set_local $21
@@ -3500,10 +3518,10 @@
(i32.const 608)
(tee_local $13
(i32.add
+ (get_local $21)
(i32.load
(i32.const 608)
)
- (get_local $21)
)
)
)
@@ -3533,7 +3551,6 @@
(block $do-out
(if
(i32.eq
- (get_local $19)
(i32.add
(tee_local $2
(i32.load
@@ -3551,6 +3568,7 @@
)
)
)
+ (get_local $20)
)
(block
(set_local $46
@@ -3600,7 +3618,7 @@
(i32.and
(i32.lt_u
(get_local $13)
- (get_local $19)
+ (get_local $20)
)
(i32.ge_u
(get_local $13)
@@ -3613,13 +3631,12 @@
(i32.store
(get_local $47)
(i32.add
- (get_local $48)
(get_local $21)
+ (get_local $48)
)
)
(set_local $4
(i32.add
- (get_local $13)
(tee_local $12
(select
(i32.and
@@ -3641,17 +3658,18 @@
)
)
)
+ (get_local $13)
)
)
(set_local $18
(i32.add
+ (i32.load
+ (i32.const 188)
+ )
(i32.sub
(get_local $21)
(get_local $12)
)
- (i32.load
- (i32.const 188)
- )
)
)
(i32.store
@@ -3688,7 +3706,7 @@
(set_local $3
(if (result i32)
(i32.lt_u
- (get_local $19)
+ (get_local $20)
(tee_local $18
(i32.load
(i32.const 192)
@@ -3698,16 +3716,16 @@
(block (result i32)
(i32.store
(i32.const 192)
- (get_local $19)
+ (get_local $20)
)
- (get_local $19)
+ (get_local $20)
)
(get_local $18)
)
)
(set_local $18
(i32.add
- (get_local $19)
+ (get_local $20)
(get_local $21)
)
)
@@ -3718,10 +3736,10 @@
(block $while-out42
(if
(i32.eq
+ (get_local $18)
(i32.load
(get_local $4)
)
- (get_local $18)
)
(block
(set_local $50
@@ -3765,7 +3783,7 @@
(block
(i32.store
(get_local $50)
- (get_local $19)
+ (get_local $20)
)
(i32.store
(tee_local $4
@@ -3775,22 +3793,21 @@
)
)
(i32.add
+ (get_local $21)
(i32.load
(get_local $4)
)
- (get_local $21)
)
)
(set_local $12
(i32.add
- (get_local $19)
(select
(i32.and
(i32.sub
(i32.const 0)
(tee_local $4
(i32.add
- (get_local $19)
+ (get_local $20)
(i32.const 8)
)
)
@@ -3803,11 +3820,11 @@
(i32.const 7)
)
)
+ (get_local $20)
)
)
(set_local $2
(i32.add
- (get_local $18)
(select
(i32.and
(i32.sub
@@ -3827,15 +3844,16 @@
(i32.const 7)
)
)
+ (get_local $18)
)
)
(set_local $4
(i32.add
- (get_local $12)
(get_local $9)
+ (get_local $12)
)
)
- (set_local $14
+ (set_local $15
(i32.sub
(i32.sub
(get_local $2)
@@ -3859,20 +3877,20 @@
(block $do-once44
(if
(i32.eq
- (get_local $2)
(i32.load
(i32.const 196)
)
+ (get_local $2)
)
(block
(i32.store
(i32.const 184)
(tee_local $0
(i32.add
+ (get_local $15)
(i32.load
(i32.const 184)
)
- (get_local $14)
)
)
)
@@ -3889,8 +3907,8 @@
)
(i32.store
(i32.add
- (get_local $4)
(get_local $0)
+ (get_local $4)
)
(get_local $0)
)
@@ -3910,7 +3928,7 @@
(i32.const 1)
)
(block
- (set_local $5
+ (set_local $8
(i32.and
(get_local $0)
(i32.const -8)
@@ -3936,12 +3954,12 @@
)
(if
(i32.eq
- (tee_local $20
+ (get_local $2)
+ (tee_local $19
(i32.load offset=12
(get_local $2)
)
)
- (get_local $2)
)
(block $do-once47
(set_local $0
@@ -3950,7 +3968,7 @@
(i32.load
(tee_local $1
(i32.add
- (tee_local $8
+ (tee_local $5
(i32.add
(get_local $2)
(i32.const 16)
@@ -3962,7 +3980,7 @@
)
)
(block (result i32)
- (set_local $8
+ (set_local $5
(get_local $1)
)
(get_local $7)
@@ -3970,7 +3988,7 @@
(if (result i32)
(tee_local $16
(i32.load
- (get_local $8)
+ (get_local $5)
)
)
(get_local $16)
@@ -3994,7 +4012,7 @@
(set_local $0
(get_local $7)
)
- (set_local $8
+ (set_local $5
(get_local $1)
)
(br $while-in50)
@@ -4015,7 +4033,7 @@
(set_local $0
(get_local $7)
)
- (set_local $8
+ (set_local $5
(get_local $1)
)
(br $while-in50)
@@ -4024,13 +4042,13 @@
)
(if
(i32.lt_u
- (get_local $8)
+ (get_local $5)
(get_local $3)
)
(call $_abort)
(block
(i32.store
- (get_local $8)
+ (get_local $5)
(i32.const 0)
)
(set_local $25
@@ -4053,6 +4071,7 @@
)
(if
(i32.ne
+ (get_local $2)
(i32.load
(tee_local $7
(i32.add
@@ -4061,33 +4080,32 @@
)
)
)
- (get_local $2)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $2)
(i32.load
- (tee_local $8
+ (tee_local $5
(i32.add
- (get_local $20)
+ (get_local $19)
(i32.const 8)
)
)
)
- (get_local $2)
)
(block
(i32.store
(get_local $7)
- (get_local $20)
+ (get_local $19)
)
(i32.store
- (get_local $8)
+ (get_local $5)
(get_local $1)
)
(set_local $25
- (get_local $20)
+ (get_local $19)
)
)
(call $_abort)
@@ -4101,12 +4119,11 @@
)
(if
(i32.ne
- (get_local $2)
(i32.load
(tee_local $1
(i32.add
(i32.shl
- (tee_local $20
+ (tee_local $19
(i32.load offset=28
(get_local $2)
)
@@ -4117,6 +4134,7 @@
)
)
)
+ (get_local $2)
)
(block
(if
@@ -4130,18 +4148,18 @@
)
(if
(i32.eq
+ (get_local $2)
(i32.load
- (tee_local $8
+ (tee_local $5
(i32.add
(get_local $23)
(i32.const 16)
)
)
)
- (get_local $2)
)
(i32.store
- (get_local $8)
+ (get_local $5)
(get_local $25)
)
(i32.store offset=20
@@ -4172,7 +4190,7 @@
(i32.xor
(i32.shl
(i32.const 1)
- (get_local $20)
+ (get_local $19)
)
(i32.const -1)
)
@@ -4184,7 +4202,7 @@
(if
(i32.lt_u
(get_local $25)
- (tee_local $20
+ (tee_local $19
(i32.load
(i32.const 192)
)
@@ -4197,7 +4215,7 @@
(get_local $23)
)
(if
- (tee_local $8
+ (tee_local $5
(i32.load
(tee_local $1
(i32.add
@@ -4209,17 +4227,17 @@
)
(if
(i32.lt_u
- (get_local $8)
- (get_local $20)
+ (get_local $5)
+ (get_local $19)
)
(call $_abort)
(block
(i32.store offset=16
(get_local $25)
- (get_local $8)
+ (get_local $5)
)
(i32.store offset=24
- (get_local $8)
+ (get_local $5)
(get_local $25)
)
)
@@ -4227,7 +4245,7 @@
)
(br_if $label$break$L331
(i32.eqz
- (tee_local $8
+ (tee_local $5
(i32.load offset=4
(get_local $1)
)
@@ -4236,7 +4254,7 @@
)
(if
(i32.lt_u
- (get_local $8)
+ (get_local $5)
(i32.load
(i32.const 192)
)
@@ -4245,24 +4263,24 @@
(block
(i32.store offset=20
(get_local $25)
- (get_local $8)
+ (get_local $5)
)
(i32.store offset=24
- (get_local $8)
+ (get_local $5)
(get_local $25)
)
)
)
)
(block
- (set_local $20
+ (set_local $19
(i32.load offset=12
(get_local $2)
)
)
(if
(i32.ne
- (tee_local $8
+ (tee_local $5
(i32.load offset=8
(get_local $2)
)
@@ -4280,17 +4298,17 @@
(block $do-once55
(if
(i32.lt_u
- (get_local $8)
+ (get_local $5)
(get_local $3)
)
(call $_abort)
)
(br_if $do-once55
(i32.eq
+ (get_local $2)
(i32.load offset=12
- (get_local $8)
+ (get_local $5)
)
- (get_local $2)
)
)
(call $_abort)
@@ -4298,8 +4316,8 @@
)
(if
(i32.eq
- (get_local $20)
- (get_local $8)
+ (get_local $5)
+ (get_local $19)
)
(block
(i32.store
@@ -4322,34 +4340,34 @@
)
(if
(i32.eq
- (get_local $20)
+ (get_local $19)
(get_local $23)
)
(set_local $41
(i32.add
- (get_local $20)
+ (get_local $19)
(i32.const 8)
)
)
(block $do-once57
(if
(i32.lt_u
- (get_local $20)
+ (get_local $19)
(get_local $3)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $2)
(i32.load
(tee_local $1
(i32.add
- (get_local $20)
+ (get_local $19)
(i32.const 8)
)
)
)
- (get_local $2)
)
(block
(set_local $41
@@ -4362,12 +4380,12 @@
)
)
(i32.store offset=12
- (get_local $8)
- (get_local $20)
+ (get_local $5)
+ (get_local $19)
)
(i32.store
(get_local $41)
- (get_local $8)
+ (get_local $5)
)
)
)
@@ -4375,13 +4393,13 @@
(set_local $2
(i32.add
(get_local $2)
- (get_local $5)
+ (get_local $8)
)
)
- (set_local $14
+ (set_local $15
(i32.add
- (get_local $5)
- (get_local $14)
+ (get_local $8)
+ (get_local $15)
)
)
)
@@ -4403,26 +4421,26 @@
(i32.store offset=4
(get_local $4)
(i32.or
- (get_local $14)
+ (get_local $15)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $4)
- (get_local $14)
+ (get_local $15)
)
- (get_local $14)
+ (get_local $15)
)
(set_local $6
(i32.shr_u
- (get_local $14)
+ (get_local $15)
(i32.const 3)
)
)
(if
(i32.lt_u
- (get_local $14)
+ (get_local $15)
(i32.const 256)
)
(block
@@ -4437,17 +4455,17 @@
)
(if
(i32.and
- (tee_local $23
- (i32.load
- (i32.const 176)
- )
- )
(tee_local $1
(i32.shl
(i32.const 1)
(get_local $6)
)
)
+ (tee_local $23
+ (i32.load
+ (i32.const 176)
+ )
+ )
)
(block $do-once59
(if
@@ -4482,8 +4500,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $23)
(get_local $1)
+ (get_local $23)
)
)
(set_local $42
@@ -4523,93 +4541,96 @@
(if (result i32)
(tee_local $1
(i32.shr_u
- (get_local $14)
+ (get_local $15)
(i32.const 8)
)
)
(if (result i32)
(i32.gt_u
- (get_local $14)
+ (get_local $15)
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $14)
- (i32.add
- (tee_local $16
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $8
+ (i32.shl
+ (get_local $1)
+ (tee_local $23
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $1)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $15)
+ (i32.add
+ (tee_local $16
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $7
+ (tee_local $8
(i32.and
(i32.shr_u
(i32.add
- (tee_local $5
+ (tee_local $6
(i32.shl
- (get_local $1)
- (tee_local $23
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $1)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
+ (get_local $8)
+ (get_local $7)
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $23)
- )
- (tee_local $5
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $6
- (i32.shl
- (get_local $5)
- (get_local $7)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $7)
+ (get_local $23)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $6)
- (get_local $5)
+ (i32.shr_u
+ (i32.shl
+ (get_local $6)
+ (get_local $8)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $16)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $16)
- (i32.const 1)
)
)
)
@@ -4641,17 +4662,17 @@
(if
(i32.eqz
(i32.and
- (tee_local $0
- (i32.load
- (i32.const 180)
- )
- )
(tee_local $16
(i32.shl
(i32.const 1)
(get_local $7)
)
)
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
+ )
+ )
)
)
(block
@@ -4683,7 +4704,7 @@
)
(set_local $16
(i32.shl
- (get_local $14)
+ (get_local $15)
(select
(i32.const 0)
(i32.sub
@@ -4712,13 +4733,13 @@
(block $while-out63 (result i32)
(if
(i32.eq
+ (get_local $15)
(i32.and
(i32.load offset=4
(get_local $0)
)
(i32.const -8)
)
- (get_local $14)
)
(block
(set_local $35
@@ -4730,7 +4751,7 @@
)
)
(if (result i32)
- (tee_local $5
+ (tee_local $8
(i32.load
(tee_local $1
(i32.add
@@ -4757,7 +4778,7 @@
)
)
(set_local $0
- (get_local $5)
+ (get_local $8)
)
(br $while-in64)
)
@@ -4821,7 +4842,7 @@
)
)
)
- (tee_local $5
+ (tee_local $8
(i32.load
(i32.const 192)
)
@@ -4829,7 +4850,7 @@
)
(i32.ge_u
(get_local $35)
- (get_local $5)
+ (get_local $8)
)
)
(block
@@ -4864,10 +4885,10 @@
(i32.const 188)
(tee_local $16
(i32.add
+ (get_local $15)
(i32.load
(i32.const 188)
)
- (get_local $14)
)
)
)
@@ -4894,53 +4915,6 @@
)
)
)
- (set_local $14
- (i32.add
- (tee_local $12
- (i32.add
- (tee_local $0
- (loop $while-in66 (result i32)
- (if (result i32)
- (if (result i32)
- (i32.le_u
- (tee_local $4
- (i32.load
- (get_local $29)
- )
- )
- (get_local $13)
- )
- (i32.gt_u
- (tee_local $14
- (i32.add
- (get_local $4)
- (i32.load offset=4
- (get_local $29)
- )
- )
- )
- (get_local $13)
- )
- (i32.const 0)
- )
- (get_local $14)
- (block
- (set_local $29
- (i32.load offset=8
- (get_local $29)
- )
- )
- (br $while-in66)
- )
- )
- )
- )
- (i32.const -47)
- )
- )
- (i32.const 8)
- )
- )
(set_local $4
(i32.add
(tee_local $12
@@ -4948,26 +4922,72 @@
(get_local $13)
(tee_local $4
(i32.add
- (get_local $12)
(select
(i32.and
(i32.sub
(i32.const 0)
- (get_local $14)
+ (tee_local $15
+ (i32.add
+ (tee_local $12
+ (i32.add
+ (tee_local $0
+ (loop $while-in66 (result i32)
+ (if (result i32)
+ (if (result i32)
+ (i32.le_u
+ (tee_local $4
+ (i32.load
+ (get_local $29)
+ )
+ )
+ (get_local $13)
+ )
+ (i32.gt_u
+ (tee_local $15
+ (i32.add
+ (i32.load offset=4
+ (get_local $29)
+ )
+ (get_local $4)
+ )
+ )
+ (get_local $13)
+ )
+ (i32.const 0)
+ )
+ (get_local $15)
+ (block
+ (set_local $29
+ (i32.load offset=8
+ (get_local $29)
+ )
+ )
+ (br $while-in66)
+ )
+ )
+ )
+ )
+ (i32.const -47)
+ )
+ )
+ (i32.const 8)
+ )
+ )
)
(i32.const 7)
)
(i32.const 0)
(i32.and
- (get_local $14)
+ (get_local $15)
(i32.const 7)
)
)
+ (get_local $12)
)
)
(i32.lt_u
(get_local $4)
- (tee_local $14
+ (tee_local $15
(i32.add
(get_local $13)
(i32.const 16)
@@ -4983,7 +5003,7 @@
(i32.const 200)
(tee_local $2
(i32.add
- (get_local $19)
+ (get_local $20)
(tee_local $18
(select
(i32.and
@@ -4991,7 +5011,7 @@
(i32.const 0)
(tee_local $2
(i32.add
- (get_local $19)
+ (get_local $20)
(i32.const 8)
)
)
@@ -5075,7 +5095,7 @@
)
(i32.store
(i32.const 624)
- (get_local $19)
+ (get_local $20)
)
(i32.store
(i32.const 628)
@@ -5169,17 +5189,17 @@
)
(if
(i32.and
- (tee_local $0
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $5
+ (tee_local $8
(i32.shl
(i32.const 1)
(get_local $2)
)
)
+ (tee_local $0
+ (i32.load
+ (i32.const 176)
+ )
+ )
)
(if
(i32.lt_u
@@ -5212,7 +5232,7 @@
(i32.const 176)
(i32.or
(get_local $0)
- (get_local $5)
+ (get_local $8)
)
)
(set_local $44
@@ -5262,83 +5282,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $4)
- (i32.add
- (tee_local $2
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $18
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $18)
+ (tee_local $8
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $18)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $4)
+ (i32.add
+ (tee_local $2
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $18
+ (tee_local $0
(i32.and
(i32.shr_u
(i32.add
- (tee_local $0
+ (tee_local $1
(i32.shl
+ (get_local $0)
(get_local $18)
- (tee_local $5
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $18)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $5)
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (get_local $18)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $8)
+ (get_local $18)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $2)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $2)
- (i32.const 1)
)
)
)
@@ -5359,23 +5382,23 @@
(i32.const 0)
)
(i32.store
- (get_local $14)
+ (get_local $15)
(i32.const 0)
)
(if
(i32.eqz
(i32.and
- (tee_local $0
- (i32.load
- (i32.const 180)
- )
- )
(tee_local $1
(i32.shl
(i32.const 1)
(get_local $7)
)
)
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
+ )
+ )
)
)
(block
@@ -5436,13 +5459,13 @@
(block $while-out69 (result i32)
(if
(i32.eq
+ (get_local $4)
(i32.and
(i32.load offset=4
(get_local $0)
)
(i32.const -8)
)
- (get_local $4)
)
(block
(set_local $37
@@ -5454,7 +5477,7 @@
)
)
(if (result i32)
- (tee_local $5
+ (tee_local $8
(i32.load
(tee_local $2
(i32.add
@@ -5481,7 +5504,7 @@
)
)
(set_local $0
- (get_local $5)
+ (get_local $8)
)
(br $while-in70)
)
@@ -5596,18 +5619,18 @@
)
)
(i32.lt_u
- (get_local $19)
+ (get_local $20)
(get_local $1)
)
)
(i32.store
(i32.const 192)
- (get_local $19)
+ (get_local $20)
)
)
(i32.store
(i32.const 624)
- (get_local $19)
+ (get_local $20)
)
(i32.store
(i32.const 628)
@@ -5663,7 +5686,7 @@
(i32.const 200)
(tee_local $1
(i32.add
- (get_local $19)
+ (get_local $20)
(tee_local $0
(select
(i32.and
@@ -5671,7 +5694,7 @@
(i32.const 0)
(tee_local $1
(i32.add
- (get_local $19)
+ (get_local $20)
(i32.const 8)
)
)
@@ -5734,7 +5757,7 @@
(block
(i32.store
(i32.const 188)
- (tee_local $19
+ (tee_local $20
(i32.sub
(get_local $21)
(get_local $9)
@@ -5745,19 +5768,19 @@
(i32.const 200)
(tee_local $13
(i32.add
+ (get_local $9)
(tee_local $21
(i32.load
(i32.const 200)
)
)
- (get_local $9)
)
)
)
(i32.store offset=4
(get_local $13)
(i32.or
- (get_local $19)
+ (get_local $20)
(i32.const 1)
)
)
@@ -5883,8 +5906,8 @@
)
(set_local $5
(i32.add
- (get_local $11)
(get_local $5)
+ (get_local $11)
)
)
(if
@@ -5901,10 +5924,10 @@
)
(if
(i32.eq
- (get_local $1)
(i32.load
(i32.const 196)
)
+ (get_local $1)
)
(block
(if
@@ -6006,10 +6029,10 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load offset=12
(get_local $11)
)
- (get_local $1)
)
(call $_abort)
)
@@ -6060,6 +6083,7 @@
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -6068,7 +6092,6 @@
)
)
)
- (get_local $1)
)
(set_local $10
(get_local $4)
@@ -6107,12 +6130,12 @@
)
(if
(i32.eq
+ (get_local $1)
(tee_local $0
(i32.load offset=12
(get_local $1)
)
)
- (get_local $1)
)
(block $do-once0
(if
@@ -6232,6 +6255,7 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load
(tee_local $10
(i32.add
@@ -6240,12 +6264,12 @@
)
)
)
- (get_local $1)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -6254,7 +6278,6 @@
)
)
)
- (get_local $1)
)
(block
(i32.store
@@ -6278,7 +6301,6 @@
(block
(if
(i32.eq
- (get_local $1)
(i32.load
(tee_local $7
(i32.add
@@ -6294,6 +6316,7 @@
)
)
)
+ (get_local $1)
)
(block
(i32.store
@@ -6342,6 +6365,7 @@
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $0
(i32.add
@@ -6350,7 +6374,6 @@
)
)
)
- (get_local $1)
)
(i32.store
(get_local $0)
@@ -6533,20 +6556,20 @@
(block (result i32)
(if
(i32.eq
- (get_local $8)
(i32.load
(i32.const 200)
)
+ (get_local $8)
)
(block
(i32.store
(i32.const 188)
(tee_local $6
(i32.add
+ (get_local $3)
(i32.load
(i32.const 188)
)
- (get_local $3)
)
)
)
@@ -6563,10 +6586,10 @@
)
(if
(i32.ne
- (get_local $2)
(i32.load
(i32.const 196)
)
+ (get_local $2)
)
(return)
)
@@ -6583,20 +6606,20 @@
)
(if
(i32.eq
- (get_local $8)
(i32.load
(i32.const 196)
)
+ (get_local $8)
)
(block
(i32.store
(i32.const 184)
(tee_local $6
(i32.add
+ (get_local $3)
(i32.load
(i32.const 184)
)
- (get_local $3)
)
)
)
@@ -6623,11 +6646,11 @@
)
(set_local $6
(i32.add
+ (get_local $3)
(i32.and
(get_local $1)
(i32.const -8)
)
- (get_local $3)
)
)
(set_local $14
@@ -6650,12 +6673,12 @@
)
(if
(i32.eq
+ (get_local $8)
(tee_local $9
(i32.load offset=12
(get_local $8)
)
)
- (get_local $8)
)
(block $do-once6
(set_local $3
@@ -6771,6 +6794,7 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load
(tee_local $10
(i32.add
@@ -6779,12 +6803,12 @@
)
)
)
- (get_local $8)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $4
(i32.add
@@ -6793,7 +6817,6 @@
)
)
)
- (get_local $8)
)
(block
(i32.store
@@ -6817,7 +6840,6 @@
(block
(if
(i32.eq
- (get_local $8)
(i32.load
(tee_local $5
(i32.add
@@ -6833,6 +6855,7 @@
)
)
)
+ (get_local $8)
)
(block
(i32.store
@@ -6875,6 +6898,7 @@
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $9
(i32.add
@@ -6883,7 +6907,6 @@
)
)
)
- (get_local $8)
)
(i32.store
(get_local $9)
@@ -7009,10 +7032,10 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load offset=12
(get_local $1)
)
- (get_local $8)
)
(call $_abort)
)
@@ -7020,8 +7043,8 @@
)
(if
(i32.eq
- (get_local $9)
(get_local $1)
+ (get_local $9)
)
(block
(i32.store
@@ -7044,8 +7067,8 @@
)
(if
(i32.ne
- (get_local $9)
(get_local $7)
+ (get_local $9)
)
(block
(if
@@ -7059,6 +7082,7 @@
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $7
(i32.add
@@ -7067,7 +7091,6 @@
)
)
)
- (get_local $8)
)
(set_local $16
(get_local $7)
@@ -7109,10 +7132,10 @@
)
(if (result i32)
(i32.eq
- (get_local $2)
(i32.load
(i32.const 196)
)
+ (get_local $2)
)
(block
(i32.store
@@ -7239,83 +7262,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $0)
- (i32.add
- (tee_local $5
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $15
+ (i32.shl
+ (get_local $1)
+ (tee_local $13
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $1)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $0)
+ (i32.add
+ (tee_local $5
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $1
+ (tee_local $15
(i32.and
(i32.shr_u
(i32.add
- (tee_local $15
+ (tee_local $6
(i32.shl
+ (get_local $15)
(get_local $1)
- (tee_local $13
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $1)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $13)
- )
- (tee_local $15
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $6
- (i32.shl
- (get_local $15)
- (get_local $1)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $1)
+ (get_local $13)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $6)
- (get_local $15)
+ (i32.shr_u
+ (i32.shl
+ (get_local $6)
+ (get_local $15)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $5)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $5)
- (i32.const 1)
)
)
)
@@ -7341,17 +7367,17 @@
)
(if
(i32.and
- (tee_local $15
- (i32.load
- (i32.const 180)
- )
- )
(tee_local $6
(i32.shl
(i32.const 1)
(get_local $3)
)
)
+ (tee_local $15
+ (i32.load
+ (i32.const 180)
+ )
+ )
)
(block
(set_local $13
@@ -7385,13 +7411,13 @@
(block $while-out14 (result i32)
(if
(i32.eq
+ (get_local $0)
(i32.and
(i32.load offset=4
(get_local $1)
)
(i32.const -8)
)
- (get_local $0)
)
(block
(set_local $17
@@ -7536,8 +7562,8 @@
(i32.store
(i32.const 180)
(i32.or
- (get_local $15)
(get_local $6)
+ (get_local $15)
)
)
(i32.store
@@ -7694,8 +7720,8 @@
)
(set_local $4
(i32.add
- (get_local $9)
(get_local $2)
+ (get_local $9)
)
)
(loop $while-in
@@ -7815,10 +7841,10 @@
(i32.store
(get_local $7)
(i32.add
+ (get_local $6)
(i32.load
(get_local $7)
)
- (get_local $6)
)
)
(set_local $3
@@ -7871,10 +7897,10 @@
(i32.store
(get_local $5)
(i32.add
+ (get_local $6)
(i32.load
(get_local $5)
)
- (get_local $6)
)
)
(i32.store offset=4
@@ -8160,15 +8186,15 @@
(i32.store
(get_local $4)
(i32.add
+ (get_local $1)
(i32.load
(get_local $4)
)
- (get_local $1)
)
)
(i32.add
- (get_local $3)
(get_local $1)
+ (get_local $3)
)
)
)
@@ -8351,21 +8377,21 @@
(loop $while-in1 (result i32)
(if (result i32)
(i32.and
+ (i32.add
+ (tee_local $1
+ (i32.load
+ (get_local $2)
+ )
+ )
+ (i32.const -16843009)
+ )
(i32.xor
(i32.and
- (tee_local $1
- (i32.load
- (get_local $2)
- )
- )
+ (get_local $1)
(i32.const -2139062144)
)
(i32.const -2139062144)
)
- (i32.add
- (get_local $1)
- (i32.const -16843009)
- )
)
(get_local $2)
(block
@@ -8900,11 +8926,11 @@
(i32.or
(i32.or
(i32.or
- (get_local $1)
(i32.shl
(get_local $1)
(i32.const 8)
)
+ (get_local $1)
)
(i32.shl
(get_local $1)
@@ -9145,11 +9171,11 @@
(i32.store8
(get_local $1)
(i32.or
+ (get_local $2)
(i32.add
(get_local $2)
(i32.const 255)
)
- (get_local $2)
)
)
(tee_local $0
@@ -9196,10 +9222,10 @@
(i32.store offset=16
(get_local $0)
(i32.add
- (get_local $1)
(i32.load offset=48
(get_local $0)
)
+ (get_local $1)
)
)
(i32.const 0)
@@ -9224,6 +9250,7 @@
)
)
(i32.ne
+ (get_local $3)
(tee_local $0
(call $___fwritex
(get_local $0)
@@ -9231,7 +9258,6 @@
(get_local $2)
)
)
- (get_local $3)
)
)
(set_local $4
@@ -9386,8 +9412,8 @@
)
(set_global $STACKTOP
(i32.add
- (get_global $STACKTOP)
(get_local $0)
+ (get_global $STACKTOP)
)
)
(set_global $STACKTOP
diff --git a/test/emcc_O2_hello_world.fromasm.clamp b/test/emcc_O2_hello_world.fromasm.clamp
index 616c6ae12..02e8174a9 100644
--- a/test/emcc_O2_hello_world.fromasm.clamp
+++ b/test/emcc_O2_hello_world.fromasm.clamp
@@ -114,12 +114,12 @@
(i32.and
(tee_local $1
(i32.shr_u
- (tee_local $15
+ (tee_local $14
(i32.load
(i32.const 176)
)
)
- (tee_local $5
+ (tee_local $8
(i32.shr_u
(tee_local $9
(select
@@ -158,6 +158,7 @@
(i32.shl
(tee_local $1
(i32.add
+ (get_local $8)
(i32.xor
(i32.and
(get_local $1)
@@ -165,7 +166,6 @@
)
(i32.const 1)
)
- (get_local $5)
)
)
(i32.const 3)
@@ -200,6 +200,7 @@
)
(if
(i32.eq
+ (get_local $0)
(i32.load
(tee_local $10
(i32.add
@@ -208,7 +209,6 @@
)
)
)
- (get_local $0)
)
(block
(i32.store
@@ -226,7 +226,6 @@
(i32.store
(i32.const 176)
(i32.and
- (get_local $15)
(i32.xor
(i32.shl
(i32.const 1)
@@ -234,6 +233,7 @@
)
(i32.const -1)
)
+ (get_local $14)
)
)
)
@@ -290,30 +290,30 @@
(tee_local $5
(i32.add
(i32.and
- (tee_local $3
- (i32.and
- (i32.shl
- (get_local $1)
- (get_local $5)
- )
- (i32.or
- (tee_local $5
- (i32.shl
- (i32.const 2)
- (get_local $5)
+ (i32.sub
+ (i32.const 0)
+ (tee_local $3
+ (i32.and
+ (i32.or
+ (i32.sub
+ (i32.const 0)
+ (tee_local $5
+ (i32.shl
+ (i32.const 2)
+ (get_local $8)
+ )
+ )
)
- )
- (i32.sub
- (i32.const 0)
(get_local $5)
)
+ (i32.shl
+ (get_local $1)
+ (get_local $8)
+ )
)
)
)
- (i32.sub
- (i32.const 0)
- (get_local $3)
- )
+ (get_local $3)
)
(i32.const -1)
)
@@ -323,109 +323,111 @@
(i32.const 16)
)
)
- (set_local $3
- (i32.load
- (tee_local $10
- (i32.add
- (tee_local $0
- (i32.load
- (tee_local $22
- (i32.add
- (tee_local $11
+ (set_local $5
+ (i32.and
+ (i32.shr_u
+ (tee_local $10
+ (i32.shr_u
+ (get_local $5)
+ (get_local $3)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $10
+ (i32.and
+ (i32.shr_u
+ (tee_local $0
+ (i32.shr_u
+ (get_local $10)
+ (get_local $5)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $11
+ (i32.shr_u
+ (get_local $0)
+ (get_local $10)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
+ (if
+ (i32.ne
+ (tee_local $3
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (tee_local $0
+ (i32.load
+ (tee_local $22
(i32.add
- (i32.shl
- (tee_local $7
- (i32.add
- (i32.or
- (i32.or
+ (tee_local $11
+ (i32.add
+ (i32.shl
+ (tee_local $7
+ (i32.add
(i32.or
- (i32.or
- (tee_local $5
- (i32.and
- (i32.shr_u
- (tee_local $10
- (i32.shr_u
- (get_local $5)
- (get_local $3)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $3)
- )
- (tee_local $10
+ (tee_local $11
(i32.and
(i32.shr_u
- (tee_local $0
+ (tee_local $22
(i32.shr_u
- (get_local $10)
- (get_local $5)
+ (get_local $11)
+ (get_local $0)
)
)
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (tee_local $11
- (i32.shr_u
- (get_local $0)
- (get_local $10)
- )
+ (i32.const 1)
)
(i32.const 1)
)
- (i32.const 2)
)
- )
- )
- (tee_local $11
- (i32.and
- (i32.shr_u
- (tee_local $22
- (i32.shr_u
- (get_local $11)
- (get_local $0)
+ (i32.or
+ (get_local $0)
+ (i32.or
+ (get_local $10)
+ (i32.or
+ (get_local $3)
+ (get_local $5)
)
)
- (i32.const 1)
)
- (i32.const 1)
+ )
+ (i32.shr_u
+ (get_local $22)
+ (get_local $11)
)
)
)
- (i32.shr_u
- (get_local $22)
- (get_local $11)
- )
+ (i32.const 3)
)
+ (i32.const 216)
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
- )
- )
- (if
- (i32.ne
(get_local $11)
- (get_local $3)
)
(block
(if
@@ -439,6 +441,7 @@
)
(if
(i32.eq
+ (get_local $0)
(i32.load
(tee_local $5
(i32.add
@@ -447,7 +450,6 @@
)
)
)
- (get_local $0)
)
(block
(i32.store
@@ -471,7 +473,6 @@
(i32.store
(i32.const 176)
(i32.and
- (get_local $15)
(i32.xor
(i32.shl
(i32.const 1)
@@ -479,6 +480,7 @@
)
(i32.const -1)
)
+ (get_local $14)
)
)
(set_local $17
@@ -494,7 +496,7 @@
)
)
(i32.store offset=4
- (tee_local $15
+ (tee_local $14
(i32.add
(get_local $0)
(get_local $9)
@@ -515,8 +517,8 @@
)
(i32.store
(i32.add
- (get_local $15)
(get_local $6)
+ (get_local $14)
)
(get_local $6)
)
@@ -544,7 +546,7 @@
)
(if
(i32.and
- (tee_local $5
+ (tee_local $8
(i32.load
(i32.const 176)
)
@@ -586,8 +588,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $5)
(get_local $1)
+ (get_local $8)
)
)
(set_local $38
@@ -625,7 +627,7 @@
)
(i32.store
(i32.const 196)
- (get_local $15)
+ (get_local $14)
)
(return
(get_local $10)
@@ -633,23 +635,23 @@
)
)
(if
- (tee_local $15
+ (tee_local $14
(i32.load
(i32.const 180)
)
)
(block
- (set_local $15
+ (set_local $14
(i32.and
(i32.shr_u
(tee_local $6
(i32.add
(i32.and
- (get_local $15)
(i32.sub
(i32.const 0)
- (get_local $15)
+ (get_local $14)
)
+ (get_local $14)
)
(i32.const -1)
)
@@ -659,6 +661,48 @@
(i32.const 16)
)
)
+ (set_local $6
+ (i32.and
+ (i32.shr_u
+ (tee_local $11
+ (i32.shr_u
+ (get_local $6)
+ (get_local $14)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $11
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.shr_u
+ (get_local $11)
+ (get_local $6)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $1
+ (i32.shr_u
+ (get_local $3)
+ (get_local $11)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
(set_local $1
(i32.sub
(i32.and
@@ -668,59 +712,10 @@
(i32.shl
(i32.add
(i32.or
- (i32.or
- (i32.or
- (i32.or
- (tee_local $6
- (i32.and
- (i32.shr_u
- (tee_local $11
- (i32.shr_u
- (get_local $6)
- (get_local $15)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $15)
- )
- (tee_local $11
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.shr_u
- (get_local $11)
- (get_local $6)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.shr_u
- (get_local $3)
- (get_local $11)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
(tee_local $1
(i32.and
(i32.shr_u
- (tee_local $5
+ (tee_local $8
(i32.shr_u
(get_local $1)
(get_local $3)
@@ -731,9 +726,19 @@
(i32.const 1)
)
)
+ (i32.or
+ (get_local $3)
+ (i32.or
+ (get_local $11)
+ (i32.or
+ (get_local $6)
+ (get_local $14)
+ )
+ )
+ )
)
(i32.shr_u
- (get_local $5)
+ (get_local $8)
(get_local $1)
)
)
@@ -748,7 +753,7 @@
)
)
(set_local $3
- (tee_local $5
+ (tee_local $8
(get_local $17)
)
)
@@ -760,23 +765,23 @@
(i32.sub
(i32.and
(i32.load offset=4
- (tee_local $5
+ (tee_local $8
(if (result i32)
(tee_local $17
(i32.load offset=16
- (get_local $5)
+ (get_local $8)
)
)
(get_local $17)
(if (result i32)
(tee_local $11
(i32.load offset=20
- (get_local $5)
+ (get_local $8)
)
)
(get_local $11)
(block
- (set_local $8
+ (set_local $5
(get_local $1)
)
(set_local $2
@@ -805,7 +810,7 @@
)
(set_local $3
(select
- (get_local $5)
+ (get_local $8)
(get_local $3)
(get_local $11)
)
@@ -827,7 +832,7 @@
(if
(i32.ge_u
(get_local $2)
- (tee_local $5
+ (tee_local $8
(i32.add
(get_local $2)
(get_local $9)
@@ -960,6 +965,7 @@
)
(if
(i32.ne
+ (get_local $2)
(i32.load
(tee_local $7
(i32.add
@@ -968,12 +974,12 @@
)
)
)
- (get_local $2)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $2)
(i32.load
(tee_local $11
(i32.add
@@ -982,7 +988,6 @@
)
)
)
- (get_local $2)
)
(block
(i32.store
@@ -1006,7 +1011,6 @@
(block $do-once8
(if
(i32.eq
- (get_local $2)
(i32.load
(tee_local $3
(i32.add
@@ -1022,6 +1026,7 @@
)
)
)
+ (get_local $2)
)
(block
(i32.store
@@ -1064,6 +1069,7 @@
)
(if
(i32.eq
+ (get_local $2)
(i32.load
(tee_local $10
(i32.add
@@ -1072,7 +1078,6 @@
)
)
)
- (get_local $2)
)
(i32.store
(get_local $10)
@@ -1159,7 +1164,7 @@
)
(if
(i32.lt_u
- (get_local $8)
+ (get_local $5)
(i32.const 16)
)
(block
@@ -1168,7 +1173,7 @@
(i32.or
(tee_local $1
(i32.add
- (get_local $8)
+ (get_local $5)
(get_local $9)
)
)
@@ -1179,8 +1184,8 @@
(tee_local $3
(i32.add
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $2)
)
(i32.const 4)
)
@@ -1202,9 +1207,9 @@
)
)
(i32.store offset=4
- (get_local $5)
+ (get_local $8)
(i32.or
- (get_local $8)
+ (get_local $5)
(i32.const 1)
)
)
@@ -1213,7 +1218,7 @@
(get_local $5)
(get_local $8)
)
- (get_local $8)
+ (get_local $5)
)
(if
(tee_local $3
@@ -1320,11 +1325,11 @@
)
(i32.store
(i32.const 184)
- (get_local $8)
+ (get_local $5)
)
(i32.store
(i32.const 196)
- (get_local $5)
+ (get_local $8)
)
)
)
@@ -1371,7 +1376,7 @@
)
)
(if
- (tee_local $15
+ (tee_local $14
(i32.load offset=480
(i32.shl
(tee_local $9
@@ -1388,83 +1393,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $1)
- (i32.add
- (tee_local $15
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $10
+ (i32.shl
+ (get_local $7)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $7)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $1)
+ (i32.add
+ (tee_local $14
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $7
+ (tee_local $10
(i32.and
(i32.shr_u
(i32.add
- (tee_local $10
+ (tee_local $17
(i32.shl
+ (get_local $10)
(get_local $7)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $7)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $3)
- )
- (tee_local $10
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $17
- (i32.shl
- (get_local $10)
- (get_local $7)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $3)
+ (get_local $7)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $17)
- (get_local $10)
+ (i32.shr_u
+ (i32.shl
+ (get_local $17)
+ (get_local $10)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $14)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $15)
- (i32.const 1)
)
)
)
@@ -1502,7 +1510,7 @@
)
)
(set_local $7
- (get_local $15)
+ (get_local $14)
)
(loop $while-in14
(if
@@ -1525,8 +1533,8 @@
(set_local $6
(if (result i32)
(i32.eq
- (get_local $22)
(get_local $1)
+ (get_local $22)
)
(block
(set_local $28
@@ -1587,7 +1595,7 @@
)
)
)
- (set_local $5
+ (set_local $8
(if (result i32)
(tee_local $0
(i32.eqz
@@ -1646,10 +1654,10 @@
(tee_local $0
(if (result i32)
(i32.or
- (get_local $5)
+ (get_local $8)
(get_local $31)
)
- (get_local $5)
+ (get_local $8)
(block (result i32)
(drop
(br_if $do-once
@@ -1657,19 +1665,19 @@
(i32.eqz
(tee_local $0
(i32.and
- (get_local $11)
(i32.or
- (tee_local $15
- (i32.shl
- (i32.const 2)
- (get_local $9)
- )
- )
(i32.sub
(i32.const 0)
- (get_local $15)
+ (tee_local $14
+ (i32.shl
+ (i32.const 2)
+ (get_local $9)
+ )
+ )
)
+ (get_local $14)
)
+ (get_local $11)
)
)
)
@@ -1678,14 +1686,14 @@
(set_local $0
(i32.and
(i32.shr_u
- (tee_local $15
+ (tee_local $14
(i32.add
(i32.and
- (get_local $0)
(i32.sub
(i32.const 0)
(get_local $0)
)
+ (get_local $0)
)
(i32.const -1)
)
@@ -1695,66 +1703,59 @@
(i32.const 16)
)
)
+ (set_local $14
+ (i32.and
+ (i32.shr_u
+ (tee_local $9
+ (i32.shr_u
+ (get_local $14)
+ (get_local $0)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $9
+ (i32.and
+ (i32.shr_u
+ (tee_local $8
+ (i32.shr_u
+ (get_local $9)
+ (get_local $14)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $8
+ (i32.and
+ (i32.shr_u
+ (tee_local $6
+ (i32.shr_u
+ (get_local $8)
+ (get_local $9)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
(i32.load offset=480
(i32.shl
(i32.add
(i32.or
- (i32.or
- (i32.or
- (i32.or
- (tee_local $15
- (i32.and
- (i32.shr_u
- (tee_local $9
- (i32.shr_u
- (get_local $15)
- (get_local $0)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $0)
- )
- (tee_local $9
- (i32.and
- (i32.shr_u
- (tee_local $5
- (i32.shr_u
- (get_local $9)
- (get_local $15)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $5
- (i32.and
- (i32.shr_u
- (tee_local $6
- (i32.shr_u
- (get_local $5)
- (get_local $9)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
(tee_local $6
(i32.and
(i32.shr_u
(tee_local $3
(i32.shr_u
(get_local $6)
- (get_local $5)
+ (get_local $8)
)
)
(i32.const 1)
@@ -1762,6 +1763,16 @@
(i32.const 1)
)
)
+ (i32.or
+ (get_local $8)
+ (i32.or
+ (get_local $9)
+ (i32.or
+ (get_local $0)
+ (get_local $14)
+ )
+ )
+ )
)
(i32.shr_u
(get_local $3)
@@ -1823,7 +1834,7 @@
(get_local $28)
)
)
- (set_local $5
+ (set_local $8
(select
(get_local $6)
(get_local $28)
@@ -1845,7 +1856,7 @@
)
(block
(set_local $28
- (get_local $5)
+ (get_local $8)
)
(set_local $26
(get_local $3)
@@ -1865,7 +1876,7 @@
)
(block
(set_local $28
- (get_local $5)
+ (get_local $8)
)
(set_local $30
(get_local $6)
@@ -1876,7 +1887,7 @@
(set_local $12
(get_local $6)
)
- (get_local $5)
+ (get_local $8)
)
)
)
@@ -1913,14 +1924,14 @@
(get_local $12)
(tee_local $6
(i32.add
- (get_local $12)
(get_local $1)
+ (get_local $12)
)
)
)
(call $_abort)
)
- (set_local $5
+ (set_local $8
(i32.load offset=24
(get_local $12)
)
@@ -1956,7 +1967,7 @@
(if (result i32)
(tee_local $17
(i32.load
- (tee_local $15
+ (tee_local $14
(i32.add
(get_local $12)
(i32.const 16)
@@ -1964,7 +1975,7 @@
)
)
)
- (get_local $15)
+ (get_local $14)
(br $do-once17)
)
)
@@ -2024,7 +2035,7 @@
(get_local $7)
(i32.const 0)
)
- (set_local $8
+ (set_local $5
(get_local $17)
)
)
@@ -2044,6 +2055,7 @@
)
(if
(i32.ne
+ (get_local $12)
(i32.load
(tee_local $0
(i32.add
@@ -2052,21 +2064,20 @@
)
)
)
- (get_local $12)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $12)
(i32.load
- (tee_local $15
+ (tee_local $14
(i32.add
(get_local $3)
(i32.const 8)
)
)
)
- (get_local $12)
)
(block
(i32.store
@@ -2074,10 +2085,10 @@
(get_local $3)
)
(i32.store
- (get_local $15)
+ (get_local $14)
(get_local $9)
)
- (set_local $8
+ (set_local $5
(get_local $3)
)
)
@@ -2086,11 +2097,10 @@
)
)
(if
- (get_local $5)
+ (get_local $8)
(block $do-once21
(if
(i32.eq
- (get_local $12)
(i32.load
(tee_local $11
(i32.add
@@ -2106,15 +2116,16 @@
)
)
)
+ (get_local $12)
)
(block
(i32.store
(get_local $11)
- (get_local $8)
+ (get_local $5)
)
(if
(i32.eqz
- (get_local $8)
+ (get_local $5)
)
(block
(i32.store
@@ -2139,7 +2150,7 @@
(block
(if
(i32.lt_u
- (get_local $5)
+ (get_local $8)
(i32.load
(i32.const 192)
)
@@ -2148,35 +2159,35 @@
)
(if
(i32.eq
+ (get_local $12)
(i32.load
(tee_local $3
(i32.add
- (get_local $5)
+ (get_local $8)
(i32.const 16)
)
)
)
- (get_local $12)
)
(i32.store
(get_local $3)
- (get_local $8)
+ (get_local $5)
)
(i32.store offset=20
- (get_local $5)
(get_local $8)
+ (get_local $5)
)
)
(br_if $do-once21
(i32.eqz
- (get_local $8)
+ (get_local $5)
)
)
)
)
(if
(i32.lt_u
- (get_local $8)
+ (get_local $5)
(tee_local $3
(i32.load
(i32.const 192)
@@ -2186,8 +2197,8 @@
(call $_abort)
)
(i32.store offset=24
- (get_local $8)
(get_local $5)
+ (get_local $8)
)
(if
(tee_local $11
@@ -2203,12 +2214,12 @@
(call $_abort)
(block
(i32.store offset=16
- (get_local $8)
+ (get_local $5)
(get_local $11)
)
(i32.store offset=24
(get_local $11)
- (get_local $8)
+ (get_local $5)
)
)
)
@@ -2229,12 +2240,12 @@
(call $_abort)
(block
(i32.store offset=20
- (get_local $8)
+ (get_local $5)
(get_local $11)
)
(i32.store offset=24
(get_local $11)
- (get_local $8)
+ (get_local $5)
)
)
)
@@ -2263,12 +2274,12 @@
)
(i32.store
(i32.add
- (get_local $6)
(get_local $2)
+ (get_local $6)
)
(get_local $2)
)
- (set_local $5
+ (set_local $8
(i32.shr_u
(get_local $2)
(i32.const 3)
@@ -2283,7 +2294,7 @@
(set_local $11
(i32.add
(i32.shl
- (get_local $5)
+ (get_local $8)
(i32.const 3)
)
(i32.const 216)
@@ -2291,23 +2302,23 @@
)
(if
(i32.and
- (tee_local $3
- (i32.load
- (i32.const 176)
- )
- )
(tee_local $9
(i32.shl
(i32.const 1)
- (get_local $5)
+ (get_local $8)
+ )
+ )
+ (tee_local $3
+ (i32.load
+ (i32.const 176)
)
)
)
(if
(i32.lt_u
- (tee_local $15
+ (tee_local $14
(i32.load
- (tee_local $5
+ (tee_local $8
(i32.add
(get_local $11)
(i32.const 8)
@@ -2322,10 +2333,10 @@
(call $_abort)
(block
(set_local $16
- (get_local $5)
+ (get_local $8)
)
(set_local $27
- (get_local $15)
+ (get_local $14)
)
)
)
@@ -2367,7 +2378,7 @@
(br $do-once25)
)
)
- (set_local $5
+ (set_local $8
(i32.add
(i32.shl
(tee_local $7
@@ -2384,83 +2395,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $2)
- (i32.add
- (tee_local $5
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $11
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $3
+ (i32.shl
+ (get_local $11)
+ (tee_local $9
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $11)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $2)
+ (i32.add
+ (tee_local $8
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $11
+ (tee_local $3
(i32.and
(i32.shr_u
(i32.add
- (tee_local $3
+ (tee_local $14
(i32.shl
+ (get_local $3)
(get_local $11)
- (tee_local $9
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $11)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $9)
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $15
- (i32.shl
- (get_local $3)
- (get_local $11)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $9)
+ (get_local $11)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $15)
- (get_local $3)
+ (i32.shr_u
+ (i32.shl
+ (get_local $14)
+ (get_local $3)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $8)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $5)
- (i32.const 1)
)
)
)
@@ -2492,17 +2506,17 @@
(if
(i32.eqz
(i32.and
- (tee_local $3
- (i32.load
- (i32.const 180)
- )
- )
- (tee_local $15
+ (tee_local $14
(i32.shl
(i32.const 1)
(get_local $7)
)
)
+ (tee_local $3
+ (i32.load
+ (i32.const 180)
+ )
+ )
)
)
(block
@@ -2510,16 +2524,16 @@
(i32.const 180)
(i32.or
(get_local $3)
- (get_local $15)
+ (get_local $14)
)
)
(i32.store
- (get_local $5)
+ (get_local $8)
(get_local $6)
)
(i32.store offset=24
(get_local $6)
- (get_local $5)
+ (get_local $8)
)
(i32.store offset=12
(get_local $6)
@@ -2532,7 +2546,7 @@
(br $do-once25)
)
)
- (set_local $15
+ (set_local $14
(i32.shl
(get_local $2)
(select
@@ -2553,7 +2567,7 @@
)
(set_local $3
(i32.load
- (get_local $5)
+ (get_local $8)
)
)
(if
@@ -2563,16 +2577,16 @@
(block $while-out27 (result i32)
(if
(i32.eq
+ (get_local $2)
(i32.and
(i32.load offset=4
(get_local $3)
)
(i32.const -8)
)
- (get_local $2)
)
(block
- (set_local $14
+ (set_local $15
(get_local $3)
)
(br $while-out27
@@ -2583,7 +2597,7 @@
(if (result i32)
(tee_local $9
(i32.load
- (tee_local $5
+ (tee_local $8
(i32.add
(i32.add
(get_local $3)
@@ -2591,7 +2605,7 @@
)
(i32.shl
(i32.shr_u
- (get_local $15)
+ (get_local $14)
(i32.const 31)
)
(i32.const 2)
@@ -2601,9 +2615,9 @@
)
)
(block
- (set_local $15
+ (set_local $14
(i32.shl
- (get_local $15)
+ (get_local $14)
(i32.const 1)
)
)
@@ -2614,9 +2628,9 @@
)
(block (result i32)
(set_local $23
- (get_local $5)
+ (get_local $8)
)
- (set_local $20
+ (set_local $19
(get_local $3)
)
(i32.const 145)
@@ -2642,7 +2656,7 @@
)
(i32.store offset=24
(get_local $6)
- (get_local $20)
+ (get_local $19)
)
(i32.store offset=12
(get_local $6)
@@ -2662,11 +2676,11 @@
(if
(i32.and
(i32.ge_u
- (tee_local $15
+ (tee_local $14
(i32.load
(tee_local $3
(i32.add
- (get_local $14)
+ (get_local $15)
(i32.const 8)
)
)
@@ -2679,13 +2693,13 @@
)
)
(i32.ge_u
- (get_local $14)
+ (get_local $15)
(get_local $9)
)
)
(block
(i32.store offset=12
- (get_local $15)
+ (get_local $14)
(get_local $6)
)
(i32.store
@@ -2694,11 +2708,11 @@
)
(i32.store offset=8
(get_local $6)
- (get_local $15)
+ (get_local $14)
)
(i32.store offset=12
(get_local $6)
- (get_local $14)
+ (get_local $15)
)
(i32.store offset=24
(get_local $6)
@@ -2714,10 +2728,10 @@
(i32.store offset=4
(get_local $12)
(i32.or
- (tee_local $15
+ (tee_local $14
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $2)
)
)
(i32.const 3)
@@ -2728,7 +2742,7 @@
(i32.add
(i32.add
(get_local $12)
- (get_local $15)
+ (get_local $14)
)
(i32.const 4)
)
@@ -2769,7 +2783,7 @@
(get_local $9)
)
(block
- (set_local $14
+ (set_local $15
(i32.load
(i32.const 196)
)
@@ -2787,10 +2801,10 @@
(block
(i32.store
(i32.const 196)
- (tee_local $20
+ (tee_local $19
(i32.add
- (get_local $14)
(get_local $9)
+ (get_local $15)
)
)
)
@@ -2799,7 +2813,7 @@
(get_local $2)
)
(i32.store offset=4
- (get_local $20)
+ (get_local $19)
(i32.or
(get_local $2)
(i32.const 1)
@@ -2807,13 +2821,13 @@
)
(i32.store
(i32.add
- (get_local $20)
(get_local $2)
+ (get_local $19)
)
(get_local $2)
)
(i32.store offset=4
- (get_local $14)
+ (get_local $15)
(i32.or
(get_local $9)
(i32.const 3)
@@ -2830,7 +2844,7 @@
(i32.const 0)
)
(i32.store offset=4
- (get_local $14)
+ (get_local $15)
(i32.or
(get_local $12)
(i32.const 3)
@@ -2840,8 +2854,8 @@
(tee_local $2
(i32.add
(i32.add
- (get_local $14)
(get_local $12)
+ (get_local $15)
)
(i32.const 4)
)
@@ -2857,7 +2871,7 @@
)
(return
(i32.add
- (get_local $14)
+ (get_local $15)
(i32.const 8)
)
)
@@ -2865,7 +2879,7 @@
)
(if
(i32.gt_u
- (tee_local $14
+ (tee_local $15
(i32.load
(i32.const 188)
)
@@ -2877,7 +2891,7 @@
(i32.const 188)
(tee_local $2
(i32.sub
- (get_local $14)
+ (get_local $15)
(get_local $9)
)
)
@@ -2886,12 +2900,12 @@
(i32.const 200)
(tee_local $12
(i32.add
- (tee_local $14
+ (get_local $9)
+ (tee_local $15
(i32.load
(i32.const 200)
)
)
- (get_local $9)
)
)
)
@@ -2903,7 +2917,7 @@
)
)
(i32.store offset=4
- (get_local $14)
+ (get_local $15)
(i32.or
(get_local $9)
(i32.const 3)
@@ -2911,7 +2925,7 @@
)
(return
(i32.add
- (get_local $14)
+ (get_local $15)
(i32.const 8)
)
)
@@ -2925,25 +2939,25 @@
)
(if
(i32.and
- (i32.add
- (tee_local $14
- (call $_sysconf
- (i32.const 30)
- )
+ (tee_local $15
+ (call $_sysconf
+ (i32.const 30)
)
+ )
+ (i32.add
+ (get_local $15)
(i32.const -1)
)
- (get_local $14)
)
(call $_abort)
(block
(i32.store
(i32.const 656)
- (get_local $14)
+ (get_local $15)
)
(i32.store
(i32.const 652)
- (get_local $14)
+ (get_local $15)
)
(i32.store
(i32.const 660)
@@ -2976,37 +2990,38 @@
)
)
)
- (set_local $14
+ (set_local $15
(i32.add
(get_local $9)
(i32.const 48)
)
)
+ (set_local $19
+ (i32.add
+ (tee_local $2
+ (i32.load
+ (i32.const 656)
+ )
+ )
+ (tee_local $12
+ (i32.add
+ (get_local $9)
+ (i32.const 47)
+ )
+ )
+ )
+ )
(if
(i32.le_u
(tee_local $2
(i32.and
- (tee_local $20
- (i32.add
- (tee_local $2
- (i32.load
- (i32.const 656)
- )
- )
- (tee_local $12
- (i32.add
- (get_local $9)
- (i32.const 47)
- )
- )
- )
- )
(tee_local $23
(i32.sub
(i32.const 0)
(get_local $2)
)
)
+ (get_local $19)
)
)
(get_local $9)
@@ -3026,12 +3041,12 @@
(i32.le_u
(tee_local $16
(i32.add
+ (get_local $2)
(tee_local $27
(i32.load
(i32.const 608)
)
)
- (get_local $2)
)
)
(get_local $27)
@@ -3091,15 +3106,15 @@
)
(i32.gt_u
(i32.add
- (get_local $27)
(i32.load
- (tee_local $8
+ (tee_local $5
(i32.add
(get_local $16)
(i32.const 4)
)
)
)
+ (get_local $27)
)
(get_local $7)
)
@@ -3109,8 +3124,8 @@
(set_local $6
(get_local $16)
)
- (set_local $5
- (get_local $8)
+ (set_local $8
+ (get_local $5)
)
(br $while-out33)
)
@@ -3132,61 +3147,64 @@
(i32.lt_u
(tee_local $16
(i32.and
+ (get_local $23)
(i32.sub
- (get_local $20)
+ (get_local $19)
(i32.load
(i32.const 188)
)
)
- (get_local $23)
)
)
(i32.const 2147483647)
)
- (if
- (i32.eq
- (tee_local $8
- (call $_sbrk
- (get_local $16)
- )
+ (block
+ (set_local $5
+ (call $_sbrk
+ (get_local $16)
)
- (i32.add
- (i32.load
- (get_local $6)
+ )
+ (if
+ (i32.eq
+ (i32.add
+ (i32.load
+ (get_local $6)
+ )
+ (i32.load
+ (get_local $8)
+ )
)
- (i32.load
+ (get_local $5)
+ )
+ (if
+ (i32.ne
(get_local $5)
+ (i32.const -1)
+ )
+ (block
+ (set_local $20
+ (get_local $5)
+ )
+ (set_local $21
+ (get_local $16)
+ )
+ (br $label$break$L257
+ (i32.const 193)
+ )
)
- )
- )
- (if
- (i32.ne
- (get_local $8)
- (i32.const -1)
)
(block
- (set_local $19
- (get_local $8)
+ (set_local $13
+ (get_local $5)
)
- (set_local $21
+ (set_local $18
(get_local $16)
)
- (br $label$break$L257
- (i32.const 193)
+ (set_local $10
+ (i32.const 183)
)
)
)
- (block
- (set_local $13
- (get_local $8)
- )
- (set_local $18
- (get_local $16)
- )
- (set_local $10
- (i32.const 183)
- )
- )
)
)
)
@@ -3214,7 +3232,10 @@
(set_local $0
(if (result i32)
(i32.and
- (tee_local $8
+ (tee_local $1
+ (get_local $7)
+ )
+ (tee_local $5
(i32.add
(tee_local $16
(i32.load
@@ -3224,9 +3245,6 @@
(i32.const -1)
)
)
- (tee_local $1
- (get_local $7)
- )
)
(i32.add
(i32.sub
@@ -3235,8 +3253,8 @@
)
(i32.and
(i32.add
- (get_local $8)
(get_local $1)
+ (get_local $5)
)
(i32.sub
(i32.const 0)
@@ -3259,14 +3277,14 @@
)
(if
(i32.and
- (i32.gt_u
- (get_local $0)
- (get_local $9)
- )
(i32.lt_u
(get_local $0)
(i32.const 2147483647)
)
+ (i32.gt_u
+ (get_local $0)
+ (get_local $9)
+ )
)
(block
(br_if $do-once35
@@ -3278,7 +3296,7 @@
)
(i32.gt_u
(get_local $1)
- (tee_local $8
+ (tee_local $5
(i32.load
(i32.const 616)
)
@@ -3286,13 +3304,13 @@
)
)
(i32.const 0)
- (get_local $8)
+ (get_local $5)
)
)
(set_local $18
(if (result i32)
(i32.eq
- (tee_local $8
+ (tee_local $5
(call $_sbrk
(get_local $0)
)
@@ -3300,7 +3318,7 @@
(get_local $7)
)
(block
- (set_local $19
+ (set_local $20
(get_local $7)
)
(set_local $21
@@ -3312,7 +3330,7 @@
)
(block (result i32)
(set_local $13
- (get_local $8)
+ (get_local $5)
)
(set_local $10
(i32.const 183)
@@ -3331,7 +3349,7 @@
(i32.const 183)
)
(block $label$break$L279
- (set_local $8
+ (set_local $5
(i32.sub
(i32.const 0)
(get_local $18)
@@ -3341,34 +3359,34 @@
(if (result i32)
(if (result i32)
(i32.and
- (i32.gt_u
- (get_local $14)
- (get_local $18)
- )
(i32.and
- (i32.lt_u
- (get_local $18)
- (i32.const 2147483647)
- )
(i32.ne
(get_local $13)
(i32.const -1)
)
+ (i32.lt_u
+ (get_local $18)
+ (i32.const 2147483647)
+ )
+ )
+ (i32.gt_u
+ (get_local $15)
+ (get_local $18)
)
)
(i32.lt_u
(tee_local $1
(i32.and
(i32.add
- (i32.sub
- (get_local $12)
- (get_local $18)
- )
(tee_local $7
(i32.load
(i32.const 656)
)
)
+ (i32.sub
+ (get_local $12)
+ (get_local $18)
+ )
)
(i32.sub
(i32.const 0)
@@ -3390,7 +3408,7 @@
(block
(drop
(call $_sbrk
- (get_local $8)
+ (get_local $5)
)
)
(br $label$break$L279)
@@ -3409,7 +3427,7 @@
(i32.const -1)
)
(block
- (set_local $19
+ (set_local $20
(get_local $13)
)
(set_local $21
@@ -3439,28 +3457,28 @@
)
)
(i32.and
- (i32.lt_u
- (tee_local $4
- (call $_sbrk
- (get_local $2)
- )
- )
- (tee_local $2
- (call $_sbrk
- (i32.const 0)
- )
- )
- )
(i32.and
(i32.ne
- (get_local $4)
+ (tee_local $4
+ (call $_sbrk
+ (get_local $2)
+ )
+ )
(i32.const -1)
)
(i32.ne
- (get_local $2)
+ (tee_local $2
+ (call $_sbrk
+ (i32.const 0)
+ )
+ )
(i32.const -1)
)
)
+ (i32.lt_u
+ (get_local $4)
+ (get_local $2)
+ )
)
(i32.const 0)
)
@@ -3479,7 +3497,7 @@
(i32.const 0)
)
(block
- (set_local $19
+ (set_local $20
(get_local $4)
)
(set_local $21
@@ -3500,10 +3518,10 @@
(i32.const 608)
(tee_local $13
(i32.add
+ (get_local $21)
(i32.load
(i32.const 608)
)
- (get_local $21)
)
)
)
@@ -3533,7 +3551,6 @@
(block $do-out
(if
(i32.eq
- (get_local $19)
(i32.add
(tee_local $2
(i32.load
@@ -3551,6 +3568,7 @@
)
)
)
+ (get_local $20)
)
(block
(set_local $46
@@ -3600,7 +3618,7 @@
(i32.and
(i32.lt_u
(get_local $13)
- (get_local $19)
+ (get_local $20)
)
(i32.ge_u
(get_local $13)
@@ -3613,13 +3631,12 @@
(i32.store
(get_local $47)
(i32.add
- (get_local $48)
(get_local $21)
+ (get_local $48)
)
)
(set_local $4
(i32.add
- (get_local $13)
(tee_local $12
(select
(i32.and
@@ -3641,17 +3658,18 @@
)
)
)
+ (get_local $13)
)
)
(set_local $18
(i32.add
+ (i32.load
+ (i32.const 188)
+ )
(i32.sub
(get_local $21)
(get_local $12)
)
- (i32.load
- (i32.const 188)
- )
)
)
(i32.store
@@ -3688,7 +3706,7 @@
(set_local $3
(if (result i32)
(i32.lt_u
- (get_local $19)
+ (get_local $20)
(tee_local $18
(i32.load
(i32.const 192)
@@ -3698,16 +3716,16 @@
(block (result i32)
(i32.store
(i32.const 192)
- (get_local $19)
+ (get_local $20)
)
- (get_local $19)
+ (get_local $20)
)
(get_local $18)
)
)
(set_local $18
(i32.add
- (get_local $19)
+ (get_local $20)
(get_local $21)
)
)
@@ -3718,10 +3736,10 @@
(block $while-out42
(if
(i32.eq
+ (get_local $18)
(i32.load
(get_local $4)
)
- (get_local $18)
)
(block
(set_local $50
@@ -3765,7 +3783,7 @@
(block
(i32.store
(get_local $50)
- (get_local $19)
+ (get_local $20)
)
(i32.store
(tee_local $4
@@ -3775,22 +3793,21 @@
)
)
(i32.add
+ (get_local $21)
(i32.load
(get_local $4)
)
- (get_local $21)
)
)
(set_local $12
(i32.add
- (get_local $19)
(select
(i32.and
(i32.sub
(i32.const 0)
(tee_local $4
(i32.add
- (get_local $19)
+ (get_local $20)
(i32.const 8)
)
)
@@ -3803,11 +3820,11 @@
(i32.const 7)
)
)
+ (get_local $20)
)
)
(set_local $2
(i32.add
- (get_local $18)
(select
(i32.and
(i32.sub
@@ -3827,15 +3844,16 @@
(i32.const 7)
)
)
+ (get_local $18)
)
)
(set_local $4
(i32.add
- (get_local $12)
(get_local $9)
+ (get_local $12)
)
)
- (set_local $14
+ (set_local $15
(i32.sub
(i32.sub
(get_local $2)
@@ -3859,20 +3877,20 @@
(block $do-once44
(if
(i32.eq
- (get_local $2)
(i32.load
(i32.const 196)
)
+ (get_local $2)
)
(block
(i32.store
(i32.const 184)
(tee_local $0
(i32.add
+ (get_local $15)
(i32.load
(i32.const 184)
)
- (get_local $14)
)
)
)
@@ -3889,8 +3907,8 @@
)
(i32.store
(i32.add
- (get_local $4)
(get_local $0)
+ (get_local $4)
)
(get_local $0)
)
@@ -3910,7 +3928,7 @@
(i32.const 1)
)
(block
- (set_local $5
+ (set_local $8
(i32.and
(get_local $0)
(i32.const -8)
@@ -3936,12 +3954,12 @@
)
(if
(i32.eq
- (tee_local $20
+ (get_local $2)
+ (tee_local $19
(i32.load offset=12
(get_local $2)
)
)
- (get_local $2)
)
(block $do-once47
(set_local $0
@@ -3950,7 +3968,7 @@
(i32.load
(tee_local $1
(i32.add
- (tee_local $8
+ (tee_local $5
(i32.add
(get_local $2)
(i32.const 16)
@@ -3962,7 +3980,7 @@
)
)
(block (result i32)
- (set_local $8
+ (set_local $5
(get_local $1)
)
(get_local $7)
@@ -3970,7 +3988,7 @@
(if (result i32)
(tee_local $16
(i32.load
- (get_local $8)
+ (get_local $5)
)
)
(get_local $16)
@@ -3994,7 +4012,7 @@
(set_local $0
(get_local $7)
)
- (set_local $8
+ (set_local $5
(get_local $1)
)
(br $while-in50)
@@ -4015,7 +4033,7 @@
(set_local $0
(get_local $7)
)
- (set_local $8
+ (set_local $5
(get_local $1)
)
(br $while-in50)
@@ -4024,13 +4042,13 @@
)
(if
(i32.lt_u
- (get_local $8)
+ (get_local $5)
(get_local $3)
)
(call $_abort)
(block
(i32.store
- (get_local $8)
+ (get_local $5)
(i32.const 0)
)
(set_local $25
@@ -4053,6 +4071,7 @@
)
(if
(i32.ne
+ (get_local $2)
(i32.load
(tee_local $7
(i32.add
@@ -4061,33 +4080,32 @@
)
)
)
- (get_local $2)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $2)
(i32.load
- (tee_local $8
+ (tee_local $5
(i32.add
- (get_local $20)
+ (get_local $19)
(i32.const 8)
)
)
)
- (get_local $2)
)
(block
(i32.store
(get_local $7)
- (get_local $20)
+ (get_local $19)
)
(i32.store
- (get_local $8)
+ (get_local $5)
(get_local $1)
)
(set_local $25
- (get_local $20)
+ (get_local $19)
)
)
(call $_abort)
@@ -4101,12 +4119,11 @@
)
(if
(i32.ne
- (get_local $2)
(i32.load
(tee_local $1
(i32.add
(i32.shl
- (tee_local $20
+ (tee_local $19
(i32.load offset=28
(get_local $2)
)
@@ -4117,6 +4134,7 @@
)
)
)
+ (get_local $2)
)
(block
(if
@@ -4130,18 +4148,18 @@
)
(if
(i32.eq
+ (get_local $2)
(i32.load
- (tee_local $8
+ (tee_local $5
(i32.add
(get_local $23)
(i32.const 16)
)
)
)
- (get_local $2)
)
(i32.store
- (get_local $8)
+ (get_local $5)
(get_local $25)
)
(i32.store offset=20
@@ -4172,7 +4190,7 @@
(i32.xor
(i32.shl
(i32.const 1)
- (get_local $20)
+ (get_local $19)
)
(i32.const -1)
)
@@ -4184,7 +4202,7 @@
(if
(i32.lt_u
(get_local $25)
- (tee_local $20
+ (tee_local $19
(i32.load
(i32.const 192)
)
@@ -4197,7 +4215,7 @@
(get_local $23)
)
(if
- (tee_local $8
+ (tee_local $5
(i32.load
(tee_local $1
(i32.add
@@ -4209,17 +4227,17 @@
)
(if
(i32.lt_u
- (get_local $8)
- (get_local $20)
+ (get_local $5)
+ (get_local $19)
)
(call $_abort)
(block
(i32.store offset=16
(get_local $25)
- (get_local $8)
+ (get_local $5)
)
(i32.store offset=24
- (get_local $8)
+ (get_local $5)
(get_local $25)
)
)
@@ -4227,7 +4245,7 @@
)
(br_if $label$break$L331
(i32.eqz
- (tee_local $8
+ (tee_local $5
(i32.load offset=4
(get_local $1)
)
@@ -4236,7 +4254,7 @@
)
(if
(i32.lt_u
- (get_local $8)
+ (get_local $5)
(i32.load
(i32.const 192)
)
@@ -4245,24 +4263,24 @@
(block
(i32.store offset=20
(get_local $25)
- (get_local $8)
+ (get_local $5)
)
(i32.store offset=24
- (get_local $8)
+ (get_local $5)
(get_local $25)
)
)
)
)
(block
- (set_local $20
+ (set_local $19
(i32.load offset=12
(get_local $2)
)
)
(if
(i32.ne
- (tee_local $8
+ (tee_local $5
(i32.load offset=8
(get_local $2)
)
@@ -4280,17 +4298,17 @@
(block $do-once55
(if
(i32.lt_u
- (get_local $8)
+ (get_local $5)
(get_local $3)
)
(call $_abort)
)
(br_if $do-once55
(i32.eq
+ (get_local $2)
(i32.load offset=12
- (get_local $8)
+ (get_local $5)
)
- (get_local $2)
)
)
(call $_abort)
@@ -4298,8 +4316,8 @@
)
(if
(i32.eq
- (get_local $20)
- (get_local $8)
+ (get_local $5)
+ (get_local $19)
)
(block
(i32.store
@@ -4322,34 +4340,34 @@
)
(if
(i32.eq
- (get_local $20)
+ (get_local $19)
(get_local $23)
)
(set_local $41
(i32.add
- (get_local $20)
+ (get_local $19)
(i32.const 8)
)
)
(block $do-once57
(if
(i32.lt_u
- (get_local $20)
+ (get_local $19)
(get_local $3)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $2)
(i32.load
(tee_local $1
(i32.add
- (get_local $20)
+ (get_local $19)
(i32.const 8)
)
)
)
- (get_local $2)
)
(block
(set_local $41
@@ -4362,12 +4380,12 @@
)
)
(i32.store offset=12
- (get_local $8)
- (get_local $20)
+ (get_local $5)
+ (get_local $19)
)
(i32.store
(get_local $41)
- (get_local $8)
+ (get_local $5)
)
)
)
@@ -4375,13 +4393,13 @@
(set_local $2
(i32.add
(get_local $2)
- (get_local $5)
+ (get_local $8)
)
)
- (set_local $14
+ (set_local $15
(i32.add
- (get_local $5)
- (get_local $14)
+ (get_local $8)
+ (get_local $15)
)
)
)
@@ -4403,26 +4421,26 @@
(i32.store offset=4
(get_local $4)
(i32.or
- (get_local $14)
+ (get_local $15)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $4)
- (get_local $14)
+ (get_local $15)
)
- (get_local $14)
+ (get_local $15)
)
(set_local $6
(i32.shr_u
- (get_local $14)
+ (get_local $15)
(i32.const 3)
)
)
(if
(i32.lt_u
- (get_local $14)
+ (get_local $15)
(i32.const 256)
)
(block
@@ -4437,17 +4455,17 @@
)
(if
(i32.and
- (tee_local $23
- (i32.load
- (i32.const 176)
- )
- )
(tee_local $1
(i32.shl
(i32.const 1)
(get_local $6)
)
)
+ (tee_local $23
+ (i32.load
+ (i32.const 176)
+ )
+ )
)
(block $do-once59
(if
@@ -4482,8 +4500,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $23)
(get_local $1)
+ (get_local $23)
)
)
(set_local $42
@@ -4523,93 +4541,96 @@
(if (result i32)
(tee_local $1
(i32.shr_u
- (get_local $14)
+ (get_local $15)
(i32.const 8)
)
)
(if (result i32)
(i32.gt_u
- (get_local $14)
+ (get_local $15)
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $14)
- (i32.add
- (tee_local $16
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $8
+ (i32.shl
+ (get_local $1)
+ (tee_local $23
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $1)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $15)
+ (i32.add
+ (tee_local $16
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $7
+ (tee_local $8
(i32.and
(i32.shr_u
(i32.add
- (tee_local $5
+ (tee_local $6
(i32.shl
- (get_local $1)
- (tee_local $23
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $1)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
+ (get_local $8)
+ (get_local $7)
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $23)
- )
- (tee_local $5
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $6
- (i32.shl
- (get_local $5)
- (get_local $7)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $7)
+ (get_local $23)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $6)
- (get_local $5)
+ (i32.shr_u
+ (i32.shl
+ (get_local $6)
+ (get_local $8)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $16)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $16)
- (i32.const 1)
)
)
)
@@ -4641,17 +4662,17 @@
(if
(i32.eqz
(i32.and
- (tee_local $0
- (i32.load
- (i32.const 180)
- )
- )
(tee_local $16
(i32.shl
(i32.const 1)
(get_local $7)
)
)
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
+ )
+ )
)
)
(block
@@ -4683,7 +4704,7 @@
)
(set_local $16
(i32.shl
- (get_local $14)
+ (get_local $15)
(select
(i32.const 0)
(i32.sub
@@ -4712,13 +4733,13 @@
(block $while-out63 (result i32)
(if
(i32.eq
+ (get_local $15)
(i32.and
(i32.load offset=4
(get_local $0)
)
(i32.const -8)
)
- (get_local $14)
)
(block
(set_local $35
@@ -4730,7 +4751,7 @@
)
)
(if (result i32)
- (tee_local $5
+ (tee_local $8
(i32.load
(tee_local $1
(i32.add
@@ -4757,7 +4778,7 @@
)
)
(set_local $0
- (get_local $5)
+ (get_local $8)
)
(br $while-in64)
)
@@ -4821,7 +4842,7 @@
)
)
)
- (tee_local $5
+ (tee_local $8
(i32.load
(i32.const 192)
)
@@ -4829,7 +4850,7 @@
)
(i32.ge_u
(get_local $35)
- (get_local $5)
+ (get_local $8)
)
)
(block
@@ -4864,10 +4885,10 @@
(i32.const 188)
(tee_local $16
(i32.add
+ (get_local $15)
(i32.load
(i32.const 188)
)
- (get_local $14)
)
)
)
@@ -4894,53 +4915,6 @@
)
)
)
- (set_local $14
- (i32.add
- (tee_local $12
- (i32.add
- (tee_local $0
- (loop $while-in66 (result i32)
- (if (result i32)
- (if (result i32)
- (i32.le_u
- (tee_local $4
- (i32.load
- (get_local $29)
- )
- )
- (get_local $13)
- )
- (i32.gt_u
- (tee_local $14
- (i32.add
- (get_local $4)
- (i32.load offset=4
- (get_local $29)
- )
- )
- )
- (get_local $13)
- )
- (i32.const 0)
- )
- (get_local $14)
- (block
- (set_local $29
- (i32.load offset=8
- (get_local $29)
- )
- )
- (br $while-in66)
- )
- )
- )
- )
- (i32.const -47)
- )
- )
- (i32.const 8)
- )
- )
(set_local $4
(i32.add
(tee_local $12
@@ -4948,26 +4922,72 @@
(get_local $13)
(tee_local $4
(i32.add
- (get_local $12)
(select
(i32.and
(i32.sub
(i32.const 0)
- (get_local $14)
+ (tee_local $15
+ (i32.add
+ (tee_local $12
+ (i32.add
+ (tee_local $0
+ (loop $while-in66 (result i32)
+ (if (result i32)
+ (if (result i32)
+ (i32.le_u
+ (tee_local $4
+ (i32.load
+ (get_local $29)
+ )
+ )
+ (get_local $13)
+ )
+ (i32.gt_u
+ (tee_local $15
+ (i32.add
+ (i32.load offset=4
+ (get_local $29)
+ )
+ (get_local $4)
+ )
+ )
+ (get_local $13)
+ )
+ (i32.const 0)
+ )
+ (get_local $15)
+ (block
+ (set_local $29
+ (i32.load offset=8
+ (get_local $29)
+ )
+ )
+ (br $while-in66)
+ )
+ )
+ )
+ )
+ (i32.const -47)
+ )
+ )
+ (i32.const 8)
+ )
+ )
)
(i32.const 7)
)
(i32.const 0)
(i32.and
- (get_local $14)
+ (get_local $15)
(i32.const 7)
)
)
+ (get_local $12)
)
)
(i32.lt_u
(get_local $4)
- (tee_local $14
+ (tee_local $15
(i32.add
(get_local $13)
(i32.const 16)
@@ -4983,7 +5003,7 @@
(i32.const 200)
(tee_local $2
(i32.add
- (get_local $19)
+ (get_local $20)
(tee_local $18
(select
(i32.and
@@ -4991,7 +5011,7 @@
(i32.const 0)
(tee_local $2
(i32.add
- (get_local $19)
+ (get_local $20)
(i32.const 8)
)
)
@@ -5075,7 +5095,7 @@
)
(i32.store
(i32.const 624)
- (get_local $19)
+ (get_local $20)
)
(i32.store
(i32.const 628)
@@ -5169,17 +5189,17 @@
)
(if
(i32.and
- (tee_local $0
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $5
+ (tee_local $8
(i32.shl
(i32.const 1)
(get_local $2)
)
)
+ (tee_local $0
+ (i32.load
+ (i32.const 176)
+ )
+ )
)
(if
(i32.lt_u
@@ -5212,7 +5232,7 @@
(i32.const 176)
(i32.or
(get_local $0)
- (get_local $5)
+ (get_local $8)
)
)
(set_local $44
@@ -5262,83 +5282,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $4)
- (i32.add
- (tee_local $2
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $18
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $18)
+ (tee_local $8
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $18)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $4)
+ (i32.add
+ (tee_local $2
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $18
+ (tee_local $0
(i32.and
(i32.shr_u
(i32.add
- (tee_local $0
+ (tee_local $1
(i32.shl
+ (get_local $0)
(get_local $18)
- (tee_local $5
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $18)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $5)
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (get_local $18)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $8)
+ (get_local $18)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $2)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $2)
- (i32.const 1)
)
)
)
@@ -5359,23 +5382,23 @@
(i32.const 0)
)
(i32.store
- (get_local $14)
+ (get_local $15)
(i32.const 0)
)
(if
(i32.eqz
(i32.and
- (tee_local $0
- (i32.load
- (i32.const 180)
- )
- )
(tee_local $1
(i32.shl
(i32.const 1)
(get_local $7)
)
)
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
+ )
+ )
)
)
(block
@@ -5436,13 +5459,13 @@
(block $while-out69 (result i32)
(if
(i32.eq
+ (get_local $4)
(i32.and
(i32.load offset=4
(get_local $0)
)
(i32.const -8)
)
- (get_local $4)
)
(block
(set_local $37
@@ -5454,7 +5477,7 @@
)
)
(if (result i32)
- (tee_local $5
+ (tee_local $8
(i32.load
(tee_local $2
(i32.add
@@ -5481,7 +5504,7 @@
)
)
(set_local $0
- (get_local $5)
+ (get_local $8)
)
(br $while-in70)
)
@@ -5596,18 +5619,18 @@
)
)
(i32.lt_u
- (get_local $19)
+ (get_local $20)
(get_local $1)
)
)
(i32.store
(i32.const 192)
- (get_local $19)
+ (get_local $20)
)
)
(i32.store
(i32.const 624)
- (get_local $19)
+ (get_local $20)
)
(i32.store
(i32.const 628)
@@ -5663,7 +5686,7 @@
(i32.const 200)
(tee_local $1
(i32.add
- (get_local $19)
+ (get_local $20)
(tee_local $0
(select
(i32.and
@@ -5671,7 +5694,7 @@
(i32.const 0)
(tee_local $1
(i32.add
- (get_local $19)
+ (get_local $20)
(i32.const 8)
)
)
@@ -5734,7 +5757,7 @@
(block
(i32.store
(i32.const 188)
- (tee_local $19
+ (tee_local $20
(i32.sub
(get_local $21)
(get_local $9)
@@ -5745,19 +5768,19 @@
(i32.const 200)
(tee_local $13
(i32.add
+ (get_local $9)
(tee_local $21
(i32.load
(i32.const 200)
)
)
- (get_local $9)
)
)
)
(i32.store offset=4
(get_local $13)
(i32.or
- (get_local $19)
+ (get_local $20)
(i32.const 1)
)
)
@@ -5883,8 +5906,8 @@
)
(set_local $5
(i32.add
- (get_local $11)
(get_local $5)
+ (get_local $11)
)
)
(if
@@ -5901,10 +5924,10 @@
)
(if
(i32.eq
- (get_local $1)
(i32.load
(i32.const 196)
)
+ (get_local $1)
)
(block
(if
@@ -6006,10 +6029,10 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load offset=12
(get_local $11)
)
- (get_local $1)
)
(call $_abort)
)
@@ -6060,6 +6083,7 @@
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -6068,7 +6092,6 @@
)
)
)
- (get_local $1)
)
(set_local $10
(get_local $4)
@@ -6107,12 +6130,12 @@
)
(if
(i32.eq
+ (get_local $1)
(tee_local $0
(i32.load offset=12
(get_local $1)
)
)
- (get_local $1)
)
(block $do-once0
(if
@@ -6232,6 +6255,7 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load
(tee_local $10
(i32.add
@@ -6240,12 +6264,12 @@
)
)
)
- (get_local $1)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -6254,7 +6278,6 @@
)
)
)
- (get_local $1)
)
(block
(i32.store
@@ -6278,7 +6301,6 @@
(block
(if
(i32.eq
- (get_local $1)
(i32.load
(tee_local $7
(i32.add
@@ -6294,6 +6316,7 @@
)
)
)
+ (get_local $1)
)
(block
(i32.store
@@ -6342,6 +6365,7 @@
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $0
(i32.add
@@ -6350,7 +6374,6 @@
)
)
)
- (get_local $1)
)
(i32.store
(get_local $0)
@@ -6533,20 +6556,20 @@
(block (result i32)
(if
(i32.eq
- (get_local $8)
(i32.load
(i32.const 200)
)
+ (get_local $8)
)
(block
(i32.store
(i32.const 188)
(tee_local $6
(i32.add
+ (get_local $3)
(i32.load
(i32.const 188)
)
- (get_local $3)
)
)
)
@@ -6563,10 +6586,10 @@
)
(if
(i32.ne
- (get_local $2)
(i32.load
(i32.const 196)
)
+ (get_local $2)
)
(return)
)
@@ -6583,20 +6606,20 @@
)
(if
(i32.eq
- (get_local $8)
(i32.load
(i32.const 196)
)
+ (get_local $8)
)
(block
(i32.store
(i32.const 184)
(tee_local $6
(i32.add
+ (get_local $3)
(i32.load
(i32.const 184)
)
- (get_local $3)
)
)
)
@@ -6623,11 +6646,11 @@
)
(set_local $6
(i32.add
+ (get_local $3)
(i32.and
(get_local $1)
(i32.const -8)
)
- (get_local $3)
)
)
(set_local $14
@@ -6650,12 +6673,12 @@
)
(if
(i32.eq
+ (get_local $8)
(tee_local $9
(i32.load offset=12
(get_local $8)
)
)
- (get_local $8)
)
(block $do-once6
(set_local $3
@@ -6771,6 +6794,7 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load
(tee_local $10
(i32.add
@@ -6779,12 +6803,12 @@
)
)
)
- (get_local $8)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $4
(i32.add
@@ -6793,7 +6817,6 @@
)
)
)
- (get_local $8)
)
(block
(i32.store
@@ -6817,7 +6840,6 @@
(block
(if
(i32.eq
- (get_local $8)
(i32.load
(tee_local $5
(i32.add
@@ -6833,6 +6855,7 @@
)
)
)
+ (get_local $8)
)
(block
(i32.store
@@ -6875,6 +6898,7 @@
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $9
(i32.add
@@ -6883,7 +6907,6 @@
)
)
)
- (get_local $8)
)
(i32.store
(get_local $9)
@@ -7009,10 +7032,10 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load offset=12
(get_local $1)
)
- (get_local $8)
)
(call $_abort)
)
@@ -7020,8 +7043,8 @@
)
(if
(i32.eq
- (get_local $9)
(get_local $1)
+ (get_local $9)
)
(block
(i32.store
@@ -7044,8 +7067,8 @@
)
(if
(i32.ne
- (get_local $9)
(get_local $7)
+ (get_local $9)
)
(block
(if
@@ -7059,6 +7082,7 @@
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $7
(i32.add
@@ -7067,7 +7091,6 @@
)
)
)
- (get_local $8)
)
(set_local $16
(get_local $7)
@@ -7109,10 +7132,10 @@
)
(if (result i32)
(i32.eq
- (get_local $2)
(i32.load
(i32.const 196)
)
+ (get_local $2)
)
(block
(i32.store
@@ -7239,83 +7262,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $0)
- (i32.add
- (tee_local $5
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $15
+ (i32.shl
+ (get_local $1)
+ (tee_local $13
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $1)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $0)
+ (i32.add
+ (tee_local $5
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $1
+ (tee_local $15
(i32.and
(i32.shr_u
(i32.add
- (tee_local $15
+ (tee_local $6
(i32.shl
+ (get_local $15)
(get_local $1)
- (tee_local $13
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $1)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $13)
- )
- (tee_local $15
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $6
- (i32.shl
- (get_local $15)
- (get_local $1)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $1)
+ (get_local $13)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $6)
- (get_local $15)
+ (i32.shr_u
+ (i32.shl
+ (get_local $6)
+ (get_local $15)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $5)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $5)
- (i32.const 1)
)
)
)
@@ -7341,17 +7367,17 @@
)
(if
(i32.and
- (tee_local $15
- (i32.load
- (i32.const 180)
- )
- )
(tee_local $6
(i32.shl
(i32.const 1)
(get_local $3)
)
)
+ (tee_local $15
+ (i32.load
+ (i32.const 180)
+ )
+ )
)
(block
(set_local $13
@@ -7385,13 +7411,13 @@
(block $while-out14 (result i32)
(if
(i32.eq
+ (get_local $0)
(i32.and
(i32.load offset=4
(get_local $1)
)
(i32.const -8)
)
- (get_local $0)
)
(block
(set_local $17
@@ -7536,8 +7562,8 @@
(i32.store
(i32.const 180)
(i32.or
- (get_local $15)
(get_local $6)
+ (get_local $15)
)
)
(i32.store
@@ -7694,8 +7720,8 @@
)
(set_local $4
(i32.add
- (get_local $9)
(get_local $2)
+ (get_local $9)
)
)
(loop $while-in
@@ -7815,10 +7841,10 @@
(i32.store
(get_local $7)
(i32.add
+ (get_local $6)
(i32.load
(get_local $7)
)
- (get_local $6)
)
)
(set_local $3
@@ -7871,10 +7897,10 @@
(i32.store
(get_local $5)
(i32.add
+ (get_local $6)
(i32.load
(get_local $5)
)
- (get_local $6)
)
)
(i32.store offset=4
@@ -8160,15 +8186,15 @@
(i32.store
(get_local $4)
(i32.add
+ (get_local $1)
(i32.load
(get_local $4)
)
- (get_local $1)
)
)
(i32.add
- (get_local $3)
(get_local $1)
+ (get_local $3)
)
)
)
@@ -8351,21 +8377,21 @@
(loop $while-in1 (result i32)
(if (result i32)
(i32.and
+ (i32.add
+ (tee_local $1
+ (i32.load
+ (get_local $2)
+ )
+ )
+ (i32.const -16843009)
+ )
(i32.xor
(i32.and
- (tee_local $1
- (i32.load
- (get_local $2)
- )
- )
+ (get_local $1)
(i32.const -2139062144)
)
(i32.const -2139062144)
)
- (i32.add
- (get_local $1)
- (i32.const -16843009)
- )
)
(get_local $2)
(block
@@ -8900,11 +8926,11 @@
(i32.or
(i32.or
(i32.or
- (get_local $1)
(i32.shl
(get_local $1)
(i32.const 8)
)
+ (get_local $1)
)
(i32.shl
(get_local $1)
@@ -9145,11 +9171,11 @@
(i32.store8
(get_local $1)
(i32.or
+ (get_local $2)
(i32.add
(get_local $2)
(i32.const 255)
)
- (get_local $2)
)
)
(tee_local $0
@@ -9196,10 +9222,10 @@
(i32.store offset=16
(get_local $0)
(i32.add
- (get_local $1)
(i32.load offset=48
(get_local $0)
)
+ (get_local $1)
)
)
(i32.const 0)
@@ -9224,6 +9250,7 @@
)
)
(i32.ne
+ (get_local $3)
(tee_local $0
(call $___fwritex
(get_local $0)
@@ -9231,7 +9258,6 @@
(get_local $2)
)
)
- (get_local $3)
)
)
(set_local $4
@@ -9386,8 +9412,8 @@
)
(set_global $STACKTOP
(i32.add
- (get_global $STACKTOP)
(get_local $0)
+ (get_global $STACKTOP)
)
)
(set_global $STACKTOP
diff --git a/test/emcc_O2_hello_world.fromasm.imprecise b/test/emcc_O2_hello_world.fromasm.imprecise
index 57857f966..f098efba5 100644
--- a/test/emcc_O2_hello_world.fromasm.imprecise
+++ b/test/emcc_O2_hello_world.fromasm.imprecise
@@ -113,12 +113,12 @@
(i32.and
(tee_local $1
(i32.shr_u
- (tee_local $15
+ (tee_local $14
(i32.load
(i32.const 176)
)
)
- (tee_local $5
+ (tee_local $8
(i32.shr_u
(tee_local $9
(select
@@ -157,6 +157,7 @@
(i32.shl
(tee_local $1
(i32.add
+ (get_local $8)
(i32.xor
(i32.and
(get_local $1)
@@ -164,7 +165,6 @@
)
(i32.const 1)
)
- (get_local $5)
)
)
(i32.const 3)
@@ -199,6 +199,7 @@
)
(if
(i32.eq
+ (get_local $0)
(i32.load
(tee_local $10
(i32.add
@@ -207,7 +208,6 @@
)
)
)
- (get_local $0)
)
(block
(i32.store
@@ -225,7 +225,6 @@
(i32.store
(i32.const 176)
(i32.and
- (get_local $15)
(i32.xor
(i32.shl
(i32.const 1)
@@ -233,6 +232,7 @@
)
(i32.const -1)
)
+ (get_local $14)
)
)
)
@@ -289,30 +289,30 @@
(tee_local $5
(i32.add
(i32.and
- (tee_local $3
- (i32.and
- (i32.shl
- (get_local $1)
- (get_local $5)
- )
- (i32.or
- (tee_local $5
- (i32.shl
- (i32.const 2)
- (get_local $5)
+ (i32.sub
+ (i32.const 0)
+ (tee_local $3
+ (i32.and
+ (i32.or
+ (i32.sub
+ (i32.const 0)
+ (tee_local $5
+ (i32.shl
+ (i32.const 2)
+ (get_local $8)
+ )
+ )
)
- )
- (i32.sub
- (i32.const 0)
(get_local $5)
)
+ (i32.shl
+ (get_local $1)
+ (get_local $8)
+ )
)
)
)
- (i32.sub
- (i32.const 0)
- (get_local $3)
- )
+ (get_local $3)
)
(i32.const -1)
)
@@ -322,109 +322,111 @@
(i32.const 16)
)
)
- (set_local $3
- (i32.load
- (tee_local $10
- (i32.add
- (tee_local $0
- (i32.load
- (tee_local $22
- (i32.add
- (tee_local $11
+ (set_local $5
+ (i32.and
+ (i32.shr_u
+ (tee_local $10
+ (i32.shr_u
+ (get_local $5)
+ (get_local $3)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $10
+ (i32.and
+ (i32.shr_u
+ (tee_local $0
+ (i32.shr_u
+ (get_local $10)
+ (get_local $5)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $11
+ (i32.shr_u
+ (get_local $0)
+ (get_local $10)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
+ (if
+ (i32.ne
+ (tee_local $3
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (tee_local $0
+ (i32.load
+ (tee_local $22
(i32.add
- (i32.shl
- (tee_local $7
- (i32.add
- (i32.or
- (i32.or
+ (tee_local $11
+ (i32.add
+ (i32.shl
+ (tee_local $7
+ (i32.add
(i32.or
- (i32.or
- (tee_local $5
- (i32.and
- (i32.shr_u
- (tee_local $10
- (i32.shr_u
- (get_local $5)
- (get_local $3)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $3)
- )
- (tee_local $10
+ (tee_local $11
(i32.and
(i32.shr_u
- (tee_local $0
+ (tee_local $22
(i32.shr_u
- (get_local $10)
- (get_local $5)
+ (get_local $11)
+ (get_local $0)
)
)
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (tee_local $11
- (i32.shr_u
- (get_local $0)
- (get_local $10)
- )
+ (i32.const 1)
)
(i32.const 1)
)
- (i32.const 2)
)
- )
- )
- (tee_local $11
- (i32.and
- (i32.shr_u
- (tee_local $22
- (i32.shr_u
- (get_local $11)
- (get_local $0)
+ (i32.or
+ (get_local $0)
+ (i32.or
+ (get_local $10)
+ (i32.or
+ (get_local $3)
+ (get_local $5)
)
)
- (i32.const 1)
)
- (i32.const 1)
+ )
+ (i32.shr_u
+ (get_local $22)
+ (get_local $11)
)
)
)
- (i32.shr_u
- (get_local $22)
- (get_local $11)
- )
+ (i32.const 3)
)
+ (i32.const 216)
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
- )
- )
- (if
- (i32.ne
(get_local $11)
- (get_local $3)
)
(block
(if
@@ -438,6 +440,7 @@
)
(if
(i32.eq
+ (get_local $0)
(i32.load
(tee_local $5
(i32.add
@@ -446,7 +449,6 @@
)
)
)
- (get_local $0)
)
(block
(i32.store
@@ -470,7 +472,6 @@
(i32.store
(i32.const 176)
(i32.and
- (get_local $15)
(i32.xor
(i32.shl
(i32.const 1)
@@ -478,6 +479,7 @@
)
(i32.const -1)
)
+ (get_local $14)
)
)
(set_local $17
@@ -493,7 +495,7 @@
)
)
(i32.store offset=4
- (tee_local $15
+ (tee_local $14
(i32.add
(get_local $0)
(get_local $9)
@@ -514,8 +516,8 @@
)
(i32.store
(i32.add
- (get_local $15)
(get_local $6)
+ (get_local $14)
)
(get_local $6)
)
@@ -543,7 +545,7 @@
)
(if
(i32.and
- (tee_local $5
+ (tee_local $8
(i32.load
(i32.const 176)
)
@@ -585,8 +587,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $5)
(get_local $1)
+ (get_local $8)
)
)
(set_local $38
@@ -624,7 +626,7 @@
)
(i32.store
(i32.const 196)
- (get_local $15)
+ (get_local $14)
)
(return
(get_local $10)
@@ -632,23 +634,23 @@
)
)
(if
- (tee_local $15
+ (tee_local $14
(i32.load
(i32.const 180)
)
)
(block
- (set_local $15
+ (set_local $14
(i32.and
(i32.shr_u
(tee_local $6
(i32.add
(i32.and
- (get_local $15)
(i32.sub
(i32.const 0)
- (get_local $15)
+ (get_local $14)
)
+ (get_local $14)
)
(i32.const -1)
)
@@ -658,6 +660,48 @@
(i32.const 16)
)
)
+ (set_local $6
+ (i32.and
+ (i32.shr_u
+ (tee_local $11
+ (i32.shr_u
+ (get_local $6)
+ (get_local $14)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $11
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.shr_u
+ (get_local $11)
+ (get_local $6)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $1
+ (i32.shr_u
+ (get_local $3)
+ (get_local $11)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
(set_local $1
(i32.sub
(i32.and
@@ -667,59 +711,10 @@
(i32.shl
(i32.add
(i32.or
- (i32.or
- (i32.or
- (i32.or
- (tee_local $6
- (i32.and
- (i32.shr_u
- (tee_local $11
- (i32.shr_u
- (get_local $6)
- (get_local $15)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $15)
- )
- (tee_local $11
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.shr_u
- (get_local $11)
- (get_local $6)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.shr_u
- (get_local $3)
- (get_local $11)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
(tee_local $1
(i32.and
(i32.shr_u
- (tee_local $5
+ (tee_local $8
(i32.shr_u
(get_local $1)
(get_local $3)
@@ -730,9 +725,19 @@
(i32.const 1)
)
)
+ (i32.or
+ (get_local $3)
+ (i32.or
+ (get_local $11)
+ (i32.or
+ (get_local $6)
+ (get_local $14)
+ )
+ )
+ )
)
(i32.shr_u
- (get_local $5)
+ (get_local $8)
(get_local $1)
)
)
@@ -747,7 +752,7 @@
)
)
(set_local $3
- (tee_local $5
+ (tee_local $8
(get_local $17)
)
)
@@ -759,23 +764,23 @@
(i32.sub
(i32.and
(i32.load offset=4
- (tee_local $5
+ (tee_local $8
(if (result i32)
(tee_local $17
(i32.load offset=16
- (get_local $5)
+ (get_local $8)
)
)
(get_local $17)
(if (result i32)
(tee_local $11
(i32.load offset=20
- (get_local $5)
+ (get_local $8)
)
)
(get_local $11)
(block
- (set_local $8
+ (set_local $5
(get_local $1)
)
(set_local $2
@@ -804,7 +809,7 @@
)
(set_local $3
(select
- (get_local $5)
+ (get_local $8)
(get_local $3)
(get_local $11)
)
@@ -826,7 +831,7 @@
(if
(i32.ge_u
(get_local $2)
- (tee_local $5
+ (tee_local $8
(i32.add
(get_local $2)
(get_local $9)
@@ -959,6 +964,7 @@
)
(if
(i32.ne
+ (get_local $2)
(i32.load
(tee_local $7
(i32.add
@@ -967,12 +973,12 @@
)
)
)
- (get_local $2)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $2)
(i32.load
(tee_local $11
(i32.add
@@ -981,7 +987,6 @@
)
)
)
- (get_local $2)
)
(block
(i32.store
@@ -1005,7 +1010,6 @@
(block $do-once8
(if
(i32.eq
- (get_local $2)
(i32.load
(tee_local $3
(i32.add
@@ -1021,6 +1025,7 @@
)
)
)
+ (get_local $2)
)
(block
(i32.store
@@ -1063,6 +1068,7 @@
)
(if
(i32.eq
+ (get_local $2)
(i32.load
(tee_local $10
(i32.add
@@ -1071,7 +1077,6 @@
)
)
)
- (get_local $2)
)
(i32.store
(get_local $10)
@@ -1158,7 +1163,7 @@
)
(if
(i32.lt_u
- (get_local $8)
+ (get_local $5)
(i32.const 16)
)
(block
@@ -1167,7 +1172,7 @@
(i32.or
(tee_local $1
(i32.add
- (get_local $8)
+ (get_local $5)
(get_local $9)
)
)
@@ -1178,8 +1183,8 @@
(tee_local $3
(i32.add
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $2)
)
(i32.const 4)
)
@@ -1201,9 +1206,9 @@
)
)
(i32.store offset=4
- (get_local $5)
+ (get_local $8)
(i32.or
- (get_local $8)
+ (get_local $5)
(i32.const 1)
)
)
@@ -1212,7 +1217,7 @@
(get_local $5)
(get_local $8)
)
- (get_local $8)
+ (get_local $5)
)
(if
(tee_local $3
@@ -1319,11 +1324,11 @@
)
(i32.store
(i32.const 184)
- (get_local $8)
+ (get_local $5)
)
(i32.store
(i32.const 196)
- (get_local $5)
+ (get_local $8)
)
)
)
@@ -1370,7 +1375,7 @@
)
)
(if
- (tee_local $15
+ (tee_local $14
(i32.load offset=480
(i32.shl
(tee_local $9
@@ -1387,83 +1392,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $1)
- (i32.add
- (tee_local $15
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $10
+ (i32.shl
+ (get_local $7)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $7)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $1)
+ (i32.add
+ (tee_local $14
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $7
+ (tee_local $10
(i32.and
(i32.shr_u
(i32.add
- (tee_local $10
+ (tee_local $17
(i32.shl
+ (get_local $10)
(get_local $7)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $7)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $3)
- )
- (tee_local $10
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $17
- (i32.shl
- (get_local $10)
- (get_local $7)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $3)
+ (get_local $7)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $17)
- (get_local $10)
+ (i32.shr_u
+ (i32.shl
+ (get_local $17)
+ (get_local $10)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $14)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $15)
- (i32.const 1)
)
)
)
@@ -1501,7 +1509,7 @@
)
)
(set_local $7
- (get_local $15)
+ (get_local $14)
)
(loop $while-in14
(if
@@ -1524,8 +1532,8 @@
(set_local $6
(if (result i32)
(i32.eq
- (get_local $22)
(get_local $1)
+ (get_local $22)
)
(block
(set_local $28
@@ -1586,7 +1594,7 @@
)
)
)
- (set_local $5
+ (set_local $8
(if (result i32)
(tee_local $0
(i32.eqz
@@ -1645,10 +1653,10 @@
(tee_local $0
(if (result i32)
(i32.or
- (get_local $5)
+ (get_local $8)
(get_local $31)
)
- (get_local $5)
+ (get_local $8)
(block (result i32)
(drop
(br_if $do-once
@@ -1656,19 +1664,19 @@
(i32.eqz
(tee_local $0
(i32.and
- (get_local $11)
(i32.or
- (tee_local $15
- (i32.shl
- (i32.const 2)
- (get_local $9)
- )
- )
(i32.sub
(i32.const 0)
- (get_local $15)
+ (tee_local $14
+ (i32.shl
+ (i32.const 2)
+ (get_local $9)
+ )
+ )
)
+ (get_local $14)
)
+ (get_local $11)
)
)
)
@@ -1677,14 +1685,14 @@
(set_local $0
(i32.and
(i32.shr_u
- (tee_local $15
+ (tee_local $14
(i32.add
(i32.and
- (get_local $0)
(i32.sub
(i32.const 0)
(get_local $0)
)
+ (get_local $0)
)
(i32.const -1)
)
@@ -1694,66 +1702,59 @@
(i32.const 16)
)
)
+ (set_local $14
+ (i32.and
+ (i32.shr_u
+ (tee_local $9
+ (i32.shr_u
+ (get_local $14)
+ (get_local $0)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $9
+ (i32.and
+ (i32.shr_u
+ (tee_local $8
+ (i32.shr_u
+ (get_local $9)
+ (get_local $14)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $8
+ (i32.and
+ (i32.shr_u
+ (tee_local $6
+ (i32.shr_u
+ (get_local $8)
+ (get_local $9)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
(i32.load offset=480
(i32.shl
(i32.add
(i32.or
- (i32.or
- (i32.or
- (i32.or
- (tee_local $15
- (i32.and
- (i32.shr_u
- (tee_local $9
- (i32.shr_u
- (get_local $15)
- (get_local $0)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $0)
- )
- (tee_local $9
- (i32.and
- (i32.shr_u
- (tee_local $5
- (i32.shr_u
- (get_local $9)
- (get_local $15)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $5
- (i32.and
- (i32.shr_u
- (tee_local $6
- (i32.shr_u
- (get_local $5)
- (get_local $9)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
(tee_local $6
(i32.and
(i32.shr_u
(tee_local $3
(i32.shr_u
(get_local $6)
- (get_local $5)
+ (get_local $8)
)
)
(i32.const 1)
@@ -1761,6 +1762,16 @@
(i32.const 1)
)
)
+ (i32.or
+ (get_local $8)
+ (i32.or
+ (get_local $9)
+ (i32.or
+ (get_local $0)
+ (get_local $14)
+ )
+ )
+ )
)
(i32.shr_u
(get_local $3)
@@ -1822,7 +1833,7 @@
(get_local $28)
)
)
- (set_local $5
+ (set_local $8
(select
(get_local $6)
(get_local $28)
@@ -1844,7 +1855,7 @@
)
(block
(set_local $28
- (get_local $5)
+ (get_local $8)
)
(set_local $26
(get_local $3)
@@ -1864,7 +1875,7 @@
)
(block
(set_local $28
- (get_local $5)
+ (get_local $8)
)
(set_local $30
(get_local $6)
@@ -1875,7 +1886,7 @@
(set_local $12
(get_local $6)
)
- (get_local $5)
+ (get_local $8)
)
)
)
@@ -1912,14 +1923,14 @@
(get_local $12)
(tee_local $6
(i32.add
- (get_local $12)
(get_local $1)
+ (get_local $12)
)
)
)
(call $_abort)
)
- (set_local $5
+ (set_local $8
(i32.load offset=24
(get_local $12)
)
@@ -1955,7 +1966,7 @@
(if (result i32)
(tee_local $17
(i32.load
- (tee_local $15
+ (tee_local $14
(i32.add
(get_local $12)
(i32.const 16)
@@ -1963,7 +1974,7 @@
)
)
)
- (get_local $15)
+ (get_local $14)
(br $do-once17)
)
)
@@ -2023,7 +2034,7 @@
(get_local $7)
(i32.const 0)
)
- (set_local $8
+ (set_local $5
(get_local $17)
)
)
@@ -2043,6 +2054,7 @@
)
(if
(i32.ne
+ (get_local $12)
(i32.load
(tee_local $0
(i32.add
@@ -2051,21 +2063,20 @@
)
)
)
- (get_local $12)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $12)
(i32.load
- (tee_local $15
+ (tee_local $14
(i32.add
(get_local $3)
(i32.const 8)
)
)
)
- (get_local $12)
)
(block
(i32.store
@@ -2073,10 +2084,10 @@
(get_local $3)
)
(i32.store
- (get_local $15)
+ (get_local $14)
(get_local $9)
)
- (set_local $8
+ (set_local $5
(get_local $3)
)
)
@@ -2085,11 +2096,10 @@
)
)
(if
- (get_local $5)
+ (get_local $8)
(block $do-once21
(if
(i32.eq
- (get_local $12)
(i32.load
(tee_local $11
(i32.add
@@ -2105,15 +2115,16 @@
)
)
)
+ (get_local $12)
)
(block
(i32.store
(get_local $11)
- (get_local $8)
+ (get_local $5)
)
(if
(i32.eqz
- (get_local $8)
+ (get_local $5)
)
(block
(i32.store
@@ -2138,7 +2149,7 @@
(block
(if
(i32.lt_u
- (get_local $5)
+ (get_local $8)
(i32.load
(i32.const 192)
)
@@ -2147,35 +2158,35 @@
)
(if
(i32.eq
+ (get_local $12)
(i32.load
(tee_local $3
(i32.add
- (get_local $5)
+ (get_local $8)
(i32.const 16)
)
)
)
- (get_local $12)
)
(i32.store
(get_local $3)
- (get_local $8)
+ (get_local $5)
)
(i32.store offset=20
- (get_local $5)
(get_local $8)
+ (get_local $5)
)
)
(br_if $do-once21
(i32.eqz
- (get_local $8)
+ (get_local $5)
)
)
)
)
(if
(i32.lt_u
- (get_local $8)
+ (get_local $5)
(tee_local $3
(i32.load
(i32.const 192)
@@ -2185,8 +2196,8 @@
(call $_abort)
)
(i32.store offset=24
- (get_local $8)
(get_local $5)
+ (get_local $8)
)
(if
(tee_local $11
@@ -2202,12 +2213,12 @@
(call $_abort)
(block
(i32.store offset=16
- (get_local $8)
+ (get_local $5)
(get_local $11)
)
(i32.store offset=24
(get_local $11)
- (get_local $8)
+ (get_local $5)
)
)
)
@@ -2228,12 +2239,12 @@
(call $_abort)
(block
(i32.store offset=20
- (get_local $8)
+ (get_local $5)
(get_local $11)
)
(i32.store offset=24
(get_local $11)
- (get_local $8)
+ (get_local $5)
)
)
)
@@ -2262,12 +2273,12 @@
)
(i32.store
(i32.add
- (get_local $6)
(get_local $2)
+ (get_local $6)
)
(get_local $2)
)
- (set_local $5
+ (set_local $8
(i32.shr_u
(get_local $2)
(i32.const 3)
@@ -2282,7 +2293,7 @@
(set_local $11
(i32.add
(i32.shl
- (get_local $5)
+ (get_local $8)
(i32.const 3)
)
(i32.const 216)
@@ -2290,23 +2301,23 @@
)
(if
(i32.and
- (tee_local $3
- (i32.load
- (i32.const 176)
- )
- )
(tee_local $9
(i32.shl
(i32.const 1)
- (get_local $5)
+ (get_local $8)
+ )
+ )
+ (tee_local $3
+ (i32.load
+ (i32.const 176)
)
)
)
(if
(i32.lt_u
- (tee_local $15
+ (tee_local $14
(i32.load
- (tee_local $5
+ (tee_local $8
(i32.add
(get_local $11)
(i32.const 8)
@@ -2321,10 +2332,10 @@
(call $_abort)
(block
(set_local $16
- (get_local $5)
+ (get_local $8)
)
(set_local $27
- (get_local $15)
+ (get_local $14)
)
)
)
@@ -2366,7 +2377,7 @@
(br $do-once25)
)
)
- (set_local $5
+ (set_local $8
(i32.add
(i32.shl
(tee_local $7
@@ -2383,83 +2394,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $2)
- (i32.add
- (tee_local $5
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $11
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $3
+ (i32.shl
+ (get_local $11)
+ (tee_local $9
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $11)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $2)
+ (i32.add
+ (tee_local $8
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $11
+ (tee_local $3
(i32.and
(i32.shr_u
(i32.add
- (tee_local $3
+ (tee_local $14
(i32.shl
+ (get_local $3)
(get_local $11)
- (tee_local $9
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $11)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $9)
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $15
- (i32.shl
- (get_local $3)
- (get_local $11)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $9)
+ (get_local $11)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $15)
- (get_local $3)
+ (i32.shr_u
+ (i32.shl
+ (get_local $14)
+ (get_local $3)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $8)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $5)
- (i32.const 1)
)
)
)
@@ -2491,17 +2505,17 @@
(if
(i32.eqz
(i32.and
- (tee_local $3
- (i32.load
- (i32.const 180)
- )
- )
- (tee_local $15
+ (tee_local $14
(i32.shl
(i32.const 1)
(get_local $7)
)
)
+ (tee_local $3
+ (i32.load
+ (i32.const 180)
+ )
+ )
)
)
(block
@@ -2509,16 +2523,16 @@
(i32.const 180)
(i32.or
(get_local $3)
- (get_local $15)
+ (get_local $14)
)
)
(i32.store
- (get_local $5)
+ (get_local $8)
(get_local $6)
)
(i32.store offset=24
(get_local $6)
- (get_local $5)
+ (get_local $8)
)
(i32.store offset=12
(get_local $6)
@@ -2531,7 +2545,7 @@
(br $do-once25)
)
)
- (set_local $15
+ (set_local $14
(i32.shl
(get_local $2)
(select
@@ -2552,7 +2566,7 @@
)
(set_local $3
(i32.load
- (get_local $5)
+ (get_local $8)
)
)
(if
@@ -2562,16 +2576,16 @@
(block $while-out27 (result i32)
(if
(i32.eq
+ (get_local $2)
(i32.and
(i32.load offset=4
(get_local $3)
)
(i32.const -8)
)
- (get_local $2)
)
(block
- (set_local $14
+ (set_local $15
(get_local $3)
)
(br $while-out27
@@ -2582,7 +2596,7 @@
(if (result i32)
(tee_local $9
(i32.load
- (tee_local $5
+ (tee_local $8
(i32.add
(i32.add
(get_local $3)
@@ -2590,7 +2604,7 @@
)
(i32.shl
(i32.shr_u
- (get_local $15)
+ (get_local $14)
(i32.const 31)
)
(i32.const 2)
@@ -2600,9 +2614,9 @@
)
)
(block
- (set_local $15
+ (set_local $14
(i32.shl
- (get_local $15)
+ (get_local $14)
(i32.const 1)
)
)
@@ -2613,9 +2627,9 @@
)
(block (result i32)
(set_local $23
- (get_local $5)
+ (get_local $8)
)
- (set_local $20
+ (set_local $19
(get_local $3)
)
(i32.const 145)
@@ -2641,7 +2655,7 @@
)
(i32.store offset=24
(get_local $6)
- (get_local $20)
+ (get_local $19)
)
(i32.store offset=12
(get_local $6)
@@ -2661,11 +2675,11 @@
(if
(i32.and
(i32.ge_u
- (tee_local $15
+ (tee_local $14
(i32.load
(tee_local $3
(i32.add
- (get_local $14)
+ (get_local $15)
(i32.const 8)
)
)
@@ -2678,13 +2692,13 @@
)
)
(i32.ge_u
- (get_local $14)
+ (get_local $15)
(get_local $9)
)
)
(block
(i32.store offset=12
- (get_local $15)
+ (get_local $14)
(get_local $6)
)
(i32.store
@@ -2693,11 +2707,11 @@
)
(i32.store offset=8
(get_local $6)
- (get_local $15)
+ (get_local $14)
)
(i32.store offset=12
(get_local $6)
- (get_local $14)
+ (get_local $15)
)
(i32.store offset=24
(get_local $6)
@@ -2713,10 +2727,10 @@
(i32.store offset=4
(get_local $12)
(i32.or
- (tee_local $15
+ (tee_local $14
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $2)
)
)
(i32.const 3)
@@ -2727,7 +2741,7 @@
(i32.add
(i32.add
(get_local $12)
- (get_local $15)
+ (get_local $14)
)
(i32.const 4)
)
@@ -2768,7 +2782,7 @@
(get_local $9)
)
(block
- (set_local $14
+ (set_local $15
(i32.load
(i32.const 196)
)
@@ -2786,10 +2800,10 @@
(block
(i32.store
(i32.const 196)
- (tee_local $20
+ (tee_local $19
(i32.add
- (get_local $14)
(get_local $9)
+ (get_local $15)
)
)
)
@@ -2798,7 +2812,7 @@
(get_local $2)
)
(i32.store offset=4
- (get_local $20)
+ (get_local $19)
(i32.or
(get_local $2)
(i32.const 1)
@@ -2806,13 +2820,13 @@
)
(i32.store
(i32.add
- (get_local $20)
(get_local $2)
+ (get_local $19)
)
(get_local $2)
)
(i32.store offset=4
- (get_local $14)
+ (get_local $15)
(i32.or
(get_local $9)
(i32.const 3)
@@ -2829,7 +2843,7 @@
(i32.const 0)
)
(i32.store offset=4
- (get_local $14)
+ (get_local $15)
(i32.or
(get_local $12)
(i32.const 3)
@@ -2839,8 +2853,8 @@
(tee_local $2
(i32.add
(i32.add
- (get_local $14)
(get_local $12)
+ (get_local $15)
)
(i32.const 4)
)
@@ -2856,7 +2870,7 @@
)
(return
(i32.add
- (get_local $14)
+ (get_local $15)
(i32.const 8)
)
)
@@ -2864,7 +2878,7 @@
)
(if
(i32.gt_u
- (tee_local $14
+ (tee_local $15
(i32.load
(i32.const 188)
)
@@ -2876,7 +2890,7 @@
(i32.const 188)
(tee_local $2
(i32.sub
- (get_local $14)
+ (get_local $15)
(get_local $9)
)
)
@@ -2885,12 +2899,12 @@
(i32.const 200)
(tee_local $12
(i32.add
- (tee_local $14
+ (get_local $9)
+ (tee_local $15
(i32.load
(i32.const 200)
)
)
- (get_local $9)
)
)
)
@@ -2902,7 +2916,7 @@
)
)
(i32.store offset=4
- (get_local $14)
+ (get_local $15)
(i32.or
(get_local $9)
(i32.const 3)
@@ -2910,7 +2924,7 @@
)
(return
(i32.add
- (get_local $14)
+ (get_local $15)
(i32.const 8)
)
)
@@ -2924,25 +2938,25 @@
)
(if
(i32.and
- (i32.add
- (tee_local $14
- (call $_sysconf
- (i32.const 30)
- )
+ (tee_local $15
+ (call $_sysconf
+ (i32.const 30)
)
+ )
+ (i32.add
+ (get_local $15)
(i32.const -1)
)
- (get_local $14)
)
(call $_abort)
(block
(i32.store
(i32.const 656)
- (get_local $14)
+ (get_local $15)
)
(i32.store
(i32.const 652)
- (get_local $14)
+ (get_local $15)
)
(i32.store
(i32.const 660)
@@ -2975,37 +2989,38 @@
)
)
)
- (set_local $14
+ (set_local $15
(i32.add
(get_local $9)
(i32.const 48)
)
)
+ (set_local $19
+ (i32.add
+ (tee_local $2
+ (i32.load
+ (i32.const 656)
+ )
+ )
+ (tee_local $12
+ (i32.add
+ (get_local $9)
+ (i32.const 47)
+ )
+ )
+ )
+ )
(if
(i32.le_u
(tee_local $2
(i32.and
- (tee_local $20
- (i32.add
- (tee_local $2
- (i32.load
- (i32.const 656)
- )
- )
- (tee_local $12
- (i32.add
- (get_local $9)
- (i32.const 47)
- )
- )
- )
- )
(tee_local $23
(i32.sub
(i32.const 0)
(get_local $2)
)
)
+ (get_local $19)
)
)
(get_local $9)
@@ -3025,12 +3040,12 @@
(i32.le_u
(tee_local $16
(i32.add
+ (get_local $2)
(tee_local $27
(i32.load
(i32.const 608)
)
)
- (get_local $2)
)
)
(get_local $27)
@@ -3090,15 +3105,15 @@
)
(i32.gt_u
(i32.add
- (get_local $27)
(i32.load
- (tee_local $8
+ (tee_local $5
(i32.add
(get_local $16)
(i32.const 4)
)
)
)
+ (get_local $27)
)
(get_local $7)
)
@@ -3108,8 +3123,8 @@
(set_local $6
(get_local $16)
)
- (set_local $5
- (get_local $8)
+ (set_local $8
+ (get_local $5)
)
(br $while-out33)
)
@@ -3131,61 +3146,64 @@
(i32.lt_u
(tee_local $16
(i32.and
+ (get_local $23)
(i32.sub
- (get_local $20)
+ (get_local $19)
(i32.load
(i32.const 188)
)
)
- (get_local $23)
)
)
(i32.const 2147483647)
)
- (if
- (i32.eq
- (tee_local $8
- (call $_sbrk
- (get_local $16)
- )
+ (block
+ (set_local $5
+ (call $_sbrk
+ (get_local $16)
)
- (i32.add
- (i32.load
- (get_local $6)
+ )
+ (if
+ (i32.eq
+ (i32.add
+ (i32.load
+ (get_local $6)
+ )
+ (i32.load
+ (get_local $8)
+ )
)
- (i32.load
+ (get_local $5)
+ )
+ (if
+ (i32.ne
(get_local $5)
+ (i32.const -1)
+ )
+ (block
+ (set_local $20
+ (get_local $5)
+ )
+ (set_local $21
+ (get_local $16)
+ )
+ (br $label$break$L257
+ (i32.const 193)
+ )
)
- )
- )
- (if
- (i32.ne
- (get_local $8)
- (i32.const -1)
)
(block
- (set_local $19
- (get_local $8)
+ (set_local $13
+ (get_local $5)
)
- (set_local $21
+ (set_local $18
(get_local $16)
)
- (br $label$break$L257
- (i32.const 193)
+ (set_local $10
+ (i32.const 183)
)
)
)
- (block
- (set_local $13
- (get_local $8)
- )
- (set_local $18
- (get_local $16)
- )
- (set_local $10
- (i32.const 183)
- )
- )
)
)
)
@@ -3213,7 +3231,10 @@
(set_local $0
(if (result i32)
(i32.and
- (tee_local $8
+ (tee_local $1
+ (get_local $7)
+ )
+ (tee_local $5
(i32.add
(tee_local $16
(i32.load
@@ -3223,9 +3244,6 @@
(i32.const -1)
)
)
- (tee_local $1
- (get_local $7)
- )
)
(i32.add
(i32.sub
@@ -3234,8 +3252,8 @@
)
(i32.and
(i32.add
- (get_local $8)
(get_local $1)
+ (get_local $5)
)
(i32.sub
(i32.const 0)
@@ -3258,14 +3276,14 @@
)
(if
(i32.and
- (i32.gt_u
- (get_local $0)
- (get_local $9)
- )
(i32.lt_u
(get_local $0)
(i32.const 2147483647)
)
+ (i32.gt_u
+ (get_local $0)
+ (get_local $9)
+ )
)
(block
(br_if $do-once35
@@ -3277,7 +3295,7 @@
)
(i32.gt_u
(get_local $1)
- (tee_local $8
+ (tee_local $5
(i32.load
(i32.const 616)
)
@@ -3285,13 +3303,13 @@
)
)
(i32.const 0)
- (get_local $8)
+ (get_local $5)
)
)
(set_local $18
(if (result i32)
(i32.eq
- (tee_local $8
+ (tee_local $5
(call $_sbrk
(get_local $0)
)
@@ -3299,7 +3317,7 @@
(get_local $7)
)
(block
- (set_local $19
+ (set_local $20
(get_local $7)
)
(set_local $21
@@ -3311,7 +3329,7 @@
)
(block (result i32)
(set_local $13
- (get_local $8)
+ (get_local $5)
)
(set_local $10
(i32.const 183)
@@ -3330,7 +3348,7 @@
(i32.const 183)
)
(block $label$break$L279
- (set_local $8
+ (set_local $5
(i32.sub
(i32.const 0)
(get_local $18)
@@ -3340,34 +3358,34 @@
(if (result i32)
(if (result i32)
(i32.and
- (i32.gt_u
- (get_local $14)
- (get_local $18)
- )
(i32.and
- (i32.lt_u
- (get_local $18)
- (i32.const 2147483647)
- )
(i32.ne
(get_local $13)
(i32.const -1)
)
+ (i32.lt_u
+ (get_local $18)
+ (i32.const 2147483647)
+ )
+ )
+ (i32.gt_u
+ (get_local $15)
+ (get_local $18)
)
)
(i32.lt_u
(tee_local $1
(i32.and
(i32.add
- (i32.sub
- (get_local $12)
- (get_local $18)
- )
(tee_local $7
(i32.load
(i32.const 656)
)
)
+ (i32.sub
+ (get_local $12)
+ (get_local $18)
+ )
)
(i32.sub
(i32.const 0)
@@ -3389,7 +3407,7 @@
(block
(drop
(call $_sbrk
- (get_local $8)
+ (get_local $5)
)
)
(br $label$break$L279)
@@ -3408,7 +3426,7 @@
(i32.const -1)
)
(block
- (set_local $19
+ (set_local $20
(get_local $13)
)
(set_local $21
@@ -3438,28 +3456,28 @@
)
)
(i32.and
- (i32.lt_u
- (tee_local $4
- (call $_sbrk
- (get_local $2)
- )
- )
- (tee_local $2
- (call $_sbrk
- (i32.const 0)
- )
- )
- )
(i32.and
(i32.ne
- (get_local $4)
+ (tee_local $4
+ (call $_sbrk
+ (get_local $2)
+ )
+ )
(i32.const -1)
)
(i32.ne
- (get_local $2)
+ (tee_local $2
+ (call $_sbrk
+ (i32.const 0)
+ )
+ )
(i32.const -1)
)
)
+ (i32.lt_u
+ (get_local $4)
+ (get_local $2)
+ )
)
(i32.const 0)
)
@@ -3478,7 +3496,7 @@
(i32.const 0)
)
(block
- (set_local $19
+ (set_local $20
(get_local $4)
)
(set_local $21
@@ -3499,10 +3517,10 @@
(i32.const 608)
(tee_local $13
(i32.add
+ (get_local $21)
(i32.load
(i32.const 608)
)
- (get_local $21)
)
)
)
@@ -3532,7 +3550,6 @@
(block $do-out
(if
(i32.eq
- (get_local $19)
(i32.add
(tee_local $2
(i32.load
@@ -3550,6 +3567,7 @@
)
)
)
+ (get_local $20)
)
(block
(set_local $46
@@ -3584,7 +3602,7 @@
(i32.and
(i32.lt_u
(get_local $13)
- (get_local $19)
+ (get_local $20)
)
(i32.ge_u
(get_local $13)
@@ -3612,13 +3630,12 @@
(i32.store
(get_local $47)
(i32.add
- (get_local $48)
(get_local $21)
+ (get_local $48)
)
)
(set_local $4
(i32.add
- (get_local $13)
(tee_local $12
(select
(i32.and
@@ -3640,17 +3657,18 @@
)
)
)
+ (get_local $13)
)
)
(set_local $18
(i32.add
+ (i32.load
+ (i32.const 188)
+ )
(i32.sub
(get_local $21)
(get_local $12)
)
- (i32.load
- (i32.const 188)
- )
)
)
(i32.store
@@ -3687,7 +3705,7 @@
(set_local $3
(if (result i32)
(i32.lt_u
- (get_local $19)
+ (get_local $20)
(tee_local $18
(i32.load
(i32.const 192)
@@ -3697,16 +3715,16 @@
(block (result i32)
(i32.store
(i32.const 192)
- (get_local $19)
+ (get_local $20)
)
- (get_local $19)
+ (get_local $20)
)
(get_local $18)
)
)
(set_local $18
(i32.add
- (get_local $19)
+ (get_local $20)
(get_local $21)
)
)
@@ -3717,10 +3735,10 @@
(block $while-out42
(if
(i32.eq
+ (get_local $18)
(i32.load
(get_local $4)
)
- (get_local $18)
)
(block
(set_local $50
@@ -3764,7 +3782,7 @@
(block
(i32.store
(get_local $50)
- (get_local $19)
+ (get_local $20)
)
(i32.store
(tee_local $4
@@ -3774,22 +3792,21 @@
)
)
(i32.add
+ (get_local $21)
(i32.load
(get_local $4)
)
- (get_local $21)
)
)
(set_local $12
(i32.add
- (get_local $19)
(select
(i32.and
(i32.sub
(i32.const 0)
(tee_local $4
(i32.add
- (get_local $19)
+ (get_local $20)
(i32.const 8)
)
)
@@ -3802,11 +3819,11 @@
(i32.const 7)
)
)
+ (get_local $20)
)
)
(set_local $2
(i32.add
- (get_local $18)
(select
(i32.and
(i32.sub
@@ -3826,15 +3843,16 @@
(i32.const 7)
)
)
+ (get_local $18)
)
)
(set_local $4
(i32.add
- (get_local $12)
(get_local $9)
+ (get_local $12)
)
)
- (set_local $14
+ (set_local $15
(i32.sub
(i32.sub
(get_local $2)
@@ -3858,20 +3876,20 @@
(block $do-once44
(if
(i32.eq
- (get_local $2)
(i32.load
(i32.const 196)
)
+ (get_local $2)
)
(block
(i32.store
(i32.const 184)
(tee_local $0
(i32.add
+ (get_local $15)
(i32.load
(i32.const 184)
)
- (get_local $14)
)
)
)
@@ -3888,8 +3906,8 @@
)
(i32.store
(i32.add
- (get_local $4)
(get_local $0)
+ (get_local $4)
)
(get_local $0)
)
@@ -3909,7 +3927,7 @@
(i32.const 1)
)
(block
- (set_local $5
+ (set_local $8
(i32.and
(get_local $0)
(i32.const -8)
@@ -3935,12 +3953,12 @@
)
(if
(i32.eq
- (tee_local $20
+ (get_local $2)
+ (tee_local $19
(i32.load offset=12
(get_local $2)
)
)
- (get_local $2)
)
(block $do-once47
(set_local $0
@@ -3949,7 +3967,7 @@
(i32.load
(tee_local $1
(i32.add
- (tee_local $8
+ (tee_local $5
(i32.add
(get_local $2)
(i32.const 16)
@@ -3961,7 +3979,7 @@
)
)
(block (result i32)
- (set_local $8
+ (set_local $5
(get_local $1)
)
(get_local $7)
@@ -3969,7 +3987,7 @@
(if (result i32)
(tee_local $16
(i32.load
- (get_local $8)
+ (get_local $5)
)
)
(get_local $16)
@@ -3993,7 +4011,7 @@
(set_local $0
(get_local $7)
)
- (set_local $8
+ (set_local $5
(get_local $1)
)
(br $while-in50)
@@ -4014,7 +4032,7 @@
(set_local $0
(get_local $7)
)
- (set_local $8
+ (set_local $5
(get_local $1)
)
(br $while-in50)
@@ -4023,13 +4041,13 @@
)
(if
(i32.lt_u
- (get_local $8)
+ (get_local $5)
(get_local $3)
)
(call $_abort)
(block
(i32.store
- (get_local $8)
+ (get_local $5)
(i32.const 0)
)
(set_local $25
@@ -4052,6 +4070,7 @@
)
(if
(i32.ne
+ (get_local $2)
(i32.load
(tee_local $7
(i32.add
@@ -4060,33 +4079,32 @@
)
)
)
- (get_local $2)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $2)
(i32.load
- (tee_local $8
+ (tee_local $5
(i32.add
- (get_local $20)
+ (get_local $19)
(i32.const 8)
)
)
)
- (get_local $2)
)
(block
(i32.store
(get_local $7)
- (get_local $20)
+ (get_local $19)
)
(i32.store
- (get_local $8)
+ (get_local $5)
(get_local $1)
)
(set_local $25
- (get_local $20)
+ (get_local $19)
)
)
(call $_abort)
@@ -4100,12 +4118,11 @@
)
(if
(i32.ne
- (get_local $2)
(i32.load
(tee_local $1
(i32.add
(i32.shl
- (tee_local $20
+ (tee_local $19
(i32.load offset=28
(get_local $2)
)
@@ -4116,6 +4133,7 @@
)
)
)
+ (get_local $2)
)
(block
(if
@@ -4129,18 +4147,18 @@
)
(if
(i32.eq
+ (get_local $2)
(i32.load
- (tee_local $8
+ (tee_local $5
(i32.add
(get_local $23)
(i32.const 16)
)
)
)
- (get_local $2)
)
(i32.store
- (get_local $8)
+ (get_local $5)
(get_local $25)
)
(i32.store offset=20
@@ -4171,7 +4189,7 @@
(i32.xor
(i32.shl
(i32.const 1)
- (get_local $20)
+ (get_local $19)
)
(i32.const -1)
)
@@ -4183,7 +4201,7 @@
(if
(i32.lt_u
(get_local $25)
- (tee_local $20
+ (tee_local $19
(i32.load
(i32.const 192)
)
@@ -4196,7 +4214,7 @@
(get_local $23)
)
(if
- (tee_local $8
+ (tee_local $5
(i32.load
(tee_local $1
(i32.add
@@ -4208,17 +4226,17 @@
)
(if
(i32.lt_u
- (get_local $8)
- (get_local $20)
+ (get_local $5)
+ (get_local $19)
)
(call $_abort)
(block
(i32.store offset=16
(get_local $25)
- (get_local $8)
+ (get_local $5)
)
(i32.store offset=24
- (get_local $8)
+ (get_local $5)
(get_local $25)
)
)
@@ -4226,7 +4244,7 @@
)
(br_if $label$break$L331
(i32.eqz
- (tee_local $8
+ (tee_local $5
(i32.load offset=4
(get_local $1)
)
@@ -4235,7 +4253,7 @@
)
(if
(i32.lt_u
- (get_local $8)
+ (get_local $5)
(i32.load
(i32.const 192)
)
@@ -4244,24 +4262,24 @@
(block
(i32.store offset=20
(get_local $25)
- (get_local $8)
+ (get_local $5)
)
(i32.store offset=24
- (get_local $8)
+ (get_local $5)
(get_local $25)
)
)
)
)
(block
- (set_local $20
+ (set_local $19
(i32.load offset=12
(get_local $2)
)
)
(if
(i32.ne
- (tee_local $8
+ (tee_local $5
(i32.load offset=8
(get_local $2)
)
@@ -4279,17 +4297,17 @@
(block $do-once55
(if
(i32.lt_u
- (get_local $8)
+ (get_local $5)
(get_local $3)
)
(call $_abort)
)
(br_if $do-once55
(i32.eq
+ (get_local $2)
(i32.load offset=12
- (get_local $8)
+ (get_local $5)
)
- (get_local $2)
)
)
(call $_abort)
@@ -4297,8 +4315,8 @@
)
(if
(i32.eq
- (get_local $20)
- (get_local $8)
+ (get_local $5)
+ (get_local $19)
)
(block
(i32.store
@@ -4321,34 +4339,34 @@
)
(if
(i32.eq
- (get_local $20)
+ (get_local $19)
(get_local $23)
)
(set_local $41
(i32.add
- (get_local $20)
+ (get_local $19)
(i32.const 8)
)
)
(block $do-once57
(if
(i32.lt_u
- (get_local $20)
+ (get_local $19)
(get_local $3)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $2)
(i32.load
(tee_local $1
(i32.add
- (get_local $20)
+ (get_local $19)
(i32.const 8)
)
)
)
- (get_local $2)
)
(block
(set_local $41
@@ -4361,12 +4379,12 @@
)
)
(i32.store offset=12
- (get_local $8)
- (get_local $20)
+ (get_local $5)
+ (get_local $19)
)
(i32.store
(get_local $41)
- (get_local $8)
+ (get_local $5)
)
)
)
@@ -4374,13 +4392,13 @@
(set_local $2
(i32.add
(get_local $2)
- (get_local $5)
+ (get_local $8)
)
)
- (set_local $14
+ (set_local $15
(i32.add
- (get_local $5)
- (get_local $14)
+ (get_local $8)
+ (get_local $15)
)
)
)
@@ -4402,26 +4420,26 @@
(i32.store offset=4
(get_local $4)
(i32.or
- (get_local $14)
+ (get_local $15)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $4)
- (get_local $14)
+ (get_local $15)
)
- (get_local $14)
+ (get_local $15)
)
(set_local $6
(i32.shr_u
- (get_local $14)
+ (get_local $15)
(i32.const 3)
)
)
(if
(i32.lt_u
- (get_local $14)
+ (get_local $15)
(i32.const 256)
)
(block
@@ -4436,17 +4454,17 @@
)
(if
(i32.and
- (tee_local $23
- (i32.load
- (i32.const 176)
- )
- )
(tee_local $1
(i32.shl
(i32.const 1)
(get_local $6)
)
)
+ (tee_local $23
+ (i32.load
+ (i32.const 176)
+ )
+ )
)
(block $do-once59
(if
@@ -4481,8 +4499,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $23)
(get_local $1)
+ (get_local $23)
)
)
(set_local $42
@@ -4522,93 +4540,96 @@
(if (result i32)
(tee_local $1
(i32.shr_u
- (get_local $14)
+ (get_local $15)
(i32.const 8)
)
)
(if (result i32)
(i32.gt_u
- (get_local $14)
+ (get_local $15)
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $14)
- (i32.add
- (tee_local $16
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $8
+ (i32.shl
+ (get_local $1)
+ (tee_local $23
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $1)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $15)
+ (i32.add
+ (tee_local $16
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $7
+ (tee_local $8
(i32.and
(i32.shr_u
(i32.add
- (tee_local $5
+ (tee_local $6
(i32.shl
- (get_local $1)
- (tee_local $23
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $1)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
+ (get_local $8)
+ (get_local $7)
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $23)
- )
- (tee_local $5
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $6
- (i32.shl
- (get_local $5)
- (get_local $7)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $7)
+ (get_local $23)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $6)
- (get_local $5)
+ (i32.shr_u
+ (i32.shl
+ (get_local $6)
+ (get_local $8)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $16)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $16)
- (i32.const 1)
)
)
)
@@ -4640,17 +4661,17 @@
(if
(i32.eqz
(i32.and
- (tee_local $0
- (i32.load
- (i32.const 180)
- )
- )
(tee_local $16
(i32.shl
(i32.const 1)
(get_local $7)
)
)
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
+ )
+ )
)
)
(block
@@ -4682,7 +4703,7 @@
)
(set_local $16
(i32.shl
- (get_local $14)
+ (get_local $15)
(select
(i32.const 0)
(i32.sub
@@ -4711,13 +4732,13 @@
(block $while-out63 (result i32)
(if
(i32.eq
+ (get_local $15)
(i32.and
(i32.load offset=4
(get_local $0)
)
(i32.const -8)
)
- (get_local $14)
)
(block
(set_local $35
@@ -4729,7 +4750,7 @@
)
)
(if (result i32)
- (tee_local $5
+ (tee_local $8
(i32.load
(tee_local $1
(i32.add
@@ -4756,7 +4777,7 @@
)
)
(set_local $0
- (get_local $5)
+ (get_local $8)
)
(br $while-in64)
)
@@ -4820,7 +4841,7 @@
)
)
)
- (tee_local $5
+ (tee_local $8
(i32.load
(i32.const 192)
)
@@ -4828,7 +4849,7 @@
)
(i32.ge_u
(get_local $35)
- (get_local $5)
+ (get_local $8)
)
)
(block
@@ -4863,10 +4884,10 @@
(i32.const 188)
(tee_local $16
(i32.add
+ (get_local $15)
(i32.load
(i32.const 188)
)
- (get_local $14)
)
)
)
@@ -4893,53 +4914,6 @@
)
)
)
- (set_local $14
- (i32.add
- (tee_local $12
- (i32.add
- (tee_local $0
- (loop $while-in66 (result i32)
- (if (result i32)
- (if (result i32)
- (i32.le_u
- (tee_local $4
- (i32.load
- (get_local $29)
- )
- )
- (get_local $13)
- )
- (i32.gt_u
- (tee_local $14
- (i32.add
- (get_local $4)
- (i32.load offset=4
- (get_local $29)
- )
- )
- )
- (get_local $13)
- )
- (i32.const 0)
- )
- (get_local $14)
- (block
- (set_local $29
- (i32.load offset=8
- (get_local $29)
- )
- )
- (br $while-in66)
- )
- )
- )
- )
- (i32.const -47)
- )
- )
- (i32.const 8)
- )
- )
(set_local $4
(i32.add
(tee_local $12
@@ -4947,26 +4921,72 @@
(get_local $13)
(tee_local $4
(i32.add
- (get_local $12)
(select
(i32.and
(i32.sub
(i32.const 0)
- (get_local $14)
+ (tee_local $15
+ (i32.add
+ (tee_local $12
+ (i32.add
+ (tee_local $0
+ (loop $while-in66 (result i32)
+ (if (result i32)
+ (if (result i32)
+ (i32.le_u
+ (tee_local $4
+ (i32.load
+ (get_local $29)
+ )
+ )
+ (get_local $13)
+ )
+ (i32.gt_u
+ (tee_local $15
+ (i32.add
+ (i32.load offset=4
+ (get_local $29)
+ )
+ (get_local $4)
+ )
+ )
+ (get_local $13)
+ )
+ (i32.const 0)
+ )
+ (get_local $15)
+ (block
+ (set_local $29
+ (i32.load offset=8
+ (get_local $29)
+ )
+ )
+ (br $while-in66)
+ )
+ )
+ )
+ )
+ (i32.const -47)
+ )
+ )
+ (i32.const 8)
+ )
+ )
)
(i32.const 7)
)
(i32.const 0)
(i32.and
- (get_local $14)
+ (get_local $15)
(i32.const 7)
)
)
+ (get_local $12)
)
)
(i32.lt_u
(get_local $4)
- (tee_local $14
+ (tee_local $15
(i32.add
(get_local $13)
(i32.const 16)
@@ -4982,7 +5002,7 @@
(i32.const 200)
(tee_local $2
(i32.add
- (get_local $19)
+ (get_local $20)
(tee_local $18
(select
(i32.and
@@ -4990,7 +5010,7 @@
(i32.const 0)
(tee_local $2
(i32.add
- (get_local $19)
+ (get_local $20)
(i32.const 8)
)
)
@@ -5074,7 +5094,7 @@
)
(i32.store
(i32.const 624)
- (get_local $19)
+ (get_local $20)
)
(i32.store
(i32.const 628)
@@ -5168,17 +5188,17 @@
)
(if
(i32.and
- (tee_local $0
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $5
+ (tee_local $8
(i32.shl
(i32.const 1)
(get_local $2)
)
)
+ (tee_local $0
+ (i32.load
+ (i32.const 176)
+ )
+ )
)
(if
(i32.lt_u
@@ -5211,7 +5231,7 @@
(i32.const 176)
(i32.or
(get_local $0)
- (get_local $5)
+ (get_local $8)
)
)
(set_local $44
@@ -5261,83 +5281,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $4)
- (i32.add
- (tee_local $2
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $18
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $18)
+ (tee_local $8
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $18)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $4)
+ (i32.add
+ (tee_local $2
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $18
+ (tee_local $0
(i32.and
(i32.shr_u
(i32.add
- (tee_local $0
+ (tee_local $1
(i32.shl
+ (get_local $0)
(get_local $18)
- (tee_local $5
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $18)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $5)
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (get_local $18)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $8)
+ (get_local $18)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $2)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $2)
- (i32.const 1)
)
)
)
@@ -5358,23 +5381,23 @@
(i32.const 0)
)
(i32.store
- (get_local $14)
+ (get_local $15)
(i32.const 0)
)
(if
(i32.eqz
(i32.and
- (tee_local $0
- (i32.load
- (i32.const 180)
- )
- )
(tee_local $1
(i32.shl
(i32.const 1)
(get_local $7)
)
)
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
+ )
+ )
)
)
(block
@@ -5435,13 +5458,13 @@
(block $while-out69 (result i32)
(if
(i32.eq
+ (get_local $4)
(i32.and
(i32.load offset=4
(get_local $0)
)
(i32.const -8)
)
- (get_local $4)
)
(block
(set_local $37
@@ -5453,7 +5476,7 @@
)
)
(if (result i32)
- (tee_local $5
+ (tee_local $8
(i32.load
(tee_local $2
(i32.add
@@ -5480,7 +5503,7 @@
)
)
(set_local $0
- (get_local $5)
+ (get_local $8)
)
(br $while-in70)
)
@@ -5595,18 +5618,18 @@
)
)
(i32.lt_u
- (get_local $19)
+ (get_local $20)
(get_local $1)
)
)
(i32.store
(i32.const 192)
- (get_local $19)
+ (get_local $20)
)
)
(i32.store
(i32.const 624)
- (get_local $19)
+ (get_local $20)
)
(i32.store
(i32.const 628)
@@ -5662,7 +5685,7 @@
(i32.const 200)
(tee_local $1
(i32.add
- (get_local $19)
+ (get_local $20)
(tee_local $0
(select
(i32.and
@@ -5670,7 +5693,7 @@
(i32.const 0)
(tee_local $1
(i32.add
- (get_local $19)
+ (get_local $20)
(i32.const 8)
)
)
@@ -5733,7 +5756,7 @@
(block
(i32.store
(i32.const 188)
- (tee_local $19
+ (tee_local $20
(i32.sub
(get_local $21)
(get_local $9)
@@ -5744,19 +5767,19 @@
(i32.const 200)
(tee_local $13
(i32.add
+ (get_local $9)
(tee_local $21
(i32.load
(i32.const 200)
)
)
- (get_local $9)
)
)
)
(i32.store offset=4
(get_local $13)
(i32.or
- (get_local $19)
+ (get_local $20)
(i32.const 1)
)
)
@@ -5882,8 +5905,8 @@
)
(set_local $5
(i32.add
- (get_local $11)
(get_local $5)
+ (get_local $11)
)
)
(if
@@ -5900,10 +5923,10 @@
)
(if
(i32.eq
- (get_local $1)
(i32.load
(i32.const 196)
)
+ (get_local $1)
)
(block
(if
@@ -6005,10 +6028,10 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load offset=12
(get_local $11)
)
- (get_local $1)
)
(call $_abort)
)
@@ -6059,6 +6082,7 @@
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -6067,7 +6091,6 @@
)
)
)
- (get_local $1)
)
(set_local $10
(get_local $4)
@@ -6106,12 +6129,12 @@
)
(if
(i32.eq
+ (get_local $1)
(tee_local $0
(i32.load offset=12
(get_local $1)
)
)
- (get_local $1)
)
(block $do-once0
(if
@@ -6231,6 +6254,7 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load
(tee_local $10
(i32.add
@@ -6239,12 +6263,12 @@
)
)
)
- (get_local $1)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -6253,7 +6277,6 @@
)
)
)
- (get_local $1)
)
(block
(i32.store
@@ -6277,7 +6300,6 @@
(block
(if
(i32.eq
- (get_local $1)
(i32.load
(tee_local $7
(i32.add
@@ -6293,6 +6315,7 @@
)
)
)
+ (get_local $1)
)
(block
(i32.store
@@ -6341,6 +6364,7 @@
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $0
(i32.add
@@ -6349,7 +6373,6 @@
)
)
)
- (get_local $1)
)
(i32.store
(get_local $0)
@@ -6532,20 +6555,20 @@
(block (result i32)
(if
(i32.eq
- (get_local $8)
(i32.load
(i32.const 200)
)
+ (get_local $8)
)
(block
(i32.store
(i32.const 188)
(tee_local $6
(i32.add
+ (get_local $3)
(i32.load
(i32.const 188)
)
- (get_local $3)
)
)
)
@@ -6562,10 +6585,10 @@
)
(if
(i32.ne
- (get_local $2)
(i32.load
(i32.const 196)
)
+ (get_local $2)
)
(return)
)
@@ -6582,20 +6605,20 @@
)
(if
(i32.eq
- (get_local $8)
(i32.load
(i32.const 196)
)
+ (get_local $8)
)
(block
(i32.store
(i32.const 184)
(tee_local $6
(i32.add
+ (get_local $3)
(i32.load
(i32.const 184)
)
- (get_local $3)
)
)
)
@@ -6622,11 +6645,11 @@
)
(set_local $6
(i32.add
+ (get_local $3)
(i32.and
(get_local $1)
(i32.const -8)
)
- (get_local $3)
)
)
(set_local $14
@@ -6649,12 +6672,12 @@
)
(if
(i32.eq
+ (get_local $8)
(tee_local $9
(i32.load offset=12
(get_local $8)
)
)
- (get_local $8)
)
(block $do-once6
(set_local $3
@@ -6770,6 +6793,7 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load
(tee_local $10
(i32.add
@@ -6778,12 +6802,12 @@
)
)
)
- (get_local $8)
)
(call $_abort)
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $4
(i32.add
@@ -6792,7 +6816,6 @@
)
)
)
- (get_local $8)
)
(block
(i32.store
@@ -6816,7 +6839,6 @@
(block
(if
(i32.eq
- (get_local $8)
(i32.load
(tee_local $5
(i32.add
@@ -6832,6 +6854,7 @@
)
)
)
+ (get_local $8)
)
(block
(i32.store
@@ -6874,6 +6897,7 @@
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $9
(i32.add
@@ -6882,7 +6906,6 @@
)
)
)
- (get_local $8)
)
(i32.store
(get_local $9)
@@ -7008,10 +7031,10 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load offset=12
(get_local $1)
)
- (get_local $8)
)
(call $_abort)
)
@@ -7019,8 +7042,8 @@
)
(if
(i32.eq
- (get_local $9)
(get_local $1)
+ (get_local $9)
)
(block
(i32.store
@@ -7043,8 +7066,8 @@
)
(if
(i32.ne
- (get_local $9)
(get_local $7)
+ (get_local $9)
)
(block
(if
@@ -7058,6 +7081,7 @@
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $7
(i32.add
@@ -7066,7 +7090,6 @@
)
)
)
- (get_local $8)
)
(set_local $16
(get_local $7)
@@ -7108,10 +7131,10 @@
)
(if (result i32)
(i32.eq
- (get_local $2)
(i32.load
(i32.const 196)
)
+ (get_local $2)
)
(block
(i32.store
@@ -7238,83 +7261,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $0)
- (i32.add
- (tee_local $5
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $15
+ (i32.shl
+ (get_local $1)
+ (tee_local $13
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $1)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $0)
+ (i32.add
+ (tee_local $5
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $1
+ (tee_local $15
(i32.and
(i32.shr_u
(i32.add
- (tee_local $15
+ (tee_local $6
(i32.shl
+ (get_local $15)
(get_local $1)
- (tee_local $13
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $1)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $13)
- )
- (tee_local $15
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $6
- (i32.shl
- (get_local $15)
- (get_local $1)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $1)
+ (get_local $13)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $6)
- (get_local $15)
+ (i32.shr_u
+ (i32.shl
+ (get_local $6)
+ (get_local $15)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $5)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $5)
- (i32.const 1)
)
)
)
@@ -7340,17 +7366,17 @@
)
(if
(i32.and
- (tee_local $15
- (i32.load
- (i32.const 180)
- )
- )
(tee_local $6
(i32.shl
(i32.const 1)
(get_local $3)
)
)
+ (tee_local $15
+ (i32.load
+ (i32.const 180)
+ )
+ )
)
(block
(set_local $13
@@ -7384,13 +7410,13 @@
(block $while-out14 (result i32)
(if
(i32.eq
+ (get_local $0)
(i32.and
(i32.load offset=4
(get_local $1)
)
(i32.const -8)
)
- (get_local $0)
)
(block
(set_local $17
@@ -7535,8 +7561,8 @@
(i32.store
(i32.const 180)
(i32.or
- (get_local $15)
(get_local $6)
+ (get_local $15)
)
)
(i32.store
@@ -7693,8 +7719,8 @@
)
(set_local $4
(i32.add
- (get_local $9)
(get_local $2)
+ (get_local $9)
)
)
(loop $while-in
@@ -7814,10 +7840,10 @@
(i32.store
(get_local $7)
(i32.add
+ (get_local $6)
(i32.load
(get_local $7)
)
- (get_local $6)
)
)
(set_local $3
@@ -7870,10 +7896,10 @@
(i32.store
(get_local $5)
(i32.add
+ (get_local $6)
(i32.load
(get_local $5)
)
- (get_local $6)
)
)
(i32.store offset=4
@@ -8159,15 +8185,15 @@
(i32.store
(get_local $4)
(i32.add
+ (get_local $1)
(i32.load
(get_local $4)
)
- (get_local $1)
)
)
(i32.add
- (get_local $3)
(get_local $1)
+ (get_local $3)
)
)
)
@@ -8345,21 +8371,21 @@
(loop $while-in1 (result i32)
(if (result i32)
(i32.and
+ (i32.add
+ (tee_local $1
+ (i32.load
+ (get_local $2)
+ )
+ )
+ (i32.const -16843009)
+ )
(i32.xor
(i32.and
- (tee_local $1
- (i32.load
- (get_local $2)
- )
- )
+ (get_local $1)
(i32.const -2139062144)
)
(i32.const -2139062144)
)
- (i32.add
- (get_local $1)
- (i32.const -16843009)
- )
)
(get_local $2)
(block
@@ -8894,11 +8920,11 @@
(i32.or
(i32.or
(i32.or
- (get_local $1)
(i32.shl
(get_local $1)
(i32.const 8)
)
+ (get_local $1)
)
(i32.shl
(get_local $1)
@@ -9139,11 +9165,11 @@
(i32.store8
(get_local $1)
(i32.or
+ (get_local $2)
(i32.add
(get_local $2)
(i32.const 255)
)
- (get_local $2)
)
)
(tee_local $0
@@ -9190,10 +9216,10 @@
(i32.store offset=16
(get_local $0)
(i32.add
- (get_local $1)
(i32.load offset=48
(get_local $0)
)
+ (get_local $1)
)
)
(i32.const 0)
@@ -9212,6 +9238,7 @@
)
(if
(i32.ne
+ (get_local $3)
(tee_local $0
(call $___fwritex
(get_local $0)
@@ -9219,7 +9246,6 @@
(get_local $2)
)
)
- (get_local $3)
)
(set_local $4
(i32.div_u
@@ -9369,8 +9395,8 @@
)
(set_global $STACKTOP
(i32.add
- (get_global $STACKTOP)
(get_local $0)
+ (get_global $STACKTOP)
)
)
(set_global $STACKTOP
diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm
index 5f8c33b38..6552ae32c 100644
--- a/test/emcc_hello_world.fromasm
+++ b/test/emcc_hello_world.fromasm
@@ -70,8 +70,8 @@
)
(set_global $STACKTOP
(i32.add
- (get_global $STACKTOP)
(get_local $0)
+ (get_global $STACKTOP)
)
)
(set_global $STACKTOP
@@ -767,8 +767,8 @@
)
(set_local $12
(i32.add
- (get_local $3)
(get_local $2)
+ (get_local $3)
)
)
(block $__rjto$1
@@ -837,8 +837,8 @@
)
(br_if $__rjti$0
(i32.eq
- (get_local $12)
(get_local $3)
+ (get_local $12)
)
)
(br_if $__rjti$1
@@ -1026,7 +1026,7 @@
(local $12 i32)
(local $13 i32)
(local $14 i32)
- (set_local $4
+ (set_local $3
(get_global $STACKTOP)
)
(set_global $STACKTOP
@@ -1044,25 +1044,25 @@
)
(set_local $5
(i32.add
- (get_local $4)
+ (get_local $3)
(i32.const 120)
)
)
(set_local $7
- (get_local $4)
+ (get_local $3)
)
(set_local $6
(i32.add
- (get_local $4)
+ (get_local $3)
(i32.const 136)
)
)
(set_local $9
(i32.add
- (tee_local $3
+ (tee_local $4
(tee_local $8
(i32.add
- (get_local $4)
+ (get_local $3)
(i32.const 80)
)
)
@@ -1072,14 +1072,14 @@
)
(loop $do-in
(i32.store
- (get_local $3)
+ (get_local $4)
(i32.const 0)
)
(br_if $do-in
(i32.lt_s
- (tee_local $3
+ (tee_local $4
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.const 4)
)
)
@@ -1166,7 +1166,7 @@
(get_local $6)
)
(i32.store
- (tee_local $9
+ (tee_local $4
(i32.add
(get_local $0)
(i32.const 28)
@@ -1175,7 +1175,7 @@
(get_local $6)
)
(i32.store
- (tee_local $3
+ (tee_local $2
(i32.add
(get_local $0)
(i32.const 20)
@@ -1188,7 +1188,7 @@
(i32.const 80)
)
(i32.store
- (tee_local $2
+ (tee_local $9
(i32.add
(get_local $0)
(i32.const 16)
@@ -1232,7 +1232,7 @@
(get_local $1)
(i32.const -1)
(i32.load
- (get_local $3)
+ (get_local $2)
)
)
)
@@ -1245,15 +1245,15 @@
(i32.const 0)
)
(i32.store
- (get_local $2)
+ (get_local $9)
(i32.const 0)
)
(i32.store
- (get_local $9)
+ (get_local $4)
(i32.const 0)
)
(i32.store
- (get_local $3)
+ (get_local $2)
(i32.const 0)
)
)
@@ -1286,7 +1286,7 @@
)
)
(set_global $STACKTOP
- (get_local $4)
+ (get_local $3)
)
(get_local $0)
)
@@ -1346,15 +1346,18 @@
)
(block
(set_local $3
+ (i32.load offset=36
+ (get_local $2)
+ )
+ )
+ (set_local $3
(call_indirect (type $FUNCSIG$iiii)
(get_local $2)
(get_local $0)
(get_local $1)
(i32.add
(i32.and
- (i32.load offset=36
- (get_local $2)
- )
+ (get_local $3)
(i32.const 7)
)
(i32.const 2)
@@ -1408,6 +1411,11 @@
)
)
)
+ (set_local $4
+ (i32.load offset=36
+ (get_local $2)
+ )
+ )
(br_if $label$break$L5
(i32.lt_u
(call_indirect (type $FUNCSIG$iiii)
@@ -1416,9 +1424,7 @@
(get_local $3)
(i32.add
(i32.and
- (i32.load offset=36
- (get_local $2)
- )
+ (get_local $4)
(i32.const 7)
)
(i32.const 2)
@@ -1467,8 +1473,8 @@
)
(set_local $3
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $2)
)
)
)
@@ -1490,11 +1496,11 @@
(i32.store8
(get_local $2)
(i32.or
+ (get_local $1)
(i32.add
(get_local $1)
(i32.const 255)
)
- (get_local $1)
)
)
(tee_local $0
@@ -1604,10 +1610,6 @@
)
(if
(i32.or
- (i32.lt_u
- (get_local $1)
- (i32.const 55296)
- )
(i32.eq
(i32.and
(get_local $1)
@@ -1615,6 +1617,10 @@
)
(i32.const 57344)
)
+ (i32.lt_u
+ (get_local $1)
+ (i32.const 55296)
+ )
)
(block
(i32.store8
@@ -1953,13 +1959,14 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
+ (local $7 i32)
(tee_local $0
(block $__rjto$0 (result i32)
(block $__rjti$0
(br_if $__rjti$0
(i32.le_u
(i32.load
- (tee_local $1
+ (tee_local $2
(i32.add
(get_local $0)
(i32.const 20)
@@ -1967,7 +1974,7 @@
)
)
(i32.load
- (tee_local $2
+ (tee_local $3
(i32.add
(get_local $0)
(i32.const 28)
@@ -1976,6 +1983,11 @@
)
)
)
+ (set_local $1
+ (i32.load offset=36
+ (get_local $0)
+ )
+ )
(drop
(call_indirect (type $FUNCSIG$iiii)
(get_local $0)
@@ -1983,9 +1995,7 @@
(i32.const 0)
(i32.add
(i32.and
- (i32.load offset=36
- (get_local $0)
- )
+ (get_local $1)
(i32.const 7)
)
(i32.const 2)
@@ -1994,7 +2004,7 @@
)
(br_if $__rjti$0
(i32.load
- (get_local $1)
+ (get_local $2)
)
)
(br $__rjto$0
@@ -2005,7 +2015,7 @@
(i32.lt_u
(tee_local $4
(i32.load
- (tee_local $3
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 4)
@@ -2024,22 +2034,27 @@
)
)
)
- (drop
- (call_indirect (type $FUNCSIG$iiii)
- (get_local $0)
- (i32.sub
- (get_local $4)
- (get_local $6)
+ (block
+ (set_local $7
+ (i32.load offset=40
+ (get_local $0)
)
- (i32.const 1)
- (i32.add
- (i32.and
- (i32.load offset=40
- (get_local $0)
+ )
+ (drop
+ (call_indirect (type $FUNCSIG$iiii)
+ (get_local $0)
+ (i32.sub
+ (get_local $4)
+ (get_local $6)
+ )
+ (i32.const 1)
+ (i32.add
+ (i32.and
+ (get_local $7)
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
@@ -2049,11 +2064,11 @@
(i32.const 0)
)
(i32.store
- (get_local $2)
+ (get_local $3)
(i32.const 0)
)
(i32.store
- (get_local $1)
+ (get_local $2)
(i32.const 0)
)
(i32.store
@@ -2061,7 +2076,7 @@
(i32.const 0)
)
(i32.store
- (get_local $3)
+ (get_local $1)
(i32.const 0)
)
(i32.const 0)
@@ -2202,7 +2217,7 @@
(i32.const 0)
)
)
- (set_local $39
+ (set_local $38
(tee_local $25
(i32.add
(tee_local $5
@@ -2215,15 +2230,15 @@
)
)
)
- (set_local $40
+ (set_local $39
(i32.add
(get_local $5)
(i32.const 39)
)
)
- (set_local $44
+ (set_local $43
(i32.add
- (tee_local $41
+ (tee_local $40
(i32.add
(get_local $14)
(i32.const 8)
@@ -2243,13 +2258,13 @@
(i32.const 12)
)
)
- (set_local $42
+ (set_local $41
(i32.add
(get_local $5)
(i32.const 11)
)
)
- (set_local $45
+ (set_local $44
(i32.sub
(tee_local $27
(get_local $32)
@@ -2264,21 +2279,21 @@
)
)
)
- (set_local $46
+ (set_local $45
(i32.sub
(i32.const -2)
(get_local $36)
)
)
- (set_local $47
+ (set_local $46
(i32.add
(get_local $27)
(i32.const 2)
)
)
- (set_local $49
+ (set_local $48
(i32.add
- (tee_local $48
+ (tee_local $47
(i32.add
(get_local $14)
(i32.const 24)
@@ -2287,7 +2302,7 @@
(i32.const 288)
)
)
- (set_local $43
+ (set_local $42
(tee_local $29
(i32.add
(get_local $22)
@@ -2457,8 +2472,8 @@
)
(if
(i32.ne
- (get_local $10)
(get_local $5)
+ (get_local $10)
)
(block
(set_local $5
@@ -2588,6 +2603,7 @@
)
(set_local $11
(i32.or
+ (get_local $11)
(i32.shl
(i32.const 1)
(i32.add
@@ -2601,7 +2617,6 @@
(i32.const -32)
)
)
- (get_local $11)
)
)
(br_if $while-in4
@@ -2674,11 +2689,11 @@
)
(i32.store
(i32.add
- (get_local $4)
(i32.shl
(get_local $11)
(i32.const 2)
)
+ (get_local $4)
)
(i32.const 10)
)
@@ -2686,7 +2701,6 @@
(i32.load offset=4
(tee_local $6
(i32.add
- (get_local $3)
(i32.shl
(i32.add
(i32.load8_s
@@ -2696,6 +2710,7 @@
)
(i32.const 3)
)
+ (get_local $3)
)
)
)
@@ -2817,11 +2832,11 @@
(loop $while-in8
(set_local $6
(i32.add
+ (get_local $6)
(i32.mul
(get_local $11)
(i32.const 10)
)
- (get_local $6)
)
)
(if
@@ -2945,11 +2960,11 @@
(br_if $label$break$L46
(tee_local $6
(i32.add
+ (get_local $6)
(i32.mul
(get_local $8)
(i32.const 10)
)
- (get_local $6)
)
)
(i32.ge_u
@@ -3007,11 +3022,11 @@
(block
(i32.store
(i32.add
- (get_local $4)
(i32.shl
(get_local $8)
(i32.const 2)
)
+ (get_local $4)
)
(i32.const 10)
)
@@ -3019,7 +3034,6 @@
(i32.load offset=4
(tee_local $6
(i32.add
- (get_local $3)
(i32.shl
(i32.add
(i32.load8_s
@@ -3029,6 +3043,7 @@
)
(i32.const 3)
)
+ (get_local $3)
)
)
)
@@ -3138,6 +3153,7 @@
(tee_local $13
(i32.load8_s
(i32.add
+ (get_local $12)
(i32.add
(i32.mul
(get_local $9)
@@ -3145,7 +3161,6 @@
)
(i32.const 3611)
)
- (get_local $12)
)
)
)
@@ -3215,11 +3230,11 @@
(block
(i32.store
(i32.add
- (get_local $4)
(i32.shl
(get_local $18)
(i32.const 2)
)
+ (get_local $4)
)
(get_local $12)
)
@@ -3227,11 +3242,11 @@
(i32.load offset=4
(tee_local $8
(i32.add
- (get_local $3)
(i32.shl
(get_local $18)
(i32.const 3)
)
+ (get_local $3)
)
)
)
@@ -3299,2431 +3314,3276 @@
)
)
)
- (set_local $7
- (block $__rjto$8 (result i32)
- (block $__rjti$8
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (tee_local $7
- (block $__rjti$7 (result i32)
- (block $__rjti$6
- (block $__rjti$5
- (block $__rjti$4
- (block $__rjti$3
- (block $switch-default120
- (block $switch-case119
- (block $switch-case41
- (block $switch-case40
- (block $switch-case39
- (block $switch-case38
- (block $switch-case37
- (block $switch-case36
- (block $switch-case35
- (block $switch-case33
- (block $switch-case30
- (block $switch-case28
- (block $switch-case27
- (br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case30 $switch-default120
- (i32.sub
- (tee_local $19
- (select
- (i32.and
- (tee_local $12
- (i32.load8_s
- (get_local $19)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (tee_local $7
+ (select
+ (tee_local $6
+ (i32.add
+ (tee_local $12
+ (select
+ (tee_local $13
+ (i32.sub
+ (block $__rjto$8 (result i32)
+ (block $__rjti$8
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (tee_local $7
+ (block $__rjti$7 (result i32)
+ (block $__rjti$6
+ (block $__rjti$5
+ (block $__rjti$4
+ (block $__rjti$3
+ (block $switch-default120
+ (block $switch-case119
+ (block $switch-case41
+ (block $switch-case40
+ (block $switch-case39
+ (block $switch-case38
+ (block $switch-case37
+ (block $switch-case36
+ (block $switch-case35
+ (block $switch-case33
+ (block $switch-case30
+ (block $switch-case28
+ (block $switch-case27
+ (br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case30 $switch-default120
+ (i32.sub
+ (tee_local $19
+ (select
+ (i32.and
+ (tee_local $12
+ (i32.load8_s
+ (get_local $19)
+ )
+ )
+ (i32.const -33)
+ )
+ (get_local $12)
+ (i32.and
+ (i32.eq
+ (i32.and
+ (get_local $12)
+ (i32.const 15)
+ )
+ (i32.const 3)
+ )
+ (i32.ne
+ (get_local $9)
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (i32.const 65)
+ )
+ )
+ )
+ (block $switch-default26
+ (block $switch-case25
+ (block $switch-case24
+ (block $switch-case23
+ (block $switch-case22
+ (block $switch-case21
+ (block $switch-case20
+ (block $switch-case19
+ (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
+ (get_local $9)
+ )
+ )
+ (i32.store
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (tee_local $5
+ (i32.load
+ (get_local $14)
+ )
+ )
+ (get_local $17)
+ )
+ (i32.store offset=4
+ (get_local $5)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $17)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store16
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store8
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (tee_local $5
+ (i32.load
+ (get_local $14)
+ )
+ )
+ (get_local $17)
+ )
+ (i32.store offset=4
+ (get_local $5)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $17)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
)
- )
- (i32.const -33)
- )
- (get_local $12)
- (i32.and
- (i32.ne
- (get_local $9)
- (i32.const 0)
- )
- (i32.eq
- (i32.and
- (get_local $12)
- (i32.const 15)
+ (set_local $5
+ (i32.or
+ (get_local $11)
+ (i32.const 8)
+ )
)
- (i32.const 3)
- )
- )
- )
- )
- (i32.const 65)
- )
- )
- )
- (block $switch-default26
- (block $switch-case25
- (block $switch-case24
- (block $switch-case23
- (block $switch-case22
- (block $switch-case21
- (block $switch-case20
- (block $switch-case19
- (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
- (get_local $9)
+ (set_local $6
+ (select
+ (get_local $6)
+ (i32.const 8)
+ (i32.gt_u
+ (get_local $6)
+ (i32.const 8)
+ )
)
)
- (i32.store
+ (set_local $19
+ (i32.const 120)
+ )
+ (br $__rjti$3)
+ )
+ (set_local $5
+ (get_local $11)
+ )
+ (br $__rjti$3)
+ )
+ (if
+ (i32.or
+ (tee_local $5
(i32.load
(get_local $14)
)
- (get_local $17)
- )
- (set_local $5
- (get_local $10)
)
- (set_local $10
- (get_local $7)
+ (tee_local $7
+ (i32.load offset=4
+ (get_local $14)
+ )
)
- (br $label$continue$L1)
)
- (i32.store
- (i32.load
- (get_local $14)
+ (block
+ (set_local $8
+ (get_local $25)
+ )
+ (loop $while-in32
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $8)
+ (i32.const -1)
+ )
+ )
+ (i32.or
+ (i32.and
+ (get_local $5)
+ (i32.const 7)
+ )
+ (i32.const 48)
+ )
+ )
+ (br_if $while-in32
+ (i32.or
+ (tee_local $5
+ (call $_bitshift64Lshr
+ (get_local $5)
+ (get_local $7)
+ (i32.const 3)
+ )
+ )
+ (tee_local $7
+ (get_global $tempRet0)
+ )
+ )
+ )
)
- (get_local $17)
- )
- (set_local $5
- (get_local $10)
)
- (set_local $10
- (get_local $7)
+ (set_local $8
+ (get_local $25)
)
- (br $label$continue$L1)
)
- (i32.store
- (tee_local $5
- (i32.load
- (get_local $14)
- )
+ (if
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
)
- (get_local $17)
- )
- (i32.store offset=4
- (get_local $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $17)
- (i32.const 0)
+ (block
+ (set_local $5
+ (get_local $11)
+ )
+ (set_local $6
+ (select
+ (tee_local $11
+ (i32.add
+ (i32.sub
+ (get_local $38)
+ (tee_local $7
+ (get_local $8)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (get_local $6)
+ (i32.lt_s
+ (get_local $6)
+ (get_local $11)
+ )
)
- (i32.const 31)
)
- (i32.const 31)
+ )
+ (block
+ (set_local $7
+ (get_local $8)
+ )
+ (set_local $5
+ (get_local $11)
+ )
)
)
- (set_local $5
- (get_local $10)
+ (set_local $8
+ (i32.const 0)
)
- (set_local $10
- (get_local $7)
+ (set_local $9
+ (i32.const 4091)
)
- (br $label$continue$L1)
+ (br $__rjti$8)
)
- (i32.store16
+ (set_local $5
(i32.load
(get_local $14)
)
- (get_local $17)
)
- (set_local $5
- (get_local $10)
+ (if
+ (i32.lt_s
+ (tee_local $7
+ (i32.load offset=4
+ (get_local $14)
+ )
+ )
+ (i32.const 0)
+ )
+ (block
+ (i32.store
+ (get_local $14)
+ (tee_local $5
+ (call $_i64Subtract
+ (i32.const 0)
+ (i32.const 0)
+ (get_local $5)
+ (get_local $7)
+ )
+ )
+ )
+ (i32.store offset=4
+ (get_local $14)
+ (tee_local $7
+ (get_global $tempRet0)
+ )
+ )
+ (set_local $8
+ (i32.const 1)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjti$4)
+ )
)
- (set_local $10
- (get_local $7)
+ (set_local $9
+ (if (result i32)
+ (i32.and
+ (get_local $11)
+ (i32.const 2048)
+ )
+ (block (result i32)
+ (set_local $8
+ (i32.const 1)
+ )
+ (i32.const 4092)
+ )
+ (block (result i32)
+ (set_local $8
+ (tee_local $9
+ (i32.and
+ (get_local $11)
+ (i32.const 1)
+ )
+ )
+ )
+ (select
+ (i32.const 4093)
+ (i32.const 4091)
+ (get_local $9)
+ )
+ )
+ )
)
- (br $label$continue$L1)
+ (br $__rjti$4)
)
- (i32.store8
+ (set_local $5
(i32.load
(get_local $14)
)
- (get_local $17)
)
- (set_local $5
- (get_local $10)
+ (set_local $7
+ (i32.load offset=4
+ (get_local $14)
+ )
)
- (set_local $10
- (get_local $7)
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
)
- (br $label$continue$L1)
+ (br $__rjti$4)
)
- (i32.store
+ (drop
+ (i32.load offset=4
+ (get_local $14)
+ )
+ )
+ (i32.store8
+ (get_local $39)
(i32.load
(get_local $14)
)
- (get_local $17)
)
(set_local $5
- (get_local $10)
+ (get_local $39)
)
- (set_local $10
- (get_local $7)
+ (set_local $11
+ (get_local $8)
+ )
+ (set_local $12
+ (i32.const 1)
+ )
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjto$8
+ (get_local $25)
)
- (br $label$continue$L1)
)
- (i32.store
- (tee_local $5
+ (set_local $7
+ (call $_strerror
(i32.load
- (get_local $14)
+ (call $___errno_location)
)
)
- (get_local $17)
)
- (i32.store offset=4
- (get_local $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $17)
- (i32.const 0)
- )
- (i32.const 31)
+ (br $__rjti$5)
+ )
+ (set_local $7
+ (select
+ (tee_local $5
+ (i32.load
+ (get_local $14)
)
- (i32.const 31)
)
+ (i32.const 4101)
+ (get_local $5)
)
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (get_local $7)
- )
- (br $label$continue$L1)
- )
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (get_local $7)
- )
- (br $label$continue$L1)
- )
- (set_local $5
- (i32.or
- (get_local $11)
- (i32.const 8)
)
+ (br $__rjti$5)
)
- (set_local $6
- (select
- (get_local $6)
- (i32.const 8)
- (i32.gt_u
- (get_local $6)
- (i32.const 8)
- )
+ (drop
+ (i32.load offset=4
+ (get_local $14)
)
)
- (set_local $19
- (i32.const 120)
- )
- (br $__rjti$3)
- )
- (set_local $5
- (get_local $11)
- )
- (br $__rjti$3)
- )
- (if
- (i32.or
- (tee_local $5
+ (i32.store
+ (get_local $40)
(i32.load
(get_local $14)
)
)
- (tee_local $7
- (i32.load offset=4
- (get_local $14)
- )
+ (i32.store
+ (get_local $43)
+ (i32.const 0)
)
- )
- (block
- (set_local $8
- (get_local $25)
+ (i32.store
+ (get_local $14)
+ (get_local $40)
)
- (loop $while-in32
- (i32.store8
- (tee_local $8
- (i32.add
- (get_local $8)
- (i32.const -1)
- )
- )
- (i32.or
- (i32.and
- (get_local $5)
- (i32.const 7)
- )
- (i32.const 48)
- )
- )
- (br_if $while-in32
- (i32.or
- (tee_local $5
- (call $_bitshift64Lshr
- (get_local $5)
- (get_local $7)
- (i32.const 3)
- )
- )
- (tee_local $7
- (get_global $tempRet0)
- )
- )
- )
+ (set_local $8
+ (i32.const -1)
)
+ (br $__rjti$6)
)
- (set_local $8
- (get_local $25)
- )
- )
- (if
- (i32.and
- (get_local $11)
- (i32.const 8)
- )
- (block
- (set_local $5
- (get_local $11)
- )
- (set_local $6
- (select
- (tee_local $11
- (i32.add
- (i32.sub
- (get_local $39)
- (tee_local $7
- (get_local $8)
- )
- )
- (i32.const 1)
- )
- )
+ (if
+ (get_local $6)
+ (block
+ (set_local $8
(get_local $6)
- (i32.lt_s
- (get_local $6)
- (get_local $11)
- )
)
+ (br $__rjti$6)
)
- )
- (block
- (set_local $7
- (get_local $8)
- )
- (set_local $5
- (get_local $11)
- )
- )
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$8)
- )
- (set_local $5
- (i32.load
- (get_local $14)
- )
- )
- (if
- (i32.lt_s
- (tee_local $7
- (i32.load offset=4
- (get_local $14)
- )
- )
- (i32.const 0)
- )
- (block
- (i32.store
- (get_local $14)
- (tee_local $5
- (call $_i64Subtract
+ (block
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
(i32.const 0)
+ (get_local $11)
+ )
+ (br $__rjti$7
(i32.const 0)
- (get_local $5)
- (get_local $7)
)
)
)
- (i32.store offset=4
- (get_local $14)
- (tee_local $7
- (get_global $tempRet0)
- )
- )
- (set_local $8
- (i32.const 1)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$4)
)
- )
- (set_local $9
- (if (result i32)
- (i32.and
- (get_local $11)
- (i32.const 2048)
- )
- (block (result i32)
- (set_local $8
- (i32.const 1)
- )
- (i32.const 4092)
- )
- (block (result i32)
- (set_local $8
- (tee_local $9
- (i32.and
- (get_local $11)
- (i32.const 1)
- )
- )
- )
- (select
- (i32.const 4093)
- (i32.const 4091)
- (get_local $9)
- )
+ (set_local $16
+ (f64.load
+ (get_local $14)
)
)
- )
- (br $__rjti$4)
- )
- (set_local $5
- (i32.load
- (get_local $14)
- )
- )
- (set_local $7
- (i32.load offset=4
- (get_local $14)
- )
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$4)
- )
- (drop
- (i32.load offset=4
- (get_local $14)
- )
- )
- (i32.store8
- (get_local $40)
- (i32.load
- (get_local $14)
- )
- )
- (set_local $5
- (get_local $40)
- )
- (set_local $11
- (get_local $8)
- )
- (set_local $12
- (i32.const 1)
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjto$8
- (get_local $25)
- )
- )
- (set_local $7
- (call $_strerror
- (i32.load
- (call $___errno_location)
- )
- )
- )
- (br $__rjti$5)
- )
- (set_local $7
- (select
- (tee_local $5
- (i32.load
- (get_local $14)
- )
- )
- (i32.const 4101)
- (get_local $5)
- )
- )
- (br $__rjti$5)
- )
- (drop
- (i32.load offset=4
- (get_local $14)
- )
- )
- (i32.store
- (get_local $41)
- (i32.load
- (get_local $14)
- )
- )
- (i32.store
- (get_local $44)
- (i32.const 0)
- )
- (i32.store
- (get_local $14)
- (get_local $41)
- )
- (set_local $8
- (i32.const -1)
- )
- (br $__rjti$6)
- )
- (if
- (get_local $6)
- (block
- (set_local $8
- (get_local $6)
- )
- (br $__rjti$6)
- )
- (block
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (i32.const 0)
- (get_local $11)
- )
- (br $__rjti$7
- (i32.const 0)
- )
- )
- )
- )
- (set_local $16
- (f64.load
- (get_local $14)
- )
- )
- (i32.store
- (get_local $20)
- (i32.const 0)
- )
- (f64.store
- (get_global $tempDoublePtr)
- (get_local $16)
- )
- (drop
- (i32.load
- (get_global $tempDoublePtr)
- )
- )
- (set_local $30
- (if (result i32)
- (i32.lt_s
- (i32.load offset=4
- (get_global $tempDoublePtr)
- )
- (i32.const 0)
- )
- (block (result i32)
- (set_local $26
- (i32.const 1)
- )
- (set_local $16
- (f64.neg
- (get_local $16)
- )
- )
- (i32.const 4108)
- )
- (if (result i32)
- (i32.and
- (get_local $11)
- (i32.const 2048)
- )
- (block (result i32)
- (set_local $26
- (i32.const 1)
- )
- (i32.const 4111)
- )
- (block (result i32)
- (set_local $26
- (tee_local $5
- (i32.and
- (get_local $11)
- (i32.const 1)
- )
- )
- )
- (select
- (i32.const 4114)
- (i32.const 4109)
- (get_local $5)
- )
- )
- )
- )
- )
- (f64.store
- (get_global $tempDoublePtr)
- (get_local $16)
- )
- (drop
- (i32.load
- (get_global $tempDoublePtr)
- )
- )
- (set_local $7
- (if (result i32)
- (i32.lt_u
- (i32.and
- (i32.load offset=4
- (get_global $tempDoublePtr)
- )
- (i32.const 2146435072)
- )
- (i32.const 2146435072)
- )
- (block $do-once49 (result i32)
- (if
- (tee_local $5
- (f64.ne
- (tee_local $23
- (f64.mul
- (call $_frexp
- (get_local $16)
+ (i32.store
(get_local $20)
+ (i32.const 0)
)
- (f64.const 2)
- )
- )
- (f64.const 0)
- )
- )
- (i32.store
- (get_local $20)
- (i32.add
- (i32.load
- (get_local $20)
- )
- (i32.const -1)
- )
- )
- )
- (if
- (i32.eq
- (tee_local $24
- (i32.or
- (get_local $19)
- (i32.const 32)
- )
- )
- (i32.const 97)
- )
- (block
- (set_local $9
- (select
- (i32.add
- (get_local $30)
- (i32.const 9)
- )
- (get_local $30)
- (tee_local $13
- (i32.and
- (get_local $19)
- (i32.const 32)
- )
- )
- )
- )
- (set_local $16
- (if (result f64)
- (i32.or
- (i32.gt_u
- (get_local $6)
- (i32.const 11)
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $16)
)
- (i32.eqz
- (tee_local $5
- (i32.sub
- (i32.const 12)
- (get_local $6)
- )
+ (drop
+ (i32.load
+ (get_global $tempDoublePtr)
)
)
- )
- (get_local $23)
- (block (result f64)
- (set_local $16
- (f64.const 8)
- )
- (loop $while-in54
- (set_local $16
- (f64.mul
- (get_local $16)
- (f64.const 16)
- )
- )
- (br_if $while-in54
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
+ (set_local $30
+ (if (result i32)
+ (i32.lt_s
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
)
+ (i32.const 0)
)
- )
- )
- (if (result f64)
- (i32.eq
- (i32.load8_s
- (get_local $9)
- )
- (i32.const 45)
- )
- (f64.neg
- (f64.add
- (get_local $16)
- (f64.sub
+ (block (result i32)
+ (set_local $26
+ (i32.const 1)
+ )
+ (set_local $16
(f64.neg
- (get_local $23)
+ (get_local $16)
)
- (get_local $16)
)
+ (i32.const 4108)
)
- )
- (f64.sub
- (f64.add
- (get_local $23)
- (get_local $16)
- )
- (get_local $16)
- )
- )
- )
- )
- )
- (if
- (i32.eq
- (tee_local $5
- (call $_fmt_u
- (tee_local $5
- (select
- (i32.sub
- (i32.const 0)
- (tee_local $7
- (i32.load
- (get_local $20)
- )
- )
- )
- (get_local $7)
- (i32.lt_s
- (get_local $7)
- (i32.const 0)
+ (if (result i32)
+ (i32.and
+ (get_local $11)
+ (i32.const 2048)
)
- )
- )
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
+ (block (result i32)
+ (set_local $26
+ (i32.const 1)
+ )
+ (i32.const 4111)
)
- (i32.const 31)
- )
- (i32.const 31)
- )
- (get_local $32)
- )
- )
- (get_local $32)
- )
- (block
- (i32.store8
- (get_local $42)
- (i32.const 48)
- )
- (set_local $5
- (get_local $42)
- )
- )
- )
- (set_local $12
- (i32.or
- (get_local $26)
- (i32.const 2)
- )
- )
- (i32.store8
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $7)
- (i32.const 31)
- )
- (i32.const 2)
- )
- (i32.const 43)
- )
- )
- (i32.store8
- (tee_local $8
- (i32.add
- (get_local $5)
- (i32.const -2)
- )
- )
- (i32.add
- (get_local $19)
- (i32.const 15)
- )
- )
- (set_local $19
- (i32.lt_s
- (get_local $6)
- (i32.const 1)
- )
- )
- (set_local $18
- (i32.eqz
- (i32.and
- (get_local $11)
- (i32.const 8)
- )
- )
- )
- (set_local $5
- (get_local $22)
- )
- (loop $while-in56
- (i32.store8
- (get_local $5)
- (i32.or
- (i32.load8_u
- (i32.add
- (tee_local $7
- (call $f64-to-int
- (get_local $16)
+ (block (result i32)
+ (set_local $26
+ (tee_local $5
+ (i32.and
+ (get_local $11)
+ (i32.const 1)
+ )
+ )
+ )
+ (select
+ (i32.const 4114)
+ (i32.const 4109)
+ (get_local $5)
+ )
)
)
- (i32.const 4075)
)
)
- (get_local $13)
- )
- )
- (set_local $16
- (f64.mul
- (f64.sub
+ (f64.store
+ (get_global $tempDoublePtr)
(get_local $16)
- (f64.convert_s/i32
- (get_local $7)
- )
- )
- (f64.const 16)
- )
- )
- (set_local $5
- (if (result i32)
- (i32.eq
- (i32.sub
- (tee_local $7
- (i32.add
- (get_local $5)
- (i32.const 1)
- )
- )
- (get_local $36)
- )
- (i32.const 1)
)
- (if (result i32)
- (i32.and
- (get_local $18)
- (i32.and
- (get_local $19)
- (f64.eq
- (get_local $16)
- (f64.const 0)
- )
- )
- )
- (get_local $7)
- (block (result i32)
- (i32.store8
- (get_local $7)
- (i32.const 46)
- )
- (i32.add
- (get_local $5)
- (i32.const 2)
- )
+ (drop
+ (i32.load
+ (get_global $tempDoublePtr)
)
)
- (get_local $7)
- )
- )
- (br_if $while-in56
- (f64.ne
- (get_local $16)
- (f64.const 0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (tee_local $7
- (i32.add
- (tee_local $6
- (select
- (i32.sub
- (i32.add
- (get_local $47)
- (get_local $6)
+ (set_local $7
+ (if (result i32)
+ (i32.lt_u
+ (i32.and
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
+ )
+ (i32.const 2146435072)
)
- (get_local $8)
+ (i32.const 2146435072)
)
- (i32.add
- (i32.sub
- (get_local $45)
- (get_local $8)
+ (block $do-once49 (result i32)
+ (if
+ (tee_local $5
+ (f64.ne
+ (tee_local $23
+ (f64.mul
+ (call $_frexp
+ (get_local $16)
+ (get_local $20)
+ )
+ (f64.const 2)
+ )
+ )
+ (f64.const 0)
+ )
+ )
+ (i32.store
+ (get_local $20)
+ (i32.add
+ (i32.load
+ (get_local $20)
+ )
+ (i32.const -1)
+ )
+ )
)
- (get_local $5)
- )
- (i32.and
- (i32.ne
- (get_local $6)
- (i32.const 0)
+ (if
+ (i32.eq
+ (tee_local $24
+ (i32.or
+ (get_local $19)
+ (i32.const 32)
+ )
+ )
+ (i32.const 97)
+ )
+ (block
+ (set_local $9
+ (select
+ (i32.add
+ (get_local $30)
+ (i32.const 9)
+ )
+ (get_local $30)
+ (tee_local $13
+ (i32.and
+ (get_local $19)
+ (i32.const 32)
+ )
+ )
+ )
+ )
+ (set_local $16
+ (if (result f64)
+ (i32.or
+ (i32.eqz
+ (tee_local $5
+ (i32.sub
+ (i32.const 12)
+ (get_local $6)
+ )
+ )
+ )
+ (i32.gt_u
+ (get_local $6)
+ (i32.const 11)
+ )
+ )
+ (get_local $23)
+ (block (result f64)
+ (set_local $16
+ (f64.const 8)
+ )
+ (loop $while-in54
+ (set_local $16
+ (f64.mul
+ (get_local $16)
+ (f64.const 16)
+ )
+ )
+ (br_if $while-in54
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ )
+ )
+ (if (result f64)
+ (i32.eq
+ (i32.load8_s
+ (get_local $9)
+ )
+ (i32.const 45)
+ )
+ (f64.neg
+ (f64.add
+ (get_local $16)
+ (f64.sub
+ (f64.neg
+ (get_local $23)
+ )
+ (get_local $16)
+ )
+ )
+ )
+ (f64.sub
+ (f64.add
+ (get_local $23)
+ (get_local $16)
+ )
+ (get_local $16)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $5
+ (call $_fmt_u
+ (tee_local $5
+ (select
+ (i32.sub
+ (i32.const 0)
+ (tee_local $7
+ (i32.load
+ (get_local $20)
+ )
+ )
+ )
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ (get_local $32)
+ )
+ )
+ (get_local $32)
+ )
+ (block
+ (i32.store8
+ (get_local $41)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $41)
+ )
+ )
+ )
+ (set_local $12
+ (i32.or
+ (get_local $26)
+ (i32.const 2)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $7)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ (i32.const 43)
+ )
+ )
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $5)
+ (i32.const -2)
+ )
+ )
+ (i32.add
+ (get_local $19)
+ (i32.const 15)
+ )
+ )
+ (set_local $19
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (set_local $18
+ (i32.eqz
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
+ )
+ )
+ (set_local $5
+ (get_local $22)
+ )
+ (loop $while-in56
+ (i32.store8
+ (get_local $5)
+ (i32.or
+ (get_local $13)
+ (i32.load8_u
+ (i32.add
+ (tee_local $7
+ (call $f64-to-int
+ (get_local $16)
+ )
+ )
+ (i32.const 4075)
+ )
+ )
+ )
+ )
+ (set_local $16
+ (f64.mul
+ (f64.sub
+ (get_local $16)
+ (f64.convert_s/i32
+ (get_local $7)
+ )
+ )
+ (f64.const 16)
+ )
+ )
+ (set_local $5
+ (if (result i32)
+ (i32.eq
+ (i32.sub
+ (tee_local $7
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ (get_local $36)
+ )
+ (i32.const 1)
+ )
+ (if (result i32)
+ (i32.and
+ (i32.and
+ (f64.eq
+ (get_local $16)
+ (f64.const 0)
+ )
+ (get_local $19)
+ )
+ (get_local $18)
+ )
+ (get_local $7)
+ (block (result i32)
+ (i32.store8
+ (get_local $7)
+ (i32.const 46)
+ )
+ (i32.add
+ (get_local $5)
+ (i32.const 2)
+ )
+ )
+ )
+ (get_local $7)
+ )
+ )
+ (br_if $while-in56
+ (f64.ne
+ (get_local $16)
+ (f64.const 0)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (tee_local $7
+ (i32.add
+ (get_local $12)
+ (tee_local $6
+ (select
+ (i32.sub
+ (i32.add
+ (get_local $6)
+ (get_local $46)
+ )
+ (get_local $8)
+ )
+ (i32.add
+ (get_local $5)
+ (i32.sub
+ (get_local $44)
+ (get_local $8)
+ )
+ )
+ (i32.and
+ (i32.ne
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.lt_s
+ (i32.add
+ (get_local $5)
+ (get_local $45)
+ )
+ (get_local $6)
+ )
+ )
+ )
+ )
+ )
+ )
+ (get_local $11)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $9)
+ (get_local $12)
+ (get_local $0)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $15)
+ (get_local $7)
+ (i32.xor
+ (get_local $11)
+ (i32.const 65536)
+ )
+ )
+ (set_local $5
+ (i32.sub
+ (get_local $5)
+ (get_local $36)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $22)
+ (get_local $5)
+ (get_local $0)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.sub
+ (get_local $6)
+ (i32.add
+ (get_local $5)
+ (tee_local $5
+ (i32.sub
+ (get_local $27)
+ (get_local $8)
+ )
+ )
+ )
+ )
+ (i32.const 0)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $8)
+ (get_local $5)
+ (get_local $0)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (get_local $7)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
+ )
+ (br $do-once49
+ (select
+ (get_local $15)
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (get_local $15)
+ )
+ )
+ )
+ )
)
- (i32.lt_s
- (i32.add
- (get_local $46)
+ (set_local $16
+ (if (result f64)
(get_local $5)
+ (block (result f64)
+ (i32.store
+ (get_local $20)
+ (tee_local $5
+ (i32.add
+ (i32.load
+ (get_local $20)
+ )
+ (i32.const -28)
+ )
+ )
+ )
+ (f64.mul
+ (get_local $23)
+ (f64.const 268435456)
+ )
+ )
+ (block (result f64)
+ (set_local $5
+ (i32.load
+ (get_local $20)
+ )
+ )
+ (get_local $23)
+ )
)
- (get_local $6)
)
- )
- )
- )
- (get_local $12)
- )
- )
- (get_local $11)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $9)
- (get_local $12)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $15)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 65536)
- )
- )
- (set_local $5
- (i32.sub
- (get_local $5)
- (get_local $36)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $22)
- (get_local $5)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.sub
- (get_local $6)
- (i32.add
- (get_local $5)
- (tee_local $5
- (i32.sub
- (get_local $27)
- (get_local $8)
- )
- )
- )
- )
- (i32.const 0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $8)
- (get_local $5)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (br $do-once49
- (select
- (get_local $15)
- (get_local $7)
- (i32.lt_s
- (get_local $7)
- (get_local $15)
- )
- )
- )
- )
- )
- (set_local $16
- (if (result f64)
- (get_local $5)
- (block (result f64)
- (i32.store
- (get_local $20)
- (tee_local $5
- (i32.add
- (i32.load
- (get_local $20)
- )
- (i32.const -28)
- )
- )
- )
- (f64.mul
- (get_local $23)
- (f64.const 268435456)
- )
- )
- (block (result f64)
- (set_local $5
- (i32.load
- (get_local $20)
- )
- )
- (get_local $23)
- )
- )
- )
- (set_local $7
- (tee_local $8
- (select
- (get_local $48)
- (get_local $49)
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- )
- )
- )
- (loop $while-in60
- (i32.store
- (get_local $7)
- (tee_local $5
- (call $f64-to-int
- (get_local $16)
- )
- )
- )
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (br_if $while-in60
- (f64.ne
- (tee_local $16
- (f64.mul
- (f64.sub
- (get_local $16)
- (f64.convert_u/i32
- (get_local $5)
- )
- )
- (f64.const 1e9)
- )
- )
- (f64.const 0)
- )
- )
- )
- (if
- (i32.gt_s
- (tee_local $9
- (i32.load
- (get_local $20)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $5
- (get_local $8)
- )
- (loop $while-in62
- (set_local $13
- (select
- (i32.const 29)
- (get_local $9)
- (i32.gt_s
- (get_local $9)
- (i32.const 29)
- )
- )
- )
- (if
- (i32.ge_u
- (tee_local $9
- (i32.add
- (get_local $7)
- (i32.const -4)
- )
- )
- (get_local $5)
- )
- (block $do-once63
- (set_local $12
- (i32.const 0)
- )
- (loop $while-in66
- (i32.store
- (get_local $9)
- (call $___uremdi3
- (tee_local $12
- (call $_i64Add
- (call $_bitshift64Shl
+ (set_local $7
+ (tee_local $8
+ (select
+ (get_local $47)
+ (get_local $48)
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (loop $while-in60
+ (i32.store
+ (get_local $7)
+ (tee_local $5
+ (call $f64-to-int
+ (get_local $16)
+ )
+ )
+ )
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ )
+ (br_if $while-in60
+ (f64.ne
+ (tee_local $16
+ (f64.mul
+ (f64.sub
+ (get_local $16)
+ (f64.convert_u/i32
+ (get_local $5)
+ )
+ )
+ (f64.const 1e9)
+ )
+ )
+ (f64.const 0)
+ )
+ )
+ )
+ (if
+ (i32.gt_s
+ (tee_local $9
(i32.load
- (get_local $9)
+ (get_local $20)
)
- (i32.const 0)
- (get_local $13)
)
- (get_global $tempRet0)
- (get_local $12)
(i32.const 0)
)
+ (block
+ (set_local $5
+ (get_local $8)
+ )
+ (loop $while-in62
+ (set_local $13
+ (select
+ (i32.const 29)
+ (get_local $9)
+ (i32.gt_s
+ (get_local $9)
+ (i32.const 29)
+ )
+ )
+ )
+ (if
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
+ )
+ )
+ (get_local $5)
+ )
+ (block $do-once63
+ (set_local $12
+ (i32.const 0)
+ )
+ (loop $while-in66
+ (i32.store
+ (get_local $9)
+ (call $___uremdi3
+ (tee_local $12
+ (call $_i64Add
+ (call $_bitshift64Shl
+ (i32.load
+ (get_local $9)
+ )
+ (i32.const 0)
+ (get_local $13)
+ )
+ (get_global $tempRet0)
+ (get_local $12)
+ (i32.const 0)
+ )
+ )
+ (tee_local $18
+ (get_global $tempRet0)
+ )
+ (i32.const 1000000000)
+ )
+ )
+ (set_local $12
+ (call $___udivdi3
+ (get_local $12)
+ (get_local $18)
+ (i32.const 1000000000)
+ )
+ )
+ (br_if $while-in66
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $9)
+ (i32.const -4)
+ )
+ )
+ (get_local $5)
+ )
+ )
+ )
+ (br_if $do-once63
+ (i32.eqz
+ (get_local $12)
+ )
+ )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
+ (get_local $12)
+ )
+ )
+ )
+ (loop $while-in68
+ (if
+ (i32.gt_u
+ (get_local $7)
+ (get_local $5)
+ )
+ (if
+ (i32.eqz
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $7
+ (get_local $9)
+ )
+ (br $while-in68)
+ )
+ )
+ )
+ )
+ (i32.store
+ (get_local $20)
+ (tee_local $9
+ (i32.sub
+ (i32.load
+ (get_local $20)
+ )
+ (get_local $13)
+ )
+ )
+ )
+ (br_if $while-in62
+ (i32.gt_s
+ (get_local $9)
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (set_local $5
+ (get_local $8)
+ )
)
- (tee_local $18
- (get_global $tempRet0)
+ (set_local $18
+ (select
+ (i32.const 6)
+ (get_local $6)
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 0)
+ )
+ )
)
- (i32.const 1000000000)
- )
- )
- (set_local $12
- (call $___udivdi3
- (get_local $12)
- (get_local $18)
- (i32.const 1000000000)
- )
- )
- (br_if $while-in66
- (i32.ge_u
- (tee_local $9
- (i32.add
+ (if
+ (i32.lt_s
(get_local $9)
- (i32.const -4)
+ (i32.const 0)
)
- )
- (get_local $5)
- )
- )
- )
- (br_if $do-once63
- (i32.eqz
- (get_local $12)
- )
- )
- (i32.store
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -4)
- )
- )
- (get_local $12)
- )
- )
- )
- (loop $while-in68
- (if
- (i32.gt_u
- (get_local $7)
- (get_local $5)
- )
- (if
- (i32.eqz
- (i32.load
- (tee_local $9
- (i32.add
+ (block
+ (set_local $21
+ (i32.add
+ (call $i32s-div
+ (i32.add
+ (get_local $18)
+ (i32.const 25)
+ )
+ (i32.const 9)
+ )
+ (i32.const 1)
+ )
+ )
+ (set_local $31
+ (i32.eq
+ (get_local $24)
+ (i32.const 102)
+ )
+ )
+ (set_local $6
+ (get_local $5)
+ )
+ (set_local $5
+ (get_local $7)
+ )
+ (loop $while-in70
+ (set_local $13
+ (select
+ (i32.const 9)
+ (tee_local $7
+ (i32.sub
+ (i32.const 0)
+ (get_local $9)
+ )
+ )
+ (i32.gt_s
+ (get_local $7)
+ (i32.const 9)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (get_local $5)
+ )
+ (block $do-once71
+ (set_local $12
+ (i32.add
+ (i32.shl
+ (i32.const 1)
+ (get_local $13)
+ )
+ (i32.const -1)
+ )
+ )
+ (set_local $37
+ (i32.shr_u
+ (i32.const 1000000000)
+ (get_local $13)
+ )
+ )
+ (set_local $9
+ (i32.const 0)
+ )
+ (set_local $7
+ (get_local $6)
+ )
+ (loop $while-in74
+ (i32.store
+ (get_local $7)
+ (i32.add
+ (get_local $9)
+ (i32.shr_u
+ (tee_local $9
+ (i32.load
+ (get_local $7)
+ )
+ )
+ (get_local $13)
+ )
+ )
+ )
+ (set_local $9
+ (i32.mul
+ (i32.and
+ (get_local $9)
+ (get_local $12)
+ )
+ (get_local $37)
+ )
+ )
+ (br_if $while-in74
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ )
+ (get_local $5)
+ )
+ )
+ )
+ (set_local $7
+ (select
+ (get_local $6)
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (i32.load
+ (get_local $6)
+ )
+ )
+ )
+ (br_if $do-once71
+ (i32.eqz
+ (get_local $9)
+ )
+ )
+ (i32.store
+ (get_local $5)
+ (get_local $9)
+ )
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 4)
+ )
+ )
+ )
+ (set_local $7
+ (select
+ (get_local $6)
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (i32.load
+ (get_local $6)
+ )
+ )
+ )
+ )
+ (set_local $12
+ (select
+ (i32.add
+ (tee_local $6
+ (select
+ (get_local $8)
+ (get_local $7)
+ (get_local $31)
+ )
+ )
+ (i32.shl
+ (get_local $21)
+ (i32.const 2)
+ )
+ )
+ (get_local $5)
+ (i32.gt_s
+ (i32.shr_s
+ (i32.sub
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.const 2)
+ )
+ (get_local $21)
+ )
+ )
+ )
+ (i32.store
+ (get_local $20)
+ (tee_local $9
+ (i32.add
+ (i32.load
+ (get_local $20)
+ )
+ (get_local $13)
+ )
+ )
+ )
+ (set_local $5
+ (if (result i32)
+ (i32.lt_s
+ (get_local $9)
+ (i32.const 0)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
+ )
+ (set_local $5
+ (get_local $12)
+ )
+ (br $while-in70)
+ )
+ (block (result i32)
+ (set_local $9
+ (get_local $12)
+ )
+ (get_local $7)
+ )
+ )
+ )
+ )
+ )
+ (set_local $9
(get_local $7)
- (i32.const -4)
)
)
- )
- )
- (block
- (set_local $7
- (get_local $9)
- )
- (br $while-in68)
- )
- )
- )
- )
- (i32.store
- (get_local $20)
- (tee_local $9
- (i32.sub
- (i32.load
- (get_local $20)
- )
- (get_local $13)
- )
- )
- )
- (br_if $while-in62
- (i32.gt_s
- (get_local $9)
- (i32.const 0)
- )
- )
- )
- )
- (set_local $5
- (get_local $8)
- )
- )
- (set_local $18
- (select
- (i32.const 6)
- (get_local $6)
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
- )
- )
- )
- (if
- (i32.lt_s
- (get_local $9)
- (i32.const 0)
- )
- (block
- (set_local $21
- (i32.add
- (call $i32s-div
- (i32.add
- (get_local $18)
- (i32.const 25)
- )
- (i32.const 9)
- )
- (i32.const 1)
- )
- )
- (set_local $31
- (i32.eq
- (get_local $24)
- (i32.const 102)
- )
- )
- (set_local $6
- (get_local $5)
- )
- (set_local $5
- (get_local $7)
- )
- (loop $while-in70
- (set_local $13
- (select
- (i32.const 9)
- (tee_local $7
- (i32.sub
- (i32.const 0)
- (get_local $9)
- )
- )
- (i32.gt_s
- (get_local $7)
- (i32.const 9)
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $6)
- (get_local $5)
- )
- (block $do-once71
- (set_local $12
- (i32.add
- (i32.shl
- (i32.const 1)
- (get_local $13)
- )
- (i32.const -1)
- )
- )
- (set_local $37
- (i32.shr_u
- (i32.const 1000000000)
- (get_local $13)
- )
- )
- (set_local $9
- (i32.const 0)
- )
- (set_local $7
- (get_local $6)
- )
- (loop $while-in74
- (i32.store
- (get_local $7)
- (i32.add
- (i32.shr_u
- (tee_local $38
- (i32.load
- (get_local $7)
+ (set_local $21
+ (get_local $8)
+ )
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (get_local $9)
+ )
+ (block $do-once75
+ (set_local $7
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $21)
+ (get_local $5)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ )
+ (br_if $do-once75
+ (i32.lt_u
+ (tee_local $12
+ (i32.load
+ (get_local $5)
+ )
+ )
+ (i32.const 10)
+ )
+ )
+ (set_local $6
+ (i32.const 10)
+ )
+ (loop $while-in78
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in78
+ (i32.ge_u
+ (get_local $12)
+ (tee_local $6
+ (i32.mul
+ (get_local $6)
+ (i32.const 10)
+ )
+ )
+ )
+ )
)
)
- (get_local $13)
+ (set_local $7
+ (i32.const 0)
+ )
)
- (get_local $9)
- )
- )
- (set_local $9
- (i32.mul
- (i32.and
- (get_local $38)
- (get_local $12)
+ (set_local $5
+ (if (result i32)
+ (i32.lt_s
+ (tee_local $6
+ (i32.add
+ (i32.sub
+ (get_local $18)
+ (select
+ (get_local $7)
+ (i32.const 0)
+ (i32.ne
+ (get_local $24)
+ (i32.const 102)
+ )
+ )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.and
+ (tee_local $31
+ (i32.eq
+ (get_local $24)
+ (i32.const 103)
+ )
+ )
+ (tee_local $37
+ (i32.ne
+ (get_local $18)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ )
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $9)
+ (get_local $21)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ (i32.const -9)
+ )
+ )
+ (block (result i32)
+ (set_local $13
+ (call $i32s-div
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 9216)
+ )
+ )
+ (i32.const 9)
+ )
+ )
+ (if
+ (i32.lt_s
+ (tee_local $6
+ (i32.add
+ (i32.rem_s
+ (get_local $6)
+ (i32.const 9)
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.const 9)
+ )
+ (block
+ (set_local $12
+ (i32.const 10)
+ )
+ (loop $while-in80
+ (set_local $12
+ (i32.mul
+ (get_local $12)
+ (i32.const 10)
+ )
+ )
+ (br_if $while-in80
+ (i32.ne
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (i32.const 9)
+ )
+ )
+ )
+ )
+ (set_local $12
+ (i32.const 10)
+ )
+ )
+ (set_local $13
+ (call $i32u-rem
+ (tee_local $24
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (i32.add
+ (i32.shl
+ (get_local $13)
+ (i32.const 2)
+ )
+ (get_local $8)
+ )
+ (i32.const -4092)
+ )
+ )
+ )
+ )
+ (get_local $12)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $49
+ (i32.eq
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (get_local $9)
+ )
+ )
+ (i32.eqz
+ (get_local $13)
+ )
+ )
+ )
+ (block $do-once81
+ (set_local $50
+ (call $i32u-div
+ (get_local $24)
+ (get_local $12)
+ )
+ )
+ (set_local $16
+ (if (result f64)
+ (i32.lt_u
+ (get_local $13)
+ (tee_local $51
+ (call $i32s-div
+ (get_local $12)
+ (i32.const 2)
+ )
+ )
+ )
+ (f64.const 0.5)
+ (select
+ (f64.const 1)
+ (f64.const 1.5)
+ (i32.and
+ (get_local $49)
+ (i32.eq
+ (get_local $13)
+ (get_local $51)
+ )
+ )
+ )
+ )
+ )
+ (set_local $23
+ (select
+ (f64.const 9007199254740994)
+ (f64.const 9007199254740992)
+ (i32.and
+ (get_local $50)
+ (i32.const 1)
+ )
+ )
+ )
+ (if
+ (get_local $26)
+ (if
+ (i32.eq
+ (i32.load8_s
+ (get_local $30)
+ )
+ (i32.const 45)
+ )
+ (block
+ (set_local $23
+ (f64.neg
+ (get_local $23)
+ )
+ )
+ (set_local $16
+ (f64.neg
+ (get_local $16)
+ )
+ )
+ )
+ )
+ )
+ (i32.store
+ (get_local $6)
+ (tee_local $13
+ (i32.sub
+ (get_local $24)
+ (get_local $13)
+ )
+ )
+ )
+ (br_if $do-once81
+ (f64.eq
+ (f64.add
+ (get_local $23)
+ (get_local $16)
+ )
+ (get_local $23)
+ )
+ )
+ (i32.store
+ (get_local $6)
+ (tee_local $7
+ (i32.add
+ (get_local $12)
+ (get_local $13)
+ )
+ )
+ )
+ (if
+ (i32.gt_u
+ (get_local $7)
+ (i32.const 999999999)
+ )
+ (loop $while-in86
+ (i32.store
+ (get_local $6)
+ (i32.const 0)
+ )
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
+ )
+ )
+ (get_local $5)
+ )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (i32.store
+ (get_local $6)
+ (tee_local $7
+ (i32.add
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (br_if $while-in86
+ (i32.gt_u
+ (get_local $7)
+ (i32.const 999999999)
+ )
+ )
+ )
+ )
+ (set_local $7
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $21)
+ (get_local $5)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ )
+ (br_if $do-once81
+ (i32.lt_u
+ (tee_local $13
+ (i32.load
+ (get_local $5)
+ )
+ )
+ (i32.const 10)
+ )
+ )
+ (set_local $12
+ (i32.const 10)
+ )
+ (loop $while-in88
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in88
+ (i32.ge_u
+ (get_local $13)
+ (tee_local $12
+ (i32.mul
+ (get_local $12)
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (set_local $12
+ (get_local $5)
+ )
+ (set_local $13
+ (get_local $7)
+ )
+ (select
+ (tee_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (get_local $9)
+ (i32.gt_u
+ (get_local $9)
+ (get_local $5)
+ )
+ )
+ )
+ (block (result i32)
+ (set_local $12
+ (get_local $5)
+ )
+ (set_local $13
+ (get_local $7)
+ )
+ (get_local $9)
+ )
+ )
)
- (get_local $37)
- )
- )
- (br_if $while-in74
- (i32.lt_u
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
+ (set_local $9
+ (loop $while-in90 (result i32)
+ (block $while-out89 (result i32)
+ (if
+ (i32.le_u
+ (get_local $5)
+ (get_local $12)
+ )
+ (block
+ (set_local $24
+ (i32.const 0)
+ )
+ (br $while-out89
+ (get_local $5)
+ )
+ )
+ )
+ (if (result i32)
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
+ )
+ (block (result i32)
+ (set_local $24
+ (i32.const 1)
+ )
+ (get_local $5)
+ )
+ (block
+ (set_local $5
+ (get_local $7)
+ )
+ (br $while-in90)
+ )
+ )
+ )
)
)
- (get_local $5)
- )
- )
- )
- (set_local $7
- (select
- (get_local $6)
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- (i32.load
- (get_local $6)
- )
- )
- )
- (br_if $do-once71
- (i32.eqz
- (get_local $9)
- )
- )
- (i32.store
- (get_local $5)
- (get_local $9)
- )
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 4)
- )
- )
- )
- (set_local $7
- (select
- (get_local $6)
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- (i32.load
- (get_local $6)
- )
- )
- )
- )
- (set_local $12
- (select
- (i32.add
- (tee_local $6
- (select
- (get_local $8)
- (get_local $7)
- (get_local $31)
- )
- )
- (i32.shl
- (get_local $21)
- (i32.const 2)
- )
- )
- (get_local $5)
- (i32.gt_s
- (i32.shr_s
- (i32.sub
- (get_local $5)
- (get_local $6)
- )
- (i32.const 2)
- )
- (get_local $21)
- )
- )
- )
- (i32.store
- (get_local $20)
- (tee_local $9
- (i32.add
- (i32.load
- (get_local $20)
- )
- (get_local $13)
- )
- )
- )
- (set_local $5
- (if (result i32)
- (i32.lt_s
- (get_local $9)
- (i32.const 0)
- )
- (block
- (set_local $6
- (get_local $7)
- )
- (set_local $5
- (get_local $12)
- )
- (br $while-in70)
- )
- (block (result i32)
- (set_local $9
- (get_local $12)
- )
- (get_local $7)
- )
- )
- )
- )
- )
- (set_local $9
- (get_local $7)
- )
- )
- (set_local $21
- (get_local $8)
- )
- (if
- (i32.lt_u
- (get_local $5)
- (get_local $9)
- )
- (block $do-once75
- (set_local $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $21)
- (get_local $5)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- )
- (br_if $do-once75
- (i32.lt_u
- (tee_local $12
- (i32.load
- (get_local $5)
- )
- )
- (i32.const 10)
- )
- )
- (set_local $6
- (i32.const 10)
- )
- (loop $while-in78
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 1)
- )
- )
- (br_if $while-in78
- (i32.ge_u
- (get_local $12)
- (tee_local $6
- (i32.mul
- (get_local $6)
- (i32.const 10)
- )
- )
- )
- )
- )
- )
- (set_local $7
- (i32.const 0)
- )
- )
- (set_local $5
- (if (result i32)
- (i32.lt_s
- (tee_local $6
- (i32.add
- (i32.sub
- (get_local $18)
- (select
- (get_local $7)
- (i32.const 0)
- (i32.ne
- (get_local $24)
- (i32.const 102)
- )
- )
- )
- (i32.shr_s
- (i32.shl
- (i32.and
- (tee_local $31
- (i32.ne
- (get_local $18)
- (i32.const 0)
+ (set_local $5
+ (if (result i32)
+ (get_local $31)
+ (block $do-once91 (result i32)
+ (set_local $7
+ (if (result i32)
+ (i32.and
+ (i32.gt_s
+ (tee_local $5
+ (i32.add
+ (get_local $18)
+ (i32.xor
+ (get_local $37)
+ (i32.const 1)
+ )
+ )
+ )
+ (get_local $13)
+ )
+ (i32.gt_s
+ (get_local $13)
+ (i32.const -5)
+ )
+ )
+ (block (result i32)
+ (set_local $18
+ (i32.sub
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ (get_local $13)
+ )
+ )
+ (i32.add
+ (get_local $19)
+ (i32.const -1)
+ )
+ )
+ (block (result i32)
+ (set_local $18
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ (i32.add
+ (get_local $19)
+ (i32.const -2)
+ )
+ )
+ )
+ )
+ (if
+ (tee_local $5
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
+ )
+ (block
+ (set_local $21
+ (get_local $5)
+ )
+ (br $do-once91
+ (get_local $18)
+ )
+ )
+ )
+ (if
+ (get_local $24)
+ (block $do-once93
+ (if
+ (i32.eqz
+ (tee_local $19
+ (i32.load
+ (i32.add
+ (get_local $9)
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $5
+ (i32.const 9)
+ )
+ (br $do-once93)
+ )
+ )
+ (set_local $5
+ (if (result i32)
+ (call $i32u-rem
+ (get_local $19)
+ (i32.const 10)
+ )
+ (block
+ (set_local $5
+ (i32.const 0)
+ )
+ (br $do-once93)
+ )
+ (block (result i32)
+ (set_local $6
+ (i32.const 10)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (loop $while-in96
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in96
+ (i32.eqz
+ (call $i32u-rem
+ (get_local $19)
+ (tee_local $6
+ (i32.mul
+ (get_local $6)
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (set_local $5
+ (i32.const 9)
+ )
+ )
+ (set_local $6
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $9)
+ (get_local $21)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ (i32.const -9)
+ )
+ )
+ (if (result i32)
+ (i32.eq
+ (i32.or
+ (get_local $7)
+ (i32.const 32)
+ )
+ (i32.const 102)
+ )
+ (block (result i32)
+ (set_local $21
+ (i32.const 0)
+ )
+ (select
+ (get_local $18)
+ (tee_local $5
+ (select
+ (i32.const 0)
+ (tee_local $5
+ (i32.sub
+ (get_local $6)
+ (get_local $5)
+ )
+ )
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.lt_s
+ (get_local $18)
+ (get_local $5)
+ )
+ )
+ )
+ (block (result i32)
+ (set_local $21
+ (i32.const 0)
+ )
+ (select
+ (get_local $18)
+ (tee_local $5
+ (select
+ (i32.const 0)
+ (tee_local $5
+ (i32.sub
+ (i32.add
+ (get_local $6)
+ (get_local $13)
+ )
+ (get_local $5)
+ )
+ )
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.lt_s
+ (get_local $18)
+ (get_local $5)
+ )
+ )
+ )
+ )
+ )
+ (block (result i32)
+ (set_local $21
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
+ )
+ (set_local $7
+ (get_local $19)
+ )
+ (get_local $18)
+ )
)
)
- (tee_local $37
- (i32.eq
- (get_local $24)
- (i32.const 103)
+ (set_local $6
+ (i32.sub
+ (i32.const 0)
+ (get_local $13)
)
)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- )
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $9)
- (get_local $21)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- (i32.const -9)
- )
- )
- (block (result i32)
- (set_local $13
- (call $i32s-div
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 9216)
- )
- )
- (i32.const 9)
- )
- )
- (if
- (i32.lt_s
- (tee_local $6
- (i32.add
- (i32.rem_s
- (get_local $6)
- (i32.const 9)
- )
- (i32.const 1)
- )
- )
- (i32.const 9)
- )
- (block
- (set_local $12
- (i32.const 10)
- )
- (loop $while-in80
- (set_local $12
- (i32.mul
- (get_local $12)
- (i32.const 10)
- )
- )
- (br_if $while-in80
- (i32.ne
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 1)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (tee_local $13
+ (i32.add
+ (if (result i32)
+ (tee_local $18
+ (i32.eq
+ (i32.or
+ (get_local $7)
+ (i32.const 32)
+ )
+ (i32.const 102)
+ )
+ )
+ (block (result i32)
+ (set_local $19
+ (i32.const 0)
+ )
+ (select
+ (get_local $13)
+ (i32.const 0)
+ (i32.gt_s
+ (get_local $13)
+ (i32.const 0)
+ )
+ )
+ )
+ (block (result i32)
+ (if
+ (i32.lt_s
+ (i32.sub
+ (get_local $27)
+ (tee_local $6
+ (call $_fmt_u
+ (tee_local $6
+ (select
+ (get_local $6)
+ (get_local $13)
+ (i32.lt_s
+ (get_local $13)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ (get_local $32)
+ )
+ )
+ )
+ (i32.const 2)
+ )
+ (loop $while-in98
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in98
+ (i32.lt_s
+ (i32.sub
+ (get_local $27)
+ (get_local $6)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (i32.store8
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $13)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ (i32.const 43)
+ )
+ )
+ (i32.store8
+ (tee_local $19
+ (i32.add
+ (get_local $6)
+ (i32.const -2)
+ )
+ )
+ (get_local $7)
+ )
+ (i32.sub
+ (get_local $27)
+ (get_local $19)
+ )
+ )
+ )
+ (i32.add
+ (i32.add
+ (i32.add
+ (get_local $26)
+ (i32.const 1)
+ )
+ (get_local $5)
+ )
+ (i32.ne
+ (tee_local $31
+ (i32.or
+ (get_local $5)
+ (get_local $21)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ )
)
+ (get_local $11)
)
- (i32.const 9)
- )
- )
- )
- )
- (set_local $12
- (i32.const 10)
- )
- )
- (set_local $13
- (call $i32u-rem
- (tee_local $24
- (i32.load
- (tee_local $6
- (i32.add
- (i32.add
- (get_local $8)
- (i32.shl
- (get_local $13)
- (i32.const 2)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $30)
+ (get_local $26)
+ (get_local $0)
)
)
- (i32.const -4092)
)
- )
- )
- )
- (get_local $12)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $38
- (i32.eq
- (i32.add
- (get_local $6)
- (i32.const 4)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $15)
+ (get_local $13)
+ (i32.xor
+ (get_local $11)
+ (i32.const 65536)
+ )
)
- (get_local $9)
- )
- )
- (i32.eqz
- (get_local $13)
- )
- )
- )
- (block $do-once81
- (set_local $50
- (call $i32u-div
- (get_local $24)
- (get_local $12)
- )
- )
- (set_local $16
- (if (result f64)
- (i32.lt_u
- (get_local $13)
- (tee_local $51
- (call $i32s-div
- (get_local $12)
- (i32.const 2)
+ (if
+ (get_local $18)
+ (block
+ (set_local $6
+ (tee_local $12
+ (select
+ (get_local $8)
+ (get_local $12)
+ (i32.gt_u
+ (get_local $12)
+ (get_local $8)
+ )
+ )
+ )
+ )
+ (loop $while-in102
+ (set_local $7
+ (call $_fmt_u
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 0)
+ (get_local $29)
+ )
+ )
+ (block $do-once103
+ (if
+ (i32.eq
+ (get_local $6)
+ (get_local $12)
+ )
+ (block
+ (br_if $do-once103
+ (i32.ne
+ (get_local $7)
+ (get_local $29)
+ )
+ )
+ (i32.store8
+ (get_local $33)
+ (i32.const 48)
+ )
+ (set_local $7
+ (get_local $33)
+ )
+ )
+ (block
+ (br_if $do-once103
+ (i32.le_u
+ (get_local $7)
+ (get_local $22)
+ )
+ )
+ (loop $while-in106
+ (i32.store8
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in106
+ (i32.gt_u
+ (get_local $7)
+ (get_local $22)
+ )
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $7)
+ (i32.sub
+ (get_local $42)
+ (get_local $7)
+ )
+ (get_local $0)
+ )
+ )
+ )
+ (if
+ (i32.le_u
+ (tee_local $7
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (get_local $8)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
+ )
+ (br $while-in102)
+ )
+ )
+ )
+ (if
+ (get_local $31)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ )
+ (if
+ (i32.and
+ (i32.lt_u
+ (get_local $7)
+ (get_local $9)
+ )
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ (loop $while-in110
+ (if
+ (i32.gt_u
+ (tee_local $6
+ (call $_fmt_u
+ (i32.load
+ (get_local $7)
+ )
+ (i32.const 0)
+ (get_local $29)
+ )
+ )
+ (get_local $22)
+ )
+ (loop $while-in112
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in112
+ (i32.gt_u
+ (get_local $6)
+ (get_local $22)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $6)
+ (select
+ (i32.const 9)
+ (get_local $5)
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 9)
+ )
+ )
+ (get_local $0)
+ )
+ )
+ )
+ (set_local $6
+ (i32.add
+ (get_local $5)
+ (i32.const -9)
+ )
+ )
+ (set_local $5
+ (if (result i32)
+ (i32.and
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ )
+ (get_local $9)
+ )
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 9)
+ )
+ )
+ (block
+ (set_local $5
+ (get_local $6)
+ )
+ (br $while-in110)
+ )
+ (get_local $6)
+ )
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
+ (get_local $5)
+ (i32.const 9)
+ )
+ (i32.const 9)
+ (i32.const 0)
+ )
+ )
+ (block $do-once99
+ (set_local $9
+ (select
+ (get_local $9)
+ (i32.add
+ (get_local $12)
+ (i32.const 4)
+ )
+ (get_local $24)
+ )
+ )
+ (if
+ (i32.gt_s
+ (get_local $5)
+ (i32.const -1)
+ )
+ (block
+ (set_local $18
+ (i32.eqz
+ (get_local $21)
+ )
+ )
+ (set_local $6
+ (get_local $12)
+ )
+ (set_local $7
+ (get_local $5)
+ )
+ (loop $while-in114
+ (if
+ (i32.eq
+ (tee_local $5
+ (call $_fmt_u
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 0)
+ (get_local $29)
+ )
+ )
+ (get_local $29)
+ )
+ (block
+ (i32.store8
+ (get_local $33)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $33)
+ )
+ )
+ )
+ (block $do-once115
+ (if
+ (i32.eq
+ (get_local $6)
+ (get_local $12)
+ )
+ (block
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $5)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ (br_if $do-once115
+ (i32.and
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 1)
+ )
+ (get_local $18)
+ )
+ )
+ (br_if $do-once115
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (block
+ (br_if $do-once115
+ (i32.le_u
+ (get_local $5)
+ (get_local $22)
+ )
+ )
+ (loop $while-in118
+ (i32.store8
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in118
+ (i32.gt_u
+ (get_local $5)
+ (get_local $22)
+ )
+ )
+ )
+ )
+ )
+ )
+ (set_local $8
+ (i32.sub
+ (get_local $42)
+ (get_local $5)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $5)
+ (select
+ (get_local $8)
+ (get_local $7)
+ (i32.gt_s
+ (get_local $7)
+ (get_local $8)
+ )
+ )
+ (get_local $0)
+ )
+ )
+ )
+ (br_if $while-in114
+ (i32.and
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (get_local $9)
+ )
+ (i32.gt_s
+ (tee_local $7
+ (i32.sub
+ (get_local $7)
+ (get_local $8)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ )
+ (set_local $5
+ (get_local $7)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
+ (get_local $5)
+ (i32.const 18)
+ )
+ (i32.const 18)
+ (i32.const 0)
+ )
+ (br_if $do-once99
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $19)
+ (i32.sub
+ (get_local $27)
+ (get_local $19)
+ )
+ (get_local $0)
+ )
+ )
)
)
- )
- (f64.const 0.5)
- (select
- (f64.const 1)
- (f64.const 1.5)
- (i32.and
- (get_local $38)
- (i32.eq
- (get_local $13)
- (get_local $51)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (get_local $13)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
)
)
- )
- )
- )
- (set_local $23
- (select
- (f64.const 9007199254740994)
- (f64.const 9007199254740992)
- (i32.and
- (get_local $50)
- (i32.const 1)
- )
- )
- )
- (if
- (get_local $26)
- (if
- (i32.eq
- (i32.load8_s
- (get_local $30)
+ (select
+ (get_local $15)
+ (get_local $13)
+ (i32.lt_s
+ (get_local $13)
+ (get_local $15)
+ )
)
- (i32.const 45)
)
- (block
- (set_local $23
- (f64.neg
- (get_local $23)
+ (block (result i32)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (tee_local $7
+ (i32.add
+ (tee_local $9
+ (select
+ (i32.const 0)
+ (get_local $26)
+ (tee_local $6
+ (f64.ne
+ (get_local $16)
+ (get_local $16)
+ )
+ )
+ )
+ )
+ (i32.const 3)
+ )
)
+ (get_local $8)
)
- (set_local $16
- (f64.neg
- (get_local $16)
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $5
+ (i32.load
+ (get_local $0)
+ )
+ )
+ (i32.const 32)
+ )
+ )
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $30)
+ (get_local $9)
+ (get_local $0)
+ )
+ )
+ (set_local $5
+ (i32.load
+ (get_local $0)
+ )
+ )
)
)
- )
- )
- )
- (i32.store
- (get_local $6)
- (tee_local $13
- (i32.sub
- (get_local $24)
- (get_local $13)
- )
- )
- )
- (br_if $do-once81
- (f64.eq
- (f64.add
- (get_local $23)
- (get_local $16)
- )
- (get_local $23)
- )
- )
- (i32.store
- (get_local $6)
- (tee_local $7
- (i32.add
- (get_local $13)
- (get_local $12)
- )
- )
- )
- (if
- (i32.gt_u
- (get_local $7)
- (i32.const 999999999)
- )
- (loop $while-in86
- (i32.store
- (get_local $6)
- (i32.const 0)
- )
- (if
- (i32.lt_u
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -4)
+ (set_local $6
+ (select
+ (select
+ (i32.const 4135)
+ (i32.const 4139)
+ (tee_local $8
+ (i32.ne
+ (i32.and
+ (get_local $19)
+ (i32.const 32)
+ )
+ (i32.const 0)
+ )
+ )
)
+ (select
+ (i32.const 4127)
+ (i32.const 4131)
+ (get_local $8)
+ )
+ (get_local $6)
)
- (get_local $5)
)
- (i32.store
- (tee_local $5
- (i32.add
+ (if
+ (i32.eqz
+ (i32.and
(get_local $5)
- (i32.const -4)
+ (i32.const 32)
)
)
- (i32.const 0)
- )
- )
- (i32.store
- (get_local $6)
- (tee_local $7
- (i32.add
- (i32.load
+ (drop
+ (call $___fwritex
(get_local $6)
+ (i32.const 3)
+ (get_local $0)
)
- (i32.const 1)
)
)
- )
- (br_if $while-in86
- (i32.gt_u
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
(get_local $7)
- (i32.const 999999999)
- )
- )
- )
- )
- (set_local $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $21)
- (get_local $5)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
)
- (i32.const 2)
- )
- (i32.const 9)
- )
- )
- (br_if $do-once81
- (i32.lt_u
- (tee_local $13
- (i32.load
- (get_local $5)
+ (select
+ (get_local $15)
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (get_local $15)
+ )
)
)
- (i32.const 10)
)
)
- (set_local $12
- (i32.const 10)
+ (set_local $5
+ (get_local $10)
)
- (loop $while-in88
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 1)
- )
- )
- (br_if $while-in88
- (i32.ge_u
- (get_local $13)
- (tee_local $12
- (i32.mul
- (get_local $12)
- (i32.const 10)
- )
- )
- )
- )
+ (set_local $10
+ (get_local $7)
)
+ (br $label$continue$L1)
)
- )
- (set_local $12
- (get_local $5)
- )
- (set_local $13
- (get_local $7)
- )
- (select
- (tee_local $5
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
+ (set_local $12
+ (get_local $6)
)
- (get_local $9)
- (i32.gt_u
- (get_local $9)
- (get_local $5)
+ (set_local $8
+ (i32.const 0)
)
- )
- )
- (block (result i32)
- (set_local $12
- (get_local $5)
- )
- (set_local $13
- (get_local $7)
- )
- (get_local $9)
- )
- )
- )
- (set_local $9
- (loop $while-in90 (result i32)
- (block $while-out89 (result i32)
- (if
- (i32.le_u
- (get_local $5)
- (get_local $12)
+ (set_local $9
+ (i32.const 4091)
)
- (block
- (set_local $24
- (i32.const 0)
- )
- (br $while-out89
- (get_local $5)
- )
+ (br $__rjto$8
+ (get_local $25)
)
)
- (if (result i32)
- (i32.load
+ (set_local $9
+ (i32.and
+ (get_local $19)
+ (i32.const 32)
+ )
+ )
+ (if
+ (i32.or
(tee_local $7
- (i32.add
- (get_local $5)
- (i32.const -4)
+ (i32.load
+ (get_local $14)
)
)
- )
- (block (result i32)
- (set_local $24
- (i32.const 1)
+ (tee_local $11
+ (i32.load offset=4
+ (get_local $14)
+ )
)
- (get_local $5)
)
(block
- (set_local $5
- (get_local $7)
- )
- (br $while-in90)
- )
- )
- )
- )
- )
- (set_local $5
- (if (result i32)
- (get_local $37)
- (block $do-once91 (result i32)
- (set_local $7
- (if (result i32)
- (i32.and
- (i32.gt_s
- (tee_local $5
- (i32.add
- (i32.xor
- (get_local $31)
- (i32.const 1)
- )
- (get_local $18)
- )
- )
- (get_local $13)
- )
- (i32.gt_s
- (get_local $13)
- (i32.const -5)
- )
+ (set_local $8
+ (get_local $25)
)
- (block (result i32)
- (set_local $18
- (i32.sub
+ (loop $while-in123
+ (i32.store8
+ (tee_local $8
(i32.add
- (get_local $5)
+ (get_local $8)
(i32.const -1)
)
- (get_local $13)
- )
- )
- (i32.add
- (get_local $19)
- (i32.const -1)
- )
- )
- (block (result i32)
- (set_local $18
- (i32.add
- (get_local $5)
- (i32.const -1)
)
- )
- (i32.add
- (get_local $19)
- (i32.const -2)
- )
- )
- )
- )
- (if
- (tee_local $5
- (i32.and
- (get_local $11)
- (i32.const 8)
- )
- )
- (block
- (set_local $21
- (get_local $5)
- )
- (br $do-once91
- (get_local $18)
- )
- )
- )
- (if
- (get_local $24)
- (block $do-once93
- (if
- (i32.eqz
- (tee_local $19
- (i32.load
+ (i32.or
+ (get_local $9)
+ (i32.load8_u
(i32.add
- (get_local $9)
- (i32.const -4)
+ (i32.and
+ (get_local $7)
+ (i32.const 15)
+ )
+ (i32.const 4075)
)
)
)
)
- (block
- (set_local $5
- (i32.const 9)
+ (br_if $while-in123
+ (i32.or
+ (tee_local $7
+ (call $_bitshift64Lshr
+ (get_local $7)
+ (get_local $11)
+ (i32.const 4)
+ )
+ )
+ (tee_local $11
+ (get_global $tempRet0)
+ )
)
- (br $do-once93)
)
)
- (set_local $5
+ (set_local $7
+ (get_local $8)
+ )
+ (set_local $8
(if (result i32)
- (call $i32u-rem
- (get_local $19)
- (i32.const 10)
- )
- (block
- (set_local $5
- (i32.const 0)
+ (i32.or
+ (i32.eqz
+ (i32.or
+ (i32.load
+ (get_local $14)
+ )
+ (i32.load offset=4
+ (get_local $14)
+ )
+ )
+ )
+ (i32.eqz
+ (i32.and
+ (get_local $5)
+ (i32.const 8)
+ )
)
- (br $do-once93)
)
(block (result i32)
- (set_local $6
- (i32.const 10)
+ (set_local $9
+ (i32.const 4091)
)
(i32.const 0)
)
- )
- )
- (loop $while-in96
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
- )
- )
- (br_if $while-in96
- (i32.eqz
- (call $i32u-rem
- (get_local $19)
- (tee_local $6
- (i32.mul
- (get_local $6)
- (i32.const 10)
+ (block (result i32)
+ (set_local $9
+ (i32.add
+ (i32.shr_s
+ (get_local $19)
+ (i32.const 4)
)
+ (i32.const 4091)
)
)
+ (i32.const 2)
)
)
)
)
- (set_local $5
- (i32.const 9)
- )
- )
- (set_local $6
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $9)
- (get_local $21)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- (i32.const -9)
- )
- )
- (if (result i32)
- (i32.eq
- (i32.or
- (get_local $7)
- (i32.const 32)
+ (block
+ (set_local $7
+ (get_local $25)
)
- (i32.const 102)
- )
- (block (result i32)
- (set_local $21
+ (set_local $8
(i32.const 0)
)
- (select
- (get_local $18)
- (tee_local $5
- (select
- (i32.const 0)
- (tee_local $5
- (i32.sub
- (get_local $6)
- (get_local $5)
- )
- )
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- )
- )
- (i32.lt_s
- (get_local $18)
- (get_local $5)
- )
+ (set_local $9
+ (i32.const 4091)
)
)
- (block (result i32)
- (set_local $21
- (i32.const 0)
- )
- (select
- (get_local $18)
- (tee_local $5
- (select
- (i32.const 0)
- (tee_local $5
- (i32.sub
- (i32.add
- (get_local $6)
- (get_local $13)
- )
- (get_local $5)
- )
- )
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- )
- )
- (i32.lt_s
- (get_local $18)
- (get_local $5)
- )
- )
+ )
+ (br $__rjti$8)
+ )
+ (set_local $7
+ (call $_fmt_u
+ (get_local $5)
+ (get_local $7)
+ (get_local $25)
+ )
+ )
+ (set_local $5
+ (get_local $11)
+ )
+ (br $__rjti$8)
+ )
+ (set_local $19
+ (i32.eqz
+ (tee_local $13
+ (call $_memchr
+ (get_local $7)
+ (get_local $6)
)
)
)
- (block (result i32)
- (set_local $21
- (i32.and
- (get_local $11)
- (i32.const 8)
+ )
+ (set_local $11
+ (get_local $8)
+ )
+ (set_local $12
+ (select
+ (get_local $6)
+ (i32.sub
+ (get_local $13)
+ (tee_local $5
+ (get_local $7)
)
)
- (set_local $7
- (get_local $19)
+ (get_local $19)
+ )
+ )
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjto$8
+ (select
+ (i32.add
+ (get_local $5)
+ (get_local $6)
)
- (get_local $18)
+ (get_local $13)
+ (get_local $19)
)
)
)
+ (set_local $5
+ (i32.const 0)
+ )
+ (set_local $7
+ (i32.const 0)
+ )
(set_local $6
- (i32.sub
- (i32.const 0)
- (get_local $13)
+ (i32.load
+ (get_local $14)
)
)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (tee_local $13
- (i32.add
- (i32.add
- (i32.add
- (i32.add
- (get_local $26)
- (i32.const 1)
- )
- (get_local $5)
- )
- (i32.ne
- (tee_local $31
- (i32.or
- (get_local $5)
- (get_local $21)
- )
+ (loop $while-in125
+ (block $while-out124
+ (br_if $while-out124
+ (i32.eqz
+ (tee_local $9
+ (i32.load
+ (get_local $6)
)
- (i32.const 0)
)
)
- (if (result i32)
- (tee_local $18
- (i32.eq
- (i32.or
- (get_local $7)
- (i32.const 32)
+ )
+ (br_if $while-out124
+ (i32.or
+ (i32.lt_s
+ (tee_local $7
+ (call $_wctomb
+ (get_local $35)
+ (get_local $9)
)
- (i32.const 102)
)
+ (i32.const 0)
)
- (block (result i32)
- (set_local $19
- (i32.const 0)
- )
- (select
- (get_local $13)
- (i32.const 0)
- (i32.gt_s
- (get_local $13)
- (i32.const 0)
- )
+ (i32.gt_u
+ (get_local $7)
+ (i32.sub
+ (get_local $8)
+ (get_local $5)
)
)
- (block (result i32)
- (if
- (i32.lt_s
- (i32.sub
- (get_local $27)
- (tee_local $6
- (call $_fmt_u
- (tee_local $6
- (select
- (get_local $6)
- (get_local $13)
- (i32.lt_s
- (get_local $13)
- (i32.const 0)
- )
- )
- )
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- (get_local $32)
- )
- )
- )
- (i32.const 2)
- )
- (loop $while-in98
- (i32.store8
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in98
- (i32.lt_s
- (i32.sub
- (get_local $27)
- (get_local $6)
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.store8
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $13)
- (i32.const 31)
- )
- (i32.const 2)
- )
- (i32.const 43)
- )
- )
- (i32.store8
- (tee_local $19
- (i32.add
- (get_local $6)
- (i32.const -2)
- )
- )
+ )
+ )
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (br_if $while-in125
+ (i32.gt_u
+ (get_local $8)
+ (tee_local $5
+ (i32.add
+ (get_local $5)
(get_local $7)
)
- (i32.sub
- (get_local $27)
- (get_local $19)
- )
)
)
)
)
- (get_local $11)
)
(if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 0)
)
- (drop
- (call $___fwritex
- (get_local $30)
- (get_local $26)
- (get_local $0)
+ (block
+ (set_local $17
+ (i32.const -1)
)
+ (br $label$break$L1)
)
)
(call $_pad
(get_local $0)
- (i32.const 48)
+ (i32.const 32)
(get_local $15)
- (get_local $13)
- (i32.xor
- (get_local $11)
- (i32.const 65536)
- )
+ (get_local $5)
+ (get_local $11)
)
- (if
- (get_local $18)
- (block
+ (if (result i32)
+ (get_local $5)
+ (block (result i32)
(set_local $6
- (tee_local $12
- (select
- (get_local $8)
- (get_local $12)
- (i32.gt_u
- (get_local $12)
- (get_local $8)
- )
- )
- )
+ (i32.const 0)
)
- (loop $while-in102
- (set_local $7
- (call $_fmt_u
- (i32.load
- (get_local $6)
- )
- (i32.const 0)
- (get_local $29)
- )
+ (set_local $7
+ (i32.load
+ (get_local $14)
)
- (block $do-once103
- (if
- (i32.eq
- (get_local $6)
- (get_local $12)
- )
- (block
- (br_if $do-once103
- (i32.ne
+ )
+ (loop $while-in127
+ (drop
+ (br_if $__rjti$7
+ (get_local $5)
+ (i32.eqz
+ (tee_local $8
+ (i32.load
(get_local $7)
- (get_local $29)
)
)
- (i32.store8
- (get_local $33)
- (i32.const 48)
- )
- (set_local $7
- (get_local $33)
- )
)
- (block
- (br_if $do-once103
- (i32.le_u
- (get_local $7)
- (get_local $22)
- )
- )
- (loop $while-in106
- (i32.store8
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const -1)
+ )
+ )
+ (drop
+ (br_if $__rjti$7
+ (get_local $5)
+ (i32.gt_s
+ (tee_local $6
+ (i32.add
+ (tee_local $8
+ (call $_wctomb
+ (get_local $35)
+ (get_local $8)
)
)
- (i32.const 48)
- )
- (br_if $while-in106
- (i32.gt_u
- (get_local $7)
- (get_local $22)
- )
+ (get_local $6)
)
)
+ (get_local $5)
)
)
)
@@ -5738,972 +6598,123 @@
)
(drop
(call $___fwritex
- (get_local $7)
- (i32.sub
- (get_local $43)
- (get_local $7)
- )
- (get_local $0)
- )
- )
- )
- (if
- (i32.le_u
- (tee_local $7
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
- (get_local $8)
- )
- (block
- (set_local $6
- (get_local $7)
- )
- (br $while-in102)
- )
- )
- )
- (if
- (get_local $31)
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
+ (get_local $35)
+ (get_local $8)
(get_local $0)
)
)
)
- )
- (if
- (i32.and
- (i32.gt_s
- (get_local $5)
- (i32.const 0)
- )
- (i32.lt_u
- (get_local $7)
- (get_local $9)
- )
- )
- (loop $while-in110
- (if
- (i32.gt_u
- (tee_local $6
- (call $_fmt_u
- (i32.load
- (get_local $7)
- )
- (i32.const 0)
- (get_local $29)
- )
- )
- (get_local $22)
- )
- (loop $while-in112
- (i32.store8
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in112
- (i32.gt_u
- (get_local $6)
- (get_local $22)
- )
- )
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $6)
- (select
- (i32.const 9)
- (get_local $5)
- (i32.gt_s
- (get_local $5)
- (i32.const 9)
- )
- )
- (get_local $0)
- )
- )
- )
- (set_local $6
- (i32.add
- (get_local $5)
- (i32.const -9)
- )
- )
- (set_local $5
- (if (result i32)
- (i32.and
- (i32.gt_s
- (get_local $5)
- (i32.const 9)
- )
- (i32.lt_u
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (get_local $9)
- )
- )
- (block
- (set_local $5
- (get_local $6)
- )
- (br $while-in110)
- )
- (get_local $6)
- )
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $5)
- (i32.const 9)
- )
- (i32.const 9)
- (i32.const 0)
- )
- )
- (block $do-once99
- (set_local $9
- (select
- (get_local $9)
+ (set_local $7
(i32.add
- (get_local $12)
+ (get_local $7)
(i32.const 4)
)
- (get_local $24)
)
- )
- (if
- (i32.gt_s
- (get_local $5)
- (i32.const -1)
- )
- (block
- (set_local $18
- (i32.eqz
- (get_local $21)
- )
- )
- (set_local $6
- (get_local $12)
- )
- (set_local $7
+ (br_if $while-in127
+ (i32.lt_u
+ (get_local $6)
(get_local $5)
)
- (loop $while-in114
- (if
- (i32.eq
- (tee_local $5
- (call $_fmt_u
- (i32.load
- (get_local $6)
- )
- (i32.const 0)
- (get_local $29)
- )
- )
- (get_local $29)
- )
- (block
- (i32.store8
- (get_local $33)
- (i32.const 48)
- )
- (set_local $5
- (get_local $33)
- )
- )
- )
- (block $do-once115
- (if
- (i32.eq
- (get_local $6)
- (get_local $12)
- )
- (block
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $5)
- (i32.const 1)
- (get_local $0)
- )
- )
- )
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
- )
- )
- (br_if $do-once115
- (i32.and
- (get_local $18)
- (i32.lt_s
- (get_local $7)
- (i32.const 1)
- )
- )
- )
- (br_if $do-once115
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $0)
- )
- )
- )
- (block
- (br_if $do-once115
- (i32.le_u
- (get_local $5)
- (get_local $22)
- )
- )
- (loop $while-in118
- (i32.store8
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in118
- (i32.gt_u
- (get_local $5)
- (get_local $22)
- )
- )
- )
- )
- )
- )
- (set_local $8
- (i32.sub
- (get_local $43)
- (get_local $5)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $5)
- (select
- (get_local $8)
- (get_local $7)
- (i32.gt_s
- (get_local $7)
- (get_local $8)
- )
- )
- (get_local $0)
- )
- )
- )
- (br_if $while-in114
- (i32.and
- (i32.lt_u
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
- (get_local $9)
- )
- (i32.gt_s
- (tee_local $7
- (i32.sub
- (get_local $7)
- (get_local $8)
- )
- )
- (i32.const -1)
- )
- )
- )
- )
- (set_local $5
- (get_local $7)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $5)
- (i32.const 18)
- )
- (i32.const 18)
- (i32.const 0)
- )
- (br_if $do-once99
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $19)
- (i32.sub
- (get_local $27)
- (get_local $19)
- )
- (get_local $0)
- )
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (get_local $13)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (select
- (get_local $15)
- (get_local $13)
- (i32.lt_s
- (get_local $13)
- (get_local $15)
- )
- )
- )
- (block (result i32)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (tee_local $7
- (i32.add
- (tee_local $9
- (select
- (i32.const 0)
- (get_local $26)
- (tee_local $6
- (f64.ne
- (get_local $16)
- (get_local $16)
- )
- )
- )
- )
- (i32.const 3)
- )
- )
- (get_local $8)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $5
- (i32.load
- (get_local $0)
- )
)
- (i32.const 32)
)
+ (get_local $5)
)
- (block
- (drop
- (call $___fwritex
- (get_local $30)
- (get_local $9)
- (get_local $0)
- )
- )
- (set_local $5
- (i32.load
- (get_local $0)
- )
- )
- )
- )
- (set_local $6
- (select
- (select
- (i32.const 4135)
- (i32.const 4139)
- (tee_local $8
- (i32.ne
- (i32.and
- (get_local $19)
- (i32.const 32)
- )
- (i32.const 0)
- )
- )
- )
- (select
- (i32.const 4127)
- (i32.const 4131)
- (get_local $8)
- )
- (get_local $6)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (get_local $5)
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $6)
- (i32.const 3)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (select
- (get_local $15)
- (get_local $7)
- (i32.lt_s
- (get_local $7)
- (get_local $15)
- )
+ (i32.const 0)
)
)
)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
)
(set_local $5
(get_local $10)
)
(set_local $10
- (get_local $7)
+ (select
+ (get_local $15)
+ (get_local $7)
+ (i32.gt_s
+ (get_local $15)
+ (get_local $7)
+ )
+ )
)
(br $label$continue$L1)
)
- (set_local $12
- (get_local $6)
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjto$8
- (get_local $25)
- )
- )
- (set_local $9
- (i32.and
- (get_local $19)
- (i32.const 32)
- )
- )
- (if
- (i32.or
- (tee_local $7
- (i32.load
- (get_local $14)
+ (set_local $11
+ (select
+ (i32.and
+ (get_local $5)
+ (i32.const -65537)
)
- )
- (tee_local $11
- (i32.load offset=4
- (get_local $14)
+ (get_local $5)
+ (i32.gt_s
+ (get_local $6)
+ (i32.const -1)
)
)
)
- (block
- (set_local $8
- (get_local $25)
- )
- (loop $while-in123
- (i32.store8
- (tee_local $8
- (i32.add
- (get_local $8)
- (i32.const -1)
- )
- )
+ (if (result i32)
+ (i32.or
+ (get_local $6)
+ (tee_local $5
(i32.or
- (i32.load8_u
- (i32.add
- (i32.and
- (get_local $7)
- (i32.const 15)
- )
- (i32.const 4075)
+ (i32.ne
+ (i32.load
+ (get_local $14)
)
+ (i32.const 0)
)
- (get_local $9)
- )
- )
- (br_if $while-in123
- (i32.or
- (tee_local $7
- (call $_bitshift64Lshr
- (get_local $7)
- (get_local $11)
- (i32.const 4)
+ (i32.ne
+ (i32.load offset=4
+ (get_local $14)
)
- )
- (tee_local $11
- (get_global $tempRet0)
+ (i32.const 0)
)
)
)
)
- (set_local $7
- (get_local $8)
- )
- (set_local $8
- (if (result i32)
- (i32.or
- (i32.eqz
- (i32.and
- (get_local $5)
- (i32.const 8)
- )
- )
- (i32.eqz
- (i32.or
- (i32.load
- (get_local $14)
+ (block (result i32)
+ (set_local $12
+ (select
+ (get_local $6)
+ (tee_local $7
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $5)
+ (i32.const 1)
+ )
+ (i32.const 1)
)
- (i32.load offset=4
- (get_local $14)
+ (i32.sub
+ (get_local $38)
+ (tee_local $5
+ (get_local $7)
+ )
)
)
)
- )
- (block (result i32)
- (set_local $9
- (i32.const 4091)
- )
- (i32.const 0)
- )
- (block (result i32)
- (set_local $9
- (i32.add
- (i32.shr_s
- (get_local $19)
- (i32.const 4)
- )
- (i32.const 4091)
- )
+ (i32.gt_s
+ (get_local $6)
+ (get_local $7)
)
- (i32.const 2)
)
)
- )
- )
- (block
- (set_local $7
(get_local $25)
)
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- )
- )
- (br $__rjti$8)
- )
- (set_local $7
- (call $_fmt_u
- (get_local $5)
- (get_local $7)
- (get_local $25)
- )
- )
- (set_local $5
- (get_local $11)
- )
- (br $__rjti$8)
- )
- (set_local $19
- (i32.eqz
- (tee_local $13
- (call $_memchr
- (get_local $7)
- (get_local $6)
- )
- )
- )
- )
- (set_local $11
- (get_local $8)
- )
- (set_local $12
- (select
- (get_local $6)
- (i32.sub
- (get_local $13)
- (tee_local $5
- (get_local $7)
- )
- )
- (get_local $19)
- )
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjto$8
- (select
- (i32.add
- (get_local $5)
- (get_local $6)
- )
- (get_local $13)
- (get_local $19)
- )
- )
- )
- (set_local $5
- (i32.const 0)
- )
- (set_local $7
- (i32.const 0)
- )
- (set_local $6
- (i32.load
- (get_local $14)
- )
- )
- (loop $while-in125
- (block $while-out124
- (br_if $while-out124
- (i32.eqz
- (tee_local $9
- (i32.load
- (get_local $6)
- )
- )
- )
- )
- (br_if $while-out124
- (i32.or
- (i32.lt_s
- (tee_local $7
- (call $_wctomb
- (get_local $35)
- (get_local $9)
- )
- )
- (i32.const 0)
- )
- (i32.gt_u
- (get_local $7)
- (i32.sub
- (get_local $8)
- (get_local $5)
- )
- )
- )
- )
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
- (br_if $while-in125
- (i32.gt_u
- (get_local $8)
- (tee_local $5
- (i32.add
- (get_local $7)
- (get_local $5)
- )
- )
- )
- )
- )
- )
- (if
- (i32.lt_s
- (get_local $7)
- (i32.const 0)
- )
- (block
- (set_local $17
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (get_local $5)
- (get_local $11)
- )
- (if (result i32)
- (get_local $5)
- (block (result i32)
- (set_local $6
- (i32.const 0)
- )
- (set_local $7
- (i32.load
- (get_local $14)
- )
- )
- (loop $while-in127
- (drop
- (br_if $__rjti$7
- (get_local $5)
- (i32.eqz
- (tee_local $8
- (i32.load
- (get_local $7)
- )
- )
- )
- )
- )
- (drop
- (br_if $__rjti$7
- (get_local $5)
- (i32.gt_s
- (tee_local $6
- (i32.add
- (tee_local $8
- (call $_wctomb
- (get_local $35)
- (get_local $8)
- )
- )
- (get_local $6)
- )
+ (block (result i32)
+ (set_local $12
+ (i32.const 0)
)
- (get_local $5)
- )
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
+ (tee_local $5
+ (get_local $25)
)
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $35)
- (get_local $8)
- (get_local $0)
)
)
)
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (br_if $while-in127
- (i32.lt_u
- (get_local $6)
- (get_local $5)
- )
- )
- )
- (get_local $5)
- )
- (i32.const 0)
- )
- )
- )
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (select
- (get_local $15)
- (get_local $7)
- (i32.gt_s
- (get_local $15)
- (get_local $7)
- )
- )
- )
- (br $label$continue$L1)
- )
- (set_local $11
- (select
- (i32.and
- (get_local $5)
- (i32.const -65537)
- )
- (get_local $5)
- (i32.gt_s
- (get_local $6)
- (i32.const -1)
- )
- )
- )
- (if (result i32)
- (i32.or
- (get_local $6)
- (tee_local $5
- (i32.or
- (i32.ne
- (i32.load
- (get_local $14)
- )
- (i32.const 0)
- )
- (i32.ne
- (i32.load offset=4
- (get_local $14)
- )
- (i32.const 0)
- )
- )
- )
- )
- (block (result i32)
- (set_local $12
- (select
- (get_local $6)
- (tee_local $7
- (i32.add
- (i32.xor
- (i32.and
- (get_local $5)
- (i32.const 1)
- )
- (i32.const 1)
- )
- (i32.sub
- (get_local $39)
- (tee_local $5
- (get_local $7)
- )
- )
- )
- )
- (i32.gt_s
- (get_local $6)
- (get_local $7)
- )
- )
- )
- (get_local $25)
- )
- (block (result i32)
- (set_local $12
- (i32.const 0)
- )
- (tee_local $5
- (get_local $25)
- )
- )
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (tee_local $7
- (select
- (tee_local $6
- (i32.add
- (get_local $8)
- (tee_local $12
- (select
- (tee_local $13
- (i32.sub
- (get_local $7)
(get_local $5)
)
)
@@ -6714,6 +6725,7 @@
)
)
)
+ (get_local $8)
)
)
(get_local $15)
@@ -6813,22 +6825,22 @@
(tee_local $1
(i32.load
(i32.add
- (get_local $4)
(i32.shl
(get_local $0)
(i32.const 2)
)
+ (get_local $4)
)
)
)
(block
(call $_pop_arg_336
(i32.add
- (get_local $3)
(i32.shl
(get_local $0)
(i32.const 3)
)
+ (get_local $3)
)
(get_local $1)
(get_local $2)
@@ -6860,11 +6872,11 @@
(if
(i32.load
(i32.add
- (get_local $4)
(i32.shl
(get_local $0)
(i32.const 2)
)
+ (get_local $4)
)
)
(block
@@ -7308,10 +7320,6 @@
(local $4 i32)
(if
(i32.or
- (i32.gt_u
- (get_local $1)
- (i32.const 0)
- )
(i32.and
(i32.eqz
(get_local $1)
@@ -7321,6 +7329,10 @@
(i32.const -1)
)
)
+ (i32.gt_u
+ (get_local $1)
+ (i32.const 0)
+ )
)
(loop $while-in
(i32.store8
@@ -7354,10 +7366,6 @@
(set_local $0
(if (result i32)
(i32.or
- (i32.gt_u
- (get_local $1)
- (i32.const 9)
- )
(i32.and
(i32.eq
(get_local $1)
@@ -7368,6 +7376,10 @@
(i32.const -1)
)
)
+ (i32.gt_u
+ (get_local $1)
+ (i32.const 9)
+ )
)
(block
(set_local $0
@@ -7448,16 +7460,16 @@
)
(if
(i32.and
- (i32.gt_s
- (get_local $2)
- (get_local $3)
- )
(i32.eqz
(i32.and
(get_local $4)
(i32.const 73728)
)
)
+ (i32.gt_s
+ (get_local $2)
+ (get_local $3)
+ )
)
(block $do-once
(drop
@@ -7630,48 +7642,47 @@
(i32.const 3)
)
(block
- (set_local $11
- (i32.load
- (tee_local $1
- (i32.add
- (tee_local $7
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $2
+ (if
+ (i32.eq
+ (tee_local $7
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (tee_local $11
+ (i32.load
+ (tee_local $3
(i32.add
- (i32.shl
- (tee_local $4
- (i32.add
- (i32.xor
- (i32.and
- (get_local $10)
- (i32.const 1)
+ (tee_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $4
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $10)
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (get_local $13)
)
- (i32.const 1)
)
- (get_local $13)
+ (i32.const 3)
)
+ (i32.const 216)
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
- )
- )
- (if
- (i32.eq
(get_local $2)
- (get_local $11)
)
(i32.store
(i32.const 176)
@@ -7689,7 +7700,7 @@
(block
(if
(i32.lt_u
- (get_local $11)
+ (get_local $7)
(i32.load
(i32.const 192)
)
@@ -7698,15 +7709,15 @@
)
(if
(i32.eq
+ (get_local $11)
(i32.load
(tee_local $0
(i32.add
- (get_local $11)
+ (get_local $7)
(i32.const 12)
)
)
)
- (get_local $7)
)
(block
(i32.store
@@ -7715,7 +7726,7 @@
)
(i32.store
(get_local $3)
- (get_local $11)
+ (get_local $7)
)
)
(call $_abort)
@@ -7723,7 +7734,7 @@
)
)
(i32.store offset=4
- (get_local $7)
+ (get_local $11)
(i32.or
(tee_local $0
(i32.shl
@@ -7738,8 +7749,8 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $7)
(get_local $0)
+ (get_local $11)
)
(i32.const 4)
)
@@ -7769,77 +7780,108 @@
(if
(get_local $10)
(block
- (set_local $7
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.add
- (i32.and
- (tee_local $3
- (i32.and
- (i32.shl
- (get_local $10)
- (get_local $13)
- )
- (i32.or
- (tee_local $3
- (i32.shl
- (i32.const 2)
- (get_local $13)
- )
- )
- (i32.sub
- (i32.const 0)
- (get_local $3)
- )
- )
- )
- )
- (i32.sub
- (i32.const 0)
- (get_local $3)
- )
- )
- (i32.const -1)
- )
- )
- (i32.const 12)
- )
- (i32.const 16)
- )
- )
- (set_local $10
- (i32.load
- (tee_local $4
- (i32.add
- (tee_local $8
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $7
+ (if
+ (i32.eq
+ (tee_local $8
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (tee_local $10
+ (i32.load
+ (tee_local $3
(i32.add
- (i32.shl
- (tee_local $11
- (i32.add
- (i32.or
- (i32.or
+ (tee_local $7
+ (i32.add
+ (i32.shl
+ (tee_local $11
+ (i32.add
(i32.or
(i32.or
+ (i32.or
+ (i32.or
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.add
+ (i32.and
+ (tee_local $3
+ (i32.and
+ (i32.or
+ (tee_local $3
+ (i32.shl
+ (i32.const 2)
+ (get_local $13)
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
+ )
+ )
+ (i32.shl
+ (get_local $10)
+ (get_local $13)
+ )
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ (i32.const 12)
+ )
+ (i32.const 16)
+ )
+ )
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.shr_u
+ (get_local $4)
+ (get_local $3)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.shr_u
+ (get_local $4)
+ (get_local $3)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ )
(tee_local $3
(i32.and
(i32.shr_u
(tee_local $4
(i32.shr_u
+ (get_local $4)
(get_local $3)
- (get_local $7)
)
)
- (i32.const 5)
+ (i32.const 1)
)
- (i32.const 8)
+ (i32.const 2)
)
)
- (get_local $7)
)
(tee_local $3
(i32.and
@@ -7850,67 +7892,34 @@
(get_local $3)
)
)
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $4
- (i32.shr_u
- (get_local $4)
- (get_local $3)
- )
+ (i32.const 1)
)
(i32.const 1)
)
- (i32.const 2)
)
)
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $4
- (i32.shr_u
- (get_local $4)
- (get_local $3)
- )
- )
- (i32.const 1)
- )
- (i32.const 1)
+ (i32.shr_u
+ (get_local $4)
+ (get_local $3)
)
)
)
- (i32.shr_u
- (get_local $4)
- (get_local $3)
- )
+ (i32.const 3)
)
+ (i32.const 216)
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
- )
- )
- (if
- (i32.eq
(get_local $7)
- (get_local $10)
)
(block
(i32.store
@@ -7933,7 +7942,7 @@
(block
(if
(i32.lt_u
- (get_local $10)
+ (get_local $8)
(i32.load
(i32.const 192)
)
@@ -7945,12 +7954,12 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $10)
+ (get_local $8)
(i32.const 12)
)
)
)
- (get_local $8)
+ (get_local $10)
)
(block
(i32.store
@@ -7959,7 +7968,7 @@
)
(i32.store
(get_local $3)
- (get_local $10)
+ (get_local $8)
)
(set_local $9
(i32.load
@@ -7972,7 +7981,7 @@
)
)
(i32.store offset=4
- (get_local $8)
+ (get_local $10)
(i32.or
(get_local $2)
(i32.const 3)
@@ -7981,8 +7990,8 @@
(i32.store offset=4
(tee_local $7
(i32.add
- (get_local $8)
(get_local $2)
+ (get_local $10)
)
)
(i32.or
@@ -8071,8 +8080,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $3)
(get_local $0)
+ (get_local $3)
)
)
(set_local $5
@@ -8124,26 +8133,6 @@
)
)
(block
- (set_local $7
- (i32.and
- (i32.shr_u
- (tee_local $0
- (i32.add
- (i32.and
- (get_local $0)
- (i32.sub
- (i32.const 0)
- (get_local $0)
- )
- )
- (i32.const -1)
- )
- )
- (i32.const 12)
- )
- (i32.const 16)
- )
- )
(set_local $11
(i32.sub
(i32.and
@@ -8160,9 +8149,29 @@
(i32.and
(i32.shr_u
(tee_local $1
+ (i32.add
+ (i32.and
+ (get_local $0)
+ (i32.sub
+ (i32.const 0)
+ (get_local $0)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ (i32.const 12)
+ )
+ (i32.const 16)
+ )
+ )
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $1
(i32.shr_u
+ (get_local $1)
(get_local $0)
- (get_local $7)
)
)
(i32.const 5)
@@ -8170,7 +8179,6 @@
(i32.const 8)
)
)
- (get_local $7)
)
(tee_local $0
(i32.and
@@ -8314,8 +8322,8 @@
(get_local $8)
(tee_local $5
(i32.add
- (get_local $8)
(get_local $2)
+ (get_local $8)
)
)
)
@@ -8439,6 +8447,7 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load
(tee_local $7
(i32.add
@@ -8447,7 +8456,6 @@
)
)
)
- (get_local $8)
)
(call $_abort)
)
@@ -8485,7 +8493,6 @@
(block $do-once8
(if
(i32.eq
- (get_local $8)
(i32.load
(tee_local $0
(i32.add
@@ -8501,6 +8508,7 @@
)
)
)
+ (get_local $8)
)
(block
(i32.store
@@ -8647,8 +8655,8 @@
(i32.or
(tee_local $0
(i32.add
- (get_local $6)
(get_local $2)
+ (get_local $6)
)
)
(i32.const 3)
@@ -8658,8 +8666,8 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $8)
(get_local $0)
+ (get_local $8)
)
(i32.const 4)
)
@@ -8764,8 +8772,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(set_local $12
@@ -8859,83 +8867,87 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $2)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
+ (block (result i32)
+ (set_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
)
+ (i32.const 16)
)
- (get_local $3)
+ (i32.const 8)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (get_local $4)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $2)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (get_local $1)
+ (get_local $4)
)
+ (get_local $3)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $3)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
)
@@ -9003,8 +9015,8 @@
(set_local $1
(if (result i32)
(i32.eq
- (get_local $12)
(get_local $2)
+ (get_local $12)
)
(block
(set_local $1
@@ -9097,15 +9109,20 @@
)
)
)
- (set_local $0
- (i32.const 0)
+ (block
+ (set_local $4
+ (i32.const 0)
+ )
+ (set_local $0
+ (i32.const 0)
+ )
)
)
(if
(i32.eqz
(i32.or
- (get_local $4)
(get_local $0)
+ (get_local $4)
)
)
(block
@@ -9133,26 +9150,6 @@
)
)
)
- (set_local $12
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.add
- (i32.and
- (get_local $1)
- (i32.sub
- (i32.const 0)
- (get_local $1)
- )
- )
- (i32.const -1)
- )
- )
- (i32.const 12)
- )
- (i32.const 16)
- )
- )
(set_local $4
(i32.load offset=480
(i32.shl
@@ -9165,9 +9162,29 @@
(i32.and
(i32.shr_u
(tee_local $4
+ (i32.add
+ (i32.and
+ (get_local $1)
+ (i32.sub
+ (i32.const 0)
+ (get_local $1)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ (i32.const 12)
+ )
+ (i32.const 16)
+ )
+ )
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
(i32.shr_u
+ (get_local $4)
(get_local $1)
- (get_local $12)
)
)
(i32.const 5)
@@ -9175,7 +9192,6 @@
(i32.const 8)
)
)
- (get_local $12)
)
(tee_local $1
(i32.and
@@ -9338,8 +9354,8 @@
(get_local $4)
(tee_local $5
(i32.add
- (get_local $4)
(get_local $2)
+ (get_local $4)
)
)
)
@@ -9463,6 +9479,7 @@
)
(if
(i32.ne
+ (get_local $4)
(i32.load
(tee_local $7
(i32.add
@@ -9471,7 +9488,6 @@
)
)
)
- (get_local $4)
)
(call $_abort)
)
@@ -9509,7 +9525,6 @@
(block $do-once21
(if
(i32.eq
- (get_local $4)
(i32.load
(tee_local $0
(i32.add
@@ -9525,6 +9540,7 @@
)
)
)
+ (get_local $4)
)
(block
(i32.store
@@ -9671,8 +9687,8 @@
(i32.or
(tee_local $0
(i32.add
- (get_local $3)
(get_local $2)
+ (get_local $3)
)
)
(i32.const 3)
@@ -9682,8 +9698,8 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $4)
(get_local $0)
+ (get_local $4)
)
(i32.const 4)
)
@@ -9713,8 +9729,8 @@
)
(i32.store
(i32.add
- (get_local $5)
(get_local $3)
+ (get_local $5)
)
(get_local $3)
)
@@ -9783,8 +9799,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(set_local $13
@@ -9834,83 +9850,87 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $3)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
+ (block (result i32)
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
)
+ (i32.const 16)
)
- (get_local $2)
+ (i32.const 8)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (get_local $7)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $3)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (get_local $1)
+ (get_local $7)
)
+ (get_local $2)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $2)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
)
@@ -9959,8 +9979,8 @@
(i32.store
(i32.const 180)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(i32.store
@@ -10186,8 +10206,8 @@
(i32.const 196)
(tee_local $1
(i32.add
- (get_local $2)
(get_local $0)
+ (get_local $2)
)
)
)
@@ -10237,8 +10257,8 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $2)
)
(i32.const 4)
)
@@ -10279,15 +10299,15 @@
)
(if
(i32.and
- (i32.add
- (tee_local $1
- (call $_sysconf
- (i32.const 30)
- )
+ (tee_local $1
+ (call $_sysconf
+ (i32.const 30)
)
+ )
+ (i32.add
+ (get_local $1)
(i32.const -1)
)
- (get_local $1)
)
(call $_abort)
(block
@@ -10486,33 +10506,36 @@
)
(i32.const 2147483647)
)
- (if
- (i32.eq
- (tee_local $1
- (call $_sbrk
- (get_local $3)
- )
- )
- (i32.add
- (i32.load
- (get_local $4)
- )
- (i32.load
- (get_local $2)
- )
+ (block
+ (set_local $1
+ (call $_sbrk
+ (get_local $3)
)
)
- (br_if $__rjti$13
- (i32.ne
+ (if
+ (i32.eq
+ (i32.add
+ (i32.load
+ (get_local $4)
+ )
+ (i32.load
+ (get_local $2)
+ )
+ )
(get_local $1)
- (i32.const -1)
)
- )
- (block
- (set_local $2
- (get_local $1)
+ (br_if $__rjti$13
+ (i32.ne
+ (get_local $1)
+ (i32.const -1)
+ )
+ )
+ (block
+ (set_local $2
+ (get_local $1)
+ )
+ (br $__rjti$5)
)
- (br $__rjti$5)
)
)
)
@@ -10531,6 +10554,9 @@
(set_local $3
(if (result i32)
(i32.and
+ (tee_local $3
+ (get_local $1)
+ )
(tee_local $2
(i32.add
(tee_local $4
@@ -10541,9 +10567,6 @@
(i32.const -1)
)
)
- (tee_local $3
- (get_local $1)
- )
)
(i32.add
(i32.sub
@@ -10576,14 +10599,14 @@
)
(if
(i32.and
- (i32.gt_u
- (get_local $3)
- (get_local $0)
- )
(i32.lt_u
(get_local $3)
(i32.const 2147483647)
)
+ (i32.gt_u
+ (get_local $3)
+ (get_local $0)
+ )
)
(block
(if
@@ -10607,12 +10630,12 @@
)
(br_if $__rjti$13
(i32.eq
+ (get_local $1)
(tee_local $2
(call $_sbrk
(get_local $3)
)
)
- (get_local $1)
)
)
(br $__rjti$5)
@@ -10634,19 +10657,19 @@
(set_local $3
(if (result i32)
(i32.and
- (i32.gt_u
- (get_local $10)
- (get_local $1)
- )
(i32.and
- (i32.lt_u
- (get_local $1)
- (i32.const 2147483647)
- )
(i32.ne
(get_local $2)
(i32.const -1)
)
+ (i32.lt_u
+ (get_local $1)
+ (i32.const 2147483647)
+ )
+ )
+ (i32.gt_u
+ (get_local $10)
+ (get_local $1)
)
)
(if (result i32)
@@ -10654,15 +10677,15 @@
(tee_local $3
(i32.and
(i32.add
- (i32.sub
- (get_local $9)
- (get_local $1)
- )
(tee_local $3
(i32.load
(i32.const 656)
)
)
+ (i32.sub
+ (get_local $9)
+ (get_local $1)
+ )
)
(i32.sub
(i32.const 0)
@@ -10688,8 +10711,8 @@
(br $label$break$L279)
)
(i32.add
- (get_local $3)
(get_local $1)
+ (get_local $3)
)
)
(get_local $1)
@@ -10807,7 +10830,6 @@
(loop $while-in45
(br_if $__rjti$10
(i32.eq
- (get_local $1)
(i32.add
(tee_local $10
(i32.load
@@ -10825,6 +10847,7 @@
)
)
)
+ (get_local $1)
)
)
(br_if $while-in45
@@ -10861,8 +10884,8 @@
(i32.store
(get_local $4)
(i32.add
- (get_local $6)
(get_local $3)
+ (get_local $6)
)
)
(set_local $2
@@ -10893,13 +10916,13 @@
)
(set_local $1
(i32.add
+ (i32.load
+ (i32.const 188)
+ )
(i32.sub
(get_local $3)
(get_local $1)
)
- (i32.load
- (i32.const 188)
- )
)
)
(i32.store
@@ -10919,8 +10942,8 @@
)
(i32.store offset=4
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $2)
)
(i32.const 40)
)
@@ -11025,12 +11048,11 @@
(i32.add
(tee_local $12
(i32.add
- (get_local $1)
(select
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $1
+ (tee_local $3
(i32.add
(get_local $1)
(i32.const 8)
@@ -11041,10 +11063,11 @@
)
(i32.const 0)
(i32.and
- (get_local $1)
+ (get_local $3)
(i32.const 7)
)
)
+ (get_local $1)
)
)
(get_local $0)
@@ -11091,8 +11114,8 @@
)
(if
(i32.eq
- (get_local $6)
(get_local $5)
+ (get_local $6)
)
(block
(i32.store
@@ -11121,10 +11144,10 @@
(block $do-once48
(if
(i32.eq
- (get_local $6)
(i32.load
(i32.const 196)
)
+ (get_local $6)
)
(block
(i32.store
@@ -11151,8 +11174,8 @@
)
(i32.store
(i32.add
- (get_local $9)
(get_local $0)
+ (get_local $9)
)
(get_local $0)
)
@@ -11262,8 +11285,8 @@
)
(if
(i32.eq
- (get_local $2)
(get_local $0)
+ (get_local $2)
)
(set_local $15
(i32.add
@@ -11434,6 +11457,7 @@
)
(if
(i32.ne
+ (get_local $6)
(i32.load
(tee_local $3
(i32.add
@@ -11442,7 +11466,6 @@
)
)
)
- (get_local $6)
)
(call $_abort)
)
@@ -11482,7 +11505,6 @@
)
(if
(i32.eq
- (get_local $6)
(i32.load
(tee_local $0
(i32.add
@@ -11498,6 +11520,7 @@
)
)
)
+ (get_local $6)
)
(block $do-once59
(i32.store
@@ -11639,8 +11662,8 @@
)
(set_local $7
(i32.add
- (get_local $10)
(get_local $7)
+ (get_local $10)
)
)
(i32.add
@@ -11670,8 +11693,8 @@
)
(i32.store
(i32.add
- (get_local $9)
(get_local $7)
+ (get_local $9)
)
(get_local $7)
)
@@ -11743,8 +11766,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(set_local $16
@@ -11794,83 +11817,87 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $7)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
+ (block (result i32)
+ (set_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
)
+ (i32.const 16)
)
- (get_local $3)
+ (i32.const 8)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (get_local $2)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $7)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (get_local $1)
+ (get_local $2)
)
+ (get_local $3)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $3)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
)
@@ -11919,8 +11946,8 @@
(i32.store
(i32.const 180)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(i32.store
@@ -12194,7 +12221,6 @@
(i32.const 200)
(tee_local $6
(i32.add
- (get_local $1)
(tee_local $4
(select
(i32.and
@@ -12216,6 +12242,7 @@
)
)
)
+ (get_local $1)
)
)
)
@@ -12240,8 +12267,8 @@
)
(i32.store offset=4
(i32.add
- (get_local $6)
(get_local $4)
+ (get_local $6)
)
(i32.const 40)
)
@@ -12328,8 +12355,8 @@
)
(if
(i32.ne
- (get_local $10)
(get_local $5)
+ (get_local $10)
)
(block
(i32.store
@@ -12422,8 +12449,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $3)
(get_local $1)
+ (get_local $3)
)
)
(set_local $17
@@ -12473,83 +12500,87 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $6)
- (i32.add
- (tee_local $1
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $3
- (i32.shl
- (get_local $1)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $1)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
+ (block (result i32)
+ (set_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $1)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $1)
+ (i32.const 1048320)
)
+ (i32.const 16)
)
- (get_local $2)
+ (i32.const 8)
)
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $3
- (i32.shl
- (get_local $3)
- (get_local $1)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $1)
+ (get_local $4)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $6)
+ (i32.add
+ (tee_local $1
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (get_local $3)
+ (get_local $4)
)
+ (get_local $2)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $3)
- (get_local $1)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $2)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $1)
- (i32.const 1)
)
)
)
@@ -12593,8 +12624,8 @@
(i32.store
(i32.const 180)
(i32.or
- (get_local $3)
(get_local $1)
+ (get_local $3)
)
)
(i32.store
@@ -12849,15 +12880,14 @@
)
(i32.store
(i32.const 200)
- (tee_local $2
+ (tee_local $4
(i32.add
- (get_local $1)
- (tee_local $1
+ (tee_local $2
(select
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $1
+ (tee_local $2
(i32.add
(get_local $1)
(i32.const 8)
@@ -12868,11 +12898,12 @@
)
(i32.const 0)
(i32.and
- (get_local $1)
+ (get_local $2)
(i32.const 7)
)
)
)
+ (get_local $1)
)
)
)
@@ -12884,12 +12915,12 @@
(get_local $3)
(i32.const -40)
)
- (get_local $1)
+ (get_local $2)
)
)
)
(i32.store offset=4
- (get_local $2)
+ (get_local $4)
(i32.or
(get_local $1)
(i32.const 1)
@@ -12897,8 +12928,8 @@
)
(i32.store offset=4
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $4)
)
(i32.const 40)
)
@@ -13077,16 +13108,16 @@
)
(set_local $0
(i32.add
- (get_local $7)
(get_local $0)
+ (get_local $7)
)
)
(if
(i32.eq
- (get_local $1)
(i32.load
(i32.const 196)
)
+ (get_local $1)
)
(block
(if
@@ -13136,8 +13167,8 @@
)
(i32.store
(i32.add
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
(get_local $0)
)
@@ -13188,10 +13219,10 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load offset=12
(get_local $2)
)
- (get_local $1)
)
(call $_abort)
)
@@ -13199,8 +13230,8 @@
)
(if
(i32.eq
- (get_local $6)
(get_local $2)
+ (get_local $6)
)
(block
(i32.store
@@ -13229,8 +13260,8 @@
)
(if
(i32.eq
- (get_local $6)
(get_local $3)
+ (get_local $6)
)
(set_local $4
(i32.add
@@ -13405,6 +13436,7 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load
(tee_local $7
(i32.add
@@ -13413,7 +13445,6 @@
)
)
)
- (get_local $1)
)
(call $_abort)
)
@@ -13451,7 +13482,6 @@
(block
(if
(i32.eq
- (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -13467,6 +13497,7 @@
)
)
)
+ (get_local $1)
)
(block
(i32.store
@@ -13702,10 +13733,10 @@
(block
(if
(i32.eq
- (get_local $8)
(i32.load
(i32.const 200)
)
+ (get_local $8)
)
(block
(i32.store
@@ -13752,10 +13783,10 @@
)
(if
(i32.eq
- (get_local $8)
(i32.load
(i32.const 196)
)
+ (get_local $8)
)
(block
(i32.store
@@ -13782,8 +13813,8 @@
)
(i32.store
(i32.add
- (get_local $2)
(get_local $0)
+ (get_local $2)
)
(get_local $0)
)
@@ -13846,10 +13877,10 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load offset=12
(get_local $1)
)
- (get_local $8)
)
(call $_abort)
)
@@ -13857,8 +13888,8 @@
)
(if
(i32.eq
- (get_local $4)
(get_local $1)
+ (get_local $4)
)
(block
(i32.store
@@ -13881,8 +13912,8 @@
)
(if
(i32.eq
- (get_local $4)
(get_local $0)
+ (get_local $4)
)
(set_local $14
(i32.add
@@ -14056,6 +14087,7 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load
(tee_local $1
(i32.add
@@ -14064,7 +14096,6 @@
)
)
)
- (get_local $8)
)
(call $_abort)
)
@@ -14102,7 +14133,6 @@
(block
(if
(i32.eq
- (get_local $8)
(i32.load
(tee_local $0
(i32.add
@@ -14118,6 +14148,7 @@
)
)
)
+ (get_local $8)
)
(block
(i32.store
@@ -14278,10 +14309,10 @@
(set_local $3
(if (result i32)
(i32.eq
- (get_local $2)
(i32.load
(i32.const 196)
)
+ (get_local $2)
)
(block
(i32.store
@@ -14360,8 +14391,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $3)
(get_local $0)
+ (get_local $3)
)
)
(set_local $15
@@ -14411,83 +14442,87 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $3)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $4
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
+ (block (result i32)
+ (set_local $5
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
)
+ (i32.const 16)
)
- (get_local $4)
+ (i32.const 8)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (get_local $5)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $3)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (get_local $1)
+ (get_local $5)
)
+ (get_local $4)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $4)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
)
@@ -14685,8 +14720,8 @@
(i32.store
(i32.const 180)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(i32.store
@@ -14853,11 +14888,11 @@
(i32.or
(i32.or
(i32.or
- (get_local $1)
(i32.shl
(get_local $1)
(i32.const 8)
)
+ (get_local $1)
)
(i32.shl
(get_local $1)
@@ -14940,10 +14975,6 @@
)
(return
(i32.or
- (i32.shr_u
- (get_local $0)
- (get_local $2)
- )
(i32.shl
(i32.and
(get_local $1)
@@ -14960,6 +14991,10 @@
(get_local $2)
)
)
+ (i32.shr_u
+ (get_local $0)
+ (get_local $2)
+ )
)
)
)
@@ -14990,7 +15025,6 @@
)
(i32.shr_u
(i32.and
- (get_local $0)
(i32.shl
(i32.sub
(i32.shl
@@ -15004,6 +15038,7 @@
(get_local $2)
)
)
+ (get_local $0)
)
(i32.sub
(i32.const 32)
diff --git a/test/emcc_hello_world.fromasm.clamp b/test/emcc_hello_world.fromasm.clamp
index 4b46f897c..57d86747f 100644
--- a/test/emcc_hello_world.fromasm.clamp
+++ b/test/emcc_hello_world.fromasm.clamp
@@ -68,8 +68,8 @@
)
(set_global $STACKTOP
(i32.add
- (get_global $STACKTOP)
(get_local $0)
+ (get_global $STACKTOP)
)
)
(set_global $STACKTOP
@@ -765,8 +765,8 @@
)
(set_local $12
(i32.add
- (get_local $3)
(get_local $2)
+ (get_local $3)
)
)
(block $__rjto$1
@@ -835,8 +835,8 @@
)
(br_if $__rjti$0
(i32.eq
- (get_local $12)
(get_local $3)
+ (get_local $12)
)
)
(br_if $__rjti$1
@@ -1024,7 +1024,7 @@
(local $12 i32)
(local $13 i32)
(local $14 i32)
- (set_local $4
+ (set_local $3
(get_global $STACKTOP)
)
(set_global $STACKTOP
@@ -1042,25 +1042,25 @@
)
(set_local $5
(i32.add
- (get_local $4)
+ (get_local $3)
(i32.const 120)
)
)
(set_local $7
- (get_local $4)
+ (get_local $3)
)
(set_local $6
(i32.add
- (get_local $4)
+ (get_local $3)
(i32.const 136)
)
)
(set_local $9
(i32.add
- (tee_local $3
+ (tee_local $4
(tee_local $8
(i32.add
- (get_local $4)
+ (get_local $3)
(i32.const 80)
)
)
@@ -1070,14 +1070,14 @@
)
(loop $do-in
(i32.store
- (get_local $3)
+ (get_local $4)
(i32.const 0)
)
(br_if $do-in
(i32.lt_s
- (tee_local $3
+ (tee_local $4
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.const 4)
)
)
@@ -1164,7 +1164,7 @@
(get_local $6)
)
(i32.store
- (tee_local $9
+ (tee_local $4
(i32.add
(get_local $0)
(i32.const 28)
@@ -1173,7 +1173,7 @@
(get_local $6)
)
(i32.store
- (tee_local $3
+ (tee_local $2
(i32.add
(get_local $0)
(i32.const 20)
@@ -1186,7 +1186,7 @@
(i32.const 80)
)
(i32.store
- (tee_local $2
+ (tee_local $9
(i32.add
(get_local $0)
(i32.const 16)
@@ -1230,7 +1230,7 @@
(get_local $1)
(i32.const -1)
(i32.load
- (get_local $3)
+ (get_local $2)
)
)
)
@@ -1243,15 +1243,15 @@
(i32.const 0)
)
(i32.store
- (get_local $2)
+ (get_local $9)
(i32.const 0)
)
(i32.store
- (get_local $9)
+ (get_local $4)
(i32.const 0)
)
(i32.store
- (get_local $3)
+ (get_local $2)
(i32.const 0)
)
)
@@ -1284,7 +1284,7 @@
)
)
(set_global $STACKTOP
- (get_local $4)
+ (get_local $3)
)
(get_local $0)
)
@@ -1344,15 +1344,18 @@
)
(block
(set_local $3
+ (i32.load offset=36
+ (get_local $2)
+ )
+ )
+ (set_local $3
(call_indirect (type $FUNCSIG$iiii)
(get_local $2)
(get_local $0)
(get_local $1)
(i32.add
(i32.and
- (i32.load offset=36
- (get_local $2)
- )
+ (get_local $3)
(i32.const 7)
)
(i32.const 2)
@@ -1406,6 +1409,11 @@
)
)
)
+ (set_local $4
+ (i32.load offset=36
+ (get_local $2)
+ )
+ )
(br_if $label$break$L5
(i32.lt_u
(call_indirect (type $FUNCSIG$iiii)
@@ -1414,9 +1422,7 @@
(get_local $3)
(i32.add
(i32.and
- (i32.load offset=36
- (get_local $2)
- )
+ (get_local $4)
(i32.const 7)
)
(i32.const 2)
@@ -1465,8 +1471,8 @@
)
(set_local $3
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $2)
)
)
)
@@ -1488,11 +1494,11 @@
(i32.store8
(get_local $2)
(i32.or
+ (get_local $1)
(i32.add
(get_local $1)
(i32.const 255)
)
- (get_local $1)
)
)
(tee_local $0
@@ -1602,10 +1608,6 @@
)
(if
(i32.or
- (i32.lt_u
- (get_local $1)
- (i32.const 55296)
- )
(i32.eq
(i32.and
(get_local $1)
@@ -1613,6 +1615,10 @@
)
(i32.const 57344)
)
+ (i32.lt_u
+ (get_local $1)
+ (i32.const 55296)
+ )
)
(block
(i32.store8
@@ -1951,13 +1957,14 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
+ (local $7 i32)
(tee_local $0
(block $__rjto$0 (result i32)
(block $__rjti$0
(br_if $__rjti$0
(i32.le_u
(i32.load
- (tee_local $1
+ (tee_local $2
(i32.add
(get_local $0)
(i32.const 20)
@@ -1965,7 +1972,7 @@
)
)
(i32.load
- (tee_local $2
+ (tee_local $3
(i32.add
(get_local $0)
(i32.const 28)
@@ -1974,6 +1981,11 @@
)
)
)
+ (set_local $1
+ (i32.load offset=36
+ (get_local $0)
+ )
+ )
(drop
(call_indirect (type $FUNCSIG$iiii)
(get_local $0)
@@ -1981,9 +1993,7 @@
(i32.const 0)
(i32.add
(i32.and
- (i32.load offset=36
- (get_local $0)
- )
+ (get_local $1)
(i32.const 7)
)
(i32.const 2)
@@ -1992,7 +2002,7 @@
)
(br_if $__rjti$0
(i32.load
- (get_local $1)
+ (get_local $2)
)
)
(br $__rjto$0
@@ -2003,7 +2013,7 @@
(i32.lt_u
(tee_local $4
(i32.load
- (tee_local $3
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 4)
@@ -2022,22 +2032,27 @@
)
)
)
- (drop
- (call_indirect (type $FUNCSIG$iiii)
- (get_local $0)
- (i32.sub
- (get_local $4)
- (get_local $6)
+ (block
+ (set_local $7
+ (i32.load offset=40
+ (get_local $0)
)
- (i32.const 1)
- (i32.add
- (i32.and
- (i32.load offset=40
- (get_local $0)
+ )
+ (drop
+ (call_indirect (type $FUNCSIG$iiii)
+ (get_local $0)
+ (i32.sub
+ (get_local $4)
+ (get_local $6)
+ )
+ (i32.const 1)
+ (i32.add
+ (i32.and
+ (get_local $7)
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
@@ -2047,11 +2062,11 @@
(i32.const 0)
)
(i32.store
- (get_local $2)
+ (get_local $3)
(i32.const 0)
)
(i32.store
- (get_local $1)
+ (get_local $2)
(i32.const 0)
)
(i32.store
@@ -2059,7 +2074,7 @@
(i32.const 0)
)
(i32.store
- (get_local $3)
+ (get_local $1)
(i32.const 0)
)
(i32.const 0)
@@ -2252,7 +2267,7 @@
(i32.const 0)
)
)
- (set_local $39
+ (set_local $38
(tee_local $25
(i32.add
(tee_local $5
@@ -2265,15 +2280,15 @@
)
)
)
- (set_local $40
+ (set_local $39
(i32.add
(get_local $5)
(i32.const 39)
)
)
- (set_local $44
+ (set_local $43
(i32.add
- (tee_local $41
+ (tee_local $40
(i32.add
(get_local $14)
(i32.const 8)
@@ -2293,13 +2308,13 @@
(i32.const 12)
)
)
- (set_local $42
+ (set_local $41
(i32.add
(get_local $5)
(i32.const 11)
)
)
- (set_local $45
+ (set_local $44
(i32.sub
(tee_local $27
(get_local $32)
@@ -2314,21 +2329,21 @@
)
)
)
- (set_local $46
+ (set_local $45
(i32.sub
(i32.const -2)
(get_local $36)
)
)
- (set_local $47
+ (set_local $46
(i32.add
(get_local $27)
(i32.const 2)
)
)
- (set_local $49
+ (set_local $48
(i32.add
- (tee_local $48
+ (tee_local $47
(i32.add
(get_local $14)
(i32.const 24)
@@ -2337,7 +2352,7 @@
(i32.const 288)
)
)
- (set_local $43
+ (set_local $42
(tee_local $29
(i32.add
(get_local $22)
@@ -2507,8 +2522,8 @@
)
(if
(i32.ne
- (get_local $10)
(get_local $5)
+ (get_local $10)
)
(block
(set_local $5
@@ -2638,6 +2653,7 @@
)
(set_local $11
(i32.or
+ (get_local $11)
(i32.shl
(i32.const 1)
(i32.add
@@ -2651,7 +2667,6 @@
(i32.const -32)
)
)
- (get_local $11)
)
)
(br_if $while-in4
@@ -2724,11 +2739,11 @@
)
(i32.store
(i32.add
- (get_local $4)
(i32.shl
(get_local $11)
(i32.const 2)
)
+ (get_local $4)
)
(i32.const 10)
)
@@ -2736,7 +2751,6 @@
(i32.load offset=4
(tee_local $6
(i32.add
- (get_local $3)
(i32.shl
(i32.add
(i32.load8_s
@@ -2746,6 +2760,7 @@
)
(i32.const 3)
)
+ (get_local $3)
)
)
)
@@ -2867,11 +2882,11 @@
(loop $while-in8
(set_local $6
(i32.add
+ (get_local $6)
(i32.mul
(get_local $11)
(i32.const 10)
)
- (get_local $6)
)
)
(if
@@ -2995,11 +3010,11 @@
(br_if $label$break$L46
(tee_local $6
(i32.add
+ (get_local $6)
(i32.mul
(get_local $8)
(i32.const 10)
)
- (get_local $6)
)
)
(i32.ge_u
@@ -3057,11 +3072,11 @@
(block
(i32.store
(i32.add
- (get_local $4)
(i32.shl
(get_local $8)
(i32.const 2)
)
+ (get_local $4)
)
(i32.const 10)
)
@@ -3069,7 +3084,6 @@
(i32.load offset=4
(tee_local $6
(i32.add
- (get_local $3)
(i32.shl
(i32.add
(i32.load8_s
@@ -3079,6 +3093,7 @@
)
(i32.const 3)
)
+ (get_local $3)
)
)
)
@@ -3188,6 +3203,7 @@
(tee_local $13
(i32.load8_s
(i32.add
+ (get_local $12)
(i32.add
(i32.mul
(get_local $9)
@@ -3195,7 +3211,6 @@
)
(i32.const 3611)
)
- (get_local $12)
)
)
)
@@ -3265,11 +3280,11 @@
(block
(i32.store
(i32.add
- (get_local $4)
(i32.shl
(get_local $18)
(i32.const 2)
)
+ (get_local $4)
)
(get_local $12)
)
@@ -3277,11 +3292,11 @@
(i32.load offset=4
(tee_local $8
(i32.add
- (get_local $3)
(i32.shl
(get_local $18)
(i32.const 3)
)
+ (get_local $3)
)
)
)
@@ -3349,2431 +3364,3276 @@
)
)
)
- (set_local $7
- (block $__rjto$8 (result i32)
- (block $__rjti$8
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (tee_local $7
- (block $__rjti$7 (result i32)
- (block $__rjti$6
- (block $__rjti$5
- (block $__rjti$4
- (block $__rjti$3
- (block $switch-default120
- (block $switch-case119
- (block $switch-case41
- (block $switch-case40
- (block $switch-case39
- (block $switch-case38
- (block $switch-case37
- (block $switch-case36
- (block $switch-case35
- (block $switch-case33
- (block $switch-case30
- (block $switch-case28
- (block $switch-case27
- (br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case30 $switch-default120
- (i32.sub
- (tee_local $19
- (select
- (i32.and
- (tee_local $12
- (i32.load8_s
- (get_local $19)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (tee_local $7
+ (select
+ (tee_local $6
+ (i32.add
+ (tee_local $12
+ (select
+ (tee_local $13
+ (i32.sub
+ (block $__rjto$8 (result i32)
+ (block $__rjti$8
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (tee_local $7
+ (block $__rjti$7 (result i32)
+ (block $__rjti$6
+ (block $__rjti$5
+ (block $__rjti$4
+ (block $__rjti$3
+ (block $switch-default120
+ (block $switch-case119
+ (block $switch-case41
+ (block $switch-case40
+ (block $switch-case39
+ (block $switch-case38
+ (block $switch-case37
+ (block $switch-case36
+ (block $switch-case35
+ (block $switch-case33
+ (block $switch-case30
+ (block $switch-case28
+ (block $switch-case27
+ (br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case30 $switch-default120
+ (i32.sub
+ (tee_local $19
+ (select
+ (i32.and
+ (tee_local $12
+ (i32.load8_s
+ (get_local $19)
+ )
+ )
+ (i32.const -33)
+ )
+ (get_local $12)
+ (i32.and
+ (i32.eq
+ (i32.and
+ (get_local $12)
+ (i32.const 15)
+ )
+ (i32.const 3)
+ )
+ (i32.ne
+ (get_local $9)
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (i32.const 65)
+ )
+ )
+ )
+ (block $switch-default26
+ (block $switch-case25
+ (block $switch-case24
+ (block $switch-case23
+ (block $switch-case22
+ (block $switch-case21
+ (block $switch-case20
+ (block $switch-case19
+ (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
+ (get_local $9)
+ )
+ )
+ (i32.store
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (tee_local $5
+ (i32.load
+ (get_local $14)
+ )
+ )
+ (get_local $17)
+ )
+ (i32.store offset=4
+ (get_local $5)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $17)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store16
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store8
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (tee_local $5
+ (i32.load
+ (get_local $14)
+ )
+ )
+ (get_local $17)
+ )
+ (i32.store offset=4
+ (get_local $5)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $17)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
)
- )
- (i32.const -33)
- )
- (get_local $12)
- (i32.and
- (i32.ne
- (get_local $9)
- (i32.const 0)
- )
- (i32.eq
- (i32.and
- (get_local $12)
- (i32.const 15)
+ (set_local $5
+ (i32.or
+ (get_local $11)
+ (i32.const 8)
+ )
)
- (i32.const 3)
- )
- )
- )
- )
- (i32.const 65)
- )
- )
- )
- (block $switch-default26
- (block $switch-case25
- (block $switch-case24
- (block $switch-case23
- (block $switch-case22
- (block $switch-case21
- (block $switch-case20
- (block $switch-case19
- (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
- (get_local $9)
+ (set_local $6
+ (select
+ (get_local $6)
+ (i32.const 8)
+ (i32.gt_u
+ (get_local $6)
+ (i32.const 8)
+ )
)
)
- (i32.store
+ (set_local $19
+ (i32.const 120)
+ )
+ (br $__rjti$3)
+ )
+ (set_local $5
+ (get_local $11)
+ )
+ (br $__rjti$3)
+ )
+ (if
+ (i32.or
+ (tee_local $5
(i32.load
(get_local $14)
)
- (get_local $17)
- )
- (set_local $5
- (get_local $10)
)
- (set_local $10
- (get_local $7)
+ (tee_local $7
+ (i32.load offset=4
+ (get_local $14)
+ )
)
- (br $label$continue$L1)
)
- (i32.store
- (i32.load
- (get_local $14)
+ (block
+ (set_local $8
+ (get_local $25)
+ )
+ (loop $while-in32
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $8)
+ (i32.const -1)
+ )
+ )
+ (i32.or
+ (i32.and
+ (get_local $5)
+ (i32.const 7)
+ )
+ (i32.const 48)
+ )
+ )
+ (br_if $while-in32
+ (i32.or
+ (tee_local $5
+ (call $_bitshift64Lshr
+ (get_local $5)
+ (get_local $7)
+ (i32.const 3)
+ )
+ )
+ (tee_local $7
+ (get_global $tempRet0)
+ )
+ )
+ )
)
- (get_local $17)
- )
- (set_local $5
- (get_local $10)
)
- (set_local $10
- (get_local $7)
+ (set_local $8
+ (get_local $25)
)
- (br $label$continue$L1)
)
- (i32.store
- (tee_local $5
- (i32.load
- (get_local $14)
- )
+ (if
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
)
- (get_local $17)
- )
- (i32.store offset=4
- (get_local $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $17)
- (i32.const 0)
+ (block
+ (set_local $5
+ (get_local $11)
+ )
+ (set_local $6
+ (select
+ (tee_local $11
+ (i32.add
+ (i32.sub
+ (get_local $38)
+ (tee_local $7
+ (get_local $8)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (get_local $6)
+ (i32.lt_s
+ (get_local $6)
+ (get_local $11)
+ )
)
- (i32.const 31)
)
- (i32.const 31)
+ )
+ (block
+ (set_local $7
+ (get_local $8)
+ )
+ (set_local $5
+ (get_local $11)
+ )
)
)
- (set_local $5
- (get_local $10)
+ (set_local $8
+ (i32.const 0)
)
- (set_local $10
- (get_local $7)
+ (set_local $9
+ (i32.const 4091)
)
- (br $label$continue$L1)
+ (br $__rjti$8)
)
- (i32.store16
+ (set_local $5
(i32.load
(get_local $14)
)
- (get_local $17)
)
- (set_local $5
- (get_local $10)
+ (if
+ (i32.lt_s
+ (tee_local $7
+ (i32.load offset=4
+ (get_local $14)
+ )
+ )
+ (i32.const 0)
+ )
+ (block
+ (i32.store
+ (get_local $14)
+ (tee_local $5
+ (call $_i64Subtract
+ (i32.const 0)
+ (i32.const 0)
+ (get_local $5)
+ (get_local $7)
+ )
+ )
+ )
+ (i32.store offset=4
+ (get_local $14)
+ (tee_local $7
+ (get_global $tempRet0)
+ )
+ )
+ (set_local $8
+ (i32.const 1)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjti$4)
+ )
)
- (set_local $10
- (get_local $7)
+ (set_local $9
+ (if (result i32)
+ (i32.and
+ (get_local $11)
+ (i32.const 2048)
+ )
+ (block (result i32)
+ (set_local $8
+ (i32.const 1)
+ )
+ (i32.const 4092)
+ )
+ (block (result i32)
+ (set_local $8
+ (tee_local $9
+ (i32.and
+ (get_local $11)
+ (i32.const 1)
+ )
+ )
+ )
+ (select
+ (i32.const 4093)
+ (i32.const 4091)
+ (get_local $9)
+ )
+ )
+ )
)
- (br $label$continue$L1)
+ (br $__rjti$4)
)
- (i32.store8
+ (set_local $5
(i32.load
(get_local $14)
)
- (get_local $17)
)
- (set_local $5
- (get_local $10)
+ (set_local $7
+ (i32.load offset=4
+ (get_local $14)
+ )
)
- (set_local $10
- (get_local $7)
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
)
- (br $label$continue$L1)
+ (br $__rjti$4)
)
- (i32.store
+ (drop
+ (i32.load offset=4
+ (get_local $14)
+ )
+ )
+ (i32.store8
+ (get_local $39)
(i32.load
(get_local $14)
)
- (get_local $17)
)
(set_local $5
- (get_local $10)
+ (get_local $39)
)
- (set_local $10
- (get_local $7)
+ (set_local $11
+ (get_local $8)
+ )
+ (set_local $12
+ (i32.const 1)
+ )
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjto$8
+ (get_local $25)
)
- (br $label$continue$L1)
)
- (i32.store
- (tee_local $5
+ (set_local $7
+ (call $_strerror
(i32.load
- (get_local $14)
+ (call $___errno_location)
)
)
- (get_local $17)
)
- (i32.store offset=4
- (get_local $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $17)
- (i32.const 0)
- )
- (i32.const 31)
+ (br $__rjti$5)
+ )
+ (set_local $7
+ (select
+ (tee_local $5
+ (i32.load
+ (get_local $14)
)
- (i32.const 31)
)
+ (i32.const 4101)
+ (get_local $5)
)
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (get_local $7)
- )
- (br $label$continue$L1)
- )
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (get_local $7)
- )
- (br $label$continue$L1)
- )
- (set_local $5
- (i32.or
- (get_local $11)
- (i32.const 8)
)
+ (br $__rjti$5)
)
- (set_local $6
- (select
- (get_local $6)
- (i32.const 8)
- (i32.gt_u
- (get_local $6)
- (i32.const 8)
- )
+ (drop
+ (i32.load offset=4
+ (get_local $14)
)
)
- (set_local $19
- (i32.const 120)
- )
- (br $__rjti$3)
- )
- (set_local $5
- (get_local $11)
- )
- (br $__rjti$3)
- )
- (if
- (i32.or
- (tee_local $5
+ (i32.store
+ (get_local $40)
(i32.load
(get_local $14)
)
)
- (tee_local $7
- (i32.load offset=4
- (get_local $14)
- )
+ (i32.store
+ (get_local $43)
+ (i32.const 0)
)
- )
- (block
- (set_local $8
- (get_local $25)
+ (i32.store
+ (get_local $14)
+ (get_local $40)
)
- (loop $while-in32
- (i32.store8
- (tee_local $8
- (i32.add
- (get_local $8)
- (i32.const -1)
- )
- )
- (i32.or
- (i32.and
- (get_local $5)
- (i32.const 7)
- )
- (i32.const 48)
- )
- )
- (br_if $while-in32
- (i32.or
- (tee_local $5
- (call $_bitshift64Lshr
- (get_local $5)
- (get_local $7)
- (i32.const 3)
- )
- )
- (tee_local $7
- (get_global $tempRet0)
- )
- )
- )
+ (set_local $8
+ (i32.const -1)
)
+ (br $__rjti$6)
)
- (set_local $8
- (get_local $25)
- )
- )
- (if
- (i32.and
- (get_local $11)
- (i32.const 8)
- )
- (block
- (set_local $5
- (get_local $11)
- )
- (set_local $6
- (select
- (tee_local $11
- (i32.add
- (i32.sub
- (get_local $39)
- (tee_local $7
- (get_local $8)
- )
- )
- (i32.const 1)
- )
- )
+ (if
+ (get_local $6)
+ (block
+ (set_local $8
(get_local $6)
- (i32.lt_s
- (get_local $6)
- (get_local $11)
- )
)
+ (br $__rjti$6)
)
- )
- (block
- (set_local $7
- (get_local $8)
- )
- (set_local $5
- (get_local $11)
- )
- )
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$8)
- )
- (set_local $5
- (i32.load
- (get_local $14)
- )
- )
- (if
- (i32.lt_s
- (tee_local $7
- (i32.load offset=4
- (get_local $14)
- )
- )
- (i32.const 0)
- )
- (block
- (i32.store
- (get_local $14)
- (tee_local $5
- (call $_i64Subtract
+ (block
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
(i32.const 0)
+ (get_local $11)
+ )
+ (br $__rjti$7
(i32.const 0)
- (get_local $5)
- (get_local $7)
)
)
)
- (i32.store offset=4
- (get_local $14)
- (tee_local $7
- (get_global $tempRet0)
- )
- )
- (set_local $8
- (i32.const 1)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$4)
)
- )
- (set_local $9
- (if (result i32)
- (i32.and
- (get_local $11)
- (i32.const 2048)
- )
- (block (result i32)
- (set_local $8
- (i32.const 1)
- )
- (i32.const 4092)
- )
- (block (result i32)
- (set_local $8
- (tee_local $9
- (i32.and
- (get_local $11)
- (i32.const 1)
- )
- )
- )
- (select
- (i32.const 4093)
- (i32.const 4091)
- (get_local $9)
- )
+ (set_local $16
+ (f64.load
+ (get_local $14)
)
)
- )
- (br $__rjti$4)
- )
- (set_local $5
- (i32.load
- (get_local $14)
- )
- )
- (set_local $7
- (i32.load offset=4
- (get_local $14)
- )
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$4)
- )
- (drop
- (i32.load offset=4
- (get_local $14)
- )
- )
- (i32.store8
- (get_local $40)
- (i32.load
- (get_local $14)
- )
- )
- (set_local $5
- (get_local $40)
- )
- (set_local $11
- (get_local $8)
- )
- (set_local $12
- (i32.const 1)
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjto$8
- (get_local $25)
- )
- )
- (set_local $7
- (call $_strerror
- (i32.load
- (call $___errno_location)
- )
- )
- )
- (br $__rjti$5)
- )
- (set_local $7
- (select
- (tee_local $5
- (i32.load
- (get_local $14)
- )
- )
- (i32.const 4101)
- (get_local $5)
- )
- )
- (br $__rjti$5)
- )
- (drop
- (i32.load offset=4
- (get_local $14)
- )
- )
- (i32.store
- (get_local $41)
- (i32.load
- (get_local $14)
- )
- )
- (i32.store
- (get_local $44)
- (i32.const 0)
- )
- (i32.store
- (get_local $14)
- (get_local $41)
- )
- (set_local $8
- (i32.const -1)
- )
- (br $__rjti$6)
- )
- (if
- (get_local $6)
- (block
- (set_local $8
- (get_local $6)
- )
- (br $__rjti$6)
- )
- (block
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (i32.const 0)
- (get_local $11)
- )
- (br $__rjti$7
- (i32.const 0)
- )
- )
- )
- )
- (set_local $16
- (f64.load
- (get_local $14)
- )
- )
- (i32.store
- (get_local $20)
- (i32.const 0)
- )
- (f64.store
- (get_global $tempDoublePtr)
- (get_local $16)
- )
- (drop
- (i32.load
- (get_global $tempDoublePtr)
- )
- )
- (set_local $30
- (if (result i32)
- (i32.lt_s
- (i32.load offset=4
- (get_global $tempDoublePtr)
- )
- (i32.const 0)
- )
- (block (result i32)
- (set_local $26
- (i32.const 1)
- )
- (set_local $16
- (f64.neg
- (get_local $16)
- )
- )
- (i32.const 4108)
- )
- (if (result i32)
- (i32.and
- (get_local $11)
- (i32.const 2048)
- )
- (block (result i32)
- (set_local $26
- (i32.const 1)
- )
- (i32.const 4111)
- )
- (block (result i32)
- (set_local $26
- (tee_local $5
- (i32.and
- (get_local $11)
- (i32.const 1)
- )
- )
- )
- (select
- (i32.const 4114)
- (i32.const 4109)
- (get_local $5)
- )
- )
- )
- )
- )
- (f64.store
- (get_global $tempDoublePtr)
- (get_local $16)
- )
- (drop
- (i32.load
- (get_global $tempDoublePtr)
- )
- )
- (set_local $7
- (if (result i32)
- (i32.lt_u
- (i32.and
- (i32.load offset=4
- (get_global $tempDoublePtr)
- )
- (i32.const 2146435072)
- )
- (i32.const 2146435072)
- )
- (block $do-once49 (result i32)
- (if
- (tee_local $5
- (f64.ne
- (tee_local $23
- (f64.mul
- (call $_frexp
- (get_local $16)
+ (i32.store
(get_local $20)
+ (i32.const 0)
)
- (f64.const 2)
- )
- )
- (f64.const 0)
- )
- )
- (i32.store
- (get_local $20)
- (i32.add
- (i32.load
- (get_local $20)
- )
- (i32.const -1)
- )
- )
- )
- (if
- (i32.eq
- (tee_local $24
- (i32.or
- (get_local $19)
- (i32.const 32)
- )
- )
- (i32.const 97)
- )
- (block
- (set_local $9
- (select
- (i32.add
- (get_local $30)
- (i32.const 9)
- )
- (get_local $30)
- (tee_local $13
- (i32.and
- (get_local $19)
- (i32.const 32)
- )
- )
- )
- )
- (set_local $16
- (if (result f64)
- (i32.or
- (i32.gt_u
- (get_local $6)
- (i32.const 11)
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $16)
)
- (i32.eqz
- (tee_local $5
- (i32.sub
- (i32.const 12)
- (get_local $6)
- )
+ (drop
+ (i32.load
+ (get_global $tempDoublePtr)
)
)
- )
- (get_local $23)
- (block (result f64)
- (set_local $16
- (f64.const 8)
- )
- (loop $while-in54
- (set_local $16
- (f64.mul
- (get_local $16)
- (f64.const 16)
- )
- )
- (br_if $while-in54
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
+ (set_local $30
+ (if (result i32)
+ (i32.lt_s
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
)
+ (i32.const 0)
)
- )
- )
- (if (result f64)
- (i32.eq
- (i32.load8_s
- (get_local $9)
- )
- (i32.const 45)
- )
- (f64.neg
- (f64.add
- (get_local $16)
- (f64.sub
+ (block (result i32)
+ (set_local $26
+ (i32.const 1)
+ )
+ (set_local $16
(f64.neg
- (get_local $23)
+ (get_local $16)
)
- (get_local $16)
)
+ (i32.const 4108)
)
- )
- (f64.sub
- (f64.add
- (get_local $23)
- (get_local $16)
- )
- (get_local $16)
- )
- )
- )
- )
- )
- (if
- (i32.eq
- (tee_local $5
- (call $_fmt_u
- (tee_local $5
- (select
- (i32.sub
- (i32.const 0)
- (tee_local $7
- (i32.load
- (get_local $20)
- )
- )
- )
- (get_local $7)
- (i32.lt_s
- (get_local $7)
- (i32.const 0)
+ (if (result i32)
+ (i32.and
+ (get_local $11)
+ (i32.const 2048)
)
- )
- )
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
+ (block (result i32)
+ (set_local $26
+ (i32.const 1)
+ )
+ (i32.const 4111)
)
- (i32.const 31)
- )
- (i32.const 31)
- )
- (get_local $32)
- )
- )
- (get_local $32)
- )
- (block
- (i32.store8
- (get_local $42)
- (i32.const 48)
- )
- (set_local $5
- (get_local $42)
- )
- )
- )
- (set_local $12
- (i32.or
- (get_local $26)
- (i32.const 2)
- )
- )
- (i32.store8
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $7)
- (i32.const 31)
- )
- (i32.const 2)
- )
- (i32.const 43)
- )
- )
- (i32.store8
- (tee_local $8
- (i32.add
- (get_local $5)
- (i32.const -2)
- )
- )
- (i32.add
- (get_local $19)
- (i32.const 15)
- )
- )
- (set_local $19
- (i32.lt_s
- (get_local $6)
- (i32.const 1)
- )
- )
- (set_local $18
- (i32.eqz
- (i32.and
- (get_local $11)
- (i32.const 8)
- )
- )
- )
- (set_local $5
- (get_local $22)
- )
- (loop $while-in56
- (i32.store8
- (get_local $5)
- (i32.or
- (i32.load8_u
- (i32.add
- (tee_local $7
- (call $f64-to-int
- (get_local $16)
+ (block (result i32)
+ (set_local $26
+ (tee_local $5
+ (i32.and
+ (get_local $11)
+ (i32.const 1)
+ )
+ )
+ )
+ (select
+ (i32.const 4114)
+ (i32.const 4109)
+ (get_local $5)
+ )
)
)
- (i32.const 4075)
)
)
- (get_local $13)
- )
- )
- (set_local $16
- (f64.mul
- (f64.sub
+ (f64.store
+ (get_global $tempDoublePtr)
(get_local $16)
- (f64.convert_s/i32
- (get_local $7)
- )
- )
- (f64.const 16)
- )
- )
- (set_local $5
- (if (result i32)
- (i32.eq
- (i32.sub
- (tee_local $7
- (i32.add
- (get_local $5)
- (i32.const 1)
- )
- )
- (get_local $36)
- )
- (i32.const 1)
)
- (if (result i32)
- (i32.and
- (get_local $18)
- (i32.and
- (get_local $19)
- (f64.eq
- (get_local $16)
- (f64.const 0)
- )
- )
- )
- (get_local $7)
- (block (result i32)
- (i32.store8
- (get_local $7)
- (i32.const 46)
- )
- (i32.add
- (get_local $5)
- (i32.const 2)
- )
+ (drop
+ (i32.load
+ (get_global $tempDoublePtr)
)
)
- (get_local $7)
- )
- )
- (br_if $while-in56
- (f64.ne
- (get_local $16)
- (f64.const 0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (tee_local $7
- (i32.add
- (tee_local $6
- (select
- (i32.sub
- (i32.add
- (get_local $47)
- (get_local $6)
+ (set_local $7
+ (if (result i32)
+ (i32.lt_u
+ (i32.and
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
+ )
+ (i32.const 2146435072)
)
- (get_local $8)
+ (i32.const 2146435072)
)
- (i32.add
- (i32.sub
- (get_local $45)
- (get_local $8)
+ (block $do-once49 (result i32)
+ (if
+ (tee_local $5
+ (f64.ne
+ (tee_local $23
+ (f64.mul
+ (call $_frexp
+ (get_local $16)
+ (get_local $20)
+ )
+ (f64.const 2)
+ )
+ )
+ (f64.const 0)
+ )
+ )
+ (i32.store
+ (get_local $20)
+ (i32.add
+ (i32.load
+ (get_local $20)
+ )
+ (i32.const -1)
+ )
+ )
)
- (get_local $5)
- )
- (i32.and
- (i32.ne
- (get_local $6)
- (i32.const 0)
+ (if
+ (i32.eq
+ (tee_local $24
+ (i32.or
+ (get_local $19)
+ (i32.const 32)
+ )
+ )
+ (i32.const 97)
+ )
+ (block
+ (set_local $9
+ (select
+ (i32.add
+ (get_local $30)
+ (i32.const 9)
+ )
+ (get_local $30)
+ (tee_local $13
+ (i32.and
+ (get_local $19)
+ (i32.const 32)
+ )
+ )
+ )
+ )
+ (set_local $16
+ (if (result f64)
+ (i32.or
+ (i32.eqz
+ (tee_local $5
+ (i32.sub
+ (i32.const 12)
+ (get_local $6)
+ )
+ )
+ )
+ (i32.gt_u
+ (get_local $6)
+ (i32.const 11)
+ )
+ )
+ (get_local $23)
+ (block (result f64)
+ (set_local $16
+ (f64.const 8)
+ )
+ (loop $while-in54
+ (set_local $16
+ (f64.mul
+ (get_local $16)
+ (f64.const 16)
+ )
+ )
+ (br_if $while-in54
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ )
+ )
+ (if (result f64)
+ (i32.eq
+ (i32.load8_s
+ (get_local $9)
+ )
+ (i32.const 45)
+ )
+ (f64.neg
+ (f64.add
+ (get_local $16)
+ (f64.sub
+ (f64.neg
+ (get_local $23)
+ )
+ (get_local $16)
+ )
+ )
+ )
+ (f64.sub
+ (f64.add
+ (get_local $23)
+ (get_local $16)
+ )
+ (get_local $16)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $5
+ (call $_fmt_u
+ (tee_local $5
+ (select
+ (i32.sub
+ (i32.const 0)
+ (tee_local $7
+ (i32.load
+ (get_local $20)
+ )
+ )
+ )
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ (get_local $32)
+ )
+ )
+ (get_local $32)
+ )
+ (block
+ (i32.store8
+ (get_local $41)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $41)
+ )
+ )
+ )
+ (set_local $12
+ (i32.or
+ (get_local $26)
+ (i32.const 2)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $7)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ (i32.const 43)
+ )
+ )
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $5)
+ (i32.const -2)
+ )
+ )
+ (i32.add
+ (get_local $19)
+ (i32.const 15)
+ )
+ )
+ (set_local $19
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (set_local $18
+ (i32.eqz
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
+ )
+ )
+ (set_local $5
+ (get_local $22)
+ )
+ (loop $while-in56
+ (i32.store8
+ (get_local $5)
+ (i32.or
+ (get_local $13)
+ (i32.load8_u
+ (i32.add
+ (tee_local $7
+ (call $f64-to-int
+ (get_local $16)
+ )
+ )
+ (i32.const 4075)
+ )
+ )
+ )
+ )
+ (set_local $16
+ (f64.mul
+ (f64.sub
+ (get_local $16)
+ (f64.convert_s/i32
+ (get_local $7)
+ )
+ )
+ (f64.const 16)
+ )
+ )
+ (set_local $5
+ (if (result i32)
+ (i32.eq
+ (i32.sub
+ (tee_local $7
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ (get_local $36)
+ )
+ (i32.const 1)
+ )
+ (if (result i32)
+ (i32.and
+ (i32.and
+ (f64.eq
+ (get_local $16)
+ (f64.const 0)
+ )
+ (get_local $19)
+ )
+ (get_local $18)
+ )
+ (get_local $7)
+ (block (result i32)
+ (i32.store8
+ (get_local $7)
+ (i32.const 46)
+ )
+ (i32.add
+ (get_local $5)
+ (i32.const 2)
+ )
+ )
+ )
+ (get_local $7)
+ )
+ )
+ (br_if $while-in56
+ (f64.ne
+ (get_local $16)
+ (f64.const 0)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (tee_local $7
+ (i32.add
+ (get_local $12)
+ (tee_local $6
+ (select
+ (i32.sub
+ (i32.add
+ (get_local $6)
+ (get_local $46)
+ )
+ (get_local $8)
+ )
+ (i32.add
+ (get_local $5)
+ (i32.sub
+ (get_local $44)
+ (get_local $8)
+ )
+ )
+ (i32.and
+ (i32.ne
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.lt_s
+ (i32.add
+ (get_local $5)
+ (get_local $45)
+ )
+ (get_local $6)
+ )
+ )
+ )
+ )
+ )
+ )
+ (get_local $11)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $9)
+ (get_local $12)
+ (get_local $0)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $15)
+ (get_local $7)
+ (i32.xor
+ (get_local $11)
+ (i32.const 65536)
+ )
+ )
+ (set_local $5
+ (i32.sub
+ (get_local $5)
+ (get_local $36)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $22)
+ (get_local $5)
+ (get_local $0)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.sub
+ (get_local $6)
+ (i32.add
+ (get_local $5)
+ (tee_local $5
+ (i32.sub
+ (get_local $27)
+ (get_local $8)
+ )
+ )
+ )
+ )
+ (i32.const 0)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $8)
+ (get_local $5)
+ (get_local $0)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (get_local $7)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
+ )
+ (br $do-once49
+ (select
+ (get_local $15)
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (get_local $15)
+ )
+ )
+ )
+ )
)
- (i32.lt_s
- (i32.add
- (get_local $46)
+ (set_local $16
+ (if (result f64)
(get_local $5)
+ (block (result f64)
+ (i32.store
+ (get_local $20)
+ (tee_local $5
+ (i32.add
+ (i32.load
+ (get_local $20)
+ )
+ (i32.const -28)
+ )
+ )
+ )
+ (f64.mul
+ (get_local $23)
+ (f64.const 268435456)
+ )
+ )
+ (block (result f64)
+ (set_local $5
+ (i32.load
+ (get_local $20)
+ )
+ )
+ (get_local $23)
+ )
)
- (get_local $6)
)
- )
- )
- )
- (get_local $12)
- )
- )
- (get_local $11)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $9)
- (get_local $12)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $15)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 65536)
- )
- )
- (set_local $5
- (i32.sub
- (get_local $5)
- (get_local $36)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $22)
- (get_local $5)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.sub
- (get_local $6)
- (i32.add
- (get_local $5)
- (tee_local $5
- (i32.sub
- (get_local $27)
- (get_local $8)
- )
- )
- )
- )
- (i32.const 0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $8)
- (get_local $5)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (br $do-once49
- (select
- (get_local $15)
- (get_local $7)
- (i32.lt_s
- (get_local $7)
- (get_local $15)
- )
- )
- )
- )
- )
- (set_local $16
- (if (result f64)
- (get_local $5)
- (block (result f64)
- (i32.store
- (get_local $20)
- (tee_local $5
- (i32.add
- (i32.load
- (get_local $20)
- )
- (i32.const -28)
- )
- )
- )
- (f64.mul
- (get_local $23)
- (f64.const 268435456)
- )
- )
- (block (result f64)
- (set_local $5
- (i32.load
- (get_local $20)
- )
- )
- (get_local $23)
- )
- )
- )
- (set_local $7
- (tee_local $8
- (select
- (get_local $48)
- (get_local $49)
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- )
- )
- )
- (loop $while-in60
- (i32.store
- (get_local $7)
- (tee_local $5
- (call $f64-to-uint
- (get_local $16)
- )
- )
- )
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (br_if $while-in60
- (f64.ne
- (tee_local $16
- (f64.mul
- (f64.sub
- (get_local $16)
- (f64.convert_u/i32
- (get_local $5)
- )
- )
- (f64.const 1e9)
- )
- )
- (f64.const 0)
- )
- )
- )
- (if
- (i32.gt_s
- (tee_local $9
- (i32.load
- (get_local $20)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $5
- (get_local $8)
- )
- (loop $while-in62
- (set_local $13
- (select
- (i32.const 29)
- (get_local $9)
- (i32.gt_s
- (get_local $9)
- (i32.const 29)
- )
- )
- )
- (if
- (i32.ge_u
- (tee_local $9
- (i32.add
- (get_local $7)
- (i32.const -4)
- )
- )
- (get_local $5)
- )
- (block $do-once63
- (set_local $12
- (i32.const 0)
- )
- (loop $while-in66
- (i32.store
- (get_local $9)
- (call $___uremdi3
- (tee_local $12
- (call $_i64Add
- (call $_bitshift64Shl
+ (set_local $7
+ (tee_local $8
+ (select
+ (get_local $47)
+ (get_local $48)
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (loop $while-in60
+ (i32.store
+ (get_local $7)
+ (tee_local $5
+ (call $f64-to-uint
+ (get_local $16)
+ )
+ )
+ )
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ )
+ (br_if $while-in60
+ (f64.ne
+ (tee_local $16
+ (f64.mul
+ (f64.sub
+ (get_local $16)
+ (f64.convert_u/i32
+ (get_local $5)
+ )
+ )
+ (f64.const 1e9)
+ )
+ )
+ (f64.const 0)
+ )
+ )
+ )
+ (if
+ (i32.gt_s
+ (tee_local $9
(i32.load
- (get_local $9)
+ (get_local $20)
)
- (i32.const 0)
- (get_local $13)
)
- (get_global $tempRet0)
- (get_local $12)
(i32.const 0)
)
+ (block
+ (set_local $5
+ (get_local $8)
+ )
+ (loop $while-in62
+ (set_local $13
+ (select
+ (i32.const 29)
+ (get_local $9)
+ (i32.gt_s
+ (get_local $9)
+ (i32.const 29)
+ )
+ )
+ )
+ (if
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
+ )
+ )
+ (get_local $5)
+ )
+ (block $do-once63
+ (set_local $12
+ (i32.const 0)
+ )
+ (loop $while-in66
+ (i32.store
+ (get_local $9)
+ (call $___uremdi3
+ (tee_local $12
+ (call $_i64Add
+ (call $_bitshift64Shl
+ (i32.load
+ (get_local $9)
+ )
+ (i32.const 0)
+ (get_local $13)
+ )
+ (get_global $tempRet0)
+ (get_local $12)
+ (i32.const 0)
+ )
+ )
+ (tee_local $18
+ (get_global $tempRet0)
+ )
+ (i32.const 1000000000)
+ )
+ )
+ (set_local $12
+ (call $___udivdi3
+ (get_local $12)
+ (get_local $18)
+ (i32.const 1000000000)
+ )
+ )
+ (br_if $while-in66
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $9)
+ (i32.const -4)
+ )
+ )
+ (get_local $5)
+ )
+ )
+ )
+ (br_if $do-once63
+ (i32.eqz
+ (get_local $12)
+ )
+ )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
+ (get_local $12)
+ )
+ )
+ )
+ (loop $while-in68
+ (if
+ (i32.gt_u
+ (get_local $7)
+ (get_local $5)
+ )
+ (if
+ (i32.eqz
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $7
+ (get_local $9)
+ )
+ (br $while-in68)
+ )
+ )
+ )
+ )
+ (i32.store
+ (get_local $20)
+ (tee_local $9
+ (i32.sub
+ (i32.load
+ (get_local $20)
+ )
+ (get_local $13)
+ )
+ )
+ )
+ (br_if $while-in62
+ (i32.gt_s
+ (get_local $9)
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (set_local $5
+ (get_local $8)
+ )
)
- (tee_local $18
- (get_global $tempRet0)
+ (set_local $18
+ (select
+ (i32.const 6)
+ (get_local $6)
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 0)
+ )
+ )
)
- (i32.const 1000000000)
- )
- )
- (set_local $12
- (call $___udivdi3
- (get_local $12)
- (get_local $18)
- (i32.const 1000000000)
- )
- )
- (br_if $while-in66
- (i32.ge_u
- (tee_local $9
- (i32.add
+ (if
+ (i32.lt_s
(get_local $9)
- (i32.const -4)
+ (i32.const 0)
)
- )
- (get_local $5)
- )
- )
- )
- (br_if $do-once63
- (i32.eqz
- (get_local $12)
- )
- )
- (i32.store
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -4)
- )
- )
- (get_local $12)
- )
- )
- )
- (loop $while-in68
- (if
- (i32.gt_u
- (get_local $7)
- (get_local $5)
- )
- (if
- (i32.eqz
- (i32.load
- (tee_local $9
- (i32.add
+ (block
+ (set_local $21
+ (i32.add
+ (call $i32s-div
+ (i32.add
+ (get_local $18)
+ (i32.const 25)
+ )
+ (i32.const 9)
+ )
+ (i32.const 1)
+ )
+ )
+ (set_local $31
+ (i32.eq
+ (get_local $24)
+ (i32.const 102)
+ )
+ )
+ (set_local $6
+ (get_local $5)
+ )
+ (set_local $5
+ (get_local $7)
+ )
+ (loop $while-in70
+ (set_local $13
+ (select
+ (i32.const 9)
+ (tee_local $7
+ (i32.sub
+ (i32.const 0)
+ (get_local $9)
+ )
+ )
+ (i32.gt_s
+ (get_local $7)
+ (i32.const 9)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (get_local $5)
+ )
+ (block $do-once71
+ (set_local $12
+ (i32.add
+ (i32.shl
+ (i32.const 1)
+ (get_local $13)
+ )
+ (i32.const -1)
+ )
+ )
+ (set_local $37
+ (i32.shr_u
+ (i32.const 1000000000)
+ (get_local $13)
+ )
+ )
+ (set_local $9
+ (i32.const 0)
+ )
+ (set_local $7
+ (get_local $6)
+ )
+ (loop $while-in74
+ (i32.store
+ (get_local $7)
+ (i32.add
+ (get_local $9)
+ (i32.shr_u
+ (tee_local $9
+ (i32.load
+ (get_local $7)
+ )
+ )
+ (get_local $13)
+ )
+ )
+ )
+ (set_local $9
+ (i32.mul
+ (i32.and
+ (get_local $9)
+ (get_local $12)
+ )
+ (get_local $37)
+ )
+ )
+ (br_if $while-in74
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ )
+ (get_local $5)
+ )
+ )
+ )
+ (set_local $7
+ (select
+ (get_local $6)
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (i32.load
+ (get_local $6)
+ )
+ )
+ )
+ (br_if $do-once71
+ (i32.eqz
+ (get_local $9)
+ )
+ )
+ (i32.store
+ (get_local $5)
+ (get_local $9)
+ )
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 4)
+ )
+ )
+ )
+ (set_local $7
+ (select
+ (get_local $6)
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (i32.load
+ (get_local $6)
+ )
+ )
+ )
+ )
+ (set_local $12
+ (select
+ (i32.add
+ (tee_local $6
+ (select
+ (get_local $8)
+ (get_local $7)
+ (get_local $31)
+ )
+ )
+ (i32.shl
+ (get_local $21)
+ (i32.const 2)
+ )
+ )
+ (get_local $5)
+ (i32.gt_s
+ (i32.shr_s
+ (i32.sub
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.const 2)
+ )
+ (get_local $21)
+ )
+ )
+ )
+ (i32.store
+ (get_local $20)
+ (tee_local $9
+ (i32.add
+ (i32.load
+ (get_local $20)
+ )
+ (get_local $13)
+ )
+ )
+ )
+ (set_local $5
+ (if (result i32)
+ (i32.lt_s
+ (get_local $9)
+ (i32.const 0)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
+ )
+ (set_local $5
+ (get_local $12)
+ )
+ (br $while-in70)
+ )
+ (block (result i32)
+ (set_local $9
+ (get_local $12)
+ )
+ (get_local $7)
+ )
+ )
+ )
+ )
+ )
+ (set_local $9
(get_local $7)
- (i32.const -4)
)
)
- )
- )
- (block
- (set_local $7
- (get_local $9)
- )
- (br $while-in68)
- )
- )
- )
- )
- (i32.store
- (get_local $20)
- (tee_local $9
- (i32.sub
- (i32.load
- (get_local $20)
- )
- (get_local $13)
- )
- )
- )
- (br_if $while-in62
- (i32.gt_s
- (get_local $9)
- (i32.const 0)
- )
- )
- )
- )
- (set_local $5
- (get_local $8)
- )
- )
- (set_local $18
- (select
- (i32.const 6)
- (get_local $6)
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
- )
- )
- )
- (if
- (i32.lt_s
- (get_local $9)
- (i32.const 0)
- )
- (block
- (set_local $21
- (i32.add
- (call $i32s-div
- (i32.add
- (get_local $18)
- (i32.const 25)
- )
- (i32.const 9)
- )
- (i32.const 1)
- )
- )
- (set_local $31
- (i32.eq
- (get_local $24)
- (i32.const 102)
- )
- )
- (set_local $6
- (get_local $5)
- )
- (set_local $5
- (get_local $7)
- )
- (loop $while-in70
- (set_local $13
- (select
- (i32.const 9)
- (tee_local $7
- (i32.sub
- (i32.const 0)
- (get_local $9)
- )
- )
- (i32.gt_s
- (get_local $7)
- (i32.const 9)
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $6)
- (get_local $5)
- )
- (block $do-once71
- (set_local $12
- (i32.add
- (i32.shl
- (i32.const 1)
- (get_local $13)
- )
- (i32.const -1)
- )
- )
- (set_local $37
- (i32.shr_u
- (i32.const 1000000000)
- (get_local $13)
- )
- )
- (set_local $9
- (i32.const 0)
- )
- (set_local $7
- (get_local $6)
- )
- (loop $while-in74
- (i32.store
- (get_local $7)
- (i32.add
- (i32.shr_u
- (tee_local $38
- (i32.load
- (get_local $7)
+ (set_local $21
+ (get_local $8)
+ )
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (get_local $9)
+ )
+ (block $do-once75
+ (set_local $7
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $21)
+ (get_local $5)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ )
+ (br_if $do-once75
+ (i32.lt_u
+ (tee_local $12
+ (i32.load
+ (get_local $5)
+ )
+ )
+ (i32.const 10)
+ )
+ )
+ (set_local $6
+ (i32.const 10)
+ )
+ (loop $while-in78
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in78
+ (i32.ge_u
+ (get_local $12)
+ (tee_local $6
+ (i32.mul
+ (get_local $6)
+ (i32.const 10)
+ )
+ )
+ )
+ )
)
)
- (get_local $13)
+ (set_local $7
+ (i32.const 0)
+ )
)
- (get_local $9)
- )
- )
- (set_local $9
- (i32.mul
- (i32.and
- (get_local $38)
- (get_local $12)
+ (set_local $5
+ (if (result i32)
+ (i32.lt_s
+ (tee_local $6
+ (i32.add
+ (i32.sub
+ (get_local $18)
+ (select
+ (get_local $7)
+ (i32.const 0)
+ (i32.ne
+ (get_local $24)
+ (i32.const 102)
+ )
+ )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.and
+ (tee_local $31
+ (i32.eq
+ (get_local $24)
+ (i32.const 103)
+ )
+ )
+ (tee_local $37
+ (i32.ne
+ (get_local $18)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ )
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $9)
+ (get_local $21)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ (i32.const -9)
+ )
+ )
+ (block (result i32)
+ (set_local $13
+ (call $i32s-div
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 9216)
+ )
+ )
+ (i32.const 9)
+ )
+ )
+ (if
+ (i32.lt_s
+ (tee_local $6
+ (i32.add
+ (i32.rem_s
+ (get_local $6)
+ (i32.const 9)
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.const 9)
+ )
+ (block
+ (set_local $12
+ (i32.const 10)
+ )
+ (loop $while-in80
+ (set_local $12
+ (i32.mul
+ (get_local $12)
+ (i32.const 10)
+ )
+ )
+ (br_if $while-in80
+ (i32.ne
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (i32.const 9)
+ )
+ )
+ )
+ )
+ (set_local $12
+ (i32.const 10)
+ )
+ )
+ (set_local $13
+ (call $i32u-rem
+ (tee_local $24
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (i32.add
+ (i32.shl
+ (get_local $13)
+ (i32.const 2)
+ )
+ (get_local $8)
+ )
+ (i32.const -4092)
+ )
+ )
+ )
+ )
+ (get_local $12)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $49
+ (i32.eq
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (get_local $9)
+ )
+ )
+ (i32.eqz
+ (get_local $13)
+ )
+ )
+ )
+ (block $do-once81
+ (set_local $50
+ (call $i32u-div
+ (get_local $24)
+ (get_local $12)
+ )
+ )
+ (set_local $16
+ (if (result f64)
+ (i32.lt_u
+ (get_local $13)
+ (tee_local $51
+ (call $i32s-div
+ (get_local $12)
+ (i32.const 2)
+ )
+ )
+ )
+ (f64.const 0.5)
+ (select
+ (f64.const 1)
+ (f64.const 1.5)
+ (i32.and
+ (get_local $49)
+ (i32.eq
+ (get_local $13)
+ (get_local $51)
+ )
+ )
+ )
+ )
+ )
+ (set_local $23
+ (select
+ (f64.const 9007199254740994)
+ (f64.const 9007199254740992)
+ (i32.and
+ (get_local $50)
+ (i32.const 1)
+ )
+ )
+ )
+ (if
+ (get_local $26)
+ (if
+ (i32.eq
+ (i32.load8_s
+ (get_local $30)
+ )
+ (i32.const 45)
+ )
+ (block
+ (set_local $23
+ (f64.neg
+ (get_local $23)
+ )
+ )
+ (set_local $16
+ (f64.neg
+ (get_local $16)
+ )
+ )
+ )
+ )
+ )
+ (i32.store
+ (get_local $6)
+ (tee_local $13
+ (i32.sub
+ (get_local $24)
+ (get_local $13)
+ )
+ )
+ )
+ (br_if $do-once81
+ (f64.eq
+ (f64.add
+ (get_local $23)
+ (get_local $16)
+ )
+ (get_local $23)
+ )
+ )
+ (i32.store
+ (get_local $6)
+ (tee_local $7
+ (i32.add
+ (get_local $12)
+ (get_local $13)
+ )
+ )
+ )
+ (if
+ (i32.gt_u
+ (get_local $7)
+ (i32.const 999999999)
+ )
+ (loop $while-in86
+ (i32.store
+ (get_local $6)
+ (i32.const 0)
+ )
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
+ )
+ )
+ (get_local $5)
+ )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (i32.store
+ (get_local $6)
+ (tee_local $7
+ (i32.add
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (br_if $while-in86
+ (i32.gt_u
+ (get_local $7)
+ (i32.const 999999999)
+ )
+ )
+ )
+ )
+ (set_local $7
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $21)
+ (get_local $5)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ )
+ (br_if $do-once81
+ (i32.lt_u
+ (tee_local $13
+ (i32.load
+ (get_local $5)
+ )
+ )
+ (i32.const 10)
+ )
+ )
+ (set_local $12
+ (i32.const 10)
+ )
+ (loop $while-in88
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in88
+ (i32.ge_u
+ (get_local $13)
+ (tee_local $12
+ (i32.mul
+ (get_local $12)
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (set_local $12
+ (get_local $5)
+ )
+ (set_local $13
+ (get_local $7)
+ )
+ (select
+ (tee_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (get_local $9)
+ (i32.gt_u
+ (get_local $9)
+ (get_local $5)
+ )
+ )
+ )
+ (block (result i32)
+ (set_local $12
+ (get_local $5)
+ )
+ (set_local $13
+ (get_local $7)
+ )
+ (get_local $9)
+ )
+ )
)
- (get_local $37)
- )
- )
- (br_if $while-in74
- (i32.lt_u
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
+ (set_local $9
+ (loop $while-in90 (result i32)
+ (block $while-out89 (result i32)
+ (if
+ (i32.le_u
+ (get_local $5)
+ (get_local $12)
+ )
+ (block
+ (set_local $24
+ (i32.const 0)
+ )
+ (br $while-out89
+ (get_local $5)
+ )
+ )
+ )
+ (if (result i32)
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
+ )
+ (block (result i32)
+ (set_local $24
+ (i32.const 1)
+ )
+ (get_local $5)
+ )
+ (block
+ (set_local $5
+ (get_local $7)
+ )
+ (br $while-in90)
+ )
+ )
+ )
)
)
- (get_local $5)
- )
- )
- )
- (set_local $7
- (select
- (get_local $6)
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- (i32.load
- (get_local $6)
- )
- )
- )
- (br_if $do-once71
- (i32.eqz
- (get_local $9)
- )
- )
- (i32.store
- (get_local $5)
- (get_local $9)
- )
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 4)
- )
- )
- )
- (set_local $7
- (select
- (get_local $6)
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- (i32.load
- (get_local $6)
- )
- )
- )
- )
- (set_local $12
- (select
- (i32.add
- (tee_local $6
- (select
- (get_local $8)
- (get_local $7)
- (get_local $31)
- )
- )
- (i32.shl
- (get_local $21)
- (i32.const 2)
- )
- )
- (get_local $5)
- (i32.gt_s
- (i32.shr_s
- (i32.sub
- (get_local $5)
- (get_local $6)
- )
- (i32.const 2)
- )
- (get_local $21)
- )
- )
- )
- (i32.store
- (get_local $20)
- (tee_local $9
- (i32.add
- (i32.load
- (get_local $20)
- )
- (get_local $13)
- )
- )
- )
- (set_local $5
- (if (result i32)
- (i32.lt_s
- (get_local $9)
- (i32.const 0)
- )
- (block
- (set_local $6
- (get_local $7)
- )
- (set_local $5
- (get_local $12)
- )
- (br $while-in70)
- )
- (block (result i32)
- (set_local $9
- (get_local $12)
- )
- (get_local $7)
- )
- )
- )
- )
- )
- (set_local $9
- (get_local $7)
- )
- )
- (set_local $21
- (get_local $8)
- )
- (if
- (i32.lt_u
- (get_local $5)
- (get_local $9)
- )
- (block $do-once75
- (set_local $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $21)
- (get_local $5)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- )
- (br_if $do-once75
- (i32.lt_u
- (tee_local $12
- (i32.load
- (get_local $5)
- )
- )
- (i32.const 10)
- )
- )
- (set_local $6
- (i32.const 10)
- )
- (loop $while-in78
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 1)
- )
- )
- (br_if $while-in78
- (i32.ge_u
- (get_local $12)
- (tee_local $6
- (i32.mul
- (get_local $6)
- (i32.const 10)
- )
- )
- )
- )
- )
- )
- (set_local $7
- (i32.const 0)
- )
- )
- (set_local $5
- (if (result i32)
- (i32.lt_s
- (tee_local $6
- (i32.add
- (i32.sub
- (get_local $18)
- (select
- (get_local $7)
- (i32.const 0)
- (i32.ne
- (get_local $24)
- (i32.const 102)
- )
- )
- )
- (i32.shr_s
- (i32.shl
- (i32.and
- (tee_local $31
- (i32.ne
- (get_local $18)
- (i32.const 0)
+ (set_local $5
+ (if (result i32)
+ (get_local $31)
+ (block $do-once91 (result i32)
+ (set_local $7
+ (if (result i32)
+ (i32.and
+ (i32.gt_s
+ (tee_local $5
+ (i32.add
+ (get_local $18)
+ (i32.xor
+ (get_local $37)
+ (i32.const 1)
+ )
+ )
+ )
+ (get_local $13)
+ )
+ (i32.gt_s
+ (get_local $13)
+ (i32.const -5)
+ )
+ )
+ (block (result i32)
+ (set_local $18
+ (i32.sub
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ (get_local $13)
+ )
+ )
+ (i32.add
+ (get_local $19)
+ (i32.const -1)
+ )
+ )
+ (block (result i32)
+ (set_local $18
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ (i32.add
+ (get_local $19)
+ (i32.const -2)
+ )
+ )
+ )
+ )
+ (if
+ (tee_local $5
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
+ )
+ (block
+ (set_local $21
+ (get_local $5)
+ )
+ (br $do-once91
+ (get_local $18)
+ )
+ )
+ )
+ (if
+ (get_local $24)
+ (block $do-once93
+ (if
+ (i32.eqz
+ (tee_local $19
+ (i32.load
+ (i32.add
+ (get_local $9)
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $5
+ (i32.const 9)
+ )
+ (br $do-once93)
+ )
+ )
+ (set_local $5
+ (if (result i32)
+ (call $i32u-rem
+ (get_local $19)
+ (i32.const 10)
+ )
+ (block
+ (set_local $5
+ (i32.const 0)
+ )
+ (br $do-once93)
+ )
+ (block (result i32)
+ (set_local $6
+ (i32.const 10)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (loop $while-in96
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in96
+ (i32.eqz
+ (call $i32u-rem
+ (get_local $19)
+ (tee_local $6
+ (i32.mul
+ (get_local $6)
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (set_local $5
+ (i32.const 9)
+ )
+ )
+ (set_local $6
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $9)
+ (get_local $21)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ (i32.const -9)
+ )
+ )
+ (if (result i32)
+ (i32.eq
+ (i32.or
+ (get_local $7)
+ (i32.const 32)
+ )
+ (i32.const 102)
+ )
+ (block (result i32)
+ (set_local $21
+ (i32.const 0)
+ )
+ (select
+ (get_local $18)
+ (tee_local $5
+ (select
+ (i32.const 0)
+ (tee_local $5
+ (i32.sub
+ (get_local $6)
+ (get_local $5)
+ )
+ )
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.lt_s
+ (get_local $18)
+ (get_local $5)
+ )
+ )
+ )
+ (block (result i32)
+ (set_local $21
+ (i32.const 0)
+ )
+ (select
+ (get_local $18)
+ (tee_local $5
+ (select
+ (i32.const 0)
+ (tee_local $5
+ (i32.sub
+ (i32.add
+ (get_local $6)
+ (get_local $13)
+ )
+ (get_local $5)
+ )
+ )
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.lt_s
+ (get_local $18)
+ (get_local $5)
+ )
+ )
+ )
+ )
+ )
+ (block (result i32)
+ (set_local $21
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
+ )
+ (set_local $7
+ (get_local $19)
+ )
+ (get_local $18)
+ )
)
)
- (tee_local $37
- (i32.eq
- (get_local $24)
- (i32.const 103)
+ (set_local $6
+ (i32.sub
+ (i32.const 0)
+ (get_local $13)
)
)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- )
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $9)
- (get_local $21)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- (i32.const -9)
- )
- )
- (block (result i32)
- (set_local $13
- (call $i32s-div
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 9216)
- )
- )
- (i32.const 9)
- )
- )
- (if
- (i32.lt_s
- (tee_local $6
- (i32.add
- (i32.rem_s
- (get_local $6)
- (i32.const 9)
- )
- (i32.const 1)
- )
- )
- (i32.const 9)
- )
- (block
- (set_local $12
- (i32.const 10)
- )
- (loop $while-in80
- (set_local $12
- (i32.mul
- (get_local $12)
- (i32.const 10)
- )
- )
- (br_if $while-in80
- (i32.ne
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 1)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (tee_local $13
+ (i32.add
+ (if (result i32)
+ (tee_local $18
+ (i32.eq
+ (i32.or
+ (get_local $7)
+ (i32.const 32)
+ )
+ (i32.const 102)
+ )
+ )
+ (block (result i32)
+ (set_local $19
+ (i32.const 0)
+ )
+ (select
+ (get_local $13)
+ (i32.const 0)
+ (i32.gt_s
+ (get_local $13)
+ (i32.const 0)
+ )
+ )
+ )
+ (block (result i32)
+ (if
+ (i32.lt_s
+ (i32.sub
+ (get_local $27)
+ (tee_local $6
+ (call $_fmt_u
+ (tee_local $6
+ (select
+ (get_local $6)
+ (get_local $13)
+ (i32.lt_s
+ (get_local $13)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ (get_local $32)
+ )
+ )
+ )
+ (i32.const 2)
+ )
+ (loop $while-in98
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in98
+ (i32.lt_s
+ (i32.sub
+ (get_local $27)
+ (get_local $6)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (i32.store8
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $13)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ (i32.const 43)
+ )
+ )
+ (i32.store8
+ (tee_local $19
+ (i32.add
+ (get_local $6)
+ (i32.const -2)
+ )
+ )
+ (get_local $7)
+ )
+ (i32.sub
+ (get_local $27)
+ (get_local $19)
+ )
+ )
+ )
+ (i32.add
+ (i32.add
+ (i32.add
+ (get_local $26)
+ (i32.const 1)
+ )
+ (get_local $5)
+ )
+ (i32.ne
+ (tee_local $31
+ (i32.or
+ (get_local $5)
+ (get_local $21)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ )
)
+ (get_local $11)
)
- (i32.const 9)
- )
- )
- )
- )
- (set_local $12
- (i32.const 10)
- )
- )
- (set_local $13
- (call $i32u-rem
- (tee_local $24
- (i32.load
- (tee_local $6
- (i32.add
- (i32.add
- (get_local $8)
- (i32.shl
- (get_local $13)
- (i32.const 2)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $30)
+ (get_local $26)
+ (get_local $0)
)
)
- (i32.const -4092)
)
- )
- )
- )
- (get_local $12)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $38
- (i32.eq
- (i32.add
- (get_local $6)
- (i32.const 4)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $15)
+ (get_local $13)
+ (i32.xor
+ (get_local $11)
+ (i32.const 65536)
+ )
)
- (get_local $9)
- )
- )
- (i32.eqz
- (get_local $13)
- )
- )
- )
- (block $do-once81
- (set_local $50
- (call $i32u-div
- (get_local $24)
- (get_local $12)
- )
- )
- (set_local $16
- (if (result f64)
- (i32.lt_u
- (get_local $13)
- (tee_local $51
- (call $i32s-div
- (get_local $12)
- (i32.const 2)
+ (if
+ (get_local $18)
+ (block
+ (set_local $6
+ (tee_local $12
+ (select
+ (get_local $8)
+ (get_local $12)
+ (i32.gt_u
+ (get_local $12)
+ (get_local $8)
+ )
+ )
+ )
+ )
+ (loop $while-in102
+ (set_local $7
+ (call $_fmt_u
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 0)
+ (get_local $29)
+ )
+ )
+ (block $do-once103
+ (if
+ (i32.eq
+ (get_local $6)
+ (get_local $12)
+ )
+ (block
+ (br_if $do-once103
+ (i32.ne
+ (get_local $7)
+ (get_local $29)
+ )
+ )
+ (i32.store8
+ (get_local $33)
+ (i32.const 48)
+ )
+ (set_local $7
+ (get_local $33)
+ )
+ )
+ (block
+ (br_if $do-once103
+ (i32.le_u
+ (get_local $7)
+ (get_local $22)
+ )
+ )
+ (loop $while-in106
+ (i32.store8
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in106
+ (i32.gt_u
+ (get_local $7)
+ (get_local $22)
+ )
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $7)
+ (i32.sub
+ (get_local $42)
+ (get_local $7)
+ )
+ (get_local $0)
+ )
+ )
+ )
+ (if
+ (i32.le_u
+ (tee_local $7
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (get_local $8)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
+ )
+ (br $while-in102)
+ )
+ )
+ )
+ (if
+ (get_local $31)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ )
+ (if
+ (i32.and
+ (i32.lt_u
+ (get_local $7)
+ (get_local $9)
+ )
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ (loop $while-in110
+ (if
+ (i32.gt_u
+ (tee_local $6
+ (call $_fmt_u
+ (i32.load
+ (get_local $7)
+ )
+ (i32.const 0)
+ (get_local $29)
+ )
+ )
+ (get_local $22)
+ )
+ (loop $while-in112
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in112
+ (i32.gt_u
+ (get_local $6)
+ (get_local $22)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $6)
+ (select
+ (i32.const 9)
+ (get_local $5)
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 9)
+ )
+ )
+ (get_local $0)
+ )
+ )
+ )
+ (set_local $6
+ (i32.add
+ (get_local $5)
+ (i32.const -9)
+ )
+ )
+ (set_local $5
+ (if (result i32)
+ (i32.and
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ )
+ (get_local $9)
+ )
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 9)
+ )
+ )
+ (block
+ (set_local $5
+ (get_local $6)
+ )
+ (br $while-in110)
+ )
+ (get_local $6)
+ )
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
+ (get_local $5)
+ (i32.const 9)
+ )
+ (i32.const 9)
+ (i32.const 0)
+ )
+ )
+ (block $do-once99
+ (set_local $9
+ (select
+ (get_local $9)
+ (i32.add
+ (get_local $12)
+ (i32.const 4)
+ )
+ (get_local $24)
+ )
+ )
+ (if
+ (i32.gt_s
+ (get_local $5)
+ (i32.const -1)
+ )
+ (block
+ (set_local $18
+ (i32.eqz
+ (get_local $21)
+ )
+ )
+ (set_local $6
+ (get_local $12)
+ )
+ (set_local $7
+ (get_local $5)
+ )
+ (loop $while-in114
+ (if
+ (i32.eq
+ (tee_local $5
+ (call $_fmt_u
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 0)
+ (get_local $29)
+ )
+ )
+ (get_local $29)
+ )
+ (block
+ (i32.store8
+ (get_local $33)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $33)
+ )
+ )
+ )
+ (block $do-once115
+ (if
+ (i32.eq
+ (get_local $6)
+ (get_local $12)
+ )
+ (block
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $5)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ (br_if $do-once115
+ (i32.and
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 1)
+ )
+ (get_local $18)
+ )
+ )
+ (br_if $do-once115
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (block
+ (br_if $do-once115
+ (i32.le_u
+ (get_local $5)
+ (get_local $22)
+ )
+ )
+ (loop $while-in118
+ (i32.store8
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in118
+ (i32.gt_u
+ (get_local $5)
+ (get_local $22)
+ )
+ )
+ )
+ )
+ )
+ )
+ (set_local $8
+ (i32.sub
+ (get_local $42)
+ (get_local $5)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $5)
+ (select
+ (get_local $8)
+ (get_local $7)
+ (i32.gt_s
+ (get_local $7)
+ (get_local $8)
+ )
+ )
+ (get_local $0)
+ )
+ )
+ )
+ (br_if $while-in114
+ (i32.and
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (get_local $9)
+ )
+ (i32.gt_s
+ (tee_local $7
+ (i32.sub
+ (get_local $7)
+ (get_local $8)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ )
+ (set_local $5
+ (get_local $7)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
+ (get_local $5)
+ (i32.const 18)
+ )
+ (i32.const 18)
+ (i32.const 0)
+ )
+ (br_if $do-once99
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $19)
+ (i32.sub
+ (get_local $27)
+ (get_local $19)
+ )
+ (get_local $0)
+ )
+ )
)
)
- )
- (f64.const 0.5)
- (select
- (f64.const 1)
- (f64.const 1.5)
- (i32.and
- (get_local $38)
- (i32.eq
- (get_local $13)
- (get_local $51)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (get_local $13)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
)
)
- )
- )
- )
- (set_local $23
- (select
- (f64.const 9007199254740994)
- (f64.const 9007199254740992)
- (i32.and
- (get_local $50)
- (i32.const 1)
- )
- )
- )
- (if
- (get_local $26)
- (if
- (i32.eq
- (i32.load8_s
- (get_local $30)
+ (select
+ (get_local $15)
+ (get_local $13)
+ (i32.lt_s
+ (get_local $13)
+ (get_local $15)
+ )
)
- (i32.const 45)
)
- (block
- (set_local $23
- (f64.neg
- (get_local $23)
+ (block (result i32)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (tee_local $7
+ (i32.add
+ (tee_local $9
+ (select
+ (i32.const 0)
+ (get_local $26)
+ (tee_local $6
+ (f64.ne
+ (get_local $16)
+ (get_local $16)
+ )
+ )
+ )
+ )
+ (i32.const 3)
+ )
)
+ (get_local $8)
)
- (set_local $16
- (f64.neg
- (get_local $16)
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $5
+ (i32.load
+ (get_local $0)
+ )
+ )
+ (i32.const 32)
+ )
+ )
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $30)
+ (get_local $9)
+ (get_local $0)
+ )
+ )
+ (set_local $5
+ (i32.load
+ (get_local $0)
+ )
+ )
)
)
- )
- )
- )
- (i32.store
- (get_local $6)
- (tee_local $13
- (i32.sub
- (get_local $24)
- (get_local $13)
- )
- )
- )
- (br_if $do-once81
- (f64.eq
- (f64.add
- (get_local $23)
- (get_local $16)
- )
- (get_local $23)
- )
- )
- (i32.store
- (get_local $6)
- (tee_local $7
- (i32.add
- (get_local $13)
- (get_local $12)
- )
- )
- )
- (if
- (i32.gt_u
- (get_local $7)
- (i32.const 999999999)
- )
- (loop $while-in86
- (i32.store
- (get_local $6)
- (i32.const 0)
- )
- (if
- (i32.lt_u
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -4)
+ (set_local $6
+ (select
+ (select
+ (i32.const 4135)
+ (i32.const 4139)
+ (tee_local $8
+ (i32.ne
+ (i32.and
+ (get_local $19)
+ (i32.const 32)
+ )
+ (i32.const 0)
+ )
+ )
)
+ (select
+ (i32.const 4127)
+ (i32.const 4131)
+ (get_local $8)
+ )
+ (get_local $6)
)
- (get_local $5)
)
- (i32.store
- (tee_local $5
- (i32.add
+ (if
+ (i32.eqz
+ (i32.and
(get_local $5)
- (i32.const -4)
+ (i32.const 32)
)
)
- (i32.const 0)
- )
- )
- (i32.store
- (get_local $6)
- (tee_local $7
- (i32.add
- (i32.load
+ (drop
+ (call $___fwritex
(get_local $6)
+ (i32.const 3)
+ (get_local $0)
)
- (i32.const 1)
)
)
- )
- (br_if $while-in86
- (i32.gt_u
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
(get_local $7)
- (i32.const 999999999)
- )
- )
- )
- )
- (set_local $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $21)
- (get_local $5)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
)
- (i32.const 2)
- )
- (i32.const 9)
- )
- )
- (br_if $do-once81
- (i32.lt_u
- (tee_local $13
- (i32.load
- (get_local $5)
+ (select
+ (get_local $15)
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (get_local $15)
+ )
)
)
- (i32.const 10)
)
)
- (set_local $12
- (i32.const 10)
+ (set_local $5
+ (get_local $10)
)
- (loop $while-in88
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 1)
- )
- )
- (br_if $while-in88
- (i32.ge_u
- (get_local $13)
- (tee_local $12
- (i32.mul
- (get_local $12)
- (i32.const 10)
- )
- )
- )
- )
+ (set_local $10
+ (get_local $7)
)
+ (br $label$continue$L1)
)
- )
- (set_local $12
- (get_local $5)
- )
- (set_local $13
- (get_local $7)
- )
- (select
- (tee_local $5
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
+ (set_local $12
+ (get_local $6)
)
- (get_local $9)
- (i32.gt_u
- (get_local $9)
- (get_local $5)
+ (set_local $8
+ (i32.const 0)
)
- )
- )
- (block (result i32)
- (set_local $12
- (get_local $5)
- )
- (set_local $13
- (get_local $7)
- )
- (get_local $9)
- )
- )
- )
- (set_local $9
- (loop $while-in90 (result i32)
- (block $while-out89 (result i32)
- (if
- (i32.le_u
- (get_local $5)
- (get_local $12)
+ (set_local $9
+ (i32.const 4091)
)
- (block
- (set_local $24
- (i32.const 0)
- )
- (br $while-out89
- (get_local $5)
- )
+ (br $__rjto$8
+ (get_local $25)
)
)
- (if (result i32)
- (i32.load
+ (set_local $9
+ (i32.and
+ (get_local $19)
+ (i32.const 32)
+ )
+ )
+ (if
+ (i32.or
(tee_local $7
- (i32.add
- (get_local $5)
- (i32.const -4)
+ (i32.load
+ (get_local $14)
)
)
- )
- (block (result i32)
- (set_local $24
- (i32.const 1)
+ (tee_local $11
+ (i32.load offset=4
+ (get_local $14)
+ )
)
- (get_local $5)
)
(block
- (set_local $5
- (get_local $7)
- )
- (br $while-in90)
- )
- )
- )
- )
- )
- (set_local $5
- (if (result i32)
- (get_local $37)
- (block $do-once91 (result i32)
- (set_local $7
- (if (result i32)
- (i32.and
- (i32.gt_s
- (tee_local $5
- (i32.add
- (i32.xor
- (get_local $31)
- (i32.const 1)
- )
- (get_local $18)
- )
- )
- (get_local $13)
- )
- (i32.gt_s
- (get_local $13)
- (i32.const -5)
- )
+ (set_local $8
+ (get_local $25)
)
- (block (result i32)
- (set_local $18
- (i32.sub
+ (loop $while-in123
+ (i32.store8
+ (tee_local $8
(i32.add
- (get_local $5)
+ (get_local $8)
(i32.const -1)
)
- (get_local $13)
- )
- )
- (i32.add
- (get_local $19)
- (i32.const -1)
- )
- )
- (block (result i32)
- (set_local $18
- (i32.add
- (get_local $5)
- (i32.const -1)
)
- )
- (i32.add
- (get_local $19)
- (i32.const -2)
- )
- )
- )
- )
- (if
- (tee_local $5
- (i32.and
- (get_local $11)
- (i32.const 8)
- )
- )
- (block
- (set_local $21
- (get_local $5)
- )
- (br $do-once91
- (get_local $18)
- )
- )
- )
- (if
- (get_local $24)
- (block $do-once93
- (if
- (i32.eqz
- (tee_local $19
- (i32.load
+ (i32.or
+ (get_local $9)
+ (i32.load8_u
(i32.add
- (get_local $9)
- (i32.const -4)
+ (i32.and
+ (get_local $7)
+ (i32.const 15)
+ )
+ (i32.const 4075)
)
)
)
)
- (block
- (set_local $5
- (i32.const 9)
+ (br_if $while-in123
+ (i32.or
+ (tee_local $7
+ (call $_bitshift64Lshr
+ (get_local $7)
+ (get_local $11)
+ (i32.const 4)
+ )
+ )
+ (tee_local $11
+ (get_global $tempRet0)
+ )
)
- (br $do-once93)
)
)
- (set_local $5
+ (set_local $7
+ (get_local $8)
+ )
+ (set_local $8
(if (result i32)
- (call $i32u-rem
- (get_local $19)
- (i32.const 10)
- )
- (block
- (set_local $5
- (i32.const 0)
+ (i32.or
+ (i32.eqz
+ (i32.or
+ (i32.load
+ (get_local $14)
+ )
+ (i32.load offset=4
+ (get_local $14)
+ )
+ )
+ )
+ (i32.eqz
+ (i32.and
+ (get_local $5)
+ (i32.const 8)
+ )
)
- (br $do-once93)
)
(block (result i32)
- (set_local $6
- (i32.const 10)
+ (set_local $9
+ (i32.const 4091)
)
(i32.const 0)
)
- )
- )
- (loop $while-in96
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
- )
- )
- (br_if $while-in96
- (i32.eqz
- (call $i32u-rem
- (get_local $19)
- (tee_local $6
- (i32.mul
- (get_local $6)
- (i32.const 10)
+ (block (result i32)
+ (set_local $9
+ (i32.add
+ (i32.shr_s
+ (get_local $19)
+ (i32.const 4)
)
+ (i32.const 4091)
)
)
+ (i32.const 2)
)
)
)
)
- (set_local $5
- (i32.const 9)
- )
- )
- (set_local $6
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $9)
- (get_local $21)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- (i32.const -9)
- )
- )
- (if (result i32)
- (i32.eq
- (i32.or
- (get_local $7)
- (i32.const 32)
+ (block
+ (set_local $7
+ (get_local $25)
)
- (i32.const 102)
- )
- (block (result i32)
- (set_local $21
+ (set_local $8
(i32.const 0)
)
- (select
- (get_local $18)
- (tee_local $5
- (select
- (i32.const 0)
- (tee_local $5
- (i32.sub
- (get_local $6)
- (get_local $5)
- )
- )
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- )
- )
- (i32.lt_s
- (get_local $18)
- (get_local $5)
- )
+ (set_local $9
+ (i32.const 4091)
)
)
- (block (result i32)
- (set_local $21
- (i32.const 0)
- )
- (select
- (get_local $18)
- (tee_local $5
- (select
- (i32.const 0)
- (tee_local $5
- (i32.sub
- (i32.add
- (get_local $6)
- (get_local $13)
- )
- (get_local $5)
- )
- )
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- )
- )
- (i32.lt_s
- (get_local $18)
- (get_local $5)
- )
- )
+ )
+ (br $__rjti$8)
+ )
+ (set_local $7
+ (call $_fmt_u
+ (get_local $5)
+ (get_local $7)
+ (get_local $25)
+ )
+ )
+ (set_local $5
+ (get_local $11)
+ )
+ (br $__rjti$8)
+ )
+ (set_local $19
+ (i32.eqz
+ (tee_local $13
+ (call $_memchr
+ (get_local $7)
+ (get_local $6)
)
)
)
- (block (result i32)
- (set_local $21
- (i32.and
- (get_local $11)
- (i32.const 8)
+ )
+ (set_local $11
+ (get_local $8)
+ )
+ (set_local $12
+ (select
+ (get_local $6)
+ (i32.sub
+ (get_local $13)
+ (tee_local $5
+ (get_local $7)
)
)
- (set_local $7
- (get_local $19)
+ (get_local $19)
+ )
+ )
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjto$8
+ (select
+ (i32.add
+ (get_local $5)
+ (get_local $6)
)
- (get_local $18)
+ (get_local $13)
+ (get_local $19)
)
)
)
+ (set_local $5
+ (i32.const 0)
+ )
+ (set_local $7
+ (i32.const 0)
+ )
(set_local $6
- (i32.sub
- (i32.const 0)
- (get_local $13)
+ (i32.load
+ (get_local $14)
)
)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (tee_local $13
- (i32.add
- (i32.add
- (i32.add
- (i32.add
- (get_local $26)
- (i32.const 1)
- )
- (get_local $5)
- )
- (i32.ne
- (tee_local $31
- (i32.or
- (get_local $5)
- (get_local $21)
- )
+ (loop $while-in125
+ (block $while-out124
+ (br_if $while-out124
+ (i32.eqz
+ (tee_local $9
+ (i32.load
+ (get_local $6)
)
- (i32.const 0)
)
)
- (if (result i32)
- (tee_local $18
- (i32.eq
- (i32.or
- (get_local $7)
- (i32.const 32)
+ )
+ (br_if $while-out124
+ (i32.or
+ (i32.lt_s
+ (tee_local $7
+ (call $_wctomb
+ (get_local $35)
+ (get_local $9)
)
- (i32.const 102)
)
+ (i32.const 0)
)
- (block (result i32)
- (set_local $19
- (i32.const 0)
- )
- (select
- (get_local $13)
- (i32.const 0)
- (i32.gt_s
- (get_local $13)
- (i32.const 0)
- )
+ (i32.gt_u
+ (get_local $7)
+ (i32.sub
+ (get_local $8)
+ (get_local $5)
)
)
- (block (result i32)
- (if
- (i32.lt_s
- (i32.sub
- (get_local $27)
- (tee_local $6
- (call $_fmt_u
- (tee_local $6
- (select
- (get_local $6)
- (get_local $13)
- (i32.lt_s
- (get_local $13)
- (i32.const 0)
- )
- )
- )
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- (get_local $32)
- )
- )
- )
- (i32.const 2)
- )
- (loop $while-in98
- (i32.store8
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in98
- (i32.lt_s
- (i32.sub
- (get_local $27)
- (get_local $6)
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.store8
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $13)
- (i32.const 31)
- )
- (i32.const 2)
- )
- (i32.const 43)
- )
- )
- (i32.store8
- (tee_local $19
- (i32.add
- (get_local $6)
- (i32.const -2)
- )
- )
+ )
+ )
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (br_if $while-in125
+ (i32.gt_u
+ (get_local $8)
+ (tee_local $5
+ (i32.add
+ (get_local $5)
(get_local $7)
)
- (i32.sub
- (get_local $27)
- (get_local $19)
- )
)
)
)
)
- (get_local $11)
)
(if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 0)
)
- (drop
- (call $___fwritex
- (get_local $30)
- (get_local $26)
- (get_local $0)
+ (block
+ (set_local $17
+ (i32.const -1)
)
+ (br $label$break$L1)
)
)
(call $_pad
(get_local $0)
- (i32.const 48)
+ (i32.const 32)
(get_local $15)
- (get_local $13)
- (i32.xor
- (get_local $11)
- (i32.const 65536)
- )
+ (get_local $5)
+ (get_local $11)
)
- (if
- (get_local $18)
- (block
+ (if (result i32)
+ (get_local $5)
+ (block (result i32)
(set_local $6
- (tee_local $12
- (select
- (get_local $8)
- (get_local $12)
- (i32.gt_u
- (get_local $12)
- (get_local $8)
- )
- )
- )
+ (i32.const 0)
)
- (loop $while-in102
- (set_local $7
- (call $_fmt_u
- (i32.load
- (get_local $6)
- )
- (i32.const 0)
- (get_local $29)
- )
+ (set_local $7
+ (i32.load
+ (get_local $14)
)
- (block $do-once103
- (if
- (i32.eq
- (get_local $6)
- (get_local $12)
- )
- (block
- (br_if $do-once103
- (i32.ne
+ )
+ (loop $while-in127
+ (drop
+ (br_if $__rjti$7
+ (get_local $5)
+ (i32.eqz
+ (tee_local $8
+ (i32.load
(get_local $7)
- (get_local $29)
)
)
- (i32.store8
- (get_local $33)
- (i32.const 48)
- )
- (set_local $7
- (get_local $33)
- )
)
- (block
- (br_if $do-once103
- (i32.le_u
- (get_local $7)
- (get_local $22)
- )
- )
- (loop $while-in106
- (i32.store8
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const -1)
+ )
+ )
+ (drop
+ (br_if $__rjti$7
+ (get_local $5)
+ (i32.gt_s
+ (tee_local $6
+ (i32.add
+ (tee_local $8
+ (call $_wctomb
+ (get_local $35)
+ (get_local $8)
)
)
- (i32.const 48)
- )
- (br_if $while-in106
- (i32.gt_u
- (get_local $7)
- (get_local $22)
- )
+ (get_local $6)
)
)
+ (get_local $5)
)
)
)
@@ -5788,972 +6648,123 @@
)
(drop
(call $___fwritex
- (get_local $7)
- (i32.sub
- (get_local $43)
- (get_local $7)
- )
- (get_local $0)
- )
- )
- )
- (if
- (i32.le_u
- (tee_local $7
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
- (get_local $8)
- )
- (block
- (set_local $6
- (get_local $7)
- )
- (br $while-in102)
- )
- )
- )
- (if
- (get_local $31)
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
+ (get_local $35)
+ (get_local $8)
(get_local $0)
)
)
)
- )
- (if
- (i32.and
- (i32.gt_s
- (get_local $5)
- (i32.const 0)
- )
- (i32.lt_u
- (get_local $7)
- (get_local $9)
- )
- )
- (loop $while-in110
- (if
- (i32.gt_u
- (tee_local $6
- (call $_fmt_u
- (i32.load
- (get_local $7)
- )
- (i32.const 0)
- (get_local $29)
- )
- )
- (get_local $22)
- )
- (loop $while-in112
- (i32.store8
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in112
- (i32.gt_u
- (get_local $6)
- (get_local $22)
- )
- )
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $6)
- (select
- (i32.const 9)
- (get_local $5)
- (i32.gt_s
- (get_local $5)
- (i32.const 9)
- )
- )
- (get_local $0)
- )
- )
- )
- (set_local $6
- (i32.add
- (get_local $5)
- (i32.const -9)
- )
- )
- (set_local $5
- (if (result i32)
- (i32.and
- (i32.gt_s
- (get_local $5)
- (i32.const 9)
- )
- (i32.lt_u
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (get_local $9)
- )
- )
- (block
- (set_local $5
- (get_local $6)
- )
- (br $while-in110)
- )
- (get_local $6)
- )
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $5)
- (i32.const 9)
- )
- (i32.const 9)
- (i32.const 0)
- )
- )
- (block $do-once99
- (set_local $9
- (select
- (get_local $9)
+ (set_local $7
(i32.add
- (get_local $12)
+ (get_local $7)
(i32.const 4)
)
- (get_local $24)
)
- )
- (if
- (i32.gt_s
- (get_local $5)
- (i32.const -1)
- )
- (block
- (set_local $18
- (i32.eqz
- (get_local $21)
- )
- )
- (set_local $6
- (get_local $12)
- )
- (set_local $7
+ (br_if $while-in127
+ (i32.lt_u
+ (get_local $6)
(get_local $5)
)
- (loop $while-in114
- (if
- (i32.eq
- (tee_local $5
- (call $_fmt_u
- (i32.load
- (get_local $6)
- )
- (i32.const 0)
- (get_local $29)
- )
- )
- (get_local $29)
- )
- (block
- (i32.store8
- (get_local $33)
- (i32.const 48)
- )
- (set_local $5
- (get_local $33)
- )
- )
- )
- (block $do-once115
- (if
- (i32.eq
- (get_local $6)
- (get_local $12)
- )
- (block
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $5)
- (i32.const 1)
- (get_local $0)
- )
- )
- )
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
- )
- )
- (br_if $do-once115
- (i32.and
- (get_local $18)
- (i32.lt_s
- (get_local $7)
- (i32.const 1)
- )
- )
- )
- (br_if $do-once115
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $0)
- )
- )
- )
- (block
- (br_if $do-once115
- (i32.le_u
- (get_local $5)
- (get_local $22)
- )
- )
- (loop $while-in118
- (i32.store8
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in118
- (i32.gt_u
- (get_local $5)
- (get_local $22)
- )
- )
- )
- )
- )
- )
- (set_local $8
- (i32.sub
- (get_local $43)
- (get_local $5)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $5)
- (select
- (get_local $8)
- (get_local $7)
- (i32.gt_s
- (get_local $7)
- (get_local $8)
- )
- )
- (get_local $0)
- )
- )
- )
- (br_if $while-in114
- (i32.and
- (i32.lt_u
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
- (get_local $9)
- )
- (i32.gt_s
- (tee_local $7
- (i32.sub
- (get_local $7)
- (get_local $8)
- )
- )
- (i32.const -1)
- )
- )
- )
- )
- (set_local $5
- (get_local $7)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $5)
- (i32.const 18)
- )
- (i32.const 18)
- (i32.const 0)
- )
- (br_if $do-once99
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $19)
- (i32.sub
- (get_local $27)
- (get_local $19)
- )
- (get_local $0)
- )
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (get_local $13)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (select
- (get_local $15)
- (get_local $13)
- (i32.lt_s
- (get_local $13)
- (get_local $15)
- )
- )
- )
- (block (result i32)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (tee_local $7
- (i32.add
- (tee_local $9
- (select
- (i32.const 0)
- (get_local $26)
- (tee_local $6
- (f64.ne
- (get_local $16)
- (get_local $16)
- )
- )
- )
- )
- (i32.const 3)
- )
- )
- (get_local $8)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $5
- (i32.load
- (get_local $0)
- )
)
- (i32.const 32)
)
+ (get_local $5)
)
- (block
- (drop
- (call $___fwritex
- (get_local $30)
- (get_local $9)
- (get_local $0)
- )
- )
- (set_local $5
- (i32.load
- (get_local $0)
- )
- )
- )
- )
- (set_local $6
- (select
- (select
- (i32.const 4135)
- (i32.const 4139)
- (tee_local $8
- (i32.ne
- (i32.and
- (get_local $19)
- (i32.const 32)
- )
- (i32.const 0)
- )
- )
- )
- (select
- (i32.const 4127)
- (i32.const 4131)
- (get_local $8)
- )
- (get_local $6)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (get_local $5)
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $6)
- (i32.const 3)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (select
- (get_local $15)
- (get_local $7)
- (i32.lt_s
- (get_local $7)
- (get_local $15)
- )
+ (i32.const 0)
)
)
)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
)
(set_local $5
(get_local $10)
)
(set_local $10
- (get_local $7)
+ (select
+ (get_local $15)
+ (get_local $7)
+ (i32.gt_s
+ (get_local $15)
+ (get_local $7)
+ )
+ )
)
(br $label$continue$L1)
)
- (set_local $12
- (get_local $6)
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjto$8
- (get_local $25)
- )
- )
- (set_local $9
- (i32.and
- (get_local $19)
- (i32.const 32)
- )
- )
- (if
- (i32.or
- (tee_local $7
- (i32.load
- (get_local $14)
+ (set_local $11
+ (select
+ (i32.and
+ (get_local $5)
+ (i32.const -65537)
)
- )
- (tee_local $11
- (i32.load offset=4
- (get_local $14)
+ (get_local $5)
+ (i32.gt_s
+ (get_local $6)
+ (i32.const -1)
)
)
)
- (block
- (set_local $8
- (get_local $25)
- )
- (loop $while-in123
- (i32.store8
- (tee_local $8
- (i32.add
- (get_local $8)
- (i32.const -1)
- )
- )
+ (if (result i32)
+ (i32.or
+ (get_local $6)
+ (tee_local $5
(i32.or
- (i32.load8_u
- (i32.add
- (i32.and
- (get_local $7)
- (i32.const 15)
- )
- (i32.const 4075)
+ (i32.ne
+ (i32.load
+ (get_local $14)
)
+ (i32.const 0)
)
- (get_local $9)
- )
- )
- (br_if $while-in123
- (i32.or
- (tee_local $7
- (call $_bitshift64Lshr
- (get_local $7)
- (get_local $11)
- (i32.const 4)
+ (i32.ne
+ (i32.load offset=4
+ (get_local $14)
)
- )
- (tee_local $11
- (get_global $tempRet0)
+ (i32.const 0)
)
)
)
)
- (set_local $7
- (get_local $8)
- )
- (set_local $8
- (if (result i32)
- (i32.or
- (i32.eqz
- (i32.and
- (get_local $5)
- (i32.const 8)
- )
- )
- (i32.eqz
- (i32.or
- (i32.load
- (get_local $14)
+ (block (result i32)
+ (set_local $12
+ (select
+ (get_local $6)
+ (tee_local $7
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $5)
+ (i32.const 1)
+ )
+ (i32.const 1)
)
- (i32.load offset=4
- (get_local $14)
+ (i32.sub
+ (get_local $38)
+ (tee_local $5
+ (get_local $7)
+ )
)
)
)
- )
- (block (result i32)
- (set_local $9
- (i32.const 4091)
- )
- (i32.const 0)
- )
- (block (result i32)
- (set_local $9
- (i32.add
- (i32.shr_s
- (get_local $19)
- (i32.const 4)
- )
- (i32.const 4091)
- )
+ (i32.gt_s
+ (get_local $6)
+ (get_local $7)
)
- (i32.const 2)
)
)
- )
- )
- (block
- (set_local $7
(get_local $25)
)
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- )
- )
- (br $__rjti$8)
- )
- (set_local $7
- (call $_fmt_u
- (get_local $5)
- (get_local $7)
- (get_local $25)
- )
- )
- (set_local $5
- (get_local $11)
- )
- (br $__rjti$8)
- )
- (set_local $19
- (i32.eqz
- (tee_local $13
- (call $_memchr
- (get_local $7)
- (get_local $6)
- )
- )
- )
- )
- (set_local $11
- (get_local $8)
- )
- (set_local $12
- (select
- (get_local $6)
- (i32.sub
- (get_local $13)
- (tee_local $5
- (get_local $7)
- )
- )
- (get_local $19)
- )
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjto$8
- (select
- (i32.add
- (get_local $5)
- (get_local $6)
- )
- (get_local $13)
- (get_local $19)
- )
- )
- )
- (set_local $5
- (i32.const 0)
- )
- (set_local $7
- (i32.const 0)
- )
- (set_local $6
- (i32.load
- (get_local $14)
- )
- )
- (loop $while-in125
- (block $while-out124
- (br_if $while-out124
- (i32.eqz
- (tee_local $9
- (i32.load
- (get_local $6)
- )
- )
- )
- )
- (br_if $while-out124
- (i32.or
- (i32.lt_s
- (tee_local $7
- (call $_wctomb
- (get_local $35)
- (get_local $9)
- )
- )
- (i32.const 0)
- )
- (i32.gt_u
- (get_local $7)
- (i32.sub
- (get_local $8)
- (get_local $5)
- )
- )
- )
- )
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
- (br_if $while-in125
- (i32.gt_u
- (get_local $8)
- (tee_local $5
- (i32.add
- (get_local $7)
- (get_local $5)
- )
- )
- )
- )
- )
- )
- (if
- (i32.lt_s
- (get_local $7)
- (i32.const 0)
- )
- (block
- (set_local $17
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (get_local $5)
- (get_local $11)
- )
- (if (result i32)
- (get_local $5)
- (block (result i32)
- (set_local $6
- (i32.const 0)
- )
- (set_local $7
- (i32.load
- (get_local $14)
- )
- )
- (loop $while-in127
- (drop
- (br_if $__rjti$7
- (get_local $5)
- (i32.eqz
- (tee_local $8
- (i32.load
- (get_local $7)
- )
- )
- )
- )
- )
- (drop
- (br_if $__rjti$7
- (get_local $5)
- (i32.gt_s
- (tee_local $6
- (i32.add
- (tee_local $8
- (call $_wctomb
- (get_local $35)
- (get_local $8)
- )
- )
- (get_local $6)
- )
+ (block (result i32)
+ (set_local $12
+ (i32.const 0)
)
- (get_local $5)
- )
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
+ (tee_local $5
+ (get_local $25)
)
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $35)
- (get_local $8)
- (get_local $0)
)
)
)
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (br_if $while-in127
- (i32.lt_u
- (get_local $6)
- (get_local $5)
- )
- )
- )
- (get_local $5)
- )
- (i32.const 0)
- )
- )
- )
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (select
- (get_local $15)
- (get_local $7)
- (i32.gt_s
- (get_local $15)
- (get_local $7)
- )
- )
- )
- (br $label$continue$L1)
- )
- (set_local $11
- (select
- (i32.and
- (get_local $5)
- (i32.const -65537)
- )
- (get_local $5)
- (i32.gt_s
- (get_local $6)
- (i32.const -1)
- )
- )
- )
- (if (result i32)
- (i32.or
- (get_local $6)
- (tee_local $5
- (i32.or
- (i32.ne
- (i32.load
- (get_local $14)
- )
- (i32.const 0)
- )
- (i32.ne
- (i32.load offset=4
- (get_local $14)
- )
- (i32.const 0)
- )
- )
- )
- )
- (block (result i32)
- (set_local $12
- (select
- (get_local $6)
- (tee_local $7
- (i32.add
- (i32.xor
- (i32.and
- (get_local $5)
- (i32.const 1)
- )
- (i32.const 1)
- )
- (i32.sub
- (get_local $39)
- (tee_local $5
- (get_local $7)
- )
- )
- )
- )
- (i32.gt_s
- (get_local $6)
- (get_local $7)
- )
- )
- )
- (get_local $25)
- )
- (block (result i32)
- (set_local $12
- (i32.const 0)
- )
- (tee_local $5
- (get_local $25)
- )
- )
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (tee_local $7
- (select
- (tee_local $6
- (i32.add
- (get_local $8)
- (tee_local $12
- (select
- (tee_local $13
- (i32.sub
- (get_local $7)
(get_local $5)
)
)
@@ -6764,6 +6775,7 @@
)
)
)
+ (get_local $8)
)
)
(get_local $15)
@@ -6863,22 +6875,22 @@
(tee_local $1
(i32.load
(i32.add
- (get_local $4)
(i32.shl
(get_local $0)
(i32.const 2)
)
+ (get_local $4)
)
)
)
(block
(call $_pop_arg_336
(i32.add
- (get_local $3)
(i32.shl
(get_local $0)
(i32.const 3)
)
+ (get_local $3)
)
(get_local $1)
(get_local $2)
@@ -6910,11 +6922,11 @@
(if
(i32.load
(i32.add
- (get_local $4)
(i32.shl
(get_local $0)
(i32.const 2)
)
+ (get_local $4)
)
)
(block
@@ -7358,10 +7370,6 @@
(local $4 i32)
(if
(i32.or
- (i32.gt_u
- (get_local $1)
- (i32.const 0)
- )
(i32.and
(i32.eqz
(get_local $1)
@@ -7371,6 +7379,10 @@
(i32.const -1)
)
)
+ (i32.gt_u
+ (get_local $1)
+ (i32.const 0)
+ )
)
(loop $while-in
(i32.store8
@@ -7404,10 +7416,6 @@
(set_local $0
(if (result i32)
(i32.or
- (i32.gt_u
- (get_local $1)
- (i32.const 9)
- )
(i32.and
(i32.eq
(get_local $1)
@@ -7418,6 +7426,10 @@
(i32.const -1)
)
)
+ (i32.gt_u
+ (get_local $1)
+ (i32.const 9)
+ )
)
(block
(set_local $0
@@ -7498,16 +7510,16 @@
)
(if
(i32.and
- (i32.gt_s
- (get_local $2)
- (get_local $3)
- )
(i32.eqz
(i32.and
(get_local $4)
(i32.const 73728)
)
)
+ (i32.gt_s
+ (get_local $2)
+ (get_local $3)
+ )
)
(block $do-once
(drop
@@ -7680,48 +7692,47 @@
(i32.const 3)
)
(block
- (set_local $11
- (i32.load
- (tee_local $1
- (i32.add
- (tee_local $7
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $2
+ (if
+ (i32.eq
+ (tee_local $7
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (tee_local $11
+ (i32.load
+ (tee_local $3
(i32.add
- (i32.shl
- (tee_local $4
- (i32.add
- (i32.xor
- (i32.and
- (get_local $10)
- (i32.const 1)
+ (tee_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $4
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $10)
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (get_local $13)
)
- (i32.const 1)
)
- (get_local $13)
+ (i32.const 3)
)
+ (i32.const 216)
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
- )
- )
- (if
- (i32.eq
(get_local $2)
- (get_local $11)
)
(i32.store
(i32.const 176)
@@ -7739,7 +7750,7 @@
(block
(if
(i32.lt_u
- (get_local $11)
+ (get_local $7)
(i32.load
(i32.const 192)
)
@@ -7748,15 +7759,15 @@
)
(if
(i32.eq
+ (get_local $11)
(i32.load
(tee_local $0
(i32.add
- (get_local $11)
+ (get_local $7)
(i32.const 12)
)
)
)
- (get_local $7)
)
(block
(i32.store
@@ -7765,7 +7776,7 @@
)
(i32.store
(get_local $3)
- (get_local $11)
+ (get_local $7)
)
)
(call $_abort)
@@ -7773,7 +7784,7 @@
)
)
(i32.store offset=4
- (get_local $7)
+ (get_local $11)
(i32.or
(tee_local $0
(i32.shl
@@ -7788,8 +7799,8 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $7)
(get_local $0)
+ (get_local $11)
)
(i32.const 4)
)
@@ -7819,77 +7830,108 @@
(if
(get_local $10)
(block
- (set_local $7
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.add
- (i32.and
- (tee_local $3
- (i32.and
- (i32.shl
- (get_local $10)
- (get_local $13)
- )
- (i32.or
- (tee_local $3
- (i32.shl
- (i32.const 2)
- (get_local $13)
- )
- )
- (i32.sub
- (i32.const 0)
- (get_local $3)
- )
- )
- )
- )
- (i32.sub
- (i32.const 0)
- (get_local $3)
- )
- )
- (i32.const -1)
- )
- )
- (i32.const 12)
- )
- (i32.const 16)
- )
- )
- (set_local $10
- (i32.load
- (tee_local $4
- (i32.add
- (tee_local $8
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $7
+ (if
+ (i32.eq
+ (tee_local $8
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (tee_local $10
+ (i32.load
+ (tee_local $3
(i32.add
- (i32.shl
- (tee_local $11
- (i32.add
- (i32.or
- (i32.or
+ (tee_local $7
+ (i32.add
+ (i32.shl
+ (tee_local $11
+ (i32.add
(i32.or
(i32.or
+ (i32.or
+ (i32.or
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.add
+ (i32.and
+ (tee_local $3
+ (i32.and
+ (i32.or
+ (tee_local $3
+ (i32.shl
+ (i32.const 2)
+ (get_local $13)
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
+ )
+ )
+ (i32.shl
+ (get_local $10)
+ (get_local $13)
+ )
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ (i32.const 12)
+ )
+ (i32.const 16)
+ )
+ )
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.shr_u
+ (get_local $4)
+ (get_local $3)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.shr_u
+ (get_local $4)
+ (get_local $3)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ )
(tee_local $3
(i32.and
(i32.shr_u
(tee_local $4
(i32.shr_u
+ (get_local $4)
(get_local $3)
- (get_local $7)
)
)
- (i32.const 5)
+ (i32.const 1)
)
- (i32.const 8)
+ (i32.const 2)
)
)
- (get_local $7)
)
(tee_local $3
(i32.and
@@ -7900,67 +7942,34 @@
(get_local $3)
)
)
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $4
- (i32.shr_u
- (get_local $4)
- (get_local $3)
- )
+ (i32.const 1)
)
(i32.const 1)
)
- (i32.const 2)
)
)
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $4
- (i32.shr_u
- (get_local $4)
- (get_local $3)
- )
- )
- (i32.const 1)
- )
- (i32.const 1)
+ (i32.shr_u
+ (get_local $4)
+ (get_local $3)
)
)
)
- (i32.shr_u
- (get_local $4)
- (get_local $3)
- )
+ (i32.const 3)
)
+ (i32.const 216)
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
- )
- )
- (if
- (i32.eq
(get_local $7)
- (get_local $10)
)
(block
(i32.store
@@ -7983,7 +7992,7 @@
(block
(if
(i32.lt_u
- (get_local $10)
+ (get_local $8)
(i32.load
(i32.const 192)
)
@@ -7995,12 +8004,12 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $10)
+ (get_local $8)
(i32.const 12)
)
)
)
- (get_local $8)
+ (get_local $10)
)
(block
(i32.store
@@ -8009,7 +8018,7 @@
)
(i32.store
(get_local $3)
- (get_local $10)
+ (get_local $8)
)
(set_local $9
(i32.load
@@ -8022,7 +8031,7 @@
)
)
(i32.store offset=4
- (get_local $8)
+ (get_local $10)
(i32.or
(get_local $2)
(i32.const 3)
@@ -8031,8 +8040,8 @@
(i32.store offset=4
(tee_local $7
(i32.add
- (get_local $8)
(get_local $2)
+ (get_local $10)
)
)
(i32.or
@@ -8121,8 +8130,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $3)
(get_local $0)
+ (get_local $3)
)
)
(set_local $5
@@ -8174,26 +8183,6 @@
)
)
(block
- (set_local $7
- (i32.and
- (i32.shr_u
- (tee_local $0
- (i32.add
- (i32.and
- (get_local $0)
- (i32.sub
- (i32.const 0)
- (get_local $0)
- )
- )
- (i32.const -1)
- )
- )
- (i32.const 12)
- )
- (i32.const 16)
- )
- )
(set_local $11
(i32.sub
(i32.and
@@ -8210,9 +8199,29 @@
(i32.and
(i32.shr_u
(tee_local $1
+ (i32.add
+ (i32.and
+ (get_local $0)
+ (i32.sub
+ (i32.const 0)
+ (get_local $0)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ (i32.const 12)
+ )
+ (i32.const 16)
+ )
+ )
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $1
(i32.shr_u
+ (get_local $1)
(get_local $0)
- (get_local $7)
)
)
(i32.const 5)
@@ -8220,7 +8229,6 @@
(i32.const 8)
)
)
- (get_local $7)
)
(tee_local $0
(i32.and
@@ -8364,8 +8372,8 @@
(get_local $8)
(tee_local $5
(i32.add
- (get_local $8)
(get_local $2)
+ (get_local $8)
)
)
)
@@ -8489,6 +8497,7 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load
(tee_local $7
(i32.add
@@ -8497,7 +8506,6 @@
)
)
)
- (get_local $8)
)
(call $_abort)
)
@@ -8535,7 +8543,6 @@
(block $do-once8
(if
(i32.eq
- (get_local $8)
(i32.load
(tee_local $0
(i32.add
@@ -8551,6 +8558,7 @@
)
)
)
+ (get_local $8)
)
(block
(i32.store
@@ -8697,8 +8705,8 @@
(i32.or
(tee_local $0
(i32.add
- (get_local $6)
(get_local $2)
+ (get_local $6)
)
)
(i32.const 3)
@@ -8708,8 +8716,8 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $8)
(get_local $0)
+ (get_local $8)
)
(i32.const 4)
)
@@ -8814,8 +8822,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(set_local $12
@@ -8909,83 +8917,87 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $2)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
+ (block (result i32)
+ (set_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
)
+ (i32.const 16)
)
- (get_local $3)
+ (i32.const 8)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (get_local $4)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $2)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (get_local $1)
+ (get_local $4)
)
+ (get_local $3)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $3)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
)
@@ -9053,8 +9065,8 @@
(set_local $1
(if (result i32)
(i32.eq
- (get_local $12)
(get_local $2)
+ (get_local $12)
)
(block
(set_local $1
@@ -9147,15 +9159,20 @@
)
)
)
- (set_local $0
- (i32.const 0)
+ (block
+ (set_local $4
+ (i32.const 0)
+ )
+ (set_local $0
+ (i32.const 0)
+ )
)
)
(if
(i32.eqz
(i32.or
- (get_local $4)
(get_local $0)
+ (get_local $4)
)
)
(block
@@ -9183,26 +9200,6 @@
)
)
)
- (set_local $12
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.add
- (i32.and
- (get_local $1)
- (i32.sub
- (i32.const 0)
- (get_local $1)
- )
- )
- (i32.const -1)
- )
- )
- (i32.const 12)
- )
- (i32.const 16)
- )
- )
(set_local $4
(i32.load offset=480
(i32.shl
@@ -9215,9 +9212,29 @@
(i32.and
(i32.shr_u
(tee_local $4
+ (i32.add
+ (i32.and
+ (get_local $1)
+ (i32.sub
+ (i32.const 0)
+ (get_local $1)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ (i32.const 12)
+ )
+ (i32.const 16)
+ )
+ )
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
(i32.shr_u
+ (get_local $4)
(get_local $1)
- (get_local $12)
)
)
(i32.const 5)
@@ -9225,7 +9242,6 @@
(i32.const 8)
)
)
- (get_local $12)
)
(tee_local $1
(i32.and
@@ -9388,8 +9404,8 @@
(get_local $4)
(tee_local $5
(i32.add
- (get_local $4)
(get_local $2)
+ (get_local $4)
)
)
)
@@ -9513,6 +9529,7 @@
)
(if
(i32.ne
+ (get_local $4)
(i32.load
(tee_local $7
(i32.add
@@ -9521,7 +9538,6 @@
)
)
)
- (get_local $4)
)
(call $_abort)
)
@@ -9559,7 +9575,6 @@
(block $do-once21
(if
(i32.eq
- (get_local $4)
(i32.load
(tee_local $0
(i32.add
@@ -9575,6 +9590,7 @@
)
)
)
+ (get_local $4)
)
(block
(i32.store
@@ -9721,8 +9737,8 @@
(i32.or
(tee_local $0
(i32.add
- (get_local $3)
(get_local $2)
+ (get_local $3)
)
)
(i32.const 3)
@@ -9732,8 +9748,8 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $4)
(get_local $0)
+ (get_local $4)
)
(i32.const 4)
)
@@ -9763,8 +9779,8 @@
)
(i32.store
(i32.add
- (get_local $5)
(get_local $3)
+ (get_local $5)
)
(get_local $3)
)
@@ -9833,8 +9849,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(set_local $13
@@ -9884,83 +9900,87 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $3)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
+ (block (result i32)
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
)
+ (i32.const 16)
)
- (get_local $2)
+ (i32.const 8)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (get_local $7)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $3)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (get_local $1)
+ (get_local $7)
)
+ (get_local $2)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $2)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
)
@@ -10009,8 +10029,8 @@
(i32.store
(i32.const 180)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(i32.store
@@ -10236,8 +10256,8 @@
(i32.const 196)
(tee_local $1
(i32.add
- (get_local $2)
(get_local $0)
+ (get_local $2)
)
)
)
@@ -10287,8 +10307,8 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $2)
)
(i32.const 4)
)
@@ -10329,15 +10349,15 @@
)
(if
(i32.and
- (i32.add
- (tee_local $1
- (call $_sysconf
- (i32.const 30)
- )
+ (tee_local $1
+ (call $_sysconf
+ (i32.const 30)
)
+ )
+ (i32.add
+ (get_local $1)
(i32.const -1)
)
- (get_local $1)
)
(call $_abort)
(block
@@ -10536,33 +10556,36 @@
)
(i32.const 2147483647)
)
- (if
- (i32.eq
- (tee_local $1
- (call $_sbrk
- (get_local $3)
- )
- )
- (i32.add
- (i32.load
- (get_local $4)
- )
- (i32.load
- (get_local $2)
- )
+ (block
+ (set_local $1
+ (call $_sbrk
+ (get_local $3)
)
)
- (br_if $__rjti$13
- (i32.ne
+ (if
+ (i32.eq
+ (i32.add
+ (i32.load
+ (get_local $4)
+ )
+ (i32.load
+ (get_local $2)
+ )
+ )
(get_local $1)
- (i32.const -1)
)
- )
- (block
- (set_local $2
- (get_local $1)
+ (br_if $__rjti$13
+ (i32.ne
+ (get_local $1)
+ (i32.const -1)
+ )
+ )
+ (block
+ (set_local $2
+ (get_local $1)
+ )
+ (br $__rjti$5)
)
- (br $__rjti$5)
)
)
)
@@ -10581,6 +10604,9 @@
(set_local $3
(if (result i32)
(i32.and
+ (tee_local $3
+ (get_local $1)
+ )
(tee_local $2
(i32.add
(tee_local $4
@@ -10591,9 +10617,6 @@
(i32.const -1)
)
)
- (tee_local $3
- (get_local $1)
- )
)
(i32.add
(i32.sub
@@ -10626,14 +10649,14 @@
)
(if
(i32.and
- (i32.gt_u
- (get_local $3)
- (get_local $0)
- )
(i32.lt_u
(get_local $3)
(i32.const 2147483647)
)
+ (i32.gt_u
+ (get_local $3)
+ (get_local $0)
+ )
)
(block
(if
@@ -10657,12 +10680,12 @@
)
(br_if $__rjti$13
(i32.eq
+ (get_local $1)
(tee_local $2
(call $_sbrk
(get_local $3)
)
)
- (get_local $1)
)
)
(br $__rjti$5)
@@ -10684,19 +10707,19 @@
(set_local $3
(if (result i32)
(i32.and
- (i32.gt_u
- (get_local $10)
- (get_local $1)
- )
(i32.and
- (i32.lt_u
- (get_local $1)
- (i32.const 2147483647)
- )
(i32.ne
(get_local $2)
(i32.const -1)
)
+ (i32.lt_u
+ (get_local $1)
+ (i32.const 2147483647)
+ )
+ )
+ (i32.gt_u
+ (get_local $10)
+ (get_local $1)
)
)
(if (result i32)
@@ -10704,15 +10727,15 @@
(tee_local $3
(i32.and
(i32.add
- (i32.sub
- (get_local $9)
- (get_local $1)
- )
(tee_local $3
(i32.load
(i32.const 656)
)
)
+ (i32.sub
+ (get_local $9)
+ (get_local $1)
+ )
)
(i32.sub
(i32.const 0)
@@ -10738,8 +10761,8 @@
(br $label$break$L279)
)
(i32.add
- (get_local $3)
(get_local $1)
+ (get_local $3)
)
)
(get_local $1)
@@ -10857,7 +10880,6 @@
(loop $while-in45
(br_if $__rjti$10
(i32.eq
- (get_local $1)
(i32.add
(tee_local $10
(i32.load
@@ -10875,6 +10897,7 @@
)
)
)
+ (get_local $1)
)
)
(br_if $while-in45
@@ -10911,8 +10934,8 @@
(i32.store
(get_local $4)
(i32.add
- (get_local $6)
(get_local $3)
+ (get_local $6)
)
)
(set_local $2
@@ -10943,13 +10966,13 @@
)
(set_local $1
(i32.add
+ (i32.load
+ (i32.const 188)
+ )
(i32.sub
(get_local $3)
(get_local $1)
)
- (i32.load
- (i32.const 188)
- )
)
)
(i32.store
@@ -10969,8 +10992,8 @@
)
(i32.store offset=4
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $2)
)
(i32.const 40)
)
@@ -11075,12 +11098,11 @@
(i32.add
(tee_local $12
(i32.add
- (get_local $1)
(select
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $1
+ (tee_local $3
(i32.add
(get_local $1)
(i32.const 8)
@@ -11091,10 +11113,11 @@
)
(i32.const 0)
(i32.and
- (get_local $1)
+ (get_local $3)
(i32.const 7)
)
)
+ (get_local $1)
)
)
(get_local $0)
@@ -11141,8 +11164,8 @@
)
(if
(i32.eq
- (get_local $6)
(get_local $5)
+ (get_local $6)
)
(block
(i32.store
@@ -11171,10 +11194,10 @@
(block $do-once48
(if
(i32.eq
- (get_local $6)
(i32.load
(i32.const 196)
)
+ (get_local $6)
)
(block
(i32.store
@@ -11201,8 +11224,8 @@
)
(i32.store
(i32.add
- (get_local $9)
(get_local $0)
+ (get_local $9)
)
(get_local $0)
)
@@ -11312,8 +11335,8 @@
)
(if
(i32.eq
- (get_local $2)
(get_local $0)
+ (get_local $2)
)
(set_local $15
(i32.add
@@ -11484,6 +11507,7 @@
)
(if
(i32.ne
+ (get_local $6)
(i32.load
(tee_local $3
(i32.add
@@ -11492,7 +11516,6 @@
)
)
)
- (get_local $6)
)
(call $_abort)
)
@@ -11532,7 +11555,6 @@
)
(if
(i32.eq
- (get_local $6)
(i32.load
(tee_local $0
(i32.add
@@ -11548,6 +11570,7 @@
)
)
)
+ (get_local $6)
)
(block $do-once59
(i32.store
@@ -11689,8 +11712,8 @@
)
(set_local $7
(i32.add
- (get_local $10)
(get_local $7)
+ (get_local $10)
)
)
(i32.add
@@ -11720,8 +11743,8 @@
)
(i32.store
(i32.add
- (get_local $9)
(get_local $7)
+ (get_local $9)
)
(get_local $7)
)
@@ -11793,8 +11816,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(set_local $16
@@ -11844,83 +11867,87 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $7)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
+ (block (result i32)
+ (set_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
)
+ (i32.const 16)
)
- (get_local $3)
+ (i32.const 8)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (get_local $2)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $7)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (get_local $1)
+ (get_local $2)
)
+ (get_local $3)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $3)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
)
@@ -11969,8 +11996,8 @@
(i32.store
(i32.const 180)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(i32.store
@@ -12244,7 +12271,6 @@
(i32.const 200)
(tee_local $6
(i32.add
- (get_local $1)
(tee_local $4
(select
(i32.and
@@ -12266,6 +12292,7 @@
)
)
)
+ (get_local $1)
)
)
)
@@ -12290,8 +12317,8 @@
)
(i32.store offset=4
(i32.add
- (get_local $6)
(get_local $4)
+ (get_local $6)
)
(i32.const 40)
)
@@ -12378,8 +12405,8 @@
)
(if
(i32.ne
- (get_local $10)
(get_local $5)
+ (get_local $10)
)
(block
(i32.store
@@ -12472,8 +12499,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $3)
(get_local $1)
+ (get_local $3)
)
)
(set_local $17
@@ -12523,83 +12550,87 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $6)
- (i32.add
- (tee_local $1
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $3
- (i32.shl
- (get_local $1)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $1)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
+ (block (result i32)
+ (set_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $1)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $1)
+ (i32.const 1048320)
)
+ (i32.const 16)
)
- (get_local $2)
+ (i32.const 8)
)
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $3
- (i32.shl
- (get_local $3)
- (get_local $1)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $1)
+ (get_local $4)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $6)
+ (i32.add
+ (tee_local $1
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (get_local $3)
+ (get_local $4)
)
+ (get_local $2)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $3)
- (get_local $1)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $2)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $1)
- (i32.const 1)
)
)
)
@@ -12643,8 +12674,8 @@
(i32.store
(i32.const 180)
(i32.or
- (get_local $3)
(get_local $1)
+ (get_local $3)
)
)
(i32.store
@@ -12899,15 +12930,14 @@
)
(i32.store
(i32.const 200)
- (tee_local $2
+ (tee_local $4
(i32.add
- (get_local $1)
- (tee_local $1
+ (tee_local $2
(select
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $1
+ (tee_local $2
(i32.add
(get_local $1)
(i32.const 8)
@@ -12918,11 +12948,12 @@
)
(i32.const 0)
(i32.and
- (get_local $1)
+ (get_local $2)
(i32.const 7)
)
)
)
+ (get_local $1)
)
)
)
@@ -12934,12 +12965,12 @@
(get_local $3)
(i32.const -40)
)
- (get_local $1)
+ (get_local $2)
)
)
)
(i32.store offset=4
- (get_local $2)
+ (get_local $4)
(i32.or
(get_local $1)
(i32.const 1)
@@ -12947,8 +12978,8 @@
)
(i32.store offset=4
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $4)
)
(i32.const 40)
)
@@ -13127,16 +13158,16 @@
)
(set_local $0
(i32.add
- (get_local $7)
(get_local $0)
+ (get_local $7)
)
)
(if
(i32.eq
- (get_local $1)
(i32.load
(i32.const 196)
)
+ (get_local $1)
)
(block
(if
@@ -13186,8 +13217,8 @@
)
(i32.store
(i32.add
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
(get_local $0)
)
@@ -13238,10 +13269,10 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load offset=12
(get_local $2)
)
- (get_local $1)
)
(call $_abort)
)
@@ -13249,8 +13280,8 @@
)
(if
(i32.eq
- (get_local $6)
(get_local $2)
+ (get_local $6)
)
(block
(i32.store
@@ -13279,8 +13310,8 @@
)
(if
(i32.eq
- (get_local $6)
(get_local $3)
+ (get_local $6)
)
(set_local $4
(i32.add
@@ -13455,6 +13486,7 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load
(tee_local $7
(i32.add
@@ -13463,7 +13495,6 @@
)
)
)
- (get_local $1)
)
(call $_abort)
)
@@ -13501,7 +13532,6 @@
(block
(if
(i32.eq
- (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -13517,6 +13547,7 @@
)
)
)
+ (get_local $1)
)
(block
(i32.store
@@ -13752,10 +13783,10 @@
(block
(if
(i32.eq
- (get_local $8)
(i32.load
(i32.const 200)
)
+ (get_local $8)
)
(block
(i32.store
@@ -13802,10 +13833,10 @@
)
(if
(i32.eq
- (get_local $8)
(i32.load
(i32.const 196)
)
+ (get_local $8)
)
(block
(i32.store
@@ -13832,8 +13863,8 @@
)
(i32.store
(i32.add
- (get_local $2)
(get_local $0)
+ (get_local $2)
)
(get_local $0)
)
@@ -13896,10 +13927,10 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load offset=12
(get_local $1)
)
- (get_local $8)
)
(call $_abort)
)
@@ -13907,8 +13938,8 @@
)
(if
(i32.eq
- (get_local $4)
(get_local $1)
+ (get_local $4)
)
(block
(i32.store
@@ -13931,8 +13962,8 @@
)
(if
(i32.eq
- (get_local $4)
(get_local $0)
+ (get_local $4)
)
(set_local $14
(i32.add
@@ -14106,6 +14137,7 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load
(tee_local $1
(i32.add
@@ -14114,7 +14146,6 @@
)
)
)
- (get_local $8)
)
(call $_abort)
)
@@ -14152,7 +14183,6 @@
(block
(if
(i32.eq
- (get_local $8)
(i32.load
(tee_local $0
(i32.add
@@ -14168,6 +14198,7 @@
)
)
)
+ (get_local $8)
)
(block
(i32.store
@@ -14328,10 +14359,10 @@
(set_local $3
(if (result i32)
(i32.eq
- (get_local $2)
(i32.load
(i32.const 196)
)
+ (get_local $2)
)
(block
(i32.store
@@ -14410,8 +14441,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $3)
(get_local $0)
+ (get_local $3)
)
)
(set_local $15
@@ -14461,83 +14492,87 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $3)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $4
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
+ (block (result i32)
+ (set_local $5
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
)
+ (i32.const 16)
)
- (get_local $4)
+ (i32.const 8)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (get_local $5)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $3)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (get_local $1)
+ (get_local $5)
)
+ (get_local $4)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $4)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
)
@@ -14735,8 +14770,8 @@
(i32.store
(i32.const 180)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(i32.store
@@ -14903,11 +14938,11 @@
(i32.or
(i32.or
(i32.or
- (get_local $1)
(i32.shl
(get_local $1)
(i32.const 8)
)
+ (get_local $1)
)
(i32.shl
(get_local $1)
@@ -14990,10 +15025,6 @@
)
(return
(i32.or
- (i32.shr_u
- (get_local $0)
- (get_local $2)
- )
(i32.shl
(i32.and
(get_local $1)
@@ -15010,6 +15041,10 @@
(get_local $2)
)
)
+ (i32.shr_u
+ (get_local $0)
+ (get_local $2)
+ )
)
)
)
@@ -15040,7 +15075,6 @@
)
(i32.shr_u
(i32.and
- (get_local $0)
(i32.shl
(i32.sub
(i32.shl
@@ -15054,6 +15088,7 @@
(get_local $2)
)
)
+ (get_local $0)
)
(i32.sub
(i32.const 32)
diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise
index a0d1b78a5..69bcbdba9 100644
--- a/test/emcc_hello_world.fromasm.imprecise
+++ b/test/emcc_hello_world.fromasm.imprecise
@@ -67,8 +67,8 @@
)
(set_global $STACKTOP
(i32.add
- (get_global $STACKTOP)
(get_local $0)
+ (get_global $STACKTOP)
)
)
(set_global $STACKTOP
@@ -759,8 +759,8 @@
)
(set_local $12
(i32.add
- (get_local $3)
(get_local $2)
+ (get_local $3)
)
)
(block $__rjto$1
@@ -829,8 +829,8 @@
)
(br_if $__rjti$0
(i32.eq
- (get_local $12)
(get_local $3)
+ (get_local $12)
)
)
(br_if $__rjti$1
@@ -1017,7 +1017,7 @@
(local $11 i32)
(local $12 i32)
(local $13 i32)
- (set_local $4
+ (set_local $3
(get_global $STACKTOP)
)
(set_global $STACKTOP
@@ -1035,25 +1035,25 @@
)
(set_local $5
(i32.add
- (get_local $4)
+ (get_local $3)
(i32.const 120)
)
)
(set_local $7
- (get_local $4)
+ (get_local $3)
)
(set_local $6
(i32.add
- (get_local $4)
+ (get_local $3)
(i32.const 136)
)
)
(set_local $9
(i32.add
- (tee_local $3
+ (tee_local $4
(tee_local $8
(i32.add
- (get_local $4)
+ (get_local $3)
(i32.const 80)
)
)
@@ -1063,14 +1063,14 @@
)
(loop $do-in
(i32.store
- (get_local $3)
+ (get_local $4)
(i32.const 0)
)
(br_if $do-in
(i32.lt_s
- (tee_local $3
+ (tee_local $4
(i32.add
- (get_local $3)
+ (get_local $4)
(i32.const 4)
)
)
@@ -1152,7 +1152,7 @@
(get_local $6)
)
(i32.store
- (tee_local $9
+ (tee_local $4
(i32.add
(get_local $0)
(i32.const 28)
@@ -1161,7 +1161,7 @@
(get_local $6)
)
(i32.store
- (tee_local $3
+ (tee_local $2
(i32.add
(get_local $0)
(i32.const 20)
@@ -1174,7 +1174,7 @@
(i32.const 80)
)
(i32.store
- (tee_local $2
+ (tee_local $9
(i32.add
(get_local $0)
(i32.const 16)
@@ -1218,7 +1218,7 @@
(get_local $1)
(i32.const -1)
(i32.load
- (get_local $3)
+ (get_local $2)
)
)
)
@@ -1231,15 +1231,15 @@
(i32.const 0)
)
(i32.store
- (get_local $2)
+ (get_local $9)
(i32.const 0)
)
(i32.store
- (get_local $9)
+ (get_local $4)
(i32.const 0)
)
(i32.store
- (get_local $3)
+ (get_local $2)
(i32.const 0)
)
)
@@ -1272,7 +1272,7 @@
)
)
(set_global $STACKTOP
- (get_local $4)
+ (get_local $3)
)
(get_local $0)
)
@@ -1332,15 +1332,18 @@
)
(block
(set_local $3
+ (i32.load offset=36
+ (get_local $2)
+ )
+ )
+ (set_local $3
(call_indirect (type $FUNCSIG$iiii)
(get_local $2)
(get_local $0)
(get_local $1)
(i32.add
(i32.and
- (i32.load offset=36
- (get_local $2)
- )
+ (get_local $3)
(i32.const 7)
)
(i32.const 2)
@@ -1394,6 +1397,11 @@
)
)
)
+ (set_local $4
+ (i32.load offset=36
+ (get_local $2)
+ )
+ )
(br_if $label$break$L5
(i32.lt_u
(call_indirect (type $FUNCSIG$iiii)
@@ -1402,9 +1410,7 @@
(get_local $3)
(i32.add
(i32.and
- (i32.load offset=36
- (get_local $2)
- )
+ (get_local $4)
(i32.const 7)
)
(i32.const 2)
@@ -1453,8 +1459,8 @@
)
(set_local $3
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $2)
)
)
)
@@ -1476,11 +1482,11 @@
(i32.store8
(get_local $2)
(i32.or
+ (get_local $1)
(i32.add
(get_local $1)
(i32.const 255)
)
- (get_local $1)
)
)
(tee_local $0
@@ -1590,10 +1596,6 @@
)
(if
(i32.or
- (i32.lt_u
- (get_local $1)
- (i32.const 55296)
- )
(i32.eq
(i32.and
(get_local $1)
@@ -1601,6 +1603,10 @@
)
(i32.const 57344)
)
+ (i32.lt_u
+ (get_local $1)
+ (i32.const 55296)
+ )
)
(block
(i32.store8
@@ -1939,13 +1945,14 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
+ (local $7 i32)
(tee_local $0
(block $__rjto$0 (result i32)
(block $__rjti$0
(br_if $__rjti$0
(i32.le_u
(i32.load
- (tee_local $1
+ (tee_local $2
(i32.add
(get_local $0)
(i32.const 20)
@@ -1953,7 +1960,7 @@
)
)
(i32.load
- (tee_local $2
+ (tee_local $3
(i32.add
(get_local $0)
(i32.const 28)
@@ -1962,6 +1969,11 @@
)
)
)
+ (set_local $1
+ (i32.load offset=36
+ (get_local $0)
+ )
+ )
(drop
(call_indirect (type $FUNCSIG$iiii)
(get_local $0)
@@ -1969,9 +1981,7 @@
(i32.const 0)
(i32.add
(i32.and
- (i32.load offset=36
- (get_local $0)
- )
+ (get_local $1)
(i32.const 7)
)
(i32.const 2)
@@ -1980,7 +1990,7 @@
)
(br_if $__rjti$0
(i32.load
- (get_local $1)
+ (get_local $2)
)
)
(br $__rjto$0
@@ -1991,7 +2001,7 @@
(i32.lt_u
(tee_local $4
(i32.load
- (tee_local $3
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 4)
@@ -2010,22 +2020,27 @@
)
)
)
- (drop
- (call_indirect (type $FUNCSIG$iiii)
- (get_local $0)
- (i32.sub
- (get_local $4)
- (get_local $6)
+ (block
+ (set_local $7
+ (i32.load offset=40
+ (get_local $0)
)
- (i32.const 1)
- (i32.add
- (i32.and
- (i32.load offset=40
- (get_local $0)
+ )
+ (drop
+ (call_indirect (type $FUNCSIG$iiii)
+ (get_local $0)
+ (i32.sub
+ (get_local $4)
+ (get_local $6)
+ )
+ (i32.const 1)
+ (i32.add
+ (i32.and
+ (get_local $7)
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
@@ -2035,11 +2050,11 @@
(i32.const 0)
)
(i32.store
- (get_local $2)
+ (get_local $3)
(i32.const 0)
)
(i32.store
- (get_local $1)
+ (get_local $2)
(i32.const 0)
)
(i32.store
@@ -2047,7 +2062,7 @@
(i32.const 0)
)
(i32.store
- (get_local $3)
+ (get_local $1)
(i32.const 0)
)
(i32.const 0)
@@ -2140,7 +2155,7 @@
(i32.const 0)
)
)
- (set_local $39
+ (set_local $38
(tee_local $25
(i32.add
(tee_local $5
@@ -2153,15 +2168,15 @@
)
)
)
- (set_local $40
+ (set_local $39
(i32.add
(get_local $5)
(i32.const 39)
)
)
- (set_local $44
+ (set_local $43
(i32.add
- (tee_local $41
+ (tee_local $40
(i32.add
(get_local $14)
(i32.const 8)
@@ -2181,13 +2196,13 @@
(i32.const 12)
)
)
- (set_local $42
+ (set_local $41
(i32.add
(get_local $5)
(i32.const 11)
)
)
- (set_local $45
+ (set_local $44
(i32.sub
(tee_local $27
(get_local $32)
@@ -2202,21 +2217,21 @@
)
)
)
- (set_local $46
+ (set_local $45
(i32.sub
(i32.const -2)
(get_local $36)
)
)
- (set_local $47
+ (set_local $46
(i32.add
(get_local $27)
(i32.const 2)
)
)
- (set_local $49
+ (set_local $48
(i32.add
- (tee_local $48
+ (tee_local $47
(i32.add
(get_local $14)
(i32.const 24)
@@ -2225,7 +2240,7 @@
(i32.const 288)
)
)
- (set_local $43
+ (set_local $42
(tee_local $29
(i32.add
(get_local $22)
@@ -2395,8 +2410,8 @@
)
(if
(i32.ne
- (get_local $10)
(get_local $5)
+ (get_local $10)
)
(block
(set_local $5
@@ -2526,6 +2541,7 @@
)
(set_local $11
(i32.or
+ (get_local $11)
(i32.shl
(i32.const 1)
(i32.add
@@ -2539,7 +2555,6 @@
(i32.const -32)
)
)
- (get_local $11)
)
)
(br_if $while-in4
@@ -2586,6 +2601,12 @@
(if
(i32.eqz
(i32.or
+ (i32.ne
+ (i32.load8_s offset=2
+ (get_local $10)
+ )
+ (i32.const 36)
+ )
(i32.ge_u
(tee_local $11
(i32.add
@@ -2602,22 +2623,16 @@
)
(i32.const 10)
)
- (i32.ne
- (i32.load8_s offset=2
- (get_local $10)
- )
- (i32.const 36)
- )
)
)
(block
(i32.store
(i32.add
- (get_local $4)
(i32.shl
(get_local $11)
(i32.const 2)
)
+ (get_local $4)
)
(i32.const 10)
)
@@ -2625,7 +2640,6 @@
(i32.load offset=4
(tee_local $6
(i32.add
- (get_local $3)
(i32.shl
(i32.add
(i32.load8_s
@@ -2635,6 +2649,7 @@
)
(i32.const 3)
)
+ (get_local $3)
)
)
)
@@ -2757,11 +2772,11 @@
(loop $while-in8
(set_local $6
(i32.add
+ (get_local $6)
(i32.mul
(get_local $11)
(i32.const 10)
)
- (get_local $6)
)
)
(if
@@ -2885,11 +2900,11 @@
(br_if $label$break$L46
(tee_local $6
(i32.add
+ (get_local $6)
(i32.mul
(get_local $8)
(i32.const 10)
)
- (get_local $6)
)
)
(i32.ge_u
@@ -2947,11 +2962,11 @@
(block
(i32.store
(i32.add
- (get_local $4)
(i32.shl
(get_local $8)
(i32.const 2)
)
+ (get_local $4)
)
(i32.const 10)
)
@@ -2959,7 +2974,6 @@
(i32.load offset=4
(tee_local $6
(i32.add
- (get_local $3)
(i32.shl
(i32.add
(i32.load8_s
@@ -2969,6 +2983,7 @@
)
(i32.const 3)
)
+ (get_local $3)
)
)
)
@@ -3078,6 +3093,7 @@
(tee_local $13
(i32.load8_s
(i32.add
+ (get_local $12)
(i32.add
(i32.mul
(get_local $9)
@@ -3085,7 +3101,6 @@
)
(i32.const 3611)
)
- (get_local $12)
)
)
)
@@ -3155,11 +3170,11 @@
(block
(i32.store
(i32.add
- (get_local $4)
(i32.shl
(get_local $18)
(i32.const 2)
)
+ (get_local $4)
)
(get_local $12)
)
@@ -3167,11 +3182,11 @@
(i32.load offset=4
(tee_local $8
(i32.add
- (get_local $3)
(i32.shl
(get_local $18)
(i32.const 3)
)
+ (get_local $3)
)
)
)
@@ -3239,2405 +3254,3250 @@
)
)
)
- (set_local $7
- (block $__rjto$8 (result i32)
- (block $__rjti$8
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (tee_local $7
- (block $__rjti$7 (result i32)
- (block $__rjti$6
- (block $__rjti$5
- (block $__rjti$4
- (block $__rjti$3
- (block $switch-default120
- (block $switch-case119
- (block $switch-case41
- (block $switch-case40
- (block $switch-case39
- (block $switch-case38
- (block $switch-case37
- (block $switch-case36
- (block $switch-case35
- (block $switch-case33
- (block $switch-case30
- (block $switch-case28
- (block $switch-case27
- (br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case30 $switch-default120
- (i32.sub
- (tee_local $19
- (select
- (i32.and
- (tee_local $12
- (i32.load8_s
- (get_local $19)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (tee_local $7
+ (select
+ (tee_local $6
+ (i32.add
+ (tee_local $12
+ (select
+ (tee_local $13
+ (i32.sub
+ (block $__rjto$8 (result i32)
+ (block $__rjti$8
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (tee_local $7
+ (block $__rjti$7 (result i32)
+ (block $__rjti$6
+ (block $__rjti$5
+ (block $__rjti$4
+ (block $__rjti$3
+ (block $switch-default120
+ (block $switch-case119
+ (block $switch-case41
+ (block $switch-case40
+ (block $switch-case39
+ (block $switch-case38
+ (block $switch-case37
+ (block $switch-case36
+ (block $switch-case35
+ (block $switch-case33
+ (block $switch-case30
+ (block $switch-case28
+ (block $switch-case27
+ (br_table $switch-case119 $switch-default120 $switch-case40 $switch-default120 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case30 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case119 $switch-default120 $switch-case37 $switch-case35 $switch-case119 $switch-case119 $switch-case119 $switch-default120 $switch-case35 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case30 $switch-default120
+ (i32.sub
+ (tee_local $19
+ (select
+ (i32.and
+ (tee_local $12
+ (i32.load8_s
+ (get_local $19)
+ )
+ )
+ (i32.const -33)
+ )
+ (get_local $12)
+ (i32.and
+ (i32.eq
+ (i32.and
+ (get_local $12)
+ (i32.const 15)
+ )
+ (i32.const 3)
+ )
+ (i32.ne
+ (get_local $9)
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (i32.const 65)
+ )
+ )
+ )
+ (block $switch-default26
+ (block $switch-case25
+ (block $switch-case24
+ (block $switch-case23
+ (block $switch-case22
+ (block $switch-case21
+ (block $switch-case20
+ (block $switch-case19
+ (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
+ (get_local $9)
+ )
+ )
+ (i32.store
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (tee_local $5
+ (i32.load
+ (get_local $14)
+ )
+ )
+ (get_local $17)
+ )
+ (i32.store offset=4
+ (get_local $5)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $17)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store16
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store8
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (tee_local $5
+ (i32.load
+ (get_local $14)
+ )
+ )
+ (get_local $17)
+ )
+ (i32.store offset=4
+ (get_local $5)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $17)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
)
- )
- (i32.const -33)
- )
- (get_local $12)
- (i32.and
- (i32.ne
- (get_local $9)
- (i32.const 0)
- )
- (i32.eq
- (i32.and
- (get_local $12)
- (i32.const 15)
+ (set_local $5
+ (i32.or
+ (get_local $11)
+ (i32.const 8)
+ )
)
- (i32.const 3)
- )
- )
- )
- )
- (i32.const 65)
- )
- )
- )
- (block $switch-default26
- (block $switch-case25
- (block $switch-case24
- (block $switch-case23
- (block $switch-case22
- (block $switch-case21
- (block $switch-case20
- (block $switch-case19
- (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
- (get_local $9)
+ (set_local $6
+ (select
+ (get_local $6)
+ (i32.const 8)
+ (i32.gt_u
+ (get_local $6)
+ (i32.const 8)
+ )
)
)
- (i32.store
+ (set_local $19
+ (i32.const 120)
+ )
+ (br $__rjti$3)
+ )
+ (set_local $5
+ (get_local $11)
+ )
+ (br $__rjti$3)
+ )
+ (if
+ (i32.or
+ (tee_local $5
(i32.load
(get_local $14)
)
- (get_local $17)
)
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (get_local $7)
+ (tee_local $7
+ (i32.load offset=4
+ (get_local $14)
+ )
)
- (br $label$continue$L1)
)
- (i32.store
- (i32.load
- (get_local $14)
+ (block
+ (set_local $8
+ (get_local $25)
+ )
+ (loop $while-in32
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $8)
+ (i32.const -1)
+ )
+ )
+ (i32.or
+ (i32.and
+ (get_local $5)
+ (i32.const 7)
+ )
+ (i32.const 48)
+ )
+ )
+ (br_if $while-in32
+ (i32.or
+ (tee_local $5
+ (call $_bitshift64Lshr
+ (get_local $5)
+ (get_local $7)
+ (i32.const 3)
+ )
+ )
+ (tee_local $7
+ (get_global $tempRet0)
+ )
+ )
+ )
)
- (get_local $17)
- )
- (set_local $5
- (get_local $10)
)
- (set_local $10
- (get_local $7)
+ (set_local $8
+ (get_local $25)
)
- (br $label$continue$L1)
)
- (i32.store
- (tee_local $5
- (i32.load
- (get_local $14)
- )
+ (if
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
)
- (get_local $17)
- )
- (i32.store offset=4
- (get_local $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $17)
- (i32.const 0)
+ (block
+ (set_local $5
+ (get_local $11)
+ )
+ (set_local $6
+ (select
+ (tee_local $11
+ (i32.add
+ (i32.sub
+ (get_local $38)
+ (tee_local $7
+ (get_local $8)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (get_local $6)
+ (i32.lt_s
+ (get_local $6)
+ (get_local $11)
+ )
)
- (i32.const 31)
)
- (i32.const 31)
+ )
+ (block
+ (set_local $7
+ (get_local $8)
+ )
+ (set_local $5
+ (get_local $11)
+ )
)
)
- (set_local $5
- (get_local $10)
+ (set_local $8
+ (i32.const 0)
)
- (set_local $10
- (get_local $7)
+ (set_local $9
+ (i32.const 4091)
)
- (br $label$continue$L1)
+ (br $__rjti$8)
)
- (i32.store16
+ (set_local $5
(i32.load
(get_local $14)
)
- (get_local $17)
)
- (set_local $5
- (get_local $10)
+ (if
+ (i32.lt_s
+ (tee_local $7
+ (i32.load offset=4
+ (get_local $14)
+ )
+ )
+ (i32.const 0)
+ )
+ (block
+ (i32.store
+ (get_local $14)
+ (tee_local $5
+ (call $_i64Subtract
+ (i32.const 0)
+ (i32.const 0)
+ (get_local $5)
+ (get_local $7)
+ )
+ )
+ )
+ (i32.store offset=4
+ (get_local $14)
+ (tee_local $7
+ (get_global $tempRet0)
+ )
+ )
+ (set_local $8
+ (i32.const 1)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjti$4)
+ )
)
- (set_local $10
- (get_local $7)
+ (set_local $9
+ (if (result i32)
+ (i32.and
+ (get_local $11)
+ (i32.const 2048)
+ )
+ (block (result i32)
+ (set_local $8
+ (i32.const 1)
+ )
+ (i32.const 4092)
+ )
+ (block (result i32)
+ (set_local $8
+ (tee_local $9
+ (i32.and
+ (get_local $11)
+ (i32.const 1)
+ )
+ )
+ )
+ (select
+ (i32.const 4093)
+ (i32.const 4091)
+ (get_local $9)
+ )
+ )
+ )
)
- (br $label$continue$L1)
+ (br $__rjti$4)
)
- (i32.store8
+ (set_local $5
(i32.load
(get_local $14)
)
- (get_local $17)
)
- (set_local $5
- (get_local $10)
+ (set_local $7
+ (i32.load offset=4
+ (get_local $14)
+ )
)
- (set_local $10
- (get_local $7)
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
)
- (br $label$continue$L1)
+ (br $__rjti$4)
)
- (i32.store
+ (i32.store8
+ (get_local $39)
(i32.load
(get_local $14)
)
- (get_local $17)
)
(set_local $5
- (get_local $10)
+ (get_local $39)
)
- (set_local $10
- (get_local $7)
+ (set_local $11
+ (get_local $8)
+ )
+ (set_local $12
+ (i32.const 1)
+ )
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjto$8
+ (get_local $25)
)
- (br $label$continue$L1)
)
- (i32.store
- (tee_local $5
+ (set_local $7
+ (call $_strerror
(i32.load
- (get_local $14)
+ (call $___errno_location)
)
)
- (get_local $17)
)
- (i32.store offset=4
- (get_local $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $17)
- (i32.const 0)
- )
- (i32.const 31)
+ (br $__rjti$5)
+ )
+ (set_local $7
+ (select
+ (tee_local $5
+ (i32.load
+ (get_local $14)
)
- (i32.const 31)
)
- )
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (get_local $7)
- )
- (br $label$continue$L1)
- )
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (get_local $7)
- )
- (br $label$continue$L1)
- )
- (set_local $5
- (i32.or
- (get_local $11)
- (i32.const 8)
- )
- )
- (set_local $6
- (select
- (get_local $6)
- (i32.const 8)
- (i32.gt_u
- (get_local $6)
- (i32.const 8)
+ (i32.const 4101)
+ (get_local $5)
)
)
+ (br $__rjti$5)
)
- (set_local $19
- (i32.const 120)
- )
- (br $__rjti$3)
- )
- (set_local $5
- (get_local $11)
- )
- (br $__rjti$3)
- )
- (if
- (i32.or
- (tee_local $5
+ (i32.store
+ (get_local $40)
(i32.load
(get_local $14)
)
)
- (tee_local $7
- (i32.load offset=4
- (get_local $14)
- )
+ (i32.store
+ (get_local $43)
+ (i32.const 0)
)
- )
- (block
- (set_local $8
- (get_local $25)
+ (i32.store
+ (get_local $14)
+ (get_local $40)
)
- (loop $while-in32
- (i32.store8
- (tee_local $8
- (i32.add
- (get_local $8)
- (i32.const -1)
- )
- )
- (i32.or
- (i32.and
- (get_local $5)
- (i32.const 7)
- )
- (i32.const 48)
- )
- )
- (br_if $while-in32
- (i32.or
- (tee_local $5
- (call $_bitshift64Lshr
- (get_local $5)
- (get_local $7)
- (i32.const 3)
- )
- )
- (tee_local $7
- (get_global $tempRet0)
- )
- )
- )
+ (set_local $8
+ (i32.const -1)
)
+ (br $__rjti$6)
)
- (set_local $8
- (get_local $25)
- )
- )
- (if
- (i32.and
- (get_local $11)
- (i32.const 8)
- )
- (block
- (set_local $5
- (get_local $11)
- )
- (set_local $6
- (select
- (tee_local $11
- (i32.add
- (i32.sub
- (get_local $39)
- (tee_local $7
- (get_local $8)
- )
- )
- (i32.const 1)
- )
- )
+ (if
+ (get_local $6)
+ (block
+ (set_local $8
(get_local $6)
- (i32.lt_s
- (get_local $6)
- (get_local $11)
- )
)
+ (br $__rjti$6)
)
- )
- (block
- (set_local $7
- (get_local $8)
- )
- (set_local $5
- (get_local $11)
- )
- )
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$8)
- )
- (set_local $5
- (i32.load
- (get_local $14)
- )
- )
- (if
- (i32.lt_s
- (tee_local $7
- (i32.load offset=4
- (get_local $14)
- )
- )
- (i32.const 0)
- )
- (block
- (i32.store
- (get_local $14)
- (tee_local $5
- (call $_i64Subtract
+ (block
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
(i32.const 0)
+ (get_local $11)
+ )
+ (br $__rjti$7
(i32.const 0)
- (get_local $5)
- (get_local $7)
)
)
)
- (i32.store offset=4
- (get_local $14)
- (tee_local $7
- (get_global $tempRet0)
- )
- )
- (set_local $8
- (i32.const 1)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$4)
)
- )
- (set_local $9
- (if (result i32)
- (i32.and
- (get_local $11)
- (i32.const 2048)
- )
- (block (result i32)
- (set_local $8
- (i32.const 1)
- )
- (i32.const 4092)
- )
- (block (result i32)
- (set_local $8
- (tee_local $9
- (i32.and
- (get_local $11)
- (i32.const 1)
- )
- )
- )
- (select
- (i32.const 4093)
- (i32.const 4091)
- (get_local $9)
- )
+ (set_local $16
+ (f64.load
+ (get_local $14)
)
)
- )
- (br $__rjti$4)
- )
- (set_local $5
- (i32.load
- (get_local $14)
- )
- )
- (set_local $7
- (i32.load offset=4
- (get_local $14)
- )
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$4)
- )
- (i32.store8
- (get_local $40)
- (i32.load
- (get_local $14)
- )
- )
- (set_local $5
- (get_local $40)
- )
- (set_local $11
- (get_local $8)
- )
- (set_local $12
- (i32.const 1)
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjto$8
- (get_local $25)
- )
- )
- (set_local $7
- (call $_strerror
- (i32.load
- (call $___errno_location)
- )
- )
- )
- (br $__rjti$5)
- )
- (set_local $7
- (select
- (tee_local $5
- (i32.load
- (get_local $14)
- )
- )
- (i32.const 4101)
- (get_local $5)
- )
- )
- (br $__rjti$5)
- )
- (i32.store
- (get_local $41)
- (i32.load
- (get_local $14)
- )
- )
- (i32.store
- (get_local $44)
- (i32.const 0)
- )
- (i32.store
- (get_local $14)
- (get_local $41)
- )
- (set_local $8
- (i32.const -1)
- )
- (br $__rjti$6)
- )
- (if
- (get_local $6)
- (block
- (set_local $8
- (get_local $6)
- )
- (br $__rjti$6)
- )
- (block
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (i32.const 0)
- (get_local $11)
- )
- (br $__rjti$7
- (i32.const 0)
- )
- )
- )
- )
- (set_local $16
- (f64.load
- (get_local $14)
- )
- )
- (i32.store
- (get_local $20)
- (i32.const 0)
- )
- (f64.store
- (get_global $tempDoublePtr)
- (get_local $16)
- )
- (set_local $30
- (if (result i32)
- (i32.lt_s
- (i32.load offset=4
- (get_global $tempDoublePtr)
- )
- (i32.const 0)
- )
- (block (result i32)
- (set_local $26
- (i32.const 1)
- )
- (set_local $16
- (f64.neg
- (get_local $16)
- )
- )
- (i32.const 4108)
- )
- (if (result i32)
- (i32.and
- (get_local $11)
- (i32.const 2048)
- )
- (block (result i32)
- (set_local $26
- (i32.const 1)
- )
- (i32.const 4111)
- )
- (block (result i32)
- (set_local $26
- (tee_local $5
- (i32.and
- (get_local $11)
- (i32.const 1)
- )
- )
- )
- (select
- (i32.const 4114)
- (i32.const 4109)
- (get_local $5)
- )
- )
- )
- )
- )
- (f64.store
- (get_global $tempDoublePtr)
- (get_local $16)
- )
- (set_local $7
- (if (result i32)
- (i32.lt_u
- (i32.and
- (i32.load offset=4
- (get_global $tempDoublePtr)
- )
- (i32.const 2146435072)
- )
- (i32.const 2146435072)
- )
- (block $do-once49 (result i32)
- (if
- (tee_local $5
- (f64.ne
- (tee_local $23
- (f64.mul
- (call $_frexp
- (get_local $16)
+ (i32.store
(get_local $20)
+ (i32.const 0)
)
- (f64.const 2)
- )
- )
- (f64.const 0)
- )
- )
- (i32.store
- (get_local $20)
- (i32.add
- (i32.load
- (get_local $20)
- )
- (i32.const -1)
- )
- )
- )
- (if
- (i32.eq
- (tee_local $24
- (i32.or
- (get_local $19)
- (i32.const 32)
- )
- )
- (i32.const 97)
- )
- (block
- (set_local $9
- (select
- (i32.add
- (get_local $30)
- (i32.const 9)
- )
- (get_local $30)
- (tee_local $13
- (i32.and
- (get_local $19)
- (i32.const 32)
- )
- )
- )
- )
- (set_local $16
- (if (result f64)
- (i32.or
- (i32.gt_u
- (get_local $6)
- (i32.const 11)
- )
- (i32.eqz
- (tee_local $5
- (i32.sub
- (i32.const 12)
- (get_local $6)
- )
- )
- )
- )
- (get_local $23)
- (block (result f64)
- (set_local $16
- (f64.const 8)
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $16)
)
- (loop $while-in54
- (set_local $16
- (f64.mul
- (get_local $16)
- (f64.const 16)
- )
- )
- (br_if $while-in54
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
+ (set_local $30
+ (if (result i32)
+ (i32.lt_s
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
)
+ (i32.const 0)
)
- )
- )
- (select
- (f64.neg
- (f64.add
- (get_local $16)
- (f64.sub
+ (block (result i32)
+ (set_local $26
+ (i32.const 1)
+ )
+ (set_local $16
(f64.neg
- (get_local $23)
+ (get_local $16)
)
- (get_local $16)
)
+ (i32.const 4108)
)
- )
- (f64.sub
- (f64.add
- (get_local $23)
- (get_local $16)
- )
- (get_local $16)
- )
- (i32.eq
- (i32.load8_s
- (get_local $9)
- )
- (i32.const 45)
- )
- )
- )
- )
- )
- (if
- (i32.eq
- (tee_local $5
- (call $_fmt_u
- (tee_local $5
- (select
- (i32.sub
- (i32.const 0)
- (tee_local $7
- (i32.load
- (get_local $20)
- )
- )
- )
- (get_local $7)
- (i32.lt_s
- (get_local $7)
- (i32.const 0)
+ (if (result i32)
+ (i32.and
+ (get_local $11)
+ (i32.const 2048)
)
- )
- )
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
+ (block (result i32)
+ (set_local $26
+ (i32.const 1)
+ )
+ (i32.const 4111)
)
- (i32.const 31)
- )
- (i32.const 31)
- )
- (get_local $32)
- )
- )
- (get_local $32)
- )
- (block
- (i32.store8
- (get_local $42)
- (i32.const 48)
- )
- (set_local $5
- (get_local $42)
- )
- )
- )
- (set_local $12
- (i32.or
- (get_local $26)
- (i32.const 2)
- )
- )
- (i32.store8
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $7)
- (i32.const 31)
- )
- (i32.const 2)
- )
- (i32.const 43)
- )
- )
- (i32.store8
- (tee_local $8
- (i32.add
- (get_local $5)
- (i32.const -2)
- )
- )
- (i32.add
- (get_local $19)
- (i32.const 15)
- )
- )
- (set_local $19
- (i32.lt_s
- (get_local $6)
- (i32.const 1)
- )
- )
- (set_local $18
- (i32.eqz
- (i32.and
- (get_local $11)
- (i32.const 8)
- )
- )
- )
- (set_local $5
- (get_local $22)
- )
- (loop $while-in56
- (i32.store8
- (get_local $5)
- (i32.or
- (i32.load8_u
- (i32.add
- (tee_local $7
- (i32.trunc_s/f64
- (get_local $16)
+ (block (result i32)
+ (set_local $26
+ (tee_local $5
+ (i32.and
+ (get_local $11)
+ (i32.const 1)
+ )
+ )
+ )
+ (select
+ (i32.const 4114)
+ (i32.const 4109)
+ (get_local $5)
+ )
)
)
- (i32.const 4075)
)
)
- (get_local $13)
- )
- )
- (set_local $16
- (f64.mul
- (f64.sub
+ (f64.store
+ (get_global $tempDoublePtr)
(get_local $16)
- (f64.convert_s/i32
- (get_local $7)
- )
)
- (f64.const 16)
- )
- )
- (set_local $5
- (if (result i32)
- (i32.eq
- (i32.sub
- (tee_local $7
- (i32.add
- (get_local $5)
- (i32.const 1)
+ (set_local $7
+ (if (result i32)
+ (i32.lt_u
+ (i32.and
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
+ )
+ (i32.const 2146435072)
)
+ (i32.const 2146435072)
)
- (get_local $36)
- )
- (i32.const 1)
- )
- (if (result i32)
- (i32.and
- (get_local $18)
- (i32.and
- (get_local $19)
- (f64.eq
- (get_local $16)
- (f64.const 0)
+ (block $do-once49 (result i32)
+ (if
+ (tee_local $5
+ (f64.ne
+ (tee_local $23
+ (f64.mul
+ (call $_frexp
+ (get_local $16)
+ (get_local $20)
+ )
+ (f64.const 2)
+ )
+ )
+ (f64.const 0)
+ )
+ )
+ (i32.store
+ (get_local $20)
+ (i32.add
+ (i32.load
+ (get_local $20)
+ )
+ (i32.const -1)
+ )
+ )
)
- )
- )
- (get_local $7)
- (block (result i32)
- (i32.store8
- (get_local $7)
- (i32.const 46)
- )
- (i32.add
- (get_local $5)
- (i32.const 2)
- )
- )
- )
- (get_local $7)
- )
- )
- (br_if $while-in56
- (f64.ne
- (get_local $16)
- (f64.const 0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (tee_local $7
- (i32.add
- (tee_local $6
- (select
- (i32.sub
- (i32.add
- (get_local $47)
- (get_local $6)
+ (if
+ (i32.eq
+ (tee_local $24
+ (i32.or
+ (get_local $19)
+ (i32.const 32)
+ )
+ )
+ (i32.const 97)
+ )
+ (block
+ (set_local $9
+ (select
+ (i32.add
+ (get_local $30)
+ (i32.const 9)
+ )
+ (get_local $30)
+ (tee_local $13
+ (i32.and
+ (get_local $19)
+ (i32.const 32)
+ )
+ )
+ )
+ )
+ (set_local $16
+ (if (result f64)
+ (i32.or
+ (i32.eqz
+ (tee_local $5
+ (i32.sub
+ (i32.const 12)
+ (get_local $6)
+ )
+ )
+ )
+ (i32.gt_u
+ (get_local $6)
+ (i32.const 11)
+ )
+ )
+ (get_local $23)
+ (block (result f64)
+ (set_local $16
+ (f64.const 8)
+ )
+ (loop $while-in54
+ (set_local $16
+ (f64.mul
+ (get_local $16)
+ (f64.const 16)
+ )
+ )
+ (br_if $while-in54
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ )
+ )
+ (select
+ (f64.neg
+ (f64.add
+ (get_local $16)
+ (f64.sub
+ (f64.neg
+ (get_local $23)
+ )
+ (get_local $16)
+ )
+ )
+ )
+ (f64.sub
+ (f64.add
+ (get_local $23)
+ (get_local $16)
+ )
+ (get_local $16)
+ )
+ (i32.eq
+ (i32.load8_s
+ (get_local $9)
+ )
+ (i32.const 45)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $5
+ (call $_fmt_u
+ (tee_local $5
+ (select
+ (i32.sub
+ (i32.const 0)
+ (tee_local $7
+ (i32.load
+ (get_local $20)
+ )
+ )
+ )
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ (get_local $32)
+ )
+ )
+ (get_local $32)
+ )
+ (block
+ (i32.store8
+ (get_local $41)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $41)
+ )
+ )
+ )
+ (set_local $12
+ (i32.or
+ (get_local $26)
+ (i32.const 2)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $7)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ (i32.const 43)
+ )
+ )
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $5)
+ (i32.const -2)
+ )
+ )
+ (i32.add
+ (get_local $19)
+ (i32.const 15)
+ )
+ )
+ (set_local $19
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (set_local $18
+ (i32.eqz
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
+ )
+ )
+ (set_local $5
+ (get_local $22)
+ )
+ (loop $while-in56
+ (i32.store8
+ (get_local $5)
+ (i32.or
+ (get_local $13)
+ (i32.load8_u
+ (i32.add
+ (tee_local $7
+ (i32.trunc_s/f64
+ (get_local $16)
+ )
+ )
+ (i32.const 4075)
+ )
+ )
+ )
+ )
+ (set_local $16
+ (f64.mul
+ (f64.sub
+ (get_local $16)
+ (f64.convert_s/i32
+ (get_local $7)
+ )
+ )
+ (f64.const 16)
+ )
+ )
+ (set_local $5
+ (if (result i32)
+ (i32.eq
+ (i32.sub
+ (tee_local $7
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ (get_local $36)
+ )
+ (i32.const 1)
+ )
+ (if (result i32)
+ (i32.and
+ (i32.and
+ (f64.eq
+ (get_local $16)
+ (f64.const 0)
+ )
+ (get_local $19)
+ )
+ (get_local $18)
+ )
+ (get_local $7)
+ (block (result i32)
+ (i32.store8
+ (get_local $7)
+ (i32.const 46)
+ )
+ (i32.add
+ (get_local $5)
+ (i32.const 2)
+ )
+ )
+ )
+ (get_local $7)
+ )
+ )
+ (br_if $while-in56
+ (f64.ne
+ (get_local $16)
+ (f64.const 0)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (tee_local $7
+ (i32.add
+ (get_local $12)
+ (tee_local $6
+ (select
+ (i32.sub
+ (i32.add
+ (get_local $6)
+ (get_local $46)
+ )
+ (get_local $8)
+ )
+ (i32.add
+ (get_local $5)
+ (i32.sub
+ (get_local $44)
+ (get_local $8)
+ )
+ )
+ (i32.and
+ (i32.ne
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.lt_s
+ (i32.add
+ (get_local $5)
+ (get_local $45)
+ )
+ (get_local $6)
+ )
+ )
+ )
+ )
+ )
+ )
+ (get_local $11)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $9)
+ (get_local $12)
+ (get_local $0)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $15)
+ (get_local $7)
+ (i32.xor
+ (get_local $11)
+ (i32.const 65536)
+ )
+ )
+ (set_local $5
+ (i32.sub
+ (get_local $5)
+ (get_local $36)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $22)
+ (get_local $5)
+ (get_local $0)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.sub
+ (get_local $6)
+ (i32.add
+ (get_local $5)
+ (tee_local $5
+ (i32.sub
+ (get_local $27)
+ (get_local $8)
+ )
+ )
+ )
+ )
+ (i32.const 0)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $8)
+ (get_local $5)
+ (get_local $0)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (get_local $7)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
+ )
+ (br $do-once49
+ (select
+ (get_local $15)
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (get_local $15)
+ )
+ )
+ )
+ )
)
- (get_local $8)
- )
- (i32.add
- (i32.sub
- (get_local $45)
- (get_local $8)
+ (set_local $16
+ (if (result f64)
+ (get_local $5)
+ (block (result f64)
+ (i32.store
+ (get_local $20)
+ (tee_local $5
+ (i32.add
+ (i32.load
+ (get_local $20)
+ )
+ (i32.const -28)
+ )
+ )
+ )
+ (f64.mul
+ (get_local $23)
+ (f64.const 268435456)
+ )
+ )
+ (block (result f64)
+ (set_local $5
+ (i32.load
+ (get_local $20)
+ )
+ )
+ (get_local $23)
+ )
+ )
)
- (get_local $5)
- )
- (i32.and
- (i32.ne
- (get_local $6)
- (i32.const 0)
+ (set_local $7
+ (tee_local $8
+ (select
+ (get_local $47)
+ (get_local $48)
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
)
- (i32.lt_s
- (i32.add
- (get_local $46)
- (get_local $5)
+ (loop $while-in60
+ (i32.store
+ (get_local $7)
+ (tee_local $5
+ (i32.trunc_u/f64
+ (get_local $16)
+ )
+ )
+ )
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ )
+ (br_if $while-in60
+ (f64.ne
+ (tee_local $16
+ (f64.mul
+ (f64.sub
+ (get_local $16)
+ (f64.convert_u/i32
+ (get_local $5)
+ )
+ )
+ (f64.const 1e9)
+ )
+ )
+ (f64.const 0)
+ )
)
- (get_local $6)
)
- )
- )
- )
- (get_local $12)
- )
- )
- (get_local $11)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $9)
- (get_local $12)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $15)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 65536)
- )
- )
- (set_local $5
- (i32.sub
- (get_local $5)
- (get_local $36)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $22)
- (get_local $5)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.sub
- (get_local $6)
- (i32.add
- (get_local $5)
- (tee_local $5
- (i32.sub
- (get_local $27)
- (get_local $8)
- )
- )
- )
- )
- (i32.const 0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $8)
- (get_local $5)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (br $do-once49
- (select
- (get_local $15)
- (get_local $7)
- (i32.lt_s
- (get_local $7)
- (get_local $15)
- )
- )
- )
- )
- )
- (set_local $16
- (if (result f64)
- (get_local $5)
- (block (result f64)
- (i32.store
- (get_local $20)
- (tee_local $5
- (i32.add
- (i32.load
- (get_local $20)
- )
- (i32.const -28)
- )
- )
- )
- (f64.mul
- (get_local $23)
- (f64.const 268435456)
- )
- )
- (block (result f64)
- (set_local $5
- (i32.load
- (get_local $20)
- )
- )
- (get_local $23)
- )
- )
- )
- (set_local $7
- (tee_local $8
- (select
- (get_local $48)
- (get_local $49)
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- )
- )
- )
- (loop $while-in60
- (i32.store
- (get_local $7)
- (tee_local $5
- (i32.trunc_u/f64
- (get_local $16)
- )
- )
- )
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (br_if $while-in60
- (f64.ne
- (tee_local $16
- (f64.mul
- (f64.sub
- (get_local $16)
- (f64.convert_u/i32
- (get_local $5)
- )
- )
- (f64.const 1e9)
- )
- )
- (f64.const 0)
- )
- )
- )
- (if
- (i32.gt_s
- (tee_local $9
- (i32.load
- (get_local $20)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $5
- (get_local $8)
- )
- (loop $while-in62
- (set_local $13
- (select
- (i32.const 29)
- (get_local $9)
- (i32.gt_s
- (get_local $9)
- (i32.const 29)
- )
- )
- )
- (if
- (i32.ge_u
- (tee_local $9
- (i32.add
- (get_local $7)
- (i32.const -4)
- )
- )
- (get_local $5)
- )
- (block $do-once63
- (set_local $12
- (i32.const 0)
- )
- (loop $while-in66
- (i32.store
- (get_local $9)
- (call $___uremdi3
- (tee_local $12
- (call $_i64Add
- (call $_bitshift64Shl
+ (if
+ (i32.gt_s
+ (tee_local $9
(i32.load
- (get_local $9)
+ (get_local $20)
)
- (i32.const 0)
- (get_local $13)
)
- (get_global $tempRet0)
- (get_local $12)
(i32.const 0)
)
+ (block
+ (set_local $5
+ (get_local $8)
+ )
+ (loop $while-in62
+ (set_local $13
+ (select
+ (i32.const 29)
+ (get_local $9)
+ (i32.gt_s
+ (get_local $9)
+ (i32.const 29)
+ )
+ )
+ )
+ (if
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
+ )
+ )
+ (get_local $5)
+ )
+ (block $do-once63
+ (set_local $12
+ (i32.const 0)
+ )
+ (loop $while-in66
+ (i32.store
+ (get_local $9)
+ (call $___uremdi3
+ (tee_local $12
+ (call $_i64Add
+ (call $_bitshift64Shl
+ (i32.load
+ (get_local $9)
+ )
+ (i32.const 0)
+ (get_local $13)
+ )
+ (get_global $tempRet0)
+ (get_local $12)
+ (i32.const 0)
+ )
+ )
+ (tee_local $18
+ (get_global $tempRet0)
+ )
+ (i32.const 1000000000)
+ )
+ )
+ (set_local $12
+ (call $___udivdi3
+ (get_local $12)
+ (get_local $18)
+ (i32.const 1000000000)
+ )
+ )
+ (br_if $while-in66
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $9)
+ (i32.const -4)
+ )
+ )
+ (get_local $5)
+ )
+ )
+ )
+ (br_if $do-once63
+ (i32.eqz
+ (get_local $12)
+ )
+ )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
+ (get_local $12)
+ )
+ )
+ )
+ (loop $while-in68
+ (if
+ (i32.gt_u
+ (get_local $7)
+ (get_local $5)
+ )
+ (if
+ (i32.eqz
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $7
+ (get_local $9)
+ )
+ (br $while-in68)
+ )
+ )
+ )
+ )
+ (i32.store
+ (get_local $20)
+ (tee_local $9
+ (i32.sub
+ (i32.load
+ (get_local $20)
+ )
+ (get_local $13)
+ )
+ )
+ )
+ (br_if $while-in62
+ (i32.gt_s
+ (get_local $9)
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (set_local $5
+ (get_local $8)
+ )
)
- (tee_local $18
- (get_global $tempRet0)
+ (set_local $18
+ (select
+ (i32.const 6)
+ (get_local $6)
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 0)
+ )
+ )
)
- (i32.const 1000000000)
- )
- )
- (set_local $12
- (call $___udivdi3
- (get_local $12)
- (get_local $18)
- (i32.const 1000000000)
- )
- )
- (br_if $while-in66
- (i32.ge_u
- (tee_local $9
- (i32.add
+ (if
+ (i32.lt_s
(get_local $9)
- (i32.const -4)
+ (i32.const 0)
)
- )
- (get_local $5)
- )
- )
- )
- (br_if $do-once63
- (i32.eqz
- (get_local $12)
- )
- )
- (i32.store
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -4)
- )
- )
- (get_local $12)
- )
- )
- )
- (loop $while-in68
- (if
- (i32.gt_u
- (get_local $7)
- (get_local $5)
- )
- (if
- (i32.eqz
- (i32.load
- (tee_local $9
- (i32.add
+ (block
+ (set_local $21
+ (i32.add
+ (i32.div_s
+ (i32.add
+ (get_local $18)
+ (i32.const 25)
+ )
+ (i32.const 9)
+ )
+ (i32.const 1)
+ )
+ )
+ (set_local $31
+ (i32.eq
+ (get_local $24)
+ (i32.const 102)
+ )
+ )
+ (set_local $6
+ (get_local $5)
+ )
+ (set_local $5
+ (get_local $7)
+ )
+ (loop $while-in70
+ (set_local $13
+ (select
+ (i32.const 9)
+ (tee_local $7
+ (i32.sub
+ (i32.const 0)
+ (get_local $9)
+ )
+ )
+ (i32.gt_s
+ (get_local $7)
+ (i32.const 9)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (get_local $5)
+ )
+ (block $do-once71
+ (set_local $12
+ (i32.add
+ (i32.shl
+ (i32.const 1)
+ (get_local $13)
+ )
+ (i32.const -1)
+ )
+ )
+ (set_local $37
+ (i32.shr_u
+ (i32.const 1000000000)
+ (get_local $13)
+ )
+ )
+ (set_local $9
+ (i32.const 0)
+ )
+ (set_local $7
+ (get_local $6)
+ )
+ (loop $while-in74
+ (i32.store
+ (get_local $7)
+ (i32.add
+ (get_local $9)
+ (i32.shr_u
+ (tee_local $9
+ (i32.load
+ (get_local $7)
+ )
+ )
+ (get_local $13)
+ )
+ )
+ )
+ (set_local $9
+ (i32.mul
+ (i32.and
+ (get_local $9)
+ (get_local $12)
+ )
+ (get_local $37)
+ )
+ )
+ (br_if $while-in74
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ )
+ (get_local $5)
+ )
+ )
+ )
+ (set_local $7
+ (select
+ (get_local $6)
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (i32.load
+ (get_local $6)
+ )
+ )
+ )
+ (br_if $do-once71
+ (i32.eqz
+ (get_local $9)
+ )
+ )
+ (i32.store
+ (get_local $5)
+ (get_local $9)
+ )
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 4)
+ )
+ )
+ )
+ (set_local $7
+ (select
+ (get_local $6)
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (i32.load
+ (get_local $6)
+ )
+ )
+ )
+ )
+ (set_local $12
+ (select
+ (i32.add
+ (tee_local $6
+ (select
+ (get_local $8)
+ (get_local $7)
+ (get_local $31)
+ )
+ )
+ (i32.shl
+ (get_local $21)
+ (i32.const 2)
+ )
+ )
+ (get_local $5)
+ (i32.gt_s
+ (i32.shr_s
+ (i32.sub
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.const 2)
+ )
+ (get_local $21)
+ )
+ )
+ )
+ (i32.store
+ (get_local $20)
+ (tee_local $9
+ (i32.add
+ (i32.load
+ (get_local $20)
+ )
+ (get_local $13)
+ )
+ )
+ )
+ (set_local $5
+ (if (result i32)
+ (i32.lt_s
+ (get_local $9)
+ (i32.const 0)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
+ )
+ (set_local $5
+ (get_local $12)
+ )
+ (br $while-in70)
+ )
+ (block (result i32)
+ (set_local $9
+ (get_local $12)
+ )
+ (get_local $7)
+ )
+ )
+ )
+ )
+ )
+ (set_local $9
(get_local $7)
- (i32.const -4)
)
)
- )
- )
- (block
- (set_local $7
- (get_local $9)
- )
- (br $while-in68)
- )
- )
- )
- )
- (i32.store
- (get_local $20)
- (tee_local $9
- (i32.sub
- (i32.load
- (get_local $20)
- )
- (get_local $13)
- )
- )
- )
- (br_if $while-in62
- (i32.gt_s
- (get_local $9)
- (i32.const 0)
- )
- )
- )
- )
- (set_local $5
- (get_local $8)
- )
- )
- (set_local $18
- (select
- (i32.const 6)
- (get_local $6)
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
- )
- )
- )
- (if
- (i32.lt_s
- (get_local $9)
- (i32.const 0)
- )
- (block
- (set_local $21
- (i32.add
- (i32.div_s
- (i32.add
- (get_local $18)
- (i32.const 25)
- )
- (i32.const 9)
- )
- (i32.const 1)
- )
- )
- (set_local $31
- (i32.eq
- (get_local $24)
- (i32.const 102)
- )
- )
- (set_local $6
- (get_local $5)
- )
- (set_local $5
- (get_local $7)
- )
- (loop $while-in70
- (set_local $13
- (select
- (i32.const 9)
- (tee_local $7
- (i32.sub
- (i32.const 0)
- (get_local $9)
- )
- )
- (i32.gt_s
- (get_local $7)
- (i32.const 9)
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $6)
- (get_local $5)
- )
- (block $do-once71
- (set_local $12
- (i32.add
- (i32.shl
- (i32.const 1)
- (get_local $13)
- )
- (i32.const -1)
- )
- )
- (set_local $37
- (i32.shr_u
- (i32.const 1000000000)
- (get_local $13)
- )
- )
- (set_local $9
- (i32.const 0)
- )
- (set_local $7
- (get_local $6)
- )
- (loop $while-in74
- (i32.store
- (get_local $7)
- (i32.add
- (i32.shr_u
- (tee_local $38
- (i32.load
- (get_local $7)
+ (set_local $21
+ (get_local $8)
+ )
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (get_local $9)
+ )
+ (block $do-once75
+ (set_local $7
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $21)
+ (get_local $5)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ )
+ (br_if $do-once75
+ (i32.lt_u
+ (tee_local $12
+ (i32.load
+ (get_local $5)
+ )
+ )
+ (i32.const 10)
+ )
+ )
+ (set_local $6
+ (i32.const 10)
+ )
+ (loop $while-in78
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in78
+ (i32.ge_u
+ (get_local $12)
+ (tee_local $6
+ (i32.mul
+ (get_local $6)
+ (i32.const 10)
+ )
+ )
+ )
+ )
)
)
- (get_local $13)
+ (set_local $7
+ (i32.const 0)
+ )
)
- (get_local $9)
- )
- )
- (set_local $9
- (i32.mul
- (i32.and
- (get_local $38)
- (get_local $12)
+ (set_local $5
+ (if (result i32)
+ (i32.lt_s
+ (tee_local $6
+ (i32.add
+ (i32.sub
+ (get_local $18)
+ (select
+ (get_local $7)
+ (i32.const 0)
+ (i32.ne
+ (get_local $24)
+ (i32.const 102)
+ )
+ )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.and
+ (tee_local $31
+ (i32.eq
+ (get_local $24)
+ (i32.const 103)
+ )
+ )
+ (tee_local $37
+ (i32.ne
+ (get_local $18)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ )
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $9)
+ (get_local $21)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ (i32.const -9)
+ )
+ )
+ (block (result i32)
+ (if
+ (i32.lt_s
+ (tee_local $6
+ (i32.add
+ (i32.rem_s
+ (tee_local $13
+ (i32.add
+ (get_local $6)
+ (i32.const 9216)
+ )
+ )
+ (i32.const 9)
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.const 9)
+ )
+ (block
+ (set_local $12
+ (i32.const 10)
+ )
+ (loop $while-in80
+ (set_local $12
+ (i32.mul
+ (get_local $12)
+ (i32.const 10)
+ )
+ )
+ (br_if $while-in80
+ (i32.ne
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (i32.const 9)
+ )
+ )
+ )
+ )
+ (set_local $12
+ (i32.const 10)
+ )
+ )
+ (set_local $13
+ (i32.rem_u
+ (tee_local $24
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (i32.add
+ (i32.shl
+ (i32.div_s
+ (get_local $13)
+ (i32.const 9)
+ )
+ (i32.const 2)
+ )
+ (get_local $8)
+ )
+ (i32.const -4092)
+ )
+ )
+ )
+ )
+ (get_local $12)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $49
+ (i32.eq
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (get_local $9)
+ )
+ )
+ (i32.eqz
+ (get_local $13)
+ )
+ )
+ )
+ (block $do-once81
+ (set_local $16
+ (if (result f64)
+ (i32.lt_u
+ (get_local $13)
+ (tee_local $50
+ (i32.div_s
+ (get_local $12)
+ (i32.const 2)
+ )
+ )
+ )
+ (f64.const 0.5)
+ (select
+ (f64.const 1)
+ (f64.const 1.5)
+ (i32.and
+ (get_local $49)
+ (i32.eq
+ (get_local $13)
+ (get_local $50)
+ )
+ )
+ )
+ )
+ )
+ (set_local $23
+ (select
+ (f64.const 9007199254740994)
+ (f64.const 9007199254740992)
+ (i32.and
+ (i32.div_u
+ (get_local $24)
+ (get_local $12)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (if
+ (get_local $26)
+ (if
+ (i32.eq
+ (i32.load8_s
+ (get_local $30)
+ )
+ (i32.const 45)
+ )
+ (block
+ (set_local $23
+ (f64.neg
+ (get_local $23)
+ )
+ )
+ (set_local $16
+ (f64.neg
+ (get_local $16)
+ )
+ )
+ )
+ )
+ )
+ (i32.store
+ (get_local $6)
+ (tee_local $13
+ (i32.sub
+ (get_local $24)
+ (get_local $13)
+ )
+ )
+ )
+ (br_if $do-once81
+ (f64.eq
+ (f64.add
+ (get_local $23)
+ (get_local $16)
+ )
+ (get_local $23)
+ )
+ )
+ (i32.store
+ (get_local $6)
+ (tee_local $7
+ (i32.add
+ (get_local $12)
+ (get_local $13)
+ )
+ )
+ )
+ (if
+ (i32.gt_u
+ (get_local $7)
+ (i32.const 999999999)
+ )
+ (loop $while-in86
+ (i32.store
+ (get_local $6)
+ (i32.const 0)
+ )
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
+ )
+ )
+ (get_local $5)
+ )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (i32.store
+ (get_local $6)
+ (tee_local $7
+ (i32.add
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (br_if $while-in86
+ (i32.gt_u
+ (get_local $7)
+ (i32.const 999999999)
+ )
+ )
+ )
+ )
+ (set_local $7
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $21)
+ (get_local $5)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ )
+ (br_if $do-once81
+ (i32.lt_u
+ (tee_local $13
+ (i32.load
+ (get_local $5)
+ )
+ )
+ (i32.const 10)
+ )
+ )
+ (set_local $12
+ (i32.const 10)
+ )
+ (loop $while-in88
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in88
+ (i32.ge_u
+ (get_local $13)
+ (tee_local $12
+ (i32.mul
+ (get_local $12)
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (set_local $12
+ (get_local $5)
+ )
+ (set_local $13
+ (get_local $7)
+ )
+ (select
+ (tee_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (get_local $9)
+ (i32.gt_u
+ (get_local $9)
+ (get_local $5)
+ )
+ )
+ )
+ (block (result i32)
+ (set_local $12
+ (get_local $5)
+ )
+ (set_local $13
+ (get_local $7)
+ )
+ (get_local $9)
+ )
+ )
)
- (get_local $37)
- )
- )
- (br_if $while-in74
- (i32.lt_u
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
+ (set_local $9
+ (loop $while-in90 (result i32)
+ (block $while-out89 (result i32)
+ (if
+ (i32.le_u
+ (get_local $5)
+ (get_local $12)
+ )
+ (block
+ (set_local $24
+ (i32.const 0)
+ )
+ (br $while-out89
+ (get_local $5)
+ )
+ )
+ )
+ (if (result i32)
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
+ )
+ (block (result i32)
+ (set_local $24
+ (i32.const 1)
+ )
+ (get_local $5)
+ )
+ (block
+ (set_local $5
+ (get_local $7)
+ )
+ (br $while-in90)
+ )
+ )
+ )
)
)
- (get_local $5)
- )
- )
- )
- (set_local $7
- (select
- (get_local $6)
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- (i32.load
- (get_local $6)
- )
- )
- )
- (br_if $do-once71
- (i32.eqz
- (get_local $9)
- )
- )
- (i32.store
- (get_local $5)
- (get_local $9)
- )
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 4)
- )
- )
- )
- (set_local $7
- (select
- (get_local $6)
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- (i32.load
- (get_local $6)
- )
- )
- )
- )
- (set_local $12
- (select
- (i32.add
- (tee_local $6
- (select
- (get_local $8)
- (get_local $7)
- (get_local $31)
- )
- )
- (i32.shl
- (get_local $21)
- (i32.const 2)
- )
- )
- (get_local $5)
- (i32.gt_s
- (i32.shr_s
- (i32.sub
- (get_local $5)
- (get_local $6)
- )
- (i32.const 2)
- )
- (get_local $21)
- )
- )
- )
- (i32.store
- (get_local $20)
- (tee_local $9
- (i32.add
- (i32.load
- (get_local $20)
- )
- (get_local $13)
- )
- )
- )
- (set_local $5
- (if (result i32)
- (i32.lt_s
- (get_local $9)
- (i32.const 0)
- )
- (block
- (set_local $6
- (get_local $7)
- )
- (set_local $5
- (get_local $12)
- )
- (br $while-in70)
- )
- (block (result i32)
- (set_local $9
- (get_local $12)
- )
- (get_local $7)
- )
- )
- )
- )
- )
- (set_local $9
- (get_local $7)
- )
- )
- (set_local $21
- (get_local $8)
- )
- (if
- (i32.lt_u
- (get_local $5)
- (get_local $9)
- )
- (block $do-once75
- (set_local $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $21)
- (get_local $5)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- )
- (br_if $do-once75
- (i32.lt_u
- (tee_local $12
- (i32.load
- (get_local $5)
- )
- )
- (i32.const 10)
- )
- )
- (set_local $6
- (i32.const 10)
- )
- (loop $while-in78
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 1)
- )
- )
- (br_if $while-in78
- (i32.ge_u
- (get_local $12)
- (tee_local $6
- (i32.mul
- (get_local $6)
- (i32.const 10)
- )
- )
- )
- )
- )
- )
- (set_local $7
- (i32.const 0)
- )
- )
- (set_local $5
- (if (result i32)
- (i32.lt_s
- (tee_local $6
- (i32.add
- (i32.sub
- (get_local $18)
- (select
- (get_local $7)
- (i32.const 0)
- (i32.ne
- (get_local $24)
- (i32.const 102)
- )
- )
- )
- (i32.shr_s
- (i32.shl
- (i32.and
- (tee_local $31
- (i32.ne
- (get_local $18)
+ (set_local $5
+ (if (result i32)
+ (get_local $31)
+ (block $do-once91 (result i32)
+ (set_local $7
+ (if (result i32)
+ (i32.and
+ (i32.gt_s
+ (tee_local $5
+ (i32.add
+ (get_local $18)
+ (i32.xor
+ (get_local $37)
+ (i32.const 1)
+ )
+ )
+ )
+ (get_local $13)
+ )
+ (i32.gt_s
+ (get_local $13)
+ (i32.const -5)
+ )
+ )
+ (block (result i32)
+ (set_local $18
+ (i32.sub
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ (get_local $13)
+ )
+ )
+ (i32.add
+ (get_local $19)
+ (i32.const -1)
+ )
+ )
+ (block (result i32)
+ (set_local $18
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ (i32.add
+ (get_local $19)
+ (i32.const -2)
+ )
+ )
+ )
+ )
+ (if
+ (tee_local $5
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
+ )
+ (block
+ (set_local $21
+ (get_local $5)
+ )
+ (br $do-once91
+ (get_local $18)
+ )
+ )
+ )
+ (if
+ (get_local $24)
+ (block $do-once93
+ (if
+ (i32.eqz
+ (tee_local $19
+ (i32.load
+ (i32.add
+ (get_local $9)
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $5
+ (i32.const 9)
+ )
+ (br $do-once93)
+ )
+ )
+ (set_local $5
+ (if (result i32)
+ (i32.rem_u
+ (get_local $19)
+ (i32.const 10)
+ )
+ (block
+ (set_local $5
+ (i32.const 0)
+ )
+ (br $do-once93)
+ )
+ (block (result i32)
+ (set_local $6
+ (i32.const 10)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (loop $while-in96
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in96
+ (i32.eqz
+ (i32.rem_u
+ (get_local $19)
+ (tee_local $6
+ (i32.mul
+ (get_local $6)
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (set_local $5
+ (i32.const 9)
+ )
+ )
+ (set_local $6
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $9)
+ (get_local $21)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ (i32.const -9)
+ )
+ )
+ (if (result i32)
+ (i32.eq
+ (i32.or
+ (get_local $7)
+ (i32.const 32)
+ )
+ (i32.const 102)
+ )
+ (block (result i32)
+ (set_local $21
+ (i32.const 0)
+ )
+ (select
+ (get_local $18)
+ (tee_local $5
+ (select
+ (i32.const 0)
+ (tee_local $5
+ (i32.sub
+ (get_local $6)
+ (get_local $5)
+ )
+ )
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.lt_s
+ (get_local $18)
+ (get_local $5)
+ )
+ )
+ )
+ (block (result i32)
+ (set_local $21
+ (i32.const 0)
+ )
+ (select
+ (get_local $18)
+ (tee_local $5
+ (select
+ (i32.const 0)
+ (tee_local $5
+ (i32.sub
+ (i32.add
+ (get_local $6)
+ (get_local $13)
+ )
+ (get_local $5)
+ )
+ )
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.lt_s
+ (get_local $18)
+ (get_local $5)
+ )
+ )
+ )
+ )
+ )
+ (block (result i32)
+ (set_local $21
+ (i32.and
+ (get_local $11)
+ (i32.const 8)
+ )
+ )
+ (set_local $7
+ (get_local $19)
+ )
+ (get_local $18)
+ )
+ )
+ )
+ (set_local $6
+ (i32.sub
(i32.const 0)
+ (get_local $13)
)
)
- (tee_local $37
- (i32.eq
- (get_local $24)
- (i32.const 103)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (tee_local $13
+ (i32.add
+ (if (result i32)
+ (tee_local $18
+ (i32.eq
+ (i32.or
+ (get_local $7)
+ (i32.const 32)
+ )
+ (i32.const 102)
+ )
+ )
+ (block (result i32)
+ (set_local $19
+ (i32.const 0)
+ )
+ (select
+ (get_local $13)
+ (i32.const 0)
+ (i32.gt_s
+ (get_local $13)
+ (i32.const 0)
+ )
+ )
+ )
+ (block (result i32)
+ (if
+ (i32.lt_s
+ (i32.sub
+ (get_local $27)
+ (tee_local $6
+ (call $_fmt_u
+ (tee_local $6
+ (select
+ (get_local $6)
+ (get_local $13)
+ (i32.lt_s
+ (get_local $13)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ (get_local $32)
+ )
+ )
+ )
+ (i32.const 2)
+ )
+ (loop $while-in98
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in98
+ (i32.lt_s
+ (i32.sub
+ (get_local $27)
+ (get_local $6)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (i32.store8
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $13)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ (i32.const 43)
+ )
+ )
+ (i32.store8
+ (tee_local $19
+ (i32.add
+ (get_local $6)
+ (i32.const -2)
+ )
+ )
+ (get_local $7)
+ )
+ (i32.sub
+ (get_local $27)
+ (get_local $19)
+ )
+ )
+ )
+ (i32.add
+ (i32.add
+ (i32.add
+ (get_local $26)
+ (i32.const 1)
+ )
+ (get_local $5)
+ )
+ (i32.ne
+ (tee_local $31
+ (i32.or
+ (get_local $5)
+ (get_local $21)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ )
)
+ (get_local $11)
)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- )
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $9)
- (get_local $21)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- (i32.const -9)
- )
- )
- (block (result i32)
- (if
- (i32.lt_s
- (tee_local $6
- (i32.add
- (i32.rem_s
- (tee_local $13
- (i32.add
- (get_local $6)
- (i32.const 9216)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $30)
+ (get_local $26)
+ (get_local $0)
+ )
)
)
- (i32.const 9)
- )
- (i32.const 1)
- )
- )
- (i32.const 9)
- )
- (block
- (set_local $12
- (i32.const 10)
- )
- (loop $while-in80
- (set_local $12
- (i32.mul
- (get_local $12)
- (i32.const 10)
- )
- )
- (br_if $while-in80
- (i32.ne
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 1)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $15)
+ (get_local $13)
+ (i32.xor
+ (get_local $11)
+ (i32.const 65536)
)
)
- (i32.const 9)
- )
- )
- )
- )
- (set_local $12
- (i32.const 10)
- )
- )
- (set_local $13
- (i32.rem_u
- (tee_local $24
- (i32.load
- (tee_local $6
- (i32.add
- (i32.add
- (get_local $8)
- (i32.shl
- (i32.div_s
- (get_local $13)
+ (if
+ (get_local $18)
+ (block
+ (set_local $6
+ (tee_local $12
+ (select
+ (get_local $8)
+ (get_local $12)
+ (i32.gt_u
+ (get_local $12)
+ (get_local $8)
+ )
+ )
+ )
+ )
+ (loop $while-in102
+ (set_local $7
+ (call $_fmt_u
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 0)
+ (get_local $29)
+ )
+ )
+ (block $do-once103
+ (if
+ (i32.eq
+ (get_local $6)
+ (get_local $12)
+ )
+ (block
+ (br_if $do-once103
+ (i32.ne
+ (get_local $7)
+ (get_local $29)
+ )
+ )
+ (i32.store8
+ (get_local $33)
+ (i32.const 48)
+ )
+ (set_local $7
+ (get_local $33)
+ )
+ )
+ (block
+ (br_if $do-once103
+ (i32.le_u
+ (get_local $7)
+ (get_local $22)
+ )
+ )
+ (loop $while-in106
+ (i32.store8
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in106
+ (i32.gt_u
+ (get_local $7)
+ (get_local $22)
+ )
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $7)
+ (i32.sub
+ (get_local $42)
+ (get_local $7)
+ )
+ (get_local $0)
+ )
+ )
+ )
+ (if
+ (i32.le_u
+ (tee_local $7
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (get_local $8)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
+ )
+ (br $while-in102)
+ )
+ )
+ )
+ (if
+ (get_local $31)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ )
+ (if
+ (i32.and
+ (i32.lt_u
+ (get_local $7)
+ (get_local $9)
+ )
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ (loop $while-in110
+ (if
+ (i32.gt_u
+ (tee_local $6
+ (call $_fmt_u
+ (i32.load
+ (get_local $7)
+ )
+ (i32.const 0)
+ (get_local $29)
+ )
+ )
+ (get_local $22)
+ )
+ (loop $while-in112
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in112
+ (i32.gt_u
+ (get_local $6)
+ (get_local $22)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $6)
+ (select
+ (i32.const 9)
+ (get_local $5)
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 9)
+ )
+ )
+ (get_local $0)
+ )
+ )
+ )
+ (set_local $6
+ (i32.add
+ (get_local $5)
+ (i32.const -9)
+ )
+ )
+ (set_local $5
+ (if (result i32)
+ (i32.and
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ )
+ (get_local $9)
+ )
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 9)
+ )
+ )
+ (block
+ (set_local $5
+ (get_local $6)
+ )
+ (br $while-in110)
+ )
+ (get_local $6)
+ )
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
+ (get_local $5)
(i32.const 9)
)
- (i32.const 2)
+ (i32.const 9)
+ (i32.const 0)
+ )
+ )
+ (block $do-once99
+ (set_local $9
+ (select
+ (get_local $9)
+ (i32.add
+ (get_local $12)
+ (i32.const 4)
+ )
+ (get_local $24)
+ )
+ )
+ (if
+ (i32.gt_s
+ (get_local $5)
+ (i32.const -1)
+ )
+ (block
+ (set_local $18
+ (i32.eqz
+ (get_local $21)
+ )
+ )
+ (set_local $6
+ (get_local $12)
+ )
+ (set_local $7
+ (get_local $5)
+ )
+ (loop $while-in114
+ (if
+ (i32.eq
+ (tee_local $5
+ (call $_fmt_u
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 0)
+ (get_local $29)
+ )
+ )
+ (get_local $29)
+ )
+ (block
+ (i32.store8
+ (get_local $33)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $33)
+ )
+ )
+ )
+ (block $do-once115
+ (if
+ (i32.eq
+ (get_local $6)
+ (get_local $12)
+ )
+ (block
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $5)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ (br_if $do-once115
+ (i32.or
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ (i32.and
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 1)
+ )
+ (get_local $18)
+ )
+ )
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (block
+ (br_if $do-once115
+ (i32.le_u
+ (get_local $5)
+ (get_local $22)
+ )
+ )
+ (loop $while-in118
+ (i32.store8
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in118
+ (i32.gt_u
+ (get_local $5)
+ (get_local $22)
+ )
+ )
+ )
+ )
+ )
+ )
+ (set_local $8
+ (i32.sub
+ (get_local $42)
+ (get_local $5)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $5)
+ (select
+ (get_local $8)
+ (get_local $7)
+ (i32.gt_s
+ (get_local $7)
+ (get_local $8)
+ )
+ )
+ (get_local $0)
+ )
+ )
+ )
+ (br_if $while-in114
+ (i32.and
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (get_local $9)
+ )
+ (i32.gt_s
+ (tee_local $7
+ (i32.sub
+ (get_local $7)
+ (get_local $8)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ )
+ (set_local $5
+ (get_local $7)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
+ (get_local $5)
+ (i32.const 18)
+ )
+ (i32.const 18)
+ (i32.const 0)
+ )
+ (br_if $do-once99
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $19)
+ (i32.sub
+ (get_local $27)
+ (get_local $19)
+ )
+ (get_local $0)
+ )
)
)
- (i32.const -4092)
- )
- )
- )
- )
- (get_local $12)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $38
- (i32.eq
- (i32.add
- (get_local $6)
- (i32.const 4)
)
- (get_local $9)
- )
- )
- (i32.eqz
- (get_local $13)
- )
- )
- )
- (block $do-once81
- (set_local $16
- (if (result f64)
- (i32.lt_u
- (get_local $13)
- (tee_local $50
- (i32.div_s
- (get_local $12)
- (i32.const 2)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (get_local $13)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
)
)
- )
- (f64.const 0.5)
- (select
- (f64.const 1)
- (f64.const 1.5)
- (i32.and
- (get_local $38)
- (i32.eq
+ (select
+ (get_local $15)
+ (get_local $13)
+ (i32.lt_s
(get_local $13)
- (get_local $50)
+ (get_local $15)
)
)
)
- )
- )
- (set_local $23
- (select
- (f64.const 9007199254740994)
- (f64.const 9007199254740992)
- (i32.and
- (i32.div_u
- (get_local $24)
- (get_local $12)
- )
- (i32.const 1)
- )
- )
- )
- (if
- (get_local $26)
- (if
- (i32.eq
- (i32.load8_s
- (get_local $30)
- )
- (i32.const 45)
- )
- (block
- (set_local $23
- (f64.neg
- (get_local $23)
+ (block (result i32)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
+ (tee_local $7
+ (i32.add
+ (tee_local $9
+ (select
+ (i32.const 0)
+ (get_local $26)
+ (tee_local $6
+ (f64.ne
+ (get_local $16)
+ (get_local $16)
+ )
+ )
+ )
+ )
+ (i32.const 3)
+ )
)
+ (get_local $8)
)
- (set_local $16
- (f64.neg
- (get_local $16)
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $5
+ (i32.load
+ (get_local $0)
+ )
+ )
+ (i32.const 32)
+ )
+ )
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $30)
+ (get_local $9)
+ (get_local $0)
+ )
+ )
+ (set_local $5
+ (i32.load
+ (get_local $0)
+ )
+ )
)
)
- )
- )
- )
- (i32.store
- (get_local $6)
- (tee_local $13
- (i32.sub
- (get_local $24)
- (get_local $13)
- )
- )
- )
- (br_if $do-once81
- (f64.eq
- (f64.add
- (get_local $23)
- (get_local $16)
- )
- (get_local $23)
- )
- )
- (i32.store
- (get_local $6)
- (tee_local $7
- (i32.add
- (get_local $13)
- (get_local $12)
- )
- )
- )
- (if
- (i32.gt_u
- (get_local $7)
- (i32.const 999999999)
- )
- (loop $while-in86
- (i32.store
- (get_local $6)
- (i32.const 0)
- )
- (if
- (i32.lt_u
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -4)
+ (set_local $6
+ (select
+ (select
+ (i32.const 4135)
+ (i32.const 4139)
+ (tee_local $8
+ (i32.ne
+ (i32.and
+ (get_local $19)
+ (i32.const 32)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (select
+ (i32.const 4127)
+ (i32.const 4131)
+ (get_local $8)
)
+ (get_local $6)
)
- (get_local $5)
)
- (i32.store
- (tee_local $5
- (i32.add
+ (if
+ (i32.eqz
+ (i32.and
(get_local $5)
- (i32.const -4)
+ (i32.const 32)
)
)
- (i32.const 0)
- )
- )
- (i32.store
- (get_local $6)
- (tee_local $7
- (i32.add
- (i32.load
+ (drop
+ (call $___fwritex
(get_local $6)
+ (i32.const 3)
+ (get_local $0)
)
- (i32.const 1)
)
)
- )
- (br_if $while-in86
- (i32.gt_u
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $15)
(get_local $7)
- (i32.const 999999999)
- )
- )
- )
- )
- (set_local $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $21)
- (get_local $5)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
)
- (i32.const 2)
- )
- (i32.const 9)
- )
- )
- (br_if $do-once81
- (i32.lt_u
- (tee_local $13
- (i32.load
- (get_local $5)
+ (select
+ (get_local $15)
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (get_local $15)
+ )
)
)
- (i32.const 10)
)
)
- (set_local $12
- (i32.const 10)
+ (set_local $5
+ (get_local $10)
)
- (loop $while-in88
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 1)
- )
- )
- (br_if $while-in88
- (i32.ge_u
- (get_local $13)
- (tee_local $12
- (i32.mul
- (get_local $12)
- (i32.const 10)
- )
- )
- )
- )
+ (set_local $10
+ (get_local $7)
)
+ (br $label$continue$L1)
)
- )
- (set_local $12
- (get_local $5)
- )
- (set_local $13
- (get_local $7)
- )
- (select
- (tee_local $5
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
+ (set_local $12
+ (get_local $6)
)
- (get_local $9)
- (i32.gt_u
- (get_local $9)
- (get_local $5)
+ (set_local $8
+ (i32.const 0)
)
- )
- )
- (block (result i32)
- (set_local $12
- (get_local $5)
- )
- (set_local $13
- (get_local $7)
- )
- (get_local $9)
- )
- )
- )
- (set_local $9
- (loop $while-in90 (result i32)
- (block $while-out89 (result i32)
- (if
- (i32.le_u
- (get_local $5)
- (get_local $12)
+ (set_local $9
+ (i32.const 4091)
)
- (block
- (set_local $24
- (i32.const 0)
- )
- (br $while-out89
- (get_local $5)
- )
+ (br $__rjto$8
+ (get_local $25)
)
)
- (if (result i32)
- (i32.load
+ (set_local $9
+ (i32.and
+ (get_local $19)
+ (i32.const 32)
+ )
+ )
+ (if
+ (i32.or
(tee_local $7
- (i32.add
- (get_local $5)
- (i32.const -4)
+ (i32.load
+ (get_local $14)
)
)
- )
- (block (result i32)
- (set_local $24
- (i32.const 1)
+ (tee_local $11
+ (i32.load offset=4
+ (get_local $14)
+ )
)
- (get_local $5)
)
(block
- (set_local $5
- (get_local $7)
- )
- (br $while-in90)
- )
- )
- )
- )
- )
- (set_local $5
- (if (result i32)
- (get_local $37)
- (block $do-once91 (result i32)
- (set_local $7
- (if (result i32)
- (i32.and
- (i32.gt_s
- (tee_local $5
- (i32.add
- (i32.xor
- (get_local $31)
- (i32.const 1)
- )
- (get_local $18)
- )
- )
- (get_local $13)
- )
- (i32.gt_s
- (get_local $13)
- (i32.const -5)
- )
+ (set_local $8
+ (get_local $25)
)
- (block (result i32)
- (set_local $18
- (i32.sub
+ (loop $while-in123
+ (i32.store8
+ (tee_local $8
(i32.add
- (get_local $5)
+ (get_local $8)
(i32.const -1)
)
- (get_local $13)
- )
- )
- (i32.add
- (get_local $19)
- (i32.const -1)
- )
- )
- (block (result i32)
- (set_local $18
- (i32.add
- (get_local $5)
- (i32.const -1)
)
- )
- (i32.add
- (get_local $19)
- (i32.const -2)
- )
- )
- )
- )
- (if
- (tee_local $5
- (i32.and
- (get_local $11)
- (i32.const 8)
- )
- )
- (block
- (set_local $21
- (get_local $5)
- )
- (br $do-once91
- (get_local $18)
- )
- )
- )
- (if
- (get_local $24)
- (block $do-once93
- (if
- (i32.eqz
- (tee_local $19
- (i32.load
+ (i32.or
+ (get_local $9)
+ (i32.load8_u
(i32.add
- (get_local $9)
- (i32.const -4)
+ (i32.and
+ (get_local $7)
+ (i32.const 15)
+ )
+ (i32.const 4075)
)
)
)
)
- (block
- (set_local $5
- (i32.const 9)
+ (br_if $while-in123
+ (i32.or
+ (tee_local $7
+ (call $_bitshift64Lshr
+ (get_local $7)
+ (get_local $11)
+ (i32.const 4)
+ )
+ )
+ (tee_local $11
+ (get_global $tempRet0)
+ )
)
- (br $do-once93)
)
)
- (set_local $5
+ (set_local $7
+ (get_local $8)
+ )
+ (set_local $8
(if (result i32)
- (i32.rem_u
- (get_local $19)
- (i32.const 10)
- )
- (block
- (set_local $5
- (i32.const 0)
+ (i32.or
+ (i32.eqz
+ (i32.or
+ (i32.load
+ (get_local $14)
+ )
+ (i32.load offset=4
+ (get_local $14)
+ )
+ )
+ )
+ (i32.eqz
+ (i32.and
+ (get_local $5)
+ (i32.const 8)
+ )
)
- (br $do-once93)
)
(block (result i32)
- (set_local $6
- (i32.const 10)
+ (set_local $9
+ (i32.const 4091)
)
(i32.const 0)
)
- )
- )
- (loop $while-in96
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
- )
- )
- (br_if $while-in96
- (i32.eqz
- (i32.rem_u
- (get_local $19)
- (tee_local $6
- (i32.mul
- (get_local $6)
- (i32.const 10)
+ (block (result i32)
+ (set_local $9
+ (i32.add
+ (i32.shr_s
+ (get_local $19)
+ (i32.const 4)
)
+ (i32.const 4091)
)
)
+ (i32.const 2)
)
)
)
)
- (set_local $5
- (i32.const 9)
- )
- )
- (set_local $6
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $9)
- (get_local $21)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- (i32.const -9)
- )
- )
- (if (result i32)
- (i32.eq
- (i32.or
- (get_local $7)
- (i32.const 32)
+ (block
+ (set_local $7
+ (get_local $25)
)
- (i32.const 102)
- )
- (block (result i32)
- (set_local $21
+ (set_local $8
(i32.const 0)
)
- (select
- (get_local $18)
- (tee_local $5
- (select
- (i32.const 0)
- (tee_local $5
- (i32.sub
- (get_local $6)
- (get_local $5)
- )
- )
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- )
- )
- (i32.lt_s
- (get_local $18)
- (get_local $5)
- )
+ (set_local $9
+ (i32.const 4091)
)
)
- (block (result i32)
- (set_local $21
- (i32.const 0)
- )
- (select
- (get_local $18)
- (tee_local $5
- (select
- (i32.const 0)
- (tee_local $5
- (i32.sub
- (i32.add
- (get_local $6)
- (get_local $13)
- )
- (get_local $5)
- )
- )
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- )
- )
- (i32.lt_s
- (get_local $18)
- (get_local $5)
- )
- )
+ )
+ (br $__rjti$8)
+ )
+ (set_local $7
+ (call $_fmt_u
+ (get_local $5)
+ (get_local $7)
+ (get_local $25)
+ )
+ )
+ (set_local $5
+ (get_local $11)
+ )
+ (br $__rjti$8)
+ )
+ (set_local $19
+ (i32.eqz
+ (tee_local $13
+ (call $_memchr
+ (get_local $7)
+ (get_local $6)
)
)
)
- (block (result i32)
- (set_local $21
- (i32.and
- (get_local $11)
- (i32.const 8)
+ )
+ (set_local $11
+ (get_local $8)
+ )
+ (set_local $12
+ (select
+ (get_local $6)
+ (i32.sub
+ (get_local $13)
+ (tee_local $5
+ (get_local $7)
)
)
- (set_local $7
- (get_local $19)
+ (get_local $19)
+ )
+ )
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjto$8
+ (select
+ (i32.add
+ (get_local $5)
+ (get_local $6)
)
- (get_local $18)
+ (get_local $13)
+ (get_local $19)
)
)
)
+ (set_local $5
+ (i32.const 0)
+ )
+ (set_local $7
+ (i32.const 0)
+ )
(set_local $6
- (i32.sub
- (i32.const 0)
- (get_local $13)
+ (i32.load
+ (get_local $14)
)
)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (tee_local $13
- (i32.add
- (i32.add
- (i32.add
- (i32.add
- (get_local $26)
- (i32.const 1)
- )
- (get_local $5)
- )
- (i32.ne
- (tee_local $31
- (i32.or
- (get_local $5)
- (get_local $21)
- )
+ (loop $while-in125
+ (block $while-out124
+ (br_if $while-out124
+ (i32.eqz
+ (tee_local $9
+ (i32.load
+ (get_local $6)
)
- (i32.const 0)
)
)
- (if (result i32)
- (tee_local $18
- (i32.eq
- (i32.or
- (get_local $7)
- (i32.const 32)
+ )
+ (br_if $while-out124
+ (i32.or
+ (i32.lt_s
+ (tee_local $7
+ (call $_wctomb
+ (get_local $35)
+ (get_local $9)
)
- (i32.const 102)
)
+ (i32.const 0)
)
- (block (result i32)
- (set_local $19
- (i32.const 0)
- )
- (select
- (get_local $13)
- (i32.const 0)
- (i32.gt_s
- (get_local $13)
- (i32.const 0)
- )
+ (i32.gt_u
+ (get_local $7)
+ (i32.sub
+ (get_local $8)
+ (get_local $5)
)
)
- (block (result i32)
- (if
- (i32.lt_s
- (i32.sub
- (get_local $27)
- (tee_local $6
- (call $_fmt_u
- (tee_local $6
- (select
- (get_local $6)
- (get_local $13)
- (i32.lt_s
- (get_local $13)
- (i32.const 0)
- )
- )
- )
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- (get_local $32)
- )
- )
- )
- (i32.const 2)
- )
- (loop $while-in98
- (i32.store8
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in98
- (i32.lt_s
- (i32.sub
- (get_local $27)
- (get_local $6)
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.store8
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $13)
- (i32.const 31)
- )
- (i32.const 2)
- )
- (i32.const 43)
- )
- )
- (i32.store8
- (tee_local $19
- (i32.add
- (get_local $6)
- (i32.const -2)
- )
- )
+ )
+ )
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (br_if $while-in125
+ (i32.gt_u
+ (get_local $8)
+ (tee_local $5
+ (i32.add
+ (get_local $5)
(get_local $7)
)
- (i32.sub
- (get_local $27)
- (get_local $19)
- )
)
)
)
)
- (get_local $11)
)
(if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 0)
)
- (drop
- (call $___fwritex
- (get_local $30)
- (get_local $26)
- (get_local $0)
+ (block
+ (set_local $17
+ (i32.const -1)
)
+ (br $label$break$L1)
)
)
(call $_pad
(get_local $0)
- (i32.const 48)
+ (i32.const 32)
(get_local $15)
- (get_local $13)
- (i32.xor
- (get_local $11)
- (i32.const 65536)
- )
+ (get_local $5)
+ (get_local $11)
)
- (if
- (get_local $18)
- (block
+ (if (result i32)
+ (get_local $5)
+ (block (result i32)
(set_local $6
- (tee_local $12
- (select
- (get_local $8)
- (get_local $12)
- (i32.gt_u
- (get_local $12)
- (get_local $8)
- )
- )
- )
+ (i32.const 0)
)
- (loop $while-in102
- (set_local $7
- (call $_fmt_u
- (i32.load
- (get_local $6)
- )
- (i32.const 0)
- (get_local $29)
- )
+ (set_local $7
+ (i32.load
+ (get_local $14)
)
- (block $do-once103
- (if
- (i32.eq
- (get_local $6)
- (get_local $12)
- )
- (block
- (br_if $do-once103
- (i32.ne
+ )
+ (loop $while-in127
+ (drop
+ (br_if $__rjti$7
+ (get_local $5)
+ (i32.eqz
+ (tee_local $8
+ (i32.load
(get_local $7)
- (get_local $29)
)
)
- (i32.store8
- (get_local $33)
- (i32.const 48)
- )
- (set_local $7
- (get_local $33)
- )
)
- (block
- (br_if $do-once103
- (i32.le_u
- (get_local $7)
- (get_local $22)
- )
- )
- (loop $while-in106
- (i32.store8
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const -1)
+ )
+ )
+ (drop
+ (br_if $__rjti$7
+ (get_local $5)
+ (i32.gt_s
+ (tee_local $6
+ (i32.add
+ (tee_local $8
+ (call $_wctomb
+ (get_local $35)
+ (get_local $8)
)
)
- (i32.const 48)
- )
- (br_if $while-in106
- (i32.gt_u
- (get_local $7)
- (get_local $22)
- )
+ (get_local $6)
)
)
+ (get_local $5)
)
)
)
@@ -5652,972 +6512,123 @@
)
(drop
(call $___fwritex
- (get_local $7)
- (i32.sub
- (get_local $43)
- (get_local $7)
- )
- (get_local $0)
- )
- )
- )
- (if
- (i32.le_u
- (tee_local $7
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
- (get_local $8)
- )
- (block
- (set_local $6
- (get_local $7)
- )
- (br $while-in102)
- )
- )
- )
- (if
- (get_local $31)
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
+ (get_local $35)
+ (get_local $8)
(get_local $0)
)
)
)
- )
- (if
- (i32.and
- (i32.gt_s
- (get_local $5)
- (i32.const 0)
- )
- (i32.lt_u
- (get_local $7)
- (get_local $9)
- )
- )
- (loop $while-in110
- (if
- (i32.gt_u
- (tee_local $6
- (call $_fmt_u
- (i32.load
- (get_local $7)
- )
- (i32.const 0)
- (get_local $29)
- )
- )
- (get_local $22)
- )
- (loop $while-in112
- (i32.store8
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in112
- (i32.gt_u
- (get_local $6)
- (get_local $22)
- )
- )
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $6)
- (select
- (i32.const 9)
- (get_local $5)
- (i32.gt_s
- (get_local $5)
- (i32.const 9)
- )
- )
- (get_local $0)
- )
- )
- )
- (set_local $6
- (i32.add
- (get_local $5)
- (i32.const -9)
- )
- )
- (set_local $5
- (if (result i32)
- (i32.and
- (i32.gt_s
- (get_local $5)
- (i32.const 9)
- )
- (i32.lt_u
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (get_local $9)
- )
- )
- (block
- (set_local $5
- (get_local $6)
- )
- (br $while-in110)
- )
- (get_local $6)
- )
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $5)
- (i32.const 9)
- )
- (i32.const 9)
- (i32.const 0)
- )
- )
- (block $do-once99
- (set_local $9
- (select
- (get_local $9)
+ (set_local $7
(i32.add
- (get_local $12)
+ (get_local $7)
(i32.const 4)
)
- (get_local $24)
- )
- )
- (if
- (i32.gt_s
- (get_local $5)
- (i32.const -1)
)
- (block
- (set_local $18
- (i32.eqz
- (get_local $21)
- )
- )
- (set_local $6
- (get_local $12)
- )
- (set_local $7
+ (br_if $while-in127
+ (i32.lt_u
+ (get_local $6)
(get_local $5)
)
- (loop $while-in114
- (if
- (i32.eq
- (tee_local $5
- (call $_fmt_u
- (i32.load
- (get_local $6)
- )
- (i32.const 0)
- (get_local $29)
- )
- )
- (get_local $29)
- )
- (block
- (i32.store8
- (get_local $33)
- (i32.const 48)
- )
- (set_local $5
- (get_local $33)
- )
- )
- )
- (block $do-once115
- (if
- (i32.eq
- (get_local $6)
- (get_local $12)
- )
- (block
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $5)
- (i32.const 1)
- (get_local $0)
- )
- )
- )
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
- )
- )
- (br_if $do-once115
- (i32.or
- (i32.and
- (get_local $18)
- (i32.lt_s
- (get_local $7)
- (i32.const 1)
- )
- )
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- )
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $0)
- )
- )
- )
- (block
- (br_if $do-once115
- (i32.le_u
- (get_local $5)
- (get_local $22)
- )
- )
- (loop $while-in118
- (i32.store8
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in118
- (i32.gt_u
- (get_local $5)
- (get_local $22)
- )
- )
- )
- )
- )
- )
- (set_local $8
- (i32.sub
- (get_local $43)
- (get_local $5)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $5)
- (select
- (get_local $8)
- (get_local $7)
- (i32.gt_s
- (get_local $7)
- (get_local $8)
- )
- )
- (get_local $0)
- )
- )
- )
- (br_if $while-in114
- (i32.and
- (i32.lt_u
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
- (get_local $9)
- )
- (i32.gt_s
- (tee_local $7
- (i32.sub
- (get_local $7)
- (get_local $8)
- )
- )
- (i32.const -1)
- )
- )
- )
- )
- (set_local $5
- (get_local $7)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $5)
- (i32.const 18)
- )
- (i32.const 18)
- (i32.const 0)
- )
- (br_if $do-once99
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $19)
- (i32.sub
- (get_local $27)
- (get_local $19)
- )
- (get_local $0)
)
)
+ (get_local $5)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (get_local $13)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (select
- (get_local $15)
- (get_local $13)
- (i32.lt_s
- (get_local $13)
- (get_local $15)
- )
- )
- )
- (block (result i32)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (tee_local $7
- (i32.add
- (tee_local $9
- (select
- (i32.const 0)
- (get_local $26)
- (tee_local $6
- (f64.ne
- (get_local $16)
- (get_local $16)
- )
- )
- )
- )
- (i32.const 3)
- )
- )
- (get_local $8)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $5
- (i32.load
- (get_local $0)
- )
- )
- (i32.const 32)
- )
- )
- (block
- (drop
- (call $___fwritex
- (get_local $30)
- (get_local $9)
- (get_local $0)
- )
- )
- (set_local $5
- (i32.load
- (get_local $0)
- )
- )
- )
- )
- (set_local $6
- (select
- (select
- (i32.const 4135)
- (i32.const 4139)
- (tee_local $8
- (i32.ne
- (i32.and
- (get_local $19)
- (i32.const 32)
- )
- (i32.const 0)
- )
- )
- )
- (select
- (i32.const 4127)
- (i32.const 4131)
- (get_local $8)
- )
- (get_local $6)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (get_local $5)
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $6)
- (i32.const 3)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (get_local $7)
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (select
- (get_local $15)
- (get_local $7)
- (i32.lt_s
- (get_local $7)
- (get_local $15)
- )
+ (i32.const 0)
)
)
)
+ (i32.xor
+ (get_local $11)
+ (i32.const 8192)
+ )
)
(set_local $5
(get_local $10)
)
(set_local $10
- (get_local $7)
+ (select
+ (get_local $15)
+ (get_local $7)
+ (i32.gt_s
+ (get_local $15)
+ (get_local $7)
+ )
+ )
)
(br $label$continue$L1)
)
- (set_local $12
- (get_local $6)
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjto$8
- (get_local $25)
- )
- )
- (set_local $9
- (i32.and
- (get_local $19)
- (i32.const 32)
- )
- )
- (if
- (i32.or
- (tee_local $7
- (i32.load
- (get_local $14)
+ (set_local $11
+ (select
+ (i32.and
+ (get_local $5)
+ (i32.const -65537)
)
- )
- (tee_local $11
- (i32.load offset=4
- (get_local $14)
+ (get_local $5)
+ (i32.gt_s
+ (get_local $6)
+ (i32.const -1)
)
)
)
- (block
- (set_local $8
- (get_local $25)
- )
- (loop $while-in123
- (i32.store8
- (tee_local $8
- (i32.add
- (get_local $8)
- (i32.const -1)
- )
- )
+ (if (result i32)
+ (i32.or
+ (get_local $6)
+ (tee_local $5
(i32.or
- (i32.load8_u
- (i32.add
- (i32.and
- (get_local $7)
- (i32.const 15)
- )
- (i32.const 4075)
+ (i32.ne
+ (i32.load
+ (get_local $14)
)
+ (i32.const 0)
)
- (get_local $9)
- )
- )
- (br_if $while-in123
- (i32.or
- (tee_local $7
- (call $_bitshift64Lshr
- (get_local $7)
- (get_local $11)
- (i32.const 4)
+ (i32.ne
+ (i32.load offset=4
+ (get_local $14)
)
- )
- (tee_local $11
- (get_global $tempRet0)
+ (i32.const 0)
)
)
)
)
- (set_local $7
- (get_local $8)
- )
- (set_local $8
- (if (result i32)
- (i32.or
- (i32.eqz
- (i32.and
- (get_local $5)
- (i32.const 8)
- )
- )
- (i32.eqz
- (i32.or
- (i32.load
- (get_local $14)
+ (block (result i32)
+ (set_local $12
+ (select
+ (get_local $6)
+ (tee_local $7
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $5)
+ (i32.const 1)
+ )
+ (i32.const 1)
)
- (i32.load offset=4
- (get_local $14)
+ (i32.sub
+ (get_local $38)
+ (tee_local $5
+ (get_local $7)
+ )
)
)
)
- )
- (block (result i32)
- (set_local $9
- (i32.const 4091)
- )
- (i32.const 0)
- )
- (block (result i32)
- (set_local $9
- (i32.add
- (i32.shr_s
- (get_local $19)
- (i32.const 4)
- )
- (i32.const 4091)
- )
+ (i32.gt_s
+ (get_local $6)
+ (get_local $7)
)
- (i32.const 2)
)
)
- )
- )
- (block
- (set_local $7
(get_local $25)
)
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- )
- )
- (br $__rjti$8)
- )
- (set_local $7
- (call $_fmt_u
- (get_local $5)
- (get_local $7)
- (get_local $25)
- )
- )
- (set_local $5
- (get_local $11)
- )
- (br $__rjti$8)
- )
- (set_local $19
- (i32.eqz
- (tee_local $13
- (call $_memchr
- (get_local $7)
- (get_local $6)
- )
- )
- )
- )
- (set_local $11
- (get_local $8)
- )
- (set_local $12
- (select
- (get_local $6)
- (i32.sub
- (get_local $13)
- (tee_local $5
- (get_local $7)
- )
- )
- (get_local $19)
- )
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjto$8
- (select
- (i32.add
- (get_local $5)
- (get_local $6)
- )
- (get_local $13)
- (get_local $19)
- )
- )
- )
- (set_local $5
- (i32.const 0)
- )
- (set_local $7
- (i32.const 0)
- )
- (set_local $6
- (i32.load
- (get_local $14)
- )
- )
- (loop $while-in125
- (block $while-out124
- (br_if $while-out124
- (i32.eqz
- (tee_local $9
- (i32.load
- (get_local $6)
- )
- )
- )
- )
- (br_if $while-out124
- (i32.or
- (i32.lt_s
- (tee_local $7
- (call $_wctomb
- (get_local $35)
- (get_local $9)
- )
- )
- (i32.const 0)
- )
- (i32.gt_u
- (get_local $7)
- (i32.sub
- (get_local $8)
- (get_local $5)
- )
- )
- )
- )
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
- (br_if $while-in125
- (i32.gt_u
- (get_local $8)
- (tee_local $5
- (i32.add
- (get_local $7)
- (get_local $5)
- )
- )
- )
- )
- )
- )
- (if
- (i32.lt_s
- (get_local $7)
- (i32.const 0)
- )
- (block
- (set_local $17
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $15)
- (get_local $5)
- (get_local $11)
- )
- (if (result i32)
- (get_local $5)
- (block (result i32)
- (set_local $6
- (i32.const 0)
- )
- (set_local $7
- (i32.load
- (get_local $14)
- )
- )
- (loop $while-in127
- (drop
- (br_if $__rjti$7
- (get_local $5)
- (i32.eqz
- (tee_local $8
- (i32.load
- (get_local $7)
- )
- )
- )
- )
- )
- (drop
- (br_if $__rjti$7
- (get_local $5)
- (i32.gt_s
- (tee_local $6
- (i32.add
- (tee_local $8
- (call $_wctomb
- (get_local $35)
- (get_local $8)
- )
- )
- (get_local $6)
- )
+ (block (result i32)
+ (set_local $12
+ (i32.const 0)
)
- (get_local $5)
- )
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
+ (tee_local $5
+ (get_local $25)
)
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $35)
- (get_local $8)
- (get_local $0)
)
)
)
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (br_if $while-in127
- (i32.lt_u
- (get_local $6)
- (get_local $5)
- )
- )
- )
- (get_local $5)
- )
- (i32.const 0)
- )
- )
- )
- (i32.xor
- (get_local $11)
- (i32.const 8192)
- )
- )
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (select
- (get_local $15)
- (get_local $7)
- (i32.gt_s
- (get_local $15)
- (get_local $7)
- )
- )
- )
- (br $label$continue$L1)
- )
- (set_local $11
- (select
- (i32.and
- (get_local $5)
- (i32.const -65537)
- )
- (get_local $5)
- (i32.gt_s
- (get_local $6)
- (i32.const -1)
- )
- )
- )
- (if (result i32)
- (i32.or
- (get_local $6)
- (tee_local $5
- (i32.or
- (i32.ne
- (i32.load
- (get_local $14)
- )
- (i32.const 0)
- )
- (i32.ne
- (i32.load offset=4
- (get_local $14)
- )
- (i32.const 0)
- )
- )
- )
- )
- (block (result i32)
- (set_local $12
- (select
- (get_local $6)
- (tee_local $7
- (i32.add
- (i32.xor
- (i32.and
- (get_local $5)
- (i32.const 1)
- )
- (i32.const 1)
- )
- (i32.sub
- (get_local $39)
- (tee_local $5
- (get_local $7)
- )
- )
- )
- )
- (i32.gt_s
- (get_local $6)
- (get_local $7)
- )
- )
- )
- (get_local $25)
- )
- (block (result i32)
- (set_local $12
- (i32.const 0)
- )
- (tee_local $5
- (get_local $25)
- )
- )
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (tee_local $7
- (select
- (tee_local $6
- (i32.add
- (get_local $8)
- (tee_local $12
- (select
- (tee_local $13
- (i32.sub
- (get_local $7)
(get_local $5)
)
)
@@ -6628,6 +6639,7 @@
)
)
)
+ (get_local $8)
)
)
(get_local $15)
@@ -6727,22 +6739,22 @@
(tee_local $1
(i32.load
(i32.add
- (get_local $4)
(i32.shl
(get_local $0)
(i32.const 2)
)
+ (get_local $4)
)
)
)
(block
(call $_pop_arg_336
(i32.add
- (get_local $3)
(i32.shl
(get_local $0)
(i32.const 3)
)
+ (get_local $3)
)
(get_local $1)
(get_local $2)
@@ -6774,11 +6786,11 @@
(if
(i32.load
(i32.add
- (get_local $4)
(i32.shl
(get_local $0)
(i32.const 2)
)
+ (get_local $4)
)
)
(block
@@ -7222,10 +7234,6 @@
(local $4 i32)
(if
(i32.or
- (i32.gt_u
- (get_local $1)
- (i32.const 0)
- )
(i32.and
(i32.eqz
(get_local $1)
@@ -7235,6 +7243,10 @@
(i32.const -1)
)
)
+ (i32.gt_u
+ (get_local $1)
+ (i32.const 0)
+ )
)
(loop $while-in
(i32.store8
@@ -7268,10 +7280,6 @@
(set_local $0
(if (result i32)
(i32.or
- (i32.gt_u
- (get_local $1)
- (i32.const 9)
- )
(i32.and
(i32.eq
(get_local $1)
@@ -7282,6 +7290,10 @@
(i32.const -1)
)
)
+ (i32.gt_u
+ (get_local $1)
+ (i32.const 9)
+ )
)
(block
(set_local $0
@@ -7362,16 +7374,16 @@
)
(if
(i32.and
- (i32.gt_s
- (get_local $2)
- (get_local $3)
- )
(i32.eqz
(i32.and
(get_local $4)
(i32.const 73728)
)
)
+ (i32.gt_s
+ (get_local $2)
+ (get_local $3)
+ )
)
(block $do-once
(drop
@@ -7544,48 +7556,47 @@
(i32.const 3)
)
(block
- (set_local $11
- (i32.load
- (tee_local $1
- (i32.add
- (tee_local $7
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $2
+ (if
+ (i32.eq
+ (tee_local $7
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (tee_local $11
+ (i32.load
+ (tee_local $3
(i32.add
- (i32.shl
- (tee_local $4
- (i32.add
- (i32.xor
- (i32.and
- (get_local $10)
- (i32.const 1)
+ (tee_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $4
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $10)
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (get_local $13)
)
- (i32.const 1)
)
- (get_local $13)
+ (i32.const 3)
)
+ (i32.const 216)
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
- )
- )
- (if
- (i32.eq
(get_local $2)
- (get_local $11)
)
(i32.store
(i32.const 176)
@@ -7603,7 +7614,7 @@
(block
(if
(i32.lt_u
- (get_local $11)
+ (get_local $7)
(i32.load
(i32.const 192)
)
@@ -7612,15 +7623,15 @@
)
(if
(i32.eq
+ (get_local $11)
(i32.load
(tee_local $0
(i32.add
- (get_local $11)
+ (get_local $7)
(i32.const 12)
)
)
)
- (get_local $7)
)
(block
(i32.store
@@ -7629,7 +7640,7 @@
)
(i32.store
(get_local $3)
- (get_local $11)
+ (get_local $7)
)
)
(call $_abort)
@@ -7637,7 +7648,7 @@
)
)
(i32.store offset=4
- (get_local $7)
+ (get_local $11)
(i32.or
(tee_local $0
(i32.shl
@@ -7652,8 +7663,8 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $7)
(get_local $0)
+ (get_local $11)
)
(i32.const 4)
)
@@ -7683,77 +7694,108 @@
(if
(get_local $10)
(block
- (set_local $7
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.add
- (i32.and
- (tee_local $3
- (i32.and
- (i32.shl
- (get_local $10)
- (get_local $13)
- )
- (i32.or
- (tee_local $3
- (i32.shl
- (i32.const 2)
- (get_local $13)
- )
- )
- (i32.sub
- (i32.const 0)
- (get_local $3)
- )
- )
- )
- )
- (i32.sub
- (i32.const 0)
- (get_local $3)
- )
- )
- (i32.const -1)
- )
- )
- (i32.const 12)
- )
- (i32.const 16)
- )
- )
- (set_local $10
- (i32.load
- (tee_local $4
- (i32.add
- (tee_local $8
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $7
+ (if
+ (i32.eq
+ (tee_local $8
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (tee_local $10
+ (i32.load
+ (tee_local $3
(i32.add
- (i32.shl
- (tee_local $11
- (i32.add
- (i32.or
- (i32.or
+ (tee_local $7
+ (i32.add
+ (i32.shl
+ (tee_local $11
+ (i32.add
(i32.or
(i32.or
+ (i32.or
+ (i32.or
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.add
+ (i32.and
+ (tee_local $3
+ (i32.and
+ (i32.or
+ (tee_local $3
+ (i32.shl
+ (i32.const 2)
+ (get_local $13)
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
+ )
+ )
+ (i32.shl
+ (get_local $10)
+ (get_local $13)
+ )
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ (i32.const 12)
+ )
+ (i32.const 16)
+ )
+ )
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.shr_u
+ (get_local $4)
+ (get_local $3)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.shr_u
+ (get_local $4)
+ (get_local $3)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ )
(tee_local $3
(i32.and
(i32.shr_u
(tee_local $4
(i32.shr_u
+ (get_local $4)
(get_local $3)
- (get_local $7)
)
)
- (i32.const 5)
+ (i32.const 1)
)
- (i32.const 8)
+ (i32.const 2)
)
)
- (get_local $7)
)
(tee_local $3
(i32.and
@@ -7764,67 +7806,34 @@
(get_local $3)
)
)
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $4
- (i32.shr_u
- (get_local $4)
- (get_local $3)
- )
+ (i32.const 1)
)
(i32.const 1)
)
- (i32.const 2)
)
)
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $4
- (i32.shr_u
- (get_local $4)
- (get_local $3)
- )
- )
- (i32.const 1)
- )
- (i32.const 1)
+ (i32.shr_u
+ (get_local $4)
+ (get_local $3)
)
)
)
- (i32.shr_u
- (get_local $4)
- (get_local $3)
- )
+ (i32.const 3)
)
+ (i32.const 216)
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
- )
- )
- (if
- (i32.eq
(get_local $7)
- (get_local $10)
)
(block
(i32.store
@@ -7847,7 +7856,7 @@
(block
(if
(i32.lt_u
- (get_local $10)
+ (get_local $8)
(i32.load
(i32.const 192)
)
@@ -7859,12 +7868,12 @@
(i32.load
(tee_local $0
(i32.add
- (get_local $10)
+ (get_local $8)
(i32.const 12)
)
)
)
- (get_local $8)
+ (get_local $10)
)
(block
(i32.store
@@ -7873,7 +7882,7 @@
)
(i32.store
(get_local $3)
- (get_local $10)
+ (get_local $8)
)
(set_local $9
(i32.load
@@ -7886,7 +7895,7 @@
)
)
(i32.store offset=4
- (get_local $8)
+ (get_local $10)
(i32.or
(get_local $2)
(i32.const 3)
@@ -7895,8 +7904,8 @@
(i32.store offset=4
(tee_local $7
(i32.add
- (get_local $8)
(get_local $2)
+ (get_local $10)
)
)
(i32.or
@@ -7985,8 +7994,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $3)
(get_local $0)
+ (get_local $3)
)
)
(set_local $5
@@ -8038,26 +8047,6 @@
)
)
(block
- (set_local $7
- (i32.and
- (i32.shr_u
- (tee_local $0
- (i32.add
- (i32.and
- (get_local $0)
- (i32.sub
- (i32.const 0)
- (get_local $0)
- )
- )
- (i32.const -1)
- )
- )
- (i32.const 12)
- )
- (i32.const 16)
- )
- )
(set_local $11
(i32.sub
(i32.and
@@ -8074,9 +8063,29 @@
(i32.and
(i32.shr_u
(tee_local $1
+ (i32.add
+ (i32.and
+ (get_local $0)
+ (i32.sub
+ (i32.const 0)
+ (get_local $0)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ (i32.const 12)
+ )
+ (i32.const 16)
+ )
+ )
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $1
(i32.shr_u
+ (get_local $1)
(get_local $0)
- (get_local $7)
)
)
(i32.const 5)
@@ -8084,7 +8093,6 @@
(i32.const 8)
)
)
- (get_local $7)
)
(tee_local $0
(i32.and
@@ -8228,8 +8236,8 @@
(get_local $8)
(tee_local $5
(i32.add
- (get_local $8)
(get_local $2)
+ (get_local $8)
)
)
)
@@ -8353,6 +8361,7 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load
(tee_local $7
(i32.add
@@ -8361,7 +8370,6 @@
)
)
)
- (get_local $8)
)
(call $_abort)
)
@@ -8399,7 +8407,6 @@
(block $do-once8
(if
(i32.eq
- (get_local $8)
(i32.load
(tee_local $0
(i32.add
@@ -8415,6 +8422,7 @@
)
)
)
+ (get_local $8)
)
(block
(i32.store
@@ -8561,8 +8569,8 @@
(i32.or
(tee_local $0
(i32.add
- (get_local $6)
(get_local $2)
+ (get_local $6)
)
)
(i32.const 3)
@@ -8572,8 +8580,8 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $8)
(get_local $0)
+ (get_local $8)
)
(i32.const 4)
)
@@ -8678,8 +8686,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(set_local $12
@@ -8773,83 +8781,87 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $2)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
+ (block (result i32)
+ (set_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
)
+ (i32.const 16)
)
- (get_local $3)
+ (i32.const 8)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (get_local $4)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $2)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (get_local $1)
+ (get_local $4)
)
+ (get_local $3)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $3)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
)
@@ -8917,8 +8929,8 @@
(set_local $1
(if (result i32)
(i32.eq
- (get_local $12)
(get_local $2)
+ (get_local $12)
)
(block
(set_local $1
@@ -9011,15 +9023,20 @@
)
)
)
- (set_local $0
- (i32.const 0)
+ (block
+ (set_local $4
+ (i32.const 0)
+ )
+ (set_local $0
+ (i32.const 0)
+ )
)
)
(if
(i32.eqz
(i32.or
- (get_local $4)
(get_local $0)
+ (get_local $4)
)
)
(block
@@ -9047,26 +9064,6 @@
)
)
)
- (set_local $12
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.add
- (i32.and
- (get_local $1)
- (i32.sub
- (i32.const 0)
- (get_local $1)
- )
- )
- (i32.const -1)
- )
- )
- (i32.const 12)
- )
- (i32.const 16)
- )
- )
(set_local $4
(i32.load offset=480
(i32.shl
@@ -9079,9 +9076,29 @@
(i32.and
(i32.shr_u
(tee_local $4
+ (i32.add
+ (i32.and
+ (get_local $1)
+ (i32.sub
+ (i32.const 0)
+ (get_local $1)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ (i32.const 12)
+ )
+ (i32.const 16)
+ )
+ )
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
(i32.shr_u
+ (get_local $4)
(get_local $1)
- (get_local $12)
)
)
(i32.const 5)
@@ -9089,7 +9106,6 @@
(i32.const 8)
)
)
- (get_local $12)
)
(tee_local $1
(i32.and
@@ -9252,8 +9268,8 @@
(get_local $4)
(tee_local $5
(i32.add
- (get_local $4)
(get_local $2)
+ (get_local $4)
)
)
)
@@ -9377,6 +9393,7 @@
)
(if
(i32.ne
+ (get_local $4)
(i32.load
(tee_local $7
(i32.add
@@ -9385,7 +9402,6 @@
)
)
)
- (get_local $4)
)
(call $_abort)
)
@@ -9423,7 +9439,6 @@
(block $do-once21
(if
(i32.eq
- (get_local $4)
(i32.load
(tee_local $0
(i32.add
@@ -9439,6 +9454,7 @@
)
)
)
+ (get_local $4)
)
(block
(i32.store
@@ -9585,8 +9601,8 @@
(i32.or
(tee_local $0
(i32.add
- (get_local $3)
(get_local $2)
+ (get_local $3)
)
)
(i32.const 3)
@@ -9596,8 +9612,8 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $4)
(get_local $0)
+ (get_local $4)
)
(i32.const 4)
)
@@ -9627,8 +9643,8 @@
)
(i32.store
(i32.add
- (get_local $5)
(get_local $3)
+ (get_local $5)
)
(get_local $3)
)
@@ -9697,8 +9713,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(set_local $13
@@ -9748,83 +9764,87 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $3)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
+ (block (result i32)
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
)
+ (i32.const 16)
)
- (get_local $2)
+ (i32.const 8)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (get_local $7)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $3)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (get_local $1)
+ (get_local $7)
)
+ (get_local $2)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $2)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
)
@@ -9873,8 +9893,8 @@
(i32.store
(i32.const 180)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(i32.store
@@ -10100,8 +10120,8 @@
(i32.const 196)
(tee_local $1
(i32.add
- (get_local $2)
(get_local $0)
+ (get_local $2)
)
)
)
@@ -10151,8 +10171,8 @@
(tee_local $0
(i32.add
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $2)
)
(i32.const 4)
)
@@ -10193,15 +10213,15 @@
)
(if
(i32.and
- (i32.add
- (tee_local $1
- (call $_sysconf
- (i32.const 30)
- )
+ (tee_local $1
+ (call $_sysconf
+ (i32.const 30)
)
+ )
+ (i32.add
+ (get_local $1)
(i32.const -1)
)
- (get_local $1)
)
(call $_abort)
(block
@@ -10400,33 +10420,36 @@
)
(i32.const 2147483647)
)
- (if
- (i32.eq
- (tee_local $1
- (call $_sbrk
- (get_local $3)
- )
- )
- (i32.add
- (i32.load
- (get_local $4)
- )
- (i32.load
- (get_local $2)
- )
+ (block
+ (set_local $1
+ (call $_sbrk
+ (get_local $3)
)
)
- (br_if $__rjti$13
- (i32.ne
+ (if
+ (i32.eq
+ (i32.add
+ (i32.load
+ (get_local $4)
+ )
+ (i32.load
+ (get_local $2)
+ )
+ )
(get_local $1)
- (i32.const -1)
)
- )
- (block
- (set_local $2
- (get_local $1)
+ (br_if $__rjti$13
+ (i32.ne
+ (get_local $1)
+ (i32.const -1)
+ )
+ )
+ (block
+ (set_local $2
+ (get_local $1)
+ )
+ (br $__rjti$5)
)
- (br $__rjti$5)
)
)
)
@@ -10445,6 +10468,9 @@
(set_local $3
(if (result i32)
(i32.and
+ (tee_local $3
+ (get_local $1)
+ )
(tee_local $2
(i32.add
(tee_local $4
@@ -10455,9 +10481,6 @@
(i32.const -1)
)
)
- (tee_local $3
- (get_local $1)
- )
)
(i32.add
(i32.sub
@@ -10490,14 +10513,14 @@
)
(if
(i32.and
- (i32.gt_u
- (get_local $3)
- (get_local $0)
- )
(i32.lt_u
(get_local $3)
(i32.const 2147483647)
)
+ (i32.gt_u
+ (get_local $3)
+ (get_local $0)
+ )
)
(block
(if
@@ -10521,12 +10544,12 @@
)
(br_if $__rjti$13
(i32.eq
+ (get_local $1)
(tee_local $2
(call $_sbrk
(get_local $3)
)
)
- (get_local $1)
)
)
(br $__rjti$5)
@@ -10548,19 +10571,19 @@
(set_local $3
(if (result i32)
(i32.and
- (i32.gt_u
- (get_local $10)
- (get_local $1)
- )
(i32.and
- (i32.lt_u
- (get_local $1)
- (i32.const 2147483647)
- )
(i32.ne
(get_local $2)
(i32.const -1)
)
+ (i32.lt_u
+ (get_local $1)
+ (i32.const 2147483647)
+ )
+ )
+ (i32.gt_u
+ (get_local $10)
+ (get_local $1)
)
)
(if (result i32)
@@ -10568,15 +10591,15 @@
(tee_local $3
(i32.and
(i32.add
- (i32.sub
- (get_local $9)
- (get_local $1)
- )
(tee_local $3
(i32.load
(i32.const 656)
)
)
+ (i32.sub
+ (get_local $9)
+ (get_local $1)
+ )
)
(i32.sub
(i32.const 0)
@@ -10602,8 +10625,8 @@
(br $label$break$L279)
)
(i32.add
- (get_local $3)
(get_local $1)
+ (get_local $3)
)
)
(get_local $1)
@@ -10721,7 +10744,6 @@
(loop $while-in45
(br_if $__rjti$10
(i32.eq
- (get_local $1)
(i32.add
(tee_local $10
(i32.load
@@ -10739,6 +10761,7 @@
)
)
)
+ (get_local $1)
)
)
(br_if $while-in45
@@ -10775,8 +10798,8 @@
(i32.store
(get_local $4)
(i32.add
- (get_local $6)
(get_local $3)
+ (get_local $6)
)
)
(set_local $2
@@ -10807,13 +10830,13 @@
)
(set_local $1
(i32.add
+ (i32.load
+ (i32.const 188)
+ )
(i32.sub
(get_local $3)
(get_local $1)
)
- (i32.load
- (i32.const 188)
- )
)
)
(i32.store
@@ -10833,8 +10856,8 @@
)
(i32.store offset=4
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $2)
)
(i32.const 40)
)
@@ -10939,12 +10962,11 @@
(i32.add
(tee_local $12
(i32.add
- (get_local $1)
(select
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $1
+ (tee_local $3
(i32.add
(get_local $1)
(i32.const 8)
@@ -10955,10 +10977,11 @@
)
(i32.const 0)
(i32.and
- (get_local $1)
+ (get_local $3)
(i32.const 7)
)
)
+ (get_local $1)
)
)
(get_local $0)
@@ -11005,8 +11028,8 @@
)
(if
(i32.eq
- (get_local $6)
(get_local $5)
+ (get_local $6)
)
(block
(i32.store
@@ -11035,10 +11058,10 @@
(block $do-once48
(if
(i32.eq
- (get_local $6)
(i32.load
(i32.const 196)
)
+ (get_local $6)
)
(block
(i32.store
@@ -11065,8 +11088,8 @@
)
(i32.store
(i32.add
- (get_local $9)
(get_local $0)
+ (get_local $9)
)
(get_local $0)
)
@@ -11176,8 +11199,8 @@
)
(if
(i32.eq
- (get_local $2)
(get_local $0)
+ (get_local $2)
)
(set_local $15
(i32.add
@@ -11348,6 +11371,7 @@
)
(if
(i32.ne
+ (get_local $6)
(i32.load
(tee_local $3
(i32.add
@@ -11356,7 +11380,6 @@
)
)
)
- (get_local $6)
)
(call $_abort)
)
@@ -11396,7 +11419,6 @@
)
(if
(i32.eq
- (get_local $6)
(i32.load
(tee_local $0
(i32.add
@@ -11412,6 +11434,7 @@
)
)
)
+ (get_local $6)
)
(block $do-once59
(i32.store
@@ -11553,8 +11576,8 @@
)
(set_local $7
(i32.add
- (get_local $10)
(get_local $7)
+ (get_local $10)
)
)
(i32.add
@@ -11584,8 +11607,8 @@
)
(i32.store
(i32.add
- (get_local $9)
(get_local $7)
+ (get_local $9)
)
(get_local $7)
)
@@ -11657,8 +11680,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(set_local $16
@@ -11708,83 +11731,87 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $7)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
+ (block (result i32)
+ (set_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
)
+ (i32.const 16)
)
- (get_local $3)
+ (i32.const 8)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (get_local $2)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $7)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (get_local $1)
+ (get_local $2)
)
+ (get_local $3)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $3)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
)
@@ -11833,8 +11860,8 @@
(i32.store
(i32.const 180)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(i32.store
@@ -12108,7 +12135,6 @@
(i32.const 200)
(tee_local $6
(i32.add
- (get_local $1)
(tee_local $4
(select
(i32.and
@@ -12130,6 +12156,7 @@
)
)
)
+ (get_local $1)
)
)
)
@@ -12154,8 +12181,8 @@
)
(i32.store offset=4
(i32.add
- (get_local $6)
(get_local $4)
+ (get_local $6)
)
(i32.const 40)
)
@@ -12242,8 +12269,8 @@
)
(if
(i32.ne
- (get_local $10)
(get_local $5)
+ (get_local $10)
)
(block
(i32.store
@@ -12336,8 +12363,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $3)
(get_local $1)
+ (get_local $3)
)
)
(set_local $17
@@ -12387,83 +12414,87 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $6)
- (i32.add
- (tee_local $1
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $3
- (i32.shl
- (get_local $1)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $1)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
+ (block (result i32)
+ (set_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $1)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $1)
+ (i32.const 1048320)
)
+ (i32.const 16)
)
- (get_local $2)
+ (i32.const 8)
)
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $3
- (i32.shl
- (get_local $3)
- (get_local $1)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $1)
+ (get_local $4)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $6)
+ (i32.add
+ (tee_local $1
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (get_local $3)
+ (get_local $4)
)
+ (get_local $2)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $3)
- (get_local $1)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $2)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $1)
- (i32.const 1)
)
)
)
@@ -12507,8 +12538,8 @@
(i32.store
(i32.const 180)
(i32.or
- (get_local $3)
(get_local $1)
+ (get_local $3)
)
)
(i32.store
@@ -12763,15 +12794,14 @@
)
(i32.store
(i32.const 200)
- (tee_local $2
+ (tee_local $4
(i32.add
- (get_local $1)
- (tee_local $1
+ (tee_local $2
(select
(i32.and
(i32.sub
(i32.const 0)
- (tee_local $1
+ (tee_local $2
(i32.add
(get_local $1)
(i32.const 8)
@@ -12782,11 +12812,12 @@
)
(i32.const 0)
(i32.and
- (get_local $1)
+ (get_local $2)
(i32.const 7)
)
)
)
+ (get_local $1)
)
)
)
@@ -12798,12 +12829,12 @@
(get_local $3)
(i32.const -40)
)
- (get_local $1)
+ (get_local $2)
)
)
)
(i32.store offset=4
- (get_local $2)
+ (get_local $4)
(i32.or
(get_local $1)
(i32.const 1)
@@ -12811,8 +12842,8 @@
)
(i32.store offset=4
(i32.add
- (get_local $2)
(get_local $1)
+ (get_local $4)
)
(i32.const 40)
)
@@ -12990,16 +13021,16 @@
)
(set_local $0
(i32.add
- (get_local $8)
(get_local $0)
+ (get_local $8)
)
)
(if
(i32.eq
- (get_local $1)
(i32.load
(i32.const 196)
)
+ (get_local $1)
)
(block
(if
@@ -13049,8 +13080,8 @@
)
(i32.store
(i32.add
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
(get_local $0)
)
@@ -13101,10 +13132,10 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load offset=12
(get_local $2)
)
- (get_local $1)
)
(call $_abort)
)
@@ -13112,8 +13143,8 @@
)
(if
(i32.eq
- (get_local $6)
(get_local $2)
+ (get_local $6)
)
(block
(i32.store
@@ -13142,8 +13173,8 @@
)
(if
(i32.eq
- (get_local $6)
(get_local $3)
+ (get_local $6)
)
(set_local $4
(i32.add
@@ -13318,6 +13349,7 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load
(tee_local $8
(i32.add
@@ -13326,7 +13358,6 @@
)
)
)
- (get_local $1)
)
(call $_abort)
)
@@ -13364,7 +13395,6 @@
(block
(if
(i32.eq
- (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -13380,6 +13410,7 @@
)
)
)
+ (get_local $1)
)
(block
(i32.store
@@ -13615,10 +13646,10 @@
(block
(if
(i32.eq
- (get_local $7)
(i32.load
(i32.const 200)
)
+ (get_local $7)
)
(block
(i32.store
@@ -13665,10 +13696,10 @@
)
(if
(i32.eq
- (get_local $7)
(i32.load
(i32.const 196)
)
+ (get_local $7)
)
(block
(i32.store
@@ -13695,8 +13726,8 @@
)
(i32.store
(i32.add
- (get_local $2)
(get_local $0)
+ (get_local $2)
)
(get_local $0)
)
@@ -13759,10 +13790,10 @@
)
(if
(i32.ne
+ (get_local $7)
(i32.load offset=12
(get_local $1)
)
- (get_local $7)
)
(call $_abort)
)
@@ -13770,8 +13801,8 @@
)
(if
(i32.eq
- (get_local $4)
(get_local $1)
+ (get_local $4)
)
(block
(i32.store
@@ -13794,8 +13825,8 @@
)
(if
(i32.eq
- (get_local $4)
(get_local $0)
+ (get_local $4)
)
(set_local $14
(i32.add
@@ -13969,6 +14000,7 @@
)
(if
(i32.ne
+ (get_local $7)
(i32.load
(tee_local $1
(i32.add
@@ -13977,7 +14009,6 @@
)
)
)
- (get_local $7)
)
(call $_abort)
)
@@ -14015,7 +14046,6 @@
(block
(if
(i32.eq
- (get_local $7)
(i32.load
(tee_local $0
(i32.add
@@ -14031,6 +14061,7 @@
)
)
)
+ (get_local $7)
)
(block
(i32.store
@@ -14191,10 +14222,10 @@
(set_local $3
(if (result i32)
(i32.eq
- (get_local $2)
(i32.load
(i32.const 196)
)
+ (get_local $2)
)
(block
(i32.store
@@ -14273,8 +14304,8 @@
(i32.store
(i32.const 176)
(i32.or
- (get_local $3)
(get_local $0)
+ (get_local $3)
)
)
(set_local $15
@@ -14324,83 +14355,87 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $3)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $4
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
+ (block (result i32)
+ (set_local $5
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
)
+ (i32.const 16)
)
- (get_local $4)
+ (i32.const 8)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $0)
+ (get_local $5)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $3)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (get_local $1)
+ (get_local $5)
)
+ (get_local $4)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $4)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
)
@@ -14598,8 +14633,8 @@
(i32.store
(i32.const 180)
(i32.or
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(i32.store
@@ -14766,11 +14801,11 @@
(i32.or
(i32.or
(i32.or
- (get_local $1)
(i32.shl
(get_local $1)
(i32.const 8)
)
+ (get_local $1)
)
(i32.shl
(get_local $1)
@@ -14853,10 +14888,6 @@
)
(return
(i32.or
- (i32.shr_u
- (get_local $0)
- (get_local $2)
- )
(i32.shl
(i32.and
(get_local $1)
@@ -14873,6 +14904,10 @@
(get_local $2)
)
)
+ (i32.shr_u
+ (get_local $0)
+ (get_local $2)
+ )
)
)
)
@@ -14903,7 +14938,6 @@
)
(i32.shr_u
(i32.and
- (get_local $0)
(i32.shl
(i32.sub
(i32.shl
@@ -14917,6 +14951,7 @@
(get_local $2)
)
)
+ (get_local $0)
)
(i32.sub
(i32.const 32)
diff --git a/test/memorygrowth.fromasm b/test/memorygrowth.fromasm
index 992ac9c04..46e4beb04 100644
--- a/test/memorygrowth.fromasm
+++ b/test/memorygrowth.fromasm
@@ -170,13 +170,14 @@
(i32.add
(tee_local $13
(i32.load
- (tee_local $16
+ (tee_local $15
(i32.add
(tee_local $9
(i32.add
(i32.shl
(tee_local $0
(i32.add
+ (get_local $0)
(i32.xor
(i32.and
(get_local $6)
@@ -184,7 +185,6 @@
)
(i32.const 1)
)
- (get_local $0)
)
)
(i32.const 3)
@@ -204,13 +204,12 @@
)
(if
(i32.eq
- (get_local $9)
(get_local $7)
+ (get_local $9)
)
(i32.store
(i32.const 1208)
(i32.and
- (get_local $5)
(i32.xor
(i32.shl
(i32.const 1)
@@ -218,6 +217,7 @@
)
(i32.const -1)
)
+ (get_local $5)
)
)
(block
@@ -232,6 +232,7 @@
)
(if
(i32.eq
+ (get_local $13)
(i32.load
(tee_local $8
(i32.add
@@ -240,7 +241,6 @@
)
)
)
- (get_local $13)
)
(block
(i32.store
@@ -248,7 +248,7 @@
(get_local $9)
)
(i32.store
- (get_local $16)
+ (get_local $15)
(get_local $7)
)
)
@@ -269,18 +269,18 @@
)
)
(i32.store
- (tee_local $16
+ (tee_local $15
(i32.add
(i32.add
- (get_local $13)
(get_local $7)
+ (get_local $13)
)
(i32.const 4)
)
)
(i32.or
(i32.load
- (get_local $16)
+ (get_local $15)
)
(i32.const 1)
)
@@ -296,7 +296,7 @@
(if (result i32)
(i32.gt_u
(get_local $2)
- (tee_local $16
+ (tee_local $15
(i32.load
(i32.const 1216)
)
@@ -312,30 +312,30 @@
(tee_local $7
(i32.add
(i32.and
- (tee_local $9
- (i32.and
- (i32.shl
- (get_local $6)
- (get_local $0)
- )
- (i32.or
- (tee_local $7
- (i32.shl
- (i32.const 2)
- (get_local $0)
+ (i32.sub
+ (i32.const 0)
+ (tee_local $9
+ (i32.and
+ (i32.or
+ (i32.sub
+ (i32.const 0)
+ (tee_local $7
+ (i32.shl
+ (i32.const 2)
+ (get_local $0)
+ )
+ )
)
- )
- (i32.sub
- (i32.const 0)
(get_local $7)
)
+ (i32.shl
+ (get_local $6)
+ (get_local $0)
+ )
)
)
)
- (i32.sub
- (i32.const 0)
- (get_local $9)
- )
+ (get_local $9)
)
(i32.const -1)
)
@@ -345,115 +345,116 @@
(i32.const 16)
)
)
- (set_local $9
- (i32.load
- (tee_local $8
- (i32.add
- (tee_local $10
- (i32.load
- (tee_local $13
- (i32.add
- (tee_local $3
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (tee_local $8
+ (i32.shr_u
+ (get_local $7)
+ (get_local $9)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $8
+ (i32.and
+ (i32.shr_u
+ (tee_local $10
+ (i32.shr_u
+ (get_local $8)
+ (get_local $7)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $10
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.shr_u
+ (get_local $10)
+ (get_local $8)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $9
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (tee_local $10
+ (i32.load
+ (tee_local $13
(i32.add
- (i32.shl
- (tee_local $4
- (i32.add
- (i32.or
- (i32.or
+ (tee_local $3
+ (i32.add
+ (i32.shl
+ (tee_local $4
+ (i32.add
(i32.or
- (i32.or
- (tee_local $7
- (i32.and
- (i32.shr_u
- (tee_local $8
- (i32.shr_u
- (get_local $7)
- (get_local $9)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $9)
- )
- (tee_local $8
+ (tee_local $3
(i32.and
(i32.shr_u
- (tee_local $10
+ (tee_local $13
(i32.shr_u
- (get_local $8)
- (get_local $7)
+ (get_local $3)
+ (get_local $10)
)
)
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $10
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.shr_u
- (get_local $10)
- (get_local $8)
- )
+ (i32.const 1)
)
(i32.const 1)
)
- (i32.const 2)
)
- )
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $13
- (i32.shr_u
- (get_local $3)
- (get_local $10)
+ (i32.or
+ (get_local $10)
+ (i32.or
+ (get_local $8)
+ (i32.or
+ (get_local $7)
+ (get_local $9)
)
)
- (i32.const 1)
)
- (i32.const 1)
+ )
+ (i32.shr_u
+ (get_local $13)
+ (get_local $3)
)
)
)
- (i32.shr_u
- (get_local $13)
- (get_local $3)
- )
+ (i32.const 3)
)
+ (i32.const 1248)
)
- (i32.const 3)
)
- (i32.const 1248)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
- )
- )
- (if
- (i32.eq
(get_local $3)
- (get_local $9)
)
(block
(i32.store
(i32.const 1208)
(i32.and
- (get_local $5)
(i32.xor
(i32.shl
(i32.const 1)
@@ -461,10 +462,11 @@
)
(i32.const -1)
)
+ (get_local $5)
)
)
(set_local $34
- (get_local $16)
+ (get_local $15)
)
)
(block
@@ -479,6 +481,7 @@
)
(if
(i32.eq
+ (get_local $10)
(i32.load
(tee_local $7
(i32.add
@@ -487,7 +490,6 @@
)
)
)
- (get_local $10)
)
(block
(i32.store
@@ -518,8 +520,8 @@
(i32.store offset=4
(tee_local $13
(i32.add
- (get_local $10)
(get_local $2)
+ (get_local $10)
)
)
(i32.or
@@ -537,8 +539,8 @@
)
(i32.store
(i32.add
- (get_local $13)
(get_local $9)
+ (get_local $13)
)
(get_local $9)
)
@@ -553,7 +555,7 @@
(set_local $5
(i32.add
(i32.shl
- (tee_local $16
+ (tee_local $15
(i32.shr_u
(get_local $34)
(i32.const 3)
@@ -574,7 +576,7 @@
(tee_local $6
(i32.shl
(i32.const 1)
- (get_local $16)
+ (get_local $15)
)
)
)
@@ -670,11 +672,11 @@
(tee_local $9
(i32.add
(i32.and
- (get_local $13)
(i32.sub
(i32.const 0)
(get_local $13)
)
+ (get_local $13)
)
(i32.const -1)
)
@@ -684,65 +686,58 @@
(i32.const 16)
)
)
+ (set_local $9
+ (i32.and
+ (i32.shr_u
+ (tee_local $5
+ (i32.shr_u
+ (get_local $9)
+ (get_local $13)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $5
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.shr_u
+ (get_local $5)
+ (get_local $9)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $0
+ (i32.shr_u
+ (get_local $3)
+ (get_local $5)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
(set_local $0
(i32.sub
(i32.and
(i32.load offset=4
- (tee_local $16
+ (tee_local $15
(i32.load
(i32.add
(i32.shl
(i32.add
(i32.or
- (i32.or
- (i32.or
- (i32.or
- (tee_local $9
- (i32.and
- (i32.shr_u
- (tee_local $5
- (i32.shr_u
- (get_local $9)
- (get_local $13)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $13)
- )
- (tee_local $5
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.shr_u
- (get_local $5)
- (get_local $9)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $0
- (i32.shr_u
- (get_local $3)
- (get_local $5)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
(tee_local $0
(i32.and
(i32.shr_u
@@ -757,6 +752,16 @@
(i32.const 1)
)
)
+ (i32.or
+ (get_local $3)
+ (i32.or
+ (get_local $5)
+ (i32.or
+ (get_local $9)
+ (get_local $13)
+ )
+ )
+ )
)
(i32.shr_u
(get_local $6)
@@ -777,25 +782,25 @@
)
(set_local $3
(tee_local $6
- (get_local $16)
+ (get_local $15)
)
)
(loop $while-in
(block $while-out
(set_local $5
(i32.lt_u
- (tee_local $16
+ (tee_local $15
(i32.sub
(i32.and
(i32.load offset=4
(tee_local $6
(if (result i32)
- (tee_local $16
+ (tee_local $15
(i32.load offset=16
(get_local $6)
)
)
- (get_local $16)
+ (get_local $15)
(if (result i32)
(tee_local $5
(i32.load offset=20
@@ -826,7 +831,7 @@
)
(set_local $0
(select
- (get_local $16)
+ (get_local $15)
(get_local $0)
(get_local $5)
)
@@ -891,7 +896,7 @@
)
)
(block
- (set_local $16
+ (set_local $15
(get_local $4)
)
(set_local $5
@@ -900,7 +905,7 @@
)
(br_if $do-once4
(i32.eqz
- (tee_local $16
+ (tee_local $15
(i32.load
(tee_local $5
(i32.add
@@ -919,14 +924,14 @@
(i32.load
(tee_local $10
(i32.add
- (get_local $16)
+ (get_local $15)
(i32.const 20)
)
)
)
)
(block
- (set_local $16
+ (set_local $15
(get_local $4)
)
(set_local $5
@@ -940,14 +945,14 @@
(i32.load
(tee_local $10
(i32.add
- (get_local $16)
+ (get_local $15)
(i32.const 16)
)
)
)
)
(block
- (set_local $16
+ (set_local $15
(get_local $4)
)
(set_local $5
@@ -969,7 +974,7 @@
(i32.const 0)
)
(set_local $23
- (get_local $16)
+ (get_local $15)
)
)
)
@@ -988,6 +993,7 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -996,12 +1002,12 @@
)
)
)
- (get_local $1)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $5
(i32.add
@@ -1010,7 +1016,6 @@
)
)
)
- (get_local $1)
)
(block
(i32.store
@@ -1034,7 +1039,6 @@
(block $do-once8
(if
(i32.eq
- (get_local $1)
(i32.load
(tee_local $3
(i32.add
@@ -1050,6 +1054,7 @@
)
)
)
+ (get_local $1)
)
(block
(i32.store
@@ -1092,6 +1097,7 @@
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $8
(i32.add
@@ -1100,7 +1106,6 @@
)
)
)
- (get_local $1)
)
(i32.store
(get_local $8)
@@ -1196,8 +1201,8 @@
(i32.or
(tee_local $0
(i32.add
- (get_local $7)
(get_local $2)
+ (get_local $7)
)
)
(i32.const 3)
@@ -1207,8 +1212,8 @@
(tee_local $3
(i32.add
(i32.add
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
(i32.const 4)
)
@@ -1271,17 +1276,17 @@
)
(if
(i32.and
- (tee_local $10
- (i32.load
- (i32.const 1208)
- )
- )
(tee_local $5
(i32.shl
(i32.const 1)
(get_local $8)
)
)
+ (tee_local $10
+ (i32.load
+ (i32.const 1208)
+ )
+ )
)
(if
(i32.lt_u
@@ -1313,8 +1318,8 @@
(i32.store
(i32.const 1208)
(i32.or
- (get_local $10)
(get_local $5)
+ (get_local $10)
)
)
(set_local $41
@@ -1422,83 +1427,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $0)
- (i32.add
- (tee_local $13
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $8
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $4
+ (i32.shl
+ (get_local $8)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $8)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $0)
+ (i32.add
+ (tee_local $13
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $8
+ (tee_local $4
(i32.and
(i32.shr_u
(i32.add
- (tee_local $4
+ (tee_local $15
(i32.shl
+ (get_local $4)
(get_local $8)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $8)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $3)
- )
- (tee_local $4
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $16
- (i32.shl
- (get_local $4)
- (get_local $8)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $3)
+ (get_local $8)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $16)
- (get_local $4)
+ (i32.shr_u
+ (i32.shl
+ (get_local $15)
+ (get_local $4)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $13)
- (i32.const 1)
)
)
)
@@ -1515,7 +1523,7 @@
(set_local $4
(get_local $5)
)
- (set_local $16
+ (set_local $15
(i32.const 0)
)
(set_local $3
@@ -1561,8 +1569,8 @@
(set_local $4
(if (result i32)
(i32.eq
- (get_local $2)
(get_local $0)
+ (get_local $2)
)
(block
(set_local $29
@@ -1590,7 +1598,7 @@
)
(set_local $2
(select
- (get_local $16)
+ (get_local $15)
(tee_local $13
(i32.load offset=20
(get_local $8)
@@ -1643,7 +1651,7 @@
(get_local $2)
)
(block
- (set_local $16
+ (set_local $15
(get_local $2)
)
(set_local $3
@@ -1693,19 +1701,19 @@
(i32.eqz
(tee_local $5
(i32.and
- (get_local $10)
(i32.or
- (tee_local $13
- (i32.shl
- (i32.const 2)
- (get_local $27)
- )
- )
(i32.sub
(i32.const 0)
- (get_local $13)
+ (tee_local $13
+ (i32.shl
+ (i32.const 2)
+ (get_local $27)
+ )
+ )
)
+ (get_local $13)
)
+ (get_local $10)
)
)
)
@@ -1717,11 +1725,11 @@
(tee_local $13
(i32.add
(i32.and
- (get_local $5)
(i32.sub
(i32.const 0)
(get_local $5)
)
+ (get_local $5)
)
(i32.const -1)
)
@@ -1731,60 +1739,53 @@
(i32.const 16)
)
)
+ (set_local $13
+ (i32.and
+ (i32.shr_u
+ (tee_local $2
+ (i32.shr_u
+ (get_local $13)
+ (get_local $5)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $2
+ (i32.and
+ (i32.shr_u
+ (tee_local $6
+ (i32.shr_u
+ (get_local $2)
+ (get_local $13)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $6
+ (i32.and
+ (i32.shr_u
+ (tee_local $9
+ (i32.shr_u
+ (get_local $6)
+ (get_local $2)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
(i32.load
(i32.add
(i32.shl
(i32.add
(i32.or
- (i32.or
- (i32.or
- (i32.or
- (tee_local $13
- (i32.and
- (i32.shr_u
- (tee_local $2
- (i32.shr_u
- (get_local $13)
- (get_local $5)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $5)
- )
- (tee_local $2
- (i32.and
- (i32.shr_u
- (tee_local $6
- (i32.shr_u
- (get_local $2)
- (get_local $13)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $6
- (i32.and
- (i32.shr_u
- (tee_local $9
- (i32.shr_u
- (get_local $6)
- (get_local $2)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
(tee_local $9
(i32.and
(i32.shr_u
@@ -1799,6 +1800,16 @@
(i32.const 1)
)
)
+ (i32.or
+ (get_local $6)
+ (i32.or
+ (get_local $2)
+ (i32.or
+ (get_local $5)
+ (get_local $13)
+ )
+ )
+ )
)
(i32.shr_u
(get_local $3)
@@ -1950,8 +1961,8 @@
(get_local $11)
(tee_local $9
(i32.add
- (get_local $11)
(get_local $0)
+ (get_local $11)
)
)
)
@@ -1985,13 +1996,13 @@
)
)
(block (result i32)
- (set_local $16
+ (set_local $15
(get_local $5)
)
(get_local $2)
)
(if (result i32)
- (tee_local $16
+ (tee_local $15
(i32.load
(tee_local $13
(i32.add
@@ -2012,14 +2023,14 @@
(i32.load
(tee_local $2
(i32.add
- (get_local $16)
+ (get_local $15)
(i32.const 20)
)
)
)
)
(block
- (set_local $16
+ (set_local $15
(get_local $5)
)
(set_local $4
@@ -2033,14 +2044,14 @@
(i32.load
(tee_local $2
(i32.add
- (get_local $16)
+ (get_local $15)
(i32.const 16)
)
)
)
)
(block
- (set_local $16
+ (set_local $15
(get_local $5)
)
(set_local $4
@@ -2062,7 +2073,7 @@
(i32.const 0)
)
(set_local $22
- (get_local $16)
+ (get_local $15)
)
)
)
@@ -2081,6 +2092,7 @@
)
(if
(i32.ne
+ (get_local $11)
(i32.load
(tee_local $5
(i32.add
@@ -2089,12 +2101,12 @@
)
)
)
- (get_local $11)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $11)
(i32.load
(tee_local $13
(i32.add
@@ -2103,7 +2115,6 @@
)
)
)
- (get_local $11)
)
(block
(i32.store
@@ -2127,7 +2138,6 @@
(block $do-once21
(if
(i32.eq
- (get_local $11)
(i32.load
(tee_local $10
(i32.add
@@ -2143,6 +2153,7 @@
)
)
)
+ (get_local $11)
)
(block
(i32.store
@@ -2185,6 +2196,7 @@
)
(if
(i32.eq
+ (get_local $11)
(i32.load
(tee_local $3
(i32.add
@@ -2193,7 +2205,6 @@
)
)
)
- (get_local $11)
)
(i32.store
(get_local $3)
@@ -2289,8 +2300,8 @@
(i32.or
(tee_local $6
(i32.add
- (get_local $18)
(get_local $0)
+ (get_local $18)
)
)
(i32.const 3)
@@ -2300,8 +2311,8 @@
(tee_local $10
(i32.add
(i32.add
- (get_local $11)
(get_local $6)
+ (get_local $11)
)
(i32.const 4)
)
@@ -2359,17 +2370,17 @@
)
(if
(i32.and
- (tee_local $3
- (i32.load
- (i32.const 1208)
- )
- )
(tee_local $2
(i32.shl
(i32.const 1)
(get_local $10)
)
)
+ (tee_local $3
+ (i32.load
+ (i32.const 1208)
+ )
+ )
)
(if
(i32.lt_u
@@ -2401,8 +2412,8 @@
(i32.store
(i32.const 1208)
(i32.or
- (get_local $3)
(get_local $2)
+ (get_local $3)
)
)
(set_local $19
@@ -2452,83 +2463,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $18)
- (i32.add
- (tee_local $13
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $6
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $2
+ (i32.shl
+ (get_local $6)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $6)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $18)
+ (i32.add
+ (tee_local $13
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $6
+ (tee_local $2
(i32.and
(i32.shr_u
(i32.add
- (tee_local $2
+ (tee_local $10
(i32.shl
+ (get_local $2)
(get_local $6)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $6)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $3)
- )
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $10
- (i32.shl
- (get_local $2)
- (get_local $6)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $3)
+ (get_local $6)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $10)
- (get_local $2)
+ (i32.shr_u
+ (i32.shl
+ (get_local $10)
+ (get_local $2)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $13)
- (i32.const 1)
)
)
)
@@ -2631,13 +2645,13 @@
(block $while-out27 (result i32)
(if
(i32.eq
+ (get_local $18)
(i32.and
(i32.load offset=4
(get_local $2)
)
(i32.const -8)
)
- (get_local $18)
)
(block
(set_local $17
@@ -2684,7 +2698,7 @@
(set_local $21
(get_local $13)
)
- (set_local $15
+ (set_local $16
(get_local $2)
)
(i32.const 145)
@@ -2710,7 +2724,7 @@
)
(i32.store offset=24
(get_local $9)
- (get_local $15)
+ (get_local $16)
)
(i32.store offset=12
(get_local $9)
@@ -2811,7 +2825,7 @@
(get_local $6)
)
(block
- (set_local $15
+ (set_local $16
(i32.load
(i32.const 1228)
)
@@ -2831,8 +2845,8 @@
(i32.const 1228)
(tee_local $21
(i32.add
- (get_local $15)
(get_local $6)
+ (get_local $16)
)
)
)
@@ -2849,13 +2863,13 @@
)
(i32.store
(i32.add
- (get_local $21)
(get_local $17)
+ (get_local $21)
)
(get_local $17)
)
(i32.store offset=4
- (get_local $15)
+ (get_local $16)
(i32.or
(get_local $6)
(i32.const 3)
@@ -2872,7 +2886,7 @@
(i32.const 0)
)
(i32.store offset=4
- (get_local $15)
+ (get_local $16)
(i32.or
(get_local $11)
(i32.const 3)
@@ -2882,8 +2896,8 @@
(tee_local $17
(i32.add
(i32.add
- (get_local $15)
(get_local $11)
+ (get_local $16)
)
(i32.const 4)
)
@@ -2902,7 +2916,7 @@
)
(if
(i32.gt_u
- (tee_local $15
+ (tee_local $16
(i32.load
(i32.const 1220)
)
@@ -2914,7 +2928,7 @@
(i32.const 1220)
(tee_local $17
(i32.sub
- (get_local $15)
+ (get_local $16)
(get_local $6)
)
)
@@ -2923,12 +2937,12 @@
(i32.const 1232)
(tee_local $11
(i32.add
- (tee_local $15
+ (get_local $6)
+ (tee_local $16
(i32.load
(i32.const 1232)
)
)
- (get_local $6)
)
)
)
@@ -2940,7 +2954,7 @@
)
)
(i32.store offset=4
- (get_local $15)
+ (get_local $16)
(i32.or
(get_local $6)
(i32.const 3)
@@ -2982,7 +2996,7 @@
)
(i32.store
(get_local $14)
- (tee_local $15
+ (tee_local $16
(i32.xor
(i32.and
(get_local $14)
@@ -2994,11 +3008,11 @@
)
(i32.store
(i32.const 1680)
- (get_local $15)
+ (get_local $16)
)
)
)
- (set_local $15
+ (set_local $16
(i32.add
(get_local $6)
(i32.const 48)
@@ -3053,12 +3067,12 @@
(i32.le_u
(tee_local $7
(i32.add
+ (get_local $14)
(tee_local $3
(i32.load
(i32.const 1640)
)
)
- (get_local $14)
)
)
(get_local $3)
@@ -3114,7 +3128,6 @@
(if
(i32.gt_u
(i32.add
- (get_local $3)
(i32.load
(tee_local $19
(i32.add
@@ -3123,6 +3136,7 @@
)
)
)
+ (get_local $3)
)
(get_local $18)
)
@@ -3154,61 +3168,64 @@
(i32.lt_u
(tee_local $7
(i32.and
+ (get_local $21)
(i32.sub
(get_local $11)
(i32.load
(i32.const 1220)
)
)
- (get_local $21)
)
)
(i32.const 2147483647)
)
- (if
- (i32.eq
- (tee_local $19
- (call $ta
- (get_local $7)
- )
- )
- (i32.add
- (i32.load
- (get_local $0)
- )
- (i32.load
- (get_local $5)
- )
+ (block
+ (set_local $19
+ (call $ta
+ (get_local $7)
)
)
(if
- (i32.ne
+ (i32.eq
+ (i32.add
+ (i32.load
+ (get_local $0)
+ )
+ (i32.load
+ (get_local $5)
+ )
+ )
(get_local $19)
- (i32.const -1)
+ )
+ (if
+ (i32.ne
+ (get_local $19)
+ (i32.const -1)
+ )
+ (block
+ (set_local $20
+ (get_local $19)
+ )
+ (set_local $26
+ (get_local $7)
+ )
+ (br $label$break$b
+ (i32.const 191)
+ )
+ )
)
(block
- (set_local $20
+ (set_local $12
(get_local $19)
)
- (set_local $26
+ (set_local $1
(get_local $7)
)
- (br $label$break$b
- (i32.const 191)
+ (set_local $8
+ (i32.const 181)
)
)
)
- (block
- (set_local $12
- (get_local $19)
- )
- (set_local $1
- (get_local $7)
- )
- (set_local $8
- (i32.const 181)
- )
- )
)
)
)
@@ -3234,6 +3251,9 @@
(set_local $2
(if (result i32)
(i32.and
+ (tee_local $0
+ (get_local $18)
+ )
(tee_local $19
(i32.add
(tee_local $7
@@ -3244,9 +3264,6 @@
(i32.const -1)
)
)
- (tee_local $0
- (get_local $18)
- )
)
(i32.add
(i32.sub
@@ -3255,8 +3272,8 @@
)
(i32.and
(i32.add
- (get_local $19)
(get_local $0)
+ (get_local $19)
)
(i32.sub
(i32.const 0)
@@ -3279,14 +3296,14 @@
)
(if
(i32.and
- (i32.gt_u
- (get_local $2)
- (get_local $6)
- )
(i32.lt_u
(get_local $2)
(i32.const 2147483647)
)
+ (i32.gt_u
+ (get_local $2)
+ (get_local $6)
+ )
)
(block
(if
@@ -3311,12 +3328,12 @@
(set_local $1
(if (result i32)
(i32.eq
+ (get_local $18)
(tee_local $19
(call $ta
(get_local $2)
)
)
- (get_local $18)
)
(block
(set_local $20
@@ -3360,19 +3377,19 @@
(set_local $4
(if (result i32)
(i32.and
- (i32.gt_u
- (get_local $15)
- (get_local $1)
- )
(i32.and
- (i32.lt_u
- (get_local $1)
- (i32.const 2147483647)
- )
(i32.ne
(get_local $12)
(i32.const -1)
)
+ (i32.lt_u
+ (get_local $1)
+ (i32.const 2147483647)
+ )
+ )
+ (i32.gt_u
+ (get_local $16)
+ (get_local $1)
)
)
(if (result i32)
@@ -3380,15 +3397,15 @@
(tee_local $0
(i32.and
(i32.add
- (i32.sub
- (get_local $17)
- (get_local $1)
- )
(tee_local $18
(i32.load
(i32.const 1688)
)
)
+ (i32.sub
+ (get_local $17)
+ (get_local $1)
+ )
)
(i32.sub
(i32.const 0)
@@ -3464,28 +3481,28 @@
)
(if
(i32.and
- (i32.lt_u
- (tee_local $4
- (call $ta
- (get_local $14)
- )
- )
- (tee_local $14
- (call $ta
- (i32.const 0)
- )
- )
- )
(i32.and
(i32.ne
- (get_local $4)
+ (tee_local $4
+ (call $ta
+ (get_local $14)
+ )
+ )
(i32.const -1)
)
(i32.ne
- (get_local $14)
+ (tee_local $14
+ (call $ta
+ (i32.const 0)
+ )
+ )
(i32.const -1)
)
)
+ (i32.lt_u
+ (get_local $4)
+ (get_local $14)
+ )
)
(if
(i32.gt_u
@@ -3525,10 +3542,10 @@
(i32.const 1640)
(tee_local $12
(i32.add
+ (get_local $26)
(i32.load
(i32.const 1640)
)
- (get_local $26)
)
)
)
@@ -3558,13 +3575,7 @@
(block $do-out40
(if
(i32.eq
- (get_local $20)
(i32.add
- (tee_local $4
- (i32.load
- (get_local $1)
- )
- )
(tee_local $17
(i32.load
(tee_local $14
@@ -3575,7 +3586,13 @@
)
)
)
+ (tee_local $4
+ (i32.load
+ (get_local $1)
+ )
+ )
)
+ (get_local $20)
)
(block
(set_local $48
@@ -3634,13 +3651,12 @@
(i32.store
(get_local $49)
(i32.add
- (get_local $50)
(get_local $26)
+ (get_local $50)
)
)
(set_local $1
(i32.add
- (get_local $12)
(tee_local $17
(select
(i32.and
@@ -3662,17 +3678,18 @@
)
)
)
+ (get_local $12)
)
)
(set_local $14
(i32.add
+ (i32.load
+ (i32.const 1220)
+ )
(i32.sub
(get_local $26)
(get_local $17)
)
- (i32.load
- (i32.const 1220)
- )
)
)
(i32.store
@@ -3708,7 +3725,7 @@
)
)
)
- (set_local $16
+ (set_local $15
(if (result i32)
(i32.lt_u
(get_local $20)
@@ -3741,10 +3758,10 @@
(block $while-out42
(if
(i32.eq
+ (get_local $14)
(i32.load
(get_local $1)
)
- (get_local $14)
)
(block
(set_local $52
@@ -3798,15 +3815,14 @@
)
)
(i32.add
+ (get_local $26)
(i32.load
(get_local $1)
)
- (get_local $26)
)
)
(set_local $17
(i32.add
- (get_local $20)
(select
(i32.and
(i32.sub
@@ -3826,11 +3842,11 @@
(i32.const 7)
)
)
+ (get_local $20)
)
)
(set_local $4
(i32.add
- (get_local $14)
(select
(i32.and
(i32.sub
@@ -3850,15 +3866,16 @@
(i32.const 7)
)
)
+ (get_local $14)
)
)
(set_local $1
(i32.add
- (get_local $17)
(get_local $6)
+ (get_local $17)
)
)
- (set_local $15
+ (set_local $16
(i32.sub
(i32.sub
(get_local $4)
@@ -3884,10 +3901,10 @@
(i32.const 1220)
(tee_local $2
(i32.add
+ (get_local $16)
(i32.load
(i32.const 1220)
)
- (get_local $15)
)
)
)
@@ -3906,20 +3923,20 @@
(block $do-once44
(if
(i32.eq
- (get_local $4)
(i32.load
(i32.const 1228)
)
+ (get_local $4)
)
(block
(i32.store
(i32.const 1216)
(tee_local $2
(i32.add
+ (get_local $16)
(i32.load
(i32.const 1216)
)
- (get_local $15)
)
)
)
@@ -3983,11 +4000,6 @@
)
(if
(i32.ne
- (tee_local $21
- (i32.load offset=8
- (get_local $4)
- )
- )
(tee_local $19
(i32.add
(i32.shl
@@ -3997,21 +4009,26 @@
(i32.const 1248)
)
)
+ (tee_local $21
+ (i32.load offset=8
+ (get_local $4)
+ )
+ )
)
(block $do-once47
(if
(i32.lt_u
(get_local $21)
- (get_local $16)
+ (get_local $15)
)
(call $qa)
)
(br_if $do-once47
(i32.eq
+ (get_local $4)
(i32.load offset=12
(get_local $21)
)
- (get_local $4)
)
)
(call $qa)
@@ -4056,12 +4073,13 @@
(if
(i32.lt_u
(get_local $11)
- (get_local $16)
+ (get_local $15)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $4)
(i32.load
(tee_local $0
(i32.add
@@ -4070,7 +4088,6 @@
)
)
)
- (get_local $4)
)
(block
(set_local $43
@@ -4193,7 +4210,7 @@
(if
(i32.lt_u
(get_local $0)
- (get_local $16)
+ (get_local $15)
)
(call $qa)
(block
@@ -4215,12 +4232,13 @@
(get_local $4)
)
)
- (get_local $16)
+ (get_local $15)
)
(call $qa)
)
(if
(i32.ne
+ (get_local $4)
(i32.load
(tee_local $3
(i32.add
@@ -4229,12 +4247,12 @@
)
)
)
- (get_local $4)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $4)
(i32.load
(tee_local $18
(i32.add
@@ -4243,7 +4261,6 @@
)
)
)
- (get_local $4)
)
(block
(i32.store
@@ -4269,7 +4286,6 @@
)
(if
(i32.eq
- (get_local $4)
(i32.load
(tee_local $21
(i32.add
@@ -4285,6 +4301,7 @@
)
)
)
+ (get_local $4)
)
(block $do-once55
(i32.store
@@ -4323,6 +4340,7 @@
)
(if
(i32.eq
+ (get_local $4)
(i32.load
(tee_local $11
(i32.add
@@ -4331,7 +4349,6 @@
)
)
)
- (get_local $4)
)
(i32.store
(get_local $11)
@@ -4430,10 +4447,10 @@
(get_local $5)
)
)
- (set_local $15
+ (set_local $16
(i32.add
(get_local $5)
- (get_local $15)
+ (get_local $16)
)
)
)
@@ -4455,26 +4472,26 @@
(i32.store offset=4
(get_local $1)
(i32.or
- (get_local $15)
+ (get_local $16)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $1)
- (get_local $15)
+ (get_local $16)
)
- (get_local $15)
+ (get_local $16)
)
(set_local $0
(i32.shr_u
- (get_local $15)
+ (get_local $16)
(i32.const 3)
)
)
(if
(i32.lt_u
- (get_local $15)
+ (get_local $16)
(i32.const 256)
)
(block
@@ -4489,17 +4506,17 @@
)
(if
(i32.and
- (tee_local $11
- (i32.load
- (i32.const 1208)
- )
- )
(tee_local $0
(i32.shl
(i32.const 1)
(get_local $0)
)
)
+ (tee_local $11
+ (i32.load
+ (i32.const 1208)
+ )
+ )
)
(block $do-once59
(if
@@ -4534,8 +4551,8 @@
(i32.store
(i32.const 1208)
(i32.or
- (get_local $11)
(get_local $0)
+ (get_local $11)
)
)
(set_local $44
@@ -4575,93 +4592,96 @@
(if (result i32)
(tee_local $0
(i32.shr_u
- (get_local $15)
+ (get_local $16)
(i32.const 8)
)
)
(if (result i32)
(i32.gt_u
- (get_local $15)
+ (get_local $16)
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $15)
- (i32.add
- (tee_local $7
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $19
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $5
+ (i32.shl
+ (get_local $0)
+ (tee_local $11
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $16)
+ (i32.add
+ (tee_local $7
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $19
+ (tee_local $5
(i32.and
(i32.shr_u
(i32.add
- (tee_local $5
+ (tee_local $0
(i32.shl
- (get_local $0)
- (tee_local $11
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
+ (get_local $5)
+ (get_local $19)
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $11)
- )
- (tee_local $5
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $0
- (i32.shl
- (get_local $5)
- (get_local $19)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $11)
+ (get_local $19)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $0)
- (get_local $5)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $5)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $7)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $7)
- (i32.const 1)
)
)
)
@@ -4693,17 +4713,17 @@
(if
(i32.eqz
(i32.and
- (tee_local $2
- (i32.load
- (i32.const 1212)
- )
- )
(tee_local $7
(i32.shl
(i32.const 1)
(get_local $5)
)
)
+ (tee_local $2
+ (i32.load
+ (i32.const 1212)
+ )
+ )
)
)
(block
@@ -4735,7 +4755,7 @@
)
(set_local $7
(i32.shl
- (get_local $15)
+ (get_local $16)
(select
(i32.const 0)
(i32.sub
@@ -4764,13 +4784,13 @@
(block $while-out63 (result i32)
(if
(i32.eq
+ (get_local $16)
(i32.and
(i32.load offset=4
(get_local $2)
)
(i32.const -8)
)
- (get_local $15)
)
(block
(set_local $38
@@ -4938,19 +4958,19 @@
)
(if
(i32.gt_u
- (tee_local $15
+ (tee_local $16
(i32.add
- (get_local $1)
(i32.load offset=4
(get_local $30)
)
+ (get_local $1)
)
)
(get_local $12)
)
(block
(set_local $0
- (get_local $15)
+ (get_local $16)
)
(br $while-out65)
)
@@ -4964,17 +4984,6 @@
(br $while-in66)
)
)
- (set_local $15
- (i32.add
- (tee_local $17
- (i32.add
- (get_local $0)
- (i32.const -47)
- )
- )
- (i32.const 8)
- )
- )
(set_local $1
(i32.add
(tee_local $17
@@ -4982,26 +4991,36 @@
(get_local $12)
(tee_local $1
(i32.add
- (get_local $17)
(select
(i32.and
(i32.sub
(i32.const 0)
- (get_local $15)
+ (tee_local $16
+ (i32.add
+ (tee_local $17
+ (i32.add
+ (get_local $0)
+ (i32.const -47)
+ )
+ )
+ (i32.const 8)
+ )
+ )
)
(i32.const 7)
)
(i32.const 0)
(i32.and
- (get_local $15)
+ (get_local $16)
(i32.const 7)
)
)
+ (get_local $17)
)
)
(i32.lt_u
(get_local $1)
- (tee_local $15
+ (tee_local $16
(i32.add
(get_local $12)
(i32.const 16)
@@ -5017,7 +5036,6 @@
(i32.const 1232)
(tee_local $4
(i32.add
- (get_local $20)
(tee_local $14
(select
(i32.and
@@ -5039,6 +5057,7 @@
)
)
)
+ (get_local $20)
)
)
)
@@ -5151,8 +5170,8 @@
)
(if
(i32.ne
- (get_local $17)
(get_local $12)
+ (get_local $17)
)
(block
(i32.store
@@ -5203,17 +5222,17 @@
)
(if
(i32.and
- (tee_local $2
- (i32.load
- (i32.const 1208)
- )
- )
(tee_local $5
(i32.shl
(i32.const 1)
(get_local $4)
)
)
+ (tee_local $2
+ (i32.load
+ (i32.const 1208)
+ )
+ )
)
(if
(i32.lt_u
@@ -5296,83 +5315,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $1)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $14
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $5
+ (i32.shl
+ (get_local $14)
+ (tee_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $14)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $1)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $14
+ (tee_local $5
(i32.and
(i32.shr_u
(i32.add
- (tee_local $5
+ (tee_local $4
(i32.shl
+ (get_local $5)
(get_local $14)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $14)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $2)
- )
- (tee_local $5
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $4
- (i32.shl
- (get_local $5)
- (get_local $14)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $2)
+ (get_local $14)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $4)
- (get_local $5)
+ (i32.shr_u
+ (i32.shl
+ (get_local $4)
+ (get_local $5)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
)
@@ -5393,7 +5415,7 @@
(i32.const 0)
)
(i32.store
- (get_local $15)
+ (get_local $16)
(i32.const 0)
)
(if
@@ -5416,8 +5438,8 @@
(i32.store
(i32.const 1212)
(i32.or
- (get_local $5)
(get_local $4)
+ (get_local $5)
)
)
(i32.store
@@ -5470,13 +5492,13 @@
(block $while-out69 (result i32)
(if
(i32.eq
+ (get_local $1)
(i32.and
(i32.load offset=4
(get_local $5)
)
(i32.const -8)
)
- (get_local $1)
)
(block
(set_local $31
@@ -5697,7 +5719,6 @@
(i32.const 1232)
(tee_local $4
(i32.add
- (get_local $20)
(tee_local $14
(select
(i32.and
@@ -5719,6 +5740,7 @@
)
)
)
+ (get_local $20)
)
)
)
@@ -5743,8 +5765,8 @@
)
(i32.store offset=4
(i32.add
- (get_local $4)
(get_local $1)
+ (get_local $4)
)
(i32.const 40)
)
@@ -5779,12 +5801,12 @@
(i32.const 1232)
(tee_local $8
(i32.add
+ (get_local $6)
(tee_local $12
(i32.load
(i32.const 1232)
)
)
- (get_local $6)
)
)
)
@@ -5830,7 +5852,7 @@
(get_local $25)
)
(i32.add
- (get_local $15)
+ (get_local $16)
(i32.const 8)
)
)
@@ -5933,8 +5955,8 @@
)
(set_local $6
(i32.add
- (get_local $10)
(get_local $6)
+ (get_local $10)
)
)
(if
@@ -5951,10 +5973,10 @@
)
(if
(i32.eq
- (get_local $1)
(i32.load
(i32.const 1228)
)
+ (get_local $1)
)
(block
(if
@@ -6056,10 +6078,10 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load offset=12
(get_local $10)
)
- (get_local $1)
)
(call $qa)
)
@@ -6116,6 +6138,7 @@
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -6124,7 +6147,6 @@
)
)
)
- (get_local $1)
)
(set_local $9
(get_local $4)
@@ -6157,12 +6179,12 @@
)
(if
(i32.eq
+ (get_local $1)
(tee_local $0
(i32.load offset=12
(get_local $1)
)
)
- (get_local $1)
)
(block $do-once0
(if
@@ -6282,6 +6304,7 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load
(tee_local $9
(i32.add
@@ -6290,12 +6313,12 @@
)
)
)
- (get_local $1)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -6304,7 +6327,6 @@
)
)
)
- (get_local $1)
)
(block
(i32.store
@@ -6328,7 +6350,6 @@
(block
(if
(i32.eq
- (get_local $1)
(i32.load
(tee_local $3
(i32.add
@@ -6344,6 +6365,7 @@
)
)
)
+ (get_local $1)
)
(block
(i32.store
@@ -6392,6 +6414,7 @@
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $0
(i32.add
@@ -6400,7 +6423,6 @@
)
)
)
- (get_local $1)
)
(i32.store
(get_local $0)
@@ -6583,20 +6605,20 @@
(block (result i32)
(if
(i32.eq
- (get_local $8)
(i32.load
(i32.const 1232)
)
+ (get_local $8)
)
(block
(i32.store
(i32.const 1220)
(tee_local $5
(i32.add
+ (get_local $7)
(i32.load
(i32.const 1220)
)
- (get_local $7)
)
)
)
@@ -6613,10 +6635,10 @@
)
(if
(i32.ne
- (get_local $2)
(i32.load
(i32.const 1228)
)
+ (get_local $2)
)
(return)
)
@@ -6633,20 +6655,20 @@
)
(if
(i32.eq
- (get_local $8)
(i32.load
(i32.const 1228)
)
+ (get_local $8)
)
(block
(i32.store
(i32.const 1216)
(tee_local $5
(i32.add
+ (get_local $7)
(i32.load
(i32.const 1216)
)
- (get_local $7)
)
)
)
@@ -6673,11 +6695,11 @@
)
(set_local $5
(i32.add
+ (get_local $7)
(i32.and
(get_local $1)
(i32.const -8)
)
- (get_local $7)
)
)
(set_local $14
@@ -6700,11 +6722,6 @@
)
(if
(i32.ne
- (tee_local $12
- (i32.load offset=8
- (get_local $8)
- )
- )
(tee_local $4
(i32.add
(i32.shl
@@ -6714,6 +6731,11 @@
(i32.const 1248)
)
)
+ (tee_local $12
+ (i32.load offset=8
+ (get_local $8)
+ )
+ )
)
(block
(if
@@ -6727,10 +6749,10 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load offset=12
(get_local $12)
)
- (get_local $8)
)
(call $qa)
)
@@ -6783,6 +6805,7 @@
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $4
(i32.add
@@ -6791,7 +6814,6 @@
)
)
)
- (get_local $8)
)
(set_local $17
(get_local $4)
@@ -6817,12 +6839,12 @@
)
(if
(i32.eq
+ (get_local $8)
(tee_local $3
(i32.load offset=12
(get_local $8)
)
)
- (get_local $8)
)
(block $do-once6
(set_local $7
@@ -6938,6 +6960,7 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load
(tee_local $9
(i32.add
@@ -6946,12 +6969,12 @@
)
)
)
- (get_local $8)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $4
(i32.add
@@ -6960,7 +6983,6 @@
)
)
)
- (get_local $8)
)
(block
(i32.store
@@ -6984,7 +7006,6 @@
(block
(if
(i32.eq
- (get_local $8)
(i32.load
(tee_local $6
(i32.add
@@ -7000,6 +7021,7 @@
)
)
)
+ (get_local $8)
)
(block
(i32.store
@@ -7042,6 +7064,7 @@
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $3
(i32.add
@@ -7050,7 +7073,6 @@
)
)
)
- (get_local $8)
)
(i32.store
(get_local $3)
@@ -7159,10 +7181,10 @@
)
(if (result i32)
(i32.eq
- (get_local $2)
(i32.load
(i32.const 1228)
)
+ (get_local $2)
)
(block
(i32.store
@@ -7238,8 +7260,8 @@
(i32.store
(i32.const 1208)
(i32.or
- (get_local $6)
(get_local $5)
+ (get_local $6)
)
)
(set_local $15
@@ -7289,83 +7311,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $0)
- (i32.add
- (tee_local $5
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $15
+ (i32.shl
+ (get_local $1)
+ (tee_local $13
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $1)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $0)
+ (i32.add
+ (tee_local $5
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $1
+ (tee_local $15
(i32.and
(i32.shr_u
(i32.add
- (tee_local $15
+ (tee_local $6
(i32.shl
+ (get_local $15)
(get_local $1)
- (tee_local $13
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $1)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $13)
- )
- (tee_local $15
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $6
- (i32.shl
- (get_local $15)
- (get_local $1)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $1)
+ (get_local $13)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $6)
- (get_local $15)
+ (i32.shr_u
+ (i32.shl
+ (get_local $6)
+ (get_local $15)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $5)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $5)
- (i32.const 1)
)
)
)
@@ -7391,17 +7416,17 @@
)
(if
(i32.and
- (tee_local $15
- (i32.load
- (i32.const 1212)
- )
- )
(tee_local $6
(i32.shl
(i32.const 1)
(get_local $7)
)
)
+ (tee_local $15
+ (i32.load
+ (i32.const 1212)
+ )
+ )
)
(block
(set_local $13
@@ -7435,13 +7460,13 @@
(block $while-out14 (result i32)
(if
(i32.eq
+ (get_local $0)
(i32.and
(i32.load offset=4
(get_local $1)
)
(i32.const -8)
)
- (get_local $0)
)
(block
(set_local $16
@@ -7586,8 +7611,8 @@
(i32.store
(i32.const 1212)
(i32.or
- (get_local $15)
(get_local $6)
+ (get_local $15)
)
)
(i32.store
@@ -7744,8 +7769,8 @@
)
(set_local $4
(i32.add
- (get_local $9)
(get_local $2)
+ (get_local $9)
)
)
(loop $while-in
@@ -7902,10 +7927,10 @@
(i32.store
(get_local $7)
(i32.add
+ (get_local $6)
(i32.load
(get_local $7)
)
- (get_local $6)
)
)
(set_local $3
@@ -7921,10 +7946,10 @@
(i32.store
(get_local $5)
(i32.add
+ (get_local $6)
(i32.load
(get_local $5)
)
- (get_local $6)
)
)
(i32.store offset=4
@@ -8210,15 +8235,15 @@
(i32.store
(get_local $4)
(i32.add
+ (get_local $1)
(i32.load
(get_local $4)
)
- (get_local $1)
)
)
(i32.add
- (get_local $3)
(get_local $1)
+ (get_local $3)
)
)
)
@@ -8299,21 +8324,21 @@
(loop $while-in1 (result i32)
(if (result i32)
(i32.and
+ (i32.add
+ (tee_local $1
+ (i32.load
+ (get_local $2)
+ )
+ )
+ (i32.const -16843009)
+ )
(i32.xor
(i32.and
- (tee_local $1
- (i32.load
- (get_local $2)
- )
- )
+ (get_local $1)
(i32.const -2139062144)
)
(i32.const -2139062144)
)
- (i32.add
- (get_local $1)
- (i32.const -16843009)
- )
)
(get_local $2)
(block
@@ -8958,11 +8983,11 @@
(i32.or
(i32.or
(i32.or
- (get_local $1)
(i32.shl
(get_local $1)
(i32.const 8)
)
+ (get_local $1)
)
(i32.shl
(get_local $1)
@@ -9133,11 +9158,11 @@
(i32.store8
(get_local $1)
(i32.or
+ (get_local $2)
(i32.add
(get_local $2)
(i32.const 255)
)
- (get_local $2)
)
)
(tee_local $0
@@ -9184,10 +9209,10 @@
(i32.store offset=16
(get_local $0)
(i32.add
- (get_local $1)
(i32.load offset=48
(get_local $0)
)
+ (get_local $1)
)
)
(i32.const 0)
@@ -9212,6 +9237,7 @@
)
)
(i32.ne
+ (get_local $3)
(tee_local $0
(call $Wa
(get_local $0)
@@ -9219,7 +9245,6 @@
(get_local $2)
)
)
- (get_local $3)
)
)
(set_local $4
@@ -9455,8 +9480,8 @@
)
(set_global $r
(i32.add
- (get_global $r)
(get_local $0)
+ (get_global $r)
)
)
(set_global $r
diff --git a/test/memorygrowth.fromasm.clamp b/test/memorygrowth.fromasm.clamp
index 992ac9c04..46e4beb04 100644
--- a/test/memorygrowth.fromasm.clamp
+++ b/test/memorygrowth.fromasm.clamp
@@ -170,13 +170,14 @@
(i32.add
(tee_local $13
(i32.load
- (tee_local $16
+ (tee_local $15
(i32.add
(tee_local $9
(i32.add
(i32.shl
(tee_local $0
(i32.add
+ (get_local $0)
(i32.xor
(i32.and
(get_local $6)
@@ -184,7 +185,6 @@
)
(i32.const 1)
)
- (get_local $0)
)
)
(i32.const 3)
@@ -204,13 +204,12 @@
)
(if
(i32.eq
- (get_local $9)
(get_local $7)
+ (get_local $9)
)
(i32.store
(i32.const 1208)
(i32.and
- (get_local $5)
(i32.xor
(i32.shl
(i32.const 1)
@@ -218,6 +217,7 @@
)
(i32.const -1)
)
+ (get_local $5)
)
)
(block
@@ -232,6 +232,7 @@
)
(if
(i32.eq
+ (get_local $13)
(i32.load
(tee_local $8
(i32.add
@@ -240,7 +241,6 @@
)
)
)
- (get_local $13)
)
(block
(i32.store
@@ -248,7 +248,7 @@
(get_local $9)
)
(i32.store
- (get_local $16)
+ (get_local $15)
(get_local $7)
)
)
@@ -269,18 +269,18 @@
)
)
(i32.store
- (tee_local $16
+ (tee_local $15
(i32.add
(i32.add
- (get_local $13)
(get_local $7)
+ (get_local $13)
)
(i32.const 4)
)
)
(i32.or
(i32.load
- (get_local $16)
+ (get_local $15)
)
(i32.const 1)
)
@@ -296,7 +296,7 @@
(if (result i32)
(i32.gt_u
(get_local $2)
- (tee_local $16
+ (tee_local $15
(i32.load
(i32.const 1216)
)
@@ -312,30 +312,30 @@
(tee_local $7
(i32.add
(i32.and
- (tee_local $9
- (i32.and
- (i32.shl
- (get_local $6)
- (get_local $0)
- )
- (i32.or
- (tee_local $7
- (i32.shl
- (i32.const 2)
- (get_local $0)
+ (i32.sub
+ (i32.const 0)
+ (tee_local $9
+ (i32.and
+ (i32.or
+ (i32.sub
+ (i32.const 0)
+ (tee_local $7
+ (i32.shl
+ (i32.const 2)
+ (get_local $0)
+ )
+ )
)
- )
- (i32.sub
- (i32.const 0)
(get_local $7)
)
+ (i32.shl
+ (get_local $6)
+ (get_local $0)
+ )
)
)
)
- (i32.sub
- (i32.const 0)
- (get_local $9)
- )
+ (get_local $9)
)
(i32.const -1)
)
@@ -345,115 +345,116 @@
(i32.const 16)
)
)
- (set_local $9
- (i32.load
- (tee_local $8
- (i32.add
- (tee_local $10
- (i32.load
- (tee_local $13
- (i32.add
- (tee_local $3
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (tee_local $8
+ (i32.shr_u
+ (get_local $7)
+ (get_local $9)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $8
+ (i32.and
+ (i32.shr_u
+ (tee_local $10
+ (i32.shr_u
+ (get_local $8)
+ (get_local $7)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $10
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.shr_u
+ (get_local $10)
+ (get_local $8)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $9
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (tee_local $10
+ (i32.load
+ (tee_local $13
(i32.add
- (i32.shl
- (tee_local $4
- (i32.add
- (i32.or
- (i32.or
+ (tee_local $3
+ (i32.add
+ (i32.shl
+ (tee_local $4
+ (i32.add
(i32.or
- (i32.or
- (tee_local $7
- (i32.and
- (i32.shr_u
- (tee_local $8
- (i32.shr_u
- (get_local $7)
- (get_local $9)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $9)
- )
- (tee_local $8
+ (tee_local $3
(i32.and
(i32.shr_u
- (tee_local $10
+ (tee_local $13
(i32.shr_u
- (get_local $8)
- (get_local $7)
+ (get_local $3)
+ (get_local $10)
)
)
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $10
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.shr_u
- (get_local $10)
- (get_local $8)
- )
+ (i32.const 1)
)
(i32.const 1)
)
- (i32.const 2)
)
- )
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $13
- (i32.shr_u
- (get_local $3)
- (get_local $10)
+ (i32.or
+ (get_local $10)
+ (i32.or
+ (get_local $8)
+ (i32.or
+ (get_local $7)
+ (get_local $9)
)
)
- (i32.const 1)
)
- (i32.const 1)
+ )
+ (i32.shr_u
+ (get_local $13)
+ (get_local $3)
)
)
)
- (i32.shr_u
- (get_local $13)
- (get_local $3)
- )
+ (i32.const 3)
)
+ (i32.const 1248)
)
- (i32.const 3)
)
- (i32.const 1248)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
- )
- )
- (if
- (i32.eq
(get_local $3)
- (get_local $9)
)
(block
(i32.store
(i32.const 1208)
(i32.and
- (get_local $5)
(i32.xor
(i32.shl
(i32.const 1)
@@ -461,10 +462,11 @@
)
(i32.const -1)
)
+ (get_local $5)
)
)
(set_local $34
- (get_local $16)
+ (get_local $15)
)
)
(block
@@ -479,6 +481,7 @@
)
(if
(i32.eq
+ (get_local $10)
(i32.load
(tee_local $7
(i32.add
@@ -487,7 +490,6 @@
)
)
)
- (get_local $10)
)
(block
(i32.store
@@ -518,8 +520,8 @@
(i32.store offset=4
(tee_local $13
(i32.add
- (get_local $10)
(get_local $2)
+ (get_local $10)
)
)
(i32.or
@@ -537,8 +539,8 @@
)
(i32.store
(i32.add
- (get_local $13)
(get_local $9)
+ (get_local $13)
)
(get_local $9)
)
@@ -553,7 +555,7 @@
(set_local $5
(i32.add
(i32.shl
- (tee_local $16
+ (tee_local $15
(i32.shr_u
(get_local $34)
(i32.const 3)
@@ -574,7 +576,7 @@
(tee_local $6
(i32.shl
(i32.const 1)
- (get_local $16)
+ (get_local $15)
)
)
)
@@ -670,11 +672,11 @@
(tee_local $9
(i32.add
(i32.and
- (get_local $13)
(i32.sub
(i32.const 0)
(get_local $13)
)
+ (get_local $13)
)
(i32.const -1)
)
@@ -684,65 +686,58 @@
(i32.const 16)
)
)
+ (set_local $9
+ (i32.and
+ (i32.shr_u
+ (tee_local $5
+ (i32.shr_u
+ (get_local $9)
+ (get_local $13)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $5
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.shr_u
+ (get_local $5)
+ (get_local $9)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $0
+ (i32.shr_u
+ (get_local $3)
+ (get_local $5)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
(set_local $0
(i32.sub
(i32.and
(i32.load offset=4
- (tee_local $16
+ (tee_local $15
(i32.load
(i32.add
(i32.shl
(i32.add
(i32.or
- (i32.or
- (i32.or
- (i32.or
- (tee_local $9
- (i32.and
- (i32.shr_u
- (tee_local $5
- (i32.shr_u
- (get_local $9)
- (get_local $13)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $13)
- )
- (tee_local $5
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.shr_u
- (get_local $5)
- (get_local $9)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $0
- (i32.shr_u
- (get_local $3)
- (get_local $5)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
(tee_local $0
(i32.and
(i32.shr_u
@@ -757,6 +752,16 @@
(i32.const 1)
)
)
+ (i32.or
+ (get_local $3)
+ (i32.or
+ (get_local $5)
+ (i32.or
+ (get_local $9)
+ (get_local $13)
+ )
+ )
+ )
)
(i32.shr_u
(get_local $6)
@@ -777,25 +782,25 @@
)
(set_local $3
(tee_local $6
- (get_local $16)
+ (get_local $15)
)
)
(loop $while-in
(block $while-out
(set_local $5
(i32.lt_u
- (tee_local $16
+ (tee_local $15
(i32.sub
(i32.and
(i32.load offset=4
(tee_local $6
(if (result i32)
- (tee_local $16
+ (tee_local $15
(i32.load offset=16
(get_local $6)
)
)
- (get_local $16)
+ (get_local $15)
(if (result i32)
(tee_local $5
(i32.load offset=20
@@ -826,7 +831,7 @@
)
(set_local $0
(select
- (get_local $16)
+ (get_local $15)
(get_local $0)
(get_local $5)
)
@@ -891,7 +896,7 @@
)
)
(block
- (set_local $16
+ (set_local $15
(get_local $4)
)
(set_local $5
@@ -900,7 +905,7 @@
)
(br_if $do-once4
(i32.eqz
- (tee_local $16
+ (tee_local $15
(i32.load
(tee_local $5
(i32.add
@@ -919,14 +924,14 @@
(i32.load
(tee_local $10
(i32.add
- (get_local $16)
+ (get_local $15)
(i32.const 20)
)
)
)
)
(block
- (set_local $16
+ (set_local $15
(get_local $4)
)
(set_local $5
@@ -940,14 +945,14 @@
(i32.load
(tee_local $10
(i32.add
- (get_local $16)
+ (get_local $15)
(i32.const 16)
)
)
)
)
(block
- (set_local $16
+ (set_local $15
(get_local $4)
)
(set_local $5
@@ -969,7 +974,7 @@
(i32.const 0)
)
(set_local $23
- (get_local $16)
+ (get_local $15)
)
)
)
@@ -988,6 +993,7 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -996,12 +1002,12 @@
)
)
)
- (get_local $1)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $5
(i32.add
@@ -1010,7 +1016,6 @@
)
)
)
- (get_local $1)
)
(block
(i32.store
@@ -1034,7 +1039,6 @@
(block $do-once8
(if
(i32.eq
- (get_local $1)
(i32.load
(tee_local $3
(i32.add
@@ -1050,6 +1054,7 @@
)
)
)
+ (get_local $1)
)
(block
(i32.store
@@ -1092,6 +1097,7 @@
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $8
(i32.add
@@ -1100,7 +1106,6 @@
)
)
)
- (get_local $1)
)
(i32.store
(get_local $8)
@@ -1196,8 +1201,8 @@
(i32.or
(tee_local $0
(i32.add
- (get_local $7)
(get_local $2)
+ (get_local $7)
)
)
(i32.const 3)
@@ -1207,8 +1212,8 @@
(tee_local $3
(i32.add
(i32.add
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
(i32.const 4)
)
@@ -1271,17 +1276,17 @@
)
(if
(i32.and
- (tee_local $10
- (i32.load
- (i32.const 1208)
- )
- )
(tee_local $5
(i32.shl
(i32.const 1)
(get_local $8)
)
)
+ (tee_local $10
+ (i32.load
+ (i32.const 1208)
+ )
+ )
)
(if
(i32.lt_u
@@ -1313,8 +1318,8 @@
(i32.store
(i32.const 1208)
(i32.or
- (get_local $10)
(get_local $5)
+ (get_local $10)
)
)
(set_local $41
@@ -1422,83 +1427,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $0)
- (i32.add
- (tee_local $13
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $8
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $4
+ (i32.shl
+ (get_local $8)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $8)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $0)
+ (i32.add
+ (tee_local $13
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $8
+ (tee_local $4
(i32.and
(i32.shr_u
(i32.add
- (tee_local $4
+ (tee_local $15
(i32.shl
+ (get_local $4)
(get_local $8)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $8)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $3)
- )
- (tee_local $4
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $16
- (i32.shl
- (get_local $4)
- (get_local $8)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $3)
+ (get_local $8)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $16)
- (get_local $4)
+ (i32.shr_u
+ (i32.shl
+ (get_local $15)
+ (get_local $4)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $13)
- (i32.const 1)
)
)
)
@@ -1515,7 +1523,7 @@
(set_local $4
(get_local $5)
)
- (set_local $16
+ (set_local $15
(i32.const 0)
)
(set_local $3
@@ -1561,8 +1569,8 @@
(set_local $4
(if (result i32)
(i32.eq
- (get_local $2)
(get_local $0)
+ (get_local $2)
)
(block
(set_local $29
@@ -1590,7 +1598,7 @@
)
(set_local $2
(select
- (get_local $16)
+ (get_local $15)
(tee_local $13
(i32.load offset=20
(get_local $8)
@@ -1643,7 +1651,7 @@
(get_local $2)
)
(block
- (set_local $16
+ (set_local $15
(get_local $2)
)
(set_local $3
@@ -1693,19 +1701,19 @@
(i32.eqz
(tee_local $5
(i32.and
- (get_local $10)
(i32.or
- (tee_local $13
- (i32.shl
- (i32.const 2)
- (get_local $27)
- )
- )
(i32.sub
(i32.const 0)
- (get_local $13)
+ (tee_local $13
+ (i32.shl
+ (i32.const 2)
+ (get_local $27)
+ )
+ )
)
+ (get_local $13)
)
+ (get_local $10)
)
)
)
@@ -1717,11 +1725,11 @@
(tee_local $13
(i32.add
(i32.and
- (get_local $5)
(i32.sub
(i32.const 0)
(get_local $5)
)
+ (get_local $5)
)
(i32.const -1)
)
@@ -1731,60 +1739,53 @@
(i32.const 16)
)
)
+ (set_local $13
+ (i32.and
+ (i32.shr_u
+ (tee_local $2
+ (i32.shr_u
+ (get_local $13)
+ (get_local $5)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $2
+ (i32.and
+ (i32.shr_u
+ (tee_local $6
+ (i32.shr_u
+ (get_local $2)
+ (get_local $13)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $6
+ (i32.and
+ (i32.shr_u
+ (tee_local $9
+ (i32.shr_u
+ (get_local $6)
+ (get_local $2)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
(i32.load
(i32.add
(i32.shl
(i32.add
(i32.or
- (i32.or
- (i32.or
- (i32.or
- (tee_local $13
- (i32.and
- (i32.shr_u
- (tee_local $2
- (i32.shr_u
- (get_local $13)
- (get_local $5)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $5)
- )
- (tee_local $2
- (i32.and
- (i32.shr_u
- (tee_local $6
- (i32.shr_u
- (get_local $2)
- (get_local $13)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $6
- (i32.and
- (i32.shr_u
- (tee_local $9
- (i32.shr_u
- (get_local $6)
- (get_local $2)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
(tee_local $9
(i32.and
(i32.shr_u
@@ -1799,6 +1800,16 @@
(i32.const 1)
)
)
+ (i32.or
+ (get_local $6)
+ (i32.or
+ (get_local $2)
+ (i32.or
+ (get_local $5)
+ (get_local $13)
+ )
+ )
+ )
)
(i32.shr_u
(get_local $3)
@@ -1950,8 +1961,8 @@
(get_local $11)
(tee_local $9
(i32.add
- (get_local $11)
(get_local $0)
+ (get_local $11)
)
)
)
@@ -1985,13 +1996,13 @@
)
)
(block (result i32)
- (set_local $16
+ (set_local $15
(get_local $5)
)
(get_local $2)
)
(if (result i32)
- (tee_local $16
+ (tee_local $15
(i32.load
(tee_local $13
(i32.add
@@ -2012,14 +2023,14 @@
(i32.load
(tee_local $2
(i32.add
- (get_local $16)
+ (get_local $15)
(i32.const 20)
)
)
)
)
(block
- (set_local $16
+ (set_local $15
(get_local $5)
)
(set_local $4
@@ -2033,14 +2044,14 @@
(i32.load
(tee_local $2
(i32.add
- (get_local $16)
+ (get_local $15)
(i32.const 16)
)
)
)
)
(block
- (set_local $16
+ (set_local $15
(get_local $5)
)
(set_local $4
@@ -2062,7 +2073,7 @@
(i32.const 0)
)
(set_local $22
- (get_local $16)
+ (get_local $15)
)
)
)
@@ -2081,6 +2092,7 @@
)
(if
(i32.ne
+ (get_local $11)
(i32.load
(tee_local $5
(i32.add
@@ -2089,12 +2101,12 @@
)
)
)
- (get_local $11)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $11)
(i32.load
(tee_local $13
(i32.add
@@ -2103,7 +2115,6 @@
)
)
)
- (get_local $11)
)
(block
(i32.store
@@ -2127,7 +2138,6 @@
(block $do-once21
(if
(i32.eq
- (get_local $11)
(i32.load
(tee_local $10
(i32.add
@@ -2143,6 +2153,7 @@
)
)
)
+ (get_local $11)
)
(block
(i32.store
@@ -2185,6 +2196,7 @@
)
(if
(i32.eq
+ (get_local $11)
(i32.load
(tee_local $3
(i32.add
@@ -2193,7 +2205,6 @@
)
)
)
- (get_local $11)
)
(i32.store
(get_local $3)
@@ -2289,8 +2300,8 @@
(i32.or
(tee_local $6
(i32.add
- (get_local $18)
(get_local $0)
+ (get_local $18)
)
)
(i32.const 3)
@@ -2300,8 +2311,8 @@
(tee_local $10
(i32.add
(i32.add
- (get_local $11)
(get_local $6)
+ (get_local $11)
)
(i32.const 4)
)
@@ -2359,17 +2370,17 @@
)
(if
(i32.and
- (tee_local $3
- (i32.load
- (i32.const 1208)
- )
- )
(tee_local $2
(i32.shl
(i32.const 1)
(get_local $10)
)
)
+ (tee_local $3
+ (i32.load
+ (i32.const 1208)
+ )
+ )
)
(if
(i32.lt_u
@@ -2401,8 +2412,8 @@
(i32.store
(i32.const 1208)
(i32.or
- (get_local $3)
(get_local $2)
+ (get_local $3)
)
)
(set_local $19
@@ -2452,83 +2463,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $18)
- (i32.add
- (tee_local $13
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $6
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $2
+ (i32.shl
+ (get_local $6)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $6)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $18)
+ (i32.add
+ (tee_local $13
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $6
+ (tee_local $2
(i32.and
(i32.shr_u
(i32.add
- (tee_local $2
+ (tee_local $10
(i32.shl
+ (get_local $2)
(get_local $6)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $6)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $3)
- )
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $10
- (i32.shl
- (get_local $2)
- (get_local $6)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $3)
+ (get_local $6)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $10)
- (get_local $2)
+ (i32.shr_u
+ (i32.shl
+ (get_local $10)
+ (get_local $2)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $13)
- (i32.const 1)
)
)
)
@@ -2631,13 +2645,13 @@
(block $while-out27 (result i32)
(if
(i32.eq
+ (get_local $18)
(i32.and
(i32.load offset=4
(get_local $2)
)
(i32.const -8)
)
- (get_local $18)
)
(block
(set_local $17
@@ -2684,7 +2698,7 @@
(set_local $21
(get_local $13)
)
- (set_local $15
+ (set_local $16
(get_local $2)
)
(i32.const 145)
@@ -2710,7 +2724,7 @@
)
(i32.store offset=24
(get_local $9)
- (get_local $15)
+ (get_local $16)
)
(i32.store offset=12
(get_local $9)
@@ -2811,7 +2825,7 @@
(get_local $6)
)
(block
- (set_local $15
+ (set_local $16
(i32.load
(i32.const 1228)
)
@@ -2831,8 +2845,8 @@
(i32.const 1228)
(tee_local $21
(i32.add
- (get_local $15)
(get_local $6)
+ (get_local $16)
)
)
)
@@ -2849,13 +2863,13 @@
)
(i32.store
(i32.add
- (get_local $21)
(get_local $17)
+ (get_local $21)
)
(get_local $17)
)
(i32.store offset=4
- (get_local $15)
+ (get_local $16)
(i32.or
(get_local $6)
(i32.const 3)
@@ -2872,7 +2886,7 @@
(i32.const 0)
)
(i32.store offset=4
- (get_local $15)
+ (get_local $16)
(i32.or
(get_local $11)
(i32.const 3)
@@ -2882,8 +2896,8 @@
(tee_local $17
(i32.add
(i32.add
- (get_local $15)
(get_local $11)
+ (get_local $16)
)
(i32.const 4)
)
@@ -2902,7 +2916,7 @@
)
(if
(i32.gt_u
- (tee_local $15
+ (tee_local $16
(i32.load
(i32.const 1220)
)
@@ -2914,7 +2928,7 @@
(i32.const 1220)
(tee_local $17
(i32.sub
- (get_local $15)
+ (get_local $16)
(get_local $6)
)
)
@@ -2923,12 +2937,12 @@
(i32.const 1232)
(tee_local $11
(i32.add
- (tee_local $15
+ (get_local $6)
+ (tee_local $16
(i32.load
(i32.const 1232)
)
)
- (get_local $6)
)
)
)
@@ -2940,7 +2954,7 @@
)
)
(i32.store offset=4
- (get_local $15)
+ (get_local $16)
(i32.or
(get_local $6)
(i32.const 3)
@@ -2982,7 +2996,7 @@
)
(i32.store
(get_local $14)
- (tee_local $15
+ (tee_local $16
(i32.xor
(i32.and
(get_local $14)
@@ -2994,11 +3008,11 @@
)
(i32.store
(i32.const 1680)
- (get_local $15)
+ (get_local $16)
)
)
)
- (set_local $15
+ (set_local $16
(i32.add
(get_local $6)
(i32.const 48)
@@ -3053,12 +3067,12 @@
(i32.le_u
(tee_local $7
(i32.add
+ (get_local $14)
(tee_local $3
(i32.load
(i32.const 1640)
)
)
- (get_local $14)
)
)
(get_local $3)
@@ -3114,7 +3128,6 @@
(if
(i32.gt_u
(i32.add
- (get_local $3)
(i32.load
(tee_local $19
(i32.add
@@ -3123,6 +3136,7 @@
)
)
)
+ (get_local $3)
)
(get_local $18)
)
@@ -3154,61 +3168,64 @@
(i32.lt_u
(tee_local $7
(i32.and
+ (get_local $21)
(i32.sub
(get_local $11)
(i32.load
(i32.const 1220)
)
)
- (get_local $21)
)
)
(i32.const 2147483647)
)
- (if
- (i32.eq
- (tee_local $19
- (call $ta
- (get_local $7)
- )
- )
- (i32.add
- (i32.load
- (get_local $0)
- )
- (i32.load
- (get_local $5)
- )
+ (block
+ (set_local $19
+ (call $ta
+ (get_local $7)
)
)
(if
- (i32.ne
+ (i32.eq
+ (i32.add
+ (i32.load
+ (get_local $0)
+ )
+ (i32.load
+ (get_local $5)
+ )
+ )
(get_local $19)
- (i32.const -1)
+ )
+ (if
+ (i32.ne
+ (get_local $19)
+ (i32.const -1)
+ )
+ (block
+ (set_local $20
+ (get_local $19)
+ )
+ (set_local $26
+ (get_local $7)
+ )
+ (br $label$break$b
+ (i32.const 191)
+ )
+ )
)
(block
- (set_local $20
+ (set_local $12
(get_local $19)
)
- (set_local $26
+ (set_local $1
(get_local $7)
)
- (br $label$break$b
- (i32.const 191)
+ (set_local $8
+ (i32.const 181)
)
)
)
- (block
- (set_local $12
- (get_local $19)
- )
- (set_local $1
- (get_local $7)
- )
- (set_local $8
- (i32.const 181)
- )
- )
)
)
)
@@ -3234,6 +3251,9 @@
(set_local $2
(if (result i32)
(i32.and
+ (tee_local $0
+ (get_local $18)
+ )
(tee_local $19
(i32.add
(tee_local $7
@@ -3244,9 +3264,6 @@
(i32.const -1)
)
)
- (tee_local $0
- (get_local $18)
- )
)
(i32.add
(i32.sub
@@ -3255,8 +3272,8 @@
)
(i32.and
(i32.add
- (get_local $19)
(get_local $0)
+ (get_local $19)
)
(i32.sub
(i32.const 0)
@@ -3279,14 +3296,14 @@
)
(if
(i32.and
- (i32.gt_u
- (get_local $2)
- (get_local $6)
- )
(i32.lt_u
(get_local $2)
(i32.const 2147483647)
)
+ (i32.gt_u
+ (get_local $2)
+ (get_local $6)
+ )
)
(block
(if
@@ -3311,12 +3328,12 @@
(set_local $1
(if (result i32)
(i32.eq
+ (get_local $18)
(tee_local $19
(call $ta
(get_local $2)
)
)
- (get_local $18)
)
(block
(set_local $20
@@ -3360,19 +3377,19 @@
(set_local $4
(if (result i32)
(i32.and
- (i32.gt_u
- (get_local $15)
- (get_local $1)
- )
(i32.and
- (i32.lt_u
- (get_local $1)
- (i32.const 2147483647)
- )
(i32.ne
(get_local $12)
(i32.const -1)
)
+ (i32.lt_u
+ (get_local $1)
+ (i32.const 2147483647)
+ )
+ )
+ (i32.gt_u
+ (get_local $16)
+ (get_local $1)
)
)
(if (result i32)
@@ -3380,15 +3397,15 @@
(tee_local $0
(i32.and
(i32.add
- (i32.sub
- (get_local $17)
- (get_local $1)
- )
(tee_local $18
(i32.load
(i32.const 1688)
)
)
+ (i32.sub
+ (get_local $17)
+ (get_local $1)
+ )
)
(i32.sub
(i32.const 0)
@@ -3464,28 +3481,28 @@
)
(if
(i32.and
- (i32.lt_u
- (tee_local $4
- (call $ta
- (get_local $14)
- )
- )
- (tee_local $14
- (call $ta
- (i32.const 0)
- )
- )
- )
(i32.and
(i32.ne
- (get_local $4)
+ (tee_local $4
+ (call $ta
+ (get_local $14)
+ )
+ )
(i32.const -1)
)
(i32.ne
- (get_local $14)
+ (tee_local $14
+ (call $ta
+ (i32.const 0)
+ )
+ )
(i32.const -1)
)
)
+ (i32.lt_u
+ (get_local $4)
+ (get_local $14)
+ )
)
(if
(i32.gt_u
@@ -3525,10 +3542,10 @@
(i32.const 1640)
(tee_local $12
(i32.add
+ (get_local $26)
(i32.load
(i32.const 1640)
)
- (get_local $26)
)
)
)
@@ -3558,13 +3575,7 @@
(block $do-out40
(if
(i32.eq
- (get_local $20)
(i32.add
- (tee_local $4
- (i32.load
- (get_local $1)
- )
- )
(tee_local $17
(i32.load
(tee_local $14
@@ -3575,7 +3586,13 @@
)
)
)
+ (tee_local $4
+ (i32.load
+ (get_local $1)
+ )
+ )
)
+ (get_local $20)
)
(block
(set_local $48
@@ -3634,13 +3651,12 @@
(i32.store
(get_local $49)
(i32.add
- (get_local $50)
(get_local $26)
+ (get_local $50)
)
)
(set_local $1
(i32.add
- (get_local $12)
(tee_local $17
(select
(i32.and
@@ -3662,17 +3678,18 @@
)
)
)
+ (get_local $12)
)
)
(set_local $14
(i32.add
+ (i32.load
+ (i32.const 1220)
+ )
(i32.sub
(get_local $26)
(get_local $17)
)
- (i32.load
- (i32.const 1220)
- )
)
)
(i32.store
@@ -3708,7 +3725,7 @@
)
)
)
- (set_local $16
+ (set_local $15
(if (result i32)
(i32.lt_u
(get_local $20)
@@ -3741,10 +3758,10 @@
(block $while-out42
(if
(i32.eq
+ (get_local $14)
(i32.load
(get_local $1)
)
- (get_local $14)
)
(block
(set_local $52
@@ -3798,15 +3815,14 @@
)
)
(i32.add
+ (get_local $26)
(i32.load
(get_local $1)
)
- (get_local $26)
)
)
(set_local $17
(i32.add
- (get_local $20)
(select
(i32.and
(i32.sub
@@ -3826,11 +3842,11 @@
(i32.const 7)
)
)
+ (get_local $20)
)
)
(set_local $4
(i32.add
- (get_local $14)
(select
(i32.and
(i32.sub
@@ -3850,15 +3866,16 @@
(i32.const 7)
)
)
+ (get_local $14)
)
)
(set_local $1
(i32.add
- (get_local $17)
(get_local $6)
+ (get_local $17)
)
)
- (set_local $15
+ (set_local $16
(i32.sub
(i32.sub
(get_local $4)
@@ -3884,10 +3901,10 @@
(i32.const 1220)
(tee_local $2
(i32.add
+ (get_local $16)
(i32.load
(i32.const 1220)
)
- (get_local $15)
)
)
)
@@ -3906,20 +3923,20 @@
(block $do-once44
(if
(i32.eq
- (get_local $4)
(i32.load
(i32.const 1228)
)
+ (get_local $4)
)
(block
(i32.store
(i32.const 1216)
(tee_local $2
(i32.add
+ (get_local $16)
(i32.load
(i32.const 1216)
)
- (get_local $15)
)
)
)
@@ -3983,11 +4000,6 @@
)
(if
(i32.ne
- (tee_local $21
- (i32.load offset=8
- (get_local $4)
- )
- )
(tee_local $19
(i32.add
(i32.shl
@@ -3997,21 +4009,26 @@
(i32.const 1248)
)
)
+ (tee_local $21
+ (i32.load offset=8
+ (get_local $4)
+ )
+ )
)
(block $do-once47
(if
(i32.lt_u
(get_local $21)
- (get_local $16)
+ (get_local $15)
)
(call $qa)
)
(br_if $do-once47
(i32.eq
+ (get_local $4)
(i32.load offset=12
(get_local $21)
)
- (get_local $4)
)
)
(call $qa)
@@ -4056,12 +4073,13 @@
(if
(i32.lt_u
(get_local $11)
- (get_local $16)
+ (get_local $15)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $4)
(i32.load
(tee_local $0
(i32.add
@@ -4070,7 +4088,6 @@
)
)
)
- (get_local $4)
)
(block
(set_local $43
@@ -4193,7 +4210,7 @@
(if
(i32.lt_u
(get_local $0)
- (get_local $16)
+ (get_local $15)
)
(call $qa)
(block
@@ -4215,12 +4232,13 @@
(get_local $4)
)
)
- (get_local $16)
+ (get_local $15)
)
(call $qa)
)
(if
(i32.ne
+ (get_local $4)
(i32.load
(tee_local $3
(i32.add
@@ -4229,12 +4247,12 @@
)
)
)
- (get_local $4)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $4)
(i32.load
(tee_local $18
(i32.add
@@ -4243,7 +4261,6 @@
)
)
)
- (get_local $4)
)
(block
(i32.store
@@ -4269,7 +4286,6 @@
)
(if
(i32.eq
- (get_local $4)
(i32.load
(tee_local $21
(i32.add
@@ -4285,6 +4301,7 @@
)
)
)
+ (get_local $4)
)
(block $do-once55
(i32.store
@@ -4323,6 +4340,7 @@
)
(if
(i32.eq
+ (get_local $4)
(i32.load
(tee_local $11
(i32.add
@@ -4331,7 +4349,6 @@
)
)
)
- (get_local $4)
)
(i32.store
(get_local $11)
@@ -4430,10 +4447,10 @@
(get_local $5)
)
)
- (set_local $15
+ (set_local $16
(i32.add
(get_local $5)
- (get_local $15)
+ (get_local $16)
)
)
)
@@ -4455,26 +4472,26 @@
(i32.store offset=4
(get_local $1)
(i32.or
- (get_local $15)
+ (get_local $16)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $1)
- (get_local $15)
+ (get_local $16)
)
- (get_local $15)
+ (get_local $16)
)
(set_local $0
(i32.shr_u
- (get_local $15)
+ (get_local $16)
(i32.const 3)
)
)
(if
(i32.lt_u
- (get_local $15)
+ (get_local $16)
(i32.const 256)
)
(block
@@ -4489,17 +4506,17 @@
)
(if
(i32.and
- (tee_local $11
- (i32.load
- (i32.const 1208)
- )
- )
(tee_local $0
(i32.shl
(i32.const 1)
(get_local $0)
)
)
+ (tee_local $11
+ (i32.load
+ (i32.const 1208)
+ )
+ )
)
(block $do-once59
(if
@@ -4534,8 +4551,8 @@
(i32.store
(i32.const 1208)
(i32.or
- (get_local $11)
(get_local $0)
+ (get_local $11)
)
)
(set_local $44
@@ -4575,93 +4592,96 @@
(if (result i32)
(tee_local $0
(i32.shr_u
- (get_local $15)
+ (get_local $16)
(i32.const 8)
)
)
(if (result i32)
(i32.gt_u
- (get_local $15)
+ (get_local $16)
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $15)
- (i32.add
- (tee_local $7
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $19
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $5
+ (i32.shl
+ (get_local $0)
+ (tee_local $11
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $16)
+ (i32.add
+ (tee_local $7
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $19
+ (tee_local $5
(i32.and
(i32.shr_u
(i32.add
- (tee_local $5
+ (tee_local $0
(i32.shl
- (get_local $0)
- (tee_local $11
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
+ (get_local $5)
+ (get_local $19)
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $11)
- )
- (tee_local $5
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $0
- (i32.shl
- (get_local $5)
- (get_local $19)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $11)
+ (get_local $19)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $0)
- (get_local $5)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $5)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $7)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $7)
- (i32.const 1)
)
)
)
@@ -4693,17 +4713,17 @@
(if
(i32.eqz
(i32.and
- (tee_local $2
- (i32.load
- (i32.const 1212)
- )
- )
(tee_local $7
(i32.shl
(i32.const 1)
(get_local $5)
)
)
+ (tee_local $2
+ (i32.load
+ (i32.const 1212)
+ )
+ )
)
)
(block
@@ -4735,7 +4755,7 @@
)
(set_local $7
(i32.shl
- (get_local $15)
+ (get_local $16)
(select
(i32.const 0)
(i32.sub
@@ -4764,13 +4784,13 @@
(block $while-out63 (result i32)
(if
(i32.eq
+ (get_local $16)
(i32.and
(i32.load offset=4
(get_local $2)
)
(i32.const -8)
)
- (get_local $15)
)
(block
(set_local $38
@@ -4938,19 +4958,19 @@
)
(if
(i32.gt_u
- (tee_local $15
+ (tee_local $16
(i32.add
- (get_local $1)
(i32.load offset=4
(get_local $30)
)
+ (get_local $1)
)
)
(get_local $12)
)
(block
(set_local $0
- (get_local $15)
+ (get_local $16)
)
(br $while-out65)
)
@@ -4964,17 +4984,6 @@
(br $while-in66)
)
)
- (set_local $15
- (i32.add
- (tee_local $17
- (i32.add
- (get_local $0)
- (i32.const -47)
- )
- )
- (i32.const 8)
- )
- )
(set_local $1
(i32.add
(tee_local $17
@@ -4982,26 +4991,36 @@
(get_local $12)
(tee_local $1
(i32.add
- (get_local $17)
(select
(i32.and
(i32.sub
(i32.const 0)
- (get_local $15)
+ (tee_local $16
+ (i32.add
+ (tee_local $17
+ (i32.add
+ (get_local $0)
+ (i32.const -47)
+ )
+ )
+ (i32.const 8)
+ )
+ )
)
(i32.const 7)
)
(i32.const 0)
(i32.and
- (get_local $15)
+ (get_local $16)
(i32.const 7)
)
)
+ (get_local $17)
)
)
(i32.lt_u
(get_local $1)
- (tee_local $15
+ (tee_local $16
(i32.add
(get_local $12)
(i32.const 16)
@@ -5017,7 +5036,6 @@
(i32.const 1232)
(tee_local $4
(i32.add
- (get_local $20)
(tee_local $14
(select
(i32.and
@@ -5039,6 +5057,7 @@
)
)
)
+ (get_local $20)
)
)
)
@@ -5151,8 +5170,8 @@
)
(if
(i32.ne
- (get_local $17)
(get_local $12)
+ (get_local $17)
)
(block
(i32.store
@@ -5203,17 +5222,17 @@
)
(if
(i32.and
- (tee_local $2
- (i32.load
- (i32.const 1208)
- )
- )
(tee_local $5
(i32.shl
(i32.const 1)
(get_local $4)
)
)
+ (tee_local $2
+ (i32.load
+ (i32.const 1208)
+ )
+ )
)
(if
(i32.lt_u
@@ -5296,83 +5315,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $1)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $14
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $5
+ (i32.shl
+ (get_local $14)
+ (tee_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $14)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $1)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $14
+ (tee_local $5
(i32.and
(i32.shr_u
(i32.add
- (tee_local $5
+ (tee_local $4
(i32.shl
+ (get_local $5)
(get_local $14)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $14)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $2)
- )
- (tee_local $5
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $4
- (i32.shl
- (get_local $5)
- (get_local $14)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $2)
+ (get_local $14)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $4)
- (get_local $5)
+ (i32.shr_u
+ (i32.shl
+ (get_local $4)
+ (get_local $5)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
)
@@ -5393,7 +5415,7 @@
(i32.const 0)
)
(i32.store
- (get_local $15)
+ (get_local $16)
(i32.const 0)
)
(if
@@ -5416,8 +5438,8 @@
(i32.store
(i32.const 1212)
(i32.or
- (get_local $5)
(get_local $4)
+ (get_local $5)
)
)
(i32.store
@@ -5470,13 +5492,13 @@
(block $while-out69 (result i32)
(if
(i32.eq
+ (get_local $1)
(i32.and
(i32.load offset=4
(get_local $5)
)
(i32.const -8)
)
- (get_local $1)
)
(block
(set_local $31
@@ -5697,7 +5719,6 @@
(i32.const 1232)
(tee_local $4
(i32.add
- (get_local $20)
(tee_local $14
(select
(i32.and
@@ -5719,6 +5740,7 @@
)
)
)
+ (get_local $20)
)
)
)
@@ -5743,8 +5765,8 @@
)
(i32.store offset=4
(i32.add
- (get_local $4)
(get_local $1)
+ (get_local $4)
)
(i32.const 40)
)
@@ -5779,12 +5801,12 @@
(i32.const 1232)
(tee_local $8
(i32.add
+ (get_local $6)
(tee_local $12
(i32.load
(i32.const 1232)
)
)
- (get_local $6)
)
)
)
@@ -5830,7 +5852,7 @@
(get_local $25)
)
(i32.add
- (get_local $15)
+ (get_local $16)
(i32.const 8)
)
)
@@ -5933,8 +5955,8 @@
)
(set_local $6
(i32.add
- (get_local $10)
(get_local $6)
+ (get_local $10)
)
)
(if
@@ -5951,10 +5973,10 @@
)
(if
(i32.eq
- (get_local $1)
(i32.load
(i32.const 1228)
)
+ (get_local $1)
)
(block
(if
@@ -6056,10 +6078,10 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load offset=12
(get_local $10)
)
- (get_local $1)
)
(call $qa)
)
@@ -6116,6 +6138,7 @@
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -6124,7 +6147,6 @@
)
)
)
- (get_local $1)
)
(set_local $9
(get_local $4)
@@ -6157,12 +6179,12 @@
)
(if
(i32.eq
+ (get_local $1)
(tee_local $0
(i32.load offset=12
(get_local $1)
)
)
- (get_local $1)
)
(block $do-once0
(if
@@ -6282,6 +6304,7 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load
(tee_local $9
(i32.add
@@ -6290,12 +6313,12 @@
)
)
)
- (get_local $1)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -6304,7 +6327,6 @@
)
)
)
- (get_local $1)
)
(block
(i32.store
@@ -6328,7 +6350,6 @@
(block
(if
(i32.eq
- (get_local $1)
(i32.load
(tee_local $3
(i32.add
@@ -6344,6 +6365,7 @@
)
)
)
+ (get_local $1)
)
(block
(i32.store
@@ -6392,6 +6414,7 @@
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $0
(i32.add
@@ -6400,7 +6423,6 @@
)
)
)
- (get_local $1)
)
(i32.store
(get_local $0)
@@ -6583,20 +6605,20 @@
(block (result i32)
(if
(i32.eq
- (get_local $8)
(i32.load
(i32.const 1232)
)
+ (get_local $8)
)
(block
(i32.store
(i32.const 1220)
(tee_local $5
(i32.add
+ (get_local $7)
(i32.load
(i32.const 1220)
)
- (get_local $7)
)
)
)
@@ -6613,10 +6635,10 @@
)
(if
(i32.ne
- (get_local $2)
(i32.load
(i32.const 1228)
)
+ (get_local $2)
)
(return)
)
@@ -6633,20 +6655,20 @@
)
(if
(i32.eq
- (get_local $8)
(i32.load
(i32.const 1228)
)
+ (get_local $8)
)
(block
(i32.store
(i32.const 1216)
(tee_local $5
(i32.add
+ (get_local $7)
(i32.load
(i32.const 1216)
)
- (get_local $7)
)
)
)
@@ -6673,11 +6695,11 @@
)
(set_local $5
(i32.add
+ (get_local $7)
(i32.and
(get_local $1)
(i32.const -8)
)
- (get_local $7)
)
)
(set_local $14
@@ -6700,11 +6722,6 @@
)
(if
(i32.ne
- (tee_local $12
- (i32.load offset=8
- (get_local $8)
- )
- )
(tee_local $4
(i32.add
(i32.shl
@@ -6714,6 +6731,11 @@
(i32.const 1248)
)
)
+ (tee_local $12
+ (i32.load offset=8
+ (get_local $8)
+ )
+ )
)
(block
(if
@@ -6727,10 +6749,10 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load offset=12
(get_local $12)
)
- (get_local $8)
)
(call $qa)
)
@@ -6783,6 +6805,7 @@
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $4
(i32.add
@@ -6791,7 +6814,6 @@
)
)
)
- (get_local $8)
)
(set_local $17
(get_local $4)
@@ -6817,12 +6839,12 @@
)
(if
(i32.eq
+ (get_local $8)
(tee_local $3
(i32.load offset=12
(get_local $8)
)
)
- (get_local $8)
)
(block $do-once6
(set_local $7
@@ -6938,6 +6960,7 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load
(tee_local $9
(i32.add
@@ -6946,12 +6969,12 @@
)
)
)
- (get_local $8)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $4
(i32.add
@@ -6960,7 +6983,6 @@
)
)
)
- (get_local $8)
)
(block
(i32.store
@@ -6984,7 +7006,6 @@
(block
(if
(i32.eq
- (get_local $8)
(i32.load
(tee_local $6
(i32.add
@@ -7000,6 +7021,7 @@
)
)
)
+ (get_local $8)
)
(block
(i32.store
@@ -7042,6 +7064,7 @@
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $3
(i32.add
@@ -7050,7 +7073,6 @@
)
)
)
- (get_local $8)
)
(i32.store
(get_local $3)
@@ -7159,10 +7181,10 @@
)
(if (result i32)
(i32.eq
- (get_local $2)
(i32.load
(i32.const 1228)
)
+ (get_local $2)
)
(block
(i32.store
@@ -7238,8 +7260,8 @@
(i32.store
(i32.const 1208)
(i32.or
- (get_local $6)
(get_local $5)
+ (get_local $6)
)
)
(set_local $15
@@ -7289,83 +7311,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $0)
- (i32.add
- (tee_local $5
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $15
+ (i32.shl
+ (get_local $1)
+ (tee_local $13
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $1)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $0)
+ (i32.add
+ (tee_local $5
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $1
+ (tee_local $15
(i32.and
(i32.shr_u
(i32.add
- (tee_local $15
+ (tee_local $6
(i32.shl
+ (get_local $15)
(get_local $1)
- (tee_local $13
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $1)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $13)
- )
- (tee_local $15
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $6
- (i32.shl
- (get_local $15)
- (get_local $1)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $1)
+ (get_local $13)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $6)
- (get_local $15)
+ (i32.shr_u
+ (i32.shl
+ (get_local $6)
+ (get_local $15)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $5)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $5)
- (i32.const 1)
)
)
)
@@ -7391,17 +7416,17 @@
)
(if
(i32.and
- (tee_local $15
- (i32.load
- (i32.const 1212)
- )
- )
(tee_local $6
(i32.shl
(i32.const 1)
(get_local $7)
)
)
+ (tee_local $15
+ (i32.load
+ (i32.const 1212)
+ )
+ )
)
(block
(set_local $13
@@ -7435,13 +7460,13 @@
(block $while-out14 (result i32)
(if
(i32.eq
+ (get_local $0)
(i32.and
(i32.load offset=4
(get_local $1)
)
(i32.const -8)
)
- (get_local $0)
)
(block
(set_local $16
@@ -7586,8 +7611,8 @@
(i32.store
(i32.const 1212)
(i32.or
- (get_local $15)
(get_local $6)
+ (get_local $15)
)
)
(i32.store
@@ -7744,8 +7769,8 @@
)
(set_local $4
(i32.add
- (get_local $9)
(get_local $2)
+ (get_local $9)
)
)
(loop $while-in
@@ -7902,10 +7927,10 @@
(i32.store
(get_local $7)
(i32.add
+ (get_local $6)
(i32.load
(get_local $7)
)
- (get_local $6)
)
)
(set_local $3
@@ -7921,10 +7946,10 @@
(i32.store
(get_local $5)
(i32.add
+ (get_local $6)
(i32.load
(get_local $5)
)
- (get_local $6)
)
)
(i32.store offset=4
@@ -8210,15 +8235,15 @@
(i32.store
(get_local $4)
(i32.add
+ (get_local $1)
(i32.load
(get_local $4)
)
- (get_local $1)
)
)
(i32.add
- (get_local $3)
(get_local $1)
+ (get_local $3)
)
)
)
@@ -8299,21 +8324,21 @@
(loop $while-in1 (result i32)
(if (result i32)
(i32.and
+ (i32.add
+ (tee_local $1
+ (i32.load
+ (get_local $2)
+ )
+ )
+ (i32.const -16843009)
+ )
(i32.xor
(i32.and
- (tee_local $1
- (i32.load
- (get_local $2)
- )
- )
+ (get_local $1)
(i32.const -2139062144)
)
(i32.const -2139062144)
)
- (i32.add
- (get_local $1)
- (i32.const -16843009)
- )
)
(get_local $2)
(block
@@ -8958,11 +8983,11 @@
(i32.or
(i32.or
(i32.or
- (get_local $1)
(i32.shl
(get_local $1)
(i32.const 8)
)
+ (get_local $1)
)
(i32.shl
(get_local $1)
@@ -9133,11 +9158,11 @@
(i32.store8
(get_local $1)
(i32.or
+ (get_local $2)
(i32.add
(get_local $2)
(i32.const 255)
)
- (get_local $2)
)
)
(tee_local $0
@@ -9184,10 +9209,10 @@
(i32.store offset=16
(get_local $0)
(i32.add
- (get_local $1)
(i32.load offset=48
(get_local $0)
)
+ (get_local $1)
)
)
(i32.const 0)
@@ -9212,6 +9237,7 @@
)
)
(i32.ne
+ (get_local $3)
(tee_local $0
(call $Wa
(get_local $0)
@@ -9219,7 +9245,6 @@
(get_local $2)
)
)
- (get_local $3)
)
)
(set_local $4
@@ -9455,8 +9480,8 @@
)
(set_global $r
(i32.add
- (get_global $r)
(get_local $0)
+ (get_global $r)
)
)
(set_global $r
diff --git a/test/memorygrowth.fromasm.imprecise b/test/memorygrowth.fromasm.imprecise
index 4925a0ccf..72f7b31e4 100644
--- a/test/memorygrowth.fromasm.imprecise
+++ b/test/memorygrowth.fromasm.imprecise
@@ -168,13 +168,14 @@
(i32.add
(tee_local $13
(i32.load
- (tee_local $16
+ (tee_local $15
(i32.add
(tee_local $9
(i32.add
(i32.shl
(tee_local $0
(i32.add
+ (get_local $0)
(i32.xor
(i32.and
(get_local $6)
@@ -182,7 +183,6 @@
)
(i32.const 1)
)
- (get_local $0)
)
)
(i32.const 3)
@@ -202,13 +202,12 @@
)
(if
(i32.eq
- (get_local $9)
(get_local $7)
+ (get_local $9)
)
(i32.store
(i32.const 1208)
(i32.and
- (get_local $5)
(i32.xor
(i32.shl
(i32.const 1)
@@ -216,6 +215,7 @@
)
(i32.const -1)
)
+ (get_local $5)
)
)
(block
@@ -230,6 +230,7 @@
)
(if
(i32.eq
+ (get_local $13)
(i32.load
(tee_local $8
(i32.add
@@ -238,7 +239,6 @@
)
)
)
- (get_local $13)
)
(block
(i32.store
@@ -246,7 +246,7 @@
(get_local $9)
)
(i32.store
- (get_local $16)
+ (get_local $15)
(get_local $7)
)
)
@@ -267,18 +267,18 @@
)
)
(i32.store
- (tee_local $16
+ (tee_local $15
(i32.add
(i32.add
- (get_local $13)
(get_local $7)
+ (get_local $13)
)
(i32.const 4)
)
)
(i32.or
(i32.load
- (get_local $16)
+ (get_local $15)
)
(i32.const 1)
)
@@ -294,7 +294,7 @@
(if (result i32)
(i32.gt_u
(get_local $2)
- (tee_local $16
+ (tee_local $15
(i32.load
(i32.const 1216)
)
@@ -310,30 +310,30 @@
(tee_local $7
(i32.add
(i32.and
- (tee_local $9
- (i32.and
- (i32.shl
- (get_local $6)
- (get_local $0)
- )
- (i32.or
- (tee_local $7
- (i32.shl
- (i32.const 2)
- (get_local $0)
+ (i32.sub
+ (i32.const 0)
+ (tee_local $9
+ (i32.and
+ (i32.or
+ (i32.sub
+ (i32.const 0)
+ (tee_local $7
+ (i32.shl
+ (i32.const 2)
+ (get_local $0)
+ )
+ )
)
- )
- (i32.sub
- (i32.const 0)
(get_local $7)
)
+ (i32.shl
+ (get_local $6)
+ (get_local $0)
+ )
)
)
)
- (i32.sub
- (i32.const 0)
- (get_local $9)
- )
+ (get_local $9)
)
(i32.const -1)
)
@@ -343,115 +343,116 @@
(i32.const 16)
)
)
- (set_local $9
- (i32.load
- (tee_local $8
- (i32.add
- (tee_local $10
- (i32.load
- (tee_local $13
- (i32.add
- (tee_local $3
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (tee_local $8
+ (i32.shr_u
+ (get_local $7)
+ (get_local $9)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $8
+ (i32.and
+ (i32.shr_u
+ (tee_local $10
+ (i32.shr_u
+ (get_local $8)
+ (get_local $7)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $10
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.shr_u
+ (get_local $10)
+ (get_local $8)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $9
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (tee_local $10
+ (i32.load
+ (tee_local $13
(i32.add
- (i32.shl
- (tee_local $4
- (i32.add
- (i32.or
- (i32.or
+ (tee_local $3
+ (i32.add
+ (i32.shl
+ (tee_local $4
+ (i32.add
(i32.or
- (i32.or
- (tee_local $7
- (i32.and
- (i32.shr_u
- (tee_local $8
- (i32.shr_u
- (get_local $7)
- (get_local $9)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $9)
- )
- (tee_local $8
+ (tee_local $3
(i32.and
(i32.shr_u
- (tee_local $10
+ (tee_local $13
(i32.shr_u
- (get_local $8)
- (get_local $7)
+ (get_local $3)
+ (get_local $10)
)
)
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $10
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.shr_u
- (get_local $10)
- (get_local $8)
- )
+ (i32.const 1)
)
(i32.const 1)
)
- (i32.const 2)
)
- )
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $13
- (i32.shr_u
- (get_local $3)
- (get_local $10)
+ (i32.or
+ (get_local $10)
+ (i32.or
+ (get_local $8)
+ (i32.or
+ (get_local $7)
+ (get_local $9)
)
)
- (i32.const 1)
)
- (i32.const 1)
+ )
+ (i32.shr_u
+ (get_local $13)
+ (get_local $3)
)
)
)
- (i32.shr_u
- (get_local $13)
- (get_local $3)
- )
+ (i32.const 3)
)
+ (i32.const 1248)
)
- (i32.const 3)
)
- (i32.const 1248)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
+ (i32.const 8)
)
)
- (i32.const 8)
)
)
- )
- )
- (if
- (i32.eq
(get_local $3)
- (get_local $9)
)
(block
(i32.store
(i32.const 1208)
(i32.and
- (get_local $5)
(i32.xor
(i32.shl
(i32.const 1)
@@ -459,10 +460,11 @@
)
(i32.const -1)
)
+ (get_local $5)
)
)
(set_local $34
- (get_local $16)
+ (get_local $15)
)
)
(block
@@ -477,6 +479,7 @@
)
(if
(i32.eq
+ (get_local $10)
(i32.load
(tee_local $7
(i32.add
@@ -485,7 +488,6 @@
)
)
)
- (get_local $10)
)
(block
(i32.store
@@ -516,8 +518,8 @@
(i32.store offset=4
(tee_local $13
(i32.add
- (get_local $10)
(get_local $2)
+ (get_local $10)
)
)
(i32.or
@@ -535,8 +537,8 @@
)
(i32.store
(i32.add
- (get_local $13)
(get_local $9)
+ (get_local $13)
)
(get_local $9)
)
@@ -551,7 +553,7 @@
(set_local $5
(i32.add
(i32.shl
- (tee_local $16
+ (tee_local $15
(i32.shr_u
(get_local $34)
(i32.const 3)
@@ -572,7 +574,7 @@
(tee_local $6
(i32.shl
(i32.const 1)
- (get_local $16)
+ (get_local $15)
)
)
)
@@ -668,11 +670,11 @@
(tee_local $9
(i32.add
(i32.and
- (get_local $13)
(i32.sub
(i32.const 0)
(get_local $13)
)
+ (get_local $13)
)
(i32.const -1)
)
@@ -682,65 +684,58 @@
(i32.const 16)
)
)
+ (set_local $9
+ (i32.and
+ (i32.shr_u
+ (tee_local $5
+ (i32.shr_u
+ (get_local $9)
+ (get_local $13)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $5
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.shr_u
+ (get_local $5)
+ (get_local $9)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $0
+ (i32.shr_u
+ (get_local $3)
+ (get_local $5)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
(set_local $0
(i32.sub
(i32.and
(i32.load offset=4
- (tee_local $16
+ (tee_local $15
(i32.load
(i32.add
(i32.shl
(i32.add
(i32.or
- (i32.or
- (i32.or
- (i32.or
- (tee_local $9
- (i32.and
- (i32.shr_u
- (tee_local $5
- (i32.shr_u
- (get_local $9)
- (get_local $13)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $13)
- )
- (tee_local $5
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.shr_u
- (get_local $5)
- (get_local $9)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $0
- (i32.shr_u
- (get_local $3)
- (get_local $5)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
(tee_local $0
(i32.and
(i32.shr_u
@@ -755,6 +750,16 @@
(i32.const 1)
)
)
+ (i32.or
+ (get_local $3)
+ (i32.or
+ (get_local $5)
+ (i32.or
+ (get_local $9)
+ (get_local $13)
+ )
+ )
+ )
)
(i32.shr_u
(get_local $6)
@@ -775,25 +780,25 @@
)
(set_local $3
(tee_local $6
- (get_local $16)
+ (get_local $15)
)
)
(loop $while-in
(block $while-out
(set_local $5
(i32.lt_u
- (tee_local $16
+ (tee_local $15
(i32.sub
(i32.and
(i32.load offset=4
(tee_local $6
(if (result i32)
- (tee_local $16
+ (tee_local $15
(i32.load offset=16
(get_local $6)
)
)
- (get_local $16)
+ (get_local $15)
(if (result i32)
(tee_local $5
(i32.load offset=20
@@ -824,7 +829,7 @@
)
(set_local $0
(select
- (get_local $16)
+ (get_local $15)
(get_local $0)
(get_local $5)
)
@@ -889,7 +894,7 @@
)
)
(block
- (set_local $16
+ (set_local $15
(get_local $4)
)
(set_local $5
@@ -898,7 +903,7 @@
)
(br_if $do-once4
(i32.eqz
- (tee_local $16
+ (tee_local $15
(i32.load
(tee_local $5
(i32.add
@@ -917,14 +922,14 @@
(i32.load
(tee_local $10
(i32.add
- (get_local $16)
+ (get_local $15)
(i32.const 20)
)
)
)
)
(block
- (set_local $16
+ (set_local $15
(get_local $4)
)
(set_local $5
@@ -938,14 +943,14 @@
(i32.load
(tee_local $10
(i32.add
- (get_local $16)
+ (get_local $15)
(i32.const 16)
)
)
)
)
(block
- (set_local $16
+ (set_local $15
(get_local $4)
)
(set_local $5
@@ -967,7 +972,7 @@
(i32.const 0)
)
(set_local $23
- (get_local $16)
+ (get_local $15)
)
)
)
@@ -986,6 +991,7 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -994,12 +1000,12 @@
)
)
)
- (get_local $1)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $5
(i32.add
@@ -1008,7 +1014,6 @@
)
)
)
- (get_local $1)
)
(block
(i32.store
@@ -1032,7 +1037,6 @@
(block $do-once8
(if
(i32.eq
- (get_local $1)
(i32.load
(tee_local $3
(i32.add
@@ -1048,6 +1052,7 @@
)
)
)
+ (get_local $1)
)
(block
(i32.store
@@ -1090,6 +1095,7 @@
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $8
(i32.add
@@ -1098,7 +1104,6 @@
)
)
)
- (get_local $1)
)
(i32.store
(get_local $8)
@@ -1194,8 +1199,8 @@
(i32.or
(tee_local $0
(i32.add
- (get_local $7)
(get_local $2)
+ (get_local $7)
)
)
(i32.const 3)
@@ -1205,8 +1210,8 @@
(tee_local $3
(i32.add
(i32.add
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
(i32.const 4)
)
@@ -1269,17 +1274,17 @@
)
(if
(i32.and
- (tee_local $10
- (i32.load
- (i32.const 1208)
- )
- )
(tee_local $5
(i32.shl
(i32.const 1)
(get_local $8)
)
)
+ (tee_local $10
+ (i32.load
+ (i32.const 1208)
+ )
+ )
)
(if
(i32.lt_u
@@ -1311,8 +1316,8 @@
(i32.store
(i32.const 1208)
(i32.or
- (get_local $10)
(get_local $5)
+ (get_local $10)
)
)
(set_local $41
@@ -1420,83 +1425,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $0)
- (i32.add
- (tee_local $13
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $8
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $4
+ (i32.shl
+ (get_local $8)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $8)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $0)
+ (i32.add
+ (tee_local $13
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $8
+ (tee_local $4
(i32.and
(i32.shr_u
(i32.add
- (tee_local $4
+ (tee_local $15
(i32.shl
+ (get_local $4)
(get_local $8)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $8)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $3)
- )
- (tee_local $4
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $16
- (i32.shl
- (get_local $4)
- (get_local $8)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $3)
+ (get_local $8)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $16)
- (get_local $4)
+ (i32.shr_u
+ (i32.shl
+ (get_local $15)
+ (get_local $4)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $13)
- (i32.const 1)
)
)
)
@@ -1513,7 +1521,7 @@
(set_local $4
(get_local $5)
)
- (set_local $16
+ (set_local $15
(i32.const 0)
)
(set_local $3
@@ -1559,8 +1567,8 @@
(set_local $4
(if (result i32)
(i32.eq
- (get_local $2)
(get_local $0)
+ (get_local $2)
)
(block
(set_local $29
@@ -1588,7 +1596,7 @@
)
(set_local $2
(select
- (get_local $16)
+ (get_local $15)
(tee_local $13
(i32.load offset=20
(get_local $8)
@@ -1641,7 +1649,7 @@
(get_local $2)
)
(block
- (set_local $16
+ (set_local $15
(get_local $2)
)
(set_local $3
@@ -1691,19 +1699,19 @@
(i32.eqz
(tee_local $5
(i32.and
- (get_local $10)
(i32.or
- (tee_local $13
- (i32.shl
- (i32.const 2)
- (get_local $27)
- )
- )
(i32.sub
(i32.const 0)
- (get_local $13)
+ (tee_local $13
+ (i32.shl
+ (i32.const 2)
+ (get_local $27)
+ )
+ )
)
+ (get_local $13)
)
+ (get_local $10)
)
)
)
@@ -1715,11 +1723,11 @@
(tee_local $13
(i32.add
(i32.and
- (get_local $5)
(i32.sub
(i32.const 0)
(get_local $5)
)
+ (get_local $5)
)
(i32.const -1)
)
@@ -1729,60 +1737,53 @@
(i32.const 16)
)
)
+ (set_local $13
+ (i32.and
+ (i32.shr_u
+ (tee_local $2
+ (i32.shr_u
+ (get_local $13)
+ (get_local $5)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (set_local $2
+ (i32.and
+ (i32.shr_u
+ (tee_local $6
+ (i32.shr_u
+ (get_local $2)
+ (get_local $13)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ (set_local $6
+ (i32.and
+ (i32.shr_u
+ (tee_local $9
+ (i32.shr_u
+ (get_local $6)
+ (get_local $2)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
(i32.load
(i32.add
(i32.shl
(i32.add
(i32.or
- (i32.or
- (i32.or
- (i32.or
- (tee_local $13
- (i32.and
- (i32.shr_u
- (tee_local $2
- (i32.shr_u
- (get_local $13)
- (get_local $5)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $5)
- )
- (tee_local $2
- (i32.and
- (i32.shr_u
- (tee_local $6
- (i32.shr_u
- (get_local $2)
- (get_local $13)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (tee_local $6
- (i32.and
- (i32.shr_u
- (tee_local $9
- (i32.shr_u
- (get_local $6)
- (get_local $2)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
(tee_local $9
(i32.and
(i32.shr_u
@@ -1797,6 +1798,16 @@
(i32.const 1)
)
)
+ (i32.or
+ (get_local $6)
+ (i32.or
+ (get_local $2)
+ (i32.or
+ (get_local $5)
+ (get_local $13)
+ )
+ )
+ )
)
(i32.shr_u
(get_local $3)
@@ -1948,8 +1959,8 @@
(get_local $11)
(tee_local $9
(i32.add
- (get_local $11)
(get_local $0)
+ (get_local $11)
)
)
)
@@ -1983,13 +1994,13 @@
)
)
(block (result i32)
- (set_local $16
+ (set_local $15
(get_local $5)
)
(get_local $2)
)
(if (result i32)
- (tee_local $16
+ (tee_local $15
(i32.load
(tee_local $13
(i32.add
@@ -2010,14 +2021,14 @@
(i32.load
(tee_local $2
(i32.add
- (get_local $16)
+ (get_local $15)
(i32.const 20)
)
)
)
)
(block
- (set_local $16
+ (set_local $15
(get_local $5)
)
(set_local $4
@@ -2031,14 +2042,14 @@
(i32.load
(tee_local $2
(i32.add
- (get_local $16)
+ (get_local $15)
(i32.const 16)
)
)
)
)
(block
- (set_local $16
+ (set_local $15
(get_local $5)
)
(set_local $4
@@ -2060,7 +2071,7 @@
(i32.const 0)
)
(set_local $22
- (get_local $16)
+ (get_local $15)
)
)
)
@@ -2079,6 +2090,7 @@
)
(if
(i32.ne
+ (get_local $11)
(i32.load
(tee_local $5
(i32.add
@@ -2087,12 +2099,12 @@
)
)
)
- (get_local $11)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $11)
(i32.load
(tee_local $13
(i32.add
@@ -2101,7 +2113,6 @@
)
)
)
- (get_local $11)
)
(block
(i32.store
@@ -2125,7 +2136,6 @@
(block $do-once21
(if
(i32.eq
- (get_local $11)
(i32.load
(tee_local $10
(i32.add
@@ -2141,6 +2151,7 @@
)
)
)
+ (get_local $11)
)
(block
(i32.store
@@ -2183,6 +2194,7 @@
)
(if
(i32.eq
+ (get_local $11)
(i32.load
(tee_local $3
(i32.add
@@ -2191,7 +2203,6 @@
)
)
)
- (get_local $11)
)
(i32.store
(get_local $3)
@@ -2287,8 +2298,8 @@
(i32.or
(tee_local $6
(i32.add
- (get_local $18)
(get_local $0)
+ (get_local $18)
)
)
(i32.const 3)
@@ -2298,8 +2309,8 @@
(tee_local $10
(i32.add
(i32.add
- (get_local $11)
(get_local $6)
+ (get_local $11)
)
(i32.const 4)
)
@@ -2357,17 +2368,17 @@
)
(if
(i32.and
- (tee_local $3
- (i32.load
- (i32.const 1208)
- )
- )
(tee_local $2
(i32.shl
(i32.const 1)
(get_local $10)
)
)
+ (tee_local $3
+ (i32.load
+ (i32.const 1208)
+ )
+ )
)
(if
(i32.lt_u
@@ -2399,8 +2410,8 @@
(i32.store
(i32.const 1208)
(i32.or
- (get_local $3)
(get_local $2)
+ (get_local $3)
)
)
(set_local $19
@@ -2450,83 +2461,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $18)
- (i32.add
- (tee_local $13
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $6
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $2
+ (i32.shl
+ (get_local $6)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $6)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $18)
+ (i32.add
+ (tee_local $13
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $6
+ (tee_local $2
(i32.and
(i32.shr_u
(i32.add
- (tee_local $2
+ (tee_local $10
(i32.shl
+ (get_local $2)
(get_local $6)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $6)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $3)
- )
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $10
- (i32.shl
- (get_local $2)
- (get_local $6)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $3)
+ (get_local $6)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $10)
- (get_local $2)
+ (i32.shr_u
+ (i32.shl
+ (get_local $10)
+ (get_local $2)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $13)
- (i32.const 1)
)
)
)
@@ -2629,13 +2643,13 @@
(block $while-out27 (result i32)
(if
(i32.eq
+ (get_local $18)
(i32.and
(i32.load offset=4
(get_local $2)
)
(i32.const -8)
)
- (get_local $18)
)
(block
(set_local $17
@@ -2682,7 +2696,7 @@
(set_local $21
(get_local $13)
)
- (set_local $15
+ (set_local $16
(get_local $2)
)
(i32.const 145)
@@ -2708,7 +2722,7 @@
)
(i32.store offset=24
(get_local $9)
- (get_local $15)
+ (get_local $16)
)
(i32.store offset=12
(get_local $9)
@@ -2809,7 +2823,7 @@
(get_local $6)
)
(block
- (set_local $15
+ (set_local $16
(i32.load
(i32.const 1228)
)
@@ -2829,8 +2843,8 @@
(i32.const 1228)
(tee_local $21
(i32.add
- (get_local $15)
(get_local $6)
+ (get_local $16)
)
)
)
@@ -2847,13 +2861,13 @@
)
(i32.store
(i32.add
- (get_local $21)
(get_local $17)
+ (get_local $21)
)
(get_local $17)
)
(i32.store offset=4
- (get_local $15)
+ (get_local $16)
(i32.or
(get_local $6)
(i32.const 3)
@@ -2870,7 +2884,7 @@
(i32.const 0)
)
(i32.store offset=4
- (get_local $15)
+ (get_local $16)
(i32.or
(get_local $11)
(i32.const 3)
@@ -2880,8 +2894,8 @@
(tee_local $17
(i32.add
(i32.add
- (get_local $15)
(get_local $11)
+ (get_local $16)
)
(i32.const 4)
)
@@ -2900,7 +2914,7 @@
)
(if
(i32.gt_u
- (tee_local $15
+ (tee_local $16
(i32.load
(i32.const 1220)
)
@@ -2912,7 +2926,7 @@
(i32.const 1220)
(tee_local $17
(i32.sub
- (get_local $15)
+ (get_local $16)
(get_local $6)
)
)
@@ -2921,12 +2935,12 @@
(i32.const 1232)
(tee_local $11
(i32.add
- (tee_local $15
+ (get_local $6)
+ (tee_local $16
(i32.load
(i32.const 1232)
)
)
- (get_local $6)
)
)
)
@@ -2938,7 +2952,7 @@
)
)
(i32.store offset=4
- (get_local $15)
+ (get_local $16)
(i32.or
(get_local $6)
(i32.const 3)
@@ -2980,7 +2994,7 @@
)
(i32.store
(get_local $14)
- (tee_local $15
+ (tee_local $16
(i32.xor
(i32.and
(get_local $14)
@@ -2992,11 +3006,11 @@
)
(i32.store
(i32.const 1680)
- (get_local $15)
+ (get_local $16)
)
)
)
- (set_local $15
+ (set_local $16
(i32.add
(get_local $6)
(i32.const 48)
@@ -3051,12 +3065,12 @@
(i32.le_u
(tee_local $7
(i32.add
+ (get_local $14)
(tee_local $3
(i32.load
(i32.const 1640)
)
)
- (get_local $14)
)
)
(get_local $3)
@@ -3112,7 +3126,6 @@
(if
(i32.gt_u
(i32.add
- (get_local $3)
(i32.load
(tee_local $19
(i32.add
@@ -3121,6 +3134,7 @@
)
)
)
+ (get_local $3)
)
(get_local $18)
)
@@ -3152,61 +3166,64 @@
(i32.lt_u
(tee_local $7
(i32.and
+ (get_local $21)
(i32.sub
(get_local $11)
(i32.load
(i32.const 1220)
)
)
- (get_local $21)
)
)
(i32.const 2147483647)
)
- (if
- (i32.eq
- (tee_local $19
- (call $ta
- (get_local $7)
- )
- )
- (i32.add
- (i32.load
- (get_local $0)
- )
- (i32.load
- (get_local $5)
- )
+ (block
+ (set_local $19
+ (call $ta
+ (get_local $7)
)
)
(if
- (i32.ne
+ (i32.eq
+ (i32.add
+ (i32.load
+ (get_local $0)
+ )
+ (i32.load
+ (get_local $5)
+ )
+ )
(get_local $19)
- (i32.const -1)
+ )
+ (if
+ (i32.ne
+ (get_local $19)
+ (i32.const -1)
+ )
+ (block
+ (set_local $20
+ (get_local $19)
+ )
+ (set_local $26
+ (get_local $7)
+ )
+ (br $label$break$b
+ (i32.const 191)
+ )
+ )
)
(block
- (set_local $20
+ (set_local $12
(get_local $19)
)
- (set_local $26
+ (set_local $1
(get_local $7)
)
- (br $label$break$b
- (i32.const 191)
+ (set_local $8
+ (i32.const 181)
)
)
)
- (block
- (set_local $12
- (get_local $19)
- )
- (set_local $1
- (get_local $7)
- )
- (set_local $8
- (i32.const 181)
- )
- )
)
)
)
@@ -3232,6 +3249,9 @@
(set_local $2
(if (result i32)
(i32.and
+ (tee_local $0
+ (get_local $18)
+ )
(tee_local $19
(i32.add
(tee_local $7
@@ -3242,9 +3262,6 @@
(i32.const -1)
)
)
- (tee_local $0
- (get_local $18)
- )
)
(i32.add
(i32.sub
@@ -3253,8 +3270,8 @@
)
(i32.and
(i32.add
- (get_local $19)
(get_local $0)
+ (get_local $19)
)
(i32.sub
(i32.const 0)
@@ -3277,14 +3294,14 @@
)
(if
(i32.and
- (i32.gt_u
- (get_local $2)
- (get_local $6)
- )
(i32.lt_u
(get_local $2)
(i32.const 2147483647)
)
+ (i32.gt_u
+ (get_local $2)
+ (get_local $6)
+ )
)
(block
(if
@@ -3309,12 +3326,12 @@
(set_local $1
(if (result i32)
(i32.eq
+ (get_local $18)
(tee_local $19
(call $ta
(get_local $2)
)
)
- (get_local $18)
)
(block
(set_local $20
@@ -3358,19 +3375,19 @@
(set_local $4
(if (result i32)
(i32.and
- (i32.gt_u
- (get_local $15)
- (get_local $1)
- )
(i32.and
- (i32.lt_u
- (get_local $1)
- (i32.const 2147483647)
- )
(i32.ne
(get_local $12)
(i32.const -1)
)
+ (i32.lt_u
+ (get_local $1)
+ (i32.const 2147483647)
+ )
+ )
+ (i32.gt_u
+ (get_local $16)
+ (get_local $1)
)
)
(if (result i32)
@@ -3378,15 +3395,15 @@
(tee_local $0
(i32.and
(i32.add
- (i32.sub
- (get_local $17)
- (get_local $1)
- )
(tee_local $18
(i32.load
(i32.const 1688)
)
)
+ (i32.sub
+ (get_local $17)
+ (get_local $1)
+ )
)
(i32.sub
(i32.const 0)
@@ -3462,28 +3479,28 @@
)
(if
(i32.and
- (i32.lt_u
- (tee_local $4
- (call $ta
- (get_local $14)
- )
- )
- (tee_local $14
- (call $ta
- (i32.const 0)
- )
- )
- )
(i32.and
(i32.ne
- (get_local $4)
+ (tee_local $4
+ (call $ta
+ (get_local $14)
+ )
+ )
(i32.const -1)
)
(i32.ne
- (get_local $14)
+ (tee_local $14
+ (call $ta
+ (i32.const 0)
+ )
+ )
(i32.const -1)
)
)
+ (i32.lt_u
+ (get_local $4)
+ (get_local $14)
+ )
)
(if
(i32.gt_u
@@ -3523,10 +3540,10 @@
(i32.const 1640)
(tee_local $12
(i32.add
+ (get_local $26)
(i32.load
(i32.const 1640)
)
- (get_local $26)
)
)
)
@@ -3556,13 +3573,7 @@
(block $do-out40
(if
(i32.eq
- (get_local $20)
(i32.add
- (tee_local $4
- (i32.load
- (get_local $1)
- )
- )
(tee_local $17
(i32.load
(tee_local $14
@@ -3573,7 +3584,13 @@
)
)
)
+ (tee_local $4
+ (i32.load
+ (get_local $1)
+ )
+ )
)
+ (get_local $20)
)
(block
(set_local $48
@@ -3632,13 +3649,12 @@
(i32.store
(get_local $49)
(i32.add
- (get_local $50)
(get_local $26)
+ (get_local $50)
)
)
(set_local $1
(i32.add
- (get_local $12)
(tee_local $17
(select
(i32.and
@@ -3660,17 +3676,18 @@
)
)
)
+ (get_local $12)
)
)
(set_local $14
(i32.add
+ (i32.load
+ (i32.const 1220)
+ )
(i32.sub
(get_local $26)
(get_local $17)
)
- (i32.load
- (i32.const 1220)
- )
)
)
(i32.store
@@ -3706,7 +3723,7 @@
)
)
)
- (set_local $16
+ (set_local $15
(if (result i32)
(i32.lt_u
(get_local $20)
@@ -3739,10 +3756,10 @@
(block $while-out42
(if
(i32.eq
+ (get_local $14)
(i32.load
(get_local $1)
)
- (get_local $14)
)
(block
(set_local $52
@@ -3796,15 +3813,14 @@
)
)
(i32.add
+ (get_local $26)
(i32.load
(get_local $1)
)
- (get_local $26)
)
)
(set_local $17
(i32.add
- (get_local $20)
(select
(i32.and
(i32.sub
@@ -3824,11 +3840,11 @@
(i32.const 7)
)
)
+ (get_local $20)
)
)
(set_local $4
(i32.add
- (get_local $14)
(select
(i32.and
(i32.sub
@@ -3848,15 +3864,16 @@
(i32.const 7)
)
)
+ (get_local $14)
)
)
(set_local $1
(i32.add
- (get_local $17)
(get_local $6)
+ (get_local $17)
)
)
- (set_local $15
+ (set_local $16
(i32.sub
(i32.sub
(get_local $4)
@@ -3882,10 +3899,10 @@
(i32.const 1220)
(tee_local $2
(i32.add
+ (get_local $16)
(i32.load
(i32.const 1220)
)
- (get_local $15)
)
)
)
@@ -3904,20 +3921,20 @@
(block $do-once44
(if
(i32.eq
- (get_local $4)
(i32.load
(i32.const 1228)
)
+ (get_local $4)
)
(block
(i32.store
(i32.const 1216)
(tee_local $2
(i32.add
+ (get_local $16)
(i32.load
(i32.const 1216)
)
- (get_local $15)
)
)
)
@@ -3981,11 +3998,6 @@
)
(if
(i32.ne
- (tee_local $21
- (i32.load offset=8
- (get_local $4)
- )
- )
(tee_local $19
(i32.add
(i32.shl
@@ -3995,21 +4007,26 @@
(i32.const 1248)
)
)
+ (tee_local $21
+ (i32.load offset=8
+ (get_local $4)
+ )
+ )
)
(block $do-once47
(if
(i32.lt_u
(get_local $21)
- (get_local $16)
+ (get_local $15)
)
(call $qa)
)
(br_if $do-once47
(i32.eq
+ (get_local $4)
(i32.load offset=12
(get_local $21)
)
- (get_local $4)
)
)
(call $qa)
@@ -4054,12 +4071,13 @@
(if
(i32.lt_u
(get_local $11)
- (get_local $16)
+ (get_local $15)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $4)
(i32.load
(tee_local $0
(i32.add
@@ -4068,7 +4086,6 @@
)
)
)
- (get_local $4)
)
(block
(set_local $43
@@ -4191,7 +4208,7 @@
(if
(i32.lt_u
(get_local $0)
- (get_local $16)
+ (get_local $15)
)
(call $qa)
(block
@@ -4213,12 +4230,13 @@
(get_local $4)
)
)
- (get_local $16)
+ (get_local $15)
)
(call $qa)
)
(if
(i32.ne
+ (get_local $4)
(i32.load
(tee_local $3
(i32.add
@@ -4227,12 +4245,12 @@
)
)
)
- (get_local $4)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $4)
(i32.load
(tee_local $18
(i32.add
@@ -4241,7 +4259,6 @@
)
)
)
- (get_local $4)
)
(block
(i32.store
@@ -4267,7 +4284,6 @@
)
(if
(i32.eq
- (get_local $4)
(i32.load
(tee_local $21
(i32.add
@@ -4283,6 +4299,7 @@
)
)
)
+ (get_local $4)
)
(block $do-once55
(i32.store
@@ -4321,6 +4338,7 @@
)
(if
(i32.eq
+ (get_local $4)
(i32.load
(tee_local $11
(i32.add
@@ -4329,7 +4347,6 @@
)
)
)
- (get_local $4)
)
(i32.store
(get_local $11)
@@ -4428,10 +4445,10 @@
(get_local $5)
)
)
- (set_local $15
+ (set_local $16
(i32.add
(get_local $5)
- (get_local $15)
+ (get_local $16)
)
)
)
@@ -4453,26 +4470,26 @@
(i32.store offset=4
(get_local $1)
(i32.or
- (get_local $15)
+ (get_local $16)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $1)
- (get_local $15)
+ (get_local $16)
)
- (get_local $15)
+ (get_local $16)
)
(set_local $0
(i32.shr_u
- (get_local $15)
+ (get_local $16)
(i32.const 3)
)
)
(if
(i32.lt_u
- (get_local $15)
+ (get_local $16)
(i32.const 256)
)
(block
@@ -4487,17 +4504,17 @@
)
(if
(i32.and
- (tee_local $11
- (i32.load
- (i32.const 1208)
- )
- )
(tee_local $0
(i32.shl
(i32.const 1)
(get_local $0)
)
)
+ (tee_local $11
+ (i32.load
+ (i32.const 1208)
+ )
+ )
)
(block $do-once59
(if
@@ -4532,8 +4549,8 @@
(i32.store
(i32.const 1208)
(i32.or
- (get_local $11)
(get_local $0)
+ (get_local $11)
)
)
(set_local $44
@@ -4573,93 +4590,96 @@
(if (result i32)
(tee_local $0
(i32.shr_u
- (get_local $15)
+ (get_local $16)
(i32.const 8)
)
)
(if (result i32)
(i32.gt_u
- (get_local $15)
+ (get_local $16)
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $15)
- (i32.add
- (tee_local $7
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $19
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $5
+ (i32.shl
+ (get_local $0)
+ (tee_local $11
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $16)
+ (i32.add
+ (tee_local $7
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $19
+ (tee_local $5
(i32.and
(i32.shr_u
(i32.add
- (tee_local $5
+ (tee_local $0
(i32.shl
- (get_local $0)
- (tee_local $11
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
+ (get_local $5)
+ (get_local $19)
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $11)
- )
- (tee_local $5
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $0
- (i32.shl
- (get_local $5)
- (get_local $19)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $11)
+ (get_local $19)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $0)
- (get_local $5)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $5)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $7)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $7)
- (i32.const 1)
)
)
)
@@ -4691,17 +4711,17 @@
(if
(i32.eqz
(i32.and
- (tee_local $2
- (i32.load
- (i32.const 1212)
- )
- )
(tee_local $7
(i32.shl
(i32.const 1)
(get_local $5)
)
)
+ (tee_local $2
+ (i32.load
+ (i32.const 1212)
+ )
+ )
)
)
(block
@@ -4733,7 +4753,7 @@
)
(set_local $7
(i32.shl
- (get_local $15)
+ (get_local $16)
(select
(i32.const 0)
(i32.sub
@@ -4762,13 +4782,13 @@
(block $while-out63 (result i32)
(if
(i32.eq
+ (get_local $16)
(i32.and
(i32.load offset=4
(get_local $2)
)
(i32.const -8)
)
- (get_local $15)
)
(block
(set_local $38
@@ -4936,19 +4956,19 @@
)
(if
(i32.gt_u
- (tee_local $15
+ (tee_local $16
(i32.add
- (get_local $1)
(i32.load offset=4
(get_local $30)
)
+ (get_local $1)
)
)
(get_local $12)
)
(block
(set_local $0
- (get_local $15)
+ (get_local $16)
)
(br $while-out65)
)
@@ -4962,17 +4982,6 @@
(br $while-in66)
)
)
- (set_local $15
- (i32.add
- (tee_local $17
- (i32.add
- (get_local $0)
- (i32.const -47)
- )
- )
- (i32.const 8)
- )
- )
(set_local $1
(i32.add
(tee_local $17
@@ -4980,26 +4989,36 @@
(get_local $12)
(tee_local $1
(i32.add
- (get_local $17)
(select
(i32.and
(i32.sub
(i32.const 0)
- (get_local $15)
+ (tee_local $16
+ (i32.add
+ (tee_local $17
+ (i32.add
+ (get_local $0)
+ (i32.const -47)
+ )
+ )
+ (i32.const 8)
+ )
+ )
)
(i32.const 7)
)
(i32.const 0)
(i32.and
- (get_local $15)
+ (get_local $16)
(i32.const 7)
)
)
+ (get_local $17)
)
)
(i32.lt_u
(get_local $1)
- (tee_local $15
+ (tee_local $16
(i32.add
(get_local $12)
(i32.const 16)
@@ -5015,7 +5034,6 @@
(i32.const 1232)
(tee_local $4
(i32.add
- (get_local $20)
(tee_local $14
(select
(i32.and
@@ -5037,6 +5055,7 @@
)
)
)
+ (get_local $20)
)
)
)
@@ -5149,8 +5168,8 @@
)
(if
(i32.ne
- (get_local $17)
(get_local $12)
+ (get_local $17)
)
(block
(i32.store
@@ -5201,17 +5220,17 @@
)
(if
(i32.and
- (tee_local $2
- (i32.load
- (i32.const 1208)
- )
- )
(tee_local $5
(i32.shl
(i32.const 1)
(get_local $4)
)
)
+ (tee_local $2
+ (i32.load
+ (i32.const 1208)
+ )
+ )
)
(if
(i32.lt_u
@@ -5294,83 +5313,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $1)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $14
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $5
+ (i32.shl
+ (get_local $14)
+ (tee_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $14)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $1)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $14
+ (tee_local $5
(i32.and
(i32.shr_u
(i32.add
- (tee_local $5
+ (tee_local $4
(i32.shl
+ (get_local $5)
(get_local $14)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $14)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $2)
- )
- (tee_local $5
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $4
- (i32.shl
- (get_local $5)
- (get_local $14)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $2)
+ (get_local $14)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $4)
- (get_local $5)
+ (i32.shr_u
+ (i32.shl
+ (get_local $4)
+ (get_local $5)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
)
@@ -5391,7 +5413,7 @@
(i32.const 0)
)
(i32.store
- (get_local $15)
+ (get_local $16)
(i32.const 0)
)
(if
@@ -5414,8 +5436,8 @@
(i32.store
(i32.const 1212)
(i32.or
- (get_local $5)
(get_local $4)
+ (get_local $5)
)
)
(i32.store
@@ -5468,13 +5490,13 @@
(block $while-out69 (result i32)
(if
(i32.eq
+ (get_local $1)
(i32.and
(i32.load offset=4
(get_local $5)
)
(i32.const -8)
)
- (get_local $1)
)
(block
(set_local $31
@@ -5695,7 +5717,6 @@
(i32.const 1232)
(tee_local $4
(i32.add
- (get_local $20)
(tee_local $14
(select
(i32.and
@@ -5717,6 +5738,7 @@
)
)
)
+ (get_local $20)
)
)
)
@@ -5741,8 +5763,8 @@
)
(i32.store offset=4
(i32.add
- (get_local $4)
(get_local $1)
+ (get_local $4)
)
(i32.const 40)
)
@@ -5777,12 +5799,12 @@
(i32.const 1232)
(tee_local $8
(i32.add
+ (get_local $6)
(tee_local $12
(i32.load
(i32.const 1232)
)
)
- (get_local $6)
)
)
)
@@ -5828,7 +5850,7 @@
(get_local $25)
)
(i32.add
- (get_local $15)
+ (get_local $16)
(i32.const 8)
)
)
@@ -5931,8 +5953,8 @@
)
(set_local $6
(i32.add
- (get_local $10)
(get_local $6)
+ (get_local $10)
)
)
(if
@@ -5949,10 +5971,10 @@
)
(if
(i32.eq
- (get_local $1)
(i32.load
(i32.const 1228)
)
+ (get_local $1)
)
(block
(if
@@ -6054,10 +6076,10 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load offset=12
(get_local $10)
)
- (get_local $1)
)
(call $qa)
)
@@ -6114,6 +6136,7 @@
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -6122,7 +6145,6 @@
)
)
)
- (get_local $1)
)
(set_local $9
(get_local $4)
@@ -6155,12 +6177,12 @@
)
(if
(i32.eq
+ (get_local $1)
(tee_local $0
(i32.load offset=12
(get_local $1)
)
)
- (get_local $1)
)
(block $do-once0
(if
@@ -6280,6 +6302,7 @@
)
(if
(i32.ne
+ (get_local $1)
(i32.load
(tee_local $9
(i32.add
@@ -6288,12 +6311,12 @@
)
)
)
- (get_local $1)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $4
(i32.add
@@ -6302,7 +6325,6 @@
)
)
)
- (get_local $1)
)
(block
(i32.store
@@ -6326,7 +6348,6 @@
(block
(if
(i32.eq
- (get_local $1)
(i32.load
(tee_local $3
(i32.add
@@ -6342,6 +6363,7 @@
)
)
)
+ (get_local $1)
)
(block
(i32.store
@@ -6390,6 +6412,7 @@
)
(if
(i32.eq
+ (get_local $1)
(i32.load
(tee_local $0
(i32.add
@@ -6398,7 +6421,6 @@
)
)
)
- (get_local $1)
)
(i32.store
(get_local $0)
@@ -6581,20 +6603,20 @@
(block (result i32)
(if
(i32.eq
- (get_local $8)
(i32.load
(i32.const 1232)
)
+ (get_local $8)
)
(block
(i32.store
(i32.const 1220)
(tee_local $5
(i32.add
+ (get_local $7)
(i32.load
(i32.const 1220)
)
- (get_local $7)
)
)
)
@@ -6611,10 +6633,10 @@
)
(if
(i32.ne
- (get_local $2)
(i32.load
(i32.const 1228)
)
+ (get_local $2)
)
(return)
)
@@ -6631,20 +6653,20 @@
)
(if
(i32.eq
- (get_local $8)
(i32.load
(i32.const 1228)
)
+ (get_local $8)
)
(block
(i32.store
(i32.const 1216)
(tee_local $5
(i32.add
+ (get_local $7)
(i32.load
(i32.const 1216)
)
- (get_local $7)
)
)
)
@@ -6671,11 +6693,11 @@
)
(set_local $5
(i32.add
+ (get_local $7)
(i32.and
(get_local $1)
(i32.const -8)
)
- (get_local $7)
)
)
(set_local $14
@@ -6698,11 +6720,6 @@
)
(if
(i32.ne
- (tee_local $12
- (i32.load offset=8
- (get_local $8)
- )
- )
(tee_local $4
(i32.add
(i32.shl
@@ -6712,6 +6729,11 @@
(i32.const 1248)
)
)
+ (tee_local $12
+ (i32.load offset=8
+ (get_local $8)
+ )
+ )
)
(block
(if
@@ -6725,10 +6747,10 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load offset=12
(get_local $12)
)
- (get_local $8)
)
(call $qa)
)
@@ -6781,6 +6803,7 @@
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $4
(i32.add
@@ -6789,7 +6812,6 @@
)
)
)
- (get_local $8)
)
(set_local $17
(get_local $4)
@@ -6815,12 +6837,12 @@
)
(if
(i32.eq
+ (get_local $8)
(tee_local $3
(i32.load offset=12
(get_local $8)
)
)
- (get_local $8)
)
(block $do-once6
(set_local $7
@@ -6936,6 +6958,7 @@
)
(if
(i32.ne
+ (get_local $8)
(i32.load
(tee_local $9
(i32.add
@@ -6944,12 +6967,12 @@
)
)
)
- (get_local $8)
)
(call $qa)
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $4
(i32.add
@@ -6958,7 +6981,6 @@
)
)
)
- (get_local $8)
)
(block
(i32.store
@@ -6982,7 +7004,6 @@
(block
(if
(i32.eq
- (get_local $8)
(i32.load
(tee_local $6
(i32.add
@@ -6998,6 +7019,7 @@
)
)
)
+ (get_local $8)
)
(block
(i32.store
@@ -7040,6 +7062,7 @@
)
(if
(i32.eq
+ (get_local $8)
(i32.load
(tee_local $3
(i32.add
@@ -7048,7 +7071,6 @@
)
)
)
- (get_local $8)
)
(i32.store
(get_local $3)
@@ -7157,10 +7179,10 @@
)
(if (result i32)
(i32.eq
- (get_local $2)
(i32.load
(i32.const 1228)
)
+ (get_local $2)
)
(block
(i32.store
@@ -7236,8 +7258,8 @@
(i32.store
(i32.const 1208)
(i32.or
- (get_local $6)
(get_local $5)
+ (get_local $6)
)
)
(set_local $15
@@ -7287,83 +7309,86 @@
(i32.const 16777215)
)
(i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $0)
- (i32.add
- (tee_local $5
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (block (result i32)
+ (set_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $15
+ (i32.shl
+ (get_local $1)
+ (tee_local $13
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $1)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $0)
+ (i32.add
+ (tee_local $5
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $1
+ (tee_local $15
(i32.and
(i32.shr_u
(i32.add
- (tee_local $15
+ (tee_local $6
(i32.shl
+ (get_local $15)
(get_local $1)
- (tee_local $13
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $1)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
)
)
- (i32.const 520192)
+ (i32.const 245760)
)
(i32.const 16)
)
- (i32.const 4)
+ (i32.const 2)
)
)
- (get_local $13)
- )
- (tee_local $15
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $6
- (i32.shl
- (get_local $15)
- (get_local $1)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
+ (i32.or
+ (get_local $1)
+ (get_local $13)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $6)
- (get_local $15)
+ (i32.shr_u
+ (i32.shl
+ (get_local $6)
+ (get_local $15)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $5)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $5)
- (i32.const 1)
)
)
)
@@ -7389,17 +7414,17 @@
)
(if
(i32.and
- (tee_local $15
- (i32.load
- (i32.const 1212)
- )
- )
(tee_local $6
(i32.shl
(i32.const 1)
(get_local $7)
)
)
+ (tee_local $15
+ (i32.load
+ (i32.const 1212)
+ )
+ )
)
(block
(set_local $13
@@ -7433,13 +7458,13 @@
(block $while-out14 (result i32)
(if
(i32.eq
+ (get_local $0)
(i32.and
(i32.load offset=4
(get_local $1)
)
(i32.const -8)
)
- (get_local $0)
)
(block
(set_local $16
@@ -7584,8 +7609,8 @@
(i32.store
(i32.const 1212)
(i32.or
- (get_local $15)
(get_local $6)
+ (get_local $15)
)
)
(i32.store
@@ -7742,8 +7767,8 @@
)
(set_local $4
(i32.add
- (get_local $9)
(get_local $2)
+ (get_local $9)
)
)
(loop $while-in
@@ -7900,10 +7925,10 @@
(i32.store
(get_local $7)
(i32.add
+ (get_local $6)
(i32.load
(get_local $7)
)
- (get_local $6)
)
)
(set_local $3
@@ -7919,10 +7944,10 @@
(i32.store
(get_local $5)
(i32.add
+ (get_local $6)
(i32.load
(get_local $5)
)
- (get_local $6)
)
)
(i32.store offset=4
@@ -8208,15 +8233,15 @@
(i32.store
(get_local $4)
(i32.add
+ (get_local $1)
(i32.load
(get_local $4)
)
- (get_local $1)
)
)
(i32.add
- (get_local $3)
(get_local $1)
+ (get_local $3)
)
)
)
@@ -8297,21 +8322,21 @@
(loop $while-in1 (result i32)
(if (result i32)
(i32.and
+ (i32.add
+ (tee_local $1
+ (i32.load
+ (get_local $2)
+ )
+ )
+ (i32.const -16843009)
+ )
(i32.xor
(i32.and
- (tee_local $1
- (i32.load
- (get_local $2)
- )
- )
+ (get_local $1)
(i32.const -2139062144)
)
(i32.const -2139062144)
)
- (i32.add
- (get_local $1)
- (i32.const -16843009)
- )
)
(get_local $2)
(block
@@ -8951,11 +8976,11 @@
(i32.or
(i32.or
(i32.or
- (get_local $1)
(i32.shl
(get_local $1)
(i32.const 8)
)
+ (get_local $1)
)
(i32.shl
(get_local $1)
@@ -9126,11 +9151,11 @@
(i32.store8
(get_local $1)
(i32.or
+ (get_local $2)
(i32.add
(get_local $2)
(i32.const 255)
)
- (get_local $2)
)
)
(tee_local $0
@@ -9177,10 +9202,10 @@
(i32.store offset=16
(get_local $0)
(i32.add
- (get_local $1)
(i32.load offset=48
(get_local $0)
)
+ (get_local $1)
)
)
(i32.const 0)
@@ -9199,6 +9224,7 @@
)
(if
(i32.ne
+ (get_local $3)
(tee_local $0
(call $Wa
(get_local $0)
@@ -9206,7 +9232,6 @@
(get_local $2)
)
)
- (get_local $3)
)
(set_local $4
(i32.div_u
@@ -9437,8 +9462,8 @@
)
(set_global $r
(i32.add
- (get_global $r)
(get_local $0)
+ (get_global $r)
)
)
(set_global $r
diff --git a/test/noffi_i64.fromasm b/test/noffi_i64.fromasm
index 2e2c5b989..5c08d6009 100644
--- a/test/noffi_i64.fromasm
+++ b/test/noffi_i64.fromasm
@@ -8,8 +8,8 @@
(export "_main" (func $main))
(func $add (; 1 ;) (; has Stack IR ;) (param $0 i64) (param $1 i64) (result i64)
(i64.add
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(func $main (; 2 ;) (; has Stack IR ;) (result i32)
diff --git a/test/noffi_i64.fromasm.clamp b/test/noffi_i64.fromasm.clamp
index 2e2c5b989..5c08d6009 100644
--- a/test/noffi_i64.fromasm.clamp
+++ b/test/noffi_i64.fromasm.clamp
@@ -8,8 +8,8 @@
(export "_main" (func $main))
(func $add (; 1 ;) (; has Stack IR ;) (param $0 i64) (param $1 i64) (result i64)
(i64.add
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(func $main (; 2 ;) (; has Stack IR ;) (result i32)
diff --git a/test/noffi_i64.fromasm.imprecise b/test/noffi_i64.fromasm.imprecise
index 7cdc838fb..e91328184 100644
--- a/test/noffi_i64.fromasm.imprecise
+++ b/test/noffi_i64.fromasm.imprecise
@@ -5,8 +5,8 @@
(export "_main" (func $main))
(func $add (; 1 ;) (; has Stack IR ;) (param $0 i64) (param $1 i64) (result i64)
(i64.add
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(func $main (; 2 ;) (; has Stack IR ;) (result i32)
diff --git a/test/passes/O.bin.txt b/test/passes/O.bin.txt
index ae3bda836..468615c7d 100644
--- a/test/passes/O.bin.txt
+++ b/test/passes/O.bin.txt
@@ -13,13 +13,13 @@
)
(i64.const 1)
(i64.mul
- (get_local $0)
(call $0
(i64.sub
(get_local $0)
(i64.const 1)
)
)
+ (get_local $0)
)
)
)
@@ -31,13 +31,13 @@
)
(i64.const 1)
(i64.mul
- (get_local $0)
(call $1
(i64.sub
(get_local $0)
(i64.const 1)
)
)
+ (get_local $0)
)
)
)
@@ -87,8 +87,8 @@
(loop $label$3
(set_local $1
(i64.mul
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
(br_if $label$3
diff --git a/test/passes/inlining-optimizing_optimize-level=3.txt b/test/passes/inlining-optimizing_optimize-level=3.txt
index 5e498c475..0a2d39db3 100644
--- a/test/passes/inlining-optimizing_optimize-level=3.txt
+++ b/test/passes/inlining-optimizing_optimize-level=3.txt
@@ -2460,8 +2460,8 @@
)
(if
(i32.ne
- (get_local $10)
(get_local $5)
+ (get_local $10)
)
(block
(set_local $5
@@ -3305,3514 +3305,3509 @@
)
)
)
- (set_local $5
- (block $__rjto$8 (result i32)
- (block $__rjti$8
- (block $__rjti$7
- (block $__rjti$6
- (block $__rjti$5
- (block $__rjti$4
- (block $__rjti$3
- (block $switch-default120
- (block $switch-case42
- (block $switch-case41
- (block $switch-case40
- (block $switch-case39
- (block $switch-case38
- (block $switch-case37
- (block $switch-case36
- (block $switch-case34
- (block $switch-case33
- (block $switch-case29
- (block $switch-case28
- (block $switch-case27
- (br_table $switch-case42 $switch-default120 $switch-case40 $switch-default120 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case29 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case42 $switch-default120 $switch-case37 $switch-case34 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-case34 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case29 $switch-default120
- (i32.sub
- (tee_local $19
- (select
- (i32.and
- (tee_local $11
- (i32.load8_s
- (get_local $19)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (tee_local $6
+ (select
+ (tee_local $5
+ (i32.add
+ (tee_local $11
+ (select
+ (tee_local $13
+ (i32.sub
+ (block $__rjto$8 (result i32)
+ (block $__rjti$8
+ (block $__rjti$7
+ (block $__rjti$6
+ (block $__rjti$5
+ (block $__rjti$4
+ (block $__rjti$3
+ (block $switch-default120
+ (block $switch-case42
+ (block $switch-case41
+ (block $switch-case40
+ (block $switch-case39
+ (block $switch-case38
+ (block $switch-case37
+ (block $switch-case36
+ (block $switch-case34
+ (block $switch-case33
+ (block $switch-case29
+ (block $switch-case28
+ (block $switch-case27
+ (br_table $switch-case42 $switch-default120 $switch-case40 $switch-default120 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case29 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case42 $switch-default120 $switch-case37 $switch-case34 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-case34 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case29 $switch-default120
+ (i32.sub
+ (tee_local $19
+ (select
+ (i32.and
+ (tee_local $11
+ (i32.load8_s
+ (get_local $19)
+ )
+ )
+ (i32.const -33)
+ )
+ (get_local $11)
+ (i32.and
+ (i32.eq
+ (i32.and
+ (get_local $11)
+ (i32.const 15)
+ )
+ (i32.const 3)
+ )
+ (i32.ne
+ (get_local $9)
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (i32.const 65)
+ )
+ )
+ )
+ (block $switch-default26
+ (block $switch-case25
+ (block $switch-case24
+ (block $switch-case23
+ (block $switch-case22
+ (block $switch-case21
+ (block $switch-case20
+ (block $switch-case19
+ (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
+ (get_local $9)
+ )
+ )
+ (i32.store
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (tee_local $5
+ (i32.load
+ (get_local $14)
+ )
+ )
+ (get_local $17)
+ )
+ (i32.store offset=4
+ (get_local $5)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $17)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store16
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store8
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (i32.load
+ (get_local $14)
+ )
+ (get_local $17)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (tee_local $5
+ (i32.load
+ (get_local $14)
+ )
+ )
+ (get_local $17)
+ )
+ (i32.store offset=4
+ (get_local $5)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $17)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (br $label$continue$L1)
)
- )
- (i32.const -33)
- )
- (get_local $11)
- (i32.and
- (i32.ne
- (get_local $9)
- (i32.const 0)
- )
- (i32.eq
- (i32.and
- (get_local $11)
- (i32.const 15)
+ (set_local $7
+ (i32.or
+ (get_local $12)
+ (i32.const 8)
+ )
+ )
+ (set_local $6
+ (select
+ (get_local $6)
+ (i32.const 8)
+ (i32.gt_u
+ (get_local $6)
+ (i32.const 8)
+ )
+ )
)
- (i32.const 3)
+ (set_local $19
+ (i32.const 120)
+ )
+ (br $__rjti$3)
+ )
+ (set_local $7
+ (get_local $12)
)
+ (br $__rjti$3)
)
- )
- )
- (i32.const 65)
- )
- )
- )
- (block $switch-default26
- (block $switch-case25
- (block $switch-case24
- (block $switch-case23
- (block $switch-case22
- (block $switch-case21
- (block $switch-case20
- (block $switch-case19
- (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
- (get_local $9)
+ (if
+ (i32.or
+ (tee_local $7
+ (i32.load
+ (get_local $14)
)
)
- (i32.store
- (i32.load
+ (tee_local $8
+ (i32.load offset=4
(get_local $14)
)
- (get_local $17)
)
+ )
+ (block
(set_local $5
- (get_local $10)
- )
- (set_local $10
(get_local $7)
)
- (br $label$continue$L1)
- )
- (i32.store
- (i32.load
- (get_local $14)
+ (set_local $7
+ (get_local $8)
+ )
+ (set_local $8
+ (get_local $25)
+ )
+ (loop $while-in32
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $8)
+ (i32.const -1)
+ )
+ )
+ (i32.or
+ (i32.and
+ (get_local $5)
+ (i32.const 7)
+ )
+ (i32.const 48)
+ )
+ )
+ (br_if $while-in32
+ (i32.or
+ (tee_local $5
+ (call $_bitshift64Lshr
+ (get_local $5)
+ (get_local $7)
+ (i32.const 3)
+ )
+ )
+ (tee_local $7
+ (get_global $tempRet0)
+ )
+ )
+ )
)
- (get_local $17)
- )
- (set_local $5
- (get_local $10)
)
- (set_local $10
- (get_local $7)
+ (set_local $8
+ (get_local $25)
)
- (br $label$continue$L1)
)
- (i32.store
- (tee_local $5
- (i32.load
- (get_local $14)
- )
+ (if
+ (i32.and
+ (get_local $12)
+ (i32.const 8)
)
- (get_local $17)
- )
- (i32.store offset=4
- (get_local $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $17)
- (i32.const 0)
+ (block
+ (set_local $7
+ (get_local $12)
+ )
+ (set_local $6
+ (select
+ (tee_local $12
+ (i32.add
+ (i32.sub
+ (get_local $39)
+ (get_local $8)
+ )
+ (i32.const 1)
+ )
+ )
+ (get_local $6)
+ (i32.lt_s
+ (get_local $6)
+ (get_local $12)
+ )
)
- (i32.const 31)
)
- (i32.const 31)
+ )
+ (set_local $7
+ (get_local $12)
)
)
(set_local $5
- (get_local $10)
+ (get_local $8)
)
- (set_local $10
- (get_local $7)
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
)
- (br $label$continue$L1)
+ (br $__rjti$8)
)
- (i32.store16
+ (set_local $5
(i32.load
(get_local $14)
)
- (get_local $17)
)
- (set_local $5
- (get_local $10)
+ (if
+ (i32.lt_s
+ (tee_local $7
+ (i32.load offset=4
+ (get_local $14)
+ )
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_global $tempRet0
+ (i32.sub
+ (i32.sub
+ (i32.const 0)
+ (get_local $7)
+ )
+ (i32.gt_u
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.store
+ (get_local $14)
+ (tee_local $5
+ (i32.sub
+ (i32.const 0)
+ (get_local $5)
+ )
+ )
+ )
+ (i32.store offset=4
+ (get_local $14)
+ (tee_local $7
+ (get_global $tempRet0)
+ )
+ )
+ (set_local $8
+ (i32.const 1)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjti$4)
+ )
)
- (set_local $10
- (get_local $7)
+ (set_local $9
+ (if (result i32)
+ (i32.and
+ (get_local $12)
+ (i32.const 2048)
+ )
+ (block (result i32)
+ (set_local $8
+ (i32.const 1)
+ )
+ (i32.const 4092)
+ )
+ (block (result i32)
+ (set_local $8
+ (tee_local $9
+ (i32.and
+ (get_local $12)
+ (i32.const 1)
+ )
+ )
+ )
+ (select
+ (i32.const 4093)
+ (i32.const 4091)
+ (get_local $9)
+ )
+ )
+ )
)
- (br $label$continue$L1)
+ (br $__rjti$4)
)
- (i32.store8
+ (set_local $5
(i32.load
(get_local $14)
)
- (get_local $17)
)
- (set_local $5
- (get_local $10)
+ (set_local $7
+ (i32.load offset=4
+ (get_local $14)
+ )
)
- (set_local $10
- (get_local $7)
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
)
- (br $label$continue$L1)
+ (br $__rjti$4)
)
- (i32.store
- (i32.load
+ (drop
+ (i32.load offset=4
(get_local $14)
)
- (get_local $17)
)
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (get_local $7)
- )
- (br $label$continue$L1)
- )
- (i32.store
- (tee_local $5
+ (i32.store8
+ (get_local $40)
(i32.load
(get_local $14)
)
)
- (get_local $17)
- )
- (i32.store offset=4
- (get_local $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $17)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
+ (set_local $7
+ (get_local $40)
+ )
+ (set_local $12
+ (get_local $8)
+ )
+ (set_local $11
+ (i32.const 1)
+ )
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjto$8
+ (get_local $25)
)
)
(set_local $5
- (get_local $10)
- )
- (set_local $10
- (get_local $7)
+ (call $_strerror
+ (i32.load
+ (call $___errno_location)
+ )
+ )
)
- (br $label$continue$L1)
+ (br $__rjti$5)
)
(set_local $5
- (get_local $10)
- )
- (set_local $10
- (get_local $7)
- )
- (br $label$continue$L1)
- )
- (set_local $7
- (i32.or
- (get_local $12)
- (i32.const 8)
- )
- )
- (set_local $6
- (select
- (get_local $6)
- (i32.const 8)
- (i32.gt_u
- (get_local $6)
- (i32.const 8)
+ (select
+ (tee_local $5
+ (i32.load
+ (get_local $14)
+ )
+ )
+ (i32.const 4101)
+ (get_local $5)
)
)
+ (br $__rjti$5)
)
- (set_local $19
- (i32.const 120)
- )
- (br $__rjti$3)
- )
- (set_local $7
- (get_local $12)
- )
- (br $__rjti$3)
- )
- (if
- (i32.or
- (tee_local $7
- (i32.load
+ (drop
+ (i32.load offset=4
(get_local $14)
)
)
- (tee_local $8
- (i32.load offset=4
+ (i32.store
+ (get_local $41)
+ (i32.load
(get_local $14)
)
)
- )
- (block
- (set_local $5
- (get_local $7)
+ (i32.store
+ (get_local $44)
+ (i32.const 0)
)
- (set_local $7
- (get_local $8)
+ (i32.store
+ (get_local $14)
+ (get_local $41)
)
(set_local $8
- (get_local $25)
- )
- (loop $while-in32
- (i32.store8
- (tee_local $8
- (i32.add
- (get_local $8)
- (i32.const -1)
- )
- )
- (i32.or
- (i32.and
- (get_local $5)
- (i32.const 7)
- )
- (i32.const 48)
- )
- )
- (br_if $while-in32
- (i32.or
- (tee_local $5
- (call $_bitshift64Lshr
- (get_local $5)
- (get_local $7)
- (i32.const 3)
- )
- )
- (tee_local $7
- (get_global $tempRet0)
- )
- )
- )
+ (i32.const -1)
)
+ (br $__rjti$6)
)
- (set_local $8
- (get_local $25)
- )
- )
- (if
- (i32.and
- (get_local $12)
- (i32.const 8)
- )
- (block
- (set_local $7
- (get_local $12)
- )
- (set_local $6
- (select
- (tee_local $12
- (i32.add
- (i32.sub
- (get_local $39)
- (get_local $8)
- )
- (i32.const 1)
- )
- )
+ (if
+ (get_local $6)
+ (block
+ (set_local $8
(get_local $6)
- (i32.lt_s
- (get_local $6)
- (get_local $12)
- )
)
+ (br $__rjti$6)
)
- )
- (set_local $7
- (get_local $12)
- )
- )
- (set_local $5
- (get_local $8)
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$8)
- )
- (set_local $5
- (i32.load
- (get_local $14)
- )
- )
- (if
- (i32.lt_s
- (tee_local $7
- (i32.load offset=4
- (get_local $14)
- )
- )
- (i32.const 0)
- )
- (block
- (set_global $tempRet0
- (i32.sub
- (i32.sub
- (i32.const 0)
- (get_local $7)
- )
- (i32.gt_u
- (get_local $5)
+ (block
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
(i32.const 0)
+ (get_local $12)
)
- )
- )
- (i32.store
- (get_local $14)
- (tee_local $5
- (i32.sub
+ (set_local $7
(i32.const 0)
- (get_local $5)
)
+ (br $__rjti$7)
)
)
- (i32.store offset=4
- (get_local $14)
- (tee_local $7
- (get_global $tempRet0)
- )
- )
- (set_local $8
- (i32.const 1)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$4)
)
- )
- (set_local $9
- (if (result i32)
- (i32.and
- (get_local $12)
- (i32.const 2048)
- )
- (block (result i32)
- (set_local $8
- (i32.const 1)
- )
- (i32.const 4092)
- )
- (block (result i32)
- (set_local $8
- (tee_local $9
- (i32.and
- (get_local $12)
- (i32.const 1)
- )
- )
- )
- (select
- (i32.const 4093)
- (i32.const 4091)
- (get_local $9)
- )
+ (set_local $15
+ (f64.load
+ (get_local $14)
)
)
- )
- (br $__rjti$4)
- )
- (set_local $5
- (i32.load
- (get_local $14)
- )
- )
- (set_local $7
- (i32.load offset=4
- (get_local $14)
- )
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$4)
- )
- (drop
- (i32.load offset=4
- (get_local $14)
- )
- )
- (i32.store8
- (get_local $40)
- (i32.load
- (get_local $14)
- )
- )
- (set_local $7
- (get_local $40)
- )
- (set_local $12
- (get_local $8)
- )
- (set_local $11
- (i32.const 1)
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjto$8
- (get_local $25)
- )
- )
- (set_local $5
- (call $_strerror
- (i32.load
- (call $___errno_location)
- )
- )
- )
- (br $__rjti$5)
- )
- (set_local $5
- (select
- (tee_local $5
- (i32.load
- (get_local $14)
- )
- )
- (i32.const 4101)
- (get_local $5)
- )
- )
- (br $__rjti$5)
- )
- (drop
- (i32.load offset=4
- (get_local $14)
- )
- )
- (i32.store
- (get_local $41)
- (i32.load
- (get_local $14)
- )
- )
- (i32.store
- (get_local $44)
- (i32.const 0)
- )
- (i32.store
- (get_local $14)
- (get_local $41)
- )
- (set_local $8
- (i32.const -1)
- )
- (br $__rjti$6)
- )
- (if
- (get_local $6)
- (block
- (set_local $8
- (get_local $6)
- )
- (br $__rjti$6)
- )
- (block
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (i32.const 0)
- (get_local $12)
- )
- (set_local $7
- (i32.const 0)
- )
- (br $__rjti$7)
- )
- )
- )
- (set_local $15
- (f64.load
- (get_local $14)
- )
- )
- (i32.store
- (get_local $21)
- (i32.const 0)
- )
- (f64.store
- (get_global $tempDoublePtr)
- (get_local $15)
- )
- (drop
- (i32.load
- (get_global $tempDoublePtr)
- )
- )
- (set_local $30
- (if (result i32)
- (i32.lt_s
- (i32.load offset=4
- (get_global $tempDoublePtr)
- )
- (i32.const 0)
- )
- (block (result i32)
- (set_local $27
- (i32.const 1)
- )
- (set_local $15
- (f64.neg
- (get_local $15)
- )
- )
- (i32.const 4108)
- )
- (if (result i32)
- (i32.and
- (get_local $12)
- (i32.const 2048)
- )
- (block (result i32)
- (set_local $27
- (i32.const 1)
- )
- (i32.const 4111)
- )
- (block (result i32)
- (set_local $27
- (tee_local $5
- (i32.and
- (get_local $12)
- (i32.const 1)
- )
- )
- )
- (select
- (i32.const 4114)
- (i32.const 4109)
- (get_local $5)
- )
- )
- )
- )
- )
- (f64.store
- (get_global $tempDoublePtr)
- (get_local $15)
- )
- (drop
- (i32.load
- (get_global $tempDoublePtr)
- )
- )
- (set_local $7
- (if (result i32)
- (i32.lt_u
- (i32.and
- (i32.load offset=4
- (get_global $tempDoublePtr)
- )
- (i32.const 2146435072)
- )
- (i32.const 2146435072)
- )
- (block $do-once49 (result i32)
- (if
- (tee_local $5
- (f64.ne
- (tee_local $23
- (f64.mul
- (call $_frexp
- (get_local $15)
+ (i32.store
(get_local $21)
+ (i32.const 0)
)
- (f64.const 2)
- )
- )
- (f64.const 0)
- )
- )
- (i32.store
- (get_local $21)
- (i32.add
- (i32.load
- (get_local $21)
- )
- (i32.const -1)
- )
- )
- )
- (if
- (i32.eq
- (tee_local $24
- (i32.or
- (get_local $19)
- (i32.const 32)
- )
- )
- (i32.const 97)
- )
- (block
- (set_local $9
- (select
- (i32.add
- (get_local $30)
- (i32.const 9)
- )
- (get_local $30)
- (tee_local $13
- (i32.and
- (get_local $19)
- (i32.const 32)
- )
- )
- )
- )
- (set_local $15
- (if (result f64)
- (i32.or
- (i32.gt_u
- (get_local $6)
- (i32.const 11)
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $15)
)
- (i32.eqz
- (tee_local $5
- (i32.sub
- (i32.const 12)
- (get_local $6)
- )
+ (drop
+ (i32.load
+ (get_global $tempDoublePtr)
)
)
- )
- (get_local $23)
- (block (result f64)
- (set_local $15
- (f64.const 8)
- )
- (loop $while-in54
- (set_local $15
- (f64.mul
- (get_local $15)
- (f64.const 16)
- )
- )
- (br_if $while-in54
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
+ (set_local $30
+ (if (result i32)
+ (i32.lt_s
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
)
+ (i32.const 0)
)
- )
- )
- (if (result f64)
- (i32.eq
- (i32.load8_s
- (get_local $9)
- )
- (i32.const 45)
- )
- (f64.neg
- (f64.add
- (get_local $15)
- (f64.sub
- (f64.neg
- (get_local $23)
- )
- (get_local $15)
+ (block (result i32)
+ (set_local $27
+ (i32.const 1)
)
- )
- )
- (f64.sub
- (f64.add
- (get_local $23)
- (get_local $15)
- )
- (get_local $15)
- )
- )
- )
- )
- )
- (if
- (i32.eq
- (tee_local $5
- (call $_fmt_u
- (tee_local $5
- (select
- (i32.sub
- (i32.const 0)
- (tee_local $7
- (i32.load
- (get_local $21)
- )
+ (set_local $15
+ (f64.neg
+ (get_local $15)
)
)
- (get_local $7)
- (i32.lt_s
- (get_local $7)
- (i32.const 0)
- )
+ (i32.const 4108)
)
- )
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
+ (if (result i32)
+ (i32.and
+ (get_local $12)
+ (i32.const 2048)
)
- (i32.const 31)
- )
- (i32.const 31)
- )
- (get_local $26)
- )
- )
- (get_local $26)
- )
- (block
- (i32.store8
- (get_local $42)
- (i32.const 48)
- )
- (set_local $5
- (get_local $42)
- )
- )
- )
- (set_local $11
- (i32.or
- (get_local $27)
- (i32.const 2)
- )
- )
- (i32.store8
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $7)
- (i32.const 31)
- )
- (i32.const 2)
- )
- (i32.const 43)
- )
- )
- (i32.store8
- (tee_local $8
- (i32.add
- (get_local $5)
- (i32.const -2)
- )
- )
- (i32.add
- (get_local $19)
- (i32.const 15)
- )
- )
- (set_local $19
- (i32.lt_s
- (get_local $6)
- (i32.const 1)
- )
- )
- (set_local $18
- (i32.eqz
- (i32.and
- (get_local $12)
- (i32.const 8)
- )
- )
- )
- (set_local $5
- (get_local $22)
- )
- (loop $while-in56
- (i32.store8
- (get_local $5)
- (i32.or
- (i32.load8_u
- (i32.add
- (tee_local $7
- (if (result i32)
- (f64.ne
- (get_local $15)
- (get_local $15)
+ (block (result i32)
+ (set_local $27
+ (i32.const 1)
)
- (i32.const -2147483648)
- (if (result i32)
- (f64.ge
- (get_local $15)
- (f64.const 2147483648)
- )
- (i32.const -2147483648)
- (if (result i32)
- (f64.le
- (get_local $15)
- (f64.const -2147483649)
- )
- (i32.const -2147483648)
- (i32.trunc_s/f64
- (get_local $15)
+ (i32.const 4111)
+ )
+ (block (result i32)
+ (set_local $27
+ (tee_local $5
+ (i32.and
+ (get_local $12)
+ (i32.const 1)
)
)
)
+ (select
+ (i32.const 4114)
+ (i32.const 4109)
+ (get_local $5)
+ )
)
)
- (i32.const 4075)
)
)
- (get_local $13)
- )
- )
- (set_local $15
- (f64.mul
- (f64.sub
+ (f64.store
+ (get_global $tempDoublePtr)
(get_local $15)
- (f64.convert_s/i32
- (get_local $7)
- )
)
- (f64.const 16)
- )
- )
- (set_local $5
- (if (result i32)
- (i32.eq
- (i32.sub
- (tee_local $7
- (i32.add
- (get_local $5)
- (i32.const 1)
- )
- )
- (get_local $36)
- )
- (i32.const 1)
- )
- (if (result i32)
- (i32.and
- (get_local $18)
- (i32.and
- (get_local $19)
- (f64.eq
- (get_local $15)
- (f64.const 0)
- )
- )
- )
- (get_local $7)
- (block (result i32)
- (i32.store8
- (get_local $7)
- (i32.const 46)
- )
- (i32.add
- (get_local $5)
- (i32.const 2)
- )
+ (drop
+ (i32.load
+ (get_global $tempDoublePtr)
)
)
- (get_local $7)
- )
- )
- (br_if $while-in56
- (f64.ne
- (get_local $15)
- (f64.const 0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (tee_local $7
- (i32.add
- (tee_local $6
- (select
- (i32.sub
- (i32.add
- (get_local $47)
- (get_local $6)
- )
- (get_local $8)
- )
- (i32.add
- (i32.sub
- (get_local $45)
- (get_local $8)
- )
- (get_local $5)
- )
- (i32.and
- (i32.ne
- (get_local $6)
- (i32.const 0)
- )
- (i32.lt_s
- (i32.add
- (get_local $46)
- (get_local $5)
+ (set_local $7
+ (if (result i32)
+ (i32.lt_u
+ (i32.and
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
)
- (get_local $6)
+ (i32.const 2146435072)
)
+ (i32.const 2146435072)
)
- )
- )
- (get_local $11)
- )
- )
- (get_local $12)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $9)
- (get_local $11)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $16)
- (get_local $7)
- (i32.xor
- (get_local $12)
- (i32.const 65536)
- )
- )
- (set_local $5
- (i32.sub
- (get_local $5)
- (get_local $36)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $22)
- (get_local $5)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.sub
- (get_local $6)
- (i32.add
- (get_local $5)
- (tee_local $5
- (i32.sub
- (get_local $26)
- (get_local $8)
- )
- )
- )
- )
- (i32.const 0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $8)
- (get_local $5)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $7)
- (i32.xor
- (get_local $12)
- (i32.const 8192)
- )
- )
- (br $do-once49
- (select
- (get_local $16)
- (get_local $7)
- (i32.lt_s
- (get_local $7)
- (get_local $16)
- )
- )
- )
- )
- )
- (set_local $15
- (if (result f64)
- (get_local $5)
- (block (result f64)
- (i32.store
- (get_local $21)
- (tee_local $5
- (i32.add
- (i32.load
- (get_local $21)
- )
- (i32.const -28)
- )
- )
- )
- (f64.mul
- (get_local $23)
- (f64.const 268435456)
- )
- )
- (block (result f64)
- (set_local $5
- (i32.load
- (get_local $21)
- )
- )
- (get_local $23)
- )
- )
- )
- (set_local $7
- (tee_local $8
- (select
- (get_local $48)
- (get_local $49)
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- )
- )
- )
- (loop $while-in60
- (i32.store
- (get_local $7)
- (tee_local $5
- (if (result i32)
- (f64.ne
- (get_local $15)
- (get_local $15)
- )
- (i32.const -2147483648)
- (if (result i32)
- (f64.ge
- (get_local $15)
- (f64.const 2147483648)
- )
- (i32.const -2147483648)
- (if (result i32)
- (f64.le
- (get_local $15)
- (f64.const -2147483649)
- )
- (i32.const -2147483648)
- (i32.trunc_s/f64
- (get_local $15)
- )
- )
- )
- )
- )
- )
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (br_if $while-in60
- (f64.ne
- (tee_local $15
- (f64.mul
- (f64.sub
- (get_local $15)
- (f64.convert_u/i32
- (get_local $5)
- )
- )
- (f64.const 1e9)
- )
- )
- (f64.const 0)
- )
- )
- )
- (if
- (i32.gt_s
- (tee_local $9
- (i32.load
- (get_local $21)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $5
- (get_local $8)
- )
- (loop $while-in62
- (set_local $13
- (select
- (i32.const 29)
- (get_local $9)
- (i32.gt_s
- (get_local $9)
- (i32.const 29)
- )
- )
- )
- (if
- (i32.ge_u
- (tee_local $9
- (i32.add
- (get_local $7)
- (i32.const -4)
- )
- )
- (get_local $5)
- )
- (block $do-once63
- (set_local $11
- (i32.const 0)
- )
- (loop $while-in66
- (i32.store
- (get_local $9)
- (call $___uremdi3
- (block (result i32)
- (set_local $20
- (call $_bitshift64Shl
+ (block $do-once49 (result i32)
+ (if
+ (tee_local $5
+ (f64.ne
+ (tee_local $23
+ (f64.mul
+ (call $_frexp
+ (get_local $15)
+ (get_local $21)
+ )
+ (f64.const 2)
+ )
+ )
+ (f64.const 0)
+ )
+ )
+ (i32.store
+ (get_local $21)
+ (i32.add
(i32.load
- (get_local $9)
+ (get_local $21)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $24
+ (i32.or
+ (get_local $19)
+ (i32.const 32)
+ )
+ )
+ (i32.const 97)
+ )
+ (block
+ (set_local $9
+ (select
+ (i32.add
+ (get_local $30)
+ (i32.const 9)
+ )
+ (get_local $30)
+ (tee_local $13
+ (i32.and
+ (get_local $19)
+ (i32.const 32)
+ )
+ )
+ )
+ )
+ (set_local $15
+ (if (result f64)
+ (i32.or
+ (i32.eqz
+ (tee_local $5
+ (i32.sub
+ (i32.const 12)
+ (get_local $6)
+ )
+ )
+ )
+ (i32.gt_u
+ (get_local $6)
+ (i32.const 11)
+ )
+ )
+ (get_local $23)
+ (block (result f64)
+ (set_local $15
+ (f64.const 8)
+ )
+ (loop $while-in54
+ (set_local $15
+ (f64.mul
+ (get_local $15)
+ (f64.const 16)
+ )
+ )
+ (br_if $while-in54
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ )
+ )
+ (if (result f64)
+ (i32.eq
+ (i32.load8_s
+ (get_local $9)
+ )
+ (i32.const 45)
+ )
+ (f64.neg
+ (f64.add
+ (get_local $15)
+ (f64.sub
+ (f64.neg
+ (get_local $23)
+ )
+ (get_local $15)
+ )
+ )
+ )
+ (f64.sub
+ (f64.add
+ (get_local $23)
+ (get_local $15)
+ )
+ (get_local $15)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $5
+ (call $_fmt_u
+ (tee_local $5
+ (select
+ (i32.sub
+ (i32.const 0)
+ (tee_local $7
+ (i32.load
+ (get_local $21)
+ )
+ )
+ )
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ (get_local $26)
+ )
+ )
+ (get_local $26)
+ )
+ (block
+ (i32.store8
+ (get_local $42)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $42)
+ )
+ )
+ )
+ (set_local $11
+ (i32.or
+ (get_local $27)
+ (i32.const 2)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $7)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ (i32.const 43)
+ )
+ )
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $5)
+ (i32.const -2)
+ )
+ )
+ (i32.add
+ (get_local $19)
+ (i32.const 15)
+ )
+ )
+ (set_local $19
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (set_local $18
+ (i32.eqz
+ (i32.and
+ (get_local $12)
+ (i32.const 8)
+ )
+ )
+ )
+ (set_local $5
+ (get_local $22)
+ )
+ (loop $while-in56
+ (i32.store8
+ (get_local $5)
+ (i32.or
+ (i32.load8_u
+ (i32.add
+ (tee_local $7
+ (if (result i32)
+ (f64.ne
+ (get_local $15)
+ (get_local $15)
+ )
+ (i32.const -2147483648)
+ (if (result i32)
+ (f64.ge
+ (get_local $15)
+ (f64.const 2147483648)
+ )
+ (i32.const -2147483648)
+ (if (result i32)
+ (f64.le
+ (get_local $15)
+ (f64.const -2147483649)
+ )
+ (i32.const -2147483648)
+ (i32.trunc_s/f64
+ (get_local $15)
+ )
+ )
+ )
+ )
+ )
+ (i32.const 4075)
+ )
+ )
+ (get_local $13)
+ )
+ )
+ (set_local $15
+ (f64.mul
+ (f64.sub
+ (get_local $15)
+ (f64.convert_s/i32
+ (get_local $7)
+ )
+ )
+ (f64.const 16)
+ )
+ )
+ (set_local $5
+ (if (result i32)
+ (i32.eq
+ (i32.sub
+ (tee_local $7
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ (get_local $36)
+ )
+ (i32.const 1)
+ )
+ (if (result i32)
+ (i32.and
+ (get_local $18)
+ (i32.and
+ (get_local $19)
+ (f64.eq
+ (get_local $15)
+ (f64.const 0)
+ )
+ )
+ )
+ (get_local $7)
+ (block (result i32)
+ (i32.store8
+ (get_local $7)
+ (i32.const 46)
+ )
+ (i32.add
+ (get_local $5)
+ (i32.const 2)
+ )
+ )
+ )
+ (get_local $7)
+ )
+ )
+ (br_if $while-in56
+ (f64.ne
+ (get_local $15)
+ (f64.const 0)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (tee_local $7
+ (i32.add
+ (tee_local $6
+ (select
+ (i32.sub
+ (i32.add
+ (get_local $6)
+ (get_local $47)
+ )
+ (get_local $8)
+ )
+ (i32.add
+ (i32.sub
+ (get_local $45)
+ (get_local $8)
+ )
+ (get_local $5)
+ )
+ (i32.and
+ (i32.ne
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.lt_s
+ (i32.add
+ (get_local $5)
+ (get_local $46)
+ )
+ (get_local $6)
+ )
+ )
+ )
+ )
+ (get_local $11)
+ )
+ )
+ (get_local $12)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $9)
+ (get_local $11)
+ (get_local $0)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $16)
+ (get_local $7)
+ (i32.xor
+ (get_local $12)
+ (i32.const 65536)
+ )
+ )
+ (set_local $5
+ (i32.sub
+ (get_local $5)
+ (get_local $36)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $22)
+ (get_local $5)
+ (get_local $0)
+ )
)
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.sub
+ (get_local $6)
+ (i32.add
+ (get_local $5)
+ (tee_local $5
+ (i32.sub
+ (get_local $26)
+ (get_local $8)
+ )
+ )
+ )
+ )
+ (i32.const 0)
(i32.const 0)
- (get_local $13)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $8)
+ (get_local $5)
+ (get_local $0)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (get_local $7)
+ (i32.xor
+ (get_local $12)
+ (i32.const 8192)
+ )
+ )
+ (br $do-once49
+ (select
+ (get_local $16)
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (get_local $16)
+ )
+ )
)
)
- (set_global $tempRet0
- (i32.add
- (get_global $tempRet0)
- (i32.lt_u
- (tee_local $11
+ )
+ (set_local $15
+ (if (result f64)
+ (get_local $5)
+ (block (result f64)
+ (i32.store
+ (get_local $21)
+ (tee_local $5
(i32.add
- (get_local $20)
- (get_local $11)
+ (i32.load
+ (get_local $21)
+ )
+ (i32.const -28)
)
)
- (get_local $20)
+ )
+ (f64.mul
+ (get_local $23)
+ (f64.const 268435456)
)
)
+ (block (result f64)
+ (set_local $5
+ (i32.load
+ (get_local $21)
+ )
+ )
+ (get_local $23)
+ )
)
- (get_local $11)
- )
- (tee_local $18
- (get_global $tempRet0)
)
- (i32.const 1000000000)
- (i32.const 0)
- )
- )
- (set_local $11
- (call $___udivdi3
- (get_local $11)
- (get_local $18)
- (i32.const 1000000000)
- (i32.const 0)
- )
- )
- (br_if $while-in66
- (i32.ge_u
- (tee_local $9
- (i32.add
- (get_local $9)
- (i32.const -4)
+ (set_local $7
+ (tee_local $8
+ (select
+ (get_local $48)
+ (get_local $49)
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
)
)
- (get_local $5)
- )
- )
- )
- (br_if $do-once63
- (i32.eqz
- (get_local $11)
- )
- )
- (i32.store
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -4)
- )
- )
- (get_local $11)
- )
- )
- )
- (loop $while-in68
- (if
- (i32.gt_u
- (get_local $7)
- (get_local $5)
- )
- (if
- (i32.eqz
- (i32.load
- (tee_local $9
- (i32.add
+ (loop $while-in60
+ (i32.store
(get_local $7)
- (i32.const -4)
+ (tee_local $5
+ (if (result i32)
+ (f64.ne
+ (get_local $15)
+ (get_local $15)
+ )
+ (i32.const -2147483648)
+ (if (result i32)
+ (f64.ge
+ (get_local $15)
+ (f64.const 2147483648)
+ )
+ (i32.const -2147483648)
+ (if (result i32)
+ (f64.le
+ (get_local $15)
+ (f64.const -2147483649)
+ )
+ (i32.const -2147483648)
+ (i32.trunc_s/f64
+ (get_local $15)
+ )
+ )
+ )
+ )
+ )
)
- )
- )
- )
- (block
- (set_local $7
- (get_local $9)
- )
- (br $while-in68)
- )
- )
- )
- )
- (i32.store
- (get_local $21)
- (tee_local $9
- (i32.sub
- (i32.load
- (get_local $21)
- )
- (get_local $13)
- )
- )
- )
- (br_if $while-in62
- (i32.gt_s
- (get_local $9)
- (i32.const 0)
- )
- )
- )
- )
- (set_local $5
- (get_local $8)
- )
- )
- (set_local $18
- (select
- (i32.const 6)
- (get_local $6)
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
- )
- )
- )
- (if
- (i32.lt_s
- (get_local $9)
- (i32.const 0)
- )
- (block
- (set_local $20
- (i32.add
- (i32.div_s
- (tee_local $6
- (i32.add
- (get_local $18)
- (i32.const 25)
- )
- )
- (i32.const 9)
- )
- (i32.const 1)
- )
- )
- (set_local $31
- (i32.eq
- (get_local $24)
- (i32.const 102)
- )
- )
- (set_local $6
- (get_local $5)
- )
- (set_local $5
- (get_local $7)
- )
- (loop $while-in70
- (set_local $13
- (select
- (i32.const 9)
- (tee_local $7
- (i32.sub
- (i32.const 0)
- (get_local $9)
- )
- )
- (i32.gt_s
- (get_local $7)
- (i32.const 9)
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $6)
- (get_local $5)
- )
- (block $do-once71
- (set_local $11
- (i32.add
- (i32.shl
- (i32.const 1)
- (get_local $13)
- )
- (i32.const -1)
- )
- )
- (set_local $37
- (i32.shr_u
- (i32.const 1000000000)
- (get_local $13)
- )
- )
- (set_local $9
- (i32.const 0)
- )
- (set_local $7
- (get_local $6)
- )
- (loop $while-in74
- (i32.store
- (get_local $7)
- (i32.add
- (i32.shr_u
- (tee_local $32
- (i32.load
+ (set_local $7
+ (i32.add
(get_local $7)
+ (i32.const 4)
)
)
- (get_local $13)
- )
- (get_local $9)
- )
- )
- (set_local $9
- (i32.mul
- (i32.and
- (get_local $32)
- (get_local $11)
- )
- (get_local $37)
- )
- )
- (br_if $while-in74
- (i32.lt_u
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
+ (br_if $while-in60
+ (f64.ne
+ (tee_local $15
+ (f64.mul
+ (f64.sub
+ (get_local $15)
+ (f64.convert_u/i32
+ (get_local $5)
+ )
+ )
+ (f64.const 1e9)
+ )
+ )
+ (f64.const 0)
+ )
)
)
- (get_local $5)
- )
- )
- )
- (set_local $7
- (select
- (get_local $6)
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- (i32.load
- (get_local $6)
- )
- )
- )
- (br_if $do-once71
- (i32.eqz
- (get_local $9)
- )
- )
- (i32.store
- (get_local $5)
- (get_local $9)
- )
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 4)
- )
- )
- )
- (set_local $7
- (select
- (get_local $6)
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- (i32.load
- (get_local $6)
- )
- )
- )
- )
- (set_local $11
- (select
- (i32.add
- (tee_local $6
- (select
- (get_local $8)
- (get_local $7)
- (get_local $31)
- )
- )
- (i32.shl
- (get_local $20)
- (i32.const 2)
- )
- )
- (get_local $5)
- (i32.gt_s
- (i32.shr_s
- (i32.sub
- (get_local $5)
- (get_local $6)
- )
- (i32.const 2)
- )
- (get_local $20)
- )
- )
- )
- (i32.store
- (get_local $21)
- (tee_local $9
- (i32.add
- (i32.load
- (get_local $21)
- )
- (get_local $13)
- )
- )
- )
- (set_local $5
- (if (result i32)
- (i32.lt_s
- (get_local $9)
- (i32.const 0)
- )
- (block
- (set_local $6
- (get_local $7)
- )
- (set_local $5
- (get_local $11)
- )
- (br $while-in70)
- )
- (block (result i32)
- (set_local $9
- (get_local $11)
- )
- (get_local $7)
- )
- )
- )
- )
- )
- (set_local $9
- (get_local $7)
- )
- )
- (set_local $20
- (get_local $8)
- )
- (if
- (i32.lt_u
- (get_local $5)
- (get_local $9)
- )
- (block $do-once75
- (set_local $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $20)
- (get_local $5)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- )
- (br_if $do-once75
- (i32.lt_u
- (tee_local $11
- (i32.load
- (get_local $5)
- )
- )
- (i32.const 10)
- )
- )
- (set_local $6
- (i32.const 10)
- )
- (loop $while-in78
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 1)
- )
- )
- (br_if $while-in78
- (i32.ge_u
- (get_local $11)
- (tee_local $6
- (i32.mul
- (get_local $6)
- (i32.const 10)
- )
- )
- )
- )
- )
- )
- (set_local $7
- (i32.const 0)
- )
- )
- (set_local $5
- (if (result i32)
- (i32.lt_s
- (tee_local $6
- (i32.add
- (i32.sub
- (get_local $18)
- (select
- (get_local $7)
- (i32.const 0)
- (i32.ne
- (get_local $24)
- (i32.const 102)
- )
- )
- )
- (i32.shr_s
- (i32.shl
- (i32.and
- (tee_local $31
- (i32.ne
- (get_local $18)
+ (if
+ (i32.gt_s
+ (tee_local $9
+ (i32.load
+ (get_local $21)
+ )
+ )
(i32.const 0)
)
- )
- (tee_local $37
- (i32.eq
- (get_local $24)
- (i32.const 103)
- )
- )
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- )
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $9)
- (get_local $20)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- (i32.const -9)
- )
- )
- (block (result i32)
- (set_local $13
- (i32.div_s
- (tee_local $11
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 9216)
- )
- )
- )
- (i32.const 9)
- )
- )
- (if
- (i32.lt_s
- (tee_local $6
- (i32.add
- (i32.rem_s
- (get_local $6)
- (i32.const 9)
- )
- (i32.const 1)
- )
- )
- (i32.const 9)
- )
- (block
- (set_local $11
- (i32.const 10)
- )
- (loop $while-in80
- (set_local $11
- (i32.mul
- (get_local $11)
- (i32.const 10)
- )
- )
- (br_if $while-in80
- (i32.ne
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const 1)
- )
- )
- (i32.const 9)
- )
- )
- )
- )
- (set_local $11
- (i32.const 10)
- )
- )
- (set_local $13
- (tee_local $24
- (i32.load
- (tee_local $6
- (i32.add
- (i32.add
- (get_local $8)
- (i32.shl
- (get_local $13)
- (i32.const 2)
- )
- )
- (i32.const -4092)
- )
- )
- )
- )
- )
- (set_local $13
- (if (result i32)
- (get_local $11)
- (i32.rem_u
- (get_local $13)
- (get_local $11)
- )
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $32
- (i32.eq
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- (get_local $9)
- )
- )
- (i32.eqz
- (get_local $13)
- )
- )
- )
- (block $do-once81
- (set_local $50
- (if (result i32)
- (get_local $11)
- (i32.div_u
- (get_local $24)
- (get_local $11)
- )
- (i32.const 0)
- )
- )
- (set_local $15
- (if (result f64)
- (i32.lt_u
- (get_local $13)
- (tee_local $38
- (i32.div_s
- (get_local $11)
- (i32.const 2)
- )
- )
- )
- (f64.const 0.5)
- (select
- (f64.const 1)
- (f64.const 1.5)
- (i32.and
- (get_local $32)
- (i32.eq
- (get_local $13)
- (get_local $38)
- )
- )
- )
- )
- )
- (set_local $23
- (select
- (f64.const 9007199254740994)
- (f64.const 9007199254740992)
- (i32.and
- (get_local $50)
- (i32.const 1)
- )
- )
- )
- (if
- (get_local $27)
- (if
- (i32.eq
- (i32.load8_s
- (get_local $30)
- )
- (i32.const 45)
- )
- (block
- (set_local $23
- (f64.neg
- (get_local $23)
- )
- )
- (set_local $15
- (f64.neg
- (get_local $15)
- )
- )
- )
- )
- )
- (i32.store
- (get_local $6)
- (tee_local $13
- (i32.sub
- (get_local $24)
- (get_local $13)
- )
- )
- )
- (br_if $do-once81
- (f64.eq
- (f64.add
- (get_local $23)
- (get_local $15)
- )
- (get_local $23)
- )
- )
- (i32.store
- (get_local $6)
- (tee_local $7
- (i32.add
- (get_local $13)
- (get_local $11)
- )
- )
- )
- (if
- (i32.gt_u
- (get_local $7)
- (i32.const 999999999)
- )
- (loop $while-in86
- (i32.store
- (get_local $6)
- (i32.const 0)
- )
- (if
- (i32.lt_u
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -4)
+ (block
+ (set_local $5
+ (get_local $8)
)
- )
- (get_local $5)
- )
- (i32.store
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -4)
+ (loop $while-in62
+ (set_local $13
+ (select
+ (i32.const 29)
+ (get_local $9)
+ (i32.gt_s
+ (get_local $9)
+ (i32.const 29)
+ )
+ )
+ )
+ (if
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
+ )
+ )
+ (get_local $5)
+ )
+ (block $do-once63
+ (set_local $11
+ (i32.const 0)
+ )
+ (loop $while-in66
+ (i32.store
+ (get_local $9)
+ (call $___uremdi3
+ (block (result i32)
+ (set_global $tempRet0
+ (i32.add
+ (i32.lt_u
+ (tee_local $11
+ (i32.add
+ (get_local $11)
+ (tee_local $20
+ (call $_bitshift64Shl
+ (i32.load
+ (get_local $9)
+ )
+ (i32.const 0)
+ (get_local $13)
+ )
+ )
+ )
+ )
+ (get_local $20)
+ )
+ (get_global $tempRet0)
+ )
+ )
+ (get_local $11)
+ )
+ (tee_local $18
+ (get_global $tempRet0)
+ )
+ (i32.const 1000000000)
+ (i32.const 0)
+ )
+ )
+ (set_local $11
+ (call $___udivdi3
+ (get_local $11)
+ (get_local $18)
+ (i32.const 1000000000)
+ (i32.const 0)
+ )
+ )
+ (br_if $while-in66
+ (i32.ge_u
+ (tee_local $9
+ (i32.add
+ (get_local $9)
+ (i32.const -4)
+ )
+ )
+ (get_local $5)
+ )
+ )
+ )
+ (br_if $do-once63
+ (i32.eqz
+ (get_local $11)
+ )
+ )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
+ (get_local $11)
+ )
+ )
+ )
+ (loop $while-in68
+ (if
+ (i32.gt_u
+ (get_local $7)
+ (get_local $5)
+ )
+ (if
+ (i32.eqz
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $7
+ (get_local $9)
+ )
+ (br $while-in68)
+ )
+ )
+ )
+ )
+ (i32.store
+ (get_local $21)
+ (tee_local $9
+ (i32.sub
+ (i32.load
+ (get_local $21)
+ )
+ (get_local $13)
+ )
+ )
+ )
+ (br_if $while-in62
+ (i32.gt_s
+ (get_local $9)
+ (i32.const 0)
+ )
+ )
)
)
- (i32.const 0)
+ (set_local $5
+ (get_local $8)
+ )
)
- )
- (i32.store
- (get_local $6)
- (tee_local $7
- (i32.add
- (i32.load
+ (set_local $18
+ (select
+ (i32.const 6)
+ (get_local $6)
+ (i32.lt_s
(get_local $6)
+ (i32.const 0)
)
- (i32.const 1)
)
)
- )
- (br_if $while-in86
- (i32.gt_u
- (get_local $7)
- (i32.const 999999999)
- )
- )
- )
- )
- (set_local $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $20)
- (get_local $5)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- )
- (br_if $do-once81
- (i32.lt_u
- (tee_local $13
- (i32.load
- (get_local $5)
- )
- )
- (i32.const 10)
- )
- )
- (set_local $11
- (i32.const 10)
- )
- (loop $while-in88
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 1)
- )
- )
- (br_if $while-in88
- (i32.ge_u
- (get_local $13)
- (tee_local $11
- (i32.mul
- (get_local $11)
- (i32.const 10)
+ (if
+ (i32.lt_s
+ (get_local $9)
+ (i32.const 0)
)
- )
- )
- )
- )
- )
- )
- (set_local $11
- (get_local $5)
- )
- (set_local $13
- (get_local $7)
- )
- (select
- (tee_local $5
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
- (get_local $9)
- (i32.gt_u
- (get_local $9)
- (get_local $5)
- )
- )
- )
- (block (result i32)
- (set_local $11
- (get_local $5)
- )
- (set_local $13
- (get_local $7)
- )
- (get_local $9)
- )
- )
- )
- (set_local $32
- (i32.sub
- (i32.const 0)
- (get_local $13)
- )
- )
- (set_local $9
- (loop $while-in90 (result i32)
- (block $while-out89 (result i32)
- (if
- (i32.le_u
- (get_local $5)
- (get_local $11)
- )
- (block
- (set_local $24
- (i32.const 0)
- )
- (br $while-out89
- (get_local $5)
- )
- )
- )
- (if (result i32)
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $5)
- (i32.const -4)
- )
- )
- )
- (block (result i32)
- (set_local $24
- (i32.const 1)
- )
- (get_local $5)
- )
- (block
- (set_local $5
- (get_local $7)
- )
- (br $while-in90)
- )
- )
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (tee_local $13
- (i32.add
- (i32.add
- (i32.add
- (i32.add
- (get_local $27)
- (i32.const 1)
- )
- (tee_local $5
- (if (result i32)
- (get_local $37)
- (block $do-once91 (result i32)
- (set_local $7
- (if (result i32)
- (i32.and
- (i32.gt_s
- (tee_local $5
- (i32.add
- (i32.xor
- (get_local $31)
- (i32.const 1)
+ (block
+ (set_local $20
+ (i32.add
+ (i32.div_s
+ (tee_local $6
+ (i32.add
+ (get_local $18)
+ (i32.const 25)
)
- (get_local $18)
)
+ (i32.const 9)
)
- (get_local $13)
+ (i32.const 1)
)
- (i32.gt_s
- (get_local $13)
- (i32.const -5)
+ )
+ (set_local $31
+ (i32.eq
+ (get_local $24)
+ (i32.const 102)
)
)
- (block (result i32)
- (set_local $18
- (i32.sub
- (i32.add
- (get_local $5)
- (i32.const -1)
+ (set_local $6
+ (get_local $5)
+ )
+ (set_local $5
+ (get_local $7)
+ )
+ (loop $while-in70
+ (set_local $13
+ (select
+ (i32.const 9)
+ (tee_local $7
+ (i32.sub
+ (i32.const 0)
+ (get_local $9)
+ )
+ )
+ (i32.gt_s
+ (get_local $7)
+ (i32.const 9)
)
- (get_local $13)
)
)
- (i32.add
- (get_local $19)
- (i32.const -1)
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (get_local $5)
+ )
+ (block $do-once71
+ (set_local $11
+ (i32.add
+ (i32.shl
+ (i32.const 1)
+ (get_local $13)
+ )
+ (i32.const -1)
+ )
+ )
+ (set_local $37
+ (i32.shr_u
+ (i32.const 1000000000)
+ (get_local $13)
+ )
+ )
+ (set_local $9
+ (i32.const 0)
+ )
+ (set_local $7
+ (get_local $6)
+ )
+ (loop $while-in74
+ (i32.store
+ (get_local $7)
+ (i32.add
+ (i32.shr_u
+ (tee_local $32
+ (i32.load
+ (get_local $7)
+ )
+ )
+ (get_local $13)
+ )
+ (get_local $9)
+ )
+ )
+ (set_local $9
+ (i32.mul
+ (i32.and
+ (get_local $11)
+ (get_local $32)
+ )
+ (get_local $37)
+ )
+ )
+ (br_if $while-in74
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ )
+ (get_local $5)
+ )
+ )
+ )
+ (set_local $7
+ (select
+ (get_local $6)
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (i32.load
+ (get_local $6)
+ )
+ )
+ )
+ (br_if $do-once71
+ (i32.eqz
+ (get_local $9)
+ )
+ )
+ (i32.store
+ (get_local $5)
+ (get_local $9)
+ )
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 4)
+ )
+ )
+ )
+ (set_local $7
+ (select
+ (get_local $6)
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (i32.load
+ (get_local $6)
+ )
+ )
+ )
)
- )
- (block (result i32)
- (set_local $18
- (i32.add
+ (set_local $11
+ (select
+ (i32.add
+ (tee_local $6
+ (select
+ (get_local $8)
+ (get_local $7)
+ (get_local $31)
+ )
+ )
+ (i32.shl
+ (get_local $20)
+ (i32.const 2)
+ )
+ )
(get_local $5)
- (i32.const -1)
+ (i32.gt_s
+ (i32.shr_s
+ (i32.sub
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.const 2)
+ )
+ (get_local $20)
+ )
)
)
- (i32.add
- (get_local $19)
- (i32.const -2)
+ (i32.store
+ (get_local $21)
+ (tee_local $9
+ (i32.add
+ (i32.load
+ (get_local $21)
+ )
+ (get_local $13)
+ )
+ )
+ )
+ (set_local $5
+ (if (result i32)
+ (i32.lt_s
+ (get_local $9)
+ (i32.const 0)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
+ )
+ (set_local $5
+ (get_local $11)
+ )
+ (br $while-in70)
+ )
+ (block (result i32)
+ (set_local $9
+ (get_local $11)
+ )
+ (get_local $7)
+ )
+ )
)
)
)
+ (set_local $9
+ (get_local $7)
+ )
+ )
+ (set_local $20
+ (get_local $8)
)
(if
- (tee_local $5
- (i32.and
- (get_local $12)
- (i32.const 8)
- )
+ (i32.lt_u
+ (get_local $5)
+ (get_local $9)
)
- (block
- (set_local $20
- (get_local $5)
+ (block $do-once75
+ (set_local $7
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $20)
+ (get_local $5)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ )
+ (br_if $do-once75
+ (i32.lt_u
+ (tee_local $11
+ (i32.load
+ (get_local $5)
+ )
+ )
+ (i32.const 10)
+ )
+ )
+ (set_local $6
+ (i32.const 10)
)
- (br $do-once91
- (get_local $18)
+ (loop $while-in78
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in78
+ (i32.ge_u
+ (get_local $11)
+ (tee_local $6
+ (i32.mul
+ (get_local $6)
+ (i32.const 10)
+ )
+ )
+ )
+ )
)
)
+ (set_local $7
+ (i32.const 0)
+ )
)
- (if
- (get_local $24)
- (block $do-once93
- (if
- (i32.eqz
- (tee_local $19
- (i32.load
- (i32.add
- (get_local $9)
- (i32.const -4)
+ (set_local $5
+ (if (result i32)
+ (i32.lt_s
+ (tee_local $6
+ (i32.add
+ (i32.sub
+ (get_local $18)
+ (select
+ (get_local $7)
+ (i32.const 0)
+ (i32.ne
+ (get_local $24)
+ (i32.const 102)
+ )
)
)
+ (i32.shr_s
+ (i32.shl
+ (i32.and
+ (tee_local $31
+ (i32.ne
+ (get_local $18)
+ (i32.const 0)
+ )
+ )
+ (tee_local $37
+ (i32.eq
+ (get_local $24)
+ (i32.const 103)
+ )
+ )
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
)
)
- (block
- (set_local $5
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $9)
+ (get_local $20)
+ )
+ (i32.const 2)
+ )
(i32.const 9)
)
- (br $do-once93)
+ (i32.const -9)
)
)
- (set_local $5
- (if (result i32)
- (i32.rem_u
- (get_local $19)
- (i32.const 10)
+ (block (result i32)
+ (set_local $13
+ (i32.div_s
+ (tee_local $11
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 9216)
+ )
+ )
+ )
+ (i32.const 9)
)
- (block
- (set_local $5
- (i32.const 0)
+ )
+ (if
+ (i32.lt_s
+ (tee_local $6
+ (i32.add
+ (i32.rem_s
+ (get_local $6)
+ (i32.const 9)
+ )
+ (i32.const 1)
+ )
)
- (br $do-once93)
+ (i32.const 9)
)
- (block (result i32)
- (set_local $6
+ (block
+ (set_local $11
(i32.const 10)
)
- (i32.const 0)
+ (loop $while-in80
+ (set_local $11
+ (i32.mul
+ (get_local $11)
+ (i32.const 10)
+ )
+ )
+ (br_if $while-in80
+ (i32.ne
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (i32.const 9)
+ )
+ )
+ )
+ )
+ (set_local $11
+ (i32.const 10)
)
)
- )
- (loop $while-in96
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
+ (set_local $13
+ (tee_local $24
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (i32.add
+ (get_local $8)
+ (i32.shl
+ (get_local $13)
+ (i32.const 2)
+ )
+ )
+ (i32.const -4092)
+ )
+ )
+ )
)
)
- (br_if $while-in96
+ (set_local $13
+ (if (result i32)
+ (get_local $11)
+ (i32.rem_u
+ (get_local $13)
+ (get_local $11)
+ )
+ (i32.const 0)
+ )
+ )
+ (if
(i32.eqz
- (if (result i32)
- (tee_local $38
- (tee_local $6
- (i32.mul
+ (i32.and
+ (tee_local $32
+ (i32.eq
+ (i32.add
(get_local $6)
- (i32.const 10)
+ (i32.const 4)
)
+ (get_local $9)
)
)
- (i32.rem_u
- (get_local $19)
- (get_local $38)
+ (i32.eqz
+ (get_local $13)
)
- (i32.const 0)
)
)
+ (block $do-once81
+ (set_local $50
+ (if (result i32)
+ (get_local $11)
+ (i32.div_u
+ (get_local $24)
+ (get_local $11)
+ )
+ (i32.const 0)
+ )
+ )
+ (set_local $15
+ (if (result f64)
+ (i32.lt_u
+ (get_local $13)
+ (tee_local $38
+ (i32.div_s
+ (get_local $11)
+ (i32.const 2)
+ )
+ )
+ )
+ (f64.const 0.5)
+ (select
+ (f64.const 1)
+ (f64.const 1.5)
+ (i32.and
+ (get_local $32)
+ (i32.eq
+ (get_local $13)
+ (get_local $38)
+ )
+ )
+ )
+ )
+ )
+ (set_local $23
+ (select
+ (f64.const 9007199254740994)
+ (f64.const 9007199254740992)
+ (i32.and
+ (get_local $50)
+ (i32.const 1)
+ )
+ )
+ )
+ (if
+ (get_local $27)
+ (if
+ (i32.eq
+ (i32.load8_s
+ (get_local $30)
+ )
+ (i32.const 45)
+ )
+ (block
+ (set_local $23
+ (f64.neg
+ (get_local $23)
+ )
+ )
+ (set_local $15
+ (f64.neg
+ (get_local $15)
+ )
+ )
+ )
+ )
+ )
+ (i32.store
+ (get_local $6)
+ (tee_local $13
+ (i32.sub
+ (get_local $24)
+ (get_local $13)
+ )
+ )
+ )
+ (br_if $do-once81
+ (f64.eq
+ (f64.add
+ (get_local $23)
+ (get_local $15)
+ )
+ (get_local $23)
+ )
+ )
+ (i32.store
+ (get_local $6)
+ (tee_local $7
+ (i32.add
+ (get_local $11)
+ (get_local $13)
+ )
+ )
+ )
+ (if
+ (i32.gt_u
+ (get_local $7)
+ (i32.const 999999999)
+ )
+ (loop $while-in86
+ (i32.store
+ (get_local $6)
+ (i32.const 0)
+ )
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
+ )
+ )
+ (get_local $5)
+ )
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (i32.store
+ (get_local $6)
+ (tee_local $7
+ (i32.add
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (br_if $while-in86
+ (i32.gt_u
+ (get_local $7)
+ (i32.const 999999999)
+ )
+ )
+ )
+ )
+ (set_local $7
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $20)
+ (get_local $5)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ )
+ (br_if $do-once81
+ (i32.lt_u
+ (tee_local $13
+ (i32.load
+ (get_local $5)
+ )
+ )
+ (i32.const 10)
+ )
+ )
+ (set_local $11
+ (i32.const 10)
+ )
+ (loop $while-in88
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in88
+ (i32.ge_u
+ (get_local $13)
+ (tee_local $11
+ (i32.mul
+ (get_local $11)
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (set_local $11
+ (get_local $5)
+ )
+ (set_local $13
+ (get_local $7)
+ )
+ (select
+ (tee_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (get_local $9)
+ (i32.gt_u
+ (get_local $9)
+ (get_local $5)
+ )
)
)
+ (block (result i32)
+ (set_local $11
+ (get_local $5)
+ )
+ (set_local $13
+ (get_local $7)
+ )
+ (get_local $9)
+ )
)
- (set_local $5
- (i32.const 9)
+ )
+ (set_local $32
+ (i32.sub
+ (i32.const 0)
+ (get_local $13)
)
)
- (set_local $6
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $9)
- (get_local $20)
+ (set_local $9
+ (loop $while-in90 (result i32)
+ (block $while-out89 (result i32)
+ (if
+ (i32.le_u
+ (get_local $5)
+ (get_local $11)
+ )
+ (block
+ (set_local $24
+ (i32.const 0)
+ )
+ (br $while-out89
+ (get_local $5)
+ )
+ )
+ )
+ (if (result i32)
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $5)
+ (i32.const -4)
+ )
+ )
+ )
+ (block (result i32)
+ (set_local $24
+ (i32.const 1)
+ )
+ (get_local $5)
+ )
+ (block
+ (set_local $5
+ (get_local $7)
+ )
+ (br $while-in90)
)
- (i32.const 2)
)
- (i32.const 9)
)
- (i32.const -9)
)
)
- (if (result i32)
- (i32.eq
- (i32.or
- (get_local $7)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (tee_local $13
+ (i32.add
+ (i32.add
+ (i32.add
+ (tee_local $5
+ (if (result i32)
+ (get_local $37)
+ (block $do-once91 (result i32)
+ (set_local $7
+ (if (result i32)
+ (i32.and
+ (i32.gt_s
+ (tee_local $5
+ (i32.add
+ (i32.xor
+ (get_local $31)
+ (i32.const 1)
+ )
+ (get_local $18)
+ )
+ )
+ (get_local $13)
+ )
+ (i32.gt_s
+ (get_local $13)
+ (i32.const -5)
+ )
+ )
+ (block (result i32)
+ (set_local $18
+ (i32.sub
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ (get_local $13)
+ )
+ )
+ (i32.add
+ (get_local $19)
+ (i32.const -1)
+ )
+ )
+ (block (result i32)
+ (set_local $18
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ (i32.add
+ (get_local $19)
+ (i32.const -2)
+ )
+ )
+ )
+ )
+ (if
+ (tee_local $5
+ (i32.and
+ (get_local $12)
+ (i32.const 8)
+ )
+ )
+ (block
+ (set_local $20
+ (get_local $5)
+ )
+ (br $do-once91
+ (get_local $18)
+ )
+ )
+ )
+ (if
+ (get_local $24)
+ (block $do-once93
+ (if
+ (i32.eqz
+ (tee_local $19
+ (i32.load
+ (i32.add
+ (get_local $9)
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $5
+ (i32.const 9)
+ )
+ (br $do-once93)
+ )
+ )
+ (set_local $5
+ (if (result i32)
+ (i32.rem_u
+ (get_local $19)
+ (i32.const 10)
+ )
+ (block
+ (set_local $5
+ (i32.const 0)
+ )
+ (br $do-once93)
+ )
+ (block (result i32)
+ (set_local $6
+ (i32.const 10)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (loop $while-in96
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in96
+ (i32.eqz
+ (if (result i32)
+ (tee_local $38
+ (tee_local $6
+ (i32.mul
+ (get_local $6)
+ (i32.const 10)
+ )
+ )
+ )
+ (i32.rem_u
+ (get_local $19)
+ (get_local $38)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ )
+ (set_local $5
+ (i32.const 9)
+ )
+ )
+ (set_local $6
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $9)
+ (get_local $20)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ (i32.const -9)
+ )
+ )
+ (if (result i32)
+ (i32.eq
+ (i32.or
+ (get_local $7)
+ (i32.const 32)
+ )
+ (i32.const 102)
+ )
+ (block (result i32)
+ (set_local $20
+ (i32.const 0)
+ )
+ (select
+ (get_local $18)
+ (tee_local $5
+ (select
+ (i32.const 0)
+ (tee_local $5
+ (i32.sub
+ (get_local $6)
+ (get_local $5)
+ )
+ )
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.lt_s
+ (get_local $18)
+ (get_local $5)
+ )
+ )
+ )
+ (block (result i32)
+ (set_local $20
+ (i32.const 0)
+ )
+ (select
+ (get_local $18)
+ (tee_local $5
+ (select
+ (i32.const 0)
+ (tee_local $5
+ (i32.sub
+ (i32.add
+ (get_local $6)
+ (get_local $13)
+ )
+ (get_local $5)
+ )
+ )
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.lt_s
+ (get_local $18)
+ (get_local $5)
+ )
+ )
+ )
+ )
+ )
+ (block (result i32)
+ (set_local $20
+ (i32.and
+ (get_local $12)
+ (i32.const 8)
+ )
+ )
+ (set_local $7
+ (get_local $19)
+ )
+ (get_local $18)
+ )
+ )
+ )
+ (i32.add
+ (get_local $27)
+ (i32.const 1)
+ )
+ )
+ (i32.ne
+ (tee_local $31
+ (i32.or
+ (get_local $5)
+ (get_local $20)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (if (result i32)
+ (tee_local $18
+ (i32.eq
+ (i32.or
+ (get_local $7)
+ (i32.const 32)
+ )
+ (i32.const 102)
+ )
+ )
+ (block (result i32)
+ (set_local $19
+ (i32.const 0)
+ )
+ (select
+ (get_local $13)
+ (i32.const 0)
+ (i32.gt_s
+ (get_local $13)
+ (i32.const 0)
+ )
+ )
+ )
+ (block (result i32)
+ (if
+ (i32.lt_s
+ (i32.sub
+ (get_local $26)
+ (tee_local $6
+ (call $_fmt_u
+ (tee_local $6
+ (select
+ (get_local $32)
+ (get_local $13)
+ (i32.lt_s
+ (get_local $13)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ (get_local $26)
+ )
+ )
+ )
+ (i32.const 2)
+ )
+ (loop $while-in98
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in98
+ (i32.lt_s
+ (i32.sub
+ (get_local $26)
+ (get_local $6)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (i32.store8
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $13)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ (i32.const 43)
+ )
+ )
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -2)
+ )
+ )
+ (get_local $7)
+ )
+ (i32.sub
+ (get_local $26)
+ (tee_local $19
+ (get_local $6)
+ )
+ )
+ )
+ )
+ )
+ )
+ (get_local $12)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
(i32.const 32)
)
- (i32.const 102)
)
- (block (result i32)
- (set_local $20
- (i32.const 0)
+ (drop
+ (call $___fwritex
+ (get_local $30)
+ (get_local $27)
+ (get_local $0)
)
- (select
- (get_local $18)
- (tee_local $5
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $16)
+ (get_local $13)
+ (i32.xor
+ (get_local $12)
+ (i32.const 65536)
+ )
+ )
+ (if
+ (get_local $18)
+ (block
+ (set_local $6
+ (tee_local $11
(select
+ (get_local $8)
+ (get_local $11)
+ (i32.gt_u
+ (get_local $11)
+ (get_local $8)
+ )
+ )
+ )
+ )
+ (loop $while-in102
+ (set_local $7
+ (call $_fmt_u
+ (i32.load
+ (get_local $6)
+ )
(i32.const 0)
- (tee_local $5
+ (get_local $29)
+ )
+ )
+ (block $do-once103
+ (if
+ (i32.eq
+ (get_local $6)
+ (get_local $11)
+ )
+ (block
+ (br_if $do-once103
+ (i32.ne
+ (get_local $7)
+ (get_local $29)
+ )
+ )
+ (i32.store8
+ (get_local $33)
+ (i32.const 48)
+ )
+ (set_local $7
+ (get_local $33)
+ )
+ )
+ (block
+ (br_if $do-once103
+ (i32.le_u
+ (get_local $7)
+ (get_local $22)
+ )
+ )
+ (loop $while-in106
+ (i32.store8
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in106
+ (i32.gt_u
+ (get_local $7)
+ (get_local $22)
+ )
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $7)
(i32.sub
+ (get_local $43)
+ (get_local $7)
+ )
+ (get_local $0)
+ )
+ )
+ )
+ (if
+ (i32.le_u
+ (tee_local $7
+ (i32.add
(get_local $6)
- (get_local $5)
+ (i32.const 4)
)
)
- (i32.lt_s
+ (get_local $8)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
+ )
+ (br $while-in102)
+ )
+ )
+ )
+ (if
+ (get_local $31)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ )
+ (if
+ (i32.and
+ (i32.lt_u
+ (get_local $7)
+ (get_local $9)
+ )
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ (loop $while-in110
+ (if
+ (i32.gt_u
+ (tee_local $6
+ (call $_fmt_u
+ (i32.load
+ (get_local $7)
+ )
+ (i32.const 0)
+ (get_local $29)
+ )
+ )
+ (get_local $22)
+ )
+ (loop $while-in112
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in112
+ (i32.gt_u
+ (get_local $6)
+ (get_local $22)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $6)
+ (select
+ (i32.const 9)
+ (get_local $5)
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 9)
+ )
+ )
+ (get_local $0)
+ )
+ )
+ )
+ (set_local $6
+ (i32.add
(get_local $5)
- (i32.const 0)
+ (i32.const -9)
+ )
+ )
+ (set_local $5
+ (if (result i32)
+ (i32.and
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ )
+ (get_local $9)
+ )
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 9)
+ )
+ )
+ (block
+ (set_local $5
+ (get_local $6)
+ )
+ (br $while-in110)
+ )
+ (get_local $6)
)
)
)
- (i32.lt_s
- (get_local $18)
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
(get_local $5)
+ (i32.const 9)
)
+ (i32.const 9)
+ (i32.const 0)
)
)
- (block (result i32)
- (set_local $20
- (i32.const 0)
+ (block $do-once99
+ (set_local $9
+ (select
+ (get_local $9)
+ (i32.add
+ (get_local $11)
+ (i32.const 4)
+ )
+ (get_local $24)
+ )
)
- (select
- (get_local $18)
- (tee_local $5
- (select
- (i32.const 0)
- (tee_local $5
- (i32.sub
- (i32.add
+ (if
+ (i32.gt_s
+ (get_local $5)
+ (i32.const -1)
+ )
+ (block
+ (set_local $18
+ (i32.eqz
+ (get_local $20)
+ )
+ )
+ (set_local $6
+ (get_local $11)
+ )
+ (set_local $7
+ (get_local $5)
+ )
+ (loop $while-in114
+ (if
+ (i32.eq
+ (tee_local $5
+ (call $_fmt_u
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const 0)
+ (get_local $29)
+ )
+ )
+ (get_local $29)
+ )
+ (block
+ (i32.store8
+ (get_local $33)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $33)
+ )
+ )
+ )
+ (block $do-once115
+ (if
+ (i32.eq
(get_local $6)
- (get_local $13)
+ (get_local $11)
)
+ (block
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $5)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ (br_if $do-once115
+ (i32.and
+ (get_local $18)
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ )
+ (br_if $do-once115
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (block
+ (br_if $do-once115
+ (i32.le_u
+ (get_local $5)
+ (get_local $22)
+ )
+ )
+ (loop $while-in118
+ (i32.store8
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in118
+ (i32.gt_u
+ (get_local $5)
+ (get_local $22)
+ )
+ )
+ )
+ )
+ )
+ )
+ (set_local $8
+ (i32.sub
+ (get_local $43)
(get_local $5)
)
)
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $5)
+ (select
+ (get_local $8)
+ (get_local $7)
+ (i32.gt_s
+ (get_local $7)
+ (get_local $8)
+ )
+ )
+ (get_local $0)
+ )
+ )
)
+ (br_if $while-in114
+ (i32.and
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (get_local $9)
+ )
+ (i32.gt_s
+ (tee_local $7
+ (i32.sub
+ (get_local $7)
+ (get_local $8)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ )
+ (set_local $5
+ (get_local $7)
)
)
- (i32.lt_s
- (get_local $18)
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
(get_local $5)
+ (i32.const 18)
+ )
+ (i32.const 18)
+ (i32.const 0)
+ )
+ (br_if $do-once99
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $19)
+ (i32.sub
+ (get_local $26)
+ (get_local $19)
+ )
+ (get_local $0)
)
)
)
)
- )
- (block (result i32)
- (set_local $20
- (i32.and
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (get_local $13)
+ (i32.xor
(get_local $12)
- (i32.const 8)
+ (i32.const 8192)
)
)
- (set_local $7
- (get_local $19)
+ (select
+ (get_local $16)
+ (get_local $13)
+ (i32.lt_s
+ (get_local $13)
+ (get_local $16)
+ )
)
- (get_local $18)
)
- )
- )
- )
- (i32.ne
- (tee_local $31
- (i32.or
- (get_local $5)
- (get_local $20)
- )
- )
- (i32.const 0)
- )
- )
- (if (result i32)
- (tee_local $18
- (i32.eq
- (i32.or
- (get_local $7)
- (i32.const 32)
- )
- (i32.const 102)
- )
- )
- (block (result i32)
- (set_local $19
- (i32.const 0)
- )
- (select
- (get_local $13)
- (i32.const 0)
- (i32.gt_s
- (get_local $13)
- (i32.const 0)
- )
- )
- )
- (block (result i32)
- (if
- (i32.lt_s
- (i32.sub
- (get_local $26)
- (tee_local $6
- (call $_fmt_u
- (tee_local $6
- (select
- (get_local $32)
- (get_local $13)
- (i32.lt_s
- (get_local $13)
+ (block (result i32)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (tee_local $7
+ (i32.add
+ (tee_local $9
+ (select
(i32.const 0)
+ (get_local $27)
+ (tee_local $6
+ (f64.ne
+ (get_local $15)
+ (get_local $15)
+ )
+ )
)
)
+ (i32.const 3)
)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
+ )
+ (get_local $8)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $5
+ (i32.load
+ (get_local $0)
)
- (i32.const 31)
)
- (i32.const 31)
+ (i32.const 32)
+ )
+ )
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $30)
+ (get_local $9)
+ (get_local $0)
+ )
+ )
+ (set_local $5
+ (i32.load
+ (get_local $0)
+ )
)
- (get_local $26)
)
)
- )
- (i32.const 2)
- )
- (loop $while-in98
- (i32.store8
- (tee_local $6
- (i32.add
+ (set_local $6
+ (select
+ (select
+ (i32.const 4135)
+ (i32.const 4139)
+ (tee_local $8
+ (i32.ne
+ (i32.and
+ (get_local $19)
+ (i32.const 32)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (select
+ (i32.const 4127)
+ (i32.const 4131)
+ (get_local $8)
+ )
(get_local $6)
- (i32.const -1)
)
)
- (i32.const 48)
- )
- (br_if $while-in98
- (i32.lt_s
- (i32.sub
- (get_local $26)
- (get_local $6)
+ (if
+ (i32.eqz
+ (i32.and
+ (get_local $5)
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $6)
+ (i32.const 3)
+ (get_local $0)
+ )
)
- (i32.const 2)
)
- )
- )
- )
- (i32.store8
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $13)
- (i32.const 31)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (get_local $7)
+ (i32.xor
+ (get_local $12)
+ (i32.const 8192)
+ )
+ )
+ (select
+ (get_local $16)
+ (get_local $7)
+ (i32.lt_s
+ (get_local $7)
+ (get_local $16)
+ )
)
- (i32.const 2)
)
- (i32.const 43)
)
)
- (i32.store8
- (tee_local $6
- (i32.add
- (get_local $6)
- (i32.const -2)
- )
- )
- (get_local $7)
+ (set_local $5
+ (get_local $10)
)
- (i32.sub
- (get_local $26)
- (tee_local $19
- (get_local $6)
- )
+ (set_local $10
+ (get_local $7)
)
+ (br $label$continue$L1)
)
- )
- )
- )
- (get_local $12)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $30)
- (get_local $27)
- (get_local $0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $16)
- (get_local $13)
- (i32.xor
- (get_local $12)
- (i32.const 65536)
- )
- )
- (if
- (get_local $18)
- (block
- (set_local $6
- (tee_local $11
- (select
- (get_local $8)
- (get_local $11)
- (i32.gt_u
- (get_local $11)
- (get_local $8)
- )
+ (set_local $7
+ (get_local $5)
)
- )
- )
- (loop $while-in102
- (set_local $7
- (call $_fmt_u
- (i32.load
- (get_local $6)
- )
+ (set_local $11
+ (get_local $6)
+ )
+ (set_local $8
(i32.const 0)
- (get_local $29)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjto$8
+ (get_local $25)
)
)
- (block $do-once103
- (if
- (i32.eq
- (get_local $6)
- (get_local $11)
- )
- (block
- (br_if $do-once103
- (i32.ne
- (get_local $7)
- (get_local $29)
- )
- )
- (i32.store8
- (get_local $33)
- (i32.const 48)
- )
- (set_local $7
- (get_local $33)
- )
- )
- (block
- (br_if $do-once103
- (i32.le_u
- (get_local $7)
- (get_local $22)
- )
- )
- (loop $while-in106
- (i32.store8
- (tee_local $7
- (i32.add
- (get_local $7)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in106
- (i32.gt_u
- (get_local $7)
- (get_local $22)
- )
- )
- )
- )
+ (set_local $9
+ (i32.and
+ (get_local $19)
+ (i32.const 32)
)
)
(if
- (i32.eqz
- (i32.and
+ (i32.or
+ (tee_local $8
(i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $7)
- (i32.sub
- (get_local $43)
- (get_local $7)
+ (get_local $14)
)
- (get_local $0)
)
- )
- )
- (if
- (i32.le_u
- (tee_local $7
- (i32.add
- (get_local $6)
- (i32.const 4)
+ (tee_local $12
+ (i32.load offset=4
+ (get_local $14)
)
)
- (get_local $8)
)
(block
- (set_local $6
- (get_local $7)
- )
- (br $while-in102)
- )
- )
- )
- (if
- (get_local $31)
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $0)
+ (set_local $5
+ (get_local $8)
)
- )
- )
- )
- (if
- (i32.and
- (i32.gt_s
- (get_local $5)
- (i32.const 0)
- )
- (i32.lt_u
- (get_local $7)
- (get_local $9)
- )
- )
- (loop $while-in110
- (if
- (i32.gt_u
- (tee_local $6
- (call $_fmt_u
- (i32.load
- (get_local $7)
- )
- (i32.const 0)
- (get_local $29)
- )
- )
- (get_local $22)
+ (set_local $8
+ (get_local $25)
)
- (loop $while-in112
+ (loop $while-in123
(i32.store8
- (tee_local $6
+ (tee_local $8
(i32.add
- (get_local $6)
+ (get_local $8)
(i32.const -1)
)
)
- (i32.const 48)
- )
- (br_if $while-in112
- (i32.gt_u
- (get_local $6)
- (get_local $22)
- )
- )
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $6)
- (select
- (i32.const 9)
- (get_local $5)
- (i32.gt_s
- (get_local $5)
- (i32.const 9)
- )
- )
- (get_local $0)
- )
- )
- )
- (set_local $6
- (i32.add
- (get_local $5)
- (i32.const -9)
- )
- )
- (set_local $5
- (if (result i32)
- (i32.and
- (i32.gt_s
- (get_local $5)
- (i32.const 9)
- )
- (i32.lt_u
- (tee_local $7
+ (i32.or
+ (i32.load8_u
(i32.add
- (get_local $7)
- (i32.const 4)
+ (i32.and
+ (get_local $5)
+ (i32.const 15)
+ )
+ (i32.const 4075)
)
)
(get_local $9)
)
)
- (block
- (set_local $5
- (get_local $6)
- )
- (br $while-in110)
- )
- (get_local $6)
- )
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $5)
- (i32.const 9)
- )
- (i32.const 9)
- (i32.const 0)
- )
- )
- (block $do-once99
- (set_local $9
- (select
- (get_local $9)
- (i32.add
- (get_local $11)
- (i32.const 4)
- )
- (get_local $24)
- )
- )
- (if
- (i32.gt_s
- (get_local $5)
- (i32.const -1)
- )
- (block
- (set_local $18
- (i32.eqz
- (get_local $20)
- )
- )
- (set_local $6
- (get_local $11)
- )
- (set_local $7
- (get_local $5)
- )
- (loop $while-in114
- (if
- (i32.eq
- (tee_local $5
- (call $_fmt_u
- (i32.load
- (get_local $6)
+ (br_if $while-in123
+ (i32.or
+ (tee_local $5
+ (call $_bitshift64Lshr
+ (get_local $5)
+ (get_local $12)
+ (i32.const 4)
)
- (i32.const 0)
- (get_local $29)
)
- )
- (get_local $29)
- )
- (block
- (i32.store8
- (get_local $33)
- (i32.const 48)
- )
- (set_local $5
- (get_local $33)
+ (tee_local $12
+ (get_global $tempRet0)
+ )
)
)
)
- (block $do-once115
- (if
- (i32.eq
- (get_local $6)
- (get_local $11)
- )
- (block
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $5)
- (i32.const 1)
- (get_local $0)
- )
- )
- )
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
- )
- )
- (br_if $do-once115
+ (set_local $5
+ (get_local $8)
+ )
+ (set_local $8
+ (if (result i32)
+ (i32.or
+ (i32.eqz
(i32.and
- (get_local $18)
- (i32.lt_s
- (get_local $7)
- (i32.const 1)
- )
+ (get_local $7)
+ (i32.const 8)
)
)
- (br_if $do-once115
- (i32.and
+ (i32.eqz
+ (i32.or
(i32.load
- (get_local $0)
+ (get_local $14)
)
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $0)
- )
- )
- )
- (block
- (br_if $do-once115
- (i32.le_u
- (get_local $5)
- (get_local $22)
- )
- )
- (loop $while-in118
- (i32.store8
- (tee_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in118
- (i32.gt_u
- (get_local $5)
- (get_local $22)
+ (i32.load offset=4
+ (get_local $14)
)
)
)
)
- )
- )
- (set_local $8
- (i32.sub
- (get_local $43)
- (get_local $5)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $5)
- (select
- (get_local $8)
- (get_local $7)
- (i32.gt_s
- (get_local $7)
- (get_local $8)
- )
+ (block (result i32)
+ (set_local $9
+ (i32.const 4091)
)
- (get_local $0)
+ (i32.const 0)
)
- )
- )
- (br_if $while-in114
- (i32.and
- (i32.lt_u
- (tee_local $6
+ (block (result i32)
+ (set_local $9
(i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
- (get_local $9)
- )
- (i32.gt_s
- (tee_local $7
- (i32.sub
- (get_local $7)
- (get_local $8)
+ (i32.shr_s
+ (get_local $19)
+ (i32.const 4)
+ )
+ (i32.const 4091)
)
)
- (i32.const -1)
+ (i32.const 2)
)
)
)
)
- (set_local $5
- (get_local $7)
+ (block
+ (set_local $5
+ (get_local $25)
+ )
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
)
)
+ (br $__rjti$8)
)
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
+ (set_local $5
+ (call $_fmt_u
(get_local $5)
- (i32.const 18)
+ (get_local $7)
+ (get_local $25)
)
- (i32.const 18)
- (i32.const 0)
)
- (br_if $do-once99
- (i32.and
- (i32.load
- (get_local $0)
+ (set_local $7
+ (get_local $12)
+ )
+ (br $__rjti$8)
+ )
+ (set_local $19
+ (i32.eqz
+ (tee_local $13
+ (call $_memchr
+ (get_local $5)
+ (i32.const 0)
+ (get_local $6)
)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
- (get_local $19)
- (i32.sub
- (get_local $26)
- (get_local $19)
+ )
+ (set_local $12
+ (get_local $8)
+ )
+ (set_local $11
+ (select
+ (get_local $6)
+ (i32.sub
+ (get_local $13)
+ (tee_local $7
+ (get_local $5)
)
- (get_local $0)
)
+ (get_local $19)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $13)
- (i32.xor
- (get_local $12)
- (i32.const 8192)
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjto$8
+ (select
+ (i32.add
+ (get_local $5)
+ (get_local $6)
+ )
+ (get_local $13)
+ (get_local $19)
+ )
)
)
- (select
- (get_local $16)
- (get_local $13)
- (i32.lt_s
- (get_local $13)
- (get_local $16)
+ (set_local $5
+ (i32.const 0)
+ )
+ (set_local $7
+ (i32.const 0)
+ )
+ (set_local $6
+ (i32.load
+ (get_local $14)
)
)
- )
- (block (result i32)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (tee_local $7
- (i32.add
- (tee_local $9
- (select
- (i32.const 0)
- (get_local $27)
- (tee_local $6
- (f64.ne
- (get_local $15)
- (get_local $15)
+ (loop $while-in125
+ (block $while-out124
+ (br_if $while-out124
+ (i32.eqz
+ (tee_local $9
+ (i32.load
+ (get_local $6)
+ )
+ )
+ )
+ )
+ (br_if $while-out124
+ (i32.or
+ (i32.lt_s
+ (tee_local $7
+ (call $_wctomb
+ (get_local $35)
+ (get_local $9)
)
)
+ (i32.const 0)
+ )
+ (i32.gt_u
+ (get_local $7)
+ (i32.sub
+ (get_local $8)
+ (get_local $5)
+ )
+ )
+ )
+ )
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ (br_if $while-in125
+ (i32.gt_u
+ (get_local $8)
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (get_local $7)
+ )
)
)
- (i32.const 3)
)
)
- (get_local $8)
)
(if
- (i32.eqz
- (i32.and
- (tee_local $5
- (i32.load
- (get_local $0)
- )
- )
- (i32.const 32)
+ (i32.lt_s
+ (get_local $7)
+ (i32.const 0)
+ )
+ (block
+ (set_local $17
+ (i32.const -1)
)
+ (br $label$break$L1)
)
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (get_local $5)
+ (get_local $12)
+ )
+ (if
+ (get_local $5)
(block
- (drop
- (call $___fwritex
- (get_local $30)
- (get_local $9)
- (get_local $0)
- )
+ (set_local $6
+ (i32.const 0)
)
- (set_local $5
+ (set_local $7
(i32.load
- (get_local $0)
+ (get_local $14)
)
)
- )
- )
- (set_local $6
- (select
- (select
- (i32.const 4135)
- (i32.const 4139)
- (tee_local $8
- (i32.ne
+ (loop $while-in127
+ (if
+ (i32.eqz
+ (tee_local $8
+ (i32.load
+ (get_local $7)
+ )
+ )
+ )
+ (block
+ (set_local $7
+ (get_local $5)
+ )
+ (br $__rjti$7)
+ )
+ )
+ (if
+ (i32.gt_s
+ (tee_local $6
+ (i32.add
+ (tee_local $8
+ (call $_wctomb
+ (get_local $35)
+ (get_local $8)
+ )
+ )
+ (get_local $6)
+ )
+ )
+ (get_local $5)
+ )
+ (block
+ (set_local $7
+ (get_local $5)
+ )
+ (br $__rjti$7)
+ )
+ )
+ (if
+ (i32.eqz
(i32.and
- (get_local $19)
+ (i32.load
+ (get_local $0)
+ )
(i32.const 32)
)
- (i32.const 0)
+ )
+ (drop
+ (call $___fwritex
+ (get_local $35)
+ (get_local $8)
+ (get_local $0)
+ )
+ )
+ )
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ )
+ (br_if $while-in127
+ (i32.lt_u
+ (get_local $6)
+ (get_local $5)
)
)
)
- (select
- (i32.const 4127)
- (i32.const 4131)
- (get_local $8)
- )
- (get_local $6)
- )
- )
- (if
- (i32.eqz
- (i32.and
+ (set_local $7
(get_local $5)
- (i32.const 32)
)
)
- (drop
- (call $___fwritex
- (get_local $6)
- (i32.const 3)
- (get_local $0)
- )
+ (set_local $7
+ (i32.const 0)
)
)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $7)
- (i32.xor
- (get_local $12)
- (i32.const 8192)
- )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (get_local $7)
+ (i32.xor
+ (get_local $12)
+ (i32.const 8192)
)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (set_local $10
(select
(get_local $16)
(get_local $7)
- (i32.lt_s
- (get_local $7)
+ (i32.gt_s
(get_local $16)
+ (get_local $7)
)
)
)
+ (br $label$continue$L1)
)
- )
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (get_local $7)
- )
- (br $label$continue$L1)
- )
- (set_local $7
- (get_local $5)
- )
- (set_local $11
- (get_local $6)
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjto$8
- (get_local $25)
- )
- )
- (set_local $9
- (i32.and
- (get_local $19)
- (i32.const 32)
- )
- )
- (if
- (i32.or
- (tee_local $8
- (i32.load
- (get_local $14)
- )
- )
- (tee_local $12
- (i32.load offset=4
- (get_local $14)
- )
- )
- )
- (block
- (set_local $5
- (get_local $8)
- )
- (set_local $8
- (get_local $25)
- )
- (loop $while-in123
- (i32.store8
- (tee_local $8
- (i32.add
- (get_local $8)
- (i32.const -1)
- )
- )
- (i32.or
- (i32.load8_u
- (i32.add
- (i32.and
- (get_local $5)
- (i32.const 15)
- )
- (i32.const 4075)
- )
- )
- (get_local $9)
- )
- )
- (br_if $while-in123
- (i32.or
- (tee_local $5
- (call $_bitshift64Lshr
- (get_local $5)
- (get_local $12)
- (i32.const 4)
- )
+ (set_local $12
+ (select
+ (i32.and
+ (get_local $7)
+ (i32.const -65537)
)
- (tee_local $12
- (get_global $tempRet0)
+ (get_local $7)
+ (i32.gt_s
+ (get_local $6)
+ (i32.const -1)
)
)
)
- )
- (set_local $5
- (get_local $8)
- )
- (set_local $8
- (if (result i32)
- (i32.or
- (i32.eqz
- (i32.and
- (get_local $7)
- (i32.const 8)
+ (set_local $11
+ (if (result i32)
+ (i32.or
+ (get_local $6)
+ (tee_local $11
+ (i32.or
+ (i32.ne
+ (i32.load
+ (get_local $14)
+ )
+ (i32.const 0)
+ )
+ (i32.ne
+ (i32.load offset=4
+ (get_local $14)
+ )
+ (i32.const 0)
+ )
+ )
)
)
- (i32.eqz
- (i32.or
- (i32.load
- (get_local $14)
- )
- (i32.load offset=4
- (get_local $14)
+ (select
+ (get_local $6)
+ (tee_local $5
+ (i32.add
+ (i32.sub
+ (get_local $39)
+ (tee_local $7
+ (get_local $5)
+ )
+ )
+ (i32.xor
+ (i32.and
+ (get_local $11)
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
)
)
+ (i32.gt_s
+ (get_local $6)
+ (get_local $5)
+ )
)
- )
- (block (result i32)
- (set_local $9
- (i32.const 4091)
- )
- (i32.const 0)
- )
- (block (result i32)
- (set_local $9
- (i32.add
- (i32.shr_s
- (get_local $19)
- (i32.const 4)
- )
- (i32.const 4091)
+ (block (result i32)
+ (set_local $7
+ (get_local $25)
)
+ (i32.const 0)
)
- (i32.const 2)
)
)
- )
- )
- (block
- (set_local $5
(get_local $25)
)
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- )
- )
- (br $__rjti$8)
- )
- (set_local $5
- (call $_fmt_u
- (get_local $5)
- (get_local $7)
- (get_local $25)
- )
- )
- (set_local $7
- (get_local $12)
- )
- (br $__rjti$8)
- )
- (set_local $19
- (i32.eqz
- (tee_local $13
- (call $_memchr
- (get_local $5)
- (i32.const 0)
- (get_local $6)
- )
- )
- )
- )
- (set_local $12
- (get_local $8)
- )
- (set_local $11
- (select
- (get_local $6)
- (i32.sub
- (get_local $13)
- (tee_local $7
- (get_local $5)
- )
- )
- (get_local $19)
- )
- )
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjto$8
- (select
- (i32.add
- (get_local $5)
- (get_local $6)
- )
- (get_local $13)
- (get_local $19)
- )
- )
- )
- (set_local $5
- (i32.const 0)
- )
- (set_local $7
- (i32.const 0)
- )
- (set_local $6
- (i32.load
- (get_local $14)
- )
- )
- (loop $while-in125
- (block $while-out124
- (br_if $while-out124
- (i32.eqz
- (tee_local $9
- (i32.load
- (get_local $6)
- )
- )
- )
- )
- (br_if $while-out124
- (i32.or
- (i32.lt_s
- (tee_local $7
- (call $_wctomb
- (get_local $35)
- (get_local $9)
- )
- )
- (i32.const 0)
- )
- (i32.gt_u
- (get_local $7)
- (i32.sub
- (get_local $8)
- (get_local $5)
- )
- )
- )
- )
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
- (br_if $while-in125
- (i32.gt_u
- (get_local $8)
- (tee_local $5
- (i32.add
- (get_local $7)
- (get_local $5)
- )
- )
- )
- )
- )
- )
- (if
- (i32.lt_s
- (get_local $7)
- (i32.const 0)
- )
- (block
- (set_local $17
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $5)
- (get_local $12)
- )
- (if
- (get_local $5)
- (block
- (set_local $6
- (i32.const 0)
- )
- (set_local $7
- (i32.load
- (get_local $14)
- )
- )
- (loop $while-in127
- (if
- (i32.eqz
- (tee_local $8
- (i32.load
- (get_local $7)
- )
- )
- )
- (block
- (set_local $7
- (get_local $5)
- )
- (br $__rjti$7)
- )
- )
- (if
- (i32.gt_s
- (tee_local $6
- (i32.add
- (tee_local $8
- (call $_wctomb
- (get_local $35)
- (get_local $8)
- )
- )
- (get_local $6)
- )
- )
- (get_local $5)
- )
- (block
- (set_local $7
- (get_local $5)
- )
- (br $__rjti$7)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (get_local $35)
- (get_local $8)
- (get_local $0)
- )
- )
- )
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (br_if $while-in127
- (i32.lt_u
- (get_local $6)
- (get_local $5)
- )
- )
- )
- (set_local $7
- (get_local $5)
- )
- )
- (set_local $7
- (i32.const 0)
- )
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $7)
- (i32.xor
- (get_local $12)
- (i32.const 8192)
- )
- )
- (set_local $5
- (get_local $10)
- )
- (set_local $10
- (select
- (get_local $16)
- (get_local $7)
- (i32.gt_s
- (get_local $16)
- (get_local $7)
- )
- )
- )
- (br $label$continue$L1)
- )
- (set_local $12
- (select
- (i32.and
- (get_local $7)
- (i32.const -65537)
- )
- (get_local $7)
- (i32.gt_s
- (get_local $6)
- (i32.const -1)
- )
- )
- )
- (set_local $11
- (if (result i32)
- (i32.or
- (get_local $6)
- (tee_local $11
- (i32.or
- (i32.ne
- (i32.load
- (get_local $14)
- )
- (i32.const 0)
- )
- (i32.ne
- (i32.load offset=4
- (get_local $14)
- )
- (i32.const 0)
- )
- )
- )
- )
- (select
- (get_local $6)
- (tee_local $5
- (i32.add
- (i32.xor
- (i32.and
- (get_local $11)
- (i32.const 1)
- )
- (i32.const 1)
- )
- (i32.sub
- (get_local $39)
- (tee_local $7
- (get_local $5)
- )
- )
- )
- )
- (i32.gt_s
- (get_local $6)
- (get_local $5)
- )
- )
- (block (result i32)
- (set_local $7
- (get_local $25)
- )
- (i32.const 0)
- )
- )
- )
- (get_local $25)
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (tee_local $6
- (select
- (tee_local $5
- (i32.add
- (get_local $8)
- (tee_local $11
- (select
- (tee_local $13
- (i32.sub
- (get_local $5)
(get_local $7)
)
)
@@ -6823,6 +6818,7 @@
)
)
)
+ (get_local $8)
)
)
(get_local $16)
@@ -7419,10 +7415,6 @@
(local $4 i32)
(if
(i32.or
- (i32.gt_u
- (get_local $1)
- (i32.const 0)
- )
(i32.and
(i32.eqz
(get_local $1)
@@ -7432,6 +7424,10 @@
(i32.const -1)
)
)
+ (i32.gt_u
+ (get_local $1)
+ (i32.const 0)
+ )
)
(loop $while-in
(i32.store8
@@ -7465,10 +7461,6 @@
(set_local $0
(if (result i32)
(i32.or
- (i32.gt_u
- (get_local $1)
- (i32.const 9)
- )
(i32.and
(i32.eq
(get_local $1)
@@ -7479,6 +7471,10 @@
(i32.const -1)
)
)
+ (i32.gt_u
+ (get_local $1)
+ (i32.const 9)
+ )
)
(block
(set_local $0
diff --git a/test/passes/optimize-instructions.txt b/test/passes/optimize-instructions.txt
index 51a5113b1..7d82ae8b1 100644
--- a/test/passes/optimize-instructions.txt
+++ b/test/passes/optimize-instructions.txt
@@ -1,17 +1,18 @@
(module
(type $0 (func (param i32 i64)))
(type $1 (func))
- (type $2 (func (result i32)))
- (type $3 (func (param i32) (result i32)))
- (type $4 (func (param i32 i32)))
- (type $5 (func (param i32)))
- (type $6 (func (param i32 i32) (result i32)))
- (type $7 (func (param i64) (result i64)))
- (type $8 (func (result i64)))
- (type $9 (func (param i32 i64 f32 f64)))
- (type $10 (func (param i32 i64 f32)))
- (type $11 (func (param i32 i64 f64 i32)))
- (type $12 (func (result f64)))
+ (type $2 (func (param i32 i32 f64 f64)))
+ (type $3 (func (result i32)))
+ (type $4 (func (param i32) (result i32)))
+ (type $5 (func (param i32 i32)))
+ (type $6 (func (param i32)))
+ (type $7 (func (param i32 i32) (result i32)))
+ (type $8 (func (param i64) (result i64)))
+ (type $9 (func (result i64)))
+ (type $10 (func (param i32 i64 f32 f64)))
+ (type $11 (func (param i32 i64 f32)))
+ (type $12 (func (param i32 i64 f64 i32)))
+ (type $13 (func (result f64)))
(memory $0 0)
(export "load-off-2" (func $load-off-2))
(func $f (; 0 ;) (type $0) (param $i1 i32) (param $i2 i64)
@@ -346,7 +347,7 @@
)
)
)
- (func $canonicalize-binary (; 4 ;) (type $1)
+ (func $canonicalize (; 4 ;) (type $2) (param $x i32) (param $y i32) (param $fx f64) (param $fy f64)
(drop
(i32.and
(unreachable)
@@ -371,8 +372,208 @@
(unreachable)
)
)
+ (drop
+ (i32.and
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ (drop
+ (i32.and
+ (get_local $x)
+ (i32.const 3)
+ )
+ )
+ (drop
+ (i32.and
+ (get_local $x)
+ (i32.const 4)
+ )
+ )
+ (drop
+ (i32.and
+ (get_local $x)
+ (get_local $y)
+ )
+ )
+ (drop
+ (i32.and
+ (get_local $x)
+ (get_local $y)
+ )
+ )
+ (drop
+ (i32.and
+ (tee_local $x
+ (i32.const -4)
+ )
+ (get_local $y)
+ )
+ )
+ (drop
+ (i32.and
+ (block $block (result i32)
+ (i32.const -5)
+ )
+ (get_local $x)
+ )
+ )
+ (drop
+ (i32.and
+ (block $block3 (result i32)
+ (i32.const -6)
+ )
+ (get_local $x)
+ )
+ )
+ (drop
+ (i32.and
+ (block $block4 (result i32)
+ (i32.const 5)
+ )
+ (loop $loop-in (result i32)
+ (i32.const 6)
+ )
+ )
+ )
+ (drop
+ (i32.and
+ (block $block6 (result i32)
+ (i32.const 8)
+ )
+ (loop $loop-in5 (result i32)
+ (i32.const 7)
+ )
+ )
+ )
+ (drop
+ (i32.and
+ (block $block8 (result i32)
+ (i32.const 10)
+ )
+ (loop $loop-in7 (result i32)
+ (call $and-pos1)
+ (i32.const 9)
+ )
+ )
+ )
+ (drop
+ (i32.and
+ (block $block10 (result i32)
+ (call $and-pos1)
+ (i32.const 12)
+ )
+ (loop $loop-in9 (result i32)
+ (i32.const 11)
+ )
+ )
+ )
+ (drop
+ (i32.and
+ (loop $loop-in11 (result i32)
+ (call $and-pos1)
+ (i32.const 13)
+ )
+ (block $block12 (result i32)
+ (call $and-pos1)
+ (i32.const 14)
+ )
+ )
+ )
+ (drop
+ (i32.and
+ (block $block13 (result i32)
+ (call $and-pos1)
+ (i32.const 14)
+ )
+ (loop $loop-in14 (result i32)
+ (call $and-pos1)
+ (i32.const 13)
+ )
+ )
+ )
+ (drop
+ (i32.and
+ (block $block15 (result i32)
+ (i32.const 15)
+ )
+ (get_local $x)
+ )
+ )
+ (drop
+ (i32.and
+ (block $block16 (result i32)
+ (i32.const 15)
+ )
+ (get_local $x)
+ )
+ )
+ (drop
+ (i32.and
+ (i32.gt_s
+ (i32.const 16)
+ (i32.const 17)
+ )
+ (i32.gt_u
+ (i32.const 18)
+ (i32.const 19)
+ )
+ )
+ )
+ (drop
+ (i32.and
+ (i32.gt_s
+ (i32.const 22)
+ (i32.const 23)
+ )
+ (i32.gt_u
+ (i32.const 20)
+ (i32.const 21)
+ )
+ )
+ )
+ (drop
+ (i32.add
+ (i32.ctz
+ (get_local $x)
+ )
+ (i32.ctz
+ (get_local $y)
+ )
+ )
+ )
+ (drop
+ (i32.add
+ (i32.ctz
+ (get_local $y)
+ )
+ (i32.ctz
+ (get_local $x)
+ )
+ )
+ )
+ (drop
+ (i32.add
+ (i32.ctz
+ (get_local $x)
+ )
+ (i32.eqz
+ (get_local $y)
+ )
+ )
+ )
+ (drop
+ (i32.add
+ (i32.ctz
+ (get_local $y)
+ )
+ (i32.eqz
+ (get_local $x)
+ )
+ )
+ )
)
- (func $ne0 (; 5 ;) (type $2) (result i32)
+ (func $ne0 (; 5 ;) (type $3) (result i32)
(if
(call $ne0)
(nop)
@@ -420,10 +621,10 @@
(nop)
)
)
- (func $ne1 (; 7 ;) (type $2) (result i32)
+ (func $ne1 (; 7 ;) (type $3) (result i32)
(unreachable)
)
- (func $load-off-2 (; 8 ;) (type $3) (param $0 i32) (result i32)
+ (func $load-off-2 (; 8 ;) (type $4) (param $0 i32) (result i32)
(i32.store
(i32.const 6)
(get_local $0)
@@ -506,7 +707,7 @@
)
)
)
- (func $sign-ext (; 9 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $sign-ext (; 9 ;) (type $5) (param $0 i32) (param $1 i32)
(drop
(i32.eqz
(i32.and
@@ -617,7 +818,7 @@
)
)
)
- (func $sign-ext-input (; 10 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $sign-ext-input (; 10 ;) (type $5) (param $0 i32) (param $1 i32)
(drop
(i32.const 100)
)
@@ -936,11 +1137,11 @@
(i32.shr_s
(i32.shl
(i32.xor
+ (get_local $0)
(i32.le_u
(get_local $0)
(i32.const 2)
)
- (get_local $0)
)
(i32.const 24)
)
@@ -948,14 +1149,14 @@
)
)
)
- (func $linear-sums (; 11 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $linear-sums (; 11 ;) (type $5) (param $0 i32) (param $1 i32)
(drop
(i32.add
- (get_local $1)
(i32.shl
(get_local $0)
(i32.const 4)
)
+ (get_local $1)
)
)
(drop
@@ -1040,7 +1241,7 @@
(get_local $0)
)
)
- (func $almost-sign-ext (; 12 ;) (type $4) (param $0 i32) (param $0 i32)
+ (func $almost-sign-ext (; 12 ;) (type $5) (param $0 i32) (param $0 i32)
(drop
(i32.shr_s
(i32.shl
@@ -1057,7 +1258,7 @@
)
)
)
- (func $squaring (; 13 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $squaring (; 13 ;) (type $5) (param $0 i32) (param $1 i32)
(drop
(i32.and
(get_local $0)
@@ -1066,11 +1267,11 @@
)
(drop
(i32.and
+ (get_local $0)
(i32.and
(get_local $0)
(i32.const 11)
)
- (get_local $0)
)
)
(drop
@@ -1113,7 +1314,7 @@
)
)
)
- (func $sign-ext-ne (; 14 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $sign-ext-ne (; 14 ;) (type $5) (param $0 i32) (param $1 i32)
(drop
(i32.ne
(i32.and
@@ -1163,7 +1364,7 @@
)
)
)
- (func $sign-ext-eqz (; 15 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $sign-ext-eqz (; 15 ;) (type $5) (param $0 i32) (param $1 i32)
(drop
(i32.eqz
(i32.and
@@ -1173,7 +1374,7 @@
)
)
)
- (func $sign-ext-boolean (; 16 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $sign-ext-boolean (; 16 ;) (type $5) (param $0 i32) (param $1 i32)
(drop
(if (result i32)
(i32.and
@@ -1185,7 +1386,7 @@
)
)
)
- (func $add-sub-zero (; 17 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $add-sub-zero (; 17 ;) (type $5) (param $0 i32) (param $1 i32)
(drop
(get_local $0)
)
@@ -1193,7 +1394,7 @@
(get_local $0)
)
)
- (func $store-signext (; 18 ;) (type $5) (param $0 i32)
+ (func $store-signext (; 18 ;) (type $6) (param $0 i32)
(i32.store8
(i32.const 8)
(get_local $0)
@@ -1251,7 +1452,7 @@
)
)
)
- (func $sign-ext-tee (; 19 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $sign-ext-tee (; 19 ;) (type $5) (param $0 i32) (param $1 i32)
(drop
(i32.shr_s
(i32.shl
@@ -1269,7 +1470,7 @@
)
)
)
- (func $sign-ext-load (; 20 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $sign-ext-load (; 20 ;) (type $5) (param $0 i32) (param $1 i32)
(drop
(i32.load8_s
(i32.const 256)
@@ -1340,7 +1541,7 @@
)
)
)
- (func $mask-bits (; 21 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $mask-bits (; 21 ;) (type $5) (param $0 i32) (param $1 i32)
(drop
(tee_local $0
(i32.const 127)
@@ -1394,7 +1595,7 @@
)
)
)
- (func $local-info-zero-ext (; 22 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $local-info-zero-ext (; 22 ;) (type $5) (param $0 i32) (param $1 i32)
(local $x i32)
(local $y i32)
(local $z i32)
@@ -1445,7 +1646,7 @@
)
)
)
- (func $local-info-sign-ext-bitsize (; 23 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $local-info-sign-ext-bitsize (; 23 ;) (type $5) (param $0 i32) (param $1 i32)
(local $x i32)
(local $y i32)
(local $z i32)
@@ -1505,7 +1706,7 @@
)
)
)
- (func $local-info-sign-ext-already-exted (; 24 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $local-info-sign-ext-already-exted (; 24 ;) (type $5) (param $0 i32) (param $1 i32)
(local $x i32)
(local $y i32)
(local $z i32)
@@ -1616,7 +1817,7 @@
)
)
)
- (func $signed-loads-fill-the-bits (; 25 ;) (type $3) (param $$e i32) (result i32)
+ (func $signed-loads-fill-the-bits (; 25 ;) (type $4) (param $$e i32) (result i32)
(local $$0 i32)
(local $$conv i32)
(set_local $$0
@@ -1632,12 +1833,12 @@
)
(return
(i32.eq
- (get_local $$conv)
(get_local $$e)
+ (get_local $$conv)
)
)
)
- (func $local-info-sign-ext-already-exted-by-load (; 26 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $local-info-sign-ext-already-exted-by-load (; 26 ;) (type $5) (param $0 i32) (param $1 i32)
(local $x i32)
(local $y i32)
(local $z i32)
@@ -1679,7 +1880,7 @@
)
)
)
- (func $compare-load-s-sign-extend (; 27 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $compare-load-s-sign-extend (; 27 ;) (type $5) (param $0 i32) (param $1 i32)
(drop
(i32.eq
(i32.load8_u
@@ -1693,13 +1894,13 @@
)
(drop
(i32.eq
+ (i32.load8_u
+ (get_local $0)
+ )
(i32.and
(get_local $1)
(i32.const 255)
)
- (i32.load8_u
- (get_local $0)
- )
)
)
(drop
@@ -1732,6 +1933,9 @@
)
(drop
(i32.eq
+ (i32.load8_u
+ (get_local $0)
+ )
(i32.shr_s
(i32.shl
(get_local $1)
@@ -1739,13 +1943,13 @@
)
(i32.const 24)
)
- (i32.load8_u
- (get_local $0)
- )
)
)
(drop
(i32.eq
+ (i32.load8_s
+ (get_local $0)
+ )
(i32.shr_s
(i32.shl
(get_local $1)
@@ -1753,13 +1957,10 @@
)
(i32.const 16)
)
- (i32.load8_s
- (get_local $0)
- )
)
)
)
- (func $unsign-diff-sizes (; 28 ;) (type $6) (param $x i32) (param $y i32) (result i32)
+ (func $unsign-diff-sizes (; 28 ;) (type $7) (param $x i32) (param $y i32) (result i32)
(i32.ne
(i32.shr_s
(i32.shl
@@ -1783,7 +1984,7 @@
)
)
)
- (func $unsign-same-sizes (; 29 ;) (type $6) (param $x i32) (param $y i32) (result i32)
+ (func $unsign-same-sizes (; 29 ;) (type $7) (param $x i32) (param $y i32) (result i32)
(i32.ne
(i32.and
(call $unsign-same-sizes
@@ -1825,7 +2026,7 @@
)
)
)
- (func $fuzz-comp-impossible (; 31 ;) (type $5) (param $x i32)
+ (func $fuzz-comp-impossible (; 31 ;) (type $6) (param $x i32)
(drop
(i32.eq
(i32.and
@@ -1890,7 +2091,7 @@
)
)
)
- (func $if-parallel (; 32 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $if-parallel (; 32 ;) (type $5) (param $0 i32) (param $1 i32)
(drop
(i32.add
(get_local $1)
@@ -1945,7 +2146,7 @@
)
)
)
- (func $select-parallel (; 33 ;) (type $4) (param $0 i32) (param $1 i32)
+ (func $select-parallel (; 33 ;) (type $5) (param $0 i32) (param $1 i32)
(drop
(i32.add
(get_local $1)
@@ -2022,7 +2223,7 @@
)
)
)
- (func $zero-ops (; 35 ;) (type $2) (result i32)
+ (func $zero-ops (; 35 ;) (type $3) (result i32)
(return
(i32.eq
(i32.load16_s align=1
@@ -2032,7 +2233,7 @@
)
)
)
- (func $sign-ext-1-and-ne (; 36 ;) (type $2) (result i32)
+ (func $sign-ext-1-and-ne (; 36 ;) (type $3) (result i32)
(i32.ne
(i32.and
(call $sign-ext-1-and-ne)
@@ -2041,7 +2242,7 @@
(i32.const -2147483648)
)
)
- (func $neg-shifts-and-255 (; 37 ;) (type $2) (result i32)
+ (func $neg-shifts-and-255 (; 37 ;) (type $3) (result i32)
(i32.and
(i32.shr_u
(i32.const -99)
@@ -2050,7 +2251,7 @@
(i32.const 255)
)
)
- (func $neg-shifts-and-255-b (; 38 ;) (type $2) (result i32)
+ (func $neg-shifts-and-255-b (; 38 ;) (type $3) (result i32)
(i32.and
(i32.shl
(i32.const -2349025)
@@ -2059,7 +2260,7 @@
(i32.const 255)
)
)
- (func $shifts-square-overflow (; 39 ;) (type $3) (param $x i32) (result i32)
+ (func $shifts-square-overflow (; 39 ;) (type $4) (param $x i32) (result i32)
(i32.shr_u
(i32.shr_u
(get_local $x)
@@ -2068,13 +2269,13 @@
(i32.const 32767)
)
)
- (func $shifts-square-no-overflow-small (; 40 ;) (type $3) (param $x i32) (result i32)
+ (func $shifts-square-no-overflow-small (; 40 ;) (type $4) (param $x i32) (result i32)
(i32.shr_u
(get_local $x)
(i32.const 9)
)
)
- (func $shifts-square-overflow-64 (; 41 ;) (type $7) (param $x i64) (result i64)
+ (func $shifts-square-overflow-64 (; 41 ;) (type $8) (param $x i64) (result i64)
(i64.shr_u
(i64.shr_u
(get_local $x)
@@ -2083,13 +2284,13 @@
(i64.const 64767)
)
)
- (func $shifts-square-no-overflow-small-64 (; 42 ;) (type $7) (param $x i64) (result i64)
+ (func $shifts-square-no-overflow-small-64 (; 42 ;) (type $8) (param $x i64) (result i64)
(i64.shr_u
(get_local $x)
(i64.const 9)
)
)
- (func $shifts-square-unreachable (; 43 ;) (type $3) (param $x i32) (result i32)
+ (func $shifts-square-unreachable (; 43 ;) (type $4) (param $x i32) (result i32)
(i32.shr_u
(i32.shr_u
(unreachable)
@@ -2098,7 +2299,7 @@
(i32.const 4098)
)
)
- (func $mix-shifts (; 44 ;) (type $2) (result i32)
+ (func $mix-shifts (; 44 ;) (type $3) (result i32)
(i32.shr_s
(i32.shl
(i32.const 23)
@@ -2107,13 +2308,13 @@
(i32.const 168)
)
)
- (func $actually-no-shifts (; 45 ;) (type $2) (result i32)
+ (func $actually-no-shifts (; 45 ;) (type $3) (result i32)
(i32.const 33)
)
- (func $less-shifts-than-it-seems (; 46 ;) (type $3) (param $x i32) (result i32)
+ (func $less-shifts-than-it-seems (; 46 ;) (type $4) (param $x i32) (result i32)
(i32.const 4800)
)
- (func $and-popcount32 (; 47 ;) (type $2) (result i32)
+ (func $and-popcount32 (; 47 ;) (type $3) (result i32)
(i32.and
(i32.popcnt
(i32.const -1)
@@ -2121,12 +2322,12 @@
(i32.const 31)
)
)
- (func $and-popcount32-big (; 48 ;) (type $2) (result i32)
+ (func $and-popcount32-big (; 48 ;) (type $3) (result i32)
(i32.popcnt
(i32.const -1)
)
)
- (func $and-popcount64 (; 49 ;) (type $8) (result i64)
+ (func $and-popcount64 (; 49 ;) (type $9) (result i64)
(i64.and
(i64.popcnt
(i64.const -1)
@@ -2134,7 +2335,7 @@
(i64.const 63)
)
)
- (func $and-popcount64-big (; 50 ;) (type $8) (result i64)
+ (func $and-popcount64-big (; 50 ;) (type $9) (result i64)
(i64.and
(i64.popcnt
(i64.const -1)
@@ -2142,7 +2343,7 @@
(i64.const 127)
)
)
- (func $and-popcount64-bigger (; 51 ;) (type $8) (result i64)
+ (func $and-popcount64-bigger (; 51 ;) (type $9) (result i64)
(i64.and
(i64.popcnt
(i64.const -1)
@@ -2150,7 +2351,7 @@
(i64.const 255)
)
)
- (func $optimizeAddedConstants-filters-through-nonzero (; 52 ;) (type $2) (result i32)
+ (func $optimizeAddedConstants-filters-through-nonzero (; 52 ;) (type $3) (result i32)
(i32.add
(i32.shl
(i32.const -536870912)
@@ -2161,7 +2362,7 @@
(i32.const -31744)
)
)
- (func $optimizeAddedConstants-filters-through-nonzero-b (; 53 ;) (type $2) (result i32)
+ (func $optimizeAddedConstants-filters-through-nonzero-b (; 53 ;) (type $3) (result i32)
(i32.add
(i32.shl
(i32.const -536870912)
@@ -2172,7 +2373,7 @@
(i32.const -31744)
)
)
- (func $return-proper-value-from-shift-left-by-zero (; 54 ;) (type $2) (result i32)
+ (func $return-proper-value-from-shift-left-by-zero (; 54 ;) (type $3) (result i32)
(if (result i32)
(i32.add
(loop $label$0 (result i32)
@@ -2191,7 +2392,7 @@
(i32.const 0)
)
)
- (func $de-morgan-2 (; 55 ;) (type $4) (param $x i32) (param $y i32)
+ (func $de-morgan-2 (; 55 ;) (type $5) (param $x i32) (param $y i32)
(drop
(i32.eqz
(i32.or
@@ -2222,18 +2423,18 @@
)
(drop
(i32.and
+ (get_local $y)
(i32.eqz
(get_local $x)
)
- (get_local $y)
)
)
(drop
(i32.and
- (get_local $x)
(i32.eqz
(get_local $y)
)
+ (get_local $x)
)
)
(drop
@@ -2248,16 +2449,16 @@
)
(drop
(i32.and
- (i32.wrap/i64
- (i64.const 1)
- )
(i32.eqz
(get_local $y)
)
+ (i32.wrap/i64
+ (i64.const 1)
+ )
)
)
)
- (func $subzero1 (; 56 ;) (type $3) (param $0 i32) (result i32)
+ (func $subzero1 (; 56 ;) (type $4) (param $0 i32) (result i32)
(i32.sub
(i32.const 32)
(i32.clz
@@ -2265,7 +2466,7 @@
)
)
)
- (func $subzero2 (; 57 ;) (type $3) (param $0 i32) (result i32)
+ (func $subzero2 (; 57 ;) (type $4) (param $0 i32) (result i32)
(i32.sub
(i32.const 32)
(i32.clz
@@ -2273,7 +2474,7 @@
)
)
)
- (func $subzero3 (; 58 ;) (type $6) (param $0 i32) (param $1 i32) (result i32)
+ (func $subzero3 (; 58 ;) (type $7) (param $0 i32) (param $1 i32) (result i32)
(i32.sub
(get_local $1)
(i32.clz
@@ -2281,7 +2482,7 @@
)
)
)
- (func $subzero4 (; 59 ;) (type $6) (param $0 i32) (param $1 i32) (result i32)
+ (func $subzero4 (; 59 ;) (type $7) (param $0 i32) (param $1 i32) (result i32)
(i32.sub
(get_local $0)
(i32.clz
@@ -2289,7 +2490,7 @@
)
)
)
- (func $mul-power-2 (; 60 ;) (type $3) (param $x i32) (result i32)
+ (func $mul-power-2 (; 60 ;) (type $4) (param $x i32) (result i32)
(drop
(call $mul-power-2
(i32.shl
@@ -2344,7 +2545,7 @@
)
(unreachable)
)
- (func $urem-power-2 (; 61 ;) (type $3) (param $x i32) (result i32)
+ (func $urem-power-2 (; 61 ;) (type $4) (param $x i32) (result i32)
(drop
(call $urem-power-2
(i32.and
@@ -2392,10 +2593,10 @@
)
(unreachable)
)
- (func $orZero (; 62 ;) (type $3) (param $0 i32) (result i32)
+ (func $orZero (; 62 ;) (type $4) (param $0 i32) (result i32)
(get_local $0)
)
- (func $andZero (; 63 ;) (type $3) (param $0 i32) (result i32)
+ (func $andZero (; 63 ;) (type $4) (param $0 i32) (result i32)
(drop
(i32.const 0)
)
@@ -2409,7 +2610,7 @@
)
(unreachable)
)
- (func $abstract-additions (; 64 ;) (type $9) (param $x32 i32) (param $x64 i64) (param $y32 f32) (param $y64 f64)
+ (func $abstract-additions (; 64 ;) (type $10) (param $x32 i32) (param $x64 i64) (param $y32 f32) (param $y64 f64)
(drop
(get_local $x32)
)
@@ -2565,11 +2766,11 @@
)
(drop
(i32.eq
- (get_local $x32)
(i32.add
(get_local $x32)
(i32.const 10)
)
+ (get_local $x32)
)
)
(drop
@@ -2580,29 +2781,29 @@
)
(drop
(i32.eq
- (get_local $x32)
(i32.sub
(get_local $x32)
(i32.const 30)
)
+ (get_local $x32)
)
)
(drop
(i32.eq
- (get_local $x32)
- (i32.add
+ (i32.sub
(get_local $x32)
(i32.const 30)
)
+ (get_local $x32)
)
)
(drop
(i32.eq
- (get_local $x32)
(i32.sub
(get_local $x32)
(i32.const 10)
)
+ (get_local $x32)
)
)
(drop
@@ -2615,7 +2816,7 @@
)
)
)
- (func $negatives-are-sometimes-better (; 65 ;) (type $10) (param $x i32) (param $y i64) (param $z f32)
+ (func $negatives-are-sometimes-better (; 65 ;) (type $11) (param $x i32) (param $y i64) (param $z f32)
(drop
(i32.sub
(get_local $x)
@@ -2713,7 +2914,7 @@
)
)
)
- (func $shift-a-zero (; 66 ;) (type $10) (param $x i32) (param $y i64) (param $z f32)
+ (func $shift-a-zero (; 66 ;) (type $11) (param $x i32) (param $y i64) (param $z f32)
(drop
(i32.const 0)
)
@@ -2733,7 +2934,7 @@
)
)
)
- (func $identical-siblings (; 67 ;) (type $11) (param $x i32) (param $y i64) (param $z f64) (param $xx i32)
+ (func $identical-siblings (; 67 ;) (type $12) (param $x i32) (param $y i64) (param $z f64) (param $xx i32)
(drop
(i32.const 0)
)
@@ -2870,7 +3071,7 @@
(get_local $x)
)
)
- (func $select-on-const (; 70 ;) (type $4) (param $x i32) (param $y i32)
+ (func $select-on-const (; 70 ;) (type $5) (param $x i32) (param $y i32)
(drop
(get_local $x)
)
@@ -2986,7 +3187,7 @@
)
)
)
- (func $tee-with-unreachable-value (; 72 ;) (type $12) (result f64)
+ (func $tee-with-unreachable-value (; 72 ;) (type $13) (result f64)
(local $var$0 i32)
(block $label$1 (result f64)
(tee_local $var$0
@@ -2997,7 +3198,7 @@
)
)
)
- (func $add-sub-zero-reorder-1 (; 73 ;) (type $3) (param $temp i32) (result i32)
+ (func $add-sub-zero-reorder-1 (; 73 ;) (type $4) (param $temp i32) (result i32)
(i32.add
(i32.add
(i32.sub
@@ -3011,7 +3212,7 @@
(i32.const 2)
)
)
- (func $add-sub-zero-reorder-2 (; 74 ;) (type $3) (param $temp i32) (result i32)
+ (func $add-sub-zero-reorder-2 (; 74 ;) (type $4) (param $temp i32) (result i32)
(i32.add
(i32.sub
(tee_local $temp
diff --git a/test/passes/optimize-instructions.wast b/test/passes/optimize-instructions.wast
index 9ab5127a3..234b3913b 100644
--- a/test/passes/optimize-instructions.wast
+++ b/test/passes/optimize-instructions.wast
@@ -283,11 +283,120 @@
(drop (i32.and (i32.const 100) (i32.const 1)))
(drop (i32.and (i32.lt_s (i32.const 2000) (i32.const 3000)) (i32.const 1)))
)
- (func $canonicalize-binary
+ (func $canonicalize (param $x i32) (param $y i32) (param $fx f64) (param $fy f64)
(drop (i32.and (unreachable) (i32.const 1))) ;; ok to reorder
(drop (i32.and (i32.const 1) (unreachable)))
(drop (i32.div_s (unreachable) (i32.const 1))) ;; not ok
(drop (i32.div_s (i32.const 1) (unreachable)))
+ ;; the various orderings
+ (drop (i32.and (i32.const 1) (i32.const 2)))
+ (drop (i32.and (get_local $x) (i32.const 3)))
+ (drop (i32.and (i32.const 4) (get_local $x)))
+ (drop (i32.and (get_local $x) (get_local $y)))
+ (drop (i32.and (get_local $y) (get_local $x)))
+ (drop (i32.and (get_local $y) (tee_local $x (i32.const -4))))
+ (drop (i32.and
+ (block (result i32)
+ (i32.const -5)
+ )
+ (get_local $x)
+ ))
+ (drop (i32.and
+ (get_local $x)
+ (block (result i32)
+ (i32.const -6)
+ )
+ ))
+ (drop (i32.and
+ (block (result i32)
+ (i32.const 5)
+ )
+ (loop (result i32)
+ (i32.const 6)
+ )
+ ))
+ (drop (i32.and
+ (loop (result i32)
+ (i32.const 7)
+ )
+ (block (result i32)
+ (i32.const 8)
+ )
+ ))
+ (drop (i32.and
+ (loop (result i32)
+ (call $and-pos1)
+ (i32.const 9)
+ )
+ (block (result i32)
+ (i32.const 10)
+ )
+ ))
+ (drop (i32.and
+ (loop (result i32)
+ (i32.const 11)
+ )
+ (block (result i32)
+ (call $and-pos1)
+ (i32.const 12)
+ )
+ ))
+ (drop (i32.and
+ (loop (result i32)
+ (call $and-pos1)
+ (i32.const 13)
+ )
+ (block (result i32)
+ (call $and-pos1)
+ (i32.const 14)
+ )
+ ))
+ (drop (i32.and
+ (block (result i32)
+ (call $and-pos1)
+ (i32.const 14)
+ )
+ (loop (result i32)
+ (call $and-pos1)
+ (i32.const 13)
+ )
+ ))
+ (drop (i32.and
+ (block (result i32)
+ (i32.const 15)
+ )
+ (get_local $x)
+ ))
+ (drop (i32.and
+ (get_local $x)
+ (block (result i32)
+ (i32.const 15)
+ )
+ ))
+ (drop (i32.and
+ (i32.gt_s
+ (i32.const 16)
+ (i32.const 17)
+ )
+ (i32.gt_u
+ (i32.const 18)
+ (i32.const 19)
+ )
+ ))
+ (drop (i32.and
+ (i32.gt_u
+ (i32.const 20)
+ (i32.const 21)
+ )
+ (i32.gt_s
+ (i32.const 22)
+ (i32.const 23)
+ )
+ ))
+ (drop (i32.add (i32.ctz (get_local $x)) (i32.ctz (get_local $y))))
+ (drop (i32.add (i32.ctz (get_local $y)) (i32.ctz (get_local $x))))
+ (drop (i32.add (i32.ctz (get_local $x)) (i32.eqz (get_local $y))))
+ (drop (i32.add (i32.eqz (get_local $x)) (i32.ctz (get_local $y))))
)
(func $ne0 (result i32)
(if (i32.ne (call $ne0) (i32.const 0))
diff --git a/test/passes/optimize-instructions_optimize-level=2_ignore-implicit-traps.txt b/test/passes/optimize-instructions_optimize-level=2_ignore-implicit-traps.txt
index 14c82d38e..3e83b5894 100644
--- a/test/passes/optimize-instructions_optimize-level=2_ignore-implicit-traps.txt
+++ b/test/passes/optimize-instructions_optimize-level=2_ignore-implicit-traps.txt
@@ -29,13 +29,13 @@
(i32.rem_s
(i32.add
(i32.mul
+ (get_local $0)
(tee_local $7
(i32.add
(get_local $0)
(i32.const 2)
)
)
- (get_local $0)
)
(i32.const 17)
)
@@ -115,10 +115,10 @@
(i32.rem_s
(i32.add
(i32.mul
+ (get_local $0)
(tee_local $7
(get_local $0)
)
- (get_local $0)
)
(i32.const 17)
)
@@ -208,10 +208,10 @@
(i32.rem_s
(i32.add
(i32.mul
+ (get_local $0)
(i32.eqz
(get_local $0)
)
- (get_local $0)
)
(i32.const 17)
)
diff --git a/test/two_sides.fromasm b/test/two_sides.fromasm
index 0e845322d..6349982af 100644
--- a/test/two_sides.fromasm
+++ b/test/two_sides.fromasm
@@ -18,8 +18,8 @@
(tee_local $5
(f64.convert_s/i32
(i32.mul
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
)
@@ -41,8 +41,8 @@
(tee_local $5
(f64.convert_s/i32
(i32.mul
- (get_local $3)
(get_local $2)
+ (get_local $3)
)
)
)
diff --git a/test/two_sides.fromasm.clamp b/test/two_sides.fromasm.clamp
index 0bb94b93f..1db479aeb 100644
--- a/test/two_sides.fromasm.clamp
+++ b/test/two_sides.fromasm.clamp
@@ -42,8 +42,8 @@
(tee_local $5
(f64.convert_s/i32
(i32.mul
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
)
@@ -65,8 +65,8 @@
(tee_local $5
(f64.convert_s/i32
(i32.mul
- (get_local $3)
(get_local $2)
+ (get_local $3)
)
)
)
diff --git a/test/two_sides.fromasm.imprecise b/test/two_sides.fromasm.imprecise
index 9115e679a..09aa8270d 100644
--- a/test/two_sides.fromasm.imprecise
+++ b/test/two_sides.fromasm.imprecise
@@ -13,8 +13,8 @@
(tee_local $5
(f64.convert_s/i32
(i32.mul
- (get_local $1)
(get_local $0)
+ (get_local $1)
)
)
)
@@ -36,8 +36,8 @@
(tee_local $5
(f64.convert_s/i32
(i32.mul
- (get_local $3)
(get_local $2)
+ (get_local $3)
)
)
)
diff --git a/test/unit.fromasm b/test/unit.fromasm
index 3eb75dc5a..cd9874cea 100644
--- a/test/unit.fromasm
+++ b/test/unit.fromasm
@@ -361,10 +361,10 @@
(i32.add
(i32.add
(i32.add
- (get_local $0)
(call $lb
(i32.const 3)
)
+ (get_local $0)
)
(block (result i32)
(drop
@@ -703,13 +703,13 @@
)
(br_if $while-in
(i32.eq
+ (get_local $1)
(tee_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
- (get_local $1)
)
)
)
diff --git a/test/unit.fromasm.clamp b/test/unit.fromasm.clamp
index e34bf66e4..1a11052a2 100644
--- a/test/unit.fromasm.clamp
+++ b/test/unit.fromasm.clamp
@@ -411,10 +411,10 @@
(i32.add
(i32.add
(i32.add
- (get_local $0)
(call $lb
(i32.const 3)
)
+ (get_local $0)
)
(block (result i32)
(drop
@@ -753,13 +753,13 @@
)
(br_if $while-in
(i32.eq
+ (get_local $1)
(tee_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
- (get_local $1)
)
)
)
diff --git a/test/unit.fromasm.imprecise b/test/unit.fromasm.imprecise
index 04794f28f..b5da4cfe4 100644
--- a/test/unit.fromasm.imprecise
+++ b/test/unit.fromasm.imprecise
@@ -360,10 +360,10 @@
(i32.add
(i32.add
(i32.add
- (get_local $0)
(call $lb
(i32.const 3)
)
+ (get_local $0)
)
(block (result i32)
(drop
@@ -702,13 +702,13 @@
)
(br_if $while-in
(i32.eq
+ (get_local $1)
(tee_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
- (get_local $1)
)
)
)