summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/passes/OptimizeInstructions.wast21
-rw-r--r--src/passes/OptimizeInstructions.wast.processed21
-rw-r--r--test/emcc_O2_hello_world.fromasm58
-rw-r--r--test/emcc_O2_hello_world.fromasm.imprecise58
-rw-r--r--test/emcc_hello_world.fromasm3880
-rw-r--r--test/emcc_hello_world.fromasm.imprecise3864
-rw-r--r--test/example/relooper-fuzz.txt39
-rw-r--r--test/example/relooper-fuzz1.txt29
-rw-r--r--test/memorygrowth.fromasm39
-rw-r--r--test/memorygrowth.fromasm.imprecise39
-rw-r--r--test/passes/optimize-instructions.txt15
-rw-r--r--test/passes/optimize-instructions.wast18
12 files changed, 3722 insertions, 4359 deletions
diff --git a/src/passes/OptimizeInstructions.wast b/src/passes/OptimizeInstructions.wast
index 7d5c56881..48a4e2c9d 100644
--- a/src/passes/OptimizeInstructions.wast
+++ b/src/passes/OptimizeInstructions.wast
@@ -19,8 +19,8 @@
;; main function. each block here is a pattern pair of input => output
(func $patterns
+ ;; flip if-else arms to get rid of an eqz
(block
- ;; flip if-else arms to get rid of an eqz
(if
(i32.eqz
(call_import $i32.expr (i32.const 0))
@@ -34,6 +34,25 @@
(call_import $any.expr (i32.const 1))
)
)
+ ;; equal 0 => eqz
+ (block
+ (i32.eq
+ (call_import $any.expr (i32.const 0))
+ (i32.const 0)
+ )
+ (i32.eqz
+ (call_import $any.expr (i32.const 0))
+ )
+ )
+ (block
+ (i32.eq
+ (i32.const 0)
+ (call_import $any.expr (i32.const 0))
+ )
+ (i32.eqz
+ (call_import $any.expr (i32.const 0))
+ )
+ )
;; De Morgans Laws
(block
(i32.eqz (i32.eq (call_import $i32.expr (i32.const 0)) (call_import $i32.expr (i32.const 1))))
diff --git a/src/passes/OptimizeInstructions.wast.processed b/src/passes/OptimizeInstructions.wast.processed
index 61fde86c6..13ccc8241 100644
--- a/src/passes/OptimizeInstructions.wast.processed
+++ b/src/passes/OptimizeInstructions.wast.processed
@@ -19,8 +19,8 @@
"\n"
";; main function. each block here is a pattern pair of input => output\n"
"(func $patterns\n"
-"(block\n"
";; flip if-else arms to get rid of an eqz\n"
+"(block\n"
"(if\n"
"(i32.eqz\n"
"(call_import $i32.expr (i32.const 0))\n"
@@ -34,6 +34,25 @@
"(call_import $any.expr (i32.const 1))\n"
")\n"
")\n"
+";; equal 0 => eqz\n"
+"(block\n"
+"(i32.eq\n"
+"(call_import $any.expr (i32.const 0))\n"
+"(i32.const 0)\n"
+")\n"
+"(i32.eqz\n"
+"(call_import $any.expr (i32.const 0))\n"
+")\n"
+")\n"
+"(block\n"
+"(i32.eq\n"
+"(i32.const 0)\n"
+"(call_import $any.expr (i32.const 0))\n"
+")\n"
+"(i32.eqz\n"
+"(call_import $any.expr (i32.const 0))\n"
+")\n"
+")\n"
";; De Morgans Laws\n"
"(block\n"
"(i32.eqz (i32.eq (call_import $i32.expr (i32.const 0)) (call_import $i32.expr (i32.const 1))))\n"
diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm
index c3ebe3d64..9d8e9644d 100644
--- a/test/emcc_O2_hello_world.fromasm
+++ b/test/emcc_O2_hello_world.fromasm
@@ -1626,9 +1626,8 @@
)
)
(i32.or
- (i32.eq
+ (i32.eqz
(get_local $5)
- (i32.const 0)
)
(i32.eq
(get_local $5)
@@ -1655,9 +1654,8 @@
)
(if
(tee_local $5
- (i32.eq
+ (i32.eqz
(get_local $19)
- (i32.const 0)
)
)
(block
@@ -1722,13 +1720,11 @@
(tee_local $0
(if
(i32.and
- (i32.eq
+ (i32.eqz
(get_local $34)
- (i32.const 0)
)
- (i32.eq
+ (i32.eqz
(get_local $30)
- (i32.const 0)
)
)
(block
@@ -3737,14 +3733,13 @@
)
(i32.const 0)
(select
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load offset=12
(get_local $50)
)
(i32.const 8)
)
- (i32.const 0)
)
(i32.const 0)
(i32.eq
@@ -3779,12 +3774,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $3)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -3952,12 +3946,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $3)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -3979,12 +3972,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $3)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -5153,12 +5145,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $15)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -5197,12 +5188,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $6)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -5795,13 +5785,12 @@
(block
(if
(i32.or
- (i32.eq
+ (i32.eqz
(tee_local $2
(i32.load
(i32.const 192)
)
)
- (i32.const 0)
)
(i32.lt_u
(get_local $20)
@@ -5890,12 +5879,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $2)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -8495,11 +8483,10 @@
)
)
(set_local $1
- (i32.eq
+ (i32.eqz
(call $___lockfile
(get_local $0)
)
- (i32.const 0)
)
)
(set_local $2
@@ -8972,11 +8959,10 @@
)
)
)
- (i32.eq
+ (i32.eqz
(i32.load
(get_local $1)
)
- (i32.const 0)
)
)
(i32.const 0)
@@ -9606,11 +9592,10 @@
)
(block
(set_local $5
- (i32.eq
+ (i32.eqz
(call $___lockfile
(get_local $3)
)
- (i32.const 0)
)
)
(set_local $0
@@ -9668,15 +9653,13 @@
)
(if
(if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 64)
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
+ (i32.const 64)
)
+ (i32.const 0)
(block
(i32.store
(get_local $3)
@@ -9703,7 +9686,6 @@
(i32.const 0)
)
)
- (i32.const 0)
)
(i32.store8 offset=75
(get_local $0)
diff --git a/test/emcc_O2_hello_world.fromasm.imprecise b/test/emcc_O2_hello_world.fromasm.imprecise
index fbcc3c46e..be1ef1660 100644
--- a/test/emcc_O2_hello_world.fromasm.imprecise
+++ b/test/emcc_O2_hello_world.fromasm.imprecise
@@ -1624,9 +1624,8 @@
)
)
(i32.or
- (i32.eq
+ (i32.eqz
(get_local $5)
- (i32.const 0)
)
(i32.eq
(get_local $5)
@@ -1653,9 +1652,8 @@
)
(if
(tee_local $5
- (i32.eq
+ (i32.eqz
(get_local $19)
- (i32.const 0)
)
)
(block
@@ -1720,13 +1718,11 @@
(tee_local $0
(if
(i32.and
- (i32.eq
+ (i32.eqz
(get_local $34)
- (i32.const 0)
)
- (i32.eq
+ (i32.eqz
(get_local $30)
- (i32.const 0)
)
)
(block
@@ -3735,14 +3731,13 @@
)
(i32.const 0)
(select
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load offset=12
(get_local $50)
)
(i32.const 8)
)
- (i32.const 0)
)
(i32.const 0)
(i32.eq
@@ -3777,12 +3772,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $3)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -3950,12 +3944,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $3)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -3977,12 +3970,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $3)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -5151,12 +5143,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $15)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -5195,12 +5186,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $6)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -5793,13 +5783,12 @@
(block
(if
(i32.or
- (i32.eq
+ (i32.eqz
(tee_local $2
(i32.load
(i32.const 192)
)
)
- (i32.const 0)
)
(i32.lt_u
(get_local $20)
@@ -5888,12 +5877,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $2)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -8493,11 +8481,10 @@
)
)
(set_local $1
- (i32.eq
+ (i32.eqz
(call $___lockfile
(get_local $0)
)
- (i32.const 0)
)
)
(set_local $2
@@ -8970,11 +8957,10 @@
)
)
)
- (i32.eq
+ (i32.eqz
(i32.load
(get_local $1)
)
- (i32.const 0)
)
)
(i32.const 0)
@@ -9604,11 +9590,10 @@
)
(block
(set_local $5
- (i32.eq
+ (i32.eqz
(call $___lockfile
(get_local $3)
)
- (i32.const 0)
)
)
(set_local $0
@@ -9666,15 +9651,13 @@
)
(if
(if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 64)
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
+ (i32.const 64)
)
+ (i32.const 0)
(block
(i32.store
(get_local $3)
@@ -9701,7 +9684,6 @@
(i32.const 0)
)
)
- (i32.const 0)
)
(i32.store8 offset=75
(get_local $0)
diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm
index 7cb00db19..e70db6294 100644
--- a/test/emcc_hello_world.fromasm
+++ b/test/emcc_hello_world.fromasm
@@ -139,9 +139,8 @@
)
(func $setThrew (param $0 i32) (param $1 i32)
(if
- (i32.eq
+ (i32.eqz
(get_global $__THREW__)
- (i32.const 0)
)
(block
(set_global $__THREW__
@@ -435,13 +434,7 @@
(i32.const 2)
)
(if
- (i32.eq
- (get_local $4)
- (i32.const 0)
- )
- (set_local $5
- (i32.const 775)
- )
+ (get_local $4)
(block
(set_local $3
(get_local $4)
@@ -453,6 +446,9 @@
(i32.const 5)
)
)
+ (set_local $5
+ (i32.const 775)
+ )
)
)
(if
@@ -471,17 +467,17 @@
)
)
(if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $2)
- )
- (i32.const 24)
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $2)
)
(i32.const 24)
)
- (i32.const 0)
+ (i32.const 24)
+ )
+ (set_local $2
+ (get_local $0)
)
(block
(set_local $1
@@ -489,28 +485,16 @@
)
(br $while-out$4)
)
- (set_local $2
- (get_local $0)
- )
)
(br $while-in$5)
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.add
- (get_local $3)
- (i32.const -1)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $5
- (get_local $1)
+ (tee_local $0
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
)
- (br $while-out$2)
)
(block
(set_local $3
@@ -520,6 +504,12 @@
(get_local $1)
)
)
+ (block
+ (set_local $5
+ (get_local $1)
+ )
+ (br $while-out$2)
+ )
)
(br $while-in$3)
)
@@ -529,16 +519,13 @@
)
(func $___errno_location (result i32)
(if
- (i32.eq
- (i32.load
- (i32.const 16)
- )
- (i32.const 0)
+ (i32.load
+ (i32.const 16)
)
- (i32.const 60)
(i32.load offset=60
(call_import $_pthread_self)
)
+ (i32.const 60)
)
)
(func $___stdio_close (param $0 i32) (result i32)
@@ -615,14 +602,13 @@
(i32.const 4)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 64)
)
- (i32.const 0)
)
(block
(i32.store
@@ -640,12 +626,13 @@
(get_local $5)
)
(if
- (i32.ne
- (call_import $___syscall54
- (i32.const 54)
- (get_local $3)
+ (i32.eqz
+ (i32.eqz
+ (call_import $___syscall54
+ (i32.const 54)
+ (get_local $3)
+ )
)
- (i32.const 0)
)
(i32.store8 offset=75
(get_local $0)
@@ -747,38 +734,70 @@
(local $2 i32)
(block $do-once$0
(if
- (i32.eq
- (get_local $0)
- (i32.const 0)
+ (get_local $0)
+ (block
+ (if
+ (i32.le_s
+ (i32.load offset=76
+ (get_local $0)
+ )
+ (i32.const -1)
+ )
+ (br $do-once$0
+ (call $___fflush_unlocked
+ (get_local $0)
+ )
+ )
+ )
+ (set_local $2
+ (i32.eqz
+ (call $___lockfile
+ (get_local $0)
+ )
+ )
+ )
+ (set_local $1
+ (call $___fflush_unlocked
+ (get_local $0)
+ )
+ )
+ (if
+ (get_local $2)
+ (get_local $1)
+ (block
+ (call $___unlockfile
+ (get_local $0)
+ )
+ (get_local $1)
+ )
+ )
)
(block
(set_local $0
(if
- (i32.eq
- (i32.load
- (i32.const 12)
- )
- (i32.const 0)
+ (i32.load
+ (i32.const 12)
)
- (i32.const 0)
(call $_fflush
(i32.load
(i32.const 12)
)
)
+ (i32.const 0)
)
)
(call_import $___lock
(i32.const 44)
)
(if
- (i32.ne
- (tee_local $1
- (i32.load
- (i32.const 40)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (i32.const 40)
+ )
)
)
- (i32.const 0)
)
(block
(set_local $2
@@ -820,22 +839,23 @@
)
)
(if
- (i32.ne
- (get_local $0)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $0)
+ )
)
(call $___unlockfile
(get_local $1)
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load offset=56
- (get_local $1)
- )
+ (tee_local $0
+ (i32.load offset=56
+ (get_local $1)
)
- (i32.const 0)
+ )
+ (set_local $1
+ (get_local $0)
)
(block
(set_local $0
@@ -843,9 +863,6 @@
)
(br $while-out$2)
)
- (set_local $1
- (get_local $0)
- )
)
(br $while-in$3)
)
@@ -857,44 +874,6 @@
)
(get_local $0)
)
- (block
- (if
- (i32.le_s
- (i32.load offset=76
- (get_local $0)
- )
- (i32.const -1)
- )
- (br $do-once$0
- (call $___fflush_unlocked
- (get_local $0)
- )
- )
- )
- (set_local $2
- (i32.eq
- (call $___lockfile
- (get_local $0)
- )
- (i32.const 0)
- )
- )
- (set_local $1
- (call $___fflush_unlocked
- (get_local $0)
- )
- )
- (if
- (get_local $2)
- (get_local $1)
- (block
- (call $___unlockfile
- (get_local $0)
- )
- (get_local $1)
- )
- )
- )
)
)
)
@@ -1054,33 +1033,8 @@
(get_local $3)
(tee_local $5
(if
- (i32.eq
- (i32.load
- (i32.const 16)
- )
- (i32.const 0)
- )
- (block
- (i32.store
- (get_local $9)
- (i32.load
- (get_local $12)
- )
- )
- (i32.store offset=4
- (get_local $9)
- (get_local $4)
- )
- (i32.store offset=8
- (get_local $9)
- (get_local $6)
- )
- (call $___syscall_ret
- (call_import $___syscall146
- (i32.const 146)
- (get_local $9)
- )
- )
+ (i32.load
+ (i32.const 16)
)
(block
(call_import $_pthread_cleanup_push
@@ -1114,6 +1068,28 @@
)
(get_local $1)
)
+ (block
+ (i32.store
+ (get_local $9)
+ (i32.load
+ (get_local $12)
+ )
+ )
+ (i32.store offset=4
+ (get_local $9)
+ (get_local $4)
+ )
+ (i32.store offset=8
+ (get_local $9)
+ (get_local $6)
+ )
+ (call $___syscall_ret
+ (call_import $___syscall146
+ (i32.const 146)
+ (get_local $9)
+ )
+ )
+ )
)
)
)
@@ -1473,16 +1449,20 @@
(set_local $2
(select
(if
- (i32.eq
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $0)
- (i32.const 48)
- )
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $0)
+ (i32.const 48)
)
)
- (i32.const 0)
+ )
+ (call $_printf_core
+ (get_local $0)
+ (get_local $1)
+ (get_local $5)
+ (get_local $8)
+ (get_local $9)
)
(block
(set_local $2
@@ -1543,11 +1523,7 @@
)
)
(if
- (i32.eq
- (get_local $2)
- (i32.const 0)
- )
- (get_local $1)
+ (get_local $2)
(block
(drop
(call_indirect $FUNCSIG$iiii
@@ -1569,11 +1545,10 @@
(select
(i32.const -1)
(get_local $1)
- (i32.eq
+ (i32.eqz
(i32.load
(get_local $11)
)
- (i32.const 0)
)
)
)
@@ -1599,18 +1574,12 @@
)
(get_local $1)
)
+ (get_local $1)
)
)
- (call $_printf_core
- (get_local $0)
- (get_local $1)
- (get_local $5)
- (get_local $8)
- (get_local $9)
- )
)
(i32.const -1)
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $1
(i32.load
@@ -1619,7 +1588,6 @@
)
(i32.const 32)
)
- (i32.const 0)
)
)
)
@@ -1631,9 +1599,10 @@
)
)
(if
- (i32.ne
- (get_local $12)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $12)
+ )
)
(call $___unlockfile
(get_local $0)
@@ -1655,24 +1624,29 @@
(local $6 i32)
(local $7 i32)
(if
- (i32.eq
- (tee_local $6
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
+ (tee_local $6
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
)
)
)
- (i32.const 0)
+ )
+ (block
+ (set_local $3
+ (get_local $6)
+ )
+ (set_local $7
+ (i32.const 5)
+ )
)
(if
- (i32.eq
- (call $___towrite
- (get_local $2)
- )
+ (call $___towrite
+ (get_local $2)
+ )
+ (set_local $4
(i32.const 0)
)
(block
@@ -1685,17 +1659,6 @@
(i32.const 5)
)
)
- (set_local $4
- (i32.const 0)
- )
- )
- (block
- (set_local $3
- (get_local $6)
- )
- (set_local $7
- (i32.const 5)
- )
)
)
(block $label$break$L5
@@ -1768,9 +1731,8 @@
(loop $while-in$3
(block $while-out$2
(if
- (i32.eq
+ (i32.eqz
(get_local $3)
- (i32.const 0)
)
(block
(set_local $2
@@ -1921,16 +1883,23 @@
(get_local $1)
)
(if
- (i32.eq
- (i32.and
- (tee_local $1
- (i32.load
- (get_local $0)
- )
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (get_local $0)
)
- (i32.const 8)
)
- (i32.const 0)
+ (i32.const 8)
+ )
+ (block
+ (i32.store
+ (get_local $0)
+ (i32.or
+ (get_local $1)
+ (i32.const 32)
+ )
+ )
+ (i32.const -1)
)
(block
(i32.store offset=8
@@ -1964,26 +1933,12 @@
)
(i32.const 0)
)
- (block
- (i32.store
- (get_local $0)
- (i32.or
- (get_local $1)
- (i32.const 32)
- )
- )
- (i32.const -1)
- )
)
)
(func $_wcrtomb (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(block $do-once$0
(if
- (i32.eq
- (get_local $0)
- (i32.const 0)
- )
- (i32.const 1)
+ (get_local $0)
(block
(if
(i32.lt_u
@@ -2180,21 +2135,19 @@
)
)
)
+ (i32.const 1)
)
)
)
(func $_wctomb (param $0 i32) (param $1 i32) (result i32)
(if
- (i32.eq
- (get_local $0)
- (i32.const 0)
- )
- (i32.const 0)
+ (get_local $0)
(call $_wcrtomb
(get_local $0)
(get_local $1)
(i32.const 0)
)
+ (i32.const 0)
)
)
(func $_memchr (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
@@ -2443,18 +2396,19 @@
)
)
(br_if $while-out$5
- (i32.ne
- (i32.and
- (i32.xor
- (i32.and
- (get_local $6)
+ (i32.eqz
+ (i32.eqz
+ (i32.and
+ (i32.xor
+ (i32.and
+ (get_local $6)
+ (i32.const -2139062144)
+ )
(i32.const -2139062144)
)
- (i32.const -2139062144)
+ (get_local $1)
)
- (get_local $1)
)
- (i32.const 0)
)
)
(set_local $1
@@ -2518,26 +2472,23 @@
(i32.const 11)
)
(if
- (i32.eq
- (get_local $12)
- (i32.const 0)
- )
+ (get_local $12)
(block
- (set_local $7
- (i32.const 0)
+ (set_local $10
+ (get_local $12)
)
- (set_local $8
+ (set_local $9
(get_local $13)
)
- (br $label$break$L8)
)
(block
- (set_local $10
- (get_local $12)
+ (set_local $7
+ (i32.const 0)
)
- (set_local $9
+ (set_local $8
(get_local $13)
)
+ (br $label$break$L8)
)
)
)
@@ -2579,31 +2530,28 @@
)
)
(if
- (i32.eq
- (tee_local $1
- (i32.add
- (get_local $10)
- (i32.const -1)
- )
+ (tee_local $1
+ (i32.add
+ (get_local $10)
+ (i32.const -1)
)
- (i32.const 0)
)
(block
- (set_local $7
- (i32.const 0)
+ (set_local $10
+ (get_local $1)
)
- (set_local $8
+ (set_local $9
(get_local $2)
)
- (br $while-out$7)
)
(block
- (set_local $10
- (get_local $1)
+ (set_local $7
+ (i32.const 0)
)
- (set_local $9
+ (set_local $8
(get_local $2)
)
+ (br $while-out$7)
)
)
(br $while-in$8)
@@ -2685,18 +2633,15 @@
)
)
(if
- (i32.eq
- (i32.load
- (get_local $3)
- )
- (i32.const 0)
- )
- (set_local $1
- (i32.const -1)
+ (i32.load
+ (get_local $3)
)
(set_local $2
(i32.const 3)
)
+ (set_local $1
+ (i32.const -1)
+ )
)
)
(set_local $2
@@ -2781,11 +2726,10 @@
)
(func $_cleanup (param $0 i32)
(if
- (i32.eq
+ (i32.eqz
(i32.load offset=68
(get_local $0)
)
- (i32.const 0)
)
(call $___unlockfile
(get_local $0)
@@ -3052,19 +2996,19 @@
)
)
(if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (tee_local $1
- (i32.load8_s
- (get_local $20)
- )
+ (i32.shr_s
+ (i32.shl
+ (tee_local $1
+ (i32.load8_s
+ (get_local $20)
)
- (i32.const 24)
)
(i32.const 24)
)
- (i32.const 0)
+ (i32.const 24)
+ )
+ (set_local $5
+ (get_local $20)
)
(block
(set_local $82
@@ -3078,9 +3022,6 @@
)
(br $label$break$L1)
)
- (set_local $5
- (get_local $20)
- )
)
(loop $label$continue$L9
(block $label$break$L9
@@ -3222,14 +3163,13 @@
(if
(get_local $44)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $20)
@@ -3358,7 +3298,7 @@
(loop $while-in$11
(block $while-out$10
(br_if $label$break$L25
- (i32.eq
+ (i32.eqz
(i32.and
(i32.shl
(i32.const 1)
@@ -3369,7 +3309,6 @@
)
(i32.const 75913)
)
- (i32.const 0)
)
)
(set_local $8
@@ -3547,9 +3486,10 @@
(i32.const 0)
)
(if
- (i32.ne
- (get_local $11)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $11)
+ )
)
(block
(set_local $24
@@ -3941,9 +3881,10 @@
)
)
(if
- (i32.ne
- (get_local $21)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $21)
+ )
)
(block
(set_local $24
@@ -4080,7 +4021,7 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(i32.shr_s
(i32.shl
(get_local $1)
@@ -4088,7 +4029,6 @@
)
(i32.const 24)
)
- (i32.const 0)
)
(block
(set_local $24
@@ -4256,12 +4196,11 @@
(i32.const -65537)
)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $8)
(i32.const 8192)
)
- (i32.const 0)
)
)
)
@@ -4516,7 +4455,7 @@
)
(if
(i32.and
- (i32.eq
+ (i32.eqz
(tee_local $5
(i32.load
(tee_local $1
@@ -4524,15 +4463,13 @@
)
)
)
- (i32.const 0)
)
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.load offset=4
(get_local $1)
)
)
- (i32.const 0)
)
)
(set_local $6
@@ -4564,7 +4501,7 @@
)
(br_if $while-out$38
(i32.and
- (i32.eq
+ (i32.eqz
(tee_local $5
(call $_bitshift64Lshr
(get_local $5)
@@ -4572,13 +4509,11 @@
(i32.const 3)
)
)
- (i32.const 0)
)
- (i32.eq
+ (i32.eqz
(tee_local $1
(get_global $tempRet0)
)
- (i32.const 0)
)
)
)
@@ -4589,30 +4524,9 @@
)
(set_local $58
(if
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 8)
- )
- (i32.const 0)
- )
- (block
- (set_local $34
- (get_local $18)
- )
- (set_local $32
- (get_local $10)
- )
- (set_local $35
- (i32.const 0)
- )
- (set_local $36
- (i32.const 4091)
- )
- (set_local $12
- (i32.const 77)
- )
- (get_local $6)
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
)
(block
(set_local $5
@@ -4650,6 +4564,24 @@
)
(get_local $6)
)
+ (block
+ (set_local $34
+ (get_local $18)
+ )
+ (set_local $32
+ (get_local $10)
+ )
+ (set_local $35
+ (i32.const 0)
+ )
+ (set_local $36
+ (i32.const 4091)
+ )
+ (set_local $12
+ (i32.const 77)
+ )
+ (get_local $6)
+ )
)
)
(br $switch$24)
@@ -4712,26 +4644,37 @@
)
(set_local $33
(if
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 2048)
+ (i32.and
+ (get_local $18)
+ (i32.const 2048)
+ )
+ (block
+ (set_local $59
+ (get_local $33)
)
- (i32.const 0)
+ (set_local $60
+ (i32.const 1)
+ )
+ (set_local $61
+ (i32.const 4092)
+ )
+ (set_local $12
+ (i32.const 76)
+ )
+ (get_local $5)
)
(block
(set_local $1
(select
(i32.const 4091)
(i32.const 4093)
- (i32.eq
+ (i32.eqz
(tee_local $6
(i32.and
(get_local $18)
(i32.const 1)
)
)
- (i32.const 0)
)
)
)
@@ -4749,21 +4692,6 @@
)
(get_local $5)
)
- (block
- (set_local $59
- (get_local $33)
- )
- (set_local $60
- (i32.const 1)
- )
- (set_local $61
- (i32.const 4092)
- )
- (set_local $12
- (i32.const 76)
- )
- (get_local $5)
- )
)
)
(br $switch$24)
@@ -4884,9 +4812,12 @@
)
(set_local $12
(if
- (i32.eq
- (get_local $10)
- (i32.const 0)
+ (get_local $10)
+ (block
+ (set_local $69
+ (get_local $10)
+ )
+ (i32.const 86)
)
(block
(call $_pad
@@ -4901,12 +4832,6 @@
)
(i32.const 98)
)
- (block
- (set_local $69
- (get_local $10)
- )
- (i32.const 86)
- )
)
)
(br $switch$24)
@@ -4944,37 +4869,33 @@
(i32.const 1)
)
(if
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 2048)
+ (i32.and
+ (get_local $18)
+ (i32.const 2048)
+ )
+ (block
+ (set_local $39
+ (i32.const 4111)
)
- (i32.const 0)
+ (i32.const 1)
)
(block
(set_local $39
(select
(i32.const 4109)
(i32.const 4114)
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.and
(get_local $18)
(i32.const 1)
)
)
- (i32.const 0)
)
)
)
(get_local $1)
)
- (block
- (set_local $39
- (i32.const 4111)
- )
- (i32.const 1)
- )
)
)
)
@@ -5052,14 +4973,13 @@
(get_local $39)
(i32.const 9)
)
- (i32.eq
+ (i32.eqz
(tee_local $6
(i32.and
(get_local $26)
(i32.const 32)
)
)
- (i32.const 0)
)
)
)
@@ -5076,14 +4996,13 @@
(get_local $10)
(i32.const 11)
)
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.sub
(i32.const 12)
(get_local $10)
)
)
- (i32.const 0)
)
)
(get_local $14)
@@ -5100,14 +5019,13 @@
)
)
(br_if $while-out$60
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.add
(get_local $1)
(i32.const -1)
)
)
- (i32.const 0)
)
)
(br $while-in$61)
@@ -5241,12 +5159,11 @@
)
)
(set_local $13
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $18)
(i32.const 8)
)
- (i32.const 0)
)
)
(set_local $11
@@ -5390,14 +5307,13 @@
(get_local $18)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $9)
@@ -5422,14 +5338,13 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $29)
@@ -5456,14 +5371,13 @@
(i32.const 0)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $8)
@@ -5689,9 +5603,8 @@
)
(br_if $do-once$70
(get_local $8)
- (i32.eq
+ (i32.eqz
(get_local $5)
- (i32.const 0)
)
)
(i32.store
@@ -5717,21 +5630,18 @@
)
)
(if
- (i32.eq
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $13)
- (i32.const -4)
- )
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $13)
+ (i32.const -4)
)
)
- (i32.const 0)
)
+ (br $while-out$74)
(set_local $13
(get_local $5)
)
- (br $while-out$74)
)
(br $while-in$75)
)
@@ -5898,19 +5808,17 @@
(i32.const 4)
)
(get_local $7)
- (i32.eq
+ (i32.eqz
(i32.load
(get_local $7)
)
- (i32.const 0)
)
)
)
(br_if $do-once$78
(get_local $5)
- (i32.eq
+ (i32.eqz
(get_local $11)
- (i32.const 0)
)
)
(i32.store
@@ -5931,11 +5839,10 @@
(i32.const 4)
)
(get_local $7)
- (i32.eq
+ (i32.eqz
(i32.load
(get_local $7)
)
- (i32.const 0)
)
)
)
@@ -6231,7 +6138,7 @@
(get_local $27)
)
)
- (i32.eq
+ (i32.eqz
(tee_local $15
(i32.and
(call_import $i32u-rem
@@ -6245,7 +6152,6 @@
(i32.const -1)
)
)
- (i32.const 0)
)
)
)
@@ -6254,7 +6160,7 @@
(select
(f64.const 9007199254740992)
(f64.const 9007199254740994)
- (i32.eq
+ (i32.eqz
(i32.and
(i32.and
(call_import $i32u-div
@@ -6265,7 +6171,6 @@
)
(i32.const 1)
)
- (i32.const 0)
)
)
)
@@ -6300,11 +6205,7 @@
(set_local $14
(block $do-once$90
(if
- (i32.eq
- (get_local $51)
- (i32.const 0)
- )
- (get_local $14)
+ (get_local $51)
(block
(br_if $do-once$90
(get_local $14)
@@ -6330,6 +6231,7 @@
(get_local $14)
)
)
+ (get_local $14)
)
)
)
@@ -6532,19 +6434,13 @@
)
)
(if
- (i32.eq
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $6)
- (i32.const -4)
- )
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
)
)
- (i32.const 0)
- )
- (set_local $6
- (get_local $5)
)
(block
(set_local $11
@@ -6555,6 +6451,9 @@
)
(br $while-out$96)
)
+ (set_local $6
+ (get_local $5)
+ )
)
(br $while-in$97)
)
@@ -6617,14 +6516,15 @@
)
)
(if
- (i32.ne
- (tee_local $1
- (i32.and
- (get_local $18)
- (i32.const 8)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $1
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
+ )
)
)
- (i32.const 0)
)
(block
(set_local $15
@@ -6643,7 +6543,7 @@
(get_local $11)
(block
(if
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.load
(i32.add
@@ -6652,7 +6552,6 @@
)
)
)
- (i32.const 0)
)
(block
(set_local $6
@@ -6662,29 +6561,26 @@
)
)
(if
- (i32.eq
- (i32.and
- (call_import $i32u-rem
- (get_local $1)
- (i32.const 10)
- )
- (i32.const -1)
+ (i32.and
+ (call_import $i32u-rem
+ (get_local $1)
+ (i32.const 10)
)
- (i32.const 0)
+ (i32.const -1)
)
(block
- (set_local $5
- (i32.const 10)
- )
(set_local $6
(i32.const 0)
)
+ (br $do-once$100)
)
(block
+ (set_local $5
+ (i32.const 10)
+ )
(set_local $6
(i32.const 0)
)
- (br $do-once$100)
)
)
(loop $while-in$103
@@ -6696,20 +6592,21 @@
)
)
(br_if $while-out$102
- (i32.ne
- (i32.and
- (call_import $i32u-rem
- (get_local $1)
- (tee_local $5
- (i32.mul
- (get_local $5)
- (i32.const 10)
+ (i32.eqz
+ (i32.eqz
+ (i32.and
+ (call_import $i32u-rem
+ (get_local $1)
+ (tee_local $5
+ (i32.mul
+ (get_local $5)
+ (i32.const 10)
+ )
)
)
+ (i32.const -1)
)
- (i32.const -1)
)
- (i32.const 0)
)
)
(br $while-in$103)
@@ -6994,14 +6891,13 @@
(get_local $18)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $39)
@@ -7098,14 +6994,13 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(drop
(call $___fwritex
@@ -7140,20 +7035,22 @@
)
(block $do-once$114
(if
- (i32.ne
- (get_local $1)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $1)
+ )
)
(block
(br_if $do-once$114
- (i32.ne
- (i32.and
- (i32.load
- (get_local $0)
+ (i32.eqz
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
- (i32.const 0)
)
)
(drop
@@ -7214,14 +7111,13 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(drop
(call $___fwritex
@@ -7303,9 +7199,8 @@
)
(block
(set_local $9
- (i32.eq
+ (i32.eqz
(get_local $8)
- (i32.const 0)
)
)
(set_local $5
@@ -7351,14 +7246,13 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $8)
@@ -7376,14 +7270,15 @@
)
)
(br_if $do-once$122
- (i32.ne
- (i32.and
- (i32.load
- (get_local $0)
+ (i32.eqz
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
- (i32.const 0)
)
)
(drop
@@ -7440,14 +7335,13 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(drop
(call $___fwritex
@@ -7504,14 +7398,15 @@
(i32.const 0)
)
(br_if $do-once$106
- (i32.ne
- (i32.and
- (i32.load
- (get_local $0)
+ (i32.eqz
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
- (i32.const 0)
)
)
(drop
@@ -7601,20 +7496,18 @@
(get_local $7)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(if
- (i32.eq
- (i32.and
- (tee_local $1
- (i32.load
- (get_local $0)
- )
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (get_local $0)
)
- (i32.const 32)
)
- (i32.const 0)
+ (i32.const 32)
)
+ (get_local $1)
(block
(drop
(call $___fwritex
@@ -7627,11 +7520,9 @@
(get_local $0)
)
)
- (get_local $1)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $8)
@@ -7701,7 +7592,7 @@
(set_local $58
(if
(i32.and
- (i32.eq
+ (i32.eqz
(tee_local $5
(i32.load
(tee_local $1
@@ -7709,15 +7600,13 @@
)
)
)
- (i32.const 0)
)
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.load offset=4
(get_local $1)
)
)
- (i32.const 0)
)
)
(block
@@ -7772,7 +7661,7 @@
)
(br_if $while-out$129
(i32.and
- (i32.eq
+ (i32.eqz
(tee_local $5
(call $_bitshift64Lshr
(get_local $5)
@@ -7780,13 +7669,11 @@
(i32.const 4)
)
)
- (i32.const 0)
)
- (i32.eq
+ (i32.eqz
(tee_local $1
(get_global $tempRet0)
)
- (i32.const 0)
)
)
)
@@ -7795,27 +7682,24 @@
)
(if
(i32.or
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $46)
(i32.const 8)
)
- (i32.const 0)
)
(i32.and
- (i32.eq
+ (i32.eqz
(i32.load
(tee_local $1
(get_local $19)
)
)
- (i32.const 0)
)
- (i32.eq
+ (i32.eqz
(i32.load offset=4
(get_local $1)
)
- (i32.const 0)
)
)
)
@@ -7905,7 +7789,7 @@
(i32.const 0)
)
(set_local $5
- (i32.eq
+ (i32.eqz
(tee_local $1
(call $_memchr
(get_local $50)
@@ -7913,7 +7797,6 @@
(get_local $10)
)
)
- (i32.const 0)
)
)
(set_local $47
@@ -7972,13 +7855,12 @@
(loop $while-in$132
(block $while-out$131
(br_if $while-out$131
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.load
(get_local $6)
)
)
- (i32.const 0)
)
)
(br_if $while-out$131
@@ -8050,18 +7932,7 @@
(get_local $18)
)
(if
- (i32.eq
- (get_local $7)
- (i32.const 0)
- )
- (block
- (set_local $38
- (i32.const 0)
- )
- (set_local $12
- (i32.const 98)
- )
- )
+ (get_local $7)
(block
(set_local $6
(i32.const 0)
@@ -8074,13 +7945,12 @@
(loop $while-in$134
(block $while-out$133
(if
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.load
(get_local $8)
)
)
- (i32.const 0)
)
(block
(set_local $38
@@ -8124,14 +7994,13 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $63)
@@ -8161,6 +8030,14 @@
)
)
)
+ (block
+ (set_local $38
+ (i32.const 0)
+ )
+ (set_local $12
+ (i32.const 98)
+ )
+ )
)
)
)
@@ -8360,14 +8237,13 @@
(get_local $37)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $48)
@@ -8393,14 +8269,13 @@
(i32.const 0)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $47)
@@ -8437,18 +8312,12 @@
(i32.const 242)
)
(if
- (i32.eq
- (get_local $0)
- (i32.const 0)
+ (get_local $0)
+ (set_local $24
+ (get_local $82)
)
(if
- (i32.eq
- (get_local $83)
- (i32.const 0)
- )
- (set_local $24
- (i32.const 0)
- )
+ (get_local $83)
(block
(set_local $1
(i32.const 1)
@@ -8456,7 +8325,7 @@
(loop $while-in$137
(block $while-out$136
(br_if $while-out$136
- (i32.eq
+ (i32.eqz
(tee_local $0
(i32.load
(i32.add
@@ -8468,7 +8337,6 @@
)
)
)
- (i32.const 0)
)
)
(call $_pop_arg_336
@@ -8516,17 +8384,18 @@
)
)
(if
- (i32.ne
- (i32.load
- (i32.add
- (get_local $4)
- (i32.shl
- (get_local $1)
- (i32.const 2)
+ (i32.eqz
+ (i32.eqz
+ (i32.load
+ (i32.add
+ (get_local $4)
+ (i32.shl
+ (get_local $1)
+ (i32.const 2)
+ )
)
)
)
- (i32.const 0)
)
(block
(set_local $24
@@ -8558,9 +8427,9 @@
)
)
)
- )
- (set_local $24
- (get_local $82)
+ (set_local $24
+ (i32.const 0)
+ )
)
)
)
@@ -8987,9 +8856,8 @@
(i32.const 0)
)
(i32.and
- (i32.eq
+ (i32.eqz
(get_local $1)
- (i32.const 0)
)
(i32.gt_u
(get_local $0)
@@ -9084,9 +8952,10 @@
)
)
(if
- (i32.ne
- (get_local $3)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $3)
+ )
)
(block
(set_local $1
@@ -9176,12 +9045,11 @@
(get_local $2)
(get_local $3)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $4)
(i32.const 73728)
)
- (i32.const 0)
)
)
(block
@@ -9208,7 +9076,7 @@
)
)
(set_local $4
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $1
(i32.load
@@ -9217,7 +9085,6 @@
)
(i32.const 32)
)
- (i32.const 0)
)
)
(if
@@ -9238,7 +9105,7 @@
(loop $while-in$3
(block $while-out$2
(set_local $4
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $1
(if
@@ -9260,7 +9127,6 @@
)
(i32.const 32)
)
- (i32.const 0)
)
)
(br_if $while-out$2
@@ -9366,41 +9232,42 @@
)
(block
(if
- (i32.ne
- (i32.and
- (tee_local $25
- (i32.shr_u
- (tee_local $4
- (i32.load
- (i32.const 176)
+ (i32.eqz
+ (i32.eqz
+ (i32.and
+ (tee_local $25
+ (i32.shr_u
+ (tee_local $4
+ (i32.load
+ (i32.const 176)
+ )
)
- )
- (tee_local $22
- (i32.shr_u
- (tee_local $6
- (select
- (i32.const 16)
- (i32.and
- (i32.add
+ (tee_local $22
+ (i32.shr_u
+ (tee_local $6
+ (select
+ (i32.const 16)
+ (i32.and
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
+ )
+ (i32.const -8)
+ )
+ (i32.lt_u
(get_local $0)
(i32.const 11)
)
- (i32.const -8)
- )
- (i32.lt_u
- (get_local $0)
- (i32.const 11)
)
)
+ (i32.const 3)
)
- (i32.const 3)
)
)
)
+ (i32.const 3)
)
- (i32.const 3)
)
- (i32.const 0)
)
(block
(set_local $2
@@ -9546,9 +9413,10 @@
)
(block
(if
- (i32.ne
- (get_local $25)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $25)
+ )
)
(block
(set_local $1
@@ -9797,9 +9665,10 @@
(get_local $9)
)
(if
- (i32.ne
- (get_local $7)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $7)
+ )
)
(block
(set_local $0
@@ -9825,39 +9694,18 @@
)
)
(if
- (i32.eq
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $2
- (i32.shl
- (i32.const 1)
- (get_local $2)
- )
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 176)
)
)
- (i32.const 0)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $1)
+ (tee_local $2
+ (i32.shl
+ (i32.const 1)
(get_local $2)
)
)
- (set_local $5
- (i32.add
- (get_local $8)
- (i32.const 8)
- )
- )
- (set_local $12
- (get_local $8)
- )
)
(if
(i32.lt_u
@@ -9885,6 +9733,24 @@
)
)
)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $1)
+ (get_local $2)
+ )
+ )
+ (set_local $5
+ (i32.add
+ (get_local $8)
+ (i32.const 8)
+ )
+ )
+ (set_local $12
+ (get_local $8)
+ )
+ )
)
(i32.store
(get_local $5)
@@ -9918,13 +9784,14 @@
)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load
- (i32.const 180)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
+ )
)
)
- (i32.const 0)
)
(block
(set_local $0
@@ -10044,22 +9911,22 @@
(loop $while-in$7
(block $while-out$6
(if
- (i32.eq
- (tee_local $0
- (i32.load offset=16
- (get_local $4)
- )
+ (tee_local $0
+ (i32.load offset=16
+ (get_local $4)
)
- (i32.const 0)
+ )
+ (set_local $1
+ (get_local $0)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load offset=20
- (get_local $4)
- )
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $4)
)
- (i32.const 0)
+ )
+ (set_local $1
+ (get_local $0)
)
(block
(set_local $7
@@ -10070,12 +9937,6 @@
)
(br $while-out$6)
)
- (set_local $1
- (get_local $0)
- )
- )
- (set_local $1
- (get_local $0)
)
)
(set_local $0
@@ -10154,32 +10015,32 @@
)
(block
(if
- (i32.eq
+ (tee_local $2
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (get_local $10)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (set_local $4
+ (get_local $2)
+ )
+ (if
(tee_local $2
(i32.load
(tee_local $8
(i32.add
(get_local $10)
- (i32.const 20)
+ (i32.const 16)
)
)
)
)
- (i32.const 0)
- )
- (if
- (i32.eq
- (tee_local $2
- (i32.load
- (tee_local $8
- (i32.add
- (get_local $10)
- (i32.const 16)
- )
- )
- )
- )
- (i32.const 0)
+ (set_local $4
+ (get_local $2)
)
(block
(set_local $15
@@ -10187,29 +10048,24 @@
)
(br $do-once$8)
)
- (set_local $4
- (get_local $2)
- )
- )
- (set_local $4
- (get_local $2)
)
)
(loop $while-in$11
(block $while-out$10
(if
- (i32.ne
- (tee_local $2
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $4)
- (i32.const 20)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $2
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $4)
+ (i32.const 20)
+ )
)
)
)
)
- (i32.const 0)
)
(block
(set_local $4
@@ -10222,20 +10078,16 @@
)
)
(if
- (i32.eq
- (tee_local $2
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $4)
- (i32.const 16)
- )
+ (tee_local $2
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $4)
+ (i32.const 16)
)
)
)
- (i32.const 0)
)
- (br $while-out$10)
(block
(set_local $4
(get_local $2)
@@ -10244,6 +10096,7 @@
(get_local $5)
)
)
+ (br $while-out$10)
)
(br $while-in$11)
)
@@ -10323,9 +10176,10 @@
)
(block $do-once$12
(if
- (i32.ne
- (get_local $1)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $1)
+ )
)
(block
(if
@@ -10353,9 +10207,8 @@
(get_local $15)
)
(if
- (i32.eq
+ (i32.eqz
(get_local $15)
- (i32.const 0)
)
(block
(i32.store
@@ -10409,9 +10262,8 @@
)
)
(br_if $do-once$12
- (i32.eq
+ (i32.eqz
(get_local $15)
- (i32.const 0)
)
)
)
@@ -10432,13 +10284,14 @@
(get_local $1)
)
(if
- (i32.ne
- (tee_local $1
- (i32.load offset=16
- (get_local $10)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $10)
+ )
)
)
- (i32.const 0)
)
(if
(i32.lt_u
@@ -10459,13 +10312,14 @@
)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load offset=20
- (get_local $10)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $10)
+ )
)
)
- (i32.const 0)
)
(if
(i32.lt_u
@@ -10552,13 +10406,14 @@
(get_local $7)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load
- (i32.const 184)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load
+ (i32.const 184)
+ )
)
)
- (i32.const 0)
)
(block
(set_local $1
@@ -10584,39 +10439,18 @@
)
)
(if
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $2
- (i32.shl
- (i32.const 1)
- (get_local $2)
- )
+ (i32.and
+ (tee_local $0
+ (i32.load
+ (i32.const 176)
)
)
- (i32.const 0)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $0)
+ (tee_local $2
+ (i32.shl
+ (i32.const 1)
(get_local $2)
)
)
- (set_local $3
- (i32.add
- (get_local $4)
- (i32.const 8)
- )
- )
- (set_local $16
- (get_local $4)
- )
)
(if
(i32.lt_u
@@ -10644,6 +10478,24 @@
)
)
)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $0)
+ (get_local $2)
+ )
+ )
+ (set_local $3
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
+ )
+ (set_local $16
+ (get_local $4)
+ )
+ )
)
(i32.store
(get_local $3)
@@ -10705,16 +10557,10 @@
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (i32.const 180)
- )
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
)
- (i32.const 0)
- )
- (set_local $6
- (get_local $5)
)
(block
(set_local $16
@@ -10725,134 +10571,114 @@
)
(block $label$break$L123
(if
- (i32.eq
- (tee_local $3
- (i32.load offset=480
- (i32.shl
- (tee_local $12
+ (tee_local $3
+ (i32.load offset=480
+ (i32.shl
+ (tee_local $12
+ (if
+ (tee_local $3
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 8)
+ )
+ )
(if
- (i32.eq
- (tee_local $3
- (i32.shr_u
- (get_local $3)
- (i32.const 8)
- )
- )
- (i32.const 0)
+ (i32.gt_u
+ (get_local $5)
+ (i32.const 16777215)
)
- (i32.const 0)
- (if
- (i32.gt_u
- (get_local $5)
- (i32.const 16777215)
- )
- (i32.const 31)
- (block
- (set_local $7
- (i32.shl
- (tee_local $3
- (i32.add
- (i32.sub
- (i32.const 14)
+ (i32.const 31)
+ (block
+ (set_local $7
+ (i32.shl
+ (tee_local $3
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
(i32.or
- (i32.or
- (tee_local $7
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $12
- (i32.shl
- (get_local $3)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $3)
- (i32.const 1048320)
- )
- (i32.const 16)
+ (tee_local $7
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $12
+ (i32.shl
+ (get_local $3)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $3)
+ (i32.const 1048320)
)
- (i32.const 8)
+ (i32.const 16)
)
+ (i32.const 8)
)
)
)
- (i32.const 520192)
)
- (i32.const 16)
+ (i32.const 520192)
)
- (i32.const 4)
+ (i32.const 16)
)
+ (i32.const 4)
)
- (get_local $3)
)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $7
- (i32.shl
- (get_local $12)
- (get_local $7)
- )
+ (get_local $3)
+ )
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $7
+ (i32.shl
+ (get_local $12)
+ (get_local $7)
)
- (i32.const 245760)
)
- (i32.const 16)
+ (i32.const 245760)
)
- (i32.const 2)
+ (i32.const 16)
)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (i32.shl
- (get_local $7)
- (get_local $3)
- )
- (i32.const 15)
+ )
+ (i32.shr_u
+ (i32.shl
+ (get_local $7)
+ (get_local $3)
)
+ (i32.const 15)
)
)
- (i32.const 1)
)
+ (i32.const 1)
)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $5)
- (i32.add
- (get_local $3)
- (i32.const 7)
- )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $5)
+ (i32.add
+ (get_local $3)
+ (i32.const 7)
)
- (i32.const 1)
)
- (get_local $7)
+ (i32.const 1)
)
+ (get_local $7)
)
)
)
+ (i32.const 0)
)
- (i32.const 2)
)
+ (i32.const 2)
)
)
- (i32.const 0)
- )
- (block
- (set_local $31
- (get_local $16)
- )
- (set_local $32
- (i32.const 0)
- )
- (set_local $28
- (i32.const 0)
- )
- (set_local $11
- (i32.const 86)
- )
)
(block
(set_local $7
@@ -10934,13 +10760,12 @@
)
)
(set_local $7
- (i32.eq
+ (i32.eqz
(tee_local $3
(i32.load offset=20
(get_local $23)
)
)
- (i32.const 0)
)
)
(set_local $15
@@ -10978,9 +10803,8 @@
(i32.xor
(i32.and
(tee_local $7
- (i32.eq
+ (i32.eqz
(get_local $3)
- (i32.const 0)
)
)
(i32.const 1)
@@ -11019,6 +10843,20 @@
)
)
)
+ (block
+ (set_local $31
+ (get_local $16)
+ )
+ (set_local $32
+ (i32.const 0)
+ )
+ (set_local $28
+ (i32.const 0)
+ )
+ (set_local $11
+ (i32.const 86)
+ )
+ )
)
)
(if
@@ -11027,121 +10865,102 @@
(i32.const 86)
)
(if
- (i32.eq
- (tee_local $0
- (if
- (i32.and
- (i32.eq
- (get_local $32)
- (i32.const 0)
- )
- (i32.eq
- (get_local $28)
- (i32.const 0)
- )
+ (tee_local $0
+ (if
+ (i32.and
+ (i32.eqz
+ (get_local $32)
)
- (block
- (set_local $7
- (i32.sub
- (i32.const 0)
- (tee_local $3
- (i32.shl
- (i32.const 2)
- (get_local $12)
- )
+ (i32.eqz
+ (get_local $28)
+ )
+ )
+ (block
+ (set_local $7
+ (i32.sub
+ (i32.const 0)
+ (tee_local $3
+ (i32.shl
+ (i32.const 2)
+ (get_local $12)
)
)
)
- (if
- (i32.eq
- (tee_local $0
- (i32.and
- (get_local $0)
- (i32.or
- (get_local $3)
- (get_local $7)
- )
+ )
+ (if
+ (i32.eqz
+ (tee_local $0
+ (i32.and
+ (get_local $0)
+ (i32.or
+ (get_local $3)
+ (get_local $7)
)
)
- (i32.const 0)
)
- (block
- (set_local $6
- (get_local $5)
- )
- (br $do-once$0)
+ )
+ (block
+ (set_local $6
+ (get_local $5)
)
+ (br $do-once$0)
)
- (set_local $0
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.add
- (i32.and
+ )
+ (set_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.add
+ (i32.and
+ (get_local $0)
+ (i32.sub
+ (i32.const 0)
(get_local $0)
- (i32.sub
- (i32.const 0)
- (get_local $0)
- )
)
- (i32.const -1)
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (i32.load offset=480
- (i32.shl
- (i32.add
+ )
+ (i32.load offset=480
+ (i32.shl
+ (i32.add
+ (i32.or
(i32.or
(i32.or
(i32.or
- (i32.or
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $7
- (i32.shr_u
- (get_local $3)
- (get_local $0)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $0)
- )
- (tee_local $0
+ (tee_local $3
(i32.and
(i32.shr_u
- (tee_local $3
+ (tee_local $7
(i32.shr_u
- (get_local $7)
(get_local $3)
+ (get_local $0)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $0)
)
(tee_local $0
(i32.and
(i32.shr_u
(tee_local $3
(i32.shr_u
+ (get_local $7)
(get_local $3)
- (get_local $0)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
@@ -11156,30 +10975,35 @@
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $3)
- (get_local $0)
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.shr_u
+ (get_local $3)
+ (get_local $0)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
)
)
- (i32.const 2)
+ (i32.shr_u
+ (get_local $3)
+ (get_local $0)
+ )
)
+ (i32.const 2)
)
)
- (get_local $32)
)
- )
- (i32.const 0)
- )
- (block
- (set_local $17
- (get_local $31)
- )
- (set_local $13
- (get_local $28)
+ (get_local $32)
)
)
(block
@@ -11196,6 +11020,14 @@
(i32.const 90)
)
)
+ (block
+ (set_local $17
+ (get_local $31)
+ )
+ (set_local $13
+ (get_local $28)
+ )
+ )
)
)
(if
@@ -11239,13 +11071,14 @@
)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load offset=16
- (get_local $24)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load offset=16
+ (get_local $24)
+ )
)
)
- (i32.const 0)
)
(block
(set_local $26
@@ -11261,19 +11094,10 @@
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load offset=20
- (get_local $24)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $13
- (get_local $3)
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $24)
)
- (br $while-out$19)
)
(block
(set_local $26
@@ -11286,19 +11110,19 @@
(get_local $3)
)
)
+ (block
+ (set_local $13
+ (get_local $3)
+ )
+ (br $while-out$19)
+ )
)
(br $while-in$20)
)
)
)
(if
- (i32.eq
- (get_local $13)
- (i32.const 0)
- )
- (set_local $6
- (get_local $5)
- )
+ (get_local $13)
(if
(i32.lt_u
(get_local $17)
@@ -11350,32 +11174,32 @@
)
(block
(if
- (i32.eq
+ (tee_local $2
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (get_local $13)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (set_local $8
+ (get_local $2)
+ )
+ (if
(tee_local $2
(i32.load
(tee_local $9
(i32.add
(get_local $13)
- (i32.const 20)
+ (i32.const 16)
)
)
)
)
- (i32.const 0)
- )
- (if
- (i32.eq
- (tee_local $2
- (i32.load
- (tee_local $9
- (i32.add
- (get_local $13)
- (i32.const 16)
- )
- )
- )
- )
- (i32.const 0)
+ (set_local $8
+ (get_local $2)
)
(block
(set_local $6
@@ -11383,29 +11207,24 @@
)
(br $do-once$21)
)
- (set_local $8
- (get_local $2)
- )
- )
- (set_local $8
- (get_local $2)
)
)
(loop $while-in$24
(block $while-out$23
(if
- (i32.ne
- (tee_local $2
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $8)
- (i32.const 20)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $2
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $8)
+ (i32.const 20)
+ )
)
)
)
)
- (i32.const 0)
)
(block
(set_local $8
@@ -11418,20 +11237,16 @@
)
)
(if
- (i32.eq
- (tee_local $2
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $8)
- (i32.const 16)
- )
+ (tee_local $2
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
)
)
)
- (i32.const 0)
)
- (br $while-out$23)
(block
(set_local $8
(get_local $2)
@@ -11440,6 +11255,7 @@
(get_local $7)
)
)
+ (br $while-out$23)
)
(br $while-in$24)
)
@@ -11519,9 +11335,10 @@
)
(block $do-once$25
(if
- (i32.ne
- (get_local $1)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $1)
+ )
)
(block
(if
@@ -11549,9 +11366,8 @@
(get_local $6)
)
(if
- (i32.eq
+ (i32.eqz
(get_local $6)
- (i32.const 0)
)
(block
(i32.store
@@ -11605,9 +11421,8 @@
)
)
(br_if $do-once$25
- (i32.eq
+ (i32.eqz
(get_local $6)
- (i32.const 0)
)
)
)
@@ -11628,13 +11443,14 @@
(get_local $1)
)
(if
- (i32.ne
- (tee_local $1
- (i32.load offset=16
- (get_local $13)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $13)
+ )
)
)
- (i32.const 0)
)
(if
(i32.lt_u
@@ -11655,13 +11471,14 @@
)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load offset=20
- (get_local $13)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $13)
+ )
)
)
- (i32.const 0)
)
(if
(i32.lt_u
@@ -11773,39 +11590,18 @@
)
)
(if
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $1
- (i32.shl
- (i32.const 1)
- (get_local $1)
- )
+ (i32.and
+ (tee_local $0
+ (i32.load
+ (i32.const 176)
)
)
- (i32.const 0)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $0)
+ (tee_local $1
+ (i32.shl
+ (i32.const 1)
(get_local $1)
)
)
- (set_local $4
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
- )
- (set_local $10
- (get_local $2)
- )
)
(if
(i32.lt_u
@@ -11833,6 +11629,24 @@
)
)
)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $0)
+ (get_local $1)
+ )
+ )
+ (set_local $4
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
+ )
+ (set_local $10
+ (get_local $2)
+ )
+ )
)
(i32.store
(get_local $4)
@@ -11859,16 +11673,12 @@
(i32.shl
(tee_local $1
(if
- (i32.eq
- (tee_local $0
- (i32.shr_u
- (get_local $17)
- (i32.const 8)
- )
+ (tee_local $0
+ (i32.shr_u
+ (get_local $17)
+ (i32.const 8)
)
- (i32.const 0)
)
- (i32.const 0)
(if
(i32.gt_u
(get_local $17)
@@ -11960,6 +11770,7 @@
)
)
)
+ (i32.const 0)
)
)
(i32.const 2)
@@ -11984,7 +11795,7 @@
(i32.const 0)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $0
(i32.load
@@ -11998,7 +11809,6 @@
)
)
)
- (i32.const 0)
)
(block
(i32.store
@@ -12080,27 +11890,32 @@
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (tee_local $1
+ (tee_local $0
+ (i32.load
+ (tee_local $1
+ (i32.add
(i32.add
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $1)
- (i32.const 31)
- )
- (i32.const 2)
+ (get_local $2)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 31)
)
+ (i32.const 2)
)
)
)
)
- (i32.const 0)
+ )
+ (block
+ (set_local $1
+ (get_local $4)
+ )
+ (set_local $2
+ (get_local $0)
+ )
)
(block
(set_local $25
@@ -12114,14 +11929,6 @@
)
(br $while-out$31)
)
- (block
- (set_local $1
- (get_local $4)
- )
- (set_local $2
- (get_local $0)
- )
- )
)
(br $while-in$32)
)
@@ -12227,8 +12034,14 @@
(get_local $5)
)
)
+ (set_local $6
+ (get_local $5)
+ )
)
)
+ (set_local $6
+ (get_local $5)
+ )
)
)
)
@@ -12396,27 +12209,24 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(i32.load
(i32.const 648)
)
- (i32.const 0)
)
(if
- (i32.eq
- (i32.and
- (i32.add
- (tee_local $0
- (call_import $_sysconf
- (i32.const 30)
- )
+ (i32.and
+ (i32.add
+ (tee_local $0
+ (call_import $_sysconf
+ (i32.const 30)
)
- (i32.const -1)
)
- (get_local $0)
+ (i32.const -1)
)
- (i32.const 0)
+ (get_local $0)
)
+ (call_import $_abort)
(block
(i32.store
(i32.const 656)
@@ -12455,7 +12265,6 @@
)
)
)
- (call_import $_abort)
)
)
(set_local $5
@@ -12498,13 +12307,14 @@
)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load
- (i32.const 616)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load
+ (i32.const 616)
+ )
)
)
- (i32.const 0)
)
(if
(i32.or
@@ -12536,28 +12346,20 @@
(tee_local $11
(block $label$break$L257
(if
- (i32.eq
- (i32.and
- (i32.load
- (i32.const 620)
- )
- (i32.const 4)
+ (i32.and
+ (i32.load
+ (i32.const 620)
)
- (i32.const 0)
+ (i32.const 4)
)
+ (i32.const 190)
(block
(block $label$break$L259
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (i32.const 200)
- )
+ (tee_local $0
+ (i32.load
+ (i32.const 200)
)
- (i32.const 0)
- )
- (set_local $11
- (i32.const 173)
)
(block
(set_local $16
@@ -12601,13 +12403,13 @@
)
)
(if
- (i32.eq
- (tee_local $4
- (i32.load offset=8
- (get_local $16)
- )
+ (tee_local $4
+ (i32.load offset=8
+ (get_local $16)
)
- (i32.const 0)
+ )
+ (set_local $16
+ (get_local $4)
)
(block
(set_local $11
@@ -12615,9 +12417,6 @@
)
(br $label$break$L259)
)
- (set_local $16
- (get_local $4)
- )
)
(br $while-in$38)
)
@@ -12684,6 +12483,9 @@
)
)
)
+ (set_local $11
+ (i32.const 173)
+ )
)
)
(block $do-once$39
@@ -12711,25 +12513,21 @@
)
(tee_local $12
(if
- (i32.eq
- (i32.and
- (tee_local $12
- (i32.add
- (tee_local $4
- (i32.load
- (i32.const 652)
- )
+ (i32.and
+ (tee_local $12
+ (i32.add
+ (tee_local $4
+ (i32.load
+ (i32.const 652)
)
- (i32.const -1)
)
- )
- (tee_local $0
- (get_local $7)
+ (i32.const -1)
)
)
- (i32.const 0)
+ (tee_local $0
+ (get_local $7)
+ )
)
- (get_local $10)
(i32.add
(i32.sub
(get_local $10)
@@ -12746,6 +12544,7 @@
)
)
)
+ (get_local $10)
)
)
)
@@ -12763,13 +12562,14 @@
)
(block
(if
- (i32.ne
- (tee_local $0
- (i32.load
- (i32.const 616)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load
+ (i32.const 616)
+ )
)
)
- (i32.const 0)
)
(br_if $do-once$39
(i32.or
@@ -12927,7 +12727,6 @@
)
(i32.const 190)
)
- (i32.const 190)
)
)
)
@@ -13027,161 +12826,9 @@
)
(block $do-once$44
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (i32.const 200)
- )
- )
- (i32.const 0)
- )
- (block
- (if
- (i32.or
- (i32.eq
- (tee_local $0
- (i32.load
- (i32.const 192)
- )
- )
- (i32.const 0)
- )
- (i32.lt_u
- (get_local $14)
- (get_local $0)
- )
- )
- (i32.store
- (i32.const 192)
- (get_local $14)
- )
- )
- (i32.store
- (i32.const 624)
- (get_local $14)
- )
- (i32.store
- (i32.const 628)
- (get_local $19)
- )
- (i32.store
- (i32.const 636)
- (i32.const 0)
- )
- (i32.store
- (i32.const 212)
- (i32.load
- (i32.const 648)
- )
- )
- (i32.store
- (i32.const 208)
- (i32.const -1)
- )
- (set_local $1
- (i32.const 0)
- )
- (loop $while-in$47
- (block $while-out$46
- (i32.store offset=12
- (tee_local $0
- (i32.add
- (i32.const 216)
- (i32.shl
- (i32.shl
- (get_local $1)
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
- (get_local $0)
- )
- (i32.store offset=8
- (get_local $0)
- (get_local $0)
- )
- (br_if $while-out$46
- (i32.eq
- (tee_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
- )
- )
- (i32.const 32)
- )
- )
- (br $while-in$47)
- )
- )
- (set_local $1
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.add
- (get_local $14)
- (i32.const 8)
- )
- )
- (i32.const 7)
- )
- (i32.const 0)
- )
- )
- (i32.store
+ (tee_local $0
+ (i32.load
(i32.const 200)
- (tee_local $0
- (i32.add
- (get_local $14)
- (tee_local $1
- (select
- (i32.const 0)
- (i32.and
- (i32.sub
- (i32.const 0)
- (get_local $0)
- )
- (i32.const 7)
- )
- (get_local $1)
- )
- )
- )
- )
- )
- (i32.store
- (i32.const 188)
- (tee_local $1
- (i32.sub
- (i32.add
- (get_local $19)
- (i32.const -40)
- )
- (get_local $1)
- )
- )
- )
- (i32.store offset=4
- (get_local $0)
- (i32.or
- (get_local $1)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (i32.add
- (get_local $0)
- (get_local $1)
- )
- (i32.const 40)
- )
- (i32.store
- (i32.const 204)
- (i32.load
- (i32.const 664)
- )
)
)
(block
@@ -13231,18 +12878,15 @@
)
)
(if
- (i32.eq
- (tee_local $4
- (i32.load offset=8
- (get_local $7)
- )
+ (tee_local $4
+ (i32.load offset=8
+ (get_local $7)
)
- (i32.const 0)
)
- (br $while-out$48)
(set_local $7
(get_local $4)
)
+ (br $while-out$48)
)
(br $while-in$49)
)
@@ -13253,14 +12897,13 @@
(i32.const 203)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load offset=12
(get_local $43)
)
(i32.const 8)
)
- (i32.const 0)
)
(if
(i32.and
@@ -13282,7 +12925,7 @@
)
)
(set_local $2
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $1
(i32.add
@@ -13292,7 +12935,6 @@
)
(i32.const 7)
)
- (i32.const 0)
)
)
(set_local $0
@@ -13409,13 +13051,12 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.load offset=8
(get_local $1)
)
)
- (i32.const 0)
)
(block
(set_local $27
@@ -13433,14 +13074,14 @@
(i32.const 211)
)
(if
- (i32.eq
- (i32.and
- (i32.load offset=12
- (get_local $38)
- )
- (i32.const 8)
+ (i32.and
+ (i32.load offset=12
+ (get_local $38)
)
- (i32.const 0)
+ (i32.const 8)
+ )
+ (set_local $27
+ (i32.const 624)
)
(block
(i32.store
@@ -13465,7 +13106,7 @@
(get_local $1)
)
(set_local $9
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $1
(i32.add
@@ -13475,11 +13116,10 @@
)
(i32.const 7)
)
- (i32.const 0)
)
)
(set_local $5
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $2
(i32.add
@@ -13489,7 +13129,6 @@
)
(i32.const 7)
)
- (i32.const 0)
)
)
(set_local $1
@@ -13795,38 +13434,29 @@
)
(block
(if
- (i32.eq
- (tee_local $1
- (i32.load
- (tee_local $9
- (i32.add
- (tee_local $20
- (i32.add
- (get_local $3)
- (i32.const 16)
- )
+ (tee_local $1
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (tee_local $20
+ (i32.add
+ (get_local $3)
+ (i32.const 16)
)
- (i32.const 4)
)
+ (i32.const 4)
)
)
)
- (i32.const 0)
+ )
+ (set_local $2
+ (get_local $1)
)
(if
- (i32.eq
- (tee_local $1
- (i32.load
- (get_local $20)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $18
- (i32.const 0)
+ (tee_local $1
+ (i32.load
+ (get_local $20)
)
- (br $do-once$59)
)
(block
(set_local $2
@@ -13836,26 +13466,30 @@
(get_local $20)
)
)
- )
- (set_local $2
- (get_local $1)
+ (block
+ (set_local $18
+ (i32.const 0)
+ )
+ (br $do-once$59)
+ )
)
)
(loop $while-in$62
(block $while-out$61
(if
- (i32.ne
- (tee_local $1
- (i32.load
- (tee_local $20
- (i32.add
- (get_local $2)
- (i32.const 20)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $20
+ (i32.add
+ (get_local $2)
+ (i32.const 20)
+ )
)
)
)
)
- (i32.const 0)
)
(block
(set_local $2
@@ -13868,20 +13502,16 @@
)
)
(if
- (i32.eq
- (tee_local $1
- (i32.load
- (tee_local $20
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
+ (tee_local $1
+ (i32.load
+ (tee_local $20
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
)
)
)
- (i32.const 0)
)
- (br $while-out$61)
(block
(set_local $2
(get_local $1)
@@ -13890,6 +13520,7 @@
(get_local $20)
)
)
+ (br $while-out$61)
)
(br $while-in$62)
)
@@ -13968,9 +13599,8 @@
)
)
(br_if $label$break$L331
- (i32.eq
+ (i32.eqz
(get_local $0)
- (i32.const 0)
)
)
(block $do-once$63
@@ -13999,9 +13629,10 @@
(get_local $18)
)
(br_if $do-once$63
- (i32.ne
- (get_local $18)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $18)
+ )
)
)
(i32.store
@@ -14053,9 +13684,8 @@
)
)
(br_if $label$break$L331
- (i32.eq
+ (i32.eqz
(get_local $18)
- (i32.const 0)
)
)
)
@@ -14077,18 +13707,19 @@
(get_local $0)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $3)
- (i32.const 16)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $3)
+ (i32.const 16)
+ )
)
)
)
)
- (i32.const 0)
)
(if
(i32.lt_u
@@ -14109,13 +13740,12 @@
)
)
(br_if $label$break$L331
- (i32.eq
+ (i32.eqz
(tee_local $0
(i32.load offset=4
(get_local $2)
)
)
- (i32.const 0)
)
)
(if
@@ -14209,39 +13839,18 @@
)
(block $do-once$67
(if
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $1
- (i32.shl
- (i32.const 1)
- (get_local $1)
- )
+ (i32.and
+ (tee_local $0
+ (i32.load
+ (i32.const 176)
)
)
- (i32.const 0)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $0)
+ (tee_local $1
+ (i32.shl
+ (i32.const 1)
(get_local $1)
)
)
- (set_local $8
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
- )
- (set_local $33
- (get_local $2)
- )
)
(block
(if
@@ -14272,6 +13881,24 @@
)
(call_import $_abort)
)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $0)
+ (get_local $1)
+ )
+ )
+ (set_local $8
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
+ )
+ (set_local $33
+ (get_local $2)
+ )
+ )
)
)
(i32.store
@@ -14300,16 +13927,12 @@
(tee_local $1
(block $do-once$69
(if
- (i32.eq
- (tee_local $0
- (i32.shr_u
- (get_local $4)
- (i32.const 8)
- )
+ (tee_local $0
+ (i32.shr_u
+ (get_local $4)
+ (i32.const 8)
)
- (i32.const 0)
)
- (i32.const 0)
(block
(br_if $do-once$69
(i32.const 31)
@@ -14401,6 +14024,7 @@
(get_local $1)
)
)
+ (i32.const 0)
)
)
)
@@ -14426,7 +14050,7 @@
(i32.const 0)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $0
(i32.load
@@ -14440,7 +14064,6 @@
)
)
)
- (i32.const 0)
)
(block
(i32.store
@@ -14522,27 +14145,32 @@
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (tee_local $1
+ (tee_local $0
+ (i32.load
+ (tee_local $1
+ (i32.add
(i32.add
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $1)
- (i32.const 31)
- )
- (i32.const 2)
+ (get_local $2)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 31)
)
+ (i32.const 2)
)
)
)
)
- (i32.const 0)
+ )
+ (block
+ (set_local $1
+ (get_local $8)
+ )
+ (set_local $2
+ (get_local $0)
+ )
)
(block
(set_local $45
@@ -14556,14 +14184,6 @@
)
(br $while-out$71)
)
- (block
- (set_local $1
- (get_local $8)
- )
- (set_local $2
- (get_local $0)
- )
- )
)
(br $while-in$72)
)
@@ -14665,9 +14285,6 @@
)
)
)
- (set_local $27
- (i32.const 624)
- )
)
)
(loop $while-in$74
@@ -14710,7 +14327,7 @@
)
)
(set_local $8
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $1
(i32.add
@@ -14725,7 +14342,6 @@
)
(i32.const 7)
)
- (i32.const 0)
)
)
(set_local $4
@@ -14767,7 +14383,7 @@
)
)
(set_local $3
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $1
(i32.add
@@ -14777,7 +14393,6 @@
)
(i32.const 7)
)
- (i32.const 0)
)
)
(i32.store
@@ -14967,39 +14582,18 @@
)
)
(if
- (i32.eq
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $2
- (i32.shl
- (i32.const 1)
- (get_local $2)
- )
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 176)
)
)
- (i32.const 0)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $1)
+ (tee_local $2
+ (i32.shl
+ (i32.const 1)
(get_local $2)
)
)
- (set_local $9
- (i32.add
- (get_local $4)
- (i32.const 8)
- )
- )
- (set_local $20
- (get_local $4)
- )
)
(if
(i32.lt_u
@@ -15027,6 +14621,24 @@
)
)
)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $1)
+ (get_local $2)
+ )
+ )
+ (set_local $9
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
+ )
+ (set_local $20
+ (get_local $4)
+ )
+ )
)
(i32.store
(get_local $9)
@@ -15053,16 +14665,12 @@
(i32.shl
(tee_local $2
(if
- (i32.eq
- (tee_local $1
- (i32.shr_u
- (get_local $3)
- (i32.const 8)
- )
+ (tee_local $1
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 8)
)
- (i32.const 0)
)
- (i32.const 0)
(if
(i32.gt_u
(get_local $3)
@@ -15154,6 +14762,7 @@
)
)
)
+ (i32.const 0)
)
)
(i32.const 2)
@@ -15173,7 +14782,7 @@
(i32.const 0)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $1
(i32.load
@@ -15187,7 +14796,6 @@
)
)
)
- (i32.const 0)
)
(block
(i32.store
@@ -15269,27 +14877,32 @@
)
)
(if
- (i32.eq
- (tee_local $1
- (i32.load
- (tee_local $2
+ (tee_local $1
+ (i32.load
+ (tee_local $2
+ (i32.add
(i32.add
- (i32.add
- (get_local $4)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $2)
- (i32.const 31)
- )
- (i32.const 2)
+ (get_local $4)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 31)
)
+ (i32.const 2)
)
)
)
)
- (i32.const 0)
+ )
+ (block
+ (set_local $2
+ (get_local $8)
+ )
+ (set_local $4
+ (get_local $1)
+ )
)
(block
(set_local $46
@@ -15303,14 +14916,6 @@
)
(br $while-out$77)
)
- (block
- (set_local $2
- (get_local $8)
- )
- (set_local $4
- (get_local $1)
- )
- )
)
(br $while-in$78)
)
@@ -15405,6 +15010,153 @@
)
)
)
+ (block
+ (if
+ (i32.or
+ (i32.eqz
+ (tee_local $0
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (i32.lt_u
+ (get_local $14)
+ (get_local $0)
+ )
+ )
+ (i32.store
+ (i32.const 192)
+ (get_local $14)
+ )
+ )
+ (i32.store
+ (i32.const 624)
+ (get_local $14)
+ )
+ (i32.store
+ (i32.const 628)
+ (get_local $19)
+ )
+ (i32.store
+ (i32.const 636)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 212)
+ (i32.load
+ (i32.const 648)
+ )
+ )
+ (i32.store
+ (i32.const 208)
+ (i32.const -1)
+ )
+ (set_local $1
+ (i32.const 0)
+ )
+ (loop $while-in$47
+ (block $while-out$46
+ (i32.store offset=12
+ (tee_local $0
+ (i32.add
+ (i32.const 216)
+ (i32.shl
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ (get_local $0)
+ )
+ (i32.store offset=8
+ (get_local $0)
+ (get_local $0)
+ )
+ (br_if $while-out$46
+ (i32.eq
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
+ (i32.const 32)
+ )
+ )
+ (br $while-in$47)
+ )
+ )
+ (set_local $1
+ (i32.eqz
+ (i32.and
+ (tee_local $0
+ (i32.add
+ (get_local $14)
+ (i32.const 8)
+ )
+ )
+ (i32.const 7)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 200)
+ (tee_local $0
+ (i32.add
+ (get_local $14)
+ (tee_local $1
+ (select
+ (i32.const 0)
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (get_local $0)
+ )
+ (i32.const 7)
+ )
+ (get_local $1)
+ )
+ )
+ )
+ )
+ )
+ (i32.store
+ (i32.const 188)
+ (tee_local $1
+ (i32.sub
+ (i32.add
+ (get_local $19)
+ (i32.const -40)
+ )
+ (get_local $1)
+ )
+ )
+ )
+ (i32.store offset=4
+ (get_local $0)
+ (i32.or
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
+ (i32.store offset=4
+ (i32.add
+ (get_local $0)
+ (get_local $1)
+ )
+ (i32.const 40)
+ )
+ (i32.store
+ (i32.const 204)
+ (i32.load
+ (i32.const 664)
+ )
+ )
+ )
)
)
(if
@@ -15489,9 +15241,8 @@
(local $17 i32)
(local $18 i32)
(if
- (i32.eq
+ (i32.eqz
(get_local $0)
- (i32.const 0)
)
(return)
)
@@ -15543,12 +15294,17 @@
)
(block $do-once$0
(if
- (i32.eq
- (i32.and
- (get_local $0)
- (i32.const 1)
+ (i32.and
+ (get_local $0)
+ (i32.const 1)
+ )
+ (block
+ (set_local $3
+ (get_local $2)
+ )
+ (set_local $10
+ (get_local $7)
)
- (i32.const 0)
)
(block
(set_local $0
@@ -15557,9 +15313,8 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(get_local $8)
- (i32.const 0)
)
(return)
)
@@ -15805,38 +15560,29 @@
)
(block
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (tee_local $7
- (i32.add
- (tee_local $13
- (i32.add
- (get_local $4)
- (i32.const 16)
- )
+ (tee_local $0
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (tee_local $13
+ (i32.add
+ (get_local $4)
+ (i32.const 16)
)
- (i32.const 4)
)
+ (i32.const 4)
)
)
)
- (i32.const 0)
+ )
+ (set_local $2
+ (get_local $0)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (get_local $13)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $5
- (i32.const 0)
+ (tee_local $0
+ (i32.load
+ (get_local $13)
)
- (br $do-once$2)
)
(block
(set_local $2
@@ -15846,26 +15592,30 @@
(get_local $13)
)
)
- )
- (set_local $2
- (get_local $0)
+ (block
+ (set_local $5
+ (i32.const 0)
+ )
+ (br $do-once$2)
+ )
)
)
(loop $while-in$5
(block $while-out$4
(if
- (i32.ne
- (tee_local $0
- (i32.load
- (tee_local $13
- (i32.add
- (get_local $2)
- (i32.const 20)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (get_local $2)
+ (i32.const 20)
+ )
)
)
)
)
- (i32.const 0)
)
(block
(set_local $2
@@ -15878,20 +15628,16 @@
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (tee_local $13
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
+ (tee_local $0
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
)
)
)
- (i32.const 0)
)
- (br $while-out$4)
(block
(set_local $2
(get_local $0)
@@ -15900,6 +15646,7 @@
(get_local $13)
)
)
+ (br $while-out$4)
)
(br $while-in$5)
)
@@ -15978,18 +15725,7 @@
)
)
(if
- (i32.eq
- (get_local $8)
- (i32.const 0)
- )
- (block
- (set_local $3
- (get_local $4)
- )
- (set_local $10
- (get_local $12)
- )
- )
+ (get_local $8)
(block
(if
(i32.eq
@@ -16016,9 +15752,8 @@
(get_local $5)
)
(if
- (i32.eq
+ (i32.eqz
(get_local $5)
- (i32.const 0)
)
(block
(i32.store
@@ -16078,9 +15813,8 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(get_local $5)
- (i32.const 0)
)
(block
(set_local $3
@@ -16110,18 +15844,19 @@
(get_local $8)
)
(if
- (i32.ne
- (tee_local $1
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $4)
- (i32.const 16)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $4)
+ (i32.const 16)
+ )
)
)
)
)
- (i32.const 0)
)
(if
(i32.lt_u
@@ -16142,20 +15877,9 @@
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load offset=4
- (get_local $2)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $3
- (get_local $4)
- )
- (set_local $10
- (get_local $12)
+ (tee_local $0
+ (i32.load offset=4
+ (get_local $2)
)
)
(if
@@ -16183,16 +15907,24 @@
)
)
)
+ (block
+ (set_local $3
+ (get_local $4)
+ )
+ (set_local $10
+ (get_local $12)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $3
+ (get_local $4)
+ )
+ (set_local $10
+ (get_local $12)
)
)
- )
- )
- (block
- (set_local $3
- (get_local $2)
- )
- (set_local $10
- (get_local $7)
)
)
)
@@ -16205,7 +15937,7 @@
(call_import $_abort)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $0
(i32.load
@@ -16219,17 +15951,39 @@
)
(i32.const 1)
)
- (i32.const 0)
)
(call_import $_abort)
)
(if
- (i32.eq
- (i32.and
- (get_local $0)
- (i32.const 2)
+ (i32.and
+ (get_local $0)
+ (i32.const 2)
+ )
+ (block
+ (i32.store
+ (get_local $1)
+ (i32.and
+ (get_local $0)
+ (i32.const -2)
+ )
+ )
+ (i32.store offset=4
+ (get_local $3)
+ (i32.or
+ (get_local $10)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (get_local $3)
+ (get_local $10)
+ )
+ (get_local $10)
+ )
+ (set_local $5
+ (get_local $10)
)
- (i32.const 0)
)
(block
(if
@@ -16481,38 +16235,29 @@
)
(block
(if
- (i32.eq
- (tee_local $1
- (i32.load
- (tee_local $8
- (i32.add
- (tee_local $7
- (i32.add
- (get_local $9)
- (i32.const 16)
- )
+ (tee_local $1
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (tee_local $7
+ (i32.add
+ (get_local $9)
+ (i32.const 16)
)
- (i32.const 4)
)
+ (i32.const 4)
)
)
)
- (i32.const 0)
+ )
+ (set_local $2
+ (get_local $1)
)
(if
- (i32.eq
- (tee_local $1
- (i32.load
- (get_local $7)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $11
- (i32.const 0)
+ (tee_local $1
+ (i32.load
+ (get_local $7)
)
- (br $do-once$10)
)
(block
(set_local $2
@@ -16522,26 +16267,30 @@
(get_local $7)
)
)
- )
- (set_local $2
- (get_local $1)
+ (block
+ (set_local $11
+ (i32.const 0)
+ )
+ (br $do-once$10)
+ )
)
)
(loop $while-in$13
(block $while-out$12
(if
- (i32.ne
- (tee_local $1
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $2)
- (i32.const 20)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $2)
+ (i32.const 20)
+ )
)
)
)
)
- (i32.const 0)
)
(block
(set_local $2
@@ -16554,20 +16303,16 @@
)
)
(if
- (i32.eq
- (tee_local $1
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
+ (tee_local $1
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
)
)
)
- (i32.const 0)
)
- (br $while-out$12)
(block
(set_local $2
(get_local $1)
@@ -16576,6 +16321,7 @@
(get_local $7)
)
)
+ (br $while-out$12)
)
(br $while-in$13)
)
@@ -16658,9 +16404,10 @@
)
)
(if
- (i32.ne
- (get_local $0)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $0)
+ )
)
(block
(if
@@ -16688,9 +16435,8 @@
(get_local $11)
)
(if
- (i32.eq
+ (i32.eqz
(get_local $11)
- (i32.const 0)
)
(block
(i32.store
@@ -16744,9 +16490,8 @@
)
)
(br_if $do-once$8
- (i32.eq
+ (i32.eqz
(get_local $11)
- (i32.const 0)
)
)
)
@@ -16767,18 +16512,19 @@
(get_local $0)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $9)
- (i32.const 16)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $9)
+ (i32.const 16)
+ )
)
)
)
)
- (i32.const 0)
)
(if
(i32.lt_u
@@ -16799,13 +16545,14 @@
)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load offset=4
- (get_local $2)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load offset=4
+ (get_local $2)
+ )
)
)
- (i32.const 0)
)
(if
(i32.lt_u
@@ -16862,32 +16609,6 @@
)
)
)
- (block
- (i32.store
- (get_local $1)
- (i32.and
- (get_local $0)
- (i32.const -2)
- )
- )
- (i32.store offset=4
- (get_local $3)
- (i32.or
- (get_local $10)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (get_local $3)
- (get_local $10)
- )
- (get_local $10)
- )
- (set_local $5
- (get_local $10)
- )
- )
)
(set_local $1
(i32.shr_u
@@ -16914,39 +16635,18 @@
)
)
(if
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $1
- (i32.shl
- (i32.const 1)
- (get_local $1)
- )
+ (i32.and
+ (tee_local $0
+ (i32.load
+ (i32.const 176)
)
)
- (i32.const 0)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $0)
+ (tee_local $1
+ (i32.shl
+ (i32.const 1)
(get_local $1)
)
)
- (set_local $6
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
- )
- (set_local $14
- (get_local $2)
- )
)
(if
(i32.lt_u
@@ -16974,6 +16674,24 @@
)
)
)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $0)
+ (get_local $1)
+ )
+ )
+ (set_local $6
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
+ )
+ (set_local $14
+ (get_local $2)
+ )
+ )
)
(i32.store
(get_local $6)
@@ -17000,16 +16718,12 @@
(i32.shl
(tee_local $6
(if
- (i32.eq
- (tee_local $0
- (i32.shr_u
- (get_local $5)
- (i32.const 8)
- )
+ (tee_local $0
+ (i32.shr_u
+ (get_local $5)
+ (i32.const 8)
)
- (i32.const 0)
)
- (i32.const 0)
(if
(i32.gt_u
(get_local $5)
@@ -17101,6 +16815,7 @@
)
)
)
+ (i32.const 0)
)
)
(i32.const 2)
@@ -17120,46 +16835,18 @@
(i32.const 0)
)
(if
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.load
- (i32.const 180)
- )
- )
- (tee_local $2
- (i32.shl
- (i32.const 1)
- (get_local $6)
- )
+ (i32.and
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
)
)
- (i32.const 0)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (get_local $0)
- (get_local $2)
+ (tee_local $2
+ (i32.shl
+ (i32.const 1)
+ (get_local $6)
)
)
- (i32.store
- (get_local $1)
- (get_local $3)
- )
- (i32.store offset=24
- (get_local $3)
- (get_local $1)
- )
- (i32.store offset=12
- (get_local $3)
- (get_local $3)
- )
- (i32.store offset=8
- (get_local $3)
- (get_local $3)
- )
)
(block
(set_local $6
@@ -17215,27 +16902,32 @@
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (tee_local $6
+ (tee_local $0
+ (i32.load
+ (tee_local $6
+ (i32.add
(i32.add
- (i32.add
- (get_local $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $6)
- (i32.const 31)
- )
- (i32.const 2)
+ (get_local $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $6)
+ (i32.const 31)
)
+ (i32.const 2)
)
)
)
)
- (i32.const 0)
+ )
+ (block
+ (set_local $6
+ (get_local $2)
+ )
+ (set_local $1
+ (get_local $0)
+ )
)
(block
(set_local $18
@@ -17249,14 +16941,6 @@
)
(br $while-out$18)
)
- (block
- (set_local $6
- (get_local $2)
- )
- (set_local $1
- (get_local $0)
- )
- )
)
(br $while-in$19)
)
@@ -17349,6 +17033,31 @@
)
)
)
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (get_local $0)
+ (get_local $2)
+ )
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $3)
+ )
+ (i32.store offset=24
+ (get_local $3)
+ (get_local $1)
+ )
+ (i32.store offset=12
+ (get_local $3)
+ (get_local $3)
+ )
+ (i32.store offset=8
+ (get_local $3)
+ (get_local $3)
+ )
+ )
)
(i32.store
(i32.const 208)
@@ -17362,25 +17071,21 @@
)
)
(if
- (i32.eq
- (get_local $0)
- (i32.const 0)
- )
+ (get_local $0)
+ (return)
(set_local $6
(i32.const 632)
)
- (return)
)
(loop $while-in$21
(block $while-out$20
(set_local $0
- (i32.eq
+ (i32.eqz
(tee_local $6
(i32.load
(get_local $6)
)
)
- (i32.const 0)
)
)
(set_local $6
@@ -17726,9 +17431,8 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(get_local $2)
- (i32.const 0)
)
(return
(get_local $3)
@@ -18385,13 +18089,12 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(tee_local $6
(tee_local $9
(get_local $1)
)
)
- (i32.const 0)
)
(block
(set_local $2
@@ -18401,40 +18104,7 @@
)
)
(if
- (i32.eq
- (get_local $7)
- (i32.const 0)
- )
- (block
- (if
- (get_local $2)
- (block
- (i32.store
- (get_local $4)
- (call_import $i32u-rem
- (get_local $8)
- (get_local $5)
- )
- )
- (i32.store offset=4
- (get_local $4)
- (i32.const 0)
- )
- )
- )
- (set_local $0
- (call_import $i32u-div
- (get_local $8)
- (get_local $5)
- )
- )
- (set_global $tempRet0
- (i32.const 0)
- )
- (return
- (get_local $0)
- )
- )
+ (get_local $7)
(block
(if
(i32.eqz
@@ -18470,254 +18140,47 @@
(i32.const 0)
)
)
- )
- )
- )
- (set_local $10
- (i32.eq
- (get_local $7)
- (i32.const 0)
- )
- )
- (block $do-once$0
- (if
- (i32.eq
- (get_local $5)
- (i32.const 0)
- )
- (block
- (if
- (get_local $10)
- (block
- (if
- (i32.ne
- (get_local $4)
- (i32.const 0)
- )
- (block
- (i32.store
- (get_local $4)
- (call_import $i32u-rem
- (get_local $6)
- (get_local $5)
- )
- )
- (i32.store offset=4
- (get_local $4)
- (i32.const 0)
- )
- )
- )
- (set_local $0
- (call_import $i32u-div
- (get_local $6)
- (get_local $5)
- )
- )
- (set_global $tempRet0
- (i32.const 0)
- )
- (return
- (get_local $0)
- )
- )
- )
- (if
- (i32.eq
- (get_local $8)
- (i32.const 0)
- )
- (block
- (if
- (i32.ne
+ (block
+ (if
+ (get_local $2)
+ (block
+ (i32.store
(get_local $4)
- (i32.const 0)
- )
- (block
- (i32.store
- (get_local $4)
- (i32.const 0)
- )
- (i32.store offset=4
- (get_local $4)
- (call_import $i32u-rem
- (get_local $6)
- (get_local $7)
- )
- )
- )
- )
- (set_local $0
- (call_import $i32u-div
- (get_local $6)
- (get_local $7)
- )
- )
- (set_global $tempRet0
- (i32.const 0)
- )
- (return
- (get_local $0)
- )
- )
- )
- (if
- (i32.eq
- (i32.and
- (tee_local $5
- (i32.sub
- (get_local $7)
- (i32.const 1)
+ (call_import $i32u-rem
+ (get_local $8)
+ (get_local $5)
)
)
- (get_local $7)
- )
- (i32.const 0)
- )
- (block
- (if
- (i32.ne
+ (i32.store offset=4
(get_local $4)
(i32.const 0)
)
- (block
- (i32.store
- (get_local $4)
- (i32.or
- (i32.const 0)
- (i32.and
- (get_local $0)
- (i32.const -1)
- )
- )
- )
- (i32.store offset=4
- (get_local $4)
- (i32.or
- (i32.and
- (get_local $5)
- (get_local $6)
- )
- (i32.and
- (get_local $1)
- (i32.const 0)
- )
- )
- )
- )
- )
- (set_global $tempRet0
- (i32.const 0)
- )
- (return
- (i32.shr_u
- (get_local $6)
- (i32.ctz
- (get_local $7)
- )
- )
- )
- )
- )
- (if
- (i32.le_u
- (tee_local $5
- (i32.sub
- (i32.clz
- (get_local $7)
- )
- (i32.clz
- (get_local $6)
- )
- )
- )
- (i32.const 30)
- )
- (block
- (set_local $12
- (tee_local $0
- (i32.add
- (get_local $5)
- (i32.const 1)
- )
- )
- )
- (set_local $11
- (i32.or
- (i32.shl
- (get_local $6)
- (tee_local $1
- (i32.sub
- (i32.const 31)
- (get_local $5)
- )
- )
- )
- (i32.shr_u
- (get_local $8)
- (get_local $0)
- )
- )
- )
- (set_local $13
- (i32.shr_u
- (get_local $6)
- (get_local $0)
- )
- )
- (set_local $10
- (i32.const 0)
- )
- (set_local $0
- (i32.shl
- (get_local $8)
- (get_local $1)
- )
)
- (br $do-once$0)
- )
- )
- (if
- (i32.eq
- (get_local $4)
- (i32.const 0)
)
- (block
- (set_global $tempRet0
- (i32.const 0)
- )
- (return
- (i32.const 0)
+ (set_local $0
+ (call_import $i32u-div
+ (get_local $8)
+ (get_local $5)
)
)
- )
- (i32.store
- (get_local $4)
- (i32.or
+ (set_global $tempRet0
(i32.const 0)
- (i32.and
- (get_local $0)
- (i32.const -1)
- )
)
- )
- (i32.store offset=4
- (get_local $4)
- (i32.or
- (get_local $9)
- (i32.and
- (get_local $1)
- (i32.const 0)
- )
+ (return
+ (get_local $0)
)
)
- (set_global $tempRet0
- (i32.const 0)
- )
- (return
- (i32.const 0)
- )
)
+ )
+ )
+ (set_local $10
+ (i32.eqz
+ (get_local $7)
+ )
+ )
+ (block $do-once$0
+ (if
+ (get_local $5)
(block
(if
(i32.eqz
@@ -18797,9 +18260,8 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(get_local $4)
- (i32.const 0)
)
(block
(set_global $tempRet0
@@ -19052,23 +18514,241 @@
)
)
)
- )
- )
- (set_local $0
- (if
- (i32.eq
- (get_local $12)
- (i32.const 0)
- )
(block
- (set_local $6
- (get_local $0)
+ (if
+ (get_local $10)
+ (block
+ (if
+ (i32.ne
+ (get_local $4)
+ (i32.const 0)
+ )
+ (block
+ (i32.store
+ (get_local $4)
+ (call_import $i32u-rem
+ (get_local $6)
+ (get_local $5)
+ )
+ )
+ (i32.store offset=4
+ (get_local $4)
+ (i32.const 0)
+ )
+ )
+ )
+ (set_local $0
+ (call_import $i32u-div
+ (get_local $6)
+ (get_local $5)
+ )
+ )
+ (set_global $tempRet0
+ (i32.const 0)
+ )
+ (return
+ (get_local $0)
+ )
+ )
)
- (set_local $1
+ (if
+ (i32.eqz
+ (get_local $8)
+ )
+ (block
+ (if
+ (i32.ne
+ (get_local $4)
+ (i32.const 0)
+ )
+ (block
+ (i32.store
+ (get_local $4)
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (get_local $4)
+ (call_import $i32u-rem
+ (get_local $6)
+ (get_local $7)
+ )
+ )
+ )
+ )
+ (set_local $0
+ (call_import $i32u-div
+ (get_local $6)
+ (get_local $7)
+ )
+ )
+ (set_global $tempRet0
+ (i32.const 0)
+ )
+ (return
+ (get_local $0)
+ )
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $5
+ (i32.sub
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (get_local $7)
+ )
+ )
+ (block
+ (if
+ (i32.ne
+ (get_local $4)
+ (i32.const 0)
+ )
+ (block
+ (i32.store
+ (get_local $4)
+ (i32.or
+ (i32.const 0)
+ (i32.and
+ (get_local $0)
+ (i32.const -1)
+ )
+ )
+ )
+ (i32.store offset=4
+ (get_local $4)
+ (i32.or
+ (i32.and
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.and
+ (get_local $1)
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ )
+ (set_global $tempRet0
+ (i32.const 0)
+ )
+ (return
+ (i32.shr_u
+ (get_local $6)
+ (i32.ctz
+ (get_local $7)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.le_u
+ (tee_local $5
+ (i32.sub
+ (i32.clz
+ (get_local $7)
+ )
+ (i32.clz
+ (get_local $6)
+ )
+ )
+ )
+ (i32.const 30)
+ )
+ (block
+ (set_local $12
+ (tee_local $0
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ )
+ (set_local $11
+ (i32.or
+ (i32.shl
+ (get_local $6)
+ (tee_local $1
+ (i32.sub
+ (i32.const 31)
+ (get_local $5)
+ )
+ )
+ )
+ (i32.shr_u
+ (get_local $8)
+ (get_local $0)
+ )
+ )
+ )
+ (set_local $13
+ (i32.shr_u
+ (get_local $6)
+ (get_local $0)
+ )
+ )
+ (set_local $10
+ (i32.const 0)
+ )
+ (set_local $0
+ (i32.shl
+ (get_local $8)
+ (get_local $1)
+ )
+ )
+ (br $do-once$0)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $4)
+ )
+ (block
+ (set_global $tempRet0
+ (i32.const 0)
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.store
+ (get_local $4)
+ (i32.or
+ (i32.const 0)
+ (i32.and
+ (get_local $0)
+ (i32.const -1)
+ )
+ )
+ )
+ (i32.store offset=4
+ (get_local $4)
+ (i32.or
+ (get_local $9)
+ (i32.and
+ (get_local $1)
+ (i32.const 0)
+ )
+ )
+ )
+ (set_global $tempRet0
+ (i32.const 0)
+ )
+ (return
(i32.const 0)
)
- (i32.const 0)
)
+ )
+ )
+ (set_local $0
+ (if
+ (get_local $12)
(block
(set_local $3
(call $_i64Add
@@ -19226,16 +18906,12 @@
(get_global $tempRet0)
)
(if
- (i32.eq
- (tee_local $12
- (i32.sub
- (get_local $12)
- (i32.const 1)
- )
+ (tee_local $12
+ (i32.sub
+ (get_local $12)
+ (i32.const 1)
)
- (i32.const 0)
)
- (br $while-out$2)
(block
(set_local $9
(get_local $6)
@@ -19244,6 +18920,7 @@
(get_local $7)
)
)
+ (br $while-out$2)
)
(br $while-in$3)
)
@@ -19253,6 +18930,15 @@
)
(get_local $7)
)
+ (block
+ (set_local $6
+ (get_local $0)
+ )
+ (set_local $1
+ (i32.const 0)
+ )
+ (i32.const 0)
+ )
)
)
(set_local $3
diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise
index c97524f7b..014f28dd2 100644
--- a/test/emcc_hello_world.fromasm.imprecise
+++ b/test/emcc_hello_world.fromasm.imprecise
@@ -132,9 +132,8 @@
)
(func $setThrew (param $0 i32) (param $1 i32)
(if
- (i32.eq
+ (i32.eqz
(get_global $__THREW__)
- (i32.const 0)
)
(block
(set_global $__THREW__
@@ -428,13 +427,7 @@
(i32.const 2)
)
(if
- (i32.eq
- (get_local $4)
- (i32.const 0)
- )
- (set_local $5
- (i32.const 775)
- )
+ (get_local $4)
(block
(set_local $3
(get_local $4)
@@ -446,6 +439,9 @@
(i32.const 5)
)
)
+ (set_local $5
+ (i32.const 775)
+ )
)
)
(if
@@ -464,17 +460,17 @@
)
)
(if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $2)
- )
- (i32.const 24)
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $2)
)
(i32.const 24)
)
- (i32.const 0)
+ (i32.const 24)
+ )
+ (set_local $2
+ (get_local $0)
)
(block
(set_local $1
@@ -482,28 +478,16 @@
)
(br $while-out$4)
)
- (set_local $2
- (get_local $0)
- )
)
(br $while-in$5)
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.add
- (get_local $3)
- (i32.const -1)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $5
- (get_local $1)
+ (tee_local $0
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
)
- (br $while-out$2)
)
(block
(set_local $3
@@ -513,6 +497,12 @@
(get_local $1)
)
)
+ (block
+ (set_local $5
+ (get_local $1)
+ )
+ (br $while-out$2)
+ )
)
(br $while-in$3)
)
@@ -522,16 +512,13 @@
)
(func $___errno_location (result i32)
(if
- (i32.eq
- (i32.load
- (i32.const 16)
- )
- (i32.const 0)
+ (i32.load
+ (i32.const 16)
)
- (i32.const 60)
(i32.load offset=60
(call_import $_pthread_self)
)
+ (i32.const 60)
)
)
(func $___stdio_close (param $0 i32) (result i32)
@@ -608,14 +595,13 @@
(i32.const 4)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 64)
)
- (i32.const 0)
)
(block
(i32.store
@@ -633,12 +619,13 @@
(get_local $5)
)
(if
- (i32.ne
- (call_import $___syscall54
- (i32.const 54)
- (get_local $3)
+ (i32.eqz
+ (i32.eqz
+ (call_import $___syscall54
+ (i32.const 54)
+ (get_local $3)
+ )
)
- (i32.const 0)
)
(i32.store8 offset=75
(get_local $0)
@@ -740,38 +727,70 @@
(local $2 i32)
(block $do-once$0
(if
- (i32.eq
- (get_local $0)
- (i32.const 0)
+ (get_local $0)
+ (block
+ (if
+ (i32.le_s
+ (i32.load offset=76
+ (get_local $0)
+ )
+ (i32.const -1)
+ )
+ (br $do-once$0
+ (call $___fflush_unlocked
+ (get_local $0)
+ )
+ )
+ )
+ (set_local $2
+ (i32.eqz
+ (call $___lockfile
+ (get_local $0)
+ )
+ )
+ )
+ (set_local $1
+ (call $___fflush_unlocked
+ (get_local $0)
+ )
+ )
+ (if
+ (get_local $2)
+ (get_local $1)
+ (block
+ (call $___unlockfile
+ (get_local $0)
+ )
+ (get_local $1)
+ )
+ )
)
(block
(set_local $0
(if
- (i32.eq
- (i32.load
- (i32.const 12)
- )
- (i32.const 0)
+ (i32.load
+ (i32.const 12)
)
- (i32.const 0)
(call $_fflush
(i32.load
(i32.const 12)
)
)
+ (i32.const 0)
)
)
(call_import $___lock
(i32.const 44)
)
(if
- (i32.ne
- (tee_local $1
- (i32.load
- (i32.const 40)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (i32.const 40)
+ )
)
)
- (i32.const 0)
)
(block
(set_local $2
@@ -813,22 +832,23 @@
)
)
(if
- (i32.ne
- (get_local $0)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $0)
+ )
)
(call $___unlockfile
(get_local $1)
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load offset=56
- (get_local $1)
- )
+ (tee_local $0
+ (i32.load offset=56
+ (get_local $1)
)
- (i32.const 0)
+ )
+ (set_local $1
+ (get_local $0)
)
(block
(set_local $0
@@ -836,9 +856,6 @@
)
(br $while-out$2)
)
- (set_local $1
- (get_local $0)
- )
)
(br $while-in$3)
)
@@ -850,44 +867,6 @@
)
(get_local $0)
)
- (block
- (if
- (i32.le_s
- (i32.load offset=76
- (get_local $0)
- )
- (i32.const -1)
- )
- (br $do-once$0
- (call $___fflush_unlocked
- (get_local $0)
- )
- )
- )
- (set_local $2
- (i32.eq
- (call $___lockfile
- (get_local $0)
- )
- (i32.const 0)
- )
- )
- (set_local $1
- (call $___fflush_unlocked
- (get_local $0)
- )
- )
- (if
- (get_local $2)
- (get_local $1)
- (block
- (call $___unlockfile
- (get_local $0)
- )
- (get_local $1)
- )
- )
- )
)
)
)
@@ -1047,33 +1026,8 @@
(get_local $3)
(tee_local $5
(if
- (i32.eq
- (i32.load
- (i32.const 16)
- )
- (i32.const 0)
- )
- (block
- (i32.store
- (get_local $9)
- (i32.load
- (get_local $12)
- )
- )
- (i32.store offset=4
- (get_local $9)
- (get_local $4)
- )
- (i32.store offset=8
- (get_local $9)
- (get_local $6)
- )
- (call $___syscall_ret
- (call_import $___syscall146
- (i32.const 146)
- (get_local $9)
- )
- )
+ (i32.load
+ (i32.const 16)
)
(block
(call_import $_pthread_cleanup_push
@@ -1107,6 +1061,28 @@
)
(get_local $1)
)
+ (block
+ (i32.store
+ (get_local $9)
+ (i32.load
+ (get_local $12)
+ )
+ )
+ (i32.store offset=4
+ (get_local $9)
+ (get_local $4)
+ )
+ (i32.store offset=8
+ (get_local $9)
+ (get_local $6)
+ )
+ (call $___syscall_ret
+ (call_import $___syscall146
+ (i32.const 146)
+ (get_local $9)
+ )
+ )
+ )
)
)
)
@@ -1466,16 +1442,20 @@
(set_local $2
(select
(if
- (i32.eq
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $0)
- (i32.const 48)
- )
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $0)
+ (i32.const 48)
)
)
- (i32.const 0)
+ )
+ (call $_printf_core
+ (get_local $0)
+ (get_local $1)
+ (get_local $5)
+ (get_local $8)
+ (get_local $9)
)
(block
(set_local $2
@@ -1536,11 +1516,7 @@
)
)
(if
- (i32.eq
- (get_local $2)
- (i32.const 0)
- )
- (get_local $1)
+ (get_local $2)
(block
(drop
(call_indirect $FUNCSIG$iiii
@@ -1562,11 +1538,10 @@
(select
(i32.const -1)
(get_local $1)
- (i32.eq
+ (i32.eqz
(i32.load
(get_local $11)
)
- (i32.const 0)
)
)
)
@@ -1592,18 +1567,12 @@
)
(get_local $1)
)
+ (get_local $1)
)
)
- (call $_printf_core
- (get_local $0)
- (get_local $1)
- (get_local $5)
- (get_local $8)
- (get_local $9)
- )
)
(i32.const -1)
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $1
(i32.load
@@ -1612,7 +1581,6 @@
)
(i32.const 32)
)
- (i32.const 0)
)
)
)
@@ -1624,9 +1592,10 @@
)
)
(if
- (i32.ne
- (get_local $12)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $12)
+ )
)
(call $___unlockfile
(get_local $0)
@@ -1648,24 +1617,29 @@
(local $6 i32)
(local $7 i32)
(if
- (i32.eq
- (tee_local $6
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
+ (tee_local $6
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
)
)
)
- (i32.const 0)
+ )
+ (block
+ (set_local $3
+ (get_local $6)
+ )
+ (set_local $7
+ (i32.const 5)
+ )
)
(if
- (i32.eq
- (call $___towrite
- (get_local $2)
- )
+ (call $___towrite
+ (get_local $2)
+ )
+ (set_local $4
(i32.const 0)
)
(block
@@ -1678,17 +1652,6 @@
(i32.const 5)
)
)
- (set_local $4
- (i32.const 0)
- )
- )
- (block
- (set_local $3
- (get_local $6)
- )
- (set_local $7
- (i32.const 5)
- )
)
)
(block $label$break$L5
@@ -1761,9 +1724,8 @@
(loop $while-in$3
(block $while-out$2
(if
- (i32.eq
+ (i32.eqz
(get_local $3)
- (i32.const 0)
)
(block
(set_local $2
@@ -1914,16 +1876,23 @@
(get_local $1)
)
(if
- (i32.eq
- (i32.and
- (tee_local $1
- (i32.load
- (get_local $0)
- )
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (get_local $0)
)
- (i32.const 8)
)
- (i32.const 0)
+ (i32.const 8)
+ )
+ (block
+ (i32.store
+ (get_local $0)
+ (i32.or
+ (get_local $1)
+ (i32.const 32)
+ )
+ )
+ (i32.const -1)
)
(block
(i32.store offset=8
@@ -1957,26 +1926,12 @@
)
(i32.const 0)
)
- (block
- (i32.store
- (get_local $0)
- (i32.or
- (get_local $1)
- (i32.const 32)
- )
- )
- (i32.const -1)
- )
)
)
(func $_wcrtomb (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(block $do-once$0
(if
- (i32.eq
- (get_local $0)
- (i32.const 0)
- )
- (i32.const 1)
+ (get_local $0)
(block
(if
(i32.lt_u
@@ -2173,21 +2128,19 @@
)
)
)
+ (i32.const 1)
)
)
)
(func $_wctomb (param $0 i32) (param $1 i32) (result i32)
(if
- (i32.eq
- (get_local $0)
- (i32.const 0)
- )
- (i32.const 0)
+ (get_local $0)
(call $_wcrtomb
(get_local $0)
(get_local $1)
(i32.const 0)
)
+ (i32.const 0)
)
)
(func $_memchr (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
@@ -2436,18 +2389,19 @@
)
)
(br_if $while-out$5
- (i32.ne
- (i32.and
- (i32.xor
- (i32.and
- (get_local $6)
+ (i32.eqz
+ (i32.eqz
+ (i32.and
+ (i32.xor
+ (i32.and
+ (get_local $6)
+ (i32.const -2139062144)
+ )
(i32.const -2139062144)
)
- (i32.const -2139062144)
+ (get_local $1)
)
- (get_local $1)
)
- (i32.const 0)
)
)
(set_local $1
@@ -2511,26 +2465,23 @@
(i32.const 11)
)
(if
- (i32.eq
- (get_local $12)
- (i32.const 0)
- )
+ (get_local $12)
(block
- (set_local $7
- (i32.const 0)
+ (set_local $10
+ (get_local $12)
)
- (set_local $8
+ (set_local $9
(get_local $13)
)
- (br $label$break$L8)
)
(block
- (set_local $10
- (get_local $12)
+ (set_local $7
+ (i32.const 0)
)
- (set_local $9
+ (set_local $8
(get_local $13)
)
+ (br $label$break$L8)
)
)
)
@@ -2572,31 +2523,28 @@
)
)
(if
- (i32.eq
- (tee_local $1
- (i32.add
- (get_local $10)
- (i32.const -1)
- )
+ (tee_local $1
+ (i32.add
+ (get_local $10)
+ (i32.const -1)
)
- (i32.const 0)
)
(block
- (set_local $7
- (i32.const 0)
+ (set_local $10
+ (get_local $1)
)
- (set_local $8
+ (set_local $9
(get_local $2)
)
- (br $while-out$7)
)
(block
- (set_local $10
- (get_local $1)
+ (set_local $7
+ (i32.const 0)
)
- (set_local $9
+ (set_local $8
(get_local $2)
)
+ (br $while-out$7)
)
)
(br $while-in$8)
@@ -2678,18 +2626,15 @@
)
)
(if
- (i32.eq
- (i32.load
- (get_local $3)
- )
- (i32.const 0)
- )
- (set_local $1
- (i32.const -1)
+ (i32.load
+ (get_local $3)
)
(set_local $2
(i32.const 3)
)
+ (set_local $1
+ (i32.const -1)
+ )
)
)
(set_local $2
@@ -2774,11 +2719,10 @@
)
(func $_cleanup (param $0 i32)
(if
- (i32.eq
+ (i32.eqz
(i32.load offset=68
(get_local $0)
)
- (i32.const 0)
)
(call $___unlockfile
(get_local $0)
@@ -3045,19 +2989,19 @@
)
)
(if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (tee_local $1
- (i32.load8_s
- (get_local $20)
- )
+ (i32.shr_s
+ (i32.shl
+ (tee_local $1
+ (i32.load8_s
+ (get_local $20)
)
- (i32.const 24)
)
(i32.const 24)
)
- (i32.const 0)
+ (i32.const 24)
+ )
+ (set_local $5
+ (get_local $20)
)
(block
(set_local $82
@@ -3071,9 +3015,6 @@
)
(br $label$break$L1)
)
- (set_local $5
- (get_local $20)
- )
)
(loop $label$continue$L9
(block $label$break$L9
@@ -3215,14 +3156,13 @@
(if
(get_local $44)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $20)
@@ -3351,7 +3291,7 @@
(loop $while-in$11
(block $while-out$10
(br_if $label$break$L25
- (i32.eq
+ (i32.eqz
(i32.and
(i32.shl
(i32.const 1)
@@ -3362,7 +3302,6 @@
)
(i32.const 75913)
)
- (i32.const 0)
)
)
(set_local $8
@@ -3540,9 +3479,10 @@
(i32.const 0)
)
(if
- (i32.ne
- (get_local $11)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $11)
+ )
)
(block
(set_local $24
@@ -3934,9 +3874,10 @@
)
)
(if
- (i32.ne
- (get_local $21)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $21)
+ )
)
(block
(set_local $24
@@ -4073,7 +4014,7 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(i32.shr_s
(i32.shl
(get_local $1)
@@ -4081,7 +4022,6 @@
)
(i32.const 24)
)
- (i32.const 0)
)
(block
(set_local $24
@@ -4249,12 +4189,11 @@
(i32.const -65537)
)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $8)
(i32.const 8192)
)
- (i32.const 0)
)
)
)
@@ -4509,7 +4448,7 @@
)
(if
(i32.and
- (i32.eq
+ (i32.eqz
(tee_local $5
(i32.load
(tee_local $1
@@ -4517,15 +4456,13 @@
)
)
)
- (i32.const 0)
)
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.load offset=4
(get_local $1)
)
)
- (i32.const 0)
)
)
(set_local $6
@@ -4557,7 +4494,7 @@
)
(br_if $while-out$38
(i32.and
- (i32.eq
+ (i32.eqz
(tee_local $5
(call $_bitshift64Lshr
(get_local $5)
@@ -4565,13 +4502,11 @@
(i32.const 3)
)
)
- (i32.const 0)
)
- (i32.eq
+ (i32.eqz
(tee_local $1
(get_global $tempRet0)
)
- (i32.const 0)
)
)
)
@@ -4582,30 +4517,9 @@
)
(set_local $58
(if
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 8)
- )
- (i32.const 0)
- )
- (block
- (set_local $34
- (get_local $18)
- )
- (set_local $32
- (get_local $10)
- )
- (set_local $35
- (i32.const 0)
- )
- (set_local $36
- (i32.const 4091)
- )
- (set_local $12
- (i32.const 77)
- )
- (get_local $6)
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
)
(block
(set_local $5
@@ -4643,6 +4557,24 @@
)
(get_local $6)
)
+ (block
+ (set_local $34
+ (get_local $18)
+ )
+ (set_local $32
+ (get_local $10)
+ )
+ (set_local $35
+ (i32.const 0)
+ )
+ (set_local $36
+ (i32.const 4091)
+ )
+ (set_local $12
+ (i32.const 77)
+ )
+ (get_local $6)
+ )
)
)
(br $switch$24)
@@ -4705,26 +4637,37 @@
)
(set_local $33
(if
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 2048)
+ (i32.and
+ (get_local $18)
+ (i32.const 2048)
+ )
+ (block
+ (set_local $59
+ (get_local $33)
)
- (i32.const 0)
+ (set_local $60
+ (i32.const 1)
+ )
+ (set_local $61
+ (i32.const 4092)
+ )
+ (set_local $12
+ (i32.const 76)
+ )
+ (get_local $5)
)
(block
(set_local $1
(select
(i32.const 4091)
(i32.const 4093)
- (i32.eq
+ (i32.eqz
(tee_local $6
(i32.and
(get_local $18)
(i32.const 1)
)
)
- (i32.const 0)
)
)
)
@@ -4742,21 +4685,6 @@
)
(get_local $5)
)
- (block
- (set_local $59
- (get_local $33)
- )
- (set_local $60
- (i32.const 1)
- )
- (set_local $61
- (i32.const 4092)
- )
- (set_local $12
- (i32.const 76)
- )
- (get_local $5)
- )
)
)
(br $switch$24)
@@ -4877,9 +4805,12 @@
)
(set_local $12
(if
- (i32.eq
- (get_local $10)
- (i32.const 0)
+ (get_local $10)
+ (block
+ (set_local $69
+ (get_local $10)
+ )
+ (i32.const 86)
)
(block
(call $_pad
@@ -4894,12 +4825,6 @@
)
(i32.const 98)
)
- (block
- (set_local $69
- (get_local $10)
- )
- (i32.const 86)
- )
)
)
(br $switch$24)
@@ -4937,37 +4862,33 @@
(i32.const 1)
)
(if
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 2048)
+ (i32.and
+ (get_local $18)
+ (i32.const 2048)
+ )
+ (block
+ (set_local $39
+ (i32.const 4111)
)
- (i32.const 0)
+ (i32.const 1)
)
(block
(set_local $39
(select
(i32.const 4109)
(i32.const 4114)
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.and
(get_local $18)
(i32.const 1)
)
)
- (i32.const 0)
)
)
)
(get_local $1)
)
- (block
- (set_local $39
- (i32.const 4111)
- )
- (i32.const 1)
- )
)
)
)
@@ -5045,14 +4966,13 @@
(get_local $39)
(i32.const 9)
)
- (i32.eq
+ (i32.eqz
(tee_local $6
(i32.and
(get_local $26)
(i32.const 32)
)
)
- (i32.const 0)
)
)
)
@@ -5069,14 +4989,13 @@
(get_local $10)
(i32.const 11)
)
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.sub
(i32.const 12)
(get_local $10)
)
)
- (i32.const 0)
)
)
(get_local $14)
@@ -5093,14 +5012,13 @@
)
)
(br_if $while-out$60
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.add
(get_local $1)
(i32.const -1)
)
)
- (i32.const 0)
)
)
(br $while-in$61)
@@ -5234,12 +5152,11 @@
)
)
(set_local $13
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $18)
(i32.const 8)
)
- (i32.const 0)
)
)
(set_local $11
@@ -5383,14 +5300,13 @@
(get_local $18)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $9)
@@ -5415,14 +5331,13 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $29)
@@ -5449,14 +5364,13 @@
(i32.const 0)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $8)
@@ -5682,9 +5596,8 @@
)
(br_if $do-once$70
(get_local $8)
- (i32.eq
+ (i32.eqz
(get_local $5)
- (i32.const 0)
)
)
(i32.store
@@ -5710,21 +5623,18 @@
)
)
(if
- (i32.eq
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $13)
- (i32.const -4)
- )
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $13)
+ (i32.const -4)
)
)
- (i32.const 0)
)
+ (br $while-out$74)
(set_local $13
(get_local $5)
)
- (br $while-out$74)
)
(br $while-in$75)
)
@@ -5891,19 +5801,17 @@
(i32.const 4)
)
(get_local $7)
- (i32.eq
+ (i32.eqz
(i32.load
(get_local $7)
)
- (i32.const 0)
)
)
)
(br_if $do-once$78
(get_local $5)
- (i32.eq
+ (i32.eqz
(get_local $11)
- (i32.const 0)
)
)
(i32.store
@@ -5924,11 +5832,10 @@
(i32.const 4)
)
(get_local $7)
- (i32.eq
+ (i32.eqz
(i32.load
(get_local $7)
)
- (i32.const 0)
)
)
)
@@ -6224,7 +6131,7 @@
(get_local $27)
)
)
- (i32.eq
+ (i32.eqz
(tee_local $15
(i32.and
(i32.rem_u
@@ -6238,7 +6145,6 @@
(i32.const -1)
)
)
- (i32.const 0)
)
)
)
@@ -6247,7 +6153,7 @@
(select
(f64.const 9007199254740992)
(f64.const 9007199254740994)
- (i32.eq
+ (i32.eqz
(i32.and
(i32.and
(i32.div_u
@@ -6258,7 +6164,6 @@
)
(i32.const 1)
)
- (i32.const 0)
)
)
)
@@ -6293,11 +6198,7 @@
(set_local $14
(block $do-once$90
(if
- (i32.eq
- (get_local $51)
- (i32.const 0)
- )
- (get_local $14)
+ (get_local $51)
(block
(br_if $do-once$90
(get_local $14)
@@ -6323,6 +6224,7 @@
(get_local $14)
)
)
+ (get_local $14)
)
)
)
@@ -6525,19 +6427,13 @@
)
)
(if
- (i32.eq
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $6)
- (i32.const -4)
- )
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
)
)
- (i32.const 0)
- )
- (set_local $6
- (get_local $5)
)
(block
(set_local $11
@@ -6548,6 +6444,9 @@
)
(br $while-out$96)
)
+ (set_local $6
+ (get_local $5)
+ )
)
(br $while-in$97)
)
@@ -6610,14 +6509,15 @@
)
)
(if
- (i32.ne
- (tee_local $1
- (i32.and
- (get_local $18)
- (i32.const 8)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $1
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
+ )
)
)
- (i32.const 0)
)
(block
(set_local $15
@@ -6636,7 +6536,7 @@
(get_local $11)
(block
(if
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.load
(i32.add
@@ -6645,7 +6545,6 @@
)
)
)
- (i32.const 0)
)
(block
(set_local $6
@@ -6655,29 +6554,26 @@
)
)
(if
- (i32.eq
- (i32.and
- (i32.rem_u
- (get_local $1)
- (i32.const 10)
- )
- (i32.const -1)
+ (i32.and
+ (i32.rem_u
+ (get_local $1)
+ (i32.const 10)
)
- (i32.const 0)
+ (i32.const -1)
)
(block
- (set_local $5
- (i32.const 10)
- )
(set_local $6
(i32.const 0)
)
+ (br $do-once$100)
)
(block
+ (set_local $5
+ (i32.const 10)
+ )
(set_local $6
(i32.const 0)
)
- (br $do-once$100)
)
)
(loop $while-in$103
@@ -6689,20 +6585,21 @@
)
)
(br_if $while-out$102
- (i32.ne
- (i32.and
- (i32.rem_u
- (get_local $1)
- (tee_local $5
- (i32.mul
- (get_local $5)
- (i32.const 10)
+ (i32.eqz
+ (i32.eqz
+ (i32.and
+ (i32.rem_u
+ (get_local $1)
+ (tee_local $5
+ (i32.mul
+ (get_local $5)
+ (i32.const 10)
+ )
)
)
+ (i32.const -1)
)
- (i32.const -1)
)
- (i32.const 0)
)
)
(br $while-in$103)
@@ -6987,14 +6884,13 @@
(get_local $18)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $39)
@@ -7091,14 +6987,13 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(drop
(call $___fwritex
@@ -7133,20 +7028,22 @@
)
(block $do-once$114
(if
- (i32.ne
- (get_local $1)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $1)
+ )
)
(block
(br_if $do-once$114
- (i32.ne
- (i32.and
- (i32.load
- (get_local $0)
+ (i32.eqz
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
- (i32.const 0)
)
)
(drop
@@ -7207,14 +7104,13 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(drop
(call $___fwritex
@@ -7296,9 +7192,8 @@
)
(block
(set_local $9
- (i32.eq
+ (i32.eqz
(get_local $8)
- (i32.const 0)
)
)
(set_local $5
@@ -7344,14 +7239,13 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $8)
@@ -7369,14 +7263,15 @@
)
)
(br_if $do-once$122
- (i32.ne
- (i32.and
- (i32.load
- (get_local $0)
+ (i32.eqz
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
- (i32.const 0)
)
)
(drop
@@ -7433,14 +7328,13 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(drop
(call $___fwritex
@@ -7497,14 +7391,15 @@
(i32.const 0)
)
(br_if $do-once$106
- (i32.ne
- (i32.and
- (i32.load
- (get_local $0)
+ (i32.eqz
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
)
- (i32.const 0)
)
)
(drop
@@ -7594,20 +7489,18 @@
(get_local $7)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(if
- (i32.eq
- (i32.and
- (tee_local $1
- (i32.load
- (get_local $0)
- )
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (get_local $0)
)
- (i32.const 32)
)
- (i32.const 0)
+ (i32.const 32)
)
+ (get_local $1)
(block
(drop
(call $___fwritex
@@ -7620,11 +7513,9 @@
(get_local $0)
)
)
- (get_local $1)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $8)
@@ -7694,7 +7585,7 @@
(set_local $58
(if
(i32.and
- (i32.eq
+ (i32.eqz
(tee_local $5
(i32.load
(tee_local $1
@@ -7702,15 +7593,13 @@
)
)
)
- (i32.const 0)
)
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.load offset=4
(get_local $1)
)
)
- (i32.const 0)
)
)
(block
@@ -7765,7 +7654,7 @@
)
(br_if $while-out$129
(i32.and
- (i32.eq
+ (i32.eqz
(tee_local $5
(call $_bitshift64Lshr
(get_local $5)
@@ -7773,13 +7662,11 @@
(i32.const 4)
)
)
- (i32.const 0)
)
- (i32.eq
+ (i32.eqz
(tee_local $1
(get_global $tempRet0)
)
- (i32.const 0)
)
)
)
@@ -7788,27 +7675,24 @@
)
(if
(i32.or
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $46)
(i32.const 8)
)
- (i32.const 0)
)
(i32.and
- (i32.eq
+ (i32.eqz
(i32.load
(tee_local $1
(get_local $19)
)
)
- (i32.const 0)
)
- (i32.eq
+ (i32.eqz
(i32.load offset=4
(get_local $1)
)
- (i32.const 0)
)
)
)
@@ -7898,7 +7782,7 @@
(i32.const 0)
)
(set_local $5
- (i32.eq
+ (i32.eqz
(tee_local $1
(call $_memchr
(get_local $50)
@@ -7906,7 +7790,6 @@
(get_local $10)
)
)
- (i32.const 0)
)
)
(set_local $47
@@ -7965,13 +7848,12 @@
(loop $while-in$132
(block $while-out$131
(br_if $while-out$131
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.load
(get_local $6)
)
)
- (i32.const 0)
)
)
(br_if $while-out$131
@@ -8043,18 +7925,7 @@
(get_local $18)
)
(if
- (i32.eq
- (get_local $7)
- (i32.const 0)
- )
- (block
- (set_local $38
- (i32.const 0)
- )
- (set_local $12
- (i32.const 98)
- )
- )
+ (get_local $7)
(block
(set_local $6
(i32.const 0)
@@ -8067,13 +7938,12 @@
(loop $while-in$134
(block $while-out$133
(if
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.load
(get_local $8)
)
)
- (i32.const 0)
)
(block
(set_local $38
@@ -8117,14 +7987,13 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $63)
@@ -8154,6 +8023,14 @@
)
)
)
+ (block
+ (set_local $38
+ (i32.const 0)
+ )
+ (set_local $12
+ (i32.const 98)
+ )
+ )
)
)
)
@@ -8353,14 +8230,13 @@
(get_local $37)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $48)
@@ -8386,14 +8262,13 @@
(i32.const 0)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load
(get_local $0)
)
(i32.const 32)
)
- (i32.const 0)
)
(call $___fwritex
(get_local $47)
@@ -8430,18 +8305,12 @@
(i32.const 242)
)
(if
- (i32.eq
- (get_local $0)
- (i32.const 0)
+ (get_local $0)
+ (set_local $24
+ (get_local $82)
)
(if
- (i32.eq
- (get_local $83)
- (i32.const 0)
- )
- (set_local $24
- (i32.const 0)
- )
+ (get_local $83)
(block
(set_local $1
(i32.const 1)
@@ -8449,7 +8318,7 @@
(loop $while-in$137
(block $while-out$136
(br_if $while-out$136
- (i32.eq
+ (i32.eqz
(tee_local $0
(i32.load
(i32.add
@@ -8461,7 +8330,6 @@
)
)
)
- (i32.const 0)
)
)
(call $_pop_arg_336
@@ -8509,17 +8377,18 @@
)
)
(if
- (i32.ne
- (i32.load
- (i32.add
- (get_local $4)
- (i32.shl
- (get_local $1)
- (i32.const 2)
+ (i32.eqz
+ (i32.eqz
+ (i32.load
+ (i32.add
+ (get_local $4)
+ (i32.shl
+ (get_local $1)
+ (i32.const 2)
+ )
)
)
)
- (i32.const 0)
)
(block
(set_local $24
@@ -8551,9 +8420,9 @@
)
)
)
- )
- (set_local $24
- (get_local $82)
+ (set_local $24
+ (i32.const 0)
+ )
)
)
)
@@ -8980,9 +8849,8 @@
(i32.const 0)
)
(i32.and
- (i32.eq
+ (i32.eqz
(get_local $1)
- (i32.const 0)
)
(i32.gt_u
(get_local $0)
@@ -9077,9 +8945,10 @@
)
)
(if
- (i32.ne
- (get_local $3)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $3)
+ )
)
(block
(set_local $1
@@ -9169,12 +9038,11 @@
(get_local $2)
(get_local $3)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $4)
(i32.const 73728)
)
- (i32.const 0)
)
)
(block
@@ -9201,7 +9069,7 @@
)
)
(set_local $4
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $1
(i32.load
@@ -9210,7 +9078,6 @@
)
(i32.const 32)
)
- (i32.const 0)
)
)
(if
@@ -9231,7 +9098,7 @@
(loop $while-in$3
(block $while-out$2
(set_local $4
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $1
(if
@@ -9253,7 +9120,6 @@
)
(i32.const 32)
)
- (i32.const 0)
)
)
(br_if $while-out$2
@@ -9359,41 +9225,42 @@
)
(block
(if
- (i32.ne
- (i32.and
- (tee_local $25
- (i32.shr_u
- (tee_local $4
- (i32.load
- (i32.const 176)
+ (i32.eqz
+ (i32.eqz
+ (i32.and
+ (tee_local $25
+ (i32.shr_u
+ (tee_local $4
+ (i32.load
+ (i32.const 176)
+ )
)
- )
- (tee_local $22
- (i32.shr_u
- (tee_local $6
- (select
- (i32.const 16)
- (i32.and
- (i32.add
+ (tee_local $22
+ (i32.shr_u
+ (tee_local $6
+ (select
+ (i32.const 16)
+ (i32.and
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
+ )
+ (i32.const -8)
+ )
+ (i32.lt_u
(get_local $0)
(i32.const 11)
)
- (i32.const -8)
- )
- (i32.lt_u
- (get_local $0)
- (i32.const 11)
)
)
+ (i32.const 3)
)
- (i32.const 3)
)
)
)
+ (i32.const 3)
)
- (i32.const 3)
)
- (i32.const 0)
)
(block
(set_local $2
@@ -9539,9 +9406,10 @@
)
(block
(if
- (i32.ne
- (get_local $25)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $25)
+ )
)
(block
(set_local $1
@@ -9790,9 +9658,10 @@
(get_local $9)
)
(if
- (i32.ne
- (get_local $7)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $7)
+ )
)
(block
(set_local $0
@@ -9818,39 +9687,18 @@
)
)
(if
- (i32.eq
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $2
- (i32.shl
- (i32.const 1)
- (get_local $2)
- )
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 176)
)
)
- (i32.const 0)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $1)
+ (tee_local $2
+ (i32.shl
+ (i32.const 1)
(get_local $2)
)
)
- (set_local $5
- (i32.add
- (get_local $8)
- (i32.const 8)
- )
- )
- (set_local $12
- (get_local $8)
- )
)
(if
(i32.lt_u
@@ -9878,6 +9726,24 @@
)
)
)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $1)
+ (get_local $2)
+ )
+ )
+ (set_local $5
+ (i32.add
+ (get_local $8)
+ (i32.const 8)
+ )
+ )
+ (set_local $12
+ (get_local $8)
+ )
+ )
)
(i32.store
(get_local $5)
@@ -9911,13 +9777,14 @@
)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load
- (i32.const 180)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
+ )
)
)
- (i32.const 0)
)
(block
(set_local $0
@@ -10037,22 +9904,22 @@
(loop $while-in$7
(block $while-out$6
(if
- (i32.eq
- (tee_local $0
- (i32.load offset=16
- (get_local $4)
- )
+ (tee_local $0
+ (i32.load offset=16
+ (get_local $4)
)
- (i32.const 0)
+ )
+ (set_local $1
+ (get_local $0)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load offset=20
- (get_local $4)
- )
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $4)
)
- (i32.const 0)
+ )
+ (set_local $1
+ (get_local $0)
)
(block
(set_local $7
@@ -10063,12 +9930,6 @@
)
(br $while-out$6)
)
- (set_local $1
- (get_local $0)
- )
- )
- (set_local $1
- (get_local $0)
)
)
(set_local $0
@@ -10147,32 +10008,32 @@
)
(block
(if
- (i32.eq
+ (tee_local $2
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (get_local $10)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (set_local $4
+ (get_local $2)
+ )
+ (if
(tee_local $2
(i32.load
(tee_local $8
(i32.add
(get_local $10)
- (i32.const 20)
+ (i32.const 16)
)
)
)
)
- (i32.const 0)
- )
- (if
- (i32.eq
- (tee_local $2
- (i32.load
- (tee_local $8
- (i32.add
- (get_local $10)
- (i32.const 16)
- )
- )
- )
- )
- (i32.const 0)
+ (set_local $4
+ (get_local $2)
)
(block
(set_local $15
@@ -10180,29 +10041,24 @@
)
(br $do-once$8)
)
- (set_local $4
- (get_local $2)
- )
- )
- (set_local $4
- (get_local $2)
)
)
(loop $while-in$11
(block $while-out$10
(if
- (i32.ne
- (tee_local $2
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $4)
- (i32.const 20)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $2
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $4)
+ (i32.const 20)
+ )
)
)
)
)
- (i32.const 0)
)
(block
(set_local $4
@@ -10215,20 +10071,16 @@
)
)
(if
- (i32.eq
- (tee_local $2
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $4)
- (i32.const 16)
- )
+ (tee_local $2
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $4)
+ (i32.const 16)
)
)
)
- (i32.const 0)
)
- (br $while-out$10)
(block
(set_local $4
(get_local $2)
@@ -10237,6 +10089,7 @@
(get_local $5)
)
)
+ (br $while-out$10)
)
(br $while-in$11)
)
@@ -10316,9 +10169,10 @@
)
(block $do-once$12
(if
- (i32.ne
- (get_local $1)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $1)
+ )
)
(block
(if
@@ -10346,9 +10200,8 @@
(get_local $15)
)
(if
- (i32.eq
+ (i32.eqz
(get_local $15)
- (i32.const 0)
)
(block
(i32.store
@@ -10402,9 +10255,8 @@
)
)
(br_if $do-once$12
- (i32.eq
+ (i32.eqz
(get_local $15)
- (i32.const 0)
)
)
)
@@ -10425,13 +10277,14 @@
(get_local $1)
)
(if
- (i32.ne
- (tee_local $1
- (i32.load offset=16
- (get_local $10)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $10)
+ )
)
)
- (i32.const 0)
)
(if
(i32.lt_u
@@ -10452,13 +10305,14 @@
)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load offset=20
- (get_local $10)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $10)
+ )
)
)
- (i32.const 0)
)
(if
(i32.lt_u
@@ -10545,13 +10399,14 @@
(get_local $7)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load
- (i32.const 184)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load
+ (i32.const 184)
+ )
)
)
- (i32.const 0)
)
(block
(set_local $1
@@ -10577,39 +10432,18 @@
)
)
(if
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $2
- (i32.shl
- (i32.const 1)
- (get_local $2)
- )
+ (i32.and
+ (tee_local $0
+ (i32.load
+ (i32.const 176)
)
)
- (i32.const 0)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $0)
+ (tee_local $2
+ (i32.shl
+ (i32.const 1)
(get_local $2)
)
)
- (set_local $3
- (i32.add
- (get_local $4)
- (i32.const 8)
- )
- )
- (set_local $16
- (get_local $4)
- )
)
(if
(i32.lt_u
@@ -10637,6 +10471,24 @@
)
)
)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $0)
+ (get_local $2)
+ )
+ )
+ (set_local $3
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
+ )
+ (set_local $16
+ (get_local $4)
+ )
+ )
)
(i32.store
(get_local $3)
@@ -10698,16 +10550,10 @@
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (i32.const 180)
- )
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
)
- (i32.const 0)
- )
- (set_local $6
- (get_local $5)
)
(block
(set_local $16
@@ -10718,134 +10564,114 @@
)
(block $label$break$L123
(if
- (i32.eq
- (tee_local $3
- (i32.load offset=480
- (i32.shl
- (tee_local $12
+ (tee_local $3
+ (i32.load offset=480
+ (i32.shl
+ (tee_local $12
+ (if
+ (tee_local $3
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 8)
+ )
+ )
(if
- (i32.eq
- (tee_local $3
- (i32.shr_u
- (get_local $3)
- (i32.const 8)
- )
- )
- (i32.const 0)
+ (i32.gt_u
+ (get_local $5)
+ (i32.const 16777215)
)
- (i32.const 0)
- (if
- (i32.gt_u
- (get_local $5)
- (i32.const 16777215)
- )
- (i32.const 31)
- (block
- (set_local $7
- (i32.shl
- (tee_local $3
- (i32.add
- (i32.sub
- (i32.const 14)
+ (i32.const 31)
+ (block
+ (set_local $7
+ (i32.shl
+ (tee_local $3
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
(i32.or
- (i32.or
- (tee_local $7
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $12
- (i32.shl
- (get_local $3)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $3)
- (i32.const 1048320)
- )
- (i32.const 16)
+ (tee_local $7
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $12
+ (i32.shl
+ (get_local $3)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $3)
+ (i32.const 1048320)
)
- (i32.const 8)
+ (i32.const 16)
)
+ (i32.const 8)
)
)
)
- (i32.const 520192)
)
- (i32.const 16)
+ (i32.const 520192)
)
- (i32.const 4)
+ (i32.const 16)
)
+ (i32.const 4)
)
- (get_local $3)
)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $7
- (i32.shl
- (get_local $12)
- (get_local $7)
- )
+ (get_local $3)
+ )
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $7
+ (i32.shl
+ (get_local $12)
+ (get_local $7)
)
- (i32.const 245760)
)
- (i32.const 16)
+ (i32.const 245760)
)
- (i32.const 2)
+ (i32.const 16)
)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (i32.shl
- (get_local $7)
- (get_local $3)
- )
- (i32.const 15)
+ )
+ (i32.shr_u
+ (i32.shl
+ (get_local $7)
+ (get_local $3)
)
+ (i32.const 15)
)
)
- (i32.const 1)
)
+ (i32.const 1)
)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $5)
- (i32.add
- (get_local $3)
- (i32.const 7)
- )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $5)
+ (i32.add
+ (get_local $3)
+ (i32.const 7)
)
- (i32.const 1)
)
- (get_local $7)
+ (i32.const 1)
)
+ (get_local $7)
)
)
)
+ (i32.const 0)
)
- (i32.const 2)
)
+ (i32.const 2)
)
)
- (i32.const 0)
- )
- (block
- (set_local $31
- (get_local $16)
- )
- (set_local $32
- (i32.const 0)
- )
- (set_local $28
- (i32.const 0)
- )
- (set_local $11
- (i32.const 86)
- )
)
(block
(set_local $7
@@ -10927,13 +10753,12 @@
)
)
(set_local $7
- (i32.eq
+ (i32.eqz
(tee_local $3
(i32.load offset=20
(get_local $23)
)
)
- (i32.const 0)
)
)
(set_local $15
@@ -10971,9 +10796,8 @@
(i32.xor
(i32.and
(tee_local $7
- (i32.eq
+ (i32.eqz
(get_local $3)
- (i32.const 0)
)
)
(i32.const 1)
@@ -11012,6 +10836,20 @@
)
)
)
+ (block
+ (set_local $31
+ (get_local $16)
+ )
+ (set_local $32
+ (i32.const 0)
+ )
+ (set_local $28
+ (i32.const 0)
+ )
+ (set_local $11
+ (i32.const 86)
+ )
+ )
)
)
(if
@@ -11020,121 +10858,102 @@
(i32.const 86)
)
(if
- (i32.eq
- (tee_local $0
- (if
- (i32.and
- (i32.eq
- (get_local $32)
- (i32.const 0)
- )
- (i32.eq
- (get_local $28)
- (i32.const 0)
- )
+ (tee_local $0
+ (if
+ (i32.and
+ (i32.eqz
+ (get_local $32)
)
- (block
- (set_local $7
- (i32.sub
- (i32.const 0)
- (tee_local $3
- (i32.shl
- (i32.const 2)
- (get_local $12)
- )
+ (i32.eqz
+ (get_local $28)
+ )
+ )
+ (block
+ (set_local $7
+ (i32.sub
+ (i32.const 0)
+ (tee_local $3
+ (i32.shl
+ (i32.const 2)
+ (get_local $12)
)
)
)
- (if
- (i32.eq
- (tee_local $0
- (i32.and
- (get_local $0)
- (i32.or
- (get_local $3)
- (get_local $7)
- )
+ )
+ (if
+ (i32.eqz
+ (tee_local $0
+ (i32.and
+ (get_local $0)
+ (i32.or
+ (get_local $3)
+ (get_local $7)
)
)
- (i32.const 0)
)
- (block
- (set_local $6
- (get_local $5)
- )
- (br $do-once$0)
+ )
+ (block
+ (set_local $6
+ (get_local $5)
)
+ (br $do-once$0)
)
- (set_local $0
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.add
- (i32.and
+ )
+ (set_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.add
+ (i32.and
+ (get_local $0)
+ (i32.sub
+ (i32.const 0)
(get_local $0)
- (i32.sub
- (i32.const 0)
- (get_local $0)
- )
)
- (i32.const -1)
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (i32.load offset=480
- (i32.shl
- (i32.add
+ )
+ (i32.load offset=480
+ (i32.shl
+ (i32.add
+ (i32.or
(i32.or
(i32.or
(i32.or
- (i32.or
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $7
- (i32.shr_u
- (get_local $3)
- (get_local $0)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $0)
- )
- (tee_local $0
+ (tee_local $3
(i32.and
(i32.shr_u
- (tee_local $3
+ (tee_local $7
(i32.shr_u
- (get_local $7)
(get_local $3)
+ (get_local $0)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $0)
)
(tee_local $0
(i32.and
(i32.shr_u
(tee_local $3
(i32.shr_u
+ (get_local $7)
(get_local $3)
- (get_local $0)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
@@ -11149,30 +10968,35 @@
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $3)
- (get_local $0)
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.shr_u
+ (get_local $3)
+ (get_local $0)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
)
)
- (i32.const 2)
+ (i32.shr_u
+ (get_local $3)
+ (get_local $0)
+ )
)
+ (i32.const 2)
)
)
- (get_local $32)
)
- )
- (i32.const 0)
- )
- (block
- (set_local $17
- (get_local $31)
- )
- (set_local $13
- (get_local $28)
+ (get_local $32)
)
)
(block
@@ -11189,6 +11013,14 @@
(i32.const 90)
)
)
+ (block
+ (set_local $17
+ (get_local $31)
+ )
+ (set_local $13
+ (get_local $28)
+ )
+ )
)
)
(if
@@ -11232,13 +11064,14 @@
)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load offset=16
- (get_local $24)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load offset=16
+ (get_local $24)
+ )
)
)
- (i32.const 0)
)
(block
(set_local $26
@@ -11254,19 +11087,10 @@
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load offset=20
- (get_local $24)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $13
- (get_local $3)
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $24)
)
- (br $while-out$19)
)
(block
(set_local $26
@@ -11279,19 +11103,19 @@
(get_local $3)
)
)
+ (block
+ (set_local $13
+ (get_local $3)
+ )
+ (br $while-out$19)
+ )
)
(br $while-in$20)
)
)
)
(if
- (i32.eq
- (get_local $13)
- (i32.const 0)
- )
- (set_local $6
- (get_local $5)
- )
+ (get_local $13)
(if
(i32.lt_u
(get_local $17)
@@ -11343,32 +11167,32 @@
)
(block
(if
- (i32.eq
+ (tee_local $2
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (get_local $13)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (set_local $8
+ (get_local $2)
+ )
+ (if
(tee_local $2
(i32.load
(tee_local $9
(i32.add
(get_local $13)
- (i32.const 20)
+ (i32.const 16)
)
)
)
)
- (i32.const 0)
- )
- (if
- (i32.eq
- (tee_local $2
- (i32.load
- (tee_local $9
- (i32.add
- (get_local $13)
- (i32.const 16)
- )
- )
- )
- )
- (i32.const 0)
+ (set_local $8
+ (get_local $2)
)
(block
(set_local $6
@@ -11376,29 +11200,24 @@
)
(br $do-once$21)
)
- (set_local $8
- (get_local $2)
- )
- )
- (set_local $8
- (get_local $2)
)
)
(loop $while-in$24
(block $while-out$23
(if
- (i32.ne
- (tee_local $2
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $8)
- (i32.const 20)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $2
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $8)
+ (i32.const 20)
+ )
)
)
)
)
- (i32.const 0)
)
(block
(set_local $8
@@ -11411,20 +11230,16 @@
)
)
(if
- (i32.eq
- (tee_local $2
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $8)
- (i32.const 16)
- )
+ (tee_local $2
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
)
)
)
- (i32.const 0)
)
- (br $while-out$23)
(block
(set_local $8
(get_local $2)
@@ -11433,6 +11248,7 @@
(get_local $7)
)
)
+ (br $while-out$23)
)
(br $while-in$24)
)
@@ -11512,9 +11328,10 @@
)
(block $do-once$25
(if
- (i32.ne
- (get_local $1)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $1)
+ )
)
(block
(if
@@ -11542,9 +11359,8 @@
(get_local $6)
)
(if
- (i32.eq
+ (i32.eqz
(get_local $6)
- (i32.const 0)
)
(block
(i32.store
@@ -11598,9 +11414,8 @@
)
)
(br_if $do-once$25
- (i32.eq
+ (i32.eqz
(get_local $6)
- (i32.const 0)
)
)
)
@@ -11621,13 +11436,14 @@
(get_local $1)
)
(if
- (i32.ne
- (tee_local $1
- (i32.load offset=16
- (get_local $13)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $13)
+ )
)
)
- (i32.const 0)
)
(if
(i32.lt_u
@@ -11648,13 +11464,14 @@
)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load offset=20
- (get_local $13)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $13)
+ )
)
)
- (i32.const 0)
)
(if
(i32.lt_u
@@ -11766,39 +11583,18 @@
)
)
(if
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $1
- (i32.shl
- (i32.const 1)
- (get_local $1)
- )
+ (i32.and
+ (tee_local $0
+ (i32.load
+ (i32.const 176)
)
)
- (i32.const 0)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $0)
+ (tee_local $1
+ (i32.shl
+ (i32.const 1)
(get_local $1)
)
)
- (set_local $4
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
- )
- (set_local $10
- (get_local $2)
- )
)
(if
(i32.lt_u
@@ -11826,6 +11622,24 @@
)
)
)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $0)
+ (get_local $1)
+ )
+ )
+ (set_local $4
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
+ )
+ (set_local $10
+ (get_local $2)
+ )
+ )
)
(i32.store
(get_local $4)
@@ -11852,16 +11666,12 @@
(i32.shl
(tee_local $1
(if
- (i32.eq
- (tee_local $0
- (i32.shr_u
- (get_local $17)
- (i32.const 8)
- )
+ (tee_local $0
+ (i32.shr_u
+ (get_local $17)
+ (i32.const 8)
)
- (i32.const 0)
)
- (i32.const 0)
(if
(i32.gt_u
(get_local $17)
@@ -11953,6 +11763,7 @@
)
)
)
+ (i32.const 0)
)
)
(i32.const 2)
@@ -11977,7 +11788,7 @@
(i32.const 0)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $0
(i32.load
@@ -11991,7 +11802,6 @@
)
)
)
- (i32.const 0)
)
(block
(i32.store
@@ -12073,27 +11883,32 @@
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (tee_local $1
+ (tee_local $0
+ (i32.load
+ (tee_local $1
+ (i32.add
(i32.add
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $1)
- (i32.const 31)
- )
- (i32.const 2)
+ (get_local $2)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 31)
)
+ (i32.const 2)
)
)
)
)
- (i32.const 0)
+ )
+ (block
+ (set_local $1
+ (get_local $4)
+ )
+ (set_local $2
+ (get_local $0)
+ )
)
(block
(set_local $25
@@ -12107,14 +11922,6 @@
)
(br $while-out$31)
)
- (block
- (set_local $1
- (get_local $4)
- )
- (set_local $2
- (get_local $0)
- )
- )
)
(br $while-in$32)
)
@@ -12220,8 +12027,14 @@
(get_local $5)
)
)
+ (set_local $6
+ (get_local $5)
+ )
)
)
+ (set_local $6
+ (get_local $5)
+ )
)
)
)
@@ -12389,27 +12202,24 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(i32.load
(i32.const 648)
)
- (i32.const 0)
)
(if
- (i32.eq
- (i32.and
- (i32.add
- (tee_local $0
- (call_import $_sysconf
- (i32.const 30)
- )
+ (i32.and
+ (i32.add
+ (tee_local $0
+ (call_import $_sysconf
+ (i32.const 30)
)
- (i32.const -1)
)
- (get_local $0)
+ (i32.const -1)
)
- (i32.const 0)
+ (get_local $0)
)
+ (call_import $_abort)
(block
(i32.store
(i32.const 656)
@@ -12448,7 +12258,6 @@
)
)
)
- (call_import $_abort)
)
)
(set_local $5
@@ -12491,13 +12300,14 @@
)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load
- (i32.const 616)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load
+ (i32.const 616)
+ )
)
)
- (i32.const 0)
)
(if
(i32.or
@@ -12529,28 +12339,20 @@
(tee_local $11
(block $label$break$L257
(if
- (i32.eq
- (i32.and
- (i32.load
- (i32.const 620)
- )
- (i32.const 4)
+ (i32.and
+ (i32.load
+ (i32.const 620)
)
- (i32.const 0)
+ (i32.const 4)
)
+ (i32.const 190)
(block
(block $label$break$L259
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (i32.const 200)
- )
+ (tee_local $0
+ (i32.load
+ (i32.const 200)
)
- (i32.const 0)
- )
- (set_local $11
- (i32.const 173)
)
(block
(set_local $16
@@ -12594,13 +12396,13 @@
)
)
(if
- (i32.eq
- (tee_local $4
- (i32.load offset=8
- (get_local $16)
- )
+ (tee_local $4
+ (i32.load offset=8
+ (get_local $16)
)
- (i32.const 0)
+ )
+ (set_local $16
+ (get_local $4)
)
(block
(set_local $11
@@ -12608,9 +12410,6 @@
)
(br $label$break$L259)
)
- (set_local $16
- (get_local $4)
- )
)
(br $while-in$38)
)
@@ -12677,6 +12476,9 @@
)
)
)
+ (set_local $11
+ (i32.const 173)
+ )
)
)
(block $do-once$39
@@ -12704,25 +12506,21 @@
)
(tee_local $12
(if
- (i32.eq
- (i32.and
- (tee_local $12
- (i32.add
- (tee_local $4
- (i32.load
- (i32.const 652)
- )
+ (i32.and
+ (tee_local $12
+ (i32.add
+ (tee_local $4
+ (i32.load
+ (i32.const 652)
)
- (i32.const -1)
)
- )
- (tee_local $0
- (get_local $7)
+ (i32.const -1)
)
)
- (i32.const 0)
+ (tee_local $0
+ (get_local $7)
+ )
)
- (get_local $10)
(i32.add
(i32.sub
(get_local $10)
@@ -12739,6 +12537,7 @@
)
)
)
+ (get_local $10)
)
)
)
@@ -12756,13 +12555,14 @@
)
(block
(if
- (i32.ne
- (tee_local $0
- (i32.load
- (i32.const 616)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load
+ (i32.const 616)
+ )
)
)
- (i32.const 0)
)
(br_if $do-once$39
(i32.or
@@ -12920,7 +12720,6 @@
)
(i32.const 190)
)
- (i32.const 190)
)
)
)
@@ -13020,161 +12819,9 @@
)
(block $do-once$44
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (i32.const 200)
- )
- )
- (i32.const 0)
- )
- (block
- (if
- (i32.or
- (i32.eq
- (tee_local $0
- (i32.load
- (i32.const 192)
- )
- )
- (i32.const 0)
- )
- (i32.lt_u
- (get_local $14)
- (get_local $0)
- )
- )
- (i32.store
- (i32.const 192)
- (get_local $14)
- )
- )
- (i32.store
- (i32.const 624)
- (get_local $14)
- )
- (i32.store
- (i32.const 628)
- (get_local $19)
- )
- (i32.store
- (i32.const 636)
- (i32.const 0)
- )
- (i32.store
- (i32.const 212)
- (i32.load
- (i32.const 648)
- )
- )
- (i32.store
- (i32.const 208)
- (i32.const -1)
- )
- (set_local $1
- (i32.const 0)
- )
- (loop $while-in$47
- (block $while-out$46
- (i32.store offset=12
- (tee_local $0
- (i32.add
- (i32.const 216)
- (i32.shl
- (i32.shl
- (get_local $1)
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
- (get_local $0)
- )
- (i32.store offset=8
- (get_local $0)
- (get_local $0)
- )
- (br_if $while-out$46
- (i32.eq
- (tee_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
- )
- )
- (i32.const 32)
- )
- )
- (br $while-in$47)
- )
- )
- (set_local $1
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.add
- (get_local $14)
- (i32.const 8)
- )
- )
- (i32.const 7)
- )
- (i32.const 0)
- )
- )
- (i32.store
+ (tee_local $0
+ (i32.load
(i32.const 200)
- (tee_local $0
- (i32.add
- (get_local $14)
- (tee_local $1
- (select
- (i32.const 0)
- (i32.and
- (i32.sub
- (i32.const 0)
- (get_local $0)
- )
- (i32.const 7)
- )
- (get_local $1)
- )
- )
- )
- )
- )
- (i32.store
- (i32.const 188)
- (tee_local $1
- (i32.sub
- (i32.add
- (get_local $19)
- (i32.const -40)
- )
- (get_local $1)
- )
- )
- )
- (i32.store offset=4
- (get_local $0)
- (i32.or
- (get_local $1)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (i32.add
- (get_local $0)
- (get_local $1)
- )
- (i32.const 40)
- )
- (i32.store
- (i32.const 204)
- (i32.load
- (i32.const 664)
- )
)
)
(block
@@ -13224,18 +12871,15 @@
)
)
(if
- (i32.eq
- (tee_local $4
- (i32.load offset=8
- (get_local $7)
- )
+ (tee_local $4
+ (i32.load offset=8
+ (get_local $7)
)
- (i32.const 0)
)
- (br $while-out$48)
(set_local $7
(get_local $4)
)
+ (br $while-out$48)
)
(br $while-in$49)
)
@@ -13246,14 +12890,13 @@
(i32.const 203)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(i32.load offset=12
(get_local $43)
)
(i32.const 8)
)
- (i32.const 0)
)
(if
(i32.and
@@ -13275,7 +12918,7 @@
)
)
(set_local $2
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $1
(i32.add
@@ -13285,7 +12928,6 @@
)
(i32.const 7)
)
- (i32.const 0)
)
)
(set_local $0
@@ -13402,13 +13044,12 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(tee_local $1
(i32.load offset=8
(get_local $1)
)
)
- (i32.const 0)
)
(block
(set_local $27
@@ -13426,14 +13067,14 @@
(i32.const 211)
)
(if
- (i32.eq
- (i32.and
- (i32.load offset=12
- (get_local $38)
- )
- (i32.const 8)
+ (i32.and
+ (i32.load offset=12
+ (get_local $38)
)
- (i32.const 0)
+ (i32.const 8)
+ )
+ (set_local $27
+ (i32.const 624)
)
(block
(i32.store
@@ -13458,7 +13099,7 @@
(get_local $1)
)
(set_local $9
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $1
(i32.add
@@ -13468,11 +13109,10 @@
)
(i32.const 7)
)
- (i32.const 0)
)
)
(set_local $5
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $2
(i32.add
@@ -13482,7 +13122,6 @@
)
(i32.const 7)
)
- (i32.const 0)
)
)
(set_local $1
@@ -13788,38 +13427,29 @@
)
(block
(if
- (i32.eq
- (tee_local $1
- (i32.load
- (tee_local $9
- (i32.add
- (tee_local $20
- (i32.add
- (get_local $3)
- (i32.const 16)
- )
+ (tee_local $1
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (tee_local $20
+ (i32.add
+ (get_local $3)
+ (i32.const 16)
)
- (i32.const 4)
)
+ (i32.const 4)
)
)
)
- (i32.const 0)
+ )
+ (set_local $2
+ (get_local $1)
)
(if
- (i32.eq
- (tee_local $1
- (i32.load
- (get_local $20)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $18
- (i32.const 0)
+ (tee_local $1
+ (i32.load
+ (get_local $20)
)
- (br $do-once$59)
)
(block
(set_local $2
@@ -13829,26 +13459,30 @@
(get_local $20)
)
)
- )
- (set_local $2
- (get_local $1)
+ (block
+ (set_local $18
+ (i32.const 0)
+ )
+ (br $do-once$59)
+ )
)
)
(loop $while-in$62
(block $while-out$61
(if
- (i32.ne
- (tee_local $1
- (i32.load
- (tee_local $20
- (i32.add
- (get_local $2)
- (i32.const 20)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $20
+ (i32.add
+ (get_local $2)
+ (i32.const 20)
+ )
)
)
)
)
- (i32.const 0)
)
(block
(set_local $2
@@ -13861,20 +13495,16 @@
)
)
(if
- (i32.eq
- (tee_local $1
- (i32.load
- (tee_local $20
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
+ (tee_local $1
+ (i32.load
+ (tee_local $20
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
)
)
)
- (i32.const 0)
)
- (br $while-out$61)
(block
(set_local $2
(get_local $1)
@@ -13883,6 +13513,7 @@
(get_local $20)
)
)
+ (br $while-out$61)
)
(br $while-in$62)
)
@@ -13961,9 +13592,8 @@
)
)
(br_if $label$break$L331
- (i32.eq
+ (i32.eqz
(get_local $0)
- (i32.const 0)
)
)
(block $do-once$63
@@ -13992,9 +13622,10 @@
(get_local $18)
)
(br_if $do-once$63
- (i32.ne
- (get_local $18)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $18)
+ )
)
)
(i32.store
@@ -14046,9 +13677,8 @@
)
)
(br_if $label$break$L331
- (i32.eq
+ (i32.eqz
(get_local $18)
- (i32.const 0)
)
)
)
@@ -14070,18 +13700,19 @@
(get_local $0)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $3)
- (i32.const 16)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $3)
+ (i32.const 16)
+ )
)
)
)
)
- (i32.const 0)
)
(if
(i32.lt_u
@@ -14102,13 +13733,12 @@
)
)
(br_if $label$break$L331
- (i32.eq
+ (i32.eqz
(tee_local $0
(i32.load offset=4
(get_local $2)
)
)
- (i32.const 0)
)
)
(if
@@ -14202,39 +13832,18 @@
)
(block $do-once$67
(if
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $1
- (i32.shl
- (i32.const 1)
- (get_local $1)
- )
+ (i32.and
+ (tee_local $0
+ (i32.load
+ (i32.const 176)
)
)
- (i32.const 0)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $0)
+ (tee_local $1
+ (i32.shl
+ (i32.const 1)
(get_local $1)
)
)
- (set_local $8
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
- )
- (set_local $33
- (get_local $2)
- )
)
(block
(if
@@ -14265,6 +13874,24 @@
)
(call_import $_abort)
)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $0)
+ (get_local $1)
+ )
+ )
+ (set_local $8
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
+ )
+ (set_local $33
+ (get_local $2)
+ )
+ )
)
)
(i32.store
@@ -14293,16 +13920,12 @@
(tee_local $1
(block $do-once$69
(if
- (i32.eq
- (tee_local $0
- (i32.shr_u
- (get_local $4)
- (i32.const 8)
- )
+ (tee_local $0
+ (i32.shr_u
+ (get_local $4)
+ (i32.const 8)
)
- (i32.const 0)
)
- (i32.const 0)
(block
(br_if $do-once$69
(i32.const 31)
@@ -14394,6 +14017,7 @@
(get_local $1)
)
)
+ (i32.const 0)
)
)
)
@@ -14419,7 +14043,7 @@
(i32.const 0)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $0
(i32.load
@@ -14433,7 +14057,6 @@
)
)
)
- (i32.const 0)
)
(block
(i32.store
@@ -14515,27 +14138,32 @@
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (tee_local $1
+ (tee_local $0
+ (i32.load
+ (tee_local $1
+ (i32.add
(i32.add
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $1)
- (i32.const 31)
- )
- (i32.const 2)
+ (get_local $2)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 31)
)
+ (i32.const 2)
)
)
)
)
- (i32.const 0)
+ )
+ (block
+ (set_local $1
+ (get_local $8)
+ )
+ (set_local $2
+ (get_local $0)
+ )
)
(block
(set_local $45
@@ -14549,14 +14177,6 @@
)
(br $while-out$71)
)
- (block
- (set_local $1
- (get_local $8)
- )
- (set_local $2
- (get_local $0)
- )
- )
)
(br $while-in$72)
)
@@ -14658,9 +14278,6 @@
)
)
)
- (set_local $27
- (i32.const 624)
- )
)
)
(loop $while-in$74
@@ -14703,7 +14320,7 @@
)
)
(set_local $8
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $1
(i32.add
@@ -14718,7 +14335,6 @@
)
(i32.const 7)
)
- (i32.const 0)
)
)
(set_local $4
@@ -14760,7 +14376,7 @@
)
)
(set_local $3
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $1
(i32.add
@@ -14770,7 +14386,6 @@
)
(i32.const 7)
)
- (i32.const 0)
)
)
(i32.store
@@ -14960,39 +14575,18 @@
)
)
(if
- (i32.eq
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $2
- (i32.shl
- (i32.const 1)
- (get_local $2)
- )
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 176)
)
)
- (i32.const 0)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $1)
+ (tee_local $2
+ (i32.shl
+ (i32.const 1)
(get_local $2)
)
)
- (set_local $9
- (i32.add
- (get_local $4)
- (i32.const 8)
- )
- )
- (set_local $20
- (get_local $4)
- )
)
(if
(i32.lt_u
@@ -15020,6 +14614,24 @@
)
)
)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $1)
+ (get_local $2)
+ )
+ )
+ (set_local $9
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
+ )
+ (set_local $20
+ (get_local $4)
+ )
+ )
)
(i32.store
(get_local $9)
@@ -15046,16 +14658,12 @@
(i32.shl
(tee_local $2
(if
- (i32.eq
- (tee_local $1
- (i32.shr_u
- (get_local $3)
- (i32.const 8)
- )
+ (tee_local $1
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 8)
)
- (i32.const 0)
)
- (i32.const 0)
(if
(i32.gt_u
(get_local $3)
@@ -15147,6 +14755,7 @@
)
)
)
+ (i32.const 0)
)
)
(i32.const 2)
@@ -15166,7 +14775,7 @@
(i32.const 0)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $1
(i32.load
@@ -15180,7 +14789,6 @@
)
)
)
- (i32.const 0)
)
(block
(i32.store
@@ -15262,27 +14870,32 @@
)
)
(if
- (i32.eq
- (tee_local $1
- (i32.load
- (tee_local $2
+ (tee_local $1
+ (i32.load
+ (tee_local $2
+ (i32.add
(i32.add
- (i32.add
- (get_local $4)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $2)
- (i32.const 31)
- )
- (i32.const 2)
+ (get_local $4)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 31)
)
+ (i32.const 2)
)
)
)
)
- (i32.const 0)
+ )
+ (block
+ (set_local $2
+ (get_local $8)
+ )
+ (set_local $4
+ (get_local $1)
+ )
)
(block
(set_local $46
@@ -15296,14 +14909,6 @@
)
(br $while-out$77)
)
- (block
- (set_local $2
- (get_local $8)
- )
- (set_local $4
- (get_local $1)
- )
- )
)
(br $while-in$78)
)
@@ -15398,6 +15003,153 @@
)
)
)
+ (block
+ (if
+ (i32.or
+ (i32.eqz
+ (tee_local $0
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (i32.lt_u
+ (get_local $14)
+ (get_local $0)
+ )
+ )
+ (i32.store
+ (i32.const 192)
+ (get_local $14)
+ )
+ )
+ (i32.store
+ (i32.const 624)
+ (get_local $14)
+ )
+ (i32.store
+ (i32.const 628)
+ (get_local $19)
+ )
+ (i32.store
+ (i32.const 636)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 212)
+ (i32.load
+ (i32.const 648)
+ )
+ )
+ (i32.store
+ (i32.const 208)
+ (i32.const -1)
+ )
+ (set_local $1
+ (i32.const 0)
+ )
+ (loop $while-in$47
+ (block $while-out$46
+ (i32.store offset=12
+ (tee_local $0
+ (i32.add
+ (i32.const 216)
+ (i32.shl
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ (get_local $0)
+ )
+ (i32.store offset=8
+ (get_local $0)
+ (get_local $0)
+ )
+ (br_if $while-out$46
+ (i32.eq
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
+ (i32.const 32)
+ )
+ )
+ (br $while-in$47)
+ )
+ )
+ (set_local $1
+ (i32.eqz
+ (i32.and
+ (tee_local $0
+ (i32.add
+ (get_local $14)
+ (i32.const 8)
+ )
+ )
+ (i32.const 7)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 200)
+ (tee_local $0
+ (i32.add
+ (get_local $14)
+ (tee_local $1
+ (select
+ (i32.const 0)
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (get_local $0)
+ )
+ (i32.const 7)
+ )
+ (get_local $1)
+ )
+ )
+ )
+ )
+ )
+ (i32.store
+ (i32.const 188)
+ (tee_local $1
+ (i32.sub
+ (i32.add
+ (get_local $19)
+ (i32.const -40)
+ )
+ (get_local $1)
+ )
+ )
+ )
+ (i32.store offset=4
+ (get_local $0)
+ (i32.or
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
+ (i32.store offset=4
+ (i32.add
+ (get_local $0)
+ (get_local $1)
+ )
+ (i32.const 40)
+ )
+ (i32.store
+ (i32.const 204)
+ (i32.load
+ (i32.const 664)
+ )
+ )
+ )
)
)
(if
@@ -15482,9 +15234,8 @@
(local $17 i32)
(local $18 i32)
(if
- (i32.eq
+ (i32.eqz
(get_local $0)
- (i32.const 0)
)
(return)
)
@@ -15536,12 +15287,17 @@
)
(block $do-once$0
(if
- (i32.eq
- (i32.and
- (get_local $0)
- (i32.const 1)
+ (i32.and
+ (get_local $0)
+ (i32.const 1)
+ )
+ (block
+ (set_local $3
+ (get_local $2)
+ )
+ (set_local $10
+ (get_local $7)
)
- (i32.const 0)
)
(block
(set_local $0
@@ -15550,9 +15306,8 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(get_local $8)
- (i32.const 0)
)
(return)
)
@@ -15798,38 +15553,29 @@
)
(block
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (tee_local $7
- (i32.add
- (tee_local $13
- (i32.add
- (get_local $4)
- (i32.const 16)
- )
+ (tee_local $0
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (tee_local $13
+ (i32.add
+ (get_local $4)
+ (i32.const 16)
)
- (i32.const 4)
)
+ (i32.const 4)
)
)
)
- (i32.const 0)
+ )
+ (set_local $2
+ (get_local $0)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (get_local $13)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $5
- (i32.const 0)
+ (tee_local $0
+ (i32.load
+ (get_local $13)
)
- (br $do-once$2)
)
(block
(set_local $2
@@ -15839,26 +15585,30 @@
(get_local $13)
)
)
- )
- (set_local $2
- (get_local $0)
+ (block
+ (set_local $5
+ (i32.const 0)
+ )
+ (br $do-once$2)
+ )
)
)
(loop $while-in$5
(block $while-out$4
(if
- (i32.ne
- (tee_local $0
- (i32.load
- (tee_local $13
- (i32.add
- (get_local $2)
- (i32.const 20)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (get_local $2)
+ (i32.const 20)
+ )
)
)
)
)
- (i32.const 0)
)
(block
(set_local $2
@@ -15871,20 +15621,16 @@
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (tee_local $13
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
+ (tee_local $0
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
)
)
)
- (i32.const 0)
)
- (br $while-out$4)
(block
(set_local $2
(get_local $0)
@@ -15893,6 +15639,7 @@
(get_local $13)
)
)
+ (br $while-out$4)
)
(br $while-in$5)
)
@@ -15971,18 +15718,7 @@
)
)
(if
- (i32.eq
- (get_local $8)
- (i32.const 0)
- )
- (block
- (set_local $3
- (get_local $4)
- )
- (set_local $10
- (get_local $12)
- )
- )
+ (get_local $8)
(block
(if
(i32.eq
@@ -16009,9 +15745,8 @@
(get_local $5)
)
(if
- (i32.eq
+ (i32.eqz
(get_local $5)
- (i32.const 0)
)
(block
(i32.store
@@ -16071,9 +15806,8 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(get_local $5)
- (i32.const 0)
)
(block
(set_local $3
@@ -16103,18 +15837,19 @@
(get_local $8)
)
(if
- (i32.ne
- (tee_local $1
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $4)
- (i32.const 16)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $4)
+ (i32.const 16)
+ )
)
)
)
)
- (i32.const 0)
)
(if
(i32.lt_u
@@ -16135,20 +15870,9 @@
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load offset=4
- (get_local $2)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $3
- (get_local $4)
- )
- (set_local $10
- (get_local $12)
+ (tee_local $0
+ (i32.load offset=4
+ (get_local $2)
)
)
(if
@@ -16176,16 +15900,24 @@
)
)
)
+ (block
+ (set_local $3
+ (get_local $4)
+ )
+ (set_local $10
+ (get_local $12)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $3
+ (get_local $4)
+ )
+ (set_local $10
+ (get_local $12)
)
)
- )
- )
- (block
- (set_local $3
- (get_local $2)
- )
- (set_local $10
- (get_local $7)
)
)
)
@@ -16198,7 +15930,7 @@
(call_import $_abort)
)
(if
- (i32.eq
+ (i32.eqz
(i32.and
(tee_local $0
(i32.load
@@ -16212,17 +15944,39 @@
)
(i32.const 1)
)
- (i32.const 0)
)
(call_import $_abort)
)
(if
- (i32.eq
- (i32.and
- (get_local $0)
- (i32.const 2)
+ (i32.and
+ (get_local $0)
+ (i32.const 2)
+ )
+ (block
+ (i32.store
+ (get_local $1)
+ (i32.and
+ (get_local $0)
+ (i32.const -2)
+ )
+ )
+ (i32.store offset=4
+ (get_local $3)
+ (i32.or
+ (get_local $10)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (get_local $3)
+ (get_local $10)
+ )
+ (get_local $10)
+ )
+ (set_local $5
+ (get_local $10)
)
- (i32.const 0)
)
(block
(if
@@ -16474,38 +16228,29 @@
)
(block
(if
- (i32.eq
- (tee_local $1
- (i32.load
- (tee_local $8
- (i32.add
- (tee_local $7
- (i32.add
- (get_local $9)
- (i32.const 16)
- )
+ (tee_local $1
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (tee_local $7
+ (i32.add
+ (get_local $9)
+ (i32.const 16)
)
- (i32.const 4)
)
+ (i32.const 4)
)
)
)
- (i32.const 0)
+ )
+ (set_local $2
+ (get_local $1)
)
(if
- (i32.eq
- (tee_local $1
- (i32.load
- (get_local $7)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $11
- (i32.const 0)
+ (tee_local $1
+ (i32.load
+ (get_local $7)
)
- (br $do-once$10)
)
(block
(set_local $2
@@ -16515,26 +16260,30 @@
(get_local $7)
)
)
- )
- (set_local $2
- (get_local $1)
+ (block
+ (set_local $11
+ (i32.const 0)
+ )
+ (br $do-once$10)
+ )
)
)
(loop $while-in$13
(block $while-out$12
(if
- (i32.ne
- (tee_local $1
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $2)
- (i32.const 20)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $2)
+ (i32.const 20)
+ )
)
)
)
)
- (i32.const 0)
)
(block
(set_local $2
@@ -16547,20 +16296,16 @@
)
)
(if
- (i32.eq
- (tee_local $1
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
+ (tee_local $1
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
)
)
)
- (i32.const 0)
)
- (br $while-out$12)
(block
(set_local $2
(get_local $1)
@@ -16569,6 +16314,7 @@
(get_local $7)
)
)
+ (br $while-out$12)
)
(br $while-in$13)
)
@@ -16651,9 +16397,10 @@
)
)
(if
- (i32.ne
- (get_local $0)
- (i32.const 0)
+ (i32.eqz
+ (i32.eqz
+ (get_local $0)
+ )
)
(block
(if
@@ -16681,9 +16428,8 @@
(get_local $11)
)
(if
- (i32.eq
+ (i32.eqz
(get_local $11)
- (i32.const 0)
)
(block
(i32.store
@@ -16737,9 +16483,8 @@
)
)
(br_if $do-once$8
- (i32.eq
+ (i32.eqz
(get_local $11)
- (i32.const 0)
)
)
)
@@ -16760,18 +16505,19 @@
(get_local $0)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $9)
- (i32.const 16)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $9)
+ (i32.const 16)
+ )
)
)
)
)
- (i32.const 0)
)
(if
(i32.lt_u
@@ -16792,13 +16538,14 @@
)
)
(if
- (i32.ne
- (tee_local $0
- (i32.load offset=4
- (get_local $2)
+ (i32.eqz
+ (i32.eqz
+ (tee_local $0
+ (i32.load offset=4
+ (get_local $2)
+ )
)
)
- (i32.const 0)
)
(if
(i32.lt_u
@@ -16855,32 +16602,6 @@
)
)
)
- (block
- (i32.store
- (get_local $1)
- (i32.and
- (get_local $0)
- (i32.const -2)
- )
- )
- (i32.store offset=4
- (get_local $3)
- (i32.or
- (get_local $10)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (get_local $3)
- (get_local $10)
- )
- (get_local $10)
- )
- (set_local $5
- (get_local $10)
- )
- )
)
(set_local $1
(i32.shr_u
@@ -16907,39 +16628,18 @@
)
)
(if
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $1
- (i32.shl
- (i32.const 1)
- (get_local $1)
- )
+ (i32.and
+ (tee_local $0
+ (i32.load
+ (i32.const 176)
)
)
- (i32.const 0)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $0)
+ (tee_local $1
+ (i32.shl
+ (i32.const 1)
(get_local $1)
)
)
- (set_local $6
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
- )
- (set_local $14
- (get_local $2)
- )
)
(if
(i32.lt_u
@@ -16967,6 +16667,24 @@
)
)
)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $0)
+ (get_local $1)
+ )
+ )
+ (set_local $6
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
+ )
+ (set_local $14
+ (get_local $2)
+ )
+ )
)
(i32.store
(get_local $6)
@@ -16993,16 +16711,12 @@
(i32.shl
(tee_local $6
(if
- (i32.eq
- (tee_local $0
- (i32.shr_u
- (get_local $5)
- (i32.const 8)
- )
+ (tee_local $0
+ (i32.shr_u
+ (get_local $5)
+ (i32.const 8)
)
- (i32.const 0)
)
- (i32.const 0)
(if
(i32.gt_u
(get_local $5)
@@ -17094,6 +16808,7 @@
)
)
)
+ (i32.const 0)
)
)
(i32.const 2)
@@ -17113,46 +16828,18 @@
(i32.const 0)
)
(if
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.load
- (i32.const 180)
- )
- )
- (tee_local $2
- (i32.shl
- (i32.const 1)
- (get_local $6)
- )
+ (i32.and
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
)
)
- (i32.const 0)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (get_local $0)
- (get_local $2)
+ (tee_local $2
+ (i32.shl
+ (i32.const 1)
+ (get_local $6)
)
)
- (i32.store
- (get_local $1)
- (get_local $3)
- )
- (i32.store offset=24
- (get_local $3)
- (get_local $1)
- )
- (i32.store offset=12
- (get_local $3)
- (get_local $3)
- )
- (i32.store offset=8
- (get_local $3)
- (get_local $3)
- )
)
(block
(set_local $6
@@ -17208,27 +16895,32 @@
)
)
(if
- (i32.eq
- (tee_local $0
- (i32.load
- (tee_local $6
+ (tee_local $0
+ (i32.load
+ (tee_local $6
+ (i32.add
(i32.add
- (i32.add
- (get_local $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $6)
- (i32.const 31)
- )
- (i32.const 2)
+ (get_local $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $6)
+ (i32.const 31)
)
+ (i32.const 2)
)
)
)
)
- (i32.const 0)
+ )
+ (block
+ (set_local $6
+ (get_local $2)
+ )
+ (set_local $1
+ (get_local $0)
+ )
)
(block
(set_local $18
@@ -17242,14 +16934,6 @@
)
(br $while-out$18)
)
- (block
- (set_local $6
- (get_local $2)
- )
- (set_local $1
- (get_local $0)
- )
- )
)
(br $while-in$19)
)
@@ -17342,6 +17026,31 @@
)
)
)
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (get_local $0)
+ (get_local $2)
+ )
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $3)
+ )
+ (i32.store offset=24
+ (get_local $3)
+ (get_local $1)
+ )
+ (i32.store offset=12
+ (get_local $3)
+ (get_local $3)
+ )
+ (i32.store offset=8
+ (get_local $3)
+ (get_local $3)
+ )
+ )
)
(i32.store
(i32.const 208)
@@ -17355,25 +17064,21 @@
)
)
(if
- (i32.eq
- (get_local $0)
- (i32.const 0)
- )
+ (get_local $0)
+ (return)
(set_local $6
(i32.const 632)
)
- (return)
)
(loop $while-in$21
(block $while-out$20
(set_local $0
- (i32.eq
+ (i32.eqz
(tee_local $6
(i32.load
(get_local $6)
)
)
- (i32.const 0)
)
)
(set_local $6
@@ -17719,9 +17424,8 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(get_local $2)
- (i32.const 0)
)
(return
(get_local $3)
@@ -18378,13 +18082,12 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(tee_local $6
(tee_local $9
(get_local $1)
)
)
- (i32.const 0)
)
(block
(set_local $2
@@ -18394,37 +18097,7 @@
)
)
(if
- (i32.eq
- (get_local $7)
- (i32.const 0)
- )
- (block
- (if
- (get_local $2)
- (block
- (i32.store
- (get_local $4)
- (i32.rem_u
- (get_local $8)
- (get_local $5)
- )
- )
- (i32.store offset=4
- (get_local $4)
- (i32.const 0)
- )
- )
- )
- (set_global $tempRet0
- (i32.const 0)
- )
- (return
- (i32.div_u
- (get_local $8)
- (get_local $5)
- )
- )
- )
+ (get_local $7)
(block
(if
(i32.eqz
@@ -18460,248 +18133,44 @@
(i32.const 0)
)
)
- )
- )
- )
- (set_local $10
- (i32.eq
- (get_local $7)
- (i32.const 0)
- )
- )
- (block $do-once$0
- (if
- (i32.eq
- (get_local $5)
- (i32.const 0)
- )
- (block
- (if
- (get_local $10)
- (block
- (if
- (i32.ne
- (get_local $4)
- (i32.const 0)
- )
- (block
- (i32.store
- (get_local $4)
- (i32.rem_u
- (get_local $6)
- (get_local $5)
- )
- )
- (i32.store offset=4
- (get_local $4)
- (i32.const 0)
- )
- )
- )
- (set_global $tempRet0
- (i32.const 0)
- )
- (return
- (i32.div_u
- (get_local $6)
- (get_local $5)
- )
- )
- )
- )
- (if
- (i32.eq
- (get_local $8)
- (i32.const 0)
- )
- (block
- (if
- (i32.ne
+ (block
+ (if
+ (get_local $2)
+ (block
+ (i32.store
(get_local $4)
- (i32.const 0)
- )
- (block
- (i32.store
- (get_local $4)
- (i32.const 0)
- )
- (i32.store offset=4
- (get_local $4)
- (i32.rem_u
- (get_local $6)
- (get_local $7)
- )
- )
- )
- )
- (set_global $tempRet0
- (i32.const 0)
- )
- (return
- (i32.div_u
- (get_local $6)
- (get_local $7)
- )
- )
- )
- )
- (if
- (i32.eq
- (i32.and
- (tee_local $5
- (i32.sub
- (get_local $7)
- (i32.const 1)
+ (i32.rem_u
+ (get_local $8)
+ (get_local $5)
)
)
- (get_local $7)
- )
- (i32.const 0)
- )
- (block
- (if
- (i32.ne
+ (i32.store offset=4
(get_local $4)
(i32.const 0)
)
- (block
- (i32.store
- (get_local $4)
- (i32.or
- (i32.const 0)
- (i32.and
- (get_local $0)
- (i32.const -1)
- )
- )
- )
- (i32.store offset=4
- (get_local $4)
- (i32.or
- (i32.and
- (get_local $5)
- (get_local $6)
- )
- (i32.and
- (get_local $1)
- (i32.const 0)
- )
- )
- )
- )
- )
- (set_global $tempRet0
- (i32.const 0)
- )
- (return
- (i32.shr_u
- (get_local $6)
- (i32.ctz
- (get_local $7)
- )
- )
)
)
- )
- (if
- (i32.le_u
- (tee_local $5
- (i32.sub
- (i32.clz
- (get_local $7)
- )
- (i32.clz
- (get_local $6)
- )
- )
- )
- (i32.const 30)
- )
- (block
- (set_local $12
- (tee_local $0
- (i32.add
- (get_local $5)
- (i32.const 1)
- )
- )
- )
- (set_local $11
- (i32.or
- (i32.shl
- (get_local $6)
- (tee_local $1
- (i32.sub
- (i32.const 31)
- (get_local $5)
- )
- )
- )
- (i32.shr_u
- (get_local $8)
- (get_local $0)
- )
- )
- )
- (set_local $13
- (i32.shr_u
- (get_local $6)
- (get_local $0)
- )
- )
- (set_local $10
- (i32.const 0)
- )
- (set_local $0
- (i32.shl
- (get_local $8)
- (get_local $1)
- )
- )
- (br $do-once$0)
- )
- )
- (if
- (i32.eq
- (get_local $4)
- (i32.const 0)
- )
- (block
- (set_global $tempRet0
- (i32.const 0)
- )
- (return
- (i32.const 0)
- )
- )
- )
- (i32.store
- (get_local $4)
- (i32.or
+ (set_global $tempRet0
(i32.const 0)
- (i32.and
- (get_local $0)
- (i32.const -1)
- )
)
- )
- (i32.store offset=4
- (get_local $4)
- (i32.or
- (get_local $9)
- (i32.and
- (get_local $1)
- (i32.const 0)
+ (return
+ (i32.div_u
+ (get_local $8)
+ (get_local $5)
)
)
)
- (set_global $tempRet0
- (i32.const 0)
- )
- (return
- (i32.const 0)
- )
)
+ )
+ )
+ (set_local $10
+ (i32.eqz
+ (get_local $7)
+ )
+ )
+ (block $do-once$0
+ (if
+ (get_local $5)
(block
(if
(i32.eqz
@@ -18781,9 +18250,8 @@
)
)
(if
- (i32.eq
+ (i32.eqz
(get_local $4)
- (i32.const 0)
)
(block
(set_global $tempRet0
@@ -19036,23 +18504,235 @@
)
)
)
- )
- )
- (set_local $0
- (if
- (i32.eq
- (get_local $12)
- (i32.const 0)
- )
(block
- (set_local $6
- (get_local $0)
+ (if
+ (get_local $10)
+ (block
+ (if
+ (i32.ne
+ (get_local $4)
+ (i32.const 0)
+ )
+ (block
+ (i32.store
+ (get_local $4)
+ (i32.rem_u
+ (get_local $6)
+ (get_local $5)
+ )
+ )
+ (i32.store offset=4
+ (get_local $4)
+ (i32.const 0)
+ )
+ )
+ )
+ (set_global $tempRet0
+ (i32.const 0)
+ )
+ (return
+ (i32.div_u
+ (get_local $6)
+ (get_local $5)
+ )
+ )
+ )
)
- (set_local $1
+ (if
+ (i32.eqz
+ (get_local $8)
+ )
+ (block
+ (if
+ (i32.ne
+ (get_local $4)
+ (i32.const 0)
+ )
+ (block
+ (i32.store
+ (get_local $4)
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (get_local $4)
+ (i32.rem_u
+ (get_local $6)
+ (get_local $7)
+ )
+ )
+ )
+ )
+ (set_global $tempRet0
+ (i32.const 0)
+ )
+ (return
+ (i32.div_u
+ (get_local $6)
+ (get_local $7)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $5
+ (i32.sub
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (get_local $7)
+ )
+ )
+ (block
+ (if
+ (i32.ne
+ (get_local $4)
+ (i32.const 0)
+ )
+ (block
+ (i32.store
+ (get_local $4)
+ (i32.or
+ (i32.const 0)
+ (i32.and
+ (get_local $0)
+ (i32.const -1)
+ )
+ )
+ )
+ (i32.store offset=4
+ (get_local $4)
+ (i32.or
+ (i32.and
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.and
+ (get_local $1)
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ )
+ (set_global $tempRet0
+ (i32.const 0)
+ )
+ (return
+ (i32.shr_u
+ (get_local $6)
+ (i32.ctz
+ (get_local $7)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.le_u
+ (tee_local $5
+ (i32.sub
+ (i32.clz
+ (get_local $7)
+ )
+ (i32.clz
+ (get_local $6)
+ )
+ )
+ )
+ (i32.const 30)
+ )
+ (block
+ (set_local $12
+ (tee_local $0
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
+ )
+ (set_local $11
+ (i32.or
+ (i32.shl
+ (get_local $6)
+ (tee_local $1
+ (i32.sub
+ (i32.const 31)
+ (get_local $5)
+ )
+ )
+ )
+ (i32.shr_u
+ (get_local $8)
+ (get_local $0)
+ )
+ )
+ )
+ (set_local $13
+ (i32.shr_u
+ (get_local $6)
+ (get_local $0)
+ )
+ )
+ (set_local $10
+ (i32.const 0)
+ )
+ (set_local $0
+ (i32.shl
+ (get_local $8)
+ (get_local $1)
+ )
+ )
+ (br $do-once$0)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $4)
+ )
+ (block
+ (set_global $tempRet0
+ (i32.const 0)
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.store
+ (get_local $4)
+ (i32.or
+ (i32.const 0)
+ (i32.and
+ (get_local $0)
+ (i32.const -1)
+ )
+ )
+ )
+ (i32.store offset=4
+ (get_local $4)
+ (i32.or
+ (get_local $9)
+ (i32.and
+ (get_local $1)
+ (i32.const 0)
+ )
+ )
+ )
+ (set_global $tempRet0
+ (i32.const 0)
+ )
+ (return
(i32.const 0)
)
- (i32.const 0)
)
+ )
+ )
+ (set_local $0
+ (if
+ (get_local $12)
(block
(set_local $3
(call $_i64Add
@@ -19210,16 +18890,12 @@
(get_global $tempRet0)
)
(if
- (i32.eq
- (tee_local $12
- (i32.sub
- (get_local $12)
- (i32.const 1)
- )
+ (tee_local $12
+ (i32.sub
+ (get_local $12)
+ (i32.const 1)
)
- (i32.const 0)
)
- (br $while-out$2)
(block
(set_local $9
(get_local $6)
@@ -19228,6 +18904,7 @@
(get_local $7)
)
)
+ (br $while-out$2)
)
(br $while-in$3)
)
@@ -19237,6 +18914,15 @@
)
(get_local $7)
)
+ (block
+ (set_local $6
+ (get_local $0)
+ )
+ (set_local $1
+ (i32.const 0)
+ )
+ (i32.const 0)
+ )
)
)
(set_local $3
diff --git a/test/example/relooper-fuzz.txt b/test/example/relooper-fuzz.txt
index 151360306..b46932009 100644
--- a/test/example/relooper-fuzz.txt
+++ b/test/example/relooper-fuzz.txt
@@ -449,15 +449,9 @@
(i32.const 0)
)
(if
- (i32.eq
- (i32.rem_u
- (call $check)
- (i32.const 2)
- )
- (i32.const 0)
- )
- (set_local $0
- (i32.const 6)
+ (i32.rem_u
+ (call $check)
+ (i32.const 2)
)
(block
(call_import $print
@@ -467,6 +461,9 @@
(call $check)
)
)
+ (set_local $0
+ (i32.const 6)
+ )
)
(loop $shape$3$continue
(if
@@ -482,20 +479,17 @@
(i32.const 5)
)
(if
- (i32.eq
- (i32.rem_u
- (call $check)
- (i32.const 2)
- )
- (i32.const 0)
+ (i32.rem_u
+ (call $check)
+ (i32.const 2)
)
- (br $shape$3$continue)
(block
(set_local $0
(i32.const 6)
)
(br $shape$3$continue)
)
+ (br $shape$3$continue)
)
)
)
@@ -503,16 +497,12 @@
(i32.const 4)
)
(if
- (i32.eq
- (i32.rem_u
- (tee_local $1
- (call $check)
- )
- (i32.const 3)
+ (i32.rem_u
+ (tee_local $1
+ (call $check)
)
- (i32.const 0)
+ (i32.const 3)
)
- (br $shape$3$continue)
(if
(i32.eq
(i32.rem_u
@@ -528,6 +518,7 @@
(br $shape$3$continue)
)
)
+ (br $shape$3$continue)
)
(call_import $print
(i32.const 2)
diff --git a/test/example/relooper-fuzz1.txt b/test/example/relooper-fuzz1.txt
index be8130228..b4ad8b5a1 100644
--- a/test/example/relooper-fuzz1.txt
+++ b/test/example/relooper-fuzz1.txt
@@ -438,14 +438,11 @@
(i32.const 0)
)
(if
- (i32.ne
- (i32.rem_u
- (tee_local $0
- (call $check)
- )
- (i32.const 4)
+ (i32.rem_u
+ (tee_local $0
+ (call $check)
)
- (i32.const 0)
+ (i32.const 4)
)
(if
(i32.eq
@@ -460,12 +457,9 @@
(i32.const 7)
)
(br_if $block$10$break
- (i32.ne
- (i32.rem_u
- (call $check)
- (i32.const 3)
- )
- (i32.const 0)
+ (i32.rem_u
+ (call $check)
+ (i32.const 3)
)
)
)
@@ -476,12 +470,9 @@
(i32.const 2)
)
(br_if $block$10$break
- (i32.ne
- (i32.rem_u
- (call $check)
- (i32.const 2)
- )
- (i32.const 0)
+ (i32.rem_u
+ (call $check)
+ (i32.const 2)
)
)
)
diff --git a/test/memorygrowth.fromasm b/test/memorygrowth.fromasm
index c0cce359a..34a7d1898 100644
--- a/test/memorygrowth.fromasm
+++ b/test/memorygrowth.fromasm
@@ -1675,9 +1675,8 @@
)
)
(i32.or
- (i32.eq
+ (i32.eqz
(get_local $29)
- (i32.const 0)
)
(i32.eq
(get_local $29)
@@ -1704,9 +1703,8 @@
)
(if
(tee_local $29
- (i32.eq
+ (i32.eqz
(get_local $19)
- (i32.const 0)
)
)
(block
@@ -1777,13 +1775,11 @@
(tee_local $0
(if
(i32.and
- (i32.eq
+ (i32.eqz
(get_local $12)
- (i32.const 0)
)
- (i32.eq
+ (i32.eqz
(get_local $38)
- (i32.const 0)
)
)
(block
@@ -3827,12 +3823,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $1)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -4002,12 +3997,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $1)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -4029,12 +4023,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $1)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -5216,12 +5209,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $24)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -5260,12 +5252,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $4)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -5858,13 +5849,12 @@
(block
(if
(i32.or
- (i32.eq
+ (i32.eqz
(tee_local $4
(i32.load
(i32.const 1224)
)
)
- (i32.const 0)
)
(i32.lt_u
(get_local $28)
@@ -5953,12 +5943,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $4)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -8721,11 +8710,10 @@
)
)
(set_local $2
- (i32.eq
+ (i32.eqz
(call $Ya
(get_local $0)
)
- (i32.const 0)
)
)
(set_local $1
@@ -9612,11 +9600,10 @@
)
(block
(set_local $5
- (i32.eq
+ (i32.eqz
(call $Ya
(get_local $3)
)
- (i32.const 0)
)
)
(set_local $0
diff --git a/test/memorygrowth.fromasm.imprecise b/test/memorygrowth.fromasm.imprecise
index aea127692..5e6d64c47 100644
--- a/test/memorygrowth.fromasm.imprecise
+++ b/test/memorygrowth.fromasm.imprecise
@@ -1673,9 +1673,8 @@
)
)
(i32.or
- (i32.eq
+ (i32.eqz
(get_local $29)
- (i32.const 0)
)
(i32.eq
(get_local $29)
@@ -1702,9 +1701,8 @@
)
(if
(tee_local $29
- (i32.eq
+ (i32.eqz
(get_local $19)
- (i32.const 0)
)
)
(block
@@ -1775,13 +1773,11 @@
(tee_local $0
(if
(i32.and
- (i32.eq
+ (i32.eqz
(get_local $12)
- (i32.const 0)
)
- (i32.eq
+ (i32.eqz
(get_local $38)
- (i32.const 0)
)
)
(block
@@ -3825,12 +3821,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $1)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -4000,12 +3995,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $1)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -4027,12 +4021,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $1)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -5214,12 +5207,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $24)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -5258,12 +5250,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $4)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -5856,13 +5847,12 @@
(block
(if
(i32.or
- (i32.eq
+ (i32.eqz
(tee_local $4
(i32.load
(i32.const 1224)
)
)
- (i32.const 0)
)
(i32.lt_u
(get_local $28)
@@ -5951,12 +5941,11 @@
)
(i32.const 7)
)
- (i32.eq
+ (i32.eqz
(i32.and
(get_local $4)
(i32.const 7)
)
- (i32.const 0)
)
)
)
@@ -8719,11 +8708,10 @@
)
)
(set_local $2
- (i32.eq
+ (i32.eqz
(call $Ya
(get_local $0)
)
- (i32.const 0)
)
)
(set_local $1
@@ -9610,11 +9598,10 @@
)
(block
(set_local $5
- (i32.eq
+ (i32.eqz
(call $Ya
(get_local $3)
)
- (i32.const 0)
)
)
(set_local $0
diff --git a/test/passes/optimize-instructions.txt b/test/passes/optimize-instructions.txt
index e7af4848e..8ac9ea6fd 100644
--- a/test/passes/optimize-instructions.txt
+++ b/test/passes/optimize-instructions.txt
@@ -166,5 +166,20 @@
(f64.const 2)
)
)
+ (drop
+ (i32.eqz
+ (i32.const 100)
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.const 100)
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.const 0)
+ )
+ )
)
)
diff --git a/test/passes/optimize-instructions.wast b/test/passes/optimize-instructions.wast
index f06d99fd9..a9296c3cc 100644
--- a/test/passes/optimize-instructions.wast
+++ b/test/passes/optimize-instructions.wast
@@ -192,5 +192,23 @@
)
)
)
+ (drop
+ (i32.eq
+ (i32.const 100)
+ (i32.const 0)
+ )
+ )
+ (drop
+ (i32.eq
+ (i32.const 0)
+ (i32.const 100)
+ )
+ )
+ (drop
+ (i32.eq
+ (i32.const 0)
+ (i32.const 0)
+ )
+ )
)
)