summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/emcc_O2_hello_world.fromasm3411
-rw-r--r--test/emcc_O2_hello_world.fromasm.imprecise3408
-rw-r--r--test/emcc_O2_hello_world.fromasm.imprecise.no-opts3225
-rw-r--r--test/emcc_O2_hello_world.fromasm.no-opts3227
-rw-r--r--test/emcc_hello_world.fromasm13476
-rw-r--r--test/emcc_hello_world.fromasm.imprecise13465
-rw-r--r--test/emcc_hello_world.fromasm.imprecise.no-opts19412
-rw-r--r--test/emcc_hello_world.fromasm.no-opts19422
-rw-r--r--test/empty.fromasm6
-rw-r--r--test/empty.fromasm.imprecise5
-rw-r--r--test/empty.fromasm.imprecise.no-opts5
-rw-r--r--test/empty.fromasm.no-opts5
-rw-r--r--test/example/c-api-kitchen-sink.c50
-rw-r--r--test/example/c-api-kitchen-sink.txt2431
-rw-r--r--test/example/c-api-kitchen-sink.txt.txt938
-rw-r--r--test/example/relooper-fuzz.c6
-rw-r--r--test/example/relooper-fuzz.txt18
-rw-r--r--test/example/relooper-fuzz1.c6
-rw-r--r--test/example/relooper-fuzz1.txt18
-rw-r--r--test/hello_world.fromasm8
-rw-r--r--test/hello_world.fromasm.imprecise7
-rw-r--r--test/hello_world.fromasm.imprecise.no-opts7
-rw-r--r--test/hello_world.fromasm.no-opts7
-rw-r--r--test/hello_world.wast2
-rw-r--r--test/hello_world.wast.fromBinary2
-rw-r--r--test/kitchen_sink.wast1078
-rw-r--r--test/kitchen_sink.wast.fromBinary1078
-rw-r--r--test/llvm_autogenerated/byval.wast98
-rw-r--r--test/llvm_autogenerated/cfg-stackify.wast248
-rw-r--r--test/llvm_autogenerated/dead-vreg.wast22
-rw-r--r--test/llvm_autogenerated/i128.wast401
-rw-r--r--test/llvm_autogenerated/i64-load-store-alignment.wast8
-rw-r--r--test/llvm_autogenerated/legalize.wast95
-rw-r--r--test/llvm_autogenerated/mem-intrinsics.wast95
-rw-r--r--test/llvm_autogenerated/offset.wast119
-rw-r--r--test/llvm_autogenerated/phi.wast2
-rw-r--r--test/llvm_autogenerated/reg-stackify.wast151
-rw-r--r--test/llvm_autogenerated/store-results.wast50
-rw-r--r--test/llvm_autogenerated/store-trunc.wast2
-rw-r--r--test/llvm_autogenerated/userstack.wast177
-rw-r--r--test/llvm_autogenerated/varargs.wast78
-rw-r--r--test/memorygrowth.fromasm3465
-rw-r--r--test/memorygrowth.fromasm.imprecise3462
-rw-r--r--test/memorygrowth.fromasm.imprecise.no-opts3265
-rw-r--r--test/memorygrowth.fromasm.no-opts3267
-rw-r--r--test/min.fromasm9
-rw-r--r--test/min.fromasm.imprecise8
-rw-r--r--test/min.fromasm.imprecise.no-opts26
-rw-r--r--test/min.fromasm.no-opts26
-rw-r--r--test/min.wast4
-rw-r--r--test/min.wast.fromBinary4
-rw-r--r--test/passes/coalesce-locals-learning.txt554
-rw-r--r--test/passes/coalesce-locals-learning.wast908
-rw-r--r--test/passes/coalesce-locals.txt566
-rw-r--r--test/passes/coalesce-locals.wast954
-rw-r--r--test/passes/dce.txt106
-rw-r--r--test/passes/dce.wast385
-rw-r--r--test/passes/drop-return-values.txt32
-rw-r--r--test/passes/drop-return-values.wast9
-rw-r--r--test/passes/duplicate-function-elimination.txt418
-rw-r--r--test/passes/duplicate-function-elimination.wast1101
-rw-r--r--test/passes/lower-if-else.txt42
-rw-r--r--test/passes/lower-if-else.wast29
-rw-r--r--test/passes/metrics.txt35
-rw-r--r--test/passes/metrics.wast41
-rw-r--r--test/passes/nm.txt32
-rw-r--r--test/passes/nm.wast37
-rw-r--r--test/passes/optimize-instructions.txt196
-rw-r--r--test/passes/optimize-instructions.wast208
-rw-r--r--test/passes/post-emscripten.txt44
-rw-r--r--test/passes/post-emscripten.wast64
-rw-r--r--test/passes/precompute.txt26
-rw-r--r--test/passes/precompute.wast48
-rw-r--r--test/passes/remove-imports.txt8
-rw-r--r--test/passes/remove-imports.wast13
-rw-r--r--test/passes/remove-unused-brs.txt216
-rw-r--r--test/passes/remove-unused-brs.wast319
-rw-r--r--test/passes/remove-unused-functions.txt2
-rw-r--r--test/passes/remove-unused-functions.wast29
-rw-r--r--test/passes/remove-unused-names.txt45
-rw-r--r--test/passes/remove-unused-names.wast48
-rw-r--r--test/passes/remove-unused-names_merge-blocks.txt652
-rw-r--r--test/passes/remove-unused-names_merge-blocks.wast970
-rw-r--r--test/passes/reorder-functions.wast16
-rw-r--r--test/passes/reorder-locals.txt4
-rw-r--r--test/passes/reorder-locals.wast60
-rw-r--r--test/passes/simplify-locals.txt485
-rw-r--r--test/passes/simplify-locals.wast566
-rw-r--r--test/passes/vacuum.txt80
-rw-r--r--test/passes/vacuum.wast294
m---------test/spec0
-rw-r--r--test/two_sides.fromasm14
-rw-r--r--test/two_sides.fromasm.imprecise11
-rw-r--r--test/two_sides.fromasm.imprecise.no-opts7
-rw-r--r--test/two_sides.fromasm.no-opts9
-rw-r--r--test/unit.asm.js69
-rw-r--r--test/unit.fromasm366
-rw-r--r--test/unit.fromasm.imprecise353
-rw-r--r--test/unit.fromasm.imprecise.no-opts584
-rw-r--r--test/unit.fromasm.no-opts588
-rw-r--r--test/unit.wast86
-rw-r--r--test/unit.wast.fromBinary88
102 files changed, 58801 insertions, 52821 deletions
diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm
index 49d63fa8c..c3ebe3d64 100644
--- a/test/emcc_O2_hello_world.fromasm
+++ b/test/emcc_O2_hello_world.fromasm
@@ -1,6 +1,6 @@
(module
(memory 256 256)
- (export "memory" memory)
+ (data (get_global $memoryBase) "emcc_O2_hello_world.asm.js")
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
@@ -8,40 +8,74 @@
(type $FUNCSIG$i (func (result i32)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$vii (func (param i32 i32)))
- (import $abort "env" "abort" (param i32))
- (import $_pthread_cleanup_pop "env" "_pthread_cleanup_pop" (param i32))
- (import $_pthread_self "env" "_pthread_self" (result i32))
- (import $_sysconf "env" "_sysconf" (param i32) (result i32))
- (import $___lock "env" "___lock" (param i32))
- (import $___syscall6 "env" "___syscall6" (param i32 i32) (result i32))
- (import $_abort "env" "_abort")
- (import $_sbrk "env" "_sbrk" (param i32) (result i32))
- (import $_time "env" "_time" (param i32) (result i32))
- (import $_pthread_cleanup_push "env" "_pthread_cleanup_push" (param i32 i32))
- (import $_emscripten_memcpy_big "env" "_emscripten_memcpy_big" (param i32 i32 i32) (result i32))
- (import $___syscall54 "env" "___syscall54" (param i32 i32) (result i32))
- (import $___unlock "env" "___unlock" (param i32))
- (import $___syscall140 "env" "___syscall140" (param i32 i32) (result i32))
- (import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
- (import $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32))
- (export "_free" $_free)
- (export "_main" $_main)
- (export "_memset" $_memset)
- (export "_malloc" $_malloc)
- (export "_memcpy" $_memcpy)
- (export "_fflush" $_fflush)
- (export "___errno_location" $___errno_location)
- (export "runPostSets" $runPostSets)
- (export "stackAlloc" $stackAlloc)
- (export "stackSave" $stackSave)
- (export "stackRestore" $stackRestore)
- (export "establishStackSpace" $establishStackSpace)
- (export "setThrew" $setThrew)
- (export "setTempRet0" $setTempRet0)
- (export "getTempRet0" $getTempRet0)
- (export "dynCall_ii" $dynCall_ii)
- (export "dynCall_iiii" $dynCall_iiii)
- (export "dynCall_vi" $dynCall_vi)
+ (import "env" "STACKTOP" (global $STACKTOP i32))
+ (import "env" "STACK_MAX" (global $STACK_MAX i32))
+ (import "env" "tempDoublePtr" (global $tempDoublePtr i32))
+ (import "env" "ABORT" (global $ABORT i32))
+ (import "global" "NaN" (global $nan f64))
+ (import "global" "Infinity" (global $inf f64))
+ (import "env" "abort" (func $abort (param i32)))
+ (import "env" "_pthread_cleanup_pop" (func $_pthread_cleanup_pop (param i32)))
+ (import "env" "_pthread_self" (func $_pthread_self (result i32)))
+ (import "env" "_sysconf" (func $_sysconf (param i32) (result i32)))
+ (import "env" "___lock" (func $___lock (param i32)))
+ (import "env" "___syscall6" (func $___syscall6 (param i32 i32) (result i32)))
+ (import "env" "_abort" (func $_abort))
+ (import "env" "_sbrk" (func $_sbrk (param i32) (result i32)))
+ (import "env" "_time" (func $_time (param i32) (result i32)))
+ (import "env" "_pthread_cleanup_push" (func $_pthread_cleanup_push (param i32 i32)))
+ (import "env" "_emscripten_memcpy_big" (func $_emscripten_memcpy_big (param i32 i32 i32) (result i32)))
+ (import "env" "___syscall54" (func $___syscall54 (param i32 i32) (result i32)))
+ (import "env" "___unlock" (func $___unlock (param i32)))
+ (import "env" "___syscall140" (func $___syscall140 (param i32 i32) (result i32)))
+ (import "env" "___syscall146" (func $___syscall146 (param i32 i32) (result i32)))
+ (import "asm2wasm" "i32u-div" (func $i32u-div (param i32 i32) (result i32)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "_free" (func $_free))
+ (export "_main" (func $_main))
+ (export "_memset" (func $_memset))
+ (export "_malloc" (func $_malloc))
+ (export "_memcpy" (func $_memcpy))
+ (export "_fflush" (func $_fflush))
+ (export "___errno_location" (func $___errno_location))
+ (export "runPostSets" (func $runPostSets))
+ (export "stackAlloc" (func $stackAlloc))
+ (export "stackSave" (func $stackSave))
+ (export "stackRestore" (func $stackRestore))
+ (export "establishStackSpace" (func $establishStackSpace))
+ (export "setThrew" (func $setThrew))
+ (export "setTempRet0" (func $setTempRet0))
+ (export "getTempRet0" (func $getTempRet0))
+ (export "dynCall_ii" (func $dynCall_ii))
+ (export "dynCall_iiii" (func $dynCall_iiii))
+ (export "dynCall_vi" (func $dynCall_vi))
+ (global $__THREW__ i32 (i32.const 0))
+ (global $threwValue i32 (i32.const 0))
+ (global $setjmpId i32 (i32.const 0))
+ (global $undef i32 (i32.const 0))
+ (global $tempInt i32 (i32.const 0))
+ (global $tempBigInt i32 (i32.const 0))
+ (global $tempBigIntP i32 (i32.const 0))
+ (global $tempBigIntS i32 (i32.const 0))
+ (global $tempBigIntR f64 (f64.const 0))
+ (global $tempBigIntI i32 (i32.const 0))
+ (global $tempBigIntD i32 (i32.const 0))
+ (global $tempValue i32 (i32.const 0))
+ (global $tempDouble f64 (f64.const 0))
+ (global $tempRet0 i32 (i32.const 0))
+ (global $tempRet1 i32 (i32.const 0))
+ (global $tempRet2 i32 (i32.const 0))
+ (global $tempRet3 i32 (i32.const 0))
+ (global $tempRet4 i32 (i32.const 0))
+ (global $tempRet5 i32 (i32.const 0))
+ (global $tempRet6 i32 (i32.const 0))
+ (global $tempRet7 i32 (i32.const 0))
+ (global $tempRet8 i32 (i32.const 0))
+ (global $tempRet9 i32 (i32.const 0))
+ (global $tempFloat f64 (f64.const 0))
(table 18 18 anyfunc)
(elem (i32.const 0) $b0 $___stdio_close $b1 $b1 $___stdout_write $___stdio_seek $b1 $___stdio_write $b1 $b1 $b2 $b2 $b2 $b2 $_cleanup_418 $b2 $b2 $b2)
(func $_malloc (param $0 i32) (result i32)
@@ -107,16 +141,16 @@
(block
(if
(i32.and
- (set_local $2
+ (tee_local $2
(i32.shr_u
- (set_local $7
+ (tee_local $7
(i32.load
(i32.const 176)
)
)
- (set_local $5
+ (tee_local $5
(i32.shr_u
- (set_local $0
+ (tee_local $0
(select
(i32.const 16)
(i32.and
@@ -142,18 +176,18 @@
(block
(set_local $2
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
- (set_local $5
+ (tee_local $5
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
- (set_local $1
+ (tee_local $1
(i32.add
(i32.const 216)
(i32.shl
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.add
(i32.xor
(i32.and
@@ -199,7 +233,7 @@
(if
(i32.eq
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $2)
(i32.const 12)
@@ -238,7 +272,7 @@
(i32.store offset=4
(get_local $5)
(i32.or
- (set_local $2
+ (tee_local $2
(i32.shl
(get_local $0)
(i32.const 3)
@@ -248,7 +282,7 @@
)
)
(i32.store
- (set_local $4
+ (tee_local $4
(i32.add
(i32.add
(get_local $5)
@@ -272,7 +306,7 @@
(if
(i32.gt_u
(get_local $0)
- (set_local $4
+ (tee_local $4
(i32.load
(i32.const 184)
)
@@ -285,17 +319,17 @@
(set_local $1
(i32.and
(i32.shr_u
- (set_local $2
+ (tee_local $2
(i32.add
(i32.and
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shl
(get_local $2)
(get_local $5)
)
(i32.or
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 2)
(get_local $5)
@@ -323,27 +357,27 @@
)
(set_local $1
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
- (set_local $16
+ (tee_local $16
(i32.load
- (set_local $18
+ (tee_local $18
(i32.add
- (set_local $10
+ (tee_local $10
(i32.add
(i32.const 216)
(i32.shl
(i32.shl
- (set_local $19
+ (tee_local $19
(i32.add
(i32.or
(i32.or
(i32.or
(i32.or
- (set_local $2
+ (tee_local $2
(i32.and
(i32.shr_u
- (set_local $9
+ (tee_local $9
(i32.shr_u
(get_local $2)
(get_local $1)
@@ -356,10 +390,10 @@
)
(get_local $1)
)
- (set_local $9
+ (tee_local $9
(i32.and
(i32.shr_u
- (set_local $16
+ (tee_local $16
(i32.shr_u
(get_local $9)
(get_local $2)
@@ -371,10 +405,10 @@
)
)
)
- (set_local $16
+ (tee_local $16
(i32.and
(i32.shr_u
- (set_local $10
+ (tee_local $10
(i32.shr_u
(get_local $16)
(get_local $9)
@@ -386,10 +420,10 @@
)
)
)
- (set_local $10
+ (tee_local $10
(i32.and
(i32.shr_u
- (set_local $18
+ (tee_local $18
(i32.shr_u
(get_local $10)
(get_local $16)
@@ -441,7 +475,7 @@
(if
(i32.eq
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $1)
(i32.const 12)
@@ -495,14 +529,14 @@
)
)
(i32.store offset=4
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $16)
(get_local $0)
)
)
(i32.or
- (set_local $4
+ (tee_local $4
(i32.sub
(i32.shl
(get_local $19)
@@ -534,7 +568,7 @@
(i32.const 216)
(i32.shl
(i32.shl
- (set_local $18
+ (tee_local $18
(i32.shr_u
(get_local $8)
(i32.const 3)
@@ -548,12 +582,12 @@
)
(if
(i32.and
- (set_local $5
+ (tee_local $5
(i32.load
(i32.const 176)
)
)
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 1)
(get_local $18)
@@ -562,9 +596,9 @@
)
(if
(i32.lt_u
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $18
+ (tee_local $18
(i32.add
(get_local $10)
(i32.const 8)
@@ -637,7 +671,7 @@
)
)
(if
- (set_local $7
+ (tee_local $7
(i32.load
(i32.const 180)
)
@@ -646,7 +680,7 @@
(set_local $7
(i32.and
(i32.shr_u
- (set_local $4
+ (tee_local $4
(i32.add
(i32.and
(get_local $7)
@@ -667,7 +701,7 @@
(i32.sub
(i32.and
(i32.load offset=4
- (set_local $8
+ (tee_local $8
(i32.load offset=480
(i32.shl
(i32.add
@@ -675,10 +709,10 @@
(i32.or
(i32.or
(i32.or
- (set_local $4
+ (tee_local $4
(i32.and
(i32.shr_u
- (set_local $10
+ (tee_local $10
(i32.shr_u
(get_local $4)
(get_local $7)
@@ -691,10 +725,10 @@
)
(get_local $7)
)
- (set_local $10
+ (tee_local $10
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $10)
(get_local $4)
@@ -706,10 +740,10 @@
)
)
)
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
- (set_local $2
+ (tee_local $2
(i32.shr_u
(get_local $1)
(get_local $10)
@@ -721,10 +755,10 @@
)
)
)
- (set_local $2
+ (tee_local $2
(i32.and
(i32.shr_u
- (set_local $5
+ (tee_local $5
(i32.shr_u
(get_local $2)
(get_local $1)
@@ -757,75 +791,77 @@
(set_local $1
(get_local $8)
)
- (loop $while-out$6 $while-in$7
- (if
- (set_local $8
- (i32.load offset=16
- (get_local $5)
- )
- )
- (set_local $7
- (get_local $8)
- )
+ (loop $while-in$7
+ (block $while-out$6
(if
- (set_local $10
- (i32.load offset=20
+ (tee_local $8
+ (i32.load offset=16
(get_local $5)
)
)
(set_local $7
- (get_local $10)
+ (get_local $8)
)
- (block
+ (if
+ (tee_local $10
+ (i32.load offset=20
+ (get_local $5)
+ )
+ )
(set_local $7
- (get_local $2)
+ (get_local $10)
)
- (set_local $4
- (get_local $1)
+ (block
+ (set_local $7
+ (get_local $2)
+ )
+ (set_local $4
+ (get_local $1)
+ )
+ (br $while-out$6)
)
- (br $while-out$6)
)
)
- )
- (set_local $10
- (i32.lt_u
- (set_local $8
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $7)
+ (set_local $10
+ (i32.lt_u
+ (tee_local $8
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $7)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $0)
)
- (get_local $0)
)
+ (get_local $2)
)
- (get_local $2)
)
- )
- (set_local $2
- (select
- (get_local $8)
- (get_local $2)
- (get_local $10)
+ (set_local $2
+ (select
+ (get_local $8)
+ (get_local $2)
+ (get_local $10)
+ )
)
- )
- (set_local $5
- (get_local $7)
- )
- (set_local $1
- (select
+ (set_local $5
(get_local $7)
- (get_local $1)
- (get_local $10)
)
+ (set_local $1
+ (select
+ (get_local $7)
+ (get_local $1)
+ (get_local $10)
+ )
+ )
+ (br $while-in$7)
)
- (br $while-in$7)
)
(if
(i32.lt_u
(get_local $4)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -836,7 +872,7 @@
(if
(i32.ge_u
(get_local $4)
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $4)
(get_local $0)
@@ -853,7 +889,7 @@
(block $do-once$8
(if
(i32.eq
- (set_local $9
+ (tee_local $9
(i32.load offset=12
(get_local $4)
)
@@ -862,9 +898,9 @@
)
(block
(if
- (set_local $19
+ (tee_local $19
(i32.load
- (set_local $16
+ (tee_local $16
(i32.add
(get_local $4)
(i32.const 20)
@@ -882,9 +918,9 @@
)
(if
(i32.eqz
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $10
+ (tee_local $10
(i32.add
(get_local $4)
(i32.const 16)
@@ -901,50 +937,52 @@
)
)
)
- (loop $while-out$10 $while-in$11
- (if
- (set_local $19
- (i32.load
- (set_local $16
- (i32.add
- (get_local $8)
- (i32.const 20)
+ (loop $while-in$11
+ (block $while-out$10
+ (if
+ (tee_local $19
+ (i32.load
+ (tee_local $16
+ (i32.add
+ (get_local $8)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $8
- (get_local $19)
- )
- (set_local $10
- (get_local $16)
+ (block
+ (set_local $8
+ (get_local $19)
+ )
+ (set_local $10
+ (get_local $16)
+ )
+ (br $while-in$11)
)
- (br $while-in$11)
)
- )
- (if
- (set_local $19
- (i32.load
- (set_local $16
- (i32.add
- (get_local $8)
- (i32.const 16)
+ (if
+ (tee_local $19
+ (i32.load
+ (tee_local $16
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $8
- (get_local $19)
- )
- (set_local $10
- (get_local $16)
+ (block
+ (set_local $8
+ (get_local $19)
+ )
+ (set_local $10
+ (get_local $16)
+ )
)
+ (br $while-out$10)
)
- (br $while-out$10)
+ (br $while-in$11)
)
- (br $while-in$11)
)
(if
(i32.lt_u
@@ -966,7 +1004,7 @@
(block
(if
(i32.lt_u
- (set_local $16
+ (tee_local $16
(i32.load offset=8
(get_local $4)
)
@@ -978,7 +1016,7 @@
(if
(i32.ne
(i32.load
- (set_local $19
+ (tee_local $19
(i32.add
(get_local $16)
(i32.const 12)
@@ -992,7 +1030,7 @@
(if
(i32.eq
(i32.load
- (set_local $10
+ (tee_local $10
(i32.add
(get_local $9)
(i32.const 8)
@@ -1027,11 +1065,11 @@
(i32.eq
(get_local $4)
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(i32.const 480)
(i32.shl
- (set_local $9
+ (tee_local $9
(i32.load offset=28
(get_local $4)
)
@@ -1084,7 +1122,7 @@
(if
(i32.eq
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $2)
(i32.const 16)
@@ -1112,7 +1150,7 @@
(if
(i32.lt_u
(get_local $18)
- (set_local $9
+ (tee_local $9
(i32.load
(i32.const 192)
)
@@ -1125,7 +1163,7 @@
(get_local $2)
)
(if
- (set_local $1
+ (tee_local $1
(i32.load offset=16
(get_local $4)
)
@@ -1149,7 +1187,7 @@
)
)
(if
- (set_local $1
+ (tee_local $1
(i32.load offset=20
(get_local $4)
)
@@ -1186,7 +1224,7 @@
(i32.store offset=4
(get_local $4)
(i32.or
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $7)
(get_local $0)
@@ -1196,7 +1234,7 @@
)
)
(i32.store
- (set_local $1
+ (tee_local $1
(i32.add
(i32.add
(get_local $4)
@@ -1236,7 +1274,7 @@
(get_local $7)
)
(if
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 184)
)
@@ -1252,7 +1290,7 @@
(i32.const 216)
(i32.shl
(i32.shl
- (set_local $9
+ (tee_local $9
(i32.shr_u
(get_local $1)
(i32.const 3)
@@ -1266,12 +1304,12 @@
)
(if
(i32.and
- (set_local $16
+ (tee_local $16
(i32.load
(i32.const 176)
)
)
- (set_local $10
+ (tee_local $10
(i32.shl
(i32.const 1)
(get_local $9)
@@ -1280,9 +1318,9 @@
)
(if
(i32.lt_u
- (set_local $19
+ (tee_local $19
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $1)
(i32.const 8)
@@ -1358,10 +1396,8 @@
)
)
)
- (get_local $0)
)
)
- (get_local $0)
)
)
(if
@@ -1372,7 +1408,7 @@
(block
(set_local $2
(i32.and
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 11)
@@ -1382,7 +1418,7 @@
)
)
(if
- (set_local $10
+ (tee_local $10
(i32.load
(i32.const 180)
)
@@ -1396,12 +1432,12 @@
)
(block $label$break$L123
(if
- (set_local $7
+ (tee_local $7
(i32.load offset=480
(i32.shl
- (set_local $0
+ (tee_local $0
(if
- (set_local $19
+ (tee_local $19
(i32.shr_u
(get_local $1)
(i32.const 8)
@@ -1418,20 +1454,20 @@
(i32.shr_u
(get_local $2)
(i32.add
- (set_local $7
+ (tee_local $7
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $19
+ (tee_local $19
(i32.and
(i32.shr_u
(i32.add
- (set_local $9
+ (tee_local $9
(i32.shl
(get_local $19)
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
@@ -1454,11 +1490,11 @@
)
(get_local $1)
)
- (set_local $9
+ (tee_local $9
(i32.and
(i32.shr_u
(i32.add
- (set_local $8
+ (tee_local $8
(i32.shl
(get_local $9)
(get_local $19)
@@ -1532,82 +1568,84 @@
(set_local $4
(i32.const 0)
)
- (loop $while-out$17 $while-in$18
- (if
- (i32.lt_u
- (set_local $5
- (i32.sub
- (set_local $18
- (i32.and
- (i32.load offset=4
- (get_local $19)
+ (loop $while-in$18
+ (block $while-out$17
+ (if
+ (i32.lt_u
+ (tee_local $5
+ (i32.sub
+ (tee_local $18
+ (i32.and
+ (i32.load offset=4
+ (get_local $19)
+ )
+ (i32.const -8)
)
- (i32.const -8)
)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $9)
)
- (get_local $9)
- )
- (if
- (i32.eq
- (get_local $18)
- (get_local $2)
- )
- (block
- (set_local $27
- (get_local $5)
- )
- (set_local $25
- (get_local $19)
- )
- (set_local $29
- (get_local $19)
- )
- (set_local $9
- (i32.const 90)
+ (if
+ (i32.eq
+ (get_local $18)
+ (get_local $2)
)
- (br $label$break$L123)
- )
- (block
- (set_local $9
- (get_local $5)
+ (block
+ (set_local $27
+ (get_local $5)
+ )
+ (set_local $25
+ (get_local $19)
+ )
+ (set_local $29
+ (get_local $19)
+ )
+ (set_local $9
+ (i32.const 90)
+ )
+ (br $label$break$L123)
)
- (set_local $4
- (get_local $19)
+ (block
+ (set_local $9
+ (get_local $5)
+ )
+ (set_local $4
+ (get_local $19)
+ )
)
)
)
- )
- (set_local $18
- (select
- (get_local $8)
- (set_local $5
- (i32.load offset=20
- (get_local $19)
- )
- )
- (i32.or
- (i32.eq
- (get_local $5)
- (i32.const 0)
+ (set_local $18
+ (select
+ (get_local $8)
+ (tee_local $5
+ (i32.load offset=20
+ (get_local $19)
+ )
)
- (i32.eq
- (get_local $5)
- (set_local $19
- (i32.load
- (i32.add
+ (i32.or
+ (i32.eq
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.eq
+ (get_local $5)
+ (tee_local $19
+ (i32.load
(i32.add
- (get_local $19)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $1)
- (i32.const 31)
+ (i32.add
+ (get_local $19)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
@@ -1615,48 +1653,48 @@
)
)
)
- )
- (if
- (set_local $5
- (i32.eq
- (get_local $19)
- (i32.const 0)
- )
- )
- (block
- (set_local $33
- (get_local $9)
- )
- (set_local $34
- (get_local $18)
- )
- (set_local $30
- (get_local $4)
- )
- (set_local $9
- (i32.const 86)
+ (if
+ (tee_local $5
+ (i32.eq
+ (get_local $19)
+ (i32.const 0)
+ )
)
- (br $while-out$17)
- )
- (block
- (set_local $8
- (get_local $18)
+ (block
+ (set_local $33
+ (get_local $9)
+ )
+ (set_local $34
+ (get_local $18)
+ )
+ (set_local $30
+ (get_local $4)
+ )
+ (set_local $9
+ (i32.const 86)
+ )
+ (br $while-out$17)
)
- (set_local $1
- (i32.shl
- (get_local $1)
- (i32.xor
- (i32.and
- (get_local $5)
+ (block
+ (set_local $8
+ (get_local $18)
+ )
+ (set_local $1
+ (i32.shl
+ (get_local $1)
+ (i32.xor
+ (i32.and
+ (get_local $5)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
)
)
)
)
+ (br $while-in$18)
)
- (br $while-in$18)
)
)
(block
@@ -1681,7 +1719,7 @@
(i32.const 86)
)
(if
- (set_local $0
+ (tee_local $0
(if
(i32.and
(i32.eq
@@ -1696,11 +1734,11 @@
(block
(if
(i32.eqz
- (set_local $16
+ (tee_local $16
(i32.and
(get_local $10)
(i32.or
- (set_local $7
+ (tee_local $7
(i32.shl
(i32.const 2)
(get_local $0)
@@ -1724,7 +1762,7 @@
(set_local $16
(i32.and
(i32.shr_u
- (set_local $7
+ (tee_local $7
(i32.add
(i32.and
(get_local $16)
@@ -1748,10 +1786,10 @@
(i32.or
(i32.or
(i32.or
- (set_local $7
+ (tee_local $7
(i32.and
(i32.shr_u
- (set_local $0
+ (tee_local $0
(i32.shr_u
(get_local $7)
(get_local $16)
@@ -1764,10 +1802,10 @@
)
(get_local $16)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $5
+ (tee_local $5
(i32.shr_u
(get_local $0)
(get_local $7)
@@ -1779,10 +1817,10 @@
)
)
)
- (set_local $5
+ (tee_local $5
(i32.and
(i32.shr_u
- (set_local $4
+ (tee_local $4
(i32.shr_u
(get_local $5)
(get_local $0)
@@ -1794,10 +1832,10 @@
)
)
)
- (set_local $4
+ (tee_local $4
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $4)
(get_local $5)
@@ -1850,84 +1888,86 @@
(get_local $9)
(i32.const 90)
)
- (loop $while-out$19 $while-in$20
- (set_local $9
- (i32.const 0)
- )
- (set_local $1
- (i32.lt_u
- (set_local $4
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $25)
+ (loop $while-in$20
+ (block $while-out$19
+ (set_local $9
+ (i32.const 0)
+ )
+ (set_local $1
+ (i32.lt_u
+ (tee_local $4
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $25)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $2)
)
- (get_local $2)
)
- )
- (get_local $27)
- )
- )
- (set_local $5
- (select
- (get_local $4)
- (get_local $27)
- (get_local $1)
- )
- )
- (set_local $4
- (select
- (get_local $25)
- (get_local $29)
- (get_local $1)
- )
- )
- (if
- (set_local $1
- (i32.load offset=16
- (get_local $25)
+ (get_local $27)
)
)
- (block
- (set_local $27
- (get_local $5)
- )
- (set_local $25
- (get_local $1)
- )
- (set_local $29
+ (set_local $5
+ (select
(get_local $4)
+ (get_local $27)
+ (get_local $1)
)
- (br $while-in$20)
)
- )
- (if
- (set_local $25
- (i32.load offset=20
+ (set_local $4
+ (select
(get_local $25)
+ (get_local $29)
+ (get_local $1)
)
)
- (block
- (set_local $27
- (get_local $5)
+ (if
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $25)
+ )
)
- (set_local $29
- (get_local $4)
+ (block
+ (set_local $27
+ (get_local $5)
+ )
+ (set_local $25
+ (get_local $1)
+ )
+ (set_local $29
+ (get_local $4)
+ )
+ (br $while-in$20)
)
)
- (block
- (set_local $6
- (get_local $5)
+ (if
+ (tee_local $25
+ (i32.load offset=20
+ (get_local $25)
+ )
)
- (set_local $12
- (get_local $4)
+ (block
+ (set_local $27
+ (get_local $5)
+ )
+ (set_local $29
+ (get_local $4)
+ )
+ )
+ (block
+ (set_local $6
+ (get_local $5)
+ )
+ (set_local $12
+ (get_local $4)
+ )
+ (br $while-out$19)
)
- (br $while-out$19)
)
+ (br $while-in$20)
)
- (br $while-in$20)
)
)
(if
@@ -1951,7 +1991,7 @@
(if
(i32.lt_u
(get_local $12)
- (set_local $10
+ (tee_local $10
(i32.load
(i32.const 192)
)
@@ -1962,7 +2002,7 @@
(if
(i32.ge_u
(get_local $12)
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $12)
(get_local $2)
@@ -1979,7 +2019,7 @@
(block $do-once$21
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load offset=12
(get_local $12)
)
@@ -1988,9 +2028,9 @@
)
(block
(if
- (set_local $16
+ (tee_local $16
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $12)
(i32.const 20)
@@ -2008,9 +2048,9 @@
)
(if
(i32.eqz
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $12)
(i32.const 16)
@@ -2027,50 +2067,52 @@
)
)
)
- (loop $while-out$23 $while-in$24
- (if
- (set_local $16
- (i32.load
- (set_local $0
- (i32.add
- (get_local $8)
- (i32.const 20)
+ (loop $while-in$24
+ (block $while-out$23
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $8)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $8
- (get_local $16)
- )
- (set_local $7
- (get_local $0)
+ (block
+ (set_local $8
+ (get_local $16)
+ )
+ (set_local $7
+ (get_local $0)
+ )
+ (br $while-in$24)
)
- (br $while-in$24)
)
- )
- (if
- (set_local $16
- (i32.load
- (set_local $0
- (i32.add
- (get_local $8)
- (i32.const 16)
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $8
- (get_local $16)
- )
- (set_local $7
- (get_local $0)
+ (block
+ (set_local $8
+ (get_local $16)
+ )
+ (set_local $7
+ (get_local $0)
+ )
)
+ (br $while-out$23)
)
- (br $while-out$23)
+ (br $while-in$24)
)
- (br $while-in$24)
)
(if
(i32.lt_u
@@ -2092,7 +2134,7 @@
(block
(if
(i32.lt_u
- (set_local $0
+ (tee_local $0
(i32.load offset=8
(get_local $12)
)
@@ -2104,7 +2146,7 @@
(if
(i32.ne
(i32.load
- (set_local $16
+ (tee_local $16
(i32.add
(get_local $0)
(i32.const 12)
@@ -2118,7 +2160,7 @@
(if
(i32.eq
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $1)
(i32.const 8)
@@ -2153,11 +2195,11 @@
(i32.eq
(get_local $12)
(i32.load
- (set_local $10
+ (tee_local $10
(i32.add
(i32.const 480)
(i32.shl
- (set_local $1
+ (tee_local $1
(i32.load offset=28
(get_local $12)
)
@@ -2210,7 +2252,7 @@
(if
(i32.eq
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $5)
(i32.const 16)
@@ -2238,7 +2280,7 @@
(if
(i32.lt_u
(get_local $11)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -2251,7 +2293,7 @@
(get_local $5)
)
(if
- (set_local $10
+ (tee_local $10
(i32.load offset=16
(get_local $12)
)
@@ -2275,7 +2317,7 @@
)
)
(if
- (set_local $10
+ (tee_local $10
(i32.load offset=20
(get_local $12)
)
@@ -2357,12 +2399,12 @@
)
(if
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 176)
)
)
- (set_local $0
+ (tee_local $0
(i32.shl
(i32.const 1)
(get_local $5)
@@ -2371,9 +2413,9 @@
)
(if
(i32.lt_u
- (set_local $7
+ (tee_local $7
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $10)
(i32.const 8)
@@ -2437,9 +2479,9 @@
(i32.add
(i32.const 480)
(i32.shl
- (set_local $8
+ (tee_local $8
(if
- (set_local $10
+ (tee_local $10
(i32.shr_u
(get_local $6)
(i32.const 8)
@@ -2456,20 +2498,20 @@
(i32.shr_u
(get_local $6)
(i32.add
- (set_local $5
+ (tee_local $5
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $10
+ (tee_local $10
(i32.and
(i32.shr_u
(i32.add
- (set_local $1
+ (tee_local $1
(i32.shl
(get_local $10)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
(i32.add
@@ -2492,11 +2534,11 @@
)
(get_local $0)
)
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
- (set_local $7
+ (tee_local $7
(i32.shl
(get_local $1)
(get_local $10)
@@ -2543,7 +2585,7 @@
(get_local $8)
)
(i32.store offset=4
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $4)
(i32.const 16)
@@ -2558,12 +2600,12 @@
(if
(i32.eqz
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 180)
)
)
- (set_local $7
+ (tee_local $7
(i32.shl
(i32.const 1)
(get_local $8)
@@ -2622,72 +2664,74 @@
(get_local $5)
)
)
- (loop $while-out$31 $while-in$32
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $1)
+ (loop $while-in$32
+ (block $while-out$31
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $6)
- )
- (block
- (set_local $15
- (get_local $1)
+ (get_local $6)
)
- (set_local $9
- (i32.const 148)
+ (block
+ (set_local $15
+ (get_local $1)
+ )
+ (set_local $9
+ (i32.const 148)
+ )
+ (br $while-out$31)
)
- (br $while-out$31)
)
- )
- (if
- (set_local $0
- (i32.load
- (set_local $5
- (i32.add
+ (if
+ (tee_local $0
+ (i32.load
+ (tee_local $5
(i32.add
- (get_local $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $7)
- (i32.const 31)
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $7)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (block
- (set_local $7
- (i32.shl
- (get_local $7)
- (i32.const 1)
+ (block
+ (set_local $7
+ (i32.shl
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (set_local $1
+ (get_local $0)
)
)
- (set_local $1
- (get_local $0)
- )
- )
- (block
- (set_local $23
- (get_local $5)
- )
- (set_local $21
- (get_local $1)
- )
- (set_local $9
- (i32.const 145)
+ (block
+ (set_local $23
+ (get_local $5)
+ )
+ (set_local $21
+ (get_local $1)
+ )
+ (set_local $9
+ (i32.const 145)
+ )
+ (br $while-out$31)
)
- (br $while-out$31)
)
+ (br $while-in$32)
)
- (br $while-in$32)
)
(if
(i32.eq
@@ -2729,9 +2773,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $7
+ (tee_local $7
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $15)
(i32.const 8)
@@ -2739,7 +2783,7 @@
)
)
)
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 192)
)
@@ -2781,7 +2825,7 @@
(i32.store offset=4
(get_local $12)
(i32.or
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $6)
(get_local $2)
@@ -2791,7 +2835,7 @@
)
)
(i32.store
- (set_local $1
+ (tee_local $1
(i32.add
(i32.add
(get_local $12)
@@ -2835,7 +2879,7 @@
)
(if
(i32.ge_u
- (set_local $12
+ (tee_local $12
(i32.load
(i32.const 184)
)
@@ -2850,7 +2894,7 @@
)
(if
(i32.gt_u
- (set_local $6
+ (tee_local $6
(i32.sub
(get_local $12)
(get_local $0)
@@ -2861,7 +2905,7 @@
(block
(i32.store
(i32.const 196)
- (set_local $21
+ (tee_local $21
(i32.add
(get_local $15)
(get_local $0)
@@ -2911,7 +2955,7 @@
)
)
(i32.store
- (set_local $6
+ (tee_local $6
(i32.add
(i32.add
(get_local $15)
@@ -2939,7 +2983,7 @@
)
(if
(i32.gt_u
- (set_local $15
+ (tee_local $15
(i32.load
(i32.const 188)
)
@@ -2949,7 +2993,7 @@
(block
(i32.store
(i32.const 188)
- (set_local $6
+ (tee_local $6
(i32.sub
(get_local $15)
(get_local $0)
@@ -2958,9 +3002,9 @@
)
(i32.store
(i32.const 200)
- (set_local $12
+ (tee_local $12
(i32.add
- (set_local $15
+ (tee_local $15
(i32.load
(i32.const 200)
)
@@ -3000,7 +3044,7 @@
(if
(i32.and
(i32.add
- (set_local $15
+ (tee_local $15
(call_import $_sysconf
(i32.const 30)
)
@@ -3058,16 +3102,16 @@
)
(if
(i32.le_u
- (set_local $6
+ (tee_local $6
(i32.and
- (set_local $21
+ (tee_local $21
(i32.add
- (set_local $6
+ (tee_local $6
(i32.load
(i32.const 656)
)
)
- (set_local $12
+ (tee_local $12
(i32.add
(get_local $0)
(i32.const 47)
@@ -3075,7 +3119,7 @@
)
)
)
- (set_local $23
+ (tee_local $23
(i32.sub
(i32.const 0)
(get_local $6)
@@ -3092,7 +3136,7 @@
(if
(if
(i32.ne
- (set_local $8
+ (tee_local $8
(i32.load
(i32.const 616)
)
@@ -3101,9 +3145,9 @@
)
(i32.or
(i32.le_u
- (set_local $14
+ (tee_local $14
(i32.add
- (set_local $26
+ (tee_local $26
(i32.load
(i32.const 608)
)
@@ -3134,7 +3178,7 @@
)
(i32.const 0)
(i32.eq
- (set_local $9
+ (tee_local $9
(block $label$break$L257
(if
(i32.and
@@ -3147,7 +3191,7 @@
(block
(block $label$break$L259
(if
- (set_local $8
+ (tee_local $8
(i32.load
(i32.const 200)
)
@@ -3156,63 +3200,65 @@
(set_local $14
(i32.const 624)
)
- (loop $while-out$37 $while-in$38
- (if
+ (loop $while-in$38
+ (block $while-out$37
(if
- (i32.le_u
- (set_local $26
- (i32.load
- (get_local $14)
+ (if
+ (i32.le_u
+ (tee_local $26
+ (i32.load
+ (get_local $14)
+ )
)
+ (get_local $8)
)
- (get_local $8)
- )
- (i32.gt_u
- (i32.add
- (get_local $26)
- (i32.load
- (set_local $11
- (i32.add
- (get_local $14)
- (i32.const 4)
+ (i32.gt_u
+ (i32.add
+ (get_local $26)
+ (i32.load
+ (tee_local $11
+ (i32.add
+ (get_local $14)
+ (i32.const 4)
+ )
)
)
)
+ (get_local $8)
)
- (get_local $8)
- )
- (i32.const 0)
- )
- (block
- (set_local $5
- (get_local $14)
- )
- (set_local $7
- (get_local $11)
+ (i32.const 0)
)
- (br $while-out$37)
- )
- )
- (if
- (i32.eqz
- (set_local $14
- (i32.load offset=8
+ (block
+ (set_local $5
(get_local $14)
)
+ (set_local $7
+ (get_local $11)
+ )
+ (br $while-out$37)
)
)
- (block
- (set_local $9
- (i32.const 173)
+ (if
+ (i32.eqz
+ (tee_local $14
+ (i32.load offset=8
+ (get_local $14)
+ )
+ )
+ )
+ (block
+ (set_local $9
+ (i32.const 173)
+ )
+ (br $label$break$L259)
)
- (br $label$break$L259)
)
+ (br $while-in$38)
)
- (br $while-in$38)
)
(if
(i32.lt_u
- (set_local $14
+ (tee_local $14
(i32.and
(i32.sub
(get_local $21)
@@ -3227,7 +3273,7 @@
)
(if
(i32.eq
- (set_local $11
+ (tee_local $11
(call_import $_sbrk
(get_local $14)
)
@@ -3285,7 +3331,7 @@
(i32.const 173)
)
(i32.ne
- (set_local $8
+ (tee_local $8
(call_import $_sbrk
(i32.const 0)
)
@@ -3298,9 +3344,9 @@
(set_local $1
(if
(i32.and
- (set_local $11
+ (tee_local $11
(i32.add
- (set_local $14
+ (tee_local $14
(i32.load
(i32.const 652)
)
@@ -3308,7 +3354,7 @@
(i32.const -1)
)
)
- (set_local $2
+ (tee_local $2
(get_local $8)
)
)
@@ -3333,7 +3379,7 @@
)
(set_local $2
(i32.add
- (set_local $14
+ (tee_local $14
(i32.load
(i32.const 608)
)
@@ -3362,7 +3408,7 @@
)
(i32.gt_u
(get_local $2)
- (set_local $11
+ (tee_local $11
(i32.load
(i32.const 616)
)
@@ -3378,7 +3424,7 @@
)
(if
(i32.eq
- (set_local $11
+ (tee_local $11
(call_import $_sbrk
(get_local $1)
)
@@ -3445,14 +3491,14 @@
)
)
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.and
(i32.add
(i32.sub
(get_local $12)
(get_local $17)
)
- (set_local $8
+ (tee_local $8
(i32.load
(i32.const 656)
)
@@ -3476,8 +3522,10 @@
(i32.const -1)
)
(block
- (call_import $_sbrk
- (get_local $11)
+ (drop
+ (call_import $_sbrk
+ (get_local $11)
+ )
)
(br $label$break$L279)
)
@@ -3531,12 +3579,12 @@
)
(i32.and
(i32.lt_u
- (set_local $3
+ (tee_local $3
(call_import $_sbrk
(get_local $6)
)
)
- (set_local $6
+ (tee_local $6
(call_import $_sbrk
(i32.const 0)
)
@@ -3556,7 +3604,7 @@
(i32.const 0)
)
(i32.gt_u
- (set_local $13
+ (tee_local $13
(i32.sub
(get_local $6)
(get_local $3)
@@ -3589,7 +3637,7 @@
(block
(i32.store
(i32.const 608)
- (set_local $13
+ (tee_local $13
(i32.add
(i32.load
(i32.const 608)
@@ -3612,7 +3660,7 @@
)
(block $do-once$44
(if
- (set_local $13
+ (tee_local $13
(i32.load
(i32.const 200)
)
@@ -3621,55 +3669,57 @@
(set_local $3
(i32.const 624)
)
- (loop $do-out$46 $do-in$47
- (if
- (i32.eq
- (get_local $20)
- (i32.add
- (set_local $6
- (i32.load
- (get_local $3)
+ (loop $do-in$47
+ (block $do-out$46
+ (if
+ (i32.eq
+ (get_local $20)
+ (i32.add
+ (tee_local $6
+ (i32.load
+ (get_local $3)
+ )
)
- )
- (set_local $12
- (i32.load
- (set_local $17
- (i32.add
- (get_local $3)
- (i32.const 4)
+ (tee_local $12
+ (i32.load
+ (tee_local $17
+ (i32.add
+ (get_local $3)
+ (i32.const 4)
+ )
)
)
)
)
)
- )
- (block
- (set_local $47
- (get_local $6)
- )
- (set_local $48
- (get_local $17)
- )
- (set_local $49
- (get_local $12)
- )
- (set_local $50
- (get_local $3)
- )
- (set_local $9
- (i32.const 203)
+ (block
+ (set_local $47
+ (get_local $6)
+ )
+ (set_local $48
+ (get_local $17)
+ )
+ (set_local $49
+ (get_local $12)
+ )
+ (set_local $50
+ (get_local $3)
+ )
+ (set_local $9
+ (i32.const 203)
+ )
+ (br $do-out$46)
)
- (br $do-out$46)
)
- )
- (br_if $do-in$47
- (i32.ne
- (set_local $3
- (i32.load offset=8
- (get_local $3)
+ (br_if $do-in$47
+ (i32.ne
+ (tee_local $3
+ (i32.load offset=8
+ (get_local $3)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
@@ -3714,13 +3764,13 @@
(set_local $3
(i32.add
(get_local $13)
- (set_local $12
+ (tee_local $12
(select
(i32.const 0)
(i32.and
(i32.sub
(i32.const 0)
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $13)
(i32.const 8)
@@ -3786,7 +3836,7 @@
(if
(i32.lt_u
(get_local $20)
- (set_local $17
+ (tee_local $17
(i32.load
(i32.const 192)
)
@@ -3811,43 +3861,45 @@
(set_local $3
(i32.const 624)
)
- (loop $while-out$48 $while-in$49
- (if
- (i32.eq
- (i32.load
- (get_local $3)
- )
- (get_local $17)
- )
- (block
- (set_local $51
- (get_local $3)
- )
- (set_local $41
- (get_local $3)
- )
- (set_local $9
- (i32.const 211)
+ (loop $while-in$49
+ (block $while-out$48
+ (if
+ (i32.eq
+ (i32.load
+ (get_local $3)
+ )
+ (get_local $17)
)
- (br $while-out$48)
- )
- )
- (if
- (i32.eqz
- (set_local $3
- (i32.load offset=8
+ (block
+ (set_local $51
(get_local $3)
)
+ (set_local $41
+ (get_local $3)
+ )
+ (set_local $9
+ (i32.const 211)
+ )
+ (br $while-out$48)
)
)
- (block
- (set_local $28
- (i32.const 624)
+ (if
+ (i32.eqz
+ (tee_local $3
+ (i32.load offset=8
+ (get_local $3)
+ )
+ )
+ )
+ (block
+ (set_local $28
+ (i32.const 624)
+ )
+ (br $while-out$48)
)
- (br $while-out$48)
)
+ (br $while-in$49)
)
- (br $while-in$49)
)
(if
(i32.eq
@@ -3870,7 +3922,7 @@
(get_local $20)
)
(i32.store
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $41)
(i32.const 4)
@@ -3891,7 +3943,7 @@
(i32.and
(i32.sub
(i32.const 0)
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $20)
(i32.const 8)
@@ -3918,7 +3970,7 @@
(i32.and
(i32.sub
(i32.const 0)
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $17)
(i32.const 8)
@@ -3976,7 +4028,7 @@
(block
(i32.store
(i32.const 184)
- (set_local $1
+ (tee_local $1
(i32.add
(i32.load
(i32.const 184)
@@ -4007,12 +4059,12 @@
)
)
(i32.store
- (set_local $5
+ (tee_local $5
(i32.add
(if
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load offset=4
(get_local $6)
)
@@ -4049,7 +4101,7 @@
(block $do-once$53
(if
(i32.eq
- (set_local $21
+ (tee_local $21
(i32.load offset=12
(get_local $6)
)
@@ -4058,11 +4110,11 @@
)
(block
(if
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $6)
(i32.const 16)
@@ -4083,7 +4135,7 @@
)
(if
(i32.eqz
- (set_local $14
+ (tee_local $14
(i32.load
(get_local $11)
)
@@ -4097,50 +4149,52 @@
)
)
)
- (loop $while-out$55 $while-in$56
- (if
- (set_local $8
- (i32.load
- (set_local $2
- (i32.add
- (get_local $14)
- (i32.const 20)
+ (loop $while-in$56
+ (block $while-out$55
+ (if
+ (tee_local $8
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $14)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $14
- (get_local $8)
- )
- (set_local $11
- (get_local $2)
+ (block
+ (set_local $14
+ (get_local $8)
+ )
+ (set_local $11
+ (get_local $2)
+ )
+ (br $while-in$56)
)
- (br $while-in$56)
)
- )
- (if
- (set_local $8
- (i32.load
- (set_local $2
- (i32.add
- (get_local $14)
- (i32.const 16)
+ (if
+ (tee_local $8
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $14)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $14
- (get_local $8)
- )
- (set_local $11
- (get_local $2)
+ (block
+ (set_local $14
+ (get_local $8)
+ )
+ (set_local $11
+ (get_local $2)
+ )
)
+ (br $while-out$55)
)
- (br $while-out$55)
+ (br $while-in$56)
)
- (br $while-in$56)
)
(if
(i32.lt_u
@@ -4162,7 +4216,7 @@
(block
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load offset=8
(get_local $6)
)
@@ -4174,7 +4228,7 @@
(if
(i32.ne
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
(get_local $2)
(i32.const 12)
@@ -4188,7 +4242,7 @@
(if
(i32.eq
(i32.load
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $21)
(i32.const 8)
@@ -4225,11 +4279,11 @@
(i32.ne
(get_local $6)
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(i32.const 480)
(i32.shl
- (set_local $21
+ (tee_local $21
(i32.load offset=28
(get_local $6)
)
@@ -4253,7 +4307,7 @@
(if
(i32.eq
(i32.load
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $23)
(i32.const 16)
@@ -4307,7 +4361,7 @@
(if
(i32.lt_u
(get_local $24)
- (set_local $21
+ (tee_local $21
(i32.load
(i32.const 192)
)
@@ -4320,9 +4374,9 @@
(get_local $23)
)
(if
- (set_local $11
+ (tee_local $11
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $6)
(i32.const 16)
@@ -4350,7 +4404,7 @@
)
(br_if $label$break$L331
(i32.eqz
- (set_local $11
+ (tee_local $11
(i32.load offset=4
(get_local $2)
)
@@ -4386,12 +4440,12 @@
(block $do-once$61
(if
(i32.ne
- (set_local $11
+ (tee_local $11
(i32.load offset=8
(get_local $6)
)
)
- (set_local $23
+ (tee_local $23
(i32.add
(i32.const 216)
(i32.shl
@@ -4471,7 +4525,7 @@
(if
(i32.eq
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $21)
(i32.const 8)
@@ -4566,12 +4620,12 @@
(block $do-once$65
(if
(i32.and
- (set_local $23
+ (tee_local $23
(i32.load
(i32.const 176)
)
)
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 1)
(get_local $5)
@@ -4581,9 +4635,9 @@
(block
(if
(i32.ge_u
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $1)
(i32.const 8)
@@ -4650,10 +4704,10 @@
(i32.add
(i32.const 480)
(i32.shl
- (set_local $0
+ (tee_local $0
(block $do-once$67
(if
- (set_local $2
+ (tee_local $2
(i32.shr_u
(get_local $15)
(i32.const 8)
@@ -4672,20 +4726,20 @@
(i32.shr_u
(get_local $15)
(i32.add
- (set_local $14
+ (tee_local $14
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $8
+ (tee_local $8
(i32.and
(i32.shr_u
(i32.add
- (set_local $7
+ (tee_local $7
(i32.shl
(get_local $2)
- (set_local $23
+ (tee_local $23
(i32.and
(i32.shr_u
(i32.add
@@ -4708,11 +4762,11 @@
)
(get_local $23)
)
- (set_local $7
+ (tee_local $7
(i32.and
(i32.shr_u
(i32.add
- (set_local $5
+ (tee_local $5
(i32.shl
(get_local $7)
(get_local $8)
@@ -4760,7 +4814,7 @@
(get_local $0)
)
(i32.store offset=4
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $3)
(i32.const 16)
@@ -4775,12 +4829,12 @@
(if
(i32.eqz
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 180)
)
)
- (set_local $14
+ (tee_local $14
(i32.shl
(i32.const 1)
(get_local $0)
@@ -4839,72 +4893,74 @@
(get_local $2)
)
)
- (loop $while-out$69 $while-in$70
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $1)
+ (loop $while-in$70
+ (block $while-out$69
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $15)
)
- (get_local $15)
- )
- (block
- (set_local $36
- (get_local $1)
- )
- (set_local $9
- (i32.const 281)
+ (block
+ (set_local $36
+ (get_local $1)
+ )
+ (set_local $9
+ (i32.const 281)
+ )
+ (br $while-out$69)
)
- (br $while-out$69)
)
- )
- (if
- (set_local $7
- (i32.load
- (set_local $2
- (i32.add
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $2
(i32.add
- (get_local $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $14)
- (i32.const 31)
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $14)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (block
- (set_local $14
- (i32.shl
- (get_local $14)
- (i32.const 1)
+ (block
+ (set_local $14
+ (i32.shl
+ (get_local $14)
+ (i32.const 1)
+ )
+ )
+ (set_local $1
+ (get_local $7)
)
)
- (set_local $1
- (get_local $7)
- )
- )
- (block
- (set_local $44
- (get_local $2)
- )
- (set_local $52
- (get_local $1)
- )
- (set_local $9
- (i32.const 278)
+ (block
+ (set_local $44
+ (get_local $2)
+ )
+ (set_local $52
+ (get_local $1)
+ )
+ (set_local $9
+ (i32.const 278)
+ )
+ (br $while-out$69)
)
- (br $while-out$69)
)
+ (br $while-in$70)
)
- (br $while-in$70)
)
(if
(i32.eq
@@ -4946,9 +5002,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $14
+ (tee_local $14
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $36)
(i32.const 8)
@@ -4956,7 +5012,7 @@
)
)
)
- (set_local $7
+ (tee_local $7
(i32.load
(i32.const 192)
)
@@ -4997,7 +5053,7 @@
(block
(i32.store
(i32.const 188)
- (set_local $14
+ (tee_local $14
(i32.add
(i32.load
(i32.const 188)
@@ -5029,47 +5085,49 @@
)
)
)
- (loop $while-out$71 $while-in$72
- (if
+ (loop $while-in$72
+ (block $while-out$71
(if
- (i32.le_u
- (set_local $3
- (i32.load
- (get_local $28)
+ (if
+ (i32.le_u
+ (tee_local $3
+ (i32.load
+ (get_local $28)
+ )
)
+ (get_local $13)
)
- (get_local $13)
- )
- (i32.gt_u
- (set_local $15
- (i32.add
- (get_local $3)
- (i32.load offset=4
- (get_local $28)
+ (i32.gt_u
+ (tee_local $15
+ (i32.add
+ (get_local $3)
+ (i32.load offset=4
+ (get_local $28)
+ )
)
)
+ (get_local $13)
)
- (get_local $13)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $5
- (get_local $15)
+ (block
+ (set_local $5
+ (get_local $15)
+ )
+ (br $while-out$71)
)
- (br $while-out$71)
)
- )
- (set_local $28
- (i32.load offset=8
- (get_local $28)
+ (set_local $28
+ (i32.load offset=8
+ (get_local $28)
+ )
)
+ (br $while-in$72)
)
- (br $while-in$72)
)
(set_local $15
(i32.add
- (set_local $12
+ (tee_local $12
(i32.add
(get_local $5)
(i32.const -47)
@@ -5080,10 +5138,10 @@
)
(set_local $3
(i32.add
- (set_local $12
+ (tee_local $12
(select
(get_local $13)
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $12)
(select
@@ -5107,7 +5165,7 @@
)
(i32.lt_u
(get_local $3)
- (set_local $15
+ (tee_local $15
(i32.add
(get_local $13)
(i32.const 16)
@@ -5121,16 +5179,16 @@
)
(i32.store
(i32.const 200)
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $20)
- (set_local $17
+ (tee_local $17
(select
(i32.const 0)
(i32.and
(i32.sub
(i32.const 0)
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $20)
(i32.const 8)
@@ -5153,7 +5211,7 @@
)
(i32.store
(i32.const 188)
- (set_local $14
+ (tee_local $14
(i32.sub
(i32.add
(get_local $22)
@@ -5184,7 +5242,7 @@
)
)
(i32.store
- (set_local $14
+ (tee_local $14
(i32.add
(get_local $12)
(i32.const 4)
@@ -5240,7 +5298,7 @@
)
(loop $do-in$74
(i32.store
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $3)
(i32.const 4)
@@ -5276,7 +5334,7 @@
(i32.store offset=4
(get_local $13)
(i32.or
- (set_local $3
+ (tee_local $3
(i32.sub
(get_local $12)
(get_local $13)
@@ -5315,12 +5373,12 @@
)
(if
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 176)
)
)
- (set_local $7
+ (tee_local $7
(i32.shl
(i32.const 1)
(get_local $6)
@@ -5329,9 +5387,9 @@
)
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $17)
(i32.const 8)
@@ -5395,9 +5453,9 @@
(i32.add
(i32.const 480)
(i32.shl
- (set_local $5
+ (tee_local $5
(if
- (set_local $17
+ (tee_local $17
(i32.shr_u
(get_local $3)
(i32.const 8)
@@ -5414,20 +5472,20 @@
(i32.shr_u
(get_local $3)
(i32.add
- (set_local $6
+ (tee_local $6
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $17
+ (tee_local $17
(i32.and
(i32.shr_u
(i32.add
- (set_local $1
+ (tee_local $1
(i32.shl
(get_local $17)
- (set_local $7
+ (tee_local $7
(i32.and
(i32.shr_u
(i32.add
@@ -5450,11 +5508,11 @@
)
(get_local $7)
)
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
- (set_local $2
+ (tee_local $2
(i32.shl
(get_local $1)
(get_local $17)
@@ -5511,12 +5569,12 @@
(if
(i32.eqz
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 180)
)
)
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 1)
(get_local $5)
@@ -5575,72 +5633,74 @@
(get_local $6)
)
)
- (loop $while-out$75 $while-in$76
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $1)
+ (loop $while-in$76
+ (block $while-out$75
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $3)
- )
- (block
- (set_local $38
- (get_local $1)
+ (get_local $3)
)
- (set_local $9
- (i32.const 307)
+ (block
+ (set_local $38
+ (get_local $1)
+ )
+ (set_local $9
+ (i32.const 307)
+ )
+ (br $while-out$75)
)
- (br $while-out$75)
)
- )
- (if
- (set_local $7
- (i32.load
- (set_local $6
- (i32.add
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $6
(i32.add
- (get_local $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $2)
- (i32.const 31)
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (block
- (set_local $2
- (i32.shl
- (get_local $2)
- (i32.const 1)
+ (block
+ (set_local $2
+ (i32.shl
+ (get_local $2)
+ (i32.const 1)
+ )
+ )
+ (set_local $1
+ (get_local $7)
)
)
- (set_local $1
- (get_local $7)
- )
- )
- (block
- (set_local $46
- (get_local $6)
- )
- (set_local $53
- (get_local $1)
- )
- (set_local $9
- (i32.const 304)
+ (block
+ (set_local $46
+ (get_local $6)
+ )
+ (set_local $53
+ (get_local $1)
+ )
+ (set_local $9
+ (i32.const 304)
+ )
+ (br $while-out$75)
)
- (br $while-out$75)
)
+ (br $while-in$76)
)
- (br $while-in$76)
)
(if
(i32.eq
@@ -5682,9 +5742,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $38)
(i32.const 8)
@@ -5692,7 +5752,7 @@
)
)
)
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 192)
)
@@ -5736,7 +5796,7 @@
(if
(i32.or
(i32.eq
- (set_local $2
+ (tee_local $2
(i32.load
(i32.const 192)
)
@@ -5780,7 +5840,7 @@
)
(loop $do-in$78
(i32.store offset=12
- (set_local $1
+ (tee_local $1
(i32.add
(i32.const 216)
(i32.shl
@@ -5800,7 +5860,7 @@
)
(br_if $do-in$78
(i32.ne
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $2)
(i32.const 1)
@@ -5812,16 +5872,16 @@
)
(i32.store
(i32.const 200)
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $20)
- (set_local $1
+ (tee_local $1
(select
(i32.const 0)
(i32.and
(i32.sub
(i32.const 0)
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $20)
(i32.const 8)
@@ -5844,7 +5904,7 @@
)
(i32.store
(i32.const 188)
- (set_local $3
+ (tee_local $3
(i32.sub
(i32.add
(get_local $22)
@@ -5879,7 +5939,7 @@
)
(if
(i32.gt_u
- (set_local $22
+ (tee_local $22
(i32.load
(i32.const 188)
)
@@ -5889,7 +5949,7 @@
(block
(i32.store
(i32.const 188)
- (set_local $20
+ (tee_local $20
(i32.sub
(get_local $22)
(get_local $0)
@@ -5898,9 +5958,9 @@
)
(i32.store
(i32.const 200)
- (set_local $13
+ (tee_local $13
(i32.add
- (set_local $22
+ (tee_local $22
(i32.load
(i32.const 200)
)
@@ -5967,13 +6027,13 @@
)
(if
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const -8)
)
)
- (set_local $14
+ (tee_local $14
(i32.load
(i32.const 192)
)
@@ -5983,9 +6043,9 @@
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.and
- (set_local $9
+ (tee_local $9
(i32.load
(i32.add
(get_local $0)
@@ -6003,7 +6063,7 @@
(set_local $8
(i32.add
(get_local $1)
- (set_local $3
+ (tee_local $3
(i32.and
(get_local $9)
(i32.const -8)
@@ -6045,7 +6105,7 @@
)
(if
(i32.lt_u
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $1)
(i32.sub
@@ -6069,9 +6129,9 @@
(if
(i32.ne
(i32.and
- (set_local $5
+ (tee_local $5
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $8)
(i32.const 4)
@@ -6140,12 +6200,12 @@
)
(if
(i32.ne
- (set_local $9
+ (tee_local $9
(i32.load offset=8
(get_local $0)
)
)
- (set_local $6
+ (tee_local $6
(i32.add
(i32.const 216)
(i32.shl
@@ -6223,7 +6283,7 @@
(if
(i32.eq
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $1)
(i32.const 8)
@@ -6270,7 +6330,7 @@
(block $do-once$2
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load offset=12
(get_local $0)
)
@@ -6279,11 +6339,11 @@
)
(block
(if
- (set_local $11
+ (tee_local $11
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $0)
(i32.const 16)
@@ -6304,7 +6364,7 @@
)
(if
(i32.eqz
- (set_local $1
+ (tee_local $1
(i32.load
(get_local $6)
)
@@ -6318,58 +6378,60 @@
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (set_local $11
- (i32.load
- (set_local $5
- (i32.add
- (get_local $1)
- (i32.const 20)
+ (loop $while-in$5
+ (block $while-out$4
+ (if
+ (tee_local $11
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $1
- (get_local $11)
- )
- (set_local $6
- (get_local $5)
+ (block
+ (set_local $1
+ (get_local $11)
+ )
+ (set_local $6
+ (get_local $5)
+ )
+ (br $while-in$5)
)
- (br $while-in$5)
)
- )
- (if
- (set_local $11
- (i32.load
- (set_local $5
- (i32.add
- (get_local $1)
- (i32.const 16)
+ (if
+ (tee_local $11
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $1
- (get_local $11)
- )
- (set_local $6
- (get_local $5)
- )
- )
- (block
- (set_local $5
- (get_local $1)
+ (block
+ (set_local $1
+ (get_local $11)
+ )
+ (set_local $6
+ (get_local $5)
+ )
)
- (set_local $10
- (get_local $6)
+ (block
+ (set_local $5
+ (get_local $1)
+ )
+ (set_local $10
+ (get_local $6)
+ )
+ (br $while-out$4)
)
- (br $while-out$4)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(if
(i32.lt_u
@@ -6391,7 +6453,7 @@
(block
(if
(i32.lt_u
- (set_local $5
+ (tee_local $5
(i32.load offset=8
(get_local $0)
)
@@ -6403,7 +6465,7 @@
(if
(i32.ne
(i32.load
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $5)
(i32.const 12)
@@ -6417,7 +6479,7 @@
(if
(i32.eq
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $1)
(i32.const 8)
@@ -6451,11 +6513,11 @@
(i32.eq
(get_local $0)
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(i32.const 480)
(i32.shl
- (set_local $1
+ (tee_local $1
(i32.load offset=28
(get_local $0)
)
@@ -6514,7 +6576,7 @@
(if
(i32.eq
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $9)
(i32.const 16)
@@ -6551,7 +6613,7 @@
(if
(i32.lt_u
(get_local $4)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -6564,9 +6626,9 @@
(get_local $9)
)
(if
- (set_local $6
+ (tee_local $6
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $0)
(i32.const 16)
@@ -6593,7 +6655,7 @@
)
)
(if
- (set_local $6
+ (tee_local $6
(i32.load offset=4
(get_local $5)
)
@@ -6655,9 +6717,9 @@
(if
(i32.eqz
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $8)
(i32.const 4)
@@ -6712,7 +6774,7 @@
(block
(i32.store
(i32.const 188)
- (set_local $4
+ (tee_local $4
(i32.add
(i32.load
(i32.const 188)
@@ -6762,7 +6824,7 @@
(block
(i32.store
(i32.const 184)
- (set_local $4
+ (tee_local $4
(i32.add
(i32.load
(i32.const 184)
@@ -6822,7 +6884,7 @@
(block $do-once$10
(if
(i32.eq
- (set_local $10
+ (tee_local $10
(i32.load offset=12
(get_local $8)
)
@@ -6831,11 +6893,11 @@
)
(block
(if
- (set_local $11
+ (tee_local $11
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $8)
(i32.const 16)
@@ -6856,7 +6918,7 @@
)
(if
(i32.eqz
- (set_local $0
+ (tee_local $0
(i32.load
(get_local $6)
)
@@ -6870,50 +6932,52 @@
)
)
)
- (loop $while-out$12 $while-in$13
- (if
- (set_local $11
- (i32.load
- (set_local $1
- (i32.add
- (get_local $0)
- (i32.const 20)
+ (loop $while-in$13
+ (block $while-out$12
+ (if
+ (tee_local $11
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $0
- (get_local $11)
- )
- (set_local $6
- (get_local $1)
+ (block
+ (set_local $0
+ (get_local $11)
+ )
+ (set_local $6
+ (get_local $1)
+ )
+ (br $while-in$13)
)
- (br $while-in$13)
)
- )
- (if
- (set_local $11
- (i32.load
- (set_local $1
- (i32.add
- (get_local $0)
- (i32.const 16)
+ (if
+ (tee_local $11
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $0
- (get_local $11)
- )
- (set_local $6
- (get_local $1)
+ (block
+ (set_local $0
+ (get_local $11)
+ )
+ (set_local $6
+ (get_local $1)
+ )
)
+ (br $while-out$12)
)
- (br $while-out$12)
+ (br $while-in$13)
)
- (br $while-in$13)
)
(if
(i32.lt_u
@@ -6937,7 +7001,7 @@
(block
(if
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.load offset=8
(get_local $8)
)
@@ -6951,7 +7015,7 @@
(if
(i32.ne
(i32.load
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $1)
(i32.const 12)
@@ -6965,7 +7029,7 @@
(if
(i32.eq
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $10)
(i32.const 8)
@@ -6999,11 +7063,11 @@
(i32.eq
(get_local $8)
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(i32.const 480)
(i32.shl
- (set_local $10
+ (tee_local $10
(i32.load offset=28
(get_local $8)
)
@@ -7056,7 +7120,7 @@
(if
(i32.eq
(i32.load
- (set_local $10
+ (tee_local $10
(i32.add
(get_local $5)
(i32.const 16)
@@ -7084,7 +7148,7 @@
(if
(i32.lt_u
(get_local $12)
- (set_local $10
+ (tee_local $10
(i32.load
(i32.const 192)
)
@@ -7097,9 +7161,9 @@
(get_local $5)
)
(if
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $8)
(i32.const 16)
@@ -7126,7 +7190,7 @@
)
)
(if
- (set_local $0
+ (tee_local $0
(i32.load offset=4
(get_local $3)
)
@@ -7162,12 +7226,12 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load offset=8
(get_local $8)
)
)
- (set_local $5
+ (tee_local $5
(i32.add
(i32.const 216)
(i32.shl
@@ -7243,7 +7307,7 @@
(if
(i32.eq
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $10)
(i32.const 8)
@@ -7336,12 +7400,12 @@
)
(if
(i32.and
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 176)
)
)
- (set_local $4
+ (tee_local $4
(i32.shl
(i32.const 1)
(get_local $7)
@@ -7350,9 +7414,9 @@
)
(if
(i32.lt_u
- (set_local $16
+ (tee_local $16
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $1)
(i32.const 8)
@@ -7416,9 +7480,9 @@
(i32.add
(i32.const 480)
(i32.shl
- (set_local $1
+ (tee_local $1
(if
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $0)
(i32.const 8)
@@ -7435,20 +7499,20 @@
(i32.shr_u
(get_local $0)
(i32.add
- (set_local $3
+ (tee_local $3
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
- (set_local $15
+ (tee_local $15
(i32.shl
(get_local $1)
- (set_local $13
+ (tee_local $13
(i32.and
(i32.shr_u
(i32.add
@@ -7471,11 +7535,11 @@
)
(get_local $13)
)
- (set_local $15
+ (tee_local $15
(i32.and
(i32.shr_u
(i32.add
- (set_local $4
+ (tee_local $4
(i32.shl
(get_local $15)
(get_local $1)
@@ -7531,12 +7595,12 @@
)
(if
(i32.and
- (set_local $15
+ (tee_local $15
(i32.load
(i32.const 180)
)
)
- (set_local $4
+ (tee_local $4
(i32.shl
(i32.const 1)
(get_local $1)
@@ -7568,72 +7632,74 @@
(get_local $3)
)
)
- (loop $while-out$18 $while-in$19
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $1)
+ (loop $while-in$19
+ (block $while-out$18
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $0)
- )
- (block
- (set_local $17
- (get_local $1)
+ (get_local $0)
)
- (set_local $0
- (i32.const 130)
+ (block
+ (set_local $17
+ (get_local $1)
+ )
+ (set_local $0
+ (i32.const 130)
+ )
+ (br $while-out$18)
)
- (br $while-out$18)
)
- )
- (if
- (set_local $7
- (i32.load
- (set_local $16
- (i32.add
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $16
(i32.add
- (get_local $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $13)
- (i32.const 31)
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $13)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (block
- (set_local $13
- (i32.shl
- (get_local $13)
- (i32.const 1)
+ (block
+ (set_local $13
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
+ )
+ )
+ (set_local $1
+ (get_local $7)
)
)
- (set_local $1
- (get_local $7)
- )
- )
- (block
- (set_local $18
- (get_local $16)
- )
- (set_local $19
- (get_local $1)
- )
- (set_local $0
- (i32.const 127)
+ (block
+ (set_local $18
+ (get_local $16)
+ )
+ (set_local $19
+ (get_local $1)
+ )
+ (set_local $0
+ (i32.const 127)
+ )
+ (br $while-out$18)
)
- (br $while-out$18)
)
+ (br $while-in$19)
)
- (br $while-in$19)
)
(if
(i32.eq
@@ -7675,9 +7741,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $13
+ (tee_local $13
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $17)
(i32.const 8)
@@ -7685,7 +7751,7 @@
)
)
)
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 192)
)
@@ -7751,7 +7817,7 @@
)
(i32.store
(i32.const 208)
- (set_local $2
+ (tee_local $2
(i32.add
(i32.load
(i32.const 208)
@@ -7767,22 +7833,24 @@
(i32.const 632)
)
)
- (loop $while-out$20 $while-in$21
- (if
- (set_local $2
- (i32.load
- (get_local $0)
+ (loop $while-in$21
+ (block $while-out$20
+ (if
+ (tee_local $2
+ (i32.load
+ (get_local $0)
+ )
)
- )
- (set_local $0
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (set_local $0
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
+ (br $while-out$20)
)
- (br $while-out$20)
+ (br $while-in$21)
)
- (br $while-in$21)
)
(i32.store
(i32.const 208)
@@ -7807,16 +7875,11 @@
(local $17 i32)
(local $18 i32)
(set_local $11
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 48)
)
)
@@ -7830,15 +7893,15 @@
(get_local $11)
)
(i32.store
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $11)
(i32.const 32)
)
)
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $0)
(i32.const 28)
@@ -7849,10 +7912,10 @@
)
(i32.store offset=4
(get_local $3)
- (set_local $10
+ (tee_local $10
(i32.sub
(i32.load
- (set_local $14
+ (tee_local $14
(i32.add
(get_local $0)
(i32.const 20)
@@ -7895,209 +7958,211 @@
(get_local $2)
)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eq
- (get_local $5)
- (set_local $6
- (if
- (i32.load
- (i32.const 8)
- )
- (block
- (call_import $_pthread_cleanup_push
- (i32.const 4)
- (get_local $0)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eq
+ (get_local $5)
+ (tee_local $6
+ (if
+ (i32.load
+ (i32.const 8)
)
- (i32.store
- (get_local $13)
- (i32.load
- (get_local $1)
+ (block
+ (call_import $_pthread_cleanup_push
+ (i32.const 4)
+ (get_local $0)
)
- )
- (i32.store offset=4
- (get_local $13)
- (get_local $4)
- )
- (i32.store offset=8
- (get_local $13)
- (get_local $3)
- )
- (set_local $10
- (call $___syscall_ret
- (call_import $___syscall146
- (i32.const 146)
- (get_local $13)
+ (i32.store
+ (get_local $13)
+ (i32.load
+ (get_local $1)
)
)
- )
- (call_import $_pthread_cleanup_pop
- (i32.const 0)
- )
- (get_local $10)
- )
- (block
- (i32.store
- (get_local $12)
- (i32.load
- (get_local $1)
+ (i32.store offset=4
+ (get_local $13)
+ (get_local $4)
)
+ (i32.store offset=8
+ (get_local $13)
+ (get_local $3)
+ )
+ (set_local $10
+ (call $___syscall_ret
+ (call_import $___syscall146
+ (i32.const 146)
+ (get_local $13)
+ )
+ )
+ )
+ (call_import $_pthread_cleanup_pop
+ (i32.const 0)
+ )
+ (get_local $10)
)
- (i32.store offset=4
- (get_local $12)
- (get_local $4)
- )
- (i32.store offset=8
- (get_local $12)
- (get_local $3)
- )
- (call $___syscall_ret
- (call_import $___syscall146
- (i32.const 146)
+ (block
+ (i32.store
+ (get_local $12)
+ (i32.load
+ (get_local $1)
+ )
+ )
+ (i32.store offset=4
+ (get_local $12)
+ (get_local $4)
+ )
+ (i32.store offset=8
(get_local $12)
+ (get_local $3)
+ )
+ (call $___syscall_ret
+ (call_import $___syscall146
+ (i32.const 146)
+ (get_local $12)
+ )
)
)
)
)
)
- )
- (block
- (set_local $1
- (i32.const 6)
+ (block
+ (set_local $1
+ (i32.const 6)
+ )
+ (br $while-out$0)
)
- (br $while-out$0)
- )
- )
- (if
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
)
- (block
- (set_local $17
- (get_local $4)
- )
- (set_local $18
- (get_local $3)
+ (if
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 0)
)
- (set_local $1
- (i32.const 8)
+ (block
+ (set_local $17
+ (get_local $4)
+ )
+ (set_local $18
+ (get_local $3)
+ )
+ (set_local $1
+ (i32.const 8)
+ )
+ (br $while-out$0)
)
- (br $while-out$0)
- )
- )
- (set_local $10
- (i32.sub
- (get_local $5)
- (get_local $6)
)
- )
- (set_local $3
- (if
- (i32.le_u
+ (set_local $10
+ (i32.sub
+ (get_local $5)
(get_local $6)
- (set_local $5
- (i32.load offset=4
- (get_local $4)
- )
- )
)
+ )
+ (set_local $3
(if
- (i32.eq
- (get_local $3)
- (i32.const 2)
+ (i32.le_u
+ (get_local $6)
+ (tee_local $5
+ (i32.load offset=4
+ (get_local $4)
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $3)
+ (i32.const 2)
+ )
+ (block
+ (i32.store
+ (get_local $9)
+ (i32.add
+ (i32.load
+ (get_local $9)
+ )
+ (get_local $6)
+ )
+ )
+ (set_local $7
+ (get_local $4)
+ )
+ (set_local $15
+ (i32.const 2)
+ )
+ (get_local $5)
+ )
+ (block
+ (set_local $7
+ (get_local $4)
+ )
+ (set_local $15
+ (get_local $3)
+ )
+ (get_local $5)
+ )
)
(block
(i32.store
(get_local $9)
- (i32.add
+ (tee_local $7
(i32.load
- (get_local $9)
+ (get_local $8)
)
- (get_local $6)
)
)
- (set_local $7
- (get_local $4)
+ (i32.store
+ (get_local $14)
+ (get_local $7)
)
- (set_local $15
- (i32.const 2)
+ (set_local $6
+ (i32.sub
+ (get_local $6)
+ (get_local $5)
+ )
)
- (get_local $5)
- )
- (block
(set_local $7
- (get_local $4)
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
(set_local $15
- (get_local $3)
- )
- (get_local $5)
- )
- )
- (block
- (i32.store
- (get_local $9)
- (set_local $7
- (i32.load
- (get_local $8)
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
)
)
- )
- (i32.store
- (get_local $14)
- (get_local $7)
- )
- (set_local $6
- (i32.sub
- (get_local $6)
- (get_local $5)
- )
- )
- (set_local $7
- (i32.add
+ (i32.load offset=12
(get_local $4)
- (i32.const 8)
- )
- )
- (set_local $15
- (i32.add
- (get_local $3)
- (i32.const -1)
)
)
- (i32.load offset=12
- (get_local $4)
+ )
+ )
+ (i32.store
+ (get_local $7)
+ (i32.add
+ (i32.load
+ (get_local $7)
)
+ (get_local $6)
)
)
- )
- (i32.store
- (get_local $7)
- (i32.add
- (i32.load
- (get_local $7)
+ (i32.store offset=4
+ (get_local $7)
+ (i32.sub
+ (get_local $3)
+ (get_local $6)
)
- (get_local $6)
)
- )
- (i32.store offset=4
- (get_local $7)
- (i32.sub
- (get_local $3)
- (get_local $6)
+ (set_local $4
+ (get_local $7)
)
+ (set_local $3
+ (get_local $15)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (br $while-in$1)
)
- (set_local $4
- (get_local $7)
- )
- (set_local $3
- (get_local $15)
- )
- (set_local $5
- (get_local $10)
- )
- (br $while-in$1)
)
(if
(i32.eq
@@ -8108,7 +8173,7 @@
(i32.store offset=16
(get_local $0)
(i32.add
- (set_local $5
+ (tee_local $5
(i32.load
(get_local $8)
)
@@ -8120,7 +8185,7 @@
)
(i32.store
(get_local $9)
- (set_local $8
+ (tee_local $8
(get_local $5)
)
)
@@ -8177,8 +8242,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $11)
)
(get_local $16)
@@ -8190,9 +8254,9 @@
(local $6 i32)
(local $7 i32)
(if
- (set_local $5
+ (tee_local $5
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $2)
(i32.const 16)
@@ -8235,9 +8299,9 @@
)
(block
(set_local $6
- (set_local $3
+ (tee_local $3
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $2)
(i32.const 20)
@@ -8257,6 +8321,9 @@
(block
(set_local $4
(call_indirect $FUNCSIG$iiii
+ (get_local $2)
+ (get_local $0)
+ (get_local $1)
(i32.add
(i32.and
(i32.load offset=36
@@ -8266,9 +8333,6 @@
)
(i32.const 2)
)
- (get_local $2)
- (get_local $0)
- (get_local $1)
)
)
(br $label$break$L5)
@@ -8287,53 +8351,58 @@
(set_local $3
(get_local $1)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (get_local $3)
- )
- (block
- (set_local $2
- (get_local $0)
- )
- (set_local $3
- (i32.const 0)
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (get_local $3)
)
- (br $label$break$L10
- (get_local $1)
+ (block
+ (set_local $2
+ (get_local $0)
+ )
+ (set_local $3
+ (i32.const 0)
+ )
+ (br $label$break$L10
+ (get_local $1)
+ )
)
)
- )
- (if
- (i32.eq
- (i32.load8_s
- (i32.add
- (get_local $0)
- (set_local $7
- (i32.add
- (get_local $3)
- (i32.const -1)
+ (if
+ (i32.eq
+ (i32.load8_s
+ (i32.add
+ (get_local $0)
+ (tee_local $7
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
+ )
)
)
)
+ (i32.const 10)
)
- (i32.const 10)
- )
- (block
- (set_local $4
- (get_local $3)
+ (block
+ (set_local $4
+ (get_local $3)
+ )
+ (br $while-out$2)
+ )
+ (set_local $3
+ (get_local $7)
)
- (br $while-out$2)
- )
- (set_local $3
- (get_local $7)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
- (if
+ (br_if $label$break$L5
(i32.lt_u
(call_indirect $FUNCSIG$iiii
+ (get_local $2)
+ (get_local $0)
+ (get_local $4)
(i32.add
(i32.and
(i32.load offset=36
@@ -8343,13 +8412,9 @@
)
(i32.const 2)
)
- (get_local $2)
- (get_local $0)
- (get_local $4)
)
(get_local $4)
)
- (br $label$break$L5)
)
(set_local $2
(i32.add
@@ -8382,10 +8447,12 @@
)
)
)
- (call $_memcpy
- (get_local $6)
- (get_local $2)
- (get_local $0)
+ (drop
+ (call $_memcpy
+ (get_local $6)
+ (get_local $2)
+ (get_local $0)
+ )
)
(i32.store
(get_local $5)
@@ -8469,7 +8536,7 @@
(i32.const 36)
)
(if
- (set_local $2
+ (tee_local $2
(i32.load
(i32.const 32)
)
@@ -8481,64 +8548,66 @@
(set_local $2
(get_local $0)
)
- (loop $while-out$2 $while-in$3
- (set_local $0
- (if
- (i32.gt_s
- (i32.load offset=76
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $0
+ (if
+ (i32.gt_s
+ (i32.load offset=76
+ (get_local $1)
+ )
+ (i32.const -1)
+ )
+ (call $___lockfile
(get_local $1)
)
- (i32.const -1)
- )
- (call $___lockfile
- (get_local $1)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $2
- (if
- (i32.gt_u
- (i32.load offset=20
- (get_local $1)
- )
- (i32.load offset=28
- (get_local $1)
+ (set_local $2
+ (if
+ (i32.gt_u
+ (i32.load offset=20
+ (get_local $1)
+ )
+ (i32.load offset=28
+ (get_local $1)
+ )
)
- )
- (i32.or
- (call $___fflush_unlocked
- (get_local $1)
+ (i32.or
+ (call $___fflush_unlocked
+ (get_local $1)
+ )
+ (get_local $2)
)
(get_local $2)
)
- (get_local $2)
)
- )
- (if
- (get_local $0)
- (call $___unlockfile
- (get_local $1)
- )
- )
- (if
- (set_local $1
- (i32.load offset=56
+ (if
+ (get_local $0)
+ (call $___unlockfile
(get_local $1)
)
)
- (get_local $2)
- (block
- (set_local $0
- (get_local $2)
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load offset=56
+ (get_local $1)
+ )
+ )
+ )
+ (block
+ (set_local $0
+ (get_local $2)
+ )
+ (br $while-out$2)
)
- (br $while-out$2)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
- (get_local $0)
)
(call_import $___unlock
(i32.const 36)
@@ -8557,7 +8626,7 @@
(block $label$break$L1
(if
(i32.and
- (set_local $3
+ (tee_local $3
(get_local $0)
)
(i32.const 3)
@@ -8566,44 +8635,47 @@
(set_local $4
(get_local $3)
)
- (loop $while-out$1 $while-in$2
- (if
- (i32.eqz
- (i32.load8_s
- (get_local $0)
+ (loop $while-in$2
+ (block $while-out$1
+ (if
+ (i32.eqz
+ (i32.load8_s
+ (get_local $0)
+ )
)
- )
- (block
- (set_local $5
- (get_local $4)
+ (block
+ (set_local $5
+ (get_local $4)
+ )
+ (br $label$break$L1)
)
- (br $label$break$L1)
)
- )
- (if
- (i32.and
- (set_local $4
- (set_local $0
- (i32.add
- (get_local $0)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $4
+ (tee_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
)
+ (i32.const 3)
)
)
- (i32.const 3)
- )
- (get_local $0)
- (block
- (set_local $2
- (get_local $0)
- )
- (set_local $1
- (i32.const 4)
+ (block
+ (set_local $2
+ (get_local $0)
+ )
+ (set_local $1
+ (i32.const 4)
+ )
+ (br $while-out$1)
)
- (br $while-out$1)
)
+ (br $while-in$2)
)
- (br $while-in$2)
)
)
(block
@@ -8625,34 +8697,36 @@
(set_local $1
(get_local $2)
)
- (loop $while-out$3 $while-in$4
- (if
- (i32.and
- (i32.xor
- (i32.and
- (set_local $2
- (i32.load
- (get_local $1)
+ (loop $while-in$4
+ (block $while-out$3
+ (if
+ (i32.and
+ (i32.xor
+ (i32.and
+ (tee_local $2
+ (i32.load
+ (get_local $1)
+ )
)
+ (i32.const -2139062144)
)
(i32.const -2139062144)
)
- (i32.const -2139062144)
- )
- (i32.add
- (get_local $2)
- (i32.const -16843009)
+ (i32.add
+ (get_local $2)
+ (i32.const -16843009)
+ )
)
- )
- (br $while-out$3)
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (br $while-out$3)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$4)
)
- (br $while-in$4)
)
(if
(i32.shr_s
@@ -8669,25 +8743,26 @@
(set_local $2
(get_local $1)
)
- (loop $while-out$5 $while-in$6
- (if
- (i32.load8_s
- (set_local $1
- (i32.add
- (get_local $2)
- (i32.const 1)
+ (loop $while-in$6
+ (block $while-out$5
+ (if
+ (i32.load8_s
+ (tee_local $1
+ (i32.add
+ (get_local $2)
+ (i32.const 1)
+ )
)
)
+ (set_local $2
+ (get_local $1)
+ )
+ (br $while-out$5)
)
- (set_local $2
- (get_local $1)
- )
- (br $while-out$5)
+ (br $while-in$6)
)
- (br $while-in$6)
)
)
- (get_local $1)
)
(set_local $5
(get_local $1)
@@ -8710,24 +8785,19 @@
(local $9 i32)
(local $10 i32)
(set_local $5
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(i32.store8
- (set_local $6
+ (tee_local $6
(get_local $5)
)
- (set_local $9
+ (tee_local $9
(i32.and
(get_local $1)
(i32.const 255)
@@ -8735,9 +8805,9 @@
)
)
(if
- (set_local $3
+ (tee_local $3
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $0)
(i32.const 16)
@@ -8782,9 +8852,9 @@
(if
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $0)
(i32.const 20)
@@ -8795,7 +8865,7 @@
(get_local $7)
)
(i32.ne
- (set_local $10
+ (tee_local $10
(i32.and
(get_local $1)
(i32.const 255)
@@ -8829,6 +8899,9 @@
(if
(i32.eq
(call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (get_local $6)
+ (i32.const 1)
(i32.add
(i32.and
(i32.load offset=36
@@ -8838,9 +8911,6 @@
)
(i32.const 2)
)
- (get_local $0)
- (get_local $6)
- (i32.const 1)
)
(i32.const 1)
)
@@ -8853,8 +8923,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $5)
)
(get_local $4)
@@ -8870,7 +8939,7 @@
(if
(i32.gt_u
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 20)
@@ -8878,7 +8947,7 @@
)
)
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $0)
(i32.const 28)
@@ -8887,19 +8956,21 @@
)
)
(block
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (i32.load offset=36
- (get_local $0)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $0)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $0)
- (i32.const 0)
- (i32.const 0)
)
(i32.eq
(i32.load
@@ -8914,9 +8985,9 @@
(block
(if
(i32.lt_u
- (set_local $4
+ (tee_local $4
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $0)
(i32.const 4)
@@ -8924,9 +8995,9 @@
)
)
)
- (set_local $6
+ (tee_local $6
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $0)
(i32.const 8)
@@ -8936,6 +9007,12 @@
)
)
(call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.sub
+ (get_local $4)
+ (get_local $6)
+ )
+ (i32.const 1)
(i32.add
(i32.and
(i32.load offset=40
@@ -8945,12 +9022,6 @@
)
(i32.const 2)
)
- (get_local $0)
- (i32.sub
- (get_local $4)
- (get_local $6)
- )
- (i32.const 1)
)
)
(i32.store offset=16
@@ -9007,116 +9078,122 @@
)
)
(block
- (loop $while-out$0 $while-in$1
- (br_if $while-out$0
- (i32.eqz
- (i32.and
- (get_local $0)
- (i32.const 3)
+ (loop $while-in$1
+ (block $while-out$0
+ (br_if $while-out$0
+ (i32.eqz
+ (i32.and
+ (get_local $0)
+ (i32.const 3)
+ )
)
)
- )
- (if
- (i32.eqz
- (get_local $2)
- )
- (return
- (get_local $3)
- )
- )
- (i32.store8
- (get_local $0)
- (i32.load8_s
- (get_local $1)
+ (if
+ (i32.eqz
+ (get_local $2)
+ )
+ (return
+ (get_local $3)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 1)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
)
- )
- (br $while-in$1)
- )
- (loop $while-out$2 $while-in$3
- (br_if $while-out$2
- (i32.lt_s
- (get_local $2)
- (i32.const 4)
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 1)
+ )
)
+ (br $while-in$1)
)
- (i32.store
- (get_local $0)
- (i32.load
- (get_local $1)
+ )
+ (loop $while-in$3
+ (block $while-out$2
+ (br_if $while-out$2
+ (i32.lt_s
+ (get_local $2)
+ (i32.const 4)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store
(get_local $0)
- (i32.const 4)
+ (i32.load
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 4)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
)
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 4)
+ )
+ )
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (br_if $while-out$4
- (i32.le_s
- (get_local $2)
- (i32.const 0)
- )
- )
- (i32.store8
- (get_local $0)
- (i32.load8_s
- (get_local $1)
+ (loop $while-in$5
+ (block $while-out$4
+ (br_if $while-out$4
+ (i32.le_s
+ (get_local $2)
+ (i32.const 0)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 1)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 1)
+ )
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(get_local $3)
)
@@ -9144,7 +9221,7 @@
(i32.or
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(get_local $1)
(i32.const 255)
@@ -9173,7 +9250,7 @@
)
)
(if
- (set_local $3
+ (tee_local $3
(i32.and
(get_local $0)
(i32.const 3)
@@ -9189,66 +9266,72 @@
(get_local $3)
)
)
- (loop $while-out$0 $while-in$1
- (br_if $while-out$0
- (i32.ge_s
- (get_local $0)
- (get_local $3)
+ (loop $while-in$1
+ (block $while-out$0
+ (br_if $while-out$0
+ (i32.ge_s
+ (get_local $0)
+ (get_local $3)
+ )
)
- )
- (i32.store8
- (get_local $0)
- (get_local $1)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (get_local $1)
)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
+ (br $while-in$1)
)
- (br $while-in$1)
)
)
)
- (loop $while-out$2 $while-in$3
- (br_if $while-out$2
- (i32.ge_s
- (get_local $0)
- (get_local $6)
+ (loop $while-in$3
+ (block $while-out$2
+ (br_if $while-out$2
+ (i32.ge_s
+ (get_local $0)
+ (get_local $6)
+ )
)
- )
- (i32.store
- (get_local $0)
- (get_local $5)
- )
- (set_local $0
- (i32.add
+ (i32.store
(get_local $0)
- (i32.const 4)
+ (get_local $5)
+ )
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (br_if $while-out$4
- (i32.ge_s
- (get_local $0)
- (get_local $4)
+ (loop $while-in$5
+ (block $while-out$4
+ (br_if $while-out$4
+ (i32.ge_s
+ (get_local $0)
+ (get_local $4)
+ )
)
- )
- (i32.store8
- (get_local $0)
- (get_local $1)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (get_local $1)
+ )
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(i32.sub
(get_local $0)
@@ -9264,7 +9347,7 @@
(if
(i32.gt_s
(i32.load offset=76
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 52)
)
@@ -9299,9 +9382,9 @@
(i32.const 10)
)
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $1)
(i32.const 20)
@@ -9361,21 +9444,16 @@
(local $3 i32)
(local $4 i32)
(set_local $4
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 32)
)
)
(i32.store
- (set_local $3
+ (tee_local $3
(get_local $4)
)
(i32.load offset=60
@@ -9392,7 +9470,7 @@
)
(i32.store offset=12
(get_local $3)
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $4)
(i32.const 20)
@@ -9426,8 +9504,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $4)
)
(get_local $0)
@@ -9437,7 +9514,7 @@
(local $2 i32)
(set_local $2
(i32.load8_s
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 74)
@@ -9457,7 +9534,7 @@
)
(if
(i32.and
- (set_local $2
+ (tee_local $2
(i32.load
(get_local $0)
)
@@ -9485,7 +9562,7 @@
)
(i32.store offset=28
(get_local $0)
- (set_local $1
+ (tee_local $1
(i32.load offset=44
(get_local $0)
)
@@ -9519,7 +9596,7 @@
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(if
(i32.gt_s
(i32.load offset=76
@@ -9574,16 +9651,11 @@
(local $3 i32)
(local $4 i32)
(set_local $4
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 80)
)
)
@@ -9645,73 +9717,56 @@
(get_local $2)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $4)
)
(get_local $3)
)
(func $copyTempDouble (param $0 i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s
(get_local $0)
)
)
(i32.store8 offset=1
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=1
(get_local $0)
)
)
(i32.store8 offset=2
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=2
(get_local $0)
)
)
(i32.store8 offset=3
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=3
(get_local $0)
)
)
(i32.store8 offset=4
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=4
(get_local $0)
)
)
(i32.store8 offset=5
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=5
(get_local $0)
)
)
(i32.store8 offset=6
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=6
(get_local $0)
)
)
(i32.store8 offset=7
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=7
(get_local $0)
)
@@ -9721,21 +9776,16 @@
(local $1 i32)
(local $2 i32)
(set_local $1
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(i32.store
- (set_local $2
+ (tee_local $2
(get_local $1)
)
(i32.load offset=60
@@ -9750,41 +9800,32 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $1)
)
(get_local $0)
)
(func $copyTempFloat (param $0 i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s
(get_local $0)
)
)
(i32.store8 offset=1
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=1
(get_local $0)
)
)
(i32.store8 offset=2
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=2
(get_local $0)
)
)
(i32.store8 offset=3
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=3
(get_local $0)
)
@@ -9811,6 +9852,9 @@
)
(func $dynCall_iiii (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(call_indirect $FUNCSIG$iiii
+ (get_local $1)
+ (get_local $2)
+ (get_local $3)
(i32.add
(i32.and
(get_local $0)
@@ -9818,34 +9862,23 @@
)
(i32.const 2)
)
- (get_local $1)
- (get_local $2)
- (get_local $3)
)
)
(func $stackAlloc (param $0 i32) (result i32)
(local $1 i32)
(set_local $1
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(get_local $0)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.and
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 15)
)
(i32.const -16)
@@ -9867,17 +9900,13 @@
(func $setThrew (param $0 i32) (param $1 i32)
(if
(i32.eqz
- (i32.load
- (i32.const 40)
- )
+ (get_global $__THREW__)
)
(block
- (i32.store
- (i32.const 40)
+ (set_global $__THREW__
(get_local $0)
)
- (i32.store
- (i32.const 48)
+ (set_global $threwValue
(get_local $1)
)
)
@@ -9898,6 +9927,7 @@
)
(func $dynCall_ii (param $0 i32) (param $1 i32) (result i32)
(call_indirect $FUNCSIG$ii
+ (get_local $1)
(i32.add
(i32.and
(get_local $0)
@@ -9905,7 +9935,6 @@
)
(i32.const 0)
)
- (get_local $1)
)
)
(func $_cleanup_418 (param $0 i32)
@@ -9921,17 +9950,16 @@
)
)
(func $establishStackSpace (param $0 i32) (param $1 i32)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $0)
)
- (i32.store
- (i32.const 16)
+ (set_global $STACK_MAX
(get_local $1)
)
)
(func $dynCall_vi (param $0 i32) (param $1 i32)
(call_indirect $FUNCSIG$vi
+ (get_local $1)
(i32.add
(i32.and
(get_local $0)
@@ -9939,7 +9967,6 @@
)
(i32.const 10)
)
- (get_local $1)
)
)
(func $b1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
@@ -9949,14 +9976,12 @@
(i32.const 0)
)
(func $stackRestore (param $0 i32)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $0)
)
)
(func $setTempRet0 (param $0 i32)
- (i32.store
- (i32.const 160)
+ (set_global $tempRet0
(get_local $0)
)
)
@@ -9973,20 +9998,18 @@
(i32.const 0)
)
(func $getTempRet0 (result i32)
- (i32.load
- (i32.const 160)
- )
+ (get_global $tempRet0)
)
(func $_main (result i32)
- (call $_puts
- (i32.const 672)
+ (drop
+ (call $_puts
+ (i32.const 672)
+ )
)
(i32.const 0)
)
(func $stackSave (result i32)
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(func $b2 (param $0 i32)
(call_import $abort
diff --git a/test/emcc_O2_hello_world.fromasm.imprecise b/test/emcc_O2_hello_world.fromasm.imprecise
index 4f0513d28..fbcc3c46e 100644
--- a/test/emcc_O2_hello_world.fromasm.imprecise
+++ b/test/emcc_O2_hello_world.fromasm.imprecise
@@ -1,6 +1,5 @@
(module
(memory 256 256)
- (export "memory" memory)
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
@@ -8,39 +7,73 @@
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$vii (func (param i32 i32)))
- (import $abort "env" "abort" (param i32))
- (import $_pthread_cleanup_pop "env" "_pthread_cleanup_pop" (param i32))
- (import $_pthread_self "env" "_pthread_self" (result i32))
- (import $_sysconf "env" "_sysconf" (param i32) (result i32))
- (import $___lock "env" "___lock" (param i32))
- (import $___syscall6 "env" "___syscall6" (param i32 i32) (result i32))
- (import $_abort "env" "_abort")
- (import $_sbrk "env" "_sbrk" (param i32) (result i32))
- (import $_time "env" "_time" (param i32) (result i32))
- (import $_pthread_cleanup_push "env" "_pthread_cleanup_push" (param i32 i32))
- (import $_emscripten_memcpy_big "env" "_emscripten_memcpy_big" (param i32 i32 i32) (result i32))
- (import $___syscall54 "env" "___syscall54" (param i32 i32) (result i32))
- (import $___unlock "env" "___unlock" (param i32))
- (import $___syscall140 "env" "___syscall140" (param i32 i32) (result i32))
- (import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
- (export "_free" $_free)
- (export "_main" $_main)
- (export "_memset" $_memset)
- (export "_malloc" $_malloc)
- (export "_memcpy" $_memcpy)
- (export "_fflush" $_fflush)
- (export "___errno_location" $___errno_location)
- (export "runPostSets" $runPostSets)
- (export "stackAlloc" $stackAlloc)
- (export "stackSave" $stackSave)
- (export "stackRestore" $stackRestore)
- (export "establishStackSpace" $establishStackSpace)
- (export "setThrew" $setThrew)
- (export "setTempRet0" $setTempRet0)
- (export "getTempRet0" $getTempRet0)
- (export "dynCall_ii" $dynCall_ii)
- (export "dynCall_iiii" $dynCall_iiii)
- (export "dynCall_vi" $dynCall_vi)
+ (import "env" "STACKTOP" (global $STACKTOP i32))
+ (import "env" "STACK_MAX" (global $STACK_MAX i32))
+ (import "env" "tempDoublePtr" (global $tempDoublePtr i32))
+ (import "env" "ABORT" (global $ABORT i32))
+ (import "global" "NaN" (global $nan f64))
+ (import "global" "Infinity" (global $inf f64))
+ (import "env" "abort" (func $abort (param i32)))
+ (import "env" "_pthread_cleanup_pop" (func $_pthread_cleanup_pop (param i32)))
+ (import "env" "_pthread_self" (func $_pthread_self (result i32)))
+ (import "env" "_sysconf" (func $_sysconf (param i32) (result i32)))
+ (import "env" "___lock" (func $___lock (param i32)))
+ (import "env" "___syscall6" (func $___syscall6 (param i32 i32) (result i32)))
+ (import "env" "_abort" (func $_abort))
+ (import "env" "_sbrk" (func $_sbrk (param i32) (result i32)))
+ (import "env" "_time" (func $_time (param i32) (result i32)))
+ (import "env" "_pthread_cleanup_push" (func $_pthread_cleanup_push (param i32 i32)))
+ (import "env" "_emscripten_memcpy_big" (func $_emscripten_memcpy_big (param i32 i32 i32) (result i32)))
+ (import "env" "___syscall54" (func $___syscall54 (param i32 i32) (result i32)))
+ (import "env" "___unlock" (func $___unlock (param i32)))
+ (import "env" "___syscall140" (func $___syscall140 (param i32 i32) (result i32)))
+ (import "env" "___syscall146" (func $___syscall146 (param i32 i32) (result i32)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "_free" (func $_free))
+ (export "_main" (func $_main))
+ (export "_memset" (func $_memset))
+ (export "_malloc" (func $_malloc))
+ (export "_memcpy" (func $_memcpy))
+ (export "_fflush" (func $_fflush))
+ (export "___errno_location" (func $___errno_location))
+ (export "runPostSets" (func $runPostSets))
+ (export "stackAlloc" (func $stackAlloc))
+ (export "stackSave" (func $stackSave))
+ (export "stackRestore" (func $stackRestore))
+ (export "establishStackSpace" (func $establishStackSpace))
+ (export "setThrew" (func $setThrew))
+ (export "setTempRet0" (func $setTempRet0))
+ (export "getTempRet0" (func $getTempRet0))
+ (export "dynCall_ii" (func $dynCall_ii))
+ (export "dynCall_iiii" (func $dynCall_iiii))
+ (export "dynCall_vi" (func $dynCall_vi))
+ (global $__THREW__ i32 (i32.const 0))
+ (global $threwValue i32 (i32.const 0))
+ (global $setjmpId i32 (i32.const 0))
+ (global $undef i32 (i32.const 0))
+ (global $tempInt i32 (i32.const 0))
+ (global $tempBigInt i32 (i32.const 0))
+ (global $tempBigIntP i32 (i32.const 0))
+ (global $tempBigIntS i32 (i32.const 0))
+ (global $tempBigIntR f64 (f64.const 0))
+ (global $tempBigIntI i32 (i32.const 0))
+ (global $tempBigIntD i32 (i32.const 0))
+ (global $tempValue i32 (i32.const 0))
+ (global $tempDouble f64 (f64.const 0))
+ (global $tempRet0 i32 (i32.const 0))
+ (global $tempRet1 i32 (i32.const 0))
+ (global $tempRet2 i32 (i32.const 0))
+ (global $tempRet3 i32 (i32.const 0))
+ (global $tempRet4 i32 (i32.const 0))
+ (global $tempRet5 i32 (i32.const 0))
+ (global $tempRet6 i32 (i32.const 0))
+ (global $tempRet7 i32 (i32.const 0))
+ (global $tempRet8 i32 (i32.const 0))
+ (global $tempRet9 i32 (i32.const 0))
+ (global $tempFloat f64 (f64.const 0))
(table 18 18 anyfunc)
(elem (i32.const 0) $b0 $___stdio_close $b1 $b1 $___stdout_write $___stdio_seek $b1 $___stdio_write $b1 $b1 $b2 $b2 $b2 $b2 $_cleanup_418 $b2 $b2 $b2)
(func $_malloc (param $0 i32) (result i32)
@@ -106,16 +139,16 @@
(block
(if
(i32.and
- (set_local $2
+ (tee_local $2
(i32.shr_u
- (set_local $7
+ (tee_local $7
(i32.load
(i32.const 176)
)
)
- (set_local $5
+ (tee_local $5
(i32.shr_u
- (set_local $0
+ (tee_local $0
(select
(i32.const 16)
(i32.and
@@ -141,18 +174,18 @@
(block
(set_local $2
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
- (set_local $5
+ (tee_local $5
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
- (set_local $1
+ (tee_local $1
(i32.add
(i32.const 216)
(i32.shl
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.add
(i32.xor
(i32.and
@@ -198,7 +231,7 @@
(if
(i32.eq
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $2)
(i32.const 12)
@@ -237,7 +270,7 @@
(i32.store offset=4
(get_local $5)
(i32.or
- (set_local $2
+ (tee_local $2
(i32.shl
(get_local $0)
(i32.const 3)
@@ -247,7 +280,7 @@
)
)
(i32.store
- (set_local $4
+ (tee_local $4
(i32.add
(i32.add
(get_local $5)
@@ -271,7 +304,7 @@
(if
(i32.gt_u
(get_local $0)
- (set_local $4
+ (tee_local $4
(i32.load
(i32.const 184)
)
@@ -284,17 +317,17 @@
(set_local $1
(i32.and
(i32.shr_u
- (set_local $2
+ (tee_local $2
(i32.add
(i32.and
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shl
(get_local $2)
(get_local $5)
)
(i32.or
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 2)
(get_local $5)
@@ -322,27 +355,27 @@
)
(set_local $1
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
- (set_local $16
+ (tee_local $16
(i32.load
- (set_local $18
+ (tee_local $18
(i32.add
- (set_local $10
+ (tee_local $10
(i32.add
(i32.const 216)
(i32.shl
(i32.shl
- (set_local $19
+ (tee_local $19
(i32.add
(i32.or
(i32.or
(i32.or
(i32.or
- (set_local $2
+ (tee_local $2
(i32.and
(i32.shr_u
- (set_local $9
+ (tee_local $9
(i32.shr_u
(get_local $2)
(get_local $1)
@@ -355,10 +388,10 @@
)
(get_local $1)
)
- (set_local $9
+ (tee_local $9
(i32.and
(i32.shr_u
- (set_local $16
+ (tee_local $16
(i32.shr_u
(get_local $9)
(get_local $2)
@@ -370,10 +403,10 @@
)
)
)
- (set_local $16
+ (tee_local $16
(i32.and
(i32.shr_u
- (set_local $10
+ (tee_local $10
(i32.shr_u
(get_local $16)
(get_local $9)
@@ -385,10 +418,10 @@
)
)
)
- (set_local $10
+ (tee_local $10
(i32.and
(i32.shr_u
- (set_local $18
+ (tee_local $18
(i32.shr_u
(get_local $10)
(get_local $16)
@@ -440,7 +473,7 @@
(if
(i32.eq
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $1)
(i32.const 12)
@@ -494,14 +527,14 @@
)
)
(i32.store offset=4
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $16)
(get_local $0)
)
)
(i32.or
- (set_local $4
+ (tee_local $4
(i32.sub
(i32.shl
(get_local $19)
@@ -533,7 +566,7 @@
(i32.const 216)
(i32.shl
(i32.shl
- (set_local $18
+ (tee_local $18
(i32.shr_u
(get_local $8)
(i32.const 3)
@@ -547,12 +580,12 @@
)
(if
(i32.and
- (set_local $5
+ (tee_local $5
(i32.load
(i32.const 176)
)
)
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 1)
(get_local $18)
@@ -561,9 +594,9 @@
)
(if
(i32.lt_u
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $18
+ (tee_local $18
(i32.add
(get_local $10)
(i32.const 8)
@@ -636,7 +669,7 @@
)
)
(if
- (set_local $7
+ (tee_local $7
(i32.load
(i32.const 180)
)
@@ -645,7 +678,7 @@
(set_local $7
(i32.and
(i32.shr_u
- (set_local $4
+ (tee_local $4
(i32.add
(i32.and
(get_local $7)
@@ -666,7 +699,7 @@
(i32.sub
(i32.and
(i32.load offset=4
- (set_local $8
+ (tee_local $8
(i32.load offset=480
(i32.shl
(i32.add
@@ -674,10 +707,10 @@
(i32.or
(i32.or
(i32.or
- (set_local $4
+ (tee_local $4
(i32.and
(i32.shr_u
- (set_local $10
+ (tee_local $10
(i32.shr_u
(get_local $4)
(get_local $7)
@@ -690,10 +723,10 @@
)
(get_local $7)
)
- (set_local $10
+ (tee_local $10
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $10)
(get_local $4)
@@ -705,10 +738,10 @@
)
)
)
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
- (set_local $2
+ (tee_local $2
(i32.shr_u
(get_local $1)
(get_local $10)
@@ -720,10 +753,10 @@
)
)
)
- (set_local $2
+ (tee_local $2
(i32.and
(i32.shr_u
- (set_local $5
+ (tee_local $5
(i32.shr_u
(get_local $2)
(get_local $1)
@@ -756,75 +789,77 @@
(set_local $1
(get_local $8)
)
- (loop $while-out$6 $while-in$7
- (if
- (set_local $8
- (i32.load offset=16
- (get_local $5)
- )
- )
- (set_local $7
- (get_local $8)
- )
+ (loop $while-in$7
+ (block $while-out$6
(if
- (set_local $10
- (i32.load offset=20
+ (tee_local $8
+ (i32.load offset=16
(get_local $5)
)
)
(set_local $7
- (get_local $10)
+ (get_local $8)
)
- (block
+ (if
+ (tee_local $10
+ (i32.load offset=20
+ (get_local $5)
+ )
+ )
(set_local $7
- (get_local $2)
+ (get_local $10)
)
- (set_local $4
- (get_local $1)
+ (block
+ (set_local $7
+ (get_local $2)
+ )
+ (set_local $4
+ (get_local $1)
+ )
+ (br $while-out$6)
)
- (br $while-out$6)
)
)
- )
- (set_local $10
- (i32.lt_u
- (set_local $8
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $7)
+ (set_local $10
+ (i32.lt_u
+ (tee_local $8
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $7)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $0)
)
- (get_local $0)
)
+ (get_local $2)
)
- (get_local $2)
)
- )
- (set_local $2
- (select
- (get_local $8)
- (get_local $2)
- (get_local $10)
+ (set_local $2
+ (select
+ (get_local $8)
+ (get_local $2)
+ (get_local $10)
+ )
)
- )
- (set_local $5
- (get_local $7)
- )
- (set_local $1
- (select
+ (set_local $5
(get_local $7)
- (get_local $1)
- (get_local $10)
)
+ (set_local $1
+ (select
+ (get_local $7)
+ (get_local $1)
+ (get_local $10)
+ )
+ )
+ (br $while-in$7)
)
- (br $while-in$7)
)
(if
(i32.lt_u
(get_local $4)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -835,7 +870,7 @@
(if
(i32.ge_u
(get_local $4)
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $4)
(get_local $0)
@@ -852,7 +887,7 @@
(block $do-once$8
(if
(i32.eq
- (set_local $9
+ (tee_local $9
(i32.load offset=12
(get_local $4)
)
@@ -861,9 +896,9 @@
)
(block
(if
- (set_local $19
+ (tee_local $19
(i32.load
- (set_local $16
+ (tee_local $16
(i32.add
(get_local $4)
(i32.const 20)
@@ -881,9 +916,9 @@
)
(if
(i32.eqz
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $10
+ (tee_local $10
(i32.add
(get_local $4)
(i32.const 16)
@@ -900,50 +935,52 @@
)
)
)
- (loop $while-out$10 $while-in$11
- (if
- (set_local $19
- (i32.load
- (set_local $16
- (i32.add
- (get_local $8)
- (i32.const 20)
+ (loop $while-in$11
+ (block $while-out$10
+ (if
+ (tee_local $19
+ (i32.load
+ (tee_local $16
+ (i32.add
+ (get_local $8)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $8
- (get_local $19)
- )
- (set_local $10
- (get_local $16)
+ (block
+ (set_local $8
+ (get_local $19)
+ )
+ (set_local $10
+ (get_local $16)
+ )
+ (br $while-in$11)
)
- (br $while-in$11)
)
- )
- (if
- (set_local $19
- (i32.load
- (set_local $16
- (i32.add
- (get_local $8)
- (i32.const 16)
+ (if
+ (tee_local $19
+ (i32.load
+ (tee_local $16
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $8
- (get_local $19)
- )
- (set_local $10
- (get_local $16)
+ (block
+ (set_local $8
+ (get_local $19)
+ )
+ (set_local $10
+ (get_local $16)
+ )
)
+ (br $while-out$10)
)
- (br $while-out$10)
+ (br $while-in$11)
)
- (br $while-in$11)
)
(if
(i32.lt_u
@@ -965,7 +1002,7 @@
(block
(if
(i32.lt_u
- (set_local $16
+ (tee_local $16
(i32.load offset=8
(get_local $4)
)
@@ -977,7 +1014,7 @@
(if
(i32.ne
(i32.load
- (set_local $19
+ (tee_local $19
(i32.add
(get_local $16)
(i32.const 12)
@@ -991,7 +1028,7 @@
(if
(i32.eq
(i32.load
- (set_local $10
+ (tee_local $10
(i32.add
(get_local $9)
(i32.const 8)
@@ -1026,11 +1063,11 @@
(i32.eq
(get_local $4)
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(i32.const 480)
(i32.shl
- (set_local $9
+ (tee_local $9
(i32.load offset=28
(get_local $4)
)
@@ -1083,7 +1120,7 @@
(if
(i32.eq
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $2)
(i32.const 16)
@@ -1111,7 +1148,7 @@
(if
(i32.lt_u
(get_local $18)
- (set_local $9
+ (tee_local $9
(i32.load
(i32.const 192)
)
@@ -1124,7 +1161,7 @@
(get_local $2)
)
(if
- (set_local $1
+ (tee_local $1
(i32.load offset=16
(get_local $4)
)
@@ -1148,7 +1185,7 @@
)
)
(if
- (set_local $1
+ (tee_local $1
(i32.load offset=20
(get_local $4)
)
@@ -1185,7 +1222,7 @@
(i32.store offset=4
(get_local $4)
(i32.or
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $7)
(get_local $0)
@@ -1195,7 +1232,7 @@
)
)
(i32.store
- (set_local $1
+ (tee_local $1
(i32.add
(i32.add
(get_local $4)
@@ -1235,7 +1272,7 @@
(get_local $7)
)
(if
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 184)
)
@@ -1251,7 +1288,7 @@
(i32.const 216)
(i32.shl
(i32.shl
- (set_local $9
+ (tee_local $9
(i32.shr_u
(get_local $1)
(i32.const 3)
@@ -1265,12 +1302,12 @@
)
(if
(i32.and
- (set_local $16
+ (tee_local $16
(i32.load
(i32.const 176)
)
)
- (set_local $10
+ (tee_local $10
(i32.shl
(i32.const 1)
(get_local $9)
@@ -1279,9 +1316,9 @@
)
(if
(i32.lt_u
- (set_local $19
+ (tee_local $19
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $1)
(i32.const 8)
@@ -1357,10 +1394,8 @@
)
)
)
- (get_local $0)
)
)
- (get_local $0)
)
)
(if
@@ -1371,7 +1406,7 @@
(block
(set_local $2
(i32.and
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 11)
@@ -1381,7 +1416,7 @@
)
)
(if
- (set_local $10
+ (tee_local $10
(i32.load
(i32.const 180)
)
@@ -1395,12 +1430,12 @@
)
(block $label$break$L123
(if
- (set_local $7
+ (tee_local $7
(i32.load offset=480
(i32.shl
- (set_local $0
+ (tee_local $0
(if
- (set_local $19
+ (tee_local $19
(i32.shr_u
(get_local $1)
(i32.const 8)
@@ -1417,20 +1452,20 @@
(i32.shr_u
(get_local $2)
(i32.add
- (set_local $7
+ (tee_local $7
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $19
+ (tee_local $19
(i32.and
(i32.shr_u
(i32.add
- (set_local $9
+ (tee_local $9
(i32.shl
(get_local $19)
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
@@ -1453,11 +1488,11 @@
)
(get_local $1)
)
- (set_local $9
+ (tee_local $9
(i32.and
(i32.shr_u
(i32.add
- (set_local $8
+ (tee_local $8
(i32.shl
(get_local $9)
(get_local $19)
@@ -1531,82 +1566,84 @@
(set_local $4
(i32.const 0)
)
- (loop $while-out$17 $while-in$18
- (if
- (i32.lt_u
- (set_local $5
- (i32.sub
- (set_local $18
- (i32.and
- (i32.load offset=4
- (get_local $19)
+ (loop $while-in$18
+ (block $while-out$17
+ (if
+ (i32.lt_u
+ (tee_local $5
+ (i32.sub
+ (tee_local $18
+ (i32.and
+ (i32.load offset=4
+ (get_local $19)
+ )
+ (i32.const -8)
)
- (i32.const -8)
)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $9)
)
- (get_local $9)
- )
- (if
- (i32.eq
- (get_local $18)
- (get_local $2)
- )
- (block
- (set_local $27
- (get_local $5)
- )
- (set_local $25
- (get_local $19)
- )
- (set_local $29
- (get_local $19)
- )
- (set_local $9
- (i32.const 90)
+ (if
+ (i32.eq
+ (get_local $18)
+ (get_local $2)
)
- (br $label$break$L123)
- )
- (block
- (set_local $9
- (get_local $5)
+ (block
+ (set_local $27
+ (get_local $5)
+ )
+ (set_local $25
+ (get_local $19)
+ )
+ (set_local $29
+ (get_local $19)
+ )
+ (set_local $9
+ (i32.const 90)
+ )
+ (br $label$break$L123)
)
- (set_local $4
- (get_local $19)
+ (block
+ (set_local $9
+ (get_local $5)
+ )
+ (set_local $4
+ (get_local $19)
+ )
)
)
)
- )
- (set_local $18
- (select
- (get_local $8)
- (set_local $5
- (i32.load offset=20
- (get_local $19)
- )
- )
- (i32.or
- (i32.eq
- (get_local $5)
- (i32.const 0)
+ (set_local $18
+ (select
+ (get_local $8)
+ (tee_local $5
+ (i32.load offset=20
+ (get_local $19)
+ )
)
- (i32.eq
- (get_local $5)
- (set_local $19
- (i32.load
- (i32.add
+ (i32.or
+ (i32.eq
+ (get_local $5)
+ (i32.const 0)
+ )
+ (i32.eq
+ (get_local $5)
+ (tee_local $19
+ (i32.load
(i32.add
- (get_local $19)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $1)
- (i32.const 31)
+ (i32.add
+ (get_local $19)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
@@ -1614,48 +1651,48 @@
)
)
)
- )
- (if
- (set_local $5
- (i32.eq
- (get_local $19)
- (i32.const 0)
- )
- )
- (block
- (set_local $33
- (get_local $9)
- )
- (set_local $34
- (get_local $18)
- )
- (set_local $30
- (get_local $4)
- )
- (set_local $9
- (i32.const 86)
+ (if
+ (tee_local $5
+ (i32.eq
+ (get_local $19)
+ (i32.const 0)
+ )
)
- (br $while-out$17)
- )
- (block
- (set_local $8
- (get_local $18)
+ (block
+ (set_local $33
+ (get_local $9)
+ )
+ (set_local $34
+ (get_local $18)
+ )
+ (set_local $30
+ (get_local $4)
+ )
+ (set_local $9
+ (i32.const 86)
+ )
+ (br $while-out$17)
)
- (set_local $1
- (i32.shl
- (get_local $1)
- (i32.xor
- (i32.and
- (get_local $5)
+ (block
+ (set_local $8
+ (get_local $18)
+ )
+ (set_local $1
+ (i32.shl
+ (get_local $1)
+ (i32.xor
+ (i32.and
+ (get_local $5)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
)
)
)
)
+ (br $while-in$18)
)
- (br $while-in$18)
)
)
(block
@@ -1680,7 +1717,7 @@
(i32.const 86)
)
(if
- (set_local $0
+ (tee_local $0
(if
(i32.and
(i32.eq
@@ -1695,11 +1732,11 @@
(block
(if
(i32.eqz
- (set_local $16
+ (tee_local $16
(i32.and
(get_local $10)
(i32.or
- (set_local $7
+ (tee_local $7
(i32.shl
(i32.const 2)
(get_local $0)
@@ -1723,7 +1760,7 @@
(set_local $16
(i32.and
(i32.shr_u
- (set_local $7
+ (tee_local $7
(i32.add
(i32.and
(get_local $16)
@@ -1747,10 +1784,10 @@
(i32.or
(i32.or
(i32.or
- (set_local $7
+ (tee_local $7
(i32.and
(i32.shr_u
- (set_local $0
+ (tee_local $0
(i32.shr_u
(get_local $7)
(get_local $16)
@@ -1763,10 +1800,10 @@
)
(get_local $16)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $5
+ (tee_local $5
(i32.shr_u
(get_local $0)
(get_local $7)
@@ -1778,10 +1815,10 @@
)
)
)
- (set_local $5
+ (tee_local $5
(i32.and
(i32.shr_u
- (set_local $4
+ (tee_local $4
(i32.shr_u
(get_local $5)
(get_local $0)
@@ -1793,10 +1830,10 @@
)
)
)
- (set_local $4
+ (tee_local $4
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $4)
(get_local $5)
@@ -1849,84 +1886,86 @@
(get_local $9)
(i32.const 90)
)
- (loop $while-out$19 $while-in$20
- (set_local $9
- (i32.const 0)
- )
- (set_local $1
- (i32.lt_u
- (set_local $4
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $25)
+ (loop $while-in$20
+ (block $while-out$19
+ (set_local $9
+ (i32.const 0)
+ )
+ (set_local $1
+ (i32.lt_u
+ (tee_local $4
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $25)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $2)
)
- (get_local $2)
)
- )
- (get_local $27)
- )
- )
- (set_local $5
- (select
- (get_local $4)
- (get_local $27)
- (get_local $1)
- )
- )
- (set_local $4
- (select
- (get_local $25)
- (get_local $29)
- (get_local $1)
- )
- )
- (if
- (set_local $1
- (i32.load offset=16
- (get_local $25)
+ (get_local $27)
)
)
- (block
- (set_local $27
- (get_local $5)
- )
- (set_local $25
- (get_local $1)
- )
- (set_local $29
+ (set_local $5
+ (select
(get_local $4)
+ (get_local $27)
+ (get_local $1)
)
- (br $while-in$20)
)
- )
- (if
- (set_local $25
- (i32.load offset=20
+ (set_local $4
+ (select
(get_local $25)
+ (get_local $29)
+ (get_local $1)
)
)
- (block
- (set_local $27
- (get_local $5)
+ (if
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $25)
+ )
)
- (set_local $29
- (get_local $4)
+ (block
+ (set_local $27
+ (get_local $5)
+ )
+ (set_local $25
+ (get_local $1)
+ )
+ (set_local $29
+ (get_local $4)
+ )
+ (br $while-in$20)
)
)
- (block
- (set_local $6
- (get_local $5)
+ (if
+ (tee_local $25
+ (i32.load offset=20
+ (get_local $25)
+ )
)
- (set_local $12
- (get_local $4)
+ (block
+ (set_local $27
+ (get_local $5)
+ )
+ (set_local $29
+ (get_local $4)
+ )
+ )
+ (block
+ (set_local $6
+ (get_local $5)
+ )
+ (set_local $12
+ (get_local $4)
+ )
+ (br $while-out$19)
)
- (br $while-out$19)
)
+ (br $while-in$20)
)
- (br $while-in$20)
)
)
(if
@@ -1950,7 +1989,7 @@
(if
(i32.lt_u
(get_local $12)
- (set_local $10
+ (tee_local $10
(i32.load
(i32.const 192)
)
@@ -1961,7 +2000,7 @@
(if
(i32.ge_u
(get_local $12)
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $12)
(get_local $2)
@@ -1978,7 +2017,7 @@
(block $do-once$21
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load offset=12
(get_local $12)
)
@@ -1987,9 +2026,9 @@
)
(block
(if
- (set_local $16
+ (tee_local $16
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $12)
(i32.const 20)
@@ -2007,9 +2046,9 @@
)
(if
(i32.eqz
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $12)
(i32.const 16)
@@ -2026,50 +2065,52 @@
)
)
)
- (loop $while-out$23 $while-in$24
- (if
- (set_local $16
- (i32.load
- (set_local $0
- (i32.add
- (get_local $8)
- (i32.const 20)
+ (loop $while-in$24
+ (block $while-out$23
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $8)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $8
- (get_local $16)
- )
- (set_local $7
- (get_local $0)
+ (block
+ (set_local $8
+ (get_local $16)
+ )
+ (set_local $7
+ (get_local $0)
+ )
+ (br $while-in$24)
)
- (br $while-in$24)
)
- )
- (if
- (set_local $16
- (i32.load
- (set_local $0
- (i32.add
- (get_local $8)
- (i32.const 16)
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $8
- (get_local $16)
- )
- (set_local $7
- (get_local $0)
+ (block
+ (set_local $8
+ (get_local $16)
+ )
+ (set_local $7
+ (get_local $0)
+ )
)
+ (br $while-out$23)
)
- (br $while-out$23)
+ (br $while-in$24)
)
- (br $while-in$24)
)
(if
(i32.lt_u
@@ -2091,7 +2132,7 @@
(block
(if
(i32.lt_u
- (set_local $0
+ (tee_local $0
(i32.load offset=8
(get_local $12)
)
@@ -2103,7 +2144,7 @@
(if
(i32.ne
(i32.load
- (set_local $16
+ (tee_local $16
(i32.add
(get_local $0)
(i32.const 12)
@@ -2117,7 +2158,7 @@
(if
(i32.eq
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $1)
(i32.const 8)
@@ -2152,11 +2193,11 @@
(i32.eq
(get_local $12)
(i32.load
- (set_local $10
+ (tee_local $10
(i32.add
(i32.const 480)
(i32.shl
- (set_local $1
+ (tee_local $1
(i32.load offset=28
(get_local $12)
)
@@ -2209,7 +2250,7 @@
(if
(i32.eq
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $5)
(i32.const 16)
@@ -2237,7 +2278,7 @@
(if
(i32.lt_u
(get_local $11)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -2250,7 +2291,7 @@
(get_local $5)
)
(if
- (set_local $10
+ (tee_local $10
(i32.load offset=16
(get_local $12)
)
@@ -2274,7 +2315,7 @@
)
)
(if
- (set_local $10
+ (tee_local $10
(i32.load offset=20
(get_local $12)
)
@@ -2356,12 +2397,12 @@
)
(if
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 176)
)
)
- (set_local $0
+ (tee_local $0
(i32.shl
(i32.const 1)
(get_local $5)
@@ -2370,9 +2411,9 @@
)
(if
(i32.lt_u
- (set_local $7
+ (tee_local $7
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $10)
(i32.const 8)
@@ -2436,9 +2477,9 @@
(i32.add
(i32.const 480)
(i32.shl
- (set_local $8
+ (tee_local $8
(if
- (set_local $10
+ (tee_local $10
(i32.shr_u
(get_local $6)
(i32.const 8)
@@ -2455,20 +2496,20 @@
(i32.shr_u
(get_local $6)
(i32.add
- (set_local $5
+ (tee_local $5
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $10
+ (tee_local $10
(i32.and
(i32.shr_u
(i32.add
- (set_local $1
+ (tee_local $1
(i32.shl
(get_local $10)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
(i32.add
@@ -2491,11 +2532,11 @@
)
(get_local $0)
)
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
- (set_local $7
+ (tee_local $7
(i32.shl
(get_local $1)
(get_local $10)
@@ -2542,7 +2583,7 @@
(get_local $8)
)
(i32.store offset=4
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $4)
(i32.const 16)
@@ -2557,12 +2598,12 @@
(if
(i32.eqz
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 180)
)
)
- (set_local $7
+ (tee_local $7
(i32.shl
(i32.const 1)
(get_local $8)
@@ -2621,72 +2662,74 @@
(get_local $5)
)
)
- (loop $while-out$31 $while-in$32
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $1)
+ (loop $while-in$32
+ (block $while-out$31
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $6)
- )
- (block
- (set_local $15
- (get_local $1)
+ (get_local $6)
)
- (set_local $9
- (i32.const 148)
+ (block
+ (set_local $15
+ (get_local $1)
+ )
+ (set_local $9
+ (i32.const 148)
+ )
+ (br $while-out$31)
)
- (br $while-out$31)
)
- )
- (if
- (set_local $0
- (i32.load
- (set_local $5
- (i32.add
+ (if
+ (tee_local $0
+ (i32.load
+ (tee_local $5
(i32.add
- (get_local $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $7)
- (i32.const 31)
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $7)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (block
- (set_local $7
- (i32.shl
- (get_local $7)
- (i32.const 1)
+ (block
+ (set_local $7
+ (i32.shl
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (set_local $1
+ (get_local $0)
)
)
- (set_local $1
- (get_local $0)
- )
- )
- (block
- (set_local $23
- (get_local $5)
- )
- (set_local $21
- (get_local $1)
- )
- (set_local $9
- (i32.const 145)
+ (block
+ (set_local $23
+ (get_local $5)
+ )
+ (set_local $21
+ (get_local $1)
+ )
+ (set_local $9
+ (i32.const 145)
+ )
+ (br $while-out$31)
)
- (br $while-out$31)
)
+ (br $while-in$32)
)
- (br $while-in$32)
)
(if
(i32.eq
@@ -2728,9 +2771,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $7
+ (tee_local $7
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $15)
(i32.const 8)
@@ -2738,7 +2781,7 @@
)
)
)
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 192)
)
@@ -2780,7 +2823,7 @@
(i32.store offset=4
(get_local $12)
(i32.or
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $6)
(get_local $2)
@@ -2790,7 +2833,7 @@
)
)
(i32.store
- (set_local $1
+ (tee_local $1
(i32.add
(i32.add
(get_local $12)
@@ -2834,7 +2877,7 @@
)
(if
(i32.ge_u
- (set_local $12
+ (tee_local $12
(i32.load
(i32.const 184)
)
@@ -2849,7 +2892,7 @@
)
(if
(i32.gt_u
- (set_local $6
+ (tee_local $6
(i32.sub
(get_local $12)
(get_local $0)
@@ -2860,7 +2903,7 @@
(block
(i32.store
(i32.const 196)
- (set_local $21
+ (tee_local $21
(i32.add
(get_local $15)
(get_local $0)
@@ -2910,7 +2953,7 @@
)
)
(i32.store
- (set_local $6
+ (tee_local $6
(i32.add
(i32.add
(get_local $15)
@@ -2938,7 +2981,7 @@
)
(if
(i32.gt_u
- (set_local $15
+ (tee_local $15
(i32.load
(i32.const 188)
)
@@ -2948,7 +2991,7 @@
(block
(i32.store
(i32.const 188)
- (set_local $6
+ (tee_local $6
(i32.sub
(get_local $15)
(get_local $0)
@@ -2957,9 +3000,9 @@
)
(i32.store
(i32.const 200)
- (set_local $12
+ (tee_local $12
(i32.add
- (set_local $15
+ (tee_local $15
(i32.load
(i32.const 200)
)
@@ -2999,7 +3042,7 @@
(if
(i32.and
(i32.add
- (set_local $15
+ (tee_local $15
(call_import $_sysconf
(i32.const 30)
)
@@ -3057,16 +3100,16 @@
)
(if
(i32.le_u
- (set_local $6
+ (tee_local $6
(i32.and
- (set_local $21
+ (tee_local $21
(i32.add
- (set_local $6
+ (tee_local $6
(i32.load
(i32.const 656)
)
)
- (set_local $12
+ (tee_local $12
(i32.add
(get_local $0)
(i32.const 47)
@@ -3074,7 +3117,7 @@
)
)
)
- (set_local $23
+ (tee_local $23
(i32.sub
(i32.const 0)
(get_local $6)
@@ -3091,7 +3134,7 @@
(if
(if
(i32.ne
- (set_local $8
+ (tee_local $8
(i32.load
(i32.const 616)
)
@@ -3100,9 +3143,9 @@
)
(i32.or
(i32.le_u
- (set_local $14
+ (tee_local $14
(i32.add
- (set_local $26
+ (tee_local $26
(i32.load
(i32.const 608)
)
@@ -3133,7 +3176,7 @@
)
(i32.const 0)
(i32.eq
- (set_local $9
+ (tee_local $9
(block $label$break$L257
(if
(i32.and
@@ -3146,7 +3189,7 @@
(block
(block $label$break$L259
(if
- (set_local $8
+ (tee_local $8
(i32.load
(i32.const 200)
)
@@ -3155,63 +3198,65 @@
(set_local $14
(i32.const 624)
)
- (loop $while-out$37 $while-in$38
- (if
+ (loop $while-in$38
+ (block $while-out$37
(if
- (i32.le_u
- (set_local $26
- (i32.load
- (get_local $14)
+ (if
+ (i32.le_u
+ (tee_local $26
+ (i32.load
+ (get_local $14)
+ )
)
+ (get_local $8)
)
- (get_local $8)
- )
- (i32.gt_u
- (i32.add
- (get_local $26)
- (i32.load
- (set_local $11
- (i32.add
- (get_local $14)
- (i32.const 4)
+ (i32.gt_u
+ (i32.add
+ (get_local $26)
+ (i32.load
+ (tee_local $11
+ (i32.add
+ (get_local $14)
+ (i32.const 4)
+ )
)
)
)
+ (get_local $8)
)
- (get_local $8)
- )
- (i32.const 0)
- )
- (block
- (set_local $5
- (get_local $14)
- )
- (set_local $7
- (get_local $11)
+ (i32.const 0)
)
- (br $while-out$37)
- )
- )
- (if
- (i32.eqz
- (set_local $14
- (i32.load offset=8
+ (block
+ (set_local $5
(get_local $14)
)
+ (set_local $7
+ (get_local $11)
+ )
+ (br $while-out$37)
)
)
- (block
- (set_local $9
- (i32.const 173)
+ (if
+ (i32.eqz
+ (tee_local $14
+ (i32.load offset=8
+ (get_local $14)
+ )
+ )
+ )
+ (block
+ (set_local $9
+ (i32.const 173)
+ )
+ (br $label$break$L259)
)
- (br $label$break$L259)
)
+ (br $while-in$38)
)
- (br $while-in$38)
)
(if
(i32.lt_u
- (set_local $14
+ (tee_local $14
(i32.and
(i32.sub
(get_local $21)
@@ -3226,7 +3271,7 @@
)
(if
(i32.eq
- (set_local $11
+ (tee_local $11
(call_import $_sbrk
(get_local $14)
)
@@ -3284,7 +3329,7 @@
(i32.const 173)
)
(i32.ne
- (set_local $8
+ (tee_local $8
(call_import $_sbrk
(i32.const 0)
)
@@ -3297,9 +3342,9 @@
(set_local $1
(if
(i32.and
- (set_local $11
+ (tee_local $11
(i32.add
- (set_local $14
+ (tee_local $14
(i32.load
(i32.const 652)
)
@@ -3307,7 +3352,7 @@
(i32.const -1)
)
)
- (set_local $2
+ (tee_local $2
(get_local $8)
)
)
@@ -3332,7 +3377,7 @@
)
(set_local $2
(i32.add
- (set_local $14
+ (tee_local $14
(i32.load
(i32.const 608)
)
@@ -3361,7 +3406,7 @@
)
(i32.gt_u
(get_local $2)
- (set_local $11
+ (tee_local $11
(i32.load
(i32.const 616)
)
@@ -3377,7 +3422,7 @@
)
(if
(i32.eq
- (set_local $11
+ (tee_local $11
(call_import $_sbrk
(get_local $1)
)
@@ -3444,14 +3489,14 @@
)
)
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.and
(i32.add
(i32.sub
(get_local $12)
(get_local $17)
)
- (set_local $8
+ (tee_local $8
(i32.load
(i32.const 656)
)
@@ -3475,8 +3520,10 @@
(i32.const -1)
)
(block
- (call_import $_sbrk
- (get_local $11)
+ (drop
+ (call_import $_sbrk
+ (get_local $11)
+ )
)
(br $label$break$L279)
)
@@ -3530,12 +3577,12 @@
)
(i32.and
(i32.lt_u
- (set_local $3
+ (tee_local $3
(call_import $_sbrk
(get_local $6)
)
)
- (set_local $6
+ (tee_local $6
(call_import $_sbrk
(i32.const 0)
)
@@ -3555,7 +3602,7 @@
(i32.const 0)
)
(i32.gt_u
- (set_local $13
+ (tee_local $13
(i32.sub
(get_local $6)
(get_local $3)
@@ -3588,7 +3635,7 @@
(block
(i32.store
(i32.const 608)
- (set_local $13
+ (tee_local $13
(i32.add
(i32.load
(i32.const 608)
@@ -3611,7 +3658,7 @@
)
(block $do-once$44
(if
- (set_local $13
+ (tee_local $13
(i32.load
(i32.const 200)
)
@@ -3620,55 +3667,57 @@
(set_local $3
(i32.const 624)
)
- (loop $do-out$46 $do-in$47
- (if
- (i32.eq
- (get_local $20)
- (i32.add
- (set_local $6
- (i32.load
- (get_local $3)
+ (loop $do-in$47
+ (block $do-out$46
+ (if
+ (i32.eq
+ (get_local $20)
+ (i32.add
+ (tee_local $6
+ (i32.load
+ (get_local $3)
+ )
)
- )
- (set_local $12
- (i32.load
- (set_local $17
- (i32.add
- (get_local $3)
- (i32.const 4)
+ (tee_local $12
+ (i32.load
+ (tee_local $17
+ (i32.add
+ (get_local $3)
+ (i32.const 4)
+ )
)
)
)
)
)
- )
- (block
- (set_local $47
- (get_local $6)
- )
- (set_local $48
- (get_local $17)
- )
- (set_local $49
- (get_local $12)
- )
- (set_local $50
- (get_local $3)
- )
- (set_local $9
- (i32.const 203)
+ (block
+ (set_local $47
+ (get_local $6)
+ )
+ (set_local $48
+ (get_local $17)
+ )
+ (set_local $49
+ (get_local $12)
+ )
+ (set_local $50
+ (get_local $3)
+ )
+ (set_local $9
+ (i32.const 203)
+ )
+ (br $do-out$46)
)
- (br $do-out$46)
)
- )
- (br_if $do-in$47
- (i32.ne
- (set_local $3
- (i32.load offset=8
- (get_local $3)
+ (br_if $do-in$47
+ (i32.ne
+ (tee_local $3
+ (i32.load offset=8
+ (get_local $3)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
@@ -3713,13 +3762,13 @@
(set_local $3
(i32.add
(get_local $13)
- (set_local $12
+ (tee_local $12
(select
(i32.const 0)
(i32.and
(i32.sub
(i32.const 0)
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $13)
(i32.const 8)
@@ -3785,7 +3834,7 @@
(if
(i32.lt_u
(get_local $20)
- (set_local $17
+ (tee_local $17
(i32.load
(i32.const 192)
)
@@ -3810,43 +3859,45 @@
(set_local $3
(i32.const 624)
)
- (loop $while-out$48 $while-in$49
- (if
- (i32.eq
- (i32.load
- (get_local $3)
- )
- (get_local $17)
- )
- (block
- (set_local $51
- (get_local $3)
- )
- (set_local $41
- (get_local $3)
- )
- (set_local $9
- (i32.const 211)
+ (loop $while-in$49
+ (block $while-out$48
+ (if
+ (i32.eq
+ (i32.load
+ (get_local $3)
+ )
+ (get_local $17)
)
- (br $while-out$48)
- )
- )
- (if
- (i32.eqz
- (set_local $3
- (i32.load offset=8
+ (block
+ (set_local $51
(get_local $3)
)
+ (set_local $41
+ (get_local $3)
+ )
+ (set_local $9
+ (i32.const 211)
+ )
+ (br $while-out$48)
)
)
- (block
- (set_local $28
- (i32.const 624)
+ (if
+ (i32.eqz
+ (tee_local $3
+ (i32.load offset=8
+ (get_local $3)
+ )
+ )
+ )
+ (block
+ (set_local $28
+ (i32.const 624)
+ )
+ (br $while-out$48)
)
- (br $while-out$48)
)
+ (br $while-in$49)
)
- (br $while-in$49)
)
(if
(i32.eq
@@ -3869,7 +3920,7 @@
(get_local $20)
)
(i32.store
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $41)
(i32.const 4)
@@ -3890,7 +3941,7 @@
(i32.and
(i32.sub
(i32.const 0)
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $20)
(i32.const 8)
@@ -3917,7 +3968,7 @@
(i32.and
(i32.sub
(i32.const 0)
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $17)
(i32.const 8)
@@ -3975,7 +4026,7 @@
(block
(i32.store
(i32.const 184)
- (set_local $1
+ (tee_local $1
(i32.add
(i32.load
(i32.const 184)
@@ -4006,12 +4057,12 @@
)
)
(i32.store
- (set_local $5
+ (tee_local $5
(i32.add
(if
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load offset=4
(get_local $6)
)
@@ -4048,7 +4099,7 @@
(block $do-once$53
(if
(i32.eq
- (set_local $21
+ (tee_local $21
(i32.load offset=12
(get_local $6)
)
@@ -4057,11 +4108,11 @@
)
(block
(if
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $6)
(i32.const 16)
@@ -4082,7 +4133,7 @@
)
(if
(i32.eqz
- (set_local $14
+ (tee_local $14
(i32.load
(get_local $11)
)
@@ -4096,50 +4147,52 @@
)
)
)
- (loop $while-out$55 $while-in$56
- (if
- (set_local $8
- (i32.load
- (set_local $2
- (i32.add
- (get_local $14)
- (i32.const 20)
+ (loop $while-in$56
+ (block $while-out$55
+ (if
+ (tee_local $8
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $14)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $14
- (get_local $8)
- )
- (set_local $11
- (get_local $2)
+ (block
+ (set_local $14
+ (get_local $8)
+ )
+ (set_local $11
+ (get_local $2)
+ )
+ (br $while-in$56)
)
- (br $while-in$56)
)
- )
- (if
- (set_local $8
- (i32.load
- (set_local $2
- (i32.add
- (get_local $14)
- (i32.const 16)
+ (if
+ (tee_local $8
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $14)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $14
- (get_local $8)
- )
- (set_local $11
- (get_local $2)
+ (block
+ (set_local $14
+ (get_local $8)
+ )
+ (set_local $11
+ (get_local $2)
+ )
)
+ (br $while-out$55)
)
- (br $while-out$55)
+ (br $while-in$56)
)
- (br $while-in$56)
)
(if
(i32.lt_u
@@ -4161,7 +4214,7 @@
(block
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load offset=8
(get_local $6)
)
@@ -4173,7 +4226,7 @@
(if
(i32.ne
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
(get_local $2)
(i32.const 12)
@@ -4187,7 +4240,7 @@
(if
(i32.eq
(i32.load
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $21)
(i32.const 8)
@@ -4224,11 +4277,11 @@
(i32.ne
(get_local $6)
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(i32.const 480)
(i32.shl
- (set_local $21
+ (tee_local $21
(i32.load offset=28
(get_local $6)
)
@@ -4252,7 +4305,7 @@
(if
(i32.eq
(i32.load
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $23)
(i32.const 16)
@@ -4306,7 +4359,7 @@
(if
(i32.lt_u
(get_local $24)
- (set_local $21
+ (tee_local $21
(i32.load
(i32.const 192)
)
@@ -4319,9 +4372,9 @@
(get_local $23)
)
(if
- (set_local $11
+ (tee_local $11
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $6)
(i32.const 16)
@@ -4349,7 +4402,7 @@
)
(br_if $label$break$L331
(i32.eqz
- (set_local $11
+ (tee_local $11
(i32.load offset=4
(get_local $2)
)
@@ -4385,12 +4438,12 @@
(block $do-once$61
(if
(i32.ne
- (set_local $11
+ (tee_local $11
(i32.load offset=8
(get_local $6)
)
)
- (set_local $23
+ (tee_local $23
(i32.add
(i32.const 216)
(i32.shl
@@ -4470,7 +4523,7 @@
(if
(i32.eq
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $21)
(i32.const 8)
@@ -4565,12 +4618,12 @@
(block $do-once$65
(if
(i32.and
- (set_local $23
+ (tee_local $23
(i32.load
(i32.const 176)
)
)
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 1)
(get_local $5)
@@ -4580,9 +4633,9 @@
(block
(if
(i32.ge_u
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $1)
(i32.const 8)
@@ -4649,10 +4702,10 @@
(i32.add
(i32.const 480)
(i32.shl
- (set_local $0
+ (tee_local $0
(block $do-once$67
(if
- (set_local $2
+ (tee_local $2
(i32.shr_u
(get_local $15)
(i32.const 8)
@@ -4671,20 +4724,20 @@
(i32.shr_u
(get_local $15)
(i32.add
- (set_local $14
+ (tee_local $14
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $8
+ (tee_local $8
(i32.and
(i32.shr_u
(i32.add
- (set_local $7
+ (tee_local $7
(i32.shl
(get_local $2)
- (set_local $23
+ (tee_local $23
(i32.and
(i32.shr_u
(i32.add
@@ -4707,11 +4760,11 @@
)
(get_local $23)
)
- (set_local $7
+ (tee_local $7
(i32.and
(i32.shr_u
(i32.add
- (set_local $5
+ (tee_local $5
(i32.shl
(get_local $7)
(get_local $8)
@@ -4759,7 +4812,7 @@
(get_local $0)
)
(i32.store offset=4
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $3)
(i32.const 16)
@@ -4774,12 +4827,12 @@
(if
(i32.eqz
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 180)
)
)
- (set_local $14
+ (tee_local $14
(i32.shl
(i32.const 1)
(get_local $0)
@@ -4838,72 +4891,74 @@
(get_local $2)
)
)
- (loop $while-out$69 $while-in$70
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $1)
+ (loop $while-in$70
+ (block $while-out$69
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $15)
)
- (get_local $15)
- )
- (block
- (set_local $36
- (get_local $1)
- )
- (set_local $9
- (i32.const 281)
+ (block
+ (set_local $36
+ (get_local $1)
+ )
+ (set_local $9
+ (i32.const 281)
+ )
+ (br $while-out$69)
)
- (br $while-out$69)
)
- )
- (if
- (set_local $7
- (i32.load
- (set_local $2
- (i32.add
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $2
(i32.add
- (get_local $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $14)
- (i32.const 31)
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $14)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (block
- (set_local $14
- (i32.shl
- (get_local $14)
- (i32.const 1)
+ (block
+ (set_local $14
+ (i32.shl
+ (get_local $14)
+ (i32.const 1)
+ )
+ )
+ (set_local $1
+ (get_local $7)
)
)
- (set_local $1
- (get_local $7)
- )
- )
- (block
- (set_local $44
- (get_local $2)
- )
- (set_local $52
- (get_local $1)
- )
- (set_local $9
- (i32.const 278)
+ (block
+ (set_local $44
+ (get_local $2)
+ )
+ (set_local $52
+ (get_local $1)
+ )
+ (set_local $9
+ (i32.const 278)
+ )
+ (br $while-out$69)
)
- (br $while-out$69)
)
+ (br $while-in$70)
)
- (br $while-in$70)
)
(if
(i32.eq
@@ -4945,9 +5000,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $14
+ (tee_local $14
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $36)
(i32.const 8)
@@ -4955,7 +5010,7 @@
)
)
)
- (set_local $7
+ (tee_local $7
(i32.load
(i32.const 192)
)
@@ -4996,7 +5051,7 @@
(block
(i32.store
(i32.const 188)
- (set_local $14
+ (tee_local $14
(i32.add
(i32.load
(i32.const 188)
@@ -5028,47 +5083,49 @@
)
)
)
- (loop $while-out$71 $while-in$72
- (if
+ (loop $while-in$72
+ (block $while-out$71
(if
- (i32.le_u
- (set_local $3
- (i32.load
- (get_local $28)
+ (if
+ (i32.le_u
+ (tee_local $3
+ (i32.load
+ (get_local $28)
+ )
)
+ (get_local $13)
)
- (get_local $13)
- )
- (i32.gt_u
- (set_local $15
- (i32.add
- (get_local $3)
- (i32.load offset=4
- (get_local $28)
+ (i32.gt_u
+ (tee_local $15
+ (i32.add
+ (get_local $3)
+ (i32.load offset=4
+ (get_local $28)
+ )
)
)
+ (get_local $13)
)
- (get_local $13)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $5
- (get_local $15)
+ (block
+ (set_local $5
+ (get_local $15)
+ )
+ (br $while-out$71)
)
- (br $while-out$71)
)
- )
- (set_local $28
- (i32.load offset=8
- (get_local $28)
+ (set_local $28
+ (i32.load offset=8
+ (get_local $28)
+ )
)
+ (br $while-in$72)
)
- (br $while-in$72)
)
(set_local $15
(i32.add
- (set_local $12
+ (tee_local $12
(i32.add
(get_local $5)
(i32.const -47)
@@ -5079,10 +5136,10 @@
)
(set_local $3
(i32.add
- (set_local $12
+ (tee_local $12
(select
(get_local $13)
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $12)
(select
@@ -5106,7 +5163,7 @@
)
(i32.lt_u
(get_local $3)
- (set_local $15
+ (tee_local $15
(i32.add
(get_local $13)
(i32.const 16)
@@ -5120,16 +5177,16 @@
)
(i32.store
(i32.const 200)
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $20)
- (set_local $17
+ (tee_local $17
(select
(i32.const 0)
(i32.and
(i32.sub
(i32.const 0)
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $20)
(i32.const 8)
@@ -5152,7 +5209,7 @@
)
(i32.store
(i32.const 188)
- (set_local $14
+ (tee_local $14
(i32.sub
(i32.add
(get_local $22)
@@ -5183,7 +5240,7 @@
)
)
(i32.store
- (set_local $14
+ (tee_local $14
(i32.add
(get_local $12)
(i32.const 4)
@@ -5239,7 +5296,7 @@
)
(loop $do-in$74
(i32.store
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $3)
(i32.const 4)
@@ -5275,7 +5332,7 @@
(i32.store offset=4
(get_local $13)
(i32.or
- (set_local $3
+ (tee_local $3
(i32.sub
(get_local $12)
(get_local $13)
@@ -5314,12 +5371,12 @@
)
(if
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 176)
)
)
- (set_local $7
+ (tee_local $7
(i32.shl
(i32.const 1)
(get_local $6)
@@ -5328,9 +5385,9 @@
)
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $17)
(i32.const 8)
@@ -5394,9 +5451,9 @@
(i32.add
(i32.const 480)
(i32.shl
- (set_local $5
+ (tee_local $5
(if
- (set_local $17
+ (tee_local $17
(i32.shr_u
(get_local $3)
(i32.const 8)
@@ -5413,20 +5470,20 @@
(i32.shr_u
(get_local $3)
(i32.add
- (set_local $6
+ (tee_local $6
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $17
+ (tee_local $17
(i32.and
(i32.shr_u
(i32.add
- (set_local $1
+ (tee_local $1
(i32.shl
(get_local $17)
- (set_local $7
+ (tee_local $7
(i32.and
(i32.shr_u
(i32.add
@@ -5449,11 +5506,11 @@
)
(get_local $7)
)
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
- (set_local $2
+ (tee_local $2
(i32.shl
(get_local $1)
(get_local $17)
@@ -5510,12 +5567,12 @@
(if
(i32.eqz
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 180)
)
)
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 1)
(get_local $5)
@@ -5574,72 +5631,74 @@
(get_local $6)
)
)
- (loop $while-out$75 $while-in$76
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $1)
+ (loop $while-in$76
+ (block $while-out$75
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $3)
- )
- (block
- (set_local $38
- (get_local $1)
+ (get_local $3)
)
- (set_local $9
- (i32.const 307)
+ (block
+ (set_local $38
+ (get_local $1)
+ )
+ (set_local $9
+ (i32.const 307)
+ )
+ (br $while-out$75)
)
- (br $while-out$75)
)
- )
- (if
- (set_local $7
- (i32.load
- (set_local $6
- (i32.add
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $6
(i32.add
- (get_local $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $2)
- (i32.const 31)
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (block
- (set_local $2
- (i32.shl
- (get_local $2)
- (i32.const 1)
+ (block
+ (set_local $2
+ (i32.shl
+ (get_local $2)
+ (i32.const 1)
+ )
+ )
+ (set_local $1
+ (get_local $7)
)
)
- (set_local $1
- (get_local $7)
- )
- )
- (block
- (set_local $46
- (get_local $6)
- )
- (set_local $53
- (get_local $1)
- )
- (set_local $9
- (i32.const 304)
+ (block
+ (set_local $46
+ (get_local $6)
+ )
+ (set_local $53
+ (get_local $1)
+ )
+ (set_local $9
+ (i32.const 304)
+ )
+ (br $while-out$75)
)
- (br $while-out$75)
)
+ (br $while-in$76)
)
- (br $while-in$76)
)
(if
(i32.eq
@@ -5681,9 +5740,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $38)
(i32.const 8)
@@ -5691,7 +5750,7 @@
)
)
)
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 192)
)
@@ -5735,7 +5794,7 @@
(if
(i32.or
(i32.eq
- (set_local $2
+ (tee_local $2
(i32.load
(i32.const 192)
)
@@ -5779,7 +5838,7 @@
)
(loop $do-in$78
(i32.store offset=12
- (set_local $1
+ (tee_local $1
(i32.add
(i32.const 216)
(i32.shl
@@ -5799,7 +5858,7 @@
)
(br_if $do-in$78
(i32.ne
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $2)
(i32.const 1)
@@ -5811,16 +5870,16 @@
)
(i32.store
(i32.const 200)
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $20)
- (set_local $1
+ (tee_local $1
(select
(i32.const 0)
(i32.and
(i32.sub
(i32.const 0)
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $20)
(i32.const 8)
@@ -5843,7 +5902,7 @@
)
(i32.store
(i32.const 188)
- (set_local $3
+ (tee_local $3
(i32.sub
(i32.add
(get_local $22)
@@ -5878,7 +5937,7 @@
)
(if
(i32.gt_u
- (set_local $22
+ (tee_local $22
(i32.load
(i32.const 188)
)
@@ -5888,7 +5947,7 @@
(block
(i32.store
(i32.const 188)
- (set_local $20
+ (tee_local $20
(i32.sub
(get_local $22)
(get_local $0)
@@ -5897,9 +5956,9 @@
)
(i32.store
(i32.const 200)
- (set_local $13
+ (tee_local $13
(i32.add
- (set_local $22
+ (tee_local $22
(i32.load
(i32.const 200)
)
@@ -5966,13 +6025,13 @@
)
(if
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const -8)
)
)
- (set_local $14
+ (tee_local $14
(i32.load
(i32.const 192)
)
@@ -5982,9 +6041,9 @@
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.and
- (set_local $9
+ (tee_local $9
(i32.load
(i32.add
(get_local $0)
@@ -6002,7 +6061,7 @@
(set_local $8
(i32.add
(get_local $1)
- (set_local $3
+ (tee_local $3
(i32.and
(get_local $9)
(i32.const -8)
@@ -6044,7 +6103,7 @@
)
(if
(i32.lt_u
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $1)
(i32.sub
@@ -6068,9 +6127,9 @@
(if
(i32.ne
(i32.and
- (set_local $5
+ (tee_local $5
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $8)
(i32.const 4)
@@ -6139,12 +6198,12 @@
)
(if
(i32.ne
- (set_local $9
+ (tee_local $9
(i32.load offset=8
(get_local $0)
)
)
- (set_local $6
+ (tee_local $6
(i32.add
(i32.const 216)
(i32.shl
@@ -6222,7 +6281,7 @@
(if
(i32.eq
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $1)
(i32.const 8)
@@ -6269,7 +6328,7 @@
(block $do-once$2
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load offset=12
(get_local $0)
)
@@ -6278,11 +6337,11 @@
)
(block
(if
- (set_local $11
+ (tee_local $11
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $0)
(i32.const 16)
@@ -6303,7 +6362,7 @@
)
(if
(i32.eqz
- (set_local $1
+ (tee_local $1
(i32.load
(get_local $6)
)
@@ -6317,58 +6376,60 @@
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (set_local $11
- (i32.load
- (set_local $5
- (i32.add
- (get_local $1)
- (i32.const 20)
+ (loop $while-in$5
+ (block $while-out$4
+ (if
+ (tee_local $11
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $1
- (get_local $11)
- )
- (set_local $6
- (get_local $5)
+ (block
+ (set_local $1
+ (get_local $11)
+ )
+ (set_local $6
+ (get_local $5)
+ )
+ (br $while-in$5)
)
- (br $while-in$5)
)
- )
- (if
- (set_local $11
- (i32.load
- (set_local $5
- (i32.add
- (get_local $1)
- (i32.const 16)
+ (if
+ (tee_local $11
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $1
- (get_local $11)
- )
- (set_local $6
- (get_local $5)
- )
- )
- (block
- (set_local $5
- (get_local $1)
+ (block
+ (set_local $1
+ (get_local $11)
+ )
+ (set_local $6
+ (get_local $5)
+ )
)
- (set_local $10
- (get_local $6)
+ (block
+ (set_local $5
+ (get_local $1)
+ )
+ (set_local $10
+ (get_local $6)
+ )
+ (br $while-out$4)
)
- (br $while-out$4)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(if
(i32.lt_u
@@ -6390,7 +6451,7 @@
(block
(if
(i32.lt_u
- (set_local $5
+ (tee_local $5
(i32.load offset=8
(get_local $0)
)
@@ -6402,7 +6463,7 @@
(if
(i32.ne
(i32.load
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $5)
(i32.const 12)
@@ -6416,7 +6477,7 @@
(if
(i32.eq
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $1)
(i32.const 8)
@@ -6450,11 +6511,11 @@
(i32.eq
(get_local $0)
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(i32.const 480)
(i32.shl
- (set_local $1
+ (tee_local $1
(i32.load offset=28
(get_local $0)
)
@@ -6513,7 +6574,7 @@
(if
(i32.eq
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $9)
(i32.const 16)
@@ -6550,7 +6611,7 @@
(if
(i32.lt_u
(get_local $4)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -6563,9 +6624,9 @@
(get_local $9)
)
(if
- (set_local $6
+ (tee_local $6
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $0)
(i32.const 16)
@@ -6592,7 +6653,7 @@
)
)
(if
- (set_local $6
+ (tee_local $6
(i32.load offset=4
(get_local $5)
)
@@ -6654,9 +6715,9 @@
(if
(i32.eqz
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $8)
(i32.const 4)
@@ -6711,7 +6772,7 @@
(block
(i32.store
(i32.const 188)
- (set_local $4
+ (tee_local $4
(i32.add
(i32.load
(i32.const 188)
@@ -6761,7 +6822,7 @@
(block
(i32.store
(i32.const 184)
- (set_local $4
+ (tee_local $4
(i32.add
(i32.load
(i32.const 184)
@@ -6821,7 +6882,7 @@
(block $do-once$10
(if
(i32.eq
- (set_local $10
+ (tee_local $10
(i32.load offset=12
(get_local $8)
)
@@ -6830,11 +6891,11 @@
)
(block
(if
- (set_local $11
+ (tee_local $11
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $8)
(i32.const 16)
@@ -6855,7 +6916,7 @@
)
(if
(i32.eqz
- (set_local $0
+ (tee_local $0
(i32.load
(get_local $6)
)
@@ -6869,50 +6930,52 @@
)
)
)
- (loop $while-out$12 $while-in$13
- (if
- (set_local $11
- (i32.load
- (set_local $1
- (i32.add
- (get_local $0)
- (i32.const 20)
+ (loop $while-in$13
+ (block $while-out$12
+ (if
+ (tee_local $11
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $0
- (get_local $11)
- )
- (set_local $6
- (get_local $1)
+ (block
+ (set_local $0
+ (get_local $11)
+ )
+ (set_local $6
+ (get_local $1)
+ )
+ (br $while-in$13)
)
- (br $while-in$13)
)
- )
- (if
- (set_local $11
- (i32.load
- (set_local $1
- (i32.add
- (get_local $0)
- (i32.const 16)
+ (if
+ (tee_local $11
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $0
- (get_local $11)
- )
- (set_local $6
- (get_local $1)
+ (block
+ (set_local $0
+ (get_local $11)
+ )
+ (set_local $6
+ (get_local $1)
+ )
)
+ (br $while-out$12)
)
- (br $while-out$12)
+ (br $while-in$13)
)
- (br $while-in$13)
)
(if
(i32.lt_u
@@ -6936,7 +6999,7 @@
(block
(if
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.load offset=8
(get_local $8)
)
@@ -6950,7 +7013,7 @@
(if
(i32.ne
(i32.load
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $1)
(i32.const 12)
@@ -6964,7 +7027,7 @@
(if
(i32.eq
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $10)
(i32.const 8)
@@ -6998,11 +7061,11 @@
(i32.eq
(get_local $8)
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(i32.const 480)
(i32.shl
- (set_local $10
+ (tee_local $10
(i32.load offset=28
(get_local $8)
)
@@ -7055,7 +7118,7 @@
(if
(i32.eq
(i32.load
- (set_local $10
+ (tee_local $10
(i32.add
(get_local $5)
(i32.const 16)
@@ -7083,7 +7146,7 @@
(if
(i32.lt_u
(get_local $12)
- (set_local $10
+ (tee_local $10
(i32.load
(i32.const 192)
)
@@ -7096,9 +7159,9 @@
(get_local $5)
)
(if
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $8)
(i32.const 16)
@@ -7125,7 +7188,7 @@
)
)
(if
- (set_local $0
+ (tee_local $0
(i32.load offset=4
(get_local $3)
)
@@ -7161,12 +7224,12 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load offset=8
(get_local $8)
)
)
- (set_local $5
+ (tee_local $5
(i32.add
(i32.const 216)
(i32.shl
@@ -7242,7 +7305,7 @@
(if
(i32.eq
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $10)
(i32.const 8)
@@ -7335,12 +7398,12 @@
)
(if
(i32.and
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 176)
)
)
- (set_local $4
+ (tee_local $4
(i32.shl
(i32.const 1)
(get_local $7)
@@ -7349,9 +7412,9 @@
)
(if
(i32.lt_u
- (set_local $16
+ (tee_local $16
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $1)
(i32.const 8)
@@ -7415,9 +7478,9 @@
(i32.add
(i32.const 480)
(i32.shl
- (set_local $1
+ (tee_local $1
(if
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $0)
(i32.const 8)
@@ -7434,20 +7497,20 @@
(i32.shr_u
(get_local $0)
(i32.add
- (set_local $3
+ (tee_local $3
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
- (set_local $15
+ (tee_local $15
(i32.shl
(get_local $1)
- (set_local $13
+ (tee_local $13
(i32.and
(i32.shr_u
(i32.add
@@ -7470,11 +7533,11 @@
)
(get_local $13)
)
- (set_local $15
+ (tee_local $15
(i32.and
(i32.shr_u
(i32.add
- (set_local $4
+ (tee_local $4
(i32.shl
(get_local $15)
(get_local $1)
@@ -7530,12 +7593,12 @@
)
(if
(i32.and
- (set_local $15
+ (tee_local $15
(i32.load
(i32.const 180)
)
)
- (set_local $4
+ (tee_local $4
(i32.shl
(i32.const 1)
(get_local $1)
@@ -7567,72 +7630,74 @@
(get_local $3)
)
)
- (loop $while-out$18 $while-in$19
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $1)
+ (loop $while-in$19
+ (block $while-out$18
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $0)
- )
- (block
- (set_local $17
- (get_local $1)
+ (get_local $0)
)
- (set_local $0
- (i32.const 130)
+ (block
+ (set_local $17
+ (get_local $1)
+ )
+ (set_local $0
+ (i32.const 130)
+ )
+ (br $while-out$18)
)
- (br $while-out$18)
)
- )
- (if
- (set_local $7
- (i32.load
- (set_local $16
- (i32.add
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $16
(i32.add
- (get_local $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $13)
- (i32.const 31)
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $13)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (block
- (set_local $13
- (i32.shl
- (get_local $13)
- (i32.const 1)
+ (block
+ (set_local $13
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
+ )
+ )
+ (set_local $1
+ (get_local $7)
)
)
- (set_local $1
- (get_local $7)
- )
- )
- (block
- (set_local $18
- (get_local $16)
- )
- (set_local $19
- (get_local $1)
- )
- (set_local $0
- (i32.const 127)
+ (block
+ (set_local $18
+ (get_local $16)
+ )
+ (set_local $19
+ (get_local $1)
+ )
+ (set_local $0
+ (i32.const 127)
+ )
+ (br $while-out$18)
)
- (br $while-out$18)
)
+ (br $while-in$19)
)
- (br $while-in$19)
)
(if
(i32.eq
@@ -7674,9 +7739,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $13
+ (tee_local $13
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $17)
(i32.const 8)
@@ -7684,7 +7749,7 @@
)
)
)
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 192)
)
@@ -7750,7 +7815,7 @@
)
(i32.store
(i32.const 208)
- (set_local $2
+ (tee_local $2
(i32.add
(i32.load
(i32.const 208)
@@ -7766,22 +7831,24 @@
(i32.const 632)
)
)
- (loop $while-out$20 $while-in$21
- (if
- (set_local $2
- (i32.load
- (get_local $0)
+ (loop $while-in$21
+ (block $while-out$20
+ (if
+ (tee_local $2
+ (i32.load
+ (get_local $0)
+ )
)
- )
- (set_local $0
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (set_local $0
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
+ (br $while-out$20)
)
- (br $while-out$20)
+ (br $while-in$21)
)
- (br $while-in$21)
)
(i32.store
(i32.const 208)
@@ -7806,16 +7873,11 @@
(local $17 i32)
(local $18 i32)
(set_local $11
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 48)
)
)
@@ -7829,15 +7891,15 @@
(get_local $11)
)
(i32.store
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $11)
(i32.const 32)
)
)
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $0)
(i32.const 28)
@@ -7848,10 +7910,10 @@
)
(i32.store offset=4
(get_local $3)
- (set_local $10
+ (tee_local $10
(i32.sub
(i32.load
- (set_local $14
+ (tee_local $14
(i32.add
(get_local $0)
(i32.const 20)
@@ -7894,209 +7956,211 @@
(get_local $2)
)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eq
- (get_local $5)
- (set_local $6
- (if
- (i32.load
- (i32.const 8)
- )
- (block
- (call_import $_pthread_cleanup_push
- (i32.const 4)
- (get_local $0)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eq
+ (get_local $5)
+ (tee_local $6
+ (if
+ (i32.load
+ (i32.const 8)
)
- (i32.store
- (get_local $13)
- (i32.load
- (get_local $1)
+ (block
+ (call_import $_pthread_cleanup_push
+ (i32.const 4)
+ (get_local $0)
)
- )
- (i32.store offset=4
- (get_local $13)
- (get_local $4)
- )
- (i32.store offset=8
- (get_local $13)
- (get_local $3)
- )
- (set_local $10
- (call $___syscall_ret
- (call_import $___syscall146
- (i32.const 146)
- (get_local $13)
+ (i32.store
+ (get_local $13)
+ (i32.load
+ (get_local $1)
)
)
- )
- (call_import $_pthread_cleanup_pop
- (i32.const 0)
- )
- (get_local $10)
- )
- (block
- (i32.store
- (get_local $12)
- (i32.load
- (get_local $1)
+ (i32.store offset=4
+ (get_local $13)
+ (get_local $4)
)
+ (i32.store offset=8
+ (get_local $13)
+ (get_local $3)
+ )
+ (set_local $10
+ (call $___syscall_ret
+ (call_import $___syscall146
+ (i32.const 146)
+ (get_local $13)
+ )
+ )
+ )
+ (call_import $_pthread_cleanup_pop
+ (i32.const 0)
+ )
+ (get_local $10)
)
- (i32.store offset=4
- (get_local $12)
- (get_local $4)
- )
- (i32.store offset=8
- (get_local $12)
- (get_local $3)
- )
- (call $___syscall_ret
- (call_import $___syscall146
- (i32.const 146)
+ (block
+ (i32.store
+ (get_local $12)
+ (i32.load
+ (get_local $1)
+ )
+ )
+ (i32.store offset=4
+ (get_local $12)
+ (get_local $4)
+ )
+ (i32.store offset=8
(get_local $12)
+ (get_local $3)
+ )
+ (call $___syscall_ret
+ (call_import $___syscall146
+ (i32.const 146)
+ (get_local $12)
+ )
)
)
)
)
)
- )
- (block
- (set_local $1
- (i32.const 6)
+ (block
+ (set_local $1
+ (i32.const 6)
+ )
+ (br $while-out$0)
)
- (br $while-out$0)
- )
- )
- (if
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
)
- (block
- (set_local $17
- (get_local $4)
- )
- (set_local $18
- (get_local $3)
+ (if
+ (i32.lt_s
+ (get_local $6)
+ (i32.const 0)
)
- (set_local $1
- (i32.const 8)
+ (block
+ (set_local $17
+ (get_local $4)
+ )
+ (set_local $18
+ (get_local $3)
+ )
+ (set_local $1
+ (i32.const 8)
+ )
+ (br $while-out$0)
)
- (br $while-out$0)
- )
- )
- (set_local $10
- (i32.sub
- (get_local $5)
- (get_local $6)
)
- )
- (set_local $3
- (if
- (i32.le_u
+ (set_local $10
+ (i32.sub
+ (get_local $5)
(get_local $6)
- (set_local $5
- (i32.load offset=4
- (get_local $4)
- )
- )
)
+ )
+ (set_local $3
(if
- (i32.eq
- (get_local $3)
- (i32.const 2)
+ (i32.le_u
+ (get_local $6)
+ (tee_local $5
+ (i32.load offset=4
+ (get_local $4)
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $3)
+ (i32.const 2)
+ )
+ (block
+ (i32.store
+ (get_local $9)
+ (i32.add
+ (i32.load
+ (get_local $9)
+ )
+ (get_local $6)
+ )
+ )
+ (set_local $7
+ (get_local $4)
+ )
+ (set_local $15
+ (i32.const 2)
+ )
+ (get_local $5)
+ )
+ (block
+ (set_local $7
+ (get_local $4)
+ )
+ (set_local $15
+ (get_local $3)
+ )
+ (get_local $5)
+ )
)
(block
(i32.store
(get_local $9)
- (i32.add
+ (tee_local $7
(i32.load
- (get_local $9)
+ (get_local $8)
)
- (get_local $6)
)
)
- (set_local $7
- (get_local $4)
+ (i32.store
+ (get_local $14)
+ (get_local $7)
)
- (set_local $15
- (i32.const 2)
+ (set_local $6
+ (i32.sub
+ (get_local $6)
+ (get_local $5)
+ )
)
- (get_local $5)
- )
- (block
(set_local $7
- (get_local $4)
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
(set_local $15
- (get_local $3)
- )
- (get_local $5)
- )
- )
- (block
- (i32.store
- (get_local $9)
- (set_local $7
- (i32.load
- (get_local $8)
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
)
)
- )
- (i32.store
- (get_local $14)
- (get_local $7)
- )
- (set_local $6
- (i32.sub
- (get_local $6)
- (get_local $5)
- )
- )
- (set_local $7
- (i32.add
+ (i32.load offset=12
(get_local $4)
- (i32.const 8)
- )
- )
- (set_local $15
- (i32.add
- (get_local $3)
- (i32.const -1)
)
)
- (i32.load offset=12
- (get_local $4)
+ )
+ )
+ (i32.store
+ (get_local $7)
+ (i32.add
+ (i32.load
+ (get_local $7)
)
+ (get_local $6)
)
)
- )
- (i32.store
- (get_local $7)
- (i32.add
- (i32.load
- (get_local $7)
+ (i32.store offset=4
+ (get_local $7)
+ (i32.sub
+ (get_local $3)
+ (get_local $6)
)
- (get_local $6)
)
- )
- (i32.store offset=4
- (get_local $7)
- (i32.sub
- (get_local $3)
- (get_local $6)
+ (set_local $4
+ (get_local $7)
)
+ (set_local $3
+ (get_local $15)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (br $while-in$1)
)
- (set_local $4
- (get_local $7)
- )
- (set_local $3
- (get_local $15)
- )
- (set_local $5
- (get_local $10)
- )
- (br $while-in$1)
)
(if
(i32.eq
@@ -8107,7 +8171,7 @@
(i32.store offset=16
(get_local $0)
(i32.add
- (set_local $5
+ (tee_local $5
(i32.load
(get_local $8)
)
@@ -8119,7 +8183,7 @@
)
(i32.store
(get_local $9)
- (set_local $8
+ (tee_local $8
(get_local $5)
)
)
@@ -8176,8 +8240,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $11)
)
(get_local $16)
@@ -8189,9 +8252,9 @@
(local $6 i32)
(local $7 i32)
(if
- (set_local $5
+ (tee_local $5
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $2)
(i32.const 16)
@@ -8234,9 +8297,9 @@
)
(block
(set_local $6
- (set_local $3
+ (tee_local $3
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $2)
(i32.const 20)
@@ -8256,6 +8319,9 @@
(block
(set_local $4
(call_indirect $FUNCSIG$iiii
+ (get_local $2)
+ (get_local $0)
+ (get_local $1)
(i32.add
(i32.and
(i32.load offset=36
@@ -8265,9 +8331,6 @@
)
(i32.const 2)
)
- (get_local $2)
- (get_local $0)
- (get_local $1)
)
)
(br $label$break$L5)
@@ -8286,53 +8349,58 @@
(set_local $3
(get_local $1)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (get_local $3)
- )
- (block
- (set_local $2
- (get_local $0)
- )
- (set_local $3
- (i32.const 0)
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (get_local $3)
)
- (br $label$break$L10
- (get_local $1)
+ (block
+ (set_local $2
+ (get_local $0)
+ )
+ (set_local $3
+ (i32.const 0)
+ )
+ (br $label$break$L10
+ (get_local $1)
+ )
)
)
- )
- (if
- (i32.eq
- (i32.load8_s
- (i32.add
- (get_local $0)
- (set_local $7
- (i32.add
- (get_local $3)
- (i32.const -1)
+ (if
+ (i32.eq
+ (i32.load8_s
+ (i32.add
+ (get_local $0)
+ (tee_local $7
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
+ )
)
)
)
+ (i32.const 10)
)
- (i32.const 10)
- )
- (block
- (set_local $4
- (get_local $3)
+ (block
+ (set_local $4
+ (get_local $3)
+ )
+ (br $while-out$2)
+ )
+ (set_local $3
+ (get_local $7)
)
- (br $while-out$2)
- )
- (set_local $3
- (get_local $7)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
- (if
+ (br_if $label$break$L5
(i32.lt_u
(call_indirect $FUNCSIG$iiii
+ (get_local $2)
+ (get_local $0)
+ (get_local $4)
(i32.add
(i32.and
(i32.load offset=36
@@ -8342,13 +8410,9 @@
)
(i32.const 2)
)
- (get_local $2)
- (get_local $0)
- (get_local $4)
)
(get_local $4)
)
- (br $label$break$L5)
)
(set_local $2
(i32.add
@@ -8381,10 +8445,12 @@
)
)
)
- (call $_memcpy
- (get_local $6)
- (get_local $2)
- (get_local $0)
+ (drop
+ (call $_memcpy
+ (get_local $6)
+ (get_local $2)
+ (get_local $0)
+ )
)
(i32.store
(get_local $5)
@@ -8468,7 +8534,7 @@
(i32.const 36)
)
(if
- (set_local $2
+ (tee_local $2
(i32.load
(i32.const 32)
)
@@ -8480,64 +8546,66 @@
(set_local $2
(get_local $0)
)
- (loop $while-out$2 $while-in$3
- (set_local $0
- (if
- (i32.gt_s
- (i32.load offset=76
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $0
+ (if
+ (i32.gt_s
+ (i32.load offset=76
+ (get_local $1)
+ )
+ (i32.const -1)
+ )
+ (call $___lockfile
(get_local $1)
)
- (i32.const -1)
- )
- (call $___lockfile
- (get_local $1)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $2
- (if
- (i32.gt_u
- (i32.load offset=20
- (get_local $1)
- )
- (i32.load offset=28
- (get_local $1)
+ (set_local $2
+ (if
+ (i32.gt_u
+ (i32.load offset=20
+ (get_local $1)
+ )
+ (i32.load offset=28
+ (get_local $1)
+ )
)
- )
- (i32.or
- (call $___fflush_unlocked
- (get_local $1)
+ (i32.or
+ (call $___fflush_unlocked
+ (get_local $1)
+ )
+ (get_local $2)
)
(get_local $2)
)
- (get_local $2)
)
- )
- (if
- (get_local $0)
- (call $___unlockfile
- (get_local $1)
- )
- )
- (if
- (set_local $1
- (i32.load offset=56
+ (if
+ (get_local $0)
+ (call $___unlockfile
(get_local $1)
)
)
- (get_local $2)
- (block
- (set_local $0
- (get_local $2)
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load offset=56
+ (get_local $1)
+ )
+ )
+ )
+ (block
+ (set_local $0
+ (get_local $2)
+ )
+ (br $while-out$2)
)
- (br $while-out$2)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
- (get_local $0)
)
(call_import $___unlock
(i32.const 36)
@@ -8556,7 +8624,7 @@
(block $label$break$L1
(if
(i32.and
- (set_local $3
+ (tee_local $3
(get_local $0)
)
(i32.const 3)
@@ -8565,44 +8633,47 @@
(set_local $4
(get_local $3)
)
- (loop $while-out$1 $while-in$2
- (if
- (i32.eqz
- (i32.load8_s
- (get_local $0)
+ (loop $while-in$2
+ (block $while-out$1
+ (if
+ (i32.eqz
+ (i32.load8_s
+ (get_local $0)
+ )
)
- )
- (block
- (set_local $5
- (get_local $4)
+ (block
+ (set_local $5
+ (get_local $4)
+ )
+ (br $label$break$L1)
)
- (br $label$break$L1)
)
- )
- (if
- (i32.and
- (set_local $4
- (set_local $0
- (i32.add
- (get_local $0)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $4
+ (tee_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
)
+ (i32.const 3)
)
)
- (i32.const 3)
- )
- (get_local $0)
- (block
- (set_local $2
- (get_local $0)
- )
- (set_local $1
- (i32.const 4)
+ (block
+ (set_local $2
+ (get_local $0)
+ )
+ (set_local $1
+ (i32.const 4)
+ )
+ (br $while-out$1)
)
- (br $while-out$1)
)
+ (br $while-in$2)
)
- (br $while-in$2)
)
)
(block
@@ -8624,34 +8695,36 @@
(set_local $1
(get_local $2)
)
- (loop $while-out$3 $while-in$4
- (if
- (i32.and
- (i32.xor
- (i32.and
- (set_local $2
- (i32.load
- (get_local $1)
+ (loop $while-in$4
+ (block $while-out$3
+ (if
+ (i32.and
+ (i32.xor
+ (i32.and
+ (tee_local $2
+ (i32.load
+ (get_local $1)
+ )
)
+ (i32.const -2139062144)
)
(i32.const -2139062144)
)
- (i32.const -2139062144)
- )
- (i32.add
- (get_local $2)
- (i32.const -16843009)
+ (i32.add
+ (get_local $2)
+ (i32.const -16843009)
+ )
)
- )
- (br $while-out$3)
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (br $while-out$3)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$4)
)
- (br $while-in$4)
)
(if
(i32.shr_s
@@ -8668,25 +8741,26 @@
(set_local $2
(get_local $1)
)
- (loop $while-out$5 $while-in$6
- (if
- (i32.load8_s
- (set_local $1
- (i32.add
- (get_local $2)
- (i32.const 1)
+ (loop $while-in$6
+ (block $while-out$5
+ (if
+ (i32.load8_s
+ (tee_local $1
+ (i32.add
+ (get_local $2)
+ (i32.const 1)
+ )
)
)
+ (set_local $2
+ (get_local $1)
+ )
+ (br $while-out$5)
)
- (set_local $2
- (get_local $1)
- )
- (br $while-out$5)
+ (br $while-in$6)
)
- (br $while-in$6)
)
)
- (get_local $1)
)
(set_local $5
(get_local $1)
@@ -8709,24 +8783,19 @@
(local $9 i32)
(local $10 i32)
(set_local $5
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(i32.store8
- (set_local $6
+ (tee_local $6
(get_local $5)
)
- (set_local $9
+ (tee_local $9
(i32.and
(get_local $1)
(i32.const 255)
@@ -8734,9 +8803,9 @@
)
)
(if
- (set_local $3
+ (tee_local $3
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $0)
(i32.const 16)
@@ -8781,9 +8850,9 @@
(if
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $0)
(i32.const 20)
@@ -8794,7 +8863,7 @@
(get_local $7)
)
(i32.ne
- (set_local $10
+ (tee_local $10
(i32.and
(get_local $1)
(i32.const 255)
@@ -8828,6 +8897,9 @@
(if
(i32.eq
(call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (get_local $6)
+ (i32.const 1)
(i32.add
(i32.and
(i32.load offset=36
@@ -8837,9 +8909,6 @@
)
(i32.const 2)
)
- (get_local $0)
- (get_local $6)
- (i32.const 1)
)
(i32.const 1)
)
@@ -8852,8 +8921,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $5)
)
(get_local $4)
@@ -8869,7 +8937,7 @@
(if
(i32.gt_u
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 20)
@@ -8877,7 +8945,7 @@
)
)
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $0)
(i32.const 28)
@@ -8886,19 +8954,21 @@
)
)
(block
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (i32.load offset=36
- (get_local $0)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $0)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $0)
- (i32.const 0)
- (i32.const 0)
)
(i32.eq
(i32.load
@@ -8913,9 +8983,9 @@
(block
(if
(i32.lt_u
- (set_local $4
+ (tee_local $4
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $0)
(i32.const 4)
@@ -8923,9 +8993,9 @@
)
)
)
- (set_local $6
+ (tee_local $6
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $0)
(i32.const 8)
@@ -8935,6 +9005,12 @@
)
)
(call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.sub
+ (get_local $4)
+ (get_local $6)
+ )
+ (i32.const 1)
(i32.add
(i32.and
(i32.load offset=40
@@ -8944,12 +9020,6 @@
)
(i32.const 2)
)
- (get_local $0)
- (i32.sub
- (get_local $4)
- (get_local $6)
- )
- (i32.const 1)
)
)
(i32.store offset=16
@@ -9006,116 +9076,122 @@
)
)
(block
- (loop $while-out$0 $while-in$1
- (br_if $while-out$0
- (i32.eqz
- (i32.and
- (get_local $0)
- (i32.const 3)
+ (loop $while-in$1
+ (block $while-out$0
+ (br_if $while-out$0
+ (i32.eqz
+ (i32.and
+ (get_local $0)
+ (i32.const 3)
+ )
)
)
- )
- (if
- (i32.eqz
- (get_local $2)
- )
- (return
- (get_local $3)
- )
- )
- (i32.store8
- (get_local $0)
- (i32.load8_s
- (get_local $1)
+ (if
+ (i32.eqz
+ (get_local $2)
+ )
+ (return
+ (get_local $3)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 1)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
)
- )
- (br $while-in$1)
- )
- (loop $while-out$2 $while-in$3
- (br_if $while-out$2
- (i32.lt_s
- (get_local $2)
- (i32.const 4)
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 1)
+ )
)
+ (br $while-in$1)
)
- (i32.store
- (get_local $0)
- (i32.load
- (get_local $1)
+ )
+ (loop $while-in$3
+ (block $while-out$2
+ (br_if $while-out$2
+ (i32.lt_s
+ (get_local $2)
+ (i32.const 4)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store
(get_local $0)
- (i32.const 4)
+ (i32.load
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 4)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
)
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 4)
+ )
+ )
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (br_if $while-out$4
- (i32.le_s
- (get_local $2)
- (i32.const 0)
- )
- )
- (i32.store8
- (get_local $0)
- (i32.load8_s
- (get_local $1)
+ (loop $while-in$5
+ (block $while-out$4
+ (br_if $while-out$4
+ (i32.le_s
+ (get_local $2)
+ (i32.const 0)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 1)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 1)
+ )
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(get_local $3)
)
@@ -9143,7 +9219,7 @@
(i32.or
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(get_local $1)
(i32.const 255)
@@ -9172,7 +9248,7 @@
)
)
(if
- (set_local $3
+ (tee_local $3
(i32.and
(get_local $0)
(i32.const 3)
@@ -9188,66 +9264,72 @@
(get_local $3)
)
)
- (loop $while-out$0 $while-in$1
- (br_if $while-out$0
- (i32.ge_s
- (get_local $0)
- (get_local $3)
+ (loop $while-in$1
+ (block $while-out$0
+ (br_if $while-out$0
+ (i32.ge_s
+ (get_local $0)
+ (get_local $3)
+ )
)
- )
- (i32.store8
- (get_local $0)
- (get_local $1)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (get_local $1)
)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
+ (br $while-in$1)
)
- (br $while-in$1)
)
)
)
- (loop $while-out$2 $while-in$3
- (br_if $while-out$2
- (i32.ge_s
- (get_local $0)
- (get_local $6)
+ (loop $while-in$3
+ (block $while-out$2
+ (br_if $while-out$2
+ (i32.ge_s
+ (get_local $0)
+ (get_local $6)
+ )
)
- )
- (i32.store
- (get_local $0)
- (get_local $5)
- )
- (set_local $0
- (i32.add
+ (i32.store
(get_local $0)
- (i32.const 4)
+ (get_local $5)
+ )
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (br_if $while-out$4
- (i32.ge_s
- (get_local $0)
- (get_local $4)
+ (loop $while-in$5
+ (block $while-out$4
+ (br_if $while-out$4
+ (i32.ge_s
+ (get_local $0)
+ (get_local $4)
+ )
)
- )
- (i32.store8
- (get_local $0)
- (get_local $1)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (get_local $1)
+ )
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(i32.sub
(get_local $0)
@@ -9263,7 +9345,7 @@
(if
(i32.gt_s
(i32.load offset=76
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 52)
)
@@ -9298,9 +9380,9 @@
(i32.const 10)
)
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $1)
(i32.const 20)
@@ -9360,21 +9442,16 @@
(local $3 i32)
(local $4 i32)
(set_local $4
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 32)
)
)
(i32.store
- (set_local $3
+ (tee_local $3
(get_local $4)
)
(i32.load offset=60
@@ -9391,7 +9468,7 @@
)
(i32.store offset=12
(get_local $3)
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $4)
(i32.const 20)
@@ -9425,8 +9502,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $4)
)
(get_local $0)
@@ -9436,7 +9512,7 @@
(local $2 i32)
(set_local $2
(i32.load8_s
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 74)
@@ -9456,7 +9532,7 @@
)
(if
(i32.and
- (set_local $2
+ (tee_local $2
(i32.load
(get_local $0)
)
@@ -9484,7 +9560,7 @@
)
(i32.store offset=28
(get_local $0)
- (set_local $1
+ (tee_local $1
(i32.load offset=44
(get_local $0)
)
@@ -9518,7 +9594,7 @@
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(if
(i32.gt_s
(i32.load offset=76
@@ -9573,16 +9649,11 @@
(local $3 i32)
(local $4 i32)
(set_local $4
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 80)
)
)
@@ -9644,73 +9715,56 @@
(get_local $2)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $4)
)
(get_local $3)
)
(func $copyTempDouble (param $0 i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s
(get_local $0)
)
)
(i32.store8 offset=1
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=1
(get_local $0)
)
)
(i32.store8 offset=2
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=2
(get_local $0)
)
)
(i32.store8 offset=3
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=3
(get_local $0)
)
)
(i32.store8 offset=4
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=4
(get_local $0)
)
)
(i32.store8 offset=5
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=5
(get_local $0)
)
)
(i32.store8 offset=6
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=6
(get_local $0)
)
)
(i32.store8 offset=7
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=7
(get_local $0)
)
@@ -9720,21 +9774,16 @@
(local $1 i32)
(local $2 i32)
(set_local $1
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(i32.store
- (set_local $2
+ (tee_local $2
(get_local $1)
)
(i32.load offset=60
@@ -9749,41 +9798,32 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $1)
)
(get_local $0)
)
(func $copyTempFloat (param $0 i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s
(get_local $0)
)
)
(i32.store8 offset=1
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=1
(get_local $0)
)
)
(i32.store8 offset=2
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=2
(get_local $0)
)
)
(i32.store8 offset=3
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=3
(get_local $0)
)
@@ -9810,6 +9850,9 @@
)
(func $dynCall_iiii (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(call_indirect $FUNCSIG$iiii
+ (get_local $1)
+ (get_local $2)
+ (get_local $3)
(i32.add
(i32.and
(get_local $0)
@@ -9817,34 +9860,23 @@
)
(i32.const 2)
)
- (get_local $1)
- (get_local $2)
- (get_local $3)
)
)
(func $stackAlloc (param $0 i32) (result i32)
(local $1 i32)
(set_local $1
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(get_local $0)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.and
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 15)
)
(i32.const -16)
@@ -9866,17 +9898,13 @@
(func $setThrew (param $0 i32) (param $1 i32)
(if
(i32.eqz
- (i32.load
- (i32.const 40)
- )
+ (get_global $__THREW__)
)
(block
- (i32.store
- (i32.const 40)
+ (set_global $__THREW__
(get_local $0)
)
- (i32.store
- (i32.const 48)
+ (set_global $threwValue
(get_local $1)
)
)
@@ -9897,6 +9925,7 @@
)
(func $dynCall_ii (param $0 i32) (param $1 i32) (result i32)
(call_indirect $FUNCSIG$ii
+ (get_local $1)
(i32.add
(i32.and
(get_local $0)
@@ -9904,7 +9933,6 @@
)
(i32.const 0)
)
- (get_local $1)
)
)
(func $_cleanup_418 (param $0 i32)
@@ -9920,17 +9948,16 @@
)
)
(func $establishStackSpace (param $0 i32) (param $1 i32)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $0)
)
- (i32.store
- (i32.const 16)
+ (set_global $STACK_MAX
(get_local $1)
)
)
(func $dynCall_vi (param $0 i32) (param $1 i32)
(call_indirect $FUNCSIG$vi
+ (get_local $1)
(i32.add
(i32.and
(get_local $0)
@@ -9938,7 +9965,6 @@
)
(i32.const 10)
)
- (get_local $1)
)
)
(func $b1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
@@ -9948,14 +9974,12 @@
(i32.const 0)
)
(func $stackRestore (param $0 i32)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $0)
)
)
(func $setTempRet0 (param $0 i32)
- (i32.store
- (i32.const 160)
+ (set_global $tempRet0
(get_local $0)
)
)
@@ -9972,20 +9996,18 @@
(i32.const 0)
)
(func $getTempRet0 (result i32)
- (i32.load
- (i32.const 160)
- )
+ (get_global $tempRet0)
)
(func $_main (result i32)
- (call $_puts
- (i32.const 672)
+ (drop
+ (call $_puts
+ (i32.const 672)
+ )
)
(i32.const 0)
)
(func $stackSave (result i32)
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(func $b2 (param $0 i32)
(call_import $abort
diff --git a/test/emcc_O2_hello_world.fromasm.imprecise.no-opts b/test/emcc_O2_hello_world.fromasm.imprecise.no-opts
index 494915489..b125481a7 100644
--- a/test/emcc_O2_hello_world.fromasm.imprecise.no-opts
+++ b/test/emcc_O2_hello_world.fromasm.imprecise.no-opts
@@ -1,6 +1,5 @@
(module
(memory 256 256)
- (export "memory" memory)
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
@@ -8,39 +7,73 @@
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$vii (func (param i32 i32)))
- (import $abort "env" "abort" (param i32))
- (import $_pthread_cleanup_pop "env" "_pthread_cleanup_pop" (param i32))
- (import $_pthread_self "env" "_pthread_self" (result i32))
- (import $_sysconf "env" "_sysconf" (param i32) (result i32))
- (import $___lock "env" "___lock" (param i32))
- (import $___syscall6 "env" "___syscall6" (param i32 i32) (result i32))
- (import $_abort "env" "_abort")
- (import $_sbrk "env" "_sbrk" (param i32) (result i32))
- (import $_time "env" "_time" (param i32) (result i32))
- (import $_pthread_cleanup_push "env" "_pthread_cleanup_push" (param i32 i32))
- (import $_emscripten_memcpy_big "env" "_emscripten_memcpy_big" (param i32 i32 i32) (result i32))
- (import $___syscall54 "env" "___syscall54" (param i32 i32) (result i32))
- (import $___unlock "env" "___unlock" (param i32))
- (import $___syscall140 "env" "___syscall140" (param i32 i32) (result i32))
- (import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
- (export "_free" $_free)
- (export "_main" $_main)
- (export "_memset" $_memset)
- (export "_malloc" $_malloc)
- (export "_memcpy" $_memcpy)
- (export "_fflush" $_fflush)
- (export "___errno_location" $___errno_location)
- (export "runPostSets" $runPostSets)
- (export "stackAlloc" $stackAlloc)
- (export "stackSave" $stackSave)
- (export "stackRestore" $stackRestore)
- (export "establishStackSpace" $establishStackSpace)
- (export "setThrew" $setThrew)
- (export "setTempRet0" $setTempRet0)
- (export "getTempRet0" $getTempRet0)
- (export "dynCall_ii" $dynCall_ii)
- (export "dynCall_iiii" $dynCall_iiii)
- (export "dynCall_vi" $dynCall_vi)
+ (import "env" "STACKTOP" (global $STACKTOP i32))
+ (import "env" "STACK_MAX" (global $STACK_MAX i32))
+ (import "env" "tempDoublePtr" (global $tempDoublePtr i32))
+ (import "env" "ABORT" (global $ABORT i32))
+ (import "global" "NaN" (global $nan f64))
+ (import "global" "Infinity" (global $inf f64))
+ (import "env" "abort" (func $abort (param i32)))
+ (import "env" "_pthread_cleanup_pop" (func $_pthread_cleanup_pop (param i32)))
+ (import "env" "_pthread_self" (func $_pthread_self (result i32)))
+ (import "env" "_sysconf" (func $_sysconf (param i32) (result i32)))
+ (import "env" "___lock" (func $___lock (param i32)))
+ (import "env" "___syscall6" (func $___syscall6 (param i32 i32) (result i32)))
+ (import "env" "_abort" (func $_abort))
+ (import "env" "_sbrk" (func $_sbrk (param i32) (result i32)))
+ (import "env" "_time" (func $_time (param i32) (result i32)))
+ (import "env" "_pthread_cleanup_push" (func $_pthread_cleanup_push (param i32 i32)))
+ (import "env" "_emscripten_memcpy_big" (func $_emscripten_memcpy_big (param i32 i32 i32) (result i32)))
+ (import "env" "___syscall54" (func $___syscall54 (param i32 i32) (result i32)))
+ (import "env" "___unlock" (func $___unlock (param i32)))
+ (import "env" "___syscall140" (func $___syscall140 (param i32 i32) (result i32)))
+ (import "env" "___syscall146" (func $___syscall146 (param i32 i32) (result i32)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "_free" (func $_free))
+ (export "_main" (func $_main))
+ (export "_memset" (func $_memset))
+ (export "_malloc" (func $_malloc))
+ (export "_memcpy" (func $_memcpy))
+ (export "_fflush" (func $_fflush))
+ (export "___errno_location" (func $___errno_location))
+ (export "runPostSets" (func $runPostSets))
+ (export "stackAlloc" (func $stackAlloc))
+ (export "stackSave" (func $stackSave))
+ (export "stackRestore" (func $stackRestore))
+ (export "establishStackSpace" (func $establishStackSpace))
+ (export "setThrew" (func $setThrew))
+ (export "setTempRet0" (func $setTempRet0))
+ (export "getTempRet0" (func $getTempRet0))
+ (export "dynCall_ii" (func $dynCall_ii))
+ (export "dynCall_iiii" (func $dynCall_iiii))
+ (export "dynCall_vi" (func $dynCall_vi))
+ (global $__THREW__ i32 (i32.const 0))
+ (global $threwValue i32 (i32.const 0))
+ (global $setjmpId i32 (i32.const 0))
+ (global $undef i32 (i32.const 0))
+ (global $tempInt i32 (i32.const 0))
+ (global $tempBigInt i32 (i32.const 0))
+ (global $tempBigIntP i32 (i32.const 0))
+ (global $tempBigIntS i32 (i32.const 0))
+ (global $tempBigIntR f64 (f64.const 0))
+ (global $tempBigIntI i32 (i32.const 0))
+ (global $tempBigIntD i32 (i32.const 0))
+ (global $tempValue i32 (i32.const 0))
+ (global $tempDouble f64 (f64.const 0))
+ (global $tempRet0 i32 (i32.const 0))
+ (global $tempRet1 i32 (i32.const 0))
+ (global $tempRet2 i32 (i32.const 0))
+ (global $tempRet3 i32 (i32.const 0))
+ (global $tempRet4 i32 (i32.const 0))
+ (global $tempRet5 i32 (i32.const 0))
+ (global $tempRet6 i32 (i32.const 0))
+ (global $tempRet7 i32 (i32.const 0))
+ (global $tempRet8 i32 (i32.const 0))
+ (global $tempRet9 i32 (i32.const 0))
+ (global $tempFloat f64 (f64.const 0))
(table 18 18 anyfunc)
(elem (i32.const 0) $b0 $___stdio_close $b1 $b1 $___stdout_write $___stdio_seek $b1 $___stdio_write $b1 $b1 $b2 $b2 $b2 $b2 $_cleanup_418 $b2 $b2 $b2)
(func $_malloc (param $i1 i32) (result i32)
@@ -880,88 +913,90 @@
(set_local $i7
(get_local $i10)
)
- (loop $while-out$6 $while-in$7
- (set_local $i10
- (i32.load
- (i32.add
- (get_local $i3)
- (i32.const 16)
+ (loop $while-in$7
+ (block $while-out$6
+ (set_local $i10
+ (i32.load
+ (i32.add
+ (get_local $i3)
+ (i32.const 16)
+ )
)
)
- )
- (if
- (i32.eqz
- (get_local $i10)
- )
- (block
- (set_local $i15
- (i32.load
- (i32.add
- (get_local $i3)
- (i32.const 20)
- )
- )
+ (if
+ (i32.eqz
+ (get_local $i10)
)
- (if
- (i32.eqz
- (get_local $i15)
+ (block
+ (set_local $i15
+ (i32.load
+ (i32.add
+ (get_local $i3)
+ (i32.const 20)
+ )
+ )
)
- (block
- (set_local $i21
- (get_local $i5)
+ (if
+ (i32.eqz
+ (get_local $i15)
)
- (set_local $i22
- (get_local $i7)
+ (block
+ (set_local $i21
+ (get_local $i5)
+ )
+ (set_local $i22
+ (get_local $i7)
+ )
+ (br $while-out$6)
+ )
+ (set_local $i23
+ (get_local $i15)
)
- (br $while-out$6)
- )
- (set_local $i23
- (get_local $i15)
)
)
+ (set_local $i23
+ (get_local $i10)
+ )
)
- (set_local $i23
- (get_local $i10)
- )
- )
- (set_local $i10
- (i32.sub
- (i32.and
- (i32.load
- (i32.add
- (get_local $i23)
- (i32.const 4)
+ (set_local $i10
+ (i32.sub
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $i23)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $i2)
)
- (get_local $i2)
)
- )
- (set_local $i15
- (i32.lt_u
- (get_local $i10)
- (get_local $i5)
+ (set_local $i15
+ (i32.lt_u
+ (get_local $i10)
+ (get_local $i5)
+ )
)
- )
- (set_local $i5
- (if
- (get_local $i15)
- (get_local $i10)
- (get_local $i5)
+ (set_local $i5
+ (if
+ (get_local $i15)
+ (get_local $i10)
+ (get_local $i5)
+ )
)
- )
- (set_local $i3
- (get_local $i23)
- )
- (set_local $i7
- (if
- (get_local $i15)
+ (set_local $i3
(get_local $i23)
- (get_local $i7)
)
+ (set_local $i7
+ (if
+ (get_local $i15)
+ (get_local $i23)
+ (get_local $i7)
+ )
+ )
+ (br $while-in$7)
)
- (br $while-in$7)
)
(set_local $i7
(i32.load
@@ -1067,64 +1102,66 @@
)
)
)
- (loop $while-out$10 $while-in$11
- (set_local $i14
- (i32.add
- (get_local $i25)
- (i32.const 20)
- )
- )
- (set_local $i17
- (i32.load
- (get_local $i14)
- )
- )
- (if
- (get_local $i17)
- (block
- (set_local $i25
- (get_local $i17)
+ (loop $while-in$11
+ (block $while-out$10
+ (set_local $i14
+ (i32.add
+ (get_local $i25)
+ (i32.const 20)
)
- (set_local $i26
+ )
+ (set_local $i17
+ (i32.load
(get_local $i14)
)
- (br $while-in$11)
- )
- )
- (set_local $i14
- (i32.add
- (get_local $i25)
- (i32.const 16)
- )
- )
- (set_local $i17
- (i32.load
- (get_local $i14)
)
- )
- (if
- (i32.eqz
+ (if
(get_local $i17)
+ (block
+ (set_local $i25
+ (get_local $i17)
+ )
+ (set_local $i26
+ (get_local $i14)
+ )
+ (br $while-in$11)
+ )
)
- (block
- (set_local $i27
+ (set_local $i14
+ (i32.add
(get_local $i25)
+ (i32.const 16)
)
- (set_local $i28
- (get_local $i26)
+ )
+ (set_local $i17
+ (i32.load
+ (get_local $i14)
)
- (br $while-out$10)
)
- (block
- (set_local $i25
+ (if
+ (i32.eqz
(get_local $i17)
)
- (set_local $i26
- (get_local $i14)
+ (block
+ (set_local $i27
+ (get_local $i25)
+ )
+ (set_local $i28
+ (get_local $i26)
+ )
+ (br $while-out$10)
+ )
+ (block
+ (set_local $i25
+ (get_local $i17)
+ )
+ (set_local $i26
+ (get_local $i14)
+ )
)
)
+ (br $while-in$11)
)
- (br $while-in$11)
)
(if
(i32.lt_u
@@ -1829,156 +1866,158 @@
(set_local $i8
(i32.const 0)
)
- (loop $while-out$17 $while-in$18
- (set_local $i16
- (i32.and
- (i32.load
- (i32.add
- (get_local $i17)
- (i32.const 4)
+ (loop $while-in$18
+ (block $while-out$17
+ (set_local $i16
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $i17)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
- )
- )
- (set_local $i9
- (i32.sub
- (get_local $i16)
- (get_local $i5)
)
- )
- (if
- (i32.lt_u
- (get_local $i9)
- (get_local $i12)
- )
- (if
- (i32.eq
+ (set_local $i9
+ (i32.sub
(get_local $i16)
(get_local $i5)
)
- (block
- (set_local $i37
- (get_local $i9)
- )
- (set_local $i38
- (get_local $i17)
+ )
+ (if
+ (i32.lt_u
+ (get_local $i9)
+ (get_local $i12)
+ )
+ (if
+ (i32.eq
+ (get_local $i16)
+ (get_local $i5)
)
- (set_local $i39
- (get_local $i17)
+ (block
+ (set_local $i37
+ (get_local $i9)
+ )
+ (set_local $i38
+ (get_local $i17)
+ )
+ (set_local $i39
+ (get_local $i17)
+ )
+ (set_local $i36
+ (i32.const 90)
+ )
+ (br $label$break$L123)
)
- (set_local $i36
- (i32.const 90)
+ (block
+ (set_local $i40
+ (get_local $i9)
+ )
+ (set_local $i41
+ (get_local $i17)
+ )
)
- (br $label$break$L123)
)
(block
(set_local $i40
- (get_local $i9)
+ (get_local $i12)
)
(set_local $i41
- (get_local $i17)
+ (get_local $i8)
)
)
)
- (block
- (set_local $i40
- (get_local $i12)
- )
- (set_local $i41
- (get_local $i8)
- )
- )
- )
- (set_local $i9
- (i32.load
- (i32.add
- (get_local $i17)
- (i32.const 20)
- )
- )
- )
- (set_local $i17
- (i32.load
- (i32.add
+ (set_local $i9
+ (i32.load
(i32.add
(get_local $i17)
- (i32.const 16)
+ (i32.const 20)
)
- (i32.shl
- (i32.shr_u
- (get_local $i7)
- (i32.const 31)
+ )
+ )
+ (set_local $i17
+ (i32.load
+ (i32.add
+ (i32.add
+ (get_local $i17)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $i7)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (set_local $i16
- (if
- (i32.or
- (i32.eq
- (get_local $i9)
- (i32.const 0)
- )
- (i32.eq
- (get_local $i9)
- (get_local $i17)
+ (set_local $i16
+ (if
+ (i32.or
+ (i32.eq
+ (get_local $i9)
+ (i32.const 0)
+ )
+ (i32.eq
+ (get_local $i9)
+ (get_local $i17)
+ )
)
+ (get_local $i10)
+ (get_local $i9)
)
- (get_local $i10)
- (get_local $i9)
)
- )
- (set_local $i9
- (i32.eq
- (get_local $i17)
- (i32.const 0)
- )
- )
- (if
- (get_local $i9)
- (block
- (set_local $i33
- (get_local $i40)
- )
- (set_local $i34
- (get_local $i16)
- )
- (set_local $i35
- (get_local $i41)
- )
- (set_local $i36
- (i32.const 86)
+ (set_local $i9
+ (i32.eq
+ (get_local $i17)
+ (i32.const 0)
)
- (br $while-out$17)
)
- (block
- (set_local $i12
- (get_local $i40)
- )
- (set_local $i10
- (get_local $i16)
+ (if
+ (get_local $i9)
+ (block
+ (set_local $i33
+ (get_local $i40)
+ )
+ (set_local $i34
+ (get_local $i16)
+ )
+ (set_local $i35
+ (get_local $i41)
+ )
+ (set_local $i36
+ (i32.const 86)
+ )
+ (br $while-out$17)
)
- (set_local $i7
- (i32.shl
- (get_local $i7)
- (i32.xor
- (i32.and
- (get_local $i9)
+ (block
+ (set_local $i12
+ (get_local $i40)
+ )
+ (set_local $i10
+ (get_local $i16)
+ )
+ (set_local $i7
+ (i32.shl
+ (get_local $i7)
+ (i32.xor
+ (i32.and
+ (get_local $i9)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
)
)
- )
- (set_local $i8
- (get_local $i41)
+ (set_local $i8
+ (get_local $i41)
+ )
)
)
+ (br $while-in$18)
)
- (br $while-in$18)
)
)
)
@@ -2179,104 +2218,106 @@
(get_local $i36)
(i32.const 90)
)
- (loop $while-out$19 $while-in$20
- (set_local $i36
- (i32.const 0)
- )
- (set_local $i8
- (i32.sub
- (i32.and
- (i32.load
- (i32.add
- (get_local $i38)
- (i32.const 4)
+ (loop $while-in$20
+ (block $while-out$19
+ (set_local $i36
+ (i32.const 0)
+ )
+ (set_local $i8
+ (i32.sub
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $i38)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $i5)
)
- (get_local $i5)
)
- )
- (set_local $i7
- (i32.lt_u
- (get_local $i8)
- (get_local $i37)
- )
- )
- (set_local $i3
- (if
- (get_local $i7)
- (get_local $i8)
- (get_local $i37)
- )
- )
- (set_local $i8
- (if
- (get_local $i7)
- (get_local $i38)
- (get_local $i39)
- )
- )
- (set_local $i7
- (i32.load
- (i32.add
- (get_local $i38)
- (i32.const 16)
+ (set_local $i7
+ (i32.lt_u
+ (get_local $i8)
+ (get_local $i37)
)
)
- )
- (if
- (get_local $i7)
- (block
- (set_local $i37
- (get_local $i3)
- )
- (set_local $i38
+ (set_local $i3
+ (if
(get_local $i7)
- )
- (set_local $i39
(get_local $i8)
+ (get_local $i37)
)
- (set_local $i36
- (i32.const 90)
- )
- (br $while-in$20)
)
- )
- (set_local $i38
- (i32.load
- (i32.add
+ (set_local $i8
+ (if
+ (get_local $i7)
(get_local $i38)
- (i32.const 20)
+ (get_local $i39)
)
)
- )
- (if
- (i32.eqz
- (get_local $i38)
+ (set_local $i7
+ (i32.load
+ (i32.add
+ (get_local $i38)
+ (i32.const 16)
+ )
+ )
)
- (block
- (set_local $i43
- (get_local $i3)
+ (if
+ (get_local $i7)
+ (block
+ (set_local $i37
+ (get_local $i3)
+ )
+ (set_local $i38
+ (get_local $i7)
+ )
+ (set_local $i39
+ (get_local $i8)
+ )
+ (set_local $i36
+ (i32.const 90)
+ )
+ (br $while-in$20)
)
- (set_local $i44
- (get_local $i8)
+ )
+ (set_local $i38
+ (i32.load
+ (i32.add
+ (get_local $i38)
+ (i32.const 20)
+ )
)
- (br $while-out$19)
)
- (block
- (set_local $i37
- (get_local $i3)
+ (if
+ (i32.eqz
+ (get_local $i38)
)
- (set_local $i39
- (get_local $i8)
+ (block
+ (set_local $i43
+ (get_local $i3)
+ )
+ (set_local $i44
+ (get_local $i8)
+ )
+ (br $while-out$19)
)
- (set_local $i36
- (i32.const 90)
+ (block
+ (set_local $i37
+ (get_local $i3)
+ )
+ (set_local $i39
+ (get_local $i8)
+ )
+ (set_local $i36
+ (i32.const 90)
+ )
)
)
+ (br $while-in$20)
)
- (br $while-in$20)
)
)
(if
@@ -2401,64 +2442,66 @@
)
)
)
- (loop $while-out$23 $while-in$24
- (set_local $i2
- (i32.add
- (get_local $i46)
- (i32.const 20)
- )
- )
- (set_local $i14
- (i32.load
- (get_local $i2)
- )
- )
- (if
- (get_local $i14)
- (block
- (set_local $i46
- (get_local $i14)
+ (loop $while-in$24
+ (block $while-out$23
+ (set_local $i2
+ (i32.add
+ (get_local $i46)
+ (i32.const 20)
)
- (set_local $i47
+ )
+ (set_local $i14
+ (i32.load
(get_local $i2)
)
- (br $while-in$24)
- )
- )
- (set_local $i2
- (i32.add
- (get_local $i46)
- (i32.const 16)
)
- )
- (set_local $i14
- (i32.load
- (get_local $i2)
- )
- )
- (if
- (i32.eqz
+ (if
(get_local $i14)
+ (block
+ (set_local $i46
+ (get_local $i14)
+ )
+ (set_local $i47
+ (get_local $i2)
+ )
+ (br $while-in$24)
+ )
)
- (block
- (set_local $i48
+ (set_local $i2
+ (i32.add
(get_local $i46)
+ (i32.const 16)
)
- (set_local $i49
- (get_local $i47)
+ )
+ (set_local $i14
+ (i32.load
+ (get_local $i2)
)
- (br $while-out$23)
)
- (block
- (set_local $i46
+ (if
+ (i32.eqz
(get_local $i14)
)
- (set_local $i47
- (get_local $i2)
+ (block
+ (set_local $i48
+ (get_local $i46)
+ )
+ (set_local $i49
+ (get_local $i47)
+ )
+ (br $while-out$23)
+ )
+ (block
+ (set_local $i46
+ (get_local $i14)
+ )
+ (set_local $i47
+ (get_local $i2)
+ )
)
)
+ (br $while-in$24)
)
- (br $while-in$24)
)
(if
(i32.lt_u
@@ -3109,79 +3152,81 @@
(get_local $i3)
)
)
- (loop $while-out$31 $while-in$32
- (if
- (i32.eq
- (i32.and
- (i32.load
- (i32.add
- (get_local $i7)
- (i32.const 4)
+ (loop $while-in$32
+ (block $while-out$31
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $i7)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $i43)
- )
- (block
- (set_local $i53
- (get_local $i7)
+ (get_local $i43)
)
- (set_local $i36
- (i32.const 148)
+ (block
+ (set_local $i53
+ (get_local $i7)
+ )
+ (set_local $i36
+ (i32.const 148)
+ )
+ (br $while-out$31)
)
- (br $while-out$31)
)
- )
- (set_local $i3
- (i32.add
+ (set_local $i3
(i32.add
- (get_local $i7)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $i4)
- (i32.const 31)
+ (i32.add
+ (get_local $i7)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $i4)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (set_local $i2
- (i32.load
- (get_local $i3)
- )
- )
- (if
- (i32.eqz
- (get_local $i2)
- )
- (block
- (set_local $i54
+ (set_local $i2
+ (i32.load
(get_local $i3)
)
- (set_local $i55
- (get_local $i7)
- )
- (set_local $i36
- (i32.const 145)
- )
- (br $while-out$31)
)
- (block
- (set_local $i4
- (i32.shl
- (get_local $i4)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $i2)
+ )
+ (block
+ (set_local $i54
+ (get_local $i3)
+ )
+ (set_local $i55
+ (get_local $i7)
)
+ (set_local $i36
+ (i32.const 145)
+ )
+ (br $while-out$31)
)
- (set_local $i7
- (get_local $i2)
+ (block
+ (set_local $i4
+ (i32.shl
+ (get_local $i4)
+ (i32.const 1)
+ )
+ )
+ (set_local $i7
+ (get_local $i2)
+ )
)
)
+ (br $while-in$32)
)
- (br $while-in$32)
)
(if
(i32.eq
@@ -3736,67 +3781,69 @@
(set_local $i50
(i32.const 624)
)
- (loop $while-out$37 $while-in$38
- (set_local $i51
- (i32.load
- (get_local $i50)
+ (loop $while-in$38
+ (block $while-out$37
+ (set_local $i51
+ (i32.load
+ (get_local $i50)
+ )
)
- )
- (if
(if
- (i32.le_u
- (get_local $i51)
- (get_local $i52)
- )
- (block
- (set_local $i45
- (i32.add
- (get_local $i50)
- (i32.const 4)
- )
+ (if
+ (i32.le_u
+ (get_local $i51)
+ (get_local $i52)
)
- (i32.gt_u
- (i32.add
- (get_local $i51)
- (i32.load
- (get_local $i45)
+ (block
+ (set_local $i45
+ (i32.add
+ (get_local $i50)
+ (i32.const 4)
)
)
- (get_local $i52)
+ (i32.gt_u
+ (i32.add
+ (get_local $i51)
+ (i32.load
+ (get_local $i45)
+ )
+ )
+ (get_local $i52)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $i56
- (get_local $i50)
+ (block
+ (set_local $i56
+ (get_local $i50)
+ )
+ (set_local $i57
+ (get_local $i45)
+ )
+ (br $while-out$37)
)
- (set_local $i57
- (get_local $i45)
+ )
+ (set_local $i50
+ (i32.load
+ (i32.add
+ (get_local $i50)
+ (i32.const 8)
+ )
)
- (br $while-out$37)
)
- )
- (set_local $i50
- (i32.load
- (i32.add
+ (if
+ (i32.eqz
(get_local $i50)
- (i32.const 8)
)
- )
- )
- (if
- (i32.eqz
- (get_local $i50)
- )
- (block
- (set_local $i36
- (i32.const 173)
+ (block
+ (set_local $i36
+ (i32.const 173)
+ )
+ (br $label$break$L259)
)
- (br $label$break$L259)
)
+ (br $while-in$38)
)
- (br $while-in$38)
)
(set_local $i50
(i32.and
@@ -4091,8 +4138,10 @@
(i32.const -1)
)
(block
- (call_import $_sbrk
- (get_local $i45)
+ (drop
+ (call_import $_sbrk
+ (get_local $i45)
+ )
)
(br $label$break$L279)
)
@@ -4267,64 +4316,66 @@
(set_local $i63
(i32.const 624)
)
- (loop $do-out$46 $do-in$47
- (set_local $i43
- (i32.load
- (get_local $i63)
- )
- )
- (set_local $i61
- (i32.add
- (get_local $i63)
- (i32.const 4)
- )
- )
- (set_local $i44
- (i32.load
- (get_local $i61)
+ (loop $do-in$47
+ (block $do-out$46
+ (set_local $i43
+ (i32.load
+ (get_local $i63)
+ )
)
- )
- (if
- (i32.eq
- (get_local $i58)
+ (set_local $i61
(i32.add
- (get_local $i43)
- (get_local $i44)
+ (get_local $i63)
+ (i32.const 4)
)
)
- (block
- (set_local $i64
- (get_local $i43)
- )
- (set_local $i65
+ (set_local $i44
+ (i32.load
(get_local $i61)
)
- (set_local $i66
- (get_local $i44)
+ )
+ (if
+ (i32.eq
+ (get_local $i58)
+ (i32.add
+ (get_local $i43)
+ (get_local $i44)
+ )
)
- (set_local $i67
- (get_local $i63)
+ (block
+ (set_local $i64
+ (get_local $i43)
+ )
+ (set_local $i65
+ (get_local $i61)
+ )
+ (set_local $i66
+ (get_local $i44)
+ )
+ (set_local $i67
+ (get_local $i63)
+ )
+ (set_local $i36
+ (i32.const 203)
+ )
+ (br $do-out$46)
)
- (set_local $i36
- (i32.const 203)
+ )
+ (set_local $i63
+ (i32.load
+ (i32.add
+ (get_local $i63)
+ (i32.const 8)
+ )
)
- (br $do-out$46)
)
- )
- (set_local $i63
- (i32.load
- (i32.add
+ (br_if $do-in$47
+ (i32.ne
(get_local $i63)
- (i32.const 8)
+ (i32.const 0)
)
)
)
- (br_if $do-in$47
- (i32.ne
- (get_local $i63)
- (i32.const 0)
- )
- )
)
(if
(if
@@ -4478,47 +4529,49 @@
(set_local $i63
(i32.const 624)
)
- (loop $while-out$48 $while-in$49
- (if
- (i32.eq
- (i32.load
- (get_local $i63)
- )
- (get_local $i61)
- )
- (block
- (set_local $i69
- (get_local $i63)
+ (loop $while-in$49
+ (block $while-out$48
+ (if
+ (i32.eq
+ (i32.load
+ (get_local $i63)
+ )
+ (get_local $i61)
)
- (set_local $i70
- (get_local $i63)
+ (block
+ (set_local $i69
+ (get_local $i63)
+ )
+ (set_local $i70
+ (get_local $i63)
+ )
+ (set_local $i36
+ (i32.const 211)
+ )
+ (br $while-out$48)
)
- (set_local $i36
- (i32.const 211)
+ )
+ (set_local $i63
+ (i32.load
+ (i32.add
+ (get_local $i63)
+ (i32.const 8)
+ )
)
- (br $while-out$48)
)
- )
- (set_local $i63
- (i32.load
- (i32.add
+ (if
+ (i32.eqz
(get_local $i63)
- (i32.const 8)
)
- )
- )
- (if
- (i32.eqz
- (get_local $i63)
- )
- (block
- (set_local $i71
- (i32.const 624)
+ (block
+ (set_local $i71
+ (i32.const 624)
+ )
+ (br $while-out$48)
)
- (br $while-out$48)
)
+ (br $while-in$49)
)
- (br $while-in$49)
)
(if
(i32.eq
@@ -4804,64 +4857,66 @@
)
)
)
- (loop $while-out$55 $while-in$56
- (set_local $i5
- (i32.add
- (get_local $i73)
- (i32.const 20)
- )
- )
- (set_local $i52
- (i32.load
- (get_local $i5)
- )
- )
- (if
- (get_local $i52)
- (block
- (set_local $i73
- (get_local $i52)
+ (loop $while-in$56
+ (block $while-out$55
+ (set_local $i5
+ (i32.add
+ (get_local $i73)
+ (i32.const 20)
)
- (set_local $i74
+ )
+ (set_local $i52
+ (i32.load
(get_local $i5)
)
- (br $while-in$56)
- )
- )
- (set_local $i5
- (i32.add
- (get_local $i73)
- (i32.const 16)
- )
- )
- (set_local $i52
- (i32.load
- (get_local $i5)
)
- )
- (if
- (i32.eqz
+ (if
(get_local $i52)
+ (block
+ (set_local $i73
+ (get_local $i52)
+ )
+ (set_local $i74
+ (get_local $i5)
+ )
+ (br $while-in$56)
+ )
)
- (block
- (set_local $i75
+ (set_local $i5
+ (i32.add
(get_local $i73)
+ (i32.const 16)
)
- (set_local $i76
- (get_local $i74)
+ )
+ (set_local $i52
+ (i32.load
+ (get_local $i5)
)
- (br $while-out$55)
)
- (block
- (set_local $i73
+ (if
+ (i32.eqz
(get_local $i52)
)
- (set_local $i74
- (get_local $i5)
+ (block
+ (set_local $i75
+ (get_local $i73)
+ )
+ (set_local $i76
+ (get_local $i74)
+ )
+ (br $while-out$55)
+ )
+ (block
+ (set_local $i73
+ (get_local $i52)
+ )
+ (set_local $i74
+ (get_local $i5)
+ )
)
)
+ (br $while-in$56)
)
- (br $while-in$56)
)
(if
(i32.lt_u
@@ -5690,79 +5745,81 @@
(get_local $i5)
)
)
- (loop $while-out$69 $while-in$70
- (if
- (i32.eq
- (i32.and
- (i32.load
- (i32.add
- (get_local $i62)
- (i32.const 4)
+ (loop $while-in$70
+ (block $while-out$69
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $i62)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $i79)
)
- (get_local $i79)
- )
- (block
- (set_local $i83
- (get_local $i62)
- )
- (set_local $i36
- (i32.const 281)
+ (block
+ (set_local $i83
+ (get_local $i62)
+ )
+ (set_local $i36
+ (i32.const 281)
+ )
+ (br $while-out$69)
)
- (br $while-out$69)
)
- )
- (set_local $i5
- (i32.add
+ (set_local $i5
(i32.add
- (get_local $i62)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $i50)
- (i32.const 31)
+ (i32.add
+ (get_local $i62)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $i50)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (set_local $i57
- (i32.load
- (get_local $i5)
- )
- )
- (if
- (i32.eqz
- (get_local $i57)
- )
- (block
- (set_local $i84
+ (set_local $i57
+ (i32.load
(get_local $i5)
)
- (set_local $i85
- (get_local $i62)
- )
- (set_local $i36
- (i32.const 278)
- )
- (br $while-out$69)
)
- (block
- (set_local $i50
- (i32.shl
- (get_local $i50)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $i57)
+ )
+ (block
+ (set_local $i84
+ (get_local $i5)
+ )
+ (set_local $i85
+ (get_local $i62)
+ )
+ (set_local $i36
+ (i32.const 278)
)
+ (br $while-out$69)
)
- (set_local $i62
- (get_local $i57)
+ (block
+ (set_local $i50
+ (i32.shl
+ (get_local $i50)
+ (i32.const 1)
+ )
+ )
+ (set_local $i62
+ (get_local $i57)
+ )
)
)
+ (br $while-in$70)
)
- (br $while-in$70)
)
(if
(i32.eq
@@ -5925,53 +5982,55 @@
)
)
)
- (loop $while-out$71 $while-in$72
- (set_local $i63
- (i32.load
- (get_local $i71)
+ (loop $while-in$72
+ (block $while-out$71
+ (set_local $i63
+ (i32.load
+ (get_local $i71)
+ )
)
- )
- (if
(if
- (i32.le_u
- (get_local $i63)
- (get_local $i60)
- )
- (block
- (set_local $i53
- (i32.add
- (get_local $i63)
- (i32.load
- (i32.add
- (get_local $i71)
- (i32.const 4)
+ (if
+ (i32.le_u
+ (get_local $i63)
+ (get_local $i60)
+ )
+ (block
+ (set_local $i53
+ (i32.add
+ (get_local $i63)
+ (i32.load
+ (i32.add
+ (get_local $i71)
+ (i32.const 4)
+ )
)
)
)
+ (i32.gt_u
+ (get_local $i53)
+ (get_local $i60)
+ )
)
- (i32.gt_u
+ (i32.const 0)
+ )
+ (block
+ (set_local $i86
(get_local $i53)
- (get_local $i60)
)
+ (br $while-out$71)
)
- (i32.const 0)
- )
- (block
- (set_local $i86
- (get_local $i53)
- )
- (br $while-out$71)
)
- )
- (set_local $i71
- (i32.load
- (i32.add
- (get_local $i71)
- (i32.const 8)
+ (set_local $i71
+ (i32.load
+ (i32.add
+ (get_local $i71)
+ (i32.const 8)
+ )
)
)
+ (br $while-in$72)
)
- (br $while-in$72)
)
(set_local $i44
(i32.add
@@ -6168,24 +6227,26 @@
(i32.const 24)
)
)
- (loop $do-out$73 $do-in$74
- (set_local $i63
- (i32.add
- (get_local $i63)
- (i32.const 4)
- )
- )
- (i32.store
- (get_local $i63)
- (i32.const 7)
- )
- (br_if $do-in$74
- (i32.lt_u
+ (loop $do-in$74
+ (block $do-out$73
+ (set_local $i63
(i32.add
(get_local $i63)
(i32.const 4)
)
- (get_local $i86)
+ )
+ (i32.store
+ (get_local $i63)
+ (i32.const 7)
+ )
+ (br_if $do-in$74
+ (i32.lt_u
+ (i32.add
+ (get_local $i63)
+ (i32.const 4)
+ )
+ (get_local $i86)
+ )
)
)
)
@@ -6556,79 +6617,81 @@
(get_local $i43)
)
)
- (loop $while-out$75 $while-in$76
- (if
- (i32.eq
- (i32.and
- (i32.load
- (i32.add
- (get_local $i62)
- (i32.const 4)
+ (loop $while-in$76
+ (block $while-out$75
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $i62)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $i63)
- )
- (block
- (set_local $i90
- (get_local $i62)
+ (get_local $i63)
)
- (set_local $i36
- (i32.const 307)
+ (block
+ (set_local $i90
+ (get_local $i62)
+ )
+ (set_local $i36
+ (i32.const 307)
+ )
+ (br $while-out$75)
)
- (br $while-out$75)
)
- )
- (set_local $i43
- (i32.add
+ (set_local $i43
(i32.add
- (get_local $i62)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $i5)
- (i32.const 31)
+ (i32.add
+ (get_local $i62)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $i5)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (set_local $i57
- (i32.load
- (get_local $i43)
- )
- )
- (if
- (i32.eqz
- (get_local $i57)
- )
- (block
- (set_local $i91
+ (set_local $i57
+ (i32.load
(get_local $i43)
)
- (set_local $i92
- (get_local $i62)
- )
- (set_local $i36
- (i32.const 304)
- )
- (br $while-out$75)
)
- (block
- (set_local $i5
- (i32.shl
- (get_local $i5)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $i57)
+ )
+ (block
+ (set_local $i91
+ (get_local $i43)
+ )
+ (set_local $i92
+ (get_local $i62)
+ )
+ (set_local $i36
+ (i32.const 304)
)
+ (br $while-out$75)
)
- (set_local $i62
- (get_local $i57)
+ (block
+ (set_local $i5
+ (i32.shl
+ (get_local $i5)
+ (i32.const 1)
+ )
+ )
+ (set_local $i62
+ (get_local $i57)
+ )
)
)
+ (br $while-in$76)
)
- (br $while-in$76)
)
(if
(i32.eq
@@ -6795,43 +6858,45 @@
(set_local $i5
(i32.const 0)
)
- (loop $do-out$77 $do-in$78
- (set_local $i62
- (i32.add
- (i32.const 216)
- (i32.shl
+ (loop $do-in$78
+ (block $do-out$77
+ (set_local $i62
+ (i32.add
+ (i32.const 216)
(i32.shl
- (get_local $i5)
- (i32.const 1)
+ (i32.shl
+ (get_local $i5)
+ (i32.const 1)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (i32.store
- (i32.add
+ (i32.store
+ (i32.add
+ (get_local $i62)
+ (i32.const 12)
+ )
(get_local $i62)
- (i32.const 12)
)
- (get_local $i62)
- )
- (i32.store
- (i32.add
+ (i32.store
+ (i32.add
+ (get_local $i62)
+ (i32.const 8)
+ )
(get_local $i62)
- (i32.const 8)
)
- (get_local $i62)
- )
- (set_local $i5
- (i32.add
- (get_local $i5)
- (i32.const 1)
+ (set_local $i5
+ (i32.add
+ (get_local $i5)
+ (i32.const 1)
+ )
)
- )
- (br_if $do-in$78
- (i32.ne
- (get_local $i5)
- (i32.const 32)
+ (br_if $do-in$78
+ (i32.ne
+ (get_local $i5)
+ (i32.const 32)
+ )
)
)
)
@@ -7431,64 +7496,66 @@
)
)
)
- (loop $while-out$4 $while-in$5
- (set_local $i11
- (i32.add
- (get_local $i19)
- (i32.const 20)
- )
- )
- (set_local $i16
- (i32.load
- (get_local $i11)
- )
- )
- (if
- (get_local $i16)
- (block
- (set_local $i19
- (get_local $i16)
+ (loop $while-in$5
+ (block $while-out$4
+ (set_local $i11
+ (i32.add
+ (get_local $i19)
+ (i32.const 20)
)
- (set_local $i20
+ )
+ (set_local $i16
+ (i32.load
(get_local $i11)
)
- (br $while-in$5)
)
- )
- (set_local $i11
- (i32.add
- (get_local $i19)
- (i32.const 16)
- )
- )
- (set_local $i16
- (i32.load
- (get_local $i11)
- )
- )
- (if
- (i32.eqz
+ (if
(get_local $i16)
+ (block
+ (set_local $i19
+ (get_local $i16)
+ )
+ (set_local $i20
+ (get_local $i11)
+ )
+ (br $while-in$5)
+ )
)
- (block
- (set_local $i21
+ (set_local $i11
+ (i32.add
(get_local $i19)
+ (i32.const 16)
)
- (set_local $i22
- (get_local $i20)
+ )
+ (set_local $i16
+ (i32.load
+ (get_local $i11)
)
- (br $while-out$4)
)
- (block
- (set_local $i19
+ (if
+ (i32.eqz
(get_local $i16)
)
- (set_local $i20
- (get_local $i11)
+ (block
+ (set_local $i21
+ (get_local $i19)
+ )
+ (set_local $i22
+ (get_local $i20)
+ )
+ (br $while-out$4)
+ )
+ (block
+ (set_local $i19
+ (get_local $i16)
+ )
+ (set_local $i20
+ (get_local $i11)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(if
(i32.lt_u
@@ -8049,64 +8116,66 @@
)
)
)
- (loop $while-out$12 $while-in$13
- (set_local $i19
- (i32.add
- (get_local $i24)
- (i32.const 20)
- )
- )
- (set_local $i15
- (i32.load
- (get_local $i19)
- )
- )
- (if
- (get_local $i15)
- (block
- (set_local $i24
- (get_local $i15)
+ (loop $while-in$13
+ (block $while-out$12
+ (set_local $i19
+ (i32.add
+ (get_local $i24)
+ (i32.const 20)
)
- (set_local $i25
+ )
+ (set_local $i15
+ (i32.load
(get_local $i19)
)
- (br $while-in$13)
- )
- )
- (set_local $i19
- (i32.add
- (get_local $i24)
- (i32.const 16)
)
- )
- (set_local $i15
- (i32.load
- (get_local $i19)
- )
- )
- (if
- (i32.eqz
+ (if
(get_local $i15)
+ (block
+ (set_local $i24
+ (get_local $i15)
+ )
+ (set_local $i25
+ (get_local $i19)
+ )
+ (br $while-in$13)
+ )
)
- (block
- (set_local $i26
+ (set_local $i19
+ (i32.add
(get_local $i24)
+ (i32.const 16)
)
- (set_local $i27
- (get_local $i25)
+ )
+ (set_local $i15
+ (i32.load
+ (get_local $i19)
)
- (br $while-out$12)
)
- (block
- (set_local $i24
+ (if
+ (i32.eqz
(get_local $i15)
)
- (set_local $i25
- (get_local $i19)
+ (block
+ (set_local $i26
+ (get_local $i24)
+ )
+ (set_local $i27
+ (get_local $i25)
+ )
+ (br $while-out$12)
+ )
+ (block
+ (set_local $i24
+ (get_local $i15)
+ )
+ (set_local $i25
+ (get_local $i19)
+ )
)
)
+ (br $while-in$13)
)
- (br $while-in$13)
)
(if
(i32.lt_u
@@ -8893,79 +8962,81 @@
(get_local $i5)
)
)
- (loop $while-out$18 $while-in$19
- (if
- (i32.eq
- (i32.and
- (i32.load
- (i32.add
- (get_local $i2)
- (i32.const 4)
+ (loop $while-in$19
+ (block $while-out$18
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $i2)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $i29)
- )
- (block
- (set_local $i33
- (get_local $i2)
+ (get_local $i29)
)
- (set_local $i34
- (i32.const 130)
+ (block
+ (set_local $i33
+ (get_local $i2)
+ )
+ (set_local $i34
+ (i32.const 130)
+ )
+ (br $while-out$18)
)
- (br $while-out$18)
)
- )
- (set_local $i28
- (i32.add
+ (set_local $i28
(i32.add
- (get_local $i2)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $i31)
- (i32.const 31)
+ (i32.add
+ (get_local $i2)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $i31)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (set_local $i13
- (i32.load
- (get_local $i28)
- )
- )
- (if
- (i32.eqz
- (get_local $i13)
- )
- (block
- (set_local $i35
+ (set_local $i13
+ (i32.load
(get_local $i28)
)
- (set_local $i36
- (get_local $i2)
- )
- (set_local $i34
- (i32.const 127)
- )
- (br $while-out$18)
)
- (block
- (set_local $i31
- (i32.shl
- (get_local $i31)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $i13)
+ )
+ (block
+ (set_local $i35
+ (get_local $i28)
+ )
+ (set_local $i36
+ (get_local $i2)
)
+ (set_local $i34
+ (i32.const 127)
+ )
+ (br $while-out$18)
)
- (set_local $i2
- (get_local $i13)
+ (block
+ (set_local $i31
+ (i32.shl
+ (get_local $i31)
+ (i32.const 1)
+ )
+ )
+ (set_local $i2
+ (get_local $i13)
+ )
)
)
+ (br $while-in$19)
)
- (br $while-in$19)
)
(if
(i32.eq
@@ -9140,25 +9211,27 @@
)
(return)
)
- (loop $while-out$20 $while-in$21
- (set_local $i12
- (i32.load
- (get_local $i37)
- )
- )
- (if
- (i32.eqz
- (get_local $i12)
+ (loop $while-in$21
+ (block $while-out$20
+ (set_local $i12
+ (i32.load
+ (get_local $i37)
+ )
)
- (br $while-out$20)
- (set_local $i37
- (i32.add
+ (if
+ (i32.eqz
(get_local $i12)
- (i32.const 8)
+ )
+ (br $while-out$20)
+ (set_local $i37
+ (i32.add
+ (get_local $i12)
+ (i32.const 8)
+ )
)
)
+ (br $while-in$21)
)
- (br $while-in$21)
)
(i32.store
(i32.const 208)
@@ -9189,16 +9262,11 @@
(local $i23 i32)
(local $i24 i32)
(set_local $i4
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 48)
)
)
@@ -9291,247 +9359,249 @@
(get_local $i3)
)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.load
- (i32.const 8)
- )
- )
- (block
- (i32.store
- (get_local $i5)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eqz
(i32.load
- (get_local $i2)
+ (i32.const 8)
)
)
- (i32.store
- (i32.add
+ (block
+ (i32.store
(get_local $i5)
- (i32.const 4)
+ (i32.load
+ (get_local $i2)
+ )
)
- (get_local $i12)
- )
- (i32.store
- (i32.add
- (get_local $i5)
- (i32.const 8)
+ (i32.store
+ (i32.add
+ (get_local $i5)
+ (i32.const 4)
+ )
+ (get_local $i12)
)
- (get_local $i7)
- )
- (set_local $i14
- (call $___syscall_ret
- (call_import $___syscall146
- (i32.const 146)
+ (i32.store
+ (i32.add
(get_local $i5)
+ (i32.const 8)
)
+ (get_local $i7)
)
- )
- )
- (block
- (call_import $_pthread_cleanup_push
- (i32.const 4)
- (get_local $i1)
- )
- (i32.store
- (get_local $i6)
- (i32.load
- (get_local $i2)
+ (set_local $i14
+ (call $___syscall_ret
+ (call_import $___syscall146
+ (i32.const 146)
+ (get_local $i5)
+ )
+ )
)
)
- (i32.store
- (i32.add
- (get_local $i6)
+ (block
+ (call_import $_pthread_cleanup_push
(i32.const 4)
+ (get_local $i1)
)
- (get_local $i12)
- )
- (i32.store
- (i32.add
+ (i32.store
(get_local $i6)
- (i32.const 8)
+ (i32.load
+ (get_local $i2)
+ )
)
- (get_local $i7)
- )
- (set_local $i11
- (call $___syscall_ret
- (call_import $___syscall146
- (i32.const 146)
+ (i32.store
+ (i32.add
(get_local $i6)
+ (i32.const 4)
)
+ (get_local $i12)
+ )
+ (i32.store
+ (i32.add
+ (get_local $i6)
+ (i32.const 8)
+ )
+ (get_local $i7)
+ )
+ (set_local $i11
+ (call $___syscall_ret
+ (call_import $___syscall146
+ (i32.const 146)
+ (get_local $i6)
+ )
+ )
+ )
+ (call_import $_pthread_cleanup_pop
+ (i32.const 0)
+ )
+ (set_local $i14
+ (get_local $i11)
)
)
- (call_import $_pthread_cleanup_pop
- (i32.const 0)
- )
- (set_local $i14
- (get_local $i11)
- )
- )
- )
- (if
- (i32.eq
- (get_local $i13)
- (get_local $i14)
)
- (block
- (set_local $i15
- (i32.const 6)
+ (if
+ (i32.eq
+ (get_local $i13)
+ (get_local $i14)
)
- (br $while-out$0)
- )
- )
- (if
- (i32.lt_s
- (get_local $i14)
- (i32.const 0)
- )
- (block
- (set_local $i16
- (get_local $i12)
+ (block
+ (set_local $i15
+ (i32.const 6)
+ )
+ (br $while-out$0)
)
- (set_local $i17
- (get_local $i7)
+ )
+ (if
+ (i32.lt_s
+ (get_local $i14)
+ (i32.const 0)
)
- (set_local $i15
- (i32.const 8)
+ (block
+ (set_local $i16
+ (get_local $i12)
+ )
+ (set_local $i17
+ (get_local $i7)
+ )
+ (set_local $i15
+ (i32.const 8)
+ )
+ (br $while-out$0)
)
- (br $while-out$0)
)
- )
- (set_local $i11
- (i32.sub
- (get_local $i13)
- (get_local $i14)
- )
- )
- (set_local $i18
- (i32.load
- (i32.add
- (get_local $i12)
- (i32.const 4)
+ (set_local $i11
+ (i32.sub
+ (get_local $i13)
+ (get_local $i14)
)
)
- )
- (if
- (i32.le_u
- (get_local $i14)
- (get_local $i18)
+ (set_local $i18
+ (i32.load
+ (i32.add
+ (get_local $i12)
+ (i32.const 4)
+ )
+ )
)
(if
- (i32.eq
- (get_local $i7)
- (i32.const 2)
+ (i32.le_u
+ (get_local $i14)
+ (get_local $i18)
)
- (block
- (i32.store
- (get_local $i8)
- (i32.add
- (i32.load
- (get_local $i8)
+ (if
+ (i32.eq
+ (get_local $i7)
+ (i32.const 2)
+ )
+ (block
+ (i32.store
+ (get_local $i8)
+ (i32.add
+ (i32.load
+ (get_local $i8)
+ )
+ (get_local $i14)
)
+ )
+ (set_local $i19
+ (get_local $i18)
+ )
+ (set_local $i20
(get_local $i14)
)
+ (set_local $i21
+ (get_local $i12)
+ )
+ (set_local $i22
+ (i32.const 2)
+ )
)
- (set_local $i19
- (get_local $i18)
+ (block
+ (set_local $i19
+ (get_local $i18)
+ )
+ (set_local $i20
+ (get_local $i14)
+ )
+ (set_local $i21
+ (get_local $i12)
+ )
+ (set_local $i22
+ (get_local $i7)
+ )
)
- (set_local $i20
- (get_local $i14)
+ )
+ (block
+ (set_local $i23
+ (i32.load
+ (get_local $i9)
+ )
)
- (set_local $i21
- (get_local $i12)
+ (i32.store
+ (get_local $i8)
+ (get_local $i23)
)
- (set_local $i22
- (i32.const 2)
+ (i32.store
+ (get_local $i10)
+ (get_local $i23)
)
- )
- (block
(set_local $i19
- (get_local $i18)
+ (i32.load
+ (i32.add
+ (get_local $i12)
+ (i32.const 12)
+ )
+ )
)
(set_local $i20
- (get_local $i14)
+ (i32.sub
+ (get_local $i14)
+ (get_local $i18)
+ )
)
(set_local $i21
- (get_local $i12)
- )
- (set_local $i22
- (get_local $i7)
- )
- )
- )
- (block
- (set_local $i23
- (i32.load
- (get_local $i9)
- )
- )
- (i32.store
- (get_local $i8)
- (get_local $i23)
- )
- (i32.store
- (get_local $i10)
- (get_local $i23)
- )
- (set_local $i19
- (i32.load
(i32.add
(get_local $i12)
- (i32.const 12)
+ (i32.const 8)
)
)
- )
- (set_local $i20
- (i32.sub
- (get_local $i14)
- (get_local $i18)
- )
- )
- (set_local $i21
- (i32.add
- (get_local $i12)
- (i32.const 8)
+ (set_local $i22
+ (i32.add
+ (get_local $i7)
+ (i32.const -1)
+ )
)
)
- (set_local $i22
- (i32.add
- (get_local $i7)
- (i32.const -1)
+ )
+ (i32.store
+ (get_local $i21)
+ (i32.add
+ (i32.load
+ (get_local $i21)
)
+ (get_local $i20)
)
)
- )
- (i32.store
- (get_local $i21)
- (i32.add
- (i32.load
+ (i32.store
+ (i32.add
(get_local $i21)
+ (i32.const 4)
+ )
+ (i32.sub
+ (get_local $i19)
+ (get_local $i20)
)
- (get_local $i20)
)
- )
- (i32.store
- (i32.add
+ (set_local $i12
(get_local $i21)
- (i32.const 4)
)
- (i32.sub
- (get_local $i19)
- (get_local $i20)
+ (set_local $i7
+ (get_local $i22)
)
+ (set_local $i13
+ (get_local $i11)
+ )
+ (br $while-in$1)
)
- (set_local $i12
- (get_local $i21)
- )
- (set_local $i7
- (get_local $i22)
- )
- (set_local $i13
- (get_local $i11)
- )
- (br $while-in$1)
)
(if
(i32.eq
@@ -9627,8 +9697,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $i4)
)
(return
@@ -9724,6 +9793,9 @@
(block
(set_local $i8
(call_indirect $FUNCSIG$iiii
+ (get_local $i3)
+ (get_local $i1)
+ (get_local $i2)
(i32.add
(i32.and
(i32.load
@@ -9736,9 +9808,6 @@
)
(i32.const 2)
)
- (get_local $i3)
- (get_local $i1)
- (get_local $i2)
)
)
(br $label$break$L5)
@@ -9759,58 +9828,63 @@
(set_local $i4
(get_local $i2)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (get_local $i4)
- )
- (block
- (set_local $i10
- (get_local $i2)
- )
- (set_local $i11
- (get_local $i1)
- )
- (set_local $i12
- (get_local $i9)
- )
- (set_local $i13
- (i32.const 0)
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (get_local $i4)
)
- (br $label$break$L10)
- )
- )
- (set_local $i14
- (i32.add
- (get_local $i4)
- (i32.const -1)
- )
- )
- (if
- (i32.eq
- (i32.load8_s
- (i32.add
+ (block
+ (set_local $i10
+ (get_local $i2)
+ )
+ (set_local $i11
(get_local $i1)
- (get_local $i14)
)
+ (set_local $i12
+ (get_local $i9)
+ )
+ (set_local $i13
+ (i32.const 0)
+ )
+ (br $label$break$L10)
)
- (i32.const 10)
)
- (block
- (set_local $i15
+ (set_local $i14
+ (i32.add
(get_local $i4)
+ (i32.const -1)
)
- (br $while-out$2)
)
- (set_local $i4
- (get_local $i14)
+ (if
+ (i32.eq
+ (i32.load8_s
+ (i32.add
+ (get_local $i1)
+ (get_local $i14)
+ )
+ )
+ (i32.const 10)
+ )
+ (block
+ (set_local $i15
+ (get_local $i4)
+ )
+ (br $while-out$2)
+ )
+ (set_local $i4
+ (get_local $i14)
+ )
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
(if
(i32.lt_u
(call_indirect $FUNCSIG$iiii
+ (get_local $i3)
+ (get_local $i1)
+ (get_local $i15)
(i32.add
(i32.and
(i32.load
@@ -9823,9 +9897,6 @@
)
(i32.const 2)
)
- (get_local $i3)
- (get_local $i1)
- (get_local $i15)
)
(get_local $i15)
)
@@ -9873,10 +9944,12 @@
)
)
)
- (call $_memcpy
- (get_local $i12)
- (get_local $i11)
- (get_local $i10)
+ (drop
+ (call $_memcpy
+ (get_local $i12)
+ (get_local $i11)
+ (get_local $i10)
+ )
)
(i32.store
(get_local $i5)
@@ -9999,82 +10072,84 @@
(set_local $i4
(get_local $i5)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.gt_s
- (i32.load
- (i32.add
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.gt_s
+ (i32.load
+ (i32.add
+ (get_local $i3)
+ (i32.const 76)
+ )
+ )
+ (i32.const -1)
+ )
+ (set_local $i7
+ (call $___lockfile
(get_local $i3)
- (i32.const 76)
)
)
- (i32.const -1)
- )
- (set_local $i7
- (call $___lockfile
- (get_local $i3)
+ (set_local $i7
+ (i32.const 0)
)
)
- (set_local $i7
- (i32.const 0)
- )
- )
- (if
- (i32.gt_u
- (i32.load
- (i32.add
- (get_local $i3)
- (i32.const 20)
+ (if
+ (i32.gt_u
+ (i32.load
+ (i32.add
+ (get_local $i3)
+ (i32.const 20)
+ )
)
- )
- (i32.load
- (i32.add
- (get_local $i3)
- (i32.const 28)
+ (i32.load
+ (i32.add
+ (get_local $i3)
+ (i32.const 28)
+ )
)
)
- )
- (set_local $i8
- (i32.or
- (call $___fflush_unlocked
- (get_local $i3)
+ (set_local $i8
+ (i32.or
+ (call $___fflush_unlocked
+ (get_local $i3)
+ )
+ (get_local $i4)
)
+ )
+ (set_local $i8
(get_local $i4)
)
)
- (set_local $i8
- (get_local $i4)
- )
- )
- (if
- (get_local $i7)
- (call $___unlockfile
- (get_local $i3)
- )
- )
- (set_local $i3
- (i32.load
- (i32.add
+ (if
+ (get_local $i7)
+ (call $___unlockfile
(get_local $i3)
- (i32.const 56)
)
)
- )
- (if
- (i32.eqz
- (get_local $i3)
+ (set_local $i3
+ (i32.load
+ (i32.add
+ (get_local $i3)
+ (i32.const 56)
+ )
+ )
)
- (block
- (set_local $i6
+ (if
+ (i32.eqz
+ (get_local $i3)
+ )
+ (block
+ (set_local $i6
+ (get_local $i8)
+ )
+ (br $while-out$2)
+ )
+ (set_local $i4
(get_local $i8)
)
- (br $while-out$2)
- )
- (set_local $i4
- (get_local $i8)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
@@ -10128,50 +10203,52 @@
(set_local $i6
(get_local $i2)
)
- (loop $while-out$1 $while-in$2
- (if
- (i32.eqz
- (i32.load8_s
- (get_local $i5)
+ (loop $while-in$2
+ (block $while-out$1
+ (if
+ (i32.eqz
+ (i32.load8_s
+ (get_local $i5)
+ )
+ )
+ (block
+ (set_local $i7
+ (get_local $i6)
+ )
+ (br $label$break$L1)
)
)
- (block
- (set_local $i7
- (get_local $i6)
+ (set_local $i8
+ (i32.add
+ (get_local $i5)
+ (i32.const 1)
)
- (br $label$break$L1)
)
- )
- (set_local $i8
- (i32.add
- (get_local $i5)
- (i32.const 1)
+ (set_local $i6
+ (get_local $i8)
)
- )
- (set_local $i6
- (get_local $i8)
- )
- (if
- (i32.eqz
- (i32.and
- (get_local $i6)
- (i32.const 3)
+ (if
+ (i32.eqz
+ (i32.and
+ (get_local $i6)
+ (i32.const 3)
+ )
)
- )
- (block
- (set_local $i3
- (get_local $i8)
+ (block
+ (set_local $i3
+ (get_local $i8)
+ )
+ (set_local $i4
+ (i32.const 4)
+ )
+ (br $while-out$1)
)
- (set_local $i4
- (i32.const 4)
+ (set_local $i5
+ (get_local $i8)
)
- (br $while-out$1)
- )
- (set_local $i5
- (get_local $i8)
)
+ (br $while-in$2)
)
- (br $while-in$2)
)
)
)
@@ -10185,45 +10262,47 @@
(set_local $i4
(get_local $i3)
)
- (loop $while-out$3 $while-in$4
- (set_local $i3
- (i32.load
- (get_local $i4)
+ (loop $while-in$4
+ (block $while-out$3
+ (set_local $i3
+ (i32.load
+ (get_local $i4)
+ )
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.xor
- (i32.and
- (get_local $i3)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.xor
+ (i32.and
+ (get_local $i3)
+ (i32.const -2139062144)
+ )
(i32.const -2139062144)
)
- (i32.const -2139062144)
+ (i32.add
+ (get_local $i3)
+ (i32.const -16843009)
+ )
)
+ )
+ (set_local $i4
(i32.add
- (get_local $i3)
- (i32.const -16843009)
+ (get_local $i4)
+ (i32.const 4)
)
)
- )
- (set_local $i4
- (i32.add
- (get_local $i4)
- (i32.const 4)
- )
- )
- (block
- (set_local $i9
- (get_local $i3)
- )
- (set_local $i10
- (get_local $i4)
+ (block
+ (set_local $i9
+ (get_local $i3)
+ )
+ (set_local $i10
+ (get_local $i4)
+ )
+ (br $while-out$3)
)
- (br $while-out$3)
)
+ (br $while-in$4)
)
- (br $while-in$4)
)
(if
(i32.eqz
@@ -10245,30 +10324,32 @@
(set_local $i9
(get_local $i10)
)
- (loop $while-out$5 $while-in$6
- (set_local $i10
- (i32.add
- (get_local $i9)
- (i32.const 1)
- )
- )
- (if
- (i32.eqz
- (i32.load8_s
- (get_local $i10)
+ (loop $while-in$6
+ (block $while-out$5
+ (set_local $i10
+ (i32.add
+ (get_local $i9)
+ (i32.const 1)
)
)
- (block
- (set_local $i11
+ (if
+ (i32.eqz
+ (i32.load8_s
+ (get_local $i10)
+ )
+ )
+ (block
+ (set_local $i11
+ (get_local $i10)
+ )
+ (br $while-out$5)
+ )
+ (set_local $i9
(get_local $i10)
)
- (br $while-out$5)
- )
- (set_local $i9
- (get_local $i10)
)
+ (br $while-in$6)
)
- (br $while-in$6)
)
)
)
@@ -10295,16 +10376,11 @@
(local $i10 i32)
(local $i11 i32)
(set_local $i3
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
@@ -10429,6 +10505,9 @@
(if
(i32.eq
(call_indirect $FUNCSIG$iiii
+ (get_local $i1)
+ (get_local $i4)
+ (i32.const 1)
(i32.add
(i32.and
(i32.load
@@ -10441,9 +10520,6 @@
)
(i32.const 2)
)
- (get_local $i1)
- (get_local $i4)
- (i32.const 1)
)
(i32.const 1)
)
@@ -10459,8 +10535,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $i3)
)
(return
@@ -10498,22 +10573,24 @@
)
)
(block
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (i32.load
- (i32.add
- (get_local $i1)
- (i32.const 36)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $i1)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $i1)
+ (i32.const 36)
+ )
)
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $i1)
- (i32.const 0)
- (i32.const 0)
)
(i32.eq
(i32.load
@@ -10556,6 +10633,12 @@
(get_local $i8)
)
(call_indirect $FUNCSIG$iiii
+ (get_local $i1)
+ (i32.sub
+ (get_local $i6)
+ (get_local $i8)
+ )
+ (i32.const 1)
(i32.add
(i32.and
(i32.load
@@ -10568,12 +10651,6 @@
)
(i32.const 2)
)
- (get_local $i1)
- (i32.sub
- (get_local $i6)
- (get_local $i8)
- )
- (i32.const 1)
)
)
(i32.store
@@ -10638,129 +10715,135 @@
)
)
(block
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.and
- (get_local $i1)
- (i32.const 3)
- )
- )
- (br $while-out$0)
- )
- (block
+ (loop $while-in$1
+ (block $while-out$0
(if
(i32.eqz
- (get_local $i3)
- )
- (return
- (get_local $i4)
+ (i32.and
+ (get_local $i1)
+ (i32.const 3)
+ )
)
+ (br $while-out$0)
)
- (i32.store8
- (get_local $i1)
- (i32.load8_s
- (get_local $i2)
+ (block
+ (if
+ (i32.eqz
+ (get_local $i3)
+ )
+ (return
+ (get_local $i4)
+ )
)
- )
- (set_local $i1
- (i32.add
+ (i32.store8
(get_local $i1)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $i2)
+ )
)
- )
- (set_local $i2
- (i32.add
- (get_local $i2)
- (i32.const 1)
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 1)
+ )
)
- )
- (set_local $i3
- (i32.sub
- (get_local $i3)
- (i32.const 1)
+ (set_local $i2
+ (i32.add
+ (get_local $i2)
+ (i32.const 1)
+ )
)
- )
- )
- (br $while-in$1)
- )
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (i32.ge_s
- (get_local $i3)
- (i32.const 4)
+ (set_local $i3
+ (i32.sub
+ (get_local $i3)
+ (i32.const 1)
+ )
)
)
- (br $while-out$2)
+ (br $while-in$1)
)
- (block
- (i32.store
- (get_local $i1)
- (i32.load
- (get_local $i2)
+ )
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (i32.ge_s
+ (get_local $i3)
+ (i32.const 4)
+ )
)
+ (br $while-out$2)
)
- (set_local $i1
- (i32.add
+ (block
+ (i32.store
(get_local $i1)
- (i32.const 4)
+ (i32.load
+ (get_local $i2)
+ )
)
- )
- (set_local $i2
- (i32.add
- (get_local $i2)
- (i32.const 4)
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 4)
+ )
)
- )
- (set_local $i3
- (i32.sub
- (get_local $i3)
- (i32.const 4)
+ (set_local $i2
+ (i32.add
+ (get_local $i2)
+ (i32.const 4)
+ )
+ )
+ (set_local $i3
+ (i32.sub
+ (get_local $i3)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.eqz
- (i32.gt_s
- (get_local $i3)
- (i32.const 0)
- )
- )
- (br $while-out$4)
- )
- (block
- (i32.store8
- (get_local $i1)
- (i32.load8_s
- (get_local $i2)
+ (loop $while-in$5
+ (block $while-out$4
+ (if
+ (i32.eqz
+ (i32.gt_s
+ (get_local $i3)
+ (i32.const 0)
+ )
)
+ (br $while-out$4)
)
- (set_local $i1
- (i32.add
+ (block
+ (i32.store8
(get_local $i1)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $i2)
+ )
)
- )
- (set_local $i2
- (i32.add
- (get_local $i2)
- (i32.const 1)
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 1)
+ )
)
- )
- (set_local $i3
- (i32.sub
- (get_local $i3)
- (i32.const 1)
+ (set_local $i2
+ (i32.add
+ (get_local $i2)
+ (i32.const 1)
+ )
+ )
+ (set_local $i3
+ (i32.sub
+ (get_local $i3)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(return
(get_local $i4)
@@ -10840,81 +10923,87 @@
(get_local $i5)
)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $i1)
- (get_local $i5)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $i1)
+ (get_local $i5)
+ )
)
+ (br $while-out$0)
)
- (br $while-out$0)
- )
- (block
- (i32.store8
- (get_local $i1)
- (get_local $i2)
- )
- (set_local $i1
- (i32.add
+ (block
+ (i32.store8
(get_local $i1)
- (i32.const 1)
+ (get_local $i2)
+ )
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$1)
)
- (br $while-in$1)
)
)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $i1)
- (get_local $i7)
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $i1)
+ (get_local $i7)
+ )
)
+ (br $while-out$2)
)
- (br $while-out$2)
- )
- (block
- (i32.store
- (get_local $i1)
- (get_local $i6)
- )
- (set_local $i1
- (i32.add
+ (block
+ (i32.store
(get_local $i1)
- (i32.const 4)
+ (get_local $i6)
+ )
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $i1)
- (get_local $i4)
+ (loop $while-in$5
+ (block $while-out$4
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $i1)
+ (get_local $i4)
+ )
)
+ (br $while-out$4)
)
- (br $while-out$4)
- )
- (block
- (i32.store8
- (get_local $i1)
- (get_local $i2)
- )
- (set_local $i1
- (i32.add
+ (block
+ (i32.store8
(get_local $i1)
- (i32.const 1)
+ (get_local $i2)
+ )
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(return
(i32.sub
@@ -11055,16 +11144,11 @@
(local $i6 i32)
(local $i7 i32)
(set_local $i4
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 32)
)
)
@@ -11139,8 +11223,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $i4)
)
(return
@@ -11341,16 +11424,11 @@
(local $i4 i32)
(local $i5 i32)
(set_local $i4
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 80)
)
)
@@ -11431,8 +11509,7 @@
(get_local $i3)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $i4)
)
(return
@@ -11441,18 +11518,14 @@
)
(func $copyTempDouble (param $i1 i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s
(get_local $i1)
)
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 1)
)
(i32.load8_s
@@ -11464,9 +11537,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 2)
)
(i32.load8_s
@@ -11478,9 +11549,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 3)
)
(i32.load8_s
@@ -11492,9 +11561,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 4)
)
(i32.load8_s
@@ -11506,9 +11573,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 5)
)
(i32.load8_s
@@ -11520,9 +11585,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 6)
)
(i32.load8_s
@@ -11534,9 +11597,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 7)
)
(i32.load8_s
@@ -11551,16 +11612,11 @@
(local $i2 i32)
(local $i3 i32)
(set_local $i2
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
@@ -11584,8 +11640,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $i2)
)
(return
@@ -11594,18 +11649,14 @@
)
(func $copyTempFloat (param $i1 i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s
(get_local $i1)
)
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 1)
)
(i32.load8_s
@@ -11617,9 +11668,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 2)
)
(i32.load8_s
@@ -11631,9 +11680,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 3)
)
(i32.load8_s
@@ -11674,6 +11721,9 @@
(func $dynCall_iiii (param $i1 i32) (param $i2 i32) (param $i3 i32) (param $i4 i32) (result i32)
(return
(call_indirect $FUNCSIG$iiii
+ (get_local $i2)
+ (get_local $i3)
+ (get_local $i4)
(i32.add
(i32.and
(get_local $i1)
@@ -11681,35 +11731,24 @@
)
(i32.const 2)
)
- (get_local $i2)
- (get_local $i3)
- (get_local $i4)
)
)
)
(func $stackAlloc (param $i1 i32) (result i32)
(local $i2 i32)
(set_local $i2
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(get_local $i1)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.and
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 15)
)
(i32.const -16)
@@ -11746,17 +11785,13 @@
(func $setThrew (param $i1 i32) (param $i2 i32)
(if
(i32.eqz
- (i32.load
- (i32.const 40)
- )
+ (get_global $__THREW__)
)
(block
- (i32.store
- (i32.const 40)
+ (set_global $__THREW__
(get_local $i1)
)
- (i32.store
- (i32.const 48)
+ (set_global $threwValue
(get_local $i2)
)
)
@@ -11780,6 +11815,7 @@
(func $dynCall_ii (param $i1 i32) (param $i2 i32) (result i32)
(return
(call_indirect $FUNCSIG$ii
+ (get_local $i2)
(i32.add
(i32.and
(get_local $i1)
@@ -11787,7 +11823,6 @@
)
(i32.const 0)
)
- (get_local $i2)
)
)
)
@@ -11808,17 +11843,16 @@
(return)
)
(func $establishStackSpace (param $i1 i32) (param $i2 i32)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $i1)
)
- (i32.store
- (i32.const 16)
+ (set_global $STACK_MAX
(get_local $i2)
)
)
(func $dynCall_vi (param $i1 i32) (param $i2 i32)
(call_indirect $FUNCSIG$vi
+ (get_local $i2)
(i32.add
(i32.and
(get_local $i1)
@@ -11826,7 +11860,6 @@
)
(i32.const 10)
)
- (get_local $i2)
)
)
(func $b1 (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32)
@@ -11838,14 +11871,12 @@
)
)
(func $stackRestore (param $i1 i32)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $i1)
)
)
(func $setTempRet0 (param $i1 i32)
- (i32.store
- (i32.const 160)
+ (set_global $tempRet0
(get_local $i1)
)
)
@@ -11867,14 +11898,14 @@
)
(func $getTempRet0 (result i32)
(return
- (i32.load
- (i32.const 160)
- )
+ (get_global $tempRet0)
)
)
(func $_main (result i32)
- (call $_puts
- (i32.const 672)
+ (drop
+ (call $_puts
+ (i32.const 672)
+ )
)
(return
(i32.const 0)
@@ -11882,9 +11913,7 @@
)
(func $stackSave (result i32)
(return
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
)
(func $b2 (param $i1 i32)
diff --git a/test/emcc_O2_hello_world.fromasm.no-opts b/test/emcc_O2_hello_world.fromasm.no-opts
index e75c5e4b2..4acb5bc87 100644
--- a/test/emcc_O2_hello_world.fromasm.no-opts
+++ b/test/emcc_O2_hello_world.fromasm.no-opts
@@ -1,6 +1,5 @@
(module
(memory 256 256)
- (export "memory" memory)
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
@@ -8,40 +7,74 @@
(type $FUNCSIG$i (func (result i32)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$vii (func (param i32 i32)))
- (import $abort "env" "abort" (param i32))
- (import $_pthread_cleanup_pop "env" "_pthread_cleanup_pop" (param i32))
- (import $_pthread_self "env" "_pthread_self" (result i32))
- (import $_sysconf "env" "_sysconf" (param i32) (result i32))
- (import $___lock "env" "___lock" (param i32))
- (import $___syscall6 "env" "___syscall6" (param i32 i32) (result i32))
- (import $_abort "env" "_abort")
- (import $_sbrk "env" "_sbrk" (param i32) (result i32))
- (import $_time "env" "_time" (param i32) (result i32))
- (import $_pthread_cleanup_push "env" "_pthread_cleanup_push" (param i32 i32))
- (import $_emscripten_memcpy_big "env" "_emscripten_memcpy_big" (param i32 i32 i32) (result i32))
- (import $___syscall54 "env" "___syscall54" (param i32 i32) (result i32))
- (import $___unlock "env" "___unlock" (param i32))
- (import $___syscall140 "env" "___syscall140" (param i32 i32) (result i32))
- (import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
- (import $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32))
- (export "_free" $_free)
- (export "_main" $_main)
- (export "_memset" $_memset)
- (export "_malloc" $_malloc)
- (export "_memcpy" $_memcpy)
- (export "_fflush" $_fflush)
- (export "___errno_location" $___errno_location)
- (export "runPostSets" $runPostSets)
- (export "stackAlloc" $stackAlloc)
- (export "stackSave" $stackSave)
- (export "stackRestore" $stackRestore)
- (export "establishStackSpace" $establishStackSpace)
- (export "setThrew" $setThrew)
- (export "setTempRet0" $setTempRet0)
- (export "getTempRet0" $getTempRet0)
- (export "dynCall_ii" $dynCall_ii)
- (export "dynCall_iiii" $dynCall_iiii)
- (export "dynCall_vi" $dynCall_vi)
+ (import "env" "STACKTOP" (global $STACKTOP i32))
+ (import "env" "STACK_MAX" (global $STACK_MAX i32))
+ (import "env" "tempDoublePtr" (global $tempDoublePtr i32))
+ (import "env" "ABORT" (global $ABORT i32))
+ (import "global" "NaN" (global $nan f64))
+ (import "global" "Infinity" (global $inf f64))
+ (import "env" "abort" (func $abort (param i32)))
+ (import "env" "_pthread_cleanup_pop" (func $_pthread_cleanup_pop (param i32)))
+ (import "env" "_pthread_self" (func $_pthread_self (result i32)))
+ (import "env" "_sysconf" (func $_sysconf (param i32) (result i32)))
+ (import "env" "___lock" (func $___lock (param i32)))
+ (import "env" "___syscall6" (func $___syscall6 (param i32 i32) (result i32)))
+ (import "env" "_abort" (func $_abort))
+ (import "env" "_sbrk" (func $_sbrk (param i32) (result i32)))
+ (import "env" "_time" (func $_time (param i32) (result i32)))
+ (import "env" "_pthread_cleanup_push" (func $_pthread_cleanup_push (param i32 i32)))
+ (import "env" "_emscripten_memcpy_big" (func $_emscripten_memcpy_big (param i32 i32 i32) (result i32)))
+ (import "env" "___syscall54" (func $___syscall54 (param i32 i32) (result i32)))
+ (import "env" "___unlock" (func $___unlock (param i32)))
+ (import "env" "___syscall140" (func $___syscall140 (param i32 i32) (result i32)))
+ (import "env" "___syscall146" (func $___syscall146 (param i32 i32) (result i32)))
+ (import "asm2wasm" "i32u-div" (func $i32u-div (param i32 i32) (result i32)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "_free" (func $_free))
+ (export "_main" (func $_main))
+ (export "_memset" (func $_memset))
+ (export "_malloc" (func $_malloc))
+ (export "_memcpy" (func $_memcpy))
+ (export "_fflush" (func $_fflush))
+ (export "___errno_location" (func $___errno_location))
+ (export "runPostSets" (func $runPostSets))
+ (export "stackAlloc" (func $stackAlloc))
+ (export "stackSave" (func $stackSave))
+ (export "stackRestore" (func $stackRestore))
+ (export "establishStackSpace" (func $establishStackSpace))
+ (export "setThrew" (func $setThrew))
+ (export "setTempRet0" (func $setTempRet0))
+ (export "getTempRet0" (func $getTempRet0))
+ (export "dynCall_ii" (func $dynCall_ii))
+ (export "dynCall_iiii" (func $dynCall_iiii))
+ (export "dynCall_vi" (func $dynCall_vi))
+ (global $__THREW__ i32 (i32.const 0))
+ (global $threwValue i32 (i32.const 0))
+ (global $setjmpId i32 (i32.const 0))
+ (global $undef i32 (i32.const 0))
+ (global $tempInt i32 (i32.const 0))
+ (global $tempBigInt i32 (i32.const 0))
+ (global $tempBigIntP i32 (i32.const 0))
+ (global $tempBigIntS i32 (i32.const 0))
+ (global $tempBigIntR f64 (f64.const 0))
+ (global $tempBigIntI i32 (i32.const 0))
+ (global $tempBigIntD i32 (i32.const 0))
+ (global $tempValue i32 (i32.const 0))
+ (global $tempDouble f64 (f64.const 0))
+ (global $tempRet0 i32 (i32.const 0))
+ (global $tempRet1 i32 (i32.const 0))
+ (global $tempRet2 i32 (i32.const 0))
+ (global $tempRet3 i32 (i32.const 0))
+ (global $tempRet4 i32 (i32.const 0))
+ (global $tempRet5 i32 (i32.const 0))
+ (global $tempRet6 i32 (i32.const 0))
+ (global $tempRet7 i32 (i32.const 0))
+ (global $tempRet8 i32 (i32.const 0))
+ (global $tempRet9 i32 (i32.const 0))
+ (global $tempFloat f64 (f64.const 0))
(table 18 18 anyfunc)
(elem (i32.const 0) $b0 $___stdio_close $b1 $b1 $___stdout_write $___stdio_seek $b1 $___stdio_write $b1 $b1 $b2 $b2 $b2 $b2 $_cleanup_418 $b2 $b2 $b2)
(func $_malloc (param $i1 i32) (result i32)
@@ -881,88 +914,90 @@
(set_local $i7
(get_local $i10)
)
- (loop $while-out$6 $while-in$7
- (set_local $i10
- (i32.load
- (i32.add
- (get_local $i3)
- (i32.const 16)
+ (loop $while-in$7
+ (block $while-out$6
+ (set_local $i10
+ (i32.load
+ (i32.add
+ (get_local $i3)
+ (i32.const 16)
+ )
)
)
- )
- (if
- (i32.eqz
- (get_local $i10)
- )
- (block
- (set_local $i15
- (i32.load
- (i32.add
- (get_local $i3)
- (i32.const 20)
- )
- )
+ (if
+ (i32.eqz
+ (get_local $i10)
)
- (if
- (i32.eqz
- (get_local $i15)
+ (block
+ (set_local $i15
+ (i32.load
+ (i32.add
+ (get_local $i3)
+ (i32.const 20)
+ )
+ )
)
- (block
- (set_local $i21
- (get_local $i5)
+ (if
+ (i32.eqz
+ (get_local $i15)
)
- (set_local $i22
- (get_local $i7)
+ (block
+ (set_local $i21
+ (get_local $i5)
+ )
+ (set_local $i22
+ (get_local $i7)
+ )
+ (br $while-out$6)
+ )
+ (set_local $i23
+ (get_local $i15)
)
- (br $while-out$6)
- )
- (set_local $i23
- (get_local $i15)
)
)
+ (set_local $i23
+ (get_local $i10)
+ )
)
- (set_local $i23
- (get_local $i10)
- )
- )
- (set_local $i10
- (i32.sub
- (i32.and
- (i32.load
- (i32.add
- (get_local $i23)
- (i32.const 4)
+ (set_local $i10
+ (i32.sub
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $i23)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $i2)
)
- (get_local $i2)
)
- )
- (set_local $i15
- (i32.lt_u
- (get_local $i10)
- (get_local $i5)
+ (set_local $i15
+ (i32.lt_u
+ (get_local $i10)
+ (get_local $i5)
+ )
)
- )
- (set_local $i5
- (if
- (get_local $i15)
- (get_local $i10)
- (get_local $i5)
+ (set_local $i5
+ (if
+ (get_local $i15)
+ (get_local $i10)
+ (get_local $i5)
+ )
)
- )
- (set_local $i3
- (get_local $i23)
- )
- (set_local $i7
- (if
- (get_local $i15)
+ (set_local $i3
(get_local $i23)
- (get_local $i7)
)
+ (set_local $i7
+ (if
+ (get_local $i15)
+ (get_local $i23)
+ (get_local $i7)
+ )
+ )
+ (br $while-in$7)
)
- (br $while-in$7)
)
(set_local $i7
(i32.load
@@ -1068,64 +1103,66 @@
)
)
)
- (loop $while-out$10 $while-in$11
- (set_local $i14
- (i32.add
- (get_local $i25)
- (i32.const 20)
- )
- )
- (set_local $i17
- (i32.load
- (get_local $i14)
- )
- )
- (if
- (get_local $i17)
- (block
- (set_local $i25
- (get_local $i17)
+ (loop $while-in$11
+ (block $while-out$10
+ (set_local $i14
+ (i32.add
+ (get_local $i25)
+ (i32.const 20)
)
- (set_local $i26
+ )
+ (set_local $i17
+ (i32.load
(get_local $i14)
)
- (br $while-in$11)
- )
- )
- (set_local $i14
- (i32.add
- (get_local $i25)
- (i32.const 16)
- )
- )
- (set_local $i17
- (i32.load
- (get_local $i14)
)
- )
- (if
- (i32.eqz
+ (if
(get_local $i17)
+ (block
+ (set_local $i25
+ (get_local $i17)
+ )
+ (set_local $i26
+ (get_local $i14)
+ )
+ (br $while-in$11)
+ )
)
- (block
- (set_local $i27
+ (set_local $i14
+ (i32.add
(get_local $i25)
+ (i32.const 16)
)
- (set_local $i28
- (get_local $i26)
+ )
+ (set_local $i17
+ (i32.load
+ (get_local $i14)
)
- (br $while-out$10)
)
- (block
- (set_local $i25
+ (if
+ (i32.eqz
(get_local $i17)
)
- (set_local $i26
- (get_local $i14)
+ (block
+ (set_local $i27
+ (get_local $i25)
+ )
+ (set_local $i28
+ (get_local $i26)
+ )
+ (br $while-out$10)
+ )
+ (block
+ (set_local $i25
+ (get_local $i17)
+ )
+ (set_local $i26
+ (get_local $i14)
+ )
)
)
+ (br $while-in$11)
)
- (br $while-in$11)
)
(if
(i32.lt_u
@@ -1830,156 +1867,158 @@
(set_local $i8
(i32.const 0)
)
- (loop $while-out$17 $while-in$18
- (set_local $i16
- (i32.and
- (i32.load
- (i32.add
- (get_local $i17)
- (i32.const 4)
+ (loop $while-in$18
+ (block $while-out$17
+ (set_local $i16
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $i17)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
- )
- )
- (set_local $i9
- (i32.sub
- (get_local $i16)
- (get_local $i5)
)
- )
- (if
- (i32.lt_u
- (get_local $i9)
- (get_local $i12)
- )
- (if
- (i32.eq
+ (set_local $i9
+ (i32.sub
(get_local $i16)
(get_local $i5)
)
- (block
- (set_local $i37
- (get_local $i9)
- )
- (set_local $i38
- (get_local $i17)
+ )
+ (if
+ (i32.lt_u
+ (get_local $i9)
+ (get_local $i12)
+ )
+ (if
+ (i32.eq
+ (get_local $i16)
+ (get_local $i5)
)
- (set_local $i39
- (get_local $i17)
+ (block
+ (set_local $i37
+ (get_local $i9)
+ )
+ (set_local $i38
+ (get_local $i17)
+ )
+ (set_local $i39
+ (get_local $i17)
+ )
+ (set_local $i36
+ (i32.const 90)
+ )
+ (br $label$break$L123)
)
- (set_local $i36
- (i32.const 90)
+ (block
+ (set_local $i40
+ (get_local $i9)
+ )
+ (set_local $i41
+ (get_local $i17)
+ )
)
- (br $label$break$L123)
)
(block
(set_local $i40
- (get_local $i9)
+ (get_local $i12)
)
(set_local $i41
- (get_local $i17)
+ (get_local $i8)
)
)
)
- (block
- (set_local $i40
- (get_local $i12)
- )
- (set_local $i41
- (get_local $i8)
- )
- )
- )
- (set_local $i9
- (i32.load
- (i32.add
- (get_local $i17)
- (i32.const 20)
- )
- )
- )
- (set_local $i17
- (i32.load
- (i32.add
+ (set_local $i9
+ (i32.load
(i32.add
(get_local $i17)
- (i32.const 16)
+ (i32.const 20)
)
- (i32.shl
- (i32.shr_u
- (get_local $i7)
- (i32.const 31)
+ )
+ )
+ (set_local $i17
+ (i32.load
+ (i32.add
+ (i32.add
+ (get_local $i17)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $i7)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (set_local $i16
- (if
- (i32.or
- (i32.eq
- (get_local $i9)
- (i32.const 0)
- )
- (i32.eq
- (get_local $i9)
- (get_local $i17)
+ (set_local $i16
+ (if
+ (i32.or
+ (i32.eq
+ (get_local $i9)
+ (i32.const 0)
+ )
+ (i32.eq
+ (get_local $i9)
+ (get_local $i17)
+ )
)
+ (get_local $i10)
+ (get_local $i9)
)
- (get_local $i10)
- (get_local $i9)
)
- )
- (set_local $i9
- (i32.eq
- (get_local $i17)
- (i32.const 0)
- )
- )
- (if
- (get_local $i9)
- (block
- (set_local $i33
- (get_local $i40)
- )
- (set_local $i34
- (get_local $i16)
- )
- (set_local $i35
- (get_local $i41)
- )
- (set_local $i36
- (i32.const 86)
+ (set_local $i9
+ (i32.eq
+ (get_local $i17)
+ (i32.const 0)
)
- (br $while-out$17)
)
- (block
- (set_local $i12
- (get_local $i40)
- )
- (set_local $i10
- (get_local $i16)
+ (if
+ (get_local $i9)
+ (block
+ (set_local $i33
+ (get_local $i40)
+ )
+ (set_local $i34
+ (get_local $i16)
+ )
+ (set_local $i35
+ (get_local $i41)
+ )
+ (set_local $i36
+ (i32.const 86)
+ )
+ (br $while-out$17)
)
- (set_local $i7
- (i32.shl
- (get_local $i7)
- (i32.xor
- (i32.and
- (get_local $i9)
+ (block
+ (set_local $i12
+ (get_local $i40)
+ )
+ (set_local $i10
+ (get_local $i16)
+ )
+ (set_local $i7
+ (i32.shl
+ (get_local $i7)
+ (i32.xor
+ (i32.and
+ (get_local $i9)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
)
)
- )
- (set_local $i8
- (get_local $i41)
+ (set_local $i8
+ (get_local $i41)
+ )
)
)
+ (br $while-in$18)
)
- (br $while-in$18)
)
)
)
@@ -2180,104 +2219,106 @@
(get_local $i36)
(i32.const 90)
)
- (loop $while-out$19 $while-in$20
- (set_local $i36
- (i32.const 0)
- )
- (set_local $i8
- (i32.sub
- (i32.and
- (i32.load
- (i32.add
- (get_local $i38)
- (i32.const 4)
+ (loop $while-in$20
+ (block $while-out$19
+ (set_local $i36
+ (i32.const 0)
+ )
+ (set_local $i8
+ (i32.sub
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $i38)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $i5)
)
- (get_local $i5)
)
- )
- (set_local $i7
- (i32.lt_u
- (get_local $i8)
- (get_local $i37)
- )
- )
- (set_local $i3
- (if
- (get_local $i7)
- (get_local $i8)
- (get_local $i37)
- )
- )
- (set_local $i8
- (if
- (get_local $i7)
- (get_local $i38)
- (get_local $i39)
- )
- )
- (set_local $i7
- (i32.load
- (i32.add
- (get_local $i38)
- (i32.const 16)
+ (set_local $i7
+ (i32.lt_u
+ (get_local $i8)
+ (get_local $i37)
)
)
- )
- (if
- (get_local $i7)
- (block
- (set_local $i37
- (get_local $i3)
- )
- (set_local $i38
+ (set_local $i3
+ (if
(get_local $i7)
- )
- (set_local $i39
(get_local $i8)
+ (get_local $i37)
)
- (set_local $i36
- (i32.const 90)
- )
- (br $while-in$20)
)
- )
- (set_local $i38
- (i32.load
- (i32.add
+ (set_local $i8
+ (if
+ (get_local $i7)
(get_local $i38)
- (i32.const 20)
+ (get_local $i39)
)
)
- )
- (if
- (i32.eqz
- (get_local $i38)
+ (set_local $i7
+ (i32.load
+ (i32.add
+ (get_local $i38)
+ (i32.const 16)
+ )
+ )
)
- (block
- (set_local $i43
- (get_local $i3)
+ (if
+ (get_local $i7)
+ (block
+ (set_local $i37
+ (get_local $i3)
+ )
+ (set_local $i38
+ (get_local $i7)
+ )
+ (set_local $i39
+ (get_local $i8)
+ )
+ (set_local $i36
+ (i32.const 90)
+ )
+ (br $while-in$20)
)
- (set_local $i44
- (get_local $i8)
+ )
+ (set_local $i38
+ (i32.load
+ (i32.add
+ (get_local $i38)
+ (i32.const 20)
+ )
)
- (br $while-out$19)
)
- (block
- (set_local $i37
- (get_local $i3)
+ (if
+ (i32.eqz
+ (get_local $i38)
)
- (set_local $i39
- (get_local $i8)
+ (block
+ (set_local $i43
+ (get_local $i3)
+ )
+ (set_local $i44
+ (get_local $i8)
+ )
+ (br $while-out$19)
)
- (set_local $i36
- (i32.const 90)
+ (block
+ (set_local $i37
+ (get_local $i3)
+ )
+ (set_local $i39
+ (get_local $i8)
+ )
+ (set_local $i36
+ (i32.const 90)
+ )
)
)
+ (br $while-in$20)
)
- (br $while-in$20)
)
)
(if
@@ -2402,64 +2443,66 @@
)
)
)
- (loop $while-out$23 $while-in$24
- (set_local $i2
- (i32.add
- (get_local $i46)
- (i32.const 20)
- )
- )
- (set_local $i14
- (i32.load
- (get_local $i2)
- )
- )
- (if
- (get_local $i14)
- (block
- (set_local $i46
- (get_local $i14)
+ (loop $while-in$24
+ (block $while-out$23
+ (set_local $i2
+ (i32.add
+ (get_local $i46)
+ (i32.const 20)
)
- (set_local $i47
+ )
+ (set_local $i14
+ (i32.load
(get_local $i2)
)
- (br $while-in$24)
- )
- )
- (set_local $i2
- (i32.add
- (get_local $i46)
- (i32.const 16)
)
- )
- (set_local $i14
- (i32.load
- (get_local $i2)
- )
- )
- (if
- (i32.eqz
+ (if
(get_local $i14)
+ (block
+ (set_local $i46
+ (get_local $i14)
+ )
+ (set_local $i47
+ (get_local $i2)
+ )
+ (br $while-in$24)
+ )
)
- (block
- (set_local $i48
+ (set_local $i2
+ (i32.add
(get_local $i46)
+ (i32.const 16)
)
- (set_local $i49
- (get_local $i47)
+ )
+ (set_local $i14
+ (i32.load
+ (get_local $i2)
)
- (br $while-out$23)
)
- (block
- (set_local $i46
+ (if
+ (i32.eqz
(get_local $i14)
)
- (set_local $i47
- (get_local $i2)
+ (block
+ (set_local $i48
+ (get_local $i46)
+ )
+ (set_local $i49
+ (get_local $i47)
+ )
+ (br $while-out$23)
+ )
+ (block
+ (set_local $i46
+ (get_local $i14)
+ )
+ (set_local $i47
+ (get_local $i2)
+ )
)
)
+ (br $while-in$24)
)
- (br $while-in$24)
)
(if
(i32.lt_u
@@ -3110,79 +3153,81 @@
(get_local $i3)
)
)
- (loop $while-out$31 $while-in$32
- (if
- (i32.eq
- (i32.and
- (i32.load
- (i32.add
- (get_local $i7)
- (i32.const 4)
+ (loop $while-in$32
+ (block $while-out$31
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $i7)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $i43)
- )
- (block
- (set_local $i53
- (get_local $i7)
+ (get_local $i43)
)
- (set_local $i36
- (i32.const 148)
+ (block
+ (set_local $i53
+ (get_local $i7)
+ )
+ (set_local $i36
+ (i32.const 148)
+ )
+ (br $while-out$31)
)
- (br $while-out$31)
)
- )
- (set_local $i3
- (i32.add
+ (set_local $i3
(i32.add
- (get_local $i7)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $i4)
- (i32.const 31)
+ (i32.add
+ (get_local $i7)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $i4)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (set_local $i2
- (i32.load
- (get_local $i3)
- )
- )
- (if
- (i32.eqz
- (get_local $i2)
- )
- (block
- (set_local $i54
+ (set_local $i2
+ (i32.load
(get_local $i3)
)
- (set_local $i55
- (get_local $i7)
- )
- (set_local $i36
- (i32.const 145)
- )
- (br $while-out$31)
)
- (block
- (set_local $i4
- (i32.shl
- (get_local $i4)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $i2)
+ )
+ (block
+ (set_local $i54
+ (get_local $i3)
+ )
+ (set_local $i55
+ (get_local $i7)
)
+ (set_local $i36
+ (i32.const 145)
+ )
+ (br $while-out$31)
)
- (set_local $i7
- (get_local $i2)
+ (block
+ (set_local $i4
+ (i32.shl
+ (get_local $i4)
+ (i32.const 1)
+ )
+ )
+ (set_local $i7
+ (get_local $i2)
+ )
)
)
+ (br $while-in$32)
)
- (br $while-in$32)
)
(if
(i32.eq
@@ -3737,67 +3782,69 @@
(set_local $i50
(i32.const 624)
)
- (loop $while-out$37 $while-in$38
- (set_local $i51
- (i32.load
- (get_local $i50)
+ (loop $while-in$38
+ (block $while-out$37
+ (set_local $i51
+ (i32.load
+ (get_local $i50)
+ )
)
- )
- (if
(if
- (i32.le_u
- (get_local $i51)
- (get_local $i52)
- )
- (block
- (set_local $i45
- (i32.add
- (get_local $i50)
- (i32.const 4)
- )
+ (if
+ (i32.le_u
+ (get_local $i51)
+ (get_local $i52)
)
- (i32.gt_u
- (i32.add
- (get_local $i51)
- (i32.load
- (get_local $i45)
+ (block
+ (set_local $i45
+ (i32.add
+ (get_local $i50)
+ (i32.const 4)
)
)
- (get_local $i52)
+ (i32.gt_u
+ (i32.add
+ (get_local $i51)
+ (i32.load
+ (get_local $i45)
+ )
+ )
+ (get_local $i52)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $i56
- (get_local $i50)
+ (block
+ (set_local $i56
+ (get_local $i50)
+ )
+ (set_local $i57
+ (get_local $i45)
+ )
+ (br $while-out$37)
)
- (set_local $i57
- (get_local $i45)
+ )
+ (set_local $i50
+ (i32.load
+ (i32.add
+ (get_local $i50)
+ (i32.const 8)
+ )
)
- (br $while-out$37)
)
- )
- (set_local $i50
- (i32.load
- (i32.add
+ (if
+ (i32.eqz
(get_local $i50)
- (i32.const 8)
)
- )
- )
- (if
- (i32.eqz
- (get_local $i50)
- )
- (block
- (set_local $i36
- (i32.const 173)
+ (block
+ (set_local $i36
+ (i32.const 173)
+ )
+ (br $label$break$L259)
)
- (br $label$break$L259)
)
+ (br $while-in$38)
)
- (br $while-in$38)
)
(set_local $i50
(i32.and
@@ -4092,8 +4139,10 @@
(i32.const -1)
)
(block
- (call_import $_sbrk
- (get_local $i45)
+ (drop
+ (call_import $_sbrk
+ (get_local $i45)
+ )
)
(br $label$break$L279)
)
@@ -4268,64 +4317,66 @@
(set_local $i63
(i32.const 624)
)
- (loop $do-out$46 $do-in$47
- (set_local $i43
- (i32.load
- (get_local $i63)
- )
- )
- (set_local $i61
- (i32.add
- (get_local $i63)
- (i32.const 4)
- )
- )
- (set_local $i44
- (i32.load
- (get_local $i61)
+ (loop $do-in$47
+ (block $do-out$46
+ (set_local $i43
+ (i32.load
+ (get_local $i63)
+ )
)
- )
- (if
- (i32.eq
- (get_local $i58)
+ (set_local $i61
(i32.add
- (get_local $i43)
- (get_local $i44)
+ (get_local $i63)
+ (i32.const 4)
)
)
- (block
- (set_local $i64
- (get_local $i43)
- )
- (set_local $i65
+ (set_local $i44
+ (i32.load
(get_local $i61)
)
- (set_local $i66
- (get_local $i44)
+ )
+ (if
+ (i32.eq
+ (get_local $i58)
+ (i32.add
+ (get_local $i43)
+ (get_local $i44)
+ )
)
- (set_local $i67
- (get_local $i63)
+ (block
+ (set_local $i64
+ (get_local $i43)
+ )
+ (set_local $i65
+ (get_local $i61)
+ )
+ (set_local $i66
+ (get_local $i44)
+ )
+ (set_local $i67
+ (get_local $i63)
+ )
+ (set_local $i36
+ (i32.const 203)
+ )
+ (br $do-out$46)
)
- (set_local $i36
- (i32.const 203)
+ )
+ (set_local $i63
+ (i32.load
+ (i32.add
+ (get_local $i63)
+ (i32.const 8)
+ )
)
- (br $do-out$46)
)
- )
- (set_local $i63
- (i32.load
- (i32.add
+ (br_if $do-in$47
+ (i32.ne
(get_local $i63)
- (i32.const 8)
+ (i32.const 0)
)
)
)
- (br_if $do-in$47
- (i32.ne
- (get_local $i63)
- (i32.const 0)
- )
- )
)
(if
(if
@@ -4479,47 +4530,49 @@
(set_local $i63
(i32.const 624)
)
- (loop $while-out$48 $while-in$49
- (if
- (i32.eq
- (i32.load
- (get_local $i63)
- )
- (get_local $i61)
- )
- (block
- (set_local $i69
- (get_local $i63)
+ (loop $while-in$49
+ (block $while-out$48
+ (if
+ (i32.eq
+ (i32.load
+ (get_local $i63)
+ )
+ (get_local $i61)
)
- (set_local $i70
- (get_local $i63)
+ (block
+ (set_local $i69
+ (get_local $i63)
+ )
+ (set_local $i70
+ (get_local $i63)
+ )
+ (set_local $i36
+ (i32.const 211)
+ )
+ (br $while-out$48)
)
- (set_local $i36
- (i32.const 211)
+ )
+ (set_local $i63
+ (i32.load
+ (i32.add
+ (get_local $i63)
+ (i32.const 8)
+ )
)
- (br $while-out$48)
)
- )
- (set_local $i63
- (i32.load
- (i32.add
+ (if
+ (i32.eqz
(get_local $i63)
- (i32.const 8)
)
- )
- )
- (if
- (i32.eqz
- (get_local $i63)
- )
- (block
- (set_local $i71
- (i32.const 624)
+ (block
+ (set_local $i71
+ (i32.const 624)
+ )
+ (br $while-out$48)
)
- (br $while-out$48)
)
+ (br $while-in$49)
)
- (br $while-in$49)
)
(if
(i32.eq
@@ -4805,64 +4858,66 @@
)
)
)
- (loop $while-out$55 $while-in$56
- (set_local $i5
- (i32.add
- (get_local $i73)
- (i32.const 20)
- )
- )
- (set_local $i52
- (i32.load
- (get_local $i5)
- )
- )
- (if
- (get_local $i52)
- (block
- (set_local $i73
- (get_local $i52)
+ (loop $while-in$56
+ (block $while-out$55
+ (set_local $i5
+ (i32.add
+ (get_local $i73)
+ (i32.const 20)
)
- (set_local $i74
+ )
+ (set_local $i52
+ (i32.load
(get_local $i5)
)
- (br $while-in$56)
- )
- )
- (set_local $i5
- (i32.add
- (get_local $i73)
- (i32.const 16)
- )
- )
- (set_local $i52
- (i32.load
- (get_local $i5)
)
- )
- (if
- (i32.eqz
+ (if
(get_local $i52)
+ (block
+ (set_local $i73
+ (get_local $i52)
+ )
+ (set_local $i74
+ (get_local $i5)
+ )
+ (br $while-in$56)
+ )
)
- (block
- (set_local $i75
+ (set_local $i5
+ (i32.add
(get_local $i73)
+ (i32.const 16)
)
- (set_local $i76
- (get_local $i74)
+ )
+ (set_local $i52
+ (i32.load
+ (get_local $i5)
)
- (br $while-out$55)
)
- (block
- (set_local $i73
+ (if
+ (i32.eqz
(get_local $i52)
)
- (set_local $i74
- (get_local $i5)
+ (block
+ (set_local $i75
+ (get_local $i73)
+ )
+ (set_local $i76
+ (get_local $i74)
+ )
+ (br $while-out$55)
+ )
+ (block
+ (set_local $i73
+ (get_local $i52)
+ )
+ (set_local $i74
+ (get_local $i5)
+ )
)
)
+ (br $while-in$56)
)
- (br $while-in$56)
)
(if
(i32.lt_u
@@ -5691,79 +5746,81 @@
(get_local $i5)
)
)
- (loop $while-out$69 $while-in$70
- (if
- (i32.eq
- (i32.and
- (i32.load
- (i32.add
- (get_local $i62)
- (i32.const 4)
+ (loop $while-in$70
+ (block $while-out$69
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $i62)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $i79)
)
- (get_local $i79)
- )
- (block
- (set_local $i83
- (get_local $i62)
- )
- (set_local $i36
- (i32.const 281)
+ (block
+ (set_local $i83
+ (get_local $i62)
+ )
+ (set_local $i36
+ (i32.const 281)
+ )
+ (br $while-out$69)
)
- (br $while-out$69)
)
- )
- (set_local $i5
- (i32.add
+ (set_local $i5
(i32.add
- (get_local $i62)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $i50)
- (i32.const 31)
+ (i32.add
+ (get_local $i62)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $i50)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (set_local $i57
- (i32.load
- (get_local $i5)
- )
- )
- (if
- (i32.eqz
- (get_local $i57)
- )
- (block
- (set_local $i84
+ (set_local $i57
+ (i32.load
(get_local $i5)
)
- (set_local $i85
- (get_local $i62)
- )
- (set_local $i36
- (i32.const 278)
- )
- (br $while-out$69)
)
- (block
- (set_local $i50
- (i32.shl
- (get_local $i50)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $i57)
+ )
+ (block
+ (set_local $i84
+ (get_local $i5)
+ )
+ (set_local $i85
+ (get_local $i62)
+ )
+ (set_local $i36
+ (i32.const 278)
)
+ (br $while-out$69)
)
- (set_local $i62
- (get_local $i57)
+ (block
+ (set_local $i50
+ (i32.shl
+ (get_local $i50)
+ (i32.const 1)
+ )
+ )
+ (set_local $i62
+ (get_local $i57)
+ )
)
)
+ (br $while-in$70)
)
- (br $while-in$70)
)
(if
(i32.eq
@@ -5926,53 +5983,55 @@
)
)
)
- (loop $while-out$71 $while-in$72
- (set_local $i63
- (i32.load
- (get_local $i71)
+ (loop $while-in$72
+ (block $while-out$71
+ (set_local $i63
+ (i32.load
+ (get_local $i71)
+ )
)
- )
- (if
(if
- (i32.le_u
- (get_local $i63)
- (get_local $i60)
- )
- (block
- (set_local $i53
- (i32.add
- (get_local $i63)
- (i32.load
- (i32.add
- (get_local $i71)
- (i32.const 4)
+ (if
+ (i32.le_u
+ (get_local $i63)
+ (get_local $i60)
+ )
+ (block
+ (set_local $i53
+ (i32.add
+ (get_local $i63)
+ (i32.load
+ (i32.add
+ (get_local $i71)
+ (i32.const 4)
+ )
)
)
)
+ (i32.gt_u
+ (get_local $i53)
+ (get_local $i60)
+ )
)
- (i32.gt_u
+ (i32.const 0)
+ )
+ (block
+ (set_local $i86
(get_local $i53)
- (get_local $i60)
)
+ (br $while-out$71)
)
- (i32.const 0)
- )
- (block
- (set_local $i86
- (get_local $i53)
- )
- (br $while-out$71)
)
- )
- (set_local $i71
- (i32.load
- (i32.add
- (get_local $i71)
- (i32.const 8)
+ (set_local $i71
+ (i32.load
+ (i32.add
+ (get_local $i71)
+ (i32.const 8)
+ )
)
)
+ (br $while-in$72)
)
- (br $while-in$72)
)
(set_local $i44
(i32.add
@@ -6169,24 +6228,26 @@
(i32.const 24)
)
)
- (loop $do-out$73 $do-in$74
- (set_local $i63
- (i32.add
- (get_local $i63)
- (i32.const 4)
- )
- )
- (i32.store
- (get_local $i63)
- (i32.const 7)
- )
- (br_if $do-in$74
- (i32.lt_u
+ (loop $do-in$74
+ (block $do-out$73
+ (set_local $i63
(i32.add
(get_local $i63)
(i32.const 4)
)
- (get_local $i86)
+ )
+ (i32.store
+ (get_local $i63)
+ (i32.const 7)
+ )
+ (br_if $do-in$74
+ (i32.lt_u
+ (i32.add
+ (get_local $i63)
+ (i32.const 4)
+ )
+ (get_local $i86)
+ )
)
)
)
@@ -6557,79 +6618,81 @@
(get_local $i43)
)
)
- (loop $while-out$75 $while-in$76
- (if
- (i32.eq
- (i32.and
- (i32.load
- (i32.add
- (get_local $i62)
- (i32.const 4)
+ (loop $while-in$76
+ (block $while-out$75
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $i62)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $i63)
- )
- (block
- (set_local $i90
- (get_local $i62)
+ (get_local $i63)
)
- (set_local $i36
- (i32.const 307)
+ (block
+ (set_local $i90
+ (get_local $i62)
+ )
+ (set_local $i36
+ (i32.const 307)
+ )
+ (br $while-out$75)
)
- (br $while-out$75)
)
- )
- (set_local $i43
- (i32.add
+ (set_local $i43
(i32.add
- (get_local $i62)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $i5)
- (i32.const 31)
+ (i32.add
+ (get_local $i62)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $i5)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (set_local $i57
- (i32.load
- (get_local $i43)
- )
- )
- (if
- (i32.eqz
- (get_local $i57)
- )
- (block
- (set_local $i91
+ (set_local $i57
+ (i32.load
(get_local $i43)
)
- (set_local $i92
- (get_local $i62)
- )
- (set_local $i36
- (i32.const 304)
- )
- (br $while-out$75)
)
- (block
- (set_local $i5
- (i32.shl
- (get_local $i5)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $i57)
+ )
+ (block
+ (set_local $i91
+ (get_local $i43)
+ )
+ (set_local $i92
+ (get_local $i62)
+ )
+ (set_local $i36
+ (i32.const 304)
)
+ (br $while-out$75)
)
- (set_local $i62
- (get_local $i57)
+ (block
+ (set_local $i5
+ (i32.shl
+ (get_local $i5)
+ (i32.const 1)
+ )
+ )
+ (set_local $i62
+ (get_local $i57)
+ )
)
)
+ (br $while-in$76)
)
- (br $while-in$76)
)
(if
(i32.eq
@@ -6796,43 +6859,45 @@
(set_local $i5
(i32.const 0)
)
- (loop $do-out$77 $do-in$78
- (set_local $i62
- (i32.add
- (i32.const 216)
- (i32.shl
+ (loop $do-in$78
+ (block $do-out$77
+ (set_local $i62
+ (i32.add
+ (i32.const 216)
(i32.shl
- (get_local $i5)
- (i32.const 1)
+ (i32.shl
+ (get_local $i5)
+ (i32.const 1)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (i32.store
- (i32.add
+ (i32.store
+ (i32.add
+ (get_local $i62)
+ (i32.const 12)
+ )
(get_local $i62)
- (i32.const 12)
)
- (get_local $i62)
- )
- (i32.store
- (i32.add
+ (i32.store
+ (i32.add
+ (get_local $i62)
+ (i32.const 8)
+ )
(get_local $i62)
- (i32.const 8)
)
- (get_local $i62)
- )
- (set_local $i5
- (i32.add
- (get_local $i5)
- (i32.const 1)
+ (set_local $i5
+ (i32.add
+ (get_local $i5)
+ (i32.const 1)
+ )
)
- )
- (br_if $do-in$78
- (i32.ne
- (get_local $i5)
- (i32.const 32)
+ (br_if $do-in$78
+ (i32.ne
+ (get_local $i5)
+ (i32.const 32)
+ )
)
)
)
@@ -7432,64 +7497,66 @@
)
)
)
- (loop $while-out$4 $while-in$5
- (set_local $i11
- (i32.add
- (get_local $i19)
- (i32.const 20)
- )
- )
- (set_local $i16
- (i32.load
- (get_local $i11)
- )
- )
- (if
- (get_local $i16)
- (block
- (set_local $i19
- (get_local $i16)
+ (loop $while-in$5
+ (block $while-out$4
+ (set_local $i11
+ (i32.add
+ (get_local $i19)
+ (i32.const 20)
)
- (set_local $i20
+ )
+ (set_local $i16
+ (i32.load
(get_local $i11)
)
- (br $while-in$5)
)
- )
- (set_local $i11
- (i32.add
- (get_local $i19)
- (i32.const 16)
- )
- )
- (set_local $i16
- (i32.load
- (get_local $i11)
- )
- )
- (if
- (i32.eqz
+ (if
(get_local $i16)
+ (block
+ (set_local $i19
+ (get_local $i16)
+ )
+ (set_local $i20
+ (get_local $i11)
+ )
+ (br $while-in$5)
+ )
)
- (block
- (set_local $i21
+ (set_local $i11
+ (i32.add
(get_local $i19)
+ (i32.const 16)
)
- (set_local $i22
- (get_local $i20)
+ )
+ (set_local $i16
+ (i32.load
+ (get_local $i11)
)
- (br $while-out$4)
)
- (block
- (set_local $i19
+ (if
+ (i32.eqz
(get_local $i16)
)
- (set_local $i20
- (get_local $i11)
+ (block
+ (set_local $i21
+ (get_local $i19)
+ )
+ (set_local $i22
+ (get_local $i20)
+ )
+ (br $while-out$4)
+ )
+ (block
+ (set_local $i19
+ (get_local $i16)
+ )
+ (set_local $i20
+ (get_local $i11)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(if
(i32.lt_u
@@ -8050,64 +8117,66 @@
)
)
)
- (loop $while-out$12 $while-in$13
- (set_local $i19
- (i32.add
- (get_local $i24)
- (i32.const 20)
- )
- )
- (set_local $i15
- (i32.load
- (get_local $i19)
- )
- )
- (if
- (get_local $i15)
- (block
- (set_local $i24
- (get_local $i15)
+ (loop $while-in$13
+ (block $while-out$12
+ (set_local $i19
+ (i32.add
+ (get_local $i24)
+ (i32.const 20)
)
- (set_local $i25
+ )
+ (set_local $i15
+ (i32.load
(get_local $i19)
)
- (br $while-in$13)
- )
- )
- (set_local $i19
- (i32.add
- (get_local $i24)
- (i32.const 16)
)
- )
- (set_local $i15
- (i32.load
- (get_local $i19)
- )
- )
- (if
- (i32.eqz
+ (if
(get_local $i15)
+ (block
+ (set_local $i24
+ (get_local $i15)
+ )
+ (set_local $i25
+ (get_local $i19)
+ )
+ (br $while-in$13)
+ )
)
- (block
- (set_local $i26
+ (set_local $i19
+ (i32.add
(get_local $i24)
+ (i32.const 16)
)
- (set_local $i27
- (get_local $i25)
+ )
+ (set_local $i15
+ (i32.load
+ (get_local $i19)
)
- (br $while-out$12)
)
- (block
- (set_local $i24
+ (if
+ (i32.eqz
(get_local $i15)
)
- (set_local $i25
- (get_local $i19)
+ (block
+ (set_local $i26
+ (get_local $i24)
+ )
+ (set_local $i27
+ (get_local $i25)
+ )
+ (br $while-out$12)
+ )
+ (block
+ (set_local $i24
+ (get_local $i15)
+ )
+ (set_local $i25
+ (get_local $i19)
+ )
)
)
+ (br $while-in$13)
)
- (br $while-in$13)
)
(if
(i32.lt_u
@@ -8894,79 +8963,81 @@
(get_local $i5)
)
)
- (loop $while-out$18 $while-in$19
- (if
- (i32.eq
- (i32.and
- (i32.load
- (i32.add
- (get_local $i2)
- (i32.const 4)
+ (loop $while-in$19
+ (block $while-out$18
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $i2)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $i29)
- )
- (block
- (set_local $i33
- (get_local $i2)
+ (get_local $i29)
)
- (set_local $i34
- (i32.const 130)
+ (block
+ (set_local $i33
+ (get_local $i2)
+ )
+ (set_local $i34
+ (i32.const 130)
+ )
+ (br $while-out$18)
)
- (br $while-out$18)
)
- )
- (set_local $i28
- (i32.add
+ (set_local $i28
(i32.add
- (get_local $i2)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $i31)
- (i32.const 31)
+ (i32.add
+ (get_local $i2)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $i31)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (set_local $i13
- (i32.load
- (get_local $i28)
- )
- )
- (if
- (i32.eqz
- (get_local $i13)
- )
- (block
- (set_local $i35
+ (set_local $i13
+ (i32.load
(get_local $i28)
)
- (set_local $i36
- (get_local $i2)
- )
- (set_local $i34
- (i32.const 127)
- )
- (br $while-out$18)
)
- (block
- (set_local $i31
- (i32.shl
- (get_local $i31)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $i13)
+ )
+ (block
+ (set_local $i35
+ (get_local $i28)
+ )
+ (set_local $i36
+ (get_local $i2)
)
+ (set_local $i34
+ (i32.const 127)
+ )
+ (br $while-out$18)
)
- (set_local $i2
- (get_local $i13)
+ (block
+ (set_local $i31
+ (i32.shl
+ (get_local $i31)
+ (i32.const 1)
+ )
+ )
+ (set_local $i2
+ (get_local $i13)
+ )
)
)
+ (br $while-in$19)
)
- (br $while-in$19)
)
(if
(i32.eq
@@ -9141,25 +9212,27 @@
)
(return)
)
- (loop $while-out$20 $while-in$21
- (set_local $i12
- (i32.load
- (get_local $i37)
- )
- )
- (if
- (i32.eqz
- (get_local $i12)
+ (loop $while-in$21
+ (block $while-out$20
+ (set_local $i12
+ (i32.load
+ (get_local $i37)
+ )
)
- (br $while-out$20)
- (set_local $i37
- (i32.add
+ (if
+ (i32.eqz
(get_local $i12)
- (i32.const 8)
+ )
+ (br $while-out$20)
+ (set_local $i37
+ (i32.add
+ (get_local $i12)
+ (i32.const 8)
+ )
)
)
+ (br $while-in$21)
)
- (br $while-in$21)
)
(i32.store
(i32.const 208)
@@ -9190,16 +9263,11 @@
(local $i23 i32)
(local $i24 i32)
(set_local $i4
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 48)
)
)
@@ -9292,247 +9360,249 @@
(get_local $i3)
)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.load
- (i32.const 8)
- )
- )
- (block
- (i32.store
- (get_local $i5)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eqz
(i32.load
- (get_local $i2)
+ (i32.const 8)
)
)
- (i32.store
- (i32.add
+ (block
+ (i32.store
(get_local $i5)
- (i32.const 4)
+ (i32.load
+ (get_local $i2)
+ )
)
- (get_local $i12)
- )
- (i32.store
- (i32.add
- (get_local $i5)
- (i32.const 8)
+ (i32.store
+ (i32.add
+ (get_local $i5)
+ (i32.const 4)
+ )
+ (get_local $i12)
)
- (get_local $i7)
- )
- (set_local $i14
- (call $___syscall_ret
- (call_import $___syscall146
- (i32.const 146)
+ (i32.store
+ (i32.add
(get_local $i5)
+ (i32.const 8)
)
+ (get_local $i7)
)
- )
- )
- (block
- (call_import $_pthread_cleanup_push
- (i32.const 4)
- (get_local $i1)
- )
- (i32.store
- (get_local $i6)
- (i32.load
- (get_local $i2)
+ (set_local $i14
+ (call $___syscall_ret
+ (call_import $___syscall146
+ (i32.const 146)
+ (get_local $i5)
+ )
+ )
)
)
- (i32.store
- (i32.add
- (get_local $i6)
+ (block
+ (call_import $_pthread_cleanup_push
(i32.const 4)
+ (get_local $i1)
)
- (get_local $i12)
- )
- (i32.store
- (i32.add
+ (i32.store
(get_local $i6)
- (i32.const 8)
+ (i32.load
+ (get_local $i2)
+ )
)
- (get_local $i7)
- )
- (set_local $i11
- (call $___syscall_ret
- (call_import $___syscall146
- (i32.const 146)
+ (i32.store
+ (i32.add
(get_local $i6)
+ (i32.const 4)
)
+ (get_local $i12)
+ )
+ (i32.store
+ (i32.add
+ (get_local $i6)
+ (i32.const 8)
+ )
+ (get_local $i7)
+ )
+ (set_local $i11
+ (call $___syscall_ret
+ (call_import $___syscall146
+ (i32.const 146)
+ (get_local $i6)
+ )
+ )
+ )
+ (call_import $_pthread_cleanup_pop
+ (i32.const 0)
+ )
+ (set_local $i14
+ (get_local $i11)
)
)
- (call_import $_pthread_cleanup_pop
- (i32.const 0)
- )
- (set_local $i14
- (get_local $i11)
- )
- )
- )
- (if
- (i32.eq
- (get_local $i13)
- (get_local $i14)
)
- (block
- (set_local $i15
- (i32.const 6)
+ (if
+ (i32.eq
+ (get_local $i13)
+ (get_local $i14)
)
- (br $while-out$0)
- )
- )
- (if
- (i32.lt_s
- (get_local $i14)
- (i32.const 0)
- )
- (block
- (set_local $i16
- (get_local $i12)
+ (block
+ (set_local $i15
+ (i32.const 6)
+ )
+ (br $while-out$0)
)
- (set_local $i17
- (get_local $i7)
+ )
+ (if
+ (i32.lt_s
+ (get_local $i14)
+ (i32.const 0)
)
- (set_local $i15
- (i32.const 8)
+ (block
+ (set_local $i16
+ (get_local $i12)
+ )
+ (set_local $i17
+ (get_local $i7)
+ )
+ (set_local $i15
+ (i32.const 8)
+ )
+ (br $while-out$0)
)
- (br $while-out$0)
)
- )
- (set_local $i11
- (i32.sub
- (get_local $i13)
- (get_local $i14)
- )
- )
- (set_local $i18
- (i32.load
- (i32.add
- (get_local $i12)
- (i32.const 4)
+ (set_local $i11
+ (i32.sub
+ (get_local $i13)
+ (get_local $i14)
)
)
- )
- (if
- (i32.le_u
- (get_local $i14)
- (get_local $i18)
+ (set_local $i18
+ (i32.load
+ (i32.add
+ (get_local $i12)
+ (i32.const 4)
+ )
+ )
)
(if
- (i32.eq
- (get_local $i7)
- (i32.const 2)
+ (i32.le_u
+ (get_local $i14)
+ (get_local $i18)
)
- (block
- (i32.store
- (get_local $i8)
- (i32.add
- (i32.load
- (get_local $i8)
+ (if
+ (i32.eq
+ (get_local $i7)
+ (i32.const 2)
+ )
+ (block
+ (i32.store
+ (get_local $i8)
+ (i32.add
+ (i32.load
+ (get_local $i8)
+ )
+ (get_local $i14)
)
+ )
+ (set_local $i19
+ (get_local $i18)
+ )
+ (set_local $i20
(get_local $i14)
)
+ (set_local $i21
+ (get_local $i12)
+ )
+ (set_local $i22
+ (i32.const 2)
+ )
)
- (set_local $i19
- (get_local $i18)
+ (block
+ (set_local $i19
+ (get_local $i18)
+ )
+ (set_local $i20
+ (get_local $i14)
+ )
+ (set_local $i21
+ (get_local $i12)
+ )
+ (set_local $i22
+ (get_local $i7)
+ )
)
- (set_local $i20
- (get_local $i14)
+ )
+ (block
+ (set_local $i23
+ (i32.load
+ (get_local $i9)
+ )
)
- (set_local $i21
- (get_local $i12)
+ (i32.store
+ (get_local $i8)
+ (get_local $i23)
)
- (set_local $i22
- (i32.const 2)
+ (i32.store
+ (get_local $i10)
+ (get_local $i23)
)
- )
- (block
(set_local $i19
- (get_local $i18)
+ (i32.load
+ (i32.add
+ (get_local $i12)
+ (i32.const 12)
+ )
+ )
)
(set_local $i20
- (get_local $i14)
+ (i32.sub
+ (get_local $i14)
+ (get_local $i18)
+ )
)
(set_local $i21
- (get_local $i12)
- )
- (set_local $i22
- (get_local $i7)
- )
- )
- )
- (block
- (set_local $i23
- (i32.load
- (get_local $i9)
- )
- )
- (i32.store
- (get_local $i8)
- (get_local $i23)
- )
- (i32.store
- (get_local $i10)
- (get_local $i23)
- )
- (set_local $i19
- (i32.load
(i32.add
(get_local $i12)
- (i32.const 12)
+ (i32.const 8)
)
)
- )
- (set_local $i20
- (i32.sub
- (get_local $i14)
- (get_local $i18)
- )
- )
- (set_local $i21
- (i32.add
- (get_local $i12)
- (i32.const 8)
+ (set_local $i22
+ (i32.add
+ (get_local $i7)
+ (i32.const -1)
+ )
)
)
- (set_local $i22
- (i32.add
- (get_local $i7)
- (i32.const -1)
+ )
+ (i32.store
+ (get_local $i21)
+ (i32.add
+ (i32.load
+ (get_local $i21)
)
+ (get_local $i20)
)
)
- )
- (i32.store
- (get_local $i21)
- (i32.add
- (i32.load
+ (i32.store
+ (i32.add
(get_local $i21)
+ (i32.const 4)
+ )
+ (i32.sub
+ (get_local $i19)
+ (get_local $i20)
)
- (get_local $i20)
)
- )
- (i32.store
- (i32.add
+ (set_local $i12
(get_local $i21)
- (i32.const 4)
)
- (i32.sub
- (get_local $i19)
- (get_local $i20)
+ (set_local $i7
+ (get_local $i22)
)
+ (set_local $i13
+ (get_local $i11)
+ )
+ (br $while-in$1)
)
- (set_local $i12
- (get_local $i21)
- )
- (set_local $i7
- (get_local $i22)
- )
- (set_local $i13
- (get_local $i11)
- )
- (br $while-in$1)
)
(if
(i32.eq
@@ -9628,8 +9698,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $i4)
)
(return
@@ -9725,6 +9794,9 @@
(block
(set_local $i8
(call_indirect $FUNCSIG$iiii
+ (get_local $i3)
+ (get_local $i1)
+ (get_local $i2)
(i32.add
(i32.and
(i32.load
@@ -9737,9 +9809,6 @@
)
(i32.const 2)
)
- (get_local $i3)
- (get_local $i1)
- (get_local $i2)
)
)
(br $label$break$L5)
@@ -9760,58 +9829,63 @@
(set_local $i4
(get_local $i2)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (get_local $i4)
- )
- (block
- (set_local $i10
- (get_local $i2)
- )
- (set_local $i11
- (get_local $i1)
- )
- (set_local $i12
- (get_local $i9)
- )
- (set_local $i13
- (i32.const 0)
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (get_local $i4)
)
- (br $label$break$L10)
- )
- )
- (set_local $i14
- (i32.add
- (get_local $i4)
- (i32.const -1)
- )
- )
- (if
- (i32.eq
- (i32.load8_s
- (i32.add
+ (block
+ (set_local $i10
+ (get_local $i2)
+ )
+ (set_local $i11
(get_local $i1)
- (get_local $i14)
)
+ (set_local $i12
+ (get_local $i9)
+ )
+ (set_local $i13
+ (i32.const 0)
+ )
+ (br $label$break$L10)
)
- (i32.const 10)
)
- (block
- (set_local $i15
+ (set_local $i14
+ (i32.add
(get_local $i4)
+ (i32.const -1)
)
- (br $while-out$2)
)
- (set_local $i4
- (get_local $i14)
+ (if
+ (i32.eq
+ (i32.load8_s
+ (i32.add
+ (get_local $i1)
+ (get_local $i14)
+ )
+ )
+ (i32.const 10)
+ )
+ (block
+ (set_local $i15
+ (get_local $i4)
+ )
+ (br $while-out$2)
+ )
+ (set_local $i4
+ (get_local $i14)
+ )
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
(if
(i32.lt_u
(call_indirect $FUNCSIG$iiii
+ (get_local $i3)
+ (get_local $i1)
+ (get_local $i15)
(i32.add
(i32.and
(i32.load
@@ -9824,9 +9898,6 @@
)
(i32.const 2)
)
- (get_local $i3)
- (get_local $i1)
- (get_local $i15)
)
(get_local $i15)
)
@@ -9874,10 +9945,12 @@
)
)
)
- (call $_memcpy
- (get_local $i12)
- (get_local $i11)
- (get_local $i10)
+ (drop
+ (call $_memcpy
+ (get_local $i12)
+ (get_local $i11)
+ (get_local $i10)
+ )
)
(i32.store
(get_local $i5)
@@ -10000,82 +10073,84 @@
(set_local $i4
(get_local $i5)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.gt_s
- (i32.load
- (i32.add
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.gt_s
+ (i32.load
+ (i32.add
+ (get_local $i3)
+ (i32.const 76)
+ )
+ )
+ (i32.const -1)
+ )
+ (set_local $i7
+ (call $___lockfile
(get_local $i3)
- (i32.const 76)
)
)
- (i32.const -1)
- )
- (set_local $i7
- (call $___lockfile
- (get_local $i3)
+ (set_local $i7
+ (i32.const 0)
)
)
- (set_local $i7
- (i32.const 0)
- )
- )
- (if
- (i32.gt_u
- (i32.load
- (i32.add
- (get_local $i3)
- (i32.const 20)
+ (if
+ (i32.gt_u
+ (i32.load
+ (i32.add
+ (get_local $i3)
+ (i32.const 20)
+ )
)
- )
- (i32.load
- (i32.add
- (get_local $i3)
- (i32.const 28)
+ (i32.load
+ (i32.add
+ (get_local $i3)
+ (i32.const 28)
+ )
)
)
- )
- (set_local $i8
- (i32.or
- (call $___fflush_unlocked
- (get_local $i3)
+ (set_local $i8
+ (i32.or
+ (call $___fflush_unlocked
+ (get_local $i3)
+ )
+ (get_local $i4)
)
+ )
+ (set_local $i8
(get_local $i4)
)
)
- (set_local $i8
- (get_local $i4)
- )
- )
- (if
- (get_local $i7)
- (call $___unlockfile
- (get_local $i3)
- )
- )
- (set_local $i3
- (i32.load
- (i32.add
+ (if
+ (get_local $i7)
+ (call $___unlockfile
(get_local $i3)
- (i32.const 56)
)
)
- )
- (if
- (i32.eqz
- (get_local $i3)
+ (set_local $i3
+ (i32.load
+ (i32.add
+ (get_local $i3)
+ (i32.const 56)
+ )
+ )
)
- (block
- (set_local $i6
+ (if
+ (i32.eqz
+ (get_local $i3)
+ )
+ (block
+ (set_local $i6
+ (get_local $i8)
+ )
+ (br $while-out$2)
+ )
+ (set_local $i4
(get_local $i8)
)
- (br $while-out$2)
- )
- (set_local $i4
- (get_local $i8)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
@@ -10129,50 +10204,52 @@
(set_local $i6
(get_local $i2)
)
- (loop $while-out$1 $while-in$2
- (if
- (i32.eqz
- (i32.load8_s
- (get_local $i5)
+ (loop $while-in$2
+ (block $while-out$1
+ (if
+ (i32.eqz
+ (i32.load8_s
+ (get_local $i5)
+ )
+ )
+ (block
+ (set_local $i7
+ (get_local $i6)
+ )
+ (br $label$break$L1)
)
)
- (block
- (set_local $i7
- (get_local $i6)
+ (set_local $i8
+ (i32.add
+ (get_local $i5)
+ (i32.const 1)
)
- (br $label$break$L1)
)
- )
- (set_local $i8
- (i32.add
- (get_local $i5)
- (i32.const 1)
+ (set_local $i6
+ (get_local $i8)
)
- )
- (set_local $i6
- (get_local $i8)
- )
- (if
- (i32.eqz
- (i32.and
- (get_local $i6)
- (i32.const 3)
+ (if
+ (i32.eqz
+ (i32.and
+ (get_local $i6)
+ (i32.const 3)
+ )
)
- )
- (block
- (set_local $i3
- (get_local $i8)
+ (block
+ (set_local $i3
+ (get_local $i8)
+ )
+ (set_local $i4
+ (i32.const 4)
+ )
+ (br $while-out$1)
)
- (set_local $i4
- (i32.const 4)
+ (set_local $i5
+ (get_local $i8)
)
- (br $while-out$1)
- )
- (set_local $i5
- (get_local $i8)
)
+ (br $while-in$2)
)
- (br $while-in$2)
)
)
)
@@ -10186,45 +10263,47 @@
(set_local $i4
(get_local $i3)
)
- (loop $while-out$3 $while-in$4
- (set_local $i3
- (i32.load
- (get_local $i4)
+ (loop $while-in$4
+ (block $while-out$3
+ (set_local $i3
+ (i32.load
+ (get_local $i4)
+ )
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.xor
- (i32.and
- (get_local $i3)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.xor
+ (i32.and
+ (get_local $i3)
+ (i32.const -2139062144)
+ )
(i32.const -2139062144)
)
- (i32.const -2139062144)
+ (i32.add
+ (get_local $i3)
+ (i32.const -16843009)
+ )
)
+ )
+ (set_local $i4
(i32.add
- (get_local $i3)
- (i32.const -16843009)
+ (get_local $i4)
+ (i32.const 4)
)
)
- )
- (set_local $i4
- (i32.add
- (get_local $i4)
- (i32.const 4)
- )
- )
- (block
- (set_local $i9
- (get_local $i3)
- )
- (set_local $i10
- (get_local $i4)
+ (block
+ (set_local $i9
+ (get_local $i3)
+ )
+ (set_local $i10
+ (get_local $i4)
+ )
+ (br $while-out$3)
)
- (br $while-out$3)
)
+ (br $while-in$4)
)
- (br $while-in$4)
)
(if
(i32.eqz
@@ -10246,30 +10325,32 @@
(set_local $i9
(get_local $i10)
)
- (loop $while-out$5 $while-in$6
- (set_local $i10
- (i32.add
- (get_local $i9)
- (i32.const 1)
- )
- )
- (if
- (i32.eqz
- (i32.load8_s
- (get_local $i10)
+ (loop $while-in$6
+ (block $while-out$5
+ (set_local $i10
+ (i32.add
+ (get_local $i9)
+ (i32.const 1)
)
)
- (block
- (set_local $i11
+ (if
+ (i32.eqz
+ (i32.load8_s
+ (get_local $i10)
+ )
+ )
+ (block
+ (set_local $i11
+ (get_local $i10)
+ )
+ (br $while-out$5)
+ )
+ (set_local $i9
(get_local $i10)
)
- (br $while-out$5)
- )
- (set_local $i9
- (get_local $i10)
)
+ (br $while-in$6)
)
- (br $while-in$6)
)
)
)
@@ -10296,16 +10377,11 @@
(local $i10 i32)
(local $i11 i32)
(set_local $i3
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
@@ -10430,6 +10506,9 @@
(if
(i32.eq
(call_indirect $FUNCSIG$iiii
+ (get_local $i1)
+ (get_local $i4)
+ (i32.const 1)
(i32.add
(i32.and
(i32.load
@@ -10442,9 +10521,6 @@
)
(i32.const 2)
)
- (get_local $i1)
- (get_local $i4)
- (i32.const 1)
)
(i32.const 1)
)
@@ -10460,8 +10536,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $i3)
)
(return
@@ -10499,22 +10574,24 @@
)
)
(block
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (i32.load
- (i32.add
- (get_local $i1)
- (i32.const 36)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $i1)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $i1)
+ (i32.const 36)
+ )
)
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $i1)
- (i32.const 0)
- (i32.const 0)
)
(i32.eq
(i32.load
@@ -10557,6 +10634,12 @@
(get_local $i8)
)
(call_indirect $FUNCSIG$iiii
+ (get_local $i1)
+ (i32.sub
+ (get_local $i6)
+ (get_local $i8)
+ )
+ (i32.const 1)
(i32.add
(i32.and
(i32.load
@@ -10569,12 +10652,6 @@
)
(i32.const 2)
)
- (get_local $i1)
- (i32.sub
- (get_local $i6)
- (get_local $i8)
- )
- (i32.const 1)
)
)
(i32.store
@@ -10639,129 +10716,135 @@
)
)
(block
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.and
- (get_local $i1)
- (i32.const 3)
- )
- )
- (br $while-out$0)
- )
- (block
+ (loop $while-in$1
+ (block $while-out$0
(if
(i32.eqz
- (get_local $i3)
- )
- (return
- (get_local $i4)
+ (i32.and
+ (get_local $i1)
+ (i32.const 3)
+ )
)
+ (br $while-out$0)
)
- (i32.store8
- (get_local $i1)
- (i32.load8_s
- (get_local $i2)
+ (block
+ (if
+ (i32.eqz
+ (get_local $i3)
+ )
+ (return
+ (get_local $i4)
+ )
)
- )
- (set_local $i1
- (i32.add
+ (i32.store8
(get_local $i1)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $i2)
+ )
)
- )
- (set_local $i2
- (i32.add
- (get_local $i2)
- (i32.const 1)
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 1)
+ )
)
- )
- (set_local $i3
- (i32.sub
- (get_local $i3)
- (i32.const 1)
+ (set_local $i2
+ (i32.add
+ (get_local $i2)
+ (i32.const 1)
+ )
)
- )
- )
- (br $while-in$1)
- )
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (i32.ge_s
- (get_local $i3)
- (i32.const 4)
+ (set_local $i3
+ (i32.sub
+ (get_local $i3)
+ (i32.const 1)
+ )
)
)
- (br $while-out$2)
+ (br $while-in$1)
)
- (block
- (i32.store
- (get_local $i1)
- (i32.load
- (get_local $i2)
+ )
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (i32.ge_s
+ (get_local $i3)
+ (i32.const 4)
+ )
)
+ (br $while-out$2)
)
- (set_local $i1
- (i32.add
+ (block
+ (i32.store
(get_local $i1)
- (i32.const 4)
+ (i32.load
+ (get_local $i2)
+ )
)
- )
- (set_local $i2
- (i32.add
- (get_local $i2)
- (i32.const 4)
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 4)
+ )
)
- )
- (set_local $i3
- (i32.sub
- (get_local $i3)
- (i32.const 4)
+ (set_local $i2
+ (i32.add
+ (get_local $i2)
+ (i32.const 4)
+ )
+ )
+ (set_local $i3
+ (i32.sub
+ (get_local $i3)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.eqz
- (i32.gt_s
- (get_local $i3)
- (i32.const 0)
- )
- )
- (br $while-out$4)
- )
- (block
- (i32.store8
- (get_local $i1)
- (i32.load8_s
- (get_local $i2)
+ (loop $while-in$5
+ (block $while-out$4
+ (if
+ (i32.eqz
+ (i32.gt_s
+ (get_local $i3)
+ (i32.const 0)
+ )
)
+ (br $while-out$4)
)
- (set_local $i1
- (i32.add
+ (block
+ (i32.store8
(get_local $i1)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $i2)
+ )
)
- )
- (set_local $i2
- (i32.add
- (get_local $i2)
- (i32.const 1)
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 1)
+ )
)
- )
- (set_local $i3
- (i32.sub
- (get_local $i3)
- (i32.const 1)
+ (set_local $i2
+ (i32.add
+ (get_local $i2)
+ (i32.const 1)
+ )
+ )
+ (set_local $i3
+ (i32.sub
+ (get_local $i3)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(return
(get_local $i4)
@@ -10841,81 +10924,87 @@
(get_local $i5)
)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $i1)
- (get_local $i5)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $i1)
+ (get_local $i5)
+ )
)
+ (br $while-out$0)
)
- (br $while-out$0)
- )
- (block
- (i32.store8
- (get_local $i1)
- (get_local $i2)
- )
- (set_local $i1
- (i32.add
+ (block
+ (i32.store8
(get_local $i1)
- (i32.const 1)
+ (get_local $i2)
+ )
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$1)
)
- (br $while-in$1)
)
)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $i1)
- (get_local $i7)
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $i1)
+ (get_local $i7)
+ )
)
+ (br $while-out$2)
)
- (br $while-out$2)
- )
- (block
- (i32.store
- (get_local $i1)
- (get_local $i6)
- )
- (set_local $i1
- (i32.add
+ (block
+ (i32.store
(get_local $i1)
- (i32.const 4)
+ (get_local $i6)
+ )
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $i1)
- (get_local $i4)
+ (loop $while-in$5
+ (block $while-out$4
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $i1)
+ (get_local $i4)
+ )
)
+ (br $while-out$4)
)
- (br $while-out$4)
- )
- (block
- (i32.store8
- (get_local $i1)
- (get_local $i2)
- )
- (set_local $i1
- (i32.add
+ (block
+ (i32.store8
(get_local $i1)
- (i32.const 1)
+ (get_local $i2)
+ )
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(return
(i32.sub
@@ -11056,16 +11145,11 @@
(local $i6 i32)
(local $i7 i32)
(set_local $i4
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 32)
)
)
@@ -11140,8 +11224,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $i4)
)
(return
@@ -11342,16 +11425,11 @@
(local $i4 i32)
(local $i5 i32)
(set_local $i4
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 80)
)
)
@@ -11432,8 +11510,7 @@
(get_local $i3)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $i4)
)
(return
@@ -11442,18 +11519,14 @@
)
(func $copyTempDouble (param $i1 i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s
(get_local $i1)
)
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 1)
)
(i32.load8_s
@@ -11465,9 +11538,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 2)
)
(i32.load8_s
@@ -11479,9 +11550,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 3)
)
(i32.load8_s
@@ -11493,9 +11562,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 4)
)
(i32.load8_s
@@ -11507,9 +11574,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 5)
)
(i32.load8_s
@@ -11521,9 +11586,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 6)
)
(i32.load8_s
@@ -11535,9 +11598,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 7)
)
(i32.load8_s
@@ -11552,16 +11613,11 @@
(local $i2 i32)
(local $i3 i32)
(set_local $i2
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
@@ -11585,8 +11641,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $i2)
)
(return
@@ -11595,18 +11650,14 @@
)
(func $copyTempFloat (param $i1 i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s
(get_local $i1)
)
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 1)
)
(i32.load8_s
@@ -11618,9 +11669,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 2)
)
(i32.load8_s
@@ -11632,9 +11681,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 3)
)
(i32.load8_s
@@ -11675,6 +11722,9 @@
(func $dynCall_iiii (param $i1 i32) (param $i2 i32) (param $i3 i32) (param $i4 i32) (result i32)
(return
(call_indirect $FUNCSIG$iiii
+ (get_local $i2)
+ (get_local $i3)
+ (get_local $i4)
(i32.add
(i32.and
(get_local $i1)
@@ -11682,35 +11732,24 @@
)
(i32.const 2)
)
- (get_local $i2)
- (get_local $i3)
- (get_local $i4)
)
)
)
(func $stackAlloc (param $i1 i32) (result i32)
(local $i2 i32)
(set_local $i2
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(get_local $i1)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.and
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 15)
)
(i32.const -16)
@@ -11747,17 +11786,13 @@
(func $setThrew (param $i1 i32) (param $i2 i32)
(if
(i32.eqz
- (i32.load
- (i32.const 40)
- )
+ (get_global $__THREW__)
)
(block
- (i32.store
- (i32.const 40)
+ (set_global $__THREW__
(get_local $i1)
)
- (i32.store
- (i32.const 48)
+ (set_global $threwValue
(get_local $i2)
)
)
@@ -11781,6 +11816,7 @@
(func $dynCall_ii (param $i1 i32) (param $i2 i32) (result i32)
(return
(call_indirect $FUNCSIG$ii
+ (get_local $i2)
(i32.add
(i32.and
(get_local $i1)
@@ -11788,7 +11824,6 @@
)
(i32.const 0)
)
- (get_local $i2)
)
)
)
@@ -11809,17 +11844,16 @@
(return)
)
(func $establishStackSpace (param $i1 i32) (param $i2 i32)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $i1)
)
- (i32.store
- (i32.const 16)
+ (set_global $STACK_MAX
(get_local $i2)
)
)
(func $dynCall_vi (param $i1 i32) (param $i2 i32)
(call_indirect $FUNCSIG$vi
+ (get_local $i2)
(i32.add
(i32.and
(get_local $i1)
@@ -11827,7 +11861,6 @@
)
(i32.const 10)
)
- (get_local $i2)
)
)
(func $b1 (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32)
@@ -11839,14 +11872,12 @@
)
)
(func $stackRestore (param $i1 i32)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $i1)
)
)
(func $setTempRet0 (param $i1 i32)
- (i32.store
- (i32.const 160)
+ (set_global $tempRet0
(get_local $i1)
)
)
@@ -11868,14 +11899,14 @@
)
(func $getTempRet0 (result i32)
(return
- (i32.load
- (i32.const 160)
- )
+ (get_global $tempRet0)
)
)
(func $_main (result i32)
- (call $_puts
- (i32.const 672)
+ (drop
+ (call $_puts
+ (i32.const 672)
+ )
)
(return
(i32.const 0)
@@ -11883,9 +11914,7 @@
)
(func $stackSave (result i32)
(return
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
)
(func $b2 (param $i1 i32)
diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm
index 1ef3b9017..7cb00db19 100644
--- a/test/emcc_hello_world.fromasm
+++ b/test/emcc_hello_world.fromasm
@@ -1,6 +1,6 @@
(module
(memory 256 256)
- (export "memory" memory)
+ (data (get_global $memoryBase) "emcc_hello_world.asm.js")
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$id (func (param f64) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
@@ -9,77 +9,104 @@
(type $FUNCSIG$v (func))
(type $FUNCSIG$i (func (result i32)))
(type $FUNCSIG$vii (func (param i32 i32)))
- (import $abort "env" "abort")
- (import $nullFunc_ii "env" "nullFunc_ii" (param i32))
- (import $nullFunc_iiii "env" "nullFunc_iiii" (param i32))
- (import $nullFunc_vi "env" "nullFunc_vi" (param i32))
- (import $_pthread_cleanup_pop "env" "_pthread_cleanup_pop" (param i32))
- (import $___lock "env" "___lock" (param i32))
- (import $_pthread_self "env" "_pthread_self" (result i32))
- (import $_abort "env" "_abort")
- (import $___syscall6 "env" "___syscall6" (param i32 i32) (result i32))
- (import $_sbrk "env" "_sbrk" (param i32) (result i32))
- (import $_time "env" "_time" (param i32) (result i32))
- (import $_emscripten_memcpy_big "env" "_emscripten_memcpy_big" (param i32 i32 i32) (result i32))
- (import $___syscall54 "env" "___syscall54" (param i32 i32) (result i32))
- (import $___unlock "env" "___unlock" (param i32))
- (import $___syscall140 "env" "___syscall140" (param i32 i32) (result i32))
- (import $_pthread_cleanup_push "env" "_pthread_cleanup_push" (param i32 i32))
- (import $_sysconf "env" "_sysconf" (param i32) (result i32))
- (import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
- (import $f64-to-int "asm2wasm" "f64-to-int" (param f64) (result i32))
- (import $i32s-div "asm2wasm" "i32s-div" (param i32 i32) (result i32))
- (import $i32s-rem "asm2wasm" "i32s-rem" (param i32 i32) (result i32))
- (import $i32u-rem "asm2wasm" "i32u-rem" (param i32 i32) (result i32))
- (import $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32))
- (export "_i64Subtract" $_i64Subtract)
- (export "_free" $_free)
- (export "_main" $_main)
- (export "_i64Add" $_i64Add)
- (export "_memset" $_memset)
- (export "_malloc" $_malloc)
- (export "_memcpy" $_memcpy)
- (export "_bitshift64Lshr" $_bitshift64Lshr)
- (export "_fflush" $_fflush)
- (export "___errno_location" $___errno_location)
- (export "_bitshift64Shl" $_bitshift64Shl)
- (export "runPostSets" $runPostSets)
- (export "stackAlloc" $stackAlloc)
- (export "stackSave" $stackSave)
- (export "stackRestore" $stackRestore)
- (export "establishStackSpace" $establishStackSpace)
- (export "setThrew" $setThrew)
- (export "setTempRet0" $setTempRet0)
- (export "getTempRet0" $getTempRet0)
- (export "dynCall_ii" $dynCall_ii)
- (export "dynCall_iiii" $dynCall_iiii)
- (export "dynCall_vi" $dynCall_vi)
- (export "___udivmoddi4" $___udivmoddi4)
+ (import "env" "STACKTOP" (global $STACKTOP i32))
+ (import "env" "STACK_MAX" (global $STACK_MAX i32))
+ (import "env" "tempDoublePtr" (global $tempDoublePtr i32))
+ (import "env" "ABORT" (global $ABORT i32))
+ (import "env" "cttz_i8" (global $cttz_i8 i32))
+ (import "global" "NaN" (global $nan f64))
+ (import "global" "Infinity" (global $inf f64))
+ (import "env" "abort" (func $abort))
+ (import "env" "nullFunc_ii" (func $nullFunc_ii (param i32)))
+ (import "env" "nullFunc_iiii" (func $nullFunc_iiii (param i32)))
+ (import "env" "nullFunc_vi" (func $nullFunc_vi (param i32)))
+ (import "env" "_pthread_cleanup_pop" (func $_pthread_cleanup_pop (param i32)))
+ (import "env" "___lock" (func $___lock (param i32)))
+ (import "env" "_pthread_self" (func $_pthread_self (result i32)))
+ (import "env" "_abort" (func $_abort))
+ (import "env" "___syscall6" (func $___syscall6 (param i32 i32) (result i32)))
+ (import "env" "_sbrk" (func $_sbrk (param i32) (result i32)))
+ (import "env" "_time" (func $_time (param i32) (result i32)))
+ (import "env" "_emscripten_memcpy_big" (func $_emscripten_memcpy_big (param i32 i32 i32) (result i32)))
+ (import "env" "___syscall54" (func $___syscall54 (param i32 i32) (result i32)))
+ (import "env" "___unlock" (func $___unlock (param i32)))
+ (import "env" "___syscall140" (func $___syscall140 (param i32 i32) (result i32)))
+ (import "env" "_pthread_cleanup_push" (func $_pthread_cleanup_push (param i32 i32)))
+ (import "env" "_sysconf" (func $_sysconf (param i32) (result i32)))
+ (import "env" "___syscall146" (func $___syscall146 (param i32 i32) (result i32)))
+ (import "asm2wasm" "f64-to-int" (func $f64-to-int (param f64) (result i32)))
+ (import "asm2wasm" "i32s-div" (func $i32s-div (param i32 i32) (result i32)))
+ (import "asm2wasm" "i32s-rem" (func $i32s-rem (param i32 i32) (result i32)))
+ (import "asm2wasm" "i32u-rem" (func $i32u-rem (param i32 i32) (result i32)))
+ (import "asm2wasm" "i32u-div" (func $i32u-div (param i32 i32) (result i32)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "_i64Subtract" (func $_i64Subtract))
+ (export "_free" (func $_free))
+ (export "_main" (func $_main))
+ (export "_i64Add" (func $_i64Add))
+ (export "_memset" (func $_memset))
+ (export "_malloc" (func $_malloc))
+ (export "_memcpy" (func $_memcpy))
+ (export "_bitshift64Lshr" (func $_bitshift64Lshr))
+ (export "_fflush" (func $_fflush))
+ (export "___errno_location" (func $___errno_location))
+ (export "_bitshift64Shl" (func $_bitshift64Shl))
+ (export "runPostSets" (func $runPostSets))
+ (export "stackAlloc" (func $stackAlloc))
+ (export "stackSave" (func $stackSave))
+ (export "stackRestore" (func $stackRestore))
+ (export "establishStackSpace" (func $establishStackSpace))
+ (export "setThrew" (func $setThrew))
+ (export "setTempRet0" (func $setTempRet0))
+ (export "getTempRet0" (func $getTempRet0))
+ (export "dynCall_ii" (func $dynCall_ii))
+ (export "dynCall_iiii" (func $dynCall_iiii))
+ (export "dynCall_vi" (func $dynCall_vi))
+ (export "___udivmoddi4" (func $___udivmoddi4))
+ (global $__THREW__ i32 (i32.const 0))
+ (global $threwValue i32 (i32.const 0))
+ (global $setjmpId i32 (i32.const 0))
+ (global $undef i32 (i32.const 0))
+ (global $tempInt i32 (i32.const 0))
+ (global $tempBigInt i32 (i32.const 0))
+ (global $tempBigIntP i32 (i32.const 0))
+ (global $tempBigIntS i32 (i32.const 0))
+ (global $tempBigIntR f64 (f64.const 0))
+ (global $tempBigIntI i32 (i32.const 0))
+ (global $tempBigIntD i32 (i32.const 0))
+ (global $tempValue i32 (i32.const 0))
+ (global $tempDouble f64 (f64.const 0))
+ (global $tempRet0 i32 (i32.const 0))
+ (global $tempRet1 i32 (i32.const 0))
+ (global $tempRet2 i32 (i32.const 0))
+ (global $tempRet3 i32 (i32.const 0))
+ (global $tempRet4 i32 (i32.const 0))
+ (global $tempRet5 i32 (i32.const 0))
+ (global $tempRet6 i32 (i32.const 0))
+ (global $tempRet7 i32 (i32.const 0))
+ (global $tempRet8 i32 (i32.const 0))
+ (global $tempRet9 i32 (i32.const 0))
+ (global $tempFloat f64 (f64.const 0))
(table 18 18 anyfunc)
(elem (i32.const 0) $b0 $___stdio_close $b1 $b1 $___stdout_write $___stdio_seek $___stdio_write $b1 $b1 $b1 $b2 $b2 $b2 $b2 $b2 $_cleanup $b2 $b2)
(func $stackAlloc (param $0 i32) (result i32)
(local $1 i32)
(set_local $1
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(get_local $0)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.and
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 15)
)
(i32.const -16)
@@ -87,53 +114,40 @@
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
(get_local $1)
)
(func $stackSave (result i32)
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(func $stackRestore (param $0 i32)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $0)
)
)
(func $establishStackSpace (param $0 i32) (param $1 i32)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $0)
)
- (i32.store
- (i32.const 16)
+ (set_global $STACK_MAX
(get_local $1)
)
)
(func $setThrew (param $0 i32) (param $1 i32)
(if
(i32.eq
- (i32.load
- (i32.const 48)
- )
+ (get_global $__THREW__)
(i32.const 0)
)
(block
- (i32.store
- (i32.const 48)
+ (set_global $__THREW__
(get_local $0)
)
- (i32.store
- (i32.const 56)
+ (set_global $threwValue
(get_local $1)
)
)
@@ -141,33 +155,25 @@
)
(func $copyTempFloat (param $0 i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s
(get_local $0)
)
)
(i32.store8 offset=1
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=1
(get_local $0)
)
)
(i32.store8 offset=2
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=2
(get_local $0)
)
)
(i32.store8 offset=3
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=3
(get_local $0)
)
@@ -175,114 +181,87 @@
)
(func $copyTempDouble (param $0 i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s
(get_local $0)
)
)
(i32.store8 offset=1
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=1
(get_local $0)
)
)
(i32.store8 offset=2
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=2
(get_local $0)
)
)
(i32.store8 offset=3
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=3
(get_local $0)
)
)
(i32.store8 offset=4
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=4
(get_local $0)
)
)
(i32.store8 offset=5
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=5
(get_local $0)
)
)
(i32.store8 offset=6
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=6
(get_local $0)
)
)
(i32.store8 offset=7
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=7
(get_local $0)
)
)
)
(func $setTempRet0 (param $0 i32)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(get_local $0)
)
)
(func $getTempRet0 (result i32)
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
(func $_main (result i32)
(local $0 i32)
(set_local $0
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
- (call $_printf
- (i32.const 672)
- (get_local $0)
+ (drop
+ (call $_printf
+ (i32.const 672)
+ (get_local $0)
+ )
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $0)
)
(i32.const 0)
@@ -291,44 +270,32 @@
(local $2 i32)
(local $3 i32)
(local $4 i32)
- (i32.load
- (i32.const 8)
- )
(f64.store
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(get_local $0)
)
(set_local $2
(call $_bitshift64Lshr
- (set_local $3
+ (tee_local $3
(i32.load
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
)
)
- (set_local $4
+ (tee_local $4
(i32.load offset=4
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
)
)
(i32.const 52)
)
)
- (i32.load
- (i32.const 168)
- )
(block $switch$0
(block $switch-default$3
(block $switch-case$2
(block $switch-case$1
(br_table $switch-case$1 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-case$2 $switch-default$3
(i32.sub
- (set_local $2
+ (tee_local $2
(i32.and
(get_local $2)
(i32.const 2047)
@@ -381,15 +348,11 @@
)
)
(i32.store
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(get_local $3)
)
(i32.store offset=4
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.or
(i32.and
(get_local $4)
@@ -399,16 +362,11 @@
)
)
(f64.load
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
)
)
)
(func $_frexpl (param $0 f64) (param $1 i32) (result f64)
- (i32.load
- (i32.const 8)
- )
(call $_frexp
(get_local $0)
(get_local $1)
@@ -420,58 +378,56 @@
(local $3 i32)
(local $4 i32)
(local $5 i32)
- (i32.load
- (i32.const 8)
- )
(set_local $1
(i32.const 0)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eq
- (i32.and
- (i32.load8_s offset=687
- (get_local $1)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load8_s offset=687
+ (get_local $1)
+ )
+ (i32.const 255)
)
- (i32.const 255)
- )
- (get_local $0)
- )
- (block
- (set_local $4
- (get_local $1)
- )
- (set_local $0
- (i32.const 2)
+ (get_local $0)
)
- (br $while-out$0)
- )
- )
- (if
- (i32.eq
- (set_local $1
- (i32.add
+ (block
+ (set_local $4
(get_local $1)
- (i32.const 1)
)
+ (set_local $0
+ (i32.const 2)
+ )
+ (br $while-out$0)
)
- (i32.const 87)
)
- (block
- (set_local $3
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
(i32.const 87)
)
- (set_local $2
- (i32.const 775)
- )
- (set_local $0
- (i32.const 5)
+ (block
+ (set_local $3
+ (i32.const 87)
+ )
+ (set_local $2
+ (i32.const 775)
+ )
+ (set_local $0
+ (i32.const 5)
+ )
+ (br $while-out$0)
)
- (br $while-out$0)
)
- (get_local $1)
+ (br $while-in$1)
)
- (br $while-in$1)
)
(if
(i32.eq
@@ -504,73 +460,74 @@
(get_local $0)
(i32.const 5)
)
- (loop $while-out$2 $while-in$3
- (loop $while-out$4 $while-in$5
- (set_local $0
- (i32.add
- (get_local $2)
- (i32.const 1)
+ (loop $while-in$3
+ (block $while-out$2
+ (loop $while-in$5
+ (block $while-out$4
+ (set_local $0
+ (i32.add
+ (get_local $2)
+ (i32.const 1)
+ )
+ )
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $2)
+ )
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $1
+ (get_local $0)
+ )
+ (br $while-out$4)
+ )
+ (set_local $2
+ (get_local $0)
+ )
+ )
+ (br $while-in$5)
)
)
(if
(i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $2)
- )
- (i32.const 24)
+ (tee_local $0
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
)
- (i32.const 24)
)
(i32.const 0)
)
(block
- (set_local $1
- (get_local $0)
+ (set_local $5
+ (get_local $1)
)
- (br $while-out$4)
- )
- (set_local $2
- (get_local $0)
+ (br $while-out$2)
)
- )
- (br $while-in$5)
- )
- (if
- (i32.eq
- (set_local $0
- (i32.add
- (get_local $3)
- (i32.const -1)
+ (block
+ (set_local $3
+ (get_local $0)
+ )
+ (set_local $2
+ (get_local $1)
)
- )
- (i32.const 0)
- )
- (block
- (set_local $5
- (get_local $1)
- )
- (br $while-out$2)
- )
- (block
- (set_local $3
- (get_local $0)
- )
- (set_local $2
- (get_local $1)
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
(get_local $5)
)
(func $___errno_location (result i32)
- (i32.load
- (i32.const 8)
- )
(if
(i32.eq
(i32.load
@@ -588,32 +545,23 @@
(local $1 i32)
(local $2 i32)
(set_local $1
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
(i32.store
- (set_local $2
+ (tee_local $2
(get_local $1)
)
(i32.load offset=60
@@ -628,8 +576,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $1)
)
(get_local $0)
@@ -639,27 +586,18 @@
(local $4 i32)
(local $5 i32)
(set_local $4
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 80)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -723,8 +661,7 @@
(get_local $2)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $4)
)
(get_local $0)
@@ -733,32 +670,23 @@
(local $3 i32)
(local $4 i32)
(set_local $4
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 32)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
(i32.store
- (set_local $3
+ (tee_local $3
(get_local $4)
)
(i32.load offset=60
@@ -775,7 +703,7 @@
)
(i32.store offset=12
(get_local $3)
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $4)
(i32.const 20)
@@ -809,8 +737,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $4)
)
(get_local $0)
@@ -818,9 +745,6 @@
(func $_fflush (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
- (i32.load
- (i32.const 8)
- )
(block $do-once$0
(if
(i32.eq
@@ -848,82 +772,83 @@
(i32.const 44)
)
(if
- (i32.eq
- (set_local $1
+ (i32.ne
+ (tee_local $1
(i32.load
(i32.const 40)
)
)
(i32.const 0)
)
- (get_local $0)
(block
(set_local $2
(get_local $0)
)
- (loop $while-out$2 $while-in$3
- (set_local $0
- (if
- (i32.gt_s
- (i32.load offset=76
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $0
+ (if
+ (i32.gt_s
+ (i32.load offset=76
+ (get_local $1)
+ )
+ (i32.const -1)
+ )
+ (call $___lockfile
(get_local $1)
)
- (i32.const -1)
- )
- (call $___lockfile
- (get_local $1)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $2
- (if
- (i32.gt_u
- (i32.load offset=20
- (get_local $1)
- )
- (i32.load offset=28
- (get_local $1)
+ (set_local $2
+ (if
+ (i32.gt_u
+ (i32.load offset=20
+ (get_local $1)
+ )
+ (i32.load offset=28
+ (get_local $1)
+ )
)
- )
- (i32.or
- (call $___fflush_unlocked
- (get_local $1)
+ (i32.or
+ (call $___fflush_unlocked
+ (get_local $1)
+ )
+ (get_local $2)
)
(get_local $2)
)
- (get_local $2)
- )
- )
- (if
- (i32.ne
- (get_local $0)
- (i32.const 0)
)
- (call $___unlockfile
- (get_local $1)
+ (if
+ (i32.ne
+ (get_local $0)
+ (i32.const 0)
+ )
+ (call $___unlockfile
+ (get_local $1)
+ )
)
- )
- (if
- (i32.eq
- (set_local $0
- (i32.load offset=56
- (get_local $1)
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=56
+ (get_local $1)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $0
- (get_local $2)
+ (block
+ (set_local $0
+ (get_local $2)
+ )
+ (br $while-out$2)
+ )
+ (set_local $1
+ (get_local $0)
)
- (br $while-out$2)
- )
- (set_local $1
- (get_local $0)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
@@ -977,32 +902,23 @@
(local $2 i32)
(local $3 i32)
(set_local $2
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
(i32.store
- (set_local $3
+ (tee_local $3
(get_local $2)
)
(get_local $1)
@@ -1016,16 +932,12 @@
(get_local $3)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $2)
)
(get_local $0)
)
(func $___lockfile (param $0 i32) (result i32)
- (i32.load
- (i32.const 8)
- )
(i32.const 0)
)
(func $___unlockfile (param $0 i32)
@@ -1048,27 +960,18 @@
(local $16 i32)
(local $17 i32)
(set_local $8
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 48)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -1082,15 +985,15 @@
(get_local $8)
)
(i32.store
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $8)
(i32.const 32)
)
)
- (set_local $3
+ (tee_local $3
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $0)
(i32.const 28)
@@ -1101,10 +1004,10 @@
)
(i32.store offset=4
(get_local $4)
- (set_local $3
+ (tee_local $3
(i32.sub
(i32.load
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $0)
(i32.const 20)
@@ -1144,206 +1047,208 @@
(get_local $2)
)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eq
- (get_local $3)
- (set_local $5
- (if
- (i32.eq
- (i32.load
- (i32.const 16)
- )
- (i32.const 0)
- )
- (block
- (i32.store
- (get_local $9)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eq
+ (get_local $3)
+ (tee_local $5
+ (if
+ (i32.eq
(i32.load
- (get_local $12)
+ (i32.const 16)
)
+ (i32.const 0)
)
- (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)
+ (block
+ (i32.store
(get_local $9)
+ (i32.load
+ (get_local $12)
+ )
)
- )
- )
- (block
- (call_import $_pthread_cleanup_push
- (i32.const 5)
- (get_local $0)
- )
- (i32.store
- (get_local $10)
- (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)
)
- )
- (i32.store offset=4
- (get_local $10)
- (get_local $4)
- )
- (i32.store offset=8
- (get_local $10)
- (get_local $6)
- )
- (set_local $1
(call $___syscall_ret
(call_import $___syscall146
(i32.const 146)
- (get_local $10)
+ (get_local $9)
)
)
)
- (call_import $_pthread_cleanup_pop
- (i32.const 0)
+ (block
+ (call_import $_pthread_cleanup_push
+ (i32.const 5)
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $10)
+ (i32.load
+ (get_local $12)
+ )
+ )
+ (i32.store offset=4
+ (get_local $10)
+ (get_local $4)
+ )
+ (i32.store offset=8
+ (get_local $10)
+ (get_local $6)
+ )
+ (set_local $1
+ (call $___syscall_ret
+ (call_import $___syscall146
+ (i32.const 146)
+ (get_local $10)
+ )
+ )
+ )
+ (call_import $_pthread_cleanup_pop
+ (i32.const 0)
+ )
+ (get_local $1)
)
- (get_local $1)
)
)
)
- )
- (block
- (set_local $1
- (i32.const 6)
- )
- (br $while-out$0)
- )
- )
- (if
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- (block
- (set_local $15
- (get_local $4)
- )
- (set_local $16
- (get_local $6)
- )
- (set_local $1
- (i32.const 8)
+ (block
+ (set_local $1
+ (i32.const 6)
+ )
+ (br $while-out$0)
)
- (br $while-out$0)
)
- )
- (set_local $17
- (i32.sub
- (get_local $3)
- (get_local $5)
- )
- )
- (set_local $1
(if
- (i32.gt_u
+ (i32.lt_s
(get_local $5)
- (set_local $1
- (i32.load offset=4
- (get_local $4)
- )
- )
+ (i32.const 0)
)
(block
- (i32.store
- (get_local $7)
- (set_local $3
- (i32.load
- (get_local $13)
- )
- )
- )
- (i32.store
- (get_local $11)
- (get_local $3)
- )
- (set_local $5
- (i32.sub
- (get_local $5)
- (get_local $1)
- )
- )
- (set_local $3
- (i32.add
- (get_local $4)
- (i32.const 8)
- )
+ (set_local $15
+ (get_local $4)
)
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
+ (set_local $16
+ (get_local $6)
)
- (i32.load offset=12
- (get_local $4)
+ (set_local $1
+ (i32.const 8)
)
+ (br $while-out$0)
)
+ )
+ (set_local $17
+ (i32.sub
+ (get_local $3)
+ (get_local $5)
+ )
+ )
+ (set_local $1
(if
- (i32.eq
- (get_local $6)
- (i32.const 2)
+ (i32.gt_u
+ (get_local $5)
+ (tee_local $1
+ (i32.load offset=4
+ (get_local $4)
+ )
+ )
)
(block
(i32.store
(get_local $7)
- (i32.add
+ (tee_local $3
(i32.load
- (get_local $7)
+ (get_local $13)
)
+ )
+ )
+ (i32.store
+ (get_local $11)
+ (get_local $3)
+ )
+ (set_local $5
+ (i32.sub
(get_local $5)
+ (get_local $1)
)
)
(set_local $3
- (get_local $4)
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
(set_local $6
- (i32.const 2)
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
)
- (get_local $1)
- )
- (block
- (set_local $3
+ (i32.load offset=12
(get_local $4)
)
- (get_local $1)
+ )
+ (if
+ (i32.eq
+ (get_local $6)
+ (i32.const 2)
+ )
+ (block
+ (i32.store
+ (get_local $7)
+ (i32.add
+ (i32.load
+ (get_local $7)
+ )
+ (get_local $5)
+ )
+ )
+ (set_local $3
+ (get_local $4)
+ )
+ (set_local $6
+ (i32.const 2)
+ )
+ (get_local $1)
+ )
+ (block
+ (set_local $3
+ (get_local $4)
+ )
+ (get_local $1)
+ )
)
)
)
- )
- (i32.store
- (get_local $3)
- (i32.add
- (i32.load
- (get_local $3)
+ (i32.store
+ (get_local $3)
+ (i32.add
+ (i32.load
+ (get_local $3)
+ )
+ (get_local $5)
)
- (get_local $5)
)
- )
- (i32.store offset=4
- (get_local $3)
- (i32.sub
- (get_local $1)
- (get_local $5)
+ (i32.store offset=4
+ (get_local $3)
+ (i32.sub
+ (get_local $1)
+ (get_local $5)
+ )
)
+ (set_local $4
+ (get_local $3)
+ )
+ (set_local $3
+ (get_local $17)
+ )
+ (br $while-in$1)
)
- (set_local $4
- (get_local $3)
- )
- (set_local $3
- (get_local $17)
- )
- (br $while-in$1)
)
(if
(i32.eq
@@ -1354,7 +1259,7 @@
(i32.store offset=16
(get_local $0)
(i32.add
- (set_local $1
+ (tee_local $1
(i32.load
(get_local $13)
)
@@ -1421,8 +1326,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $8)
)
(get_local $14)
@@ -1441,27 +1345,18 @@
(local $13 i32)
(local $14 i32)
(set_local $3
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 224)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -1482,8 +1377,8 @@
)
(set_local $7
(i32.add
- (set_local $4
- (set_local $9
+ (tee_local $4
+ (tee_local $9
(i32.add
(get_local $3)
(i32.const 80)
@@ -1500,7 +1395,7 @@
)
(br_if $do-in$1
(i32.lt_s
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $4)
(i32.const 4)
@@ -1546,7 +1441,7 @@
)
(set_local $4
(i32.and
- (set_local $2
+ (tee_local $2
(i32.load
(get_local $0)
)
@@ -1580,7 +1475,7 @@
(if
(i32.eq
(i32.load
- (set_local $10
+ (tee_local $10
(i32.add
(get_local $0)
(i32.const 48)
@@ -1592,7 +1487,7 @@
(block
(set_local $2
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $0)
(i32.const 44)
@@ -1605,7 +1500,7 @@
(get_local $6)
)
(i32.store
- (set_local $13
+ (tee_local $13
(i32.add
(get_local $0)
(i32.const 28)
@@ -1614,7 +1509,7 @@
(get_local $6)
)
(i32.store
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $0)
(i32.const 20)
@@ -1627,7 +1522,7 @@
(i32.const 80)
)
(i32.store
- (set_local $14
+ (tee_local $14
(i32.add
(get_local $0)
(i32.const 16)
@@ -1654,19 +1549,21 @@
)
(get_local $1)
(block
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (i32.load offset=36
- (get_local $0)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $0)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $0)
- (i32.const 0)
- (i32.const 0)
)
(set_local $1
(select
@@ -1715,7 +1612,7 @@
(i32.const -1)
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(get_local $0)
)
@@ -1746,8 +1643,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $3)
)
(get_local $0)
@@ -1758,14 +1654,11 @@
(local $5 i32)
(local $6 i32)
(local $7 i32)
- (i32.load
- (i32.const 8)
- )
(if
(i32.eq
- (set_local $6
+ (tee_local $6
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $2)
(i32.const 16)
@@ -1816,9 +1709,9 @@
(i32.lt_u
(i32.sub
(get_local $3)
- (set_local $6
+ (tee_local $6
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $2)
(i32.const 20)
@@ -1835,6 +1728,9 @@
(block
(set_local $4
(call_indirect $FUNCSIG$iiii
+ (get_local $2)
+ (get_local $0)
+ (get_local $1)
(i32.add
(i32.and
(i32.load offset=36
@@ -1844,130 +1740,131 @@
)
(i32.const 2)
)
- (get_local $2)
- (get_local $0)
- (get_local $1)
)
)
(br $label$break$L5)
)
)
- (call $_memcpy
- (block $label$break$L10
- (if
- (i32.gt_s
- (i32.shr_s
- (i32.shl
- (i32.load8_s offset=75
- (get_local $2)
+ (drop
+ (call $_memcpy
+ (block $label$break$L10
+ (if
+ (i32.gt_s
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s offset=75
+ (get_local $2)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
- )
- (i32.const -1)
- )
- (block
- (set_local $3
- (get_local $1)
+ (i32.const -1)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.eq
- (get_local $3)
- (i32.const 0)
- )
- (block
- (set_local $2
- (i32.const 0)
- )
- (br $label$break$L10
- (get_local $6)
- )
- )
+ (block
+ (set_local $3
+ (get_local $1)
)
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (i32.add
- (get_local $0)
- (set_local $4
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eq
+ (get_local $3)
+ (i32.const 0)
+ )
+ (block
+ (set_local $2
+ (i32.const 0)
+ )
+ (br $label$break$L10
+ (get_local $6)
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
(i32.add
- (get_local $3)
- (i32.const -1)
+ (get_local $0)
+ (tee_local $4
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
+ )
+ )
)
)
+ (i32.const 24)
)
+ (i32.const 24)
)
- (i32.const 24)
+ (i32.const 10)
+ )
+ (br $while-out$2)
+ (set_local $3
+ (get_local $4)
)
- (i32.const 24)
)
- (i32.const 10)
- )
- (br $while-out$2)
- (set_local $3
- (get_local $4)
+ (br $while-in$3)
)
)
- (br $while-in$3)
- )
- (if
- (i32.lt_u
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (i32.load offset=36
- (get_local $2)
+ (if
+ (i32.lt_u
+ (call_indirect $FUNCSIG$iiii
+ (get_local $2)
+ (get_local $0)
+ (get_local $3)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $2)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $2)
- (get_local $0)
(get_local $3)
)
+ (block
+ (set_local $4
+ (get_local $3)
+ )
+ (br $label$break$L5)
+ )
+ )
+ (set_local $2
(get_local $3)
)
- (block
- (set_local $4
+ (set_local $1
+ (i32.sub
+ (get_local $1)
(get_local $3)
)
- (br $label$break$L5)
)
- )
- (set_local $2
- (get_local $3)
- )
- (set_local $1
- (i32.sub
- (get_local $1)
- (get_local $3)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (get_local $3)
+ )
)
- )
- (set_local $0
- (i32.add
- (get_local $0)
- (get_local $3)
+ (i32.load
+ (get_local $5)
)
)
- (i32.load
- (get_local $5)
- )
- )
- (block
- (set_local $2
- (i32.const 0)
+ (block
+ (set_local $2
+ (i32.const 0)
+ )
+ (get_local $6)
)
- (get_local $6)
)
)
+ (get_local $0)
+ (get_local $1)
)
- (get_local $0)
- (get_local $1)
)
(i32.store
(get_local $5)
@@ -1992,18 +1889,15 @@
(func $___towrite (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
- (i32.load
- (i32.const 8)
- )
(set_local $1
(i32.and
(i32.or
(i32.add
- (set_local $1
+ (tee_local $1
(i32.shr_s
(i32.shl
(i32.load8_s
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $0)
(i32.const 74)
@@ -2029,7 +1923,7 @@
(if
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(get_local $0)
)
@@ -2049,7 +1943,7 @@
)
(i32.store offset=28
(get_local $0)
- (set_local $1
+ (tee_local $1
(i32.load offset=44
(get_local $0)
)
@@ -2083,9 +1977,6 @@
)
)
(func $_wcrtomb (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (i32.load
- (i32.const 8)
- )
(block $do-once$0
(if
(i32.eq
@@ -2293,9 +2184,6 @@
)
)
(func $_wctomb (param $0 i32) (param $1 i32) (result i32)
- (i32.load
- (i32.const 8)
- )
(if
(i32.eq
(get_local $0)
@@ -2324,9 +2212,6 @@
(local $14 i32)
(local $15 i32)
(local $16 i32)
- (i32.load
- (i32.const 8)
- )
(set_local $16
(i32.and
(get_local $1)
@@ -2336,7 +2221,7 @@
(block $label$break$L1
(if
(i32.and
- (set_local $6
+ (tee_local $6
(i32.ne
(get_local $2)
(i32.const 0)
@@ -2363,85 +2248,87 @@
(set_local $2
(get_local $0)
)
- (loop $while-out$1 $while-in$2
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $2)
+ (loop $while-in$2
+ (block $while-out$1
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $2)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
- )
- (i32.shr_s
- (i32.shl
- (get_local $6)
+ (i32.shr_s
+ (i32.shl
+ (get_local $6)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
- )
- (block
- (set_local $4
- (get_local $3)
- )
- (set_local $5
- (get_local $2)
- )
- (set_local $3
- (i32.const 6)
+ (block
+ (set_local $4
+ (get_local $3)
+ )
+ (set_local $5
+ (get_local $2)
+ )
+ (set_local $3
+ (i32.const 6)
+ )
+ (br $label$break$L1)
)
- (br $label$break$L1)
)
- )
- (if
- (i32.and
- (set_local $3
- (i32.ne
- (set_local $0
- (i32.add
- (get_local $3)
- (i32.const -1)
+ (if
+ (i32.and
+ (tee_local $3
+ (i32.ne
+ (tee_local $0
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (i32.ne
- (i32.and
- (set_local $2
- (i32.add
- (get_local $2)
- (i32.const 1)
+ (i32.ne
+ (i32.and
+ (tee_local $2
+ (i32.add
+ (get_local $2)
+ (i32.const 1)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $3
- (get_local $0)
- )
- (block
- (set_local $14
+ (set_local $3
(get_local $0)
)
- (set_local $11
- (get_local $2)
- )
- (set_local $15
- (get_local $3)
- )
- (set_local $3
- (i32.const 5)
+ (block
+ (set_local $14
+ (get_local $0)
+ )
+ (set_local $11
+ (get_local $2)
+ )
+ (set_local $15
+ (get_local $3)
+ )
+ (set_local $3
+ (i32.const 5)
+ )
+ (br $while-out$1)
)
- (br $while-out$1)
)
+ (br $while-in$2)
)
- (br $while-in$2)
)
)
(block
@@ -2507,7 +2394,7 @@
)
(i32.shr_s
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.and
(get_local $1)
(i32.const 255)
@@ -2540,69 +2427,70 @@
(i32.const 3)
)
(block
- (loop $while-out$5 $while-in$6
- (set_local $1
- (i32.add
- (set_local $6
- (i32.xor
- (i32.load
- (get_local $5)
+ (loop $while-in$6
+ (block $while-out$5
+ (set_local $1
+ (i32.add
+ (tee_local $6
+ (i32.xor
+ (i32.load
+ (get_local $5)
+ )
+ (get_local $2)
)
- (get_local $2)
)
+ (i32.const -16843009)
)
- (i32.const -16843009)
)
- )
- (if
- (i32.ne
- (i32.and
- (i32.xor
- (i32.and
- (get_local $6)
+ (br_if $while-out$5
+ (i32.ne
+ (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)
)
- (i32.const 0)
- )
- (br $while-out$5)
- )
- (set_local $1
- (i32.add
- (get_local $5)
- (i32.const 4)
)
- )
- (if
- (i32.gt_u
- (set_local $4
- (i32.add
- (get_local $4)
- (i32.const -4)
- )
+ (set_local $1
+ (i32.add
+ (get_local $5)
+ (i32.const 4)
)
- (i32.const 3)
)
- (set_local $5
- (get_local $1)
- )
- (block
- (set_local $12
- (get_local $4)
+ (if
+ (i32.gt_u
+ (tee_local $4
+ (i32.add
+ (get_local $4)
+ (i32.const -4)
+ )
+ )
+ (i32.const 3)
)
- (set_local $13
+ (set_local $5
(get_local $1)
)
- (set_local $3
- (i32.const 11)
+ (block
+ (set_local $12
+ (get_local $4)
+ )
+ (set_local $13
+ (get_local $1)
+ )
+ (set_local $3
+ (i32.const 11)
+ )
+ (br $label$break$L11)
)
- (br $label$break$L11)
)
+ (br $while-in$6)
)
- (br $while-in$6)
)
(set_local $10
(get_local $4)
@@ -2653,71 +2541,73 @@
)
)
)
- (loop $while-out$7 $while-in$8
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $9)
+ (loop $while-in$8
+ (block $while-out$7
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $9)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
- )
- (i32.shr_s
- (i32.shl
- (get_local $0)
+ (i32.shr_s
+ (i32.shl
+ (get_local $0)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
- )
- (block
- (set_local $7
- (get_local $10)
+ (block
+ (set_local $7
+ (get_local $10)
+ )
+ (set_local $8
+ (get_local $9)
+ )
+ (br $label$break$L8)
)
- (set_local $8
+ )
+ (set_local $2
+ (i32.add
(get_local $9)
+ (i32.const 1)
)
- (br $label$break$L8)
)
- )
- (set_local $2
- (i32.add
- (get_local $9)
- (i32.const 1)
- )
- )
- (if
- (i32.eq
- (set_local $1
- (i32.add
- (get_local $10)
- (i32.const -1)
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.add
+ (get_local $10)
+ (i32.const -1)
+ )
)
- )
- (i32.const 0)
- )
- (block
- (set_local $7
(i32.const 0)
)
- (set_local $8
- (get_local $2)
- )
- (br $while-out$7)
- )
- (block
- (set_local $10
- (get_local $1)
+ (block
+ (set_local $7
+ (i32.const 0)
+ )
+ (set_local $8
+ (get_local $2)
+ )
+ (br $while-out$7)
)
- (set_local $9
- (get_local $2)
+ (block
+ (set_local $10
+ (get_local $1)
+ )
+ (set_local $9
+ (get_local $2)
+ )
)
)
+ (br $while-in$8)
)
- (br $while-in$8)
)
)
)
@@ -2733,9 +2623,6 @@
)
)
(func $___syscall_ret (param $0 i32) (result i32)
- (i32.load
- (i32.const 8)
- )
(if
(i32.gt_u
(get_local $0)
@@ -2761,13 +2648,10 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
- (i32.load
- (i32.const 8)
- )
(if
(i32.gt_u
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $0)
(i32.const 20)
@@ -2775,7 +2659,7 @@
)
)
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $0)
(i32.const 28)
@@ -2784,19 +2668,21 @@
)
)
(block
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (i32.load offset=36
- (get_local $0)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $0)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $0)
- (i32.const 0)
- (i32.const 0)
)
(if
(i32.eq
@@ -2825,9 +2711,9 @@
(block
(if
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $0)
(i32.const 4)
@@ -2835,9 +2721,9 @@
)
)
)
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $0)
(i32.const 8)
@@ -2846,22 +2732,24 @@
)
)
)
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (i32.load offset=40
- (get_local $0)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.sub
+ (get_local $1)
+ (get_local $2)
+ )
+ (i32.const 1)
+ (i32.add
+ (i32.and
+ (i32.load offset=40
+ (get_local $0)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
- )
- (get_local $0)
- (i32.sub
- (get_local $1)
- (get_local $2)
)
- (i32.const 1)
)
)
(i32.store offset=16
@@ -2892,9 +2780,6 @@
(get_local $1)
)
(func $_cleanup (param $0 i32)
- (i32.load
- (i32.const 8)
- )
(if
(i32.eq
(i32.load offset=68
@@ -2917,8 +2802,8 @@
(local $11 i32)
(local $12 i32)
(local $13 i32)
- (local $14 i32)
- (local $15 f64)
+ (local $14 f64)
+ (local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
@@ -2988,27 +2873,18 @@
(local $82 i32)
(local $83 i32)
(set_local $31
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 624)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -3034,9 +2910,9 @@
)
)
(set_local $71
- (set_local $28
+ (tee_local $28
(i32.add
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $31)
(i32.const 536)
@@ -3054,7 +2930,7 @@
)
(set_local $76
(i32.add
- (set_local $73
+ (tee_local $73
(i32.add
(get_local $31)
(i32.const 8)
@@ -3065,7 +2941,7 @@
)
(set_local $52
(i32.add
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $31)
(i32.const 576)
@@ -3082,11 +2958,11 @@
)
(set_local $77
(i32.sub
- (set_local $40
+ (tee_local $40
(get_local $52)
)
- (set_local $64
- (set_local $29
+ (tee_local $64
+ (tee_local $29
(i32.add
(get_local $31)
(i32.const 588)
@@ -3109,7 +2985,7 @@
)
(set_local $81
(i32.add
- (set_local $80
+ (tee_local $80
(i32.add
(get_local $31)
(i32.const 24)
@@ -3119,7 +2995,7 @@
)
)
(set_local $75
- (set_local $45
+ (tee_local $45
(i32.add
(get_local $29)
(i32.const 9)
@@ -3144,477 +3020,482 @@
(set_local $8
(i32.const 0)
)
- (loop $label$break$L1 $label$continue$L1
- (set_local $22
- (if
- (i32.gt_s
- (get_local $22)
- (i32.const -1)
- )
+ (loop $label$continue$L1
+ (block $label$break$L1
+ (set_local $22
(if
(i32.gt_s
- (get_local $1)
- (i32.sub
- (i32.const 2147483647)
- (get_local $22)
- )
- )
- (block
- (i32.store
- (call $___errno_location)
- (i32.const 75)
- )
- (i32.const -1)
- )
- (i32.add
- (get_local $1)
(get_local $22)
+ (i32.const -1)
)
- )
- (get_local $22)
- )
- )
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (set_local $1
- (i32.load8_s
- (get_local $20)
+ (if
+ (i32.gt_s
+ (get_local $1)
+ (i32.sub
+ (i32.const 2147483647)
+ (get_local $22)
)
)
- (i32.const 24)
+ (block
+ (i32.store
+ (call $___errno_location)
+ (i32.const 75)
+ )
+ (i32.const -1)
+ )
+ (i32.add
+ (get_local $1)
+ (get_local $22)
+ )
)
- (i32.const 24)
- )
- (i32.const 0)
- )
- (block
- (set_local $82
(get_local $22)
)
- (set_local $83
- (get_local $8)
- )
- (set_local $12
- (i32.const 242)
- )
- (br $label$break$L1)
- )
- (set_local $5
- (get_local $20)
)
- )
- (loop $label$break$L9 $label$continue$L9
- (block $switch-default$5
- (block $switch-case$4
- (block $switch-case$3
- (br_table $switch-case$4 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-case$3 $switch-default$5
- (i32.sub
- (i32.shr_s
- (i32.shl
- (get_local $1)
- (i32.const 24)
- )
- (i32.const 24)
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (tee_local $1
+ (i32.load8_s
+ (get_local $20)
)
- (i32.const 0)
)
+ (i32.const 24)
)
+ (i32.const 24)
)
- (set_local $54
- (get_local $5)
+ (i32.const 0)
+ )
+ (block
+ (set_local $82
+ (get_local $22)
)
- (set_local $65
- (get_local $5)
+ (set_local $83
+ (get_local $8)
)
(set_local $12
- (i32.const 9)
+ (i32.const 242)
)
- (br $label$break$L9)
- )
- (set_local $41
- (get_local $5)
- )
- (set_local $55
- (get_local $5)
+ (br $label$break$L1)
)
- (br $label$break$L9)
- )
- (set_local $1
- (i32.load8_s
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
- )
- )
+ (set_local $5
+ (get_local $20)
)
)
- (br $label$continue$L9)
- )
- (block $label$break$L12
- (if
- (i32.eq
- (get_local $12)
- (i32.const 9)
- )
- (loop $while-out$7 $while-in$8
- (set_local $12
- (i32.const 0)
- )
- (if
- (i32.ne
- (i32.shr_s
- (i32.shl
- (i32.load8_s offset=1
- (get_local $54)
+ (loop $label$continue$L9
+ (block $label$break$L9
+ (block $switch-default$5
+ (block $switch-case$4
+ (block $switch-case$3
+ (br_table $switch-case$4 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-case$3 $switch-default$5
+ (i32.sub
+ (i32.shr_s
+ (i32.shl
+ (get_local $1)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ (i32.const 0)
)
- (i32.const 24)
)
- (i32.const 24)
)
- (i32.const 37)
- )
- (block
- (set_local $41
- (get_local $54)
+ (set_local $54
+ (get_local $5)
)
- (set_local $55
- (get_local $65)
+ (set_local $65
+ (get_local $5)
)
- (br $label$break$L12)
+ (set_local $12
+ (i32.const 9)
+ )
+ (br $label$break$L9)
+ )
+ (set_local $41
+ (get_local $5)
)
+ (set_local $55
+ (get_local $5)
+ )
+ (br $label$break$L9)
)
- (set_local $5
- (i32.add
- (get_local $65)
- (i32.const 1)
+ (set_local $1
+ (i32.load8_s
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
)
)
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (set_local $1
- (i32.add
+ (br $label$continue$L9)
+ )
+ )
+ (block $label$break$L12
+ (if
+ (i32.eq
+ (get_local $12)
+ (i32.const 9)
+ )
+ (loop $while-in$8
+ (block $while-out$7
+ (set_local $12
+ (i32.const 0)
+ )
+ (if
+ (i32.ne
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s offset=1
(get_local $54)
- (i32.const 2)
)
+ (i32.const 24)
)
+ (i32.const 24)
)
- (i32.const 24)
+ (i32.const 37)
+ )
+ (block
+ (set_local $41
+ (get_local $54)
+ )
+ (set_local $55
+ (get_local $65)
+ )
+ (br $label$break$L12)
)
- (i32.const 24)
- )
- (i32.const 37)
- )
- (block
- (set_local $54
- (get_local $1)
- )
- (set_local $65
- (get_local $5)
)
- )
- (block
- (set_local $41
- (get_local $1)
+ (set_local $5
+ (i32.add
+ (get_local $65)
+ (i32.const 1)
+ )
)
- (set_local $55
- (get_local $5)
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (tee_local $1
+ (i32.add
+ (get_local $54)
+ (i32.const 2)
+ )
+ )
+ )
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ (i32.const 37)
+ )
+ (block
+ (set_local $54
+ (get_local $1)
+ )
+ (set_local $65
+ (get_local $5)
+ )
+ )
+ (block
+ (set_local $41
+ (get_local $1)
+ )
+ (set_local $55
+ (get_local $5)
+ )
+ (br $while-out$7)
+ )
)
- (br $while-out$7)
+ (br $while-in$8)
)
)
- (br $while-in$8)
)
)
- )
- (set_local $17
- (i32.sub
- (get_local $55)
- (get_local $20)
+ (set_local $17
+ (i32.sub
+ (get_local $55)
+ (get_local $20)
+ )
)
- )
- (if
- (get_local $44)
(if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
+ (get_local $44)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $20)
+ (get_local $17)
+ (get_local $0)
)
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $20)
- (get_local $17)
- (get_local $0)
)
)
- )
- (if
- (i32.ne
- (get_local $55)
- (get_local $20)
- )
- (block
- (set_local $20
- (get_local $41)
+ (if
+ (i32.ne
+ (get_local $55)
+ (get_local $20)
)
- (set_local $1
- (get_local $17)
+ (block
+ (set_local $20
+ (get_local $41)
+ )
+ (set_local $1
+ (get_local $17)
+ )
+ (br $label$continue$L1)
)
- (br $label$continue$L1)
)
- )
- (set_local $7
- (if
- (i32.lt_u
- (set_local $6
- (i32.add
- (i32.shr_s
- (i32.shl
- (set_local $1
- (i32.load8_s
- (set_local $5
- (i32.add
- (get_local $41)
- (i32.const 1)
+ (set_local $7
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (tee_local $1
+ (i32.load8_s
+ (tee_local $5
+ (i32.add
+ (get_local $41)
+ (i32.const 1)
+ )
)
)
)
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
+ (i32.const -48)
)
- (i32.const -48)
)
+ (i32.const 10)
)
- (i32.const 10)
- )
- (block
- (set_local $1
- (i32.load8_s
- (set_local $5
- (select
- (i32.add
- (get_local $41)
- (i32.const 3)
- )
- (get_local $5)
- (set_local $7
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s offset=2
- (get_local $41)
+ (block
+ (set_local $1
+ (i32.load8_s
+ (tee_local $5
+ (select
+ (i32.add
+ (get_local $41)
+ (i32.const 3)
+ )
+ (get_local $5)
+ (tee_local $7
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s offset=2
+ (get_local $41)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 36)
)
- (i32.const 36)
)
)
)
)
)
- )
- (set_local $11
+ (set_local $11
+ (select
+ (i32.const 1)
+ (get_local $8)
+ (get_local $7)
+ )
+ )
+ (set_local $9
+ (get_local $5)
+ )
(select
- (i32.const 1)
- (get_local $8)
+ (get_local $6)
+ (i32.const -1)
(get_local $7)
)
)
- (set_local $9
- (get_local $5)
- )
- (select
- (get_local $6)
+ (block
+ (set_local $11
+ (get_local $8)
+ )
+ (set_local $9
+ (get_local $5)
+ )
(i32.const -1)
- (get_local $7)
)
)
- (block
- (set_local $11
- (get_local $8)
- )
- (set_local $9
- (get_local $5)
- )
- (i32.const -1)
- )
)
- )
- (block $label$break$L25
- (if
- (i32.eq
- (i32.and
- (set_local $5
- (i32.shr_s
- (i32.shl
- (get_local $1)
+ (block $label$break$L25
+ (if
+ (i32.eq
+ (i32.and
+ (tee_local $5
+ (i32.shr_s
+ (i32.shl
+ (get_local $1)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
+ (i32.const -32)
)
- (i32.const -32)
- )
- (i32.const 32)
- )
- (block
- (set_local $8
- (i32.const 0)
+ (i32.const 32)
)
- (loop $while-out$10 $while-in$11
- (if
- (i32.eq
- (i32.and
- (i32.shl
- (i32.const 1)
- (i32.add
- (get_local $5)
- (i32.const -32)
+ (block
+ (set_local $8
+ (i32.const 0)
+ )
+ (loop $while-in$11
+ (block $while-out$10
+ (br_if $label$break$L25
+ (i32.eq
+ (i32.and
+ (i32.shl
+ (i32.const 1)
+ (i32.add
+ (get_local $5)
+ (i32.const -32)
+ )
+ )
+ (i32.const 75913)
)
+ (i32.const 0)
)
- (i32.const 75913)
)
- (i32.const 0)
- )
- (br $label$break$L25)
- )
- (set_local $8
- (i32.or
- (i32.shl
- (i32.const 1)
- (i32.add
- (i32.shr_s
- (i32.shl
- (get_local $1)
- (i32.const 24)
+ (set_local $8
+ (i32.or
+ (i32.shl
+ (i32.const 1)
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (get_local $1)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ (i32.const -32)
)
- (i32.const 24)
)
- (i32.const -32)
+ (get_local $8)
)
)
- (get_local $8)
- )
- )
- (if
- (i32.eq
- (i32.and
- (set_local $5
- (i32.shr_s
- (i32.shl
- (set_local $1
- (i32.load8_s
- (set_local $6
- (i32.add
- (get_local $9)
- (i32.const 1)
+ (if
+ (i32.eq
+ (i32.and
+ (tee_local $5
+ (i32.shr_s
+ (i32.shl
+ (tee_local $1
+ (i32.load8_s
+ (tee_local $6
+ (i32.add
+ (get_local $9)
+ (i32.const 1)
+ )
+ )
)
)
+ (i32.const 24)
)
+ (i32.const 24)
)
- (i32.const 24)
)
- (i32.const 24)
+ (i32.const -32)
)
+ (i32.const 32)
+ )
+ (set_local $9
+ (get_local $6)
+ )
+ (block
+ (set_local $9
+ (get_local $6)
+ )
+ (br $while-out$10)
)
- (i32.const -32)
- )
- (i32.const 32)
- )
- (set_local $9
- (get_local $6)
- )
- (block
- (set_local $9
- (get_local $6)
)
- (br $while-out$10)
+ (br $while-in$11)
)
)
- (br $while-in$11)
)
- )
- (set_local $8
- (i32.const 0)
+ (set_local $8
+ (i32.const 0)
+ )
)
)
- )
- (block $do-once$12
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $1)
+ (block $do-once$12
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $1)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 42)
)
- (i32.const 42)
- )
- (block
- (if
- (i32.lt_u
- (set_local $1
- (i32.add
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (set_local $6
- (i32.add
- (get_local $9)
- (i32.const 1)
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $1
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (tee_local $6
+ (i32.add
+ (get_local $9)
+ (i32.const 1)
+ )
)
)
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
+ (i32.const -48)
)
- (i32.const -48)
)
+ (i32.const 10)
)
- (i32.const 10)
- )
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s offset=2
- (get_local $9)
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s offset=2
+ (get_local $9)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 36)
)
- (i32.const 36)
- )
- (block
- (i32.store
- (i32.add
- (get_local $4)
- (i32.shl
- (get_local $1)
- (i32.const 2)
+ (block
+ (i32.store
+ (i32.add
+ (get_local $4)
+ (i32.shl
+ (get_local $1)
+ (i32.const 2)
+ )
)
+ (i32.const 10)
)
- (i32.const 10)
- )
- (set_local $5
- (i32.load
- (set_local $1
+ (set_local $1
+ (i32.load
(i32.add
(get_local $3)
(i32.shl
@@ -3635,330 +3516,277 @@
)
)
)
- )
- (i32.load offset=4
- (get_local $1)
- )
- (set_local $66
- (i32.const 1)
- )
- (set_local $67
- (i32.add
- (get_local $9)
- (i32.const 3)
+ (set_local $66
+ (i32.const 1)
+ )
+ (set_local $67
+ (i32.add
+ (get_local $9)
+ (i32.const 3)
+ )
+ )
+ (set_local $56
+ (get_local $1)
)
)
- (set_local $56
- (get_local $5)
+ (set_local $12
+ (i32.const 24)
)
)
(set_local $12
(i32.const 24)
)
)
- (set_local $12
- (i32.const 24)
- )
- )
- (if
- (i32.eq
- (get_local $12)
- (i32.const 24)
- )
- (block
- (set_local $12
- (i32.const 0)
+ (if
+ (i32.eq
+ (get_local $12)
+ (i32.const 24)
)
- (if
- (i32.ne
- (get_local $11)
+ (block
+ (set_local $12
(i32.const 0)
)
- (block
- (set_local $24
- (i32.const -1)
+ (if
+ (i32.ne
+ (get_local $11)
+ (i32.const 0)
)
- (br $label$break$L1)
- )
- )
- (if
- (i32.eqz
- (get_local $44)
- )
- (block
- (set_local $9
- (get_local $6)
+ (block
+ (set_local $24
+ (i32.const -1)
+ )
+ (br $label$break$L1)
)
- (set_local $21
- (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (get_local $44)
)
- (set_local $16
- (i32.const 0)
+ (block
+ (set_local $9
+ (get_local $6)
+ )
+ (set_local $21
+ (i32.const 0)
+ )
+ (set_local $16
+ (i32.const 0)
+ )
+ (br $do-once$12)
)
- (br $do-once$12)
)
- )
- (set_local $5
- (i32.load
- (set_local $1
- (i32.and
- (i32.add
- (i32.load
- (get_local $2)
+ (set_local $5
+ (i32.load
+ (tee_local $1
+ (i32.and
+ (i32.add
+ (i32.load
+ (get_local $2)
+ )
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const -4)
)
- (i32.const -4)
)
)
)
- )
- (i32.store
- (get_local $2)
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (i32.store
+ (get_local $2)
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
+ )
+ (set_local $66
+ (i32.const 0)
+ )
+ (set_local $67
+ (get_local $6)
+ )
+ (set_local $56
+ (get_local $5)
)
- )
- (set_local $66
- (i32.const 0)
- )
- (set_local $67
- (get_local $6)
- )
- (set_local $56
- (get_local $5)
)
)
- )
- (set_local $8
- (if
- (i32.lt_s
- (get_local $56)
- (i32.const 0)
- )
- (block
- (set_local $9
- (get_local $67)
+ (set_local $8
+ (if
+ (i32.lt_s
+ (get_local $56)
+ (i32.const 0)
)
- (set_local $21
- (get_local $66)
+ (block
+ (set_local $9
+ (get_local $67)
+ )
+ (set_local $21
+ (get_local $66)
+ )
+ (set_local $16
+ (i32.sub
+ (i32.const 0)
+ (get_local $56)
+ )
+ )
+ (i32.or
+ (get_local $8)
+ (i32.const 8192)
+ )
)
- (set_local $16
- (i32.sub
- (i32.const 0)
+ (block
+ (set_local $9
+ (get_local $67)
+ )
+ (set_local $21
+ (get_local $66)
+ )
+ (set_local $16
(get_local $56)
)
- )
- (i32.or
(get_local $8)
- (i32.const 8192)
- )
- )
- (block
- (set_local $9
- (get_local $67)
- )
- (set_local $21
- (get_local $66)
)
- (set_local $16
- (get_local $56)
- )
- (get_local $8)
)
)
)
- )
- (if
- (i32.lt_u
- (set_local $6
- (i32.add
- (i32.shr_s
- (i32.shl
- (get_local $1)
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (get_local $1)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const -48)
)
- (i32.const -48)
)
+ (i32.const 10)
)
- (i32.const 10)
- )
- (block
- (set_local $1
- (get_local $9)
- )
- (set_local $5
- (i32.const 0)
- )
- (loop $while-out$14 $while-in$15
+ (block
+ (set_local $1
+ (get_local $9)
+ )
(set_local $5
- (i32.add
- (i32.mul
- (get_local $5)
- (i32.const 10)
- )
- (get_local $6)
- )
+ (i32.const 0)
)
- (if
- (i32.ge_u
- (set_local $6
+ (loop $while-in$15
+ (block $while-out$14
+ (set_local $5
(i32.add
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (i32.mul
+ (get_local $5)
+ (i32.const 10)
+ )
+ (get_local $6)
+ )
+ )
+ (br_if $while-out$14
+ (i32.ge_u
+ (tee_local $6
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
)
+ (i32.const 24)
)
+ (i32.const 24)
)
- (i32.const 24)
+ (i32.const -48)
)
- (i32.const 24)
)
- (i32.const -48)
+ (i32.const 10)
)
)
- (i32.const 10)
+ (br $while-in$15)
)
- (br $while-out$14)
)
- (br $while-in$15)
- )
- (if
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- (block
- (set_local $24
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- (block
- (set_local $9
- (get_local $1)
+ (if
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
)
- (set_local $21
- (get_local $11)
+ (block
+ (set_local $24
+ (i32.const -1)
+ )
+ (br $label$break$L1)
)
- (set_local $16
- (get_local $5)
+ (block
+ (set_local $9
+ (get_local $1)
+ )
+ (set_local $21
+ (get_local $11)
+ )
+ (set_local $16
+ (get_local $5)
+ )
)
)
)
- )
- (block
- (set_local $21
- (get_local $11)
- )
- (set_local $16
- (i32.const 0)
+ (block
+ (set_local $21
+ (get_local $11)
+ )
+ (set_local $16
+ (i32.const 0)
+ )
)
)
)
)
- )
- (set_local $11
- (block $label$break$L46
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $9)
+ (set_local $11
+ (block $label$break$L46
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $9)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 46)
)
- (i32.const 46)
- )
- (block
- (if
- (i32.ne
- (i32.shr_s
- (i32.shl
- (set_local $1
- (i32.load8_s
- (set_local $5
- (i32.add
- (get_local $9)
- (i32.const 1)
+ (block
+ (if
+ (i32.ne
+ (i32.shr_s
+ (i32.shl
+ (tee_local $1
+ (i32.load8_s
+ (tee_local $5
+ (i32.add
+ (get_local $9)
+ (i32.const 1)
+ )
)
)
)
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
- )
- (i32.const 42)
- )
- (block
- (if
- (i32.lt_u
- (set_local $6
- (i32.add
- (i32.shr_s
- (i32.shl
- (get_local $1)
- (i32.const 24)
- )
- (i32.const 24)
- )
- (i32.const -48)
- )
- )
- (i32.const 10)
- )
- (block
- (set_local $1
- (get_local $5)
- )
- (set_local $5
- (i32.const 0)
- )
- )
- (block
- (set_local $10
- (i32.const 0)
- )
- (br $label$break$L46
- (get_local $5)
- )
- )
+ (i32.const 42)
)
- (loop $while-in$18
- (set_local $5
- (i32.add
- (i32.mul
- (get_local $5)
- (i32.const 10)
- )
- (get_local $6)
- )
- )
+ (block
(if
- (i32.ge_u
- (set_local $6
+ (i32.lt_u
+ (tee_local $6
(i32.add
(i32.shr_s
(i32.shl
- (i32.load8_s
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
- )
- )
- )
+ (get_local $1)
(i32.const 24)
)
(i32.const 24)
@@ -3969,68 +3797,117 @@
(i32.const 10)
)
(block
- (set_local $10
+ (set_local $1
(get_local $5)
)
+ (set_local $5
+ (i32.const 0)
+ )
+ )
+ (block
+ (set_local $10
+ (i32.const 0)
+ )
(br $label$break$L46
- (get_local $1)
+ (get_local $5)
)
)
)
- (br $while-in$18)
- )
- )
- )
- (if
- (i32.lt_u
- (set_local $1
- (i32.add
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (set_local $6
- (i32.add
- (get_local $9)
- (i32.const 2)
+ (loop $while-in$18
+ (set_local $5
+ (i32.add
+ (i32.mul
+ (get_local $5)
+ (i32.const 10)
+ )
+ (get_local $6)
+ )
+ )
+ (if
+ (i32.ge_u
+ (tee_local $6
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
+ )
+ (i32.const 24)
+ )
+ (i32.const 24)
)
+ (i32.const -48)
)
)
- (i32.const 24)
+ (i32.const 10)
+ )
+ (block
+ (set_local $10
+ (get_local $5)
+ )
+ (br $label$break$L46
+ (get_local $1)
+ )
)
- (i32.const 24)
)
- (i32.const -48)
+ (br $while-in$18)
)
)
- (i32.const 10)
)
(if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s offset=3
- (get_local $9)
+ (i32.lt_u
+ (tee_local $1
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (tee_local $6
+ (i32.add
+ (get_local $9)
+ (i32.const 2)
+ )
+ )
+ )
+ (i32.const 24)
+ )
+ (i32.const 24)
)
- (i32.const 24)
+ (i32.const -48)
)
- (i32.const 24)
)
- (i32.const 36)
+ (i32.const 10)
)
- (block
- (i32.store
- (i32.add
- (get_local $4)
+ (if
+ (i32.eq
+ (i32.shr_s
(i32.shl
- (get_local $1)
- (i32.const 2)
+ (i32.load8_s offset=3
+ (get_local $9)
+ )
+ (i32.const 24)
)
+ (i32.const 24)
)
- (i32.const 10)
+ (i32.const 36)
)
- (set_local $5
- (i32.load
- (set_local $1
+ (block
+ (i32.store
+ (i32.add
+ (get_local $4)
+ (i32.shl
+ (get_local $1)
+ (i32.const 2)
+ )
+ )
+ (i32.const 10)
+ )
+ (set_local $1
+ (i32.load
(i32.add
(get_local $3)
(i32.shl
@@ -4051,184 +3928,157 @@
)
)
)
- )
- (i32.load offset=4
- (get_local $1)
- )
- (set_local $10
- (get_local $5)
- )
- (br $label$break$L46
- (i32.add
- (get_local $9)
- (i32.const 4)
+ (set_local $10
+ (get_local $1)
+ )
+ (br $label$break$L46
+ (i32.add
+ (get_local $9)
+ (i32.const 4)
+ )
)
)
)
)
- )
- (if
- (i32.ne
- (get_local $21)
- (i32.const 0)
- )
- (block
- (set_local $24
- (i32.const -1)
+ (if
+ (i32.ne
+ (get_local $21)
+ (i32.const 0)
+ )
+ (block
+ (set_local $24
+ (i32.const -1)
+ )
+ (br $label$break$L1)
)
- (br $label$break$L1)
)
- )
- (if
- (get_local $44)
- (block
- (set_local $5
- (i32.load
- (set_local $1
- (i32.and
- (i32.add
- (i32.load
- (get_local $2)
+ (if
+ (get_local $44)
+ (block
+ (set_local $5
+ (i32.load
+ (tee_local $1
+ (i32.and
+ (i32.add
+ (i32.load
+ (get_local $2)
+ )
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const -4)
)
- (i32.const -4)
)
)
)
- )
- (i32.store
- (get_local $2)
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (i32.store
+ (get_local $2)
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
)
+ (set_local $10
+ (get_local $5)
+ )
+ (get_local $6)
)
- (set_local $10
- (get_local $5)
- )
- (get_local $6)
- )
- (block
- (set_local $10
- (i32.const 0)
+ (block
+ (set_local $10
+ (i32.const 0)
+ )
+ (get_local $6)
)
- (get_local $6)
)
)
- )
- (block
- (set_local $10
- (i32.const -1)
+ (block
+ (set_local $10
+ (i32.const -1)
+ )
+ (get_local $9)
)
- (get_local $9)
)
)
)
- )
- (set_local $13
- (i32.const 0)
- )
- (loop $while-out$19 $while-in$20
- (if
- (i32.gt_u
- (set_local $1
- (i32.add
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $11)
+ (set_local $13
+ (i32.const 0)
+ )
+ (loop $while-in$20
+ (block $while-out$19
+ (if
+ (i32.gt_u
+ (tee_local $1
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $11)
+ )
+ (i32.const 24)
+ )
+ (i32.const 24)
)
- (i32.const 24)
+ (i32.const -65)
)
- (i32.const 24)
)
- (i32.const -65)
+ (i32.const 57)
+ )
+ (block
+ (set_local $24
+ (i32.const -1)
+ )
+ (br $label$break$L1)
)
)
- (i32.const 57)
- )
- (block
- (set_local $24
- (i32.const -1)
+ (set_local $9
+ (i32.add
+ (get_local $11)
+ (i32.const 1)
+ )
)
- (br $label$break$L1)
- )
- )
- (set_local $9
- (i32.add
- (get_local $11)
- (i32.const 1)
- )
- )
- (if
- (i32.lt_u
- (i32.add
- (set_local $5
- (i32.and
- (set_local $1
- (i32.load8_s
- (i32.add
- (i32.add
- (i32.const 3611)
- (i32.mul
- (get_local $13)
- (i32.const 58)
+ (if
+ (i32.lt_u
+ (i32.add
+ (tee_local $5
+ (i32.and
+ (tee_local $1
+ (i32.load8_s
+ (i32.add
+ (i32.add
+ (i32.const 3611)
+ (i32.mul
+ (get_local $13)
+ (i32.const 58)
+ )
+ )
+ (get_local $1)
)
)
- (get_local $1)
)
+ (i32.const 255)
)
)
- (i32.const 255)
+ (i32.const -1)
)
+ (i32.const 8)
+ )
+ (block
+ (set_local $11
+ (get_local $9)
+ )
+ (set_local $13
+ (get_local $5)
+ )
+ )
+ (block
+ (set_local $6
+ (get_local $5)
+ )
+ (br $while-out$19)
)
- (i32.const -1)
- )
- (i32.const 8)
- )
- (block
- (set_local $11
- (get_local $9)
- )
- (set_local $13
- (get_local $5)
- )
- )
- (block
- (set_local $6
- (get_local $5)
- )
- (br $while-out$19)
- )
- )
- (br $while-in$20)
- )
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $1)
- (i32.const 24)
)
- (i32.const 24)
- )
- (i32.const 0)
- )
- (block
- (set_local $24
- (i32.const -1)
+ (br $while-in$20)
)
- (br $label$break$L1)
)
- )
- (set_local $5
- (i32.gt_s
- (get_local $7)
- (i32.const -1)
- )
- )
- (block $do-once$21
(if
(i32.eq
(i32.shr_s
@@ -4238,202 +4088,244 @@
)
(i32.const 24)
)
- (i32.const 19)
+ (i32.const 0)
)
+ (block
+ (set_local $24
+ (i32.const -1)
+ )
+ (br $label$break$L1)
+ )
+ )
+ (set_local $5
+ (i32.gt_s
+ (get_local $7)
+ (i32.const -1)
+ )
+ )
+ (block $do-once$21
(if
- (get_local $5)
- (block
- (set_local $24
- (i32.const -1)
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $1)
+ (i32.const 24)
+ )
+ (i32.const 24)
)
- (br $label$break$L1)
+ (i32.const 19)
)
- (set_local $12
- (i32.const 52)
- )
- )
- (block
(if
(get_local $5)
(block
- (i32.store
- (i32.add
- (get_local $4)
- (i32.shl
- (get_local $7)
- (i32.const 2)
+ (set_local $24
+ (i32.const -1)
+ )
+ (br $label$break$L1)
+ )
+ (set_local $12
+ (i32.const 52)
+ )
+ )
+ (block
+ (if
+ (get_local $5)
+ (block
+ (i32.store
+ (i32.add
+ (get_local $4)
+ (i32.shl
+ (get_local $7)
+ (i32.const 2)
+ )
)
+ (get_local $6)
)
- (get_local $6)
- )
- (set_local $5
- (i32.load
- (set_local $1
- (i32.add
- (get_local $3)
- (i32.shl
- (get_local $7)
- (i32.const 3)
+ (set_local $5
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $3)
+ (i32.shl
+ (get_local $7)
+ (i32.const 3)
+ )
)
)
)
)
- )
- (set_local $1
- (i32.load offset=4
+ (set_local $1
+ (i32.load offset=4
+ (get_local $1)
+ )
+ )
+ (i32.store
+ (tee_local $7
+ (get_local $19)
+ )
+ (get_local $5)
+ )
+ (i32.store offset=4
+ (get_local $7)
(get_local $1)
)
- )
- (i32.store
- (set_local $7
- (get_local $19)
+ (set_local $12
+ (i32.const 52)
)
- (get_local $5)
+ (br $do-once$21)
)
- (i32.store offset=4
- (get_local $7)
- (get_local $1)
+ )
+ (if
+ (i32.eqz
+ (get_local $44)
)
- (set_local $12
- (i32.const 52)
+ (block
+ (set_local $24
+ (i32.const 0)
+ )
+ (br $label$break$L1)
)
- (br $do-once$21)
+ )
+ (call $_pop_arg_336
+ (get_local $19)
+ (get_local $6)
+ (get_local $2)
)
)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $12)
+ (i32.const 52)
+ )
+ (block
+ (set_local $12
+ (i32.const 0)
+ )
(if
(i32.eqz
(get_local $44)
)
(block
- (set_local $24
- (i32.const 0)
+ (set_local $20
+ (get_local $9)
)
- (br $label$break$L1)
+ (set_local $1
+ (get_local $17)
+ )
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
)
)
- (call $_pop_arg_336
- (get_local $19)
- (get_local $6)
- (get_local $2)
- )
)
)
- )
- (if
- (i32.eq
- (get_local $12)
- (i32.const 52)
- )
- (block
- (set_local $12
- (i32.const 0)
- )
- (if
- (i32.eqz
- (get_local $44)
- )
- (block
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
+ (set_local $5
+ (i32.and
+ (i32.ne
+ (get_local $13)
+ (i32.const 0)
)
- )
- )
- )
- (set_local $5
- (i32.and
- (i32.ne
- (get_local $13)
- (i32.const 0)
- )
- (i32.eq
- (i32.and
- (set_local $1
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $11)
+ (i32.eq
+ (i32.and
+ (tee_local $1
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $11)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
)
+ (i32.const 15)
)
- (i32.const 15)
+ (i32.const 3)
)
- (i32.const 3)
)
)
- )
- (set_local $18
- (select
- (get_local $8)
- (set_local $7
- (i32.and
- (get_local $8)
- (i32.const -65537)
+ (set_local $18
+ (select
+ (get_local $8)
+ (tee_local $7
+ (i32.and
+ (get_local $8)
+ (i32.const -65537)
+ )
)
- )
- (i32.eq
- (i32.and
- (get_local $8)
- (i32.const 8192)
+ (i32.eq
+ (i32.and
+ (get_local $8)
+ (i32.const 8192)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
)
- )
- (block $switch$24
- (block $switch-default$127
- (block $switch-case$49
- (block $switch-case$48
- (block $switch-case$47
- (block $switch-case$46
- (block $switch-case$45
- (block $switch-case$44
- (block $switch-case$43
- (block $switch-case$41
- (block $switch-case$40
- (block $switch-case$36
- (block $switch-case$35
- (block $switch-case$34
- (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$49 $switch-default$127 $switch-case$44 $switch-case$41 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127
- (i32.sub
- (set_local $26
- (select
- (i32.and
+ (block $switch$24
+ (block $switch-default$127
+ (block $switch-case$49
+ (block $switch-case$48
+ (block $switch-case$47
+ (block $switch-case$46
+ (block $switch-case$45
+ (block $switch-case$44
+ (block $switch-case$43
+ (block $switch-case$41
+ (block $switch-case$40
+ (block $switch-case$36
+ (block $switch-case$35
+ (block $switch-case$34
+ (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$49 $switch-default$127 $switch-case$44 $switch-case$41 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127
+ (i32.sub
+ (tee_local $26
+ (select
+ (i32.and
+ (get_local $1)
+ (i32.const -33)
+ )
(get_local $1)
- (i32.const -33)
+ (get_local $5)
)
- (get_local $1)
- (get_local $5)
)
+ (i32.const 65)
)
- (i32.const 65)
)
)
- )
- (block $switch-default$33
- (block $switch-case$32
- (block $switch-case$31
- (block $switch-case$30
- (block $switch-case$29
- (block $switch-case$28
- (block $switch-case$27
- (block $switch-case$26
- (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33
- (i32.sub
- (get_local $13)
- (i32.const 0)
+ (block $switch-default$33
+ (block $switch-case$32
+ (block $switch-case$31
+ (block $switch-case$30
+ (block $switch-case$29
+ (block $switch-case$28
+ (block $switch-case$27
+ (block $switch-case$26
+ (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33
+ (i32.sub
+ (get_local $13)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.store
+ (i32.load
+ (get_local $19)
)
+ (get_local $22)
+ )
+ (set_local $20
+ (get_local $9)
+ )
+ (set_local $1
+ (get_local $17)
)
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
)
(i32.store
(i32.load
@@ -4453,11 +4345,26 @@
(br $label$continue$L1)
)
(i32.store
- (i32.load
- (get_local $19)
+ (tee_local $1
+ (i32.load
+ (get_local $19)
+ )
)
(get_local $22)
)
+ (i32.store offset=4
+ (get_local $1)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $22)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
(set_local $20
(get_local $9)
)
@@ -4469,25 +4376,13 @@
)
(br $label$continue$L1)
)
- (i32.store
- (set_local $1
- (i32.load
- (get_local $19)
- )
+ (i32.store16
+ (i32.load
+ (get_local $19)
)
- (get_local $22)
- )
- (i32.store offset=4
- (get_local $1)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $22)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
+ (i32.and
+ (get_local $22)
+ (i32.const 65535)
)
)
(set_local $20
@@ -4501,13 +4396,13 @@
)
(br $label$continue$L1)
)
- (i32.store16
+ (i32.store8
(i32.load
(get_local $19)
)
(i32.and
(get_local $22)
- (i32.const 65535)
+ (i32.const 255)
)
)
(set_local $20
@@ -4521,14 +4416,11 @@
)
(br $label$continue$L1)
)
- (i32.store8
+ (i32.store
(i32.load
(get_local $19)
)
- (i32.and
- (get_local $22)
- (i32.const 255)
- )
+ (get_local $22)
)
(set_local $20
(get_local $9)
@@ -4542,11 +4434,26 @@
(br $label$continue$L1)
)
(i32.store
- (i32.load
- (get_local $19)
+ (tee_local $1
+ (i32.load
+ (get_local $19)
+ )
)
(get_local $22)
)
+ (i32.store offset=4
+ (get_local $1)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $22)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
(set_local $20
(get_local $9)
)
@@ -4558,27 +4465,6 @@
)
(br $label$continue$L1)
)
- (i32.store
- (set_local $1
- (i32.load
- (get_local $19)
- )
- )
- (get_local $22)
- )
- (i32.store offset=4
- (get_local $1)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $22)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
(set_local $20
(get_local $9)
)
@@ -4590,377 +4476,380 @@
)
(br $label$continue$L1)
)
- (set_local $20
- (get_local $9)
+ (set_local $46
+ (i32.or
+ (get_local $18)
+ (i32.const 8)
+ )
)
- (set_local $1
- (get_local $17)
+ (set_local $57
+ (select
+ (get_local $10)
+ (i32.const 8)
+ (i32.gt_u
+ (get_local $10)
+ (i32.const 8)
+ )
+ )
)
- (set_local $8
- (get_local $21)
+ (set_local $68
+ (i32.const 120)
)
- (br $label$continue$L1)
+ (set_local $12
+ (i32.const 64)
+ )
+ (br $switch$24)
)
(set_local $46
- (i32.or
- (get_local $18)
- (i32.const 8)
- )
+ (get_local $18)
)
(set_local $57
- (select
- (get_local $10)
- (i32.const 8)
- (i32.gt_u
- (get_local $10)
- (i32.const 8)
- )
- )
+ (get_local $10)
)
(set_local $68
- (i32.const 120)
+ (get_local $26)
)
(set_local $12
(i32.const 64)
)
(br $switch$24)
)
- (set_local $46
- (get_local $18)
- )
- (set_local $57
- (get_local $10)
- )
- (set_local $68
- (get_local $26)
- )
- (set_local $12
- (i32.const 64)
- )
- (br $switch$24)
- )
- (if
- (i32.and
- (i32.eq
- (set_local $5
- (i32.load
- (set_local $1
- (get_local $19)
+ (if
+ (i32.and
+ (i32.eq
+ (tee_local $5
+ (i32.load
+ (tee_local $1
+ (get_local $19)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (i32.eq
- (set_local $1
- (i32.load offset=4
- (get_local $1)
+ (i32.eq
+ (tee_local $1
+ (i32.load offset=4
+ (get_local $1)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $6
- (get_local $28)
- )
- (block
(set_local $6
(get_local $28)
)
- (loop $while-out$38 $while-in$39
- (i32.store8
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
- )
- (i32.and
- (i32.or
- (i32.and
- (get_local $5)
- (i32.const 7)
- )
- (i32.const 48)
- )
- (i32.const 255)
- )
+ (block
+ (set_local $6
+ (get_local $28)
)
- (if
- (i32.and
- (i32.eq
- (set_local $5
- (call $_bitshift64Lshr
- (get_local $5)
- (get_local $1)
- (i32.const 3)
+ (loop $while-in$39
+ (block $while-out$38
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
)
)
- (i32.const 0)
+ (i32.and
+ (i32.or
+ (i32.and
+ (get_local $5)
+ (i32.const 7)
+ )
+ (i32.const 48)
+ )
+ (i32.const 255)
+ )
)
- (i32.eq
- (set_local $1
- (i32.load
- (i32.const 168)
+ (br_if $while-out$38
+ (i32.and
+ (i32.eq
+ (tee_local $5
+ (call $_bitshift64Lshr
+ (get_local $5)
+ (get_local $1)
+ (i32.const 3)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.eq
+ (tee_local $1
+ (get_global $tempRet0)
+ )
+ (i32.const 0)
)
)
- (i32.const 0)
)
+ (br $while-in$39)
)
- (br $while-out$38)
)
- (br $while-in$39)
)
)
- )
- (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
+ (set_local $58
+ (if
+ (i32.eq
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
+ )
(i32.const 0)
)
- (set_local $36
- (i32.const 4091)
- )
- (set_local $12
- (i32.const 77)
- )
- (get_local $6)
- )
- (block
- (set_local $5
- (i32.lt_s
+ (block
+ (set_local $34
+ (get_local $18)
+ )
+ (set_local $32
(get_local $10)
- (set_local $1
- (i32.add
- (i32.sub
- (get_local $71)
- (get_local $6)
+ )
+ (set_local $35
+ (i32.const 0)
+ )
+ (set_local $36
+ (i32.const 4091)
+ )
+ (set_local $12
+ (i32.const 77)
+ )
+ (get_local $6)
+ )
+ (block
+ (set_local $5
+ (i32.lt_s
+ (get_local $10)
+ (tee_local $1
+ (i32.add
+ (i32.sub
+ (get_local $71)
+ (get_local $6)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
)
)
- )
- (set_local $34
- (get_local $18)
- )
- (set_local $32
- (select
- (get_local $1)
- (get_local $10)
- (get_local $5)
+ (set_local $34
+ (get_local $18)
)
+ (set_local $32
+ (select
+ (get_local $1)
+ (get_local $10)
+ (get_local $5)
+ )
+ )
+ (set_local $35
+ (i32.const 0)
+ )
+ (set_local $36
+ (i32.const 4091)
+ )
+ (set_local $12
+ (i32.const 77)
+ )
+ (get_local $6)
)
- (set_local $35
- (i32.const 0)
- )
- (set_local $36
- (i32.const 4091)
- )
- (set_local $12
- (i32.const 77)
- )
- (get_local $6)
- )
- )
- )
- (br $switch$24)
- )
- (set_local $5
- (i32.load
- (set_local $1
- (get_local $19)
- )
- )
- )
- (if
- (i32.lt_s
- (set_local $33
- (i32.load offset=4
- (get_local $1)
)
)
- (i32.const 0)
+ (br $switch$24)
)
- (block
- (set_local $1
- (call $_i64Subtract
- (i32.const 0)
- (i32.const 0)
- (get_local $5)
- (get_local $33)
- )
- )
- (set_local $5
- (i32.load
- (i32.const 168)
- )
- )
- (i32.store
- (set_local $33
+ (set_local $5
+ (i32.load
+ (tee_local $1
(get_local $19)
)
- (get_local $1)
- )
- (i32.store offset=4
- (get_local $33)
- (get_local $5)
- )
- (set_local $33
- (get_local $1)
- )
- (set_local $59
- (get_local $5)
- )
- (set_local $60
- (i32.const 1)
- )
- (set_local $61
- (i32.const 4091)
)
- (set_local $12
- (i32.const 76)
- )
- (br $switch$24)
)
- )
- (set_local $33
(if
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 2048)
+ (i32.lt_s
+ (tee_local $33
+ (i32.load offset=4
+ (get_local $1)
+ )
)
(i32.const 0)
)
(block
(set_local $1
- (select
- (i32.const 4091)
- (i32.const 4093)
- (i32.eq
- (set_local $6
- (i32.and
- (get_local $18)
- (i32.const 1)
- )
- )
- (i32.const 0)
- )
+ (call $_i64Subtract
+ (i32.const 0)
+ (i32.const 0)
+ (get_local $5)
+ (get_local $33)
)
)
- (set_local $59
- (get_local $33)
- )
- (set_local $60
- (get_local $6)
+ (set_local $5
+ (get_global $tempRet0)
)
- (set_local $61
+ (i32.store
+ (tee_local $33
+ (get_local $19)
+ )
(get_local $1)
)
- (set_local $12
- (i32.const 76)
+ (i32.store offset=4
+ (get_local $33)
+ (get_local $5)
+ )
+ (set_local $33
+ (get_local $1)
)
- (get_local $5)
- )
- (block
(set_local $59
- (get_local $33)
+ (get_local $5)
)
(set_local $60
(i32.const 1)
)
(set_local $61
- (i32.const 4092)
+ (i32.const 4091)
)
(set_local $12
(i32.const 76)
)
- (get_local $5)
+ (br $switch$24)
+ )
+ )
+ (set_local $33
+ (if
+ (i32.eq
+ (i32.and
+ (get_local $18)
+ (i32.const 2048)
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $1
+ (select
+ (i32.const 4091)
+ (i32.const 4093)
+ (i32.eq
+ (tee_local $6
+ (i32.and
+ (get_local $18)
+ (i32.const 1)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (set_local $59
+ (get_local $33)
+ )
+ (set_local $60
+ (get_local $6)
+ )
+ (set_local $61
+ (get_local $1)
+ )
+ (set_local $12
+ (i32.const 76)
+ )
+ (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)
+ )
+ (set_local $33
+ (i32.load
+ (tee_local $1
+ (get_local $19)
)
)
)
+ (set_local $59
+ (i32.load offset=4
+ (get_local $1)
+ )
+ )
+ (set_local $60
+ (i32.const 0)
+ )
+ (set_local $61
+ (i32.const 4091)
+ )
+ (set_local $12
+ (i32.const 76)
+ )
(br $switch$24)
)
- (set_local $33
+ (set_local $1
(i32.load
- (set_local $1
- (get_local $19)
- )
+ (get_local $19)
)
)
- (set_local $59
- (i32.load offset=4
+ (i32.store8
+ (get_local $72)
+ (i32.and
(get_local $1)
+ (i32.const 255)
)
)
- (set_local $60
+ (set_local $47
+ (get_local $72)
+ )
+ (set_local $37
+ (get_local $7)
+ )
+ (set_local $42
+ (i32.const 1)
+ )
+ (set_local $43
(i32.const 0)
)
- (set_local $61
+ (set_local $48
(i32.const 4091)
)
- (set_local $12
- (i32.const 76)
+ (set_local $49
+ (get_local $28)
)
(br $switch$24)
)
- (set_local $5
- (i32.load
- (set_local $1
- (get_local $19)
+ (set_local $50
+ (call $_strerror
+ (i32.load
+ (call $___errno_location)
)
)
)
- (i32.load offset=4
- (get_local $1)
+ (set_local $12
+ (i32.const 82)
)
- (i32.store8
- (get_local $72)
- (i32.and
- (get_local $5)
- (i32.const 255)
+ (br $switch$24)
+ )
+ (set_local $5
+ (i32.ne
+ (tee_local $1
+ (i32.load
+ (get_local $19)
+ )
)
- )
- (set_local $47
- (get_local $72)
- )
- (set_local $37
- (get_local $7)
- )
- (set_local $42
- (i32.const 1)
- )
- (set_local $43
(i32.const 0)
)
- (set_local $48
- (i32.const 4091)
- )
- (set_local $49
- (get_local $28)
- )
- (br $switch$24)
)
(set_local $50
- (call $_strerror
- (i32.load
- (call $___errno_location)
- )
+ (select
+ (get_local $1)
+ (i32.const 4101)
+ (get_local $5)
)
)
(set_local $12
@@ -4968,1084 +4857,1074 @@
)
(br $switch$24)
)
- (set_local $5
- (i32.ne
- (set_local $1
- (i32.load
- (get_local $19)
- )
- )
- (i32.const 0)
+ (set_local $1
+ (i32.load
+ (get_local $19)
)
)
- (set_local $50
- (select
- (get_local $1)
- (i32.const 4101)
- (get_local $5)
- )
+ (i32.store
+ (get_local $73)
+ (get_local $1)
+ )
+ (i32.store
+ (get_local $76)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $19)
+ (get_local $73)
+ )
+ (set_local $69
+ (i32.const -1)
)
(set_local $12
- (i32.const 82)
+ (i32.const 86)
)
(br $switch$24)
)
- (set_local $5
- (i32.load
- (set_local $1
- (get_local $19)
- )
- )
- )
- (i32.load offset=4
- (get_local $1)
- )
- (i32.store
- (get_local $73)
- (get_local $5)
- )
- (i32.store
- (get_local $76)
- (i32.const 0)
- )
- (i32.store
- (get_local $19)
- (get_local $73)
- )
- (set_local $69
- (i32.const -1)
- )
(set_local $12
- (i32.const 86)
- )
- (br $switch$24)
- )
- (set_local $12
- (if
- (i32.eq
- (get_local $10)
- (i32.const 0)
- )
- (block
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
+ (if
+ (i32.eq
+ (get_local $10)
(i32.const 0)
- (get_local $18)
)
- (set_local $38
- (i32.const 0)
+ (block
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (i32.const 0)
+ (get_local $18)
+ )
+ (set_local $38
+ (i32.const 0)
+ )
+ (i32.const 98)
)
- (i32.const 98)
- )
- (block
- (set_local $69
- (get_local $10)
+ (block
+ (set_local $69
+ (get_local $10)
+ )
+ (i32.const 86)
)
- (i32.const 86)
)
)
+ (br $switch$24)
)
- (br $switch$24)
- )
- (set_local $15
- (f64.load
- (get_local $19)
+ (set_local $14
+ (f64.load
+ (get_local $19)
+ )
)
- )
- (i32.store
- (get_local $25)
- (i32.const 0)
- )
- (f64.store
- (i32.load
- (i32.const 24)
+ (i32.store
+ (get_local $25)
+ (i32.const 0)
)
- (get_local $15)
- )
- (i32.load
- (i32.load
- (i32.const 24)
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $14)
)
- )
- (set_local $51
- (if
- (i32.lt_s
- (i32.load offset=4
- (i32.load
- (i32.const 24)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $39
- (i32.const 4108)
- )
- (set_local $15
- (f64.neg
- (get_local $15)
- )
- )
- (i32.const 1)
- )
+ (set_local $51
(if
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 2048)
+ (i32.lt_s
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
)
(i32.const 0)
)
(block
(set_local $39
- (select
- (i32.const 4109)
- (i32.const 4114)
- (i32.eq
- (set_local $1
- (i32.and
- (get_local $18)
- (i32.const 1)
- )
- )
- (i32.const 0)
- )
- )
+ (i32.const 4108)
)
- (get_local $1)
- )
- (block
- (set_local $39
- (i32.const 4111)
+ (set_local $14
+ (f64.neg
+ (get_local $14)
+ )
)
(i32.const 1)
)
- )
- )
- )
- (f64.store
- (i32.load
- (i32.const 24)
- )
- (get_local $15)
- )
- (i32.load
- (i32.load
- (i32.const 24)
- )
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (block $do-once$56
- (if
- (i32.or
- (i32.lt_u
- (set_local $1
- (i32.and
- (i32.load offset=4
- (i32.load
- (i32.const 24)
+ (if
+ (i32.eq
+ (i32.and
+ (get_local $18)
+ (i32.const 2048)
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $39
+ (select
+ (i32.const 4109)
+ (i32.const 4114)
+ (i32.eq
+ (tee_local $1
+ (i32.and
+ (get_local $18)
+ (i32.const 1)
+ )
)
+ (i32.const 0)
)
- (i32.const 2146435072)
)
)
- (i32.const 2146435072)
+ (get_local $1)
)
- (i32.and
- (i32.eq
- (get_local $1)
- (i32.const 2146435072)
+ (block
+ (set_local $39
+ (i32.const 4111)
)
- (i32.const 0)
+ (i32.const 1)
)
)
- (block
- (if
- (set_local $5
- (f64.ne
- (set_local $15
- (f64.mul
- (call $_frexpl
- (get_local $15)
- (get_local $25)
- )
- (f64.const 2)
+ )
+ )
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $14)
+ )
+ (set_local $20
+ (get_local $9)
+ )
+ (set_local $1
+ (block $do-once$56
+ (if
+ (i32.or
+ (i32.lt_u
+ (tee_local $1
+ (i32.and
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
)
+ (i32.const 2146435072)
)
- (f64.const 0)
)
+ (i32.const 2146435072)
)
- (i32.store
- (get_local $25)
- (i32.add
- (i32.load
- (get_local $25)
- )
- (i32.const -1)
+ (i32.and
+ (i32.eq
+ (get_local $1)
+ (i32.const 2146435072)
)
+ (i32.const 0)
)
)
- (if
- (i32.eq
- (set_local $14
- (i32.or
- (get_local $26)
- (i32.const 32)
- )
- )
- (i32.const 97)
- )
- (block
- (set_local $9
- (select
- (get_local $39)
- (i32.add
- (get_local $39)
- (i32.const 9)
- )
- (i32.eq
- (set_local $6
- (i32.and
- (get_local $26)
- (i32.const 32)
+ (block
+ (if
+ (tee_local $5
+ (f64.ne
+ (tee_local $14
+ (f64.mul
+ (call $_frexpl
+ (get_local $14)
+ (get_local $25)
)
+ (f64.const 2)
)
- (i32.const 0)
)
+ (f64.const 0)
)
)
- (set_local $7
- (i32.or
- (get_local $51)
- (i32.const 2)
+ (i32.store
+ (get_local $25)
+ (i32.add
+ (i32.load
+ (get_local $25)
+ )
+ (i32.const -1)
)
)
- (set_local $15
- (if
+ )
+ (if
+ (i32.eq
+ (tee_local $15
(i32.or
- (i32.gt_u
- (get_local $10)
- (i32.const 11)
+ (get_local $26)
+ (i32.const 32)
+ )
+ )
+ (i32.const 97)
+ )
+ (block
+ (set_local $9
+ (select
+ (get_local $39)
+ (i32.add
+ (get_local $39)
+ (i32.const 9)
)
(i32.eq
- (set_local $1
- (i32.sub
- (i32.const 12)
- (get_local $10)
+ (tee_local $6
+ (i32.and
+ (get_local $26)
+ (i32.const 32)
)
)
(i32.const 0)
)
)
- (get_local $15)
- (block
- (set_local $30
- (f64.const 8)
- )
- (loop $while-out$60 $while-in$61
- (set_local $30
- (f64.mul
- (get_local $30)
- (f64.const 16)
- )
+ )
+ (set_local $7
+ (i32.or
+ (get_local $51)
+ (i32.const 2)
+ )
+ )
+ (set_local $14
+ (if
+ (i32.or
+ (i32.gt_u
+ (get_local $10)
+ (i32.const 11)
)
- (if
- (i32.eq
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const -1)
- )
+ (i32.eq
+ (tee_local $1
+ (i32.sub
+ (i32.const 12)
+ (get_local $10)
)
- (i32.const 0)
)
- (br $while-out$60)
+ (i32.const 0)
)
- (br $while-in$61)
)
- (select
- (f64.neg
- (f64.add
- (get_local $30)
- (f64.sub
- (f64.neg
- (get_local $15)
+ (get_local $14)
+ (block
+ (set_local $30
+ (f64.const 8)
+ )
+ (loop $while-in$61
+ (block $while-out$60
+ (set_local $30
+ (f64.mul
+ (get_local $30)
+ (f64.const 16)
+ )
+ )
+ (br_if $while-out$60
+ (i32.eq
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const -1)
+ )
+ )
+ (i32.const 0)
)
- (get_local $30)
)
+ (br $while-in$61)
)
)
- (f64.sub
- (f64.add
- (get_local $15)
+ (select
+ (f64.neg
+ (f64.add
+ (get_local $30)
+ (f64.sub
+ (f64.neg
+ (get_local $14)
+ )
+ (get_local $30)
+ )
+ )
+ )
+ (f64.sub
+ (f64.add
+ (get_local $14)
+ (get_local $30)
+ )
(get_local $30)
)
- (get_local $30)
- )
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $9)
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $9)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 45)
)
- (i32.const 45)
)
)
)
)
- )
- (set_local $5
- (i32.lt_s
- (set_local $1
- (i32.load
- (get_local $25)
+ (set_local $5
+ (i32.lt_s
+ (tee_local $1
+ (i32.load
+ (get_local $25)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $5
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (set_local $8
- (select
- (i32.sub
- (i32.const 0)
+ (set_local $5
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (tee_local $8
+ (select
+ (i32.sub
+ (i32.const 0)
+ (get_local $1)
+ )
(get_local $1)
+ (get_local $5)
)
- (get_local $1)
- (get_local $5)
)
+ (i32.const 0)
)
- (i32.const 0)
+ (i32.const 31)
)
(i32.const 31)
)
- (i32.const 31)
)
- )
- (i32.store8
- (i32.add
- (set_local $5
- (if
- (i32.eq
- (set_local $5
- (call $_fmt_u
- (get_local $8)
- (get_local $5)
- (get_local $52)
+ (i32.store8
+ (i32.add
+ (tee_local $5
+ (if
+ (i32.eq
+ (tee_local $5
+ (call $_fmt_u
+ (get_local $8)
+ (get_local $5)
+ (get_local $52)
+ )
)
+ (get_local $52)
)
- (get_local $52)
- )
- (block
- (i32.store8
+ (block
+ (i32.store8
+ (get_local $74)
+ (i32.const 48)
+ )
(get_local $74)
- (i32.const 48)
)
- (get_local $74)
+ (get_local $5)
)
- (get_local $5)
)
+ (i32.const -1)
)
- (i32.const -1)
- )
- (i32.and
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $1)
- (i32.const 31)
+ (i32.and
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $1)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 43)
)
- (i32.const 43)
+ (i32.const 255)
)
- (i32.const 255)
)
- )
- (i32.store8
- (set_local $8
- (i32.add
- (get_local $5)
- (i32.const -2)
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $5)
+ (i32.const -2)
+ )
)
- )
- (i32.and
- (i32.add
- (get_local $26)
- (i32.const 15)
+ (i32.and
+ (i32.add
+ (get_local $26)
+ (i32.const 15)
+ )
+ (i32.const 255)
)
- (i32.const 255)
)
- )
- (set_local $5
- (i32.lt_s
- (get_local $10)
- (i32.const 1)
+ (set_local $5
+ (i32.lt_s
+ (get_local $10)
+ (i32.const 1)
+ )
)
- )
- (set_local $13
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 8)
+ (set_local $13
+ (i32.eq
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $11
- (get_local $29)
- )
- (loop $while-out$62 $while-in$63
- (i32.store8
- (get_local $11)
- (i32.and
- (i32.or
+ (set_local $11
+ (get_local $29)
+ )
+ (loop $while-in$63
+ (block $while-out$62
+ (i32.store8
+ (get_local $11)
(i32.and
- (i32.load8_s
- (i32.add
- (set_local $1
- (call_import $f64-to-int
- (get_local $15)
+ (i32.or
+ (i32.and
+ (i32.load8_s
+ (i32.add
+ (tee_local $1
+ (call_import $f64-to-int
+ (get_local $14)
+ )
+ )
+ (i32.const 4075)
)
)
- (i32.const 4075)
+ (i32.const 255)
)
+ (get_local $6)
)
(i32.const 255)
)
- (get_local $6)
)
- (i32.const 255)
- )
- )
- (set_local $15
- (f64.mul
- (f64.sub
- (get_local $15)
- (f64.convert_s/i32
- (get_local $1)
+ (set_local $14
+ (f64.mul
+ (f64.sub
+ (get_local $14)
+ (f64.convert_s/i32
+ (get_local $1)
+ )
+ )
+ (f64.const 16)
)
)
- (f64.const 16)
- )
- )
- (set_local $11
- (block $do-once$64
- (if
- (i32.eq
- (i32.sub
- (set_local $1
- (i32.add
- (get_local $11)
- (i32.const 1)
+ (set_local $11
+ (block $do-once$64
+ (if
+ (i32.eq
+ (i32.sub
+ (tee_local $1
+ (i32.add
+ (get_local $11)
+ (i32.const 1)
+ )
+ )
+ (get_local $64)
)
+ (i32.const 1)
)
- (get_local $64)
- )
- (i32.const 1)
- )
- (block
- (br_if $do-once$64
- (get_local $1)
- (i32.and
- (get_local $13)
- (i32.and
- (get_local $5)
- (f64.eq
- (get_local $15)
- (f64.const 0)
+ (block
+ (br_if $do-once$64
+ (get_local $1)
+ (i32.and
+ (get_local $13)
+ (i32.and
+ (get_local $5)
+ (f64.eq
+ (get_local $14)
+ (f64.const 0)
+ )
+ )
)
)
+ (i32.store8
+ (get_local $1)
+ (i32.const 46)
+ )
+ (i32.add
+ (get_local $11)
+ (i32.const 2)
+ )
)
- )
- (i32.store8
(get_local $1)
- (i32.const 46)
)
- (i32.add
+ )
+ )
+ (if
+ (f64.eq
+ (get_local $14)
+ (f64.const 0)
+ )
+ (block
+ (set_local $1
(get_local $11)
- (i32.const 2)
)
+ (br $while-out$62)
)
- (get_local $1)
)
+ (br $while-in$63)
)
)
- (if
- (f64.eq
- (get_local $15)
- (f64.const 0)
- )
- (block
- (set_local $1
- (get_local $11)
+ (set_local $5
+ (i32.and
+ (i32.ne
+ (get_local $10)
+ (i32.const 0)
)
- (br $while-out$62)
- )
- )
- (br $while-in$63)
- )
- (set_local $5
- (i32.and
- (i32.ne
- (get_local $10)
- (i32.const 0)
- )
- (i32.lt_s
- (i32.add
- (get_local $78)
- (get_local $1)
+ (i32.lt_s
+ (i32.add
+ (get_local $78)
+ (get_local $1)
+ )
+ (get_local $10)
)
- (get_local $10)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (set_local $5
- (i32.add
- (set_local $6
- (select
- (i32.sub
- (i32.add
- (get_local $79)
- (get_local $10)
- )
- (get_local $8)
- )
- (i32.add
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (tee_local $5
+ (i32.add
+ (tee_local $6
+ (select
(i32.sub
- (get_local $77)
+ (i32.add
+ (get_local $79)
+ (get_local $10)
+ )
(get_local $8)
)
- (get_local $1)
+ (i32.add
+ (i32.sub
+ (get_local $77)
+ (get_local $8)
+ )
+ (get_local $1)
+ )
+ (get_local $5)
)
- (get_local $5)
)
+ (get_local $7)
)
- (get_local $7)
)
+ (get_local $18)
)
- (get_local $18)
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $9)
+ (get_local $7)
+ (get_local $0)
)
- (i32.const 0)
)
- (call $___fwritex
- (get_local $9)
- (get_local $7)
+ (call $_pad
(get_local $0)
+ (i32.const 48)
+ (get_local $16)
+ (get_local $5)
+ (i32.xor
+ (get_local $18)
+ (i32.const 65536)
+ )
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $16)
- (get_local $5)
- (i32.xor
- (get_local $18)
- (i32.const 65536)
- )
- )
- (set_local $1
- (i32.sub
- (get_local $1)
- (get_local $64)
+ (set_local $1
+ (i32.sub
+ (get_local $1)
+ (get_local $64)
+ )
)
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $29)
+ (get_local $1)
+ (get_local $0)
)
- (i32.const 0)
)
- (call $___fwritex
- (get_local $29)
- (get_local $1)
+ (call $_pad
(get_local $0)
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.sub
- (get_local $6)
- (i32.add
- (get_local $1)
- (set_local $1
- (i32.sub
- (get_local $40)
- (get_local $8)
+ (i32.const 48)
+ (i32.sub
+ (get_local $6)
+ (i32.add
+ (get_local $1)
+ (tee_local $1
+ (i32.sub
+ (get_local $40)
+ (get_local $8)
+ )
)
)
)
+ (i32.const 0)
+ (i32.const 0)
)
- (i32.const 0)
- (i32.const 0)
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $8)
+ (get_local $1)
+ (get_local $0)
)
- (i32.const 0)
)
- (call $___fwritex
- (get_local $8)
- (get_local $1)
+ (call $_pad
(get_local $0)
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $5)
- (i32.xor
- (get_local $18)
- (i32.const 8192)
- )
- )
- (br $do-once$56
- (select
+ (i32.const 32)
(get_local $16)
(get_local $5)
- (i32.lt_s
- (get_local $5)
+ (i32.xor
+ (get_local $18)
+ (i32.const 8192)
+ )
+ )
+ (br $do-once$56
+ (select
(get_local $16)
+ (get_local $5)
+ (i32.lt_s
+ (get_local $5)
+ (get_local $16)
+ )
)
)
)
)
- )
- (set_local $1
- (select
- (i32.const 6)
- (get_local $10)
- (i32.lt_s
+ (set_local $1
+ (select
+ (i32.const 6)
(get_local $10)
- (i32.const 0)
+ (i32.lt_s
+ (get_local $10)
+ (i32.const 0)
+ )
)
)
- )
- (set_local $62
- (set_local $9
- (select
- (get_local $80)
- (get_local $81)
- (i32.lt_s
- (if
- (get_local $5)
- (block
- (i32.store
- (get_local $25)
- (set_local $5
- (i32.add
- (i32.load
- (get_local $25)
+ (set_local $62
+ (tee_local $9
+ (select
+ (get_local $80)
+ (get_local $81)
+ (i32.lt_s
+ (if
+ (get_local $5)
+ (block
+ (i32.store
+ (get_local $25)
+ (tee_local $5
+ (i32.add
+ (i32.load
+ (get_local $25)
+ )
+ (i32.const -28)
)
- (i32.const -28)
)
)
- )
- (set_local $15
- (f64.mul
- (get_local $15)
- (f64.const 268435456)
+ (set_local $14
+ (f64.mul
+ (get_local $14)
+ (f64.const 268435456)
+ )
)
+ (get_local $5)
+ )
+ (i32.load
+ (get_local $25)
)
- (get_local $5)
- )
- (i32.load
- (get_local $25)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- )
- )
- )
- (set_local $7
- (get_local $9)
- )
- (loop $while-out$66 $while-in$67
- (i32.store
- (get_local $7)
- (set_local $5
- (call_import $f64-to-int
- (get_local $15)
)
)
)
(set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
+ (get_local $9)
)
- (if
- (f64.eq
- (set_local $15
- (f64.mul
- (f64.sub
- (get_local $15)
- (f64.convert_u/i32
- (get_local $5)
- )
+ (loop $while-in$67
+ (block $while-out$66
+ (i32.store
+ (get_local $7)
+ (tee_local $5
+ (call_import $f64-to-int
+ (get_local $14)
)
- (f64.const 1e9)
)
)
- (f64.const 0)
- )
- (block
- (set_local $6
- (get_local $7)
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
)
- (br $while-out$66)
- )
- )
- (br $while-in$67)
- )
- (if
- (i32.gt_s
- (set_local $5
- (i32.load
- (get_local $25)
+ (if
+ (f64.eq
+ (tee_local $14
+ (f64.mul
+ (f64.sub
+ (get_local $14)
+ (f64.convert_u/i32
+ (get_local $5)
+ )
+ )
+ (f64.const 1e9)
+ )
+ )
+ (f64.const 0)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
+ )
+ (br $while-out$66)
+ )
)
+ (br $while-in$67)
)
- (i32.const 0)
)
- (block
- (set_local $8
- (get_local $9)
- )
- (set_local $13
- (get_local $6)
- )
- (loop $while-out$68 $while-in$69
- (set_local $11
- (select
- (i32.const 29)
- (get_local $5)
- (i32.gt_s
- (get_local $5)
- (i32.const 29)
- )
+ (if
+ (i32.gt_s
+ (tee_local $5
+ (i32.load
+ (get_local $25)
)
)
- (set_local $7
- (block $do-once$70
- (if
- (i32.lt_u
- (set_local $7
- (i32.add
- (get_local $13)
- (i32.const -4)
- )
+ (i32.const 0)
+ )
+ (block
+ (set_local $8
+ (get_local $9)
+ )
+ (set_local $13
+ (get_local $6)
+ )
+ (loop $while-in$69
+ (block $while-out$68
+ (set_local $11
+ (select
+ (i32.const 29)
+ (get_local $5)
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 29)
)
- (get_local $8)
)
- (get_local $8)
- (block
- (set_local $5
- (i32.const 0)
- )
- (set_local $10
- (get_local $7)
- )
- (loop $while-out$72 $while-in$73
- (set_local $6
- (call $___uremdi3
- (set_local $5
- (call $_i64Add
- (call $_bitshift64Shl
- (i32.load
- (get_local $10)
+ )
+ (set_local $7
+ (block $do-once$70
+ (if
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $13)
+ (i32.const -4)
+ )
+ )
+ (get_local $8)
+ )
+ (get_local $8)
+ (block
+ (set_local $5
+ (i32.const 0)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (loop $while-in$73
+ (block $while-out$72
+ (set_local $6
+ (call $___uremdi3
+ (tee_local $5
+ (call $_i64Add
+ (call $_bitshift64Shl
+ (i32.load
+ (get_local $10)
+ )
+ (i32.const 0)
+ (get_local $11)
+ )
+ (get_global $tempRet0)
+ (get_local $5)
+ (i32.const 0)
+ )
)
+ (tee_local $7
+ (get_global $tempRet0)
+ )
+ (i32.const 1000000000)
(i32.const 0)
- (get_local $11)
)
- (i32.load
- (i32.const 168)
+ )
+ (i32.store
+ (get_local $10)
+ (get_local $6)
+ )
+ (set_local $5
+ (call $___udivdi3
+ (get_local $5)
+ (get_local $7)
+ (i32.const 1000000000)
+ (i32.const 0)
)
- (get_local $5)
- (i32.const 0)
)
- )
- (set_local $7
- (i32.load
- (i32.const 168)
+ (if
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $10)
+ (i32.const -4)
+ )
+ )
+ (get_local $8)
+ )
+ (br $while-out$72)
+ (set_local $10
+ (get_local $7)
+ )
)
+ (br $while-in$73)
)
- (i32.const 1000000000)
- (i32.const 0)
)
- )
- (i32.load
- (i32.const 168)
- )
- (i32.store
- (get_local $10)
- (get_local $6)
- )
- (set_local $5
- (call $___udivdi3
- (get_local $5)
- (get_local $7)
- (i32.const 1000000000)
- (i32.const 0)
+ (br_if $do-once$70
+ (get_local $8)
+ (i32.eq
+ (get_local $5)
+ (i32.const 0)
+ )
)
- )
- (i32.load
- (i32.const 168)
- )
- (if
- (i32.lt_u
- (set_local $7
+ (i32.store
+ (tee_local $7
(i32.add
- (get_local $10)
+ (get_local $8)
(i32.const -4)
)
)
- (get_local $8)
- )
- (br $while-out$72)
- (set_local $10
- (get_local $7)
+ (get_local $5)
)
+ (get_local $7)
)
- (br $while-in$73)
)
- (br_if $do-once$70
- (get_local $8)
- (i32.eq
- (get_local $5)
- (i32.const 0)
+ )
+ )
+ (loop $while-in$75
+ (block $while-out$74
+ (br_if $while-out$74
+ (i32.le_u
+ (get_local $13)
+ (get_local $7)
)
)
- (i32.store
- (set_local $7
- (i32.add
- (get_local $8)
- (i32.const -4)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $13)
+ (i32.const -4)
+ )
+ )
)
+ (i32.const 0)
)
- (get_local $5)
+ (set_local $13
+ (get_local $5)
+ )
+ (br $while-out$74)
)
- (get_local $7)
+ (br $while-in$75)
)
)
- )
- )
- (loop $while-out$74 $while-in$75
- (if
- (i32.le_u
- (get_local $13)
- (get_local $7)
- )
- (br $while-out$74)
- )
- (if
- (i32.eq
- (i32.load
- (set_local $5
- (i32.add
- (get_local $13)
- (i32.const -4)
+ (i32.store
+ (get_local $25)
+ (tee_local $5
+ (i32.sub
+ (i32.load
+ (get_local $25)
)
+ (get_local $11)
)
)
- (i32.const 0)
)
- (set_local $13
- (get_local $5)
- )
- (br $while-out$74)
- )
- (br $while-in$75)
- )
- (i32.store
- (get_local $25)
- (set_local $5
- (i32.sub
- (i32.load
- (get_local $25)
+ (if
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 0)
)
- (get_local $11)
- )
- )
- )
- (if
- (i32.gt_s
- (get_local $5)
- (i32.const 0)
- )
- (set_local $8
- (get_local $7)
- )
- (block
- (set_local $6
- (get_local $13)
- )
- (br $while-out$68)
- )
- )
- (br $while-in$69)
- )
- )
- (set_local $7
- (get_local $9)
- )
- )
- (if
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- (block
- (set_local $8
- (i32.add
- (i32.and
- (call_import $i32s-div
- (i32.add
- (get_local $1)
- (i32.const 25)
+ (set_local $8
+ (get_local $7)
+ )
+ (block
+ (set_local $6
+ (get_local $13)
+ )
+ (br $while-out$68)
)
- (i32.const 9)
)
- (i32.const -1)
+ (br $while-in$69)
)
- (i32.const 1)
)
)
- (set_local $10
- (i32.eq
- (get_local $14)
- (i32.const 102)
- )
+ (set_local $7
+ (get_local $9)
)
- (set_local $23
- (get_local $6)
+ )
+ (if
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
)
- (loop $while-out$76 $while-in$77
- (set_local $5
- (i32.gt_s
- (set_local $6
- (i32.sub
- (i32.const 0)
- (get_local $5)
+ (block
+ (set_local $8
+ (i32.add
+ (i32.and
+ (call_import $i32s-div
+ (i32.add
+ (get_local $1)
+ (i32.const 25)
+ )
+ (i32.const 9)
)
+ (i32.const -1)
)
- (i32.const 9)
+ (i32.const 1)
)
)
- (set_local $13
- (select
- (i32.const 9)
- (get_local $6)
- (get_local $5)
+ (set_local $10
+ (i32.eq
+ (get_local $15)
+ (i32.const 102)
)
)
- (set_local $11
- (block $do-once$78
- (if
- (i32.lt_u
- (get_local $7)
- (get_local $23)
- )
- (block
- (set_local $70
- (i32.add
- (i32.shl
- (i32.const 1)
- (get_local $13)
- )
- (i32.const -1)
+ (set_local $23
+ (get_local $6)
+ )
+ (loop $while-in$77
+ (block $while-out$76
+ (set_local $5
+ (i32.gt_s
+ (tee_local $6
+ (i32.sub
+ (i32.const 0)
+ (get_local $5)
)
)
- (set_local $27
- (i32.shr_u
- (i32.const 1000000000)
- (get_local $13)
+ (i32.const 9)
+ )
+ )
+ (set_local $13
+ (select
+ (i32.const 9)
+ (get_local $6)
+ (get_local $5)
+ )
+ )
+ (set_local $11
+ (block $do-once$78
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (get_local $23)
)
- )
- (set_local $11
- (i32.const 0)
- )
- (set_local $17
- (get_local $7)
- )
- (loop $while-out$80 $while-in$81
- (set_local $6
- (i32.and
- (set_local $5
- (i32.load
- (get_local $17)
+ (block
+ (set_local $70
+ (i32.add
+ (i32.shl
+ (i32.const 1)
+ (get_local $13)
)
+ (i32.const -1)
)
- (get_local $70)
)
- )
- (i32.store
- (get_local $17)
- (i32.add
+ (set_local $27
(i32.shr_u
- (get_local $5)
+ (i32.const 1000000000)
(get_local $13)
)
- (get_local $11)
)
- )
- (set_local $11
- (i32.mul
- (get_local $6)
- (get_local $27)
+ (set_local $11
+ (i32.const 0)
)
- )
- (if
- (i32.ge_u
- (set_local $17
- (i32.add
+ (set_local $17
+ (get_local $7)
+ )
+ (loop $while-in$81
+ (block $while-out$80
+ (set_local $6
+ (i32.and
+ (tee_local $5
+ (i32.load
+ (get_local $17)
+ )
+ )
+ (get_local $70)
+ )
+ )
+ (i32.store
(get_local $17)
+ (i32.add
+ (i32.shr_u
+ (get_local $5)
+ (get_local $13)
+ )
+ (get_local $11)
+ )
+ )
+ (set_local $11
+ (i32.mul
+ (get_local $6)
+ (get_local $27)
+ )
+ )
+ (br_if $while-out$80
+ (i32.ge_u
+ (tee_local $17
+ (i32.add
+ (get_local $17)
+ (i32.const 4)
+ )
+ )
+ (get_local $23)
+ )
+ )
+ (br $while-in$81)
+ )
+ )
+ (set_local $5
+ (select
+ (i32.add
+ (get_local $7)
(i32.const 4)
)
+ (get_local $7)
+ (i32.eq
+ (i32.load
+ (get_local $7)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (br_if $do-once$78
+ (get_local $5)
+ (i32.eq
+ (get_local $11)
+ (i32.const 0)
)
+ )
+ (i32.store
(get_local $23)
+ (get_local $11)
+ )
+ (set_local $23
+ (i32.add
+ (get_local $23)
+ (i32.const 4)
+ )
)
- (br $while-out$80)
+ (get_local $5)
)
- (br $while-in$81)
- )
- (set_local $5
(select
(i32.add
(get_local $7)
@@ -6060,1242 +5939,1166 @@
)
)
)
- (if
- (i32.eq
- (get_local $11)
- (i32.const 0)
- )
- (br $do-once$78
- (get_local $5)
- )
- )
- (i32.store
- (get_local $23)
- (get_local $11)
- )
- (set_local $23
- (i32.add
+ )
+ )
+ (set_local $5
+ (i32.gt_s
+ (i32.shr_s
+ (i32.sub
(get_local $23)
- (i32.const 4)
+ (tee_local $7
+ (select
+ (get_local $9)
+ (get_local $11)
+ (get_local $10)
+ )
+ )
)
+ (i32.const 2)
)
- (get_local $5)
+ (get_local $8)
)
+ )
+ (set_local $6
(select
(i32.add
(get_local $7)
- (i32.const 4)
- )
- (get_local $7)
- (i32.eq
- (i32.load
- (get_local $7)
+ (i32.shl
+ (get_local $8)
+ (i32.const 2)
)
- (i32.const 0)
)
+ (get_local $23)
+ (get_local $5)
)
)
- )
- )
- (set_local $5
- (i32.gt_s
- (i32.shr_s
- (i32.sub
- (get_local $23)
- (set_local $7
- (select
- (get_local $9)
- (get_local $11)
- (get_local $10)
+ (i32.store
+ (get_local $25)
+ (tee_local $5
+ (i32.add
+ (i32.load
+ (get_local $25)
)
+ (get_local $13)
)
)
- (i32.const 2)
)
- (get_local $8)
- )
- )
- (set_local $6
- (select
- (i32.add
- (get_local $7)
- (i32.shl
- (get_local $8)
- (i32.const 2)
+ (if
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
)
- )
- (get_local $23)
- (get_local $5)
- )
- )
- (i32.store
- (get_local $25)
- (set_local $5
- (i32.add
- (i32.load
- (get_local $25)
+ (block
+ (set_local $7
+ (get_local $11)
+ )
+ (set_local $23
+ (get_local $6)
+ )
+ )
+ (block
+ (set_local $7
+ (get_local $11)
+ )
+ (set_local $27
+ (get_local $6)
+ )
+ (br $while-out$76)
)
- (get_local $13)
- )
- )
- )
- (if
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- (block
- (set_local $7
- (get_local $11)
- )
- (set_local $23
- (get_local $6)
- )
- )
- (block
- (set_local $7
- (get_local $11)
- )
- (set_local $27
- (get_local $6)
)
- (br $while-out$76)
+ (br $while-in$77)
)
)
- (br $while-in$77)
)
- )
- (set_local $27
- (get_local $6)
- )
- )
- (block $do-once$82
- (if
- (i32.lt_u
- (get_local $7)
- (get_local $27)
+ (set_local $27
+ (get_local $6)
)
- (block
- (set_local $6
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $62)
- (get_local $7)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- )
- (if
- (i32.lt_u
- (set_local $5
- (i32.load
- (get_local $7)
- )
- )
- (i32.const 10)
- )
- (block
- (set_local $13
- (get_local $6)
- )
- (br $do-once$82)
- )
- (set_local $8
- (i32.const 10)
- )
+ )
+ (block $do-once$82
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (get_local $27)
)
- (loop $while-out$84 $while-in$85
+ (block
(set_local $6
- (i32.add
- (get_local $6)
- (i32.const 1)
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $62)
+ (get_local $7)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
)
)
(if
(i32.lt_u
- (get_local $5)
- (set_local $8
- (i32.mul
- (get_local $8)
- (i32.const 10)
+ (tee_local $5
+ (i32.load
+ (get_local $7)
)
)
+ (i32.const 10)
)
(block
(set_local $13
(get_local $6)
)
- (br $while-out$84)
+ (br $do-once$82)
+ )
+ (set_local $8
+ (i32.const 10)
)
)
- (br $while-in$85)
- )
- )
- (set_local $13
- (i32.const 0)
- )
- )
- )
- (set_local $7
- (if
- (i32.lt_s
- (set_local $5
- (i32.add
- (i32.sub
- (get_local $1)
- (select
- (get_local $13)
- (i32.const 0)
- (i32.ne
- (get_local $14)
- (i32.const 102)
+ (loop $while-in$85
+ (block $while-out$84
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 1)
)
)
- )
- (i32.shr_s
- (i32.shl
- (i32.and
- (set_local $70
- (i32.ne
- (get_local $1)
- (i32.const 0)
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (tee_local $8
+ (i32.mul
+ (get_local $8)
+ (i32.const 10)
)
)
- (set_local $8
- (i32.eq
- (get_local $14)
- (i32.const 103)
- )
+ )
+ (block
+ (set_local $13
+ (get_local $6)
)
+ (br $while-out$84)
)
- (i32.const 31)
)
- (i32.const 31)
+ (br $while-in$85)
)
)
)
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $27)
- (get_local $62)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- (i32.const -9)
+ (set_local $13
+ (i32.const 0)
)
)
- (block
- (set_local $6
- (i32.add
+ )
+ (set_local $7
+ (if
+ (i32.lt_s
+ (tee_local $5
(i32.add
- (get_local $9)
- (i32.const 4)
- )
- (i32.shl
- (i32.add
- (i32.and
- (call_import $i32s-div
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 9216)
+ (i32.sub
+ (get_local $1)
+ (select
+ (get_local $13)
+ (i32.const 0)
+ (i32.ne
+ (get_local $15)
+ (i32.const 102)
+ )
+ )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.and
+ (tee_local $70
+ (i32.ne
+ (get_local $1)
+ (i32.const 0)
+ )
+ )
+ (tee_local $8
+ (i32.eq
+ (get_local $15)
+ (i32.const 103)
)
)
- (i32.const 9)
)
- (i32.const -1)
+ (i32.const 31)
)
- (i32.const -1024)
+ (i32.const 31)
)
- (i32.const 2)
)
)
- )
- (if
- (i32.lt_s
- (set_local $11
- (i32.add
- (i32.and
- (call_import $i32s-rem
- (get_local $5)
- (i32.const 9)
- )
- (i32.const -1)
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $27)
+ (get_local $62)
)
- (i32.const 1)
+ (i32.const 2)
)
+ (i32.const 9)
)
- (i32.const 9)
+ (i32.const -9)
)
- (block
- (set_local $5
- (i32.const 10)
- )
- (loop $while-out$86 $while-in$87
- (set_local $5
- (i32.mul
- (get_local $5)
- (i32.const 10)
- )
+ )
+ (block
+ (set_local $6
+ (i32.add
+ (i32.add
+ (get_local $9)
+ (i32.const 4)
)
- (if
- (i32.eq
- (set_local $11
- (i32.add
- (get_local $11)
- (i32.const 1)
+ (i32.shl
+ (i32.add
+ (i32.and
+ (call_import $i32s-div
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 9216)
+ )
+ )
+ (i32.const 9)
)
+ (i32.const -1)
)
- (i32.const 9)
- )
- (block
- (set_local $17
- (get_local $5)
- )
- (br $while-out$86)
+ (i32.const -1024)
)
+ (i32.const 2)
)
- (br $while-in$87)
)
)
- (set_local $17
- (i32.const 10)
- )
- )
- (block $do-once$88
(if
- (i32.eqz
- (i32.and
- (set_local $11
- (i32.eq
- (i32.add
- (get_local $6)
- (i32.const 4)
+ (i32.lt_s
+ (tee_local $11
+ (i32.add
+ (i32.and
+ (call_import $i32s-rem
+ (get_local $5)
+ (i32.const 9)
)
- (get_local $27)
+ (i32.const -1)
)
+ (i32.const 1)
)
- (i32.eq
- (set_local $14
- (i32.and
- (call_import $i32u-rem
- (set_local $5
- (i32.load
- (get_local $6)
- )
+ )
+ (i32.const 9)
+ )
+ (block
+ (set_local $5
+ (i32.const 10)
+ )
+ (loop $while-in$87
+ (block $while-out$86
+ (set_local $5
+ (i32.mul
+ (get_local $5)
+ (i32.const 10)
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $11
+ (i32.add
+ (get_local $11)
+ (i32.const 1)
)
- (get_local $17)
)
- (i32.const -1)
+ (i32.const 9)
+ )
+ (block
+ (set_local $17
+ (get_local $5)
+ )
+ (br $while-out$86)
)
)
- (i32.const 0)
+ (br $while-in$87)
)
)
)
- (block
- (set_local $15
- (select
- (f64.const 9007199254740992)
- (f64.const 9007199254740994)
+ (set_local $17
+ (i32.const 10)
+ )
+ )
+ (block $do-once$88
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $11
+ (i32.eq
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (get_local $27)
+ )
+ )
(i32.eq
- (i32.and
+ (tee_local $15
(i32.and
- (call_import $i32u-div
- (get_local $5)
+ (call_import $i32u-rem
+ (tee_local $5
+ (i32.load
+ (get_local $6)
+ )
+ )
(get_local $17)
)
(i32.const -1)
)
- (i32.const 1)
)
(i32.const 0)
)
)
)
- (set_local $30
- (if
- (i32.lt_u
- (get_local $14)
- (set_local $10
+ (block
+ (set_local $14
+ (select
+ (f64.const 9007199254740992)
+ (f64.const 9007199254740994)
+ (i32.eq
(i32.and
- (call_import $i32s-div
- (get_local $17)
- (i32.const 2)
+ (i32.and
+ (call_import $i32u-div
+ (get_local $5)
+ (get_local $17)
+ )
+ (i32.const -1)
)
- (i32.const -1)
+ (i32.const 1)
)
+ (i32.const 0)
)
)
- (f64.const 0.5)
- (select
- (f64.const 1)
- (f64.const 1.5)
- (i32.and
- (get_local $11)
- (i32.eq
- (get_local $14)
- (get_local $10)
+ )
+ (set_local $30
+ (if
+ (i32.lt_u
+ (get_local $15)
+ (tee_local $10
+ (i32.and
+ (call_import $i32s-div
+ (get_local $17)
+ (i32.const 2)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (f64.const 0.5)
+ (select
+ (f64.const 1)
+ (f64.const 1.5)
+ (i32.and
+ (get_local $11)
+ (i32.eq
+ (get_local $15)
+ (get_local $10)
+ )
)
)
)
)
- )
- (set_local $15
- (block $do-once$90
- (if
- (i32.eq
- (get_local $51)
- (i32.const 0)
- )
- (get_local $15)
- (block
- (if
- (i32.ne
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $39)
+ (set_local $14
+ (block $do-once$90
+ (if
+ (i32.eq
+ (get_local $51)
+ (i32.const 0)
+ )
+ (get_local $14)
+ (block
+ (br_if $do-once$90
+ (get_local $14)
+ (i32.ne
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $39)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 45)
)
- (i32.const 45)
)
- (br $do-once$90
- (get_local $15)
+ (set_local $30
+ (f64.neg
+ (get_local $30)
+ )
)
- )
- (set_local $30
(f64.neg
- (get_local $30)
+ (get_local $14)
)
)
- (f64.neg
- (get_local $15)
- )
)
)
)
- )
- (i32.store
- (get_local $6)
- (set_local $5
- (i32.sub
- (get_local $5)
- (get_local $14)
+ (i32.store
+ (get_local $6)
+ (tee_local $5
+ (i32.sub
+ (get_local $5)
+ (get_local $15)
+ )
)
)
- )
- (if
- (f64.eq
- (f64.add
- (get_local $15)
- (get_local $30)
+ (br_if $do-once$88
+ (f64.eq
+ (f64.add
+ (get_local $14)
+ (get_local $30)
+ )
+ (get_local $14)
)
- (get_local $15)
)
- (br $do-once$88)
- )
- (i32.store
- (get_local $6)
- (set_local $5
- (i32.add
- (get_local $5)
- (get_local $17)
+ (i32.store
+ (get_local $6)
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (get_local $17)
+ )
)
)
- )
- (if
- (i32.gt_u
- (get_local $5)
- (i32.const 999999999)
- )
- (loop $while-out$92 $while-in$93
- (i32.store
- (get_local $6)
- (i32.const 0)
+ (if
+ (i32.gt_u
+ (get_local $5)
+ (i32.const 999999999)
)
- (set_local $7
- (if
- (i32.lt_u
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const -4)
+ (loop $while-in$93
+ (block $while-out$92
+ (i32.store
+ (get_local $6)
+ (i32.const 0)
+ )
+ (set_local $7
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
+ )
+ )
+ (get_local $7)
+ )
+ (block
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
+ )
+ )
+ (i32.const 0)
+ )
+ (get_local $5)
)
+ (get_local $7)
)
- (get_local $7)
)
- (block
- (i32.store
- (set_local $5
- (i32.add
- (get_local $7)
- (i32.const -4)
+ (i32.store
+ (get_local $6)
+ (tee_local $5
+ (i32.add
+ (i32.load
+ (get_local $6)
)
+ (i32.const 1)
)
- (i32.const 0)
)
- (get_local $5)
)
- (get_local $7)
- )
- )
- (i32.store
- (get_local $6)
- (set_local $5
- (i32.add
- (i32.load
- (get_local $6)
+ (br_if $while-out$92
+ (i32.le_u
+ (get_local $5)
+ (i32.const 999999999)
)
- (i32.const 1)
)
+ (br $while-in$93)
)
)
- (if
- (i32.le_u
- (get_local $5)
- (i32.const 999999999)
- )
- (br $while-out$92)
- )
- (br $while-in$93)
)
- )
- (set_local $11
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $62)
- (get_local $7)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- )
- (if
- (i32.lt_u
- (set_local $5
- (i32.load
- (get_local $7)
- )
- )
- (i32.const 10)
- )
- (block
- (set_local $13
- (get_local $11)
- )
- (br $do-once$88)
- )
- (set_local $10
- (i32.const 10)
- )
- )
- (loop $while-out$94 $while-in$95
(set_local $11
- (i32.add
- (get_local $11)
- (i32.const 1)
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $62)
+ (get_local $7)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
)
)
(if
(i32.lt_u
- (get_local $5)
- (set_local $10
- (i32.mul
- (get_local $10)
- (i32.const 10)
+ (tee_local $5
+ (i32.load
+ (get_local $7)
)
)
+ (i32.const 10)
)
(block
(set_local $13
(get_local $11)
)
- (br $while-out$94)
+ (br $do-once$88)
+ )
+ (set_local $10
+ (i32.const 10)
+ )
+ )
+ (loop $while-in$95
+ (block $while-out$94
+ (set_local $11
+ (i32.add
+ (get_local $11)
+ (i32.const 1)
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (tee_local $10
+ (i32.mul
+ (get_local $10)
+ (i32.const 10)
+ )
+ )
+ )
+ (block
+ (set_local $13
+ (get_local $11)
+ )
+ (br $while-out$94)
+ )
+ )
+ (br $while-in$95)
)
)
- (br $while-in$95)
)
)
)
- )
- (set_local $6
- (i32.gt_u
- (get_local $27)
- (set_local $5
- (i32.add
- (get_local $6)
- (i32.const 4)
+ (set_local $6
+ (i32.gt_u
+ (get_local $27)
+ (tee_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
)
)
)
+ (set_local $6
+ (select
+ (get_local $5)
+ (get_local $27)
+ (get_local $6)
+ )
+ )
+ (get_local $7)
)
- (set_local $6
- (select
- (get_local $5)
+ (block
+ (set_local $6
(get_local $27)
- (get_local $6)
)
+ (get_local $7)
)
- (get_local $7)
- )
- (block
- (set_local $6
- (get_local $27)
- )
- (get_local $7)
)
)
- )
- (set_local $27
- (i32.sub
- (i32.const 0)
- (get_local $13)
- )
- )
- (loop $while-out$96 $while-in$97
- (if
- (i32.le_u
- (get_local $6)
- (get_local $7)
- )
- (block
- (set_local $11
- (i32.const 0)
- )
- (set_local $23
- (get_local $6)
- )
- (br $while-out$96)
+ (set_local $27
+ (i32.sub
+ (i32.const 0)
+ (get_local $13)
)
)
- (if
- (i32.eq
- (i32.load
- (set_local $5
- (i32.add
+ (loop $while-in$97
+ (block $while-out$96
+ (if
+ (i32.le_u
+ (get_local $6)
+ (get_local $7)
+ )
+ (block
+ (set_local $11
+ (i32.const 0)
+ )
+ (set_local $23
(get_local $6)
- (i32.const -4)
)
+ (br $while-out$96)
)
)
- (i32.const 0)
- )
- (set_local $6
- (get_local $5)
- )
- (block
- (set_local $11
- (i32.const 1)
- )
- (set_local $23
- (get_local $6)
+ (if
+ (i32.eq
+ (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
+ (i32.const 1)
+ )
+ (set_local $23
+ (get_local $6)
+ )
+ (br $while-out$96)
+ )
)
- (br $while-out$96)
+ (br $while-in$97)
)
)
- (br $while-in$97)
- )
- (set_local $8
- (block $do-once$98
- (if
- (get_local $8)
- (block
- (set_local $8
- (if
- (i32.and
- (i32.gt_s
- (set_local $1
- (i32.add
- (i32.xor
- (i32.and
- (get_local $70)
+ (set_local $8
+ (block $do-once$98
+ (if
+ (get_local $8)
+ (block
+ (set_local $8
+ (if
+ (i32.and
+ (i32.gt_s
+ (tee_local $1
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $70)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
+ (get_local $1)
)
- (get_local $1)
)
+ (get_local $13)
+ )
+ (i32.gt_s
+ (get_local $13)
+ (i32.const -5)
)
- (get_local $13)
- )
- (i32.gt_s
- (get_local $13)
- (i32.const -5)
)
- )
- (block
- (set_local $10
- (i32.add
- (get_local $26)
- (i32.const -1)
+ (block
+ (set_local $10
+ (i32.add
+ (get_local $26)
+ (i32.const -1)
+ )
+ )
+ (i32.sub
+ (i32.add
+ (get_local $1)
+ (i32.const -1)
+ )
+ (get_local $13)
)
)
- (i32.sub
+ (block
+ (set_local $10
+ (i32.add
+ (get_local $26)
+ (i32.const -2)
+ )
+ )
(i32.add
(get_local $1)
(i32.const -1)
)
- (get_local $13)
)
)
- (block
- (set_local $10
- (i32.add
- (get_local $26)
- (i32.const -2)
+ )
+ (if
+ (i32.ne
+ (tee_local $1
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
)
)
- (i32.add
- (get_local $1)
- (i32.const -1)
- )
+ (i32.const 0)
)
- )
- )
- (if
- (i32.ne
- (set_local $1
- (i32.and
- (get_local $18)
- (i32.const 8)
+ (block
+ (set_local $15
+ (get_local $8)
+ )
+ (set_local $26
+ (get_local $10)
+ )
+ (br $do-once$98
+ (get_local $1)
)
- )
- (i32.const 0)
- )
- (block
- (set_local $14
- (get_local $8)
- )
- (set_local $26
- (get_local $10)
- )
- (br $do-once$98
- (get_local $1)
)
)
- )
- (block $do-once$100
- (if
- (get_local $11)
- (block
- (if
- (i32.eq
- (set_local $1
- (i32.load
- (i32.add
- (get_local $23)
- (i32.const -4)
+ (block $do-once$100
+ (if
+ (get_local $11)
+ (block
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.load
+ (i32.add
+ (get_local $23)
+ (i32.const -4)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $6
- (i32.const 9)
- )
- (br $do-once$100)
- )
- )
- (if
- (i32.eq
- (i32.and
- (call_import $i32u-rem
- (get_local $1)
- (i32.const 10)
+ (block
+ (set_local $6
+ (i32.const 9)
)
- (i32.const -1)
+ (br $do-once$100)
)
- (i32.const 0)
)
- (block
- (set_local $5
- (i32.const 10)
- )
- (set_local $6
+ (if
+ (i32.eq
+ (i32.and
+ (call_import $i32u-rem
+ (get_local $1)
+ (i32.const 10)
+ )
+ (i32.const -1)
+ )
(i32.const 0)
)
- )
- (block
- (set_local $6
- (i32.const 0)
+ (block
+ (set_local $5
+ (i32.const 10)
+ )
+ (set_local $6
+ (i32.const 0)
+ )
)
- (br $do-once$100)
- )
- )
- (loop $while-out$102 $while-in$103
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const 1)
+ (block
+ (set_local $6
+ (i32.const 0)
+ )
+ (br $do-once$100)
)
)
- (if
- (i32.ne
- (i32.and
- (call_import $i32u-rem
- (get_local $1)
- (set_local $5
- (i32.mul
- (get_local $5)
- (i32.const 10)
+ (loop $while-in$103
+ (block $while-out$102
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (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.const -1)
)
+ (i32.const 0)
)
- (i32.const -1)
)
- (i32.const 0)
+ (br $while-in$103)
)
- (br $while-out$102)
)
- (br $while-in$103)
)
- )
- (set_local $6
- (i32.const 9)
+ (set_local $6
+ (i32.const 9)
+ )
)
)
- )
- (set_local $1
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $23)
- (get_local $62)
+ (set_local $1
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $23)
+ (get_local $62)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 9)
)
- (i32.const 9)
+ (i32.const -9)
)
- (i32.const -9)
)
- )
- (if
- (i32.eq
- (i32.or
- (get_local $10)
- (i32.const 32)
+ (if
+ (i32.eq
+ (i32.or
+ (get_local $10)
+ (i32.const 32)
+ )
+ (i32.const 102)
)
- (i32.const 102)
- )
- (block
- (set_local $1
- (i32.lt_s
- (set_local $5
- (i32.sub
- (get_local $1)
- (get_local $6)
+ (block
+ (set_local $1
+ (i32.lt_s
+ (tee_local $5
+ (i32.sub
+ (get_local $1)
+ (get_local $6)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $5
- (i32.lt_s
- (get_local $8)
- (set_local $1
- (select
- (i32.const 0)
- (get_local $5)
- (get_local $1)
+ (set_local $5
+ (i32.lt_s
+ (get_local $8)
+ (tee_local $1
+ (select
+ (i32.const 0)
+ (get_local $5)
+ (get_local $1)
+ )
)
)
)
- )
- (set_local $14
- (select
- (get_local $8)
- (get_local $1)
- (get_local $5)
+ (set_local $15
+ (select
+ (get_local $8)
+ (get_local $1)
+ (get_local $5)
+ )
)
+ (set_local $26
+ (get_local $10)
+ )
+ (i32.const 0)
)
- (set_local $26
- (get_local $10)
- )
- (i32.const 0)
- )
- (block
- (set_local $1
- (i32.lt_s
- (set_local $5
- (i32.sub
- (i32.add
- (get_local $1)
- (get_local $13)
+ (block
+ (set_local $1
+ (i32.lt_s
+ (tee_local $5
+ (i32.sub
+ (i32.add
+ (get_local $1)
+ (get_local $13)
+ )
+ (get_local $6)
)
- (get_local $6)
)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $5
- (i32.lt_s
- (get_local $8)
- (set_local $1
- (select
- (i32.const 0)
- (get_local $5)
- (get_local $1)
+ (set_local $5
+ (i32.lt_s
+ (get_local $8)
+ (tee_local $1
+ (select
+ (i32.const 0)
+ (get_local $5)
+ (get_local $1)
+ )
)
)
)
- )
- (set_local $14
- (select
- (get_local $8)
- (get_local $1)
- (get_local $5)
+ (set_local $15
+ (select
+ (get_local $8)
+ (get_local $1)
+ (get_local $5)
+ )
)
+ (set_local $26
+ (get_local $10)
+ )
+ (i32.const 0)
)
- (set_local $26
- (get_local $10)
- )
- (i32.const 0)
)
)
- )
- (block
- (set_local $14
- (get_local $1)
- )
- (i32.and
- (get_local $18)
- (i32.const 8)
+ (block
+ (set_local $15
+ (get_local $1)
+ )
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
+ )
)
)
)
)
- )
- (set_local $17
- (i32.and
- (i32.ne
- (set_local $1
- (i32.or
- (get_local $14)
- (get_local $8)
+ (set_local $17
+ (i32.and
+ (i32.ne
+ (tee_local $1
+ (i32.or
+ (get_local $15)
+ (get_local $8)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
+ (i32.const 1)
)
- (i32.const 1)
)
- )
- (set_local $13
- (if
- (set_local $10
- (i32.eq
- (i32.or
- (get_local $26)
- (i32.const 32)
+ (set_local $13
+ (if
+ (tee_local $10
+ (i32.eq
+ (i32.or
+ (get_local $26)
+ (i32.const 32)
+ )
+ (i32.const 102)
)
- (i32.const 102)
)
- )
- (block
- (set_local $6
- (select
- (get_local $13)
- (i32.const 0)
- (i32.gt_s
+ (block
+ (set_local $6
+ (select
(get_local $13)
(i32.const 0)
+ (i32.gt_s
+ (get_local $13)
+ (i32.const 0)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $5
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (set_local $6
- (select
- (get_local $27)
- (get_local $13)
- (i32.lt_s
+ (block
+ (set_local $5
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (tee_local $6
+ (select
+ (get_local $27)
(get_local $13)
- (i32.const 0)
+ (i32.lt_s
+ (get_local $13)
+ (i32.const 0)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
+ (i32.const 31)
)
(i32.const 31)
)
- (i32.const 31)
)
- )
- (if
- (i32.lt_s
- (i32.sub
- (get_local $40)
- (set_local $5
- (call $_fmt_u
- (get_local $6)
- (get_local $5)
- (get_local $52)
+ (if
+ (i32.lt_s
+ (i32.sub
+ (get_local $40)
+ (tee_local $5
+ (call $_fmt_u
+ (get_local $6)
+ (get_local $5)
+ (get_local $52)
+ )
)
)
+ (i32.const 2)
)
- (i32.const 2)
- )
- (loop $while-out$104 $while-in$105
- (i32.store8
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
+ (loop $while-in$105
+ (block $while-out$104
+ (i32.store8
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
)
- )
- (i32.const 48)
- )
- (if
- (i32.lt_s
- (i32.sub
- (get_local $40)
- (get_local $5)
+ (br_if $while-out$104
+ (i32.ge_s
+ (i32.sub
+ (get_local $40)
+ (get_local $5)
+ )
+ (i32.const 2)
+ )
)
- (i32.const 2)
+ (br $while-in$105)
)
- (get_local $5)
- (br $while-out$104)
)
- (br $while-in$105)
)
- (get_local $5)
- )
- (i32.store8
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- (i32.and
+ (i32.store8
(i32.add
- (i32.and
- (i32.shr_s
- (get_local $13)
- (i32.const 31)
+ (get_local $5)
+ (i32.const -1)
+ )
+ (i32.and
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $13)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 43)
)
- (i32.const 43)
+ (i32.const 255)
)
- (i32.const 255)
)
- )
- (i32.store8
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const -2)
+ (i32.store8
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -2)
+ )
+ )
+ (i32.and
+ (get_local $26)
+ (i32.const 255)
)
)
- (i32.and
- (get_local $26)
- (i32.const 255)
- )
- )
- (set_local $6
- (i32.sub
- (get_local $40)
- (get_local $5)
+ (set_local $6
+ (i32.sub
+ (get_local $40)
+ (get_local $5)
+ )
)
+ (get_local $5)
)
- (get_local $5)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (set_local $6
- (i32.add
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (tee_local $6
(i32.add
(i32.add
(i32.add
- (get_local $51)
- (i32.const 1)
+ (i32.add
+ (get_local $51)
+ (i32.const 1)
+ )
+ (get_local $15)
)
- (get_local $14)
+ (get_local $17)
)
- (get_local $17)
+ (get_local $6)
)
- (get_local $6)
)
+ (get_local $18)
)
- (get_local $18)
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $39)
+ (get_local $51)
+ (get_local $0)
)
- (i32.const 0)
)
- (call $___fwritex
- (get_local $39)
- (get_local $51)
+ (call $_pad
(get_local $0)
+ (i32.const 48)
+ (get_local $16)
+ (get_local $6)
+ (i32.xor
+ (get_local $18)
+ (i32.const 65536)
+ )
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $16)
- (get_local $6)
- (i32.xor
- (get_local $18)
- (i32.const 65536)
- )
- )
- (block $do-once$106
- (if
- (get_local $10)
- (block
- (set_local $7
- (set_local $8
- (select
- (get_local $9)
- (get_local $7)
- (i32.gt_u
- (get_local $7)
+ (block $do-once$106
+ (if
+ (get_local $10)
+ (block
+ (set_local $7
+ (tee_local $8
+ (select
(get_local $9)
- )
- )
- )
- )
- (loop $while-out$108 $while-in$109
- (set_local $5
- (call $_fmt_u
- (i32.load
(get_local $7)
+ (i32.gt_u
+ (get_local $7)
+ (get_local $9)
+ )
)
- (i32.const 0)
- (get_local $45)
)
)
- (block $do-once$110
- (if
- (i32.eq
- (get_local $7)
- (get_local $8)
- )
- (block
- (if
- (i32.ne
- (get_local $5)
- (get_local $45)
+ (loop $while-in$109
+ (block $while-out$108
+ (set_local $5
+ (call $_fmt_u
+ (i32.load
+ (get_local $7)
)
- (br $do-once$110)
- )
- (i32.store8
- (get_local $53)
- (i32.const 48)
- )
- (set_local $5
- (get_local $53)
+ (i32.const 0)
+ (get_local $45)
)
)
- (block
+ (block $do-once$110
(if
- (i32.gt_u
- (get_local $5)
- (get_local $29)
+ (i32.eq
+ (get_local $7)
+ (get_local $8)
)
- (get_local $5)
- (br $do-once$110)
- )
- (loop $while-out$112 $while-in$113
- (i32.store8
- (set_local $5
- (i32.add
+ (block
+ (br_if $do-once$110
+ (i32.ne
(get_local $5)
- (i32.const -1)
+ (get_local $45)
)
)
- (i32.const 48)
+ (i32.store8
+ (get_local $53)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $53)
+ )
)
- (if
- (i32.gt_u
- (get_local $5)
- (get_local $29)
+ (block
+ (br_if $do-once$110
+ (i32.le_u
+ (get_local $5)
+ (get_local $29)
+ )
+ )
+ (loop $while-in$113
+ (block $while-out$112
+ (i32.store8
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-out$112
+ (i32.le_u
+ (get_local $5)
+ (get_local $29)
+ )
+ )
+ (br $while-in$113)
+ )
)
- (get_local $5)
- (br $while-out$112)
)
- (br $while-in$113)
- )
- )
- )
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $5)
- (i32.sub
- (get_local $75)
- (get_local $5)
- )
- (get_local $0)
- )
- )
- (if
- (i32.gt_u
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
)
)
- (get_local $9)
- )
- (block
- (set_local $5
- (get_local $7)
- )
- (br $while-out$108)
- )
- (get_local $7)
- )
- (br $while-in$109)
- )
- (block $do-once$114
- (if
- (i32.ne
- (get_local $1)
- (i32.const 0)
- )
- (block
- (br_if $do-once$114
- (i32.ne
+ (if
+ (i32.eq
(i32.and
(i32.load
(get_local $0)
@@ -7304,163 +7107,81 @@
)
(i32.const 0)
)
- )
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $0)
- )
- )
- )
- )
- (if
- (i32.and
- (i32.gt_s
- (get_local $14)
- (i32.const 0)
- )
- (i32.lt_u
- (get_local $5)
- (get_local $23)
- )
- )
- (loop $while-out$116 $while-in$117
- (if
- (i32.gt_u
- (set_local $1
- (call $_fmt_u
- (i32.load
+ (drop
+ (call $___fwritex
+ (get_local $5)
+ (i32.sub
+ (get_local $75)
(get_local $5)
)
- (i32.const 0)
- (get_local $45)
+ (get_local $0)
)
)
- (get_local $29)
)
- (loop $while-out$118 $while-in$119
- (i32.store8
- (set_local $1
+ (if
+ (i32.gt_u
+ (tee_local $7
(i32.add
- (get_local $1)
- (i32.const -1)
+ (get_local $7)
+ (i32.const 4)
)
)
- (i32.const 48)
+ (get_local $9)
)
- (if
- (i32.gt_u
- (get_local $1)
- (get_local $29)
+ (block
+ (set_local $5
+ (get_local $7)
)
- (get_local $1)
- (br $while-out$118)
+ (br $while-out$108)
)
- (br $while-in$119)
)
- (get_local $1)
+ (br $while-in$109)
)
+ )
+ (block $do-once$114
(if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- (i32.const 0)
- )
- (call $___fwritex
+ (i32.ne
(get_local $1)
- (select
- (i32.const 9)
- (get_local $14)
- (i32.gt_s
- (get_local $14)
- (i32.const 9)
- )
- )
- (get_local $0)
- )
- )
- (set_local $1
- (i32.add
- (get_local $14)
- (i32.const -9)
+ (i32.const 0)
)
- )
- (if
- (i32.and
- (i32.gt_s
- (get_local $14)
- (i32.const 9)
- )
- (i32.lt_u
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 4)
+ (block
+ (br_if $do-once$114
+ (i32.ne
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
+ (i32.const 0)
)
- (get_local $23)
)
- )
- (set_local $14
- (get_local $1)
- )
- (block
- (set_local $14
- (get_local $1)
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
+ )
)
- (br $while-out$116)
)
)
- (br $while-in$117)
)
- (get_local $14)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $14)
- (i32.const 9)
- )
- (i32.const 9)
- (i32.const 0)
- )
- )
- (block
- (set_local $11
- (select
- (get_local $23)
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- (get_local $11)
- )
- )
- (if
- (i32.gt_s
- (get_local $14)
- (i32.const -1)
- )
- (block
- (set_local $9
- (i32.eq
- (get_local $8)
+ (if
+ (i32.and
+ (i32.gt_s
+ (get_local $15)
(i32.const 0)
)
+ (i32.lt_u
+ (get_local $5)
+ (get_local $23)
+ )
)
- (set_local $5
- (get_local $7)
- )
- (loop $while-out$120 $while-in$121
- (set_local $8
+ (loop $while-in$117
+ (block $while-out$116
(if
- (i32.eq
- (set_local $1
+ (i32.gt_u
+ (tee_local $1
(call $_fmt_u
(i32.load
(get_local $5)
@@ -7469,834 +7190,976 @@
(get_local $45)
)
)
- (get_local $45)
+ (get_local $29)
)
- (block
- (i32.store8
- (get_local $53)
- (i32.const 48)
+ (loop $while-in$119
+ (block $while-out$118
+ (i32.store8
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-out$118
+ (i32.le_u
+ (get_local $1)
+ (get_local $29)
+ )
+ )
+ (br $while-in$119)
)
- (get_local $53)
)
- (get_local $1)
)
- )
- (block $do-once$122
(if
(i32.eq
- (get_local $5)
- (get_local $7)
- )
- (block
- (set_local $1
- (i32.add
- (get_local $8)
- (i32.const 1)
- )
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $8)
- (i32.const 1)
+ (i32.and
+ (i32.load
(get_local $0)
)
+ (i32.const 32)
)
- (if
- (i32.and
- (get_local $9)
- (i32.lt_s
- (get_local $14)
- (i32.const 1)
+ (i32.const 0)
+ )
+ (drop
+ (call $___fwritex
+ (get_local $1)
+ (select
+ (i32.const 9)
+ (get_local $15)
+ (i32.gt_s
+ (get_local $15)
+ (i32.const 9)
)
)
- (br $do-once$122)
+ (get_local $0)
)
- (if
- (i32.ne
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ )
+ )
+ (set_local $1
+ (i32.add
+ (get_local $15)
+ (i32.const -9)
+ )
+ )
+ (if
+ (i32.and
+ (i32.gt_s
+ (get_local $15)
+ (i32.const 9)
+ )
+ (i32.lt_u
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 4)
)
- (i32.const 0)
)
- (br $do-once$122)
- )
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $0)
+ (get_local $23)
)
)
+ (set_local $15
+ (get_local $1)
+ )
(block
+ (set_local $15
+ (get_local $1)
+ )
+ (br $while-out$116)
+ )
+ )
+ (br $while-in$117)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
+ (get_local $15)
+ (i32.const 9)
+ )
+ (i32.const 9)
+ (i32.const 0)
+ )
+ )
+ (block
+ (set_local $11
+ (select
+ (get_local $23)
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ (get_local $11)
+ )
+ )
+ (if
+ (i32.gt_s
+ (get_local $15)
+ (i32.const -1)
+ )
+ (block
+ (set_local $9
+ (i32.eq
+ (get_local $8)
+ (i32.const 0)
+ )
+ )
+ (set_local $5
+ (get_local $7)
+ )
+ (loop $while-in$121
+ (block $while-out$120
+ (set_local $8
(if
- (i32.gt_u
- (get_local $8)
- (get_local $29)
- )
- (set_local $1
- (get_local $8)
+ (i32.eq
+ (tee_local $1
+ (call $_fmt_u
+ (i32.load
+ (get_local $5)
+ )
+ (i32.const 0)
+ (get_local $45)
+ )
+ )
+ (get_local $45)
)
(block
- (set_local $1
- (get_local $8)
+ (i32.store8
+ (get_local $53)
+ (i32.const 48)
)
- (br $do-once$122)
+ (get_local $53)
)
+ (get_local $1)
)
- (loop $while-out$124 $while-in$125
- (i32.store8
+ )
+ (block $do-once$122
+ (if
+ (i32.eq
+ (get_local $5)
+ (get_local $7)
+ )
+ (block
(set_local $1
(i32.add
- (get_local $1)
- (i32.const -1)
+ (get_local $8)
+ (i32.const 1)
+ )
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $8)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ (br_if $do-once$122
+ (i32.and
+ (get_local $9)
+ (i32.lt_s
+ (get_local $15)
+ (i32.const 1)
+ )
+ )
+ )
+ (br_if $do-once$122
+ (i32.ne
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ (i32.const 0)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
)
)
- (i32.const 48)
)
- (if
- (i32.gt_u
- (get_local $1)
- (get_local $29)
+ (block
+ (if
+ (i32.gt_u
+ (get_local $8)
+ (get_local $29)
+ )
+ (set_local $1
+ (get_local $8)
+ )
+ (block
+ (set_local $1
+ (get_local $8)
+ )
+ (br $do-once$122)
+ )
+ )
+ (loop $while-in$125
+ (block $while-out$124
+ (i32.store8
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-out$124
+ (i32.le_u
+ (get_local $1)
+ (get_local $29)
+ )
+ )
+ (br $while-in$125)
+ )
)
- (get_local $1)
- (br $while-out$124)
)
- (br $while-in$125)
- )
- )
- )
- )
- (set_local $8
- (i32.sub
- (get_local $75)
- (get_local $1)
- )
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
)
- (i32.const 32)
)
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $1)
- (select
- (get_local $8)
- (get_local $14)
- (i32.gt_s
- (get_local $14)
- (get_local $8)
+ (set_local $8
+ (i32.sub
+ (get_local $75)
+ (get_local $1)
)
)
- (get_local $0)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.lt_u
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 4)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
)
+ (i32.const 32)
)
- (get_local $11)
+ (i32.const 0)
)
- (i32.gt_s
- (set_local $14
- (i32.sub
- (get_local $14)
+ (drop
+ (call $___fwritex
+ (get_local $1)
+ (select
(get_local $8)
+ (get_local $15)
+ (i32.gt_s
+ (get_local $15)
+ (get_local $8)
+ )
+ )
+ (get_local $0)
+ )
+ )
+ )
+ (br_if $while-out$120
+ (i32.eqz
+ (i32.and
+ (i32.lt_u
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 4)
+ )
+ )
+ (get_local $11)
+ )
+ (i32.gt_s
+ (tee_local $15
+ (i32.sub
+ (get_local $15)
+ (get_local $8)
+ )
+ )
+ (i32.const -1)
)
)
- (i32.const -1)
)
)
+ (br $while-in$121)
)
- (br $while-out$120)
)
- (br $while-in$121)
)
)
- (get_local $14)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $14)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
+ (get_local $15)
+ (i32.const 18)
+ )
(i32.const 18)
+ (i32.const 0)
)
- (i32.const 18)
- (i32.const 0)
- )
- (br_if $do-once$106
- (i32.ne
- (i32.and
- (i32.load
- (get_local $0)
+ (br_if $do-once$106
+ (i32.ne
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (call $___fwritex
- (get_local $13)
- (i32.sub
- (get_local $40)
- (get_local $13)
+ (drop
+ (call $___fwritex
+ (get_local $13)
+ (i32.sub
+ (get_local $40)
+ (get_local $13)
+ )
+ (get_local $0)
+ )
)
- (get_local $0)
)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $6)
- (i32.xor
- (get_local $18)
- (i32.const 8192)
- )
- )
- (select
- (get_local $16)
- (get_local $6)
- (i32.lt_s
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
(get_local $6)
+ (i32.xor
+ (get_local $18)
+ (i32.const 8192)
+ )
+ )
+ (select
(get_local $16)
+ (get_local $6)
+ (i32.lt_s
+ (get_local $6)
+ (get_local $16)
+ )
)
)
- )
- (block
- (set_local $5
- (select
- (i32.const 4127)
- (i32.const 4131)
- (set_local $8
- (i32.ne
- (i32.and
- (get_local $26)
- (i32.const 32)
+ (block
+ (set_local $5
+ (select
+ (i32.const 4127)
+ (i32.const 4131)
+ (tee_local $8
+ (i32.ne
+ (i32.and
+ (get_local $26)
+ (i32.const 32)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
- )
- (set_local $6
- (select
- (i32.const 0)
- (get_local $51)
- (set_local $1
- (i32.or
- (f64.ne
- (get_local $15)
- (get_local $15)
+ (set_local $6
+ (select
+ (i32.const 0)
+ (get_local $51)
+ (tee_local $1
+ (i32.or
+ (f64.ne
+ (get_local $14)
+ (get_local $14)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
- )
- (set_local $8
- (select
+ (set_local $8
(select
- (i32.const 4135)
- (i32.const 4139)
- (get_local $8)
+ (select
+ (i32.const 4135)
+ (i32.const 4139)
+ (get_local $8)
+ )
+ (get_local $5)
+ (get_local $1)
)
- (get_local $5)
- (get_local $1)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (set_local $5
- (i32.add
- (get_local $6)
- (i32.const 3)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (tee_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const 3)
+ )
)
+ (get_local $7)
)
- (get_local $7)
- )
- (if
- (i32.eq
- (i32.and
- (if
- (i32.eq
- (i32.and
- (set_local $1
- (i32.load
- (get_local $0)
+ (if
+ (i32.eq
+ (i32.and
+ (if
+ (i32.eq
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (get_local $0)
+ )
)
+ (i32.const 32)
)
- (i32.const 32)
- )
- (i32.const 0)
- )
- (block
- (call $___fwritex
- (get_local $39)
- (get_local $6)
- (get_local $0)
+ (i32.const 0)
)
- (i32.load
- (get_local $0)
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $39)
+ (get_local $6)
+ (get_local $0)
+ )
+ )
+ (i32.load
+ (get_local $0)
+ )
)
+ (get_local $1)
)
- (get_local $1)
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $8)
+ (i32.const 3)
+ (get_local $0)
)
- (i32.const 0)
)
- (call $___fwritex
- (get_local $8)
- (i32.const 3)
+ (call $_pad
(get_local $0)
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $5)
- (i32.xor
- (get_local $18)
- (i32.const 8192)
- )
- )
- (select
- (get_local $16)
- (get_local $5)
- (i32.lt_s
+ (i32.const 32)
+ (get_local $16)
(get_local $5)
+ (i32.xor
+ (get_local $18)
+ (i32.const 8192)
+ )
+ )
+ (select
(get_local $16)
+ (get_local $5)
+ (i32.lt_s
+ (get_local $5)
+ (get_local $16)
+ )
)
)
)
)
)
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
)
- (set_local $8
- (get_local $21)
+ (set_local $47
+ (get_local $20)
)
- (br $label$continue$L1)
- )
- (set_local $47
- (get_local $20)
- )
- (set_local $37
- (get_local $18)
- )
- (set_local $42
- (get_local $10)
- )
- (set_local $43
- (i32.const 0)
- )
- (set_local $48
- (i32.const 4091)
- )
- (set_local $49
- (get_local $28)
- )
- )
- (block $label$break$L308
- (if
- (i32.eq
- (get_local $12)
- (i32.const 64)
+ (set_local $37
+ (get_local $18)
)
- (block
- (set_local $7
- (i32.and
- (get_local $68)
- (i32.const 32)
- )
+ (set_local $42
+ (get_local $10)
+ )
+ (set_local $43
+ (i32.const 0)
+ )
+ (set_local $48
+ (i32.const 4091)
+ )
+ (set_local $49
+ (get_local $28)
+ )
+ )
+ (block $label$break$L308
+ (if
+ (i32.eq
+ (get_local $12)
+ (i32.const 64)
)
- (set_local $58
- (if
+ (block
+ (set_local $7
(i32.and
- (i32.eq
- (set_local $5
- (i32.load
- (set_local $1
- (get_local $19)
+ (get_local $68)
+ (i32.const 32)
+ )
+ )
+ (set_local $58
+ (if
+ (i32.and
+ (i32.eq
+ (tee_local $5
+ (i32.load
+ (tee_local $1
+ (get_local $19)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (i32.eq
- (set_local $1
- (i32.load offset=4
- (get_local $1)
+ (i32.eq
+ (tee_local $1
+ (i32.load offset=4
+ (get_local $1)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- )
- (block
- (set_local $34
- (get_local $46)
- )
- (set_local $32
- (get_local $57)
)
- (set_local $35
- (i32.const 0)
- )
- (set_local $36
- (i32.const 4091)
- )
- (set_local $12
- (i32.const 77)
- )
- (get_local $28)
- )
- (block
- (set_local $6
+ (block
+ (set_local $34
+ (get_local $46)
+ )
+ (set_local $32
+ (get_local $57)
+ )
+ (set_local $35
+ (i32.const 0)
+ )
+ (set_local $36
+ (i32.const 4091)
+ )
+ (set_local $12
+ (i32.const 77)
+ )
(get_local $28)
)
- (loop $while-out$129 $while-in$130
- (i32.store8
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
+ (block
+ (set_local $6
+ (get_local $28)
+ )
+ (loop $while-in$130
+ (block $while-out$129
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ )
+ (i32.and
+ (i32.or
+ (i32.and
+ (i32.load8_s
+ (i32.add
+ (i32.and
+ (get_local $5)
+ (i32.const 15)
+ )
+ (i32.const 4075)
+ )
+ )
+ (i32.const 255)
+ )
+ (get_local $7)
+ )
+ (i32.const 255)
+ )
)
- )
- (i32.and
- (i32.or
+ (br_if $while-out$129
(i32.and
- (i32.load8_s
- (i32.add
- (i32.and
+ (i32.eq
+ (tee_local $5
+ (call $_bitshift64Lshr
(get_local $5)
- (i32.const 15)
+ (get_local $1)
+ (i32.const 4)
)
- (i32.const 4075)
)
+ (i32.const 0)
+ )
+ (i32.eq
+ (tee_local $1
+ (get_global $tempRet0)
+ )
+ (i32.const 0)
)
- (i32.const 255)
)
- (get_local $7)
)
- (i32.const 255)
+ (br $while-in$130)
)
)
(if
- (i32.and
+ (i32.or
(i32.eq
- (set_local $5
- (call $_bitshift64Lshr
- (get_local $5)
- (get_local $1)
- (i32.const 4)
- )
+ (i32.and
+ (get_local $46)
+ (i32.const 8)
)
(i32.const 0)
)
- (i32.eq
- (set_local $1
+ (i32.and
+ (i32.eq
(i32.load
- (i32.const 168)
+ (tee_local $1
+ (get_local $19)
+ )
)
+ (i32.const 0)
+ )
+ (i32.eq
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
)
- (br $while-out$129)
- )
- (br $while-in$130)
- )
- (if
- (i32.or
- (i32.eq
- (i32.and
+ (block
+ (set_local $34
(get_local $46)
- (i32.const 8)
)
- (i32.const 0)
- )
- (i32.and
- (i32.eq
- (i32.load
- (set_local $1
- (get_local $19)
- )
- )
- (i32.const 0)
+ (set_local $32
+ (get_local $57)
)
- (i32.eq
- (i32.load offset=4
- (get_local $1)
- )
+ (set_local $35
(i32.const 0)
)
- )
- )
- (block
- (set_local $34
- (get_local $46)
- )
- (set_local $32
- (get_local $57)
- )
- (set_local $35
- (i32.const 0)
- )
- (set_local $36
- (i32.const 4091)
- )
- (set_local $12
- (i32.const 77)
- )
- (get_local $6)
- )
- (block
- (set_local $34
- (get_local $46)
- )
- (set_local $32
- (get_local $57)
- )
- (set_local $35
- (i32.const 2)
- )
- (set_local $36
- (i32.add
+ (set_local $36
(i32.const 4091)
- (i32.shr_s
- (get_local $68)
- (i32.const 4)
- )
)
+ (set_local $12
+ (i32.const 77)
+ )
+ (get_local $6)
)
- (set_local $12
- (i32.const 77)
+ (block
+ (set_local $34
+ (get_local $46)
+ )
+ (set_local $32
+ (get_local $57)
+ )
+ (set_local $35
+ (i32.const 2)
+ )
+ (set_local $36
+ (i32.add
+ (i32.const 4091)
+ (i32.shr_s
+ (get_local $68)
+ (i32.const 4)
+ )
+ )
+ )
+ (set_local $12
+ (i32.const 77)
+ )
+ (get_local $6)
)
- (get_local $6)
)
)
)
)
)
- )
- (if
- (i32.eq
- (get_local $12)
- (i32.const 76)
- )
- (block
- (set_local $58
- (call $_fmt_u
- (get_local $33)
- (get_local $59)
- (get_local $28)
- )
- )
- (set_local $34
- (get_local $18)
- )
- (set_local $32
- (get_local $10)
- )
- (set_local $35
- (get_local $60)
- )
- (set_local $36
- (get_local $61)
- )
- (set_local $12
- (i32.const 77)
- )
- )
(if
(i32.eq
(get_local $12)
- (i32.const 82)
+ (i32.const 76)
)
(block
- (set_local $12
- (i32.const 0)
- )
- (set_local $5
- (i32.eq
- (set_local $1
- (call $_memchr
- (get_local $50)
- (i32.const 0)
- (get_local $10)
- )
- )
- (i32.const 0)
+ (set_local $58
+ (call $_fmt_u
+ (get_local $33)
+ (get_local $59)
+ (get_local $28)
)
)
- (set_local $47
- (get_local $50)
- )
- (set_local $37
- (get_local $7)
+ (set_local $34
+ (get_local $18)
)
- (set_local $42
- (select
- (get_local $10)
- (i32.sub
- (get_local $1)
- (get_local $50)
- )
- (get_local $5)
- )
+ (set_local $32
+ (get_local $10)
)
- (set_local $43
- (i32.const 0)
+ (set_local $35
+ (get_local $60)
)
- (set_local $48
- (i32.const 4091)
+ (set_local $36
+ (get_local $61)
)
- (set_local $49
- (select
- (i32.add
- (get_local $50)
- (get_local $10)
- )
- (get_local $1)
- (get_local $5)
- )
+ (set_local $12
+ (i32.const 77)
)
)
(if
(i32.eq
(get_local $12)
- (i32.const 86)
+ (i32.const 82)
)
(block
(set_local $12
(i32.const 0)
)
- (set_local $7
- (i32.const 0)
- )
(set_local $5
- (i32.const 0)
- )
- (set_local $6
- (i32.load
- (get_local $19)
- )
- )
- (loop $while-out$131 $while-in$132
- (if
- (i32.eq
- (set_local $1
- (i32.load
- (get_local $6)
- )
- )
- (i32.const 0)
- )
- (br $while-out$131)
- )
- (if
- (i32.or
- (i32.lt_s
- (set_local $5
- (call $_wctomb
- (get_local $63)
- (get_local $1)
- )
- )
+ (i32.eq
+ (tee_local $1
+ (call $_memchr
+ (get_local $50)
(i32.const 0)
- )
- (i32.gt_u
- (get_local $5)
- (i32.sub
- (get_local $69)
- (get_local $7)
- )
+ (get_local $10)
)
)
- (br $while-out$131)
- )
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
+ (i32.const 0)
)
- (if
- (i32.gt_u
- (get_local $69)
- (set_local $1
- (i32.add
- (get_local $5)
- (get_local $7)
- )
- )
- )
- (set_local $7
+ )
+ (set_local $47
+ (get_local $50)
+ )
+ (set_local $37
+ (get_local $7)
+ )
+ (set_local $42
+ (select
+ (get_local $10)
+ (i32.sub
(get_local $1)
+ (get_local $50)
)
- (block
- (set_local $7
- (get_local $1)
- )
- (br $while-out$131)
- )
- )
- (br $while-in$132)
- )
- (if
- (i32.lt_s
(get_local $5)
- (i32.const 0)
)
- (block
- (set_local $24
- (i32.const -1)
+ )
+ (set_local $43
+ (i32.const 0)
+ )
+ (set_local $48
+ (i32.const 4091)
+ )
+ (set_local $49
+ (select
+ (i32.add
+ (get_local $50)
+ (get_local $10)
)
- (br $label$break$L1)
+ (get_local $1)
+ (get_local $5)
)
)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $7)
- (get_local $18)
+ )
+ (if
+ (i32.eq
+ (get_local $12)
+ (i32.const 86)
)
- (if
- (i32.eq
- (get_local $7)
+ (block
+ (set_local $12
(i32.const 0)
)
- (block
- (set_local $38
- (i32.const 0)
- )
- (set_local $12
- (i32.const 98)
- )
+ (set_local $7
+ (i32.const 0)
)
- (block
- (set_local $6
- (i32.const 0)
- )
- (set_local $8
- (i32.load
- (get_local $19)
- )
+ (set_local $5
+ (i32.const 0)
+ )
+ (set_local $6
+ (i32.load
+ (get_local $19)
)
- (loop $while-out$133 $while-in$134
- (if
+ )
+ (loop $while-in$132
+ (block $while-out$131
+ (br_if $while-out$131
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load
- (get_local $8)
+ (get_local $6)
)
)
(i32.const 0)
)
- (block
- (set_local $38
- (get_local $7)
+ )
+ (br_if $while-out$131
+ (i32.or
+ (i32.lt_s
+ (tee_local $5
+ (call $_wctomb
+ (get_local $63)
+ (get_local $1)
+ )
+ )
+ (i32.const 0)
)
- (set_local $12
- (i32.const 98)
+ (i32.gt_u
+ (get_local $5)
+ (i32.sub
+ (get_local $69)
+ (get_local $7)
+ )
)
- (br $label$break$L308)
)
)
- (set_local $8
+ (set_local $6
(i32.add
- (get_local $8)
+ (get_local $6)
(i32.const 4)
)
)
(if
- (i32.gt_s
- (set_local $1
+ (i32.gt_u
+ (get_local $69)
+ (tee_local $1
(i32.add
- (set_local $5
- (call $_wctomb
- (get_local $63)
- (get_local $1)
- )
- )
- (get_local $6)
+ (get_local $5)
+ (get_local $7)
)
)
- (get_local $7)
+ )
+ (set_local $7
+ (get_local $1)
)
(block
- (set_local $38
- (get_local $7)
- )
- (set_local $12
- (i32.const 98)
+ (set_local $7
+ (get_local $1)
)
- (br $label$break$L308)
+ (br $while-out$131)
)
)
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $63)
- (get_local $5)
- (get_local $0)
- )
+ (br $while-in$132)
+ )
+ )
+ (if
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (block
+ (set_local $24
+ (i32.const -1)
)
- (if
- (i32.lt_u
- (get_local $1)
- (get_local $7)
- )
- (set_local $6
- (get_local $1)
+ (br $label$break$L1)
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (get_local $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)
+ )
+ )
+ (block
+ (set_local $6
+ (i32.const 0)
+ )
+ (set_local $8
+ (i32.load
+ (get_local $19)
)
- (block
- (set_local $38
- (get_local $7)
+ )
+ (loop $while-in$134
+ (block $while-out$133
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.load
+ (get_local $8)
+ )
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $38
+ (get_local $7)
+ )
+ (set_local $12
+ (i32.const 98)
+ )
+ (br $label$break$L308)
+ )
)
- (set_local $12
- (i32.const 98)
+ (set_local $8
+ (i32.add
+ (get_local $8)
+ (i32.const 4)
+ )
+ )
+ (if
+ (i32.gt_s
+ (tee_local $1
+ (i32.add
+ (tee_local $5
+ (call $_wctomb
+ (get_local $63)
+ (get_local $1)
+ )
+ )
+ (get_local $6)
+ )
+ )
+ (get_local $7)
+ )
+ (block
+ (set_local $38
+ (get_local $7)
+ )
+ (set_local $12
+ (i32.const 98)
+ )
+ (br $label$break$L308)
+ )
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $63)
+ (get_local $5)
+ (get_local $0)
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $1)
+ (get_local $7)
+ )
+ (set_local $6
+ (get_local $1)
+ )
+ (block
+ (set_local $38
+ (get_local $7)
+ )
+ (set_local $12
+ (i32.const 98)
+ )
+ (br $while-out$133)
+ )
)
- (br $while-out$133)
+ (br $while-in$134)
)
)
- (br $while-in$134)
)
)
)
@@ -8305,267 +8168,267 @@
)
)
)
- )
- (if
- (i32.eq
- (get_local $12)
- (i32.const 98)
- )
- (block
- (set_local $12
- (i32.const 0)
+ (if
+ (i32.eq
+ (get_local $12)
+ (i32.const 98)
)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $38)
- (i32.xor
- (get_local $18)
- (i32.const 8192)
+ (block
+ (set_local $12
+ (i32.const 0)
)
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (select
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
(get_local $16)
(get_local $38)
- (i32.gt_s
+ (i32.xor
+ (get_local $18)
+ (i32.const 8192)
+ )
+ )
+ (set_local $20
+ (get_local $9)
+ )
+ (set_local $1
+ (select
(get_local $16)
(get_local $38)
+ (i32.gt_s
+ (get_local $16)
+ (get_local $38)
+ )
)
)
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
)
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- )
- (if
- (i32.eq
- (get_local $12)
- (i32.const 77)
)
- (block
- (set_local $12
- (i32.const 0)
+ (if
+ (i32.eq
+ (get_local $12)
+ (i32.const 77)
)
- (set_local $5
- (select
- (i32.and
- (get_local $34)
- (i32.const -65537)
- )
- (get_local $34)
- (i32.gt_s
- (get_local $32)
- (i32.const -1)
- )
+ (block
+ (set_local $12
+ (i32.const 0)
)
- )
- (set_local $47
- (if
- (i32.or
- (i32.ne
+ (set_local $5
+ (select
+ (i32.and
+ (get_local $34)
+ (i32.const -65537)
+ )
+ (get_local $34)
+ (i32.gt_s
(get_local $32)
- (i32.const 0)
+ (i32.const -1)
)
- (set_local $1
- (i32.or
- (i32.ne
- (i32.load
- (set_local $1
- (get_local $19)
+ )
+ )
+ (set_local $47
+ (if
+ (i32.or
+ (i32.ne
+ (get_local $32)
+ (i32.const 0)
+ )
+ (tee_local $1
+ (i32.or
+ (i32.ne
+ (i32.load
+ (tee_local $1
+ (get_local $19)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (i32.ne
- (i32.load offset=4
- (get_local $1)
+ (i32.ne
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
- )
- (block
- (set_local $7
- (i32.gt_s
- (get_local $32)
- (set_local $1
- (i32.add
- (i32.xor
- (i32.and
- (get_local $1)
+ (block
+ (set_local $7
+ (i32.gt_s
+ (get_local $32)
+ (tee_local $1
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $1)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
- )
- (i32.sub
- (get_local $71)
- (get_local $58)
+ (i32.sub
+ (get_local $71)
+ (get_local $58)
+ )
)
)
)
)
- )
- (set_local $37
- (get_local $5)
- )
- (set_local $42
- (select
- (get_local $32)
- (get_local $1)
- (get_local $7)
+ (set_local $37
+ (get_local $5)
)
+ (set_local $42
+ (select
+ (get_local $32)
+ (get_local $1)
+ (get_local $7)
+ )
+ )
+ (set_local $43
+ (get_local $35)
+ )
+ (set_local $48
+ (get_local $36)
+ )
+ (set_local $49
+ (get_local $28)
+ )
+ (get_local $58)
)
- (set_local $43
- (get_local $35)
- )
- (set_local $48
- (get_local $36)
- )
- (set_local $49
- (get_local $28)
- )
- (get_local $58)
- )
- (block
- (set_local $37
- (get_local $5)
- )
- (set_local $42
- (i32.const 0)
- )
- (set_local $43
- (get_local $35)
- )
- (set_local $48
- (get_local $36)
- )
- (set_local $49
+ (block
+ (set_local $37
+ (get_local $5)
+ )
+ (set_local $42
+ (i32.const 0)
+ )
+ (set_local $43
+ (get_local $35)
+ )
+ (set_local $48
+ (get_local $36)
+ )
+ (set_local $49
+ (get_local $28)
+ )
(get_local $28)
)
- (get_local $28)
)
)
)
)
- )
- (set_local $1
- (i32.lt_s
- (get_local $42)
- (set_local $7
- (i32.sub
- (get_local $49)
- (get_local $47)
+ (set_local $1
+ (i32.lt_s
+ (get_local $42)
+ (tee_local $7
+ (i32.sub
+ (get_local $49)
+ (get_local $47)
+ )
)
)
)
- )
- (set_local $5
- (i32.lt_s
- (get_local $16)
- (set_local $1
- (i32.add
- (get_local $43)
- (set_local $6
- (select
- (get_local $7)
- (get_local $42)
- (get_local $1)
+ (set_local $5
+ (i32.lt_s
+ (get_local $16)
+ (tee_local $1
+ (i32.add
+ (get_local $43)
+ (tee_local $6
+ (select
+ (get_local $7)
+ (get_local $42)
+ (get_local $1)
+ )
)
)
)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (set_local $5
- (select
- (get_local $1)
- (get_local $16)
- (get_local $5)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (tee_local $5
+ (select
+ (get_local $1)
+ (get_local $16)
+ (get_local $5)
+ )
)
+ (get_local $1)
+ (get_local $37)
)
- (get_local $1)
- (get_local $37)
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $48)
+ (get_local $43)
+ (get_local $0)
)
- (i32.const 0)
)
- (call $___fwritex
- (get_local $48)
- (get_local $43)
+ (call $_pad
(get_local $0)
+ (i32.const 48)
+ (get_local $5)
+ (get_local $1)
+ (i32.xor
+ (get_local $37)
+ (i32.const 65536)
+ )
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $5)
- (get_local $1)
- (i32.xor
- (get_local $37)
- (i32.const 65536)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $6)
+ (get_local $7)
+ (i32.const 0)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $6)
- (get_local $7)
- (i32.const 0)
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $47)
+ (get_local $7)
+ (get_local $0)
)
- (i32.const 0)
)
- (call $___fwritex
- (get_local $47)
- (get_local $7)
+ (call $_pad
(get_local $0)
+ (i32.const 32)
+ (get_local $5)
+ (get_local $1)
+ (i32.xor
+ (get_local $37)
+ (i32.const 8192)
+ )
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $5)
- (get_local $1)
- (i32.xor
- (get_local $37)
- (i32.const 8192)
+ (set_local $20
+ (get_local $9)
)
+ (set_local $1
+ (get_local $5)
+ )
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
)
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $5)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
)
(block $label$break$L343
(if
@@ -8590,103 +8453,105 @@
(set_local $1
(i32.const 1)
)
- (loop $while-out$136 $while-in$137
- (if
- (i32.eq
- (set_local $0
- (i32.load
- (i32.add
- (get_local $4)
- (i32.shl
- (get_local $1)
- (i32.const 2)
+ (loop $while-in$137
+ (block $while-out$136
+ (br_if $while-out$136
+ (i32.eq
+ (tee_local $0
+ (i32.load
+ (i32.add
+ (get_local $4)
+ (i32.shl
+ (get_local $1)
+ (i32.const 2)
+ )
)
)
)
- )
- (i32.const 0)
- )
- (br $while-out$136)
- )
- (call $_pop_arg_336
- (i32.add
- (get_local $3)
- (i32.shl
- (get_local $1)
- (i32.const 3)
+ (i32.const 0)
)
)
- (get_local $0)
- (get_local $2)
- )
- (if
- (i32.lt_s
- (set_local $1
- (i32.add
+ (call $_pop_arg_336
+ (i32.add
+ (get_local $3)
+ (i32.shl
(get_local $1)
- (i32.const 1)
+ (i32.const 3)
)
)
- (i32.const 10)
+ (get_local $0)
+ (get_local $2)
)
- (get_local $1)
- (block
- (set_local $24
- (i32.const 1)
+ (if
+ (i32.ge_s
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
+ (i32.const 10)
+ )
+ (block
+ (set_local $24
+ (i32.const 1)
+ )
+ (br $label$break$L343)
)
- (br $label$break$L343)
)
+ (br $while-in$137)
)
- (br $while-in$137)
)
(if
(i32.lt_s
(get_local $1)
(i32.const 10)
)
- (loop $while-out$138 $while-in$139
- (set_local $0
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (loop $while-in$139
+ (block $while-out$138
+ (set_local $0
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
)
- )
- (if
- (i32.ne
- (i32.load
- (i32.add
- (get_local $4)
- (i32.shl
- (get_local $1)
- (i32.const 2)
+ (if
+ (i32.ne
+ (i32.load
+ (i32.add
+ (get_local $4)
+ (i32.shl
+ (get_local $1)
+ (i32.const 2)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $24
- (i32.const -1)
+ (block
+ (set_local $24
+ (i32.const -1)
+ )
+ (br $label$break$L343)
)
- (br $label$break$L343)
- )
- )
- (if
- (i32.lt_s
- (get_local $0)
- (i32.const 10)
)
- (set_local $1
- (get_local $0)
- )
- (block
- (set_local $24
- (i32.const 1)
+ (if
+ (i32.lt_s
+ (get_local $0)
+ (i32.const 10)
+ )
+ (set_local $1
+ (get_local $0)
+ )
+ (block
+ (set_local $24
+ (i32.const 1)
+ )
+ (br $while-out$138)
)
- (br $while-out$138)
)
+ (br $while-in$139)
)
- (br $while-in$139)
)
(set_local $24
(i32.const 1)
@@ -8700,8 +8565,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $31)
)
(get_local $24)
@@ -8710,9 +8574,6 @@
(local $3 i32)
(local $4 f64)
(local $5 i32)
- (i32.load
- (i32.const 8)
- )
(block $label$break$L1
(if
(i32.le_u
@@ -8739,7 +8600,7 @@
)
(set_local $3
(i32.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -8767,7 +8628,7 @@
)
(set_local $3
(i32.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -8808,7 +8669,7 @@
)
(set_local $3
(i32.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -8840,8 +8701,8 @@
)
(set_local $5
(i32.load
- (set_local $3
- (set_local $1
+ (tee_local $3
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -8879,7 +8740,7 @@
)
(set_local $3
(i32.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -8903,7 +8764,7 @@
(i32.shr_s
(i32.shl
(i32.lt_s
- (set_local $1
+ (tee_local $1
(i32.shr_s
(i32.shl
(i32.and
@@ -8934,7 +8795,7 @@
)
(set_local $3
(i32.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -8969,7 +8830,7 @@
)
(set_local $3
(i32.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -8993,7 +8854,7 @@
(i32.shr_s
(i32.shl
(i32.lt_s
- (set_local $1
+ (tee_local $1
(i32.shr_s
(i32.shl
(i32.and
@@ -9024,7 +8885,7 @@
)
(set_local $3
(i32.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -9059,7 +8920,7 @@
)
(set_local $4
(f64.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -9087,7 +8948,7 @@
)
(set_local $4
(f64.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -9118,9 +8979,6 @@
(func $_fmt_u (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
- (i32.load
- (i32.const 8)
- )
(set_local $0
(if
(i32.or
@@ -9146,74 +9004,71 @@
(set_local $4
(get_local $1)
)
- (loop $while-out$0 $while-in$1
- (set_local $0
- (call $___uremdi3
- (get_local $3)
- (get_local $4)
- (i32.const 10)
- (i32.const 0)
- )
- )
- (i32.load
- (i32.const 168)
- )
- (i32.store8
- (set_local $2
- (i32.add
- (get_local $2)
- (i32.const -1)
+ (loop $while-in$1
+ (block $while-out$0
+ (set_local $0
+ (call $___uremdi3
+ (get_local $3)
+ (get_local $4)
+ (i32.const 10)
+ (i32.const 0)
)
)
- (i32.and
- (i32.or
- (get_local $0)
- (i32.const 48)
+ (i32.store8
+ (tee_local $2
+ (i32.add
+ (get_local $2)
+ (i32.const -1)
+ )
+ )
+ (i32.and
+ (i32.or
+ (get_local $0)
+ (i32.const 48)
+ )
+ (i32.const 255)
)
- (i32.const 255)
- )
- )
- (set_local $0
- (call $___udivdi3
- (get_local $3)
- (get_local $4)
- (i32.const 10)
- (i32.const 0)
- )
- )
- (set_local $1
- (i32.load
- (i32.const 168)
)
- )
- (if
- (i32.or
- (i32.gt_u
+ (set_local $0
+ (call $___udivdi3
+ (get_local $3)
(get_local $4)
- (i32.const 9)
+ (i32.const 10)
+ (i32.const 0)
)
- (i32.and
- (i32.eq
+ )
+ (set_local $1
+ (get_global $tempRet0)
+ )
+ (if
+ (i32.or
+ (i32.gt_u
(get_local $4)
(i32.const 9)
)
- (i32.gt_u
- (get_local $3)
- (i32.const -1)
+ (i32.and
+ (i32.eq
+ (get_local $4)
+ (i32.const 9)
+ )
+ (i32.gt_u
+ (get_local $3)
+ (i32.const -1)
+ )
)
)
- )
- (block
- (set_local $3
- (get_local $0)
- )
- (set_local $4
- (get_local $1)
+ (block
+ (set_local $3
+ (get_local $0)
+ )
+ (set_local $4
+ (get_local $1)
+ )
)
+ (br $while-out$0)
)
- (br $while-out$0)
+ (br $while-in$1)
)
- (br $while-in$1)
)
(set_local $3
(get_local $0)
@@ -9229,62 +9084,63 @@
)
)
(if
- (i32.eq
+ (i32.ne
(get_local $3)
(i32.const 0)
)
- (get_local $0)
(block
(set_local $1
(get_local $0)
)
- (loop $while-out$2 $while-in$3
- (i32.store8
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const -1)
+ (loop $while-in$3
+ (block $while-out$2
+ (i32.store8
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const -1)
+ )
)
- )
- (i32.and
- (i32.or
- (i32.and
- (call_import $i32u-rem
- (get_local $3)
- (i32.const 10)
+ (i32.and
+ (i32.or
+ (i32.and
+ (call_import $i32u-rem
+ (get_local $3)
+ (i32.const 10)
+ )
+ (i32.const -1)
)
- (i32.const -1)
+ (i32.const 48)
)
- (i32.const 48)
+ (i32.const 255)
)
- (i32.const 255)
)
- )
- (set_local $0
- (i32.and
- (call_import $i32u-div
+ (set_local $0
+ (i32.and
+ (call_import $i32u-div
+ (get_local $3)
+ (i32.const 10)
+ )
+ (i32.const -1)
+ )
+ )
+ (if
+ (i32.lt_u
(get_local $3)
(i32.const 10)
)
- (i32.const -1)
- )
- )
- (if
- (i32.lt_u
- (get_local $3)
- (i32.const 10)
- )
- (block
- (set_local $0
- (get_local $1)
+ (block
+ (set_local $0
+ (get_local $1)
+ )
+ (br $while-out$2)
+ )
+ (set_local $3
+ (get_local $0)
)
- (br $while-out$2)
- )
- (set_local $3
- (get_local $0)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
@@ -9295,27 +9151,18 @@
(local $6 i32)
(local $7 i32)
(set_local $7
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 256)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -9340,7 +9187,7 @@
(block
(set_local $4
(i32.gt_u
- (set_local $5
+ (tee_local $5
(i32.sub
(get_local $2)
(get_local $3)
@@ -9349,19 +9196,21 @@
(i32.const 256)
)
)
- (call $_memset
- (get_local $6)
- (get_local $1)
- (select
- (i32.const 256)
- (get_local $5)
- (get_local $4)
+ (drop
+ (call $_memset
+ (get_local $6)
+ (get_local $1)
+ (select
+ (i32.const 256)
+ (get_local $5)
+ (get_local $4)
+ )
)
)
(set_local $4
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(get_local $0)
)
@@ -9386,44 +9235,47 @@
(set_local $3
(get_local $5)
)
- (loop $while-out$2 $while-in$3
- (set_local $4
- (i32.eq
- (i32.and
- (set_local $1
- (if
- (get_local $4)
- (block
- (call $___fwritex
- (get_local $6)
- (i32.const 256)
- (get_local $0)
- )
- (i32.load
- (get_local $0)
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $4
+ (i32.eq
+ (i32.and
+ (tee_local $1
+ (if
+ (get_local $4)
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $6)
+ (i32.const 256)
+ (get_local $0)
+ )
+ )
+ (i32.load
+ (get_local $0)
+ )
)
+ (get_local $1)
)
- (get_local $1)
)
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (if
- (i32.le_u
- (set_local $3
- (i32.add
- (get_local $3)
- (i32.const -256)
+ (br_if $while-out$2
+ (i32.le_u
+ (tee_local $3
+ (i32.add
+ (get_local $3)
+ (i32.const -256)
+ )
)
+ (i32.const 255)
)
- (i32.const 255)
)
- (br $while-out$2)
+ (br $while-in$3)
)
- (br $while-in$3)
)
(set_local $1
(i32.and
@@ -9431,10 +9283,10 @@
(i32.const 255)
)
)
- (if
- (get_local $4)
- (get_local $1)
- (br $do-once$0)
+ (br_if $do-once$0
+ (i32.eqz
+ (get_local $4)
+ )
)
)
(if
@@ -9445,16 +9297,17 @@
(br $do-once$0)
)
)
- (call $___fwritex
- (get_local $6)
- (get_local $1)
- (get_local $0)
+ (drop
+ (call $___fwritex
+ (get_local $6)
+ (get_local $1)
+ (get_local $0)
+ )
)
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $7)
)
)
@@ -9505,9 +9358,6 @@
(local $44 i32)
(local $45 i32)
(local $46 i32)
- (i32.load
- (i32.const 8)
- )
(block $do-once$0
(if
(i32.lt_u
@@ -9518,16 +9368,16 @@
(if
(i32.ne
(i32.and
- (set_local $25
+ (tee_local $25
(i32.shr_u
- (set_local $4
+ (tee_local $4
(i32.load
(i32.const 176)
)
)
- (set_local $22
+ (tee_local $22
(i32.shr_u
- (set_local $6
+ (tee_local $6
(select
(i32.const 16)
(i32.and
@@ -9555,18 +9405,18 @@
(block
(set_local $2
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
- (set_local $9
+ (tee_local $9
(i32.add
(i32.const 216)
(i32.shl
(i32.shl
- (set_local $8
+ (tee_local $8
(i32.add
(i32.xor
(i32.and
@@ -9625,7 +9475,7 @@
(if
(i32.eq
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $2)
(i32.const 12)
@@ -9651,7 +9501,7 @@
(i32.store offset=4
(get_local $1)
(i32.or
- (set_local $0
+ (tee_local $0
(i32.shl
(get_local $8)
(i32.const 3)
@@ -9663,7 +9513,7 @@
(set_local $1
(i32.or
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(i32.add
(get_local $1)
@@ -9688,7 +9538,7 @@
(if
(i32.gt_u
(get_local $6)
- (set_local $10
+ (tee_local $10
(i32.load
(i32.const 184)
)
@@ -9704,7 +9554,7 @@
(set_local $1
(i32.sub
(i32.const 0)
- (set_local $0
+ (tee_local $0
(i32.shl
(i32.const 2)
(get_local $22)
@@ -9715,7 +9565,7 @@
(set_local $1
(i32.sub
(i32.const 0)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shl
(get_local $25)
@@ -9732,7 +9582,7 @@
(set_local $0
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.add
(i32.and
(get_local $0)
@@ -9748,27 +9598,27 @@
)
(set_local $0
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
- (set_local $9
+ (tee_local $9
(i32.add
(i32.const 216)
(i32.shl
(i32.shl
- (set_local $8
+ (tee_local $8
(i32.add
(i32.or
(i32.or
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
- (set_local $2
+ (tee_local $2
(i32.shr_u
(get_local $1)
(get_local $0)
@@ -9781,10 +9631,10 @@
)
(get_local $0)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $2)
(get_local $1)
@@ -9796,10 +9646,10 @@
)
)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $1)
(get_local $0)
@@ -9811,10 +9661,10 @@
)
)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $1)
(get_local $0)
@@ -9884,7 +9734,7 @@
(if
(i32.eq
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $0)
(i32.const 12)
@@ -9920,14 +9770,14 @@
)
)
(i32.store offset=4
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $2)
(get_local $6)
)
)
(i32.or
- (set_local $9
+ (tee_local $9
(i32.sub
(i32.shl
(get_local $8)
@@ -9962,7 +9812,7 @@
(i32.const 216)
(i32.shl
(i32.shl
- (set_local $2
+ (tee_local $2
(i32.shr_u
(get_local $7)
(i32.const 3)
@@ -9977,12 +9827,12 @@
(if
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 176)
)
)
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 1)
(get_local $2)
@@ -10011,9 +9861,9 @@
)
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $8)
(i32.const 8)
@@ -10068,20 +9918,19 @@
)
)
(if
- (i32.eq
- (set_local $0
+ (i32.ne
+ (tee_local $0
(i32.load
(i32.const 180)
)
)
(i32.const 0)
)
- (get_local $6)
(block
(set_local $0
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.add
(i32.and
(get_local $0)
@@ -10102,7 +9951,7 @@
(i32.sub
(i32.and
(i32.load offset=4
- (set_local $0
+ (tee_local $0
(i32.load offset=480
(i32.shl
(i32.add
@@ -10110,10 +9959,10 @@
(i32.or
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
- (set_local $2
+ (tee_local $2
(i32.shr_u
(get_local $1)
(get_local $0)
@@ -10126,10 +9975,10 @@
)
(get_local $0)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $2)
(get_local $1)
@@ -10141,10 +9990,10 @@
)
)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $1)
(get_local $0)
@@ -10156,10 +10005,10 @@
)
)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $1)
(get_local $0)
@@ -10192,81 +10041,83 @@
(set_local $8
(get_local $0)
)
- (loop $while-out$6 $while-in$7
- (if
- (i32.eq
- (set_local $0
- (i32.load offset=16
- (get_local $4)
- )
- )
- (i32.const 0)
- )
+ (loop $while-in$7
+ (block $while-out$6
(if
(i32.eq
- (set_local $0
- (i32.load offset=20
+ (tee_local $0
+ (i32.load offset=16
(get_local $4)
)
)
(i32.const 0)
)
- (block
- (set_local $7
- (get_local $2)
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $4)
+ )
+ )
+ (i32.const 0)
)
- (set_local $10
- (get_local $8)
+ (block
+ (set_local $7
+ (get_local $2)
+ )
+ (set_local $10
+ (get_local $8)
+ )
+ (br $while-out$6)
+ )
+ (set_local $1
+ (get_local $0)
)
- (br $while-out$6)
)
(set_local $1
(get_local $0)
)
)
- (set_local $1
- (get_local $0)
- )
- )
- (set_local $0
- (i32.lt_u
- (set_local $4
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $1)
+ (set_local $0
+ (i32.lt_u
+ (tee_local $4
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $6)
)
- (get_local $6)
)
+ (get_local $2)
)
- (get_local $2)
)
- )
- (set_local $2
- (select
- (get_local $4)
- (get_local $2)
- (get_local $0)
+ (set_local $2
+ (select
+ (get_local $4)
+ (get_local $2)
+ (get_local $0)
+ )
)
- )
- (set_local $4
- (get_local $1)
- )
- (set_local $8
- (select
+ (set_local $4
(get_local $1)
- (get_local $8)
- (get_local $0)
)
+ (set_local $8
+ (select
+ (get_local $1)
+ (get_local $8)
+ (get_local $0)
+ )
+ )
+ (br $while-in$7)
)
- (br $while-in$7)
)
(if
(i32.lt_u
(get_local $10)
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 192)
)
@@ -10277,7 +10128,7 @@
(if
(i32.ge_u
(get_local $10)
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $10)
(get_local $6)
@@ -10294,7 +10145,7 @@
(block $do-once$8
(if
(i32.eq
- (set_local $2
+ (tee_local $2
(i32.load offset=12
(get_local $10)
)
@@ -10304,9 +10155,9 @@
(block
(if
(i32.eq
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
(get_local $10)
(i32.const 20)
@@ -10318,9 +10169,9 @@
)
(if
(i32.eq
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
(get_local $10)
(i32.const 16)
@@ -10344,56 +10195,58 @@
(get_local $2)
)
)
- (loop $while-out$10 $while-in$11
- (if
- (i32.ne
- (set_local $2
- (i32.load
- (set_local $5
- (i32.add
- (get_local $4)
- (i32.const 20)
+ (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.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $4
- (get_local $2)
- )
- (set_local $8
- (get_local $5)
+ (block
+ (set_local $4
+ (get_local $2)
+ )
+ (set_local $8
+ (get_local $5)
+ )
+ (br $while-in$11)
)
- (br $while-in$11)
)
- )
- (if
- (i32.eq
- (set_local $2
- (i32.load
- (set_local $5
- (i32.add
- (get_local $4)
- (i32.const 16)
+ (if
+ (i32.eq
+ (tee_local $2
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $4)
+ (i32.const 16)
+ )
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (br $while-out$10)
- (block
- (set_local $4
- (get_local $2)
- )
- (set_local $8
- (get_local $5)
+ (br $while-out$10)
+ (block
+ (set_local $4
+ (get_local $2)
+ )
+ (set_local $8
+ (get_local $5)
+ )
)
)
+ (br $while-in$11)
)
- (br $while-in$11)
)
(if
(i32.lt_u
@@ -10415,7 +10268,7 @@
(block
(if
(i32.lt_u
- (set_local $4
+ (tee_local $4
(i32.load offset=8
(get_local $10)
)
@@ -10427,7 +10280,7 @@
(if
(i32.ne
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $4)
(i32.const 12)
@@ -10441,7 +10294,7 @@
(if
(i32.eq
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
(get_local $2)
(i32.const 8)
@@ -10479,11 +10332,11 @@
(i32.eq
(get_local $10)
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(i32.const 480)
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.load offset=28
(get_local $10)
)
@@ -10537,7 +10390,7 @@
(if
(i32.eq
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $1)
(i32.const 16)
@@ -10566,7 +10419,7 @@
(if
(i32.lt_u
(get_local $15)
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 192)
)
@@ -10580,7 +10433,7 @@
)
(if
(i32.ne
- (set_local $1
+ (tee_local $1
(i32.load offset=16
(get_local $10)
)
@@ -10607,7 +10460,7 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load offset=20
(get_local $10)
)
@@ -10646,7 +10499,7 @@
(i32.store offset=4
(get_local $10)
(i32.or
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $7)
(get_local $6)
@@ -10658,7 +10511,7 @@
(set_local $1
(i32.or
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(i32.add
(get_local $10)
@@ -10700,7 +10553,7 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 184)
)
@@ -10718,7 +10571,7 @@
(i32.const 216)
(i32.shl
(i32.shl
- (set_local $2
+ (tee_local $2
(i32.shr_u
(get_local $0)
(i32.const 3)
@@ -10733,12 +10586,12 @@
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 176)
)
)
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 1)
(get_local $2)
@@ -10767,9 +10620,9 @@
)
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $4)
(i32.const 8)
@@ -10829,7 +10682,6 @@
)
)
)
- (get_local $6)
)
)
(if
@@ -10843,7 +10695,7 @@
(block
(set_local $5
(i32.and
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $0)
(i32.const 11)
@@ -10854,7 +10706,7 @@
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 180)
)
@@ -10874,13 +10726,13 @@
(block $label$break$L123
(if
(i32.eq
- (set_local $3
+ (tee_local $3
(i32.load offset=480
(i32.shl
- (set_local $12
+ (tee_local $12
(if
(i32.eq
- (set_local $3
+ (tee_local $3
(i32.shr_u
(get_local $3)
(i32.const 8)
@@ -10898,20 +10750,20 @@
(block
(set_local $7
(i32.shl
- (set_local $3
+ (tee_local $3
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $7
+ (tee_local $7
(i32.and
(i32.shr_u
(i32.add
- (set_local $12
+ (tee_local $12
(i32.shl
(get_local $3)
- (set_local $3
+ (tee_local $3
(i32.and
(i32.shr_u
(i32.add
@@ -10934,11 +10786,11 @@
)
(get_local $3)
)
- (set_local $3
+ (tee_local $3
(i32.and
(i32.shr_u
(i32.add
- (set_local $7
+ (tee_local $7
(i32.shl
(get_local $12)
(get_local $7)
@@ -11034,83 +10886,85 @@
(set_local $36
(i32.const 0)
)
- (loop $while-out$17 $while-in$18
- (if
- (i32.lt_u
- (set_local $16
- (i32.sub
- (set_local $3
- (i32.and
- (i32.load offset=4
- (get_local $23)
+ (loop $while-in$18
+ (block $while-out$17
+ (if
+ (i32.lt_u
+ (tee_local $16
+ (i32.sub
+ (tee_local $3
+ (i32.and
+ (i32.load offset=4
+ (get_local $23)
+ )
+ (i32.const -8)
)
- (i32.const -8)
)
+ (get_local $5)
)
- (get_local $5)
)
+ (get_local $7)
)
- (get_local $7)
- )
- (if
- (i32.eq
- (get_local $3)
- (get_local $5)
- )
- (block
- (set_local $26
- (get_local $16)
+ (if
+ (i32.eq
+ (get_local $3)
+ (get_local $5)
)
- (set_local $24
- (get_local $23)
+ (block
+ (set_local $26
+ (get_local $16)
+ )
+ (set_local $24
+ (get_local $23)
+ )
+ (set_local $29
+ (get_local $23)
+ )
+ (set_local $11
+ (i32.const 90)
+ )
+ (br $label$break$L123)
)
- (set_local $29
+ (set_local $36
(get_local $23)
)
- (set_local $11
- (i32.const 90)
- )
- (br $label$break$L123)
)
- (set_local $36
- (get_local $23)
+ (set_local $16
+ (get_local $7)
)
)
- (set_local $16
- (get_local $7)
- )
- )
- (set_local $7
- (i32.eq
- (set_local $3
- (i32.load offset=20
- (get_local $23)
+ (set_local $7
+ (i32.eq
+ (tee_local $3
+ (i32.load offset=20
+ (get_local $23)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $15
- (select
- (get_local $15)
- (get_local $3)
- (i32.or
- (get_local $7)
- (i32.eq
- (get_local $3)
- (set_local $3
- (i32.load
- (i32.add
+ (set_local $15
+ (select
+ (get_local $15)
+ (get_local $3)
+ (i32.or
+ (get_local $7)
+ (i32.eq
+ (get_local $3)
+ (tee_local $3
+ (i32.load
(i32.add
- (get_local $23)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $11)
- (i32.const 31)
+ (i32.add
+ (get_local $23)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $11)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
@@ -11118,51 +10972,51 @@
)
)
)
- )
- (set_local $11
- (i32.shl
- (get_local $11)
- (i32.xor
- (i32.and
- (set_local $7
- (i32.eq
- (get_local $3)
- (i32.const 0)
+ (set_local $11
+ (i32.shl
+ (get_local $11)
+ (i32.xor
+ (i32.and
+ (tee_local $7
+ (i32.eq
+ (get_local $3)
+ (i32.const 0)
+ )
)
+ (i32.const 1)
)
(i32.const 1)
)
- (i32.const 1)
)
)
- )
- (if
- (get_local $7)
- (block
- (set_local $31
- (get_local $16)
- )
- (set_local $32
- (get_local $15)
- )
- (set_local $28
- (get_local $36)
- )
- (set_local $11
- (i32.const 86)
- )
- (br $while-out$17)
- )
- (block
- (set_local $7
- (get_local $16)
+ (if
+ (get_local $7)
+ (block
+ (set_local $31
+ (get_local $16)
+ )
+ (set_local $32
+ (get_local $15)
+ )
+ (set_local $28
+ (get_local $36)
+ )
+ (set_local $11
+ (i32.const 86)
+ )
+ (br $while-out$17)
)
- (set_local $23
- (get_local $3)
+ (block
+ (set_local $7
+ (get_local $16)
+ )
+ (set_local $23
+ (get_local $3)
+ )
)
)
+ (br $while-in$18)
)
- (br $while-in$18)
)
)
)
@@ -11174,7 +11028,7 @@
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(if
(i32.and
(i32.eq
@@ -11190,7 +11044,7 @@
(set_local $7
(i32.sub
(i32.const 0)
- (set_local $3
+ (tee_local $3
(i32.shl
(i32.const 2)
(get_local $12)
@@ -11200,7 +11054,7 @@
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.and
(get_local $0)
(i32.or
@@ -11221,7 +11075,7 @@
(set_local $0
(i32.and
(i32.shr_u
- (set_local $3
+ (tee_local $3
(i32.add
(i32.and
(get_local $0)
@@ -11245,10 +11099,10 @@
(i32.or
(i32.or
(i32.or
- (set_local $3
+ (tee_local $3
(i32.and
(i32.shr_u
- (set_local $7
+ (tee_local $7
(i32.shr_u
(get_local $3)
(get_local $0)
@@ -11261,10 +11115,10 @@
)
(get_local $0)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $3
+ (tee_local $3
(i32.shr_u
(get_local $7)
(get_local $3)
@@ -11276,10 +11130,10 @@
)
)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $3
+ (tee_local $3
(i32.shr_u
(get_local $3)
(get_local $0)
@@ -11291,10 +11145,10 @@
)
)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $3
+ (tee_local $3
(i32.shr_u
(get_local $3)
(get_local $0)
@@ -11349,90 +11203,92 @@
(get_local $11)
(i32.const 90)
)
- (loop $while-out$19 $while-in$20
- (set_local $11
- (i32.const 0)
- )
- (set_local $0
- (i32.lt_u
- (set_local $3
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $24)
+ (loop $while-in$20
+ (block $while-out$19
+ (set_local $11
+ (i32.const 0)
+ )
+ (set_local $0
+ (i32.lt_u
+ (tee_local $3
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $24)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $5)
)
- (get_local $5)
)
+ (get_local $26)
)
- (get_local $26)
- )
- )
- (set_local $17
- (select
- (get_local $3)
- (get_local $26)
- (get_local $0)
- )
- )
- (set_local $3
- (select
- (get_local $24)
- (get_local $29)
- (get_local $0)
)
- )
- (if
- (i32.ne
- (set_local $0
- (i32.load offset=16
- (get_local $24)
- )
+ (set_local $17
+ (select
+ (get_local $3)
+ (get_local $26)
+ (get_local $0)
)
- (i32.const 0)
)
- (block
- (set_local $26
- (get_local $17)
- )
- (set_local $24
+ (set_local $3
+ (select
+ (get_local $24)
+ (get_local $29)
(get_local $0)
)
- (set_local $29
- (get_local $3)
- )
- (br $while-in$20)
)
- )
- (if
- (i32.eq
- (set_local $0
- (i32.load offset=20
- (get_local $24)
+ (if
+ (i32.ne
+ (tee_local $0
+ (i32.load offset=16
+ (get_local $24)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $13
- (get_local $3)
+ (block
+ (set_local $26
+ (get_local $17)
+ )
+ (set_local $24
+ (get_local $0)
+ )
+ (set_local $29
+ (get_local $3)
+ )
+ (br $while-in$20)
)
- (br $while-out$19)
)
- (block
- (set_local $26
- (get_local $17)
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $24)
+ )
+ )
+ (i32.const 0)
)
- (set_local $24
- (get_local $0)
+ (block
+ (set_local $13
+ (get_local $3)
+ )
+ (br $while-out$19)
)
- (set_local $29
- (get_local $3)
+ (block
+ (set_local $26
+ (get_local $17)
+ )
+ (set_local $24
+ (get_local $0)
+ )
+ (set_local $29
+ (get_local $3)
+ )
)
)
+ (br $while-in$20)
)
- (br $while-in$20)
)
)
(if
@@ -11457,7 +11313,7 @@
(if
(i32.lt_u
(get_local $13)
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 192)
)
@@ -11468,7 +11324,7 @@
(if
(i32.ge_u
(get_local $13)
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $13)
(get_local $5)
@@ -11485,7 +11341,7 @@
(block $do-once$21
(if
(i32.eq
- (set_local $2
+ (tee_local $2
(i32.load offset=12
(get_local $13)
)
@@ -11495,9 +11351,9 @@
(block
(if
(i32.eq
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $13)
(i32.const 20)
@@ -11509,9 +11365,9 @@
)
(if
(i32.eq
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $13)
(i32.const 16)
@@ -11535,56 +11391,58 @@
(get_local $2)
)
)
- (loop $while-out$23 $while-in$24
- (if
- (i32.ne
- (set_local $2
- (i32.load
- (set_local $7
- (i32.add
- (get_local $8)
- (i32.const 20)
+ (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.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $8
- (get_local $2)
- )
- (set_local $9
- (get_local $7)
+ (block
+ (set_local $8
+ (get_local $2)
+ )
+ (set_local $9
+ (get_local $7)
+ )
+ (br $while-in$24)
)
- (br $while-in$24)
)
- )
- (if
- (i32.eq
- (set_local $2
- (i32.load
- (set_local $7
- (i32.add
- (get_local $8)
- (i32.const 16)
+ (if
+ (i32.eq
+ (tee_local $2
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
+ )
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (br $while-out$23)
- (block
- (set_local $8
- (get_local $2)
- )
- (set_local $9
- (get_local $7)
+ (br $while-out$23)
+ (block
+ (set_local $8
+ (get_local $2)
+ )
+ (set_local $9
+ (get_local $7)
+ )
)
)
+ (br $while-in$24)
)
- (br $while-in$24)
)
(if
(i32.lt_u
@@ -11606,7 +11464,7 @@
(block
(if
(i32.lt_u
- (set_local $8
+ (tee_local $8
(i32.load offset=8
(get_local $13)
)
@@ -11618,7 +11476,7 @@
(if
(i32.ne
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $8)
(i32.const 12)
@@ -11632,7 +11490,7 @@
(if
(i32.eq
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $2)
(i32.const 8)
@@ -11670,11 +11528,11 @@
(i32.eq
(get_local $13)
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(i32.const 480)
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.load offset=28
(get_local $13)
)
@@ -11728,7 +11586,7 @@
(if
(i32.eq
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $1)
(i32.const 16)
@@ -11757,7 +11615,7 @@
(if
(i32.lt_u
(get_local $6)
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 192)
)
@@ -11771,7 +11629,7 @@
)
(if
(i32.ne
- (set_local $1
+ (tee_local $1
(i32.load offset=16
(get_local $13)
)
@@ -11798,7 +11656,7 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load offset=20
(get_local $13)
)
@@ -11838,7 +11696,7 @@
(i32.store offset=4
(get_local $13)
(i32.or
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $17)
(get_local $5)
@@ -11850,7 +11708,7 @@
(set_local $1
(i32.or
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(i32.add
(get_local $13)
@@ -11917,12 +11775,12 @@
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 176)
)
)
- (set_local $1
+ (tee_local $1
(i32.shl
(i32.const 1)
(get_local $1)
@@ -11951,9 +11809,9 @@
)
(if
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $2)
(i32.const 8)
@@ -11999,10 +11857,10 @@
(i32.add
(i32.const 480)
(i32.shl
- (set_local $1
+ (tee_local $1
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.shr_u
(get_local $17)
(i32.const 8)
@@ -12020,20 +11878,20 @@
(block
(set_local $1
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
- (set_local $2
+ (tee_local $2
(i32.shl
(get_local $0)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
(i32.add
@@ -12056,11 +11914,11 @@
)
(get_local $0)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
(i32.add
- (set_local $1
+ (tee_local $1
(i32.shl
(get_local $2)
(get_local $1)
@@ -12113,7 +11971,7 @@
(get_local $1)
)
(i32.store offset=4
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $3)
(i32.const 16)
@@ -12128,12 +11986,12 @@
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 180)
)
)
- (set_local $4
+ (tee_local $4
(i32.shl
(i32.const 1)
(get_local $1)
@@ -12193,78 +12051,80 @@
(get_local $2)
)
)
- (loop $while-out$31 $while-in$32
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
+ (loop $while-in$32
+ (block $while-out$31
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $2)
+ )
+ (i32.const -8)
+ )
+ (get_local $17)
+ )
+ (block
+ (set_local $22
(get_local $2)
)
- (i32.const -8)
+ (set_local $11
+ (i32.const 148)
+ )
+ (br $while-out$31)
)
- (get_local $17)
)
- (block
- (set_local $22
- (get_local $2)
- )
- (set_local $11
- (i32.const 148)
+ (set_local $4
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
)
- (br $while-out$31)
- )
- )
- (set_local $4
- (i32.shl
- (get_local $1)
- (i32.const 1)
)
- )
- (if
- (i32.eq
- (set_local $0
- (i32.load
- (set_local $1
- (i32.add
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load
+ (tee_local $1
(i32.add
- (get_local $2)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $1)
- (i32.const 31)
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $25
- (get_local $2)
- )
- (set_local $37
- (get_local $1)
- )
- (set_local $11
- (i32.const 145)
- )
- (br $while-out$31)
- )
- (block
- (set_local $1
- (get_local $4)
+ (block
+ (set_local $25
+ (get_local $2)
+ )
+ (set_local $37
+ (get_local $1)
+ )
+ (set_local $11
+ (i32.const 145)
+ )
+ (br $while-out$31)
)
- (set_local $2
- (get_local $0)
+ (block
+ (set_local $1
+ (get_local $4)
+ )
+ (set_local $2
+ (get_local $0)
+ )
)
)
+ (br $while-in$32)
)
- (br $while-in$32)
)
(if
(i32.eq
@@ -12306,9 +12166,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $22)
(i32.const 8)
@@ -12316,7 +12176,7 @@
)
)
)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -12376,7 +12236,7 @@
)
(if
(i32.ge_u
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 184)
)
@@ -12391,7 +12251,7 @@
)
(if
(i32.gt_u
- (set_local $2
+ (tee_local $2
(i32.sub
(get_local $0)
(get_local $6)
@@ -12402,7 +12262,7 @@
(block
(i32.store
(i32.const 196)
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $1)
(get_local $6)
@@ -12454,7 +12314,7 @@
(set_local $2
(i32.or
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(i32.add
(get_local $1)
@@ -12483,7 +12343,7 @@
)
(if
(i32.gt_u
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 188)
)
@@ -12493,7 +12353,7 @@
(block
(i32.store
(i32.const 188)
- (set_local $2
+ (tee_local $2
(i32.sub
(get_local $0)
(get_local $6)
@@ -12502,9 +12362,9 @@
)
(i32.store
(i32.const 200)
- (set_local $1
+ (tee_local $1
(i32.add
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 200)
)
@@ -12546,7 +12406,7 @@
(i32.eq
(i32.and
(i32.add
- (set_local $0
+ (tee_local $0
(call_import $_sysconf
(i32.const 30)
)
@@ -12606,16 +12466,16 @@
)
(if
(i32.le_u
- (set_local $10
+ (tee_local $10
(i32.and
- (set_local $7
+ (tee_local $7
(i32.add
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 656)
)
)
- (set_local $15
+ (tee_local $15
(i32.add
(get_local $6)
(i32.const 47)
@@ -12623,7 +12483,7 @@
)
)
)
- (set_local $12
+ (tee_local $12
(i32.sub
(i32.const 0)
(get_local $0)
@@ -12639,7 +12499,7 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 616)
)
@@ -12649,9 +12509,9 @@
(if
(i32.or
(i32.le_u
- (set_local $3
+ (tee_local $3
(i32.add
- (set_local $4
+ (tee_local $4
(i32.load
(i32.const 608)
)
@@ -12673,7 +12533,7 @@
)
(if
(i32.eq
- (set_local $11
+ (tee_local $11
(block $label$break$L257
(if
(i32.eq
@@ -12689,7 +12549,7 @@
(block $label$break$L259
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 200)
)
@@ -12703,66 +12563,68 @@
(set_local $16
(i32.const 624)
)
- (loop $while-out$37 $while-in$38
- (if
- (i32.le_u
- (set_local $4
- (i32.load
- (get_local $16)
- )
- )
- (get_local $0)
- )
+ (loop $while-in$38
+ (block $while-out$37
(if
- (i32.gt_u
- (i32.add
- (get_local $4)
+ (i32.le_u
+ (tee_local $4
(i32.load
- (set_local $3
- (i32.add
- (get_local $16)
- (i32.const 4)
- )
- )
+ (get_local $16)
)
)
(get_local $0)
)
- (block
- (set_local $4
- (get_local $16)
+ (if
+ (i32.gt_u
+ (i32.add
+ (get_local $4)
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $16)
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ (get_local $0)
)
- (set_local $16
- (get_local $3)
+ (block
+ (set_local $4
+ (get_local $16)
+ )
+ (set_local $16
+ (get_local $3)
+ )
+ (br $while-out$37)
)
- (br $while-out$37)
)
)
- )
- (if
- (i32.eq
- (set_local $4
- (i32.load offset=8
- (get_local $16)
+ (if
+ (i32.eq
+ (tee_local $4
+ (i32.load offset=8
+ (get_local $16)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $11
- (i32.const 173)
+ (block
+ (set_local $11
+ (i32.const 173)
+ )
+ (br $label$break$L259)
+ )
+ (set_local $16
+ (get_local $4)
)
- (br $label$break$L259)
- )
- (set_local $16
- (get_local $4)
)
+ (br $while-in$38)
)
- (br $while-in$38)
)
(if
(i32.lt_u
- (set_local $0
+ (tee_local $0
(i32.and
(i32.sub
(get_local $7)
@@ -12777,7 +12639,7 @@
)
(if
(i32.eq
- (set_local $3
+ (tee_local $3
(call_import $_sbrk
(get_local $0)
)
@@ -12812,7 +12674,7 @@
(set_local $30
(get_local $3)
)
- (set_local $20
+ (set_local $21
(get_local $0)
)
(set_local $11
@@ -12832,7 +12694,7 @@
)
(if
(i32.ne
- (set_local $7
+ (tee_local $7
(call_import $_sbrk
(i32.const 0)
)
@@ -12842,18 +12704,18 @@
(block
(set_local $4
(i32.add
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 608)
)
)
- (set_local $12
+ (tee_local $12
(if
(i32.eq
(i32.and
- (set_local $12
+ (tee_local $12
(i32.add
- (set_local $4
+ (tee_local $4
(i32.load
(i32.const 652)
)
@@ -12861,7 +12723,7 @@
(i32.const -1)
)
)
- (set_local $0
+ (tee_local $0
(get_local $7)
)
)
@@ -12902,7 +12764,7 @@
(block
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 616)
)
@@ -12924,7 +12786,7 @@
)
(if
(i32.eq
- (set_local $30
+ (tee_local $30
(call_import $_sbrk
(get_local $12)
)
@@ -12943,7 +12805,7 @@
)
)
(block
- (set_local $20
+ (set_local $21
(get_local $12)
)
(set_local $11
@@ -12967,18 +12829,18 @@
(set_local $4
(i32.sub
(i32.const 0)
- (get_local $20)
+ (get_local $21)
)
)
(if
(i32.and
(i32.gt_u
(get_local $5)
- (get_local $20)
+ (get_local $21)
)
(i32.and
(i32.lt_u
- (get_local $20)
+ (get_local $21)
(i32.const 2147483647)
)
(i32.ne
@@ -12989,14 +12851,14 @@
)
(if
(i32.lt_u
- (set_local $0
+ (tee_local $0
(i32.and
(i32.add
(i32.sub
(get_local $15)
- (get_local $20)
+ (get_local $21)
)
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 656)
)
@@ -13018,21 +12880,21 @@
(i32.const -1)
)
(block
- (call_import $_sbrk
- (get_local $4)
+ (drop
+ (call_import $_sbrk
+ (get_local $4)
+ )
)
(br $label$break$L279)
)
- (set_local $20
+ (set_local $21
(i32.add
(get_local $0)
- (get_local $20)
+ (get_local $21)
)
)
)
- (get_local $20)
)
- (get_local $20)
)
(if
(i32.ne
@@ -13044,7 +12906,7 @@
(get_local $30)
)
(set_local $19
- (get_local $20)
+ (get_local $21)
)
(br $label$break$L257
(i32.const 193)
@@ -13080,7 +12942,7 @@
(set_local $3
(i32.and
(i32.ne
- (set_local $0
+ (tee_local $0
(call_import $_sbrk
(get_local $10)
)
@@ -13088,7 +12950,7 @@
(i32.const -1)
)
(i32.ne
- (set_local $4
+ (tee_local $4
(call_import $_sbrk
(i32.const 0)
)
@@ -13107,7 +12969,7 @@
)
(if
(i32.gt_u
- (set_local $4
+ (tee_local $4
(i32.sub
(get_local $4)
(get_local $0)
@@ -13142,7 +13004,7 @@
(block
(i32.store
(i32.const 608)
- (set_local $0
+ (tee_local $0
(i32.add
(i32.load
(i32.const 608)
@@ -13166,7 +13028,7 @@
(block $do-once$44
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 200)
)
@@ -13177,7 +13039,7 @@
(if
(i32.or
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 192)
)
@@ -13219,45 +13081,45 @@
(set_local $1
(i32.const 0)
)
- (loop $while-out$46 $while-in$47
- (i32.store offset=12
- (set_local $0
- (i32.add
- (i32.const 216)
- (i32.shl
+ (loop $while-in$47
+ (block $while-out$46
+ (i32.store offset=12
+ (tee_local $0
+ (i32.add
+ (i32.const 216)
(i32.shl
- (get_local $1)
- (i32.const 1)
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
+ (get_local $0)
)
- (get_local $0)
- )
- (i32.store offset=8
- (get_local $0)
- (get_local $0)
- )
- (if
- (i32.eq
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (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)
)
- (i32.const 32)
)
- (br $while-out$46)
- (get_local $1)
+ (br $while-in$47)
)
- (br $while-in$47)
)
(set_local $1
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $14)
(i32.const 8)
@@ -13270,10 +13132,10 @@
)
(i32.store
(i32.const 200)
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $14)
- (set_local $1
+ (tee_local $1
(select
(i32.const 0)
(i32.and
@@ -13291,7 +13153,7 @@
)
(i32.store
(i32.const 188)
- (set_local $1
+ (tee_local $1
(i32.sub
(i32.add
(get_local $19)
@@ -13326,62 +13188,64 @@
(set_local $7
(i32.const 624)
)
- (loop $while-out$48 $while-in$49
- (if
- (i32.eq
- (get_local $14)
- (i32.add
- (set_local $4
- (i32.load
- (get_local $7)
+ (loop $while-in$49
+ (block $while-out$48
+ (if
+ (i32.eq
+ (get_local $14)
+ (i32.add
+ (tee_local $4
+ (i32.load
+ (get_local $7)
+ )
)
- )
- (set_local $3
- (i32.load
- (set_local $5
- (i32.add
- (get_local $7)
- (i32.const 4)
+ (tee_local $3
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
)
)
)
)
)
- )
- (block
- (set_local $1
- (get_local $4)
- )
- (set_local $2
- (get_local $3)
- )
- (set_local $42
- (get_local $5)
- )
- (set_local $43
- (get_local $7)
- )
- (set_local $11
- (i32.const 203)
- )
- (br $while-out$48)
- )
- )
- (if
- (i32.eq
- (set_local $4
- (i32.load offset=8
+ (block
+ (set_local $1
+ (get_local $4)
+ )
+ (set_local $2
+ (get_local $3)
+ )
+ (set_local $42
+ (get_local $5)
+ )
+ (set_local $43
(get_local $7)
)
+ (set_local $11
+ (i32.const 203)
+ )
+ (br $while-out$48)
)
- (i32.const 0)
)
- (br $while-out$48)
- (set_local $7
- (get_local $4)
+ (if
+ (i32.eq
+ (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-in$49)
)
- (br $while-in$49)
)
(if
(i32.eq
@@ -13420,7 +13284,7 @@
(set_local $2
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 8)
@@ -13434,7 +13298,7 @@
(set_local $0
(i32.add
(get_local $0)
- (set_local $1
+ (tee_local $1
(select
(i32.const 0)
(i32.and
@@ -13497,7 +13361,7 @@
(if
(i32.lt_u
(get_local $14)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -13522,45 +13386,46 @@
(set_local $1
(i32.const 624)
)
- (loop $while-out$50 $while-in$51
- (if
- (i32.eq
- (i32.load
- (get_local $1)
- )
- (get_local $3)
- )
- (block
- (set_local $44
- (get_local $1)
- )
- (set_local $38
- (get_local $1)
- )
- (set_local $11
- (i32.const 211)
+ (loop $while-in$51
+ (block $while-out$50
+ (if
+ (i32.eq
+ (i32.load
+ (get_local $1)
+ )
+ (get_local $3)
)
- (br $while-out$50)
- )
- )
- (if
- (i32.eq
- (set_local $1
- (i32.load offset=8
+ (block
+ (set_local $44
+ (get_local $1)
+ )
+ (set_local $38
(get_local $1)
)
+ (set_local $11
+ (i32.const 211)
+ )
+ (br $while-out$50)
)
- (i32.const 0)
)
- (block
- (set_local $27
- (i32.const 624)
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.load offset=8
+ (get_local $1)
+ )
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $27
+ (i32.const 624)
+ )
+ (br $while-out$50)
)
- (br $while-out$50)
)
- (get_local $1)
+ (br $while-in$51)
)
- (br $while-in$51)
)
(if
(i32.eq
@@ -13585,7 +13450,7 @@
(set_local $1
(i32.add
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $38)
(i32.const 4)
@@ -13602,7 +13467,7 @@
(set_local $9
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $14)
(i32.const 8)
@@ -13616,7 +13481,7 @@
(set_local $5
(i32.eq
(i32.and
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $3)
(i32.const 8)
@@ -13629,7 +13494,7 @@
)
(set_local $1
(i32.sub
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $3)
(select
@@ -13645,7 +13510,7 @@
)
)
)
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $14)
(select
@@ -13691,7 +13556,7 @@
(block
(i32.store
(i32.const 188)
- (set_local $0
+ (tee_local $0
(i32.add
(i32.load
(i32.const 188)
@@ -13723,7 +13588,7 @@
(block
(i32.store
(i32.const 184)
- (set_local $0
+ (tee_local $0
(i32.add
(i32.load
(i32.const 184)
@@ -13756,12 +13621,12 @@
(set_local $0
(i32.and
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load offset=4
(get_local $3)
)
@@ -13798,12 +13663,12 @@
(block $do-once$55
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load offset=8
(get_local $3)
)
)
- (set_local $2
+ (tee_local $2
(i32.add
(i32.const 216)
(i32.shl
@@ -13883,7 +13748,7 @@
(if
(i32.eq
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $1)
(i32.const 8)
@@ -13921,7 +13786,7 @@
(block $do-once$59
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load offset=12
(get_local $3)
)
@@ -13931,11 +13796,11 @@
(block
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
- (set_local $21
+ (tee_local $20
(i32.add
(get_local $3)
(i32.const 16)
@@ -13950,9 +13815,9 @@
)
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load
- (get_local $21)
+ (get_local $20)
)
)
(i32.const 0)
@@ -13968,7 +13833,7 @@
(get_local $1)
)
(set_local $9
- (get_local $21)
+ (get_local $20)
)
)
)
@@ -13976,56 +13841,58 @@
(get_local $1)
)
)
- (loop $while-out$61 $while-in$62
- (if
- (i32.ne
- (set_local $1
- (i32.load
- (set_local $21
- (i32.add
- (get_local $2)
- (i32.const 20)
+ (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.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $2
- (get_local $1)
- )
- (set_local $9
- (get_local $21)
+ (block
+ (set_local $2
+ (get_local $1)
+ )
+ (set_local $9
+ (get_local $20)
+ )
+ (br $while-in$62)
)
- (br $while-in$62)
)
- )
- (if
- (i32.eq
- (set_local $1
- (i32.load
- (set_local $21
- (i32.add
- (get_local $2)
- (i32.const 16)
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.load
+ (tee_local $20
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
+ )
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (br $while-out$61)
- (block
- (set_local $2
- (get_local $1)
- )
- (set_local $9
- (get_local $21)
+ (br $while-out$61)
+ (block
+ (set_local $2
+ (get_local $1)
+ )
+ (set_local $9
+ (get_local $20)
+ )
)
)
+ (br $while-in$62)
)
- (br $while-in$62)
)
(if
(i32.lt_u
@@ -14047,7 +13914,7 @@
(block
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load offset=8
(get_local $3)
)
@@ -14059,7 +13926,7 @@
(if
(i32.ne
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $2)
(i32.const 12)
@@ -14073,7 +13940,7 @@
(if
(i32.eq
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $1)
(i32.const 8)
@@ -14111,11 +13978,11 @@
(i32.eq
(get_local $3)
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(i32.const 480)
(i32.shl
- (set_local $1
+ (tee_local $1
(i32.load offset=28
(get_local $3)
)
@@ -14167,7 +14034,7 @@
(if
(i32.eq
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 16)
@@ -14197,7 +14064,7 @@
(if
(i32.lt_u
(get_local $18)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -14211,9 +14078,9 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $3)
(i32.const 16)
@@ -14243,7 +14110,7 @@
)
(br_if $label$break$L331
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load offset=4
(get_local $2)
)
@@ -14344,12 +14211,12 @@
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 176)
)
)
- (set_local $1
+ (tee_local $1
(i32.shl
(i32.const 1)
(get_local $1)
@@ -14379,9 +14246,9 @@
(block
(if
(i32.ge_u
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $2)
(i32.const 8)
@@ -14430,11 +14297,11 @@
(i32.add
(i32.const 480)
(i32.shl
- (set_local $1
+ (tee_local $1
(block $do-once$69
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.shr_u
(get_local $4)
(i32.const 8)
@@ -14453,20 +14320,20 @@
)
(set_local $1
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
- (set_local $2
+ (tee_local $2
(i32.shl
(get_local $0)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
(i32.add
@@ -14489,11 +14356,11 @@
)
(get_local $0)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
(i32.add
- (set_local $1
+ (tee_local $1
(i32.shl
(get_local $2)
(get_local $1)
@@ -14546,7 +14413,7 @@
(get_local $1)
)
(i32.store offset=4
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $5)
(i32.const 16)
@@ -14561,12 +14428,12 @@
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 180)
)
)
- (set_local $8
+ (tee_local $8
(i32.shl
(i32.const 1)
(get_local $1)
@@ -14626,78 +14493,80 @@
(get_local $2)
)
)
- (loop $while-out$71 $while-in$72
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
+ (loop $while-in$72
+ (block $while-out$71
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $2)
+ )
+ (i32.const -8)
+ )
+ (get_local $4)
+ )
+ (block
+ (set_local $34
(get_local $2)
)
- (i32.const -8)
+ (set_local $11
+ (i32.const 281)
+ )
+ (br $while-out$71)
)
- (get_local $4)
)
- (block
- (set_local $34
- (get_local $2)
- )
- (set_local $11
- (i32.const 281)
+ (set_local $8
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
)
- (br $while-out$71)
)
- )
- (set_local $8
- (i32.shl
- (get_local $1)
- (i32.const 1)
- )
- )
- (if
- (i32.eq
- (set_local $0
- (i32.load
- (set_local $1
- (i32.add
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load
+ (tee_local $1
(i32.add
- (get_local $2)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $1)
- (i32.const 31)
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $45
- (get_local $2)
- )
- (set_local $40
- (get_local $1)
- )
- (set_local $11
- (i32.const 278)
- )
- (br $while-out$71)
- )
- (block
- (set_local $1
- (get_local $8)
+ (block
+ (set_local $45
+ (get_local $2)
+ )
+ (set_local $40
+ (get_local $1)
+ )
+ (set_local $11
+ (i32.const 278)
+ )
+ (br $while-out$71)
)
- (set_local $2
- (get_local $0)
+ (block
+ (set_local $1
+ (get_local $8)
+ )
+ (set_local $2
+ (get_local $0)
+ )
)
)
+ (br $while-in$72)
)
- (br $while-in$72)
)
(if
(i32.eq
@@ -14739,9 +14608,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $34)
(i32.const 8)
@@ -14749,7 +14618,7 @@
)
)
)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -14801,49 +14670,51 @@
)
)
)
- (loop $while-out$73 $while-in$74
- (if
- (i32.le_u
- (set_local $1
- (i32.load
- (get_local $27)
- )
- )
- (get_local $0)
- )
+ (loop $while-in$74
+ (block $while-out$73
(if
- (i32.gt_u
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.load offset=4
- (get_local $27)
- )
+ (i32.le_u
+ (tee_local $1
+ (i32.load
+ (get_local $27)
)
)
(get_local $0)
)
- (block
- (set_local $2
- (get_local $1)
+ (if
+ (i32.gt_u
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.load offset=4
+ (get_local $27)
+ )
+ )
+ )
+ (get_local $0)
+ )
+ (block
+ (set_local $2
+ (get_local $1)
+ )
+ (br $while-out$73)
)
- (br $while-out$73)
)
)
- )
- (set_local $27
- (i32.load offset=8
- (get_local $27)
+ (set_local $27
+ (i32.load offset=8
+ (get_local $27)
+ )
)
+ (br $while-in$74)
)
- (br $while-in$74)
)
(set_local $8
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.add
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $2)
(i32.const -47)
@@ -14859,7 +14730,7 @@
)
(set_local $4
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $4)
(select
@@ -14875,7 +14746,7 @@
)
)
)
- (set_local $8
+ (tee_local $8
(i32.add
(get_local $0)
(i32.const 16)
@@ -14885,7 +14756,7 @@
)
(set_local $4
(i32.add
- (set_local $5
+ (tee_local $5
(select
(get_local $0)
(get_local $1)
@@ -14898,7 +14769,7 @@
(set_local $3
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $14)
(i32.const 8)
@@ -14911,10 +14782,10 @@
)
(i32.store
(i32.const 200)
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $14)
- (set_local $3
+ (tee_local $3
(select
(i32.const 0)
(i32.and
@@ -14932,7 +14803,7 @@
)
(i32.store
(i32.const 188)
- (set_local $3
+ (tee_local $3
(i32.sub
(i32.add
(get_local $19)
@@ -14963,7 +14834,7 @@
)
)
(i32.store
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $5)
(i32.const 4)
@@ -15017,28 +14888,28 @@
(i32.const 24)
)
)
- (loop $while-out$75 $while-in$76
- (i32.store
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (loop $while-in$76
+ (block $while-out$75
+ (i32.store
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (if
- (i32.lt_u
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (br_if $while-out$75
+ (i32.ge_u
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
+ (get_local $2)
)
- (get_local $2)
)
- (get_local $1)
- (br $while-out$75)
+ (br $while-in$76)
)
- (br $while-in$76)
)
(if
(i32.ne
@@ -15058,7 +14929,7 @@
(i32.store offset=4
(get_local $0)
(i32.or
- (set_local $3
+ (tee_local $3
(i32.sub
(get_local $5)
(get_local $0)
@@ -15098,12 +14969,12 @@
(if
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 176)
)
)
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 1)
(get_local $2)
@@ -15126,15 +14997,15 @@
(i32.const 8)
)
)
- (set_local $21
+ (set_local $20
(get_local $4)
)
)
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $4)
(i32.const 8)
@@ -15151,7 +15022,7 @@
(set_local $9
(get_local $1)
)
- (set_local $21
+ (set_local $20
(get_local $2)
)
)
@@ -15162,12 +15033,12 @@
(get_local $0)
)
(i32.store offset=12
- (get_local $21)
+ (get_local $20)
(get_local $0)
)
(i32.store offset=8
(get_local $0)
- (get_local $21)
+ (get_local $20)
)
(i32.store offset=12
(get_local $0)
@@ -15180,10 +15051,10 @@
(i32.add
(i32.const 480)
(i32.shl
- (set_local $2
+ (tee_local $2
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $3)
(i32.const 8)
@@ -15201,20 +15072,20 @@
(block
(set_local $2
(i32.shl
- (set_local $1
+ (tee_local $1
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $2
+ (tee_local $2
(i32.and
(i32.shr_u
(i32.add
- (set_local $4
+ (tee_local $4
(i32.shl
(get_local $1)
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
@@ -15237,11 +15108,11 @@
)
(get_local $1)
)
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
- (set_local $2
+ (tee_local $2
(i32.shl
(get_local $4)
(get_local $2)
@@ -15304,12 +15175,12 @@
(if
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 180)
)
)
- (set_local $8
+ (tee_local $8
(i32.shl
(i32.const 1)
(get_local $2)
@@ -15369,78 +15240,80 @@
(get_local $4)
)
)
- (loop $while-out$77 $while-in$78
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
+ (loop $while-in$78
+ (block $while-out$77
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $4)
+ )
+ (i32.const -8)
+ )
+ (get_local $3)
+ )
+ (block
+ (set_local $35
(get_local $4)
)
- (i32.const -8)
+ (set_local $11
+ (i32.const 307)
+ )
+ (br $while-out$77)
)
- (get_local $3)
)
- (block
- (set_local $35
- (get_local $4)
- )
- (set_local $11
- (i32.const 307)
+ (set_local $8
+ (i32.shl
+ (get_local $2)
+ (i32.const 1)
)
- (br $while-out$77)
- )
- )
- (set_local $8
- (i32.shl
- (get_local $2)
- (i32.const 1)
)
- )
- (if
- (i32.eq
- (set_local $1
- (i32.load
- (set_local $2
- (i32.add
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.load
+ (tee_local $2
(i32.add
- (get_local $4)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $2)
- (i32.const 31)
+ (i32.add
+ (get_local $4)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $46
- (get_local $4)
- )
- (set_local $41
- (get_local $2)
- )
- (set_local $11
- (i32.const 304)
- )
- (br $while-out$77)
- )
- (block
- (set_local $2
- (get_local $8)
+ (block
+ (set_local $46
+ (get_local $4)
+ )
+ (set_local $41
+ (get_local $2)
+ )
+ (set_local $11
+ (i32.const 304)
+ )
+ (br $while-out$77)
)
- (set_local $4
- (get_local $1)
+ (block
+ (set_local $2
+ (get_local $8)
+ )
+ (set_local $4
+ (get_local $1)
+ )
)
)
+ (br $while-in$78)
)
- (br $while-in$78)
)
(if
(i32.eq
@@ -15482,9 +15355,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $35)
(i32.const 8)
@@ -15492,7 +15365,7 @@
)
)
)
- (set_local $2
+ (tee_local $2
(i32.load
(i32.const 192)
)
@@ -15536,7 +15409,7 @@
)
(if
(i32.gt_u
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 188)
)
@@ -15546,7 +15419,7 @@
(block
(i32.store
(i32.const 188)
- (set_local $2
+ (tee_local $2
(i32.sub
(get_local $0)
(get_local $6)
@@ -15555,9 +15428,9 @@
)
(i32.store
(i32.const 200)
- (set_local $1
+ (tee_local $1
(i32.add
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 200)
)
@@ -15615,9 +15488,6 @@
(local $16 i32)
(local $17 i32)
(local $18 i32)
- (i32.load
- (i32.const 8)
- )
(if
(i32.eq
(get_local $0)
@@ -15627,13 +15497,13 @@
)
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $0)
(i32.const -8)
)
)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -15643,9 +15513,9 @@
)
(if
(i32.eq
- (set_local $8
+ (tee_local $8
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
(i32.add
(get_local $0)
@@ -15663,7 +15533,7 @@
(set_local $9
(i32.add
(get_local $2)
- (set_local $7
+ (tee_local $7
(i32.and
(get_local $0)
(i32.const -8)
@@ -15701,7 +15571,7 @@
)
(if
(i32.lt_u
- (set_local $6
+ (tee_local $4
(i32.add
(get_local $2)
(i32.sub
@@ -15716,7 +15586,7 @@
)
(if
(i32.eq
- (get_local $6)
+ (get_local $4)
(i32.load
(i32.const 196)
)
@@ -15725,9 +15595,9 @@
(if
(i32.ne
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $9)
(i32.const 4)
@@ -15741,7 +15611,7 @@
)
(block
(set_local $3
- (get_local $6)
+ (get_local $4)
)
(set_local $10
(get_local $12)
@@ -15761,7 +15631,7 @@
)
)
(i32.store offset=4
- (get_local $6)
+ (get_local $4)
(i32.or
(get_local $12)
(i32.const 1)
@@ -15769,7 +15639,7 @@
)
(i32.store
(i32.add
- (get_local $6)
+ (get_local $4)
(get_local $12)
)
(get_local $12)
@@ -15791,17 +15661,17 @@
(block
(set_local $2
(i32.load offset=12
- (get_local $6)
+ (get_local $4)
)
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load offset=8
- (get_local $6)
+ (get_local $4)
)
)
- (set_local $8
+ (tee_local $8
(i32.add
(i32.const 216)
(i32.shl
@@ -15827,7 +15697,7 @@
(i32.load offset=12
(get_local $0)
)
- (get_local $6)
+ (get_local $4)
)
(call_import $_abort)
)
@@ -15855,7 +15725,7 @@
)
)
(set_local $3
- (get_local $6)
+ (get_local $4)
)
(set_local $10
(get_local $12)
@@ -15885,14 +15755,14 @@
(if
(i32.eq
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $2)
(i32.const 8)
)
)
)
- (get_local $6)
+ (get_local $4)
)
(set_local $13
(get_local $1)
@@ -15910,7 +15780,7 @@
(get_local $0)
)
(set_local $3
- (get_local $6)
+ (get_local $4)
)
(set_local $10
(get_local $12)
@@ -15920,29 +15790,29 @@
)
(set_local $8
(i32.load offset=24
- (get_local $6)
+ (get_local $4)
)
)
(block $do-once$2
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load offset=12
- (get_local $6)
+ (get_local $4)
)
)
- (get_local $6)
+ (get_local $4)
)
(block
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
- (set_local $13
+ (tee_local $13
(i32.add
- (get_local $6)
+ (get_local $4)
(i32.const 16)
)
)
@@ -15955,7 +15825,7 @@
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load
(get_local $13)
)
@@ -15963,7 +15833,7 @@
(i32.const 0)
)
(block
- (set_local $4
+ (set_local $5
(i32.const 0)
)
(br $do-once$2)
@@ -15981,56 +15851,58 @@
(get_local $0)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.ne
- (set_local $0
- (i32.load
- (set_local $13
- (i32.add
- (get_local $2)
- (i32.const 20)
+ (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.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $2
- (get_local $0)
- )
- (set_local $7
- (get_local $13)
+ (block
+ (set_local $2
+ (get_local $0)
+ )
+ (set_local $7
+ (get_local $13)
+ )
+ (br $while-in$5)
)
- (br $while-in$5)
)
- )
- (if
- (i32.eq
- (set_local $0
- (i32.load
- (set_local $13
- (i32.add
- (get_local $2)
- (i32.const 16)
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
+ )
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (br $while-out$4)
- (block
- (set_local $2
- (get_local $0)
- )
- (set_local $7
- (get_local $13)
+ (br $while-out$4)
+ (block
+ (set_local $2
+ (get_local $0)
+ )
+ (set_local $7
+ (get_local $13)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(if
(i32.lt_u
@@ -16043,7 +15915,7 @@
(get_local $7)
(i32.const 0)
)
- (set_local $4
+ (set_local $5
(get_local $2)
)
)
@@ -16052,9 +15924,9 @@
(block
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load offset=8
- (get_local $6)
+ (get_local $4)
)
)
(get_local $1)
@@ -16064,28 +15936,28 @@
(if
(i32.ne
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $2)
(i32.const 12)
)
)
)
- (get_local $6)
+ (get_local $4)
)
(call_import $_abort)
)
(if
(i32.eq
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
- (get_local $6)
+ (get_local $4)
)
(block
(i32.store
@@ -16096,7 +15968,7 @@
(get_local $7)
(get_local $2)
)
- (set_local $4
+ (set_local $5
(get_local $0)
)
)
@@ -16112,7 +15984,7 @@
)
(block
(set_local $3
- (get_local $6)
+ (get_local $4)
)
(set_local $10
(get_local $12)
@@ -16121,15 +15993,15 @@
(block
(if
(i32.eq
- (get_local $6)
+ (get_local $4)
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(i32.const 480)
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.load offset=28
- (get_local $6)
+ (get_local $4)
)
)
(i32.const 2)
@@ -16141,11 +16013,11 @@
(block
(i32.store
(get_local $1)
- (get_local $4)
+ (get_local $5)
)
(if
(i32.eq
- (get_local $4)
+ (get_local $5)
(i32.const 0)
)
(block
@@ -16165,7 +16037,7 @@
)
)
(set_local $3
- (get_local $6)
+ (get_local $4)
)
(set_local $10
(get_local $12)
@@ -16187,32 +16059,32 @@
(if
(i32.eq
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $8)
(i32.const 16)
)
)
)
- (get_local $6)
+ (get_local $4)
)
(i32.store
(get_local $0)
- (get_local $4)
+ (get_local $5)
)
(i32.store offset=20
(get_local $8)
- (get_local $4)
+ (get_local $5)
)
)
(if
(i32.eq
- (get_local $4)
+ (get_local $5)
(i32.const 0)
)
(block
(set_local $3
- (get_local $6)
+ (get_local $4)
)
(set_local $10
(get_local $12)
@@ -16224,8 +16096,8 @@
)
(if
(i32.lt_u
- (get_local $4)
- (set_local $0
+ (get_local $5)
+ (tee_local $0
(i32.load
(i32.const 192)
)
@@ -16234,16 +16106,16 @@
(call_import $_abort)
)
(i32.store offset=24
- (get_local $4)
+ (get_local $5)
(get_local $8)
)
(if
(i32.ne
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
- (get_local $6)
+ (get_local $4)
(i32.const 16)
)
)
@@ -16259,19 +16131,19 @@
(call_import $_abort)
(block
(i32.store offset=16
- (get_local $4)
+ (get_local $5)
(get_local $1)
)
(i32.store offset=24
(get_local $1)
- (get_local $4)
+ (get_local $5)
)
)
)
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load offset=4
(get_local $2)
)
@@ -16280,7 +16152,7 @@
)
(block
(set_local $3
- (get_local $6)
+ (get_local $4)
)
(set_local $10
(get_local $12)
@@ -16296,15 +16168,15 @@
(call_import $_abort)
(block
(i32.store offset=20
- (get_local $4)
+ (get_local $5)
(get_local $0)
)
(i32.store offset=24
(get_local $0)
- (get_local $4)
+ (get_local $5)
)
(set_local $3
- (get_local $6)
+ (get_local $4)
)
(set_local $10
(get_local $12)
@@ -16335,9 +16207,9 @@
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $9)
(i32.const 4)
@@ -16370,7 +16242,7 @@
(block
(i32.store
(i32.const 188)
- (set_local $0
+ (tee_local $0
(i32.add
(i32.load
(i32.const 188)
@@ -16420,7 +16292,7 @@
(block
(i32.store
(i32.const 184)
- (set_local $0
+ (tee_local $0
(i32.add
(i32.load
(i32.const 184)
@@ -16450,7 +16322,7 @@
(return)
)
)
- (set_local $4
+ (set_local $5
(i32.add
(i32.and
(get_local $0)
@@ -16479,12 +16351,12 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load offset=8
(get_local $9)
)
)
- (set_local $2
+ (tee_local $2
(i32.add
(i32.const 216)
(i32.shl
@@ -16566,7 +16438,7 @@
(if
(i32.eq
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $1)
(i32.const 8)
@@ -16600,7 +16472,7 @@
(block $do-once$10
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load offset=12
(get_local $9)
)
@@ -16610,11 +16482,11 @@
(block
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $9)
(i32.const 16)
@@ -16629,7 +16501,7 @@
)
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load
(get_local $7)
)
@@ -16655,56 +16527,58 @@
(get_local $1)
)
)
- (loop $while-out$12 $while-in$13
- (if
- (i32.ne
- (set_local $1
- (i32.load
- (set_local $7
- (i32.add
- (get_local $2)
- (i32.const 20)
+ (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.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $2
- (get_local $1)
- )
- (set_local $8
- (get_local $7)
+ (block
+ (set_local $2
+ (get_local $1)
+ )
+ (set_local $8
+ (get_local $7)
+ )
+ (br $while-in$13)
)
- (br $while-in$13)
)
- )
- (if
- (i32.eq
- (set_local $1
- (i32.load
- (set_local $7
- (i32.add
- (get_local $2)
- (i32.const 16)
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
+ )
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (br $while-out$12)
- (block
- (set_local $2
- (get_local $1)
- )
- (set_local $8
- (get_local $7)
+ (br $while-out$12)
+ (block
+ (set_local $2
+ (get_local $1)
+ )
+ (set_local $8
+ (get_local $7)
+ )
)
)
+ (br $while-in$13)
)
- (br $while-in$13)
)
(if
(i32.lt_u
@@ -16728,7 +16602,7 @@
(block
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load offset=8
(get_local $9)
)
@@ -16742,7 +16616,7 @@
(if
(i32.ne
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
(get_local $2)
(i32.const 12)
@@ -16756,7 +16630,7 @@
(if
(i32.eq
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $1)
(i32.const 8)
@@ -16793,11 +16667,11 @@
(i32.eq
(get_local $9)
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(i32.const 480)
(i32.shl
- (set_local $1
+ (tee_local $1
(i32.load offset=28
(get_local $9)
)
@@ -16851,7 +16725,7 @@
(if
(i32.eq
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 16)
@@ -16880,7 +16754,7 @@
(if
(i32.lt_u
(get_local $11)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -16894,9 +16768,9 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $9)
(i32.const 16)
@@ -16926,7 +16800,7 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load offset=4
(get_local $2)
)
@@ -16961,16 +16835,16 @@
(i32.store offset=4
(get_local $3)
(i32.or
- (get_local $4)
+ (get_local $5)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $3)
- (get_local $4)
+ (get_local $5)
)
- (get_local $4)
+ (get_local $5)
)
(if
(i32.eq
@@ -16982,11 +16856,10 @@
(block
(i32.store
(i32.const 184)
- (get_local $4)
+ (get_local $5)
)
(return)
)
- (get_local $4)
)
)
(block
@@ -17011,20 +16884,20 @@
)
(get_local $10)
)
- (set_local $4
+ (set_local $5
(get_local $10)
)
)
)
(set_local $1
(i32.shr_u
- (get_local $4)
+ (get_local $5)
(i32.const 3)
)
)
(if
(i32.lt_u
- (get_local $4)
+ (get_local $5)
(i32.const 256)
)
(block
@@ -17043,12 +16916,12 @@
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 176)
)
)
- (set_local $1
+ (tee_local $1
(i32.shl
(i32.const 1)
(get_local $1)
@@ -17065,7 +16938,7 @@
(get_local $1)
)
)
- (set_local $5
+ (set_local $6
(i32.add
(get_local $2)
(i32.const 8)
@@ -17077,9 +16950,9 @@
)
(if
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $2)
(i32.const 8)
@@ -17093,7 +16966,7 @@
)
(call_import $_abort)
(block
- (set_local $5
+ (set_local $6
(get_local $0)
)
(set_local $14
@@ -17103,7 +16976,7 @@
)
)
(i32.store
- (get_local $5)
+ (get_local $6)
(get_local $3)
)
(i32.store offset=12
@@ -17125,12 +16998,12 @@
(i32.add
(i32.const 480)
(i32.shl
- (set_local $5
+ (tee_local $6
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.shr_u
- (get_local $4)
+ (get_local $5)
(i32.const 8)
)
)
@@ -17139,27 +17012,27 @@
(i32.const 0)
(if
(i32.gt_u
- (get_local $4)
+ (get_local $5)
(i32.const 16777215)
)
(i32.const 31)
(block
- (set_local $5
+ (set_local $6
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $5
+ (tee_local $6
(i32.and
(i32.shr_u
(i32.add
- (set_local $1
+ (tee_local $1
(i32.shl
(get_local $0)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
(i32.add
@@ -17182,14 +17055,14 @@
)
(get_local $0)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
(i32.add
- (set_local $5
+ (tee_local $6
(i32.shl
(get_local $1)
- (get_local $5)
+ (get_local $6)
)
)
(i32.const 245760)
@@ -17203,7 +17076,7 @@
)
(i32.shr_u
(i32.shl
- (get_local $5)
+ (get_local $6)
(get_local $0)
)
(i32.const 15)
@@ -17216,7 +17089,7 @@
(i32.or
(i32.and
(i32.shr_u
- (get_local $4)
+ (get_local $5)
(i32.add
(get_local $0)
(i32.const 7)
@@ -17224,7 +17097,7 @@
)
(i32.const 1)
)
- (get_local $5)
+ (get_local $6)
)
)
)
@@ -17236,7 +17109,7 @@
)
(i32.store offset=28
(get_local $3)
- (get_local $5)
+ (get_local $6)
)
(i32.store offset=20
(get_local $3)
@@ -17249,15 +17122,15 @@
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 180)
)
)
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 1)
- (get_local $5)
+ (get_local $6)
)
)
)
@@ -17289,20 +17162,20 @@
)
)
(block
- (set_local $5
+ (set_local $6
(i32.shl
- (get_local $4)
+ (get_local $5)
(select
(i32.const 0)
(i32.sub
(i32.const 25)
(i32.shr_u
- (get_local $5)
+ (get_local $6)
(i32.const 1)
)
)
(i32.eq
- (get_local $5)
+ (get_local $6)
(i32.const 31)
)
)
@@ -17313,78 +17186,80 @@
(get_local $1)
)
)
- (loop $while-out$18 $while-in$19
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
+ (loop $while-in$19
+ (block $while-out$18
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const -8)
+ )
+ (get_local $5)
+ )
+ (block
+ (set_local $15
(get_local $1)
)
- (i32.const -8)
+ (set_local $0
+ (i32.const 130)
+ )
+ (br $while-out$18)
)
- (get_local $4)
)
- (block
- (set_local $15
- (get_local $1)
- )
- (set_local $0
- (i32.const 130)
+ (set_local $2
+ (i32.shl
+ (get_local $6)
+ (i32.const 1)
)
- (br $while-out$18)
)
- )
- (set_local $2
- (i32.shl
- (get_local $5)
- (i32.const 1)
- )
- )
- (if
- (i32.eq
- (set_local $0
- (i32.load
- (set_local $5
- (i32.add
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load
+ (tee_local $6
(i32.add
- (get_local $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $5)
- (i32.const 31)
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $6)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $18
- (get_local $1)
- )
- (set_local $17
- (get_local $5)
- )
- (set_local $0
- (i32.const 127)
- )
- (br $while-out$18)
- )
- (block
- (set_local $5
- (get_local $2)
+ (block
+ (set_local $18
+ (get_local $1)
+ )
+ (set_local $17
+ (get_local $6)
+ )
+ (set_local $0
+ (i32.const 127)
+ )
+ (br $while-out$18)
)
- (set_local $1
- (get_local $0)
+ (block
+ (set_local $6
+ (get_local $2)
+ )
+ (set_local $1
+ (get_local $0)
+ )
)
)
+ (br $while-in$19)
)
- (br $while-in$19)
)
(if
(i32.eq
@@ -17426,9 +17301,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $15)
(i32.const 8)
@@ -17436,7 +17311,7 @@
)
)
)
- (set_local $5
+ (tee_local $6
(i32.load
(i32.const 192)
)
@@ -17444,7 +17319,7 @@
)
(i32.ge_u
(get_local $15)
- (get_local $5)
+ (get_local $6)
)
)
(block
@@ -17477,7 +17352,7 @@
)
(i32.store
(i32.const 208)
- (set_local $0
+ (tee_local $0
(i32.add
(i32.load
(i32.const 208)
@@ -17491,34 +17366,34 @@
(get_local $0)
(i32.const 0)
)
- (set_local $5
+ (set_local $6
(i32.const 632)
)
(return)
)
- (loop $while-out$20 $while-in$21
- (set_local $0
- (i32.eq
- (set_local $5
- (i32.load
- (get_local $5)
+ (loop $while-in$21
+ (block $while-out$20
+ (set_local $0
+ (i32.eq
+ (tee_local $6
+ (i32.load
+ (get_local $6)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 8)
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 8)
+ )
)
+ (br_if $while-out$20
+ (get_local $0)
+ )
+ (br $while-in$21)
)
- (if
- (get_local $0)
- (br $while-out$20)
- (get_local $5)
- )
- (br $while-in$21)
)
(i32.store
(i32.const 208)
@@ -17529,8 +17404,7 @@
(nop)
)
(func $_i64Subtract (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.sub
(i32.sub
(get_local $1)
@@ -17548,15 +17422,14 @@
)
)
(func $_i64Add (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.add
(i32.add
(get_local $1)
(get_local $3)
)
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(get_local $2)
@@ -17589,7 +17462,7 @@
(i32.or
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(get_local $1)
(i32.const 255)
@@ -17618,7 +17491,7 @@
)
)
(if
- (set_local $3
+ (tee_local $3
(i32.and
(get_local $0)
(i32.const 3)
@@ -17634,66 +17507,72 @@
(get_local $3)
)
)
- (loop $while-out$0 $while-in$1
- (br_if $while-out$0
- (i32.ge_s
- (get_local $0)
- (get_local $3)
+ (loop $while-in$1
+ (block $while-out$0
+ (br_if $while-out$0
+ (i32.ge_s
+ (get_local $0)
+ (get_local $3)
+ )
)
- )
- (i32.store8
- (get_local $0)
- (get_local $1)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (get_local $1)
+ )
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
+ (br $while-in$1)
)
- (br $while-in$1)
)
)
)
- (loop $while-out$2 $while-in$3
- (br_if $while-out$2
- (i32.ge_s
- (get_local $0)
- (get_local $6)
+ (loop $while-in$3
+ (block $while-out$2
+ (br_if $while-out$2
+ (i32.ge_s
+ (get_local $0)
+ (get_local $6)
+ )
)
- )
- (i32.store
- (get_local $0)
- (get_local $5)
- )
- (set_local $0
- (i32.add
+ (i32.store
(get_local $0)
- (i32.const 4)
+ (get_local $5)
+ )
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (br_if $while-out$4
- (i32.ge_s
- (get_local $0)
- (get_local $4)
+ (loop $while-in$5
+ (block $while-out$4
+ (br_if $while-out$4
+ (i32.ge_s
+ (get_local $0)
+ (get_local $4)
+ )
)
- )
- (i32.store8
- (get_local $0)
- (get_local $1)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (get_local $1)
)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
+ (br $while-in$5)
)
- (br $while-in$5)
)
(i32.sub
(get_local $0)
@@ -17707,8 +17586,7 @@
(i32.const 32)
)
(block
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.shr_u
(get_local $1)
(get_local $2)
@@ -17740,8 +17618,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(i32.shr_u
@@ -17759,8 +17636,7 @@
(i32.const 32)
)
(block
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.or
(i32.shl
(get_local $1)
@@ -17798,8 +17674,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.shl
(get_local $0)
(i32.sub
@@ -17840,117 +17715,123 @@
)
)
(block
- (loop $while-out$0 $while-in$1
- (br_if $while-out$0
- (i32.eqz
- (i32.and
- (get_local $0)
- (i32.const 3)
+ (loop $while-in$1
+ (block $while-out$0
+ (br_if $while-out$0
+ (i32.eqz
+ (i32.and
+ (get_local $0)
+ (i32.const 3)
+ )
)
)
- )
- (if
- (i32.eq
- (get_local $2)
- (i32.const 0)
- )
- (return
- (get_local $3)
- )
- )
- (i32.store8
- (get_local $0)
- (i32.load8_s
- (get_local $1)
+ (if
+ (i32.eq
+ (get_local $2)
+ (i32.const 0)
+ )
+ (return
+ (get_local $3)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 1)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
)
- )
- (br $while-in$1)
- )
- (loop $while-out$2 $while-in$3
- (br_if $while-out$2
- (i32.lt_s
- (get_local $2)
- (i32.const 4)
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 1)
+ )
)
+ (br $while-in$1)
)
- (i32.store
- (get_local $0)
- (i32.load
- (get_local $1)
+ )
+ (loop $while-in$3
+ (block $while-out$2
+ (br_if $while-out$2
+ (i32.lt_s
+ (get_local $2)
+ (i32.const 4)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store
(get_local $0)
- (i32.const 4)
+ (i32.load
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 4)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
+ )
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 4)
+ )
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (br_if $while-out$4
- (i32.le_s
- (get_local $2)
- (i32.const 0)
- )
- )
- (i32.store8
- (get_local $0)
- (i32.load8_s
- (get_local $1)
+ (loop $while-in$5
+ (block $while-out$4
+ (br_if $while-out$4
+ (i32.le_s
+ (get_local $2)
+ (i32.const 0)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 1)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 1)
+ )
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(get_local $3)
)
@@ -17961,8 +17842,7 @@
(i32.const 32)
)
(block
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.shr_s
(get_local $1)
(get_local $2)
@@ -17994,8 +17874,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(select
(i32.const -1)
(i32.const 0)
@@ -18020,15 +17899,15 @@
(set_local $2
(i32.add
(i32.shr_u
- (set_local $4
+ (tee_local $4
(i32.mul
- (set_local $2
+ (tee_local $2
(i32.and
(get_local $1)
(i32.const 65535)
)
)
- (set_local $3
+ (tee_local $3
(i32.and
(get_local $0)
(i32.const 65535)
@@ -18040,7 +17919,7 @@
)
(i32.mul
(get_local $2)
- (set_local $0
+ (tee_local $0
(i32.shr_u
(get_local $0)
(i32.const 16)
@@ -18051,7 +17930,7 @@
)
(set_local $3
(i32.mul
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $1)
(i32.const 16)
@@ -18060,8 +17939,7 @@
(get_local $3)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.add
(i32.add
(i32.shr_u
@@ -18109,7 +17987,7 @@
(call $___udivmoddi4
(call $_i64Subtract
(i32.xor
- (set_local $4
+ (tee_local $4
(i32.or
(i32.shr_s
(get_local $1)
@@ -18131,7 +18009,7 @@
(get_local $0)
)
(i32.xor
- (set_local $0
+ (tee_local $0
(i32.or
(i32.shr_s
(select
@@ -18162,12 +18040,10 @@
(get_local $4)
(get_local $0)
)
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
(call $_i64Subtract
(i32.xor
- (set_local $1
+ (tee_local $1
(i32.or
(i32.shr_s
(get_local $3)
@@ -18189,7 +18065,7 @@
(get_local $2)
)
(i32.xor
- (set_local $2
+ (tee_local $2
(i32.or
(i32.shr_s
(select
@@ -18220,12 +18096,10 @@
(get_local $1)
(get_local $2)
)
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
(i32.const 0)
)
- (set_local $1
+ (tee_local $1
(i32.xor
(get_local $1)
(get_local $4)
@@ -18233,10 +18107,8 @@
)
)
(i32.xor
- (i32.load
- (i32.const 168)
- )
- (set_local $0
+ (get_global $tempRet0)
+ (tee_local $0
(i32.xor
(get_local $2)
(get_local $0)
@@ -18252,138 +18124,131 @@
(local $5 i32)
(local $6 i32)
(set_local $6
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
- (call $___udivmoddi4
- (call $_i64Subtract
- (i32.xor
- (set_local $4
- (i32.or
- (i32.shr_s
- (get_local $1)
- (i32.const 31)
- )
- (i32.shl
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $1)
+ (drop
+ (call $___udivmoddi4
+ (call $_i64Subtract
+ (i32.xor
+ (tee_local $4
+ (i32.or
+ (i32.shr_s
+ (get_local $1)
+ (i32.const 31)
+ )
+ (i32.shl
+ (select
+ (i32.const -1)
(i32.const 0)
+ (i32.lt_s
+ (get_local $1)
+ (i32.const 0)
+ )
)
+ (i32.const 1)
)
- (i32.const 1)
)
)
+ (get_local $0)
)
- (get_local $0)
- )
- (i32.xor
- (set_local $5
- (i32.or
- (i32.shr_s
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $1)
+ (i32.xor
+ (tee_local $5
+ (i32.or
+ (i32.shr_s
+ (select
+ (i32.const -1)
(i32.const 0)
+ (i32.lt_s
+ (get_local $1)
+ (i32.const 0)
+ )
)
+ (i32.const 31)
)
- (i32.const 31)
- )
- (i32.shl
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $1)
+ (i32.shl
+ (select
+ (i32.const -1)
(i32.const 0)
+ (i32.lt_s
+ (get_local $1)
+ (i32.const 0)
+ )
)
+ (i32.const 1)
)
- (i32.const 1)
)
)
+ (get_local $1)
)
- (get_local $1)
+ (get_local $4)
+ (get_local $5)
)
- (get_local $4)
- (get_local $5)
- )
- (i32.load
- (i32.const 168)
- )
- (call $_i64Subtract
- (i32.xor
- (set_local $0
- (i32.or
- (i32.shr_s
- (get_local $3)
- (i32.const 31)
- )
- (i32.shl
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $3)
+ (get_global $tempRet0)
+ (call $_i64Subtract
+ (i32.xor
+ (tee_local $0
+ (i32.or
+ (i32.shr_s
+ (get_local $3)
+ (i32.const 31)
+ )
+ (i32.shl
+ (select
+ (i32.const -1)
(i32.const 0)
+ (i32.lt_s
+ (get_local $3)
+ (i32.const 0)
+ )
)
+ (i32.const 1)
)
- (i32.const 1)
)
)
+ (get_local $2)
)
- (get_local $2)
- )
- (i32.xor
- (set_local $1
- (i32.or
- (i32.shr_s
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $3)
+ (i32.xor
+ (tee_local $1
+ (i32.or
+ (i32.shr_s
+ (select
+ (i32.const -1)
(i32.const 0)
+ (i32.lt_s
+ (get_local $3)
+ (i32.const 0)
+ )
)
+ (i32.const 31)
)
- (i32.const 31)
- )
- (i32.shl
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $3)
+ (i32.shl
+ (select
+ (i32.const -1)
(i32.const 0)
+ (i32.lt_s
+ (get_local $3)
+ (i32.const 0)
+ )
)
+ (i32.const 1)
)
- (i32.const 1)
)
)
+ (get_local $3)
)
- (get_local $3)
+ (get_local $0)
+ (get_local $1)
+ )
+ (get_global $tempRet0)
+ (tee_local $0
+ (get_local $6)
)
- (get_local $0)
- (get_local $1)
- )
- (i32.load
- (i32.const 168)
- )
- (set_local $0
- (get_local $6)
)
)
(set_local $0
@@ -18405,16 +18270,12 @@
)
)
(set_local $1
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $6)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(get_local $1)
)
(get_local $0)
@@ -18427,8 +18288,7 @@
(get_local $2)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.or
(i32.add
(i32.add
@@ -18441,10 +18301,8 @@
(get_local $2)
)
)
- (set_local $0
- (i32.load
- (i32.const 168)
- )
+ (tee_local $0
+ (get_global $tempRet0)
)
)
(i32.and
@@ -18473,34 +18331,29 @@
(func $___uremdi3 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(local $4 i32)
(set_local $4
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
- (call $___udivmoddi4
- (get_local $0)
- (get_local $1)
- (get_local $2)
- (get_local $3)
- (set_local $0
- (get_local $4)
+ (drop
+ (call $___udivmoddi4
+ (get_local $0)
+ (get_local $1)
+ (get_local $2)
+ (get_local $3)
+ (tee_local $0
+ (get_local $4)
+ )
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $4)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.load offset=4
(get_local $0)
)
@@ -18527,14 +18380,14 @@
(get_local $2)
)
(set_local $7
- (set_local $14
+ (tee_local $14
(get_local $3)
)
)
(if
(i32.eq
- (set_local $6
- (set_local $9
+ (tee_local $6
+ (tee_local $9
(get_local $1)
)
)
@@ -18575,8 +18428,7 @@
(get_local $5)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18589,8 +18441,7 @@
(get_local $2)
)
(block
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18612,8 +18463,7 @@
(i32.const 0)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18664,8 +18514,7 @@
(get_local $5)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18704,8 +18553,7 @@
(get_local $7)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18716,7 +18564,7 @@
(if
(i32.eq
(i32.and
- (set_local $5
+ (tee_local $5
(i32.sub
(get_local $7)
(i32.const 1)
@@ -18758,8 +18606,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18774,7 +18621,7 @@
)
(if
(i32.le_u
- (set_local $5
+ (tee_local $5
(i32.sub
(i32.clz
(get_local $7)
@@ -18788,7 +18635,7 @@
)
(block
(set_local $12
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $5)
(i32.const 1)
@@ -18799,7 +18646,7 @@
(i32.or
(i32.shl
(get_local $6)
- (set_local $1
+ (tee_local $1
(i32.sub
(i32.const 31)
(get_local $5)
@@ -18836,8 +18683,7 @@
(i32.const 0)
)
(block
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18865,8 +18711,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18881,7 +18726,7 @@
(block
(if
(i32.le_u
- (set_local $5
+ (tee_local $5
(i32.sub
(i32.clz
(get_local $7)
@@ -18895,7 +18740,7 @@
)
(block
(set_local $12
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $5)
(i32.const 1)
@@ -18909,7 +18754,7 @@
(get_local $8)
(get_local $0)
)
- (set_local $9
+ (tee_local $9
(i32.shr_s
(i32.sub
(get_local $5)
@@ -18921,7 +18766,7 @@
)
(i32.shl
(get_local $6)
- (set_local $1
+ (tee_local $1
(i32.sub
(i32.const 31)
(get_local $5)
@@ -18957,8 +18802,7 @@
(i32.const 0)
)
(block
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18986,8 +18830,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18998,7 +18841,7 @@
(if
(i32.ne
(i32.and
- (set_local $7
+ (tee_local $7
(i32.sub
(get_local $5)
(i32.const 1)
@@ -19012,7 +18855,7 @@
(set_local $1
(i32.sub
(i32.const 64)
- (set_local $0
+ (tee_local $0
(i32.sub
(i32.add
(i32.clz
@@ -19029,7 +18872,7 @@
)
(set_local $5
(i32.shr_s
- (set_local $9
+ (tee_local $9
(i32.sub
(i32.const 32)
(get_local $0)
@@ -19040,7 +18883,7 @@
)
(set_local $10
(i32.shr_s
- (set_local $7
+ (tee_local $7
(i32.sub
(get_local $0)
(i32.const 32)
@@ -19158,8 +19001,7 @@
(i32.const 1)
)
(block
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.or
(get_local $9)
(i32.and
@@ -19179,13 +19021,12 @@
)
)
(block
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.or
(i32.const 0)
(i32.shr_u
(get_local $6)
- (set_local $0
+ (tee_local $0
(i32.ctz
(get_local $5)
)
@@ -19231,7 +19072,7 @@
(block
(set_local $3
(call $_i64Add
- (set_local $1
+ (tee_local $1
(i32.or
(i32.const 0)
(i32.and
@@ -19240,7 +19081,7 @@
)
)
)
- (set_local $2
+ (tee_local $2
(i32.or
(get_local $14)
(i32.and
@@ -19254,9 +19095,7 @@
)
)
(set_local $8
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
(set_local $9
(get_local $0)
@@ -19264,150 +19103,150 @@
(set_local $0
(i32.const 0)
)
- (loop $while-out$2 $while-in$3
- (set_local $6
- (i32.or
- (i32.shr_u
- (get_local $10)
- (i32.const 31)
- )
- (i32.shl
- (get_local $9)
- (i32.const 1)
- )
- )
- )
- (set_local $10
- (i32.or
- (get_local $0)
- (i32.shl
- (get_local $10)
- (i32.const 1)
- )
- )
- )
- (call $_i64Subtract
- (get_local $3)
- (get_local $8)
- (set_local $0
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $6
(i32.or
- (i32.const 0)
- (i32.or
- (i32.shl
- (get_local $11)
- (i32.const 1)
- )
- (i32.shr_u
- (get_local $9)
- (i32.const 31)
- )
+ (i32.shr_u
+ (get_local $10)
+ (i32.const 31)
+ )
+ (i32.shl
+ (get_local $9)
+ (i32.const 1)
)
)
)
- (set_local $9
+ (set_local $10
(i32.or
- (i32.shr_u
- (get_local $11)
- (i32.const 31)
- )
+ (get_local $0)
(i32.shl
- (get_local $13)
+ (get_local $10)
(i32.const 1)
)
)
)
- )
- (set_local $7
- (i32.and
- (set_local $14
- (i32.or
- (i32.shr_s
- (set_local $5
- (i32.load
- (i32.const 168)
+ (drop
+ (call $_i64Subtract
+ (get_local $3)
+ (get_local $8)
+ (tee_local $0
+ (i32.or
+ (i32.const 0)
+ (i32.or
+ (i32.shl
+ (get_local $11)
+ (i32.const 1)
+ )
+ (i32.shr_u
+ (get_local $9)
+ (i32.const 31)
)
)
- (i32.const 31)
)
- (i32.shl
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
+ )
+ (tee_local $9
+ (i32.or
+ (i32.shr_u
+ (get_local $11)
+ (i32.const 31)
+ )
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
)
- (i32.const 1)
)
)
)
- (i32.const 1)
)
- )
- (set_local $11
- (call $_i64Subtract
- (get_local $0)
- (get_local $9)
- (i32.and
- (get_local $14)
- (get_local $1)
- )
+ (set_local $7
(i32.and
- (i32.or
- (i32.shr_s
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $5)
+ (tee_local $14
+ (i32.or
+ (i32.shr_s
+ (tee_local $5
+ (get_global $tempRet0)
+ )
+ (i32.const 31)
+ )
+ (i32.shl
+ (select
+ (i32.const -1)
(i32.const 0)
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
)
+ (i32.const 1)
)
- (i32.const 31)
)
- (i32.shl
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $5)
+ )
+ (i32.const 1)
+ )
+ )
+ (set_local $11
+ (call $_i64Subtract
+ (get_local $0)
+ (get_local $9)
+ (i32.and
+ (get_local $14)
+ (get_local $1)
+ )
+ (i32.and
+ (i32.or
+ (i32.shr_s
+ (select
+ (i32.const -1)
(i32.const 0)
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
)
+ (i32.const 31)
+ )
+ (i32.shl
+ (select
+ (i32.const -1)
+ (i32.const 0)
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
+ (get_local $2)
)
- (get_local $2)
)
)
- )
- (set_local $13
- (i32.load
- (i32.const 168)
+ (set_local $13
+ (get_global $tempRet0)
)
- )
- (if
- (i32.eq
- (set_local $12
- (i32.sub
- (get_local $12)
- (i32.const 1)
+ (if
+ (i32.eq
+ (tee_local $12
+ (i32.sub
+ (get_local $12)
+ (i32.const 1)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (br $while-out$2)
- (block
- (set_local $9
- (get_local $6)
- )
- (set_local $0
- (get_local $7)
+ (br $while-out$2)
+ (block
+ (set_local $9
+ (get_local $6)
+ )
+ (set_local $0
+ (get_local $7)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
(set_local $1
(i32.const 0)
@@ -19419,7 +19258,7 @@
(set_local $3
(i32.or
(get_local $6)
- (set_local $2
+ (tee_local $2
(i32.const 0)
)
)
@@ -19443,8 +19282,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.or
(i32.or
(i32.or
@@ -19493,6 +19331,7 @@
)
(func $dynCall_ii (param $0 i32) (param $1 i32) (result i32)
(call_indirect $FUNCSIG$ii
+ (get_local $1)
(i32.add
(i32.and
(get_local $0)
@@ -19500,11 +19339,13 @@
)
(i32.const 0)
)
- (get_local $1)
)
)
(func $dynCall_iiii (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(call_indirect $FUNCSIG$iiii
+ (get_local $1)
+ (get_local $2)
+ (get_local $3)
(i32.add
(i32.and
(get_local $0)
@@ -19512,13 +19353,11 @@
)
(i32.const 2)
)
- (get_local $1)
- (get_local $2)
- (get_local $3)
)
)
(func $dynCall_vi (param $0 i32) (param $1 i32)
(call_indirect $FUNCSIG$vi
+ (get_local $1)
(i32.add
(i32.and
(get_local $0)
@@ -19526,7 +19365,6 @@
)
(i32.const 10)
)
- (get_local $1)
)
)
(func $b0 (param $0 i32) (result i32)
diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise
index 13c8baec6..c97524f7b 100644
--- a/test/emcc_hello_world.fromasm.imprecise
+++ b/test/emcc_hello_world.fromasm.imprecise
@@ -1,6 +1,5 @@
(module
(memory 256 256)
- (export "memory" memory)
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
@@ -8,72 +7,99 @@
(type $FUNCSIG$i (func (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vii (func (param i32 i32)))
- (import $abort "env" "abort")
- (import $nullFunc_ii "env" "nullFunc_ii" (param i32))
- (import $nullFunc_iiii "env" "nullFunc_iiii" (param i32))
- (import $nullFunc_vi "env" "nullFunc_vi" (param i32))
- (import $_pthread_cleanup_pop "env" "_pthread_cleanup_pop" (param i32))
- (import $___lock "env" "___lock" (param i32))
- (import $_pthread_self "env" "_pthread_self" (result i32))
- (import $_abort "env" "_abort")
- (import $___syscall6 "env" "___syscall6" (param i32 i32) (result i32))
- (import $_sbrk "env" "_sbrk" (param i32) (result i32))
- (import $_time "env" "_time" (param i32) (result i32))
- (import $_emscripten_memcpy_big "env" "_emscripten_memcpy_big" (param i32 i32 i32) (result i32))
- (import $___syscall54 "env" "___syscall54" (param i32 i32) (result i32))
- (import $___unlock "env" "___unlock" (param i32))
- (import $___syscall140 "env" "___syscall140" (param i32 i32) (result i32))
- (import $_pthread_cleanup_push "env" "_pthread_cleanup_push" (param i32 i32))
- (import $_sysconf "env" "_sysconf" (param i32) (result i32))
- (import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
- (export "_i64Subtract" $_i64Subtract)
- (export "_free" $_free)
- (export "_main" $_main)
- (export "_i64Add" $_i64Add)
- (export "_memset" $_memset)
- (export "_malloc" $_malloc)
- (export "_memcpy" $_memcpy)
- (export "_bitshift64Lshr" $_bitshift64Lshr)
- (export "_fflush" $_fflush)
- (export "___errno_location" $___errno_location)
- (export "_bitshift64Shl" $_bitshift64Shl)
- (export "runPostSets" $runPostSets)
- (export "stackAlloc" $stackAlloc)
- (export "stackSave" $stackSave)
- (export "stackRestore" $stackRestore)
- (export "establishStackSpace" $establishStackSpace)
- (export "setThrew" $setThrew)
- (export "setTempRet0" $setTempRet0)
- (export "getTempRet0" $getTempRet0)
- (export "dynCall_ii" $dynCall_ii)
- (export "dynCall_iiii" $dynCall_iiii)
- (export "dynCall_vi" $dynCall_vi)
- (export "___udivmoddi4" $___udivmoddi4)
+ (import "env" "STACKTOP" (global $STACKTOP i32))
+ (import "env" "STACK_MAX" (global $STACK_MAX i32))
+ (import "env" "tempDoublePtr" (global $tempDoublePtr i32))
+ (import "env" "ABORT" (global $ABORT i32))
+ (import "env" "cttz_i8" (global $cttz_i8 i32))
+ (import "global" "NaN" (global $nan f64))
+ (import "global" "Infinity" (global $inf f64))
+ (import "env" "abort" (func $abort))
+ (import "env" "nullFunc_ii" (func $nullFunc_ii (param i32)))
+ (import "env" "nullFunc_iiii" (func $nullFunc_iiii (param i32)))
+ (import "env" "nullFunc_vi" (func $nullFunc_vi (param i32)))
+ (import "env" "_pthread_cleanup_pop" (func $_pthread_cleanup_pop (param i32)))
+ (import "env" "___lock" (func $___lock (param i32)))
+ (import "env" "_pthread_self" (func $_pthread_self (result i32)))
+ (import "env" "_abort" (func $_abort))
+ (import "env" "___syscall6" (func $___syscall6 (param i32 i32) (result i32)))
+ (import "env" "_sbrk" (func $_sbrk (param i32) (result i32)))
+ (import "env" "_time" (func $_time (param i32) (result i32)))
+ (import "env" "_emscripten_memcpy_big" (func $_emscripten_memcpy_big (param i32 i32 i32) (result i32)))
+ (import "env" "___syscall54" (func $___syscall54 (param i32 i32) (result i32)))
+ (import "env" "___unlock" (func $___unlock (param i32)))
+ (import "env" "___syscall140" (func $___syscall140 (param i32 i32) (result i32)))
+ (import "env" "_pthread_cleanup_push" (func $_pthread_cleanup_push (param i32 i32)))
+ (import "env" "_sysconf" (func $_sysconf (param i32) (result i32)))
+ (import "env" "___syscall146" (func $___syscall146 (param i32 i32) (result i32)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "_i64Subtract" (func $_i64Subtract))
+ (export "_free" (func $_free))
+ (export "_main" (func $_main))
+ (export "_i64Add" (func $_i64Add))
+ (export "_memset" (func $_memset))
+ (export "_malloc" (func $_malloc))
+ (export "_memcpy" (func $_memcpy))
+ (export "_bitshift64Lshr" (func $_bitshift64Lshr))
+ (export "_fflush" (func $_fflush))
+ (export "___errno_location" (func $___errno_location))
+ (export "_bitshift64Shl" (func $_bitshift64Shl))
+ (export "runPostSets" (func $runPostSets))
+ (export "stackAlloc" (func $stackAlloc))
+ (export "stackSave" (func $stackSave))
+ (export "stackRestore" (func $stackRestore))
+ (export "establishStackSpace" (func $establishStackSpace))
+ (export "setThrew" (func $setThrew))
+ (export "setTempRet0" (func $setTempRet0))
+ (export "getTempRet0" (func $getTempRet0))
+ (export "dynCall_ii" (func $dynCall_ii))
+ (export "dynCall_iiii" (func $dynCall_iiii))
+ (export "dynCall_vi" (func $dynCall_vi))
+ (export "___udivmoddi4" (func $___udivmoddi4))
+ (global $__THREW__ i32 (i32.const 0))
+ (global $threwValue i32 (i32.const 0))
+ (global $setjmpId i32 (i32.const 0))
+ (global $undef i32 (i32.const 0))
+ (global $tempInt i32 (i32.const 0))
+ (global $tempBigInt i32 (i32.const 0))
+ (global $tempBigIntP i32 (i32.const 0))
+ (global $tempBigIntS i32 (i32.const 0))
+ (global $tempBigIntR f64 (f64.const 0))
+ (global $tempBigIntI i32 (i32.const 0))
+ (global $tempBigIntD i32 (i32.const 0))
+ (global $tempValue i32 (i32.const 0))
+ (global $tempDouble f64 (f64.const 0))
+ (global $tempRet0 i32 (i32.const 0))
+ (global $tempRet1 i32 (i32.const 0))
+ (global $tempRet2 i32 (i32.const 0))
+ (global $tempRet3 i32 (i32.const 0))
+ (global $tempRet4 i32 (i32.const 0))
+ (global $tempRet5 i32 (i32.const 0))
+ (global $tempRet6 i32 (i32.const 0))
+ (global $tempRet7 i32 (i32.const 0))
+ (global $tempRet8 i32 (i32.const 0))
+ (global $tempRet9 i32 (i32.const 0))
+ (global $tempFloat f64 (f64.const 0))
(table 18 18 anyfunc)
(elem (i32.const 0) $b0 $___stdio_close $b1 $b1 $___stdout_write $___stdio_seek $___stdio_write $b1 $b1 $b1 $b2 $b2 $b2 $b2 $b2 $_cleanup $b2 $b2)
(func $stackAlloc (param $0 i32) (result i32)
(local $1 i32)
(set_local $1
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(get_local $0)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.and
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 15)
)
(i32.const -16)
@@ -81,53 +107,40 @@
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
(get_local $1)
)
(func $stackSave (result i32)
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(func $stackRestore (param $0 i32)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $0)
)
)
(func $establishStackSpace (param $0 i32) (param $1 i32)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $0)
)
- (i32.store
- (i32.const 16)
+ (set_global $STACK_MAX
(get_local $1)
)
)
(func $setThrew (param $0 i32) (param $1 i32)
(if
(i32.eq
- (i32.load
- (i32.const 48)
- )
+ (get_global $__THREW__)
(i32.const 0)
)
(block
- (i32.store
- (i32.const 48)
+ (set_global $__THREW__
(get_local $0)
)
- (i32.store
- (i32.const 56)
+ (set_global $threwValue
(get_local $1)
)
)
@@ -135,33 +148,25 @@
)
(func $copyTempFloat (param $0 i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s
(get_local $0)
)
)
(i32.store8 offset=1
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=1
(get_local $0)
)
)
(i32.store8 offset=2
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=2
(get_local $0)
)
)
(i32.store8 offset=3
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=3
(get_local $0)
)
@@ -169,114 +174,87 @@
)
(func $copyTempDouble (param $0 i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s
(get_local $0)
)
)
(i32.store8 offset=1
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=1
(get_local $0)
)
)
(i32.store8 offset=2
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=2
(get_local $0)
)
)
(i32.store8 offset=3
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=3
(get_local $0)
)
)
(i32.store8 offset=4
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=4
(get_local $0)
)
)
(i32.store8 offset=5
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=5
(get_local $0)
)
)
(i32.store8 offset=6
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=6
(get_local $0)
)
)
(i32.store8 offset=7
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s offset=7
(get_local $0)
)
)
)
(func $setTempRet0 (param $0 i32)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(get_local $0)
)
)
(func $getTempRet0 (result i32)
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
(func $_main (result i32)
(local $0 i32)
(set_local $0
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
- (call $_printf
- (i32.const 672)
- (get_local $0)
+ (drop
+ (call $_printf
+ (i32.const 672)
+ (get_local $0)
+ )
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $0)
)
(i32.const 0)
@@ -285,44 +263,32 @@
(local $2 i32)
(local $3 i32)
(local $4 i32)
- (i32.load
- (i32.const 8)
- )
(f64.store
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(get_local $0)
)
(set_local $2
(call $_bitshift64Lshr
- (set_local $3
+ (tee_local $3
(i32.load
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
)
)
- (set_local $4
+ (tee_local $4
(i32.load offset=4
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
)
)
(i32.const 52)
)
)
- (i32.load
- (i32.const 168)
- )
(block $switch$0
(block $switch-default$3
(block $switch-case$2
(block $switch-case$1
(br_table $switch-case$1 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-case$2 $switch-default$3
(i32.sub
- (set_local $2
+ (tee_local $2
(i32.and
(get_local $2)
(i32.const 2047)
@@ -375,15 +341,11 @@
)
)
(i32.store
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(get_local $3)
)
(i32.store offset=4
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.or
(i32.and
(get_local $4)
@@ -393,16 +355,11 @@
)
)
(f64.load
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
)
)
)
(func $_frexpl (param $0 f64) (param $1 i32) (result f64)
- (i32.load
- (i32.const 8)
- )
(call $_frexp
(get_local $0)
(get_local $1)
@@ -414,58 +371,56 @@
(local $3 i32)
(local $4 i32)
(local $5 i32)
- (i32.load
- (i32.const 8)
- )
(set_local $1
(i32.const 0)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eq
- (i32.and
- (i32.load8_s offset=687
- (get_local $1)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load8_s offset=687
+ (get_local $1)
+ )
+ (i32.const 255)
)
- (i32.const 255)
- )
- (get_local $0)
- )
- (block
- (set_local $4
- (get_local $1)
- )
- (set_local $0
- (i32.const 2)
+ (get_local $0)
)
- (br $while-out$0)
- )
- )
- (if
- (i32.eq
- (set_local $1
- (i32.add
+ (block
+ (set_local $4
(get_local $1)
- (i32.const 1)
)
+ (set_local $0
+ (i32.const 2)
+ )
+ (br $while-out$0)
)
- (i32.const 87)
)
- (block
- (set_local $3
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
(i32.const 87)
)
- (set_local $2
- (i32.const 775)
- )
- (set_local $0
- (i32.const 5)
+ (block
+ (set_local $3
+ (i32.const 87)
+ )
+ (set_local $2
+ (i32.const 775)
+ )
+ (set_local $0
+ (i32.const 5)
+ )
+ (br $while-out$0)
)
- (br $while-out$0)
)
- (get_local $1)
+ (br $while-in$1)
)
- (br $while-in$1)
)
(if
(i32.eq
@@ -498,73 +453,74 @@
(get_local $0)
(i32.const 5)
)
- (loop $while-out$2 $while-in$3
- (loop $while-out$4 $while-in$5
- (set_local $0
- (i32.add
- (get_local $2)
- (i32.const 1)
+ (loop $while-in$3
+ (block $while-out$2
+ (loop $while-in$5
+ (block $while-out$4
+ (set_local $0
+ (i32.add
+ (get_local $2)
+ (i32.const 1)
+ )
+ )
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $2)
+ )
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $1
+ (get_local $0)
+ )
+ (br $while-out$4)
+ )
+ (set_local $2
+ (get_local $0)
+ )
+ )
+ (br $while-in$5)
)
)
(if
(i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $2)
- )
- (i32.const 24)
+ (tee_local $0
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
)
- (i32.const 24)
)
(i32.const 0)
)
(block
- (set_local $1
- (get_local $0)
+ (set_local $5
+ (get_local $1)
)
- (br $while-out$4)
- )
- (set_local $2
- (get_local $0)
+ (br $while-out$2)
)
- )
- (br $while-in$5)
- )
- (if
- (i32.eq
- (set_local $0
- (i32.add
- (get_local $3)
- (i32.const -1)
+ (block
+ (set_local $3
+ (get_local $0)
+ )
+ (set_local $2
+ (get_local $1)
)
- )
- (i32.const 0)
- )
- (block
- (set_local $5
- (get_local $1)
- )
- (br $while-out$2)
- )
- (block
- (set_local $3
- (get_local $0)
- )
- (set_local $2
- (get_local $1)
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
(get_local $5)
)
(func $___errno_location (result i32)
- (i32.load
- (i32.const 8)
- )
(if
(i32.eq
(i32.load
@@ -582,32 +538,23 @@
(local $1 i32)
(local $2 i32)
(set_local $1
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
(i32.store
- (set_local $2
+ (tee_local $2
(get_local $1)
)
(i32.load offset=60
@@ -622,8 +569,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $1)
)
(get_local $0)
@@ -633,27 +579,18 @@
(local $4 i32)
(local $5 i32)
(set_local $4
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 80)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -717,8 +654,7 @@
(get_local $2)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $4)
)
(get_local $0)
@@ -727,32 +663,23 @@
(local $3 i32)
(local $4 i32)
(set_local $4
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 32)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
(i32.store
- (set_local $3
+ (tee_local $3
(get_local $4)
)
(i32.load offset=60
@@ -769,7 +696,7 @@
)
(i32.store offset=12
(get_local $3)
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $4)
(i32.const 20)
@@ -803,8 +730,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $4)
)
(get_local $0)
@@ -812,9 +738,6 @@
(func $_fflush (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
- (i32.load
- (i32.const 8)
- )
(block $do-once$0
(if
(i32.eq
@@ -842,82 +765,83 @@
(i32.const 44)
)
(if
- (i32.eq
- (set_local $1
+ (i32.ne
+ (tee_local $1
(i32.load
(i32.const 40)
)
)
(i32.const 0)
)
- (get_local $0)
(block
(set_local $2
(get_local $0)
)
- (loop $while-out$2 $while-in$3
- (set_local $0
- (if
- (i32.gt_s
- (i32.load offset=76
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $0
+ (if
+ (i32.gt_s
+ (i32.load offset=76
+ (get_local $1)
+ )
+ (i32.const -1)
+ )
+ (call $___lockfile
(get_local $1)
)
- (i32.const -1)
- )
- (call $___lockfile
- (get_local $1)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $2
- (if
- (i32.gt_u
- (i32.load offset=20
- (get_local $1)
- )
- (i32.load offset=28
- (get_local $1)
+ (set_local $2
+ (if
+ (i32.gt_u
+ (i32.load offset=20
+ (get_local $1)
+ )
+ (i32.load offset=28
+ (get_local $1)
+ )
)
- )
- (i32.or
- (call $___fflush_unlocked
- (get_local $1)
+ (i32.or
+ (call $___fflush_unlocked
+ (get_local $1)
+ )
+ (get_local $2)
)
(get_local $2)
)
- (get_local $2)
- )
- )
- (if
- (i32.ne
- (get_local $0)
- (i32.const 0)
)
- (call $___unlockfile
- (get_local $1)
+ (if
+ (i32.ne
+ (get_local $0)
+ (i32.const 0)
+ )
+ (call $___unlockfile
+ (get_local $1)
+ )
)
- )
- (if
- (i32.eq
- (set_local $0
- (i32.load offset=56
- (get_local $1)
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=56
+ (get_local $1)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $0
- (get_local $2)
+ (block
+ (set_local $0
+ (get_local $2)
+ )
+ (br $while-out$2)
+ )
+ (set_local $1
+ (get_local $0)
)
- (br $while-out$2)
- )
- (set_local $1
- (get_local $0)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
@@ -971,32 +895,23 @@
(local $2 i32)
(local $3 i32)
(set_local $2
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
(i32.store
- (set_local $3
+ (tee_local $3
(get_local $2)
)
(get_local $1)
@@ -1010,16 +925,12 @@
(get_local $3)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $2)
)
(get_local $0)
)
(func $___lockfile (param $0 i32) (result i32)
- (i32.load
- (i32.const 8)
- )
(i32.const 0)
)
(func $___unlockfile (param $0 i32)
@@ -1042,27 +953,18 @@
(local $16 i32)
(local $17 i32)
(set_local $8
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 48)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -1076,15 +978,15 @@
(get_local $8)
)
(i32.store
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $8)
(i32.const 32)
)
)
- (set_local $3
+ (tee_local $3
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $0)
(i32.const 28)
@@ -1095,10 +997,10 @@
)
(i32.store offset=4
(get_local $4)
- (set_local $3
+ (tee_local $3
(i32.sub
(i32.load
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $0)
(i32.const 20)
@@ -1138,206 +1040,208 @@
(get_local $2)
)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eq
- (get_local $3)
- (set_local $5
- (if
- (i32.eq
- (i32.load
- (i32.const 16)
- )
- (i32.const 0)
- )
- (block
- (i32.store
- (get_local $9)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eq
+ (get_local $3)
+ (tee_local $5
+ (if
+ (i32.eq
(i32.load
- (get_local $12)
+ (i32.const 16)
)
+ (i32.const 0)
)
- (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)
+ (block
+ (i32.store
(get_local $9)
+ (i32.load
+ (get_local $12)
+ )
)
- )
- )
- (block
- (call_import $_pthread_cleanup_push
- (i32.const 5)
- (get_local $0)
- )
- (i32.store
- (get_local $10)
- (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)
)
- )
- (i32.store offset=4
- (get_local $10)
- (get_local $4)
- )
- (i32.store offset=8
- (get_local $10)
- (get_local $6)
- )
- (set_local $1
(call $___syscall_ret
(call_import $___syscall146
(i32.const 146)
- (get_local $10)
+ (get_local $9)
)
)
)
- (call_import $_pthread_cleanup_pop
- (i32.const 0)
+ (block
+ (call_import $_pthread_cleanup_push
+ (i32.const 5)
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $10)
+ (i32.load
+ (get_local $12)
+ )
+ )
+ (i32.store offset=4
+ (get_local $10)
+ (get_local $4)
+ )
+ (i32.store offset=8
+ (get_local $10)
+ (get_local $6)
+ )
+ (set_local $1
+ (call $___syscall_ret
+ (call_import $___syscall146
+ (i32.const 146)
+ (get_local $10)
+ )
+ )
+ )
+ (call_import $_pthread_cleanup_pop
+ (i32.const 0)
+ )
+ (get_local $1)
)
- (get_local $1)
)
)
)
- )
- (block
- (set_local $1
- (i32.const 6)
- )
- (br $while-out$0)
- )
- )
- (if
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- (block
- (set_local $15
- (get_local $4)
- )
- (set_local $16
- (get_local $6)
- )
- (set_local $1
- (i32.const 8)
+ (block
+ (set_local $1
+ (i32.const 6)
+ )
+ (br $while-out$0)
)
- (br $while-out$0)
)
- )
- (set_local $17
- (i32.sub
- (get_local $3)
- (get_local $5)
- )
- )
- (set_local $1
(if
- (i32.gt_u
+ (i32.lt_s
(get_local $5)
- (set_local $1
- (i32.load offset=4
- (get_local $4)
- )
- )
+ (i32.const 0)
)
(block
- (i32.store
- (get_local $7)
- (set_local $3
- (i32.load
- (get_local $13)
- )
- )
- )
- (i32.store
- (get_local $11)
- (get_local $3)
- )
- (set_local $5
- (i32.sub
- (get_local $5)
- (get_local $1)
- )
- )
- (set_local $3
- (i32.add
- (get_local $4)
- (i32.const 8)
- )
+ (set_local $15
+ (get_local $4)
)
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
+ (set_local $16
+ (get_local $6)
)
- (i32.load offset=12
- (get_local $4)
+ (set_local $1
+ (i32.const 8)
)
+ (br $while-out$0)
)
+ )
+ (set_local $17
+ (i32.sub
+ (get_local $3)
+ (get_local $5)
+ )
+ )
+ (set_local $1
(if
- (i32.eq
- (get_local $6)
- (i32.const 2)
+ (i32.gt_u
+ (get_local $5)
+ (tee_local $1
+ (i32.load offset=4
+ (get_local $4)
+ )
+ )
)
(block
(i32.store
(get_local $7)
- (i32.add
+ (tee_local $3
(i32.load
- (get_local $7)
+ (get_local $13)
)
+ )
+ )
+ (i32.store
+ (get_local $11)
+ (get_local $3)
+ )
+ (set_local $5
+ (i32.sub
(get_local $5)
+ (get_local $1)
)
)
(set_local $3
- (get_local $4)
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
(set_local $6
- (i32.const 2)
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
)
- (get_local $1)
- )
- (block
- (set_local $3
+ (i32.load offset=12
(get_local $4)
)
- (get_local $1)
+ )
+ (if
+ (i32.eq
+ (get_local $6)
+ (i32.const 2)
+ )
+ (block
+ (i32.store
+ (get_local $7)
+ (i32.add
+ (i32.load
+ (get_local $7)
+ )
+ (get_local $5)
+ )
+ )
+ (set_local $3
+ (get_local $4)
+ )
+ (set_local $6
+ (i32.const 2)
+ )
+ (get_local $1)
+ )
+ (block
+ (set_local $3
+ (get_local $4)
+ )
+ (get_local $1)
+ )
)
)
)
- )
- (i32.store
- (get_local $3)
- (i32.add
- (i32.load
- (get_local $3)
+ (i32.store
+ (get_local $3)
+ (i32.add
+ (i32.load
+ (get_local $3)
+ )
+ (get_local $5)
)
- (get_local $5)
)
- )
- (i32.store offset=4
- (get_local $3)
- (i32.sub
- (get_local $1)
- (get_local $5)
+ (i32.store offset=4
+ (get_local $3)
+ (i32.sub
+ (get_local $1)
+ (get_local $5)
+ )
)
+ (set_local $4
+ (get_local $3)
+ )
+ (set_local $3
+ (get_local $17)
+ )
+ (br $while-in$1)
)
- (set_local $4
- (get_local $3)
- )
- (set_local $3
- (get_local $17)
- )
- (br $while-in$1)
)
(if
(i32.eq
@@ -1348,7 +1252,7 @@
(i32.store offset=16
(get_local $0)
(i32.add
- (set_local $1
+ (tee_local $1
(i32.load
(get_local $13)
)
@@ -1415,8 +1319,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $8)
)
(get_local $14)
@@ -1435,27 +1338,18 @@
(local $13 i32)
(local $14 i32)
(set_local $3
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 224)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -1476,8 +1370,8 @@
)
(set_local $7
(i32.add
- (set_local $4
- (set_local $9
+ (tee_local $4
+ (tee_local $9
(i32.add
(get_local $3)
(i32.const 80)
@@ -1494,7 +1388,7 @@
)
(br_if $do-in$1
(i32.lt_s
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $4)
(i32.const 4)
@@ -1540,7 +1434,7 @@
)
(set_local $4
(i32.and
- (set_local $2
+ (tee_local $2
(i32.load
(get_local $0)
)
@@ -1574,7 +1468,7 @@
(if
(i32.eq
(i32.load
- (set_local $10
+ (tee_local $10
(i32.add
(get_local $0)
(i32.const 48)
@@ -1586,7 +1480,7 @@
(block
(set_local $2
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $0)
(i32.const 44)
@@ -1599,7 +1493,7 @@
(get_local $6)
)
(i32.store
- (set_local $13
+ (tee_local $13
(i32.add
(get_local $0)
(i32.const 28)
@@ -1608,7 +1502,7 @@
(get_local $6)
)
(i32.store
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $0)
(i32.const 20)
@@ -1621,7 +1515,7 @@
(i32.const 80)
)
(i32.store
- (set_local $14
+ (tee_local $14
(i32.add
(get_local $0)
(i32.const 16)
@@ -1648,19 +1542,21 @@
)
(get_local $1)
(block
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (i32.load offset=36
- (get_local $0)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $0)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $0)
- (i32.const 0)
- (i32.const 0)
)
(set_local $1
(select
@@ -1709,7 +1605,7 @@
(i32.const -1)
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(get_local $0)
)
@@ -1740,8 +1636,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $3)
)
(get_local $0)
@@ -1752,14 +1647,11 @@
(local $5 i32)
(local $6 i32)
(local $7 i32)
- (i32.load
- (i32.const 8)
- )
(if
(i32.eq
- (set_local $6
+ (tee_local $6
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $2)
(i32.const 16)
@@ -1810,9 +1702,9 @@
(i32.lt_u
(i32.sub
(get_local $3)
- (set_local $6
+ (tee_local $6
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $2)
(i32.const 20)
@@ -1829,6 +1721,9 @@
(block
(set_local $4
(call_indirect $FUNCSIG$iiii
+ (get_local $2)
+ (get_local $0)
+ (get_local $1)
(i32.add
(i32.and
(i32.load offset=36
@@ -1838,130 +1733,131 @@
)
(i32.const 2)
)
- (get_local $2)
- (get_local $0)
- (get_local $1)
)
)
(br $label$break$L5)
)
)
- (call $_memcpy
- (block $label$break$L10
- (if
- (i32.gt_s
- (i32.shr_s
- (i32.shl
- (i32.load8_s offset=75
- (get_local $2)
+ (drop
+ (call $_memcpy
+ (block $label$break$L10
+ (if
+ (i32.gt_s
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s offset=75
+ (get_local $2)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
- )
- (i32.const -1)
- )
- (block
- (set_local $3
- (get_local $1)
+ (i32.const -1)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.eq
- (get_local $3)
- (i32.const 0)
- )
- (block
- (set_local $2
- (i32.const 0)
- )
- (br $label$break$L10
- (get_local $6)
- )
- )
+ (block
+ (set_local $3
+ (get_local $1)
)
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (i32.add
- (get_local $0)
- (set_local $4
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eq
+ (get_local $3)
+ (i32.const 0)
+ )
+ (block
+ (set_local $2
+ (i32.const 0)
+ )
+ (br $label$break$L10
+ (get_local $6)
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
(i32.add
- (get_local $3)
- (i32.const -1)
+ (get_local $0)
+ (tee_local $4
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
+ )
+ )
)
)
+ (i32.const 24)
)
+ (i32.const 24)
)
- (i32.const 24)
+ (i32.const 10)
+ )
+ (br $while-out$2)
+ (set_local $3
+ (get_local $4)
)
- (i32.const 24)
)
- (i32.const 10)
- )
- (br $while-out$2)
- (set_local $3
- (get_local $4)
+ (br $while-in$3)
)
)
- (br $while-in$3)
- )
- (if
- (i32.lt_u
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (i32.load offset=36
- (get_local $2)
+ (if
+ (i32.lt_u
+ (call_indirect $FUNCSIG$iiii
+ (get_local $2)
+ (get_local $0)
+ (get_local $3)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $2)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $2)
- (get_local $0)
(get_local $3)
)
+ (block
+ (set_local $4
+ (get_local $3)
+ )
+ (br $label$break$L5)
+ )
+ )
+ (set_local $2
(get_local $3)
)
- (block
- (set_local $4
+ (set_local $1
+ (i32.sub
+ (get_local $1)
(get_local $3)
)
- (br $label$break$L5)
)
- )
- (set_local $2
- (get_local $3)
- )
- (set_local $1
- (i32.sub
- (get_local $1)
- (get_local $3)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (get_local $3)
+ )
)
- )
- (set_local $0
- (i32.add
- (get_local $0)
- (get_local $3)
+ (i32.load
+ (get_local $5)
)
)
- (i32.load
- (get_local $5)
- )
- )
- (block
- (set_local $2
- (i32.const 0)
+ (block
+ (set_local $2
+ (i32.const 0)
+ )
+ (get_local $6)
)
- (get_local $6)
)
)
+ (get_local $0)
+ (get_local $1)
)
- (get_local $0)
- (get_local $1)
)
(i32.store
(get_local $5)
@@ -1986,18 +1882,15 @@
(func $___towrite (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
- (i32.load
- (i32.const 8)
- )
(set_local $1
(i32.and
(i32.or
(i32.add
- (set_local $1
+ (tee_local $1
(i32.shr_s
(i32.shl
(i32.load8_s
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $0)
(i32.const 74)
@@ -2023,7 +1916,7 @@
(if
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(get_local $0)
)
@@ -2043,7 +1936,7 @@
)
(i32.store offset=28
(get_local $0)
- (set_local $1
+ (tee_local $1
(i32.load offset=44
(get_local $0)
)
@@ -2077,9 +1970,6 @@
)
)
(func $_wcrtomb (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (i32.load
- (i32.const 8)
- )
(block $do-once$0
(if
(i32.eq
@@ -2287,9 +2177,6 @@
)
)
(func $_wctomb (param $0 i32) (param $1 i32) (result i32)
- (i32.load
- (i32.const 8)
- )
(if
(i32.eq
(get_local $0)
@@ -2318,9 +2205,6 @@
(local $14 i32)
(local $15 i32)
(local $16 i32)
- (i32.load
- (i32.const 8)
- )
(set_local $16
(i32.and
(get_local $1)
@@ -2330,7 +2214,7 @@
(block $label$break$L1
(if
(i32.and
- (set_local $6
+ (tee_local $6
(i32.ne
(get_local $2)
(i32.const 0)
@@ -2357,85 +2241,87 @@
(set_local $2
(get_local $0)
)
- (loop $while-out$1 $while-in$2
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $2)
+ (loop $while-in$2
+ (block $while-out$1
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $2)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
- )
- (i32.shr_s
- (i32.shl
- (get_local $6)
+ (i32.shr_s
+ (i32.shl
+ (get_local $6)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
- )
- (block
- (set_local $4
- (get_local $3)
- )
- (set_local $5
- (get_local $2)
- )
- (set_local $3
- (i32.const 6)
+ (block
+ (set_local $4
+ (get_local $3)
+ )
+ (set_local $5
+ (get_local $2)
+ )
+ (set_local $3
+ (i32.const 6)
+ )
+ (br $label$break$L1)
)
- (br $label$break$L1)
)
- )
- (if
- (i32.and
- (set_local $3
- (i32.ne
- (set_local $0
- (i32.add
- (get_local $3)
- (i32.const -1)
+ (if
+ (i32.and
+ (tee_local $3
+ (i32.ne
+ (tee_local $0
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (i32.ne
- (i32.and
- (set_local $2
- (i32.add
- (get_local $2)
- (i32.const 1)
+ (i32.ne
+ (i32.and
+ (tee_local $2
+ (i32.add
+ (get_local $2)
+ (i32.const 1)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $3
- (get_local $0)
- )
- (block
- (set_local $14
+ (set_local $3
(get_local $0)
)
- (set_local $11
- (get_local $2)
- )
- (set_local $15
- (get_local $3)
- )
- (set_local $3
- (i32.const 5)
+ (block
+ (set_local $14
+ (get_local $0)
+ )
+ (set_local $11
+ (get_local $2)
+ )
+ (set_local $15
+ (get_local $3)
+ )
+ (set_local $3
+ (i32.const 5)
+ )
+ (br $while-out$1)
)
- (br $while-out$1)
)
+ (br $while-in$2)
)
- (br $while-in$2)
)
)
(block
@@ -2501,7 +2387,7 @@
)
(i32.shr_s
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.and
(get_local $1)
(i32.const 255)
@@ -2534,69 +2420,70 @@
(i32.const 3)
)
(block
- (loop $while-out$5 $while-in$6
- (set_local $1
- (i32.add
- (set_local $6
- (i32.xor
- (i32.load
- (get_local $5)
+ (loop $while-in$6
+ (block $while-out$5
+ (set_local $1
+ (i32.add
+ (tee_local $6
+ (i32.xor
+ (i32.load
+ (get_local $5)
+ )
+ (get_local $2)
)
- (get_local $2)
)
+ (i32.const -16843009)
)
- (i32.const -16843009)
)
- )
- (if
- (i32.ne
- (i32.and
- (i32.xor
- (i32.and
- (get_local $6)
+ (br_if $while-out$5
+ (i32.ne
+ (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)
)
- (i32.const 0)
- )
- (br $while-out$5)
- )
- (set_local $1
- (i32.add
- (get_local $5)
- (i32.const 4)
)
- )
- (if
- (i32.gt_u
- (set_local $4
- (i32.add
- (get_local $4)
- (i32.const -4)
- )
+ (set_local $1
+ (i32.add
+ (get_local $5)
+ (i32.const 4)
)
- (i32.const 3)
)
- (set_local $5
- (get_local $1)
- )
- (block
- (set_local $12
- (get_local $4)
+ (if
+ (i32.gt_u
+ (tee_local $4
+ (i32.add
+ (get_local $4)
+ (i32.const -4)
+ )
+ )
+ (i32.const 3)
)
- (set_local $13
+ (set_local $5
(get_local $1)
)
- (set_local $3
- (i32.const 11)
+ (block
+ (set_local $12
+ (get_local $4)
+ )
+ (set_local $13
+ (get_local $1)
+ )
+ (set_local $3
+ (i32.const 11)
+ )
+ (br $label$break$L11)
)
- (br $label$break$L11)
)
+ (br $while-in$6)
)
- (br $while-in$6)
)
(set_local $10
(get_local $4)
@@ -2647,71 +2534,73 @@
)
)
)
- (loop $while-out$7 $while-in$8
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $9)
+ (loop $while-in$8
+ (block $while-out$7
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $9)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
- )
- (i32.shr_s
- (i32.shl
- (get_local $0)
+ (i32.shr_s
+ (i32.shl
+ (get_local $0)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
- )
- (block
- (set_local $7
- (get_local $10)
+ (block
+ (set_local $7
+ (get_local $10)
+ )
+ (set_local $8
+ (get_local $9)
+ )
+ (br $label$break$L8)
)
- (set_local $8
+ )
+ (set_local $2
+ (i32.add
(get_local $9)
+ (i32.const 1)
)
- (br $label$break$L8)
)
- )
- (set_local $2
- (i32.add
- (get_local $9)
- (i32.const 1)
- )
- )
- (if
- (i32.eq
- (set_local $1
- (i32.add
- (get_local $10)
- (i32.const -1)
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.add
+ (get_local $10)
+ (i32.const -1)
+ )
)
- )
- (i32.const 0)
- )
- (block
- (set_local $7
(i32.const 0)
)
- (set_local $8
- (get_local $2)
- )
- (br $while-out$7)
- )
- (block
- (set_local $10
- (get_local $1)
+ (block
+ (set_local $7
+ (i32.const 0)
+ )
+ (set_local $8
+ (get_local $2)
+ )
+ (br $while-out$7)
)
- (set_local $9
- (get_local $2)
+ (block
+ (set_local $10
+ (get_local $1)
+ )
+ (set_local $9
+ (get_local $2)
+ )
)
)
+ (br $while-in$8)
)
- (br $while-in$8)
)
)
)
@@ -2727,9 +2616,6 @@
)
)
(func $___syscall_ret (param $0 i32) (result i32)
- (i32.load
- (i32.const 8)
- )
(if
(i32.gt_u
(get_local $0)
@@ -2755,13 +2641,10 @@
(local $4 i32)
(local $5 i32)
(local $6 i32)
- (i32.load
- (i32.const 8)
- )
(if
(i32.gt_u
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $0)
(i32.const 20)
@@ -2769,7 +2652,7 @@
)
)
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $0)
(i32.const 28)
@@ -2778,19 +2661,21 @@
)
)
(block
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (i32.load offset=36
- (get_local $0)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $0)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $0)
- (i32.const 0)
- (i32.const 0)
)
(if
(i32.eq
@@ -2819,9 +2704,9 @@
(block
(if
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $0)
(i32.const 4)
@@ -2829,9 +2714,9 @@
)
)
)
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $0)
(i32.const 8)
@@ -2840,22 +2725,24 @@
)
)
)
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (i32.load offset=40
- (get_local $0)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.sub
+ (get_local $1)
+ (get_local $2)
+ )
+ (i32.const 1)
+ (i32.add
+ (i32.and
+ (i32.load offset=40
+ (get_local $0)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 2)
)
- (i32.const 2)
- )
- (get_local $0)
- (i32.sub
- (get_local $1)
- (get_local $2)
)
- (i32.const 1)
)
)
(i32.store offset=16
@@ -2886,9 +2773,6 @@
(get_local $1)
)
(func $_cleanup (param $0 i32)
- (i32.load
- (i32.const 8)
- )
(if
(i32.eq
(i32.load offset=68
@@ -2911,8 +2795,8 @@
(local $11 i32)
(local $12 i32)
(local $13 i32)
- (local $14 i32)
- (local $15 f64)
+ (local $14 f64)
+ (local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
@@ -2982,27 +2866,18 @@
(local $82 i32)
(local $83 i32)
(set_local $31
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 624)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -3028,9 +2903,9 @@
)
)
(set_local $71
- (set_local $28
+ (tee_local $28
(i32.add
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $31)
(i32.const 536)
@@ -3048,7 +2923,7 @@
)
(set_local $76
(i32.add
- (set_local $73
+ (tee_local $73
(i32.add
(get_local $31)
(i32.const 8)
@@ -3059,7 +2934,7 @@
)
(set_local $52
(i32.add
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $31)
(i32.const 576)
@@ -3076,11 +2951,11 @@
)
(set_local $77
(i32.sub
- (set_local $40
+ (tee_local $40
(get_local $52)
)
- (set_local $64
- (set_local $29
+ (tee_local $64
+ (tee_local $29
(i32.add
(get_local $31)
(i32.const 588)
@@ -3103,7 +2978,7 @@
)
(set_local $81
(i32.add
- (set_local $80
+ (tee_local $80
(i32.add
(get_local $31)
(i32.const 24)
@@ -3113,7 +2988,7 @@
)
)
(set_local $75
- (set_local $45
+ (tee_local $45
(i32.add
(get_local $29)
(i32.const 9)
@@ -3138,477 +3013,482 @@
(set_local $8
(i32.const 0)
)
- (loop $label$break$L1 $label$continue$L1
- (set_local $22
- (if
- (i32.gt_s
- (get_local $22)
- (i32.const -1)
- )
+ (loop $label$continue$L1
+ (block $label$break$L1
+ (set_local $22
(if
(i32.gt_s
- (get_local $1)
- (i32.sub
- (i32.const 2147483647)
- (get_local $22)
- )
- )
- (block
- (i32.store
- (call $___errno_location)
- (i32.const 75)
- )
- (i32.const -1)
- )
- (i32.add
- (get_local $1)
(get_local $22)
+ (i32.const -1)
)
- )
- (get_local $22)
- )
- )
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (set_local $1
- (i32.load8_s
- (get_local $20)
+ (if
+ (i32.gt_s
+ (get_local $1)
+ (i32.sub
+ (i32.const 2147483647)
+ (get_local $22)
)
)
- (i32.const 24)
+ (block
+ (i32.store
+ (call $___errno_location)
+ (i32.const 75)
+ )
+ (i32.const -1)
+ )
+ (i32.add
+ (get_local $1)
+ (get_local $22)
+ )
)
- (i32.const 24)
- )
- (i32.const 0)
- )
- (block
- (set_local $82
(get_local $22)
)
- (set_local $83
- (get_local $8)
- )
- (set_local $12
- (i32.const 242)
- )
- (br $label$break$L1)
- )
- (set_local $5
- (get_local $20)
)
- )
- (loop $label$break$L9 $label$continue$L9
- (block $switch-default$5
- (block $switch-case$4
- (block $switch-case$3
- (br_table $switch-case$4 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-case$3 $switch-default$5
- (i32.sub
- (i32.shr_s
- (i32.shl
- (get_local $1)
- (i32.const 24)
- )
- (i32.const 24)
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (tee_local $1
+ (i32.load8_s
+ (get_local $20)
)
- (i32.const 0)
)
+ (i32.const 24)
)
+ (i32.const 24)
)
- (set_local $54
- (get_local $5)
+ (i32.const 0)
+ )
+ (block
+ (set_local $82
+ (get_local $22)
)
- (set_local $65
- (get_local $5)
+ (set_local $83
+ (get_local $8)
)
(set_local $12
- (i32.const 9)
+ (i32.const 242)
)
- (br $label$break$L9)
- )
- (set_local $41
- (get_local $5)
- )
- (set_local $55
- (get_local $5)
+ (br $label$break$L1)
)
- (br $label$break$L9)
- )
- (set_local $1
- (i32.load8_s
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 1)
- )
- )
+ (set_local $5
+ (get_local $20)
)
)
- (br $label$continue$L9)
- )
- (block $label$break$L12
- (if
- (i32.eq
- (get_local $12)
- (i32.const 9)
- )
- (loop $while-out$7 $while-in$8
- (set_local $12
- (i32.const 0)
- )
- (if
- (i32.ne
- (i32.shr_s
- (i32.shl
- (i32.load8_s offset=1
- (get_local $54)
+ (loop $label$continue$L9
+ (block $label$break$L9
+ (block $switch-default$5
+ (block $switch-case$4
+ (block $switch-case$3
+ (br_table $switch-case$4 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-case$3 $switch-default$5
+ (i32.sub
+ (i32.shr_s
+ (i32.shl
+ (get_local $1)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ (i32.const 0)
)
- (i32.const 24)
)
- (i32.const 24)
)
- (i32.const 37)
- )
- (block
- (set_local $41
- (get_local $54)
+ (set_local $54
+ (get_local $5)
)
- (set_local $55
- (get_local $65)
+ (set_local $65
+ (get_local $5)
)
- (br $label$break$L12)
+ (set_local $12
+ (i32.const 9)
+ )
+ (br $label$break$L9)
+ )
+ (set_local $41
+ (get_local $5)
)
+ (set_local $55
+ (get_local $5)
+ )
+ (br $label$break$L9)
)
- (set_local $5
- (i32.add
- (get_local $65)
- (i32.const 1)
+ (set_local $1
+ (i32.load8_s
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 1)
+ )
+ )
)
)
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (set_local $1
- (i32.add
+ (br $label$continue$L9)
+ )
+ )
+ (block $label$break$L12
+ (if
+ (i32.eq
+ (get_local $12)
+ (i32.const 9)
+ )
+ (loop $while-in$8
+ (block $while-out$7
+ (set_local $12
+ (i32.const 0)
+ )
+ (if
+ (i32.ne
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s offset=1
(get_local $54)
- (i32.const 2)
)
+ (i32.const 24)
)
+ (i32.const 24)
)
- (i32.const 24)
+ (i32.const 37)
+ )
+ (block
+ (set_local $41
+ (get_local $54)
+ )
+ (set_local $55
+ (get_local $65)
+ )
+ (br $label$break$L12)
)
- (i32.const 24)
- )
- (i32.const 37)
- )
- (block
- (set_local $54
- (get_local $1)
- )
- (set_local $65
- (get_local $5)
)
- )
- (block
- (set_local $41
- (get_local $1)
+ (set_local $5
+ (i32.add
+ (get_local $65)
+ (i32.const 1)
+ )
)
- (set_local $55
- (get_local $5)
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (tee_local $1
+ (i32.add
+ (get_local $54)
+ (i32.const 2)
+ )
+ )
+ )
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ (i32.const 37)
+ )
+ (block
+ (set_local $54
+ (get_local $1)
+ )
+ (set_local $65
+ (get_local $5)
+ )
+ )
+ (block
+ (set_local $41
+ (get_local $1)
+ )
+ (set_local $55
+ (get_local $5)
+ )
+ (br $while-out$7)
+ )
)
- (br $while-out$7)
+ (br $while-in$8)
)
)
- (br $while-in$8)
)
)
- )
- (set_local $17
- (i32.sub
- (get_local $55)
- (get_local $20)
+ (set_local $17
+ (i32.sub
+ (get_local $55)
+ (get_local $20)
+ )
)
- )
- (if
- (get_local $44)
(if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
+ (get_local $44)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $20)
+ (get_local $17)
+ (get_local $0)
)
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $20)
- (get_local $17)
- (get_local $0)
)
)
- )
- (if
- (i32.ne
- (get_local $55)
- (get_local $20)
- )
- (block
- (set_local $20
- (get_local $41)
+ (if
+ (i32.ne
+ (get_local $55)
+ (get_local $20)
)
- (set_local $1
- (get_local $17)
+ (block
+ (set_local $20
+ (get_local $41)
+ )
+ (set_local $1
+ (get_local $17)
+ )
+ (br $label$continue$L1)
)
- (br $label$continue$L1)
)
- )
- (set_local $7
- (if
- (i32.lt_u
- (set_local $6
- (i32.add
- (i32.shr_s
- (i32.shl
- (set_local $1
- (i32.load8_s
- (set_local $5
- (i32.add
- (get_local $41)
- (i32.const 1)
+ (set_local $7
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (tee_local $1
+ (i32.load8_s
+ (tee_local $5
+ (i32.add
+ (get_local $41)
+ (i32.const 1)
+ )
)
)
)
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
+ (i32.const -48)
)
- (i32.const -48)
)
+ (i32.const 10)
)
- (i32.const 10)
- )
- (block
- (set_local $1
- (i32.load8_s
- (set_local $5
- (select
- (i32.add
- (get_local $41)
- (i32.const 3)
- )
- (get_local $5)
- (set_local $7
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s offset=2
- (get_local $41)
+ (block
+ (set_local $1
+ (i32.load8_s
+ (tee_local $5
+ (select
+ (i32.add
+ (get_local $41)
+ (i32.const 3)
+ )
+ (get_local $5)
+ (tee_local $7
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s offset=2
+ (get_local $41)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 36)
)
- (i32.const 36)
)
)
)
)
)
- )
- (set_local $11
+ (set_local $11
+ (select
+ (i32.const 1)
+ (get_local $8)
+ (get_local $7)
+ )
+ )
+ (set_local $9
+ (get_local $5)
+ )
(select
- (i32.const 1)
- (get_local $8)
+ (get_local $6)
+ (i32.const -1)
(get_local $7)
)
)
- (set_local $9
- (get_local $5)
- )
- (select
- (get_local $6)
+ (block
+ (set_local $11
+ (get_local $8)
+ )
+ (set_local $9
+ (get_local $5)
+ )
(i32.const -1)
- (get_local $7)
)
)
- (block
- (set_local $11
- (get_local $8)
- )
- (set_local $9
- (get_local $5)
- )
- (i32.const -1)
- )
)
- )
- (block $label$break$L25
- (if
- (i32.eq
- (i32.and
- (set_local $5
- (i32.shr_s
- (i32.shl
- (get_local $1)
+ (block $label$break$L25
+ (if
+ (i32.eq
+ (i32.and
+ (tee_local $5
+ (i32.shr_s
+ (i32.shl
+ (get_local $1)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
+ (i32.const -32)
)
- (i32.const -32)
- )
- (i32.const 32)
- )
- (block
- (set_local $8
- (i32.const 0)
+ (i32.const 32)
)
- (loop $while-out$10 $while-in$11
- (if
- (i32.eq
- (i32.and
- (i32.shl
- (i32.const 1)
- (i32.add
- (get_local $5)
- (i32.const -32)
+ (block
+ (set_local $8
+ (i32.const 0)
+ )
+ (loop $while-in$11
+ (block $while-out$10
+ (br_if $label$break$L25
+ (i32.eq
+ (i32.and
+ (i32.shl
+ (i32.const 1)
+ (i32.add
+ (get_local $5)
+ (i32.const -32)
+ )
+ )
+ (i32.const 75913)
)
+ (i32.const 0)
)
- (i32.const 75913)
)
- (i32.const 0)
- )
- (br $label$break$L25)
- )
- (set_local $8
- (i32.or
- (i32.shl
- (i32.const 1)
- (i32.add
- (i32.shr_s
- (i32.shl
- (get_local $1)
- (i32.const 24)
+ (set_local $8
+ (i32.or
+ (i32.shl
+ (i32.const 1)
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (get_local $1)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ (i32.const -32)
)
- (i32.const 24)
)
- (i32.const -32)
+ (get_local $8)
)
)
- (get_local $8)
- )
- )
- (if
- (i32.eq
- (i32.and
- (set_local $5
- (i32.shr_s
- (i32.shl
- (set_local $1
- (i32.load8_s
- (set_local $6
- (i32.add
- (get_local $9)
- (i32.const 1)
+ (if
+ (i32.eq
+ (i32.and
+ (tee_local $5
+ (i32.shr_s
+ (i32.shl
+ (tee_local $1
+ (i32.load8_s
+ (tee_local $6
+ (i32.add
+ (get_local $9)
+ (i32.const 1)
+ )
+ )
)
)
+ (i32.const 24)
)
+ (i32.const 24)
)
- (i32.const 24)
)
- (i32.const 24)
+ (i32.const -32)
)
+ (i32.const 32)
+ )
+ (set_local $9
+ (get_local $6)
+ )
+ (block
+ (set_local $9
+ (get_local $6)
+ )
+ (br $while-out$10)
)
- (i32.const -32)
- )
- (i32.const 32)
- )
- (set_local $9
- (get_local $6)
- )
- (block
- (set_local $9
- (get_local $6)
)
- (br $while-out$10)
+ (br $while-in$11)
)
)
- (br $while-in$11)
)
- )
- (set_local $8
- (i32.const 0)
+ (set_local $8
+ (i32.const 0)
+ )
)
)
- )
- (block $do-once$12
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $1)
+ (block $do-once$12
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $1)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 42)
)
- (i32.const 42)
- )
- (block
- (if
- (i32.lt_u
- (set_local $1
- (i32.add
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (set_local $6
- (i32.add
- (get_local $9)
- (i32.const 1)
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $1
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (tee_local $6
+ (i32.add
+ (get_local $9)
+ (i32.const 1)
+ )
)
)
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
+ (i32.const -48)
)
- (i32.const -48)
)
+ (i32.const 10)
)
- (i32.const 10)
- )
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s offset=2
- (get_local $9)
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s offset=2
+ (get_local $9)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 36)
)
- (i32.const 36)
- )
- (block
- (i32.store
- (i32.add
- (get_local $4)
- (i32.shl
- (get_local $1)
- (i32.const 2)
+ (block
+ (i32.store
+ (i32.add
+ (get_local $4)
+ (i32.shl
+ (get_local $1)
+ (i32.const 2)
+ )
)
+ (i32.const 10)
)
- (i32.const 10)
- )
- (set_local $5
- (i32.load
- (set_local $1
+ (set_local $1
+ (i32.load
(i32.add
(get_local $3)
(i32.shl
@@ -3629,330 +3509,277 @@
)
)
)
- )
- (i32.load offset=4
- (get_local $1)
- )
- (set_local $66
- (i32.const 1)
- )
- (set_local $67
- (i32.add
- (get_local $9)
- (i32.const 3)
+ (set_local $66
+ (i32.const 1)
+ )
+ (set_local $67
+ (i32.add
+ (get_local $9)
+ (i32.const 3)
+ )
+ )
+ (set_local $56
+ (get_local $1)
)
)
- (set_local $56
- (get_local $5)
+ (set_local $12
+ (i32.const 24)
)
)
(set_local $12
(i32.const 24)
)
)
- (set_local $12
- (i32.const 24)
- )
- )
- (if
- (i32.eq
- (get_local $12)
- (i32.const 24)
- )
- (block
- (set_local $12
- (i32.const 0)
+ (if
+ (i32.eq
+ (get_local $12)
+ (i32.const 24)
)
- (if
- (i32.ne
- (get_local $11)
+ (block
+ (set_local $12
(i32.const 0)
)
- (block
- (set_local $24
- (i32.const -1)
+ (if
+ (i32.ne
+ (get_local $11)
+ (i32.const 0)
)
- (br $label$break$L1)
- )
- )
- (if
- (i32.eqz
- (get_local $44)
- )
- (block
- (set_local $9
- (get_local $6)
+ (block
+ (set_local $24
+ (i32.const -1)
+ )
+ (br $label$break$L1)
)
- (set_local $21
- (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (get_local $44)
)
- (set_local $16
- (i32.const 0)
+ (block
+ (set_local $9
+ (get_local $6)
+ )
+ (set_local $21
+ (i32.const 0)
+ )
+ (set_local $16
+ (i32.const 0)
+ )
+ (br $do-once$12)
)
- (br $do-once$12)
)
- )
- (set_local $5
- (i32.load
- (set_local $1
- (i32.and
- (i32.add
- (i32.load
- (get_local $2)
+ (set_local $5
+ (i32.load
+ (tee_local $1
+ (i32.and
+ (i32.add
+ (i32.load
+ (get_local $2)
+ )
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const -4)
)
- (i32.const -4)
)
)
)
- )
- (i32.store
- (get_local $2)
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (i32.store
+ (get_local $2)
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
+ )
+ (set_local $66
+ (i32.const 0)
+ )
+ (set_local $67
+ (get_local $6)
+ )
+ (set_local $56
+ (get_local $5)
)
- )
- (set_local $66
- (i32.const 0)
- )
- (set_local $67
- (get_local $6)
- )
- (set_local $56
- (get_local $5)
)
)
- )
- (set_local $8
- (if
- (i32.lt_s
- (get_local $56)
- (i32.const 0)
- )
- (block
- (set_local $9
- (get_local $67)
+ (set_local $8
+ (if
+ (i32.lt_s
+ (get_local $56)
+ (i32.const 0)
)
- (set_local $21
- (get_local $66)
+ (block
+ (set_local $9
+ (get_local $67)
+ )
+ (set_local $21
+ (get_local $66)
+ )
+ (set_local $16
+ (i32.sub
+ (i32.const 0)
+ (get_local $56)
+ )
+ )
+ (i32.or
+ (get_local $8)
+ (i32.const 8192)
+ )
)
- (set_local $16
- (i32.sub
- (i32.const 0)
+ (block
+ (set_local $9
+ (get_local $67)
+ )
+ (set_local $21
+ (get_local $66)
+ )
+ (set_local $16
(get_local $56)
)
- )
- (i32.or
(get_local $8)
- (i32.const 8192)
- )
- )
- (block
- (set_local $9
- (get_local $67)
- )
- (set_local $21
- (get_local $66)
)
- (set_local $16
- (get_local $56)
- )
- (get_local $8)
)
)
)
- )
- (if
- (i32.lt_u
- (set_local $6
- (i32.add
- (i32.shr_s
- (i32.shl
- (get_local $1)
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (get_local $1)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const -48)
)
- (i32.const -48)
)
+ (i32.const 10)
)
- (i32.const 10)
- )
- (block
- (set_local $1
- (get_local $9)
- )
- (set_local $5
- (i32.const 0)
- )
- (loop $while-out$14 $while-in$15
+ (block
+ (set_local $1
+ (get_local $9)
+ )
(set_local $5
- (i32.add
- (i32.mul
- (get_local $5)
- (i32.const 10)
- )
- (get_local $6)
- )
+ (i32.const 0)
)
- (if
- (i32.ge_u
- (set_local $6
+ (loop $while-in$15
+ (block $while-out$14
+ (set_local $5
(i32.add
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (i32.mul
+ (get_local $5)
+ (i32.const 10)
+ )
+ (get_local $6)
+ )
+ )
+ (br_if $while-out$14
+ (i32.ge_u
+ (tee_local $6
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
)
+ (i32.const 24)
)
+ (i32.const 24)
)
- (i32.const 24)
+ (i32.const -48)
)
- (i32.const 24)
)
- (i32.const -48)
+ (i32.const 10)
)
)
- (i32.const 10)
+ (br $while-in$15)
)
- (br $while-out$14)
)
- (br $while-in$15)
- )
- (if
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- (block
- (set_local $24
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- (block
- (set_local $9
- (get_local $1)
+ (if
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
)
- (set_local $21
- (get_local $11)
+ (block
+ (set_local $24
+ (i32.const -1)
+ )
+ (br $label$break$L1)
)
- (set_local $16
- (get_local $5)
+ (block
+ (set_local $9
+ (get_local $1)
+ )
+ (set_local $21
+ (get_local $11)
+ )
+ (set_local $16
+ (get_local $5)
+ )
)
)
)
- )
- (block
- (set_local $21
- (get_local $11)
- )
- (set_local $16
- (i32.const 0)
+ (block
+ (set_local $21
+ (get_local $11)
+ )
+ (set_local $16
+ (i32.const 0)
+ )
)
)
)
)
- )
- (set_local $11
- (block $label$break$L46
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $9)
+ (set_local $11
+ (block $label$break$L46
+ (if
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $9)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 46)
)
- (i32.const 46)
- )
- (block
- (if
- (i32.ne
- (i32.shr_s
- (i32.shl
- (set_local $1
- (i32.load8_s
- (set_local $5
- (i32.add
- (get_local $9)
- (i32.const 1)
+ (block
+ (if
+ (i32.ne
+ (i32.shr_s
+ (i32.shl
+ (tee_local $1
+ (i32.load8_s
+ (tee_local $5
+ (i32.add
+ (get_local $9)
+ (i32.const 1)
+ )
)
)
)
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
- )
- (i32.const 42)
- )
- (block
- (if
- (i32.lt_u
- (set_local $6
- (i32.add
- (i32.shr_s
- (i32.shl
- (get_local $1)
- (i32.const 24)
- )
- (i32.const 24)
- )
- (i32.const -48)
- )
- )
- (i32.const 10)
- )
- (block
- (set_local $1
- (get_local $5)
- )
- (set_local $5
- (i32.const 0)
- )
- )
- (block
- (set_local $10
- (i32.const 0)
- )
- (br $label$break$L46
- (get_local $5)
- )
- )
+ (i32.const 42)
)
- (loop $while-in$18
- (set_local $5
- (i32.add
- (i32.mul
- (get_local $5)
- (i32.const 10)
- )
- (get_local $6)
- )
- )
+ (block
(if
- (i32.ge_u
- (set_local $6
+ (i32.lt_u
+ (tee_local $6
(i32.add
(i32.shr_s
(i32.shl
- (i32.load8_s
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
- )
- )
- )
+ (get_local $1)
(i32.const 24)
)
(i32.const 24)
@@ -3963,68 +3790,117 @@
(i32.const 10)
)
(block
- (set_local $10
+ (set_local $1
(get_local $5)
)
+ (set_local $5
+ (i32.const 0)
+ )
+ )
+ (block
+ (set_local $10
+ (i32.const 0)
+ )
(br $label$break$L46
- (get_local $1)
+ (get_local $5)
)
)
)
- (br $while-in$18)
- )
- )
- )
- (if
- (i32.lt_u
- (set_local $1
- (i32.add
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (set_local $6
- (i32.add
- (get_local $9)
- (i32.const 2)
+ (loop $while-in$18
+ (set_local $5
+ (i32.add
+ (i32.mul
+ (get_local $5)
+ (i32.const 10)
+ )
+ (get_local $6)
+ )
+ )
+ (if
+ (i32.ge_u
+ (tee_local $6
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
+ )
+ (i32.const 24)
+ )
+ (i32.const 24)
)
+ (i32.const -48)
)
)
- (i32.const 24)
+ (i32.const 10)
+ )
+ (block
+ (set_local $10
+ (get_local $5)
+ )
+ (br $label$break$L46
+ (get_local $1)
+ )
)
- (i32.const 24)
)
- (i32.const -48)
+ (br $while-in$18)
)
)
- (i32.const 10)
)
(if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s offset=3
- (get_local $9)
+ (i32.lt_u
+ (tee_local $1
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (tee_local $6
+ (i32.add
+ (get_local $9)
+ (i32.const 2)
+ )
+ )
+ )
+ (i32.const 24)
+ )
+ (i32.const 24)
)
- (i32.const 24)
+ (i32.const -48)
)
- (i32.const 24)
)
- (i32.const 36)
+ (i32.const 10)
)
- (block
- (i32.store
- (i32.add
- (get_local $4)
+ (if
+ (i32.eq
+ (i32.shr_s
(i32.shl
- (get_local $1)
- (i32.const 2)
+ (i32.load8_s offset=3
+ (get_local $9)
+ )
+ (i32.const 24)
)
+ (i32.const 24)
)
- (i32.const 10)
+ (i32.const 36)
)
- (set_local $5
- (i32.load
- (set_local $1
+ (block
+ (i32.store
+ (i32.add
+ (get_local $4)
+ (i32.shl
+ (get_local $1)
+ (i32.const 2)
+ )
+ )
+ (i32.const 10)
+ )
+ (set_local $1
+ (i32.load
(i32.add
(get_local $3)
(i32.shl
@@ -4045,184 +3921,157 @@
)
)
)
- )
- (i32.load offset=4
- (get_local $1)
- )
- (set_local $10
- (get_local $5)
- )
- (br $label$break$L46
- (i32.add
- (get_local $9)
- (i32.const 4)
+ (set_local $10
+ (get_local $1)
+ )
+ (br $label$break$L46
+ (i32.add
+ (get_local $9)
+ (i32.const 4)
+ )
)
)
)
)
- )
- (if
- (i32.ne
- (get_local $21)
- (i32.const 0)
- )
- (block
- (set_local $24
- (i32.const -1)
+ (if
+ (i32.ne
+ (get_local $21)
+ (i32.const 0)
+ )
+ (block
+ (set_local $24
+ (i32.const -1)
+ )
+ (br $label$break$L1)
)
- (br $label$break$L1)
)
- )
- (if
- (get_local $44)
- (block
- (set_local $5
- (i32.load
- (set_local $1
- (i32.and
- (i32.add
- (i32.load
- (get_local $2)
+ (if
+ (get_local $44)
+ (block
+ (set_local $5
+ (i32.load
+ (tee_local $1
+ (i32.and
+ (i32.add
+ (i32.load
+ (get_local $2)
+ )
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const -4)
)
- (i32.const -4)
)
)
)
- )
- (i32.store
- (get_local $2)
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (i32.store
+ (get_local $2)
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
)
+ (set_local $10
+ (get_local $5)
+ )
+ (get_local $6)
)
- (set_local $10
- (get_local $5)
- )
- (get_local $6)
- )
- (block
- (set_local $10
- (i32.const 0)
+ (block
+ (set_local $10
+ (i32.const 0)
+ )
+ (get_local $6)
)
- (get_local $6)
)
)
- )
- (block
- (set_local $10
- (i32.const -1)
+ (block
+ (set_local $10
+ (i32.const -1)
+ )
+ (get_local $9)
)
- (get_local $9)
)
)
)
- )
- (set_local $13
- (i32.const 0)
- )
- (loop $while-out$19 $while-in$20
- (if
- (i32.gt_u
- (set_local $1
- (i32.add
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $11)
+ (set_local $13
+ (i32.const 0)
+ )
+ (loop $while-in$20
+ (block $while-out$19
+ (if
+ (i32.gt_u
+ (tee_local $1
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $11)
+ )
+ (i32.const 24)
+ )
+ (i32.const 24)
)
- (i32.const 24)
+ (i32.const -65)
)
- (i32.const 24)
)
- (i32.const -65)
+ (i32.const 57)
+ )
+ (block
+ (set_local $24
+ (i32.const -1)
+ )
+ (br $label$break$L1)
)
)
- (i32.const 57)
- )
- (block
- (set_local $24
- (i32.const -1)
+ (set_local $9
+ (i32.add
+ (get_local $11)
+ (i32.const 1)
+ )
)
- (br $label$break$L1)
- )
- )
- (set_local $9
- (i32.add
- (get_local $11)
- (i32.const 1)
- )
- )
- (if
- (i32.lt_u
- (i32.add
- (set_local $5
- (i32.and
- (set_local $1
- (i32.load8_s
- (i32.add
- (i32.add
- (i32.const 3611)
- (i32.mul
- (get_local $13)
- (i32.const 58)
+ (if
+ (i32.lt_u
+ (i32.add
+ (tee_local $5
+ (i32.and
+ (tee_local $1
+ (i32.load8_s
+ (i32.add
+ (i32.add
+ (i32.const 3611)
+ (i32.mul
+ (get_local $13)
+ (i32.const 58)
+ )
+ )
+ (get_local $1)
)
)
- (get_local $1)
)
+ (i32.const 255)
)
)
- (i32.const 255)
+ (i32.const -1)
)
+ (i32.const 8)
+ )
+ (block
+ (set_local $11
+ (get_local $9)
+ )
+ (set_local $13
+ (get_local $5)
+ )
+ )
+ (block
+ (set_local $6
+ (get_local $5)
+ )
+ (br $while-out$19)
)
- (i32.const -1)
- )
- (i32.const 8)
- )
- (block
- (set_local $11
- (get_local $9)
- )
- (set_local $13
- (get_local $5)
- )
- )
- (block
- (set_local $6
- (get_local $5)
- )
- (br $while-out$19)
- )
- )
- (br $while-in$20)
- )
- (if
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $1)
- (i32.const 24)
)
- (i32.const 24)
- )
- (i32.const 0)
- )
- (block
- (set_local $24
- (i32.const -1)
+ (br $while-in$20)
)
- (br $label$break$L1)
)
- )
- (set_local $5
- (i32.gt_s
- (get_local $7)
- (i32.const -1)
- )
- )
- (block $do-once$21
(if
(i32.eq
(i32.shr_s
@@ -4232,202 +4081,244 @@
)
(i32.const 24)
)
- (i32.const 19)
+ (i32.const 0)
)
+ (block
+ (set_local $24
+ (i32.const -1)
+ )
+ (br $label$break$L1)
+ )
+ )
+ (set_local $5
+ (i32.gt_s
+ (get_local $7)
+ (i32.const -1)
+ )
+ )
+ (block $do-once$21
(if
- (get_local $5)
- (block
- (set_local $24
- (i32.const -1)
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $1)
+ (i32.const 24)
+ )
+ (i32.const 24)
)
- (br $label$break$L1)
+ (i32.const 19)
)
- (set_local $12
- (i32.const 52)
- )
- )
- (block
(if
(get_local $5)
(block
- (i32.store
- (i32.add
- (get_local $4)
- (i32.shl
- (get_local $7)
- (i32.const 2)
+ (set_local $24
+ (i32.const -1)
+ )
+ (br $label$break$L1)
+ )
+ (set_local $12
+ (i32.const 52)
+ )
+ )
+ (block
+ (if
+ (get_local $5)
+ (block
+ (i32.store
+ (i32.add
+ (get_local $4)
+ (i32.shl
+ (get_local $7)
+ (i32.const 2)
+ )
)
+ (get_local $6)
)
- (get_local $6)
- )
- (set_local $5
- (i32.load
- (set_local $1
- (i32.add
- (get_local $3)
- (i32.shl
- (get_local $7)
- (i32.const 3)
+ (set_local $5
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $3)
+ (i32.shl
+ (get_local $7)
+ (i32.const 3)
+ )
)
)
)
)
- )
- (set_local $1
- (i32.load offset=4
+ (set_local $1
+ (i32.load offset=4
+ (get_local $1)
+ )
+ )
+ (i32.store
+ (tee_local $7
+ (get_local $19)
+ )
+ (get_local $5)
+ )
+ (i32.store offset=4
+ (get_local $7)
(get_local $1)
)
- )
- (i32.store
- (set_local $7
- (get_local $19)
+ (set_local $12
+ (i32.const 52)
)
- (get_local $5)
+ (br $do-once$21)
)
- (i32.store offset=4
- (get_local $7)
- (get_local $1)
+ )
+ (if
+ (i32.eqz
+ (get_local $44)
)
- (set_local $12
- (i32.const 52)
+ (block
+ (set_local $24
+ (i32.const 0)
+ )
+ (br $label$break$L1)
)
- (br $do-once$21)
+ )
+ (call $_pop_arg_336
+ (get_local $19)
+ (get_local $6)
+ (get_local $2)
)
)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $12)
+ (i32.const 52)
+ )
+ (block
+ (set_local $12
+ (i32.const 0)
+ )
(if
(i32.eqz
(get_local $44)
)
(block
- (set_local $24
- (i32.const 0)
+ (set_local $20
+ (get_local $9)
)
- (br $label$break$L1)
+ (set_local $1
+ (get_local $17)
+ )
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
)
)
- (call $_pop_arg_336
- (get_local $19)
- (get_local $6)
- (get_local $2)
- )
)
)
- )
- (if
- (i32.eq
- (get_local $12)
- (i32.const 52)
- )
- (block
- (set_local $12
- (i32.const 0)
- )
- (if
- (i32.eqz
- (get_local $44)
- )
- (block
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
+ (set_local $5
+ (i32.and
+ (i32.ne
+ (get_local $13)
+ (i32.const 0)
)
- )
- )
- )
- (set_local $5
- (i32.and
- (i32.ne
- (get_local $13)
- (i32.const 0)
- )
- (i32.eq
- (i32.and
- (set_local $1
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $11)
+ (i32.eq
+ (i32.and
+ (tee_local $1
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $11)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
)
+ (i32.const 15)
)
- (i32.const 15)
+ (i32.const 3)
)
- (i32.const 3)
)
)
- )
- (set_local $18
- (select
- (get_local $8)
- (set_local $7
- (i32.and
- (get_local $8)
- (i32.const -65537)
+ (set_local $18
+ (select
+ (get_local $8)
+ (tee_local $7
+ (i32.and
+ (get_local $8)
+ (i32.const -65537)
+ )
)
- )
- (i32.eq
- (i32.and
- (get_local $8)
- (i32.const 8192)
+ (i32.eq
+ (i32.and
+ (get_local $8)
+ (i32.const 8192)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
)
- )
- (block $switch$24
- (block $switch-default$127
- (block $switch-case$49
- (block $switch-case$48
- (block $switch-case$47
- (block $switch-case$46
- (block $switch-case$45
- (block $switch-case$44
- (block $switch-case$43
- (block $switch-case$41
- (block $switch-case$40
- (block $switch-case$36
- (block $switch-case$35
- (block $switch-case$34
- (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$49 $switch-default$127 $switch-case$44 $switch-case$41 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127
- (i32.sub
- (set_local $26
- (select
- (i32.and
+ (block $switch$24
+ (block $switch-default$127
+ (block $switch-case$49
+ (block $switch-case$48
+ (block $switch-case$47
+ (block $switch-case$46
+ (block $switch-case$45
+ (block $switch-case$44
+ (block $switch-case$43
+ (block $switch-case$41
+ (block $switch-case$40
+ (block $switch-case$36
+ (block $switch-case$35
+ (block $switch-case$34
+ (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$49 $switch-default$127 $switch-case$44 $switch-case$41 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127
+ (i32.sub
+ (tee_local $26
+ (select
+ (i32.and
+ (get_local $1)
+ (i32.const -33)
+ )
(get_local $1)
- (i32.const -33)
+ (get_local $5)
)
- (get_local $1)
- (get_local $5)
)
+ (i32.const 65)
)
- (i32.const 65)
)
)
- )
- (block $switch-default$33
- (block $switch-case$32
- (block $switch-case$31
- (block $switch-case$30
- (block $switch-case$29
- (block $switch-case$28
- (block $switch-case$27
- (block $switch-case$26
- (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33
- (i32.sub
- (get_local $13)
- (i32.const 0)
+ (block $switch-default$33
+ (block $switch-case$32
+ (block $switch-case$31
+ (block $switch-case$30
+ (block $switch-case$29
+ (block $switch-case$28
+ (block $switch-case$27
+ (block $switch-case$26
+ (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33
+ (i32.sub
+ (get_local $13)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.store
+ (i32.load
+ (get_local $19)
)
+ (get_local $22)
+ )
+ (set_local $20
+ (get_local $9)
+ )
+ (set_local $1
+ (get_local $17)
)
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
)
(i32.store
(i32.load
@@ -4447,11 +4338,26 @@
(br $label$continue$L1)
)
(i32.store
- (i32.load
- (get_local $19)
+ (tee_local $1
+ (i32.load
+ (get_local $19)
+ )
)
(get_local $22)
)
+ (i32.store offset=4
+ (get_local $1)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $22)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
(set_local $20
(get_local $9)
)
@@ -4463,25 +4369,13 @@
)
(br $label$continue$L1)
)
- (i32.store
- (set_local $1
- (i32.load
- (get_local $19)
- )
+ (i32.store16
+ (i32.load
+ (get_local $19)
)
- (get_local $22)
- )
- (i32.store offset=4
- (get_local $1)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $22)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
+ (i32.and
+ (get_local $22)
+ (i32.const 65535)
)
)
(set_local $20
@@ -4495,13 +4389,13 @@
)
(br $label$continue$L1)
)
- (i32.store16
+ (i32.store8
(i32.load
(get_local $19)
)
(i32.and
(get_local $22)
- (i32.const 65535)
+ (i32.const 255)
)
)
(set_local $20
@@ -4515,14 +4409,11 @@
)
(br $label$continue$L1)
)
- (i32.store8
+ (i32.store
(i32.load
(get_local $19)
)
- (i32.and
- (get_local $22)
- (i32.const 255)
- )
+ (get_local $22)
)
(set_local $20
(get_local $9)
@@ -4536,11 +4427,26 @@
(br $label$continue$L1)
)
(i32.store
- (i32.load
- (get_local $19)
+ (tee_local $1
+ (i32.load
+ (get_local $19)
+ )
)
(get_local $22)
)
+ (i32.store offset=4
+ (get_local $1)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $22)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
(set_local $20
(get_local $9)
)
@@ -4552,27 +4458,6 @@
)
(br $label$continue$L1)
)
- (i32.store
- (set_local $1
- (i32.load
- (get_local $19)
- )
- )
- (get_local $22)
- )
- (i32.store offset=4
- (get_local $1)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $22)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
(set_local $20
(get_local $9)
)
@@ -4584,377 +4469,380 @@
)
(br $label$continue$L1)
)
- (set_local $20
- (get_local $9)
+ (set_local $46
+ (i32.or
+ (get_local $18)
+ (i32.const 8)
+ )
)
- (set_local $1
- (get_local $17)
+ (set_local $57
+ (select
+ (get_local $10)
+ (i32.const 8)
+ (i32.gt_u
+ (get_local $10)
+ (i32.const 8)
+ )
+ )
)
- (set_local $8
- (get_local $21)
+ (set_local $68
+ (i32.const 120)
)
- (br $label$continue$L1)
+ (set_local $12
+ (i32.const 64)
+ )
+ (br $switch$24)
)
(set_local $46
- (i32.or
- (get_local $18)
- (i32.const 8)
- )
+ (get_local $18)
)
(set_local $57
- (select
- (get_local $10)
- (i32.const 8)
- (i32.gt_u
- (get_local $10)
- (i32.const 8)
- )
- )
+ (get_local $10)
)
(set_local $68
- (i32.const 120)
+ (get_local $26)
)
(set_local $12
(i32.const 64)
)
(br $switch$24)
)
- (set_local $46
- (get_local $18)
- )
- (set_local $57
- (get_local $10)
- )
- (set_local $68
- (get_local $26)
- )
- (set_local $12
- (i32.const 64)
- )
- (br $switch$24)
- )
- (if
- (i32.and
- (i32.eq
- (set_local $5
- (i32.load
- (set_local $1
- (get_local $19)
+ (if
+ (i32.and
+ (i32.eq
+ (tee_local $5
+ (i32.load
+ (tee_local $1
+ (get_local $19)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (i32.eq
- (set_local $1
- (i32.load offset=4
- (get_local $1)
+ (i32.eq
+ (tee_local $1
+ (i32.load offset=4
+ (get_local $1)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $6
- (get_local $28)
- )
- (block
(set_local $6
(get_local $28)
)
- (loop $while-out$38 $while-in$39
- (i32.store8
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
- )
- (i32.and
- (i32.or
- (i32.and
- (get_local $5)
- (i32.const 7)
- )
- (i32.const 48)
- )
- (i32.const 255)
- )
+ (block
+ (set_local $6
+ (get_local $28)
)
- (if
- (i32.and
- (i32.eq
- (set_local $5
- (call $_bitshift64Lshr
- (get_local $5)
- (get_local $1)
- (i32.const 3)
+ (loop $while-in$39
+ (block $while-out$38
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
)
)
- (i32.const 0)
+ (i32.and
+ (i32.or
+ (i32.and
+ (get_local $5)
+ (i32.const 7)
+ )
+ (i32.const 48)
+ )
+ (i32.const 255)
+ )
)
- (i32.eq
- (set_local $1
- (i32.load
- (i32.const 168)
+ (br_if $while-out$38
+ (i32.and
+ (i32.eq
+ (tee_local $5
+ (call $_bitshift64Lshr
+ (get_local $5)
+ (get_local $1)
+ (i32.const 3)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.eq
+ (tee_local $1
+ (get_global $tempRet0)
+ )
+ (i32.const 0)
)
)
- (i32.const 0)
)
+ (br $while-in$39)
)
- (br $while-out$38)
)
- (br $while-in$39)
)
)
- )
- (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
+ (set_local $58
+ (if
+ (i32.eq
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
+ )
(i32.const 0)
)
- (set_local $36
- (i32.const 4091)
- )
- (set_local $12
- (i32.const 77)
- )
- (get_local $6)
- )
- (block
- (set_local $5
- (i32.lt_s
+ (block
+ (set_local $34
+ (get_local $18)
+ )
+ (set_local $32
(get_local $10)
- (set_local $1
- (i32.add
- (i32.sub
- (get_local $71)
- (get_local $6)
+ )
+ (set_local $35
+ (i32.const 0)
+ )
+ (set_local $36
+ (i32.const 4091)
+ )
+ (set_local $12
+ (i32.const 77)
+ )
+ (get_local $6)
+ )
+ (block
+ (set_local $5
+ (i32.lt_s
+ (get_local $10)
+ (tee_local $1
+ (i32.add
+ (i32.sub
+ (get_local $71)
+ (get_local $6)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
)
)
- )
- (set_local $34
- (get_local $18)
- )
- (set_local $32
- (select
- (get_local $1)
- (get_local $10)
- (get_local $5)
+ (set_local $34
+ (get_local $18)
)
+ (set_local $32
+ (select
+ (get_local $1)
+ (get_local $10)
+ (get_local $5)
+ )
+ )
+ (set_local $35
+ (i32.const 0)
+ )
+ (set_local $36
+ (i32.const 4091)
+ )
+ (set_local $12
+ (i32.const 77)
+ )
+ (get_local $6)
)
- (set_local $35
- (i32.const 0)
- )
- (set_local $36
- (i32.const 4091)
- )
- (set_local $12
- (i32.const 77)
- )
- (get_local $6)
- )
- )
- )
- (br $switch$24)
- )
- (set_local $5
- (i32.load
- (set_local $1
- (get_local $19)
- )
- )
- )
- (if
- (i32.lt_s
- (set_local $33
- (i32.load offset=4
- (get_local $1)
)
)
- (i32.const 0)
+ (br $switch$24)
)
- (block
- (set_local $1
- (call $_i64Subtract
- (i32.const 0)
- (i32.const 0)
- (get_local $5)
- (get_local $33)
- )
- )
- (set_local $5
- (i32.load
- (i32.const 168)
- )
- )
- (i32.store
- (set_local $33
+ (set_local $5
+ (i32.load
+ (tee_local $1
(get_local $19)
)
- (get_local $1)
- )
- (i32.store offset=4
- (get_local $33)
- (get_local $5)
- )
- (set_local $33
- (get_local $1)
- )
- (set_local $59
- (get_local $5)
- )
- (set_local $60
- (i32.const 1)
- )
- (set_local $61
- (i32.const 4091)
)
- (set_local $12
- (i32.const 76)
- )
- (br $switch$24)
)
- )
- (set_local $33
(if
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 2048)
+ (i32.lt_s
+ (tee_local $33
+ (i32.load offset=4
+ (get_local $1)
+ )
)
(i32.const 0)
)
(block
(set_local $1
- (select
- (i32.const 4091)
- (i32.const 4093)
- (i32.eq
- (set_local $6
- (i32.and
- (get_local $18)
- (i32.const 1)
- )
- )
- (i32.const 0)
- )
+ (call $_i64Subtract
+ (i32.const 0)
+ (i32.const 0)
+ (get_local $5)
+ (get_local $33)
)
)
- (set_local $59
- (get_local $33)
- )
- (set_local $60
- (get_local $6)
+ (set_local $5
+ (get_global $tempRet0)
)
- (set_local $61
+ (i32.store
+ (tee_local $33
+ (get_local $19)
+ )
(get_local $1)
)
- (set_local $12
- (i32.const 76)
+ (i32.store offset=4
+ (get_local $33)
+ (get_local $5)
+ )
+ (set_local $33
+ (get_local $1)
)
- (get_local $5)
- )
- (block
(set_local $59
- (get_local $33)
+ (get_local $5)
)
(set_local $60
(i32.const 1)
)
(set_local $61
- (i32.const 4092)
+ (i32.const 4091)
)
(set_local $12
(i32.const 76)
)
- (get_local $5)
+ (br $switch$24)
+ )
+ )
+ (set_local $33
+ (if
+ (i32.eq
+ (i32.and
+ (get_local $18)
+ (i32.const 2048)
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $1
+ (select
+ (i32.const 4091)
+ (i32.const 4093)
+ (i32.eq
+ (tee_local $6
+ (i32.and
+ (get_local $18)
+ (i32.const 1)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (set_local $59
+ (get_local $33)
+ )
+ (set_local $60
+ (get_local $6)
+ )
+ (set_local $61
+ (get_local $1)
+ )
+ (set_local $12
+ (i32.const 76)
+ )
+ (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)
+ )
+ (set_local $33
+ (i32.load
+ (tee_local $1
+ (get_local $19)
)
)
)
+ (set_local $59
+ (i32.load offset=4
+ (get_local $1)
+ )
+ )
+ (set_local $60
+ (i32.const 0)
+ )
+ (set_local $61
+ (i32.const 4091)
+ )
+ (set_local $12
+ (i32.const 76)
+ )
(br $switch$24)
)
- (set_local $33
+ (set_local $1
(i32.load
- (set_local $1
- (get_local $19)
- )
+ (get_local $19)
)
)
- (set_local $59
- (i32.load offset=4
+ (i32.store8
+ (get_local $72)
+ (i32.and
(get_local $1)
+ (i32.const 255)
)
)
- (set_local $60
+ (set_local $47
+ (get_local $72)
+ )
+ (set_local $37
+ (get_local $7)
+ )
+ (set_local $42
+ (i32.const 1)
+ )
+ (set_local $43
(i32.const 0)
)
- (set_local $61
+ (set_local $48
(i32.const 4091)
)
- (set_local $12
- (i32.const 76)
+ (set_local $49
+ (get_local $28)
)
(br $switch$24)
)
- (set_local $5
- (i32.load
- (set_local $1
- (get_local $19)
+ (set_local $50
+ (call $_strerror
+ (i32.load
+ (call $___errno_location)
)
)
)
- (i32.load offset=4
- (get_local $1)
+ (set_local $12
+ (i32.const 82)
)
- (i32.store8
- (get_local $72)
- (i32.and
- (get_local $5)
- (i32.const 255)
+ (br $switch$24)
+ )
+ (set_local $5
+ (i32.ne
+ (tee_local $1
+ (i32.load
+ (get_local $19)
+ )
)
- )
- (set_local $47
- (get_local $72)
- )
- (set_local $37
- (get_local $7)
- )
- (set_local $42
- (i32.const 1)
- )
- (set_local $43
(i32.const 0)
)
- (set_local $48
- (i32.const 4091)
- )
- (set_local $49
- (get_local $28)
- )
- (br $switch$24)
)
(set_local $50
- (call $_strerror
- (i32.load
- (call $___errno_location)
- )
+ (select
+ (get_local $1)
+ (i32.const 4101)
+ (get_local $5)
)
)
(set_local $12
@@ -4962,1084 +4850,1074 @@
)
(br $switch$24)
)
- (set_local $5
- (i32.ne
- (set_local $1
- (i32.load
- (get_local $19)
- )
- )
- (i32.const 0)
+ (set_local $1
+ (i32.load
+ (get_local $19)
)
)
- (set_local $50
- (select
- (get_local $1)
- (i32.const 4101)
- (get_local $5)
- )
+ (i32.store
+ (get_local $73)
+ (get_local $1)
+ )
+ (i32.store
+ (get_local $76)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $19)
+ (get_local $73)
+ )
+ (set_local $69
+ (i32.const -1)
)
(set_local $12
- (i32.const 82)
+ (i32.const 86)
)
(br $switch$24)
)
- (set_local $5
- (i32.load
- (set_local $1
- (get_local $19)
- )
- )
- )
- (i32.load offset=4
- (get_local $1)
- )
- (i32.store
- (get_local $73)
- (get_local $5)
- )
- (i32.store
- (get_local $76)
- (i32.const 0)
- )
- (i32.store
- (get_local $19)
- (get_local $73)
- )
- (set_local $69
- (i32.const -1)
- )
(set_local $12
- (i32.const 86)
- )
- (br $switch$24)
- )
- (set_local $12
- (if
- (i32.eq
- (get_local $10)
- (i32.const 0)
- )
- (block
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
+ (if
+ (i32.eq
+ (get_local $10)
(i32.const 0)
- (get_local $18)
)
- (set_local $38
- (i32.const 0)
+ (block
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (i32.const 0)
+ (get_local $18)
+ )
+ (set_local $38
+ (i32.const 0)
+ )
+ (i32.const 98)
)
- (i32.const 98)
- )
- (block
- (set_local $69
- (get_local $10)
+ (block
+ (set_local $69
+ (get_local $10)
+ )
+ (i32.const 86)
)
- (i32.const 86)
)
)
+ (br $switch$24)
)
- (br $switch$24)
- )
- (set_local $15
- (f64.load
- (get_local $19)
+ (set_local $14
+ (f64.load
+ (get_local $19)
+ )
)
- )
- (i32.store
- (get_local $25)
- (i32.const 0)
- )
- (f64.store
- (i32.load
- (i32.const 24)
+ (i32.store
+ (get_local $25)
+ (i32.const 0)
)
- (get_local $15)
- )
- (i32.load
- (i32.load
- (i32.const 24)
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $14)
)
- )
- (set_local $51
- (if
- (i32.lt_s
- (i32.load offset=4
- (i32.load
- (i32.const 24)
- )
- )
- (i32.const 0)
- )
- (block
- (set_local $39
- (i32.const 4108)
- )
- (set_local $15
- (f64.neg
- (get_local $15)
- )
- )
- (i32.const 1)
- )
+ (set_local $51
(if
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 2048)
+ (i32.lt_s
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
)
(i32.const 0)
)
(block
(set_local $39
- (select
- (i32.const 4109)
- (i32.const 4114)
- (i32.eq
- (set_local $1
- (i32.and
- (get_local $18)
- (i32.const 1)
- )
- )
- (i32.const 0)
- )
- )
+ (i32.const 4108)
)
- (get_local $1)
- )
- (block
- (set_local $39
- (i32.const 4111)
+ (set_local $14
+ (f64.neg
+ (get_local $14)
+ )
)
(i32.const 1)
)
- )
- )
- )
- (f64.store
- (i32.load
- (i32.const 24)
- )
- (get_local $15)
- )
- (i32.load
- (i32.load
- (i32.const 24)
- )
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (block $do-once$56
- (if
- (i32.or
- (i32.lt_u
- (set_local $1
- (i32.and
- (i32.load offset=4
- (i32.load
- (i32.const 24)
+ (if
+ (i32.eq
+ (i32.and
+ (get_local $18)
+ (i32.const 2048)
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $39
+ (select
+ (i32.const 4109)
+ (i32.const 4114)
+ (i32.eq
+ (tee_local $1
+ (i32.and
+ (get_local $18)
+ (i32.const 1)
+ )
)
+ (i32.const 0)
)
- (i32.const 2146435072)
)
)
- (i32.const 2146435072)
+ (get_local $1)
)
- (i32.and
- (i32.eq
- (get_local $1)
- (i32.const 2146435072)
+ (block
+ (set_local $39
+ (i32.const 4111)
)
- (i32.const 0)
+ (i32.const 1)
)
)
- (block
- (if
- (set_local $5
- (f64.ne
- (set_local $15
- (f64.mul
- (call $_frexpl
- (get_local $15)
- (get_local $25)
- )
- (f64.const 2)
+ )
+ )
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $14)
+ )
+ (set_local $20
+ (get_local $9)
+ )
+ (set_local $1
+ (block $do-once$56
+ (if
+ (i32.or
+ (i32.lt_u
+ (tee_local $1
+ (i32.and
+ (i32.load offset=4
+ (get_global $tempDoublePtr)
)
+ (i32.const 2146435072)
)
- (f64.const 0)
)
+ (i32.const 2146435072)
)
- (i32.store
- (get_local $25)
- (i32.add
- (i32.load
- (get_local $25)
- )
- (i32.const -1)
+ (i32.and
+ (i32.eq
+ (get_local $1)
+ (i32.const 2146435072)
)
+ (i32.const 0)
)
)
- (if
- (i32.eq
- (set_local $14
- (i32.or
- (get_local $26)
- (i32.const 32)
- )
- )
- (i32.const 97)
- )
- (block
- (set_local $9
- (select
- (get_local $39)
- (i32.add
- (get_local $39)
- (i32.const 9)
- )
- (i32.eq
- (set_local $6
- (i32.and
- (get_local $26)
- (i32.const 32)
+ (block
+ (if
+ (tee_local $5
+ (f64.ne
+ (tee_local $14
+ (f64.mul
+ (call $_frexpl
+ (get_local $14)
+ (get_local $25)
)
+ (f64.const 2)
)
- (i32.const 0)
)
+ (f64.const 0)
)
)
- (set_local $7
- (i32.or
- (get_local $51)
- (i32.const 2)
+ (i32.store
+ (get_local $25)
+ (i32.add
+ (i32.load
+ (get_local $25)
+ )
+ (i32.const -1)
)
)
- (set_local $15
- (if
+ )
+ (if
+ (i32.eq
+ (tee_local $15
(i32.or
- (i32.gt_u
- (get_local $10)
- (i32.const 11)
+ (get_local $26)
+ (i32.const 32)
+ )
+ )
+ (i32.const 97)
+ )
+ (block
+ (set_local $9
+ (select
+ (get_local $39)
+ (i32.add
+ (get_local $39)
+ (i32.const 9)
)
(i32.eq
- (set_local $1
- (i32.sub
- (i32.const 12)
- (get_local $10)
+ (tee_local $6
+ (i32.and
+ (get_local $26)
+ (i32.const 32)
)
)
(i32.const 0)
)
)
- (get_local $15)
- (block
- (set_local $30
- (f64.const 8)
- )
- (loop $while-out$60 $while-in$61
- (set_local $30
- (f64.mul
- (get_local $30)
- (f64.const 16)
- )
+ )
+ (set_local $7
+ (i32.or
+ (get_local $51)
+ (i32.const 2)
+ )
+ )
+ (set_local $14
+ (if
+ (i32.or
+ (i32.gt_u
+ (get_local $10)
+ (i32.const 11)
)
- (if
- (i32.eq
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const -1)
- )
+ (i32.eq
+ (tee_local $1
+ (i32.sub
+ (i32.const 12)
+ (get_local $10)
)
- (i32.const 0)
)
- (br $while-out$60)
+ (i32.const 0)
)
- (br $while-in$61)
)
- (select
- (f64.neg
- (f64.add
- (get_local $30)
- (f64.sub
- (f64.neg
- (get_local $15)
+ (get_local $14)
+ (block
+ (set_local $30
+ (f64.const 8)
+ )
+ (loop $while-in$61
+ (block $while-out$60
+ (set_local $30
+ (f64.mul
+ (get_local $30)
+ (f64.const 16)
+ )
+ )
+ (br_if $while-out$60
+ (i32.eq
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const -1)
+ )
+ )
+ (i32.const 0)
)
- (get_local $30)
)
+ (br $while-in$61)
)
)
- (f64.sub
- (f64.add
- (get_local $15)
+ (select
+ (f64.neg
+ (f64.add
+ (get_local $30)
+ (f64.sub
+ (f64.neg
+ (get_local $14)
+ )
+ (get_local $30)
+ )
+ )
+ )
+ (f64.sub
+ (f64.add
+ (get_local $14)
+ (get_local $30)
+ )
(get_local $30)
)
- (get_local $30)
- )
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $9)
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $9)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 45)
)
- (i32.const 45)
)
)
)
)
- )
- (set_local $5
- (i32.lt_s
- (set_local $1
- (i32.load
- (get_local $25)
+ (set_local $5
+ (i32.lt_s
+ (tee_local $1
+ (i32.load
+ (get_local $25)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $5
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (set_local $8
- (select
- (i32.sub
- (i32.const 0)
+ (set_local $5
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (tee_local $8
+ (select
+ (i32.sub
+ (i32.const 0)
+ (get_local $1)
+ )
(get_local $1)
+ (get_local $5)
)
- (get_local $1)
- (get_local $5)
)
+ (i32.const 0)
)
- (i32.const 0)
+ (i32.const 31)
)
(i32.const 31)
)
- (i32.const 31)
)
- )
- (i32.store8
- (i32.add
- (set_local $5
- (if
- (i32.eq
- (set_local $5
- (call $_fmt_u
- (get_local $8)
- (get_local $5)
- (get_local $52)
+ (i32.store8
+ (i32.add
+ (tee_local $5
+ (if
+ (i32.eq
+ (tee_local $5
+ (call $_fmt_u
+ (get_local $8)
+ (get_local $5)
+ (get_local $52)
+ )
)
+ (get_local $52)
)
- (get_local $52)
- )
- (block
- (i32.store8
+ (block
+ (i32.store8
+ (get_local $74)
+ (i32.const 48)
+ )
(get_local $74)
- (i32.const 48)
)
- (get_local $74)
+ (get_local $5)
)
- (get_local $5)
)
+ (i32.const -1)
)
- (i32.const -1)
- )
- (i32.and
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $1)
- (i32.const 31)
+ (i32.and
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $1)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 43)
)
- (i32.const 43)
+ (i32.const 255)
)
- (i32.const 255)
)
- )
- (i32.store8
- (set_local $8
- (i32.add
- (get_local $5)
- (i32.const -2)
+ (i32.store8
+ (tee_local $8
+ (i32.add
+ (get_local $5)
+ (i32.const -2)
+ )
)
- )
- (i32.and
- (i32.add
- (get_local $26)
- (i32.const 15)
+ (i32.and
+ (i32.add
+ (get_local $26)
+ (i32.const 15)
+ )
+ (i32.const 255)
)
- (i32.const 255)
)
- )
- (set_local $5
- (i32.lt_s
- (get_local $10)
- (i32.const 1)
+ (set_local $5
+ (i32.lt_s
+ (get_local $10)
+ (i32.const 1)
+ )
)
- )
- (set_local $13
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 8)
+ (set_local $13
+ (i32.eq
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $11
- (get_local $29)
- )
- (loop $while-out$62 $while-in$63
- (i32.store8
- (get_local $11)
- (i32.and
- (i32.or
+ (set_local $11
+ (get_local $29)
+ )
+ (loop $while-in$63
+ (block $while-out$62
+ (i32.store8
+ (get_local $11)
(i32.and
- (i32.load8_s
- (i32.add
- (set_local $1
- (i32.trunc_s/f64
- (get_local $15)
+ (i32.or
+ (i32.and
+ (i32.load8_s
+ (i32.add
+ (tee_local $1
+ (i32.trunc_s/f64
+ (get_local $14)
+ )
+ )
+ (i32.const 4075)
)
)
- (i32.const 4075)
+ (i32.const 255)
)
+ (get_local $6)
)
(i32.const 255)
)
- (get_local $6)
)
- (i32.const 255)
- )
- )
- (set_local $15
- (f64.mul
- (f64.sub
- (get_local $15)
- (f64.convert_s/i32
- (get_local $1)
+ (set_local $14
+ (f64.mul
+ (f64.sub
+ (get_local $14)
+ (f64.convert_s/i32
+ (get_local $1)
+ )
+ )
+ (f64.const 16)
)
)
- (f64.const 16)
- )
- )
- (set_local $11
- (block $do-once$64
- (if
- (i32.eq
- (i32.sub
- (set_local $1
- (i32.add
- (get_local $11)
- (i32.const 1)
+ (set_local $11
+ (block $do-once$64
+ (if
+ (i32.eq
+ (i32.sub
+ (tee_local $1
+ (i32.add
+ (get_local $11)
+ (i32.const 1)
+ )
+ )
+ (get_local $64)
)
+ (i32.const 1)
)
- (get_local $64)
- )
- (i32.const 1)
- )
- (block
- (br_if $do-once$64
- (get_local $1)
- (i32.and
- (get_local $13)
- (i32.and
- (get_local $5)
- (f64.eq
- (get_local $15)
- (f64.const 0)
+ (block
+ (br_if $do-once$64
+ (get_local $1)
+ (i32.and
+ (get_local $13)
+ (i32.and
+ (get_local $5)
+ (f64.eq
+ (get_local $14)
+ (f64.const 0)
+ )
+ )
)
)
+ (i32.store8
+ (get_local $1)
+ (i32.const 46)
+ )
+ (i32.add
+ (get_local $11)
+ (i32.const 2)
+ )
)
- )
- (i32.store8
(get_local $1)
- (i32.const 46)
)
- (i32.add
+ )
+ )
+ (if
+ (f64.eq
+ (get_local $14)
+ (f64.const 0)
+ )
+ (block
+ (set_local $1
(get_local $11)
- (i32.const 2)
)
+ (br $while-out$62)
)
- (get_local $1)
)
+ (br $while-in$63)
)
)
- (if
- (f64.eq
- (get_local $15)
- (f64.const 0)
- )
- (block
- (set_local $1
- (get_local $11)
+ (set_local $5
+ (i32.and
+ (i32.ne
+ (get_local $10)
+ (i32.const 0)
)
- (br $while-out$62)
- )
- )
- (br $while-in$63)
- )
- (set_local $5
- (i32.and
- (i32.ne
- (get_local $10)
- (i32.const 0)
- )
- (i32.lt_s
- (i32.add
- (get_local $78)
- (get_local $1)
+ (i32.lt_s
+ (i32.add
+ (get_local $78)
+ (get_local $1)
+ )
+ (get_local $10)
)
- (get_local $10)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (set_local $5
- (i32.add
- (set_local $6
- (select
- (i32.sub
- (i32.add
- (get_local $79)
- (get_local $10)
- )
- (get_local $8)
- )
- (i32.add
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (tee_local $5
+ (i32.add
+ (tee_local $6
+ (select
(i32.sub
- (get_local $77)
+ (i32.add
+ (get_local $79)
+ (get_local $10)
+ )
(get_local $8)
)
- (get_local $1)
+ (i32.add
+ (i32.sub
+ (get_local $77)
+ (get_local $8)
+ )
+ (get_local $1)
+ )
+ (get_local $5)
)
- (get_local $5)
)
+ (get_local $7)
)
- (get_local $7)
)
+ (get_local $18)
)
- (get_local $18)
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $9)
+ (get_local $7)
+ (get_local $0)
)
- (i32.const 0)
)
- (call $___fwritex
- (get_local $9)
- (get_local $7)
+ (call $_pad
(get_local $0)
+ (i32.const 48)
+ (get_local $16)
+ (get_local $5)
+ (i32.xor
+ (get_local $18)
+ (i32.const 65536)
+ )
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $16)
- (get_local $5)
- (i32.xor
- (get_local $18)
- (i32.const 65536)
- )
- )
- (set_local $1
- (i32.sub
- (get_local $1)
- (get_local $64)
+ (set_local $1
+ (i32.sub
+ (get_local $1)
+ (get_local $64)
+ )
)
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $29)
+ (get_local $1)
+ (get_local $0)
)
- (i32.const 0)
)
- (call $___fwritex
- (get_local $29)
- (get_local $1)
+ (call $_pad
(get_local $0)
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.sub
- (get_local $6)
- (i32.add
- (get_local $1)
- (set_local $1
- (i32.sub
- (get_local $40)
- (get_local $8)
+ (i32.const 48)
+ (i32.sub
+ (get_local $6)
+ (i32.add
+ (get_local $1)
+ (tee_local $1
+ (i32.sub
+ (get_local $40)
+ (get_local $8)
+ )
)
)
)
+ (i32.const 0)
+ (i32.const 0)
)
- (i32.const 0)
- (i32.const 0)
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $8)
+ (get_local $1)
+ (get_local $0)
)
- (i32.const 0)
)
- (call $___fwritex
- (get_local $8)
- (get_local $1)
+ (call $_pad
(get_local $0)
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $5)
- (i32.xor
- (get_local $18)
- (i32.const 8192)
- )
- )
- (br $do-once$56
- (select
+ (i32.const 32)
(get_local $16)
(get_local $5)
- (i32.lt_s
- (get_local $5)
+ (i32.xor
+ (get_local $18)
+ (i32.const 8192)
+ )
+ )
+ (br $do-once$56
+ (select
(get_local $16)
+ (get_local $5)
+ (i32.lt_s
+ (get_local $5)
+ (get_local $16)
+ )
)
)
)
)
- )
- (set_local $1
- (select
- (i32.const 6)
- (get_local $10)
- (i32.lt_s
+ (set_local $1
+ (select
+ (i32.const 6)
(get_local $10)
- (i32.const 0)
+ (i32.lt_s
+ (get_local $10)
+ (i32.const 0)
+ )
)
)
- )
- (set_local $62
- (set_local $9
- (select
- (get_local $80)
- (get_local $81)
- (i32.lt_s
- (if
- (get_local $5)
- (block
- (i32.store
- (get_local $25)
- (set_local $5
- (i32.add
- (i32.load
- (get_local $25)
+ (set_local $62
+ (tee_local $9
+ (select
+ (get_local $80)
+ (get_local $81)
+ (i32.lt_s
+ (if
+ (get_local $5)
+ (block
+ (i32.store
+ (get_local $25)
+ (tee_local $5
+ (i32.add
+ (i32.load
+ (get_local $25)
+ )
+ (i32.const -28)
)
- (i32.const -28)
)
)
- )
- (set_local $15
- (f64.mul
- (get_local $15)
- (f64.const 268435456)
+ (set_local $14
+ (f64.mul
+ (get_local $14)
+ (f64.const 268435456)
+ )
)
+ (get_local $5)
+ )
+ (i32.load
+ (get_local $25)
)
- (get_local $5)
- )
- (i32.load
- (get_local $25)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- )
- )
- )
- (set_local $7
- (get_local $9)
- )
- (loop $while-out$66 $while-in$67
- (i32.store
- (get_local $7)
- (set_local $5
- (i32.trunc_s/f64
- (get_local $15)
)
)
)
(set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
+ (get_local $9)
)
- (if
- (f64.eq
- (set_local $15
- (f64.mul
- (f64.sub
- (get_local $15)
- (f64.convert_u/i32
- (get_local $5)
- )
+ (loop $while-in$67
+ (block $while-out$66
+ (i32.store
+ (get_local $7)
+ (tee_local $5
+ (i32.trunc_s/f64
+ (get_local $14)
)
- (f64.const 1e9)
)
)
- (f64.const 0)
- )
- (block
- (set_local $6
- (get_local $7)
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
)
- (br $while-out$66)
- )
- )
- (br $while-in$67)
- )
- (if
- (i32.gt_s
- (set_local $5
- (i32.load
- (get_local $25)
+ (if
+ (f64.eq
+ (tee_local $14
+ (f64.mul
+ (f64.sub
+ (get_local $14)
+ (f64.convert_u/i32
+ (get_local $5)
+ )
+ )
+ (f64.const 1e9)
+ )
+ )
+ (f64.const 0)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
+ )
+ (br $while-out$66)
+ )
)
+ (br $while-in$67)
)
- (i32.const 0)
)
- (block
- (set_local $8
- (get_local $9)
- )
- (set_local $13
- (get_local $6)
- )
- (loop $while-out$68 $while-in$69
- (set_local $11
- (select
- (i32.const 29)
- (get_local $5)
- (i32.gt_s
- (get_local $5)
- (i32.const 29)
- )
+ (if
+ (i32.gt_s
+ (tee_local $5
+ (i32.load
+ (get_local $25)
)
)
- (set_local $7
- (block $do-once$70
- (if
- (i32.lt_u
- (set_local $7
- (i32.add
- (get_local $13)
- (i32.const -4)
- )
+ (i32.const 0)
+ )
+ (block
+ (set_local $8
+ (get_local $9)
+ )
+ (set_local $13
+ (get_local $6)
+ )
+ (loop $while-in$69
+ (block $while-out$68
+ (set_local $11
+ (select
+ (i32.const 29)
+ (get_local $5)
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 29)
)
- (get_local $8)
)
- (get_local $8)
- (block
- (set_local $5
- (i32.const 0)
- )
- (set_local $10
- (get_local $7)
- )
- (loop $while-out$72 $while-in$73
- (set_local $6
- (call $___uremdi3
- (set_local $5
- (call $_i64Add
- (call $_bitshift64Shl
- (i32.load
- (get_local $10)
+ )
+ (set_local $7
+ (block $do-once$70
+ (if
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $13)
+ (i32.const -4)
+ )
+ )
+ (get_local $8)
+ )
+ (get_local $8)
+ (block
+ (set_local $5
+ (i32.const 0)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (loop $while-in$73
+ (block $while-out$72
+ (set_local $6
+ (call $___uremdi3
+ (tee_local $5
+ (call $_i64Add
+ (call $_bitshift64Shl
+ (i32.load
+ (get_local $10)
+ )
+ (i32.const 0)
+ (get_local $11)
+ )
+ (get_global $tempRet0)
+ (get_local $5)
+ (i32.const 0)
+ )
)
+ (tee_local $7
+ (get_global $tempRet0)
+ )
+ (i32.const 1000000000)
(i32.const 0)
- (get_local $11)
)
- (i32.load
- (i32.const 168)
+ )
+ (i32.store
+ (get_local $10)
+ (get_local $6)
+ )
+ (set_local $5
+ (call $___udivdi3
+ (get_local $5)
+ (get_local $7)
+ (i32.const 1000000000)
+ (i32.const 0)
)
- (get_local $5)
- (i32.const 0)
)
- )
- (set_local $7
- (i32.load
- (i32.const 168)
+ (if
+ (i32.lt_u
+ (tee_local $7
+ (i32.add
+ (get_local $10)
+ (i32.const -4)
+ )
+ )
+ (get_local $8)
+ )
+ (br $while-out$72)
+ (set_local $10
+ (get_local $7)
+ )
)
+ (br $while-in$73)
)
- (i32.const 1000000000)
- (i32.const 0)
)
- )
- (i32.load
- (i32.const 168)
- )
- (i32.store
- (get_local $10)
- (get_local $6)
- )
- (set_local $5
- (call $___udivdi3
- (get_local $5)
- (get_local $7)
- (i32.const 1000000000)
- (i32.const 0)
+ (br_if $do-once$70
+ (get_local $8)
+ (i32.eq
+ (get_local $5)
+ (i32.const 0)
+ )
)
- )
- (i32.load
- (i32.const 168)
- )
- (if
- (i32.lt_u
- (set_local $7
+ (i32.store
+ (tee_local $7
(i32.add
- (get_local $10)
+ (get_local $8)
(i32.const -4)
)
)
- (get_local $8)
- )
- (br $while-out$72)
- (set_local $10
- (get_local $7)
+ (get_local $5)
)
+ (get_local $7)
)
- (br $while-in$73)
)
- (br_if $do-once$70
- (get_local $8)
- (i32.eq
- (get_local $5)
- (i32.const 0)
+ )
+ )
+ (loop $while-in$75
+ (block $while-out$74
+ (br_if $while-out$74
+ (i32.le_u
+ (get_local $13)
+ (get_local $7)
)
)
- (i32.store
- (set_local $7
- (i32.add
- (get_local $8)
- (i32.const -4)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $13)
+ (i32.const -4)
+ )
+ )
)
+ (i32.const 0)
)
- (get_local $5)
+ (set_local $13
+ (get_local $5)
+ )
+ (br $while-out$74)
)
- (get_local $7)
+ (br $while-in$75)
)
)
- )
- )
- (loop $while-out$74 $while-in$75
- (if
- (i32.le_u
- (get_local $13)
- (get_local $7)
- )
- (br $while-out$74)
- )
- (if
- (i32.eq
- (i32.load
- (set_local $5
- (i32.add
- (get_local $13)
- (i32.const -4)
+ (i32.store
+ (get_local $25)
+ (tee_local $5
+ (i32.sub
+ (i32.load
+ (get_local $25)
)
+ (get_local $11)
)
)
- (i32.const 0)
)
- (set_local $13
- (get_local $5)
- )
- (br $while-out$74)
- )
- (br $while-in$75)
- )
- (i32.store
- (get_local $25)
- (set_local $5
- (i32.sub
- (i32.load
- (get_local $25)
+ (if
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 0)
)
- (get_local $11)
- )
- )
- )
- (if
- (i32.gt_s
- (get_local $5)
- (i32.const 0)
- )
- (set_local $8
- (get_local $7)
- )
- (block
- (set_local $6
- (get_local $13)
- )
- (br $while-out$68)
- )
- )
- (br $while-in$69)
- )
- )
- (set_local $7
- (get_local $9)
- )
- )
- (if
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- (block
- (set_local $8
- (i32.add
- (i32.and
- (i32.div_s
- (i32.add
- (get_local $1)
- (i32.const 25)
+ (set_local $8
+ (get_local $7)
+ )
+ (block
+ (set_local $6
+ (get_local $13)
+ )
+ (br $while-out$68)
)
- (i32.const 9)
)
- (i32.const -1)
+ (br $while-in$69)
)
- (i32.const 1)
)
)
- (set_local $10
- (i32.eq
- (get_local $14)
- (i32.const 102)
- )
+ (set_local $7
+ (get_local $9)
)
- (set_local $23
- (get_local $6)
+ )
+ (if
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
)
- (loop $while-out$76 $while-in$77
- (set_local $5
- (i32.gt_s
- (set_local $6
- (i32.sub
- (i32.const 0)
- (get_local $5)
+ (block
+ (set_local $8
+ (i32.add
+ (i32.and
+ (i32.div_s
+ (i32.add
+ (get_local $1)
+ (i32.const 25)
+ )
+ (i32.const 9)
)
+ (i32.const -1)
)
- (i32.const 9)
+ (i32.const 1)
)
)
- (set_local $13
- (select
- (i32.const 9)
- (get_local $6)
- (get_local $5)
+ (set_local $10
+ (i32.eq
+ (get_local $15)
+ (i32.const 102)
)
)
- (set_local $11
- (block $do-once$78
- (if
- (i32.lt_u
- (get_local $7)
- (get_local $23)
- )
- (block
- (set_local $70
- (i32.add
- (i32.shl
- (i32.const 1)
- (get_local $13)
- )
- (i32.const -1)
+ (set_local $23
+ (get_local $6)
+ )
+ (loop $while-in$77
+ (block $while-out$76
+ (set_local $5
+ (i32.gt_s
+ (tee_local $6
+ (i32.sub
+ (i32.const 0)
+ (get_local $5)
)
)
- (set_local $27
- (i32.shr_u
- (i32.const 1000000000)
- (get_local $13)
+ (i32.const 9)
+ )
+ )
+ (set_local $13
+ (select
+ (i32.const 9)
+ (get_local $6)
+ (get_local $5)
+ )
+ )
+ (set_local $11
+ (block $do-once$78
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (get_local $23)
)
- )
- (set_local $11
- (i32.const 0)
- )
- (set_local $17
- (get_local $7)
- )
- (loop $while-out$80 $while-in$81
- (set_local $6
- (i32.and
- (set_local $5
- (i32.load
- (get_local $17)
+ (block
+ (set_local $70
+ (i32.add
+ (i32.shl
+ (i32.const 1)
+ (get_local $13)
)
+ (i32.const -1)
)
- (get_local $70)
)
- )
- (i32.store
- (get_local $17)
- (i32.add
+ (set_local $27
(i32.shr_u
- (get_local $5)
+ (i32.const 1000000000)
(get_local $13)
)
- (get_local $11)
)
- )
- (set_local $11
- (i32.mul
- (get_local $6)
- (get_local $27)
+ (set_local $11
+ (i32.const 0)
)
- )
- (if
- (i32.ge_u
- (set_local $17
- (i32.add
+ (set_local $17
+ (get_local $7)
+ )
+ (loop $while-in$81
+ (block $while-out$80
+ (set_local $6
+ (i32.and
+ (tee_local $5
+ (i32.load
+ (get_local $17)
+ )
+ )
+ (get_local $70)
+ )
+ )
+ (i32.store
(get_local $17)
+ (i32.add
+ (i32.shr_u
+ (get_local $5)
+ (get_local $13)
+ )
+ (get_local $11)
+ )
+ )
+ (set_local $11
+ (i32.mul
+ (get_local $6)
+ (get_local $27)
+ )
+ )
+ (br_if $while-out$80
+ (i32.ge_u
+ (tee_local $17
+ (i32.add
+ (get_local $17)
+ (i32.const 4)
+ )
+ )
+ (get_local $23)
+ )
+ )
+ (br $while-in$81)
+ )
+ )
+ (set_local $5
+ (select
+ (i32.add
+ (get_local $7)
(i32.const 4)
)
+ (get_local $7)
+ (i32.eq
+ (i32.load
+ (get_local $7)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (br_if $do-once$78
+ (get_local $5)
+ (i32.eq
+ (get_local $11)
+ (i32.const 0)
)
+ )
+ (i32.store
(get_local $23)
+ (get_local $11)
+ )
+ (set_local $23
+ (i32.add
+ (get_local $23)
+ (i32.const 4)
+ )
)
- (br $while-out$80)
+ (get_local $5)
)
- (br $while-in$81)
- )
- (set_local $5
(select
(i32.add
(get_local $7)
@@ -6054,1242 +5932,1166 @@
)
)
)
- (if
- (i32.eq
- (get_local $11)
- (i32.const 0)
- )
- (br $do-once$78
- (get_local $5)
- )
- )
- (i32.store
- (get_local $23)
- (get_local $11)
- )
- (set_local $23
- (i32.add
+ )
+ )
+ (set_local $5
+ (i32.gt_s
+ (i32.shr_s
+ (i32.sub
(get_local $23)
- (i32.const 4)
+ (tee_local $7
+ (select
+ (get_local $9)
+ (get_local $11)
+ (get_local $10)
+ )
+ )
)
+ (i32.const 2)
)
- (get_local $5)
+ (get_local $8)
)
+ )
+ (set_local $6
(select
(i32.add
(get_local $7)
- (i32.const 4)
- )
- (get_local $7)
- (i32.eq
- (i32.load
- (get_local $7)
+ (i32.shl
+ (get_local $8)
+ (i32.const 2)
)
- (i32.const 0)
)
+ (get_local $23)
+ (get_local $5)
)
)
- )
- )
- (set_local $5
- (i32.gt_s
- (i32.shr_s
- (i32.sub
- (get_local $23)
- (set_local $7
- (select
- (get_local $9)
- (get_local $11)
- (get_local $10)
+ (i32.store
+ (get_local $25)
+ (tee_local $5
+ (i32.add
+ (i32.load
+ (get_local $25)
)
+ (get_local $13)
)
)
- (i32.const 2)
)
- (get_local $8)
- )
- )
- (set_local $6
- (select
- (i32.add
- (get_local $7)
- (i32.shl
- (get_local $8)
- (i32.const 2)
+ (if
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
)
- )
- (get_local $23)
- (get_local $5)
- )
- )
- (i32.store
- (get_local $25)
- (set_local $5
- (i32.add
- (i32.load
- (get_local $25)
+ (block
+ (set_local $7
+ (get_local $11)
+ )
+ (set_local $23
+ (get_local $6)
+ )
+ )
+ (block
+ (set_local $7
+ (get_local $11)
+ )
+ (set_local $27
+ (get_local $6)
+ )
+ (br $while-out$76)
)
- (get_local $13)
- )
- )
- )
- (if
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- (block
- (set_local $7
- (get_local $11)
- )
- (set_local $23
- (get_local $6)
- )
- )
- (block
- (set_local $7
- (get_local $11)
- )
- (set_local $27
- (get_local $6)
)
- (br $while-out$76)
+ (br $while-in$77)
)
)
- (br $while-in$77)
)
- )
- (set_local $27
- (get_local $6)
- )
- )
- (block $do-once$82
- (if
- (i32.lt_u
- (get_local $7)
- (get_local $27)
+ (set_local $27
+ (get_local $6)
)
- (block
- (set_local $6
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $62)
- (get_local $7)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- )
- (if
- (i32.lt_u
- (set_local $5
- (i32.load
- (get_local $7)
- )
- )
- (i32.const 10)
- )
- (block
- (set_local $13
- (get_local $6)
- )
- (br $do-once$82)
- )
- (set_local $8
- (i32.const 10)
- )
+ )
+ (block $do-once$82
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (get_local $27)
)
- (loop $while-out$84 $while-in$85
+ (block
(set_local $6
- (i32.add
- (get_local $6)
- (i32.const 1)
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $62)
+ (get_local $7)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
)
)
(if
(i32.lt_u
- (get_local $5)
- (set_local $8
- (i32.mul
- (get_local $8)
- (i32.const 10)
+ (tee_local $5
+ (i32.load
+ (get_local $7)
)
)
+ (i32.const 10)
)
(block
(set_local $13
(get_local $6)
)
- (br $while-out$84)
+ (br $do-once$82)
+ )
+ (set_local $8
+ (i32.const 10)
)
)
- (br $while-in$85)
- )
- )
- (set_local $13
- (i32.const 0)
- )
- )
- )
- (set_local $7
- (if
- (i32.lt_s
- (set_local $5
- (i32.add
- (i32.sub
- (get_local $1)
- (select
- (get_local $13)
- (i32.const 0)
- (i32.ne
- (get_local $14)
- (i32.const 102)
+ (loop $while-in$85
+ (block $while-out$84
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 1)
)
)
- )
- (i32.shr_s
- (i32.shl
- (i32.and
- (set_local $70
- (i32.ne
- (get_local $1)
- (i32.const 0)
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (tee_local $8
+ (i32.mul
+ (get_local $8)
+ (i32.const 10)
)
)
- (set_local $8
- (i32.eq
- (get_local $14)
- (i32.const 103)
- )
+ )
+ (block
+ (set_local $13
+ (get_local $6)
)
+ (br $while-out$84)
)
- (i32.const 31)
)
- (i32.const 31)
+ (br $while-in$85)
)
)
)
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $27)
- (get_local $62)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- (i32.const -9)
+ (set_local $13
+ (i32.const 0)
)
)
- (block
- (set_local $6
- (i32.add
+ )
+ (set_local $7
+ (if
+ (i32.lt_s
+ (tee_local $5
(i32.add
- (get_local $9)
- (i32.const 4)
- )
- (i32.shl
- (i32.add
- (i32.and
- (i32.div_s
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 9216)
+ (i32.sub
+ (get_local $1)
+ (select
+ (get_local $13)
+ (i32.const 0)
+ (i32.ne
+ (get_local $15)
+ (i32.const 102)
+ )
+ )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.and
+ (tee_local $70
+ (i32.ne
+ (get_local $1)
+ (i32.const 0)
+ )
+ )
+ (tee_local $8
+ (i32.eq
+ (get_local $15)
+ (i32.const 103)
)
)
- (i32.const 9)
)
- (i32.const -1)
+ (i32.const 31)
)
- (i32.const -1024)
+ (i32.const 31)
)
- (i32.const 2)
)
)
- )
- (if
- (i32.lt_s
- (set_local $11
- (i32.add
- (i32.and
- (i32.rem_s
- (get_local $5)
- (i32.const 9)
- )
- (i32.const -1)
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $27)
+ (get_local $62)
)
- (i32.const 1)
+ (i32.const 2)
)
+ (i32.const 9)
)
- (i32.const 9)
+ (i32.const -9)
)
- (block
- (set_local $5
- (i32.const 10)
- )
- (loop $while-out$86 $while-in$87
- (set_local $5
- (i32.mul
- (get_local $5)
- (i32.const 10)
- )
+ )
+ (block
+ (set_local $6
+ (i32.add
+ (i32.add
+ (get_local $9)
+ (i32.const 4)
)
- (if
- (i32.eq
- (set_local $11
- (i32.add
- (get_local $11)
- (i32.const 1)
+ (i32.shl
+ (i32.add
+ (i32.and
+ (i32.div_s
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 9216)
+ )
+ )
+ (i32.const 9)
)
+ (i32.const -1)
)
- (i32.const 9)
- )
- (block
- (set_local $17
- (get_local $5)
- )
- (br $while-out$86)
+ (i32.const -1024)
)
+ (i32.const 2)
)
- (br $while-in$87)
)
)
- (set_local $17
- (i32.const 10)
- )
- )
- (block $do-once$88
(if
- (i32.eqz
- (i32.and
- (set_local $11
- (i32.eq
- (i32.add
- (get_local $6)
- (i32.const 4)
+ (i32.lt_s
+ (tee_local $11
+ (i32.add
+ (i32.and
+ (i32.rem_s
+ (get_local $5)
+ (i32.const 9)
)
- (get_local $27)
+ (i32.const -1)
)
+ (i32.const 1)
)
- (i32.eq
- (set_local $14
- (i32.and
- (i32.rem_u
- (set_local $5
- (i32.load
- (get_local $6)
- )
+ )
+ (i32.const 9)
+ )
+ (block
+ (set_local $5
+ (i32.const 10)
+ )
+ (loop $while-in$87
+ (block $while-out$86
+ (set_local $5
+ (i32.mul
+ (get_local $5)
+ (i32.const 10)
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $11
+ (i32.add
+ (get_local $11)
+ (i32.const 1)
)
- (get_local $17)
)
- (i32.const -1)
+ (i32.const 9)
+ )
+ (block
+ (set_local $17
+ (get_local $5)
+ )
+ (br $while-out$86)
)
)
- (i32.const 0)
+ (br $while-in$87)
)
)
)
- (block
- (set_local $15
- (select
- (f64.const 9007199254740992)
- (f64.const 9007199254740994)
+ (set_local $17
+ (i32.const 10)
+ )
+ )
+ (block $do-once$88
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $11
+ (i32.eq
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ (get_local $27)
+ )
+ )
(i32.eq
- (i32.and
+ (tee_local $15
(i32.and
- (i32.div_u
- (get_local $5)
+ (i32.rem_u
+ (tee_local $5
+ (i32.load
+ (get_local $6)
+ )
+ )
(get_local $17)
)
(i32.const -1)
)
- (i32.const 1)
)
(i32.const 0)
)
)
)
- (set_local $30
- (if
- (i32.lt_u
- (get_local $14)
- (set_local $10
+ (block
+ (set_local $14
+ (select
+ (f64.const 9007199254740992)
+ (f64.const 9007199254740994)
+ (i32.eq
(i32.and
- (i32.div_s
- (get_local $17)
- (i32.const 2)
+ (i32.and
+ (i32.div_u
+ (get_local $5)
+ (get_local $17)
+ )
+ (i32.const -1)
)
- (i32.const -1)
+ (i32.const 1)
)
+ (i32.const 0)
)
)
- (f64.const 0.5)
- (select
- (f64.const 1)
- (f64.const 1.5)
- (i32.and
- (get_local $11)
- (i32.eq
- (get_local $14)
- (get_local $10)
+ )
+ (set_local $30
+ (if
+ (i32.lt_u
+ (get_local $15)
+ (tee_local $10
+ (i32.and
+ (i32.div_s
+ (get_local $17)
+ (i32.const 2)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (f64.const 0.5)
+ (select
+ (f64.const 1)
+ (f64.const 1.5)
+ (i32.and
+ (get_local $11)
+ (i32.eq
+ (get_local $15)
+ (get_local $10)
+ )
)
)
)
)
- )
- (set_local $15
- (block $do-once$90
- (if
- (i32.eq
- (get_local $51)
- (i32.const 0)
- )
- (get_local $15)
- (block
- (if
- (i32.ne
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $39)
+ (set_local $14
+ (block $do-once$90
+ (if
+ (i32.eq
+ (get_local $51)
+ (i32.const 0)
+ )
+ (get_local $14)
+ (block
+ (br_if $do-once$90
+ (get_local $14)
+ (i32.ne
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $39)
+ )
+ (i32.const 24)
)
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 45)
)
- (i32.const 45)
)
- (br $do-once$90
- (get_local $15)
+ (set_local $30
+ (f64.neg
+ (get_local $30)
+ )
)
- )
- (set_local $30
(f64.neg
- (get_local $30)
+ (get_local $14)
)
)
- (f64.neg
- (get_local $15)
- )
)
)
)
- )
- (i32.store
- (get_local $6)
- (set_local $5
- (i32.sub
- (get_local $5)
- (get_local $14)
+ (i32.store
+ (get_local $6)
+ (tee_local $5
+ (i32.sub
+ (get_local $5)
+ (get_local $15)
+ )
)
)
- )
- (if
- (f64.eq
- (f64.add
- (get_local $15)
- (get_local $30)
+ (br_if $do-once$88
+ (f64.eq
+ (f64.add
+ (get_local $14)
+ (get_local $30)
+ )
+ (get_local $14)
)
- (get_local $15)
)
- (br $do-once$88)
- )
- (i32.store
- (get_local $6)
- (set_local $5
- (i32.add
- (get_local $5)
- (get_local $17)
+ (i32.store
+ (get_local $6)
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (get_local $17)
+ )
)
)
- )
- (if
- (i32.gt_u
- (get_local $5)
- (i32.const 999999999)
- )
- (loop $while-out$92 $while-in$93
- (i32.store
- (get_local $6)
- (i32.const 0)
+ (if
+ (i32.gt_u
+ (get_local $5)
+ (i32.const 999999999)
)
- (set_local $7
- (if
- (i32.lt_u
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const -4)
+ (loop $while-in$93
+ (block $while-out$92
+ (i32.store
+ (get_local $6)
+ (i32.const 0)
+ )
+ (set_local $7
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
+ )
+ )
+ (get_local $7)
+ )
+ (block
+ (i32.store
+ (tee_local $5
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
+ )
+ )
+ (i32.const 0)
+ )
+ (get_local $5)
)
+ (get_local $7)
)
- (get_local $7)
)
- (block
- (i32.store
- (set_local $5
- (i32.add
- (get_local $7)
- (i32.const -4)
+ (i32.store
+ (get_local $6)
+ (tee_local $5
+ (i32.add
+ (i32.load
+ (get_local $6)
)
+ (i32.const 1)
)
- (i32.const 0)
)
- (get_local $5)
)
- (get_local $7)
- )
- )
- (i32.store
- (get_local $6)
- (set_local $5
- (i32.add
- (i32.load
- (get_local $6)
+ (br_if $while-out$92
+ (i32.le_u
+ (get_local $5)
+ (i32.const 999999999)
)
- (i32.const 1)
)
+ (br $while-in$93)
)
)
- (if
- (i32.le_u
- (get_local $5)
- (i32.const 999999999)
- )
- (br $while-out$92)
- )
- (br $while-in$93)
)
- )
- (set_local $11
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $62)
- (get_local $7)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- )
- (if
- (i32.lt_u
- (set_local $5
- (i32.load
- (get_local $7)
- )
- )
- (i32.const 10)
- )
- (block
- (set_local $13
- (get_local $11)
- )
- (br $do-once$88)
- )
- (set_local $10
- (i32.const 10)
- )
- )
- (loop $while-out$94 $while-in$95
(set_local $11
- (i32.add
- (get_local $11)
- (i32.const 1)
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $62)
+ (get_local $7)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
)
)
(if
(i32.lt_u
- (get_local $5)
- (set_local $10
- (i32.mul
- (get_local $10)
- (i32.const 10)
+ (tee_local $5
+ (i32.load
+ (get_local $7)
)
)
+ (i32.const 10)
)
(block
(set_local $13
(get_local $11)
)
- (br $while-out$94)
+ (br $do-once$88)
+ )
+ (set_local $10
+ (i32.const 10)
+ )
+ )
+ (loop $while-in$95
+ (block $while-out$94
+ (set_local $11
+ (i32.add
+ (get_local $11)
+ (i32.const 1)
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (tee_local $10
+ (i32.mul
+ (get_local $10)
+ (i32.const 10)
+ )
+ )
+ )
+ (block
+ (set_local $13
+ (get_local $11)
+ )
+ (br $while-out$94)
+ )
+ )
+ (br $while-in$95)
)
)
- (br $while-in$95)
)
)
)
- )
- (set_local $6
- (i32.gt_u
- (get_local $27)
- (set_local $5
- (i32.add
- (get_local $6)
- (i32.const 4)
+ (set_local $6
+ (i32.gt_u
+ (get_local $27)
+ (tee_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
)
)
)
+ (set_local $6
+ (select
+ (get_local $5)
+ (get_local $27)
+ (get_local $6)
+ )
+ )
+ (get_local $7)
)
- (set_local $6
- (select
- (get_local $5)
+ (block
+ (set_local $6
(get_local $27)
- (get_local $6)
)
+ (get_local $7)
)
- (get_local $7)
- )
- (block
- (set_local $6
- (get_local $27)
- )
- (get_local $7)
)
)
- )
- (set_local $27
- (i32.sub
- (i32.const 0)
- (get_local $13)
- )
- )
- (loop $while-out$96 $while-in$97
- (if
- (i32.le_u
- (get_local $6)
- (get_local $7)
- )
- (block
- (set_local $11
- (i32.const 0)
- )
- (set_local $23
- (get_local $6)
- )
- (br $while-out$96)
+ (set_local $27
+ (i32.sub
+ (i32.const 0)
+ (get_local $13)
)
)
- (if
- (i32.eq
- (i32.load
- (set_local $5
- (i32.add
+ (loop $while-in$97
+ (block $while-out$96
+ (if
+ (i32.le_u
+ (get_local $6)
+ (get_local $7)
+ )
+ (block
+ (set_local $11
+ (i32.const 0)
+ )
+ (set_local $23
(get_local $6)
- (i32.const -4)
)
+ (br $while-out$96)
)
)
- (i32.const 0)
- )
- (set_local $6
- (get_local $5)
- )
- (block
- (set_local $11
- (i32.const 1)
- )
- (set_local $23
- (get_local $6)
+ (if
+ (i32.eq
+ (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
+ (i32.const 1)
+ )
+ (set_local $23
+ (get_local $6)
+ )
+ (br $while-out$96)
+ )
)
- (br $while-out$96)
+ (br $while-in$97)
)
)
- (br $while-in$97)
- )
- (set_local $8
- (block $do-once$98
- (if
- (get_local $8)
- (block
- (set_local $8
- (if
- (i32.and
- (i32.gt_s
- (set_local $1
- (i32.add
- (i32.xor
- (i32.and
- (get_local $70)
+ (set_local $8
+ (block $do-once$98
+ (if
+ (get_local $8)
+ (block
+ (set_local $8
+ (if
+ (i32.and
+ (i32.gt_s
+ (tee_local $1
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $70)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
+ (get_local $1)
)
- (get_local $1)
)
+ (get_local $13)
+ )
+ (i32.gt_s
+ (get_local $13)
+ (i32.const -5)
)
- (get_local $13)
- )
- (i32.gt_s
- (get_local $13)
- (i32.const -5)
)
- )
- (block
- (set_local $10
- (i32.add
- (get_local $26)
- (i32.const -1)
+ (block
+ (set_local $10
+ (i32.add
+ (get_local $26)
+ (i32.const -1)
+ )
+ )
+ (i32.sub
+ (i32.add
+ (get_local $1)
+ (i32.const -1)
+ )
+ (get_local $13)
)
)
- (i32.sub
+ (block
+ (set_local $10
+ (i32.add
+ (get_local $26)
+ (i32.const -2)
+ )
+ )
(i32.add
(get_local $1)
(i32.const -1)
)
- (get_local $13)
)
)
- (block
- (set_local $10
- (i32.add
- (get_local $26)
- (i32.const -2)
+ )
+ (if
+ (i32.ne
+ (tee_local $1
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
)
)
- (i32.add
- (get_local $1)
- (i32.const -1)
- )
+ (i32.const 0)
)
- )
- )
- (if
- (i32.ne
- (set_local $1
- (i32.and
- (get_local $18)
- (i32.const 8)
+ (block
+ (set_local $15
+ (get_local $8)
+ )
+ (set_local $26
+ (get_local $10)
+ )
+ (br $do-once$98
+ (get_local $1)
)
- )
- (i32.const 0)
- )
- (block
- (set_local $14
- (get_local $8)
- )
- (set_local $26
- (get_local $10)
- )
- (br $do-once$98
- (get_local $1)
)
)
- )
- (block $do-once$100
- (if
- (get_local $11)
- (block
- (if
- (i32.eq
- (set_local $1
- (i32.load
- (i32.add
- (get_local $23)
- (i32.const -4)
+ (block $do-once$100
+ (if
+ (get_local $11)
+ (block
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.load
+ (i32.add
+ (get_local $23)
+ (i32.const -4)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $6
- (i32.const 9)
- )
- (br $do-once$100)
- )
- )
- (if
- (i32.eq
- (i32.and
- (i32.rem_u
- (get_local $1)
- (i32.const 10)
+ (block
+ (set_local $6
+ (i32.const 9)
)
- (i32.const -1)
+ (br $do-once$100)
)
- (i32.const 0)
)
- (block
- (set_local $5
- (i32.const 10)
- )
- (set_local $6
+ (if
+ (i32.eq
+ (i32.and
+ (i32.rem_u
+ (get_local $1)
+ (i32.const 10)
+ )
+ (i32.const -1)
+ )
(i32.const 0)
)
- )
- (block
- (set_local $6
- (i32.const 0)
+ (block
+ (set_local $5
+ (i32.const 10)
+ )
+ (set_local $6
+ (i32.const 0)
+ )
)
- (br $do-once$100)
- )
- )
- (loop $while-out$102 $while-in$103
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const 1)
+ (block
+ (set_local $6
+ (i32.const 0)
+ )
+ (br $do-once$100)
)
)
- (if
- (i32.ne
- (i32.and
- (i32.rem_u
- (get_local $1)
- (set_local $5
- (i32.mul
- (get_local $5)
- (i32.const 10)
+ (loop $while-in$103
+ (block $while-out$102
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (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.const -1)
)
+ (i32.const 0)
)
- (i32.const -1)
)
- (i32.const 0)
+ (br $while-in$103)
)
- (br $while-out$102)
)
- (br $while-in$103)
)
- )
- (set_local $6
- (i32.const 9)
+ (set_local $6
+ (i32.const 9)
+ )
)
)
- )
- (set_local $1
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $23)
- (get_local $62)
+ (set_local $1
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $23)
+ (get_local $62)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 9)
)
- (i32.const 9)
+ (i32.const -9)
)
- (i32.const -9)
)
- )
- (if
- (i32.eq
- (i32.or
- (get_local $10)
- (i32.const 32)
+ (if
+ (i32.eq
+ (i32.or
+ (get_local $10)
+ (i32.const 32)
+ )
+ (i32.const 102)
)
- (i32.const 102)
- )
- (block
- (set_local $1
- (i32.lt_s
- (set_local $5
- (i32.sub
- (get_local $1)
- (get_local $6)
+ (block
+ (set_local $1
+ (i32.lt_s
+ (tee_local $5
+ (i32.sub
+ (get_local $1)
+ (get_local $6)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $5
- (i32.lt_s
- (get_local $8)
- (set_local $1
- (select
- (i32.const 0)
- (get_local $5)
- (get_local $1)
+ (set_local $5
+ (i32.lt_s
+ (get_local $8)
+ (tee_local $1
+ (select
+ (i32.const 0)
+ (get_local $5)
+ (get_local $1)
+ )
)
)
)
- )
- (set_local $14
- (select
- (get_local $8)
- (get_local $1)
- (get_local $5)
+ (set_local $15
+ (select
+ (get_local $8)
+ (get_local $1)
+ (get_local $5)
+ )
)
+ (set_local $26
+ (get_local $10)
+ )
+ (i32.const 0)
)
- (set_local $26
- (get_local $10)
- )
- (i32.const 0)
- )
- (block
- (set_local $1
- (i32.lt_s
- (set_local $5
- (i32.sub
- (i32.add
- (get_local $1)
- (get_local $13)
+ (block
+ (set_local $1
+ (i32.lt_s
+ (tee_local $5
+ (i32.sub
+ (i32.add
+ (get_local $1)
+ (get_local $13)
+ )
+ (get_local $6)
)
- (get_local $6)
)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $5
- (i32.lt_s
- (get_local $8)
- (set_local $1
- (select
- (i32.const 0)
- (get_local $5)
- (get_local $1)
+ (set_local $5
+ (i32.lt_s
+ (get_local $8)
+ (tee_local $1
+ (select
+ (i32.const 0)
+ (get_local $5)
+ (get_local $1)
+ )
)
)
)
- )
- (set_local $14
- (select
- (get_local $8)
- (get_local $1)
- (get_local $5)
+ (set_local $15
+ (select
+ (get_local $8)
+ (get_local $1)
+ (get_local $5)
+ )
)
+ (set_local $26
+ (get_local $10)
+ )
+ (i32.const 0)
)
- (set_local $26
- (get_local $10)
- )
- (i32.const 0)
)
)
- )
- (block
- (set_local $14
- (get_local $1)
- )
- (i32.and
- (get_local $18)
- (i32.const 8)
+ (block
+ (set_local $15
+ (get_local $1)
+ )
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
+ )
)
)
)
)
- )
- (set_local $17
- (i32.and
- (i32.ne
- (set_local $1
- (i32.or
- (get_local $14)
- (get_local $8)
+ (set_local $17
+ (i32.and
+ (i32.ne
+ (tee_local $1
+ (i32.or
+ (get_local $15)
+ (get_local $8)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
+ (i32.const 1)
)
- (i32.const 1)
)
- )
- (set_local $13
- (if
- (set_local $10
- (i32.eq
- (i32.or
- (get_local $26)
- (i32.const 32)
+ (set_local $13
+ (if
+ (tee_local $10
+ (i32.eq
+ (i32.or
+ (get_local $26)
+ (i32.const 32)
+ )
+ (i32.const 102)
)
- (i32.const 102)
)
- )
- (block
- (set_local $6
- (select
- (get_local $13)
- (i32.const 0)
- (i32.gt_s
+ (block
+ (set_local $6
+ (select
(get_local $13)
(i32.const 0)
+ (i32.gt_s
+ (get_local $13)
+ (i32.const 0)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $5
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (set_local $6
- (select
- (get_local $27)
- (get_local $13)
- (i32.lt_s
+ (block
+ (set_local $5
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (tee_local $6
+ (select
+ (get_local $27)
(get_local $13)
- (i32.const 0)
+ (i32.lt_s
+ (get_local $13)
+ (i32.const 0)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
+ (i32.const 31)
)
(i32.const 31)
)
- (i32.const 31)
)
- )
- (if
- (i32.lt_s
- (i32.sub
- (get_local $40)
- (set_local $5
- (call $_fmt_u
- (get_local $6)
- (get_local $5)
- (get_local $52)
+ (if
+ (i32.lt_s
+ (i32.sub
+ (get_local $40)
+ (tee_local $5
+ (call $_fmt_u
+ (get_local $6)
+ (get_local $5)
+ (get_local $52)
+ )
)
)
+ (i32.const 2)
)
- (i32.const 2)
- )
- (loop $while-out$104 $while-in$105
- (i32.store8
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
+ (loop $while-in$105
+ (block $while-out$104
+ (i32.store8
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
)
- )
- (i32.const 48)
- )
- (if
- (i32.lt_s
- (i32.sub
- (get_local $40)
- (get_local $5)
+ (br_if $while-out$104
+ (i32.ge_s
+ (i32.sub
+ (get_local $40)
+ (get_local $5)
+ )
+ (i32.const 2)
+ )
)
- (i32.const 2)
+ (br $while-in$105)
)
- (get_local $5)
- (br $while-out$104)
)
- (br $while-in$105)
)
- (get_local $5)
- )
- (i32.store8
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- (i32.and
+ (i32.store8
(i32.add
- (i32.and
- (i32.shr_s
- (get_local $13)
- (i32.const 31)
+ (get_local $5)
+ (i32.const -1)
+ )
+ (i32.and
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $13)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 43)
)
- (i32.const 43)
+ (i32.const 255)
)
- (i32.const 255)
)
- )
- (i32.store8
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const -2)
+ (i32.store8
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -2)
+ )
+ )
+ (i32.and
+ (get_local $26)
+ (i32.const 255)
)
)
- (i32.and
- (get_local $26)
- (i32.const 255)
- )
- )
- (set_local $6
- (i32.sub
- (get_local $40)
- (get_local $5)
+ (set_local $6
+ (i32.sub
+ (get_local $40)
+ (get_local $5)
+ )
)
+ (get_local $5)
)
- (get_local $5)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (set_local $6
- (i32.add
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (tee_local $6
(i32.add
(i32.add
(i32.add
- (get_local $51)
- (i32.const 1)
+ (i32.add
+ (get_local $51)
+ (i32.const 1)
+ )
+ (get_local $15)
)
- (get_local $14)
+ (get_local $17)
)
- (get_local $17)
+ (get_local $6)
)
- (get_local $6)
)
+ (get_local $18)
)
- (get_local $18)
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $39)
+ (get_local $51)
+ (get_local $0)
)
- (i32.const 0)
)
- (call $___fwritex
- (get_local $39)
- (get_local $51)
+ (call $_pad
(get_local $0)
+ (i32.const 48)
+ (get_local $16)
+ (get_local $6)
+ (i32.xor
+ (get_local $18)
+ (i32.const 65536)
+ )
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $16)
- (get_local $6)
- (i32.xor
- (get_local $18)
- (i32.const 65536)
- )
- )
- (block $do-once$106
- (if
- (get_local $10)
- (block
- (set_local $7
- (set_local $8
- (select
- (get_local $9)
- (get_local $7)
- (i32.gt_u
- (get_local $7)
+ (block $do-once$106
+ (if
+ (get_local $10)
+ (block
+ (set_local $7
+ (tee_local $8
+ (select
(get_local $9)
- )
- )
- )
- )
- (loop $while-out$108 $while-in$109
- (set_local $5
- (call $_fmt_u
- (i32.load
(get_local $7)
+ (i32.gt_u
+ (get_local $7)
+ (get_local $9)
+ )
)
- (i32.const 0)
- (get_local $45)
)
)
- (block $do-once$110
- (if
- (i32.eq
- (get_local $7)
- (get_local $8)
- )
- (block
- (if
- (i32.ne
- (get_local $5)
- (get_local $45)
+ (loop $while-in$109
+ (block $while-out$108
+ (set_local $5
+ (call $_fmt_u
+ (i32.load
+ (get_local $7)
)
- (br $do-once$110)
- )
- (i32.store8
- (get_local $53)
- (i32.const 48)
- )
- (set_local $5
- (get_local $53)
+ (i32.const 0)
+ (get_local $45)
)
)
- (block
+ (block $do-once$110
(if
- (i32.gt_u
- (get_local $5)
- (get_local $29)
+ (i32.eq
+ (get_local $7)
+ (get_local $8)
)
- (get_local $5)
- (br $do-once$110)
- )
- (loop $while-out$112 $while-in$113
- (i32.store8
- (set_local $5
- (i32.add
+ (block
+ (br_if $do-once$110
+ (i32.ne
(get_local $5)
- (i32.const -1)
+ (get_local $45)
)
)
- (i32.const 48)
+ (i32.store8
+ (get_local $53)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $53)
+ )
)
- (if
- (i32.gt_u
- (get_local $5)
- (get_local $29)
+ (block
+ (br_if $do-once$110
+ (i32.le_u
+ (get_local $5)
+ (get_local $29)
+ )
+ )
+ (loop $while-in$113
+ (block $while-out$112
+ (i32.store8
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-out$112
+ (i32.le_u
+ (get_local $5)
+ (get_local $29)
+ )
+ )
+ (br $while-in$113)
+ )
)
- (get_local $5)
- (br $while-out$112)
)
- (br $while-in$113)
- )
- )
- )
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $5)
- (i32.sub
- (get_local $75)
- (get_local $5)
- )
- (get_local $0)
- )
- )
- (if
- (i32.gt_u
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
)
)
- (get_local $9)
- )
- (block
- (set_local $5
- (get_local $7)
- )
- (br $while-out$108)
- )
- (get_local $7)
- )
- (br $while-in$109)
- )
- (block $do-once$114
- (if
- (i32.ne
- (get_local $1)
- (i32.const 0)
- )
- (block
- (br_if $do-once$114
- (i32.ne
+ (if
+ (i32.eq
(i32.and
(i32.load
(get_local $0)
@@ -7298,163 +7100,81 @@
)
(i32.const 0)
)
- )
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $0)
- )
- )
- )
- )
- (if
- (i32.and
- (i32.gt_s
- (get_local $14)
- (i32.const 0)
- )
- (i32.lt_u
- (get_local $5)
- (get_local $23)
- )
- )
- (loop $while-out$116 $while-in$117
- (if
- (i32.gt_u
- (set_local $1
- (call $_fmt_u
- (i32.load
+ (drop
+ (call $___fwritex
+ (get_local $5)
+ (i32.sub
+ (get_local $75)
(get_local $5)
)
- (i32.const 0)
- (get_local $45)
+ (get_local $0)
)
)
- (get_local $29)
)
- (loop $while-out$118 $while-in$119
- (i32.store8
- (set_local $1
+ (if
+ (i32.gt_u
+ (tee_local $7
(i32.add
- (get_local $1)
- (i32.const -1)
+ (get_local $7)
+ (i32.const 4)
)
)
- (i32.const 48)
+ (get_local $9)
)
- (if
- (i32.gt_u
- (get_local $1)
- (get_local $29)
+ (block
+ (set_local $5
+ (get_local $7)
)
- (get_local $1)
- (br $while-out$118)
+ (br $while-out$108)
)
- (br $while-in$119)
)
- (get_local $1)
+ (br $while-in$109)
)
+ )
+ (block $do-once$114
(if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- (i32.const 0)
- )
- (call $___fwritex
+ (i32.ne
(get_local $1)
- (select
- (i32.const 9)
- (get_local $14)
- (i32.gt_s
- (get_local $14)
- (i32.const 9)
- )
- )
- (get_local $0)
- )
- )
- (set_local $1
- (i32.add
- (get_local $14)
- (i32.const -9)
+ (i32.const 0)
)
- )
- (if
- (i32.and
- (i32.gt_s
- (get_local $14)
- (i32.const 9)
- )
- (i32.lt_u
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 4)
+ (block
+ (br_if $do-once$114
+ (i32.ne
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
+ (i32.const 0)
)
- (get_local $23)
)
- )
- (set_local $14
- (get_local $1)
- )
- (block
- (set_local $14
- (get_local $1)
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
+ )
)
- (br $while-out$116)
)
)
- (br $while-in$117)
)
- (get_local $14)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $14)
- (i32.const 9)
- )
- (i32.const 9)
- (i32.const 0)
- )
- )
- (block
- (set_local $11
- (select
- (get_local $23)
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- (get_local $11)
- )
- )
- (if
- (i32.gt_s
- (get_local $14)
- (i32.const -1)
- )
- (block
- (set_local $9
- (i32.eq
- (get_local $8)
+ (if
+ (i32.and
+ (i32.gt_s
+ (get_local $15)
(i32.const 0)
)
+ (i32.lt_u
+ (get_local $5)
+ (get_local $23)
+ )
)
- (set_local $5
- (get_local $7)
- )
- (loop $while-out$120 $while-in$121
- (set_local $8
+ (loop $while-in$117
+ (block $while-out$116
(if
- (i32.eq
- (set_local $1
+ (i32.gt_u
+ (tee_local $1
(call $_fmt_u
(i32.load
(get_local $5)
@@ -7463,834 +7183,976 @@
(get_local $45)
)
)
- (get_local $45)
+ (get_local $29)
)
- (block
- (i32.store8
- (get_local $53)
- (i32.const 48)
+ (loop $while-in$119
+ (block $while-out$118
+ (i32.store8
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-out$118
+ (i32.le_u
+ (get_local $1)
+ (get_local $29)
+ )
+ )
+ (br $while-in$119)
)
- (get_local $53)
)
- (get_local $1)
)
- )
- (block $do-once$122
(if
(i32.eq
- (get_local $5)
- (get_local $7)
- )
- (block
- (set_local $1
- (i32.add
- (get_local $8)
- (i32.const 1)
- )
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $8)
- (i32.const 1)
+ (i32.and
+ (i32.load
(get_local $0)
)
+ (i32.const 32)
)
- (if
- (i32.and
- (get_local $9)
- (i32.lt_s
- (get_local $14)
- (i32.const 1)
+ (i32.const 0)
+ )
+ (drop
+ (call $___fwritex
+ (get_local $1)
+ (select
+ (i32.const 9)
+ (get_local $15)
+ (i32.gt_s
+ (get_local $15)
+ (i32.const 9)
)
)
- (br $do-once$122)
+ (get_local $0)
)
- (if
- (i32.ne
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ )
+ )
+ (set_local $1
+ (i32.add
+ (get_local $15)
+ (i32.const -9)
+ )
+ )
+ (if
+ (i32.and
+ (i32.gt_s
+ (get_local $15)
+ (i32.const 9)
+ )
+ (i32.lt_u
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 4)
)
- (i32.const 0)
)
- (br $do-once$122)
- )
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $0)
+ (get_local $23)
)
)
+ (set_local $15
+ (get_local $1)
+ )
(block
+ (set_local $15
+ (get_local $1)
+ )
+ (br $while-out$116)
+ )
+ )
+ (br $while-in$117)
+ )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
+ (get_local $15)
+ (i32.const 9)
+ )
+ (i32.const 9)
+ (i32.const 0)
+ )
+ )
+ (block
+ (set_local $11
+ (select
+ (get_local $23)
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
+ (get_local $11)
+ )
+ )
+ (if
+ (i32.gt_s
+ (get_local $15)
+ (i32.const -1)
+ )
+ (block
+ (set_local $9
+ (i32.eq
+ (get_local $8)
+ (i32.const 0)
+ )
+ )
+ (set_local $5
+ (get_local $7)
+ )
+ (loop $while-in$121
+ (block $while-out$120
+ (set_local $8
(if
- (i32.gt_u
- (get_local $8)
- (get_local $29)
- )
- (set_local $1
- (get_local $8)
+ (i32.eq
+ (tee_local $1
+ (call $_fmt_u
+ (i32.load
+ (get_local $5)
+ )
+ (i32.const 0)
+ (get_local $45)
+ )
+ )
+ (get_local $45)
)
(block
- (set_local $1
- (get_local $8)
+ (i32.store8
+ (get_local $53)
+ (i32.const 48)
)
- (br $do-once$122)
+ (get_local $53)
)
+ (get_local $1)
)
- (loop $while-out$124 $while-in$125
- (i32.store8
+ )
+ (block $do-once$122
+ (if
+ (i32.eq
+ (get_local $5)
+ (get_local $7)
+ )
+ (block
(set_local $1
(i32.add
- (get_local $1)
- (i32.const -1)
+ (get_local $8)
+ (i32.const 1)
+ )
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $8)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ (br_if $do-once$122
+ (i32.and
+ (get_local $9)
+ (i32.lt_s
+ (get_local $15)
+ (i32.const 1)
+ )
+ )
+ )
+ (br_if $do-once$122
+ (i32.ne
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ (i32.const 0)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
)
)
- (i32.const 48)
)
- (if
- (i32.gt_u
- (get_local $1)
- (get_local $29)
+ (block
+ (if
+ (i32.gt_u
+ (get_local $8)
+ (get_local $29)
+ )
+ (set_local $1
+ (get_local $8)
+ )
+ (block
+ (set_local $1
+ (get_local $8)
+ )
+ (br $do-once$122)
+ )
+ )
+ (loop $while-in$125
+ (block $while-out$124
+ (i32.store8
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-out$124
+ (i32.le_u
+ (get_local $1)
+ (get_local $29)
+ )
+ )
+ (br $while-in$125)
+ )
)
- (get_local $1)
- (br $while-out$124)
)
- (br $while-in$125)
- )
- )
- )
- )
- (set_local $8
- (i32.sub
- (get_local $75)
- (get_local $1)
- )
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
)
- (i32.const 32)
)
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $1)
- (select
- (get_local $8)
- (get_local $14)
- (i32.gt_s
- (get_local $14)
- (get_local $8)
+ (set_local $8
+ (i32.sub
+ (get_local $75)
+ (get_local $1)
)
)
- (get_local $0)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.lt_u
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 4)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
)
+ (i32.const 32)
)
- (get_local $11)
+ (i32.const 0)
)
- (i32.gt_s
- (set_local $14
- (i32.sub
- (get_local $14)
+ (drop
+ (call $___fwritex
+ (get_local $1)
+ (select
(get_local $8)
+ (get_local $15)
+ (i32.gt_s
+ (get_local $15)
+ (get_local $8)
+ )
+ )
+ (get_local $0)
+ )
+ )
+ )
+ (br_if $while-out$120
+ (i32.eqz
+ (i32.and
+ (i32.lt_u
+ (tee_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 4)
+ )
+ )
+ (get_local $11)
+ )
+ (i32.gt_s
+ (tee_local $15
+ (i32.sub
+ (get_local $15)
+ (get_local $8)
+ )
+ )
+ (i32.const -1)
)
)
- (i32.const -1)
)
)
+ (br $while-in$121)
)
- (br $while-out$120)
)
- (br $while-in$121)
)
)
- (get_local $14)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $14)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
+ (get_local $15)
+ (i32.const 18)
+ )
(i32.const 18)
+ (i32.const 0)
)
- (i32.const 18)
- (i32.const 0)
- )
- (br_if $do-once$106
- (i32.ne
- (i32.and
- (i32.load
- (get_local $0)
+ (br_if $do-once$106
+ (i32.ne
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (call $___fwritex
- (get_local $13)
- (i32.sub
- (get_local $40)
- (get_local $13)
+ (drop
+ (call $___fwritex
+ (get_local $13)
+ (i32.sub
+ (get_local $40)
+ (get_local $13)
+ )
+ (get_local $0)
+ )
)
- (get_local $0)
)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $6)
- (i32.xor
- (get_local $18)
- (i32.const 8192)
- )
- )
- (select
- (get_local $16)
- (get_local $6)
- (i32.lt_s
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
(get_local $6)
+ (i32.xor
+ (get_local $18)
+ (i32.const 8192)
+ )
+ )
+ (select
(get_local $16)
+ (get_local $6)
+ (i32.lt_s
+ (get_local $6)
+ (get_local $16)
+ )
)
)
- )
- (block
- (set_local $5
- (select
- (i32.const 4127)
- (i32.const 4131)
- (set_local $8
- (i32.ne
- (i32.and
- (get_local $26)
- (i32.const 32)
+ (block
+ (set_local $5
+ (select
+ (i32.const 4127)
+ (i32.const 4131)
+ (tee_local $8
+ (i32.ne
+ (i32.and
+ (get_local $26)
+ (i32.const 32)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
- )
- (set_local $6
- (select
- (i32.const 0)
- (get_local $51)
- (set_local $1
- (i32.or
- (f64.ne
- (get_local $15)
- (get_local $15)
+ (set_local $6
+ (select
+ (i32.const 0)
+ (get_local $51)
+ (tee_local $1
+ (i32.or
+ (f64.ne
+ (get_local $14)
+ (get_local $14)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
- )
- (set_local $8
- (select
+ (set_local $8
(select
- (i32.const 4135)
- (i32.const 4139)
- (get_local $8)
+ (select
+ (i32.const 4135)
+ (i32.const 4139)
+ (get_local $8)
+ )
+ (get_local $5)
+ (get_local $1)
)
- (get_local $5)
- (get_local $1)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (set_local $5
- (i32.add
- (get_local $6)
- (i32.const 3)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (tee_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const 3)
+ )
)
+ (get_local $7)
)
- (get_local $7)
- )
- (if
- (i32.eq
- (i32.and
- (if
- (i32.eq
- (i32.and
- (set_local $1
- (i32.load
- (get_local $0)
+ (if
+ (i32.eq
+ (i32.and
+ (if
+ (i32.eq
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (get_local $0)
+ )
)
+ (i32.const 32)
)
- (i32.const 32)
- )
- (i32.const 0)
- )
- (block
- (call $___fwritex
- (get_local $39)
- (get_local $6)
- (get_local $0)
+ (i32.const 0)
)
- (i32.load
- (get_local $0)
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $39)
+ (get_local $6)
+ (get_local $0)
+ )
+ )
+ (i32.load
+ (get_local $0)
+ )
)
+ (get_local $1)
)
- (get_local $1)
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $8)
+ (i32.const 3)
+ (get_local $0)
)
- (i32.const 0)
)
- (call $___fwritex
- (get_local $8)
- (i32.const 3)
+ (call $_pad
(get_local $0)
- )
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $5)
- (i32.xor
- (get_local $18)
- (i32.const 8192)
- )
- )
- (select
- (get_local $16)
- (get_local $5)
- (i32.lt_s
+ (i32.const 32)
+ (get_local $16)
(get_local $5)
+ (i32.xor
+ (get_local $18)
+ (i32.const 8192)
+ )
+ )
+ (select
(get_local $16)
+ (get_local $5)
+ (i32.lt_s
+ (get_local $5)
+ (get_local $16)
+ )
)
)
)
)
)
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
)
- (set_local $8
- (get_local $21)
+ (set_local $47
+ (get_local $20)
)
- (br $label$continue$L1)
- )
- (set_local $47
- (get_local $20)
- )
- (set_local $37
- (get_local $18)
- )
- (set_local $42
- (get_local $10)
- )
- (set_local $43
- (i32.const 0)
- )
- (set_local $48
- (i32.const 4091)
- )
- (set_local $49
- (get_local $28)
- )
- )
- (block $label$break$L308
- (if
- (i32.eq
- (get_local $12)
- (i32.const 64)
+ (set_local $37
+ (get_local $18)
)
- (block
- (set_local $7
- (i32.and
- (get_local $68)
- (i32.const 32)
- )
+ (set_local $42
+ (get_local $10)
+ )
+ (set_local $43
+ (i32.const 0)
+ )
+ (set_local $48
+ (i32.const 4091)
+ )
+ (set_local $49
+ (get_local $28)
+ )
+ )
+ (block $label$break$L308
+ (if
+ (i32.eq
+ (get_local $12)
+ (i32.const 64)
)
- (set_local $58
- (if
+ (block
+ (set_local $7
(i32.and
- (i32.eq
- (set_local $5
- (i32.load
- (set_local $1
- (get_local $19)
+ (get_local $68)
+ (i32.const 32)
+ )
+ )
+ (set_local $58
+ (if
+ (i32.and
+ (i32.eq
+ (tee_local $5
+ (i32.load
+ (tee_local $1
+ (get_local $19)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (i32.eq
- (set_local $1
- (i32.load offset=4
- (get_local $1)
+ (i32.eq
+ (tee_local $1
+ (i32.load offset=4
+ (get_local $1)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- )
- (block
- (set_local $34
- (get_local $46)
- )
- (set_local $32
- (get_local $57)
)
- (set_local $35
- (i32.const 0)
- )
- (set_local $36
- (i32.const 4091)
- )
- (set_local $12
- (i32.const 77)
- )
- (get_local $28)
- )
- (block
- (set_local $6
+ (block
+ (set_local $34
+ (get_local $46)
+ )
+ (set_local $32
+ (get_local $57)
+ )
+ (set_local $35
+ (i32.const 0)
+ )
+ (set_local $36
+ (i32.const 4091)
+ )
+ (set_local $12
+ (i32.const 77)
+ )
(get_local $28)
)
- (loop $while-out$129 $while-in$130
- (i32.store8
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
+ (block
+ (set_local $6
+ (get_local $28)
+ )
+ (loop $while-in$130
+ (block $while-out$129
+ (i32.store8
+ (tee_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
+ )
+ )
+ (i32.and
+ (i32.or
+ (i32.and
+ (i32.load8_s
+ (i32.add
+ (i32.and
+ (get_local $5)
+ (i32.const 15)
+ )
+ (i32.const 4075)
+ )
+ )
+ (i32.const 255)
+ )
+ (get_local $7)
+ )
+ (i32.const 255)
+ )
)
- )
- (i32.and
- (i32.or
+ (br_if $while-out$129
(i32.and
- (i32.load8_s
- (i32.add
- (i32.and
+ (i32.eq
+ (tee_local $5
+ (call $_bitshift64Lshr
(get_local $5)
- (i32.const 15)
+ (get_local $1)
+ (i32.const 4)
)
- (i32.const 4075)
)
+ (i32.const 0)
+ )
+ (i32.eq
+ (tee_local $1
+ (get_global $tempRet0)
+ )
+ (i32.const 0)
)
- (i32.const 255)
)
- (get_local $7)
)
- (i32.const 255)
+ (br $while-in$130)
)
)
(if
- (i32.and
+ (i32.or
(i32.eq
- (set_local $5
- (call $_bitshift64Lshr
- (get_local $5)
- (get_local $1)
- (i32.const 4)
- )
+ (i32.and
+ (get_local $46)
+ (i32.const 8)
)
(i32.const 0)
)
- (i32.eq
- (set_local $1
+ (i32.and
+ (i32.eq
(i32.load
- (i32.const 168)
+ (tee_local $1
+ (get_local $19)
+ )
)
+ (i32.const 0)
+ )
+ (i32.eq
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
)
- (br $while-out$129)
- )
- (br $while-in$130)
- )
- (if
- (i32.or
- (i32.eq
- (i32.and
+ (block
+ (set_local $34
(get_local $46)
- (i32.const 8)
)
- (i32.const 0)
- )
- (i32.and
- (i32.eq
- (i32.load
- (set_local $1
- (get_local $19)
- )
- )
- (i32.const 0)
+ (set_local $32
+ (get_local $57)
)
- (i32.eq
- (i32.load offset=4
- (get_local $1)
- )
+ (set_local $35
(i32.const 0)
)
- )
- )
- (block
- (set_local $34
- (get_local $46)
- )
- (set_local $32
- (get_local $57)
- )
- (set_local $35
- (i32.const 0)
- )
- (set_local $36
- (i32.const 4091)
- )
- (set_local $12
- (i32.const 77)
- )
- (get_local $6)
- )
- (block
- (set_local $34
- (get_local $46)
- )
- (set_local $32
- (get_local $57)
- )
- (set_local $35
- (i32.const 2)
- )
- (set_local $36
- (i32.add
+ (set_local $36
(i32.const 4091)
- (i32.shr_s
- (get_local $68)
- (i32.const 4)
- )
)
+ (set_local $12
+ (i32.const 77)
+ )
+ (get_local $6)
)
- (set_local $12
- (i32.const 77)
+ (block
+ (set_local $34
+ (get_local $46)
+ )
+ (set_local $32
+ (get_local $57)
+ )
+ (set_local $35
+ (i32.const 2)
+ )
+ (set_local $36
+ (i32.add
+ (i32.const 4091)
+ (i32.shr_s
+ (get_local $68)
+ (i32.const 4)
+ )
+ )
+ )
+ (set_local $12
+ (i32.const 77)
+ )
+ (get_local $6)
)
- (get_local $6)
)
)
)
)
)
- )
- (if
- (i32.eq
- (get_local $12)
- (i32.const 76)
- )
- (block
- (set_local $58
- (call $_fmt_u
- (get_local $33)
- (get_local $59)
- (get_local $28)
- )
- )
- (set_local $34
- (get_local $18)
- )
- (set_local $32
- (get_local $10)
- )
- (set_local $35
- (get_local $60)
- )
- (set_local $36
- (get_local $61)
- )
- (set_local $12
- (i32.const 77)
- )
- )
(if
(i32.eq
(get_local $12)
- (i32.const 82)
+ (i32.const 76)
)
(block
- (set_local $12
- (i32.const 0)
- )
- (set_local $5
- (i32.eq
- (set_local $1
- (call $_memchr
- (get_local $50)
- (i32.const 0)
- (get_local $10)
- )
- )
- (i32.const 0)
+ (set_local $58
+ (call $_fmt_u
+ (get_local $33)
+ (get_local $59)
+ (get_local $28)
)
)
- (set_local $47
- (get_local $50)
- )
- (set_local $37
- (get_local $7)
+ (set_local $34
+ (get_local $18)
)
- (set_local $42
- (select
- (get_local $10)
- (i32.sub
- (get_local $1)
- (get_local $50)
- )
- (get_local $5)
- )
+ (set_local $32
+ (get_local $10)
)
- (set_local $43
- (i32.const 0)
+ (set_local $35
+ (get_local $60)
)
- (set_local $48
- (i32.const 4091)
+ (set_local $36
+ (get_local $61)
)
- (set_local $49
- (select
- (i32.add
- (get_local $50)
- (get_local $10)
- )
- (get_local $1)
- (get_local $5)
- )
+ (set_local $12
+ (i32.const 77)
)
)
(if
(i32.eq
(get_local $12)
- (i32.const 86)
+ (i32.const 82)
)
(block
(set_local $12
(i32.const 0)
)
- (set_local $7
- (i32.const 0)
- )
(set_local $5
- (i32.const 0)
- )
- (set_local $6
- (i32.load
- (get_local $19)
- )
- )
- (loop $while-out$131 $while-in$132
- (if
- (i32.eq
- (set_local $1
- (i32.load
- (get_local $6)
- )
- )
- (i32.const 0)
- )
- (br $while-out$131)
- )
- (if
- (i32.or
- (i32.lt_s
- (set_local $5
- (call $_wctomb
- (get_local $63)
- (get_local $1)
- )
- )
+ (i32.eq
+ (tee_local $1
+ (call $_memchr
+ (get_local $50)
(i32.const 0)
- )
- (i32.gt_u
- (get_local $5)
- (i32.sub
- (get_local $69)
- (get_local $7)
- )
+ (get_local $10)
)
)
- (br $while-out$131)
- )
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
+ (i32.const 0)
)
- (if
- (i32.gt_u
- (get_local $69)
- (set_local $1
- (i32.add
- (get_local $5)
- (get_local $7)
- )
- )
- )
- (set_local $7
+ )
+ (set_local $47
+ (get_local $50)
+ )
+ (set_local $37
+ (get_local $7)
+ )
+ (set_local $42
+ (select
+ (get_local $10)
+ (i32.sub
(get_local $1)
+ (get_local $50)
)
- (block
- (set_local $7
- (get_local $1)
- )
- (br $while-out$131)
- )
- )
- (br $while-in$132)
- )
- (if
- (i32.lt_s
(get_local $5)
- (i32.const 0)
)
- (block
- (set_local $24
- (i32.const -1)
+ )
+ (set_local $43
+ (i32.const 0)
+ )
+ (set_local $48
+ (i32.const 4091)
+ )
+ (set_local $49
+ (select
+ (i32.add
+ (get_local $50)
+ (get_local $10)
)
- (br $label$break$L1)
+ (get_local $1)
+ (get_local $5)
)
)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $7)
- (get_local $18)
+ )
+ (if
+ (i32.eq
+ (get_local $12)
+ (i32.const 86)
)
- (if
- (i32.eq
- (get_local $7)
+ (block
+ (set_local $12
(i32.const 0)
)
- (block
- (set_local $38
- (i32.const 0)
- )
- (set_local $12
- (i32.const 98)
- )
+ (set_local $7
+ (i32.const 0)
)
- (block
- (set_local $6
- (i32.const 0)
- )
- (set_local $8
- (i32.load
- (get_local $19)
- )
+ (set_local $5
+ (i32.const 0)
+ )
+ (set_local $6
+ (i32.load
+ (get_local $19)
)
- (loop $while-out$133 $while-in$134
- (if
+ )
+ (loop $while-in$132
+ (block $while-out$131
+ (br_if $while-out$131
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load
- (get_local $8)
+ (get_local $6)
)
)
(i32.const 0)
)
- (block
- (set_local $38
- (get_local $7)
+ )
+ (br_if $while-out$131
+ (i32.or
+ (i32.lt_s
+ (tee_local $5
+ (call $_wctomb
+ (get_local $63)
+ (get_local $1)
+ )
+ )
+ (i32.const 0)
)
- (set_local $12
- (i32.const 98)
+ (i32.gt_u
+ (get_local $5)
+ (i32.sub
+ (get_local $69)
+ (get_local $7)
+ )
)
- (br $label$break$L308)
)
)
- (set_local $8
+ (set_local $6
(i32.add
- (get_local $8)
+ (get_local $6)
(i32.const 4)
)
)
(if
- (i32.gt_s
- (set_local $1
+ (i32.gt_u
+ (get_local $69)
+ (tee_local $1
(i32.add
- (set_local $5
- (call $_wctomb
- (get_local $63)
- (get_local $1)
- )
- )
- (get_local $6)
+ (get_local $5)
+ (get_local $7)
)
)
- (get_local $7)
+ )
+ (set_local $7
+ (get_local $1)
)
(block
- (set_local $38
- (get_local $7)
- )
- (set_local $12
- (i32.const 98)
+ (set_local $7
+ (get_local $1)
)
- (br $label$break$L308)
+ (br $while-out$131)
)
)
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $63)
- (get_local $5)
- (get_local $0)
- )
+ (br $while-in$132)
+ )
+ )
+ (if
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (block
+ (set_local $24
+ (i32.const -1)
)
- (if
- (i32.lt_u
- (get_local $1)
- (get_local $7)
- )
- (set_local $6
- (get_local $1)
+ (br $label$break$L1)
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (get_local $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)
+ )
+ )
+ (block
+ (set_local $6
+ (i32.const 0)
+ )
+ (set_local $8
+ (i32.load
+ (get_local $19)
)
- (block
- (set_local $38
- (get_local $7)
+ )
+ (loop $while-in$134
+ (block $while-out$133
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.load
+ (get_local $8)
+ )
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $38
+ (get_local $7)
+ )
+ (set_local $12
+ (i32.const 98)
+ )
+ (br $label$break$L308)
+ )
)
- (set_local $12
- (i32.const 98)
+ (set_local $8
+ (i32.add
+ (get_local $8)
+ (i32.const 4)
+ )
+ )
+ (if
+ (i32.gt_s
+ (tee_local $1
+ (i32.add
+ (tee_local $5
+ (call $_wctomb
+ (get_local $63)
+ (get_local $1)
+ )
+ )
+ (get_local $6)
+ )
+ )
+ (get_local $7)
+ )
+ (block
+ (set_local $38
+ (get_local $7)
+ )
+ (set_local $12
+ (i32.const 98)
+ )
+ (br $label$break$L308)
+ )
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
+ )
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $63)
+ (get_local $5)
+ (get_local $0)
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $1)
+ (get_local $7)
+ )
+ (set_local $6
+ (get_local $1)
+ )
+ (block
+ (set_local $38
+ (get_local $7)
+ )
+ (set_local $12
+ (i32.const 98)
+ )
+ (br $while-out$133)
+ )
)
- (br $while-out$133)
+ (br $while-in$134)
)
)
- (br $while-in$134)
)
)
)
@@ -8299,267 +8161,267 @@
)
)
)
- )
- (if
- (i32.eq
- (get_local $12)
- (i32.const 98)
- )
- (block
- (set_local $12
- (i32.const 0)
+ (if
+ (i32.eq
+ (get_local $12)
+ (i32.const 98)
)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $38)
- (i32.xor
- (get_local $18)
- (i32.const 8192)
+ (block
+ (set_local $12
+ (i32.const 0)
)
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (select
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
(get_local $16)
(get_local $38)
- (i32.gt_s
+ (i32.xor
+ (get_local $18)
+ (i32.const 8192)
+ )
+ )
+ (set_local $20
+ (get_local $9)
+ )
+ (set_local $1
+ (select
(get_local $16)
(get_local $38)
+ (i32.gt_s
+ (get_local $16)
+ (get_local $38)
+ )
)
)
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
)
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- )
- (if
- (i32.eq
- (get_local $12)
- (i32.const 77)
)
- (block
- (set_local $12
- (i32.const 0)
+ (if
+ (i32.eq
+ (get_local $12)
+ (i32.const 77)
)
- (set_local $5
- (select
- (i32.and
- (get_local $34)
- (i32.const -65537)
- )
- (get_local $34)
- (i32.gt_s
- (get_local $32)
- (i32.const -1)
- )
+ (block
+ (set_local $12
+ (i32.const 0)
)
- )
- (set_local $47
- (if
- (i32.or
- (i32.ne
+ (set_local $5
+ (select
+ (i32.and
+ (get_local $34)
+ (i32.const -65537)
+ )
+ (get_local $34)
+ (i32.gt_s
(get_local $32)
- (i32.const 0)
+ (i32.const -1)
)
- (set_local $1
- (i32.or
- (i32.ne
- (i32.load
- (set_local $1
- (get_local $19)
+ )
+ )
+ (set_local $47
+ (if
+ (i32.or
+ (i32.ne
+ (get_local $32)
+ (i32.const 0)
+ )
+ (tee_local $1
+ (i32.or
+ (i32.ne
+ (i32.load
+ (tee_local $1
+ (get_local $19)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (i32.ne
- (i32.load offset=4
- (get_local $1)
+ (i32.ne
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
- )
- (block
- (set_local $7
- (i32.gt_s
- (get_local $32)
- (set_local $1
- (i32.add
- (i32.xor
- (i32.and
- (get_local $1)
+ (block
+ (set_local $7
+ (i32.gt_s
+ (get_local $32)
+ (tee_local $1
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $1)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
- )
- (i32.sub
- (get_local $71)
- (get_local $58)
+ (i32.sub
+ (get_local $71)
+ (get_local $58)
+ )
)
)
)
)
- )
- (set_local $37
- (get_local $5)
- )
- (set_local $42
- (select
- (get_local $32)
- (get_local $1)
- (get_local $7)
+ (set_local $37
+ (get_local $5)
)
+ (set_local $42
+ (select
+ (get_local $32)
+ (get_local $1)
+ (get_local $7)
+ )
+ )
+ (set_local $43
+ (get_local $35)
+ )
+ (set_local $48
+ (get_local $36)
+ )
+ (set_local $49
+ (get_local $28)
+ )
+ (get_local $58)
)
- (set_local $43
- (get_local $35)
- )
- (set_local $48
- (get_local $36)
- )
- (set_local $49
- (get_local $28)
- )
- (get_local $58)
- )
- (block
- (set_local $37
- (get_local $5)
- )
- (set_local $42
- (i32.const 0)
- )
- (set_local $43
- (get_local $35)
- )
- (set_local $48
- (get_local $36)
- )
- (set_local $49
+ (block
+ (set_local $37
+ (get_local $5)
+ )
+ (set_local $42
+ (i32.const 0)
+ )
+ (set_local $43
+ (get_local $35)
+ )
+ (set_local $48
+ (get_local $36)
+ )
+ (set_local $49
+ (get_local $28)
+ )
(get_local $28)
)
- (get_local $28)
)
)
)
)
- )
- (set_local $1
- (i32.lt_s
- (get_local $42)
- (set_local $7
- (i32.sub
- (get_local $49)
- (get_local $47)
+ (set_local $1
+ (i32.lt_s
+ (get_local $42)
+ (tee_local $7
+ (i32.sub
+ (get_local $49)
+ (get_local $47)
+ )
)
)
)
- )
- (set_local $5
- (i32.lt_s
- (get_local $16)
- (set_local $1
- (i32.add
- (get_local $43)
- (set_local $6
- (select
- (get_local $7)
- (get_local $42)
- (get_local $1)
+ (set_local $5
+ (i32.lt_s
+ (get_local $16)
+ (tee_local $1
+ (i32.add
+ (get_local $43)
+ (tee_local $6
+ (select
+ (get_local $7)
+ (get_local $42)
+ (get_local $1)
+ )
)
)
)
)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (set_local $5
- (select
- (get_local $1)
- (get_local $16)
- (get_local $5)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (tee_local $5
+ (select
+ (get_local $1)
+ (get_local $16)
+ (get_local $5)
+ )
)
+ (get_local $1)
+ (get_local $37)
)
- (get_local $1)
- (get_local $37)
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $48)
+ (get_local $43)
+ (get_local $0)
)
- (i32.const 0)
)
- (call $___fwritex
- (get_local $48)
- (get_local $43)
+ (call $_pad
(get_local $0)
+ (i32.const 48)
+ (get_local $5)
+ (get_local $1)
+ (i32.xor
+ (get_local $37)
+ (i32.const 65536)
+ )
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $5)
- (get_local $1)
- (i32.xor
- (get_local $37)
- (i32.const 65536)
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $6)
+ (get_local $7)
+ (i32.const 0)
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (get_local $6)
- (get_local $7)
- (i32.const 0)
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $47)
+ (get_local $7)
+ (get_local $0)
)
- (i32.const 0)
)
- (call $___fwritex
- (get_local $47)
- (get_local $7)
+ (call $_pad
(get_local $0)
+ (i32.const 32)
+ (get_local $5)
+ (get_local $1)
+ (i32.xor
+ (get_local $37)
+ (i32.const 8192)
+ )
)
- )
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $5)
- (get_local $1)
- (i32.xor
- (get_local $37)
- (i32.const 8192)
+ (set_local $20
+ (get_local $9)
)
+ (set_local $1
+ (get_local $5)
+ )
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
)
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $5)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
)
(block $label$break$L343
(if
@@ -8584,103 +8446,105 @@
(set_local $1
(i32.const 1)
)
- (loop $while-out$136 $while-in$137
- (if
- (i32.eq
- (set_local $0
- (i32.load
- (i32.add
- (get_local $4)
- (i32.shl
- (get_local $1)
- (i32.const 2)
+ (loop $while-in$137
+ (block $while-out$136
+ (br_if $while-out$136
+ (i32.eq
+ (tee_local $0
+ (i32.load
+ (i32.add
+ (get_local $4)
+ (i32.shl
+ (get_local $1)
+ (i32.const 2)
+ )
)
)
)
- )
- (i32.const 0)
- )
- (br $while-out$136)
- )
- (call $_pop_arg_336
- (i32.add
- (get_local $3)
- (i32.shl
- (get_local $1)
- (i32.const 3)
+ (i32.const 0)
)
)
- (get_local $0)
- (get_local $2)
- )
- (if
- (i32.lt_s
- (set_local $1
- (i32.add
+ (call $_pop_arg_336
+ (i32.add
+ (get_local $3)
+ (i32.shl
(get_local $1)
- (i32.const 1)
+ (i32.const 3)
)
)
- (i32.const 10)
+ (get_local $0)
+ (get_local $2)
)
- (get_local $1)
- (block
- (set_local $24
- (i32.const 1)
+ (if
+ (i32.ge_s
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
+ (i32.const 10)
+ )
+ (block
+ (set_local $24
+ (i32.const 1)
+ )
+ (br $label$break$L343)
)
- (br $label$break$L343)
)
+ (br $while-in$137)
)
- (br $while-in$137)
)
(if
(i32.lt_s
(get_local $1)
(i32.const 10)
)
- (loop $while-out$138 $while-in$139
- (set_local $0
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (loop $while-in$139
+ (block $while-out$138
+ (set_local $0
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
)
- )
- (if
- (i32.ne
- (i32.load
- (i32.add
- (get_local $4)
- (i32.shl
- (get_local $1)
- (i32.const 2)
+ (if
+ (i32.ne
+ (i32.load
+ (i32.add
+ (get_local $4)
+ (i32.shl
+ (get_local $1)
+ (i32.const 2)
+ )
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $24
- (i32.const -1)
+ (block
+ (set_local $24
+ (i32.const -1)
+ )
+ (br $label$break$L343)
)
- (br $label$break$L343)
- )
- )
- (if
- (i32.lt_s
- (get_local $0)
- (i32.const 10)
)
- (set_local $1
- (get_local $0)
- )
- (block
- (set_local $24
- (i32.const 1)
+ (if
+ (i32.lt_s
+ (get_local $0)
+ (i32.const 10)
+ )
+ (set_local $1
+ (get_local $0)
+ )
+ (block
+ (set_local $24
+ (i32.const 1)
+ )
+ (br $while-out$138)
)
- (br $while-out$138)
)
+ (br $while-in$139)
)
- (br $while-in$139)
)
(set_local $24
(i32.const 1)
@@ -8694,8 +8558,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $31)
)
(get_local $24)
@@ -8704,9 +8567,6 @@
(local $3 i32)
(local $4 f64)
(local $5 i32)
- (i32.load
- (i32.const 8)
- )
(block $label$break$L1
(if
(i32.le_u
@@ -8733,7 +8593,7 @@
)
(set_local $3
(i32.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -8761,7 +8621,7 @@
)
(set_local $3
(i32.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -8802,7 +8662,7 @@
)
(set_local $3
(i32.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -8834,8 +8694,8 @@
)
(set_local $5
(i32.load
- (set_local $3
- (set_local $1
+ (tee_local $3
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -8873,7 +8733,7 @@
)
(set_local $3
(i32.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -8897,7 +8757,7 @@
(i32.shr_s
(i32.shl
(i32.lt_s
- (set_local $1
+ (tee_local $1
(i32.shr_s
(i32.shl
(i32.and
@@ -8928,7 +8788,7 @@
)
(set_local $3
(i32.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -8963,7 +8823,7 @@
)
(set_local $3
(i32.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -8987,7 +8847,7 @@
(i32.shr_s
(i32.shl
(i32.lt_s
- (set_local $1
+ (tee_local $1
(i32.shr_s
(i32.shl
(i32.and
@@ -9018,7 +8878,7 @@
)
(set_local $3
(i32.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -9053,7 +8913,7 @@
)
(set_local $4
(f64.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -9081,7 +8941,7 @@
)
(set_local $4
(f64.load
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -9112,9 +8972,6 @@
(func $_fmt_u (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
- (i32.load
- (i32.const 8)
- )
(set_local $0
(if
(i32.or
@@ -9140,74 +8997,71 @@
(set_local $4
(get_local $1)
)
- (loop $while-out$0 $while-in$1
- (set_local $0
- (call $___uremdi3
- (get_local $3)
- (get_local $4)
- (i32.const 10)
- (i32.const 0)
- )
- )
- (i32.load
- (i32.const 168)
- )
- (i32.store8
- (set_local $2
- (i32.add
- (get_local $2)
- (i32.const -1)
+ (loop $while-in$1
+ (block $while-out$0
+ (set_local $0
+ (call $___uremdi3
+ (get_local $3)
+ (get_local $4)
+ (i32.const 10)
+ (i32.const 0)
)
)
- (i32.and
- (i32.or
- (get_local $0)
- (i32.const 48)
+ (i32.store8
+ (tee_local $2
+ (i32.add
+ (get_local $2)
+ (i32.const -1)
+ )
+ )
+ (i32.and
+ (i32.or
+ (get_local $0)
+ (i32.const 48)
+ )
+ (i32.const 255)
)
- (i32.const 255)
- )
- )
- (set_local $0
- (call $___udivdi3
- (get_local $3)
- (get_local $4)
- (i32.const 10)
- (i32.const 0)
- )
- )
- (set_local $1
- (i32.load
- (i32.const 168)
)
- )
- (if
- (i32.or
- (i32.gt_u
+ (set_local $0
+ (call $___udivdi3
+ (get_local $3)
(get_local $4)
- (i32.const 9)
+ (i32.const 10)
+ (i32.const 0)
)
- (i32.and
- (i32.eq
+ )
+ (set_local $1
+ (get_global $tempRet0)
+ )
+ (if
+ (i32.or
+ (i32.gt_u
(get_local $4)
(i32.const 9)
)
- (i32.gt_u
- (get_local $3)
- (i32.const -1)
+ (i32.and
+ (i32.eq
+ (get_local $4)
+ (i32.const 9)
+ )
+ (i32.gt_u
+ (get_local $3)
+ (i32.const -1)
+ )
)
)
- )
- (block
- (set_local $3
- (get_local $0)
- )
- (set_local $4
- (get_local $1)
+ (block
+ (set_local $3
+ (get_local $0)
+ )
+ (set_local $4
+ (get_local $1)
+ )
)
+ (br $while-out$0)
)
- (br $while-out$0)
+ (br $while-in$1)
)
- (br $while-in$1)
)
(set_local $3
(get_local $0)
@@ -9223,62 +9077,63 @@
)
)
(if
- (i32.eq
+ (i32.ne
(get_local $3)
(i32.const 0)
)
- (get_local $0)
(block
(set_local $1
(get_local $0)
)
- (loop $while-out$2 $while-in$3
- (i32.store8
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const -1)
+ (loop $while-in$3
+ (block $while-out$2
+ (i32.store8
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const -1)
+ )
)
- )
- (i32.and
- (i32.or
- (i32.and
- (i32.rem_u
- (get_local $3)
- (i32.const 10)
+ (i32.and
+ (i32.or
+ (i32.and
+ (i32.rem_u
+ (get_local $3)
+ (i32.const 10)
+ )
+ (i32.const -1)
)
- (i32.const -1)
+ (i32.const 48)
)
- (i32.const 48)
+ (i32.const 255)
)
- (i32.const 255)
)
- )
- (set_local $0
- (i32.and
- (i32.div_u
+ (set_local $0
+ (i32.and
+ (i32.div_u
+ (get_local $3)
+ (i32.const 10)
+ )
+ (i32.const -1)
+ )
+ )
+ (if
+ (i32.lt_u
(get_local $3)
(i32.const 10)
)
- (i32.const -1)
- )
- )
- (if
- (i32.lt_u
- (get_local $3)
- (i32.const 10)
- )
- (block
- (set_local $0
- (get_local $1)
+ (block
+ (set_local $0
+ (get_local $1)
+ )
+ (br $while-out$2)
+ )
+ (set_local $3
+ (get_local $0)
)
- (br $while-out$2)
- )
- (set_local $3
- (get_local $0)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
@@ -9289,27 +9144,18 @@
(local $6 i32)
(local $7 i32)
(set_local $7
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 256)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -9334,7 +9180,7 @@
(block
(set_local $4
(i32.gt_u
- (set_local $5
+ (tee_local $5
(i32.sub
(get_local $2)
(get_local $3)
@@ -9343,19 +9189,21 @@
(i32.const 256)
)
)
- (call $_memset
- (get_local $6)
- (get_local $1)
- (select
- (i32.const 256)
- (get_local $5)
- (get_local $4)
+ (drop
+ (call $_memset
+ (get_local $6)
+ (get_local $1)
+ (select
+ (i32.const 256)
+ (get_local $5)
+ (get_local $4)
+ )
)
)
(set_local $4
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(get_local $0)
)
@@ -9380,44 +9228,47 @@
(set_local $3
(get_local $5)
)
- (loop $while-out$2 $while-in$3
- (set_local $4
- (i32.eq
- (i32.and
- (set_local $1
- (if
- (get_local $4)
- (block
- (call $___fwritex
- (get_local $6)
- (i32.const 256)
- (get_local $0)
- )
- (i32.load
- (get_local $0)
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $4
+ (i32.eq
+ (i32.and
+ (tee_local $1
+ (if
+ (get_local $4)
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $6)
+ (i32.const 256)
+ (get_local $0)
+ )
+ )
+ (i32.load
+ (get_local $0)
+ )
)
+ (get_local $1)
)
- (get_local $1)
)
+ (i32.const 32)
)
- (i32.const 32)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (if
- (i32.le_u
- (set_local $3
- (i32.add
- (get_local $3)
- (i32.const -256)
+ (br_if $while-out$2
+ (i32.le_u
+ (tee_local $3
+ (i32.add
+ (get_local $3)
+ (i32.const -256)
+ )
)
+ (i32.const 255)
)
- (i32.const 255)
)
- (br $while-out$2)
+ (br $while-in$3)
)
- (br $while-in$3)
)
(set_local $1
(i32.and
@@ -9425,10 +9276,10 @@
(i32.const 255)
)
)
- (if
- (get_local $4)
- (get_local $1)
- (br $do-once$0)
+ (br_if $do-once$0
+ (i32.eqz
+ (get_local $4)
+ )
)
)
(if
@@ -9439,16 +9290,17 @@
(br $do-once$0)
)
)
- (call $___fwritex
- (get_local $6)
- (get_local $1)
- (get_local $0)
+ (drop
+ (call $___fwritex
+ (get_local $6)
+ (get_local $1)
+ (get_local $0)
+ )
)
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $7)
)
)
@@ -9499,9 +9351,6 @@
(local $44 i32)
(local $45 i32)
(local $46 i32)
- (i32.load
- (i32.const 8)
- )
(block $do-once$0
(if
(i32.lt_u
@@ -9512,16 +9361,16 @@
(if
(i32.ne
(i32.and
- (set_local $25
+ (tee_local $25
(i32.shr_u
- (set_local $4
+ (tee_local $4
(i32.load
(i32.const 176)
)
)
- (set_local $22
+ (tee_local $22
(i32.shr_u
- (set_local $6
+ (tee_local $6
(select
(i32.const 16)
(i32.and
@@ -9549,18 +9398,18 @@
(block
(set_local $2
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
- (set_local $9
+ (tee_local $9
(i32.add
(i32.const 216)
(i32.shl
(i32.shl
- (set_local $8
+ (tee_local $8
(i32.add
(i32.xor
(i32.and
@@ -9619,7 +9468,7 @@
(if
(i32.eq
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $2)
(i32.const 12)
@@ -9645,7 +9494,7 @@
(i32.store offset=4
(get_local $1)
(i32.or
- (set_local $0
+ (tee_local $0
(i32.shl
(get_local $8)
(i32.const 3)
@@ -9657,7 +9506,7 @@
(set_local $1
(i32.or
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(i32.add
(get_local $1)
@@ -9682,7 +9531,7 @@
(if
(i32.gt_u
(get_local $6)
- (set_local $10
+ (tee_local $10
(i32.load
(i32.const 184)
)
@@ -9698,7 +9547,7 @@
(set_local $1
(i32.sub
(i32.const 0)
- (set_local $0
+ (tee_local $0
(i32.shl
(i32.const 2)
(get_local $22)
@@ -9709,7 +9558,7 @@
(set_local $1
(i32.sub
(i32.const 0)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shl
(get_local $25)
@@ -9726,7 +9575,7 @@
(set_local $0
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.add
(i32.and
(get_local $0)
@@ -9742,27 +9591,27 @@
)
(set_local $0
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
- (set_local $9
+ (tee_local $9
(i32.add
(i32.const 216)
(i32.shl
(i32.shl
- (set_local $8
+ (tee_local $8
(i32.add
(i32.or
(i32.or
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
- (set_local $2
+ (tee_local $2
(i32.shr_u
(get_local $1)
(get_local $0)
@@ -9775,10 +9624,10 @@
)
(get_local $0)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $2)
(get_local $1)
@@ -9790,10 +9639,10 @@
)
)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $1)
(get_local $0)
@@ -9805,10 +9654,10 @@
)
)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $1)
(get_local $0)
@@ -9878,7 +9727,7 @@
(if
(i32.eq
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $0)
(i32.const 12)
@@ -9914,14 +9763,14 @@
)
)
(i32.store offset=4
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $2)
(get_local $6)
)
)
(i32.or
- (set_local $9
+ (tee_local $9
(i32.sub
(i32.shl
(get_local $8)
@@ -9956,7 +9805,7 @@
(i32.const 216)
(i32.shl
(i32.shl
- (set_local $2
+ (tee_local $2
(i32.shr_u
(get_local $7)
(i32.const 3)
@@ -9971,12 +9820,12 @@
(if
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 176)
)
)
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 1)
(get_local $2)
@@ -10005,9 +9854,9 @@
)
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $8)
(i32.const 8)
@@ -10062,20 +9911,19 @@
)
)
(if
- (i32.eq
- (set_local $0
+ (i32.ne
+ (tee_local $0
(i32.load
(i32.const 180)
)
)
(i32.const 0)
)
- (get_local $6)
(block
(set_local $0
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.add
(i32.and
(get_local $0)
@@ -10096,7 +9944,7 @@
(i32.sub
(i32.and
(i32.load offset=4
- (set_local $0
+ (tee_local $0
(i32.load offset=480
(i32.shl
(i32.add
@@ -10104,10 +9952,10 @@
(i32.or
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
- (set_local $2
+ (tee_local $2
(i32.shr_u
(get_local $1)
(get_local $0)
@@ -10120,10 +9968,10 @@
)
(get_local $0)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $2)
(get_local $1)
@@ -10135,10 +9983,10 @@
)
)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $1)
(get_local $0)
@@ -10150,10 +9998,10 @@
)
)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $1)
(get_local $0)
@@ -10186,81 +10034,83 @@
(set_local $8
(get_local $0)
)
- (loop $while-out$6 $while-in$7
- (if
- (i32.eq
- (set_local $0
- (i32.load offset=16
- (get_local $4)
- )
- )
- (i32.const 0)
- )
+ (loop $while-in$7
+ (block $while-out$6
(if
(i32.eq
- (set_local $0
- (i32.load offset=20
+ (tee_local $0
+ (i32.load offset=16
(get_local $4)
)
)
(i32.const 0)
)
- (block
- (set_local $7
- (get_local $2)
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $4)
+ )
+ )
+ (i32.const 0)
)
- (set_local $10
- (get_local $8)
+ (block
+ (set_local $7
+ (get_local $2)
+ )
+ (set_local $10
+ (get_local $8)
+ )
+ (br $while-out$6)
+ )
+ (set_local $1
+ (get_local $0)
)
- (br $while-out$6)
)
(set_local $1
(get_local $0)
)
)
- (set_local $1
- (get_local $0)
- )
- )
- (set_local $0
- (i32.lt_u
- (set_local $4
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $1)
+ (set_local $0
+ (i32.lt_u
+ (tee_local $4
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $6)
)
- (get_local $6)
)
+ (get_local $2)
)
- (get_local $2)
)
- )
- (set_local $2
- (select
- (get_local $4)
- (get_local $2)
- (get_local $0)
+ (set_local $2
+ (select
+ (get_local $4)
+ (get_local $2)
+ (get_local $0)
+ )
)
- )
- (set_local $4
- (get_local $1)
- )
- (set_local $8
- (select
+ (set_local $4
(get_local $1)
- (get_local $8)
- (get_local $0)
)
+ (set_local $8
+ (select
+ (get_local $1)
+ (get_local $8)
+ (get_local $0)
+ )
+ )
+ (br $while-in$7)
)
- (br $while-in$7)
)
(if
(i32.lt_u
(get_local $10)
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 192)
)
@@ -10271,7 +10121,7 @@
(if
(i32.ge_u
(get_local $10)
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $10)
(get_local $6)
@@ -10288,7 +10138,7 @@
(block $do-once$8
(if
(i32.eq
- (set_local $2
+ (tee_local $2
(i32.load offset=12
(get_local $10)
)
@@ -10298,9 +10148,9 @@
(block
(if
(i32.eq
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
(get_local $10)
(i32.const 20)
@@ -10312,9 +10162,9 @@
)
(if
(i32.eq
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
(get_local $10)
(i32.const 16)
@@ -10338,56 +10188,58 @@
(get_local $2)
)
)
- (loop $while-out$10 $while-in$11
- (if
- (i32.ne
- (set_local $2
- (i32.load
- (set_local $5
- (i32.add
- (get_local $4)
- (i32.const 20)
+ (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.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $4
- (get_local $2)
- )
- (set_local $8
- (get_local $5)
+ (block
+ (set_local $4
+ (get_local $2)
+ )
+ (set_local $8
+ (get_local $5)
+ )
+ (br $while-in$11)
)
- (br $while-in$11)
)
- )
- (if
- (i32.eq
- (set_local $2
- (i32.load
- (set_local $5
- (i32.add
- (get_local $4)
- (i32.const 16)
+ (if
+ (i32.eq
+ (tee_local $2
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $4)
+ (i32.const 16)
+ )
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (br $while-out$10)
- (block
- (set_local $4
- (get_local $2)
- )
- (set_local $8
- (get_local $5)
+ (br $while-out$10)
+ (block
+ (set_local $4
+ (get_local $2)
+ )
+ (set_local $8
+ (get_local $5)
+ )
)
)
+ (br $while-in$11)
)
- (br $while-in$11)
)
(if
(i32.lt_u
@@ -10409,7 +10261,7 @@
(block
(if
(i32.lt_u
- (set_local $4
+ (tee_local $4
(i32.load offset=8
(get_local $10)
)
@@ -10421,7 +10273,7 @@
(if
(i32.ne
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $4)
(i32.const 12)
@@ -10435,7 +10287,7 @@
(if
(i32.eq
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
(get_local $2)
(i32.const 8)
@@ -10473,11 +10325,11 @@
(i32.eq
(get_local $10)
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(i32.const 480)
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.load offset=28
(get_local $10)
)
@@ -10531,7 +10383,7 @@
(if
(i32.eq
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $1)
(i32.const 16)
@@ -10560,7 +10412,7 @@
(if
(i32.lt_u
(get_local $15)
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 192)
)
@@ -10574,7 +10426,7 @@
)
(if
(i32.ne
- (set_local $1
+ (tee_local $1
(i32.load offset=16
(get_local $10)
)
@@ -10601,7 +10453,7 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load offset=20
(get_local $10)
)
@@ -10640,7 +10492,7 @@
(i32.store offset=4
(get_local $10)
(i32.or
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $7)
(get_local $6)
@@ -10652,7 +10504,7 @@
(set_local $1
(i32.or
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(i32.add
(get_local $10)
@@ -10694,7 +10546,7 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 184)
)
@@ -10712,7 +10564,7 @@
(i32.const 216)
(i32.shl
(i32.shl
- (set_local $2
+ (tee_local $2
(i32.shr_u
(get_local $0)
(i32.const 3)
@@ -10727,12 +10579,12 @@
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 176)
)
)
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 1)
(get_local $2)
@@ -10761,9 +10613,9 @@
)
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $4)
(i32.const 8)
@@ -10823,7 +10675,6 @@
)
)
)
- (get_local $6)
)
)
(if
@@ -10837,7 +10688,7 @@
(block
(set_local $5
(i32.and
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $0)
(i32.const 11)
@@ -10848,7 +10699,7 @@
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 180)
)
@@ -10868,13 +10719,13 @@
(block $label$break$L123
(if
(i32.eq
- (set_local $3
+ (tee_local $3
(i32.load offset=480
(i32.shl
- (set_local $12
+ (tee_local $12
(if
(i32.eq
- (set_local $3
+ (tee_local $3
(i32.shr_u
(get_local $3)
(i32.const 8)
@@ -10892,20 +10743,20 @@
(block
(set_local $7
(i32.shl
- (set_local $3
+ (tee_local $3
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $7
+ (tee_local $7
(i32.and
(i32.shr_u
(i32.add
- (set_local $12
+ (tee_local $12
(i32.shl
(get_local $3)
- (set_local $3
+ (tee_local $3
(i32.and
(i32.shr_u
(i32.add
@@ -10928,11 +10779,11 @@
)
(get_local $3)
)
- (set_local $3
+ (tee_local $3
(i32.and
(i32.shr_u
(i32.add
- (set_local $7
+ (tee_local $7
(i32.shl
(get_local $12)
(get_local $7)
@@ -11028,83 +10879,85 @@
(set_local $36
(i32.const 0)
)
- (loop $while-out$17 $while-in$18
- (if
- (i32.lt_u
- (set_local $16
- (i32.sub
- (set_local $3
- (i32.and
- (i32.load offset=4
- (get_local $23)
+ (loop $while-in$18
+ (block $while-out$17
+ (if
+ (i32.lt_u
+ (tee_local $16
+ (i32.sub
+ (tee_local $3
+ (i32.and
+ (i32.load offset=4
+ (get_local $23)
+ )
+ (i32.const -8)
)
- (i32.const -8)
)
+ (get_local $5)
)
- (get_local $5)
)
+ (get_local $7)
)
- (get_local $7)
- )
- (if
- (i32.eq
- (get_local $3)
- (get_local $5)
- )
- (block
- (set_local $26
- (get_local $16)
+ (if
+ (i32.eq
+ (get_local $3)
+ (get_local $5)
)
- (set_local $24
- (get_local $23)
+ (block
+ (set_local $26
+ (get_local $16)
+ )
+ (set_local $24
+ (get_local $23)
+ )
+ (set_local $29
+ (get_local $23)
+ )
+ (set_local $11
+ (i32.const 90)
+ )
+ (br $label$break$L123)
)
- (set_local $29
+ (set_local $36
(get_local $23)
)
- (set_local $11
- (i32.const 90)
- )
- (br $label$break$L123)
)
- (set_local $36
- (get_local $23)
+ (set_local $16
+ (get_local $7)
)
)
- (set_local $16
- (get_local $7)
- )
- )
- (set_local $7
- (i32.eq
- (set_local $3
- (i32.load offset=20
- (get_local $23)
+ (set_local $7
+ (i32.eq
+ (tee_local $3
+ (i32.load offset=20
+ (get_local $23)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $15
- (select
- (get_local $15)
- (get_local $3)
- (i32.or
- (get_local $7)
- (i32.eq
- (get_local $3)
- (set_local $3
- (i32.load
- (i32.add
+ (set_local $15
+ (select
+ (get_local $15)
+ (get_local $3)
+ (i32.or
+ (get_local $7)
+ (i32.eq
+ (get_local $3)
+ (tee_local $3
+ (i32.load
(i32.add
- (get_local $23)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $11)
- (i32.const 31)
+ (i32.add
+ (get_local $23)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $11)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
@@ -11112,51 +10965,51 @@
)
)
)
- )
- (set_local $11
- (i32.shl
- (get_local $11)
- (i32.xor
- (i32.and
- (set_local $7
- (i32.eq
- (get_local $3)
- (i32.const 0)
+ (set_local $11
+ (i32.shl
+ (get_local $11)
+ (i32.xor
+ (i32.and
+ (tee_local $7
+ (i32.eq
+ (get_local $3)
+ (i32.const 0)
+ )
)
+ (i32.const 1)
)
(i32.const 1)
)
- (i32.const 1)
)
)
- )
- (if
- (get_local $7)
- (block
- (set_local $31
- (get_local $16)
- )
- (set_local $32
- (get_local $15)
- )
- (set_local $28
- (get_local $36)
- )
- (set_local $11
- (i32.const 86)
- )
- (br $while-out$17)
- )
- (block
- (set_local $7
- (get_local $16)
+ (if
+ (get_local $7)
+ (block
+ (set_local $31
+ (get_local $16)
+ )
+ (set_local $32
+ (get_local $15)
+ )
+ (set_local $28
+ (get_local $36)
+ )
+ (set_local $11
+ (i32.const 86)
+ )
+ (br $while-out$17)
)
- (set_local $23
- (get_local $3)
+ (block
+ (set_local $7
+ (get_local $16)
+ )
+ (set_local $23
+ (get_local $3)
+ )
)
)
+ (br $while-in$18)
)
- (br $while-in$18)
)
)
)
@@ -11168,7 +11021,7 @@
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(if
(i32.and
(i32.eq
@@ -11184,7 +11037,7 @@
(set_local $7
(i32.sub
(i32.const 0)
- (set_local $3
+ (tee_local $3
(i32.shl
(i32.const 2)
(get_local $12)
@@ -11194,7 +11047,7 @@
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.and
(get_local $0)
(i32.or
@@ -11215,7 +11068,7 @@
(set_local $0
(i32.and
(i32.shr_u
- (set_local $3
+ (tee_local $3
(i32.add
(i32.and
(get_local $0)
@@ -11239,10 +11092,10 @@
(i32.or
(i32.or
(i32.or
- (set_local $3
+ (tee_local $3
(i32.and
(i32.shr_u
- (set_local $7
+ (tee_local $7
(i32.shr_u
(get_local $3)
(get_local $0)
@@ -11255,10 +11108,10 @@
)
(get_local $0)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $3
+ (tee_local $3
(i32.shr_u
(get_local $7)
(get_local $3)
@@ -11270,10 +11123,10 @@
)
)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $3
+ (tee_local $3
(i32.shr_u
(get_local $3)
(get_local $0)
@@ -11285,10 +11138,10 @@
)
)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $3
+ (tee_local $3
(i32.shr_u
(get_local $3)
(get_local $0)
@@ -11343,90 +11196,92 @@
(get_local $11)
(i32.const 90)
)
- (loop $while-out$19 $while-in$20
- (set_local $11
- (i32.const 0)
- )
- (set_local $0
- (i32.lt_u
- (set_local $3
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $24)
+ (loop $while-in$20
+ (block $while-out$19
+ (set_local $11
+ (i32.const 0)
+ )
+ (set_local $0
+ (i32.lt_u
+ (tee_local $3
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $24)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $5)
)
- (get_local $5)
)
+ (get_local $26)
)
- (get_local $26)
- )
- )
- (set_local $17
- (select
- (get_local $3)
- (get_local $26)
- (get_local $0)
- )
- )
- (set_local $3
- (select
- (get_local $24)
- (get_local $29)
- (get_local $0)
)
- )
- (if
- (i32.ne
- (set_local $0
- (i32.load offset=16
- (get_local $24)
- )
+ (set_local $17
+ (select
+ (get_local $3)
+ (get_local $26)
+ (get_local $0)
)
- (i32.const 0)
)
- (block
- (set_local $26
- (get_local $17)
- )
- (set_local $24
+ (set_local $3
+ (select
+ (get_local $24)
+ (get_local $29)
(get_local $0)
)
- (set_local $29
- (get_local $3)
- )
- (br $while-in$20)
)
- )
- (if
- (i32.eq
- (set_local $0
- (i32.load offset=20
- (get_local $24)
+ (if
+ (i32.ne
+ (tee_local $0
+ (i32.load offset=16
+ (get_local $24)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $13
- (get_local $3)
+ (block
+ (set_local $26
+ (get_local $17)
+ )
+ (set_local $24
+ (get_local $0)
+ )
+ (set_local $29
+ (get_local $3)
+ )
+ (br $while-in$20)
)
- (br $while-out$19)
)
- (block
- (set_local $26
- (get_local $17)
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $24)
+ )
+ )
+ (i32.const 0)
)
- (set_local $24
- (get_local $0)
+ (block
+ (set_local $13
+ (get_local $3)
+ )
+ (br $while-out$19)
)
- (set_local $29
- (get_local $3)
+ (block
+ (set_local $26
+ (get_local $17)
+ )
+ (set_local $24
+ (get_local $0)
+ )
+ (set_local $29
+ (get_local $3)
+ )
)
)
+ (br $while-in$20)
)
- (br $while-in$20)
)
)
(if
@@ -11451,7 +11306,7 @@
(if
(i32.lt_u
(get_local $13)
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 192)
)
@@ -11462,7 +11317,7 @@
(if
(i32.ge_u
(get_local $13)
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $13)
(get_local $5)
@@ -11479,7 +11334,7 @@
(block $do-once$21
(if
(i32.eq
- (set_local $2
+ (tee_local $2
(i32.load offset=12
(get_local $13)
)
@@ -11489,9 +11344,9 @@
(block
(if
(i32.eq
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $13)
(i32.const 20)
@@ -11503,9 +11358,9 @@
)
(if
(i32.eq
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $13)
(i32.const 16)
@@ -11529,56 +11384,58 @@
(get_local $2)
)
)
- (loop $while-out$23 $while-in$24
- (if
- (i32.ne
- (set_local $2
- (i32.load
- (set_local $7
- (i32.add
- (get_local $8)
- (i32.const 20)
+ (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.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $8
- (get_local $2)
- )
- (set_local $9
- (get_local $7)
+ (block
+ (set_local $8
+ (get_local $2)
+ )
+ (set_local $9
+ (get_local $7)
+ )
+ (br $while-in$24)
)
- (br $while-in$24)
)
- )
- (if
- (i32.eq
- (set_local $2
- (i32.load
- (set_local $7
- (i32.add
- (get_local $8)
- (i32.const 16)
+ (if
+ (i32.eq
+ (tee_local $2
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
+ )
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (br $while-out$23)
- (block
- (set_local $8
- (get_local $2)
- )
- (set_local $9
- (get_local $7)
+ (br $while-out$23)
+ (block
+ (set_local $8
+ (get_local $2)
+ )
+ (set_local $9
+ (get_local $7)
+ )
)
)
+ (br $while-in$24)
)
- (br $while-in$24)
)
(if
(i32.lt_u
@@ -11600,7 +11457,7 @@
(block
(if
(i32.lt_u
- (set_local $8
+ (tee_local $8
(i32.load offset=8
(get_local $13)
)
@@ -11612,7 +11469,7 @@
(if
(i32.ne
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $8)
(i32.const 12)
@@ -11626,7 +11483,7 @@
(if
(i32.eq
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $2)
(i32.const 8)
@@ -11664,11 +11521,11 @@
(i32.eq
(get_local $13)
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(i32.const 480)
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.load offset=28
(get_local $13)
)
@@ -11722,7 +11579,7 @@
(if
(i32.eq
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $1)
(i32.const 16)
@@ -11751,7 +11608,7 @@
(if
(i32.lt_u
(get_local $6)
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 192)
)
@@ -11765,7 +11622,7 @@
)
(if
(i32.ne
- (set_local $1
+ (tee_local $1
(i32.load offset=16
(get_local $13)
)
@@ -11792,7 +11649,7 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load offset=20
(get_local $13)
)
@@ -11832,7 +11689,7 @@
(i32.store offset=4
(get_local $13)
(i32.or
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $17)
(get_local $5)
@@ -11844,7 +11701,7 @@
(set_local $1
(i32.or
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(i32.add
(get_local $13)
@@ -11911,12 +11768,12 @@
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 176)
)
)
- (set_local $1
+ (tee_local $1
(i32.shl
(i32.const 1)
(get_local $1)
@@ -11945,9 +11802,9 @@
)
(if
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $2)
(i32.const 8)
@@ -11993,10 +11850,10 @@
(i32.add
(i32.const 480)
(i32.shl
- (set_local $1
+ (tee_local $1
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.shr_u
(get_local $17)
(i32.const 8)
@@ -12014,20 +11871,20 @@
(block
(set_local $1
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
- (set_local $2
+ (tee_local $2
(i32.shl
(get_local $0)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
(i32.add
@@ -12050,11 +11907,11 @@
)
(get_local $0)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
(i32.add
- (set_local $1
+ (tee_local $1
(i32.shl
(get_local $2)
(get_local $1)
@@ -12107,7 +11964,7 @@
(get_local $1)
)
(i32.store offset=4
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $3)
(i32.const 16)
@@ -12122,12 +11979,12 @@
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 180)
)
)
- (set_local $4
+ (tee_local $4
(i32.shl
(i32.const 1)
(get_local $1)
@@ -12187,78 +12044,80 @@
(get_local $2)
)
)
- (loop $while-out$31 $while-in$32
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
+ (loop $while-in$32
+ (block $while-out$31
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $2)
+ )
+ (i32.const -8)
+ )
+ (get_local $17)
+ )
+ (block
+ (set_local $22
(get_local $2)
)
- (i32.const -8)
+ (set_local $11
+ (i32.const 148)
+ )
+ (br $while-out$31)
)
- (get_local $17)
)
- (block
- (set_local $22
- (get_local $2)
- )
- (set_local $11
- (i32.const 148)
+ (set_local $4
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
)
- (br $while-out$31)
- )
- )
- (set_local $4
- (i32.shl
- (get_local $1)
- (i32.const 1)
)
- )
- (if
- (i32.eq
- (set_local $0
- (i32.load
- (set_local $1
- (i32.add
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load
+ (tee_local $1
(i32.add
- (get_local $2)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $1)
- (i32.const 31)
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $25
- (get_local $2)
- )
- (set_local $37
- (get_local $1)
- )
- (set_local $11
- (i32.const 145)
- )
- (br $while-out$31)
- )
- (block
- (set_local $1
- (get_local $4)
+ (block
+ (set_local $25
+ (get_local $2)
+ )
+ (set_local $37
+ (get_local $1)
+ )
+ (set_local $11
+ (i32.const 145)
+ )
+ (br $while-out$31)
)
- (set_local $2
- (get_local $0)
+ (block
+ (set_local $1
+ (get_local $4)
+ )
+ (set_local $2
+ (get_local $0)
+ )
)
)
+ (br $while-in$32)
)
- (br $while-in$32)
)
(if
(i32.eq
@@ -12300,9 +12159,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $22)
(i32.const 8)
@@ -12310,7 +12169,7 @@
)
)
)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -12370,7 +12229,7 @@
)
(if
(i32.ge_u
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 184)
)
@@ -12385,7 +12244,7 @@
)
(if
(i32.gt_u
- (set_local $2
+ (tee_local $2
(i32.sub
(get_local $0)
(get_local $6)
@@ -12396,7 +12255,7 @@
(block
(i32.store
(i32.const 196)
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $1)
(get_local $6)
@@ -12448,7 +12307,7 @@
(set_local $2
(i32.or
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(i32.add
(get_local $1)
@@ -12477,7 +12336,7 @@
)
(if
(i32.gt_u
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 188)
)
@@ -12487,7 +12346,7 @@
(block
(i32.store
(i32.const 188)
- (set_local $2
+ (tee_local $2
(i32.sub
(get_local $0)
(get_local $6)
@@ -12496,9 +12355,9 @@
)
(i32.store
(i32.const 200)
- (set_local $1
+ (tee_local $1
(i32.add
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 200)
)
@@ -12540,7 +12399,7 @@
(i32.eq
(i32.and
(i32.add
- (set_local $0
+ (tee_local $0
(call_import $_sysconf
(i32.const 30)
)
@@ -12600,16 +12459,16 @@
)
(if
(i32.le_u
- (set_local $10
+ (tee_local $10
(i32.and
- (set_local $7
+ (tee_local $7
(i32.add
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 656)
)
)
- (set_local $15
+ (tee_local $15
(i32.add
(get_local $6)
(i32.const 47)
@@ -12617,7 +12476,7 @@
)
)
)
- (set_local $12
+ (tee_local $12
(i32.sub
(i32.const 0)
(get_local $0)
@@ -12633,7 +12492,7 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 616)
)
@@ -12643,9 +12502,9 @@
(if
(i32.or
(i32.le_u
- (set_local $3
+ (tee_local $3
(i32.add
- (set_local $4
+ (tee_local $4
(i32.load
(i32.const 608)
)
@@ -12667,7 +12526,7 @@
)
(if
(i32.eq
- (set_local $11
+ (tee_local $11
(block $label$break$L257
(if
(i32.eq
@@ -12683,7 +12542,7 @@
(block $label$break$L259
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 200)
)
@@ -12697,66 +12556,68 @@
(set_local $16
(i32.const 624)
)
- (loop $while-out$37 $while-in$38
- (if
- (i32.le_u
- (set_local $4
- (i32.load
- (get_local $16)
- )
- )
- (get_local $0)
- )
+ (loop $while-in$38
+ (block $while-out$37
(if
- (i32.gt_u
- (i32.add
- (get_local $4)
+ (i32.le_u
+ (tee_local $4
(i32.load
- (set_local $3
- (i32.add
- (get_local $16)
- (i32.const 4)
- )
- )
+ (get_local $16)
)
)
(get_local $0)
)
- (block
- (set_local $4
- (get_local $16)
+ (if
+ (i32.gt_u
+ (i32.add
+ (get_local $4)
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $16)
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ (get_local $0)
)
- (set_local $16
- (get_local $3)
+ (block
+ (set_local $4
+ (get_local $16)
+ )
+ (set_local $16
+ (get_local $3)
+ )
+ (br $while-out$37)
)
- (br $while-out$37)
)
)
- )
- (if
- (i32.eq
- (set_local $4
- (i32.load offset=8
- (get_local $16)
+ (if
+ (i32.eq
+ (tee_local $4
+ (i32.load offset=8
+ (get_local $16)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $11
- (i32.const 173)
+ (block
+ (set_local $11
+ (i32.const 173)
+ )
+ (br $label$break$L259)
+ )
+ (set_local $16
+ (get_local $4)
)
- (br $label$break$L259)
- )
- (set_local $16
- (get_local $4)
)
+ (br $while-in$38)
)
- (br $while-in$38)
)
(if
(i32.lt_u
- (set_local $0
+ (tee_local $0
(i32.and
(i32.sub
(get_local $7)
@@ -12771,7 +12632,7 @@
)
(if
(i32.eq
- (set_local $3
+ (tee_local $3
(call_import $_sbrk
(get_local $0)
)
@@ -12806,7 +12667,7 @@
(set_local $30
(get_local $3)
)
- (set_local $20
+ (set_local $21
(get_local $0)
)
(set_local $11
@@ -12826,7 +12687,7 @@
)
(if
(i32.ne
- (set_local $7
+ (tee_local $7
(call_import $_sbrk
(i32.const 0)
)
@@ -12836,18 +12697,18 @@
(block
(set_local $4
(i32.add
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 608)
)
)
- (set_local $12
+ (tee_local $12
(if
(i32.eq
(i32.and
- (set_local $12
+ (tee_local $12
(i32.add
- (set_local $4
+ (tee_local $4
(i32.load
(i32.const 652)
)
@@ -12855,7 +12716,7 @@
(i32.const -1)
)
)
- (set_local $0
+ (tee_local $0
(get_local $7)
)
)
@@ -12896,7 +12757,7 @@
(block
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 616)
)
@@ -12918,7 +12779,7 @@
)
(if
(i32.eq
- (set_local $30
+ (tee_local $30
(call_import $_sbrk
(get_local $12)
)
@@ -12937,7 +12798,7 @@
)
)
(block
- (set_local $20
+ (set_local $21
(get_local $12)
)
(set_local $11
@@ -12961,18 +12822,18 @@
(set_local $4
(i32.sub
(i32.const 0)
- (get_local $20)
+ (get_local $21)
)
)
(if
(i32.and
(i32.gt_u
(get_local $5)
- (get_local $20)
+ (get_local $21)
)
(i32.and
(i32.lt_u
- (get_local $20)
+ (get_local $21)
(i32.const 2147483647)
)
(i32.ne
@@ -12983,14 +12844,14 @@
)
(if
(i32.lt_u
- (set_local $0
+ (tee_local $0
(i32.and
(i32.add
(i32.sub
(get_local $15)
- (get_local $20)
+ (get_local $21)
)
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 656)
)
@@ -13012,21 +12873,21 @@
(i32.const -1)
)
(block
- (call_import $_sbrk
- (get_local $4)
+ (drop
+ (call_import $_sbrk
+ (get_local $4)
+ )
)
(br $label$break$L279)
)
- (set_local $20
+ (set_local $21
(i32.add
(get_local $0)
- (get_local $20)
+ (get_local $21)
)
)
)
- (get_local $20)
)
- (get_local $20)
)
(if
(i32.ne
@@ -13038,7 +12899,7 @@
(get_local $30)
)
(set_local $19
- (get_local $20)
+ (get_local $21)
)
(br $label$break$L257
(i32.const 193)
@@ -13074,7 +12935,7 @@
(set_local $3
(i32.and
(i32.ne
- (set_local $0
+ (tee_local $0
(call_import $_sbrk
(get_local $10)
)
@@ -13082,7 +12943,7 @@
(i32.const -1)
)
(i32.ne
- (set_local $4
+ (tee_local $4
(call_import $_sbrk
(i32.const 0)
)
@@ -13101,7 +12962,7 @@
)
(if
(i32.gt_u
- (set_local $4
+ (tee_local $4
(i32.sub
(get_local $4)
(get_local $0)
@@ -13136,7 +12997,7 @@
(block
(i32.store
(i32.const 608)
- (set_local $0
+ (tee_local $0
(i32.add
(i32.load
(i32.const 608)
@@ -13160,7 +13021,7 @@
(block $do-once$44
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 200)
)
@@ -13171,7 +13032,7 @@
(if
(i32.or
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 192)
)
@@ -13213,45 +13074,45 @@
(set_local $1
(i32.const 0)
)
- (loop $while-out$46 $while-in$47
- (i32.store offset=12
- (set_local $0
- (i32.add
- (i32.const 216)
- (i32.shl
+ (loop $while-in$47
+ (block $while-out$46
+ (i32.store offset=12
+ (tee_local $0
+ (i32.add
+ (i32.const 216)
(i32.shl
- (get_local $1)
- (i32.const 1)
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
+ (get_local $0)
)
- (get_local $0)
- )
- (i32.store offset=8
- (get_local $0)
- (get_local $0)
- )
- (if
- (i32.eq
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (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)
)
- (i32.const 32)
)
- (br $while-out$46)
- (get_local $1)
+ (br $while-in$47)
)
- (br $while-in$47)
)
(set_local $1
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $14)
(i32.const 8)
@@ -13264,10 +13125,10 @@
)
(i32.store
(i32.const 200)
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $14)
- (set_local $1
+ (tee_local $1
(select
(i32.const 0)
(i32.and
@@ -13285,7 +13146,7 @@
)
(i32.store
(i32.const 188)
- (set_local $1
+ (tee_local $1
(i32.sub
(i32.add
(get_local $19)
@@ -13320,62 +13181,64 @@
(set_local $7
(i32.const 624)
)
- (loop $while-out$48 $while-in$49
- (if
- (i32.eq
- (get_local $14)
- (i32.add
- (set_local $4
- (i32.load
- (get_local $7)
+ (loop $while-in$49
+ (block $while-out$48
+ (if
+ (i32.eq
+ (get_local $14)
+ (i32.add
+ (tee_local $4
+ (i32.load
+ (get_local $7)
+ )
)
- )
- (set_local $3
- (i32.load
- (set_local $5
- (i32.add
- (get_local $7)
- (i32.const 4)
+ (tee_local $3
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
+ )
)
)
)
)
)
- )
- (block
- (set_local $1
- (get_local $4)
- )
- (set_local $2
- (get_local $3)
- )
- (set_local $42
- (get_local $5)
- )
- (set_local $43
- (get_local $7)
- )
- (set_local $11
- (i32.const 203)
- )
- (br $while-out$48)
- )
- )
- (if
- (i32.eq
- (set_local $4
- (i32.load offset=8
+ (block
+ (set_local $1
+ (get_local $4)
+ )
+ (set_local $2
+ (get_local $3)
+ )
+ (set_local $42
+ (get_local $5)
+ )
+ (set_local $43
(get_local $7)
)
+ (set_local $11
+ (i32.const 203)
+ )
+ (br $while-out$48)
)
- (i32.const 0)
)
- (br $while-out$48)
- (set_local $7
- (get_local $4)
+ (if
+ (i32.eq
+ (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-in$49)
)
- (br $while-in$49)
)
(if
(i32.eq
@@ -13414,7 +13277,7 @@
(set_local $2
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 8)
@@ -13428,7 +13291,7 @@
(set_local $0
(i32.add
(get_local $0)
- (set_local $1
+ (tee_local $1
(select
(i32.const 0)
(i32.and
@@ -13491,7 +13354,7 @@
(if
(i32.lt_u
(get_local $14)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -13516,45 +13379,46 @@
(set_local $1
(i32.const 624)
)
- (loop $while-out$50 $while-in$51
- (if
- (i32.eq
- (i32.load
- (get_local $1)
- )
- (get_local $3)
- )
- (block
- (set_local $44
- (get_local $1)
- )
- (set_local $38
- (get_local $1)
- )
- (set_local $11
- (i32.const 211)
+ (loop $while-in$51
+ (block $while-out$50
+ (if
+ (i32.eq
+ (i32.load
+ (get_local $1)
+ )
+ (get_local $3)
)
- (br $while-out$50)
- )
- )
- (if
- (i32.eq
- (set_local $1
- (i32.load offset=8
+ (block
+ (set_local $44
+ (get_local $1)
+ )
+ (set_local $38
(get_local $1)
)
+ (set_local $11
+ (i32.const 211)
+ )
+ (br $while-out$50)
)
- (i32.const 0)
)
- (block
- (set_local $27
- (i32.const 624)
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.load offset=8
+ (get_local $1)
+ )
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $27
+ (i32.const 624)
+ )
+ (br $while-out$50)
)
- (br $while-out$50)
)
- (get_local $1)
+ (br $while-in$51)
)
- (br $while-in$51)
)
(if
(i32.eq
@@ -13579,7 +13443,7 @@
(set_local $1
(i32.add
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $38)
(i32.const 4)
@@ -13596,7 +13460,7 @@
(set_local $9
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $14)
(i32.const 8)
@@ -13610,7 +13474,7 @@
(set_local $5
(i32.eq
(i32.and
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $3)
(i32.const 8)
@@ -13623,7 +13487,7 @@
)
(set_local $1
(i32.sub
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $3)
(select
@@ -13639,7 +13503,7 @@
)
)
)
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $14)
(select
@@ -13685,7 +13549,7 @@
(block
(i32.store
(i32.const 188)
- (set_local $0
+ (tee_local $0
(i32.add
(i32.load
(i32.const 188)
@@ -13717,7 +13581,7 @@
(block
(i32.store
(i32.const 184)
- (set_local $0
+ (tee_local $0
(i32.add
(i32.load
(i32.const 184)
@@ -13750,12 +13614,12 @@
(set_local $0
(i32.and
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load offset=4
(get_local $3)
)
@@ -13792,12 +13656,12 @@
(block $do-once$55
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load offset=8
(get_local $3)
)
)
- (set_local $2
+ (tee_local $2
(i32.add
(i32.const 216)
(i32.shl
@@ -13877,7 +13741,7 @@
(if
(i32.eq
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $1)
(i32.const 8)
@@ -13915,7 +13779,7 @@
(block $do-once$59
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load offset=12
(get_local $3)
)
@@ -13925,11 +13789,11 @@
(block
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
- (set_local $21
+ (tee_local $20
(i32.add
(get_local $3)
(i32.const 16)
@@ -13944,9 +13808,9 @@
)
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load
- (get_local $21)
+ (get_local $20)
)
)
(i32.const 0)
@@ -13962,7 +13826,7 @@
(get_local $1)
)
(set_local $9
- (get_local $21)
+ (get_local $20)
)
)
)
@@ -13970,56 +13834,58 @@
(get_local $1)
)
)
- (loop $while-out$61 $while-in$62
- (if
- (i32.ne
- (set_local $1
- (i32.load
- (set_local $21
- (i32.add
- (get_local $2)
- (i32.const 20)
+ (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.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $2
- (get_local $1)
- )
- (set_local $9
- (get_local $21)
+ (block
+ (set_local $2
+ (get_local $1)
+ )
+ (set_local $9
+ (get_local $20)
+ )
+ (br $while-in$62)
)
- (br $while-in$62)
)
- )
- (if
- (i32.eq
- (set_local $1
- (i32.load
- (set_local $21
- (i32.add
- (get_local $2)
- (i32.const 16)
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.load
+ (tee_local $20
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
+ )
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (br $while-out$61)
- (block
- (set_local $2
- (get_local $1)
- )
- (set_local $9
- (get_local $21)
+ (br $while-out$61)
+ (block
+ (set_local $2
+ (get_local $1)
+ )
+ (set_local $9
+ (get_local $20)
+ )
)
)
+ (br $while-in$62)
)
- (br $while-in$62)
)
(if
(i32.lt_u
@@ -14041,7 +13907,7 @@
(block
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load offset=8
(get_local $3)
)
@@ -14053,7 +13919,7 @@
(if
(i32.ne
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $2)
(i32.const 12)
@@ -14067,7 +13933,7 @@
(if
(i32.eq
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $1)
(i32.const 8)
@@ -14105,11 +13971,11 @@
(i32.eq
(get_local $3)
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(i32.const 480)
(i32.shl
- (set_local $1
+ (tee_local $1
(i32.load offset=28
(get_local $3)
)
@@ -14161,7 +14027,7 @@
(if
(i32.eq
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 16)
@@ -14191,7 +14057,7 @@
(if
(i32.lt_u
(get_local $18)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -14205,9 +14071,9 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $3)
(i32.const 16)
@@ -14237,7 +14103,7 @@
)
(br_if $label$break$L331
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load offset=4
(get_local $2)
)
@@ -14338,12 +14204,12 @@
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 176)
)
)
- (set_local $1
+ (tee_local $1
(i32.shl
(i32.const 1)
(get_local $1)
@@ -14373,9 +14239,9 @@
(block
(if
(i32.ge_u
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $2)
(i32.const 8)
@@ -14424,11 +14290,11 @@
(i32.add
(i32.const 480)
(i32.shl
- (set_local $1
+ (tee_local $1
(block $do-once$69
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.shr_u
(get_local $4)
(i32.const 8)
@@ -14447,20 +14313,20 @@
)
(set_local $1
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
- (set_local $2
+ (tee_local $2
(i32.shl
(get_local $0)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
(i32.add
@@ -14483,11 +14349,11 @@
)
(get_local $0)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
(i32.add
- (set_local $1
+ (tee_local $1
(i32.shl
(get_local $2)
(get_local $1)
@@ -14540,7 +14406,7 @@
(get_local $1)
)
(i32.store offset=4
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $5)
(i32.const 16)
@@ -14555,12 +14421,12 @@
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 180)
)
)
- (set_local $8
+ (tee_local $8
(i32.shl
(i32.const 1)
(get_local $1)
@@ -14620,78 +14486,80 @@
(get_local $2)
)
)
- (loop $while-out$71 $while-in$72
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
+ (loop $while-in$72
+ (block $while-out$71
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $2)
+ )
+ (i32.const -8)
+ )
+ (get_local $4)
+ )
+ (block
+ (set_local $34
(get_local $2)
)
- (i32.const -8)
+ (set_local $11
+ (i32.const 281)
+ )
+ (br $while-out$71)
)
- (get_local $4)
)
- (block
- (set_local $34
- (get_local $2)
- )
- (set_local $11
- (i32.const 281)
+ (set_local $8
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
)
- (br $while-out$71)
)
- )
- (set_local $8
- (i32.shl
- (get_local $1)
- (i32.const 1)
- )
- )
- (if
- (i32.eq
- (set_local $0
- (i32.load
- (set_local $1
- (i32.add
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load
+ (tee_local $1
(i32.add
- (get_local $2)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $1)
- (i32.const 31)
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $45
- (get_local $2)
- )
- (set_local $40
- (get_local $1)
- )
- (set_local $11
- (i32.const 278)
- )
- (br $while-out$71)
- )
- (block
- (set_local $1
- (get_local $8)
+ (block
+ (set_local $45
+ (get_local $2)
+ )
+ (set_local $40
+ (get_local $1)
+ )
+ (set_local $11
+ (i32.const 278)
+ )
+ (br $while-out$71)
)
- (set_local $2
- (get_local $0)
+ (block
+ (set_local $1
+ (get_local $8)
+ )
+ (set_local $2
+ (get_local $0)
+ )
)
)
+ (br $while-in$72)
)
- (br $while-in$72)
)
(if
(i32.eq
@@ -14733,9 +14601,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $34)
(i32.const 8)
@@ -14743,7 +14611,7 @@
)
)
)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -14795,49 +14663,51 @@
)
)
)
- (loop $while-out$73 $while-in$74
- (if
- (i32.le_u
- (set_local $1
- (i32.load
- (get_local $27)
- )
- )
- (get_local $0)
- )
+ (loop $while-in$74
+ (block $while-out$73
(if
- (i32.gt_u
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.load offset=4
- (get_local $27)
- )
+ (i32.le_u
+ (tee_local $1
+ (i32.load
+ (get_local $27)
)
)
(get_local $0)
)
- (block
- (set_local $2
- (get_local $1)
+ (if
+ (i32.gt_u
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.load offset=4
+ (get_local $27)
+ )
+ )
+ )
+ (get_local $0)
+ )
+ (block
+ (set_local $2
+ (get_local $1)
+ )
+ (br $while-out$73)
)
- (br $while-out$73)
)
)
- )
- (set_local $27
- (i32.load offset=8
- (get_local $27)
+ (set_local $27
+ (i32.load offset=8
+ (get_local $27)
+ )
)
+ (br $while-in$74)
)
- (br $while-in$74)
)
(set_local $8
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.add
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $2)
(i32.const -47)
@@ -14853,7 +14723,7 @@
)
(set_local $4
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $4)
(select
@@ -14869,7 +14739,7 @@
)
)
)
- (set_local $8
+ (tee_local $8
(i32.add
(get_local $0)
(i32.const 16)
@@ -14879,7 +14749,7 @@
)
(set_local $4
(i32.add
- (set_local $5
+ (tee_local $5
(select
(get_local $0)
(get_local $1)
@@ -14892,7 +14762,7 @@
(set_local $3
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $14)
(i32.const 8)
@@ -14905,10 +14775,10 @@
)
(i32.store
(i32.const 200)
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $14)
- (set_local $3
+ (tee_local $3
(select
(i32.const 0)
(i32.and
@@ -14926,7 +14796,7 @@
)
(i32.store
(i32.const 188)
- (set_local $3
+ (tee_local $3
(i32.sub
(i32.add
(get_local $19)
@@ -14957,7 +14827,7 @@
)
)
(i32.store
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $5)
(i32.const 4)
@@ -15011,28 +14881,28 @@
(i32.const 24)
)
)
- (loop $while-out$75 $while-in$76
- (i32.store
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (loop $while-in$76
+ (block $while-out$75
+ (i32.store
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (if
- (i32.lt_u
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (br_if $while-out$75
+ (i32.ge_u
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
+ (get_local $2)
)
- (get_local $2)
)
- (get_local $1)
- (br $while-out$75)
+ (br $while-in$76)
)
- (br $while-in$76)
)
(if
(i32.ne
@@ -15052,7 +14922,7 @@
(i32.store offset=4
(get_local $0)
(i32.or
- (set_local $3
+ (tee_local $3
(i32.sub
(get_local $5)
(get_local $0)
@@ -15092,12 +14962,12 @@
(if
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 176)
)
)
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 1)
(get_local $2)
@@ -15120,15 +14990,15 @@
(i32.const 8)
)
)
- (set_local $21
+ (set_local $20
(get_local $4)
)
)
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $4)
(i32.const 8)
@@ -15145,7 +15015,7 @@
(set_local $9
(get_local $1)
)
- (set_local $21
+ (set_local $20
(get_local $2)
)
)
@@ -15156,12 +15026,12 @@
(get_local $0)
)
(i32.store offset=12
- (get_local $21)
+ (get_local $20)
(get_local $0)
)
(i32.store offset=8
(get_local $0)
- (get_local $21)
+ (get_local $20)
)
(i32.store offset=12
(get_local $0)
@@ -15174,10 +15044,10 @@
(i32.add
(i32.const 480)
(i32.shl
- (set_local $2
+ (tee_local $2
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $3)
(i32.const 8)
@@ -15195,20 +15065,20 @@
(block
(set_local $2
(i32.shl
- (set_local $1
+ (tee_local $1
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $2
+ (tee_local $2
(i32.and
(i32.shr_u
(i32.add
- (set_local $4
+ (tee_local $4
(i32.shl
(get_local $1)
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
@@ -15231,11 +15101,11 @@
)
(get_local $1)
)
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
- (set_local $2
+ (tee_local $2
(i32.shl
(get_local $4)
(get_local $2)
@@ -15298,12 +15168,12 @@
(if
(i32.eq
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 180)
)
)
- (set_local $8
+ (tee_local $8
(i32.shl
(i32.const 1)
(get_local $2)
@@ -15363,78 +15233,80 @@
(get_local $4)
)
)
- (loop $while-out$77 $while-in$78
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
+ (loop $while-in$78
+ (block $while-out$77
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $4)
+ )
+ (i32.const -8)
+ )
+ (get_local $3)
+ )
+ (block
+ (set_local $35
(get_local $4)
)
- (i32.const -8)
+ (set_local $11
+ (i32.const 307)
+ )
+ (br $while-out$77)
)
- (get_local $3)
)
- (block
- (set_local $35
- (get_local $4)
- )
- (set_local $11
- (i32.const 307)
+ (set_local $8
+ (i32.shl
+ (get_local $2)
+ (i32.const 1)
)
- (br $while-out$77)
- )
- )
- (set_local $8
- (i32.shl
- (get_local $2)
- (i32.const 1)
)
- )
- (if
- (i32.eq
- (set_local $1
- (i32.load
- (set_local $2
- (i32.add
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.load
+ (tee_local $2
(i32.add
- (get_local $4)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $2)
- (i32.const 31)
+ (i32.add
+ (get_local $4)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $46
- (get_local $4)
- )
- (set_local $41
- (get_local $2)
- )
- (set_local $11
- (i32.const 304)
- )
- (br $while-out$77)
- )
- (block
- (set_local $2
- (get_local $8)
+ (block
+ (set_local $46
+ (get_local $4)
+ )
+ (set_local $41
+ (get_local $2)
+ )
+ (set_local $11
+ (i32.const 304)
+ )
+ (br $while-out$77)
)
- (set_local $4
- (get_local $1)
+ (block
+ (set_local $2
+ (get_local $8)
+ )
+ (set_local $4
+ (get_local $1)
+ )
)
)
+ (br $while-in$78)
)
- (br $while-in$78)
)
(if
(i32.eq
@@ -15476,9 +15348,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $35)
(i32.const 8)
@@ -15486,7 +15358,7 @@
)
)
)
- (set_local $2
+ (tee_local $2
(i32.load
(i32.const 192)
)
@@ -15530,7 +15402,7 @@
)
(if
(i32.gt_u
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 188)
)
@@ -15540,7 +15412,7 @@
(block
(i32.store
(i32.const 188)
- (set_local $2
+ (tee_local $2
(i32.sub
(get_local $0)
(get_local $6)
@@ -15549,9 +15421,9 @@
)
(i32.store
(i32.const 200)
- (set_local $1
+ (tee_local $1
(i32.add
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 200)
)
@@ -15609,9 +15481,6 @@
(local $16 i32)
(local $17 i32)
(local $18 i32)
- (i32.load
- (i32.const 8)
- )
(if
(i32.eq
(get_local $0)
@@ -15621,13 +15490,13 @@
)
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $0)
(i32.const -8)
)
)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -15637,9 +15506,9 @@
)
(if
(i32.eq
- (set_local $8
+ (tee_local $8
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
(i32.add
(get_local $0)
@@ -15657,7 +15526,7 @@
(set_local $9
(i32.add
(get_local $2)
- (set_local $7
+ (tee_local $7
(i32.and
(get_local $0)
(i32.const -8)
@@ -15695,7 +15564,7 @@
)
(if
(i32.lt_u
- (set_local $6
+ (tee_local $4
(i32.add
(get_local $2)
(i32.sub
@@ -15710,7 +15579,7 @@
)
(if
(i32.eq
- (get_local $6)
+ (get_local $4)
(i32.load
(i32.const 196)
)
@@ -15719,9 +15588,9 @@
(if
(i32.ne
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $9)
(i32.const 4)
@@ -15735,7 +15604,7 @@
)
(block
(set_local $3
- (get_local $6)
+ (get_local $4)
)
(set_local $10
(get_local $12)
@@ -15755,7 +15624,7 @@
)
)
(i32.store offset=4
- (get_local $6)
+ (get_local $4)
(i32.or
(get_local $12)
(i32.const 1)
@@ -15763,7 +15632,7 @@
)
(i32.store
(i32.add
- (get_local $6)
+ (get_local $4)
(get_local $12)
)
(get_local $12)
@@ -15785,17 +15654,17 @@
(block
(set_local $2
(i32.load offset=12
- (get_local $6)
+ (get_local $4)
)
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load offset=8
- (get_local $6)
+ (get_local $4)
)
)
- (set_local $8
+ (tee_local $8
(i32.add
(i32.const 216)
(i32.shl
@@ -15821,7 +15690,7 @@
(i32.load offset=12
(get_local $0)
)
- (get_local $6)
+ (get_local $4)
)
(call_import $_abort)
)
@@ -15849,7 +15718,7 @@
)
)
(set_local $3
- (get_local $6)
+ (get_local $4)
)
(set_local $10
(get_local $12)
@@ -15879,14 +15748,14 @@
(if
(i32.eq
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $2)
(i32.const 8)
)
)
)
- (get_local $6)
+ (get_local $4)
)
(set_local $13
(get_local $1)
@@ -15904,7 +15773,7 @@
(get_local $0)
)
(set_local $3
- (get_local $6)
+ (get_local $4)
)
(set_local $10
(get_local $12)
@@ -15914,29 +15783,29 @@
)
(set_local $8
(i32.load offset=24
- (get_local $6)
+ (get_local $4)
)
)
(block $do-once$2
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load offset=12
- (get_local $6)
+ (get_local $4)
)
)
- (get_local $6)
+ (get_local $4)
)
(block
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
- (set_local $13
+ (tee_local $13
(i32.add
- (get_local $6)
+ (get_local $4)
(i32.const 16)
)
)
@@ -15949,7 +15818,7 @@
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load
(get_local $13)
)
@@ -15957,7 +15826,7 @@
(i32.const 0)
)
(block
- (set_local $4
+ (set_local $5
(i32.const 0)
)
(br $do-once$2)
@@ -15975,56 +15844,58 @@
(get_local $0)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.ne
- (set_local $0
- (i32.load
- (set_local $13
- (i32.add
- (get_local $2)
- (i32.const 20)
+ (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.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $2
- (get_local $0)
- )
- (set_local $7
- (get_local $13)
+ (block
+ (set_local $2
+ (get_local $0)
+ )
+ (set_local $7
+ (get_local $13)
+ )
+ (br $while-in$5)
)
- (br $while-in$5)
)
- )
- (if
- (i32.eq
- (set_local $0
- (i32.load
- (set_local $13
- (i32.add
- (get_local $2)
- (i32.const 16)
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
+ )
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (br $while-out$4)
- (block
- (set_local $2
- (get_local $0)
- )
- (set_local $7
- (get_local $13)
+ (br $while-out$4)
+ (block
+ (set_local $2
+ (get_local $0)
+ )
+ (set_local $7
+ (get_local $13)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(if
(i32.lt_u
@@ -16037,7 +15908,7 @@
(get_local $7)
(i32.const 0)
)
- (set_local $4
+ (set_local $5
(get_local $2)
)
)
@@ -16046,9 +15917,9 @@
(block
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load offset=8
- (get_local $6)
+ (get_local $4)
)
)
(get_local $1)
@@ -16058,28 +15929,28 @@
(if
(i32.ne
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $2)
(i32.const 12)
)
)
)
- (get_local $6)
+ (get_local $4)
)
(call_import $_abort)
)
(if
(i32.eq
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
- (get_local $6)
+ (get_local $4)
)
(block
(i32.store
@@ -16090,7 +15961,7 @@
(get_local $7)
(get_local $2)
)
- (set_local $4
+ (set_local $5
(get_local $0)
)
)
@@ -16106,7 +15977,7 @@
)
(block
(set_local $3
- (get_local $6)
+ (get_local $4)
)
(set_local $10
(get_local $12)
@@ -16115,15 +15986,15 @@
(block
(if
(i32.eq
- (get_local $6)
+ (get_local $4)
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(i32.const 480)
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.load offset=28
- (get_local $6)
+ (get_local $4)
)
)
(i32.const 2)
@@ -16135,11 +16006,11 @@
(block
(i32.store
(get_local $1)
- (get_local $4)
+ (get_local $5)
)
(if
(i32.eq
- (get_local $4)
+ (get_local $5)
(i32.const 0)
)
(block
@@ -16159,7 +16030,7 @@
)
)
(set_local $3
- (get_local $6)
+ (get_local $4)
)
(set_local $10
(get_local $12)
@@ -16181,32 +16052,32 @@
(if
(i32.eq
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $8)
(i32.const 16)
)
)
)
- (get_local $6)
+ (get_local $4)
)
(i32.store
(get_local $0)
- (get_local $4)
+ (get_local $5)
)
(i32.store offset=20
(get_local $8)
- (get_local $4)
+ (get_local $5)
)
)
(if
(i32.eq
- (get_local $4)
+ (get_local $5)
(i32.const 0)
)
(block
(set_local $3
- (get_local $6)
+ (get_local $4)
)
(set_local $10
(get_local $12)
@@ -16218,8 +16089,8 @@
)
(if
(i32.lt_u
- (get_local $4)
- (set_local $0
+ (get_local $5)
+ (tee_local $0
(i32.load
(i32.const 192)
)
@@ -16228,16 +16099,16 @@
(call_import $_abort)
)
(i32.store offset=24
- (get_local $4)
+ (get_local $5)
(get_local $8)
)
(if
(i32.ne
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
- (get_local $6)
+ (get_local $4)
(i32.const 16)
)
)
@@ -16253,19 +16124,19 @@
(call_import $_abort)
(block
(i32.store offset=16
- (get_local $4)
+ (get_local $5)
(get_local $1)
)
(i32.store offset=24
(get_local $1)
- (get_local $4)
+ (get_local $5)
)
)
)
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.load offset=4
(get_local $2)
)
@@ -16274,7 +16145,7 @@
)
(block
(set_local $3
- (get_local $6)
+ (get_local $4)
)
(set_local $10
(get_local $12)
@@ -16290,15 +16161,15 @@
(call_import $_abort)
(block
(i32.store offset=20
- (get_local $4)
+ (get_local $5)
(get_local $0)
)
(i32.store offset=24
(get_local $0)
- (get_local $4)
+ (get_local $5)
)
(set_local $3
- (get_local $6)
+ (get_local $4)
)
(set_local $10
(get_local $12)
@@ -16329,9 +16200,9 @@
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $9)
(i32.const 4)
@@ -16364,7 +16235,7 @@
(block
(i32.store
(i32.const 188)
- (set_local $0
+ (tee_local $0
(i32.add
(i32.load
(i32.const 188)
@@ -16414,7 +16285,7 @@
(block
(i32.store
(i32.const 184)
- (set_local $0
+ (tee_local $0
(i32.add
(i32.load
(i32.const 184)
@@ -16444,7 +16315,7 @@
(return)
)
)
- (set_local $4
+ (set_local $5
(i32.add
(i32.and
(get_local $0)
@@ -16473,12 +16344,12 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load offset=8
(get_local $9)
)
)
- (set_local $2
+ (tee_local $2
(i32.add
(i32.const 216)
(i32.shl
@@ -16560,7 +16431,7 @@
(if
(i32.eq
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $1)
(i32.const 8)
@@ -16594,7 +16465,7 @@
(block $do-once$10
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load offset=12
(get_local $9)
)
@@ -16604,11 +16475,11 @@
(block
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $9)
(i32.const 16)
@@ -16623,7 +16494,7 @@
)
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load
(get_local $7)
)
@@ -16649,56 +16520,58 @@
(get_local $1)
)
)
- (loop $while-out$12 $while-in$13
- (if
- (i32.ne
- (set_local $1
- (i32.load
- (set_local $7
- (i32.add
- (get_local $2)
- (i32.const 20)
+ (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.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $2
- (get_local $1)
- )
- (set_local $8
- (get_local $7)
+ (block
+ (set_local $2
+ (get_local $1)
+ )
+ (set_local $8
+ (get_local $7)
+ )
+ (br $while-in$13)
)
- (br $while-in$13)
)
- )
- (if
- (i32.eq
- (set_local $1
- (i32.load
- (set_local $7
- (i32.add
- (get_local $2)
- (i32.const 16)
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
+ )
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (br $while-out$12)
- (block
- (set_local $2
- (get_local $1)
- )
- (set_local $8
- (get_local $7)
+ (br $while-out$12)
+ (block
+ (set_local $2
+ (get_local $1)
+ )
+ (set_local $8
+ (get_local $7)
+ )
)
)
+ (br $while-in$13)
)
- (br $while-in$13)
)
(if
(i32.lt_u
@@ -16722,7 +16595,7 @@
(block
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load offset=8
(get_local $9)
)
@@ -16736,7 +16609,7 @@
(if
(i32.ne
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
(get_local $2)
(i32.const 12)
@@ -16750,7 +16623,7 @@
(if
(i32.eq
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $1)
(i32.const 8)
@@ -16787,11 +16660,11 @@
(i32.eq
(get_local $9)
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(i32.const 480)
(i32.shl
- (set_local $1
+ (tee_local $1
(i32.load offset=28
(get_local $9)
)
@@ -16845,7 +16718,7 @@
(if
(i32.eq
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 16)
@@ -16874,7 +16747,7 @@
(if
(i32.lt_u
(get_local $11)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 192)
)
@@ -16888,9 +16761,9 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $9)
(i32.const 16)
@@ -16920,7 +16793,7 @@
)
(if
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.load offset=4
(get_local $2)
)
@@ -16955,16 +16828,16 @@
(i32.store offset=4
(get_local $3)
(i32.or
- (get_local $4)
+ (get_local $5)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $3)
- (get_local $4)
+ (get_local $5)
)
- (get_local $4)
+ (get_local $5)
)
(if
(i32.eq
@@ -16976,11 +16849,10 @@
(block
(i32.store
(i32.const 184)
- (get_local $4)
+ (get_local $5)
)
(return)
)
- (get_local $4)
)
)
(block
@@ -17005,20 +16877,20 @@
)
(get_local $10)
)
- (set_local $4
+ (set_local $5
(get_local $10)
)
)
)
(set_local $1
(i32.shr_u
- (get_local $4)
+ (get_local $5)
(i32.const 3)
)
)
(if
(i32.lt_u
- (get_local $4)
+ (get_local $5)
(i32.const 256)
)
(block
@@ -17037,12 +16909,12 @@
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 176)
)
)
- (set_local $1
+ (tee_local $1
(i32.shl
(i32.const 1)
(get_local $1)
@@ -17059,7 +16931,7 @@
(get_local $1)
)
)
- (set_local $5
+ (set_local $6
(i32.add
(get_local $2)
(i32.const 8)
@@ -17071,9 +16943,9 @@
)
(if
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $2)
(i32.const 8)
@@ -17087,7 +16959,7 @@
)
(call_import $_abort)
(block
- (set_local $5
+ (set_local $6
(get_local $0)
)
(set_local $14
@@ -17097,7 +16969,7 @@
)
)
(i32.store
- (get_local $5)
+ (get_local $6)
(get_local $3)
)
(i32.store offset=12
@@ -17119,12 +16991,12 @@
(i32.add
(i32.const 480)
(i32.shl
- (set_local $5
+ (tee_local $6
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.shr_u
- (get_local $4)
+ (get_local $5)
(i32.const 8)
)
)
@@ -17133,27 +17005,27 @@
(i32.const 0)
(if
(i32.gt_u
- (get_local $4)
+ (get_local $5)
(i32.const 16777215)
)
(i32.const 31)
(block
- (set_local $5
+ (set_local $6
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $5
+ (tee_local $6
(i32.and
(i32.shr_u
(i32.add
- (set_local $1
+ (tee_local $1
(i32.shl
(get_local $0)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
(i32.add
@@ -17176,14 +17048,14 @@
)
(get_local $0)
)
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
(i32.add
- (set_local $5
+ (tee_local $6
(i32.shl
(get_local $1)
- (get_local $5)
+ (get_local $6)
)
)
(i32.const 245760)
@@ -17197,7 +17069,7 @@
)
(i32.shr_u
(i32.shl
- (get_local $5)
+ (get_local $6)
(get_local $0)
)
(i32.const 15)
@@ -17210,7 +17082,7 @@
(i32.or
(i32.and
(i32.shr_u
- (get_local $4)
+ (get_local $5)
(i32.add
(get_local $0)
(i32.const 7)
@@ -17218,7 +17090,7 @@
)
(i32.const 1)
)
- (get_local $5)
+ (get_local $6)
)
)
)
@@ -17230,7 +17102,7 @@
)
(i32.store offset=28
(get_local $3)
- (get_local $5)
+ (get_local $6)
)
(i32.store offset=20
(get_local $3)
@@ -17243,15 +17115,15 @@
(if
(i32.eq
(i32.and
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 180)
)
)
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 1)
- (get_local $5)
+ (get_local $6)
)
)
)
@@ -17283,20 +17155,20 @@
)
)
(block
- (set_local $5
+ (set_local $6
(i32.shl
- (get_local $4)
+ (get_local $5)
(select
(i32.const 0)
(i32.sub
(i32.const 25)
(i32.shr_u
- (get_local $5)
+ (get_local $6)
(i32.const 1)
)
)
(i32.eq
- (get_local $5)
+ (get_local $6)
(i32.const 31)
)
)
@@ -17307,78 +17179,80 @@
(get_local $1)
)
)
- (loop $while-out$18 $while-in$19
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
+ (loop $while-in$19
+ (block $while-out$18
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const -8)
+ )
+ (get_local $5)
+ )
+ (block
+ (set_local $15
(get_local $1)
)
- (i32.const -8)
+ (set_local $0
+ (i32.const 130)
+ )
+ (br $while-out$18)
)
- (get_local $4)
)
- (block
- (set_local $15
- (get_local $1)
- )
- (set_local $0
- (i32.const 130)
+ (set_local $2
+ (i32.shl
+ (get_local $6)
+ (i32.const 1)
)
- (br $while-out$18)
)
- )
- (set_local $2
- (i32.shl
- (get_local $5)
- (i32.const 1)
- )
- )
- (if
- (i32.eq
- (set_local $0
- (i32.load
- (set_local $5
- (i32.add
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load
+ (tee_local $6
(i32.add
- (get_local $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $5)
- (i32.const 31)
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $6)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (block
- (set_local $18
- (get_local $1)
- )
- (set_local $17
- (get_local $5)
- )
- (set_local $0
- (i32.const 127)
- )
- (br $while-out$18)
- )
- (block
- (set_local $5
- (get_local $2)
+ (block
+ (set_local $18
+ (get_local $1)
+ )
+ (set_local $17
+ (get_local $6)
+ )
+ (set_local $0
+ (i32.const 127)
+ )
+ (br $while-out$18)
)
- (set_local $1
- (get_local $0)
+ (block
+ (set_local $6
+ (get_local $2)
+ )
+ (set_local $1
+ (get_local $0)
+ )
)
)
+ (br $while-in$19)
)
- (br $while-in$19)
)
(if
(i32.eq
@@ -17420,9 +17294,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $15)
(i32.const 8)
@@ -17430,7 +17304,7 @@
)
)
)
- (set_local $5
+ (tee_local $6
(i32.load
(i32.const 192)
)
@@ -17438,7 +17312,7 @@
)
(i32.ge_u
(get_local $15)
- (get_local $5)
+ (get_local $6)
)
)
(block
@@ -17471,7 +17345,7 @@
)
(i32.store
(i32.const 208)
- (set_local $0
+ (tee_local $0
(i32.add
(i32.load
(i32.const 208)
@@ -17485,34 +17359,34 @@
(get_local $0)
(i32.const 0)
)
- (set_local $5
+ (set_local $6
(i32.const 632)
)
(return)
)
- (loop $while-out$20 $while-in$21
- (set_local $0
- (i32.eq
- (set_local $5
- (i32.load
- (get_local $5)
+ (loop $while-in$21
+ (block $while-out$20
+ (set_local $0
+ (i32.eq
+ (tee_local $6
+ (i32.load
+ (get_local $6)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 8)
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 8)
+ )
)
+ (br_if $while-out$20
+ (get_local $0)
+ )
+ (br $while-in$21)
)
- (if
- (get_local $0)
- (br $while-out$20)
- (get_local $5)
- )
- (br $while-in$21)
)
(i32.store
(i32.const 208)
@@ -17523,8 +17397,7 @@
(nop)
)
(func $_i64Subtract (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.sub
(i32.sub
(get_local $1)
@@ -17542,15 +17415,14 @@
)
)
(func $_i64Add (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.add
(i32.add
(get_local $1)
(get_local $3)
)
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(get_local $2)
@@ -17583,7 +17455,7 @@
(i32.or
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(get_local $1)
(i32.const 255)
@@ -17612,7 +17484,7 @@
)
)
(if
- (set_local $3
+ (tee_local $3
(i32.and
(get_local $0)
(i32.const 3)
@@ -17628,66 +17500,72 @@
(get_local $3)
)
)
- (loop $while-out$0 $while-in$1
- (br_if $while-out$0
- (i32.ge_s
- (get_local $0)
- (get_local $3)
+ (loop $while-in$1
+ (block $while-out$0
+ (br_if $while-out$0
+ (i32.ge_s
+ (get_local $0)
+ (get_local $3)
+ )
)
- )
- (i32.store8
- (get_local $0)
- (get_local $1)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (get_local $1)
+ )
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
+ (br $while-in$1)
)
- (br $while-in$1)
)
)
)
- (loop $while-out$2 $while-in$3
- (br_if $while-out$2
- (i32.ge_s
- (get_local $0)
- (get_local $6)
+ (loop $while-in$3
+ (block $while-out$2
+ (br_if $while-out$2
+ (i32.ge_s
+ (get_local $0)
+ (get_local $6)
+ )
)
- )
- (i32.store
- (get_local $0)
- (get_local $5)
- )
- (set_local $0
- (i32.add
+ (i32.store
(get_local $0)
- (i32.const 4)
+ (get_local $5)
+ )
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (br_if $while-out$4
- (i32.ge_s
- (get_local $0)
- (get_local $4)
+ (loop $while-in$5
+ (block $while-out$4
+ (br_if $while-out$4
+ (i32.ge_s
+ (get_local $0)
+ (get_local $4)
+ )
)
- )
- (i32.store8
- (get_local $0)
- (get_local $1)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (get_local $1)
)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
+ (br $while-in$5)
)
- (br $while-in$5)
)
(i32.sub
(get_local $0)
@@ -17701,8 +17579,7 @@
(i32.const 32)
)
(block
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.shr_u
(get_local $1)
(get_local $2)
@@ -17734,8 +17611,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(i32.shr_u
@@ -17753,8 +17629,7 @@
(i32.const 32)
)
(block
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.or
(i32.shl
(get_local $1)
@@ -17792,8 +17667,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.shl
(get_local $0)
(i32.sub
@@ -17834,117 +17708,123 @@
)
)
(block
- (loop $while-out$0 $while-in$1
- (br_if $while-out$0
- (i32.eqz
- (i32.and
- (get_local $0)
- (i32.const 3)
+ (loop $while-in$1
+ (block $while-out$0
+ (br_if $while-out$0
+ (i32.eqz
+ (i32.and
+ (get_local $0)
+ (i32.const 3)
+ )
)
)
- )
- (if
- (i32.eq
- (get_local $2)
- (i32.const 0)
- )
- (return
- (get_local $3)
- )
- )
- (i32.store8
- (get_local $0)
- (i32.load8_s
- (get_local $1)
+ (if
+ (i32.eq
+ (get_local $2)
+ (i32.const 0)
+ )
+ (return
+ (get_local $3)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 1)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
)
- )
- (br $while-in$1)
- )
- (loop $while-out$2 $while-in$3
- (br_if $while-out$2
- (i32.lt_s
- (get_local $2)
- (i32.const 4)
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 1)
+ )
)
+ (br $while-in$1)
)
- (i32.store
- (get_local $0)
- (i32.load
- (get_local $1)
+ )
+ (loop $while-in$3
+ (block $while-out$2
+ (br_if $while-out$2
+ (i32.lt_s
+ (get_local $2)
+ (i32.const 4)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store
(get_local $0)
- (i32.const 4)
+ (i32.load
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 4)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
+ )
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 4)
+ )
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (br_if $while-out$4
- (i32.le_s
- (get_local $2)
- (i32.const 0)
- )
- )
- (i32.store8
- (get_local $0)
- (i32.load8_s
- (get_local $1)
+ (loop $while-in$5
+ (block $while-out$4
+ (br_if $while-out$4
+ (i32.le_s
+ (get_local $2)
+ (i32.const 0)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 1)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 1)
+ )
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(get_local $3)
)
@@ -17955,8 +17835,7 @@
(i32.const 32)
)
(block
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.shr_s
(get_local $1)
(get_local $2)
@@ -17988,8 +17867,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(select
(i32.const -1)
(i32.const 0)
@@ -18014,15 +17892,15 @@
(set_local $2
(i32.add
(i32.shr_u
- (set_local $4
+ (tee_local $4
(i32.mul
- (set_local $2
+ (tee_local $2
(i32.and
(get_local $1)
(i32.const 65535)
)
)
- (set_local $3
+ (tee_local $3
(i32.and
(get_local $0)
(i32.const 65535)
@@ -18034,7 +17912,7 @@
)
(i32.mul
(get_local $2)
- (set_local $0
+ (tee_local $0
(i32.shr_u
(get_local $0)
(i32.const 16)
@@ -18045,7 +17923,7 @@
)
(set_local $3
(i32.mul
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $1)
(i32.const 16)
@@ -18054,8 +17932,7 @@
(get_local $3)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.add
(i32.add
(i32.shr_u
@@ -18103,7 +17980,7 @@
(call $___udivmoddi4
(call $_i64Subtract
(i32.xor
- (set_local $4
+ (tee_local $4
(i32.or
(i32.shr_s
(get_local $1)
@@ -18125,7 +18002,7 @@
(get_local $0)
)
(i32.xor
- (set_local $0
+ (tee_local $0
(i32.or
(i32.shr_s
(select
@@ -18156,12 +18033,10 @@
(get_local $4)
(get_local $0)
)
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
(call $_i64Subtract
(i32.xor
- (set_local $1
+ (tee_local $1
(i32.or
(i32.shr_s
(get_local $3)
@@ -18183,7 +18058,7 @@
(get_local $2)
)
(i32.xor
- (set_local $2
+ (tee_local $2
(i32.or
(i32.shr_s
(select
@@ -18214,12 +18089,10 @@
(get_local $1)
(get_local $2)
)
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
(i32.const 0)
)
- (set_local $1
+ (tee_local $1
(i32.xor
(get_local $1)
(get_local $4)
@@ -18227,10 +18100,8 @@
)
)
(i32.xor
- (i32.load
- (i32.const 168)
- )
- (set_local $0
+ (get_global $tempRet0)
+ (tee_local $0
(i32.xor
(get_local $2)
(get_local $0)
@@ -18246,138 +18117,131 @@
(local $5 i32)
(local $6 i32)
(set_local $6
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
- (call $___udivmoddi4
- (call $_i64Subtract
- (i32.xor
- (set_local $4
- (i32.or
- (i32.shr_s
- (get_local $1)
- (i32.const 31)
- )
- (i32.shl
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $1)
+ (drop
+ (call $___udivmoddi4
+ (call $_i64Subtract
+ (i32.xor
+ (tee_local $4
+ (i32.or
+ (i32.shr_s
+ (get_local $1)
+ (i32.const 31)
+ )
+ (i32.shl
+ (select
+ (i32.const -1)
(i32.const 0)
+ (i32.lt_s
+ (get_local $1)
+ (i32.const 0)
+ )
)
+ (i32.const 1)
)
- (i32.const 1)
)
)
+ (get_local $0)
)
- (get_local $0)
- )
- (i32.xor
- (set_local $5
- (i32.or
- (i32.shr_s
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $1)
+ (i32.xor
+ (tee_local $5
+ (i32.or
+ (i32.shr_s
+ (select
+ (i32.const -1)
(i32.const 0)
+ (i32.lt_s
+ (get_local $1)
+ (i32.const 0)
+ )
)
+ (i32.const 31)
)
- (i32.const 31)
- )
- (i32.shl
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $1)
+ (i32.shl
+ (select
+ (i32.const -1)
(i32.const 0)
+ (i32.lt_s
+ (get_local $1)
+ (i32.const 0)
+ )
)
+ (i32.const 1)
)
- (i32.const 1)
)
)
+ (get_local $1)
)
- (get_local $1)
+ (get_local $4)
+ (get_local $5)
)
- (get_local $4)
- (get_local $5)
- )
- (i32.load
- (i32.const 168)
- )
- (call $_i64Subtract
- (i32.xor
- (set_local $0
- (i32.or
- (i32.shr_s
- (get_local $3)
- (i32.const 31)
- )
- (i32.shl
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $3)
+ (get_global $tempRet0)
+ (call $_i64Subtract
+ (i32.xor
+ (tee_local $0
+ (i32.or
+ (i32.shr_s
+ (get_local $3)
+ (i32.const 31)
+ )
+ (i32.shl
+ (select
+ (i32.const -1)
(i32.const 0)
+ (i32.lt_s
+ (get_local $3)
+ (i32.const 0)
+ )
)
+ (i32.const 1)
)
- (i32.const 1)
)
)
+ (get_local $2)
)
- (get_local $2)
- )
- (i32.xor
- (set_local $1
- (i32.or
- (i32.shr_s
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $3)
+ (i32.xor
+ (tee_local $1
+ (i32.or
+ (i32.shr_s
+ (select
+ (i32.const -1)
(i32.const 0)
+ (i32.lt_s
+ (get_local $3)
+ (i32.const 0)
+ )
)
+ (i32.const 31)
)
- (i32.const 31)
- )
- (i32.shl
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $3)
+ (i32.shl
+ (select
+ (i32.const -1)
(i32.const 0)
+ (i32.lt_s
+ (get_local $3)
+ (i32.const 0)
+ )
)
+ (i32.const 1)
)
- (i32.const 1)
)
)
+ (get_local $3)
)
- (get_local $3)
+ (get_local $0)
+ (get_local $1)
+ )
+ (get_global $tempRet0)
+ (tee_local $0
+ (get_local $6)
)
- (get_local $0)
- (get_local $1)
- )
- (i32.load
- (i32.const 168)
- )
- (set_local $0
- (get_local $6)
)
)
(set_local $0
@@ -18399,16 +18263,12 @@
)
)
(set_local $1
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $6)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(get_local $1)
)
(get_local $0)
@@ -18421,8 +18281,7 @@
(get_local $2)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.or
(i32.add
(i32.add
@@ -18435,10 +18294,8 @@
(get_local $2)
)
)
- (set_local $0
- (i32.load
- (i32.const 168)
- )
+ (tee_local $0
+ (get_global $tempRet0)
)
)
(i32.and
@@ -18467,34 +18324,29 @@
(func $___uremdi3 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(local $4 i32)
(set_local $4
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
- (call $___udivmoddi4
- (get_local $0)
- (get_local $1)
- (get_local $2)
- (get_local $3)
- (set_local $0
- (get_local $4)
+ (drop
+ (call $___udivmoddi4
+ (get_local $0)
+ (get_local $1)
+ (get_local $2)
+ (get_local $3)
+ (tee_local $0
+ (get_local $4)
+ )
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $4)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.load offset=4
(get_local $0)
)
@@ -18521,14 +18373,14 @@
(get_local $2)
)
(set_local $7
- (set_local $14
+ (tee_local $14
(get_local $3)
)
)
(if
(i32.eq
- (set_local $6
- (set_local $9
+ (tee_local $6
+ (tee_local $9
(get_local $1)
)
)
@@ -18563,8 +18415,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18580,8 +18431,7 @@
(get_local $2)
)
(block
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18603,8 +18453,7 @@
(i32.const 0)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18649,8 +18498,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18686,8 +18534,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18701,7 +18548,7 @@
(if
(i32.eq
(i32.and
- (set_local $5
+ (tee_local $5
(i32.sub
(get_local $7)
(i32.const 1)
@@ -18743,8 +18590,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18759,7 +18605,7 @@
)
(if
(i32.le_u
- (set_local $5
+ (tee_local $5
(i32.sub
(i32.clz
(get_local $7)
@@ -18773,7 +18619,7 @@
)
(block
(set_local $12
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $5)
(i32.const 1)
@@ -18784,7 +18630,7 @@
(i32.or
(i32.shl
(get_local $6)
- (set_local $1
+ (tee_local $1
(i32.sub
(i32.const 31)
(get_local $5)
@@ -18821,8 +18667,7 @@
(i32.const 0)
)
(block
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18850,8 +18695,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18866,7 +18710,7 @@
(block
(if
(i32.le_u
- (set_local $5
+ (tee_local $5
(i32.sub
(i32.clz
(get_local $7)
@@ -18880,7 +18724,7 @@
)
(block
(set_local $12
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $5)
(i32.const 1)
@@ -18894,7 +18738,7 @@
(get_local $8)
(get_local $0)
)
- (set_local $9
+ (tee_local $9
(i32.shr_s
(i32.sub
(get_local $5)
@@ -18906,7 +18750,7 @@
)
(i32.shl
(get_local $6)
- (set_local $1
+ (tee_local $1
(i32.sub
(i32.const 31)
(get_local $5)
@@ -18942,8 +18786,7 @@
(i32.const 0)
)
(block
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18971,8 +18814,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -18983,7 +18825,7 @@
(if
(i32.ne
(i32.and
- (set_local $7
+ (tee_local $7
(i32.sub
(get_local $5)
(i32.const 1)
@@ -18997,7 +18839,7 @@
(set_local $1
(i32.sub
(i32.const 64)
- (set_local $0
+ (tee_local $0
(i32.sub
(i32.add
(i32.clz
@@ -19014,7 +18856,7 @@
)
(set_local $5
(i32.shr_s
- (set_local $9
+ (tee_local $9
(i32.sub
(i32.const 32)
(get_local $0)
@@ -19025,7 +18867,7 @@
)
(set_local $10
(i32.shr_s
- (set_local $7
+ (tee_local $7
(i32.sub
(get_local $0)
(i32.const 32)
@@ -19143,8 +18985,7 @@
(i32.const 1)
)
(block
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.or
(get_local $9)
(i32.and
@@ -19164,13 +19005,12 @@
)
)
(block
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.or
(i32.const 0)
(i32.shr_u
(get_local $6)
- (set_local $0
+ (tee_local $0
(i32.ctz
(get_local $5)
)
@@ -19216,7 +19056,7 @@
(block
(set_local $3
(call $_i64Add
- (set_local $1
+ (tee_local $1
(i32.or
(i32.const 0)
(i32.and
@@ -19225,7 +19065,7 @@
)
)
)
- (set_local $2
+ (tee_local $2
(i32.or
(get_local $14)
(i32.and
@@ -19239,9 +19079,7 @@
)
)
(set_local $8
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
(set_local $9
(get_local $0)
@@ -19249,150 +19087,150 @@
(set_local $0
(i32.const 0)
)
- (loop $while-out$2 $while-in$3
- (set_local $6
- (i32.or
- (i32.shr_u
- (get_local $10)
- (i32.const 31)
- )
- (i32.shl
- (get_local $9)
- (i32.const 1)
- )
- )
- )
- (set_local $10
- (i32.or
- (get_local $0)
- (i32.shl
- (get_local $10)
- (i32.const 1)
- )
- )
- )
- (call $_i64Subtract
- (get_local $3)
- (get_local $8)
- (set_local $0
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $6
(i32.or
- (i32.const 0)
- (i32.or
- (i32.shl
- (get_local $11)
- (i32.const 1)
- )
- (i32.shr_u
- (get_local $9)
- (i32.const 31)
- )
+ (i32.shr_u
+ (get_local $10)
+ (i32.const 31)
+ )
+ (i32.shl
+ (get_local $9)
+ (i32.const 1)
)
)
)
- (set_local $9
+ (set_local $10
(i32.or
- (i32.shr_u
- (get_local $11)
- (i32.const 31)
- )
+ (get_local $0)
(i32.shl
- (get_local $13)
+ (get_local $10)
(i32.const 1)
)
)
)
- )
- (set_local $7
- (i32.and
- (set_local $14
- (i32.or
- (i32.shr_s
- (set_local $5
- (i32.load
- (i32.const 168)
+ (drop
+ (call $_i64Subtract
+ (get_local $3)
+ (get_local $8)
+ (tee_local $0
+ (i32.or
+ (i32.const 0)
+ (i32.or
+ (i32.shl
+ (get_local $11)
+ (i32.const 1)
+ )
+ (i32.shr_u
+ (get_local $9)
+ (i32.const 31)
)
)
- (i32.const 31)
)
- (i32.shl
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
+ )
+ (tee_local $9
+ (i32.or
+ (i32.shr_u
+ (get_local $11)
+ (i32.const 31)
+ )
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
)
- (i32.const 1)
)
)
)
- (i32.const 1)
)
- )
- (set_local $11
- (call $_i64Subtract
- (get_local $0)
- (get_local $9)
- (i32.and
- (get_local $14)
- (get_local $1)
- )
+ (set_local $7
(i32.and
- (i32.or
- (i32.shr_s
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $5)
+ (tee_local $14
+ (i32.or
+ (i32.shr_s
+ (tee_local $5
+ (get_global $tempRet0)
+ )
+ (i32.const 31)
+ )
+ (i32.shl
+ (select
+ (i32.const -1)
(i32.const 0)
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
)
+ (i32.const 1)
)
- (i32.const 31)
)
- (i32.shl
- (select
- (i32.const -1)
- (i32.const 0)
- (i32.lt_s
- (get_local $5)
+ )
+ (i32.const 1)
+ )
+ )
+ (set_local $11
+ (call $_i64Subtract
+ (get_local $0)
+ (get_local $9)
+ (i32.and
+ (get_local $14)
+ (get_local $1)
+ )
+ (i32.and
+ (i32.or
+ (i32.shr_s
+ (select
+ (i32.const -1)
(i32.const 0)
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
)
+ (i32.const 31)
+ )
+ (i32.shl
+ (select
+ (i32.const -1)
+ (i32.const 0)
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
+ (get_local $2)
)
- (get_local $2)
)
)
- )
- (set_local $13
- (i32.load
- (i32.const 168)
+ (set_local $13
+ (get_global $tempRet0)
)
- )
- (if
- (i32.eq
- (set_local $12
- (i32.sub
- (get_local $12)
- (i32.const 1)
+ (if
+ (i32.eq
+ (tee_local $12
+ (i32.sub
+ (get_local $12)
+ (i32.const 1)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (br $while-out$2)
- (block
- (set_local $9
- (get_local $6)
- )
- (set_local $0
- (get_local $7)
+ (br $while-out$2)
+ (block
+ (set_local $9
+ (get_local $6)
+ )
+ (set_local $0
+ (get_local $7)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
(set_local $1
(i32.const 0)
@@ -19404,7 +19242,7 @@
(set_local $3
(i32.or
(get_local $6)
- (set_local $2
+ (tee_local $2
(i32.const 0)
)
)
@@ -19428,8 +19266,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.or
(i32.or
(i32.or
@@ -19478,6 +19315,7 @@
)
(func $dynCall_ii (param $0 i32) (param $1 i32) (result i32)
(call_indirect $FUNCSIG$ii
+ (get_local $1)
(i32.add
(i32.and
(get_local $0)
@@ -19485,11 +19323,13 @@
)
(i32.const 0)
)
- (get_local $1)
)
)
(func $dynCall_iiii (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(call_indirect $FUNCSIG$iiii
+ (get_local $1)
+ (get_local $2)
+ (get_local $3)
(i32.add
(i32.and
(get_local $0)
@@ -19497,13 +19337,11 @@
)
(i32.const 2)
)
- (get_local $1)
- (get_local $2)
- (get_local $3)
)
)
(func $dynCall_vi (param $0 i32) (param $1 i32)
(call_indirect $FUNCSIG$vi
+ (get_local $1)
(i32.add
(i32.and
(get_local $0)
@@ -19511,7 +19349,6 @@
)
(i32.const 10)
)
- (get_local $1)
)
)
(func $b0 (param $0 i32) (result i32)
diff --git a/test/emcc_hello_world.fromasm.imprecise.no-opts b/test/emcc_hello_world.fromasm.imprecise.no-opts
index d8b887891..45f19f21c 100644
--- a/test/emcc_hello_world.fromasm.imprecise.no-opts
+++ b/test/emcc_hello_world.fromasm.imprecise.no-opts
@@ -1,6 +1,5 @@
(module
(memory 256 256)
- (export "memory" memory)
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
@@ -8,72 +7,99 @@
(type $FUNCSIG$i (func (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vii (func (param i32 i32)))
- (import $abort "env" "abort")
- (import $nullFunc_ii "env" "nullFunc_ii" (param i32))
- (import $nullFunc_iiii "env" "nullFunc_iiii" (param i32))
- (import $nullFunc_vi "env" "nullFunc_vi" (param i32))
- (import $_pthread_cleanup_pop "env" "_pthread_cleanup_pop" (param i32))
- (import $___lock "env" "___lock" (param i32))
- (import $_pthread_self "env" "_pthread_self" (result i32))
- (import $_abort "env" "_abort")
- (import $___syscall6 "env" "___syscall6" (param i32 i32) (result i32))
- (import $_sbrk "env" "_sbrk" (param i32) (result i32))
- (import $_time "env" "_time" (param i32) (result i32))
- (import $_emscripten_memcpy_big "env" "_emscripten_memcpy_big" (param i32 i32 i32) (result i32))
- (import $___syscall54 "env" "___syscall54" (param i32 i32) (result i32))
- (import $___unlock "env" "___unlock" (param i32))
- (import $___syscall140 "env" "___syscall140" (param i32 i32) (result i32))
- (import $_pthread_cleanup_push "env" "_pthread_cleanup_push" (param i32 i32))
- (import $_sysconf "env" "_sysconf" (param i32) (result i32))
- (import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
- (export "_i64Subtract" $_i64Subtract)
- (export "_free" $_free)
- (export "_main" $_main)
- (export "_i64Add" $_i64Add)
- (export "_memset" $_memset)
- (export "_malloc" $_malloc)
- (export "_memcpy" $_memcpy)
- (export "_bitshift64Lshr" $_bitshift64Lshr)
- (export "_fflush" $_fflush)
- (export "___errno_location" $___errno_location)
- (export "_bitshift64Shl" $_bitshift64Shl)
- (export "runPostSets" $runPostSets)
- (export "stackAlloc" $stackAlloc)
- (export "stackSave" $stackSave)
- (export "stackRestore" $stackRestore)
- (export "establishStackSpace" $establishStackSpace)
- (export "setThrew" $setThrew)
- (export "setTempRet0" $setTempRet0)
- (export "getTempRet0" $getTempRet0)
- (export "dynCall_ii" $dynCall_ii)
- (export "dynCall_iiii" $dynCall_iiii)
- (export "dynCall_vi" $dynCall_vi)
- (export "___udivmoddi4" $___udivmoddi4)
+ (import "env" "STACKTOP" (global $STACKTOP i32))
+ (import "env" "STACK_MAX" (global $STACK_MAX i32))
+ (import "env" "tempDoublePtr" (global $tempDoublePtr i32))
+ (import "env" "ABORT" (global $ABORT i32))
+ (import "env" "cttz_i8" (global $cttz_i8 i32))
+ (import "global" "NaN" (global $nan f64))
+ (import "global" "Infinity" (global $inf f64))
+ (import "env" "abort" (func $abort))
+ (import "env" "nullFunc_ii" (func $nullFunc_ii (param i32)))
+ (import "env" "nullFunc_iiii" (func $nullFunc_iiii (param i32)))
+ (import "env" "nullFunc_vi" (func $nullFunc_vi (param i32)))
+ (import "env" "_pthread_cleanup_pop" (func $_pthread_cleanup_pop (param i32)))
+ (import "env" "___lock" (func $___lock (param i32)))
+ (import "env" "_pthread_self" (func $_pthread_self (result i32)))
+ (import "env" "_abort" (func $_abort))
+ (import "env" "___syscall6" (func $___syscall6 (param i32 i32) (result i32)))
+ (import "env" "_sbrk" (func $_sbrk (param i32) (result i32)))
+ (import "env" "_time" (func $_time (param i32) (result i32)))
+ (import "env" "_emscripten_memcpy_big" (func $_emscripten_memcpy_big (param i32 i32 i32) (result i32)))
+ (import "env" "___syscall54" (func $___syscall54 (param i32 i32) (result i32)))
+ (import "env" "___unlock" (func $___unlock (param i32)))
+ (import "env" "___syscall140" (func $___syscall140 (param i32 i32) (result i32)))
+ (import "env" "_pthread_cleanup_push" (func $_pthread_cleanup_push (param i32 i32)))
+ (import "env" "_sysconf" (func $_sysconf (param i32) (result i32)))
+ (import "env" "___syscall146" (func $___syscall146 (param i32 i32) (result i32)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "_i64Subtract" (func $_i64Subtract))
+ (export "_free" (func $_free))
+ (export "_main" (func $_main))
+ (export "_i64Add" (func $_i64Add))
+ (export "_memset" (func $_memset))
+ (export "_malloc" (func $_malloc))
+ (export "_memcpy" (func $_memcpy))
+ (export "_bitshift64Lshr" (func $_bitshift64Lshr))
+ (export "_fflush" (func $_fflush))
+ (export "___errno_location" (func $___errno_location))
+ (export "_bitshift64Shl" (func $_bitshift64Shl))
+ (export "runPostSets" (func $runPostSets))
+ (export "stackAlloc" (func $stackAlloc))
+ (export "stackSave" (func $stackSave))
+ (export "stackRestore" (func $stackRestore))
+ (export "establishStackSpace" (func $establishStackSpace))
+ (export "setThrew" (func $setThrew))
+ (export "setTempRet0" (func $setTempRet0))
+ (export "getTempRet0" (func $getTempRet0))
+ (export "dynCall_ii" (func $dynCall_ii))
+ (export "dynCall_iiii" (func $dynCall_iiii))
+ (export "dynCall_vi" (func $dynCall_vi))
+ (export "___udivmoddi4" (func $___udivmoddi4))
+ (global $__THREW__ i32 (i32.const 0))
+ (global $threwValue i32 (i32.const 0))
+ (global $setjmpId i32 (i32.const 0))
+ (global $undef i32 (i32.const 0))
+ (global $tempInt i32 (i32.const 0))
+ (global $tempBigInt i32 (i32.const 0))
+ (global $tempBigIntP i32 (i32.const 0))
+ (global $tempBigIntS i32 (i32.const 0))
+ (global $tempBigIntR f64 (f64.const 0))
+ (global $tempBigIntI i32 (i32.const 0))
+ (global $tempBigIntD i32 (i32.const 0))
+ (global $tempValue i32 (i32.const 0))
+ (global $tempDouble f64 (f64.const 0))
+ (global $tempRet0 i32 (i32.const 0))
+ (global $tempRet1 i32 (i32.const 0))
+ (global $tempRet2 i32 (i32.const 0))
+ (global $tempRet3 i32 (i32.const 0))
+ (global $tempRet4 i32 (i32.const 0))
+ (global $tempRet5 i32 (i32.const 0))
+ (global $tempRet6 i32 (i32.const 0))
+ (global $tempRet7 i32 (i32.const 0))
+ (global $tempRet8 i32 (i32.const 0))
+ (global $tempRet9 i32 (i32.const 0))
+ (global $tempFloat f64 (f64.const 0))
(table 18 18 anyfunc)
(elem (i32.const 0) $b0 $___stdio_close $b1 $b1 $___stdout_write $___stdio_seek $___stdio_write $b1 $b1 $b1 $b2 $b2 $b2 $b2 $b2 $_cleanup $b2 $b2)
(func $stackAlloc (param $size i32) (result i32)
(local $ret i32)
(set_local $ret
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(get_local $size)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.and
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 15)
)
(i32.const -16)
@@ -81,12 +107,8 @@
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -96,42 +118,33 @@
)
(func $stackSave (result i32)
(return
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
)
(func $stackRestore (param $top i32)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $top)
)
)
(func $establishStackSpace (param $stackBase i32) (param $stackMax i32)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $stackBase)
)
- (i32.store
- (i32.const 16)
+ (set_global $STACK_MAX
(get_local $stackMax)
)
)
(func $setThrew (param $threw i32) (param $value i32)
(if
(i32.eq
- (i32.load
- (i32.const 48)
- )
+ (get_global $__THREW__)
(i32.const 0)
)
(block
- (i32.store
- (i32.const 48)
+ (set_global $__THREW__
(get_local $threw)
)
- (i32.store
- (i32.const 56)
+ (set_global $threwValue
(get_local $value)
)
)
@@ -139,18 +152,14 @@
)
(func $copyTempFloat (param $ptr i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s
(get_local $ptr)
)
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 1)
)
(i32.load8_s
@@ -162,9 +171,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 2)
)
(i32.load8_s
@@ -176,9 +183,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 3)
)
(i32.load8_s
@@ -191,18 +196,14 @@
)
(func $copyTempDouble (param $ptr i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s
(get_local $ptr)
)
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 1)
)
(i32.load8_s
@@ -214,9 +215,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 2)
)
(i32.load8_s
@@ -228,9 +227,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 3)
)
(i32.load8_s
@@ -242,9 +239,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 4)
)
(i32.load8_s
@@ -256,9 +251,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 5)
)
(i32.load8_s
@@ -270,9 +263,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 6)
)
(i32.load8_s
@@ -284,9 +275,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 7)
)
(i32.load8_s
@@ -298,16 +287,13 @@
)
)
(func $setTempRet0 (param $value i32)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(get_local $value)
)
)
(func $getTempRet0 (result i32)
(return
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
)
(func $_main (result i32)
@@ -316,27 +302,18 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -346,12 +323,13 @@
(set_local $$retval
(i32.const 0)
)
- (call $_printf
- (i32.const 672)
- (get_local $$vararg_buffer)
+ (drop
+ (call $_printf
+ (i32.const 672)
+ (get_local $$vararg_buffer)
+ )
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return
@@ -379,29 +357,21 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(f64.store
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(get_local $$x)
)
(set_local $$0
(i32.load
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
)
)
(set_local $$1
(i32.load
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 4)
)
)
@@ -414,9 +384,7 @@
)
)
(set_local $$3
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
(set_local $$conv
(i32.and
@@ -526,25 +494,19 @@
)
)
(i32.store
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(get_local $$0)
)
(i32.store
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 4)
)
(get_local $$6)
)
(set_local $$7
(f64.load
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
)
)
(set_local $$retval$0
@@ -562,9 +524,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$call
(call $_frexp
@@ -599,80 +559,80 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$i$012
(i32.const 0)
)
- (loop $while-out$0 $while-in$1
- (set_local $$arrayidx
- (i32.add
- (i32.const 687)
- (get_local $$i$012)
- )
- )
- (set_local $$0
- (i32.load8_s
- (get_local $$arrayidx)
- )
- )
- (set_local $$conv
- (i32.and
- (get_local $$0)
- (i32.const 255)
+ (loop $while-in$1
+ (block $while-out$0
+ (set_local $$arrayidx
+ (i32.add
+ (i32.const 687)
+ (get_local $$i$012)
+ )
)
- )
- (set_local $$cmp
- (i32.eq
- (get_local $$conv)
- (get_local $$e)
+ (set_local $$0
+ (i32.load8_s
+ (get_local $$arrayidx)
+ )
)
- )
- (if
- (get_local $$cmp)
- (block
- (set_local $$i$012$lcssa
- (get_local $$i$012)
+ (set_local $$conv
+ (i32.and
+ (get_local $$0)
+ (i32.const 255)
)
- (set_local $label
- (i32.const 2)
+ )
+ (set_local $$cmp
+ (i32.eq
+ (get_local $$conv)
+ (get_local $$e)
)
- (br $while-out$0)
)
- )
- (set_local $$inc
- (i32.add
- (get_local $$i$012)
- (i32.const 1)
+ (if
+ (get_local $$cmp)
+ (block
+ (set_local $$i$012$lcssa
+ (get_local $$i$012)
+ )
+ (set_local $label
+ (i32.const 2)
+ )
+ (br $while-out$0)
+ )
)
- )
- (set_local $$tobool
- (i32.eq
- (get_local $$inc)
- (i32.const 87)
+ (set_local $$inc
+ (i32.add
+ (get_local $$i$012)
+ (i32.const 1)
+ )
)
- )
- (if
- (get_local $$tobool)
- (block
- (set_local $$i$111
+ (set_local $$tobool
+ (i32.eq
+ (get_local $$inc)
(i32.const 87)
)
- (set_local $$s$010
- (i32.const 775)
+ )
+ (if
+ (get_local $$tobool)
+ (block
+ (set_local $$i$111
+ (i32.const 87)
+ )
+ (set_local $$s$010
+ (i32.const 775)
+ )
+ (set_local $label
+ (i32.const 5)
+ )
+ (br $while-out$0)
)
- (set_local $label
- (i32.const 5)
+ (set_local $$i$012
+ (get_local $$inc)
)
- (br $while-out$0)
- )
- (set_local $$i$012
- (get_local $$inc)
)
+ (br $while-in$1)
)
- (br $while-in$1)
)
(if
(i32.eq
@@ -710,84 +670,88 @@
(get_local $label)
(i32.const 5)
)
- (loop $while-out$2 $while-in$3
- (set_local $label
- (i32.const 0)
- )
- (set_local $$s$1
- (get_local $$s$010)
- )
- (loop $while-out$4 $while-in$5
- (set_local $$1
- (i32.load8_s
- (get_local $$s$1)
- )
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $label
+ (i32.const 0)
)
- (set_local $$tobool8
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$1)
- (i32.const 24)
+ (set_local $$s$1
+ (get_local $$s$010)
+ )
+ (loop $while-in$5
+ (block $while-out$4
+ (set_local $$1
+ (i32.load8_s
+ (get_local $$s$1)
)
- (i32.const 24)
)
- (i32.const 0)
+ (set_local $$tobool8
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$1)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ (i32.const 0)
+ )
+ )
+ (set_local $$incdec$ptr
+ (i32.add
+ (get_local $$s$1)
+ (i32.const 1)
+ )
+ )
+ (if
+ (get_local $$tobool8)
+ (block
+ (set_local $$incdec$ptr$lcssa
+ (get_local $$incdec$ptr)
+ )
+ (br $while-out$4)
+ )
+ (set_local $$s$1
+ (get_local $$incdec$ptr)
+ )
+ )
+ (br $while-in$5)
)
)
- (set_local $$incdec$ptr
+ (set_local $$dec
(i32.add
- (get_local $$s$1)
- (i32.const 1)
+ (get_local $$i$111)
+ (i32.const -1)
+ )
+ )
+ (set_local $$tobool5
+ (i32.eq
+ (get_local $$dec)
+ (i32.const 0)
)
)
(if
- (get_local $$tobool8)
+ (get_local $$tobool5)
(block
- (set_local $$incdec$ptr$lcssa
- (get_local $$incdec$ptr)
+ (set_local $$s$0$lcssa
+ (get_local $$incdec$ptr$lcssa)
)
- (br $while-out$4)
- )
- (set_local $$s$1
- (get_local $$incdec$ptr)
- )
- )
- (br $while-in$5)
- )
- (set_local $$dec
- (i32.add
- (get_local $$i$111)
- (i32.const -1)
- )
- )
- (set_local $$tobool5
- (i32.eq
- (get_local $$dec)
- (i32.const 0)
- )
- )
- (if
- (get_local $$tobool5)
- (block
- (set_local $$s$0$lcssa
- (get_local $$incdec$ptr$lcssa)
- )
- (br $while-out$2)
- )
- (block
- (set_local $$i$111
- (get_local $$dec)
- )
- (set_local $$s$010
- (get_local $$incdec$ptr$lcssa)
+ (br $while-out$2)
)
- (set_local $label
- (i32.const 5)
+ (block
+ (set_local $$i$111
+ (get_local $$dec)
+ )
+ (set_local $$s$010
+ (get_local $$incdec$ptr$lcssa)
+ )
+ (set_local $label
+ (i32.const 5)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
(return
@@ -804,9 +768,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$0
(i32.load
@@ -857,27 +819,18 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -910,8 +863,7 @@
(get_local $$call)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return
@@ -936,27 +888,18 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 80)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -1072,8 +1015,7 @@
(get_local $$len)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return
@@ -1097,27 +1039,18 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 32)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -1224,8 +1157,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return
@@ -1272,9 +1204,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$tobool
(i32.eq
@@ -1344,139 +1274,141 @@
(set_local $$r$021
(get_local $$cond10)
)
- (loop $while-out$2 $while-in$3
- (set_local $$lock13
- (i32.add
- (get_local $$f$addr$022)
- (i32.const 76)
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $$lock13
+ (i32.add
+ (get_local $$f$addr$022)
+ (i32.const 76)
+ )
)
- )
- (set_local $$3
- (i32.load
- (get_local $$lock13)
+ (set_local $$3
+ (i32.load
+ (get_local $$lock13)
+ )
)
- )
- (set_local $$cmp14
- (i32.gt_s
- (get_local $$3)
- (i32.const -1)
+ (set_local $$cmp14
+ (i32.gt_s
+ (get_local $$3)
+ (i32.const -1)
+ )
)
- )
- (if
- (get_local $$cmp14)
- (block
- (set_local $$call16
- (call $___lockfile
- (get_local $$f$addr$022)
+ (if
+ (get_local $$cmp14)
+ (block
+ (set_local $$call16
+ (call $___lockfile
+ (get_local $$f$addr$022)
+ )
+ )
+ (set_local $$cond19
+ (get_local $$call16)
)
)
(set_local $$cond19
- (get_local $$call16)
+ (i32.const 0)
)
)
- (set_local $$cond19
- (i32.const 0)
- )
- )
- (set_local $$wpos
- (i32.add
- (get_local $$f$addr$022)
- (i32.const 20)
+ (set_local $$wpos
+ (i32.add
+ (get_local $$f$addr$022)
+ (i32.const 20)
+ )
)
- )
- (set_local $$4
- (i32.load
- (get_local $$wpos)
+ (set_local $$4
+ (i32.load
+ (get_local $$wpos)
+ )
)
- )
- (set_local $$wbase
- (i32.add
- (get_local $$f$addr$022)
- (i32.const 28)
+ (set_local $$wbase
+ (i32.add
+ (get_local $$f$addr$022)
+ (i32.const 28)
+ )
)
- )
- (set_local $$5
- (i32.load
- (get_local $$wbase)
+ (set_local $$5
+ (i32.load
+ (get_local $$wbase)
+ )
)
- )
- (set_local $$cmp20
- (i32.gt_u
- (get_local $$4)
- (get_local $$5)
+ (set_local $$cmp20
+ (i32.gt_u
+ (get_local $$4)
+ (get_local $$5)
+ )
)
- )
- (if
- (get_local $$cmp20)
- (block
- (set_local $$call22
- (call $___fflush_unlocked
- (get_local $$f$addr$022)
+ (if
+ (get_local $$cmp20)
+ (block
+ (set_local $$call22
+ (call $___fflush_unlocked
+ (get_local $$f$addr$022)
+ )
)
- )
- (set_local $$or
- (i32.or
- (get_local $$call22)
- (get_local $$r$021)
+ (set_local $$or
+ (i32.or
+ (get_local $$call22)
+ (get_local $$r$021)
+ )
+ )
+ (set_local $$r$1
+ (get_local $$or)
)
)
(set_local $$r$1
- (get_local $$or)
+ (get_local $$r$021)
)
)
- (set_local $$r$1
- (get_local $$r$021)
- )
- )
- (set_local $$tobool24
- (i32.eq
- (get_local $$cond19)
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (get_local $$tobool24)
- )
- (call $___unlockfile
- (get_local $$f$addr$022)
- )
- )
- (set_local $$next
- (i32.add
- (get_local $$f$addr$022)
- (i32.const 56)
+ (set_local $$tobool24
+ (i32.eq
+ (get_local $$cond19)
+ (i32.const 0)
+ )
)
- )
- (set_local $$f$addr$0
- (i32.load
- (get_local $$next)
+ (if
+ (i32.eqz
+ (get_local $$tobool24)
+ )
+ (call $___unlockfile
+ (get_local $$f$addr$022)
+ )
)
- )
- (set_local $$tobool11
- (i32.eq
- (get_local $$f$addr$0)
- (i32.const 0)
+ (set_local $$next
+ (i32.add
+ (get_local $$f$addr$022)
+ (i32.const 56)
+ )
)
- )
- (if
- (get_local $$tobool11)
- (block
- (set_local $$r$0$lcssa
- (get_local $$r$1)
+ (set_local $$f$addr$0
+ (i32.load
+ (get_local $$next)
)
- (br $while-out$2)
)
- (block
- (set_local $$f$addr$022
+ (set_local $$tobool11
+ (i32.eq
(get_local $$f$addr$0)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool11)
+ (block
+ (set_local $$r$0$lcssa
+ (get_local $$r$1)
+ )
+ (br $while-out$2)
)
- (set_local $$r$021
- (get_local $$r$1)
+ (block
+ (set_local $$f$addr$022
+ (get_local $$f$addr$0)
+ )
+ (set_local $$r$021
+ (get_local $$r$1)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
@@ -1565,27 +1497,18 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -1608,8 +1531,7 @@
(get_local $$ap)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return
@@ -1620,9 +1542,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(return
(i32.const 0)
@@ -1632,9 +1552,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(return)
)
@@ -1711,27 +1629,18 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 48)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -1839,331 +1748,333 @@
(set_local $$rem$0
(get_local $$add)
)
- (loop $while-out$0 $while-in$1
- (set_local $$2
- (i32.load
- (i32.const 16)
+ (loop $while-in$1
+ (block $while-out$0
+ (set_local $$2
+ (i32.load
+ (i32.const 16)
+ )
)
- )
- (set_local $$tobool
- (i32.eq
- (get_local $$2)
- (i32.const 0)
+ (set_local $$tobool
+ (i32.eq
+ (get_local $$2)
+ (i32.const 0)
+ )
)
- )
- (if
- (get_local $$tobool)
- (block
- (set_local $$4
- (i32.load
- (get_local $$fd8)
+ (if
+ (get_local $$tobool)
+ (block
+ (set_local $$4
+ (i32.load
+ (get_local $$fd8)
+ )
)
- )
- (i32.store
- (get_local $$vararg_buffer3)
- (get_local $$4)
- )
- (set_local $$vararg_ptr6
- (i32.add
+ (i32.store
(get_local $$vararg_buffer3)
- (i32.const 4)
+ (get_local $$4)
)
- )
- (i32.store
- (get_local $$vararg_ptr6)
- (get_local $$iov$0)
- )
- (set_local $$vararg_ptr7
- (i32.add
- (get_local $$vararg_buffer3)
- (i32.const 8)
+ (set_local $$vararg_ptr6
+ (i32.add
+ (get_local $$vararg_buffer3)
+ (i32.const 4)
+ )
)
- )
- (i32.store
- (get_local $$vararg_ptr7)
- (get_local $$iovcnt$0)
- )
- (set_local $$call9
- (call_import $___syscall146
- (i32.const 146)
- (get_local $$vararg_buffer3)
+ (i32.store
+ (get_local $$vararg_ptr6)
+ (get_local $$iov$0)
)
- )
- (set_local $$call10
- (call $___syscall_ret
- (get_local $$call9)
+ (set_local $$vararg_ptr7
+ (i32.add
+ (get_local $$vararg_buffer3)
+ (i32.const 8)
+ )
)
- )
- (set_local $$cnt$0
- (get_local $$call10)
- )
- )
- (block
- (call_import $_pthread_cleanup_push
- (i32.const 5)
- (get_local $$f)
- )
- (set_local $$3
- (i32.load
- (get_local $$fd8)
+ (i32.store
+ (get_local $$vararg_ptr7)
+ (get_local $$iovcnt$0)
)
- )
- (i32.store
- (get_local $$vararg_buffer)
- (get_local $$3)
- )
- (set_local $$vararg_ptr1
- (i32.add
- (get_local $$vararg_buffer)
- (i32.const 4)
+ (set_local $$call9
+ (call_import $___syscall146
+ (i32.const 146)
+ (get_local $$vararg_buffer3)
+ )
)
- )
- (i32.store
- (get_local $$vararg_ptr1)
- (get_local $$iov$0)
- )
- (set_local $$vararg_ptr2
- (i32.add
- (get_local $$vararg_buffer)
- (i32.const 8)
+ (set_local $$call10
+ (call $___syscall_ret
+ (get_local $$call9)
+ )
+ )
+ (set_local $$cnt$0
+ (get_local $$call10)
)
)
- (i32.store
- (get_local $$vararg_ptr2)
- (get_local $$iovcnt$0)
- )
- (set_local $$call
- (call_import $___syscall146
- (i32.const 146)
+ (block
+ (call_import $_pthread_cleanup_push
+ (i32.const 5)
+ (get_local $$f)
+ )
+ (set_local $$3
+ (i32.load
+ (get_local $$fd8)
+ )
+ )
+ (i32.store
(get_local $$vararg_buffer)
+ (get_local $$3)
)
- )
- (set_local $$call7
- (call $___syscall_ret
- (get_local $$call)
+ (set_local $$vararg_ptr1
+ (i32.add
+ (get_local $$vararg_buffer)
+ (i32.const 4)
+ )
+ )
+ (i32.store
+ (get_local $$vararg_ptr1)
+ (get_local $$iov$0)
+ )
+ (set_local $$vararg_ptr2
+ (i32.add
+ (get_local $$vararg_buffer)
+ (i32.const 8)
+ )
+ )
+ (i32.store
+ (get_local $$vararg_ptr2)
+ (get_local $$iovcnt$0)
+ )
+ (set_local $$call
+ (call_import $___syscall146
+ (i32.const 146)
+ (get_local $$vararg_buffer)
+ )
+ )
+ (set_local $$call7
+ (call $___syscall_ret
+ (get_local $$call)
+ )
+ )
+ (call_import $_pthread_cleanup_pop
+ (i32.const 0)
+ )
+ (set_local $$cnt$0
+ (get_local $$call7)
)
)
- (call_import $_pthread_cleanup_pop
- (i32.const 0)
- )
- (set_local $$cnt$0
- (get_local $$call7)
- )
- )
- )
- (set_local $$cmp
- (i32.eq
- (get_local $$rem$0)
- (get_local $$cnt$0)
- )
- )
- (if
- (get_local $$cmp)
- (block
- (set_local $label
- (i32.const 6)
- )
- (br $while-out$0)
- )
- )
- (set_local $$cmp17
- (i32.lt_s
- (get_local $$cnt$0)
- (i32.const 0)
)
- )
- (if
- (get_local $$cmp17)
- (block
- (set_local $$iov$0$lcssa57
- (get_local $$iov$0)
- )
- (set_local $$iovcnt$0$lcssa58
- (get_local $$iovcnt$0)
- )
- (set_local $label
- (i32.const 8)
+ (set_local $$cmp
+ (i32.eq
+ (get_local $$rem$0)
+ (get_local $$cnt$0)
)
- (br $while-out$0)
)
- )
- (set_local $$sub26
- (i32.sub
- (get_local $$rem$0)
- (get_local $$cnt$0)
- )
- )
- (set_local $$iov_len28
- (i32.add
- (get_local $$iov$0)
- (i32.const 4)
- )
- )
- (set_local $$10
- (i32.load
- (get_local $$iov_len28)
- )
- )
- (set_local $$cmp29
- (i32.gt_u
- (get_local $$cnt$0)
- (get_local $$10)
- )
- )
- (if
- (get_local $$cmp29)
- (block
- (set_local $$11
- (i32.load
- (get_local $$buf31)
+ (if
+ (get_local $$cmp)
+ (block
+ (set_local $label
+ (i32.const 6)
)
+ (br $while-out$0)
)
- (i32.store
- (get_local $$wbase)
- (get_local $$11)
- )
- (i32.store
- (get_local $$wpos)
- (get_local $$11)
- )
- (set_local $$sub36
- (i32.sub
- (get_local $$cnt$0)
- (get_local $$10)
- )
+ )
+ (set_local $$cmp17
+ (i32.lt_s
+ (get_local $$cnt$0)
+ (i32.const 0)
)
- (set_local $$incdec$ptr
- (i32.add
+ )
+ (if
+ (get_local $$cmp17)
+ (block
+ (set_local $$iov$0$lcssa57
(get_local $$iov$0)
- (i32.const 8)
)
- )
- (set_local $$dec
- (i32.add
+ (set_local $$iovcnt$0$lcssa58
(get_local $$iovcnt$0)
- (i32.const -1)
- )
- )
- (set_local $$iov_len50$phi$trans$insert
- (i32.add
- (get_local $$iov$0)
- (i32.const 12)
)
- )
- (set_local $$$pre
- (i32.load
- (get_local $$iov_len50$phi$trans$insert)
+ (set_local $label
+ (i32.const 8)
)
+ (br $while-out$0)
)
- (set_local $$14
- (get_local $$$pre)
- )
- (set_local $$cnt$1
- (get_local $$sub36)
+ )
+ (set_local $$sub26
+ (i32.sub
+ (get_local $$rem$0)
+ (get_local $$cnt$0)
)
- (set_local $$iov$1
- (get_local $$incdec$ptr)
+ )
+ (set_local $$iov_len28
+ (i32.add
+ (get_local $$iov$0)
+ (i32.const 4)
)
- (set_local $$iovcnt$1
- (get_local $$dec)
+ )
+ (set_local $$10
+ (i32.load
+ (get_local $$iov_len28)
)
)
- (block
- (set_local $$cmp38
- (i32.eq
- (get_local $$iovcnt$0)
- (i32.const 2)
- )
+ (set_local $$cmp29
+ (i32.gt_u
+ (get_local $$cnt$0)
+ (get_local $$10)
)
- (if
- (get_local $$cmp38)
- (block
- (set_local $$12
- (i32.load
- (get_local $$wbase)
- )
- )
- (set_local $$add$ptr41
- (i32.add
- (get_local $$12)
- (get_local $$cnt$0)
- )
- )
- (i32.store
- (get_local $$wbase)
- (get_local $$add$ptr41)
- )
- (set_local $$14
- (get_local $$10)
+ )
+ (if
+ (get_local $$cmp29)
+ (block
+ (set_local $$11
+ (i32.load
+ (get_local $$buf31)
)
- (set_local $$cnt$1
+ )
+ (i32.store
+ (get_local $$wbase)
+ (get_local $$11)
+ )
+ (i32.store
+ (get_local $$wpos)
+ (get_local $$11)
+ )
+ (set_local $$sub36
+ (i32.sub
(get_local $$cnt$0)
+ (get_local $$10)
)
- (set_local $$iov$1
+ )
+ (set_local $$incdec$ptr
+ (i32.add
(get_local $$iov$0)
- )
- (set_local $$iovcnt$1
- (i32.const 2)
+ (i32.const 8)
)
)
- (block
- (set_local $$14
- (get_local $$10)
- )
- (set_local $$cnt$1
- (get_local $$cnt$0)
+ (set_local $$dec
+ (i32.add
+ (get_local $$iovcnt$0)
+ (i32.const -1)
)
- (set_local $$iov$1
+ )
+ (set_local $$iov_len50$phi$trans$insert
+ (i32.add
(get_local $$iov$0)
+ (i32.const 12)
+ )
+ )
+ (set_local $$$pre
+ (i32.load
+ (get_local $$iov_len50$phi$trans$insert)
)
- (set_local $$iovcnt$1
+ )
+ (set_local $$14
+ (get_local $$$pre)
+ )
+ (set_local $$cnt$1
+ (get_local $$sub36)
+ )
+ (set_local $$iov$1
+ (get_local $$incdec$ptr)
+ )
+ (set_local $$iovcnt$1
+ (get_local $$dec)
+ )
+ )
+ (block
+ (set_local $$cmp38
+ (i32.eq
(get_local $$iovcnt$0)
+ (i32.const 2)
+ )
+ )
+ (if
+ (get_local $$cmp38)
+ (block
+ (set_local $$12
+ (i32.load
+ (get_local $$wbase)
+ )
+ )
+ (set_local $$add$ptr41
+ (i32.add
+ (get_local $$12)
+ (get_local $$cnt$0)
+ )
+ )
+ (i32.store
+ (get_local $$wbase)
+ (get_local $$add$ptr41)
+ )
+ (set_local $$14
+ (get_local $$10)
+ )
+ (set_local $$cnt$1
+ (get_local $$cnt$0)
+ )
+ (set_local $$iov$1
+ (get_local $$iov$0)
+ )
+ (set_local $$iovcnt$1
+ (i32.const 2)
+ )
+ )
+ (block
+ (set_local $$14
+ (get_local $$10)
+ )
+ (set_local $$cnt$1
+ (get_local $$cnt$0)
+ )
+ (set_local $$iov$1
+ (get_local $$iov$0)
+ )
+ (set_local $$iovcnt$1
+ (get_local $$iovcnt$0)
+ )
)
)
)
)
- )
- (set_local $$13
- (i32.load
+ (set_local $$13
+ (i32.load
+ (get_local $$iov$1)
+ )
+ )
+ (set_local $$add$ptr46
+ (i32.add
+ (get_local $$13)
+ (get_local $$cnt$1)
+ )
+ )
+ (i32.store
(get_local $$iov$1)
+ (get_local $$add$ptr46)
)
- )
- (set_local $$add$ptr46
- (i32.add
- (get_local $$13)
- (get_local $$cnt$1)
+ (set_local $$iov_len50
+ (i32.add
+ (get_local $$iov$1)
+ (i32.const 4)
+ )
)
- )
- (i32.store
- (get_local $$iov$1)
- (get_local $$add$ptr46)
- )
- (set_local $$iov_len50
- (i32.add
+ (set_local $$sub51
+ (i32.sub
+ (get_local $$14)
+ (get_local $$cnt$1)
+ )
+ )
+ (i32.store
+ (get_local $$iov_len50)
+ (get_local $$sub51)
+ )
+ (set_local $$iov$0
(get_local $$iov$1)
- (i32.const 4)
)
- )
- (set_local $$sub51
- (i32.sub
- (get_local $$14)
- (get_local $$cnt$1)
+ (set_local $$iovcnt$0
+ (get_local $$iovcnt$1)
)
+ (set_local $$rem$0
+ (get_local $$sub26)
+ )
+ (br $while-in$1)
)
- (i32.store
- (get_local $$iov_len50)
- (get_local $$sub51)
- )
- (set_local $$iov$0
- (get_local $$iov$1)
- )
- (set_local $$iovcnt$0
- (get_local $$iovcnt$1)
- )
- (set_local $$rem$0
- (get_local $$sub26)
- )
- (br $while-in$1)
)
(if
(i32.eq
@@ -2294,8 +2205,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return
@@ -2351,27 +2261,18 @@
(local $sp i32)
(local $stop i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 224)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -2405,21 +2306,23 @@
(i32.const 40)
)
)
- (loop $do-out$0 $do-in$1
- (i32.store
- (get_local $dest)
- (i32.const 0)
- )
- (set_local $dest
- (i32.add
+ (loop $do-in$1
+ (block $do-out$0
+ (i32.store
(get_local $dest)
- (i32.const 4)
+ (i32.const 0)
)
- )
- (br_if $do-in$1
- (i32.lt_s
- (get_local $dest)
- (get_local $stop)
+ (set_local $dest
+ (i32.add
+ (get_local $dest)
+ (i32.const 4)
+ )
+ )
+ (br_if $do-in$1
+ (i32.lt_s
+ (get_local $dest)
+ (get_local $stop)
+ )
)
)
)
@@ -2642,17 +2545,19 @@
(get_local $$write)
)
)
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (get_local $$5)
- (i32.const 7)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $$f)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (get_local $$5)
+ (i32.const 7)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $$f)
- (i32.const 0)
- (i32.const 0)
)
(set_local $$6
(i32.load
@@ -2766,8 +2671,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return
@@ -2819,9 +2723,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$wend
(i32.add
@@ -2935,6 +2837,9 @@
)
(set_local $$call4
(call_indirect $FUNCSIG$iiii
+ (get_local $$f)
+ (get_local $$s)
+ (get_local $$l)
(i32.add
(i32.and
(get_local $$5)
@@ -2942,9 +2847,6 @@
)
(i32.const 2)
)
- (get_local $$f)
- (get_local $$s)
- (get_local $$l)
)
)
(set_local $$retval$0
@@ -2983,73 +2885,75 @@
(set_local $$i$0
(get_local $$l)
)
- (loop $while-out$2 $while-in$3
- (set_local $$tobool9
- (i32.eq
- (get_local $$i$0)
- (i32.const 0)
- )
- )
- (if
- (get_local $$tobool9)
- (block
- (set_local $$9
- (get_local $$4)
- )
- (set_local $$i$1
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $$tobool9
+ (i32.eq
+ (get_local $$i$0)
(i32.const 0)
)
- (set_local $$l$addr$0
- (get_local $$l)
- )
- (set_local $$s$addr$0
- (get_local $$s)
+ )
+ (if
+ (get_local $$tobool9)
+ (block
+ (set_local $$9
+ (get_local $$4)
+ )
+ (set_local $$i$1
+ (i32.const 0)
+ )
+ (set_local $$l$addr$0
+ (get_local $$l)
+ )
+ (set_local $$s$addr$0
+ (get_local $$s)
+ )
+ (br $label$break$L10)
)
- (br $label$break$L10)
)
- )
- (set_local $$sub
- (i32.add
- (get_local $$i$0)
- (i32.const -1)
+ (set_local $$sub
+ (i32.add
+ (get_local $$i$0)
+ (i32.const -1)
+ )
)
- )
- (set_local $$arrayidx
- (i32.add
- (get_local $$s)
- (get_local $$sub)
+ (set_local $$arrayidx
+ (i32.add
+ (get_local $$s)
+ (get_local $$sub)
+ )
)
- )
- (set_local $$7
- (i32.load8_s
- (get_local $$arrayidx)
+ (set_local $$7
+ (i32.load8_s
+ (get_local $$arrayidx)
+ )
)
- )
- (set_local $$cmp11
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$7)
+ (set_local $$cmp11
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$7)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 10)
)
- (i32.const 10)
)
- )
- (if
- (get_local $$cmp11)
- (block
- (set_local $$i$0$lcssa36
- (get_local $$i$0)
+ (if
+ (get_local $$cmp11)
+ (block
+ (set_local $$i$0$lcssa36
+ (get_local $$i$0)
+ )
+ (br $while-out$2)
+ )
+ (set_local $$i$0
+ (get_local $$sub)
)
- (br $while-out$2)
- )
- (set_local $$i$0
- (get_local $$sub)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
(set_local $$write15
(i32.add
@@ -3064,6 +2968,9 @@
)
(set_local $$call16
(call_indirect $FUNCSIG$iiii
+ (get_local $$f)
+ (get_local $$s)
+ (get_local $$i$0$lcssa36)
(i32.add
(i32.and
(get_local $$8)
@@ -3071,9 +2978,6 @@
)
(i32.const 2)
)
- (get_local $$f)
- (get_local $$s)
- (get_local $$i$0$lcssa36)
)
)
(set_local $$cmp17
@@ -3137,10 +3041,12 @@
)
)
)
- (call $_memcpy
- (get_local $$9)
- (get_local $$s$addr$0)
- (get_local $$l$addr$0)
+ (drop
+ (call $_memcpy
+ (get_local $$9)
+ (get_local $$s$addr$0)
+ (get_local $$l$addr$0)
+ )
)
(set_local $$10
(i32.load
@@ -3199,9 +3105,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$mode
(i32.add
@@ -3422,9 +3326,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$tobool
(i32.eq
@@ -3812,9 +3714,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$tobool
(i32.eq
@@ -3904,9 +3804,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$conv1
(i32.and
@@ -3957,111 +3855,113 @@
(set_local $$s$044
(get_local $$src)
)
- (loop $while-out$1 $while-in$2
- (set_local $$2
- (i32.load8_s
- (get_local $$s$044)
+ (loop $while-in$2
+ (block $while-out$1
+ (set_local $$2
+ (i32.load8_s
+ (get_local $$s$044)
+ )
)
- )
- (set_local $$cmp
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$2)
+ (set_local $$cmp
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$2)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
- )
- (i32.shr_s
- (i32.shl
- (get_local $$1)
+ (i32.shr_s
+ (i32.shl
+ (get_local $$1)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
)
- )
- (if
- (get_local $$cmp)
- (block
- (set_local $$n$addr$0$lcssa61
- (get_local $$n$addr$043)
+ (if
+ (get_local $$cmp)
+ (block
+ (set_local $$n$addr$0$lcssa61
+ (get_local $$n$addr$043)
+ )
+ (set_local $$s$0$lcssa60
+ (get_local $$s$044)
+ )
+ (set_local $label
+ (i32.const 6)
+ )
+ (br $label$break$L1)
)
- (set_local $$s$0$lcssa60
+ )
+ (set_local $$incdec$ptr
+ (i32.add
(get_local $$s$044)
+ (i32.const 1)
)
- (set_local $label
- (i32.const 6)
- )
- (br $label$break$L1)
- )
- )
- (set_local $$incdec$ptr
- (i32.add
- (get_local $$s$044)
- (i32.const 1)
- )
- )
- (set_local $$dec
- (i32.add
- (get_local $$n$addr$043)
- (i32.const -1)
- )
- )
- (set_local $$3
- (get_local $$incdec$ptr)
- )
- (set_local $$and
- (i32.and
- (get_local $$3)
- (i32.const 3)
- )
- )
- (set_local $$tobool
- (i32.ne
- (get_local $$and)
- (i32.const 0)
)
- )
- (set_local $$tobool2
- (i32.ne
- (get_local $$dec)
- (i32.const 0)
+ (set_local $$dec
+ (i32.add
+ (get_local $$n$addr$043)
+ (i32.const -1)
+ )
)
- )
- (set_local $$or$cond
- (i32.and
- (get_local $$tobool2)
- (get_local $$tobool)
+ (set_local $$3
+ (get_local $$incdec$ptr)
)
- )
- (if
- (get_local $$or$cond)
- (block
- (set_local $$n$addr$043
- (get_local $$dec)
+ (set_local $$and
+ (i32.and
+ (get_local $$3)
+ (i32.const 3)
)
- (set_local $$s$044
- (get_local $$incdec$ptr)
+ )
+ (set_local $$tobool
+ (i32.ne
+ (get_local $$and)
+ (i32.const 0)
)
)
- (block
- (set_local $$n$addr$0$lcssa
+ (set_local $$tobool2
+ (i32.ne
(get_local $$dec)
+ (i32.const 0)
)
- (set_local $$s$0$lcssa
- (get_local $$incdec$ptr)
- )
- (set_local $$tobool2$lcssa
+ )
+ (set_local $$or$cond
+ (i32.and
(get_local $$tobool2)
+ (get_local $$tobool)
)
- (set_local $label
- (i32.const 5)
+ )
+ (if
+ (get_local $$or$cond)
+ (block
+ (set_local $$n$addr$043
+ (get_local $$dec)
+ )
+ (set_local $$s$044
+ (get_local $$incdec$ptr)
+ )
+ )
+ (block
+ (set_local $$n$addr$0$lcssa
+ (get_local $$dec)
+ )
+ (set_local $$s$0$lcssa
+ (get_local $$incdec$ptr)
+ )
+ (set_local $$tobool2$lcssa
+ (get_local $$tobool2)
+ )
+ (set_local $label
+ (i32.const 5)
+ )
+ (br $while-out$1)
)
- (br $while-out$1)
)
+ (br $while-in$2)
)
- (br $while-in$2)
)
)
(block
@@ -4177,104 +4077,106 @@
(set_local $$w$034
(get_local $$s$0$lcssa60)
)
- (loop $while-out$5 $while-in$6
- (set_local $$6
- (i32.load
- (get_local $$w$034)
- )
- )
- (set_local $$xor
- (i32.xor
- (get_local $$6)
- (get_local $$mul)
+ (loop $while-in$6
+ (block $while-out$5
+ (set_local $$6
+ (i32.load
+ (get_local $$w$034)
+ )
)
- )
- (set_local $$sub
- (i32.add
- (get_local $$xor)
- (i32.const -16843009)
+ (set_local $$xor
+ (i32.xor
+ (get_local $$6)
+ (get_local $$mul)
+ )
)
- )
- (set_local $$neg
- (i32.and
- (get_local $$xor)
- (i32.const -2139062144)
+ (set_local $$sub
+ (i32.add
+ (get_local $$xor)
+ (i32.const -16843009)
+ )
)
- )
- (set_local $$and15
- (i32.xor
- (get_local $$neg)
- (i32.const -2139062144)
+ (set_local $$neg
+ (i32.and
+ (get_local $$xor)
+ (i32.const -2139062144)
+ )
)
- )
- (set_local $$and16
- (i32.and
- (get_local $$and15)
- (get_local $$sub)
+ (set_local $$and15
+ (i32.xor
+ (get_local $$neg)
+ (i32.const -2139062144)
+ )
)
- )
- (set_local $$lnot
- (i32.eq
- (get_local $$and16)
- (i32.const 0)
+ (set_local $$and16
+ (i32.and
+ (get_local $$and15)
+ (get_local $$sub)
+ )
)
- )
- (if
- (i32.eqz
- (get_local $$lnot)
+ (set_local $$lnot
+ (i32.eq
+ (get_local $$and16)
+ (i32.const 0)
+ )
)
- (block
- (set_local $$n$addr$133$lcssa
- (get_local $$n$addr$133)
+ (if
+ (i32.eqz
+ (get_local $$lnot)
)
- (set_local $$w$034$lcssa
- (get_local $$w$034)
+ (block
+ (set_local $$n$addr$133$lcssa
+ (get_local $$n$addr$133)
+ )
+ (set_local $$w$034$lcssa
+ (get_local $$w$034)
+ )
+ (br $while-out$5)
)
- (br $while-out$5)
- )
- )
- (set_local $$incdec$ptr21
- (i32.add
- (get_local $$w$034)
- (i32.const 4)
- )
- )
- (set_local $$sub22
- (i32.add
- (get_local $$n$addr$133)
- (i32.const -4)
- )
- )
- (set_local $$cmp11
- (i32.gt_u
- (get_local $$sub22)
- (i32.const 3)
)
- )
- (if
- (get_local $$cmp11)
- (block
- (set_local $$n$addr$133
- (get_local $$sub22)
+ (set_local $$incdec$ptr21
+ (i32.add
+ (get_local $$w$034)
+ (i32.const 4)
)
- (set_local $$w$034
- (get_local $$incdec$ptr21)
+ )
+ (set_local $$sub22
+ (i32.add
+ (get_local $$n$addr$133)
+ (i32.const -4)
)
)
- (block
- (set_local $$n$addr$1$lcssa
+ (set_local $$cmp11
+ (i32.gt_u
(get_local $$sub22)
+ (i32.const 3)
)
- (set_local $$w$0$lcssa
- (get_local $$incdec$ptr21)
+ )
+ (if
+ (get_local $$cmp11)
+ (block
+ (set_local $$n$addr$133
+ (get_local $$sub22)
+ )
+ (set_local $$w$034
+ (get_local $$incdec$ptr21)
+ )
)
- (set_local $label
- (i32.const 11)
+ (block
+ (set_local $$n$addr$1$lcssa
+ (get_local $$sub22)
+ )
+ (set_local $$w$0$lcssa
+ (get_local $$incdec$ptr21)
+ )
+ (set_local $label
+ (i32.const 11)
+ )
+ (br $label$break$L11)
)
- (br $label$break$L11)
)
+ (br $while-in$6)
)
- (br $while-in$6)
)
(set_local $$n$addr$227
(get_local $$n$addr$133$lcssa)
@@ -4330,81 +4232,83 @@
)
)
)
- (loop $while-out$7 $while-in$8
- (set_local $$7
- (i32.load8_s
- (get_local $$s$128)
+ (loop $while-in$8
+ (block $while-out$7
+ (set_local $$7
+ (i32.load8_s
+ (get_local $$s$128)
+ )
)
- )
- (set_local $$cmp28
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$7)
+ (set_local $$cmp28
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$7)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
- )
- (i32.shr_s
- (i32.shl
- (get_local $$5)
+ (i32.shr_s
+ (i32.shl
+ (get_local $$5)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
)
- )
- (if
- (get_local $$cmp28)
- (block
- (set_local $$n$addr$3
- (get_local $$n$addr$227)
+ (if
+ (get_local $$cmp28)
+ (block
+ (set_local $$n$addr$3
+ (get_local $$n$addr$227)
+ )
+ (set_local $$s$2
+ (get_local $$s$128)
+ )
+ (br $label$break$L8)
)
- (set_local $$s$2
+ )
+ (set_local $$incdec$ptr33
+ (i32.add
(get_local $$s$128)
+ (i32.const 1)
)
- (br $label$break$L8)
- )
- )
- (set_local $$incdec$ptr33
- (i32.add
- (get_local $$s$128)
- (i32.const 1)
- )
- )
- (set_local $$dec34
- (i32.add
- (get_local $$n$addr$227)
- (i32.const -1)
)
- )
- (set_local $$tobool25
- (i32.eq
- (get_local $$dec34)
- (i32.const 0)
+ (set_local $$dec34
+ (i32.add
+ (get_local $$n$addr$227)
+ (i32.const -1)
+ )
)
- )
- (if
- (get_local $$tobool25)
- (block
- (set_local $$n$addr$3
+ (set_local $$tobool25
+ (i32.eq
+ (get_local $$dec34)
(i32.const 0)
)
- (set_local $$s$2
- (get_local $$incdec$ptr33)
- )
- (br $while-out$7)
)
- (block
- (set_local $$n$addr$227
- (get_local $$dec34)
+ (if
+ (get_local $$tobool25)
+ (block
+ (set_local $$n$addr$3
+ (i32.const 0)
+ )
+ (set_local $$s$2
+ (get_local $$incdec$ptr33)
+ )
+ (br $while-out$7)
)
- (set_local $$s$128
- (get_local $$incdec$ptr33)
+ (block
+ (set_local $$n$addr$227
+ (get_local $$dec34)
+ )
+ (set_local $$s$128
+ (get_local $$incdec$ptr33)
+ )
)
)
+ (br $while-in$8)
)
- (br $while-in$8)
)
)
)
@@ -4436,9 +4340,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$cmp
(i32.gt_u
@@ -4499,9 +4401,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$wpos
(i32.add
@@ -4545,17 +4445,19 @@
(get_local $$write)
)
)
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (get_local $$2)
- (i32.const 7)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $$f)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (get_local $$2)
+ (i32.const 7)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $$f)
- (i32.const 0)
- (i32.const 0)
)
(set_local $$3
(i32.load
@@ -4642,17 +4544,19 @@
(get_local $$sub$ptr$rhs$cast)
)
)
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (get_local $$6)
- (i32.const 7)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $$f)
+ (get_local $$sub$ptr$sub)
+ (i32.const 1)
+ (i32.add
+ (i32.and
+ (get_local $$6)
+ (i32.const 7)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $$f)
- (get_local $$sub$ptr$sub)
- (i32.const 1)
)
)
)
@@ -4698,9 +4602,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$lockcount
(i32.add
@@ -5793,27 +5695,18 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 624)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -5958,1194 +5851,1187 @@
(set_local $$l10n$0
(i32.const 0)
)
- (loop $label$break$L1 $label$continue$L1
- (set_local $$cmp
- (i32.gt_s
- (get_local $$cnt$0)
- (i32.const -1)
+ (loop $label$continue$L1
+ (block $label$break$L1
+ (set_local $$cmp
+ (i32.gt_s
+ (get_local $$cnt$0)
+ (i32.const -1)
+ )
)
- )
- (block $do-once$0
- (if
- (get_local $$cmp)
- (block
- (set_local $$sub
- (i32.sub
- (i32.const 2147483647)
- (get_local $$cnt$0)
- )
- )
- (set_local $$cmp1
- (i32.gt_s
- (get_local $$l$0)
- (get_local $$sub)
- )
- )
- (if
- (get_local $$cmp1)
- (block
- (set_local $$call
- (call $___errno_location)
- )
- (i32.store
- (get_local $$call)
- (i32.const 75)
+ (block $do-once$0
+ (if
+ (get_local $$cmp)
+ (block
+ (set_local $$sub
+ (i32.sub
+ (i32.const 2147483647)
+ (get_local $$cnt$0)
)
- (set_local $$cnt$1
- (i32.const -1)
+ )
+ (set_local $$cmp1
+ (i32.gt_s
+ (get_local $$l$0)
+ (get_local $$sub)
)
- (br $do-once$0)
)
- (block
- (set_local $$add
- (i32.add
- (get_local $$l$0)
- (get_local $$cnt$0)
+ (if
+ (get_local $$cmp1)
+ (block
+ (set_local $$call
+ (call $___errno_location)
+ )
+ (i32.store
+ (get_local $$call)
+ (i32.const 75)
+ )
+ (set_local $$cnt$1
+ (i32.const -1)
)
+ (br $do-once$0)
)
- (set_local $$cnt$1
- (get_local $$add)
+ (block
+ (set_local $$add
+ (i32.add
+ (get_local $$l$0)
+ (get_local $$cnt$0)
+ )
+ )
+ (set_local $$cnt$1
+ (get_local $$add)
+ )
+ (br $do-once$0)
)
- (br $do-once$0)
)
)
- )
- (set_local $$cnt$1
- (get_local $$cnt$0)
+ (set_local $$cnt$1
+ (get_local $$cnt$0)
+ )
)
)
- )
- (set_local $$0
- (i32.load8_s
- (get_local $$incdec$ptr169275)
+ (set_local $$0
+ (i32.load8_s
+ (get_local $$incdec$ptr169275)
+ )
)
- )
- (set_local $$tobool
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$0)
+ (set_local $$tobool
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$0)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (if
- (get_local $$tobool)
- (block
- (set_local $$cnt$1$lcssa
- (get_local $$cnt$1)
- )
- (set_local $$l10n$0$lcssa
- (get_local $$l10n$0)
+ (if
+ (get_local $$tobool)
+ (block
+ (set_local $$cnt$1$lcssa
+ (get_local $$cnt$1)
+ )
+ (set_local $$l10n$0$lcssa
+ (get_local $$l10n$0)
+ )
+ (set_local $label
+ (i32.const 242)
+ )
+ (br $label$break$L1)
)
- (set_local $label
- (i32.const 242)
+ (block
+ (set_local $$1
+ (get_local $$0)
+ )
+ (set_local $$incdec$ptr169274
+ (get_local $$incdec$ptr169275)
+ )
)
- (br $label$break$L1)
)
- (block
- (set_local $$1
- (get_local $$0)
- )
- (set_local $$incdec$ptr169274
- (get_local $$incdec$ptr169275)
+ (loop $label$continue$L9
+ (block $label$break$L9
+ (block $switch$2
+ (block $switch-default$5
+ (block $switch-default$5
+ (block $switch-case$4
+ (block $switch-case$3
+ (br_table $switch-case$4 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-case$3 $switch-default$5
+ (i32.sub
+ (i32.shr_s
+ (i32.shl
+ (get_local $$1)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (block
+ (set_local $$incdec$ptr169276301
+ (get_local $$incdec$ptr169274)
+ )
+ (set_local $$z$0302
+ (get_local $$incdec$ptr169274)
+ )
+ (set_local $label
+ (i32.const 9)
+ )
+ (br $label$break$L9)
+ (br $switch$2)
+ )
+ )
+ (block
+ (set_local $$incdec$ptr169276$lcssa
+ (get_local $$incdec$ptr169274)
+ )
+ (set_local $$z$0$lcssa
+ (get_local $$incdec$ptr169274)
+ )
+ (br $label$break$L9)
+ (br $switch$2)
+ )
+ )
+ (nop)
+ )
+ )
+ (set_local $$incdec$ptr
+ (i32.add
+ (get_local $$incdec$ptr169274)
+ (i32.const 1)
+ )
+ )
+ (set_local $$$pre
+ (i32.load8_s
+ (get_local $$incdec$ptr)
+ )
+ )
+ (set_local $$1
+ (get_local $$$pre)
+ )
+ (set_local $$incdec$ptr169274
+ (get_local $$incdec$ptr)
+ )
+ (br $label$continue$L9)
)
)
- )
- (loop $label$break$L9 $label$continue$L9
- (block $switch$2
- (block $switch-default$5
- (block $switch-default$5
- (block $switch-case$4
- (block $switch-case$3
- (br_table $switch-case$4 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-case$3 $switch-default$5
- (i32.sub
- (i32.shr_s
- (i32.shl
- (get_local $$1)
- (i32.const 24)
- )
+ (block $label$break$L12
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 9)
+ )
+ (loop $while-in$8
+ (block $while-out$7
+ (set_local $label
+ (i32.const 0)
+ )
+ (set_local $$arrayidx16
+ (i32.add
+ (get_local $$incdec$ptr169276301)
+ (i32.const 1)
+ )
+ )
+ (set_local $$2
+ (i32.load8_s
+ (get_local $$arrayidx16)
+ )
+ )
+ (set_local $$cmp18
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$2)
(i32.const 24)
)
- (i32.const 0)
+ (i32.const 24)
)
+ (i32.const 37)
)
)
- (block
- (set_local $$incdec$ptr169276301
- (get_local $$incdec$ptr169274)
+ (if
+ (i32.eqz
+ (get_local $$cmp18)
)
- (set_local $$z$0302
- (get_local $$incdec$ptr169274)
+ (block
+ (set_local $$incdec$ptr169276$lcssa
+ (get_local $$incdec$ptr169276301)
+ )
+ (set_local $$z$0$lcssa
+ (get_local $$z$0302)
+ )
+ (br $label$break$L12)
)
- (set_local $label
- (i32.const 9)
+ )
+ (set_local $$incdec$ptr23
+ (i32.add
+ (get_local $$z$0302)
+ (i32.const 1)
)
- (br $label$break$L9)
- (br $switch$2)
)
- )
- (block
- (set_local $$incdec$ptr169276$lcssa
- (get_local $$incdec$ptr169274)
+ (set_local $$add$ptr
+ (i32.add
+ (get_local $$incdec$ptr169276301)
+ (i32.const 2)
+ )
+ )
+ (set_local $$3
+ (i32.load8_s
+ (get_local $$add$ptr)
+ )
+ )
+ (set_local $$cmp13
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$3)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ (i32.const 37)
+ )
)
- (set_local $$z$0$lcssa
- (get_local $$incdec$ptr169274)
+ (if
+ (get_local $$cmp13)
+ (block
+ (set_local $$incdec$ptr169276301
+ (get_local $$add$ptr)
+ )
+ (set_local $$z$0302
+ (get_local $$incdec$ptr23)
+ )
+ (set_local $label
+ (i32.const 9)
+ )
+ )
+ (block
+ (set_local $$incdec$ptr169276$lcssa
+ (get_local $$add$ptr)
+ )
+ (set_local $$z$0$lcssa
+ (get_local $$incdec$ptr23)
+ )
+ (br $while-out$7)
+ )
)
- (br $label$break$L9)
- (br $switch$2)
+ (br $while-in$8)
)
)
- (nop)
- )
- )
- (set_local $$incdec$ptr
- (i32.add
- (get_local $$incdec$ptr169274)
- (i32.const 1)
)
)
- (set_local $$$pre
- (i32.load8_s
- (get_local $$incdec$ptr)
- )
+ (set_local $$sub$ptr$lhs$cast
+ (get_local $$z$0$lcssa)
)
- (set_local $$1
- (get_local $$$pre)
+ (set_local $$sub$ptr$rhs$cast
+ (get_local $$incdec$ptr169275)
)
- (set_local $$incdec$ptr169274
- (get_local $$incdec$ptr)
+ (set_local $$sub$ptr$sub
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast)
+ (get_local $$sub$ptr$rhs$cast)
+ )
)
- (br $label$continue$L9)
- )
- (block $label$break$L12
(if
- (i32.eq
- (get_local $label)
- (i32.const 9)
- )
- (loop $while-out$7 $while-in$8
- (set_local $label
- (i32.const 0)
- )
- (set_local $$arrayidx16
- (i32.add
- (get_local $$incdec$ptr169276301)
- (i32.const 1)
+ (get_local $$tobool25)
+ (block
+ (set_local $$4
+ (i32.load
+ (get_local $$f)
)
)
- (set_local $$2
- (i32.load8_s
- (get_local $$arrayidx16)
+ (set_local $$and$i
+ (i32.and
+ (get_local $$4)
+ (i32.const 32)
)
)
- (set_local $$cmp18
+ (set_local $$tobool$i
(i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$2)
- (i32.const 24)
- )
- (i32.const 24)
- )
- (i32.const 37)
+ (get_local $$and$i)
+ (i32.const 0)
)
)
(if
- (i32.eqz
- (get_local $$cmp18)
- )
- (block
- (set_local $$incdec$ptr169276$lcssa
- (get_local $$incdec$ptr169276301)
- )
- (set_local $$z$0$lcssa
- (get_local $$z$0302)
- )
- (br $label$break$L12)
+ (get_local $$tobool$i)
+ (call $___fwritex
+ (get_local $$incdec$ptr169275)
+ (get_local $$sub$ptr$sub)
+ (get_local $$f)
)
)
- (set_local $$incdec$ptr23
- (i32.add
- (get_local $$z$0302)
- (i32.const 1)
- )
+ )
+ )
+ (set_local $$tobool28
+ (i32.eq
+ (get_local $$z$0$lcssa)
+ (get_local $$incdec$ptr169275)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $$tobool28)
+ )
+ (block
+ (set_local $$l10n$0$phi
+ (get_local $$l10n$0)
)
- (set_local $$add$ptr
+ (set_local $$cnt$0
+ (get_local $$cnt$1)
+ )
+ (set_local $$incdec$ptr169275
+ (get_local $$incdec$ptr169276$lcssa)
+ )
+ (set_local $$l$0
+ (get_local $$sub$ptr$sub)
+ )
+ (set_local $$l10n$0
+ (get_local $$l10n$0$phi)
+ )
+ (br $label$continue$L1)
+ )
+ )
+ (set_local $$arrayidx31
+ (i32.add
+ (get_local $$incdec$ptr169276$lcssa)
+ (i32.const 1)
+ )
+ )
+ (set_local $$5
+ (i32.load8_s
+ (get_local $$arrayidx31)
+ )
+ )
+ (set_local $$conv32
+ (i32.shr_s
+ (i32.shl
+ (get_local $$5)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ )
+ (set_local $$isdigittmp
+ (i32.add
+ (get_local $$conv32)
+ (i32.const -48)
+ )
+ )
+ (set_local $$isdigit
+ (i32.lt_u
+ (get_local $$isdigittmp)
+ (i32.const 10)
+ )
+ )
+ (if
+ (get_local $$isdigit)
+ (block
+ (set_local $$arrayidx35
(i32.add
- (get_local $$incdec$ptr169276301)
+ (get_local $$incdec$ptr169276$lcssa)
(i32.const 2)
)
)
- (set_local $$3
+ (set_local $$6
(i32.load8_s
- (get_local $$add$ptr)
+ (get_local $$arrayidx35)
)
)
- (set_local $$cmp13
+ (set_local $$cmp37
(i32.eq
(i32.shr_s
(i32.shl
- (get_local $$3)
+ (get_local $$6)
(i32.const 24)
)
(i32.const 24)
)
- (i32.const 37)
+ (i32.const 36)
)
)
- (if
- (get_local $$cmp13)
- (block
- (set_local $$incdec$ptr169276301
- (get_local $$add$ptr)
- )
- (set_local $$z$0302
- (get_local $$incdec$ptr23)
- )
- (set_local $label
- (i32.const 9)
- )
+ (set_local $$add$ptr43
+ (i32.add
+ (get_local $$incdec$ptr169276$lcssa)
+ (i32.const 3)
)
- (block
- (set_local $$incdec$ptr169276$lcssa
- (get_local $$add$ptr)
- )
- (set_local $$z$0$lcssa
- (get_local $$incdec$ptr23)
- )
- (br $while-out$7)
+ )
+ (set_local $$add$ptr43$arrayidx31
+ (if
+ (get_local $$cmp37)
+ (get_local $$add$ptr43)
+ (get_local $$arrayidx31)
)
)
- (br $while-in$8)
- )
- )
- )
- (set_local $$sub$ptr$lhs$cast
- (get_local $$z$0$lcssa)
- )
- (set_local $$sub$ptr$rhs$cast
- (get_local $$incdec$ptr169275)
- )
- (set_local $$sub$ptr$sub
- (i32.sub
- (get_local $$sub$ptr$lhs$cast)
- (get_local $$sub$ptr$rhs$cast)
- )
- )
- (if
- (get_local $$tobool25)
- (block
- (set_local $$4
- (i32.load
- (get_local $$f)
+ (set_local $$$l10n$0
+ (if
+ (get_local $$cmp37)
+ (i32.const 1)
+ (get_local $$l10n$0)
+ )
)
- )
- (set_local $$and$i
- (i32.and
- (get_local $$4)
- (i32.const 32)
+ (set_local $$isdigittmp$
+ (if
+ (get_local $$cmp37)
+ (get_local $$isdigittmp)
+ (i32.const -1)
+ )
)
- )
- (set_local $$tobool$i
- (i32.eq
- (get_local $$and$i)
- (i32.const 0)
+ (set_local $$$pre357
+ (i32.load8_s
+ (get_local $$add$ptr43$arrayidx31)
+ )
)
- )
- (if
- (get_local $$tobool$i)
- (call $___fwritex
- (get_local $$incdec$ptr169275)
- (get_local $$sub$ptr$sub)
- (get_local $$f)
+ (set_local $$7
+ (get_local $$$pre357)
)
- )
- )
- )
- (set_local $$tobool28
- (i32.eq
- (get_local $$z$0$lcssa)
- (get_local $$incdec$ptr169275)
- )
- )
- (if
- (i32.eqz
- (get_local $$tobool28)
- )
- (block
- (set_local $$l10n$0$phi
- (get_local $$l10n$0)
- )
- (set_local $$cnt$0
- (get_local $$cnt$1)
- )
- (set_local $$incdec$ptr169275
- (get_local $$incdec$ptr169276$lcssa)
- )
- (set_local $$l$0
- (get_local $$sub$ptr$sub)
- )
- (set_local $$l10n$0
- (get_local $$l10n$0$phi)
- )
- (br $label$continue$L1)
- )
- )
- (set_local $$arrayidx31
- (i32.add
- (get_local $$incdec$ptr169276$lcssa)
- (i32.const 1)
- )
- )
- (set_local $$5
- (i32.load8_s
- (get_local $$arrayidx31)
- )
- )
- (set_local $$conv32
- (i32.shr_s
- (i32.shl
- (get_local $$5)
- (i32.const 24)
- )
- (i32.const 24)
- )
- )
- (set_local $$isdigittmp
- (i32.add
- (get_local $$conv32)
- (i32.const -48)
- )
- )
- (set_local $$isdigit
- (i32.lt_u
- (get_local $$isdigittmp)
- (i32.const 10)
- )
- )
- (if
- (get_local $$isdigit)
- (block
- (set_local $$arrayidx35
- (i32.add
- (get_local $$incdec$ptr169276$lcssa)
- (i32.const 2)
+ (set_local $$argpos$0
+ (get_local $$isdigittmp$)
)
- )
- (set_local $$6
- (i32.load8_s
- (get_local $$arrayidx35)
+ (set_local $$l10n$1
+ (get_local $$$l10n$0)
)
- )
- (set_local $$cmp37
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$6)
- (i32.const 24)
- )
- (i32.const 24)
- )
- (i32.const 36)
+ (set_local $$storemerge
+ (get_local $$add$ptr43$arrayidx31)
)
)
- (set_local $$add$ptr43
- (i32.add
- (get_local $$incdec$ptr169276$lcssa)
- (i32.const 3)
+ (block
+ (set_local $$7
+ (get_local $$5)
)
- )
- (set_local $$add$ptr43$arrayidx31
- (if
- (get_local $$cmp37)
- (get_local $$add$ptr43)
- (get_local $$arrayidx31)
+ (set_local $$argpos$0
+ (i32.const -1)
)
- )
- (set_local $$$l10n$0
- (if
- (get_local $$cmp37)
- (i32.const 1)
+ (set_local $$l10n$1
(get_local $$l10n$0)
)
- )
- (set_local $$isdigittmp$
- (if
- (get_local $$cmp37)
- (get_local $$isdigittmp)
- (i32.const -1)
+ (set_local $$storemerge
+ (get_local $$arrayidx31)
)
)
- (set_local $$$pre357
- (i32.load8_s
- (get_local $$add$ptr43$arrayidx31)
+ )
+ (set_local $$conv48$307
+ (i32.shr_s
+ (i32.shl
+ (get_local $$7)
+ (i32.const 24)
)
- )
- (set_local $$7
- (get_local $$$pre357)
- )
- (set_local $$argpos$0
- (get_local $$isdigittmp$)
- )
- (set_local $$l10n$1
- (get_local $$$l10n$0)
- )
- (set_local $$storemerge
- (get_local $$add$ptr43$arrayidx31)
+ (i32.const 24)
)
)
- (block
- (set_local $$7
- (get_local $$5)
- )
- (set_local $$argpos$0
- (i32.const -1)
- )
- (set_local $$l10n$1
- (get_local $$l10n$0)
- )
- (set_local $$storemerge
- (get_local $$arrayidx31)
+ (set_local $$8
+ (i32.and
+ (get_local $$conv48$307)
+ (i32.const -32)
)
)
- )
- (set_local $$conv48$307
- (i32.shr_s
- (i32.shl
- (get_local $$7)
- (i32.const 24)
+ (set_local $$cmp50$308
+ (i32.eq
+ (get_local $$8)
+ (i32.const 32)
)
- (i32.const 24)
- )
- )
- (set_local $$8
- (i32.and
- (get_local $$conv48$307)
- (i32.const -32)
- )
- )
- (set_local $$cmp50$308
- (i32.eq
- (get_local $$8)
- (i32.const 32)
)
- )
- (block $label$break$L25
- (if
- (get_local $$cmp50$308)
- (block
- (set_local $$9
- (get_local $$7)
- )
- (set_local $$conv48311
- (get_local $$conv48$307)
- )
- (set_local $$fl$0310
- (i32.const 0)
- )
- (set_local $$storemerge$186309
- (get_local $$storemerge)
- )
- (loop $while-out$10 $while-in$11
- (set_local $$sub54
- (i32.add
- (get_local $$conv48311)
- (i32.const -32)
- )
+ (block $label$break$L25
+ (if
+ (get_local $$cmp50$308)
+ (block
+ (set_local $$9
+ (get_local $$7)
)
- (set_local $$shl
- (i32.shl
- (i32.const 1)
- (get_local $$sub54)
- )
+ (set_local $$conv48311
+ (get_local $$conv48$307)
)
- (set_local $$and
- (i32.and
- (get_local $$shl)
- (i32.const 75913)
- )
+ (set_local $$fl$0310
+ (i32.const 0)
)
- (set_local $$tobool55
- (i32.eq
- (get_local $$and)
- (i32.const 0)
- )
+ (set_local $$storemerge$186309
+ (get_local $$storemerge)
)
- (if
- (get_local $$tobool55)
- (block
- (set_local $$12
- (get_local $$9)
+ (loop $while-in$11
+ (block $while-out$10
+ (set_local $$sub54
+ (i32.add
+ (get_local $$conv48311)
+ (i32.const -32)
+ )
)
- (set_local $$fl$0284
- (get_local $$fl$0310)
+ (set_local $$shl
+ (i32.shl
+ (i32.const 1)
+ (get_local $$sub54)
+ )
)
- (set_local $$storemerge$186282
- (get_local $$storemerge$186309)
+ (set_local $$and
+ (i32.and
+ (get_local $$shl)
+ (i32.const 75913)
+ )
)
- (br $label$break$L25)
- )
- )
- (set_local $$conv58
- (i32.shr_s
- (i32.shl
- (get_local $$9)
- (i32.const 24)
+ (set_local $$tobool55
+ (i32.eq
+ (get_local $$and)
+ (i32.const 0)
+ )
)
- (i32.const 24)
- )
- )
- (set_local $$sub59
- (i32.add
- (get_local $$conv58)
- (i32.const -32)
- )
- )
- (set_local $$shl60
- (i32.shl
- (i32.const 1)
- (get_local $$sub59)
- )
- )
- (set_local $$or
- (i32.or
- (get_local $$shl60)
- (get_local $$fl$0310)
- )
- )
- (set_local $$incdec$ptr62
- (i32.add
- (get_local $$storemerge$186309)
- (i32.const 1)
- )
- )
- (set_local $$10
- (i32.load8_s
- (get_local $$incdec$ptr62)
- )
- )
- (set_local $$conv48
- (i32.shr_s
- (i32.shl
- (get_local $$10)
- (i32.const 24)
+ (if
+ (get_local $$tobool55)
+ (block
+ (set_local $$12
+ (get_local $$9)
+ )
+ (set_local $$fl$0284
+ (get_local $$fl$0310)
+ )
+ (set_local $$storemerge$186282
+ (get_local $$storemerge$186309)
+ )
+ (br $label$break$L25)
+ )
)
- (i32.const 24)
- )
- )
- (set_local $$11
- (i32.and
- (get_local $$conv48)
- (i32.const -32)
- )
- )
- (set_local $$cmp50
- (i32.eq
- (get_local $$11)
- (i32.const 32)
- )
- )
- (if
- (get_local $$cmp50)
- (block
- (set_local $$9
- (get_local $$10)
+ (set_local $$conv58
+ (i32.shr_s
+ (i32.shl
+ (get_local $$9)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
)
- (set_local $$conv48311
- (get_local $$conv48)
+ (set_local $$sub59
+ (i32.add
+ (get_local $$conv58)
+ (i32.const -32)
+ )
)
- (set_local $$fl$0310
- (get_local $$or)
+ (set_local $$shl60
+ (i32.shl
+ (i32.const 1)
+ (get_local $$sub59)
+ )
)
- (set_local $$storemerge$186309
- (get_local $$incdec$ptr62)
+ (set_local $$or
+ (i32.or
+ (get_local $$shl60)
+ (get_local $$fl$0310)
+ )
)
- )
- (block
- (set_local $$12
- (get_local $$10)
+ (set_local $$incdec$ptr62
+ (i32.add
+ (get_local $$storemerge$186309)
+ (i32.const 1)
+ )
)
- (set_local $$fl$0284
- (get_local $$or)
+ (set_local $$10
+ (i32.load8_s
+ (get_local $$incdec$ptr62)
+ )
+ )
+ (set_local $$conv48
+ (i32.shr_s
+ (i32.shl
+ (get_local $$10)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
)
- (set_local $$storemerge$186282
- (get_local $$incdec$ptr62)
+ (set_local $$11
+ (i32.and
+ (get_local $$conv48)
+ (i32.const -32)
+ )
)
- (br $while-out$10)
+ (set_local $$cmp50
+ (i32.eq
+ (get_local $$11)
+ (i32.const 32)
+ )
+ )
+ (if
+ (get_local $$cmp50)
+ (block
+ (set_local $$9
+ (get_local $$10)
+ )
+ (set_local $$conv48311
+ (get_local $$conv48)
+ )
+ (set_local $$fl$0310
+ (get_local $$or)
+ )
+ (set_local $$storemerge$186309
+ (get_local $$incdec$ptr62)
+ )
+ )
+ (block
+ (set_local $$12
+ (get_local $$10)
+ )
+ (set_local $$fl$0284
+ (get_local $$or)
+ )
+ (set_local $$storemerge$186282
+ (get_local $$incdec$ptr62)
+ )
+ (br $while-out$10)
+ )
+ )
+ (br $while-in$11)
)
)
- (br $while-in$11)
)
- )
- (block
- (set_local $$12
- (get_local $$7)
- )
- (set_local $$fl$0284
- (i32.const 0)
- )
- (set_local $$storemerge$186282
- (get_local $$storemerge)
+ (block
+ (set_local $$12
+ (get_local $$7)
+ )
+ (set_local $$fl$0284
+ (i32.const 0)
+ )
+ (set_local $$storemerge$186282
+ (get_local $$storemerge)
+ )
)
)
)
- )
- (set_local $$cmp65
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$12)
+ (set_local $$cmp65
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$12)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 42)
)
- (i32.const 42)
)
- )
- (block $do-once$12
- (if
- (get_local $$cmp65)
- (block
- (set_local $$arrayidx68
- (i32.add
- (get_local $$storemerge$186282)
- (i32.const 1)
+ (block $do-once$12
+ (if
+ (get_local $$cmp65)
+ (block
+ (set_local $$arrayidx68
+ (i32.add
+ (get_local $$storemerge$186282)
+ (i32.const 1)
+ )
)
- )
- (set_local $$13
- (i32.load8_s
- (get_local $$arrayidx68)
+ (set_local $$13
+ (i32.load8_s
+ (get_local $$arrayidx68)
+ )
)
- )
- (set_local $$conv69
- (i32.shr_s
- (i32.shl
- (get_local $$13)
+ (set_local $$conv69
+ (i32.shr_s
+ (i32.shl
+ (get_local $$13)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
- )
- (set_local $$isdigittmp189
- (i32.add
- (get_local $$conv69)
- (i32.const -48)
+ (set_local $$isdigittmp189
+ (i32.add
+ (get_local $$conv69)
+ (i32.const -48)
+ )
)
- )
- (set_local $$isdigit190
- (i32.lt_u
- (get_local $$isdigittmp189)
- (i32.const 10)
+ (set_local $$isdigit190
+ (i32.lt_u
+ (get_local $$isdigittmp189)
+ (i32.const 10)
+ )
)
- )
- (if
- (get_local $$isdigit190)
- (block
- (set_local $$arrayidx73
- (i32.add
- (get_local $$storemerge$186282)
- (i32.const 2)
+ (if
+ (get_local $$isdigit190)
+ (block
+ (set_local $$arrayidx73
+ (i32.add
+ (get_local $$storemerge$186282)
+ (i32.const 2)
+ )
)
- )
- (set_local $$14
- (i32.load8_s
- (get_local $$arrayidx73)
+ (set_local $$14
+ (i32.load8_s
+ (get_local $$arrayidx73)
+ )
)
- )
- (set_local $$cmp75
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$14)
+ (set_local $$cmp75
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$14)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 36)
)
- (i32.const 36)
)
- )
- (if
- (get_local $$cmp75)
- (block
- (set_local $$arrayidx81
- (i32.add
- (get_local $$nl_type)
- (i32.shl
- (get_local $$isdigittmp189)
- (i32.const 2)
+ (if
+ (get_local $$cmp75)
+ (block
+ (set_local $$arrayidx81
+ (i32.add
+ (get_local $$nl_type)
+ (i32.shl
+ (get_local $$isdigittmp189)
+ (i32.const 2)
+ )
)
)
- )
- (i32.store
- (get_local $$arrayidx81)
- (i32.const 10)
- )
- (set_local $$15
- (i32.load8_s
- (get_local $$arrayidx68)
+ (i32.store
+ (get_local $$arrayidx81)
+ (i32.const 10)
)
- )
- (set_local $$conv83
- (i32.shr_s
- (i32.shl
- (get_local $$15)
+ (set_local $$15
+ (i32.load8_s
+ (get_local $$arrayidx68)
+ )
+ )
+ (set_local $$conv83
+ (i32.shr_s
+ (i32.shl
+ (get_local $$15)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
- )
- (set_local $$sub84
- (i32.add
- (get_local $$conv83)
- (i32.const -48)
+ (set_local $$sub84
+ (i32.add
+ (get_local $$conv83)
+ (i32.const -48)
+ )
)
- )
- (set_local $$i86
- (i32.add
- (get_local $$nl_arg)
- (i32.shl
- (get_local $$sub84)
+ (set_local $$i86
+ (i32.add
+ (get_local $$nl_arg)
+ (i32.shl
+ (get_local $$sub84)
+ (i32.const 3)
+ )
+ )
+ )
+ (set_local $$16
+ (get_local $$i86)
+ )
+ (set_local $$17
+ (get_local $$16)
+ )
+ (set_local $$18
+ (i32.load
+ (get_local $$17)
+ )
+ )
+ (set_local $$19
+ (i32.add
+ (get_local $$16)
+ (i32.const 4)
+ )
+ )
+ (set_local $$20
+ (get_local $$19)
+ )
+ (set_local $$21
+ (i32.load
+ (get_local $$20)
+ )
+ )
+ (set_local $$add$ptr88
+ (i32.add
+ (get_local $$storemerge$186282)
(i32.const 3)
)
)
+ (set_local $$l10n$2
+ (i32.const 1)
+ )
+ (set_local $$storemerge$191
+ (get_local $$add$ptr88)
+ )
+ (set_local $$w$0
+ (get_local $$18)
+ )
)
- (set_local $$16
- (get_local $$i86)
+ (set_local $label
+ (i32.const 24)
)
- (set_local $$17
- (get_local $$16)
+ )
+ )
+ (set_local $label
+ (i32.const 24)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 24)
+ )
+ (block
+ (set_local $label
+ (i32.const 0)
+ )
+ (set_local $$tobool90
+ (i32.eq
+ (get_local $$l10n$1)
+ (i32.const 0)
)
- (set_local $$18
- (i32.load
- (get_local $$17)
- )
+ )
+ (if
+ (i32.eqz
+ (get_local $$tobool90)
)
- (set_local $$19
- (i32.add
- (get_local $$16)
- (i32.const 4)
+ (block
+ (set_local $$retval$0
+ (i32.const -1)
)
+ (br $label$break$L1)
)
- (set_local $$20
- (get_local $$19)
+ )
+ (if
+ (i32.eqz
+ (get_local $$tobool25)
)
- (set_local $$21
- (i32.load
- (get_local $$20)
+ (block
+ (set_local $$fl$1
+ (get_local $$fl$0284)
)
- )
- (set_local $$add$ptr88
- (i32.add
- (get_local $$storemerge$186282)
- (i32.const 3)
+ (set_local $$incdec$ptr169269
+ (get_local $$arrayidx68)
)
+ (set_local $$l10n$3
+ (i32.const 0)
+ )
+ (set_local $$w$1
+ (i32.const 0)
+ )
+ (br $do-once$12)
)
- (set_local $$l10n$2
- (i32.const 1)
- )
- (set_local $$storemerge$191
- (get_local $$add$ptr88)
+ )
+ (set_local $$arglist_current
+ (i32.load
+ (get_local $$ap)
)
- (set_local $$w$0
- (get_local $$18)
+ )
+ (set_local $$22
+ (get_local $$arglist_current)
+ )
+ (set_local $$23
+ (i32.add
+ (i32.const 0)
+ (i32.const 4)
)
)
- (set_local $label
- (i32.const 24)
+ (set_local $$expanded4
+ (get_local $$23)
)
- )
- )
- (set_local $label
- (i32.const 24)
- )
- )
- (if
- (i32.eq
- (get_local $label)
- (i32.const 24)
- )
- (block
- (set_local $label
- (i32.const 0)
- )
- (set_local $$tobool90
- (i32.eq
- (get_local $$l10n$1)
- (i32.const 0)
+ (set_local $$expanded
+ (i32.sub
+ (get_local $$expanded4)
+ (i32.const 1)
+ )
)
- )
- (if
- (i32.eqz
- (get_local $$tobool90)
+ (set_local $$24
+ (i32.add
+ (get_local $$22)
+ (get_local $$expanded)
+ )
)
- (block
- (set_local $$retval$0
- (i32.const -1)
+ (set_local $$25
+ (i32.add
+ (i32.const 0)
+ (i32.const 4)
)
- (br $label$break$L1)
)
- )
- (if
- (i32.eqz
- (get_local $$tobool25)
+ (set_local $$expanded8
+ (get_local $$25)
)
- (block
- (set_local $$fl$1
- (get_local $$fl$0284)
+ (set_local $$expanded7
+ (i32.sub
+ (get_local $$expanded8)
+ (i32.const 1)
)
- (set_local $$incdec$ptr169269
- (get_local $$arrayidx68)
+ )
+ (set_local $$expanded6
+ (i32.xor
+ (get_local $$expanded7)
+ (i32.const -1)
)
- (set_local $$l10n$3
- (i32.const 0)
+ )
+ (set_local $$26
+ (i32.and
+ (get_local $$24)
+ (get_local $$expanded6)
)
- (set_local $$w$1
- (i32.const 0)
+ )
+ (set_local $$27
+ (get_local $$26)
+ )
+ (set_local $$28
+ (i32.load
+ (get_local $$27)
)
- (br $do-once$12)
)
- )
- (set_local $$arglist_current
- (i32.load
+ (set_local $$arglist_next
+ (i32.add
+ (get_local $$27)
+ (i32.const 4)
+ )
+ )
+ (i32.store
(get_local $$ap)
+ (get_local $$arglist_next)
)
- )
- (set_local $$22
- (get_local $$arglist_current)
- )
- (set_local $$23
- (i32.add
+ (set_local $$l10n$2
(i32.const 0)
- (i32.const 4)
- )
- )
- (set_local $$expanded4
- (get_local $$23)
- )
- (set_local $$expanded
- (i32.sub
- (get_local $$expanded4)
- (i32.const 1)
)
- )
- (set_local $$24
- (i32.add
- (get_local $$22)
- (get_local $$expanded)
+ (set_local $$storemerge$191
+ (get_local $$arrayidx68)
)
- )
- (set_local $$25
- (i32.add
- (i32.const 0)
- (i32.const 4)
+ (set_local $$w$0
+ (get_local $$28)
)
)
- (set_local $$expanded8
- (get_local $$25)
+ )
+ (set_local $$cmp97
+ (i32.lt_s
+ (get_local $$w$0)
+ (i32.const 0)
)
- (set_local $$expanded7
- (i32.sub
- (get_local $$expanded8)
- (i32.const 1)
+ )
+ (if
+ (get_local $$cmp97)
+ (block
+ (set_local $$or100
+ (i32.or
+ (get_local $$fl$0284)
+ (i32.const 8192)
+ )
)
- )
- (set_local $$expanded6
- (i32.xor
- (get_local $$expanded7)
- (i32.const -1)
+ (set_local $$sub101
+ (i32.sub
+ (i32.const 0)
+ (get_local $$w$0)
+ )
)
- )
- (set_local $$26
- (i32.and
- (get_local $$24)
- (get_local $$expanded6)
+ (set_local $$fl$1
+ (get_local $$or100)
)
- )
- (set_local $$27
- (get_local $$26)
- )
- (set_local $$28
- (i32.load
- (get_local $$27)
+ (set_local $$incdec$ptr169269
+ (get_local $$storemerge$191)
)
- )
- (set_local $$arglist_next
- (i32.add
- (get_local $$27)
- (i32.const 4)
+ (set_local $$l10n$3
+ (get_local $$l10n$2)
+ )
+ (set_local $$w$1
+ (get_local $$sub101)
)
)
- (i32.store
- (get_local $$ap)
- (get_local $$arglist_next)
- )
- (set_local $$l10n$2
- (i32.const 0)
- )
- (set_local $$storemerge$191
- (get_local $$arrayidx68)
- )
- (set_local $$w$0
- (get_local $$28)
- )
- )
- )
- (set_local $$cmp97
- (i32.lt_s
- (get_local $$w$0)
- (i32.const 0)
- )
- )
- (if
- (get_local $$cmp97)
- (block
- (set_local $$or100
- (i32.or
+ (block
+ (set_local $$fl$1
(get_local $$fl$0284)
- (i32.const 8192)
)
- )
- (set_local $$sub101
- (i32.sub
- (i32.const 0)
+ (set_local $$incdec$ptr169269
+ (get_local $$storemerge$191)
+ )
+ (set_local $$l10n$3
+ (get_local $$l10n$2)
+ )
+ (set_local $$w$1
(get_local $$w$0)
)
)
- (set_local $$fl$1
- (get_local $$or100)
- )
- (set_local $$incdec$ptr169269
- (get_local $$storemerge$191)
- )
- (set_local $$l10n$3
- (get_local $$l10n$2)
- )
- (set_local $$w$1
- (get_local $$sub101)
- )
- )
- (block
- (set_local $$fl$1
- (get_local $$fl$0284)
- )
- (set_local $$incdec$ptr169269
- (get_local $$storemerge$191)
- )
- (set_local $$l10n$3
- (get_local $$l10n$2)
- )
- (set_local $$w$1
- (get_local $$w$0)
- )
)
)
- )
- (block
- (set_local $$conv$4$i
- (i32.shr_s
- (i32.shl
- (get_local $$12)
+ (block
+ (set_local $$conv$4$i
+ (i32.shr_s
+ (i32.shl
+ (get_local $$12)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
- )
- )
- (set_local $$isdigittmp$5$i
- (i32.add
- (get_local $$conv$4$i)
- (i32.const -48)
- )
- )
- (set_local $$isdigit$6$i
- (i32.lt_u
- (get_local $$isdigittmp$5$i)
- (i32.const 10)
)
- )
- (if
- (get_local $$isdigit$6$i)
- (block
- (set_local $$29
- (get_local $$storemerge$186282)
- )
- (set_local $$i$07$i
- (i32.const 0)
+ (set_local $$isdigittmp$5$i
+ (i32.add
+ (get_local $$conv$4$i)
+ (i32.const -48)
)
- (set_local $$isdigittmp8$i
+ )
+ (set_local $$isdigit$6$i
+ (i32.lt_u
(get_local $$isdigittmp$5$i)
+ (i32.const 10)
)
- (loop $while-out$14 $while-in$15
- (set_local $$mul$i
- (i32.mul
- (get_local $$i$07$i)
- (i32.const 10)
- )
- )
- (set_local $$add$i
- (i32.add
- (get_local $$mul$i)
- (get_local $$isdigittmp8$i)
- )
+ )
+ (if
+ (get_local $$isdigit$6$i)
+ (block
+ (set_local $$29
+ (get_local $$storemerge$186282)
)
- (set_local $$incdec$ptr$i
- (i32.add
- (get_local $$29)
- (i32.const 1)
- )
+ (set_local $$i$07$i
+ (i32.const 0)
)
- (set_local $$30
- (i32.load8_s
- (get_local $$incdec$ptr$i)
- )
+ (set_local $$isdigittmp8$i
+ (get_local $$isdigittmp$5$i)
)
- (set_local $$conv$i
- (i32.shr_s
- (i32.shl
- (get_local $$30)
- (i32.const 24)
+ (loop $while-in$15
+ (block $while-out$14
+ (set_local $$mul$i
+ (i32.mul
+ (get_local $$i$07$i)
+ (i32.const 10)
+ )
)
- (i32.const 24)
- )
- )
- (set_local $$isdigittmp$i
- (i32.add
- (get_local $$conv$i)
- (i32.const -48)
+ (set_local $$add$i
+ (i32.add
+ (get_local $$mul$i)
+ (get_local $$isdigittmp8$i)
+ )
+ )
+ (set_local $$incdec$ptr$i
+ (i32.add
+ (get_local $$29)
+ (i32.const 1)
+ )
+ )
+ (set_local $$30
+ (i32.load8_s
+ (get_local $$incdec$ptr$i)
+ )
+ )
+ (set_local $$conv$i
+ (i32.shr_s
+ (i32.shl
+ (get_local $$30)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ )
+ (set_local $$isdigittmp$i
+ (i32.add
+ (get_local $$conv$i)
+ (i32.const -48)
+ )
+ )
+ (set_local $$isdigit$i
+ (i32.lt_u
+ (get_local $$isdigittmp$i)
+ (i32.const 10)
+ )
+ )
+ (if
+ (get_local $$isdigit$i)
+ (block
+ (set_local $$29
+ (get_local $$incdec$ptr$i)
+ )
+ (set_local $$i$07$i
+ (get_local $$add$i)
+ )
+ (set_local $$isdigittmp8$i
+ (get_local $$isdigittmp$i)
+ )
+ )
+ (block
+ (set_local $$add$i$lcssa
+ (get_local $$add$i)
+ )
+ (set_local $$incdec$ptr$i$lcssa
+ (get_local $$incdec$ptr$i)
+ )
+ (br $while-out$14)
+ )
+ )
+ (br $while-in$15)
)
)
- (set_local $$isdigit$i
- (i32.lt_u
- (get_local $$isdigittmp$i)
- (i32.const 10)
+ (set_local $$cmp105
+ (i32.lt_s
+ (get_local $$add$i$lcssa)
+ (i32.const 0)
)
)
(if
- (get_local $$isdigit$i)
+ (get_local $$cmp105)
(block
- (set_local $$29
- (get_local $$incdec$ptr$i)
- )
- (set_local $$i$07$i
- (get_local $$add$i)
- )
- (set_local $$isdigittmp8$i
- (get_local $$isdigittmp$i)
+ (set_local $$retval$0
+ (i32.const -1)
)
+ (br $label$break$L1)
)
(block
- (set_local $$add$i$lcssa
- (get_local $$add$i)
+ (set_local $$fl$1
+ (get_local $$fl$0284)
+ )
+ (set_local $$incdec$ptr169269
+ (get_local $$incdec$ptr$i$lcssa)
)
- (set_local $$incdec$ptr$i$lcssa
- (get_local $$incdec$ptr$i)
+ (set_local $$l10n$3
+ (get_local $$l10n$1)
+ )
+ (set_local $$w$1
+ (get_local $$add$i$lcssa)
)
- (br $while-out$14)
)
)
- (br $while-in$15)
)
- (set_local $$cmp105
- (i32.lt_s
- (get_local $$add$i$lcssa)
- (i32.const 0)
+ (block
+ (set_local $$fl$1
+ (get_local $$fl$0284)
)
- )
- (if
- (get_local $$cmp105)
- (block
- (set_local $$retval$0
- (i32.const -1)
- )
- (br $label$break$L1)
+ (set_local $$incdec$ptr169269
+ (get_local $$storemerge$186282)
)
- (block
- (set_local $$fl$1
- (get_local $$fl$0284)
- )
- (set_local $$incdec$ptr169269
- (get_local $$incdec$ptr$i$lcssa)
- )
- (set_local $$l10n$3
- (get_local $$l10n$1)
- )
- (set_local $$w$1
- (get_local $$add$i$lcssa)
- )
+ (set_local $$l10n$3
+ (get_local $$l10n$1)
+ )
+ (set_local $$w$1
+ (i32.const 0)
)
- )
- )
- (block
- (set_local $$fl$1
- (get_local $$fl$0284)
- )
- (set_local $$incdec$ptr169269
- (get_local $$storemerge$186282)
- )
- (set_local $$l10n$3
- (get_local $$l10n$1)
- )
- (set_local $$w$1
- (i32.const 0)
)
)
)
)
)
- )
- (set_local $$31
- (i32.load8_s
- (get_local $$incdec$ptr169269)
+ (set_local $$31
+ (i32.load8_s
+ (get_local $$incdec$ptr169269)
+ )
)
- )
- (set_local $$cmp111
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$31)
+ (set_local $$cmp111
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$31)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 46)
)
- (i32.const 46)
)
- )
- (block $label$break$L46
- (if
- (get_local $$cmp111)
- (block
- (set_local $$arrayidx114
- (i32.add
- (get_local $$incdec$ptr169269)
- (i32.const 1)
- )
- )
- (set_local $$32
- (i32.load8_s
- (get_local $$arrayidx114)
- )
- )
- (set_local $$cmp116
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$32)
- (i32.const 24)
- )
- (i32.const 24)
+ (block $label$break$L46
+ (if
+ (get_local $$cmp111)
+ (block
+ (set_local $$arrayidx114
+ (i32.add
+ (get_local $$incdec$ptr169269)
+ (i32.const 1)
)
- (i32.const 42)
)
- )
- (if
- (i32.eqz
- (get_local $$cmp116)
+ (set_local $$32
+ (i32.load8_s
+ (get_local $$arrayidx114)
+ )
)
- (block
- (set_local $$conv$4$i$197
+ (set_local $$cmp116
+ (i32.eq
(i32.shr_s
(i32.shl
(get_local $$32)
@@ -7153,269 +7039,434 @@
)
(i32.const 24)
)
+ (i32.const 42)
)
- (set_local $$isdigittmp$5$i$198
- (i32.add
- (get_local $$conv$4$i$197)
- (i32.const -48)
- )
- )
- (set_local $$isdigit$6$i$199
- (i32.lt_u
- (get_local $$isdigittmp$5$i$198)
- (i32.const 10)
- )
- )
- (if
- (get_local $$isdigit$6$i$199)
- (block
- (set_local $$49
- (get_local $$arrayidx114)
- )
- (set_local $$i$07$i$201
- (i32.const 0)
- )
- (set_local $$isdigittmp8$i$200
- (get_local $$isdigittmp$5$i$198)
- )
- )
- (block
- (set_local $$incdec$ptr169272
- (get_local $$arrayidx114)
- )
- (set_local $$p$0
- (i32.const 0)
- )
- (br $label$break$L46)
- )
+ )
+ (if
+ (i32.eqz
+ (get_local $$cmp116)
)
- (loop $while-out$17 $while-in$18
- (set_local $$mul$i$202
- (i32.mul
- (get_local $$i$07$i$201)
- (i32.const 10)
- )
- )
- (set_local $$add$i$203
- (i32.add
- (get_local $$mul$i$202)
- (get_local $$isdigittmp8$i$200)
- )
- )
- (set_local $$incdec$ptr$i$204
- (i32.add
- (get_local $$49)
- (i32.const 1)
- )
- )
- (set_local $$50
- (i32.load8_s
- (get_local $$incdec$ptr$i$204)
- )
- )
- (set_local $$conv$i$205
+ (block
+ (set_local $$conv$4$i$197
(i32.shr_s
(i32.shl
- (get_local $$50)
+ (get_local $$32)
(i32.const 24)
)
(i32.const 24)
)
)
- (set_local $$isdigittmp$i$206
+ (set_local $$isdigittmp$5$i$198
(i32.add
- (get_local $$conv$i$205)
+ (get_local $$conv$4$i$197)
(i32.const -48)
)
)
- (set_local $$isdigit$i$207
+ (set_local $$isdigit$6$i$199
(i32.lt_u
- (get_local $$isdigittmp$i$206)
+ (get_local $$isdigittmp$5$i$198)
(i32.const 10)
)
)
(if
- (get_local $$isdigit$i$207)
+ (get_local $$isdigit$6$i$199)
(block
(set_local $$49
- (get_local $$incdec$ptr$i$204)
+ (get_local $$arrayidx114)
)
(set_local $$i$07$i$201
- (get_local $$add$i$203)
+ (i32.const 0)
)
(set_local $$isdigittmp8$i$200
- (get_local $$isdigittmp$i$206)
+ (get_local $$isdigittmp$5$i$198)
)
)
(block
(set_local $$incdec$ptr169272
- (get_local $$incdec$ptr$i$204)
+ (get_local $$arrayidx114)
)
(set_local $$p$0
- (get_local $$add$i$203)
+ (i32.const 0)
)
(br $label$break$L46)
)
)
- (br $while-in$18)
+ (loop $while-in$18
+ (block $while-out$17
+ (set_local $$mul$i$202
+ (i32.mul
+ (get_local $$i$07$i$201)
+ (i32.const 10)
+ )
+ )
+ (set_local $$add$i$203
+ (i32.add
+ (get_local $$mul$i$202)
+ (get_local $$isdigittmp8$i$200)
+ )
+ )
+ (set_local $$incdec$ptr$i$204
+ (i32.add
+ (get_local $$49)
+ (i32.const 1)
+ )
+ )
+ (set_local $$50
+ (i32.load8_s
+ (get_local $$incdec$ptr$i$204)
+ )
+ )
+ (set_local $$conv$i$205
+ (i32.shr_s
+ (i32.shl
+ (get_local $$50)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ )
+ (set_local $$isdigittmp$i$206
+ (i32.add
+ (get_local $$conv$i$205)
+ (i32.const -48)
+ )
+ )
+ (set_local $$isdigit$i$207
+ (i32.lt_u
+ (get_local $$isdigittmp$i$206)
+ (i32.const 10)
+ )
+ )
+ (if
+ (get_local $$isdigit$i$207)
+ (block
+ (set_local $$49
+ (get_local $$incdec$ptr$i$204)
+ )
+ (set_local $$i$07$i$201
+ (get_local $$add$i$203)
+ )
+ (set_local $$isdigittmp8$i$200
+ (get_local $$isdigittmp$i$206)
+ )
+ )
+ (block
+ (set_local $$incdec$ptr169272
+ (get_local $$incdec$ptr$i$204)
+ )
+ (set_local $$p$0
+ (get_local $$add$i$203)
+ )
+ (br $label$break$L46)
+ )
+ )
+ (br $while-in$18)
+ )
+ )
)
)
- )
- (set_local $$arrayidx119
- (i32.add
- (get_local $$incdec$ptr169269)
- (i32.const 2)
+ (set_local $$arrayidx119
+ (i32.add
+ (get_local $$incdec$ptr169269)
+ (i32.const 2)
+ )
)
- )
- (set_local $$33
- (i32.load8_s
- (get_local $$arrayidx119)
+ (set_local $$33
+ (i32.load8_s
+ (get_local $$arrayidx119)
+ )
)
- )
- (set_local $$conv120
- (i32.shr_s
- (i32.shl
- (get_local $$33)
+ (set_local $$conv120
+ (i32.shr_s
+ (i32.shl
+ (get_local $$33)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
- )
- (set_local $$isdigittmp187
- (i32.add
- (get_local $$conv120)
- (i32.const -48)
+ (set_local $$isdigittmp187
+ (i32.add
+ (get_local $$conv120)
+ (i32.const -48)
+ )
)
- )
- (set_local $$isdigit188
- (i32.lt_u
- (get_local $$isdigittmp187)
- (i32.const 10)
+ (set_local $$isdigit188
+ (i32.lt_u
+ (get_local $$isdigittmp187)
+ (i32.const 10)
+ )
)
- )
- (if
- (get_local $$isdigit188)
- (block
- (set_local $$arrayidx124
- (i32.add
- (get_local $$incdec$ptr169269)
- (i32.const 3)
+ (if
+ (get_local $$isdigit188)
+ (block
+ (set_local $$arrayidx124
+ (i32.add
+ (get_local $$incdec$ptr169269)
+ (i32.const 3)
+ )
)
- )
- (set_local $$34
- (i32.load8_s
- (get_local $$arrayidx124)
+ (set_local $$34
+ (i32.load8_s
+ (get_local $$arrayidx124)
+ )
)
- )
- (set_local $$cmp126
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$34)
+ (set_local $$cmp126
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$34)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 36)
)
- (i32.const 36)
)
- )
- (if
- (get_local $$cmp126)
- (block
- (set_local $$arrayidx132
- (i32.add
- (get_local $$nl_type)
- (i32.shl
- (get_local $$isdigittmp187)
- (i32.const 2)
+ (if
+ (get_local $$cmp126)
+ (block
+ (set_local $$arrayidx132
+ (i32.add
+ (get_local $$nl_type)
+ (i32.shl
+ (get_local $$isdigittmp187)
+ (i32.const 2)
+ )
)
)
- )
- (i32.store
- (get_local $$arrayidx132)
- (i32.const 10)
- )
- (set_local $$35
- (i32.load8_s
- (get_local $$arrayidx119)
+ (i32.store
+ (get_local $$arrayidx132)
+ (i32.const 10)
)
- )
- (set_local $$conv134
- (i32.shr_s
- (i32.shl
- (get_local $$35)
+ (set_local $$35
+ (i32.load8_s
+ (get_local $$arrayidx119)
+ )
+ )
+ (set_local $$conv134
+ (i32.shr_s
+ (i32.shl
+ (get_local $$35)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
- )
- (set_local $$sub135
- (i32.add
- (get_local $$conv134)
- (i32.const -48)
+ (set_local $$sub135
+ (i32.add
+ (get_local $$conv134)
+ (i32.const -48)
+ )
)
- )
- (set_local $$i137
- (i32.add
- (get_local $$nl_arg)
- (i32.shl
- (get_local $$sub135)
- (i32.const 3)
+ (set_local $$i137
+ (i32.add
+ (get_local $$nl_arg)
+ (i32.shl
+ (get_local $$sub135)
+ (i32.const 3)
+ )
+ )
+ )
+ (set_local $$36
+ (get_local $$i137)
+ )
+ (set_local $$37
+ (get_local $$36)
+ )
+ (set_local $$38
+ (i32.load
+ (get_local $$37)
+ )
+ )
+ (set_local $$39
+ (i32.add
+ (get_local $$36)
+ (i32.const 4)
+ )
+ )
+ (set_local $$40
+ (get_local $$39)
+ )
+ (set_local $$41
+ (i32.load
+ (get_local $$40)
+ )
+ )
+ (set_local $$add$ptr139
+ (i32.add
+ (get_local $$incdec$ptr169269)
+ (i32.const 4)
)
)
+ (set_local $$incdec$ptr169272
+ (get_local $$add$ptr139)
+ )
+ (set_local $$p$0
+ (get_local $$38)
+ )
+ (br $label$break$L46)
+ )
+ )
+ )
+ )
+ (set_local $$tobool141
+ (i32.eq
+ (get_local $$l10n$3)
+ (i32.const 0)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $$tobool141)
+ )
+ (block
+ (set_local $$retval$0
+ (i32.const -1)
+ )
+ (br $label$break$L1)
+ )
+ )
+ (if
+ (get_local $$tobool25)
+ (block
+ (set_local $$arglist_current2
+ (i32.load
+ (get_local $$ap)
)
- (set_local $$36
- (get_local $$i137)
+ )
+ (set_local $$42
+ (get_local $$arglist_current2)
+ )
+ (set_local $$43
+ (i32.add
+ (i32.const 0)
+ (i32.const 4)
)
- (set_local $$37
- (get_local $$36)
+ )
+ (set_local $$expanded11
+ (get_local $$43)
+ )
+ (set_local $$expanded10
+ (i32.sub
+ (get_local $$expanded11)
+ (i32.const 1)
)
- (set_local $$38
- (i32.load
- (get_local $$37)
- )
+ )
+ (set_local $$44
+ (i32.add
+ (get_local $$42)
+ (get_local $$expanded10)
)
- (set_local $$39
- (i32.add
- (get_local $$36)
- (i32.const 4)
- )
+ )
+ (set_local $$45
+ (i32.add
+ (i32.const 0)
+ (i32.const 4)
)
- (set_local $$40
- (get_local $$39)
+ )
+ (set_local $$expanded15
+ (get_local $$45)
+ )
+ (set_local $$expanded14
+ (i32.sub
+ (get_local $$expanded15)
+ (i32.const 1)
)
- (set_local $$41
- (i32.load
- (get_local $$40)
- )
+ )
+ (set_local $$expanded13
+ (i32.xor
+ (get_local $$expanded14)
+ (i32.const -1)
)
- (set_local $$add$ptr139
- (i32.add
- (get_local $$incdec$ptr169269)
- (i32.const 4)
- )
+ )
+ (set_local $$46
+ (i32.and
+ (get_local $$44)
+ (get_local $$expanded13)
)
- (set_local $$incdec$ptr169272
- (get_local $$add$ptr139)
+ )
+ (set_local $$47
+ (get_local $$46)
+ )
+ (set_local $$48
+ (i32.load
+ (get_local $$47)
)
- (set_local $$p$0
- (get_local $$38)
+ )
+ (set_local $$arglist_next3
+ (i32.add
+ (get_local $$47)
+ (i32.const 4)
)
- (br $label$break$L46)
+ )
+ (i32.store
+ (get_local $$ap)
+ (get_local $$arglist_next3)
+ )
+ (set_local $$incdec$ptr169272
+ (get_local $$arrayidx119)
+ )
+ (set_local $$p$0
+ (get_local $$48)
+ )
+ )
+ (block
+ (set_local $$incdec$ptr169272
+ (get_local $$arrayidx119)
+ )
+ (set_local $$p$0
+ (i32.const 0)
)
)
)
)
- (set_local $$tobool141
- (i32.eq
- (get_local $$l10n$3)
- (i32.const 0)
+ (block
+ (set_local $$incdec$ptr169272
+ (get_local $$incdec$ptr169269)
+ )
+ (set_local $$p$0
+ (i32.const -1)
)
)
- (if
- (i32.eqz
- (get_local $$tobool141)
+ )
+ )
+ (set_local $$incdec$ptr169271
+ (get_local $$incdec$ptr169272)
+ )
+ (set_local $$st$0
+ (i32.const 0)
+ )
+ (loop $while-in$20
+ (block $while-out$19
+ (set_local $$51
+ (i32.load8_s
+ (get_local $$incdec$ptr169271)
+ )
+ )
+ (set_local $$conv163
+ (i32.shr_s
+ (i32.shl
+ (get_local $$51)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ )
+ (set_local $$sub164
+ (i32.add
+ (get_local $$conv163)
+ (i32.const -65)
+ )
+ )
+ (set_local $$cmp165
+ (i32.gt_u
+ (get_local $$sub164)
+ (i32.const 57)
)
+ )
+ (if
+ (get_local $$cmp165)
(block
(set_local $$retval$0
(i32.const -1)
@@ -7423,145 +7474,93 @@
(br $label$break$L1)
)
)
- (if
- (get_local $$tobool25)
- (block
- (set_local $$arglist_current2
- (i32.load
- (get_local $$ap)
- )
- )
- (set_local $$42
- (get_local $$arglist_current2)
- )
- (set_local $$43
- (i32.add
- (i32.const 0)
- (i32.const 4)
- )
- )
- (set_local $$expanded11
- (get_local $$43)
- )
- (set_local $$expanded10
- (i32.sub
- (get_local $$expanded11)
- (i32.const 1)
- )
- )
- (set_local $$44
- (i32.add
- (get_local $$42)
- (get_local $$expanded10)
- )
- )
- (set_local $$45
- (i32.add
- (i32.const 0)
- (i32.const 4)
- )
- )
- (set_local $$expanded15
- (get_local $$45)
- )
- (set_local $$expanded14
- (i32.sub
- (get_local $$expanded15)
- (i32.const 1)
- )
- )
- (set_local $$expanded13
- (i32.xor
- (get_local $$expanded14)
- (i32.const -1)
- )
- )
- (set_local $$46
- (i32.and
- (get_local $$44)
- (get_local $$expanded13)
+ (set_local $$incdec$ptr169
+ (i32.add
+ (get_local $$incdec$ptr169271)
+ (i32.const 1)
+ )
+ )
+ (set_local $$arrayidx173
+ (i32.add
+ (i32.add
+ (i32.const 3611)
+ (i32.mul
+ (get_local $$st$0)
+ (i32.const 58)
)
)
- (set_local $$47
- (get_local $$46)
- )
- (set_local $$48
- (i32.load
- (get_local $$47)
- )
+ (get_local $$sub164)
+ )
+ )
+ (set_local $$52
+ (i32.load8_s
+ (get_local $$arrayidx173)
+ )
+ )
+ (set_local $$conv174
+ (i32.and
+ (get_local $$52)
+ (i32.const 255)
+ )
+ )
+ (set_local $$sub175
+ (i32.add
+ (get_local $$conv174)
+ (i32.const -1)
+ )
+ )
+ (set_local $$cmp176
+ (i32.lt_u
+ (get_local $$sub175)
+ (i32.const 8)
+ )
+ )
+ (if
+ (get_local $$cmp176)
+ (block
+ (set_local $$incdec$ptr169271
+ (get_local $$incdec$ptr169)
)
- (set_local $$arglist_next3
- (i32.add
- (get_local $$47)
- (i32.const 4)
- )
+ (set_local $$st$0
+ (get_local $$conv174)
)
- (i32.store
- (get_local $$ap)
- (get_local $$arglist_next3)
+ )
+ (block
+ (set_local $$$lcssa
+ (get_local $$52)
)
- (set_local $$incdec$ptr169272
- (get_local $$arrayidx119)
+ (set_local $$conv174$lcssa
+ (get_local $$conv174)
)
- (set_local $$p$0
- (get_local $$48)
+ (set_local $$incdec$ptr169$lcssa
+ (get_local $$incdec$ptr169)
)
- )
- (block
- (set_local $$incdec$ptr169272
- (get_local $$arrayidx119)
+ (set_local $$incdec$ptr169271$lcssa414
+ (get_local $$incdec$ptr169271)
)
- (set_local $$p$0
- (i32.const 0)
+ (set_local $$st$0$lcssa415
+ (get_local $$st$0)
)
+ (br $while-out$19)
)
)
- )
- (block
- (set_local $$incdec$ptr169272
- (get_local $$incdec$ptr169269)
- )
- (set_local $$p$0
- (i32.const -1)
- )
- )
- )
- )
- (set_local $$incdec$ptr169271
- (get_local $$incdec$ptr169272)
- )
- (set_local $$st$0
- (i32.const 0)
- )
- (loop $while-out$19 $while-in$20
- (set_local $$51
- (i32.load8_s
- (get_local $$incdec$ptr169271)
+ (br $while-in$20)
)
)
- (set_local $$conv163
- (i32.shr_s
- (i32.shl
- (get_local $$51)
+ (set_local $$tobool178
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$$lcssa)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
- )
- )
- (set_local $$sub164
- (i32.add
- (get_local $$conv163)
- (i32.const -65)
- )
- )
- (set_local $$cmp165
- (i32.gt_u
- (get_local $$sub164)
- (i32.const 57)
+ (i32.const 0)
)
)
(if
- (get_local $$cmp165)
+ (get_local $$tobool178)
(block
(set_local $$retval$0
(i32.const -1)
@@ -7569,396 +7568,329 @@
(br $label$break$L1)
)
)
- (set_local $$incdec$ptr169
- (i32.add
- (get_local $$incdec$ptr169271)
- (i32.const 1)
- )
- )
- (set_local $$arrayidx173
- (i32.add
- (i32.add
- (i32.const 3611)
- (i32.mul
- (get_local $$st$0)
- (i32.const 58)
+ (set_local $$cmp181
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$$lcssa)
+ (i32.const 24)
)
- )
- (get_local $$sub164)
- )
- )
- (set_local $$52
- (i32.load8_s
- (get_local $$arrayidx173)
- )
- )
- (set_local $$conv174
- (i32.and
- (get_local $$52)
- (i32.const 255)
- )
- )
- (set_local $$sub175
- (i32.add
- (get_local $$conv174)
- (i32.const -1)
- )
- )
- (set_local $$cmp176
- (i32.lt_u
- (get_local $$sub175)
- (i32.const 8)
- )
- )
- (if
- (get_local $$cmp176)
- (block
- (set_local $$incdec$ptr169271
- (get_local $$incdec$ptr169)
- )
- (set_local $$st$0
- (get_local $$conv174)
- )
- )
- (block
- (set_local $$$lcssa
- (get_local $$52)
- )
- (set_local $$conv174$lcssa
- (get_local $$conv174)
- )
- (set_local $$incdec$ptr169$lcssa
- (get_local $$incdec$ptr169)
- )
- (set_local $$incdec$ptr169271$lcssa414
- (get_local $$incdec$ptr169271)
- )
- (set_local $$st$0$lcssa415
- (get_local $$st$0)
- )
- (br $while-out$19)
- )
- )
- (br $while-in$20)
- )
- (set_local $$tobool178
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$$lcssa)
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 19)
)
- (i32.const 0)
)
- )
- (if
- (get_local $$tobool178)
- (block
- (set_local $$retval$0
+ (set_local $$cmp184
+ (i32.gt_s
+ (get_local $$argpos$0)
(i32.const -1)
)
- (br $label$break$L1)
- )
- )
- (set_local $$cmp181
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$$lcssa)
- (i32.const 24)
- )
- (i32.const 24)
- )
- (i32.const 19)
)
- )
- (set_local $$cmp184
- (i32.gt_s
- (get_local $$argpos$0)
- (i32.const -1)
- )
- )
- (block $do-once$21
- (if
- (get_local $$cmp181)
+ (block $do-once$21
(if
- (get_local $$cmp184)
- (block
- (set_local $$retval$0
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- (set_local $label
- (i32.const 52)
- )
- )
- (block
+ (get_local $$cmp181)
(if
(get_local $$cmp184)
(block
- (set_local $$arrayidx192
- (i32.add
- (get_local $$nl_type)
- (i32.shl
- (get_local $$argpos$0)
- (i32.const 2)
+ (set_local $$retval$0
+ (i32.const -1)
+ )
+ (br $label$break$L1)
+ )
+ (set_local $label
+ (i32.const 52)
+ )
+ )
+ (block
+ (if
+ (get_local $$cmp184)
+ (block
+ (set_local $$arrayidx192
+ (i32.add
+ (get_local $$nl_type)
+ (i32.shl
+ (get_local $$argpos$0)
+ (i32.const 2)
+ )
)
)
- )
- (i32.store
- (get_local $$arrayidx192)
- (get_local $$conv174$lcssa)
- )
- (set_local $$53
- (i32.add
- (get_local $$nl_arg)
- (i32.shl
- (get_local $$argpos$0)
- (i32.const 3)
+ (i32.store
+ (get_local $$arrayidx192)
+ (get_local $$conv174$lcssa)
+ )
+ (set_local $$53
+ (i32.add
+ (get_local $$nl_arg)
+ (i32.shl
+ (get_local $$argpos$0)
+ (i32.const 3)
+ )
)
)
- )
- (set_local $$54
- (get_local $$53)
- )
- (set_local $$55
- (get_local $$54)
- )
- (set_local $$56
- (i32.load
- (get_local $$55)
+ (set_local $$54
+ (get_local $$53)
)
- )
- (set_local $$57
- (i32.add
+ (set_local $$55
(get_local $$54)
- (i32.const 4)
)
- )
- (set_local $$58
- (get_local $$57)
- )
- (set_local $$59
- (i32.load
- (get_local $$58)
+ (set_local $$56
+ (i32.load
+ (get_local $$55)
+ )
)
- )
- (set_local $$60
- (get_local $$arg)
- )
- (set_local $$61
- (get_local $$60)
- )
- (i32.store
- (get_local $$61)
- (get_local $$56)
- )
- (set_local $$62
- (i32.add
+ (set_local $$57
+ (i32.add
+ (get_local $$54)
+ (i32.const 4)
+ )
+ )
+ (set_local $$58
+ (get_local $$57)
+ )
+ (set_local $$59
+ (i32.load
+ (get_local $$58)
+ )
+ )
+ (set_local $$60
+ (get_local $$arg)
+ )
+ (set_local $$61
(get_local $$60)
- (i32.const 4)
)
+ (i32.store
+ (get_local $$61)
+ (get_local $$56)
+ )
+ (set_local $$62
+ (i32.add
+ (get_local $$60)
+ (i32.const 4)
+ )
+ )
+ (set_local $$63
+ (get_local $$62)
+ )
+ (i32.store
+ (get_local $$63)
+ (get_local $$59)
+ )
+ (set_local $label
+ (i32.const 52)
+ )
+ (br $do-once$21)
)
- (set_local $$63
- (get_local $$62)
- )
- (i32.store
- (get_local $$63)
- (get_local $$59)
+ )
+ (if
+ (i32.eqz
+ (get_local $$tobool25)
)
- (set_local $label
- (i32.const 52)
+ (block
+ (set_local $$retval$0
+ (i32.const 0)
+ )
+ (br $label$break$L1)
)
- (br $do-once$21)
)
+ (call $_pop_arg_336
+ (get_local $$arg)
+ (get_local $$conv174$lcssa)
+ (get_local $$ap)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 52)
+ )
+ (block
+ (set_local $label
+ (i32.const 0)
)
(if
(i32.eqz
(get_local $$tobool25)
)
(block
- (set_local $$retval$0
- (i32.const 0)
+ (set_local $$cnt$0
+ (get_local $$cnt$1)
)
- (br $label$break$L1)
+ (set_local $$incdec$ptr169275
+ (get_local $$incdec$ptr169$lcssa)
+ )
+ (set_local $$l$0
+ (get_local $$sub$ptr$sub)
+ )
+ (set_local $$l10n$0
+ (get_local $$l10n$3)
+ )
+ (br $label$continue$L1)
)
)
- (call $_pop_arg_336
- (get_local $$arg)
- (get_local $$conv174$lcssa)
- (get_local $$ap)
- )
)
)
- )
- (if
- (i32.eq
- (get_local $label)
- (i32.const 52)
- )
- (block
- (set_local $label
- (i32.const 0)
- )
- (if
- (i32.eqz
- (get_local $$tobool25)
- )
- (block
- (set_local $$cnt$0
- (get_local $$cnt$1)
- )
- (set_local $$incdec$ptr169275
- (get_local $$incdec$ptr169$lcssa)
- )
- (set_local $$l$0
- (get_local $$sub$ptr$sub)
- )
- (set_local $$l10n$0
- (get_local $$l10n$3)
- )
- (br $label$continue$L1)
- )
+ (set_local $$64
+ (i32.load8_s
+ (get_local $$incdec$ptr169271$lcssa414)
)
)
- )
- (set_local $$64
- (i32.load8_s
- (get_local $$incdec$ptr169271$lcssa414)
- )
- )
- (set_local $$conv207
- (i32.shr_s
- (i32.shl
- (get_local $$64)
+ (set_local $$conv207
+ (i32.shr_s
+ (i32.shl
+ (get_local $$64)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
- )
- (set_local $$tobool208
- (i32.ne
- (get_local $$st$0$lcssa415)
- (i32.const 0)
+ (set_local $$tobool208
+ (i32.ne
+ (get_local $$st$0$lcssa415)
+ (i32.const 0)
+ )
)
- )
- (set_local $$and210
- (i32.and
- (get_local $$conv207)
- (i32.const 15)
+ (set_local $$and210
+ (i32.and
+ (get_local $$conv207)
+ (i32.const 15)
+ )
)
- )
- (set_local $$cmp211
- (i32.eq
- (get_local $$and210)
- (i32.const 3)
+ (set_local $$cmp211
+ (i32.eq
+ (get_local $$and210)
+ (i32.const 3)
+ )
)
- )
- (set_local $$or$cond192
- (i32.and
- (get_local $$tobool208)
- (get_local $$cmp211)
+ (set_local $$or$cond192
+ (i32.and
+ (get_local $$tobool208)
+ (get_local $$cmp211)
+ )
)
- )
- (set_local $$and214
- (i32.and
- (get_local $$conv207)
- (i32.const -33)
+ (set_local $$and214
+ (i32.and
+ (get_local $$conv207)
+ (i32.const -33)
+ )
)
- )
- (set_local $$t$0
- (if
- (get_local $$or$cond192)
- (get_local $$and214)
- (get_local $$conv207)
+ (set_local $$t$0
+ (if
+ (get_local $$or$cond192)
+ (get_local $$and214)
+ (get_local $$conv207)
+ )
)
- )
- (set_local $$and216
- (i32.and
- (get_local $$fl$1)
- (i32.const 8192)
+ (set_local $$and216
+ (i32.and
+ (get_local $$fl$1)
+ (i32.const 8192)
+ )
)
- )
- (set_local $$tobool217
- (i32.eq
- (get_local $$and216)
- (i32.const 0)
+ (set_local $$tobool217
+ (i32.eq
+ (get_local $$and216)
+ (i32.const 0)
+ )
)
- )
- (set_local $$and219
- (i32.and
- (get_local $$fl$1)
- (i32.const -65537)
+ (set_local $$and219
+ (i32.and
+ (get_local $$fl$1)
+ (i32.const -65537)
+ )
)
- )
- (set_local $$fl$1$and219
- (if
- (get_local $$tobool217)
- (get_local $$fl$1)
- (get_local $$and219)
+ (set_local $$fl$1$and219
+ (if
+ (get_local $$tobool217)
+ (get_local $$fl$1)
+ (get_local $$and219)
+ )
)
- )
- (block $label$break$L75
- (block $switch$24
- (block $switch-default$127
+ (block $label$break$L75
+ (block $switch$24
(block $switch-default$127
- (block $switch-case$126
- (block $switch-case$55
- (block $switch-case$54
- (block $switch-case$53
- (block $switch-case$52
- (block $switch-case$51
- (block $switch-case$50
- (block $switch-case$49
- (block $switch-case$48
- (block $switch-case$47
- (block $switch-case$46
- (block $switch-case$45
- (block $switch-case$44
- (block $switch-case$43
- (block $switch-case$42
- (block $switch-case$41
- (block $switch-case$40
- (block $switch-case$37
- (block $switch-case$36
- (block $switch-case$35
- (block $switch-case$34
- (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$52 $switch-case$51 $switch-case$50 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$53 $switch-default$127 $switch-case$44 $switch-case$42 $switch-case$126 $switch-case$55 $switch-case$54 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$37 $switch-default$127
- (i32.sub
- (get_local $$t$0)
- (i32.const 65)
+ (block $switch-default$127
+ (block $switch-case$126
+ (block $switch-case$55
+ (block $switch-case$54
+ (block $switch-case$53
+ (block $switch-case$52
+ (block $switch-case$51
+ (block $switch-case$50
+ (block $switch-case$49
+ (block $switch-case$48
+ (block $switch-case$47
+ (block $switch-case$46
+ (block $switch-case$45
+ (block $switch-case$44
+ (block $switch-case$43
+ (block $switch-case$42
+ (block $switch-case$41
+ (block $switch-case$40
+ (block $switch-case$37
+ (block $switch-case$36
+ (block $switch-case$35
+ (block $switch-case$34
+ (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$52 $switch-case$51 $switch-case$50 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$53 $switch-default$127 $switch-case$44 $switch-case$42 $switch-case$126 $switch-case$55 $switch-case$54 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$37 $switch-default$127
+ (i32.sub
+ (get_local $$t$0)
+ (i32.const 65)
+ )
)
)
- )
- (block
- (block $switch$25
- (block $switch-default$33
+ (block
+ (block $switch$25
(block $switch-default$33
- (block $switch-case$32
- (block $switch-case$31
- (block $switch-case$30
- (block $switch-case$29
- (block $switch-case$28
- (block $switch-case$27
- (block $switch-case$26
- (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33
- (i32.sub
- (get_local $$st$0$lcssa415)
- (i32.const 0)
+ (block $switch-default$33
+ (block $switch-case$32
+ (block $switch-case$31
+ (block $switch-case$30
+ (block $switch-case$29
+ (block $switch-case$28
+ (block $switch-case$27
+ (block $switch-case$26
+ (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33
+ (i32.sub
+ (get_local $$st$0$lcssa415)
+ (i32.const 0)
+ )
)
)
+ (block
+ (set_local $$71
+ (i32.load
+ (get_local $$arg)
+ )
+ )
+ (i32.store
+ (get_local $$71)
+ (get_local $$cnt$1)
+ )
+ (set_local $$cnt$0
+ (get_local $$cnt$1)
+ )
+ (set_local $$incdec$ptr169275
+ (get_local $$incdec$ptr169$lcssa)
+ )
+ (set_local $$l$0
+ (get_local $$sub$ptr$sub)
+ )
+ (set_local $$l10n$0
+ (get_local $$l10n$3)
+ )
+ (br $label$continue$L1)
+ (br $switch$25)
+ )
)
(block
- (set_local $$71
+ (set_local $$72
(i32.load
(get_local $$arg)
)
)
(i32.store
- (get_local $$71)
+ (get_local $$72)
(get_local $$cnt$1)
)
(set_local $$cnt$0
@@ -7978,15 +7910,49 @@
)
)
(block
- (set_local $$72
+ (set_local $$73
+ (i32.lt_s
+ (get_local $$cnt$1)
+ (i32.const 0)
+ )
+ )
+ (set_local $$74
+ (i32.shr_s
+ (i32.shl
+ (get_local $$73)
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ (set_local $$75
(i32.load
(get_local $$arg)
)
)
+ (set_local $$76
+ (get_local $$75)
+ )
+ (set_local $$77
+ (get_local $$76)
+ )
(i32.store
- (get_local $$72)
+ (get_local $$77)
(get_local $$cnt$1)
)
+ (set_local $$78
+ (i32.add
+ (get_local $$76)
+ (i32.const 4)
+ )
+ )
+ (set_local $$79
+ (get_local $$78)
+ )
+ (i32.store
+ (get_local $$79)
+ (get_local $$74)
+ )
(set_local $$cnt$0
(get_local $$cnt$1)
)
@@ -8004,48 +7970,20 @@
)
)
(block
- (set_local $$73
- (i32.lt_s
+ (set_local $$conv229
+ (i32.and
(get_local $$cnt$1)
- (i32.const 0)
- )
- )
- (set_local $$74
- (i32.shr_s
- (i32.shl
- (get_local $$73)
- (i32.const 31)
- )
- (i32.const 31)
+ (i32.const 65535)
)
)
- (set_local $$75
+ (set_local $$80
(i32.load
(get_local $$arg)
)
)
- (set_local $$76
- (get_local $$75)
- )
- (set_local $$77
- (get_local $$76)
- )
- (i32.store
- (get_local $$77)
- (get_local $$cnt$1)
- )
- (set_local $$78
- (i32.add
- (get_local $$76)
- (i32.const 4)
- )
- )
- (set_local $$79
- (get_local $$78)
- )
- (i32.store
- (get_local $$79)
- (get_local $$74)
+ (i32.store16
+ (get_local $$80)
+ (get_local $$conv229)
)
(set_local $$cnt$0
(get_local $$cnt$1)
@@ -8064,20 +8002,20 @@
)
)
(block
- (set_local $$conv229
+ (set_local $$conv232
(i32.and
(get_local $$cnt$1)
- (i32.const 65535)
+ (i32.const 255)
)
)
- (set_local $$80
+ (set_local $$81
(i32.load
(get_local $$arg)
)
)
- (i32.store16
- (get_local $$80)
- (get_local $$conv229)
+ (i32.store8
+ (get_local $$81)
+ (get_local $$conv232)
)
(set_local $$cnt$0
(get_local $$cnt$1)
@@ -8096,20 +8034,14 @@
)
)
(block
- (set_local $$conv232
- (i32.and
- (get_local $$cnt$1)
- (i32.const 255)
- )
- )
- (set_local $$81
+ (set_local $$82
(i32.load
(get_local $$arg)
)
)
- (i32.store8
- (get_local $$81)
- (get_local $$conv232)
+ (i32.store
+ (get_local $$82)
+ (get_local $$cnt$1)
)
(set_local $$cnt$0
(get_local $$cnt$1)
@@ -8128,15 +8060,49 @@
)
)
(block
- (set_local $$82
+ (set_local $$83
+ (i32.lt_s
+ (get_local $$cnt$1)
+ (i32.const 0)
+ )
+ )
+ (set_local $$84
+ (i32.shr_s
+ (i32.shl
+ (get_local $$83)
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ (set_local $$85
(i32.load
(get_local $$arg)
)
)
+ (set_local $$86
+ (get_local $$85)
+ )
+ (set_local $$87
+ (get_local $$86)
+ )
(i32.store
- (get_local $$82)
+ (get_local $$87)
(get_local $$cnt$1)
)
+ (set_local $$88
+ (i32.add
+ (get_local $$86)
+ (i32.const 4)
+ )
+ )
+ (set_local $$89
+ (get_local $$88)
+ )
+ (i32.store
+ (get_local $$89)
+ (get_local $$84)
+ )
(set_local $$cnt$0
(get_local $$cnt$1)
)
@@ -8154,49 +8120,6 @@
)
)
(block
- (set_local $$83
- (i32.lt_s
- (get_local $$cnt$1)
- (i32.const 0)
- )
- )
- (set_local $$84
- (i32.shr_s
- (i32.shl
- (get_local $$83)
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- (set_local $$85
- (i32.load
- (get_local $$arg)
- )
- )
- (set_local $$86
- (get_local $$85)
- )
- (set_local $$87
- (get_local $$86)
- )
- (i32.store
- (get_local $$87)
- (get_local $$cnt$1)
- )
- (set_local $$88
- (i32.add
- (get_local $$86)
- (i32.const 4)
- )
- )
- (set_local $$89
- (get_local $$88)
- )
- (i32.store
- (get_local $$89)
- (get_local $$84)
- )
(set_local $$cnt$0
(get_local $$cnt$1)
)
@@ -8210,589 +8133,598 @@
(get_local $$l10n$3)
)
(br $label$continue$L1)
- (br $switch$25)
- )
- )
- (block
- (set_local $$cnt$0
- (get_local $$cnt$1)
- )
- (set_local $$incdec$ptr169275
- (get_local $$incdec$ptr169$lcssa)
)
- (set_local $$l$0
- (get_local $$sub$ptr$sub)
- )
- (set_local $$l10n$0
- (get_local $$l10n$3)
- )
- (br $label$continue$L1)
)
)
+ (br $switch$24)
)
- (br $switch$24)
)
- )
- (block
- (set_local $$cmp240
- (i32.gt_u
- (get_local $$p$0)
- (i32.const 8)
+ (block
+ (set_local $$cmp240
+ (i32.gt_u
+ (get_local $$p$0)
+ (i32.const 8)
+ )
)
- )
- (set_local $$cond245
- (if
- (get_local $$cmp240)
- (get_local $$p$0)
- (i32.const 8)
+ (set_local $$cond245
+ (if
+ (get_local $$cmp240)
+ (get_local $$p$0)
+ (i32.const 8)
+ )
)
- )
- (set_local $$or246
- (i32.or
- (get_local $$fl$1$and219)
- (i32.const 8)
+ (set_local $$or246
+ (i32.or
+ (get_local $$fl$1$and219)
+ (i32.const 8)
+ )
)
+ (set_local $$fl$3
+ (get_local $$or246)
+ )
+ (set_local $$p$1
+ (get_local $$cond245)
+ )
+ (set_local $$t$1
+ (i32.const 120)
+ )
+ (set_local $label
+ (i32.const 64)
+ )
+ (br $switch$24)
)
- (set_local $$fl$3
- (get_local $$or246)
- )
- (set_local $$p$1
- (get_local $$cond245)
- )
- (set_local $$t$1
- (i32.const 120)
- )
- (set_local $label
- (i32.const 64)
- )
- (br $switch$24)
)
+ (nop)
)
- (nop)
- )
- (block
- (set_local $$fl$3
- (get_local $$fl$1$and219)
- )
- (set_local $$p$1
- (get_local $$p$0)
- )
- (set_local $$t$1
- (get_local $$t$0)
- )
- (set_local $label
- (i32.const 64)
+ (block
+ (set_local $$fl$3
+ (get_local $$fl$1$and219)
+ )
+ (set_local $$p$1
+ (get_local $$p$0)
+ )
+ (set_local $$t$1
+ (get_local $$t$0)
+ )
+ (set_local $label
+ (i32.const 64)
+ )
+ (br $switch$24)
)
- (br $switch$24)
)
- )
- (block
- (set_local $$116
- (get_local $$arg)
- )
- (set_local $$117
- (get_local $$116)
- )
- (set_local $$118
- (i32.load
- (get_local $$117)
+ (block
+ (set_local $$116
+ (get_local $$arg)
)
- )
- (set_local $$119
- (i32.add
+ (set_local $$117
(get_local $$116)
- (i32.const 4)
- )
- )
- (set_local $$120
- (get_local $$119)
- )
- (set_local $$121
- (i32.load
- (get_local $$120)
)
- )
- (set_local $$122
- (i32.eq
- (get_local $$118)
- (i32.const 0)
+ (set_local $$118
+ (i32.load
+ (get_local $$117)
+ )
)
- )
- (set_local $$123
- (i32.eq
- (get_local $$121)
- (i32.const 0)
+ (set_local $$119
+ (i32.add
+ (get_local $$116)
+ (i32.const 4)
+ )
)
- )
- (set_local $$124
- (i32.and
- (get_local $$122)
- (get_local $$123)
+ (set_local $$120
+ (get_local $$119)
)
- )
- (if
- (get_local $$124)
- (set_local $$s$addr$0$lcssa$i$229
- (get_local $$add$ptr205)
+ (set_local $$121
+ (i32.load
+ (get_local $$120)
+ )
)
- (block
- (set_local $$126
+ (set_local $$122
+ (i32.eq
(get_local $$118)
+ (i32.const 0)
)
- (set_local $$129
+ )
+ (set_local $$123
+ (i32.eq
(get_local $$121)
+ (i32.const 0)
+ )
+ )
+ (set_local $$124
+ (i32.and
+ (get_local $$122)
+ (get_local $$123)
)
- (set_local $$s$addr$06$i$221
+ )
+ (if
+ (get_local $$124)
+ (set_local $$s$addr$0$lcssa$i$229
(get_local $$add$ptr205)
)
- (loop $while-out$38 $while-in$39
- (set_local $$125
- (i32.and
- (get_local $$126)
- (i32.const 7)
- )
- )
- (set_local $$127
- (i32.or
- (get_local $$125)
- (i32.const 48)
- )
- )
- (set_local $$128
- (i32.and
- (get_local $$127)
- (i32.const 255)
- )
- )
- (set_local $$incdec$ptr$i$225
- (i32.add
- (get_local $$s$addr$06$i$221)
- (i32.const -1)
- )
- )
- (i32.store8
- (get_local $$incdec$ptr$i$225)
- (get_local $$128)
- )
- (set_local $$130
- (call $_bitshift64Lshr
- (get_local $$126)
- (get_local $$129)
- (i32.const 3)
- )
- )
- (set_local $$131
- (i32.load
- (i32.const 168)
- )
+ (block
+ (set_local $$126
+ (get_local $$118)
)
- (set_local $$132
- (i32.eq
- (get_local $$130)
- (i32.const 0)
- )
+ (set_local $$129
+ (get_local $$121)
)
- (set_local $$133
- (i32.eq
- (get_local $$131)
- (i32.const 0)
- )
- )
- (set_local $$134
- (i32.and
- (get_local $$132)
- (get_local $$133)
- )
+ (set_local $$s$addr$06$i$221
+ (get_local $$add$ptr205)
)
- (if
- (get_local $$134)
- (block
- (set_local $$s$addr$0$lcssa$i$229
- (get_local $$incdec$ptr$i$225)
+ (loop $while-in$39
+ (block $while-out$38
+ (set_local $$125
+ (i32.and
+ (get_local $$126)
+ (i32.const 7)
+ )
)
- (br $while-out$38)
- )
- (block
- (set_local $$126
- (get_local $$130)
+ (set_local $$127
+ (i32.or
+ (get_local $$125)
+ (i32.const 48)
+ )
)
- (set_local $$129
- (get_local $$131)
+ (set_local $$128
+ (i32.and
+ (get_local $$127)
+ (i32.const 255)
+ )
)
- (set_local $$s$addr$06$i$221
+ (set_local $$incdec$ptr$i$225
+ (i32.add
+ (get_local $$s$addr$06$i$221)
+ (i32.const -1)
+ )
+ )
+ (i32.store8
(get_local $$incdec$ptr$i$225)
+ (get_local $$128)
+ )
+ (set_local $$130
+ (call $_bitshift64Lshr
+ (get_local $$126)
+ (get_local $$129)
+ (i32.const 3)
+ )
+ )
+ (set_local $$131
+ (get_global $tempRet0)
+ )
+ (set_local $$132
+ (i32.eq
+ (get_local $$130)
+ (i32.const 0)
+ )
+ )
+ (set_local $$133
+ (i32.eq
+ (get_local $$131)
+ (i32.const 0)
+ )
+ )
+ (set_local $$134
+ (i32.and
+ (get_local $$132)
+ (get_local $$133)
+ )
+ )
+ (if
+ (get_local $$134)
+ (block
+ (set_local $$s$addr$0$lcssa$i$229
+ (get_local $$incdec$ptr$i$225)
+ )
+ (br $while-out$38)
+ )
+ (block
+ (set_local $$126
+ (get_local $$130)
+ )
+ (set_local $$129
+ (get_local $$131)
+ )
+ (set_local $$s$addr$06$i$221
+ (get_local $$incdec$ptr$i$225)
+ )
+ )
)
+ (br $while-in$39)
)
)
- (br $while-in$39)
)
)
- )
- (set_local $$and263
- (i32.and
- (get_local $$fl$1$and219)
- (i32.const 8)
- )
- )
- (set_local $$tobool264
- (i32.eq
- (get_local $$and263)
- (i32.const 0)
- )
- )
- (if
- (get_local $$tobool264)
- (block
- (set_local $$a$0
- (get_local $$s$addr$0$lcssa$i$229)
- )
- (set_local $$fl$4
+ (set_local $$and263
+ (i32.and
(get_local $$fl$1$and219)
+ (i32.const 8)
)
- (set_local $$p$2
- (get_local $$p$0)
- )
- (set_local $$pl$1
+ )
+ (set_local $$tobool264
+ (i32.eq
+ (get_local $$and263)
(i32.const 0)
)
- (set_local $$prefix$1
- (i32.const 4091)
- )
- (set_local $label
- (i32.const 77)
- )
)
- (block
- (set_local $$sub$ptr$rhs$cast267
- (get_local $$s$addr$0$lcssa$i$229)
- )
- (set_local $$sub$ptr$sub268
- (i32.sub
- (get_local $$sub$ptr$lhs$cast317)
- (get_local $$sub$ptr$rhs$cast267)
+ (if
+ (get_local $$tobool264)
+ (block
+ (set_local $$a$0
+ (get_local $$s$addr$0$lcssa$i$229)
)
- )
- (set_local $$add269
- (i32.add
- (get_local $$sub$ptr$sub268)
- (i32.const 1)
+ (set_local $$fl$4
+ (get_local $$fl$1$and219)
)
- )
- (set_local $$cmp270
- (i32.lt_s
+ (set_local $$p$2
(get_local $$p$0)
- (get_local $$add269)
+ )
+ (set_local $$pl$1
+ (i32.const 0)
+ )
+ (set_local $$prefix$1
+ (i32.const 4091)
+ )
+ (set_local $label
+ (i32.const 77)
)
)
- (set_local $$add269$p$0
- (if
- (get_local $$cmp270)
- (get_local $$add269)
- (get_local $$p$0)
+ (block
+ (set_local $$sub$ptr$rhs$cast267
+ (get_local $$s$addr$0$lcssa$i$229)
+ )
+ (set_local $$sub$ptr$sub268
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast317)
+ (get_local $$sub$ptr$rhs$cast267)
+ )
+ )
+ (set_local $$add269
+ (i32.add
+ (get_local $$sub$ptr$sub268)
+ (i32.const 1)
+ )
+ )
+ (set_local $$cmp270
+ (i32.lt_s
+ (get_local $$p$0)
+ (get_local $$add269)
+ )
+ )
+ (set_local $$add269$p$0
+ (if
+ (get_local $$cmp270)
+ (get_local $$add269)
+ (get_local $$p$0)
+ )
+ )
+ (set_local $$a$0
+ (get_local $$s$addr$0$lcssa$i$229)
+ )
+ (set_local $$fl$4
+ (get_local $$fl$1$and219)
+ )
+ (set_local $$p$2
+ (get_local $$add269$p$0)
+ )
+ (set_local $$pl$1
+ (i32.const 0)
+ )
+ (set_local $$prefix$1
+ (i32.const 4091)
+ )
+ (set_local $label
+ (i32.const 77)
)
)
- (set_local $$a$0
- (get_local $$s$addr$0$lcssa$i$229)
+ )
+ (br $switch$24)
+ )
+ )
+ (nop)
+ )
+ (block
+ (set_local $$135
+ (get_local $$arg)
+ )
+ (set_local $$136
+ (get_local $$135)
+ )
+ (set_local $$137
+ (i32.load
+ (get_local $$136)
+ )
+ )
+ (set_local $$138
+ (i32.add
+ (get_local $$135)
+ (i32.const 4)
+ )
+ )
+ (set_local $$139
+ (get_local $$138)
+ )
+ (set_local $$140
+ (i32.load
+ (get_local $$139)
+ )
+ )
+ (set_local $$141
+ (i32.lt_s
+ (get_local $$140)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$141)
+ (block
+ (set_local $$142
+ (call $_i64Subtract
+ (i32.const 0)
+ (i32.const 0)
+ (get_local $$137)
+ (get_local $$140)
)
- (set_local $$fl$4
- (get_local $$fl$1$and219)
+ )
+ (set_local $$143
+ (get_global $tempRet0)
+ )
+ (set_local $$144
+ (get_local $$arg)
+ )
+ (set_local $$145
+ (get_local $$144)
+ )
+ (i32.store
+ (get_local $$145)
+ (get_local $$142)
+ )
+ (set_local $$146
+ (i32.add
+ (get_local $$144)
+ (i32.const 4)
)
- (set_local $$p$2
- (get_local $$add269$p$0)
+ )
+ (set_local $$147
+ (get_local $$146)
+ )
+ (i32.store
+ (get_local $$147)
+ (get_local $$143)
+ )
+ (set_local $$148
+ (get_local $$142)
+ )
+ (set_local $$149
+ (get_local $$143)
+ )
+ (set_local $$pl$0
+ (i32.const 1)
+ )
+ (set_local $$prefix$0
+ (i32.const 4091)
+ )
+ (set_local $label
+ (i32.const 76)
+ )
+ (br $label$break$L75)
+ )
+ )
+ (set_local $$and289
+ (i32.and
+ (get_local $$fl$1$and219)
+ (i32.const 2048)
+ )
+ )
+ (set_local $$tobool290
+ (i32.eq
+ (get_local $$and289)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool290)
+ (block
+ (set_local $$and294
+ (i32.and
+ (get_local $$fl$1$and219)
+ (i32.const 1)
)
- (set_local $$pl$1
+ )
+ (set_local $$tobool295
+ (i32.eq
+ (get_local $$and294)
(i32.const 0)
)
- (set_local $$prefix$1
+ )
+ (set_local $$$
+ (if
+ (get_local $$tobool295)
(i32.const 4091)
+ (i32.const 4093)
)
- (set_local $label
- (i32.const 77)
- )
+ )
+ (set_local $$148
+ (get_local $$137)
+ )
+ (set_local $$149
+ (get_local $$140)
+ )
+ (set_local $$pl$0
+ (get_local $$and294)
+ )
+ (set_local $$prefix$0
+ (get_local $$$)
+ )
+ (set_local $label
+ (i32.const 76)
+ )
+ )
+ (block
+ (set_local $$148
+ (get_local $$137)
+ )
+ (set_local $$149
+ (get_local $$140)
+ )
+ (set_local $$pl$0
+ (i32.const 1)
+ )
+ (set_local $$prefix$0
+ (i32.const 4092)
+ )
+ (set_local $label
+ (i32.const 76)
)
)
- (br $switch$24)
)
+ (br $switch$24)
)
- (nop)
)
(block
- (set_local $$135
+ (set_local $$65
(get_local $$arg)
)
- (set_local $$136
- (get_local $$135)
+ (set_local $$66
+ (get_local $$65)
)
- (set_local $$137
+ (set_local $$67
(i32.load
- (get_local $$136)
+ (get_local $$66)
)
)
- (set_local $$138
+ (set_local $$68
(i32.add
- (get_local $$135)
+ (get_local $$65)
(i32.const 4)
)
)
- (set_local $$139
- (get_local $$138)
+ (set_local $$69
+ (get_local $$68)
)
- (set_local $$140
+ (set_local $$70
(i32.load
- (get_local $$139)
+ (get_local $$69)
)
)
- (set_local $$141
- (i32.lt_s
- (get_local $$140)
- (i32.const 0)
- )
+ (set_local $$148
+ (get_local $$67)
)
- (if
- (get_local $$141)
- (block
- (set_local $$142
- (call $_i64Subtract
- (i32.const 0)
- (i32.const 0)
- (get_local $$137)
- (get_local $$140)
- )
- )
- (set_local $$143
- (i32.load
- (i32.const 168)
- )
- )
- (set_local $$144
- (get_local $$arg)
- )
- (set_local $$145
- (get_local $$144)
- )
- (i32.store
- (get_local $$145)
- (get_local $$142)
- )
- (set_local $$146
- (i32.add
- (get_local $$144)
- (i32.const 4)
- )
- )
- (set_local $$147
- (get_local $$146)
- )
- (i32.store
- (get_local $$147)
- (get_local $$143)
- )
- (set_local $$148
- (get_local $$142)
- )
- (set_local $$149
- (get_local $$143)
- )
- (set_local $$pl$0
- (i32.const 1)
- )
- (set_local $$prefix$0
- (i32.const 4091)
- )
- (set_local $label
- (i32.const 76)
- )
- (br $label$break$L75)
- )
+ (set_local $$149
+ (get_local $$70)
)
- (set_local $$and289
- (i32.and
- (get_local $$fl$1$and219)
- (i32.const 2048)
- )
+ (set_local $$pl$0
+ (i32.const 0)
)
- (set_local $$tobool290
- (i32.eq
- (get_local $$and289)
- (i32.const 0)
- )
+ (set_local $$prefix$0
+ (i32.const 4091)
)
- (if
- (get_local $$tobool290)
- (block
- (set_local $$and294
- (i32.and
- (get_local $$fl$1$and219)
- (i32.const 1)
- )
- )
- (set_local $$tobool295
- (i32.eq
- (get_local $$and294)
- (i32.const 0)
- )
- )
- (set_local $$$
- (if
- (get_local $$tobool295)
- (i32.const 4091)
- (i32.const 4093)
- )
- )
- (set_local $$148
- (get_local $$137)
- )
- (set_local $$149
- (get_local $$140)
- )
- (set_local $$pl$0
- (get_local $$and294)
- )
- (set_local $$prefix$0
- (get_local $$$)
- )
- (set_local $label
- (i32.const 76)
- )
- )
- (block
- (set_local $$148
- (get_local $$137)
- )
- (set_local $$149
- (get_local $$140)
- )
- (set_local $$pl$0
- (i32.const 1)
- )
- (set_local $$prefix$0
- (i32.const 4092)
- )
- (set_local $label
- (i32.const 76)
- )
- )
+ (set_local $label
+ (i32.const 76)
)
(br $switch$24)
)
)
(block
- (set_local $$65
+ (set_local $$161
(get_local $$arg)
)
- (set_local $$66
- (get_local $$65)
+ (set_local $$162
+ (get_local $$161)
)
- (set_local $$67
+ (set_local $$163
(i32.load
- (get_local $$66)
+ (get_local $$162)
)
)
- (set_local $$68
+ (set_local $$164
(i32.add
- (get_local $$65)
+ (get_local $$161)
(i32.const 4)
)
)
- (set_local $$69
- (get_local $$68)
+ (set_local $$165
+ (get_local $$164)
)
- (set_local $$70
+ (set_local $$166
(i32.load
- (get_local $$69)
+ (get_local $$165)
)
)
- (set_local $$148
- (get_local $$67)
+ (set_local $$167
+ (i32.and
+ (get_local $$163)
+ (i32.const 255)
+ )
+ )
+ (i32.store8
+ (get_local $$add$ptr340)
+ (get_local $$167)
+ )
+ (set_local $$a$2
+ (get_local $$add$ptr340)
+ )
+ (set_local $$fl$6
+ (get_local $$and219)
)
- (set_local $$149
- (get_local $$70)
+ (set_local $$p$5
+ (i32.const 1)
)
- (set_local $$pl$0
+ (set_local $$pl$2
(i32.const 0)
)
- (set_local $$prefix$0
+ (set_local $$prefix$2
(i32.const 4091)
)
- (set_local $label
- (i32.const 76)
+ (set_local $$z$2
+ (get_local $$add$ptr205)
)
(br $switch$24)
)
)
(block
- (set_local $$161
- (get_local $$arg)
- )
- (set_local $$162
- (get_local $$161)
+ (set_local $$call344
+ (call $___errno_location)
)
- (set_local $$163
+ (set_local $$168
(i32.load
- (get_local $$162)
+ (get_local $$call344)
)
)
- (set_local $$164
- (i32.add
- (get_local $$161)
- (i32.const 4)
- )
- )
- (set_local $$165
- (get_local $$164)
- )
- (set_local $$166
- (i32.load
- (get_local $$165)
- )
- )
- (set_local $$167
- (i32.and
- (get_local $$163)
- (i32.const 255)
+ (set_local $$call345
+ (call $_strerror
+ (get_local $$168)
)
)
- (i32.store8
- (get_local $$add$ptr340)
- (get_local $$167)
- )
- (set_local $$a$2
- (get_local $$add$ptr340)
- )
- (set_local $$fl$6
- (get_local $$and219)
- )
- (set_local $$p$5
- (i32.const 1)
- )
- (set_local $$pl$2
- (i32.const 0)
+ (set_local $$a$1
+ (get_local $$call345)
)
- (set_local $$prefix$2
- (i32.const 4091)
- )
- (set_local $$z$2
- (get_local $$add$ptr205)
+ (set_local $label
+ (i32.const 82)
)
(br $switch$24)
)
)
(block
- (set_local $$call344
- (call $___errno_location)
- )
- (set_local $$168
+ (set_local $$169
(i32.load
- (get_local $$call344)
+ (get_local $$arg)
)
)
- (set_local $$call345
- (call $_strerror
- (get_local $$168)
+ (set_local $$tobool349
+ (i32.ne
+ (get_local $$169)
+ (i32.const 0)
+ )
+ )
+ (set_local $$cond354
+ (if
+ (get_local $$tobool349)
+ (get_local $$169)
+ (i32.const 4101)
)
)
(set_local $$a$1
- (get_local $$call345)
+ (get_local $$cond354)
)
(set_local $label
(i32.const 82)
@@ -8801,115 +8733,89 @@
)
)
(block
- (set_local $$169
+ (set_local $$170
+ (get_local $$arg)
+ )
+ (set_local $$171
+ (get_local $$170)
+ )
+ (set_local $$172
(i32.load
- (get_local $$arg)
+ (get_local $$171)
)
)
- (set_local $$tobool349
- (i32.ne
- (get_local $$169)
- (i32.const 0)
+ (set_local $$173
+ (i32.add
+ (get_local $$170)
+ (i32.const 4)
)
)
- (set_local $$cond354
- (if
- (get_local $$tobool349)
- (get_local $$169)
- (i32.const 4101)
+ (set_local $$174
+ (get_local $$173)
+ )
+ (set_local $$175
+ (i32.load
+ (get_local $$174)
)
)
- (set_local $$a$1
- (get_local $$cond354)
+ (i32.store
+ (get_local $$wc)
+ (get_local $$172)
)
- (set_local $label
- (i32.const 82)
+ (i32.store
+ (get_local $$arrayidx370)
+ (i32.const 0)
)
- (br $switch$24)
- )
- )
- (block
- (set_local $$170
- (get_local $$arg)
- )
- (set_local $$171
- (get_local $$170)
- )
- (set_local $$172
- (i32.load
- (get_local $$171)
+ (i32.store
+ (get_local $$arg)
+ (get_local $$wc)
)
- )
- (set_local $$173
- (i32.add
- (get_local $$170)
- (i32.const 4)
+ (set_local $$p$4365
+ (i32.const -1)
)
- )
- (set_local $$174
- (get_local $$173)
- )
- (set_local $$175
- (i32.load
- (get_local $$174)
+ (set_local $label
+ (i32.const 86)
)
- )
- (i32.store
- (get_local $$wc)
- (get_local $$172)
- )
- (i32.store
- (get_local $$arrayidx370)
- (i32.const 0)
- )
- (i32.store
- (get_local $$arg)
- (get_local $$wc)
- )
- (set_local $$p$4365
- (i32.const -1)
- )
- (set_local $label
- (i32.const 86)
- )
- (br $switch$24)
- )
- )
- (block
- (set_local $$cmp377$314
- (i32.eq
- (get_local $$p$0)
- (i32.const 0)
+ (br $switch$24)
)
)
- (if
- (get_local $$cmp377$314)
- (block
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (i32.const 0)
- (get_local $$fl$1$and219)
- )
- (set_local $$i$0$lcssa368
+ (block
+ (set_local $$cmp377$314
+ (i32.eq
+ (get_local $$p$0)
(i32.const 0)
)
- (set_local $label
- (i32.const 98)
- )
)
- (block
- (set_local $$p$4365
- (get_local $$p$0)
+ (if
+ (get_local $$cmp377$314)
+ (block
+ (call $_pad
+ (get_local $$f)
+ (i32.const 32)
+ (get_local $$w$1)
+ (i32.const 0)
+ (get_local $$fl$1$and219)
+ )
+ (set_local $$i$0$lcssa368
+ (i32.const 0)
+ )
+ (set_local $label
+ (i32.const 98)
+ )
)
- (set_local $label
- (i32.const 86)
+ (block
+ (set_local $$p$4365
+ (get_local $$p$0)
+ )
+ (set_local $label
+ (i32.const 86)
+ )
)
)
+ (br $switch$24)
)
- (br $switch$24)
)
+ (nop)
)
(nop)
)
@@ -8923,2467 +8829,2425 @@
)
(nop)
)
- (nop)
- )
- (block
- (set_local $$181
- (f64.load
- (get_local $$arg)
+ (block
+ (set_local $$181
+ (f64.load
+ (get_local $$arg)
+ )
)
- )
- (i32.store
- (get_local $$e2$i)
- (i32.const 0)
- )
- (f64.store
- (i32.load
- (i32.const 24)
+ (i32.store
+ (get_local $$e2$i)
+ (i32.const 0)
)
- (get_local $$181)
- )
- (set_local $$182
- (i32.load
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $$181)
+ )
+ (set_local $$182
(i32.load
- (i32.const 24)
+ (get_global $tempDoublePtr)
)
)
- )
- (set_local $$183
- (i32.load
- (i32.add
- (i32.load
- (i32.const 24)
+ (set_local $$183
+ (i32.load
+ (i32.add
+ (get_global $tempDoublePtr)
+ (i32.const 4)
)
- (i32.const 4)
)
)
- )
- (set_local $$184
- (i32.lt_s
- (get_local $$183)
- (i32.const 0)
- )
- )
- (if
- (get_local $$184)
- (block
- (set_local $$sub$i
- (f64.neg
- (get_local $$181)
- )
- )
- (set_local $$pl$0$i
- (i32.const 1)
- )
- (set_local $$prefix$0$i
- (i32.const 4108)
- )
- (set_local $$y$addr$0$i
- (get_local $$sub$i)
+ (set_local $$184
+ (i32.lt_s
+ (get_local $$183)
+ (i32.const 0)
)
)
- (block
- (set_local $$and$i$238
- (i32.and
- (get_local $$fl$1$and219)
- (i32.const 2048)
+ (if
+ (get_local $$184)
+ (block
+ (set_local $$sub$i
+ (f64.neg
+ (get_local $$181)
+ )
)
- )
- (set_local $$tobool9$i
- (i32.eq
- (get_local $$and$i$238)
- (i32.const 0)
+ (set_local $$pl$0$i
+ (i32.const 1)
+ )
+ (set_local $$prefix$0$i
+ (i32.const 4108)
+ )
+ (set_local $$y$addr$0$i
+ (get_local $$sub$i)
)
)
- (if
- (get_local $$tobool9$i)
- (block
- (set_local $$and12$i
- (i32.and
- (get_local $$fl$1$and219)
- (i32.const 1)
- )
+ (block
+ (set_local $$and$i$238
+ (i32.and
+ (get_local $$fl$1$and219)
+ (i32.const 2048)
)
- (set_local $$tobool13$i
- (i32.eq
+ )
+ (set_local $$tobool9$i
+ (i32.eq
+ (get_local $$and$i$238)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool9$i)
+ (block
+ (set_local $$and12$i
+ (i32.and
+ (get_local $$fl$1$and219)
+ (i32.const 1)
+ )
+ )
+ (set_local $$tobool13$i
+ (i32.eq
+ (get_local $$and12$i)
+ (i32.const 0)
+ )
+ )
+ (set_local $$$$i
+ (if
+ (get_local $$tobool13$i)
+ (i32.const 4109)
+ (i32.const 4114)
+ )
+ )
+ (set_local $$pl$0$i
(get_local $$and12$i)
- (i32.const 0)
)
- )
- (set_local $$$$i
- (if
- (get_local $$tobool13$i)
- (i32.const 4109)
- (i32.const 4114)
+ (set_local $$prefix$0$i
+ (get_local $$$$i)
+ )
+ (set_local $$y$addr$0$i
+ (get_local $$181)
)
)
- (set_local $$pl$0$i
- (get_local $$and12$i)
- )
- (set_local $$prefix$0$i
- (get_local $$$$i)
- )
- (set_local $$y$addr$0$i
- (get_local $$181)
- )
- )
- (block
- (set_local $$pl$0$i
- (i32.const 1)
- )
- (set_local $$prefix$0$i
- (i32.const 4111)
- )
- (set_local $$y$addr$0$i
- (get_local $$181)
+ (block
+ (set_local $$pl$0$i
+ (i32.const 1)
+ )
+ (set_local $$prefix$0$i
+ (i32.const 4111)
+ )
+ (set_local $$y$addr$0$i
+ (get_local $$181)
+ )
)
)
)
)
- )
- (f64.store
- (i32.load
- (i32.const 24)
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $$y$addr$0$i)
)
- (get_local $$y$addr$0$i)
- )
- (set_local $$185
- (i32.load
+ (set_local $$185
(i32.load
- (i32.const 24)
+ (get_global $tempDoublePtr)
)
)
- )
- (set_local $$186
- (i32.load
- (i32.add
- (i32.load
- (i32.const 24)
+ (set_local $$186
+ (i32.load
+ (i32.add
+ (get_global $tempDoublePtr)
+ (i32.const 4)
)
- (i32.const 4)
)
)
- )
- (set_local $$187
- (i32.and
- (get_local $$186)
- (i32.const 2146435072)
+ (set_local $$187
+ (i32.and
+ (get_local $$186)
+ (i32.const 2146435072)
+ )
)
- )
- (set_local $$188
- (i32.lt_u
- (get_local $$187)
- (i32.const 2146435072)
+ (set_local $$188
+ (i32.lt_u
+ (get_local $$187)
+ (i32.const 2146435072)
+ )
)
- )
- (set_local $$189
- (i32.lt_s
- (i32.const 0)
- (i32.const 0)
+ (set_local $$189
+ (i32.lt_s
+ (i32.const 0)
+ (i32.const 0)
+ )
)
- )
- (set_local $$190
- (i32.eq
- (get_local $$187)
- (i32.const 2146435072)
+ (set_local $$190
+ (i32.eq
+ (get_local $$187)
+ (i32.const 2146435072)
+ )
)
- )
- (set_local $$191
- (i32.and
- (get_local $$190)
- (get_local $$189)
+ (set_local $$191
+ (i32.and
+ (get_local $$190)
+ (get_local $$189)
+ )
)
- )
- (set_local $$192
- (i32.or
- (get_local $$188)
- (get_local $$191)
+ (set_local $$192
+ (i32.or
+ (get_local $$188)
+ (get_local $$191)
+ )
)
- )
- (block $do-once$56
- (if
- (get_local $$192)
- (block
- (set_local $$call55$i
- (call $_frexpl
- (get_local $$y$addr$0$i)
- (get_local $$e2$i)
+ (block $do-once$56
+ (if
+ (get_local $$192)
+ (block
+ (set_local $$call55$i
+ (call $_frexpl
+ (get_local $$y$addr$0$i)
+ (get_local $$e2$i)
+ )
)
- )
- (set_local $$mul$i$240
- (f64.mul
- (get_local $$call55$i)
- (f64.const 2)
+ (set_local $$mul$i$240
+ (f64.mul
+ (get_local $$call55$i)
+ (f64.const 2)
+ )
)
- )
- (set_local $$tobool56$i
- (f64.ne
- (get_local $$mul$i$240)
- (f64.const 0)
+ (set_local $$tobool56$i
+ (f64.ne
+ (get_local $$mul$i$240)
+ (f64.const 0)
+ )
)
- )
- (if
- (get_local $$tobool56$i)
- (block
- (set_local $$195
- (i32.load
- (get_local $$e2$i)
+ (if
+ (get_local $$tobool56$i)
+ (block
+ (set_local $$195
+ (i32.load
+ (get_local $$e2$i)
+ )
)
- )
- (set_local $$dec$i
- (i32.add
- (get_local $$195)
- (i32.const -1)
+ (set_local $$dec$i
+ (i32.add
+ (get_local $$195)
+ (i32.const -1)
+ )
+ )
+ (i32.store
+ (get_local $$e2$i)
+ (get_local $$dec$i)
)
- )
- (i32.store
- (get_local $$e2$i)
- (get_local $$dec$i)
)
)
- )
- (set_local $$or$i$241
- (i32.or
- (get_local $$t$0)
- (i32.const 32)
- )
- )
- (set_local $$cmp59$i
- (i32.eq
- (get_local $$or$i$241)
- (i32.const 97)
+ (set_local $$or$i$241
+ (i32.or
+ (get_local $$t$0)
+ (i32.const 32)
+ )
)
- )
- (if
- (get_local $$cmp59$i)
- (block
- (set_local $$and62$i
- (i32.and
- (get_local $$t$0)
- (i32.const 32)
- )
+ (set_local $$cmp59$i
+ (i32.eq
+ (get_local $$or$i$241)
+ (i32.const 97)
)
- (set_local $$tobool63$i
- (i32.eq
- (get_local $$and62$i)
- (i32.const 0)
+ )
+ (if
+ (get_local $$cmp59$i)
+ (block
+ (set_local $$and62$i
+ (i32.and
+ (get_local $$t$0)
+ (i32.const 32)
+ )
)
- )
- (set_local $$add$ptr65$i
- (i32.add
- (get_local $$prefix$0$i)
- (i32.const 9)
+ (set_local $$tobool63$i
+ (i32.eq
+ (get_local $$and62$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$prefix$0$add$ptr65$i
- (if
- (get_local $$tobool63$i)
- (get_local $$prefix$0$i)
- (get_local $$add$ptr65$i)
+ (set_local $$add$ptr65$i
+ (i32.add
+ (get_local $$prefix$0$i)
+ (i32.const 9)
+ )
)
- )
- (set_local $$add67$i
- (i32.or
- (get_local $$pl$0$i)
- (i32.const 2)
+ (set_local $$prefix$0$add$ptr65$i
+ (if
+ (get_local $$tobool63$i)
+ (get_local $$prefix$0$i)
+ (get_local $$add$ptr65$i)
+ )
)
- )
- (set_local $$196
- (i32.gt_u
- (get_local $$p$0)
- (i32.const 11)
+ (set_local $$add67$i
+ (i32.or
+ (get_local $$pl$0$i)
+ (i32.const 2)
+ )
)
- )
- (set_local $$sub74$i
- (i32.sub
- (i32.const 12)
- (get_local $$p$0)
+ (set_local $$196
+ (i32.gt_u
+ (get_local $$p$0)
+ (i32.const 11)
+ )
)
- )
- (set_local $$tobool76552$i
- (i32.eq
- (get_local $$sub74$i)
- (i32.const 0)
+ (set_local $$sub74$i
+ (i32.sub
+ (i32.const 12)
+ (get_local $$p$0)
+ )
)
- )
- (set_local $$tobool76$i
- (i32.or
- (get_local $$196)
- (get_local $$tobool76552$i)
+ (set_local $$tobool76552$i
+ (i32.eq
+ (get_local $$sub74$i)
+ (i32.const 0)
+ )
)
- )
- (block $do-once$58
- (if
- (get_local $$tobool76$i)
- (set_local $$y$addr$1$i
- (get_local $$mul$i$240)
+ (set_local $$tobool76$i
+ (i32.or
+ (get_local $$196)
+ (get_local $$tobool76552$i)
)
- (block
- (set_local $$re$1482$i
- (get_local $$sub74$i)
- )
- (set_local $$round$0481$i
- (f64.const 8)
+ )
+ (block $do-once$58
+ (if
+ (get_local $$tobool76$i)
+ (set_local $$y$addr$1$i
+ (get_local $$mul$i$240)
)
- (loop $while-out$60 $while-in$61
- (set_local $$dec78$i
- (i32.add
- (get_local $$re$1482$i)
- (i32.const -1)
- )
- )
- (set_local $$mul80$i
- (f64.mul
- (get_local $$round$0481$i)
- (f64.const 16)
- )
+ (block
+ (set_local $$re$1482$i
+ (get_local $$sub74$i)
)
- (set_local $$tobool79$i
- (i32.eq
- (get_local $$dec78$i)
- (i32.const 0)
- )
+ (set_local $$round$0481$i
+ (f64.const 8)
)
- (if
- (get_local $$tobool79$i)
- (block
- (set_local $$mul80$i$lcssa
- (get_local $$mul80$i)
+ (loop $while-in$61
+ (block $while-out$60
+ (set_local $$dec78$i
+ (i32.add
+ (get_local $$re$1482$i)
+ (i32.const -1)
+ )
)
- (br $while-out$60)
- )
- (block
- (set_local $$re$1482$i
- (get_local $$dec78$i)
+ (set_local $$mul80$i
+ (f64.mul
+ (get_local $$round$0481$i)
+ (f64.const 16)
+ )
+ )
+ (set_local $$tobool79$i
+ (i32.eq
+ (get_local $$dec78$i)
+ (i32.const 0)
+ )
)
- (set_local $$round$0481$i
- (get_local $$mul80$i)
+ (if
+ (get_local $$tobool79$i)
+ (block
+ (set_local $$mul80$i$lcssa
+ (get_local $$mul80$i)
+ )
+ (br $while-out$60)
+ )
+ (block
+ (set_local $$re$1482$i
+ (get_local $$dec78$i)
+ )
+ (set_local $$round$0481$i
+ (get_local $$mul80$i)
+ )
+ )
)
+ (br $while-in$61)
)
)
- (br $while-in$61)
- )
- (set_local $$197
- (i32.load8_s
- (get_local $$prefix$0$add$ptr65$i)
+ (set_local $$197
+ (i32.load8_s
+ (get_local $$prefix$0$add$ptr65$i)
+ )
)
- )
- (set_local $$cmp82$i
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$197)
+ (set_local $$cmp82$i
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$197)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 45)
)
- (i32.const 45)
)
- )
- (if
- (get_local $$cmp82$i)
- (block
- (set_local $$sub85$i
- (f64.neg
- (get_local $$mul$i$240)
+ (if
+ (get_local $$cmp82$i)
+ (block
+ (set_local $$sub85$i
+ (f64.neg
+ (get_local $$mul$i$240)
+ )
)
- )
- (set_local $$sub86$i
- (f64.sub
- (get_local $$sub85$i)
- (get_local $$mul80$i$lcssa)
+ (set_local $$sub86$i
+ (f64.sub
+ (get_local $$sub85$i)
+ (get_local $$mul80$i$lcssa)
+ )
)
- )
- (set_local $$add87$i
- (f64.add
- (get_local $$mul80$i$lcssa)
- (get_local $$sub86$i)
+ (set_local $$add87$i
+ (f64.add
+ (get_local $$mul80$i$lcssa)
+ (get_local $$sub86$i)
+ )
)
- )
- (set_local $$sub88$i
- (f64.neg
- (get_local $$add87$i)
+ (set_local $$sub88$i
+ (f64.neg
+ (get_local $$add87$i)
+ )
)
- )
- (set_local $$y$addr$1$i
- (get_local $$sub88$i)
- )
- (br $do-once$58)
- )
- (block
- (set_local $$add90$i
- (f64.add
- (get_local $$mul$i$240)
- (get_local $$mul80$i$lcssa)
+ (set_local $$y$addr$1$i
+ (get_local $$sub88$i)
)
+ (br $do-once$58)
)
- (set_local $$sub91$i
- (f64.sub
- (get_local $$add90$i)
- (get_local $$mul80$i$lcssa)
+ (block
+ (set_local $$add90$i
+ (f64.add
+ (get_local $$mul$i$240)
+ (get_local $$mul80$i$lcssa)
+ )
)
+ (set_local $$sub91$i
+ (f64.sub
+ (get_local $$add90$i)
+ (get_local $$mul80$i$lcssa)
+ )
+ )
+ (set_local $$y$addr$1$i
+ (get_local $$sub91$i)
+ )
+ (br $do-once$58)
)
- (set_local $$y$addr$1$i
- (get_local $$sub91$i)
- )
- (br $do-once$58)
)
)
)
)
- )
- (set_local $$198
- (i32.load
- (get_local $$e2$i)
+ (set_local $$198
+ (i32.load
+ (get_local $$e2$i)
+ )
)
- )
- (set_local $$cmp94$i
- (i32.lt_s
- (get_local $$198)
- (i32.const 0)
+ (set_local $$cmp94$i
+ (i32.lt_s
+ (get_local $$198)
+ (i32.const 0)
+ )
)
- )
- (set_local $$sub97$i
- (i32.sub
- (i32.const 0)
- (get_local $$198)
+ (set_local $$sub97$i
+ (i32.sub
+ (i32.const 0)
+ (get_local $$198)
+ )
)
- )
- (set_local $$cond100$i
- (if
- (get_local $$cmp94$i)
- (get_local $$sub97$i)
- (get_local $$198)
+ (set_local $$cond100$i
+ (if
+ (get_local $$cmp94$i)
+ (get_local $$sub97$i)
+ (get_local $$198)
+ )
)
- )
- (set_local $$199
- (i32.lt_s
- (get_local $$cond100$i)
- (i32.const 0)
+ (set_local $$199
+ (i32.lt_s
+ (get_local $$cond100$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$200
- (i32.shr_s
- (i32.shl
- (get_local $$199)
+ (set_local $$200
+ (i32.shr_s
+ (i32.shl
+ (get_local $$199)
+ (i32.const 31)
+ )
(i32.const 31)
)
- (i32.const 31)
)
- )
- (set_local $$201
- (call $_fmt_u
- (get_local $$cond100$i)
- (get_local $$200)
- (get_local $$arrayidx$i$236)
+ (set_local $$201
+ (call $_fmt_u
+ (get_local $$cond100$i)
+ (get_local $$200)
+ (get_local $$arrayidx$i$236)
+ )
)
- )
- (set_local $$cmp103$i
- (i32.eq
- (get_local $$201)
- (get_local $$arrayidx$i$236)
+ (set_local $$cmp103$i
+ (i32.eq
+ (get_local $$201)
+ (get_local $$arrayidx$i$236)
+ )
)
- )
- (if
- (get_local $$cmp103$i)
- (block
- (i32.store8
- (get_local $$incdec$ptr106$i)
- (i32.const 48)
+ (if
+ (get_local $$cmp103$i)
+ (block
+ (i32.store8
+ (get_local $$incdec$ptr106$i)
+ (i32.const 48)
+ )
+ (set_local $$estr$0$i
+ (get_local $$incdec$ptr106$i)
+ )
)
(set_local $$estr$0$i
- (get_local $$incdec$ptr106$i)
+ (get_local $$201)
)
)
- (set_local $$estr$0$i
- (get_local $$201)
- )
- )
- (set_local $$202
- (i32.shr_s
- (get_local $$198)
- (i32.const 31)
- )
- )
- (set_local $$203
- (i32.and
- (get_local $$202)
- (i32.const 2)
- )
- )
- (set_local $$204
- (i32.add
- (get_local $$203)
- (i32.const 43)
- )
- )
- (set_local $$conv111$i
- (i32.and
- (get_local $$204)
- (i32.const 255)
- )
- )
- (set_local $$incdec$ptr112$i
- (i32.add
- (get_local $$estr$0$i)
- (i32.const -1)
- )
- )
- (i32.store8
- (get_local $$incdec$ptr112$i)
- (get_local $$conv111$i)
- )
- (set_local $$add113$i
- (i32.add
- (get_local $$t$0)
- (i32.const 15)
- )
- )
- (set_local $$conv114$i
- (i32.and
- (get_local $$add113$i)
- (i32.const 255)
- )
- )
- (set_local $$incdec$ptr115$i
- (i32.add
- (get_local $$estr$0$i)
- (i32.const -2)
- )
- )
- (i32.store8
- (get_local $$incdec$ptr115$i)
- (get_local $$conv114$i)
- )
- (set_local $$notrhs$i
- (i32.lt_s
- (get_local $$p$0)
- (i32.const 1)
- )
- )
- (set_local $$and134$i
- (i32.and
- (get_local $$fl$1$and219)
- (i32.const 8)
- )
- )
- (set_local $$tobool135$i
- (i32.eq
- (get_local $$and134$i)
- (i32.const 0)
- )
- )
- (set_local $$s$0$i
- (get_local $$buf$i)
- )
- (set_local $$y$addr$2$i
- (get_local $$y$addr$1$i)
- )
- (loop $while-out$62 $while-in$63
- (set_local $$conv116$i
- (i32.trunc_s/f64
- (get_local $$y$addr$2$i)
+ (set_local $$202
+ (i32.shr_s
+ (get_local $$198)
+ (i32.const 31)
)
)
- (set_local $$arrayidx117$i
- (i32.add
- (i32.const 4075)
- (get_local $$conv116$i)
+ (set_local $$203
+ (i32.and
+ (get_local $$202)
+ (i32.const 2)
)
)
- (set_local $$205
- (i32.load8_s
- (get_local $$arrayidx117$i)
+ (set_local $$204
+ (i32.add
+ (get_local $$203)
+ (i32.const 43)
)
)
- (set_local $$conv118$393$i
+ (set_local $$conv111$i
(i32.and
- (get_local $$205)
+ (get_local $$204)
(i32.const 255)
)
)
- (set_local $$or120$i
- (i32.or
- (get_local $$conv118$393$i)
- (get_local $$and62$i)
+ (set_local $$incdec$ptr112$i
+ (i32.add
+ (get_local $$estr$0$i)
+ (i32.const -1)
+ )
+ )
+ (i32.store8
+ (get_local $$incdec$ptr112$i)
+ (get_local $$conv111$i)
+ )
+ (set_local $$add113$i
+ (i32.add
+ (get_local $$t$0)
+ (i32.const 15)
)
)
- (set_local $$conv121$i
+ (set_local $$conv114$i
(i32.and
- (get_local $$or120$i)
+ (get_local $$add113$i)
(i32.const 255)
)
)
- (set_local $$incdec$ptr122$i
+ (set_local $$incdec$ptr115$i
(i32.add
- (get_local $$s$0$i)
- (i32.const 1)
+ (get_local $$estr$0$i)
+ (i32.const -2)
)
)
(i32.store8
- (get_local $$s$0$i)
- (get_local $$conv121$i)
+ (get_local $$incdec$ptr115$i)
+ (get_local $$conv114$i)
)
- (set_local $$conv123$i
- (f64.convert_s/i32
- (get_local $$conv116$i)
+ (set_local $$notrhs$i
+ (i32.lt_s
+ (get_local $$p$0)
+ (i32.const 1)
)
)
- (set_local $$sub124$i
- (f64.sub
- (get_local $$y$addr$2$i)
- (get_local $$conv123$i)
+ (set_local $$and134$i
+ (i32.and
+ (get_local $$fl$1$and219)
+ (i32.const 8)
)
)
- (set_local $$mul125$i
- (f64.mul
- (get_local $$sub124$i)
- (f64.const 16)
+ (set_local $$tobool135$i
+ (i32.eq
+ (get_local $$and134$i)
+ (i32.const 0)
)
)
- (set_local $$sub$ptr$lhs$cast$i
- (get_local $$incdec$ptr122$i)
- )
- (set_local $$sub$ptr$sub$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast$i)
- (get_local $$sub$ptr$rhs$cast$i)
- )
+ (set_local $$s$0$i
+ (get_local $$buf$i)
)
- (set_local $$cmp127$i
- (i32.eq
- (get_local $$sub$ptr$sub$i)
- (i32.const 1)
- )
+ (set_local $$y$addr$2$i
+ (get_local $$y$addr$1$i)
)
- (block $do-once$64
- (if
- (get_local $$cmp127$i)
- (block
- (set_local $$notlhs$i
- (f64.eq
- (get_local $$mul125$i)
- (f64.const 0)
- )
+ (loop $while-in$63
+ (block $while-out$62
+ (set_local $$conv116$i
+ (i32.trunc_s/f64
+ (get_local $$y$addr$2$i)
)
- (set_local $$or$cond1$not$i
- (i32.and
- (get_local $$notrhs$i)
- (get_local $$notlhs$i)
- )
+ )
+ (set_local $$arrayidx117$i
+ (i32.add
+ (i32.const 4075)
+ (get_local $$conv116$i)
)
- (set_local $$or$cond$i
- (i32.and
- (get_local $$tobool135$i)
- (get_local $$or$cond1$not$i)
- )
+ )
+ (set_local $$205
+ (i32.load8_s
+ (get_local $$arrayidx117$i)
+ )
+ )
+ (set_local $$conv118$393$i
+ (i32.and
+ (get_local $$205)
+ (i32.const 255)
+ )
+ )
+ (set_local $$or120$i
+ (i32.or
+ (get_local $$conv118$393$i)
+ (get_local $$and62$i)
)
+ )
+ (set_local $$conv121$i
+ (i32.and
+ (get_local $$or120$i)
+ (i32.const 255)
+ )
+ )
+ (set_local $$incdec$ptr122$i
+ (i32.add
+ (get_local $$s$0$i)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (get_local $$s$0$i)
+ (get_local $$conv121$i)
+ )
+ (set_local $$conv123$i
+ (f64.convert_s/i32
+ (get_local $$conv116$i)
+ )
+ )
+ (set_local $$sub124$i
+ (f64.sub
+ (get_local $$y$addr$2$i)
+ (get_local $$conv123$i)
+ )
+ )
+ (set_local $$mul125$i
+ (f64.mul
+ (get_local $$sub124$i)
+ (f64.const 16)
+ )
+ )
+ (set_local $$sub$ptr$lhs$cast$i
+ (get_local $$incdec$ptr122$i)
+ )
+ (set_local $$sub$ptr$sub$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast$i)
+ (get_local $$sub$ptr$rhs$cast$i)
+ )
+ )
+ (set_local $$cmp127$i
+ (i32.eq
+ (get_local $$sub$ptr$sub$i)
+ (i32.const 1)
+ )
+ )
+ (block $do-once$64
(if
- (get_local $$or$cond$i)
+ (get_local $$cmp127$i)
(block
- (set_local $$s$1$i
+ (set_local $$notlhs$i
+ (f64.eq
+ (get_local $$mul125$i)
+ (f64.const 0)
+ )
+ )
+ (set_local $$or$cond1$not$i
+ (i32.and
+ (get_local $$notrhs$i)
+ (get_local $$notlhs$i)
+ )
+ )
+ (set_local $$or$cond$i
+ (i32.and
+ (get_local $$tobool135$i)
+ (get_local $$or$cond1$not$i)
+ )
+ )
+ (if
+ (get_local $$or$cond$i)
+ (block
+ (set_local $$s$1$i
+ (get_local $$incdec$ptr122$i)
+ )
+ (br $do-once$64)
+ )
+ )
+ (set_local $$incdec$ptr137$i
+ (i32.add
+ (get_local $$s$0$i)
+ (i32.const 2)
+ )
+ )
+ (i32.store8
(get_local $$incdec$ptr122$i)
+ (i32.const 46)
+ )
+ (set_local $$s$1$i
+ (get_local $$incdec$ptr137$i)
)
- (br $do-once$64)
)
- )
- (set_local $$incdec$ptr137$i
- (i32.add
- (get_local $$s$0$i)
- (i32.const 2)
+ (set_local $$s$1$i
+ (get_local $$incdec$ptr122$i)
)
)
- (i32.store8
- (get_local $$incdec$ptr122$i)
- (i32.const 46)
- )
- (set_local $$s$1$i
- (get_local $$incdec$ptr137$i)
+ )
+ (set_local $$tobool139$i
+ (f64.ne
+ (get_local $$mul125$i)
+ (f64.const 0)
)
)
- (set_local $$s$1$i
- (get_local $$incdec$ptr122$i)
+ (if
+ (get_local $$tobool139$i)
+ (block
+ (set_local $$s$0$i
+ (get_local $$s$1$i)
+ )
+ (set_local $$y$addr$2$i
+ (get_local $$mul125$i)
+ )
+ )
+ (block
+ (set_local $$s$1$i$lcssa
+ (get_local $$s$1$i)
+ )
+ (br $while-out$62)
+ )
)
+ (br $while-in$63)
)
)
- (set_local $$tobool139$i
- (f64.ne
- (get_local $$mul125$i)
- (f64.const 0)
+ (set_local $$tobool140$i
+ (i32.ne
+ (get_local $$p$0)
+ (i32.const 0)
)
)
- (if
- (get_local $$tobool139$i)
- (block
- (set_local $$s$0$i
- (get_local $$s$1$i)
- )
- (set_local $$y$addr$2$i
- (get_local $$mul125$i)
- )
- )
- (block
- (set_local $$s$1$i$lcssa
- (get_local $$s$1$i)
- )
- (br $while-out$62)
+ (set_local $$$pre566$i
+ (get_local $$s$1$i$lcssa)
+ )
+ (set_local $$sub146$i
+ (i32.add
+ (get_local $$sub$ptr$sub145$i)
+ (get_local $$$pre566$i)
)
)
- (br $while-in$63)
- )
- (set_local $$tobool140$i
- (i32.ne
- (get_local $$p$0)
- (i32.const 0)
+ (set_local $$cmp147$i
+ (i32.lt_s
+ (get_local $$sub146$i)
+ (get_local $$p$0)
+ )
)
- )
- (set_local $$$pre566$i
- (get_local $$s$1$i$lcssa)
- )
- (set_local $$sub146$i
- (i32.add
- (get_local $$sub$ptr$sub145$i)
- (get_local $$$pre566$i)
+ (set_local $$or$cond384
+ (i32.and
+ (get_local $$tobool140$i)
+ (get_local $$cmp147$i)
+ )
)
- )
- (set_local $$cmp147$i
- (i32.lt_s
- (get_local $$sub146$i)
- (get_local $$p$0)
+ (set_local $$sub$ptr$rhs$cast152$i
+ (get_local $$incdec$ptr115$i)
)
- )
- (set_local $$or$cond384
- (i32.and
- (get_local $$tobool140$i)
- (get_local $$cmp147$i)
+ (set_local $$add150$i
+ (i32.add
+ (get_local $$sub$ptr$sub153$i)
+ (get_local $$p$0)
+ )
)
- )
- (set_local $$sub$ptr$rhs$cast152$i
- (get_local $$incdec$ptr115$i)
- )
- (set_local $$add150$i
- (i32.add
- (get_local $$sub$ptr$sub153$i)
- (get_local $$p$0)
+ (set_local $$add154$i
+ (i32.sub
+ (get_local $$add150$i)
+ (get_local $$sub$ptr$rhs$cast152$i)
+ )
)
- )
- (set_local $$add154$i
- (i32.sub
- (get_local $$add150$i)
- (get_local $$sub$ptr$rhs$cast152$i)
+ (set_local $$sub$ptr$rhs$cast161$i
+ (get_local $$incdec$ptr115$i)
)
- )
- (set_local $$sub$ptr$rhs$cast161$i
- (get_local $$incdec$ptr115$i)
- )
- (set_local $$sub$ptr$sub162$i
- (i32.sub
- (get_local $$sub$ptr$sub159$i)
- (get_local $$sub$ptr$rhs$cast161$i)
+ (set_local $$sub$ptr$sub162$i
+ (i32.sub
+ (get_local $$sub$ptr$sub159$i)
+ (get_local $$sub$ptr$rhs$cast161$i)
+ )
)
- )
- (set_local $$add163$i
- (i32.add
- (get_local $$sub$ptr$sub162$i)
- (get_local $$$pre566$i)
+ (set_local $$add163$i
+ (i32.add
+ (get_local $$sub$ptr$sub162$i)
+ (get_local $$$pre566$i)
+ )
)
- )
- (set_local $$l$0$i
- (if
- (get_local $$or$cond384)
- (get_local $$add154$i)
- (get_local $$add163$i)
+ (set_local $$l$0$i
+ (if
+ (get_local $$or$cond384)
+ (get_local $$add154$i)
+ (get_local $$add163$i)
+ )
)
- )
- (set_local $$add165$i
- (i32.add
- (get_local $$l$0$i)
- (get_local $$add67$i)
+ (set_local $$add165$i
+ (i32.add
+ (get_local $$l$0$i)
+ (get_local $$add67$i)
+ )
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (get_local $$add165$i)
- (get_local $$fl$1$and219)
- )
- (set_local $$206
- (i32.load
+ (call $_pad
(get_local $$f)
- )
- )
- (set_local $$and$i$418$i
- (i32.and
- (get_local $$206)
(i32.const 32)
+ (get_local $$w$1)
+ (get_local $$add165$i)
+ (get_local $$fl$1$and219)
)
- )
- (set_local $$tobool$i$419$i
- (i32.eq
- (get_local $$and$i$418$i)
- (i32.const 0)
+ (set_local $$206
+ (i32.load
+ (get_local $$f)
+ )
)
- )
- (if
- (get_local $$tobool$i$419$i)
- (call $___fwritex
- (get_local $$prefix$0$add$ptr65$i)
- (get_local $$add67$i)
- (get_local $$f)
+ (set_local $$and$i$418$i
+ (i32.and
+ (get_local $$206)
+ (i32.const 32)
+ )
)
- )
- (set_local $$xor167$i
- (i32.xor
- (get_local $$fl$1$and219)
- (i32.const 65536)
+ (set_local $$tobool$i$419$i
+ (i32.eq
+ (get_local $$and$i$418$i)
+ (i32.const 0)
+ )
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 48)
- (get_local $$w$1)
- (get_local $$add165$i)
- (get_local $$xor167$i)
- )
- (set_local $$sub$ptr$sub172$i
- (i32.sub
- (get_local $$$pre566$i)
- (get_local $$sub$ptr$rhs$cast$i)
+ (if
+ (get_local $$tobool$i$419$i)
+ (call $___fwritex
+ (get_local $$prefix$0$add$ptr65$i)
+ (get_local $$add67$i)
+ (get_local $$f)
+ )
)
- )
- (set_local $$207
- (i32.load
+ (set_local $$xor167$i
+ (i32.xor
+ (get_local $$fl$1$and219)
+ (i32.const 65536)
+ )
+ )
+ (call $_pad
(get_local $$f)
+ (i32.const 48)
+ (get_local $$w$1)
+ (get_local $$add165$i)
+ (get_local $$xor167$i)
)
- )
- (set_local $$and$i$424$i
- (i32.and
- (get_local $$207)
- (i32.const 32)
+ (set_local $$sub$ptr$sub172$i
+ (i32.sub
+ (get_local $$$pre566$i)
+ (get_local $$sub$ptr$rhs$cast$i)
+ )
)
- )
- (set_local $$tobool$i$425$i
- (i32.eq
- (get_local $$and$i$424$i)
- (i32.const 0)
+ (set_local $$207
+ (i32.load
+ (get_local $$f)
+ )
)
- )
- (if
- (get_local $$tobool$i$425$i)
- (call $___fwritex
- (get_local $$buf$i)
- (get_local $$sub$ptr$sub172$i)
- (get_local $$f)
+ (set_local $$and$i$424$i
+ (i32.and
+ (get_local $$207)
+ (i32.const 32)
+ )
)
- )
- (set_local $$sub$ptr$rhs$cast174$i
- (get_local $$incdec$ptr115$i)
- )
- (set_local $$sub$ptr$sub175$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast160$i)
- (get_local $$sub$ptr$rhs$cast174$i)
+ (set_local $$tobool$i$425$i
+ (i32.eq
+ (get_local $$and$i$424$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$sum
- (i32.add
- (get_local $$sub$ptr$sub172$i)
- (get_local $$sub$ptr$sub175$i)
+ (if
+ (get_local $$tobool$i$425$i)
+ (call $___fwritex
+ (get_local $$buf$i)
+ (get_local $$sub$ptr$sub172$i)
+ (get_local $$f)
+ )
)
- )
- (set_local $$sub181$i
- (i32.sub
- (get_local $$l$0$i)
- (get_local $$sum)
+ (set_local $$sub$ptr$rhs$cast174$i
+ (get_local $$incdec$ptr115$i)
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 48)
- (get_local $$sub181$i)
- (i32.const 0)
- (i32.const 0)
- )
- (set_local $$208
- (i32.load
- (get_local $$f)
+ (set_local $$sub$ptr$sub175$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast160$i)
+ (get_local $$sub$ptr$rhs$cast174$i)
+ )
)
- )
- (set_local $$and$i$430$i
- (i32.and
- (get_local $$208)
- (i32.const 32)
+ (set_local $$sum
+ (i32.add
+ (get_local $$sub$ptr$sub172$i)
+ (get_local $$sub$ptr$sub175$i)
+ )
)
- )
- (set_local $$tobool$i$431$i
- (i32.eq
- (get_local $$and$i$430$i)
- (i32.const 0)
+ (set_local $$sub181$i
+ (i32.sub
+ (get_local $$l$0$i)
+ (get_local $$sum)
+ )
)
- )
- (if
- (get_local $$tobool$i$431$i)
- (call $___fwritex
- (get_local $$incdec$ptr115$i)
- (get_local $$sub$ptr$sub175$i)
+ (call $_pad
(get_local $$f)
+ (i32.const 48)
+ (get_local $$sub181$i)
+ (i32.const 0)
+ (i32.const 0)
)
- )
- (set_local $$xor186$i
- (i32.xor
- (get_local $$fl$1$and219)
- (i32.const 8192)
+ (set_local $$208
+ (i32.load
+ (get_local $$f)
+ )
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (get_local $$add165$i)
- (get_local $$xor186$i)
- )
- (set_local $$cmp188$i
- (i32.lt_s
- (get_local $$add165$i)
- (get_local $$w$1)
+ (set_local $$and$i$430$i
+ (i32.and
+ (get_local $$208)
+ (i32.const 32)
+ )
+ )
+ (set_local $$tobool$i$431$i
+ (i32.eq
+ (get_local $$and$i$430$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$w$add165$i
(if
- (get_local $$cmp188$i)
+ (get_local $$tobool$i$431$i)
+ (call $___fwritex
+ (get_local $$incdec$ptr115$i)
+ (get_local $$sub$ptr$sub175$i)
+ (get_local $$f)
+ )
+ )
+ (set_local $$xor186$i
+ (i32.xor
+ (get_local $$fl$1$and219)
+ (i32.const 8192)
+ )
+ )
+ (call $_pad
+ (get_local $$f)
+ (i32.const 32)
(get_local $$w$1)
(get_local $$add165$i)
+ (get_local $$xor186$i)
+ )
+ (set_local $$cmp188$i
+ (i32.lt_s
+ (get_local $$add165$i)
+ (get_local $$w$1)
+ )
+ )
+ (set_local $$w$add165$i
+ (if
+ (get_local $$cmp188$i)
+ (get_local $$w$1)
+ (get_local $$add165$i)
+ )
+ )
+ (set_local $$retval$0$i
+ (get_local $$w$add165$i)
)
+ (br $do-once$56)
)
- (set_local $$retval$0$i
- (get_local $$w$add165$i)
+ )
+ (set_local $$cmp196$i
+ (i32.lt_s
+ (get_local $$p$0)
+ (i32.const 0)
)
- (br $do-once$56)
)
- )
- (set_local $$cmp196$i
- (i32.lt_s
- (get_local $$p$0)
- (i32.const 0)
+ (set_local $$$p$i
+ (if
+ (get_local $$cmp196$i)
+ (i32.const 6)
+ (get_local $$p$0)
+ )
)
- )
- (set_local $$$p$i
(if
- (get_local $$cmp196$i)
- (i32.const 6)
- (get_local $$p$0)
- )
- )
- (if
- (get_local $$tobool56$i)
- (block
- (set_local $$mul202$i
- (f64.mul
- (get_local $$mul$i$240)
- (f64.const 268435456)
+ (get_local $$tobool56$i)
+ (block
+ (set_local $$mul202$i
+ (f64.mul
+ (get_local $$mul$i$240)
+ (f64.const 268435456)
+ )
)
- )
- (set_local $$209
- (i32.load
- (get_local $$e2$i)
+ (set_local $$209
+ (i32.load
+ (get_local $$e2$i)
+ )
)
- )
- (set_local $$sub203$i
- (i32.add
- (get_local $$209)
- (i32.const -28)
+ (set_local $$sub203$i
+ (i32.add
+ (get_local $$209)
+ (i32.const -28)
+ )
)
- )
- (i32.store
- (get_local $$e2$i)
- (get_local $$sub203$i)
- )
- (set_local $$210
- (get_local $$sub203$i)
- )
- (set_local $$y$addr$3$i
- (get_local $$mul202$i)
- )
- )
- (block
- (set_local $$$pre564$i
- (i32.load
+ (i32.store
(get_local $$e2$i)
+ (get_local $$sub203$i)
+ )
+ (set_local $$210
+ (get_local $$sub203$i)
+ )
+ (set_local $$y$addr$3$i
+ (get_local $$mul202$i)
)
)
- (set_local $$210
- (get_local $$$pre564$i)
- )
- (set_local $$y$addr$3$i
- (get_local $$mul$i$240)
- )
- )
- )
- (set_local $$cmp205$i
- (i32.lt_s
- (get_local $$210)
- (i32.const 0)
- )
- )
- (set_local $$arraydecay208$add$ptr213$i
- (if
- (get_local $$cmp205$i)
- (get_local $$big$i)
- (get_local $$add$ptr213$i)
- )
- )
- (set_local $$sub$ptr$rhs$cast345$i
- (get_local $$arraydecay208$add$ptr213$i)
- )
- (set_local $$y$addr$4$i
- (get_local $$y$addr$3$i)
- )
- (set_local $$z$0$i
- (get_local $$arraydecay208$add$ptr213$i)
- )
- (loop $while-out$66 $while-in$67
- (set_local $$conv216$i
- (i32.trunc_s/f64
- (get_local $$y$addr$4$i)
+ (block
+ (set_local $$$pre564$i
+ (i32.load
+ (get_local $$e2$i)
+ )
+ )
+ (set_local $$210
+ (get_local $$$pre564$i)
+ )
+ (set_local $$y$addr$3$i
+ (get_local $$mul$i$240)
+ )
)
)
- (i32.store
- (get_local $$z$0$i)
- (get_local $$conv216$i)
- )
- (set_local $$incdec$ptr217$i
- (i32.add
- (get_local $$z$0$i)
- (i32.const 4)
+ (set_local $$cmp205$i
+ (i32.lt_s
+ (get_local $$210)
+ (i32.const 0)
)
)
- (set_local $$conv218$i
- (f64.convert_u/i32
- (get_local $$conv216$i)
+ (set_local $$arraydecay208$add$ptr213$i
+ (if
+ (get_local $$cmp205$i)
+ (get_local $$big$i)
+ (get_local $$add$ptr213$i)
)
)
- (set_local $$sub219$i
- (f64.sub
- (get_local $$y$addr$4$i)
- (get_local $$conv218$i)
- )
+ (set_local $$sub$ptr$rhs$cast345$i
+ (get_local $$arraydecay208$add$ptr213$i)
)
- (set_local $$mul220$i
- (f64.mul
- (get_local $$sub219$i)
- (f64.const 1e9)
- )
+ (set_local $$y$addr$4$i
+ (get_local $$y$addr$3$i)
)
- (set_local $$tobool222$i
- (f64.ne
- (get_local $$mul220$i)
- (f64.const 0)
- )
+ (set_local $$z$0$i
+ (get_local $$arraydecay208$add$ptr213$i)
)
- (if
- (get_local $$tobool222$i)
- (block
- (set_local $$y$addr$4$i
- (get_local $$mul220$i)
+ (loop $while-in$67
+ (block $while-out$66
+ (set_local $$conv216$i
+ (i32.trunc_s/f64
+ (get_local $$y$addr$4$i)
+ )
)
- (set_local $$z$0$i
- (get_local $$incdec$ptr217$i)
+ (i32.store
+ (get_local $$z$0$i)
+ (get_local $$conv216$i)
)
- )
- (block
- (set_local $$incdec$ptr217$i$lcssa
- (get_local $$incdec$ptr217$i)
+ (set_local $$incdec$ptr217$i
+ (i32.add
+ (get_local $$z$0$i)
+ (i32.const 4)
+ )
)
- (br $while-out$66)
- )
- )
- (br $while-in$67)
- )
- (set_local $$$pr$i
- (i32.load
- (get_local $$e2$i)
- )
- )
- (set_local $$cmp225$547$i
- (i32.gt_s
- (get_local $$$pr$i)
- (i32.const 0)
- )
- )
- (if
- (get_local $$cmp225$547$i)
- (block
- (set_local $$211
- (get_local $$$pr$i)
- )
- (set_local $$a$1549$i
- (get_local $$arraydecay208$add$ptr213$i)
- )
- (set_local $$z$1548$i
- (get_local $$incdec$ptr217$i$lcssa)
- )
- (loop $while-out$68 $while-in$69
- (set_local $$cmp228$i
- (i32.gt_s
- (get_local $$211)
- (i32.const 29)
+ (set_local $$conv218$i
+ (f64.convert_u/i32
+ (get_local $$conv216$i)
)
)
- (set_local $$cond233$i
- (if
- (get_local $$cmp228$i)
- (i32.const 29)
- (get_local $$211)
+ (set_local $$sub219$i
+ (f64.sub
+ (get_local $$y$addr$4$i)
+ (get_local $$conv218$i)
)
)
- (set_local $$d$0$542$i
- (i32.add
- (get_local $$z$1548$i)
- (i32.const -4)
+ (set_local $$mul220$i
+ (f64.mul
+ (get_local $$sub219$i)
+ (f64.const 1e9)
)
)
- (set_local $$cmp235$543$i
- (i32.lt_u
- (get_local $$d$0$542$i)
- (get_local $$a$1549$i)
+ (set_local $$tobool222$i
+ (f64.ne
+ (get_local $$mul220$i)
+ (f64.const 0)
)
)
- (block $do-once$70
- (if
- (get_local $$cmp235$543$i)
- (set_local $$a$2$ph$i
- (get_local $$a$1549$i)
+ (if
+ (get_local $$tobool222$i)
+ (block
+ (set_local $$y$addr$4$i
+ (get_local $$mul220$i)
)
- (block
- (set_local $$carry$0544$i
- (i32.const 0)
+ (set_local $$z$0$i
+ (get_local $$incdec$ptr217$i)
+ )
+ )
+ (block
+ (set_local $$incdec$ptr217$i$lcssa
+ (get_local $$incdec$ptr217$i)
+ )
+ (br $while-out$66)
+ )
+ )
+ (br $while-in$67)
+ )
+ )
+ (set_local $$$pr$i
+ (i32.load
+ (get_local $$e2$i)
+ )
+ )
+ (set_local $$cmp225$547$i
+ (i32.gt_s
+ (get_local $$$pr$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$cmp225$547$i)
+ (block
+ (set_local $$211
+ (get_local $$$pr$i)
+ )
+ (set_local $$a$1549$i
+ (get_local $$arraydecay208$add$ptr213$i)
+ )
+ (set_local $$z$1548$i
+ (get_local $$incdec$ptr217$i$lcssa)
+ )
+ (loop $while-in$69
+ (block $while-out$68
+ (set_local $$cmp228$i
+ (i32.gt_s
+ (get_local $$211)
+ (i32.const 29)
+ )
+ )
+ (set_local $$cond233$i
+ (if
+ (get_local $$cmp228$i)
+ (i32.const 29)
+ (get_local $$211)
+ )
+ )
+ (set_local $$d$0$542$i
+ (i32.add
+ (get_local $$z$1548$i)
+ (i32.const -4)
)
- (set_local $$d$0545$i
+ )
+ (set_local $$cmp235$543$i
+ (i32.lt_u
(get_local $$d$0$542$i)
+ (get_local $$a$1549$i)
)
- (loop $while-out$72 $while-in$73
- (set_local $$212
- (i32.load
- (get_local $$d$0545$i)
- )
+ )
+ (block $do-once$70
+ (if
+ (get_local $$cmp235$543$i)
+ (set_local $$a$2$ph$i
+ (get_local $$a$1549$i)
)
- (set_local $$213
- (call $_bitshift64Shl
- (get_local $$212)
+ (block
+ (set_local $$carry$0544$i
(i32.const 0)
- (get_local $$cond233$i)
)
- )
- (set_local $$214
- (i32.load
- (i32.const 168)
+ (set_local $$d$0545$i
+ (get_local $$d$0$542$i)
)
- )
- (set_local $$215
- (call $_i64Add
- (get_local $$213)
- (get_local $$214)
- (get_local $$carry$0544$i)
- (i32.const 0)
+ (loop $while-in$73
+ (block $while-out$72
+ (set_local $$212
+ (i32.load
+ (get_local $$d$0545$i)
+ )
+ )
+ (set_local $$213
+ (call $_bitshift64Shl
+ (get_local $$212)
+ (i32.const 0)
+ (get_local $$cond233$i)
+ )
+ )
+ (set_local $$214
+ (get_global $tempRet0)
+ )
+ (set_local $$215
+ (call $_i64Add
+ (get_local $$213)
+ (get_local $$214)
+ (get_local $$carry$0544$i)
+ (i32.const 0)
+ )
+ )
+ (set_local $$216
+ (get_global $tempRet0)
+ )
+ (set_local $$217
+ (call $___uremdi3
+ (get_local $$215)
+ (get_local $$216)
+ (i32.const 1000000000)
+ (i32.const 0)
+ )
+ )
+ (set_local $$218
+ (get_global $tempRet0)
+ )
+ (i32.store
+ (get_local $$d$0545$i)
+ (get_local $$217)
+ )
+ (set_local $$219
+ (call $___udivdi3
+ (get_local $$215)
+ (get_local $$216)
+ (i32.const 1000000000)
+ (i32.const 0)
+ )
+ )
+ (set_local $$220
+ (get_global $tempRet0)
+ )
+ (set_local $$d$0$i
+ (i32.add
+ (get_local $$d$0545$i)
+ (i32.const -4)
+ )
+ )
+ (set_local $$cmp235$i
+ (i32.lt_u
+ (get_local $$d$0$i)
+ (get_local $$a$1549$i)
+ )
+ )
+ (if
+ (get_local $$cmp235$i)
+ (block
+ (set_local $$conv242$i$lcssa
+ (get_local $$219)
+ )
+ (br $while-out$72)
+ )
+ (block
+ (set_local $$carry$0544$i
+ (get_local $$219)
+ )
+ (set_local $$d$0545$i
+ (get_local $$d$0$i)
+ )
+ )
+ )
+ (br $while-in$73)
+ )
)
- )
- (set_local $$216
- (i32.load
- (i32.const 168)
+ (set_local $$tobool244$i
+ (i32.eq
+ (get_local $$conv242$i$lcssa)
+ (i32.const 0)
+ )
)
- )
- (set_local $$217
- (call $___uremdi3
- (get_local $$215)
- (get_local $$216)
- (i32.const 1000000000)
- (i32.const 0)
+ (if
+ (get_local $$tobool244$i)
+ (block
+ (set_local $$a$2$ph$i
+ (get_local $$a$1549$i)
+ )
+ (br $do-once$70)
+ )
)
- )
- (set_local $$218
- (i32.load
- (i32.const 168)
+ (set_local $$incdec$ptr246$i
+ (i32.add
+ (get_local $$a$1549$i)
+ (i32.const -4)
+ )
+ )
+ (i32.store
+ (get_local $$incdec$ptr246$i)
+ (get_local $$conv242$i$lcssa)
+ )
+ (set_local $$a$2$ph$i
+ (get_local $$incdec$ptr246$i)
)
)
- (i32.store
- (get_local $$d$0545$i)
- (get_local $$217)
- )
- (set_local $$219
- (call $___udivdi3
- (get_local $$215)
- (get_local $$216)
- (i32.const 1000000000)
- (i32.const 0)
+ )
+ )
+ (set_local $$z$2$i
+ (get_local $$z$1548$i)
+ )
+ (loop $while-in$75
+ (block $while-out$74
+ (set_local $$cmp249$i
+ (i32.gt_u
+ (get_local $$z$2$i)
+ (get_local $$a$2$ph$i)
)
)
- (set_local $$220
- (i32.load
- (i32.const 168)
+ (if
+ (i32.eqz
+ (get_local $$cmp249$i)
+ )
+ (block
+ (set_local $$z$2$i$lcssa
+ (get_local $$z$2$i)
+ )
+ (br $while-out$74)
)
)
- (set_local $$d$0$i
+ (set_local $$arrayidx251$i
(i32.add
- (get_local $$d$0545$i)
+ (get_local $$z$2$i)
(i32.const -4)
)
)
- (set_local $$cmp235$i
- (i32.lt_u
- (get_local $$d$0$i)
- (get_local $$a$1549$i)
+ (set_local $$221
+ (i32.load
+ (get_local $$arrayidx251$i)
+ )
+ )
+ (set_local $$lnot$i
+ (i32.eq
+ (get_local $$221)
+ (i32.const 0)
)
)
(if
- (get_local $$cmp235$i)
- (block
- (set_local $$conv242$i$lcssa
- (get_local $$219)
- )
- (br $while-out$72)
+ (get_local $$lnot$i)
+ (set_local $$z$2$i
+ (get_local $$arrayidx251$i)
)
(block
- (set_local $$carry$0544$i
- (get_local $$219)
- )
- (set_local $$d$0545$i
- (get_local $$d$0$i)
+ (set_local $$z$2$i$lcssa
+ (get_local $$z$2$i)
)
+ (br $while-out$74)
)
)
- (br $while-in$73)
- )
- (set_local $$tobool244$i
- (i32.eq
- (get_local $$conv242$i$lcssa)
- (i32.const 0)
- )
- )
- (if
- (get_local $$tobool244$i)
- (block
- (set_local $$a$2$ph$i
- (get_local $$a$1549$i)
- )
- (br $do-once$70)
- )
- )
- (set_local $$incdec$ptr246$i
- (i32.add
- (get_local $$a$1549$i)
- (i32.const -4)
- )
- )
- (i32.store
- (get_local $$incdec$ptr246$i)
- (get_local $$conv242$i$lcssa)
+ (br $while-in$75)
)
- (set_local $$a$2$ph$i
- (get_local $$incdec$ptr246$i)
- )
- )
- )
- )
- (set_local $$z$2$i
- (get_local $$z$1548$i)
- )
- (loop $while-out$74 $while-in$75
- (set_local $$cmp249$i
- (i32.gt_u
- (get_local $$z$2$i)
- (get_local $$a$2$ph$i)
- )
- )
- (if
- (i32.eqz
- (get_local $$cmp249$i)
)
- (block
- (set_local $$z$2$i$lcssa
- (get_local $$z$2$i)
+ (set_local $$222
+ (i32.load
+ (get_local $$e2$i)
)
- (br $while-out$74)
)
- )
- (set_local $$arrayidx251$i
- (i32.add
- (get_local $$z$2$i)
- (i32.const -4)
- )
- )
- (set_local $$221
- (i32.load
- (get_local $$arrayidx251$i)
- )
- )
- (set_local $$lnot$i
- (i32.eq
- (get_local $$221)
- (i32.const 0)
- )
- )
- (if
- (get_local $$lnot$i)
- (set_local $$z$2$i
- (get_local $$arrayidx251$i)
- )
- (block
- (set_local $$z$2$i$lcssa
- (get_local $$z$2$i)
+ (set_local $$sub256$i
+ (i32.sub
+ (get_local $$222)
+ (get_local $$cond233$i)
)
- (br $while-out$74)
- )
- )
- (br $while-in$75)
- )
- (set_local $$222
- (i32.load
- (get_local $$e2$i)
- )
- )
- (set_local $$sub256$i
- (i32.sub
- (get_local $$222)
- (get_local $$cond233$i)
- )
- )
- (i32.store
- (get_local $$e2$i)
- (get_local $$sub256$i)
- )
- (set_local $$cmp225$i
- (i32.gt_s
- (get_local $$sub256$i)
- (i32.const 0)
- )
- )
- (if
- (get_local $$cmp225$i)
- (block
- (set_local $$211
- (get_local $$sub256$i)
- )
- (set_local $$a$1549$i
- (get_local $$a$2$ph$i)
- )
- (set_local $$z$1548$i
- (get_local $$z$2$i$lcssa)
)
- )
- (block
- (set_local $$$pr477$i
+ (i32.store
+ (get_local $$e2$i)
(get_local $$sub256$i)
)
- (set_local $$a$1$lcssa$i
- (get_local $$a$2$ph$i)
+ (set_local $$cmp225$i
+ (i32.gt_s
+ (get_local $$sub256$i)
+ (i32.const 0)
+ )
)
- (set_local $$z$1$lcssa$i
- (get_local $$z$2$i$lcssa)
+ (if
+ (get_local $$cmp225$i)
+ (block
+ (set_local $$211
+ (get_local $$sub256$i)
+ )
+ (set_local $$a$1549$i
+ (get_local $$a$2$ph$i)
+ )
+ (set_local $$z$1548$i
+ (get_local $$z$2$i$lcssa)
+ )
+ )
+ (block
+ (set_local $$$pr477$i
+ (get_local $$sub256$i)
+ )
+ (set_local $$a$1$lcssa$i
+ (get_local $$a$2$ph$i)
+ )
+ (set_local $$z$1$lcssa$i
+ (get_local $$z$2$i$lcssa)
+ )
+ (br $while-out$68)
+ )
)
- (br $while-out$68)
+ (br $while-in$69)
)
)
- (br $while-in$69)
- )
- )
- (block
- (set_local $$$pr477$i
- (get_local $$$pr$i)
- )
- (set_local $$a$1$lcssa$i
- (get_local $$arraydecay208$add$ptr213$i)
- )
- (set_local $$z$1$lcssa$i
- (get_local $$incdec$ptr217$i$lcssa)
- )
- )
- )
- (set_local $$cmp259$537$i
- (i32.lt_s
- (get_local $$$pr477$i)
- (i32.const 0)
- )
- )
- (if
- (get_local $$cmp259$537$i)
- (block
- (set_local $$add273$i
- (i32.add
- (get_local $$$p$i)
- (i32.const 25)
- )
)
- (set_local $$div274$i
- (i32.and
- (i32.div_s
- (get_local $$add273$i)
- (i32.const 9)
- )
- (i32.const -1)
+ (block
+ (set_local $$$pr477$i
+ (get_local $$$pr$i)
)
- )
- (set_local $$add275$i
- (i32.add
- (get_local $$div274$i)
- (i32.const 1)
+ (set_local $$a$1$lcssa$i
+ (get_local $$arraydecay208$add$ptr213$i)
)
- )
- (set_local $$cmp299$i
- (i32.eq
- (get_local $$or$i$241)
- (i32.const 102)
+ (set_local $$z$1$lcssa$i
+ (get_local $$incdec$ptr217$i$lcssa)
)
)
- (set_local $$223
+ )
+ (set_local $$cmp259$537$i
+ (i32.lt_s
(get_local $$$pr477$i)
+ (i32.const 0)
)
- (set_local $$a$3539$i
- (get_local $$a$1$lcssa$i)
- )
- (set_local $$z$3538$i
- (get_local $$z$1$lcssa$i)
- )
- (loop $while-out$76 $while-in$77
- (set_local $$sub264$i
- (i32.sub
- (i32.const 0)
- (get_local $$223)
+ )
+ (if
+ (get_local $$cmp259$537$i)
+ (block
+ (set_local $$add273$i
+ (i32.add
+ (get_local $$$p$i)
+ (i32.const 25)
)
)
- (set_local $$cmp265$i
- (i32.gt_s
- (get_local $$sub264$i)
- (i32.const 9)
+ (set_local $$div274$i
+ (i32.and
+ (i32.div_s
+ (get_local $$add273$i)
+ (i32.const 9)
+ )
+ (i32.const -1)
)
)
- (set_local $$cond271$i
- (if
- (get_local $$cmp265$i)
- (i32.const 9)
- (get_local $$sub264$i)
+ (set_local $$add275$i
+ (i32.add
+ (get_local $$div274$i)
+ (i32.const 1)
)
)
- (set_local $$cmp277$533$i
- (i32.lt_u
- (get_local $$a$3539$i)
- (get_local $$z$3538$i)
+ (set_local $$cmp299$i
+ (i32.eq
+ (get_local $$or$i$241)
+ (i32.const 102)
)
)
- (block $do-once$78
- (if
- (get_local $$cmp277$533$i)
- (block
- (set_local $$shl280$i
- (i32.shl
- (i32.const 1)
- (get_local $$cond271$i)
- )
- )
- (set_local $$sub281$i
- (i32.add
- (get_local $$shl280$i)
- (i32.const -1)
- )
+ (set_local $$223
+ (get_local $$$pr477$i)
+ )
+ (set_local $$a$3539$i
+ (get_local $$a$1$lcssa$i)
+ )
+ (set_local $$z$3538$i
+ (get_local $$z$1$lcssa$i)
+ )
+ (loop $while-in$77
+ (block $while-out$76
+ (set_local $$sub264$i
+ (i32.sub
+ (i32.const 0)
+ (get_local $$223)
)
- (set_local $$shr285$i
- (i32.shr_u
- (i32.const 1000000000)
- (get_local $$cond271$i)
- )
+ )
+ (set_local $$cmp265$i
+ (i32.gt_s
+ (get_local $$sub264$i)
+ (i32.const 9)
)
- (set_local $$carry262$0535$i
- (i32.const 0)
+ )
+ (set_local $$cond271$i
+ (if
+ (get_local $$cmp265$i)
+ (i32.const 9)
+ (get_local $$sub264$i)
)
- (set_local $$d$1534$i
+ )
+ (set_local $$cmp277$533$i
+ (i32.lt_u
(get_local $$a$3539$i)
+ (get_local $$z$3538$i)
)
- (loop $while-out$80 $while-in$81
- (set_local $$225
- (i32.load
- (get_local $$d$1534$i)
+ )
+ (block $do-once$78
+ (if
+ (get_local $$cmp277$533$i)
+ (block
+ (set_local $$shl280$i
+ (i32.shl
+ (i32.const 1)
+ (get_local $$cond271$i)
+ )
)
- )
- (set_local $$and282$i
- (i32.and
- (get_local $$225)
- (get_local $$sub281$i)
+ (set_local $$sub281$i
+ (i32.add
+ (get_local $$shl280$i)
+ (i32.const -1)
+ )
)
- )
- (set_local $$shr283$i
- (i32.shr_u
- (get_local $$225)
- (get_local $$cond271$i)
+ (set_local $$shr285$i
+ (i32.shr_u
+ (i32.const 1000000000)
+ (get_local $$cond271$i)
+ )
)
- )
- (set_local $$add284$i
- (i32.add
- (get_local $$shr283$i)
- (get_local $$carry262$0535$i)
+ (set_local $$carry262$0535$i
+ (i32.const 0)
)
- )
- (i32.store
- (get_local $$d$1534$i)
- (get_local $$add284$i)
- )
- (set_local $$mul286$i
- (i32.mul
- (get_local $$and282$i)
- (get_local $$shr285$i)
+ (set_local $$d$1534$i
+ (get_local $$a$3539$i)
)
- )
- (set_local $$incdec$ptr288$i
- (i32.add
- (get_local $$d$1534$i)
- (i32.const 4)
+ (loop $while-in$81
+ (block $while-out$80
+ (set_local $$225
+ (i32.load
+ (get_local $$d$1534$i)
+ )
+ )
+ (set_local $$and282$i
+ (i32.and
+ (get_local $$225)
+ (get_local $$sub281$i)
+ )
+ )
+ (set_local $$shr283$i
+ (i32.shr_u
+ (get_local $$225)
+ (get_local $$cond271$i)
+ )
+ )
+ (set_local $$add284$i
+ (i32.add
+ (get_local $$shr283$i)
+ (get_local $$carry262$0535$i)
+ )
+ )
+ (i32.store
+ (get_local $$d$1534$i)
+ (get_local $$add284$i)
+ )
+ (set_local $$mul286$i
+ (i32.mul
+ (get_local $$and282$i)
+ (get_local $$shr285$i)
+ )
+ )
+ (set_local $$incdec$ptr288$i
+ (i32.add
+ (get_local $$d$1534$i)
+ (i32.const 4)
+ )
+ )
+ (set_local $$cmp277$i
+ (i32.lt_u
+ (get_local $$incdec$ptr288$i)
+ (get_local $$z$3538$i)
+ )
+ )
+ (if
+ (get_local $$cmp277$i)
+ (block
+ (set_local $$carry262$0535$i
+ (get_local $$mul286$i)
+ )
+ (set_local $$d$1534$i
+ (get_local $$incdec$ptr288$i)
+ )
+ )
+ (block
+ (set_local $$mul286$i$lcssa
+ (get_local $$mul286$i)
+ )
+ (br $while-out$80)
+ )
+ )
+ (br $while-in$81)
+ )
)
- )
- (set_local $$cmp277$i
- (i32.lt_u
- (get_local $$incdec$ptr288$i)
+ (set_local $$226
+ (i32.load
+ (get_local $$a$3539$i)
+ )
+ )
+ (set_local $$tobool290$i
+ (i32.eq
+ (get_local $$226)
+ (i32.const 0)
+ )
+ )
+ (set_local $$incdec$ptr292$i
+ (i32.add
+ (get_local $$a$3539$i)
+ (i32.const 4)
+ )
+ )
+ (set_local $$incdec$ptr292$a$3$i
+ (if
+ (get_local $$tobool290$i)
+ (get_local $$incdec$ptr292$i)
+ (get_local $$a$3539$i)
+ )
+ )
+ (set_local $$tobool294$i
+ (i32.eq
+ (get_local $$mul286$i$lcssa)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool294$i)
+ (block
+ (set_local $$incdec$ptr292$a$3573$i
+ (get_local $$incdec$ptr292$a$3$i)
+ )
+ (set_local $$z$4$i
+ (get_local $$z$3538$i)
+ )
+ (br $do-once$78)
+ )
+ )
+ (set_local $$incdec$ptr296$i
+ (i32.add
+ (get_local $$z$3538$i)
+ (i32.const 4)
+ )
+ )
+ (i32.store
(get_local $$z$3538$i)
+ (get_local $$mul286$i$lcssa)
+ )
+ (set_local $$incdec$ptr292$a$3573$i
+ (get_local $$incdec$ptr292$a$3$i)
+ )
+ (set_local $$z$4$i
+ (get_local $$incdec$ptr296$i)
)
)
- (if
- (get_local $$cmp277$i)
- (block
- (set_local $$carry262$0535$i
- (get_local $$mul286$i)
+ (block
+ (set_local $$224
+ (i32.load
+ (get_local $$a$3539$i)
)
- (set_local $$d$1534$i
- (get_local $$incdec$ptr288$i)
+ )
+ (set_local $$tobool290$569$i
+ (i32.eq
+ (get_local $$224)
+ (i32.const 0)
)
)
- (block
- (set_local $$mul286$i$lcssa
- (get_local $$mul286$i)
+ (set_local $$incdec$ptr292$570$i
+ (i32.add
+ (get_local $$a$3539$i)
+ (i32.const 4)
+ )
+ )
+ (set_local $$incdec$ptr292$a$3$571$i
+ (if
+ (get_local $$tobool290$569$i)
+ (get_local $$incdec$ptr292$570$i)
+ (get_local $$a$3539$i)
)
- (br $while-out$80)
+ )
+ (set_local $$incdec$ptr292$a$3573$i
+ (get_local $$incdec$ptr292$a$3$571$i)
+ )
+ (set_local $$z$4$i
+ (get_local $$z$3538$i)
)
)
- (br $while-in$81)
)
- (set_local $$226
- (i32.load
- (get_local $$a$3539$i)
- )
+ )
+ (set_local $$cond304$i
+ (if
+ (get_local $$cmp299$i)
+ (get_local $$arraydecay208$add$ptr213$i)
+ (get_local $$incdec$ptr292$a$3573$i)
)
- (set_local $$tobool290$i
- (i32.eq
- (get_local $$226)
- (i32.const 0)
- )
+ )
+ (set_local $$sub$ptr$lhs$cast305$i
+ (get_local $$z$4$i)
+ )
+ (set_local $$sub$ptr$rhs$cast306$i
+ (get_local $$cond304$i)
+ )
+ (set_local $$sub$ptr$sub307$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast305$i)
+ (get_local $$sub$ptr$rhs$cast306$i)
)
- (set_local $$incdec$ptr292$i
- (i32.add
- (get_local $$a$3539$i)
- (i32.const 4)
- )
+ )
+ (set_local $$sub$ptr$div$i
+ (i32.shr_s
+ (get_local $$sub$ptr$sub307$i)
+ (i32.const 2)
)
- (set_local $$incdec$ptr292$a$3$i
- (if
- (get_local $$tobool290$i)
- (get_local $$incdec$ptr292$i)
- (get_local $$a$3539$i)
- )
+ )
+ (set_local $$cmp308$i
+ (i32.gt_s
+ (get_local $$sub$ptr$div$i)
+ (get_local $$add275$i)
)
- (set_local $$tobool294$i
- (i32.eq
- (get_local $$mul286$i$lcssa)
- (i32.const 0)
+ )
+ (set_local $$add$ptr311$i
+ (i32.add
+ (get_local $$cond304$i)
+ (i32.shl
+ (get_local $$add275$i)
+ (i32.const 2)
)
)
+ )
+ (set_local $$add$ptr311$z$4$i
(if
- (get_local $$tobool294$i)
- (block
- (set_local $$incdec$ptr292$a$3573$i
- (get_local $$incdec$ptr292$a$3$i)
- )
- (set_local $$z$4$i
- (get_local $$z$3538$i)
- )
- (br $do-once$78)
- )
+ (get_local $$cmp308$i)
+ (get_local $$add$ptr311$i)
+ (get_local $$z$4$i)
)
- (set_local $$incdec$ptr296$i
- (i32.add
- (get_local $$z$3538$i)
- (i32.const 4)
- )
- )
- (i32.store
- (get_local $$z$3538$i)
- (get_local $$mul286$i$lcssa)
+ )
+ (set_local $$227
+ (i32.load
+ (get_local $$e2$i)
)
- (set_local $$incdec$ptr292$a$3573$i
- (get_local $$incdec$ptr292$a$3$i)
+ )
+ (set_local $$add313$i
+ (i32.add
+ (get_local $$227)
+ (get_local $$cond271$i)
)
- (set_local $$z$4$i
- (get_local $$incdec$ptr296$i)
+ )
+ (i32.store
+ (get_local $$e2$i)
+ (get_local $$add313$i)
+ )
+ (set_local $$cmp259$i
+ (i32.lt_s
+ (get_local $$add313$i)
+ (i32.const 0)
)
)
- (block
- (set_local $$224
- (i32.load
- (get_local $$a$3539$i)
+ (if
+ (get_local $$cmp259$i)
+ (block
+ (set_local $$223
+ (get_local $$add313$i)
)
- )
- (set_local $$tobool290$569$i
- (i32.eq
- (get_local $$224)
- (i32.const 0)
+ (set_local $$a$3539$i
+ (get_local $$incdec$ptr292$a$3573$i)
)
- )
- (set_local $$incdec$ptr292$570$i
- (i32.add
- (get_local $$a$3539$i)
- (i32.const 4)
+ (set_local $$z$3538$i
+ (get_local $$add$ptr311$z$4$i)
)
)
- (set_local $$incdec$ptr292$a$3$571$i
- (if
- (get_local $$tobool290$569$i)
- (get_local $$incdec$ptr292$570$i)
- (get_local $$a$3539$i)
+ (block
+ (set_local $$a$3$lcssa$i
+ (get_local $$incdec$ptr292$a$3573$i)
)
- )
- (set_local $$incdec$ptr292$a$3573$i
- (get_local $$incdec$ptr292$a$3$571$i)
- )
- (set_local $$z$4$i
- (get_local $$z$3538$i)
+ (set_local $$z$3$lcssa$i
+ (get_local $$add$ptr311$z$4$i)
+ )
+ (br $while-out$76)
)
)
+ (br $while-in$77)
)
)
- (set_local $$cond304$i
- (if
- (get_local $$cmp299$i)
- (get_local $$arraydecay208$add$ptr213$i)
- (get_local $$incdec$ptr292$a$3573$i)
- )
- )
- (set_local $$sub$ptr$lhs$cast305$i
- (get_local $$z$4$i)
- )
- (set_local $$sub$ptr$rhs$cast306$i
- (get_local $$cond304$i)
- )
- (set_local $$sub$ptr$sub307$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast305$i)
- (get_local $$sub$ptr$rhs$cast306$i)
- )
- )
- (set_local $$sub$ptr$div$i
- (i32.shr_s
- (get_local $$sub$ptr$sub307$i)
- (i32.const 2)
- )
- )
- (set_local $$cmp308$i
- (i32.gt_s
- (get_local $$sub$ptr$div$i)
- (get_local $$add275$i)
- )
- )
- (set_local $$add$ptr311$i
- (i32.add
- (get_local $$cond304$i)
- (i32.shl
- (get_local $$add275$i)
- (i32.const 2)
- )
- )
- )
- (set_local $$add$ptr311$z$4$i
- (if
- (get_local $$cmp308$i)
- (get_local $$add$ptr311$i)
- (get_local $$z$4$i)
- )
- )
- (set_local $$227
- (i32.load
- (get_local $$e2$i)
- )
- )
- (set_local $$add313$i
- (i32.add
- (get_local $$227)
- (get_local $$cond271$i)
- )
- )
- (i32.store
- (get_local $$e2$i)
- (get_local $$add313$i)
- )
- (set_local $$cmp259$i
- (i32.lt_s
- (get_local $$add313$i)
- (i32.const 0)
- )
+ )
+ (block
+ (set_local $$a$3$lcssa$i
+ (get_local $$a$1$lcssa$i)
)
- (if
- (get_local $$cmp259$i)
- (block
- (set_local $$223
- (get_local $$add313$i)
- )
- (set_local $$a$3539$i
- (get_local $$incdec$ptr292$a$3573$i)
- )
- (set_local $$z$3538$i
- (get_local $$add$ptr311$z$4$i)
- )
- )
- (block
- (set_local $$a$3$lcssa$i
- (get_local $$incdec$ptr292$a$3573$i)
- )
- (set_local $$z$3$lcssa$i
- (get_local $$add$ptr311$z$4$i)
- )
- (br $while-out$76)
- )
+ (set_local $$z$3$lcssa$i
+ (get_local $$z$1$lcssa$i)
)
- (br $while-in$77)
)
)
- (block
- (set_local $$a$3$lcssa$i
- (get_local $$a$1$lcssa$i)
- )
- (set_local $$z$3$lcssa$i
- (get_local $$z$1$lcssa$i)
+ (set_local $$cmp315$i
+ (i32.lt_u
+ (get_local $$a$3$lcssa$i)
+ (get_local $$z$3$lcssa$i)
)
)
- )
- (set_local $$cmp315$i
- (i32.lt_u
- (get_local $$a$3$lcssa$i)
- (get_local $$z$3$lcssa$i)
- )
- )
- (block $do-once$82
- (if
- (get_local $$cmp315$i)
- (block
- (set_local $$sub$ptr$rhs$cast319$i
- (get_local $$a$3$lcssa$i)
- )
- (set_local $$sub$ptr$sub320$i
- (i32.sub
- (get_local $$sub$ptr$rhs$cast345$i)
- (get_local $$sub$ptr$rhs$cast319$i)
- )
- )
- (set_local $$sub$ptr$div321$i
- (i32.shr_s
- (get_local $$sub$ptr$sub320$i)
- (i32.const 2)
- )
- )
- (set_local $$mul322$i
- (i32.mul
- (get_local $$sub$ptr$div321$i)
- (i32.const 9)
- )
- )
- (set_local $$228
- (i32.load
+ (block $do-once$82
+ (if
+ (get_local $$cmp315$i)
+ (block
+ (set_local $$sub$ptr$rhs$cast319$i
(get_local $$a$3$lcssa$i)
)
- )
- (set_local $$cmp324$529$i
- (i32.lt_u
- (get_local $$228)
- (i32.const 10)
- )
- )
- (if
- (get_local $$cmp324$529$i)
- (block
- (set_local $$e$1$i
- (get_local $$mul322$i)
+ (set_local $$sub$ptr$sub320$i
+ (i32.sub
+ (get_local $$sub$ptr$rhs$cast345$i)
+ (get_local $$sub$ptr$rhs$cast319$i)
)
- (br $do-once$82)
)
- (block
- (set_local $$e$0531$i
- (get_local $$mul322$i)
- )
- (set_local $$i$0530$i
- (i32.const 10)
+ (set_local $$sub$ptr$div321$i
+ (i32.shr_s
+ (get_local $$sub$ptr$sub320$i)
+ (i32.const 2)
)
)
- )
- (loop $while-out$84 $while-in$85
- (set_local $$mul328$i
+ (set_local $$mul322$i
(i32.mul
- (get_local $$i$0530$i)
- (i32.const 10)
+ (get_local $$sub$ptr$div321$i)
+ (i32.const 9)
)
)
- (set_local $$inc$i
- (i32.add
- (get_local $$e$0531$i)
- (i32.const 1)
+ (set_local $$228
+ (i32.load
+ (get_local $$a$3$lcssa$i)
)
)
- (set_local $$cmp324$i
+ (set_local $$cmp324$529$i
(i32.lt_u
(get_local $$228)
- (get_local $$mul328$i)
+ (i32.const 10)
)
)
(if
- (get_local $$cmp324$i)
+ (get_local $$cmp324$529$i)
(block
(set_local $$e$1$i
- (get_local $$inc$i)
+ (get_local $$mul322$i)
)
- (br $while-out$84)
+ (br $do-once$82)
)
(block
(set_local $$e$0531$i
- (get_local $$inc$i)
+ (get_local $$mul322$i)
)
(set_local $$i$0530$i
- (get_local $$mul328$i)
+ (i32.const 10)
+ )
+ )
+ )
+ (loop $while-in$85
+ (block $while-out$84
+ (set_local $$mul328$i
+ (i32.mul
+ (get_local $$i$0530$i)
+ (i32.const 10)
+ )
+ )
+ (set_local $$inc$i
+ (i32.add
+ (get_local $$e$0531$i)
+ (i32.const 1)
+ )
+ )
+ (set_local $$cmp324$i
+ (i32.lt_u
+ (get_local $$228)
+ (get_local $$mul328$i)
+ )
+ )
+ (if
+ (get_local $$cmp324$i)
+ (block
+ (set_local $$e$1$i
+ (get_local $$inc$i)
+ )
+ (br $while-out$84)
+ )
+ (block
+ (set_local $$e$0531$i
+ (get_local $$inc$i)
+ )
+ (set_local $$i$0530$i
+ (get_local $$mul328$i)
+ )
+ )
)
+ (br $while-in$85)
)
)
- (br $while-in$85)
)
- )
- (set_local $$e$1$i
- (i32.const 0)
+ (set_local $$e$1$i
+ (i32.const 0)
+ )
)
)
- )
- (set_local $$cmp333$i
- (i32.ne
- (get_local $$or$i$241)
- (i32.const 102)
+ (set_local $$cmp333$i
+ (i32.ne
+ (get_local $$or$i$241)
+ (i32.const 102)
+ )
)
- )
- (set_local $$mul335$i
- (if
- (get_local $$cmp333$i)
- (get_local $$e$1$i)
- (i32.const 0)
+ (set_local $$mul335$i
+ (if
+ (get_local $$cmp333$i)
+ (get_local $$e$1$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$sub336$i
- (i32.sub
- (get_local $$$p$i)
- (get_local $$mul335$i)
+ (set_local $$sub336$i
+ (i32.sub
+ (get_local $$$p$i)
+ (get_local $$mul335$i)
+ )
)
- )
- (set_local $$cmp338$i
- (i32.eq
- (get_local $$or$i$241)
- (i32.const 103)
+ (set_local $$cmp338$i
+ (i32.eq
+ (get_local $$or$i$241)
+ (i32.const 103)
+ )
)
- )
- (set_local $$tobool341$i
- (i32.ne
- (get_local $$$p$i)
- (i32.const 0)
+ (set_local $$tobool341$i
+ (i32.ne
+ (get_local $$$p$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$229
- (i32.and
- (get_local $$tobool341$i)
- (get_local $$cmp338$i)
+ (set_local $$229
+ (i32.and
+ (get_local $$tobool341$i)
+ (get_local $$cmp338$i)
+ )
)
- )
- (set_local $$land$ext$neg$i
- (i32.shr_s
- (i32.shl
- (get_local $$229)
+ (set_local $$land$ext$neg$i
+ (i32.shr_s
+ (i32.shl
+ (get_local $$229)
+ (i32.const 31)
+ )
(i32.const 31)
)
- (i32.const 31)
)
- )
- (set_local $$sub343$i
- (i32.add
- (get_local $$sub336$i)
- (get_local $$land$ext$neg$i)
- )
- )
- (set_local $$sub$ptr$lhs$cast344$i
- (get_local $$z$3$lcssa$i)
- )
- (set_local $$sub$ptr$sub346$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast344$i)
- (get_local $$sub$ptr$rhs$cast345$i)
+ (set_local $$sub343$i
+ (i32.add
+ (get_local $$sub336$i)
+ (get_local $$land$ext$neg$i)
+ )
)
- )
- (set_local $$sub$ptr$div347$i
- (i32.shr_s
- (get_local $$sub$ptr$sub346$i)
- (i32.const 2)
+ (set_local $$sub$ptr$lhs$cast344$i
+ (get_local $$z$3$lcssa$i)
)
- )
- (set_local $$230
- (i32.mul
- (get_local $$sub$ptr$div347$i)
- (i32.const 9)
+ (set_local $$sub$ptr$sub346$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast344$i)
+ (get_local $$sub$ptr$rhs$cast345$i)
+ )
)
- )
- (set_local $$mul349$i
- (i32.add
- (get_local $$230)
- (i32.const -9)
+ (set_local $$sub$ptr$div347$i
+ (i32.shr_s
+ (get_local $$sub$ptr$sub346$i)
+ (i32.const 2)
+ )
)
- )
- (set_local $$cmp350$i
- (i32.lt_s
- (get_local $$sub343$i)
- (get_local $$mul349$i)
+ (set_local $$230
+ (i32.mul
+ (get_local $$sub$ptr$div347$i)
+ (i32.const 9)
+ )
)
- )
- (if
- (get_local $$cmp350$i)
- (block
- (set_local $$add$ptr354$i
- (i32.add
- (get_local $$arraydecay208$add$ptr213$i)
- (i32.const 4)
- )
+ (set_local $$mul349$i
+ (i32.add
+ (get_local $$230)
+ (i32.const -9)
)
- (set_local $$add355$i
- (i32.add
- (get_local $$sub343$i)
- (i32.const 9216)
- )
+ )
+ (set_local $$cmp350$i
+ (i32.lt_s
+ (get_local $$sub343$i)
+ (get_local $$mul349$i)
)
- (set_local $$div356$i
- (i32.and
- (i32.div_s
- (get_local $$add355$i)
- (i32.const 9)
+ )
+ (if
+ (get_local $$cmp350$i)
+ (block
+ (set_local $$add$ptr354$i
+ (i32.add
+ (get_local $$arraydecay208$add$ptr213$i)
+ (i32.const 4)
)
- (i32.const -1)
)
- )
- (set_local $$sub357$i
- (i32.add
- (get_local $$div356$i)
- (i32.const -1024)
+ (set_local $$add355$i
+ (i32.add
+ (get_local $$sub343$i)
+ (i32.const 9216)
+ )
)
- )
- (set_local $$add$ptr358$i
- (i32.add
- (get_local $$add$ptr354$i)
- (i32.shl
- (get_local $$sub357$i)
- (i32.const 2)
+ (set_local $$div356$i
+ (i32.and
+ (i32.div_s
+ (get_local $$add355$i)
+ (i32.const 9)
+ )
+ (i32.const -1)
)
)
- )
- (set_local $$rem360$i
- (i32.and
- (i32.rem_s
- (get_local $$add355$i)
- (i32.const 9)
+ (set_local $$sub357$i
+ (i32.add
+ (get_local $$div356$i)
+ (i32.const -1024)
)
- (i32.const -1)
)
- )
- (set_local $$j$0$524$i
- (i32.add
- (get_local $$rem360$i)
- (i32.const 1)
+ (set_local $$add$ptr358$i
+ (i32.add
+ (get_local $$add$ptr354$i)
+ (i32.shl
+ (get_local $$sub357$i)
+ (i32.const 2)
+ )
+ )
)
- )
- (set_local $$cmp363$525$i
- (i32.lt_s
- (get_local $$j$0$524$i)
- (i32.const 9)
+ (set_local $$rem360$i
+ (i32.and
+ (i32.rem_s
+ (get_local $$add355$i)
+ (i32.const 9)
+ )
+ (i32.const -1)
+ )
)
- )
- (if
- (get_local $$cmp363$525$i)
- (block
- (set_local $$i$1526$i
- (i32.const 10)
+ (set_local $$j$0$524$i
+ (i32.add
+ (get_local $$rem360$i)
+ (i32.const 1)
)
- (set_local $$j$0527$i
+ )
+ (set_local $$cmp363$525$i
+ (i32.lt_s
(get_local $$j$0$524$i)
+ (i32.const 9)
)
- (loop $while-out$86 $while-in$87
- (set_local $$mul367$i
- (i32.mul
- (get_local $$i$1526$i)
- (i32.const 10)
- )
- )
- (set_local $$j$0$i
- (i32.add
- (get_local $$j$0527$i)
- (i32.const 1)
- )
+ )
+ (if
+ (get_local $$cmp363$525$i)
+ (block
+ (set_local $$i$1526$i
+ (i32.const 10)
)
- (set_local $$exitcond$i
- (i32.eq
- (get_local $$j$0$i)
- (i32.const 9)
- )
+ (set_local $$j$0527$i
+ (get_local $$j$0$524$i)
)
- (if
- (get_local $$exitcond$i)
- (block
- (set_local $$i$1$lcssa$i
- (get_local $$mul367$i)
+ (loop $while-in$87
+ (block $while-out$86
+ (set_local $$mul367$i
+ (i32.mul
+ (get_local $$i$1526$i)
+ (i32.const 10)
+ )
)
- (br $while-out$86)
- )
- (block
- (set_local $$i$1526$i
- (get_local $$mul367$i)
+ (set_local $$j$0$i
+ (i32.add
+ (get_local $$j$0527$i)
+ (i32.const 1)
+ )
+ )
+ (set_local $$exitcond$i
+ (i32.eq
+ (get_local $$j$0$i)
+ (i32.const 9)
+ )
)
- (set_local $$j$0527$i
- (get_local $$j$0$i)
+ (if
+ (get_local $$exitcond$i)
+ (block
+ (set_local $$i$1$lcssa$i
+ (get_local $$mul367$i)
+ )
+ (br $while-out$86)
+ )
+ (block
+ (set_local $$i$1526$i
+ (get_local $$mul367$i)
+ )
+ (set_local $$j$0527$i
+ (get_local $$j$0$i)
+ )
+ )
)
+ (br $while-in$87)
)
)
- (br $while-in$87)
+ )
+ (set_local $$i$1$lcssa$i
+ (i32.const 10)
)
)
- (set_local $$i$1$lcssa$i
- (i32.const 10)
- )
- )
- (set_local $$231
- (i32.load
- (get_local $$add$ptr358$i)
- )
- )
- (set_local $$rem370$i
- (i32.and
- (i32.rem_u
- (get_local $$231)
- (get_local $$i$1$lcssa$i)
+ (set_local $$231
+ (i32.load
+ (get_local $$add$ptr358$i)
)
- (i32.const -1)
)
- )
- (set_local $$tobool371$i
- (i32.eq
- (get_local $$rem370$i)
- (i32.const 0)
+ (set_local $$rem370$i
+ (i32.and
+ (i32.rem_u
+ (get_local $$231)
+ (get_local $$i$1$lcssa$i)
+ )
+ (i32.const -1)
+ )
)
- )
- (set_local $$add$ptr373$i
- (i32.add
- (get_local $$add$ptr358$i)
- (i32.const 4)
+ (set_local $$tobool371$i
+ (i32.eq
+ (get_local $$rem370$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$cmp374$i
- (i32.eq
- (get_local $$add$ptr373$i)
- (get_local $$z$3$lcssa$i)
+ (set_local $$add$ptr373$i
+ (i32.add
+ (get_local $$add$ptr358$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$or$cond395$i
- (i32.and
- (get_local $$cmp374$i)
- (get_local $$tobool371$i)
+ (set_local $$cmp374$i
+ (i32.eq
+ (get_local $$add$ptr373$i)
+ (get_local $$z$3$lcssa$i)
+ )
)
- )
- (block $do-once$88
- (if
- (get_local $$or$cond395$i)
- (block
- (set_local $$a$8$i
- (get_local $$a$3$lcssa$i)
- )
- (set_local $$d$4$i
- (get_local $$add$ptr358$i)
- )
- (set_local $$e$4$i
- (get_local $$e$1$i)
- )
+ (set_local $$or$cond395$i
+ (i32.and
+ (get_local $$cmp374$i)
+ (get_local $$tobool371$i)
)
- (block
- (set_local $$div378$i
- (i32.and
- (i32.div_u
- (get_local $$231)
- (get_local $$i$1$lcssa$i)
- )
- (i32.const -1)
- )
- )
- (set_local $$and379$i
- (i32.and
- (get_local $$div378$i)
- (i32.const 1)
+ )
+ (block $do-once$88
+ (if
+ (get_local $$or$cond395$i)
+ (block
+ (set_local $$a$8$i
+ (get_local $$a$3$lcssa$i)
)
- )
- (set_local $$tobool380$i
- (i32.eq
- (get_local $$and379$i)
- (i32.const 0)
+ (set_local $$d$4$i
+ (get_local $$add$ptr358$i)
)
- )
- (set_local $$$396$i
- (if
- (get_local $$tobool380$i)
- (f64.const 9007199254740992)
- (f64.const 9007199254740994)
+ (set_local $$e$4$i
+ (get_local $$e$1$i)
)
)
- (set_local $$div384$i
- (i32.and
- (i32.div_s
- (get_local $$i$1$lcssa$i)
- (i32.const 2)
+ (block
+ (set_local $$div378$i
+ (i32.and
+ (i32.div_u
+ (get_local $$231)
+ (get_local $$i$1$lcssa$i)
+ )
+ (i32.const -1)
)
- (i32.const -1)
- )
- )
- (set_local $$cmp385$i
- (i32.lt_u
- (get_local $$rem370$i)
- (get_local $$div384$i)
)
- )
- (if
- (get_local $$cmp385$i)
- (set_local $$small$0$i
- (f64.const 0.5)
+ (set_local $$and379$i
+ (i32.and
+ (get_local $$div378$i)
+ (i32.const 1)
+ )
)
- (block
- (set_local $$cmp390$i
- (i32.eq
- (get_local $$rem370$i)
- (get_local $$div384$i)
- )
+ (set_local $$tobool380$i
+ (i32.eq
+ (get_local $$and379$i)
+ (i32.const 0)
)
- (set_local $$or$cond397$i
- (i32.and
- (get_local $$cmp374$i)
- (get_local $$cmp390$i)
- )
+ )
+ (set_local $$$396$i
+ (if
+ (get_local $$tobool380$i)
+ (f64.const 9007199254740992)
+ (f64.const 9007199254740994)
)
- (set_local $$$404$i
- (if
- (get_local $$or$cond397$i)
- (f64.const 1)
- (f64.const 1.5)
+ )
+ (set_local $$div384$i
+ (i32.and
+ (i32.div_s
+ (get_local $$i$1$lcssa$i)
+ (i32.const 2)
)
- )
- (set_local $$small$0$i
- (get_local $$$404$i)
+ (i32.const -1)
)
)
- )
- (set_local $$tobool400$i
- (i32.eq
- (get_local $$pl$0$i)
- (i32.const 0)
+ (set_local $$cmp385$i
+ (i32.lt_u
+ (get_local $$rem370$i)
+ (get_local $$div384$i)
+ )
)
- )
- (block $do-once$90
(if
- (get_local $$tobool400$i)
+ (get_local $$cmp385$i)
+ (set_local $$small$0$i
+ (f64.const 0.5)
+ )
(block
- (set_local $$round377$1$i
- (get_local $$$396$i)
+ (set_local $$cmp390$i
+ (i32.eq
+ (get_local $$rem370$i)
+ (get_local $$div384$i)
+ )
+ )
+ (set_local $$or$cond397$i
+ (i32.and
+ (get_local $$cmp374$i)
+ (get_local $$cmp390$i)
+ )
)
- (set_local $$small$1$i
- (get_local $$small$0$i)
+ (set_local $$$404$i
+ (if
+ (get_local $$or$cond397$i)
+ (f64.const 1)
+ (f64.const 1.5)
+ )
+ )
+ (set_local $$small$0$i
+ (get_local $$$404$i)
)
)
- (block
- (set_local $$232
- (i32.load8_s
- (get_local $$prefix$0$i)
+ )
+ (set_local $$tobool400$i
+ (i32.eq
+ (get_local $$pl$0$i)
+ (i32.const 0)
+ )
+ )
+ (block $do-once$90
+ (if
+ (get_local $$tobool400$i)
+ (block
+ (set_local $$round377$1$i
+ (get_local $$$396$i)
+ )
+ (set_local $$small$1$i
+ (get_local $$small$0$i)
)
)
- (set_local $$cmp403$i
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$232)
+ (block
+ (set_local $$232
+ (i32.load8_s
+ (get_local $$prefix$0$i)
+ )
+ )
+ (set_local $$cmp403$i
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$232)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 45)
)
- (i32.const 45)
)
- )
- (if
- (i32.eqz
- (get_local $$cmp403$i)
+ (if
+ (i32.eqz
+ (get_local $$cmp403$i)
+ )
+ (block
+ (set_local $$round377$1$i
+ (get_local $$$396$i)
+ )
+ (set_local $$small$1$i
+ (get_local $$small$0$i)
+ )
+ (br $do-once$90)
+ )
)
- (block
- (set_local $$round377$1$i
+ (set_local $$mul406$i
+ (f64.neg
(get_local $$$396$i)
)
- (set_local $$small$1$i
+ )
+ (set_local $$mul407$i
+ (f64.neg
(get_local $$small$0$i)
)
- (br $do-once$90)
)
- )
- (set_local $$mul406$i
- (f64.neg
- (get_local $$$396$i)
+ (set_local $$round377$1$i
+ (get_local $$mul406$i)
)
- )
- (set_local $$mul407$i
- (f64.neg
- (get_local $$small$0$i)
+ (set_local $$small$1$i
+ (get_local $$mul407$i)
)
)
- (set_local $$round377$1$i
- (get_local $$mul406$i)
- )
- (set_local $$small$1$i
- (get_local $$mul407$i)
- )
)
)
- )
- (set_local $$sub409$i
- (i32.sub
- (get_local $$231)
- (get_local $$rem370$i)
- )
- )
- (i32.store
- (get_local $$add$ptr358$i)
- (get_local $$sub409$i)
- )
- (set_local $$add410$i
- (f64.add
- (get_local $$round377$1$i)
- (get_local $$small$1$i)
+ (set_local $$sub409$i
+ (i32.sub
+ (get_local $$231)
+ (get_local $$rem370$i)
+ )
)
- )
- (set_local $$cmp411$i
- (f64.ne
- (get_local $$add410$i)
- (get_local $$round377$1$i)
+ (i32.store
+ (get_local $$add$ptr358$i)
+ (get_local $$sub409$i)
)
- )
- (if
- (i32.eqz
- (get_local $$cmp411$i)
+ (set_local $$add410$i
+ (f64.add
+ (get_local $$round377$1$i)
+ (get_local $$small$1$i)
+ )
)
- (block
- (set_local $$a$8$i
- (get_local $$a$3$lcssa$i)
+ (set_local $$cmp411$i
+ (f64.ne
+ (get_local $$add410$i)
+ (get_local $$round377$1$i)
)
- (set_local $$d$4$i
- (get_local $$add$ptr358$i)
+ )
+ (if
+ (i32.eqz
+ (get_local $$cmp411$i)
)
- (set_local $$e$4$i
- (get_local $$e$1$i)
+ (block
+ (set_local $$a$8$i
+ (get_local $$a$3$lcssa$i)
+ )
+ (set_local $$d$4$i
+ (get_local $$add$ptr358$i)
+ )
+ (set_local $$e$4$i
+ (get_local $$e$1$i)
+ )
+ (br $do-once$88)
)
- (br $do-once$88)
)
- )
- (set_local $$add414$i
- (i32.add
- (get_local $$sub409$i)
- (get_local $$i$1$lcssa$i)
+ (set_local $$add414$i
+ (i32.add
+ (get_local $$sub409$i)
+ (get_local $$i$1$lcssa$i)
+ )
)
- )
- (i32.store
- (get_local $$add$ptr358$i)
- (get_local $$add414$i)
- )
- (set_local $$cmp416$519$i
- (i32.gt_u
+ (i32.store
+ (get_local $$add$ptr358$i)
(get_local $$add414$i)
- (i32.const 999999999)
)
- )
- (if
- (get_local $$cmp416$519$i)
- (block
- (set_local $$a$5521$i
- (get_local $$a$3$lcssa$i)
- )
- (set_local $$d$2520$i
- (get_local $$add$ptr358$i)
+ (set_local $$cmp416$519$i
+ (i32.gt_u
+ (get_local $$add414$i)
+ (i32.const 999999999)
)
- (loop $while-out$92 $while-in$93
- (set_local $$incdec$ptr419$i
- (i32.add
- (get_local $$d$2520$i)
- (i32.const -4)
- )
- )
- (i32.store
- (get_local $$d$2520$i)
- (i32.const 0)
+ )
+ (if
+ (get_local $$cmp416$519$i)
+ (block
+ (set_local $$a$5521$i
+ (get_local $$a$3$lcssa$i)
)
- (set_local $$cmp420$i
- (i32.lt_u
- (get_local $$incdec$ptr419$i)
- (get_local $$a$5521$i)
- )
+ (set_local $$d$2520$i
+ (get_local $$add$ptr358$i)
)
- (if
- (get_local $$cmp420$i)
- (block
- (set_local $$incdec$ptr423$i
+ (loop $while-in$93
+ (block $while-out$92
+ (set_local $$incdec$ptr419$i
(i32.add
- (get_local $$a$5521$i)
+ (get_local $$d$2520$i)
(i32.const -4)
)
)
(i32.store
- (get_local $$incdec$ptr423$i)
+ (get_local $$d$2520$i)
(i32.const 0)
)
- (set_local $$a$6$i
- (get_local $$incdec$ptr423$i)
+ (set_local $$cmp420$i
+ (i32.lt_u
+ (get_local $$incdec$ptr419$i)
+ (get_local $$a$5521$i)
+ )
)
- )
- (set_local $$a$6$i
- (get_local $$a$5521$i)
- )
- )
- (set_local $$233
- (i32.load
- (get_local $$incdec$ptr419$i)
- )
- )
- (set_local $$inc425$i
- (i32.add
- (get_local $$233)
- (i32.const 1)
- )
- )
- (i32.store
- (get_local $$incdec$ptr419$i)
- (get_local $$inc425$i)
- )
- (set_local $$cmp416$i
- (i32.gt_u
- (get_local $$inc425$i)
- (i32.const 999999999)
- )
- )
- (if
- (get_local $$cmp416$i)
- (block
- (set_local $$a$5521$i
- (get_local $$a$6$i)
+ (if
+ (get_local $$cmp420$i)
+ (block
+ (set_local $$incdec$ptr423$i
+ (i32.add
+ (get_local $$a$5521$i)
+ (i32.const -4)
+ )
+ )
+ (i32.store
+ (get_local $$incdec$ptr423$i)
+ (i32.const 0)
+ )
+ (set_local $$a$6$i
+ (get_local $$incdec$ptr423$i)
+ )
+ )
+ (set_local $$a$6$i
+ (get_local $$a$5521$i)
+ )
)
- (set_local $$d$2520$i
- (get_local $$incdec$ptr419$i)
+ (set_local $$233
+ (i32.load
+ (get_local $$incdec$ptr419$i)
+ )
)
- )
- (block
- (set_local $$a$5$lcssa$i
- (get_local $$a$6$i)
+ (set_local $$inc425$i
+ (i32.add
+ (get_local $$233)
+ (i32.const 1)
+ )
)
- (set_local $$d$2$lcssa$i
+ (i32.store
(get_local $$incdec$ptr419$i)
+ (get_local $$inc425$i)
+ )
+ (set_local $$cmp416$i
+ (i32.gt_u
+ (get_local $$inc425$i)
+ (i32.const 999999999)
+ )
+ )
+ (if
+ (get_local $$cmp416$i)
+ (block
+ (set_local $$a$5521$i
+ (get_local $$a$6$i)
+ )
+ (set_local $$d$2520$i
+ (get_local $$incdec$ptr419$i)
+ )
+ )
+ (block
+ (set_local $$a$5$lcssa$i
+ (get_local $$a$6$i)
+ )
+ (set_local $$d$2$lcssa$i
+ (get_local $$incdec$ptr419$i)
+ )
+ (br $while-out$92)
+ )
)
- (br $while-out$92)
+ (br $while-in$93)
)
)
- (br $while-in$93)
- )
- )
- (block
- (set_local $$a$5$lcssa$i
- (get_local $$a$3$lcssa$i)
)
- (set_local $$d$2$lcssa$i
- (get_local $$add$ptr358$i)
+ (block
+ (set_local $$a$5$lcssa$i
+ (get_local $$a$3$lcssa$i)
+ )
+ (set_local $$d$2$lcssa$i
+ (get_local $$add$ptr358$i)
+ )
)
)
- )
- (set_local $$sub$ptr$rhs$cast428$i
- (get_local $$a$5$lcssa$i)
- )
- (set_local $$sub$ptr$sub429$i
- (i32.sub
- (get_local $$sub$ptr$rhs$cast345$i)
- (get_local $$sub$ptr$rhs$cast428$i)
- )
- )
- (set_local $$sub$ptr$div430$i
- (i32.shr_s
- (get_local $$sub$ptr$sub429$i)
- (i32.const 2)
- )
- )
- (set_local $$mul431$i
- (i32.mul
- (get_local $$sub$ptr$div430$i)
- (i32.const 9)
- )
- )
- (set_local $$234
- (i32.load
+ (set_local $$sub$ptr$rhs$cast428$i
(get_local $$a$5$lcssa$i)
)
- )
- (set_local $$cmp433$515$i
- (i32.lt_u
- (get_local $$234)
- (i32.const 10)
- )
- )
- (if
- (get_local $$cmp433$515$i)
- (block
- (set_local $$a$8$i
- (get_local $$a$5$lcssa$i)
- )
- (set_local $$d$4$i
- (get_local $$d$2$lcssa$i)
- )
- (set_local $$e$4$i
- (get_local $$mul431$i)
+ (set_local $$sub$ptr$sub429$i
+ (i32.sub
+ (get_local $$sub$ptr$rhs$cast345$i)
+ (get_local $$sub$ptr$rhs$cast428$i)
)
- (br $do-once$88)
)
- (block
- (set_local $$e$2517$i
- (get_local $$mul431$i)
- )
- (set_local $$i$2516$i
- (i32.const 10)
+ (set_local $$sub$ptr$div430$i
+ (i32.shr_s
+ (get_local $$sub$ptr$sub429$i)
+ (i32.const 2)
)
)
- )
- (loop $while-out$94 $while-in$95
- (set_local $$mul437$i
+ (set_local $$mul431$i
(i32.mul
- (get_local $$i$2516$i)
- (i32.const 10)
+ (get_local $$sub$ptr$div430$i)
+ (i32.const 9)
)
)
- (set_local $$inc438$i
- (i32.add
- (get_local $$e$2517$i)
- (i32.const 1)
+ (set_local $$234
+ (i32.load
+ (get_local $$a$5$lcssa$i)
)
)
- (set_local $$cmp433$i
+ (set_local $$cmp433$515$i
(i32.lt_u
(get_local $$234)
- (get_local $$mul437$i)
+ (i32.const 10)
)
)
(if
- (get_local $$cmp433$i)
+ (get_local $$cmp433$515$i)
(block
(set_local $$a$8$i
(get_local $$a$5$lcssa$i)
@@ -11392,2543 +11256,2624 @@
(get_local $$d$2$lcssa$i)
)
(set_local $$e$4$i
- (get_local $$inc438$i)
+ (get_local $$mul431$i)
)
- (br $while-out$94)
+ (br $do-once$88)
)
(block
(set_local $$e$2517$i
- (get_local $$inc438$i)
+ (get_local $$mul431$i)
)
(set_local $$i$2516$i
- (get_local $$mul437$i)
+ (i32.const 10)
+ )
+ )
+ )
+ (loop $while-in$95
+ (block $while-out$94
+ (set_local $$mul437$i
+ (i32.mul
+ (get_local $$i$2516$i)
+ (i32.const 10)
+ )
+ )
+ (set_local $$inc438$i
+ (i32.add
+ (get_local $$e$2517$i)
+ (i32.const 1)
+ )
+ )
+ (set_local $$cmp433$i
+ (i32.lt_u
+ (get_local $$234)
+ (get_local $$mul437$i)
+ )
+ )
+ (if
+ (get_local $$cmp433$i)
+ (block
+ (set_local $$a$8$i
+ (get_local $$a$5$lcssa$i)
+ )
+ (set_local $$d$4$i
+ (get_local $$d$2$lcssa$i)
+ )
+ (set_local $$e$4$i
+ (get_local $$inc438$i)
+ )
+ (br $while-out$94)
+ )
+ (block
+ (set_local $$e$2517$i
+ (get_local $$inc438$i)
+ )
+ (set_local $$i$2516$i
+ (get_local $$mul437$i)
+ )
+ )
)
+ (br $while-in$95)
)
)
- (br $while-in$95)
)
)
)
- )
- (set_local $$add$ptr442$i
- (i32.add
- (get_local $$d$4$i)
- (i32.const 4)
+ (set_local $$add$ptr442$i
+ (i32.add
+ (get_local $$d$4$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$cmp443$i
- (i32.gt_u
- (get_local $$z$3$lcssa$i)
- (get_local $$add$ptr442$i)
+ (set_local $$cmp443$i
+ (i32.gt_u
+ (get_local $$z$3$lcssa$i)
+ (get_local $$add$ptr442$i)
+ )
)
- )
- (set_local $$add$ptr442$z$3$i
- (if
- (get_local $$cmp443$i)
- (get_local $$add$ptr442$i)
- (get_local $$z$3$lcssa$i)
+ (set_local $$add$ptr442$z$3$i
+ (if
+ (get_local $$cmp443$i)
+ (get_local $$add$ptr442$i)
+ (get_local $$z$3$lcssa$i)
+ )
+ )
+ (set_local $$a$9$ph$i
+ (get_local $$a$8$i)
+ )
+ (set_local $$e$5$ph$i
+ (get_local $$e$4$i)
+ )
+ (set_local $$z$7$ph$i
+ (get_local $$add$ptr442$z$3$i)
)
- )
- (set_local $$a$9$ph$i
- (get_local $$a$8$i)
- )
- (set_local $$e$5$ph$i
- (get_local $$e$4$i)
- )
- (set_local $$z$7$ph$i
- (get_local $$add$ptr442$z$3$i)
- )
- )
- (block
- (set_local $$a$9$ph$i
- (get_local $$a$3$lcssa$i)
- )
- (set_local $$e$5$ph$i
- (get_local $$e$1$i)
- )
- (set_local $$z$7$ph$i
- (get_local $$z$3$lcssa$i)
- )
- )
- )
- (set_local $$sub626$le$i
- (i32.sub
- (i32.const 0)
- (get_local $$e$5$ph$i)
- )
- )
- (set_local $$z$7$i
- (get_local $$z$7$ph$i)
- )
- (loop $while-out$96 $while-in$97
- (set_local $$cmp450$i
- (i32.gt_u
- (get_local $$z$7$i)
- (get_local $$a$9$ph$i)
- )
- )
- (if
- (i32.eqz
- (get_local $$cmp450$i)
)
(block
- (set_local $$cmp450$lcssa$i
- (i32.const 0)
+ (set_local $$a$9$ph$i
+ (get_local $$a$3$lcssa$i)
)
- (set_local $$z$7$i$lcssa
- (get_local $$z$7$i)
+ (set_local $$e$5$ph$i
+ (get_local $$e$1$i)
+ )
+ (set_local $$z$7$ph$i
+ (get_local $$z$3$lcssa$i)
)
- (br $while-out$96)
- )
- )
- (set_local $$arrayidx453$i
- (i32.add
- (get_local $$z$7$i)
- (i32.const -4)
- )
- )
- (set_local $$235
- (i32.load
- (get_local $$arrayidx453$i)
)
)
- (set_local $$lnot455$i
- (i32.eq
- (get_local $$235)
+ (set_local $$sub626$le$i
+ (i32.sub
(i32.const 0)
+ (get_local $$e$5$ph$i)
)
)
- (if
- (get_local $$lnot455$i)
- (set_local $$z$7$i
- (get_local $$arrayidx453$i)
- )
- (block
- (set_local $$cmp450$lcssa$i
- (i32.const 1)
- )
- (set_local $$z$7$i$lcssa
- (get_local $$z$7$i)
- )
- (br $while-out$96)
- )
+ (set_local $$z$7$i
+ (get_local $$z$7$ph$i)
)
- (br $while-in$97)
- )
- (block $do-once$98
- (if
- (get_local $$cmp338$i)
- (block
- (set_local $$236
- (i32.and
- (get_local $$tobool341$i)
- (i32.const 1)
+ (loop $while-in$97
+ (block $while-out$96
+ (set_local $$cmp450$i
+ (i32.gt_u
+ (get_local $$z$7$i)
+ (get_local $$a$9$ph$i)
)
)
- (set_local $$inc468$i
- (i32.xor
- (get_local $$236)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $$cmp450$i)
)
- )
- (set_local $$$p$inc468$i
- (i32.add
- (get_local $$inc468$i)
- (get_local $$$p$i)
+ (block
+ (set_local $$cmp450$lcssa$i
+ (i32.const 0)
+ )
+ (set_local $$z$7$i$lcssa
+ (get_local $$z$7$i)
+ )
+ (br $while-out$96)
)
)
- (set_local $$cmp470$i
- (i32.gt_s
- (get_local $$$p$inc468$i)
- (get_local $$e$5$ph$i)
+ (set_local $$arrayidx453$i
+ (i32.add
+ (get_local $$z$7$i)
+ (i32.const -4)
)
)
- (set_local $$cmp473$i
- (i32.gt_s
- (get_local $$e$5$ph$i)
- (i32.const -5)
+ (set_local $$235
+ (i32.load
+ (get_local $$arrayidx453$i)
)
)
- (set_local $$or$cond2$i
- (i32.and
- (get_local $$cmp470$i)
- (get_local $$cmp473$i)
+ (set_local $$lnot455$i
+ (i32.eq
+ (get_local $$235)
+ (i32.const 0)
)
)
(if
- (get_local $$or$cond2$i)
- (block
- (set_local $$dec476$i
- (i32.add
- (get_local $$t$0)
- (i32.const -1)
- )
- )
- (set_local $$add477$neg$i
- (i32.add
- (get_local $$$p$inc468$i)
- (i32.const -1)
- )
- )
- (set_local $$sub478$i
- (i32.sub
- (get_local $$add477$neg$i)
- (get_local $$e$5$ph$i)
- )
- )
- (set_local $$p$addr$2$i
- (get_local $$sub478$i)
- )
- (set_local $$t$addr$0$i
- (get_local $$dec476$i)
- )
+ (get_local $$lnot455$i)
+ (set_local $$z$7$i
+ (get_local $$arrayidx453$i)
)
(block
- (set_local $$sub480$i
- (i32.add
- (get_local $$t$0)
- (i32.const -2)
- )
- )
- (set_local $$dec481$i
- (i32.add
- (get_local $$$p$inc468$i)
- (i32.const -1)
- )
- )
- (set_local $$p$addr$2$i
- (get_local $$dec481$i)
+ (set_local $$cmp450$lcssa$i
+ (i32.const 1)
)
- (set_local $$t$addr$0$i
- (get_local $$sub480$i)
+ (set_local $$z$7$i$lcssa
+ (get_local $$z$7$i)
)
+ (br $while-out$96)
)
)
- (set_local $$and483$i
- (i32.and
- (get_local $$fl$1$and219)
- (i32.const 8)
+ (br $while-in$97)
+ )
+ )
+ (block $do-once$98
+ (if
+ (get_local $$cmp338$i)
+ (block
+ (set_local $$236
+ (i32.and
+ (get_local $$tobool341$i)
+ (i32.const 1)
+ )
)
- )
- (set_local $$tobool484$i
- (i32.eq
- (get_local $$and483$i)
- (i32.const 0)
+ (set_local $$inc468$i
+ (i32.xor
+ (get_local $$236)
+ (i32.const 1)
+ )
)
- )
- (if
- (i32.eqz
- (get_local $$tobool484$i)
+ (set_local $$$p$inc468$i
+ (i32.add
+ (get_local $$inc468$i)
+ (get_local $$$p$i)
+ )
)
- (block
- (set_local $$and610$pre$phi$iZ2D
- (get_local $$and483$i)
+ (set_local $$cmp470$i
+ (i32.gt_s
+ (get_local $$$p$inc468$i)
+ (get_local $$e$5$ph$i)
)
- (set_local $$p$addr$3$i
- (get_local $$p$addr$2$i)
+ )
+ (set_local $$cmp473$i
+ (i32.gt_s
+ (get_local $$e$5$ph$i)
+ (i32.const -5)
)
- (set_local $$t$addr$1$i
- (get_local $$t$addr$0$i)
+ )
+ (set_local $$or$cond2$i
+ (i32.and
+ (get_local $$cmp470$i)
+ (get_local $$cmp473$i)
)
- (br $do-once$98)
)
- )
- (block $do-once$100
(if
- (get_local $$cmp450$lcssa$i)
+ (get_local $$or$cond2$i)
(block
- (set_local $$arrayidx489$i
+ (set_local $$dec476$i
(i32.add
- (get_local $$z$7$i$lcssa)
- (i32.const -4)
+ (get_local $$t$0)
+ (i32.const -1)
)
)
- (set_local $$237
- (i32.load
- (get_local $$arrayidx489$i)
+ (set_local $$add477$neg$i
+ (i32.add
+ (get_local $$$p$inc468$i)
+ (i32.const -1)
)
)
- (set_local $$tobool490$i
- (i32.eq
- (get_local $$237)
- (i32.const 0)
+ (set_local $$sub478$i
+ (i32.sub
+ (get_local $$add477$neg$i)
+ (get_local $$e$5$ph$i)
)
)
- (if
- (get_local $$tobool490$i)
- (block
- (set_local $$j$2$i
- (i32.const 9)
- )
- (br $do-once$100)
+ (set_local $$p$addr$2$i
+ (get_local $$sub478$i)
+ )
+ (set_local $$t$addr$0$i
+ (get_local $$dec476$i)
+ )
+ )
+ (block
+ (set_local $$sub480$i
+ (i32.add
+ (get_local $$t$0)
+ (i32.const -2)
)
)
- (set_local $$rem494$510$i
- (i32.and
- (i32.rem_u
- (get_local $$237)
- (i32.const 10)
- )
+ (set_local $$dec481$i
+ (i32.add
+ (get_local $$$p$inc468$i)
(i32.const -1)
)
)
- (set_local $$cmp495$511$i
- (i32.eq
- (get_local $$rem494$510$i)
- (i32.const 0)
- )
+ (set_local $$p$addr$2$i
+ (get_local $$dec481$i)
)
- (if
- (get_local $$cmp495$511$i)
- (block
- (set_local $$i$3512$i
- (i32.const 10)
- )
- (set_local $$j$1513$i
- (i32.const 0)
+ (set_local $$t$addr$0$i
+ (get_local $$sub480$i)
+ )
+ )
+ )
+ (set_local $$and483$i
+ (i32.and
+ (get_local $$fl$1$and219)
+ (i32.const 8)
+ )
+ )
+ (set_local $$tobool484$i
+ (i32.eq
+ (get_local $$and483$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $$tobool484$i)
+ )
+ (block
+ (set_local $$and610$pre$phi$iZ2D
+ (get_local $$and483$i)
+ )
+ (set_local $$p$addr$3$i
+ (get_local $$p$addr$2$i)
+ )
+ (set_local $$t$addr$1$i
+ (get_local $$t$addr$0$i)
+ )
+ (br $do-once$98)
+ )
+ )
+ (block $do-once$100
+ (if
+ (get_local $$cmp450$lcssa$i)
+ (block
+ (set_local $$arrayidx489$i
+ (i32.add
+ (get_local $$z$7$i$lcssa)
+ (i32.const -4)
)
)
- (block
- (set_local $$j$2$i
- (i32.const 0)
+ (set_local $$237
+ (i32.load
+ (get_local $$arrayidx489$i)
)
- (br $do-once$100)
)
- )
- (loop $while-out$102 $while-in$103
- (set_local $$mul499$i
- (i32.mul
- (get_local $$i$3512$i)
- (i32.const 10)
+ (set_local $$tobool490$i
+ (i32.eq
+ (get_local $$237)
+ (i32.const 0)
)
)
- (set_local $$inc500$i
- (i32.add
- (get_local $$j$1513$i)
- (i32.const 1)
+ (if
+ (get_local $$tobool490$i)
+ (block
+ (set_local $$j$2$i
+ (i32.const 9)
+ )
+ (br $do-once$100)
)
)
- (set_local $$rem494$i
+ (set_local $$rem494$510$i
(i32.and
(i32.rem_u
(get_local $$237)
- (get_local $$mul499$i)
+ (i32.const 10)
)
(i32.const -1)
)
)
- (set_local $$cmp495$i
+ (set_local $$cmp495$511$i
(i32.eq
- (get_local $$rem494$i)
+ (get_local $$rem494$510$i)
(i32.const 0)
)
)
(if
- (get_local $$cmp495$i)
+ (get_local $$cmp495$511$i)
(block
(set_local $$i$3512$i
- (get_local $$mul499$i)
+ (i32.const 10)
)
(set_local $$j$1513$i
- (get_local $$inc500$i)
+ (i32.const 0)
)
)
(block
(set_local $$j$2$i
- (get_local $$inc500$i)
+ (i32.const 0)
+ )
+ (br $do-once$100)
+ )
+ )
+ (loop $while-in$103
+ (block $while-out$102
+ (set_local $$mul499$i
+ (i32.mul
+ (get_local $$i$3512$i)
+ (i32.const 10)
+ )
+ )
+ (set_local $$inc500$i
+ (i32.add
+ (get_local $$j$1513$i)
+ (i32.const 1)
+ )
+ )
+ (set_local $$rem494$i
+ (i32.and
+ (i32.rem_u
+ (get_local $$237)
+ (get_local $$mul499$i)
+ )
+ (i32.const -1)
+ )
+ )
+ (set_local $$cmp495$i
+ (i32.eq
+ (get_local $$rem494$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$cmp495$i)
+ (block
+ (set_local $$i$3512$i
+ (get_local $$mul499$i)
+ )
+ (set_local $$j$1513$i
+ (get_local $$inc500$i)
+ )
+ )
+ (block
+ (set_local $$j$2$i
+ (get_local $$inc500$i)
+ )
+ (br $while-out$102)
+ )
)
- (br $while-out$102)
+ (br $while-in$103)
)
)
- (br $while-in$103)
+ )
+ (set_local $$j$2$i
+ (i32.const 9)
)
)
- (set_local $$j$2$i
- (i32.const 9)
+ )
+ (set_local $$or504$i
+ (i32.or
+ (get_local $$t$addr$0$i)
+ (i32.const 32)
)
)
- )
- (set_local $$or504$i
- (i32.or
- (get_local $$t$addr$0$i)
- (i32.const 32)
+ (set_local $$cmp505$i
+ (i32.eq
+ (get_local $$or504$i)
+ (i32.const 102)
+ )
)
- )
- (set_local $$cmp505$i
- (i32.eq
- (get_local $$or504$i)
- (i32.const 102)
+ (set_local $$sub$ptr$lhs$cast508$i
+ (get_local $$z$7$i$lcssa)
)
- )
- (set_local $$sub$ptr$lhs$cast508$i
- (get_local $$z$7$i$lcssa)
- )
- (set_local $$sub$ptr$sub510$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast508$i)
- (get_local $$sub$ptr$rhs$cast345$i)
+ (set_local $$sub$ptr$sub510$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast508$i)
+ (get_local $$sub$ptr$rhs$cast345$i)
+ )
)
- )
- (set_local $$sub$ptr$div511$i
- (i32.shr_s
- (get_local $$sub$ptr$sub510$i)
- (i32.const 2)
+ (set_local $$sub$ptr$div511$i
+ (i32.shr_s
+ (get_local $$sub$ptr$sub510$i)
+ (i32.const 2)
+ )
)
- )
- (set_local $$238
- (i32.mul
- (get_local $$sub$ptr$div511$i)
- (i32.const 9)
+ (set_local $$238
+ (i32.mul
+ (get_local $$sub$ptr$div511$i)
+ (i32.const 9)
+ )
)
- )
- (set_local $$mul513$i
- (i32.add
- (get_local $$238)
- (i32.const -9)
+ (set_local $$mul513$i
+ (i32.add
+ (get_local $$238)
+ (i32.const -9)
+ )
)
- )
- (if
- (get_local $$cmp505$i)
- (block
- (set_local $$sub514$i
- (i32.sub
- (get_local $$mul513$i)
- (get_local $$j$2$i)
+ (if
+ (get_local $$cmp505$i)
+ (block
+ (set_local $$sub514$i
+ (i32.sub
+ (get_local $$mul513$i)
+ (get_local $$j$2$i)
+ )
)
- )
- (set_local $$cmp515$i
- (i32.lt_s
- (get_local $$sub514$i)
- (i32.const 0)
+ (set_local $$cmp515$i
+ (i32.lt_s
+ (get_local $$sub514$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$$sub514$i
- (if
- (get_local $$cmp515$i)
+ (set_local $$$sub514$i
+ (if
+ (get_local $$cmp515$i)
+ (i32.const 0)
+ (get_local $$sub514$i)
+ )
+ )
+ (set_local $$cmp528$i
+ (i32.lt_s
+ (get_local $$p$addr$2$i)
+ (get_local $$$sub514$i)
+ )
+ )
+ (set_local $$p$addr$2$$sub514398$i
+ (if
+ (get_local $$cmp528$i)
+ (get_local $$p$addr$2$i)
+ (get_local $$$sub514$i)
+ )
+ )
+ (set_local $$and610$pre$phi$iZ2D
(i32.const 0)
- (get_local $$sub514$i)
)
- )
- (set_local $$cmp528$i
- (i32.lt_s
- (get_local $$p$addr$2$i)
- (get_local $$$sub514$i)
+ (set_local $$p$addr$3$i
+ (get_local $$p$addr$2$$sub514398$i)
)
- )
- (set_local $$p$addr$2$$sub514398$i
- (if
- (get_local $$cmp528$i)
- (get_local $$p$addr$2$i)
- (get_local $$$sub514$i)
+ (set_local $$t$addr$1$i
+ (get_local $$t$addr$0$i)
)
+ (br $do-once$98)
)
- (set_local $$and610$pre$phi$iZ2D
- (i32.const 0)
- )
- (set_local $$p$addr$3$i
- (get_local $$p$addr$2$$sub514398$i)
- )
- (set_local $$t$addr$1$i
- (get_local $$t$addr$0$i)
- )
- (br $do-once$98)
- )
- (block
- (set_local $$add561$i
- (i32.add
- (get_local $$mul513$i)
- (get_local $$e$5$ph$i)
+ (block
+ (set_local $$add561$i
+ (i32.add
+ (get_local $$mul513$i)
+ (get_local $$e$5$ph$i)
+ )
)
- )
- (set_local $$sub562$i
- (i32.sub
- (get_local $$add561$i)
- (get_local $$j$2$i)
+ (set_local $$sub562$i
+ (i32.sub
+ (get_local $$add561$i)
+ (get_local $$j$2$i)
+ )
)
- )
- (set_local $$cmp563$i
- (i32.lt_s
- (get_local $$sub562$i)
- (i32.const 0)
+ (set_local $$cmp563$i
+ (i32.lt_s
+ (get_local $$sub562$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$$sub562$i
- (if
- (get_local $$cmp563$i)
+ (set_local $$$sub562$i
+ (if
+ (get_local $$cmp563$i)
+ (i32.const 0)
+ (get_local $$sub562$i)
+ )
+ )
+ (set_local $$cmp577$i
+ (i32.lt_s
+ (get_local $$p$addr$2$i)
+ (get_local $$$sub562$i)
+ )
+ )
+ (set_local $$p$addr$2$$sub562399$i
+ (if
+ (get_local $$cmp577$i)
+ (get_local $$p$addr$2$i)
+ (get_local $$$sub562$i)
+ )
+ )
+ (set_local $$and610$pre$phi$iZ2D
(i32.const 0)
- (get_local $$sub562$i)
)
- )
- (set_local $$cmp577$i
- (i32.lt_s
- (get_local $$p$addr$2$i)
- (get_local $$$sub562$i)
+ (set_local $$p$addr$3$i
+ (get_local $$p$addr$2$$sub562399$i)
)
- )
- (set_local $$p$addr$2$$sub562399$i
- (if
- (get_local $$cmp577$i)
- (get_local $$p$addr$2$i)
- (get_local $$$sub562$i)
+ (set_local $$t$addr$1$i
+ (get_local $$t$addr$0$i)
)
+ (br $do-once$98)
)
- (set_local $$and610$pre$phi$iZ2D
- (i32.const 0)
- )
- (set_local $$p$addr$3$i
- (get_local $$p$addr$2$$sub562399$i)
- )
- (set_local $$t$addr$1$i
- (get_local $$t$addr$0$i)
- )
- (br $do-once$98)
)
)
- )
- (block
- (set_local $$$pre567$i
- (i32.and
- (get_local $$fl$1$and219)
- (i32.const 8)
+ (block
+ (set_local $$$pre567$i
+ (i32.and
+ (get_local $$fl$1$and219)
+ (i32.const 8)
+ )
+ )
+ (set_local $$and610$pre$phi$iZ2D
+ (get_local $$$pre567$i)
+ )
+ (set_local $$p$addr$3$i
+ (get_local $$$p$i)
+ )
+ (set_local $$t$addr$1$i
+ (get_local $$t$0)
)
- )
- (set_local $$and610$pre$phi$iZ2D
- (get_local $$$pre567$i)
- )
- (set_local $$p$addr$3$i
- (get_local $$$p$i)
- )
- (set_local $$t$addr$1$i
- (get_local $$t$0)
)
)
)
- )
- (set_local $$239
- (i32.or
- (get_local $$p$addr$3$i)
- (get_local $$and610$pre$phi$iZ2D)
- )
- )
- (set_local $$240
- (i32.ne
- (get_local $$239)
- (i32.const 0)
- )
- )
- (set_local $$lor$ext$i
- (i32.and
- (get_local $$240)
- (i32.const 1)
- )
- )
- (set_local $$or613$i
- (i32.or
- (get_local $$t$addr$1$i)
- (i32.const 32)
- )
- )
- (set_local $$cmp614$i
- (i32.eq
- (get_local $$or613$i)
- (i32.const 102)
- )
- )
- (if
- (get_local $$cmp614$i)
- (block
- (set_local $$cmp617$i
- (i32.gt_s
- (get_local $$e$5$ph$i)
- (i32.const 0)
- )
- )
- (set_local $$add620$i
- (if
- (get_local $$cmp617$i)
- (get_local $$e$5$ph$i)
- (i32.const 0)
- )
+ (set_local $$239
+ (i32.or
+ (get_local $$p$addr$3$i)
+ (get_local $$and610$pre$phi$iZ2D)
)
- (set_local $$estr$2$i
+ )
+ (set_local $$240
+ (i32.ne
+ (get_local $$239)
(i32.const 0)
)
- (set_local $$sub$ptr$sub650$pn$i
- (get_local $$add620$i)
- )
)
- (block
- (set_local $$cmp623$i
- (i32.lt_s
- (get_local $$e$5$ph$i)
- (i32.const 0)
- )
+ (set_local $$lor$ext$i
+ (i32.and
+ (get_local $$240)
+ (i32.const 1)
)
- (set_local $$cond629$i
- (if
- (get_local $$cmp623$i)
- (get_local $$sub626$le$i)
- (get_local $$e$5$ph$i)
- )
+ )
+ (set_local $$or613$i
+ (i32.or
+ (get_local $$t$addr$1$i)
+ (i32.const 32)
)
- (set_local $$241
- (i32.lt_s
- (get_local $$cond629$i)
- (i32.const 0)
- )
+ )
+ (set_local $$cmp614$i
+ (i32.eq
+ (get_local $$or613$i)
+ (i32.const 102)
)
- (set_local $$242
- (i32.shr_s
- (i32.shl
- (get_local $$241)
- (i32.const 31)
+ )
+ (if
+ (get_local $$cmp614$i)
+ (block
+ (set_local $$cmp617$i
+ (i32.gt_s
+ (get_local $$e$5$ph$i)
+ (i32.const 0)
)
- (i32.const 31)
- )
- )
- (set_local $$243
- (call $_fmt_u
- (get_local $$cond629$i)
- (get_local $$242)
- (get_local $$arrayidx$i$236)
- )
- )
- (set_local $$sub$ptr$rhs$cast634$504$i
- (get_local $$243)
- )
- (set_local $$sub$ptr$sub635$505$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast160$i)
- (get_local $$sub$ptr$rhs$cast634$504$i)
- )
- )
- (set_local $$cmp636$506$i
- (i32.lt_s
- (get_local $$sub$ptr$sub635$505$i)
- (i32.const 2)
)
- )
- (if
- (get_local $$cmp636$506$i)
- (block
- (set_local $$estr$1507$i
- (get_local $$243)
- )
- (loop $while-out$104 $while-in$105
- (set_local $$incdec$ptr639$i
- (i32.add
- (get_local $$estr$1507$i)
- (i32.const -1)
- )
- )
- (i32.store8
- (get_local $$incdec$ptr639$i)
- (i32.const 48)
- )
- (set_local $$sub$ptr$rhs$cast634$i
- (get_local $$incdec$ptr639$i)
- )
- (set_local $$sub$ptr$sub635$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast160$i)
- (get_local $$sub$ptr$rhs$cast634$i)
- )
- )
- (set_local $$cmp636$i
- (i32.lt_s
- (get_local $$sub$ptr$sub635$i)
- (i32.const 2)
- )
- )
- (if
- (get_local $$cmp636$i)
- (set_local $$estr$1507$i
- (get_local $$incdec$ptr639$i)
- )
- (block
- (set_local $$estr$1$lcssa$i
- (get_local $$incdec$ptr639$i)
- )
- (br $while-out$104)
- )
- )
- (br $while-in$105)
+ (set_local $$add620$i
+ (if
+ (get_local $$cmp617$i)
+ (get_local $$e$5$ph$i)
+ (i32.const 0)
)
)
- (set_local $$estr$1$lcssa$i
- (get_local $$243)
- )
- )
- (set_local $$244
- (i32.shr_s
- (get_local $$e$5$ph$i)
- (i32.const 31)
- )
- )
- (set_local $$245
- (i32.and
- (get_local $$244)
- (i32.const 2)
- )
- )
- (set_local $$246
- (i32.add
- (get_local $$245)
- (i32.const 43)
- )
- )
- (set_local $$conv644$i
- (i32.and
- (get_local $$246)
- (i32.const 255)
- )
- )
- (set_local $$incdec$ptr645$i
- (i32.add
- (get_local $$estr$1$lcssa$i)
- (i32.const -1)
- )
- )
- (i32.store8
- (get_local $$incdec$ptr645$i)
- (get_local $$conv644$i)
- )
- (set_local $$conv646$i
- (i32.and
- (get_local $$t$addr$1$i)
- (i32.const 255)
+ (set_local $$estr$2$i
+ (i32.const 0)
)
- )
- (set_local $$incdec$ptr647$i
- (i32.add
- (get_local $$estr$1$lcssa$i)
- (i32.const -2)
+ (set_local $$sub$ptr$sub650$pn$i
+ (get_local $$add620$i)
)
)
- (i32.store8
- (get_local $$incdec$ptr647$i)
- (get_local $$conv646$i)
- )
- (set_local $$sub$ptr$rhs$cast649$i
- (get_local $$incdec$ptr647$i)
- )
- (set_local $$sub$ptr$sub650$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast160$i)
- (get_local $$sub$ptr$rhs$cast649$i)
- )
- )
- (set_local $$estr$2$i
- (get_local $$incdec$ptr647$i)
- )
- (set_local $$sub$ptr$sub650$pn$i
- (get_local $$sub$ptr$sub650$i)
- )
- )
- )
- (set_local $$add608$i
- (i32.add
- (get_local $$pl$0$i)
- (i32.const 1)
- )
- )
- (set_local $$add612$i
- (i32.add
- (get_local $$add608$i)
- (get_local $$p$addr$3$i)
- )
- )
- (set_local $$l$1$i
- (i32.add
- (get_local $$add612$i)
- (get_local $$lor$ext$i)
- )
- )
- (set_local $$add653$i
- (i32.add
- (get_local $$l$1$i)
- (get_local $$sub$ptr$sub650$pn$i)
- )
- )
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (get_local $$add653$i)
- (get_local $$fl$1$and219)
- )
- (set_local $$247
- (i32.load
- (get_local $$f)
- )
- )
- (set_local $$and$i$436$i
- (i32.and
- (get_local $$247)
- (i32.const 32)
- )
- )
- (set_local $$tobool$i$437$i
- (i32.eq
- (get_local $$and$i$436$i)
- (i32.const 0)
- )
- )
- (if
- (get_local $$tobool$i$437$i)
- (call $___fwritex
- (get_local $$prefix$0$i)
- (get_local $$pl$0$i)
- (get_local $$f)
- )
- )
- (set_local $$xor655$i
- (i32.xor
- (get_local $$fl$1$and219)
- (i32.const 65536)
- )
- )
- (call $_pad
- (get_local $$f)
- (i32.const 48)
- (get_local $$w$1)
- (get_local $$add653$i)
- (get_local $$xor655$i)
- )
- (block $do-once$106
- (if
- (get_local $$cmp614$i)
(block
- (set_local $$cmp660$i
- (i32.gt_u
- (get_local $$a$9$ph$i)
- (get_local $$arraydecay208$add$ptr213$i)
+ (set_local $$cmp623$i
+ (i32.lt_s
+ (get_local $$e$5$ph$i)
+ (i32.const 0)
)
)
- (set_local $$r$0$a$9$i
+ (set_local $$cond629$i
(if
- (get_local $$cmp660$i)
- (get_local $$arraydecay208$add$ptr213$i)
- (get_local $$a$9$ph$i)
+ (get_local $$cmp623$i)
+ (get_local $$sub626$le$i)
+ (get_local $$e$5$ph$i)
)
)
- (set_local $$d$5494$i
- (get_local $$r$0$a$9$i)
+ (set_local $$241
+ (i32.lt_s
+ (get_local $$cond629$i)
+ (i32.const 0)
+ )
)
- (loop $while-out$108 $while-in$109
- (set_local $$248
- (i32.load
- (get_local $$d$5494$i)
+ (set_local $$242
+ (i32.shr_s
+ (i32.shl
+ (get_local $$241)
+ (i32.const 31)
)
+ (i32.const 31)
)
- (set_local $$249
- (call $_fmt_u
- (get_local $$248)
- (i32.const 0)
- (get_local $$add$ptr671$i)
- )
+ )
+ (set_local $$243
+ (call $_fmt_u
+ (get_local $$cond629$i)
+ (get_local $$242)
+ (get_local $$arrayidx$i$236)
)
- (set_local $$cmp673$i
- (i32.eq
- (get_local $$d$5494$i)
- (get_local $$r$0$a$9$i)
- )
+ )
+ (set_local $$sub$ptr$rhs$cast634$504$i
+ (get_local $$243)
+ )
+ (set_local $$sub$ptr$sub635$505$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast160$i)
+ (get_local $$sub$ptr$rhs$cast634$504$i)
)
- (block $do-once$110
- (if
- (get_local $$cmp673$i)
- (block
- (set_local $$cmp686$i
- (i32.eq
- (get_local $$249)
- (get_local $$add$ptr671$i)
- )
- )
- (if
- (i32.eqz
- (get_local $$cmp686$i)
- )
- (block
- (set_local $$s668$1$i
- (get_local $$249)
- )
- (br $do-once$110)
+ )
+ (set_local $$cmp636$506$i
+ (i32.lt_s
+ (get_local $$sub$ptr$sub635$505$i)
+ (i32.const 2)
+ )
+ )
+ (if
+ (get_local $$cmp636$506$i)
+ (block
+ (set_local $$estr$1507$i
+ (get_local $$243)
+ )
+ (loop $while-in$105
+ (block $while-out$104
+ (set_local $$incdec$ptr639$i
+ (i32.add
+ (get_local $$estr$1507$i)
+ (i32.const -1)
)
)
(i32.store8
- (get_local $$incdec$ptr689$i)
+ (get_local $$incdec$ptr639$i)
(i32.const 48)
)
- (set_local $$s668$1$i
- (get_local $$incdec$ptr689$i)
+ (set_local $$sub$ptr$rhs$cast634$i
+ (get_local $$incdec$ptr639$i)
)
- )
- (block
- (set_local $$cmp678$491$i
- (i32.gt_u
- (get_local $$249)
- (get_local $$buf$i)
+ (set_local $$sub$ptr$sub635$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast160$i)
+ (get_local $$sub$ptr$rhs$cast634$i)
)
)
- (if
- (get_local $$cmp678$491$i)
- (set_local $$s668$0492$i
- (get_local $$249)
- )
- (block
- (set_local $$s668$1$i
- (get_local $$249)
- )
- (br $do-once$110)
+ (set_local $$cmp636$i
+ (i32.lt_s
+ (get_local $$sub$ptr$sub635$i)
+ (i32.const 2)
)
)
- (loop $while-out$112 $while-in$113
- (set_local $$incdec$ptr681$i
- (i32.add
- (get_local $$s668$0492$i)
- (i32.const -1)
- )
- )
- (i32.store8
- (get_local $$incdec$ptr681$i)
- (i32.const 48)
- )
- (set_local $$cmp678$i
- (i32.gt_u
- (get_local $$incdec$ptr681$i)
- (get_local $$buf$i)
- )
+ (if
+ (get_local $$cmp636$i)
+ (set_local $$estr$1507$i
+ (get_local $$incdec$ptr639$i)
)
- (if
- (get_local $$cmp678$i)
- (set_local $$s668$0492$i
- (get_local $$incdec$ptr681$i)
- )
- (block
- (set_local $$s668$1$i
- (get_local $$incdec$ptr681$i)
- )
- (br $while-out$112)
+ (block
+ (set_local $$estr$1$lcssa$i
+ (get_local $$incdec$ptr639$i)
)
+ (br $while-out$104)
)
- (br $while-in$113)
)
+ (br $while-in$105)
)
)
)
- (set_local $$250
- (i32.load
- (get_local $$f)
- )
- )
- (set_local $$and$i$442$i
- (i32.and
- (get_local $$250)
- (i32.const 32)
- )
- )
- (set_local $$tobool$i$443$i
- (i32.eq
- (get_local $$and$i$442$i)
- (i32.const 0)
- )
- )
- (if
- (get_local $$tobool$i$443$i)
- (block
- (set_local $$sub$ptr$rhs$cast695$i
- (get_local $$s668$1$i)
- )
- (set_local $$sub$ptr$sub696$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast694$i)
- (get_local $$sub$ptr$rhs$cast695$i)
- )
- )
- (call $___fwritex
- (get_local $$s668$1$i)
- (get_local $$sub$ptr$sub696$i)
- (get_local $$f)
- )
- )
+ (set_local $$estr$1$lcssa$i
+ (get_local $$243)
)
- (set_local $$incdec$ptr698$i
- (i32.add
- (get_local $$d$5494$i)
- (i32.const 4)
- )
+ )
+ (set_local $$244
+ (i32.shr_s
+ (get_local $$e$5$ph$i)
+ (i32.const 31)
)
- (set_local $$cmp665$i
- (i32.gt_u
- (get_local $$incdec$ptr698$i)
- (get_local $$arraydecay208$add$ptr213$i)
- )
+ )
+ (set_local $$245
+ (i32.and
+ (get_local $$244)
+ (i32.const 2)
)
- (if
- (get_local $$cmp665$i)
- (block
- (set_local $$incdec$ptr698$i$lcssa
- (get_local $$incdec$ptr698$i)
- )
- (br $while-out$108)
- )
- (set_local $$d$5494$i
- (get_local $$incdec$ptr698$i)
- )
+ )
+ (set_local $$246
+ (i32.add
+ (get_local $$245)
+ (i32.const 43)
)
- (br $while-in$109)
)
- (set_local $$251
- (i32.eq
- (get_local $$239)
- (i32.const 0)
+ (set_local $$conv644$i
+ (i32.and
+ (get_local $$246)
+ (i32.const 255)
)
)
- (block $do-once$114
- (if
- (i32.eqz
- (get_local $$251)
- )
- (block
- (set_local $$252
- (i32.load
- (get_local $$f)
- )
- )
- (set_local $$and$i$448$i
- (i32.and
- (get_local $$252)
- (i32.const 32)
- )
- )
- (set_local $$tobool$i$449$i
- (i32.eq
- (get_local $$and$i$448$i)
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (get_local $$tobool$i$449$i)
- )
- (br $do-once$114)
- )
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $$f)
- )
- )
+ (set_local $$incdec$ptr645$i
+ (i32.add
+ (get_local $$estr$1$lcssa$i)
+ (i32.const -1)
)
)
- (set_local $$cmp707$486$i
- (i32.lt_u
- (get_local $$incdec$ptr698$i$lcssa)
- (get_local $$z$7$i$lcssa)
+ (i32.store8
+ (get_local $$incdec$ptr645$i)
+ (get_local $$conv644$i)
+ )
+ (set_local $$conv646$i
+ (i32.and
+ (get_local $$t$addr$1$i)
+ (i32.const 255)
)
)
- (set_local $$cmp710$487$i
- (i32.gt_s
- (get_local $$p$addr$3$i)
- (i32.const 0)
+ (set_local $$incdec$ptr647$i
+ (i32.add
+ (get_local $$estr$1$lcssa$i)
+ (i32.const -2)
)
)
- (set_local $$253
- (i32.and
- (get_local $$cmp710$487$i)
- (get_local $$cmp707$486$i)
+ (i32.store8
+ (get_local $$incdec$ptr647$i)
+ (get_local $$conv646$i)
+ )
+ (set_local $$sub$ptr$rhs$cast649$i
+ (get_local $$incdec$ptr647$i)
+ )
+ (set_local $$sub$ptr$sub650$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast160$i)
+ (get_local $$sub$ptr$rhs$cast649$i)
)
)
- (if
- (get_local $$253)
- (block
- (set_local $$d$6488$i
- (get_local $$incdec$ptr698$i$lcssa)
+ (set_local $$estr$2$i
+ (get_local $$incdec$ptr647$i)
+ )
+ (set_local $$sub$ptr$sub650$pn$i
+ (get_local $$sub$ptr$sub650$i)
+ )
+ )
+ )
+ (set_local $$add608$i
+ (i32.add
+ (get_local $$pl$0$i)
+ (i32.const 1)
+ )
+ )
+ (set_local $$add612$i
+ (i32.add
+ (get_local $$add608$i)
+ (get_local $$p$addr$3$i)
+ )
+ )
+ (set_local $$l$1$i
+ (i32.add
+ (get_local $$add612$i)
+ (get_local $$lor$ext$i)
+ )
+ )
+ (set_local $$add653$i
+ (i32.add
+ (get_local $$l$1$i)
+ (get_local $$sub$ptr$sub650$pn$i)
+ )
+ )
+ (call $_pad
+ (get_local $$f)
+ (i32.const 32)
+ (get_local $$w$1)
+ (get_local $$add653$i)
+ (get_local $$fl$1$and219)
+ )
+ (set_local $$247
+ (i32.load
+ (get_local $$f)
+ )
+ )
+ (set_local $$and$i$436$i
+ (i32.and
+ (get_local $$247)
+ (i32.const 32)
+ )
+ )
+ (set_local $$tobool$i$437$i
+ (i32.eq
+ (get_local $$and$i$436$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool$i$437$i)
+ (call $___fwritex
+ (get_local $$prefix$0$i)
+ (get_local $$pl$0$i)
+ (get_local $$f)
+ )
+ )
+ (set_local $$xor655$i
+ (i32.xor
+ (get_local $$fl$1$and219)
+ (i32.const 65536)
+ )
+ )
+ (call $_pad
+ (get_local $$f)
+ (i32.const 48)
+ (get_local $$w$1)
+ (get_local $$add653$i)
+ (get_local $$xor655$i)
+ )
+ (block $do-once$106
+ (if
+ (get_local $$cmp614$i)
+ (block
+ (set_local $$cmp660$i
+ (i32.gt_u
+ (get_local $$a$9$ph$i)
+ (get_local $$arraydecay208$add$ptr213$i)
)
- (set_local $$p$addr$4489$i
- (get_local $$p$addr$3$i)
+ )
+ (set_local $$r$0$a$9$i
+ (if
+ (get_local $$cmp660$i)
+ (get_local $$arraydecay208$add$ptr213$i)
+ (get_local $$a$9$ph$i)
)
- (loop $while-out$116 $while-in$117
- (set_local $$254
+ )
+ (set_local $$d$5494$i
+ (get_local $$r$0$a$9$i)
+ )
+ (loop $while-in$109
+ (block $while-out$108
+ (set_local $$248
(i32.load
- (get_local $$d$6488$i)
+ (get_local $$d$5494$i)
)
)
- (set_local $$255
+ (set_local $$249
(call $_fmt_u
- (get_local $$254)
+ (get_local $$248)
(i32.const 0)
(get_local $$add$ptr671$i)
)
)
- (set_local $$cmp722$483$i
- (i32.gt_u
- (get_local $$255)
- (get_local $$buf$i)
+ (set_local $$cmp673$i
+ (i32.eq
+ (get_local $$d$5494$i)
+ (get_local $$r$0$a$9$i)
)
)
- (if
- (get_local $$cmp722$483$i)
- (block
- (set_local $$s715$0484$i
- (get_local $$255)
- )
- (loop $while-out$118 $while-in$119
- (set_local $$incdec$ptr725$i
- (i32.add
- (get_local $$s715$0484$i)
- (i32.const -1)
+ (block $do-once$110
+ (if
+ (get_local $$cmp673$i)
+ (block
+ (set_local $$cmp686$i
+ (i32.eq
+ (get_local $$249)
+ (get_local $$add$ptr671$i)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $$cmp686$i)
+ )
+ (block
+ (set_local $$s668$1$i
+ (get_local $$249)
+ )
+ (br $do-once$110)
)
)
(i32.store8
- (get_local $$incdec$ptr725$i)
+ (get_local $$incdec$ptr689$i)
(i32.const 48)
)
- (set_local $$cmp722$i
+ (set_local $$s668$1$i
+ (get_local $$incdec$ptr689$i)
+ )
+ )
+ (block
+ (set_local $$cmp678$491$i
(i32.gt_u
- (get_local $$incdec$ptr725$i)
+ (get_local $$249)
(get_local $$buf$i)
)
)
(if
- (get_local $$cmp722$i)
- (set_local $$s715$0484$i
- (get_local $$incdec$ptr725$i)
+ (get_local $$cmp678$491$i)
+ (set_local $$s668$0492$i
+ (get_local $$249)
)
(block
- (set_local $$s715$0$lcssa$i
- (get_local $$incdec$ptr725$i)
+ (set_local $$s668$1$i
+ (get_local $$249)
+ )
+ (br $do-once$110)
+ )
+ )
+ (loop $while-in$113
+ (block $while-out$112
+ (set_local $$incdec$ptr681$i
+ (i32.add
+ (get_local $$s668$0492$i)
+ (i32.const -1)
+ )
+ )
+ (i32.store8
+ (get_local $$incdec$ptr681$i)
+ (i32.const 48)
+ )
+ (set_local $$cmp678$i
+ (i32.gt_u
+ (get_local $$incdec$ptr681$i)
+ (get_local $$buf$i)
+ )
+ )
+ (if
+ (get_local $$cmp678$i)
+ (set_local $$s668$0492$i
+ (get_local $$incdec$ptr681$i)
+ )
+ (block
+ (set_local $$s668$1$i
+ (get_local $$incdec$ptr681$i)
+ )
+ (br $while-out$112)
+ )
)
- (br $while-out$118)
+ (br $while-in$113)
)
)
- (br $while-in$119)
)
)
- (set_local $$s715$0$lcssa$i
- (get_local $$255)
- )
)
- (set_local $$256
+ (set_local $$250
(i32.load
(get_local $$f)
)
)
- (set_local $$and$i$454$i
+ (set_local $$and$i$442$i
(i32.and
- (get_local $$256)
+ (get_local $$250)
(i32.const 32)
)
)
- (set_local $$tobool$i$455$i
+ (set_local $$tobool$i$443$i
(i32.eq
- (get_local $$and$i$454$i)
+ (get_local $$and$i$442$i)
(i32.const 0)
)
)
(if
- (get_local $$tobool$i$455$i)
+ (get_local $$tobool$i$443$i)
(block
- (set_local $$cmp727$i
- (i32.gt_s
- (get_local $$p$addr$4489$i)
- (i32.const 9)
- )
+ (set_local $$sub$ptr$rhs$cast695$i
+ (get_local $$s668$1$i)
)
- (set_local $$cond732$i
- (if
- (get_local $$cmp727$i)
- (i32.const 9)
- (get_local $$p$addr$4489$i)
+ (set_local $$sub$ptr$sub696$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast694$i)
+ (get_local $$sub$ptr$rhs$cast695$i)
)
)
- (call $___fwritex
- (get_local $$s715$0$lcssa$i)
- (get_local $$cond732$i)
- (get_local $$f)
+ (drop
+ (call $___fwritex
+ (get_local $$s668$1$i)
+ (get_local $$sub$ptr$sub696$i)
+ (get_local $$f)
+ )
)
)
)
- (set_local $$incdec$ptr734$i
+ (set_local $$incdec$ptr698$i
(i32.add
- (get_local $$d$6488$i)
+ (get_local $$d$5494$i)
(i32.const 4)
)
)
- (set_local $$sub735$i
- (i32.add
- (get_local $$p$addr$4489$i)
- (i32.const -9)
+ (set_local $$cmp665$i
+ (i32.gt_u
+ (get_local $$incdec$ptr698$i)
+ (get_local $$arraydecay208$add$ptr213$i)
)
)
- (set_local $$cmp707$i
- (i32.lt_u
- (get_local $$incdec$ptr734$i)
- (get_local $$z$7$i$lcssa)
+ (if
+ (get_local $$cmp665$i)
+ (block
+ (set_local $$incdec$ptr698$i$lcssa
+ (get_local $$incdec$ptr698$i)
+ )
+ (br $while-out$108)
)
- )
- (set_local $$cmp710$i
- (i32.gt_s
- (get_local $$p$addr$4489$i)
- (i32.const 9)
+ (set_local $$d$5494$i
+ (get_local $$incdec$ptr698$i)
)
)
- (set_local $$257
- (i32.and
- (get_local $$cmp710$i)
- (get_local $$cmp707$i)
- )
+ (br $while-in$109)
+ )
+ )
+ (set_local $$251
+ (i32.eq
+ (get_local $$239)
+ (i32.const 0)
+ )
+ )
+ (block $do-once$114
+ (if
+ (i32.eqz
+ (get_local $$251)
)
- (if
- (get_local $$257)
- (block
- (set_local $$d$6488$i
- (get_local $$incdec$ptr734$i)
+ (block
+ (set_local $$252
+ (i32.load
+ (get_local $$f)
)
- (set_local $$p$addr$4489$i
- (get_local $$sub735$i)
+ )
+ (set_local $$and$i$448$i
+ (i32.and
+ (get_local $$252)
+ (i32.const 32)
)
)
- (block
- (set_local $$p$addr$4$lcssa$i
- (get_local $$sub735$i)
+ (set_local $$tobool$i$449$i
+ (i32.eq
+ (get_local $$and$i$448$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $$tobool$i$449$i)
+ )
+ (br $do-once$114)
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $$f)
)
- (br $while-out$116)
)
)
- (br $while-in$117)
)
)
- (set_local $$p$addr$4$lcssa$i
- (get_local $$p$addr$3$i)
+ (set_local $$cmp707$486$i
+ (i32.lt_u
+ (get_local $$incdec$ptr698$i$lcssa)
+ (get_local $$z$7$i$lcssa)
+ )
)
- )
- (set_local $$add737$i
- (i32.add
- (get_local $$p$addr$4$lcssa$i)
- (i32.const 9)
+ (set_local $$cmp710$487$i
+ (i32.gt_s
+ (get_local $$p$addr$3$i)
+ (i32.const 0)
+ )
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 48)
- (get_local $$add737$i)
- (i32.const 9)
- (i32.const 0)
- )
- )
- (block
- (set_local $$add$ptr742$i
- (i32.add
- (get_local $$a$9$ph$i)
- (i32.const 4)
+ (set_local $$253
+ (i32.and
+ (get_local $$cmp710$487$i)
+ (get_local $$cmp707$486$i)
+ )
)
- )
- (set_local $$z$7$add$ptr742$i
(if
- (get_local $$cmp450$lcssa$i)
- (get_local $$z$7$i$lcssa)
- (get_local $$add$ptr742$i)
+ (get_local $$253)
+ (block
+ (set_local $$d$6488$i
+ (get_local $$incdec$ptr698$i$lcssa)
+ )
+ (set_local $$p$addr$4489$i
+ (get_local $$p$addr$3$i)
+ )
+ (loop $while-in$117
+ (block $while-out$116
+ (set_local $$254
+ (i32.load
+ (get_local $$d$6488$i)
+ )
+ )
+ (set_local $$255
+ (call $_fmt_u
+ (get_local $$254)
+ (i32.const 0)
+ (get_local $$add$ptr671$i)
+ )
+ )
+ (set_local $$cmp722$483$i
+ (i32.gt_u
+ (get_local $$255)
+ (get_local $$buf$i)
+ )
+ )
+ (if
+ (get_local $$cmp722$483$i)
+ (block
+ (set_local $$s715$0484$i
+ (get_local $$255)
+ )
+ (loop $while-in$119
+ (block $while-out$118
+ (set_local $$incdec$ptr725$i
+ (i32.add
+ (get_local $$s715$0484$i)
+ (i32.const -1)
+ )
+ )
+ (i32.store8
+ (get_local $$incdec$ptr725$i)
+ (i32.const 48)
+ )
+ (set_local $$cmp722$i
+ (i32.gt_u
+ (get_local $$incdec$ptr725$i)
+ (get_local $$buf$i)
+ )
+ )
+ (if
+ (get_local $$cmp722$i)
+ (set_local $$s715$0484$i
+ (get_local $$incdec$ptr725$i)
+ )
+ (block
+ (set_local $$s715$0$lcssa$i
+ (get_local $$incdec$ptr725$i)
+ )
+ (br $while-out$118)
+ )
+ )
+ (br $while-in$119)
+ )
+ )
+ )
+ (set_local $$s715$0$lcssa$i
+ (get_local $$255)
+ )
+ )
+ (set_local $$256
+ (i32.load
+ (get_local $$f)
+ )
+ )
+ (set_local $$and$i$454$i
+ (i32.and
+ (get_local $$256)
+ (i32.const 32)
+ )
+ )
+ (set_local $$tobool$i$455$i
+ (i32.eq
+ (get_local $$and$i$454$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool$i$455$i)
+ (block
+ (set_local $$cmp727$i
+ (i32.gt_s
+ (get_local $$p$addr$4489$i)
+ (i32.const 9)
+ )
+ )
+ (set_local $$cond732$i
+ (if
+ (get_local $$cmp727$i)
+ (i32.const 9)
+ (get_local $$p$addr$4489$i)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $$s715$0$lcssa$i)
+ (get_local $$cond732$i)
+ (get_local $$f)
+ )
+ )
+ )
+ )
+ (set_local $$incdec$ptr734$i
+ (i32.add
+ (get_local $$d$6488$i)
+ (i32.const 4)
+ )
+ )
+ (set_local $$sub735$i
+ (i32.add
+ (get_local $$p$addr$4489$i)
+ (i32.const -9)
+ )
+ )
+ (set_local $$cmp707$i
+ (i32.lt_u
+ (get_local $$incdec$ptr734$i)
+ (get_local $$z$7$i$lcssa)
+ )
+ )
+ (set_local $$cmp710$i
+ (i32.gt_s
+ (get_local $$p$addr$4489$i)
+ (i32.const 9)
+ )
+ )
+ (set_local $$257
+ (i32.and
+ (get_local $$cmp710$i)
+ (get_local $$cmp707$i)
+ )
+ )
+ (if
+ (get_local $$257)
+ (block
+ (set_local $$d$6488$i
+ (get_local $$incdec$ptr734$i)
+ )
+ (set_local $$p$addr$4489$i
+ (get_local $$sub735$i)
+ )
+ )
+ (block
+ (set_local $$p$addr$4$lcssa$i
+ (get_local $$sub735$i)
+ )
+ (br $while-out$116)
+ )
+ )
+ (br $while-in$117)
+ )
+ )
+ )
+ (set_local $$p$addr$4$lcssa$i
+ (get_local $$p$addr$3$i)
+ )
)
- )
- (set_local $$cmp748$499$i
- (i32.gt_s
- (get_local $$p$addr$3$i)
- (i32.const -1)
+ (set_local $$add737$i
+ (i32.add
+ (get_local $$p$addr$4$lcssa$i)
+ (i32.const 9)
+ )
+ )
+ (call $_pad
+ (get_local $$f)
+ (i32.const 48)
+ (get_local $$add737$i)
+ (i32.const 9)
+ (i32.const 0)
)
)
- (if
- (get_local $$cmp748$499$i)
- (block
- (set_local $$tobool781$i
- (i32.eq
- (get_local $$and610$pre$phi$iZ2D)
- (i32.const 0)
- )
- )
- (set_local $$d$7500$i
+ (block
+ (set_local $$add$ptr742$i
+ (i32.add
(get_local $$a$9$ph$i)
+ (i32.const 4)
)
- (set_local $$p$addr$5501$i
+ )
+ (set_local $$z$7$add$ptr742$i
+ (if
+ (get_local $$cmp450$lcssa$i)
+ (get_local $$z$7$i$lcssa)
+ (get_local $$add$ptr742$i)
+ )
+ )
+ (set_local $$cmp748$499$i
+ (i32.gt_s
(get_local $$p$addr$3$i)
+ (i32.const -1)
)
- (loop $while-out$120 $while-in$121
- (set_local $$258
- (i32.load
- (get_local $$d$7500$i)
- )
- )
- (set_local $$259
- (call $_fmt_u
- (get_local $$258)
- (i32.const 0)
- (get_local $$add$ptr671$i)
- )
- )
- (set_local $$cmp760$i
+ )
+ (if
+ (get_local $$cmp748$499$i)
+ (block
+ (set_local $$tobool781$i
(i32.eq
- (get_local $$259)
- (get_local $$add$ptr671$i)
+ (get_local $$and610$pre$phi$iZ2D)
+ (i32.const 0)
)
)
- (if
- (get_local $$cmp760$i)
- (block
- (i32.store8
- (get_local $$incdec$ptr689$i)
- (i32.const 48)
- )
- (set_local $$s753$0$i
- (get_local $$incdec$ptr689$i)
- )
- )
- (set_local $$s753$0$i
- (get_local $$259)
- )
+ (set_local $$d$7500$i
+ (get_local $$a$9$ph$i)
)
- (set_local $$cmp765$i
- (i32.eq
- (get_local $$d$7500$i)
- (get_local $$a$9$ph$i)
- )
+ (set_local $$p$addr$5501$i
+ (get_local $$p$addr$3$i)
)
- (block $do-once$122
- (if
- (get_local $$cmp765$i)
- (block
- (set_local $$incdec$ptr776$i
- (i32.add
- (get_local $$s753$0$i)
- (i32.const 1)
- )
+ (loop $while-in$121
+ (block $while-out$120
+ (set_local $$258
+ (i32.load
+ (get_local $$d$7500$i)
)
- (set_local $$260
- (i32.load
- (get_local $$f)
- )
+ )
+ (set_local $$259
+ (call $_fmt_u
+ (get_local $$258)
+ (i32.const 0)
+ (get_local $$add$ptr671$i)
)
- (set_local $$and$i$460$i
- (i32.and
- (get_local $$260)
- (i32.const 32)
- )
+ )
+ (set_local $$cmp760$i
+ (i32.eq
+ (get_local $$259)
+ (get_local $$add$ptr671$i)
)
- (set_local $$tobool$i$461$i
- (i32.eq
- (get_local $$and$i$460$i)
- (i32.const 0)
+ )
+ (if
+ (get_local $$cmp760$i)
+ (block
+ (i32.store8
+ (get_local $$incdec$ptr689$i)
+ (i32.const 48)
)
- )
- (if
- (get_local $$tobool$i$461$i)
- (call $___fwritex
- (get_local $$s753$0$i)
- (i32.const 1)
- (get_local $$f)
+ (set_local $$s753$0$i
+ (get_local $$incdec$ptr689$i)
)
)
- (set_local $$cmp777$i
- (i32.lt_s
- (get_local $$p$addr$5501$i)
- (i32.const 1)
- )
+ (set_local $$s753$0$i
+ (get_local $$259)
)
- (set_local $$or$cond401$i
- (i32.and
- (get_local $$tobool781$i)
- (get_local $$cmp777$i)
- )
+ )
+ (set_local $$cmp765$i
+ (i32.eq
+ (get_local $$d$7500$i)
+ (get_local $$a$9$ph$i)
)
+ )
+ (block $do-once$122
(if
- (get_local $$or$cond401$i)
+ (get_local $$cmp765$i)
(block
+ (set_local $$incdec$ptr776$i
+ (i32.add
+ (get_local $$s753$0$i)
+ (i32.const 1)
+ )
+ )
+ (set_local $$260
+ (i32.load
+ (get_local $$f)
+ )
+ )
+ (set_local $$and$i$460$i
+ (i32.and
+ (get_local $$260)
+ (i32.const 32)
+ )
+ )
+ (set_local $$tobool$i$461$i
+ (i32.eq
+ (get_local $$and$i$460$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool$i$461$i)
+ (call $___fwritex
+ (get_local $$s753$0$i)
+ (i32.const 1)
+ (get_local $$f)
+ )
+ )
+ (set_local $$cmp777$i
+ (i32.lt_s
+ (get_local $$p$addr$5501$i)
+ (i32.const 1)
+ )
+ )
+ (set_local $$or$cond401$i
+ (i32.and
+ (get_local $$tobool781$i)
+ (get_local $$cmp777$i)
+ )
+ )
+ (if
+ (get_local $$or$cond401$i)
+ (block
+ (set_local $$s753$2$i
+ (get_local $$incdec$ptr776$i)
+ )
+ (br $do-once$122)
+ )
+ )
+ (set_local $$261
+ (i32.load
+ (get_local $$f)
+ )
+ )
+ (set_local $$and$i$466$i
+ (i32.and
+ (get_local $$261)
+ (i32.const 32)
+ )
+ )
+ (set_local $$tobool$i$467$i
+ (i32.eq
+ (get_local $$and$i$466$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $$tobool$i$467$i)
+ )
+ (block
+ (set_local $$s753$2$i
+ (get_local $$incdec$ptr776$i)
+ )
+ (br $do-once$122)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $$f)
+ )
+ )
(set_local $$s753$2$i
(get_local $$incdec$ptr776$i)
)
- (br $do-once$122)
- )
- )
- (set_local $$261
- (i32.load
- (get_local $$f)
- )
- )
- (set_local $$and$i$466$i
- (i32.and
- (get_local $$261)
- (i32.const 32)
- )
- )
- (set_local $$tobool$i$467$i
- (i32.eq
- (get_local $$and$i$466$i)
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (get_local $$tobool$i$467$i)
)
(block
- (set_local $$s753$2$i
- (get_local $$incdec$ptr776$i)
+ (set_local $$cmp770$495$i
+ (i32.gt_u
+ (get_local $$s753$0$i)
+ (get_local $$buf$i)
+ )
+ )
+ (if
+ (get_local $$cmp770$495$i)
+ (set_local $$s753$1496$i
+ (get_local $$s753$0$i)
+ )
+ (block
+ (set_local $$s753$2$i
+ (get_local $$s753$0$i)
+ )
+ (br $do-once$122)
+ )
+ )
+ (loop $while-in$125
+ (block $while-out$124
+ (set_local $$incdec$ptr773$i
+ (i32.add
+ (get_local $$s753$1496$i)
+ (i32.const -1)
+ )
+ )
+ (i32.store8
+ (get_local $$incdec$ptr773$i)
+ (i32.const 48)
+ )
+ (set_local $$cmp770$i
+ (i32.gt_u
+ (get_local $$incdec$ptr773$i)
+ (get_local $$buf$i)
+ )
+ )
+ (if
+ (get_local $$cmp770$i)
+ (set_local $$s753$1496$i
+ (get_local $$incdec$ptr773$i)
+ )
+ (block
+ (set_local $$s753$2$i
+ (get_local $$incdec$ptr773$i)
+ )
+ (br $while-out$124)
+ )
+ )
+ (br $while-in$125)
+ )
)
- (br $do-once$122)
)
)
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $$f)
+ )
+ (set_local $$sub$ptr$rhs$cast788$i
+ (get_local $$s753$2$i)
+ )
+ (set_local $$sub$ptr$sub789$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast694$i)
+ (get_local $$sub$ptr$rhs$cast788$i)
)
- (set_local $$s753$2$i
- (get_local $$incdec$ptr776$i)
+ )
+ (set_local $$262
+ (i32.load
+ (get_local $$f)
)
)
- (block
- (set_local $$cmp770$495$i
- (i32.gt_u
- (get_local $$s753$0$i)
- (get_local $$buf$i)
- )
+ (set_local $$and$i$472$i
+ (i32.and
+ (get_local $$262)
+ (i32.const 32)
)
- (if
- (get_local $$cmp770$495$i)
- (set_local $$s753$1496$i
- (get_local $$s753$0$i)
- )
- (block
- (set_local $$s753$2$i
- (get_local $$s753$0$i)
- )
- (br $do-once$122)
- )
+ )
+ (set_local $$tobool$i$473$i
+ (i32.eq
+ (get_local $$and$i$472$i)
+ (i32.const 0)
)
- (loop $while-out$124 $while-in$125
- (set_local $$incdec$ptr773$i
- (i32.add
- (get_local $$s753$1496$i)
- (i32.const -1)
+ )
+ (if
+ (get_local $$tobool$i$473$i)
+ (block
+ (set_local $$cmp790$i
+ (i32.gt_s
+ (get_local $$p$addr$5501$i)
+ (get_local $$sub$ptr$sub789$i)
)
)
- (i32.store8
- (get_local $$incdec$ptr773$i)
- (i32.const 48)
- )
- (set_local $$cmp770$i
- (i32.gt_u
- (get_local $$incdec$ptr773$i)
- (get_local $$buf$i)
+ (set_local $$cond800$i
+ (if
+ (get_local $$cmp790$i)
+ (get_local $$sub$ptr$sub789$i)
+ (get_local $$p$addr$5501$i)
)
)
- (if
- (get_local $$cmp770$i)
- (set_local $$s753$1496$i
- (get_local $$incdec$ptr773$i)
- )
- (block
- (set_local $$s753$2$i
- (get_local $$incdec$ptr773$i)
- )
- (br $while-out$124)
+ (drop
+ (call $___fwritex
+ (get_local $$s753$2$i)
+ (get_local $$cond800$i)
+ (get_local $$f)
)
)
- (br $while-in$125)
)
)
- )
- )
- (set_local $$sub$ptr$rhs$cast788$i
- (get_local $$s753$2$i)
- )
- (set_local $$sub$ptr$sub789$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast694$i)
- (get_local $$sub$ptr$rhs$cast788$i)
- )
- )
- (set_local $$262
- (i32.load
- (get_local $$f)
- )
- )
- (set_local $$and$i$472$i
- (i32.and
- (get_local $$262)
- (i32.const 32)
- )
- )
- (set_local $$tobool$i$473$i
- (i32.eq
- (get_local $$and$i$472$i)
- (i32.const 0)
- )
- )
- (if
- (get_local $$tobool$i$473$i)
- (block
- (set_local $$cmp790$i
- (i32.gt_s
+ (set_local $$sub806$i
+ (i32.sub
(get_local $$p$addr$5501$i)
(get_local $$sub$ptr$sub789$i)
)
)
- (set_local $$cond800$i
- (if
- (get_local $$cmp790$i)
- (get_local $$sub$ptr$sub789$i)
- (get_local $$p$addr$5501$i)
+ (set_local $$incdec$ptr808$i
+ (i32.add
+ (get_local $$d$7500$i)
+ (i32.const 4)
)
)
- (call $___fwritex
- (get_local $$s753$2$i)
- (get_local $$cond800$i)
- (get_local $$f)
+ (set_local $$cmp745$i
+ (i32.lt_u
+ (get_local $$incdec$ptr808$i)
+ (get_local $$z$7$add$ptr742$i)
+ )
)
- )
- )
- (set_local $$sub806$i
- (i32.sub
- (get_local $$p$addr$5501$i)
- (get_local $$sub$ptr$sub789$i)
- )
- )
- (set_local $$incdec$ptr808$i
- (i32.add
- (get_local $$d$7500$i)
- (i32.const 4)
- )
- )
- (set_local $$cmp745$i
- (i32.lt_u
- (get_local $$incdec$ptr808$i)
- (get_local $$z$7$add$ptr742$i)
- )
- )
- (set_local $$cmp748$i
- (i32.gt_s
- (get_local $$sub806$i)
- (i32.const -1)
- )
- )
- (set_local $$263
- (i32.and
- (get_local $$cmp745$i)
- (get_local $$cmp748$i)
- )
- )
- (if
- (get_local $$263)
- (block
- (set_local $$d$7500$i
- (get_local $$incdec$ptr808$i)
+ (set_local $$cmp748$i
+ (i32.gt_s
+ (get_local $$sub806$i)
+ (i32.const -1)
+ )
)
- (set_local $$p$addr$5501$i
- (get_local $$sub806$i)
+ (set_local $$263
+ (i32.and
+ (get_local $$cmp745$i)
+ (get_local $$cmp748$i)
+ )
)
- )
- (block
- (set_local $$p$addr$5$lcssa$i
- (get_local $$sub806$i)
+ (if
+ (get_local $$263)
+ (block
+ (set_local $$d$7500$i
+ (get_local $$incdec$ptr808$i)
+ )
+ (set_local $$p$addr$5501$i
+ (get_local $$sub806$i)
+ )
+ )
+ (block
+ (set_local $$p$addr$5$lcssa$i
+ (get_local $$sub806$i)
+ )
+ (br $while-out$120)
+ )
)
- (br $while-out$120)
+ (br $while-in$121)
)
)
- (br $while-in$121)
+ )
+ (set_local $$p$addr$5$lcssa$i
+ (get_local $$p$addr$3$i)
)
)
- (set_local $$p$addr$5$lcssa$i
- (get_local $$p$addr$3$i)
+ (set_local $$add810$i
+ (i32.add
+ (get_local $$p$addr$5$lcssa$i)
+ (i32.const 18)
+ )
)
- )
- (set_local $$add810$i
- (i32.add
- (get_local $$p$addr$5$lcssa$i)
+ (call $_pad
+ (get_local $$f)
+ (i32.const 48)
+ (get_local $$add810$i)
(i32.const 18)
+ (i32.const 0)
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 48)
- (get_local $$add810$i)
- (i32.const 18)
- (i32.const 0)
- )
- (set_local $$264
- (i32.load
- (get_local $$f)
+ (set_local $$264
+ (i32.load
+ (get_local $$f)
+ )
)
- )
- (set_local $$and$i$i
- (i32.and
- (get_local $$264)
- (i32.const 32)
+ (set_local $$and$i$i
+ (i32.and
+ (get_local $$264)
+ (i32.const 32)
+ )
)
- )
- (set_local $$tobool$i$i
- (i32.eq
- (get_local $$and$i$i)
- (i32.const 0)
+ (set_local $$tobool$i$i
+ (i32.eq
+ (get_local $$and$i$i)
+ (i32.const 0)
+ )
)
- )
- (if
- (i32.eqz
- (get_local $$tobool$i$i)
+ (if
+ (i32.eqz
+ (get_local $$tobool$i$i)
+ )
+ (br $do-once$106)
)
- (br $do-once$106)
- )
- (set_local $$sub$ptr$rhs$cast812$i
- (get_local $$estr$2$i)
- )
- (set_local $$sub$ptr$sub813$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast160$i)
- (get_local $$sub$ptr$rhs$cast812$i)
+ (set_local $$sub$ptr$rhs$cast812$i
+ (get_local $$estr$2$i)
+ )
+ (set_local $$sub$ptr$sub813$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast160$i)
+ (get_local $$sub$ptr$rhs$cast812$i)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $$estr$2$i)
+ (get_local $$sub$ptr$sub813$i)
+ (get_local $$f)
+ )
)
- )
- (call $___fwritex
- (get_local $$estr$2$i)
- (get_local $$sub$ptr$sub813$i)
- (get_local $$f)
)
)
)
- )
- (set_local $$xor816$i
- (i32.xor
- (get_local $$fl$1$and219)
- (i32.const 8192)
- )
- )
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (get_local $$add653$i)
- (get_local $$xor816$i)
- )
- (set_local $$cmp818$i
- (i32.lt_s
- (get_local $$add653$i)
- (get_local $$w$1)
+ (set_local $$xor816$i
+ (i32.xor
+ (get_local $$fl$1$and219)
+ (i32.const 8192)
+ )
)
- )
- (set_local $$w$add653$i
- (if
- (get_local $$cmp818$i)
+ (call $_pad
+ (get_local $$f)
+ (i32.const 32)
(get_local $$w$1)
(get_local $$add653$i)
+ (get_local $$xor816$i)
)
- )
- (set_local $$retval$0$i
- (get_local $$w$add653$i)
- )
- )
- (block
- (set_local $$and36$i
- (i32.and
- (get_local $$t$0)
- (i32.const 32)
+ (set_local $$cmp818$i
+ (i32.lt_s
+ (get_local $$add653$i)
+ (get_local $$w$1)
+ )
)
- )
- (set_local $$tobool37$i
- (i32.ne
- (get_local $$and36$i)
- (i32.const 0)
+ (set_local $$w$add653$i
+ (if
+ (get_local $$cmp818$i)
+ (get_local $$w$1)
+ (get_local $$add653$i)
+ )
)
- )
- (set_local $$cond$i
- (if
- (get_local $$tobool37$i)
- (i32.const 4127)
- (i32.const 4131)
+ (set_local $$retval$0$i
+ (get_local $$w$add653$i)
)
)
- (set_local $$cmp38$i
- (i32.or
- (f64.ne
- (get_local $$y$addr$0$i)
- (get_local $$y$addr$0$i)
+ (block
+ (set_local $$and36$i
+ (i32.and
+ (get_local $$t$0)
+ (i32.const 32)
)
- (f64.ne
- (f64.const 0)
- (f64.const 0)
+ )
+ (set_local $$tobool37$i
+ (i32.ne
+ (get_local $$and36$i)
+ (i32.const 0)
)
)
- )
- (set_local $$cond43$i
- (if
- (get_local $$tobool37$i)
- (i32.const 4135)
- (i32.const 4139)
+ (set_local $$cond$i
+ (if
+ (get_local $$tobool37$i)
+ (i32.const 4127)
+ (i32.const 4131)
+ )
)
- )
- (set_local $$pl$1$i
- (if
- (get_local $$cmp38$i)
- (i32.const 0)
- (get_local $$pl$0$i)
+ (set_local $$cmp38$i
+ (i32.or
+ (f64.ne
+ (get_local $$y$addr$0$i)
+ (get_local $$y$addr$0$i)
+ )
+ (f64.ne
+ (f64.const 0)
+ (f64.const 0)
+ )
+ )
)
- )
- (set_local $$s35$0$i
- (if
- (get_local $$cmp38$i)
- (get_local $$cond43$i)
- (get_local $$cond$i)
+ (set_local $$cond43$i
+ (if
+ (get_local $$tobool37$i)
+ (i32.const 4135)
+ (i32.const 4139)
+ )
)
- )
- (set_local $$add$i$239
- (i32.add
- (get_local $$pl$1$i)
- (i32.const 3)
+ (set_local $$pl$1$i
+ (if
+ (get_local $$cmp38$i)
+ (i32.const 0)
+ (get_local $$pl$0$i)
+ )
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (get_local $$add$i$239)
- (get_local $$and219)
- )
- (set_local $$193
- (i32.load
- (get_local $$f)
+ (set_local $$s35$0$i
+ (if
+ (get_local $$cmp38$i)
+ (get_local $$cond43$i)
+ (get_local $$cond$i)
+ )
)
- )
- (set_local $$and$i$406$i
- (i32.and
- (get_local $$193)
- (i32.const 32)
+ (set_local $$add$i$239
+ (i32.add
+ (get_local $$pl$1$i)
+ (i32.const 3)
+ )
)
- )
- (set_local $$tobool$i$407$i
- (i32.eq
- (get_local $$and$i$406$i)
- (i32.const 0)
+ (call $_pad
+ (get_local $$f)
+ (i32.const 32)
+ (get_local $$w$1)
+ (get_local $$add$i$239)
+ (get_local $$and219)
)
- )
- (if
- (get_local $$tobool$i$407$i)
- (block
- (call $___fwritex
- (get_local $$prefix$0$i)
- (get_local $$pl$1$i)
+ (set_local $$193
+ (i32.load
(get_local $$f)
)
- (set_local $$$pre$i
- (i32.load
- (get_local $$f)
+ )
+ (set_local $$and$i$406$i
+ (i32.and
+ (get_local $$193)
+ (i32.const 32)
+ )
+ )
+ (set_local $$tobool$i$407$i
+ (i32.eq
+ (get_local $$and$i$406$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool$i$407$i)
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $$prefix$0$i)
+ (get_local $$pl$1$i)
+ (get_local $$f)
+ )
+ )
+ (set_local $$$pre$i
+ (i32.load
+ (get_local $$f)
+ )
+ )
+ (set_local $$194
+ (get_local $$$pre$i)
)
)
(set_local $$194
- (get_local $$$pre$i)
+ (get_local $$193)
)
)
- (set_local $$194
- (get_local $$193)
+ (set_local $$and$i$412$i
+ (i32.and
+ (get_local $$194)
+ (i32.const 32)
+ )
)
- )
- (set_local $$and$i$412$i
- (i32.and
- (get_local $$194)
- (i32.const 32)
+ (set_local $$tobool$i$413$i
+ (i32.eq
+ (get_local $$and$i$412$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$tobool$i$413$i
- (i32.eq
- (get_local $$and$i$412$i)
- (i32.const 0)
+ (if
+ (get_local $$tobool$i$413$i)
+ (call $___fwritex
+ (get_local $$s35$0$i)
+ (i32.const 3)
+ (get_local $$f)
+ )
)
- )
- (if
- (get_local $$tobool$i$413$i)
- (call $___fwritex
- (get_local $$s35$0$i)
- (i32.const 3)
+ (set_local $$xor$i
+ (i32.xor
+ (get_local $$fl$1$and219)
+ (i32.const 8192)
+ )
+ )
+ (call $_pad
(get_local $$f)
+ (i32.const 32)
+ (get_local $$w$1)
+ (get_local $$add$i$239)
+ (get_local $$xor$i)
)
- )
- (set_local $$xor$i
- (i32.xor
- (get_local $$fl$1$and219)
- (i32.const 8192)
+ (set_local $$cmp48$i
+ (i32.lt_s
+ (get_local $$add$i$239)
+ (get_local $$w$1)
+ )
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (get_local $$add$i$239)
- (get_local $$xor$i)
- )
- (set_local $$cmp48$i
- (i32.lt_s
- (get_local $$add$i$239)
- (get_local $$w$1)
+ (set_local $$cond53$i
+ (if
+ (get_local $$cmp48$i)
+ (get_local $$w$1)
+ (get_local $$add$i$239)
+ )
)
- )
- (set_local $$cond53$i
- (if
- (get_local $$cmp48$i)
- (get_local $$w$1)
- (get_local $$add$i$239)
+ (set_local $$retval$0$i
+ (get_local $$cond53$i)
)
)
- (set_local $$retval$0$i
- (get_local $$cond53$i)
- )
)
)
+ (set_local $$cnt$0
+ (get_local $$cnt$1)
+ )
+ (set_local $$incdec$ptr169275
+ (get_local $$incdec$ptr169$lcssa)
+ )
+ (set_local $$l$0
+ (get_local $$retval$0$i)
+ )
+ (set_local $$l10n$0
+ (get_local $$l10n$3)
+ )
+ (br $label$continue$L1)
+ (br $switch$24)
)
- (set_local $$cnt$0
- (get_local $$cnt$1)
+ )
+ (block
+ (set_local $$a$2
+ (get_local $$incdec$ptr169275)
)
- (set_local $$incdec$ptr169275
- (get_local $$incdec$ptr169$lcssa)
+ (set_local $$fl$6
+ (get_local $$fl$1$and219)
)
- (set_local $$l$0
- (get_local $$retval$0$i)
+ (set_local $$p$5
+ (get_local $$p$0)
)
- (set_local $$l10n$0
- (get_local $$l10n$3)
+ (set_local $$pl$2
+ (i32.const 0)
+ )
+ (set_local $$prefix$2
+ (i32.const 4091)
+ )
+ (set_local $$z$2
+ (get_local $$add$ptr205)
)
- (br $label$continue$L1)
- (br $switch$24)
- )
- )
- (block
- (set_local $$a$2
- (get_local $$incdec$ptr169275)
- )
- (set_local $$fl$6
- (get_local $$fl$1$and219)
- )
- (set_local $$p$5
- (get_local $$p$0)
- )
- (set_local $$pl$2
- (i32.const 0)
- )
- (set_local $$prefix$2
- (i32.const 4091)
- )
- (set_local $$z$2
- (get_local $$add$ptr205)
)
)
)
)
- )
- (block $label$break$L308
- (if
- (i32.eq
- (get_local $label)
- (i32.const 64)
- )
- (block
- (set_local $label
- (i32.const 0)
- )
- (set_local $$90
- (get_local $$arg)
- )
- (set_local $$91
- (get_local $$90)
- )
- (set_local $$92
- (i32.load
- (get_local $$91)
- )
+ (block $label$break$L308
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 64)
)
- (set_local $$93
- (i32.add
- (get_local $$90)
- (i32.const 4)
+ (block
+ (set_local $label
+ (i32.const 0)
)
- )
- (set_local $$94
- (get_local $$93)
- )
- (set_local $$95
- (i32.load
- (get_local $$94)
+ (set_local $$90
+ (get_local $$arg)
)
- )
- (set_local $$and249
- (i32.and
- (get_local $$t$1)
- (i32.const 32)
+ (set_local $$91
+ (get_local $$90)
)
- )
- (set_local $$96
- (i32.eq
- (get_local $$92)
- (i32.const 0)
+ (set_local $$92
+ (i32.load
+ (get_local $$91)
+ )
)
- )
- (set_local $$97
- (i32.eq
- (get_local $$95)
- (i32.const 0)
+ (set_local $$93
+ (i32.add
+ (get_local $$90)
+ (i32.const 4)
+ )
)
- )
- (set_local $$98
- (i32.and
- (get_local $$96)
- (get_local $$97)
+ (set_local $$94
+ (get_local $$93)
)
- )
- (if
- (get_local $$98)
- (block
- (set_local $$a$0
- (get_local $$add$ptr205)
- )
- (set_local $$fl$4
- (get_local $$fl$3)
+ (set_local $$95
+ (i32.load
+ (get_local $$94)
)
- (set_local $$p$2
- (get_local $$p$1)
+ )
+ (set_local $$and249
+ (i32.and
+ (get_local $$t$1)
+ (i32.const 32)
)
- (set_local $$pl$1
+ )
+ (set_local $$96
+ (i32.eq
+ (get_local $$92)
(i32.const 0)
)
- (set_local $$prefix$1
- (i32.const 4091)
- )
- (set_local $label
- (i32.const 77)
- )
)
- (block
- (set_local $$101
+ (set_local $$97
+ (i32.eq
(get_local $$95)
+ (i32.const 0)
)
- (set_local $$99
- (get_local $$92)
+ )
+ (set_local $$98
+ (i32.and
+ (get_local $$96)
+ (get_local $$97)
)
- (set_local $$s$addr$06$i
- (get_local $$add$ptr205)
+ )
+ (if
+ (get_local $$98)
+ (block
+ (set_local $$a$0
+ (get_local $$add$ptr205)
+ )
+ (set_local $$fl$4
+ (get_local $$fl$3)
+ )
+ (set_local $$p$2
+ (get_local $$p$1)
+ )
+ (set_local $$pl$1
+ (i32.const 0)
+ )
+ (set_local $$prefix$1
+ (i32.const 4091)
+ )
+ (set_local $label
+ (i32.const 77)
+ )
)
- (loop $while-out$129 $while-in$130
- (set_local $$idxprom$i
- (i32.and
- (get_local $$99)
- (i32.const 15)
- )
+ (block
+ (set_local $$101
+ (get_local $$95)
)
- (set_local $$arrayidx$i
- (i32.add
- (i32.const 4075)
- (get_local $$idxprom$i)
- )
+ (set_local $$99
+ (get_local $$92)
)
- (set_local $$100
- (i32.load8_s
- (get_local $$arrayidx$i)
- )
+ (set_local $$s$addr$06$i
+ (get_local $$add$ptr205)
)
- (set_local $$conv$4$i$211
- (i32.and
- (get_local $$100)
- (i32.const 255)
+ (loop $while-in$130
+ (block $while-out$129
+ (set_local $$idxprom$i
+ (i32.and
+ (get_local $$99)
+ (i32.const 15)
+ )
+ )
+ (set_local $$arrayidx$i
+ (i32.add
+ (i32.const 4075)
+ (get_local $$idxprom$i)
+ )
+ )
+ (set_local $$100
+ (i32.load8_s
+ (get_local $$arrayidx$i)
+ )
+ )
+ (set_local $$conv$4$i$211
+ (i32.and
+ (get_local $$100)
+ (i32.const 255)
+ )
+ )
+ (set_local $$or$i
+ (i32.or
+ (get_local $$conv$4$i$211)
+ (get_local $$and249)
+ )
+ )
+ (set_local $$conv1$i
+ (i32.and
+ (get_local $$or$i)
+ (i32.const 255)
+ )
+ )
+ (set_local $$incdec$ptr$i$212
+ (i32.add
+ (get_local $$s$addr$06$i)
+ (i32.const -1)
+ )
+ )
+ (i32.store8
+ (get_local $$incdec$ptr$i$212)
+ (get_local $$conv1$i)
+ )
+ (set_local $$102
+ (call $_bitshift64Lshr
+ (get_local $$99)
+ (get_local $$101)
+ (i32.const 4)
+ )
+ )
+ (set_local $$103
+ (get_global $tempRet0)
+ )
+ (set_local $$104
+ (i32.eq
+ (get_local $$102)
+ (i32.const 0)
+ )
+ )
+ (set_local $$105
+ (i32.eq
+ (get_local $$103)
+ (i32.const 0)
+ )
+ )
+ (set_local $$106
+ (i32.and
+ (get_local $$104)
+ (get_local $$105)
+ )
+ )
+ (if
+ (get_local $$106)
+ (block
+ (set_local $$incdec$ptr$i$212$lcssa
+ (get_local $$incdec$ptr$i$212)
+ )
+ (br $while-out$129)
+ )
+ (block
+ (set_local $$101
+ (get_local $$103)
+ )
+ (set_local $$99
+ (get_local $$102)
+ )
+ (set_local $$s$addr$06$i
+ (get_local $$incdec$ptr$i$212)
+ )
+ )
+ )
+ (br $while-in$130)
)
)
- (set_local $$or$i
- (i32.or
- (get_local $$conv$4$i$211)
- (get_local $$and249)
- )
+ (set_local $$107
+ (get_local $$arg)
)
- (set_local $$conv1$i
- (i32.and
- (get_local $$or$i)
- (i32.const 255)
- )
+ (set_local $$108
+ (get_local $$107)
)
- (set_local $$incdec$ptr$i$212
- (i32.add
- (get_local $$s$addr$06$i)
- (i32.const -1)
+ (set_local $$109
+ (i32.load
+ (get_local $$108)
)
)
- (i32.store8
- (get_local $$incdec$ptr$i$212)
- (get_local $$conv1$i)
- )
- (set_local $$102
- (call $_bitshift64Lshr
- (get_local $$99)
- (get_local $$101)
+ (set_local $$110
+ (i32.add
+ (get_local $$107)
(i32.const 4)
)
)
- (set_local $$103
+ (set_local $$111
+ (get_local $$110)
+ )
+ (set_local $$112
(i32.load
- (i32.const 168)
+ (get_local $$111)
)
)
- (set_local $$104
+ (set_local $$113
(i32.eq
- (get_local $$102)
+ (get_local $$109)
(i32.const 0)
)
)
- (set_local $$105
+ (set_local $$114
(i32.eq
- (get_local $$103)
+ (get_local $$112)
(i32.const 0)
)
)
- (set_local $$106
+ (set_local $$115
(i32.and
- (get_local $$104)
- (get_local $$105)
- )
- )
- (if
- (get_local $$106)
- (block
- (set_local $$incdec$ptr$i$212$lcssa
- (get_local $$incdec$ptr$i$212)
- )
- (br $while-out$129)
- )
- (block
- (set_local $$101
- (get_local $$103)
- )
- (set_local $$99
- (get_local $$102)
- )
- (set_local $$s$addr$06$i
- (get_local $$incdec$ptr$i$212)
- )
+ (get_local $$113)
+ (get_local $$114)
)
)
- (br $while-in$130)
- )
- (set_local $$107
- (get_local $$arg)
- )
- (set_local $$108
- (get_local $$107)
- )
- (set_local $$109
- (i32.load
- (get_local $$108)
- )
- )
- (set_local $$110
- (i32.add
- (get_local $$107)
- (i32.const 4)
- )
- )
- (set_local $$111
- (get_local $$110)
- )
- (set_local $$112
- (i32.load
- (get_local $$111)
- )
- )
- (set_local $$113
- (i32.eq
- (get_local $$109)
- (i32.const 0)
- )
- )
- (set_local $$114
- (i32.eq
- (get_local $$112)
- (i32.const 0)
- )
- )
- (set_local $$115
- (i32.and
- (get_local $$113)
- (get_local $$114)
- )
- )
- (set_local $$and254
- (i32.and
- (get_local $$fl$3)
- (i32.const 8)
- )
- )
- (set_local $$tobool255
- (i32.eq
- (get_local $$and254)
- (i32.const 0)
- )
- )
- (set_local $$or$cond193
- (i32.or
- (get_local $$tobool255)
- (get_local $$115)
- )
- )
- (if
- (get_local $$or$cond193)
- (block
- (set_local $$a$0
- (get_local $$incdec$ptr$i$212$lcssa)
- )
- (set_local $$fl$4
+ (set_local $$and254
+ (i32.and
(get_local $$fl$3)
+ (i32.const 8)
)
- (set_local $$p$2
- (get_local $$p$1)
- )
- (set_local $$pl$1
+ )
+ (set_local $$tobool255
+ (i32.eq
+ (get_local $$and254)
(i32.const 0)
)
- (set_local $$prefix$1
- (i32.const 4091)
- )
- (set_local $label
- (i32.const 77)
+ )
+ (set_local $$or$cond193
+ (i32.or
+ (get_local $$tobool255)
+ (get_local $$115)
)
)
- (block
- (set_local $$shr
- (i32.shr_s
- (get_local $$t$1)
- (i32.const 4)
+ (if
+ (get_local $$or$cond193)
+ (block
+ (set_local $$a$0
+ (get_local $$incdec$ptr$i$212$lcssa)
)
- )
- (set_local $$add$ptr257
- (i32.add
+ (set_local $$fl$4
+ (get_local $$fl$3)
+ )
+ (set_local $$p$2
+ (get_local $$p$1)
+ )
+ (set_local $$pl$1
+ (i32.const 0)
+ )
+ (set_local $$prefix$1
(i32.const 4091)
- (get_local $$shr)
+ )
+ (set_local $label
+ (i32.const 77)
)
)
- (set_local $$a$0
- (get_local $$incdec$ptr$i$212$lcssa)
- )
- (set_local $$fl$4
- (get_local $$fl$3)
- )
- (set_local $$p$2
- (get_local $$p$1)
- )
- (set_local $$pl$1
- (i32.const 2)
- )
- (set_local $$prefix$1
- (get_local $$add$ptr257)
- )
- (set_local $label
- (i32.const 77)
+ (block
+ (set_local $$shr
+ (i32.shr_s
+ (get_local $$t$1)
+ (i32.const 4)
+ )
+ )
+ (set_local $$add$ptr257
+ (i32.add
+ (i32.const 4091)
+ (get_local $$shr)
+ )
+ )
+ (set_local $$a$0
+ (get_local $$incdec$ptr$i$212$lcssa)
+ )
+ (set_local $$fl$4
+ (get_local $$fl$3)
+ )
+ (set_local $$p$2
+ (get_local $$p$1)
+ )
+ (set_local $$pl$1
+ (i32.const 2)
+ )
+ (set_local $$prefix$1
+ (get_local $$add$ptr257)
+ )
+ (set_local $label
+ (i32.const 77)
+ )
)
)
)
)
)
- )
- (if
- (i32.eq
- (get_local $label)
- (i32.const 76)
- )
- (block
- (set_local $label
- (i32.const 0)
- )
- (set_local $$150
- (call $_fmt_u
- (get_local $$148)
- (get_local $$149)
- (get_local $$add$ptr205)
- )
- )
- (set_local $$a$0
- (get_local $$150)
- )
- (set_local $$fl$4
- (get_local $$fl$1$and219)
- )
- (set_local $$p$2
- (get_local $$p$0)
- )
- (set_local $$pl$1
- (get_local $$pl$0)
- )
- (set_local $$prefix$1
- (get_local $$prefix$0)
- )
- (set_local $label
- (i32.const 77)
- )
- )
(if
(i32.eq
(get_local $label)
- (i32.const 82)
+ (i32.const 76)
)
(block
(set_local $label
(i32.const 0)
)
- (set_local $$call356
- (call $_memchr
- (get_local $$a$1)
- (i32.const 0)
- (get_local $$p$0)
- )
- )
- (set_local $$tobool357
- (i32.eq
- (get_local $$call356)
- (i32.const 0)
- )
- )
- (set_local $$sub$ptr$lhs$cast361
- (get_local $$call356)
- )
- (set_local $$sub$ptr$rhs$cast362
- (get_local $$a$1)
- )
- (set_local $$sub$ptr$sub363
- (i32.sub
- (get_local $$sub$ptr$lhs$cast361)
- (get_local $$sub$ptr$rhs$cast362)
- )
- )
- (set_local $$add$ptr359
- (i32.add
- (get_local $$a$1)
- (get_local $$p$0)
- )
- )
- (set_local $$z$1
- (if
- (get_local $$tobool357)
- (get_local $$add$ptr359)
- (get_local $$call356)
- )
- )
- (set_local $$p$3
- (if
- (get_local $$tobool357)
- (get_local $$p$0)
- (get_local $$sub$ptr$sub363)
+ (set_local $$150
+ (call $_fmt_u
+ (get_local $$148)
+ (get_local $$149)
+ (get_local $$add$ptr205)
)
)
- (set_local $$a$2
- (get_local $$a$1)
+ (set_local $$a$0
+ (get_local $$150)
)
- (set_local $$fl$6
- (get_local $$and219)
+ (set_local $$fl$4
+ (get_local $$fl$1$and219)
)
- (set_local $$p$5
- (get_local $$p$3)
+ (set_local $$p$2
+ (get_local $$p$0)
)
- (set_local $$pl$2
- (i32.const 0)
+ (set_local $$pl$1
+ (get_local $$pl$0)
)
- (set_local $$prefix$2
- (i32.const 4091)
+ (set_local $$prefix$1
+ (get_local $$prefix$0)
)
- (set_local $$z$2
- (get_local $$z$1)
+ (set_local $label
+ (i32.const 77)
)
)
(if
(i32.eq
(get_local $label)
- (i32.const 86)
+ (i32.const 82)
)
(block
(set_local $label
(i32.const 0)
)
- (set_local $$176
- (i32.load
- (get_local $$arg)
+ (set_local $$call356
+ (call $_memchr
+ (get_local $$a$1)
+ (i32.const 0)
+ (get_local $$p$0)
)
)
- (set_local $$i$0316
- (i32.const 0)
+ (set_local $$tobool357
+ (i32.eq
+ (get_local $$call356)
+ (i32.const 0)
+ )
)
- (set_local $$l$1315
- (i32.const 0)
+ (set_local $$sub$ptr$lhs$cast361
+ (get_local $$call356)
)
- (set_local $$ws$0317
- (get_local $$176)
+ (set_local $$sub$ptr$rhs$cast362
+ (get_local $$a$1)
)
- (loop $while-out$131 $while-in$132
- (set_local $$177
- (i32.load
- (get_local $$ws$0317)
- )
- )
- (set_local $$tobool380
- (i32.eq
- (get_local $$177)
- (i32.const 0)
- )
- )
- (if
- (get_local $$tobool380)
- (block
- (set_local $$i$0$lcssa
- (get_local $$i$0316)
- )
- (set_local $$l$2
- (get_local $$l$1315)
- )
- (br $while-out$131)
- )
- )
- (set_local $$call384
- (call $_wctomb
- (get_local $$mb)
- (get_local $$177)
- )
- )
- (set_local $$cmp385
- (i32.lt_s
- (get_local $$call384)
- (i32.const 0)
- )
- )
- (set_local $$sub389
- (i32.sub
- (get_local $$p$4365)
- (get_local $$i$0316)
- )
- )
- (set_local $$cmp390
- (i32.gt_u
- (get_local $$call384)
- (get_local $$sub389)
- )
+ (set_local $$sub$ptr$sub363
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast361)
+ (get_local $$sub$ptr$rhs$cast362)
)
- (set_local $$or$cond195
- (i32.or
- (get_local $$cmp385)
- (get_local $$cmp390)
- )
+ )
+ (set_local $$add$ptr359
+ (i32.add
+ (get_local $$a$1)
+ (get_local $$p$0)
)
+ )
+ (set_local $$z$1
(if
- (get_local $$or$cond195)
- (block
- (set_local $$i$0$lcssa
- (get_local $$i$0316)
- )
- (set_local $$l$2
- (get_local $$call384)
- )
- (br $while-out$131)
- )
- )
- (set_local $$incdec$ptr383
- (i32.add
- (get_local $$ws$0317)
- (i32.const 4)
- )
- )
- (set_local $$add395
- (i32.add
- (get_local $$call384)
- (get_local $$i$0316)
- )
- )
- (set_local $$cmp377
- (i32.gt_u
- (get_local $$p$4365)
- (get_local $$add395)
- )
+ (get_local $$tobool357)
+ (get_local $$add$ptr359)
+ (get_local $$call356)
)
+ )
+ (set_local $$p$3
(if
- (get_local $$cmp377)
- (block
- (set_local $$i$0316
- (get_local $$add395)
- )
- (set_local $$l$1315
- (get_local $$call384)
- )
- (set_local $$ws$0317
- (get_local $$incdec$ptr383)
- )
- )
- (block
- (set_local $$i$0$lcssa
- (get_local $$add395)
- )
- (set_local $$l$2
- (get_local $$call384)
- )
- (br $while-out$131)
- )
+ (get_local $$tobool357)
+ (get_local $$p$0)
+ (get_local $$sub$ptr$sub363)
)
- (br $while-in$132)
)
- (set_local $$cmp397
- (i32.lt_s
- (get_local $$l$2)
- (i32.const 0)
- )
+ (set_local $$a$2
+ (get_local $$a$1)
)
- (if
- (get_local $$cmp397)
- (block
- (set_local $$retval$0
- (i32.const -1)
- )
- (br $label$break$L1)
- )
+ (set_local $$fl$6
+ (get_local $$and219)
)
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (get_local $$i$0$lcssa)
- (get_local $$fl$1$and219)
+ (set_local $$p$5
+ (get_local $$p$3)
)
- (set_local $$cmp404$324
- (i32.eq
- (get_local $$i$0$lcssa)
+ (set_local $$pl$2
+ (i32.const 0)
+ )
+ (set_local $$prefix$2
+ (i32.const 4091)
+ )
+ (set_local $$z$2
+ (get_local $$z$1)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 86)
+ )
+ (block
+ (set_local $label
(i32.const 0)
)
- )
- (if
- (get_local $$cmp404$324)
- (block
- (set_local $$i$0$lcssa368
- (i32.const 0)
- )
- (set_local $label
- (i32.const 98)
+ (set_local $$176
+ (i32.load
+ (get_local $$arg)
)
)
- (block
- (set_local $$178
- (i32.load
- (get_local $$arg)
- )
- )
- (set_local $$i$1325
- (i32.const 0)
- )
- (set_local $$ws$1326
- (get_local $$178)
- )
- (loop $while-out$133 $while-in$134
- (set_local $$179
+ (set_local $$i$0316
+ (i32.const 0)
+ )
+ (set_local $$l$1315
+ (i32.const 0)
+ )
+ (set_local $$ws$0317
+ (get_local $$176)
+ )
+ (loop $while-in$132
+ (block $while-out$131
+ (set_local $$177
(i32.load
- (get_local $$ws$1326)
+ (get_local $$ws$0317)
)
)
- (set_local $$tobool407
+ (set_local $$tobool380
(i32.eq
- (get_local $$179)
+ (get_local $$177)
(i32.const 0)
)
)
(if
- (get_local $$tobool407)
+ (get_local $$tobool380)
(block
- (set_local $$i$0$lcssa368
- (get_local $$i$0$lcssa)
+ (set_local $$i$0$lcssa
+ (get_local $$i$0316)
)
- (set_local $label
- (i32.const 98)
+ (set_local $$l$2
+ (get_local $$l$1315)
)
- (br $label$break$L308)
- )
- )
- (set_local $$incdec$ptr410
- (i32.add
- (get_local $$ws$1326)
- (i32.const 4)
+ (br $while-out$131)
)
)
- (set_local $$call411
+ (set_local $$call384
(call $_wctomb
(get_local $$mb)
- (get_local $$179)
+ (get_local $$177)
)
)
- (set_local $$add412
- (i32.add
- (get_local $$call411)
- (get_local $$i$1325)
+ (set_local $$cmp385
+ (i32.lt_s
+ (get_local $$call384)
+ (i32.const 0)
)
)
- (set_local $$cmp413
- (i32.gt_s
- (get_local $$add412)
- (get_local $$i$0$lcssa)
+ (set_local $$sub389
+ (i32.sub
+ (get_local $$p$4365)
+ (get_local $$i$0316)
+ )
+ )
+ (set_local $$cmp390
+ (i32.gt_u
+ (get_local $$call384)
+ (get_local $$sub389)
+ )
+ )
+ (set_local $$or$cond195
+ (i32.or
+ (get_local $$cmp385)
+ (get_local $$cmp390)
)
)
(if
- (get_local $$cmp413)
+ (get_local $$or$cond195)
(block
- (set_local $$i$0$lcssa368
- (get_local $$i$0$lcssa)
+ (set_local $$i$0$lcssa
+ (get_local $$i$0316)
)
- (set_local $label
- (i32.const 98)
+ (set_local $$l$2
+ (get_local $$call384)
)
- (br $label$break$L308)
+ (br $while-out$131)
)
)
- (set_local $$180
- (i32.load
- (get_local $$f)
+ (set_local $$incdec$ptr383
+ (i32.add
+ (get_local $$ws$0317)
+ (i32.const 4)
)
)
- (set_local $$and$i$231
- (i32.and
- (get_local $$180)
- (i32.const 32)
+ (set_local $$add395
+ (i32.add
+ (get_local $$call384)
+ (get_local $$i$0316)
)
)
- (set_local $$tobool$i$232
- (i32.eq
- (get_local $$and$i$231)
- (i32.const 0)
+ (set_local $$cmp377
+ (i32.gt_u
+ (get_local $$p$4365)
+ (get_local $$add395)
)
)
(if
- (get_local $$tobool$i$232)
- (call $___fwritex
- (get_local $$mb)
- (get_local $$call411)
- (get_local $$f)
+ (get_local $$cmp377)
+ (block
+ (set_local $$i$0316
+ (get_local $$add395)
+ )
+ (set_local $$l$1315
+ (get_local $$call384)
+ )
+ (set_local $$ws$0317
+ (get_local $$incdec$ptr383)
+ )
+ )
+ (block
+ (set_local $$i$0$lcssa
+ (get_local $$add395)
+ )
+ (set_local $$l$2
+ (get_local $$call384)
+ )
+ (br $while-out$131)
)
)
- (set_local $$cmp404
- (i32.lt_u
- (get_local $$add412)
- (get_local $$i$0$lcssa)
+ (br $while-in$132)
+ )
+ )
+ (set_local $$cmp397
+ (i32.lt_s
+ (get_local $$l$2)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$cmp397)
+ (block
+ (set_local $$retval$0
+ (i32.const -1)
+ )
+ (br $label$break$L1)
+ )
+ )
+ (call $_pad
+ (get_local $$f)
+ (i32.const 32)
+ (get_local $$w$1)
+ (get_local $$i$0$lcssa)
+ (get_local $$fl$1$and219)
+ )
+ (set_local $$cmp404$324
+ (i32.eq
+ (get_local $$i$0$lcssa)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$cmp404$324)
+ (block
+ (set_local $$i$0$lcssa368
+ (i32.const 0)
+ )
+ (set_local $label
+ (i32.const 98)
+ )
+ )
+ (block
+ (set_local $$178
+ (i32.load
+ (get_local $$arg)
)
)
- (if
- (get_local $$cmp404)
- (block
- (set_local $$i$1325
- (get_local $$add412)
+ (set_local $$i$1325
+ (i32.const 0)
+ )
+ (set_local $$ws$1326
+ (get_local $$178)
+ )
+ (loop $while-in$134
+ (block $while-out$133
+ (set_local $$179
+ (i32.load
+ (get_local $$ws$1326)
+ )
)
- (set_local $$ws$1326
- (get_local $$incdec$ptr410)
+ (set_local $$tobool407
+ (i32.eq
+ (get_local $$179)
+ (i32.const 0)
+ )
)
- )
- (block
- (set_local $$i$0$lcssa368
- (get_local $$i$0$lcssa)
+ (if
+ (get_local $$tobool407)
+ (block
+ (set_local $$i$0$lcssa368
+ (get_local $$i$0$lcssa)
+ )
+ (set_local $label
+ (i32.const 98)
+ )
+ (br $label$break$L308)
+ )
)
- (set_local $label
- (i32.const 98)
+ (set_local $$incdec$ptr410
+ (i32.add
+ (get_local $$ws$1326)
+ (i32.const 4)
+ )
+ )
+ (set_local $$call411
+ (call $_wctomb
+ (get_local $$mb)
+ (get_local $$179)
+ )
+ )
+ (set_local $$add412
+ (i32.add
+ (get_local $$call411)
+ (get_local $$i$1325)
+ )
+ )
+ (set_local $$cmp413
+ (i32.gt_s
+ (get_local $$add412)
+ (get_local $$i$0$lcssa)
+ )
+ )
+ (if
+ (get_local $$cmp413)
+ (block
+ (set_local $$i$0$lcssa368
+ (get_local $$i$0$lcssa)
+ )
+ (set_local $label
+ (i32.const 98)
+ )
+ (br $label$break$L308)
+ )
)
- (br $while-out$133)
+ (set_local $$180
+ (i32.load
+ (get_local $$f)
+ )
+ )
+ (set_local $$and$i$231
+ (i32.and
+ (get_local $$180)
+ (i32.const 32)
+ )
+ )
+ (set_local $$tobool$i$232
+ (i32.eq
+ (get_local $$and$i$231)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool$i$232)
+ (call $___fwritex
+ (get_local $$mb)
+ (get_local $$call411)
+ (get_local $$f)
+ )
+ )
+ (set_local $$cmp404
+ (i32.lt_u
+ (get_local $$add412)
+ (get_local $$i$0$lcssa)
+ )
+ )
+ (if
+ (get_local $$cmp404)
+ (block
+ (set_local $$i$1325
+ (get_local $$add412)
+ )
+ (set_local $$ws$1326
+ (get_local $$incdec$ptr410)
+ )
+ )
+ (block
+ (set_local $$i$0$lcssa368
+ (get_local $$i$0$lcssa)
+ )
+ (set_local $label
+ (i32.const 98)
+ )
+ (br $while-out$133)
+ )
+ )
+ (br $while-in$134)
)
)
- (br $while-in$134)
)
)
)
@@ -13937,372 +13882,372 @@
)
)
)
- )
- (if
- (i32.eq
- (get_local $label)
- (i32.const 98)
- )
- (block
- (set_local $label
- (i32.const 0)
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 98)
)
- (set_local $$xor
- (i32.xor
- (get_local $$fl$1$and219)
- (i32.const 8192)
+ (block
+ (set_local $label
+ (i32.const 0)
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (get_local $$i$0$lcssa368)
- (get_local $$xor)
- )
- (set_local $$cmp421
- (i32.gt_s
- (get_local $$w$1)
- (get_local $$i$0$lcssa368)
+ (set_local $$xor
+ (i32.xor
+ (get_local $$fl$1$and219)
+ (i32.const 8192)
+ )
)
- )
- (set_local $$cond426
- (if
- (get_local $$cmp421)
+ (call $_pad
+ (get_local $$f)
+ (i32.const 32)
(get_local $$w$1)
(get_local $$i$0$lcssa368)
+ (get_local $$xor)
)
- )
- (set_local $$cnt$0
- (get_local $$cnt$1)
- )
- (set_local $$incdec$ptr169275
- (get_local $$incdec$ptr169$lcssa)
- )
- (set_local $$l$0
- (get_local $$cond426)
- )
- (set_local $$l10n$0
- (get_local $$l10n$3)
- )
- (br $label$continue$L1)
- )
- )
- (if
- (i32.eq
- (get_local $label)
- (i32.const 77)
- )
- (block
- (set_local $label
- (i32.const 0)
- )
- (set_local $$cmp306
- (i32.gt_s
- (get_local $$p$2)
- (i32.const -1)
- )
- )
- (set_local $$and309
- (i32.and
- (get_local $$fl$4)
- (i32.const -65537)
- )
- )
- (set_local $$and309$fl$4
- (if
- (get_local $$cmp306)
- (get_local $$and309)
- (get_local $$fl$4)
+ (set_local $$cmp421
+ (i32.gt_s
+ (get_local $$w$1)
+ (get_local $$i$0$lcssa368)
+ )
)
- )
- (set_local $$151
- (get_local $$arg)
- )
- (set_local $$152
- (get_local $$151)
- )
- (set_local $$153
- (i32.load
- (get_local $$152)
+ (set_local $$cond426
+ (if
+ (get_local $$cmp421)
+ (get_local $$w$1)
+ (get_local $$i$0$lcssa368)
+ )
)
- )
- (set_local $$154
- (i32.add
- (get_local $$151)
- (i32.const 4)
+ (set_local $$cnt$0
+ (get_local $$cnt$1)
)
- )
- (set_local $$155
- (get_local $$154)
- )
- (set_local $$156
- (i32.load
- (get_local $$155)
+ (set_local $$incdec$ptr169275
+ (get_local $$incdec$ptr169$lcssa)
)
- )
- (set_local $$157
- (i32.ne
- (get_local $$153)
- (i32.const 0)
+ (set_local $$l$0
+ (get_local $$cond426)
)
- )
- (set_local $$158
- (i32.ne
- (get_local $$156)
- (i32.const 0)
+ (set_local $$l10n$0
+ (get_local $$l10n$3)
)
+ (br $label$continue$L1)
)
- (set_local $$159
- (i32.or
- (get_local $$157)
- (get_local $$158)
- )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 77)
)
- (set_local $$tobool314
- (i32.ne
- (get_local $$p$2)
+ (block
+ (set_local $label
(i32.const 0)
)
- )
- (set_local $$or$cond
- (i32.or
- (get_local $$tobool314)
- (get_local $$159)
- )
- )
- (if
- (get_local $$or$cond)
- (block
- (set_local $$sub$ptr$rhs$cast318
- (get_local $$a$0)
- )
- (set_local $$sub$ptr$sub319
- (i32.sub
- (get_local $$sub$ptr$lhs$cast317)
- (get_local $$sub$ptr$rhs$cast318)
- )
- )
- (set_local $$160
- (i32.and
- (get_local $$159)
- (i32.const 1)
- )
- )
- (set_local $$lnot$ext
- (i32.xor
- (get_local $$160)
- (i32.const 1)
- )
- )
- (set_local $$add322
- (i32.add
- (get_local $$lnot$ext)
- (get_local $$sub$ptr$sub319)
- )
- )
- (set_local $$cmp323
- (i32.gt_s
- (get_local $$p$2)
- (get_local $$add322)
- )
- )
- (set_local $$p$2$add322
- (if
- (get_local $$cmp323)
- (get_local $$p$2)
- (get_local $$add322)
- )
+ (set_local $$cmp306
+ (i32.gt_s
+ (get_local $$p$2)
+ (i32.const -1)
)
- (set_local $$a$2
- (get_local $$a$0)
+ )
+ (set_local $$and309
+ (i32.and
+ (get_local $$fl$4)
+ (i32.const -65537)
)
- (set_local $$fl$6
- (get_local $$and309$fl$4)
+ )
+ (set_local $$and309$fl$4
+ (if
+ (get_local $$cmp306)
+ (get_local $$and309)
+ (get_local $$fl$4)
)
- (set_local $$p$5
- (get_local $$p$2$add322)
+ )
+ (set_local $$151
+ (get_local $$arg)
+ )
+ (set_local $$152
+ (get_local $$151)
+ )
+ (set_local $$153
+ (i32.load
+ (get_local $$152)
)
- (set_local $$pl$2
- (get_local $$pl$1)
+ )
+ (set_local $$154
+ (i32.add
+ (get_local $$151)
+ (i32.const 4)
)
- (set_local $$prefix$2
- (get_local $$prefix$1)
+ )
+ (set_local $$155
+ (get_local $$154)
+ )
+ (set_local $$156
+ (i32.load
+ (get_local $$155)
)
- (set_local $$z$2
- (get_local $$add$ptr205)
+ )
+ (set_local $$157
+ (i32.ne
+ (get_local $$153)
+ (i32.const 0)
)
)
- (block
- (set_local $$a$2
- (get_local $$add$ptr205)
+ (set_local $$158
+ (i32.ne
+ (get_local $$156)
+ (i32.const 0)
)
- (set_local $$fl$6
- (get_local $$and309$fl$4)
+ )
+ (set_local $$159
+ (i32.or
+ (get_local $$157)
+ (get_local $$158)
)
- (set_local $$p$5
+ )
+ (set_local $$tobool314
+ (i32.ne
+ (get_local $$p$2)
(i32.const 0)
)
- (set_local $$pl$2
- (get_local $$pl$1)
+ )
+ (set_local $$or$cond
+ (i32.or
+ (get_local $$tobool314)
+ (get_local $$159)
)
- (set_local $$prefix$2
- (get_local $$prefix$1)
+ )
+ (if
+ (get_local $$or$cond)
+ (block
+ (set_local $$sub$ptr$rhs$cast318
+ (get_local $$a$0)
+ )
+ (set_local $$sub$ptr$sub319
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast317)
+ (get_local $$sub$ptr$rhs$cast318)
+ )
+ )
+ (set_local $$160
+ (i32.and
+ (get_local $$159)
+ (i32.const 1)
+ )
+ )
+ (set_local $$lnot$ext
+ (i32.xor
+ (get_local $$160)
+ (i32.const 1)
+ )
+ )
+ (set_local $$add322
+ (i32.add
+ (get_local $$lnot$ext)
+ (get_local $$sub$ptr$sub319)
+ )
+ )
+ (set_local $$cmp323
+ (i32.gt_s
+ (get_local $$p$2)
+ (get_local $$add322)
+ )
+ )
+ (set_local $$p$2$add322
+ (if
+ (get_local $$cmp323)
+ (get_local $$p$2)
+ (get_local $$add322)
+ )
+ )
+ (set_local $$a$2
+ (get_local $$a$0)
+ )
+ (set_local $$fl$6
+ (get_local $$and309$fl$4)
+ )
+ (set_local $$p$5
+ (get_local $$p$2$add322)
+ )
+ (set_local $$pl$2
+ (get_local $$pl$1)
+ )
+ (set_local $$prefix$2
+ (get_local $$prefix$1)
+ )
+ (set_local $$z$2
+ (get_local $$add$ptr205)
+ )
)
- (set_local $$z$2
- (get_local $$add$ptr205)
+ (block
+ (set_local $$a$2
+ (get_local $$add$ptr205)
+ )
+ (set_local $$fl$6
+ (get_local $$and309$fl$4)
+ )
+ (set_local $$p$5
+ (i32.const 0)
+ )
+ (set_local $$pl$2
+ (get_local $$pl$1)
+ )
+ (set_local $$prefix$2
+ (get_local $$prefix$1)
+ )
+ (set_local $$z$2
+ (get_local $$add$ptr205)
+ )
)
)
)
)
- )
- (set_local $$sub$ptr$lhs$cast431
- (get_local $$z$2)
- )
- (set_local $$sub$ptr$rhs$cast432
- (get_local $$a$2)
- )
- (set_local $$sub$ptr$sub433
- (i32.sub
- (get_local $$sub$ptr$lhs$cast431)
- (get_local $$sub$ptr$rhs$cast432)
+ (set_local $$sub$ptr$lhs$cast431
+ (get_local $$z$2)
)
- )
- (set_local $$cmp434
- (i32.lt_s
- (get_local $$p$5)
- (get_local $$sub$ptr$sub433)
+ (set_local $$sub$ptr$rhs$cast432
+ (get_local $$a$2)
)
- )
- (set_local $$sub$ptr$sub433$p$5
- (if
- (get_local $$cmp434)
- (get_local $$sub$ptr$sub433)
- (get_local $$p$5)
+ (set_local $$sub$ptr$sub433
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast431)
+ (get_local $$sub$ptr$rhs$cast432)
+ )
)
- )
- (set_local $$add441
- (i32.add
- (get_local $$pl$2)
- (get_local $$sub$ptr$sub433$p$5)
+ (set_local $$cmp434
+ (i32.lt_s
+ (get_local $$p$5)
+ (get_local $$sub$ptr$sub433)
+ )
)
- )
- (set_local $$cmp442
- (i32.lt_s
- (get_local $$w$1)
+ (set_local $$sub$ptr$sub433$p$5
+ (if
+ (get_local $$cmp434)
+ (get_local $$sub$ptr$sub433)
+ (get_local $$p$5)
+ )
+ )
+ (set_local $$add441
+ (i32.add
+ (get_local $$pl$2)
+ (get_local $$sub$ptr$sub433$p$5)
+ )
+ )
+ (set_local $$cmp442
+ (i32.lt_s
+ (get_local $$w$1)
+ (get_local $$add441)
+ )
+ )
+ (set_local $$w$2
+ (if
+ (get_local $$cmp442)
+ (get_local $$add441)
+ (get_local $$w$1)
+ )
+ )
+ (call $_pad
+ (get_local $$f)
+ (i32.const 32)
+ (get_local $$w$2)
(get_local $$add441)
+ (get_local $$fl$6)
+ )
+ (set_local $$265
+ (i32.load
+ (get_local $$f)
+ )
+ )
+ (set_local $$and$i$244
+ (i32.and
+ (get_local $$265)
+ (i32.const 32)
+ )
+ )
+ (set_local $$tobool$i$245
+ (i32.eq
+ (get_local $$and$i$244)
+ (i32.const 0)
+ )
)
- )
- (set_local $$w$2
(if
- (get_local $$cmp442)
+ (get_local $$tobool$i$245)
+ (call $___fwritex
+ (get_local $$prefix$2)
+ (get_local $$pl$2)
+ (get_local $$f)
+ )
+ )
+ (set_local $$xor449
+ (i32.xor
+ (get_local $$fl$6)
+ (i32.const 65536)
+ )
+ )
+ (call $_pad
+ (get_local $$f)
+ (i32.const 48)
+ (get_local $$w$2)
(get_local $$add441)
- (get_local $$w$1)
+ (get_local $$xor449)
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$2)
- (get_local $$add441)
- (get_local $$fl$6)
- )
- (set_local $$265
- (i32.load
+ (call $_pad
(get_local $$f)
+ (i32.const 48)
+ (get_local $$sub$ptr$sub433$p$5)
+ (get_local $$sub$ptr$sub433)
+ (i32.const 0)
)
- )
- (set_local $$and$i$244
- (i32.and
- (get_local $$265)
- (i32.const 32)
+ (set_local $$266
+ (i32.load
+ (get_local $$f)
+ )
)
- )
- (set_local $$tobool$i$245
- (i32.eq
- (get_local $$and$i$244)
- (i32.const 0)
+ (set_local $$and$i$216
+ (i32.and
+ (get_local $$266)
+ (i32.const 32)
+ )
)
- )
- (if
- (get_local $$tobool$i$245)
- (call $___fwritex
- (get_local $$prefix$2)
- (get_local $$pl$2)
- (get_local $$f)
+ (set_local $$tobool$i$217
+ (i32.eq
+ (get_local $$and$i$216)
+ (i32.const 0)
+ )
)
- )
- (set_local $$xor449
- (i32.xor
- (get_local $$fl$6)
- (i32.const 65536)
+ (if
+ (get_local $$tobool$i$217)
+ (call $___fwritex
+ (get_local $$a$2)
+ (get_local $$sub$ptr$sub433)
+ (get_local $$f)
+ )
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 48)
- (get_local $$w$2)
- (get_local $$add441)
- (get_local $$xor449)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 48)
- (get_local $$sub$ptr$sub433$p$5)
- (get_local $$sub$ptr$sub433)
- (i32.const 0)
- )
- (set_local $$266
- (i32.load
- (get_local $$f)
+ (set_local $$xor457
+ (i32.xor
+ (get_local $$fl$6)
+ (i32.const 8192)
+ )
)
- )
- (set_local $$and$i$216
- (i32.and
- (get_local $$266)
+ (call $_pad
+ (get_local $$f)
(i32.const 32)
+ (get_local $$w$2)
+ (get_local $$add441)
+ (get_local $$xor457)
)
- )
- (set_local $$tobool$i$217
- (i32.eq
- (get_local $$and$i$216)
- (i32.const 0)
+ (set_local $$cnt$0
+ (get_local $$cnt$1)
)
- )
- (if
- (get_local $$tobool$i$217)
- (call $___fwritex
- (get_local $$a$2)
- (get_local $$sub$ptr$sub433)
- (get_local $$f)
+ (set_local $$incdec$ptr169275
+ (get_local $$incdec$ptr169$lcssa)
)
- )
- (set_local $$xor457
- (i32.xor
- (get_local $$fl$6)
- (i32.const 8192)
+ (set_local $$l$0
+ (get_local $$w$2)
)
+ (set_local $$l10n$0
+ (get_local $$l10n$3)
+ )
+ (br $label$continue$L1)
)
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$2)
- (get_local $$add441)
- (get_local $$xor457)
- )
- (set_local $$cnt$0
- (get_local $$cnt$1)
- )
- (set_local $$incdec$ptr169275
- (get_local $$incdec$ptr169$lcssa)
- )
- (set_local $$l$0
- (get_local $$w$2)
- )
- (set_local $$l10n$0
- (get_local $$l10n$3)
- )
- (br $label$continue$L1)
)
(block $label$break$L343
(if
@@ -14335,75 +14280,77 @@
(set_local $$i$2299
(i32.const 1)
)
- (loop $while-out$136 $while-in$137
- (set_local $$arrayidx469
- (i32.add
- (get_local $$nl_type)
- (i32.shl
- (get_local $$i$2299)
- (i32.const 2)
+ (loop $while-in$137
+ (block $while-out$136
+ (set_local $$arrayidx469
+ (i32.add
+ (get_local $$nl_type)
+ (i32.shl
+ (get_local $$i$2299)
+ (i32.const 2)
+ )
)
)
- )
- (set_local $$267
- (i32.load
- (get_local $$arrayidx469)
+ (set_local $$267
+ (i32.load
+ (get_local $$arrayidx469)
+ )
)
- )
- (set_local $$tobool470
- (i32.eq
- (get_local $$267)
- (i32.const 0)
+ (set_local $$tobool470
+ (i32.eq
+ (get_local $$267)
+ (i32.const 0)
+ )
)
- )
- (if
- (get_local $$tobool470)
- (block
- (set_local $$i$2299$lcssa
- (get_local $$i$2299)
+ (if
+ (get_local $$tobool470)
+ (block
+ (set_local $$i$2299$lcssa
+ (get_local $$i$2299)
+ )
+ (br $while-out$136)
)
- (br $while-out$136)
)
- )
- (set_local $$add$ptr473
- (i32.add
- (get_local $$nl_arg)
- (i32.shl
- (get_local $$i$2299)
- (i32.const 3)
+ (set_local $$add$ptr473
+ (i32.add
+ (get_local $$nl_arg)
+ (i32.shl
+ (get_local $$i$2299)
+ (i32.const 3)
+ )
)
)
- )
- (call $_pop_arg_336
- (get_local $$add$ptr473)
- (get_local $$267)
- (get_local $$ap)
- )
- (set_local $$inc
- (i32.add
- (get_local $$i$2299)
- (i32.const 1)
+ (call $_pop_arg_336
+ (get_local $$add$ptr473)
+ (get_local $$267)
+ (get_local $$ap)
)
- )
- (set_local $$cmp466
- (i32.lt_s
- (get_local $$inc)
- (i32.const 10)
+ (set_local $$inc
+ (i32.add
+ (get_local $$i$2299)
+ (i32.const 1)
+ )
)
- )
- (if
- (get_local $$cmp466)
- (set_local $$i$2299
- (get_local $$inc)
+ (set_local $$cmp466
+ (i32.lt_s
+ (get_local $$inc)
+ (i32.const 10)
+ )
)
- (block
- (set_local $$retval$0
- (i32.const 1)
+ (if
+ (get_local $$cmp466)
+ (set_local $$i$2299
+ (get_local $$inc)
+ )
+ (block
+ (set_local $$retval$0
+ (i32.const 1)
+ )
+ (br $label$break$L343)
)
- (br $label$break$L343)
)
+ (br $while-in$137)
)
- (br $while-in$137)
)
(set_local $$cmp478$295
(i32.lt_s
@@ -14417,63 +14364,65 @@
(set_local $$i$3296
(get_local $$i$2299$lcssa)
)
- (loop $while-out$138 $while-in$139
- (set_local $$arrayidx481
- (i32.add
- (get_local $$nl_type)
- (i32.shl
- (get_local $$i$3296)
- (i32.const 2)
+ (loop $while-in$139
+ (block $while-out$138
+ (set_local $$arrayidx481
+ (i32.add
+ (get_local $$nl_type)
+ (i32.shl
+ (get_local $$i$3296)
+ (i32.const 2)
+ )
)
)
- )
- (set_local $$268
- (i32.load
- (get_local $$arrayidx481)
- )
- )
- (set_local $$lnot483
- (i32.eq
- (get_local $$268)
- (i32.const 0)
- )
- )
- (set_local $$inc488
- (i32.add
- (get_local $$i$3296)
- (i32.const 1)
+ (set_local $$268
+ (i32.load
+ (get_local $$arrayidx481)
+ )
)
- )
- (if
- (i32.eqz
- (get_local $$lnot483)
+ (set_local $$lnot483
+ (i32.eq
+ (get_local $$268)
+ (i32.const 0)
+ )
)
- (block
- (set_local $$retval$0
- (i32.const -1)
+ (set_local $$inc488
+ (i32.add
+ (get_local $$i$3296)
+ (i32.const 1)
)
- (br $label$break$L343)
)
- )
- (set_local $$cmp478
- (i32.lt_s
- (get_local $$inc488)
- (i32.const 10)
+ (if
+ (i32.eqz
+ (get_local $$lnot483)
+ )
+ (block
+ (set_local $$retval$0
+ (i32.const -1)
+ )
+ (br $label$break$L343)
+ )
)
- )
- (if
- (get_local $$cmp478)
- (set_local $$i$3296
- (get_local $$inc488)
+ (set_local $$cmp478
+ (i32.lt_s
+ (get_local $$inc488)
+ (i32.const 10)
+ )
)
- (block
- (set_local $$retval$0
- (i32.const 1)
+ (if
+ (get_local $$cmp478)
+ (set_local $$i$3296
+ (get_local $$inc488)
+ )
+ (block
+ (set_local $$retval$0
+ (i32.const 1)
+ )
+ (br $while-out$138)
)
- (br $while-out$138)
)
+ (br $while-in$139)
)
- (br $while-in$139)
)
)
(set_local $$retval$0
@@ -14490,8 +14439,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return
@@ -14688,9 +14636,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$cmp
(i32.gt_u
@@ -15841,9 +15787,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$2
(i32.gt_u
@@ -15887,112 +15831,110 @@
(set_local $$s$addr$013
(get_local $$s)
)
- (loop $while-out$0 $while-in$1
- (set_local $$9
- (call $___uremdi3
- (get_local $$7)
- (get_local $$8)
- (i32.const 10)
- (i32.const 0)
- )
- )
- (set_local $$10
- (i32.load
- (i32.const 168)
- )
- )
- (set_local $$11
- (i32.or
- (get_local $$9)
- (i32.const 48)
- )
- )
- (set_local $$12
- (i32.and
- (get_local $$11)
- (i32.const 255)
+ (loop $while-in$1
+ (block $while-out$0
+ (set_local $$9
+ (call $___uremdi3
+ (get_local $$7)
+ (get_local $$8)
+ (i32.const 10)
+ (i32.const 0)
+ )
)
- )
- (set_local $$incdec$ptr
- (i32.add
- (get_local $$s$addr$013)
- (i32.const -1)
+ (set_local $$10
+ (get_global $tempRet0)
)
- )
- (i32.store8
- (get_local $$incdec$ptr)
- (get_local $$12)
- )
- (set_local $$13
- (call $___udivdi3
- (get_local $$7)
- (get_local $$8)
- (i32.const 10)
- (i32.const 0)
+ (set_local $$11
+ (i32.or
+ (get_local $$9)
+ (i32.const 48)
+ )
)
- )
- (set_local $$14
- (i32.load
- (i32.const 168)
+ (set_local $$12
+ (i32.and
+ (get_local $$11)
+ (i32.const 255)
+ )
)
- )
- (set_local $$15
- (i32.gt_u
- (get_local $$8)
- (i32.const 9)
+ (set_local $$incdec$ptr
+ (i32.add
+ (get_local $$s$addr$013)
+ (i32.const -1)
+ )
)
- )
- (set_local $$16
- (i32.gt_u
- (get_local $$7)
- (i32.const -1)
+ (i32.store8
+ (get_local $$incdec$ptr)
+ (get_local $$12)
)
- )
- (set_local $$17
- (i32.eq
- (get_local $$8)
- (i32.const 9)
+ (set_local $$13
+ (call $___udivdi3
+ (get_local $$7)
+ (get_local $$8)
+ (i32.const 10)
+ (i32.const 0)
+ )
)
- )
- (set_local $$18
- (i32.and
- (get_local $$17)
- (get_local $$16)
+ (set_local $$14
+ (get_global $tempRet0)
)
- )
- (set_local $$19
- (i32.or
- (get_local $$15)
- (get_local $$18)
+ (set_local $$15
+ (i32.gt_u
+ (get_local $$8)
+ (i32.const 9)
+ )
)
- )
- (if
- (get_local $$19)
- (block
- (set_local $$7
- (get_local $$13)
+ (set_local $$16
+ (i32.gt_u
+ (get_local $$7)
+ (i32.const -1)
)
- (set_local $$8
- (get_local $$14)
+ )
+ (set_local $$17
+ (i32.eq
+ (get_local $$8)
+ (i32.const 9)
)
- (set_local $$s$addr$013
- (get_local $$incdec$ptr)
+ )
+ (set_local $$18
+ (i32.and
+ (get_local $$17)
+ (get_local $$16)
)
)
- (block
- (set_local $$21
- (get_local $$13)
+ (set_local $$19
+ (i32.or
+ (get_local $$15)
+ (get_local $$18)
)
- (set_local $$22
- (get_local $$14)
+ )
+ (if
+ (get_local $$19)
+ (block
+ (set_local $$7
+ (get_local $$13)
+ )
+ (set_local $$8
+ (get_local $$14)
+ )
+ (set_local $$s$addr$013
+ (get_local $$incdec$ptr)
+ )
)
- (set_local $$incdec$ptr$lcssa
- (get_local $$incdec$ptr)
+ (block
+ (set_local $$21
+ (get_local $$13)
+ )
+ (set_local $$22
+ (get_local $$14)
+ )
+ (set_local $$incdec$ptr$lcssa
+ (get_local $$incdec$ptr)
+ )
+ (br $while-out$0)
)
- (br $while-out$0)
)
+ (br $while-in$1)
)
- (br $while-in$1)
)
(set_local $$s$addr$0$lcssa
(get_local $$incdec$ptr$lcssa)
@@ -16028,71 +15970,73 @@
(set_local $$y$010
(get_local $$x$addr$0$lcssa$off0)
)
- (loop $while-out$2 $while-in$3
- (set_local $$rem4
- (i32.and
- (i32.rem_u
- (get_local $$y$010)
- (i32.const 10)
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $$rem4
+ (i32.and
+ (i32.rem_u
+ (get_local $$y$010)
+ (i32.const 10)
+ )
+ (i32.const -1)
)
- (i32.const -1)
- )
- )
- (set_local $$add5
- (i32.or
- (get_local $$rem4)
- (i32.const 48)
)
- )
- (set_local $$conv6
- (i32.and
- (get_local $$add5)
- (i32.const 255)
+ (set_local $$add5
+ (i32.or
+ (get_local $$rem4)
+ (i32.const 48)
+ )
)
- )
- (set_local $$incdec$ptr7
- (i32.add
- (get_local $$s$addr$19)
- (i32.const -1)
+ (set_local $$conv6
+ (i32.and
+ (get_local $$add5)
+ (i32.const 255)
+ )
)
- )
- (i32.store8
- (get_local $$incdec$ptr7)
- (get_local $$conv6)
- )
- (set_local $$div9
- (i32.and
- (i32.div_u
- (get_local $$y$010)
- (i32.const 10)
+ (set_local $$incdec$ptr7
+ (i32.add
+ (get_local $$s$addr$19)
+ (i32.const -1)
)
- (i32.const -1)
)
- )
- (set_local $$20
- (i32.lt_u
- (get_local $$y$010)
- (i32.const 10)
+ (i32.store8
+ (get_local $$incdec$ptr7)
+ (get_local $$conv6)
)
- )
- (if
- (get_local $$20)
- (block
- (set_local $$s$addr$1$lcssa
- (get_local $$incdec$ptr7)
+ (set_local $$div9
+ (i32.and
+ (i32.div_u
+ (get_local $$y$010)
+ (i32.const 10)
+ )
+ (i32.const -1)
)
- (br $while-out$2)
)
- (block
- (set_local $$s$addr$19
- (get_local $$incdec$ptr7)
+ (set_local $$20
+ (i32.lt_u
+ (get_local $$y$010)
+ (i32.const 10)
+ )
+ )
+ (if
+ (get_local $$20)
+ (block
+ (set_local $$s$addr$1$lcssa
+ (get_local $$incdec$ptr7)
+ )
+ (br $while-out$2)
)
- (set_local $$y$010
- (get_local $$div9)
+ (block
+ (set_local $$s$addr$19
+ (get_local $$incdec$ptr7)
+ )
+ (set_local $$y$010
+ (get_local $$div9)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
@@ -16128,27 +16072,18 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 256)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -16202,10 +16137,12 @@
(get_local $$sub)
)
)
- (call $_memset
- (get_local $$pad)
- (get_local $$c)
- (get_local $$cond)
+ (drop
+ (call $_memset
+ (get_local $$pad)
+ (get_local $$c)
+ (get_local $$cond)
+ )
)
(set_local $$cmp3$14
(i32.gt_u
@@ -16248,68 +16185,72 @@
(set_local $$tobool$i18
(get_local $$tobool$i$16)
)
- (loop $while-out$2 $while-in$3
- (if
- (get_local $$tobool$i18)
- (block
- (call $___fwritex
- (get_local $$pad)
- (i32.const 256)
- (get_local $$f)
- )
- (set_local $$$pre
- (i32.load
- (get_local $$f)
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (get_local $$tobool$i18)
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $$pad)
+ (i32.const 256)
+ (get_local $$f)
+ )
+ )
+ (set_local $$$pre
+ (i32.load
+ (get_local $$f)
+ )
+ )
+ (set_local $$2
+ (get_local $$$pre)
)
)
(set_local $$2
- (get_local $$$pre)
+ (get_local $$4)
)
)
- (set_local $$2
- (get_local $$4)
- )
- )
- (set_local $$sub5
- (i32.add
- (get_local $$l$addr$017)
- (i32.const -256)
- )
- )
- (set_local $$cmp3
- (i32.gt_u
- (get_local $$sub5)
- (i32.const 255)
- )
- )
- (set_local $$and$i
- (i32.and
- (get_local $$2)
- (i32.const 32)
+ (set_local $$sub5
+ (i32.add
+ (get_local $$l$addr$017)
+ (i32.const -256)
+ )
)
- )
- (set_local $$tobool$i
- (i32.eq
- (get_local $$and$i)
- (i32.const 0)
+ (set_local $$cmp3
+ (i32.gt_u
+ (get_local $$sub5)
+ (i32.const 255)
+ )
)
- )
- (if
- (get_local $$cmp3)
- (block
- (set_local $$4
+ (set_local $$and$i
+ (i32.and
(get_local $$2)
+ (i32.const 32)
)
- (set_local $$l$addr$017
- (get_local $$sub5)
+ )
+ (set_local $$tobool$i
+ (i32.eq
+ (get_local $$and$i)
+ (i32.const 0)
)
- (set_local $$tobool$i18
- (get_local $$tobool$i)
+ )
+ (if
+ (get_local $$cmp3)
+ (block
+ (set_local $$4
+ (get_local $$2)
+ )
+ (set_local $$l$addr$017
+ (get_local $$sub5)
+ )
+ (set_local $$tobool$i18
+ (get_local $$tobool$i)
+ )
)
+ (br $while-out$2)
)
- (br $while-out$2)
+ (br $while-in$3)
)
- (br $while-in$3)
)
(set_local $$3
(i32.and
@@ -16333,16 +16274,17 @@
(br $do-once$0)
)
)
- (call $___fwritex
- (get_local $$pad)
- (get_local $$l$addr$0$lcssa21)
- (get_local $$f)
+ (drop
+ (call $___fwritex
+ (get_local $$pad)
+ (get_local $$l$addr$0$lcssa21)
+ (get_local $$f)
+ )
)
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return)
@@ -17538,9 +17480,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$cmp
(i32.lt_u
@@ -18568,117 +18508,119 @@
(set_local $$v$0$i
(get_local $$20)
)
- (loop $while-out$6 $while-in$7
- (set_local $$arrayidx23$i
- (i32.add
- (get_local $$t$0$i)
- (i32.const 16)
+ (loop $while-in$7
+ (block $while-out$6
+ (set_local $$arrayidx23$i
+ (i32.add
+ (get_local $$t$0$i)
+ (i32.const 16)
+ )
)
- )
- (set_local $$22
- (i32.load
- (get_local $$arrayidx23$i)
+ (set_local $$22
+ (i32.load
+ (get_local $$arrayidx23$i)
+ )
)
- )
- (set_local $$cmp$i
- (i32.eq
- (get_local $$22)
- (i32.const 0)
+ (set_local $$cmp$i
+ (i32.eq
+ (get_local $$22)
+ (i32.const 0)
+ )
)
- )
- (if
- (get_local $$cmp$i)
- (block
- (set_local $$arrayidx27$i
- (i32.add
- (get_local $$t$0$i)
- (i32.const 20)
+ (if
+ (get_local $$cmp$i)
+ (block
+ (set_local $$arrayidx27$i
+ (i32.add
+ (get_local $$t$0$i)
+ (i32.const 20)
+ )
)
- )
- (set_local $$23
- (i32.load
- (get_local $$arrayidx27$i)
+ (set_local $$23
+ (i32.load
+ (get_local $$arrayidx27$i)
+ )
)
- )
- (set_local $$cmp28$i
- (i32.eq
- (get_local $$23)
- (i32.const 0)
+ (set_local $$cmp28$i
+ (i32.eq
+ (get_local $$23)
+ (i32.const 0)
+ )
)
- )
- (if
- (get_local $$cmp28$i)
- (block
- (set_local $$rsize$0$i$lcssa
- (get_local $$rsize$0$i)
+ (if
+ (get_local $$cmp28$i)
+ (block
+ (set_local $$rsize$0$i$lcssa
+ (get_local $$rsize$0$i)
+ )
+ (set_local $$v$0$i$lcssa
+ (get_local $$v$0$i)
+ )
+ (br $while-out$6)
)
- (set_local $$v$0$i$lcssa
- (get_local $$v$0$i)
+ (set_local $$cond4$i
+ (get_local $$23)
)
- (br $while-out$6)
- )
- (set_local $$cond4$i
- (get_local $$23)
)
)
+ (set_local $$cond4$i
+ (get_local $$22)
+ )
+ )
+ (set_local $$head29$i
+ (i32.add
+ (get_local $$cond4$i)
+ (i32.const 4)
+ )
)
- (set_local $$cond4$i
- (get_local $$22)
+ (set_local $$24
+ (i32.load
+ (get_local $$head29$i)
+ )
)
- )
- (set_local $$head29$i
- (i32.add
- (get_local $$cond4$i)
- (i32.const 4)
+ (set_local $$and30$i
+ (i32.and
+ (get_local $$24)
+ (i32.const -8)
+ )
)
- )
- (set_local $$24
- (i32.load
- (get_local $$head29$i)
+ (set_local $$sub31$i
+ (i32.sub
+ (get_local $$and30$i)
+ (get_local $$cond)
+ )
)
- )
- (set_local $$and30$i
- (i32.and
- (get_local $$24)
- (i32.const -8)
+ (set_local $$cmp32$i
+ (i32.lt_u
+ (get_local $$sub31$i)
+ (get_local $$rsize$0$i)
+ )
)
- )
- (set_local $$sub31$i
- (i32.sub
- (get_local $$and30$i)
- (get_local $$cond)
+ (set_local $$sub31$rsize$0$i
+ (if
+ (get_local $$cmp32$i)
+ (get_local $$sub31$i)
+ (get_local $$rsize$0$i)
+ )
)
- )
- (set_local $$cmp32$i
- (i32.lt_u
- (get_local $$sub31$i)
- (get_local $$rsize$0$i)
+ (set_local $$cond$v$0$i
+ (if
+ (get_local $$cmp32$i)
+ (get_local $$cond4$i)
+ (get_local $$v$0$i)
+ )
)
- )
- (set_local $$sub31$rsize$0$i
- (if
- (get_local $$cmp32$i)
- (get_local $$sub31$i)
- (get_local $$rsize$0$i)
+ (set_local $$rsize$0$i
+ (get_local $$sub31$rsize$0$i)
)
- )
- (set_local $$cond$v$0$i
- (if
- (get_local $$cmp32$i)
+ (set_local $$t$0$i
(get_local $$cond4$i)
- (get_local $$v$0$i)
)
+ (set_local $$v$0$i
+ (get_local $$cond$v$0$i)
+ )
+ (br $while-in$7)
)
- (set_local $$rsize$0$i
- (get_local $$sub31$rsize$0$i)
- )
- (set_local $$t$0$i
- (get_local $$cond4$i)
- )
- (set_local $$v$0$i
- (get_local $$cond$v$0$i)
- )
- (br $while-in$7)
)
(set_local $$25
(i32.load
@@ -18809,76 +18751,78 @@
)
)
)
- (loop $while-out$10 $while-in$11
- (set_local $$arrayidx71$i
- (i32.add
- (get_local $$R$1$i)
- (i32.const 20)
- )
- )
- (set_local $$33
- (i32.load
- (get_local $$arrayidx71$i)
- )
- )
- (set_local $$cmp72$i
- (i32.eq
- (get_local $$33)
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (get_local $$cmp72$i)
- )
- (block
- (set_local $$R$1$i
- (get_local $$33)
+ (loop $while-in$11
+ (block $while-out$10
+ (set_local $$arrayidx71$i
+ (i32.add
+ (get_local $$R$1$i)
+ (i32.const 20)
)
- (set_local $$RP$1$i
+ )
+ (set_local $$33
+ (i32.load
(get_local $$arrayidx71$i)
)
- (br $while-in$11)
- )
- )
- (set_local $$arrayidx75$i
- (i32.add
- (get_local $$R$1$i)
- (i32.const 16)
)
- )
- (set_local $$34
- (i32.load
- (get_local $$arrayidx75$i)
+ (set_local $$cmp72$i
+ (i32.eq
+ (get_local $$33)
+ (i32.const 0)
+ )
)
- )
- (set_local $$cmp76$i
- (i32.eq
- (get_local $$34)
- (i32.const 0)
+ (if
+ (i32.eqz
+ (get_local $$cmp72$i)
+ )
+ (block
+ (set_local $$R$1$i
+ (get_local $$33)
+ )
+ (set_local $$RP$1$i
+ (get_local $$arrayidx71$i)
+ )
+ (br $while-in$11)
+ )
)
- )
- (if
- (get_local $$cmp76$i)
- (block
- (set_local $$R$1$i$lcssa
+ (set_local $$arrayidx75$i
+ (i32.add
(get_local $$R$1$i)
+ (i32.const 16)
)
- (set_local $$RP$1$i$lcssa
- (get_local $$RP$1$i)
+ )
+ (set_local $$34
+ (i32.load
+ (get_local $$arrayidx75$i)
)
- (br $while-out$10)
)
- (block
- (set_local $$R$1$i
+ (set_local $$cmp76$i
+ (i32.eq
(get_local $$34)
+ (i32.const 0)
)
- (set_local $$RP$1$i
- (get_local $$arrayidx75$i)
+ )
+ (if
+ (get_local $$cmp76$i)
+ (block
+ (set_local $$R$1$i$lcssa
+ (get_local $$R$1$i)
+ )
+ (set_local $$RP$1$i$lcssa
+ (get_local $$RP$1$i)
+ )
+ (br $while-out$10)
+ )
+ (block
+ (set_local $$R$1$i
+ (get_local $$34)
+ )
+ (set_local $$RP$1$i
+ (get_local $$arrayidx75$i)
+ )
)
)
+ (br $while-in$11)
)
- (br $while-in$11)
)
(set_local $$cmp81$i
(i32.lt_u
@@ -19884,200 +19828,202 @@
(set_local $$v$0$i$153
(i32.const 0)
)
- (loop $while-out$17 $while-in$18
- (set_local $$head$i$154
- (i32.add
- (get_local $$t$0$i$151)
- (i32.const 4)
- )
- )
- (set_local $$53
- (i32.load
- (get_local $$head$i$154)
+ (loop $while-in$18
+ (block $while-out$17
+ (set_local $$head$i$154
+ (i32.add
+ (get_local $$t$0$i$151)
+ (i32.const 4)
+ )
)
- )
- (set_local $$and32$i
- (i32.and
- (get_local $$53)
- (i32.const -8)
+ (set_local $$53
+ (i32.load
+ (get_local $$head$i$154)
+ )
)
- )
- (set_local $$sub33$i
- (i32.sub
- (get_local $$and32$i)
- (get_local $$and145)
+ (set_local $$and32$i
+ (i32.and
+ (get_local $$53)
+ (i32.const -8)
+ )
)
- )
- (set_local $$cmp34$i
- (i32.lt_u
- (get_local $$sub33$i)
- (get_local $$rsize$0$i$152)
+ (set_local $$sub33$i
+ (i32.sub
+ (get_local $$and32$i)
+ (get_local $$and145)
+ )
)
- )
- (if
- (get_local $$cmp34$i)
- (block
- (set_local $$cmp36$i
- (i32.eq
- (get_local $$and32$i)
- (get_local $$and145)
- )
+ (set_local $$cmp34$i
+ (i32.lt_u
+ (get_local $$sub33$i)
+ (get_local $$rsize$0$i$152)
)
- (if
- (get_local $$cmp36$i)
- (block
- (set_local $$rsize$49$i
- (get_local $$sub33$i)
- )
- (set_local $$t$48$i
- (get_local $$t$0$i$151)
- )
- (set_local $$v$410$i
- (get_local $$t$0$i$151)
- )
- (set_local $label
- (i32.const 90)
+ )
+ (if
+ (get_local $$cmp34$i)
+ (block
+ (set_local $$cmp36$i
+ (i32.eq
+ (get_local $$and32$i)
+ (get_local $$and145)
)
- (br $label$break$L123)
)
- (block
- (set_local $$rsize$1$i
- (get_local $$sub33$i)
+ (if
+ (get_local $$cmp36$i)
+ (block
+ (set_local $$rsize$49$i
+ (get_local $$sub33$i)
+ )
+ (set_local $$t$48$i
+ (get_local $$t$0$i$151)
+ )
+ (set_local $$v$410$i
+ (get_local $$t$0$i$151)
+ )
+ (set_local $label
+ (i32.const 90)
+ )
+ (br $label$break$L123)
)
- (set_local $$v$1$i
- (get_local $$t$0$i$151)
+ (block
+ (set_local $$rsize$1$i
+ (get_local $$sub33$i)
+ )
+ (set_local $$v$1$i
+ (get_local $$t$0$i$151)
+ )
)
)
)
- )
- (block
- (set_local $$rsize$1$i
- (get_local $$rsize$0$i$152)
- )
- (set_local $$v$1$i
- (get_local $$v$0$i$153)
+ (block
+ (set_local $$rsize$1$i
+ (get_local $$rsize$0$i$152)
+ )
+ (set_local $$v$1$i
+ (get_local $$v$0$i$153)
+ )
)
)
- )
- (set_local $$arrayidx40$i
- (i32.add
- (get_local $$t$0$i$151)
- (i32.const 20)
- )
- )
- (set_local $$54
- (i32.load
- (get_local $$arrayidx40$i)
- )
- )
- (set_local $$shr41$i
- (i32.shr_u
- (get_local $$sizebits$0$i)
- (i32.const 31)
- )
- )
- (set_local $$arrayidx44$i
- (i32.add
+ (set_local $$arrayidx40$i
(i32.add
(get_local $$t$0$i$151)
- (i32.const 16)
- )
- (i32.shl
- (get_local $$shr41$i)
- (i32.const 2)
+ (i32.const 20)
)
)
- )
- (set_local $$55
- (i32.load
- (get_local $$arrayidx44$i)
- )
- )
- (set_local $$cmp45$i$155
- (i32.eq
- (get_local $$54)
- (i32.const 0)
- )
- )
- (set_local $$cmp46$i
- (i32.eq
- (get_local $$54)
- (get_local $$55)
- )
- )
- (set_local $$or$cond1$i
- (i32.or
- (get_local $$cmp45$i$155)
- (get_local $$cmp46$i)
- )
- )
- (set_local $$rst$1$i
- (if
- (get_local $$or$cond1$i)
- (get_local $$rst$0$i)
- (get_local $$54)
+ (set_local $$54
+ (i32.load
+ (get_local $$arrayidx40$i)
+ )
)
- )
- (set_local $$cmp49$i
- (i32.eq
- (get_local $$55)
- (i32.const 0)
+ (set_local $$shr41$i
+ (i32.shr_u
+ (get_local $$sizebits$0$i)
+ (i32.const 31)
+ )
)
- )
- (set_local $$56
- (i32.and
- (get_local $$cmp49$i)
- (i32.const 1)
+ (set_local $$arrayidx44$i
+ (i32.add
+ (i32.add
+ (get_local $$t$0$i$151)
+ (i32.const 16)
+ )
+ (i32.shl
+ (get_local $$shr41$i)
+ (i32.const 2)
+ )
+ )
)
- )
- (set_local $$shl52$i
- (i32.xor
- (get_local $$56)
- (i32.const 1)
+ (set_local $$55
+ (i32.load
+ (get_local $$arrayidx44$i)
+ )
)
- )
- (set_local $$sizebits$0$shl52$i
- (i32.shl
- (get_local $$sizebits$0$i)
- (get_local $$shl52$i)
+ (set_local $$cmp45$i$155
+ (i32.eq
+ (get_local $$54)
+ (i32.const 0)
+ )
)
- )
- (if
- (get_local $$cmp49$i)
- (block
- (set_local $$rsize$3$i
- (get_local $$rsize$1$i)
+ (set_local $$cmp46$i
+ (i32.eq
+ (get_local $$54)
+ (get_local $$55)
)
- (set_local $$t$2$i
- (get_local $$rst$1$i)
+ )
+ (set_local $$or$cond1$i
+ (i32.or
+ (get_local $$cmp45$i$155)
+ (get_local $$cmp46$i)
)
- (set_local $$v$3$i
- (get_local $$v$1$i)
+ )
+ (set_local $$rst$1$i
+ (if
+ (get_local $$or$cond1$i)
+ (get_local $$rst$0$i)
+ (get_local $$54)
)
- (set_local $label
- (i32.const 86)
+ )
+ (set_local $$cmp49$i
+ (i32.eq
+ (get_local $$55)
+ (i32.const 0)
)
- (br $while-out$17)
)
- (block
- (set_local $$rsize$0$i$152
- (get_local $$rsize$1$i)
+ (set_local $$56
+ (i32.and
+ (get_local $$cmp49$i)
+ (i32.const 1)
)
- (set_local $$rst$0$i
- (get_local $$rst$1$i)
+ )
+ (set_local $$shl52$i
+ (i32.xor
+ (get_local $$56)
+ (i32.const 1)
)
- (set_local $$sizebits$0$i
- (get_local $$sizebits$0$shl52$i)
+ )
+ (set_local $$sizebits$0$shl52$i
+ (i32.shl
+ (get_local $$sizebits$0$i)
+ (get_local $$shl52$i)
)
- (set_local $$t$0$i$151
- (get_local $$55)
+ )
+ (if
+ (get_local $$cmp49$i)
+ (block
+ (set_local $$rsize$3$i
+ (get_local $$rsize$1$i)
+ )
+ (set_local $$t$2$i
+ (get_local $$rst$1$i)
+ )
+ (set_local $$v$3$i
+ (get_local $$v$1$i)
+ )
+ (set_local $label
+ (i32.const 86)
+ )
+ (br $while-out$17)
)
- (set_local $$v$0$i$153
- (get_local $$v$1$i)
+ (block
+ (set_local $$rsize$0$i$152
+ (get_local $$rsize$1$i)
+ )
+ (set_local $$rst$0$i
+ (get_local $$rst$1$i)
+ )
+ (set_local $$sizebits$0$i
+ (get_local $$sizebits$0$shl52$i)
+ )
+ (set_local $$t$0$i$151
+ (get_local $$55)
+ )
+ (set_local $$v$0$i$153
+ (get_local $$v$1$i)
+ )
)
)
+ (br $while-in$18)
)
- (br $while-in$18)
)
)
)
@@ -20346,134 +20292,136 @@
(get_local $label)
(i32.const 90)
)
- (loop $while-out$19 $while-in$20
- (set_local $label
- (i32.const 0)
- )
- (set_local $$head99$i
- (i32.add
- (get_local $$t$48$i)
- (i32.const 4)
- )
- )
- (set_local $$58
- (i32.load
- (get_local $$head99$i)
- )
- )
- (set_local $$and100$i
- (i32.and
- (get_local $$58)
- (i32.const -8)
+ (loop $while-in$20
+ (block $while-out$19
+ (set_local $label
+ (i32.const 0)
)
- )
- (set_local $$sub101$i
- (i32.sub
- (get_local $$and100$i)
- (get_local $$and145)
+ (set_local $$head99$i
+ (i32.add
+ (get_local $$t$48$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$cmp102$i
- (i32.lt_u
- (get_local $$sub101$i)
- (get_local $$rsize$49$i)
+ (set_local $$58
+ (i32.load
+ (get_local $$head99$i)
+ )
)
- )
- (set_local $$sub101$rsize$4$i
- (if
- (get_local $$cmp102$i)
- (get_local $$sub101$i)
- (get_local $$rsize$49$i)
+ (set_local $$and100$i
+ (i32.and
+ (get_local $$58)
+ (i32.const -8)
+ )
)
- )
- (set_local $$t$4$v$4$i
- (if
- (get_local $$cmp102$i)
- (get_local $$t$48$i)
- (get_local $$v$410$i)
+ (set_local $$sub101$i
+ (i32.sub
+ (get_local $$and100$i)
+ (get_local $$and145)
+ )
)
- )
- (set_local $$arrayidx106$i
- (i32.add
- (get_local $$t$48$i)
- (i32.const 16)
+ (set_local $$cmp102$i
+ (i32.lt_u
+ (get_local $$sub101$i)
+ (get_local $$rsize$49$i)
+ )
)
- )
- (set_local $$59
- (i32.load
- (get_local $$arrayidx106$i)
+ (set_local $$sub101$rsize$4$i
+ (if
+ (get_local $$cmp102$i)
+ (get_local $$sub101$i)
+ (get_local $$rsize$49$i)
+ )
)
- )
- (set_local $$cmp107$i$157
- (i32.eq
- (get_local $$59)
- (i32.const 0)
+ (set_local $$t$4$v$4$i
+ (if
+ (get_local $$cmp102$i)
+ (get_local $$t$48$i)
+ (get_local $$v$410$i)
+ )
)
- )
- (if
- (i32.eqz
- (get_local $$cmp107$i$157)
+ (set_local $$arrayidx106$i
+ (i32.add
+ (get_local $$t$48$i)
+ (i32.const 16)
+ )
)
- (block
- (set_local $$rsize$49$i
- (get_local $$sub101$rsize$4$i)
+ (set_local $$59
+ (i32.load
+ (get_local $$arrayidx106$i)
)
- (set_local $$t$48$i
+ )
+ (set_local $$cmp107$i$157
+ (i32.eq
(get_local $$59)
+ (i32.const 0)
)
- (set_local $$v$410$i
- (get_local $$t$4$v$4$i)
+ )
+ (if
+ (i32.eqz
+ (get_local $$cmp107$i$157)
)
- (set_local $label
- (i32.const 90)
+ (block
+ (set_local $$rsize$49$i
+ (get_local $$sub101$rsize$4$i)
+ )
+ (set_local $$t$48$i
+ (get_local $$59)
+ )
+ (set_local $$v$410$i
+ (get_local $$t$4$v$4$i)
+ )
+ (set_local $label
+ (i32.const 90)
+ )
+ (br $while-in$20)
)
- (br $while-in$20)
- )
- )
- (set_local $$arrayidx113$i$159
- (i32.add
- (get_local $$t$48$i)
- (i32.const 20)
- )
- )
- (set_local $$60
- (i32.load
- (get_local $$arrayidx113$i$159)
- )
- )
- (set_local $$cmp97$i
- (i32.eq
- (get_local $$60)
- (i32.const 0)
)
- )
- (if
- (get_local $$cmp97$i)
- (block
- (set_local $$rsize$4$lcssa$i
- (get_local $$sub101$rsize$4$i)
- )
- (set_local $$v$4$lcssa$i
- (get_local $$t$4$v$4$i)
+ (set_local $$arrayidx113$i$159
+ (i32.add
+ (get_local $$t$48$i)
+ (i32.const 20)
)
- (br $while-out$19)
)
- (block
- (set_local $$rsize$49$i
- (get_local $$sub101$rsize$4$i)
+ (set_local $$60
+ (i32.load
+ (get_local $$arrayidx113$i$159)
)
- (set_local $$t$48$i
+ )
+ (set_local $$cmp97$i
+ (i32.eq
(get_local $$60)
+ (i32.const 0)
)
- (set_local $$v$410$i
- (get_local $$t$4$v$4$i)
+ )
+ (if
+ (get_local $$cmp97$i)
+ (block
+ (set_local $$rsize$4$lcssa$i
+ (get_local $$sub101$rsize$4$i)
+ )
+ (set_local $$v$4$lcssa$i
+ (get_local $$t$4$v$4$i)
+ )
+ (br $while-out$19)
)
- (set_local $label
- (i32.const 90)
+ (block
+ (set_local $$rsize$49$i
+ (get_local $$sub101$rsize$4$i)
+ )
+ (set_local $$t$48$i
+ (get_local $$60)
+ )
+ (set_local $$v$410$i
+ (get_local $$t$4$v$4$i)
+ )
+ (set_local $label
+ (i32.const 90)
+ )
)
)
+ (br $while-in$20)
)
- (br $while-in$20)
)
)
(set_local $$cmp116$i
@@ -20637,76 +20585,78 @@
)
)
)
- (loop $while-out$23 $while-in$24
- (set_local $$arrayidx161$i
- (i32.add
- (get_local $$R$1$i$168)
- (i32.const 20)
- )
- )
- (set_local $$70
- (i32.load
- (get_local $$arrayidx161$i)
- )
- )
- (set_local $$cmp162$i
- (i32.eq
- (get_local $$70)
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (get_local $$cmp162$i)
- )
- (block
- (set_local $$R$1$i$168
- (get_local $$70)
+ (loop $while-in$24
+ (block $while-out$23
+ (set_local $$arrayidx161$i
+ (i32.add
+ (get_local $$R$1$i$168)
+ (i32.const 20)
)
- (set_local $$RP$1$i$167
+ )
+ (set_local $$70
+ (i32.load
(get_local $$arrayidx161$i)
)
- (br $while-in$24)
- )
- )
- (set_local $$arrayidx165$i$169
- (i32.add
- (get_local $$R$1$i$168)
- (i32.const 16)
)
- )
- (set_local $$71
- (i32.load
- (get_local $$arrayidx165$i$169)
+ (set_local $$cmp162$i
+ (i32.eq
+ (get_local $$70)
+ (i32.const 0)
+ )
)
- )
- (set_local $$cmp166$i
- (i32.eq
- (get_local $$71)
- (i32.const 0)
+ (if
+ (i32.eqz
+ (get_local $$cmp162$i)
+ )
+ (block
+ (set_local $$R$1$i$168
+ (get_local $$70)
+ )
+ (set_local $$RP$1$i$167
+ (get_local $$arrayidx161$i)
+ )
+ (br $while-in$24)
+ )
)
- )
- (if
- (get_local $$cmp166$i)
- (block
- (set_local $$R$1$i$168$lcssa
+ (set_local $$arrayidx165$i$169
+ (i32.add
(get_local $$R$1$i$168)
+ (i32.const 16)
)
- (set_local $$RP$1$i$167$lcssa
- (get_local $$RP$1$i$167)
+ )
+ (set_local $$71
+ (i32.load
+ (get_local $$arrayidx165$i$169)
)
- (br $while-out$23)
)
- (block
- (set_local $$R$1$i$168
+ (set_local $$cmp166$i
+ (i32.eq
(get_local $$71)
+ (i32.const 0)
)
- (set_local $$RP$1$i$167
- (get_local $$arrayidx165$i$169)
+ )
+ (if
+ (get_local $$cmp166$i)
+ (block
+ (set_local $$R$1$i$168$lcssa
+ (get_local $$R$1$i$168)
+ )
+ (set_local $$RP$1$i$167$lcssa
+ (get_local $$RP$1$i$167)
+ )
+ (br $while-out$23)
+ )
+ (block
+ (set_local $$R$1$i$168
+ (get_local $$71)
+ )
+ (set_local $$RP$1$i$167
+ (get_local $$arrayidx165$i$169)
+ )
)
)
+ (br $while-in$24)
)
- (br $while-in$24)
)
(set_local $$cmp171$i
(i32.lt_u
@@ -21694,101 +21644,103 @@
(set_local $$T$0$i
(get_local $$87)
)
- (loop $while-out$31 $while-in$32
- (set_local $$head386$i
- (i32.add
- (get_local $$T$0$i)
- (i32.const 4)
- )
- )
- (set_local $$88
- (i32.load
- (get_local $$head386$i)
+ (loop $while-in$32
+ (block $while-out$31
+ (set_local $$head386$i
+ (i32.add
+ (get_local $$T$0$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$and387$i
- (i32.and
- (get_local $$88)
- (i32.const -8)
+ (set_local $$88
+ (i32.load
+ (get_local $$head386$i)
+ )
)
- )
- (set_local $$cmp388$i
- (i32.eq
- (get_local $$and387$i)
- (get_local $$rsize$4$lcssa$i)
+ (set_local $$and387$i
+ (i32.and
+ (get_local $$88)
+ (i32.const -8)
+ )
)
- )
- (if
- (get_local $$cmp388$i)
- (block
- (set_local $$T$0$i$lcssa
- (get_local $$T$0$i)
+ (set_local $$cmp388$i
+ (i32.eq
+ (get_local $$and387$i)
+ (get_local $$rsize$4$lcssa$i)
)
- (set_local $label
- (i32.const 148)
+ )
+ (if
+ (get_local $$cmp388$i)
+ (block
+ (set_local $$T$0$i$lcssa
+ (get_local $$T$0$i)
+ )
+ (set_local $label
+ (i32.const 148)
+ )
+ (br $while-out$31)
)
- (br $while-out$31)
)
- )
- (set_local $$shr391$i
- (i32.shr_u
- (get_local $$K373$0$i)
- (i32.const 31)
+ (set_local $$shr391$i
+ (i32.shr_u
+ (get_local $$K373$0$i)
+ (i32.const 31)
+ )
)
- )
- (set_local $$arrayidx394$i
- (i32.add
+ (set_local $$arrayidx394$i
(i32.add
- (get_local $$T$0$i)
- (i32.const 16)
+ (i32.add
+ (get_local $$T$0$i)
+ (i32.const 16)
+ )
+ (i32.shl
+ (get_local $$shr391$i)
+ (i32.const 2)
+ )
)
+ )
+ (set_local $$shl395$i
(i32.shl
- (get_local $$shr391$i)
- (i32.const 2)
+ (get_local $$K373$0$i)
+ (i32.const 1)
)
)
- )
- (set_local $$shl395$i
- (i32.shl
- (get_local $$K373$0$i)
- (i32.const 1)
- )
- )
- (set_local $$89
- (i32.load
- (get_local $$arrayidx394$i)
- )
- )
- (set_local $$cmp396$i
- (i32.eq
- (get_local $$89)
- (i32.const 0)
- )
- )
- (if
- (get_local $$cmp396$i)
- (block
- (set_local $$T$0$i$lcssa293
- (get_local $$T$0$i)
- )
- (set_local $$arrayidx394$i$lcssa
+ (set_local $$89
+ (i32.load
(get_local $$arrayidx394$i)
)
- (set_local $label
- (i32.const 145)
+ )
+ (set_local $$cmp396$i
+ (i32.eq
+ (get_local $$89)
+ (i32.const 0)
)
- (br $while-out$31)
)
- (block
- (set_local $$K373$0$i
- (get_local $$shl395$i)
+ (if
+ (get_local $$cmp396$i)
+ (block
+ (set_local $$T$0$i$lcssa293
+ (get_local $$T$0$i)
+ )
+ (set_local $$arrayidx394$i$lcssa
+ (get_local $$arrayidx394$i)
+ )
+ (set_local $label
+ (i32.const 145)
+ )
+ (br $while-out$31)
)
- (set_local $$T$0$i
- (get_local $$89)
+ (block
+ (set_local $$K373$0$i
+ (get_local $$shl395$i)
+ )
+ (set_local $$T$0$i
+ (get_local $$89)
+ )
)
)
+ (br $while-in$32)
)
- (br $while-in$32)
)
(if
(i32.eq
@@ -22465,90 +22417,92 @@
(set_local $$sp$0$i$i
(i32.const 624)
)
- (loop $while-out$37 $while-in$38
- (set_local $$105
- (i32.load
- (get_local $$sp$0$i$i)
- )
- )
- (set_local $$cmp$i$9$i
- (i32.gt_u
- (get_local $$105)
- (get_local $$104)
+ (loop $while-in$38
+ (block $while-out$37
+ (set_local $$105
+ (i32.load
+ (get_local $$sp$0$i$i)
+ )
)
- )
- (if
- (i32.eqz
- (get_local $$cmp$i$9$i)
+ (set_local $$cmp$i$9$i
+ (i32.gt_u
+ (get_local $$105)
+ (get_local $$104)
+ )
)
- (block
- (set_local $$size$i$i
- (i32.add
- (get_local $$sp$0$i$i)
- (i32.const 4)
- )
+ (if
+ (i32.eqz
+ (get_local $$cmp$i$9$i)
)
- (set_local $$106
- (i32.load
- (get_local $$size$i$i)
+ (block
+ (set_local $$size$i$i
+ (i32.add
+ (get_local $$sp$0$i$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$add$ptr$i$i
- (i32.add
- (get_local $$105)
- (get_local $$106)
+ (set_local $$106
+ (i32.load
+ (get_local $$size$i$i)
+ )
)
- )
- (set_local $$cmp2$i$i
- (i32.gt_u
- (get_local $$add$ptr$i$i)
- (get_local $$104)
+ (set_local $$add$ptr$i$i
+ (i32.add
+ (get_local $$105)
+ (get_local $$106)
+ )
)
- )
- (if
- (get_local $$cmp2$i$i)
- (block
- (set_local $$base$i$i$lcssa
- (get_local $$sp$0$i$i)
+ (set_local $$cmp2$i$i
+ (i32.gt_u
+ (get_local $$add$ptr$i$i)
+ (get_local $$104)
)
- (set_local $$size$i$i$lcssa
- (get_local $$size$i$i)
+ )
+ (if
+ (get_local $$cmp2$i$i)
+ (block
+ (set_local $$base$i$i$lcssa
+ (get_local $$sp$0$i$i)
+ )
+ (set_local $$size$i$i$lcssa
+ (get_local $$size$i$i)
+ )
+ (br $while-out$37)
)
- (br $while-out$37)
)
)
)
- )
- (set_local $$next$i$i
- (i32.add
- (get_local $$sp$0$i$i)
- (i32.const 8)
- )
- )
- (set_local $$107
- (i32.load
- (get_local $$next$i$i)
+ (set_local $$next$i$i
+ (i32.add
+ (get_local $$sp$0$i$i)
+ (i32.const 8)
+ )
)
- )
- (set_local $$cmp3$i$i
- (i32.eq
- (get_local $$107)
- (i32.const 0)
+ (set_local $$107
+ (i32.load
+ (get_local $$next$i$i)
+ )
)
- )
- (if
- (get_local $$cmp3$i$i)
- (block
- (set_local $label
- (i32.const 173)
+ (set_local $$cmp3$i$i
+ (i32.eq
+ (get_local $$107)
+ (i32.const 0)
)
- (br $label$break$L259)
)
- (set_local $$sp$0$i$i
- (get_local $$107)
+ (if
+ (get_local $$cmp3$i$i)
+ (block
+ (set_local $label
+ (i32.const 173)
+ )
+ (br $label$break$L259)
+ )
+ (set_local $$sp$0$i$i
+ (get_local $$107)
+ )
)
+ (br $while-in$38)
)
- (br $while-in$38)
)
(set_local $$112
(i32.load
@@ -22952,8 +22906,10 @@
(if
(get_local $$cmp108$i)
(block
- (call_import $_sbrk
- (get_local $$sub112$i)
+ (drop
+ (call_import $_sbrk
+ (get_local $$sub112$i)
+ )
)
(br $label$break$L279)
)
@@ -23245,62 +23201,64 @@
(set_local $$i$01$i$i
(i32.const 0)
)
- (loop $while-out$46 $while-in$47
- (set_local $$shl$i$i
- (i32.shl
- (get_local $$i$01$i$i)
- (i32.const 1)
- )
- )
- (set_local $$arrayidx$i$i
- (i32.add
- (i32.const 216)
+ (loop $while-in$47
+ (block $while-out$46
+ (set_local $$shl$i$i
(i32.shl
- (get_local $$shl$i$i)
- (i32.const 2)
+ (get_local $$i$01$i$i)
+ (i32.const 1)
)
)
- )
- (set_local $$122
- (i32.add
+ (set_local $$arrayidx$i$i
+ (i32.add
+ (i32.const 216)
+ (i32.shl
+ (get_local $$shl$i$i)
+ (i32.const 2)
+ )
+ )
+ )
+ (set_local $$122
+ (i32.add
+ (get_local $$arrayidx$i$i)
+ (i32.const 12)
+ )
+ )
+ (i32.store
+ (get_local $$122)
(get_local $$arrayidx$i$i)
- (i32.const 12)
)
- )
- (i32.store
- (get_local $$122)
- (get_local $$arrayidx$i$i)
- )
- (set_local $$123
- (i32.add
+ (set_local $$123
+ (i32.add
+ (get_local $$arrayidx$i$i)
+ (i32.const 8)
+ )
+ )
+ (i32.store
+ (get_local $$123)
(get_local $$arrayidx$i$i)
- (i32.const 8)
)
- )
- (i32.store
- (get_local $$123)
- (get_local $$arrayidx$i$i)
- )
- (set_local $$inc$i$i
- (i32.add
- (get_local $$i$01$i$i)
- (i32.const 1)
+ (set_local $$inc$i$i
+ (i32.add
+ (get_local $$i$01$i$i)
+ (i32.const 1)
+ )
)
- )
- (set_local $$exitcond$i$i
- (i32.eq
- (get_local $$inc$i$i)
- (i32.const 32)
+ (set_local $$exitcond$i$i
+ (i32.eq
+ (get_local $$inc$i$i)
+ (i32.const 32)
+ )
)
- )
- (if
- (get_local $$exitcond$i$i)
- (br $while-out$46)
- (set_local $$i$01$i$i
- (get_local $$inc$i$i)
+ (if
+ (get_local $$exitcond$i$i)
+ (br $while-out$46)
+ (set_local $$i$01$i$i
+ (get_local $$inc$i$i)
+ )
)
+ (br $while-in$47)
)
- (br $while-in$47)
)
(set_local $$sub172$i
(i32.add
@@ -23414,81 +23372,83 @@
(set_local $$sp$0108$i
(i32.const 624)
)
- (loop $while-out$48 $while-in$49
- (set_local $$127
- (i32.load
- (get_local $$sp$0108$i)
- )
- )
- (set_local $$size188$i
- (i32.add
- (get_local $$sp$0108$i)
- (i32.const 4)
- )
- )
- (set_local $$128
- (i32.load
- (get_local $$size188$i)
+ (loop $while-in$49
+ (block $while-out$48
+ (set_local $$127
+ (i32.load
+ (get_local $$sp$0108$i)
+ )
)
- )
- (set_local $$add$ptr189$i
- (i32.add
- (get_local $$127)
- (get_local $$128)
+ (set_local $$size188$i
+ (i32.add
+ (get_local $$sp$0108$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$cmp190$i
- (i32.eq
- (get_local $$tbase$796$i)
- (get_local $$add$ptr189$i)
+ (set_local $$128
+ (i32.load
+ (get_local $$size188$i)
+ )
)
- )
- (if
- (get_local $$cmp190$i)
- (block
- (set_local $$$lcssa
+ (set_local $$add$ptr189$i
+ (i32.add
(get_local $$127)
- )
- (set_local $$$lcssa290
(get_local $$128)
)
- (set_local $$size188$i$lcssa
- (get_local $$size188$i)
- )
- (set_local $$sp$0108$i$lcssa
- (get_local $$sp$0108$i)
+ )
+ (set_local $$cmp190$i
+ (i32.eq
+ (get_local $$tbase$796$i)
+ (get_local $$add$ptr189$i)
)
- (set_local $label
- (i32.const 203)
+ )
+ (if
+ (get_local $$cmp190$i)
+ (block
+ (set_local $$$lcssa
+ (get_local $$127)
+ )
+ (set_local $$$lcssa290
+ (get_local $$128)
+ )
+ (set_local $$size188$i$lcssa
+ (get_local $$size188$i)
+ )
+ (set_local $$sp$0108$i$lcssa
+ (get_local $$sp$0108$i)
+ )
+ (set_local $label
+ (i32.const 203)
+ )
+ (br $while-out$48)
)
- (br $while-out$48)
)
- )
- (set_local $$next$i
- (i32.add
- (get_local $$sp$0108$i)
- (i32.const 8)
+ (set_local $$next$i
+ (i32.add
+ (get_local $$sp$0108$i)
+ (i32.const 8)
+ )
)
- )
- (set_local $$129
- (i32.load
- (get_local $$next$i)
+ (set_local $$129
+ (i32.load
+ (get_local $$next$i)
+ )
)
- )
- (set_local $$cmp186$i
- (i32.eq
- (get_local $$129)
- (i32.const 0)
+ (set_local $$cmp186$i
+ (i32.eq
+ (get_local $$129)
+ (i32.const 0)
+ )
)
- )
- (if
- (get_local $$cmp186$i)
- (br $while-out$48)
- (set_local $$sp$0108$i
- (get_local $$129)
+ (if
+ (get_local $$cmp186$i)
+ (br $while-out$48)
+ (set_local $$sp$0108$i
+ (get_local $$129)
+ )
)
+ (br $while-in$49)
)
- (br $while-in$49)
)
(if
(i32.eq
@@ -23707,63 +23667,65 @@
(set_local $$sp$1107$i
(i32.const 624)
)
- (loop $while-out$50 $while-in$51
- (set_local $$136
- (i32.load
- (get_local $$sp$1107$i)
- )
- )
- (set_local $$cmp228$i
- (i32.eq
- (get_local $$136)
- (get_local $$add$ptr227$i)
- )
- )
- (if
- (get_local $$cmp228$i)
- (block
- (set_local $$base226$i$lcssa
- (get_local $$sp$1107$i)
- )
- (set_local $$sp$1107$i$lcssa
+ (loop $while-in$51
+ (block $while-out$50
+ (set_local $$136
+ (i32.load
(get_local $$sp$1107$i)
)
- (set_local $label
- (i32.const 211)
+ )
+ (set_local $$cmp228$i
+ (i32.eq
+ (get_local $$136)
+ (get_local $$add$ptr227$i)
)
- (br $while-out$50)
)
- )
- (set_local $$next231$i
- (i32.add
- (get_local $$sp$1107$i)
- (i32.const 8)
+ (if
+ (get_local $$cmp228$i)
+ (block
+ (set_local $$base226$i$lcssa
+ (get_local $$sp$1107$i)
+ )
+ (set_local $$sp$1107$i$lcssa
+ (get_local $$sp$1107$i)
+ )
+ (set_local $label
+ (i32.const 211)
+ )
+ (br $while-out$50)
+ )
)
- )
- (set_local $$137
- (i32.load
- (get_local $$next231$i)
+ (set_local $$next231$i
+ (i32.add
+ (get_local $$sp$1107$i)
+ (i32.const 8)
+ )
)
- )
- (set_local $$cmp224$i
- (i32.eq
- (get_local $$137)
- (i32.const 0)
+ (set_local $$137
+ (i32.load
+ (get_local $$next231$i)
+ )
)
- )
- (if
- (get_local $$cmp224$i)
- (block
- (set_local $$sp$0$i$i$i
- (i32.const 624)
+ (set_local $$cmp224$i
+ (i32.eq
+ (get_local $$137)
+ (i32.const 0)
)
- (br $while-out$50)
)
- (set_local $$sp$1107$i
- (get_local $$137)
+ (if
+ (get_local $$cmp224$i)
+ (block
+ (set_local $$sp$0$i$i$i
+ (i32.const 624)
+ )
+ (br $while-out$50)
+ )
+ (set_local $$sp$1107$i
+ (get_local $$137)
+ )
)
+ (br $while-in$51)
)
- (br $while-in$51)
)
(if
(i32.eq
@@ -24407,76 +24369,78 @@
)
)
)
- (loop $while-out$61 $while-in$62
- (set_local $$arrayidx103$i$i
- (i32.add
- (get_local $$R$1$i$i)
- (i32.const 20)
- )
- )
- (set_local $$161
- (i32.load
- (get_local $$arrayidx103$i$i)
- )
- )
- (set_local $$cmp104$i$i
- (i32.eq
- (get_local $$161)
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (get_local $$cmp104$i$i)
- )
- (block
- (set_local $$R$1$i$i
- (get_local $$161)
+ (loop $while-in$62
+ (block $while-out$61
+ (set_local $$arrayidx103$i$i
+ (i32.add
+ (get_local $$R$1$i$i)
+ (i32.const 20)
)
- (set_local $$RP$1$i$i
+ )
+ (set_local $$161
+ (i32.load
(get_local $$arrayidx103$i$i)
)
- (br $while-in$62)
- )
- )
- (set_local $$arrayidx107$i$i
- (i32.add
- (get_local $$R$1$i$i)
- (i32.const 16)
)
- )
- (set_local $$162
- (i32.load
- (get_local $$arrayidx107$i$i)
+ (set_local $$cmp104$i$i
+ (i32.eq
+ (get_local $$161)
+ (i32.const 0)
+ )
)
- )
- (set_local $$cmp108$i$i
- (i32.eq
- (get_local $$162)
- (i32.const 0)
+ (if
+ (i32.eqz
+ (get_local $$cmp104$i$i)
+ )
+ (block
+ (set_local $$R$1$i$i
+ (get_local $$161)
+ )
+ (set_local $$RP$1$i$i
+ (get_local $$arrayidx103$i$i)
+ )
+ (br $while-in$62)
+ )
)
- )
- (if
- (get_local $$cmp108$i$i)
- (block
- (set_local $$R$1$i$i$lcssa
+ (set_local $$arrayidx107$i$i
+ (i32.add
(get_local $$R$1$i$i)
+ (i32.const 16)
)
- (set_local $$RP$1$i$i$lcssa
- (get_local $$RP$1$i$i)
+ )
+ (set_local $$162
+ (i32.load
+ (get_local $$arrayidx107$i$i)
)
- (br $while-out$61)
)
- (block
- (set_local $$R$1$i$i
+ (set_local $$cmp108$i$i
+ (i32.eq
(get_local $$162)
+ (i32.const 0)
)
- (set_local $$RP$1$i$i
- (get_local $$arrayidx107$i$i)
+ )
+ (if
+ (get_local $$cmp108$i$i)
+ (block
+ (set_local $$R$1$i$i$lcssa
+ (get_local $$R$1$i$i)
+ )
+ (set_local $$RP$1$i$i$lcssa
+ (get_local $$RP$1$i$i)
+ )
+ (br $while-out$61)
+ )
+ (block
+ (set_local $$R$1$i$i
+ (get_local $$162)
+ )
+ (set_local $$RP$1$i$i
+ (get_local $$arrayidx107$i$i)
+ )
)
)
+ (br $while-in$62)
)
- (br $while-in$62)
)
(set_local $$cmp112$i$i
(i32.lt_u
@@ -25442,101 +25406,103 @@
(set_local $$T$0$i$58$i
(get_local $$178)
)
- (loop $while-out$71 $while-in$72
- (set_local $$head317$i$i
- (i32.add
- (get_local $$T$0$i$58$i)
- (i32.const 4)
- )
- )
- (set_local $$179
- (i32.load
- (get_local $$head317$i$i)
+ (loop $while-in$72
+ (block $while-out$71
+ (set_local $$head317$i$i
+ (i32.add
+ (get_local $$T$0$i$58$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$and318$i$i
- (i32.and
- (get_local $$179)
- (i32.const -8)
+ (set_local $$179
+ (i32.load
+ (get_local $$head317$i$i)
+ )
)
- )
- (set_local $$cmp319$i$i
- (i32.eq
- (get_local $$and318$i$i)
- (get_local $$qsize$0$i$i)
+ (set_local $$and318$i$i
+ (i32.and
+ (get_local $$179)
+ (i32.const -8)
+ )
)
- )
- (if
- (get_local $$cmp319$i$i)
- (block
- (set_local $$T$0$i$58$i$lcssa
- (get_local $$T$0$i$58$i)
+ (set_local $$cmp319$i$i
+ (i32.eq
+ (get_local $$and318$i$i)
+ (get_local $$qsize$0$i$i)
)
- (set_local $label
- (i32.const 281)
+ )
+ (if
+ (get_local $$cmp319$i$i)
+ (block
+ (set_local $$T$0$i$58$i$lcssa
+ (get_local $$T$0$i$58$i)
+ )
+ (set_local $label
+ (i32.const 281)
+ )
+ (br $while-out$71)
)
- (br $while-out$71)
)
- )
- (set_local $$shr322$i$i
- (i32.shr_u
- (get_local $$K305$0$i$i)
- (i32.const 31)
+ (set_local $$shr322$i$i
+ (i32.shr_u
+ (get_local $$K305$0$i$i)
+ (i32.const 31)
+ )
)
- )
- (set_local $$arrayidx325$i$i
- (i32.add
+ (set_local $$arrayidx325$i$i
(i32.add
- (get_local $$T$0$i$58$i)
- (i32.const 16)
+ (i32.add
+ (get_local $$T$0$i$58$i)
+ (i32.const 16)
+ )
+ (i32.shl
+ (get_local $$shr322$i$i)
+ (i32.const 2)
+ )
)
+ )
+ (set_local $$shl326$i$i
(i32.shl
- (get_local $$shr322$i$i)
- (i32.const 2)
+ (get_local $$K305$0$i$i)
+ (i32.const 1)
)
)
- )
- (set_local $$shl326$i$i
- (i32.shl
- (get_local $$K305$0$i$i)
- (i32.const 1)
- )
- )
- (set_local $$180
- (i32.load
- (get_local $$arrayidx325$i$i)
- )
- )
- (set_local $$cmp327$i$i
- (i32.eq
- (get_local $$180)
- (i32.const 0)
- )
- )
- (if
- (get_local $$cmp327$i$i)
- (block
- (set_local $$T$0$i$58$i$lcssa283
- (get_local $$T$0$i$58$i)
- )
- (set_local $$arrayidx325$i$i$lcssa
+ (set_local $$180
+ (i32.load
(get_local $$arrayidx325$i$i)
)
- (set_local $label
- (i32.const 278)
+ )
+ (set_local $$cmp327$i$i
+ (i32.eq
+ (get_local $$180)
+ (i32.const 0)
)
- (br $while-out$71)
)
- (block
- (set_local $$K305$0$i$i
- (get_local $$shl326$i$i)
+ (if
+ (get_local $$cmp327$i$i)
+ (block
+ (set_local $$T$0$i$58$i$lcssa283
+ (get_local $$T$0$i$58$i)
+ )
+ (set_local $$arrayidx325$i$i$lcssa
+ (get_local $$arrayidx325$i$i)
+ )
+ (set_local $label
+ (i32.const 278)
+ )
+ (br $while-out$71)
)
- (set_local $$T$0$i$58$i
- (get_local $$180)
+ (block
+ (set_local $$K305$0$i$i
+ (get_local $$shl326$i$i)
+ )
+ (set_local $$T$0$i$58$i
+ (get_local $$180)
+ )
)
)
+ (br $while-in$72)
)
- (br $while-in$72)
)
(if
(i32.eq
@@ -25713,72 +25679,74 @@
)
)
)
- (loop $while-out$73 $while-in$74
- (set_local $$185
- (i32.load
- (get_local $$sp$0$i$i$i)
- )
- )
- (set_local $$cmp$i$i$i
- (i32.gt_u
- (get_local $$185)
- (get_local $$119)
+ (loop $while-in$74
+ (block $while-out$73
+ (set_local $$185
+ (i32.load
+ (get_local $$sp$0$i$i$i)
+ )
)
- )
- (if
- (i32.eqz
- (get_local $$cmp$i$i$i)
+ (set_local $$cmp$i$i$i
+ (i32.gt_u
+ (get_local $$185)
+ (get_local $$119)
+ )
)
- (block
- (set_local $$size$i$i$i
- (i32.add
- (get_local $$sp$0$i$i$i)
- (i32.const 4)
- )
+ (if
+ (i32.eqz
+ (get_local $$cmp$i$i$i)
)
- (set_local $$186
- (i32.load
- (get_local $$size$i$i$i)
+ (block
+ (set_local $$size$i$i$i
+ (i32.add
+ (get_local $$sp$0$i$i$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$add$ptr$i$i$i
- (i32.add
- (get_local $$185)
- (get_local $$186)
+ (set_local $$186
+ (i32.load
+ (get_local $$size$i$i$i)
+ )
)
- )
- (set_local $$cmp2$i$i$i
- (i32.gt_u
- (get_local $$add$ptr$i$i$i)
- (get_local $$119)
+ (set_local $$add$ptr$i$i$i
+ (i32.add
+ (get_local $$185)
+ (get_local $$186)
+ )
)
- )
- (if
- (get_local $$cmp2$i$i$i)
- (block
- (set_local $$add$ptr$i$i$i$lcssa
+ (set_local $$cmp2$i$i$i
+ (i32.gt_u
(get_local $$add$ptr$i$i$i)
+ (get_local $$119)
+ )
+ )
+ (if
+ (get_local $$cmp2$i$i$i)
+ (block
+ (set_local $$add$ptr$i$i$i$lcssa
+ (get_local $$add$ptr$i$i$i)
+ )
+ (br $while-out$73)
)
- (br $while-out$73)
)
)
)
- )
- (set_local $$next$i$i$i
- (i32.add
- (get_local $$sp$0$i$i$i)
- (i32.const 8)
+ (set_local $$next$i$i$i
+ (i32.add
+ (get_local $$sp$0$i$i$i)
+ (i32.const 8)
+ )
)
- )
- (set_local $$187
- (i32.load
- (get_local $$next$i$i$i)
+ (set_local $$187
+ (i32.load
+ (get_local $$next$i$i$i)
+ )
)
+ (set_local $$sp$0$i$i$i
+ (get_local $$187)
+ )
+ (br $while-in$74)
)
- (set_local $$sp$0$i$i$i
- (get_local $$187)
- )
- (br $while-in$74)
)
(set_local $$add$ptr2$i$i
(i32.add
@@ -26041,37 +26009,39 @@
(set_local $$p$0$i$i
(get_local $$add$ptr15$i$i)
)
- (loop $while-out$75 $while-in$76
- (set_local $$add$ptr24$i$i
- (i32.add
- (get_local $$p$0$i$i)
- (i32.const 4)
+ (loop $while-in$76
+ (block $while-out$75
+ (set_local $$add$ptr24$i$i
+ (i32.add
+ (get_local $$p$0$i$i)
+ (i32.const 4)
+ )
)
- )
- (i32.store
- (get_local $$add$ptr24$i$i)
- (i32.const 7)
- )
- (set_local $$193
- (i32.add
+ (i32.store
(get_local $$add$ptr24$i$i)
- (i32.const 4)
+ (i32.const 7)
)
- )
- (set_local $$cmp27$i$i
- (i32.lt_u
- (get_local $$193)
- (get_local $$add$ptr$i$i$i$lcssa)
+ (set_local $$193
+ (i32.add
+ (get_local $$add$ptr24$i$i)
+ (i32.const 4)
+ )
)
- )
- (if
- (get_local $$cmp27$i$i)
- (set_local $$p$0$i$i
- (get_local $$add$ptr24$i$i)
+ (set_local $$cmp27$i$i
+ (i32.lt_u
+ (get_local $$193)
+ (get_local $$add$ptr$i$i$i$lcssa)
+ )
+ )
+ (if
+ (get_local $$cmp27$i$i)
+ (set_local $$p$0$i$i
+ (get_local $$add$ptr24$i$i)
+ )
+ (br $while-out$75)
)
- (br $while-out$75)
+ (br $while-in$76)
)
- (br $while-in$76)
)
(set_local $$cmp28$i$i
(i32.eq
@@ -26601,101 +26571,103 @@
(set_local $$T$0$i$i
(get_local $$200)
)
- (loop $while-out$77 $while-in$78
- (set_local $$head118$i$i
- (i32.add
- (get_local $$T$0$i$i)
- (i32.const 4)
- )
- )
- (set_local $$201
- (i32.load
- (get_local $$head118$i$i)
+ (loop $while-in$78
+ (block $while-out$77
+ (set_local $$head118$i$i
+ (i32.add
+ (get_local $$T$0$i$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$and119$i$i
- (i32.and
- (get_local $$201)
- (i32.const -8)
+ (set_local $$201
+ (i32.load
+ (get_local $$head118$i$i)
+ )
)
- )
- (set_local $$cmp120$i$i
- (i32.eq
- (get_local $$and119$i$i)
- (get_local $$sub$ptr$sub$i$i)
+ (set_local $$and119$i$i
+ (i32.and
+ (get_local $$201)
+ (i32.const -8)
+ )
)
- )
- (if
- (get_local $$cmp120$i$i)
- (block
- (set_local $$T$0$i$i$lcssa
- (get_local $$T$0$i$i)
+ (set_local $$cmp120$i$i
+ (i32.eq
+ (get_local $$and119$i$i)
+ (get_local $$sub$ptr$sub$i$i)
)
- (set_local $label
- (i32.const 307)
+ )
+ (if
+ (get_local $$cmp120$i$i)
+ (block
+ (set_local $$T$0$i$i$lcssa
+ (get_local $$T$0$i$i)
+ )
+ (set_local $label
+ (i32.const 307)
+ )
+ (br $while-out$77)
)
- (br $while-out$77)
)
- )
- (set_local $$shr123$i$i
- (i32.shr_u
- (get_local $$K105$0$i$i)
- (i32.const 31)
+ (set_local $$shr123$i$i
+ (i32.shr_u
+ (get_local $$K105$0$i$i)
+ (i32.const 31)
+ )
)
- )
- (set_local $$arrayidx126$i$i
- (i32.add
+ (set_local $$arrayidx126$i$i
(i32.add
- (get_local $$T$0$i$i)
- (i32.const 16)
+ (i32.add
+ (get_local $$T$0$i$i)
+ (i32.const 16)
+ )
+ (i32.shl
+ (get_local $$shr123$i$i)
+ (i32.const 2)
+ )
)
+ )
+ (set_local $$shl127$i$i
(i32.shl
- (get_local $$shr123$i$i)
- (i32.const 2)
+ (get_local $$K105$0$i$i)
+ (i32.const 1)
)
)
- )
- (set_local $$shl127$i$i
- (i32.shl
- (get_local $$K105$0$i$i)
- (i32.const 1)
- )
- )
- (set_local $$202
- (i32.load
- (get_local $$arrayidx126$i$i)
- )
- )
- (set_local $$cmp128$i$i
- (i32.eq
- (get_local $$202)
- (i32.const 0)
- )
- )
- (if
- (get_local $$cmp128$i$i)
- (block
- (set_local $$T$0$i$i$lcssa284
- (get_local $$T$0$i$i)
- )
- (set_local $$arrayidx126$i$i$lcssa
+ (set_local $$202
+ (i32.load
(get_local $$arrayidx126$i$i)
)
- (set_local $label
- (i32.const 304)
+ )
+ (set_local $$cmp128$i$i
+ (i32.eq
+ (get_local $$202)
+ (i32.const 0)
)
- (br $while-out$77)
)
- (block
- (set_local $$K105$0$i$i
- (get_local $$shl127$i$i)
+ (if
+ (get_local $$cmp128$i$i)
+ (block
+ (set_local $$T$0$i$i$lcssa284
+ (get_local $$T$0$i$i)
+ )
+ (set_local $$arrayidx126$i$i$lcssa
+ (get_local $$arrayidx126$i$i)
+ )
+ (set_local $label
+ (i32.const 304)
+ )
+ (br $while-out$77)
)
- (set_local $$T$0$i$i
- (get_local $$202)
+ (block
+ (set_local $$K105$0$i$i
+ (get_local $$shl127$i$i)
+ )
+ (set_local $$T$0$i$i
+ (get_local $$202)
+ )
)
)
+ (br $while-in$78)
)
- (br $while-in$78)
)
(if
(i32.eq
@@ -27311,9 +27283,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$cmp
(i32.eq
@@ -27856,76 +27826,78 @@
)
)
)
- (loop $while-out$4 $while-in$5
- (set_local $$arrayidx108
- (i32.add
- (get_local $$R$1)
- (i32.const 20)
- )
- )
- (set_local $$16
- (i32.load
- (get_local $$arrayidx108)
- )
- )
- (set_local $$cmp109
- (i32.eq
- (get_local $$16)
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (get_local $$cmp109)
- )
- (block
- (set_local $$R$1
- (get_local $$16)
+ (loop $while-in$5
+ (block $while-out$4
+ (set_local $$arrayidx108
+ (i32.add
+ (get_local $$R$1)
+ (i32.const 20)
)
- (set_local $$RP$1
+ )
+ (set_local $$16
+ (i32.load
(get_local $$arrayidx108)
)
- (br $while-in$5)
- )
- )
- (set_local $$arrayidx113
- (i32.add
- (get_local $$R$1)
- (i32.const 16)
)
- )
- (set_local $$17
- (i32.load
- (get_local $$arrayidx113)
+ (set_local $$cmp109
+ (i32.eq
+ (get_local $$16)
+ (i32.const 0)
+ )
)
- )
- (set_local $$cmp114
- (i32.eq
- (get_local $$17)
- (i32.const 0)
+ (if
+ (i32.eqz
+ (get_local $$cmp109)
+ )
+ (block
+ (set_local $$R$1
+ (get_local $$16)
+ )
+ (set_local $$RP$1
+ (get_local $$arrayidx108)
+ )
+ (br $while-in$5)
+ )
)
- )
- (if
- (get_local $$cmp114)
- (block
- (set_local $$R$1$lcssa
+ (set_local $$arrayidx113
+ (i32.add
(get_local $$R$1)
+ (i32.const 16)
)
- (set_local $$RP$1$lcssa
- (get_local $$RP$1)
+ )
+ (set_local $$17
+ (i32.load
+ (get_local $$arrayidx113)
)
- (br $while-out$4)
)
- (block
- (set_local $$R$1
+ (set_local $$cmp114
+ (i32.eq
(get_local $$17)
+ (i32.const 0)
)
- (set_local $$RP$1
- (get_local $$arrayidx113)
+ )
+ (if
+ (get_local $$cmp114)
+ (block
+ (set_local $$R$1$lcssa
+ (get_local $$R$1)
+ )
+ (set_local $$RP$1$lcssa
+ (get_local $$RP$1)
+ )
+ (br $while-out$4)
+ )
+ (block
+ (set_local $$R$1
+ (get_local $$17)
+ )
+ (set_local $$RP$1
+ (get_local $$arrayidx113)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(set_local $$cmp118
(i32.lt_u
@@ -28896,76 +28868,78 @@
)
)
)
- (loop $while-out$12 $while-in$13
- (set_local $$arrayidx374
- (i32.add
- (get_local $$R332$1)
- (i32.const 20)
- )
- )
- (set_local $$49
- (i32.load
- (get_local $$arrayidx374)
- )
- )
- (set_local $$cmp375
- (i32.eq
- (get_local $$49)
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (get_local $$cmp375)
- )
- (block
- (set_local $$R332$1
- (get_local $$49)
+ (loop $while-in$13
+ (block $while-out$12
+ (set_local $$arrayidx374
+ (i32.add
+ (get_local $$R332$1)
+ (i32.const 20)
)
- (set_local $$RP360$1
+ )
+ (set_local $$49
+ (i32.load
(get_local $$arrayidx374)
)
- (br $while-in$13)
- )
- )
- (set_local $$arrayidx379
- (i32.add
- (get_local $$R332$1)
- (i32.const 16)
)
- )
- (set_local $$50
- (i32.load
- (get_local $$arrayidx379)
+ (set_local $$cmp375
+ (i32.eq
+ (get_local $$49)
+ (i32.const 0)
+ )
)
- )
- (set_local $$cmp380
- (i32.eq
- (get_local $$50)
- (i32.const 0)
+ (if
+ (i32.eqz
+ (get_local $$cmp375)
+ )
+ (block
+ (set_local $$R332$1
+ (get_local $$49)
+ )
+ (set_local $$RP360$1
+ (get_local $$arrayidx374)
+ )
+ (br $while-in$13)
+ )
)
- )
- (if
- (get_local $$cmp380)
- (block
- (set_local $$R332$1$lcssa
+ (set_local $$arrayidx379
+ (i32.add
(get_local $$R332$1)
+ (i32.const 16)
)
- (set_local $$RP360$1$lcssa
- (get_local $$RP360$1)
+ )
+ (set_local $$50
+ (i32.load
+ (get_local $$arrayidx379)
)
- (br $while-out$12)
)
- (block
- (set_local $$R332$1
+ (set_local $$cmp380
+ (i32.eq
(get_local $$50)
+ (i32.const 0)
)
- (set_local $$RP360$1
- (get_local $$arrayidx379)
+ )
+ (if
+ (get_local $$cmp380)
+ (block
+ (set_local $$R332$1$lcssa
+ (get_local $$R332$1)
+ )
+ (set_local $$RP360$1$lcssa
+ (get_local $$RP360$1)
+ )
+ (br $while-out$12)
+ )
+ (block
+ (set_local $$R332$1
+ (get_local $$50)
+ )
+ (set_local $$RP360$1
+ (get_local $$arrayidx379)
+ )
)
)
+ (br $while-in$13)
)
- (br $while-in$13)
)
(set_local $$51
(i32.load
@@ -29954,101 +29928,103 @@
(set_local $$T$0
(get_local $$67)
)
- (loop $while-out$18 $while-in$19
- (set_local $$head591
- (i32.add
- (get_local $$T$0)
- (i32.const 4)
- )
- )
- (set_local $$68
- (i32.load
- (get_local $$head591)
+ (loop $while-in$19
+ (block $while-out$18
+ (set_local $$head591
+ (i32.add
+ (get_local $$T$0)
+ (i32.const 4)
+ )
)
- )
- (set_local $$and592
- (i32.and
- (get_local $$68)
- (i32.const -8)
+ (set_local $$68
+ (i32.load
+ (get_local $$head591)
+ )
)
- )
- (set_local $$cmp593
- (i32.eq
- (get_local $$and592)
- (get_local $$psize$2)
+ (set_local $$and592
+ (i32.and
+ (get_local $$68)
+ (i32.const -8)
+ )
)
- )
- (if
- (get_local $$cmp593)
- (block
- (set_local $$T$0$lcssa
- (get_local $$T$0)
+ (set_local $$cmp593
+ (i32.eq
+ (get_local $$and592)
+ (get_local $$psize$2)
)
- (set_local $label
- (i32.const 130)
+ )
+ (if
+ (get_local $$cmp593)
+ (block
+ (set_local $$T$0$lcssa
+ (get_local $$T$0)
+ )
+ (set_local $label
+ (i32.const 130)
+ )
+ (br $while-out$18)
)
- (br $while-out$18)
)
- )
- (set_local $$shr596
- (i32.shr_u
- (get_local $$K583$0)
- (i32.const 31)
+ (set_local $$shr596
+ (i32.shr_u
+ (get_local $$K583$0)
+ (i32.const 31)
+ )
)
- )
- (set_local $$arrayidx599
- (i32.add
+ (set_local $$arrayidx599
(i32.add
- (get_local $$T$0)
- (i32.const 16)
+ (i32.add
+ (get_local $$T$0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (get_local $$shr596)
+ (i32.const 2)
+ )
)
+ )
+ (set_local $$shl600
(i32.shl
- (get_local $$shr596)
- (i32.const 2)
+ (get_local $$K583$0)
+ (i32.const 1)
)
)
- )
- (set_local $$shl600
- (i32.shl
- (get_local $$K583$0)
- (i32.const 1)
- )
- )
- (set_local $$69
- (i32.load
- (get_local $$arrayidx599)
- )
- )
- (set_local $$cmp601
- (i32.eq
- (get_local $$69)
- (i32.const 0)
- )
- )
- (if
- (get_local $$cmp601)
- (block
- (set_local $$T$0$lcssa319
- (get_local $$T$0)
- )
- (set_local $$arrayidx599$lcssa
+ (set_local $$69
+ (i32.load
(get_local $$arrayidx599)
)
- (set_local $label
- (i32.const 127)
+ )
+ (set_local $$cmp601
+ (i32.eq
+ (get_local $$69)
+ (i32.const 0)
)
- (br $while-out$18)
)
- (block
- (set_local $$K583$0
- (get_local $$shl600)
+ (if
+ (get_local $$cmp601)
+ (block
+ (set_local $$T$0$lcssa319
+ (get_local $$T$0)
+ )
+ (set_local $$arrayidx599$lcssa
+ (get_local $$arrayidx599)
+ )
+ (set_local $label
+ (i32.const 127)
+ )
+ (br $while-out$18)
)
- (set_local $$T$0
- (get_local $$69)
+ (block
+ (set_local $$K583$0
+ (get_local $$shl600)
+ )
+ (set_local $$T$0
+ (get_local $$69)
+ )
)
)
+ (br $while-in$19)
)
- (br $while-in$19)
)
(if
(i32.eq
@@ -30234,32 +30210,34 @@
)
(return)
)
- (loop $while-out$20 $while-in$21
- (set_local $$sp$0$i
- (i32.load
- (get_local $$sp$0$in$i)
+ (loop $while-in$21
+ (block $while-out$20
+ (set_local $$sp$0$i
+ (i32.load
+ (get_local $$sp$0$in$i)
+ )
)
- )
- (set_local $$cmp$i
- (i32.eq
- (get_local $$sp$0$i)
- (i32.const 0)
+ (set_local $$cmp$i
+ (i32.eq
+ (get_local $$sp$0$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$next4$i
- (i32.add
- (get_local $$sp$0$i)
- (i32.const 8)
+ (set_local $$next4$i
+ (i32.add
+ (get_local $$sp$0$i)
+ (i32.const 8)
+ )
)
- )
- (if
- (get_local $$cmp$i)
- (br $while-out$20)
- (set_local $$sp$0$in$i
- (get_local $$next4$i)
+ (if
+ (get_local $$cmp$i)
+ (br $while-out$20)
+ (set_local $$sp$0$in$i
+ (get_local $$next4$i)
+ )
)
+ (br $while-in$21)
)
- (br $while-in$21)
)
(i32.store
(i32.const 208)
@@ -30299,9 +30277,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $h)
+ (block
+ (set_global $tempRet0
+ (get_local $h)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $l)
)
@@ -30330,9 +30312,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $h)
+ (block
+ (set_global $tempRet0
+ (get_local $h)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $l)
)
@@ -30409,81 +30395,87 @@
(get_local $unaligned)
)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $ptr)
- (get_local $unaligned)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $ptr)
+ (get_local $unaligned)
+ )
)
+ (br $while-out$0)
)
- (br $while-out$0)
- )
- (block
- (i32.store8
- (get_local $ptr)
- (get_local $value)
- )
- (set_local $ptr
- (i32.add
+ (block
+ (i32.store8
(get_local $ptr)
- (i32.const 1)
+ (get_local $value)
+ )
+ (set_local $ptr
+ (i32.add
+ (get_local $ptr)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$1)
)
- (br $while-in$1)
)
)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $ptr)
- (get_local $stop4)
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $ptr)
+ (get_local $stop4)
+ )
)
+ (br $while-out$2)
)
- (br $while-out$2)
- )
- (block
- (i32.store
- (get_local $ptr)
- (get_local $value4)
- )
- (set_local $ptr
- (i32.add
+ (block
+ (i32.store
(get_local $ptr)
- (i32.const 4)
+ (get_local $value4)
+ )
+ (set_local $ptr
+ (i32.add
+ (get_local $ptr)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $ptr)
- (get_local $stop)
+ (loop $while-in$5
+ (block $while-out$4
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $ptr)
+ (get_local $stop)
+ )
)
+ (br $while-out$4)
)
- (br $while-out$4)
- )
- (block
- (i32.store8
- (get_local $ptr)
- (get_local $value)
- )
- (set_local $ptr
- (i32.add
+ (block
+ (i32.store8
(get_local $ptr)
- (i32.const 1)
+ (get_local $value)
+ )
+ (set_local $ptr
+ (i32.add
+ (get_local $ptr)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(return
(i32.sub
@@ -30509,8 +30501,7 @@
(i32.const 1)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.shr_u
(get_local $high)
(get_local $bits)
@@ -30536,8 +30527,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -30567,8 +30557,7 @@
(i32.const 1)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.or
(i32.shl
(get_local $high)
@@ -30600,8 +30589,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.shl
(get_local $low)
(i32.sub
@@ -30644,130 +30632,136 @@
)
)
(block
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.and
- (get_local $dest)
- (i32.const 3)
- )
- )
- (br $while-out$0)
- )
- (block
+ (loop $while-in$1
+ (block $while-out$0
(if
- (i32.eq
- (get_local $num)
- (i32.const 0)
- )
- (return
- (get_local $ret)
+ (i32.eqz
+ (i32.and
+ (get_local $dest)
+ (i32.const 3)
+ )
)
+ (br $while-out$0)
)
- (i32.store8
- (get_local $dest)
- (i32.load8_s
- (get_local $src)
+ (block
+ (if
+ (i32.eq
+ (get_local $num)
+ (i32.const 0)
+ )
+ (return
+ (get_local $ret)
+ )
)
- )
- (set_local $dest
- (i32.add
+ (i32.store8
(get_local $dest)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $src)
+ )
)
- )
- (set_local $src
- (i32.add
- (get_local $src)
- (i32.const 1)
+ (set_local $dest
+ (i32.add
+ (get_local $dest)
+ (i32.const 1)
+ )
)
- )
- (set_local $num
- (i32.sub
- (get_local $num)
- (i32.const 1)
+ (set_local $src
+ (i32.add
+ (get_local $src)
+ (i32.const 1)
+ )
)
- )
- )
- (br $while-in$1)
- )
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (i32.ge_s
- (get_local $num)
- (i32.const 4)
+ (set_local $num
+ (i32.sub
+ (get_local $num)
+ (i32.const 1)
+ )
)
)
- (br $while-out$2)
+ (br $while-in$1)
)
- (block
- (i32.store
- (get_local $dest)
- (i32.load
- (get_local $src)
+ )
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (i32.ge_s
+ (get_local $num)
+ (i32.const 4)
+ )
)
+ (br $while-out$2)
)
- (set_local $dest
- (i32.add
+ (block
+ (i32.store
(get_local $dest)
- (i32.const 4)
+ (i32.load
+ (get_local $src)
+ )
)
- )
- (set_local $src
- (i32.add
- (get_local $src)
- (i32.const 4)
+ (set_local $dest
+ (i32.add
+ (get_local $dest)
+ (i32.const 4)
+ )
)
- )
- (set_local $num
- (i32.sub
- (get_local $num)
- (i32.const 4)
+ (set_local $src
+ (i32.add
+ (get_local $src)
+ (i32.const 4)
+ )
+ )
+ (set_local $num
+ (i32.sub
+ (get_local $num)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.eqz
- (i32.gt_s
- (get_local $num)
- (i32.const 0)
- )
- )
- (br $while-out$4)
- )
- (block
- (i32.store8
- (get_local $dest)
- (i32.load8_s
- (get_local $src)
+ (loop $while-in$5
+ (block $while-out$4
+ (if
+ (i32.eqz
+ (i32.gt_s
+ (get_local $num)
+ (i32.const 0)
+ )
)
+ (br $while-out$4)
)
- (set_local $dest
- (i32.add
+ (block
+ (i32.store8
(get_local $dest)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $src)
+ )
)
- )
- (set_local $src
- (i32.add
- (get_local $src)
- (i32.const 1)
+ (set_local $dest
+ (i32.add
+ (get_local $dest)
+ (i32.const 1)
+ )
)
- )
- (set_local $num
- (i32.sub
- (get_local $num)
- (i32.const 1)
+ (set_local $src
+ (i32.add
+ (get_local $src)
+ (i32.const 1)
+ )
+ )
+ (set_local $num
+ (i32.sub
+ (get_local $num)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(return
(get_local $ret)
@@ -30790,8 +30784,7 @@
(i32.const 1)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.shr_s
(get_local $high)
(get_local $bits)
@@ -30817,8 +30810,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(if
(i32.lt_s
(get_local $high)
@@ -30896,30 +30888,34 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (i32.add
+ (block
+ (set_global $tempRet0
(i32.add
- (i32.shr_u
- (get_local $$8)
- (i32.const 16)
- )
- (i32.mul
- (get_local $$11)
- (get_local $$6)
- )
- )
- (i32.shr_u
(i32.add
- (i32.and
+ (i32.shr_u
(get_local $$8)
- (i32.const 65535)
+ (i32.const 16)
+ )
+ (i32.mul
+ (get_local $$11)
+ (get_local $$6)
)
- (get_local $$12)
)
- (i32.const 16)
+ (i32.shr_u
+ (i32.add
+ (i32.and
+ (get_local $$8)
+ (i32.const 65535)
+ )
+ (get_local $$12)
+ )
+ (i32.const 16)
+ )
)
)
+ (drop
+ (get_global $tempRet0)
+ )
)
(i32.or
(i32.const 0)
@@ -31057,9 +31053,7 @@
)
)
(set_local $$4$1
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
(set_local $$6$0
(call $_i64Subtract
@@ -31092,9 +31086,7 @@
(get_local $$4$0)
(get_local $$4$1)
(get_local $$6$0)
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
(i32.const 0)
)
)
@@ -31105,9 +31097,7 @@
(get_local $$7$0)
)
(i32.xor
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
(get_local $$7$1)
)
(get_local $$7$0)
@@ -31131,16 +31121,11 @@
(local $$10$1 i32)
(local $__stackBase__ i32)
(set_local $__stackBase__
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
@@ -31252,9 +31237,7 @@
)
)
(set_local $$4$1
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
(set_local $$6$0
(call $_i64Subtract
@@ -31270,14 +31253,14 @@
(get_local $$2$1)
)
)
- (call $___udivmoddi4
- (get_local $$4$0)
- (get_local $$4$1)
- (get_local $$6$0)
- (i32.load
- (i32.const 168)
+ (drop
+ (call $___udivmoddi4
+ (get_local $$4$0)
+ (get_local $$4$1)
+ (get_local $$6$0)
+ (get_global $tempRet0)
+ (get_local $$rem)
)
- (get_local $$rem)
)
(set_local $$10$0
(call $_i64Subtract
@@ -31301,19 +31284,20 @@
)
)
(set_local $$10$1
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $__stackBase__)
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$10$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$10$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$10$0)
)
@@ -31338,9 +31322,7 @@
)
)
(set_local $$1$1
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
(set_local $$2
(i32.mul
@@ -31350,24 +31332,28 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (i32.or
- (i32.add
+ (block
+ (set_global $tempRet0
+ (i32.or
(i32.add
- (i32.mul
- (get_local $$b$1)
- (get_local $$x_sroa_0_0_extract_trunc)
+ (i32.add
+ (i32.mul
+ (get_local $$b$1)
+ (get_local $$x_sroa_0_0_extract_trunc)
+ )
+ (get_local $$2)
)
- (get_local $$2)
+ (get_local $$1$1)
+ )
+ (i32.and
+ (get_local $$1$1)
+ (i32.const 0)
)
- (get_local $$1$1)
- )
- (i32.and
- (get_local $$1$1)
- (i32.const 0)
)
)
+ (drop
+ (get_global $tempRet0)
+ )
)
(i32.or
(i32.const 0)
@@ -31398,43 +31384,43 @@
(local $$rem i32)
(local $__stackBase__ i32)
(set_local $__stackBase__
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(set_local $$rem
(get_local $__stackBase__)
)
- (call $___udivmoddi4
- (get_local $$a$0)
- (get_local $$a$1)
- (get_local $$b$0)
- (get_local $$b$1)
- (get_local $$rem)
+ (drop
+ (call $___udivmoddi4
+ (get_local $$a$0)
+ (get_local $$a$1)
+ (get_local $$b$0)
+ (get_local $$b$1)
+ (get_local $$rem)
+ )
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $__stackBase__)
)
(return
(block
- (i32.store
- (i32.const 168)
- (i32.load
- (i32.add
- (get_local $$rem)
- (i32.const 4)
+ (block
+ (set_global $tempRet0
+ (i32.load
+ (i32.add
+ (get_local $$rem)
+ (i32.const 4)
+ )
)
)
+ (drop
+ (get_global $tempRet0)
+ )
)
(i32.load
(get_local $$rem)
@@ -31573,9 +31559,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -31595,9 +31585,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -31629,9 +31623,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -31689,9 +31687,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -31737,9 +31739,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -31808,9 +31814,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -31895,9 +31905,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -31935,9 +31949,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -32042,9 +32060,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -32082,9 +32104,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -32284,9 +32310,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -32324,9 +32354,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -32389,9 +32423,7 @@
)
)
(set_local $$137$1
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
(set_local $$q_sroa_1_1198
(get_local $$q_sroa_1_1_ph)
@@ -32411,170 +32443,170 @@
(set_local $$carry_0203
(i32.const 0)
)
- (loop $while-out$2 $while-in$3
- (set_local $$147
- (i32.or
- (i32.shr_u
- (get_local $$q_sroa_0_1199)
- (i32.const 31)
- )
- (i32.shl
- (get_local $$q_sroa_1_1198)
- (i32.const 1)
- )
- )
- )
- (set_local $$149
- (i32.or
- (get_local $$carry_0203)
- (i32.shl
- (get_local $$q_sroa_0_1199)
- (i32.const 1)
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $$147
+ (i32.or
+ (i32.shr_u
+ (get_local $$q_sroa_0_1199)
+ (i32.const 31)
+ )
+ (i32.shl
+ (get_local $$q_sroa_1_1198)
+ (i32.const 1)
+ )
)
)
- )
- (set_local $$r_sroa_0_0_insert_insert42$0
- (i32.or
- (i32.const 0)
+ (set_local $$149
(i32.or
+ (get_local $$carry_0203)
(i32.shl
- (get_local $$r_sroa_0_1201)
+ (get_local $$q_sroa_0_1199)
(i32.const 1)
)
+ )
+ )
+ (set_local $$r_sroa_0_0_insert_insert42$0
+ (i32.or
+ (i32.const 0)
+ (i32.or
+ (i32.shl
+ (get_local $$r_sroa_0_1201)
+ (i32.const 1)
+ )
+ (i32.shr_u
+ (get_local $$q_sroa_1_1198)
+ (i32.const 31)
+ )
+ )
+ )
+ )
+ (set_local $$r_sroa_0_0_insert_insert42$1
+ (i32.or
(i32.shr_u
- (get_local $$q_sroa_1_1198)
+ (get_local $$r_sroa_0_1201)
(i32.const 31)
)
+ (i32.shl
+ (get_local $$r_sroa_1_1200)
+ (i32.const 1)
+ )
)
)
- )
- (set_local $$r_sroa_0_0_insert_insert42$1
- (i32.or
- (i32.shr_u
- (get_local $$r_sroa_0_1201)
- (i32.const 31)
- )
- (i32.shl
- (get_local $$r_sroa_1_1200)
- (i32.const 1)
+ (drop
+ (call $_i64Subtract
+ (get_local $$137$0)
+ (get_local $$137$1)
+ (get_local $$r_sroa_0_0_insert_insert42$0)
+ (get_local $$r_sroa_0_0_insert_insert42$1)
)
)
- )
- (call $_i64Subtract
- (get_local $$137$0)
- (get_local $$137$1)
- (get_local $$r_sroa_0_0_insert_insert42$0)
- (get_local $$r_sroa_0_0_insert_insert42$1)
- )
- (set_local $$150$1
- (i32.load
- (i32.const 168)
+ (set_local $$150$1
+ (get_global $tempRet0)
)
- )
- (set_local $$151$0
- (i32.or
- (i32.shr_s
- (get_local $$150$1)
- (i32.const 31)
- )
- (i32.shl
- (if
- (i32.lt_s
- (get_local $$150$1)
+ (set_local $$151$0
+ (i32.or
+ (i32.shr_s
+ (get_local $$150$1)
+ (i32.const 31)
+ )
+ (i32.shl
+ (if
+ (i32.lt_s
+ (get_local $$150$1)
+ (i32.const 0)
+ )
+ (i32.const -1)
(i32.const 0)
)
- (i32.const -1)
- (i32.const 0)
+ (i32.const 1)
)
- (i32.const 1)
)
)
- )
- (set_local $$152
- (i32.and
- (get_local $$151$0)
- (i32.const 1)
- )
- )
- (set_local $$154$0
- (call $_i64Subtract
- (get_local $$r_sroa_0_0_insert_insert42$0)
- (get_local $$r_sroa_0_0_insert_insert42$1)
+ (set_local $$152
(i32.and
(get_local $$151$0)
- (get_local $$d_sroa_0_0_insert_insert99$0)
+ (i32.const 1)
)
- (i32.and
- (i32.or
- (i32.shr_s
- (if
- (i32.lt_s
- (get_local $$150$1)
+ )
+ (set_local $$154$0
+ (call $_i64Subtract
+ (get_local $$r_sroa_0_0_insert_insert42$0)
+ (get_local $$r_sroa_0_0_insert_insert42$1)
+ (i32.and
+ (get_local $$151$0)
+ (get_local $$d_sroa_0_0_insert_insert99$0)
+ )
+ (i32.and
+ (i32.or
+ (i32.shr_s
+ (if
+ (i32.lt_s
+ (get_local $$150$1)
+ (i32.const 0)
+ )
+ (i32.const -1)
(i32.const 0)
)
- (i32.const -1)
- (i32.const 0)
+ (i32.const 31)
)
- (i32.const 31)
- )
- (i32.shl
- (if
- (i32.lt_s
- (get_local $$150$1)
+ (i32.shl
+ (if
+ (i32.lt_s
+ (get_local $$150$1)
+ (i32.const 0)
+ )
+ (i32.const -1)
(i32.const 0)
)
- (i32.const -1)
- (i32.const 0)
+ (i32.const 1)
)
- (i32.const 1)
)
+ (get_local $$d_sroa_0_0_insert_insert99$1)
)
- (get_local $$d_sroa_0_0_insert_insert99$1)
)
)
- )
- (set_local $$r_sroa_0_0_extract_trunc
- (get_local $$154$0)
- )
- (set_local $$r_sroa_1_4_extract_trunc
- (i32.load
- (i32.const 168)
+ (set_local $$r_sroa_0_0_extract_trunc
+ (get_local $$154$0)
)
- )
- (set_local $$155
- (i32.sub
- (get_local $$sr_1202)
- (i32.const 1)
+ (set_local $$r_sroa_1_4_extract_trunc
+ (get_global $tempRet0)
)
- )
- (if
- (i32.eq
- (get_local $$155)
- (i32.const 0)
- )
- (br $while-out$2)
- (block
- (set_local $$q_sroa_1_1198
- (get_local $$147)
- )
- (set_local $$q_sroa_0_1199
- (get_local $$149)
- )
- (set_local $$r_sroa_1_1200
- (get_local $$r_sroa_1_4_extract_trunc)
- )
- (set_local $$r_sroa_0_1201
- (get_local $$r_sroa_0_0_extract_trunc)
+ (set_local $$155
+ (i32.sub
+ (get_local $$sr_1202)
+ (i32.const 1)
)
- (set_local $$sr_1202
+ )
+ (if
+ (i32.eq
(get_local $$155)
+ (i32.const 0)
)
- (set_local $$carry_0203
- (get_local $$152)
+ (br $while-out$2)
+ (block
+ (set_local $$q_sroa_1_1198
+ (get_local $$147)
+ )
+ (set_local $$q_sroa_0_1199
+ (get_local $$149)
+ )
+ (set_local $$r_sroa_1_1200
+ (get_local $$r_sroa_1_4_extract_trunc)
+ )
+ (set_local $$r_sroa_0_1201
+ (get_local $$r_sroa_0_0_extract_trunc)
+ )
+ (set_local $$sr_1202
+ (get_local $$155)
+ )
+ (set_local $$carry_0203
+ (get_local $$152)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
(set_local $$q_sroa_1_1_lcssa
(get_local $$147)
@@ -32683,9 +32715,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -32694,6 +32730,7 @@
(func $dynCall_ii (param $index i32) (param $a1 i32) (result i32)
(return
(call_indirect $FUNCSIG$ii
+ (get_local $a1)
(i32.add
(i32.and
(get_local $index)
@@ -32701,13 +32738,15 @@
)
(i32.const 0)
)
- (get_local $a1)
)
)
)
(func $dynCall_iiii (param $index i32) (param $a1 i32) (param $a2 i32) (param $a3 i32) (result i32)
(return
(call_indirect $FUNCSIG$iiii
+ (get_local $a1)
+ (get_local $a2)
+ (get_local $a3)
(i32.add
(i32.and
(get_local $index)
@@ -32715,14 +32754,12 @@
)
(i32.const 2)
)
- (get_local $a1)
- (get_local $a2)
- (get_local $a3)
)
)
)
(func $dynCall_vi (param $index i32) (param $a1 i32)
(call_indirect $FUNCSIG$vi
+ (get_local $a1)
(i32.add
(i32.and
(get_local $index)
@@ -32730,7 +32767,6 @@
)
(i32.const 10)
)
- (get_local $a1)
)
)
(func $b0 (param $p0 i32) (result i32)
diff --git a/test/emcc_hello_world.fromasm.no-opts b/test/emcc_hello_world.fromasm.no-opts
index efa2de849..ea2bb8801 100644
--- a/test/emcc_hello_world.fromasm.no-opts
+++ b/test/emcc_hello_world.fromasm.no-opts
@@ -1,6 +1,5 @@
(module
(memory 256 256)
- (export "memory" memory)
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$id (func (param f64) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
@@ -9,77 +8,104 @@
(type $FUNCSIG$v (func))
(type $FUNCSIG$i (func (result i32)))
(type $FUNCSIG$vii (func (param i32 i32)))
- (import $abort "env" "abort")
- (import $nullFunc_ii "env" "nullFunc_ii" (param i32))
- (import $nullFunc_iiii "env" "nullFunc_iiii" (param i32))
- (import $nullFunc_vi "env" "nullFunc_vi" (param i32))
- (import $_pthread_cleanup_pop "env" "_pthread_cleanup_pop" (param i32))
- (import $___lock "env" "___lock" (param i32))
- (import $_pthread_self "env" "_pthread_self" (result i32))
- (import $_abort "env" "_abort")
- (import $___syscall6 "env" "___syscall6" (param i32 i32) (result i32))
- (import $_sbrk "env" "_sbrk" (param i32) (result i32))
- (import $_time "env" "_time" (param i32) (result i32))
- (import $_emscripten_memcpy_big "env" "_emscripten_memcpy_big" (param i32 i32 i32) (result i32))
- (import $___syscall54 "env" "___syscall54" (param i32 i32) (result i32))
- (import $___unlock "env" "___unlock" (param i32))
- (import $___syscall140 "env" "___syscall140" (param i32 i32) (result i32))
- (import $_pthread_cleanup_push "env" "_pthread_cleanup_push" (param i32 i32))
- (import $_sysconf "env" "_sysconf" (param i32) (result i32))
- (import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
- (import $f64-to-int "asm2wasm" "f64-to-int" (param f64) (result i32))
- (import $i32s-div "asm2wasm" "i32s-div" (param i32 i32) (result i32))
- (import $i32s-rem "asm2wasm" "i32s-rem" (param i32 i32) (result i32))
- (import $i32u-rem "asm2wasm" "i32u-rem" (param i32 i32) (result i32))
- (import $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32))
- (export "_i64Subtract" $_i64Subtract)
- (export "_free" $_free)
- (export "_main" $_main)
- (export "_i64Add" $_i64Add)
- (export "_memset" $_memset)
- (export "_malloc" $_malloc)
- (export "_memcpy" $_memcpy)
- (export "_bitshift64Lshr" $_bitshift64Lshr)
- (export "_fflush" $_fflush)
- (export "___errno_location" $___errno_location)
- (export "_bitshift64Shl" $_bitshift64Shl)
- (export "runPostSets" $runPostSets)
- (export "stackAlloc" $stackAlloc)
- (export "stackSave" $stackSave)
- (export "stackRestore" $stackRestore)
- (export "establishStackSpace" $establishStackSpace)
- (export "setThrew" $setThrew)
- (export "setTempRet0" $setTempRet0)
- (export "getTempRet0" $getTempRet0)
- (export "dynCall_ii" $dynCall_ii)
- (export "dynCall_iiii" $dynCall_iiii)
- (export "dynCall_vi" $dynCall_vi)
- (export "___udivmoddi4" $___udivmoddi4)
+ (import "env" "STACKTOP" (global $STACKTOP i32))
+ (import "env" "STACK_MAX" (global $STACK_MAX i32))
+ (import "env" "tempDoublePtr" (global $tempDoublePtr i32))
+ (import "env" "ABORT" (global $ABORT i32))
+ (import "env" "cttz_i8" (global $cttz_i8 i32))
+ (import "global" "NaN" (global $nan f64))
+ (import "global" "Infinity" (global $inf f64))
+ (import "env" "abort" (func $abort))
+ (import "env" "nullFunc_ii" (func $nullFunc_ii (param i32)))
+ (import "env" "nullFunc_iiii" (func $nullFunc_iiii (param i32)))
+ (import "env" "nullFunc_vi" (func $nullFunc_vi (param i32)))
+ (import "env" "_pthread_cleanup_pop" (func $_pthread_cleanup_pop (param i32)))
+ (import "env" "___lock" (func $___lock (param i32)))
+ (import "env" "_pthread_self" (func $_pthread_self (result i32)))
+ (import "env" "_abort" (func $_abort))
+ (import "env" "___syscall6" (func $___syscall6 (param i32 i32) (result i32)))
+ (import "env" "_sbrk" (func $_sbrk (param i32) (result i32)))
+ (import "env" "_time" (func $_time (param i32) (result i32)))
+ (import "env" "_emscripten_memcpy_big" (func $_emscripten_memcpy_big (param i32 i32 i32) (result i32)))
+ (import "env" "___syscall54" (func $___syscall54 (param i32 i32) (result i32)))
+ (import "env" "___unlock" (func $___unlock (param i32)))
+ (import "env" "___syscall140" (func $___syscall140 (param i32 i32) (result i32)))
+ (import "env" "_pthread_cleanup_push" (func $_pthread_cleanup_push (param i32 i32)))
+ (import "env" "_sysconf" (func $_sysconf (param i32) (result i32)))
+ (import "env" "___syscall146" (func $___syscall146 (param i32 i32) (result i32)))
+ (import "asm2wasm" "f64-to-int" (func $f64-to-int (param f64) (result i32)))
+ (import "asm2wasm" "i32s-div" (func $i32s-div (param i32 i32) (result i32)))
+ (import "asm2wasm" "i32s-rem" (func $i32s-rem (param i32 i32) (result i32)))
+ (import "asm2wasm" "i32u-rem" (func $i32u-rem (param i32 i32) (result i32)))
+ (import "asm2wasm" "i32u-div" (func $i32u-div (param i32 i32) (result i32)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "_i64Subtract" (func $_i64Subtract))
+ (export "_free" (func $_free))
+ (export "_main" (func $_main))
+ (export "_i64Add" (func $_i64Add))
+ (export "_memset" (func $_memset))
+ (export "_malloc" (func $_malloc))
+ (export "_memcpy" (func $_memcpy))
+ (export "_bitshift64Lshr" (func $_bitshift64Lshr))
+ (export "_fflush" (func $_fflush))
+ (export "___errno_location" (func $___errno_location))
+ (export "_bitshift64Shl" (func $_bitshift64Shl))
+ (export "runPostSets" (func $runPostSets))
+ (export "stackAlloc" (func $stackAlloc))
+ (export "stackSave" (func $stackSave))
+ (export "stackRestore" (func $stackRestore))
+ (export "establishStackSpace" (func $establishStackSpace))
+ (export "setThrew" (func $setThrew))
+ (export "setTempRet0" (func $setTempRet0))
+ (export "getTempRet0" (func $getTempRet0))
+ (export "dynCall_ii" (func $dynCall_ii))
+ (export "dynCall_iiii" (func $dynCall_iiii))
+ (export "dynCall_vi" (func $dynCall_vi))
+ (export "___udivmoddi4" (func $___udivmoddi4))
+ (global $__THREW__ i32 (i32.const 0))
+ (global $threwValue i32 (i32.const 0))
+ (global $setjmpId i32 (i32.const 0))
+ (global $undef i32 (i32.const 0))
+ (global $tempInt i32 (i32.const 0))
+ (global $tempBigInt i32 (i32.const 0))
+ (global $tempBigIntP i32 (i32.const 0))
+ (global $tempBigIntS i32 (i32.const 0))
+ (global $tempBigIntR f64 (f64.const 0))
+ (global $tempBigIntI i32 (i32.const 0))
+ (global $tempBigIntD i32 (i32.const 0))
+ (global $tempValue i32 (i32.const 0))
+ (global $tempDouble f64 (f64.const 0))
+ (global $tempRet0 i32 (i32.const 0))
+ (global $tempRet1 i32 (i32.const 0))
+ (global $tempRet2 i32 (i32.const 0))
+ (global $tempRet3 i32 (i32.const 0))
+ (global $tempRet4 i32 (i32.const 0))
+ (global $tempRet5 i32 (i32.const 0))
+ (global $tempRet6 i32 (i32.const 0))
+ (global $tempRet7 i32 (i32.const 0))
+ (global $tempRet8 i32 (i32.const 0))
+ (global $tempRet9 i32 (i32.const 0))
+ (global $tempFloat f64 (f64.const 0))
(table 18 18 anyfunc)
(elem (i32.const 0) $b0 $___stdio_close $b1 $b1 $___stdout_write $___stdio_seek $___stdio_write $b1 $b1 $b1 $b2 $b2 $b2 $b2 $b2 $_cleanup $b2 $b2)
(func $stackAlloc (param $size i32) (result i32)
(local $ret i32)
(set_local $ret
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(get_local $size)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.and
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 15)
)
(i32.const -16)
@@ -87,12 +113,8 @@
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -102,42 +124,33 @@
)
(func $stackSave (result i32)
(return
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
)
(func $stackRestore (param $top i32)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $top)
)
)
(func $establishStackSpace (param $stackBase i32) (param $stackMax i32)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $stackBase)
)
- (i32.store
- (i32.const 16)
+ (set_global $STACK_MAX
(get_local $stackMax)
)
)
(func $setThrew (param $threw i32) (param $value i32)
(if
(i32.eq
- (i32.load
- (i32.const 48)
- )
+ (get_global $__THREW__)
(i32.const 0)
)
(block
- (i32.store
- (i32.const 48)
+ (set_global $__THREW__
(get_local $threw)
)
- (i32.store
- (i32.const 56)
+ (set_global $threwValue
(get_local $value)
)
)
@@ -145,18 +158,14 @@
)
(func $copyTempFloat (param $ptr i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s
(get_local $ptr)
)
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 1)
)
(i32.load8_s
@@ -168,9 +177,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 2)
)
(i32.load8_s
@@ -182,9 +189,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 3)
)
(i32.load8_s
@@ -197,18 +202,14 @@
)
(func $copyTempDouble (param $ptr i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.load8_s
(get_local $ptr)
)
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 1)
)
(i32.load8_s
@@ -220,9 +221,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 2)
)
(i32.load8_s
@@ -234,9 +233,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 3)
)
(i32.load8_s
@@ -248,9 +245,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 4)
)
(i32.load8_s
@@ -262,9 +257,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 5)
)
(i32.load8_s
@@ -276,9 +269,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 6)
)
(i32.load8_s
@@ -290,9 +281,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 7)
)
(i32.load8_s
@@ -304,16 +293,13 @@
)
)
(func $setTempRet0 (param $value i32)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(get_local $value)
)
)
(func $getTempRet0 (result i32)
(return
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
)
(func $_main (result i32)
@@ -322,27 +308,18 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -352,12 +329,13 @@
(set_local $$retval
(i32.const 0)
)
- (call $_printf
- (i32.const 672)
- (get_local $$vararg_buffer)
+ (drop
+ (call $_printf
+ (i32.const 672)
+ (get_local $$vararg_buffer)
+ )
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return
@@ -385,29 +363,21 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(f64.store
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(get_local $$x)
)
(set_local $$0
(i32.load
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
)
)
(set_local $$1
(i32.load
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 4)
)
)
@@ -420,9 +390,7 @@
)
)
(set_local $$3
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
(set_local $$conv
(i32.and
@@ -532,25 +500,19 @@
)
)
(i32.store
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(get_local $$0)
)
(i32.store
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
(i32.const 4)
)
(get_local $$6)
)
(set_local $$7
(f64.load
- (i32.load
- (i32.const 24)
- )
+ (get_global $tempDoublePtr)
)
)
(set_local $$retval$0
@@ -568,9 +530,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$call
(call $_frexp
@@ -605,80 +565,80 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$i$012
(i32.const 0)
)
- (loop $while-out$0 $while-in$1
- (set_local $$arrayidx
- (i32.add
- (i32.const 687)
- (get_local $$i$012)
- )
- )
- (set_local $$0
- (i32.load8_s
- (get_local $$arrayidx)
- )
- )
- (set_local $$conv
- (i32.and
- (get_local $$0)
- (i32.const 255)
+ (loop $while-in$1
+ (block $while-out$0
+ (set_local $$arrayidx
+ (i32.add
+ (i32.const 687)
+ (get_local $$i$012)
+ )
)
- )
- (set_local $$cmp
- (i32.eq
- (get_local $$conv)
- (get_local $$e)
+ (set_local $$0
+ (i32.load8_s
+ (get_local $$arrayidx)
+ )
)
- )
- (if
- (get_local $$cmp)
- (block
- (set_local $$i$012$lcssa
- (get_local $$i$012)
+ (set_local $$conv
+ (i32.and
+ (get_local $$0)
+ (i32.const 255)
)
- (set_local $label
- (i32.const 2)
+ )
+ (set_local $$cmp
+ (i32.eq
+ (get_local $$conv)
+ (get_local $$e)
)
- (br $while-out$0)
)
- )
- (set_local $$inc
- (i32.add
- (get_local $$i$012)
- (i32.const 1)
+ (if
+ (get_local $$cmp)
+ (block
+ (set_local $$i$012$lcssa
+ (get_local $$i$012)
+ )
+ (set_local $label
+ (i32.const 2)
+ )
+ (br $while-out$0)
+ )
)
- )
- (set_local $$tobool
- (i32.eq
- (get_local $$inc)
- (i32.const 87)
+ (set_local $$inc
+ (i32.add
+ (get_local $$i$012)
+ (i32.const 1)
+ )
)
- )
- (if
- (get_local $$tobool)
- (block
- (set_local $$i$111
+ (set_local $$tobool
+ (i32.eq
+ (get_local $$inc)
(i32.const 87)
)
- (set_local $$s$010
- (i32.const 775)
+ )
+ (if
+ (get_local $$tobool)
+ (block
+ (set_local $$i$111
+ (i32.const 87)
+ )
+ (set_local $$s$010
+ (i32.const 775)
+ )
+ (set_local $label
+ (i32.const 5)
+ )
+ (br $while-out$0)
)
- (set_local $label
- (i32.const 5)
+ (set_local $$i$012
+ (get_local $$inc)
)
- (br $while-out$0)
- )
- (set_local $$i$012
- (get_local $$inc)
)
+ (br $while-in$1)
)
- (br $while-in$1)
)
(if
(i32.eq
@@ -716,84 +676,88 @@
(get_local $label)
(i32.const 5)
)
- (loop $while-out$2 $while-in$3
- (set_local $label
- (i32.const 0)
- )
- (set_local $$s$1
- (get_local $$s$010)
- )
- (loop $while-out$4 $while-in$5
- (set_local $$1
- (i32.load8_s
- (get_local $$s$1)
- )
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $label
+ (i32.const 0)
)
- (set_local $$tobool8
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$1)
- (i32.const 24)
+ (set_local $$s$1
+ (get_local $$s$010)
+ )
+ (loop $while-in$5
+ (block $while-out$4
+ (set_local $$1
+ (i32.load8_s
+ (get_local $$s$1)
)
- (i32.const 24)
)
- (i32.const 0)
+ (set_local $$tobool8
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$1)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ (i32.const 0)
+ )
+ )
+ (set_local $$incdec$ptr
+ (i32.add
+ (get_local $$s$1)
+ (i32.const 1)
+ )
+ )
+ (if
+ (get_local $$tobool8)
+ (block
+ (set_local $$incdec$ptr$lcssa
+ (get_local $$incdec$ptr)
+ )
+ (br $while-out$4)
+ )
+ (set_local $$s$1
+ (get_local $$incdec$ptr)
+ )
+ )
+ (br $while-in$5)
)
)
- (set_local $$incdec$ptr
+ (set_local $$dec
(i32.add
- (get_local $$s$1)
- (i32.const 1)
+ (get_local $$i$111)
+ (i32.const -1)
+ )
+ )
+ (set_local $$tobool5
+ (i32.eq
+ (get_local $$dec)
+ (i32.const 0)
)
)
(if
- (get_local $$tobool8)
+ (get_local $$tobool5)
(block
- (set_local $$incdec$ptr$lcssa
- (get_local $$incdec$ptr)
+ (set_local $$s$0$lcssa
+ (get_local $$incdec$ptr$lcssa)
)
- (br $while-out$4)
- )
- (set_local $$s$1
- (get_local $$incdec$ptr)
- )
- )
- (br $while-in$5)
- )
- (set_local $$dec
- (i32.add
- (get_local $$i$111)
- (i32.const -1)
- )
- )
- (set_local $$tobool5
- (i32.eq
- (get_local $$dec)
- (i32.const 0)
- )
- )
- (if
- (get_local $$tobool5)
- (block
- (set_local $$s$0$lcssa
- (get_local $$incdec$ptr$lcssa)
- )
- (br $while-out$2)
- )
- (block
- (set_local $$i$111
- (get_local $$dec)
- )
- (set_local $$s$010
- (get_local $$incdec$ptr$lcssa)
+ (br $while-out$2)
)
- (set_local $label
- (i32.const 5)
+ (block
+ (set_local $$i$111
+ (get_local $$dec)
+ )
+ (set_local $$s$010
+ (get_local $$incdec$ptr$lcssa)
+ )
+ (set_local $label
+ (i32.const 5)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
(return
@@ -810,9 +774,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$0
(i32.load
@@ -863,27 +825,18 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -916,8 +869,7 @@
(get_local $$call)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return
@@ -942,27 +894,18 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 80)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -1078,8 +1021,7 @@
(get_local $$len)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return
@@ -1103,27 +1045,18 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 32)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -1230,8 +1163,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return
@@ -1278,9 +1210,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$tobool
(i32.eq
@@ -1350,139 +1280,141 @@
(set_local $$r$021
(get_local $$cond10)
)
- (loop $while-out$2 $while-in$3
- (set_local $$lock13
- (i32.add
- (get_local $$f$addr$022)
- (i32.const 76)
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $$lock13
+ (i32.add
+ (get_local $$f$addr$022)
+ (i32.const 76)
+ )
)
- )
- (set_local $$3
- (i32.load
- (get_local $$lock13)
+ (set_local $$3
+ (i32.load
+ (get_local $$lock13)
+ )
)
- )
- (set_local $$cmp14
- (i32.gt_s
- (get_local $$3)
- (i32.const -1)
+ (set_local $$cmp14
+ (i32.gt_s
+ (get_local $$3)
+ (i32.const -1)
+ )
)
- )
- (if
- (get_local $$cmp14)
- (block
- (set_local $$call16
- (call $___lockfile
- (get_local $$f$addr$022)
+ (if
+ (get_local $$cmp14)
+ (block
+ (set_local $$call16
+ (call $___lockfile
+ (get_local $$f$addr$022)
+ )
+ )
+ (set_local $$cond19
+ (get_local $$call16)
)
)
(set_local $$cond19
- (get_local $$call16)
+ (i32.const 0)
)
)
- (set_local $$cond19
- (i32.const 0)
- )
- )
- (set_local $$wpos
- (i32.add
- (get_local $$f$addr$022)
- (i32.const 20)
+ (set_local $$wpos
+ (i32.add
+ (get_local $$f$addr$022)
+ (i32.const 20)
+ )
)
- )
- (set_local $$4
- (i32.load
- (get_local $$wpos)
+ (set_local $$4
+ (i32.load
+ (get_local $$wpos)
+ )
)
- )
- (set_local $$wbase
- (i32.add
- (get_local $$f$addr$022)
- (i32.const 28)
+ (set_local $$wbase
+ (i32.add
+ (get_local $$f$addr$022)
+ (i32.const 28)
+ )
)
- )
- (set_local $$5
- (i32.load
- (get_local $$wbase)
+ (set_local $$5
+ (i32.load
+ (get_local $$wbase)
+ )
)
- )
- (set_local $$cmp20
- (i32.gt_u
- (get_local $$4)
- (get_local $$5)
+ (set_local $$cmp20
+ (i32.gt_u
+ (get_local $$4)
+ (get_local $$5)
+ )
)
- )
- (if
- (get_local $$cmp20)
- (block
- (set_local $$call22
- (call $___fflush_unlocked
- (get_local $$f$addr$022)
+ (if
+ (get_local $$cmp20)
+ (block
+ (set_local $$call22
+ (call $___fflush_unlocked
+ (get_local $$f$addr$022)
+ )
)
- )
- (set_local $$or
- (i32.or
- (get_local $$call22)
- (get_local $$r$021)
+ (set_local $$or
+ (i32.or
+ (get_local $$call22)
+ (get_local $$r$021)
+ )
+ )
+ (set_local $$r$1
+ (get_local $$or)
)
)
(set_local $$r$1
- (get_local $$or)
+ (get_local $$r$021)
)
)
- (set_local $$r$1
- (get_local $$r$021)
- )
- )
- (set_local $$tobool24
- (i32.eq
- (get_local $$cond19)
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (get_local $$tobool24)
- )
- (call $___unlockfile
- (get_local $$f$addr$022)
- )
- )
- (set_local $$next
- (i32.add
- (get_local $$f$addr$022)
- (i32.const 56)
+ (set_local $$tobool24
+ (i32.eq
+ (get_local $$cond19)
+ (i32.const 0)
+ )
)
- )
- (set_local $$f$addr$0
- (i32.load
- (get_local $$next)
+ (if
+ (i32.eqz
+ (get_local $$tobool24)
+ )
+ (call $___unlockfile
+ (get_local $$f$addr$022)
+ )
)
- )
- (set_local $$tobool11
- (i32.eq
- (get_local $$f$addr$0)
- (i32.const 0)
+ (set_local $$next
+ (i32.add
+ (get_local $$f$addr$022)
+ (i32.const 56)
+ )
)
- )
- (if
- (get_local $$tobool11)
- (block
- (set_local $$r$0$lcssa
- (get_local $$r$1)
+ (set_local $$f$addr$0
+ (i32.load
+ (get_local $$next)
)
- (br $while-out$2)
)
- (block
- (set_local $$f$addr$022
+ (set_local $$tobool11
+ (i32.eq
(get_local $$f$addr$0)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool11)
+ (block
+ (set_local $$r$0$lcssa
+ (get_local $$r$1)
+ )
+ (br $while-out$2)
)
- (set_local $$r$021
- (get_local $$r$1)
+ (block
+ (set_local $$f$addr$022
+ (get_local $$f$addr$0)
+ )
+ (set_local $$r$021
+ (get_local $$r$1)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
@@ -1571,27 +1503,18 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -1614,8 +1537,7 @@
(get_local $$ap)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return
@@ -1626,9 +1548,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(return
(i32.const 0)
@@ -1638,9 +1558,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(return)
)
@@ -1717,27 +1635,18 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 48)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -1845,331 +1754,333 @@
(set_local $$rem$0
(get_local $$add)
)
- (loop $while-out$0 $while-in$1
- (set_local $$2
- (i32.load
- (i32.const 16)
+ (loop $while-in$1
+ (block $while-out$0
+ (set_local $$2
+ (i32.load
+ (i32.const 16)
+ )
)
- )
- (set_local $$tobool
- (i32.eq
- (get_local $$2)
- (i32.const 0)
+ (set_local $$tobool
+ (i32.eq
+ (get_local $$2)
+ (i32.const 0)
+ )
)
- )
- (if
- (get_local $$tobool)
- (block
- (set_local $$4
- (i32.load
- (get_local $$fd8)
+ (if
+ (get_local $$tobool)
+ (block
+ (set_local $$4
+ (i32.load
+ (get_local $$fd8)
+ )
)
- )
- (i32.store
- (get_local $$vararg_buffer3)
- (get_local $$4)
- )
- (set_local $$vararg_ptr6
- (i32.add
+ (i32.store
(get_local $$vararg_buffer3)
- (i32.const 4)
+ (get_local $$4)
)
- )
- (i32.store
- (get_local $$vararg_ptr6)
- (get_local $$iov$0)
- )
- (set_local $$vararg_ptr7
- (i32.add
- (get_local $$vararg_buffer3)
- (i32.const 8)
+ (set_local $$vararg_ptr6
+ (i32.add
+ (get_local $$vararg_buffer3)
+ (i32.const 4)
+ )
)
- )
- (i32.store
- (get_local $$vararg_ptr7)
- (get_local $$iovcnt$0)
- )
- (set_local $$call9
- (call_import $___syscall146
- (i32.const 146)
- (get_local $$vararg_buffer3)
+ (i32.store
+ (get_local $$vararg_ptr6)
+ (get_local $$iov$0)
)
- )
- (set_local $$call10
- (call $___syscall_ret
- (get_local $$call9)
+ (set_local $$vararg_ptr7
+ (i32.add
+ (get_local $$vararg_buffer3)
+ (i32.const 8)
+ )
)
- )
- (set_local $$cnt$0
- (get_local $$call10)
- )
- )
- (block
- (call_import $_pthread_cleanup_push
- (i32.const 5)
- (get_local $$f)
- )
- (set_local $$3
- (i32.load
- (get_local $$fd8)
+ (i32.store
+ (get_local $$vararg_ptr7)
+ (get_local $$iovcnt$0)
)
- )
- (i32.store
- (get_local $$vararg_buffer)
- (get_local $$3)
- )
- (set_local $$vararg_ptr1
- (i32.add
- (get_local $$vararg_buffer)
- (i32.const 4)
+ (set_local $$call9
+ (call_import $___syscall146
+ (i32.const 146)
+ (get_local $$vararg_buffer3)
+ )
)
- )
- (i32.store
- (get_local $$vararg_ptr1)
- (get_local $$iov$0)
- )
- (set_local $$vararg_ptr2
- (i32.add
- (get_local $$vararg_buffer)
- (i32.const 8)
+ (set_local $$call10
+ (call $___syscall_ret
+ (get_local $$call9)
+ )
+ )
+ (set_local $$cnt$0
+ (get_local $$call10)
)
)
- (i32.store
- (get_local $$vararg_ptr2)
- (get_local $$iovcnt$0)
- )
- (set_local $$call
- (call_import $___syscall146
- (i32.const 146)
+ (block
+ (call_import $_pthread_cleanup_push
+ (i32.const 5)
+ (get_local $$f)
+ )
+ (set_local $$3
+ (i32.load
+ (get_local $$fd8)
+ )
+ )
+ (i32.store
(get_local $$vararg_buffer)
+ (get_local $$3)
)
- )
- (set_local $$call7
- (call $___syscall_ret
- (get_local $$call)
+ (set_local $$vararg_ptr1
+ (i32.add
+ (get_local $$vararg_buffer)
+ (i32.const 4)
+ )
+ )
+ (i32.store
+ (get_local $$vararg_ptr1)
+ (get_local $$iov$0)
+ )
+ (set_local $$vararg_ptr2
+ (i32.add
+ (get_local $$vararg_buffer)
+ (i32.const 8)
+ )
+ )
+ (i32.store
+ (get_local $$vararg_ptr2)
+ (get_local $$iovcnt$0)
+ )
+ (set_local $$call
+ (call_import $___syscall146
+ (i32.const 146)
+ (get_local $$vararg_buffer)
+ )
+ )
+ (set_local $$call7
+ (call $___syscall_ret
+ (get_local $$call)
+ )
+ )
+ (call_import $_pthread_cleanup_pop
+ (i32.const 0)
+ )
+ (set_local $$cnt$0
+ (get_local $$call7)
)
)
- (call_import $_pthread_cleanup_pop
- (i32.const 0)
- )
- (set_local $$cnt$0
- (get_local $$call7)
- )
- )
- )
- (set_local $$cmp
- (i32.eq
- (get_local $$rem$0)
- (get_local $$cnt$0)
- )
- )
- (if
- (get_local $$cmp)
- (block
- (set_local $label
- (i32.const 6)
- )
- (br $while-out$0)
- )
- )
- (set_local $$cmp17
- (i32.lt_s
- (get_local $$cnt$0)
- (i32.const 0)
)
- )
- (if
- (get_local $$cmp17)
- (block
- (set_local $$iov$0$lcssa57
- (get_local $$iov$0)
- )
- (set_local $$iovcnt$0$lcssa58
- (get_local $$iovcnt$0)
- )
- (set_local $label
- (i32.const 8)
+ (set_local $$cmp
+ (i32.eq
+ (get_local $$rem$0)
+ (get_local $$cnt$0)
)
- (br $while-out$0)
)
- )
- (set_local $$sub26
- (i32.sub
- (get_local $$rem$0)
- (get_local $$cnt$0)
- )
- )
- (set_local $$iov_len28
- (i32.add
- (get_local $$iov$0)
- (i32.const 4)
- )
- )
- (set_local $$10
- (i32.load
- (get_local $$iov_len28)
- )
- )
- (set_local $$cmp29
- (i32.gt_u
- (get_local $$cnt$0)
- (get_local $$10)
- )
- )
- (if
- (get_local $$cmp29)
- (block
- (set_local $$11
- (i32.load
- (get_local $$buf31)
+ (if
+ (get_local $$cmp)
+ (block
+ (set_local $label
+ (i32.const 6)
)
+ (br $while-out$0)
)
- (i32.store
- (get_local $$wbase)
- (get_local $$11)
- )
- (i32.store
- (get_local $$wpos)
- (get_local $$11)
- )
- (set_local $$sub36
- (i32.sub
- (get_local $$cnt$0)
- (get_local $$10)
- )
+ )
+ (set_local $$cmp17
+ (i32.lt_s
+ (get_local $$cnt$0)
+ (i32.const 0)
)
- (set_local $$incdec$ptr
- (i32.add
+ )
+ (if
+ (get_local $$cmp17)
+ (block
+ (set_local $$iov$0$lcssa57
(get_local $$iov$0)
- (i32.const 8)
)
- )
- (set_local $$dec
- (i32.add
+ (set_local $$iovcnt$0$lcssa58
(get_local $$iovcnt$0)
- (i32.const -1)
- )
- )
- (set_local $$iov_len50$phi$trans$insert
- (i32.add
- (get_local $$iov$0)
- (i32.const 12)
)
- )
- (set_local $$$pre
- (i32.load
- (get_local $$iov_len50$phi$trans$insert)
+ (set_local $label
+ (i32.const 8)
)
+ (br $while-out$0)
)
- (set_local $$14
- (get_local $$$pre)
- )
- (set_local $$cnt$1
- (get_local $$sub36)
+ )
+ (set_local $$sub26
+ (i32.sub
+ (get_local $$rem$0)
+ (get_local $$cnt$0)
)
- (set_local $$iov$1
- (get_local $$incdec$ptr)
+ )
+ (set_local $$iov_len28
+ (i32.add
+ (get_local $$iov$0)
+ (i32.const 4)
)
- (set_local $$iovcnt$1
- (get_local $$dec)
+ )
+ (set_local $$10
+ (i32.load
+ (get_local $$iov_len28)
)
)
- (block
- (set_local $$cmp38
- (i32.eq
- (get_local $$iovcnt$0)
- (i32.const 2)
- )
+ (set_local $$cmp29
+ (i32.gt_u
+ (get_local $$cnt$0)
+ (get_local $$10)
)
- (if
- (get_local $$cmp38)
- (block
- (set_local $$12
- (i32.load
- (get_local $$wbase)
- )
- )
- (set_local $$add$ptr41
- (i32.add
- (get_local $$12)
- (get_local $$cnt$0)
- )
- )
- (i32.store
- (get_local $$wbase)
- (get_local $$add$ptr41)
- )
- (set_local $$14
- (get_local $$10)
+ )
+ (if
+ (get_local $$cmp29)
+ (block
+ (set_local $$11
+ (i32.load
+ (get_local $$buf31)
)
- (set_local $$cnt$1
+ )
+ (i32.store
+ (get_local $$wbase)
+ (get_local $$11)
+ )
+ (i32.store
+ (get_local $$wpos)
+ (get_local $$11)
+ )
+ (set_local $$sub36
+ (i32.sub
(get_local $$cnt$0)
+ (get_local $$10)
)
- (set_local $$iov$1
+ )
+ (set_local $$incdec$ptr
+ (i32.add
(get_local $$iov$0)
- )
- (set_local $$iovcnt$1
- (i32.const 2)
+ (i32.const 8)
)
)
- (block
- (set_local $$14
- (get_local $$10)
- )
- (set_local $$cnt$1
- (get_local $$cnt$0)
+ (set_local $$dec
+ (i32.add
+ (get_local $$iovcnt$0)
+ (i32.const -1)
)
- (set_local $$iov$1
+ )
+ (set_local $$iov_len50$phi$trans$insert
+ (i32.add
(get_local $$iov$0)
+ (i32.const 12)
+ )
+ )
+ (set_local $$$pre
+ (i32.load
+ (get_local $$iov_len50$phi$trans$insert)
)
- (set_local $$iovcnt$1
+ )
+ (set_local $$14
+ (get_local $$$pre)
+ )
+ (set_local $$cnt$1
+ (get_local $$sub36)
+ )
+ (set_local $$iov$1
+ (get_local $$incdec$ptr)
+ )
+ (set_local $$iovcnt$1
+ (get_local $$dec)
+ )
+ )
+ (block
+ (set_local $$cmp38
+ (i32.eq
(get_local $$iovcnt$0)
+ (i32.const 2)
+ )
+ )
+ (if
+ (get_local $$cmp38)
+ (block
+ (set_local $$12
+ (i32.load
+ (get_local $$wbase)
+ )
+ )
+ (set_local $$add$ptr41
+ (i32.add
+ (get_local $$12)
+ (get_local $$cnt$0)
+ )
+ )
+ (i32.store
+ (get_local $$wbase)
+ (get_local $$add$ptr41)
+ )
+ (set_local $$14
+ (get_local $$10)
+ )
+ (set_local $$cnt$1
+ (get_local $$cnt$0)
+ )
+ (set_local $$iov$1
+ (get_local $$iov$0)
+ )
+ (set_local $$iovcnt$1
+ (i32.const 2)
+ )
+ )
+ (block
+ (set_local $$14
+ (get_local $$10)
+ )
+ (set_local $$cnt$1
+ (get_local $$cnt$0)
+ )
+ (set_local $$iov$1
+ (get_local $$iov$0)
+ )
+ (set_local $$iovcnt$1
+ (get_local $$iovcnt$0)
+ )
)
)
)
)
- )
- (set_local $$13
- (i32.load
+ (set_local $$13
+ (i32.load
+ (get_local $$iov$1)
+ )
+ )
+ (set_local $$add$ptr46
+ (i32.add
+ (get_local $$13)
+ (get_local $$cnt$1)
+ )
+ )
+ (i32.store
(get_local $$iov$1)
+ (get_local $$add$ptr46)
)
- )
- (set_local $$add$ptr46
- (i32.add
- (get_local $$13)
- (get_local $$cnt$1)
+ (set_local $$iov_len50
+ (i32.add
+ (get_local $$iov$1)
+ (i32.const 4)
+ )
)
- )
- (i32.store
- (get_local $$iov$1)
- (get_local $$add$ptr46)
- )
- (set_local $$iov_len50
- (i32.add
+ (set_local $$sub51
+ (i32.sub
+ (get_local $$14)
+ (get_local $$cnt$1)
+ )
+ )
+ (i32.store
+ (get_local $$iov_len50)
+ (get_local $$sub51)
+ )
+ (set_local $$iov$0
(get_local $$iov$1)
- (i32.const 4)
)
- )
- (set_local $$sub51
- (i32.sub
- (get_local $$14)
- (get_local $$cnt$1)
+ (set_local $$iovcnt$0
+ (get_local $$iovcnt$1)
)
+ (set_local $$rem$0
+ (get_local $$sub26)
+ )
+ (br $while-in$1)
)
- (i32.store
- (get_local $$iov_len50)
- (get_local $$sub51)
- )
- (set_local $$iov$0
- (get_local $$iov$1)
- )
- (set_local $$iovcnt$0
- (get_local $$iovcnt$1)
- )
- (set_local $$rem$0
- (get_local $$sub26)
- )
- (br $while-in$1)
)
(if
(i32.eq
@@ -2300,8 +2211,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return
@@ -2357,27 +2267,18 @@
(local $sp i32)
(local $stop i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 224)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -2411,21 +2312,23 @@
(i32.const 40)
)
)
- (loop $do-out$0 $do-in$1
- (i32.store
- (get_local $dest)
- (i32.const 0)
- )
- (set_local $dest
- (i32.add
+ (loop $do-in$1
+ (block $do-out$0
+ (i32.store
(get_local $dest)
- (i32.const 4)
+ (i32.const 0)
)
- )
- (br_if $do-in$1
- (i32.lt_s
- (get_local $dest)
- (get_local $stop)
+ (set_local $dest
+ (i32.add
+ (get_local $dest)
+ (i32.const 4)
+ )
+ )
+ (br_if $do-in$1
+ (i32.lt_s
+ (get_local $dest)
+ (get_local $stop)
+ )
)
)
)
@@ -2648,17 +2551,19 @@
(get_local $$write)
)
)
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (get_local $$5)
- (i32.const 7)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $$f)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (get_local $$5)
+ (i32.const 7)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $$f)
- (i32.const 0)
- (i32.const 0)
)
(set_local $$6
(i32.load
@@ -2772,8 +2677,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return
@@ -2825,9 +2729,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$wend
(i32.add
@@ -2941,6 +2843,9 @@
)
(set_local $$call4
(call_indirect $FUNCSIG$iiii
+ (get_local $$f)
+ (get_local $$s)
+ (get_local $$l)
(i32.add
(i32.and
(get_local $$5)
@@ -2948,9 +2853,6 @@
)
(i32.const 2)
)
- (get_local $$f)
- (get_local $$s)
- (get_local $$l)
)
)
(set_local $$retval$0
@@ -2989,73 +2891,75 @@
(set_local $$i$0
(get_local $$l)
)
- (loop $while-out$2 $while-in$3
- (set_local $$tobool9
- (i32.eq
- (get_local $$i$0)
- (i32.const 0)
- )
- )
- (if
- (get_local $$tobool9)
- (block
- (set_local $$9
- (get_local $$4)
- )
- (set_local $$i$1
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $$tobool9
+ (i32.eq
+ (get_local $$i$0)
(i32.const 0)
)
- (set_local $$l$addr$0
- (get_local $$l)
- )
- (set_local $$s$addr$0
- (get_local $$s)
+ )
+ (if
+ (get_local $$tobool9)
+ (block
+ (set_local $$9
+ (get_local $$4)
+ )
+ (set_local $$i$1
+ (i32.const 0)
+ )
+ (set_local $$l$addr$0
+ (get_local $$l)
+ )
+ (set_local $$s$addr$0
+ (get_local $$s)
+ )
+ (br $label$break$L10)
)
- (br $label$break$L10)
)
- )
- (set_local $$sub
- (i32.add
- (get_local $$i$0)
- (i32.const -1)
+ (set_local $$sub
+ (i32.add
+ (get_local $$i$0)
+ (i32.const -1)
+ )
)
- )
- (set_local $$arrayidx
- (i32.add
- (get_local $$s)
- (get_local $$sub)
+ (set_local $$arrayidx
+ (i32.add
+ (get_local $$s)
+ (get_local $$sub)
+ )
)
- )
- (set_local $$7
- (i32.load8_s
- (get_local $$arrayidx)
+ (set_local $$7
+ (i32.load8_s
+ (get_local $$arrayidx)
+ )
)
- )
- (set_local $$cmp11
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$7)
+ (set_local $$cmp11
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$7)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 10)
)
- (i32.const 10)
)
- )
- (if
- (get_local $$cmp11)
- (block
- (set_local $$i$0$lcssa36
- (get_local $$i$0)
+ (if
+ (get_local $$cmp11)
+ (block
+ (set_local $$i$0$lcssa36
+ (get_local $$i$0)
+ )
+ (br $while-out$2)
+ )
+ (set_local $$i$0
+ (get_local $$sub)
)
- (br $while-out$2)
- )
- (set_local $$i$0
- (get_local $$sub)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
(set_local $$write15
(i32.add
@@ -3070,6 +2974,9 @@
)
(set_local $$call16
(call_indirect $FUNCSIG$iiii
+ (get_local $$f)
+ (get_local $$s)
+ (get_local $$i$0$lcssa36)
(i32.add
(i32.and
(get_local $$8)
@@ -3077,9 +2984,6 @@
)
(i32.const 2)
)
- (get_local $$f)
- (get_local $$s)
- (get_local $$i$0$lcssa36)
)
)
(set_local $$cmp17
@@ -3143,10 +3047,12 @@
)
)
)
- (call $_memcpy
- (get_local $$9)
- (get_local $$s$addr$0)
- (get_local $$l$addr$0)
+ (drop
+ (call $_memcpy
+ (get_local $$9)
+ (get_local $$s$addr$0)
+ (get_local $$l$addr$0)
+ )
)
(set_local $$10
(i32.load
@@ -3205,9 +3111,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$mode
(i32.add
@@ -3428,9 +3332,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$tobool
(i32.eq
@@ -3818,9 +3720,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$tobool
(i32.eq
@@ -3910,9 +3810,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$conv1
(i32.and
@@ -3963,111 +3861,113 @@
(set_local $$s$044
(get_local $$src)
)
- (loop $while-out$1 $while-in$2
- (set_local $$2
- (i32.load8_s
- (get_local $$s$044)
+ (loop $while-in$2
+ (block $while-out$1
+ (set_local $$2
+ (i32.load8_s
+ (get_local $$s$044)
+ )
)
- )
- (set_local $$cmp
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$2)
+ (set_local $$cmp
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$2)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
- )
- (i32.shr_s
- (i32.shl
- (get_local $$1)
+ (i32.shr_s
+ (i32.shl
+ (get_local $$1)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
)
- )
- (if
- (get_local $$cmp)
- (block
- (set_local $$n$addr$0$lcssa61
- (get_local $$n$addr$043)
+ (if
+ (get_local $$cmp)
+ (block
+ (set_local $$n$addr$0$lcssa61
+ (get_local $$n$addr$043)
+ )
+ (set_local $$s$0$lcssa60
+ (get_local $$s$044)
+ )
+ (set_local $label
+ (i32.const 6)
+ )
+ (br $label$break$L1)
)
- (set_local $$s$0$lcssa60
+ )
+ (set_local $$incdec$ptr
+ (i32.add
(get_local $$s$044)
+ (i32.const 1)
)
- (set_local $label
- (i32.const 6)
- )
- (br $label$break$L1)
- )
- )
- (set_local $$incdec$ptr
- (i32.add
- (get_local $$s$044)
- (i32.const 1)
- )
- )
- (set_local $$dec
- (i32.add
- (get_local $$n$addr$043)
- (i32.const -1)
- )
- )
- (set_local $$3
- (get_local $$incdec$ptr)
- )
- (set_local $$and
- (i32.and
- (get_local $$3)
- (i32.const 3)
- )
- )
- (set_local $$tobool
- (i32.ne
- (get_local $$and)
- (i32.const 0)
)
- )
- (set_local $$tobool2
- (i32.ne
- (get_local $$dec)
- (i32.const 0)
+ (set_local $$dec
+ (i32.add
+ (get_local $$n$addr$043)
+ (i32.const -1)
+ )
)
- )
- (set_local $$or$cond
- (i32.and
- (get_local $$tobool2)
- (get_local $$tobool)
+ (set_local $$3
+ (get_local $$incdec$ptr)
)
- )
- (if
- (get_local $$or$cond)
- (block
- (set_local $$n$addr$043
- (get_local $$dec)
+ (set_local $$and
+ (i32.and
+ (get_local $$3)
+ (i32.const 3)
)
- (set_local $$s$044
- (get_local $$incdec$ptr)
+ )
+ (set_local $$tobool
+ (i32.ne
+ (get_local $$and)
+ (i32.const 0)
)
)
- (block
- (set_local $$n$addr$0$lcssa
+ (set_local $$tobool2
+ (i32.ne
(get_local $$dec)
+ (i32.const 0)
)
- (set_local $$s$0$lcssa
- (get_local $$incdec$ptr)
- )
- (set_local $$tobool2$lcssa
+ )
+ (set_local $$or$cond
+ (i32.and
(get_local $$tobool2)
+ (get_local $$tobool)
)
- (set_local $label
- (i32.const 5)
+ )
+ (if
+ (get_local $$or$cond)
+ (block
+ (set_local $$n$addr$043
+ (get_local $$dec)
+ )
+ (set_local $$s$044
+ (get_local $$incdec$ptr)
+ )
+ )
+ (block
+ (set_local $$n$addr$0$lcssa
+ (get_local $$dec)
+ )
+ (set_local $$s$0$lcssa
+ (get_local $$incdec$ptr)
+ )
+ (set_local $$tobool2$lcssa
+ (get_local $$tobool2)
+ )
+ (set_local $label
+ (i32.const 5)
+ )
+ (br $while-out$1)
)
- (br $while-out$1)
)
+ (br $while-in$2)
)
- (br $while-in$2)
)
)
(block
@@ -4183,104 +4083,106 @@
(set_local $$w$034
(get_local $$s$0$lcssa60)
)
- (loop $while-out$5 $while-in$6
- (set_local $$6
- (i32.load
- (get_local $$w$034)
- )
- )
- (set_local $$xor
- (i32.xor
- (get_local $$6)
- (get_local $$mul)
+ (loop $while-in$6
+ (block $while-out$5
+ (set_local $$6
+ (i32.load
+ (get_local $$w$034)
+ )
)
- )
- (set_local $$sub
- (i32.add
- (get_local $$xor)
- (i32.const -16843009)
+ (set_local $$xor
+ (i32.xor
+ (get_local $$6)
+ (get_local $$mul)
+ )
)
- )
- (set_local $$neg
- (i32.and
- (get_local $$xor)
- (i32.const -2139062144)
+ (set_local $$sub
+ (i32.add
+ (get_local $$xor)
+ (i32.const -16843009)
+ )
)
- )
- (set_local $$and15
- (i32.xor
- (get_local $$neg)
- (i32.const -2139062144)
+ (set_local $$neg
+ (i32.and
+ (get_local $$xor)
+ (i32.const -2139062144)
+ )
)
- )
- (set_local $$and16
- (i32.and
- (get_local $$and15)
- (get_local $$sub)
+ (set_local $$and15
+ (i32.xor
+ (get_local $$neg)
+ (i32.const -2139062144)
+ )
)
- )
- (set_local $$lnot
- (i32.eq
- (get_local $$and16)
- (i32.const 0)
+ (set_local $$and16
+ (i32.and
+ (get_local $$and15)
+ (get_local $$sub)
+ )
)
- )
- (if
- (i32.eqz
- (get_local $$lnot)
+ (set_local $$lnot
+ (i32.eq
+ (get_local $$and16)
+ (i32.const 0)
+ )
)
- (block
- (set_local $$n$addr$133$lcssa
- (get_local $$n$addr$133)
+ (if
+ (i32.eqz
+ (get_local $$lnot)
)
- (set_local $$w$034$lcssa
- (get_local $$w$034)
+ (block
+ (set_local $$n$addr$133$lcssa
+ (get_local $$n$addr$133)
+ )
+ (set_local $$w$034$lcssa
+ (get_local $$w$034)
+ )
+ (br $while-out$5)
)
- (br $while-out$5)
- )
- )
- (set_local $$incdec$ptr21
- (i32.add
- (get_local $$w$034)
- (i32.const 4)
- )
- )
- (set_local $$sub22
- (i32.add
- (get_local $$n$addr$133)
- (i32.const -4)
- )
- )
- (set_local $$cmp11
- (i32.gt_u
- (get_local $$sub22)
- (i32.const 3)
)
- )
- (if
- (get_local $$cmp11)
- (block
- (set_local $$n$addr$133
- (get_local $$sub22)
+ (set_local $$incdec$ptr21
+ (i32.add
+ (get_local $$w$034)
+ (i32.const 4)
)
- (set_local $$w$034
- (get_local $$incdec$ptr21)
+ )
+ (set_local $$sub22
+ (i32.add
+ (get_local $$n$addr$133)
+ (i32.const -4)
)
)
- (block
- (set_local $$n$addr$1$lcssa
+ (set_local $$cmp11
+ (i32.gt_u
(get_local $$sub22)
+ (i32.const 3)
)
- (set_local $$w$0$lcssa
- (get_local $$incdec$ptr21)
+ )
+ (if
+ (get_local $$cmp11)
+ (block
+ (set_local $$n$addr$133
+ (get_local $$sub22)
+ )
+ (set_local $$w$034
+ (get_local $$incdec$ptr21)
+ )
)
- (set_local $label
- (i32.const 11)
+ (block
+ (set_local $$n$addr$1$lcssa
+ (get_local $$sub22)
+ )
+ (set_local $$w$0$lcssa
+ (get_local $$incdec$ptr21)
+ )
+ (set_local $label
+ (i32.const 11)
+ )
+ (br $label$break$L11)
)
- (br $label$break$L11)
)
+ (br $while-in$6)
)
- (br $while-in$6)
)
(set_local $$n$addr$227
(get_local $$n$addr$133$lcssa)
@@ -4336,81 +4238,83 @@
)
)
)
- (loop $while-out$7 $while-in$8
- (set_local $$7
- (i32.load8_s
- (get_local $$s$128)
+ (loop $while-in$8
+ (block $while-out$7
+ (set_local $$7
+ (i32.load8_s
+ (get_local $$s$128)
+ )
)
- )
- (set_local $$cmp28
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$7)
+ (set_local $$cmp28
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$7)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
- )
- (i32.shr_s
- (i32.shl
- (get_local $$5)
+ (i32.shr_s
+ (i32.shl
+ (get_local $$5)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
)
- )
- (if
- (get_local $$cmp28)
- (block
- (set_local $$n$addr$3
- (get_local $$n$addr$227)
+ (if
+ (get_local $$cmp28)
+ (block
+ (set_local $$n$addr$3
+ (get_local $$n$addr$227)
+ )
+ (set_local $$s$2
+ (get_local $$s$128)
+ )
+ (br $label$break$L8)
)
- (set_local $$s$2
+ )
+ (set_local $$incdec$ptr33
+ (i32.add
(get_local $$s$128)
+ (i32.const 1)
)
- (br $label$break$L8)
- )
- )
- (set_local $$incdec$ptr33
- (i32.add
- (get_local $$s$128)
- (i32.const 1)
- )
- )
- (set_local $$dec34
- (i32.add
- (get_local $$n$addr$227)
- (i32.const -1)
)
- )
- (set_local $$tobool25
- (i32.eq
- (get_local $$dec34)
- (i32.const 0)
+ (set_local $$dec34
+ (i32.add
+ (get_local $$n$addr$227)
+ (i32.const -1)
+ )
)
- )
- (if
- (get_local $$tobool25)
- (block
- (set_local $$n$addr$3
+ (set_local $$tobool25
+ (i32.eq
+ (get_local $$dec34)
(i32.const 0)
)
- (set_local $$s$2
- (get_local $$incdec$ptr33)
- )
- (br $while-out$7)
)
- (block
- (set_local $$n$addr$227
- (get_local $$dec34)
+ (if
+ (get_local $$tobool25)
+ (block
+ (set_local $$n$addr$3
+ (i32.const 0)
+ )
+ (set_local $$s$2
+ (get_local $$incdec$ptr33)
+ )
+ (br $while-out$7)
)
- (set_local $$s$128
- (get_local $$incdec$ptr33)
+ (block
+ (set_local $$n$addr$227
+ (get_local $$dec34)
+ )
+ (set_local $$s$128
+ (get_local $$incdec$ptr33)
+ )
)
)
+ (br $while-in$8)
)
- (br $while-in$8)
)
)
)
@@ -4442,9 +4346,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$cmp
(i32.gt_u
@@ -4505,9 +4407,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$wpos
(i32.add
@@ -4551,17 +4451,19 @@
(get_local $$write)
)
)
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (get_local $$2)
- (i32.const 7)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $$f)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (get_local $$2)
+ (i32.const 7)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $$f)
- (i32.const 0)
- (i32.const 0)
)
(set_local $$3
(i32.load
@@ -4648,17 +4550,19 @@
(get_local $$sub$ptr$rhs$cast)
)
)
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (get_local $$6)
- (i32.const 7)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $$f)
+ (get_local $$sub$ptr$sub)
+ (i32.const 1)
+ (i32.add
+ (i32.and
+ (get_local $$6)
+ (i32.const 7)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $$f)
- (get_local $$sub$ptr$sub)
- (i32.const 1)
)
)
)
@@ -4704,9 +4608,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$lockcount
(i32.add
@@ -5799,27 +5701,18 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 624)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -5964,1194 +5857,1187 @@
(set_local $$l10n$0
(i32.const 0)
)
- (loop $label$break$L1 $label$continue$L1
- (set_local $$cmp
- (i32.gt_s
- (get_local $$cnt$0)
- (i32.const -1)
+ (loop $label$continue$L1
+ (block $label$break$L1
+ (set_local $$cmp
+ (i32.gt_s
+ (get_local $$cnt$0)
+ (i32.const -1)
+ )
)
- )
- (block $do-once$0
- (if
- (get_local $$cmp)
- (block
- (set_local $$sub
- (i32.sub
- (i32.const 2147483647)
- (get_local $$cnt$0)
- )
- )
- (set_local $$cmp1
- (i32.gt_s
- (get_local $$l$0)
- (get_local $$sub)
- )
- )
- (if
- (get_local $$cmp1)
- (block
- (set_local $$call
- (call $___errno_location)
- )
- (i32.store
- (get_local $$call)
- (i32.const 75)
+ (block $do-once$0
+ (if
+ (get_local $$cmp)
+ (block
+ (set_local $$sub
+ (i32.sub
+ (i32.const 2147483647)
+ (get_local $$cnt$0)
)
- (set_local $$cnt$1
- (i32.const -1)
+ )
+ (set_local $$cmp1
+ (i32.gt_s
+ (get_local $$l$0)
+ (get_local $$sub)
)
- (br $do-once$0)
)
- (block
- (set_local $$add
- (i32.add
- (get_local $$l$0)
- (get_local $$cnt$0)
+ (if
+ (get_local $$cmp1)
+ (block
+ (set_local $$call
+ (call $___errno_location)
+ )
+ (i32.store
+ (get_local $$call)
+ (i32.const 75)
+ )
+ (set_local $$cnt$1
+ (i32.const -1)
)
+ (br $do-once$0)
)
- (set_local $$cnt$1
- (get_local $$add)
+ (block
+ (set_local $$add
+ (i32.add
+ (get_local $$l$0)
+ (get_local $$cnt$0)
+ )
+ )
+ (set_local $$cnt$1
+ (get_local $$add)
+ )
+ (br $do-once$0)
)
- (br $do-once$0)
)
)
- )
- (set_local $$cnt$1
- (get_local $$cnt$0)
+ (set_local $$cnt$1
+ (get_local $$cnt$0)
+ )
)
)
- )
- (set_local $$0
- (i32.load8_s
- (get_local $$incdec$ptr169275)
+ (set_local $$0
+ (i32.load8_s
+ (get_local $$incdec$ptr169275)
+ )
)
- )
- (set_local $$tobool
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$0)
+ (set_local $$tobool
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$0)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (if
- (get_local $$tobool)
- (block
- (set_local $$cnt$1$lcssa
- (get_local $$cnt$1)
- )
- (set_local $$l10n$0$lcssa
- (get_local $$l10n$0)
+ (if
+ (get_local $$tobool)
+ (block
+ (set_local $$cnt$1$lcssa
+ (get_local $$cnt$1)
+ )
+ (set_local $$l10n$0$lcssa
+ (get_local $$l10n$0)
+ )
+ (set_local $label
+ (i32.const 242)
+ )
+ (br $label$break$L1)
)
- (set_local $label
- (i32.const 242)
+ (block
+ (set_local $$1
+ (get_local $$0)
+ )
+ (set_local $$incdec$ptr169274
+ (get_local $$incdec$ptr169275)
+ )
)
- (br $label$break$L1)
)
- (block
- (set_local $$1
- (get_local $$0)
- )
- (set_local $$incdec$ptr169274
- (get_local $$incdec$ptr169275)
+ (loop $label$continue$L9
+ (block $label$break$L9
+ (block $switch$2
+ (block $switch-default$5
+ (block $switch-default$5
+ (block $switch-case$4
+ (block $switch-case$3
+ (br_table $switch-case$4 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-case$3 $switch-default$5
+ (i32.sub
+ (i32.shr_s
+ (i32.shl
+ (get_local $$1)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (block
+ (set_local $$incdec$ptr169276301
+ (get_local $$incdec$ptr169274)
+ )
+ (set_local $$z$0302
+ (get_local $$incdec$ptr169274)
+ )
+ (set_local $label
+ (i32.const 9)
+ )
+ (br $label$break$L9)
+ (br $switch$2)
+ )
+ )
+ (block
+ (set_local $$incdec$ptr169276$lcssa
+ (get_local $$incdec$ptr169274)
+ )
+ (set_local $$z$0$lcssa
+ (get_local $$incdec$ptr169274)
+ )
+ (br $label$break$L9)
+ (br $switch$2)
+ )
+ )
+ (nop)
+ )
+ )
+ (set_local $$incdec$ptr
+ (i32.add
+ (get_local $$incdec$ptr169274)
+ (i32.const 1)
+ )
+ )
+ (set_local $$$pre
+ (i32.load8_s
+ (get_local $$incdec$ptr)
+ )
+ )
+ (set_local $$1
+ (get_local $$$pre)
+ )
+ (set_local $$incdec$ptr169274
+ (get_local $$incdec$ptr)
+ )
+ (br $label$continue$L9)
)
)
- )
- (loop $label$break$L9 $label$continue$L9
- (block $switch$2
- (block $switch-default$5
- (block $switch-default$5
- (block $switch-case$4
- (block $switch-case$3
- (br_table $switch-case$4 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-default$5 $switch-case$3 $switch-default$5
- (i32.sub
- (i32.shr_s
- (i32.shl
- (get_local $$1)
- (i32.const 24)
- )
+ (block $label$break$L12
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 9)
+ )
+ (loop $while-in$8
+ (block $while-out$7
+ (set_local $label
+ (i32.const 0)
+ )
+ (set_local $$arrayidx16
+ (i32.add
+ (get_local $$incdec$ptr169276301)
+ (i32.const 1)
+ )
+ )
+ (set_local $$2
+ (i32.load8_s
+ (get_local $$arrayidx16)
+ )
+ )
+ (set_local $$cmp18
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$2)
(i32.const 24)
)
- (i32.const 0)
+ (i32.const 24)
)
+ (i32.const 37)
)
)
- (block
- (set_local $$incdec$ptr169276301
- (get_local $$incdec$ptr169274)
+ (if
+ (i32.eqz
+ (get_local $$cmp18)
)
- (set_local $$z$0302
- (get_local $$incdec$ptr169274)
+ (block
+ (set_local $$incdec$ptr169276$lcssa
+ (get_local $$incdec$ptr169276301)
+ )
+ (set_local $$z$0$lcssa
+ (get_local $$z$0302)
+ )
+ (br $label$break$L12)
)
- (set_local $label
- (i32.const 9)
+ )
+ (set_local $$incdec$ptr23
+ (i32.add
+ (get_local $$z$0302)
+ (i32.const 1)
)
- (br $label$break$L9)
- (br $switch$2)
)
- )
- (block
- (set_local $$incdec$ptr169276$lcssa
- (get_local $$incdec$ptr169274)
+ (set_local $$add$ptr
+ (i32.add
+ (get_local $$incdec$ptr169276301)
+ (i32.const 2)
+ )
+ )
+ (set_local $$3
+ (i32.load8_s
+ (get_local $$add$ptr)
+ )
+ )
+ (set_local $$cmp13
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$3)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ (i32.const 37)
+ )
)
- (set_local $$z$0$lcssa
- (get_local $$incdec$ptr169274)
+ (if
+ (get_local $$cmp13)
+ (block
+ (set_local $$incdec$ptr169276301
+ (get_local $$add$ptr)
+ )
+ (set_local $$z$0302
+ (get_local $$incdec$ptr23)
+ )
+ (set_local $label
+ (i32.const 9)
+ )
+ )
+ (block
+ (set_local $$incdec$ptr169276$lcssa
+ (get_local $$add$ptr)
+ )
+ (set_local $$z$0$lcssa
+ (get_local $$incdec$ptr23)
+ )
+ (br $while-out$7)
+ )
)
- (br $label$break$L9)
- (br $switch$2)
+ (br $while-in$8)
)
)
- (nop)
- )
- )
- (set_local $$incdec$ptr
- (i32.add
- (get_local $$incdec$ptr169274)
- (i32.const 1)
)
)
- (set_local $$$pre
- (i32.load8_s
- (get_local $$incdec$ptr)
- )
+ (set_local $$sub$ptr$lhs$cast
+ (get_local $$z$0$lcssa)
)
- (set_local $$1
- (get_local $$$pre)
+ (set_local $$sub$ptr$rhs$cast
+ (get_local $$incdec$ptr169275)
)
- (set_local $$incdec$ptr169274
- (get_local $$incdec$ptr)
+ (set_local $$sub$ptr$sub
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast)
+ (get_local $$sub$ptr$rhs$cast)
+ )
)
- (br $label$continue$L9)
- )
- (block $label$break$L12
(if
- (i32.eq
- (get_local $label)
- (i32.const 9)
- )
- (loop $while-out$7 $while-in$8
- (set_local $label
- (i32.const 0)
- )
- (set_local $$arrayidx16
- (i32.add
- (get_local $$incdec$ptr169276301)
- (i32.const 1)
+ (get_local $$tobool25)
+ (block
+ (set_local $$4
+ (i32.load
+ (get_local $$f)
)
)
- (set_local $$2
- (i32.load8_s
- (get_local $$arrayidx16)
+ (set_local $$and$i
+ (i32.and
+ (get_local $$4)
+ (i32.const 32)
)
)
- (set_local $$cmp18
+ (set_local $$tobool$i
(i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$2)
- (i32.const 24)
- )
- (i32.const 24)
- )
- (i32.const 37)
+ (get_local $$and$i)
+ (i32.const 0)
)
)
(if
- (i32.eqz
- (get_local $$cmp18)
- )
- (block
- (set_local $$incdec$ptr169276$lcssa
- (get_local $$incdec$ptr169276301)
- )
- (set_local $$z$0$lcssa
- (get_local $$z$0302)
- )
- (br $label$break$L12)
+ (get_local $$tobool$i)
+ (call $___fwritex
+ (get_local $$incdec$ptr169275)
+ (get_local $$sub$ptr$sub)
+ (get_local $$f)
)
)
- (set_local $$incdec$ptr23
- (i32.add
- (get_local $$z$0302)
- (i32.const 1)
- )
+ )
+ )
+ (set_local $$tobool28
+ (i32.eq
+ (get_local $$z$0$lcssa)
+ (get_local $$incdec$ptr169275)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $$tobool28)
+ )
+ (block
+ (set_local $$l10n$0$phi
+ (get_local $$l10n$0)
)
- (set_local $$add$ptr
+ (set_local $$cnt$0
+ (get_local $$cnt$1)
+ )
+ (set_local $$incdec$ptr169275
+ (get_local $$incdec$ptr169276$lcssa)
+ )
+ (set_local $$l$0
+ (get_local $$sub$ptr$sub)
+ )
+ (set_local $$l10n$0
+ (get_local $$l10n$0$phi)
+ )
+ (br $label$continue$L1)
+ )
+ )
+ (set_local $$arrayidx31
+ (i32.add
+ (get_local $$incdec$ptr169276$lcssa)
+ (i32.const 1)
+ )
+ )
+ (set_local $$5
+ (i32.load8_s
+ (get_local $$arrayidx31)
+ )
+ )
+ (set_local $$conv32
+ (i32.shr_s
+ (i32.shl
+ (get_local $$5)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ )
+ (set_local $$isdigittmp
+ (i32.add
+ (get_local $$conv32)
+ (i32.const -48)
+ )
+ )
+ (set_local $$isdigit
+ (i32.lt_u
+ (get_local $$isdigittmp)
+ (i32.const 10)
+ )
+ )
+ (if
+ (get_local $$isdigit)
+ (block
+ (set_local $$arrayidx35
(i32.add
- (get_local $$incdec$ptr169276301)
+ (get_local $$incdec$ptr169276$lcssa)
(i32.const 2)
)
)
- (set_local $$3
+ (set_local $$6
(i32.load8_s
- (get_local $$add$ptr)
+ (get_local $$arrayidx35)
)
)
- (set_local $$cmp13
+ (set_local $$cmp37
(i32.eq
(i32.shr_s
(i32.shl
- (get_local $$3)
+ (get_local $$6)
(i32.const 24)
)
(i32.const 24)
)
- (i32.const 37)
+ (i32.const 36)
)
)
- (if
- (get_local $$cmp13)
- (block
- (set_local $$incdec$ptr169276301
- (get_local $$add$ptr)
- )
- (set_local $$z$0302
- (get_local $$incdec$ptr23)
- )
- (set_local $label
- (i32.const 9)
- )
+ (set_local $$add$ptr43
+ (i32.add
+ (get_local $$incdec$ptr169276$lcssa)
+ (i32.const 3)
)
- (block
- (set_local $$incdec$ptr169276$lcssa
- (get_local $$add$ptr)
- )
- (set_local $$z$0$lcssa
- (get_local $$incdec$ptr23)
- )
- (br $while-out$7)
+ )
+ (set_local $$add$ptr43$arrayidx31
+ (if
+ (get_local $$cmp37)
+ (get_local $$add$ptr43)
+ (get_local $$arrayidx31)
)
)
- (br $while-in$8)
- )
- )
- )
- (set_local $$sub$ptr$lhs$cast
- (get_local $$z$0$lcssa)
- )
- (set_local $$sub$ptr$rhs$cast
- (get_local $$incdec$ptr169275)
- )
- (set_local $$sub$ptr$sub
- (i32.sub
- (get_local $$sub$ptr$lhs$cast)
- (get_local $$sub$ptr$rhs$cast)
- )
- )
- (if
- (get_local $$tobool25)
- (block
- (set_local $$4
- (i32.load
- (get_local $$f)
+ (set_local $$$l10n$0
+ (if
+ (get_local $$cmp37)
+ (i32.const 1)
+ (get_local $$l10n$0)
+ )
)
- )
- (set_local $$and$i
- (i32.and
- (get_local $$4)
- (i32.const 32)
+ (set_local $$isdigittmp$
+ (if
+ (get_local $$cmp37)
+ (get_local $$isdigittmp)
+ (i32.const -1)
+ )
)
- )
- (set_local $$tobool$i
- (i32.eq
- (get_local $$and$i)
- (i32.const 0)
+ (set_local $$$pre357
+ (i32.load8_s
+ (get_local $$add$ptr43$arrayidx31)
+ )
)
- )
- (if
- (get_local $$tobool$i)
- (call $___fwritex
- (get_local $$incdec$ptr169275)
- (get_local $$sub$ptr$sub)
- (get_local $$f)
+ (set_local $$7
+ (get_local $$$pre357)
)
- )
- )
- )
- (set_local $$tobool28
- (i32.eq
- (get_local $$z$0$lcssa)
- (get_local $$incdec$ptr169275)
- )
- )
- (if
- (i32.eqz
- (get_local $$tobool28)
- )
- (block
- (set_local $$l10n$0$phi
- (get_local $$l10n$0)
- )
- (set_local $$cnt$0
- (get_local $$cnt$1)
- )
- (set_local $$incdec$ptr169275
- (get_local $$incdec$ptr169276$lcssa)
- )
- (set_local $$l$0
- (get_local $$sub$ptr$sub)
- )
- (set_local $$l10n$0
- (get_local $$l10n$0$phi)
- )
- (br $label$continue$L1)
- )
- )
- (set_local $$arrayidx31
- (i32.add
- (get_local $$incdec$ptr169276$lcssa)
- (i32.const 1)
- )
- )
- (set_local $$5
- (i32.load8_s
- (get_local $$arrayidx31)
- )
- )
- (set_local $$conv32
- (i32.shr_s
- (i32.shl
- (get_local $$5)
- (i32.const 24)
- )
- (i32.const 24)
- )
- )
- (set_local $$isdigittmp
- (i32.add
- (get_local $$conv32)
- (i32.const -48)
- )
- )
- (set_local $$isdigit
- (i32.lt_u
- (get_local $$isdigittmp)
- (i32.const 10)
- )
- )
- (if
- (get_local $$isdigit)
- (block
- (set_local $$arrayidx35
- (i32.add
- (get_local $$incdec$ptr169276$lcssa)
- (i32.const 2)
+ (set_local $$argpos$0
+ (get_local $$isdigittmp$)
)
- )
- (set_local $$6
- (i32.load8_s
- (get_local $$arrayidx35)
+ (set_local $$l10n$1
+ (get_local $$$l10n$0)
)
- )
- (set_local $$cmp37
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$6)
- (i32.const 24)
- )
- (i32.const 24)
- )
- (i32.const 36)
+ (set_local $$storemerge
+ (get_local $$add$ptr43$arrayidx31)
)
)
- (set_local $$add$ptr43
- (i32.add
- (get_local $$incdec$ptr169276$lcssa)
- (i32.const 3)
+ (block
+ (set_local $$7
+ (get_local $$5)
)
- )
- (set_local $$add$ptr43$arrayidx31
- (if
- (get_local $$cmp37)
- (get_local $$add$ptr43)
- (get_local $$arrayidx31)
+ (set_local $$argpos$0
+ (i32.const -1)
)
- )
- (set_local $$$l10n$0
- (if
- (get_local $$cmp37)
- (i32.const 1)
+ (set_local $$l10n$1
(get_local $$l10n$0)
)
- )
- (set_local $$isdigittmp$
- (if
- (get_local $$cmp37)
- (get_local $$isdigittmp)
- (i32.const -1)
+ (set_local $$storemerge
+ (get_local $$arrayidx31)
)
)
- (set_local $$$pre357
- (i32.load8_s
- (get_local $$add$ptr43$arrayidx31)
+ )
+ (set_local $$conv48$307
+ (i32.shr_s
+ (i32.shl
+ (get_local $$7)
+ (i32.const 24)
)
- )
- (set_local $$7
- (get_local $$$pre357)
- )
- (set_local $$argpos$0
- (get_local $$isdigittmp$)
- )
- (set_local $$l10n$1
- (get_local $$$l10n$0)
- )
- (set_local $$storemerge
- (get_local $$add$ptr43$arrayidx31)
+ (i32.const 24)
)
)
- (block
- (set_local $$7
- (get_local $$5)
- )
- (set_local $$argpos$0
- (i32.const -1)
- )
- (set_local $$l10n$1
- (get_local $$l10n$0)
- )
- (set_local $$storemerge
- (get_local $$arrayidx31)
+ (set_local $$8
+ (i32.and
+ (get_local $$conv48$307)
+ (i32.const -32)
)
)
- )
- (set_local $$conv48$307
- (i32.shr_s
- (i32.shl
- (get_local $$7)
- (i32.const 24)
+ (set_local $$cmp50$308
+ (i32.eq
+ (get_local $$8)
+ (i32.const 32)
)
- (i32.const 24)
- )
- )
- (set_local $$8
- (i32.and
- (get_local $$conv48$307)
- (i32.const -32)
- )
- )
- (set_local $$cmp50$308
- (i32.eq
- (get_local $$8)
- (i32.const 32)
)
- )
- (block $label$break$L25
- (if
- (get_local $$cmp50$308)
- (block
- (set_local $$9
- (get_local $$7)
- )
- (set_local $$conv48311
- (get_local $$conv48$307)
- )
- (set_local $$fl$0310
- (i32.const 0)
- )
- (set_local $$storemerge$186309
- (get_local $$storemerge)
- )
- (loop $while-out$10 $while-in$11
- (set_local $$sub54
- (i32.add
- (get_local $$conv48311)
- (i32.const -32)
- )
+ (block $label$break$L25
+ (if
+ (get_local $$cmp50$308)
+ (block
+ (set_local $$9
+ (get_local $$7)
)
- (set_local $$shl
- (i32.shl
- (i32.const 1)
- (get_local $$sub54)
- )
+ (set_local $$conv48311
+ (get_local $$conv48$307)
)
- (set_local $$and
- (i32.and
- (get_local $$shl)
- (i32.const 75913)
- )
+ (set_local $$fl$0310
+ (i32.const 0)
)
- (set_local $$tobool55
- (i32.eq
- (get_local $$and)
- (i32.const 0)
- )
+ (set_local $$storemerge$186309
+ (get_local $$storemerge)
)
- (if
- (get_local $$tobool55)
- (block
- (set_local $$12
- (get_local $$9)
+ (loop $while-in$11
+ (block $while-out$10
+ (set_local $$sub54
+ (i32.add
+ (get_local $$conv48311)
+ (i32.const -32)
+ )
)
- (set_local $$fl$0284
- (get_local $$fl$0310)
+ (set_local $$shl
+ (i32.shl
+ (i32.const 1)
+ (get_local $$sub54)
+ )
)
- (set_local $$storemerge$186282
- (get_local $$storemerge$186309)
+ (set_local $$and
+ (i32.and
+ (get_local $$shl)
+ (i32.const 75913)
+ )
)
- (br $label$break$L25)
- )
- )
- (set_local $$conv58
- (i32.shr_s
- (i32.shl
- (get_local $$9)
- (i32.const 24)
+ (set_local $$tobool55
+ (i32.eq
+ (get_local $$and)
+ (i32.const 0)
+ )
)
- (i32.const 24)
- )
- )
- (set_local $$sub59
- (i32.add
- (get_local $$conv58)
- (i32.const -32)
- )
- )
- (set_local $$shl60
- (i32.shl
- (i32.const 1)
- (get_local $$sub59)
- )
- )
- (set_local $$or
- (i32.or
- (get_local $$shl60)
- (get_local $$fl$0310)
- )
- )
- (set_local $$incdec$ptr62
- (i32.add
- (get_local $$storemerge$186309)
- (i32.const 1)
- )
- )
- (set_local $$10
- (i32.load8_s
- (get_local $$incdec$ptr62)
- )
- )
- (set_local $$conv48
- (i32.shr_s
- (i32.shl
- (get_local $$10)
- (i32.const 24)
+ (if
+ (get_local $$tobool55)
+ (block
+ (set_local $$12
+ (get_local $$9)
+ )
+ (set_local $$fl$0284
+ (get_local $$fl$0310)
+ )
+ (set_local $$storemerge$186282
+ (get_local $$storemerge$186309)
+ )
+ (br $label$break$L25)
+ )
)
- (i32.const 24)
- )
- )
- (set_local $$11
- (i32.and
- (get_local $$conv48)
- (i32.const -32)
- )
- )
- (set_local $$cmp50
- (i32.eq
- (get_local $$11)
- (i32.const 32)
- )
- )
- (if
- (get_local $$cmp50)
- (block
- (set_local $$9
- (get_local $$10)
+ (set_local $$conv58
+ (i32.shr_s
+ (i32.shl
+ (get_local $$9)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
)
- (set_local $$conv48311
- (get_local $$conv48)
+ (set_local $$sub59
+ (i32.add
+ (get_local $$conv58)
+ (i32.const -32)
+ )
)
- (set_local $$fl$0310
- (get_local $$or)
+ (set_local $$shl60
+ (i32.shl
+ (i32.const 1)
+ (get_local $$sub59)
+ )
)
- (set_local $$storemerge$186309
- (get_local $$incdec$ptr62)
+ (set_local $$or
+ (i32.or
+ (get_local $$shl60)
+ (get_local $$fl$0310)
+ )
)
- )
- (block
- (set_local $$12
- (get_local $$10)
+ (set_local $$incdec$ptr62
+ (i32.add
+ (get_local $$storemerge$186309)
+ (i32.const 1)
+ )
)
- (set_local $$fl$0284
- (get_local $$or)
+ (set_local $$10
+ (i32.load8_s
+ (get_local $$incdec$ptr62)
+ )
+ )
+ (set_local $$conv48
+ (i32.shr_s
+ (i32.shl
+ (get_local $$10)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
)
- (set_local $$storemerge$186282
- (get_local $$incdec$ptr62)
+ (set_local $$11
+ (i32.and
+ (get_local $$conv48)
+ (i32.const -32)
+ )
)
- (br $while-out$10)
+ (set_local $$cmp50
+ (i32.eq
+ (get_local $$11)
+ (i32.const 32)
+ )
+ )
+ (if
+ (get_local $$cmp50)
+ (block
+ (set_local $$9
+ (get_local $$10)
+ )
+ (set_local $$conv48311
+ (get_local $$conv48)
+ )
+ (set_local $$fl$0310
+ (get_local $$or)
+ )
+ (set_local $$storemerge$186309
+ (get_local $$incdec$ptr62)
+ )
+ )
+ (block
+ (set_local $$12
+ (get_local $$10)
+ )
+ (set_local $$fl$0284
+ (get_local $$or)
+ )
+ (set_local $$storemerge$186282
+ (get_local $$incdec$ptr62)
+ )
+ (br $while-out$10)
+ )
+ )
+ (br $while-in$11)
)
)
- (br $while-in$11)
)
- )
- (block
- (set_local $$12
- (get_local $$7)
- )
- (set_local $$fl$0284
- (i32.const 0)
- )
- (set_local $$storemerge$186282
- (get_local $$storemerge)
+ (block
+ (set_local $$12
+ (get_local $$7)
+ )
+ (set_local $$fl$0284
+ (i32.const 0)
+ )
+ (set_local $$storemerge$186282
+ (get_local $$storemerge)
+ )
)
)
)
- )
- (set_local $$cmp65
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$12)
+ (set_local $$cmp65
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$12)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 42)
)
- (i32.const 42)
)
- )
- (block $do-once$12
- (if
- (get_local $$cmp65)
- (block
- (set_local $$arrayidx68
- (i32.add
- (get_local $$storemerge$186282)
- (i32.const 1)
+ (block $do-once$12
+ (if
+ (get_local $$cmp65)
+ (block
+ (set_local $$arrayidx68
+ (i32.add
+ (get_local $$storemerge$186282)
+ (i32.const 1)
+ )
)
- )
- (set_local $$13
- (i32.load8_s
- (get_local $$arrayidx68)
+ (set_local $$13
+ (i32.load8_s
+ (get_local $$arrayidx68)
+ )
)
- )
- (set_local $$conv69
- (i32.shr_s
- (i32.shl
- (get_local $$13)
+ (set_local $$conv69
+ (i32.shr_s
+ (i32.shl
+ (get_local $$13)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
- )
- (set_local $$isdigittmp189
- (i32.add
- (get_local $$conv69)
- (i32.const -48)
+ (set_local $$isdigittmp189
+ (i32.add
+ (get_local $$conv69)
+ (i32.const -48)
+ )
)
- )
- (set_local $$isdigit190
- (i32.lt_u
- (get_local $$isdigittmp189)
- (i32.const 10)
+ (set_local $$isdigit190
+ (i32.lt_u
+ (get_local $$isdigittmp189)
+ (i32.const 10)
+ )
)
- )
- (if
- (get_local $$isdigit190)
- (block
- (set_local $$arrayidx73
- (i32.add
- (get_local $$storemerge$186282)
- (i32.const 2)
+ (if
+ (get_local $$isdigit190)
+ (block
+ (set_local $$arrayidx73
+ (i32.add
+ (get_local $$storemerge$186282)
+ (i32.const 2)
+ )
)
- )
- (set_local $$14
- (i32.load8_s
- (get_local $$arrayidx73)
+ (set_local $$14
+ (i32.load8_s
+ (get_local $$arrayidx73)
+ )
)
- )
- (set_local $$cmp75
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$14)
+ (set_local $$cmp75
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$14)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 36)
)
- (i32.const 36)
)
- )
- (if
- (get_local $$cmp75)
- (block
- (set_local $$arrayidx81
- (i32.add
- (get_local $$nl_type)
- (i32.shl
- (get_local $$isdigittmp189)
- (i32.const 2)
+ (if
+ (get_local $$cmp75)
+ (block
+ (set_local $$arrayidx81
+ (i32.add
+ (get_local $$nl_type)
+ (i32.shl
+ (get_local $$isdigittmp189)
+ (i32.const 2)
+ )
)
)
- )
- (i32.store
- (get_local $$arrayidx81)
- (i32.const 10)
- )
- (set_local $$15
- (i32.load8_s
- (get_local $$arrayidx68)
+ (i32.store
+ (get_local $$arrayidx81)
+ (i32.const 10)
)
- )
- (set_local $$conv83
- (i32.shr_s
- (i32.shl
- (get_local $$15)
+ (set_local $$15
+ (i32.load8_s
+ (get_local $$arrayidx68)
+ )
+ )
+ (set_local $$conv83
+ (i32.shr_s
+ (i32.shl
+ (get_local $$15)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
- )
- (set_local $$sub84
- (i32.add
- (get_local $$conv83)
- (i32.const -48)
+ (set_local $$sub84
+ (i32.add
+ (get_local $$conv83)
+ (i32.const -48)
+ )
)
- )
- (set_local $$i86
- (i32.add
- (get_local $$nl_arg)
- (i32.shl
- (get_local $$sub84)
+ (set_local $$i86
+ (i32.add
+ (get_local $$nl_arg)
+ (i32.shl
+ (get_local $$sub84)
+ (i32.const 3)
+ )
+ )
+ )
+ (set_local $$16
+ (get_local $$i86)
+ )
+ (set_local $$17
+ (get_local $$16)
+ )
+ (set_local $$18
+ (i32.load
+ (get_local $$17)
+ )
+ )
+ (set_local $$19
+ (i32.add
+ (get_local $$16)
+ (i32.const 4)
+ )
+ )
+ (set_local $$20
+ (get_local $$19)
+ )
+ (set_local $$21
+ (i32.load
+ (get_local $$20)
+ )
+ )
+ (set_local $$add$ptr88
+ (i32.add
+ (get_local $$storemerge$186282)
(i32.const 3)
)
)
+ (set_local $$l10n$2
+ (i32.const 1)
+ )
+ (set_local $$storemerge$191
+ (get_local $$add$ptr88)
+ )
+ (set_local $$w$0
+ (get_local $$18)
+ )
)
- (set_local $$16
- (get_local $$i86)
+ (set_local $label
+ (i32.const 24)
)
- (set_local $$17
- (get_local $$16)
+ )
+ )
+ (set_local $label
+ (i32.const 24)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 24)
+ )
+ (block
+ (set_local $label
+ (i32.const 0)
+ )
+ (set_local $$tobool90
+ (i32.eq
+ (get_local $$l10n$1)
+ (i32.const 0)
)
- (set_local $$18
- (i32.load
- (get_local $$17)
- )
+ )
+ (if
+ (i32.eqz
+ (get_local $$tobool90)
)
- (set_local $$19
- (i32.add
- (get_local $$16)
- (i32.const 4)
+ (block
+ (set_local $$retval$0
+ (i32.const -1)
)
+ (br $label$break$L1)
)
- (set_local $$20
- (get_local $$19)
+ )
+ (if
+ (i32.eqz
+ (get_local $$tobool25)
)
- (set_local $$21
- (i32.load
- (get_local $$20)
+ (block
+ (set_local $$fl$1
+ (get_local $$fl$0284)
)
- )
- (set_local $$add$ptr88
- (i32.add
- (get_local $$storemerge$186282)
- (i32.const 3)
+ (set_local $$incdec$ptr169269
+ (get_local $$arrayidx68)
)
+ (set_local $$l10n$3
+ (i32.const 0)
+ )
+ (set_local $$w$1
+ (i32.const 0)
+ )
+ (br $do-once$12)
)
- (set_local $$l10n$2
- (i32.const 1)
- )
- (set_local $$storemerge$191
- (get_local $$add$ptr88)
+ )
+ (set_local $$arglist_current
+ (i32.load
+ (get_local $$ap)
)
- (set_local $$w$0
- (get_local $$18)
+ )
+ (set_local $$22
+ (get_local $$arglist_current)
+ )
+ (set_local $$23
+ (i32.add
+ (i32.const 0)
+ (i32.const 4)
)
)
- (set_local $label
- (i32.const 24)
+ (set_local $$expanded4
+ (get_local $$23)
)
- )
- )
- (set_local $label
- (i32.const 24)
- )
- )
- (if
- (i32.eq
- (get_local $label)
- (i32.const 24)
- )
- (block
- (set_local $label
- (i32.const 0)
- )
- (set_local $$tobool90
- (i32.eq
- (get_local $$l10n$1)
- (i32.const 0)
+ (set_local $$expanded
+ (i32.sub
+ (get_local $$expanded4)
+ (i32.const 1)
+ )
)
- )
- (if
- (i32.eqz
- (get_local $$tobool90)
+ (set_local $$24
+ (i32.add
+ (get_local $$22)
+ (get_local $$expanded)
+ )
)
- (block
- (set_local $$retval$0
- (i32.const -1)
+ (set_local $$25
+ (i32.add
+ (i32.const 0)
+ (i32.const 4)
)
- (br $label$break$L1)
)
- )
- (if
- (i32.eqz
- (get_local $$tobool25)
+ (set_local $$expanded8
+ (get_local $$25)
)
- (block
- (set_local $$fl$1
- (get_local $$fl$0284)
+ (set_local $$expanded7
+ (i32.sub
+ (get_local $$expanded8)
+ (i32.const 1)
)
- (set_local $$incdec$ptr169269
- (get_local $$arrayidx68)
+ )
+ (set_local $$expanded6
+ (i32.xor
+ (get_local $$expanded7)
+ (i32.const -1)
)
- (set_local $$l10n$3
- (i32.const 0)
+ )
+ (set_local $$26
+ (i32.and
+ (get_local $$24)
+ (get_local $$expanded6)
)
- (set_local $$w$1
- (i32.const 0)
+ )
+ (set_local $$27
+ (get_local $$26)
+ )
+ (set_local $$28
+ (i32.load
+ (get_local $$27)
)
- (br $do-once$12)
)
- )
- (set_local $$arglist_current
- (i32.load
+ (set_local $$arglist_next
+ (i32.add
+ (get_local $$27)
+ (i32.const 4)
+ )
+ )
+ (i32.store
(get_local $$ap)
+ (get_local $$arglist_next)
)
- )
- (set_local $$22
- (get_local $$arglist_current)
- )
- (set_local $$23
- (i32.add
+ (set_local $$l10n$2
(i32.const 0)
- (i32.const 4)
- )
- )
- (set_local $$expanded4
- (get_local $$23)
- )
- (set_local $$expanded
- (i32.sub
- (get_local $$expanded4)
- (i32.const 1)
)
- )
- (set_local $$24
- (i32.add
- (get_local $$22)
- (get_local $$expanded)
+ (set_local $$storemerge$191
+ (get_local $$arrayidx68)
)
- )
- (set_local $$25
- (i32.add
- (i32.const 0)
- (i32.const 4)
+ (set_local $$w$0
+ (get_local $$28)
)
)
- (set_local $$expanded8
- (get_local $$25)
+ )
+ (set_local $$cmp97
+ (i32.lt_s
+ (get_local $$w$0)
+ (i32.const 0)
)
- (set_local $$expanded7
- (i32.sub
- (get_local $$expanded8)
- (i32.const 1)
+ )
+ (if
+ (get_local $$cmp97)
+ (block
+ (set_local $$or100
+ (i32.or
+ (get_local $$fl$0284)
+ (i32.const 8192)
+ )
)
- )
- (set_local $$expanded6
- (i32.xor
- (get_local $$expanded7)
- (i32.const -1)
+ (set_local $$sub101
+ (i32.sub
+ (i32.const 0)
+ (get_local $$w$0)
+ )
)
- )
- (set_local $$26
- (i32.and
- (get_local $$24)
- (get_local $$expanded6)
+ (set_local $$fl$1
+ (get_local $$or100)
)
- )
- (set_local $$27
- (get_local $$26)
- )
- (set_local $$28
- (i32.load
- (get_local $$27)
+ (set_local $$incdec$ptr169269
+ (get_local $$storemerge$191)
)
- )
- (set_local $$arglist_next
- (i32.add
- (get_local $$27)
- (i32.const 4)
+ (set_local $$l10n$3
+ (get_local $$l10n$2)
+ )
+ (set_local $$w$1
+ (get_local $$sub101)
)
)
- (i32.store
- (get_local $$ap)
- (get_local $$arglist_next)
- )
- (set_local $$l10n$2
- (i32.const 0)
- )
- (set_local $$storemerge$191
- (get_local $$arrayidx68)
- )
- (set_local $$w$0
- (get_local $$28)
- )
- )
- )
- (set_local $$cmp97
- (i32.lt_s
- (get_local $$w$0)
- (i32.const 0)
- )
- )
- (if
- (get_local $$cmp97)
- (block
- (set_local $$or100
- (i32.or
+ (block
+ (set_local $$fl$1
(get_local $$fl$0284)
- (i32.const 8192)
)
- )
- (set_local $$sub101
- (i32.sub
- (i32.const 0)
+ (set_local $$incdec$ptr169269
+ (get_local $$storemerge$191)
+ )
+ (set_local $$l10n$3
+ (get_local $$l10n$2)
+ )
+ (set_local $$w$1
(get_local $$w$0)
)
)
- (set_local $$fl$1
- (get_local $$or100)
- )
- (set_local $$incdec$ptr169269
- (get_local $$storemerge$191)
- )
- (set_local $$l10n$3
- (get_local $$l10n$2)
- )
- (set_local $$w$1
- (get_local $$sub101)
- )
- )
- (block
- (set_local $$fl$1
- (get_local $$fl$0284)
- )
- (set_local $$incdec$ptr169269
- (get_local $$storemerge$191)
- )
- (set_local $$l10n$3
- (get_local $$l10n$2)
- )
- (set_local $$w$1
- (get_local $$w$0)
- )
)
)
- )
- (block
- (set_local $$conv$4$i
- (i32.shr_s
- (i32.shl
- (get_local $$12)
+ (block
+ (set_local $$conv$4$i
+ (i32.shr_s
+ (i32.shl
+ (get_local $$12)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
- )
- )
- (set_local $$isdigittmp$5$i
- (i32.add
- (get_local $$conv$4$i)
- (i32.const -48)
- )
- )
- (set_local $$isdigit$6$i
- (i32.lt_u
- (get_local $$isdigittmp$5$i)
- (i32.const 10)
)
- )
- (if
- (get_local $$isdigit$6$i)
- (block
- (set_local $$29
- (get_local $$storemerge$186282)
- )
- (set_local $$i$07$i
- (i32.const 0)
+ (set_local $$isdigittmp$5$i
+ (i32.add
+ (get_local $$conv$4$i)
+ (i32.const -48)
)
- (set_local $$isdigittmp8$i
+ )
+ (set_local $$isdigit$6$i
+ (i32.lt_u
(get_local $$isdigittmp$5$i)
+ (i32.const 10)
)
- (loop $while-out$14 $while-in$15
- (set_local $$mul$i
- (i32.mul
- (get_local $$i$07$i)
- (i32.const 10)
- )
- )
- (set_local $$add$i
- (i32.add
- (get_local $$mul$i)
- (get_local $$isdigittmp8$i)
- )
+ )
+ (if
+ (get_local $$isdigit$6$i)
+ (block
+ (set_local $$29
+ (get_local $$storemerge$186282)
)
- (set_local $$incdec$ptr$i
- (i32.add
- (get_local $$29)
- (i32.const 1)
- )
+ (set_local $$i$07$i
+ (i32.const 0)
)
- (set_local $$30
- (i32.load8_s
- (get_local $$incdec$ptr$i)
- )
+ (set_local $$isdigittmp8$i
+ (get_local $$isdigittmp$5$i)
)
- (set_local $$conv$i
- (i32.shr_s
- (i32.shl
- (get_local $$30)
- (i32.const 24)
+ (loop $while-in$15
+ (block $while-out$14
+ (set_local $$mul$i
+ (i32.mul
+ (get_local $$i$07$i)
+ (i32.const 10)
+ )
)
- (i32.const 24)
- )
- )
- (set_local $$isdigittmp$i
- (i32.add
- (get_local $$conv$i)
- (i32.const -48)
+ (set_local $$add$i
+ (i32.add
+ (get_local $$mul$i)
+ (get_local $$isdigittmp8$i)
+ )
+ )
+ (set_local $$incdec$ptr$i
+ (i32.add
+ (get_local $$29)
+ (i32.const 1)
+ )
+ )
+ (set_local $$30
+ (i32.load8_s
+ (get_local $$incdec$ptr$i)
+ )
+ )
+ (set_local $$conv$i
+ (i32.shr_s
+ (i32.shl
+ (get_local $$30)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ )
+ (set_local $$isdigittmp$i
+ (i32.add
+ (get_local $$conv$i)
+ (i32.const -48)
+ )
+ )
+ (set_local $$isdigit$i
+ (i32.lt_u
+ (get_local $$isdigittmp$i)
+ (i32.const 10)
+ )
+ )
+ (if
+ (get_local $$isdigit$i)
+ (block
+ (set_local $$29
+ (get_local $$incdec$ptr$i)
+ )
+ (set_local $$i$07$i
+ (get_local $$add$i)
+ )
+ (set_local $$isdigittmp8$i
+ (get_local $$isdigittmp$i)
+ )
+ )
+ (block
+ (set_local $$add$i$lcssa
+ (get_local $$add$i)
+ )
+ (set_local $$incdec$ptr$i$lcssa
+ (get_local $$incdec$ptr$i)
+ )
+ (br $while-out$14)
+ )
+ )
+ (br $while-in$15)
)
)
- (set_local $$isdigit$i
- (i32.lt_u
- (get_local $$isdigittmp$i)
- (i32.const 10)
+ (set_local $$cmp105
+ (i32.lt_s
+ (get_local $$add$i$lcssa)
+ (i32.const 0)
)
)
(if
- (get_local $$isdigit$i)
+ (get_local $$cmp105)
(block
- (set_local $$29
- (get_local $$incdec$ptr$i)
- )
- (set_local $$i$07$i
- (get_local $$add$i)
- )
- (set_local $$isdigittmp8$i
- (get_local $$isdigittmp$i)
+ (set_local $$retval$0
+ (i32.const -1)
)
+ (br $label$break$L1)
)
(block
- (set_local $$add$i$lcssa
- (get_local $$add$i)
+ (set_local $$fl$1
+ (get_local $$fl$0284)
+ )
+ (set_local $$incdec$ptr169269
+ (get_local $$incdec$ptr$i$lcssa)
)
- (set_local $$incdec$ptr$i$lcssa
- (get_local $$incdec$ptr$i)
+ (set_local $$l10n$3
+ (get_local $$l10n$1)
+ )
+ (set_local $$w$1
+ (get_local $$add$i$lcssa)
)
- (br $while-out$14)
)
)
- (br $while-in$15)
)
- (set_local $$cmp105
- (i32.lt_s
- (get_local $$add$i$lcssa)
- (i32.const 0)
+ (block
+ (set_local $$fl$1
+ (get_local $$fl$0284)
)
- )
- (if
- (get_local $$cmp105)
- (block
- (set_local $$retval$0
- (i32.const -1)
- )
- (br $label$break$L1)
+ (set_local $$incdec$ptr169269
+ (get_local $$storemerge$186282)
)
- (block
- (set_local $$fl$1
- (get_local $$fl$0284)
- )
- (set_local $$incdec$ptr169269
- (get_local $$incdec$ptr$i$lcssa)
- )
- (set_local $$l10n$3
- (get_local $$l10n$1)
- )
- (set_local $$w$1
- (get_local $$add$i$lcssa)
- )
+ (set_local $$l10n$3
+ (get_local $$l10n$1)
+ )
+ (set_local $$w$1
+ (i32.const 0)
)
- )
- )
- (block
- (set_local $$fl$1
- (get_local $$fl$0284)
- )
- (set_local $$incdec$ptr169269
- (get_local $$storemerge$186282)
- )
- (set_local $$l10n$3
- (get_local $$l10n$1)
- )
- (set_local $$w$1
- (i32.const 0)
)
)
)
)
)
- )
- (set_local $$31
- (i32.load8_s
- (get_local $$incdec$ptr169269)
+ (set_local $$31
+ (i32.load8_s
+ (get_local $$incdec$ptr169269)
+ )
)
- )
- (set_local $$cmp111
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$31)
+ (set_local $$cmp111
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$31)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 46)
)
- (i32.const 46)
)
- )
- (block $label$break$L46
- (if
- (get_local $$cmp111)
- (block
- (set_local $$arrayidx114
- (i32.add
- (get_local $$incdec$ptr169269)
- (i32.const 1)
- )
- )
- (set_local $$32
- (i32.load8_s
- (get_local $$arrayidx114)
- )
- )
- (set_local $$cmp116
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$32)
- (i32.const 24)
- )
- (i32.const 24)
+ (block $label$break$L46
+ (if
+ (get_local $$cmp111)
+ (block
+ (set_local $$arrayidx114
+ (i32.add
+ (get_local $$incdec$ptr169269)
+ (i32.const 1)
)
- (i32.const 42)
)
- )
- (if
- (i32.eqz
- (get_local $$cmp116)
+ (set_local $$32
+ (i32.load8_s
+ (get_local $$arrayidx114)
+ )
)
- (block
- (set_local $$conv$4$i$197
+ (set_local $$cmp116
+ (i32.eq
(i32.shr_s
(i32.shl
(get_local $$32)
@@ -7159,269 +7045,434 @@
)
(i32.const 24)
)
+ (i32.const 42)
)
- (set_local $$isdigittmp$5$i$198
- (i32.add
- (get_local $$conv$4$i$197)
- (i32.const -48)
- )
- )
- (set_local $$isdigit$6$i$199
- (i32.lt_u
- (get_local $$isdigittmp$5$i$198)
- (i32.const 10)
- )
- )
- (if
- (get_local $$isdigit$6$i$199)
- (block
- (set_local $$49
- (get_local $$arrayidx114)
- )
- (set_local $$i$07$i$201
- (i32.const 0)
- )
- (set_local $$isdigittmp8$i$200
- (get_local $$isdigittmp$5$i$198)
- )
- )
- (block
- (set_local $$incdec$ptr169272
- (get_local $$arrayidx114)
- )
- (set_local $$p$0
- (i32.const 0)
- )
- (br $label$break$L46)
- )
+ )
+ (if
+ (i32.eqz
+ (get_local $$cmp116)
)
- (loop $while-out$17 $while-in$18
- (set_local $$mul$i$202
- (i32.mul
- (get_local $$i$07$i$201)
- (i32.const 10)
- )
- )
- (set_local $$add$i$203
- (i32.add
- (get_local $$mul$i$202)
- (get_local $$isdigittmp8$i$200)
- )
- )
- (set_local $$incdec$ptr$i$204
- (i32.add
- (get_local $$49)
- (i32.const 1)
- )
- )
- (set_local $$50
- (i32.load8_s
- (get_local $$incdec$ptr$i$204)
- )
- )
- (set_local $$conv$i$205
+ (block
+ (set_local $$conv$4$i$197
(i32.shr_s
(i32.shl
- (get_local $$50)
+ (get_local $$32)
(i32.const 24)
)
(i32.const 24)
)
)
- (set_local $$isdigittmp$i$206
+ (set_local $$isdigittmp$5$i$198
(i32.add
- (get_local $$conv$i$205)
+ (get_local $$conv$4$i$197)
(i32.const -48)
)
)
- (set_local $$isdigit$i$207
+ (set_local $$isdigit$6$i$199
(i32.lt_u
- (get_local $$isdigittmp$i$206)
+ (get_local $$isdigittmp$5$i$198)
(i32.const 10)
)
)
(if
- (get_local $$isdigit$i$207)
+ (get_local $$isdigit$6$i$199)
(block
(set_local $$49
- (get_local $$incdec$ptr$i$204)
+ (get_local $$arrayidx114)
)
(set_local $$i$07$i$201
- (get_local $$add$i$203)
+ (i32.const 0)
)
(set_local $$isdigittmp8$i$200
- (get_local $$isdigittmp$i$206)
+ (get_local $$isdigittmp$5$i$198)
)
)
(block
(set_local $$incdec$ptr169272
- (get_local $$incdec$ptr$i$204)
+ (get_local $$arrayidx114)
)
(set_local $$p$0
- (get_local $$add$i$203)
+ (i32.const 0)
)
(br $label$break$L46)
)
)
- (br $while-in$18)
+ (loop $while-in$18
+ (block $while-out$17
+ (set_local $$mul$i$202
+ (i32.mul
+ (get_local $$i$07$i$201)
+ (i32.const 10)
+ )
+ )
+ (set_local $$add$i$203
+ (i32.add
+ (get_local $$mul$i$202)
+ (get_local $$isdigittmp8$i$200)
+ )
+ )
+ (set_local $$incdec$ptr$i$204
+ (i32.add
+ (get_local $$49)
+ (i32.const 1)
+ )
+ )
+ (set_local $$50
+ (i32.load8_s
+ (get_local $$incdec$ptr$i$204)
+ )
+ )
+ (set_local $$conv$i$205
+ (i32.shr_s
+ (i32.shl
+ (get_local $$50)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ )
+ (set_local $$isdigittmp$i$206
+ (i32.add
+ (get_local $$conv$i$205)
+ (i32.const -48)
+ )
+ )
+ (set_local $$isdigit$i$207
+ (i32.lt_u
+ (get_local $$isdigittmp$i$206)
+ (i32.const 10)
+ )
+ )
+ (if
+ (get_local $$isdigit$i$207)
+ (block
+ (set_local $$49
+ (get_local $$incdec$ptr$i$204)
+ )
+ (set_local $$i$07$i$201
+ (get_local $$add$i$203)
+ )
+ (set_local $$isdigittmp8$i$200
+ (get_local $$isdigittmp$i$206)
+ )
+ )
+ (block
+ (set_local $$incdec$ptr169272
+ (get_local $$incdec$ptr$i$204)
+ )
+ (set_local $$p$0
+ (get_local $$add$i$203)
+ )
+ (br $label$break$L46)
+ )
+ )
+ (br $while-in$18)
+ )
+ )
)
)
- )
- (set_local $$arrayidx119
- (i32.add
- (get_local $$incdec$ptr169269)
- (i32.const 2)
+ (set_local $$arrayidx119
+ (i32.add
+ (get_local $$incdec$ptr169269)
+ (i32.const 2)
+ )
)
- )
- (set_local $$33
- (i32.load8_s
- (get_local $$arrayidx119)
+ (set_local $$33
+ (i32.load8_s
+ (get_local $$arrayidx119)
+ )
)
- )
- (set_local $$conv120
- (i32.shr_s
- (i32.shl
- (get_local $$33)
+ (set_local $$conv120
+ (i32.shr_s
+ (i32.shl
+ (get_local $$33)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
- )
- (set_local $$isdigittmp187
- (i32.add
- (get_local $$conv120)
- (i32.const -48)
+ (set_local $$isdigittmp187
+ (i32.add
+ (get_local $$conv120)
+ (i32.const -48)
+ )
)
- )
- (set_local $$isdigit188
- (i32.lt_u
- (get_local $$isdigittmp187)
- (i32.const 10)
+ (set_local $$isdigit188
+ (i32.lt_u
+ (get_local $$isdigittmp187)
+ (i32.const 10)
+ )
)
- )
- (if
- (get_local $$isdigit188)
- (block
- (set_local $$arrayidx124
- (i32.add
- (get_local $$incdec$ptr169269)
- (i32.const 3)
+ (if
+ (get_local $$isdigit188)
+ (block
+ (set_local $$arrayidx124
+ (i32.add
+ (get_local $$incdec$ptr169269)
+ (i32.const 3)
+ )
)
- )
- (set_local $$34
- (i32.load8_s
- (get_local $$arrayidx124)
+ (set_local $$34
+ (i32.load8_s
+ (get_local $$arrayidx124)
+ )
)
- )
- (set_local $$cmp126
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$34)
+ (set_local $$cmp126
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$34)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 36)
)
- (i32.const 36)
)
- )
- (if
- (get_local $$cmp126)
- (block
- (set_local $$arrayidx132
- (i32.add
- (get_local $$nl_type)
- (i32.shl
- (get_local $$isdigittmp187)
- (i32.const 2)
+ (if
+ (get_local $$cmp126)
+ (block
+ (set_local $$arrayidx132
+ (i32.add
+ (get_local $$nl_type)
+ (i32.shl
+ (get_local $$isdigittmp187)
+ (i32.const 2)
+ )
)
)
- )
- (i32.store
- (get_local $$arrayidx132)
- (i32.const 10)
- )
- (set_local $$35
- (i32.load8_s
- (get_local $$arrayidx119)
+ (i32.store
+ (get_local $$arrayidx132)
+ (i32.const 10)
)
- )
- (set_local $$conv134
- (i32.shr_s
- (i32.shl
- (get_local $$35)
+ (set_local $$35
+ (i32.load8_s
+ (get_local $$arrayidx119)
+ )
+ )
+ (set_local $$conv134
+ (i32.shr_s
+ (i32.shl
+ (get_local $$35)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
- )
- (set_local $$sub135
- (i32.add
- (get_local $$conv134)
- (i32.const -48)
+ (set_local $$sub135
+ (i32.add
+ (get_local $$conv134)
+ (i32.const -48)
+ )
)
- )
- (set_local $$i137
- (i32.add
- (get_local $$nl_arg)
- (i32.shl
- (get_local $$sub135)
- (i32.const 3)
+ (set_local $$i137
+ (i32.add
+ (get_local $$nl_arg)
+ (i32.shl
+ (get_local $$sub135)
+ (i32.const 3)
+ )
+ )
+ )
+ (set_local $$36
+ (get_local $$i137)
+ )
+ (set_local $$37
+ (get_local $$36)
+ )
+ (set_local $$38
+ (i32.load
+ (get_local $$37)
+ )
+ )
+ (set_local $$39
+ (i32.add
+ (get_local $$36)
+ (i32.const 4)
+ )
+ )
+ (set_local $$40
+ (get_local $$39)
+ )
+ (set_local $$41
+ (i32.load
+ (get_local $$40)
+ )
+ )
+ (set_local $$add$ptr139
+ (i32.add
+ (get_local $$incdec$ptr169269)
+ (i32.const 4)
)
)
+ (set_local $$incdec$ptr169272
+ (get_local $$add$ptr139)
+ )
+ (set_local $$p$0
+ (get_local $$38)
+ )
+ (br $label$break$L46)
+ )
+ )
+ )
+ )
+ (set_local $$tobool141
+ (i32.eq
+ (get_local $$l10n$3)
+ (i32.const 0)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $$tobool141)
+ )
+ (block
+ (set_local $$retval$0
+ (i32.const -1)
+ )
+ (br $label$break$L1)
+ )
+ )
+ (if
+ (get_local $$tobool25)
+ (block
+ (set_local $$arglist_current2
+ (i32.load
+ (get_local $$ap)
)
- (set_local $$36
- (get_local $$i137)
+ )
+ (set_local $$42
+ (get_local $$arglist_current2)
+ )
+ (set_local $$43
+ (i32.add
+ (i32.const 0)
+ (i32.const 4)
)
- (set_local $$37
- (get_local $$36)
+ )
+ (set_local $$expanded11
+ (get_local $$43)
+ )
+ (set_local $$expanded10
+ (i32.sub
+ (get_local $$expanded11)
+ (i32.const 1)
)
- (set_local $$38
- (i32.load
- (get_local $$37)
- )
+ )
+ (set_local $$44
+ (i32.add
+ (get_local $$42)
+ (get_local $$expanded10)
)
- (set_local $$39
- (i32.add
- (get_local $$36)
- (i32.const 4)
- )
+ )
+ (set_local $$45
+ (i32.add
+ (i32.const 0)
+ (i32.const 4)
)
- (set_local $$40
- (get_local $$39)
+ )
+ (set_local $$expanded15
+ (get_local $$45)
+ )
+ (set_local $$expanded14
+ (i32.sub
+ (get_local $$expanded15)
+ (i32.const 1)
)
- (set_local $$41
- (i32.load
- (get_local $$40)
- )
+ )
+ (set_local $$expanded13
+ (i32.xor
+ (get_local $$expanded14)
+ (i32.const -1)
)
- (set_local $$add$ptr139
- (i32.add
- (get_local $$incdec$ptr169269)
- (i32.const 4)
- )
+ )
+ (set_local $$46
+ (i32.and
+ (get_local $$44)
+ (get_local $$expanded13)
)
- (set_local $$incdec$ptr169272
- (get_local $$add$ptr139)
+ )
+ (set_local $$47
+ (get_local $$46)
+ )
+ (set_local $$48
+ (i32.load
+ (get_local $$47)
)
- (set_local $$p$0
- (get_local $$38)
+ )
+ (set_local $$arglist_next3
+ (i32.add
+ (get_local $$47)
+ (i32.const 4)
)
- (br $label$break$L46)
+ )
+ (i32.store
+ (get_local $$ap)
+ (get_local $$arglist_next3)
+ )
+ (set_local $$incdec$ptr169272
+ (get_local $$arrayidx119)
+ )
+ (set_local $$p$0
+ (get_local $$48)
+ )
+ )
+ (block
+ (set_local $$incdec$ptr169272
+ (get_local $$arrayidx119)
+ )
+ (set_local $$p$0
+ (i32.const 0)
)
)
)
)
- (set_local $$tobool141
- (i32.eq
- (get_local $$l10n$3)
- (i32.const 0)
+ (block
+ (set_local $$incdec$ptr169272
+ (get_local $$incdec$ptr169269)
+ )
+ (set_local $$p$0
+ (i32.const -1)
)
)
- (if
- (i32.eqz
- (get_local $$tobool141)
+ )
+ )
+ (set_local $$incdec$ptr169271
+ (get_local $$incdec$ptr169272)
+ )
+ (set_local $$st$0
+ (i32.const 0)
+ )
+ (loop $while-in$20
+ (block $while-out$19
+ (set_local $$51
+ (i32.load8_s
+ (get_local $$incdec$ptr169271)
+ )
+ )
+ (set_local $$conv163
+ (i32.shr_s
+ (i32.shl
+ (get_local $$51)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ )
+ (set_local $$sub164
+ (i32.add
+ (get_local $$conv163)
+ (i32.const -65)
+ )
+ )
+ (set_local $$cmp165
+ (i32.gt_u
+ (get_local $$sub164)
+ (i32.const 57)
)
+ )
+ (if
+ (get_local $$cmp165)
(block
(set_local $$retval$0
(i32.const -1)
@@ -7429,145 +7480,93 @@
(br $label$break$L1)
)
)
- (if
- (get_local $$tobool25)
- (block
- (set_local $$arglist_current2
- (i32.load
- (get_local $$ap)
- )
- )
- (set_local $$42
- (get_local $$arglist_current2)
- )
- (set_local $$43
- (i32.add
- (i32.const 0)
- (i32.const 4)
- )
- )
- (set_local $$expanded11
- (get_local $$43)
- )
- (set_local $$expanded10
- (i32.sub
- (get_local $$expanded11)
- (i32.const 1)
- )
- )
- (set_local $$44
- (i32.add
- (get_local $$42)
- (get_local $$expanded10)
- )
- )
- (set_local $$45
- (i32.add
- (i32.const 0)
- (i32.const 4)
- )
- )
- (set_local $$expanded15
- (get_local $$45)
- )
- (set_local $$expanded14
- (i32.sub
- (get_local $$expanded15)
- (i32.const 1)
- )
- )
- (set_local $$expanded13
- (i32.xor
- (get_local $$expanded14)
- (i32.const -1)
- )
- )
- (set_local $$46
- (i32.and
- (get_local $$44)
- (get_local $$expanded13)
+ (set_local $$incdec$ptr169
+ (i32.add
+ (get_local $$incdec$ptr169271)
+ (i32.const 1)
+ )
+ )
+ (set_local $$arrayidx173
+ (i32.add
+ (i32.add
+ (i32.const 3611)
+ (i32.mul
+ (get_local $$st$0)
+ (i32.const 58)
)
)
- (set_local $$47
- (get_local $$46)
- )
- (set_local $$48
- (i32.load
- (get_local $$47)
- )
+ (get_local $$sub164)
+ )
+ )
+ (set_local $$52
+ (i32.load8_s
+ (get_local $$arrayidx173)
+ )
+ )
+ (set_local $$conv174
+ (i32.and
+ (get_local $$52)
+ (i32.const 255)
+ )
+ )
+ (set_local $$sub175
+ (i32.add
+ (get_local $$conv174)
+ (i32.const -1)
+ )
+ )
+ (set_local $$cmp176
+ (i32.lt_u
+ (get_local $$sub175)
+ (i32.const 8)
+ )
+ )
+ (if
+ (get_local $$cmp176)
+ (block
+ (set_local $$incdec$ptr169271
+ (get_local $$incdec$ptr169)
)
- (set_local $$arglist_next3
- (i32.add
- (get_local $$47)
- (i32.const 4)
- )
+ (set_local $$st$0
+ (get_local $$conv174)
)
- (i32.store
- (get_local $$ap)
- (get_local $$arglist_next3)
+ )
+ (block
+ (set_local $$$lcssa
+ (get_local $$52)
)
- (set_local $$incdec$ptr169272
- (get_local $$arrayidx119)
+ (set_local $$conv174$lcssa
+ (get_local $$conv174)
)
- (set_local $$p$0
- (get_local $$48)
+ (set_local $$incdec$ptr169$lcssa
+ (get_local $$incdec$ptr169)
)
- )
- (block
- (set_local $$incdec$ptr169272
- (get_local $$arrayidx119)
+ (set_local $$incdec$ptr169271$lcssa414
+ (get_local $$incdec$ptr169271)
)
- (set_local $$p$0
- (i32.const 0)
+ (set_local $$st$0$lcssa415
+ (get_local $$st$0)
)
+ (br $while-out$19)
)
)
- )
- (block
- (set_local $$incdec$ptr169272
- (get_local $$incdec$ptr169269)
- )
- (set_local $$p$0
- (i32.const -1)
- )
- )
- )
- )
- (set_local $$incdec$ptr169271
- (get_local $$incdec$ptr169272)
- )
- (set_local $$st$0
- (i32.const 0)
- )
- (loop $while-out$19 $while-in$20
- (set_local $$51
- (i32.load8_s
- (get_local $$incdec$ptr169271)
+ (br $while-in$20)
)
)
- (set_local $$conv163
- (i32.shr_s
- (i32.shl
- (get_local $$51)
+ (set_local $$tobool178
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$$lcssa)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
- )
- )
- (set_local $$sub164
- (i32.add
- (get_local $$conv163)
- (i32.const -65)
- )
- )
- (set_local $$cmp165
- (i32.gt_u
- (get_local $$sub164)
- (i32.const 57)
+ (i32.const 0)
)
)
(if
- (get_local $$cmp165)
+ (get_local $$tobool178)
(block
(set_local $$retval$0
(i32.const -1)
@@ -7575,396 +7574,329 @@
(br $label$break$L1)
)
)
- (set_local $$incdec$ptr169
- (i32.add
- (get_local $$incdec$ptr169271)
- (i32.const 1)
- )
- )
- (set_local $$arrayidx173
- (i32.add
- (i32.add
- (i32.const 3611)
- (i32.mul
- (get_local $$st$0)
- (i32.const 58)
+ (set_local $$cmp181
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$$lcssa)
+ (i32.const 24)
)
- )
- (get_local $$sub164)
- )
- )
- (set_local $$52
- (i32.load8_s
- (get_local $$arrayidx173)
- )
- )
- (set_local $$conv174
- (i32.and
- (get_local $$52)
- (i32.const 255)
- )
- )
- (set_local $$sub175
- (i32.add
- (get_local $$conv174)
- (i32.const -1)
- )
- )
- (set_local $$cmp176
- (i32.lt_u
- (get_local $$sub175)
- (i32.const 8)
- )
- )
- (if
- (get_local $$cmp176)
- (block
- (set_local $$incdec$ptr169271
- (get_local $$incdec$ptr169)
- )
- (set_local $$st$0
- (get_local $$conv174)
- )
- )
- (block
- (set_local $$$lcssa
- (get_local $$52)
- )
- (set_local $$conv174$lcssa
- (get_local $$conv174)
- )
- (set_local $$incdec$ptr169$lcssa
- (get_local $$incdec$ptr169)
- )
- (set_local $$incdec$ptr169271$lcssa414
- (get_local $$incdec$ptr169271)
- )
- (set_local $$st$0$lcssa415
- (get_local $$st$0)
- )
- (br $while-out$19)
- )
- )
- (br $while-in$20)
- )
- (set_local $$tobool178
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$$lcssa)
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 19)
)
- (i32.const 0)
)
- )
- (if
- (get_local $$tobool178)
- (block
- (set_local $$retval$0
+ (set_local $$cmp184
+ (i32.gt_s
+ (get_local $$argpos$0)
(i32.const -1)
)
- (br $label$break$L1)
- )
- )
- (set_local $$cmp181
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$$lcssa)
- (i32.const 24)
- )
- (i32.const 24)
- )
- (i32.const 19)
)
- )
- (set_local $$cmp184
- (i32.gt_s
- (get_local $$argpos$0)
- (i32.const -1)
- )
- )
- (block $do-once$21
- (if
- (get_local $$cmp181)
+ (block $do-once$21
(if
- (get_local $$cmp184)
- (block
- (set_local $$retval$0
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- (set_local $label
- (i32.const 52)
- )
- )
- (block
+ (get_local $$cmp181)
(if
(get_local $$cmp184)
(block
- (set_local $$arrayidx192
- (i32.add
- (get_local $$nl_type)
- (i32.shl
- (get_local $$argpos$0)
- (i32.const 2)
+ (set_local $$retval$0
+ (i32.const -1)
+ )
+ (br $label$break$L1)
+ )
+ (set_local $label
+ (i32.const 52)
+ )
+ )
+ (block
+ (if
+ (get_local $$cmp184)
+ (block
+ (set_local $$arrayidx192
+ (i32.add
+ (get_local $$nl_type)
+ (i32.shl
+ (get_local $$argpos$0)
+ (i32.const 2)
+ )
)
)
- )
- (i32.store
- (get_local $$arrayidx192)
- (get_local $$conv174$lcssa)
- )
- (set_local $$53
- (i32.add
- (get_local $$nl_arg)
- (i32.shl
- (get_local $$argpos$0)
- (i32.const 3)
+ (i32.store
+ (get_local $$arrayidx192)
+ (get_local $$conv174$lcssa)
+ )
+ (set_local $$53
+ (i32.add
+ (get_local $$nl_arg)
+ (i32.shl
+ (get_local $$argpos$0)
+ (i32.const 3)
+ )
)
)
- )
- (set_local $$54
- (get_local $$53)
- )
- (set_local $$55
- (get_local $$54)
- )
- (set_local $$56
- (i32.load
- (get_local $$55)
+ (set_local $$54
+ (get_local $$53)
)
- )
- (set_local $$57
- (i32.add
+ (set_local $$55
(get_local $$54)
- (i32.const 4)
)
- )
- (set_local $$58
- (get_local $$57)
- )
- (set_local $$59
- (i32.load
- (get_local $$58)
+ (set_local $$56
+ (i32.load
+ (get_local $$55)
+ )
)
- )
- (set_local $$60
- (get_local $$arg)
- )
- (set_local $$61
- (get_local $$60)
- )
- (i32.store
- (get_local $$61)
- (get_local $$56)
- )
- (set_local $$62
- (i32.add
+ (set_local $$57
+ (i32.add
+ (get_local $$54)
+ (i32.const 4)
+ )
+ )
+ (set_local $$58
+ (get_local $$57)
+ )
+ (set_local $$59
+ (i32.load
+ (get_local $$58)
+ )
+ )
+ (set_local $$60
+ (get_local $$arg)
+ )
+ (set_local $$61
(get_local $$60)
- (i32.const 4)
)
+ (i32.store
+ (get_local $$61)
+ (get_local $$56)
+ )
+ (set_local $$62
+ (i32.add
+ (get_local $$60)
+ (i32.const 4)
+ )
+ )
+ (set_local $$63
+ (get_local $$62)
+ )
+ (i32.store
+ (get_local $$63)
+ (get_local $$59)
+ )
+ (set_local $label
+ (i32.const 52)
+ )
+ (br $do-once$21)
)
- (set_local $$63
- (get_local $$62)
- )
- (i32.store
- (get_local $$63)
- (get_local $$59)
+ )
+ (if
+ (i32.eqz
+ (get_local $$tobool25)
)
- (set_local $label
- (i32.const 52)
+ (block
+ (set_local $$retval$0
+ (i32.const 0)
+ )
+ (br $label$break$L1)
)
- (br $do-once$21)
)
+ (call $_pop_arg_336
+ (get_local $$arg)
+ (get_local $$conv174$lcssa)
+ (get_local $$ap)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 52)
+ )
+ (block
+ (set_local $label
+ (i32.const 0)
)
(if
(i32.eqz
(get_local $$tobool25)
)
(block
- (set_local $$retval$0
- (i32.const 0)
+ (set_local $$cnt$0
+ (get_local $$cnt$1)
)
- (br $label$break$L1)
+ (set_local $$incdec$ptr169275
+ (get_local $$incdec$ptr169$lcssa)
+ )
+ (set_local $$l$0
+ (get_local $$sub$ptr$sub)
+ )
+ (set_local $$l10n$0
+ (get_local $$l10n$3)
+ )
+ (br $label$continue$L1)
)
)
- (call $_pop_arg_336
- (get_local $$arg)
- (get_local $$conv174$lcssa)
- (get_local $$ap)
- )
)
)
- )
- (if
- (i32.eq
- (get_local $label)
- (i32.const 52)
- )
- (block
- (set_local $label
- (i32.const 0)
- )
- (if
- (i32.eqz
- (get_local $$tobool25)
- )
- (block
- (set_local $$cnt$0
- (get_local $$cnt$1)
- )
- (set_local $$incdec$ptr169275
- (get_local $$incdec$ptr169$lcssa)
- )
- (set_local $$l$0
- (get_local $$sub$ptr$sub)
- )
- (set_local $$l10n$0
- (get_local $$l10n$3)
- )
- (br $label$continue$L1)
- )
+ (set_local $$64
+ (i32.load8_s
+ (get_local $$incdec$ptr169271$lcssa414)
)
)
- )
- (set_local $$64
- (i32.load8_s
- (get_local $$incdec$ptr169271$lcssa414)
- )
- )
- (set_local $$conv207
- (i32.shr_s
- (i32.shl
- (get_local $$64)
+ (set_local $$conv207
+ (i32.shr_s
+ (i32.shl
+ (get_local $$64)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
)
- )
- (set_local $$tobool208
- (i32.ne
- (get_local $$st$0$lcssa415)
- (i32.const 0)
+ (set_local $$tobool208
+ (i32.ne
+ (get_local $$st$0$lcssa415)
+ (i32.const 0)
+ )
)
- )
- (set_local $$and210
- (i32.and
- (get_local $$conv207)
- (i32.const 15)
+ (set_local $$and210
+ (i32.and
+ (get_local $$conv207)
+ (i32.const 15)
+ )
)
- )
- (set_local $$cmp211
- (i32.eq
- (get_local $$and210)
- (i32.const 3)
+ (set_local $$cmp211
+ (i32.eq
+ (get_local $$and210)
+ (i32.const 3)
+ )
)
- )
- (set_local $$or$cond192
- (i32.and
- (get_local $$tobool208)
- (get_local $$cmp211)
+ (set_local $$or$cond192
+ (i32.and
+ (get_local $$tobool208)
+ (get_local $$cmp211)
+ )
)
- )
- (set_local $$and214
- (i32.and
- (get_local $$conv207)
- (i32.const -33)
+ (set_local $$and214
+ (i32.and
+ (get_local $$conv207)
+ (i32.const -33)
+ )
)
- )
- (set_local $$t$0
- (if
- (get_local $$or$cond192)
- (get_local $$and214)
- (get_local $$conv207)
+ (set_local $$t$0
+ (if
+ (get_local $$or$cond192)
+ (get_local $$and214)
+ (get_local $$conv207)
+ )
)
- )
- (set_local $$and216
- (i32.and
- (get_local $$fl$1)
- (i32.const 8192)
+ (set_local $$and216
+ (i32.and
+ (get_local $$fl$1)
+ (i32.const 8192)
+ )
)
- )
- (set_local $$tobool217
- (i32.eq
- (get_local $$and216)
- (i32.const 0)
+ (set_local $$tobool217
+ (i32.eq
+ (get_local $$and216)
+ (i32.const 0)
+ )
)
- )
- (set_local $$and219
- (i32.and
- (get_local $$fl$1)
- (i32.const -65537)
+ (set_local $$and219
+ (i32.and
+ (get_local $$fl$1)
+ (i32.const -65537)
+ )
)
- )
- (set_local $$fl$1$and219
- (if
- (get_local $$tobool217)
- (get_local $$fl$1)
- (get_local $$and219)
+ (set_local $$fl$1$and219
+ (if
+ (get_local $$tobool217)
+ (get_local $$fl$1)
+ (get_local $$and219)
+ )
)
- )
- (block $label$break$L75
- (block $switch$24
- (block $switch-default$127
+ (block $label$break$L75
+ (block $switch$24
(block $switch-default$127
- (block $switch-case$126
- (block $switch-case$55
- (block $switch-case$54
- (block $switch-case$53
- (block $switch-case$52
- (block $switch-case$51
- (block $switch-case$50
- (block $switch-case$49
- (block $switch-case$48
- (block $switch-case$47
- (block $switch-case$46
- (block $switch-case$45
- (block $switch-case$44
- (block $switch-case$43
- (block $switch-case$42
- (block $switch-case$41
- (block $switch-case$40
- (block $switch-case$37
- (block $switch-case$36
- (block $switch-case$35
- (block $switch-case$34
- (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$52 $switch-case$51 $switch-case$50 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$53 $switch-default$127 $switch-case$44 $switch-case$42 $switch-case$126 $switch-case$55 $switch-case$54 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$37 $switch-default$127
- (i32.sub
- (get_local $$t$0)
- (i32.const 65)
+ (block $switch-default$127
+ (block $switch-case$126
+ (block $switch-case$55
+ (block $switch-case$54
+ (block $switch-case$53
+ (block $switch-case$52
+ (block $switch-case$51
+ (block $switch-case$50
+ (block $switch-case$49
+ (block $switch-case$48
+ (block $switch-case$47
+ (block $switch-case$46
+ (block $switch-case$45
+ (block $switch-case$44
+ (block $switch-case$43
+ (block $switch-case$42
+ (block $switch-case$41
+ (block $switch-case$40
+ (block $switch-case$37
+ (block $switch-case$36
+ (block $switch-case$35
+ (block $switch-case$34
+ (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$52 $switch-case$51 $switch-case$50 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$53 $switch-default$127 $switch-case$44 $switch-case$42 $switch-case$126 $switch-case$55 $switch-case$54 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$37 $switch-default$127
+ (i32.sub
+ (get_local $$t$0)
+ (i32.const 65)
+ )
)
)
- )
- (block
- (block $switch$25
- (block $switch-default$33
+ (block
+ (block $switch$25
(block $switch-default$33
- (block $switch-case$32
- (block $switch-case$31
- (block $switch-case$30
- (block $switch-case$29
- (block $switch-case$28
- (block $switch-case$27
- (block $switch-case$26
- (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33
- (i32.sub
- (get_local $$st$0$lcssa415)
- (i32.const 0)
+ (block $switch-default$33
+ (block $switch-case$32
+ (block $switch-case$31
+ (block $switch-case$30
+ (block $switch-case$29
+ (block $switch-case$28
+ (block $switch-case$27
+ (block $switch-case$26
+ (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33
+ (i32.sub
+ (get_local $$st$0$lcssa415)
+ (i32.const 0)
+ )
)
)
+ (block
+ (set_local $$71
+ (i32.load
+ (get_local $$arg)
+ )
+ )
+ (i32.store
+ (get_local $$71)
+ (get_local $$cnt$1)
+ )
+ (set_local $$cnt$0
+ (get_local $$cnt$1)
+ )
+ (set_local $$incdec$ptr169275
+ (get_local $$incdec$ptr169$lcssa)
+ )
+ (set_local $$l$0
+ (get_local $$sub$ptr$sub)
+ )
+ (set_local $$l10n$0
+ (get_local $$l10n$3)
+ )
+ (br $label$continue$L1)
+ (br $switch$25)
+ )
)
(block
- (set_local $$71
+ (set_local $$72
(i32.load
(get_local $$arg)
)
)
(i32.store
- (get_local $$71)
+ (get_local $$72)
(get_local $$cnt$1)
)
(set_local $$cnt$0
@@ -7984,15 +7916,49 @@
)
)
(block
- (set_local $$72
+ (set_local $$73
+ (i32.lt_s
+ (get_local $$cnt$1)
+ (i32.const 0)
+ )
+ )
+ (set_local $$74
+ (i32.shr_s
+ (i32.shl
+ (get_local $$73)
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ (set_local $$75
(i32.load
(get_local $$arg)
)
)
+ (set_local $$76
+ (get_local $$75)
+ )
+ (set_local $$77
+ (get_local $$76)
+ )
(i32.store
- (get_local $$72)
+ (get_local $$77)
(get_local $$cnt$1)
)
+ (set_local $$78
+ (i32.add
+ (get_local $$76)
+ (i32.const 4)
+ )
+ )
+ (set_local $$79
+ (get_local $$78)
+ )
+ (i32.store
+ (get_local $$79)
+ (get_local $$74)
+ )
(set_local $$cnt$0
(get_local $$cnt$1)
)
@@ -8010,48 +7976,20 @@
)
)
(block
- (set_local $$73
- (i32.lt_s
+ (set_local $$conv229
+ (i32.and
(get_local $$cnt$1)
- (i32.const 0)
- )
- )
- (set_local $$74
- (i32.shr_s
- (i32.shl
- (get_local $$73)
- (i32.const 31)
- )
- (i32.const 31)
+ (i32.const 65535)
)
)
- (set_local $$75
+ (set_local $$80
(i32.load
(get_local $$arg)
)
)
- (set_local $$76
- (get_local $$75)
- )
- (set_local $$77
- (get_local $$76)
- )
- (i32.store
- (get_local $$77)
- (get_local $$cnt$1)
- )
- (set_local $$78
- (i32.add
- (get_local $$76)
- (i32.const 4)
- )
- )
- (set_local $$79
- (get_local $$78)
- )
- (i32.store
- (get_local $$79)
- (get_local $$74)
+ (i32.store16
+ (get_local $$80)
+ (get_local $$conv229)
)
(set_local $$cnt$0
(get_local $$cnt$1)
@@ -8070,20 +8008,20 @@
)
)
(block
- (set_local $$conv229
+ (set_local $$conv232
(i32.and
(get_local $$cnt$1)
- (i32.const 65535)
+ (i32.const 255)
)
)
- (set_local $$80
+ (set_local $$81
(i32.load
(get_local $$arg)
)
)
- (i32.store16
- (get_local $$80)
- (get_local $$conv229)
+ (i32.store8
+ (get_local $$81)
+ (get_local $$conv232)
)
(set_local $$cnt$0
(get_local $$cnt$1)
@@ -8102,20 +8040,14 @@
)
)
(block
- (set_local $$conv232
- (i32.and
- (get_local $$cnt$1)
- (i32.const 255)
- )
- )
- (set_local $$81
+ (set_local $$82
(i32.load
(get_local $$arg)
)
)
- (i32.store8
- (get_local $$81)
- (get_local $$conv232)
+ (i32.store
+ (get_local $$82)
+ (get_local $$cnt$1)
)
(set_local $$cnt$0
(get_local $$cnt$1)
@@ -8134,15 +8066,49 @@
)
)
(block
- (set_local $$82
+ (set_local $$83
+ (i32.lt_s
+ (get_local $$cnt$1)
+ (i32.const 0)
+ )
+ )
+ (set_local $$84
+ (i32.shr_s
+ (i32.shl
+ (get_local $$83)
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ (set_local $$85
(i32.load
(get_local $$arg)
)
)
+ (set_local $$86
+ (get_local $$85)
+ )
+ (set_local $$87
+ (get_local $$86)
+ )
(i32.store
- (get_local $$82)
+ (get_local $$87)
(get_local $$cnt$1)
)
+ (set_local $$88
+ (i32.add
+ (get_local $$86)
+ (i32.const 4)
+ )
+ )
+ (set_local $$89
+ (get_local $$88)
+ )
+ (i32.store
+ (get_local $$89)
+ (get_local $$84)
+ )
(set_local $$cnt$0
(get_local $$cnt$1)
)
@@ -8160,49 +8126,6 @@
)
)
(block
- (set_local $$83
- (i32.lt_s
- (get_local $$cnt$1)
- (i32.const 0)
- )
- )
- (set_local $$84
- (i32.shr_s
- (i32.shl
- (get_local $$83)
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- (set_local $$85
- (i32.load
- (get_local $$arg)
- )
- )
- (set_local $$86
- (get_local $$85)
- )
- (set_local $$87
- (get_local $$86)
- )
- (i32.store
- (get_local $$87)
- (get_local $$cnt$1)
- )
- (set_local $$88
- (i32.add
- (get_local $$86)
- (i32.const 4)
- )
- )
- (set_local $$89
- (get_local $$88)
- )
- (i32.store
- (get_local $$89)
- (get_local $$84)
- )
(set_local $$cnt$0
(get_local $$cnt$1)
)
@@ -8216,589 +8139,598 @@
(get_local $$l10n$3)
)
(br $label$continue$L1)
- (br $switch$25)
- )
- )
- (block
- (set_local $$cnt$0
- (get_local $$cnt$1)
- )
- (set_local $$incdec$ptr169275
- (get_local $$incdec$ptr169$lcssa)
)
- (set_local $$l$0
- (get_local $$sub$ptr$sub)
- )
- (set_local $$l10n$0
- (get_local $$l10n$3)
- )
- (br $label$continue$L1)
)
)
+ (br $switch$24)
)
- (br $switch$24)
)
- )
- (block
- (set_local $$cmp240
- (i32.gt_u
- (get_local $$p$0)
- (i32.const 8)
+ (block
+ (set_local $$cmp240
+ (i32.gt_u
+ (get_local $$p$0)
+ (i32.const 8)
+ )
)
- )
- (set_local $$cond245
- (if
- (get_local $$cmp240)
- (get_local $$p$0)
- (i32.const 8)
+ (set_local $$cond245
+ (if
+ (get_local $$cmp240)
+ (get_local $$p$0)
+ (i32.const 8)
+ )
)
- )
- (set_local $$or246
- (i32.or
- (get_local $$fl$1$and219)
- (i32.const 8)
+ (set_local $$or246
+ (i32.or
+ (get_local $$fl$1$and219)
+ (i32.const 8)
+ )
)
+ (set_local $$fl$3
+ (get_local $$or246)
+ )
+ (set_local $$p$1
+ (get_local $$cond245)
+ )
+ (set_local $$t$1
+ (i32.const 120)
+ )
+ (set_local $label
+ (i32.const 64)
+ )
+ (br $switch$24)
)
- (set_local $$fl$3
- (get_local $$or246)
- )
- (set_local $$p$1
- (get_local $$cond245)
- )
- (set_local $$t$1
- (i32.const 120)
- )
- (set_local $label
- (i32.const 64)
- )
- (br $switch$24)
)
+ (nop)
)
- (nop)
- )
- (block
- (set_local $$fl$3
- (get_local $$fl$1$and219)
- )
- (set_local $$p$1
- (get_local $$p$0)
- )
- (set_local $$t$1
- (get_local $$t$0)
- )
- (set_local $label
- (i32.const 64)
+ (block
+ (set_local $$fl$3
+ (get_local $$fl$1$and219)
+ )
+ (set_local $$p$1
+ (get_local $$p$0)
+ )
+ (set_local $$t$1
+ (get_local $$t$0)
+ )
+ (set_local $label
+ (i32.const 64)
+ )
+ (br $switch$24)
)
- (br $switch$24)
)
- )
- (block
- (set_local $$116
- (get_local $$arg)
- )
- (set_local $$117
- (get_local $$116)
- )
- (set_local $$118
- (i32.load
- (get_local $$117)
+ (block
+ (set_local $$116
+ (get_local $$arg)
)
- )
- (set_local $$119
- (i32.add
+ (set_local $$117
(get_local $$116)
- (i32.const 4)
- )
- )
- (set_local $$120
- (get_local $$119)
- )
- (set_local $$121
- (i32.load
- (get_local $$120)
)
- )
- (set_local $$122
- (i32.eq
- (get_local $$118)
- (i32.const 0)
+ (set_local $$118
+ (i32.load
+ (get_local $$117)
+ )
)
- )
- (set_local $$123
- (i32.eq
- (get_local $$121)
- (i32.const 0)
+ (set_local $$119
+ (i32.add
+ (get_local $$116)
+ (i32.const 4)
+ )
)
- )
- (set_local $$124
- (i32.and
- (get_local $$122)
- (get_local $$123)
+ (set_local $$120
+ (get_local $$119)
)
- )
- (if
- (get_local $$124)
- (set_local $$s$addr$0$lcssa$i$229
- (get_local $$add$ptr205)
+ (set_local $$121
+ (i32.load
+ (get_local $$120)
+ )
)
- (block
- (set_local $$126
+ (set_local $$122
+ (i32.eq
(get_local $$118)
+ (i32.const 0)
)
- (set_local $$129
+ )
+ (set_local $$123
+ (i32.eq
(get_local $$121)
+ (i32.const 0)
+ )
+ )
+ (set_local $$124
+ (i32.and
+ (get_local $$122)
+ (get_local $$123)
)
- (set_local $$s$addr$06$i$221
+ )
+ (if
+ (get_local $$124)
+ (set_local $$s$addr$0$lcssa$i$229
(get_local $$add$ptr205)
)
- (loop $while-out$38 $while-in$39
- (set_local $$125
- (i32.and
- (get_local $$126)
- (i32.const 7)
- )
- )
- (set_local $$127
- (i32.or
- (get_local $$125)
- (i32.const 48)
- )
- )
- (set_local $$128
- (i32.and
- (get_local $$127)
- (i32.const 255)
- )
- )
- (set_local $$incdec$ptr$i$225
- (i32.add
- (get_local $$s$addr$06$i$221)
- (i32.const -1)
- )
- )
- (i32.store8
- (get_local $$incdec$ptr$i$225)
- (get_local $$128)
- )
- (set_local $$130
- (call $_bitshift64Lshr
- (get_local $$126)
- (get_local $$129)
- (i32.const 3)
- )
- )
- (set_local $$131
- (i32.load
- (i32.const 168)
- )
+ (block
+ (set_local $$126
+ (get_local $$118)
)
- (set_local $$132
- (i32.eq
- (get_local $$130)
- (i32.const 0)
- )
+ (set_local $$129
+ (get_local $$121)
)
- (set_local $$133
- (i32.eq
- (get_local $$131)
- (i32.const 0)
- )
- )
- (set_local $$134
- (i32.and
- (get_local $$132)
- (get_local $$133)
- )
+ (set_local $$s$addr$06$i$221
+ (get_local $$add$ptr205)
)
- (if
- (get_local $$134)
- (block
- (set_local $$s$addr$0$lcssa$i$229
- (get_local $$incdec$ptr$i$225)
+ (loop $while-in$39
+ (block $while-out$38
+ (set_local $$125
+ (i32.and
+ (get_local $$126)
+ (i32.const 7)
+ )
)
- (br $while-out$38)
- )
- (block
- (set_local $$126
- (get_local $$130)
+ (set_local $$127
+ (i32.or
+ (get_local $$125)
+ (i32.const 48)
+ )
)
- (set_local $$129
- (get_local $$131)
+ (set_local $$128
+ (i32.and
+ (get_local $$127)
+ (i32.const 255)
+ )
)
- (set_local $$s$addr$06$i$221
+ (set_local $$incdec$ptr$i$225
+ (i32.add
+ (get_local $$s$addr$06$i$221)
+ (i32.const -1)
+ )
+ )
+ (i32.store8
(get_local $$incdec$ptr$i$225)
+ (get_local $$128)
+ )
+ (set_local $$130
+ (call $_bitshift64Lshr
+ (get_local $$126)
+ (get_local $$129)
+ (i32.const 3)
+ )
+ )
+ (set_local $$131
+ (get_global $tempRet0)
+ )
+ (set_local $$132
+ (i32.eq
+ (get_local $$130)
+ (i32.const 0)
+ )
+ )
+ (set_local $$133
+ (i32.eq
+ (get_local $$131)
+ (i32.const 0)
+ )
+ )
+ (set_local $$134
+ (i32.and
+ (get_local $$132)
+ (get_local $$133)
+ )
+ )
+ (if
+ (get_local $$134)
+ (block
+ (set_local $$s$addr$0$lcssa$i$229
+ (get_local $$incdec$ptr$i$225)
+ )
+ (br $while-out$38)
+ )
+ (block
+ (set_local $$126
+ (get_local $$130)
+ )
+ (set_local $$129
+ (get_local $$131)
+ )
+ (set_local $$s$addr$06$i$221
+ (get_local $$incdec$ptr$i$225)
+ )
+ )
)
+ (br $while-in$39)
)
)
- (br $while-in$39)
)
)
- )
- (set_local $$and263
- (i32.and
- (get_local $$fl$1$and219)
- (i32.const 8)
- )
- )
- (set_local $$tobool264
- (i32.eq
- (get_local $$and263)
- (i32.const 0)
- )
- )
- (if
- (get_local $$tobool264)
- (block
- (set_local $$a$0
- (get_local $$s$addr$0$lcssa$i$229)
- )
- (set_local $$fl$4
+ (set_local $$and263
+ (i32.and
(get_local $$fl$1$and219)
+ (i32.const 8)
)
- (set_local $$p$2
- (get_local $$p$0)
- )
- (set_local $$pl$1
+ )
+ (set_local $$tobool264
+ (i32.eq
+ (get_local $$and263)
(i32.const 0)
)
- (set_local $$prefix$1
- (i32.const 4091)
- )
- (set_local $label
- (i32.const 77)
- )
)
- (block
- (set_local $$sub$ptr$rhs$cast267
- (get_local $$s$addr$0$lcssa$i$229)
- )
- (set_local $$sub$ptr$sub268
- (i32.sub
- (get_local $$sub$ptr$lhs$cast317)
- (get_local $$sub$ptr$rhs$cast267)
+ (if
+ (get_local $$tobool264)
+ (block
+ (set_local $$a$0
+ (get_local $$s$addr$0$lcssa$i$229)
)
- )
- (set_local $$add269
- (i32.add
- (get_local $$sub$ptr$sub268)
- (i32.const 1)
+ (set_local $$fl$4
+ (get_local $$fl$1$and219)
)
- )
- (set_local $$cmp270
- (i32.lt_s
+ (set_local $$p$2
(get_local $$p$0)
- (get_local $$add269)
+ )
+ (set_local $$pl$1
+ (i32.const 0)
+ )
+ (set_local $$prefix$1
+ (i32.const 4091)
+ )
+ (set_local $label
+ (i32.const 77)
)
)
- (set_local $$add269$p$0
- (if
- (get_local $$cmp270)
- (get_local $$add269)
- (get_local $$p$0)
+ (block
+ (set_local $$sub$ptr$rhs$cast267
+ (get_local $$s$addr$0$lcssa$i$229)
+ )
+ (set_local $$sub$ptr$sub268
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast317)
+ (get_local $$sub$ptr$rhs$cast267)
+ )
+ )
+ (set_local $$add269
+ (i32.add
+ (get_local $$sub$ptr$sub268)
+ (i32.const 1)
+ )
+ )
+ (set_local $$cmp270
+ (i32.lt_s
+ (get_local $$p$0)
+ (get_local $$add269)
+ )
+ )
+ (set_local $$add269$p$0
+ (if
+ (get_local $$cmp270)
+ (get_local $$add269)
+ (get_local $$p$0)
+ )
+ )
+ (set_local $$a$0
+ (get_local $$s$addr$0$lcssa$i$229)
+ )
+ (set_local $$fl$4
+ (get_local $$fl$1$and219)
+ )
+ (set_local $$p$2
+ (get_local $$add269$p$0)
+ )
+ (set_local $$pl$1
+ (i32.const 0)
+ )
+ (set_local $$prefix$1
+ (i32.const 4091)
+ )
+ (set_local $label
+ (i32.const 77)
)
)
- (set_local $$a$0
- (get_local $$s$addr$0$lcssa$i$229)
+ )
+ (br $switch$24)
+ )
+ )
+ (nop)
+ )
+ (block
+ (set_local $$135
+ (get_local $$arg)
+ )
+ (set_local $$136
+ (get_local $$135)
+ )
+ (set_local $$137
+ (i32.load
+ (get_local $$136)
+ )
+ )
+ (set_local $$138
+ (i32.add
+ (get_local $$135)
+ (i32.const 4)
+ )
+ )
+ (set_local $$139
+ (get_local $$138)
+ )
+ (set_local $$140
+ (i32.load
+ (get_local $$139)
+ )
+ )
+ (set_local $$141
+ (i32.lt_s
+ (get_local $$140)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$141)
+ (block
+ (set_local $$142
+ (call $_i64Subtract
+ (i32.const 0)
+ (i32.const 0)
+ (get_local $$137)
+ (get_local $$140)
)
- (set_local $$fl$4
- (get_local $$fl$1$and219)
+ )
+ (set_local $$143
+ (get_global $tempRet0)
+ )
+ (set_local $$144
+ (get_local $$arg)
+ )
+ (set_local $$145
+ (get_local $$144)
+ )
+ (i32.store
+ (get_local $$145)
+ (get_local $$142)
+ )
+ (set_local $$146
+ (i32.add
+ (get_local $$144)
+ (i32.const 4)
)
- (set_local $$p$2
- (get_local $$add269$p$0)
+ )
+ (set_local $$147
+ (get_local $$146)
+ )
+ (i32.store
+ (get_local $$147)
+ (get_local $$143)
+ )
+ (set_local $$148
+ (get_local $$142)
+ )
+ (set_local $$149
+ (get_local $$143)
+ )
+ (set_local $$pl$0
+ (i32.const 1)
+ )
+ (set_local $$prefix$0
+ (i32.const 4091)
+ )
+ (set_local $label
+ (i32.const 76)
+ )
+ (br $label$break$L75)
+ )
+ )
+ (set_local $$and289
+ (i32.and
+ (get_local $$fl$1$and219)
+ (i32.const 2048)
+ )
+ )
+ (set_local $$tobool290
+ (i32.eq
+ (get_local $$and289)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool290)
+ (block
+ (set_local $$and294
+ (i32.and
+ (get_local $$fl$1$and219)
+ (i32.const 1)
)
- (set_local $$pl$1
+ )
+ (set_local $$tobool295
+ (i32.eq
+ (get_local $$and294)
(i32.const 0)
)
- (set_local $$prefix$1
+ )
+ (set_local $$$
+ (if
+ (get_local $$tobool295)
(i32.const 4091)
+ (i32.const 4093)
)
- (set_local $label
- (i32.const 77)
- )
+ )
+ (set_local $$148
+ (get_local $$137)
+ )
+ (set_local $$149
+ (get_local $$140)
+ )
+ (set_local $$pl$0
+ (get_local $$and294)
+ )
+ (set_local $$prefix$0
+ (get_local $$$)
+ )
+ (set_local $label
+ (i32.const 76)
+ )
+ )
+ (block
+ (set_local $$148
+ (get_local $$137)
+ )
+ (set_local $$149
+ (get_local $$140)
+ )
+ (set_local $$pl$0
+ (i32.const 1)
+ )
+ (set_local $$prefix$0
+ (i32.const 4092)
+ )
+ (set_local $label
+ (i32.const 76)
)
)
- (br $switch$24)
)
+ (br $switch$24)
)
- (nop)
)
(block
- (set_local $$135
+ (set_local $$65
(get_local $$arg)
)
- (set_local $$136
- (get_local $$135)
+ (set_local $$66
+ (get_local $$65)
)
- (set_local $$137
+ (set_local $$67
(i32.load
- (get_local $$136)
+ (get_local $$66)
)
)
- (set_local $$138
+ (set_local $$68
(i32.add
- (get_local $$135)
+ (get_local $$65)
(i32.const 4)
)
)
- (set_local $$139
- (get_local $$138)
+ (set_local $$69
+ (get_local $$68)
)
- (set_local $$140
+ (set_local $$70
(i32.load
- (get_local $$139)
+ (get_local $$69)
)
)
- (set_local $$141
- (i32.lt_s
- (get_local $$140)
- (i32.const 0)
- )
+ (set_local $$148
+ (get_local $$67)
)
- (if
- (get_local $$141)
- (block
- (set_local $$142
- (call $_i64Subtract
- (i32.const 0)
- (i32.const 0)
- (get_local $$137)
- (get_local $$140)
- )
- )
- (set_local $$143
- (i32.load
- (i32.const 168)
- )
- )
- (set_local $$144
- (get_local $$arg)
- )
- (set_local $$145
- (get_local $$144)
- )
- (i32.store
- (get_local $$145)
- (get_local $$142)
- )
- (set_local $$146
- (i32.add
- (get_local $$144)
- (i32.const 4)
- )
- )
- (set_local $$147
- (get_local $$146)
- )
- (i32.store
- (get_local $$147)
- (get_local $$143)
- )
- (set_local $$148
- (get_local $$142)
- )
- (set_local $$149
- (get_local $$143)
- )
- (set_local $$pl$0
- (i32.const 1)
- )
- (set_local $$prefix$0
- (i32.const 4091)
- )
- (set_local $label
- (i32.const 76)
- )
- (br $label$break$L75)
- )
+ (set_local $$149
+ (get_local $$70)
)
- (set_local $$and289
- (i32.and
- (get_local $$fl$1$and219)
- (i32.const 2048)
- )
+ (set_local $$pl$0
+ (i32.const 0)
)
- (set_local $$tobool290
- (i32.eq
- (get_local $$and289)
- (i32.const 0)
- )
+ (set_local $$prefix$0
+ (i32.const 4091)
)
- (if
- (get_local $$tobool290)
- (block
- (set_local $$and294
- (i32.and
- (get_local $$fl$1$and219)
- (i32.const 1)
- )
- )
- (set_local $$tobool295
- (i32.eq
- (get_local $$and294)
- (i32.const 0)
- )
- )
- (set_local $$$
- (if
- (get_local $$tobool295)
- (i32.const 4091)
- (i32.const 4093)
- )
- )
- (set_local $$148
- (get_local $$137)
- )
- (set_local $$149
- (get_local $$140)
- )
- (set_local $$pl$0
- (get_local $$and294)
- )
- (set_local $$prefix$0
- (get_local $$$)
- )
- (set_local $label
- (i32.const 76)
- )
- )
- (block
- (set_local $$148
- (get_local $$137)
- )
- (set_local $$149
- (get_local $$140)
- )
- (set_local $$pl$0
- (i32.const 1)
- )
- (set_local $$prefix$0
- (i32.const 4092)
- )
- (set_local $label
- (i32.const 76)
- )
- )
+ (set_local $label
+ (i32.const 76)
)
(br $switch$24)
)
)
(block
- (set_local $$65
+ (set_local $$161
(get_local $$arg)
)
- (set_local $$66
- (get_local $$65)
+ (set_local $$162
+ (get_local $$161)
)
- (set_local $$67
+ (set_local $$163
(i32.load
- (get_local $$66)
+ (get_local $$162)
)
)
- (set_local $$68
+ (set_local $$164
(i32.add
- (get_local $$65)
+ (get_local $$161)
(i32.const 4)
)
)
- (set_local $$69
- (get_local $$68)
+ (set_local $$165
+ (get_local $$164)
)
- (set_local $$70
+ (set_local $$166
(i32.load
- (get_local $$69)
+ (get_local $$165)
)
)
- (set_local $$148
- (get_local $$67)
+ (set_local $$167
+ (i32.and
+ (get_local $$163)
+ (i32.const 255)
+ )
+ )
+ (i32.store8
+ (get_local $$add$ptr340)
+ (get_local $$167)
+ )
+ (set_local $$a$2
+ (get_local $$add$ptr340)
+ )
+ (set_local $$fl$6
+ (get_local $$and219)
)
- (set_local $$149
- (get_local $$70)
+ (set_local $$p$5
+ (i32.const 1)
)
- (set_local $$pl$0
+ (set_local $$pl$2
(i32.const 0)
)
- (set_local $$prefix$0
+ (set_local $$prefix$2
(i32.const 4091)
)
- (set_local $label
- (i32.const 76)
+ (set_local $$z$2
+ (get_local $$add$ptr205)
)
(br $switch$24)
)
)
(block
- (set_local $$161
- (get_local $$arg)
- )
- (set_local $$162
- (get_local $$161)
+ (set_local $$call344
+ (call $___errno_location)
)
- (set_local $$163
+ (set_local $$168
(i32.load
- (get_local $$162)
+ (get_local $$call344)
)
)
- (set_local $$164
- (i32.add
- (get_local $$161)
- (i32.const 4)
- )
- )
- (set_local $$165
- (get_local $$164)
- )
- (set_local $$166
- (i32.load
- (get_local $$165)
- )
- )
- (set_local $$167
- (i32.and
- (get_local $$163)
- (i32.const 255)
+ (set_local $$call345
+ (call $_strerror
+ (get_local $$168)
)
)
- (i32.store8
- (get_local $$add$ptr340)
- (get_local $$167)
- )
- (set_local $$a$2
- (get_local $$add$ptr340)
- )
- (set_local $$fl$6
- (get_local $$and219)
- )
- (set_local $$p$5
- (i32.const 1)
- )
- (set_local $$pl$2
- (i32.const 0)
+ (set_local $$a$1
+ (get_local $$call345)
)
- (set_local $$prefix$2
- (i32.const 4091)
- )
- (set_local $$z$2
- (get_local $$add$ptr205)
+ (set_local $label
+ (i32.const 82)
)
(br $switch$24)
)
)
(block
- (set_local $$call344
- (call $___errno_location)
- )
- (set_local $$168
+ (set_local $$169
(i32.load
- (get_local $$call344)
+ (get_local $$arg)
)
)
- (set_local $$call345
- (call $_strerror
- (get_local $$168)
+ (set_local $$tobool349
+ (i32.ne
+ (get_local $$169)
+ (i32.const 0)
+ )
+ )
+ (set_local $$cond354
+ (if
+ (get_local $$tobool349)
+ (get_local $$169)
+ (i32.const 4101)
)
)
(set_local $$a$1
- (get_local $$call345)
+ (get_local $$cond354)
)
(set_local $label
(i32.const 82)
@@ -8807,115 +8739,89 @@
)
)
(block
- (set_local $$169
+ (set_local $$170
+ (get_local $$arg)
+ )
+ (set_local $$171
+ (get_local $$170)
+ )
+ (set_local $$172
(i32.load
- (get_local $$arg)
+ (get_local $$171)
)
)
- (set_local $$tobool349
- (i32.ne
- (get_local $$169)
- (i32.const 0)
+ (set_local $$173
+ (i32.add
+ (get_local $$170)
+ (i32.const 4)
)
)
- (set_local $$cond354
- (if
- (get_local $$tobool349)
- (get_local $$169)
- (i32.const 4101)
+ (set_local $$174
+ (get_local $$173)
+ )
+ (set_local $$175
+ (i32.load
+ (get_local $$174)
)
)
- (set_local $$a$1
- (get_local $$cond354)
+ (i32.store
+ (get_local $$wc)
+ (get_local $$172)
)
- (set_local $label
- (i32.const 82)
+ (i32.store
+ (get_local $$arrayidx370)
+ (i32.const 0)
)
- (br $switch$24)
- )
- )
- (block
- (set_local $$170
- (get_local $$arg)
- )
- (set_local $$171
- (get_local $$170)
- )
- (set_local $$172
- (i32.load
- (get_local $$171)
+ (i32.store
+ (get_local $$arg)
+ (get_local $$wc)
)
- )
- (set_local $$173
- (i32.add
- (get_local $$170)
- (i32.const 4)
+ (set_local $$p$4365
+ (i32.const -1)
)
- )
- (set_local $$174
- (get_local $$173)
- )
- (set_local $$175
- (i32.load
- (get_local $$174)
+ (set_local $label
+ (i32.const 86)
)
- )
- (i32.store
- (get_local $$wc)
- (get_local $$172)
- )
- (i32.store
- (get_local $$arrayidx370)
- (i32.const 0)
- )
- (i32.store
- (get_local $$arg)
- (get_local $$wc)
- )
- (set_local $$p$4365
- (i32.const -1)
- )
- (set_local $label
- (i32.const 86)
- )
- (br $switch$24)
- )
- )
- (block
- (set_local $$cmp377$314
- (i32.eq
- (get_local $$p$0)
- (i32.const 0)
+ (br $switch$24)
)
)
- (if
- (get_local $$cmp377$314)
- (block
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (i32.const 0)
- (get_local $$fl$1$and219)
- )
- (set_local $$i$0$lcssa368
+ (block
+ (set_local $$cmp377$314
+ (i32.eq
+ (get_local $$p$0)
(i32.const 0)
)
- (set_local $label
- (i32.const 98)
- )
)
- (block
- (set_local $$p$4365
- (get_local $$p$0)
+ (if
+ (get_local $$cmp377$314)
+ (block
+ (call $_pad
+ (get_local $$f)
+ (i32.const 32)
+ (get_local $$w$1)
+ (i32.const 0)
+ (get_local $$fl$1$and219)
+ )
+ (set_local $$i$0$lcssa368
+ (i32.const 0)
+ )
+ (set_local $label
+ (i32.const 98)
+ )
)
- (set_local $label
- (i32.const 86)
+ (block
+ (set_local $$p$4365
+ (get_local $$p$0)
+ )
+ (set_local $label
+ (i32.const 86)
+ )
)
)
+ (br $switch$24)
)
- (br $switch$24)
)
+ (nop)
)
(nop)
)
@@ -8929,2467 +8835,2425 @@
)
(nop)
)
- (nop)
- )
- (block
- (set_local $$181
- (f64.load
- (get_local $$arg)
+ (block
+ (set_local $$181
+ (f64.load
+ (get_local $$arg)
+ )
)
- )
- (i32.store
- (get_local $$e2$i)
- (i32.const 0)
- )
- (f64.store
- (i32.load
- (i32.const 24)
+ (i32.store
+ (get_local $$e2$i)
+ (i32.const 0)
)
- (get_local $$181)
- )
- (set_local $$182
- (i32.load
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $$181)
+ )
+ (set_local $$182
(i32.load
- (i32.const 24)
+ (get_global $tempDoublePtr)
)
)
- )
- (set_local $$183
- (i32.load
- (i32.add
- (i32.load
- (i32.const 24)
+ (set_local $$183
+ (i32.load
+ (i32.add
+ (get_global $tempDoublePtr)
+ (i32.const 4)
)
- (i32.const 4)
)
)
- )
- (set_local $$184
- (i32.lt_s
- (get_local $$183)
- (i32.const 0)
- )
- )
- (if
- (get_local $$184)
- (block
- (set_local $$sub$i
- (f64.neg
- (get_local $$181)
- )
- )
- (set_local $$pl$0$i
- (i32.const 1)
- )
- (set_local $$prefix$0$i
- (i32.const 4108)
- )
- (set_local $$y$addr$0$i
- (get_local $$sub$i)
+ (set_local $$184
+ (i32.lt_s
+ (get_local $$183)
+ (i32.const 0)
)
)
- (block
- (set_local $$and$i$238
- (i32.and
- (get_local $$fl$1$and219)
- (i32.const 2048)
+ (if
+ (get_local $$184)
+ (block
+ (set_local $$sub$i
+ (f64.neg
+ (get_local $$181)
+ )
)
- )
- (set_local $$tobool9$i
- (i32.eq
- (get_local $$and$i$238)
- (i32.const 0)
+ (set_local $$pl$0$i
+ (i32.const 1)
+ )
+ (set_local $$prefix$0$i
+ (i32.const 4108)
+ )
+ (set_local $$y$addr$0$i
+ (get_local $$sub$i)
)
)
- (if
- (get_local $$tobool9$i)
- (block
- (set_local $$and12$i
- (i32.and
- (get_local $$fl$1$and219)
- (i32.const 1)
- )
+ (block
+ (set_local $$and$i$238
+ (i32.and
+ (get_local $$fl$1$and219)
+ (i32.const 2048)
)
- (set_local $$tobool13$i
- (i32.eq
+ )
+ (set_local $$tobool9$i
+ (i32.eq
+ (get_local $$and$i$238)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool9$i)
+ (block
+ (set_local $$and12$i
+ (i32.and
+ (get_local $$fl$1$and219)
+ (i32.const 1)
+ )
+ )
+ (set_local $$tobool13$i
+ (i32.eq
+ (get_local $$and12$i)
+ (i32.const 0)
+ )
+ )
+ (set_local $$$$i
+ (if
+ (get_local $$tobool13$i)
+ (i32.const 4109)
+ (i32.const 4114)
+ )
+ )
+ (set_local $$pl$0$i
(get_local $$and12$i)
- (i32.const 0)
)
- )
- (set_local $$$$i
- (if
- (get_local $$tobool13$i)
- (i32.const 4109)
- (i32.const 4114)
+ (set_local $$prefix$0$i
+ (get_local $$$$i)
+ )
+ (set_local $$y$addr$0$i
+ (get_local $$181)
)
)
- (set_local $$pl$0$i
- (get_local $$and12$i)
- )
- (set_local $$prefix$0$i
- (get_local $$$$i)
- )
- (set_local $$y$addr$0$i
- (get_local $$181)
- )
- )
- (block
- (set_local $$pl$0$i
- (i32.const 1)
- )
- (set_local $$prefix$0$i
- (i32.const 4111)
- )
- (set_local $$y$addr$0$i
- (get_local $$181)
+ (block
+ (set_local $$pl$0$i
+ (i32.const 1)
+ )
+ (set_local $$prefix$0$i
+ (i32.const 4111)
+ )
+ (set_local $$y$addr$0$i
+ (get_local $$181)
+ )
)
)
)
)
- )
- (f64.store
- (i32.load
- (i32.const 24)
+ (f64.store
+ (get_global $tempDoublePtr)
+ (get_local $$y$addr$0$i)
)
- (get_local $$y$addr$0$i)
- )
- (set_local $$185
- (i32.load
+ (set_local $$185
(i32.load
- (i32.const 24)
+ (get_global $tempDoublePtr)
)
)
- )
- (set_local $$186
- (i32.load
- (i32.add
- (i32.load
- (i32.const 24)
+ (set_local $$186
+ (i32.load
+ (i32.add
+ (get_global $tempDoublePtr)
+ (i32.const 4)
)
- (i32.const 4)
)
)
- )
- (set_local $$187
- (i32.and
- (get_local $$186)
- (i32.const 2146435072)
+ (set_local $$187
+ (i32.and
+ (get_local $$186)
+ (i32.const 2146435072)
+ )
)
- )
- (set_local $$188
- (i32.lt_u
- (get_local $$187)
- (i32.const 2146435072)
+ (set_local $$188
+ (i32.lt_u
+ (get_local $$187)
+ (i32.const 2146435072)
+ )
)
- )
- (set_local $$189
- (i32.lt_s
- (i32.const 0)
- (i32.const 0)
+ (set_local $$189
+ (i32.lt_s
+ (i32.const 0)
+ (i32.const 0)
+ )
)
- )
- (set_local $$190
- (i32.eq
- (get_local $$187)
- (i32.const 2146435072)
+ (set_local $$190
+ (i32.eq
+ (get_local $$187)
+ (i32.const 2146435072)
+ )
)
- )
- (set_local $$191
- (i32.and
- (get_local $$190)
- (get_local $$189)
+ (set_local $$191
+ (i32.and
+ (get_local $$190)
+ (get_local $$189)
+ )
)
- )
- (set_local $$192
- (i32.or
- (get_local $$188)
- (get_local $$191)
+ (set_local $$192
+ (i32.or
+ (get_local $$188)
+ (get_local $$191)
+ )
)
- )
- (block $do-once$56
- (if
- (get_local $$192)
- (block
- (set_local $$call55$i
- (call $_frexpl
- (get_local $$y$addr$0$i)
- (get_local $$e2$i)
+ (block $do-once$56
+ (if
+ (get_local $$192)
+ (block
+ (set_local $$call55$i
+ (call $_frexpl
+ (get_local $$y$addr$0$i)
+ (get_local $$e2$i)
+ )
)
- )
- (set_local $$mul$i$240
- (f64.mul
- (get_local $$call55$i)
- (f64.const 2)
+ (set_local $$mul$i$240
+ (f64.mul
+ (get_local $$call55$i)
+ (f64.const 2)
+ )
)
- )
- (set_local $$tobool56$i
- (f64.ne
- (get_local $$mul$i$240)
- (f64.const 0)
+ (set_local $$tobool56$i
+ (f64.ne
+ (get_local $$mul$i$240)
+ (f64.const 0)
+ )
)
- )
- (if
- (get_local $$tobool56$i)
- (block
- (set_local $$195
- (i32.load
- (get_local $$e2$i)
+ (if
+ (get_local $$tobool56$i)
+ (block
+ (set_local $$195
+ (i32.load
+ (get_local $$e2$i)
+ )
)
- )
- (set_local $$dec$i
- (i32.add
- (get_local $$195)
- (i32.const -1)
+ (set_local $$dec$i
+ (i32.add
+ (get_local $$195)
+ (i32.const -1)
+ )
+ )
+ (i32.store
+ (get_local $$e2$i)
+ (get_local $$dec$i)
)
- )
- (i32.store
- (get_local $$e2$i)
- (get_local $$dec$i)
)
)
- )
- (set_local $$or$i$241
- (i32.or
- (get_local $$t$0)
- (i32.const 32)
- )
- )
- (set_local $$cmp59$i
- (i32.eq
- (get_local $$or$i$241)
- (i32.const 97)
+ (set_local $$or$i$241
+ (i32.or
+ (get_local $$t$0)
+ (i32.const 32)
+ )
)
- )
- (if
- (get_local $$cmp59$i)
- (block
- (set_local $$and62$i
- (i32.and
- (get_local $$t$0)
- (i32.const 32)
- )
+ (set_local $$cmp59$i
+ (i32.eq
+ (get_local $$or$i$241)
+ (i32.const 97)
)
- (set_local $$tobool63$i
- (i32.eq
- (get_local $$and62$i)
- (i32.const 0)
+ )
+ (if
+ (get_local $$cmp59$i)
+ (block
+ (set_local $$and62$i
+ (i32.and
+ (get_local $$t$0)
+ (i32.const 32)
+ )
)
- )
- (set_local $$add$ptr65$i
- (i32.add
- (get_local $$prefix$0$i)
- (i32.const 9)
+ (set_local $$tobool63$i
+ (i32.eq
+ (get_local $$and62$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$prefix$0$add$ptr65$i
- (if
- (get_local $$tobool63$i)
- (get_local $$prefix$0$i)
- (get_local $$add$ptr65$i)
+ (set_local $$add$ptr65$i
+ (i32.add
+ (get_local $$prefix$0$i)
+ (i32.const 9)
+ )
)
- )
- (set_local $$add67$i
- (i32.or
- (get_local $$pl$0$i)
- (i32.const 2)
+ (set_local $$prefix$0$add$ptr65$i
+ (if
+ (get_local $$tobool63$i)
+ (get_local $$prefix$0$i)
+ (get_local $$add$ptr65$i)
+ )
)
- )
- (set_local $$196
- (i32.gt_u
- (get_local $$p$0)
- (i32.const 11)
+ (set_local $$add67$i
+ (i32.or
+ (get_local $$pl$0$i)
+ (i32.const 2)
+ )
)
- )
- (set_local $$sub74$i
- (i32.sub
- (i32.const 12)
- (get_local $$p$0)
+ (set_local $$196
+ (i32.gt_u
+ (get_local $$p$0)
+ (i32.const 11)
+ )
)
- )
- (set_local $$tobool76552$i
- (i32.eq
- (get_local $$sub74$i)
- (i32.const 0)
+ (set_local $$sub74$i
+ (i32.sub
+ (i32.const 12)
+ (get_local $$p$0)
+ )
)
- )
- (set_local $$tobool76$i
- (i32.or
- (get_local $$196)
- (get_local $$tobool76552$i)
+ (set_local $$tobool76552$i
+ (i32.eq
+ (get_local $$sub74$i)
+ (i32.const 0)
+ )
)
- )
- (block $do-once$58
- (if
- (get_local $$tobool76$i)
- (set_local $$y$addr$1$i
- (get_local $$mul$i$240)
+ (set_local $$tobool76$i
+ (i32.or
+ (get_local $$196)
+ (get_local $$tobool76552$i)
)
- (block
- (set_local $$re$1482$i
- (get_local $$sub74$i)
- )
- (set_local $$round$0481$i
- (f64.const 8)
+ )
+ (block $do-once$58
+ (if
+ (get_local $$tobool76$i)
+ (set_local $$y$addr$1$i
+ (get_local $$mul$i$240)
)
- (loop $while-out$60 $while-in$61
- (set_local $$dec78$i
- (i32.add
- (get_local $$re$1482$i)
- (i32.const -1)
- )
- )
- (set_local $$mul80$i
- (f64.mul
- (get_local $$round$0481$i)
- (f64.const 16)
- )
+ (block
+ (set_local $$re$1482$i
+ (get_local $$sub74$i)
)
- (set_local $$tobool79$i
- (i32.eq
- (get_local $$dec78$i)
- (i32.const 0)
- )
+ (set_local $$round$0481$i
+ (f64.const 8)
)
- (if
- (get_local $$tobool79$i)
- (block
- (set_local $$mul80$i$lcssa
- (get_local $$mul80$i)
+ (loop $while-in$61
+ (block $while-out$60
+ (set_local $$dec78$i
+ (i32.add
+ (get_local $$re$1482$i)
+ (i32.const -1)
+ )
)
- (br $while-out$60)
- )
- (block
- (set_local $$re$1482$i
- (get_local $$dec78$i)
+ (set_local $$mul80$i
+ (f64.mul
+ (get_local $$round$0481$i)
+ (f64.const 16)
+ )
+ )
+ (set_local $$tobool79$i
+ (i32.eq
+ (get_local $$dec78$i)
+ (i32.const 0)
+ )
)
- (set_local $$round$0481$i
- (get_local $$mul80$i)
+ (if
+ (get_local $$tobool79$i)
+ (block
+ (set_local $$mul80$i$lcssa
+ (get_local $$mul80$i)
+ )
+ (br $while-out$60)
+ )
+ (block
+ (set_local $$re$1482$i
+ (get_local $$dec78$i)
+ )
+ (set_local $$round$0481$i
+ (get_local $$mul80$i)
+ )
+ )
)
+ (br $while-in$61)
)
)
- (br $while-in$61)
- )
- (set_local $$197
- (i32.load8_s
- (get_local $$prefix$0$add$ptr65$i)
+ (set_local $$197
+ (i32.load8_s
+ (get_local $$prefix$0$add$ptr65$i)
+ )
)
- )
- (set_local $$cmp82$i
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$197)
+ (set_local $$cmp82$i
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$197)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 45)
)
- (i32.const 45)
)
- )
- (if
- (get_local $$cmp82$i)
- (block
- (set_local $$sub85$i
- (f64.neg
- (get_local $$mul$i$240)
+ (if
+ (get_local $$cmp82$i)
+ (block
+ (set_local $$sub85$i
+ (f64.neg
+ (get_local $$mul$i$240)
+ )
)
- )
- (set_local $$sub86$i
- (f64.sub
- (get_local $$sub85$i)
- (get_local $$mul80$i$lcssa)
+ (set_local $$sub86$i
+ (f64.sub
+ (get_local $$sub85$i)
+ (get_local $$mul80$i$lcssa)
+ )
)
- )
- (set_local $$add87$i
- (f64.add
- (get_local $$mul80$i$lcssa)
- (get_local $$sub86$i)
+ (set_local $$add87$i
+ (f64.add
+ (get_local $$mul80$i$lcssa)
+ (get_local $$sub86$i)
+ )
)
- )
- (set_local $$sub88$i
- (f64.neg
- (get_local $$add87$i)
+ (set_local $$sub88$i
+ (f64.neg
+ (get_local $$add87$i)
+ )
)
- )
- (set_local $$y$addr$1$i
- (get_local $$sub88$i)
- )
- (br $do-once$58)
- )
- (block
- (set_local $$add90$i
- (f64.add
- (get_local $$mul$i$240)
- (get_local $$mul80$i$lcssa)
+ (set_local $$y$addr$1$i
+ (get_local $$sub88$i)
)
+ (br $do-once$58)
)
- (set_local $$sub91$i
- (f64.sub
- (get_local $$add90$i)
- (get_local $$mul80$i$lcssa)
+ (block
+ (set_local $$add90$i
+ (f64.add
+ (get_local $$mul$i$240)
+ (get_local $$mul80$i$lcssa)
+ )
)
+ (set_local $$sub91$i
+ (f64.sub
+ (get_local $$add90$i)
+ (get_local $$mul80$i$lcssa)
+ )
+ )
+ (set_local $$y$addr$1$i
+ (get_local $$sub91$i)
+ )
+ (br $do-once$58)
)
- (set_local $$y$addr$1$i
- (get_local $$sub91$i)
- )
- (br $do-once$58)
)
)
)
)
- )
- (set_local $$198
- (i32.load
- (get_local $$e2$i)
+ (set_local $$198
+ (i32.load
+ (get_local $$e2$i)
+ )
)
- )
- (set_local $$cmp94$i
- (i32.lt_s
- (get_local $$198)
- (i32.const 0)
+ (set_local $$cmp94$i
+ (i32.lt_s
+ (get_local $$198)
+ (i32.const 0)
+ )
)
- )
- (set_local $$sub97$i
- (i32.sub
- (i32.const 0)
- (get_local $$198)
+ (set_local $$sub97$i
+ (i32.sub
+ (i32.const 0)
+ (get_local $$198)
+ )
)
- )
- (set_local $$cond100$i
- (if
- (get_local $$cmp94$i)
- (get_local $$sub97$i)
- (get_local $$198)
+ (set_local $$cond100$i
+ (if
+ (get_local $$cmp94$i)
+ (get_local $$sub97$i)
+ (get_local $$198)
+ )
)
- )
- (set_local $$199
- (i32.lt_s
- (get_local $$cond100$i)
- (i32.const 0)
+ (set_local $$199
+ (i32.lt_s
+ (get_local $$cond100$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$200
- (i32.shr_s
- (i32.shl
- (get_local $$199)
+ (set_local $$200
+ (i32.shr_s
+ (i32.shl
+ (get_local $$199)
+ (i32.const 31)
+ )
(i32.const 31)
)
- (i32.const 31)
)
- )
- (set_local $$201
- (call $_fmt_u
- (get_local $$cond100$i)
- (get_local $$200)
- (get_local $$arrayidx$i$236)
+ (set_local $$201
+ (call $_fmt_u
+ (get_local $$cond100$i)
+ (get_local $$200)
+ (get_local $$arrayidx$i$236)
+ )
)
- )
- (set_local $$cmp103$i
- (i32.eq
- (get_local $$201)
- (get_local $$arrayidx$i$236)
+ (set_local $$cmp103$i
+ (i32.eq
+ (get_local $$201)
+ (get_local $$arrayidx$i$236)
+ )
)
- )
- (if
- (get_local $$cmp103$i)
- (block
- (i32.store8
- (get_local $$incdec$ptr106$i)
- (i32.const 48)
+ (if
+ (get_local $$cmp103$i)
+ (block
+ (i32.store8
+ (get_local $$incdec$ptr106$i)
+ (i32.const 48)
+ )
+ (set_local $$estr$0$i
+ (get_local $$incdec$ptr106$i)
+ )
)
(set_local $$estr$0$i
- (get_local $$incdec$ptr106$i)
+ (get_local $$201)
)
)
- (set_local $$estr$0$i
- (get_local $$201)
- )
- )
- (set_local $$202
- (i32.shr_s
- (get_local $$198)
- (i32.const 31)
- )
- )
- (set_local $$203
- (i32.and
- (get_local $$202)
- (i32.const 2)
- )
- )
- (set_local $$204
- (i32.add
- (get_local $$203)
- (i32.const 43)
- )
- )
- (set_local $$conv111$i
- (i32.and
- (get_local $$204)
- (i32.const 255)
- )
- )
- (set_local $$incdec$ptr112$i
- (i32.add
- (get_local $$estr$0$i)
- (i32.const -1)
- )
- )
- (i32.store8
- (get_local $$incdec$ptr112$i)
- (get_local $$conv111$i)
- )
- (set_local $$add113$i
- (i32.add
- (get_local $$t$0)
- (i32.const 15)
- )
- )
- (set_local $$conv114$i
- (i32.and
- (get_local $$add113$i)
- (i32.const 255)
- )
- )
- (set_local $$incdec$ptr115$i
- (i32.add
- (get_local $$estr$0$i)
- (i32.const -2)
- )
- )
- (i32.store8
- (get_local $$incdec$ptr115$i)
- (get_local $$conv114$i)
- )
- (set_local $$notrhs$i
- (i32.lt_s
- (get_local $$p$0)
- (i32.const 1)
- )
- )
- (set_local $$and134$i
- (i32.and
- (get_local $$fl$1$and219)
- (i32.const 8)
- )
- )
- (set_local $$tobool135$i
- (i32.eq
- (get_local $$and134$i)
- (i32.const 0)
- )
- )
- (set_local $$s$0$i
- (get_local $$buf$i)
- )
- (set_local $$y$addr$2$i
- (get_local $$y$addr$1$i)
- )
- (loop $while-out$62 $while-in$63
- (set_local $$conv116$i
- (call_import $f64-to-int
- (get_local $$y$addr$2$i)
+ (set_local $$202
+ (i32.shr_s
+ (get_local $$198)
+ (i32.const 31)
)
)
- (set_local $$arrayidx117$i
- (i32.add
- (i32.const 4075)
- (get_local $$conv116$i)
+ (set_local $$203
+ (i32.and
+ (get_local $$202)
+ (i32.const 2)
)
)
- (set_local $$205
- (i32.load8_s
- (get_local $$arrayidx117$i)
+ (set_local $$204
+ (i32.add
+ (get_local $$203)
+ (i32.const 43)
)
)
- (set_local $$conv118$393$i
+ (set_local $$conv111$i
(i32.and
- (get_local $$205)
+ (get_local $$204)
(i32.const 255)
)
)
- (set_local $$or120$i
- (i32.or
- (get_local $$conv118$393$i)
- (get_local $$and62$i)
+ (set_local $$incdec$ptr112$i
+ (i32.add
+ (get_local $$estr$0$i)
+ (i32.const -1)
+ )
+ )
+ (i32.store8
+ (get_local $$incdec$ptr112$i)
+ (get_local $$conv111$i)
+ )
+ (set_local $$add113$i
+ (i32.add
+ (get_local $$t$0)
+ (i32.const 15)
)
)
- (set_local $$conv121$i
+ (set_local $$conv114$i
(i32.and
- (get_local $$or120$i)
+ (get_local $$add113$i)
(i32.const 255)
)
)
- (set_local $$incdec$ptr122$i
+ (set_local $$incdec$ptr115$i
(i32.add
- (get_local $$s$0$i)
- (i32.const 1)
+ (get_local $$estr$0$i)
+ (i32.const -2)
)
)
(i32.store8
- (get_local $$s$0$i)
- (get_local $$conv121$i)
+ (get_local $$incdec$ptr115$i)
+ (get_local $$conv114$i)
)
- (set_local $$conv123$i
- (f64.convert_s/i32
- (get_local $$conv116$i)
+ (set_local $$notrhs$i
+ (i32.lt_s
+ (get_local $$p$0)
+ (i32.const 1)
)
)
- (set_local $$sub124$i
- (f64.sub
- (get_local $$y$addr$2$i)
- (get_local $$conv123$i)
+ (set_local $$and134$i
+ (i32.and
+ (get_local $$fl$1$and219)
+ (i32.const 8)
)
)
- (set_local $$mul125$i
- (f64.mul
- (get_local $$sub124$i)
- (f64.const 16)
+ (set_local $$tobool135$i
+ (i32.eq
+ (get_local $$and134$i)
+ (i32.const 0)
)
)
- (set_local $$sub$ptr$lhs$cast$i
- (get_local $$incdec$ptr122$i)
- )
- (set_local $$sub$ptr$sub$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast$i)
- (get_local $$sub$ptr$rhs$cast$i)
- )
+ (set_local $$s$0$i
+ (get_local $$buf$i)
)
- (set_local $$cmp127$i
- (i32.eq
- (get_local $$sub$ptr$sub$i)
- (i32.const 1)
- )
+ (set_local $$y$addr$2$i
+ (get_local $$y$addr$1$i)
)
- (block $do-once$64
- (if
- (get_local $$cmp127$i)
- (block
- (set_local $$notlhs$i
- (f64.eq
- (get_local $$mul125$i)
- (f64.const 0)
- )
+ (loop $while-in$63
+ (block $while-out$62
+ (set_local $$conv116$i
+ (call_import $f64-to-int
+ (get_local $$y$addr$2$i)
)
- (set_local $$or$cond1$not$i
- (i32.and
- (get_local $$notrhs$i)
- (get_local $$notlhs$i)
- )
+ )
+ (set_local $$arrayidx117$i
+ (i32.add
+ (i32.const 4075)
+ (get_local $$conv116$i)
)
- (set_local $$or$cond$i
- (i32.and
- (get_local $$tobool135$i)
- (get_local $$or$cond1$not$i)
- )
+ )
+ (set_local $$205
+ (i32.load8_s
+ (get_local $$arrayidx117$i)
+ )
+ )
+ (set_local $$conv118$393$i
+ (i32.and
+ (get_local $$205)
+ (i32.const 255)
+ )
+ )
+ (set_local $$or120$i
+ (i32.or
+ (get_local $$conv118$393$i)
+ (get_local $$and62$i)
)
+ )
+ (set_local $$conv121$i
+ (i32.and
+ (get_local $$or120$i)
+ (i32.const 255)
+ )
+ )
+ (set_local $$incdec$ptr122$i
+ (i32.add
+ (get_local $$s$0$i)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (get_local $$s$0$i)
+ (get_local $$conv121$i)
+ )
+ (set_local $$conv123$i
+ (f64.convert_s/i32
+ (get_local $$conv116$i)
+ )
+ )
+ (set_local $$sub124$i
+ (f64.sub
+ (get_local $$y$addr$2$i)
+ (get_local $$conv123$i)
+ )
+ )
+ (set_local $$mul125$i
+ (f64.mul
+ (get_local $$sub124$i)
+ (f64.const 16)
+ )
+ )
+ (set_local $$sub$ptr$lhs$cast$i
+ (get_local $$incdec$ptr122$i)
+ )
+ (set_local $$sub$ptr$sub$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast$i)
+ (get_local $$sub$ptr$rhs$cast$i)
+ )
+ )
+ (set_local $$cmp127$i
+ (i32.eq
+ (get_local $$sub$ptr$sub$i)
+ (i32.const 1)
+ )
+ )
+ (block $do-once$64
(if
- (get_local $$or$cond$i)
+ (get_local $$cmp127$i)
(block
- (set_local $$s$1$i
+ (set_local $$notlhs$i
+ (f64.eq
+ (get_local $$mul125$i)
+ (f64.const 0)
+ )
+ )
+ (set_local $$or$cond1$not$i
+ (i32.and
+ (get_local $$notrhs$i)
+ (get_local $$notlhs$i)
+ )
+ )
+ (set_local $$or$cond$i
+ (i32.and
+ (get_local $$tobool135$i)
+ (get_local $$or$cond1$not$i)
+ )
+ )
+ (if
+ (get_local $$or$cond$i)
+ (block
+ (set_local $$s$1$i
+ (get_local $$incdec$ptr122$i)
+ )
+ (br $do-once$64)
+ )
+ )
+ (set_local $$incdec$ptr137$i
+ (i32.add
+ (get_local $$s$0$i)
+ (i32.const 2)
+ )
+ )
+ (i32.store8
(get_local $$incdec$ptr122$i)
+ (i32.const 46)
+ )
+ (set_local $$s$1$i
+ (get_local $$incdec$ptr137$i)
)
- (br $do-once$64)
)
- )
- (set_local $$incdec$ptr137$i
- (i32.add
- (get_local $$s$0$i)
- (i32.const 2)
+ (set_local $$s$1$i
+ (get_local $$incdec$ptr122$i)
)
)
- (i32.store8
- (get_local $$incdec$ptr122$i)
- (i32.const 46)
- )
- (set_local $$s$1$i
- (get_local $$incdec$ptr137$i)
+ )
+ (set_local $$tobool139$i
+ (f64.ne
+ (get_local $$mul125$i)
+ (f64.const 0)
)
)
- (set_local $$s$1$i
- (get_local $$incdec$ptr122$i)
+ (if
+ (get_local $$tobool139$i)
+ (block
+ (set_local $$s$0$i
+ (get_local $$s$1$i)
+ )
+ (set_local $$y$addr$2$i
+ (get_local $$mul125$i)
+ )
+ )
+ (block
+ (set_local $$s$1$i$lcssa
+ (get_local $$s$1$i)
+ )
+ (br $while-out$62)
+ )
)
+ (br $while-in$63)
)
)
- (set_local $$tobool139$i
- (f64.ne
- (get_local $$mul125$i)
- (f64.const 0)
+ (set_local $$tobool140$i
+ (i32.ne
+ (get_local $$p$0)
+ (i32.const 0)
)
)
- (if
- (get_local $$tobool139$i)
- (block
- (set_local $$s$0$i
- (get_local $$s$1$i)
- )
- (set_local $$y$addr$2$i
- (get_local $$mul125$i)
- )
- )
- (block
- (set_local $$s$1$i$lcssa
- (get_local $$s$1$i)
- )
- (br $while-out$62)
+ (set_local $$$pre566$i
+ (get_local $$s$1$i$lcssa)
+ )
+ (set_local $$sub146$i
+ (i32.add
+ (get_local $$sub$ptr$sub145$i)
+ (get_local $$$pre566$i)
)
)
- (br $while-in$63)
- )
- (set_local $$tobool140$i
- (i32.ne
- (get_local $$p$0)
- (i32.const 0)
+ (set_local $$cmp147$i
+ (i32.lt_s
+ (get_local $$sub146$i)
+ (get_local $$p$0)
+ )
)
- )
- (set_local $$$pre566$i
- (get_local $$s$1$i$lcssa)
- )
- (set_local $$sub146$i
- (i32.add
- (get_local $$sub$ptr$sub145$i)
- (get_local $$$pre566$i)
+ (set_local $$or$cond384
+ (i32.and
+ (get_local $$tobool140$i)
+ (get_local $$cmp147$i)
+ )
)
- )
- (set_local $$cmp147$i
- (i32.lt_s
- (get_local $$sub146$i)
- (get_local $$p$0)
+ (set_local $$sub$ptr$rhs$cast152$i
+ (get_local $$incdec$ptr115$i)
)
- )
- (set_local $$or$cond384
- (i32.and
- (get_local $$tobool140$i)
- (get_local $$cmp147$i)
+ (set_local $$add150$i
+ (i32.add
+ (get_local $$sub$ptr$sub153$i)
+ (get_local $$p$0)
+ )
)
- )
- (set_local $$sub$ptr$rhs$cast152$i
- (get_local $$incdec$ptr115$i)
- )
- (set_local $$add150$i
- (i32.add
- (get_local $$sub$ptr$sub153$i)
- (get_local $$p$0)
+ (set_local $$add154$i
+ (i32.sub
+ (get_local $$add150$i)
+ (get_local $$sub$ptr$rhs$cast152$i)
+ )
)
- )
- (set_local $$add154$i
- (i32.sub
- (get_local $$add150$i)
- (get_local $$sub$ptr$rhs$cast152$i)
+ (set_local $$sub$ptr$rhs$cast161$i
+ (get_local $$incdec$ptr115$i)
)
- )
- (set_local $$sub$ptr$rhs$cast161$i
- (get_local $$incdec$ptr115$i)
- )
- (set_local $$sub$ptr$sub162$i
- (i32.sub
- (get_local $$sub$ptr$sub159$i)
- (get_local $$sub$ptr$rhs$cast161$i)
+ (set_local $$sub$ptr$sub162$i
+ (i32.sub
+ (get_local $$sub$ptr$sub159$i)
+ (get_local $$sub$ptr$rhs$cast161$i)
+ )
)
- )
- (set_local $$add163$i
- (i32.add
- (get_local $$sub$ptr$sub162$i)
- (get_local $$$pre566$i)
+ (set_local $$add163$i
+ (i32.add
+ (get_local $$sub$ptr$sub162$i)
+ (get_local $$$pre566$i)
+ )
)
- )
- (set_local $$l$0$i
- (if
- (get_local $$or$cond384)
- (get_local $$add154$i)
- (get_local $$add163$i)
+ (set_local $$l$0$i
+ (if
+ (get_local $$or$cond384)
+ (get_local $$add154$i)
+ (get_local $$add163$i)
+ )
)
- )
- (set_local $$add165$i
- (i32.add
- (get_local $$l$0$i)
- (get_local $$add67$i)
+ (set_local $$add165$i
+ (i32.add
+ (get_local $$l$0$i)
+ (get_local $$add67$i)
+ )
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (get_local $$add165$i)
- (get_local $$fl$1$and219)
- )
- (set_local $$206
- (i32.load
+ (call $_pad
(get_local $$f)
- )
- )
- (set_local $$and$i$418$i
- (i32.and
- (get_local $$206)
(i32.const 32)
+ (get_local $$w$1)
+ (get_local $$add165$i)
+ (get_local $$fl$1$and219)
)
- )
- (set_local $$tobool$i$419$i
- (i32.eq
- (get_local $$and$i$418$i)
- (i32.const 0)
+ (set_local $$206
+ (i32.load
+ (get_local $$f)
+ )
)
- )
- (if
- (get_local $$tobool$i$419$i)
- (call $___fwritex
- (get_local $$prefix$0$add$ptr65$i)
- (get_local $$add67$i)
- (get_local $$f)
+ (set_local $$and$i$418$i
+ (i32.and
+ (get_local $$206)
+ (i32.const 32)
+ )
)
- )
- (set_local $$xor167$i
- (i32.xor
- (get_local $$fl$1$and219)
- (i32.const 65536)
+ (set_local $$tobool$i$419$i
+ (i32.eq
+ (get_local $$and$i$418$i)
+ (i32.const 0)
+ )
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 48)
- (get_local $$w$1)
- (get_local $$add165$i)
- (get_local $$xor167$i)
- )
- (set_local $$sub$ptr$sub172$i
- (i32.sub
- (get_local $$$pre566$i)
- (get_local $$sub$ptr$rhs$cast$i)
+ (if
+ (get_local $$tobool$i$419$i)
+ (call $___fwritex
+ (get_local $$prefix$0$add$ptr65$i)
+ (get_local $$add67$i)
+ (get_local $$f)
+ )
)
- )
- (set_local $$207
- (i32.load
+ (set_local $$xor167$i
+ (i32.xor
+ (get_local $$fl$1$and219)
+ (i32.const 65536)
+ )
+ )
+ (call $_pad
(get_local $$f)
+ (i32.const 48)
+ (get_local $$w$1)
+ (get_local $$add165$i)
+ (get_local $$xor167$i)
)
- )
- (set_local $$and$i$424$i
- (i32.and
- (get_local $$207)
- (i32.const 32)
+ (set_local $$sub$ptr$sub172$i
+ (i32.sub
+ (get_local $$$pre566$i)
+ (get_local $$sub$ptr$rhs$cast$i)
+ )
)
- )
- (set_local $$tobool$i$425$i
- (i32.eq
- (get_local $$and$i$424$i)
- (i32.const 0)
+ (set_local $$207
+ (i32.load
+ (get_local $$f)
+ )
)
- )
- (if
- (get_local $$tobool$i$425$i)
- (call $___fwritex
- (get_local $$buf$i)
- (get_local $$sub$ptr$sub172$i)
- (get_local $$f)
+ (set_local $$and$i$424$i
+ (i32.and
+ (get_local $$207)
+ (i32.const 32)
+ )
)
- )
- (set_local $$sub$ptr$rhs$cast174$i
- (get_local $$incdec$ptr115$i)
- )
- (set_local $$sub$ptr$sub175$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast160$i)
- (get_local $$sub$ptr$rhs$cast174$i)
+ (set_local $$tobool$i$425$i
+ (i32.eq
+ (get_local $$and$i$424$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$sum
- (i32.add
- (get_local $$sub$ptr$sub172$i)
- (get_local $$sub$ptr$sub175$i)
+ (if
+ (get_local $$tobool$i$425$i)
+ (call $___fwritex
+ (get_local $$buf$i)
+ (get_local $$sub$ptr$sub172$i)
+ (get_local $$f)
+ )
)
- )
- (set_local $$sub181$i
- (i32.sub
- (get_local $$l$0$i)
- (get_local $$sum)
+ (set_local $$sub$ptr$rhs$cast174$i
+ (get_local $$incdec$ptr115$i)
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 48)
- (get_local $$sub181$i)
- (i32.const 0)
- (i32.const 0)
- )
- (set_local $$208
- (i32.load
- (get_local $$f)
+ (set_local $$sub$ptr$sub175$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast160$i)
+ (get_local $$sub$ptr$rhs$cast174$i)
+ )
)
- )
- (set_local $$and$i$430$i
- (i32.and
- (get_local $$208)
- (i32.const 32)
+ (set_local $$sum
+ (i32.add
+ (get_local $$sub$ptr$sub172$i)
+ (get_local $$sub$ptr$sub175$i)
+ )
)
- )
- (set_local $$tobool$i$431$i
- (i32.eq
- (get_local $$and$i$430$i)
- (i32.const 0)
+ (set_local $$sub181$i
+ (i32.sub
+ (get_local $$l$0$i)
+ (get_local $$sum)
+ )
)
- )
- (if
- (get_local $$tobool$i$431$i)
- (call $___fwritex
- (get_local $$incdec$ptr115$i)
- (get_local $$sub$ptr$sub175$i)
+ (call $_pad
(get_local $$f)
+ (i32.const 48)
+ (get_local $$sub181$i)
+ (i32.const 0)
+ (i32.const 0)
)
- )
- (set_local $$xor186$i
- (i32.xor
- (get_local $$fl$1$and219)
- (i32.const 8192)
+ (set_local $$208
+ (i32.load
+ (get_local $$f)
+ )
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (get_local $$add165$i)
- (get_local $$xor186$i)
- )
- (set_local $$cmp188$i
- (i32.lt_s
- (get_local $$add165$i)
- (get_local $$w$1)
+ (set_local $$and$i$430$i
+ (i32.and
+ (get_local $$208)
+ (i32.const 32)
+ )
+ )
+ (set_local $$tobool$i$431$i
+ (i32.eq
+ (get_local $$and$i$430$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$w$add165$i
(if
- (get_local $$cmp188$i)
+ (get_local $$tobool$i$431$i)
+ (call $___fwritex
+ (get_local $$incdec$ptr115$i)
+ (get_local $$sub$ptr$sub175$i)
+ (get_local $$f)
+ )
+ )
+ (set_local $$xor186$i
+ (i32.xor
+ (get_local $$fl$1$and219)
+ (i32.const 8192)
+ )
+ )
+ (call $_pad
+ (get_local $$f)
+ (i32.const 32)
(get_local $$w$1)
(get_local $$add165$i)
+ (get_local $$xor186$i)
+ )
+ (set_local $$cmp188$i
+ (i32.lt_s
+ (get_local $$add165$i)
+ (get_local $$w$1)
+ )
+ )
+ (set_local $$w$add165$i
+ (if
+ (get_local $$cmp188$i)
+ (get_local $$w$1)
+ (get_local $$add165$i)
+ )
+ )
+ (set_local $$retval$0$i
+ (get_local $$w$add165$i)
)
+ (br $do-once$56)
)
- (set_local $$retval$0$i
- (get_local $$w$add165$i)
+ )
+ (set_local $$cmp196$i
+ (i32.lt_s
+ (get_local $$p$0)
+ (i32.const 0)
)
- (br $do-once$56)
)
- )
- (set_local $$cmp196$i
- (i32.lt_s
- (get_local $$p$0)
- (i32.const 0)
+ (set_local $$$p$i
+ (if
+ (get_local $$cmp196$i)
+ (i32.const 6)
+ (get_local $$p$0)
+ )
)
- )
- (set_local $$$p$i
(if
- (get_local $$cmp196$i)
- (i32.const 6)
- (get_local $$p$0)
- )
- )
- (if
- (get_local $$tobool56$i)
- (block
- (set_local $$mul202$i
- (f64.mul
- (get_local $$mul$i$240)
- (f64.const 268435456)
+ (get_local $$tobool56$i)
+ (block
+ (set_local $$mul202$i
+ (f64.mul
+ (get_local $$mul$i$240)
+ (f64.const 268435456)
+ )
)
- )
- (set_local $$209
- (i32.load
- (get_local $$e2$i)
+ (set_local $$209
+ (i32.load
+ (get_local $$e2$i)
+ )
)
- )
- (set_local $$sub203$i
- (i32.add
- (get_local $$209)
- (i32.const -28)
+ (set_local $$sub203$i
+ (i32.add
+ (get_local $$209)
+ (i32.const -28)
+ )
)
- )
- (i32.store
- (get_local $$e2$i)
- (get_local $$sub203$i)
- )
- (set_local $$210
- (get_local $$sub203$i)
- )
- (set_local $$y$addr$3$i
- (get_local $$mul202$i)
- )
- )
- (block
- (set_local $$$pre564$i
- (i32.load
+ (i32.store
(get_local $$e2$i)
+ (get_local $$sub203$i)
+ )
+ (set_local $$210
+ (get_local $$sub203$i)
+ )
+ (set_local $$y$addr$3$i
+ (get_local $$mul202$i)
)
)
- (set_local $$210
- (get_local $$$pre564$i)
- )
- (set_local $$y$addr$3$i
- (get_local $$mul$i$240)
- )
- )
- )
- (set_local $$cmp205$i
- (i32.lt_s
- (get_local $$210)
- (i32.const 0)
- )
- )
- (set_local $$arraydecay208$add$ptr213$i
- (if
- (get_local $$cmp205$i)
- (get_local $$big$i)
- (get_local $$add$ptr213$i)
- )
- )
- (set_local $$sub$ptr$rhs$cast345$i
- (get_local $$arraydecay208$add$ptr213$i)
- )
- (set_local $$y$addr$4$i
- (get_local $$y$addr$3$i)
- )
- (set_local $$z$0$i
- (get_local $$arraydecay208$add$ptr213$i)
- )
- (loop $while-out$66 $while-in$67
- (set_local $$conv216$i
- (call_import $f64-to-int
- (get_local $$y$addr$4$i)
+ (block
+ (set_local $$$pre564$i
+ (i32.load
+ (get_local $$e2$i)
+ )
+ )
+ (set_local $$210
+ (get_local $$$pre564$i)
+ )
+ (set_local $$y$addr$3$i
+ (get_local $$mul$i$240)
+ )
)
)
- (i32.store
- (get_local $$z$0$i)
- (get_local $$conv216$i)
- )
- (set_local $$incdec$ptr217$i
- (i32.add
- (get_local $$z$0$i)
- (i32.const 4)
+ (set_local $$cmp205$i
+ (i32.lt_s
+ (get_local $$210)
+ (i32.const 0)
)
)
- (set_local $$conv218$i
- (f64.convert_u/i32
- (get_local $$conv216$i)
+ (set_local $$arraydecay208$add$ptr213$i
+ (if
+ (get_local $$cmp205$i)
+ (get_local $$big$i)
+ (get_local $$add$ptr213$i)
)
)
- (set_local $$sub219$i
- (f64.sub
- (get_local $$y$addr$4$i)
- (get_local $$conv218$i)
- )
+ (set_local $$sub$ptr$rhs$cast345$i
+ (get_local $$arraydecay208$add$ptr213$i)
)
- (set_local $$mul220$i
- (f64.mul
- (get_local $$sub219$i)
- (f64.const 1e9)
- )
+ (set_local $$y$addr$4$i
+ (get_local $$y$addr$3$i)
)
- (set_local $$tobool222$i
- (f64.ne
- (get_local $$mul220$i)
- (f64.const 0)
- )
+ (set_local $$z$0$i
+ (get_local $$arraydecay208$add$ptr213$i)
)
- (if
- (get_local $$tobool222$i)
- (block
- (set_local $$y$addr$4$i
- (get_local $$mul220$i)
+ (loop $while-in$67
+ (block $while-out$66
+ (set_local $$conv216$i
+ (call_import $f64-to-int
+ (get_local $$y$addr$4$i)
+ )
)
- (set_local $$z$0$i
- (get_local $$incdec$ptr217$i)
+ (i32.store
+ (get_local $$z$0$i)
+ (get_local $$conv216$i)
)
- )
- (block
- (set_local $$incdec$ptr217$i$lcssa
- (get_local $$incdec$ptr217$i)
+ (set_local $$incdec$ptr217$i
+ (i32.add
+ (get_local $$z$0$i)
+ (i32.const 4)
+ )
)
- (br $while-out$66)
- )
- )
- (br $while-in$67)
- )
- (set_local $$$pr$i
- (i32.load
- (get_local $$e2$i)
- )
- )
- (set_local $$cmp225$547$i
- (i32.gt_s
- (get_local $$$pr$i)
- (i32.const 0)
- )
- )
- (if
- (get_local $$cmp225$547$i)
- (block
- (set_local $$211
- (get_local $$$pr$i)
- )
- (set_local $$a$1549$i
- (get_local $$arraydecay208$add$ptr213$i)
- )
- (set_local $$z$1548$i
- (get_local $$incdec$ptr217$i$lcssa)
- )
- (loop $while-out$68 $while-in$69
- (set_local $$cmp228$i
- (i32.gt_s
- (get_local $$211)
- (i32.const 29)
+ (set_local $$conv218$i
+ (f64.convert_u/i32
+ (get_local $$conv216$i)
)
)
- (set_local $$cond233$i
- (if
- (get_local $$cmp228$i)
- (i32.const 29)
- (get_local $$211)
+ (set_local $$sub219$i
+ (f64.sub
+ (get_local $$y$addr$4$i)
+ (get_local $$conv218$i)
)
)
- (set_local $$d$0$542$i
- (i32.add
- (get_local $$z$1548$i)
- (i32.const -4)
+ (set_local $$mul220$i
+ (f64.mul
+ (get_local $$sub219$i)
+ (f64.const 1e9)
)
)
- (set_local $$cmp235$543$i
- (i32.lt_u
- (get_local $$d$0$542$i)
- (get_local $$a$1549$i)
+ (set_local $$tobool222$i
+ (f64.ne
+ (get_local $$mul220$i)
+ (f64.const 0)
)
)
- (block $do-once$70
- (if
- (get_local $$cmp235$543$i)
- (set_local $$a$2$ph$i
- (get_local $$a$1549$i)
+ (if
+ (get_local $$tobool222$i)
+ (block
+ (set_local $$y$addr$4$i
+ (get_local $$mul220$i)
)
- (block
- (set_local $$carry$0544$i
- (i32.const 0)
+ (set_local $$z$0$i
+ (get_local $$incdec$ptr217$i)
+ )
+ )
+ (block
+ (set_local $$incdec$ptr217$i$lcssa
+ (get_local $$incdec$ptr217$i)
+ )
+ (br $while-out$66)
+ )
+ )
+ (br $while-in$67)
+ )
+ )
+ (set_local $$$pr$i
+ (i32.load
+ (get_local $$e2$i)
+ )
+ )
+ (set_local $$cmp225$547$i
+ (i32.gt_s
+ (get_local $$$pr$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$cmp225$547$i)
+ (block
+ (set_local $$211
+ (get_local $$$pr$i)
+ )
+ (set_local $$a$1549$i
+ (get_local $$arraydecay208$add$ptr213$i)
+ )
+ (set_local $$z$1548$i
+ (get_local $$incdec$ptr217$i$lcssa)
+ )
+ (loop $while-in$69
+ (block $while-out$68
+ (set_local $$cmp228$i
+ (i32.gt_s
+ (get_local $$211)
+ (i32.const 29)
+ )
+ )
+ (set_local $$cond233$i
+ (if
+ (get_local $$cmp228$i)
+ (i32.const 29)
+ (get_local $$211)
+ )
+ )
+ (set_local $$d$0$542$i
+ (i32.add
+ (get_local $$z$1548$i)
+ (i32.const -4)
)
- (set_local $$d$0545$i
+ )
+ (set_local $$cmp235$543$i
+ (i32.lt_u
(get_local $$d$0$542$i)
+ (get_local $$a$1549$i)
)
- (loop $while-out$72 $while-in$73
- (set_local $$212
- (i32.load
- (get_local $$d$0545$i)
- )
+ )
+ (block $do-once$70
+ (if
+ (get_local $$cmp235$543$i)
+ (set_local $$a$2$ph$i
+ (get_local $$a$1549$i)
)
- (set_local $$213
- (call $_bitshift64Shl
- (get_local $$212)
+ (block
+ (set_local $$carry$0544$i
(i32.const 0)
- (get_local $$cond233$i)
)
- )
- (set_local $$214
- (i32.load
- (i32.const 168)
+ (set_local $$d$0545$i
+ (get_local $$d$0$542$i)
)
- )
- (set_local $$215
- (call $_i64Add
- (get_local $$213)
- (get_local $$214)
- (get_local $$carry$0544$i)
- (i32.const 0)
+ (loop $while-in$73
+ (block $while-out$72
+ (set_local $$212
+ (i32.load
+ (get_local $$d$0545$i)
+ )
+ )
+ (set_local $$213
+ (call $_bitshift64Shl
+ (get_local $$212)
+ (i32.const 0)
+ (get_local $$cond233$i)
+ )
+ )
+ (set_local $$214
+ (get_global $tempRet0)
+ )
+ (set_local $$215
+ (call $_i64Add
+ (get_local $$213)
+ (get_local $$214)
+ (get_local $$carry$0544$i)
+ (i32.const 0)
+ )
+ )
+ (set_local $$216
+ (get_global $tempRet0)
+ )
+ (set_local $$217
+ (call $___uremdi3
+ (get_local $$215)
+ (get_local $$216)
+ (i32.const 1000000000)
+ (i32.const 0)
+ )
+ )
+ (set_local $$218
+ (get_global $tempRet0)
+ )
+ (i32.store
+ (get_local $$d$0545$i)
+ (get_local $$217)
+ )
+ (set_local $$219
+ (call $___udivdi3
+ (get_local $$215)
+ (get_local $$216)
+ (i32.const 1000000000)
+ (i32.const 0)
+ )
+ )
+ (set_local $$220
+ (get_global $tempRet0)
+ )
+ (set_local $$d$0$i
+ (i32.add
+ (get_local $$d$0545$i)
+ (i32.const -4)
+ )
+ )
+ (set_local $$cmp235$i
+ (i32.lt_u
+ (get_local $$d$0$i)
+ (get_local $$a$1549$i)
+ )
+ )
+ (if
+ (get_local $$cmp235$i)
+ (block
+ (set_local $$conv242$i$lcssa
+ (get_local $$219)
+ )
+ (br $while-out$72)
+ )
+ (block
+ (set_local $$carry$0544$i
+ (get_local $$219)
+ )
+ (set_local $$d$0545$i
+ (get_local $$d$0$i)
+ )
+ )
+ )
+ (br $while-in$73)
+ )
)
- )
- (set_local $$216
- (i32.load
- (i32.const 168)
+ (set_local $$tobool244$i
+ (i32.eq
+ (get_local $$conv242$i$lcssa)
+ (i32.const 0)
+ )
)
- )
- (set_local $$217
- (call $___uremdi3
- (get_local $$215)
- (get_local $$216)
- (i32.const 1000000000)
- (i32.const 0)
+ (if
+ (get_local $$tobool244$i)
+ (block
+ (set_local $$a$2$ph$i
+ (get_local $$a$1549$i)
+ )
+ (br $do-once$70)
+ )
)
- )
- (set_local $$218
- (i32.load
- (i32.const 168)
+ (set_local $$incdec$ptr246$i
+ (i32.add
+ (get_local $$a$1549$i)
+ (i32.const -4)
+ )
+ )
+ (i32.store
+ (get_local $$incdec$ptr246$i)
+ (get_local $$conv242$i$lcssa)
+ )
+ (set_local $$a$2$ph$i
+ (get_local $$incdec$ptr246$i)
)
)
- (i32.store
- (get_local $$d$0545$i)
- (get_local $$217)
- )
- (set_local $$219
- (call $___udivdi3
- (get_local $$215)
- (get_local $$216)
- (i32.const 1000000000)
- (i32.const 0)
+ )
+ )
+ (set_local $$z$2$i
+ (get_local $$z$1548$i)
+ )
+ (loop $while-in$75
+ (block $while-out$74
+ (set_local $$cmp249$i
+ (i32.gt_u
+ (get_local $$z$2$i)
+ (get_local $$a$2$ph$i)
)
)
- (set_local $$220
- (i32.load
- (i32.const 168)
+ (if
+ (i32.eqz
+ (get_local $$cmp249$i)
+ )
+ (block
+ (set_local $$z$2$i$lcssa
+ (get_local $$z$2$i)
+ )
+ (br $while-out$74)
)
)
- (set_local $$d$0$i
+ (set_local $$arrayidx251$i
(i32.add
- (get_local $$d$0545$i)
+ (get_local $$z$2$i)
(i32.const -4)
)
)
- (set_local $$cmp235$i
- (i32.lt_u
- (get_local $$d$0$i)
- (get_local $$a$1549$i)
+ (set_local $$221
+ (i32.load
+ (get_local $$arrayidx251$i)
+ )
+ )
+ (set_local $$lnot$i
+ (i32.eq
+ (get_local $$221)
+ (i32.const 0)
)
)
(if
- (get_local $$cmp235$i)
- (block
- (set_local $$conv242$i$lcssa
- (get_local $$219)
- )
- (br $while-out$72)
+ (get_local $$lnot$i)
+ (set_local $$z$2$i
+ (get_local $$arrayidx251$i)
)
(block
- (set_local $$carry$0544$i
- (get_local $$219)
- )
- (set_local $$d$0545$i
- (get_local $$d$0$i)
+ (set_local $$z$2$i$lcssa
+ (get_local $$z$2$i)
)
+ (br $while-out$74)
)
)
- (br $while-in$73)
- )
- (set_local $$tobool244$i
- (i32.eq
- (get_local $$conv242$i$lcssa)
- (i32.const 0)
- )
- )
- (if
- (get_local $$tobool244$i)
- (block
- (set_local $$a$2$ph$i
- (get_local $$a$1549$i)
- )
- (br $do-once$70)
- )
- )
- (set_local $$incdec$ptr246$i
- (i32.add
- (get_local $$a$1549$i)
- (i32.const -4)
- )
- )
- (i32.store
- (get_local $$incdec$ptr246$i)
- (get_local $$conv242$i$lcssa)
+ (br $while-in$75)
)
- (set_local $$a$2$ph$i
- (get_local $$incdec$ptr246$i)
- )
- )
- )
- )
- (set_local $$z$2$i
- (get_local $$z$1548$i)
- )
- (loop $while-out$74 $while-in$75
- (set_local $$cmp249$i
- (i32.gt_u
- (get_local $$z$2$i)
- (get_local $$a$2$ph$i)
- )
- )
- (if
- (i32.eqz
- (get_local $$cmp249$i)
)
- (block
- (set_local $$z$2$i$lcssa
- (get_local $$z$2$i)
+ (set_local $$222
+ (i32.load
+ (get_local $$e2$i)
)
- (br $while-out$74)
)
- )
- (set_local $$arrayidx251$i
- (i32.add
- (get_local $$z$2$i)
- (i32.const -4)
- )
- )
- (set_local $$221
- (i32.load
- (get_local $$arrayidx251$i)
- )
- )
- (set_local $$lnot$i
- (i32.eq
- (get_local $$221)
- (i32.const 0)
- )
- )
- (if
- (get_local $$lnot$i)
- (set_local $$z$2$i
- (get_local $$arrayidx251$i)
- )
- (block
- (set_local $$z$2$i$lcssa
- (get_local $$z$2$i)
+ (set_local $$sub256$i
+ (i32.sub
+ (get_local $$222)
+ (get_local $$cond233$i)
)
- (br $while-out$74)
- )
- )
- (br $while-in$75)
- )
- (set_local $$222
- (i32.load
- (get_local $$e2$i)
- )
- )
- (set_local $$sub256$i
- (i32.sub
- (get_local $$222)
- (get_local $$cond233$i)
- )
- )
- (i32.store
- (get_local $$e2$i)
- (get_local $$sub256$i)
- )
- (set_local $$cmp225$i
- (i32.gt_s
- (get_local $$sub256$i)
- (i32.const 0)
- )
- )
- (if
- (get_local $$cmp225$i)
- (block
- (set_local $$211
- (get_local $$sub256$i)
- )
- (set_local $$a$1549$i
- (get_local $$a$2$ph$i)
- )
- (set_local $$z$1548$i
- (get_local $$z$2$i$lcssa)
)
- )
- (block
- (set_local $$$pr477$i
+ (i32.store
+ (get_local $$e2$i)
(get_local $$sub256$i)
)
- (set_local $$a$1$lcssa$i
- (get_local $$a$2$ph$i)
+ (set_local $$cmp225$i
+ (i32.gt_s
+ (get_local $$sub256$i)
+ (i32.const 0)
+ )
)
- (set_local $$z$1$lcssa$i
- (get_local $$z$2$i$lcssa)
+ (if
+ (get_local $$cmp225$i)
+ (block
+ (set_local $$211
+ (get_local $$sub256$i)
+ )
+ (set_local $$a$1549$i
+ (get_local $$a$2$ph$i)
+ )
+ (set_local $$z$1548$i
+ (get_local $$z$2$i$lcssa)
+ )
+ )
+ (block
+ (set_local $$$pr477$i
+ (get_local $$sub256$i)
+ )
+ (set_local $$a$1$lcssa$i
+ (get_local $$a$2$ph$i)
+ )
+ (set_local $$z$1$lcssa$i
+ (get_local $$z$2$i$lcssa)
+ )
+ (br $while-out$68)
+ )
)
- (br $while-out$68)
+ (br $while-in$69)
)
)
- (br $while-in$69)
- )
- )
- (block
- (set_local $$$pr477$i
- (get_local $$$pr$i)
- )
- (set_local $$a$1$lcssa$i
- (get_local $$arraydecay208$add$ptr213$i)
- )
- (set_local $$z$1$lcssa$i
- (get_local $$incdec$ptr217$i$lcssa)
- )
- )
- )
- (set_local $$cmp259$537$i
- (i32.lt_s
- (get_local $$$pr477$i)
- (i32.const 0)
- )
- )
- (if
- (get_local $$cmp259$537$i)
- (block
- (set_local $$add273$i
- (i32.add
- (get_local $$$p$i)
- (i32.const 25)
- )
)
- (set_local $$div274$i
- (i32.and
- (call_import $i32s-div
- (get_local $$add273$i)
- (i32.const 9)
- )
- (i32.const -1)
+ (block
+ (set_local $$$pr477$i
+ (get_local $$$pr$i)
)
- )
- (set_local $$add275$i
- (i32.add
- (get_local $$div274$i)
- (i32.const 1)
+ (set_local $$a$1$lcssa$i
+ (get_local $$arraydecay208$add$ptr213$i)
)
- )
- (set_local $$cmp299$i
- (i32.eq
- (get_local $$or$i$241)
- (i32.const 102)
+ (set_local $$z$1$lcssa$i
+ (get_local $$incdec$ptr217$i$lcssa)
)
)
- (set_local $$223
+ )
+ (set_local $$cmp259$537$i
+ (i32.lt_s
(get_local $$$pr477$i)
+ (i32.const 0)
)
- (set_local $$a$3539$i
- (get_local $$a$1$lcssa$i)
- )
- (set_local $$z$3538$i
- (get_local $$z$1$lcssa$i)
- )
- (loop $while-out$76 $while-in$77
- (set_local $$sub264$i
- (i32.sub
- (i32.const 0)
- (get_local $$223)
+ )
+ (if
+ (get_local $$cmp259$537$i)
+ (block
+ (set_local $$add273$i
+ (i32.add
+ (get_local $$$p$i)
+ (i32.const 25)
)
)
- (set_local $$cmp265$i
- (i32.gt_s
- (get_local $$sub264$i)
- (i32.const 9)
+ (set_local $$div274$i
+ (i32.and
+ (call_import $i32s-div
+ (get_local $$add273$i)
+ (i32.const 9)
+ )
+ (i32.const -1)
)
)
- (set_local $$cond271$i
- (if
- (get_local $$cmp265$i)
- (i32.const 9)
- (get_local $$sub264$i)
+ (set_local $$add275$i
+ (i32.add
+ (get_local $$div274$i)
+ (i32.const 1)
)
)
- (set_local $$cmp277$533$i
- (i32.lt_u
- (get_local $$a$3539$i)
- (get_local $$z$3538$i)
+ (set_local $$cmp299$i
+ (i32.eq
+ (get_local $$or$i$241)
+ (i32.const 102)
)
)
- (block $do-once$78
- (if
- (get_local $$cmp277$533$i)
- (block
- (set_local $$shl280$i
- (i32.shl
- (i32.const 1)
- (get_local $$cond271$i)
- )
- )
- (set_local $$sub281$i
- (i32.add
- (get_local $$shl280$i)
- (i32.const -1)
- )
+ (set_local $$223
+ (get_local $$$pr477$i)
+ )
+ (set_local $$a$3539$i
+ (get_local $$a$1$lcssa$i)
+ )
+ (set_local $$z$3538$i
+ (get_local $$z$1$lcssa$i)
+ )
+ (loop $while-in$77
+ (block $while-out$76
+ (set_local $$sub264$i
+ (i32.sub
+ (i32.const 0)
+ (get_local $$223)
)
- (set_local $$shr285$i
- (i32.shr_u
- (i32.const 1000000000)
- (get_local $$cond271$i)
- )
+ )
+ (set_local $$cmp265$i
+ (i32.gt_s
+ (get_local $$sub264$i)
+ (i32.const 9)
)
- (set_local $$carry262$0535$i
- (i32.const 0)
+ )
+ (set_local $$cond271$i
+ (if
+ (get_local $$cmp265$i)
+ (i32.const 9)
+ (get_local $$sub264$i)
)
- (set_local $$d$1534$i
+ )
+ (set_local $$cmp277$533$i
+ (i32.lt_u
(get_local $$a$3539$i)
+ (get_local $$z$3538$i)
)
- (loop $while-out$80 $while-in$81
- (set_local $$225
- (i32.load
- (get_local $$d$1534$i)
+ )
+ (block $do-once$78
+ (if
+ (get_local $$cmp277$533$i)
+ (block
+ (set_local $$shl280$i
+ (i32.shl
+ (i32.const 1)
+ (get_local $$cond271$i)
+ )
)
- )
- (set_local $$and282$i
- (i32.and
- (get_local $$225)
- (get_local $$sub281$i)
+ (set_local $$sub281$i
+ (i32.add
+ (get_local $$shl280$i)
+ (i32.const -1)
+ )
)
- )
- (set_local $$shr283$i
- (i32.shr_u
- (get_local $$225)
- (get_local $$cond271$i)
+ (set_local $$shr285$i
+ (i32.shr_u
+ (i32.const 1000000000)
+ (get_local $$cond271$i)
+ )
)
- )
- (set_local $$add284$i
- (i32.add
- (get_local $$shr283$i)
- (get_local $$carry262$0535$i)
+ (set_local $$carry262$0535$i
+ (i32.const 0)
)
- )
- (i32.store
- (get_local $$d$1534$i)
- (get_local $$add284$i)
- )
- (set_local $$mul286$i
- (i32.mul
- (get_local $$and282$i)
- (get_local $$shr285$i)
+ (set_local $$d$1534$i
+ (get_local $$a$3539$i)
)
- )
- (set_local $$incdec$ptr288$i
- (i32.add
- (get_local $$d$1534$i)
- (i32.const 4)
+ (loop $while-in$81
+ (block $while-out$80
+ (set_local $$225
+ (i32.load
+ (get_local $$d$1534$i)
+ )
+ )
+ (set_local $$and282$i
+ (i32.and
+ (get_local $$225)
+ (get_local $$sub281$i)
+ )
+ )
+ (set_local $$shr283$i
+ (i32.shr_u
+ (get_local $$225)
+ (get_local $$cond271$i)
+ )
+ )
+ (set_local $$add284$i
+ (i32.add
+ (get_local $$shr283$i)
+ (get_local $$carry262$0535$i)
+ )
+ )
+ (i32.store
+ (get_local $$d$1534$i)
+ (get_local $$add284$i)
+ )
+ (set_local $$mul286$i
+ (i32.mul
+ (get_local $$and282$i)
+ (get_local $$shr285$i)
+ )
+ )
+ (set_local $$incdec$ptr288$i
+ (i32.add
+ (get_local $$d$1534$i)
+ (i32.const 4)
+ )
+ )
+ (set_local $$cmp277$i
+ (i32.lt_u
+ (get_local $$incdec$ptr288$i)
+ (get_local $$z$3538$i)
+ )
+ )
+ (if
+ (get_local $$cmp277$i)
+ (block
+ (set_local $$carry262$0535$i
+ (get_local $$mul286$i)
+ )
+ (set_local $$d$1534$i
+ (get_local $$incdec$ptr288$i)
+ )
+ )
+ (block
+ (set_local $$mul286$i$lcssa
+ (get_local $$mul286$i)
+ )
+ (br $while-out$80)
+ )
+ )
+ (br $while-in$81)
+ )
)
- )
- (set_local $$cmp277$i
- (i32.lt_u
- (get_local $$incdec$ptr288$i)
+ (set_local $$226
+ (i32.load
+ (get_local $$a$3539$i)
+ )
+ )
+ (set_local $$tobool290$i
+ (i32.eq
+ (get_local $$226)
+ (i32.const 0)
+ )
+ )
+ (set_local $$incdec$ptr292$i
+ (i32.add
+ (get_local $$a$3539$i)
+ (i32.const 4)
+ )
+ )
+ (set_local $$incdec$ptr292$a$3$i
+ (if
+ (get_local $$tobool290$i)
+ (get_local $$incdec$ptr292$i)
+ (get_local $$a$3539$i)
+ )
+ )
+ (set_local $$tobool294$i
+ (i32.eq
+ (get_local $$mul286$i$lcssa)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool294$i)
+ (block
+ (set_local $$incdec$ptr292$a$3573$i
+ (get_local $$incdec$ptr292$a$3$i)
+ )
+ (set_local $$z$4$i
+ (get_local $$z$3538$i)
+ )
+ (br $do-once$78)
+ )
+ )
+ (set_local $$incdec$ptr296$i
+ (i32.add
+ (get_local $$z$3538$i)
+ (i32.const 4)
+ )
+ )
+ (i32.store
(get_local $$z$3538$i)
+ (get_local $$mul286$i$lcssa)
+ )
+ (set_local $$incdec$ptr292$a$3573$i
+ (get_local $$incdec$ptr292$a$3$i)
+ )
+ (set_local $$z$4$i
+ (get_local $$incdec$ptr296$i)
)
)
- (if
- (get_local $$cmp277$i)
- (block
- (set_local $$carry262$0535$i
- (get_local $$mul286$i)
+ (block
+ (set_local $$224
+ (i32.load
+ (get_local $$a$3539$i)
)
- (set_local $$d$1534$i
- (get_local $$incdec$ptr288$i)
+ )
+ (set_local $$tobool290$569$i
+ (i32.eq
+ (get_local $$224)
+ (i32.const 0)
)
)
- (block
- (set_local $$mul286$i$lcssa
- (get_local $$mul286$i)
+ (set_local $$incdec$ptr292$570$i
+ (i32.add
+ (get_local $$a$3539$i)
+ (i32.const 4)
+ )
+ )
+ (set_local $$incdec$ptr292$a$3$571$i
+ (if
+ (get_local $$tobool290$569$i)
+ (get_local $$incdec$ptr292$570$i)
+ (get_local $$a$3539$i)
)
- (br $while-out$80)
+ )
+ (set_local $$incdec$ptr292$a$3573$i
+ (get_local $$incdec$ptr292$a$3$571$i)
+ )
+ (set_local $$z$4$i
+ (get_local $$z$3538$i)
)
)
- (br $while-in$81)
)
- (set_local $$226
- (i32.load
- (get_local $$a$3539$i)
- )
+ )
+ (set_local $$cond304$i
+ (if
+ (get_local $$cmp299$i)
+ (get_local $$arraydecay208$add$ptr213$i)
+ (get_local $$incdec$ptr292$a$3573$i)
)
- (set_local $$tobool290$i
- (i32.eq
- (get_local $$226)
- (i32.const 0)
- )
+ )
+ (set_local $$sub$ptr$lhs$cast305$i
+ (get_local $$z$4$i)
+ )
+ (set_local $$sub$ptr$rhs$cast306$i
+ (get_local $$cond304$i)
+ )
+ (set_local $$sub$ptr$sub307$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast305$i)
+ (get_local $$sub$ptr$rhs$cast306$i)
)
- (set_local $$incdec$ptr292$i
- (i32.add
- (get_local $$a$3539$i)
- (i32.const 4)
- )
+ )
+ (set_local $$sub$ptr$div$i
+ (i32.shr_s
+ (get_local $$sub$ptr$sub307$i)
+ (i32.const 2)
)
- (set_local $$incdec$ptr292$a$3$i
- (if
- (get_local $$tobool290$i)
- (get_local $$incdec$ptr292$i)
- (get_local $$a$3539$i)
- )
+ )
+ (set_local $$cmp308$i
+ (i32.gt_s
+ (get_local $$sub$ptr$div$i)
+ (get_local $$add275$i)
)
- (set_local $$tobool294$i
- (i32.eq
- (get_local $$mul286$i$lcssa)
- (i32.const 0)
+ )
+ (set_local $$add$ptr311$i
+ (i32.add
+ (get_local $$cond304$i)
+ (i32.shl
+ (get_local $$add275$i)
+ (i32.const 2)
)
)
+ )
+ (set_local $$add$ptr311$z$4$i
(if
- (get_local $$tobool294$i)
- (block
- (set_local $$incdec$ptr292$a$3573$i
- (get_local $$incdec$ptr292$a$3$i)
- )
- (set_local $$z$4$i
- (get_local $$z$3538$i)
- )
- (br $do-once$78)
- )
+ (get_local $$cmp308$i)
+ (get_local $$add$ptr311$i)
+ (get_local $$z$4$i)
)
- (set_local $$incdec$ptr296$i
- (i32.add
- (get_local $$z$3538$i)
- (i32.const 4)
- )
- )
- (i32.store
- (get_local $$z$3538$i)
- (get_local $$mul286$i$lcssa)
+ )
+ (set_local $$227
+ (i32.load
+ (get_local $$e2$i)
)
- (set_local $$incdec$ptr292$a$3573$i
- (get_local $$incdec$ptr292$a$3$i)
+ )
+ (set_local $$add313$i
+ (i32.add
+ (get_local $$227)
+ (get_local $$cond271$i)
)
- (set_local $$z$4$i
- (get_local $$incdec$ptr296$i)
+ )
+ (i32.store
+ (get_local $$e2$i)
+ (get_local $$add313$i)
+ )
+ (set_local $$cmp259$i
+ (i32.lt_s
+ (get_local $$add313$i)
+ (i32.const 0)
)
)
- (block
- (set_local $$224
- (i32.load
- (get_local $$a$3539$i)
+ (if
+ (get_local $$cmp259$i)
+ (block
+ (set_local $$223
+ (get_local $$add313$i)
)
- )
- (set_local $$tobool290$569$i
- (i32.eq
- (get_local $$224)
- (i32.const 0)
+ (set_local $$a$3539$i
+ (get_local $$incdec$ptr292$a$3573$i)
)
- )
- (set_local $$incdec$ptr292$570$i
- (i32.add
- (get_local $$a$3539$i)
- (i32.const 4)
+ (set_local $$z$3538$i
+ (get_local $$add$ptr311$z$4$i)
)
)
- (set_local $$incdec$ptr292$a$3$571$i
- (if
- (get_local $$tobool290$569$i)
- (get_local $$incdec$ptr292$570$i)
- (get_local $$a$3539$i)
+ (block
+ (set_local $$a$3$lcssa$i
+ (get_local $$incdec$ptr292$a$3573$i)
)
- )
- (set_local $$incdec$ptr292$a$3573$i
- (get_local $$incdec$ptr292$a$3$571$i)
- )
- (set_local $$z$4$i
- (get_local $$z$3538$i)
+ (set_local $$z$3$lcssa$i
+ (get_local $$add$ptr311$z$4$i)
+ )
+ (br $while-out$76)
)
)
+ (br $while-in$77)
)
)
- (set_local $$cond304$i
- (if
- (get_local $$cmp299$i)
- (get_local $$arraydecay208$add$ptr213$i)
- (get_local $$incdec$ptr292$a$3573$i)
- )
- )
- (set_local $$sub$ptr$lhs$cast305$i
- (get_local $$z$4$i)
- )
- (set_local $$sub$ptr$rhs$cast306$i
- (get_local $$cond304$i)
- )
- (set_local $$sub$ptr$sub307$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast305$i)
- (get_local $$sub$ptr$rhs$cast306$i)
- )
- )
- (set_local $$sub$ptr$div$i
- (i32.shr_s
- (get_local $$sub$ptr$sub307$i)
- (i32.const 2)
- )
- )
- (set_local $$cmp308$i
- (i32.gt_s
- (get_local $$sub$ptr$div$i)
- (get_local $$add275$i)
- )
- )
- (set_local $$add$ptr311$i
- (i32.add
- (get_local $$cond304$i)
- (i32.shl
- (get_local $$add275$i)
- (i32.const 2)
- )
- )
- )
- (set_local $$add$ptr311$z$4$i
- (if
- (get_local $$cmp308$i)
- (get_local $$add$ptr311$i)
- (get_local $$z$4$i)
- )
- )
- (set_local $$227
- (i32.load
- (get_local $$e2$i)
- )
- )
- (set_local $$add313$i
- (i32.add
- (get_local $$227)
- (get_local $$cond271$i)
- )
- )
- (i32.store
- (get_local $$e2$i)
- (get_local $$add313$i)
- )
- (set_local $$cmp259$i
- (i32.lt_s
- (get_local $$add313$i)
- (i32.const 0)
- )
+ )
+ (block
+ (set_local $$a$3$lcssa$i
+ (get_local $$a$1$lcssa$i)
)
- (if
- (get_local $$cmp259$i)
- (block
- (set_local $$223
- (get_local $$add313$i)
- )
- (set_local $$a$3539$i
- (get_local $$incdec$ptr292$a$3573$i)
- )
- (set_local $$z$3538$i
- (get_local $$add$ptr311$z$4$i)
- )
- )
- (block
- (set_local $$a$3$lcssa$i
- (get_local $$incdec$ptr292$a$3573$i)
- )
- (set_local $$z$3$lcssa$i
- (get_local $$add$ptr311$z$4$i)
- )
- (br $while-out$76)
- )
+ (set_local $$z$3$lcssa$i
+ (get_local $$z$1$lcssa$i)
)
- (br $while-in$77)
)
)
- (block
- (set_local $$a$3$lcssa$i
- (get_local $$a$1$lcssa$i)
- )
- (set_local $$z$3$lcssa$i
- (get_local $$z$1$lcssa$i)
+ (set_local $$cmp315$i
+ (i32.lt_u
+ (get_local $$a$3$lcssa$i)
+ (get_local $$z$3$lcssa$i)
)
)
- )
- (set_local $$cmp315$i
- (i32.lt_u
- (get_local $$a$3$lcssa$i)
- (get_local $$z$3$lcssa$i)
- )
- )
- (block $do-once$82
- (if
- (get_local $$cmp315$i)
- (block
- (set_local $$sub$ptr$rhs$cast319$i
- (get_local $$a$3$lcssa$i)
- )
- (set_local $$sub$ptr$sub320$i
- (i32.sub
- (get_local $$sub$ptr$rhs$cast345$i)
- (get_local $$sub$ptr$rhs$cast319$i)
- )
- )
- (set_local $$sub$ptr$div321$i
- (i32.shr_s
- (get_local $$sub$ptr$sub320$i)
- (i32.const 2)
- )
- )
- (set_local $$mul322$i
- (i32.mul
- (get_local $$sub$ptr$div321$i)
- (i32.const 9)
- )
- )
- (set_local $$228
- (i32.load
+ (block $do-once$82
+ (if
+ (get_local $$cmp315$i)
+ (block
+ (set_local $$sub$ptr$rhs$cast319$i
(get_local $$a$3$lcssa$i)
)
- )
- (set_local $$cmp324$529$i
- (i32.lt_u
- (get_local $$228)
- (i32.const 10)
- )
- )
- (if
- (get_local $$cmp324$529$i)
- (block
- (set_local $$e$1$i
- (get_local $$mul322$i)
+ (set_local $$sub$ptr$sub320$i
+ (i32.sub
+ (get_local $$sub$ptr$rhs$cast345$i)
+ (get_local $$sub$ptr$rhs$cast319$i)
)
- (br $do-once$82)
)
- (block
- (set_local $$e$0531$i
- (get_local $$mul322$i)
- )
- (set_local $$i$0530$i
- (i32.const 10)
+ (set_local $$sub$ptr$div321$i
+ (i32.shr_s
+ (get_local $$sub$ptr$sub320$i)
+ (i32.const 2)
)
)
- )
- (loop $while-out$84 $while-in$85
- (set_local $$mul328$i
+ (set_local $$mul322$i
(i32.mul
- (get_local $$i$0530$i)
- (i32.const 10)
+ (get_local $$sub$ptr$div321$i)
+ (i32.const 9)
)
)
- (set_local $$inc$i
- (i32.add
- (get_local $$e$0531$i)
- (i32.const 1)
+ (set_local $$228
+ (i32.load
+ (get_local $$a$3$lcssa$i)
)
)
- (set_local $$cmp324$i
+ (set_local $$cmp324$529$i
(i32.lt_u
(get_local $$228)
- (get_local $$mul328$i)
+ (i32.const 10)
)
)
(if
- (get_local $$cmp324$i)
+ (get_local $$cmp324$529$i)
(block
(set_local $$e$1$i
- (get_local $$inc$i)
+ (get_local $$mul322$i)
)
- (br $while-out$84)
+ (br $do-once$82)
)
(block
(set_local $$e$0531$i
- (get_local $$inc$i)
+ (get_local $$mul322$i)
)
(set_local $$i$0530$i
- (get_local $$mul328$i)
+ (i32.const 10)
+ )
+ )
+ )
+ (loop $while-in$85
+ (block $while-out$84
+ (set_local $$mul328$i
+ (i32.mul
+ (get_local $$i$0530$i)
+ (i32.const 10)
+ )
+ )
+ (set_local $$inc$i
+ (i32.add
+ (get_local $$e$0531$i)
+ (i32.const 1)
+ )
+ )
+ (set_local $$cmp324$i
+ (i32.lt_u
+ (get_local $$228)
+ (get_local $$mul328$i)
+ )
+ )
+ (if
+ (get_local $$cmp324$i)
+ (block
+ (set_local $$e$1$i
+ (get_local $$inc$i)
+ )
+ (br $while-out$84)
+ )
+ (block
+ (set_local $$e$0531$i
+ (get_local $$inc$i)
+ )
+ (set_local $$i$0530$i
+ (get_local $$mul328$i)
+ )
+ )
)
+ (br $while-in$85)
)
)
- (br $while-in$85)
)
- )
- (set_local $$e$1$i
- (i32.const 0)
+ (set_local $$e$1$i
+ (i32.const 0)
+ )
)
)
- )
- (set_local $$cmp333$i
- (i32.ne
- (get_local $$or$i$241)
- (i32.const 102)
+ (set_local $$cmp333$i
+ (i32.ne
+ (get_local $$or$i$241)
+ (i32.const 102)
+ )
)
- )
- (set_local $$mul335$i
- (if
- (get_local $$cmp333$i)
- (get_local $$e$1$i)
- (i32.const 0)
+ (set_local $$mul335$i
+ (if
+ (get_local $$cmp333$i)
+ (get_local $$e$1$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$sub336$i
- (i32.sub
- (get_local $$$p$i)
- (get_local $$mul335$i)
+ (set_local $$sub336$i
+ (i32.sub
+ (get_local $$$p$i)
+ (get_local $$mul335$i)
+ )
)
- )
- (set_local $$cmp338$i
- (i32.eq
- (get_local $$or$i$241)
- (i32.const 103)
+ (set_local $$cmp338$i
+ (i32.eq
+ (get_local $$or$i$241)
+ (i32.const 103)
+ )
)
- )
- (set_local $$tobool341$i
- (i32.ne
- (get_local $$$p$i)
- (i32.const 0)
+ (set_local $$tobool341$i
+ (i32.ne
+ (get_local $$$p$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$229
- (i32.and
- (get_local $$tobool341$i)
- (get_local $$cmp338$i)
+ (set_local $$229
+ (i32.and
+ (get_local $$tobool341$i)
+ (get_local $$cmp338$i)
+ )
)
- )
- (set_local $$land$ext$neg$i
- (i32.shr_s
- (i32.shl
- (get_local $$229)
+ (set_local $$land$ext$neg$i
+ (i32.shr_s
+ (i32.shl
+ (get_local $$229)
+ (i32.const 31)
+ )
(i32.const 31)
)
- (i32.const 31)
)
- )
- (set_local $$sub343$i
- (i32.add
- (get_local $$sub336$i)
- (get_local $$land$ext$neg$i)
- )
- )
- (set_local $$sub$ptr$lhs$cast344$i
- (get_local $$z$3$lcssa$i)
- )
- (set_local $$sub$ptr$sub346$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast344$i)
- (get_local $$sub$ptr$rhs$cast345$i)
+ (set_local $$sub343$i
+ (i32.add
+ (get_local $$sub336$i)
+ (get_local $$land$ext$neg$i)
+ )
)
- )
- (set_local $$sub$ptr$div347$i
- (i32.shr_s
- (get_local $$sub$ptr$sub346$i)
- (i32.const 2)
+ (set_local $$sub$ptr$lhs$cast344$i
+ (get_local $$z$3$lcssa$i)
)
- )
- (set_local $$230
- (i32.mul
- (get_local $$sub$ptr$div347$i)
- (i32.const 9)
+ (set_local $$sub$ptr$sub346$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast344$i)
+ (get_local $$sub$ptr$rhs$cast345$i)
+ )
)
- )
- (set_local $$mul349$i
- (i32.add
- (get_local $$230)
- (i32.const -9)
+ (set_local $$sub$ptr$div347$i
+ (i32.shr_s
+ (get_local $$sub$ptr$sub346$i)
+ (i32.const 2)
+ )
)
- )
- (set_local $$cmp350$i
- (i32.lt_s
- (get_local $$sub343$i)
- (get_local $$mul349$i)
+ (set_local $$230
+ (i32.mul
+ (get_local $$sub$ptr$div347$i)
+ (i32.const 9)
+ )
)
- )
- (if
- (get_local $$cmp350$i)
- (block
- (set_local $$add$ptr354$i
- (i32.add
- (get_local $$arraydecay208$add$ptr213$i)
- (i32.const 4)
- )
+ (set_local $$mul349$i
+ (i32.add
+ (get_local $$230)
+ (i32.const -9)
)
- (set_local $$add355$i
- (i32.add
- (get_local $$sub343$i)
- (i32.const 9216)
- )
+ )
+ (set_local $$cmp350$i
+ (i32.lt_s
+ (get_local $$sub343$i)
+ (get_local $$mul349$i)
)
- (set_local $$div356$i
- (i32.and
- (call_import $i32s-div
- (get_local $$add355$i)
- (i32.const 9)
+ )
+ (if
+ (get_local $$cmp350$i)
+ (block
+ (set_local $$add$ptr354$i
+ (i32.add
+ (get_local $$arraydecay208$add$ptr213$i)
+ (i32.const 4)
)
- (i32.const -1)
)
- )
- (set_local $$sub357$i
- (i32.add
- (get_local $$div356$i)
- (i32.const -1024)
+ (set_local $$add355$i
+ (i32.add
+ (get_local $$sub343$i)
+ (i32.const 9216)
+ )
)
- )
- (set_local $$add$ptr358$i
- (i32.add
- (get_local $$add$ptr354$i)
- (i32.shl
- (get_local $$sub357$i)
- (i32.const 2)
+ (set_local $$div356$i
+ (i32.and
+ (call_import $i32s-div
+ (get_local $$add355$i)
+ (i32.const 9)
+ )
+ (i32.const -1)
)
)
- )
- (set_local $$rem360$i
- (i32.and
- (call_import $i32s-rem
- (get_local $$add355$i)
- (i32.const 9)
+ (set_local $$sub357$i
+ (i32.add
+ (get_local $$div356$i)
+ (i32.const -1024)
)
- (i32.const -1)
)
- )
- (set_local $$j$0$524$i
- (i32.add
- (get_local $$rem360$i)
- (i32.const 1)
+ (set_local $$add$ptr358$i
+ (i32.add
+ (get_local $$add$ptr354$i)
+ (i32.shl
+ (get_local $$sub357$i)
+ (i32.const 2)
+ )
+ )
)
- )
- (set_local $$cmp363$525$i
- (i32.lt_s
- (get_local $$j$0$524$i)
- (i32.const 9)
+ (set_local $$rem360$i
+ (i32.and
+ (call_import $i32s-rem
+ (get_local $$add355$i)
+ (i32.const 9)
+ )
+ (i32.const -1)
+ )
)
- )
- (if
- (get_local $$cmp363$525$i)
- (block
- (set_local $$i$1526$i
- (i32.const 10)
+ (set_local $$j$0$524$i
+ (i32.add
+ (get_local $$rem360$i)
+ (i32.const 1)
)
- (set_local $$j$0527$i
+ )
+ (set_local $$cmp363$525$i
+ (i32.lt_s
(get_local $$j$0$524$i)
+ (i32.const 9)
)
- (loop $while-out$86 $while-in$87
- (set_local $$mul367$i
- (i32.mul
- (get_local $$i$1526$i)
- (i32.const 10)
- )
- )
- (set_local $$j$0$i
- (i32.add
- (get_local $$j$0527$i)
- (i32.const 1)
- )
+ )
+ (if
+ (get_local $$cmp363$525$i)
+ (block
+ (set_local $$i$1526$i
+ (i32.const 10)
)
- (set_local $$exitcond$i
- (i32.eq
- (get_local $$j$0$i)
- (i32.const 9)
- )
+ (set_local $$j$0527$i
+ (get_local $$j$0$524$i)
)
- (if
- (get_local $$exitcond$i)
- (block
- (set_local $$i$1$lcssa$i
- (get_local $$mul367$i)
+ (loop $while-in$87
+ (block $while-out$86
+ (set_local $$mul367$i
+ (i32.mul
+ (get_local $$i$1526$i)
+ (i32.const 10)
+ )
)
- (br $while-out$86)
- )
- (block
- (set_local $$i$1526$i
- (get_local $$mul367$i)
+ (set_local $$j$0$i
+ (i32.add
+ (get_local $$j$0527$i)
+ (i32.const 1)
+ )
+ )
+ (set_local $$exitcond$i
+ (i32.eq
+ (get_local $$j$0$i)
+ (i32.const 9)
+ )
)
- (set_local $$j$0527$i
- (get_local $$j$0$i)
+ (if
+ (get_local $$exitcond$i)
+ (block
+ (set_local $$i$1$lcssa$i
+ (get_local $$mul367$i)
+ )
+ (br $while-out$86)
+ )
+ (block
+ (set_local $$i$1526$i
+ (get_local $$mul367$i)
+ )
+ (set_local $$j$0527$i
+ (get_local $$j$0$i)
+ )
+ )
)
+ (br $while-in$87)
)
)
- (br $while-in$87)
+ )
+ (set_local $$i$1$lcssa$i
+ (i32.const 10)
)
)
- (set_local $$i$1$lcssa$i
- (i32.const 10)
- )
- )
- (set_local $$231
- (i32.load
- (get_local $$add$ptr358$i)
- )
- )
- (set_local $$rem370$i
- (i32.and
- (call_import $i32u-rem
- (get_local $$231)
- (get_local $$i$1$lcssa$i)
+ (set_local $$231
+ (i32.load
+ (get_local $$add$ptr358$i)
)
- (i32.const -1)
)
- )
- (set_local $$tobool371$i
- (i32.eq
- (get_local $$rem370$i)
- (i32.const 0)
+ (set_local $$rem370$i
+ (i32.and
+ (call_import $i32u-rem
+ (get_local $$231)
+ (get_local $$i$1$lcssa$i)
+ )
+ (i32.const -1)
+ )
)
- )
- (set_local $$add$ptr373$i
- (i32.add
- (get_local $$add$ptr358$i)
- (i32.const 4)
+ (set_local $$tobool371$i
+ (i32.eq
+ (get_local $$rem370$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$cmp374$i
- (i32.eq
- (get_local $$add$ptr373$i)
- (get_local $$z$3$lcssa$i)
+ (set_local $$add$ptr373$i
+ (i32.add
+ (get_local $$add$ptr358$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$or$cond395$i
- (i32.and
- (get_local $$cmp374$i)
- (get_local $$tobool371$i)
+ (set_local $$cmp374$i
+ (i32.eq
+ (get_local $$add$ptr373$i)
+ (get_local $$z$3$lcssa$i)
+ )
)
- )
- (block $do-once$88
- (if
- (get_local $$or$cond395$i)
- (block
- (set_local $$a$8$i
- (get_local $$a$3$lcssa$i)
- )
- (set_local $$d$4$i
- (get_local $$add$ptr358$i)
- )
- (set_local $$e$4$i
- (get_local $$e$1$i)
- )
+ (set_local $$or$cond395$i
+ (i32.and
+ (get_local $$cmp374$i)
+ (get_local $$tobool371$i)
)
- (block
- (set_local $$div378$i
- (i32.and
- (call_import $i32u-div
- (get_local $$231)
- (get_local $$i$1$lcssa$i)
- )
- (i32.const -1)
- )
- )
- (set_local $$and379$i
- (i32.and
- (get_local $$div378$i)
- (i32.const 1)
+ )
+ (block $do-once$88
+ (if
+ (get_local $$or$cond395$i)
+ (block
+ (set_local $$a$8$i
+ (get_local $$a$3$lcssa$i)
)
- )
- (set_local $$tobool380$i
- (i32.eq
- (get_local $$and379$i)
- (i32.const 0)
+ (set_local $$d$4$i
+ (get_local $$add$ptr358$i)
)
- )
- (set_local $$$396$i
- (if
- (get_local $$tobool380$i)
- (f64.const 9007199254740992)
- (f64.const 9007199254740994)
+ (set_local $$e$4$i
+ (get_local $$e$1$i)
)
)
- (set_local $$div384$i
- (i32.and
- (call_import $i32s-div
- (get_local $$i$1$lcssa$i)
- (i32.const 2)
+ (block
+ (set_local $$div378$i
+ (i32.and
+ (call_import $i32u-div
+ (get_local $$231)
+ (get_local $$i$1$lcssa$i)
+ )
+ (i32.const -1)
)
- (i32.const -1)
- )
- )
- (set_local $$cmp385$i
- (i32.lt_u
- (get_local $$rem370$i)
- (get_local $$div384$i)
)
- )
- (if
- (get_local $$cmp385$i)
- (set_local $$small$0$i
- (f64.const 0.5)
+ (set_local $$and379$i
+ (i32.and
+ (get_local $$div378$i)
+ (i32.const 1)
+ )
)
- (block
- (set_local $$cmp390$i
- (i32.eq
- (get_local $$rem370$i)
- (get_local $$div384$i)
- )
+ (set_local $$tobool380$i
+ (i32.eq
+ (get_local $$and379$i)
+ (i32.const 0)
)
- (set_local $$or$cond397$i
- (i32.and
- (get_local $$cmp374$i)
- (get_local $$cmp390$i)
- )
+ )
+ (set_local $$$396$i
+ (if
+ (get_local $$tobool380$i)
+ (f64.const 9007199254740992)
+ (f64.const 9007199254740994)
)
- (set_local $$$404$i
- (if
- (get_local $$or$cond397$i)
- (f64.const 1)
- (f64.const 1.5)
+ )
+ (set_local $$div384$i
+ (i32.and
+ (call_import $i32s-div
+ (get_local $$i$1$lcssa$i)
+ (i32.const 2)
)
- )
- (set_local $$small$0$i
- (get_local $$$404$i)
+ (i32.const -1)
)
)
- )
- (set_local $$tobool400$i
- (i32.eq
- (get_local $$pl$0$i)
- (i32.const 0)
+ (set_local $$cmp385$i
+ (i32.lt_u
+ (get_local $$rem370$i)
+ (get_local $$div384$i)
+ )
)
- )
- (block $do-once$90
(if
- (get_local $$tobool400$i)
+ (get_local $$cmp385$i)
+ (set_local $$small$0$i
+ (f64.const 0.5)
+ )
(block
- (set_local $$round377$1$i
- (get_local $$$396$i)
+ (set_local $$cmp390$i
+ (i32.eq
+ (get_local $$rem370$i)
+ (get_local $$div384$i)
+ )
+ )
+ (set_local $$or$cond397$i
+ (i32.and
+ (get_local $$cmp374$i)
+ (get_local $$cmp390$i)
+ )
)
- (set_local $$small$1$i
- (get_local $$small$0$i)
+ (set_local $$$404$i
+ (if
+ (get_local $$or$cond397$i)
+ (f64.const 1)
+ (f64.const 1.5)
+ )
+ )
+ (set_local $$small$0$i
+ (get_local $$$404$i)
)
)
- (block
- (set_local $$232
- (i32.load8_s
- (get_local $$prefix$0$i)
+ )
+ (set_local $$tobool400$i
+ (i32.eq
+ (get_local $$pl$0$i)
+ (i32.const 0)
+ )
+ )
+ (block $do-once$90
+ (if
+ (get_local $$tobool400$i)
+ (block
+ (set_local $$round377$1$i
+ (get_local $$$396$i)
+ )
+ (set_local $$small$1$i
+ (get_local $$small$0$i)
)
)
- (set_local $$cmp403$i
- (i32.eq
- (i32.shr_s
- (i32.shl
- (get_local $$232)
+ (block
+ (set_local $$232
+ (i32.load8_s
+ (get_local $$prefix$0$i)
+ )
+ )
+ (set_local $$cmp403$i
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (get_local $$232)
+ (i32.const 24)
+ )
(i32.const 24)
)
- (i32.const 24)
+ (i32.const 45)
)
- (i32.const 45)
)
- )
- (if
- (i32.eqz
- (get_local $$cmp403$i)
+ (if
+ (i32.eqz
+ (get_local $$cmp403$i)
+ )
+ (block
+ (set_local $$round377$1$i
+ (get_local $$$396$i)
+ )
+ (set_local $$small$1$i
+ (get_local $$small$0$i)
+ )
+ (br $do-once$90)
+ )
)
- (block
- (set_local $$round377$1$i
+ (set_local $$mul406$i
+ (f64.neg
(get_local $$$396$i)
)
- (set_local $$small$1$i
+ )
+ (set_local $$mul407$i
+ (f64.neg
(get_local $$small$0$i)
)
- (br $do-once$90)
)
- )
- (set_local $$mul406$i
- (f64.neg
- (get_local $$$396$i)
+ (set_local $$round377$1$i
+ (get_local $$mul406$i)
)
- )
- (set_local $$mul407$i
- (f64.neg
- (get_local $$small$0$i)
+ (set_local $$small$1$i
+ (get_local $$mul407$i)
)
)
- (set_local $$round377$1$i
- (get_local $$mul406$i)
- )
- (set_local $$small$1$i
- (get_local $$mul407$i)
- )
)
)
- )
- (set_local $$sub409$i
- (i32.sub
- (get_local $$231)
- (get_local $$rem370$i)
- )
- )
- (i32.store
- (get_local $$add$ptr358$i)
- (get_local $$sub409$i)
- )
- (set_local $$add410$i
- (f64.add
- (get_local $$round377$1$i)
- (get_local $$small$1$i)
+ (set_local $$sub409$i
+ (i32.sub
+ (get_local $$231)
+ (get_local $$rem370$i)
+ )
)
- )
- (set_local $$cmp411$i
- (f64.ne
- (get_local $$add410$i)
- (get_local $$round377$1$i)
+ (i32.store
+ (get_local $$add$ptr358$i)
+ (get_local $$sub409$i)
)
- )
- (if
- (i32.eqz
- (get_local $$cmp411$i)
+ (set_local $$add410$i
+ (f64.add
+ (get_local $$round377$1$i)
+ (get_local $$small$1$i)
+ )
)
- (block
- (set_local $$a$8$i
- (get_local $$a$3$lcssa$i)
+ (set_local $$cmp411$i
+ (f64.ne
+ (get_local $$add410$i)
+ (get_local $$round377$1$i)
)
- (set_local $$d$4$i
- (get_local $$add$ptr358$i)
+ )
+ (if
+ (i32.eqz
+ (get_local $$cmp411$i)
)
- (set_local $$e$4$i
- (get_local $$e$1$i)
+ (block
+ (set_local $$a$8$i
+ (get_local $$a$3$lcssa$i)
+ )
+ (set_local $$d$4$i
+ (get_local $$add$ptr358$i)
+ )
+ (set_local $$e$4$i
+ (get_local $$e$1$i)
+ )
+ (br $do-once$88)
)
- (br $do-once$88)
)
- )
- (set_local $$add414$i
- (i32.add
- (get_local $$sub409$i)
- (get_local $$i$1$lcssa$i)
+ (set_local $$add414$i
+ (i32.add
+ (get_local $$sub409$i)
+ (get_local $$i$1$lcssa$i)
+ )
)
- )
- (i32.store
- (get_local $$add$ptr358$i)
- (get_local $$add414$i)
- )
- (set_local $$cmp416$519$i
- (i32.gt_u
+ (i32.store
+ (get_local $$add$ptr358$i)
(get_local $$add414$i)
- (i32.const 999999999)
)
- )
- (if
- (get_local $$cmp416$519$i)
- (block
- (set_local $$a$5521$i
- (get_local $$a$3$lcssa$i)
- )
- (set_local $$d$2520$i
- (get_local $$add$ptr358$i)
+ (set_local $$cmp416$519$i
+ (i32.gt_u
+ (get_local $$add414$i)
+ (i32.const 999999999)
)
- (loop $while-out$92 $while-in$93
- (set_local $$incdec$ptr419$i
- (i32.add
- (get_local $$d$2520$i)
- (i32.const -4)
- )
- )
- (i32.store
- (get_local $$d$2520$i)
- (i32.const 0)
+ )
+ (if
+ (get_local $$cmp416$519$i)
+ (block
+ (set_local $$a$5521$i
+ (get_local $$a$3$lcssa$i)
)
- (set_local $$cmp420$i
- (i32.lt_u
- (get_local $$incdec$ptr419$i)
- (get_local $$a$5521$i)
- )
+ (set_local $$d$2520$i
+ (get_local $$add$ptr358$i)
)
- (if
- (get_local $$cmp420$i)
- (block
- (set_local $$incdec$ptr423$i
+ (loop $while-in$93
+ (block $while-out$92
+ (set_local $$incdec$ptr419$i
(i32.add
- (get_local $$a$5521$i)
+ (get_local $$d$2520$i)
(i32.const -4)
)
)
(i32.store
- (get_local $$incdec$ptr423$i)
+ (get_local $$d$2520$i)
(i32.const 0)
)
- (set_local $$a$6$i
- (get_local $$incdec$ptr423$i)
+ (set_local $$cmp420$i
+ (i32.lt_u
+ (get_local $$incdec$ptr419$i)
+ (get_local $$a$5521$i)
+ )
)
- )
- (set_local $$a$6$i
- (get_local $$a$5521$i)
- )
- )
- (set_local $$233
- (i32.load
- (get_local $$incdec$ptr419$i)
- )
- )
- (set_local $$inc425$i
- (i32.add
- (get_local $$233)
- (i32.const 1)
- )
- )
- (i32.store
- (get_local $$incdec$ptr419$i)
- (get_local $$inc425$i)
- )
- (set_local $$cmp416$i
- (i32.gt_u
- (get_local $$inc425$i)
- (i32.const 999999999)
- )
- )
- (if
- (get_local $$cmp416$i)
- (block
- (set_local $$a$5521$i
- (get_local $$a$6$i)
+ (if
+ (get_local $$cmp420$i)
+ (block
+ (set_local $$incdec$ptr423$i
+ (i32.add
+ (get_local $$a$5521$i)
+ (i32.const -4)
+ )
+ )
+ (i32.store
+ (get_local $$incdec$ptr423$i)
+ (i32.const 0)
+ )
+ (set_local $$a$6$i
+ (get_local $$incdec$ptr423$i)
+ )
+ )
+ (set_local $$a$6$i
+ (get_local $$a$5521$i)
+ )
)
- (set_local $$d$2520$i
- (get_local $$incdec$ptr419$i)
+ (set_local $$233
+ (i32.load
+ (get_local $$incdec$ptr419$i)
+ )
)
- )
- (block
- (set_local $$a$5$lcssa$i
- (get_local $$a$6$i)
+ (set_local $$inc425$i
+ (i32.add
+ (get_local $$233)
+ (i32.const 1)
+ )
)
- (set_local $$d$2$lcssa$i
+ (i32.store
(get_local $$incdec$ptr419$i)
+ (get_local $$inc425$i)
+ )
+ (set_local $$cmp416$i
+ (i32.gt_u
+ (get_local $$inc425$i)
+ (i32.const 999999999)
+ )
+ )
+ (if
+ (get_local $$cmp416$i)
+ (block
+ (set_local $$a$5521$i
+ (get_local $$a$6$i)
+ )
+ (set_local $$d$2520$i
+ (get_local $$incdec$ptr419$i)
+ )
+ )
+ (block
+ (set_local $$a$5$lcssa$i
+ (get_local $$a$6$i)
+ )
+ (set_local $$d$2$lcssa$i
+ (get_local $$incdec$ptr419$i)
+ )
+ (br $while-out$92)
+ )
)
- (br $while-out$92)
+ (br $while-in$93)
)
)
- (br $while-in$93)
- )
- )
- (block
- (set_local $$a$5$lcssa$i
- (get_local $$a$3$lcssa$i)
)
- (set_local $$d$2$lcssa$i
- (get_local $$add$ptr358$i)
+ (block
+ (set_local $$a$5$lcssa$i
+ (get_local $$a$3$lcssa$i)
+ )
+ (set_local $$d$2$lcssa$i
+ (get_local $$add$ptr358$i)
+ )
)
)
- )
- (set_local $$sub$ptr$rhs$cast428$i
- (get_local $$a$5$lcssa$i)
- )
- (set_local $$sub$ptr$sub429$i
- (i32.sub
- (get_local $$sub$ptr$rhs$cast345$i)
- (get_local $$sub$ptr$rhs$cast428$i)
- )
- )
- (set_local $$sub$ptr$div430$i
- (i32.shr_s
- (get_local $$sub$ptr$sub429$i)
- (i32.const 2)
- )
- )
- (set_local $$mul431$i
- (i32.mul
- (get_local $$sub$ptr$div430$i)
- (i32.const 9)
- )
- )
- (set_local $$234
- (i32.load
+ (set_local $$sub$ptr$rhs$cast428$i
(get_local $$a$5$lcssa$i)
)
- )
- (set_local $$cmp433$515$i
- (i32.lt_u
- (get_local $$234)
- (i32.const 10)
- )
- )
- (if
- (get_local $$cmp433$515$i)
- (block
- (set_local $$a$8$i
- (get_local $$a$5$lcssa$i)
- )
- (set_local $$d$4$i
- (get_local $$d$2$lcssa$i)
- )
- (set_local $$e$4$i
- (get_local $$mul431$i)
+ (set_local $$sub$ptr$sub429$i
+ (i32.sub
+ (get_local $$sub$ptr$rhs$cast345$i)
+ (get_local $$sub$ptr$rhs$cast428$i)
)
- (br $do-once$88)
)
- (block
- (set_local $$e$2517$i
- (get_local $$mul431$i)
- )
- (set_local $$i$2516$i
- (i32.const 10)
+ (set_local $$sub$ptr$div430$i
+ (i32.shr_s
+ (get_local $$sub$ptr$sub429$i)
+ (i32.const 2)
)
)
- )
- (loop $while-out$94 $while-in$95
- (set_local $$mul437$i
+ (set_local $$mul431$i
(i32.mul
- (get_local $$i$2516$i)
- (i32.const 10)
+ (get_local $$sub$ptr$div430$i)
+ (i32.const 9)
)
)
- (set_local $$inc438$i
- (i32.add
- (get_local $$e$2517$i)
- (i32.const 1)
+ (set_local $$234
+ (i32.load
+ (get_local $$a$5$lcssa$i)
)
)
- (set_local $$cmp433$i
+ (set_local $$cmp433$515$i
(i32.lt_u
(get_local $$234)
- (get_local $$mul437$i)
+ (i32.const 10)
)
)
(if
- (get_local $$cmp433$i)
+ (get_local $$cmp433$515$i)
(block
(set_local $$a$8$i
(get_local $$a$5$lcssa$i)
@@ -11398,2543 +11262,2624 @@
(get_local $$d$2$lcssa$i)
)
(set_local $$e$4$i
- (get_local $$inc438$i)
+ (get_local $$mul431$i)
)
- (br $while-out$94)
+ (br $do-once$88)
)
(block
(set_local $$e$2517$i
- (get_local $$inc438$i)
+ (get_local $$mul431$i)
)
(set_local $$i$2516$i
- (get_local $$mul437$i)
+ (i32.const 10)
+ )
+ )
+ )
+ (loop $while-in$95
+ (block $while-out$94
+ (set_local $$mul437$i
+ (i32.mul
+ (get_local $$i$2516$i)
+ (i32.const 10)
+ )
+ )
+ (set_local $$inc438$i
+ (i32.add
+ (get_local $$e$2517$i)
+ (i32.const 1)
+ )
+ )
+ (set_local $$cmp433$i
+ (i32.lt_u
+ (get_local $$234)
+ (get_local $$mul437$i)
+ )
+ )
+ (if
+ (get_local $$cmp433$i)
+ (block
+ (set_local $$a$8$i
+ (get_local $$a$5$lcssa$i)
+ )
+ (set_local $$d$4$i
+ (get_local $$d$2$lcssa$i)
+ )
+ (set_local $$e$4$i
+ (get_local $$inc438$i)
+ )
+ (br $while-out$94)
+ )
+ (block
+ (set_local $$e$2517$i
+ (get_local $$inc438$i)
+ )
+ (set_local $$i$2516$i
+ (get_local $$mul437$i)
+ )
+ )
)
+ (br $while-in$95)
)
)
- (br $while-in$95)
)
)
)
- )
- (set_local $$add$ptr442$i
- (i32.add
- (get_local $$d$4$i)
- (i32.const 4)
+ (set_local $$add$ptr442$i
+ (i32.add
+ (get_local $$d$4$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$cmp443$i
- (i32.gt_u
- (get_local $$z$3$lcssa$i)
- (get_local $$add$ptr442$i)
+ (set_local $$cmp443$i
+ (i32.gt_u
+ (get_local $$z$3$lcssa$i)
+ (get_local $$add$ptr442$i)
+ )
)
- )
- (set_local $$add$ptr442$z$3$i
- (if
- (get_local $$cmp443$i)
- (get_local $$add$ptr442$i)
- (get_local $$z$3$lcssa$i)
+ (set_local $$add$ptr442$z$3$i
+ (if
+ (get_local $$cmp443$i)
+ (get_local $$add$ptr442$i)
+ (get_local $$z$3$lcssa$i)
+ )
+ )
+ (set_local $$a$9$ph$i
+ (get_local $$a$8$i)
+ )
+ (set_local $$e$5$ph$i
+ (get_local $$e$4$i)
+ )
+ (set_local $$z$7$ph$i
+ (get_local $$add$ptr442$z$3$i)
)
- )
- (set_local $$a$9$ph$i
- (get_local $$a$8$i)
- )
- (set_local $$e$5$ph$i
- (get_local $$e$4$i)
- )
- (set_local $$z$7$ph$i
- (get_local $$add$ptr442$z$3$i)
- )
- )
- (block
- (set_local $$a$9$ph$i
- (get_local $$a$3$lcssa$i)
- )
- (set_local $$e$5$ph$i
- (get_local $$e$1$i)
- )
- (set_local $$z$7$ph$i
- (get_local $$z$3$lcssa$i)
- )
- )
- )
- (set_local $$sub626$le$i
- (i32.sub
- (i32.const 0)
- (get_local $$e$5$ph$i)
- )
- )
- (set_local $$z$7$i
- (get_local $$z$7$ph$i)
- )
- (loop $while-out$96 $while-in$97
- (set_local $$cmp450$i
- (i32.gt_u
- (get_local $$z$7$i)
- (get_local $$a$9$ph$i)
- )
- )
- (if
- (i32.eqz
- (get_local $$cmp450$i)
)
(block
- (set_local $$cmp450$lcssa$i
- (i32.const 0)
+ (set_local $$a$9$ph$i
+ (get_local $$a$3$lcssa$i)
)
- (set_local $$z$7$i$lcssa
- (get_local $$z$7$i)
+ (set_local $$e$5$ph$i
+ (get_local $$e$1$i)
+ )
+ (set_local $$z$7$ph$i
+ (get_local $$z$3$lcssa$i)
)
- (br $while-out$96)
- )
- )
- (set_local $$arrayidx453$i
- (i32.add
- (get_local $$z$7$i)
- (i32.const -4)
- )
- )
- (set_local $$235
- (i32.load
- (get_local $$arrayidx453$i)
)
)
- (set_local $$lnot455$i
- (i32.eq
- (get_local $$235)
+ (set_local $$sub626$le$i
+ (i32.sub
(i32.const 0)
+ (get_local $$e$5$ph$i)
)
)
- (if
- (get_local $$lnot455$i)
- (set_local $$z$7$i
- (get_local $$arrayidx453$i)
- )
- (block
- (set_local $$cmp450$lcssa$i
- (i32.const 1)
- )
- (set_local $$z$7$i$lcssa
- (get_local $$z$7$i)
- )
- (br $while-out$96)
- )
+ (set_local $$z$7$i
+ (get_local $$z$7$ph$i)
)
- (br $while-in$97)
- )
- (block $do-once$98
- (if
- (get_local $$cmp338$i)
- (block
- (set_local $$236
- (i32.and
- (get_local $$tobool341$i)
- (i32.const 1)
+ (loop $while-in$97
+ (block $while-out$96
+ (set_local $$cmp450$i
+ (i32.gt_u
+ (get_local $$z$7$i)
+ (get_local $$a$9$ph$i)
)
)
- (set_local $$inc468$i
- (i32.xor
- (get_local $$236)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $$cmp450$i)
)
- )
- (set_local $$$p$inc468$i
- (i32.add
- (get_local $$inc468$i)
- (get_local $$$p$i)
+ (block
+ (set_local $$cmp450$lcssa$i
+ (i32.const 0)
+ )
+ (set_local $$z$7$i$lcssa
+ (get_local $$z$7$i)
+ )
+ (br $while-out$96)
)
)
- (set_local $$cmp470$i
- (i32.gt_s
- (get_local $$$p$inc468$i)
- (get_local $$e$5$ph$i)
+ (set_local $$arrayidx453$i
+ (i32.add
+ (get_local $$z$7$i)
+ (i32.const -4)
)
)
- (set_local $$cmp473$i
- (i32.gt_s
- (get_local $$e$5$ph$i)
- (i32.const -5)
+ (set_local $$235
+ (i32.load
+ (get_local $$arrayidx453$i)
)
)
- (set_local $$or$cond2$i
- (i32.and
- (get_local $$cmp470$i)
- (get_local $$cmp473$i)
+ (set_local $$lnot455$i
+ (i32.eq
+ (get_local $$235)
+ (i32.const 0)
)
)
(if
- (get_local $$or$cond2$i)
- (block
- (set_local $$dec476$i
- (i32.add
- (get_local $$t$0)
- (i32.const -1)
- )
- )
- (set_local $$add477$neg$i
- (i32.add
- (get_local $$$p$inc468$i)
- (i32.const -1)
- )
- )
- (set_local $$sub478$i
- (i32.sub
- (get_local $$add477$neg$i)
- (get_local $$e$5$ph$i)
- )
- )
- (set_local $$p$addr$2$i
- (get_local $$sub478$i)
- )
- (set_local $$t$addr$0$i
- (get_local $$dec476$i)
- )
+ (get_local $$lnot455$i)
+ (set_local $$z$7$i
+ (get_local $$arrayidx453$i)
)
(block
- (set_local $$sub480$i
- (i32.add
- (get_local $$t$0)
- (i32.const -2)
- )
- )
- (set_local $$dec481$i
- (i32.add
- (get_local $$$p$inc468$i)
- (i32.const -1)
- )
- )
- (set_local $$p$addr$2$i
- (get_local $$dec481$i)
+ (set_local $$cmp450$lcssa$i
+ (i32.const 1)
)
- (set_local $$t$addr$0$i
- (get_local $$sub480$i)
+ (set_local $$z$7$i$lcssa
+ (get_local $$z$7$i)
)
+ (br $while-out$96)
)
)
- (set_local $$and483$i
- (i32.and
- (get_local $$fl$1$and219)
- (i32.const 8)
+ (br $while-in$97)
+ )
+ )
+ (block $do-once$98
+ (if
+ (get_local $$cmp338$i)
+ (block
+ (set_local $$236
+ (i32.and
+ (get_local $$tobool341$i)
+ (i32.const 1)
+ )
)
- )
- (set_local $$tobool484$i
- (i32.eq
- (get_local $$and483$i)
- (i32.const 0)
+ (set_local $$inc468$i
+ (i32.xor
+ (get_local $$236)
+ (i32.const 1)
+ )
)
- )
- (if
- (i32.eqz
- (get_local $$tobool484$i)
+ (set_local $$$p$inc468$i
+ (i32.add
+ (get_local $$inc468$i)
+ (get_local $$$p$i)
+ )
)
- (block
- (set_local $$and610$pre$phi$iZ2D
- (get_local $$and483$i)
+ (set_local $$cmp470$i
+ (i32.gt_s
+ (get_local $$$p$inc468$i)
+ (get_local $$e$5$ph$i)
)
- (set_local $$p$addr$3$i
- (get_local $$p$addr$2$i)
+ )
+ (set_local $$cmp473$i
+ (i32.gt_s
+ (get_local $$e$5$ph$i)
+ (i32.const -5)
)
- (set_local $$t$addr$1$i
- (get_local $$t$addr$0$i)
+ )
+ (set_local $$or$cond2$i
+ (i32.and
+ (get_local $$cmp470$i)
+ (get_local $$cmp473$i)
)
- (br $do-once$98)
)
- )
- (block $do-once$100
(if
- (get_local $$cmp450$lcssa$i)
+ (get_local $$or$cond2$i)
(block
- (set_local $$arrayidx489$i
+ (set_local $$dec476$i
(i32.add
- (get_local $$z$7$i$lcssa)
- (i32.const -4)
+ (get_local $$t$0)
+ (i32.const -1)
)
)
- (set_local $$237
- (i32.load
- (get_local $$arrayidx489$i)
+ (set_local $$add477$neg$i
+ (i32.add
+ (get_local $$$p$inc468$i)
+ (i32.const -1)
)
)
- (set_local $$tobool490$i
- (i32.eq
- (get_local $$237)
- (i32.const 0)
+ (set_local $$sub478$i
+ (i32.sub
+ (get_local $$add477$neg$i)
+ (get_local $$e$5$ph$i)
)
)
- (if
- (get_local $$tobool490$i)
- (block
- (set_local $$j$2$i
- (i32.const 9)
- )
- (br $do-once$100)
+ (set_local $$p$addr$2$i
+ (get_local $$sub478$i)
+ )
+ (set_local $$t$addr$0$i
+ (get_local $$dec476$i)
+ )
+ )
+ (block
+ (set_local $$sub480$i
+ (i32.add
+ (get_local $$t$0)
+ (i32.const -2)
)
)
- (set_local $$rem494$510$i
- (i32.and
- (call_import $i32u-rem
- (get_local $$237)
- (i32.const 10)
- )
+ (set_local $$dec481$i
+ (i32.add
+ (get_local $$$p$inc468$i)
(i32.const -1)
)
)
- (set_local $$cmp495$511$i
- (i32.eq
- (get_local $$rem494$510$i)
- (i32.const 0)
- )
+ (set_local $$p$addr$2$i
+ (get_local $$dec481$i)
)
- (if
- (get_local $$cmp495$511$i)
- (block
- (set_local $$i$3512$i
- (i32.const 10)
- )
- (set_local $$j$1513$i
- (i32.const 0)
+ (set_local $$t$addr$0$i
+ (get_local $$sub480$i)
+ )
+ )
+ )
+ (set_local $$and483$i
+ (i32.and
+ (get_local $$fl$1$and219)
+ (i32.const 8)
+ )
+ )
+ (set_local $$tobool484$i
+ (i32.eq
+ (get_local $$and483$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $$tobool484$i)
+ )
+ (block
+ (set_local $$and610$pre$phi$iZ2D
+ (get_local $$and483$i)
+ )
+ (set_local $$p$addr$3$i
+ (get_local $$p$addr$2$i)
+ )
+ (set_local $$t$addr$1$i
+ (get_local $$t$addr$0$i)
+ )
+ (br $do-once$98)
+ )
+ )
+ (block $do-once$100
+ (if
+ (get_local $$cmp450$lcssa$i)
+ (block
+ (set_local $$arrayidx489$i
+ (i32.add
+ (get_local $$z$7$i$lcssa)
+ (i32.const -4)
)
)
- (block
- (set_local $$j$2$i
- (i32.const 0)
+ (set_local $$237
+ (i32.load
+ (get_local $$arrayidx489$i)
)
- (br $do-once$100)
)
- )
- (loop $while-out$102 $while-in$103
- (set_local $$mul499$i
- (i32.mul
- (get_local $$i$3512$i)
- (i32.const 10)
+ (set_local $$tobool490$i
+ (i32.eq
+ (get_local $$237)
+ (i32.const 0)
)
)
- (set_local $$inc500$i
- (i32.add
- (get_local $$j$1513$i)
- (i32.const 1)
+ (if
+ (get_local $$tobool490$i)
+ (block
+ (set_local $$j$2$i
+ (i32.const 9)
+ )
+ (br $do-once$100)
)
)
- (set_local $$rem494$i
+ (set_local $$rem494$510$i
(i32.and
(call_import $i32u-rem
(get_local $$237)
- (get_local $$mul499$i)
+ (i32.const 10)
)
(i32.const -1)
)
)
- (set_local $$cmp495$i
+ (set_local $$cmp495$511$i
(i32.eq
- (get_local $$rem494$i)
+ (get_local $$rem494$510$i)
(i32.const 0)
)
)
(if
- (get_local $$cmp495$i)
+ (get_local $$cmp495$511$i)
(block
(set_local $$i$3512$i
- (get_local $$mul499$i)
+ (i32.const 10)
)
(set_local $$j$1513$i
- (get_local $$inc500$i)
+ (i32.const 0)
)
)
(block
(set_local $$j$2$i
- (get_local $$inc500$i)
+ (i32.const 0)
+ )
+ (br $do-once$100)
+ )
+ )
+ (loop $while-in$103
+ (block $while-out$102
+ (set_local $$mul499$i
+ (i32.mul
+ (get_local $$i$3512$i)
+ (i32.const 10)
+ )
+ )
+ (set_local $$inc500$i
+ (i32.add
+ (get_local $$j$1513$i)
+ (i32.const 1)
+ )
+ )
+ (set_local $$rem494$i
+ (i32.and
+ (call_import $i32u-rem
+ (get_local $$237)
+ (get_local $$mul499$i)
+ )
+ (i32.const -1)
+ )
+ )
+ (set_local $$cmp495$i
+ (i32.eq
+ (get_local $$rem494$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$cmp495$i)
+ (block
+ (set_local $$i$3512$i
+ (get_local $$mul499$i)
+ )
+ (set_local $$j$1513$i
+ (get_local $$inc500$i)
+ )
+ )
+ (block
+ (set_local $$j$2$i
+ (get_local $$inc500$i)
+ )
+ (br $while-out$102)
+ )
)
- (br $while-out$102)
+ (br $while-in$103)
)
)
- (br $while-in$103)
+ )
+ (set_local $$j$2$i
+ (i32.const 9)
)
)
- (set_local $$j$2$i
- (i32.const 9)
+ )
+ (set_local $$or504$i
+ (i32.or
+ (get_local $$t$addr$0$i)
+ (i32.const 32)
)
)
- )
- (set_local $$or504$i
- (i32.or
- (get_local $$t$addr$0$i)
- (i32.const 32)
+ (set_local $$cmp505$i
+ (i32.eq
+ (get_local $$or504$i)
+ (i32.const 102)
+ )
)
- )
- (set_local $$cmp505$i
- (i32.eq
- (get_local $$or504$i)
- (i32.const 102)
+ (set_local $$sub$ptr$lhs$cast508$i
+ (get_local $$z$7$i$lcssa)
)
- )
- (set_local $$sub$ptr$lhs$cast508$i
- (get_local $$z$7$i$lcssa)
- )
- (set_local $$sub$ptr$sub510$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast508$i)
- (get_local $$sub$ptr$rhs$cast345$i)
+ (set_local $$sub$ptr$sub510$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast508$i)
+ (get_local $$sub$ptr$rhs$cast345$i)
+ )
)
- )
- (set_local $$sub$ptr$div511$i
- (i32.shr_s
- (get_local $$sub$ptr$sub510$i)
- (i32.const 2)
+ (set_local $$sub$ptr$div511$i
+ (i32.shr_s
+ (get_local $$sub$ptr$sub510$i)
+ (i32.const 2)
+ )
)
- )
- (set_local $$238
- (i32.mul
- (get_local $$sub$ptr$div511$i)
- (i32.const 9)
+ (set_local $$238
+ (i32.mul
+ (get_local $$sub$ptr$div511$i)
+ (i32.const 9)
+ )
)
- )
- (set_local $$mul513$i
- (i32.add
- (get_local $$238)
- (i32.const -9)
+ (set_local $$mul513$i
+ (i32.add
+ (get_local $$238)
+ (i32.const -9)
+ )
)
- )
- (if
- (get_local $$cmp505$i)
- (block
- (set_local $$sub514$i
- (i32.sub
- (get_local $$mul513$i)
- (get_local $$j$2$i)
+ (if
+ (get_local $$cmp505$i)
+ (block
+ (set_local $$sub514$i
+ (i32.sub
+ (get_local $$mul513$i)
+ (get_local $$j$2$i)
+ )
)
- )
- (set_local $$cmp515$i
- (i32.lt_s
- (get_local $$sub514$i)
- (i32.const 0)
+ (set_local $$cmp515$i
+ (i32.lt_s
+ (get_local $$sub514$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$$sub514$i
- (if
- (get_local $$cmp515$i)
+ (set_local $$$sub514$i
+ (if
+ (get_local $$cmp515$i)
+ (i32.const 0)
+ (get_local $$sub514$i)
+ )
+ )
+ (set_local $$cmp528$i
+ (i32.lt_s
+ (get_local $$p$addr$2$i)
+ (get_local $$$sub514$i)
+ )
+ )
+ (set_local $$p$addr$2$$sub514398$i
+ (if
+ (get_local $$cmp528$i)
+ (get_local $$p$addr$2$i)
+ (get_local $$$sub514$i)
+ )
+ )
+ (set_local $$and610$pre$phi$iZ2D
(i32.const 0)
- (get_local $$sub514$i)
)
- )
- (set_local $$cmp528$i
- (i32.lt_s
- (get_local $$p$addr$2$i)
- (get_local $$$sub514$i)
+ (set_local $$p$addr$3$i
+ (get_local $$p$addr$2$$sub514398$i)
)
- )
- (set_local $$p$addr$2$$sub514398$i
- (if
- (get_local $$cmp528$i)
- (get_local $$p$addr$2$i)
- (get_local $$$sub514$i)
+ (set_local $$t$addr$1$i
+ (get_local $$t$addr$0$i)
)
+ (br $do-once$98)
)
- (set_local $$and610$pre$phi$iZ2D
- (i32.const 0)
- )
- (set_local $$p$addr$3$i
- (get_local $$p$addr$2$$sub514398$i)
- )
- (set_local $$t$addr$1$i
- (get_local $$t$addr$0$i)
- )
- (br $do-once$98)
- )
- (block
- (set_local $$add561$i
- (i32.add
- (get_local $$mul513$i)
- (get_local $$e$5$ph$i)
+ (block
+ (set_local $$add561$i
+ (i32.add
+ (get_local $$mul513$i)
+ (get_local $$e$5$ph$i)
+ )
)
- )
- (set_local $$sub562$i
- (i32.sub
- (get_local $$add561$i)
- (get_local $$j$2$i)
+ (set_local $$sub562$i
+ (i32.sub
+ (get_local $$add561$i)
+ (get_local $$j$2$i)
+ )
)
- )
- (set_local $$cmp563$i
- (i32.lt_s
- (get_local $$sub562$i)
- (i32.const 0)
+ (set_local $$cmp563$i
+ (i32.lt_s
+ (get_local $$sub562$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$$sub562$i
- (if
- (get_local $$cmp563$i)
+ (set_local $$$sub562$i
+ (if
+ (get_local $$cmp563$i)
+ (i32.const 0)
+ (get_local $$sub562$i)
+ )
+ )
+ (set_local $$cmp577$i
+ (i32.lt_s
+ (get_local $$p$addr$2$i)
+ (get_local $$$sub562$i)
+ )
+ )
+ (set_local $$p$addr$2$$sub562399$i
+ (if
+ (get_local $$cmp577$i)
+ (get_local $$p$addr$2$i)
+ (get_local $$$sub562$i)
+ )
+ )
+ (set_local $$and610$pre$phi$iZ2D
(i32.const 0)
- (get_local $$sub562$i)
)
- )
- (set_local $$cmp577$i
- (i32.lt_s
- (get_local $$p$addr$2$i)
- (get_local $$$sub562$i)
+ (set_local $$p$addr$3$i
+ (get_local $$p$addr$2$$sub562399$i)
)
- )
- (set_local $$p$addr$2$$sub562399$i
- (if
- (get_local $$cmp577$i)
- (get_local $$p$addr$2$i)
- (get_local $$$sub562$i)
+ (set_local $$t$addr$1$i
+ (get_local $$t$addr$0$i)
)
+ (br $do-once$98)
)
- (set_local $$and610$pre$phi$iZ2D
- (i32.const 0)
- )
- (set_local $$p$addr$3$i
- (get_local $$p$addr$2$$sub562399$i)
- )
- (set_local $$t$addr$1$i
- (get_local $$t$addr$0$i)
- )
- (br $do-once$98)
)
)
- )
- (block
- (set_local $$$pre567$i
- (i32.and
- (get_local $$fl$1$and219)
- (i32.const 8)
+ (block
+ (set_local $$$pre567$i
+ (i32.and
+ (get_local $$fl$1$and219)
+ (i32.const 8)
+ )
+ )
+ (set_local $$and610$pre$phi$iZ2D
+ (get_local $$$pre567$i)
+ )
+ (set_local $$p$addr$3$i
+ (get_local $$$p$i)
+ )
+ (set_local $$t$addr$1$i
+ (get_local $$t$0)
)
- )
- (set_local $$and610$pre$phi$iZ2D
- (get_local $$$pre567$i)
- )
- (set_local $$p$addr$3$i
- (get_local $$$p$i)
- )
- (set_local $$t$addr$1$i
- (get_local $$t$0)
)
)
)
- )
- (set_local $$239
- (i32.or
- (get_local $$p$addr$3$i)
- (get_local $$and610$pre$phi$iZ2D)
- )
- )
- (set_local $$240
- (i32.ne
- (get_local $$239)
- (i32.const 0)
- )
- )
- (set_local $$lor$ext$i
- (i32.and
- (get_local $$240)
- (i32.const 1)
- )
- )
- (set_local $$or613$i
- (i32.or
- (get_local $$t$addr$1$i)
- (i32.const 32)
- )
- )
- (set_local $$cmp614$i
- (i32.eq
- (get_local $$or613$i)
- (i32.const 102)
- )
- )
- (if
- (get_local $$cmp614$i)
- (block
- (set_local $$cmp617$i
- (i32.gt_s
- (get_local $$e$5$ph$i)
- (i32.const 0)
- )
- )
- (set_local $$add620$i
- (if
- (get_local $$cmp617$i)
- (get_local $$e$5$ph$i)
- (i32.const 0)
- )
+ (set_local $$239
+ (i32.or
+ (get_local $$p$addr$3$i)
+ (get_local $$and610$pre$phi$iZ2D)
)
- (set_local $$estr$2$i
+ )
+ (set_local $$240
+ (i32.ne
+ (get_local $$239)
(i32.const 0)
)
- (set_local $$sub$ptr$sub650$pn$i
- (get_local $$add620$i)
- )
)
- (block
- (set_local $$cmp623$i
- (i32.lt_s
- (get_local $$e$5$ph$i)
- (i32.const 0)
- )
+ (set_local $$lor$ext$i
+ (i32.and
+ (get_local $$240)
+ (i32.const 1)
)
- (set_local $$cond629$i
- (if
- (get_local $$cmp623$i)
- (get_local $$sub626$le$i)
- (get_local $$e$5$ph$i)
- )
+ )
+ (set_local $$or613$i
+ (i32.or
+ (get_local $$t$addr$1$i)
+ (i32.const 32)
)
- (set_local $$241
- (i32.lt_s
- (get_local $$cond629$i)
- (i32.const 0)
- )
+ )
+ (set_local $$cmp614$i
+ (i32.eq
+ (get_local $$or613$i)
+ (i32.const 102)
)
- (set_local $$242
- (i32.shr_s
- (i32.shl
- (get_local $$241)
- (i32.const 31)
+ )
+ (if
+ (get_local $$cmp614$i)
+ (block
+ (set_local $$cmp617$i
+ (i32.gt_s
+ (get_local $$e$5$ph$i)
+ (i32.const 0)
)
- (i32.const 31)
- )
- )
- (set_local $$243
- (call $_fmt_u
- (get_local $$cond629$i)
- (get_local $$242)
- (get_local $$arrayidx$i$236)
- )
- )
- (set_local $$sub$ptr$rhs$cast634$504$i
- (get_local $$243)
- )
- (set_local $$sub$ptr$sub635$505$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast160$i)
- (get_local $$sub$ptr$rhs$cast634$504$i)
- )
- )
- (set_local $$cmp636$506$i
- (i32.lt_s
- (get_local $$sub$ptr$sub635$505$i)
- (i32.const 2)
)
- )
- (if
- (get_local $$cmp636$506$i)
- (block
- (set_local $$estr$1507$i
- (get_local $$243)
- )
- (loop $while-out$104 $while-in$105
- (set_local $$incdec$ptr639$i
- (i32.add
- (get_local $$estr$1507$i)
- (i32.const -1)
- )
- )
- (i32.store8
- (get_local $$incdec$ptr639$i)
- (i32.const 48)
- )
- (set_local $$sub$ptr$rhs$cast634$i
- (get_local $$incdec$ptr639$i)
- )
- (set_local $$sub$ptr$sub635$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast160$i)
- (get_local $$sub$ptr$rhs$cast634$i)
- )
- )
- (set_local $$cmp636$i
- (i32.lt_s
- (get_local $$sub$ptr$sub635$i)
- (i32.const 2)
- )
- )
- (if
- (get_local $$cmp636$i)
- (set_local $$estr$1507$i
- (get_local $$incdec$ptr639$i)
- )
- (block
- (set_local $$estr$1$lcssa$i
- (get_local $$incdec$ptr639$i)
- )
- (br $while-out$104)
- )
- )
- (br $while-in$105)
+ (set_local $$add620$i
+ (if
+ (get_local $$cmp617$i)
+ (get_local $$e$5$ph$i)
+ (i32.const 0)
)
)
- (set_local $$estr$1$lcssa$i
- (get_local $$243)
- )
- )
- (set_local $$244
- (i32.shr_s
- (get_local $$e$5$ph$i)
- (i32.const 31)
- )
- )
- (set_local $$245
- (i32.and
- (get_local $$244)
- (i32.const 2)
- )
- )
- (set_local $$246
- (i32.add
- (get_local $$245)
- (i32.const 43)
- )
- )
- (set_local $$conv644$i
- (i32.and
- (get_local $$246)
- (i32.const 255)
- )
- )
- (set_local $$incdec$ptr645$i
- (i32.add
- (get_local $$estr$1$lcssa$i)
- (i32.const -1)
- )
- )
- (i32.store8
- (get_local $$incdec$ptr645$i)
- (get_local $$conv644$i)
- )
- (set_local $$conv646$i
- (i32.and
- (get_local $$t$addr$1$i)
- (i32.const 255)
+ (set_local $$estr$2$i
+ (i32.const 0)
)
- )
- (set_local $$incdec$ptr647$i
- (i32.add
- (get_local $$estr$1$lcssa$i)
- (i32.const -2)
+ (set_local $$sub$ptr$sub650$pn$i
+ (get_local $$add620$i)
)
)
- (i32.store8
- (get_local $$incdec$ptr647$i)
- (get_local $$conv646$i)
- )
- (set_local $$sub$ptr$rhs$cast649$i
- (get_local $$incdec$ptr647$i)
- )
- (set_local $$sub$ptr$sub650$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast160$i)
- (get_local $$sub$ptr$rhs$cast649$i)
- )
- )
- (set_local $$estr$2$i
- (get_local $$incdec$ptr647$i)
- )
- (set_local $$sub$ptr$sub650$pn$i
- (get_local $$sub$ptr$sub650$i)
- )
- )
- )
- (set_local $$add608$i
- (i32.add
- (get_local $$pl$0$i)
- (i32.const 1)
- )
- )
- (set_local $$add612$i
- (i32.add
- (get_local $$add608$i)
- (get_local $$p$addr$3$i)
- )
- )
- (set_local $$l$1$i
- (i32.add
- (get_local $$add612$i)
- (get_local $$lor$ext$i)
- )
- )
- (set_local $$add653$i
- (i32.add
- (get_local $$l$1$i)
- (get_local $$sub$ptr$sub650$pn$i)
- )
- )
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (get_local $$add653$i)
- (get_local $$fl$1$and219)
- )
- (set_local $$247
- (i32.load
- (get_local $$f)
- )
- )
- (set_local $$and$i$436$i
- (i32.and
- (get_local $$247)
- (i32.const 32)
- )
- )
- (set_local $$tobool$i$437$i
- (i32.eq
- (get_local $$and$i$436$i)
- (i32.const 0)
- )
- )
- (if
- (get_local $$tobool$i$437$i)
- (call $___fwritex
- (get_local $$prefix$0$i)
- (get_local $$pl$0$i)
- (get_local $$f)
- )
- )
- (set_local $$xor655$i
- (i32.xor
- (get_local $$fl$1$and219)
- (i32.const 65536)
- )
- )
- (call $_pad
- (get_local $$f)
- (i32.const 48)
- (get_local $$w$1)
- (get_local $$add653$i)
- (get_local $$xor655$i)
- )
- (block $do-once$106
- (if
- (get_local $$cmp614$i)
(block
- (set_local $$cmp660$i
- (i32.gt_u
- (get_local $$a$9$ph$i)
- (get_local $$arraydecay208$add$ptr213$i)
+ (set_local $$cmp623$i
+ (i32.lt_s
+ (get_local $$e$5$ph$i)
+ (i32.const 0)
)
)
- (set_local $$r$0$a$9$i
+ (set_local $$cond629$i
(if
- (get_local $$cmp660$i)
- (get_local $$arraydecay208$add$ptr213$i)
- (get_local $$a$9$ph$i)
+ (get_local $$cmp623$i)
+ (get_local $$sub626$le$i)
+ (get_local $$e$5$ph$i)
)
)
- (set_local $$d$5494$i
- (get_local $$r$0$a$9$i)
+ (set_local $$241
+ (i32.lt_s
+ (get_local $$cond629$i)
+ (i32.const 0)
+ )
)
- (loop $while-out$108 $while-in$109
- (set_local $$248
- (i32.load
- (get_local $$d$5494$i)
+ (set_local $$242
+ (i32.shr_s
+ (i32.shl
+ (get_local $$241)
+ (i32.const 31)
)
+ (i32.const 31)
)
- (set_local $$249
- (call $_fmt_u
- (get_local $$248)
- (i32.const 0)
- (get_local $$add$ptr671$i)
- )
+ )
+ (set_local $$243
+ (call $_fmt_u
+ (get_local $$cond629$i)
+ (get_local $$242)
+ (get_local $$arrayidx$i$236)
)
- (set_local $$cmp673$i
- (i32.eq
- (get_local $$d$5494$i)
- (get_local $$r$0$a$9$i)
- )
+ )
+ (set_local $$sub$ptr$rhs$cast634$504$i
+ (get_local $$243)
+ )
+ (set_local $$sub$ptr$sub635$505$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast160$i)
+ (get_local $$sub$ptr$rhs$cast634$504$i)
)
- (block $do-once$110
- (if
- (get_local $$cmp673$i)
- (block
- (set_local $$cmp686$i
- (i32.eq
- (get_local $$249)
- (get_local $$add$ptr671$i)
- )
- )
- (if
- (i32.eqz
- (get_local $$cmp686$i)
- )
- (block
- (set_local $$s668$1$i
- (get_local $$249)
- )
- (br $do-once$110)
+ )
+ (set_local $$cmp636$506$i
+ (i32.lt_s
+ (get_local $$sub$ptr$sub635$505$i)
+ (i32.const 2)
+ )
+ )
+ (if
+ (get_local $$cmp636$506$i)
+ (block
+ (set_local $$estr$1507$i
+ (get_local $$243)
+ )
+ (loop $while-in$105
+ (block $while-out$104
+ (set_local $$incdec$ptr639$i
+ (i32.add
+ (get_local $$estr$1507$i)
+ (i32.const -1)
)
)
(i32.store8
- (get_local $$incdec$ptr689$i)
+ (get_local $$incdec$ptr639$i)
(i32.const 48)
)
- (set_local $$s668$1$i
- (get_local $$incdec$ptr689$i)
+ (set_local $$sub$ptr$rhs$cast634$i
+ (get_local $$incdec$ptr639$i)
)
- )
- (block
- (set_local $$cmp678$491$i
- (i32.gt_u
- (get_local $$249)
- (get_local $$buf$i)
+ (set_local $$sub$ptr$sub635$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast160$i)
+ (get_local $$sub$ptr$rhs$cast634$i)
)
)
- (if
- (get_local $$cmp678$491$i)
- (set_local $$s668$0492$i
- (get_local $$249)
- )
- (block
- (set_local $$s668$1$i
- (get_local $$249)
- )
- (br $do-once$110)
+ (set_local $$cmp636$i
+ (i32.lt_s
+ (get_local $$sub$ptr$sub635$i)
+ (i32.const 2)
)
)
- (loop $while-out$112 $while-in$113
- (set_local $$incdec$ptr681$i
- (i32.add
- (get_local $$s668$0492$i)
- (i32.const -1)
- )
- )
- (i32.store8
- (get_local $$incdec$ptr681$i)
- (i32.const 48)
- )
- (set_local $$cmp678$i
- (i32.gt_u
- (get_local $$incdec$ptr681$i)
- (get_local $$buf$i)
- )
+ (if
+ (get_local $$cmp636$i)
+ (set_local $$estr$1507$i
+ (get_local $$incdec$ptr639$i)
)
- (if
- (get_local $$cmp678$i)
- (set_local $$s668$0492$i
- (get_local $$incdec$ptr681$i)
- )
- (block
- (set_local $$s668$1$i
- (get_local $$incdec$ptr681$i)
- )
- (br $while-out$112)
+ (block
+ (set_local $$estr$1$lcssa$i
+ (get_local $$incdec$ptr639$i)
)
+ (br $while-out$104)
)
- (br $while-in$113)
)
+ (br $while-in$105)
)
)
)
- (set_local $$250
- (i32.load
- (get_local $$f)
- )
- )
- (set_local $$and$i$442$i
- (i32.and
- (get_local $$250)
- (i32.const 32)
- )
- )
- (set_local $$tobool$i$443$i
- (i32.eq
- (get_local $$and$i$442$i)
- (i32.const 0)
- )
- )
- (if
- (get_local $$tobool$i$443$i)
- (block
- (set_local $$sub$ptr$rhs$cast695$i
- (get_local $$s668$1$i)
- )
- (set_local $$sub$ptr$sub696$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast694$i)
- (get_local $$sub$ptr$rhs$cast695$i)
- )
- )
- (call $___fwritex
- (get_local $$s668$1$i)
- (get_local $$sub$ptr$sub696$i)
- (get_local $$f)
- )
- )
+ (set_local $$estr$1$lcssa$i
+ (get_local $$243)
)
- (set_local $$incdec$ptr698$i
- (i32.add
- (get_local $$d$5494$i)
- (i32.const 4)
- )
+ )
+ (set_local $$244
+ (i32.shr_s
+ (get_local $$e$5$ph$i)
+ (i32.const 31)
)
- (set_local $$cmp665$i
- (i32.gt_u
- (get_local $$incdec$ptr698$i)
- (get_local $$arraydecay208$add$ptr213$i)
- )
+ )
+ (set_local $$245
+ (i32.and
+ (get_local $$244)
+ (i32.const 2)
)
- (if
- (get_local $$cmp665$i)
- (block
- (set_local $$incdec$ptr698$i$lcssa
- (get_local $$incdec$ptr698$i)
- )
- (br $while-out$108)
- )
- (set_local $$d$5494$i
- (get_local $$incdec$ptr698$i)
- )
+ )
+ (set_local $$246
+ (i32.add
+ (get_local $$245)
+ (i32.const 43)
)
- (br $while-in$109)
)
- (set_local $$251
- (i32.eq
- (get_local $$239)
- (i32.const 0)
+ (set_local $$conv644$i
+ (i32.and
+ (get_local $$246)
+ (i32.const 255)
)
)
- (block $do-once$114
- (if
- (i32.eqz
- (get_local $$251)
- )
- (block
- (set_local $$252
- (i32.load
- (get_local $$f)
- )
- )
- (set_local $$and$i$448$i
- (i32.and
- (get_local $$252)
- (i32.const 32)
- )
- )
- (set_local $$tobool$i$449$i
- (i32.eq
- (get_local $$and$i$448$i)
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (get_local $$tobool$i$449$i)
- )
- (br $do-once$114)
- )
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $$f)
- )
- )
+ (set_local $$incdec$ptr645$i
+ (i32.add
+ (get_local $$estr$1$lcssa$i)
+ (i32.const -1)
)
)
- (set_local $$cmp707$486$i
- (i32.lt_u
- (get_local $$incdec$ptr698$i$lcssa)
- (get_local $$z$7$i$lcssa)
+ (i32.store8
+ (get_local $$incdec$ptr645$i)
+ (get_local $$conv644$i)
+ )
+ (set_local $$conv646$i
+ (i32.and
+ (get_local $$t$addr$1$i)
+ (i32.const 255)
)
)
- (set_local $$cmp710$487$i
- (i32.gt_s
- (get_local $$p$addr$3$i)
- (i32.const 0)
+ (set_local $$incdec$ptr647$i
+ (i32.add
+ (get_local $$estr$1$lcssa$i)
+ (i32.const -2)
)
)
- (set_local $$253
- (i32.and
- (get_local $$cmp710$487$i)
- (get_local $$cmp707$486$i)
+ (i32.store8
+ (get_local $$incdec$ptr647$i)
+ (get_local $$conv646$i)
+ )
+ (set_local $$sub$ptr$rhs$cast649$i
+ (get_local $$incdec$ptr647$i)
+ )
+ (set_local $$sub$ptr$sub650$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast160$i)
+ (get_local $$sub$ptr$rhs$cast649$i)
)
)
- (if
- (get_local $$253)
- (block
- (set_local $$d$6488$i
- (get_local $$incdec$ptr698$i$lcssa)
+ (set_local $$estr$2$i
+ (get_local $$incdec$ptr647$i)
+ )
+ (set_local $$sub$ptr$sub650$pn$i
+ (get_local $$sub$ptr$sub650$i)
+ )
+ )
+ )
+ (set_local $$add608$i
+ (i32.add
+ (get_local $$pl$0$i)
+ (i32.const 1)
+ )
+ )
+ (set_local $$add612$i
+ (i32.add
+ (get_local $$add608$i)
+ (get_local $$p$addr$3$i)
+ )
+ )
+ (set_local $$l$1$i
+ (i32.add
+ (get_local $$add612$i)
+ (get_local $$lor$ext$i)
+ )
+ )
+ (set_local $$add653$i
+ (i32.add
+ (get_local $$l$1$i)
+ (get_local $$sub$ptr$sub650$pn$i)
+ )
+ )
+ (call $_pad
+ (get_local $$f)
+ (i32.const 32)
+ (get_local $$w$1)
+ (get_local $$add653$i)
+ (get_local $$fl$1$and219)
+ )
+ (set_local $$247
+ (i32.load
+ (get_local $$f)
+ )
+ )
+ (set_local $$and$i$436$i
+ (i32.and
+ (get_local $$247)
+ (i32.const 32)
+ )
+ )
+ (set_local $$tobool$i$437$i
+ (i32.eq
+ (get_local $$and$i$436$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool$i$437$i)
+ (call $___fwritex
+ (get_local $$prefix$0$i)
+ (get_local $$pl$0$i)
+ (get_local $$f)
+ )
+ )
+ (set_local $$xor655$i
+ (i32.xor
+ (get_local $$fl$1$and219)
+ (i32.const 65536)
+ )
+ )
+ (call $_pad
+ (get_local $$f)
+ (i32.const 48)
+ (get_local $$w$1)
+ (get_local $$add653$i)
+ (get_local $$xor655$i)
+ )
+ (block $do-once$106
+ (if
+ (get_local $$cmp614$i)
+ (block
+ (set_local $$cmp660$i
+ (i32.gt_u
+ (get_local $$a$9$ph$i)
+ (get_local $$arraydecay208$add$ptr213$i)
)
- (set_local $$p$addr$4489$i
- (get_local $$p$addr$3$i)
+ )
+ (set_local $$r$0$a$9$i
+ (if
+ (get_local $$cmp660$i)
+ (get_local $$arraydecay208$add$ptr213$i)
+ (get_local $$a$9$ph$i)
)
- (loop $while-out$116 $while-in$117
- (set_local $$254
+ )
+ (set_local $$d$5494$i
+ (get_local $$r$0$a$9$i)
+ )
+ (loop $while-in$109
+ (block $while-out$108
+ (set_local $$248
(i32.load
- (get_local $$d$6488$i)
+ (get_local $$d$5494$i)
)
)
- (set_local $$255
+ (set_local $$249
(call $_fmt_u
- (get_local $$254)
+ (get_local $$248)
(i32.const 0)
(get_local $$add$ptr671$i)
)
)
- (set_local $$cmp722$483$i
- (i32.gt_u
- (get_local $$255)
- (get_local $$buf$i)
+ (set_local $$cmp673$i
+ (i32.eq
+ (get_local $$d$5494$i)
+ (get_local $$r$0$a$9$i)
)
)
- (if
- (get_local $$cmp722$483$i)
- (block
- (set_local $$s715$0484$i
- (get_local $$255)
- )
- (loop $while-out$118 $while-in$119
- (set_local $$incdec$ptr725$i
- (i32.add
- (get_local $$s715$0484$i)
- (i32.const -1)
+ (block $do-once$110
+ (if
+ (get_local $$cmp673$i)
+ (block
+ (set_local $$cmp686$i
+ (i32.eq
+ (get_local $$249)
+ (get_local $$add$ptr671$i)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $$cmp686$i)
+ )
+ (block
+ (set_local $$s668$1$i
+ (get_local $$249)
+ )
+ (br $do-once$110)
)
)
(i32.store8
- (get_local $$incdec$ptr725$i)
+ (get_local $$incdec$ptr689$i)
(i32.const 48)
)
- (set_local $$cmp722$i
+ (set_local $$s668$1$i
+ (get_local $$incdec$ptr689$i)
+ )
+ )
+ (block
+ (set_local $$cmp678$491$i
(i32.gt_u
- (get_local $$incdec$ptr725$i)
+ (get_local $$249)
(get_local $$buf$i)
)
)
(if
- (get_local $$cmp722$i)
- (set_local $$s715$0484$i
- (get_local $$incdec$ptr725$i)
+ (get_local $$cmp678$491$i)
+ (set_local $$s668$0492$i
+ (get_local $$249)
)
(block
- (set_local $$s715$0$lcssa$i
- (get_local $$incdec$ptr725$i)
+ (set_local $$s668$1$i
+ (get_local $$249)
+ )
+ (br $do-once$110)
+ )
+ )
+ (loop $while-in$113
+ (block $while-out$112
+ (set_local $$incdec$ptr681$i
+ (i32.add
+ (get_local $$s668$0492$i)
+ (i32.const -1)
+ )
+ )
+ (i32.store8
+ (get_local $$incdec$ptr681$i)
+ (i32.const 48)
+ )
+ (set_local $$cmp678$i
+ (i32.gt_u
+ (get_local $$incdec$ptr681$i)
+ (get_local $$buf$i)
+ )
+ )
+ (if
+ (get_local $$cmp678$i)
+ (set_local $$s668$0492$i
+ (get_local $$incdec$ptr681$i)
+ )
+ (block
+ (set_local $$s668$1$i
+ (get_local $$incdec$ptr681$i)
+ )
+ (br $while-out$112)
+ )
)
- (br $while-out$118)
+ (br $while-in$113)
)
)
- (br $while-in$119)
)
)
- (set_local $$s715$0$lcssa$i
- (get_local $$255)
- )
)
- (set_local $$256
+ (set_local $$250
(i32.load
(get_local $$f)
)
)
- (set_local $$and$i$454$i
+ (set_local $$and$i$442$i
(i32.and
- (get_local $$256)
+ (get_local $$250)
(i32.const 32)
)
)
- (set_local $$tobool$i$455$i
+ (set_local $$tobool$i$443$i
(i32.eq
- (get_local $$and$i$454$i)
+ (get_local $$and$i$442$i)
(i32.const 0)
)
)
(if
- (get_local $$tobool$i$455$i)
+ (get_local $$tobool$i$443$i)
(block
- (set_local $$cmp727$i
- (i32.gt_s
- (get_local $$p$addr$4489$i)
- (i32.const 9)
- )
+ (set_local $$sub$ptr$rhs$cast695$i
+ (get_local $$s668$1$i)
)
- (set_local $$cond732$i
- (if
- (get_local $$cmp727$i)
- (i32.const 9)
- (get_local $$p$addr$4489$i)
+ (set_local $$sub$ptr$sub696$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast694$i)
+ (get_local $$sub$ptr$rhs$cast695$i)
)
)
- (call $___fwritex
- (get_local $$s715$0$lcssa$i)
- (get_local $$cond732$i)
- (get_local $$f)
+ (drop
+ (call $___fwritex
+ (get_local $$s668$1$i)
+ (get_local $$sub$ptr$sub696$i)
+ (get_local $$f)
+ )
)
)
)
- (set_local $$incdec$ptr734$i
+ (set_local $$incdec$ptr698$i
(i32.add
- (get_local $$d$6488$i)
+ (get_local $$d$5494$i)
(i32.const 4)
)
)
- (set_local $$sub735$i
- (i32.add
- (get_local $$p$addr$4489$i)
- (i32.const -9)
+ (set_local $$cmp665$i
+ (i32.gt_u
+ (get_local $$incdec$ptr698$i)
+ (get_local $$arraydecay208$add$ptr213$i)
)
)
- (set_local $$cmp707$i
- (i32.lt_u
- (get_local $$incdec$ptr734$i)
- (get_local $$z$7$i$lcssa)
+ (if
+ (get_local $$cmp665$i)
+ (block
+ (set_local $$incdec$ptr698$i$lcssa
+ (get_local $$incdec$ptr698$i)
+ )
+ (br $while-out$108)
)
- )
- (set_local $$cmp710$i
- (i32.gt_s
- (get_local $$p$addr$4489$i)
- (i32.const 9)
+ (set_local $$d$5494$i
+ (get_local $$incdec$ptr698$i)
)
)
- (set_local $$257
- (i32.and
- (get_local $$cmp710$i)
- (get_local $$cmp707$i)
- )
+ (br $while-in$109)
+ )
+ )
+ (set_local $$251
+ (i32.eq
+ (get_local $$239)
+ (i32.const 0)
+ )
+ )
+ (block $do-once$114
+ (if
+ (i32.eqz
+ (get_local $$251)
)
- (if
- (get_local $$257)
- (block
- (set_local $$d$6488$i
- (get_local $$incdec$ptr734$i)
+ (block
+ (set_local $$252
+ (i32.load
+ (get_local $$f)
)
- (set_local $$p$addr$4489$i
- (get_local $$sub735$i)
+ )
+ (set_local $$and$i$448$i
+ (i32.and
+ (get_local $$252)
+ (i32.const 32)
)
)
- (block
- (set_local $$p$addr$4$lcssa$i
- (get_local $$sub735$i)
+ (set_local $$tobool$i$449$i
+ (i32.eq
+ (get_local $$and$i$448$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $$tobool$i$449$i)
+ )
+ (br $do-once$114)
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $$f)
)
- (br $while-out$116)
)
)
- (br $while-in$117)
)
)
- (set_local $$p$addr$4$lcssa$i
- (get_local $$p$addr$3$i)
+ (set_local $$cmp707$486$i
+ (i32.lt_u
+ (get_local $$incdec$ptr698$i$lcssa)
+ (get_local $$z$7$i$lcssa)
+ )
)
- )
- (set_local $$add737$i
- (i32.add
- (get_local $$p$addr$4$lcssa$i)
- (i32.const 9)
+ (set_local $$cmp710$487$i
+ (i32.gt_s
+ (get_local $$p$addr$3$i)
+ (i32.const 0)
+ )
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 48)
- (get_local $$add737$i)
- (i32.const 9)
- (i32.const 0)
- )
- )
- (block
- (set_local $$add$ptr742$i
- (i32.add
- (get_local $$a$9$ph$i)
- (i32.const 4)
+ (set_local $$253
+ (i32.and
+ (get_local $$cmp710$487$i)
+ (get_local $$cmp707$486$i)
+ )
)
- )
- (set_local $$z$7$add$ptr742$i
(if
- (get_local $$cmp450$lcssa$i)
- (get_local $$z$7$i$lcssa)
- (get_local $$add$ptr742$i)
+ (get_local $$253)
+ (block
+ (set_local $$d$6488$i
+ (get_local $$incdec$ptr698$i$lcssa)
+ )
+ (set_local $$p$addr$4489$i
+ (get_local $$p$addr$3$i)
+ )
+ (loop $while-in$117
+ (block $while-out$116
+ (set_local $$254
+ (i32.load
+ (get_local $$d$6488$i)
+ )
+ )
+ (set_local $$255
+ (call $_fmt_u
+ (get_local $$254)
+ (i32.const 0)
+ (get_local $$add$ptr671$i)
+ )
+ )
+ (set_local $$cmp722$483$i
+ (i32.gt_u
+ (get_local $$255)
+ (get_local $$buf$i)
+ )
+ )
+ (if
+ (get_local $$cmp722$483$i)
+ (block
+ (set_local $$s715$0484$i
+ (get_local $$255)
+ )
+ (loop $while-in$119
+ (block $while-out$118
+ (set_local $$incdec$ptr725$i
+ (i32.add
+ (get_local $$s715$0484$i)
+ (i32.const -1)
+ )
+ )
+ (i32.store8
+ (get_local $$incdec$ptr725$i)
+ (i32.const 48)
+ )
+ (set_local $$cmp722$i
+ (i32.gt_u
+ (get_local $$incdec$ptr725$i)
+ (get_local $$buf$i)
+ )
+ )
+ (if
+ (get_local $$cmp722$i)
+ (set_local $$s715$0484$i
+ (get_local $$incdec$ptr725$i)
+ )
+ (block
+ (set_local $$s715$0$lcssa$i
+ (get_local $$incdec$ptr725$i)
+ )
+ (br $while-out$118)
+ )
+ )
+ (br $while-in$119)
+ )
+ )
+ )
+ (set_local $$s715$0$lcssa$i
+ (get_local $$255)
+ )
+ )
+ (set_local $$256
+ (i32.load
+ (get_local $$f)
+ )
+ )
+ (set_local $$and$i$454$i
+ (i32.and
+ (get_local $$256)
+ (i32.const 32)
+ )
+ )
+ (set_local $$tobool$i$455$i
+ (i32.eq
+ (get_local $$and$i$454$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool$i$455$i)
+ (block
+ (set_local $$cmp727$i
+ (i32.gt_s
+ (get_local $$p$addr$4489$i)
+ (i32.const 9)
+ )
+ )
+ (set_local $$cond732$i
+ (if
+ (get_local $$cmp727$i)
+ (i32.const 9)
+ (get_local $$p$addr$4489$i)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $$s715$0$lcssa$i)
+ (get_local $$cond732$i)
+ (get_local $$f)
+ )
+ )
+ )
+ )
+ (set_local $$incdec$ptr734$i
+ (i32.add
+ (get_local $$d$6488$i)
+ (i32.const 4)
+ )
+ )
+ (set_local $$sub735$i
+ (i32.add
+ (get_local $$p$addr$4489$i)
+ (i32.const -9)
+ )
+ )
+ (set_local $$cmp707$i
+ (i32.lt_u
+ (get_local $$incdec$ptr734$i)
+ (get_local $$z$7$i$lcssa)
+ )
+ )
+ (set_local $$cmp710$i
+ (i32.gt_s
+ (get_local $$p$addr$4489$i)
+ (i32.const 9)
+ )
+ )
+ (set_local $$257
+ (i32.and
+ (get_local $$cmp710$i)
+ (get_local $$cmp707$i)
+ )
+ )
+ (if
+ (get_local $$257)
+ (block
+ (set_local $$d$6488$i
+ (get_local $$incdec$ptr734$i)
+ )
+ (set_local $$p$addr$4489$i
+ (get_local $$sub735$i)
+ )
+ )
+ (block
+ (set_local $$p$addr$4$lcssa$i
+ (get_local $$sub735$i)
+ )
+ (br $while-out$116)
+ )
+ )
+ (br $while-in$117)
+ )
+ )
+ )
+ (set_local $$p$addr$4$lcssa$i
+ (get_local $$p$addr$3$i)
+ )
)
- )
- (set_local $$cmp748$499$i
- (i32.gt_s
- (get_local $$p$addr$3$i)
- (i32.const -1)
+ (set_local $$add737$i
+ (i32.add
+ (get_local $$p$addr$4$lcssa$i)
+ (i32.const 9)
+ )
+ )
+ (call $_pad
+ (get_local $$f)
+ (i32.const 48)
+ (get_local $$add737$i)
+ (i32.const 9)
+ (i32.const 0)
)
)
- (if
- (get_local $$cmp748$499$i)
- (block
- (set_local $$tobool781$i
- (i32.eq
- (get_local $$and610$pre$phi$iZ2D)
- (i32.const 0)
- )
- )
- (set_local $$d$7500$i
+ (block
+ (set_local $$add$ptr742$i
+ (i32.add
(get_local $$a$9$ph$i)
+ (i32.const 4)
)
- (set_local $$p$addr$5501$i
+ )
+ (set_local $$z$7$add$ptr742$i
+ (if
+ (get_local $$cmp450$lcssa$i)
+ (get_local $$z$7$i$lcssa)
+ (get_local $$add$ptr742$i)
+ )
+ )
+ (set_local $$cmp748$499$i
+ (i32.gt_s
(get_local $$p$addr$3$i)
+ (i32.const -1)
)
- (loop $while-out$120 $while-in$121
- (set_local $$258
- (i32.load
- (get_local $$d$7500$i)
- )
- )
- (set_local $$259
- (call $_fmt_u
- (get_local $$258)
- (i32.const 0)
- (get_local $$add$ptr671$i)
- )
- )
- (set_local $$cmp760$i
+ )
+ (if
+ (get_local $$cmp748$499$i)
+ (block
+ (set_local $$tobool781$i
(i32.eq
- (get_local $$259)
- (get_local $$add$ptr671$i)
+ (get_local $$and610$pre$phi$iZ2D)
+ (i32.const 0)
)
)
- (if
- (get_local $$cmp760$i)
- (block
- (i32.store8
- (get_local $$incdec$ptr689$i)
- (i32.const 48)
- )
- (set_local $$s753$0$i
- (get_local $$incdec$ptr689$i)
- )
- )
- (set_local $$s753$0$i
- (get_local $$259)
- )
+ (set_local $$d$7500$i
+ (get_local $$a$9$ph$i)
)
- (set_local $$cmp765$i
- (i32.eq
- (get_local $$d$7500$i)
- (get_local $$a$9$ph$i)
- )
+ (set_local $$p$addr$5501$i
+ (get_local $$p$addr$3$i)
)
- (block $do-once$122
- (if
- (get_local $$cmp765$i)
- (block
- (set_local $$incdec$ptr776$i
- (i32.add
- (get_local $$s753$0$i)
- (i32.const 1)
- )
+ (loop $while-in$121
+ (block $while-out$120
+ (set_local $$258
+ (i32.load
+ (get_local $$d$7500$i)
)
- (set_local $$260
- (i32.load
- (get_local $$f)
- )
+ )
+ (set_local $$259
+ (call $_fmt_u
+ (get_local $$258)
+ (i32.const 0)
+ (get_local $$add$ptr671$i)
)
- (set_local $$and$i$460$i
- (i32.and
- (get_local $$260)
- (i32.const 32)
- )
+ )
+ (set_local $$cmp760$i
+ (i32.eq
+ (get_local $$259)
+ (get_local $$add$ptr671$i)
)
- (set_local $$tobool$i$461$i
- (i32.eq
- (get_local $$and$i$460$i)
- (i32.const 0)
+ )
+ (if
+ (get_local $$cmp760$i)
+ (block
+ (i32.store8
+ (get_local $$incdec$ptr689$i)
+ (i32.const 48)
)
- )
- (if
- (get_local $$tobool$i$461$i)
- (call $___fwritex
- (get_local $$s753$0$i)
- (i32.const 1)
- (get_local $$f)
+ (set_local $$s753$0$i
+ (get_local $$incdec$ptr689$i)
)
)
- (set_local $$cmp777$i
- (i32.lt_s
- (get_local $$p$addr$5501$i)
- (i32.const 1)
- )
+ (set_local $$s753$0$i
+ (get_local $$259)
)
- (set_local $$or$cond401$i
- (i32.and
- (get_local $$tobool781$i)
- (get_local $$cmp777$i)
- )
+ )
+ (set_local $$cmp765$i
+ (i32.eq
+ (get_local $$d$7500$i)
+ (get_local $$a$9$ph$i)
)
+ )
+ (block $do-once$122
(if
- (get_local $$or$cond401$i)
+ (get_local $$cmp765$i)
(block
+ (set_local $$incdec$ptr776$i
+ (i32.add
+ (get_local $$s753$0$i)
+ (i32.const 1)
+ )
+ )
+ (set_local $$260
+ (i32.load
+ (get_local $$f)
+ )
+ )
+ (set_local $$and$i$460$i
+ (i32.and
+ (get_local $$260)
+ (i32.const 32)
+ )
+ )
+ (set_local $$tobool$i$461$i
+ (i32.eq
+ (get_local $$and$i$460$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool$i$461$i)
+ (call $___fwritex
+ (get_local $$s753$0$i)
+ (i32.const 1)
+ (get_local $$f)
+ )
+ )
+ (set_local $$cmp777$i
+ (i32.lt_s
+ (get_local $$p$addr$5501$i)
+ (i32.const 1)
+ )
+ )
+ (set_local $$or$cond401$i
+ (i32.and
+ (get_local $$tobool781$i)
+ (get_local $$cmp777$i)
+ )
+ )
+ (if
+ (get_local $$or$cond401$i)
+ (block
+ (set_local $$s753$2$i
+ (get_local $$incdec$ptr776$i)
+ )
+ (br $do-once$122)
+ )
+ )
+ (set_local $$261
+ (i32.load
+ (get_local $$f)
+ )
+ )
+ (set_local $$and$i$466$i
+ (i32.and
+ (get_local $$261)
+ (i32.const 32)
+ )
+ )
+ (set_local $$tobool$i$467$i
+ (i32.eq
+ (get_local $$and$i$466$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (i32.eqz
+ (get_local $$tobool$i$467$i)
+ )
+ (block
+ (set_local $$s753$2$i
+ (get_local $$incdec$ptr776$i)
+ )
+ (br $do-once$122)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $$f)
+ )
+ )
(set_local $$s753$2$i
(get_local $$incdec$ptr776$i)
)
- (br $do-once$122)
- )
- )
- (set_local $$261
- (i32.load
- (get_local $$f)
- )
- )
- (set_local $$and$i$466$i
- (i32.and
- (get_local $$261)
- (i32.const 32)
- )
- )
- (set_local $$tobool$i$467$i
- (i32.eq
- (get_local $$and$i$466$i)
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (get_local $$tobool$i$467$i)
)
(block
- (set_local $$s753$2$i
- (get_local $$incdec$ptr776$i)
+ (set_local $$cmp770$495$i
+ (i32.gt_u
+ (get_local $$s753$0$i)
+ (get_local $$buf$i)
+ )
+ )
+ (if
+ (get_local $$cmp770$495$i)
+ (set_local $$s753$1496$i
+ (get_local $$s753$0$i)
+ )
+ (block
+ (set_local $$s753$2$i
+ (get_local $$s753$0$i)
+ )
+ (br $do-once$122)
+ )
+ )
+ (loop $while-in$125
+ (block $while-out$124
+ (set_local $$incdec$ptr773$i
+ (i32.add
+ (get_local $$s753$1496$i)
+ (i32.const -1)
+ )
+ )
+ (i32.store8
+ (get_local $$incdec$ptr773$i)
+ (i32.const 48)
+ )
+ (set_local $$cmp770$i
+ (i32.gt_u
+ (get_local $$incdec$ptr773$i)
+ (get_local $$buf$i)
+ )
+ )
+ (if
+ (get_local $$cmp770$i)
+ (set_local $$s753$1496$i
+ (get_local $$incdec$ptr773$i)
+ )
+ (block
+ (set_local $$s753$2$i
+ (get_local $$incdec$ptr773$i)
+ )
+ (br $while-out$124)
+ )
+ )
+ (br $while-in$125)
+ )
)
- (br $do-once$122)
)
)
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $$f)
+ )
+ (set_local $$sub$ptr$rhs$cast788$i
+ (get_local $$s753$2$i)
+ )
+ (set_local $$sub$ptr$sub789$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast694$i)
+ (get_local $$sub$ptr$rhs$cast788$i)
)
- (set_local $$s753$2$i
- (get_local $$incdec$ptr776$i)
+ )
+ (set_local $$262
+ (i32.load
+ (get_local $$f)
)
)
- (block
- (set_local $$cmp770$495$i
- (i32.gt_u
- (get_local $$s753$0$i)
- (get_local $$buf$i)
- )
+ (set_local $$and$i$472$i
+ (i32.and
+ (get_local $$262)
+ (i32.const 32)
)
- (if
- (get_local $$cmp770$495$i)
- (set_local $$s753$1496$i
- (get_local $$s753$0$i)
- )
- (block
- (set_local $$s753$2$i
- (get_local $$s753$0$i)
- )
- (br $do-once$122)
- )
+ )
+ (set_local $$tobool$i$473$i
+ (i32.eq
+ (get_local $$and$i$472$i)
+ (i32.const 0)
)
- (loop $while-out$124 $while-in$125
- (set_local $$incdec$ptr773$i
- (i32.add
- (get_local $$s753$1496$i)
- (i32.const -1)
+ )
+ (if
+ (get_local $$tobool$i$473$i)
+ (block
+ (set_local $$cmp790$i
+ (i32.gt_s
+ (get_local $$p$addr$5501$i)
+ (get_local $$sub$ptr$sub789$i)
)
)
- (i32.store8
- (get_local $$incdec$ptr773$i)
- (i32.const 48)
- )
- (set_local $$cmp770$i
- (i32.gt_u
- (get_local $$incdec$ptr773$i)
- (get_local $$buf$i)
+ (set_local $$cond800$i
+ (if
+ (get_local $$cmp790$i)
+ (get_local $$sub$ptr$sub789$i)
+ (get_local $$p$addr$5501$i)
)
)
- (if
- (get_local $$cmp770$i)
- (set_local $$s753$1496$i
- (get_local $$incdec$ptr773$i)
- )
- (block
- (set_local $$s753$2$i
- (get_local $$incdec$ptr773$i)
- )
- (br $while-out$124)
+ (drop
+ (call $___fwritex
+ (get_local $$s753$2$i)
+ (get_local $$cond800$i)
+ (get_local $$f)
)
)
- (br $while-in$125)
)
)
- )
- )
- (set_local $$sub$ptr$rhs$cast788$i
- (get_local $$s753$2$i)
- )
- (set_local $$sub$ptr$sub789$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast694$i)
- (get_local $$sub$ptr$rhs$cast788$i)
- )
- )
- (set_local $$262
- (i32.load
- (get_local $$f)
- )
- )
- (set_local $$and$i$472$i
- (i32.and
- (get_local $$262)
- (i32.const 32)
- )
- )
- (set_local $$tobool$i$473$i
- (i32.eq
- (get_local $$and$i$472$i)
- (i32.const 0)
- )
- )
- (if
- (get_local $$tobool$i$473$i)
- (block
- (set_local $$cmp790$i
- (i32.gt_s
+ (set_local $$sub806$i
+ (i32.sub
(get_local $$p$addr$5501$i)
(get_local $$sub$ptr$sub789$i)
)
)
- (set_local $$cond800$i
- (if
- (get_local $$cmp790$i)
- (get_local $$sub$ptr$sub789$i)
- (get_local $$p$addr$5501$i)
+ (set_local $$incdec$ptr808$i
+ (i32.add
+ (get_local $$d$7500$i)
+ (i32.const 4)
)
)
- (call $___fwritex
- (get_local $$s753$2$i)
- (get_local $$cond800$i)
- (get_local $$f)
+ (set_local $$cmp745$i
+ (i32.lt_u
+ (get_local $$incdec$ptr808$i)
+ (get_local $$z$7$add$ptr742$i)
+ )
)
- )
- )
- (set_local $$sub806$i
- (i32.sub
- (get_local $$p$addr$5501$i)
- (get_local $$sub$ptr$sub789$i)
- )
- )
- (set_local $$incdec$ptr808$i
- (i32.add
- (get_local $$d$7500$i)
- (i32.const 4)
- )
- )
- (set_local $$cmp745$i
- (i32.lt_u
- (get_local $$incdec$ptr808$i)
- (get_local $$z$7$add$ptr742$i)
- )
- )
- (set_local $$cmp748$i
- (i32.gt_s
- (get_local $$sub806$i)
- (i32.const -1)
- )
- )
- (set_local $$263
- (i32.and
- (get_local $$cmp745$i)
- (get_local $$cmp748$i)
- )
- )
- (if
- (get_local $$263)
- (block
- (set_local $$d$7500$i
- (get_local $$incdec$ptr808$i)
+ (set_local $$cmp748$i
+ (i32.gt_s
+ (get_local $$sub806$i)
+ (i32.const -1)
+ )
)
- (set_local $$p$addr$5501$i
- (get_local $$sub806$i)
+ (set_local $$263
+ (i32.and
+ (get_local $$cmp745$i)
+ (get_local $$cmp748$i)
+ )
)
- )
- (block
- (set_local $$p$addr$5$lcssa$i
- (get_local $$sub806$i)
+ (if
+ (get_local $$263)
+ (block
+ (set_local $$d$7500$i
+ (get_local $$incdec$ptr808$i)
+ )
+ (set_local $$p$addr$5501$i
+ (get_local $$sub806$i)
+ )
+ )
+ (block
+ (set_local $$p$addr$5$lcssa$i
+ (get_local $$sub806$i)
+ )
+ (br $while-out$120)
+ )
)
- (br $while-out$120)
+ (br $while-in$121)
)
)
- (br $while-in$121)
+ )
+ (set_local $$p$addr$5$lcssa$i
+ (get_local $$p$addr$3$i)
)
)
- (set_local $$p$addr$5$lcssa$i
- (get_local $$p$addr$3$i)
+ (set_local $$add810$i
+ (i32.add
+ (get_local $$p$addr$5$lcssa$i)
+ (i32.const 18)
+ )
)
- )
- (set_local $$add810$i
- (i32.add
- (get_local $$p$addr$5$lcssa$i)
+ (call $_pad
+ (get_local $$f)
+ (i32.const 48)
+ (get_local $$add810$i)
(i32.const 18)
+ (i32.const 0)
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 48)
- (get_local $$add810$i)
- (i32.const 18)
- (i32.const 0)
- )
- (set_local $$264
- (i32.load
- (get_local $$f)
+ (set_local $$264
+ (i32.load
+ (get_local $$f)
+ )
)
- )
- (set_local $$and$i$i
- (i32.and
- (get_local $$264)
- (i32.const 32)
+ (set_local $$and$i$i
+ (i32.and
+ (get_local $$264)
+ (i32.const 32)
+ )
)
- )
- (set_local $$tobool$i$i
- (i32.eq
- (get_local $$and$i$i)
- (i32.const 0)
+ (set_local $$tobool$i$i
+ (i32.eq
+ (get_local $$and$i$i)
+ (i32.const 0)
+ )
)
- )
- (if
- (i32.eqz
- (get_local $$tobool$i$i)
+ (if
+ (i32.eqz
+ (get_local $$tobool$i$i)
+ )
+ (br $do-once$106)
)
- (br $do-once$106)
- )
- (set_local $$sub$ptr$rhs$cast812$i
- (get_local $$estr$2$i)
- )
- (set_local $$sub$ptr$sub813$i
- (i32.sub
- (get_local $$sub$ptr$lhs$cast160$i)
- (get_local $$sub$ptr$rhs$cast812$i)
+ (set_local $$sub$ptr$rhs$cast812$i
+ (get_local $$estr$2$i)
+ )
+ (set_local $$sub$ptr$sub813$i
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast160$i)
+ (get_local $$sub$ptr$rhs$cast812$i)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (get_local $$estr$2$i)
+ (get_local $$sub$ptr$sub813$i)
+ (get_local $$f)
+ )
)
- )
- (call $___fwritex
- (get_local $$estr$2$i)
- (get_local $$sub$ptr$sub813$i)
- (get_local $$f)
)
)
)
- )
- (set_local $$xor816$i
- (i32.xor
- (get_local $$fl$1$and219)
- (i32.const 8192)
- )
- )
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (get_local $$add653$i)
- (get_local $$xor816$i)
- )
- (set_local $$cmp818$i
- (i32.lt_s
- (get_local $$add653$i)
- (get_local $$w$1)
+ (set_local $$xor816$i
+ (i32.xor
+ (get_local $$fl$1$and219)
+ (i32.const 8192)
+ )
)
- )
- (set_local $$w$add653$i
- (if
- (get_local $$cmp818$i)
+ (call $_pad
+ (get_local $$f)
+ (i32.const 32)
(get_local $$w$1)
(get_local $$add653$i)
+ (get_local $$xor816$i)
)
- )
- (set_local $$retval$0$i
- (get_local $$w$add653$i)
- )
- )
- (block
- (set_local $$and36$i
- (i32.and
- (get_local $$t$0)
- (i32.const 32)
+ (set_local $$cmp818$i
+ (i32.lt_s
+ (get_local $$add653$i)
+ (get_local $$w$1)
+ )
)
- )
- (set_local $$tobool37$i
- (i32.ne
- (get_local $$and36$i)
- (i32.const 0)
+ (set_local $$w$add653$i
+ (if
+ (get_local $$cmp818$i)
+ (get_local $$w$1)
+ (get_local $$add653$i)
+ )
)
- )
- (set_local $$cond$i
- (if
- (get_local $$tobool37$i)
- (i32.const 4127)
- (i32.const 4131)
+ (set_local $$retval$0$i
+ (get_local $$w$add653$i)
)
)
- (set_local $$cmp38$i
- (i32.or
- (f64.ne
- (get_local $$y$addr$0$i)
- (get_local $$y$addr$0$i)
+ (block
+ (set_local $$and36$i
+ (i32.and
+ (get_local $$t$0)
+ (i32.const 32)
)
- (f64.ne
- (f64.const 0)
- (f64.const 0)
+ )
+ (set_local $$tobool37$i
+ (i32.ne
+ (get_local $$and36$i)
+ (i32.const 0)
)
)
- )
- (set_local $$cond43$i
- (if
- (get_local $$tobool37$i)
- (i32.const 4135)
- (i32.const 4139)
+ (set_local $$cond$i
+ (if
+ (get_local $$tobool37$i)
+ (i32.const 4127)
+ (i32.const 4131)
+ )
)
- )
- (set_local $$pl$1$i
- (if
- (get_local $$cmp38$i)
- (i32.const 0)
- (get_local $$pl$0$i)
+ (set_local $$cmp38$i
+ (i32.or
+ (f64.ne
+ (get_local $$y$addr$0$i)
+ (get_local $$y$addr$0$i)
+ )
+ (f64.ne
+ (f64.const 0)
+ (f64.const 0)
+ )
+ )
)
- )
- (set_local $$s35$0$i
- (if
- (get_local $$cmp38$i)
- (get_local $$cond43$i)
- (get_local $$cond$i)
+ (set_local $$cond43$i
+ (if
+ (get_local $$tobool37$i)
+ (i32.const 4135)
+ (i32.const 4139)
+ )
)
- )
- (set_local $$add$i$239
- (i32.add
- (get_local $$pl$1$i)
- (i32.const 3)
+ (set_local $$pl$1$i
+ (if
+ (get_local $$cmp38$i)
+ (i32.const 0)
+ (get_local $$pl$0$i)
+ )
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (get_local $$add$i$239)
- (get_local $$and219)
- )
- (set_local $$193
- (i32.load
- (get_local $$f)
+ (set_local $$s35$0$i
+ (if
+ (get_local $$cmp38$i)
+ (get_local $$cond43$i)
+ (get_local $$cond$i)
+ )
)
- )
- (set_local $$and$i$406$i
- (i32.and
- (get_local $$193)
- (i32.const 32)
+ (set_local $$add$i$239
+ (i32.add
+ (get_local $$pl$1$i)
+ (i32.const 3)
+ )
)
- )
- (set_local $$tobool$i$407$i
- (i32.eq
- (get_local $$and$i$406$i)
- (i32.const 0)
+ (call $_pad
+ (get_local $$f)
+ (i32.const 32)
+ (get_local $$w$1)
+ (get_local $$add$i$239)
+ (get_local $$and219)
)
- )
- (if
- (get_local $$tobool$i$407$i)
- (block
- (call $___fwritex
- (get_local $$prefix$0$i)
- (get_local $$pl$1$i)
+ (set_local $$193
+ (i32.load
(get_local $$f)
)
- (set_local $$$pre$i
- (i32.load
- (get_local $$f)
+ )
+ (set_local $$and$i$406$i
+ (i32.and
+ (get_local $$193)
+ (i32.const 32)
+ )
+ )
+ (set_local $$tobool$i$407$i
+ (i32.eq
+ (get_local $$and$i$406$i)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool$i$407$i)
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $$prefix$0$i)
+ (get_local $$pl$1$i)
+ (get_local $$f)
+ )
+ )
+ (set_local $$$pre$i
+ (i32.load
+ (get_local $$f)
+ )
+ )
+ (set_local $$194
+ (get_local $$$pre$i)
)
)
(set_local $$194
- (get_local $$$pre$i)
+ (get_local $$193)
)
)
- (set_local $$194
- (get_local $$193)
+ (set_local $$and$i$412$i
+ (i32.and
+ (get_local $$194)
+ (i32.const 32)
+ )
)
- )
- (set_local $$and$i$412$i
- (i32.and
- (get_local $$194)
- (i32.const 32)
+ (set_local $$tobool$i$413$i
+ (i32.eq
+ (get_local $$and$i$412$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$tobool$i$413$i
- (i32.eq
- (get_local $$and$i$412$i)
- (i32.const 0)
+ (if
+ (get_local $$tobool$i$413$i)
+ (call $___fwritex
+ (get_local $$s35$0$i)
+ (i32.const 3)
+ (get_local $$f)
+ )
)
- )
- (if
- (get_local $$tobool$i$413$i)
- (call $___fwritex
- (get_local $$s35$0$i)
- (i32.const 3)
+ (set_local $$xor$i
+ (i32.xor
+ (get_local $$fl$1$and219)
+ (i32.const 8192)
+ )
+ )
+ (call $_pad
(get_local $$f)
+ (i32.const 32)
+ (get_local $$w$1)
+ (get_local $$add$i$239)
+ (get_local $$xor$i)
)
- )
- (set_local $$xor$i
- (i32.xor
- (get_local $$fl$1$and219)
- (i32.const 8192)
+ (set_local $$cmp48$i
+ (i32.lt_s
+ (get_local $$add$i$239)
+ (get_local $$w$1)
+ )
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (get_local $$add$i$239)
- (get_local $$xor$i)
- )
- (set_local $$cmp48$i
- (i32.lt_s
- (get_local $$add$i$239)
- (get_local $$w$1)
+ (set_local $$cond53$i
+ (if
+ (get_local $$cmp48$i)
+ (get_local $$w$1)
+ (get_local $$add$i$239)
+ )
)
- )
- (set_local $$cond53$i
- (if
- (get_local $$cmp48$i)
- (get_local $$w$1)
- (get_local $$add$i$239)
+ (set_local $$retval$0$i
+ (get_local $$cond53$i)
)
)
- (set_local $$retval$0$i
- (get_local $$cond53$i)
- )
)
)
+ (set_local $$cnt$0
+ (get_local $$cnt$1)
+ )
+ (set_local $$incdec$ptr169275
+ (get_local $$incdec$ptr169$lcssa)
+ )
+ (set_local $$l$0
+ (get_local $$retval$0$i)
+ )
+ (set_local $$l10n$0
+ (get_local $$l10n$3)
+ )
+ (br $label$continue$L1)
+ (br $switch$24)
)
- (set_local $$cnt$0
- (get_local $$cnt$1)
+ )
+ (block
+ (set_local $$a$2
+ (get_local $$incdec$ptr169275)
)
- (set_local $$incdec$ptr169275
- (get_local $$incdec$ptr169$lcssa)
+ (set_local $$fl$6
+ (get_local $$fl$1$and219)
)
- (set_local $$l$0
- (get_local $$retval$0$i)
+ (set_local $$p$5
+ (get_local $$p$0)
)
- (set_local $$l10n$0
- (get_local $$l10n$3)
+ (set_local $$pl$2
+ (i32.const 0)
+ )
+ (set_local $$prefix$2
+ (i32.const 4091)
+ )
+ (set_local $$z$2
+ (get_local $$add$ptr205)
)
- (br $label$continue$L1)
- (br $switch$24)
- )
- )
- (block
- (set_local $$a$2
- (get_local $$incdec$ptr169275)
- )
- (set_local $$fl$6
- (get_local $$fl$1$and219)
- )
- (set_local $$p$5
- (get_local $$p$0)
- )
- (set_local $$pl$2
- (i32.const 0)
- )
- (set_local $$prefix$2
- (i32.const 4091)
- )
- (set_local $$z$2
- (get_local $$add$ptr205)
)
)
)
)
- )
- (block $label$break$L308
- (if
- (i32.eq
- (get_local $label)
- (i32.const 64)
- )
- (block
- (set_local $label
- (i32.const 0)
- )
- (set_local $$90
- (get_local $$arg)
- )
- (set_local $$91
- (get_local $$90)
- )
- (set_local $$92
- (i32.load
- (get_local $$91)
- )
+ (block $label$break$L308
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 64)
)
- (set_local $$93
- (i32.add
- (get_local $$90)
- (i32.const 4)
+ (block
+ (set_local $label
+ (i32.const 0)
)
- )
- (set_local $$94
- (get_local $$93)
- )
- (set_local $$95
- (i32.load
- (get_local $$94)
+ (set_local $$90
+ (get_local $$arg)
)
- )
- (set_local $$and249
- (i32.and
- (get_local $$t$1)
- (i32.const 32)
+ (set_local $$91
+ (get_local $$90)
)
- )
- (set_local $$96
- (i32.eq
- (get_local $$92)
- (i32.const 0)
+ (set_local $$92
+ (i32.load
+ (get_local $$91)
+ )
)
- )
- (set_local $$97
- (i32.eq
- (get_local $$95)
- (i32.const 0)
+ (set_local $$93
+ (i32.add
+ (get_local $$90)
+ (i32.const 4)
+ )
)
- )
- (set_local $$98
- (i32.and
- (get_local $$96)
- (get_local $$97)
+ (set_local $$94
+ (get_local $$93)
)
- )
- (if
- (get_local $$98)
- (block
- (set_local $$a$0
- (get_local $$add$ptr205)
- )
- (set_local $$fl$4
- (get_local $$fl$3)
+ (set_local $$95
+ (i32.load
+ (get_local $$94)
)
- (set_local $$p$2
- (get_local $$p$1)
+ )
+ (set_local $$and249
+ (i32.and
+ (get_local $$t$1)
+ (i32.const 32)
)
- (set_local $$pl$1
+ )
+ (set_local $$96
+ (i32.eq
+ (get_local $$92)
(i32.const 0)
)
- (set_local $$prefix$1
- (i32.const 4091)
- )
- (set_local $label
- (i32.const 77)
- )
)
- (block
- (set_local $$101
+ (set_local $$97
+ (i32.eq
(get_local $$95)
+ (i32.const 0)
)
- (set_local $$99
- (get_local $$92)
+ )
+ (set_local $$98
+ (i32.and
+ (get_local $$96)
+ (get_local $$97)
)
- (set_local $$s$addr$06$i
- (get_local $$add$ptr205)
+ )
+ (if
+ (get_local $$98)
+ (block
+ (set_local $$a$0
+ (get_local $$add$ptr205)
+ )
+ (set_local $$fl$4
+ (get_local $$fl$3)
+ )
+ (set_local $$p$2
+ (get_local $$p$1)
+ )
+ (set_local $$pl$1
+ (i32.const 0)
+ )
+ (set_local $$prefix$1
+ (i32.const 4091)
+ )
+ (set_local $label
+ (i32.const 77)
+ )
)
- (loop $while-out$129 $while-in$130
- (set_local $$idxprom$i
- (i32.and
- (get_local $$99)
- (i32.const 15)
- )
+ (block
+ (set_local $$101
+ (get_local $$95)
)
- (set_local $$arrayidx$i
- (i32.add
- (i32.const 4075)
- (get_local $$idxprom$i)
- )
+ (set_local $$99
+ (get_local $$92)
)
- (set_local $$100
- (i32.load8_s
- (get_local $$arrayidx$i)
- )
+ (set_local $$s$addr$06$i
+ (get_local $$add$ptr205)
)
- (set_local $$conv$4$i$211
- (i32.and
- (get_local $$100)
- (i32.const 255)
+ (loop $while-in$130
+ (block $while-out$129
+ (set_local $$idxprom$i
+ (i32.and
+ (get_local $$99)
+ (i32.const 15)
+ )
+ )
+ (set_local $$arrayidx$i
+ (i32.add
+ (i32.const 4075)
+ (get_local $$idxprom$i)
+ )
+ )
+ (set_local $$100
+ (i32.load8_s
+ (get_local $$arrayidx$i)
+ )
+ )
+ (set_local $$conv$4$i$211
+ (i32.and
+ (get_local $$100)
+ (i32.const 255)
+ )
+ )
+ (set_local $$or$i
+ (i32.or
+ (get_local $$conv$4$i$211)
+ (get_local $$and249)
+ )
+ )
+ (set_local $$conv1$i
+ (i32.and
+ (get_local $$or$i)
+ (i32.const 255)
+ )
+ )
+ (set_local $$incdec$ptr$i$212
+ (i32.add
+ (get_local $$s$addr$06$i)
+ (i32.const -1)
+ )
+ )
+ (i32.store8
+ (get_local $$incdec$ptr$i$212)
+ (get_local $$conv1$i)
+ )
+ (set_local $$102
+ (call $_bitshift64Lshr
+ (get_local $$99)
+ (get_local $$101)
+ (i32.const 4)
+ )
+ )
+ (set_local $$103
+ (get_global $tempRet0)
+ )
+ (set_local $$104
+ (i32.eq
+ (get_local $$102)
+ (i32.const 0)
+ )
+ )
+ (set_local $$105
+ (i32.eq
+ (get_local $$103)
+ (i32.const 0)
+ )
+ )
+ (set_local $$106
+ (i32.and
+ (get_local $$104)
+ (get_local $$105)
+ )
+ )
+ (if
+ (get_local $$106)
+ (block
+ (set_local $$incdec$ptr$i$212$lcssa
+ (get_local $$incdec$ptr$i$212)
+ )
+ (br $while-out$129)
+ )
+ (block
+ (set_local $$101
+ (get_local $$103)
+ )
+ (set_local $$99
+ (get_local $$102)
+ )
+ (set_local $$s$addr$06$i
+ (get_local $$incdec$ptr$i$212)
+ )
+ )
+ )
+ (br $while-in$130)
)
)
- (set_local $$or$i
- (i32.or
- (get_local $$conv$4$i$211)
- (get_local $$and249)
- )
+ (set_local $$107
+ (get_local $$arg)
)
- (set_local $$conv1$i
- (i32.and
- (get_local $$or$i)
- (i32.const 255)
- )
+ (set_local $$108
+ (get_local $$107)
)
- (set_local $$incdec$ptr$i$212
- (i32.add
- (get_local $$s$addr$06$i)
- (i32.const -1)
+ (set_local $$109
+ (i32.load
+ (get_local $$108)
)
)
- (i32.store8
- (get_local $$incdec$ptr$i$212)
- (get_local $$conv1$i)
- )
- (set_local $$102
- (call $_bitshift64Lshr
- (get_local $$99)
- (get_local $$101)
+ (set_local $$110
+ (i32.add
+ (get_local $$107)
(i32.const 4)
)
)
- (set_local $$103
+ (set_local $$111
+ (get_local $$110)
+ )
+ (set_local $$112
(i32.load
- (i32.const 168)
+ (get_local $$111)
)
)
- (set_local $$104
+ (set_local $$113
(i32.eq
- (get_local $$102)
+ (get_local $$109)
(i32.const 0)
)
)
- (set_local $$105
+ (set_local $$114
(i32.eq
- (get_local $$103)
+ (get_local $$112)
(i32.const 0)
)
)
- (set_local $$106
+ (set_local $$115
(i32.and
- (get_local $$104)
- (get_local $$105)
- )
- )
- (if
- (get_local $$106)
- (block
- (set_local $$incdec$ptr$i$212$lcssa
- (get_local $$incdec$ptr$i$212)
- )
- (br $while-out$129)
- )
- (block
- (set_local $$101
- (get_local $$103)
- )
- (set_local $$99
- (get_local $$102)
- )
- (set_local $$s$addr$06$i
- (get_local $$incdec$ptr$i$212)
- )
+ (get_local $$113)
+ (get_local $$114)
)
)
- (br $while-in$130)
- )
- (set_local $$107
- (get_local $$arg)
- )
- (set_local $$108
- (get_local $$107)
- )
- (set_local $$109
- (i32.load
- (get_local $$108)
- )
- )
- (set_local $$110
- (i32.add
- (get_local $$107)
- (i32.const 4)
- )
- )
- (set_local $$111
- (get_local $$110)
- )
- (set_local $$112
- (i32.load
- (get_local $$111)
- )
- )
- (set_local $$113
- (i32.eq
- (get_local $$109)
- (i32.const 0)
- )
- )
- (set_local $$114
- (i32.eq
- (get_local $$112)
- (i32.const 0)
- )
- )
- (set_local $$115
- (i32.and
- (get_local $$113)
- (get_local $$114)
- )
- )
- (set_local $$and254
- (i32.and
- (get_local $$fl$3)
- (i32.const 8)
- )
- )
- (set_local $$tobool255
- (i32.eq
- (get_local $$and254)
- (i32.const 0)
- )
- )
- (set_local $$or$cond193
- (i32.or
- (get_local $$tobool255)
- (get_local $$115)
- )
- )
- (if
- (get_local $$or$cond193)
- (block
- (set_local $$a$0
- (get_local $$incdec$ptr$i$212$lcssa)
- )
- (set_local $$fl$4
+ (set_local $$and254
+ (i32.and
(get_local $$fl$3)
+ (i32.const 8)
)
- (set_local $$p$2
- (get_local $$p$1)
- )
- (set_local $$pl$1
+ )
+ (set_local $$tobool255
+ (i32.eq
+ (get_local $$and254)
(i32.const 0)
)
- (set_local $$prefix$1
- (i32.const 4091)
- )
- (set_local $label
- (i32.const 77)
+ )
+ (set_local $$or$cond193
+ (i32.or
+ (get_local $$tobool255)
+ (get_local $$115)
)
)
- (block
- (set_local $$shr
- (i32.shr_s
- (get_local $$t$1)
- (i32.const 4)
+ (if
+ (get_local $$or$cond193)
+ (block
+ (set_local $$a$0
+ (get_local $$incdec$ptr$i$212$lcssa)
)
- )
- (set_local $$add$ptr257
- (i32.add
+ (set_local $$fl$4
+ (get_local $$fl$3)
+ )
+ (set_local $$p$2
+ (get_local $$p$1)
+ )
+ (set_local $$pl$1
+ (i32.const 0)
+ )
+ (set_local $$prefix$1
(i32.const 4091)
- (get_local $$shr)
+ )
+ (set_local $label
+ (i32.const 77)
)
)
- (set_local $$a$0
- (get_local $$incdec$ptr$i$212$lcssa)
- )
- (set_local $$fl$4
- (get_local $$fl$3)
- )
- (set_local $$p$2
- (get_local $$p$1)
- )
- (set_local $$pl$1
- (i32.const 2)
- )
- (set_local $$prefix$1
- (get_local $$add$ptr257)
- )
- (set_local $label
- (i32.const 77)
+ (block
+ (set_local $$shr
+ (i32.shr_s
+ (get_local $$t$1)
+ (i32.const 4)
+ )
+ )
+ (set_local $$add$ptr257
+ (i32.add
+ (i32.const 4091)
+ (get_local $$shr)
+ )
+ )
+ (set_local $$a$0
+ (get_local $$incdec$ptr$i$212$lcssa)
+ )
+ (set_local $$fl$4
+ (get_local $$fl$3)
+ )
+ (set_local $$p$2
+ (get_local $$p$1)
+ )
+ (set_local $$pl$1
+ (i32.const 2)
+ )
+ (set_local $$prefix$1
+ (get_local $$add$ptr257)
+ )
+ (set_local $label
+ (i32.const 77)
+ )
)
)
)
)
)
- )
- (if
- (i32.eq
- (get_local $label)
- (i32.const 76)
- )
- (block
- (set_local $label
- (i32.const 0)
- )
- (set_local $$150
- (call $_fmt_u
- (get_local $$148)
- (get_local $$149)
- (get_local $$add$ptr205)
- )
- )
- (set_local $$a$0
- (get_local $$150)
- )
- (set_local $$fl$4
- (get_local $$fl$1$and219)
- )
- (set_local $$p$2
- (get_local $$p$0)
- )
- (set_local $$pl$1
- (get_local $$pl$0)
- )
- (set_local $$prefix$1
- (get_local $$prefix$0)
- )
- (set_local $label
- (i32.const 77)
- )
- )
(if
(i32.eq
(get_local $label)
- (i32.const 82)
+ (i32.const 76)
)
(block
(set_local $label
(i32.const 0)
)
- (set_local $$call356
- (call $_memchr
- (get_local $$a$1)
- (i32.const 0)
- (get_local $$p$0)
- )
- )
- (set_local $$tobool357
- (i32.eq
- (get_local $$call356)
- (i32.const 0)
- )
- )
- (set_local $$sub$ptr$lhs$cast361
- (get_local $$call356)
- )
- (set_local $$sub$ptr$rhs$cast362
- (get_local $$a$1)
- )
- (set_local $$sub$ptr$sub363
- (i32.sub
- (get_local $$sub$ptr$lhs$cast361)
- (get_local $$sub$ptr$rhs$cast362)
- )
- )
- (set_local $$add$ptr359
- (i32.add
- (get_local $$a$1)
- (get_local $$p$0)
- )
- )
- (set_local $$z$1
- (if
- (get_local $$tobool357)
- (get_local $$add$ptr359)
- (get_local $$call356)
- )
- )
- (set_local $$p$3
- (if
- (get_local $$tobool357)
- (get_local $$p$0)
- (get_local $$sub$ptr$sub363)
+ (set_local $$150
+ (call $_fmt_u
+ (get_local $$148)
+ (get_local $$149)
+ (get_local $$add$ptr205)
)
)
- (set_local $$a$2
- (get_local $$a$1)
+ (set_local $$a$0
+ (get_local $$150)
)
- (set_local $$fl$6
- (get_local $$and219)
+ (set_local $$fl$4
+ (get_local $$fl$1$and219)
)
- (set_local $$p$5
- (get_local $$p$3)
+ (set_local $$p$2
+ (get_local $$p$0)
)
- (set_local $$pl$2
- (i32.const 0)
+ (set_local $$pl$1
+ (get_local $$pl$0)
)
- (set_local $$prefix$2
- (i32.const 4091)
+ (set_local $$prefix$1
+ (get_local $$prefix$0)
)
- (set_local $$z$2
- (get_local $$z$1)
+ (set_local $label
+ (i32.const 77)
)
)
(if
(i32.eq
(get_local $label)
- (i32.const 86)
+ (i32.const 82)
)
(block
(set_local $label
(i32.const 0)
)
- (set_local $$176
- (i32.load
- (get_local $$arg)
+ (set_local $$call356
+ (call $_memchr
+ (get_local $$a$1)
+ (i32.const 0)
+ (get_local $$p$0)
)
)
- (set_local $$i$0316
- (i32.const 0)
+ (set_local $$tobool357
+ (i32.eq
+ (get_local $$call356)
+ (i32.const 0)
+ )
)
- (set_local $$l$1315
- (i32.const 0)
+ (set_local $$sub$ptr$lhs$cast361
+ (get_local $$call356)
)
- (set_local $$ws$0317
- (get_local $$176)
+ (set_local $$sub$ptr$rhs$cast362
+ (get_local $$a$1)
)
- (loop $while-out$131 $while-in$132
- (set_local $$177
- (i32.load
- (get_local $$ws$0317)
- )
- )
- (set_local $$tobool380
- (i32.eq
- (get_local $$177)
- (i32.const 0)
- )
- )
- (if
- (get_local $$tobool380)
- (block
- (set_local $$i$0$lcssa
- (get_local $$i$0316)
- )
- (set_local $$l$2
- (get_local $$l$1315)
- )
- (br $while-out$131)
- )
- )
- (set_local $$call384
- (call $_wctomb
- (get_local $$mb)
- (get_local $$177)
- )
- )
- (set_local $$cmp385
- (i32.lt_s
- (get_local $$call384)
- (i32.const 0)
- )
- )
- (set_local $$sub389
- (i32.sub
- (get_local $$p$4365)
- (get_local $$i$0316)
- )
- )
- (set_local $$cmp390
- (i32.gt_u
- (get_local $$call384)
- (get_local $$sub389)
- )
+ (set_local $$sub$ptr$sub363
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast361)
+ (get_local $$sub$ptr$rhs$cast362)
)
- (set_local $$or$cond195
- (i32.or
- (get_local $$cmp385)
- (get_local $$cmp390)
- )
+ )
+ (set_local $$add$ptr359
+ (i32.add
+ (get_local $$a$1)
+ (get_local $$p$0)
)
+ )
+ (set_local $$z$1
(if
- (get_local $$or$cond195)
- (block
- (set_local $$i$0$lcssa
- (get_local $$i$0316)
- )
- (set_local $$l$2
- (get_local $$call384)
- )
- (br $while-out$131)
- )
- )
- (set_local $$incdec$ptr383
- (i32.add
- (get_local $$ws$0317)
- (i32.const 4)
- )
- )
- (set_local $$add395
- (i32.add
- (get_local $$call384)
- (get_local $$i$0316)
- )
- )
- (set_local $$cmp377
- (i32.gt_u
- (get_local $$p$4365)
- (get_local $$add395)
- )
+ (get_local $$tobool357)
+ (get_local $$add$ptr359)
+ (get_local $$call356)
)
+ )
+ (set_local $$p$3
(if
- (get_local $$cmp377)
- (block
- (set_local $$i$0316
- (get_local $$add395)
- )
- (set_local $$l$1315
- (get_local $$call384)
- )
- (set_local $$ws$0317
- (get_local $$incdec$ptr383)
- )
- )
- (block
- (set_local $$i$0$lcssa
- (get_local $$add395)
- )
- (set_local $$l$2
- (get_local $$call384)
- )
- (br $while-out$131)
- )
+ (get_local $$tobool357)
+ (get_local $$p$0)
+ (get_local $$sub$ptr$sub363)
)
- (br $while-in$132)
)
- (set_local $$cmp397
- (i32.lt_s
- (get_local $$l$2)
- (i32.const 0)
- )
+ (set_local $$a$2
+ (get_local $$a$1)
)
- (if
- (get_local $$cmp397)
- (block
- (set_local $$retval$0
- (i32.const -1)
- )
- (br $label$break$L1)
- )
+ (set_local $$fl$6
+ (get_local $$and219)
)
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (get_local $$i$0$lcssa)
- (get_local $$fl$1$and219)
+ (set_local $$p$5
+ (get_local $$p$3)
)
- (set_local $$cmp404$324
- (i32.eq
- (get_local $$i$0$lcssa)
+ (set_local $$pl$2
+ (i32.const 0)
+ )
+ (set_local $$prefix$2
+ (i32.const 4091)
+ )
+ (set_local $$z$2
+ (get_local $$z$1)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 86)
+ )
+ (block
+ (set_local $label
(i32.const 0)
)
- )
- (if
- (get_local $$cmp404$324)
- (block
- (set_local $$i$0$lcssa368
- (i32.const 0)
- )
- (set_local $label
- (i32.const 98)
+ (set_local $$176
+ (i32.load
+ (get_local $$arg)
)
)
- (block
- (set_local $$178
- (i32.load
- (get_local $$arg)
- )
- )
- (set_local $$i$1325
- (i32.const 0)
- )
- (set_local $$ws$1326
- (get_local $$178)
- )
- (loop $while-out$133 $while-in$134
- (set_local $$179
+ (set_local $$i$0316
+ (i32.const 0)
+ )
+ (set_local $$l$1315
+ (i32.const 0)
+ )
+ (set_local $$ws$0317
+ (get_local $$176)
+ )
+ (loop $while-in$132
+ (block $while-out$131
+ (set_local $$177
(i32.load
- (get_local $$ws$1326)
+ (get_local $$ws$0317)
)
)
- (set_local $$tobool407
+ (set_local $$tobool380
(i32.eq
- (get_local $$179)
+ (get_local $$177)
(i32.const 0)
)
)
(if
- (get_local $$tobool407)
+ (get_local $$tobool380)
(block
- (set_local $$i$0$lcssa368
- (get_local $$i$0$lcssa)
+ (set_local $$i$0$lcssa
+ (get_local $$i$0316)
)
- (set_local $label
- (i32.const 98)
+ (set_local $$l$2
+ (get_local $$l$1315)
)
- (br $label$break$L308)
- )
- )
- (set_local $$incdec$ptr410
- (i32.add
- (get_local $$ws$1326)
- (i32.const 4)
+ (br $while-out$131)
)
)
- (set_local $$call411
+ (set_local $$call384
(call $_wctomb
(get_local $$mb)
- (get_local $$179)
+ (get_local $$177)
)
)
- (set_local $$add412
- (i32.add
- (get_local $$call411)
- (get_local $$i$1325)
+ (set_local $$cmp385
+ (i32.lt_s
+ (get_local $$call384)
+ (i32.const 0)
)
)
- (set_local $$cmp413
- (i32.gt_s
- (get_local $$add412)
- (get_local $$i$0$lcssa)
+ (set_local $$sub389
+ (i32.sub
+ (get_local $$p$4365)
+ (get_local $$i$0316)
+ )
+ )
+ (set_local $$cmp390
+ (i32.gt_u
+ (get_local $$call384)
+ (get_local $$sub389)
+ )
+ )
+ (set_local $$or$cond195
+ (i32.or
+ (get_local $$cmp385)
+ (get_local $$cmp390)
)
)
(if
- (get_local $$cmp413)
+ (get_local $$or$cond195)
(block
- (set_local $$i$0$lcssa368
- (get_local $$i$0$lcssa)
+ (set_local $$i$0$lcssa
+ (get_local $$i$0316)
)
- (set_local $label
- (i32.const 98)
+ (set_local $$l$2
+ (get_local $$call384)
)
- (br $label$break$L308)
+ (br $while-out$131)
)
)
- (set_local $$180
- (i32.load
- (get_local $$f)
+ (set_local $$incdec$ptr383
+ (i32.add
+ (get_local $$ws$0317)
+ (i32.const 4)
)
)
- (set_local $$and$i$231
- (i32.and
- (get_local $$180)
- (i32.const 32)
+ (set_local $$add395
+ (i32.add
+ (get_local $$call384)
+ (get_local $$i$0316)
)
)
- (set_local $$tobool$i$232
- (i32.eq
- (get_local $$and$i$231)
- (i32.const 0)
+ (set_local $$cmp377
+ (i32.gt_u
+ (get_local $$p$4365)
+ (get_local $$add395)
)
)
(if
- (get_local $$tobool$i$232)
- (call $___fwritex
- (get_local $$mb)
- (get_local $$call411)
- (get_local $$f)
+ (get_local $$cmp377)
+ (block
+ (set_local $$i$0316
+ (get_local $$add395)
+ )
+ (set_local $$l$1315
+ (get_local $$call384)
+ )
+ (set_local $$ws$0317
+ (get_local $$incdec$ptr383)
+ )
+ )
+ (block
+ (set_local $$i$0$lcssa
+ (get_local $$add395)
+ )
+ (set_local $$l$2
+ (get_local $$call384)
+ )
+ (br $while-out$131)
)
)
- (set_local $$cmp404
- (i32.lt_u
- (get_local $$add412)
- (get_local $$i$0$lcssa)
+ (br $while-in$132)
+ )
+ )
+ (set_local $$cmp397
+ (i32.lt_s
+ (get_local $$l$2)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$cmp397)
+ (block
+ (set_local $$retval$0
+ (i32.const -1)
+ )
+ (br $label$break$L1)
+ )
+ )
+ (call $_pad
+ (get_local $$f)
+ (i32.const 32)
+ (get_local $$w$1)
+ (get_local $$i$0$lcssa)
+ (get_local $$fl$1$and219)
+ )
+ (set_local $$cmp404$324
+ (i32.eq
+ (get_local $$i$0$lcssa)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$cmp404$324)
+ (block
+ (set_local $$i$0$lcssa368
+ (i32.const 0)
+ )
+ (set_local $label
+ (i32.const 98)
+ )
+ )
+ (block
+ (set_local $$178
+ (i32.load
+ (get_local $$arg)
)
)
- (if
- (get_local $$cmp404)
- (block
- (set_local $$i$1325
- (get_local $$add412)
+ (set_local $$i$1325
+ (i32.const 0)
+ )
+ (set_local $$ws$1326
+ (get_local $$178)
+ )
+ (loop $while-in$134
+ (block $while-out$133
+ (set_local $$179
+ (i32.load
+ (get_local $$ws$1326)
+ )
)
- (set_local $$ws$1326
- (get_local $$incdec$ptr410)
+ (set_local $$tobool407
+ (i32.eq
+ (get_local $$179)
+ (i32.const 0)
+ )
)
- )
- (block
- (set_local $$i$0$lcssa368
- (get_local $$i$0$lcssa)
+ (if
+ (get_local $$tobool407)
+ (block
+ (set_local $$i$0$lcssa368
+ (get_local $$i$0$lcssa)
+ )
+ (set_local $label
+ (i32.const 98)
+ )
+ (br $label$break$L308)
+ )
)
- (set_local $label
- (i32.const 98)
+ (set_local $$incdec$ptr410
+ (i32.add
+ (get_local $$ws$1326)
+ (i32.const 4)
+ )
+ )
+ (set_local $$call411
+ (call $_wctomb
+ (get_local $$mb)
+ (get_local $$179)
+ )
+ )
+ (set_local $$add412
+ (i32.add
+ (get_local $$call411)
+ (get_local $$i$1325)
+ )
+ )
+ (set_local $$cmp413
+ (i32.gt_s
+ (get_local $$add412)
+ (get_local $$i$0$lcssa)
+ )
+ )
+ (if
+ (get_local $$cmp413)
+ (block
+ (set_local $$i$0$lcssa368
+ (get_local $$i$0$lcssa)
+ )
+ (set_local $label
+ (i32.const 98)
+ )
+ (br $label$break$L308)
+ )
)
- (br $while-out$133)
+ (set_local $$180
+ (i32.load
+ (get_local $$f)
+ )
+ )
+ (set_local $$and$i$231
+ (i32.and
+ (get_local $$180)
+ (i32.const 32)
+ )
+ )
+ (set_local $$tobool$i$232
+ (i32.eq
+ (get_local $$and$i$231)
+ (i32.const 0)
+ )
+ )
+ (if
+ (get_local $$tobool$i$232)
+ (call $___fwritex
+ (get_local $$mb)
+ (get_local $$call411)
+ (get_local $$f)
+ )
+ )
+ (set_local $$cmp404
+ (i32.lt_u
+ (get_local $$add412)
+ (get_local $$i$0$lcssa)
+ )
+ )
+ (if
+ (get_local $$cmp404)
+ (block
+ (set_local $$i$1325
+ (get_local $$add412)
+ )
+ (set_local $$ws$1326
+ (get_local $$incdec$ptr410)
+ )
+ )
+ (block
+ (set_local $$i$0$lcssa368
+ (get_local $$i$0$lcssa)
+ )
+ (set_local $label
+ (i32.const 98)
+ )
+ (br $while-out$133)
+ )
+ )
+ (br $while-in$134)
)
)
- (br $while-in$134)
)
)
)
@@ -13943,372 +13888,372 @@
)
)
)
- )
- (if
- (i32.eq
- (get_local $label)
- (i32.const 98)
- )
- (block
- (set_local $label
- (i32.const 0)
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 98)
)
- (set_local $$xor
- (i32.xor
- (get_local $$fl$1$and219)
- (i32.const 8192)
+ (block
+ (set_local $label
+ (i32.const 0)
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$1)
- (get_local $$i$0$lcssa368)
- (get_local $$xor)
- )
- (set_local $$cmp421
- (i32.gt_s
- (get_local $$w$1)
- (get_local $$i$0$lcssa368)
+ (set_local $$xor
+ (i32.xor
+ (get_local $$fl$1$and219)
+ (i32.const 8192)
+ )
)
- )
- (set_local $$cond426
- (if
- (get_local $$cmp421)
+ (call $_pad
+ (get_local $$f)
+ (i32.const 32)
(get_local $$w$1)
(get_local $$i$0$lcssa368)
+ (get_local $$xor)
)
- )
- (set_local $$cnt$0
- (get_local $$cnt$1)
- )
- (set_local $$incdec$ptr169275
- (get_local $$incdec$ptr169$lcssa)
- )
- (set_local $$l$0
- (get_local $$cond426)
- )
- (set_local $$l10n$0
- (get_local $$l10n$3)
- )
- (br $label$continue$L1)
- )
- )
- (if
- (i32.eq
- (get_local $label)
- (i32.const 77)
- )
- (block
- (set_local $label
- (i32.const 0)
- )
- (set_local $$cmp306
- (i32.gt_s
- (get_local $$p$2)
- (i32.const -1)
- )
- )
- (set_local $$and309
- (i32.and
- (get_local $$fl$4)
- (i32.const -65537)
- )
- )
- (set_local $$and309$fl$4
- (if
- (get_local $$cmp306)
- (get_local $$and309)
- (get_local $$fl$4)
+ (set_local $$cmp421
+ (i32.gt_s
+ (get_local $$w$1)
+ (get_local $$i$0$lcssa368)
+ )
)
- )
- (set_local $$151
- (get_local $$arg)
- )
- (set_local $$152
- (get_local $$151)
- )
- (set_local $$153
- (i32.load
- (get_local $$152)
+ (set_local $$cond426
+ (if
+ (get_local $$cmp421)
+ (get_local $$w$1)
+ (get_local $$i$0$lcssa368)
+ )
)
- )
- (set_local $$154
- (i32.add
- (get_local $$151)
- (i32.const 4)
+ (set_local $$cnt$0
+ (get_local $$cnt$1)
)
- )
- (set_local $$155
- (get_local $$154)
- )
- (set_local $$156
- (i32.load
- (get_local $$155)
+ (set_local $$incdec$ptr169275
+ (get_local $$incdec$ptr169$lcssa)
)
- )
- (set_local $$157
- (i32.ne
- (get_local $$153)
- (i32.const 0)
+ (set_local $$l$0
+ (get_local $$cond426)
)
- )
- (set_local $$158
- (i32.ne
- (get_local $$156)
- (i32.const 0)
+ (set_local $$l10n$0
+ (get_local $$l10n$3)
)
+ (br $label$continue$L1)
)
- (set_local $$159
- (i32.or
- (get_local $$157)
- (get_local $$158)
- )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 77)
)
- (set_local $$tobool314
- (i32.ne
- (get_local $$p$2)
+ (block
+ (set_local $label
(i32.const 0)
)
- )
- (set_local $$or$cond
- (i32.or
- (get_local $$tobool314)
- (get_local $$159)
- )
- )
- (if
- (get_local $$or$cond)
- (block
- (set_local $$sub$ptr$rhs$cast318
- (get_local $$a$0)
- )
- (set_local $$sub$ptr$sub319
- (i32.sub
- (get_local $$sub$ptr$lhs$cast317)
- (get_local $$sub$ptr$rhs$cast318)
- )
- )
- (set_local $$160
- (i32.and
- (get_local $$159)
- (i32.const 1)
- )
- )
- (set_local $$lnot$ext
- (i32.xor
- (get_local $$160)
- (i32.const 1)
- )
- )
- (set_local $$add322
- (i32.add
- (get_local $$lnot$ext)
- (get_local $$sub$ptr$sub319)
- )
- )
- (set_local $$cmp323
- (i32.gt_s
- (get_local $$p$2)
- (get_local $$add322)
- )
- )
- (set_local $$p$2$add322
- (if
- (get_local $$cmp323)
- (get_local $$p$2)
- (get_local $$add322)
- )
+ (set_local $$cmp306
+ (i32.gt_s
+ (get_local $$p$2)
+ (i32.const -1)
)
- (set_local $$a$2
- (get_local $$a$0)
+ )
+ (set_local $$and309
+ (i32.and
+ (get_local $$fl$4)
+ (i32.const -65537)
)
- (set_local $$fl$6
- (get_local $$and309$fl$4)
+ )
+ (set_local $$and309$fl$4
+ (if
+ (get_local $$cmp306)
+ (get_local $$and309)
+ (get_local $$fl$4)
)
- (set_local $$p$5
- (get_local $$p$2$add322)
+ )
+ (set_local $$151
+ (get_local $$arg)
+ )
+ (set_local $$152
+ (get_local $$151)
+ )
+ (set_local $$153
+ (i32.load
+ (get_local $$152)
)
- (set_local $$pl$2
- (get_local $$pl$1)
+ )
+ (set_local $$154
+ (i32.add
+ (get_local $$151)
+ (i32.const 4)
)
- (set_local $$prefix$2
- (get_local $$prefix$1)
+ )
+ (set_local $$155
+ (get_local $$154)
+ )
+ (set_local $$156
+ (i32.load
+ (get_local $$155)
)
- (set_local $$z$2
- (get_local $$add$ptr205)
+ )
+ (set_local $$157
+ (i32.ne
+ (get_local $$153)
+ (i32.const 0)
)
)
- (block
- (set_local $$a$2
- (get_local $$add$ptr205)
+ (set_local $$158
+ (i32.ne
+ (get_local $$156)
+ (i32.const 0)
)
- (set_local $$fl$6
- (get_local $$and309$fl$4)
+ )
+ (set_local $$159
+ (i32.or
+ (get_local $$157)
+ (get_local $$158)
)
- (set_local $$p$5
+ )
+ (set_local $$tobool314
+ (i32.ne
+ (get_local $$p$2)
(i32.const 0)
)
- (set_local $$pl$2
- (get_local $$pl$1)
+ )
+ (set_local $$or$cond
+ (i32.or
+ (get_local $$tobool314)
+ (get_local $$159)
)
- (set_local $$prefix$2
- (get_local $$prefix$1)
+ )
+ (if
+ (get_local $$or$cond)
+ (block
+ (set_local $$sub$ptr$rhs$cast318
+ (get_local $$a$0)
+ )
+ (set_local $$sub$ptr$sub319
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast317)
+ (get_local $$sub$ptr$rhs$cast318)
+ )
+ )
+ (set_local $$160
+ (i32.and
+ (get_local $$159)
+ (i32.const 1)
+ )
+ )
+ (set_local $$lnot$ext
+ (i32.xor
+ (get_local $$160)
+ (i32.const 1)
+ )
+ )
+ (set_local $$add322
+ (i32.add
+ (get_local $$lnot$ext)
+ (get_local $$sub$ptr$sub319)
+ )
+ )
+ (set_local $$cmp323
+ (i32.gt_s
+ (get_local $$p$2)
+ (get_local $$add322)
+ )
+ )
+ (set_local $$p$2$add322
+ (if
+ (get_local $$cmp323)
+ (get_local $$p$2)
+ (get_local $$add322)
+ )
+ )
+ (set_local $$a$2
+ (get_local $$a$0)
+ )
+ (set_local $$fl$6
+ (get_local $$and309$fl$4)
+ )
+ (set_local $$p$5
+ (get_local $$p$2$add322)
+ )
+ (set_local $$pl$2
+ (get_local $$pl$1)
+ )
+ (set_local $$prefix$2
+ (get_local $$prefix$1)
+ )
+ (set_local $$z$2
+ (get_local $$add$ptr205)
+ )
)
- (set_local $$z$2
- (get_local $$add$ptr205)
+ (block
+ (set_local $$a$2
+ (get_local $$add$ptr205)
+ )
+ (set_local $$fl$6
+ (get_local $$and309$fl$4)
+ )
+ (set_local $$p$5
+ (i32.const 0)
+ )
+ (set_local $$pl$2
+ (get_local $$pl$1)
+ )
+ (set_local $$prefix$2
+ (get_local $$prefix$1)
+ )
+ (set_local $$z$2
+ (get_local $$add$ptr205)
+ )
)
)
)
)
- )
- (set_local $$sub$ptr$lhs$cast431
- (get_local $$z$2)
- )
- (set_local $$sub$ptr$rhs$cast432
- (get_local $$a$2)
- )
- (set_local $$sub$ptr$sub433
- (i32.sub
- (get_local $$sub$ptr$lhs$cast431)
- (get_local $$sub$ptr$rhs$cast432)
+ (set_local $$sub$ptr$lhs$cast431
+ (get_local $$z$2)
)
- )
- (set_local $$cmp434
- (i32.lt_s
- (get_local $$p$5)
- (get_local $$sub$ptr$sub433)
+ (set_local $$sub$ptr$rhs$cast432
+ (get_local $$a$2)
)
- )
- (set_local $$sub$ptr$sub433$p$5
- (if
- (get_local $$cmp434)
- (get_local $$sub$ptr$sub433)
- (get_local $$p$5)
+ (set_local $$sub$ptr$sub433
+ (i32.sub
+ (get_local $$sub$ptr$lhs$cast431)
+ (get_local $$sub$ptr$rhs$cast432)
+ )
)
- )
- (set_local $$add441
- (i32.add
- (get_local $$pl$2)
- (get_local $$sub$ptr$sub433$p$5)
+ (set_local $$cmp434
+ (i32.lt_s
+ (get_local $$p$5)
+ (get_local $$sub$ptr$sub433)
+ )
)
- )
- (set_local $$cmp442
- (i32.lt_s
- (get_local $$w$1)
+ (set_local $$sub$ptr$sub433$p$5
+ (if
+ (get_local $$cmp434)
+ (get_local $$sub$ptr$sub433)
+ (get_local $$p$5)
+ )
+ )
+ (set_local $$add441
+ (i32.add
+ (get_local $$pl$2)
+ (get_local $$sub$ptr$sub433$p$5)
+ )
+ )
+ (set_local $$cmp442
+ (i32.lt_s
+ (get_local $$w$1)
+ (get_local $$add441)
+ )
+ )
+ (set_local $$w$2
+ (if
+ (get_local $$cmp442)
+ (get_local $$add441)
+ (get_local $$w$1)
+ )
+ )
+ (call $_pad
+ (get_local $$f)
+ (i32.const 32)
+ (get_local $$w$2)
(get_local $$add441)
+ (get_local $$fl$6)
+ )
+ (set_local $$265
+ (i32.load
+ (get_local $$f)
+ )
+ )
+ (set_local $$and$i$244
+ (i32.and
+ (get_local $$265)
+ (i32.const 32)
+ )
+ )
+ (set_local $$tobool$i$245
+ (i32.eq
+ (get_local $$and$i$244)
+ (i32.const 0)
+ )
)
- )
- (set_local $$w$2
(if
- (get_local $$cmp442)
+ (get_local $$tobool$i$245)
+ (call $___fwritex
+ (get_local $$prefix$2)
+ (get_local $$pl$2)
+ (get_local $$f)
+ )
+ )
+ (set_local $$xor449
+ (i32.xor
+ (get_local $$fl$6)
+ (i32.const 65536)
+ )
+ )
+ (call $_pad
+ (get_local $$f)
+ (i32.const 48)
+ (get_local $$w$2)
(get_local $$add441)
- (get_local $$w$1)
+ (get_local $$xor449)
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$2)
- (get_local $$add441)
- (get_local $$fl$6)
- )
- (set_local $$265
- (i32.load
+ (call $_pad
(get_local $$f)
+ (i32.const 48)
+ (get_local $$sub$ptr$sub433$p$5)
+ (get_local $$sub$ptr$sub433)
+ (i32.const 0)
)
- )
- (set_local $$and$i$244
- (i32.and
- (get_local $$265)
- (i32.const 32)
+ (set_local $$266
+ (i32.load
+ (get_local $$f)
+ )
)
- )
- (set_local $$tobool$i$245
- (i32.eq
- (get_local $$and$i$244)
- (i32.const 0)
+ (set_local $$and$i$216
+ (i32.and
+ (get_local $$266)
+ (i32.const 32)
+ )
)
- )
- (if
- (get_local $$tobool$i$245)
- (call $___fwritex
- (get_local $$prefix$2)
- (get_local $$pl$2)
- (get_local $$f)
+ (set_local $$tobool$i$217
+ (i32.eq
+ (get_local $$and$i$216)
+ (i32.const 0)
+ )
)
- )
- (set_local $$xor449
- (i32.xor
- (get_local $$fl$6)
- (i32.const 65536)
+ (if
+ (get_local $$tobool$i$217)
+ (call $___fwritex
+ (get_local $$a$2)
+ (get_local $$sub$ptr$sub433)
+ (get_local $$f)
+ )
)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 48)
- (get_local $$w$2)
- (get_local $$add441)
- (get_local $$xor449)
- )
- (call $_pad
- (get_local $$f)
- (i32.const 48)
- (get_local $$sub$ptr$sub433$p$5)
- (get_local $$sub$ptr$sub433)
- (i32.const 0)
- )
- (set_local $$266
- (i32.load
- (get_local $$f)
+ (set_local $$xor457
+ (i32.xor
+ (get_local $$fl$6)
+ (i32.const 8192)
+ )
)
- )
- (set_local $$and$i$216
- (i32.and
- (get_local $$266)
+ (call $_pad
+ (get_local $$f)
(i32.const 32)
+ (get_local $$w$2)
+ (get_local $$add441)
+ (get_local $$xor457)
)
- )
- (set_local $$tobool$i$217
- (i32.eq
- (get_local $$and$i$216)
- (i32.const 0)
+ (set_local $$cnt$0
+ (get_local $$cnt$1)
)
- )
- (if
- (get_local $$tobool$i$217)
- (call $___fwritex
- (get_local $$a$2)
- (get_local $$sub$ptr$sub433)
- (get_local $$f)
+ (set_local $$incdec$ptr169275
+ (get_local $$incdec$ptr169$lcssa)
)
- )
- (set_local $$xor457
- (i32.xor
- (get_local $$fl$6)
- (i32.const 8192)
+ (set_local $$l$0
+ (get_local $$w$2)
)
+ (set_local $$l10n$0
+ (get_local $$l10n$3)
+ )
+ (br $label$continue$L1)
)
- (call $_pad
- (get_local $$f)
- (i32.const 32)
- (get_local $$w$2)
- (get_local $$add441)
- (get_local $$xor457)
- )
- (set_local $$cnt$0
- (get_local $$cnt$1)
- )
- (set_local $$incdec$ptr169275
- (get_local $$incdec$ptr169$lcssa)
- )
- (set_local $$l$0
- (get_local $$w$2)
- )
- (set_local $$l10n$0
- (get_local $$l10n$3)
- )
- (br $label$continue$L1)
)
(block $label$break$L343
(if
@@ -14341,75 +14286,77 @@
(set_local $$i$2299
(i32.const 1)
)
- (loop $while-out$136 $while-in$137
- (set_local $$arrayidx469
- (i32.add
- (get_local $$nl_type)
- (i32.shl
- (get_local $$i$2299)
- (i32.const 2)
+ (loop $while-in$137
+ (block $while-out$136
+ (set_local $$arrayidx469
+ (i32.add
+ (get_local $$nl_type)
+ (i32.shl
+ (get_local $$i$2299)
+ (i32.const 2)
+ )
)
)
- )
- (set_local $$267
- (i32.load
- (get_local $$arrayidx469)
+ (set_local $$267
+ (i32.load
+ (get_local $$arrayidx469)
+ )
)
- )
- (set_local $$tobool470
- (i32.eq
- (get_local $$267)
- (i32.const 0)
+ (set_local $$tobool470
+ (i32.eq
+ (get_local $$267)
+ (i32.const 0)
+ )
)
- )
- (if
- (get_local $$tobool470)
- (block
- (set_local $$i$2299$lcssa
- (get_local $$i$2299)
+ (if
+ (get_local $$tobool470)
+ (block
+ (set_local $$i$2299$lcssa
+ (get_local $$i$2299)
+ )
+ (br $while-out$136)
)
- (br $while-out$136)
)
- )
- (set_local $$add$ptr473
- (i32.add
- (get_local $$nl_arg)
- (i32.shl
- (get_local $$i$2299)
- (i32.const 3)
+ (set_local $$add$ptr473
+ (i32.add
+ (get_local $$nl_arg)
+ (i32.shl
+ (get_local $$i$2299)
+ (i32.const 3)
+ )
)
)
- )
- (call $_pop_arg_336
- (get_local $$add$ptr473)
- (get_local $$267)
- (get_local $$ap)
- )
- (set_local $$inc
- (i32.add
- (get_local $$i$2299)
- (i32.const 1)
+ (call $_pop_arg_336
+ (get_local $$add$ptr473)
+ (get_local $$267)
+ (get_local $$ap)
)
- )
- (set_local $$cmp466
- (i32.lt_s
- (get_local $$inc)
- (i32.const 10)
+ (set_local $$inc
+ (i32.add
+ (get_local $$i$2299)
+ (i32.const 1)
+ )
)
- )
- (if
- (get_local $$cmp466)
- (set_local $$i$2299
- (get_local $$inc)
+ (set_local $$cmp466
+ (i32.lt_s
+ (get_local $$inc)
+ (i32.const 10)
+ )
)
- (block
- (set_local $$retval$0
- (i32.const 1)
+ (if
+ (get_local $$cmp466)
+ (set_local $$i$2299
+ (get_local $$inc)
+ )
+ (block
+ (set_local $$retval$0
+ (i32.const 1)
+ )
+ (br $label$break$L343)
)
- (br $label$break$L343)
)
+ (br $while-in$137)
)
- (br $while-in$137)
)
(set_local $$cmp478$295
(i32.lt_s
@@ -14423,63 +14370,65 @@
(set_local $$i$3296
(get_local $$i$2299$lcssa)
)
- (loop $while-out$138 $while-in$139
- (set_local $$arrayidx481
- (i32.add
- (get_local $$nl_type)
- (i32.shl
- (get_local $$i$3296)
- (i32.const 2)
+ (loop $while-in$139
+ (block $while-out$138
+ (set_local $$arrayidx481
+ (i32.add
+ (get_local $$nl_type)
+ (i32.shl
+ (get_local $$i$3296)
+ (i32.const 2)
+ )
)
)
- )
- (set_local $$268
- (i32.load
- (get_local $$arrayidx481)
- )
- )
- (set_local $$lnot483
- (i32.eq
- (get_local $$268)
- (i32.const 0)
- )
- )
- (set_local $$inc488
- (i32.add
- (get_local $$i$3296)
- (i32.const 1)
+ (set_local $$268
+ (i32.load
+ (get_local $$arrayidx481)
+ )
)
- )
- (if
- (i32.eqz
- (get_local $$lnot483)
+ (set_local $$lnot483
+ (i32.eq
+ (get_local $$268)
+ (i32.const 0)
+ )
)
- (block
- (set_local $$retval$0
- (i32.const -1)
+ (set_local $$inc488
+ (i32.add
+ (get_local $$i$3296)
+ (i32.const 1)
)
- (br $label$break$L343)
)
- )
- (set_local $$cmp478
- (i32.lt_s
- (get_local $$inc488)
- (i32.const 10)
+ (if
+ (i32.eqz
+ (get_local $$lnot483)
+ )
+ (block
+ (set_local $$retval$0
+ (i32.const -1)
+ )
+ (br $label$break$L343)
+ )
)
- )
- (if
- (get_local $$cmp478)
- (set_local $$i$3296
- (get_local $$inc488)
+ (set_local $$cmp478
+ (i32.lt_s
+ (get_local $$inc488)
+ (i32.const 10)
+ )
)
- (block
- (set_local $$retval$0
- (i32.const 1)
+ (if
+ (get_local $$cmp478)
+ (set_local $$i$3296
+ (get_local $$inc488)
+ )
+ (block
+ (set_local $$retval$0
+ (i32.const 1)
+ )
+ (br $while-out$138)
)
- (br $while-out$138)
)
+ (br $while-in$139)
)
- (br $while-in$139)
)
)
(set_local $$retval$0
@@ -14496,8 +14445,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return
@@ -14694,9 +14642,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$cmp
(i32.gt_u
@@ -15847,9 +15793,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$2
(i32.gt_u
@@ -15893,112 +15837,110 @@
(set_local $$s$addr$013
(get_local $$s)
)
- (loop $while-out$0 $while-in$1
- (set_local $$9
- (call $___uremdi3
- (get_local $$7)
- (get_local $$8)
- (i32.const 10)
- (i32.const 0)
- )
- )
- (set_local $$10
- (i32.load
- (i32.const 168)
- )
- )
- (set_local $$11
- (i32.or
- (get_local $$9)
- (i32.const 48)
- )
- )
- (set_local $$12
- (i32.and
- (get_local $$11)
- (i32.const 255)
+ (loop $while-in$1
+ (block $while-out$0
+ (set_local $$9
+ (call $___uremdi3
+ (get_local $$7)
+ (get_local $$8)
+ (i32.const 10)
+ (i32.const 0)
+ )
)
- )
- (set_local $$incdec$ptr
- (i32.add
- (get_local $$s$addr$013)
- (i32.const -1)
+ (set_local $$10
+ (get_global $tempRet0)
)
- )
- (i32.store8
- (get_local $$incdec$ptr)
- (get_local $$12)
- )
- (set_local $$13
- (call $___udivdi3
- (get_local $$7)
- (get_local $$8)
- (i32.const 10)
- (i32.const 0)
+ (set_local $$11
+ (i32.or
+ (get_local $$9)
+ (i32.const 48)
+ )
)
- )
- (set_local $$14
- (i32.load
- (i32.const 168)
+ (set_local $$12
+ (i32.and
+ (get_local $$11)
+ (i32.const 255)
+ )
)
- )
- (set_local $$15
- (i32.gt_u
- (get_local $$8)
- (i32.const 9)
+ (set_local $$incdec$ptr
+ (i32.add
+ (get_local $$s$addr$013)
+ (i32.const -1)
+ )
)
- )
- (set_local $$16
- (i32.gt_u
- (get_local $$7)
- (i32.const -1)
+ (i32.store8
+ (get_local $$incdec$ptr)
+ (get_local $$12)
)
- )
- (set_local $$17
- (i32.eq
- (get_local $$8)
- (i32.const 9)
+ (set_local $$13
+ (call $___udivdi3
+ (get_local $$7)
+ (get_local $$8)
+ (i32.const 10)
+ (i32.const 0)
+ )
)
- )
- (set_local $$18
- (i32.and
- (get_local $$17)
- (get_local $$16)
+ (set_local $$14
+ (get_global $tempRet0)
)
- )
- (set_local $$19
- (i32.or
- (get_local $$15)
- (get_local $$18)
+ (set_local $$15
+ (i32.gt_u
+ (get_local $$8)
+ (i32.const 9)
+ )
)
- )
- (if
- (get_local $$19)
- (block
- (set_local $$7
- (get_local $$13)
+ (set_local $$16
+ (i32.gt_u
+ (get_local $$7)
+ (i32.const -1)
)
- (set_local $$8
- (get_local $$14)
+ )
+ (set_local $$17
+ (i32.eq
+ (get_local $$8)
+ (i32.const 9)
)
- (set_local $$s$addr$013
- (get_local $$incdec$ptr)
+ )
+ (set_local $$18
+ (i32.and
+ (get_local $$17)
+ (get_local $$16)
)
)
- (block
- (set_local $$21
- (get_local $$13)
+ (set_local $$19
+ (i32.or
+ (get_local $$15)
+ (get_local $$18)
)
- (set_local $$22
- (get_local $$14)
+ )
+ (if
+ (get_local $$19)
+ (block
+ (set_local $$7
+ (get_local $$13)
+ )
+ (set_local $$8
+ (get_local $$14)
+ )
+ (set_local $$s$addr$013
+ (get_local $$incdec$ptr)
+ )
)
- (set_local $$incdec$ptr$lcssa
- (get_local $$incdec$ptr)
+ (block
+ (set_local $$21
+ (get_local $$13)
+ )
+ (set_local $$22
+ (get_local $$14)
+ )
+ (set_local $$incdec$ptr$lcssa
+ (get_local $$incdec$ptr)
+ )
+ (br $while-out$0)
)
- (br $while-out$0)
)
+ (br $while-in$1)
)
- (br $while-in$1)
)
(set_local $$s$addr$0$lcssa
(get_local $$incdec$ptr$lcssa)
@@ -16034,71 +15976,73 @@
(set_local $$y$010
(get_local $$x$addr$0$lcssa$off0)
)
- (loop $while-out$2 $while-in$3
- (set_local $$rem4
- (i32.and
- (call_import $i32u-rem
- (get_local $$y$010)
- (i32.const 10)
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $$rem4
+ (i32.and
+ (call_import $i32u-rem
+ (get_local $$y$010)
+ (i32.const 10)
+ )
+ (i32.const -1)
)
- (i32.const -1)
- )
- )
- (set_local $$add5
- (i32.or
- (get_local $$rem4)
- (i32.const 48)
)
- )
- (set_local $$conv6
- (i32.and
- (get_local $$add5)
- (i32.const 255)
+ (set_local $$add5
+ (i32.or
+ (get_local $$rem4)
+ (i32.const 48)
+ )
)
- )
- (set_local $$incdec$ptr7
- (i32.add
- (get_local $$s$addr$19)
- (i32.const -1)
+ (set_local $$conv6
+ (i32.and
+ (get_local $$add5)
+ (i32.const 255)
+ )
)
- )
- (i32.store8
- (get_local $$incdec$ptr7)
- (get_local $$conv6)
- )
- (set_local $$div9
- (i32.and
- (call_import $i32u-div
- (get_local $$y$010)
- (i32.const 10)
+ (set_local $$incdec$ptr7
+ (i32.add
+ (get_local $$s$addr$19)
+ (i32.const -1)
)
- (i32.const -1)
)
- )
- (set_local $$20
- (i32.lt_u
- (get_local $$y$010)
- (i32.const 10)
+ (i32.store8
+ (get_local $$incdec$ptr7)
+ (get_local $$conv6)
)
- )
- (if
- (get_local $$20)
- (block
- (set_local $$s$addr$1$lcssa
- (get_local $$incdec$ptr7)
+ (set_local $$div9
+ (i32.and
+ (call_import $i32u-div
+ (get_local $$y$010)
+ (i32.const 10)
+ )
+ (i32.const -1)
)
- (br $while-out$2)
)
- (block
- (set_local $$s$addr$19
- (get_local $$incdec$ptr7)
+ (set_local $$20
+ (i32.lt_u
+ (get_local $$y$010)
+ (i32.const 10)
+ )
+ )
+ (if
+ (get_local $$20)
+ (block
+ (set_local $$s$addr$1$lcssa
+ (get_local $$incdec$ptr7)
+ )
+ (br $while-out$2)
)
- (set_local $$y$010
- (get_local $$div9)
+ (block
+ (set_local $$s$addr$19
+ (get_local $$incdec$ptr7)
+ )
+ (set_local $$y$010
+ (get_local $$div9)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
@@ -16134,27 +16078,18 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 256)
)
)
(if
(i32.ge_s
- (i32.load
- (i32.const 8)
- )
- (i32.load
- (i32.const 16)
- )
+ (get_global $STACKTOP)
+ (get_global $STACK_MAX)
)
(call_import $abort)
)
@@ -16208,10 +16143,12 @@
(get_local $$sub)
)
)
- (call $_memset
- (get_local $$pad)
- (get_local $$c)
- (get_local $$cond)
+ (drop
+ (call $_memset
+ (get_local $$pad)
+ (get_local $$c)
+ (get_local $$cond)
+ )
)
(set_local $$cmp3$14
(i32.gt_u
@@ -16254,68 +16191,72 @@
(set_local $$tobool$i18
(get_local $$tobool$i$16)
)
- (loop $while-out$2 $while-in$3
- (if
- (get_local $$tobool$i18)
- (block
- (call $___fwritex
- (get_local $$pad)
- (i32.const 256)
- (get_local $$f)
- )
- (set_local $$$pre
- (i32.load
- (get_local $$f)
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (get_local $$tobool$i18)
+ (block
+ (drop
+ (call $___fwritex
+ (get_local $$pad)
+ (i32.const 256)
+ (get_local $$f)
+ )
+ )
+ (set_local $$$pre
+ (i32.load
+ (get_local $$f)
+ )
+ )
+ (set_local $$2
+ (get_local $$$pre)
)
)
(set_local $$2
- (get_local $$$pre)
+ (get_local $$4)
)
)
- (set_local $$2
- (get_local $$4)
- )
- )
- (set_local $$sub5
- (i32.add
- (get_local $$l$addr$017)
- (i32.const -256)
- )
- )
- (set_local $$cmp3
- (i32.gt_u
- (get_local $$sub5)
- (i32.const 255)
- )
- )
- (set_local $$and$i
- (i32.and
- (get_local $$2)
- (i32.const 32)
+ (set_local $$sub5
+ (i32.add
+ (get_local $$l$addr$017)
+ (i32.const -256)
+ )
)
- )
- (set_local $$tobool$i
- (i32.eq
- (get_local $$and$i)
- (i32.const 0)
+ (set_local $$cmp3
+ (i32.gt_u
+ (get_local $$sub5)
+ (i32.const 255)
+ )
)
- )
- (if
- (get_local $$cmp3)
- (block
- (set_local $$4
+ (set_local $$and$i
+ (i32.and
(get_local $$2)
+ (i32.const 32)
)
- (set_local $$l$addr$017
- (get_local $$sub5)
+ )
+ (set_local $$tobool$i
+ (i32.eq
+ (get_local $$and$i)
+ (i32.const 0)
)
- (set_local $$tobool$i18
- (get_local $$tobool$i)
+ )
+ (if
+ (get_local $$cmp3)
+ (block
+ (set_local $$4
+ (get_local $$2)
+ )
+ (set_local $$l$addr$017
+ (get_local $$sub5)
+ )
+ (set_local $$tobool$i18
+ (get_local $$tobool$i)
+ )
)
+ (br $while-out$2)
)
- (br $while-out$2)
+ (br $while-in$3)
)
- (br $while-in$3)
)
(set_local $$3
(i32.and
@@ -16339,16 +16280,17 @@
(br $do-once$0)
)
)
- (call $___fwritex
- (get_local $$pad)
- (get_local $$l$addr$0$lcssa21)
- (get_local $$f)
+ (drop
+ (call $___fwritex
+ (get_local $$pad)
+ (get_local $$l$addr$0$lcssa21)
+ (get_local $$f)
+ )
)
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $sp)
)
(return)
@@ -17544,9 +17486,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$cmp
(i32.lt_u
@@ -18574,117 +18514,119 @@
(set_local $$v$0$i
(get_local $$20)
)
- (loop $while-out$6 $while-in$7
- (set_local $$arrayidx23$i
- (i32.add
- (get_local $$t$0$i)
- (i32.const 16)
+ (loop $while-in$7
+ (block $while-out$6
+ (set_local $$arrayidx23$i
+ (i32.add
+ (get_local $$t$0$i)
+ (i32.const 16)
+ )
)
- )
- (set_local $$22
- (i32.load
- (get_local $$arrayidx23$i)
+ (set_local $$22
+ (i32.load
+ (get_local $$arrayidx23$i)
+ )
)
- )
- (set_local $$cmp$i
- (i32.eq
- (get_local $$22)
- (i32.const 0)
+ (set_local $$cmp$i
+ (i32.eq
+ (get_local $$22)
+ (i32.const 0)
+ )
)
- )
- (if
- (get_local $$cmp$i)
- (block
- (set_local $$arrayidx27$i
- (i32.add
- (get_local $$t$0$i)
- (i32.const 20)
+ (if
+ (get_local $$cmp$i)
+ (block
+ (set_local $$arrayidx27$i
+ (i32.add
+ (get_local $$t$0$i)
+ (i32.const 20)
+ )
)
- )
- (set_local $$23
- (i32.load
- (get_local $$arrayidx27$i)
+ (set_local $$23
+ (i32.load
+ (get_local $$arrayidx27$i)
+ )
)
- )
- (set_local $$cmp28$i
- (i32.eq
- (get_local $$23)
- (i32.const 0)
+ (set_local $$cmp28$i
+ (i32.eq
+ (get_local $$23)
+ (i32.const 0)
+ )
)
- )
- (if
- (get_local $$cmp28$i)
- (block
- (set_local $$rsize$0$i$lcssa
- (get_local $$rsize$0$i)
+ (if
+ (get_local $$cmp28$i)
+ (block
+ (set_local $$rsize$0$i$lcssa
+ (get_local $$rsize$0$i)
+ )
+ (set_local $$v$0$i$lcssa
+ (get_local $$v$0$i)
+ )
+ (br $while-out$6)
)
- (set_local $$v$0$i$lcssa
- (get_local $$v$0$i)
+ (set_local $$cond4$i
+ (get_local $$23)
)
- (br $while-out$6)
- )
- (set_local $$cond4$i
- (get_local $$23)
)
)
+ (set_local $$cond4$i
+ (get_local $$22)
+ )
+ )
+ (set_local $$head29$i
+ (i32.add
+ (get_local $$cond4$i)
+ (i32.const 4)
+ )
)
- (set_local $$cond4$i
- (get_local $$22)
+ (set_local $$24
+ (i32.load
+ (get_local $$head29$i)
+ )
)
- )
- (set_local $$head29$i
- (i32.add
- (get_local $$cond4$i)
- (i32.const 4)
+ (set_local $$and30$i
+ (i32.and
+ (get_local $$24)
+ (i32.const -8)
+ )
)
- )
- (set_local $$24
- (i32.load
- (get_local $$head29$i)
+ (set_local $$sub31$i
+ (i32.sub
+ (get_local $$and30$i)
+ (get_local $$cond)
+ )
)
- )
- (set_local $$and30$i
- (i32.and
- (get_local $$24)
- (i32.const -8)
+ (set_local $$cmp32$i
+ (i32.lt_u
+ (get_local $$sub31$i)
+ (get_local $$rsize$0$i)
+ )
)
- )
- (set_local $$sub31$i
- (i32.sub
- (get_local $$and30$i)
- (get_local $$cond)
+ (set_local $$sub31$rsize$0$i
+ (if
+ (get_local $$cmp32$i)
+ (get_local $$sub31$i)
+ (get_local $$rsize$0$i)
+ )
)
- )
- (set_local $$cmp32$i
- (i32.lt_u
- (get_local $$sub31$i)
- (get_local $$rsize$0$i)
+ (set_local $$cond$v$0$i
+ (if
+ (get_local $$cmp32$i)
+ (get_local $$cond4$i)
+ (get_local $$v$0$i)
+ )
)
- )
- (set_local $$sub31$rsize$0$i
- (if
- (get_local $$cmp32$i)
- (get_local $$sub31$i)
- (get_local $$rsize$0$i)
+ (set_local $$rsize$0$i
+ (get_local $$sub31$rsize$0$i)
)
- )
- (set_local $$cond$v$0$i
- (if
- (get_local $$cmp32$i)
+ (set_local $$t$0$i
(get_local $$cond4$i)
- (get_local $$v$0$i)
)
+ (set_local $$v$0$i
+ (get_local $$cond$v$0$i)
+ )
+ (br $while-in$7)
)
- (set_local $$rsize$0$i
- (get_local $$sub31$rsize$0$i)
- )
- (set_local $$t$0$i
- (get_local $$cond4$i)
- )
- (set_local $$v$0$i
- (get_local $$cond$v$0$i)
- )
- (br $while-in$7)
)
(set_local $$25
(i32.load
@@ -18815,76 +18757,78 @@
)
)
)
- (loop $while-out$10 $while-in$11
- (set_local $$arrayidx71$i
- (i32.add
- (get_local $$R$1$i)
- (i32.const 20)
- )
- )
- (set_local $$33
- (i32.load
- (get_local $$arrayidx71$i)
- )
- )
- (set_local $$cmp72$i
- (i32.eq
- (get_local $$33)
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (get_local $$cmp72$i)
- )
- (block
- (set_local $$R$1$i
- (get_local $$33)
+ (loop $while-in$11
+ (block $while-out$10
+ (set_local $$arrayidx71$i
+ (i32.add
+ (get_local $$R$1$i)
+ (i32.const 20)
)
- (set_local $$RP$1$i
+ )
+ (set_local $$33
+ (i32.load
(get_local $$arrayidx71$i)
)
- (br $while-in$11)
- )
- )
- (set_local $$arrayidx75$i
- (i32.add
- (get_local $$R$1$i)
- (i32.const 16)
)
- )
- (set_local $$34
- (i32.load
- (get_local $$arrayidx75$i)
+ (set_local $$cmp72$i
+ (i32.eq
+ (get_local $$33)
+ (i32.const 0)
+ )
)
- )
- (set_local $$cmp76$i
- (i32.eq
- (get_local $$34)
- (i32.const 0)
+ (if
+ (i32.eqz
+ (get_local $$cmp72$i)
+ )
+ (block
+ (set_local $$R$1$i
+ (get_local $$33)
+ )
+ (set_local $$RP$1$i
+ (get_local $$arrayidx71$i)
+ )
+ (br $while-in$11)
+ )
)
- )
- (if
- (get_local $$cmp76$i)
- (block
- (set_local $$R$1$i$lcssa
+ (set_local $$arrayidx75$i
+ (i32.add
(get_local $$R$1$i)
+ (i32.const 16)
)
- (set_local $$RP$1$i$lcssa
- (get_local $$RP$1$i)
+ )
+ (set_local $$34
+ (i32.load
+ (get_local $$arrayidx75$i)
)
- (br $while-out$10)
)
- (block
- (set_local $$R$1$i
+ (set_local $$cmp76$i
+ (i32.eq
(get_local $$34)
+ (i32.const 0)
)
- (set_local $$RP$1$i
- (get_local $$arrayidx75$i)
+ )
+ (if
+ (get_local $$cmp76$i)
+ (block
+ (set_local $$R$1$i$lcssa
+ (get_local $$R$1$i)
+ )
+ (set_local $$RP$1$i$lcssa
+ (get_local $$RP$1$i)
+ )
+ (br $while-out$10)
+ )
+ (block
+ (set_local $$R$1$i
+ (get_local $$34)
+ )
+ (set_local $$RP$1$i
+ (get_local $$arrayidx75$i)
+ )
)
)
+ (br $while-in$11)
)
- (br $while-in$11)
)
(set_local $$cmp81$i
(i32.lt_u
@@ -19890,200 +19834,202 @@
(set_local $$v$0$i$153
(i32.const 0)
)
- (loop $while-out$17 $while-in$18
- (set_local $$head$i$154
- (i32.add
- (get_local $$t$0$i$151)
- (i32.const 4)
- )
- )
- (set_local $$53
- (i32.load
- (get_local $$head$i$154)
+ (loop $while-in$18
+ (block $while-out$17
+ (set_local $$head$i$154
+ (i32.add
+ (get_local $$t$0$i$151)
+ (i32.const 4)
+ )
)
- )
- (set_local $$and32$i
- (i32.and
- (get_local $$53)
- (i32.const -8)
+ (set_local $$53
+ (i32.load
+ (get_local $$head$i$154)
+ )
)
- )
- (set_local $$sub33$i
- (i32.sub
- (get_local $$and32$i)
- (get_local $$and145)
+ (set_local $$and32$i
+ (i32.and
+ (get_local $$53)
+ (i32.const -8)
+ )
)
- )
- (set_local $$cmp34$i
- (i32.lt_u
- (get_local $$sub33$i)
- (get_local $$rsize$0$i$152)
+ (set_local $$sub33$i
+ (i32.sub
+ (get_local $$and32$i)
+ (get_local $$and145)
+ )
)
- )
- (if
- (get_local $$cmp34$i)
- (block
- (set_local $$cmp36$i
- (i32.eq
- (get_local $$and32$i)
- (get_local $$and145)
- )
+ (set_local $$cmp34$i
+ (i32.lt_u
+ (get_local $$sub33$i)
+ (get_local $$rsize$0$i$152)
)
- (if
- (get_local $$cmp36$i)
- (block
- (set_local $$rsize$49$i
- (get_local $$sub33$i)
- )
- (set_local $$t$48$i
- (get_local $$t$0$i$151)
- )
- (set_local $$v$410$i
- (get_local $$t$0$i$151)
- )
- (set_local $label
- (i32.const 90)
+ )
+ (if
+ (get_local $$cmp34$i)
+ (block
+ (set_local $$cmp36$i
+ (i32.eq
+ (get_local $$and32$i)
+ (get_local $$and145)
)
- (br $label$break$L123)
)
- (block
- (set_local $$rsize$1$i
- (get_local $$sub33$i)
+ (if
+ (get_local $$cmp36$i)
+ (block
+ (set_local $$rsize$49$i
+ (get_local $$sub33$i)
+ )
+ (set_local $$t$48$i
+ (get_local $$t$0$i$151)
+ )
+ (set_local $$v$410$i
+ (get_local $$t$0$i$151)
+ )
+ (set_local $label
+ (i32.const 90)
+ )
+ (br $label$break$L123)
)
- (set_local $$v$1$i
- (get_local $$t$0$i$151)
+ (block
+ (set_local $$rsize$1$i
+ (get_local $$sub33$i)
+ )
+ (set_local $$v$1$i
+ (get_local $$t$0$i$151)
+ )
)
)
)
- )
- (block
- (set_local $$rsize$1$i
- (get_local $$rsize$0$i$152)
- )
- (set_local $$v$1$i
- (get_local $$v$0$i$153)
+ (block
+ (set_local $$rsize$1$i
+ (get_local $$rsize$0$i$152)
+ )
+ (set_local $$v$1$i
+ (get_local $$v$0$i$153)
+ )
)
)
- )
- (set_local $$arrayidx40$i
- (i32.add
- (get_local $$t$0$i$151)
- (i32.const 20)
- )
- )
- (set_local $$54
- (i32.load
- (get_local $$arrayidx40$i)
- )
- )
- (set_local $$shr41$i
- (i32.shr_u
- (get_local $$sizebits$0$i)
- (i32.const 31)
- )
- )
- (set_local $$arrayidx44$i
- (i32.add
+ (set_local $$arrayidx40$i
(i32.add
(get_local $$t$0$i$151)
- (i32.const 16)
- )
- (i32.shl
- (get_local $$shr41$i)
- (i32.const 2)
+ (i32.const 20)
)
)
- )
- (set_local $$55
- (i32.load
- (get_local $$arrayidx44$i)
- )
- )
- (set_local $$cmp45$i$155
- (i32.eq
- (get_local $$54)
- (i32.const 0)
- )
- )
- (set_local $$cmp46$i
- (i32.eq
- (get_local $$54)
- (get_local $$55)
- )
- )
- (set_local $$or$cond1$i
- (i32.or
- (get_local $$cmp45$i$155)
- (get_local $$cmp46$i)
- )
- )
- (set_local $$rst$1$i
- (if
- (get_local $$or$cond1$i)
- (get_local $$rst$0$i)
- (get_local $$54)
+ (set_local $$54
+ (i32.load
+ (get_local $$arrayidx40$i)
+ )
)
- )
- (set_local $$cmp49$i
- (i32.eq
- (get_local $$55)
- (i32.const 0)
+ (set_local $$shr41$i
+ (i32.shr_u
+ (get_local $$sizebits$0$i)
+ (i32.const 31)
+ )
)
- )
- (set_local $$56
- (i32.and
- (get_local $$cmp49$i)
- (i32.const 1)
+ (set_local $$arrayidx44$i
+ (i32.add
+ (i32.add
+ (get_local $$t$0$i$151)
+ (i32.const 16)
+ )
+ (i32.shl
+ (get_local $$shr41$i)
+ (i32.const 2)
+ )
+ )
)
- )
- (set_local $$shl52$i
- (i32.xor
- (get_local $$56)
- (i32.const 1)
+ (set_local $$55
+ (i32.load
+ (get_local $$arrayidx44$i)
+ )
)
- )
- (set_local $$sizebits$0$shl52$i
- (i32.shl
- (get_local $$sizebits$0$i)
- (get_local $$shl52$i)
+ (set_local $$cmp45$i$155
+ (i32.eq
+ (get_local $$54)
+ (i32.const 0)
+ )
)
- )
- (if
- (get_local $$cmp49$i)
- (block
- (set_local $$rsize$3$i
- (get_local $$rsize$1$i)
+ (set_local $$cmp46$i
+ (i32.eq
+ (get_local $$54)
+ (get_local $$55)
)
- (set_local $$t$2$i
- (get_local $$rst$1$i)
+ )
+ (set_local $$or$cond1$i
+ (i32.or
+ (get_local $$cmp45$i$155)
+ (get_local $$cmp46$i)
)
- (set_local $$v$3$i
- (get_local $$v$1$i)
+ )
+ (set_local $$rst$1$i
+ (if
+ (get_local $$or$cond1$i)
+ (get_local $$rst$0$i)
+ (get_local $$54)
)
- (set_local $label
- (i32.const 86)
+ )
+ (set_local $$cmp49$i
+ (i32.eq
+ (get_local $$55)
+ (i32.const 0)
)
- (br $while-out$17)
)
- (block
- (set_local $$rsize$0$i$152
- (get_local $$rsize$1$i)
+ (set_local $$56
+ (i32.and
+ (get_local $$cmp49$i)
+ (i32.const 1)
)
- (set_local $$rst$0$i
- (get_local $$rst$1$i)
+ )
+ (set_local $$shl52$i
+ (i32.xor
+ (get_local $$56)
+ (i32.const 1)
)
- (set_local $$sizebits$0$i
- (get_local $$sizebits$0$shl52$i)
+ )
+ (set_local $$sizebits$0$shl52$i
+ (i32.shl
+ (get_local $$sizebits$0$i)
+ (get_local $$shl52$i)
)
- (set_local $$t$0$i$151
- (get_local $$55)
+ )
+ (if
+ (get_local $$cmp49$i)
+ (block
+ (set_local $$rsize$3$i
+ (get_local $$rsize$1$i)
+ )
+ (set_local $$t$2$i
+ (get_local $$rst$1$i)
+ )
+ (set_local $$v$3$i
+ (get_local $$v$1$i)
+ )
+ (set_local $label
+ (i32.const 86)
+ )
+ (br $while-out$17)
)
- (set_local $$v$0$i$153
- (get_local $$v$1$i)
+ (block
+ (set_local $$rsize$0$i$152
+ (get_local $$rsize$1$i)
+ )
+ (set_local $$rst$0$i
+ (get_local $$rst$1$i)
+ )
+ (set_local $$sizebits$0$i
+ (get_local $$sizebits$0$shl52$i)
+ )
+ (set_local $$t$0$i$151
+ (get_local $$55)
+ )
+ (set_local $$v$0$i$153
+ (get_local $$v$1$i)
+ )
)
)
+ (br $while-in$18)
)
- (br $while-in$18)
)
)
)
@@ -20352,134 +20298,136 @@
(get_local $label)
(i32.const 90)
)
- (loop $while-out$19 $while-in$20
- (set_local $label
- (i32.const 0)
- )
- (set_local $$head99$i
- (i32.add
- (get_local $$t$48$i)
- (i32.const 4)
- )
- )
- (set_local $$58
- (i32.load
- (get_local $$head99$i)
- )
- )
- (set_local $$and100$i
- (i32.and
- (get_local $$58)
- (i32.const -8)
+ (loop $while-in$20
+ (block $while-out$19
+ (set_local $label
+ (i32.const 0)
)
- )
- (set_local $$sub101$i
- (i32.sub
- (get_local $$and100$i)
- (get_local $$and145)
+ (set_local $$head99$i
+ (i32.add
+ (get_local $$t$48$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$cmp102$i
- (i32.lt_u
- (get_local $$sub101$i)
- (get_local $$rsize$49$i)
+ (set_local $$58
+ (i32.load
+ (get_local $$head99$i)
+ )
)
- )
- (set_local $$sub101$rsize$4$i
- (if
- (get_local $$cmp102$i)
- (get_local $$sub101$i)
- (get_local $$rsize$49$i)
+ (set_local $$and100$i
+ (i32.and
+ (get_local $$58)
+ (i32.const -8)
+ )
)
- )
- (set_local $$t$4$v$4$i
- (if
- (get_local $$cmp102$i)
- (get_local $$t$48$i)
- (get_local $$v$410$i)
+ (set_local $$sub101$i
+ (i32.sub
+ (get_local $$and100$i)
+ (get_local $$and145)
+ )
)
- )
- (set_local $$arrayidx106$i
- (i32.add
- (get_local $$t$48$i)
- (i32.const 16)
+ (set_local $$cmp102$i
+ (i32.lt_u
+ (get_local $$sub101$i)
+ (get_local $$rsize$49$i)
+ )
)
- )
- (set_local $$59
- (i32.load
- (get_local $$arrayidx106$i)
+ (set_local $$sub101$rsize$4$i
+ (if
+ (get_local $$cmp102$i)
+ (get_local $$sub101$i)
+ (get_local $$rsize$49$i)
+ )
)
- )
- (set_local $$cmp107$i$157
- (i32.eq
- (get_local $$59)
- (i32.const 0)
+ (set_local $$t$4$v$4$i
+ (if
+ (get_local $$cmp102$i)
+ (get_local $$t$48$i)
+ (get_local $$v$410$i)
+ )
)
- )
- (if
- (i32.eqz
- (get_local $$cmp107$i$157)
+ (set_local $$arrayidx106$i
+ (i32.add
+ (get_local $$t$48$i)
+ (i32.const 16)
+ )
)
- (block
- (set_local $$rsize$49$i
- (get_local $$sub101$rsize$4$i)
+ (set_local $$59
+ (i32.load
+ (get_local $$arrayidx106$i)
)
- (set_local $$t$48$i
+ )
+ (set_local $$cmp107$i$157
+ (i32.eq
(get_local $$59)
+ (i32.const 0)
)
- (set_local $$v$410$i
- (get_local $$t$4$v$4$i)
+ )
+ (if
+ (i32.eqz
+ (get_local $$cmp107$i$157)
)
- (set_local $label
- (i32.const 90)
+ (block
+ (set_local $$rsize$49$i
+ (get_local $$sub101$rsize$4$i)
+ )
+ (set_local $$t$48$i
+ (get_local $$59)
+ )
+ (set_local $$v$410$i
+ (get_local $$t$4$v$4$i)
+ )
+ (set_local $label
+ (i32.const 90)
+ )
+ (br $while-in$20)
)
- (br $while-in$20)
- )
- )
- (set_local $$arrayidx113$i$159
- (i32.add
- (get_local $$t$48$i)
- (i32.const 20)
- )
- )
- (set_local $$60
- (i32.load
- (get_local $$arrayidx113$i$159)
- )
- )
- (set_local $$cmp97$i
- (i32.eq
- (get_local $$60)
- (i32.const 0)
)
- )
- (if
- (get_local $$cmp97$i)
- (block
- (set_local $$rsize$4$lcssa$i
- (get_local $$sub101$rsize$4$i)
- )
- (set_local $$v$4$lcssa$i
- (get_local $$t$4$v$4$i)
+ (set_local $$arrayidx113$i$159
+ (i32.add
+ (get_local $$t$48$i)
+ (i32.const 20)
)
- (br $while-out$19)
)
- (block
- (set_local $$rsize$49$i
- (get_local $$sub101$rsize$4$i)
+ (set_local $$60
+ (i32.load
+ (get_local $$arrayidx113$i$159)
)
- (set_local $$t$48$i
+ )
+ (set_local $$cmp97$i
+ (i32.eq
(get_local $$60)
+ (i32.const 0)
)
- (set_local $$v$410$i
- (get_local $$t$4$v$4$i)
+ )
+ (if
+ (get_local $$cmp97$i)
+ (block
+ (set_local $$rsize$4$lcssa$i
+ (get_local $$sub101$rsize$4$i)
+ )
+ (set_local $$v$4$lcssa$i
+ (get_local $$t$4$v$4$i)
+ )
+ (br $while-out$19)
)
- (set_local $label
- (i32.const 90)
+ (block
+ (set_local $$rsize$49$i
+ (get_local $$sub101$rsize$4$i)
+ )
+ (set_local $$t$48$i
+ (get_local $$60)
+ )
+ (set_local $$v$410$i
+ (get_local $$t$4$v$4$i)
+ )
+ (set_local $label
+ (i32.const 90)
+ )
)
)
+ (br $while-in$20)
)
- (br $while-in$20)
)
)
(set_local $$cmp116$i
@@ -20643,76 +20591,78 @@
)
)
)
- (loop $while-out$23 $while-in$24
- (set_local $$arrayidx161$i
- (i32.add
- (get_local $$R$1$i$168)
- (i32.const 20)
- )
- )
- (set_local $$70
- (i32.load
- (get_local $$arrayidx161$i)
- )
- )
- (set_local $$cmp162$i
- (i32.eq
- (get_local $$70)
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (get_local $$cmp162$i)
- )
- (block
- (set_local $$R$1$i$168
- (get_local $$70)
+ (loop $while-in$24
+ (block $while-out$23
+ (set_local $$arrayidx161$i
+ (i32.add
+ (get_local $$R$1$i$168)
+ (i32.const 20)
)
- (set_local $$RP$1$i$167
+ )
+ (set_local $$70
+ (i32.load
(get_local $$arrayidx161$i)
)
- (br $while-in$24)
- )
- )
- (set_local $$arrayidx165$i$169
- (i32.add
- (get_local $$R$1$i$168)
- (i32.const 16)
)
- )
- (set_local $$71
- (i32.load
- (get_local $$arrayidx165$i$169)
+ (set_local $$cmp162$i
+ (i32.eq
+ (get_local $$70)
+ (i32.const 0)
+ )
)
- )
- (set_local $$cmp166$i
- (i32.eq
- (get_local $$71)
- (i32.const 0)
+ (if
+ (i32.eqz
+ (get_local $$cmp162$i)
+ )
+ (block
+ (set_local $$R$1$i$168
+ (get_local $$70)
+ )
+ (set_local $$RP$1$i$167
+ (get_local $$arrayidx161$i)
+ )
+ (br $while-in$24)
+ )
)
- )
- (if
- (get_local $$cmp166$i)
- (block
- (set_local $$R$1$i$168$lcssa
+ (set_local $$arrayidx165$i$169
+ (i32.add
(get_local $$R$1$i$168)
+ (i32.const 16)
)
- (set_local $$RP$1$i$167$lcssa
- (get_local $$RP$1$i$167)
+ )
+ (set_local $$71
+ (i32.load
+ (get_local $$arrayidx165$i$169)
)
- (br $while-out$23)
)
- (block
- (set_local $$R$1$i$168
+ (set_local $$cmp166$i
+ (i32.eq
(get_local $$71)
+ (i32.const 0)
)
- (set_local $$RP$1$i$167
- (get_local $$arrayidx165$i$169)
+ )
+ (if
+ (get_local $$cmp166$i)
+ (block
+ (set_local $$R$1$i$168$lcssa
+ (get_local $$R$1$i$168)
+ )
+ (set_local $$RP$1$i$167$lcssa
+ (get_local $$RP$1$i$167)
+ )
+ (br $while-out$23)
+ )
+ (block
+ (set_local $$R$1$i$168
+ (get_local $$71)
+ )
+ (set_local $$RP$1$i$167
+ (get_local $$arrayidx165$i$169)
+ )
)
)
+ (br $while-in$24)
)
- (br $while-in$24)
)
(set_local $$cmp171$i
(i32.lt_u
@@ -21700,101 +21650,103 @@
(set_local $$T$0$i
(get_local $$87)
)
- (loop $while-out$31 $while-in$32
- (set_local $$head386$i
- (i32.add
- (get_local $$T$0$i)
- (i32.const 4)
- )
- )
- (set_local $$88
- (i32.load
- (get_local $$head386$i)
+ (loop $while-in$32
+ (block $while-out$31
+ (set_local $$head386$i
+ (i32.add
+ (get_local $$T$0$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$and387$i
- (i32.and
- (get_local $$88)
- (i32.const -8)
+ (set_local $$88
+ (i32.load
+ (get_local $$head386$i)
+ )
)
- )
- (set_local $$cmp388$i
- (i32.eq
- (get_local $$and387$i)
- (get_local $$rsize$4$lcssa$i)
+ (set_local $$and387$i
+ (i32.and
+ (get_local $$88)
+ (i32.const -8)
+ )
)
- )
- (if
- (get_local $$cmp388$i)
- (block
- (set_local $$T$0$i$lcssa
- (get_local $$T$0$i)
+ (set_local $$cmp388$i
+ (i32.eq
+ (get_local $$and387$i)
+ (get_local $$rsize$4$lcssa$i)
)
- (set_local $label
- (i32.const 148)
+ )
+ (if
+ (get_local $$cmp388$i)
+ (block
+ (set_local $$T$0$i$lcssa
+ (get_local $$T$0$i)
+ )
+ (set_local $label
+ (i32.const 148)
+ )
+ (br $while-out$31)
)
- (br $while-out$31)
)
- )
- (set_local $$shr391$i
- (i32.shr_u
- (get_local $$K373$0$i)
- (i32.const 31)
+ (set_local $$shr391$i
+ (i32.shr_u
+ (get_local $$K373$0$i)
+ (i32.const 31)
+ )
)
- )
- (set_local $$arrayidx394$i
- (i32.add
+ (set_local $$arrayidx394$i
(i32.add
- (get_local $$T$0$i)
- (i32.const 16)
+ (i32.add
+ (get_local $$T$0$i)
+ (i32.const 16)
+ )
+ (i32.shl
+ (get_local $$shr391$i)
+ (i32.const 2)
+ )
)
+ )
+ (set_local $$shl395$i
(i32.shl
- (get_local $$shr391$i)
- (i32.const 2)
+ (get_local $$K373$0$i)
+ (i32.const 1)
)
)
- )
- (set_local $$shl395$i
- (i32.shl
- (get_local $$K373$0$i)
- (i32.const 1)
- )
- )
- (set_local $$89
- (i32.load
- (get_local $$arrayidx394$i)
- )
- )
- (set_local $$cmp396$i
- (i32.eq
- (get_local $$89)
- (i32.const 0)
- )
- )
- (if
- (get_local $$cmp396$i)
- (block
- (set_local $$T$0$i$lcssa293
- (get_local $$T$0$i)
- )
- (set_local $$arrayidx394$i$lcssa
+ (set_local $$89
+ (i32.load
(get_local $$arrayidx394$i)
)
- (set_local $label
- (i32.const 145)
+ )
+ (set_local $$cmp396$i
+ (i32.eq
+ (get_local $$89)
+ (i32.const 0)
)
- (br $while-out$31)
)
- (block
- (set_local $$K373$0$i
- (get_local $$shl395$i)
+ (if
+ (get_local $$cmp396$i)
+ (block
+ (set_local $$T$0$i$lcssa293
+ (get_local $$T$0$i)
+ )
+ (set_local $$arrayidx394$i$lcssa
+ (get_local $$arrayidx394$i)
+ )
+ (set_local $label
+ (i32.const 145)
+ )
+ (br $while-out$31)
)
- (set_local $$T$0$i
- (get_local $$89)
+ (block
+ (set_local $$K373$0$i
+ (get_local $$shl395$i)
+ )
+ (set_local $$T$0$i
+ (get_local $$89)
+ )
)
)
+ (br $while-in$32)
)
- (br $while-in$32)
)
(if
(i32.eq
@@ -22471,90 +22423,92 @@
(set_local $$sp$0$i$i
(i32.const 624)
)
- (loop $while-out$37 $while-in$38
- (set_local $$105
- (i32.load
- (get_local $$sp$0$i$i)
- )
- )
- (set_local $$cmp$i$9$i
- (i32.gt_u
- (get_local $$105)
- (get_local $$104)
+ (loop $while-in$38
+ (block $while-out$37
+ (set_local $$105
+ (i32.load
+ (get_local $$sp$0$i$i)
+ )
)
- )
- (if
- (i32.eqz
- (get_local $$cmp$i$9$i)
+ (set_local $$cmp$i$9$i
+ (i32.gt_u
+ (get_local $$105)
+ (get_local $$104)
+ )
)
- (block
- (set_local $$size$i$i
- (i32.add
- (get_local $$sp$0$i$i)
- (i32.const 4)
- )
+ (if
+ (i32.eqz
+ (get_local $$cmp$i$9$i)
)
- (set_local $$106
- (i32.load
- (get_local $$size$i$i)
+ (block
+ (set_local $$size$i$i
+ (i32.add
+ (get_local $$sp$0$i$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$add$ptr$i$i
- (i32.add
- (get_local $$105)
- (get_local $$106)
+ (set_local $$106
+ (i32.load
+ (get_local $$size$i$i)
+ )
)
- )
- (set_local $$cmp2$i$i
- (i32.gt_u
- (get_local $$add$ptr$i$i)
- (get_local $$104)
+ (set_local $$add$ptr$i$i
+ (i32.add
+ (get_local $$105)
+ (get_local $$106)
+ )
)
- )
- (if
- (get_local $$cmp2$i$i)
- (block
- (set_local $$base$i$i$lcssa
- (get_local $$sp$0$i$i)
+ (set_local $$cmp2$i$i
+ (i32.gt_u
+ (get_local $$add$ptr$i$i)
+ (get_local $$104)
)
- (set_local $$size$i$i$lcssa
- (get_local $$size$i$i)
+ )
+ (if
+ (get_local $$cmp2$i$i)
+ (block
+ (set_local $$base$i$i$lcssa
+ (get_local $$sp$0$i$i)
+ )
+ (set_local $$size$i$i$lcssa
+ (get_local $$size$i$i)
+ )
+ (br $while-out$37)
)
- (br $while-out$37)
)
)
)
- )
- (set_local $$next$i$i
- (i32.add
- (get_local $$sp$0$i$i)
- (i32.const 8)
- )
- )
- (set_local $$107
- (i32.load
- (get_local $$next$i$i)
+ (set_local $$next$i$i
+ (i32.add
+ (get_local $$sp$0$i$i)
+ (i32.const 8)
+ )
)
- )
- (set_local $$cmp3$i$i
- (i32.eq
- (get_local $$107)
- (i32.const 0)
+ (set_local $$107
+ (i32.load
+ (get_local $$next$i$i)
+ )
)
- )
- (if
- (get_local $$cmp3$i$i)
- (block
- (set_local $label
- (i32.const 173)
+ (set_local $$cmp3$i$i
+ (i32.eq
+ (get_local $$107)
+ (i32.const 0)
)
- (br $label$break$L259)
)
- (set_local $$sp$0$i$i
- (get_local $$107)
+ (if
+ (get_local $$cmp3$i$i)
+ (block
+ (set_local $label
+ (i32.const 173)
+ )
+ (br $label$break$L259)
+ )
+ (set_local $$sp$0$i$i
+ (get_local $$107)
+ )
)
+ (br $while-in$38)
)
- (br $while-in$38)
)
(set_local $$112
(i32.load
@@ -22958,8 +22912,10 @@
(if
(get_local $$cmp108$i)
(block
- (call_import $_sbrk
- (get_local $$sub112$i)
+ (drop
+ (call_import $_sbrk
+ (get_local $$sub112$i)
+ )
)
(br $label$break$L279)
)
@@ -23251,62 +23207,64 @@
(set_local $$i$01$i$i
(i32.const 0)
)
- (loop $while-out$46 $while-in$47
- (set_local $$shl$i$i
- (i32.shl
- (get_local $$i$01$i$i)
- (i32.const 1)
- )
- )
- (set_local $$arrayidx$i$i
- (i32.add
- (i32.const 216)
+ (loop $while-in$47
+ (block $while-out$46
+ (set_local $$shl$i$i
(i32.shl
- (get_local $$shl$i$i)
- (i32.const 2)
+ (get_local $$i$01$i$i)
+ (i32.const 1)
)
)
- )
- (set_local $$122
- (i32.add
+ (set_local $$arrayidx$i$i
+ (i32.add
+ (i32.const 216)
+ (i32.shl
+ (get_local $$shl$i$i)
+ (i32.const 2)
+ )
+ )
+ )
+ (set_local $$122
+ (i32.add
+ (get_local $$arrayidx$i$i)
+ (i32.const 12)
+ )
+ )
+ (i32.store
+ (get_local $$122)
(get_local $$arrayidx$i$i)
- (i32.const 12)
)
- )
- (i32.store
- (get_local $$122)
- (get_local $$arrayidx$i$i)
- )
- (set_local $$123
- (i32.add
+ (set_local $$123
+ (i32.add
+ (get_local $$arrayidx$i$i)
+ (i32.const 8)
+ )
+ )
+ (i32.store
+ (get_local $$123)
(get_local $$arrayidx$i$i)
- (i32.const 8)
)
- )
- (i32.store
- (get_local $$123)
- (get_local $$arrayidx$i$i)
- )
- (set_local $$inc$i$i
- (i32.add
- (get_local $$i$01$i$i)
- (i32.const 1)
+ (set_local $$inc$i$i
+ (i32.add
+ (get_local $$i$01$i$i)
+ (i32.const 1)
+ )
)
- )
- (set_local $$exitcond$i$i
- (i32.eq
- (get_local $$inc$i$i)
- (i32.const 32)
+ (set_local $$exitcond$i$i
+ (i32.eq
+ (get_local $$inc$i$i)
+ (i32.const 32)
+ )
)
- )
- (if
- (get_local $$exitcond$i$i)
- (br $while-out$46)
- (set_local $$i$01$i$i
- (get_local $$inc$i$i)
+ (if
+ (get_local $$exitcond$i$i)
+ (br $while-out$46)
+ (set_local $$i$01$i$i
+ (get_local $$inc$i$i)
+ )
)
+ (br $while-in$47)
)
- (br $while-in$47)
)
(set_local $$sub172$i
(i32.add
@@ -23420,81 +23378,83 @@
(set_local $$sp$0108$i
(i32.const 624)
)
- (loop $while-out$48 $while-in$49
- (set_local $$127
- (i32.load
- (get_local $$sp$0108$i)
- )
- )
- (set_local $$size188$i
- (i32.add
- (get_local $$sp$0108$i)
- (i32.const 4)
- )
- )
- (set_local $$128
- (i32.load
- (get_local $$size188$i)
+ (loop $while-in$49
+ (block $while-out$48
+ (set_local $$127
+ (i32.load
+ (get_local $$sp$0108$i)
+ )
)
- )
- (set_local $$add$ptr189$i
- (i32.add
- (get_local $$127)
- (get_local $$128)
+ (set_local $$size188$i
+ (i32.add
+ (get_local $$sp$0108$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$cmp190$i
- (i32.eq
- (get_local $$tbase$796$i)
- (get_local $$add$ptr189$i)
+ (set_local $$128
+ (i32.load
+ (get_local $$size188$i)
+ )
)
- )
- (if
- (get_local $$cmp190$i)
- (block
- (set_local $$$lcssa
+ (set_local $$add$ptr189$i
+ (i32.add
(get_local $$127)
- )
- (set_local $$$lcssa290
(get_local $$128)
)
- (set_local $$size188$i$lcssa
- (get_local $$size188$i)
- )
- (set_local $$sp$0108$i$lcssa
- (get_local $$sp$0108$i)
+ )
+ (set_local $$cmp190$i
+ (i32.eq
+ (get_local $$tbase$796$i)
+ (get_local $$add$ptr189$i)
)
- (set_local $label
- (i32.const 203)
+ )
+ (if
+ (get_local $$cmp190$i)
+ (block
+ (set_local $$$lcssa
+ (get_local $$127)
+ )
+ (set_local $$$lcssa290
+ (get_local $$128)
+ )
+ (set_local $$size188$i$lcssa
+ (get_local $$size188$i)
+ )
+ (set_local $$sp$0108$i$lcssa
+ (get_local $$sp$0108$i)
+ )
+ (set_local $label
+ (i32.const 203)
+ )
+ (br $while-out$48)
)
- (br $while-out$48)
)
- )
- (set_local $$next$i
- (i32.add
- (get_local $$sp$0108$i)
- (i32.const 8)
+ (set_local $$next$i
+ (i32.add
+ (get_local $$sp$0108$i)
+ (i32.const 8)
+ )
)
- )
- (set_local $$129
- (i32.load
- (get_local $$next$i)
+ (set_local $$129
+ (i32.load
+ (get_local $$next$i)
+ )
)
- )
- (set_local $$cmp186$i
- (i32.eq
- (get_local $$129)
- (i32.const 0)
+ (set_local $$cmp186$i
+ (i32.eq
+ (get_local $$129)
+ (i32.const 0)
+ )
)
- )
- (if
- (get_local $$cmp186$i)
- (br $while-out$48)
- (set_local $$sp$0108$i
- (get_local $$129)
+ (if
+ (get_local $$cmp186$i)
+ (br $while-out$48)
+ (set_local $$sp$0108$i
+ (get_local $$129)
+ )
)
+ (br $while-in$49)
)
- (br $while-in$49)
)
(if
(i32.eq
@@ -23713,63 +23673,65 @@
(set_local $$sp$1107$i
(i32.const 624)
)
- (loop $while-out$50 $while-in$51
- (set_local $$136
- (i32.load
- (get_local $$sp$1107$i)
- )
- )
- (set_local $$cmp228$i
- (i32.eq
- (get_local $$136)
- (get_local $$add$ptr227$i)
- )
- )
- (if
- (get_local $$cmp228$i)
- (block
- (set_local $$base226$i$lcssa
- (get_local $$sp$1107$i)
- )
- (set_local $$sp$1107$i$lcssa
+ (loop $while-in$51
+ (block $while-out$50
+ (set_local $$136
+ (i32.load
(get_local $$sp$1107$i)
)
- (set_local $label
- (i32.const 211)
+ )
+ (set_local $$cmp228$i
+ (i32.eq
+ (get_local $$136)
+ (get_local $$add$ptr227$i)
)
- (br $while-out$50)
)
- )
- (set_local $$next231$i
- (i32.add
- (get_local $$sp$1107$i)
- (i32.const 8)
+ (if
+ (get_local $$cmp228$i)
+ (block
+ (set_local $$base226$i$lcssa
+ (get_local $$sp$1107$i)
+ )
+ (set_local $$sp$1107$i$lcssa
+ (get_local $$sp$1107$i)
+ )
+ (set_local $label
+ (i32.const 211)
+ )
+ (br $while-out$50)
+ )
)
- )
- (set_local $$137
- (i32.load
- (get_local $$next231$i)
+ (set_local $$next231$i
+ (i32.add
+ (get_local $$sp$1107$i)
+ (i32.const 8)
+ )
)
- )
- (set_local $$cmp224$i
- (i32.eq
- (get_local $$137)
- (i32.const 0)
+ (set_local $$137
+ (i32.load
+ (get_local $$next231$i)
+ )
)
- )
- (if
- (get_local $$cmp224$i)
- (block
- (set_local $$sp$0$i$i$i
- (i32.const 624)
+ (set_local $$cmp224$i
+ (i32.eq
+ (get_local $$137)
+ (i32.const 0)
)
- (br $while-out$50)
)
- (set_local $$sp$1107$i
- (get_local $$137)
+ (if
+ (get_local $$cmp224$i)
+ (block
+ (set_local $$sp$0$i$i$i
+ (i32.const 624)
+ )
+ (br $while-out$50)
+ )
+ (set_local $$sp$1107$i
+ (get_local $$137)
+ )
)
+ (br $while-in$51)
)
- (br $while-in$51)
)
(if
(i32.eq
@@ -24413,76 +24375,78 @@
)
)
)
- (loop $while-out$61 $while-in$62
- (set_local $$arrayidx103$i$i
- (i32.add
- (get_local $$R$1$i$i)
- (i32.const 20)
- )
- )
- (set_local $$161
- (i32.load
- (get_local $$arrayidx103$i$i)
- )
- )
- (set_local $$cmp104$i$i
- (i32.eq
- (get_local $$161)
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (get_local $$cmp104$i$i)
- )
- (block
- (set_local $$R$1$i$i
- (get_local $$161)
+ (loop $while-in$62
+ (block $while-out$61
+ (set_local $$arrayidx103$i$i
+ (i32.add
+ (get_local $$R$1$i$i)
+ (i32.const 20)
)
- (set_local $$RP$1$i$i
+ )
+ (set_local $$161
+ (i32.load
(get_local $$arrayidx103$i$i)
)
- (br $while-in$62)
- )
- )
- (set_local $$arrayidx107$i$i
- (i32.add
- (get_local $$R$1$i$i)
- (i32.const 16)
)
- )
- (set_local $$162
- (i32.load
- (get_local $$arrayidx107$i$i)
+ (set_local $$cmp104$i$i
+ (i32.eq
+ (get_local $$161)
+ (i32.const 0)
+ )
)
- )
- (set_local $$cmp108$i$i
- (i32.eq
- (get_local $$162)
- (i32.const 0)
+ (if
+ (i32.eqz
+ (get_local $$cmp104$i$i)
+ )
+ (block
+ (set_local $$R$1$i$i
+ (get_local $$161)
+ )
+ (set_local $$RP$1$i$i
+ (get_local $$arrayidx103$i$i)
+ )
+ (br $while-in$62)
+ )
)
- )
- (if
- (get_local $$cmp108$i$i)
- (block
- (set_local $$R$1$i$i$lcssa
+ (set_local $$arrayidx107$i$i
+ (i32.add
(get_local $$R$1$i$i)
+ (i32.const 16)
)
- (set_local $$RP$1$i$i$lcssa
- (get_local $$RP$1$i$i)
+ )
+ (set_local $$162
+ (i32.load
+ (get_local $$arrayidx107$i$i)
)
- (br $while-out$61)
)
- (block
- (set_local $$R$1$i$i
+ (set_local $$cmp108$i$i
+ (i32.eq
(get_local $$162)
+ (i32.const 0)
)
- (set_local $$RP$1$i$i
- (get_local $$arrayidx107$i$i)
+ )
+ (if
+ (get_local $$cmp108$i$i)
+ (block
+ (set_local $$R$1$i$i$lcssa
+ (get_local $$R$1$i$i)
+ )
+ (set_local $$RP$1$i$i$lcssa
+ (get_local $$RP$1$i$i)
+ )
+ (br $while-out$61)
+ )
+ (block
+ (set_local $$R$1$i$i
+ (get_local $$162)
+ )
+ (set_local $$RP$1$i$i
+ (get_local $$arrayidx107$i$i)
+ )
)
)
+ (br $while-in$62)
)
- (br $while-in$62)
)
(set_local $$cmp112$i$i
(i32.lt_u
@@ -25448,101 +25412,103 @@
(set_local $$T$0$i$58$i
(get_local $$178)
)
- (loop $while-out$71 $while-in$72
- (set_local $$head317$i$i
- (i32.add
- (get_local $$T$0$i$58$i)
- (i32.const 4)
- )
- )
- (set_local $$179
- (i32.load
- (get_local $$head317$i$i)
+ (loop $while-in$72
+ (block $while-out$71
+ (set_local $$head317$i$i
+ (i32.add
+ (get_local $$T$0$i$58$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$and318$i$i
- (i32.and
- (get_local $$179)
- (i32.const -8)
+ (set_local $$179
+ (i32.load
+ (get_local $$head317$i$i)
+ )
)
- )
- (set_local $$cmp319$i$i
- (i32.eq
- (get_local $$and318$i$i)
- (get_local $$qsize$0$i$i)
+ (set_local $$and318$i$i
+ (i32.and
+ (get_local $$179)
+ (i32.const -8)
+ )
)
- )
- (if
- (get_local $$cmp319$i$i)
- (block
- (set_local $$T$0$i$58$i$lcssa
- (get_local $$T$0$i$58$i)
+ (set_local $$cmp319$i$i
+ (i32.eq
+ (get_local $$and318$i$i)
+ (get_local $$qsize$0$i$i)
)
- (set_local $label
- (i32.const 281)
+ )
+ (if
+ (get_local $$cmp319$i$i)
+ (block
+ (set_local $$T$0$i$58$i$lcssa
+ (get_local $$T$0$i$58$i)
+ )
+ (set_local $label
+ (i32.const 281)
+ )
+ (br $while-out$71)
)
- (br $while-out$71)
)
- )
- (set_local $$shr322$i$i
- (i32.shr_u
- (get_local $$K305$0$i$i)
- (i32.const 31)
+ (set_local $$shr322$i$i
+ (i32.shr_u
+ (get_local $$K305$0$i$i)
+ (i32.const 31)
+ )
)
- )
- (set_local $$arrayidx325$i$i
- (i32.add
+ (set_local $$arrayidx325$i$i
(i32.add
- (get_local $$T$0$i$58$i)
- (i32.const 16)
+ (i32.add
+ (get_local $$T$0$i$58$i)
+ (i32.const 16)
+ )
+ (i32.shl
+ (get_local $$shr322$i$i)
+ (i32.const 2)
+ )
)
+ )
+ (set_local $$shl326$i$i
(i32.shl
- (get_local $$shr322$i$i)
- (i32.const 2)
+ (get_local $$K305$0$i$i)
+ (i32.const 1)
)
)
- )
- (set_local $$shl326$i$i
- (i32.shl
- (get_local $$K305$0$i$i)
- (i32.const 1)
- )
- )
- (set_local $$180
- (i32.load
- (get_local $$arrayidx325$i$i)
- )
- )
- (set_local $$cmp327$i$i
- (i32.eq
- (get_local $$180)
- (i32.const 0)
- )
- )
- (if
- (get_local $$cmp327$i$i)
- (block
- (set_local $$T$0$i$58$i$lcssa283
- (get_local $$T$0$i$58$i)
- )
- (set_local $$arrayidx325$i$i$lcssa
+ (set_local $$180
+ (i32.load
(get_local $$arrayidx325$i$i)
)
- (set_local $label
- (i32.const 278)
+ )
+ (set_local $$cmp327$i$i
+ (i32.eq
+ (get_local $$180)
+ (i32.const 0)
)
- (br $while-out$71)
)
- (block
- (set_local $$K305$0$i$i
- (get_local $$shl326$i$i)
+ (if
+ (get_local $$cmp327$i$i)
+ (block
+ (set_local $$T$0$i$58$i$lcssa283
+ (get_local $$T$0$i$58$i)
+ )
+ (set_local $$arrayidx325$i$i$lcssa
+ (get_local $$arrayidx325$i$i)
+ )
+ (set_local $label
+ (i32.const 278)
+ )
+ (br $while-out$71)
)
- (set_local $$T$0$i$58$i
- (get_local $$180)
+ (block
+ (set_local $$K305$0$i$i
+ (get_local $$shl326$i$i)
+ )
+ (set_local $$T$0$i$58$i
+ (get_local $$180)
+ )
)
)
+ (br $while-in$72)
)
- (br $while-in$72)
)
(if
(i32.eq
@@ -25719,72 +25685,74 @@
)
)
)
- (loop $while-out$73 $while-in$74
- (set_local $$185
- (i32.load
- (get_local $$sp$0$i$i$i)
- )
- )
- (set_local $$cmp$i$i$i
- (i32.gt_u
- (get_local $$185)
- (get_local $$119)
+ (loop $while-in$74
+ (block $while-out$73
+ (set_local $$185
+ (i32.load
+ (get_local $$sp$0$i$i$i)
+ )
)
- )
- (if
- (i32.eqz
- (get_local $$cmp$i$i$i)
+ (set_local $$cmp$i$i$i
+ (i32.gt_u
+ (get_local $$185)
+ (get_local $$119)
+ )
)
- (block
- (set_local $$size$i$i$i
- (i32.add
- (get_local $$sp$0$i$i$i)
- (i32.const 4)
- )
+ (if
+ (i32.eqz
+ (get_local $$cmp$i$i$i)
)
- (set_local $$186
- (i32.load
- (get_local $$size$i$i$i)
+ (block
+ (set_local $$size$i$i$i
+ (i32.add
+ (get_local $$sp$0$i$i$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$add$ptr$i$i$i
- (i32.add
- (get_local $$185)
- (get_local $$186)
+ (set_local $$186
+ (i32.load
+ (get_local $$size$i$i$i)
+ )
)
- )
- (set_local $$cmp2$i$i$i
- (i32.gt_u
- (get_local $$add$ptr$i$i$i)
- (get_local $$119)
+ (set_local $$add$ptr$i$i$i
+ (i32.add
+ (get_local $$185)
+ (get_local $$186)
+ )
)
- )
- (if
- (get_local $$cmp2$i$i$i)
- (block
- (set_local $$add$ptr$i$i$i$lcssa
+ (set_local $$cmp2$i$i$i
+ (i32.gt_u
(get_local $$add$ptr$i$i$i)
+ (get_local $$119)
+ )
+ )
+ (if
+ (get_local $$cmp2$i$i$i)
+ (block
+ (set_local $$add$ptr$i$i$i$lcssa
+ (get_local $$add$ptr$i$i$i)
+ )
+ (br $while-out$73)
)
- (br $while-out$73)
)
)
)
- )
- (set_local $$next$i$i$i
- (i32.add
- (get_local $$sp$0$i$i$i)
- (i32.const 8)
+ (set_local $$next$i$i$i
+ (i32.add
+ (get_local $$sp$0$i$i$i)
+ (i32.const 8)
+ )
)
- )
- (set_local $$187
- (i32.load
- (get_local $$next$i$i$i)
+ (set_local $$187
+ (i32.load
+ (get_local $$next$i$i$i)
+ )
)
+ (set_local $$sp$0$i$i$i
+ (get_local $$187)
+ )
+ (br $while-in$74)
)
- (set_local $$sp$0$i$i$i
- (get_local $$187)
- )
- (br $while-in$74)
)
(set_local $$add$ptr2$i$i
(i32.add
@@ -26047,37 +26015,39 @@
(set_local $$p$0$i$i
(get_local $$add$ptr15$i$i)
)
- (loop $while-out$75 $while-in$76
- (set_local $$add$ptr24$i$i
- (i32.add
- (get_local $$p$0$i$i)
- (i32.const 4)
+ (loop $while-in$76
+ (block $while-out$75
+ (set_local $$add$ptr24$i$i
+ (i32.add
+ (get_local $$p$0$i$i)
+ (i32.const 4)
+ )
)
- )
- (i32.store
- (get_local $$add$ptr24$i$i)
- (i32.const 7)
- )
- (set_local $$193
- (i32.add
+ (i32.store
(get_local $$add$ptr24$i$i)
- (i32.const 4)
+ (i32.const 7)
)
- )
- (set_local $$cmp27$i$i
- (i32.lt_u
- (get_local $$193)
- (get_local $$add$ptr$i$i$i$lcssa)
+ (set_local $$193
+ (i32.add
+ (get_local $$add$ptr24$i$i)
+ (i32.const 4)
+ )
)
- )
- (if
- (get_local $$cmp27$i$i)
- (set_local $$p$0$i$i
- (get_local $$add$ptr24$i$i)
+ (set_local $$cmp27$i$i
+ (i32.lt_u
+ (get_local $$193)
+ (get_local $$add$ptr$i$i$i$lcssa)
+ )
+ )
+ (if
+ (get_local $$cmp27$i$i)
+ (set_local $$p$0$i$i
+ (get_local $$add$ptr24$i$i)
+ )
+ (br $while-out$75)
)
- (br $while-out$75)
+ (br $while-in$76)
)
- (br $while-in$76)
)
(set_local $$cmp28$i$i
(i32.eq
@@ -26607,101 +26577,103 @@
(set_local $$T$0$i$i
(get_local $$200)
)
- (loop $while-out$77 $while-in$78
- (set_local $$head118$i$i
- (i32.add
- (get_local $$T$0$i$i)
- (i32.const 4)
- )
- )
- (set_local $$201
- (i32.load
- (get_local $$head118$i$i)
+ (loop $while-in$78
+ (block $while-out$77
+ (set_local $$head118$i$i
+ (i32.add
+ (get_local $$T$0$i$i)
+ (i32.const 4)
+ )
)
- )
- (set_local $$and119$i$i
- (i32.and
- (get_local $$201)
- (i32.const -8)
+ (set_local $$201
+ (i32.load
+ (get_local $$head118$i$i)
+ )
)
- )
- (set_local $$cmp120$i$i
- (i32.eq
- (get_local $$and119$i$i)
- (get_local $$sub$ptr$sub$i$i)
+ (set_local $$and119$i$i
+ (i32.and
+ (get_local $$201)
+ (i32.const -8)
+ )
)
- )
- (if
- (get_local $$cmp120$i$i)
- (block
- (set_local $$T$0$i$i$lcssa
- (get_local $$T$0$i$i)
+ (set_local $$cmp120$i$i
+ (i32.eq
+ (get_local $$and119$i$i)
+ (get_local $$sub$ptr$sub$i$i)
)
- (set_local $label
- (i32.const 307)
+ )
+ (if
+ (get_local $$cmp120$i$i)
+ (block
+ (set_local $$T$0$i$i$lcssa
+ (get_local $$T$0$i$i)
+ )
+ (set_local $label
+ (i32.const 307)
+ )
+ (br $while-out$77)
)
- (br $while-out$77)
)
- )
- (set_local $$shr123$i$i
- (i32.shr_u
- (get_local $$K105$0$i$i)
- (i32.const 31)
+ (set_local $$shr123$i$i
+ (i32.shr_u
+ (get_local $$K105$0$i$i)
+ (i32.const 31)
+ )
)
- )
- (set_local $$arrayidx126$i$i
- (i32.add
+ (set_local $$arrayidx126$i$i
(i32.add
- (get_local $$T$0$i$i)
- (i32.const 16)
+ (i32.add
+ (get_local $$T$0$i$i)
+ (i32.const 16)
+ )
+ (i32.shl
+ (get_local $$shr123$i$i)
+ (i32.const 2)
+ )
)
+ )
+ (set_local $$shl127$i$i
(i32.shl
- (get_local $$shr123$i$i)
- (i32.const 2)
+ (get_local $$K105$0$i$i)
+ (i32.const 1)
)
)
- )
- (set_local $$shl127$i$i
- (i32.shl
- (get_local $$K105$0$i$i)
- (i32.const 1)
- )
- )
- (set_local $$202
- (i32.load
- (get_local $$arrayidx126$i$i)
- )
- )
- (set_local $$cmp128$i$i
- (i32.eq
- (get_local $$202)
- (i32.const 0)
- )
- )
- (if
- (get_local $$cmp128$i$i)
- (block
- (set_local $$T$0$i$i$lcssa284
- (get_local $$T$0$i$i)
- )
- (set_local $$arrayidx126$i$i$lcssa
+ (set_local $$202
+ (i32.load
(get_local $$arrayidx126$i$i)
)
- (set_local $label
- (i32.const 304)
+ )
+ (set_local $$cmp128$i$i
+ (i32.eq
+ (get_local $$202)
+ (i32.const 0)
)
- (br $while-out$77)
)
- (block
- (set_local $$K105$0$i$i
- (get_local $$shl127$i$i)
+ (if
+ (get_local $$cmp128$i$i)
+ (block
+ (set_local $$T$0$i$i$lcssa284
+ (get_local $$T$0$i$i)
+ )
+ (set_local $$arrayidx126$i$i$lcssa
+ (get_local $$arrayidx126$i$i)
+ )
+ (set_local $label
+ (i32.const 304)
+ )
+ (br $while-out$77)
)
- (set_local $$T$0$i$i
- (get_local $$202)
+ (block
+ (set_local $$K105$0$i$i
+ (get_local $$shl127$i$i)
+ )
+ (set_local $$T$0$i$i
+ (get_local $$202)
+ )
)
)
+ (br $while-in$78)
)
- (br $while-in$78)
)
(if
(i32.eq
@@ -27317,9 +27289,7 @@
(local $label i32)
(local $sp i32)
(set_local $sp
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
(set_local $$cmp
(i32.eq
@@ -27862,76 +27832,78 @@
)
)
)
- (loop $while-out$4 $while-in$5
- (set_local $$arrayidx108
- (i32.add
- (get_local $$R$1)
- (i32.const 20)
- )
- )
- (set_local $$16
- (i32.load
- (get_local $$arrayidx108)
- )
- )
- (set_local $$cmp109
- (i32.eq
- (get_local $$16)
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (get_local $$cmp109)
- )
- (block
- (set_local $$R$1
- (get_local $$16)
+ (loop $while-in$5
+ (block $while-out$4
+ (set_local $$arrayidx108
+ (i32.add
+ (get_local $$R$1)
+ (i32.const 20)
)
- (set_local $$RP$1
+ )
+ (set_local $$16
+ (i32.load
(get_local $$arrayidx108)
)
- (br $while-in$5)
- )
- )
- (set_local $$arrayidx113
- (i32.add
- (get_local $$R$1)
- (i32.const 16)
)
- )
- (set_local $$17
- (i32.load
- (get_local $$arrayidx113)
+ (set_local $$cmp109
+ (i32.eq
+ (get_local $$16)
+ (i32.const 0)
+ )
)
- )
- (set_local $$cmp114
- (i32.eq
- (get_local $$17)
- (i32.const 0)
+ (if
+ (i32.eqz
+ (get_local $$cmp109)
+ )
+ (block
+ (set_local $$R$1
+ (get_local $$16)
+ )
+ (set_local $$RP$1
+ (get_local $$arrayidx108)
+ )
+ (br $while-in$5)
+ )
)
- )
- (if
- (get_local $$cmp114)
- (block
- (set_local $$R$1$lcssa
+ (set_local $$arrayidx113
+ (i32.add
(get_local $$R$1)
+ (i32.const 16)
)
- (set_local $$RP$1$lcssa
- (get_local $$RP$1)
+ )
+ (set_local $$17
+ (i32.load
+ (get_local $$arrayidx113)
)
- (br $while-out$4)
)
- (block
- (set_local $$R$1
+ (set_local $$cmp114
+ (i32.eq
(get_local $$17)
+ (i32.const 0)
)
- (set_local $$RP$1
- (get_local $$arrayidx113)
+ )
+ (if
+ (get_local $$cmp114)
+ (block
+ (set_local $$R$1$lcssa
+ (get_local $$R$1)
+ )
+ (set_local $$RP$1$lcssa
+ (get_local $$RP$1)
+ )
+ (br $while-out$4)
+ )
+ (block
+ (set_local $$R$1
+ (get_local $$17)
+ )
+ (set_local $$RP$1
+ (get_local $$arrayidx113)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(set_local $$cmp118
(i32.lt_u
@@ -28902,76 +28874,78 @@
)
)
)
- (loop $while-out$12 $while-in$13
- (set_local $$arrayidx374
- (i32.add
- (get_local $$R332$1)
- (i32.const 20)
- )
- )
- (set_local $$49
- (i32.load
- (get_local $$arrayidx374)
- )
- )
- (set_local $$cmp375
- (i32.eq
- (get_local $$49)
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (get_local $$cmp375)
- )
- (block
- (set_local $$R332$1
- (get_local $$49)
+ (loop $while-in$13
+ (block $while-out$12
+ (set_local $$arrayidx374
+ (i32.add
+ (get_local $$R332$1)
+ (i32.const 20)
)
- (set_local $$RP360$1
+ )
+ (set_local $$49
+ (i32.load
(get_local $$arrayidx374)
)
- (br $while-in$13)
- )
- )
- (set_local $$arrayidx379
- (i32.add
- (get_local $$R332$1)
- (i32.const 16)
)
- )
- (set_local $$50
- (i32.load
- (get_local $$arrayidx379)
+ (set_local $$cmp375
+ (i32.eq
+ (get_local $$49)
+ (i32.const 0)
+ )
)
- )
- (set_local $$cmp380
- (i32.eq
- (get_local $$50)
- (i32.const 0)
+ (if
+ (i32.eqz
+ (get_local $$cmp375)
+ )
+ (block
+ (set_local $$R332$1
+ (get_local $$49)
+ )
+ (set_local $$RP360$1
+ (get_local $$arrayidx374)
+ )
+ (br $while-in$13)
+ )
)
- )
- (if
- (get_local $$cmp380)
- (block
- (set_local $$R332$1$lcssa
+ (set_local $$arrayidx379
+ (i32.add
(get_local $$R332$1)
+ (i32.const 16)
)
- (set_local $$RP360$1$lcssa
- (get_local $$RP360$1)
+ )
+ (set_local $$50
+ (i32.load
+ (get_local $$arrayidx379)
)
- (br $while-out$12)
)
- (block
- (set_local $$R332$1
+ (set_local $$cmp380
+ (i32.eq
(get_local $$50)
+ (i32.const 0)
)
- (set_local $$RP360$1
- (get_local $$arrayidx379)
+ )
+ (if
+ (get_local $$cmp380)
+ (block
+ (set_local $$R332$1$lcssa
+ (get_local $$R332$1)
+ )
+ (set_local $$RP360$1$lcssa
+ (get_local $$RP360$1)
+ )
+ (br $while-out$12)
+ )
+ (block
+ (set_local $$R332$1
+ (get_local $$50)
+ )
+ (set_local $$RP360$1
+ (get_local $$arrayidx379)
+ )
)
)
+ (br $while-in$13)
)
- (br $while-in$13)
)
(set_local $$51
(i32.load
@@ -29960,101 +29934,103 @@
(set_local $$T$0
(get_local $$67)
)
- (loop $while-out$18 $while-in$19
- (set_local $$head591
- (i32.add
- (get_local $$T$0)
- (i32.const 4)
- )
- )
- (set_local $$68
- (i32.load
- (get_local $$head591)
+ (loop $while-in$19
+ (block $while-out$18
+ (set_local $$head591
+ (i32.add
+ (get_local $$T$0)
+ (i32.const 4)
+ )
)
- )
- (set_local $$and592
- (i32.and
- (get_local $$68)
- (i32.const -8)
+ (set_local $$68
+ (i32.load
+ (get_local $$head591)
+ )
)
- )
- (set_local $$cmp593
- (i32.eq
- (get_local $$and592)
- (get_local $$psize$2)
+ (set_local $$and592
+ (i32.and
+ (get_local $$68)
+ (i32.const -8)
+ )
)
- )
- (if
- (get_local $$cmp593)
- (block
- (set_local $$T$0$lcssa
- (get_local $$T$0)
+ (set_local $$cmp593
+ (i32.eq
+ (get_local $$and592)
+ (get_local $$psize$2)
)
- (set_local $label
- (i32.const 130)
+ )
+ (if
+ (get_local $$cmp593)
+ (block
+ (set_local $$T$0$lcssa
+ (get_local $$T$0)
+ )
+ (set_local $label
+ (i32.const 130)
+ )
+ (br $while-out$18)
)
- (br $while-out$18)
)
- )
- (set_local $$shr596
- (i32.shr_u
- (get_local $$K583$0)
- (i32.const 31)
+ (set_local $$shr596
+ (i32.shr_u
+ (get_local $$K583$0)
+ (i32.const 31)
+ )
)
- )
- (set_local $$arrayidx599
- (i32.add
+ (set_local $$arrayidx599
(i32.add
- (get_local $$T$0)
- (i32.const 16)
+ (i32.add
+ (get_local $$T$0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (get_local $$shr596)
+ (i32.const 2)
+ )
)
+ )
+ (set_local $$shl600
(i32.shl
- (get_local $$shr596)
- (i32.const 2)
+ (get_local $$K583$0)
+ (i32.const 1)
)
)
- )
- (set_local $$shl600
- (i32.shl
- (get_local $$K583$0)
- (i32.const 1)
- )
- )
- (set_local $$69
- (i32.load
- (get_local $$arrayidx599)
- )
- )
- (set_local $$cmp601
- (i32.eq
- (get_local $$69)
- (i32.const 0)
- )
- )
- (if
- (get_local $$cmp601)
- (block
- (set_local $$T$0$lcssa319
- (get_local $$T$0)
- )
- (set_local $$arrayidx599$lcssa
+ (set_local $$69
+ (i32.load
(get_local $$arrayidx599)
)
- (set_local $label
- (i32.const 127)
+ )
+ (set_local $$cmp601
+ (i32.eq
+ (get_local $$69)
+ (i32.const 0)
)
- (br $while-out$18)
)
- (block
- (set_local $$K583$0
- (get_local $$shl600)
+ (if
+ (get_local $$cmp601)
+ (block
+ (set_local $$T$0$lcssa319
+ (get_local $$T$0)
+ )
+ (set_local $$arrayidx599$lcssa
+ (get_local $$arrayidx599)
+ )
+ (set_local $label
+ (i32.const 127)
+ )
+ (br $while-out$18)
)
- (set_local $$T$0
- (get_local $$69)
+ (block
+ (set_local $$K583$0
+ (get_local $$shl600)
+ )
+ (set_local $$T$0
+ (get_local $$69)
+ )
)
)
+ (br $while-in$19)
)
- (br $while-in$19)
)
(if
(i32.eq
@@ -30240,32 +30216,34 @@
)
(return)
)
- (loop $while-out$20 $while-in$21
- (set_local $$sp$0$i
- (i32.load
- (get_local $$sp$0$in$i)
+ (loop $while-in$21
+ (block $while-out$20
+ (set_local $$sp$0$i
+ (i32.load
+ (get_local $$sp$0$in$i)
+ )
)
- )
- (set_local $$cmp$i
- (i32.eq
- (get_local $$sp$0$i)
- (i32.const 0)
+ (set_local $$cmp$i
+ (i32.eq
+ (get_local $$sp$0$i)
+ (i32.const 0)
+ )
)
- )
- (set_local $$next4$i
- (i32.add
- (get_local $$sp$0$i)
- (i32.const 8)
+ (set_local $$next4$i
+ (i32.add
+ (get_local $$sp$0$i)
+ (i32.const 8)
+ )
)
- )
- (if
- (get_local $$cmp$i)
- (br $while-out$20)
- (set_local $$sp$0$in$i
- (get_local $$next4$i)
+ (if
+ (get_local $$cmp$i)
+ (br $while-out$20)
+ (set_local $$sp$0$in$i
+ (get_local $$next4$i)
+ )
)
+ (br $while-in$21)
)
- (br $while-in$21)
)
(i32.store
(i32.const 208)
@@ -30305,9 +30283,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $h)
+ (block
+ (set_global $tempRet0
+ (get_local $h)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $l)
)
@@ -30336,9 +30318,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $h)
+ (block
+ (set_global $tempRet0
+ (get_local $h)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $l)
)
@@ -30415,81 +30401,87 @@
(get_local $unaligned)
)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $ptr)
- (get_local $unaligned)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $ptr)
+ (get_local $unaligned)
+ )
)
+ (br $while-out$0)
)
- (br $while-out$0)
- )
- (block
- (i32.store8
- (get_local $ptr)
- (get_local $value)
- )
- (set_local $ptr
- (i32.add
+ (block
+ (i32.store8
(get_local $ptr)
- (i32.const 1)
+ (get_local $value)
+ )
+ (set_local $ptr
+ (i32.add
+ (get_local $ptr)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$1)
)
- (br $while-in$1)
)
)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $ptr)
- (get_local $stop4)
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $ptr)
+ (get_local $stop4)
+ )
)
+ (br $while-out$2)
)
- (br $while-out$2)
- )
- (block
- (i32.store
- (get_local $ptr)
- (get_local $value4)
- )
- (set_local $ptr
- (i32.add
+ (block
+ (i32.store
(get_local $ptr)
- (i32.const 4)
+ (get_local $value4)
+ )
+ (set_local $ptr
+ (i32.add
+ (get_local $ptr)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $ptr)
- (get_local $stop)
+ (loop $while-in$5
+ (block $while-out$4
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $ptr)
+ (get_local $stop)
+ )
)
+ (br $while-out$4)
)
- (br $while-out$4)
- )
- (block
- (i32.store8
- (get_local $ptr)
- (get_local $value)
- )
- (set_local $ptr
- (i32.add
+ (block
+ (i32.store8
(get_local $ptr)
- (i32.const 1)
+ (get_local $value)
+ )
+ (set_local $ptr
+ (i32.add
+ (get_local $ptr)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(return
(i32.sub
@@ -30515,8 +30507,7 @@
(i32.const 1)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.shr_u
(get_local $high)
(get_local $bits)
@@ -30542,8 +30533,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.const 0)
)
(return
@@ -30573,8 +30563,7 @@
(i32.const 1)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.or
(i32.shl
(get_local $high)
@@ -30606,8 +30595,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.shl
(get_local $low)
(i32.sub
@@ -30650,130 +30638,136 @@
)
)
(block
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.and
- (get_local $dest)
- (i32.const 3)
- )
- )
- (br $while-out$0)
- )
- (block
+ (loop $while-in$1
+ (block $while-out$0
(if
- (i32.eq
- (get_local $num)
- (i32.const 0)
- )
- (return
- (get_local $ret)
+ (i32.eqz
+ (i32.and
+ (get_local $dest)
+ (i32.const 3)
+ )
)
+ (br $while-out$0)
)
- (i32.store8
- (get_local $dest)
- (i32.load8_s
- (get_local $src)
+ (block
+ (if
+ (i32.eq
+ (get_local $num)
+ (i32.const 0)
+ )
+ (return
+ (get_local $ret)
+ )
)
- )
- (set_local $dest
- (i32.add
+ (i32.store8
(get_local $dest)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $src)
+ )
)
- )
- (set_local $src
- (i32.add
- (get_local $src)
- (i32.const 1)
+ (set_local $dest
+ (i32.add
+ (get_local $dest)
+ (i32.const 1)
+ )
)
- )
- (set_local $num
- (i32.sub
- (get_local $num)
- (i32.const 1)
+ (set_local $src
+ (i32.add
+ (get_local $src)
+ (i32.const 1)
+ )
)
- )
- )
- (br $while-in$1)
- )
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (i32.ge_s
- (get_local $num)
- (i32.const 4)
+ (set_local $num
+ (i32.sub
+ (get_local $num)
+ (i32.const 1)
+ )
)
)
- (br $while-out$2)
+ (br $while-in$1)
)
- (block
- (i32.store
- (get_local $dest)
- (i32.load
- (get_local $src)
+ )
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (i32.ge_s
+ (get_local $num)
+ (i32.const 4)
+ )
)
+ (br $while-out$2)
)
- (set_local $dest
- (i32.add
+ (block
+ (i32.store
(get_local $dest)
- (i32.const 4)
+ (i32.load
+ (get_local $src)
+ )
)
- )
- (set_local $src
- (i32.add
- (get_local $src)
- (i32.const 4)
+ (set_local $dest
+ (i32.add
+ (get_local $dest)
+ (i32.const 4)
+ )
)
- )
- (set_local $num
- (i32.sub
- (get_local $num)
- (i32.const 4)
+ (set_local $src
+ (i32.add
+ (get_local $src)
+ (i32.const 4)
+ )
+ )
+ (set_local $num
+ (i32.sub
+ (get_local $num)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.eqz
- (i32.gt_s
- (get_local $num)
- (i32.const 0)
- )
- )
- (br $while-out$4)
- )
- (block
- (i32.store8
- (get_local $dest)
- (i32.load8_s
- (get_local $src)
+ (loop $while-in$5
+ (block $while-out$4
+ (if
+ (i32.eqz
+ (i32.gt_s
+ (get_local $num)
+ (i32.const 0)
+ )
)
+ (br $while-out$4)
)
- (set_local $dest
- (i32.add
+ (block
+ (i32.store8
(get_local $dest)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $src)
+ )
)
- )
- (set_local $src
- (i32.add
- (get_local $src)
- (i32.const 1)
+ (set_local $dest
+ (i32.add
+ (get_local $dest)
+ (i32.const 1)
+ )
)
- )
- (set_local $num
- (i32.sub
- (get_local $num)
- (i32.const 1)
+ (set_local $src
+ (i32.add
+ (get_local $src)
+ (i32.const 1)
+ )
+ )
+ (set_local $num
+ (i32.sub
+ (get_local $num)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(return
(get_local $ret)
@@ -30796,8 +30790,7 @@
(i32.const 1)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(i32.shr_s
(get_local $high)
(get_local $bits)
@@ -30823,8 +30816,7 @@
)
)
)
- (i32.store
- (i32.const 168)
+ (set_global $tempRet0
(if
(i32.lt_s
(get_local $high)
@@ -30902,30 +30894,34 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (i32.add
+ (block
+ (set_global $tempRet0
(i32.add
- (i32.shr_u
- (get_local $$8)
- (i32.const 16)
- )
- (i32.mul
- (get_local $$11)
- (get_local $$6)
- )
- )
- (i32.shr_u
(i32.add
- (i32.and
+ (i32.shr_u
(get_local $$8)
- (i32.const 65535)
+ (i32.const 16)
+ )
+ (i32.mul
+ (get_local $$11)
+ (get_local $$6)
)
- (get_local $$12)
)
- (i32.const 16)
+ (i32.shr_u
+ (i32.add
+ (i32.and
+ (get_local $$8)
+ (i32.const 65535)
+ )
+ (get_local $$12)
+ )
+ (i32.const 16)
+ )
)
)
+ (drop
+ (get_global $tempRet0)
+ )
)
(i32.or
(i32.const 0)
@@ -31063,9 +31059,7 @@
)
)
(set_local $$4$1
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
(set_local $$6$0
(call $_i64Subtract
@@ -31098,9 +31092,7 @@
(get_local $$4$0)
(get_local $$4$1)
(get_local $$6$0)
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
(i32.const 0)
)
)
@@ -31111,9 +31103,7 @@
(get_local $$7$0)
)
(i32.xor
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
(get_local $$7$1)
)
(get_local $$7$0)
@@ -31137,16 +31127,11 @@
(local $$10$1 i32)
(local $__stackBase__ i32)
(set_local $__stackBase__
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
@@ -31258,9 +31243,7 @@
)
)
(set_local $$4$1
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
(set_local $$6$0
(call $_i64Subtract
@@ -31276,14 +31259,14 @@
(get_local $$2$1)
)
)
- (call $___udivmoddi4
- (get_local $$4$0)
- (get_local $$4$1)
- (get_local $$6$0)
- (i32.load
- (i32.const 168)
+ (drop
+ (call $___udivmoddi4
+ (get_local $$4$0)
+ (get_local $$4$1)
+ (get_local $$6$0)
+ (get_global $tempRet0)
+ (get_local $$rem)
)
- (get_local $$rem)
)
(set_local $$10$0
(call $_i64Subtract
@@ -31307,19 +31290,20 @@
)
)
(set_local $$10$1
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $__stackBase__)
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$10$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$10$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$10$0)
)
@@ -31344,9 +31328,7 @@
)
)
(set_local $$1$1
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
(set_local $$2
(i32.mul
@@ -31356,24 +31338,28 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (i32.or
- (i32.add
+ (block
+ (set_global $tempRet0
+ (i32.or
(i32.add
- (i32.mul
- (get_local $$b$1)
- (get_local $$x_sroa_0_0_extract_trunc)
+ (i32.add
+ (i32.mul
+ (get_local $$b$1)
+ (get_local $$x_sroa_0_0_extract_trunc)
+ )
+ (get_local $$2)
)
- (get_local $$2)
+ (get_local $$1$1)
+ )
+ (i32.and
+ (get_local $$1$1)
+ (i32.const 0)
)
- (get_local $$1$1)
- )
- (i32.and
- (get_local $$1$1)
- (i32.const 0)
)
)
+ (drop
+ (get_global $tempRet0)
+ )
)
(i32.or
(i32.const 0)
@@ -31404,43 +31390,43 @@
(local $$rem i32)
(local $__stackBase__ i32)
(set_local $__stackBase__
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $STACKTOP)
(i32.const 16)
)
)
(set_local $$rem
(get_local $__stackBase__)
)
- (call $___udivmoddi4
- (get_local $$a$0)
- (get_local $$a$1)
- (get_local $$b$0)
- (get_local $$b$1)
- (get_local $$rem)
+ (drop
+ (call $___udivmoddi4
+ (get_local $$a$0)
+ (get_local $$a$1)
+ (get_local $$b$0)
+ (get_local $$b$1)
+ (get_local $$rem)
+ )
)
- (i32.store
- (i32.const 8)
+ (set_global $STACKTOP
(get_local $__stackBase__)
)
(return
(block
- (i32.store
- (i32.const 168)
- (i32.load
- (i32.add
- (get_local $$rem)
- (i32.const 4)
+ (block
+ (set_global $tempRet0
+ (i32.load
+ (i32.add
+ (get_local $$rem)
+ (i32.const 4)
+ )
)
)
+ (drop
+ (get_global $tempRet0)
+ )
)
(i32.load
(get_local $$rem)
@@ -31579,9 +31565,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -31601,9 +31591,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -31635,9 +31629,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -31695,9 +31693,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -31743,9 +31745,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -31814,9 +31820,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -31901,9 +31911,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -31941,9 +31955,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -32048,9 +32066,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -32088,9 +32110,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -32290,9 +32316,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -32330,9 +32360,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -32395,9 +32429,7 @@
)
)
(set_local $$137$1
- (i32.load
- (i32.const 168)
- )
+ (get_global $tempRet0)
)
(set_local $$q_sroa_1_1198
(get_local $$q_sroa_1_1_ph)
@@ -32417,170 +32449,170 @@
(set_local $$carry_0203
(i32.const 0)
)
- (loop $while-out$2 $while-in$3
- (set_local $$147
- (i32.or
- (i32.shr_u
- (get_local $$q_sroa_0_1199)
- (i32.const 31)
- )
- (i32.shl
- (get_local $$q_sroa_1_1198)
- (i32.const 1)
- )
- )
- )
- (set_local $$149
- (i32.or
- (get_local $$carry_0203)
- (i32.shl
- (get_local $$q_sroa_0_1199)
- (i32.const 1)
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $$147
+ (i32.or
+ (i32.shr_u
+ (get_local $$q_sroa_0_1199)
+ (i32.const 31)
+ )
+ (i32.shl
+ (get_local $$q_sroa_1_1198)
+ (i32.const 1)
+ )
)
)
- )
- (set_local $$r_sroa_0_0_insert_insert42$0
- (i32.or
- (i32.const 0)
+ (set_local $$149
(i32.or
+ (get_local $$carry_0203)
(i32.shl
- (get_local $$r_sroa_0_1201)
+ (get_local $$q_sroa_0_1199)
(i32.const 1)
)
+ )
+ )
+ (set_local $$r_sroa_0_0_insert_insert42$0
+ (i32.or
+ (i32.const 0)
+ (i32.or
+ (i32.shl
+ (get_local $$r_sroa_0_1201)
+ (i32.const 1)
+ )
+ (i32.shr_u
+ (get_local $$q_sroa_1_1198)
+ (i32.const 31)
+ )
+ )
+ )
+ )
+ (set_local $$r_sroa_0_0_insert_insert42$1
+ (i32.or
(i32.shr_u
- (get_local $$q_sroa_1_1198)
+ (get_local $$r_sroa_0_1201)
(i32.const 31)
)
+ (i32.shl
+ (get_local $$r_sroa_1_1200)
+ (i32.const 1)
+ )
)
)
- )
- (set_local $$r_sroa_0_0_insert_insert42$1
- (i32.or
- (i32.shr_u
- (get_local $$r_sroa_0_1201)
- (i32.const 31)
- )
- (i32.shl
- (get_local $$r_sroa_1_1200)
- (i32.const 1)
+ (drop
+ (call $_i64Subtract
+ (get_local $$137$0)
+ (get_local $$137$1)
+ (get_local $$r_sroa_0_0_insert_insert42$0)
+ (get_local $$r_sroa_0_0_insert_insert42$1)
)
)
- )
- (call $_i64Subtract
- (get_local $$137$0)
- (get_local $$137$1)
- (get_local $$r_sroa_0_0_insert_insert42$0)
- (get_local $$r_sroa_0_0_insert_insert42$1)
- )
- (set_local $$150$1
- (i32.load
- (i32.const 168)
+ (set_local $$150$1
+ (get_global $tempRet0)
)
- )
- (set_local $$151$0
- (i32.or
- (i32.shr_s
- (get_local $$150$1)
- (i32.const 31)
- )
- (i32.shl
- (if
- (i32.lt_s
- (get_local $$150$1)
+ (set_local $$151$0
+ (i32.or
+ (i32.shr_s
+ (get_local $$150$1)
+ (i32.const 31)
+ )
+ (i32.shl
+ (if
+ (i32.lt_s
+ (get_local $$150$1)
+ (i32.const 0)
+ )
+ (i32.const -1)
(i32.const 0)
)
- (i32.const -1)
- (i32.const 0)
+ (i32.const 1)
)
- (i32.const 1)
)
)
- )
- (set_local $$152
- (i32.and
- (get_local $$151$0)
- (i32.const 1)
- )
- )
- (set_local $$154$0
- (call $_i64Subtract
- (get_local $$r_sroa_0_0_insert_insert42$0)
- (get_local $$r_sroa_0_0_insert_insert42$1)
+ (set_local $$152
(i32.and
(get_local $$151$0)
- (get_local $$d_sroa_0_0_insert_insert99$0)
+ (i32.const 1)
)
- (i32.and
- (i32.or
- (i32.shr_s
- (if
- (i32.lt_s
- (get_local $$150$1)
+ )
+ (set_local $$154$0
+ (call $_i64Subtract
+ (get_local $$r_sroa_0_0_insert_insert42$0)
+ (get_local $$r_sroa_0_0_insert_insert42$1)
+ (i32.and
+ (get_local $$151$0)
+ (get_local $$d_sroa_0_0_insert_insert99$0)
+ )
+ (i32.and
+ (i32.or
+ (i32.shr_s
+ (if
+ (i32.lt_s
+ (get_local $$150$1)
+ (i32.const 0)
+ )
+ (i32.const -1)
(i32.const 0)
)
- (i32.const -1)
- (i32.const 0)
+ (i32.const 31)
)
- (i32.const 31)
- )
- (i32.shl
- (if
- (i32.lt_s
- (get_local $$150$1)
+ (i32.shl
+ (if
+ (i32.lt_s
+ (get_local $$150$1)
+ (i32.const 0)
+ )
+ (i32.const -1)
(i32.const 0)
)
- (i32.const -1)
- (i32.const 0)
+ (i32.const 1)
)
- (i32.const 1)
)
+ (get_local $$d_sroa_0_0_insert_insert99$1)
)
- (get_local $$d_sroa_0_0_insert_insert99$1)
)
)
- )
- (set_local $$r_sroa_0_0_extract_trunc
- (get_local $$154$0)
- )
- (set_local $$r_sroa_1_4_extract_trunc
- (i32.load
- (i32.const 168)
+ (set_local $$r_sroa_0_0_extract_trunc
+ (get_local $$154$0)
)
- )
- (set_local $$155
- (i32.sub
- (get_local $$sr_1202)
- (i32.const 1)
+ (set_local $$r_sroa_1_4_extract_trunc
+ (get_global $tempRet0)
)
- )
- (if
- (i32.eq
- (get_local $$155)
- (i32.const 0)
- )
- (br $while-out$2)
- (block
- (set_local $$q_sroa_1_1198
- (get_local $$147)
- )
- (set_local $$q_sroa_0_1199
- (get_local $$149)
- )
- (set_local $$r_sroa_1_1200
- (get_local $$r_sroa_1_4_extract_trunc)
- )
- (set_local $$r_sroa_0_1201
- (get_local $$r_sroa_0_0_extract_trunc)
+ (set_local $$155
+ (i32.sub
+ (get_local $$sr_1202)
+ (i32.const 1)
)
- (set_local $$sr_1202
+ )
+ (if
+ (i32.eq
(get_local $$155)
+ (i32.const 0)
)
- (set_local $$carry_0203
- (get_local $$152)
+ (br $while-out$2)
+ (block
+ (set_local $$q_sroa_1_1198
+ (get_local $$147)
+ )
+ (set_local $$q_sroa_0_1199
+ (get_local $$149)
+ )
+ (set_local $$r_sroa_1_1200
+ (get_local $$r_sroa_1_4_extract_trunc)
+ )
+ (set_local $$r_sroa_0_1201
+ (get_local $$r_sroa_0_0_extract_trunc)
+ )
+ (set_local $$sr_1202
+ (get_local $$155)
+ )
+ (set_local $$carry_0203
+ (get_local $$152)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
(set_local $$q_sroa_1_1_lcssa
(get_local $$147)
@@ -32689,9 +32721,13 @@
)
(return
(block
- (i32.store
- (i32.const 168)
- (get_local $$_0$1)
+ (block
+ (set_global $tempRet0
+ (get_local $$_0$1)
+ )
+ (drop
+ (get_global $tempRet0)
+ )
)
(get_local $$_0$0)
)
@@ -32700,6 +32736,7 @@
(func $dynCall_ii (param $index i32) (param $a1 i32) (result i32)
(return
(call_indirect $FUNCSIG$ii
+ (get_local $a1)
(i32.add
(i32.and
(get_local $index)
@@ -32707,13 +32744,15 @@
)
(i32.const 0)
)
- (get_local $a1)
)
)
)
(func $dynCall_iiii (param $index i32) (param $a1 i32) (param $a2 i32) (param $a3 i32) (result i32)
(return
(call_indirect $FUNCSIG$iiii
+ (get_local $a1)
+ (get_local $a2)
+ (get_local $a3)
(i32.add
(i32.and
(get_local $index)
@@ -32721,14 +32760,12 @@
)
(i32.const 2)
)
- (get_local $a1)
- (get_local $a2)
- (get_local $a3)
)
)
)
(func $dynCall_vi (param $index i32) (param $a1 i32)
(call_indirect $FUNCSIG$vi
+ (get_local $a1)
(i32.add
(i32.and
(get_local $index)
@@ -32736,7 +32773,6 @@
)
(i32.const 10)
)
- (get_local $a1)
)
)
(func $b0 (param $p0 i32) (result i32)
diff --git a/test/empty.fromasm b/test/empty.fromasm
index 939cbb87c..67c1135d4 100644
--- a/test/empty.fromasm
+++ b/test/empty.fromasm
@@ -1,4 +1,8 @@
(module
(memory 256 256)
- (export "memory" memory)
+ (data (get_global $memoryBase) "empty.asm.js")
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
)
diff --git a/test/empty.fromasm.imprecise b/test/empty.fromasm.imprecise
index 939cbb87c..5fbd4b5f8 100644
--- a/test/empty.fromasm.imprecise
+++ b/test/empty.fromasm.imprecise
@@ -1,4 +1,7 @@
(module
(memory 256 256)
- (export "memory" memory)
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
)
diff --git a/test/empty.fromasm.imprecise.no-opts b/test/empty.fromasm.imprecise.no-opts
index 939cbb87c..5fbd4b5f8 100644
--- a/test/empty.fromasm.imprecise.no-opts
+++ b/test/empty.fromasm.imprecise.no-opts
@@ -1,4 +1,7 @@
(module
(memory 256 256)
- (export "memory" memory)
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
)
diff --git a/test/empty.fromasm.no-opts b/test/empty.fromasm.no-opts
index 939cbb87c..5fbd4b5f8 100644
--- a/test/empty.fromasm.no-opts
+++ b/test/empty.fromasm.no-opts
@@ -1,4 +1,7 @@
(module
(memory 256 256)
- (export "memory" memory)
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
)
diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c
index 0aaf5ab95..77e7f0b05 100644
--- a/test/example/c-api-kitchen-sink.c
+++ b/test/example/c-api-kitchen-sink.c
@@ -64,6 +64,10 @@ BinaryenExpressionRef makeSomething(BinaryenModuleRef module) {
return makeInt32(module, 1337);
}
+BinaryenExpressionRef makeDroppedInt32(BinaryenModuleRef module, int x) {
+ return BinaryenDrop(module, BinaryenConst(module, BinaryenLiteralInt32(x)));
+}
+
// tests
void test_types() {
@@ -181,9 +185,8 @@ void test_core() {
BinaryenBlock(module, NULL, NULL, 0), // block with no name
BinaryenIf(module, temp1, temp2, temp3),
BinaryenIf(module, temp4, temp5, NULL),
- BinaryenLoop(module, "out", "in", makeInt32(module, 0)),
- BinaryenLoop(module, NULL, "in2", makeInt32(module, 0)),
- BinaryenLoop(module, NULL, NULL, makeInt32(module, 0)),
+ BinaryenLoop(module, "in", makeInt32(module, 0)),
+ BinaryenLoop(module, NULL, makeInt32(module, 0)),
BinaryenBreak(module, "the-value", temp6, temp7),
BinaryenBreak(module, "the-nothing", makeInt32(module, 2), NULL),
BinaryenBreak(module, "the-value", NULL, makeInt32(module, 3)),
@@ -202,14 +205,15 @@ void test_core() {
BinaryenUnary(module, BinaryenEqZInt32(), // check the output type of the call node
BinaryenCallIndirect(module, makeInt32(module, 2449), callOperands4, 4, "iiIfF")
),
- BinaryenGetLocal(module, 0, BinaryenInt32()),
+ BinaryenDrop(module, BinaryenGetLocal(module, 0, BinaryenInt32())),
BinaryenSetLocal(module, 0, makeInt32(module, 101)),
+ BinaryenDrop(module, BinaryenTeeLocal(module, 0, makeInt32(module, 102))),
BinaryenLoad(module, 4, 0, 0, 0, BinaryenInt32(), makeInt32(module, 1)),
- BinaryenLoad(module, 1, 1, 2, 4, BinaryenInt64(), makeInt32(module, 8)),
+ BinaryenLoad(module, 2, 1, 2, 1, BinaryenInt64(), makeInt32(module, 8)),
BinaryenLoad(module, 4, 0, 0, 0, BinaryenFloat32(), makeInt32(module, 2)),
BinaryenLoad(module, 8, 0, 2, 8, BinaryenFloat64(), makeInt32(module, 9)),
- BinaryenStore(module, 4, 0, 0, temp13, temp14),
- BinaryenStore(module, 8, 2, 4, temp15, temp16),
+ BinaryenStore(module, 4, 0, 0, temp13, temp14, BinaryenInt32()),
+ BinaryenStore(module, 8, 2, 4, temp15, temp16, BinaryenInt64()),
BinaryenSelect(module, temp10, temp11, temp12),
BinaryenReturn(module, makeInt32(module, 1337)),
// TODO: Host
@@ -221,7 +225,8 @@ void test_core() {
// Make the main body of the function. and one block with a return value, one without
BinaryenExpressionRef value = BinaryenBlock(module, "the-value", valueList, sizeof(valueList) / sizeof(BinaryenExpressionRef));
- BinaryenExpressionRef nothing = BinaryenBlock(module, "the-nothing", &value, 1);
+ BinaryenExpressionRef droppedValue = BinaryenDrop(module, value);
+ BinaryenExpressionRef nothing = BinaryenBlock(module, "the-nothing", &droppedValue, 1);
BinaryenExpressionRef bodyList[] = { nothing, makeInt32(module, 42) };
BinaryenExpressionRef body = BinaryenBlock(module, "the-body", bodyList, 2);
@@ -260,6 +265,9 @@ void test_core() {
BinaryenFunctionTypeRef noname = BinaryenAddFunctionType(module, NULL, BinaryenNone(), NULL, 0);
+ // A bunch of our code needs drop(), auto-add it
+ BinaryenModuleAutoDrop(module);
+
// Verify it validates
assert(BinaryenModuleValidate(module));
@@ -304,7 +312,7 @@ void test_relooper() {
RelooperRef relooper = RelooperCreate();
RelooperBlockRef block0 = RelooperAddBlock(relooper, makeCallCheck(module, 0));
RelooperBlockRef block1 = RelooperAddBlock(relooper, makeCallCheck(module, 1));
- RelooperAddBranch(block0, block1, NULL, makeInt32(module, 77)); // code on branch
+ RelooperAddBranch(block0, block1, NULL, makeDroppedInt32(module, 77)); // code on branch
BinaryenExpressionRef body = RelooperRenderAndDispose(relooper, block0, 0, module);
BinaryenFunctionRef sinker = BinaryenAddFunction(module, "two-blocks-plus-code", v, localTypes, 1, body);
}
@@ -321,8 +329,8 @@ void test_relooper() {
RelooperRef relooper = RelooperCreate();
RelooperBlockRef block0 = RelooperAddBlock(relooper, makeCallCheck(module, 0));
RelooperBlockRef block1 = RelooperAddBlock(relooper, makeCallCheck(module, 1));
- RelooperAddBranch(block0, block1, NULL, makeInt32(module, 33));
- RelooperAddBranch(block1, block0, NULL, makeInt32(module, -66));
+ RelooperAddBranch(block0, block1, NULL, makeDroppedInt32(module, 33));
+ RelooperAddBranch(block1, block0, NULL, makeDroppedInt32(module, -66));
BinaryenExpressionRef body = RelooperRenderAndDispose(relooper, block0, 0, module);
BinaryenFunctionRef sinker = BinaryenAddFunction(module, "loop-plus-code", v, localTypes, 1, body);
}
@@ -341,9 +349,9 @@ void test_relooper() {
RelooperBlockRef block0 = RelooperAddBlock(relooper, makeCallCheck(module, 0));
RelooperBlockRef block1 = RelooperAddBlock(relooper, makeCallCheck(module, 1));
RelooperBlockRef block2 = RelooperAddBlock(relooper, makeCallCheck(module, 2));
- BinaryenExpressionRef temp = makeInt32(module, 10);
+ BinaryenExpressionRef temp = makeDroppedInt32(module, 10);
RelooperAddBranch(block0, block1, makeInt32(module, 55), temp);
- RelooperAddBranch(block0, block2, NULL, makeInt32(module, 20));
+ RelooperAddBranch(block0, block2, NULL, makeDroppedInt32(module, 20));
BinaryenExpressionRef body = RelooperRenderAndDispose(relooper, block0, 0, module);
BinaryenFunctionRef sinker = BinaryenAddFunction(module, "split-plus-code", v, localTypes, 1, body);
}
@@ -363,10 +371,10 @@ void test_relooper() {
RelooperBlockRef block0 = RelooperAddBlock(relooper, makeCallCheck(module, 0));
RelooperBlockRef block1 = RelooperAddBlock(relooper, makeCallCheck(module, 1));
RelooperBlockRef block2 = RelooperAddBlock(relooper, makeCallCheck(module, 2));
- BinaryenExpressionRef temp = makeInt32(module, -1);
+ BinaryenExpressionRef temp = makeDroppedInt32(module, -1);
RelooperAddBranch(block0, block1, makeInt32(module, 55), temp);
- RelooperAddBranch(block0, block2, NULL, makeInt32(module, -2));
- RelooperAddBranch(block1, block2, NULL, makeInt32(module, -3));
+ RelooperAddBranch(block0, block2, NULL, makeDroppedInt32(module, -2));
+ RelooperAddBranch(block1, block2, NULL, makeDroppedInt32(module, -3));
BinaryenExpressionRef body = RelooperRenderAndDispose(relooper, block0, 0, module);
BinaryenFunctionRef sinker = BinaryenAddFunction(module, "if-plus-code", v, localTypes, 1, body);
}
@@ -403,15 +411,15 @@ void test_relooper() {
RelooperBlockRef block4 = RelooperAddBlock(relooper, makeCallCheck(module, 4));
RelooperBlockRef block5 = RelooperAddBlock(relooper, makeCallCheck(module, 5));
RelooperBlockRef block6 = RelooperAddBlock(relooper, makeCallCheck(module, 6));
- RelooperAddBranch(block0, block1, NULL, makeInt32(module, 10));
+ RelooperAddBranch(block0, block1, NULL, makeDroppedInt32(module, 10));
RelooperAddBranch(block1, block2, makeInt32(module, -2), NULL);
- RelooperAddBranch(block1, block6, NULL, makeInt32(module, 20));
+ RelooperAddBranch(block1, block6, NULL, makeDroppedInt32(module, 20));
RelooperAddBranch(block2, block3, makeInt32(module, -6), NULL);
- RelooperAddBranch(block2, block1, NULL, makeInt32(module, 30));
+ RelooperAddBranch(block2, block1, NULL, makeDroppedInt32(module, 30));
RelooperAddBranch(block3, block4, makeInt32(module, -10), NULL);
RelooperAddBranch(block3, block5, NULL, NULL);
RelooperAddBranch(block4, block5, NULL, NULL);
- RelooperAddBranch(block5, block6, NULL, makeInt32(module, 40));
+ RelooperAddBranch(block5, block6, NULL, makeDroppedInt32(module, 40));
BinaryenExpressionRef body = RelooperRenderAndDispose(relooper, block0, 0, module);
BinaryenFunctionRef sinker = BinaryenAddFunction(module, "nontrivial-loop-plus-phi-to-head", v, localTypes, 1, body);
}
@@ -425,7 +433,7 @@ void test_relooper() {
BinaryenIndex to_block1[] = { 2, 5 };
RelooperAddBranchForSwitch(block0, block1, to_block1, 2, NULL);
BinaryenIndex to_block2[] = { 4 };
- RelooperAddBranchForSwitch(block0, block2, to_block2, 1, makeInt32(module, 55));
+ RelooperAddBranchForSwitch(block0, block2, to_block2, 1, makeDroppedInt32(module, 55));
RelooperAddBranchForSwitch(block0, block3, NULL, 0, NULL);
BinaryenExpressionRef body = RelooperRenderAndDispose(relooper, block0, 0, module);
BinaryenFunctionRef sinker = BinaryenAddFunction(module, "switch", v, localTypes, 1, body);
diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt
index 42a5bfee1..6544f9f33 100644
--- a/test/example/c-api-kitchen-sink.txt
+++ b/test/example/c-api-kitchen-sink.txt
@@ -9,354 +9,518 @@ BinaryenFloat64: 4
(module
(memory 1 256)
(data (i32.const 10) "hello, world")
- (export "mem" memory)
(start $starter)
(type $iiIfF (func (param i32 i64 f32 f64) (result i32)))
(type $fiF (func (param i32 f64) (result f32)))
(type $v (func))
(type $3 (func))
- (import $an-imported "module" "base" (param i32 f64) (result f32))
- (export "kitchen_sinker" "$kitchen()sinker")
+ (import "module" "base" (func $an-imported (param i32 f64) (result f32)))
+ (export "kitchen_sinker" (func "$kitchen()sinker"))
+ (export "mem" (memory $0))
(table 1 1 anyfunc)
(elem (i32.const 0) "$kitchen()sinker")
(func "$kitchen()sinker" (type $iiIfF) (param $0 i32) (param $1 i64) (param $2 f32) (param $3 f64) (result i32)
(local $4 i32)
(block $the-body
(block $the-nothing
- (block $the-value
- (i32.clz
- (i32.const -10)
- )
- (i64.ctz
- (i64.const -22)
- )
- (i32.popcnt
- (i32.const -10)
- )
- (f32.neg
- (f32.const -33.61199951171875)
- )
- (f64.abs
- (f64.const -9005.841)
- )
- (f32.ceil
- (f32.const -33.61199951171875)
- )
- (f64.floor
- (f64.const -9005.841)
- )
- (f32.trunc
- (f32.const -33.61199951171875)
- )
- (f32.nearest
- (f32.const -33.61199951171875)
- )
- (f64.sqrt
- (f64.const -9005.841)
- )
- (i32.eqz
- (i32.const -10)
- )
- (i64.extend_s/i32
- (i32.const -10)
- )
- (i64.extend_u/i32
- (i32.const -10)
- )
- (i32.wrap/i64
- (i64.const -22)
- )
- (i32.trunc_s/f32
- (f32.const -33.61199951171875)
- )
- (i64.trunc_s/f32
- (f32.const -33.61199951171875)
- )
- (i32.trunc_u/f32
- (f32.const -33.61199951171875)
- )
- (i64.trunc_u/f32
- (f32.const -33.61199951171875)
- )
- (i32.trunc_s/f64
- (f64.const -9005.841)
- )
- (i64.trunc_s/f64
- (f64.const -9005.841)
- )
- (i32.trunc_u/f64
- (f64.const -9005.841)
- )
- (i64.trunc_u/f64
- (f64.const -9005.841)
- )
- (i32.reinterpret/f32
- (f32.const -33.61199951171875)
- )
- (i64.reinterpret/f64
- (f64.const -9005.841)
- )
- (f32.convert_s/i32
- (i32.const -10)
- )
- (f64.convert_s/i32
- (i32.const -10)
- )
- (f32.convert_u/i32
- (i32.const -10)
- )
- (f64.convert_u/i32
- (i32.const -10)
- )
- (f32.convert_s/i64
- (i64.const -22)
- )
- (f64.convert_s/i64
- (i64.const -22)
- )
- (f32.convert_u/i64
- (i64.const -22)
- )
- (f64.convert_u/i64
- (i64.const -22)
- )
- (f64.promote/f32
- (f32.const -33.61199951171875)
- )
- (f32.demote/f64
- (f64.const -9005.841)
- )
- (f32.reinterpret/i32
- (i32.const -10)
- )
- (f64.reinterpret/i64
- (i64.const -22)
- )
- (i32.add
- (i32.const -10)
- (i32.const -11)
- )
- (f64.sub
- (f64.const -9005.841)
- (f64.const -9007.333)
- )
- (i32.div_s
- (i32.const -10)
- (i32.const -11)
- )
- (i64.div_u
- (i64.const -22)
- (i64.const -23)
- )
- (i64.rem_s
- (i64.const -22)
- (i64.const -23)
- )
- (i32.rem_u
- (i32.const -10)
- (i32.const -11)
- )
- (i32.and
- (i32.const -10)
- (i32.const -11)
- )
- (i64.or
- (i64.const -22)
- (i64.const -23)
- )
- (i32.xor
- (i32.const -10)
- (i32.const -11)
- )
- (i64.shl
- (i64.const -22)
- (i64.const -23)
- )
- (i64.shr_u
- (i64.const -22)
- (i64.const -23)
- )
- (i32.shr_s
- (i32.const -10)
- (i32.const -11)
- )
- (i32.rotl
- (i32.const -10)
- (i32.const -11)
- )
- (i64.rotr
- (i64.const -22)
- (i64.const -23)
- )
- (f32.div
- (f32.const -33.61199951171875)
- (f32.const -62.5)
- )
- (f64.copysign
- (f64.const -9005.841)
- (f64.const -9007.333)
- )
- (f32.min
- (f32.const -33.61199951171875)
- (f32.const -62.5)
- )
- (f64.max
- (f64.const -9005.841)
- (f64.const -9007.333)
- )
- (i32.eq
- (i32.const -10)
- (i32.const -11)
- )
- (f32.ne
- (f32.const -33.61199951171875)
- (f32.const -62.5)
- )
- (i32.lt_s
- (i32.const -10)
- (i32.const -11)
- )
- (i64.lt_u
- (i64.const -22)
- (i64.const -23)
- )
- (i64.le_s
- (i64.const -22)
- (i64.const -23)
- )
- (i32.le_u
- (i32.const -10)
- (i32.const -11)
- )
- (i64.gt_s
- (i64.const -22)
- (i64.const -23)
- )
- (i32.gt_u
- (i32.const -10)
- (i32.const -11)
- )
- (i32.ge_s
- (i32.const -10)
- (i32.const -11)
- )
- (i64.ge_u
- (i64.const -22)
- (i64.const -23)
- )
- (f32.lt
- (f32.const -33.61199951171875)
- (f32.const -62.5)
- )
- (f64.le
- (f64.const -9005.841)
- (f64.const -9007.333)
- )
- (f64.gt
- (f64.const -9005.841)
- (f64.const -9007.333)
- )
- (f32.ge
- (f32.const -33.61199951171875)
- (f32.const -62.5)
- )
- (block
- )
- (if
- (i32.const 1)
- (i32.const 2)
- (i32.const 3)
- )
- (if
- (i32.const 4)
- (i32.const 5)
- )
- (loop $out $in
- (i32.const 0)
- )
- (loop $in2
- (i32.const 0)
- )
- (loop
- (i32.const 0)
- )
- (br_if $the-value
- (i32.const 1)
- (i32.const 0)
- )
- (br_if $the-nothing
- (i32.const 2)
- )
- (br $the-value
- (i32.const 3)
- )
- (br $the-nothing)
- (br_table $the-value $the-value
- (i32.const 1)
- (i32.const 0)
- )
- (br_table $the-nothing $the-nothing
- (i32.const 2)
- )
- (i32.eqz
- (call "$kitchen()sinker"
- (i32.const 13)
- (i64.const 37)
- (f32.const 1.2999999523162842)
- (f64.const 3.7)
+ (drop
+ (block $the-value
+ (drop
+ (i32.clz
+ (i32.const -10)
+ )
)
- )
- (i32.eqz
- (i32.trunc_s/f32
- (call_import $an-imported
- (i32.const 13)
- (f64.const 3.7)
+ (drop
+ (i64.ctz
+ (i64.const -22)
)
)
- )
- (i32.eqz
- (call_indirect $iiIfF
- (i32.const 2449)
- (i32.const 13)
- (i64.const 37)
- (f32.const 1.2999999523162842)
- (f64.const 3.7)
+ (drop
+ (i32.popcnt
+ (i32.const -10)
+ )
)
+ (drop
+ (f32.neg
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (f64.abs
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (f32.ceil
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (f64.floor
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (f32.trunc
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (f32.nearest
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (f64.sqrt
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.const -10)
+ )
+ )
+ (drop
+ (i64.extend_s/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (i64.extend_u/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (i32.wrap/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (i32.trunc_s/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (i64.trunc_s/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (i32.trunc_u/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (i64.trunc_u/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (i32.trunc_s/f64
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (i64.trunc_s/f64
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (i32.trunc_u/f64
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (i64.trunc_u/f64
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (i32.reinterpret/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (i64.reinterpret/f64
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (f32.convert_s/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (f64.convert_s/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (f32.convert_u/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (f64.convert_u/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (f32.convert_s/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (f64.convert_s/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (f32.convert_u/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (f64.convert_u/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (f64.promote/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (f32.demote/f64
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (f32.reinterpret/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (f64.reinterpret/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (i32.add
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (f64.sub
+ (f64.const -9005.841)
+ (f64.const -9007.333)
+ )
+ )
+ (drop
+ (i32.div_s
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.div_u
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i64.rem_s
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i32.rem_u
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i32.and
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.or
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i32.xor
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.shl
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i64.shr_u
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i32.shr_s
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i32.rotl
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.rotr
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (f32.div
+ (f32.const -33.61199951171875)
+ (f32.const -62.5)
+ )
+ )
+ (drop
+ (f64.copysign
+ (f64.const -9005.841)
+ (f64.const -9007.333)
+ )
+ )
+ (drop
+ (f32.min
+ (f32.const -33.61199951171875)
+ (f32.const -62.5)
+ )
+ )
+ (drop
+ (f64.max
+ (f64.const -9005.841)
+ (f64.const -9007.333)
+ )
+ )
+ (drop
+ (i32.eq
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (f32.ne
+ (f32.const -33.61199951171875)
+ (f32.const -62.5)
+ )
+ )
+ (drop
+ (i32.lt_s
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.lt_u
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i64.le_s
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i32.le_u
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.gt_s
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i32.gt_u
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i32.ge_s
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.ge_u
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (f32.lt
+ (f32.const -33.61199951171875)
+ (f32.const -62.5)
+ )
+ )
+ (drop
+ (f64.le
+ (f64.const -9005.841)
+ (f64.const -9007.333)
+ )
+ )
+ (drop
+ (f64.gt
+ (f64.const -9005.841)
+ (f64.const -9007.333)
+ )
+ )
+ (drop
+ (f32.ge
+ (f32.const -33.61199951171875)
+ (f32.const -62.5)
+ )
+ )
+ (block
+ )
+ (drop
+ (if
+ (i32.const 1)
+ (i32.const 2)
+ (i32.const 3)
+ )
+ )
+ (if
+ (i32.const 4)
+ (i32.const 5)
+ )
+ (drop
+ (loop $in
+ (i32.const 0)
+ )
+ )
+ (drop
+ (loop
+ (i32.const 0)
+ )
+ )
+ (br_if $the-value
+ (i32.const 1)
+ (i32.const 0)
+ )
+ (br_if $the-nothing
+ (i32.const 2)
+ )
+ (br $the-value
+ (i32.const 3)
+ )
+ (br $the-nothing)
+ (br_table $the-value $the-value
+ (i32.const 1)
+ (i32.const 0)
+ )
+ (br_table $the-nothing $the-nothing
+ (i32.const 2)
+ )
+ (drop
+ (i32.eqz
+ (call "$kitchen()sinker"
+ (i32.const 13)
+ (i64.const 37)
+ (f32.const 1.2999999523162842)
+ (f64.const 3.7)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.trunc_s/f32
+ (call_import $an-imported
+ (i32.const 13)
+ (f64.const 3.7)
+ )
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (call_indirect $iiIfF
+ (i32.const 13)
+ (i64.const 37)
+ (f32.const 1.2999999523162842)
+ (f64.const 3.7)
+ (i32.const 2449)
+ )
+ )
+ )
+ (drop
+ (get_local $0)
+ )
+ (set_local $0
+ (i32.const 101)
+ )
+ (drop
+ (tee_local $0
+ (i32.const 102)
+ )
+ )
+ (drop
+ (i32.load
+ (i32.const 1)
+ )
+ )
+ (drop
+ (i64.load16_s offset=2 align=1
+ (i32.const 8)
+ )
+ )
+ (drop
+ (f32.load
+ (i32.const 2)
+ )
+ )
+ (drop
+ (f64.load offset=2
+ (i32.const 9)
+ )
+ )
+ (i32.store
+ (i32.const 10)
+ (i32.const 11)
+ )
+ (i64.store offset=2 align=4
+ (i32.const 110)
+ (i64.const 111)
+ )
+ (drop
+ (select
+ (i32.const 3)
+ (i32.const 5)
+ (i32.const 1)
+ )
+ )
+ (return
+ (i32.const 1337)
+ )
+ (nop)
+ (unreachable)
)
- (get_local $0)
- (set_local $0
- (i32.const 101)
- )
- (i32.load
- (i32.const 1)
- )
- (i64.load8_s offset=2 align=4
- (i32.const 8)
- )
- (f32.load
- (i32.const 2)
- )
- (f64.load offset=2
- (i32.const 9)
- )
- (i32.store
- (i32.const 10)
- (i32.const 11)
- )
- (i64.store offset=2 align=4
- (i32.const 110)
- (i64.const 111)
- )
- (select
- (i32.const 3)
- (i32.const 5)
- (i32.const 1)
- )
- (return
- (i32.const 1337)
- )
- (nop)
- (unreachable)
)
)
(i32.const 42)
@@ -372,7 +536,7 @@ raw:
(type $v (func))
(type $vi (func (param i32)))
(type $i (func (result i32)))
- (import $check "module" "check" (param i32))
+ (import "module" "check" (func $check (param i32)))
(func $just-one-block (type $v)
(local $0 i32)
(call_import $check
@@ -402,7 +566,9 @@ raw:
(i32.const 0)
)
(block
- (i32.const 77)
+ (drop
+ (i32.const 77)
+ )
(br $block$2$break)
)
)
@@ -441,7 +607,9 @@ raw:
(i32.const 0)
)
(block
- (i32.const 33)
+ (drop
+ (i32.const 33)
+ )
(br $block$2$break)
)
)
@@ -450,7 +618,9 @@ raw:
(i32.const 1)
)
(block
- (i32.const -66)
+ (drop
+ (i32.const -66)
+ )
(br $shape$0$continue)
)
)
@@ -483,7 +653,9 @@ raw:
(if
(i32.const 55)
(block
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(block
(call_import $check
(i32.const 1)
@@ -491,7 +663,9 @@ raw:
)
)
(block
- (i32.const 20)
+ (drop
+ (i32.const 20)
+ )
(block
(call_import $check
(i32.const 2)
@@ -534,19 +708,25 @@ raw:
(if
(i32.const 55)
(block
- (i32.const -1)
+ (drop
+ (i32.const -1)
+ )
(block
(call_import $check
(i32.const 1)
)
(block
- (i32.const -3)
+ (drop
+ (i32.const -3)
+ )
(br $block$3$break)
)
)
)
(block
- (i32.const -2)
+ (drop
+ (i32.const -2)
+ )
(br $block$3$break)
)
)
@@ -626,7 +806,9 @@ raw:
(i32.const 0)
)
(block
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(br $block$2$break)
)
)
@@ -642,7 +824,9 @@ raw:
(i32.const -2)
(br $block$3$break)
(block
- (i32.const 20)
+ (drop
+ (i32.const 20)
+ )
(br $block$7$break)
)
)
@@ -655,7 +839,9 @@ raw:
(i32.const -6)
(br $block$4$break)
(block
- (i32.const 30)
+ (drop
+ (i32.const 30)
+ )
(br $shape$1$continue)
)
)
@@ -685,7 +871,9 @@ raw:
(i32.const 5)
)
(block
- (i32.const 40)
+ (drop
+ (i32.const 40)
+ )
(br $block$7$break)
)
)
@@ -721,7 +909,9 @@ raw:
(br $switch$1$leave)
)
(block
- (i32.const 55)
+ (drop
+ (i32.const 55)
+ )
(block
(call_import $check
(i32.const 2)
@@ -833,7 +1023,7 @@ optimized:
(type $v (func))
(type $vi (func (param i32)))
(type $i (func (result i32)))
- (import $check "module" "check" (param i32))
+ (import "module" "check" (func $check (param i32)))
(func $just-one-block (type $v)
(call_import $check
(i32.const 1337)
@@ -904,17 +1094,19 @@ optimized:
)
)
(func $loop-tail (type $v)
- (loop $block$3$break $shape$0$continue
- (call_import $check
- (i32.const 0)
- )
- (call_import $check
- (i32.const 1)
- )
- (if
- (i32.const 10)
- (br $shape$0$continue)
- (br $block$3$break)
+ (block $block$3$break
+ (loop $shape$0$continue
+ (call_import $check
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 1)
+ )
+ (if
+ (i32.const 10)
+ (br $shape$0$continue)
+ (br $block$3$break)
+ )
)
)
(call_import $check
@@ -926,20 +1118,22 @@ optimized:
(i32.const 0)
)
(block $block$7$break
- (loop $block$4$break $shape$1$continue
- (call_import $check
- (i32.const 1)
- )
- (br_if $block$7$break
- (i32.const 0)
- )
- (call_import $check
- (i32.const 2)
- )
- (if
- (i32.const -6)
- (br $block$4$break)
- (br $shape$1$continue)
+ (block $block$4$break
+ (loop $shape$1$continue
+ (call_import $check
+ (i32.const 1)
+ )
+ (br_if $block$7$break
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 2)
+ )
+ (if
+ (i32.const -6)
+ (br $block$4$break)
+ (br $shape$1$continue)
+ )
)
)
(call_import $check
@@ -1050,7 +1244,7 @@ module loaded from binary form:
(start $starter)
(type $vi (func (param i32)))
(type $v (func))
- (import $print-i32 "spectest" "print" (param i32))
+ (import "spectest" "print" (func $print-i32 (param i32)))
(func $starter (type $v)
(call_import $print-i32
(i32.const 1234)
@@ -1289,81 +1483,84 @@ int main() {
expressions[198] = BinaryenIf(the_module, expressions[13], expressions[14], expressions[15]);
expressions[199] = BinaryenIf(the_module, expressions[16], expressions[17], expressions[0]);
expressions[200] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[201] = BinaryenLoop(the_module, "out", "in", expressions[200]);
+ expressions[201] = BinaryenLoop(the_module, "in", expressions[200]);
expressions[202] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[203] = BinaryenLoop(the_module, NULL, "in2", expressions[202]);
- expressions[204] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[205] = BinaryenLoop(the_module, NULL, NULL, expressions[204]);
- expressions[206] = BinaryenBreak(the_module, "the-value", expressions[18], expressions[19]);
- expressions[207] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
- expressions[208] = BinaryenBreak(the_module, "the-nothing", expressions[207], expressions[0]);
- expressions[209] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
- expressions[210] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[209]);
- expressions[211] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]);
+ expressions[203] = BinaryenLoop(the_module, NULL, expressions[202]);
+ expressions[204] = BinaryenBreak(the_module, "the-value", expressions[18], expressions[19]);
+ expressions[205] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ expressions[206] = BinaryenBreak(the_module, "the-nothing", expressions[205], expressions[0]);
+ expressions[207] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
+ expressions[208] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[207]);
+ expressions[209] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]);
{
const char* names[] = { "the-value" };
- expressions[212] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[20], expressions[21]);
+ expressions[210] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[20], expressions[21]);
}
- expressions[213] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ expressions[211] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
{
const char* names[] = { "the-nothing" };
- expressions[214] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[213], expressions[0]);
+ expressions[212] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[211], expressions[0]);
}
{
BinaryenExpressionRef operands[] = { expressions[9], expressions[10], expressions[11], expressions[12] };
- expressions[215] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1);
+ expressions[213] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1);
}
- expressions[216] = BinaryenUnary(the_module, 20, expressions[215]);
+ expressions[214] = BinaryenUnary(the_module, 20, expressions[213]);
{
BinaryenExpressionRef operands[] = { expressions[7], expressions[8] };
- expressions[217] = BinaryenCallImport(the_module, "an-imported", operands, 2, 3);
+ expressions[215] = BinaryenCallImport(the_module, "an-imported", operands, 2, 3);
}
- expressions[218] = BinaryenUnary(the_module, 25, expressions[217]);
- expressions[219] = BinaryenUnary(the_module, 20, expressions[218]);
- expressions[220] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
+ expressions[216] = BinaryenUnary(the_module, 25, expressions[215]);
+ expressions[217] = BinaryenUnary(the_module, 20, expressions[216]);
+ expressions[218] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
{
BinaryenExpressionRef operands[] = { expressions[9], expressions[10], expressions[11], expressions[12] };
- expressions[221] = BinaryenCallIndirect(the_module, expressions[220], operands, 4, "iiIfF");
- }
- expressions[222] = BinaryenUnary(the_module, 20, expressions[221]);
- expressions[223] = BinaryenGetLocal(the_module, 0, 1);
- expressions[224] = BinaryenConst(the_module, BinaryenLiteralInt32(101));
- expressions[225] = BinaryenSetLocal(the_module, 0, expressions[224]);
- expressions[226] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[227] = BinaryenLoad(the_module, 4, 0, 0, 0, 1, expressions[226]);
- expressions[228] = BinaryenConst(the_module, BinaryenLiteralInt32(8));
- expressions[229] = BinaryenLoad(the_module, 1, 1, 2, 4, 2, expressions[228]);
- expressions[230] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
- expressions[231] = BinaryenLoad(the_module, 4, 0, 0, 0, 3, expressions[230]);
- expressions[232] = BinaryenConst(the_module, BinaryenLiteralInt32(9));
- expressions[233] = BinaryenLoad(the_module, 8, 0, 2, 8, 4, expressions[232]);
- expressions[234] = BinaryenStore(the_module, 4, 0, 0, expressions[25], expressions[26]);
- expressions[235] = BinaryenStore(the_module, 8, 2, 4, expressions[27], expressions[28]);
- expressions[236] = BinaryenSelect(the_module, expressions[22], expressions[23], expressions[24]);
- expressions[237] = BinaryenConst(the_module, BinaryenLiteralInt32(1337));
- expressions[238] = BinaryenReturn(the_module, expressions[237]);
- expressions[239] = BinaryenNop(the_module);
- expressions[240] = BinaryenUnreachable(the_module);
+ expressions[219] = BinaryenCallIndirect(the_module, expressions[218], operands, 4, "iiIfF");
+ }
+ expressions[220] = BinaryenUnary(the_module, 20, expressions[219]);
+ expressions[221] = BinaryenGetLocal(the_module, 0, 1);
+ expressions[222] = BinaryenDrop(the_module, expressions[221]);
+ expressions[223] = BinaryenConst(the_module, BinaryenLiteralInt32(101));
+ expressions[224] = BinaryenSetLocal(the_module, 0, expressions[223]);
+ expressions[225] = BinaryenConst(the_module, BinaryenLiteralInt32(102));
+ expressions[226] = BinaryenTeeLocal(the_module, 0, expressions[225]);
+ expressions[227] = BinaryenDrop(the_module, expressions[226]);
+ expressions[228] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[229] = BinaryenLoad(the_module, 4, 0, 0, 0, 1, expressions[228]);
+ expressions[230] = BinaryenConst(the_module, BinaryenLiteralInt32(8));
+ expressions[231] = BinaryenLoad(the_module, 2, 1, 2, 1, 2, expressions[230]);
+ expressions[232] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ expressions[233] = BinaryenLoad(the_module, 4, 0, 0, 0, 3, expressions[232]);
+ expressions[234] = BinaryenConst(the_module, BinaryenLiteralInt32(9));
+ expressions[235] = BinaryenLoad(the_module, 8, 0, 2, 8, 4, expressions[234]);
+ expressions[236] = BinaryenStore(the_module, 4, 0, 0, expressions[25], expressions[26], 1);
+ expressions[237] = BinaryenStore(the_module, 8, 2, 4, expressions[27], expressions[28], 2);
+ expressions[238] = BinaryenSelect(the_module, expressions[22], expressions[23], expressions[24]);
+ expressions[239] = BinaryenConst(the_module, BinaryenLiteralInt32(1337));
+ expressions[240] = BinaryenReturn(the_module, expressions[239]);
+ expressions[241] = BinaryenNop(the_module);
+ expressions[242] = BinaryenUnreachable(the_module);
BinaryenExpressionPrint(expressions[36]);
(f32.neg
(f32.const -33.61199951171875)
)
{
- BinaryenExpressionRef children[] = { expressions[30], expressions[32], expressions[34], expressions[36], expressions[38], expressions[40], expressions[42], expressions[44], expressions[46], expressions[48], expressions[50], expressions[52], expressions[54], expressions[56], expressions[58], expressions[60], expressions[62], expressions[64], expressions[66], expressions[68], expressions[70], expressions[72], expressions[74], expressions[76], expressions[78], expressions[80], expressions[82], expressions[84], expressions[86], expressions[88], expressions[90], expressions[92], expressions[94], expressions[96], expressions[98], expressions[100], expressions[103], expressions[106], expressions[109], expressions[112], expressions[115], expressions[118], expressions[121], expressions[124], expressions[127], expressions[130], expressions[133], expressions[136], expressions[139], expressions[142], expressions[145], expressions[148], expressions[151], expressions[154], expressions[157], expressions[160], expressions[163], expressions[166], expressions[169], expressions[172], expressions[175], expressions[178], expressions[181], expressions[184], expressions[187], expressions[190], expressions[193], expressions[196], expressions[197], expressions[198], expressions[199], expressions[201], expressions[203], expressions[205], expressions[206], expressions[208], expressions[210], expressions[211], expressions[212], expressions[214], expressions[216], expressions[219], expressions[222], expressions[223], expressions[225], expressions[227], expressions[229], expressions[231], expressions[233], expressions[234], expressions[235], expressions[236], expressions[238], expressions[239], expressions[240] };
- expressions[241] = BinaryenBlock(the_module, "the-value", children, 95);
+ BinaryenExpressionRef children[] = { expressions[30], expressions[32], expressions[34], expressions[36], expressions[38], expressions[40], expressions[42], expressions[44], expressions[46], expressions[48], expressions[50], expressions[52], expressions[54], expressions[56], expressions[58], expressions[60], expressions[62], expressions[64], expressions[66], expressions[68], expressions[70], expressions[72], expressions[74], expressions[76], expressions[78], expressions[80], expressions[82], expressions[84], expressions[86], expressions[88], expressions[90], expressions[92], expressions[94], expressions[96], expressions[98], expressions[100], expressions[103], expressions[106], expressions[109], expressions[112], expressions[115], expressions[118], expressions[121], expressions[124], expressions[127], expressions[130], expressions[133], expressions[136], expressions[139], expressions[142], expressions[145], expressions[148], expressions[151], expressions[154], expressions[157], expressions[160], expressions[163], expressions[166], expressions[169], expressions[172], expressions[175], expressions[178], expressions[181], expressions[184], expressions[187], expressions[190], expressions[193], expressions[196], expressions[197], expressions[198], expressions[199], expressions[201], expressions[203], expressions[204], expressions[206], expressions[208], expressions[209], expressions[210], expressions[212], expressions[214], expressions[217], expressions[220], expressions[222], expressions[224], expressions[227], expressions[229], expressions[231], expressions[233], expressions[235], expressions[236], expressions[237], expressions[238], expressions[240], expressions[241], expressions[242] };
+ expressions[243] = BinaryenBlock(the_module, "the-value", children, 95);
}
+ expressions[244] = BinaryenDrop(the_module, expressions[243]);
{
- BinaryenExpressionRef children[] = { expressions[241] };
- expressions[242] = BinaryenBlock(the_module, "the-nothing", children, 1);
+ BinaryenExpressionRef children[] = { expressions[244] };
+ expressions[245] = BinaryenBlock(the_module, "the-nothing", children, 1);
}
- expressions[243] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
+ expressions[246] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
{
- BinaryenExpressionRef children[] = { expressions[242], expressions[243] };
- expressions[244] = BinaryenBlock(the_module, "the-body", children, 2);
+ BinaryenExpressionRef children[] = { expressions[245], expressions[246] };
+ expressions[247] = BinaryenBlock(the_module, "the-body", children, 2);
}
{
BinaryenType varTypes[] = { 1 };
- functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[0], varTypes, 1, expressions[244]);
+ functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[0], varTypes, 1, expressions[247]);
}
{
BinaryenIndex paramTypes[] = { 1, 4 };
@@ -1375,11 +1572,11 @@ int main() {
BinaryenFunctionRef funcs[] = { functions[0] };
BinaryenSetFunctionTable(the_module, funcs, 1);
}
- expressions[245] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
+ expressions[248] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
{
const char segment0[] = { 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100 };
const char* segments[] = { segment0 };
- BinaryenExpressionRef segmentOffsets[] = { expressions[245] };
+ BinaryenExpressionRef segmentOffsets[] = { expressions[248] };
BinaryenIndex segmentSizes[] = { 12 };
BinaryenSetMemory(the_module, 1, 256, "mem", segments, segmentOffsets, segmentSizes, 1);
}
@@ -1387,369 +1584,534 @@ int main() {
BinaryenIndex paramTypes[] = { 0 };
functionTypes[2] = BinaryenAddFunctionType(the_module, "v", 0, paramTypes, 0);
}
- expressions[246] = BinaryenNop(the_module);
+ expressions[249] = BinaryenNop(the_module);
{
BinaryenType varTypes[] = { 0 };
- functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[2], varTypes, 0, expressions[246]);
+ functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[2], varTypes, 0, expressions[249]);
}
BinaryenSetStart(the_module, functions[1]);
{
BinaryenIndex paramTypes[] = { 0 };
functionTypes[3] = BinaryenAddFunctionType(the_module, NULL, 0, paramTypes, 0);
}
+ BinaryenModuleAutoDrop(the_module);
BinaryenModuleValidate(the_module);
BinaryenModulePrint(the_module);
(module
(memory 1 256)
(data (i32.const 10) "hello, world")
- (export "mem" memory)
(start $starter)
(type $iiIfF (func (param i32 i64 f32 f64) (result i32)))
(type $fiF (func (param i32 f64) (result f32)))
(type $v (func))
(type $3 (func))
- (import $an-imported "module" "base" (param i32 f64) (result f32))
- (export "kitchen_sinker" "$kitchen()sinker")
+ (import "module" "base" (func $an-imported (param i32 f64) (result f32)))
+ (export "kitchen_sinker" (func "$kitchen()sinker"))
+ (export "mem" (memory $0))
(table 1 1 anyfunc)
(elem (i32.const 0) "$kitchen()sinker")
(func "$kitchen()sinker" (type $iiIfF) (param $0 i32) (param $1 i64) (param $2 f32) (param $3 f64) (result i32)
(local $4 i32)
(block $the-body
(block $the-nothing
- (block $the-value
- (i32.clz
- (i32.const -10)
- )
- (i64.ctz
- (i64.const -22)
- )
- (i32.popcnt
- (i32.const -10)
- )
- (f32.neg
- (f32.const -33.61199951171875)
- )
- (f64.abs
- (f64.const -9005.841)
- )
- (f32.ceil
- (f32.const -33.61199951171875)
- )
- (f64.floor
- (f64.const -9005.841)
- )
- (f32.trunc
- (f32.const -33.61199951171875)
- )
- (f32.nearest
- (f32.const -33.61199951171875)
- )
- (f64.sqrt
- (f64.const -9005.841)
- )
- (i32.eqz
- (i32.const -10)
- )
- (i64.extend_s/i32
- (i32.const -10)
- )
- (i64.extend_u/i32
- (i32.const -10)
- )
- (i32.wrap/i64
- (i64.const -22)
- )
- (i32.trunc_s/f32
- (f32.const -33.61199951171875)
- )
- (i64.trunc_s/f32
- (f32.const -33.61199951171875)
- )
- (i32.trunc_u/f32
- (f32.const -33.61199951171875)
- )
- (i64.trunc_u/f32
- (f32.const -33.61199951171875)
- )
- (i32.trunc_s/f64
- (f64.const -9005.841)
- )
- (i64.trunc_s/f64
- (f64.const -9005.841)
- )
- (i32.trunc_u/f64
- (f64.const -9005.841)
- )
- (i64.trunc_u/f64
- (f64.const -9005.841)
- )
- (i32.reinterpret/f32
- (f32.const -33.61199951171875)
- )
- (i64.reinterpret/f64
- (f64.const -9005.841)
- )
- (f32.convert_s/i32
- (i32.const -10)
- )
- (f64.convert_s/i32
- (i32.const -10)
- )
- (f32.convert_u/i32
- (i32.const -10)
- )
- (f64.convert_u/i32
- (i32.const -10)
- )
- (f32.convert_s/i64
- (i64.const -22)
- )
- (f64.convert_s/i64
- (i64.const -22)
- )
- (f32.convert_u/i64
- (i64.const -22)
- )
- (f64.convert_u/i64
- (i64.const -22)
- )
- (f64.promote/f32
- (f32.const -33.61199951171875)
- )
- (f32.demote/f64
- (f64.const -9005.841)
- )
- (f32.reinterpret/i32
- (i32.const -10)
- )
- (f64.reinterpret/i64
- (i64.const -22)
- )
- (i32.add
- (i32.const -10)
- (i32.const -11)
- )
- (f64.sub
- (f64.const -9005.841)
- (f64.const -9007.333)
- )
- (i32.div_s
- (i32.const -10)
- (i32.const -11)
- )
- (i64.div_u
- (i64.const -22)
- (i64.const -23)
- )
- (i64.rem_s
- (i64.const -22)
- (i64.const -23)
- )
- (i32.rem_u
- (i32.const -10)
- (i32.const -11)
- )
- (i32.and
- (i32.const -10)
- (i32.const -11)
- )
- (i64.or
- (i64.const -22)
- (i64.const -23)
- )
- (i32.xor
- (i32.const -10)
- (i32.const -11)
- )
- (i64.shl
- (i64.const -22)
- (i64.const -23)
- )
- (i64.shr_u
- (i64.const -22)
- (i64.const -23)
- )
- (i32.shr_s
- (i32.const -10)
- (i32.const -11)
- )
- (i32.rotl
- (i32.const -10)
- (i32.const -11)
- )
- (i64.rotr
- (i64.const -22)
- (i64.const -23)
- )
- (f32.div
- (f32.const -33.61199951171875)
- (f32.const -62.5)
- )
- (f64.copysign
- (f64.const -9005.841)
- (f64.const -9007.333)
- )
- (f32.min
- (f32.const -33.61199951171875)
- (f32.const -62.5)
- )
- (f64.max
- (f64.const -9005.841)
- (f64.const -9007.333)
- )
- (i32.eq
- (i32.const -10)
- (i32.const -11)
- )
- (f32.ne
- (f32.const -33.61199951171875)
- (f32.const -62.5)
- )
- (i32.lt_s
- (i32.const -10)
- (i32.const -11)
- )
- (i64.lt_u
- (i64.const -22)
- (i64.const -23)
- )
- (i64.le_s
- (i64.const -22)
- (i64.const -23)
- )
- (i32.le_u
- (i32.const -10)
- (i32.const -11)
- )
- (i64.gt_s
- (i64.const -22)
- (i64.const -23)
- )
- (i32.gt_u
- (i32.const -10)
- (i32.const -11)
- )
- (i32.ge_s
- (i32.const -10)
- (i32.const -11)
- )
- (i64.ge_u
- (i64.const -22)
- (i64.const -23)
- )
- (f32.lt
- (f32.const -33.61199951171875)
- (f32.const -62.5)
- )
- (f64.le
- (f64.const -9005.841)
- (f64.const -9007.333)
- )
- (f64.gt
- (f64.const -9005.841)
- (f64.const -9007.333)
- )
- (f32.ge
- (f32.const -33.61199951171875)
- (f32.const -62.5)
- )
- (block
- )
- (if
- (i32.const 1)
- (i32.const 2)
- (i32.const 3)
- )
- (if
- (i32.const 4)
- (i32.const 5)
- )
- (loop $out $in
- (i32.const 0)
- )
- (loop $in2
- (i32.const 0)
- )
- (loop
- (i32.const 0)
- )
- (br_if $the-value
- (i32.const 1)
- (i32.const 0)
- )
- (br_if $the-nothing
- (i32.const 2)
- )
- (br $the-value
- (i32.const 3)
- )
- (br $the-nothing)
- (br_table $the-value $the-value
- (i32.const 1)
- (i32.const 0)
- )
- (br_table $the-nothing $the-nothing
- (i32.const 2)
- )
- (i32.eqz
- (call "$kitchen()sinker"
- (i32.const 13)
- (i64.const 37)
- (f32.const 1.2999999523162842)
- (f64.const 3.7)
+ (drop
+ (block $the-value
+ (drop
+ (i32.clz
+ (i32.const -10)
+ )
)
- )
- (i32.eqz
- (i32.trunc_s/f32
- (call_import $an-imported
- (i32.const 13)
- (f64.const 3.7)
+ (drop
+ (i64.ctz
+ (i64.const -22)
)
)
- )
- (i32.eqz
- (call_indirect $iiIfF
- (i32.const 2449)
- (i32.const 13)
- (i64.const 37)
- (f32.const 1.2999999523162842)
- (f64.const 3.7)
+ (drop
+ (i32.popcnt
+ (i32.const -10)
+ )
)
+ (drop
+ (f32.neg
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (f64.abs
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (f32.ceil
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (f64.floor
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (f32.trunc
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (f32.nearest
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (f64.sqrt
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.const -10)
+ )
+ )
+ (drop
+ (i64.extend_s/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (i64.extend_u/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (i32.wrap/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (i32.trunc_s/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (i64.trunc_s/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (i32.trunc_u/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (i64.trunc_u/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (i32.trunc_s/f64
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (i64.trunc_s/f64
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (i32.trunc_u/f64
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (i64.trunc_u/f64
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (i32.reinterpret/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (i64.reinterpret/f64
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (f32.convert_s/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (f64.convert_s/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (f32.convert_u/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (f64.convert_u/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (f32.convert_s/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (f64.convert_s/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (f32.convert_u/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (f64.convert_u/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (f64.promote/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (f32.demote/f64
+ (f64.const -9005.841)
+ )
+ )
+ (drop
+ (f32.reinterpret/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (f64.reinterpret/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (i32.add
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (f64.sub
+ (f64.const -9005.841)
+ (f64.const -9007.333)
+ )
+ )
+ (drop
+ (i32.div_s
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.div_u
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i64.rem_s
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i32.rem_u
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i32.and
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.or
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i32.xor
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.shl
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i64.shr_u
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i32.shr_s
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i32.rotl
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.rotr
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (f32.div
+ (f32.const -33.61199951171875)
+ (f32.const -62.5)
+ )
+ )
+ (drop
+ (f64.copysign
+ (f64.const -9005.841)
+ (f64.const -9007.333)
+ )
+ )
+ (drop
+ (f32.min
+ (f32.const -33.61199951171875)
+ (f32.const -62.5)
+ )
+ )
+ (drop
+ (f64.max
+ (f64.const -9005.841)
+ (f64.const -9007.333)
+ )
+ )
+ (drop
+ (i32.eq
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (f32.ne
+ (f32.const -33.61199951171875)
+ (f32.const -62.5)
+ )
+ )
+ (drop
+ (i32.lt_s
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.lt_u
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i64.le_s
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i32.le_u
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.gt_s
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i32.gt_u
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i32.ge_s
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.ge_u
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (f32.lt
+ (f32.const -33.61199951171875)
+ (f32.const -62.5)
+ )
+ )
+ (drop
+ (f64.le
+ (f64.const -9005.841)
+ (f64.const -9007.333)
+ )
+ )
+ (drop
+ (f64.gt
+ (f64.const -9005.841)
+ (f64.const -9007.333)
+ )
+ )
+ (drop
+ (f32.ge
+ (f32.const -33.61199951171875)
+ (f32.const -62.5)
+ )
+ )
+ (block
+ )
+ (drop
+ (if
+ (i32.const 1)
+ (i32.const 2)
+ (i32.const 3)
+ )
+ )
+ (if
+ (i32.const 4)
+ (i32.const 5)
+ )
+ (drop
+ (loop $in
+ (i32.const 0)
+ )
+ )
+ (drop
+ (loop
+ (i32.const 0)
+ )
+ )
+ (br_if $the-value
+ (i32.const 1)
+ (i32.const 0)
+ )
+ (br_if $the-nothing
+ (i32.const 2)
+ )
+ (br $the-value
+ (i32.const 3)
+ )
+ (br $the-nothing)
+ (br_table $the-value $the-value
+ (i32.const 1)
+ (i32.const 0)
+ )
+ (br_table $the-nothing $the-nothing
+ (i32.const 2)
+ )
+ (drop
+ (i32.eqz
+ (call "$kitchen()sinker"
+ (i32.const 13)
+ (i64.const 37)
+ (f32.const 1.2999999523162842)
+ (f64.const 3.7)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.trunc_s/f32
+ (call_import $an-imported
+ (i32.const 13)
+ (f64.const 3.7)
+ )
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (call_indirect $iiIfF
+ (i32.const 13)
+ (i64.const 37)
+ (f32.const 1.2999999523162842)
+ (f64.const 3.7)
+ (i32.const 2449)
+ )
+ )
+ )
+ (drop
+ (get_local $0)
+ )
+ (set_local $0
+ (i32.const 101)
+ )
+ (drop
+ (tee_local $0
+ (i32.const 102)
+ )
+ )
+ (drop
+ (i32.load
+ (i32.const 1)
+ )
+ )
+ (drop
+ (i64.load16_s offset=2 align=1
+ (i32.const 8)
+ )
+ )
+ (drop
+ (f32.load
+ (i32.const 2)
+ )
+ )
+ (drop
+ (f64.load offset=2
+ (i32.const 9)
+ )
+ )
+ (i32.store
+ (i32.const 10)
+ (i32.const 11)
+ )
+ (i64.store offset=2 align=4
+ (i32.const 110)
+ (i64.const 111)
+ )
+ (drop
+ (select
+ (i32.const 3)
+ (i32.const 5)
+ (i32.const 1)
+ )
+ )
+ (return
+ (i32.const 1337)
+ )
+ (nop)
+ (unreachable)
)
- (get_local $0)
- (set_local $0
- (i32.const 101)
- )
- (i32.load
- (i32.const 1)
- )
- (i64.load8_s offset=2 align=4
- (i32.const 8)
- )
- (f32.load
- (i32.const 2)
- )
- (f64.load offset=2
- (i32.const 9)
- )
- (i32.store
- (i32.const 10)
- (i32.const 11)
- )
- (i64.store offset=2 align=4
- (i32.const 110)
- (i64.const 111)
- )
- (select
- (i32.const 3)
- (i32.const 5)
- (i32.const 1)
- )
- (return
- (i32.const 1337)
- )
- (nop)
- (unreachable)
)
)
(i32.const 42)
@@ -1820,231 +2182,211 @@ int main() {
}
relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[12]);
expressions[13] = BinaryenConst(the_module, BinaryenLiteralInt32(77));
- RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[13]);
- expressions[14] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
+ expressions[14] = BinaryenDrop(the_module, expressions[13]);
+ RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[14]);
+ expressions[15] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
{
BinaryenType varTypes[] = { 1 };
- functions[2] = BinaryenAddFunction(the_module, "two-blocks-plus-code", functionTypes[0], varTypes, 1, expressions[14]);
+ functions[2] = BinaryenAddFunction(the_module, "two-blocks-plus-code", functionTypes[0], varTypes, 1, expressions[15]);
}
the_relooper = RelooperCreate();
- expressions[15] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[16] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
{
- BinaryenExpressionRef operands[] = { expressions[15] };
- expressions[16] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[16] };
+ expressions[17] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[16]);
- expressions[17] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[17]);
+ expressions[18] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
{
- BinaryenExpressionRef operands[] = { expressions[17] };
- expressions[18] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[18] };
+ expressions[19] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[18]);
+ relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[19]);
RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[0]);
RelooperAddBranch(relooperBlocks[1], relooperBlocks[0], expressions[0], expressions[0]);
- expressions[19] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
+ expressions[20] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
{
BinaryenType varTypes[] = { 1 };
- functions[3] = BinaryenAddFunction(the_module, "loop", functionTypes[0], varTypes, 1, expressions[19]);
+ functions[3] = BinaryenAddFunction(the_module, "loop", functionTypes[0], varTypes, 1, expressions[20]);
}
the_relooper = RelooperCreate();
- expressions[20] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[21] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
{
- BinaryenExpressionRef operands[] = { expressions[20] };
- expressions[21] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[21] };
+ expressions[22] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[21]);
- expressions[22] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[22]);
+ expressions[23] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
{
- BinaryenExpressionRef operands[] = { expressions[22] };
- expressions[23] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[23] };
+ expressions[24] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[23]);
- expressions[24] = BinaryenConst(the_module, BinaryenLiteralInt32(33));
- RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[24]);
- expressions[25] = BinaryenConst(the_module, BinaryenLiteralInt32(-66));
- RelooperAddBranch(relooperBlocks[1], relooperBlocks[0], expressions[0], expressions[25]);
- expressions[26] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
+ relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[24]);
+ expressions[25] = BinaryenConst(the_module, BinaryenLiteralInt32(33));
+ expressions[26] = BinaryenDrop(the_module, expressions[25]);
+ RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[26]);
+ expressions[27] = BinaryenConst(the_module, BinaryenLiteralInt32(-66));
+ expressions[28] = BinaryenDrop(the_module, expressions[27]);
+ RelooperAddBranch(relooperBlocks[1], relooperBlocks[0], expressions[0], expressions[28]);
+ expressions[29] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
{
BinaryenType varTypes[] = { 1 };
- functions[4] = BinaryenAddFunction(the_module, "loop-plus-code", functionTypes[0], varTypes, 1, expressions[26]);
+ functions[4] = BinaryenAddFunction(the_module, "loop-plus-code", functionTypes[0], varTypes, 1, expressions[29]);
}
the_relooper = RelooperCreate();
- expressions[27] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[30] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
{
- BinaryenExpressionRef operands[] = { expressions[27] };
- expressions[28] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[30] };
+ expressions[31] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[28]);
- expressions[29] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[31]);
+ expressions[32] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
{
- BinaryenExpressionRef operands[] = { expressions[29] };
- expressions[30] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[32] };
+ expressions[33] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[30]);
- expressions[31] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[33]);
+ expressions[34] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
{
- BinaryenExpressionRef operands[] = { expressions[31] };
- expressions[32] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[34] };
+ expressions[35] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[32]);
- expressions[33] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
- RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[33], expressions[0]);
+ relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[35]);
+ expressions[36] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
+ RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[36], expressions[0]);
RelooperAddBranch(relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[0]);
- expressions[34] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
+ expressions[37] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
{
BinaryenType varTypes[] = { 1 };
- functions[5] = BinaryenAddFunction(the_module, "split", functionTypes[0], varTypes, 1, expressions[34]);
+ functions[5] = BinaryenAddFunction(the_module, "split", functionTypes[0], varTypes, 1, expressions[37]);
}
the_relooper = RelooperCreate();
- expressions[35] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[38] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
{
- BinaryenExpressionRef operands[] = { expressions[35] };
- expressions[36] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[38] };
+ expressions[39] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[36]);
- expressions[37] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[39]);
+ expressions[40] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
{
- BinaryenExpressionRef operands[] = { expressions[37] };
- expressions[38] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[40] };
+ expressions[41] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[38]);
- expressions[39] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[41]);
+ expressions[42] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
{
- BinaryenExpressionRef operands[] = { expressions[39] };
- expressions[40] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[42] };
+ expressions[43] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[40]);
- expressions[41] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
- expressions[42] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
- RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[42], expressions[41]);
- expressions[43] = BinaryenConst(the_module, BinaryenLiteralInt32(20));
- RelooperAddBranch(relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[43]);
- expressions[44] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
+ relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[43]);
+ expressions[44] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
+ expressions[45] = BinaryenDrop(the_module, expressions[44]);
+ expressions[46] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
+ RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[46], expressions[45]);
+ expressions[47] = BinaryenConst(the_module, BinaryenLiteralInt32(20));
+ expressions[48] = BinaryenDrop(the_module, expressions[47]);
+ RelooperAddBranch(relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[48]);
+ expressions[49] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
{
BinaryenType varTypes[] = { 1 };
- functions[6] = BinaryenAddFunction(the_module, "split-plus-code", functionTypes[0], varTypes, 1, expressions[44]);
+ functions[6] = BinaryenAddFunction(the_module, "split-plus-code", functionTypes[0], varTypes, 1, expressions[49]);
}
the_relooper = RelooperCreate();
- expressions[45] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[50] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
{
- BinaryenExpressionRef operands[] = { expressions[45] };
- expressions[46] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[50] };
+ expressions[51] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[46]);
- expressions[47] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[51]);
+ expressions[52] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
{
- BinaryenExpressionRef operands[] = { expressions[47] };
- expressions[48] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[52] };
+ expressions[53] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[48]);
- expressions[49] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[53]);
+ expressions[54] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
{
- BinaryenExpressionRef operands[] = { expressions[49] };
- expressions[50] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[54] };
+ expressions[55] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[50]);
- expressions[51] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
- RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[51], expressions[0]);
+ relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[55]);
+ expressions[56] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
+ RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[56], expressions[0]);
RelooperAddBranch(relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[0]);
RelooperAddBranch(relooperBlocks[1], relooperBlocks[2], expressions[0], expressions[0]);
- expressions[52] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
+ expressions[57] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
{
BinaryenType varTypes[] = { 1 };
- functions[7] = BinaryenAddFunction(the_module, "if", functionTypes[0], varTypes, 1, expressions[52]);
+ functions[7] = BinaryenAddFunction(the_module, "if", functionTypes[0], varTypes, 1, expressions[57]);
}
the_relooper = RelooperCreate();
- expressions[53] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[58] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
{
- BinaryenExpressionRef operands[] = { expressions[53] };
- expressions[54] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[58] };
+ expressions[59] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[54]);
- expressions[55] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[59]);
+ expressions[60] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
{
- BinaryenExpressionRef operands[] = { expressions[55] };
- expressions[56] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[60] };
+ expressions[61] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[56]);
- expressions[57] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[61]);
+ expressions[62] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
{
- BinaryenExpressionRef operands[] = { expressions[57] };
- expressions[58] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[62] };
+ expressions[63] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[58]);
- expressions[59] = BinaryenConst(the_module, BinaryenLiteralInt32(-1));
- expressions[60] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
- RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[60], expressions[59]);
- expressions[61] = BinaryenConst(the_module, BinaryenLiteralInt32(-2));
- RelooperAddBranch(relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[61]);
- expressions[62] = BinaryenConst(the_module, BinaryenLiteralInt32(-3));
- RelooperAddBranch(relooperBlocks[1], relooperBlocks[2], expressions[0], expressions[62]);
- expressions[63] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
+ relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[63]);
+ expressions[64] = BinaryenConst(the_module, BinaryenLiteralInt32(-1));
+ expressions[65] = BinaryenDrop(the_module, expressions[64]);
+ expressions[66] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
+ RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[66], expressions[65]);
+ expressions[67] = BinaryenConst(the_module, BinaryenLiteralInt32(-2));
+ expressions[68] = BinaryenDrop(the_module, expressions[67]);
+ RelooperAddBranch(relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[68]);
+ expressions[69] = BinaryenConst(the_module, BinaryenLiteralInt32(-3));
+ expressions[70] = BinaryenDrop(the_module, expressions[69]);
+ RelooperAddBranch(relooperBlocks[1], relooperBlocks[2], expressions[0], expressions[70]);
+ expressions[71] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
{
BinaryenType varTypes[] = { 1 };
- functions[8] = BinaryenAddFunction(the_module, "if-plus-code", functionTypes[0], varTypes, 1, expressions[63]);
+ functions[8] = BinaryenAddFunction(the_module, "if-plus-code", functionTypes[0], varTypes, 1, expressions[71]);
}
the_relooper = RelooperCreate();
- expressions[64] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- {
- BinaryenExpressionRef operands[] = { expressions[64] };
- expressions[65] = BinaryenCallImport(the_module, "check", operands, 1, 0);
- }
- relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[65]);
- expressions[66] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- {
- BinaryenExpressionRef operands[] = { expressions[66] };
- expressions[67] = BinaryenCallImport(the_module, "check", operands, 1, 0);
- }
- relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[67]);
- expressions[68] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
- {
- BinaryenExpressionRef operands[] = { expressions[68] };
- expressions[69] = BinaryenCallImport(the_module, "check", operands, 1, 0);
- }
- relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[69]);
- expressions[70] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
+ expressions[72] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
{
- BinaryenExpressionRef operands[] = { expressions[70] };
- expressions[71] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[72] };
+ expressions[73] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[3] = RelooperAddBlock(the_relooper, expressions[71]);
- expressions[72] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
- RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[72], expressions[0]);
- RelooperAddBranch(relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[0]);
- RelooperAddBranch(relooperBlocks[1], relooperBlocks[3], expressions[0], expressions[0]);
- RelooperAddBranch(relooperBlocks[2], relooperBlocks[3], expressions[0], expressions[0]);
- expressions[73] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
- {
- BinaryenType varTypes[] = { 1 };
- functions[9] = BinaryenAddFunction(the_module, "if-else", functionTypes[0], varTypes, 1, expressions[73]);
- }
- the_relooper = RelooperCreate();
- expressions[74] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[73]);
+ expressions[74] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
{
BinaryenExpressionRef operands[] = { expressions[74] };
expressions[75] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[75]);
- expressions[76] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[75]);
+ expressions[76] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
{
BinaryenExpressionRef operands[] = { expressions[76] };
expressions[77] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[77]);
- expressions[78] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[77]);
+ expressions[78] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
{
BinaryenExpressionRef operands[] = { expressions[78] };
expressions[79] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[79]);
- RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[0]);
- expressions[80] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
- RelooperAddBranch(relooperBlocks[1], relooperBlocks[0], expressions[80], expressions[0]);
- RelooperAddBranch(relooperBlocks[1], relooperBlocks[2], expressions[0], expressions[0]);
+ relooperBlocks[3] = RelooperAddBlock(the_relooper, expressions[79]);
+ expressions[80] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
+ RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[80], expressions[0]);
+ RelooperAddBranch(relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[0]);
+ RelooperAddBranch(relooperBlocks[1], relooperBlocks[3], expressions[0], expressions[0]);
+ RelooperAddBranch(relooperBlocks[2], relooperBlocks[3], expressions[0], expressions[0]);
expressions[81] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
{
BinaryenType varTypes[] = { 1 };
- functions[10] = BinaryenAddFunction(the_module, "loop-tail", functionTypes[0], varTypes, 1, expressions[81]);
+ functions[9] = BinaryenAddFunction(the_module, "if-else", functionTypes[0], varTypes, 1, expressions[81]);
}
the_relooper = RelooperCreate();
expressions[82] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
@@ -2065,145 +2407,178 @@ int main() {
expressions[87] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[87]);
- expressions[88] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
+ RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[0]);
+ expressions[88] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
+ RelooperAddBranch(relooperBlocks[1], relooperBlocks[0], expressions[88], expressions[0]);
+ RelooperAddBranch(relooperBlocks[1], relooperBlocks[2], expressions[0], expressions[0]);
+ expressions[89] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
{
- BinaryenExpressionRef operands[] = { expressions[88] };
- expressions[89] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenType varTypes[] = { 1 };
+ functions[10] = BinaryenAddFunction(the_module, "loop-tail", functionTypes[0], varTypes, 1, expressions[89]);
}
- relooperBlocks[3] = RelooperAddBlock(the_relooper, expressions[89]);
- expressions[90] = BinaryenConst(the_module, BinaryenLiteralInt32(4));
+ the_relooper = RelooperCreate();
+ expressions[90] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
{
BinaryenExpressionRef operands[] = { expressions[90] };
expressions[91] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[4] = RelooperAddBlock(the_relooper, expressions[91]);
- expressions[92] = BinaryenConst(the_module, BinaryenLiteralInt32(5));
+ relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[91]);
+ expressions[92] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
{
BinaryenExpressionRef operands[] = { expressions[92] };
expressions[93] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[5] = RelooperAddBlock(the_relooper, expressions[93]);
- expressions[94] = BinaryenConst(the_module, BinaryenLiteralInt32(6));
+ relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[93]);
+ expressions[94] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
{
BinaryenExpressionRef operands[] = { expressions[94] };
expressions[95] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[6] = RelooperAddBlock(the_relooper, expressions[95]);
- expressions[96] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
- RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[96]);
- expressions[97] = BinaryenConst(the_module, BinaryenLiteralInt32(-2));
- RelooperAddBranch(relooperBlocks[1], relooperBlocks[2], expressions[97], expressions[0]);
- expressions[98] = BinaryenConst(the_module, BinaryenLiteralInt32(20));
- RelooperAddBranch(relooperBlocks[1], relooperBlocks[6], expressions[0], expressions[98]);
- expressions[99] = BinaryenConst(the_module, BinaryenLiteralInt32(-6));
- RelooperAddBranch(relooperBlocks[2], relooperBlocks[3], expressions[99], expressions[0]);
- expressions[100] = BinaryenConst(the_module, BinaryenLiteralInt32(30));
- RelooperAddBranch(relooperBlocks[2], relooperBlocks[1], expressions[0], expressions[100]);
- expressions[101] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- RelooperAddBranch(relooperBlocks[3], relooperBlocks[4], expressions[101], expressions[0]);
+ relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[95]);
+ expressions[96] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
+ {
+ BinaryenExpressionRef operands[] = { expressions[96] };
+ expressions[97] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ }
+ relooperBlocks[3] = RelooperAddBlock(the_relooper, expressions[97]);
+ expressions[98] = BinaryenConst(the_module, BinaryenLiteralInt32(4));
+ {
+ BinaryenExpressionRef operands[] = { expressions[98] };
+ expressions[99] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ }
+ relooperBlocks[4] = RelooperAddBlock(the_relooper, expressions[99]);
+ expressions[100] = BinaryenConst(the_module, BinaryenLiteralInt32(5));
+ {
+ BinaryenExpressionRef operands[] = { expressions[100] };
+ expressions[101] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ }
+ relooperBlocks[5] = RelooperAddBlock(the_relooper, expressions[101]);
+ expressions[102] = BinaryenConst(the_module, BinaryenLiteralInt32(6));
+ {
+ BinaryenExpressionRef operands[] = { expressions[102] };
+ expressions[103] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ }
+ relooperBlocks[6] = RelooperAddBlock(the_relooper, expressions[103]);
+ expressions[104] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
+ expressions[105] = BinaryenDrop(the_module, expressions[104]);
+ RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[105]);
+ expressions[106] = BinaryenConst(the_module, BinaryenLiteralInt32(-2));
+ RelooperAddBranch(relooperBlocks[1], relooperBlocks[2], expressions[106], expressions[0]);
+ expressions[107] = BinaryenConst(the_module, BinaryenLiteralInt32(20));
+ expressions[108] = BinaryenDrop(the_module, expressions[107]);
+ RelooperAddBranch(relooperBlocks[1], relooperBlocks[6], expressions[0], expressions[108]);
+ expressions[109] = BinaryenConst(the_module, BinaryenLiteralInt32(-6));
+ RelooperAddBranch(relooperBlocks[2], relooperBlocks[3], expressions[109], expressions[0]);
+ expressions[110] = BinaryenConst(the_module, BinaryenLiteralInt32(30));
+ expressions[111] = BinaryenDrop(the_module, expressions[110]);
+ RelooperAddBranch(relooperBlocks[2], relooperBlocks[1], expressions[0], expressions[111]);
+ expressions[112] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
+ RelooperAddBranch(relooperBlocks[3], relooperBlocks[4], expressions[112], expressions[0]);
RelooperAddBranch(relooperBlocks[3], relooperBlocks[5], expressions[0], expressions[0]);
RelooperAddBranch(relooperBlocks[4], relooperBlocks[5], expressions[0], expressions[0]);
- expressions[102] = BinaryenConst(the_module, BinaryenLiteralInt32(40));
- RelooperAddBranch(relooperBlocks[5], relooperBlocks[6], expressions[0], expressions[102]);
- expressions[103] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
+ expressions[113] = BinaryenConst(the_module, BinaryenLiteralInt32(40));
+ expressions[114] = BinaryenDrop(the_module, expressions[113]);
+ RelooperAddBranch(relooperBlocks[5], relooperBlocks[6], expressions[0], expressions[114]);
+ expressions[115] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
{
BinaryenType varTypes[] = { 1 };
- functions[11] = BinaryenAddFunction(the_module, "nontrivial-loop-plus-phi-to-head", functionTypes[0], varTypes, 1, expressions[103]);
+ functions[11] = BinaryenAddFunction(the_module, "nontrivial-loop-plus-phi-to-head", functionTypes[0], varTypes, 1, expressions[115]);
}
the_relooper = RelooperCreate();
- expressions[104] = BinaryenConst(the_module, BinaryenLiteralInt32(-99));
- expressions[105] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[116] = BinaryenConst(the_module, BinaryenLiteralInt32(-99));
+ expressions[117] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
{
- BinaryenExpressionRef operands[] = { expressions[105] };
- expressions[106] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[117] };
+ expressions[118] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[0] = RelooperAddBlockWithSwitch(the_relooper, expressions[106], expressions[104]);
- expressions[107] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ relooperBlocks[0] = RelooperAddBlockWithSwitch(the_relooper, expressions[118], expressions[116]);
+ expressions[119] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
{
- BinaryenExpressionRef operands[] = { expressions[107] };
- expressions[108] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[119] };
+ expressions[120] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[108]);
- expressions[109] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[120]);
+ expressions[121] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
{
- BinaryenExpressionRef operands[] = { expressions[109] };
- expressions[110] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[121] };
+ expressions[122] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[110]);
- expressions[111] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
+ relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[122]);
+ expressions[123] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
{
- BinaryenExpressionRef operands[] = { expressions[111] };
- expressions[112] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[123] };
+ expressions[124] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[3] = RelooperAddBlock(the_relooper, expressions[112]);
+ relooperBlocks[3] = RelooperAddBlock(the_relooper, expressions[124]);
{
BinaryenIndex indexes[] = { 2, 5 };
RelooperAddBranchForSwitch(relooperBlocks[0], relooperBlocks[1], indexes, 2, expressions[0]);
}
- expressions[113] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
+ expressions[125] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
+ expressions[126] = BinaryenDrop(the_module, expressions[125]);
{
BinaryenIndex indexes[] = { 4 };
- RelooperAddBranchForSwitch(relooperBlocks[0], relooperBlocks[2], indexes, 1, expressions[113]);
+ RelooperAddBranchForSwitch(relooperBlocks[0], relooperBlocks[2], indexes, 1, expressions[126]);
}
{
BinaryenIndex indexes[] = { 0 };
RelooperAddBranchForSwitch(relooperBlocks[0], relooperBlocks[3], indexes, 0, expressions[0]);
}
- expressions[114] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
+ expressions[127] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
{
BinaryenType varTypes[] = { 1 };
- functions[12] = BinaryenAddFunction(the_module, "switch", functionTypes[0], varTypes, 1, expressions[114]);
+ functions[12] = BinaryenAddFunction(the_module, "switch", functionTypes[0], varTypes, 1, expressions[127]);
}
the_relooper = RelooperCreate();
- expressions[115] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[128] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
{
- BinaryenExpressionRef operands[] = { expressions[115] };
- expressions[116] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[128] };
+ expressions[129] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[116]);
- expressions[117] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[129]);
+ expressions[130] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
{
- BinaryenExpressionRef operands[] = { expressions[117] };
- expressions[118] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[130] };
+ expressions[131] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[118]);
- expressions[119] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[131]);
+ expressions[132] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
{
- BinaryenExpressionRef operands[] = { expressions[119] };
- expressions[120] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[132] };
+ expressions[133] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[120]);
- expressions[121] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
- RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[121], expressions[0]);
+ relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[133]);
+ expressions[134] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
+ RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[134], expressions[0]);
RelooperAddBranch(relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[0]);
RelooperAddBranch(relooperBlocks[1], relooperBlocks[2], expressions[0], expressions[0]);
RelooperAddBranch(relooperBlocks[2], relooperBlocks[1], expressions[0], expressions[0]);
- expressions[122] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 3, the_module);
+ expressions[135] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 3, the_module);
{
BinaryenType varTypes[] = { 1, 1, 2, 1, 3, 4, 1 };
- functions[13] = BinaryenAddFunction(the_module, "duffs-device", functionTypes[0], varTypes, 7, expressions[122]);
+ functions[13] = BinaryenAddFunction(the_module, "duffs-device", functionTypes[0], varTypes, 7, expressions[135]);
}
{
BinaryenIndex paramTypes[] = { 0 };
functionTypes[2] = BinaryenAddFunctionType(the_module, "i", 1, paramTypes, 0);
}
the_relooper = RelooperCreate();
- expressions[123] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
+ expressions[136] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
{
- BinaryenExpressionRef operands[] = { expressions[123] };
- expressions[124] = BinaryenCallImport(the_module, "check", operands, 1, 0);
+ BinaryenExpressionRef operands[] = { expressions[136] };
+ expressions[137] = BinaryenCallImport(the_module, "check", operands, 1, 0);
}
- expressions[125] = BinaryenConst(the_module, BinaryenLiteralInt32(1337));
- expressions[126] = BinaryenReturn(the_module, expressions[125]);
+ expressions[138] = BinaryenConst(the_module, BinaryenLiteralInt32(1337));
+ expressions[139] = BinaryenReturn(the_module, expressions[138]);
{
- BinaryenExpressionRef children[] = { expressions[124], expressions[126] };
- expressions[127] = BinaryenBlock(the_module, "the-list", children, 2);
+ BinaryenExpressionRef children[] = { expressions[137], expressions[139] };
+ expressions[140] = BinaryenBlock(the_module, "the-list", children, 2);
}
- relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[127]);
- expressions[128] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
+ relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[140]);
+ expressions[141] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0, the_module);
{
BinaryenType varTypes[] = { 1 };
- functions[14] = BinaryenAddFunction(the_module, "return", functionTypes[2], varTypes, 1, expressions[128]);
+ functions[14] = BinaryenAddFunction(the_module, "return", functionTypes[2], varTypes, 1, expressions[141]);
}
raw:
BinaryenModulePrint(the_module);
@@ -2212,7 +2587,7 @@ raw:
(type $v (func))
(type $vi (func (param i32)))
(type $i (func (result i32)))
- (import $check "module" "check" (param i32))
+ (import "module" "check" (func $check (param i32)))
(func $just-one-block (type $v)
(local $0 i32)
(call_import $check
@@ -2242,7 +2617,9 @@ raw:
(i32.const 0)
)
(block
- (i32.const 77)
+ (drop
+ (i32.const 77)
+ )
(br $block$2$break)
)
)
@@ -2281,7 +2658,9 @@ raw:
(i32.const 0)
)
(block
- (i32.const 33)
+ (drop
+ (i32.const 33)
+ )
(br $block$2$break)
)
)
@@ -2290,7 +2669,9 @@ raw:
(i32.const 1)
)
(block
- (i32.const -66)
+ (drop
+ (i32.const -66)
+ )
(br $shape$0$continue)
)
)
@@ -2323,7 +2704,9 @@ raw:
(if
(i32.const 55)
(block
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(block
(call_import $check
(i32.const 1)
@@ -2331,7 +2714,9 @@ raw:
)
)
(block
- (i32.const 20)
+ (drop
+ (i32.const 20)
+ )
(block
(call_import $check
(i32.const 2)
@@ -2374,19 +2759,25 @@ raw:
(if
(i32.const 55)
(block
- (i32.const -1)
+ (drop
+ (i32.const -1)
+ )
(block
(call_import $check
(i32.const 1)
)
(block
- (i32.const -3)
+ (drop
+ (i32.const -3)
+ )
(br $block$3$break)
)
)
)
(block
- (i32.const -2)
+ (drop
+ (i32.const -2)
+ )
(br $block$3$break)
)
)
@@ -2466,7 +2857,9 @@ raw:
(i32.const 0)
)
(block
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(br $block$2$break)
)
)
@@ -2482,7 +2875,9 @@ raw:
(i32.const -2)
(br $block$3$break)
(block
- (i32.const 20)
+ (drop
+ (i32.const 20)
+ )
(br $block$7$break)
)
)
@@ -2495,7 +2890,9 @@ raw:
(i32.const -6)
(br $block$4$break)
(block
- (i32.const 30)
+ (drop
+ (i32.const 30)
+ )
(br $shape$1$continue)
)
)
@@ -2525,7 +2922,9 @@ raw:
(i32.const 5)
)
(block
- (i32.const 40)
+ (drop
+ (i32.const 40)
+ )
(br $block$7$break)
)
)
@@ -2561,7 +2960,9 @@ raw:
(br $switch$1$leave)
)
(block
- (i32.const 55)
+ (drop
+ (i32.const 55)
+ )
(block
(call_import $check
(i32.const 2)
@@ -2677,7 +3078,7 @@ optimized:
(type $v (func))
(type $vi (func (param i32)))
(type $i (func (result i32)))
- (import $check "module" "check" (param i32))
+ (import "module" "check" (func $check (param i32)))
(func $just-one-block (type $v)
(call_import $check
(i32.const 1337)
@@ -2748,17 +3149,19 @@ optimized:
)
)
(func $loop-tail (type $v)
- (loop $block$3$break $shape$0$continue
- (call_import $check
- (i32.const 0)
- )
- (call_import $check
- (i32.const 1)
- )
- (if
- (i32.const 10)
- (br $shape$0$continue)
- (br $block$3$break)
+ (block $block$3$break
+ (loop $shape$0$continue
+ (call_import $check
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 1)
+ )
+ (if
+ (i32.const 10)
+ (br $shape$0$continue)
+ (br $block$3$break)
+ )
)
)
(call_import $check
@@ -2770,20 +3173,22 @@ optimized:
(i32.const 0)
)
(block $block$7$break
- (loop $block$4$break $shape$1$continue
- (call_import $check
- (i32.const 1)
- )
- (br_if $block$7$break
- (i32.const 0)
- )
- (call_import $check
- (i32.const 2)
- )
- (if
- (i32.const -6)
- (br $block$4$break)
- (br $shape$1$continue)
+ (block $block$4$break
+ (loop $shape$1$continue
+ (call_import $check
+ (i32.const 1)
+ )
+ (br_if $block$7$break
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 2)
+ )
+ (if
+ (i32.const -6)
+ (br $block$4$break)
+ (br $shape$1$continue)
+ )
)
)
(call_import $check
diff --git a/test/example/c-api-kitchen-sink.txt.txt b/test/example/c-api-kitchen-sink.txt.txt
index 7e32ba431..b37814f89 100644
--- a/test/example/c-api-kitchen-sink.txt.txt
+++ b/test/example/c-api-kitchen-sink.txt.txt
@@ -4,354 +4,518 @@
(module
(memory 1 256)
(data (i32.const 10) "hello, world")
- (export "mem" memory)
(start $starter)
(type $iiIfF (func (param i32 i64 f32 f64) (result i32)))
(type $fiF (func (param i32 f64) (result f32)))
(type $v (func))
(type $3 (func))
- (import $an-imported "module" "base" (param i32 f64) (result f32))
- (export "kitchen_sinker" "$kitchen()sinker")
+ (import "module" "base" (func $an-imported (param i32 f64) (result f32)))
+ (export "kitchen_sinker" (func "$kitchen()sinker"))
+ (export "mem" (memory $0))
(table 1 1 anyfunc)
(elem (i32.const 0) "$kitchen()sinker")
(func "$kitchen()sinker" (type $iiIfF) (param $0 i32) (param $1 i64) (param $2 f32) (param $3 f64) (result i32)
(local $4 i32)
(block $the-body
(block $the-nothing
- (block $the-value
- (i32.clz
- (i32.const -10)
- )
- (i64.ctz
- (i64.const -22)
- )
- (i32.popcnt
- (i32.const -10)
- )
- (f32.neg
- (f32.const -33.61199951171875)
- )
- (f64.abs
- (f64.const -9005.84)
- )
- (f32.ceil
- (f32.const -33.61199951171875)
- )
- (f64.floor
- (f64.const -9005.84)
- )
- (f32.trunc
- (f32.const -33.61199951171875)
- )
- (f32.nearest
- (f32.const -33.61199951171875)
- )
- (f64.sqrt
- (f64.const -9005.84)
- )
- (i32.eqz
- (i32.const -10)
- )
- (i64.extend_s/i32
- (i32.const -10)
- )
- (i64.extend_u/i32
- (i32.const -10)
- )
- (i32.wrap/i64
- (i64.const -22)
- )
- (i32.trunc_s/f32
- (f32.const -33.61199951171875)
- )
- (i64.trunc_s/f32
- (f32.const -33.61199951171875)
- )
- (i32.trunc_u/f32
- (f32.const -33.61199951171875)
- )
- (i64.trunc_u/f32
- (f32.const -33.61199951171875)
- )
- (i32.trunc_s/f64
- (f64.const -9005.84)
- )
- (i64.trunc_s/f64
- (f64.const -9005.84)
- )
- (i32.trunc_u/f64
- (f64.const -9005.84)
- )
- (i64.trunc_u/f64
- (f64.const -9005.84)
- )
- (i32.reinterpret/f32
- (f32.const -33.61199951171875)
- )
- (i64.reinterpret/f64
- (f64.const -9005.84)
- )
- (f32.convert_s/i32
- (i32.const -10)
- )
- (f64.convert_s/i32
- (i32.const -10)
- )
- (f32.convert_u/i32
- (i32.const -10)
- )
- (f64.convert_u/i32
- (i32.const -10)
- )
- (f32.convert_s/i64
- (i64.const -22)
- )
- (f64.convert_s/i64
- (i64.const -22)
- )
- (f32.convert_u/i64
- (i64.const -22)
- )
- (f64.convert_u/i64
- (i64.const -22)
- )
- (f64.promote/f32
- (f32.const -33.61199951171875)
- )
- (f32.demote/f64
- (f64.const -9005.84)
- )
- (f32.reinterpret/i32
- (i32.const -10)
- )
- (f64.reinterpret/i64
- (i64.const -22)
- )
- (i32.add
- (i32.const -10)
- (i32.const -11)
- )
- (f64.sub
- (f64.const -9005.84)
- (f64.const -9007.33)
- )
- (i32.div_s
- (i32.const -10)
- (i32.const -11)
- )
- (i64.div_u
- (i64.const -22)
- (i64.const -23)
- )
- (i64.rem_s
- (i64.const -22)
- (i64.const -23)
- )
- (i32.rem_u
- (i32.const -10)
- (i32.const -11)
- )
- (i32.and
- (i32.const -10)
- (i32.const -11)
- )
- (i64.or
- (i64.const -22)
- (i64.const -23)
- )
- (i32.xor
- (i32.const -10)
- (i32.const -11)
- )
- (i64.shl
- (i64.const -22)
- (i64.const -23)
- )
- (i64.shr_u
- (i64.const -22)
- (i64.const -23)
- )
- (i32.shr_s
- (i32.const -10)
- (i32.const -11)
- )
- (i32.rotl
- (i32.const -10)
- (i32.const -11)
- )
- (i64.rotr
- (i64.const -22)
- (i64.const -23)
- )
- (f32.div
- (f32.const -33.61199951171875)
- (f32.const -62.5)
- )
- (f64.copysign
- (f64.const -9005.84)
- (f64.const -9007.33)
- )
- (f32.min
- (f32.const -33.61199951171875)
- (f32.const -62.5)
- )
- (f64.max
- (f64.const -9005.84)
- (f64.const -9007.33)
- )
- (i32.eq
- (i32.const -10)
- (i32.const -11)
- )
- (f32.ne
- (f32.const -33.61199951171875)
- (f32.const -62.5)
- )
- (i32.lt_s
- (i32.const -10)
- (i32.const -11)
- )
- (i64.lt_u
- (i64.const -22)
- (i64.const -23)
- )
- (i64.le_s
- (i64.const -22)
- (i64.const -23)
- )
- (i32.le_u
- (i32.const -10)
- (i32.const -11)
- )
- (i64.gt_s
- (i64.const -22)
- (i64.const -23)
- )
- (i32.gt_u
- (i32.const -10)
- (i32.const -11)
- )
- (i32.ge_s
- (i32.const -10)
- (i32.const -11)
- )
- (i64.ge_u
- (i64.const -22)
- (i64.const -23)
- )
- (f32.lt
- (f32.const -33.61199951171875)
- (f32.const -62.5)
- )
- (f64.le
- (f64.const -9005.84)
- (f64.const -9007.33)
- )
- (f64.gt
- (f64.const -9005.84)
- (f64.const -9007.33)
- )
- (f32.ge
- (f32.const -33.61199951171875)
- (f32.const -62.5)
- )
- (block
- )
- (if
- (i32.const 1)
- (i32.const 2)
- (i32.const 3)
- )
- (if
- (i32.const 4)
- (i32.const 5)
- )
- (loop $out $in
- (i32.const 0)
- )
- (loop $in2
- (i32.const 0)
- )
- (loop
- (i32.const 0)
- )
- (br_if $the-value
- (i32.const 1)
- (i32.const 0)
- )
- (br_if $the-nothing
- (i32.const 2)
- )
- (br $the-value
- (i32.const 3)
- )
- (br $the-nothing)
- (br_table $the-value $the-value
- (i32.const 1)
- (i32.const 0)
- )
- (br_table $the-nothing $the-nothing
- (i32.const 2)
- )
- (i32.eqz
- (call "$kitchen()sinker"
- (i32.const 13)
- (i64.const 37)
- (f32.const 1.2999999523162842)
- (f64.const 3.7)
+ (drop
+ (block $the-value
+ (drop
+ (i32.clz
+ (i32.const -10)
+ )
)
- )
- (i32.eqz
- (i32.trunc_s/f32
- (call_import $an-imported
- (i32.const 13)
- (f64.const 3.7)
+ (drop
+ (i64.ctz
+ (i64.const -22)
)
)
- )
- (i32.eqz
- (call_indirect $iiIfF
- (i32.const 2449)
- (i32.const 13)
- (i64.const 37)
- (f32.const 1.2999999523162842)
- (f64.const 3.7)
+ (drop
+ (i32.popcnt
+ (i32.const -10)
+ )
)
+ (drop
+ (f32.neg
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (f64.abs
+ (f64.const -9005.84)
+ )
+ )
+ (drop
+ (f32.ceil
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (f64.floor
+ (f64.const -9005.84)
+ )
+ )
+ (drop
+ (f32.trunc
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (f32.nearest
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (f64.sqrt
+ (f64.const -9005.84)
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.const -10)
+ )
+ )
+ (drop
+ (i64.extend_s/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (i64.extend_u/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (i32.wrap/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (i32.trunc_s/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (i64.trunc_s/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (i32.trunc_u/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (i64.trunc_u/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (i32.trunc_s/f64
+ (f64.const -9005.84)
+ )
+ )
+ (drop
+ (i64.trunc_s/f64
+ (f64.const -9005.84)
+ )
+ )
+ (drop
+ (i32.trunc_u/f64
+ (f64.const -9005.84)
+ )
+ )
+ (drop
+ (i64.trunc_u/f64
+ (f64.const -9005.84)
+ )
+ )
+ (drop
+ (i32.reinterpret/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (i64.reinterpret/f64
+ (f64.const -9005.84)
+ )
+ )
+ (drop
+ (f32.convert_s/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (f64.convert_s/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (f32.convert_u/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (f64.convert_u/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (f32.convert_s/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (f64.convert_s/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (f32.convert_u/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (f64.convert_u/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (f64.promote/f32
+ (f32.const -33.61199951171875)
+ )
+ )
+ (drop
+ (f32.demote/f64
+ (f64.const -9005.84)
+ )
+ )
+ (drop
+ (f32.reinterpret/i32
+ (i32.const -10)
+ )
+ )
+ (drop
+ (f64.reinterpret/i64
+ (i64.const -22)
+ )
+ )
+ (drop
+ (i32.add
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (f64.sub
+ (f64.const -9005.84)
+ (f64.const -9007.33)
+ )
+ )
+ (drop
+ (i32.div_s
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.div_u
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i64.rem_s
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i32.rem_u
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i32.and
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.or
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i32.xor
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.shl
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i64.shr_u
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i32.shr_s
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i32.rotl
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.rotr
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (f32.div
+ (f32.const -33.61199951171875)
+ (f32.const -62.5)
+ )
+ )
+ (drop
+ (f64.copysign
+ (f64.const -9005.84)
+ (f64.const -9007.33)
+ )
+ )
+ (drop
+ (f32.min
+ (f32.const -33.61199951171875)
+ (f32.const -62.5)
+ )
+ )
+ (drop
+ (f64.max
+ (f64.const -9005.84)
+ (f64.const -9007.33)
+ )
+ )
+ (drop
+ (i32.eq
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (f32.ne
+ (f32.const -33.61199951171875)
+ (f32.const -62.5)
+ )
+ )
+ (drop
+ (i32.lt_s
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.lt_u
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i64.le_s
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i32.le_u
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.gt_s
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (i32.gt_u
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i32.ge_s
+ (i32.const -10)
+ (i32.const -11)
+ )
+ )
+ (drop
+ (i64.ge_u
+ (i64.const -22)
+ (i64.const -23)
+ )
+ )
+ (drop
+ (f32.lt
+ (f32.const -33.61199951171875)
+ (f32.const -62.5)
+ )
+ )
+ (drop
+ (f64.le
+ (f64.const -9005.84)
+ (f64.const -9007.33)
+ )
+ )
+ (drop
+ (f64.gt
+ (f64.const -9005.84)
+ (f64.const -9007.33)
+ )
+ )
+ (drop
+ (f32.ge
+ (f32.const -33.61199951171875)
+ (f32.const -62.5)
+ )
+ )
+ (block
+ )
+ (drop
+ (if
+ (i32.const 1)
+ (i32.const 2)
+ (i32.const 3)
+ )
+ )
+ (if
+ (i32.const 4)
+ (i32.const 5)
+ )
+ (drop
+ (loop $in
+ (i32.const 0)
+ )
+ )
+ (drop
+ (loop
+ (i32.const 0)
+ )
+ )
+ (br_if $the-value
+ (i32.const 1)
+ (i32.const 0)
+ )
+ (br_if $the-nothing
+ (i32.const 2)
+ )
+ (br $the-value
+ (i32.const 3)
+ )
+ (br $the-nothing)
+ (br_table $the-value $the-value
+ (i32.const 1)
+ (i32.const 0)
+ )
+ (br_table $the-nothing $the-nothing
+ (i32.const 2)
+ )
+ (drop
+ (i32.eqz
+ (call "$kitchen()sinker"
+ (i32.const 13)
+ (i64.const 37)
+ (f32.const 1.2999999523162842)
+ (f64.const 3.7)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.trunc_s/f32
+ (call_import $an-imported
+ (i32.const 13)
+ (f64.const 3.7)
+ )
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (call_indirect $iiIfF
+ (i32.const 13)
+ (i64.const 37)
+ (f32.const 1.2999999523162842)
+ (f64.const 3.7)
+ (i32.const 2449)
+ )
+ )
+ )
+ (drop
+ (get_local $0)
+ )
+ (set_local $0
+ (i32.const 101)
+ )
+ (drop
+ (tee_local $0
+ (i32.const 102)
+ )
+ )
+ (drop
+ (i32.load
+ (i32.const 1)
+ )
+ )
+ (drop
+ (i64.load16_s offset=2 align=1
+ (i32.const 8)
+ )
+ )
+ (drop
+ (f32.load
+ (i32.const 2)
+ )
+ )
+ (drop
+ (f64.load offset=2
+ (i32.const 9)
+ )
+ )
+ (i32.store
+ (i32.const 10)
+ (i32.const 11)
+ )
+ (i64.store offset=2 align=4
+ (i32.const 110)
+ (i64.const 111)
+ )
+ (drop
+ (select
+ (i32.const 3)
+ (i32.const 5)
+ (i32.const 1)
+ )
+ )
+ (return
+ (i32.const 1337)
+ )
+ (nop)
+ (unreachable)
)
- (get_local $0)
- (set_local $0
- (i32.const 101)
- )
- (i32.load
- (i32.const 1)
- )
- (i64.load8_s offset=2 align=4
- (i32.const 8)
- )
- (f32.load
- (i32.const 2)
- )
- (f64.load offset=2
- (i32.const 9)
- )
- (i32.store
- (i32.const 10)
- (i32.const 11)
- )
- (i64.store offset=2 align=4
- (i32.const 110)
- (i64.const 111)
- )
- (select
- (i32.const 3)
- (i32.const 5)
- (i32.const 1)
- )
- (return
- (i32.const 1337)
- )
- (nop)
- (unreachable)
)
)
(i32.const 42)
@@ -366,7 +530,7 @@
(type $v (func))
(type $vi (func (param i32)))
(type $i (func (result i32)))
- (import $check "module" "check" (param i32))
+ (import "module" "check" (func $check (param i32)))
(func $just-one-block (type $v)
(local $0 i32)
(call_import $check
@@ -396,7 +560,9 @@
(i32.const 0)
)
(block
- (i32.const 77)
+ (drop
+ (i32.const 77)
+ )
(br $block$2$break)
)
)
@@ -435,7 +601,9 @@
(i32.const 0)
)
(block
- (i32.const 33)
+ (drop
+ (i32.const 33)
+ )
(br $block$2$break)
)
)
@@ -444,7 +612,9 @@
(i32.const 1)
)
(block
- (i32.const -66)
+ (drop
+ (i32.const -66)
+ )
(br $shape$0$continue)
)
)
@@ -477,7 +647,9 @@
(if
(i32.const 55)
(block
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(block
(call_import $check
(i32.const 1)
@@ -485,7 +657,9 @@
)
)
(block
- (i32.const 20)
+ (drop
+ (i32.const 20)
+ )
(block
(call_import $check
(i32.const 2)
@@ -528,19 +702,25 @@
(if
(i32.const 55)
(block
- (i32.const -1)
+ (drop
+ (i32.const -1)
+ )
(block
(call_import $check
(i32.const 1)
)
(block
- (i32.const -3)
+ (drop
+ (i32.const -3)
+ )
(br $block$3$break)
)
)
)
(block
- (i32.const -2)
+ (drop
+ (i32.const -2)
+ )
(br $block$3$break)
)
)
@@ -620,7 +800,9 @@
(i32.const 0)
)
(block
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(br $block$2$break)
)
)
@@ -636,7 +818,9 @@
(i32.const -2)
(br $block$3$break)
(block
- (i32.const 20)
+ (drop
+ (i32.const 20)
+ )
(br $block$7$break)
)
)
@@ -649,7 +833,9 @@
(i32.const -6)
(br $block$4$break)
(block
- (i32.const 30)
+ (drop
+ (i32.const 30)
+ )
(br $shape$1$continue)
)
)
@@ -679,7 +865,9 @@
(i32.const 5)
)
(block
- (i32.const 40)
+ (drop
+ (i32.const 40)
+ )
(br $block$7$break)
)
)
@@ -715,7 +903,9 @@
(br $switch$1$leave)
)
(block
- (i32.const 55)
+ (drop
+ (i32.const 55)
+ )
(block
(call_import $check
(i32.const 2)
@@ -826,7 +1016,7 @@
(type $v (func))
(type $vi (func (param i32)))
(type $i (func (result i32)))
- (import $check "module" "check" (param i32))
+ (import "module" "check" (func $check (param i32)))
(func $just-one-block (type $v)
(call_import $check
(i32.const 1337)
@@ -897,17 +1087,19 @@
)
)
(func $loop-tail (type $v)
- (loop $block$3$break $shape$0$continue
- (call_import $check
- (i32.const 0)
- )
- (call_import $check
- (i32.const 1)
- )
- (if
- (i32.const 10)
- (br $shape$0$continue)
- (br $block$3$break)
+ (block $block$3$break
+ (loop $shape$0$continue
+ (call_import $check
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 1)
+ )
+ (if
+ (i32.const 10)
+ (br $shape$0$continue)
+ (br $block$3$break)
+ )
)
)
(call_import $check
@@ -919,20 +1111,22 @@
(i32.const 0)
)
(block $block$7$break
- (loop $block$4$break $shape$1$continue
- (call_import $check
- (i32.const 1)
- )
- (br_if $block$7$break
- (i32.const 0)
- )
- (call_import $check
- (i32.const 2)
- )
- (if
- (i32.const -6)
- (br $block$4$break)
- (br $shape$1$continue)
+ (block $block$4$break
+ (loop $shape$1$continue
+ (call_import $check
+ (i32.const 1)
+ )
+ (br_if $block$7$break
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 2)
+ )
+ (if
+ (i32.const -6)
+ (br $block$4$break)
+ (br $shape$1$continue)
+ )
)
)
(call_import $check
diff --git a/test/example/relooper-fuzz.c b/test/example/relooper-fuzz.c
index 65d00aa5d..9fd11096f 100644
--- a/test/example/relooper-fuzz.c
+++ b/test/example/relooper-fuzz.c
@@ -31,7 +31,8 @@ int main() {
BinaryenAddInt32(),
BinaryenLoad(module, 4, 0, 0, 0, BinaryenInt32(), BinaryenConst(module, BinaryenLiteralInt32(4))),
BinaryenConst(module, BinaryenLiteralInt32(4))
- )
+ ),
+ BinaryenInt32()
);
// optionally, print the return value
@@ -235,7 +236,8 @@ int main() {
full[i] = BinaryenStore(module,
4, 0, 0,
BinaryenConst(module, BinaryenLiteralInt32(8 + 4 * i)),
- BinaryenConst(module, BinaryenLiteralInt32(decisions[i]))
+ BinaryenConst(module, BinaryenLiteralInt32(decisions[i])),
+ BinaryenInt32()
);
}
}
diff --git a/test/example/relooper-fuzz.txt b/test/example/relooper-fuzz.txt
index b4e6c8b57..151360306 100644
--- a/test/example/relooper-fuzz.txt
+++ b/test/example/relooper-fuzz.txt
@@ -1,11 +1,11 @@
(module
(memory 1 1)
- (export "mem" memory)
(start $main)
(type $i (func (result i32)))
(type $v (func))
(type $vi (func (param i32)))
- (import $print "spectest" "print" (param i32))
+ (import "spectest" "print" (func $print (param i32)))
+ (export "mem" (memory $0))
(func $check (type $i) (result i32)
(if
(i32.eq
@@ -293,12 +293,12 @@
)
(module
(memory 1 1)
- (export "mem" memory)
(start $main)
(type $i (func (result i32)))
(type $v (func))
(type $vi (func (param i32)))
- (import $print "spectest" "print" (param i32))
+ (import "spectest" "print" (func $print (param i32)))
+ (export "mem" (memory $0))
(func $check (type $i) (result i32)
(if
(i32.eq
@@ -463,7 +463,9 @@
(call_import $print
(i32.const 8)
)
- (call $check)
+ (drop
+ (call $check)
+ )
)
)
(loop $shape$3$continue
@@ -503,7 +505,7 @@
(if
(i32.eq
(i32.rem_u
- (set_local $1
+ (tee_local $1
(call $check)
)
(i32.const 3)
@@ -530,7 +532,9 @@
(call_import $print
(i32.const 2)
)
- (call $check)
+ (drop
+ (call $check)
+ )
(set_local $0
(i32.const 6)
)
diff --git a/test/example/relooper-fuzz1.c b/test/example/relooper-fuzz1.c
index fbbbfdd59..cca61e4f4 100644
--- a/test/example/relooper-fuzz1.c
+++ b/test/example/relooper-fuzz1.c
@@ -33,7 +33,8 @@ int main() {
BinaryenLoad(module, 4, 0, 0, 0, BinaryenInt32(),
BinaryenConst(module, BinaryenLiteralInt32(4))),
BinaryenConst(module, BinaryenLiteralInt32(4))
- )
+ ),
+ BinaryenInt32()
);
// optionally, print the return value
@@ -288,7 +289,8 @@ int main() {
full[i] = BinaryenStore(module,
4, 0, 0,
BinaryenConst(module, BinaryenLiteralInt32(8 + 4 * i)),
- BinaryenConst(module, BinaryenLiteralInt32(decisions[i]))
+ BinaryenConst(module, BinaryenLiteralInt32(decisions[i])),
+ BinaryenInt32()
);
}
}
diff --git a/test/example/relooper-fuzz1.txt b/test/example/relooper-fuzz1.txt
index 437dab062..be8130228 100644
--- a/test/example/relooper-fuzz1.txt
+++ b/test/example/relooper-fuzz1.txt
@@ -1,11 +1,11 @@
(module
(memory 1 1)
- (export "mem" memory)
(start $main)
(type $i (func (result i32)))
(type $v (func))
(type $vi (func (param i32)))
- (import $print "spectest" "print" (param i32))
+ (import "spectest" "print" (func $print (param i32)))
+ (export "mem" (memory $0))
(func $check (type $i) (result i32)
(if
(i32.eq
@@ -269,12 +269,12 @@
)
(module
(memory 1 1)
- (export "mem" memory)
(start $main)
(type $i (func (result i32)))
(type $v (func))
(type $vi (func (param i32)))
- (import $print "spectest" "print" (param i32))
+ (import "spectest" "print" (func $print (param i32)))
+ (export "mem" (memory $0))
(func $check (type $i) (result i32)
(if
(i32.eq
@@ -440,7 +440,7 @@
(if
(i32.ne
(i32.rem_u
- (set_local $0
+ (tee_local $0
(call $check)
)
(i32.const 4)
@@ -489,13 +489,17 @@
(call_import $print
(i32.const 3)
)
- (call $check)
+ (drop
+ (call $check)
+ )
(br $shape$6$continue)
)
)
(call_import $print
(i32.const 9)
)
- (call $check)
+ (drop
+ (call $check)
+ )
)
)
diff --git a/test/hello_world.fromasm b/test/hello_world.fromasm
index 66f728c52..23aba7d9d 100644
--- a/test/hello_world.fromasm
+++ b/test/hello_world.fromasm
@@ -1,7 +1,11 @@
(module
(memory 256 256)
- (export "memory" memory)
- (export "add" $add)
+ (data (get_global $memoryBase) "hello_world.asm.js")
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "add" (func $add))
(func $add (param $0 i32) (param $1 i32) (result i32)
(i32.add
(get_local $0)
diff --git a/test/hello_world.fromasm.imprecise b/test/hello_world.fromasm.imprecise
index 66f728c52..6bfc4bf68 100644
--- a/test/hello_world.fromasm.imprecise
+++ b/test/hello_world.fromasm.imprecise
@@ -1,7 +1,10 @@
(module
(memory 256 256)
- (export "memory" memory)
- (export "add" $add)
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "add" (func $add))
(func $add (param $0 i32) (param $1 i32) (result i32)
(i32.add
(get_local $0)
diff --git a/test/hello_world.fromasm.imprecise.no-opts b/test/hello_world.fromasm.imprecise.no-opts
index 435e41a60..31ce2e573 100644
--- a/test/hello_world.fromasm.imprecise.no-opts
+++ b/test/hello_world.fromasm.imprecise.no-opts
@@ -1,7 +1,10 @@
(module
(memory 256 256)
- (export "memory" memory)
- (export "add" $add)
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "add" (func $add))
(func $add (param $x i32) (param $y i32) (result i32)
(return
(i32.add
diff --git a/test/hello_world.fromasm.no-opts b/test/hello_world.fromasm.no-opts
index 435e41a60..31ce2e573 100644
--- a/test/hello_world.fromasm.no-opts
+++ b/test/hello_world.fromasm.no-opts
@@ -1,7 +1,10 @@
(module
(memory 256 256)
- (export "memory" memory)
- (export "add" $add)
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "add" (func $add))
(func $add (param $x i32) (param $y i32) (result i32)
(return
(i32.add
diff --git a/test/hello_world.wast b/test/hello_world.wast
index 915c4a99a..16f0ddc3a 100644
--- a/test/hello_world.wast
+++ b/test/hello_world.wast
@@ -1,7 +1,7 @@
(module
(memory 256 256)
(type $0 (func (param i32 i32) (result i32)))
- (export "add" $add)
+ (export "add" (func $add))
(func $add (type $0) (param $x i32) (param $y i32) (result i32)
(i32.add
(get_local $x)
diff --git a/test/hello_world.wast.fromBinary b/test/hello_world.wast.fromBinary
index 77a0fee04..0f9f42902 100644
--- a/test/hello_world.wast.fromBinary
+++ b/test/hello_world.wast.fromBinary
@@ -1,7 +1,7 @@
(module
(memory 256 256)
(type $0 (func (param i32 i32) (result i32)))
- (export "add" $add)
+ (export "add" (func $add))
(func $add (type $0) (param $var$0 i32) (param $var$1 i32) (result i32)
(i32.add
(get_local $var$0)
diff --git a/test/kitchen_sink.wast b/test/kitchen_sink.wast
index 2b139a95b..01fc1e241 100644
--- a/test/kitchen_sink.wast
+++ b/test/kitchen_sink.wast
@@ -4,428 +4,662 @@
(type $0 (func (result i32)))
(func $kitchensink (type $0) (result i32)
(block $block0
- (i32.add
- (i32.const 10)
- (i32.const 10)
- )
- (i32.sub
- (i32.const 10)
- (i32.const 10)
- )
- (i32.mul
- (i32.const 10)
- (i32.const 10)
- )
- (i32.div_s
- (i32.const 10)
- (i32.const 10)
- )
- (i32.div_u
- (i32.const 10)
- (i32.const 10)
- )
- (i32.rem_s
- (i32.const 10)
- (i32.const 10)
- )
- (i32.rem_u
- (i32.const 10)
- (i32.const 10)
- )
- (i32.and
- (i32.const 10)
- (i32.const 10)
- )
- (i32.or
- (i32.const 10)
- (i32.const 10)
- )
- (i32.xor
- (i32.const 10)
- (i32.const 10)
- )
- (i32.shl
- (i32.const 10)
- (i32.const 10)
- )
- (i32.shr_u
- (i32.const 10)
- (i32.const 10)
- )
- (i32.shr_s
- (i32.const 10)
- (i32.const 10)
- )
- (i32.eq
- (i32.const 10)
- (i32.const 10)
- )
- (i32.ne
- (i32.const 10)
- (i32.const 10)
- )
- (i32.lt_s
- (i32.const 10)
- (i32.const 10)
- )
- (i32.le_s
- (i32.const 10)
- (i32.const 10)
- )
- (i32.lt_u
- (i32.const 10)
- (i32.const 10)
- )
- (i32.le_u
- (i32.const 10)
- (i32.const 10)
- )
- (i32.gt_s
- (i32.const 10)
- (i32.const 10)
- )
- (i32.ge_s
- (i32.const 10)
- (i32.const 10)
- )
- (i32.gt_u
- (i32.const 10)
- (i32.const 10)
- )
- (i32.ge_u
- (i32.const 10)
- (i32.const 10)
- )
- (i32.clz
- (i32.const 10)
- )
- (i32.ctz
- (i32.const 10)
- )
- (i32.popcnt
- (i32.const 10)
- )
- (i64.add
- (i64.const 100)
- (i64.const 100)
- )
- (i64.sub
- (i64.const 100)
- (i64.const 100)
- )
- (i64.mul
- (i64.const 100)
- (i64.const 100)
- )
- (i64.div_s
- (i64.const 100)
- (i64.const 100)
- )
- (i64.div_u
- (i64.const 100)
- (i64.const 100)
- )
- (i64.rem_s
- (i64.const 100)
- (i64.const 100)
- )
- (i64.rem_u
- (i64.const 100)
- (i64.const 100)
- )
- (i64.and
- (i64.const 100)
- (i64.const 100)
- )
- (i64.or
- (i64.const 100)
- (i64.const 100)
- )
- (i64.xor
- (i64.const 100)
- (i64.const 100)
- )
- (i64.shl
- (i64.const 100)
- (i64.const 100)
- )
- (i64.shr_u
- (i64.const 100)
- (i64.const 100)
- )
- (i64.shr_s
- (i64.const 100)
- (i64.const 100)
- )
- (i64.eq
- (i64.const 100)
- (i64.const 100)
- )
- (i64.ne
- (i64.const 100)
- (i64.const 100)
- )
- (i64.lt_s
- (i64.const 100)
- (i64.const 100)
- )
- (i64.le_s
- (i64.const 100)
- (i64.const 100)
- )
- (i64.lt_u
- (i64.const 100)
- (i64.const 100)
- )
- (i64.le_u
- (i64.const 100)
- (i64.const 100)
- )
- (i64.gt_s
- (i64.const 100)
- (i64.const 100)
- )
- (i64.ge_s
- (i64.const 100)
- (i64.const 100)
- )
- (i64.gt_u
- (i64.const 100)
- (i64.const 100)
- )
- (i64.ge_u
- (i64.const 100)
- (i64.const 100)
- )
- (i64.clz
- (i64.const 100)
- )
- (i64.ctz
- (i64.const 100)
- )
- (i64.popcnt
- (i64.const 100)
- )
- (f32.add
- (f32.const 10)
- (f32.const 10)
- )
- (f32.sub
- (f32.const 10)
- (f32.const 10)
- )
- (f32.mul
- (f32.const 10)
- (f32.const 10)
- )
- (f32.div
- (f32.const 10)
- (f32.const 10)
- )
- (f32.min
- (f32.const 10)
- (f32.const 10)
- )
- (f32.max
- (f32.const 10)
- (f32.const 10)
- )
- (f32.abs
- (f32.const 10)
- )
- (f32.neg
- (f32.const 10)
- )
- (f32.copysign
- (f32.const 10)
- (f32.const 10)
- )
- (f32.ceil
- (f32.const 10)
- )
- (f32.floor
- (f32.const 10)
- )
- (f32.trunc
- (f32.const 10)
- )
- (f32.nearest
- (f32.const 10)
- )
- (f32.sqrt
- (f32.const 10)
- )
- (f32.eq
- (f32.const 10)
- (f32.const 10)
- )
- (f32.ne
- (f32.const 10)
- (f32.const 10)
- )
- (f32.lt
- (f32.const 10)
- (f32.const 10)
- )
- (f32.le
- (f32.const 10)
- (f32.const 10)
- )
- (f32.gt
- (f32.const 10)
- (f32.const 10)
- )
- (f32.ge
- (f32.const 10)
- (f32.const 10)
- )
- (f64.add
- (f64.const 10)
- (f64.const 10)
- )
- (f64.sub
- (f64.const 10)
- (f64.const 10)
- )
- (f64.mul
- (f64.const 10)
- (f64.const 10)
- )
- (f64.div
- (f64.const 10)
- (f64.const 10)
- )
- (f64.min
- (f64.const 10)
- (f64.const 10)
- )
- (f64.max
- (f64.const 10)
- (f64.const 10)
- )
- (f64.abs
- (f64.const 10)
- )
- (f64.neg
- (f64.const 10)
- )
- (f64.copysign
- (f64.const 10)
- (f64.const 10)
- )
- (f64.ceil
- (f64.const 10)
- )
- (f64.floor
- (f64.const 10)
- )
- (f64.trunc
- (f64.const 10)
- )
- (f64.nearest
- (f64.const 10)
- )
- (f64.sqrt
- (f64.const 10)
- )
- (f64.eq
- (f64.const 10)
- (f64.const 10)
- )
- (f64.ne
- (f64.const 10)
- (f64.const 10)
- )
- (f64.lt
- (f64.const 10)
- (f64.const 10)
- )
- (f64.le
- (f64.const 10)
- (f64.const 10)
- )
- (f64.gt
- (f64.const 10)
- (f64.const 10)
- )
- (f64.ge
- (f64.const 10)
- (f64.const 10)
- )
- (i32.trunc_s/f32
- (f32.const 10)
- )
- (i32.trunc_s/f64
- (f64.const 10)
- )
- (i32.trunc_u/f32
- (f32.const 10)
- )
- (i32.trunc_u/f64
- (f64.const 10)
- )
- (i32.wrap/i64
- (i64.const 100)
- )
- (i64.trunc_s/f32
- (f32.const 10)
- )
- (i64.trunc_s/f64
- (f64.const 10)
- )
- (i64.trunc_u/f32
- (f32.const 10)
- )
- (i64.trunc_u/f64
- (f64.const 10)
- )
- (i64.extend_s/i32
- (i32.const 10)
- )
- (i64.extend_u/i32
- (i32.const 10)
- )
- (f32.convert_s/i32
- (i32.const 10)
- )
- (f32.convert_u/i32
- (i32.const 10)
- )
- (f32.convert_s/i64
- (i64.const 100)
- )
- (f32.convert_u/i64
- (i64.const 100)
- )
- (f32.demote/f64
- (f64.const 10)
- )
- (f32.reinterpret/i32
- (i32.const 10)
- )
- (f64.convert_s/i32
- (i32.const 10)
- )
- (f64.convert_u/i32
- (i32.const 10)
- )
- (f64.convert_s/i64
- (i64.const 100)
- )
- (f64.convert_u/i64
- (i64.const 100)
- )
- (f64.promote/f32
- (f32.const 10)
- )
- (f64.reinterpret/i64
- (i64.const 100)
- )
- (i32.reinterpret/f32
- (f32.const 10)
- )
- (i64.reinterpret/f64
- (f64.const 10)
+ (drop
+ (i32.add
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.sub
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.mul
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.div_s
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.div_u
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.rem_s
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.rem_u
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.and
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.or
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.xor
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.shl
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.shr_u
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.shr_s
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.eq
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.ne
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.lt_s
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.le_s
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.lt_u
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.le_u
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.gt_s
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.ge_s
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.gt_u
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.ge_u
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.clz
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.ctz
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.popcnt
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i64.add
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.sub
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.mul
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.div_s
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.div_u
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.rem_s
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.rem_u
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.and
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.or
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.xor
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.shl
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.shr_u
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.shr_s
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.eq
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.ne
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.lt_s
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.le_s
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.lt_u
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.le_u
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.gt_s
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.ge_s
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.gt_u
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.ge_u
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.clz
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.ctz
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.popcnt
+ (i64.const 100)
+ )
+ )
+ (drop
+ (f32.add
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.sub
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.mul
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.div
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.min
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.max
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.abs
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.neg
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.copysign
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.ceil
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.floor
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.trunc
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.nearest
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.sqrt
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.eq
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.ne
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.lt
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.le
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.gt
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.ge
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f64.add
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.sub
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.mul
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.div
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.min
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.max
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.abs
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.neg
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.copysign
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.ceil
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.floor
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.trunc
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.nearest
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.sqrt
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.eq
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.ne
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.lt
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.le
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.gt
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.ge
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (i32.trunc_s/f32
+ (f32.const 10)
+ )
+ )
+ (drop
+ (i32.trunc_s/f64
+ (f64.const 10)
+ )
+ )
+ (drop
+ (i32.trunc_u/f32
+ (f32.const 10)
+ )
+ )
+ (drop
+ (i32.trunc_u/f64
+ (f64.const 10)
+ )
+ )
+ (drop
+ (i32.wrap/i64
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.trunc_s/f32
+ (f32.const 10)
+ )
+ )
+ (drop
+ (i64.trunc_s/f64
+ (f64.const 10)
+ )
+ )
+ (drop
+ (i64.trunc_u/f32
+ (f32.const 10)
+ )
+ )
+ (drop
+ (i64.trunc_u/f64
+ (f64.const 10)
+ )
+ )
+ (drop
+ (i64.extend_s/i32
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i64.extend_u/i32
+ (i32.const 10)
+ )
+ )
+ (drop
+ (f32.convert_s/i32
+ (i32.const 10)
+ )
+ )
+ (drop
+ (f32.convert_u/i32
+ (i32.const 10)
+ )
+ )
+ (drop
+ (f32.convert_s/i64
+ (i64.const 100)
+ )
+ )
+ (drop
+ (f32.convert_u/i64
+ (i64.const 100)
+ )
+ )
+ (drop
+ (f32.demote/f64
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f32.reinterpret/i32
+ (i32.const 10)
+ )
+ )
+ (drop
+ (f64.convert_s/i32
+ (i32.const 10)
+ )
+ )
+ (drop
+ (f64.convert_u/i32
+ (i32.const 10)
+ )
+ )
+ (drop
+ (f64.convert_s/i64
+ (i64.const 100)
+ )
+ )
+ (drop
+ (f64.convert_u/i64
+ (i64.const 100)
+ )
+ )
+ (drop
+ (f64.promote/f32
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f64.reinterpret/i64
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i32.reinterpret/f32
+ (f32.const 10)
+ )
+ )
+ (drop
+ (i64.reinterpret/f64
+ (f64.const 10)
+ )
)
(i32.const 0)
)
diff --git a/test/kitchen_sink.wast.fromBinary b/test/kitchen_sink.wast.fromBinary
index dd55b5bae..4c3da110c 100644
--- a/test/kitchen_sink.wast.fromBinary
+++ b/test/kitchen_sink.wast.fromBinary
@@ -4,428 +4,662 @@
(type $0 (func (result i32)))
(func $kitchensink (type $0) (result i32)
(block $label$0
- (i32.add
- (i32.const 10)
- (i32.const 10)
- )
- (i32.sub
- (i32.const 10)
- (i32.const 10)
- )
- (i32.mul
- (i32.const 10)
- (i32.const 10)
- )
- (i32.div_s
- (i32.const 10)
- (i32.const 10)
- )
- (i32.div_u
- (i32.const 10)
- (i32.const 10)
- )
- (i32.rem_s
- (i32.const 10)
- (i32.const 10)
- )
- (i32.rem_u
- (i32.const 10)
- (i32.const 10)
- )
- (i32.and
- (i32.const 10)
- (i32.const 10)
- )
- (i32.or
- (i32.const 10)
- (i32.const 10)
- )
- (i32.xor
- (i32.const 10)
- (i32.const 10)
- )
- (i32.shl
- (i32.const 10)
- (i32.const 10)
- )
- (i32.shr_u
- (i32.const 10)
- (i32.const 10)
- )
- (i32.shr_s
- (i32.const 10)
- (i32.const 10)
- )
- (i32.eq
- (i32.const 10)
- (i32.const 10)
- )
- (i32.ne
- (i32.const 10)
- (i32.const 10)
- )
- (i32.lt_s
- (i32.const 10)
- (i32.const 10)
- )
- (i32.le_s
- (i32.const 10)
- (i32.const 10)
- )
- (i32.lt_u
- (i32.const 10)
- (i32.const 10)
- )
- (i32.le_u
- (i32.const 10)
- (i32.const 10)
- )
- (i32.gt_s
- (i32.const 10)
- (i32.const 10)
- )
- (i32.ge_s
- (i32.const 10)
- (i32.const 10)
- )
- (i32.gt_u
- (i32.const 10)
- (i32.const 10)
- )
- (i32.ge_u
- (i32.const 10)
- (i32.const 10)
- )
- (i32.clz
- (i32.const 10)
- )
- (i32.ctz
- (i32.const 10)
- )
- (i32.popcnt
- (i32.const 10)
- )
- (i64.add
- (i64.const 100)
- (i64.const 100)
- )
- (i64.sub
- (i64.const 100)
- (i64.const 100)
- )
- (i64.mul
- (i64.const 100)
- (i64.const 100)
- )
- (i64.div_s
- (i64.const 100)
- (i64.const 100)
- )
- (i64.div_u
- (i64.const 100)
- (i64.const 100)
- )
- (i64.rem_s
- (i64.const 100)
- (i64.const 100)
- )
- (i64.rem_u
- (i64.const 100)
- (i64.const 100)
- )
- (i64.and
- (i64.const 100)
- (i64.const 100)
- )
- (i64.or
- (i64.const 100)
- (i64.const 100)
- )
- (i64.xor
- (i64.const 100)
- (i64.const 100)
- )
- (i64.shl
- (i64.const 100)
- (i64.const 100)
- )
- (i64.shr_u
- (i64.const 100)
- (i64.const 100)
- )
- (i64.shr_s
- (i64.const 100)
- (i64.const 100)
- )
- (i64.eq
- (i64.const 100)
- (i64.const 100)
- )
- (i64.ne
- (i64.const 100)
- (i64.const 100)
- )
- (i64.lt_s
- (i64.const 100)
- (i64.const 100)
- )
- (i64.le_s
- (i64.const 100)
- (i64.const 100)
- )
- (i64.lt_u
- (i64.const 100)
- (i64.const 100)
- )
- (i64.le_u
- (i64.const 100)
- (i64.const 100)
- )
- (i64.gt_s
- (i64.const 100)
- (i64.const 100)
- )
- (i64.ge_s
- (i64.const 100)
- (i64.const 100)
- )
- (i64.gt_u
- (i64.const 100)
- (i64.const 100)
- )
- (i64.ge_u
- (i64.const 100)
- (i64.const 100)
- )
- (i64.clz
- (i64.const 100)
- )
- (i64.ctz
- (i64.const 100)
- )
- (i64.popcnt
- (i64.const 100)
- )
- (f32.add
- (f32.const 10)
- (f32.const 10)
- )
- (f32.sub
- (f32.const 10)
- (f32.const 10)
- )
- (f32.mul
- (f32.const 10)
- (f32.const 10)
- )
- (f32.div
- (f32.const 10)
- (f32.const 10)
- )
- (f32.min
- (f32.const 10)
- (f32.const 10)
- )
- (f32.max
- (f32.const 10)
- (f32.const 10)
- )
- (f32.abs
- (f32.const 10)
- )
- (f32.neg
- (f32.const 10)
- )
- (f32.copysign
- (f32.const 10)
- (f32.const 10)
- )
- (f32.ceil
- (f32.const 10)
- )
- (f32.floor
- (f32.const 10)
- )
- (f32.trunc
- (f32.const 10)
- )
- (f32.nearest
- (f32.const 10)
- )
- (f32.sqrt
- (f32.const 10)
- )
- (f32.eq
- (f32.const 10)
- (f32.const 10)
- )
- (f32.ne
- (f32.const 10)
- (f32.const 10)
- )
- (f32.lt
- (f32.const 10)
- (f32.const 10)
- )
- (f32.le
- (f32.const 10)
- (f32.const 10)
- )
- (f32.gt
- (f32.const 10)
- (f32.const 10)
- )
- (f32.ge
- (f32.const 10)
- (f32.const 10)
- )
- (f64.add
- (f64.const 10)
- (f64.const 10)
- )
- (f64.sub
- (f64.const 10)
- (f64.const 10)
- )
- (f64.mul
- (f64.const 10)
- (f64.const 10)
- )
- (f64.div
- (f64.const 10)
- (f64.const 10)
- )
- (f64.min
- (f64.const 10)
- (f64.const 10)
- )
- (f64.max
- (f64.const 10)
- (f64.const 10)
- )
- (f64.abs
- (f64.const 10)
- )
- (f64.neg
- (f64.const 10)
- )
- (f64.copysign
- (f64.const 10)
- (f64.const 10)
- )
- (f64.ceil
- (f64.const 10)
- )
- (f64.floor
- (f64.const 10)
- )
- (f64.trunc
- (f64.const 10)
- )
- (f64.nearest
- (f64.const 10)
- )
- (f64.sqrt
- (f64.const 10)
- )
- (f64.eq
- (f64.const 10)
- (f64.const 10)
- )
- (f64.ne
- (f64.const 10)
- (f64.const 10)
- )
- (f64.lt
- (f64.const 10)
- (f64.const 10)
- )
- (f64.le
- (f64.const 10)
- (f64.const 10)
- )
- (f64.gt
- (f64.const 10)
- (f64.const 10)
- )
- (f64.ge
- (f64.const 10)
- (f64.const 10)
- )
- (i32.trunc_s/f32
- (f32.const 10)
- )
- (i32.trunc_s/f64
- (f64.const 10)
- )
- (i32.trunc_u/f32
- (f32.const 10)
- )
- (i32.trunc_u/f64
- (f64.const 10)
- )
- (i32.wrap/i64
- (i64.const 100)
- )
- (i64.trunc_s/f32
- (f32.const 10)
- )
- (i64.trunc_s/f64
- (f64.const 10)
- )
- (i64.trunc_u/f32
- (f32.const 10)
- )
- (i64.trunc_u/f64
- (f64.const 10)
- )
- (i64.extend_s/i32
- (i32.const 10)
- )
- (i64.extend_u/i32
- (i32.const 10)
- )
- (f32.convert_s/i32
- (i32.const 10)
- )
- (f32.convert_u/i32
- (i32.const 10)
- )
- (f32.convert_s/i64
- (i64.const 100)
- )
- (f32.convert_u/i64
- (i64.const 100)
- )
- (f32.demote/f64
- (f64.const 10)
- )
- (f32.reinterpret/i32
- (i32.const 10)
- )
- (f64.convert_s/i32
- (i32.const 10)
- )
- (f64.convert_u/i32
- (i32.const 10)
- )
- (f64.convert_s/i64
- (i64.const 100)
- )
- (f64.convert_u/i64
- (i64.const 100)
- )
- (f64.promote/f32
- (f32.const 10)
- )
- (f64.reinterpret/i64
- (i64.const 100)
- )
- (i32.reinterpret/f32
- (f32.const 10)
- )
- (i64.reinterpret/f64
- (f64.const 10)
+ (drop
+ (i32.add
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.sub
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.mul
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.div_s
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.div_u
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.rem_s
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.rem_u
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.and
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.or
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.xor
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.shl
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.shr_u
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.shr_s
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.eq
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.ne
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.lt_s
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.le_s
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.lt_u
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.le_u
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.gt_s
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.ge_s
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.gt_u
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.ge_u
+ (i32.const 10)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.clz
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.ctz
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.popcnt
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i64.add
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.sub
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.mul
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.div_s
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.div_u
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.rem_s
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.rem_u
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.and
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.or
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.xor
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.shl
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.shr_u
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.shr_s
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.eq
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.ne
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.lt_s
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.le_s
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.lt_u
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.le_u
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.gt_s
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.ge_s
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.gt_u
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.ge_u
+ (i64.const 100)
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.clz
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.ctz
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.popcnt
+ (i64.const 100)
+ )
+ )
+ (drop
+ (f32.add
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.sub
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.mul
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.div
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.min
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.max
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.abs
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.neg
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.copysign
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.ceil
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.floor
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.trunc
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.nearest
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.sqrt
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.eq
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.ne
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.lt
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.le
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.gt
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f32.ge
+ (f32.const 10)
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f64.add
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.sub
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.mul
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.div
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.min
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.max
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.abs
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.neg
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.copysign
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.ceil
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.floor
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.trunc
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.nearest
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.sqrt
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.eq
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.ne
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.lt
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.le
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.gt
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f64.ge
+ (f64.const 10)
+ (f64.const 10)
+ )
+ )
+ (drop
+ (i32.trunc_s/f32
+ (f32.const 10)
+ )
+ )
+ (drop
+ (i32.trunc_s/f64
+ (f64.const 10)
+ )
+ )
+ (drop
+ (i32.trunc_u/f32
+ (f32.const 10)
+ )
+ )
+ (drop
+ (i32.trunc_u/f64
+ (f64.const 10)
+ )
+ )
+ (drop
+ (i32.wrap/i64
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i64.trunc_s/f32
+ (f32.const 10)
+ )
+ )
+ (drop
+ (i64.trunc_s/f64
+ (f64.const 10)
+ )
+ )
+ (drop
+ (i64.trunc_u/f32
+ (f32.const 10)
+ )
+ )
+ (drop
+ (i64.trunc_u/f64
+ (f64.const 10)
+ )
+ )
+ (drop
+ (i64.extend_s/i32
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i64.extend_u/i32
+ (i32.const 10)
+ )
+ )
+ (drop
+ (f32.convert_s/i32
+ (i32.const 10)
+ )
+ )
+ (drop
+ (f32.convert_u/i32
+ (i32.const 10)
+ )
+ )
+ (drop
+ (f32.convert_s/i64
+ (i64.const 100)
+ )
+ )
+ (drop
+ (f32.convert_u/i64
+ (i64.const 100)
+ )
+ )
+ (drop
+ (f32.demote/f64
+ (f64.const 10)
+ )
+ )
+ (drop
+ (f32.reinterpret/i32
+ (i32.const 10)
+ )
+ )
+ (drop
+ (f64.convert_s/i32
+ (i32.const 10)
+ )
+ )
+ (drop
+ (f64.convert_u/i32
+ (i32.const 10)
+ )
+ )
+ (drop
+ (f64.convert_s/i64
+ (i64.const 100)
+ )
+ )
+ (drop
+ (f64.convert_u/i64
+ (i64.const 100)
+ )
+ )
+ (drop
+ (f64.promote/f32
+ (f32.const 10)
+ )
+ )
+ (drop
+ (f64.reinterpret/i64
+ (i64.const 100)
+ )
+ )
+ (drop
+ (i32.reinterpret/f32
+ (f32.const 10)
+ )
+ )
+ (drop
+ (i64.reinterpret/f64
+ (f64.const 10)
+ )
)
(i32.const 0)
)
diff --git a/test/llvm_autogenerated/byval.wast b/test/llvm_autogenerated/byval.wast
index c4dc678ea..9ef6f368c 100644
--- a/test/llvm_autogenerated/byval.wast
+++ b/test/llvm_autogenerated/byval.wast
@@ -19,18 +19,27 @@
(export "byval_empty_caller" $byval_empty_caller)
(export "byval_empty_callee" $byval_empty_callee)
(export "big_byval" $big_byval)
- (func $byval_arg (param $0 i32)
+ (func $byval_arg (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
+ (local $2 i32)
(i32.store offset=12
- (set_local $1
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $1
+ (block
+ (block
+ (set_local $2
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 16)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $2)
)
- (i32.const 16)
)
+ (get_local $2)
)
)
(i32.load
@@ -52,18 +61,27 @@
)
(return)
)
- (func $byval_arg_align8 (param $0 i32)
+ (func $byval_arg_align8 (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
+ (local $2 i32)
(i32.store offset=8
- (set_local $1
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $1
+ (block
+ (block
+ (set_local $2
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 16)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $2)
)
- (i32.const 16)
)
+ (get_local $2)
)
)
(i32.load
@@ -85,19 +103,28 @@
)
(return)
)
- (func $byval_arg_double (param $0 i32)
+ (func $byval_arg_double (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
+ (local $2 i32)
(i64.store
(i32.add
- (set_local $1
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $1
+ (block
+ (block
+ (set_local $2
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 16)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $2)
)
- (i32.const 16)
)
+ (get_local $2)
)
)
(i32.const 8)
@@ -127,36 +154,45 @@
)
(return)
)
- (func $byval_param (param $0 i32)
+ (func $byval_param (type $FUNCSIG$vi) (param $0 i32)
(call_import $ext_func
(get_local $0)
)
(return)
)
- (func $byval_empty_caller (param $0 i32)
+ (func $byval_empty_caller (type $FUNCSIG$vi) (param $0 i32)
(call_import $ext_byval_func_empty
(get_local $0)
)
(return)
)
- (func $byval_empty_callee (param $0 i32)
+ (func $byval_empty_callee (type $FUNCSIG$vi) (param $0 i32)
(call_import $ext_func_empty
(get_local $0)
)
(return)
)
- (func $big_byval (param $0 i32)
+ (func $big_byval (type $FUNCSIG$vi) (param $0 i32)
+ (local $1 i32)
(call_import $big_byval_callee
- (set_local $0
+ (tee_local $0
(call_import $memcpy
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (block
+ (block
+ (set_local $1
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 131072)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $1)
)
- (i32.const 131072)
)
+ (get_local $1)
)
(get_local $0)
(i32.const 131072)
diff --git a/test/llvm_autogenerated/cfg-stackify.wast b/test/llvm_autogenerated/cfg-stackify.wast
index 2dbdd5e93..2831cf9ab 100644
--- a/test/llvm_autogenerated/cfg-stackify.wast
+++ b/test/llvm_autogenerated/cfg-stackify.wast
@@ -4,6 +4,11 @@
(export "memory" memory)
(type $FUNCSIG$i (func (result i32)))
(type $FUNCSIG$v (func))
+ (type $2 (func (param i32)))
+ (type $3 (func (param i32 i32)))
+ (type $4 (func (param i32 i32 i32) (result i32)))
+ (type $5 (func (param i32 i32) (result i32)))
+ (type $6 (func (param i32) (result i32)))
(import $a "env" "a" (result i32))
(import $bar "env" "bar")
(import $something "env" "something")
@@ -34,7 +39,7 @@
(export "test13" $test13)
(export "test14" $test14)
(export "test15" $test15)
- (func $test0 (param $0 i32)
+ (func $test0 (type $2) (param $0 i32)
(local $1 i32)
(set_local $1
(i32.const 0)
@@ -43,7 +48,7 @@
(block $label$2
(br_if $label$2
(i32.lt_s
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $1)
(i32.const 1)
@@ -58,7 +63,7 @@
(br $label$0)
)
)
- (func $test1 (param $0 i32)
+ (func $test1 (type $2) (param $0 i32)
(local $1 i32)
(set_local $1
(i32.const 0)
@@ -67,7 +72,7 @@
(block $label$2
(br_if $label$2
(i32.lt_s
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $1)
(i32.const 1)
@@ -82,7 +87,7 @@
(br $label$0)
)
)
- (func $test2 (param $0 i32) (param $1 i32)
+ (func $test2 (type $3) (param $0 i32) (param $1 i32)
(block $label$0
(br_if $label$0
(i32.lt_s
@@ -107,7 +112,7 @@
)
)
(br_if $label$1
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $1)
(i32.const -1)
@@ -118,7 +123,7 @@
)
(return)
)
- (func $doublediamond (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $doublediamond (type $4) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(i32.store
(get_local $2)
(i32.const 0)
@@ -161,12 +166,21 @@
(i32.const 0)
)
)
- (func $triangle (param $0 i32) (param $1 i32) (result i32)
+ (func $triangle (type $5) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
+ (local $3 i32)
(set_local $2
- (i32.store
- (get_local $0)
- (i32.const 0)
+ (block
+ (block
+ (set_local $3
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $0)
+ (get_local $3)
+ )
+ )
+ (get_local $3)
)
)
(block $label$0
@@ -186,7 +200,7 @@
(get_local $2)
)
)
- (func $diamond (param $0 i32) (param $1 i32) (result i32)
+ (func $diamond (type $5) (param $0 i32) (param $1 i32) (result i32)
(i32.store
(get_local $0)
(i32.const 0)
@@ -215,15 +229,24 @@
(i32.const 0)
)
)
- (func $single_block (param $0 i32) (result i32)
+ (func $single_block (type $6) (param $0 i32) (result i32)
+ (local $1 i32)
(return
- (i32.store
- (get_local $0)
- (i32.const 0)
+ (block
+ (block
+ (set_local $1
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $0)
+ (get_local $1)
+ )
+ )
+ (get_local $1)
)
)
)
- (func $minimal_loop (param $0 i32) (result i32)
+ (func $minimal_loop (type $6) (param $0 i32) (result i32)
(i32.store
(get_local $0)
(i32.const 0)
@@ -236,7 +259,7 @@
(br $label$0)
)
)
- (func $simple_loop (param $0 i32) (param $1 i32) (result i32)
+ (func $simple_loop (type $5) (param $0 i32) (param $1 i32) (result i32)
(i32.store
(get_local $0)
(i32.const 0)
@@ -260,12 +283,21 @@
(i32.const 0)
)
)
- (func $doubletriangle (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $doubletriangle (type $4) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
+ (local $4 i32)
(set_local $3
- (i32.store
- (get_local $2)
- (i32.const 0)
+ (block
+ (block
+ (set_local $4
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $2)
+ (get_local $4)
+ )
+ )
+ (get_local $4)
)
)
(block $label$0
@@ -298,7 +330,7 @@
(get_local $3)
)
)
- (func $ifelse_earlyexits (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $ifelse_earlyexits (type $4) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(i32.store
(get_local $2)
(i32.const 0)
@@ -334,7 +366,7 @@
(i32.const 0)
)
)
- (func $doublediamond_in_a_loop (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $doublediamond_in_a_loop (type $4) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(loop $label$1 $label$0
(i32.store
(get_local $2)
@@ -383,7 +415,7 @@
(br $label$0)
)
)
- (func $test3 (param $0 i32)
+ (func $test3 (type $2) (param $0 i32)
(block $label$0
(br_if $label$0
(i32.const 0)
@@ -412,7 +444,7 @@
)
(return)
)
- (func $test4 (param $0 i32)
+ (func $test4 (type $2) (param $0 i32)
(block $label$0
(block $label$1
(br_if $label$1
@@ -426,9 +458,11 @@
(get_local $0)
)
)
- (i32.eq
- (get_local $0)
- (i32.const 2)
+ (drop
+ (i32.eq
+ (get_local $0)
+ (i32.const 2)
+ )
)
(br $label$0)
)
@@ -450,8 +484,9 @@
)
(return)
)
- (func $test5 (param $0 i32) (param $1 i32)
+ (func $test5 (type $3) (param $0 i32) (param $1 i32)
(local $2 i32)
+ (local $3 i32)
(set_local $2
(i32.and
(get_local $0)
@@ -467,9 +502,17 @@
(block $label$0
(loop $label$2 $label$1
(set_local $0
- (i32.store
- (i32.const 0)
- (i32.const 0)
+ (block
+ (block
+ (set_local $3
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 0)
+ (get_local $3)
+ )
+ )
+ (get_local $3)
)
)
(br_if $label$0
@@ -497,10 +540,12 @@
)
(return)
)
- (func $test6 (param $0 i32) (param $1 i32)
+ (func $test6 (type $3) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
+ (local $5 i32)
+ (local $6 i32)
(set_local $3
(i32.and
(get_local $0)
@@ -511,9 +556,17 @@
(block $label$1
(loop $label$3 $label$2
(set_local $0
- (i32.store
- (i32.const 0)
- (i32.const 0)
+ (block
+ (block
+ (set_local $5
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 0)
+ (get_local $5)
+ )
+ )
+ (get_local $5)
)
)
(br_if $label$0
@@ -523,13 +576,21 @@
)
(br_if $label$1
(i32.eqz
- (set_local $4
+ (tee_local $4
(i32.and
(get_local $1)
- (set_local $2
- (i32.store
- (get_local $0)
- (i32.const 1)
+ (tee_local $2
+ (block
+ (block
+ (set_local $6
+ (i32.const 1)
+ )
+ (i32.store
+ (get_local $0)
+ (get_local $6)
+ )
+ )
+ (get_local $6)
)
)
)
@@ -561,13 +622,23 @@
)
(return)
)
- (func $test7 (param $0 i32) (param $1 i32)
+ (func $test7 (type $3) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
(set_local $2
- (i32.store
- (i32.const 0)
- (i32.const 0)
+ (block
+ (block
+ (set_local $4
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 0)
+ (get_local $4)
+ )
+ )
+ (get_local $4)
)
)
(set_local $3
@@ -578,9 +649,17 @@
)
(loop $label$1 $label$0
(set_local $0
- (i32.store
- (get_local $2)
- (i32.const 1)
+ (block
+ (block
+ (set_local $5
+ (i32.const 1)
+ )
+ (i32.store
+ (get_local $2)
+ (get_local $5)
+ )
+ )
+ (get_local $5)
)
)
(block $label$2
@@ -620,7 +699,7 @@
)
(unreachable)
)
- (func $test8 (result i32)
+ (func $test8 (type $FUNCSIG$i) (result i32)
(loop $label$1 $label$0
(br_if $label$0
(i32.const 0)
@@ -628,23 +707,41 @@
(br $label$0)
)
)
- (func $test9
+ (func $test9 (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
+ (local $2 i32)
+ (local $3 i32)
(set_local $0
- (i32.store
- (i32.const 0)
- (i32.const 0)
+ (block
+ (block
+ (set_local $2
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 0)
+ (get_local $2)
+ )
+ )
+ (get_local $2)
)
)
(loop $label$1 $label$0
(br_if $label$1
(i32.eqz
(i32.and
- (set_local $1
- (i32.store
- (get_local $0)
- (i32.const 1)
+ (tee_local $1
+ (block
+ (block
+ (set_local $3
+ (i32.const 1)
+ )
+ (i32.store
+ (get_local $0)
+ (get_local $3)
+ )
+ )
+ (get_local $3)
)
)
(call_import $a)
@@ -700,7 +797,7 @@
)
(return)
)
- (func $test10
+ (func $test10 (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@@ -739,7 +836,7 @@
(loop $label$6 $label$5
(br_if $label$0
(i32.gt_u
- (set_local $2
+ (tee_local $2
(get_local $4)
)
(i32.const 4)
@@ -761,17 +858,26 @@
(br $label$0)
)
)
- (func $test11
+ (func $test11 (type $FUNCSIG$v)
(local $0 i32)
+ (local $1 i32)
(block $label$0
(block $label$1
(block $label$2
(block $label$3
(br_if $label$3
- (set_local $0
- (i32.store
- (i32.const 0)
- (i32.const 0)
+ (tee_local $0
+ (block
+ (block
+ (set_local $1
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 0)
+ (get_local $1)
+ )
+ )
+ (get_local $1)
)
)
)
@@ -832,14 +938,14 @@
)
(return)
)
- (func $test12 (param $0 i32)
+ (func $test12 (type $2) (param $0 i32)
(local $1 i32)
(loop $label$1 $label$0
(block $label$2
(block $label$3
(br_if $label$3
(i32.gt_s
- (set_local $1
+ (tee_local $1
(i32.load8_u
(get_local $0)
)
@@ -884,7 +990,7 @@
)
(return)
)
- (func $test13
+ (func $test13 (type $FUNCSIG$v)
(local $0 i32)
(block $label$0
(block $label$1
@@ -914,7 +1020,7 @@
)
(unreachable)
)
- (func $test14
+ (func $test14 (type $FUNCSIG$v)
(loop $label$1 $label$0
(br_if $label$0
(i32.const 0)
@@ -927,7 +1033,7 @@
)
(return)
)
- (func $test15
+ (func $test15 (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(block $label$0
@@ -947,7 +1053,7 @@
(i32.const 0)
)
(br_if $label$3
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $0)
(i32.const -4)
diff --git a/test/llvm_autogenerated/dead-vreg.wast b/test/llvm_autogenerated/dead-vreg.wast
index be6e82cfd..171f3c388 100644
--- a/test/llvm_autogenerated/dead-vreg.wast
+++ b/test/llvm_autogenerated/dead-vreg.wast
@@ -2,14 +2,16 @@
(memory 1)
(data (i32.const 4) "\10\04\00\00")
(export "memory" memory)
+ (type $0 (func (param i32 i32 i32)))
(export "foo" $foo)
- (func $foo (param $0 i32) (param $1 i32) (param $2 i32)
+ (func $foo (type $0) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
+ (local $9 i32)
(block $label$0
(br_if $label$0
(i32.lt_s
@@ -49,9 +51,17 @@
(loop $label$5 $label$4
(set_local $6
(i32.add
- (i32.store
- (get_local $7)
- (get_local $6)
+ (block
+ (block
+ (set_local $9
+ (get_local $6)
+ )
+ (i32.store
+ (get_local $7)
+ (get_local $9)
+ )
+ )
+ (get_local $9)
)
(get_local $5)
)
@@ -63,7 +73,7 @@
)
)
(br_if $label$4
- (set_local $8
+ (tee_local $8
(i32.add
(get_local $8)
(i32.const -1)
@@ -80,7 +90,7 @@
)
(br_if $label$1
(i32.ne
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $5)
(i32.const 1)
diff --git a/test/llvm_autogenerated/i128.wast b/test/llvm_autogenerated/i128.wast
index 830c1433c..d76ae4df8 100644
--- a/test/llvm_autogenerated/i128.wast
+++ b/test/llvm_autogenerated/i128.wast
@@ -4,6 +4,8 @@
(export "memory" memory)
(type $FUNCSIG$vijji (func (param i32 i64 i64 i32)))
(type $FUNCSIG$vijjjj (func (param i32 i64 i64 i64 i64)))
+ (type $2 (func (param i32 i64 i64)))
+ (type $3 (func (param i64 i64) (result i32)))
(import $__ashlti3 "env" "__ashlti3" (param i32 i64 i64 i32))
(import $__ashrti3 "env" "__ashrti3" (param i32 i64 i64 i32))
(import $__divti3 "env" "__divti3" (param i32 i64 i64 i64 i64))
@@ -35,7 +37,8 @@
(export "masked_rotl" $masked_rotl)
(export "rotr" $rotr)
(export "masked_rotr" $masked_rotr)
- (func $add128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (func $add128 (type $FUNCSIG$vijjjj) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (local $5 i64)
(i64.store
(i32.add
(get_local $0)
@@ -50,13 +53,21 @@
(i64.const 1)
(i64.extend_u/i32
(i64.lt_u
- (set_local $2
- (i64.store
- (get_local $0)
- (i64.add
- (get_local $1)
- (get_local $3)
+ (tee_local $2
+ (block
+ (block
+ (set_local $5
+ (i64.add
+ (get_local $1)
+ (get_local $3)
+ )
+ )
+ (i64.store
+ (get_local $0)
+ (get_local $5)
+ )
)
+ (get_local $5)
)
)
(get_local $1)
@@ -71,7 +82,7 @@
)
(return)
)
- (func $sub128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (func $sub128 (type $FUNCSIG$vijjjj) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
(i64.store
(get_local $0)
(i64.sub
@@ -99,18 +110,27 @@
)
(return)
)
- (func $mul128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (func $mul128 (type $FUNCSIG$vijjjj) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
(local $5 i32)
+ (local $6 i32)
(call_import $__multi3
- (set_local $5
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $5
+ (block
+ (block
+ (set_local $6
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 16)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $6)
)
- (i32.const 16)
)
+ (get_local $6)
)
)
(get_local $1)
@@ -145,18 +165,27 @@
)
(return)
)
- (func $sdiv128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (func $sdiv128 (type $FUNCSIG$vijjjj) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
(local $5 i32)
+ (local $6 i32)
(call_import $__divti3
- (set_local $5
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $5
+ (block
+ (block
+ (set_local $6
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 16)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $6)
)
- (i32.const 16)
)
+ (get_local $6)
)
)
(get_local $1)
@@ -191,18 +220,27 @@
)
(return)
)
- (func $udiv128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (func $udiv128 (type $FUNCSIG$vijjjj) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
(local $5 i32)
+ (local $6 i32)
(call_import $__udivti3
- (set_local $5
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $5
+ (block
+ (block
+ (set_local $6
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 16)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $6)
)
- (i32.const 16)
)
+ (get_local $6)
)
)
(get_local $1)
@@ -237,18 +275,27 @@
)
(return)
)
- (func $srem128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (func $srem128 (type $FUNCSIG$vijjjj) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
(local $5 i32)
+ (local $6 i32)
(call_import $__modti3
- (set_local $5
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $5
+ (block
+ (block
+ (set_local $6
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 16)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $6)
)
- (i32.const 16)
)
+ (get_local $6)
)
)
(get_local $1)
@@ -283,18 +330,27 @@
)
(return)
)
- (func $urem128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (func $urem128 (type $FUNCSIG$vijjjj) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
(local $5 i32)
+ (local $6 i32)
(call_import $__umodti3
- (set_local $5
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $5
+ (block
+ (block
+ (set_local $6
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 16)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $6)
)
- (i32.const 16)
)
+ (get_local $6)
)
)
(get_local $1)
@@ -329,7 +385,7 @@
)
(return)
)
- (func $and128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (func $and128 (type $FUNCSIG$vijjjj) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
(i64.store
(i32.add
(get_local $0)
@@ -349,7 +405,7 @@
)
(return)
)
- (func $or128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (func $or128 (type $FUNCSIG$vijjjj) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
(i64.store
(i32.add
(get_local $0)
@@ -369,7 +425,7 @@
)
(return)
)
- (func $xor128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (func $xor128 (type $FUNCSIG$vijjjj) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
(i64.store
(i32.add
(get_local $0)
@@ -389,18 +445,27 @@
)
(return)
)
- (func $shl128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (func $shl128 (type $FUNCSIG$vijjjj) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
(local $5 i32)
+ (local $6 i32)
(call_import $__ashlti3
- (set_local $5
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $5
+ (block
+ (block
+ (set_local $6
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 16)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $6)
)
- (i32.const 16)
)
+ (get_local $6)
)
)
(get_local $1)
@@ -436,18 +501,27 @@
)
(return)
)
- (func $shr128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (func $shr128 (type $FUNCSIG$vijjjj) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
(local $5 i32)
+ (local $6 i32)
(call_import $__lshrti3
- (set_local $5
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $5
+ (block
+ (block
+ (set_local $6
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 16)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $6)
)
- (i32.const 16)
)
+ (get_local $6)
)
)
(get_local $1)
@@ -483,18 +557,27 @@
)
(return)
)
- (func $sar128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (func $sar128 (type $FUNCSIG$vijjjj) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
(local $5 i32)
+ (local $6 i32)
(call_import $__ashrti3
- (set_local $5
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $5
+ (block
+ (block
+ (set_local $6
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 16)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $6)
)
- (i32.const 16)
)
+ (get_local $6)
)
)
(get_local $1)
@@ -530,7 +613,8 @@
)
(return)
)
- (func $clz128 (param $0 i32) (param $1 i64) (param $2 i64)
+ (func $clz128 (type $2) (param $0 i32) (param $1 i64) (param $2 i64)
+ (local $3 i64)
(i64.store
(get_local $0)
(select
@@ -545,19 +629,28 @@
)
(i64.ne
(get_local $2)
- (i64.store
- (i32.add
- (get_local $0)
- (i32.const 8)
+ (block
+ (block
+ (set_local $3
+ (i64.const 0)
+ )
+ (i64.store
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
+ (get_local $3)
+ )
)
- (i64.const 0)
+ (get_local $3)
)
)
)
)
(return)
)
- (func $clz128_zero_undef (param $0 i32) (param $1 i64) (param $2 i64)
+ (func $clz128_zero_undef (type $2) (param $0 i32) (param $1 i64) (param $2 i64)
+ (local $3 i64)
(i64.store
(get_local $0)
(select
@@ -572,19 +665,28 @@
)
(i64.ne
(get_local $2)
- (i64.store
- (i32.add
- (get_local $0)
- (i32.const 8)
+ (block
+ (block
+ (set_local $3
+ (i64.const 0)
+ )
+ (i64.store
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
+ (get_local $3)
+ )
)
- (i64.const 0)
+ (get_local $3)
)
)
)
)
(return)
)
- (func $ctz128 (param $0 i32) (param $1 i64) (param $2 i64)
+ (func $ctz128 (type $2) (param $0 i32) (param $1 i64) (param $2 i64)
+ (local $3 i64)
(i64.store
(get_local $0)
(select
@@ -599,19 +701,28 @@
)
(i64.ne
(get_local $1)
- (i64.store
- (i32.add
- (get_local $0)
- (i32.const 8)
+ (block
+ (block
+ (set_local $3
+ (i64.const 0)
+ )
+ (i64.store
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
+ (get_local $3)
+ )
)
- (i64.const 0)
+ (get_local $3)
)
)
)
)
(return)
)
- (func $ctz128_zero_undef (param $0 i32) (param $1 i64) (param $2 i64)
+ (func $ctz128_zero_undef (type $2) (param $0 i32) (param $1 i64) (param $2 i64)
+ (local $3 i64)
(i64.store
(get_local $0)
(select
@@ -626,19 +737,27 @@
)
(i64.ne
(get_local $1)
- (i64.store
- (i32.add
- (get_local $0)
- (i32.const 8)
+ (block
+ (block
+ (set_local $3
+ (i64.const 0)
+ )
+ (i64.store
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
+ (get_local $3)
+ )
)
- (i64.const 0)
+ (get_local $3)
)
)
)
)
(return)
)
- (func $popcnt128 (param $0 i32) (param $1 i64) (param $2 i64)
+ (func $popcnt128 (type $2) (param $0 i32) (param $1 i64) (param $2 i64)
(i64.store
(i32.add
(get_local $0)
@@ -659,7 +778,7 @@
)
(return)
)
- (func $eqz128 (param $0 i64) (param $1 i64) (result i32)
+ (func $eqz128 (type $3) (param $0 i64) (param $1 i64) (result i32)
(return
(i64.eqz
(i64.or
@@ -669,19 +788,28 @@
)
)
)
- (func $rotl (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (func $rotl (type $FUNCSIG$vijjjj) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
(local $5 i32)
+ (local $6 i32)
(call_import $__ashlti3
(i32.add
- (set_local $5
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $5
+ (block
+ (block
+ (set_local $6
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 32)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $6)
)
- (i32.const 32)
)
+ (get_local $6)
)
)
(i32.const 16)
@@ -746,19 +874,28 @@
)
(return)
)
- (func $masked_rotl (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (func $masked_rotl (type $FUNCSIG$vijjjj) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
(local $5 i32)
+ (local $6 i32)
(call_import $__ashlti3
(i32.add
- (set_local $5
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $5
+ (block
+ (block
+ (set_local $6
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 32)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $6)
)
- (i32.const 32)
)
+ (get_local $6)
)
)
(i32.const 16)
@@ -766,7 +903,7 @@
(get_local $1)
(get_local $2)
(i32.wrap/i64
- (set_local $3
+ (tee_local $3
(i64.and
(get_local $3)
(i64.const 127)
@@ -828,19 +965,28 @@
)
(return)
)
- (func $rotr (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (func $rotr (type $FUNCSIG$vijjjj) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
(local $5 i32)
+ (local $6 i32)
(call_import $__lshrti3
(i32.add
- (set_local $5
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $5
+ (block
+ (block
+ (set_local $6
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 32)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $6)
)
- (i32.const 32)
)
+ (get_local $6)
)
)
(i32.const 16)
@@ -905,19 +1051,28 @@
)
(return)
)
- (func $masked_rotr (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (func $masked_rotr (type $FUNCSIG$vijjjj) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
(local $5 i32)
+ (local $6 i32)
(call_import $__lshrti3
(i32.add
- (set_local $5
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $5
+ (block
+ (block
+ (set_local $6
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 32)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $6)
)
- (i32.const 32)
)
+ (get_local $6)
)
)
(i32.const 16)
@@ -925,7 +1080,7 @@
(get_local $1)
(get_local $2)
(i32.wrap/i64
- (set_local $3
+ (tee_local $3
(i64.and
(get_local $3)
(i64.const 127)
diff --git a/test/llvm_autogenerated/i64-load-store-alignment.wast b/test/llvm_autogenerated/i64-load-store-alignment.wast
index 33362acfc..981e552c9 100644
--- a/test/llvm_autogenerated/i64-load-store-alignment.wast
+++ b/test/llvm_autogenerated/i64-load-store-alignment.wast
@@ -215,28 +215,28 @@
(return)
)
(func $sti32_a1 (param $0 i32) (param $1 i64)
- (i64.store32 align=1
+ (i64.store align=1
(get_local $0)
(get_local $1)
)
(return)
)
(func $sti32_a2 (param $0 i32) (param $1 i64)
- (i64.store32 align=2
+ (i64.store align=2
(get_local $0)
(get_local $1)
)
(return)
)
(func $sti32_a4 (param $0 i32) (param $1 i64)
- (i64.store32
+ (i64.store
(get_local $0)
(get_local $1)
)
(return)
)
(func $sti32_a8 (param $0 i32) (param $1 i64)
- (i64.store32
+ (i64.store
(get_local $0)
(get_local $1)
)
diff --git a/test/llvm_autogenerated/legalize.wast b/test/llvm_autogenerated/legalize.wast
index 912efce02..37c487a3e 100644
--- a/test/llvm_autogenerated/legalize.wast
+++ b/test/llvm_autogenerated/legalize.wast
@@ -3,6 +3,12 @@
(data (i32.const 4) "\10\04\00\00")
(export "memory" memory)
(type $FUNCSIG$vijji (func (param i32 i64 i64 i32)))
+ (type $1 (func (param i32 i32 i32) (result i32)))
+ (type $2 (func (param i64 i64 i32) (result i64)))
+ (type $3 (func (param i64) (result i64)))
+ (type $4 (func (param i32) (result f64)))
+ (type $5 (func (param i32) (result f32)))
+ (type $6 (func (param i32 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64)))
(import $__ashlti3 "env" "__ashlti3" (param i32 i64 i64 i32))
(import $__lshrti3 "env" "__lshrti3" (param i32 i64 i64 i32))
(export "shl_i3" $shl_i3)
@@ -11,7 +17,7 @@
(export "fpext_f32_f64" $fpext_f32_f64)
(export "fpconv_f64_f32" $fpconv_f64_f32)
(export "bigshift" $bigshift)
- (func $shl_i3 (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $shl_i3 (type $1) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(return
(i32.shl
(get_local $0)
@@ -22,7 +28,7 @@
)
)
)
- (func $shl_i53 (param $0 i64) (param $1 i64) (param $2 i32) (result i64)
+ (func $shl_i53 (type $2) (param $0 i64) (param $1 i64) (param $2 i32) (result i64)
(return
(i64.shl
(get_local $0)
@@ -33,7 +39,7 @@
)
)
)
- (func $sext_in_reg_i32_i64 (param $0 i64) (result i64)
+ (func $sext_in_reg_i32_i64 (type $3) (param $0 i64) (result i64)
(return
(i64.shr_s
(i64.shl
@@ -44,7 +50,7 @@
)
)
)
- (func $fpext_f32_f64 (param $0 i32) (result f64)
+ (func $fpext_f32_f64 (type $4) (param $0 i32) (result f64)
(return
(f64.promote/f32
(f32.load
@@ -53,7 +59,7 @@
)
)
)
- (func $fpconv_f64_f32 (param $0 i32) (result f32)
+ (func $fpconv_f64_f32 (type $5) (param $0 i32) (result f32)
(return
(f32.demote/f64
(f64.load
@@ -62,7 +68,7 @@
)
)
)
- (func $bigshift (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (param $5 i64) (param $6 i64) (param $7 i64) (param $8 i64) (param $9 i64) (param $10 i64) (param $11 i64) (param $12 i64) (param $13 i64) (param $14 i64) (param $15 i64) (param $16 i64) (param $17 i64) (param $18 i64) (param $19 i64) (param $20 i64) (param $21 i64) (param $22 i64) (param $23 i64) (param $24 i64) (param $25 i64) (param $26 i64) (param $27 i64) (param $28 i64) (param $29 i64) (param $30 i64) (param $31 i64) (param $32 i64)
+ (func $bigshift (type $6) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (param $5 i64) (param $6 i64) (param $7 i64) (param $8 i64) (param $9 i64) (param $10 i64) (param $11 i64) (param $12 i64) (param $13 i64) (param $14 i64) (param $15 i64) (param $16 i64) (param $17 i64) (param $18 i64) (param $19 i64) (param $20 i64) (param $21 i64) (param $22 i64) (param $23 i64) (param $24 i64) (param $25 i64) (param $26 i64) (param $27 i64) (param $28 i64) (param $29 i64) (param $30 i64) (param $31 i64) (param $32 i64)
(local $33 i32)
(local $34 i32)
(local $35 i32)
@@ -83,24 +89,33 @@
(local $50 i32)
(local $51 i32)
(local $52 i32)
+ (local $53 i32)
(call_import $__ashlti3
(i32.add
- (set_local $33
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $33
+ (block
+ (block
+ (set_local $53
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 1024)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $53)
)
- (i32.const 1024)
)
+ (get_local $53)
)
)
(i32.const 512)
)
(get_local $1)
(get_local $2)
- (set_local $34
+ (tee_local $34
(i32.wrap/i64
(get_local $17)
)
@@ -122,7 +137,7 @@
)
(get_local $1)
(get_local $2)
- (set_local $42
+ (tee_local $42
(i32.sub
(i32.const 128)
(get_local $34)
@@ -136,7 +151,7 @@
)
(get_local $1)
(get_local $2)
- (set_local $43
+ (tee_local $43
(i32.add
(get_local $34)
(i32.const -128)
@@ -150,7 +165,7 @@
)
(get_local $1)
(get_local $2)
- (set_local $44
+ (tee_local $44
(i32.sub
(i32.const 384)
(get_local $34)
@@ -164,7 +179,7 @@
)
(get_local $3)
(get_local $4)
- (set_local $35
+ (tee_local $35
(i32.add
(get_local $34)
(i32.const -256)
@@ -178,7 +193,7 @@
)
(get_local $1)
(get_local $2)
- (set_local $40
+ (tee_local $40
(i32.add
(get_local $34)
(i32.const -384)
@@ -219,7 +234,7 @@
)
(get_local $3)
(get_local $4)
- (set_local $36
+ (tee_local $36
(i32.sub
(i32.const 256)
(get_local $34)
@@ -242,7 +257,7 @@
)
(get_local $3)
(get_local $4)
- (set_local $51
+ (tee_local $51
(i32.sub
(i32.const 128)
(get_local $36)
@@ -295,7 +310,7 @@
)
(get_local $3)
(get_local $4)
- (set_local $37
+ (tee_local $37
(i32.add
(get_local $34)
(i32.const -768)
@@ -321,7 +336,7 @@
)
(get_local $5)
(get_local $6)
- (set_local $46
+ (tee_local $46
(i32.sub
(i32.const 640)
(get_local $34)
@@ -335,7 +350,7 @@
)
(get_local $7)
(get_local $8)
- (set_local $38
+ (tee_local $38
(i32.add
(get_local $34)
(i32.const -512)
@@ -349,7 +364,7 @@
)
(get_local $5)
(get_local $6)
- (set_local $52
+ (tee_local $52
(i32.add
(get_local $34)
(i32.const -640)
@@ -363,7 +378,7 @@
)
(get_local $3)
(get_local $4)
- (set_local $39
+ (tee_local $39
(i32.sub
(i32.const 768)
(get_local $34)
@@ -440,7 +455,7 @@
)
(get_local $7)
(get_local $8)
- (set_local $40
+ (tee_local $40
(i32.sub
(i32.const 512)
(get_local $34)
@@ -463,7 +478,7 @@
)
(get_local $7)
(get_local $8)
- (set_local $45
+ (tee_local $45
(i32.sub
(i32.const 128)
(get_local $40)
@@ -633,7 +648,7 @@
)
(get_local $5)
(get_local $6)
- (set_local $41
+ (tee_local $41
(i32.sub
(i32.const 256)
(get_local $40)
@@ -778,7 +793,7 @@
)
)
(i64.const 0)
- (set_local $42
+ (tee_local $42
(i32.lt_u
(get_local $34)
(i32.const 128)
@@ -786,7 +801,7 @@
)
)
(i64.const 0)
- (set_local $43
+ (tee_local $43
(i32.lt_u
(get_local $34)
(i32.const 256)
@@ -794,7 +809,7 @@
)
)
(i64.const 0)
- (set_local $44
+ (tee_local $44
(i32.lt_u
(get_local $34)
(i32.const 512)
@@ -958,7 +973,7 @@
)
)
(i64.const 0)
- (set_local $46
+ (tee_local $46
(i32.lt_u
(get_local $36)
(i32.const 128)
@@ -997,7 +1012,7 @@
(i32.const 8)
)
)
- (set_local $45
+ (tee_local $45
(i32.lt_u
(get_local $35)
(i32.const 128)
@@ -1324,7 +1339,7 @@
)
)
(i64.const 0)
- (set_local $51
+ (tee_local $51
(i32.lt_u
(get_local $40)
(i32.const 128)
@@ -1332,7 +1347,7 @@
)
)
(i64.const 0)
- (set_local $52
+ (tee_local $52
(i32.lt_u
(get_local $40)
(i32.const 256)
@@ -1374,7 +1389,7 @@
(i32.const 8)
)
)
- (set_local $48
+ (tee_local $48
(i32.lt_u
(get_local $38)
(i32.const 128)
@@ -1395,7 +1410,7 @@
)
)
(i64.const 0)
- (set_local $49
+ (tee_local $49
(i32.lt_u
(get_local $39)
(i32.const 128)
@@ -1434,7 +1449,7 @@
(i32.const 8)
)
)
- (set_local $47
+ (tee_local $47
(i32.lt_u
(get_local $37)
(i32.const 128)
@@ -1444,7 +1459,7 @@
(get_local $4)
(get_local $37)
)
- (set_local $50
+ (tee_local $50
(i32.lt_u
(get_local $38)
(i32.const 256)
@@ -1978,7 +1993,7 @@
)
)
(i64.const 0)
- (set_local $35
+ (tee_local $35
(i32.lt_u
(get_local $41)
(i32.const 128)
diff --git a/test/llvm_autogenerated/mem-intrinsics.wast b/test/llvm_autogenerated/mem-intrinsics.wast
index 62d586ad9..52d52c13a 100644
--- a/test/llvm_autogenerated/mem-intrinsics.wast
+++ b/test/llvm_autogenerated/mem-intrinsics.wast
@@ -5,6 +5,8 @@
(type $FUNCSIG$v (func))
(type $FUNCSIG$i (func (result i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
+ (type $3 (func (param i32 i32 i32)))
+ (type $4 (func (param i32 i32 i32 i32 i32) (result i32)))
(import $block_tail_dup "env" "block_tail_dup")
(import $def "env" "def" (result i32))
(import $memcpy "env" "memcpy" (param i32 i32 i32) (result i32))
@@ -19,7 +21,7 @@
(export "frame_index" $frame_index)
(export "drop_result" $drop_result)
(export "tail_dup_to_reuse_result" $tail_dup_to_reuse_result)
- (func $copy_yes (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $copy_yes (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(return
(call_import $memcpy
(get_local $0)
@@ -28,15 +30,17 @@
)
)
)
- (func $copy_no (param $0 i32) (param $1 i32) (param $2 i32)
- (call_import $memcpy
- (get_local $0)
- (get_local $1)
- (get_local $2)
+ (func $copy_no (type $3) (param $0 i32) (param $1 i32) (param $2 i32)
+ (drop
+ (call_import $memcpy
+ (get_local $0)
+ (get_local $1)
+ (get_local $2)
+ )
)
(return)
)
- (func $move_yes (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $move_yes (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(return
(call_import $memmove
(get_local $0)
@@ -45,15 +49,17 @@
)
)
)
- (func $move_no (param $0 i32) (param $1 i32) (param $2 i32)
- (call_import $memmove
- (get_local $0)
- (get_local $1)
- (get_local $2)
+ (func $move_no (type $3) (param $0 i32) (param $1 i32) (param $2 i32)
+ (drop
+ (call_import $memmove
+ (get_local $0)
+ (get_local $1)
+ (get_local $2)
+ )
)
(return)
)
- (func $set_yes (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $set_yes (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(return
(call_import $memset
(get_local $0)
@@ -62,33 +68,46 @@
)
)
)
- (func $set_no (param $0 i32) (param $1 i32) (param $2 i32)
- (call_import $memset
- (get_local $0)
- (get_local $1)
- (get_local $2)
+ (func $set_no (type $3) (param $0 i32) (param $1 i32) (param $2 i32)
+ (drop
+ (call_import $memset
+ (get_local $0)
+ (get_local $1)
+ (get_local $2)
+ )
)
(return)
)
- (func $frame_index
+ (func $frame_index (type $FUNCSIG$v)
(local $0 i32)
- (call_import $memset
- (i32.add
- (set_local $0
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
- (i32.const 4)
+ (local $1 i32)
+ (drop
+ (call_import $memset
+ (i32.add
+ (tee_local $0
+ (block
+ (block
+ (set_local $1
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 4096)
+ )
+ )
+ (i32.store
+ (i32.const 4)
+ (get_local $1)
+ )
)
- (i32.const 4096)
+ (get_local $1)
)
)
+ (i32.const 2048)
)
- (i32.const 2048)
+ (i32.const 0)
+ (i32.const 1024)
)
- (i32.const 0)
- (i32.const 1024)
)
(i32.store
(i32.const 4)
@@ -103,7 +122,7 @@
)
(return)
)
- (func $drop_result (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
+ (func $drop_result (type $4) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(block $label$0
(block $label$1
(block $label$2
@@ -128,17 +147,19 @@
(get_local $0)
)
)
- (call_import $memset
- (get_local $0)
- (get_local $1)
- (get_local $2)
+ (drop
+ (call_import $memset
+ (get_local $0)
+ (get_local $1)
+ (get_local $2)
+ )
)
(call_import $block_tail_dup)
(return
(get_local $0)
)
)
- (func $tail_dup_to_reuse_result (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
+ (func $tail_dup_to_reuse_result (type $4) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(block $label$0
(block $label$1
(block $label$2
diff --git a/test/llvm_autogenerated/offset.wast b/test/llvm_autogenerated/offset.wast
index a24a055e3..b86e801f2 100644
--- a/test/llvm_autogenerated/offset.wast
+++ b/test/llvm_autogenerated/offset.wast
@@ -3,6 +3,12 @@
(data (i32.const 4) "\10\04\00\00")
(data (i32.const 12) "\00\00\00\00")
(export "memory" memory)
+ (type $0 (func (param i32) (result i32)))
+ (type $1 (func (param i32) (result i64)))
+ (type $2 (func (param i32)))
+ (type $3 (func (result i32)))
+ (type $4 (func))
+ (type $5 (func (param i32 i32)))
(export "load_i32_with_folded_offset" $load_i32_with_folded_offset)
(export "load_i32_with_folded_gep_offset" $load_i32_with_folded_gep_offset)
(export "load_i32_with_unfolded_gep_negative_offset" $load_i32_with_unfolded_gep_negative_offset)
@@ -38,17 +44,17 @@
(export "aggregate_load_store" $aggregate_load_store)
(export "aggregate_return" $aggregate_return)
(export "aggregate_return_without_merge" $aggregate_return_without_merge)
- (func $load_i32_with_folded_offset (param $0 i32) (result i32)
+ (func $load_i32_with_folded_offset (type $0) (param $0 i32) (result i32)
(i32.load offset=24
(get_local $0)
)
)
- (func $load_i32_with_folded_gep_offset (param $0 i32) (result i32)
+ (func $load_i32_with_folded_gep_offset (type $0) (param $0 i32) (result i32)
(i32.load offset=24
(get_local $0)
)
)
- (func $load_i32_with_unfolded_gep_negative_offset (param $0 i32) (result i32)
+ (func $load_i32_with_unfolded_gep_negative_offset (type $0) (param $0 i32) (result i32)
(i32.load
(i32.add
(get_local $0)
@@ -56,7 +62,7 @@
)
)
)
- (func $load_i32_with_unfolded_offset (param $0 i32) (result i32)
+ (func $load_i32_with_unfolded_offset (type $0) (param $0 i32) (result i32)
(i32.load
(i32.add
(get_local $0)
@@ -64,7 +70,7 @@
)
)
)
- (func $load_i32_with_unfolded_gep_offset (param $0 i32) (result i32)
+ (func $load_i32_with_unfolded_gep_offset (type $0) (param $0 i32) (result i32)
(i32.load
(i32.add
(get_local $0)
@@ -72,17 +78,17 @@
)
)
)
- (func $load_i64_with_folded_offset (param $0 i32) (result i64)
+ (func $load_i64_with_folded_offset (type $1) (param $0 i32) (result i64)
(i64.load offset=24
(get_local $0)
)
)
- (func $load_i64_with_folded_gep_offset (param $0 i32) (result i64)
+ (func $load_i64_with_folded_gep_offset (type $1) (param $0 i32) (result i64)
(i64.load offset=24
(get_local $0)
)
)
- (func $load_i64_with_unfolded_gep_negative_offset (param $0 i32) (result i64)
+ (func $load_i64_with_unfolded_gep_negative_offset (type $1) (param $0 i32) (result i64)
(i64.load
(i32.add
(get_local $0)
@@ -90,7 +96,7 @@
)
)
)
- (func $load_i64_with_unfolded_offset (param $0 i32) (result i64)
+ (func $load_i64_with_unfolded_offset (type $1) (param $0 i32) (result i64)
(i64.load
(i32.add
(get_local $0)
@@ -98,7 +104,7 @@
)
)
)
- (func $load_i64_with_unfolded_gep_offset (param $0 i32) (result i64)
+ (func $load_i64_with_unfolded_gep_offset (type $1) (param $0 i32) (result i64)
(i64.load
(i32.add
(get_local $0)
@@ -106,7 +112,7 @@
)
)
)
- (func $load_i32_with_folded_or_offset (param $0 i32) (result i32)
+ (func $load_i32_with_folded_or_offset (type $0) (param $0 i32) (result i32)
(i32.load8_s offset=2
(i32.and
(get_local $0)
@@ -114,19 +120,19 @@
)
)
)
- (func $store_i32_with_folded_offset (param $0 i32)
+ (func $store_i32_with_folded_offset (type $2) (param $0 i32)
(i32.store offset=24
(get_local $0)
(i32.const 0)
)
)
- (func $store_i32_with_folded_gep_offset (param $0 i32)
+ (func $store_i32_with_folded_gep_offset (type $2) (param $0 i32)
(i32.store offset=24
(get_local $0)
(i32.const 0)
)
)
- (func $store_i32_with_unfolded_gep_negative_offset (param $0 i32)
+ (func $store_i32_with_unfolded_gep_negative_offset (type $2) (param $0 i32)
(i32.store
(i32.add
(get_local $0)
@@ -135,7 +141,7 @@
(i32.const 0)
)
)
- (func $store_i32_with_unfolded_offset (param $0 i32)
+ (func $store_i32_with_unfolded_offset (type $2) (param $0 i32)
(i32.store
(i32.add
(get_local $0)
@@ -144,7 +150,7 @@
(i32.const 0)
)
)
- (func $store_i32_with_unfolded_gep_offset (param $0 i32)
+ (func $store_i32_with_unfolded_gep_offset (type $2) (param $0 i32)
(i32.store
(i32.add
(get_local $0)
@@ -153,19 +159,19 @@
(i32.const 0)
)
)
- (func $store_i64_with_folded_offset (param $0 i32)
+ (func $store_i64_with_folded_offset (type $2) (param $0 i32)
(i64.store offset=24
(get_local $0)
(i64.const 0)
)
)
- (func $store_i64_with_folded_gep_offset (param $0 i32)
+ (func $store_i64_with_folded_gep_offset (type $2) (param $0 i32)
(i64.store offset=24
(get_local $0)
(i64.const 0)
)
)
- (func $store_i64_with_unfolded_gep_negative_offset (param $0 i32)
+ (func $store_i64_with_unfolded_gep_negative_offset (type $2) (param $0 i32)
(i64.store
(i32.add
(get_local $0)
@@ -174,7 +180,7 @@
(i64.const 0)
)
)
- (func $store_i64_with_unfolded_offset (param $0 i32)
+ (func $store_i64_with_unfolded_offset (type $2) (param $0 i32)
(i64.store
(i32.add
(get_local $0)
@@ -183,7 +189,7 @@
(i64.const 0)
)
)
- (func $store_i64_with_unfolded_gep_offset (param $0 i32)
+ (func $store_i64_with_unfolded_gep_offset (type $2) (param $0 i32)
(i64.store
(i32.add
(get_local $0)
@@ -192,7 +198,7 @@
(i64.const 0)
)
)
- (func $store_i32_with_folded_or_offset (param $0 i32)
+ (func $store_i32_with_folded_or_offset (type $2) (param $0 i32)
(i32.store8 offset=2
(i32.and
(get_local $0)
@@ -201,61 +207,61 @@
(i32.const 0)
)
)
- (func $load_i32_from_numeric_address (result i32)
+ (func $load_i32_from_numeric_address (type $3) (result i32)
(i32.load offset=42
(i32.const 0)
)
)
- (func $load_i32_from_global_address (result i32)
+ (func $load_i32_from_global_address (type $3) (result i32)
(i32.load offset=12
(i32.const 0)
)
)
- (func $store_i32_to_numeric_address
+ (func $store_i32_to_numeric_address (type $4)
(i32.store offset=42
(i32.const 0)
(i32.const 0)
)
)
- (func $store_i32_to_global_address
+ (func $store_i32_to_global_address (type $4)
(i32.store offset=12
(i32.const 0)
(i32.const 0)
)
)
- (func $load_i8_s_with_folded_offset (param $0 i32) (result i32)
+ (func $load_i8_s_with_folded_offset (type $0) (param $0 i32) (result i32)
(i32.load8_s offset=24
(get_local $0)
)
)
- (func $load_i8_s_with_folded_gep_offset (param $0 i32) (result i32)
+ (func $load_i8_s_with_folded_gep_offset (type $0) (param $0 i32) (result i32)
(i32.load8_s offset=24
(get_local $0)
)
)
- (func $load_i8_u_with_folded_offset (param $0 i32) (result i32)
+ (func $load_i8_u_with_folded_offset (type $0) (param $0 i32) (result i32)
(i32.load8_u offset=24
(get_local $0)
)
)
- (func $load_i8_u_with_folded_gep_offset (param $0 i32) (result i32)
+ (func $load_i8_u_with_folded_gep_offset (type $0) (param $0 i32) (result i32)
(i32.load8_u offset=24
(get_local $0)
)
)
- (func $store_i8_with_folded_offset (param $0 i32)
+ (func $store_i8_with_folded_offset (type $2) (param $0 i32)
(i32.store8 offset=24
(get_local $0)
(i32.const 0)
)
)
- (func $store_i8_with_folded_gep_offset (param $0 i32)
+ (func $store_i8_with_folded_gep_offset (type $2) (param $0 i32)
(i32.store8 offset=24
(get_local $0)
(i32.const 0)
)
)
- (func $aggregate_load_store (param $0 i32) (param $1 i32)
+ (func $aggregate_load_store (type $5) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@@ -293,24 +299,51 @@
(get_local $2)
)
)
- (func $aggregate_return (param $0 i32)
+ (func $aggregate_return (type $2) (param $0 i32)
+ (local $1 i64)
(i64.store align=4
(get_local $0)
- (i64.store offset=8 align=4
- (get_local $0)
- (i64.const 0)
+ (block
+ (block
+ (set_local $1
+ (i64.const 0)
+ )
+ (i64.store offset=8 align=4
+ (get_local $0)
+ (get_local $1)
+ )
+ )
+ (get_local $1)
)
)
)
- (func $aggregate_return_without_merge (param $0 i32)
+ (func $aggregate_return_without_merge (type $2) (param $0 i32)
+ (local $1 i32)
+ (local $2 i32)
(i32.store offset=8
(get_local $0)
- (i32.store16 offset=12
- (get_local $0)
- (i32.store8 offset=14
- (get_local $0)
- (i32.const 0)
+ (block
+ (block
+ (set_local $2
+ (block
+ (block
+ (set_local $1
+ (i32.const 0)
+ )
+ (i32.store8 offset=14
+ (get_local $0)
+ (get_local $1)
+ )
+ )
+ (get_local $1)
+ )
+ )
+ (i32.store16 offset=12
+ (get_local $0)
+ (get_local $2)
+ )
)
+ (get_local $2)
)
)
(i64.store
diff --git a/test/llvm_autogenerated/phi.wast b/test/llvm_autogenerated/phi.wast
index 3bd742e8d..6975b7197 100644
--- a/test/llvm_autogenerated/phi.wast
+++ b/test/llvm_autogenerated/phi.wast
@@ -49,7 +49,7 @@
)
(br_if $label$0
(i32.lt_s
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $4)
(i32.const 1)
diff --git a/test/llvm_autogenerated/reg-stackify.wast b/test/llvm_autogenerated/reg-stackify.wast
index b9526b566..fa4225900 100644
--- a/test/llvm_autogenerated/reg-stackify.wast
+++ b/test/llvm_autogenerated/reg-stackify.wast
@@ -9,6 +9,11 @@
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
+ (type $6 (func (param i32 i32 i32) (result i32)))
+ (type $7 (func (param i32 i32 i32 i32) (result i32)))
+ (type $8 (func (param i32 i32 i32)))
+ (type $9 (func (param i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) (result i32)))
+ (type $10 (func (param i32 i32 i32 i32 i32)))
(import $blue "env" "blue" (result i32))
(import $callee "env" "callee" (param i32) (result i32))
(import $evoke_side_effects "env" "evoke_side_effects")
@@ -45,7 +50,7 @@
(export "no_stackify_past_epilogue" $no_stackify_past_epilogue)
(export "stackify_indvar" $stackify_indvar)
(export "stackpointer_dependency" $stackpointer_dependency)
- (func $no0 (param $0 i32) (param $1 i32) (result i32)
+ (func $no0 (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(set_local $1
(i32.load
(get_local $1)
@@ -59,7 +64,7 @@
(get_local $1)
)
)
- (func $no1 (param $0 i32) (param $1 i32) (result i32)
+ (func $no1 (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(set_local $1
(i32.load
(get_local $1)
@@ -73,7 +78,7 @@
(get_local $1)
)
)
- (func $yes0 (param $0 i32) (param $1 i32) (result i32)
+ (func $yes0 (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(i32.store
(get_local $0)
(i32.const 0)
@@ -84,14 +89,14 @@
)
)
)
- (func $yes1 (param $0 i32) (result i32)
+ (func $yes1 (type $FUNCSIG$ii) (param $0 i32) (result i32)
(return
(i32.load
(get_local $0)
)
)
)
- (func $sink_trap (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $sink_trap (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(i32.store
(get_local $2)
(i32.const 0)
@@ -103,7 +108,7 @@
)
)
)
- (func $sink_readnone_call (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $sink_readnone_call (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(i32.store
(get_local $2)
(i32.const 0)
@@ -112,7 +117,7 @@
(call_import $readnone_callee)
)
)
- (func $no_sink_readonly_call (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $no_sink_readonly_call (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(set_local $3
(call_import $readonly_callee)
@@ -125,7 +130,7 @@
(get_local $3)
)
)
- (func $stack_uses (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ (func $stack_uses (type $7) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(block $label$0
(br_if $label$0
(i32.ne
@@ -162,12 +167,12 @@
(i32.const 1)
)
)
- (func $multiple_uses (param $0 i32) (param $1 i32) (param $2 i32)
+ (func $multiple_uses (type $8) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(block $label$0
(br_if $label$0
(i32.ge_u
- (set_local $3
+ (tee_local $3
(i32.load
(get_local $2)
)
@@ -188,12 +193,21 @@
)
(return)
)
- (func $stackify_store_across_side_effects (param $0 i32)
+ (func $stackify_store_across_side_effects (type $FUNCSIG$vi) (param $0 i32)
(local $1 i64)
+ (local $2 i64)
(set_local $1
- (i64.store
- (get_local $0)
- (i64.const 4611686018427387904)
+ (block
+ (block
+ (set_local $2
+ (i64.const 4611686018427387904)
+ )
+ (i64.store
+ (get_local $0)
+ (get_local $2)
+ )
+ )
+ (get_local $2)
)
)
(call_import $evoke_side_effects)
@@ -204,7 +218,7 @@
(call_import $evoke_side_effects)
(return)
)
- (func $div_tree (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (param $8 i32) (param $9 i32) (param $10 i32) (param $11 i32) (param $12 i32) (param $13 i32) (param $14 i32) (param $15 i32) (result i32)
+ (func $div_tree (type $9) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (param $8 i32) (param $9 i32) (param $10 i32) (param $11 i32) (param $12 i32) (param $13 i32) (param $14 i32) (param $15 i32) (result i32)
(return
(i32.div_s
(i32.div_s
@@ -254,9 +268,9 @@
)
)
)
- (func $simple_multiple_use (param $0 i32) (param $1 i32)
+ (func $simple_multiple_use (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(call_import $use_a
- (set_local $1
+ (tee_local $1
(i32.mul
(get_local $1)
(get_local $0)
@@ -268,9 +282,9 @@
)
(return)
)
- (func $multiple_uses_in_same_insn (param $0 i32) (param $1 i32)
+ (func $multiple_uses_in_same_insn (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(call_import $use_2
- (set_local $1
+ (tee_local $1
(i32.mul
(get_local $1)
(get_local $0)
@@ -280,7 +294,7 @@
)
(return)
)
- (func $commute (result i32)
+ (func $commute (type $FUNCSIG$i) (result i32)
(return
(i32.add
(i32.add
@@ -291,7 +305,7 @@
)
)
)
- (func $no_stackify_past_use (param $0 i32) (result i32)
+ (func $no_stackify_past_use (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(set_local $1
(call_import $callee
@@ -313,11 +327,11 @@
)
)
)
- (func $commute_to_fix_ordering (param $0 i32) (result i32)
+ (func $commute_to_fix_ordering (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(return
(i32.mul
- (set_local $1
+ (tee_local $1
(call_import $callee
(get_local $0)
)
@@ -334,7 +348,7 @@
)
)
)
- (func $multiple_defs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
+ (func $multiple_defs (type $10) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 f64)
(local $6 f64)
(local $7 f64)
@@ -393,7 +407,7 @@
(f64.add
(select
(f64.const -11353.57)
- (set_local $9
+ (tee_local $9
(f64.add
(get_local $7)
(f64.const -1)
@@ -401,7 +415,7 @@
)
(get_local $2)
)
- (set_local $6
+ (tee_local $6
(get_local $8)
)
)
@@ -437,7 +451,7 @@
(br $label$0)
)
)
- (func $no_stackify_call_past_load (result i32)
+ (func $no_stackify_call_past_load (type $FUNCSIG$i) (result i32)
(local $0 i32)
(local $1 i32)
(set_local $0
@@ -448,18 +462,29 @@
(i32.const 0)
)
)
- (call_import $callee
- (get_local $0)
+ (drop
+ (call_import $callee
+ (get_local $0)
+ )
)
(return
(get_local $1)
)
)
- (func $no_stackify_store_past_load (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (func $no_stackify_store_past_load (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (local $3 i32)
(set_local $1
- (i32.store
- (get_local $1)
- (get_local $0)
+ (block
+ (block
+ (set_local $3
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $3)
+ )
+ )
+ (get_local $3)
)
)
(set_local $2
@@ -467,18 +492,31 @@
(get_local $2)
)
)
- (call_import $callee
- (get_local $1)
+ (drop
+ (call_import $callee
+ (get_local $1)
+ )
)
(return
(get_local $2)
)
)
- (func $store_past_invar_load (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (call_import $callee
- (i32.store
- (get_local $1)
- (get_local $0)
+ (func $store_past_invar_load (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (local $3 i32)
+ (drop
+ (call_import $callee
+ (block
+ (block
+ (set_local $3
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $3)
+ )
+ )
+ (get_local $3)
+ )
)
)
(return
@@ -487,24 +525,33 @@
)
)
)
- (func $ignore_dbg_value
+ (func $ignore_dbg_value (type $FUNCSIG$v)
(unreachable)
)
- (func $no_stackify_past_epilogue (result i32)
+ (func $no_stackify_past_epilogue (type $FUNCSIG$i) (result i32)
(local $0 i32)
(local $1 i32)
+ (local $2 i32)
(set_local $1
(call_import $use_memory
(i32.add
- (set_local $0
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $0
+ (block
+ (block
+ (set_local $2
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 16)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $2)
)
- (i32.const 16)
)
+ (get_local $2)
)
)
(i32.const 12)
@@ -522,7 +569,7 @@
(get_local $1)
)
)
- (func $stackify_indvar (param $0 i32) (param $1 i32)
+ (func $stackify_indvar (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(set_local $2
(i32.const 0)
@@ -540,7 +587,7 @@
(br_if $label$0
(i32.ne
(get_local $0)
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $2)
(i32.const 1)
@@ -551,12 +598,12 @@
)
(return)
)
- (func $stackpointer_dependency (param $0 i32) (result i32)
+ (func $stackpointer_dependency (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(set_local $0
(call_import $stackpointer_callee
(get_local $0)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 4)
)
diff --git a/test/llvm_autogenerated/store-results.wast b/test/llvm_autogenerated/store-results.wast
index c0969bf5f..1f2cd9c98 100644
--- a/test/llvm_autogenerated/store-results.wast
+++ b/test/llvm_autogenerated/store-results.wast
@@ -2,19 +2,30 @@
(memory 1)
(data (i32.const 4) " \04\00\00")
(export "memory" memory)
+ (type $0 (func (param i32) (result i32)))
+ (type $1 (func))
(export "single_block" $single_block)
(export "foo" $foo)
(export "bar" $bar)
(export "fi_ret" $fi_ret)
- (func $single_block (param $0 i32) (result i32)
+ (func $single_block (type $0) (param $0 i32) (result i32)
+ (local $1 i32)
(return
- (i32.store
- (get_local $0)
- (i32.const 0)
+ (block
+ (block
+ (set_local $1
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $0)
+ (get_local $1)
+ )
+ )
+ (get_local $1)
)
)
)
- (func $foo
+ (func $foo (type $1)
(local $0 i32)
(set_local $0
(i32.const 0)
@@ -26,7 +37,7 @@
)
(br_if $label$0
(i32.ne
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $0)
(i32.const 1)
@@ -38,7 +49,7 @@
)
(return)
)
- (func $bar
+ (func $bar (type $1)
(local $0 f32)
(set_local $0
(f32.const 0)
@@ -50,7 +61,7 @@
)
(br_if $label$0
(f32.ne
- (set_local $0
+ (tee_local $0
(f32.add
(get_local $0)
(f32.const 1)
@@ -62,16 +73,25 @@
)
(return)
)
- (func $fi_ret (param $0 i32) (result i32)
+ (func $fi_ret (type $0) (param $0 i32) (result i32)
+ (local $1 i32)
(return
- (i32.store
- (get_local $0)
- (i32.sub
- (i32.load
- (i32.const 4)
+ (block
+ (block
+ (set_local $1
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 32)
+ )
+ )
+ (i32.store
+ (get_local $0)
+ (get_local $1)
)
- (i32.const 32)
)
+ (get_local $1)
)
)
)
diff --git a/test/llvm_autogenerated/store-trunc.wast b/test/llvm_autogenerated/store-trunc.wast
index cf20bcd00..d37c3b5c0 100644
--- a/test/llvm_autogenerated/store-trunc.wast
+++ b/test/llvm_autogenerated/store-trunc.wast
@@ -32,7 +32,7 @@
)
)
(func $trunc_i32_i64 (param $0 i32) (param $1 i64)
- (i64.store32
+ (i64.store
(get_local $0)
(get_local $1)
)
diff --git a/test/llvm_autogenerated/userstack.wast b/test/llvm_autogenerated/userstack.wast
index 216930a03..d9ccc83e5 100644
--- a/test/llvm_autogenerated/userstack.wast
+++ b/test/llvm_autogenerated/userstack.wast
@@ -3,6 +3,8 @@
(data (i32.const 4) "\10\04\00\00")
(export "memory" memory)
(type $FUNCSIG$vi (func (param i32)))
+ (type $1 (func))
+ (type $2 (func (param i32 i32)))
(import $ext_func "env" "ext_func" (param i32))
(import $ext_func_i32 "env" "ext_func_i32" (param i32))
(import $use_i8_star "env" "use_i8_star" (param i32))
@@ -18,18 +20,27 @@
(export "frameaddress_0" $frameaddress_0)
(export "frameaddress_1" $frameaddress_1)
(export "inline_asm" $inline_asm)
- (func $alloca32
+ (func $alloca32 (type $1)
(local $0 i32)
+ (local $1 i32)
(i32.store offset=12
- (set_local $0
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $0
+ (block
+ (block
+ (set_local $1
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 16)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $1)
)
- (i32.const 16)
)
+ (get_local $1)
)
)
(i32.const 0)
@@ -43,10 +54,10 @@
)
(return)
)
- (func $alloca3264
+ (func $alloca3264 (type $1)
(local $0 i32)
(i32.store offset=12
- (set_local $0
+ (tee_local $0
(i32.sub
(i32.load
(i32.const 4)
@@ -62,26 +73,44 @@
)
(return)
)
- (func $allocarray
+ (func $allocarray (type $1)
(local $0 i32)
+ (local $1 i32)
+ (local $2 i32)
(i32.store offset=12
- (set_local $0
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $0
+ (block
+ (block
+ (set_local $1
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 144)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $1)
)
- (i32.const 144)
)
+ (get_local $1)
)
)
- (i32.store
- (i32.add
- (get_local $0)
- (i32.const 24)
+ (block
+ (block
+ (set_local $2
+ (i32.const 1)
+ )
+ (i32.store
+ (i32.add
+ (get_local $0)
+ (i32.const 24)
+ )
+ (get_local $2)
+ )
)
- (i32.const 1)
+ (get_local $2)
)
)
(i32.store
@@ -93,19 +122,28 @@
)
(return)
)
- (func $non_mem_use (param $0 i32)
+ (func $non_mem_use (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
+ (local $2 i32)
(call_import $ext_func
(i32.add
- (set_local $1
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $1
+ (block
+ (block
+ (set_local $2
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 48)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $2)
)
- (i32.const 48)
)
+ (get_local $2)
)
)
(i32.const 8)
@@ -130,23 +168,41 @@
)
(return)
)
- (func $allocarray_inbounds
+ (func $allocarray_inbounds (type $1)
(local $0 i32)
+ (local $1 i32)
+ (local $2 i32)
(i32.store offset=12
- (set_local $0
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $0
+ (block
+ (block
+ (set_local $1
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 32)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $1)
)
- (i32.const 32)
)
+ (get_local $1)
)
)
- (i32.store offset=24
- (get_local $0)
- (i32.const 1)
+ (block
+ (block
+ (set_local $2
+ (i32.const 1)
+ )
+ (i32.store offset=24
+ (get_local $0)
+ (get_local $2)
+ )
+ )
+ (get_local $2)
)
)
(call_import $ext_func
@@ -161,13 +217,13 @@
)
(return)
)
- (func $dynamic_alloca (param $0 i32)
+ (func $dynamic_alloca (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(i32.store
(i32.const 4)
- (set_local $0
+ (tee_local $0
(i32.sub
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 4)
)
@@ -194,7 +250,7 @@
)
(return)
)
- (func $dynamic_alloca_redzone (param $0 i32)
+ (func $dynamic_alloca_redzone (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(set_local $1
(i32.load
@@ -222,22 +278,31 @@
)
(return)
)
- (func $dynamic_static_alloca (param $0 i32)
+ (func $dynamic_static_alloca (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
+ (local $2 i32)
(i32.store
(i32.const 4)
- (set_local $0
+ (tee_local $0
(i32.sub
- (i32.store
- (i32.const 4)
- (set_local $1
- (i32.sub
- (i32.load
- (i32.const 4)
+ (block
+ (block
+ (set_local $2
+ (tee_local $1
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 16)
+ )
)
- (i32.const 16)
+ )
+ (i32.store
+ (i32.const 4)
+ (get_local $2)
)
)
+ (get_local $2)
)
(i32.and
(i32.add
@@ -265,7 +330,7 @@
)
(return)
)
- (func $copytoreg_fi (param $0 i32) (param $1 i32)
+ (func $copytoreg_fi (type $2) (param $0 i32) (param $1 i32)
(local $2 i32)
(set_local $2
(i32.add
@@ -298,10 +363,10 @@
)
(return)
)
- (func $frameaddress_0
+ (func $frameaddress_0 (type $1)
(local $0 i32)
(call_import $use_i8_star
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 4)
)
@@ -313,13 +378,13 @@
)
(return)
)
- (func $frameaddress_1
+ (func $frameaddress_1 (type $1)
(call_import $use_i8_star
(i32.const 0)
)
(return)
)
- (func $inline_asm
+ (func $inline_asm (type $1)
(local $0 i32)
(set_local $0
(i32.add
diff --git a/test/llvm_autogenerated/varargs.wast b/test/llvm_autogenerated/varargs.wast
index 02b3f2202..17d93d1ae 100644
--- a/test/llvm_autogenerated/varargs.wast
+++ b/test/llvm_autogenerated/varargs.wast
@@ -3,6 +3,10 @@
(data (i32.const 4) "\10\04\00\00")
(export "memory" memory)
(type $FUNCSIG$vi (func (param i32)))
+ (type $1 (func (param i32 i32)))
+ (type $2 (func (param i32) (result i32)))
+ (type $3 (func))
+ (type $4 (func (param i32 i32 i32)))
(import $callee "env" "callee" (param i32))
(export "start" $start)
(export "end" $end)
@@ -13,17 +17,17 @@
(export "caller_none" $caller_none)
(export "caller_some" $caller_some)
(export "startbb" $startbb)
- (func $start (param $0 i32) (param $1 i32)
+ (func $start (type $1) (param $0 i32) (param $1 i32)
(i32.store
(get_local $0)
(get_local $1)
)
(return)
)
- (func $end (param $0 i32)
+ (func $end (type $FUNCSIG$vi) (param $0 i32)
(return)
)
- (func $copy (param $0 i32) (param $1 i32)
+ (func $copy (type $1) (param $0 i32) (param $1 i32)
(i32.store
(get_local $0)
(i32.load
@@ -32,12 +36,12 @@
)
(return)
)
- (func $arg_i8 (param $0 i32) (result i32)
+ (func $arg_i8 (type $2) (param $0 i32) (result i32)
(local $1 i32)
(i32.store
(get_local $0)
(i32.add
- (set_local $1
+ (tee_local $1
(i32.load
(get_local $0)
)
@@ -51,12 +55,12 @@
)
)
)
- (func $arg_i32 (param $0 i32) (result i32)
+ (func $arg_i32 (type $2) (param $0 i32) (result i32)
(local $1 i32)
(i32.store
(get_local $0)
(i32.add
- (set_local $1
+ (tee_local $1
(i32.and
(i32.add
(i32.load
@@ -76,27 +80,36 @@
)
)
)
- (func $arg_i128 (param $0 i32) (param $1 i32)
+ (func $arg_i128 (type $1) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i64)
+ (local $5 i32)
(set_local $2
- (i32.store
- (get_local $1)
- (i32.add
- (set_local $3
- (i32.and
- (i32.add
- (i32.load
- (get_local $1)
+ (block
+ (block
+ (set_local $5
+ (i32.add
+ (tee_local $3
+ (i32.and
+ (i32.add
+ (i32.load
+ (get_local $1)
+ )
+ (i32.const 7)
+ )
+ (i32.const -8)
)
- (i32.const 7)
)
- (i32.const -8)
+ (i32.const 8)
)
)
- (i32.const 8)
+ (i32.store
+ (get_local $1)
+ (get_local $5)
+ )
)
+ (get_local $5)
)
)
(set_local $4
@@ -126,24 +139,33 @@
)
(return)
)
- (func $caller_none
+ (func $caller_none (type $3)
(call_import $callee
(i32.const 0)
)
(return)
)
- (func $caller_some
+ (func $caller_some (type $3)
(local $0 i32)
+ (local $1 i32)
(i64.store offset=8
- (set_local $0
- (i32.store
- (i32.const 4)
- (i32.sub
- (i32.load
+ (tee_local $0
+ (block
+ (block
+ (set_local $1
+ (i32.sub
+ (i32.load
+ (i32.const 4)
+ )
+ (i32.const 16)
+ )
+ )
+ (i32.store
(i32.const 4)
+ (get_local $1)
)
- (i32.const 16)
)
+ (get_local $1)
)
)
(i64.const 4611686018427387904)
@@ -164,7 +186,7 @@
)
(return)
)
- (func $startbb (param $0 i32) (param $1 i32) (param $2 i32)
+ (func $startbb (type $4) (param $0 i32) (param $1 i32) (param $2 i32)
(block $label$0
(br_if $label$0
(i32.eqz
diff --git a/test/memorygrowth.fromasm b/test/memorygrowth.fromasm
index c07cc247e..c0cce359a 100644
--- a/test/memorygrowth.fromasm
+++ b/test/memorygrowth.fromasm
@@ -1,45 +1,79 @@
(module
(memory 256 256)
- (export "memory" memory)
+ (data (get_global $memoryBase) "memorygrowth.asm.js")
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$vii (func (param i32 i32)))
- (import $ja "env" "abort" (param i32))
- (import $oa "env" "_pthread_cleanup_pop" (param i32))
- (import $pa "env" "___lock" (param i32))
- (import $qa "env" "_abort")
- (import $ra "env" "_pthread_cleanup_push" (param i32 i32))
- (import $sa "env" "___syscall6" (param i32 i32) (result i32))
- (import $ta "env" "_sbrk" (param i32) (result i32))
- (import $ua "env" "___syscall140" (param i32 i32) (result i32))
- (import $va "env" "_emscripten_memcpy_big" (param i32 i32 i32) (result i32))
- (import $wa "env" "___syscall54" (param i32 i32) (result i32))
- (import $xa "env" "___unlock" (param i32))
- (import $ya "env" "___syscall146" (param i32 i32) (result i32))
- (import $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32))
- (export "_free" $fb)
- (export "_main" $Na)
- (export "_pthread_self" $ib)
- (export "_memset" $hb)
- (export "_malloc" $eb)
- (export "_memcpy" $jb)
- (export "_fflush" $_a)
- (export "___errno_location" $Qa)
- (export "runPostSets" $gb)
- (export "stackAlloc" $Ea)
- (export "stackSave" $Fa)
- (export "stackRestore" $Ga)
- (export "establishStackSpace" $Ha)
- (export "setThrew" $Ia)
- (export "setTempRet0" $La)
- (export "getTempRet0" $Ma)
- (export "dynCall_ii" $kb)
- (export "dynCall_iiii" $lb)
- (export "dynCall_vi" $mb)
- (export "__growWasmMemory" $__growWasmMemory)
+ (import "env" "STACKTOP" (global $r i32))
+ (import "env" "STACK_MAX" (global $s i32))
+ (import "env" "tempDoublePtr" (global $t i32))
+ (import "env" "ABORT" (global $u i32))
+ (import "global" "NaN" (global $z f64))
+ (import "global" "Infinity" (global $A f64))
+ (import "env" "abort" (func $ja (param i32)))
+ (import "env" "_pthread_cleanup_pop" (func $oa (param i32)))
+ (import "env" "___lock" (func $pa (param i32)))
+ (import "env" "_abort" (func $qa))
+ (import "env" "_pthread_cleanup_push" (func $ra (param i32 i32)))
+ (import "env" "___syscall6" (func $sa (param i32 i32) (result i32)))
+ (import "env" "_sbrk" (func $ta (param i32) (result i32)))
+ (import "env" "___syscall140" (func $ua (param i32 i32) (result i32)))
+ (import "env" "_emscripten_memcpy_big" (func $va (param i32 i32 i32) (result i32)))
+ (import "env" "___syscall54" (func $wa (param i32 i32) (result i32)))
+ (import "env" "___unlock" (func $xa (param i32)))
+ (import "env" "___syscall146" (func $ya (param i32 i32) (result i32)))
+ (import "asm2wasm" "i32u-div" (func $i32u-div (param i32 i32) (result i32)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "_free" (func $fb))
+ (export "_main" (func $Na))
+ (export "_pthread_self" (func $ib))
+ (export "_memset" (func $hb))
+ (export "_malloc" (func $eb))
+ (export "_memcpy" (func $jb))
+ (export "_fflush" (func $_a))
+ (export "___errno_location" (func $Qa))
+ (export "runPostSets" (func $gb))
+ (export "stackAlloc" (func $Ea))
+ (export "stackSave" (func $Fa))
+ (export "stackRestore" (func $Ga))
+ (export "establishStackSpace" (func $Ha))
+ (export "setThrew" (func $Ia))
+ (export "setTempRet0" (func $La))
+ (export "getTempRet0" (func $Ma))
+ (export "dynCall_ii" (func $kb))
+ (export "dynCall_iiii" (func $lb))
+ (export "dynCall_vi" (func $mb))
+ (export "__growWasmMemory" (func $__growWasmMemory))
+ (global $v i32 (i32.const 0))
+ (global $w i32 (i32.const 0))
+ (global $x i32 (i32.const 0))
+ (global $y i32 (i32.const 0))
+ (global $B i32 (i32.const 0))
+ (global $C i32 (i32.const 0))
+ (global $D i32 (i32.const 0))
+ (global $E i32 (i32.const 0))
+ (global $F f64 (f64.const 0))
+ (global $G i32 (i32.const 0))
+ (global $H i32 (i32.const 0))
+ (global $I i32 (i32.const 0))
+ (global $J f64 (f64.const 0))
+ (global $K i32 (i32.const 0))
+ (global $L i32 (i32.const 0))
+ (global $M i32 (i32.const 0))
+ (global $N i32 (i32.const 0))
+ (global $O i32 (i32.const 0))
+ (global $P i32 (i32.const 0))
+ (global $Q i32 (i32.const 0))
+ (global $R i32 (i32.const 0))
+ (global $S i32 (i32.const 0))
+ (global $T i32 (i32.const 0))
+ (global $za f64 (f64.const 0))
(table 8 8 anyfunc)
(elem (i32.const 0) $nb $Oa $ob $Va $Ua $Ra $pb $Sa)
(func $eb (param $0 i32) (result i32)
@@ -98,16 +132,11 @@
(local $53 i32)
(local $54 i32)
(set_local $31
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 16)
)
)
@@ -123,16 +152,16 @@
(block
(if
(i32.and
- (set_local $12
+ (tee_local $12
(i32.shr_u
- (set_local $16
+ (tee_local $16
(i32.load
(i32.const 1208)
)
)
- (set_local $2
+ (tee_local $2
(i32.shr_u
- (set_local $14
+ (tee_local $14
(select
(i32.const 16)
(i32.and
@@ -158,18 +187,18 @@
(block
(set_local $11
(i32.load
- (set_local $27
+ (tee_local $27
(i32.add
- (set_local $29
+ (tee_local $29
(i32.load
- (set_local $25
+ (tee_local $25
(i32.add
- (set_local $5
+ (tee_local $5
(i32.add
(i32.const 1248)
(i32.shl
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.add
(i32.xor
(i32.and
@@ -228,7 +257,7 @@
(if
(i32.eq
(i32.load
- (set_local $19
+ (tee_local $19
(i32.add
(get_local $11)
(i32.const 12)
@@ -254,7 +283,7 @@
(i32.store offset=4
(get_local $29)
(i32.or
- (set_local $11
+ (tee_local $11
(i32.shl
(get_local $0)
(i32.const 3)
@@ -264,7 +293,7 @@
)
)
(i32.store
- (set_local $25
+ (tee_local $25
(i32.add
(i32.add
(get_local $29)
@@ -280,8 +309,7 @@
(i32.const 1)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -292,7 +320,7 @@
(if
(i32.gt_u
(get_local $14)
- (set_local $25
+ (tee_local $25
(i32.load
(i32.const 1216)
)
@@ -305,17 +333,17 @@
(set_local $5
(i32.and
(i32.shr_u
- (set_local $11
+ (tee_local $11
(i32.add
(i32.and
- (set_local $5
+ (tee_local $5
(i32.and
(i32.shl
(get_local $12)
(get_local $2)
)
(i32.or
- (set_local $11
+ (tee_local $11
(i32.shl
(i32.const 2)
(get_local $2)
@@ -343,27 +371,27 @@
)
(set_local $5
(i32.load
- (set_local $19
+ (tee_local $19
(i32.add
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
- (set_local $3
+ (tee_local $3
(i32.add
(i32.const 1248)
(i32.shl
(i32.shl
- (set_local $7
+ (tee_local $7
(i32.add
(i32.or
(i32.or
(i32.or
(i32.or
- (set_local $11
+ (tee_local $11
(i32.and
(i32.shr_u
- (set_local $19
+ (tee_local $19
(i32.shr_u
(get_local $11)
(get_local $5)
@@ -376,10 +404,10 @@
)
(get_local $5)
)
- (set_local $19
+ (tee_local $19
(i32.and
(i32.shr_u
- (set_local $8
+ (tee_local $8
(i32.shr_u
(get_local $19)
(get_local $11)
@@ -391,10 +419,10 @@
)
)
)
- (set_local $8
+ (tee_local $8
(i32.and
(i32.shr_u
- (set_local $3
+ (tee_local $3
(i32.shr_u
(get_local $8)
(get_local $19)
@@ -406,10 +434,10 @@
)
)
)
- (set_local $3
+ (tee_local $3
(i32.and
(i32.shr_u
- (set_local $0
+ (tee_local $0
(i32.shr_u
(get_local $3)
(get_local $8)
@@ -479,7 +507,7 @@
(if
(i32.eq
(i32.load
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $5)
(i32.const 12)
@@ -515,14 +543,14 @@
)
)
(i32.store offset=4
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $8)
(get_local $14)
)
)
(i32.or
- (set_local $5
+ (tee_local $5
(i32.sub
(i32.shl
(get_local $7)
@@ -554,7 +582,7 @@
(i32.const 1248)
(i32.shl
(i32.shl
- (set_local $25
+ (tee_local $25
(i32.shr_u
(get_local $39)
(i32.const 3)
@@ -568,12 +596,12 @@
)
(if
(i32.and
- (set_local $2
+ (tee_local $2
(i32.load
(i32.const 1208)
)
)
- (set_local $12
+ (tee_local $12
(i32.shl
(i32.const 1)
(get_local $25)
@@ -582,9 +610,9 @@
)
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $12
+ (tee_local $12
(i32.add
(get_local $16)
(i32.const 8)
@@ -651,8 +679,7 @@
(i32.const 1228)
(get_local $0)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -661,7 +688,7 @@
)
)
(if
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 1212)
)
@@ -670,7 +697,7 @@
(set_local $0
(i32.and
(i32.shr_u
- (set_local $5
+ (tee_local $5
(i32.add
(i32.and
(get_local $0)
@@ -691,7 +718,7 @@
(i32.sub
(i32.and
(i32.load offset=4
- (set_local $25
+ (tee_local $25
(i32.load
(i32.add
(i32.shl
@@ -700,10 +727,10 @@
(i32.or
(i32.or
(i32.or
- (set_local $5
+ (tee_local $5
(i32.and
(i32.shr_u
- (set_local $16
+ (tee_local $16
(i32.shr_u
(get_local $5)
(get_local $0)
@@ -716,10 +743,10 @@
)
(get_local $0)
)
- (set_local $16
+ (tee_local $16
(i32.and
(i32.shr_u
- (set_local $3
+ (tee_local $3
(i32.shr_u
(get_local $16)
(get_local $5)
@@ -731,10 +758,10 @@
)
)
)
- (set_local $3
+ (tee_local $3
(i32.and
(i32.shr_u
- (set_local $2
+ (tee_local $2
(i32.shr_u
(get_local $3)
(get_local $16)
@@ -746,10 +773,10 @@
)
)
)
- (set_local $2
+ (tee_local $2
(i32.and
(i32.shr_u
- (set_local $12
+ (tee_local $12
(i32.shr_u
(get_local $2)
(get_local $3)
@@ -784,75 +811,77 @@
(set_local $3
(get_local $25)
)
- (loop $while-out$6 $while-in$7
- (if
- (set_local $25
- (i32.load offset=16
- (get_local $12)
- )
- )
- (set_local $0
- (get_local $25)
- )
+ (loop $while-in$7
+ (block $while-out$6
(if
- (set_local $16
- (i32.load offset=20
+ (tee_local $25
+ (i32.load offset=16
(get_local $12)
)
)
(set_local $0
- (get_local $16)
+ (get_local $25)
)
- (block
- (set_local $32
- (get_local $2)
+ (if
+ (tee_local $16
+ (i32.load offset=20
+ (get_local $12)
+ )
)
- (set_local $26
- (get_local $3)
+ (set_local $0
+ (get_local $16)
+ )
+ (block
+ (set_local $32
+ (get_local $2)
+ )
+ (set_local $26
+ (get_local $3)
+ )
+ (br $while-out$6)
)
- (br $while-out$6)
)
)
- )
- (set_local $16
- (i32.lt_u
- (set_local $25
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $0)
+ (set_local $16
+ (i32.lt_u
+ (tee_local $25
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $14)
)
- (get_local $14)
)
+ (get_local $2)
)
- (get_local $2)
)
- )
- (set_local $2
- (select
- (get_local $25)
- (get_local $2)
- (get_local $16)
+ (set_local $2
+ (select
+ (get_local $25)
+ (get_local $2)
+ (get_local $16)
+ )
)
- )
- (set_local $12
- (get_local $0)
- )
- (set_local $3
- (select
+ (set_local $12
(get_local $0)
- (get_local $3)
- (get_local $16)
)
+ (set_local $3
+ (select
+ (get_local $0)
+ (get_local $3)
+ (get_local $16)
+ )
+ )
+ (br $while-in$7)
)
- (br $while-in$7)
)
(if
(i32.lt_u
(get_local $26)
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 1224)
)
@@ -863,7 +892,7 @@
(if
(i32.ge_u
(get_local $26)
- (set_local $12
+ (tee_local $12
(i32.add
(get_local $26)
(get_local $14)
@@ -880,7 +909,7 @@
(block $do-once$8
(if
(i32.eq
- (set_local $19
+ (tee_local $19
(i32.load offset=12
(get_local $26)
)
@@ -889,9 +918,9 @@
)
(block
(if
- (set_local $7
+ (tee_local $7
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
(get_local $26)
(i32.const 20)
@@ -908,9 +937,9 @@
)
)
(if
- (set_local $25
+ (tee_local $25
(i32.load
- (set_local $16
+ (tee_local $16
(i32.add
(get_local $26)
(i32.const 16)
@@ -934,50 +963,52 @@
)
)
)
- (loop $while-out$10 $while-in$11
- (if
- (set_local $7
- (i32.load
- (set_local $8
- (i32.add
- (get_local $11)
- (i32.const 20)
+ (loop $while-in$11
+ (block $while-out$10
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (get_local $11)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $11
- (get_local $7)
- )
- (set_local $0
- (get_local $8)
+ (block
+ (set_local $11
+ (get_local $7)
+ )
+ (set_local $0
+ (get_local $8)
+ )
+ (br $while-in$11)
)
- (br $while-in$11)
)
- )
- (if
- (set_local $7
- (i32.load
- (set_local $8
- (i32.add
- (get_local $11)
- (i32.const 16)
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (get_local $11)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $11
- (get_local $7)
- )
- (set_local $0
- (get_local $8)
+ (block
+ (set_local $11
+ (get_local $7)
+ )
+ (set_local $0
+ (get_local $8)
+ )
)
+ (br $while-out$10)
)
- (br $while-out$10)
+ (br $while-in$11)
)
- (br $while-in$11)
)
(if
(i32.lt_u
@@ -999,7 +1030,7 @@
(block
(if
(i32.lt_u
- (set_local $8
+ (tee_local $8
(i32.load offset=8
(get_local $26)
)
@@ -1011,7 +1042,7 @@
(if
(i32.ne
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $8)
(i32.const 12)
@@ -1025,7 +1056,7 @@
(if
(i32.eq
(i32.load
- (set_local $16
+ (tee_local $16
(i32.add
(get_local $19)
(i32.const 8)
@@ -1060,11 +1091,11 @@
(i32.eq
(get_local $26)
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $19
+ (tee_local $19
(i32.load offset=28
(get_local $26)
)
@@ -1117,7 +1148,7 @@
(if
(i32.eq
(i32.load
- (set_local $19
+ (tee_local $19
(i32.add
(get_local $2)
(i32.const 16)
@@ -1145,7 +1176,7 @@
(if
(i32.lt_u
(get_local $27)
- (set_local $19
+ (tee_local $19
(i32.load
(i32.const 1224)
)
@@ -1158,7 +1189,7 @@
(get_local $2)
)
(if
- (set_local $3
+ (tee_local $3
(i32.load offset=16
(get_local $26)
)
@@ -1182,7 +1213,7 @@
)
)
(if
- (set_local $3
+ (tee_local $3
(i32.load offset=20
(get_local $26)
)
@@ -1219,7 +1250,7 @@
(i32.store offset=4
(get_local $26)
(i32.or
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $32)
(get_local $14)
@@ -1229,7 +1260,7 @@
)
)
(i32.store
- (set_local $3
+ (tee_local $3
(i32.add
(i32.add
(get_local $26)
@@ -1269,7 +1300,7 @@
(get_local $32)
)
(if
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 1216)
)
@@ -1285,7 +1316,7 @@
(i32.const 1248)
(i32.shl
(i32.shl
- (set_local $19
+ (tee_local $19
(i32.shr_u
(get_local $3)
(i32.const 3)
@@ -1299,12 +1330,12 @@
)
(if
(i32.and
- (set_local $8
+ (tee_local $8
(i32.load
(i32.const 1208)
)
)
- (set_local $16
+ (tee_local $16
(i32.shl
(i32.const 1)
(get_local $19)
@@ -1313,9 +1344,9 @@
)
(if
(i32.lt_u
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $16
+ (tee_local $16
(i32.add
(get_local $3)
(i32.const 8)
@@ -1384,8 +1415,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -1416,7 +1446,7 @@
(block
(set_local $2
(i32.and
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $0)
(i32.const 11)
@@ -1426,7 +1456,7 @@
)
)
(if
- (set_local $8
+ (tee_local $8
(i32.load
(i32.const 1212)
)
@@ -1440,13 +1470,13 @@
)
(block $label$break$a
(if
- (set_local $0
+ (tee_local $0
(i32.load
(i32.add
(i32.shl
- (set_local $34
+ (tee_local $34
(if
- (set_local $19
+ (tee_local $19
(i32.shr_u
(get_local $3)
(i32.const 8)
@@ -1463,20 +1493,20 @@
(i32.shr_u
(get_local $2)
(i32.add
- (set_local $0
+ (tee_local $0
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $19
+ (tee_local $19
(i32.and
(i32.shr_u
(i32.add
- (set_local $7
+ (tee_local $7
(i32.shl
(get_local $19)
- (set_local $3
+ (tee_local $3
(i32.and
(i32.shr_u
(i32.add
@@ -1499,11 +1529,11 @@
)
(get_local $3)
)
- (set_local $7
+ (tee_local $7
(i32.and
(i32.shr_u
(i32.add
- (set_local $25
+ (tee_local $25
(i32.shl
(get_local $7)
(get_local $19)
@@ -1579,90 +1609,92 @@
(set_local $5
(i32.const 0)
)
- (loop $while-out$17 $while-in$18
- (if
- (i32.lt_u
- (set_local $29
- (i32.sub
- (set_local $27
- (i32.and
- (i32.load offset=4
- (get_local $19)
+ (loop $while-in$18
+ (block $while-out$17
+ (if
+ (i32.lt_u
+ (tee_local $29
+ (i32.sub
+ (tee_local $27
+ (i32.and
+ (i32.load offset=4
+ (get_local $19)
+ )
+ (i32.const -8)
)
- (i32.const -8)
)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $7)
)
- (get_local $7)
- )
- (if
- (i32.eq
- (get_local $27)
- (get_local $2)
- )
- (block
- (set_local $36
- (get_local $29)
- )
- (set_local $18
- (get_local $19)
+ (if
+ (i32.eq
+ (get_local $27)
+ (get_local $2)
)
- (set_local $17
- (get_local $19)
+ (block
+ (set_local $36
+ (get_local $29)
+ )
+ (set_local $18
+ (get_local $19)
+ )
+ (set_local $17
+ (get_local $19)
+ )
+ (set_local $7
+ (i32.const 90)
+ )
+ (br $label$break$a)
)
- (set_local $7
- (i32.const 90)
+ (block
+ (set_local $4
+ (get_local $29)
+ )
+ (set_local $0
+ (get_local $19)
+ )
)
- (br $label$break$a)
)
(block
(set_local $4
- (get_local $29)
+ (get_local $7)
)
(set_local $0
- (get_local $19)
+ (get_local $5)
)
)
)
- (block
- (set_local $4
- (get_local $7)
- )
- (set_local $0
- (get_local $5)
- )
- )
- )
- (set_local $27
- (select
- (get_local $25)
- (set_local $29
- (i32.load offset=20
- (get_local $19)
- )
- )
- (i32.or
- (i32.eq
- (get_local $29)
- (i32.const 0)
+ (set_local $27
+ (select
+ (get_local $25)
+ (tee_local $29
+ (i32.load offset=20
+ (get_local $19)
+ )
)
- (i32.eq
- (get_local $29)
- (set_local $19
- (i32.load
- (i32.add
+ (i32.or
+ (i32.eq
+ (get_local $29)
+ (i32.const 0)
+ )
+ (i32.eq
+ (get_local $29)
+ (tee_local $19
+ (i32.load
(i32.add
- (get_local $19)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $3)
- (i32.const 31)
+ (i32.add
+ (get_local $19)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
@@ -1670,54 +1702,54 @@
)
)
)
- )
- (if
- (set_local $29
- (i32.eq
- (get_local $19)
- (i32.const 0)
- )
- )
- (block
- (set_local $40
- (get_local $4)
- )
- (set_local $12
- (get_local $27)
- )
- (set_local $38
- (get_local $0)
- )
- (set_local $7
- (i32.const 86)
- )
- (br $while-out$17)
- )
- (block
- (set_local $7
- (get_local $4)
+ (if
+ (tee_local $29
+ (i32.eq
+ (get_local $19)
+ (i32.const 0)
+ )
)
- (set_local $25
- (get_local $27)
+ (block
+ (set_local $40
+ (get_local $4)
+ )
+ (set_local $12
+ (get_local $27)
+ )
+ (set_local $38
+ (get_local $0)
+ )
+ (set_local $7
+ (i32.const 86)
+ )
+ (br $while-out$17)
)
- (set_local $3
- (i32.shl
- (get_local $3)
- (i32.xor
- (i32.and
- (get_local $29)
+ (block
+ (set_local $7
+ (get_local $4)
+ )
+ (set_local $25
+ (get_local $27)
+ )
+ (set_local $3
+ (i32.shl
+ (get_local $3)
+ (i32.xor
+ (i32.and
+ (get_local $29)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
)
)
- )
- (set_local $5
- (get_local $0)
+ (set_local $5
+ (get_local $0)
+ )
)
)
+ (br $while-in$18)
)
- (br $while-in$18)
)
)
(block
@@ -1742,7 +1774,7 @@
(i32.const 86)
)
(if
- (set_local $0
+ (tee_local $0
(if
(i32.and
(i32.eq
@@ -1757,11 +1789,11 @@
(block
(if
(i32.eqz
- (set_local $16
+ (tee_local $16
(i32.and
(get_local $8)
(i32.or
- (set_local $0
+ (tee_local $0
(i32.shl
(i32.const 2)
(get_local $34)
@@ -1785,7 +1817,7 @@
(set_local $16
(i32.and
(i32.shr_u
- (set_local $0
+ (tee_local $0
(i32.add
(i32.and
(get_local $16)
@@ -1810,10 +1842,10 @@
(i32.or
(i32.or
(i32.or
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $14
+ (tee_local $14
(i32.shr_u
(get_local $0)
(get_local $16)
@@ -1826,10 +1858,10 @@
)
(get_local $16)
)
- (set_local $14
+ (tee_local $14
(i32.and
(i32.shr_u
- (set_local $12
+ (tee_local $12
(i32.shr_u
(get_local $14)
(get_local $0)
@@ -1841,10 +1873,10 @@
)
)
)
- (set_local $12
+ (tee_local $12
(i32.and
(i32.shr_u
- (set_local $5
+ (tee_local $5
(i32.shr_u
(get_local $12)
(get_local $14)
@@ -1856,10 +1888,10 @@
)
)
)
- (set_local $5
+ (tee_local $5
(i32.and
(i32.shr_u
- (set_local $3
+ (tee_local $3
(i32.shr_u
(get_local $5)
(get_local $12)
@@ -1914,84 +1946,86 @@
(get_local $7)
(i32.const 90)
)
- (loop $while-out$19 $while-in$20
- (set_local $7
- (i32.const 0)
- )
- (set_local $3
- (i32.lt_u
- (set_local $5
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $18)
+ (loop $while-in$20
+ (block $while-out$19
+ (set_local $7
+ (i32.const 0)
+ )
+ (set_local $3
+ (i32.lt_u
+ (tee_local $5
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $18)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $2)
)
- (get_local $2)
)
- )
- (get_local $36)
- )
- )
- (set_local $12
- (select
- (get_local $5)
- (get_local $36)
- (get_local $3)
- )
- )
- (set_local $5
- (select
- (get_local $18)
- (get_local $17)
- (get_local $3)
- )
- )
- (if
- (set_local $3
- (i32.load offset=16
- (get_local $18)
+ (get_local $36)
)
)
- (block
- (set_local $36
- (get_local $12)
- )
- (set_local $18
- (get_local $3)
- )
- (set_local $17
+ (set_local $12
+ (select
(get_local $5)
+ (get_local $36)
+ (get_local $3)
)
- (br $while-in$20)
)
- )
- (if
- (set_local $18
- (i32.load offset=20
+ (set_local $5
+ (select
(get_local $18)
+ (get_local $17)
+ (get_local $3)
)
)
- (block
- (set_local $36
- (get_local $12)
+ (if
+ (tee_local $3
+ (i32.load offset=16
+ (get_local $18)
+ )
)
- (set_local $17
- (get_local $5)
+ (block
+ (set_local $36
+ (get_local $12)
+ )
+ (set_local $18
+ (get_local $3)
+ )
+ (set_local $17
+ (get_local $5)
+ )
+ (br $while-in$20)
)
)
- (block
- (set_local $22
- (get_local $12)
+ (if
+ (tee_local $18
+ (i32.load offset=20
+ (get_local $18)
+ )
)
- (set_local $9
- (get_local $5)
+ (block
+ (set_local $36
+ (get_local $12)
+ )
+ (set_local $17
+ (get_local $5)
+ )
+ )
+ (block
+ (set_local $22
+ (get_local $12)
+ )
+ (set_local $9
+ (get_local $5)
+ )
+ (br $while-out$19)
)
- (br $while-out$19)
)
+ (br $while-in$20)
)
- (br $while-in$20)
)
)
(if
@@ -2010,7 +2044,7 @@
(if
(i32.lt_u
(get_local $9)
- (set_local $8
+ (tee_local $8
(i32.load
(i32.const 1224)
)
@@ -2021,7 +2055,7 @@
(if
(i32.ge_u
(get_local $9)
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $9)
(get_local $2)
@@ -2038,7 +2072,7 @@
(block $do-once$21
(if
(i32.eq
- (set_local $3
+ (tee_local $3
(i32.load offset=12
(get_local $9)
)
@@ -2047,9 +2081,9 @@
)
(block
(if
- (set_local $16
+ (tee_local $16
(i32.load
- (set_local $14
+ (tee_local $14
(i32.add
(get_local $9)
(i32.const 20)
@@ -2066,9 +2100,9 @@
)
)
(if
- (set_local $25
+ (tee_local $25
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $9)
(i32.const 16)
@@ -2087,50 +2121,52 @@
)
)
)
- (loop $while-out$23 $while-in$24
- (if
- (set_local $16
- (i32.load
- (set_local $14
- (i32.add
- (get_local $11)
- (i32.const 20)
+ (loop $while-in$24
+ (block $while-out$23
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $14
+ (i32.add
+ (get_local $11)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $11
- (get_local $16)
- )
- (set_local $0
- (get_local $14)
+ (block
+ (set_local $11
+ (get_local $16)
+ )
+ (set_local $0
+ (get_local $14)
+ )
+ (br $while-in$24)
)
- (br $while-in$24)
)
- )
- (if
- (set_local $16
- (i32.load
- (set_local $14
- (i32.add
- (get_local $11)
- (i32.const 16)
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $14
+ (i32.add
+ (get_local $11)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $11
- (get_local $16)
- )
- (set_local $0
- (get_local $14)
+ (block
+ (set_local $11
+ (get_local $16)
+ )
+ (set_local $0
+ (get_local $14)
+ )
)
+ (br $while-out$23)
)
- (br $while-out$23)
+ (br $while-in$24)
)
- (br $while-in$24)
)
(if
(i32.lt_u
@@ -2152,7 +2188,7 @@
(block
(if
(i32.lt_u
- (set_local $14
+ (tee_local $14
(i32.load offset=8
(get_local $9)
)
@@ -2164,7 +2200,7 @@
(if
(i32.ne
(i32.load
- (set_local $16
+ (tee_local $16
(i32.add
(get_local $14)
(i32.const 12)
@@ -2178,7 +2214,7 @@
(if
(i32.eq
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $3)
(i32.const 8)
@@ -2213,11 +2249,11 @@
(i32.eq
(get_local $9)
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $3
+ (tee_local $3
(i32.load offset=28
(get_local $9)
)
@@ -2270,7 +2306,7 @@
(if
(i32.eq
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $12)
(i32.const 16)
@@ -2298,7 +2334,7 @@
(if
(i32.lt_u
(get_local $20)
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 1224)
)
@@ -2311,7 +2347,7 @@
(get_local $12)
)
(if
- (set_local $8
+ (tee_local $8
(i32.load offset=16
(get_local $9)
)
@@ -2335,7 +2371,7 @@
)
)
(if
- (set_local $8
+ (tee_local $8
(i32.load offset=20
(get_local $9)
)
@@ -2373,7 +2409,7 @@
(i32.store offset=4
(get_local $9)
(i32.or
- (set_local $12
+ (tee_local $12
(i32.add
(get_local $22)
(get_local $2)
@@ -2383,7 +2419,7 @@
)
)
(i32.store
- (set_local $8
+ (tee_local $8
(i32.add
(i32.add
(get_local $9)
@@ -2448,12 +2484,12 @@
)
(if
(i32.and
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 1208)
)
)
- (set_local $14
+ (tee_local $14
(i32.shl
(i32.const 1)
(get_local $8)
@@ -2462,9 +2498,9 @@
)
(if
(i32.lt_u
- (set_local $3
+ (tee_local $3
(i32.load
- (set_local $14
+ (tee_local $14
(i32.add
(get_local $12)
(i32.const 8)
@@ -2528,9 +2564,9 @@
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $20
+ (tee_local $20
(if
- (set_local $12
+ (tee_local $12
(i32.shr_u
(get_local $22)
(i32.const 8)
@@ -2547,20 +2583,20 @@
(i32.shr_u
(get_local $22)
(i32.add
- (set_local $0
+ (tee_local $0
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $12
+ (tee_local $12
(i32.and
(i32.shr_u
(i32.add
- (set_local $14
+ (tee_local $14
(i32.shl
(get_local $12)
- (set_local $3
+ (tee_local $3
(i32.and
(i32.shr_u
(i32.add
@@ -2583,11 +2619,11 @@
)
(get_local $3)
)
- (set_local $14
+ (tee_local $14
(i32.and
(i32.shr_u
(i32.add
- (set_local $8
+ (tee_local $8
(i32.shl
(get_local $14)
(get_local $12)
@@ -2634,7 +2670,7 @@
(get_local $20)
)
(i32.store offset=4
- (set_local $14
+ (tee_local $14
(i32.add
(get_local $5)
(i32.const 16)
@@ -2649,12 +2685,12 @@
(if
(i32.eqz
(i32.and
- (set_local $14
+ (tee_local $14
(i32.load
(i32.const 1212)
)
)
- (set_local $8
+ (tee_local $8
(i32.shl
(i32.const 1)
(get_local $20)
@@ -2713,72 +2749,74 @@
(get_local $0)
)
)
- (loop $while-out$31 $while-in$32
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $14)
+ (loop $while-in$32
+ (block $while-out$31
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $14)
+ )
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $22)
- )
- (block
- (set_local $21
- (get_local $14)
+ (get_local $22)
)
- (set_local $7
- (i32.const 148)
+ (block
+ (set_local $21
+ (get_local $14)
+ )
+ (set_local $7
+ (i32.const 148)
+ )
+ (br $while-out$31)
)
- (br $while-out$31)
)
- )
- (if
- (set_local $3
- (i32.load
- (set_local $0
- (i32.add
+ (if
+ (tee_local $3
+ (i32.load
+ (tee_local $0
(i32.add
- (get_local $14)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $8)
- (i32.const 31)
+ (i32.add
+ (get_local $14)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $8)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (block
- (set_local $8
- (i32.shl
- (get_local $8)
- (i32.const 1)
+ (block
+ (set_local $8
+ (i32.shl
+ (get_local $8)
+ (i32.const 1)
+ )
+ )
+ (set_local $14
+ (get_local $3)
)
)
- (set_local $14
- (get_local $3)
- )
- )
- (block
- (set_local $6
- (get_local $0)
- )
- (set_local $24
- (get_local $14)
- )
- (set_local $7
- (i32.const 145)
+ (block
+ (set_local $6
+ (get_local $0)
+ )
+ (set_local $24
+ (get_local $14)
+ )
+ (set_local $7
+ (i32.const 145)
+ )
+ (br $while-out$31)
)
- (br $while-out$31)
)
+ (br $while-in$32)
)
- (br $while-in$32)
)
(if
(i32.eq
@@ -2820,9 +2858,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $14
+ (tee_local $14
(i32.add
(get_local $21)
(i32.const 8)
@@ -2830,7 +2868,7 @@
)
)
)
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 1224)
)
@@ -2870,8 +2908,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -2900,7 +2937,7 @@
)
(if
(i32.ge_u
- (set_local $9
+ (tee_local $9
(i32.load
(i32.const 1216)
)
@@ -2915,7 +2952,7 @@
)
(if
(i32.gt_u
- (set_local $21
+ (tee_local $21
(i32.sub
(get_local $9)
(get_local $18)
@@ -2926,7 +2963,7 @@
(block
(i32.store
(i32.const 1228)
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $24)
(get_local $18)
@@ -2976,7 +3013,7 @@
)
)
(i32.store
- (set_local $21
+ (tee_local $21
(i32.add
(i32.add
(get_local $24)
@@ -2994,8 +3031,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -3008,7 +3044,7 @@
)
(if
(i32.gt_u
- (set_local $24
+ (tee_local $24
(i32.load
(i32.const 1220)
)
@@ -3018,7 +3054,7 @@
(block
(i32.store
(i32.const 1220)
- (set_local $21
+ (tee_local $21
(i32.sub
(get_local $24)
(get_local $18)
@@ -3027,9 +3063,9 @@
)
(i32.store
(i32.const 1232)
- (set_local $9
+ (tee_local $9
(i32.add
- (set_local $24
+ (tee_local $24
(i32.load
(i32.const 1232)
)
@@ -3052,8 +3088,7 @@
(i32.const 3)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -3097,7 +3132,7 @@
)
(i32.store
(get_local $15)
- (set_local $24
+ (tee_local $24
(i32.xor
(i32.and
(get_local $15)
@@ -3121,16 +3156,16 @@
)
(if
(i32.le_u
- (set_local $15
+ (tee_local $15
(i32.and
- (set_local $9
+ (tee_local $9
(i32.add
- (set_local $15
+ (tee_local $15
(i32.load
(i32.const 1688)
)
)
- (set_local $21
+ (tee_local $21
(i32.add
(get_local $18)
(i32.const 47)
@@ -3138,7 +3173,7 @@
)
)
)
- (set_local $6
+ (tee_local $6
(i32.sub
(i32.const 0)
(get_local $15)
@@ -3149,8 +3184,7 @@
(get_local $18)
)
(block
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -3159,7 +3193,7 @@
)
)
(if
- (set_local $22
+ (tee_local $22
(i32.load
(i32.const 1648)
)
@@ -3167,9 +3201,9 @@
(if
(i32.or
(i32.le_u
- (set_local $13
+ (tee_local $13
(i32.add
- (set_local $20
+ (tee_local $20
(i32.load
(i32.const 1640)
)
@@ -3185,8 +3219,7 @@
)
)
(block
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -3197,7 +3230,7 @@
)
(if
(i32.eq
- (set_local $7
+ (tee_local $7
(block $label$break$b
(if
(i32.and
@@ -3210,7 +3243,7 @@
(block
(block $label$break$c
(if
- (set_local $22
+ (tee_local $22
(i32.load
(i32.const 1232)
)
@@ -3219,62 +3252,64 @@
(set_local $13
(i32.const 1656)
)
- (loop $while-out$35 $while-in$36
- (if
- (i32.le_u
- (set_local $20
- (i32.load
- (get_local $13)
- )
- )
- (get_local $22)
- )
+ (loop $while-in$36
+ (block $while-out$35
(if
- (i32.gt_u
- (i32.add
- (get_local $20)
+ (i32.le_u
+ (tee_local $20
(i32.load
- (set_local $23
- (i32.add
- (get_local $13)
- (i32.const 4)
- )
- )
+ (get_local $13)
)
)
(get_local $22)
)
- (block
- (set_local $0
- (get_local $13)
+ (if
+ (i32.gt_u
+ (i32.add
+ (get_local $20)
+ (i32.load
+ (tee_local $23
+ (i32.add
+ (get_local $13)
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ (get_local $22)
)
- (set_local $17
- (get_local $23)
+ (block
+ (set_local $0
+ (get_local $13)
+ )
+ (set_local $17
+ (get_local $23)
+ )
+ (br $while-out$35)
)
- (br $while-out$35)
)
)
- )
- (if
- (i32.eqz
- (set_local $13
- (i32.load offset=8
- (get_local $13)
+ (if
+ (i32.eqz
+ (tee_local $13
+ (i32.load offset=8
+ (get_local $13)
+ )
)
)
- )
- (block
- (set_local $7
- (i32.const 171)
+ (block
+ (set_local $7
+ (i32.const 171)
+ )
+ (br $label$break$c)
)
- (br $label$break$c)
)
+ (br $while-in$36)
)
- (br $while-in$36)
)
(if
(i32.lt_u
- (set_local $13
+ (tee_local $13
(i32.and
(i32.sub
(get_local $9)
@@ -3289,7 +3324,7 @@
)
(if
(i32.eq
- (set_local $23
+ (tee_local $23
(call_import $ta
(get_local $13)
)
@@ -3347,7 +3382,7 @@
)
(if
(i32.ne
- (set_local $22
+ (tee_local $22
(call_import $ta
(i32.const 0)
)
@@ -3358,9 +3393,9 @@
(set_local $6
(if
(i32.and
- (set_local $23
+ (tee_local $23
(i32.add
- (set_local $13
+ (tee_local $13
(i32.load
(i32.const 1684)
)
@@ -3368,7 +3403,7 @@
(i32.const -1)
)
)
- (set_local $2
+ (tee_local $2
(get_local $22)
)
)
@@ -3393,7 +3428,7 @@
)
(set_local $2
(i32.add
- (set_local $13
+ (tee_local $13
(i32.load
(i32.const 1640)
)
@@ -3414,7 +3449,7 @@
)
(block
(if
- (set_local $23
+ (tee_local $23
(i32.load
(i32.const 1648)
)
@@ -3434,7 +3469,7 @@
)
(if
(i32.eq
- (set_local $23
+ (tee_local $23
(call_import $ta
(get_local $6)
)
@@ -3502,14 +3537,14 @@
)
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.and
(i32.add
(i32.sub
(get_local $21)
(get_local $1)
)
- (set_local $22
+ (tee_local $22
(i32.load
(i32.const 1688)
)
@@ -3531,8 +3566,10 @@
(i32.const -1)
)
(block
- (call_import $ta
- (get_local $23)
+ (drop
+ (call_import $ta
+ (get_local $23)
+ )
)
(br $label$break$d)
)
@@ -3595,12 +3632,12 @@
(if
(i32.and
(i32.lt_u
- (set_local $4
+ (tee_local $4
(call_import $ta
(get_local $15)
)
)
- (set_local $15
+ (tee_local $15
(call_import $ta
(i32.const 0)
)
@@ -3619,7 +3656,7 @@
)
(if
(i32.gt_u
- (set_local $10
+ (tee_local $10
(i32.sub
(get_local $15)
(get_local $4)
@@ -3653,7 +3690,7 @@
(block
(i32.store
(i32.const 1640)
- (set_local $10
+ (tee_local $10
(i32.add
(i32.load
(i32.const 1640)
@@ -3676,7 +3713,7 @@
)
(block $do-once$42
(if
- (set_local $10
+ (tee_local $10
(i32.load
(i32.const 1232)
)
@@ -3685,55 +3722,57 @@
(set_local $1
(i32.const 1656)
)
- (loop $do-out$46 $do-in$47
- (if
- (i32.eq
- (get_local $28)
- (i32.add
- (set_local $4
- (i32.load
- (get_local $1)
+ (loop $do-in$47
+ (block $do-out$46
+ (if
+ (i32.eq
+ (get_local $28)
+ (i32.add
+ (tee_local $4
+ (i32.load
+ (get_local $1)
+ )
)
- )
- (set_local $21
- (i32.load
- (set_local $15
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (tee_local $21
+ (i32.load
+ (tee_local $15
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
)
)
)
)
)
- )
- (block
- (set_local $50
- (get_local $4)
- )
- (set_local $51
- (get_local $15)
- )
- (set_local $52
- (get_local $21)
- )
- (set_local $35
- (get_local $1)
- )
- (set_local $7
- (i32.const 201)
+ (block
+ (set_local $50
+ (get_local $4)
+ )
+ (set_local $51
+ (get_local $15)
+ )
+ (set_local $52
+ (get_local $21)
+ )
+ (set_local $35
+ (get_local $1)
+ )
+ (set_local $7
+ (i32.const 201)
+ )
+ (br $do-out$46)
)
- (br $do-out$46)
)
- )
- (br_if $do-in$47
- (i32.ne
- (set_local $1
- (i32.load offset=8
- (get_local $1)
+ (br_if $do-in$47
+ (i32.ne
+ (tee_local $1
+ (i32.load offset=8
+ (get_local $1)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
@@ -3773,13 +3812,13 @@
(set_local $1
(i32.add
(get_local $10)
- (set_local $21
+ (tee_local $21
(select
(i32.const 0)
(i32.and
(i32.sub
(i32.const 0)
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $10)
(i32.const 8)
@@ -3847,7 +3886,7 @@
(if
(i32.lt_u
(get_local $28)
- (set_local $15
+ (tee_local $15
(i32.load
(i32.const 1224)
)
@@ -3872,43 +3911,45 @@
(set_local $1
(i32.const 1656)
)
- (loop $while-out$48 $while-in$49
- (if
- (i32.eq
- (i32.load
- (get_local $1)
- )
- (get_local $15)
- )
- (block
- (set_local $53
- (get_local $1)
- )
- (set_local $45
- (get_local $1)
- )
- (set_local $7
- (i32.const 209)
+ (loop $while-in$49
+ (block $while-out$48
+ (if
+ (i32.eq
+ (i32.load
+ (get_local $1)
+ )
+ (get_local $15)
)
- (br $while-out$48)
- )
- )
- (if
- (i32.eqz
- (set_local $1
- (i32.load offset=8
+ (block
+ (set_local $53
+ (get_local $1)
+ )
+ (set_local $45
(get_local $1)
)
+ (set_local $7
+ (i32.const 209)
+ )
+ (br $while-out$48)
)
)
- (block
- (set_local $37
- (i32.const 1656)
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load offset=8
+ (get_local $1)
+ )
+ )
+ )
+ (block
+ (set_local $37
+ (i32.const 1656)
+ )
+ (br $while-out$48)
)
- (br $while-out$48)
)
+ (br $while-in$49)
)
- (br $while-in$49)
)
(if
(i32.eq
@@ -3931,7 +3972,7 @@
(get_local $28)
)
(i32.store
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $45)
(i32.const 4)
@@ -3952,7 +3993,7 @@
(i32.and
(i32.sub
(i32.const 0)
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $28)
(i32.const 8)
@@ -3979,7 +4020,7 @@
(i32.and
(i32.sub
(i32.const 0)
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $15)
(i32.const 8)
@@ -4029,7 +4070,7 @@
(block
(i32.store
(i32.const 1220)
- (set_local $6
+ (tee_local $6
(i32.add
(i32.load
(i32.const 1220)
@@ -4061,7 +4102,7 @@
(block
(i32.store
(i32.const 1216)
- (set_local $6
+ (tee_local $6
(i32.add
(i32.load
(i32.const 1216)
@@ -4092,12 +4133,12 @@
)
)
(i32.store
- (set_local $0
+ (tee_local $0
(i32.add
(if
(i32.eq
(i32.and
- (set_local $6
+ (tee_local $6
(i32.load offset=4
(get_local $4)
)
@@ -4134,12 +4175,12 @@
(block $do-once$53
(if
(i32.ne
- (set_local $6
+ (tee_local $6
(i32.load offset=8
(get_local $4)
)
)
- (set_local $23
+ (tee_local $23
(i32.add
(i32.const 1248)
(i32.shl
@@ -4219,7 +4260,7 @@
(if
(i32.eq
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $9)
(i32.const 8)
@@ -4257,7 +4298,7 @@
(block $do-once$57
(if
(i32.eq
- (set_local $2
+ (tee_local $2
(i32.load offset=12
(get_local $4)
)
@@ -4266,11 +4307,11 @@
)
(block
(if
- (set_local $20
+ (tee_local $20
(i32.load
- (set_local $13
+ (tee_local $13
(i32.add
- (set_local $22
+ (tee_local $22
(i32.add
(get_local $4)
(i32.const 16)
@@ -4290,7 +4331,7 @@
)
)
(if
- (set_local $20
+ (tee_local $20
(i32.load
(get_local $22)
)
@@ -4311,50 +4352,52 @@
)
)
)
- (loop $while-out$59 $while-in$60
- (if
- (set_local $20
- (i32.load
- (set_local $13
- (i32.add
- (get_local $11)
- (i32.const 20)
+ (loop $while-in$60
+ (block $while-out$59
+ (if
+ (tee_local $20
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (get_local $11)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $11
- (get_local $20)
- )
- (set_local $0
- (get_local $13)
+ (block
+ (set_local $11
+ (get_local $20)
+ )
+ (set_local $0
+ (get_local $13)
+ )
+ (br $while-in$60)
)
- (br $while-in$60)
)
- )
- (if
- (set_local $20
- (i32.load
- (set_local $13
- (i32.add
- (get_local $11)
- (i32.const 16)
+ (if
+ (tee_local $20
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (get_local $11)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $11
- (get_local $20)
- )
- (set_local $0
- (get_local $13)
+ (block
+ (set_local $11
+ (get_local $20)
+ )
+ (set_local $0
+ (get_local $13)
+ )
)
+ (br $while-out$59)
)
- (br $while-out$59)
+ (br $while-in$60)
)
- (br $while-in$60)
)
(if
(i32.lt_u
@@ -4376,7 +4419,7 @@
(block
(if
(i32.lt_u
- (set_local $13
+ (tee_local $13
(i32.load offset=8
(get_local $4)
)
@@ -4388,7 +4431,7 @@
(if
(i32.ne
(i32.load
- (set_local $20
+ (tee_local $20
(i32.add
(get_local $13)
(i32.const 12)
@@ -4402,7 +4445,7 @@
(if
(i32.eq
(i32.load
- (set_local $22
+ (tee_local $22
(i32.add
(get_local $2)
(i32.const 8)
@@ -4439,11 +4482,11 @@
(i32.eq
(get_local $4)
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $2
+ (tee_local $2
(i32.load offset=28
(get_local $4)
)
@@ -4492,7 +4535,7 @@
(if
(i32.eq
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $23)
(i32.const 16)
@@ -4521,7 +4564,7 @@
(if
(i32.lt_u
(get_local $30)
- (set_local $2
+ (tee_local $2
(i32.load
(i32.const 1224)
)
@@ -4534,9 +4577,9 @@
(get_local $23)
)
(if
- (set_local $9
+ (tee_local $9
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $4)
(i32.const 16)
@@ -4564,7 +4607,7 @@
)
(br_if $label$break$e
(i32.eqz
- (set_local $9
+ (tee_local $9
(i32.load offset=4
(get_local $6)
)
@@ -4662,12 +4705,12 @@
(block $do-once$65
(if
(i32.and
- (set_local $9
+ (tee_local $9
(i32.load
(i32.const 1208)
)
)
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 1)
(get_local $0)
@@ -4677,9 +4720,9 @@
(block
(if
(i32.ge_u
- (set_local $23
+ (tee_local $23
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $6)
(i32.const 8)
@@ -4746,10 +4789,10 @@
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $0
+ (tee_local $0
(block $do-once$67
(if
- (set_local $2
+ (tee_local $2
(i32.shr_u
(get_local $11)
(i32.const 8)
@@ -4768,20 +4811,20 @@
(i32.shr_u
(get_local $11)
(i32.add
- (set_local $13
+ (tee_local $13
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $23
+ (tee_local $23
(i32.and
(i32.shr_u
(i32.add
- (set_local $17
+ (tee_local $17
(i32.shl
(get_local $2)
- (set_local $9
+ (tee_local $9
(i32.and
(i32.shr_u
(i32.add
@@ -4804,11 +4847,11 @@
)
(get_local $9)
)
- (set_local $17
+ (tee_local $17
(i32.and
(i32.shr_u
(i32.add
- (set_local $0
+ (tee_local $0
(i32.shl
(get_local $17)
(get_local $23)
@@ -4856,7 +4899,7 @@
(get_local $0)
)
(i32.store offset=4
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $1)
(i32.const 16)
@@ -4871,12 +4914,12 @@
(if
(i32.eqz
(i32.and
- (set_local $6
+ (tee_local $6
(i32.load
(i32.const 1212)
)
)
- (set_local $13
+ (tee_local $13
(i32.shl
(i32.const 1)
(get_local $0)
@@ -4935,72 +4978,74 @@
(get_local $2)
)
)
- (loop $while-out$69 $while-in$70
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $6)
+ (loop $while-in$70
+ (block $while-out$69
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $6)
+ )
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $11)
- )
- (block
- (set_local $42
- (get_local $6)
+ (get_local $11)
)
- (set_local $7
- (i32.const 279)
+ (block
+ (set_local $42
+ (get_local $6)
+ )
+ (set_local $7
+ (i32.const 279)
+ )
+ (br $while-out$69)
)
- (br $while-out$69)
)
- )
- (if
- (set_local $17
- (i32.load
- (set_local $2
- (i32.add
+ (if
+ (tee_local $17
+ (i32.load
+ (tee_local $2
(i32.add
- (get_local $6)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $13)
- (i32.const 31)
+ (i32.add
+ (get_local $6)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $13)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (block
- (set_local $13
- (i32.shl
- (get_local $13)
- (i32.const 1)
+ (block
+ (set_local $13
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
+ )
+ )
+ (set_local $6
+ (get_local $17)
)
)
- (set_local $6
- (get_local $17)
- )
- )
- (block
- (set_local $48
- (get_local $2)
- )
- (set_local $54
- (get_local $6)
- )
- (set_local $7
- (i32.const 276)
+ (block
+ (set_local $48
+ (get_local $2)
+ )
+ (set_local $54
+ (get_local $6)
+ )
+ (set_local $7
+ (i32.const 276)
+ )
+ (br $while-out$69)
)
- (br $while-out$69)
)
+ (br $while-in$70)
)
- (br $while-in$70)
)
(if
(i32.eq
@@ -5042,9 +5087,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $13
+ (tee_local $13
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $42)
(i32.const 8)
@@ -5052,7 +5097,7 @@
)
)
)
- (set_local $17
+ (tee_local $17
(i32.load
(i32.const 1224)
)
@@ -5092,8 +5137,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -5105,46 +5149,48 @@
)
)
)
- (loop $while-out$71 $while-in$72
- (if
- (i32.le_u
- (set_local $1
- (i32.load
- (get_local $37)
- )
- )
- (get_local $10)
- )
+ (loop $while-in$72
+ (block $while-out$71
(if
- (i32.gt_u
- (set_local $24
- (i32.add
- (get_local $1)
- (i32.load offset=4
- (get_local $37)
- )
+ (i32.le_u
+ (tee_local $1
+ (i32.load
+ (get_local $37)
)
)
(get_local $10)
)
- (block
- (set_local $0
- (get_local $24)
+ (if
+ (i32.gt_u
+ (tee_local $24
+ (i32.add
+ (get_local $1)
+ (i32.load offset=4
+ (get_local $37)
+ )
+ )
+ )
+ (get_local $10)
+ )
+ (block
+ (set_local $0
+ (get_local $24)
+ )
+ (br $while-out$71)
)
- (br $while-out$71)
)
)
- )
- (set_local $37
- (i32.load offset=8
- (get_local $37)
+ (set_local $37
+ (i32.load offset=8
+ (get_local $37)
+ )
)
+ (br $while-in$72)
)
- (br $while-in$72)
)
(set_local $24
(i32.add
- (set_local $21
+ (tee_local $21
(i32.add
(get_local $0)
(i32.const -47)
@@ -5155,10 +5201,10 @@
)
(set_local $1
(i32.add
- (set_local $21
+ (tee_local $21
(select
(get_local $10)
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $21)
(select
@@ -5182,7 +5228,7 @@
)
(i32.lt_u
(get_local $1)
- (set_local $24
+ (tee_local $24
(i32.add
(get_local $10)
(i32.const 16)
@@ -5196,16 +5242,16 @@
)
(i32.store
(i32.const 1232)
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $28)
- (set_local $15
+ (tee_local $15
(select
(i32.const 0)
(i32.and
(i32.sub
(i32.const 0)
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $28)
(i32.const 8)
@@ -5228,7 +5274,7 @@
)
(i32.store
(i32.const 1220)
- (set_local $13
+ (tee_local $13
(i32.sub
(i32.add
(get_local $33)
@@ -5259,7 +5305,7 @@
)
)
(i32.store
- (set_local $13
+ (tee_local $13
(i32.add
(get_local $21)
(i32.const 4)
@@ -5315,7 +5361,7 @@
)
(loop $do-in$74
(i32.store
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $1)
(i32.const 4)
@@ -5351,7 +5397,7 @@
(i32.store offset=4
(get_local $10)
(i32.or
- (set_local $1
+ (tee_local $1
(i32.sub
(get_local $21)
(get_local $10)
@@ -5390,12 +5436,12 @@
)
(if
(i32.and
- (set_local $6
+ (tee_local $6
(i32.load
(i32.const 1208)
)
)
- (set_local $17
+ (tee_local $17
(i32.shl
(i32.const 1)
(get_local $4)
@@ -5404,9 +5450,9 @@
)
(if
(i32.lt_u
- (set_local $6
+ (tee_local $6
(i32.load
- (set_local $17
+ (tee_local $17
(i32.add
(get_local $15)
(i32.const 8)
@@ -5470,9 +5516,9 @@
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $0
+ (tee_local $0
(if
- (set_local $15
+ (tee_local $15
(i32.shr_u
(get_local $1)
(i32.const 8)
@@ -5489,20 +5535,20 @@
(i32.shr_u
(get_local $1)
(i32.add
- (set_local $2
+ (tee_local $2
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $15
+ (tee_local $15
(i32.and
(i32.shr_u
(i32.add
- (set_local $17
+ (tee_local $17
(i32.shl
(get_local $15)
- (set_local $6
+ (tee_local $6
(i32.and
(i32.shr_u
(i32.add
@@ -5525,11 +5571,11 @@
)
(get_local $6)
)
- (set_local $17
+ (tee_local $17
(i32.and
(i32.shr_u
(i32.add
- (set_local $4
+ (tee_local $4
(i32.shl
(get_local $17)
(get_local $15)
@@ -5586,12 +5632,12 @@
(if
(i32.eqz
(i32.and
- (set_local $17
+ (tee_local $17
(i32.load
(i32.const 1212)
)
)
- (set_local $4
+ (tee_local $4
(i32.shl
(i32.const 1)
(get_local $0)
@@ -5650,72 +5696,74 @@
(get_local $2)
)
)
- (loop $while-out$75 $while-in$76
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $17)
+ (loop $while-in$76
+ (block $while-out$75
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $17)
+ )
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $1)
- )
- (block
- (set_local $32
- (get_local $17)
+ (get_local $1)
)
- (set_local $7
- (i32.const 305)
+ (block
+ (set_local $32
+ (get_local $17)
+ )
+ (set_local $7
+ (i32.const 305)
+ )
+ (br $while-out$75)
)
- (br $while-out$75)
)
- )
- (if
- (set_local $6
- (i32.load
- (set_local $2
- (i32.add
+ (if
+ (tee_local $6
+ (i32.load
+ (tee_local $2
(i32.add
- (get_local $17)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $4)
- (i32.const 31)
+ (i32.add
+ (get_local $17)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $4)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (block
- (set_local $4
- (i32.shl
- (get_local $4)
- (i32.const 1)
+ (block
+ (set_local $4
+ (i32.shl
+ (get_local $4)
+ (i32.const 1)
+ )
+ )
+ (set_local $17
+ (get_local $6)
)
)
- (set_local $17
- (get_local $6)
- )
- )
- (block
- (set_local $26
- (get_local $2)
- )
- (set_local $11
- (get_local $17)
- )
- (set_local $7
- (i32.const 302)
+ (block
+ (set_local $26
+ (get_local $2)
+ )
+ (set_local $11
+ (get_local $17)
+ )
+ (set_local $7
+ (i32.const 302)
+ )
+ (br $while-out$75)
)
- (br $while-out$75)
)
+ (br $while-in$76)
)
- (br $while-in$76)
)
(if
(i32.eq
@@ -5757,9 +5805,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $4
+ (tee_local $4
(i32.load
- (set_local $17
+ (tee_local $17
(i32.add
(get_local $32)
(i32.const 8)
@@ -5767,7 +5815,7 @@
)
)
)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 1224)
)
@@ -5811,7 +5859,7 @@
(if
(i32.or
(i32.eq
- (set_local $4
+ (tee_local $4
(i32.load
(i32.const 1224)
)
@@ -5855,7 +5903,7 @@
)
(loop $do-in$45
(i32.store offset=12
- (set_local $15
+ (tee_local $15
(i32.add
(i32.const 1248)
(i32.shl
@@ -5875,7 +5923,7 @@
)
(br_if $do-in$45
(i32.ne
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $4)
(i32.const 1)
@@ -5887,16 +5935,16 @@
)
(i32.store
(i32.const 1232)
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $28)
- (set_local $15
+ (tee_local $15
(select
(i32.const 0)
(i32.and
(i32.sub
(i32.const 0)
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $28)
(i32.const 8)
@@ -5919,7 +5967,7 @@
)
(i32.store
(i32.const 1220)
- (set_local $1
+ (tee_local $1
(i32.sub
(i32.add
(get_local $33)
@@ -5954,7 +6002,7 @@
)
(if
(i32.gt_u
- (set_local $10
+ (tee_local $10
(i32.load
(i32.const 1220)
)
@@ -5964,7 +6012,7 @@
(block
(i32.store
(i32.const 1220)
- (set_local $32
+ (tee_local $32
(i32.sub
(get_local $10)
(get_local $18)
@@ -5973,9 +6021,9 @@
)
(i32.store
(i32.const 1232)
- (set_local $7
+ (tee_local $7
(i32.add
- (set_local $10
+ (tee_local $10
(i32.load
(i32.const 1232)
)
@@ -5998,8 +6046,7 @@
(i32.const 3)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -6016,8 +6063,7 @@
(call $Qa)
(i32.const 12)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(i32.const 0)
@@ -6050,13 +6096,13 @@
)
(if
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const -8)
)
)
- (set_local $14
+ (tee_local $14
(i32.load
(i32.const 1224)
)
@@ -6066,9 +6112,9 @@
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.and
- (set_local $9
+ (tee_local $9
(i32.load
(i32.add
(get_local $0)
@@ -6086,7 +6132,7 @@
(set_local $7
(i32.add
(get_local $1)
- (set_local $5
+ (tee_local $5
(i32.and
(get_local $9)
(i32.const -8)
@@ -6128,7 +6174,7 @@
)
(if
(i32.lt_u
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $1)
(i32.sub
@@ -6152,9 +6198,9 @@
(if
(i32.ne
(i32.and
- (set_local $6
+ (tee_local $6
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $7)
(i32.const 4)
@@ -6223,12 +6269,12 @@
)
(if
(i32.ne
- (set_local $9
+ (tee_local $9
(i32.load offset=8
(get_local $0)
)
)
- (set_local $4
+ (tee_local $4
(i32.add
(i32.const 1248)
(i32.shl
@@ -6312,7 +6358,7 @@
(if
(i32.eq
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $1)
(i32.const 8)
@@ -6353,7 +6399,7 @@
(block $do-once$2
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load offset=12
(get_local $0)
)
@@ -6362,11 +6408,11 @@
)
(block
(if
- (set_local $11
+ (tee_local $11
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $0)
(i32.const 16)
@@ -6387,7 +6433,7 @@
)
(if
(i32.eqz
- (set_local $1
+ (tee_local $1
(i32.load
(get_local $4)
)
@@ -6401,58 +6447,60 @@
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (set_local $11
- (i32.load
- (set_local $6
- (i32.add
- (get_local $1)
- (i32.const 20)
+ (loop $while-in$5
+ (block $while-out$4
+ (if
+ (tee_local $11
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $1
- (get_local $11)
- )
- (set_local $4
- (get_local $6)
+ (block
+ (set_local $1
+ (get_local $11)
+ )
+ (set_local $4
+ (get_local $6)
+ )
+ (br $while-in$5)
)
- (br $while-in$5)
)
- )
- (if
- (set_local $11
- (i32.load
- (set_local $6
- (i32.add
- (get_local $1)
- (i32.const 16)
+ (if
+ (tee_local $11
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $1
- (get_local $11)
- )
- (set_local $4
- (get_local $6)
- )
- )
- (block
- (set_local $6
- (get_local $1)
+ (block
+ (set_local $1
+ (get_local $11)
+ )
+ (set_local $4
+ (get_local $6)
+ )
)
- (set_local $10
- (get_local $4)
+ (block
+ (set_local $6
+ (get_local $1)
+ )
+ (set_local $10
+ (get_local $4)
+ )
+ (br $while-out$4)
)
- (br $while-out$4)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(if
(i32.lt_u
@@ -6474,7 +6522,7 @@
(block
(if
(i32.lt_u
- (set_local $6
+ (tee_local $6
(i32.load offset=8
(get_local $0)
)
@@ -6486,7 +6534,7 @@
(if
(i32.ne
(i32.load
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $6)
(i32.const 12)
@@ -6500,7 +6548,7 @@
(if
(i32.eq
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $1)
(i32.const 8)
@@ -6534,11 +6582,11 @@
(i32.eq
(get_local $0)
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $1
+ (tee_local $1
(i32.load offset=28
(get_local $0)
)
@@ -6597,7 +6645,7 @@
(if
(i32.eq
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $9)
(i32.const 16)
@@ -6634,7 +6682,7 @@
(if
(i32.lt_u
(get_local $3)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 1224)
)
@@ -6647,9 +6695,9 @@
(get_local $9)
)
(if
- (set_local $4
+ (tee_local $4
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $0)
(i32.const 16)
@@ -6676,7 +6724,7 @@
)
)
(if
- (set_local $4
+ (tee_local $4
(i32.load offset=4
(get_local $6)
)
@@ -6738,9 +6786,9 @@
(if
(i32.eqz
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $7)
(i32.const 4)
@@ -6795,7 +6843,7 @@
(block
(i32.store
(i32.const 1220)
- (set_local $3
+ (tee_local $3
(i32.add
(i32.load
(i32.const 1220)
@@ -6845,7 +6893,7 @@
(block
(i32.store
(i32.const 1216)
- (set_local $3
+ (tee_local $3
(i32.add
(i32.load
(i32.const 1216)
@@ -6904,12 +6952,12 @@
)
(if
(i32.ne
- (set_local $6
+ (tee_local $6
(i32.load offset=8
(get_local $7)
)
)
- (set_local $4
+ (tee_local $4
(i32.add
(i32.const 1248)
(i32.shl
@@ -6991,7 +7039,7 @@
(if
(i32.eq
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $10)
(i32.const 8)
@@ -7025,7 +7073,7 @@
(block $do-once$10
(if
(i32.eq
- (set_local $10
+ (tee_local $10
(i32.load offset=12
(get_local $7)
)
@@ -7034,11 +7082,11 @@
)
(block
(if
- (set_local $11
+ (tee_local $11
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $7)
(i32.const 16)
@@ -7059,7 +7107,7 @@
)
(if
(i32.eqz
- (set_local $0
+ (tee_local $0
(i32.load
(get_local $4)
)
@@ -7073,50 +7121,52 @@
)
)
)
- (loop $while-out$12 $while-in$13
- (if
- (set_local $11
- (i32.load
- (set_local $1
- (i32.add
- (get_local $0)
- (i32.const 20)
+ (loop $while-in$13
+ (block $while-out$12
+ (if
+ (tee_local $11
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $0
- (get_local $11)
- )
- (set_local $4
- (get_local $1)
+ (block
+ (set_local $0
+ (get_local $11)
+ )
+ (set_local $4
+ (get_local $1)
+ )
+ (br $while-in$13)
)
- (br $while-in$13)
)
- )
- (if
- (set_local $11
- (i32.load
- (set_local $1
- (i32.add
- (get_local $0)
- (i32.const 16)
+ (if
+ (tee_local $11
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $0
- (get_local $11)
- )
- (set_local $4
- (get_local $1)
+ (block
+ (set_local $0
+ (get_local $11)
+ )
+ (set_local $4
+ (get_local $1)
+ )
)
+ (br $while-out$12)
)
- (br $while-out$12)
+ (br $while-in$13)
)
- (br $while-in$13)
)
(if
(i32.lt_u
@@ -7140,7 +7190,7 @@
(block
(if
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.load offset=8
(get_local $7)
)
@@ -7154,7 +7204,7 @@
(if
(i32.ne
(i32.load
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $1)
(i32.const 12)
@@ -7168,7 +7218,7 @@
(if
(i32.eq
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $10)
(i32.const 8)
@@ -7202,11 +7252,11 @@
(i32.eq
(get_local $7)
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $10
+ (tee_local $10
(i32.load offset=28
(get_local $7)
)
@@ -7259,7 +7309,7 @@
(if
(i32.eq
(i32.load
- (set_local $10
+ (tee_local $10
(i32.add
(get_local $6)
(i32.const 16)
@@ -7287,7 +7337,7 @@
(if
(i32.lt_u
(get_local $12)
- (set_local $10
+ (tee_local $10
(i32.load
(i32.const 1224)
)
@@ -7300,9 +7350,9 @@
(get_local $6)
)
(if
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $7)
(i32.const 16)
@@ -7329,7 +7379,7 @@
)
)
(if
- (set_local $0
+ (tee_local $0
(i32.load offset=4
(get_local $5)
)
@@ -7419,12 +7469,12 @@
)
(if
(i32.and
- (set_local $5
+ (tee_local $5
(i32.load
(i32.const 1208)
)
)
- (set_local $3
+ (tee_local $3
(i32.shl
(i32.const 1)
(get_local $8)
@@ -7433,9 +7483,9 @@
)
(if
(i32.lt_u
- (set_local $5
+ (tee_local $5
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $1)
(i32.const 8)
@@ -7499,9 +7549,9 @@
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $1
+ (tee_local $1
(if
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $0)
(i32.const 8)
@@ -7518,20 +7568,20 @@
(i32.shr_u
(get_local $0)
(i32.add
- (set_local $3
+ (tee_local $3
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
- (set_local $15
+ (tee_local $15
(i32.shl
(get_local $1)
- (set_local $13
+ (tee_local $13
(i32.and
(i32.shr_u
(i32.add
@@ -7554,11 +7604,11 @@
)
(get_local $13)
)
- (set_local $15
+ (tee_local $15
(i32.and
(i32.shr_u
(i32.add
- (set_local $5
+ (tee_local $5
(i32.shl
(get_local $15)
(get_local $1)
@@ -7614,12 +7664,12 @@
)
(if
(i32.and
- (set_local $15
+ (tee_local $15
(i32.load
(i32.const 1212)
)
)
- (set_local $5
+ (tee_local $5
(i32.shl
(i32.const 1)
(get_local $1)
@@ -7651,72 +7701,74 @@
(get_local $3)
)
)
- (loop $while-out$18 $while-in$19
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $1)
+ (loop $while-in$19
+ (block $while-out$18
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $0)
- )
- (block
- (set_local $16
- (get_local $1)
+ (get_local $0)
)
- (set_local $0
- (i32.const 130)
+ (block
+ (set_local $16
+ (get_local $1)
+ )
+ (set_local $0
+ (i32.const 130)
+ )
+ (br $while-out$18)
)
- (br $while-out$18)
)
- )
- (if
- (set_local $12
- (i32.load
- (set_local $8
- (i32.add
+ (if
+ (tee_local $12
+ (i32.load
+ (tee_local $8
(i32.add
- (get_local $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $13)
- (i32.const 31)
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $13)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (block
- (set_local $13
- (i32.shl
- (get_local $13)
- (i32.const 1)
+ (block
+ (set_local $13
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
+ )
+ )
+ (set_local $1
+ (get_local $12)
)
)
- (set_local $1
- (get_local $12)
- )
- )
- (block
- (set_local $18
- (get_local $8)
- )
- (set_local $19
- (get_local $1)
- )
- (set_local $0
- (i32.const 127)
+ (block
+ (set_local $18
+ (get_local $8)
+ )
+ (set_local $19
+ (get_local $1)
+ )
+ (set_local $0
+ (i32.const 127)
+ )
+ (br $while-out$18)
)
- (br $while-out$18)
)
+ (br $while-in$19)
)
- (br $while-in$19)
)
(if
(i32.eq
@@ -7758,9 +7810,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $13
+ (tee_local $13
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $16)
(i32.const 8)
@@ -7768,7 +7820,7 @@
)
)
)
- (set_local $5
+ (tee_local $5
(i32.load
(i32.const 1224)
)
@@ -7834,7 +7886,7 @@
)
(i32.store
(i32.const 1240)
- (set_local $2
+ (tee_local $2
(i32.add
(i32.load
(i32.const 1240)
@@ -7850,22 +7902,24 @@
(i32.const 1664)
)
)
- (loop $while-out$20 $while-in$21
- (if
- (set_local $2
- (i32.load
- (get_local $0)
+ (loop $while-in$21
+ (block $while-out$20
+ (if
+ (tee_local $2
+ (i32.load
+ (get_local $0)
+ )
)
- )
- (set_local $0
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (set_local $0
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
+ (br $while-out$20)
)
- (br $while-out$20)
+ (br $while-in$21)
)
- (br $while-in$21)
)
(i32.store
(i32.const 1240)
@@ -7890,16 +7944,11 @@
(local $17 i32)
(local $18 i32)
(set_local $11
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 48)
)
)
@@ -7913,15 +7962,15 @@
(get_local $11)
)
(i32.store
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $11)
(i32.const 32)
)
)
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $0)
(i32.const 28)
@@ -7932,10 +7981,10 @@
)
(i32.store offset=4
(get_local $3)
- (set_local $10
+ (tee_local $10
(i32.sub
(i32.load
- (set_local $14
+ (tee_local $14
(i32.add
(get_local $0)
(i32.const 20)
@@ -7978,209 +8027,211 @@
(get_local $2)
)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eq
- (get_local $5)
- (set_local $6
- (if
- (i32.load
- (i32.const 1160)
- )
- (block
- (call_import $ra
- (i32.const 1)
- (get_local $0)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eq
+ (get_local $5)
+ (tee_local $6
+ (if
+ (i32.load
+ (i32.const 1160)
)
- (i32.store
- (get_local $13)
- (i32.load
- (get_local $1)
+ (block
+ (call_import $ra
+ (i32.const 1)
+ (get_local $0)
)
- )
- (i32.store offset=4
- (get_local $13)
- (get_local $4)
- )
- (i32.store offset=8
- (get_local $13)
- (get_local $3)
- )
- (set_local $10
- (call $Pa
- (call_import $ya
- (i32.const 146)
- (get_local $13)
+ (i32.store
+ (get_local $13)
+ (i32.load
+ (get_local $1)
)
)
- )
- (call_import $oa
- (i32.const 0)
- )
- (get_local $10)
- )
- (block
- (i32.store
- (get_local $12)
- (i32.load
- (get_local $1)
+ (i32.store offset=4
+ (get_local $13)
+ (get_local $4)
)
+ (i32.store offset=8
+ (get_local $13)
+ (get_local $3)
+ )
+ (set_local $10
+ (call $Pa
+ (call_import $ya
+ (i32.const 146)
+ (get_local $13)
+ )
+ )
+ )
+ (call_import $oa
+ (i32.const 0)
+ )
+ (get_local $10)
)
- (i32.store offset=4
- (get_local $12)
- (get_local $4)
- )
- (i32.store offset=8
- (get_local $12)
- (get_local $3)
- )
- (call $Pa
- (call_import $ya
- (i32.const 146)
+ (block
+ (i32.store
+ (get_local $12)
+ (i32.load
+ (get_local $1)
+ )
+ )
+ (i32.store offset=4
+ (get_local $12)
+ (get_local $4)
+ )
+ (i32.store offset=8
(get_local $12)
+ (get_local $3)
+ )
+ (call $Pa
+ (call_import $ya
+ (i32.const 146)
+ (get_local $12)
+ )
)
)
)
)
)
- )
- (block
- (set_local $1
- (i32.const 6)
- )
- (br $while-out$0)
- )
- )
- (if
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
- )
- (block
- (set_local $17
- (get_local $4)
- )
- (set_local $18
- (get_local $3)
- )
- (set_local $1
- (i32.const 8)
+ (block
+ (set_local $1
+ (i32.const 6)
+ )
+ (br $while-out$0)
)
- (br $while-out$0)
- )
- )
- (set_local $10
- (i32.sub
- (get_local $5)
- (get_local $6)
)
- )
- (set_local $3
(if
- (i32.gt_u
+ (i32.lt_s
(get_local $6)
- (set_local $5
- (i32.load offset=4
- (get_local $4)
- )
- )
+ (i32.const 0)
)
(block
- (i32.store
- (get_local $9)
- (set_local $7
- (i32.load
- (get_local $8)
- )
- )
- )
- (i32.store
- (get_local $14)
- (get_local $7)
- )
- (set_local $6
- (i32.sub
- (get_local $6)
- (get_local $5)
- )
- )
- (set_local $7
- (i32.add
- (get_local $4)
- (i32.const 8)
- )
+ (set_local $17
+ (get_local $4)
)
- (set_local $15
- (i32.add
- (get_local $3)
- (i32.const -1)
- )
+ (set_local $18
+ (get_local $3)
)
- (i32.load offset=12
- (get_local $4)
+ (set_local $1
+ (i32.const 8)
)
+ (br $while-out$0)
)
+ )
+ (set_local $10
+ (i32.sub
+ (get_local $5)
+ (get_local $6)
+ )
+ )
+ (set_local $3
(if
- (i32.eq
- (get_local $3)
- (i32.const 2)
+ (i32.gt_u
+ (get_local $6)
+ (tee_local $5
+ (i32.load offset=4
+ (get_local $4)
+ )
+ )
)
(block
(i32.store
(get_local $9)
- (i32.add
+ (tee_local $7
(i32.load
- (get_local $9)
+ (get_local $8)
)
+ )
+ )
+ (i32.store
+ (get_local $14)
+ (get_local $7)
+ )
+ (set_local $6
+ (i32.sub
(get_local $6)
+ (get_local $5)
)
)
(set_local $7
- (get_local $4)
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
(set_local $15
- (i32.const 2)
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
+ )
)
- (get_local $5)
- )
- (block
- (set_local $7
+ (i32.load offset=12
(get_local $4)
)
- (set_local $15
+ )
+ (if
+ (i32.eq
(get_local $3)
+ (i32.const 2)
+ )
+ (block
+ (i32.store
+ (get_local $9)
+ (i32.add
+ (i32.load
+ (get_local $9)
+ )
+ (get_local $6)
+ )
+ )
+ (set_local $7
+ (get_local $4)
+ )
+ (set_local $15
+ (i32.const 2)
+ )
+ (get_local $5)
+ )
+ (block
+ (set_local $7
+ (get_local $4)
+ )
+ (set_local $15
+ (get_local $3)
+ )
+ (get_local $5)
)
- (get_local $5)
)
)
)
- )
- (i32.store
- (get_local $7)
- (i32.add
- (i32.load
- (get_local $7)
+ (i32.store
+ (get_local $7)
+ (i32.add
+ (i32.load
+ (get_local $7)
+ )
+ (get_local $6)
)
- (get_local $6)
)
- )
- (i32.store offset=4
- (get_local $7)
- (i32.sub
- (get_local $3)
- (get_local $6)
+ (i32.store offset=4
+ (get_local $7)
+ (i32.sub
+ (get_local $3)
+ (get_local $6)
+ )
)
+ (set_local $4
+ (get_local $7)
+ )
+ (set_local $3
+ (get_local $15)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (br $while-in$1)
)
- (set_local $4
- (get_local $7)
- )
- (set_local $3
- (get_local $15)
- )
- (set_local $5
- (get_local $10)
- )
- (br $while-in$1)
)
(if
(i32.eq
@@ -8191,7 +8242,7 @@
(i32.store offset=16
(get_local $0)
(i32.add
- (set_local $5
+ (tee_local $5
(i32.load
(get_local $8)
)
@@ -8203,7 +8254,7 @@
)
(i32.store
(get_local $9)
- (set_local $8
+ (tee_local $8
(get_local $5)
)
)
@@ -8260,8 +8311,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $11)
)
(get_local $16)
@@ -8273,9 +8323,9 @@
(local $6 i32)
(local $7 i32)
(if
- (set_local $5
+ (tee_local $5
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $2)
(i32.const 16)
@@ -8318,9 +8368,9 @@
)
(block
(set_local $6
- (set_local $3
+ (tee_local $3
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $2)
(i32.const 20)
@@ -8340,6 +8390,9 @@
(block
(set_local $4
(call_indirect $FUNCSIG$iiii
+ (get_local $2)
+ (get_local $0)
+ (get_local $1)
(i32.add
(i32.and
(i32.load offset=36
@@ -8349,9 +8402,6 @@
)
(i32.const 2)
)
- (get_local $2)
- (get_local $0)
- (get_local $1)
)
)
(br $label$break$a)
@@ -8370,53 +8420,58 @@
(set_local $3
(get_local $1)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (get_local $3)
- )
- (block
- (set_local $2
- (get_local $0)
- )
- (set_local $3
- (i32.const 0)
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (get_local $3)
)
- (br $label$break$b
- (get_local $1)
+ (block
+ (set_local $2
+ (get_local $0)
+ )
+ (set_local $3
+ (i32.const 0)
+ )
+ (br $label$break$b
+ (get_local $1)
+ )
)
)
- )
- (if
- (i32.eq
- (i32.load8_s
- (i32.add
- (get_local $0)
- (set_local $7
- (i32.add
- (get_local $3)
- (i32.const -1)
+ (if
+ (i32.eq
+ (i32.load8_s
+ (i32.add
+ (get_local $0)
+ (tee_local $7
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
+ )
)
)
)
+ (i32.const 10)
)
- (i32.const 10)
- )
- (block
- (set_local $4
- (get_local $3)
+ (block
+ (set_local $4
+ (get_local $3)
+ )
+ (br $while-out$2)
+ )
+ (set_local $3
+ (get_local $7)
)
- (br $while-out$2)
- )
- (set_local $3
- (get_local $7)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
- (if
+ (br_if $label$break$a
(i32.lt_u
(call_indirect $FUNCSIG$iiii
+ (get_local $2)
+ (get_local $0)
+ (get_local $4)
(i32.add
(i32.and
(i32.load offset=36
@@ -8426,13 +8481,9 @@
)
(i32.const 2)
)
- (get_local $2)
- (get_local $0)
- (get_local $4)
)
(get_local $4)
)
- (br $label$break$a)
)
(set_local $2
(i32.add
@@ -8465,10 +8516,12 @@
)
)
)
- (call $jb
- (get_local $6)
- (get_local $2)
- (get_local $0)
+ (drop
+ (call $jb
+ (get_local $6)
+ (get_local $2)
+ (get_local $0)
+ )
)
(i32.store
(get_local $5)
@@ -8499,7 +8552,7 @@
(block $label$break$a
(if
(i32.and
- (set_local $3
+ (tee_local $3
(get_local $0)
)
(i32.const 3)
@@ -8508,44 +8561,47 @@
(set_local $4
(get_local $3)
)
- (loop $while-out$1 $while-in$2
- (if
- (i32.eqz
- (i32.load8_s
- (get_local $0)
+ (loop $while-in$2
+ (block $while-out$1
+ (if
+ (i32.eqz
+ (i32.load8_s
+ (get_local $0)
+ )
)
- )
- (block
- (set_local $5
- (get_local $4)
+ (block
+ (set_local $5
+ (get_local $4)
+ )
+ (br $label$break$a)
)
- (br $label$break$a)
)
- )
- (if
- (i32.and
- (set_local $4
- (set_local $0
- (i32.add
- (get_local $0)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $4
+ (tee_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
)
+ (i32.const 3)
)
)
- (i32.const 3)
- )
- (get_local $0)
- (block
- (set_local $2
- (get_local $0)
- )
- (set_local $1
- (i32.const 4)
+ (block
+ (set_local $2
+ (get_local $0)
+ )
+ (set_local $1
+ (i32.const 4)
+ )
+ (br $while-out$1)
)
- (br $while-out$1)
)
+ (br $while-in$2)
)
- (br $while-in$2)
)
)
(block
@@ -8567,34 +8623,36 @@
(set_local $1
(get_local $2)
)
- (loop $while-out$3 $while-in$4
- (if
- (i32.and
- (i32.xor
- (i32.and
- (set_local $2
- (i32.load
- (get_local $1)
+ (loop $while-in$4
+ (block $while-out$3
+ (if
+ (i32.and
+ (i32.xor
+ (i32.and
+ (tee_local $2
+ (i32.load
+ (get_local $1)
+ )
)
+ (i32.const -2139062144)
)
(i32.const -2139062144)
)
- (i32.const -2139062144)
- )
- (i32.add
- (get_local $2)
- (i32.const -16843009)
+ (i32.add
+ (get_local $2)
+ (i32.const -16843009)
+ )
)
- )
- (br $while-out$3)
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (br $while-out$3)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$4)
)
- (br $while-in$4)
)
(if
(i32.shr_s
@@ -8611,25 +8669,26 @@
(set_local $2
(get_local $1)
)
- (loop $while-out$5 $while-in$6
- (if
- (i32.load8_s
- (set_local $1
- (i32.add
- (get_local $2)
- (i32.const 1)
+ (loop $while-in$6
+ (block $while-out$5
+ (if
+ (i32.load8_s
+ (tee_local $1
+ (i32.add
+ (get_local $2)
+ (i32.const 1)
+ )
)
)
+ (set_local $2
+ (get_local $1)
+ )
+ (br $while-out$5)
)
- (set_local $2
- (get_local $1)
- )
- (br $while-out$5)
+ (br $while-in$6)
)
- (br $while-in$6)
)
)
- (get_local $1)
)
(set_local $5
(get_local $1)
@@ -8703,7 +8762,7 @@
(i32.const 1188)
)
(if
- (set_local $2
+ (tee_local $2
(i32.load
(i32.const 1184)
)
@@ -8715,64 +8774,66 @@
(set_local $2
(get_local $0)
)
- (loop $while-out$2 $while-in$3
- (set_local $0
- (if
- (i32.gt_s
- (i32.load offset=76
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $0
+ (if
+ (i32.gt_s
+ (i32.load offset=76
+ (get_local $1)
+ )
+ (i32.const -1)
+ )
+ (call $Ya
(get_local $1)
)
- (i32.const -1)
- )
- (call $Ya
- (get_local $1)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $2
- (if
- (i32.gt_u
- (i32.load offset=20
- (get_local $1)
- )
- (i32.load offset=28
- (get_local $1)
+ (set_local $2
+ (if
+ (i32.gt_u
+ (i32.load offset=20
+ (get_local $1)
+ )
+ (i32.load offset=28
+ (get_local $1)
+ )
)
- )
- (i32.or
- (call $$a
- (get_local $1)
+ (i32.or
+ (call $$a
+ (get_local $1)
+ )
+ (get_local $2)
)
(get_local $2)
)
- (get_local $2)
)
- )
- (if
- (get_local $0)
- (call $Ta
- (get_local $1)
- )
- )
- (if
- (set_local $1
- (i32.load offset=56
+ (if
+ (get_local $0)
+ (call $Ta
(get_local $1)
)
)
- (get_local $2)
- (block
- (set_local $0
- (get_local $2)
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load offset=56
+ (get_local $1)
+ )
+ )
+ )
+ (block
+ (set_local $0
+ (get_local $2)
+ )
+ (br $while-out$2)
)
- (br $while-out$2)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
- (get_local $0)
)
(call_import $xa
(i32.const 1188)
@@ -8792,24 +8853,19 @@
(local $8 i32)
(local $9 i32)
(set_local $5
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 16)
)
)
(i32.store8
- (set_local $6
+ (tee_local $6
(get_local $5)
)
- (set_local $9
+ (tee_local $9
(i32.and
(get_local $1)
(i32.const 255)
@@ -8817,9 +8873,9 @@
)
)
(if
- (set_local $3
+ (tee_local $3
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $0)
(i32.const 16)
@@ -8863,9 +8919,9 @@
(block
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $0)
(i32.const 20)
@@ -8877,7 +8933,7 @@
)
(if
(i32.ne
- (set_local $4
+ (tee_local $4
(i32.and
(get_local $1)
(i32.const 255)
@@ -8907,6 +8963,9 @@
(if
(i32.eq
(call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (get_local $6)
+ (i32.const 1)
(i32.add
(i32.and
(i32.load offset=36
@@ -8916,9 +8975,6 @@
)
(i32.const 2)
)
- (get_local $0)
- (get_local $6)
- (i32.const 1)
)
(i32.const 1)
)
@@ -8931,8 +8987,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $5)
)
(get_local $4)
@@ -8947,7 +9002,7 @@
(if
(i32.gt_u
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $0)
(i32.const 20)
@@ -8955,7 +9010,7 @@
)
)
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $0)
(i32.const 28)
@@ -8964,19 +9019,21 @@
)
)
(block
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (i32.load offset=36
- (get_local $0)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $0)
+ )
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $0)
- (i32.const 0)
- (i32.const 0)
)
(if
(i32.load
@@ -9002,9 +9059,9 @@
(block
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 4)
@@ -9012,9 +9069,9 @@
)
)
)
- (set_local $6
+ (tee_local $6
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $0)
(i32.const 8)
@@ -9024,6 +9081,12 @@
)
)
(call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.sub
+ (get_local $2)
+ (get_local $6)
+ )
+ (i32.const 1)
(i32.add
(i32.and
(i32.load offset=40
@@ -9033,12 +9096,6 @@
)
(i32.const 2)
)
- (get_local $0)
- (i32.sub
- (get_local $2)
- (get_local $6)
- )
- (i32.const 1)
)
)
(i32.store offset=16
@@ -9098,116 +9155,122 @@
)
)
(block
- (loop $while-out$0 $while-in$1
- (br_if $while-out$0
- (i32.eqz
- (i32.and
- (get_local $0)
- (i32.const 3)
+ (loop $while-in$1
+ (block $while-out$0
+ (br_if $while-out$0
+ (i32.eqz
+ (i32.and
+ (get_local $0)
+ (i32.const 3)
+ )
)
)
- )
- (if
- (i32.eqz
- (get_local $2)
- )
- (return
- (get_local $3)
- )
- )
- (i32.store8
- (get_local $0)
- (i32.load8_s
- (get_local $1)
+ (if
+ (i32.eqz
+ (get_local $2)
+ )
+ (return
+ (get_local $3)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 1)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
)
- )
- (br $while-in$1)
- )
- (loop $while-out$2 $while-in$3
- (br_if $while-out$2
- (i32.lt_s
- (get_local $2)
- (i32.const 4)
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 1)
+ )
)
+ (br $while-in$1)
)
- (i32.store
- (get_local $0)
- (i32.load
- (get_local $1)
+ )
+ (loop $while-in$3
+ (block $while-out$2
+ (br_if $while-out$2
+ (i32.lt_s
+ (get_local $2)
+ (i32.const 4)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store
(get_local $0)
- (i32.const 4)
+ (i32.load
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 4)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
)
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 4)
+ )
+ )
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (br_if $while-out$4
- (i32.le_s
- (get_local $2)
- (i32.const 0)
- )
- )
- (i32.store8
- (get_local $0)
- (i32.load8_s
- (get_local $1)
+ (loop $while-in$5
+ (block $while-out$4
+ (br_if $while-out$4
+ (i32.le_s
+ (get_local $2)
+ (i32.const 0)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 1)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 1)
+ )
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(get_local $3)
)
@@ -9235,7 +9298,7 @@
(i32.or
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(get_local $1)
(i32.const 255)
@@ -9264,7 +9327,7 @@
)
)
(if
- (set_local $3
+ (tee_local $3
(i32.and
(get_local $0)
(i32.const 3)
@@ -9280,66 +9343,72 @@
(get_local $3)
)
)
- (loop $while-out$0 $while-in$1
- (br_if $while-out$0
- (i32.ge_s
- (get_local $0)
- (get_local $3)
+ (loop $while-in$1
+ (block $while-out$0
+ (br_if $while-out$0
+ (i32.ge_s
+ (get_local $0)
+ (get_local $3)
+ )
)
- )
- (i32.store8
- (get_local $0)
- (get_local $1)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (get_local $1)
)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
+ (br $while-in$1)
)
- (br $while-in$1)
)
)
)
- (loop $while-out$2 $while-in$3
- (br_if $while-out$2
- (i32.ge_s
- (get_local $0)
- (get_local $6)
+ (loop $while-in$3
+ (block $while-out$2
+ (br_if $while-out$2
+ (i32.ge_s
+ (get_local $0)
+ (get_local $6)
+ )
)
- )
- (i32.store
- (get_local $0)
- (get_local $5)
- )
- (set_local $0
- (i32.add
+ (i32.store
(get_local $0)
- (i32.const 4)
+ (get_local $5)
)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
+ )
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (br_if $while-out$4
- (i32.ge_s
- (get_local $0)
- (get_local $4)
+ (loop $while-in$5
+ (block $while-out$4
+ (br_if $while-out$4
+ (i32.ge_s
+ (get_local $0)
+ (get_local $4)
+ )
)
- )
- (i32.store8
- (get_local $0)
- (get_local $1)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (get_local $1)
+ )
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(i32.sub
(get_local $0)
@@ -9354,7 +9423,7 @@
(if
(i32.gt_s
(i32.load offset=76
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 1024)
)
@@ -9389,9 +9458,9 @@
)
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $1)
(i32.const 20)
@@ -9451,7 +9520,7 @@
(local $2 i32)
(set_local $2
(i32.load8_s
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 74)
@@ -9471,7 +9540,7 @@
)
(if
(i32.and
- (set_local $2
+ (tee_local $2
(i32.load
(get_local $0)
)
@@ -9499,7 +9568,7 @@
)
(i32.store offset=28
(get_local $0)
- (set_local $1
+ (tee_local $1
(i32.load offset=44
(get_local $0)
)
@@ -9533,7 +9602,7 @@
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(if
(i32.gt_s
(i32.load offset=76
@@ -9588,21 +9657,16 @@
(local $3 i32)
(local $4 i32)
(set_local $4
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 32)
)
)
(i32.store
- (set_local $3
+ (tee_local $3
(get_local $4)
)
(i32.load offset=60
@@ -9619,7 +9683,7 @@
)
(i32.store offset=12
(get_local $3)
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $4)
(i32.const 20)
@@ -9653,8 +9717,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $4)
)
(get_local $0)
@@ -9663,16 +9726,11 @@
(local $3 i32)
(local $4 i32)
(set_local $4
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 80)
)
)
@@ -9729,73 +9787,56 @@
(get_local $2)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $4)
)
(get_local $3)
)
(func $Ka (param $0 i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s
(get_local $0)
)
)
(i32.store8 offset=1
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=1
(get_local $0)
)
)
(i32.store8 offset=2
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=2
(get_local $0)
)
)
(i32.store8 offset=3
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=3
(get_local $0)
)
)
(i32.store8 offset=4
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=4
(get_local $0)
)
)
(i32.store8 offset=5
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=5
(get_local $0)
)
)
(i32.store8 offset=6
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=6
(get_local $0)
)
)
(i32.store8 offset=7
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=7
(get_local $0)
)
@@ -9805,21 +9846,16 @@
(local $1 i32)
(local $2 i32)
(set_local $1
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 16)
)
)
(i32.store
- (set_local $2
+ (tee_local $2
(get_local $1)
)
(i32.load offset=60
@@ -9834,8 +9870,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $1)
)
(get_local $0)
@@ -9861,33 +9896,25 @@
)
(func $Ja (param $0 i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s
(get_local $0)
)
)
(i32.store8 offset=1
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=1
(get_local $0)
)
)
(i32.store8 offset=2
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=2
(get_local $0)
)
)
(i32.store8 offset=3
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=3
(get_local $0)
)
@@ -9906,6 +9933,9 @@
)
(func $lb (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(call_indirect $FUNCSIG$iiii
+ (get_local $1)
+ (get_local $2)
+ (get_local $3)
(i32.add
(i32.and
(get_local $0)
@@ -9913,34 +9943,23 @@
)
(i32.const 2)
)
- (get_local $1)
- (get_local $2)
- (get_local $3)
)
)
(func $Ea (param $0 i32) (result i32)
(local $1 i32)
(set_local $1
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(get_local $0)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.and
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 15)
)
(i32.const -16)
@@ -9970,17 +9989,13 @@
(func $Ia (param $0 i32) (param $1 i32)
(if
(i32.eqz
- (i32.load
- (i32.const 40)
- )
+ (get_global $v)
)
(block
- (i32.store
- (i32.const 40)
+ (set_global $v
(get_local $0)
)
- (i32.store
- (i32.const 48)
+ (set_global $w
(get_local $1)
)
)
@@ -9988,6 +10003,7 @@
)
(func $kb (param $0 i32) (param $1 i32) (result i32)
(call_indirect $FUNCSIG$ii
+ (get_local $1)
(i32.add
(i32.and
(get_local $0)
@@ -9995,7 +10011,6 @@
)
(i32.const 0)
)
- (get_local $1)
)
)
(func $Sa (param $0 i32)
@@ -10012,6 +10027,7 @@
)
(func $mb (param $0 i32) (param $1 i32)
(call_indirect $FUNCSIG$vi
+ (get_local $1)
(i32.add
(i32.and
(get_local $0)
@@ -10019,16 +10035,13 @@
)
(i32.const 6)
)
- (get_local $1)
)
)
(func $Ha (param $0 i32) (param $1 i32)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $0)
)
- (i32.store
- (i32.const 16)
+ (set_global $s
(get_local $1)
)
)
@@ -10039,8 +10052,10 @@
(i32.const 0)
)
(func $Na (result i32)
- (call $db
- (i32.const 1144)
+ (drop
+ (call $db
+ (i32.const 1144)
+ )
)
(i32.const 0)
)
@@ -10056,31 +10071,25 @@
)
)
(func $La (param $0 i32)
- (i32.store
- (i32.const 160)
+ (set_global $K
(get_local $0)
)
)
(func $Ga (param $0 i32)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $0)
)
)
(func $Ma (result i32)
- (i32.load
- (i32.const 160)
- )
+ (get_global $K)
)
(func $Fa (result i32)
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
(func $ib (result i32)
(i32.const 0)
)
- (func $__growWasmMemory (param $newSize i32)
+ (func $__growWasmMemory (param $newSize i32) (result i32)
(grow_memory
(get_local $newSize)
)
diff --git a/test/memorygrowth.fromasm.imprecise b/test/memorygrowth.fromasm.imprecise
index 5482b08f6..aea127692 100644
--- a/test/memorygrowth.fromasm.imprecise
+++ b/test/memorygrowth.fromasm.imprecise
@@ -1,44 +1,77 @@
(module
(memory 256 256)
- (export "memory" memory)
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
- (import $ja "env" "abort" (param i32))
- (import $oa "env" "_pthread_cleanup_pop" (param i32))
- (import $pa "env" "___lock" (param i32))
- (import $qa "env" "_abort")
- (import $ra "env" "_pthread_cleanup_push" (param i32 i32))
- (import $sa "env" "___syscall6" (param i32 i32) (result i32))
- (import $ta "env" "_sbrk" (param i32) (result i32))
- (import $ua "env" "___syscall140" (param i32 i32) (result i32))
- (import $va "env" "_emscripten_memcpy_big" (param i32 i32 i32) (result i32))
- (import $wa "env" "___syscall54" (param i32 i32) (result i32))
- (import $xa "env" "___unlock" (param i32))
- (import $ya "env" "___syscall146" (param i32 i32) (result i32))
- (export "_free" $fb)
- (export "_main" $Na)
- (export "_pthread_self" $ib)
- (export "_memset" $hb)
- (export "_malloc" $eb)
- (export "_memcpy" $jb)
- (export "_fflush" $_a)
- (export "___errno_location" $Qa)
- (export "runPostSets" $gb)
- (export "stackAlloc" $Ea)
- (export "stackSave" $Fa)
- (export "stackRestore" $Ga)
- (export "establishStackSpace" $Ha)
- (export "setThrew" $Ia)
- (export "setTempRet0" $La)
- (export "getTempRet0" $Ma)
- (export "dynCall_ii" $kb)
- (export "dynCall_iiii" $lb)
- (export "dynCall_vi" $mb)
- (export "__growWasmMemory" $__growWasmMemory)
+ (import "env" "STACKTOP" (global $r i32))
+ (import "env" "STACK_MAX" (global $s i32))
+ (import "env" "tempDoublePtr" (global $t i32))
+ (import "env" "ABORT" (global $u i32))
+ (import "global" "NaN" (global $z f64))
+ (import "global" "Infinity" (global $A f64))
+ (import "env" "abort" (func $ja (param i32)))
+ (import "env" "_pthread_cleanup_pop" (func $oa (param i32)))
+ (import "env" "___lock" (func $pa (param i32)))
+ (import "env" "_abort" (func $qa))
+ (import "env" "_pthread_cleanup_push" (func $ra (param i32 i32)))
+ (import "env" "___syscall6" (func $sa (param i32 i32) (result i32)))
+ (import "env" "_sbrk" (func $ta (param i32) (result i32)))
+ (import "env" "___syscall140" (func $ua (param i32 i32) (result i32)))
+ (import "env" "_emscripten_memcpy_big" (func $va (param i32 i32 i32) (result i32)))
+ (import "env" "___syscall54" (func $wa (param i32 i32) (result i32)))
+ (import "env" "___unlock" (func $xa (param i32)))
+ (import "env" "___syscall146" (func $ya (param i32 i32) (result i32)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "_free" (func $fb))
+ (export "_main" (func $Na))
+ (export "_pthread_self" (func $ib))
+ (export "_memset" (func $hb))
+ (export "_malloc" (func $eb))
+ (export "_memcpy" (func $jb))
+ (export "_fflush" (func $_a))
+ (export "___errno_location" (func $Qa))
+ (export "runPostSets" (func $gb))
+ (export "stackAlloc" (func $Ea))
+ (export "stackSave" (func $Fa))
+ (export "stackRestore" (func $Ga))
+ (export "establishStackSpace" (func $Ha))
+ (export "setThrew" (func $Ia))
+ (export "setTempRet0" (func $La))
+ (export "getTempRet0" (func $Ma))
+ (export "dynCall_ii" (func $kb))
+ (export "dynCall_iiii" (func $lb))
+ (export "dynCall_vi" (func $mb))
+ (export "__growWasmMemory" (func $__growWasmMemory))
+ (global $v i32 (i32.const 0))
+ (global $w i32 (i32.const 0))
+ (global $x i32 (i32.const 0))
+ (global $y i32 (i32.const 0))
+ (global $B i32 (i32.const 0))
+ (global $C i32 (i32.const 0))
+ (global $D i32 (i32.const 0))
+ (global $E i32 (i32.const 0))
+ (global $F f64 (f64.const 0))
+ (global $G i32 (i32.const 0))
+ (global $H i32 (i32.const 0))
+ (global $I i32 (i32.const 0))
+ (global $J f64 (f64.const 0))
+ (global $K i32 (i32.const 0))
+ (global $L i32 (i32.const 0))
+ (global $M i32 (i32.const 0))
+ (global $N i32 (i32.const 0))
+ (global $O i32 (i32.const 0))
+ (global $P i32 (i32.const 0))
+ (global $Q i32 (i32.const 0))
+ (global $R i32 (i32.const 0))
+ (global $S i32 (i32.const 0))
+ (global $T i32 (i32.const 0))
+ (global $za f64 (f64.const 0))
(table 8 8 anyfunc)
(elem (i32.const 0) $nb $Oa $ob $Va $Ua $Ra $pb $Sa)
(func $eb (param $0 i32) (result i32)
@@ -97,16 +130,11 @@
(local $53 i32)
(local $54 i32)
(set_local $31
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 16)
)
)
@@ -122,16 +150,16 @@
(block
(if
(i32.and
- (set_local $12
+ (tee_local $12
(i32.shr_u
- (set_local $16
+ (tee_local $16
(i32.load
(i32.const 1208)
)
)
- (set_local $2
+ (tee_local $2
(i32.shr_u
- (set_local $14
+ (tee_local $14
(select
(i32.const 16)
(i32.and
@@ -157,18 +185,18 @@
(block
(set_local $11
(i32.load
- (set_local $27
+ (tee_local $27
(i32.add
- (set_local $29
+ (tee_local $29
(i32.load
- (set_local $25
+ (tee_local $25
(i32.add
- (set_local $5
+ (tee_local $5
(i32.add
(i32.const 1248)
(i32.shl
(i32.shl
- (set_local $0
+ (tee_local $0
(i32.add
(i32.xor
(i32.and
@@ -227,7 +255,7 @@
(if
(i32.eq
(i32.load
- (set_local $19
+ (tee_local $19
(i32.add
(get_local $11)
(i32.const 12)
@@ -253,7 +281,7 @@
(i32.store offset=4
(get_local $29)
(i32.or
- (set_local $11
+ (tee_local $11
(i32.shl
(get_local $0)
(i32.const 3)
@@ -263,7 +291,7 @@
)
)
(i32.store
- (set_local $25
+ (tee_local $25
(i32.add
(i32.add
(get_local $29)
@@ -279,8 +307,7 @@
(i32.const 1)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -291,7 +318,7 @@
(if
(i32.gt_u
(get_local $14)
- (set_local $25
+ (tee_local $25
(i32.load
(i32.const 1216)
)
@@ -304,17 +331,17 @@
(set_local $5
(i32.and
(i32.shr_u
- (set_local $11
+ (tee_local $11
(i32.add
(i32.and
- (set_local $5
+ (tee_local $5
(i32.and
(i32.shl
(get_local $12)
(get_local $2)
)
(i32.or
- (set_local $11
+ (tee_local $11
(i32.shl
(i32.const 2)
(get_local $2)
@@ -342,27 +369,27 @@
)
(set_local $5
(i32.load
- (set_local $19
+ (tee_local $19
(i32.add
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
- (set_local $3
+ (tee_local $3
(i32.add
(i32.const 1248)
(i32.shl
(i32.shl
- (set_local $7
+ (tee_local $7
(i32.add
(i32.or
(i32.or
(i32.or
(i32.or
- (set_local $11
+ (tee_local $11
(i32.and
(i32.shr_u
- (set_local $19
+ (tee_local $19
(i32.shr_u
(get_local $11)
(get_local $5)
@@ -375,10 +402,10 @@
)
(get_local $5)
)
- (set_local $19
+ (tee_local $19
(i32.and
(i32.shr_u
- (set_local $8
+ (tee_local $8
(i32.shr_u
(get_local $19)
(get_local $11)
@@ -390,10 +417,10 @@
)
)
)
- (set_local $8
+ (tee_local $8
(i32.and
(i32.shr_u
- (set_local $3
+ (tee_local $3
(i32.shr_u
(get_local $8)
(get_local $19)
@@ -405,10 +432,10 @@
)
)
)
- (set_local $3
+ (tee_local $3
(i32.and
(i32.shr_u
- (set_local $0
+ (tee_local $0
(i32.shr_u
(get_local $3)
(get_local $8)
@@ -478,7 +505,7 @@
(if
(i32.eq
(i32.load
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $5)
(i32.const 12)
@@ -514,14 +541,14 @@
)
)
(i32.store offset=4
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $8)
(get_local $14)
)
)
(i32.or
- (set_local $5
+ (tee_local $5
(i32.sub
(i32.shl
(get_local $7)
@@ -553,7 +580,7 @@
(i32.const 1248)
(i32.shl
(i32.shl
- (set_local $25
+ (tee_local $25
(i32.shr_u
(get_local $39)
(i32.const 3)
@@ -567,12 +594,12 @@
)
(if
(i32.and
- (set_local $2
+ (tee_local $2
(i32.load
(i32.const 1208)
)
)
- (set_local $12
+ (tee_local $12
(i32.shl
(i32.const 1)
(get_local $25)
@@ -581,9 +608,9 @@
)
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $12
+ (tee_local $12
(i32.add
(get_local $16)
(i32.const 8)
@@ -650,8 +677,7 @@
(i32.const 1228)
(get_local $0)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -660,7 +686,7 @@
)
)
(if
- (set_local $0
+ (tee_local $0
(i32.load
(i32.const 1212)
)
@@ -669,7 +695,7 @@
(set_local $0
(i32.and
(i32.shr_u
- (set_local $5
+ (tee_local $5
(i32.add
(i32.and
(get_local $0)
@@ -690,7 +716,7 @@
(i32.sub
(i32.and
(i32.load offset=4
- (set_local $25
+ (tee_local $25
(i32.load
(i32.add
(i32.shl
@@ -699,10 +725,10 @@
(i32.or
(i32.or
(i32.or
- (set_local $5
+ (tee_local $5
(i32.and
(i32.shr_u
- (set_local $16
+ (tee_local $16
(i32.shr_u
(get_local $5)
(get_local $0)
@@ -715,10 +741,10 @@
)
(get_local $0)
)
- (set_local $16
+ (tee_local $16
(i32.and
(i32.shr_u
- (set_local $3
+ (tee_local $3
(i32.shr_u
(get_local $16)
(get_local $5)
@@ -730,10 +756,10 @@
)
)
)
- (set_local $3
+ (tee_local $3
(i32.and
(i32.shr_u
- (set_local $2
+ (tee_local $2
(i32.shr_u
(get_local $3)
(get_local $16)
@@ -745,10 +771,10 @@
)
)
)
- (set_local $2
+ (tee_local $2
(i32.and
(i32.shr_u
- (set_local $12
+ (tee_local $12
(i32.shr_u
(get_local $2)
(get_local $3)
@@ -783,75 +809,77 @@
(set_local $3
(get_local $25)
)
- (loop $while-out$6 $while-in$7
- (if
- (set_local $25
- (i32.load offset=16
- (get_local $12)
- )
- )
- (set_local $0
- (get_local $25)
- )
+ (loop $while-in$7
+ (block $while-out$6
(if
- (set_local $16
- (i32.load offset=20
+ (tee_local $25
+ (i32.load offset=16
(get_local $12)
)
)
(set_local $0
- (get_local $16)
+ (get_local $25)
)
- (block
- (set_local $32
- (get_local $2)
+ (if
+ (tee_local $16
+ (i32.load offset=20
+ (get_local $12)
+ )
)
- (set_local $26
- (get_local $3)
+ (set_local $0
+ (get_local $16)
+ )
+ (block
+ (set_local $32
+ (get_local $2)
+ )
+ (set_local $26
+ (get_local $3)
+ )
+ (br $while-out$6)
)
- (br $while-out$6)
)
)
- )
- (set_local $16
- (i32.lt_u
- (set_local $25
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $0)
+ (set_local $16
+ (i32.lt_u
+ (tee_local $25
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $14)
)
- (get_local $14)
)
+ (get_local $2)
)
- (get_local $2)
)
- )
- (set_local $2
- (select
- (get_local $25)
- (get_local $2)
- (get_local $16)
+ (set_local $2
+ (select
+ (get_local $25)
+ (get_local $2)
+ (get_local $16)
+ )
)
- )
- (set_local $12
- (get_local $0)
- )
- (set_local $3
- (select
+ (set_local $12
(get_local $0)
- (get_local $3)
- (get_local $16)
)
+ (set_local $3
+ (select
+ (get_local $0)
+ (get_local $3)
+ (get_local $16)
+ )
+ )
+ (br $while-in$7)
)
- (br $while-in$7)
)
(if
(i32.lt_u
(get_local $26)
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 1224)
)
@@ -862,7 +890,7 @@
(if
(i32.ge_u
(get_local $26)
- (set_local $12
+ (tee_local $12
(i32.add
(get_local $26)
(get_local $14)
@@ -879,7 +907,7 @@
(block $do-once$8
(if
(i32.eq
- (set_local $19
+ (tee_local $19
(i32.load offset=12
(get_local $26)
)
@@ -888,9 +916,9 @@
)
(block
(if
- (set_local $7
+ (tee_local $7
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
(get_local $26)
(i32.const 20)
@@ -907,9 +935,9 @@
)
)
(if
- (set_local $25
+ (tee_local $25
(i32.load
- (set_local $16
+ (tee_local $16
(i32.add
(get_local $26)
(i32.const 16)
@@ -933,50 +961,52 @@
)
)
)
- (loop $while-out$10 $while-in$11
- (if
- (set_local $7
- (i32.load
- (set_local $8
- (i32.add
- (get_local $11)
- (i32.const 20)
+ (loop $while-in$11
+ (block $while-out$10
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (get_local $11)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $11
- (get_local $7)
- )
- (set_local $0
- (get_local $8)
+ (block
+ (set_local $11
+ (get_local $7)
+ )
+ (set_local $0
+ (get_local $8)
+ )
+ (br $while-in$11)
)
- (br $while-in$11)
)
- )
- (if
- (set_local $7
- (i32.load
- (set_local $8
- (i32.add
- (get_local $11)
- (i32.const 16)
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (get_local $11)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $11
- (get_local $7)
- )
- (set_local $0
- (get_local $8)
+ (block
+ (set_local $11
+ (get_local $7)
+ )
+ (set_local $0
+ (get_local $8)
+ )
)
+ (br $while-out$10)
)
- (br $while-out$10)
+ (br $while-in$11)
)
- (br $while-in$11)
)
(if
(i32.lt_u
@@ -998,7 +1028,7 @@
(block
(if
(i32.lt_u
- (set_local $8
+ (tee_local $8
(i32.load offset=8
(get_local $26)
)
@@ -1010,7 +1040,7 @@
(if
(i32.ne
(i32.load
- (set_local $7
+ (tee_local $7
(i32.add
(get_local $8)
(i32.const 12)
@@ -1024,7 +1054,7 @@
(if
(i32.eq
(i32.load
- (set_local $16
+ (tee_local $16
(i32.add
(get_local $19)
(i32.const 8)
@@ -1059,11 +1089,11 @@
(i32.eq
(get_local $26)
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $19
+ (tee_local $19
(i32.load offset=28
(get_local $26)
)
@@ -1116,7 +1146,7 @@
(if
(i32.eq
(i32.load
- (set_local $19
+ (tee_local $19
(i32.add
(get_local $2)
(i32.const 16)
@@ -1144,7 +1174,7 @@
(if
(i32.lt_u
(get_local $27)
- (set_local $19
+ (tee_local $19
(i32.load
(i32.const 1224)
)
@@ -1157,7 +1187,7 @@
(get_local $2)
)
(if
- (set_local $3
+ (tee_local $3
(i32.load offset=16
(get_local $26)
)
@@ -1181,7 +1211,7 @@
)
)
(if
- (set_local $3
+ (tee_local $3
(i32.load offset=20
(get_local $26)
)
@@ -1218,7 +1248,7 @@
(i32.store offset=4
(get_local $26)
(i32.or
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $32)
(get_local $14)
@@ -1228,7 +1258,7 @@
)
)
(i32.store
- (set_local $3
+ (tee_local $3
(i32.add
(i32.add
(get_local $26)
@@ -1268,7 +1298,7 @@
(get_local $32)
)
(if
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 1216)
)
@@ -1284,7 +1314,7 @@
(i32.const 1248)
(i32.shl
(i32.shl
- (set_local $19
+ (tee_local $19
(i32.shr_u
(get_local $3)
(i32.const 3)
@@ -1298,12 +1328,12 @@
)
(if
(i32.and
- (set_local $8
+ (tee_local $8
(i32.load
(i32.const 1208)
)
)
- (set_local $16
+ (tee_local $16
(i32.shl
(i32.const 1)
(get_local $19)
@@ -1312,9 +1342,9 @@
)
(if
(i32.lt_u
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $16
+ (tee_local $16
(i32.add
(get_local $3)
(i32.const 8)
@@ -1383,8 +1413,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -1415,7 +1444,7 @@
(block
(set_local $2
(i32.and
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $0)
(i32.const 11)
@@ -1425,7 +1454,7 @@
)
)
(if
- (set_local $8
+ (tee_local $8
(i32.load
(i32.const 1212)
)
@@ -1439,13 +1468,13 @@
)
(block $label$break$a
(if
- (set_local $0
+ (tee_local $0
(i32.load
(i32.add
(i32.shl
- (set_local $34
+ (tee_local $34
(if
- (set_local $19
+ (tee_local $19
(i32.shr_u
(get_local $3)
(i32.const 8)
@@ -1462,20 +1491,20 @@
(i32.shr_u
(get_local $2)
(i32.add
- (set_local $0
+ (tee_local $0
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $19
+ (tee_local $19
(i32.and
(i32.shr_u
(i32.add
- (set_local $7
+ (tee_local $7
(i32.shl
(get_local $19)
- (set_local $3
+ (tee_local $3
(i32.and
(i32.shr_u
(i32.add
@@ -1498,11 +1527,11 @@
)
(get_local $3)
)
- (set_local $7
+ (tee_local $7
(i32.and
(i32.shr_u
(i32.add
- (set_local $25
+ (tee_local $25
(i32.shl
(get_local $7)
(get_local $19)
@@ -1578,90 +1607,92 @@
(set_local $5
(i32.const 0)
)
- (loop $while-out$17 $while-in$18
- (if
- (i32.lt_u
- (set_local $29
- (i32.sub
- (set_local $27
- (i32.and
- (i32.load offset=4
- (get_local $19)
+ (loop $while-in$18
+ (block $while-out$17
+ (if
+ (i32.lt_u
+ (tee_local $29
+ (i32.sub
+ (tee_local $27
+ (i32.and
+ (i32.load offset=4
+ (get_local $19)
+ )
+ (i32.const -8)
)
- (i32.const -8)
)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $7)
)
- (get_local $7)
- )
- (if
- (i32.eq
- (get_local $27)
- (get_local $2)
- )
- (block
- (set_local $36
- (get_local $29)
- )
- (set_local $18
- (get_local $19)
+ (if
+ (i32.eq
+ (get_local $27)
+ (get_local $2)
)
- (set_local $17
- (get_local $19)
+ (block
+ (set_local $36
+ (get_local $29)
+ )
+ (set_local $18
+ (get_local $19)
+ )
+ (set_local $17
+ (get_local $19)
+ )
+ (set_local $7
+ (i32.const 90)
+ )
+ (br $label$break$a)
)
- (set_local $7
- (i32.const 90)
+ (block
+ (set_local $4
+ (get_local $29)
+ )
+ (set_local $0
+ (get_local $19)
+ )
)
- (br $label$break$a)
)
(block
(set_local $4
- (get_local $29)
+ (get_local $7)
)
(set_local $0
- (get_local $19)
+ (get_local $5)
)
)
)
- (block
- (set_local $4
- (get_local $7)
- )
- (set_local $0
- (get_local $5)
- )
- )
- )
- (set_local $27
- (select
- (get_local $25)
- (set_local $29
- (i32.load offset=20
- (get_local $19)
- )
- )
- (i32.or
- (i32.eq
- (get_local $29)
- (i32.const 0)
+ (set_local $27
+ (select
+ (get_local $25)
+ (tee_local $29
+ (i32.load offset=20
+ (get_local $19)
+ )
)
- (i32.eq
- (get_local $29)
- (set_local $19
- (i32.load
- (i32.add
+ (i32.or
+ (i32.eq
+ (get_local $29)
+ (i32.const 0)
+ )
+ (i32.eq
+ (get_local $29)
+ (tee_local $19
+ (i32.load
(i32.add
- (get_local $19)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $3)
- (i32.const 31)
+ (i32.add
+ (get_local $19)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
@@ -1669,54 +1700,54 @@
)
)
)
- )
- (if
- (set_local $29
- (i32.eq
- (get_local $19)
- (i32.const 0)
- )
- )
- (block
- (set_local $40
- (get_local $4)
- )
- (set_local $12
- (get_local $27)
- )
- (set_local $38
- (get_local $0)
- )
- (set_local $7
- (i32.const 86)
- )
- (br $while-out$17)
- )
- (block
- (set_local $7
- (get_local $4)
+ (if
+ (tee_local $29
+ (i32.eq
+ (get_local $19)
+ (i32.const 0)
+ )
)
- (set_local $25
- (get_local $27)
+ (block
+ (set_local $40
+ (get_local $4)
+ )
+ (set_local $12
+ (get_local $27)
+ )
+ (set_local $38
+ (get_local $0)
+ )
+ (set_local $7
+ (i32.const 86)
+ )
+ (br $while-out$17)
)
- (set_local $3
- (i32.shl
- (get_local $3)
- (i32.xor
- (i32.and
- (get_local $29)
+ (block
+ (set_local $7
+ (get_local $4)
+ )
+ (set_local $25
+ (get_local $27)
+ )
+ (set_local $3
+ (i32.shl
+ (get_local $3)
+ (i32.xor
+ (i32.and
+ (get_local $29)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
)
)
- )
- (set_local $5
- (get_local $0)
+ (set_local $5
+ (get_local $0)
+ )
)
)
+ (br $while-in$18)
)
- (br $while-in$18)
)
)
(block
@@ -1741,7 +1772,7 @@
(i32.const 86)
)
(if
- (set_local $0
+ (tee_local $0
(if
(i32.and
(i32.eq
@@ -1756,11 +1787,11 @@
(block
(if
(i32.eqz
- (set_local $16
+ (tee_local $16
(i32.and
(get_local $8)
(i32.or
- (set_local $0
+ (tee_local $0
(i32.shl
(i32.const 2)
(get_local $34)
@@ -1784,7 +1815,7 @@
(set_local $16
(i32.and
(i32.shr_u
- (set_local $0
+ (tee_local $0
(i32.add
(i32.and
(get_local $16)
@@ -1809,10 +1840,10 @@
(i32.or
(i32.or
(i32.or
- (set_local $0
+ (tee_local $0
(i32.and
(i32.shr_u
- (set_local $14
+ (tee_local $14
(i32.shr_u
(get_local $0)
(get_local $16)
@@ -1825,10 +1856,10 @@
)
(get_local $16)
)
- (set_local $14
+ (tee_local $14
(i32.and
(i32.shr_u
- (set_local $12
+ (tee_local $12
(i32.shr_u
(get_local $14)
(get_local $0)
@@ -1840,10 +1871,10 @@
)
)
)
- (set_local $12
+ (tee_local $12
(i32.and
(i32.shr_u
- (set_local $5
+ (tee_local $5
(i32.shr_u
(get_local $12)
(get_local $14)
@@ -1855,10 +1886,10 @@
)
)
)
- (set_local $5
+ (tee_local $5
(i32.and
(i32.shr_u
- (set_local $3
+ (tee_local $3
(i32.shr_u
(get_local $5)
(get_local $12)
@@ -1913,84 +1944,86 @@
(get_local $7)
(i32.const 90)
)
- (loop $while-out$19 $while-in$20
- (set_local $7
- (i32.const 0)
- )
- (set_local $3
- (i32.lt_u
- (set_local $5
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $18)
+ (loop $while-in$20
+ (block $while-out$19
+ (set_local $7
+ (i32.const 0)
+ )
+ (set_local $3
+ (i32.lt_u
+ (tee_local $5
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $18)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $2)
)
- (get_local $2)
)
- )
- (get_local $36)
- )
- )
- (set_local $12
- (select
- (get_local $5)
- (get_local $36)
- (get_local $3)
- )
- )
- (set_local $5
- (select
- (get_local $18)
- (get_local $17)
- (get_local $3)
- )
- )
- (if
- (set_local $3
- (i32.load offset=16
- (get_local $18)
+ (get_local $36)
)
)
- (block
- (set_local $36
- (get_local $12)
- )
- (set_local $18
- (get_local $3)
- )
- (set_local $17
+ (set_local $12
+ (select
(get_local $5)
+ (get_local $36)
+ (get_local $3)
)
- (br $while-in$20)
)
- )
- (if
- (set_local $18
- (i32.load offset=20
+ (set_local $5
+ (select
(get_local $18)
+ (get_local $17)
+ (get_local $3)
)
)
- (block
- (set_local $36
- (get_local $12)
+ (if
+ (tee_local $3
+ (i32.load offset=16
+ (get_local $18)
+ )
)
- (set_local $17
- (get_local $5)
+ (block
+ (set_local $36
+ (get_local $12)
+ )
+ (set_local $18
+ (get_local $3)
+ )
+ (set_local $17
+ (get_local $5)
+ )
+ (br $while-in$20)
)
)
- (block
- (set_local $22
- (get_local $12)
+ (if
+ (tee_local $18
+ (i32.load offset=20
+ (get_local $18)
+ )
)
- (set_local $9
- (get_local $5)
+ (block
+ (set_local $36
+ (get_local $12)
+ )
+ (set_local $17
+ (get_local $5)
+ )
+ )
+ (block
+ (set_local $22
+ (get_local $12)
+ )
+ (set_local $9
+ (get_local $5)
+ )
+ (br $while-out$19)
)
- (br $while-out$19)
)
+ (br $while-in$20)
)
- (br $while-in$20)
)
)
(if
@@ -2009,7 +2042,7 @@
(if
(i32.lt_u
(get_local $9)
- (set_local $8
+ (tee_local $8
(i32.load
(i32.const 1224)
)
@@ -2020,7 +2053,7 @@
(if
(i32.ge_u
(get_local $9)
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $9)
(get_local $2)
@@ -2037,7 +2070,7 @@
(block $do-once$21
(if
(i32.eq
- (set_local $3
+ (tee_local $3
(i32.load offset=12
(get_local $9)
)
@@ -2046,9 +2079,9 @@
)
(block
(if
- (set_local $16
+ (tee_local $16
(i32.load
- (set_local $14
+ (tee_local $14
(i32.add
(get_local $9)
(i32.const 20)
@@ -2065,9 +2098,9 @@
)
)
(if
- (set_local $25
+ (tee_local $25
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $9)
(i32.const 16)
@@ -2086,50 +2119,52 @@
)
)
)
- (loop $while-out$23 $while-in$24
- (if
- (set_local $16
- (i32.load
- (set_local $14
- (i32.add
- (get_local $11)
- (i32.const 20)
+ (loop $while-in$24
+ (block $while-out$23
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $14
+ (i32.add
+ (get_local $11)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $11
- (get_local $16)
- )
- (set_local $0
- (get_local $14)
+ (block
+ (set_local $11
+ (get_local $16)
+ )
+ (set_local $0
+ (get_local $14)
+ )
+ (br $while-in$24)
)
- (br $while-in$24)
)
- )
- (if
- (set_local $16
- (i32.load
- (set_local $14
- (i32.add
- (get_local $11)
- (i32.const 16)
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $14
+ (i32.add
+ (get_local $11)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $11
- (get_local $16)
- )
- (set_local $0
- (get_local $14)
+ (block
+ (set_local $11
+ (get_local $16)
+ )
+ (set_local $0
+ (get_local $14)
+ )
)
+ (br $while-out$23)
)
- (br $while-out$23)
+ (br $while-in$24)
)
- (br $while-in$24)
)
(if
(i32.lt_u
@@ -2151,7 +2186,7 @@
(block
(if
(i32.lt_u
- (set_local $14
+ (tee_local $14
(i32.load offset=8
(get_local $9)
)
@@ -2163,7 +2198,7 @@
(if
(i32.ne
(i32.load
- (set_local $16
+ (tee_local $16
(i32.add
(get_local $14)
(i32.const 12)
@@ -2177,7 +2212,7 @@
(if
(i32.eq
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $3)
(i32.const 8)
@@ -2212,11 +2247,11 @@
(i32.eq
(get_local $9)
(i32.load
- (set_local $8
+ (tee_local $8
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $3
+ (tee_local $3
(i32.load offset=28
(get_local $9)
)
@@ -2269,7 +2304,7 @@
(if
(i32.eq
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $12)
(i32.const 16)
@@ -2297,7 +2332,7 @@
(if
(i32.lt_u
(get_local $20)
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 1224)
)
@@ -2310,7 +2345,7 @@
(get_local $12)
)
(if
- (set_local $8
+ (tee_local $8
(i32.load offset=16
(get_local $9)
)
@@ -2334,7 +2369,7 @@
)
)
(if
- (set_local $8
+ (tee_local $8
(i32.load offset=20
(get_local $9)
)
@@ -2372,7 +2407,7 @@
(i32.store offset=4
(get_local $9)
(i32.or
- (set_local $12
+ (tee_local $12
(i32.add
(get_local $22)
(get_local $2)
@@ -2382,7 +2417,7 @@
)
)
(i32.store
- (set_local $8
+ (tee_local $8
(i32.add
(i32.add
(get_local $9)
@@ -2447,12 +2482,12 @@
)
(if
(i32.and
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 1208)
)
)
- (set_local $14
+ (tee_local $14
(i32.shl
(i32.const 1)
(get_local $8)
@@ -2461,9 +2496,9 @@
)
(if
(i32.lt_u
- (set_local $3
+ (tee_local $3
(i32.load
- (set_local $14
+ (tee_local $14
(i32.add
(get_local $12)
(i32.const 8)
@@ -2527,9 +2562,9 @@
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $20
+ (tee_local $20
(if
- (set_local $12
+ (tee_local $12
(i32.shr_u
(get_local $22)
(i32.const 8)
@@ -2546,20 +2581,20 @@
(i32.shr_u
(get_local $22)
(i32.add
- (set_local $0
+ (tee_local $0
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $12
+ (tee_local $12
(i32.and
(i32.shr_u
(i32.add
- (set_local $14
+ (tee_local $14
(i32.shl
(get_local $12)
- (set_local $3
+ (tee_local $3
(i32.and
(i32.shr_u
(i32.add
@@ -2582,11 +2617,11 @@
)
(get_local $3)
)
- (set_local $14
+ (tee_local $14
(i32.and
(i32.shr_u
(i32.add
- (set_local $8
+ (tee_local $8
(i32.shl
(get_local $14)
(get_local $12)
@@ -2633,7 +2668,7 @@
(get_local $20)
)
(i32.store offset=4
- (set_local $14
+ (tee_local $14
(i32.add
(get_local $5)
(i32.const 16)
@@ -2648,12 +2683,12 @@
(if
(i32.eqz
(i32.and
- (set_local $14
+ (tee_local $14
(i32.load
(i32.const 1212)
)
)
- (set_local $8
+ (tee_local $8
(i32.shl
(i32.const 1)
(get_local $20)
@@ -2712,72 +2747,74 @@
(get_local $0)
)
)
- (loop $while-out$31 $while-in$32
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $14)
+ (loop $while-in$32
+ (block $while-out$31
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $14)
+ )
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $22)
- )
- (block
- (set_local $21
- (get_local $14)
+ (get_local $22)
)
- (set_local $7
- (i32.const 148)
+ (block
+ (set_local $21
+ (get_local $14)
+ )
+ (set_local $7
+ (i32.const 148)
+ )
+ (br $while-out$31)
)
- (br $while-out$31)
)
- )
- (if
- (set_local $3
- (i32.load
- (set_local $0
- (i32.add
+ (if
+ (tee_local $3
+ (i32.load
+ (tee_local $0
(i32.add
- (get_local $14)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $8)
- (i32.const 31)
+ (i32.add
+ (get_local $14)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $8)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (block
- (set_local $8
- (i32.shl
- (get_local $8)
- (i32.const 1)
+ (block
+ (set_local $8
+ (i32.shl
+ (get_local $8)
+ (i32.const 1)
+ )
+ )
+ (set_local $14
+ (get_local $3)
)
)
- (set_local $14
- (get_local $3)
- )
- )
- (block
- (set_local $6
- (get_local $0)
- )
- (set_local $24
- (get_local $14)
- )
- (set_local $7
- (i32.const 145)
+ (block
+ (set_local $6
+ (get_local $0)
+ )
+ (set_local $24
+ (get_local $14)
+ )
+ (set_local $7
+ (i32.const 145)
+ )
+ (br $while-out$31)
)
- (br $while-out$31)
)
+ (br $while-in$32)
)
- (br $while-in$32)
)
(if
(i32.eq
@@ -2819,9 +2856,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $14
+ (tee_local $14
(i32.add
(get_local $21)
(i32.const 8)
@@ -2829,7 +2866,7 @@
)
)
)
- (set_local $3
+ (tee_local $3
(i32.load
(i32.const 1224)
)
@@ -2869,8 +2906,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -2899,7 +2935,7 @@
)
(if
(i32.ge_u
- (set_local $9
+ (tee_local $9
(i32.load
(i32.const 1216)
)
@@ -2914,7 +2950,7 @@
)
(if
(i32.gt_u
- (set_local $21
+ (tee_local $21
(i32.sub
(get_local $9)
(get_local $18)
@@ -2925,7 +2961,7 @@
(block
(i32.store
(i32.const 1228)
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $24)
(get_local $18)
@@ -2975,7 +3011,7 @@
)
)
(i32.store
- (set_local $21
+ (tee_local $21
(i32.add
(i32.add
(get_local $24)
@@ -2993,8 +3029,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -3007,7 +3042,7 @@
)
(if
(i32.gt_u
- (set_local $24
+ (tee_local $24
(i32.load
(i32.const 1220)
)
@@ -3017,7 +3052,7 @@
(block
(i32.store
(i32.const 1220)
- (set_local $21
+ (tee_local $21
(i32.sub
(get_local $24)
(get_local $18)
@@ -3026,9 +3061,9 @@
)
(i32.store
(i32.const 1232)
- (set_local $9
+ (tee_local $9
(i32.add
- (set_local $24
+ (tee_local $24
(i32.load
(i32.const 1232)
)
@@ -3051,8 +3086,7 @@
(i32.const 3)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -3096,7 +3130,7 @@
)
(i32.store
(get_local $15)
- (set_local $24
+ (tee_local $24
(i32.xor
(i32.and
(get_local $15)
@@ -3120,16 +3154,16 @@
)
(if
(i32.le_u
- (set_local $15
+ (tee_local $15
(i32.and
- (set_local $9
+ (tee_local $9
(i32.add
- (set_local $15
+ (tee_local $15
(i32.load
(i32.const 1688)
)
)
- (set_local $21
+ (tee_local $21
(i32.add
(get_local $18)
(i32.const 47)
@@ -3137,7 +3171,7 @@
)
)
)
- (set_local $6
+ (tee_local $6
(i32.sub
(i32.const 0)
(get_local $15)
@@ -3148,8 +3182,7 @@
(get_local $18)
)
(block
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -3158,7 +3191,7 @@
)
)
(if
- (set_local $22
+ (tee_local $22
(i32.load
(i32.const 1648)
)
@@ -3166,9 +3199,9 @@
(if
(i32.or
(i32.le_u
- (set_local $13
+ (tee_local $13
(i32.add
- (set_local $20
+ (tee_local $20
(i32.load
(i32.const 1640)
)
@@ -3184,8 +3217,7 @@
)
)
(block
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -3196,7 +3228,7 @@
)
(if
(i32.eq
- (set_local $7
+ (tee_local $7
(block $label$break$b
(if
(i32.and
@@ -3209,7 +3241,7 @@
(block
(block $label$break$c
(if
- (set_local $22
+ (tee_local $22
(i32.load
(i32.const 1232)
)
@@ -3218,62 +3250,64 @@
(set_local $13
(i32.const 1656)
)
- (loop $while-out$35 $while-in$36
- (if
- (i32.le_u
- (set_local $20
- (i32.load
- (get_local $13)
- )
- )
- (get_local $22)
- )
+ (loop $while-in$36
+ (block $while-out$35
(if
- (i32.gt_u
- (i32.add
- (get_local $20)
+ (i32.le_u
+ (tee_local $20
(i32.load
- (set_local $23
- (i32.add
- (get_local $13)
- (i32.const 4)
- )
- )
+ (get_local $13)
)
)
(get_local $22)
)
- (block
- (set_local $0
- (get_local $13)
+ (if
+ (i32.gt_u
+ (i32.add
+ (get_local $20)
+ (i32.load
+ (tee_local $23
+ (i32.add
+ (get_local $13)
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ (get_local $22)
)
- (set_local $17
- (get_local $23)
+ (block
+ (set_local $0
+ (get_local $13)
+ )
+ (set_local $17
+ (get_local $23)
+ )
+ (br $while-out$35)
)
- (br $while-out$35)
)
)
- )
- (if
- (i32.eqz
- (set_local $13
- (i32.load offset=8
- (get_local $13)
+ (if
+ (i32.eqz
+ (tee_local $13
+ (i32.load offset=8
+ (get_local $13)
+ )
)
)
- )
- (block
- (set_local $7
- (i32.const 171)
+ (block
+ (set_local $7
+ (i32.const 171)
+ )
+ (br $label$break$c)
)
- (br $label$break$c)
)
+ (br $while-in$36)
)
- (br $while-in$36)
)
(if
(i32.lt_u
- (set_local $13
+ (tee_local $13
(i32.and
(i32.sub
(get_local $9)
@@ -3288,7 +3322,7 @@
)
(if
(i32.eq
- (set_local $23
+ (tee_local $23
(call_import $ta
(get_local $13)
)
@@ -3346,7 +3380,7 @@
)
(if
(i32.ne
- (set_local $22
+ (tee_local $22
(call_import $ta
(i32.const 0)
)
@@ -3357,9 +3391,9 @@
(set_local $6
(if
(i32.and
- (set_local $23
+ (tee_local $23
(i32.add
- (set_local $13
+ (tee_local $13
(i32.load
(i32.const 1684)
)
@@ -3367,7 +3401,7 @@
(i32.const -1)
)
)
- (set_local $2
+ (tee_local $2
(get_local $22)
)
)
@@ -3392,7 +3426,7 @@
)
(set_local $2
(i32.add
- (set_local $13
+ (tee_local $13
(i32.load
(i32.const 1640)
)
@@ -3413,7 +3447,7 @@
)
(block
(if
- (set_local $23
+ (tee_local $23
(i32.load
(i32.const 1648)
)
@@ -3433,7 +3467,7 @@
)
(if
(i32.eq
- (set_local $23
+ (tee_local $23
(call_import $ta
(get_local $6)
)
@@ -3501,14 +3535,14 @@
)
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.and
(i32.add
(i32.sub
(get_local $21)
(get_local $1)
)
- (set_local $22
+ (tee_local $22
(i32.load
(i32.const 1688)
)
@@ -3530,8 +3564,10 @@
(i32.const -1)
)
(block
- (call_import $ta
- (get_local $23)
+ (drop
+ (call_import $ta
+ (get_local $23)
+ )
)
(br $label$break$d)
)
@@ -3594,12 +3630,12 @@
(if
(i32.and
(i32.lt_u
- (set_local $4
+ (tee_local $4
(call_import $ta
(get_local $15)
)
)
- (set_local $15
+ (tee_local $15
(call_import $ta
(i32.const 0)
)
@@ -3618,7 +3654,7 @@
)
(if
(i32.gt_u
- (set_local $10
+ (tee_local $10
(i32.sub
(get_local $15)
(get_local $4)
@@ -3652,7 +3688,7 @@
(block
(i32.store
(i32.const 1640)
- (set_local $10
+ (tee_local $10
(i32.add
(i32.load
(i32.const 1640)
@@ -3675,7 +3711,7 @@
)
(block $do-once$42
(if
- (set_local $10
+ (tee_local $10
(i32.load
(i32.const 1232)
)
@@ -3684,55 +3720,57 @@
(set_local $1
(i32.const 1656)
)
- (loop $do-out$46 $do-in$47
- (if
- (i32.eq
- (get_local $28)
- (i32.add
- (set_local $4
- (i32.load
- (get_local $1)
+ (loop $do-in$47
+ (block $do-out$46
+ (if
+ (i32.eq
+ (get_local $28)
+ (i32.add
+ (tee_local $4
+ (i32.load
+ (get_local $1)
+ )
)
- )
- (set_local $21
- (i32.load
- (set_local $15
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (tee_local $21
+ (i32.load
+ (tee_local $15
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
)
)
)
)
)
- )
- (block
- (set_local $50
- (get_local $4)
- )
- (set_local $51
- (get_local $15)
- )
- (set_local $52
- (get_local $21)
- )
- (set_local $35
- (get_local $1)
- )
- (set_local $7
- (i32.const 201)
+ (block
+ (set_local $50
+ (get_local $4)
+ )
+ (set_local $51
+ (get_local $15)
+ )
+ (set_local $52
+ (get_local $21)
+ )
+ (set_local $35
+ (get_local $1)
+ )
+ (set_local $7
+ (i32.const 201)
+ )
+ (br $do-out$46)
)
- (br $do-out$46)
)
- )
- (br_if $do-in$47
- (i32.ne
- (set_local $1
- (i32.load offset=8
- (get_local $1)
+ (br_if $do-in$47
+ (i32.ne
+ (tee_local $1
+ (i32.load offset=8
+ (get_local $1)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
)
@@ -3772,13 +3810,13 @@
(set_local $1
(i32.add
(get_local $10)
- (set_local $21
+ (tee_local $21
(select
(i32.const 0)
(i32.and
(i32.sub
(i32.const 0)
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $10)
(i32.const 8)
@@ -3846,7 +3884,7 @@
(if
(i32.lt_u
(get_local $28)
- (set_local $15
+ (tee_local $15
(i32.load
(i32.const 1224)
)
@@ -3871,43 +3909,45 @@
(set_local $1
(i32.const 1656)
)
- (loop $while-out$48 $while-in$49
- (if
- (i32.eq
- (i32.load
- (get_local $1)
- )
- (get_local $15)
- )
- (block
- (set_local $53
- (get_local $1)
- )
- (set_local $45
- (get_local $1)
- )
- (set_local $7
- (i32.const 209)
+ (loop $while-in$49
+ (block $while-out$48
+ (if
+ (i32.eq
+ (i32.load
+ (get_local $1)
+ )
+ (get_local $15)
)
- (br $while-out$48)
- )
- )
- (if
- (i32.eqz
- (set_local $1
- (i32.load offset=8
+ (block
+ (set_local $53
+ (get_local $1)
+ )
+ (set_local $45
(get_local $1)
)
+ (set_local $7
+ (i32.const 209)
+ )
+ (br $while-out$48)
)
)
- (block
- (set_local $37
- (i32.const 1656)
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load offset=8
+ (get_local $1)
+ )
+ )
+ )
+ (block
+ (set_local $37
+ (i32.const 1656)
+ )
+ (br $while-out$48)
)
- (br $while-out$48)
)
+ (br $while-in$49)
)
- (br $while-in$49)
)
(if
(i32.eq
@@ -3930,7 +3970,7 @@
(get_local $28)
)
(i32.store
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $45)
(i32.const 4)
@@ -3951,7 +3991,7 @@
(i32.and
(i32.sub
(i32.const 0)
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $28)
(i32.const 8)
@@ -3978,7 +4018,7 @@
(i32.and
(i32.sub
(i32.const 0)
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $15)
(i32.const 8)
@@ -4028,7 +4068,7 @@
(block
(i32.store
(i32.const 1220)
- (set_local $6
+ (tee_local $6
(i32.add
(i32.load
(i32.const 1220)
@@ -4060,7 +4100,7 @@
(block
(i32.store
(i32.const 1216)
- (set_local $6
+ (tee_local $6
(i32.add
(i32.load
(i32.const 1216)
@@ -4091,12 +4131,12 @@
)
)
(i32.store
- (set_local $0
+ (tee_local $0
(i32.add
(if
(i32.eq
(i32.and
- (set_local $6
+ (tee_local $6
(i32.load offset=4
(get_local $4)
)
@@ -4133,12 +4173,12 @@
(block $do-once$53
(if
(i32.ne
- (set_local $6
+ (tee_local $6
(i32.load offset=8
(get_local $4)
)
)
- (set_local $23
+ (tee_local $23
(i32.add
(i32.const 1248)
(i32.shl
@@ -4218,7 +4258,7 @@
(if
(i32.eq
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $9)
(i32.const 8)
@@ -4256,7 +4296,7 @@
(block $do-once$57
(if
(i32.eq
- (set_local $2
+ (tee_local $2
(i32.load offset=12
(get_local $4)
)
@@ -4265,11 +4305,11 @@
)
(block
(if
- (set_local $20
+ (tee_local $20
(i32.load
- (set_local $13
+ (tee_local $13
(i32.add
- (set_local $22
+ (tee_local $22
(i32.add
(get_local $4)
(i32.const 16)
@@ -4289,7 +4329,7 @@
)
)
(if
- (set_local $20
+ (tee_local $20
(i32.load
(get_local $22)
)
@@ -4310,50 +4350,52 @@
)
)
)
- (loop $while-out$59 $while-in$60
- (if
- (set_local $20
- (i32.load
- (set_local $13
- (i32.add
- (get_local $11)
- (i32.const 20)
+ (loop $while-in$60
+ (block $while-out$59
+ (if
+ (tee_local $20
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (get_local $11)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $11
- (get_local $20)
- )
- (set_local $0
- (get_local $13)
+ (block
+ (set_local $11
+ (get_local $20)
+ )
+ (set_local $0
+ (get_local $13)
+ )
+ (br $while-in$60)
)
- (br $while-in$60)
)
- )
- (if
- (set_local $20
- (i32.load
- (set_local $13
- (i32.add
- (get_local $11)
- (i32.const 16)
+ (if
+ (tee_local $20
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (get_local $11)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $11
- (get_local $20)
- )
- (set_local $0
- (get_local $13)
+ (block
+ (set_local $11
+ (get_local $20)
+ )
+ (set_local $0
+ (get_local $13)
+ )
)
+ (br $while-out$59)
)
- (br $while-out$59)
+ (br $while-in$60)
)
- (br $while-in$60)
)
(if
(i32.lt_u
@@ -4375,7 +4417,7 @@
(block
(if
(i32.lt_u
- (set_local $13
+ (tee_local $13
(i32.load offset=8
(get_local $4)
)
@@ -4387,7 +4429,7 @@
(if
(i32.ne
(i32.load
- (set_local $20
+ (tee_local $20
(i32.add
(get_local $13)
(i32.const 12)
@@ -4401,7 +4443,7 @@
(if
(i32.eq
(i32.load
- (set_local $22
+ (tee_local $22
(i32.add
(get_local $2)
(i32.const 8)
@@ -4438,11 +4480,11 @@
(i32.eq
(get_local $4)
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $2
+ (tee_local $2
(i32.load offset=28
(get_local $4)
)
@@ -4491,7 +4533,7 @@
(if
(i32.eq
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $23)
(i32.const 16)
@@ -4520,7 +4562,7 @@
(if
(i32.lt_u
(get_local $30)
- (set_local $2
+ (tee_local $2
(i32.load
(i32.const 1224)
)
@@ -4533,9 +4575,9 @@
(get_local $23)
)
(if
- (set_local $9
+ (tee_local $9
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $4)
(i32.const 16)
@@ -4563,7 +4605,7 @@
)
(br_if $label$break$e
(i32.eqz
- (set_local $9
+ (tee_local $9
(i32.load offset=4
(get_local $6)
)
@@ -4661,12 +4703,12 @@
(block $do-once$65
(if
(i32.and
- (set_local $9
+ (tee_local $9
(i32.load
(i32.const 1208)
)
)
- (set_local $2
+ (tee_local $2
(i32.shl
(i32.const 1)
(get_local $0)
@@ -4676,9 +4718,9 @@
(block
(if
(i32.ge_u
- (set_local $23
+ (tee_local $23
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $6)
(i32.const 8)
@@ -4745,10 +4787,10 @@
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $0
+ (tee_local $0
(block $do-once$67
(if
- (set_local $2
+ (tee_local $2
(i32.shr_u
(get_local $11)
(i32.const 8)
@@ -4767,20 +4809,20 @@
(i32.shr_u
(get_local $11)
(i32.add
- (set_local $13
+ (tee_local $13
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $23
+ (tee_local $23
(i32.and
(i32.shr_u
(i32.add
- (set_local $17
+ (tee_local $17
(i32.shl
(get_local $2)
- (set_local $9
+ (tee_local $9
(i32.and
(i32.shr_u
(i32.add
@@ -4803,11 +4845,11 @@
)
(get_local $9)
)
- (set_local $17
+ (tee_local $17
(i32.and
(i32.shr_u
(i32.add
- (set_local $0
+ (tee_local $0
(i32.shl
(get_local $17)
(get_local $23)
@@ -4855,7 +4897,7 @@
(get_local $0)
)
(i32.store offset=4
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $1)
(i32.const 16)
@@ -4870,12 +4912,12 @@
(if
(i32.eqz
(i32.and
- (set_local $6
+ (tee_local $6
(i32.load
(i32.const 1212)
)
)
- (set_local $13
+ (tee_local $13
(i32.shl
(i32.const 1)
(get_local $0)
@@ -4934,72 +4976,74 @@
(get_local $2)
)
)
- (loop $while-out$69 $while-in$70
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $6)
+ (loop $while-in$70
+ (block $while-out$69
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $6)
+ )
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $11)
- )
- (block
- (set_local $42
- (get_local $6)
+ (get_local $11)
)
- (set_local $7
- (i32.const 279)
+ (block
+ (set_local $42
+ (get_local $6)
+ )
+ (set_local $7
+ (i32.const 279)
+ )
+ (br $while-out$69)
)
- (br $while-out$69)
)
- )
- (if
- (set_local $17
- (i32.load
- (set_local $2
- (i32.add
+ (if
+ (tee_local $17
+ (i32.load
+ (tee_local $2
(i32.add
- (get_local $6)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $13)
- (i32.const 31)
+ (i32.add
+ (get_local $6)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $13)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (block
- (set_local $13
- (i32.shl
- (get_local $13)
- (i32.const 1)
+ (block
+ (set_local $13
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
+ )
+ )
+ (set_local $6
+ (get_local $17)
)
)
- (set_local $6
- (get_local $17)
- )
- )
- (block
- (set_local $48
- (get_local $2)
- )
- (set_local $54
- (get_local $6)
- )
- (set_local $7
- (i32.const 276)
+ (block
+ (set_local $48
+ (get_local $2)
+ )
+ (set_local $54
+ (get_local $6)
+ )
+ (set_local $7
+ (i32.const 276)
+ )
+ (br $while-out$69)
)
- (br $while-out$69)
)
+ (br $while-in$70)
)
- (br $while-in$70)
)
(if
(i32.eq
@@ -5041,9 +5085,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $13
+ (tee_local $13
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $42)
(i32.const 8)
@@ -5051,7 +5095,7 @@
)
)
)
- (set_local $17
+ (tee_local $17
(i32.load
(i32.const 1224)
)
@@ -5091,8 +5135,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -5104,46 +5147,48 @@
)
)
)
- (loop $while-out$71 $while-in$72
- (if
- (i32.le_u
- (set_local $1
- (i32.load
- (get_local $37)
- )
- )
- (get_local $10)
- )
+ (loop $while-in$72
+ (block $while-out$71
(if
- (i32.gt_u
- (set_local $24
- (i32.add
- (get_local $1)
- (i32.load offset=4
- (get_local $37)
- )
+ (i32.le_u
+ (tee_local $1
+ (i32.load
+ (get_local $37)
)
)
(get_local $10)
)
- (block
- (set_local $0
- (get_local $24)
+ (if
+ (i32.gt_u
+ (tee_local $24
+ (i32.add
+ (get_local $1)
+ (i32.load offset=4
+ (get_local $37)
+ )
+ )
+ )
+ (get_local $10)
+ )
+ (block
+ (set_local $0
+ (get_local $24)
+ )
+ (br $while-out$71)
)
- (br $while-out$71)
)
)
- )
- (set_local $37
- (i32.load offset=8
- (get_local $37)
+ (set_local $37
+ (i32.load offset=8
+ (get_local $37)
+ )
)
+ (br $while-in$72)
)
- (br $while-in$72)
)
(set_local $24
(i32.add
- (set_local $21
+ (tee_local $21
(i32.add
(get_local $0)
(i32.const -47)
@@ -5154,10 +5199,10 @@
)
(set_local $1
(i32.add
- (set_local $21
+ (tee_local $21
(select
(get_local $10)
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $21)
(select
@@ -5181,7 +5226,7 @@
)
(i32.lt_u
(get_local $1)
- (set_local $24
+ (tee_local $24
(i32.add
(get_local $10)
(i32.const 16)
@@ -5195,16 +5240,16 @@
)
(i32.store
(i32.const 1232)
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $28)
- (set_local $15
+ (tee_local $15
(select
(i32.const 0)
(i32.and
(i32.sub
(i32.const 0)
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $28)
(i32.const 8)
@@ -5227,7 +5272,7 @@
)
(i32.store
(i32.const 1220)
- (set_local $13
+ (tee_local $13
(i32.sub
(i32.add
(get_local $33)
@@ -5258,7 +5303,7 @@
)
)
(i32.store
- (set_local $13
+ (tee_local $13
(i32.add
(get_local $21)
(i32.const 4)
@@ -5314,7 +5359,7 @@
)
(loop $do-in$74
(i32.store
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $1)
(i32.const 4)
@@ -5350,7 +5395,7 @@
(i32.store offset=4
(get_local $10)
(i32.or
- (set_local $1
+ (tee_local $1
(i32.sub
(get_local $21)
(get_local $10)
@@ -5389,12 +5434,12 @@
)
(if
(i32.and
- (set_local $6
+ (tee_local $6
(i32.load
(i32.const 1208)
)
)
- (set_local $17
+ (tee_local $17
(i32.shl
(i32.const 1)
(get_local $4)
@@ -5403,9 +5448,9 @@
)
(if
(i32.lt_u
- (set_local $6
+ (tee_local $6
(i32.load
- (set_local $17
+ (tee_local $17
(i32.add
(get_local $15)
(i32.const 8)
@@ -5469,9 +5514,9 @@
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $0
+ (tee_local $0
(if
- (set_local $15
+ (tee_local $15
(i32.shr_u
(get_local $1)
(i32.const 8)
@@ -5488,20 +5533,20 @@
(i32.shr_u
(get_local $1)
(i32.add
- (set_local $2
+ (tee_local $2
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $15
+ (tee_local $15
(i32.and
(i32.shr_u
(i32.add
- (set_local $17
+ (tee_local $17
(i32.shl
(get_local $15)
- (set_local $6
+ (tee_local $6
(i32.and
(i32.shr_u
(i32.add
@@ -5524,11 +5569,11 @@
)
(get_local $6)
)
- (set_local $17
+ (tee_local $17
(i32.and
(i32.shr_u
(i32.add
- (set_local $4
+ (tee_local $4
(i32.shl
(get_local $17)
(get_local $15)
@@ -5585,12 +5630,12 @@
(if
(i32.eqz
(i32.and
- (set_local $17
+ (tee_local $17
(i32.load
(i32.const 1212)
)
)
- (set_local $4
+ (tee_local $4
(i32.shl
(i32.const 1)
(get_local $0)
@@ -5649,72 +5694,74 @@
(get_local $2)
)
)
- (loop $while-out$75 $while-in$76
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $17)
+ (loop $while-in$76
+ (block $while-out$75
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $17)
+ )
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $1)
- )
- (block
- (set_local $32
- (get_local $17)
+ (get_local $1)
)
- (set_local $7
- (i32.const 305)
+ (block
+ (set_local $32
+ (get_local $17)
+ )
+ (set_local $7
+ (i32.const 305)
+ )
+ (br $while-out$75)
)
- (br $while-out$75)
)
- )
- (if
- (set_local $6
- (i32.load
- (set_local $2
- (i32.add
+ (if
+ (tee_local $6
+ (i32.load
+ (tee_local $2
(i32.add
- (get_local $17)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $4)
- (i32.const 31)
+ (i32.add
+ (get_local $17)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $4)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (block
- (set_local $4
- (i32.shl
- (get_local $4)
- (i32.const 1)
+ (block
+ (set_local $4
+ (i32.shl
+ (get_local $4)
+ (i32.const 1)
+ )
+ )
+ (set_local $17
+ (get_local $6)
)
)
- (set_local $17
- (get_local $6)
- )
- )
- (block
- (set_local $26
- (get_local $2)
- )
- (set_local $11
- (get_local $17)
- )
- (set_local $7
- (i32.const 302)
+ (block
+ (set_local $26
+ (get_local $2)
+ )
+ (set_local $11
+ (get_local $17)
+ )
+ (set_local $7
+ (i32.const 302)
+ )
+ (br $while-out$75)
)
- (br $while-out$75)
)
+ (br $while-in$76)
)
- (br $while-in$76)
)
(if
(i32.eq
@@ -5756,9 +5803,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $4
+ (tee_local $4
(i32.load
- (set_local $17
+ (tee_local $17
(i32.add
(get_local $32)
(i32.const 8)
@@ -5766,7 +5813,7 @@
)
)
)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 1224)
)
@@ -5810,7 +5857,7 @@
(if
(i32.or
(i32.eq
- (set_local $4
+ (tee_local $4
(i32.load
(i32.const 1224)
)
@@ -5854,7 +5901,7 @@
)
(loop $do-in$45
(i32.store offset=12
- (set_local $15
+ (tee_local $15
(i32.add
(i32.const 1248)
(i32.shl
@@ -5874,7 +5921,7 @@
)
(br_if $do-in$45
(i32.ne
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $4)
(i32.const 1)
@@ -5886,16 +5933,16 @@
)
(i32.store
(i32.const 1232)
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $28)
- (set_local $15
+ (tee_local $15
(select
(i32.const 0)
(i32.and
(i32.sub
(i32.const 0)
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $28)
(i32.const 8)
@@ -5918,7 +5965,7 @@
)
(i32.store
(i32.const 1220)
- (set_local $1
+ (tee_local $1
(i32.sub
(i32.add
(get_local $33)
@@ -5953,7 +6000,7 @@
)
(if
(i32.gt_u
- (set_local $10
+ (tee_local $10
(i32.load
(i32.const 1220)
)
@@ -5963,7 +6010,7 @@
(block
(i32.store
(i32.const 1220)
- (set_local $32
+ (tee_local $32
(i32.sub
(get_local $10)
(get_local $18)
@@ -5972,9 +6019,9 @@
)
(i32.store
(i32.const 1232)
- (set_local $7
+ (tee_local $7
(i32.add
- (set_local $10
+ (tee_local $10
(i32.load
(i32.const 1232)
)
@@ -5997,8 +6044,7 @@
(i32.const 3)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(return
@@ -6015,8 +6061,7 @@
(call $Qa)
(i32.const 12)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $31)
)
(i32.const 0)
@@ -6049,13 +6094,13 @@
)
(if
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const -8)
)
)
- (set_local $14
+ (tee_local $14
(i32.load
(i32.const 1224)
)
@@ -6065,9 +6110,9 @@
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(i32.and
- (set_local $9
+ (tee_local $9
(i32.load
(i32.add
(get_local $0)
@@ -6085,7 +6130,7 @@
(set_local $7
(i32.add
(get_local $1)
- (set_local $5
+ (tee_local $5
(i32.and
(get_local $9)
(i32.const -8)
@@ -6127,7 +6172,7 @@
)
(if
(i32.lt_u
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $1)
(i32.sub
@@ -6151,9 +6196,9 @@
(if
(i32.ne
(i32.and
- (set_local $6
+ (tee_local $6
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $7)
(i32.const 4)
@@ -6222,12 +6267,12 @@
)
(if
(i32.ne
- (set_local $9
+ (tee_local $9
(i32.load offset=8
(get_local $0)
)
)
- (set_local $4
+ (tee_local $4
(i32.add
(i32.const 1248)
(i32.shl
@@ -6311,7 +6356,7 @@
(if
(i32.eq
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $1)
(i32.const 8)
@@ -6352,7 +6397,7 @@
(block $do-once$2
(if
(i32.eq
- (set_local $1
+ (tee_local $1
(i32.load offset=12
(get_local $0)
)
@@ -6361,11 +6406,11 @@
)
(block
(if
- (set_local $11
+ (tee_local $11
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $0)
(i32.const 16)
@@ -6386,7 +6431,7 @@
)
(if
(i32.eqz
- (set_local $1
+ (tee_local $1
(i32.load
(get_local $4)
)
@@ -6400,58 +6445,60 @@
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (set_local $11
- (i32.load
- (set_local $6
- (i32.add
- (get_local $1)
- (i32.const 20)
+ (loop $while-in$5
+ (block $while-out$4
+ (if
+ (tee_local $11
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $1
- (get_local $11)
- )
- (set_local $4
- (get_local $6)
+ (block
+ (set_local $1
+ (get_local $11)
+ )
+ (set_local $4
+ (get_local $6)
+ )
+ (br $while-in$5)
)
- (br $while-in$5)
)
- )
- (if
- (set_local $11
- (i32.load
- (set_local $6
- (i32.add
- (get_local $1)
- (i32.const 16)
+ (if
+ (tee_local $11
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $1
- (get_local $11)
- )
- (set_local $4
- (get_local $6)
- )
- )
- (block
- (set_local $6
- (get_local $1)
+ (block
+ (set_local $1
+ (get_local $11)
+ )
+ (set_local $4
+ (get_local $6)
+ )
)
- (set_local $10
- (get_local $4)
+ (block
+ (set_local $6
+ (get_local $1)
+ )
+ (set_local $10
+ (get_local $4)
+ )
+ (br $while-out$4)
)
- (br $while-out$4)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(if
(i32.lt_u
@@ -6473,7 +6520,7 @@
(block
(if
(i32.lt_u
- (set_local $6
+ (tee_local $6
(i32.load offset=8
(get_local $0)
)
@@ -6485,7 +6532,7 @@
(if
(i32.ne
(i32.load
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $6)
(i32.const 12)
@@ -6499,7 +6546,7 @@
(if
(i32.eq
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $1)
(i32.const 8)
@@ -6533,11 +6580,11 @@
(i32.eq
(get_local $0)
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $1
+ (tee_local $1
(i32.load offset=28
(get_local $0)
)
@@ -6596,7 +6643,7 @@
(if
(i32.eq
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $9)
(i32.const 16)
@@ -6633,7 +6680,7 @@
(if
(i32.lt_u
(get_local $3)
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 1224)
)
@@ -6646,9 +6693,9 @@
(get_local $9)
)
(if
- (set_local $4
+ (tee_local $4
(i32.load
- (set_local $6
+ (tee_local $6
(i32.add
(get_local $0)
(i32.const 16)
@@ -6675,7 +6722,7 @@
)
)
(if
- (set_local $4
+ (tee_local $4
(i32.load offset=4
(get_local $6)
)
@@ -6737,9 +6784,9 @@
(if
(i32.eqz
(i32.and
- (set_local $1
+ (tee_local $1
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $7)
(i32.const 4)
@@ -6794,7 +6841,7 @@
(block
(i32.store
(i32.const 1220)
- (set_local $3
+ (tee_local $3
(i32.add
(i32.load
(i32.const 1220)
@@ -6844,7 +6891,7 @@
(block
(i32.store
(i32.const 1216)
- (set_local $3
+ (tee_local $3
(i32.add
(i32.load
(i32.const 1216)
@@ -6903,12 +6950,12 @@
)
(if
(i32.ne
- (set_local $6
+ (tee_local $6
(i32.load offset=8
(get_local $7)
)
)
- (set_local $4
+ (tee_local $4
(i32.add
(i32.const 1248)
(i32.shl
@@ -6990,7 +7037,7 @@
(if
(i32.eq
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $10)
(i32.const 8)
@@ -7024,7 +7071,7 @@
(block $do-once$10
(if
(i32.eq
- (set_local $10
+ (tee_local $10
(i32.load offset=12
(get_local $7)
)
@@ -7033,11 +7080,11 @@
)
(block
(if
- (set_local $11
+ (tee_local $11
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $7)
(i32.const 16)
@@ -7058,7 +7105,7 @@
)
(if
(i32.eqz
- (set_local $0
+ (tee_local $0
(i32.load
(get_local $4)
)
@@ -7072,50 +7119,52 @@
)
)
)
- (loop $while-out$12 $while-in$13
- (if
- (set_local $11
- (i32.load
- (set_local $1
- (i32.add
- (get_local $0)
- (i32.const 20)
+ (loop $while-in$13
+ (block $while-out$12
+ (if
+ (tee_local $11
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 20)
+ )
)
)
)
- )
- (block
- (set_local $0
- (get_local $11)
- )
- (set_local $4
- (get_local $1)
+ (block
+ (set_local $0
+ (get_local $11)
+ )
+ (set_local $4
+ (get_local $1)
+ )
+ (br $while-in$13)
)
- (br $while-in$13)
)
- )
- (if
- (set_local $11
- (i32.load
- (set_local $1
- (i32.add
- (get_local $0)
- (i32.const 16)
+ (if
+ (tee_local $11
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
)
)
)
- )
- (block
- (set_local $0
- (get_local $11)
- )
- (set_local $4
- (get_local $1)
+ (block
+ (set_local $0
+ (get_local $11)
+ )
+ (set_local $4
+ (get_local $1)
+ )
)
+ (br $while-out$12)
)
- (br $while-out$12)
+ (br $while-in$13)
)
- (br $while-in$13)
)
(if
(i32.lt_u
@@ -7139,7 +7188,7 @@
(block
(if
(i32.lt_u
- (set_local $1
+ (tee_local $1
(i32.load offset=8
(get_local $7)
)
@@ -7153,7 +7202,7 @@
(if
(i32.ne
(i32.load
- (set_local $11
+ (tee_local $11
(i32.add
(get_local $1)
(i32.const 12)
@@ -7167,7 +7216,7 @@
(if
(i32.eq
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $10)
(i32.const 8)
@@ -7201,11 +7250,11 @@
(i32.eq
(get_local $7)
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $10
+ (tee_local $10
(i32.load offset=28
(get_local $7)
)
@@ -7258,7 +7307,7 @@
(if
(i32.eq
(i32.load
- (set_local $10
+ (tee_local $10
(i32.add
(get_local $6)
(i32.const 16)
@@ -7286,7 +7335,7 @@
(if
(i32.lt_u
(get_local $12)
- (set_local $10
+ (tee_local $10
(i32.load
(i32.const 1224)
)
@@ -7299,9 +7348,9 @@
(get_local $6)
)
(if
- (set_local $0
+ (tee_local $0
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $7)
(i32.const 16)
@@ -7328,7 +7377,7 @@
)
)
(if
- (set_local $0
+ (tee_local $0
(i32.load offset=4
(get_local $5)
)
@@ -7418,12 +7467,12 @@
)
(if
(i32.and
- (set_local $5
+ (tee_local $5
(i32.load
(i32.const 1208)
)
)
- (set_local $3
+ (tee_local $3
(i32.shl
(i32.const 1)
(get_local $8)
@@ -7432,9 +7481,9 @@
)
(if
(i32.lt_u
- (set_local $5
+ (tee_local $5
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $1)
(i32.const 8)
@@ -7498,9 +7547,9 @@
(i32.add
(i32.const 1512)
(i32.shl
- (set_local $1
+ (tee_local $1
(if
- (set_local $1
+ (tee_local $1
(i32.shr_u
(get_local $0)
(i32.const 8)
@@ -7517,20 +7566,20 @@
(i32.shr_u
(get_local $0)
(i32.add
- (set_local $3
+ (tee_local $3
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(i32.shr_u
(i32.add
- (set_local $15
+ (tee_local $15
(i32.shl
(get_local $1)
- (set_local $13
+ (tee_local $13
(i32.and
(i32.shr_u
(i32.add
@@ -7553,11 +7602,11 @@
)
(get_local $13)
)
- (set_local $15
+ (tee_local $15
(i32.and
(i32.shr_u
(i32.add
- (set_local $5
+ (tee_local $5
(i32.shl
(get_local $15)
(get_local $1)
@@ -7613,12 +7662,12 @@
)
(if
(i32.and
- (set_local $15
+ (tee_local $15
(i32.load
(i32.const 1212)
)
)
- (set_local $5
+ (tee_local $5
(i32.shl
(i32.const 1)
(get_local $1)
@@ -7650,72 +7699,74 @@
(get_local $3)
)
)
- (loop $while-out$18 $while-in$19
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $1)
+ (loop $while-in$19
+ (block $while-out$18
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $0)
- )
- (block
- (set_local $16
- (get_local $1)
+ (get_local $0)
)
- (set_local $0
- (i32.const 130)
+ (block
+ (set_local $16
+ (get_local $1)
+ )
+ (set_local $0
+ (i32.const 130)
+ )
+ (br $while-out$18)
)
- (br $while-out$18)
)
- )
- (if
- (set_local $12
- (i32.load
- (set_local $8
- (i32.add
+ (if
+ (tee_local $12
+ (i32.load
+ (tee_local $8
(i32.add
- (get_local $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $13)
- (i32.const 31)
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $13)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (block
- (set_local $13
- (i32.shl
- (get_local $13)
- (i32.const 1)
+ (block
+ (set_local $13
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
+ )
+ )
+ (set_local $1
+ (get_local $12)
)
)
- (set_local $1
- (get_local $12)
- )
- )
- (block
- (set_local $18
- (get_local $8)
- )
- (set_local $19
- (get_local $1)
- )
- (set_local $0
- (i32.const 127)
+ (block
+ (set_local $18
+ (get_local $8)
+ )
+ (set_local $19
+ (get_local $1)
+ )
+ (set_local $0
+ (i32.const 127)
+ )
+ (br $while-out$18)
)
- (br $while-out$18)
)
+ (br $while-in$19)
)
- (br $while-in$19)
)
(if
(i32.eq
@@ -7757,9 +7808,9 @@
(if
(i32.and
(i32.ge_u
- (set_local $13
+ (tee_local $13
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $16)
(i32.const 8)
@@ -7767,7 +7818,7 @@
)
)
)
- (set_local $5
+ (tee_local $5
(i32.load
(i32.const 1224)
)
@@ -7833,7 +7884,7 @@
)
(i32.store
(i32.const 1240)
- (set_local $2
+ (tee_local $2
(i32.add
(i32.load
(i32.const 1240)
@@ -7849,22 +7900,24 @@
(i32.const 1664)
)
)
- (loop $while-out$20 $while-in$21
- (if
- (set_local $2
- (i32.load
- (get_local $0)
+ (loop $while-in$21
+ (block $while-out$20
+ (if
+ (tee_local $2
+ (i32.load
+ (get_local $0)
+ )
)
- )
- (set_local $0
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (set_local $0
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
+ (br $while-out$20)
)
- (br $while-out$20)
+ (br $while-in$21)
)
- (br $while-in$21)
)
(i32.store
(i32.const 1240)
@@ -7889,16 +7942,11 @@
(local $17 i32)
(local $18 i32)
(set_local $11
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 48)
)
)
@@ -7912,15 +7960,15 @@
(get_local $11)
)
(i32.store
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $11)
(i32.const 32)
)
)
- (set_local $8
+ (tee_local $8
(i32.load
- (set_local $9
+ (tee_local $9
(i32.add
(get_local $0)
(i32.const 28)
@@ -7931,10 +7979,10 @@
)
(i32.store offset=4
(get_local $3)
- (set_local $10
+ (tee_local $10
(i32.sub
(i32.load
- (set_local $14
+ (tee_local $14
(i32.add
(get_local $0)
(i32.const 20)
@@ -7977,209 +8025,211 @@
(get_local $2)
)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eq
- (get_local $5)
- (set_local $6
- (if
- (i32.load
- (i32.const 1160)
- )
- (block
- (call_import $ra
- (i32.const 1)
- (get_local $0)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eq
+ (get_local $5)
+ (tee_local $6
+ (if
+ (i32.load
+ (i32.const 1160)
)
- (i32.store
- (get_local $13)
- (i32.load
- (get_local $1)
+ (block
+ (call_import $ra
+ (i32.const 1)
+ (get_local $0)
)
- )
- (i32.store offset=4
- (get_local $13)
- (get_local $4)
- )
- (i32.store offset=8
- (get_local $13)
- (get_local $3)
- )
- (set_local $10
- (call $Pa
- (call_import $ya
- (i32.const 146)
- (get_local $13)
+ (i32.store
+ (get_local $13)
+ (i32.load
+ (get_local $1)
)
)
- )
- (call_import $oa
- (i32.const 0)
- )
- (get_local $10)
- )
- (block
- (i32.store
- (get_local $12)
- (i32.load
- (get_local $1)
+ (i32.store offset=4
+ (get_local $13)
+ (get_local $4)
)
+ (i32.store offset=8
+ (get_local $13)
+ (get_local $3)
+ )
+ (set_local $10
+ (call $Pa
+ (call_import $ya
+ (i32.const 146)
+ (get_local $13)
+ )
+ )
+ )
+ (call_import $oa
+ (i32.const 0)
+ )
+ (get_local $10)
)
- (i32.store offset=4
- (get_local $12)
- (get_local $4)
- )
- (i32.store offset=8
- (get_local $12)
- (get_local $3)
- )
- (call $Pa
- (call_import $ya
- (i32.const 146)
+ (block
+ (i32.store
+ (get_local $12)
+ (i32.load
+ (get_local $1)
+ )
+ )
+ (i32.store offset=4
+ (get_local $12)
+ (get_local $4)
+ )
+ (i32.store offset=8
(get_local $12)
+ (get_local $3)
+ )
+ (call $Pa
+ (call_import $ya
+ (i32.const 146)
+ (get_local $12)
+ )
)
)
)
)
)
- )
- (block
- (set_local $1
- (i32.const 6)
- )
- (br $while-out$0)
- )
- )
- (if
- (i32.lt_s
- (get_local $6)
- (i32.const 0)
- )
- (block
- (set_local $17
- (get_local $4)
- )
- (set_local $18
- (get_local $3)
- )
- (set_local $1
- (i32.const 8)
+ (block
+ (set_local $1
+ (i32.const 6)
+ )
+ (br $while-out$0)
)
- (br $while-out$0)
- )
- )
- (set_local $10
- (i32.sub
- (get_local $5)
- (get_local $6)
)
- )
- (set_local $3
(if
- (i32.gt_u
+ (i32.lt_s
(get_local $6)
- (set_local $5
- (i32.load offset=4
- (get_local $4)
- )
- )
+ (i32.const 0)
)
(block
- (i32.store
- (get_local $9)
- (set_local $7
- (i32.load
- (get_local $8)
- )
- )
- )
- (i32.store
- (get_local $14)
- (get_local $7)
- )
- (set_local $6
- (i32.sub
- (get_local $6)
- (get_local $5)
- )
- )
- (set_local $7
- (i32.add
- (get_local $4)
- (i32.const 8)
- )
+ (set_local $17
+ (get_local $4)
)
- (set_local $15
- (i32.add
- (get_local $3)
- (i32.const -1)
- )
+ (set_local $18
+ (get_local $3)
)
- (i32.load offset=12
- (get_local $4)
+ (set_local $1
+ (i32.const 8)
)
+ (br $while-out$0)
)
+ )
+ (set_local $10
+ (i32.sub
+ (get_local $5)
+ (get_local $6)
+ )
+ )
+ (set_local $3
(if
- (i32.eq
- (get_local $3)
- (i32.const 2)
+ (i32.gt_u
+ (get_local $6)
+ (tee_local $5
+ (i32.load offset=4
+ (get_local $4)
+ )
+ )
)
(block
(i32.store
(get_local $9)
- (i32.add
+ (tee_local $7
(i32.load
- (get_local $9)
+ (get_local $8)
)
+ )
+ )
+ (i32.store
+ (get_local $14)
+ (get_local $7)
+ )
+ (set_local $6
+ (i32.sub
(get_local $6)
+ (get_local $5)
)
)
(set_local $7
- (get_local $4)
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
(set_local $15
- (i32.const 2)
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
+ )
)
- (get_local $5)
- )
- (block
- (set_local $7
+ (i32.load offset=12
(get_local $4)
)
- (set_local $15
+ )
+ (if
+ (i32.eq
(get_local $3)
+ (i32.const 2)
+ )
+ (block
+ (i32.store
+ (get_local $9)
+ (i32.add
+ (i32.load
+ (get_local $9)
+ )
+ (get_local $6)
+ )
+ )
+ (set_local $7
+ (get_local $4)
+ )
+ (set_local $15
+ (i32.const 2)
+ )
+ (get_local $5)
+ )
+ (block
+ (set_local $7
+ (get_local $4)
+ )
+ (set_local $15
+ (get_local $3)
+ )
+ (get_local $5)
)
- (get_local $5)
)
)
)
- )
- (i32.store
- (get_local $7)
- (i32.add
- (i32.load
- (get_local $7)
+ (i32.store
+ (get_local $7)
+ (i32.add
+ (i32.load
+ (get_local $7)
+ )
+ (get_local $6)
)
- (get_local $6)
)
- )
- (i32.store offset=4
- (get_local $7)
- (i32.sub
- (get_local $3)
- (get_local $6)
+ (i32.store offset=4
+ (get_local $7)
+ (i32.sub
+ (get_local $3)
+ (get_local $6)
+ )
)
+ (set_local $4
+ (get_local $7)
+ )
+ (set_local $3
+ (get_local $15)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ (br $while-in$1)
)
- (set_local $4
- (get_local $7)
- )
- (set_local $3
- (get_local $15)
- )
- (set_local $5
- (get_local $10)
- )
- (br $while-in$1)
)
(if
(i32.eq
@@ -8190,7 +8240,7 @@
(i32.store offset=16
(get_local $0)
(i32.add
- (set_local $5
+ (tee_local $5
(i32.load
(get_local $8)
)
@@ -8202,7 +8252,7 @@
)
(i32.store
(get_local $9)
- (set_local $8
+ (tee_local $8
(get_local $5)
)
)
@@ -8259,8 +8309,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $11)
)
(get_local $16)
@@ -8272,9 +8321,9 @@
(local $6 i32)
(local $7 i32)
(if
- (set_local $5
+ (tee_local $5
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $2)
(i32.const 16)
@@ -8317,9 +8366,9 @@
)
(block
(set_local $6
- (set_local $3
+ (tee_local $3
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $2)
(i32.const 20)
@@ -8339,6 +8388,9 @@
(block
(set_local $4
(call_indirect $FUNCSIG$iiii
+ (get_local $2)
+ (get_local $0)
+ (get_local $1)
(i32.add
(i32.and
(i32.load offset=36
@@ -8348,9 +8400,6 @@
)
(i32.const 2)
)
- (get_local $2)
- (get_local $0)
- (get_local $1)
)
)
(br $label$break$a)
@@ -8369,53 +8418,58 @@
(set_local $3
(get_local $1)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (get_local $3)
- )
- (block
- (set_local $2
- (get_local $0)
- )
- (set_local $3
- (i32.const 0)
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (get_local $3)
)
- (br $label$break$b
- (get_local $1)
+ (block
+ (set_local $2
+ (get_local $0)
+ )
+ (set_local $3
+ (i32.const 0)
+ )
+ (br $label$break$b
+ (get_local $1)
+ )
)
)
- )
- (if
- (i32.eq
- (i32.load8_s
- (i32.add
- (get_local $0)
- (set_local $7
- (i32.add
- (get_local $3)
- (i32.const -1)
+ (if
+ (i32.eq
+ (i32.load8_s
+ (i32.add
+ (get_local $0)
+ (tee_local $7
+ (i32.add
+ (get_local $3)
+ (i32.const -1)
+ )
)
)
)
+ (i32.const 10)
)
- (i32.const 10)
- )
- (block
- (set_local $4
- (get_local $3)
+ (block
+ (set_local $4
+ (get_local $3)
+ )
+ (br $while-out$2)
+ )
+ (set_local $3
+ (get_local $7)
)
- (br $while-out$2)
- )
- (set_local $3
- (get_local $7)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
- (if
+ (br_if $label$break$a
(i32.lt_u
(call_indirect $FUNCSIG$iiii
+ (get_local $2)
+ (get_local $0)
+ (get_local $4)
(i32.add
(i32.and
(i32.load offset=36
@@ -8425,13 +8479,9 @@
)
(i32.const 2)
)
- (get_local $2)
- (get_local $0)
- (get_local $4)
)
(get_local $4)
)
- (br $label$break$a)
)
(set_local $2
(i32.add
@@ -8464,10 +8514,12 @@
)
)
)
- (call $jb
- (get_local $6)
- (get_local $2)
- (get_local $0)
+ (drop
+ (call $jb
+ (get_local $6)
+ (get_local $2)
+ (get_local $0)
+ )
)
(i32.store
(get_local $5)
@@ -8498,7 +8550,7 @@
(block $label$break$a
(if
(i32.and
- (set_local $3
+ (tee_local $3
(get_local $0)
)
(i32.const 3)
@@ -8507,44 +8559,47 @@
(set_local $4
(get_local $3)
)
- (loop $while-out$1 $while-in$2
- (if
- (i32.eqz
- (i32.load8_s
- (get_local $0)
+ (loop $while-in$2
+ (block $while-out$1
+ (if
+ (i32.eqz
+ (i32.load8_s
+ (get_local $0)
+ )
)
- )
- (block
- (set_local $5
- (get_local $4)
+ (block
+ (set_local $5
+ (get_local $4)
+ )
+ (br $label$break$a)
)
- (br $label$break$a)
)
- )
- (if
- (i32.and
- (set_local $4
- (set_local $0
- (i32.add
- (get_local $0)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $4
+ (tee_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
)
+ (i32.const 3)
)
)
- (i32.const 3)
- )
- (get_local $0)
- (block
- (set_local $2
- (get_local $0)
- )
- (set_local $1
- (i32.const 4)
+ (block
+ (set_local $2
+ (get_local $0)
+ )
+ (set_local $1
+ (i32.const 4)
+ )
+ (br $while-out$1)
)
- (br $while-out$1)
)
+ (br $while-in$2)
)
- (br $while-in$2)
)
)
(block
@@ -8566,34 +8621,36 @@
(set_local $1
(get_local $2)
)
- (loop $while-out$3 $while-in$4
- (if
- (i32.and
- (i32.xor
- (i32.and
- (set_local $2
- (i32.load
- (get_local $1)
+ (loop $while-in$4
+ (block $while-out$3
+ (if
+ (i32.and
+ (i32.xor
+ (i32.and
+ (tee_local $2
+ (i32.load
+ (get_local $1)
+ )
)
+ (i32.const -2139062144)
)
(i32.const -2139062144)
)
- (i32.const -2139062144)
- )
- (i32.add
- (get_local $2)
- (i32.const -16843009)
+ (i32.add
+ (get_local $2)
+ (i32.const -16843009)
+ )
)
- )
- (br $while-out$3)
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (br $while-out$3)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$4)
)
- (br $while-in$4)
)
(if
(i32.shr_s
@@ -8610,25 +8667,26 @@
(set_local $2
(get_local $1)
)
- (loop $while-out$5 $while-in$6
- (if
- (i32.load8_s
- (set_local $1
- (i32.add
- (get_local $2)
- (i32.const 1)
+ (loop $while-in$6
+ (block $while-out$5
+ (if
+ (i32.load8_s
+ (tee_local $1
+ (i32.add
+ (get_local $2)
+ (i32.const 1)
+ )
)
)
+ (set_local $2
+ (get_local $1)
+ )
+ (br $while-out$5)
)
- (set_local $2
- (get_local $1)
- )
- (br $while-out$5)
+ (br $while-in$6)
)
- (br $while-in$6)
)
)
- (get_local $1)
)
(set_local $5
(get_local $1)
@@ -8702,7 +8760,7 @@
(i32.const 1188)
)
(if
- (set_local $2
+ (tee_local $2
(i32.load
(i32.const 1184)
)
@@ -8714,64 +8772,66 @@
(set_local $2
(get_local $0)
)
- (loop $while-out$2 $while-in$3
- (set_local $0
- (if
- (i32.gt_s
- (i32.load offset=76
+ (loop $while-in$3
+ (block $while-out$2
+ (set_local $0
+ (if
+ (i32.gt_s
+ (i32.load offset=76
+ (get_local $1)
+ )
+ (i32.const -1)
+ )
+ (call $Ya
(get_local $1)
)
- (i32.const -1)
- )
- (call $Ya
- (get_local $1)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $2
- (if
- (i32.gt_u
- (i32.load offset=20
- (get_local $1)
- )
- (i32.load offset=28
- (get_local $1)
+ (set_local $2
+ (if
+ (i32.gt_u
+ (i32.load offset=20
+ (get_local $1)
+ )
+ (i32.load offset=28
+ (get_local $1)
+ )
)
- )
- (i32.or
- (call $$a
- (get_local $1)
+ (i32.or
+ (call $$a
+ (get_local $1)
+ )
+ (get_local $2)
)
(get_local $2)
)
- (get_local $2)
)
- )
- (if
- (get_local $0)
- (call $Ta
- (get_local $1)
- )
- )
- (if
- (set_local $1
- (i32.load offset=56
+ (if
+ (get_local $0)
+ (call $Ta
(get_local $1)
)
)
- (get_local $2)
- (block
- (set_local $0
- (get_local $2)
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load offset=56
+ (get_local $1)
+ )
+ )
+ )
+ (block
+ (set_local $0
+ (get_local $2)
+ )
+ (br $while-out$2)
)
- (br $while-out$2)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
- (get_local $0)
)
(call_import $xa
(i32.const 1188)
@@ -8791,24 +8851,19 @@
(local $8 i32)
(local $9 i32)
(set_local $5
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 16)
)
)
(i32.store8
- (set_local $6
+ (tee_local $6
(get_local $5)
)
- (set_local $9
+ (tee_local $9
(i32.and
(get_local $1)
(i32.const 255)
@@ -8816,9 +8871,9 @@
)
)
(if
- (set_local $3
+ (tee_local $3
(i32.load
- (set_local $2
+ (tee_local $2
(i32.add
(get_local $0)
(i32.const 16)
@@ -8862,9 +8917,9 @@
(block
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $0)
(i32.const 20)
@@ -8876,7 +8931,7 @@
)
(if
(i32.ne
- (set_local $4
+ (tee_local $4
(i32.and
(get_local $1)
(i32.const 255)
@@ -8906,6 +8961,9 @@
(if
(i32.eq
(call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (get_local $6)
+ (i32.const 1)
(i32.add
(i32.and
(i32.load offset=36
@@ -8915,9 +8973,6 @@
)
(i32.const 2)
)
- (get_local $0)
- (get_local $6)
- (i32.const 1)
)
(i32.const 1)
)
@@ -8930,8 +8985,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $5)
)
(get_local $4)
@@ -8946,7 +9000,7 @@
(if
(i32.gt_u
(i32.load
- (set_local $3
+ (tee_local $3
(i32.add
(get_local $0)
(i32.const 20)
@@ -8954,7 +9008,7 @@
)
)
(i32.load
- (set_local $4
+ (tee_local $4
(i32.add
(get_local $0)
(i32.const 28)
@@ -8963,19 +9017,21 @@
)
)
(block
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (i32.load offset=36
- (get_local $0)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (get_local $0)
+ )
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $0)
- (i32.const 0)
- (i32.const 0)
)
(if
(i32.load
@@ -9001,9 +9057,9 @@
(block
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 4)
@@ -9011,9 +9067,9 @@
)
)
)
- (set_local $6
+ (tee_local $6
(i32.load
- (set_local $5
+ (tee_local $5
(i32.add
(get_local $0)
(i32.const 8)
@@ -9023,6 +9079,12 @@
)
)
(call_indirect $FUNCSIG$iiii
+ (get_local $0)
+ (i32.sub
+ (get_local $2)
+ (get_local $6)
+ )
+ (i32.const 1)
(i32.add
(i32.and
(i32.load offset=40
@@ -9032,12 +9094,6 @@
)
(i32.const 2)
)
- (get_local $0)
- (i32.sub
- (get_local $2)
- (get_local $6)
- )
- (i32.const 1)
)
)
(i32.store offset=16
@@ -9097,116 +9153,122 @@
)
)
(block
- (loop $while-out$0 $while-in$1
- (br_if $while-out$0
- (i32.eqz
- (i32.and
- (get_local $0)
- (i32.const 3)
+ (loop $while-in$1
+ (block $while-out$0
+ (br_if $while-out$0
+ (i32.eqz
+ (i32.and
+ (get_local $0)
+ (i32.const 3)
+ )
)
)
- )
- (if
- (i32.eqz
- (get_local $2)
- )
- (return
- (get_local $3)
- )
- )
- (i32.store8
- (get_local $0)
- (i32.load8_s
- (get_local $1)
+ (if
+ (i32.eqz
+ (get_local $2)
+ )
+ (return
+ (get_local $3)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 1)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
)
- )
- (br $while-in$1)
- )
- (loop $while-out$2 $while-in$3
- (br_if $while-out$2
- (i32.lt_s
- (get_local $2)
- (i32.const 4)
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 1)
+ )
)
+ (br $while-in$1)
)
- (i32.store
- (get_local $0)
- (i32.load
- (get_local $1)
+ )
+ (loop $while-in$3
+ (block $while-out$2
+ (br_if $while-out$2
+ (i32.lt_s
+ (get_local $2)
+ (i32.const 4)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store
(get_local $0)
- (i32.const 4)
+ (i32.load
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 4)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
)
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 4)
+ )
+ )
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (br_if $while-out$4
- (i32.le_s
- (get_local $2)
- (i32.const 0)
- )
- )
- (i32.store8
- (get_local $0)
- (i32.load8_s
- (get_local $1)
+ (loop $while-in$5
+ (block $while-out$4
+ (br_if $while-out$4
+ (i32.le_s
+ (get_local $2)
+ (i32.const 0)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 1)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 1)
+ )
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(get_local $3)
)
@@ -9234,7 +9296,7 @@
(i32.or
(i32.or
(i32.or
- (set_local $1
+ (tee_local $1
(i32.and
(get_local $1)
(i32.const 255)
@@ -9263,7 +9325,7 @@
)
)
(if
- (set_local $3
+ (tee_local $3
(i32.and
(get_local $0)
(i32.const 3)
@@ -9279,66 +9341,72 @@
(get_local $3)
)
)
- (loop $while-out$0 $while-in$1
- (br_if $while-out$0
- (i32.ge_s
- (get_local $0)
- (get_local $3)
+ (loop $while-in$1
+ (block $while-out$0
+ (br_if $while-out$0
+ (i32.ge_s
+ (get_local $0)
+ (get_local $3)
+ )
)
- )
- (i32.store8
- (get_local $0)
- (get_local $1)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (get_local $1)
)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
+ (br $while-in$1)
)
- (br $while-in$1)
)
)
)
- (loop $while-out$2 $while-in$3
- (br_if $while-out$2
- (i32.ge_s
- (get_local $0)
- (get_local $6)
+ (loop $while-in$3
+ (block $while-out$2
+ (br_if $while-out$2
+ (i32.ge_s
+ (get_local $0)
+ (get_local $6)
+ )
)
- )
- (i32.store
- (get_local $0)
- (get_local $5)
- )
- (set_local $0
- (i32.add
+ (i32.store
(get_local $0)
- (i32.const 4)
+ (get_local $5)
)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
+ )
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (br_if $while-out$4
- (i32.ge_s
- (get_local $0)
- (get_local $4)
+ (loop $while-in$5
+ (block $while-out$4
+ (br_if $while-out$4
+ (i32.ge_s
+ (get_local $0)
+ (get_local $4)
+ )
)
- )
- (i32.store8
- (get_local $0)
- (get_local $1)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (get_local $1)
+ )
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(i32.sub
(get_local $0)
@@ -9353,7 +9421,7 @@
(if
(i32.gt_s
(i32.load offset=76
- (set_local $1
+ (tee_local $1
(i32.load
(i32.const 1024)
)
@@ -9388,9 +9456,9 @@
)
(if
(i32.lt_u
- (set_local $2
+ (tee_local $2
(i32.load
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $1)
(i32.const 20)
@@ -9450,7 +9518,7 @@
(local $2 i32)
(set_local $2
(i32.load8_s
- (set_local $1
+ (tee_local $1
(i32.add
(get_local $0)
(i32.const 74)
@@ -9470,7 +9538,7 @@
)
(if
(i32.and
- (set_local $2
+ (tee_local $2
(i32.load
(get_local $0)
)
@@ -9498,7 +9566,7 @@
)
(i32.store offset=28
(get_local $0)
- (set_local $1
+ (tee_local $1
(i32.load offset=44
(get_local $0)
)
@@ -9532,7 +9600,7 @@
)
(if
(i32.eq
- (set_local $0
+ (tee_local $0
(if
(i32.gt_s
(i32.load offset=76
@@ -9587,21 +9655,16 @@
(local $3 i32)
(local $4 i32)
(set_local $4
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 32)
)
)
(i32.store
- (set_local $3
+ (tee_local $3
(get_local $4)
)
(i32.load offset=60
@@ -9618,7 +9681,7 @@
)
(i32.store offset=12
(get_local $3)
- (set_local $0
+ (tee_local $0
(i32.add
(get_local $4)
(i32.const 20)
@@ -9652,8 +9715,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $4)
)
(get_local $0)
@@ -9662,16 +9724,11 @@
(local $3 i32)
(local $4 i32)
(set_local $4
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 80)
)
)
@@ -9728,73 +9785,56 @@
(get_local $2)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $4)
)
(get_local $3)
)
(func $Ka (param $0 i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s
(get_local $0)
)
)
(i32.store8 offset=1
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=1
(get_local $0)
)
)
(i32.store8 offset=2
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=2
(get_local $0)
)
)
(i32.store8 offset=3
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=3
(get_local $0)
)
)
(i32.store8 offset=4
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=4
(get_local $0)
)
)
(i32.store8 offset=5
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=5
(get_local $0)
)
)
(i32.store8 offset=6
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=6
(get_local $0)
)
)
(i32.store8 offset=7
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=7
(get_local $0)
)
@@ -9804,21 +9844,16 @@
(local $1 i32)
(local $2 i32)
(set_local $1
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 16)
)
)
(i32.store
- (set_local $2
+ (tee_local $2
(get_local $1)
)
(i32.load offset=60
@@ -9833,8 +9868,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $1)
)
(get_local $0)
@@ -9860,33 +9894,25 @@
)
(func $Ja (param $0 i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s
(get_local $0)
)
)
(i32.store8 offset=1
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=1
(get_local $0)
)
)
(i32.store8 offset=2
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=2
(get_local $0)
)
)
(i32.store8 offset=3
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s offset=3
(get_local $0)
)
@@ -9905,6 +9931,9 @@
)
(func $lb (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(call_indirect $FUNCSIG$iiii
+ (get_local $1)
+ (get_local $2)
+ (get_local $3)
(i32.add
(i32.and
(get_local $0)
@@ -9912,34 +9941,23 @@
)
(i32.const 2)
)
- (get_local $1)
- (get_local $2)
- (get_local $3)
)
)
(func $Ea (param $0 i32) (result i32)
(local $1 i32)
(set_local $1
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(get_local $0)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.and
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 15)
)
(i32.const -16)
@@ -9969,17 +9987,13 @@
(func $Ia (param $0 i32) (param $1 i32)
(if
(i32.eqz
- (i32.load
- (i32.const 40)
- )
+ (get_global $v)
)
(block
- (i32.store
- (i32.const 40)
+ (set_global $v
(get_local $0)
)
- (i32.store
- (i32.const 48)
+ (set_global $w
(get_local $1)
)
)
@@ -9987,6 +10001,7 @@
)
(func $kb (param $0 i32) (param $1 i32) (result i32)
(call_indirect $FUNCSIG$ii
+ (get_local $1)
(i32.add
(i32.and
(get_local $0)
@@ -9994,7 +10009,6 @@
)
(i32.const 0)
)
- (get_local $1)
)
)
(func $Sa (param $0 i32)
@@ -10011,6 +10025,7 @@
)
(func $mb (param $0 i32) (param $1 i32)
(call_indirect $FUNCSIG$vi
+ (get_local $1)
(i32.add
(i32.and
(get_local $0)
@@ -10018,16 +10033,13 @@
)
(i32.const 6)
)
- (get_local $1)
)
)
(func $Ha (param $0 i32) (param $1 i32)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $0)
)
- (i32.store
- (i32.const 16)
+ (set_global $s
(get_local $1)
)
)
@@ -10038,8 +10050,10 @@
(i32.const 0)
)
(func $Na (result i32)
- (call $db
- (i32.const 1144)
+ (drop
+ (call $db
+ (i32.const 1144)
+ )
)
(i32.const 0)
)
@@ -10055,31 +10069,25 @@
)
)
(func $La (param $0 i32)
- (i32.store
- (i32.const 160)
+ (set_global $K
(get_local $0)
)
)
(func $Ga (param $0 i32)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $0)
)
)
(func $Ma (result i32)
- (i32.load
- (i32.const 160)
- )
+ (get_global $K)
)
(func $Fa (result i32)
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
(func $ib (result i32)
(i32.const 0)
)
- (func $__growWasmMemory (param $newSize i32)
+ (func $__growWasmMemory (param $newSize i32) (result i32)
(grow_memory
(get_local $newSize)
)
diff --git a/test/memorygrowth.fromasm.imprecise.no-opts b/test/memorygrowth.fromasm.imprecise.no-opts
index ddd73a5f8..347eb4392 100644
--- a/test/memorygrowth.fromasm.imprecise.no-opts
+++ b/test/memorygrowth.fromasm.imprecise.no-opts
@@ -1,44 +1,77 @@
(module
(memory 256 256)
- (export "memory" memory)
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
- (import $ja "env" "abort" (param i32))
- (import $oa "env" "_pthread_cleanup_pop" (param i32))
- (import $pa "env" "___lock" (param i32))
- (import $qa "env" "_abort")
- (import $ra "env" "_pthread_cleanup_push" (param i32 i32))
- (import $sa "env" "___syscall6" (param i32 i32) (result i32))
- (import $ta "env" "_sbrk" (param i32) (result i32))
- (import $ua "env" "___syscall140" (param i32 i32) (result i32))
- (import $va "env" "_emscripten_memcpy_big" (param i32 i32 i32) (result i32))
- (import $wa "env" "___syscall54" (param i32 i32) (result i32))
- (import $xa "env" "___unlock" (param i32))
- (import $ya "env" "___syscall146" (param i32 i32) (result i32))
- (export "_free" $fb)
- (export "_main" $Na)
- (export "_pthread_self" $ib)
- (export "_memset" $hb)
- (export "_malloc" $eb)
- (export "_memcpy" $jb)
- (export "_fflush" $_a)
- (export "___errno_location" $Qa)
- (export "runPostSets" $gb)
- (export "stackAlloc" $Ea)
- (export "stackSave" $Fa)
- (export "stackRestore" $Ga)
- (export "establishStackSpace" $Ha)
- (export "setThrew" $Ia)
- (export "setTempRet0" $La)
- (export "getTempRet0" $Ma)
- (export "dynCall_ii" $kb)
- (export "dynCall_iiii" $lb)
- (export "dynCall_vi" $mb)
- (export "__growWasmMemory" $__growWasmMemory)
+ (import "env" "STACKTOP" (global $r i32))
+ (import "env" "STACK_MAX" (global $s i32))
+ (import "env" "tempDoublePtr" (global $t i32))
+ (import "env" "ABORT" (global $u i32))
+ (import "global" "NaN" (global $z f64))
+ (import "global" "Infinity" (global $A f64))
+ (import "env" "abort" (func $ja (param i32)))
+ (import "env" "_pthread_cleanup_pop" (func $oa (param i32)))
+ (import "env" "___lock" (func $pa (param i32)))
+ (import "env" "_abort" (func $qa))
+ (import "env" "_pthread_cleanup_push" (func $ra (param i32 i32)))
+ (import "env" "___syscall6" (func $sa (param i32 i32) (result i32)))
+ (import "env" "_sbrk" (func $ta (param i32) (result i32)))
+ (import "env" "___syscall140" (func $ua (param i32 i32) (result i32)))
+ (import "env" "_emscripten_memcpy_big" (func $va (param i32 i32 i32) (result i32)))
+ (import "env" "___syscall54" (func $wa (param i32 i32) (result i32)))
+ (import "env" "___unlock" (func $xa (param i32)))
+ (import "env" "___syscall146" (func $ya (param i32 i32) (result i32)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "_free" (func $fb))
+ (export "_main" (func $Na))
+ (export "_pthread_self" (func $ib))
+ (export "_memset" (func $hb))
+ (export "_malloc" (func $eb))
+ (export "_memcpy" (func $jb))
+ (export "_fflush" (func $_a))
+ (export "___errno_location" (func $Qa))
+ (export "runPostSets" (func $gb))
+ (export "stackAlloc" (func $Ea))
+ (export "stackSave" (func $Fa))
+ (export "stackRestore" (func $Ga))
+ (export "establishStackSpace" (func $Ha))
+ (export "setThrew" (func $Ia))
+ (export "setTempRet0" (func $La))
+ (export "getTempRet0" (func $Ma))
+ (export "dynCall_ii" (func $kb))
+ (export "dynCall_iiii" (func $lb))
+ (export "dynCall_vi" (func $mb))
+ (export "__growWasmMemory" (func $__growWasmMemory))
+ (global $v i32 (i32.const 0))
+ (global $w i32 (i32.const 0))
+ (global $x i32 (i32.const 0))
+ (global $y i32 (i32.const 0))
+ (global $B i32 (i32.const 0))
+ (global $C i32 (i32.const 0))
+ (global $D i32 (i32.const 0))
+ (global $E i32 (i32.const 0))
+ (global $F f64 (f64.const 0))
+ (global $G i32 (i32.const 0))
+ (global $H i32 (i32.const 0))
+ (global $I i32 (i32.const 0))
+ (global $J f64 (f64.const 0))
+ (global $K i32 (i32.const 0))
+ (global $L i32 (i32.const 0))
+ (global $M i32 (i32.const 0))
+ (global $N i32 (i32.const 0))
+ (global $O i32 (i32.const 0))
+ (global $P i32 (i32.const 0))
+ (global $Q i32 (i32.const 0))
+ (global $R i32 (i32.const 0))
+ (global $S i32 (i32.const 0))
+ (global $T i32 (i32.const 0))
+ (global $za f64 (f64.const 0))
(table 8 8 anyfunc)
(elem (i32.const 0) $nb $Oa $ob $Va $Ua $Ra $pb $Sa)
(func $eb (param $a i32) (result i32)
@@ -136,16 +169,11 @@
(local $Ra i32)
(local $Sa i32)
(set_local $b
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 16)
)
)
@@ -339,8 +367,7 @@
(set_local $p
(get_local $m)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -760,8 +787,7 @@
(set_local $p
(get_local $o)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -912,88 +938,90 @@
(set_local $s
(get_local $j)
)
- (loop $while-out$6 $while-in$7
- (set_local $j
- (i32.load
- (i32.add
- (get_local $g)
- (i32.const 16)
+ (loop $while-in$7
+ (block $while-out$6
+ (set_local $j
+ (i32.load
+ (i32.add
+ (get_local $g)
+ (i32.const 16)
+ )
)
)
- )
- (if
- (i32.eqz
- (get_local $j)
- )
- (block
- (set_local $f
- (i32.load
- (i32.add
- (get_local $g)
- (i32.const 20)
- )
- )
+ (if
+ (i32.eqz
+ (get_local $j)
)
- (if
- (i32.eqz
- (get_local $f)
+ (block
+ (set_local $f
+ (i32.load
+ (i32.add
+ (get_local $g)
+ (i32.const 20)
+ )
+ )
)
- (block
- (set_local $z
- (get_local $e)
+ (if
+ (i32.eqz
+ (get_local $f)
)
- (set_local $A
- (get_local $s)
+ (block
+ (set_local $z
+ (get_local $e)
+ )
+ (set_local $A
+ (get_local $s)
+ )
+ (br $while-out$6)
+ )
+ (set_local $B
+ (get_local $f)
)
- (br $while-out$6)
- )
- (set_local $B
- (get_local $f)
)
)
+ (set_local $B
+ (get_local $j)
+ )
)
- (set_local $B
- (get_local $j)
- )
- )
- (set_local $j
- (i32.sub
- (i32.and
- (i32.load
- (i32.add
- (get_local $B)
- (i32.const 4)
+ (set_local $j
+ (i32.sub
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $B)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $d)
)
- (get_local $d)
)
- )
- (set_local $f
- (i32.lt_u
- (get_local $j)
- (get_local $e)
+ (set_local $f
+ (i32.lt_u
+ (get_local $j)
+ (get_local $e)
+ )
)
- )
- (set_local $e
- (if
- (get_local $f)
- (get_local $j)
- (get_local $e)
+ (set_local $e
+ (if
+ (get_local $f)
+ (get_local $j)
+ (get_local $e)
+ )
)
- )
- (set_local $g
- (get_local $B)
- )
- (set_local $s
- (if
- (get_local $f)
+ (set_local $g
(get_local $B)
- (get_local $s)
)
+ (set_local $s
+ (if
+ (get_local $f)
+ (get_local $B)
+ (get_local $s)
+ )
+ )
+ (br $while-in$7)
)
- (br $while-in$7)
)
(set_local $s
(i32.load
@@ -1099,64 +1127,66 @@
)
)
)
- (loop $while-out$10 $while-in$11
- (set_local $q
- (i32.add
- (get_local $D)
- (i32.const 20)
- )
- )
- (set_local $u
- (i32.load
- (get_local $q)
- )
- )
- (if
- (get_local $u)
- (block
- (set_local $D
- (get_local $u)
+ (loop $while-in$11
+ (block $while-out$10
+ (set_local $q
+ (i32.add
+ (get_local $D)
+ (i32.const 20)
)
- (set_local $E
+ )
+ (set_local $u
+ (i32.load
(get_local $q)
)
- (br $while-in$11)
)
- )
- (set_local $q
- (i32.add
- (get_local $D)
- (i32.const 16)
- )
- )
- (set_local $u
- (i32.load
- (get_local $q)
- )
- )
- (if
- (i32.eqz
+ (if
(get_local $u)
+ (block
+ (set_local $D
+ (get_local $u)
+ )
+ (set_local $E
+ (get_local $q)
+ )
+ (br $while-in$11)
+ )
)
- (block
- (set_local $F
+ (set_local $q
+ (i32.add
(get_local $D)
+ (i32.const 16)
)
- (set_local $G
- (get_local $E)
+ )
+ (set_local $u
+ (i32.load
+ (get_local $q)
)
- (br $while-out$10)
)
- (block
- (set_local $D
+ (if
+ (i32.eqz
(get_local $u)
)
- (set_local $E
- (get_local $q)
+ (block
+ (set_local $F
+ (get_local $D)
+ )
+ (set_local $G
+ (get_local $E)
+ )
+ (br $while-out$10)
+ )
+ (block
+ (set_local $D
+ (get_local $u)
+ )
+ (set_local $E
+ (get_local $q)
+ )
)
)
+ (br $while-in$11)
)
- (br $while-in$11)
)
(if
(i32.lt_u
@@ -1645,8 +1675,7 @@
(i32.const 8)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -1874,156 +1903,158 @@
(set_local $i
(i32.const 0)
)
- (loop $while-out$17 $while-in$18
- (set_local $m
- (i32.and
- (i32.load
- (i32.add
- (get_local $o)
- (i32.const 4)
+ (loop $while-in$18
+ (block $while-out$17
+ (set_local $m
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $o)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
- )
- )
- (set_local $l
- (i32.sub
- (get_local $m)
- (get_local $e)
)
- )
- (if
- (i32.lt_u
- (get_local $l)
- (get_local $u)
- )
- (if
- (i32.eq
+ (set_local $l
+ (i32.sub
(get_local $m)
(get_local $e)
)
- (block
- (set_local $O
- (get_local $l)
- )
- (set_local $P
- (get_local $o)
+ )
+ (if
+ (i32.lt_u
+ (get_local $l)
+ (get_local $u)
+ )
+ (if
+ (i32.eq
+ (get_local $m)
+ (get_local $e)
)
- (set_local $Q
- (get_local $o)
+ (block
+ (set_local $O
+ (get_local $l)
+ )
+ (set_local $P
+ (get_local $o)
+ )
+ (set_local $Q
+ (get_local $o)
+ )
+ (set_local $N
+ (i32.const 90)
+ )
+ (br $label$break$a)
)
- (set_local $N
- (i32.const 90)
+ (block
+ (set_local $R
+ (get_local $l)
+ )
+ (set_local $S
+ (get_local $o)
+ )
)
- (br $label$break$a)
)
(block
(set_local $R
- (get_local $l)
+ (get_local $u)
)
(set_local $S
- (get_local $o)
+ (get_local $i)
)
)
)
- (block
- (set_local $R
- (get_local $u)
- )
- (set_local $S
- (get_local $i)
- )
- )
- )
- (set_local $l
- (i32.load
- (i32.add
- (get_local $o)
- (i32.const 20)
- )
- )
- )
- (set_local $o
- (i32.load
- (i32.add
+ (set_local $l
+ (i32.load
(i32.add
(get_local $o)
- (i32.const 16)
+ (i32.const 20)
)
- (i32.shl
- (i32.shr_u
- (get_local $s)
- (i32.const 31)
+ )
+ )
+ (set_local $o
+ (i32.load
+ (i32.add
+ (i32.add
+ (get_local $o)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $s)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (set_local $m
- (if
- (i32.or
- (i32.eq
- (get_local $l)
- (i32.const 0)
- )
- (i32.eq
- (get_local $l)
- (get_local $o)
+ (set_local $m
+ (if
+ (i32.or
+ (i32.eq
+ (get_local $l)
+ (i32.const 0)
+ )
+ (i32.eq
+ (get_local $l)
+ (get_local $o)
+ )
)
+ (get_local $j)
+ (get_local $l)
)
- (get_local $j)
- (get_local $l)
)
- )
- (set_local $l
- (i32.eq
- (get_local $o)
- (i32.const 0)
- )
- )
- (if
- (get_local $l)
- (block
- (set_local $K
- (get_local $R)
- )
- (set_local $L
- (get_local $m)
- )
- (set_local $M
- (get_local $S)
- )
- (set_local $N
- (i32.const 86)
+ (set_local $l
+ (i32.eq
+ (get_local $o)
+ (i32.const 0)
)
- (br $while-out$17)
)
- (block
- (set_local $u
- (get_local $R)
- )
- (set_local $j
- (get_local $m)
+ (if
+ (get_local $l)
+ (block
+ (set_local $K
+ (get_local $R)
+ )
+ (set_local $L
+ (get_local $m)
+ )
+ (set_local $M
+ (get_local $S)
+ )
+ (set_local $N
+ (i32.const 86)
+ )
+ (br $while-out$17)
)
- (set_local $s
- (i32.shl
- (get_local $s)
- (i32.xor
- (i32.and
- (get_local $l)
+ (block
+ (set_local $u
+ (get_local $R)
+ )
+ (set_local $j
+ (get_local $m)
+ )
+ (set_local $s
+ (i32.shl
+ (get_local $s)
+ (i32.xor
+ (i32.and
+ (get_local $l)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
)
)
- )
- (set_local $i
- (get_local $S)
+ (set_local $i
+ (get_local $S)
+ )
)
)
+ (br $while-in$18)
)
- (br $while-in$18)
)
)
)
@@ -2224,104 +2255,106 @@
(get_local $N)
(i32.const 90)
)
- (loop $while-out$19 $while-in$20
- (set_local $N
- (i32.const 0)
- )
- (set_local $i
- (i32.sub
- (i32.and
- (i32.load
- (i32.add
- (get_local $P)
- (i32.const 4)
+ (loop $while-in$20
+ (block $while-out$19
+ (set_local $N
+ (i32.const 0)
+ )
+ (set_local $i
+ (i32.sub
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $P)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $e)
)
- (get_local $e)
- )
- )
- (set_local $s
- (i32.lt_u
- (get_local $i)
- (get_local $O)
)
- )
- (set_local $g
- (if
- (get_local $s)
- (get_local $i)
- (get_local $O)
- )
- )
- (set_local $i
- (if
- (get_local $s)
- (get_local $P)
- (get_local $Q)
- )
- )
- (set_local $s
- (i32.load
- (i32.add
- (get_local $P)
- (i32.const 16)
+ (set_local $s
+ (i32.lt_u
+ (get_local $i)
+ (get_local $O)
)
)
- )
- (if
- (get_local $s)
- (block
- (set_local $O
- (get_local $g)
- )
- (set_local $P
+ (set_local $g
+ (if
(get_local $s)
- )
- (set_local $Q
(get_local $i)
+ (get_local $O)
)
- (set_local $N
- (i32.const 90)
- )
- (br $while-in$20)
)
- )
- (set_local $P
- (i32.load
- (i32.add
+ (set_local $i
+ (if
+ (get_local $s)
(get_local $P)
- (i32.const 20)
+ (get_local $Q)
)
)
- )
- (if
- (i32.eqz
- (get_local $P)
+ (set_local $s
+ (i32.load
+ (i32.add
+ (get_local $P)
+ (i32.const 16)
+ )
+ )
)
- (block
- (set_local $U
- (get_local $g)
+ (if
+ (get_local $s)
+ (block
+ (set_local $O
+ (get_local $g)
+ )
+ (set_local $P
+ (get_local $s)
+ )
+ (set_local $Q
+ (get_local $i)
+ )
+ (set_local $N
+ (i32.const 90)
+ )
+ (br $while-in$20)
)
- (set_local $V
- (get_local $i)
+ )
+ (set_local $P
+ (i32.load
+ (i32.add
+ (get_local $P)
+ (i32.const 20)
+ )
)
- (br $while-out$19)
)
- (block
- (set_local $O
- (get_local $g)
+ (if
+ (i32.eqz
+ (get_local $P)
)
- (set_local $Q
- (get_local $i)
+ (block
+ (set_local $U
+ (get_local $g)
+ )
+ (set_local $V
+ (get_local $i)
+ )
+ (br $while-out$19)
)
- (set_local $N
- (i32.const 90)
+ (block
+ (set_local $O
+ (get_local $g)
+ )
+ (set_local $Q
+ (get_local $i)
+ )
+ (set_local $N
+ (i32.const 90)
+ )
)
)
+ (br $while-in$20)
)
- (br $while-in$20)
)
)
(if
@@ -2446,64 +2479,66 @@
)
)
)
- (loop $while-out$23 $while-in$24
- (set_local $d
- (i32.add
- (get_local $X)
- (i32.const 20)
- )
- )
- (set_local $f
- (i32.load
- (get_local $d)
- )
- )
- (if
- (get_local $f)
- (block
- (set_local $X
- (get_local $f)
+ (loop $while-in$24
+ (block $while-out$23
+ (set_local $d
+ (i32.add
+ (get_local $X)
+ (i32.const 20)
)
- (set_local $Y
+ )
+ (set_local $f
+ (i32.load
(get_local $d)
)
- (br $while-in$24)
)
- )
- (set_local $d
- (i32.add
- (get_local $X)
- (i32.const 16)
- )
- )
- (set_local $f
- (i32.load
- (get_local $d)
- )
- )
- (if
- (i32.eqz
+ (if
(get_local $f)
+ (block
+ (set_local $X
+ (get_local $f)
+ )
+ (set_local $Y
+ (get_local $d)
+ )
+ (br $while-in$24)
+ )
)
- (block
- (set_local $Z
+ (set_local $d
+ (i32.add
(get_local $X)
+ (i32.const 16)
)
- (set_local $_
- (get_local $Y)
+ )
+ (set_local $f
+ (i32.load
+ (get_local $d)
)
- (br $while-out$23)
)
- (block
- (set_local $X
+ (if
+ (i32.eqz
(get_local $f)
)
- (set_local $Y
- (get_local $d)
+ (block
+ (set_local $Z
+ (get_local $X)
+ )
+ (set_local $_
+ (get_local $Y)
+ )
+ (br $while-out$23)
+ )
+ (block
+ (set_local $X
+ (get_local $f)
+ )
+ (set_local $Y
+ (get_local $d)
+ )
)
)
+ (br $while-in$24)
)
- (br $while-in$24)
)
(if
(i32.lt_u
@@ -3194,79 +3229,81 @@
(get_local $t)
)
)
- (loop $while-out$31 $while-in$32
- (if
- (i32.eq
- (i32.and
- (i32.load
- (i32.add
- (get_local $d)
- (i32.const 4)
+ (loop $while-in$32
+ (block $while-out$31
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $d)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $U)
- )
- (block
- (set_local $ca
- (get_local $d)
+ (get_local $U)
)
- (set_local $N
- (i32.const 148)
+ (block
+ (set_local $ca
+ (get_local $d)
+ )
+ (set_local $N
+ (i32.const 148)
+ )
+ (br $while-out$31)
)
- (br $while-out$31)
)
- )
- (set_local $t
- (i32.add
+ (set_local $t
(i32.add
- (get_local $d)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $q)
- (i32.const 31)
+ (i32.add
+ (get_local $d)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $q)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (set_local $s
- (i32.load
- (get_local $t)
- )
- )
- (if
- (i32.eqz
- (get_local $s)
- )
- (block
- (set_local $da
+ (set_local $s
+ (i32.load
(get_local $t)
)
- (set_local $ea
- (get_local $d)
- )
- (set_local $N
- (i32.const 145)
- )
- (br $while-out$31)
)
- (block
- (set_local $q
- (i32.shl
- (get_local $q)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $s)
+ )
+ (block
+ (set_local $da
+ (get_local $t)
+ )
+ (set_local $ea
+ (get_local $d)
)
+ (set_local $N
+ (i32.const 145)
+ )
+ (br $while-out$31)
)
- (set_local $d
- (get_local $s)
+ (block
+ (set_local $q
+ (i32.shl
+ (get_local $q)
+ (i32.const 1)
+ )
+ )
+ (set_local $d
+ (get_local $s)
+ )
)
)
+ (br $while-in$32)
)
- (br $while-in$32)
)
(if
(i32.eq
@@ -3392,8 +3429,7 @@
(i32.const 8)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -3526,8 +3562,7 @@
(i32.const 8)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -3597,8 +3632,7 @@
(i32.const 8)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -3700,8 +3734,7 @@
(set_local $p
(i32.const 0)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -3743,8 +3776,7 @@
(set_local $p
(i32.const 0)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -3782,66 +3814,68 @@
(set_local $aa
(i32.const 1656)
)
- (loop $while-out$35 $while-in$36
- (set_local $ba
- (i32.load
- (get_local $aa)
- )
- )
- (if
- (i32.le_u
- (get_local $ba)
- (get_local $U)
+ (loop $while-in$36
+ (block $while-out$35
+ (set_local $ba
+ (i32.load
+ (get_local $aa)
+ )
)
- (block
- (set_local $$
- (i32.add
- (get_local $aa)
- (i32.const 4)
- )
+ (if
+ (i32.le_u
+ (get_local $ba)
+ (get_local $U)
)
- (if
- (i32.gt_u
+ (block
+ (set_local $$
(i32.add
- (get_local $ba)
- (i32.load
- (get_local $$)
- )
+ (get_local $aa)
+ (i32.const 4)
)
- (get_local $U)
)
- (block
- (set_local $fa
- (get_local $aa)
+ (if
+ (i32.gt_u
+ (i32.add
+ (get_local $ba)
+ (i32.load
+ (get_local $$)
+ )
+ )
+ (get_local $U)
)
- (set_local $ga
- (get_local $$)
+ (block
+ (set_local $fa
+ (get_local $aa)
+ )
+ (set_local $ga
+ (get_local $$)
+ )
+ (br $while-out$35)
)
- (br $while-out$35)
)
)
)
- )
- (set_local $aa
- (i32.load
- (i32.add
- (get_local $aa)
- (i32.const 8)
+ (set_local $aa
+ (i32.load
+ (i32.add
+ (get_local $aa)
+ (i32.const 8)
+ )
)
)
- )
- (if
- (i32.eqz
- (get_local $aa)
- )
- (block
- (set_local $N
- (i32.const 171)
+ (if
+ (i32.eqz
+ (get_local $aa)
+ )
+ (block
+ (set_local $N
+ (i32.const 171)
+ )
+ (br $label$break$c)
)
- (br $label$break$c)
)
+ (br $while-in$36)
)
- (br $while-in$36)
)
(set_local $aa
(i32.and
@@ -4123,8 +4157,10 @@
(i32.const -1)
)
(block
- (call_import $ta
- (get_local $$)
+ (drop
+ (call_import $ta
+ (get_local $$)
+ )
)
(br $label$break$d)
)
@@ -4344,43 +4380,45 @@
(set_local $ma
(i32.const 0)
)
- (loop $do-out$44 $do-in$45
- (set_local $c
- (i32.add
- (i32.const 1248)
- (i32.shl
+ (loop $do-in$45
+ (block $do-out$44
+ (set_local $c
+ (i32.add
+ (i32.const 1248)
(i32.shl
- (get_local $ma)
- (i32.const 1)
+ (i32.shl
+ (get_local $ma)
+ (i32.const 1)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (i32.store
- (i32.add
+ (i32.store
+ (i32.add
+ (get_local $c)
+ (i32.const 12)
+ )
(get_local $c)
- (i32.const 12)
)
- (get_local $c)
- )
- (i32.store
- (i32.add
+ (i32.store
+ (i32.add
+ (get_local $c)
+ (i32.const 8)
+ )
(get_local $c)
- (i32.const 8)
)
- (get_local $c)
- )
- (set_local $ma
- (i32.add
- (get_local $ma)
- (i32.const 1)
+ (set_local $ma
+ (i32.add
+ (get_local $ma)
+ (i32.const 1)
+ )
)
- )
- (br_if $do-in$45
- (i32.ne
- (get_local $ma)
- (i32.const 32)
+ (br_if $do-in$45
+ (i32.ne
+ (get_local $ma)
+ (i32.const 32)
+ )
)
)
)
@@ -4463,64 +4501,66 @@
(set_local $ka
(i32.const 1656)
)
- (loop $do-out$46 $do-in$47
- (set_local $ma
- (i32.load
- (get_local $ka)
- )
- )
- (set_local $c
- (i32.add
- (get_local $ka)
- (i32.const 4)
- )
- )
- (set_local $ca
- (i32.load
- (get_local $c)
+ (loop $do-in$47
+ (block $do-out$46
+ (set_local $ma
+ (i32.load
+ (get_local $ka)
+ )
)
- )
- (if
- (i32.eq
- (get_local $ha)
+ (set_local $c
(i32.add
- (get_local $ma)
- (get_local $ca)
+ (get_local $ka)
+ (i32.const 4)
)
)
- (block
- (set_local $na
- (get_local $ma)
- )
- (set_local $oa
+ (set_local $ca
+ (i32.load
(get_local $c)
)
- (set_local $pa
- (get_local $ca)
+ )
+ (if
+ (i32.eq
+ (get_local $ha)
+ (i32.add
+ (get_local $ma)
+ (get_local $ca)
+ )
)
- (set_local $ra
- (get_local $ka)
+ (block
+ (set_local $na
+ (get_local $ma)
+ )
+ (set_local $oa
+ (get_local $c)
+ )
+ (set_local $pa
+ (get_local $ca)
+ )
+ (set_local $ra
+ (get_local $ka)
+ )
+ (set_local $N
+ (i32.const 201)
+ )
+ (br $do-out$46)
)
- (set_local $N
- (i32.const 201)
+ )
+ (set_local $ka
+ (i32.load
+ (i32.add
+ (get_local $ka)
+ (i32.const 8)
+ )
)
- (br $do-out$46)
)
- )
- (set_local $ka
- (i32.load
- (i32.add
+ (br_if $do-in$47
+ (i32.ne
(get_local $ka)
- (i32.const 8)
+ (i32.const 0)
)
)
)
- (br_if $do-in$47
- (i32.ne
- (get_local $ka)
- (i32.const 0)
- )
- )
)
(if
(i32.eq
@@ -4671,47 +4711,49 @@
(set_local $ka
(i32.const 1656)
)
- (loop $while-out$48 $while-in$49
- (if
- (i32.eq
- (i32.load
- (get_local $ka)
- )
- (get_local $c)
- )
- (block
- (set_local $ua
- (get_local $ka)
+ (loop $while-in$49
+ (block $while-out$48
+ (if
+ (i32.eq
+ (i32.load
+ (get_local $ka)
+ )
+ (get_local $c)
)
- (set_local $va
- (get_local $ka)
+ (block
+ (set_local $ua
+ (get_local $ka)
+ )
+ (set_local $va
+ (get_local $ka)
+ )
+ (set_local $N
+ (i32.const 209)
+ )
+ (br $while-out$48)
)
- (set_local $N
- (i32.const 209)
+ )
+ (set_local $ka
+ (i32.load
+ (i32.add
+ (get_local $ka)
+ (i32.const 8)
+ )
)
- (br $while-out$48)
)
- )
- (set_local $ka
- (i32.load
- (i32.add
+ (if
+ (i32.eqz
(get_local $ka)
- (i32.const 8)
)
- )
- )
- (if
- (i32.eqz
- (get_local $ka)
- )
- (block
- (set_local $wa
- (i32.const 1656)
+ (block
+ (set_local $wa
+ (i32.const 1656)
+ )
+ (br $while-out$48)
)
- (br $while-out$48)
)
+ (br $while-in$49)
)
- (br $while-in$49)
)
(if
(i32.eq
@@ -5164,64 +5206,66 @@
)
)
)
- (loop $while-out$59 $while-in$60
- (set_local $aa
- (i32.add
- (get_local $za)
- (i32.const 20)
- )
- )
- (set_local $ba
- (i32.load
- (get_local $aa)
- )
- )
- (if
- (get_local $ba)
- (block
- (set_local $za
- (get_local $ba)
+ (loop $while-in$60
+ (block $while-out$59
+ (set_local $aa
+ (i32.add
+ (get_local $za)
+ (i32.const 20)
)
- (set_local $Aa
+ )
+ (set_local $ba
+ (i32.load
(get_local $aa)
)
- (br $while-in$60)
- )
- )
- (set_local $aa
- (i32.add
- (get_local $za)
- (i32.const 16)
- )
- )
- (set_local $ba
- (i32.load
- (get_local $aa)
)
- )
- (if
- (i32.eqz
+ (if
(get_local $ba)
+ (block
+ (set_local $za
+ (get_local $ba)
+ )
+ (set_local $Aa
+ (get_local $aa)
+ )
+ (br $while-in$60)
+ )
)
- (block
- (set_local $Ba
+ (set_local $aa
+ (i32.add
(get_local $za)
+ (i32.const 16)
)
- (set_local $Ca
- (get_local $Aa)
+ )
+ (set_local $ba
+ (i32.load
+ (get_local $aa)
)
- (br $while-out$59)
)
- (block
- (set_local $za
+ (if
+ (i32.eqz
(get_local $ba)
)
- (set_local $Aa
- (get_local $aa)
+ (block
+ (set_local $Ba
+ (get_local $za)
+ )
+ (set_local $Ca
+ (get_local $Aa)
+ )
+ (br $while-out$59)
+ )
+ (block
+ (set_local $za
+ (get_local $ba)
+ )
+ (set_local $Aa
+ (get_local $aa)
+ )
)
)
+ (br $while-in$60)
)
- (br $while-in$60)
)
(if
(i32.lt_u
@@ -5911,79 +5955,81 @@
(get_local $e)
)
)
- (loop $while-out$69 $while-in$70
- (if
- (i32.eq
- (i32.and
- (i32.load
- (i32.add
- (get_local $la)
- (i32.const 4)
+ (loop $while-in$70
+ (block $while-out$69
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $la)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $Ea)
)
- (get_local $Ea)
- )
- (block
- (set_local $Ia
- (get_local $la)
- )
- (set_local $N
- (i32.const 279)
+ (block
+ (set_local $Ia
+ (get_local $la)
+ )
+ (set_local $N
+ (i32.const 279)
+ )
+ (br $while-out$69)
)
- (br $while-out$69)
)
- )
- (set_local $e
- (i32.add
+ (set_local $e
(i32.add
- (get_local $la)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $aa)
- (i32.const 31)
+ (i32.add
+ (get_local $la)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $aa)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (set_local $ga
- (i32.load
- (get_local $e)
- )
- )
- (if
- (i32.eqz
- (get_local $ga)
- )
- (block
- (set_local $Ja
+ (set_local $ga
+ (i32.load
(get_local $e)
)
- (set_local $Ka
- (get_local $la)
- )
- (set_local $N
- (i32.const 276)
- )
- (br $while-out$69)
)
- (block
- (set_local $aa
- (i32.shl
- (get_local $aa)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $ga)
+ )
+ (block
+ (set_local $Ja
+ (get_local $e)
+ )
+ (set_local $Ka
+ (get_local $la)
)
+ (set_local $N
+ (i32.const 276)
+ )
+ (br $while-out$69)
)
- (set_local $la
- (get_local $ga)
+ (block
+ (set_local $aa
+ (i32.shl
+ (get_local $aa)
+ (i32.const 1)
+ )
+ )
+ (set_local $la
+ (get_local $ga)
+ )
)
)
+ (br $while-in$70)
)
- (br $while-in$70)
)
(if
(i32.eq
@@ -6109,8 +6155,7 @@
(i32.const 8)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -6122,52 +6167,54 @@
)
)
)
- (loop $while-out$71 $while-in$72
- (set_local $ka
- (i32.load
- (get_local $wa)
- )
- )
- (if
- (i32.le_u
- (get_local $ka)
- (get_local $ja)
+ (loop $while-in$72
+ (block $while-out$71
+ (set_local $ka
+ (i32.load
+ (get_local $wa)
+ )
)
- (block
- (set_local $ea
- (i32.add
- (get_local $ka)
- (i32.load
- (i32.add
- (get_local $wa)
- (i32.const 4)
+ (if
+ (i32.le_u
+ (get_local $ka)
+ (get_local $ja)
+ )
+ (block
+ (set_local $ea
+ (i32.add
+ (get_local $ka)
+ (i32.load
+ (i32.add
+ (get_local $wa)
+ (i32.const 4)
+ )
)
)
)
- )
- (if
- (i32.gt_u
- (get_local $ea)
- (get_local $ja)
- )
- (block
- (set_local $La
+ (if
+ (i32.gt_u
(get_local $ea)
+ (get_local $ja)
+ )
+ (block
+ (set_local $La
+ (get_local $ea)
+ )
+ (br $while-out$71)
)
- (br $while-out$71)
)
)
)
- )
- (set_local $wa
- (i32.load
- (i32.add
- (get_local $wa)
- (i32.const 8)
+ (set_local $wa
+ (i32.load
+ (i32.add
+ (get_local $wa)
+ (i32.const 8)
+ )
)
)
+ (br $while-in$72)
)
- (br $while-in$72)
)
(set_local $ca
(i32.add
@@ -6364,24 +6411,26 @@
(i32.const 24)
)
)
- (loop $do-out$73 $do-in$74
- (set_local $ka
- (i32.add
- (get_local $ka)
- (i32.const 4)
- )
- )
- (i32.store
- (get_local $ka)
- (i32.const 7)
- )
- (br_if $do-in$74
- (i32.lt_u
+ (loop $do-in$74
+ (block $do-out$73
+ (set_local $ka
(i32.add
(get_local $ka)
(i32.const 4)
)
- (get_local $La)
+ )
+ (i32.store
+ (get_local $ka)
+ (i32.const 7)
+ )
+ (br_if $do-in$74
+ (i32.lt_u
+ (i32.add
+ (get_local $ka)
+ (i32.const 4)
+ )
+ (get_local $La)
+ )
)
)
)
@@ -6756,79 +6805,81 @@
(get_local $e)
)
)
- (loop $while-out$75 $while-in$76
- (if
- (i32.eq
- (i32.and
- (i32.load
- (i32.add
- (get_local $ga)
- (i32.const 4)
+ (loop $while-in$76
+ (block $while-out$75
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $ga)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $ka)
- )
- (block
- (set_local $Pa
- (get_local $ga)
+ (get_local $ka)
)
- (set_local $N
- (i32.const 305)
+ (block
+ (set_local $Pa
+ (get_local $ga)
+ )
+ (set_local $N
+ (i32.const 305)
+ )
+ (br $while-out$75)
)
- (br $while-out$75)
)
- )
- (set_local $e
- (i32.add
+ (set_local $e
(i32.add
- (get_local $ga)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $ma)
- (i32.const 31)
+ (i32.add
+ (get_local $ga)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $ma)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (set_local $la
- (i32.load
- (get_local $e)
- )
- )
- (if
- (i32.eqz
- (get_local $la)
- )
- (block
- (set_local $Ra
+ (set_local $la
+ (i32.load
(get_local $e)
)
- (set_local $Sa
- (get_local $ga)
- )
- (set_local $N
- (i32.const 302)
- )
- (br $while-out$75)
)
- (block
- (set_local $ma
- (i32.shl
- (get_local $ma)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $la)
+ )
+ (block
+ (set_local $Ra
+ (get_local $e)
+ )
+ (set_local $Sa
+ (get_local $ga)
+ )
+ (set_local $N
+ (i32.const 302)
)
+ (br $while-out$75)
)
- (set_local $ga
- (get_local $la)
+ (block
+ (set_local $ma
+ (i32.shl
+ (get_local $ma)
+ (i32.const 1)
+ )
+ )
+ (set_local $ga
+ (get_local $la)
+ )
)
)
+ (br $while-in$76)
)
- (br $while-in$76)
)
(if
(i32.eq
@@ -7012,8 +7063,7 @@
(i32.const 8)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -7033,8 +7083,7 @@
(set_local $p
(i32.const 0)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -7480,64 +7529,66 @@
)
)
)
- (loop $while-out$4 $while-in$5
- (set_local $l
- (i32.add
- (get_local $t)
- (i32.const 20)
- )
- )
- (set_local $q
- (i32.load
- (get_local $l)
- )
- )
- (if
- (get_local $q)
- (block
- (set_local $t
- (get_local $q)
+ (loop $while-in$5
+ (block $while-out$4
+ (set_local $l
+ (i32.add
+ (get_local $t)
+ (i32.const 20)
)
- (set_local $u
+ )
+ (set_local $q
+ (i32.load
(get_local $l)
)
- (br $while-in$5)
- )
- )
- (set_local $l
- (i32.add
- (get_local $t)
- (i32.const 16)
)
- )
- (set_local $q
- (i32.load
- (get_local $l)
- )
- )
- (if
- (i32.eqz
+ (if
(get_local $q)
+ (block
+ (set_local $t
+ (get_local $q)
+ )
+ (set_local $u
+ (get_local $l)
+ )
+ (br $while-in$5)
+ )
)
- (block
- (set_local $v
+ (set_local $l
+ (i32.add
(get_local $t)
+ (i32.const 16)
)
- (set_local $w
- (get_local $u)
+ )
+ (set_local $q
+ (i32.load
+ (get_local $l)
)
- (br $while-out$4)
)
- (block
- (set_local $t
+ (if
+ (i32.eqz
(get_local $q)
)
- (set_local $u
- (get_local $l)
+ (block
+ (set_local $v
+ (get_local $t)
+ )
+ (set_local $w
+ (get_local $u)
+ )
+ (br $while-out$4)
+ )
+ (block
+ (set_local $t
+ (get_local $q)
+ )
+ (set_local $u
+ (get_local $l)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(if
(i32.lt_u
@@ -8237,64 +8288,66 @@
)
)
)
- (loop $while-out$12 $while-in$13
- (set_local $t
- (i32.add
- (get_local $z)
- (i32.const 20)
- )
- )
- (set_local $p
- (i32.load
- (get_local $t)
- )
- )
- (if
- (get_local $p)
- (block
- (set_local $z
- (get_local $p)
+ (loop $while-in$13
+ (block $while-out$12
+ (set_local $t
+ (i32.add
+ (get_local $z)
+ (i32.const 20)
)
- (set_local $A
+ )
+ (set_local $p
+ (i32.load
(get_local $t)
)
- (br $while-in$13)
- )
- )
- (set_local $t
- (i32.add
- (get_local $z)
- (i32.const 16)
)
- )
- (set_local $p
- (i32.load
- (get_local $t)
- )
- )
- (if
- (i32.eqz
+ (if
(get_local $p)
+ (block
+ (set_local $z
+ (get_local $p)
+ )
+ (set_local $A
+ (get_local $t)
+ )
+ (br $while-in$13)
+ )
)
- (block
- (set_local $B
+ (set_local $t
+ (i32.add
(get_local $z)
+ (i32.const 16)
)
- (set_local $C
- (get_local $A)
+ )
+ (set_local $p
+ (i32.load
+ (get_local $t)
)
- (br $while-out$12)
)
- (block
- (set_local $z
+ (if
+ (i32.eqz
(get_local $p)
)
- (set_local $A
- (get_local $t)
+ (block
+ (set_local $B
+ (get_local $z)
+ )
+ (set_local $C
+ (get_local $A)
+ )
+ (br $while-out$12)
+ )
+ (block
+ (set_local $z
+ (get_local $p)
+ )
+ (set_local $A
+ (get_local $t)
+ )
)
)
+ (br $while-in$13)
)
- (br $while-in$13)
)
(if
(i32.lt_u
@@ -8986,79 +9039,81 @@
(get_local $s)
)
)
- (loop $while-out$18 $while-in$19
- (if
- (i32.eq
- (i32.and
- (i32.load
- (i32.add
- (get_local $b)
- (i32.const 4)
+ (loop $while-in$19
+ (block $while-out$18
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $b)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $D)
- )
- (block
- (set_local $H
- (get_local $b)
+ (get_local $D)
)
- (set_local $I
- (i32.const 130)
+ (block
+ (set_local $H
+ (get_local $b)
+ )
+ (set_local $I
+ (i32.const 130)
+ )
+ (br $while-out$18)
)
- (br $while-out$18)
)
- )
- (set_local $n
- (i32.add
+ (set_local $n
(i32.add
- (get_local $b)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $F)
- (i32.const 31)
+ (i32.add
+ (get_local $b)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $F)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (set_local $y
- (i32.load
- (get_local $n)
- )
- )
- (if
- (i32.eqz
- (get_local $y)
- )
- (block
- (set_local $J
+ (set_local $y
+ (i32.load
(get_local $n)
)
- (set_local $K
- (get_local $b)
- )
- (set_local $I
- (i32.const 127)
- )
- (br $while-out$18)
)
- (block
- (set_local $F
- (i32.shl
- (get_local $F)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $y)
+ )
+ (block
+ (set_local $J
+ (get_local $n)
+ )
+ (set_local $K
+ (get_local $b)
)
+ (set_local $I
+ (i32.const 127)
+ )
+ (br $while-out$18)
)
- (set_local $b
- (get_local $y)
+ (block
+ (set_local $F
+ (i32.shl
+ (get_local $F)
+ (i32.const 1)
+ )
+ )
+ (set_local $b
+ (get_local $y)
+ )
)
)
+ (br $while-in$19)
)
- (br $while-in$19)
)
(if
(i32.eq
@@ -9199,25 +9254,27 @@
)
(return)
)
- (loop $while-out$20 $while-in$21
- (set_local $m
- (i32.load
- (get_local $L)
- )
- )
- (if
- (i32.eqz
- (get_local $m)
+ (loop $while-in$21
+ (block $while-out$20
+ (set_local $m
+ (i32.load
+ (get_local $L)
+ )
)
- (br $while-out$20)
- (set_local $L
- (i32.add
+ (if
+ (i32.eqz
(get_local $m)
- (i32.const 8)
+ )
+ (br $while-out$20)
+ (set_local $L
+ (i32.add
+ (get_local $m)
+ (i32.const 8)
+ )
)
)
+ (br $while-in$21)
)
- (br $while-in$21)
)
(i32.store
(i32.const 1240)
@@ -9248,16 +9305,11 @@
(local $y i32)
(local $z i32)
(set_local $d
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 48)
)
)
@@ -9350,247 +9402,249 @@
(get_local $c)
)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.load
- (i32.const 1160)
- )
- )
- (block
- (i32.store
- (get_local $e)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eqz
(i32.load
- (get_local $b)
+ (i32.const 1160)
)
)
- (i32.store
- (i32.add
+ (block
+ (i32.store
(get_local $e)
- (i32.const 4)
+ (i32.load
+ (get_local $b)
+ )
)
- (get_local $m)
- )
- (i32.store
- (i32.add
- (get_local $e)
- (i32.const 8)
+ (i32.store
+ (i32.add
+ (get_local $e)
+ (i32.const 4)
+ )
+ (get_local $m)
)
- (get_local $g)
- )
- (set_local $o
- (call $Pa
- (call_import $ya
- (i32.const 146)
+ (i32.store
+ (i32.add
(get_local $e)
+ (i32.const 8)
)
+ (get_local $g)
)
- )
- )
- (block
- (call_import $ra
- (i32.const 1)
- (get_local $a)
- )
- (i32.store
- (get_local $f)
- (i32.load
- (get_local $b)
+ (set_local $o
+ (call $Pa
+ (call_import $ya
+ (i32.const 146)
+ (get_local $e)
+ )
+ )
)
)
- (i32.store
- (i32.add
- (get_local $f)
- (i32.const 4)
+ (block
+ (call_import $ra
+ (i32.const 1)
+ (get_local $a)
)
- (get_local $m)
- )
- (i32.store
- (i32.add
+ (i32.store
(get_local $f)
- (i32.const 8)
+ (i32.load
+ (get_local $b)
+ )
)
- (get_local $g)
- )
- (set_local $l
- (call $Pa
- (call_import $ya
- (i32.const 146)
+ (i32.store
+ (i32.add
(get_local $f)
+ (i32.const 4)
)
+ (get_local $m)
+ )
+ (i32.store
+ (i32.add
+ (get_local $f)
+ (i32.const 8)
+ )
+ (get_local $g)
+ )
+ (set_local $l
+ (call $Pa
+ (call_import $ya
+ (i32.const 146)
+ (get_local $f)
+ )
+ )
+ )
+ (call_import $oa
+ (i32.const 0)
+ )
+ (set_local $o
+ (get_local $l)
)
)
- (call_import $oa
- (i32.const 0)
- )
- (set_local $o
- (get_local $l)
- )
- )
- )
- (if
- (i32.eq
- (get_local $n)
- (get_local $o)
- )
- (block
- (set_local $p
- (i32.const 6)
- )
- (br $while-out$0)
- )
- )
- (if
- (i32.lt_s
- (get_local $o)
- (i32.const 0)
- )
- (block
- (set_local $q
- (get_local $m)
- )
- (set_local $s
- (get_local $g)
- )
- (set_local $p
- (i32.const 8)
- )
- (br $while-out$0)
)
- )
- (set_local $l
- (i32.sub
- (get_local $n)
- (get_local $o)
- )
- )
- (set_local $t
- (i32.load
- (i32.add
- (get_local $m)
- (i32.const 4)
+ (if
+ (i32.eq
+ (get_local $n)
+ (get_local $o)
)
- )
- )
- (if
- (i32.gt_u
- (get_local $o)
- (get_local $t)
- )
- (block
- (set_local $u
- (i32.load
- (get_local $i)
+ (block
+ (set_local $p
+ (i32.const 6)
)
+ (br $while-out$0)
)
- (i32.store
- (get_local $h)
- (get_local $u)
- )
- (i32.store
- (get_local $j)
- (get_local $u)
+ )
+ (if
+ (i32.lt_s
+ (get_local $o)
+ (i32.const 0)
)
- (set_local $v
- (i32.load
- (i32.add
- (get_local $m)
- (i32.const 12)
- )
+ (block
+ (set_local $q
+ (get_local $m)
)
- )
- (set_local $w
- (i32.sub
- (get_local $o)
- (get_local $t)
+ (set_local $s
+ (get_local $g)
)
- )
- (set_local $x
- (i32.add
- (get_local $m)
+ (set_local $p
(i32.const 8)
)
+ (br $while-out$0)
)
- (set_local $y
+ )
+ (set_local $l
+ (i32.sub
+ (get_local $n)
+ (get_local $o)
+ )
+ )
+ (set_local $t
+ (i32.load
(i32.add
- (get_local $g)
- (i32.const -1)
+ (get_local $m)
+ (i32.const 4)
)
)
)
(if
- (i32.eq
- (get_local $g)
- (i32.const 2)
+ (i32.gt_u
+ (get_local $o)
+ (get_local $t)
)
(block
+ (set_local $u
+ (i32.load
+ (get_local $i)
+ )
+ )
(i32.store
(get_local $h)
- (i32.add
- (i32.load
- (get_local $h)
- )
- (get_local $o)
- )
+ (get_local $u)
+ )
+ (i32.store
+ (get_local $j)
+ (get_local $u)
)
(set_local $v
- (get_local $t)
+ (i32.load
+ (i32.add
+ (get_local $m)
+ (i32.const 12)
+ )
+ )
)
(set_local $w
- (get_local $o)
+ (i32.sub
+ (get_local $o)
+ (get_local $t)
+ )
)
(set_local $x
- (get_local $m)
+ (i32.add
+ (get_local $m)
+ (i32.const 8)
+ )
)
(set_local $y
- (i32.const 2)
+ (i32.add
+ (get_local $g)
+ (i32.const -1)
+ )
)
)
- (block
- (set_local $v
- (get_local $t)
+ (if
+ (i32.eq
+ (get_local $g)
+ (i32.const 2)
)
- (set_local $w
- (get_local $o)
+ (block
+ (i32.store
+ (get_local $h)
+ (i32.add
+ (i32.load
+ (get_local $h)
+ )
+ (get_local $o)
+ )
+ )
+ (set_local $v
+ (get_local $t)
+ )
+ (set_local $w
+ (get_local $o)
+ )
+ (set_local $x
+ (get_local $m)
+ )
+ (set_local $y
+ (i32.const 2)
+ )
)
- (set_local $x
- (get_local $m)
+ (block
+ (set_local $v
+ (get_local $t)
+ )
+ (set_local $w
+ (get_local $o)
+ )
+ (set_local $x
+ (get_local $m)
+ )
+ (set_local $y
+ (get_local $g)
+ )
)
- (set_local $y
- (get_local $g)
+ )
+ )
+ (i32.store
+ (get_local $x)
+ (i32.add
+ (i32.load
+ (get_local $x)
)
+ (get_local $w)
)
)
- )
- (i32.store
- (get_local $x)
- (i32.add
- (i32.load
+ (i32.store
+ (i32.add
(get_local $x)
+ (i32.const 4)
+ )
+ (i32.sub
+ (get_local $v)
+ (get_local $w)
)
- (get_local $w)
)
- )
- (i32.store
- (i32.add
+ (set_local $m
(get_local $x)
- (i32.const 4)
)
- (i32.sub
- (get_local $v)
- (get_local $w)
+ (set_local $g
+ (get_local $y)
)
+ (set_local $n
+ (get_local $l)
+ )
+ (br $while-in$1)
)
- (set_local $m
- (get_local $x)
- )
- (set_local $g
- (get_local $y)
- )
- (set_local $n
- (get_local $l)
- )
- (br $while-in$1)
)
(if
(i32.eq
@@ -9686,8 +9740,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $d)
)
(return
@@ -9783,6 +9836,9 @@
(block
(set_local $h
(call_indirect $FUNCSIG$iiii
+ (get_local $c)
+ (get_local $a)
+ (get_local $b)
(i32.add
(i32.and
(i32.load
@@ -9795,9 +9851,6 @@
)
(i32.const 2)
)
- (get_local $c)
- (get_local $a)
- (get_local $b)
)
)
(br $label$break$a)
@@ -9818,58 +9871,63 @@
(set_local $d
(get_local $b)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (get_local $d)
- )
- (block
- (set_local $l
- (get_local $b)
- )
- (set_local $m
- (get_local $a)
- )
- (set_local $n
- (get_local $j)
- )
- (set_local $o
- (i32.const 0)
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (get_local $d)
)
- (br $label$break$b)
- )
- )
- (set_local $p
- (i32.add
- (get_local $d)
- (i32.const -1)
- )
- )
- (if
- (i32.eq
- (i32.load8_s
- (i32.add
+ (block
+ (set_local $l
+ (get_local $b)
+ )
+ (set_local $m
(get_local $a)
- (get_local $p)
)
+ (set_local $n
+ (get_local $j)
+ )
+ (set_local $o
+ (i32.const 0)
+ )
+ (br $label$break$b)
)
- (i32.const 10)
)
- (block
- (set_local $q
+ (set_local $p
+ (i32.add
(get_local $d)
+ (i32.const -1)
)
- (br $while-out$2)
)
- (set_local $d
- (get_local $p)
+ (if
+ (i32.eq
+ (i32.load8_s
+ (i32.add
+ (get_local $a)
+ (get_local $p)
+ )
+ )
+ (i32.const 10)
+ )
+ (block
+ (set_local $q
+ (get_local $d)
+ )
+ (br $while-out$2)
+ )
+ (set_local $d
+ (get_local $p)
+ )
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
(if
(i32.lt_u
(call_indirect $FUNCSIG$iiii
+ (get_local $c)
+ (get_local $a)
+ (get_local $q)
(i32.add
(i32.and
(i32.load
@@ -9882,9 +9940,6 @@
)
(i32.const 2)
)
- (get_local $c)
- (get_local $a)
- (get_local $q)
)
(get_local $q)
)
@@ -9932,10 +9987,12 @@
)
)
)
- (call $jb
- (get_local $n)
- (get_local $m)
- (get_local $l)
+ (drop
+ (call $jb
+ (get_local $n)
+ (get_local $m)
+ (get_local $l)
+ )
)
(i32.store
(get_local $e)
@@ -9996,50 +10053,52 @@
(set_local $f
(get_local $b)
)
- (loop $while-out$1 $while-in$2
- (if
- (i32.eqz
- (i32.load8_s
- (get_local $e)
+ (loop $while-in$2
+ (block $while-out$1
+ (if
+ (i32.eqz
+ (i32.load8_s
+ (get_local $e)
+ )
+ )
+ (block
+ (set_local $g
+ (get_local $f)
+ )
+ (br $label$break$a)
)
)
- (block
- (set_local $g
- (get_local $f)
+ (set_local $h
+ (i32.add
+ (get_local $e)
+ (i32.const 1)
)
- (br $label$break$a)
)
- )
- (set_local $h
- (i32.add
- (get_local $e)
- (i32.const 1)
+ (set_local $f
+ (get_local $h)
)
- )
- (set_local $f
- (get_local $h)
- )
- (if
- (i32.eqz
- (i32.and
- (get_local $f)
- (i32.const 3)
+ (if
+ (i32.eqz
+ (i32.and
+ (get_local $f)
+ (i32.const 3)
+ )
)
- )
- (block
- (set_local $c
- (get_local $h)
+ (block
+ (set_local $c
+ (get_local $h)
+ )
+ (set_local $d
+ (i32.const 4)
+ )
+ (br $while-out$1)
)
- (set_local $d
- (i32.const 4)
+ (set_local $e
+ (get_local $h)
)
- (br $while-out$1)
- )
- (set_local $e
- (get_local $h)
)
+ (br $while-in$2)
)
- (br $while-in$2)
)
)
)
@@ -10053,45 +10112,47 @@
(set_local $d
(get_local $c)
)
- (loop $while-out$3 $while-in$4
- (set_local $c
- (i32.load
- (get_local $d)
+ (loop $while-in$4
+ (block $while-out$3
+ (set_local $c
+ (i32.load
+ (get_local $d)
+ )
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.xor
- (i32.and
- (get_local $c)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.xor
+ (i32.and
+ (get_local $c)
+ (i32.const -2139062144)
+ )
(i32.const -2139062144)
)
- (i32.const -2139062144)
+ (i32.add
+ (get_local $c)
+ (i32.const -16843009)
+ )
)
+ )
+ (set_local $d
(i32.add
- (get_local $c)
- (i32.const -16843009)
+ (get_local $d)
+ (i32.const 4)
)
)
- )
- (set_local $d
- (i32.add
- (get_local $d)
- (i32.const 4)
- )
- )
- (block
- (set_local $j
- (get_local $c)
- )
- (set_local $l
- (get_local $d)
+ (block
+ (set_local $j
+ (get_local $c)
+ )
+ (set_local $l
+ (get_local $d)
+ )
+ (br $while-out$3)
)
- (br $while-out$3)
)
+ (br $while-in$4)
)
- (br $while-in$4)
)
(if
(i32.eqz
@@ -10113,30 +10174,32 @@
(set_local $j
(get_local $l)
)
- (loop $while-out$5 $while-in$6
- (set_local $l
- (i32.add
- (get_local $j)
- (i32.const 1)
- )
- )
- (if
- (i32.eqz
- (i32.load8_s
- (get_local $l)
+ (loop $while-in$6
+ (block $while-out$5
+ (set_local $l
+ (i32.add
+ (get_local $j)
+ (i32.const 1)
)
)
- (block
- (set_local $m
+ (if
+ (i32.eqz
+ (i32.load8_s
+ (get_local $l)
+ )
+ )
+ (block
+ (set_local $m
+ (get_local $l)
+ )
+ (br $while-out$5)
+ )
+ (set_local $j
(get_local $l)
)
- (br $while-out$5)
- )
- (set_local $j
- (get_local $l)
)
+ (br $while-in$6)
)
- (br $while-in$6)
)
)
)
@@ -10205,82 +10268,84 @@
(set_local $c
(get_local $b)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.gt_s
- (i32.load
- (i32.add
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.gt_s
+ (i32.load
+ (i32.add
+ (get_local $e)
+ (i32.const 76)
+ )
+ )
+ (i32.const -1)
+ )
+ (set_local $f
+ (call $Ya
(get_local $e)
- (i32.const 76)
)
)
- (i32.const -1)
- )
- (set_local $f
- (call $Ya
- (get_local $e)
+ (set_local $f
+ (i32.const 0)
)
)
- (set_local $f
- (i32.const 0)
- )
- )
- (if
- (i32.gt_u
- (i32.load
- (i32.add
- (get_local $e)
- (i32.const 20)
+ (if
+ (i32.gt_u
+ (i32.load
+ (i32.add
+ (get_local $e)
+ (i32.const 20)
+ )
)
- )
- (i32.load
- (i32.add
- (get_local $e)
- (i32.const 28)
+ (i32.load
+ (i32.add
+ (get_local $e)
+ (i32.const 28)
+ )
)
)
- )
- (set_local $g
- (i32.or
- (call $$a
- (get_local $e)
+ (set_local $g
+ (i32.or
+ (call $$a
+ (get_local $e)
+ )
+ (get_local $c)
)
+ )
+ (set_local $g
(get_local $c)
)
)
- (set_local $g
- (get_local $c)
- )
- )
- (if
- (get_local $f)
- (call $Ta
- (get_local $e)
- )
- )
- (set_local $e
- (i32.load
- (i32.add
+ (if
+ (get_local $f)
+ (call $Ta
(get_local $e)
- (i32.const 56)
)
)
- )
- (if
- (i32.eqz
- (get_local $e)
+ (set_local $e
+ (i32.load
+ (i32.add
+ (get_local $e)
+ (i32.const 56)
+ )
+ )
)
- (block
- (set_local $d
+ (if
+ (i32.eqz
+ (get_local $e)
+ )
+ (block
+ (set_local $d
+ (get_local $g)
+ )
+ (br $while-out$2)
+ )
+ (set_local $c
(get_local $g)
)
- (br $while-out$2)
- )
- (set_local $c
- (get_local $g)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
@@ -10356,16 +10421,11 @@
(local $m i32)
(local $n i32)
(set_local $c
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 16)
)
)
@@ -10489,6 +10549,9 @@
(if
(i32.eq
(call_indirect $FUNCSIG$iiii
+ (get_local $a)
+ (get_local $d)
+ (i32.const 1)
(i32.add
(i32.and
(i32.load
@@ -10501,9 +10564,6 @@
)
(i32.const 2)
)
- (get_local $a)
- (get_local $d)
- (i32.const 1)
)
(i32.const 1)
)
@@ -10519,8 +10579,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $c)
)
(return
@@ -10557,22 +10616,24 @@
)
)
(block
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (i32.load
- (i32.add
- (get_local $a)
- (i32.const 36)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $a)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $a)
+ (i32.const 36)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $a)
- (i32.const 0)
- (i32.const 0)
)
(if
(i32.eqz
@@ -10626,6 +10687,12 @@
(get_local $h)
)
(call_indirect $FUNCSIG$iiii
+ (get_local $a)
+ (i32.sub
+ (get_local $f)
+ (get_local $h)
+ )
+ (i32.const 1)
(i32.add
(i32.and
(i32.load
@@ -10638,12 +10705,6 @@
)
(i32.const 2)
)
- (get_local $a)
- (i32.sub
- (get_local $f)
- (get_local $h)
- )
- (i32.const 1)
)
)
(i32.store
@@ -10708,129 +10769,135 @@
)
)
(block
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.and
- (get_local $a)
- (i32.const 3)
- )
- )
- (br $while-out$0)
- )
- (block
+ (loop $while-in$1
+ (block $while-out$0
(if
(i32.eqz
- (get_local $c)
- )
- (return
- (get_local $d)
+ (i32.and
+ (get_local $a)
+ (i32.const 3)
+ )
)
+ (br $while-out$0)
)
- (i32.store8
- (get_local $a)
- (i32.load8_s
- (get_local $b)
+ (block
+ (if
+ (i32.eqz
+ (get_local $c)
+ )
+ (return
+ (get_local $d)
+ )
)
- )
- (set_local $a
- (i32.add
+ (i32.store8
(get_local $a)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $b)
+ )
)
- )
- (set_local $b
- (i32.add
- (get_local $b)
- (i32.const 1)
+ (set_local $a
+ (i32.add
+ (get_local $a)
+ (i32.const 1)
+ )
)
- )
- (set_local $c
- (i32.sub
- (get_local $c)
- (i32.const 1)
+ (set_local $b
+ (i32.add
+ (get_local $b)
+ (i32.const 1)
+ )
)
- )
- )
- (br $while-in$1)
- )
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (i32.ge_s
- (get_local $c)
- (i32.const 4)
+ (set_local $c
+ (i32.sub
+ (get_local $c)
+ (i32.const 1)
+ )
)
)
- (br $while-out$2)
+ (br $while-in$1)
)
- (block
- (i32.store
- (get_local $a)
- (i32.load
- (get_local $b)
+ )
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (i32.ge_s
+ (get_local $c)
+ (i32.const 4)
+ )
)
+ (br $while-out$2)
)
- (set_local $a
- (i32.add
+ (block
+ (i32.store
(get_local $a)
- (i32.const 4)
+ (i32.load
+ (get_local $b)
+ )
)
- )
- (set_local $b
- (i32.add
- (get_local $b)
- (i32.const 4)
+ (set_local $a
+ (i32.add
+ (get_local $a)
+ (i32.const 4)
+ )
)
- )
- (set_local $c
- (i32.sub
- (get_local $c)
- (i32.const 4)
+ (set_local $b
+ (i32.add
+ (get_local $b)
+ (i32.const 4)
+ )
+ )
+ (set_local $c
+ (i32.sub
+ (get_local $c)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.eqz
- (i32.gt_s
- (get_local $c)
- (i32.const 0)
- )
- )
- (br $while-out$4)
- )
- (block
- (i32.store8
- (get_local $a)
- (i32.load8_s
- (get_local $b)
+ (loop $while-in$5
+ (block $while-out$4
+ (if
+ (i32.eqz
+ (i32.gt_s
+ (get_local $c)
+ (i32.const 0)
+ )
)
+ (br $while-out$4)
)
- (set_local $a
- (i32.add
+ (block
+ (i32.store8
(get_local $a)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $b)
+ )
)
- )
- (set_local $b
- (i32.add
- (get_local $b)
- (i32.const 1)
+ (set_local $a
+ (i32.add
+ (get_local $a)
+ (i32.const 1)
+ )
)
- )
- (set_local $c
- (i32.sub
- (get_local $c)
- (i32.const 1)
+ (set_local $b
+ (i32.add
+ (get_local $b)
+ (i32.const 1)
+ )
+ )
+ (set_local $c
+ (i32.sub
+ (get_local $c)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(return
(get_local $d)
@@ -10910,81 +10977,87 @@
(get_local $e)
)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $a)
- (get_local $e)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $a)
+ (get_local $e)
+ )
)
+ (br $while-out$0)
)
- (br $while-out$0)
- )
- (block
- (i32.store8
- (get_local $a)
- (get_local $b)
- )
- (set_local $a
- (i32.add
+ (block
+ (i32.store8
(get_local $a)
- (i32.const 1)
+ (get_local $b)
+ )
+ (set_local $a
+ (i32.add
+ (get_local $a)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$1)
)
- (br $while-in$1)
)
)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $a)
- (get_local $g)
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $a)
+ (get_local $g)
+ )
)
+ (br $while-out$2)
)
- (br $while-out$2)
- )
- (block
- (i32.store
- (get_local $a)
- (get_local $f)
- )
- (set_local $a
- (i32.add
+ (block
+ (i32.store
(get_local $a)
- (i32.const 4)
+ (get_local $f)
+ )
+ (set_local $a
+ (i32.add
+ (get_local $a)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $a)
- (get_local $d)
+ (loop $while-in$5
+ (block $while-out$4
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $a)
+ (get_local $d)
+ )
)
+ (br $while-out$4)
)
- (br $while-out$4)
- )
- (block
- (i32.store8
- (get_local $a)
- (get_local $b)
- )
- (set_local $a
- (i32.add
+ (block
+ (i32.store8
(get_local $a)
- (i32.const 1)
+ (get_local $b)
+ )
+ (set_local $a
+ (i32.add
+ (get_local $a)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(return
(i32.sub
@@ -11312,16 +11385,11 @@
(local $f i32)
(local $g i32)
(set_local $d
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 32)
)
)
@@ -11396,8 +11464,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $d)
)
(return
@@ -11408,16 +11475,11 @@
(local $d i32)
(local $e i32)
(set_local $d
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 80)
)
)
@@ -11489,8 +11551,7 @@
(get_local $c)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $d)
)
(return
@@ -11499,18 +11560,14 @@
)
(func $Ka (param $a i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s
(get_local $a)
)
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 1)
)
(i32.load8_s
@@ -11522,9 +11579,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 2)
)
(i32.load8_s
@@ -11536,9 +11591,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 3)
)
(i32.load8_s
@@ -11550,9 +11603,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 4)
)
(i32.load8_s
@@ -11564,9 +11615,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 5)
)
(i32.load8_s
@@ -11578,9 +11627,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 6)
)
(i32.load8_s
@@ -11592,9 +11639,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 7)
)
(i32.load8_s
@@ -11609,16 +11654,11 @@
(local $b i32)
(local $c i32)
(set_local $b
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 16)
)
)
@@ -11642,8 +11682,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -11683,18 +11722,14 @@
)
(func $Ja (param $a i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s
(get_local $a)
)
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 1)
)
(i32.load8_s
@@ -11706,9 +11741,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 2)
)
(i32.load8_s
@@ -11720,9 +11753,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 3)
)
(i32.load8_s
@@ -11766,6 +11797,9 @@
(func $lb (param $a i32) (param $b i32) (param $c i32) (param $d i32) (result i32)
(return
(call_indirect $FUNCSIG$iiii
+ (get_local $b)
+ (get_local $c)
+ (get_local $d)
(i32.add
(i32.and
(get_local $a)
@@ -11773,35 +11807,24 @@
)
(i32.const 2)
)
- (get_local $b)
- (get_local $c)
- (get_local $d)
)
)
)
(func $Ea (param $a i32) (result i32)
(local $b i32)
(set_local $b
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(get_local $a)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.and
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 15)
)
(i32.const -16)
@@ -11837,17 +11860,13 @@
(func $Ia (param $a i32) (param $b i32)
(if
(i32.eqz
- (i32.load
- (i32.const 40)
- )
+ (get_global $v)
)
(block
- (i32.store
- (i32.const 40)
+ (set_global $v
(get_local $a)
)
- (i32.store
- (i32.const 48)
+ (set_global $w
(get_local $b)
)
)
@@ -11856,6 +11875,7 @@
(func $kb (param $a i32) (param $b i32) (result i32)
(return
(call_indirect $FUNCSIG$ii
+ (get_local $b)
(i32.add
(i32.and
(get_local $a)
@@ -11863,7 +11883,6 @@
)
(i32.const 0)
)
- (get_local $b)
)
)
)
@@ -11885,6 +11904,7 @@
)
(func $mb (param $a i32) (param $b i32)
(call_indirect $FUNCSIG$vi
+ (get_local $b)
(i32.add
(i32.and
(get_local $a)
@@ -11892,16 +11912,13 @@
)
(i32.const 6)
)
- (get_local $b)
)
)
(func $Ha (param $a i32) (param $b i32)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $a)
)
- (i32.store
- (i32.const 16)
+ (set_global $s
(get_local $b)
)
)
@@ -11914,8 +11931,10 @@
)
)
(func $Na (result i32)
- (call $db
- (i32.const 1144)
+ (drop
+ (call $db
+ (i32.const 1144)
+ )
)
(return
(i32.const 0)
@@ -11935,29 +11954,23 @@
)
)
(func $La (param $a i32)
- (i32.store
- (i32.const 160)
+ (set_global $K
(get_local $a)
)
)
(func $Ga (param $a i32)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $a)
)
)
(func $Ma (result i32)
(return
- (i32.load
- (i32.const 160)
- )
+ (get_global $K)
)
)
(func $Fa (result i32)
(return
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
)
(func $ib (result i32)
@@ -11965,7 +11978,7 @@
(i32.const 0)
)
)
- (func $__growWasmMemory (param $newSize i32)
+ (func $__growWasmMemory (param $newSize i32) (result i32)
(grow_memory
(get_local $newSize)
)
diff --git a/test/memorygrowth.fromasm.no-opts b/test/memorygrowth.fromasm.no-opts
index c0a7307c5..9415b19e5 100644
--- a/test/memorygrowth.fromasm.no-opts
+++ b/test/memorygrowth.fromasm.no-opts
@@ -1,45 +1,78 @@
(module
(memory 256 256)
- (export "memory" memory)
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$vii (func (param i32 i32)))
- (import $ja "env" "abort" (param i32))
- (import $oa "env" "_pthread_cleanup_pop" (param i32))
- (import $pa "env" "___lock" (param i32))
- (import $qa "env" "_abort")
- (import $ra "env" "_pthread_cleanup_push" (param i32 i32))
- (import $sa "env" "___syscall6" (param i32 i32) (result i32))
- (import $ta "env" "_sbrk" (param i32) (result i32))
- (import $ua "env" "___syscall140" (param i32 i32) (result i32))
- (import $va "env" "_emscripten_memcpy_big" (param i32 i32 i32) (result i32))
- (import $wa "env" "___syscall54" (param i32 i32) (result i32))
- (import $xa "env" "___unlock" (param i32))
- (import $ya "env" "___syscall146" (param i32 i32) (result i32))
- (import $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32))
- (export "_free" $fb)
- (export "_main" $Na)
- (export "_pthread_self" $ib)
- (export "_memset" $hb)
- (export "_malloc" $eb)
- (export "_memcpy" $jb)
- (export "_fflush" $_a)
- (export "___errno_location" $Qa)
- (export "runPostSets" $gb)
- (export "stackAlloc" $Ea)
- (export "stackSave" $Fa)
- (export "stackRestore" $Ga)
- (export "establishStackSpace" $Ha)
- (export "setThrew" $Ia)
- (export "setTempRet0" $La)
- (export "getTempRet0" $Ma)
- (export "dynCall_ii" $kb)
- (export "dynCall_iiii" $lb)
- (export "dynCall_vi" $mb)
- (export "__growWasmMemory" $__growWasmMemory)
+ (import "env" "STACKTOP" (global $r i32))
+ (import "env" "STACK_MAX" (global $s i32))
+ (import "env" "tempDoublePtr" (global $t i32))
+ (import "env" "ABORT" (global $u i32))
+ (import "global" "NaN" (global $z f64))
+ (import "global" "Infinity" (global $A f64))
+ (import "env" "abort" (func $ja (param i32)))
+ (import "env" "_pthread_cleanup_pop" (func $oa (param i32)))
+ (import "env" "___lock" (func $pa (param i32)))
+ (import "env" "_abort" (func $qa))
+ (import "env" "_pthread_cleanup_push" (func $ra (param i32 i32)))
+ (import "env" "___syscall6" (func $sa (param i32 i32) (result i32)))
+ (import "env" "_sbrk" (func $ta (param i32) (result i32)))
+ (import "env" "___syscall140" (func $ua (param i32 i32) (result i32)))
+ (import "env" "_emscripten_memcpy_big" (func $va (param i32 i32 i32) (result i32)))
+ (import "env" "___syscall54" (func $wa (param i32 i32) (result i32)))
+ (import "env" "___unlock" (func $xa (param i32)))
+ (import "env" "___syscall146" (func $ya (param i32 i32) (result i32)))
+ (import "asm2wasm" "i32u-div" (func $i32u-div (param i32 i32) (result i32)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "_free" (func $fb))
+ (export "_main" (func $Na))
+ (export "_pthread_self" (func $ib))
+ (export "_memset" (func $hb))
+ (export "_malloc" (func $eb))
+ (export "_memcpy" (func $jb))
+ (export "_fflush" (func $_a))
+ (export "___errno_location" (func $Qa))
+ (export "runPostSets" (func $gb))
+ (export "stackAlloc" (func $Ea))
+ (export "stackSave" (func $Fa))
+ (export "stackRestore" (func $Ga))
+ (export "establishStackSpace" (func $Ha))
+ (export "setThrew" (func $Ia))
+ (export "setTempRet0" (func $La))
+ (export "getTempRet0" (func $Ma))
+ (export "dynCall_ii" (func $kb))
+ (export "dynCall_iiii" (func $lb))
+ (export "dynCall_vi" (func $mb))
+ (export "__growWasmMemory" (func $__growWasmMemory))
+ (global $v i32 (i32.const 0))
+ (global $w i32 (i32.const 0))
+ (global $x i32 (i32.const 0))
+ (global $y i32 (i32.const 0))
+ (global $B i32 (i32.const 0))
+ (global $C i32 (i32.const 0))
+ (global $D i32 (i32.const 0))
+ (global $E i32 (i32.const 0))
+ (global $F f64 (f64.const 0))
+ (global $G i32 (i32.const 0))
+ (global $H i32 (i32.const 0))
+ (global $I i32 (i32.const 0))
+ (global $J f64 (f64.const 0))
+ (global $K i32 (i32.const 0))
+ (global $L i32 (i32.const 0))
+ (global $M i32 (i32.const 0))
+ (global $N i32 (i32.const 0))
+ (global $O i32 (i32.const 0))
+ (global $P i32 (i32.const 0))
+ (global $Q i32 (i32.const 0))
+ (global $R i32 (i32.const 0))
+ (global $S i32 (i32.const 0))
+ (global $T i32 (i32.const 0))
+ (global $za f64 (f64.const 0))
(table 8 8 anyfunc)
(elem (i32.const 0) $nb $Oa $ob $Va $Ua $Ra $pb $Sa)
(func $eb (param $a i32) (result i32)
@@ -137,16 +170,11 @@
(local $Ra i32)
(local $Sa i32)
(set_local $b
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 16)
)
)
@@ -340,8 +368,7 @@
(set_local $p
(get_local $m)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -761,8 +788,7 @@
(set_local $p
(get_local $o)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -913,88 +939,90 @@
(set_local $s
(get_local $j)
)
- (loop $while-out$6 $while-in$7
- (set_local $j
- (i32.load
- (i32.add
- (get_local $g)
- (i32.const 16)
+ (loop $while-in$7
+ (block $while-out$6
+ (set_local $j
+ (i32.load
+ (i32.add
+ (get_local $g)
+ (i32.const 16)
+ )
)
)
- )
- (if
- (i32.eqz
- (get_local $j)
- )
- (block
- (set_local $f
- (i32.load
- (i32.add
- (get_local $g)
- (i32.const 20)
- )
- )
+ (if
+ (i32.eqz
+ (get_local $j)
)
- (if
- (i32.eqz
- (get_local $f)
+ (block
+ (set_local $f
+ (i32.load
+ (i32.add
+ (get_local $g)
+ (i32.const 20)
+ )
+ )
)
- (block
- (set_local $z
- (get_local $e)
+ (if
+ (i32.eqz
+ (get_local $f)
)
- (set_local $A
- (get_local $s)
+ (block
+ (set_local $z
+ (get_local $e)
+ )
+ (set_local $A
+ (get_local $s)
+ )
+ (br $while-out$6)
+ )
+ (set_local $B
+ (get_local $f)
)
- (br $while-out$6)
- )
- (set_local $B
- (get_local $f)
)
)
+ (set_local $B
+ (get_local $j)
+ )
)
- (set_local $B
- (get_local $j)
- )
- )
- (set_local $j
- (i32.sub
- (i32.and
- (i32.load
- (i32.add
- (get_local $B)
- (i32.const 4)
+ (set_local $j
+ (i32.sub
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $B)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $d)
)
- (get_local $d)
)
- )
- (set_local $f
- (i32.lt_u
- (get_local $j)
- (get_local $e)
+ (set_local $f
+ (i32.lt_u
+ (get_local $j)
+ (get_local $e)
+ )
)
- )
- (set_local $e
- (if
- (get_local $f)
- (get_local $j)
- (get_local $e)
+ (set_local $e
+ (if
+ (get_local $f)
+ (get_local $j)
+ (get_local $e)
+ )
)
- )
- (set_local $g
- (get_local $B)
- )
- (set_local $s
- (if
- (get_local $f)
+ (set_local $g
(get_local $B)
- (get_local $s)
)
+ (set_local $s
+ (if
+ (get_local $f)
+ (get_local $B)
+ (get_local $s)
+ )
+ )
+ (br $while-in$7)
)
- (br $while-in$7)
)
(set_local $s
(i32.load
@@ -1100,64 +1128,66 @@
)
)
)
- (loop $while-out$10 $while-in$11
- (set_local $q
- (i32.add
- (get_local $D)
- (i32.const 20)
- )
- )
- (set_local $u
- (i32.load
- (get_local $q)
- )
- )
- (if
- (get_local $u)
- (block
- (set_local $D
- (get_local $u)
+ (loop $while-in$11
+ (block $while-out$10
+ (set_local $q
+ (i32.add
+ (get_local $D)
+ (i32.const 20)
)
- (set_local $E
+ )
+ (set_local $u
+ (i32.load
(get_local $q)
)
- (br $while-in$11)
)
- )
- (set_local $q
- (i32.add
- (get_local $D)
- (i32.const 16)
- )
- )
- (set_local $u
- (i32.load
- (get_local $q)
- )
- )
- (if
- (i32.eqz
+ (if
(get_local $u)
+ (block
+ (set_local $D
+ (get_local $u)
+ )
+ (set_local $E
+ (get_local $q)
+ )
+ (br $while-in$11)
+ )
)
- (block
- (set_local $F
+ (set_local $q
+ (i32.add
(get_local $D)
+ (i32.const 16)
)
- (set_local $G
- (get_local $E)
+ )
+ (set_local $u
+ (i32.load
+ (get_local $q)
)
- (br $while-out$10)
)
- (block
- (set_local $D
+ (if
+ (i32.eqz
(get_local $u)
)
- (set_local $E
- (get_local $q)
+ (block
+ (set_local $F
+ (get_local $D)
+ )
+ (set_local $G
+ (get_local $E)
+ )
+ (br $while-out$10)
+ )
+ (block
+ (set_local $D
+ (get_local $u)
+ )
+ (set_local $E
+ (get_local $q)
+ )
)
)
+ (br $while-in$11)
)
- (br $while-in$11)
)
(if
(i32.lt_u
@@ -1646,8 +1676,7 @@
(i32.const 8)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -1875,156 +1904,158 @@
(set_local $i
(i32.const 0)
)
- (loop $while-out$17 $while-in$18
- (set_local $m
- (i32.and
- (i32.load
- (i32.add
- (get_local $o)
- (i32.const 4)
+ (loop $while-in$18
+ (block $while-out$17
+ (set_local $m
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $o)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
- )
- )
- (set_local $l
- (i32.sub
- (get_local $m)
- (get_local $e)
)
- )
- (if
- (i32.lt_u
- (get_local $l)
- (get_local $u)
- )
- (if
- (i32.eq
+ (set_local $l
+ (i32.sub
(get_local $m)
(get_local $e)
)
- (block
- (set_local $O
- (get_local $l)
- )
- (set_local $P
- (get_local $o)
+ )
+ (if
+ (i32.lt_u
+ (get_local $l)
+ (get_local $u)
+ )
+ (if
+ (i32.eq
+ (get_local $m)
+ (get_local $e)
)
- (set_local $Q
- (get_local $o)
+ (block
+ (set_local $O
+ (get_local $l)
+ )
+ (set_local $P
+ (get_local $o)
+ )
+ (set_local $Q
+ (get_local $o)
+ )
+ (set_local $N
+ (i32.const 90)
+ )
+ (br $label$break$a)
)
- (set_local $N
- (i32.const 90)
+ (block
+ (set_local $R
+ (get_local $l)
+ )
+ (set_local $S
+ (get_local $o)
+ )
)
- (br $label$break$a)
)
(block
(set_local $R
- (get_local $l)
+ (get_local $u)
)
(set_local $S
- (get_local $o)
+ (get_local $i)
)
)
)
- (block
- (set_local $R
- (get_local $u)
- )
- (set_local $S
- (get_local $i)
- )
- )
- )
- (set_local $l
- (i32.load
- (i32.add
- (get_local $o)
- (i32.const 20)
- )
- )
- )
- (set_local $o
- (i32.load
- (i32.add
+ (set_local $l
+ (i32.load
(i32.add
(get_local $o)
- (i32.const 16)
+ (i32.const 20)
)
- (i32.shl
- (i32.shr_u
- (get_local $s)
- (i32.const 31)
+ )
+ )
+ (set_local $o
+ (i32.load
+ (i32.add
+ (i32.add
+ (get_local $o)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $s)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (set_local $m
- (if
- (i32.or
- (i32.eq
- (get_local $l)
- (i32.const 0)
- )
- (i32.eq
- (get_local $l)
- (get_local $o)
+ (set_local $m
+ (if
+ (i32.or
+ (i32.eq
+ (get_local $l)
+ (i32.const 0)
+ )
+ (i32.eq
+ (get_local $l)
+ (get_local $o)
+ )
)
+ (get_local $j)
+ (get_local $l)
)
- (get_local $j)
- (get_local $l)
)
- )
- (set_local $l
- (i32.eq
- (get_local $o)
- (i32.const 0)
- )
- )
- (if
- (get_local $l)
- (block
- (set_local $K
- (get_local $R)
- )
- (set_local $L
- (get_local $m)
- )
- (set_local $M
- (get_local $S)
- )
- (set_local $N
- (i32.const 86)
+ (set_local $l
+ (i32.eq
+ (get_local $o)
+ (i32.const 0)
)
- (br $while-out$17)
)
- (block
- (set_local $u
- (get_local $R)
- )
- (set_local $j
- (get_local $m)
+ (if
+ (get_local $l)
+ (block
+ (set_local $K
+ (get_local $R)
+ )
+ (set_local $L
+ (get_local $m)
+ )
+ (set_local $M
+ (get_local $S)
+ )
+ (set_local $N
+ (i32.const 86)
+ )
+ (br $while-out$17)
)
- (set_local $s
- (i32.shl
- (get_local $s)
- (i32.xor
- (i32.and
- (get_local $l)
+ (block
+ (set_local $u
+ (get_local $R)
+ )
+ (set_local $j
+ (get_local $m)
+ )
+ (set_local $s
+ (i32.shl
+ (get_local $s)
+ (i32.xor
+ (i32.and
+ (get_local $l)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
)
)
- )
- (set_local $i
- (get_local $S)
+ (set_local $i
+ (get_local $S)
+ )
)
)
+ (br $while-in$18)
)
- (br $while-in$18)
)
)
)
@@ -2225,104 +2256,106 @@
(get_local $N)
(i32.const 90)
)
- (loop $while-out$19 $while-in$20
- (set_local $N
- (i32.const 0)
- )
- (set_local $i
- (i32.sub
- (i32.and
- (i32.load
- (i32.add
- (get_local $P)
- (i32.const 4)
+ (loop $while-in$20
+ (block $while-out$19
+ (set_local $N
+ (i32.const 0)
+ )
+ (set_local $i
+ (i32.sub
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $P)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $e)
)
- (get_local $e)
- )
- )
- (set_local $s
- (i32.lt_u
- (get_local $i)
- (get_local $O)
)
- )
- (set_local $g
- (if
- (get_local $s)
- (get_local $i)
- (get_local $O)
- )
- )
- (set_local $i
- (if
- (get_local $s)
- (get_local $P)
- (get_local $Q)
- )
- )
- (set_local $s
- (i32.load
- (i32.add
- (get_local $P)
- (i32.const 16)
+ (set_local $s
+ (i32.lt_u
+ (get_local $i)
+ (get_local $O)
)
)
- )
- (if
- (get_local $s)
- (block
- (set_local $O
- (get_local $g)
- )
- (set_local $P
+ (set_local $g
+ (if
(get_local $s)
- )
- (set_local $Q
(get_local $i)
+ (get_local $O)
)
- (set_local $N
- (i32.const 90)
- )
- (br $while-in$20)
)
- )
- (set_local $P
- (i32.load
- (i32.add
+ (set_local $i
+ (if
+ (get_local $s)
(get_local $P)
- (i32.const 20)
+ (get_local $Q)
)
)
- )
- (if
- (i32.eqz
- (get_local $P)
+ (set_local $s
+ (i32.load
+ (i32.add
+ (get_local $P)
+ (i32.const 16)
+ )
+ )
)
- (block
- (set_local $U
- (get_local $g)
+ (if
+ (get_local $s)
+ (block
+ (set_local $O
+ (get_local $g)
+ )
+ (set_local $P
+ (get_local $s)
+ )
+ (set_local $Q
+ (get_local $i)
+ )
+ (set_local $N
+ (i32.const 90)
+ )
+ (br $while-in$20)
)
- (set_local $V
- (get_local $i)
+ )
+ (set_local $P
+ (i32.load
+ (i32.add
+ (get_local $P)
+ (i32.const 20)
+ )
)
- (br $while-out$19)
)
- (block
- (set_local $O
- (get_local $g)
+ (if
+ (i32.eqz
+ (get_local $P)
)
- (set_local $Q
- (get_local $i)
+ (block
+ (set_local $U
+ (get_local $g)
+ )
+ (set_local $V
+ (get_local $i)
+ )
+ (br $while-out$19)
)
- (set_local $N
- (i32.const 90)
+ (block
+ (set_local $O
+ (get_local $g)
+ )
+ (set_local $Q
+ (get_local $i)
+ )
+ (set_local $N
+ (i32.const 90)
+ )
)
)
+ (br $while-in$20)
)
- (br $while-in$20)
)
)
(if
@@ -2447,64 +2480,66 @@
)
)
)
- (loop $while-out$23 $while-in$24
- (set_local $d
- (i32.add
- (get_local $X)
- (i32.const 20)
- )
- )
- (set_local $f
- (i32.load
- (get_local $d)
- )
- )
- (if
- (get_local $f)
- (block
- (set_local $X
- (get_local $f)
+ (loop $while-in$24
+ (block $while-out$23
+ (set_local $d
+ (i32.add
+ (get_local $X)
+ (i32.const 20)
)
- (set_local $Y
+ )
+ (set_local $f
+ (i32.load
(get_local $d)
)
- (br $while-in$24)
)
- )
- (set_local $d
- (i32.add
- (get_local $X)
- (i32.const 16)
- )
- )
- (set_local $f
- (i32.load
- (get_local $d)
- )
- )
- (if
- (i32.eqz
+ (if
(get_local $f)
+ (block
+ (set_local $X
+ (get_local $f)
+ )
+ (set_local $Y
+ (get_local $d)
+ )
+ (br $while-in$24)
+ )
)
- (block
- (set_local $Z
+ (set_local $d
+ (i32.add
(get_local $X)
+ (i32.const 16)
)
- (set_local $_
- (get_local $Y)
+ )
+ (set_local $f
+ (i32.load
+ (get_local $d)
)
- (br $while-out$23)
)
- (block
- (set_local $X
+ (if
+ (i32.eqz
(get_local $f)
)
- (set_local $Y
- (get_local $d)
+ (block
+ (set_local $Z
+ (get_local $X)
+ )
+ (set_local $_
+ (get_local $Y)
+ )
+ (br $while-out$23)
+ )
+ (block
+ (set_local $X
+ (get_local $f)
+ )
+ (set_local $Y
+ (get_local $d)
+ )
)
)
+ (br $while-in$24)
)
- (br $while-in$24)
)
(if
(i32.lt_u
@@ -3195,79 +3230,81 @@
(get_local $t)
)
)
- (loop $while-out$31 $while-in$32
- (if
- (i32.eq
- (i32.and
- (i32.load
- (i32.add
- (get_local $d)
- (i32.const 4)
+ (loop $while-in$32
+ (block $while-out$31
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $d)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $U)
- )
- (block
- (set_local $ca
- (get_local $d)
+ (get_local $U)
)
- (set_local $N
- (i32.const 148)
+ (block
+ (set_local $ca
+ (get_local $d)
+ )
+ (set_local $N
+ (i32.const 148)
+ )
+ (br $while-out$31)
)
- (br $while-out$31)
)
- )
- (set_local $t
- (i32.add
+ (set_local $t
(i32.add
- (get_local $d)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $q)
- (i32.const 31)
+ (i32.add
+ (get_local $d)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $q)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (set_local $s
- (i32.load
- (get_local $t)
- )
- )
- (if
- (i32.eqz
- (get_local $s)
- )
- (block
- (set_local $da
+ (set_local $s
+ (i32.load
(get_local $t)
)
- (set_local $ea
- (get_local $d)
- )
- (set_local $N
- (i32.const 145)
- )
- (br $while-out$31)
)
- (block
- (set_local $q
- (i32.shl
- (get_local $q)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $s)
+ )
+ (block
+ (set_local $da
+ (get_local $t)
+ )
+ (set_local $ea
+ (get_local $d)
)
+ (set_local $N
+ (i32.const 145)
+ )
+ (br $while-out$31)
)
- (set_local $d
- (get_local $s)
+ (block
+ (set_local $q
+ (i32.shl
+ (get_local $q)
+ (i32.const 1)
+ )
+ )
+ (set_local $d
+ (get_local $s)
+ )
)
)
+ (br $while-in$32)
)
- (br $while-in$32)
)
(if
(i32.eq
@@ -3393,8 +3430,7 @@
(i32.const 8)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -3527,8 +3563,7 @@
(i32.const 8)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -3598,8 +3633,7 @@
(i32.const 8)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -3701,8 +3735,7 @@
(set_local $p
(i32.const 0)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -3744,8 +3777,7 @@
(set_local $p
(i32.const 0)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -3783,66 +3815,68 @@
(set_local $aa
(i32.const 1656)
)
- (loop $while-out$35 $while-in$36
- (set_local $ba
- (i32.load
- (get_local $aa)
- )
- )
- (if
- (i32.le_u
- (get_local $ba)
- (get_local $U)
+ (loop $while-in$36
+ (block $while-out$35
+ (set_local $ba
+ (i32.load
+ (get_local $aa)
+ )
)
- (block
- (set_local $$
- (i32.add
- (get_local $aa)
- (i32.const 4)
- )
+ (if
+ (i32.le_u
+ (get_local $ba)
+ (get_local $U)
)
- (if
- (i32.gt_u
+ (block
+ (set_local $$
(i32.add
- (get_local $ba)
- (i32.load
- (get_local $$)
- )
+ (get_local $aa)
+ (i32.const 4)
)
- (get_local $U)
)
- (block
- (set_local $fa
- (get_local $aa)
+ (if
+ (i32.gt_u
+ (i32.add
+ (get_local $ba)
+ (i32.load
+ (get_local $$)
+ )
+ )
+ (get_local $U)
)
- (set_local $ga
- (get_local $$)
+ (block
+ (set_local $fa
+ (get_local $aa)
+ )
+ (set_local $ga
+ (get_local $$)
+ )
+ (br $while-out$35)
)
- (br $while-out$35)
)
)
)
- )
- (set_local $aa
- (i32.load
- (i32.add
- (get_local $aa)
- (i32.const 8)
+ (set_local $aa
+ (i32.load
+ (i32.add
+ (get_local $aa)
+ (i32.const 8)
+ )
)
)
- )
- (if
- (i32.eqz
- (get_local $aa)
- )
- (block
- (set_local $N
- (i32.const 171)
+ (if
+ (i32.eqz
+ (get_local $aa)
+ )
+ (block
+ (set_local $N
+ (i32.const 171)
+ )
+ (br $label$break$c)
)
- (br $label$break$c)
)
+ (br $while-in$36)
)
- (br $while-in$36)
)
(set_local $aa
(i32.and
@@ -4124,8 +4158,10 @@
(i32.const -1)
)
(block
- (call_import $ta
- (get_local $$)
+ (drop
+ (call_import $ta
+ (get_local $$)
+ )
)
(br $label$break$d)
)
@@ -4345,43 +4381,45 @@
(set_local $ma
(i32.const 0)
)
- (loop $do-out$44 $do-in$45
- (set_local $c
- (i32.add
- (i32.const 1248)
- (i32.shl
+ (loop $do-in$45
+ (block $do-out$44
+ (set_local $c
+ (i32.add
+ (i32.const 1248)
(i32.shl
- (get_local $ma)
- (i32.const 1)
+ (i32.shl
+ (get_local $ma)
+ (i32.const 1)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (i32.store
- (i32.add
+ (i32.store
+ (i32.add
+ (get_local $c)
+ (i32.const 12)
+ )
(get_local $c)
- (i32.const 12)
)
- (get_local $c)
- )
- (i32.store
- (i32.add
+ (i32.store
+ (i32.add
+ (get_local $c)
+ (i32.const 8)
+ )
(get_local $c)
- (i32.const 8)
)
- (get_local $c)
- )
- (set_local $ma
- (i32.add
- (get_local $ma)
- (i32.const 1)
+ (set_local $ma
+ (i32.add
+ (get_local $ma)
+ (i32.const 1)
+ )
)
- )
- (br_if $do-in$45
- (i32.ne
- (get_local $ma)
- (i32.const 32)
+ (br_if $do-in$45
+ (i32.ne
+ (get_local $ma)
+ (i32.const 32)
+ )
)
)
)
@@ -4464,64 +4502,66 @@
(set_local $ka
(i32.const 1656)
)
- (loop $do-out$46 $do-in$47
- (set_local $ma
- (i32.load
- (get_local $ka)
- )
- )
- (set_local $c
- (i32.add
- (get_local $ka)
- (i32.const 4)
- )
- )
- (set_local $ca
- (i32.load
- (get_local $c)
+ (loop $do-in$47
+ (block $do-out$46
+ (set_local $ma
+ (i32.load
+ (get_local $ka)
+ )
)
- )
- (if
- (i32.eq
- (get_local $ha)
+ (set_local $c
(i32.add
- (get_local $ma)
- (get_local $ca)
+ (get_local $ka)
+ (i32.const 4)
)
)
- (block
- (set_local $na
- (get_local $ma)
- )
- (set_local $oa
+ (set_local $ca
+ (i32.load
(get_local $c)
)
- (set_local $pa
- (get_local $ca)
+ )
+ (if
+ (i32.eq
+ (get_local $ha)
+ (i32.add
+ (get_local $ma)
+ (get_local $ca)
+ )
)
- (set_local $ra
- (get_local $ka)
+ (block
+ (set_local $na
+ (get_local $ma)
+ )
+ (set_local $oa
+ (get_local $c)
+ )
+ (set_local $pa
+ (get_local $ca)
+ )
+ (set_local $ra
+ (get_local $ka)
+ )
+ (set_local $N
+ (i32.const 201)
+ )
+ (br $do-out$46)
)
- (set_local $N
- (i32.const 201)
+ )
+ (set_local $ka
+ (i32.load
+ (i32.add
+ (get_local $ka)
+ (i32.const 8)
+ )
)
- (br $do-out$46)
)
- )
- (set_local $ka
- (i32.load
- (i32.add
+ (br_if $do-in$47
+ (i32.ne
(get_local $ka)
- (i32.const 8)
+ (i32.const 0)
)
)
)
- (br_if $do-in$47
- (i32.ne
- (get_local $ka)
- (i32.const 0)
- )
- )
)
(if
(i32.eq
@@ -4672,47 +4712,49 @@
(set_local $ka
(i32.const 1656)
)
- (loop $while-out$48 $while-in$49
- (if
- (i32.eq
- (i32.load
- (get_local $ka)
- )
- (get_local $c)
- )
- (block
- (set_local $ua
- (get_local $ka)
+ (loop $while-in$49
+ (block $while-out$48
+ (if
+ (i32.eq
+ (i32.load
+ (get_local $ka)
+ )
+ (get_local $c)
)
- (set_local $va
- (get_local $ka)
+ (block
+ (set_local $ua
+ (get_local $ka)
+ )
+ (set_local $va
+ (get_local $ka)
+ )
+ (set_local $N
+ (i32.const 209)
+ )
+ (br $while-out$48)
)
- (set_local $N
- (i32.const 209)
+ )
+ (set_local $ka
+ (i32.load
+ (i32.add
+ (get_local $ka)
+ (i32.const 8)
+ )
)
- (br $while-out$48)
)
- )
- (set_local $ka
- (i32.load
- (i32.add
+ (if
+ (i32.eqz
(get_local $ka)
- (i32.const 8)
)
- )
- )
- (if
- (i32.eqz
- (get_local $ka)
- )
- (block
- (set_local $wa
- (i32.const 1656)
+ (block
+ (set_local $wa
+ (i32.const 1656)
+ )
+ (br $while-out$48)
)
- (br $while-out$48)
)
+ (br $while-in$49)
)
- (br $while-in$49)
)
(if
(i32.eq
@@ -5165,64 +5207,66 @@
)
)
)
- (loop $while-out$59 $while-in$60
- (set_local $aa
- (i32.add
- (get_local $za)
- (i32.const 20)
- )
- )
- (set_local $ba
- (i32.load
- (get_local $aa)
- )
- )
- (if
- (get_local $ba)
- (block
- (set_local $za
- (get_local $ba)
+ (loop $while-in$60
+ (block $while-out$59
+ (set_local $aa
+ (i32.add
+ (get_local $za)
+ (i32.const 20)
)
- (set_local $Aa
+ )
+ (set_local $ba
+ (i32.load
(get_local $aa)
)
- (br $while-in$60)
- )
- )
- (set_local $aa
- (i32.add
- (get_local $za)
- (i32.const 16)
- )
- )
- (set_local $ba
- (i32.load
- (get_local $aa)
)
- )
- (if
- (i32.eqz
+ (if
(get_local $ba)
+ (block
+ (set_local $za
+ (get_local $ba)
+ )
+ (set_local $Aa
+ (get_local $aa)
+ )
+ (br $while-in$60)
+ )
)
- (block
- (set_local $Ba
+ (set_local $aa
+ (i32.add
(get_local $za)
+ (i32.const 16)
)
- (set_local $Ca
- (get_local $Aa)
+ )
+ (set_local $ba
+ (i32.load
+ (get_local $aa)
)
- (br $while-out$59)
)
- (block
- (set_local $za
+ (if
+ (i32.eqz
(get_local $ba)
)
- (set_local $Aa
- (get_local $aa)
+ (block
+ (set_local $Ba
+ (get_local $za)
+ )
+ (set_local $Ca
+ (get_local $Aa)
+ )
+ (br $while-out$59)
+ )
+ (block
+ (set_local $za
+ (get_local $ba)
+ )
+ (set_local $Aa
+ (get_local $aa)
+ )
)
)
+ (br $while-in$60)
)
- (br $while-in$60)
)
(if
(i32.lt_u
@@ -5912,79 +5956,81 @@
(get_local $e)
)
)
- (loop $while-out$69 $while-in$70
- (if
- (i32.eq
- (i32.and
- (i32.load
- (i32.add
- (get_local $la)
- (i32.const 4)
+ (loop $while-in$70
+ (block $while-out$69
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $la)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $Ea)
)
- (get_local $Ea)
- )
- (block
- (set_local $Ia
- (get_local $la)
- )
- (set_local $N
- (i32.const 279)
+ (block
+ (set_local $Ia
+ (get_local $la)
+ )
+ (set_local $N
+ (i32.const 279)
+ )
+ (br $while-out$69)
)
- (br $while-out$69)
)
- )
- (set_local $e
- (i32.add
+ (set_local $e
(i32.add
- (get_local $la)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $aa)
- (i32.const 31)
+ (i32.add
+ (get_local $la)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $aa)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (set_local $ga
- (i32.load
- (get_local $e)
- )
- )
- (if
- (i32.eqz
- (get_local $ga)
- )
- (block
- (set_local $Ja
+ (set_local $ga
+ (i32.load
(get_local $e)
)
- (set_local $Ka
- (get_local $la)
- )
- (set_local $N
- (i32.const 276)
- )
- (br $while-out$69)
)
- (block
- (set_local $aa
- (i32.shl
- (get_local $aa)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $ga)
+ )
+ (block
+ (set_local $Ja
+ (get_local $e)
+ )
+ (set_local $Ka
+ (get_local $la)
)
+ (set_local $N
+ (i32.const 276)
+ )
+ (br $while-out$69)
)
- (set_local $la
- (get_local $ga)
+ (block
+ (set_local $aa
+ (i32.shl
+ (get_local $aa)
+ (i32.const 1)
+ )
+ )
+ (set_local $la
+ (get_local $ga)
+ )
)
)
+ (br $while-in$70)
)
- (br $while-in$70)
)
(if
(i32.eq
@@ -6110,8 +6156,7 @@
(i32.const 8)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -6123,52 +6168,54 @@
)
)
)
- (loop $while-out$71 $while-in$72
- (set_local $ka
- (i32.load
- (get_local $wa)
- )
- )
- (if
- (i32.le_u
- (get_local $ka)
- (get_local $ja)
+ (loop $while-in$72
+ (block $while-out$71
+ (set_local $ka
+ (i32.load
+ (get_local $wa)
+ )
)
- (block
- (set_local $ea
- (i32.add
- (get_local $ka)
- (i32.load
- (i32.add
- (get_local $wa)
- (i32.const 4)
+ (if
+ (i32.le_u
+ (get_local $ka)
+ (get_local $ja)
+ )
+ (block
+ (set_local $ea
+ (i32.add
+ (get_local $ka)
+ (i32.load
+ (i32.add
+ (get_local $wa)
+ (i32.const 4)
+ )
)
)
)
- )
- (if
- (i32.gt_u
- (get_local $ea)
- (get_local $ja)
- )
- (block
- (set_local $La
+ (if
+ (i32.gt_u
(get_local $ea)
+ (get_local $ja)
+ )
+ (block
+ (set_local $La
+ (get_local $ea)
+ )
+ (br $while-out$71)
)
- (br $while-out$71)
)
)
)
- )
- (set_local $wa
- (i32.load
- (i32.add
- (get_local $wa)
- (i32.const 8)
+ (set_local $wa
+ (i32.load
+ (i32.add
+ (get_local $wa)
+ (i32.const 8)
+ )
)
)
+ (br $while-in$72)
)
- (br $while-in$72)
)
(set_local $ca
(i32.add
@@ -6365,24 +6412,26 @@
(i32.const 24)
)
)
- (loop $do-out$73 $do-in$74
- (set_local $ka
- (i32.add
- (get_local $ka)
- (i32.const 4)
- )
- )
- (i32.store
- (get_local $ka)
- (i32.const 7)
- )
- (br_if $do-in$74
- (i32.lt_u
+ (loop $do-in$74
+ (block $do-out$73
+ (set_local $ka
(i32.add
(get_local $ka)
(i32.const 4)
)
- (get_local $La)
+ )
+ (i32.store
+ (get_local $ka)
+ (i32.const 7)
+ )
+ (br_if $do-in$74
+ (i32.lt_u
+ (i32.add
+ (get_local $ka)
+ (i32.const 4)
+ )
+ (get_local $La)
+ )
)
)
)
@@ -6757,79 +6806,81 @@
(get_local $e)
)
)
- (loop $while-out$75 $while-in$76
- (if
- (i32.eq
- (i32.and
- (i32.load
- (i32.add
- (get_local $ga)
- (i32.const 4)
+ (loop $while-in$76
+ (block $while-out$75
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $ga)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $ka)
- )
- (block
- (set_local $Pa
- (get_local $ga)
+ (get_local $ka)
)
- (set_local $N
- (i32.const 305)
+ (block
+ (set_local $Pa
+ (get_local $ga)
+ )
+ (set_local $N
+ (i32.const 305)
+ )
+ (br $while-out$75)
)
- (br $while-out$75)
)
- )
- (set_local $e
- (i32.add
+ (set_local $e
(i32.add
- (get_local $ga)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $ma)
- (i32.const 31)
+ (i32.add
+ (get_local $ga)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $ma)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (set_local $la
- (i32.load
- (get_local $e)
- )
- )
- (if
- (i32.eqz
- (get_local $la)
- )
- (block
- (set_local $Ra
+ (set_local $la
+ (i32.load
(get_local $e)
)
- (set_local $Sa
- (get_local $ga)
- )
- (set_local $N
- (i32.const 302)
- )
- (br $while-out$75)
)
- (block
- (set_local $ma
- (i32.shl
- (get_local $ma)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $la)
+ )
+ (block
+ (set_local $Ra
+ (get_local $e)
+ )
+ (set_local $Sa
+ (get_local $ga)
+ )
+ (set_local $N
+ (i32.const 302)
)
+ (br $while-out$75)
)
- (set_local $ga
- (get_local $la)
+ (block
+ (set_local $ma
+ (i32.shl
+ (get_local $ma)
+ (i32.const 1)
+ )
+ )
+ (set_local $ga
+ (get_local $la)
+ )
)
)
+ (br $while-in$76)
)
- (br $while-in$76)
)
(if
(i32.eq
@@ -7013,8 +7064,7 @@
(i32.const 8)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -7034,8 +7084,7 @@
(set_local $p
(i32.const 0)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -7481,64 +7530,66 @@
)
)
)
- (loop $while-out$4 $while-in$5
- (set_local $l
- (i32.add
- (get_local $t)
- (i32.const 20)
- )
- )
- (set_local $q
- (i32.load
- (get_local $l)
- )
- )
- (if
- (get_local $q)
- (block
- (set_local $t
- (get_local $q)
+ (loop $while-in$5
+ (block $while-out$4
+ (set_local $l
+ (i32.add
+ (get_local $t)
+ (i32.const 20)
)
- (set_local $u
+ )
+ (set_local $q
+ (i32.load
(get_local $l)
)
- (br $while-in$5)
- )
- )
- (set_local $l
- (i32.add
- (get_local $t)
- (i32.const 16)
)
- )
- (set_local $q
- (i32.load
- (get_local $l)
- )
- )
- (if
- (i32.eqz
+ (if
(get_local $q)
+ (block
+ (set_local $t
+ (get_local $q)
+ )
+ (set_local $u
+ (get_local $l)
+ )
+ (br $while-in$5)
+ )
)
- (block
- (set_local $v
+ (set_local $l
+ (i32.add
(get_local $t)
+ (i32.const 16)
)
- (set_local $w
- (get_local $u)
+ )
+ (set_local $q
+ (i32.load
+ (get_local $l)
)
- (br $while-out$4)
)
- (block
- (set_local $t
+ (if
+ (i32.eqz
(get_local $q)
)
- (set_local $u
- (get_local $l)
+ (block
+ (set_local $v
+ (get_local $t)
+ )
+ (set_local $w
+ (get_local $u)
+ )
+ (br $while-out$4)
+ )
+ (block
+ (set_local $t
+ (get_local $q)
+ )
+ (set_local $u
+ (get_local $l)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(if
(i32.lt_u
@@ -8238,64 +8289,66 @@
)
)
)
- (loop $while-out$12 $while-in$13
- (set_local $t
- (i32.add
- (get_local $z)
- (i32.const 20)
- )
- )
- (set_local $p
- (i32.load
- (get_local $t)
- )
- )
- (if
- (get_local $p)
- (block
- (set_local $z
- (get_local $p)
+ (loop $while-in$13
+ (block $while-out$12
+ (set_local $t
+ (i32.add
+ (get_local $z)
+ (i32.const 20)
)
- (set_local $A
+ )
+ (set_local $p
+ (i32.load
(get_local $t)
)
- (br $while-in$13)
- )
- )
- (set_local $t
- (i32.add
- (get_local $z)
- (i32.const 16)
)
- )
- (set_local $p
- (i32.load
- (get_local $t)
- )
- )
- (if
- (i32.eqz
+ (if
(get_local $p)
+ (block
+ (set_local $z
+ (get_local $p)
+ )
+ (set_local $A
+ (get_local $t)
+ )
+ (br $while-in$13)
+ )
)
- (block
- (set_local $B
+ (set_local $t
+ (i32.add
(get_local $z)
+ (i32.const 16)
)
- (set_local $C
- (get_local $A)
+ )
+ (set_local $p
+ (i32.load
+ (get_local $t)
)
- (br $while-out$12)
)
- (block
- (set_local $z
+ (if
+ (i32.eqz
(get_local $p)
)
- (set_local $A
- (get_local $t)
+ (block
+ (set_local $B
+ (get_local $z)
+ )
+ (set_local $C
+ (get_local $A)
+ )
+ (br $while-out$12)
+ )
+ (block
+ (set_local $z
+ (get_local $p)
+ )
+ (set_local $A
+ (get_local $t)
+ )
)
)
+ (br $while-in$13)
)
- (br $while-in$13)
)
(if
(i32.lt_u
@@ -8987,79 +9040,81 @@
(get_local $s)
)
)
- (loop $while-out$18 $while-in$19
- (if
- (i32.eq
- (i32.and
- (i32.load
- (i32.add
- (get_local $b)
- (i32.const 4)
+ (loop $while-in$19
+ (block $while-out$18
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $b)
+ (i32.const 4)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
- )
- (get_local $D)
- )
- (block
- (set_local $H
- (get_local $b)
+ (get_local $D)
)
- (set_local $I
- (i32.const 130)
+ (block
+ (set_local $H
+ (get_local $b)
+ )
+ (set_local $I
+ (i32.const 130)
+ )
+ (br $while-out$18)
)
- (br $while-out$18)
)
- )
- (set_local $n
- (i32.add
+ (set_local $n
(i32.add
- (get_local $b)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $F)
- (i32.const 31)
+ (i32.add
+ (get_local $b)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $F)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
- )
- (set_local $y
- (i32.load
- (get_local $n)
- )
- )
- (if
- (i32.eqz
- (get_local $y)
- )
- (block
- (set_local $J
+ (set_local $y
+ (i32.load
(get_local $n)
)
- (set_local $K
- (get_local $b)
- )
- (set_local $I
- (i32.const 127)
- )
- (br $while-out$18)
)
- (block
- (set_local $F
- (i32.shl
- (get_local $F)
- (i32.const 1)
+ (if
+ (i32.eqz
+ (get_local $y)
+ )
+ (block
+ (set_local $J
+ (get_local $n)
+ )
+ (set_local $K
+ (get_local $b)
)
+ (set_local $I
+ (i32.const 127)
+ )
+ (br $while-out$18)
)
- (set_local $b
- (get_local $y)
+ (block
+ (set_local $F
+ (i32.shl
+ (get_local $F)
+ (i32.const 1)
+ )
+ )
+ (set_local $b
+ (get_local $y)
+ )
)
)
+ (br $while-in$19)
)
- (br $while-in$19)
)
(if
(i32.eq
@@ -9200,25 +9255,27 @@
)
(return)
)
- (loop $while-out$20 $while-in$21
- (set_local $m
- (i32.load
- (get_local $L)
- )
- )
- (if
- (i32.eqz
- (get_local $m)
+ (loop $while-in$21
+ (block $while-out$20
+ (set_local $m
+ (i32.load
+ (get_local $L)
+ )
)
- (br $while-out$20)
- (set_local $L
- (i32.add
+ (if
+ (i32.eqz
(get_local $m)
- (i32.const 8)
+ )
+ (br $while-out$20)
+ (set_local $L
+ (i32.add
+ (get_local $m)
+ (i32.const 8)
+ )
)
)
+ (br $while-in$21)
)
- (br $while-in$21)
)
(i32.store
(i32.const 1240)
@@ -9249,16 +9306,11 @@
(local $y i32)
(local $z i32)
(set_local $d
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 48)
)
)
@@ -9351,247 +9403,249 @@
(get_local $c)
)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.load
- (i32.const 1160)
- )
- )
- (block
- (i32.store
- (get_local $e)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eqz
(i32.load
- (get_local $b)
+ (i32.const 1160)
)
)
- (i32.store
- (i32.add
+ (block
+ (i32.store
(get_local $e)
- (i32.const 4)
+ (i32.load
+ (get_local $b)
+ )
)
- (get_local $m)
- )
- (i32.store
- (i32.add
- (get_local $e)
- (i32.const 8)
+ (i32.store
+ (i32.add
+ (get_local $e)
+ (i32.const 4)
+ )
+ (get_local $m)
)
- (get_local $g)
- )
- (set_local $o
- (call $Pa
- (call_import $ya
- (i32.const 146)
+ (i32.store
+ (i32.add
(get_local $e)
+ (i32.const 8)
)
+ (get_local $g)
)
- )
- )
- (block
- (call_import $ra
- (i32.const 1)
- (get_local $a)
- )
- (i32.store
- (get_local $f)
- (i32.load
- (get_local $b)
+ (set_local $o
+ (call $Pa
+ (call_import $ya
+ (i32.const 146)
+ (get_local $e)
+ )
+ )
)
)
- (i32.store
- (i32.add
- (get_local $f)
- (i32.const 4)
+ (block
+ (call_import $ra
+ (i32.const 1)
+ (get_local $a)
)
- (get_local $m)
- )
- (i32.store
- (i32.add
+ (i32.store
(get_local $f)
- (i32.const 8)
+ (i32.load
+ (get_local $b)
+ )
)
- (get_local $g)
- )
- (set_local $l
- (call $Pa
- (call_import $ya
- (i32.const 146)
+ (i32.store
+ (i32.add
(get_local $f)
+ (i32.const 4)
)
+ (get_local $m)
+ )
+ (i32.store
+ (i32.add
+ (get_local $f)
+ (i32.const 8)
+ )
+ (get_local $g)
+ )
+ (set_local $l
+ (call $Pa
+ (call_import $ya
+ (i32.const 146)
+ (get_local $f)
+ )
+ )
+ )
+ (call_import $oa
+ (i32.const 0)
+ )
+ (set_local $o
+ (get_local $l)
)
)
- (call_import $oa
- (i32.const 0)
- )
- (set_local $o
- (get_local $l)
- )
- )
- )
- (if
- (i32.eq
- (get_local $n)
- (get_local $o)
- )
- (block
- (set_local $p
- (i32.const 6)
- )
- (br $while-out$0)
- )
- )
- (if
- (i32.lt_s
- (get_local $o)
- (i32.const 0)
- )
- (block
- (set_local $q
- (get_local $m)
- )
- (set_local $s
- (get_local $g)
- )
- (set_local $p
- (i32.const 8)
- )
- (br $while-out$0)
)
- )
- (set_local $l
- (i32.sub
- (get_local $n)
- (get_local $o)
- )
- )
- (set_local $t
- (i32.load
- (i32.add
- (get_local $m)
- (i32.const 4)
+ (if
+ (i32.eq
+ (get_local $n)
+ (get_local $o)
)
- )
- )
- (if
- (i32.gt_u
- (get_local $o)
- (get_local $t)
- )
- (block
- (set_local $u
- (i32.load
- (get_local $i)
+ (block
+ (set_local $p
+ (i32.const 6)
)
+ (br $while-out$0)
)
- (i32.store
- (get_local $h)
- (get_local $u)
- )
- (i32.store
- (get_local $j)
- (get_local $u)
+ )
+ (if
+ (i32.lt_s
+ (get_local $o)
+ (i32.const 0)
)
- (set_local $v
- (i32.load
- (i32.add
- (get_local $m)
- (i32.const 12)
- )
+ (block
+ (set_local $q
+ (get_local $m)
)
- )
- (set_local $w
- (i32.sub
- (get_local $o)
- (get_local $t)
+ (set_local $s
+ (get_local $g)
)
- )
- (set_local $x
- (i32.add
- (get_local $m)
+ (set_local $p
(i32.const 8)
)
+ (br $while-out$0)
)
- (set_local $y
+ )
+ (set_local $l
+ (i32.sub
+ (get_local $n)
+ (get_local $o)
+ )
+ )
+ (set_local $t
+ (i32.load
(i32.add
- (get_local $g)
- (i32.const -1)
+ (get_local $m)
+ (i32.const 4)
)
)
)
(if
- (i32.eq
- (get_local $g)
- (i32.const 2)
+ (i32.gt_u
+ (get_local $o)
+ (get_local $t)
)
(block
+ (set_local $u
+ (i32.load
+ (get_local $i)
+ )
+ )
(i32.store
(get_local $h)
- (i32.add
- (i32.load
- (get_local $h)
- )
- (get_local $o)
- )
+ (get_local $u)
+ )
+ (i32.store
+ (get_local $j)
+ (get_local $u)
)
(set_local $v
- (get_local $t)
+ (i32.load
+ (i32.add
+ (get_local $m)
+ (i32.const 12)
+ )
+ )
)
(set_local $w
- (get_local $o)
+ (i32.sub
+ (get_local $o)
+ (get_local $t)
+ )
)
(set_local $x
- (get_local $m)
+ (i32.add
+ (get_local $m)
+ (i32.const 8)
+ )
)
(set_local $y
- (i32.const 2)
+ (i32.add
+ (get_local $g)
+ (i32.const -1)
+ )
)
)
- (block
- (set_local $v
- (get_local $t)
+ (if
+ (i32.eq
+ (get_local $g)
+ (i32.const 2)
)
- (set_local $w
- (get_local $o)
+ (block
+ (i32.store
+ (get_local $h)
+ (i32.add
+ (i32.load
+ (get_local $h)
+ )
+ (get_local $o)
+ )
+ )
+ (set_local $v
+ (get_local $t)
+ )
+ (set_local $w
+ (get_local $o)
+ )
+ (set_local $x
+ (get_local $m)
+ )
+ (set_local $y
+ (i32.const 2)
+ )
)
- (set_local $x
- (get_local $m)
+ (block
+ (set_local $v
+ (get_local $t)
+ )
+ (set_local $w
+ (get_local $o)
+ )
+ (set_local $x
+ (get_local $m)
+ )
+ (set_local $y
+ (get_local $g)
+ )
)
- (set_local $y
- (get_local $g)
+ )
+ )
+ (i32.store
+ (get_local $x)
+ (i32.add
+ (i32.load
+ (get_local $x)
)
+ (get_local $w)
)
)
- )
- (i32.store
- (get_local $x)
- (i32.add
- (i32.load
+ (i32.store
+ (i32.add
(get_local $x)
+ (i32.const 4)
+ )
+ (i32.sub
+ (get_local $v)
+ (get_local $w)
)
- (get_local $w)
)
- )
- (i32.store
- (i32.add
+ (set_local $m
(get_local $x)
- (i32.const 4)
)
- (i32.sub
- (get_local $v)
- (get_local $w)
+ (set_local $g
+ (get_local $y)
)
+ (set_local $n
+ (get_local $l)
+ )
+ (br $while-in$1)
)
- (set_local $m
- (get_local $x)
- )
- (set_local $g
- (get_local $y)
- )
- (set_local $n
- (get_local $l)
- )
- (br $while-in$1)
)
(if
(i32.eq
@@ -9687,8 +9741,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $d)
)
(return
@@ -9784,6 +9837,9 @@
(block
(set_local $h
(call_indirect $FUNCSIG$iiii
+ (get_local $c)
+ (get_local $a)
+ (get_local $b)
(i32.add
(i32.and
(i32.load
@@ -9796,9 +9852,6 @@
)
(i32.const 2)
)
- (get_local $c)
- (get_local $a)
- (get_local $b)
)
)
(br $label$break$a)
@@ -9819,58 +9872,63 @@
(set_local $d
(get_local $b)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (get_local $d)
- )
- (block
- (set_local $l
- (get_local $b)
- )
- (set_local $m
- (get_local $a)
- )
- (set_local $n
- (get_local $j)
- )
- (set_local $o
- (i32.const 0)
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (get_local $d)
)
- (br $label$break$b)
- )
- )
- (set_local $p
- (i32.add
- (get_local $d)
- (i32.const -1)
- )
- )
- (if
- (i32.eq
- (i32.load8_s
- (i32.add
+ (block
+ (set_local $l
+ (get_local $b)
+ )
+ (set_local $m
(get_local $a)
- (get_local $p)
)
+ (set_local $n
+ (get_local $j)
+ )
+ (set_local $o
+ (i32.const 0)
+ )
+ (br $label$break$b)
)
- (i32.const 10)
)
- (block
- (set_local $q
+ (set_local $p
+ (i32.add
(get_local $d)
+ (i32.const -1)
)
- (br $while-out$2)
)
- (set_local $d
- (get_local $p)
+ (if
+ (i32.eq
+ (i32.load8_s
+ (i32.add
+ (get_local $a)
+ (get_local $p)
+ )
+ )
+ (i32.const 10)
+ )
+ (block
+ (set_local $q
+ (get_local $d)
+ )
+ (br $while-out$2)
+ )
+ (set_local $d
+ (get_local $p)
+ )
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
(if
(i32.lt_u
(call_indirect $FUNCSIG$iiii
+ (get_local $c)
+ (get_local $a)
+ (get_local $q)
(i32.add
(i32.and
(i32.load
@@ -9883,9 +9941,6 @@
)
(i32.const 2)
)
- (get_local $c)
- (get_local $a)
- (get_local $q)
)
(get_local $q)
)
@@ -9933,10 +9988,12 @@
)
)
)
- (call $jb
- (get_local $n)
- (get_local $m)
- (get_local $l)
+ (drop
+ (call $jb
+ (get_local $n)
+ (get_local $m)
+ (get_local $l)
+ )
)
(i32.store
(get_local $e)
@@ -9997,50 +10054,52 @@
(set_local $f
(get_local $b)
)
- (loop $while-out$1 $while-in$2
- (if
- (i32.eqz
- (i32.load8_s
- (get_local $e)
+ (loop $while-in$2
+ (block $while-out$1
+ (if
+ (i32.eqz
+ (i32.load8_s
+ (get_local $e)
+ )
+ )
+ (block
+ (set_local $g
+ (get_local $f)
+ )
+ (br $label$break$a)
)
)
- (block
- (set_local $g
- (get_local $f)
+ (set_local $h
+ (i32.add
+ (get_local $e)
+ (i32.const 1)
)
- (br $label$break$a)
)
- )
- (set_local $h
- (i32.add
- (get_local $e)
- (i32.const 1)
+ (set_local $f
+ (get_local $h)
)
- )
- (set_local $f
- (get_local $h)
- )
- (if
- (i32.eqz
- (i32.and
- (get_local $f)
- (i32.const 3)
+ (if
+ (i32.eqz
+ (i32.and
+ (get_local $f)
+ (i32.const 3)
+ )
)
- )
- (block
- (set_local $c
- (get_local $h)
+ (block
+ (set_local $c
+ (get_local $h)
+ )
+ (set_local $d
+ (i32.const 4)
+ )
+ (br $while-out$1)
)
- (set_local $d
- (i32.const 4)
+ (set_local $e
+ (get_local $h)
)
- (br $while-out$1)
- )
- (set_local $e
- (get_local $h)
)
+ (br $while-in$2)
)
- (br $while-in$2)
)
)
)
@@ -10054,45 +10113,47 @@
(set_local $d
(get_local $c)
)
- (loop $while-out$3 $while-in$4
- (set_local $c
- (i32.load
- (get_local $d)
+ (loop $while-in$4
+ (block $while-out$3
+ (set_local $c
+ (i32.load
+ (get_local $d)
+ )
)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.xor
- (i32.and
- (get_local $c)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.xor
+ (i32.and
+ (get_local $c)
+ (i32.const -2139062144)
+ )
(i32.const -2139062144)
)
- (i32.const -2139062144)
+ (i32.add
+ (get_local $c)
+ (i32.const -16843009)
+ )
)
+ )
+ (set_local $d
(i32.add
- (get_local $c)
- (i32.const -16843009)
+ (get_local $d)
+ (i32.const 4)
)
)
- )
- (set_local $d
- (i32.add
- (get_local $d)
- (i32.const 4)
- )
- )
- (block
- (set_local $j
- (get_local $c)
- )
- (set_local $l
- (get_local $d)
+ (block
+ (set_local $j
+ (get_local $c)
+ )
+ (set_local $l
+ (get_local $d)
+ )
+ (br $while-out$3)
)
- (br $while-out$3)
)
+ (br $while-in$4)
)
- (br $while-in$4)
)
(if
(i32.eqz
@@ -10114,30 +10175,32 @@
(set_local $j
(get_local $l)
)
- (loop $while-out$5 $while-in$6
- (set_local $l
- (i32.add
- (get_local $j)
- (i32.const 1)
- )
- )
- (if
- (i32.eqz
- (i32.load8_s
- (get_local $l)
+ (loop $while-in$6
+ (block $while-out$5
+ (set_local $l
+ (i32.add
+ (get_local $j)
+ (i32.const 1)
)
)
- (block
- (set_local $m
+ (if
+ (i32.eqz
+ (i32.load8_s
+ (get_local $l)
+ )
+ )
+ (block
+ (set_local $m
+ (get_local $l)
+ )
+ (br $while-out$5)
+ )
+ (set_local $j
(get_local $l)
)
- (br $while-out$5)
- )
- (set_local $j
- (get_local $l)
)
+ (br $while-in$6)
)
- (br $while-in$6)
)
)
)
@@ -10206,82 +10269,84 @@
(set_local $c
(get_local $b)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.gt_s
- (i32.load
- (i32.add
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.gt_s
+ (i32.load
+ (i32.add
+ (get_local $e)
+ (i32.const 76)
+ )
+ )
+ (i32.const -1)
+ )
+ (set_local $f
+ (call $Ya
(get_local $e)
- (i32.const 76)
)
)
- (i32.const -1)
- )
- (set_local $f
- (call $Ya
- (get_local $e)
+ (set_local $f
+ (i32.const 0)
)
)
- (set_local $f
- (i32.const 0)
- )
- )
- (if
- (i32.gt_u
- (i32.load
- (i32.add
- (get_local $e)
- (i32.const 20)
+ (if
+ (i32.gt_u
+ (i32.load
+ (i32.add
+ (get_local $e)
+ (i32.const 20)
+ )
)
- )
- (i32.load
- (i32.add
- (get_local $e)
- (i32.const 28)
+ (i32.load
+ (i32.add
+ (get_local $e)
+ (i32.const 28)
+ )
)
)
- )
- (set_local $g
- (i32.or
- (call $$a
- (get_local $e)
+ (set_local $g
+ (i32.or
+ (call $$a
+ (get_local $e)
+ )
+ (get_local $c)
)
+ )
+ (set_local $g
(get_local $c)
)
)
- (set_local $g
- (get_local $c)
- )
- )
- (if
- (get_local $f)
- (call $Ta
- (get_local $e)
- )
- )
- (set_local $e
- (i32.load
- (i32.add
+ (if
+ (get_local $f)
+ (call $Ta
(get_local $e)
- (i32.const 56)
)
)
- )
- (if
- (i32.eqz
- (get_local $e)
+ (set_local $e
+ (i32.load
+ (i32.add
+ (get_local $e)
+ (i32.const 56)
+ )
+ )
)
- (block
- (set_local $d
+ (if
+ (i32.eqz
+ (get_local $e)
+ )
+ (block
+ (set_local $d
+ (get_local $g)
+ )
+ (br $while-out$2)
+ )
+ (set_local $c
(get_local $g)
)
- (br $while-out$2)
- )
- (set_local $c
- (get_local $g)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
@@ -10357,16 +10422,11 @@
(local $m i32)
(local $n i32)
(set_local $c
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 16)
)
)
@@ -10490,6 +10550,9 @@
(if
(i32.eq
(call_indirect $FUNCSIG$iiii
+ (get_local $a)
+ (get_local $d)
+ (i32.const 1)
(i32.add
(i32.and
(i32.load
@@ -10502,9 +10565,6 @@
)
(i32.const 2)
)
- (get_local $a)
- (get_local $d)
- (i32.const 1)
)
(i32.const 1)
)
@@ -10520,8 +10580,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $c)
)
(return
@@ -10558,22 +10617,24 @@
)
)
(block
- (call_indirect $FUNCSIG$iiii
- (i32.add
- (i32.and
- (i32.load
- (i32.add
- (get_local $a)
- (i32.const 36)
+ (drop
+ (call_indirect $FUNCSIG$iiii
+ (get_local $a)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load
+ (i32.add
+ (get_local $a)
+ (i32.const 36)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 2)
)
- (i32.const 2)
)
- (get_local $a)
- (i32.const 0)
- (i32.const 0)
)
(if
(i32.eqz
@@ -10627,6 +10688,12 @@
(get_local $h)
)
(call_indirect $FUNCSIG$iiii
+ (get_local $a)
+ (i32.sub
+ (get_local $f)
+ (get_local $h)
+ )
+ (i32.const 1)
(i32.add
(i32.and
(i32.load
@@ -10639,12 +10706,6 @@
)
(i32.const 2)
)
- (get_local $a)
- (i32.sub
- (get_local $f)
- (get_local $h)
- )
- (i32.const 1)
)
)
(i32.store
@@ -10709,129 +10770,135 @@
)
)
(block
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.and
- (get_local $a)
- (i32.const 3)
- )
- )
- (br $while-out$0)
- )
- (block
+ (loop $while-in$1
+ (block $while-out$0
(if
(i32.eqz
- (get_local $c)
- )
- (return
- (get_local $d)
+ (i32.and
+ (get_local $a)
+ (i32.const 3)
+ )
)
+ (br $while-out$0)
)
- (i32.store8
- (get_local $a)
- (i32.load8_s
- (get_local $b)
+ (block
+ (if
+ (i32.eqz
+ (get_local $c)
+ )
+ (return
+ (get_local $d)
+ )
)
- )
- (set_local $a
- (i32.add
+ (i32.store8
(get_local $a)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $b)
+ )
)
- )
- (set_local $b
- (i32.add
- (get_local $b)
- (i32.const 1)
+ (set_local $a
+ (i32.add
+ (get_local $a)
+ (i32.const 1)
+ )
)
- )
- (set_local $c
- (i32.sub
- (get_local $c)
- (i32.const 1)
+ (set_local $b
+ (i32.add
+ (get_local $b)
+ (i32.const 1)
+ )
)
- )
- )
- (br $while-in$1)
- )
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (i32.ge_s
- (get_local $c)
- (i32.const 4)
+ (set_local $c
+ (i32.sub
+ (get_local $c)
+ (i32.const 1)
+ )
)
)
- (br $while-out$2)
+ (br $while-in$1)
)
- (block
- (i32.store
- (get_local $a)
- (i32.load
- (get_local $b)
+ )
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (i32.ge_s
+ (get_local $c)
+ (i32.const 4)
+ )
)
+ (br $while-out$2)
)
- (set_local $a
- (i32.add
+ (block
+ (i32.store
(get_local $a)
- (i32.const 4)
+ (i32.load
+ (get_local $b)
+ )
)
- )
- (set_local $b
- (i32.add
- (get_local $b)
- (i32.const 4)
+ (set_local $a
+ (i32.add
+ (get_local $a)
+ (i32.const 4)
+ )
)
- )
- (set_local $c
- (i32.sub
- (get_local $c)
- (i32.const 4)
+ (set_local $b
+ (i32.add
+ (get_local $b)
+ (i32.const 4)
+ )
+ )
+ (set_local $c
+ (i32.sub
+ (get_local $c)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.eqz
- (i32.gt_s
- (get_local $c)
- (i32.const 0)
- )
- )
- (br $while-out$4)
- )
- (block
- (i32.store8
- (get_local $a)
- (i32.load8_s
- (get_local $b)
+ (loop $while-in$5
+ (block $while-out$4
+ (if
+ (i32.eqz
+ (i32.gt_s
+ (get_local $c)
+ (i32.const 0)
+ )
)
+ (br $while-out$4)
)
- (set_local $a
- (i32.add
+ (block
+ (i32.store8
(get_local $a)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $b)
+ )
)
- )
- (set_local $b
- (i32.add
- (get_local $b)
- (i32.const 1)
+ (set_local $a
+ (i32.add
+ (get_local $a)
+ (i32.const 1)
+ )
)
- )
- (set_local $c
- (i32.sub
- (get_local $c)
- (i32.const 1)
+ (set_local $b
+ (i32.add
+ (get_local $b)
+ (i32.const 1)
+ )
+ )
+ (set_local $c
+ (i32.sub
+ (get_local $c)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(return
(get_local $d)
@@ -10911,81 +10978,87 @@
(get_local $e)
)
)
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $a)
- (get_local $e)
+ (loop $while-in$1
+ (block $while-out$0
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $a)
+ (get_local $e)
+ )
)
+ (br $while-out$0)
)
- (br $while-out$0)
- )
- (block
- (i32.store8
- (get_local $a)
- (get_local $b)
- )
- (set_local $a
- (i32.add
+ (block
+ (i32.store8
(get_local $a)
- (i32.const 1)
+ (get_local $b)
+ )
+ (set_local $a
+ (i32.add
+ (get_local $a)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$1)
)
- (br $while-in$1)
)
)
)
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $a)
- (get_local $g)
+ (loop $while-in$3
+ (block $while-out$2
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $a)
+ (get_local $g)
+ )
)
+ (br $while-out$2)
)
- (br $while-out$2)
- )
- (block
- (i32.store
- (get_local $a)
- (get_local $f)
- )
- (set_local $a
- (i32.add
+ (block
+ (i32.store
(get_local $a)
- (i32.const 4)
+ (get_local $f)
+ )
+ (set_local $a
+ (i32.add
+ (get_local $a)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $a)
- (get_local $d)
+ (loop $while-in$5
+ (block $while-out$4
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $a)
+ (get_local $d)
+ )
)
+ (br $while-out$4)
)
- (br $while-out$4)
- )
- (block
- (i32.store8
- (get_local $a)
- (get_local $b)
- )
- (set_local $a
- (i32.add
+ (block
+ (i32.store8
(get_local $a)
- (i32.const 1)
+ (get_local $b)
+ )
+ (set_local $a
+ (i32.add
+ (get_local $a)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(return
(i32.sub
@@ -11313,16 +11386,11 @@
(local $f i32)
(local $g i32)
(set_local $d
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 32)
)
)
@@ -11397,8 +11465,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $d)
)
(return
@@ -11409,16 +11476,11 @@
(local $d i32)
(local $e i32)
(set_local $d
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 80)
)
)
@@ -11490,8 +11552,7 @@
(get_local $c)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $d)
)
(return
@@ -11500,18 +11561,14 @@
)
(func $Ka (param $a i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s
(get_local $a)
)
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 1)
)
(i32.load8_s
@@ -11523,9 +11580,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 2)
)
(i32.load8_s
@@ -11537,9 +11592,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 3)
)
(i32.load8_s
@@ -11551,9 +11604,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 4)
)
(i32.load8_s
@@ -11565,9 +11616,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 5)
)
(i32.load8_s
@@ -11579,9 +11628,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 6)
)
(i32.load8_s
@@ -11593,9 +11640,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 7)
)
(i32.load8_s
@@ -11610,16 +11655,11 @@
(local $b i32)
(local $c i32)
(set_local $b
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 16)
)
)
@@ -11643,8 +11683,7 @@
)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $b)
)
(return
@@ -11684,18 +11723,14 @@
)
(func $Ja (param $a i32)
(i32.store8
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.load8_s
(get_local $a)
)
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 1)
)
(i32.load8_s
@@ -11707,9 +11742,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 2)
)
(i32.load8_s
@@ -11721,9 +11754,7 @@
)
(i32.store8
(i32.add
- (i32.load
- (i32.const 24)
- )
+ (get_global $t)
(i32.const 3)
)
(i32.load8_s
@@ -11767,6 +11798,9 @@
(func $lb (param $a i32) (param $b i32) (param $c i32) (param $d i32) (result i32)
(return
(call_indirect $FUNCSIG$iiii
+ (get_local $b)
+ (get_local $c)
+ (get_local $d)
(i32.add
(i32.and
(get_local $a)
@@ -11774,35 +11808,24 @@
)
(i32.const 2)
)
- (get_local $b)
- (get_local $c)
- (get_local $d)
)
)
)
(func $Ea (param $a i32) (result i32)
(local $b i32)
(set_local $b
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(get_local $a)
)
)
- (i32.store
- (i32.const 8)
+ (set_global $r
(i32.and
(i32.add
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
(i32.const 15)
)
(i32.const -16)
@@ -11838,17 +11861,13 @@
(func $Ia (param $a i32) (param $b i32)
(if
(i32.eqz
- (i32.load
- (i32.const 40)
- )
+ (get_global $v)
)
(block
- (i32.store
- (i32.const 40)
+ (set_global $v
(get_local $a)
)
- (i32.store
- (i32.const 48)
+ (set_global $w
(get_local $b)
)
)
@@ -11857,6 +11876,7 @@
(func $kb (param $a i32) (param $b i32) (result i32)
(return
(call_indirect $FUNCSIG$ii
+ (get_local $b)
(i32.add
(i32.and
(get_local $a)
@@ -11864,7 +11884,6 @@
)
(i32.const 0)
)
- (get_local $b)
)
)
)
@@ -11886,6 +11905,7 @@
)
(func $mb (param $a i32) (param $b i32)
(call_indirect $FUNCSIG$vi
+ (get_local $b)
(i32.add
(i32.and
(get_local $a)
@@ -11893,16 +11913,13 @@
)
(i32.const 6)
)
- (get_local $b)
)
)
(func $Ha (param $a i32) (param $b i32)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $a)
)
- (i32.store
- (i32.const 16)
+ (set_global $s
(get_local $b)
)
)
@@ -11915,8 +11932,10 @@
)
)
(func $Na (result i32)
- (call $db
- (i32.const 1144)
+ (drop
+ (call $db
+ (i32.const 1144)
+ )
)
(return
(i32.const 0)
@@ -11936,29 +11955,23 @@
)
)
(func $La (param $a i32)
- (i32.store
- (i32.const 160)
+ (set_global $K
(get_local $a)
)
)
(func $Ga (param $a i32)
- (i32.store
- (i32.const 8)
+ (set_global $r
(get_local $a)
)
)
(func $Ma (result i32)
(return
- (i32.load
- (i32.const 160)
- )
+ (get_global $K)
)
)
(func $Fa (result i32)
(return
- (i32.load
- (i32.const 8)
- )
+ (get_global $r)
)
)
(func $ib (result i32)
@@ -11966,7 +11979,7 @@
(i32.const 0)
)
)
- (func $__growWasmMemory (param $newSize i32)
+ (func $__growWasmMemory (param $newSize i32) (result i32)
(grow_memory
(get_local $newSize)
)
diff --git a/test/min.fromasm b/test/min.fromasm
index b5d826e4f..54380a4ec 100644
--- a/test/min.fromasm
+++ b/test/min.fromasm
@@ -1,7 +1,12 @@
(module
(memory 256 256)
- (export "memory" memory)
- (export "floats" $floats)
+ (data (get_global $memoryBase) "min.asm.js")
+ (import "env" "tempDoublePtr" (global $tDP i32))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "floats" (func $floats))
(func $floats (param $0 f32) (result f32)
(local $1 f32)
(f32.add
diff --git a/test/min.fromasm.imprecise b/test/min.fromasm.imprecise
index b5d826e4f..b07aba04e 100644
--- a/test/min.fromasm.imprecise
+++ b/test/min.fromasm.imprecise
@@ -1,7 +1,11 @@
(module
(memory 256 256)
- (export "memory" memory)
- (export "floats" $floats)
+ (import "env" "tempDoublePtr" (global $tDP i32))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "floats" (func $floats))
(func $floats (param $0 f32) (result f32)
(local $1 f32)
(f32.add
diff --git a/test/min.fromasm.imprecise.no-opts b/test/min.fromasm.imprecise.no-opts
index 4e90b3f34..dd89a9eed 100644
--- a/test/min.fromasm.imprecise.no-opts
+++ b/test/min.fromasm.imprecise.no-opts
@@ -1,7 +1,11 @@
(module
(memory 256 256)
- (export "memory" memory)
- (export "floats" $floats)
+ (import "env" "tempDoublePtr" (global $tDP i32))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "floats" (func $floats))
(func $floats (param $f f32) (result f32)
(local $t f32)
(return
@@ -31,16 +35,22 @@
)
)
(func $bitcasts (param $i i32) (param $f f32)
- (f32.reinterpret/i32
- (get_local $i)
- )
- (f64.promote/f32
+ (drop
(f32.reinterpret/i32
(get_local $i)
)
)
- (i32.reinterpret/f32
- (get_local $f)
+ (drop
+ (f64.promote/f32
+ (f32.reinterpret/i32
+ (get_local $i)
+ )
+ )
+ )
+ (drop
+ (i32.reinterpret/f32
+ (get_local $f)
+ )
)
)
(func $ctzzzz (result i32)
diff --git a/test/min.fromasm.no-opts b/test/min.fromasm.no-opts
index 4e90b3f34..dd89a9eed 100644
--- a/test/min.fromasm.no-opts
+++ b/test/min.fromasm.no-opts
@@ -1,7 +1,11 @@
(module
(memory 256 256)
- (export "memory" memory)
- (export "floats" $floats)
+ (import "env" "tempDoublePtr" (global $tDP i32))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "floats" (func $floats))
(func $floats (param $f f32) (result f32)
(local $t f32)
(return
@@ -31,16 +35,22 @@
)
)
(func $bitcasts (param $i i32) (param $f f32)
- (f32.reinterpret/i32
- (get_local $i)
- )
- (f64.promote/f32
+ (drop
(f32.reinterpret/i32
(get_local $i)
)
)
- (i32.reinterpret/f32
- (get_local $f)
+ (drop
+ (f64.promote/f32
+ (f32.reinterpret/i32
+ (get_local $i)
+ )
+ )
+ )
+ (drop
+ (i32.reinterpret/f32
+ (get_local $f)
+ )
)
)
(func $ctzzzz (result i32)
diff --git a/test/min.wast b/test/min.wast
index 44d848991..e5472fb77 100644
--- a/test/min.wast
+++ b/test/min.wast
@@ -4,7 +4,7 @@
(type $1 (func (param i32 i32) (result f32)))
(type $2 (func (param i32) (result i32)))
(type $3 (func (param i32 i32 i32) (result i32)))
- (export "floats" $floats)
+ (export "floats" (func $floats))
(func $floats (type $0) (param $f f32) (result f32)
(local $t f32)
(f32.add
@@ -14,7 +14,7 @@
)
(func $neg (type $1) (param $k i32) (param $p i32) (result f32)
(local $n f32)
- (set_local $n
+ (tee_local $n
(f32.neg
(block $block0
(i32.store
diff --git a/test/min.wast.fromBinary b/test/min.wast.fromBinary
index f48fdf8ec..33515c61c 100644
--- a/test/min.wast.fromBinary
+++ b/test/min.wast.fromBinary
@@ -4,7 +4,7 @@
(type $1 (func (param i32 i32) (result f32)))
(type $2 (func (param i32) (result i32)))
(type $3 (func (param i32 i32 i32) (result i32)))
- (export "floats" $floats)
+ (export "floats" (func $floats))
(func $floats (type $0) (param $var$0 f32) (result f32)
(local $var$1 f32)
(f32.add
@@ -14,7 +14,7 @@
)
(func $neg (type $1) (param $var$0 i32) (param $var$1 i32) (result f32)
(local $var$2 f32)
- (set_local $var$2
+ (tee_local $var$2
(f32.neg
(block $label$0
(i32.store
diff --git a/test/passes/coalesce-locals-learning.txt b/test/passes/coalesce-locals-learning.txt
index 44ad12f53..f5622d097 100644
--- a/test/passes/coalesce-locals-learning.txt
+++ b/test/passes/coalesce-locals-learning.txt
@@ -5,7 +5,7 @@
(type $2 (func))
(type $3 (func (param i32 f32)))
(type $4 (func (param i32)))
- (import $_emscripten_autodebug_i32 "env" "_emscripten_autodebug_i32" (param i32 i32) (result i32))
+ (import "env" "_emscripten_autodebug_i32" (func $_emscripten_autodebug_i32 (param i32 i32) (result i32)))
(func $nothing-to-do (type $2)
(local $0 i32)
(nop)
@@ -28,35 +28,49 @@
(set_local $1
(i32.const 0)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(func $almost-interfere (type $2)
(local $0 i32)
(set_local $0
(i32.const 0)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
(set_local $0
(i32.const 0)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
(func $redundant-copy (type $2)
(local $0 i32)
(set_local $0
(i32.const 0)
)
- (get_local $0)
- (get_local $0)
+ (nop)
+ (drop
+ (get_local $0)
+ )
)
(func $ineffective-store (type $2)
(local $0 i32)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
(set_local $0
(i32.const 0)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
(func $block (type $2)
(local $0 i32)
@@ -65,7 +79,9 @@
(i32.const 0)
)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
(func $see-both-sides (type $2)
(local $0 i32)
@@ -78,8 +94,12 @@
(i32.const 0)
)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(func $see-br-and-ignore-dead (type $2)
(local $0 i32)
@@ -88,11 +108,19 @@
)
(block $block
(br $block)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (i32.const -1)
+ )
+ )
+ (drop
(get_local $0)
- (i32.const -1)
)
- (get_local $0)
)
(func $see-block-body (type $2)
(local $0 i32)
@@ -104,30 +132,46 @@
(set_local $1
(i32.const 0)
)
- (get_local $1)
+ (drop
+ (get_local $1)
+ )
(br $block)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
(func $zero-init (type $2)
(local $0 i32)
(local $1 i32)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(func $multi (type $2)
(local $0 i32)
(local $1 i32)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(func $if-else (type $2)
(local $0 i32)
(local $1 i32)
(if
(i32.const 0)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
(func $if-else-parallel (type $2)
@@ -138,13 +182,17 @@
(set_local $0
(i32.const 0)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
(block $block3
(set_local $0
(i32.const 1)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
)
)
@@ -160,8 +208,12 @@
(i32.const 1)
)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(func $if-else-through (type $2)
(local $0 i32)
@@ -174,11 +226,19 @@
)
(if
(i32.const 0)
- (i32.const 1)
- (i32.const 2)
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ )
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
)
- (get_local $0)
- (get_local $1)
)
(func $if-through (type $2)
(local $0 i32)
@@ -191,10 +251,16 @@
)
(if
(i32.const 0)
- (i32.const 1)
+ (drop
+ (i32.const 1)
+ )
+ )
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
)
- (get_local $0)
- (get_local $1)
)
(func $if-through2 (type $2)
(local $0 i32)
@@ -208,8 +274,12 @@
(i32.const 1)
)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(func $if-through2 (type $2)
(local $0 i32)
@@ -220,8 +290,12 @@
(if
(i32.const 0)
(block $block1
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
)
@@ -229,12 +303,16 @@
(local $0 i32)
(local $1 i32)
(if
- (set_local $0
+ (tee_local $0
(i32.const 0)
)
(block $block1
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
)
@@ -247,10 +325,14 @@
(set_local $0
(i32.const 0)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
)
- (get_local $1)
+ (drop
+ (get_local $1)
+ )
)
(func $if4 (type $2)
(local $0 i32)
@@ -260,13 +342,17 @@
(set_local $0
(i32.const 0)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
(set_local $0
(i32.const 1)
)
)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
(func $if5 (type $2)
(local $0 i32)
@@ -274,57 +360,85 @@
(if
(i32.const 0)
(block $block1
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
(set_local $1
(i32.const 1)
)
)
)
- (get_local $1)
+ (drop
+ (get_local $1)
+ )
)
(func $loop (type $2)
(local $0 i32)
(local $1 i32)
- (loop $out $in
- (get_local $0)
- (set_local $0
- (i32.const 0)
+ (block $out
+ (loop $in
+ (drop
+ (get_local $0)
+ )
+ (set_local $0
+ (i32.const 0)
+ )
+ (drop
+ (get_local $1)
+ )
+ (br $in)
)
- (get_local $1)
- (br $in)
)
)
(func $interfere-in-dead (type $2)
(local $0 i32)
(block $block
(br $block)
- (get_local $0)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $0)
+ )
)
)
(func $interfere-in-dead2 (type $2)
(local $0 i32)
(block $block
(unreachable)
- (get_local $0)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $0)
+ )
)
)
(func $interfere-in-dead3 (type $2)
(local $0 i32)
(block $block
(return)
- (get_local $0)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $0)
+ )
)
)
(func $params (type $3) (param $0 i32) (param $1 f32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
- (get_local $2)
- (get_local $3)
- (get_local $4)
+ (drop
+ (get_local $2)
+ )
+ (drop
+ (get_local $3)
+ )
+ (drop
+ (get_local $4)
+ )
)
(func $interfere-in-dead (type $2)
(local $0 i32)
@@ -333,8 +447,12 @@
(br_if $block
(i32.const 0)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
(func $switch (type $2)
@@ -347,13 +465,21 @@
(br_table $switch-case$1 $switch-case$2 $switch-case$1 $switch-case$1 $switch$def
(i32.const 100)
)
+ (drop
+ (get_local $0)
+ )
+ )
+ (drop
(get_local $0)
)
- (get_local $0)
)
- (get_local $1)
+ (drop
+ (get_local $1)
+ )
+ )
+ (drop
+ (get_local $2)
)
- (get_local $2)
)
(func $greedy-can-be-happy (type $2)
(local $0 i32)
@@ -371,8 +497,12 @@
(set_local $1
(i32.const 101)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(block $block5
(set_local $0
@@ -381,8 +511,12 @@
(set_local $1
(i32.const 103)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
(if
@@ -394,8 +528,12 @@
(set_local $1
(i32.const 105)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(block $block10
(set_local $0
@@ -404,8 +542,12 @@
(set_local $1
(i32.const 107)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
)
@@ -418,8 +560,12 @@
(set_local $1
(i32.const 109)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(block $block15
(set_local $0
@@ -428,8 +574,12 @@
(set_local $1
(i32.const 111)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
)
@@ -450,8 +600,12 @@
(set_local $1
(i32.const 101)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(block $block5
(set_local $0
@@ -460,8 +614,12 @@
(set_local $1
(i32.const 103)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
(if
@@ -473,8 +631,12 @@
(set_local $1
(i32.const 105)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(block $block10
(set_local $0
@@ -483,8 +645,12 @@
(set_local $1
(i32.const 107)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
)
@@ -497,8 +663,12 @@
(set_local $1
(i32.const 109)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(block $block15
(set_local $0
@@ -507,8 +677,12 @@
(set_local $1
(i32.const 111)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
)
@@ -520,7 +694,9 @@
(get_local $2)
(i32.const 4096)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
(set_local $3
(get_local $0)
@@ -537,129 +713,135 @@
)
)
(block $block2
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.and
- (get_local $0)
- (i32.const 3)
- )
- )
- (br $while-out$0)
- )
- (block $block4
+ (block $while-out$0
+ (loop $while-in$1
(if
(i32.eqz
- (get_local $2)
- )
- (return
- (get_local $3)
+ (i32.and
+ (get_local $0)
+ (i32.const 3)
+ )
)
+ (br $while-out$0)
)
- (i32.store8
- (get_local $0)
- (i32.load8_s
- (get_local $1)
+ (block $block4
+ (if
+ (i32.eqz
+ (get_local $2)
+ )
+ (return
+ (get_local $3)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 1)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
)
- )
- )
- (br $while-in$1)
- )
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (i32.ge_s
- (get_local $2)
- (i32.const 4)
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 1)
+ )
)
)
- (br $while-out$2)
+ (br $while-in$1)
)
- (block $block7
- (i32.store
- (get_local $0)
- (i32.load
- (get_local $1)
+ )
+ (block $while-out$2
+ (loop $while-in$3
+ (if
+ (i32.eqz
+ (i32.ge_s
+ (get_local $2)
+ (i32.const 4)
+ )
)
+ (br $while-out$2)
)
- (set_local $0
- (i32.add
+ (block $block7
+ (i32.store
(get_local $0)
- (i32.const 4)
+ (i32.load
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 4)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
+ )
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.eqz
- (i32.gt_s
- (get_local $2)
- (i32.const 0)
- )
- )
- (br $while-out$4)
- )
- (block $block9
- (i32.store8
- (get_local $0)
- (i32.load8_s
- (get_local $1)
+ (block $while-out$4
+ (loop $while-in$5
+ (if
+ (i32.eqz
+ (i32.gt_s
+ (get_local $2)
+ (i32.const 0)
+ )
)
+ (br $while-out$4)
)
- (set_local $0
- (i32.add
+ (block $block9
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 1)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(return
(get_local $3)
@@ -679,6 +861,8 @@
)
(nop)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
)
diff --git a/test/passes/coalesce-locals-learning.wast b/test/passes/coalesce-locals-learning.wast
index a7152d16a..469a034ba 100644
--- a/test/passes/coalesce-locals-learning.wast
+++ b/test/passes/coalesce-locals-learning.wast
@@ -1,288 +1,474 @@
(module
(memory 10)
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
+ (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
+ (type $2 (func))
+ (type $3 (func (param i32 f32)))
+ (type $4 (func (param i32)))
(import $_emscripten_autodebug_i32 "env" "_emscripten_autodebug_i32" (param i32 i32) (result i32))
- (table)
- (func $nothing-to-do
+ (func $nothing-to-do (type $2)
(local $x i32)
+ (nop)
)
- (func $merge
+ (func $merge (type $2)
(local $x i32)
(local $y i32)
+ (nop)
)
- (func $leave-type
+ (func $leave-type (type $2)
(local $x i32)
(local $y f32)
+ (nop)
)
- (func $leave-interfere
+ (func $leave-interfere (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
- (set_local $y (i32.const 0))
- (get_local $x)
- (get_local $y)
+ (set_local $x
+ (i32.const 0)
+ )
+ (set_local $y
+ (i32.const 0)
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
- (func $almost-interfere
+ (func $almost-interfere (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
- (get_local $x)
- (set_local $y (i32.const 0))
- (get_local $y)
+ (set_local $x
+ (i32.const 0)
+ )
+ (drop
+ (get_local $x)
+ )
+ (set_local $y
+ (i32.const 0)
+ )
+ (drop
+ (get_local $y)
+ )
)
- (func $redundant-copy
+ (func $redundant-copy (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
- (set_local $y (get_local $x))
- (get_local $y)
+ (set_local $x
+ (i32.const 0)
+ )
+ (set_local $y
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
- (func $ineffective-store
+ (func $ineffective-store (type $2)
(local $x i32)
- (set_local $x (i32.const 0))
- (set_local $x (i32.const 0))
- (get_local $x)
+ (set_local $x
+ (i32.const 0)
+ )
+ (set_local $x
+ (i32.const 0)
+ )
+ (drop
+ (get_local $x)
+ )
)
- (func $block
+ (func $block (type $2)
(local $x i32)
- (block
- (set_local $x (i32.const 0))
+ (block $block0
+ (set_local $x
+ (i32.const 0)
+ )
+ )
+ (drop
+ (get_local $x)
)
- (get_local $x)
)
- (func $see-both-sides
+ (func $see-both-sides (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
- (block
- (set_local $y (i32.const 0))
+ (set_local $x
+ (i32.const 0)
+ )
+ (block $block0
+ (set_local $y
+ (i32.const 0)
+ )
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
)
- (get_local $x)
- (get_local $y)
)
- (func $see-br-and-ignore-dead
+ (func $see-br-and-ignore-dead (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
+ (set_local $x
+ (i32.const 0)
+ )
(block $block
(br $block)
- (set_local $y (i32.const 0))
- (get_local $y)
- (set_local $x (i32.const -1))
+ (set_local $y
+ (i32.const 0)
+ )
+ (drop
+ (get_local $y)
+ )
+ (set_local $x
+ (i32.const -1)
+ )
+ )
+ (drop
+ (get_local $x)
)
- (get_local $x)
)
- (func $see-block-body
+ (func $see-block-body (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
+ (set_local $x
+ (i32.const 0)
+ )
(block $block
- (set_local $y (i32.const 0))
- (get_local $y)
+ (set_local $y
+ (i32.const 0)
+ )
+ (drop
+ (get_local $y)
+ )
(br $block)
)
- (get_local $x)
+ (drop
+ (get_local $x)
+ )
)
- (func $zero-init
+ (func $zero-init (type $2)
(local $x i32)
(local $y i32)
- (get_local $x)
- (get_local $y)
- )
- (func $multi
- (local $x i32) ;; x is free, but y and z conflict
- (local $y i32)
- (local $z i32)
- (get_local $y)
- (get_local $z)
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
- (func $if-else
+ (func $multi (type $2)
(local $x i32)
(local $y i32)
- (if ;; x and y conflict when they are merged into their shared predecessor
- (i32.const 0)
- (get_local $x)
+ (local $z i32)
+ (drop
(get_local $y)
)
+ (drop
+ (get_local $z)
+ )
)
- (func $if-else-parallel
+ (func $if-else (type $2)
(local $x i32)
(local $y i32)
(if
(i32.const 0)
- (block
- (set_local $x (i32.const 0))
+ (drop
(get_local $x)
)
- (block
- (set_local $y (i32.const 1))
+ (drop
(get_local $y)
)
)
)
- (func $if-else-after
+ (func $if-else-parallel (type $2)
(local $x i32)
(local $y i32)
(if
(i32.const 0)
- (set_local $x (i32.const 0))
- (set_local $y (i32.const 1))
+ (block $block1
+ (set_local $x
+ (i32.const 0)
+ )
+ (drop
+ (get_local $x)
+ )
+ )
+ (block $block3
+ (set_local $y
+ (i32.const 1)
+ )
+ (drop
+ (get_local $y)
+ )
+ )
)
- (get_local $x)
- (get_local $y)
)
- (func $if-else-through
+ (func $if-else-after (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
- (set_local $y (i32.const 1))
(if
(i32.const 0)
- (i32.const 1)
- (i32.const 2)
+ (set_local $x
+ (i32.const 0)
+ )
+ (set_local $y
+ (i32.const 1)
+ )
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
)
- (get_local $x)
- (get_local $y)
)
- (func $if-through
+ (func $if-else-through (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
- (set_local $y (i32.const 1))
+ (set_local $x
+ (i32.const 0)
+ )
+ (set_local $y
+ (i32.const 1)
+ )
(if
(i32.const 0)
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
+ )
+ (func $if-through (type $2)
+ (local $x i32)
+ (local $y i32)
+ (set_local $x
+ (i32.const 0)
+ )
+ (set_local $y
(i32.const 1)
)
- (get_local $x)
- (get_local $y)
+ (if
+ (i32.const 0)
+ (drop
+ (i32.const 1)
+ )
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
- (func $if-through2
+ (func $if-through2 (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
+ (set_local $x
+ (i32.const 0)
+ )
(if
(i32.const 0)
- (set_local $y (i32.const 1))
+ (set_local $y
+ (i32.const 1)
+ )
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
)
- (get_local $x)
- (get_local $y)
)
- (func $if-through2
+ (func $if-through2 (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
+ (set_local $x
+ (i32.const 0)
+ )
(if
(i32.const 0)
- (block
- (get_local $x)
- (get_local $y)
+ (block $block1
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
)
)
- (func $if2
+ (func $if2 (type $2)
(local $x i32)
(local $y i32)
(if
- (set_local $x (i32.const 0))
- (block
- (get_local $x)
- (get_local $y)
+ (tee_local $x
+ (i32.const 0)
+ )
+ (block $block1
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
)
)
- (func $if3
+ (func $if3 (type $2)
(local $x i32)
(local $y i32)
(if
(i32.const 0)
- (block
- (set_local $x (i32.const 0))
- (get_local $x)
+ (block $block1
+ (set_local $x
+ (i32.const 0)
+ )
+ (drop
+ (get_local $x)
+ )
)
)
- (get_local $y)
+ (drop
+ (get_local $y)
+ )
)
- (func $if4
+ (func $if4 (type $2)
(local $x i32)
(local $y i32)
(if
(i32.const 0)
- (block
- (set_local $x (i32.const 0))
- (get_local $x)
- (set_local $y (i32.const 1)) ;; we might not go through here, but it's ok
+ (block $block1
+ (set_local $x
+ (i32.const 0)
+ )
+ (drop
+ (get_local $x)
+ )
+ (set_local $y
+ (i32.const 1)
+ )
)
)
- (get_local $y)
+ (drop
+ (get_local $y)
+ )
)
- (func $if5
+ (func $if5 (type $2)
(local $x i32)
(local $y i32)
(if
(i32.const 0)
- (block
- (get_local $x) ;; we might go through here, and it causes interference
- (set_local $y (i32.const 1))
+ (block $block1
+ (drop
+ (get_local $x)
+ )
+ (set_local $y
+ (i32.const 1)
+ )
)
)
- (get_local $y)
+ (drop
+ (get_local $y)
+ )
)
- (func $loop
+ (func $loop (type $2)
(local $x i32)
(local $y i32)
- (loop $out $in
- (get_local $x)
- (set_local $x (i32.const 0)) ;; effective, due to looping
- (get_local $y)
- (br $in)
+ (block $out
+ (loop $in
+ (drop
+ (get_local $x)
+ )
+ (set_local $x
+ (i32.const 0)
+ )
+ (drop
+ (get_local $y)
+ )
+ (br $in)
+ )
)
)
- (func $interfere-in-dead
+ (func $interfere-in-dead (type $2)
(local $x i32)
(local $y i32)
(block $block
(br $block)
- (get_local $x)
- (get_local $y)
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
)
- (func $interfere-in-dead2
+ (func $interfere-in-dead2 (type $2)
(local $x i32)
(local $y i32)
(block $block
(unreachable)
- (get_local $x)
- (get_local $y)
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
)
- (func $interfere-in-dead3
+ (func $interfere-in-dead3 (type $2)
(local $x i32)
(local $y i32)
(block $block
(return)
- (get_local $x)
- (get_local $y)
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
)
- (func $params (param $p i32) (param $q f32)
- (local $x i32) ;; x is free, but others conflict
+ (func $params (type $3) (param $p i32) (param $q f32)
+ (local $x i32)
(local $y i32)
(local $z i32)
(local $w i32)
- (get_local $y)
- (get_local $z)
- (get_local $w)
+ (drop
+ (get_local $y)
+ )
+ (drop
+ (get_local $z)
+ )
+ (drop
+ (get_local $w)
+ )
)
- (func $interfere-in-dead
+ (func $interfere-in-dead (type $2)
(local $x i32)
(local $y i32)
(block $block
- (br_if $block (i32.const 0))
- (get_local $x)
- (get_local $y)
+ (br_if $block
+ (i32.const 0)
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
)
- (func $switch
+ (func $switch (type $2)
(local $x i32)
(local $y i32)
(local $z i32)
@@ -293,15 +479,23 @@
(br_table $switch-case$1 $switch-case$2 $switch-case$1 $switch-case$1 $switch$def
(i32.const 100)
)
- (get_local $x) ;; unreachable
+ (drop
+ (get_local $x)
+ )
+ )
+ (drop
+ (get_local $y)
)
- (get_local $y)
)
- (get_local $z)
+ (drop
+ (get_local $z)
+ )
+ )
+ (drop
+ (get_local $w)
)
- (get_local $w)
)
- (func $greedy-can-be-happy
+ (func $greedy-can-be-happy (type $2)
(local $x1 i32)
(local $x2 i32)
(local $x3 i32)
@@ -314,53 +508,101 @@
(i32.const 1)
(if
(i32.const 2)
- (block
- (set_local $x1 (i32.const 100))
- (set_local $y2 (i32.const 101))
- (get_local $x1)
- (get_local $y2)
+ (block $block3
+ (set_local $x1
+ (i32.const 100)
+ )
+ (set_local $y2
+ (i32.const 101)
+ )
+ (drop
+ (get_local $x1)
+ )
+ (drop
+ (get_local $y2)
+ )
)
- (block
- (set_local $x1 (i32.const 102))
- (set_local $y3 (i32.const 103))
- (get_local $x1)
- (get_local $y3)
+ (block $block5
+ (set_local $x1
+ (i32.const 102)
+ )
+ (set_local $y3
+ (i32.const 103)
+ )
+ (drop
+ (get_local $x1)
+ )
+ (drop
+ (get_local $y3)
+ )
)
)
(if
(i32.const 3)
- (block
- (set_local $x2 (i32.const 104))
- (set_local $y1 (i32.const 105))
- (get_local $x2)
- (get_local $y1)
+ (block $block8
+ (set_local $x2
+ (i32.const 104)
+ )
+ (set_local $y1
+ (i32.const 105)
+ )
+ (drop
+ (get_local $x2)
+ )
+ (drop
+ (get_local $y1)
+ )
)
- (block
- (set_local $x2 (i32.const 106))
- (set_local $y3 (i32.const 107))
- (get_local $x2)
- (get_local $y3)
+ (block $block10
+ (set_local $x2
+ (i32.const 106)
+ )
+ (set_local $y3
+ (i32.const 107)
+ )
+ (drop
+ (get_local $x2)
+ )
+ (drop
+ (get_local $y3)
+ )
)
)
)
(if
(i32.const 4)
- (block
- (set_local $x3 (i32.const 108))
- (set_local $y1 (i32.const 109))
- (get_local $x3)
- (get_local $y1)
+ (block $block13
+ (set_local $x3
+ (i32.const 108)
+ )
+ (set_local $y1
+ (i32.const 109)
+ )
+ (drop
+ (get_local $x3)
+ )
+ (drop
+ (get_local $y1)
+ )
)
- (block
- (set_local $x3 (i32.const 110))
- (set_local $y2 (i32.const 111))
- (get_local $x3)
- (get_local $y2)
+ (block $block15
+ (set_local $x3
+ (i32.const 110)
+ )
+ (set_local $y2
+ (i32.const 111)
+ )
+ (drop
+ (get_local $x3)
+ )
+ (drop
+ (get_local $y2)
+ )
)
)
)
)
- (func $greedy-can-be-sad
+ (func $greedy-can-be-sad (type $2)
(local $x1 i32)
(local $y1 i32)
(local $x2 i32)
@@ -373,63 +615,110 @@
(i32.const 1)
(if
(i32.const 2)
- (block
- (set_local $x1 (i32.const 100))
- (set_local $y2 (i32.const 101))
- (get_local $x1)
- (get_local $y2)
+ (block $block3
+ (set_local $x1
+ (i32.const 100)
+ )
+ (set_local $y2
+ (i32.const 101)
+ )
+ (drop
+ (get_local $x1)
+ )
+ (drop
+ (get_local $y2)
+ )
)
- (block
- (set_local $x1 (i32.const 102))
- (set_local $y3 (i32.const 103))
- (get_local $x1)
- (get_local $y3)
+ (block $block5
+ (set_local $x1
+ (i32.const 102)
+ )
+ (set_local $y3
+ (i32.const 103)
+ )
+ (drop
+ (get_local $x1)
+ )
+ (drop
+ (get_local $y3)
+ )
)
)
(if
(i32.const 3)
- (block
- (set_local $x2 (i32.const 104))
- (set_local $y1 (i32.const 105))
- (get_local $x2)
- (get_local $y1)
+ (block $block8
+ (set_local $x2
+ (i32.const 104)
+ )
+ (set_local $y1
+ (i32.const 105)
+ )
+ (drop
+ (get_local $x2)
+ )
+ (drop
+ (get_local $y1)
+ )
)
- (block
- (set_local $x2 (i32.const 106))
- (set_local $y3 (i32.const 107))
- (get_local $x2)
- (get_local $y3)
+ (block $block10
+ (set_local $x2
+ (i32.const 106)
+ )
+ (set_local $y3
+ (i32.const 107)
+ )
+ (drop
+ (get_local $x2)
+ )
+ (drop
+ (get_local $y3)
+ )
)
)
)
(if
(i32.const 4)
- (block
- (set_local $x3 (i32.const 108))
- (set_local $y1 (i32.const 109))
- (get_local $x3)
- (get_local $y1)
+ (block $block13
+ (set_local $x3
+ (i32.const 108)
+ )
+ (set_local $y1
+ (i32.const 109)
+ )
+ (drop
+ (get_local $x3)
+ )
+ (drop
+ (get_local $y1)
+ )
)
- (block
- (set_local $x3 (i32.const 110))
- (set_local $y2 (i32.const 111))
- (get_local $x3)
- (get_local $y2)
+ (block $block15
+ (set_local $x3
+ (i32.const 110)
+ )
+ (set_local $y2
+ (i32.const 111)
+ )
+ (drop
+ (get_local $x3)
+ )
+ (drop
+ (get_local $y2)
+ )
)
)
)
)
- (func $_memcpy (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32)
+ (func $_memcpy (type $FUNCSIG$iiii) (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32)
(local $i4 i32)
(if
(i32.ge_s
(get_local $i3)
(i32.const 4096)
)
- (get_local $i1)
- (get_local $i2)
- (get_local $i3)
- (return)
+ (drop
+ (get_local $i1)
+ )
)
(set_local $i4
(get_local $i1)
@@ -445,150 +734,157 @@
(i32.const 3)
)
)
- (block
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.and
- (get_local $i1)
- (i32.const 3)
- )
- )
- (br $while-out$0)
- )
- (block
+ (block $block2
+ (block $while-out$0
+ (loop $while-in$1
(if
(i32.eqz
- (get_local $i3)
- )
- (return
- (get_local $i4)
+ (i32.and
+ (get_local $i1)
+ (i32.const 3)
+ )
)
+ (br $while-out$0)
)
- (i32.store8
- (get_local $i1)
- (i32.load8_s
- (get_local $i2)
+ (block $block4
+ (if
+ (i32.eqz
+ (get_local $i3)
+ )
+ (return
+ (get_local $i4)
+ )
)
- )
- (set_local $i1
- (i32.add
+ (i32.store8
(get_local $i1)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $i2)
+ )
)
- )
- (set_local $i2
- (i32.add
- (get_local $i2)
- (i32.const 1)
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 1)
+ )
)
- )
- (set_local $i3
- (i32.sub
- (get_local $i3)
- (i32.const 1)
+ (set_local $i2
+ (i32.add
+ (get_local $i2)
+ (i32.const 1)
+ )
)
- )
- )
- (br $while-in$1)
- )
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (i32.ge_s
- (get_local $i3)
- (i32.const 4)
+ (set_local $i3
+ (i32.sub
+ (get_local $i3)
+ (i32.const 1)
+ )
)
)
- (br $while-out$2)
+ (br $while-in$1)
)
- (block
- (i32.store
- (get_local $i1)
- (i32.load
- (get_local $i2)
+ )
+ (block $while-out$2
+ (loop $while-in$3
+ (if
+ (i32.eqz
+ (i32.ge_s
+ (get_local $i3)
+ (i32.const 4)
+ )
)
+ (br $while-out$2)
)
- (set_local $i1
- (i32.add
+ (block $block7
+ (i32.store
(get_local $i1)
- (i32.const 4)
+ (i32.load
+ (get_local $i2)
+ )
)
- )
- (set_local $i2
- (i32.add
- (get_local $i2)
- (i32.const 4)
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 4)
+ )
)
- )
- (set_local $i3
- (i32.sub
- (get_local $i3)
- (i32.const 4)
+ (set_local $i2
+ (i32.add
+ (get_local $i2)
+ (i32.const 4)
+ )
+ )
+ (set_local $i3
+ (i32.sub
+ (get_local $i3)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.eqz
- (i32.gt_s
- (get_local $i3)
- (i32.const 0)
- )
- )
- (br $while-out$4)
- )
- (block
- (i32.store8
- (get_local $i1)
- (i32.load8_s
- (get_local $i2)
+ (block $while-out$4
+ (loop $while-in$5
+ (if
+ (i32.eqz
+ (i32.gt_s
+ (get_local $i3)
+ (i32.const 0)
+ )
)
+ (br $while-out$4)
)
- (set_local $i1
- (i32.add
+ (block $block9
+ (i32.store8
(get_local $i1)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $i2)
+ )
)
- )
- (set_local $i2
- (i32.add
- (get_local $i2)
- (i32.const 1)
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 1)
+ )
)
- )
- (set_local $i3
- (i32.sub
- (get_local $i3)
- (i32.const 1)
+ (set_local $i2
+ (i32.add
+ (get_local $i2)
+ (i32.const 1)
+ )
+ )
+ (set_local $i3
+ (i32.sub
+ (get_local $i3)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(return
(get_local $i4)
)
)
- (func $this-is-effective-i-tell-you (param $x i32)
+ (func $this-is-effective-i-tell-you (type $4) (param $x i32)
(if
(i32.const -1)
- (block
- (if ;; this is important for the bug
+ (block $block1
+ (if
(i32.const 0)
(nop)
)
- (set_local $x ;; this set is effective!
+ (set_local $x
(i32.const 1)
)
)
- (nop) ;; this is enough for the bug
+ (nop)
+ )
+ (drop
+ (get_local $x)
)
- (get_local $x) ;; this ends up with the wrong value in the test
)
)
-
diff --git a/test/passes/coalesce-locals.txt b/test/passes/coalesce-locals.txt
index c24cf34e9..3836cfadb 100644
--- a/test/passes/coalesce-locals.txt
+++ b/test/passes/coalesce-locals.txt
@@ -5,7 +5,7 @@
(type $2 (func))
(type $3 (func (param i32 f32)))
(type $4 (func (param i32)))
- (import $_emscripten_autodebug_i32 "env" "_emscripten_autodebug_i32" (param i32 i32) (result i32))
+ (import "env" "_emscripten_autodebug_i32" (func $_emscripten_autodebug_i32 (param i32 i32) (result i32)))
(func $nothing-to-do (type $2)
(local $0 i32)
(nop)
@@ -28,35 +28,49 @@
(set_local $1
(i32.const 0)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(func $almost-interfere (type $2)
(local $0 i32)
(set_local $0
(i32.const 0)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
(set_local $0
(i32.const 0)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
(func $redundant-copy (type $2)
(local $0 i32)
(set_local $0
(i32.const 0)
)
- (get_local $0)
- (get_local $0)
+ (nop)
+ (drop
+ (get_local $0)
+ )
)
(func $ineffective-store (type $2)
(local $0 i32)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
(set_local $0
(i32.const 0)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
(func $block (type $2)
(local $0 i32)
@@ -65,7 +79,9 @@
(i32.const 0)
)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
(func $see-both-sides (type $2)
(local $0 i32)
@@ -78,8 +94,12 @@
(i32.const 0)
)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(func $see-br-and-ignore-dead (type $2)
(local $0 i32)
@@ -88,11 +108,19 @@
)
(block $block
(br $block)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (i32.const -1)
+ )
+ )
+ (drop
(get_local $0)
- (i32.const -1)
)
- (get_local $0)
)
(func $see-block-body (type $2)
(local $0 i32)
@@ -104,30 +132,46 @@
(set_local $1
(i32.const 0)
)
- (get_local $1)
+ (drop
+ (get_local $1)
+ )
(br $block)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
(func $zero-init (type $2)
(local $0 i32)
(local $1 i32)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(func $multi (type $2)
(local $0 i32)
(local $1 i32)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(func $if-else (type $2)
(local $0 i32)
(local $1 i32)
(if
(i32.const 0)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
(func $if-else-parallel (type $2)
@@ -138,13 +182,17 @@
(set_local $0
(i32.const 0)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
(block $block3
(set_local $0
(i32.const 1)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
)
)
@@ -160,8 +208,12 @@
(i32.const 1)
)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(func $if-else-through (type $2)
(local $0 i32)
@@ -174,11 +226,19 @@
)
(if
(i32.const 0)
- (i32.const 1)
- (i32.const 2)
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ )
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
)
- (get_local $0)
- (get_local $1)
)
(func $if-through (type $2)
(local $0 i32)
@@ -191,10 +251,16 @@
)
(if
(i32.const 0)
- (i32.const 1)
+ (drop
+ (i32.const 1)
+ )
+ )
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
)
- (get_local $0)
- (get_local $1)
)
(func $if-through2 (type $2)
(local $0 i32)
@@ -208,8 +274,12 @@
(i32.const 1)
)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(func $if-through2 (type $2)
(local $0 i32)
@@ -220,8 +290,12 @@
(if
(i32.const 0)
(block $block1
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
)
@@ -229,12 +303,16 @@
(local $0 i32)
(local $1 i32)
(if
- (set_local $0
+ (tee_local $0
(i32.const 0)
)
(block $block1
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
)
@@ -247,10 +325,14 @@
(set_local $0
(i32.const 0)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
)
- (get_local $1)
+ (drop
+ (get_local $1)
+ )
)
(func $if4 (type $2)
(local $0 i32)
@@ -260,13 +342,17 @@
(set_local $0
(i32.const 0)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
(set_local $0
(i32.const 1)
)
)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
(func $if5 (type $2)
(local $0 i32)
@@ -274,23 +360,31 @@
(if
(i32.const 0)
(block $block1
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
(set_local $1
(i32.const 1)
)
)
)
- (get_local $1)
+ (drop
+ (get_local $1)
+ )
)
(func $loop (type $2)
(local $0 i32)
(local $1 i32)
- (loop $out $in
- (get_local $0)
+ (loop $in
+ (drop
+ (get_local $0)
+ )
(set_local $0
(i32.const 0)
)
- (get_local $1)
+ (drop
+ (get_local $1)
+ )
(br $in)
)
)
@@ -298,33 +392,51 @@
(local $0 i32)
(block $block
(br $block)
- (get_local $0)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $0)
+ )
)
)
(func $interfere-in-dead2 (type $2)
(local $0 i32)
(block $block
(unreachable)
- (get_local $0)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $0)
+ )
)
)
(func $interfere-in-dead3 (type $2)
(local $0 i32)
(block $block
(return)
- (get_local $0)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $0)
+ )
)
)
(func $params (type $3) (param $0 i32) (param $1 f32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
- (get_local $2)
- (get_local $3)
- (get_local $4)
+ (drop
+ (get_local $2)
+ )
+ (drop
+ (get_local $3)
+ )
+ (drop
+ (get_local $4)
+ )
)
(func $interfere-in-dead (type $2)
(local $0 i32)
@@ -333,8 +445,12 @@
(br_if $block
(i32.const 0)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
(func $switch (type $2)
@@ -347,13 +463,21 @@
(br_table $switch-case$1 $switch-case$2 $switch-case$1 $switch-case$1 $switch$def
(i32.const 100)
)
+ (drop
+ (get_local $0)
+ )
+ )
+ (drop
(get_local $0)
)
- (get_local $0)
)
- (get_local $1)
+ (drop
+ (get_local $1)
+ )
+ )
+ (drop
+ (get_local $2)
)
- (get_local $2)
)
(func $greedy-can-be-happy (type $2)
(local $0 i32)
@@ -371,8 +495,12 @@
(set_local $1
(i32.const 101)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(block $block5
(set_local $0
@@ -381,8 +509,12 @@
(set_local $1
(i32.const 103)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
(if
@@ -394,8 +526,12 @@
(set_local $1
(i32.const 105)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(block $block10
(set_local $0
@@ -404,8 +540,12 @@
(set_local $1
(i32.const 107)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
)
@@ -418,8 +558,12 @@
(set_local $1
(i32.const 109)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(block $block15
(set_local $0
@@ -428,8 +572,12 @@
(set_local $1
(i32.const 111)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
)
@@ -451,8 +599,12 @@
(set_local $1
(i32.const 101)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(block $block5
(set_local $0
@@ -461,8 +613,12 @@
(set_local $2
(i32.const 103)
)
- (get_local $0)
- (get_local $2)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $2)
+ )
)
)
(if
@@ -474,8 +630,12 @@
(set_local $0
(i32.const 105)
)
- (get_local $1)
- (get_local $0)
+ (drop
+ (get_local $1)
+ )
+ (drop
+ (get_local $0)
+ )
)
(block $block10
(set_local $1
@@ -484,8 +644,12 @@
(set_local $2
(i32.const 107)
)
- (get_local $1)
- (get_local $2)
+ (drop
+ (get_local $1)
+ )
+ (drop
+ (get_local $2)
+ )
)
)
)
@@ -498,8 +662,12 @@
(set_local $0
(i32.const 109)
)
- (get_local $2)
- (get_local $0)
+ (drop
+ (get_local $2)
+ )
+ (drop
+ (get_local $0)
+ )
)
(block $block15
(set_local $2
@@ -508,8 +676,12 @@
(set_local $1
(i32.const 111)
)
- (get_local $2)
- (get_local $1)
+ (drop
+ (get_local $2)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
)
@@ -521,7 +693,9 @@
(get_local $2)
(i32.const 4096)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
(set_local $3
(get_local $0)
@@ -538,129 +712,135 @@
)
)
(block $block2
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.and
- (get_local $0)
- (i32.const 3)
- )
- )
- (br $while-out$0)
- )
- (block $block4
+ (block $while-out$0
+ (loop $while-in$1
(if
(i32.eqz
- (get_local $2)
- )
- (return
- (get_local $3)
+ (i32.and
+ (get_local $0)
+ (i32.const 3)
+ )
)
+ (br $while-out$0)
)
- (i32.store8
- (get_local $0)
- (i32.load8_s
- (get_local $1)
+ (block $block4
+ (if
+ (i32.eqz
+ (get_local $2)
+ )
+ (return
+ (get_local $3)
+ )
)
- )
- (set_local $0
- (i32.add
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 1)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
)
- )
- )
- (br $while-in$1)
- )
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (i32.ge_s
- (get_local $2)
- (i32.const 4)
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 1)
+ )
)
)
- (br $while-out$2)
+ (br $while-in$1)
)
- (block $block7
- (i32.store
- (get_local $0)
- (i32.load
- (get_local $1)
+ )
+ (block $while-out$2
+ (loop $while-in$3
+ (if
+ (i32.eqz
+ (i32.ge_s
+ (get_local $2)
+ (i32.const 4)
+ )
)
+ (br $while-out$2)
)
- (set_local $0
- (i32.add
+ (block $block7
+ (i32.store
(get_local $0)
- (i32.const 4)
+ (i32.load
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 4)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 4)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
+ )
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.eqz
- (i32.gt_s
- (get_local $2)
- (i32.const 0)
- )
- )
- (br $while-out$4)
- )
- (block $block9
- (i32.store8
- (get_local $0)
- (i32.load8_s
- (get_local $1)
+ (block $while-out$4
+ (loop $while-in$5
+ (if
+ (i32.eqz
+ (i32.gt_s
+ (get_local $2)
+ (i32.const 0)
+ )
)
+ (br $while-out$4)
)
- (set_local $0
- (i32.add
+ (block $block9
+ (i32.store8
(get_local $0)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $1)
+ )
)
- )
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const 1)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
)
- )
- (set_local $2
- (i32.sub
- (get_local $2)
- (i32.const 1)
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
+ )
+ (set_local $2
+ (i32.sub
+ (get_local $2)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(return
(get_local $3)
@@ -680,7 +860,9 @@
)
(nop)
)
- (get_local $0)
+ (drop
+ (get_local $0)
+ )
)
(func $prefer-remove-copies1 (type $2)
(local $0 i32)
@@ -688,12 +870,16 @@
(set_local $0
(i32.const 0)
)
- (get_local $0)
+ (nop)
(set_local $1
(i32.const 1)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
(func $prefer-remove-copies1 (type $2)
(local $0 i32)
@@ -701,11 +887,15 @@
(set_local $1
(i32.const 0)
)
- (get_local $1)
+ (nop)
(set_local $0
(i32.const 1)
)
- (get_local $0)
- (get_local $1)
+ (drop
+ (get_local $0)
+ )
+ (drop
+ (get_local $1)
+ )
)
)
diff --git a/test/passes/coalesce-locals.wast b/test/passes/coalesce-locals.wast
index a7cd6adc1..713fd7dd9 100644
--- a/test/passes/coalesce-locals.wast
+++ b/test/passes/coalesce-locals.wast
@@ -1,288 +1,472 @@
(module
(memory 10)
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
+ (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
+ (type $2 (func))
+ (type $3 (func (param i32 f32)))
+ (type $4 (func (param i32)))
(import $_emscripten_autodebug_i32 "env" "_emscripten_autodebug_i32" (param i32 i32) (result i32))
- (table)
- (func $nothing-to-do
+ (func $nothing-to-do (type $2)
(local $x i32)
+ (nop)
)
- (func $merge
+ (func $merge (type $2)
(local $x i32)
(local $y i32)
+ (nop)
)
- (func $leave-type
+ (func $leave-type (type $2)
(local $x i32)
(local $y f32)
+ (nop)
)
- (func $leave-interfere
+ (func $leave-interfere (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
- (set_local $y (i32.const 0))
- (get_local $x)
- (get_local $y)
+ (set_local $x
+ (i32.const 0)
+ )
+ (set_local $y
+ (i32.const 0)
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
- (func $almost-interfere
+ (func $almost-interfere (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
- (get_local $x)
- (set_local $y (i32.const 0))
- (get_local $y)
+ (set_local $x
+ (i32.const 0)
+ )
+ (drop
+ (get_local $x)
+ )
+ (set_local $y
+ (i32.const 0)
+ )
+ (drop
+ (get_local $y)
+ )
)
- (func $redundant-copy
+ (func $redundant-copy (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
- (set_local $y (get_local $x))
- (get_local $y)
+ (set_local $x
+ (i32.const 0)
+ )
+ (set_local $y
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
- (func $ineffective-store
+ (func $ineffective-store (type $2)
(local $x i32)
- (set_local $x (i32.const 0))
- (set_local $x (i32.const 0))
- (get_local $x)
+ (set_local $x
+ (i32.const 0)
+ )
+ (set_local $x
+ (i32.const 0)
+ )
+ (drop
+ (get_local $x)
+ )
)
- (func $block
+ (func $block (type $2)
(local $x i32)
- (block
- (set_local $x (i32.const 0))
+ (block $block0
+ (set_local $x
+ (i32.const 0)
+ )
+ )
+ (drop
+ (get_local $x)
)
- (get_local $x)
)
- (func $see-both-sides
+ (func $see-both-sides (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
- (block
- (set_local $y (i32.const 0))
+ (set_local $x
+ (i32.const 0)
+ )
+ (block $block0
+ (set_local $y
+ (i32.const 0)
+ )
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
)
- (get_local $x)
- (get_local $y)
)
- (func $see-br-and-ignore-dead
+ (func $see-br-and-ignore-dead (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
+ (set_local $x
+ (i32.const 0)
+ )
(block $block
(br $block)
- (set_local $y (i32.const 0))
- (get_local $y)
- (set_local $x (i32.const -1))
+ (set_local $y
+ (i32.const 0)
+ )
+ (drop
+ (get_local $y)
+ )
+ (set_local $x
+ (i32.const -1)
+ )
+ )
+ (drop
+ (get_local $x)
)
- (get_local $x)
)
- (func $see-block-body
+ (func $see-block-body (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
+ (set_local $x
+ (i32.const 0)
+ )
(block $block
- (set_local $y (i32.const 0))
- (get_local $y)
+ (set_local $y
+ (i32.const 0)
+ )
+ (drop
+ (get_local $y)
+ )
(br $block)
)
- (get_local $x)
+ (drop
+ (get_local $x)
+ )
)
- (func $zero-init
+ (func $zero-init (type $2)
(local $x i32)
(local $y i32)
- (get_local $x)
- (get_local $y)
- )
- (func $multi
- (local $x i32) ;; x is free, but y and z conflict
- (local $y i32)
- (local $z i32)
- (get_local $y)
- (get_local $z)
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
- (func $if-else
+ (func $multi (type $2)
(local $x i32)
(local $y i32)
- (if ;; x and y conflict when they are merged into their shared predecessor
- (i32.const 0)
- (get_local $x)
+ (local $z i32)
+ (drop
(get_local $y)
)
+ (drop
+ (get_local $z)
+ )
)
- (func $if-else-parallel
+ (func $if-else (type $2)
(local $x i32)
(local $y i32)
(if
(i32.const 0)
- (block
- (set_local $x (i32.const 0))
+ (drop
(get_local $x)
)
- (block
- (set_local $y (i32.const 1))
+ (drop
(get_local $y)
)
)
)
- (func $if-else-after
+ (func $if-else-parallel (type $2)
(local $x i32)
(local $y i32)
(if
(i32.const 0)
- (set_local $x (i32.const 0))
- (set_local $y (i32.const 1))
+ (block $block1
+ (set_local $x
+ (i32.const 0)
+ )
+ (drop
+ (get_local $x)
+ )
+ )
+ (block $block3
+ (set_local $y
+ (i32.const 1)
+ )
+ (drop
+ (get_local $y)
+ )
+ )
)
- (get_local $x)
- (get_local $y)
)
- (func $if-else-through
+ (func $if-else-after (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
- (set_local $y (i32.const 1))
(if
(i32.const 0)
- (i32.const 1)
- (i32.const 2)
+ (set_local $x
+ (i32.const 0)
+ )
+ (set_local $y
+ (i32.const 1)
+ )
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
)
- (get_local $x)
- (get_local $y)
)
- (func $if-through
+ (func $if-else-through (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
- (set_local $y (i32.const 1))
+ (set_local $x
+ (i32.const 0)
+ )
+ (set_local $y
+ (i32.const 1)
+ )
(if
(i32.const 0)
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
+ )
+ (func $if-through (type $2)
+ (local $x i32)
+ (local $y i32)
+ (set_local $x
+ (i32.const 0)
+ )
+ (set_local $y
(i32.const 1)
)
- (get_local $x)
- (get_local $y)
+ (if
+ (i32.const 0)
+ (drop
+ (i32.const 1)
+ )
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
- (func $if-through2
+ (func $if-through2 (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
+ (set_local $x
+ (i32.const 0)
+ )
(if
(i32.const 0)
- (set_local $y (i32.const 1))
+ (set_local $y
+ (i32.const 1)
+ )
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
)
- (get_local $x)
- (get_local $y)
)
- (func $if-through2
+ (func $if-through2 (type $2)
(local $x i32)
(local $y i32)
- (set_local $x (i32.const 0))
+ (set_local $x
+ (i32.const 0)
+ )
(if
(i32.const 0)
- (block
- (get_local $x)
- (get_local $y)
+ (block $block1
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
)
)
- (func $if2
+ (func $if2 (type $2)
(local $x i32)
(local $y i32)
(if
- (set_local $x (i32.const 0))
- (block
- (get_local $x)
- (get_local $y)
+ (tee_local $x
+ (i32.const 0)
+ )
+ (block $block1
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
)
)
- (func $if3
+ (func $if3 (type $2)
(local $x i32)
(local $y i32)
(if
(i32.const 0)
- (block
- (set_local $x (i32.const 0))
- (get_local $x)
+ (block $block1
+ (set_local $x
+ (i32.const 0)
+ )
+ (drop
+ (get_local $x)
+ )
)
)
- (get_local $y)
+ (drop
+ (get_local $y)
+ )
)
- (func $if4
+ (func $if4 (type $2)
(local $x i32)
(local $y i32)
(if
(i32.const 0)
- (block
- (set_local $x (i32.const 0))
- (get_local $x)
- (set_local $y (i32.const 1)) ;; we might not go through here, but it's ok
+ (block $block1
+ (set_local $x
+ (i32.const 0)
+ )
+ (drop
+ (get_local $x)
+ )
+ (set_local $y
+ (i32.const 1)
+ )
)
)
- (get_local $y)
+ (drop
+ (get_local $y)
+ )
)
- (func $if5
+ (func $if5 (type $2)
(local $x i32)
(local $y i32)
(if
(i32.const 0)
- (block
- (get_local $x) ;; we might go through here, and it causes interference
- (set_local $y (i32.const 1))
+ (block $block1
+ (drop
+ (get_local $x)
+ )
+ (set_local $y
+ (i32.const 1)
+ )
)
)
- (get_local $y)
+ (drop
+ (get_local $y)
+ )
)
- (func $loop
+ (func $loop (type $2)
(local $x i32)
(local $y i32)
- (loop $out $in
- (get_local $x)
- (set_local $x (i32.const 0)) ;; effective, due to looping
- (get_local $y)
+ (loop $in
+ (drop
+ (get_local $x)
+ )
+ (set_local $x
+ (i32.const 0)
+ )
+ (drop
+ (get_local $y)
+ )
(br $in)
)
)
- (func $interfere-in-dead
+ (func $interfere-in-dead (type $2)
(local $x i32)
(local $y i32)
(block $block
(br $block)
- (get_local $x)
- (get_local $y)
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
)
- (func $interfere-in-dead2
+ (func $interfere-in-dead2 (type $2)
(local $x i32)
(local $y i32)
(block $block
(unreachable)
- (get_local $x)
- (get_local $y)
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
)
- (func $interfere-in-dead3
+ (func $interfere-in-dead3 (type $2)
(local $x i32)
(local $y i32)
(block $block
(return)
- (get_local $x)
- (get_local $y)
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
)
- (func $params (param $p i32) (param $q f32)
- (local $x i32) ;; x is free, but others conflict
+ (func $params (type $3) (param $p i32) (param $q f32)
+ (local $x i32)
(local $y i32)
(local $z i32)
(local $w i32)
- (get_local $y)
- (get_local $z)
- (get_local $w)
+ (drop
+ (get_local $y)
+ )
+ (drop
+ (get_local $z)
+ )
+ (drop
+ (get_local $w)
+ )
)
- (func $interfere-in-dead
+ (func $interfere-in-dead (type $2)
(local $x i32)
(local $y i32)
(block $block
- (br_if $block (i32.const 0))
- (get_local $x)
- (get_local $y)
+ (br_if $block
+ (i32.const 0)
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
)
- (func $switch
+ (func $switch (type $2)
(local $x i32)
(local $y i32)
(local $z i32)
@@ -293,15 +477,23 @@
(br_table $switch-case$1 $switch-case$2 $switch-case$1 $switch-case$1 $switch$def
(i32.const 100)
)
- (get_local $x) ;; unreachable
+ (drop
+ (get_local $x)
+ )
+ )
+ (drop
+ (get_local $y)
)
- (get_local $y)
)
- (get_local $z)
+ (drop
+ (get_local $z)
+ )
+ )
+ (drop
+ (get_local $w)
)
- (get_local $w)
)
- (func $greedy-can-be-happy
+ (func $greedy-can-be-happy (type $2)
(local $x1 i32)
(local $x2 i32)
(local $x3 i32)
@@ -314,53 +506,101 @@
(i32.const 1)
(if
(i32.const 2)
- (block
- (set_local $x1 (i32.const 100))
- (set_local $y2 (i32.const 101))
- (get_local $x1)
- (get_local $y2)
+ (block $block3
+ (set_local $x1
+ (i32.const 100)
+ )
+ (set_local $y2
+ (i32.const 101)
+ )
+ (drop
+ (get_local $x1)
+ )
+ (drop
+ (get_local $y2)
+ )
)
- (block
- (set_local $x1 (i32.const 102))
- (set_local $y3 (i32.const 103))
- (get_local $x1)
- (get_local $y3)
+ (block $block5
+ (set_local $x1
+ (i32.const 102)
+ )
+ (set_local $y3
+ (i32.const 103)
+ )
+ (drop
+ (get_local $x1)
+ )
+ (drop
+ (get_local $y3)
+ )
)
)
(if
(i32.const 3)
- (block
- (set_local $x2 (i32.const 104))
- (set_local $y1 (i32.const 105))
- (get_local $x2)
- (get_local $y1)
+ (block $block8
+ (set_local $x2
+ (i32.const 104)
+ )
+ (set_local $y1
+ (i32.const 105)
+ )
+ (drop
+ (get_local $x2)
+ )
+ (drop
+ (get_local $y1)
+ )
)
- (block
- (set_local $x2 (i32.const 106))
- (set_local $y3 (i32.const 107))
- (get_local $x2)
- (get_local $y3)
+ (block $block10
+ (set_local $x2
+ (i32.const 106)
+ )
+ (set_local $y3
+ (i32.const 107)
+ )
+ (drop
+ (get_local $x2)
+ )
+ (drop
+ (get_local $y3)
+ )
)
)
)
(if
(i32.const 4)
- (block
- (set_local $x3 (i32.const 108))
- (set_local $y1 (i32.const 109))
- (get_local $x3)
- (get_local $y1)
+ (block $block13
+ (set_local $x3
+ (i32.const 108)
+ )
+ (set_local $y1
+ (i32.const 109)
+ )
+ (drop
+ (get_local $x3)
+ )
+ (drop
+ (get_local $y1)
+ )
)
- (block
- (set_local $x3 (i32.const 110))
- (set_local $y2 (i32.const 111))
- (get_local $x3)
- (get_local $y2)
+ (block $block15
+ (set_local $x3
+ (i32.const 110)
+ )
+ (set_local $y2
+ (i32.const 111)
+ )
+ (drop
+ (get_local $x3)
+ )
+ (drop
+ (get_local $y2)
+ )
)
)
)
)
- (func $greedy-can-be-sad
+ (func $greedy-can-be-sad (type $2)
(local $x1 i32)
(local $y1 i32)
(local $x2 i32)
@@ -373,63 +613,110 @@
(i32.const 1)
(if
(i32.const 2)
- (block
- (set_local $x1 (i32.const 100))
- (set_local $y2 (i32.const 101))
- (get_local $x1)
- (get_local $y2)
+ (block $block3
+ (set_local $x1
+ (i32.const 100)
+ )
+ (set_local $y2
+ (i32.const 101)
+ )
+ (drop
+ (get_local $x1)
+ )
+ (drop
+ (get_local $y2)
+ )
)
- (block
- (set_local $x1 (i32.const 102))
- (set_local $y3 (i32.const 103))
- (get_local $x1)
- (get_local $y3)
+ (block $block5
+ (set_local $x1
+ (i32.const 102)
+ )
+ (set_local $y3
+ (i32.const 103)
+ )
+ (drop
+ (get_local $x1)
+ )
+ (drop
+ (get_local $y3)
+ )
)
)
(if
(i32.const 3)
- (block
- (set_local $x2 (i32.const 104))
- (set_local $y1 (i32.const 105))
- (get_local $x2)
- (get_local $y1)
+ (block $block8
+ (set_local $x2
+ (i32.const 104)
+ )
+ (set_local $y1
+ (i32.const 105)
+ )
+ (drop
+ (get_local $x2)
+ )
+ (drop
+ (get_local $y1)
+ )
)
- (block
- (set_local $x2 (i32.const 106))
- (set_local $y3 (i32.const 107))
- (get_local $x2)
- (get_local $y3)
+ (block $block10
+ (set_local $x2
+ (i32.const 106)
+ )
+ (set_local $y3
+ (i32.const 107)
+ )
+ (drop
+ (get_local $x2)
+ )
+ (drop
+ (get_local $y3)
+ )
)
)
)
(if
(i32.const 4)
- (block
- (set_local $x3 (i32.const 108))
- (set_local $y1 (i32.const 109))
- (get_local $x3)
- (get_local $y1)
+ (block $block13
+ (set_local $x3
+ (i32.const 108)
+ )
+ (set_local $y1
+ (i32.const 109)
+ )
+ (drop
+ (get_local $x3)
+ )
+ (drop
+ (get_local $y1)
+ )
)
- (block
- (set_local $x3 (i32.const 110))
- (set_local $y2 (i32.const 111))
- (get_local $x3)
- (get_local $y2)
+ (block $block15
+ (set_local $x3
+ (i32.const 110)
+ )
+ (set_local $y2
+ (i32.const 111)
+ )
+ (drop
+ (get_local $x3)
+ )
+ (drop
+ (get_local $y2)
+ )
)
)
)
)
- (func $_memcpy (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32)
+ (func $_memcpy (type $FUNCSIG$iiii) (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32)
(local $i4 i32)
(if
(i32.ge_s
(get_local $i3)
(i32.const 4096)
)
- (get_local $i1)
- (get_local $i2)
- (get_local $i3)
- (return)
+ (drop
+ (get_local $i1)
+ )
)
(set_local $i4
(get_local $i1)
@@ -445,170 +732,197 @@
(i32.const 3)
)
)
- (block
- (loop $while-out$0 $while-in$1
- (if
- (i32.eqz
- (i32.and
- (get_local $i1)
- (i32.const 3)
- )
- )
- (br $while-out$0)
- )
- (block
+ (block $block2
+ (block $while-out$0
+ (loop $while-in$1
(if
(i32.eqz
- (get_local $i3)
- )
- (return
- (get_local $i4)
+ (i32.and
+ (get_local $i1)
+ (i32.const 3)
+ )
)
+ (br $while-out$0)
)
- (i32.store8
- (get_local $i1)
- (i32.load8_s
- (get_local $i2)
+ (block $block4
+ (if
+ (i32.eqz
+ (get_local $i3)
+ )
+ (return
+ (get_local $i4)
+ )
)
- )
- (set_local $i1
- (i32.add
+ (i32.store8
(get_local $i1)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $i2)
+ )
)
- )
- (set_local $i2
- (i32.add
- (get_local $i2)
- (i32.const 1)
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 1)
+ )
)
- )
- (set_local $i3
- (i32.sub
- (get_local $i3)
- (i32.const 1)
+ (set_local $i2
+ (i32.add
+ (get_local $i2)
+ (i32.const 1)
+ )
)
- )
- )
- (br $while-in$1)
- )
- (loop $while-out$2 $while-in$3
- (if
- (i32.eqz
- (i32.ge_s
- (get_local $i3)
- (i32.const 4)
+ (set_local $i3
+ (i32.sub
+ (get_local $i3)
+ (i32.const 1)
+ )
)
)
- (br $while-out$2)
+ (br $while-in$1)
)
- (block
- (i32.store
- (get_local $i1)
- (i32.load
- (get_local $i2)
+ )
+ (block $while-out$2
+ (loop $while-in$3
+ (if
+ (i32.eqz
+ (i32.ge_s
+ (get_local $i3)
+ (i32.const 4)
+ )
)
+ (br $while-out$2)
)
- (set_local $i1
- (i32.add
+ (block $block7
+ (i32.store
(get_local $i1)
- (i32.const 4)
+ (i32.load
+ (get_local $i2)
+ )
)
- )
- (set_local $i2
- (i32.add
- (get_local $i2)
- (i32.const 4)
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 4)
+ )
)
- )
- (set_local $i3
- (i32.sub
- (get_local $i3)
- (i32.const 4)
+ (set_local $i2
+ (i32.add
+ (get_local $i2)
+ (i32.const 4)
+ )
+ )
+ (set_local $i3
+ (i32.sub
+ (get_local $i3)
+ (i32.const 4)
+ )
)
)
+ (br $while-in$3)
)
- (br $while-in$3)
)
)
)
- (loop $while-out$4 $while-in$5
- (if
- (i32.eqz
- (i32.gt_s
- (get_local $i3)
- (i32.const 0)
- )
- )
- (br $while-out$4)
- )
- (block
- (i32.store8
- (get_local $i1)
- (i32.load8_s
- (get_local $i2)
+ (block $while-out$4
+ (loop $while-in$5
+ (if
+ (i32.eqz
+ (i32.gt_s
+ (get_local $i3)
+ (i32.const 0)
+ )
)
+ (br $while-out$4)
)
- (set_local $i1
- (i32.add
+ (block $block9
+ (i32.store8
(get_local $i1)
- (i32.const 1)
+ (i32.load8_s
+ (get_local $i2)
+ )
)
- )
- (set_local $i2
- (i32.add
- (get_local $i2)
- (i32.const 1)
+ (set_local $i1
+ (i32.add
+ (get_local $i1)
+ (i32.const 1)
+ )
)
- )
- (set_local $i3
- (i32.sub
- (get_local $i3)
- (i32.const 1)
+ (set_local $i2
+ (i32.add
+ (get_local $i2)
+ (i32.const 1)
+ )
+ )
+ (set_local $i3
+ (i32.sub
+ (get_local $i3)
+ (i32.const 1)
+ )
)
)
+ (br $while-in$5)
)
- (br $while-in$5)
)
(return
(get_local $i4)
)
)
- (func $this-is-effective-i-tell-you (param $x i32)
+ (func $this-is-effective-i-tell-you (type $4) (param $x i32)
(if
(i32.const -1)
- (block
- (if ;; this is important for the bug
+ (block $block1
+ (if
(i32.const 0)
(nop)
)
- (set_local $x ;; this set is effective!
+ (set_local $x
(i32.const 1)
)
)
- (nop) ;; this is enough for the bug
+ (nop)
+ )
+ (drop
+ (get_local $x)
)
- (get_local $x) ;; this ends up with the wrong value in the test
)
- (func $prefer-remove-copies1
+ (func $prefer-remove-copies1 (type $2)
(local $y i32)
(local $z i32)
- (local $x i32) ;; y and z interfere, x can be with either, but has a copy which should be prefered
- (set_local $x (i32.const 0))
- (set_local $y (get_local $x))
- (set_local $z (i32.const 1))
- (get_local $y)
- (get_local $z)
- )
- (func $prefer-remove-copies1
+ (local $x i32)
+ (set_local $x
+ (i32.const 0)
+ )
+ (set_local $y
+ (get_local $x)
+ )
+ (set_local $z
+ (i32.const 1)
+ )
+ (drop
+ (get_local $y)
+ )
+ (drop
+ (get_local $z)
+ )
+ )
+ (func $prefer-remove-copies1 (type $2)
(local $y i32)
(local $z i32)
- (local $x i32) ;; y and z interfere, x can be with either, but has a copy which should be prefered
- (set_local $x (i32.const 0))
- (set_local $z (get_local $x))
- (set_local $y (i32.const 1))
- (get_local $y)
- (get_local $z)
+ (local $x i32)
+ (set_local $x
+ (i32.const 0)
+ )
+ (set_local $z
+ (get_local $x)
+ )
+ (set_local $y
+ (i32.const 1)
+ )
+ (drop
+ (get_local $y)
+ )
+ (drop
+ (get_local $z)
+ )
)
)
-
diff --git a/test/passes/dce.txt b/test/passes/dce.txt
index 9ae5977b6..6e70cd8de 100644
--- a/test/passes/dce.txt
+++ b/test/passes/dce.txt
@@ -31,7 +31,9 @@
(br_if $out
(i32.const 3)
)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
)
(if
(i32.const 0)
@@ -108,8 +110,12 @@
(if
(i32.const 0)
(block $block15
- (i32.const 10)
- (i32.const 42)
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 42)
+ )
(unreachable)
)
)
@@ -117,16 +123,18 @@
(i32.const 0)
(unreachable)
)
- (loop $out $in
- (br_if $out
- (i32.const 1)
+ (block $out
+ (loop $in
+ (br_if $out
+ (i32.const 1)
+ )
+ (unreachable)
)
- (unreachable)
)
(if
(i32.const 0)
(block $block20
- (loop $out $in
+ (loop $in
(br_if $in
(i32.const 1)
)
@@ -137,7 +145,9 @@
(if
(i32.const 1)
(block
- (i32.const 123)
+ (drop
+ (i32.const 123)
+ )
(unreachable)
)
)
@@ -152,22 +162,30 @@
(if
(i32.const -1)
(block
- (i32.const 123)
- (i32.const 456)
+ (drop
+ (i32.const 123)
+ )
+ (drop
+ (i32.const 456)
+ )
(unreachable)
)
)
(if
(i32.const -2)
(block
- (i32.const 139)
+ (drop
+ (i32.const 139)
+ )
(unreachable)
)
)
(if
(i32.const -3)
(block
- (i32.const 246)
+ (drop
+ (i32.const 246)
+ )
(unreachable)
)
)
@@ -181,12 +199,16 @@
)
(if
(i32.const 22)
- (unreachable)
+ (drop
+ (unreachable)
+ )
)
(if
(i32.const 33)
(block
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
(unreachable)
)
)
@@ -200,17 +222,25 @@
)
(if
(i32.const 66)
- (unreachable)
+ (drop
+ (unreachable)
+ )
)
(if
(i32.const 77)
- (unreachable)
+ (drop
+ (unreachable)
+ )
)
(if
(i32.const 88)
- (block
- (i32.const 0)
- (unreachable)
+ (drop
+ (block
+ (drop
+ (i32.const 0)
+ )
+ (unreachable)
+ )
)
)
(if
@@ -219,29 +249,45 @@
)
(if
(i32.const 100)
- (block
- (i32.const 123)
- (i32.const 456)
- (unreachable)
+ (drop
+ (block
+ (drop
+ (i32.const 123)
+ )
+ (drop
+ (i32.const 456)
+ )
+ (unreachable)
+ )
)
)
(if
(i32.const 101)
- (block
- (i32.const 123)
- (unreachable)
+ (drop
+ (block
+ (drop
+ (i32.const 123)
+ )
+ (unreachable)
+ )
)
)
(if
(i32.const 102)
- (unreachable)
+ (drop
+ (unreachable)
+ )
+ )
+ (drop
+ (i32.const 1337)
)
- (i32.const 1337)
)
(func $killer (type $1)
(unreachable)
)
(func $target (type $1)
- (i32.const 2000)
+ (drop
+ (i32.const 2000)
+ )
)
)
diff --git a/test/passes/dce.wast b/test/passes/dce.wast
index dcec20cc1..61b3138e5 100644
--- a/test/passes/dce.wast
+++ b/test/passes/dce.wast
@@ -1,204 +1,389 @@
(module
(memory 10)
- (type $ii (func (param i32) (param i32)))
+ (type $ii (func (param i32 i32)))
+ (type $1 (func))
(table $call-me)
- (func $call-me (param i32) (param i32)
+ (func $call-me (type $ii) (param $0 i32) (param $1 i32)
+ (nop)
)
- (func $code-to-kill
+ (func $code-to-kill (type $1)
(local $x i32)
(block $out
- (br $out) ;; kill everything after this
- (i32.const 0)
- (if (i32.const 1)
- (i32.const 2)
+ (br $out)
+ (drop
+ (i32.const 0)
+ )
+ (if
+ (i32.const 1)
+ (drop
+ (i32.const 2)
+ )
+ )
+ (br_table $out $out $out $out
+ (i32.const 3)
)
- (br_table $out $out $out $out (i32.const 3))
(call $code-to-kill)
)
- (if (i32.const 0)
+ (if
+ (i32.const 0)
(block $out
(unreachable)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
)
)
- (if (i32.const 0)
+ (if
+ (i32.const 0)
(block $out
(return)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
)
)
(block $out
- (br_table $out $out $out $out (i32.const 4))
- (i32.const 0)
+ (br_table $out $out $out $out
+ (i32.const 4)
+ )
+ (drop
+ (i32.const 0)
+ )
)
(block $out
- (br_if $out (i32.const 3)) ;; but not after this
- (i32.const 0)
+ (br_if $out
+ (i32.const 3)
+ )
+ (drop
+ (i32.const 0)
+ )
)
- (if (i32.const 0)
- (block
- (if (i32.const 0) ;; if that is unreachable both ways
+ (if
+ (i32.const 0)
+ (block $block4
+ (if
+ (i32.const 0)
(block $out
(unreachable)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
)
(block $out
(unreachable)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
)
)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
)
)
- (if (i32.const 0)
+ (if
+ (i32.const 0)
(block $out
- (br $out (unreachable))
- (i32.const 0)
+ (br $out
+ (unreachable)
+ )
+ (drop
+ (i32.const 0)
+ )
+ (unreachable)
)
)
- (if (i32.const 0)
+ (if
+ (i32.const 0)
(block $out
- (br_if $out (unreachable) (i32.const 0))
- (i32.const 0)
+ (br_if $out
+ (unreachable)
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 0)
+ )
+ (unreachable)
)
)
- (if (i32.const 0)
+ (if
+ (i32.const 0)
(block $out
- (br_if $out (unreachable) (unreachable))
- (i32.const 0)
+ (br_if $out
+ (unreachable)
+ (unreachable)
+ )
+ (drop
+ (i32.const 0)
+ )
+ (unreachable)
)
)
(block $out
(block $in
- (br_if $out (i32.const 1))
+ (br_if $out
+ (i32.const 1)
+ )
)
(unreachable)
)
- (if (i32.const 0)
- (block
+ (if
+ (i32.const 0)
+ (block $block11
(block $out
(block $in
- (br_if $in (i32.const 1))
+ (br_if $in
+ (i32.const 1)
+ )
)
(unreachable)
)
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
)
)
(block $out
(block $in
- (br_table $out $in (i32.const 1))
+ (br_table $out $in
+ (i32.const 1)
+ )
)
(unreachable)
)
(block $out
(block $in
- (br_table $in $out (i32.const 1))
+ (br_table $in $out
+ (i32.const 1)
+ )
)
(unreachable)
)
- (if (i32.const 0)
- (block
+ (if
+ (i32.const 0)
+ (block $block13
(block $out
(block $in
- (br_table $in $in (i32.const 1))
+ (br_table $in $in
+ (i32.const 1)
+ )
)
(unreachable)
)
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
)
)
- (if (i32.const 0)
- (block
- (i32.const 10)
- (i32.const 42)
+ (if
+ (i32.const 0)
+ (block $block15
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 42)
+ )
(unreachable)
- (return (unreachable))
+ (return
+ (unreachable)
+ )
(unreachable)
(return)
)
)
- (if (i32.const 0)
- (loop (unreachable))
+ (if
+ (i32.const 0)
+ (loop $loop-in18
+ (unreachable)
+ )
)
- (loop $out $in
- (br_if $out (i32.const 1))
+ (block $out
+ (loop $in
+ (br_if $out
+ (i32.const 1)
+ )
(unreachable)
)
- (if (i32.const 0)
- (block
- (loop $out $in
- (br_if $in (i32.const 1))
+ )
+ (if
+ (i32.const 0)
+ (block $block20
+ (loop $in
+ (br_if $in
+ (i32.const 1)
+ )
(unreachable)
)
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
)
)
- (if (i32.const 1)
- (call $call-me (i32.const 123) (unreachable))
+ (if
+ (i32.const 1)
+ (call $call-me
+ (i32.const 123)
+ (unreachable)
+ )
)
- (if (i32.const 2)
- (call $call-me (unreachable) (i32.const 0))
+ (if
+ (i32.const 2)
+ (call $call-me
+ (unreachable)
+ (i32.const 0)
+ )
)
- (if (i32.const 3)
- (call $call-me (unreachable) (unreachable))
+ (if
+ (i32.const 3)
+ (call $call-me
+ (unreachable)
+ (unreachable)
+ )
)
- (if (i32.const -1)
- (call_indirect $ii (i32.const 123) (i32.const 456) (unreachable))
+ (if
+ (i32.const -1)
+ (call_indirect $ii
+ (i32.const 123)
+ (i32.const 456)
+ (unreachable)
+ )
+ )
+ (if
+ (i32.const -2)
+ (call_indirect $ii
+ (i32.const 139)
+ (unreachable)
+ (i32.const 0)
+ )
)
- (if (i32.const -2)
- (call_indirect $ii (i32.const 139) (unreachable) (i32.const 0))
+ (if
+ (i32.const -3)
+ (call_indirect $ii
+ (i32.const 246)
+ (unreachable)
+ (unreachable)
+ )
)
- (if (i32.const -3)
- (call_indirect $ii (i32.const 246) (unreachable) (unreachable))
+ (if
+ (i32.const -4)
+ (call_indirect $ii
+ (unreachable)
+ (unreachable)
+ (unreachable)
+ )
)
- (if (i32.const -4)
- (call_indirect $ii (unreachable) (unreachable) (unreachable))
+ (if
+ (i32.const 11)
+ (set_local $x
+ (unreachable)
+ )
)
- (if (i32.const 11)
- (set_local $x (unreachable))
+ (if
+ (i32.const 22)
+ (drop
+ (i32.load
+ (unreachable)
+ )
+ )
)
- (if (i32.const 22)
- (i32.load (unreachable))
+ (if
+ (i32.const 33)
+ (i32.store
+ (i32.const 0)
+ (unreachable)
+ )
)
- (if (i32.const 33)
- (i32.store (i32.const 0) (unreachable))
+ (if
+ (i32.const 44)
+ (i32.store
+ (unreachable)
+ (i32.const 0)
+ )
)
- (if (i32.const 44)
- (i32.store (unreachable) (i32.const 0))
+ (if
+ (i32.const 55)
+ (i32.store
+ (unreachable)
+ (unreachable)
+ )
)
- (if (i32.const 55)
- (i32.store (unreachable) (unreachable))
+ (if
+ (i32.const 66)
+ (drop
+ (i32.eqz
+ (unreachable)
+ )
+ )
)
- (if (i32.const 66)
- (i32.eqz (unreachable))
+ (if
+ (i32.const 77)
+ (drop
+ (i32.add
+ (unreachable)
+ (i32.const 0)
+ )
+ )
)
- (if (i32.const 77)
- (i32.add (unreachable) (i32.const 0))
+ (if
+ (i32.const 88)
+ (drop
+ (i32.add
+ (i32.const 0)
+ (unreachable)
+ )
+ )
)
- (if (i32.const 88)
- (i32.add (i32.const 0) (unreachable))
+ (if
+ (i32.const 99)
+ (i32.add
+ (unreachable)
+ (unreachable)
+ )
)
- (if (i32.const 99)
- (i32.add (unreachable) (unreachable))
+ (if
+ (i32.const 100)
+ (drop
+ (select
+ (i32.const 123)
+ (i32.const 456)
+ (unreachable)
+ )
+ )
)
- (if (i32.const 100)
- (select (i32.const 123) (i32.const 456) (unreachable))
+ (if
+ (i32.const 101)
+ (drop
+ (select
+ (i32.const 123)
+ (unreachable)
+ (i32.const 456)
+ )
+ )
)
- (if (i32.const 101)
- (select (i32.const 123) (unreachable) (i32.const 456))
+ (if
+ (i32.const 102)
+ (drop
+ (select
+ (unreachable)
+ (i32.const 123)
+ (i32.const 456)
+ )
+ )
)
- (if (i32.const 102)
- (select (unreachable) (i32.const 123) (i32.const 456))
+ (drop
+ (i32.const 1337)
)
- (i32.const 1337)
)
- (func $killer
+ (func $killer (type $1)
(unreachable)
- (i32.const 1000)
+ (drop
+ (i32.const 1000)
+ )
)
- (func $target
- (i32.const 2000)
+ (func $target (type $1)
+ (drop
+ (i32.const 2000)
+ )
)
)
-
diff --git a/test/passes/drop-return-values.txt b/test/passes/drop-return-values.txt
deleted file mode 100644
index 81ca99327..000000000
--- a/test/passes/drop-return-values.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-(module
- (memory 10)
- (type $0 (func))
- (func $0 (type $0)
- (local $x i32)
- (local $1 i32)
- (i32.add
- (block
- (set_local $x
- (i32.const 10)
- )
- (get_local $x)
- )
- (i32.const 20)
- )
- (i32.add
- (block
- (block
- (set_local $1
- (i32.const 40)
- )
- (i32.store
- (i32.const 30)
- (get_local $1)
- )
- )
- (get_local $1)
- )
- (i32.const 50)
- )
- )
-)
diff --git a/test/passes/drop-return-values.wast b/test/passes/drop-return-values.wast
deleted file mode 100644
index 76463cc8e..000000000
--- a/test/passes/drop-return-values.wast
+++ /dev/null
@@ -1,9 +0,0 @@
-(module
- (memory 10)
- (func
- (local $x i32)
- (i32.add (set_local $x (i32.const 10)) (i32.const 20))
- (i32.add (i32.store (i32.const 30) (i32.const 40)) (i32.const 50))
- )
-)
-
diff --git a/test/passes/duplicate-function-elimination.txt b/test/passes/duplicate-function-elimination.txt
index a7511fc5c..c49f7fd6f 100644
--- a/test/passes/duplicate-function-elimination.txt
+++ b/test/passes/duplicate-function-elimination.txt
@@ -9,7 +9,9 @@
(memory 0)
(type $0 (func))
(func $keep2 (type $0)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
)
(func $other (type $0)
(nop)
@@ -19,25 +21,31 @@
(memory 0)
(type $0 (func))
(func $erase (type $0)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
)
)
(module
(memory 0)
(type $0 (func))
(func $keep2 (type $0)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
)
(func $other (type $0)
- (i32.const 1)
+ (drop
+ (i32.const 1)
+ )
)
)
(module
(memory 0)
(start $keep2)
(type $0 (func))
- (export "keep2" $keep2)
- (export "other" $keep2)
+ (export "keep2" (func $keep2))
+ (export "other" (func $keep2))
(table 3 3 anyfunc)
(elem (i32.const 0) $keep2 $keep2 $caller)
(func $keep2 (type $0)
@@ -81,10 +89,14 @@
(type $2 (func))
(type $3 (func (param i32)))
(func $keep4-similar-but-func-sig-differs (type $2)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
)
(func $other1 (type $3) (param $i i32)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
)
(func $other2 (type $T) (result i32)
(i32.const 0)
@@ -98,7 +110,9 @@
(type $S (func (result i32)))
(type $1 (func (param i32)))
(func $keep2-similar-but-func-sig-differs (type $1) (param $i i32)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
)
(func $other2 (type $S) (result i32)
(i32.const 0)
@@ -199,15 +213,21 @@
(type $0 (func))
(func $keep2 (type $0)
(block $foo
- (br $foo
- (i32.const 0)
+ (block $block0
+ (drop
+ (i32.const 0)
+ )
+ (br $foo)
)
)
)
(func $other (type $0)
(block $bar
- (br $bar
- (i32.const 1)
+ (block $block0
+ (drop
+ (i32.const 1)
+ )
+ (br $bar)
)
)
)
@@ -263,7 +283,7 @@
(memory 0)
(type $0 (func))
(func $erase (type $0)
- (loop $foo $bar
+ (loop $bar
(nop)
)
)
@@ -272,18 +292,22 @@
(memory 0)
(type $0 (func))
(func $keep2 (type $0)
- (block $foo
- (br_table $foo $foo
- (i32.const 0)
- (i32.const 0)
+ (drop
+ (block $foo
+ (br_table $foo $foo
+ (i32.const 0)
+ (i32.const 0)
+ )
)
)
)
(func $other (type $0)
- (block $bar
- (br_table $bar $bar
- (i32.const 0)
- (i32.const 1)
+ (drop
+ (block $bar
+ (br_table $bar $bar
+ (i32.const 0)
+ (i32.const 1)
+ )
)
)
)
@@ -343,8 +367,8 @@
(module
(memory 0)
(type $FUNCSIG$v (func))
- (import $i "env" "i")
- (import $i "env" "j")
+ (import "env" "i" (func $i))
+ (import "env" "j" (func $i))
(func $erase (type $FUNCSIG$v)
(call_import $i)
)
@@ -352,8 +376,8 @@
(module
(memory 0)
(type $FUNCSIG$v (func))
- (import $i "env" "i")
- (import $j "env" "j")
+ (import "env" "i" (func $i))
+ (import "env" "j" (func $j))
(func $keep2 (type $FUNCSIG$v)
(call_import $i)
)
@@ -410,7 +434,9 @@
(type $0 (func))
(func $erase-even-locals-with-different-names (type $0)
(local $i i32)
- (get_local $i)
+ (drop
+ (get_local $i)
+ )
)
)
(module
@@ -418,11 +444,15 @@
(type $0 (func))
(func $keep2 (type $0)
(local $i i32)
- (get_local $i)
+ (drop
+ (get_local $i)
+ )
)
(func $other (type $0)
(local $j i64)
- (get_local $j)
+ (drop
+ (get_local $j)
+ )
)
)
(module
@@ -471,11 +501,15 @@
(memory 10)
(type $0 (func))
(func $erase (type $0)
- (i32.load
- (i32.const 0)
+ (drop
+ (i32.load
+ (i32.const 0)
+ )
)
- (i32.load8_s offset=3 align=2
- (i32.const 0)
+ (drop
+ (i32.load16_s offset=3
+ (i32.const 0)
+ )
)
)
)
@@ -483,13 +517,17 @@
(memory 10)
(type $0 (func))
(func $keep2 (type $0)
- (i32.load16_s offset=3
- (i32.const 0)
+ (drop
+ (i32.load offset=3
+ (i32.const 0)
+ )
)
)
(func $other (type $0)
- (i32.load8_s offset=3 align=2
- (i32.const 0)
+ (drop
+ (i32.load16_s offset=3
+ (i32.const 0)
+ )
)
)
)
@@ -497,13 +535,17 @@
(memory 10)
(type $0 (func))
(func $keep2 (type $0)
- (i32.load8_s offset=3
- (i32.const 0)
+ (drop
+ (i32.load16_s offset=3
+ (i32.const 0)
+ )
)
)
(func $other (type $0)
- (i32.load8_s offset=3 align=2
- (i32.const 0)
+ (drop
+ (i32.load16_s offset=3 align=1
+ (i32.const 0)
+ )
)
)
)
@@ -511,13 +553,17 @@
(memory 10)
(type $0 (func))
(func $keep2 (type $0)
- (i32.load8_s align=2
- (i32.const 0)
+ (drop
+ (i32.load16_s
+ (i32.const 0)
+ )
)
)
(func $other (type $0)
- (i32.load8_s offset=3 align=2
- (i32.const 0)
+ (drop
+ (i32.load16_s offset=3
+ (i32.const 0)
+ )
)
)
)
@@ -525,13 +571,17 @@
(memory 10)
(type $0 (func))
(func $keep2 (type $0)
- (i32.load8_s offset=3 align=2
- (i32.const 0)
+ (drop
+ (i32.load16_s offset=3
+ (i32.const 0)
+ )
)
)
(func $other (type $0)
- (i32.load8_s offset=3 align=2
- (i32.const 1)
+ (drop
+ (i32.load16_s offset=3
+ (i32.const 1)
+ )
)
)
)
@@ -539,13 +589,17 @@
(memory 10)
(type $0 (func))
(func $keep2 (type $0)
- (i32.load8_u offset=3 align=2
- (i32.const 0)
+ (drop
+ (i32.load16_u offset=3
+ (i32.const 0)
+ )
)
)
(func $other (type $0)
- (i32.load8_s offset=3 align=2
- (i32.const 0)
+ (drop
+ (i32.load16_s offset=3
+ (i32.const 0)
+ )
)
)
)
@@ -557,7 +611,7 @@
(i32.const 0)
(i32.const 100)
)
- (i32.store8 offset=3 align=2
+ (i32.store16 offset=3
(i32.const 0)
(i32.const 100)
)
@@ -567,13 +621,13 @@
(memory 10)
(type $0 (func))
(func $keep2 (type $0)
- (i32.store16 offset=3
+ (i32.store offset=3
(i32.const 0)
(i32.const 100)
)
)
(func $other (type $0)
- (i32.store8 offset=3 align=2
+ (i32.store16 offset=3
(i32.const 0)
(i32.const 100)
)
@@ -583,13 +637,13 @@
(memory 10)
(type $0 (func))
(func $keep2 (type $0)
- (i32.store8 offset=3
+ (i32.store16 offset=3
(i32.const 0)
(i32.const 100)
)
)
(func $other (type $0)
- (i32.store8 offset=3 align=2
+ (i32.store16 offset=3 align=1
(i32.const 0)
(i32.const 100)
)
@@ -599,13 +653,13 @@
(memory 10)
(type $0 (func))
(func $keep2 (type $0)
- (i32.store8 align=2
+ (i32.store16
(i32.const 0)
(i32.const 100)
)
)
(func $other (type $0)
- (i32.store8 offset=3 align=2
+ (i32.store16 offset=3
(i32.const 0)
(i32.const 100)
)
@@ -615,13 +669,13 @@
(memory 10)
(type $0 (func))
(func $keep2 (type $0)
- (i32.store8 offset=3 align=2
+ (i32.store16 offset=3
(i32.const 0)
(i32.const 100)
)
)
(func $other (type $0)
- (i32.store8 offset=3 align=2
+ (i32.store16 offset=3
(i32.const 1)
(i32.const 100)
)
@@ -631,13 +685,13 @@
(memory 10)
(type $0 (func))
(func $keep2 (type $0)
- (i32.store8 offset=3 align=2
+ (i32.store16 offset=3
(i32.const 0)
(i32.const 100)
)
)
(func $other (type $0)
- (i32.store8 offset=3 align=2
+ (i32.store16 offset=3
(i32.const 0)
(i32.const 101)
)
@@ -647,68 +701,94 @@
(memory 0)
(type $0 (func))
(func $keep2 (type $0)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
)
(func $other (type $0)
- (i64.const 0)
+ (drop
+ (i64.const 0)
+ )
)
)
(module
(memory 0)
(type $0 (func))
(func $keep2 (type $0)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
)
(func $other (type $0)
- (f32.const 0)
+ (drop
+ (f32.const 0)
+ )
)
)
(module
(memory 0)
(type $0 (func))
(func $keep2 (type $0)
- (i32.const 0)
+ (drop
+ (i32.const 0)
+ )
)
(func $other (type $0)
- (f64.const 0)
+ (drop
+ (f64.const 0)
+ )
)
)
(module
(memory 0)
(type $0 (func))
(func $keep2 (type $0)
- (i64.const 0)
+ (drop
+ (i64.const 0)
+ )
)
(func $other (type $0)
- (i64.const 1)
+ (drop
+ (i64.const 1)
+ )
)
)
(module
(memory 0)
(type $0 (func))
(func $keep2 (type $0)
- (f32.const 0.10000000149011612)
+ (drop
+ (f32.const 0.10000000149011612)
+ )
)
(func $other (type $0)
- (f32.const -0.10000000149011612)
+ (drop
+ (f32.const -0.10000000149011612)
+ )
)
)
(module
(memory 0)
(type $0 (func))
(func $keep2 (type $0)
- (f64.const 0.1)
+ (drop
+ (f64.const 0.1)
+ )
)
(func $other (type $0)
- (f64.const 0.2)
+ (drop
+ (f64.const 0.2)
+ )
)
)
(module
(memory 0)
(type $0 (func))
(func $erase (type $0)
- (f32.abs
- (f32.const 0)
+ (drop
+ (f32.abs
+ (f32.const 0)
+ )
)
)
)
@@ -716,13 +796,17 @@
(memory 0)
(type $0 (func))
(func $keep2 (type $0)
- (f32.abs
- (f32.const 0)
+ (drop
+ (f32.abs
+ (f32.const 0)
+ )
)
)
(func $other (type $0)
- (f32.abs
- (f32.const 1)
+ (drop
+ (f32.abs
+ (f32.const 1)
+ )
)
)
)
@@ -730,13 +814,17 @@
(memory 0)
(type $0 (func))
(func $keep2 (type $0)
- (f32.abs
- (f32.const 0)
+ (drop
+ (f32.abs
+ (f32.const 0)
+ )
)
)
(func $other (type $0)
- (f32.neg
- (f32.const 0)
+ (drop
+ (f32.neg
+ (f32.const 0)
+ )
)
)
)
@@ -744,9 +832,11 @@
(memory 0)
(type $0 (func))
(func $erase (type $0)
- (f32.add
- (f32.const 0)
- (f32.const 0)
+ (drop
+ (f32.add
+ (f32.const 0)
+ (f32.const 0)
+ )
)
)
)
@@ -754,15 +844,19 @@
(memory 0)
(type $0 (func))
(func $keep2 (type $0)
- (f32.add
- (f32.const 0)
- (f32.const 0)
+ (drop
+ (f32.add
+ (f32.const 0)
+ (f32.const 0)
+ )
)
)
(func $other (type $0)
- (f32.add
- (f32.const 0)
- (f32.const 1)
+ (drop
+ (f32.add
+ (f32.const 0)
+ (f32.const 1)
+ )
)
)
)
@@ -770,15 +864,19 @@
(memory 0)
(type $0 (func))
(func $keep2 (type $0)
- (f32.add
- (f32.const 0)
- (f32.const 0)
+ (drop
+ (f32.add
+ (f32.const 0)
+ (f32.const 0)
+ )
)
)
(func $other (type $0)
- (f32.add
- (f32.const 1)
- (f32.const 0)
+ (drop
+ (f32.add
+ (f32.const 1)
+ (f32.const 0)
+ )
)
)
)
@@ -786,15 +884,19 @@
(memory 0)
(type $0 (func))
(func $keep2 (type $0)
- (f32.add
- (f32.const 0)
- (f32.const 0)
+ (drop
+ (f32.add
+ (f32.const 0)
+ (f32.const 0)
+ )
)
)
(func $other (type $0)
- (f32.sub
- (f32.const 0)
- (f32.const 0)
+ (drop
+ (f32.sub
+ (f32.const 0)
+ (f32.const 0)
+ )
)
)
)
@@ -802,10 +904,12 @@
(memory 0)
(type $0 (func))
(func $erase (type $0)
- (select
- (i32.const 0)
- (i32.const 0)
- (i32.const 0)
+ (drop
+ (select
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 0)
+ )
)
)
)
@@ -813,17 +917,21 @@
(memory 0)
(type $0 (func))
(func $keep (type $0)
- (select
- (i32.const 0)
- (i32.const 0)
- (i32.const 0)
+ (drop
+ (select
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 0)
+ )
)
)
(func $other (type $0)
- (select
- (i32.const 1)
- (i32.const 0)
- (i32.const 0)
+ (drop
+ (select
+ (i32.const 1)
+ (i32.const 0)
+ (i32.const 0)
+ )
)
)
)
@@ -831,17 +939,21 @@
(memory 0)
(type $0 (func))
(func $keep (type $0)
- (select
- (i32.const 0)
- (i32.const 0)
- (i32.const 0)
+ (drop
+ (select
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 0)
+ )
)
)
(func $other (type $0)
- (select
- (i32.const 0)
- (i32.const 2)
- (i32.const 0)
+ (drop
+ (select
+ (i32.const 0)
+ (i32.const 2)
+ (i32.const 0)
+ )
)
)
)
@@ -849,17 +961,21 @@
(memory 0)
(type $0 (func))
(func $keep (type $0)
- (select
- (i32.const 0)
- (i32.const 0)
- (i32.const 0)
+ (drop
+ (select
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 0)
+ )
)
)
(func $other (type $0)
- (select
- (i32.const 0)
- (i32.const 0)
- (i32.const 3)
+ (drop
+ (select
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 3)
+ )
)
)
)
@@ -897,15 +1013,19 @@
(memory 0)
(type $0 (func))
(func $erase (type $0)
- (current_memory)
+ (drop
+ (current_memory)
+ )
)
)
(module
(memory 0)
(type $0 (func))
(func $erase (type $0)
- (grow_memory
- (i32.const 10)
+ (drop
+ (grow_memory
+ (i32.const 10)
+ )
)
)
)
@@ -913,13 +1033,17 @@
(memory 0)
(type $0 (func))
(func $keep (type $0)
- (grow_memory
- (i32.const 10)
+ (drop
+ (grow_memory
+ (i32.const 10)
+ )
)
)
(func $other (type $0)
- (grow_memory
- (i32.const 11)
+ (drop
+ (grow_memory
+ (i32.const 11)
+ )
)
)
)
@@ -927,11 +1051,15 @@
(memory 0)
(type $0 (func))
(func $keep (type $0)
- (current_memory)
+ (drop
+ (current_memory)
+ )
)
(func $other (type $0)
- (grow_memory
- (i32.const 10)
+ (drop
+ (grow_memory
+ (i32.const 10)
+ )
)
)
)
diff --git a/test/passes/duplicate-function-elimination.wast b/test/passes/duplicate-function-elimination.wast
index 8d1a85cd5..f72ef542e 100644
--- a/test/passes/duplicate-function-elimination.wast
+++ b/test/passes/duplicate-function-elimination.wast
@@ -1,87 +1,118 @@
(module
- (func $erase
+ (memory 0)
+ (type $0 (func))
+ (func $erase (type $0)
(nop)
)
- (func $other
+ (func $other (type $0)
(nop)
)
)
(module
- (func $keep2
- (i32.const 0)
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (i32.const 0)
+ )
)
- (func $other
+ (func $other (type $0)
(nop)
)
)
(module
- (func $erase
- (i32.const 0)
+ (memory 0)
+ (type $0 (func))
+ (func $erase (type $0)
+ (drop
+ (i32.const 0)
+ )
)
- (func $other
- (i32.const 0)
+ (func $other (type $0)
+ (drop
+ (i32.const 0)
+ )
)
)
(module
- (func $keep2
- (i32.const 0)
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (i32.const 0)
+ )
)
- (func $other
- (i32.const 1)
+ (func $other (type $0)
+ (drop
+ (i32.const 1)
+ )
)
)
(module
+ (memory 0)
+ (start $other)
+ (type $0 (func))
(export "keep2" $keep2)
(export "other" $other)
- (start $other)
(table $keep2 $other $caller)
- (func $keep2
+ (func $keep2 (type $0)
(nop)
)
- (func $other
+ (func $other (type $0)
(nop)
)
- (func $caller
+ (func $caller (type $0)
(call $keep2)
(call $other)
)
)
(module
- (func $keep2-after-two-passes
+ (memory 0)
+ (type $0 (func))
+ (func $keep2-after-two-passes (type $0)
(nop)
)
- (func $other
+ (func $other (type $0)
(nop)
)
- (func $keep-caller
+ (func $keep-caller (type $0)
(call $keep2-after-two-passes)
)
- (func $other-caller
+ (func $other-caller (type $0)
(call $other)
)
)
(module
- (func $keep-4
+ (memory 0)
+ (type $0 (func))
+ (func $keep-4 (type $0)
(nop)
)
- (func $other
+ (func $other (type $0)
(unreachable)
)
- (func $keep-caller
+ (func $keep-caller (type $0)
(call $keep-4)
)
- (func $other-caller
+ (func $other-caller (type $0)
(call $other)
)
)
(module
- (type T (func (result i32)))
- (type S (func (result i32)))
- (func $keep4-similar-but-func-sig-differs
- (i32.const 0)
+ (memory 0)
+ (type $T (func (result i32)))
+ (type $S (func (result i32)))
+ (type $2 (func))
+ (type $3 (func (param i32)))
+ (func $keep4-similar-but-func-sig-differs (type $2)
+ (drop
+ (i32.const 0)
+ )
)
- (func $other1 (param $i i32)
- (i32.const 0)
+ (func $other1 (type $3) (param $i i32)
+ (drop
+ (i32.const 0)
+ )
)
(func $other2 (type $T) (result i32)
(i32.const 0)
@@ -91,12 +122,18 @@
)
)
(module
- (type S (func (result i32)))
- (func $keep2-similar-but-func-sig-differs (param $i i32)
- (i32.const 0)
+ (memory 0)
+ (type $S (func (result i32)))
+ (type $1 (func (param i32)))
+ (func $keep2-similar-but-func-sig-differs (type $1) (param $i i32)
+ (drop
+ (i32.const 0)
+ )
)
- (func $other1 (param $i i32)
- (i32.const 0)
+ (func $other1 (type $1) (param $i i32)
+ (drop
+ (i32.const 0)
+ )
)
(func $other2 (type $S) (result i32)
(i32.const 0)
@@ -105,598 +142,1076 @@
(i32.const 0)
)
)
-;; hashing tests for expressions
(module
- (func $keep2
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
(nop)
)
- (func $other
+ (func $other (type $0)
(nop)
(nop)
)
)
(module
- (func $erase
- (block)
+ (memory 0)
+ (type $0 (func))
+ (func $erase (type $0)
+ (block $block0
+ )
)
- (func $other
- (block)
+ (func $other (type $0)
+ (block $block0
+ )
)
)
(module
- (func $keep2
- (block)
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (block $block0
+ )
)
- (func $other
- (block (nop))
+ (func $other (type $0)
+ (block $block0
+ (nop)
+ )
)
)
(module
- (func $erase
- (block (nop))
+ (memory 0)
+ (type $0 (func))
+ (func $erase (type $0)
+ (block $block0
+ (nop)
+ )
)
- (func $other
- (block (nop))
+ (func $other (type $0)
+ (block $block0
+ (nop)
+ )
)
)
(module
- (func $keep2
- (block (nop))
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (block $block0
+ (nop)
+ )
)
- (func $other
- (block (nop) (unreachable))
+ (func $other (type $0)
+ (block $block0
+ (nop)
+ (unreachable)
+ )
)
)
(module
- (func $keep2
- (block (nop))
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (block $block0
+ (nop)
+ )
)
- (func $other
- (block (unreachable))
+ (func $other (type $0)
+ (block $block0
+ (unreachable)
+ )
)
)
(module
- (func $erase-since-block-names-do-not-matter
- (block $foo)
+ (memory 0)
+ (type $0 (func))
+ (func $erase-since-block-names-do-not-matter (type $0)
+ (block $foo
+ )
)
- (func $other
- (block $bar)
+ (func $other (type $0)
+ (block $bar
+ )
)
)
(module
- (func $erase-since-block-names-do-not-matter
+ (memory 0)
+ (type $0 (func))
+ (func $erase-since-block-names-do-not-matter (type $0)
(block $foo
(br $foo)
- (br_table $foo $foo (i32.const 0))
+ (br_table $foo $foo
+ (i32.const 0)
+ )
)
)
- (func $other
+ (func $other (type $0)
(block $bar
(br $bar)
- (br_table $bar $bar (i32.const 0))
+ (br_table $bar $bar
+ (i32.const 0)
+ )
)
)
)
(module
- (func $keep2
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
(block $foo
- (br $foo (i32.const 0))
+ (block
+ (drop
+ (i32.const 0)
+ )
+ (br $foo)
+ )
)
)
- (func $other
+ (func $other (type $0)
(block $bar
- (br $bar (i32.const 1))
+ (block
+ (drop
+ (i32.const 1)
+ )
+ (br $bar)
+ )
)
)
)
(module
- (func $keep2
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
(block $foo
- (br_if $foo (i32.const 0))
+ (br_if $foo
+ (i32.const 0)
+ )
)
)
- (func $other
+ (func $other (type $0)
(block $bar
- (br_if $bar (i32.const 1))
+ (br_if $bar
+ (i32.const 1)
+ )
)
)
)
(module
- (func $erase
+ (memory 0)
+ (type $0 (func))
+ (func $erase (type $0)
(block $foo
- (br_if $foo (i32.const 0))
+ (br_if $foo
+ (i32.const 0)
+ )
)
)
- (func $other
+ (func $other (type $0)
(block $bar
- (br_if $bar (i32.const 0))
+ (br_if $bar
+ (i32.const 0)
+ )
)
)
)
(module
- (func $keep2
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
(block $foo
- (br_table $foo $foo (i32.const 0))
+ (br_table $foo $foo
+ (i32.const 0)
+ )
)
)
- (func $other
+ (func $other (type $0)
(block $bar
- (br_table $bar $bar (i32.const 1))
+ (br_table $bar $bar
+ (i32.const 1)
+ )
)
)
)
(module
- (func $erase
- (loop $foo $bar)
+ (memory 0)
+ (type $0 (func))
+ (func $erase (type $0)
+ (loop $bar
+ (nop)
+ )
)
- (func $other
- (loop $sfo $sjc)
+ (func $other (type $0)
+ (loop $sjc
+ (nop)
+ )
)
)
(module
- (func $keep2
- (block $foo
- (br_table $foo $foo (i32.const 0) (i32.const 0))
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (block $foo
+ (br_table $foo $foo
+ (i32.const 0)
+ (i32.const 0)
+ )
+ )
)
)
- (func $other
- (block $bar
- (br_table $bar $bar (i32.const 0) (i32.const 1))
+ (func $other (type $0)
+ (drop
+ (block $bar
+ (br_table $bar $bar
+ (i32.const 0)
+ (i32.const 1)
+ )
+ )
)
)
)
(module
- (func $keep2
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
(block $foo
(block $bar
- (br_table $foo $bar (i32.const 0))
+ (br_table $foo $bar
+ (i32.const 0)
+ )
)
)
)
- (func $other
+ (func $other (type $0)
(block $bar
(block $foo
- (br_table $bar $foo (i32.const 0))
+ (br_table $bar $foo
+ (i32.const 0)
+ )
)
)
)
)
(module
- (func $erase
+ (memory 0)
+ (type $0 (func))
+ (func $erase (type $0)
(block $foo
(block $bar
- (br_table $foo $bar (i32.const 0))
+ (br_table $foo $bar
+ (i32.const 0)
+ )
)
)
)
- (func $other
+ (func $other (type $0)
(block $bar
(block $foo
- (br_table $foo $bar (i32.const 0))
+ (br_table $foo $bar
+ (i32.const 0)
+ )
)
)
)
)
(module
- (func $erase
+ (memory 0)
+ (type $0 (func))
+ (func $erase (type $0)
(call $erase)
)
- (func $other
+ (func $other (type $0)
(call $erase)
)
)
(module
- (func $keep2-but-in-theory-we-could-erase ;; TODO FIXME
+ (memory 0)
+ (type $0 (func))
+ (func $keep2-but-in-theory-we-could-erase (type $0)
(call $keep2-but-in-theory-we-could-erase)
)
- (func $other
+ (func $other (type $0)
(call $other)
)
)
(module
+ (memory 0)
+ (type $FUNCSIG$v (func))
(import $i "env" "i")
(import $i "env" "j")
- (func $erase
+ (func $erase (type $FUNCSIG$v)
(call_import $i)
)
- (func $other
+ (func $other (type $FUNCSIG$v)
(call_import $i)
)
)
(module
+ (memory 0)
+ (type $FUNCSIG$v (func))
(import $i "env" "i")
(import $j "env" "j")
- (func $keep2
+ (func $keep2 (type $FUNCSIG$v)
(call_import $i)
)
- (func $other
+ (func $other (type $FUNCSIG$v)
(call_import $j)
)
)
(module
- (type T (func))
+ (memory 0)
+ (type $T (func))
(table $erase $other)
- (func $erase
- (call_indirect $T (i32.const 0))
+ (func $erase (type $T)
+ (call_indirect $T
+ (i32.const 0)
+ )
)
- (func $other
- (call_indirect $T (i32.const 0))
+ (func $other (type $T)
+ (call_indirect $T
+ (i32.const 0)
+ )
)
)
(module
- (type T (func))
+ (memory 0)
+ (type $T (func))
(table $keep2 $other)
- (func $keep2
- (call_indirect $T (i32.const 0))
+ (func $keep2 (type $T)
+ (call_indirect $T
+ (i32.const 0)
+ )
)
- (func $other
- (call_indirect $T (i32.const 1))
+ (func $other (type $T)
+ (call_indirect $T
+ (i32.const 1)
+ )
)
)
(module
- (type T (func))
- (type S (func))
+ (memory 0)
+ (type $T (func))
+ (type $S (func))
(table $keep2 $other)
- (func $keep2
- (call_indirect $T (i32.const 0))
+ (func $keep2 (type $T)
+ (call_indirect $T
+ (i32.const 0)
+ )
)
- (func $other
- (call_indirect $S (i32.const 0))
+ (func $other (type $T)
+ (call_indirect $S
+ (i32.const 0)
+ )
)
)
(module
- (func $erase-even-locals-with-different-names
+ (memory 0)
+ (type $0 (func))
+ (func $erase-even-locals-with-different-names (type $0)
(local $i i32)
- (get_local $i)
+ (drop
+ (get_local $i)
+ )
)
- (func $other
+ (func $other (type $0)
(local $j i32)
- (get_local $j)
+ (drop
+ (get_local $j)
+ )
)
)
(module
- (func $keep2
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
(local $i i32)
- (get_local $i)
+ (drop
+ (get_local $i)
+ )
)
- (func $other
+ (func $other (type $0)
(local $j i64)
- (get_local $j)
+ (drop
+ (get_local $j)
+ )
)
)
(module
- (func $erase-even-locals-with-different-names
+ (memory 0)
+ (type $0 (func))
+ (func $erase-even-locals-with-different-names (type $0)
(local $i i32)
- (set_local $i (i32.const 0))
+ (set_local $i
+ (i32.const 0)
+ )
)
- (func $other
+ (func $other (type $0)
(local $j i32)
- (set_local $j (i32.const 0))
+ (set_local $j
+ (i32.const 0)
+ )
)
)
(module
- (func $keep2
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
(local $i i32)
- (set_local $i (i32.const 0))
+ (set_local $i
+ (i32.const 0)
+ )
)
- (func $other
+ (func $other (type $0)
(local $j i64)
- (set_local $j (i64.const 0))
+ (set_local $j
+ (i64.const 0)
+ )
)
)
(module
- (func $keep2
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
(local $i i32)
- (set_local $i (i32.const 0))
+ (set_local $i
+ (i32.const 0)
+ )
)
- (func $other
+ (func $other (type $0)
(local $j i32)
- (set_local $j (i32.const 1))
+ (set_local $j
+ (i32.const 1)
+ )
)
)
(module
(memory 10)
- (func $erase
- (i32.load (i32.const 0))
- (i32.load8_s align=2 offset=3 (i32.const 0))
+ (type $0 (func))
+ (func $erase (type $0)
+ (drop
+ (i32.load
+ (i32.const 0)
+ )
+ )
+ (drop
+ (i32.load16_s offset=3 align=2
+ (i32.const 0)
+ )
+ )
)
- (func $other
- (i32.load (i32.const 0))
- (i32.load8_s align=2 offset=3 (i32.const 0))
+ (func $other (type $0)
+ (drop
+ (i32.load
+ (i32.const 0)
+ )
+ )
+ (drop
+ (i32.load16_s offset=3 align=2
+ (i32.const 0)
+ )
+ )
)
)
(module
(memory 10)
- (func $keep2
- (i32.load16_s align=2 offset=3 (i32.const 0))
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (i32.load offset=3
+ (i32.const 0)
+ )
+ )
)
- (func $other
- (i32.load8_s align=2 offset=3 (i32.const 0))
+ (func $other (type $0)
+ (drop
+ (i32.load16_s offset=3 align=2
+ (i32.const 0)
+ )
+ )
)
)
(module
(memory 10)
- (func $keep2
- (i32.load8_s offset=3 (i32.const 0))
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (i32.load16_s offset=3
+ (i32.const 0)
+ )
+ )
)
- (func $other
- (i32.load8_s align=2 offset=3 (i32.const 0))
+ (func $other (type $0)
+ (drop
+ (i32.load16_s offset=3 align=1
+ (i32.const 0)
+ )
+ )
)
)
(module
(memory 10)
- (func $keep2
- (i32.load8_s align=2 (i32.const 0))
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (i32.load16_s align=2
+ (i32.const 0)
+ )
+ )
)
- (func $other
- (i32.load8_s align=2 offset=3 (i32.const 0))
+ (func $other (type $0)
+ (drop
+ (i32.load16_s offset=3 align=2
+ (i32.const 0)
+ )
+ )
)
)
(module
(memory 10)
- (func $keep2
- (i32.load8_s align=2 offset=3 (i32.const 0))
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (i32.load16_s offset=3 align=2
+ (i32.const 0)
+ )
+ )
)
- (func $other
- (i32.load8_s align=2 offset=3 (i32.const 1))
+ (func $other (type $0)
+ (drop
+ (i32.load16_s offset=3 align=2
+ (i32.const 1)
+ )
+ )
)
)
(module
(memory 10)
- (func $keep2
- (i32.load8_u align=2 offset=3 (i32.const 0))
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (i32.load16_u offset=3 align=2
+ (i32.const 0)
+ )
+ )
)
- (func $other
- (i32.load8_s align=2 offset=3 (i32.const 0))
+ (func $other (type $0)
+ (drop
+ (i32.load16_s offset=3 align=2
+ (i32.const 0)
+ )
+ )
)
)
-
(module
(memory 10)
- (func $erase
- (i32.store (i32.const 0) (i32.const 100))
- (i32.store8 align=2 offset=3 (i32.const 0) (i32.const 100))
+ (type $0 (func))
+ (func $erase (type $0)
+ (i32.store
+ (i32.const 0)
+ (i32.const 100)
+ )
+ (i32.store16 offset=3 align=2
+ (i32.const 0)
+ (i32.const 100)
+ )
)
- (func $other
- (i32.store (i32.const 0) (i32.const 100))
- (i32.store8 align=2 offset=3 (i32.const 0) (i32.const 100))
+ (func $other (type $0)
+ (i32.store
+ (i32.const 0)
+ (i32.const 100)
+ )
+ (i32.store16 offset=3 align=2
+ (i32.const 0)
+ (i32.const 100)
+ )
)
)
(module
(memory 10)
- (func $keep2
- (i32.store16 align=2 offset=3 (i32.const 0) (i32.const 100))
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (i32.store32 offset=3
+ (i32.const 0)
+ (i32.const 100)
+ )
)
- (func $other
- (i32.store8 align=2 offset=3 (i32.const 0) (i32.const 100))
+ (func $other (type $0)
+ (i32.store16 offset=3 align=2
+ (i32.const 0)
+ (i32.const 100)
+ )
)
)
(module
(memory 10)
- (func $keep2
- (i32.store8 offset=3 (i32.const 0) (i32.const 100))
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (i32.store16 offset=3
+ (i32.const 0)
+ (i32.const 100)
+ )
)
- (func $other
- (i32.store8 align=2 offset=3 (i32.const 0) (i32.const 100))
+ (func $other (type $0)
+ (i32.store16 offset=3 align=1
+ (i32.const 0)
+ (i32.const 100)
+ )
)
)
(module
(memory 10)
- (func $keep2
- (i32.store8 align=2 (i32.const 0) (i32.const 100))
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (i32.store16 align=2
+ (i32.const 0)
+ (i32.const 100)
+ )
)
- (func $other
- (i32.store8 align=2 offset=3 (i32.const 0) (i32.const 100))
+ (func $other (type $0)
+ (i32.store16 offset=3 align=2
+ (i32.const 0)
+ (i32.const 100)
+ )
)
)
(module
(memory 10)
- (func $keep2
- (i32.store8 align=2 offset=3 (i32.const 0) (i32.const 100))
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (i32.store16 offset=3 align=2
+ (i32.const 0)
+ (i32.const 100)
+ )
)
- (func $other
- (i32.store8 align=2 offset=3 (i32.const 1) (i32.const 100))
+ (func $other (type $0)
+ (i32.store16 offset=3 align=2
+ (i32.const 1)
+ (i32.const 100)
+ )
)
)
(module
(memory 10)
- (func $keep2
- (i32.store8 align=2 offset=3 (i32.const 0) (i32.const 100))
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (i32.store16 offset=3 align=2
+ (i32.const 0)
+ (i32.const 100)
+ )
)
- (func $other
- (i32.store8 align=2 offset=3 (i32.const 0) (i32.const 101))
+ (func $other (type $0)
+ (i32.store16 offset=3 align=2
+ (i32.const 0)
+ (i32.const 101)
+ )
)
)
(module
- (func $keep2
- (i32.const 0)
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (i32.const 0)
+ )
)
- (func $other
- (i64.const 0)
+ (func $other (type $0)
+ (drop
+ (i64.const 0)
+ )
)
)
(module
- (func $keep2
- (i32.const 0)
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (i32.const 0)
+ )
)
- (func $other
- (f32.const 0)
+ (func $other (type $0)
+ (drop
+ (f32.const 0)
+ )
)
)
(module
- (func $keep2
- (i32.const 0)
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (i32.const 0)
+ )
)
- (func $other
- (f64.const 0)
+ (func $other (type $0)
+ (drop
+ (f64.const 0)
+ )
)
)
(module
- (func $keep2
- (i64.const 0)
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (i64.const 0)
+ )
)
- (func $other
- (i64.const 1)
+ (func $other (type $0)
+ (drop
+ (i64.const 1)
+ )
)
)
(module
- (func $keep2
- (f32.const 0.1)
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (f32.const 0.10000000149011612)
+ )
)
- (func $other
- (f32.const -0.1)
+ (func $other (type $0)
+ (drop
+ (f32.const -0.10000000149011612)
+ )
)
)
(module
- (func $keep2
- (f64.const 0.1)
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (f64.const 0.1)
+ )
)
- (func $other
- (f64.const 0.2)
+ (func $other (type $0)
+ (drop
+ (f64.const 0.2)
+ )
)
)
(module
- (func $erase
- (f32.abs (f32.const 0))
+ (memory 0)
+ (type $0 (func))
+ (func $erase (type $0)
+ (drop
+ (f32.abs
+ (f32.const 0)
+ )
+ )
)
- (func $other
- (f32.abs (f32.const 0))
+ (func $other (type $0)
+ (drop
+ (f32.abs
+ (f32.const 0)
+ )
+ )
)
)
(module
- (func $keep2
- (f32.abs (f32.const 0))
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (f32.abs
+ (f32.const 0)
+ )
+ )
)
- (func $other
- (f32.abs (f32.const 1))
+ (func $other (type $0)
+ (drop
+ (f32.abs
+ (f32.const 1)
+ )
+ )
)
)
(module
- (func $keep2
- (f32.abs (f32.const 0))
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (f32.abs
+ (f32.const 0)
+ )
+ )
)
- (func $other
- (f32.neg (f32.const 0))
+ (func $other (type $0)
+ (drop
+ (f32.neg
+ (f32.const 0)
+ )
+ )
)
)
(module
- (func $erase
- (f32.add (f32.const 0) (f32.const 0))
+ (memory 0)
+ (type $0 (func))
+ (func $erase (type $0)
+ (drop
+ (f32.add
+ (f32.const 0)
+ (f32.const 0)
+ )
+ )
)
- (func $other
- (f32.add (f32.const 0) (f32.const 0))
+ (func $other (type $0)
+ (drop
+ (f32.add
+ (f32.const 0)
+ (f32.const 0)
+ )
+ )
)
)
(module
- (func $keep2
- (f32.add (f32.const 0) (f32.const 0))
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (f32.add
+ (f32.const 0)
+ (f32.const 0)
+ )
+ )
)
- (func $other
- (f32.add (f32.const 0) (f32.const 1))
+ (func $other (type $0)
+ (drop
+ (f32.add
+ (f32.const 0)
+ (f32.const 1)
+ )
+ )
)
)
(module
- (func $keep2
- (f32.add (f32.const 0) (f32.const 0))
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (f32.add
+ (f32.const 0)
+ (f32.const 0)
+ )
+ )
)
- (func $other
- (f32.add (f32.const 1) (f32.const 0))
+ (func $other (type $0)
+ (drop
+ (f32.add
+ (f32.const 1)
+ (f32.const 0)
+ )
+ )
)
)
(module
- (func $keep2
- (f32.add (f32.const 0) (f32.const 0))
+ (memory 0)
+ (type $0 (func))
+ (func $keep2 (type $0)
+ (drop
+ (f32.add
+ (f32.const 0)
+ (f32.const 0)
+ )
+ )
)
- (func $other
- (f32.sub (f32.const 0) (f32.const 0))
+ (func $other (type $0)
+ (drop
+ (f32.sub
+ (f32.const 0)
+ (f32.const 0)
+ )
+ )
)
)
(module
- (func $erase
- (select (i32.const 0) (i32.const 0) (i32.const 0))
+ (memory 0)
+ (type $0 (func))
+ (func $erase (type $0)
+ (drop
+ (select
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 0)
+ )
+ )
)
- (func $other
- (select (i32.const 0) (i32.const 0) (i32.const 0))
+ (func $other (type $0)
+ (drop
+ (select
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 0)
+ )
+ )
)
)
(module
- (func $keep
- (select (i32.const 0) (i32.const 0) (i32.const 0))
+ (memory 0)
+ (type $0 (func))
+ (func $keep (type $0)
+ (drop
+ (select
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 0)
+ )
+ )
)
- (func $other
- (select (i32.const 1) (i32.const 0) (i32.const 0))
+ (func $other (type $0)
+ (drop
+ (select
+ (i32.const 1)
+ (i32.const 0)
+ (i32.const 0)
+ )
+ )
)
)
(module
- (func $keep
- (select (i32.const 0) (i32.const 0) (i32.const 0))
+ (memory 0)
+ (type $0 (func))
+ (func $keep (type $0)
+ (drop
+ (select
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 0)
+ )
+ )
)
- (func $other
- (select (i32.const 0) (i32.const 2) (i32.const 0))
+ (func $other (type $0)
+ (drop
+ (select
+ (i32.const 0)
+ (i32.const 2)
+ (i32.const 0)
+ )
+ )
)
)
(module
- (func $keep
- (select (i32.const 0) (i32.const 0) (i32.const 0))
+ (memory 0)
+ (type $0 (func))
+ (func $keep (type $0)
+ (drop
+ (select
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 0)
+ )
+ )
)
- (func $other
- (select (i32.const 0) (i32.const 0) (i32.const 3))
+ (func $other (type $0)
+ (drop
+ (select
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 3)
+ )
+ )
)
)
(module
- (func $erase
+ (memory 0)
+ (type $0 (func))
+ (func $erase (type $0)
(return)
)
- (func $other
+ (func $other (type $0)
(return)
)
)
(module
- (func $erase (result i32)
- (return (i32.const 0))
+ (memory 0)
+ (type $0 (func (result i32)))
+ (func $erase (type $0) (result i32)
+ (return
+ (i32.const 0)
+ )
)
- (func $other (result i32)
- (return (i32.const 0))
+ (func $other (type $0) (result i32)
+ (return
+ (i32.const 0)
+ )
)
)
(module
- (func $keep (result i32)
- (return (i32.const 0))
+ (memory 0)
+ (type $0 (func (result i32)))
+ (func $keep (type $0) (result i32)
+ (return
+ (i32.const 0)
+ )
)
- (func $other (result i32)
- (return (i32.const 1))
+ (func $other (type $0) (result i32)
+ (return
+ (i32.const 1)
+ )
)
)
(module
- (func $erase
- (current_memory)
+ (memory 0)
+ (type $0 (func))
+ (func $erase (type $0)
+ (drop
+ (current_memory)
+ )
)
- (func $other
- (current_memory)
+ (func $other (type $0)
+ (drop
+ (current_memory)
+ )
)
)
(module
- (func $erase
- (grow_memory (i32.const 10))
+ (memory 0)
+ (type $0 (func))
+ (func $erase (type $0)
+ (drop
+ (grow_memory
+ (i32.const 10)
+ )
+ )
)
- (func $other
- (grow_memory (i32.const 10))
+ (func $other (type $0)
+ (drop
+ (grow_memory
+ (i32.const 10)
+ )
+ )
)
)
(module
- (func $keep
- (grow_memory (i32.const 10))
+ (memory 0)
+ (type $0 (func))
+ (func $keep (type $0)
+ (drop
+ (grow_memory
+ (i32.const 10)
+ )
+ )
)
- (func $other
- (grow_memory (i32.const 11))
+ (func $other (type $0)
+ (drop
+ (grow_memory
+ (i32.const 11)
+ )
+ )
)
)
(module
- (func $keep
- (current_memory)
+ (memory 0)
+ (type $0 (func))
+ (func $keep (type $0)
+ (drop
+ (current_memory)
+ )
)
- (func $other
- (grow_memory (i32.const 10))
+ (func $other (type $0)
+ (drop
+ (grow_memory
+ (i32.const 10)
+ )
+ )
)
)
-
diff --git a/test/passes/lower-if-else.txt b/test/passes/lower-if-else.txt
deleted file mode 100644
index 93dd6d916..000000000
--- a/test/passes/lower-if-else.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-(module
- (memory 256 256)
- (type $0 (func))
- (func $ifs (type $0)
- (block $block0
- (if
- (i32.const 0)
- (i32.const 1)
- )
- (block $L0
- (if
- (i32.const 0)
- (br $L0
- (i32.const 1)
- )
- )
- (i32.const 2)
- )
- (block $L1
- (if
- (i32.const 4)
- (br $L1
- (i32.const 5)
- )
- )
- (i32.const 6)
- )
- (i32.eq
- (block $L2
- (if
- (i32.const 4)
- (br $L2
- (i32.const 5)
- )
- )
- (i32.const 6)
- )
- (i32.const 177)
- )
- )
- )
-)
diff --git a/test/passes/lower-if-else.wast b/test/passes/lower-if-else.wast
deleted file mode 100644
index 138a8a206..000000000
--- a/test/passes/lower-if-else.wast
+++ /dev/null
@@ -1,29 +0,0 @@
-(module
- (memory 256 256)
- (func $ifs
- (block
- (if
- (i32.const 0)
- (i32.const 1)
- )
- (if_else
- (i32.const 0)
- (i32.const 1)
- (i32.const 2)
- )
- (if_else
- (i32.const 4)
- (i32.const 5)
- (i32.const 6)
- )
- (i32.eq
- (if_else
- (i32.const 4)
- (i32.const 5)
- (i32.const 6)
- )
- (i32.const 177)
- )
- )
- )
-)
diff --git a/test/passes/metrics.txt b/test/passes/metrics.txt
index 97a241c0b..e5024b1af 100644
--- a/test/passes/metrics.txt
+++ b/test/passes/metrics.txt
@@ -1,10 +1,11 @@
Counts
[funcs] : 1
- [total] : 18
+ [total] : 24
[vars] : 1
binary : 1
block : 1
const : 12
+ drop : 6
if : 4
(module
(memory 256 256)
@@ -14,25 +15,37 @@ Counts
(block $block0
(if
(i32.const 0)
- (i32.const 1)
+ (drop
+ (i32.const 1)
+ )
)
(if
(i32.const 0)
- (i32.const 1)
- (i32.const 2)
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
)
(if
(i32.const 4)
- (i32.const 5)
- (i32.const 6)
- )
- (i32.eq
- (if
- (i32.const 4)
+ (drop
(i32.const 5)
+ )
+ (drop
(i32.const 6)
)
- (i32.const 177)
+ )
+ (drop
+ (i32.eq
+ (if
+ (i32.const 4)
+ (i32.const 5)
+ (i32.const 6)
+ )
+ (i32.const 177)
+ )
)
)
)
diff --git a/test/passes/metrics.wast b/test/passes/metrics.wast
index 67ad1fc5b..c1f278daa 100644
--- a/test/passes/metrics.wast
+++ b/test/passes/metrics.wast
@@ -1,29 +1,42 @@
(module
(memory 256 256)
- (func $ifs (param $x i32)
+ (type $0 (func (param i32)))
+ (func $ifs (type $0) (param $x i32)
(local $y f32)
- (block
+ (block $block0
(if
(i32.const 0)
- (i32.const 1)
+ (drop
+ (i32.const 1)
+ )
)
- (if_else
+ (if
(i32.const 0)
- (i32.const 1)
- (i32.const 2)
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
)
- (if_else
+ (if
(i32.const 4)
- (i32.const 5)
- (i32.const 6)
- )
- (i32.eq
- (if_else
- (i32.const 4)
+ (drop
(i32.const 5)
+ )
+ (drop
(i32.const 6)
)
- (i32.const 177)
+ )
+ (drop
+ (i32.eq
+ (if
+ (i32.const 4)
+ (i32.const 5)
+ (i32.const 6)
+ )
+ (i32.const 177)
+ )
)
)
)
diff --git a/test/passes/nm.txt b/test/passes/nm.txt
index 1129a16ad..1b12c5cff 100644
--- a/test/passes/nm.txt
+++ b/test/passes/nm.txt
@@ -1,6 +1,6 @@
$a : 1
- $b : 4
- $c : 11
+ $b : 5
+ $c : 13
(module
(memory 0)
(type $0 (func))
@@ -8,23 +8,29 @@
(nop)
)
(func $b (type $0)
- (loop $loop-out0 $loop-in1
- (nop)
- (i32.const 1000)
+ (drop
+ (loop $loop-in1
+ (nop)
+ (i32.const 1000)
+ )
)
)
(func $c (type $0)
(block $top
(nop)
- (i32.const 1000)
- (i32.add
- (i32.add
- (i32.const 1001)
- (i32.const 1002)
- )
+ (drop
+ (i32.const 1000)
+ )
+ (drop
(i32.add
- (i32.const 1003)
- (i32.const 1004)
+ (i32.add
+ (i32.const 1001)
+ (i32.const 1002)
+ )
+ (i32.add
+ (i32.const 1003)
+ (i32.const 1004)
+ )
)
)
(br $top)
diff --git a/test/passes/nm.wast b/test/passes/nm.wast
index 72534e55d..8cea1e648 100644
--- a/test/passes/nm.wast
+++ b/test/passes/nm.wast
@@ -1,29 +1,36 @@
(module
- (func $a
+ (memory 0)
+ (type $0 (func))
+ (func $a (type $0)
(nop)
)
- (func $b
- (loop
- (nop)
- (i32.const 1000)
+ (func $b (type $0)
+ (drop
+ (loop $loop-in1
+ (nop)
+ (i32.const 1000)
+ )
)
)
- (func $c
+ (func $c (type $0)
(block $top
(nop)
- (i32.const 1000)
- (i32.add
- (i32.add
- (i32.const 1001)
- (i32.const 1002)
- )
+ (drop
+ (i32.const 1000)
+ )
+ (drop
(i32.add
- (i32.const 1003)
- (i32.const 1004)
+ (i32.add
+ (i32.const 1001)
+ (i32.const 1002)
+ )
+ (i32.add
+ (i32.const 1003)
+ (i32.const 1004)
+ )
)
)
(br $top)
)
)
)
-
diff --git a/test/passes/optimize-instructions.txt b/test/passes/optimize-instructions.txt
index a25c36a5d..e7af4848e 100644
--- a/test/passes/optimize-instructions.txt
+++ b/test/passes/optimize-instructions.txt
@@ -6,115 +6,165 @@
(i32.eqz
(get_local $i1)
)
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
)
(if
(get_local $i1)
- (i32.const 12)
- (i32.const 11)
+ (drop
+ (i32.const 12)
+ )
+ (drop
+ (i32.const 11)
+ )
)
(if
(i64.eqz
(get_local $i2)
)
- (i32.const 11)
- (i32.const 12)
+ (drop
+ (i32.const 11)
+ )
+ (drop
+ (i32.const 12)
+ )
)
- (i32.le_s
- (i32.const 1)
- (i32.const 2)
+ (drop
+ (i32.le_s
+ (i32.const 1)
+ (i32.const 2)
+ )
)
- (i32.lt_s
- (i32.const 1)
- (i32.const 2)
+ (drop
+ (i32.lt_s
+ (i32.const 1)
+ (i32.const 2)
+ )
)
- (i32.ge_s
- (i32.const 1)
- (i32.const 2)
+ (drop
+ (i32.ge_s
+ (i32.const 1)
+ (i32.const 2)
+ )
)
- (i32.gt_s
- (i32.const 1)
- (i32.const 2)
+ (drop
+ (i32.gt_s
+ (i32.const 1)
+ (i32.const 2)
+ )
)
- (i32.le_u
- (i32.const 1)
- (i32.const 2)
+ (drop
+ (i32.le_u
+ (i32.const 1)
+ (i32.const 2)
+ )
)
- (i32.lt_u
- (i32.const 1)
- (i32.const 2)
+ (drop
+ (i32.lt_u
+ (i32.const 1)
+ (i32.const 2)
+ )
)
- (i32.ge_u
- (i32.const 1)
- (i32.const 2)
+ (drop
+ (i32.ge_u
+ (i32.const 1)
+ (i32.const 2)
+ )
)
- (i32.gt_u
- (i32.const 1)
- (i32.const 2)
+ (drop
+ (i32.gt_u
+ (i32.const 1)
+ (i32.const 2)
+ )
)
- (i32.eqz
- (f32.gt
- (f32.const 1)
- (f32.const 2)
+ (drop
+ (i32.eqz
+ (f32.gt
+ (f32.const 1)
+ (f32.const 2)
+ )
)
)
- (i32.eqz
- (f32.ge
- (f32.const 1)
- (f32.const 2)
+ (drop
+ (i32.eqz
+ (f32.ge
+ (f32.const 1)
+ (f32.const 2)
+ )
)
)
- (i32.eqz
- (f32.lt
- (f32.const 1)
- (f32.const 2)
+ (drop
+ (i32.eqz
+ (f32.lt
+ (f32.const 1)
+ (f32.const 2)
+ )
)
)
- (i32.eqz
- (f32.le
- (f32.const 1)
- (f32.const 2)
+ (drop
+ (i32.eqz
+ (f32.le
+ (f32.const 1)
+ (f32.const 2)
+ )
)
)
- (i32.eqz
- (f64.gt
- (f64.const 1)
- (f64.const 2)
+ (drop
+ (i32.eqz
+ (f64.gt
+ (f64.const 1)
+ (f64.const 2)
+ )
)
)
- (i32.eqz
- (f64.ge
- (f64.const 1)
- (f64.const 2)
+ (drop
+ (i32.eqz
+ (f64.ge
+ (f64.const 1)
+ (f64.const 2)
+ )
)
)
- (i32.eqz
- (f64.lt
- (f64.const 1)
- (f64.const 2)
+ (drop
+ (i32.eqz
+ (f64.lt
+ (f64.const 1)
+ (f64.const 2)
+ )
)
)
- (i32.eqz
- (f64.le
- (f64.const 1)
- (f64.const 2)
+ (drop
+ (i32.eqz
+ (f64.le
+ (f64.const 1)
+ (f64.const 2)
+ )
)
)
- (f32.ne
- (f32.const 1)
- (f32.const 2)
+ (drop
+ (f32.ne
+ (f32.const 1)
+ (f32.const 2)
+ )
)
- (f32.eq
- (f32.const 1)
- (f32.const 2)
+ (drop
+ (f32.eq
+ (f32.const 1)
+ (f32.const 2)
+ )
)
- (f64.ne
- (f64.const 1)
- (f64.const 2)
+ (drop
+ (f64.ne
+ (f64.const 1)
+ (f64.const 2)
+ )
)
- (f64.eq
- (f64.const 1)
- (f64.const 2)
+ (drop
+ (f64.eq
+ (f64.const 1)
+ (f64.const 2)
+ )
)
)
)
diff --git a/test/passes/optimize-instructions.wast b/test/passes/optimize-instructions.wast
index bea01bd1c..f06d99fd9 100644
--- a/test/passes/optimize-instructions.wast
+++ b/test/passes/optimize-instructions.wast
@@ -1,48 +1,196 @@
(module
(memory 0)
- (func $f (param $i1 i32) (param $i2 i64)
+ (type $0 (func (param i32 i64)))
+ (func $f (type $0) (param $i1 i32) (param $i2 i64)
(if
(i32.eqz
(get_local $i1)
)
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
)
(if
(i32.eqz
(get_local $i1)
)
- (i32.const 11)
- (i32.const 12)
+ (drop
+ (i32.const 11)
+ )
+ (drop
+ (i32.const 12)
+ )
)
(if
(i64.eqz
(get_local $i2)
)
- (i32.const 11)
- (i32.const 12)
- )
- (i32.eqz (i32.gt_s (i32.const 1) (i32.const 2)))
- (i32.eqz (i32.ge_s (i32.const 1) (i32.const 2)))
- (i32.eqz (i32.lt_s (i32.const 1) (i32.const 2)))
- (i32.eqz (i32.le_s (i32.const 1) (i32.const 2)))
- (i32.eqz (i32.gt_u (i32.const 1) (i32.const 2)))
- (i32.eqz (i32.ge_u (i32.const 1) (i32.const 2)))
- (i32.eqz (i32.lt_u (i32.const 1) (i32.const 2)))
- (i32.eqz (i32.le_u (i32.const 1) (i32.const 2)))
-
- (i32.eqz (f32.gt (f32.const 1) (f32.const 2)))
- (i32.eqz (f32.ge (f32.const 1) (f32.const 2)))
- (i32.eqz (f32.lt (f32.const 1) (f32.const 2)))
- (i32.eqz (f32.le (f32.const 1) (f32.const 2)))
- (i32.eqz (f64.gt (f64.const 1) (f64.const 2)))
- (i32.eqz (f64.ge (f64.const 1) (f64.const 2)))
- (i32.eqz (f64.lt (f64.const 1) (f64.const 2)))
- (i32.eqz (f64.le (f64.const 1) (f64.const 2)))
-
- (i32.eqz (f32.eq (f32.const 1) (f32.const 2)))
- (i32.eqz (f32.ne (f32.const 1) (f32.const 2)))
- (i32.eqz (f64.eq (f64.const 1) (f64.const 2)))
- (i32.eqz (f64.ne (f64.const 1) (f64.const 2)))
+ (drop
+ (i32.const 11)
+ )
+ (drop
+ (i32.const 12)
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.gt_s
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.ge_s
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.lt_s
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.le_s
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.gt_u
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.ge_u
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.lt_u
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.le_u
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f32.gt
+ (f32.const 1)
+ (f32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f32.ge
+ (f32.const 1)
+ (f32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f32.lt
+ (f32.const 1)
+ (f32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f32.le
+ (f32.const 1)
+ (f32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f64.gt
+ (f64.const 1)
+ (f64.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f64.ge
+ (f64.const 1)
+ (f64.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f64.lt
+ (f64.const 1)
+ (f64.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f64.le
+ (f64.const 1)
+ (f64.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f32.eq
+ (f32.const 1)
+ (f32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f32.ne
+ (f32.const 1)
+ (f32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f64.eq
+ (f64.const 1)
+ (f64.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f64.ne
+ (f64.const 1)
+ (f64.const 2)
+ )
+ )
+ )
)
)
-
diff --git a/test/passes/post-emscripten.txt b/test/passes/post-emscripten.txt
index c122b77d5..fd2ada3c1 100644
--- a/test/passes/post-emscripten.txt
+++ b/test/passes/post-emscripten.txt
@@ -2,29 +2,41 @@
(memory 256 256)
(type $0 (func (param i32)))
(func $b0 (type $0) (param $x i32)
- (i32.load offset=1
- (get_local $x)
- )
- (i32.load offset=8
- (get_local $x)
- )
- (i32.load offset=1023
- (get_local $x)
+ (drop
+ (i32.load offset=1
+ (get_local $x)
+ )
)
- (i32.load
- (i32.add
+ (drop
+ (i32.load offset=8
(get_local $x)
- (i32.const 1024)
)
)
- (i32.load
- (i32.add
+ (drop
+ (i32.load offset=1023
(get_local $x)
- (i32.const 2048)
)
)
- (i32.load offset=4
- (get_local $x)
+ (drop
+ (i32.load
+ (i32.add
+ (get_local $x)
+ (i32.const 1024)
+ )
+ )
+ )
+ (drop
+ (i32.load
+ (i32.add
+ (get_local $x)
+ (i32.const 2048)
+ )
+ )
+ )
+ (drop
+ (i32.load offset=4
+ (get_local $x)
+ )
)
)
)
diff --git a/test/passes/post-emscripten.wast b/test/passes/post-emscripten.wast
index 1da5afd61..b554fea53 100644
--- a/test/passes/post-emscripten.wast
+++ b/test/passes/post-emscripten.wast
@@ -1,42 +1,54 @@
(module
(memory 256 256)
- (func $b0 (param $x i32)
- (i32.load
- (i32.add
- (get_local $x)
- (i32.const 1)
+ (type $0 (func (param i32)))
+ (func $b0 (type $0) (param $x i32)
+ (drop
+ (i32.load
+ (i32.add
+ (get_local $x)
+ (i32.const 1)
+ )
)
)
- (i32.load
- (i32.add
- (get_local $x)
- (i32.const 8)
+ (drop
+ (i32.load
+ (i32.add
+ (get_local $x)
+ (i32.const 8)
+ )
)
)
- (i32.load
- (i32.add
- (get_local $x)
- (i32.const 1023)
+ (drop
+ (i32.load
+ (i32.add
+ (get_local $x)
+ (i32.const 1023)
+ )
)
)
- (i32.load
- (i32.add
- (get_local $x)
- (i32.const 1024)
+ (drop
+ (i32.load
+ (i32.add
+ (get_local $x)
+ (i32.const 1024)
+ )
)
)
- (i32.load
- (i32.add
- (get_local $x)
- (i32.const 2048)
+ (drop
+ (i32.load
+ (i32.add
+ (get_local $x)
+ (i32.const 2048)
+ )
)
)
- (i32.load
- (i32.add
- (i32.const 4)
- (get_local $x)
+ (drop
+ (i32.load
+ (i32.add
+ (i32.const 4)
+ (get_local $x)
+ )
)
)
)
)
-
diff --git a/test/passes/precompute.txt b/test/passes/precompute.txt
index a3e8623f5..9825594b6 100644
--- a/test/passes/precompute.txt
+++ b/test/passes/precompute.txt
@@ -2,15 +2,25 @@
(memory 0)
(type $0 (func (param i32)))
(func $x (type $0) (param $x i32)
- (i32.const 3)
- (i32.add
- (i32.const 1)
- (get_local $x)
+ (drop
+ (i32.const 3)
)
- (i32.const 6)
- (i32.const -1)
- (i32.const 3)
- (loop $loop-out0 $in
+ (drop
+ (i32.add
+ (i32.const 1)
+ (get_local $x)
+ )
+ )
+ (drop
+ (i32.const 6)
+ )
+ (drop
+ (i32.const -1)
+ )
+ (drop
+ (i32.const 3)
+ )
+ (loop $in
(br $in)
)
)
diff --git a/test/passes/precompute.wast b/test/passes/precompute.wast
index 0282ac61b..808485a34 100644
--- a/test/passes/precompute.wast
+++ b/test/passes/precompute.wast
@@ -1,19 +1,45 @@
(module
- (func $x (param $x i32)
- (i32.add (i32.const 1) (i32.const 2)) ;; precomputable
- (i32.add (i32.const 1) (get_local $x))
- (i32.add (i32.const 1) (i32.add (i32.const 2) (i32.const 3))) ;; cascade
- (i32.sub (i32.const 1) (i32.const 2))
- (i32.sub
+ (memory 0)
+ (type $0 (func (param i32)))
+ (func $x (type $0) (param $x i32)
+ (drop
(i32.add
- (i32.const 0)
- (i32.const 4)
+ (i32.const 1)
+ (i32.const 2)
)
- (i32.const 1)
)
- (loop $in ;; infinite loop
+ (drop
+ (i32.add
+ (i32.const 1)
+ (get_local $x)
+ )
+ )
+ (drop
+ (i32.add
+ (i32.const 1)
+ (i32.add
+ (i32.const 2)
+ (i32.const 3)
+ )
+ )
+ )
+ (drop
+ (i32.sub
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ (drop
+ (i32.sub
+ (i32.add
+ (i32.const 0)
+ (i32.const 4)
+ )
+ (i32.const 1)
+ )
+ )
+ (loop $in
(br $in)
)
)
)
-
diff --git a/test/passes/remove-imports.txt b/test/passes/remove-imports.txt
index a285ef0eb..b8d45e8eb 100644
--- a/test/passes/remove-imports.txt
+++ b/test/passes/remove-imports.txt
@@ -5,7 +5,11 @@
(type $FUNCSIG$d (func (result f64)))
(func $nada (type $FUNCSIG$v)
(nop)
- (i32.const 0)
- (f64.const 0)
+ (drop
+ (i32.const 0)
+ )
+ (drop
+ (f64.const 0)
+ )
)
)
diff --git a/test/passes/remove-imports.wast b/test/passes/remove-imports.wast
index 00190a32d..babd60fdc 100644
--- a/test/passes/remove-imports.wast
+++ b/test/passes/remove-imports.wast
@@ -1,11 +1,18 @@
(module
(memory 1024 1024)
+ (type $FUNCSIG$v (func))
+ (type $FUNCSIG$i (func (result i32)))
+ (type $FUNCSIG$d (func (result f64)))
(import $waka "somewhere" "waka")
(import $waka-ret "somewhere" "waka-ret" (result i32))
(import $waka-ret-d "somewhere" "waka-ret-d" (result f64))
- (func $nada
+ (func $nada (type $FUNCSIG$v)
(call_import $waka)
- (call_import $waka-ret)
- (call_import $waka-ret-d)
+ (drop
+ (call_import $waka-ret)
+ )
+ (drop
+ (call_import $waka-ret-d)
+ )
)
)
diff --git a/test/passes/remove-unused-brs.txt b/test/passes/remove-unused-brs.txt
index 4290d9e05..1c5c8e713 100644
--- a/test/passes/remove-unused-brs.txt
+++ b/test/passes/remove-unused-brs.txt
@@ -9,7 +9,11 @@
)
(func $b1 (type $0) (param $i1 i32)
(block $topmost
- (i32.const 0)
+ (block $block0
+ (drop
+ (i32.const 0)
+ )
+ )
)
)
(func $b2 (type $0) (param $i1 i32)
@@ -27,14 +31,22 @@
(func $b4 (type $0) (param $i1 i32)
(block $topmost
(block $inner
- (i32.const 0)
+ (block $block0
+ (drop
+ (i32.const 0)
+ )
+ )
)
)
)
(func $b5 (type $0) (param $i1 i32)
(block $topmost
(block $inner
- (i32.const 0)
+ (block $block0
+ (drop
+ (i32.const 0)
+ )
+ )
)
)
)
@@ -47,9 +59,13 @@
)
(func $b7 (type $0) (param $i1 i32)
(block $topmost
- (br_if $topmost
- (i32.const 0)
- (i32.const 1)
+ (block $block0
+ (drop
+ (i32.const 0)
+ )
+ (br_if $topmost
+ (i32.const 1)
+ )
)
)
)
@@ -74,9 +90,13 @@
(func $b10 (type $0) (param $i1 i32)
(block $topmost
(block $inner
- (br_if $topmost
- (i32.const 0)
- (i32.const 1)
+ (block $block0
+ (drop
+ (i32.const 0)
+ )
+ (br_if $topmost
+ (i32.const 1)
+ )
)
)
)
@@ -84,25 +104,41 @@
(func $b11 (type $0) (param $i1 i32)
(block $topmost
(block $inner
- (br_if $inner
- (i32.const 0)
- (i32.const 1)
+ (block $block0
+ (drop
+ (i32.const 0)
+ )
+ (br_if $inner
+ (i32.const 1)
+ )
)
)
)
)
(func $b12-yes (type $1)
(block $topmost
- (select
+ (if
+ (i32.const 1)
(block $block1
- (i32.const 12)
- (i32.const 1)
+ (drop
+ (i32.const 12)
+ )
+ (block $block2
+ (drop
+ (i32.const 1)
+ )
+ )
)
(block $block3
- (i32.const 27)
- (i32.const 2)
+ (drop
+ (i32.const 27)
+ )
+ (block $block4
+ (drop
+ (i32.const 2)
+ )
+ )
)
- (i32.const 1)
)
)
)
@@ -111,14 +147,18 @@
(if
(i32.const 1)
(block $block1
- (i32.const 12)
+ (drop
+ (i32.const 12)
+ )
(br_if $topmost
(i32.const 1)
(i32.const 1)
)
)
(block $block3
- (i32.const 27)
+ (drop
+ (i32.const 27)
+ )
(br $topmost
(i32.const 2)
)
@@ -149,9 +189,13 @@
)
(func $b15 (type $1)
(block $topmost
- (br_if $topmost
- (i32.const 0)
+ (if
(i32.const 18)
+ (block $block1
+ (drop
+ (i32.const 0)
+ )
+ )
)
)
)
@@ -177,38 +221,42 @@
)
(func $b17 (type $1)
(block $a
- (select
+ (if
+ (i32.const 0)
(block $block1
)
(block $block3
)
- (i32.const 0)
)
)
(block $a
- (select
- (i32.const 1)
+ (if
+ (i32.const 0)
+ (drop
+ (i32.const 1)
+ )
(block $block6
)
- (i32.const 0)
)
)
(block $a
- (select
+ (if
+ (i32.const 0)
(block $block8
)
- (i32.const 1)
- (i32.const 0)
+ (drop
+ (i32.const 1)
+ )
)
)
(block $c
(block $b
- (select
+ (if
+ (i32.const 0)
(block $block11
)
(block $block13
)
- (i32.const 0)
)
)
)
@@ -224,11 +272,11 @@
)
(func $ret-3 (type $1)
(block $block0
- (select
+ (if
+ (i32.const 0)
(nop)
(block $block3
)
- (i32.const 0)
)
)
)
@@ -243,43 +291,72 @@
(block $a
(if
(i32.const 0)
- (i32.const 1)
+ (drop
+ (i32.const 1)
+ )
(block $block2
- (br $a
- (i32.const 2)
+ (block $block3
+ (drop
+ (i32.const 2)
+ )
+ (br $a)
+ )
+ (drop
+ (i32.const 3)
)
- (i32.const 3)
)
)
(if
(i32.const 0)
(block $block4
- (br $a
- (i32.const 2)
+ (block $block5
+ (drop
+ (i32.const 2)
+ )
+ (br $a)
+ )
+ (drop
+ (i32.const 3)
)
- (i32.const 3)
)
- (i32.const 1)
+ (drop
+ (i32.const 1)
+ )
)
(if
(block $block6
- (br $a
- (i32.const 2)
+ (block $block7
+ (drop
+ (i32.const 2)
+ )
+ (br $a)
)
(i32.const 3)
)
- (i32.const 0)
- (i32.const 1)
+ (drop
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 1)
+ )
)
- (select
+ (if
(block $a
- (i32.const 1)
+ (i32.const 0)
)
(block $a
- (i32.const 2)
+ (block $block11
+ (drop
+ (i32.const 1)
+ )
+ )
)
(block $a
- (i32.const 0)
+ (block $block13
+ (drop
+ (i32.const 2)
+ )
+ )
)
)
)
@@ -287,37 +364,54 @@
(func $side-effects-and-order (type $2) (result i32)
(local $x i32)
(block $do-once$0
- (br_if $do-once$0
- (i32.const 0)
+ (if
(call $b13)
+ (block $block1
+ (drop
+ (i32.const 0)
+ )
+ (br $do-once$0)
+ )
+ )
+ (drop
+ (i32.const 1)
)
- (i32.const 1)
)
(block $do-once$0
(if
(call $b13)
- (br $do-once$0
- (call $b14)
+ (block $block3
+ (drop
+ (call $b14)
+ )
+ (br $do-once$0)
)
)
- (i32.const 1)
+ (drop
+ (i32.const 1)
+ )
)
(block $do-once$0
(if
(i32.const 0)
- (br $do-once$0
- (call $b14)
+ (block $block5
+ (drop
+ (call $b14)
+ )
+ (br $do-once$0)
)
)
- (i32.const 1)
+ (drop
+ (i32.const 1)
+ )
)
(block $do-once$0
(if
- (set_local $x
+ (tee_local $x
(i32.const 1)
)
(br $do-once$0
- (set_local $x
+ (tee_local $x
(i32.const 2)
)
)
diff --git a/test/passes/remove-unused-brs.wast b/test/passes/remove-unused-brs.wast
index b7dc1cc25..f3d20f5e0 100644
--- a/test/passes/remove-unused-brs.wast
+++ b/test/passes/remove-unused-brs.wast
@@ -1,126 +1,172 @@
(module
(memory 256 256)
- (func $b0-yes (param $i1 i32)
+ (type $0 (func (param i32)))
+ (type $1 (func))
+ (type $2 (func (result i32)))
+ (func $b0-yes (type $0) (param $i1 i32)
(block $topmost
(br $topmost)
)
)
- (func $b1 (param $i1 i32)
+ (func $b1 (type $0) (param $i1 i32)
(block $topmost
- (br $topmost
- (i32.const 0)
+ (block
+ (drop
+ (i32.const 0)
+ )
+ (br $topmost)
)
)
)
- (func $b2 (param $i1 i32)
+ (func $b2 (type $0) (param $i1 i32)
(block $topmost
(block $inner
(br $topmost)
)
)
)
- (func $b3-yes (param $i1 i32)
+ (func $b3-yes (type $0) (param $i1 i32)
(block $topmost
(block $inner
(br $inner)
)
)
)
- (func $b4 (param $i1 i32)
+ (func $b4 (type $0) (param $i1 i32)
(block $topmost
(block $inner
- (br $topmost
- (i32.const 0)
+ (block
+ (drop
+ (i32.const 0)
+ )
+ (br $topmost)
)
)
)
)
- (func $b5 (param $i1 i32)
+ (func $b5 (type $0) (param $i1 i32)
(block $topmost
(block $inner
- (br $inner
- (i32.const 0)
+ (block
+ (drop
+ (i32.const 0)
+ )
+ (br $inner)
)
)
)
)
- (func $b6 (param $i1 i32)
- (block $topmost
- (br_if $topmost (i32.const 1))
- )
- )
- (func $b7 (param $i1 i32)
+ (func $b6 (type $0) (param $i1 i32)
(block $topmost
(br_if $topmost
- (i32.const 0)
(i32.const 1)
)
)
)
- (func $b8 (param $i1 i32)
+ (func $b7 (type $0) (param $i1 i32)
(block $topmost
- (block $inner
- (br_if $topmost (i32.const 1))
+ (block
+ (drop
+ (i32.const 0)
+ )
+ (br_if $topmost
+ (i32.const 1)
+ )
)
)
)
- (func $b9 (param $i1 i32)
+ (func $b8 (type $0) (param $i1 i32)
(block $topmost
(block $inner
- (br_if $topmost (i32.const 1))
+ (br_if $topmost
+ (i32.const 1)
+ )
)
)
)
- (func $b10 (param $i1 i32)
+ (func $b9 (type $0) (param $i1 i32)
(block $topmost
(block $inner
(br_if $topmost
- (i32.const 0)
(i32.const 1)
)
)
)
)
- (func $b11 (param $i1 i32)
+ (func $b10 (type $0) (param $i1 i32)
(block $topmost
(block $inner
- (br_if $inner
- (i32.const 0)
- (i32.const 1)
+ (block
+ (drop
+ (i32.const 0)
+ )
+ (br_if $topmost
+ (i32.const 1)
+ )
)
)
)
)
- (func $b12-yes
+ (func $b11 (type $0) (param $i1 i32)
(block $topmost
- (if_else (i32.const 1)
+ (block $inner
(block
- (i32.const 12)
- (br $topmost
+ (drop
+ (i32.const 0)
+ )
+ (br_if $inner
(i32.const 1)
)
)
- (block
- (i32.const 27)
- (br $topmost
- (i32.const 2)
+ )
+ )
+ )
+ (func $b12-yes (type $1)
+ (block $topmost
+ (if
+ (i32.const 1)
+ (block $block1
+ (drop
+ (i32.const 12)
+ )
+ (block
+ (drop
+ (i32.const 1)
+ )
+ (br $topmost)
+ )
+ )
+ (block $block3
+ (drop
+ (i32.const 27)
+ )
+ (block
+ (drop
+ (i32.const 2)
+ )
+ (br $topmost)
)
)
)
)
)
- (func $b13 (result i32)
+ (func $b13 (type $2) (result i32)
(block $topmost
- (if_else (i32.const 1)
- (block
- (i32.const 12)
+ (if
+ (i32.const 1)
+ (block $block1
+ (drop
+ (i32.const 12)
+ )
(br_if $topmost
(i32.const 1)
(i32.const 1)
)
)
- (block
- (i32.const 27)
+ (block $block3
+ (drop
+ (i32.const 27)
+ )
(br $topmost
(i32.const 2)
)
@@ -129,19 +175,20 @@
(i32.const 3)
)
)
- (func $b14 (result i32)
+ (func $b14 (type $2) (result i32)
(block $topmost
- (if_else (i32.const 1)
- (block
+ (if
+ (i32.const 1)
+ (block $block1
(i32.const 12)
)
- (block
+ (block $block3
(i32.const 27)
)
)
)
)
- (func $b15
+ (func $b15 (type $1)
(block $topmost
(if
(i32.const 17)
@@ -149,15 +196,20 @@
)
)
)
- (func $b15
+ (func $b15 (type $1)
(block $topmost
(if
(i32.const 18)
- (br $topmost (i32.const 0))
+ (block
+ (drop
+ (i32.const 0)
+ )
+ (br $topmost)
+ )
)
)
)
- (func $b16
+ (func $b16 (type $1)
(block $a
(block $b
(block $c
@@ -186,14 +238,14 @@
(br $a)
)
)
- (func $b17
+ (func $b17 (type $1)
(block $a
(if
(i32.const 0)
- (block
+ (block $block1
(br $a)
)
- (block
+ (block $block3
(br $a)
)
)
@@ -201,8 +253,10 @@
(block $a
(if
(i32.const 0)
- (i32.const 1)
- (block
+ (drop
+ (i32.const 1)
+ )
+ (block $block6
(br $a)
)
)
@@ -210,131 +264,192 @@
(block $a
(if
(i32.const 0)
- (block
+ (block $block8
(br $a)
)
- (i32.const 1)
+ (drop
+ (i32.const 1)
+ )
)
)
(block $c
(block $b
(if
(i32.const 0)
- (block
+ (block $block11
(br $b)
)
- (block
+ (block $block13
(br $c)
)
)
)
)
)
- (func $ret-1
+ (func $ret-1 (type $1)
(return)
)
- (func $ret-2
- (block
- (block
+ (func $ret-2 (type $1)
+ (block $block0
+ (block $block1
(return)
)
)
)
- (func $ret-3
- (block
+ (func $ret-3 (type $1)
+ (block $block0
(if
(i32.const 0)
(return)
- (block
+ (block $block3
(return)
)
)
)
)
- (func $ret-value (result i32)
- (block
- (block
- (return (i32.const 1))
+ (func $ret-value (type $2) (result i32)
+ (block $block0
+ (block $block1
+ (return
+ (i32.const 1)
+ )
)
)
)
- (func $no-select-but-the-last
+ (func $no-select-but-the-last (type $1)
(block $a
(if
(i32.const 0)
- (i32.const 1)
- (block
- (br $a (i32.const 2))
- (i32.const 3)
+ (drop
+ (i32.const 1)
+ )
+ (block $block2
+ (block
+ (drop
+ (i32.const 2)
+ )
+ (br $a)
+ )
+ (drop
+ (i32.const 3)
+ )
)
)
(if
(i32.const 0)
- (block
- (br $a (i32.const 2))
- (i32.const 3)
+ (block $block4
+ (block
+ (drop
+ (i32.const 2)
+ )
+ (br $a)
+ )
+ (drop
+ (i32.const 3)
+ )
+ )
+ (drop
+ (i32.const 1)
)
- (i32.const 1)
)
(if
- (block
- (br $a (i32.const 2))
+ (block $block6
+ (block
+ (drop
+ (i32.const 2)
+ )
+ (br $a)
+ )
(i32.const 3)
)
- (i32.const 0)
- (i32.const 1)
+ (drop
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 1)
+ )
)
- (if ;; brs to the inner $a's get removed, the it is selectifiable
+ (if
(block $a
- (br $a (i32.const 0))
+ (br $a
+ (i32.const 0)
+ )
)
(block $a
- (br $a (i32.const 1))
+ (block
+ (drop
+ (i32.const 1)
+ )
+ (br $a)
+ )
)
(block $a
- (br $a (i32.const 2))
+ (block
+ (drop
+ (i32.const 2)
+ )
+ (br $a)
+ )
)
)
)
)
- (func $side-effects-and-order (result i32)
+ (func $side-effects-and-order (type $2) (result i32)
(local $x i32)
(block $do-once$0
(if
(call $b13)
- (br $do-once$0
- (i32.const 0)
+ (block
+ (drop
+ (i32.const 0)
+ )
+ (br $do-once$0)
)
)
- (i32.const 1)
+ (drop
+ (i32.const 1)
+ )
)
(block $do-once$0
(if
(call $b13)
- (br $do-once$0
- (call $b14)
+ (block
+ (drop
+ (call $b14)
+ )
+ (br $do-once$0)
)
)
- (i32.const 1)
+ (drop
+ (i32.const 1)
+ )
)
(block $do-once$0
(if
(i32.const 0)
- (br $do-once$0
- (call $b14)
+ (block
+ (drop
+ (call $b14)
+ )
+ (br $do-once$0)
)
)
- (i32.const 1)
+ (drop
+ (i32.const 1)
+ )
)
(block $do-once$0
(if
- (set_local $x (i32.const 1))
+ (tee_local $x
+ (i32.const 1)
+ )
(br $do-once$0
- (set_local $x (i32.const 2))
+ (tee_local $x
+ (i32.const 2)
+ )
)
)
(i32.const 1)
)
)
)
-
diff --git a/test/passes/remove-unused-functions.txt b/test/passes/remove-unused-functions.txt
index cd819d347..1bd30e866 100644
--- a/test/passes/remove-unused-functions.txt
+++ b/test/passes/remove-unused-functions.txt
@@ -2,7 +2,7 @@
(memory 0)
(start $start)
(type $0 (func))
- (export "exported" $exported)
+ (export "exported" (func $exported))
(table 1 1 anyfunc)
(elem (i32.const 0) $called_indirect)
(func $start (type $0)
diff --git a/test/passes/remove-unused-functions.wast b/test/passes/remove-unused-functions.wast
index 4c89804bf..9449a25cb 100644
--- a/test/passes/remove-unused-functions.wast
+++ b/test/passes/remove-unused-functions.wast
@@ -1,46 +1,47 @@
(module
+ (memory 0)
(start $start)
+ (type $0 (func))
(export "exported" $exported)
(table $called_indirect)
- (func $start
+ (func $start (type $0)
(call $called0)
)
- (func $called0
+ (func $called0 (type $0)
(call $called1)
)
- (func $called1
+ (func $called1 (type $0)
(nop)
)
- (func $called_indirect
+ (func $called_indirect (type $0)
(nop)
)
- (func $exported
+ (func $exported (type $0)
(call $called2)
)
- (func $called2
+ (func $called2 (type $0)
(call $called2)
(call $called3)
)
- (func $called3
+ (func $called3 (type $0)
(call $called4)
)
- (func $called4
+ (func $called4 (type $0)
(call $called3)
)
- (func $remove0
+ (func $remove0 (type $0)
(call $remove1)
)
- (func $remove1
+ (func $remove1 (type $0)
(nop)
)
- (func $remove2
+ (func $remove2 (type $0)
(call $remove2)
)
- (func $remove3
+ (func $remove3 (type $0)
(call $remove4)
)
- (func $remove4
+ (func $remove4 (type $0)
(call $remove3)
)
)
-
diff --git a/test/passes/remove-unused-names.txt b/test/passes/remove-unused-names.txt
index b36ebb622..fa42e8d28 100644
--- a/test/passes/remove-unused-names.txt
+++ b/test/passes/remove-unused-names.txt
@@ -6,42 +6,45 @@
(i32.const 0)
)
(func $loops (type $1)
- (loop $out $in
- (br $out)
- (br $in)
- )
(block $out
- (br $out)
+ (loop $in
+ (br $out)
+ (br $in)
+ )
)
(loop $in
(br $in)
)
- (loop
- (nop)
- )
- (loop
- (loop $out $in
+ (nop)
+ (block $out
+ (loop $in
(br $out)
(br $in)
)
)
- (block
- (loop $out $in
+ (block $out
+ (loop $in
(br $out)
(br $in)
)
)
- (loop $out $in
- (br $out)
- (br $in)
+ (loop $in
+ (block $out
+ (br $out)
+ (br $in)
+ )
)
- (loop $out $in
- (br $out)
- (br $in)
+ (loop $in
+ (block $out
+ (br $out)
+ (br $in)
+ )
)
- (loop $out $in
- (br $out)
- (br $in)
+ (block $out
+ (loop $in
+ (br $out)
+ (br $in)
+ )
)
)
(func $merges (type $1)
diff --git a/test/passes/remove-unused-names.wast b/test/passes/remove-unused-names.wast
index 9423b2675..c8efa0c15 100644
--- a/test/passes/remove-unused-names.wast
+++ b/test/passes/remove-unused-names.wast
@@ -1,37 +1,42 @@
(module
(memory 256 256)
- (func $b0 (param $i1 i32) (result i32)
+ (type $0 (func (param i32) (result i32)))
+ (type $1 (func))
+ (func $b0 (type $0) (param $i1 i32) (result i32)
(block $topmost
(i32.const 0)
)
)
- (func $loops
- (loop $out $in
- (br $out)
- (br $in)
- )
- (loop $out $in
- (br $out)
+ (func $loops (type $1)
+ (block $out
+ (loop $in
+ (br $out)
+ (br $in)
+ )
)
- (loop $out $in
+ (loop $in
(br $in)
)
- (loop $out $in
+ (loop $in
(nop)
)
- (loop $out $in
- (loop $out $in
- (br $out)
- (br $in)
+ (block $out
+ (loop $in
+ (block $out
+ (loop $in
+ (br $out)
+ (br $in)
+ )
+ )
)
)
(block $out
- (loop $out $in
+ (loop $in
(br $out)
(br $in)
)
)
- (loop $out $in
+ (loop $in
(block $out
(br $out)
(br $in)
@@ -50,7 +55,7 @@
)
)
)
- (func $merges
+ (func $merges (type $1)
(block $a
(block $b
(br $a)
@@ -59,14 +64,17 @@
)
(block $a
(block $b
- (br_table $a $b (i32.const 3))
+ (br_table $a $b
+ (i32.const 3)
+ )
)
)
(block $a
(block $b
- (br_table $b $a (i32.const 3))
+ (br_table $b $a
+ (i32.const 3)
+ )
)
)
)
)
-
diff --git a/test/passes/remove-unused-names_merge-blocks.txt b/test/passes/remove-unused-names_merge-blocks.txt
index 88d284a5a..4557f3da4 100644
--- a/test/passes/remove-unused-names_merge-blocks.txt
+++ b/test/passes/remove-unused-names_merge-blocks.txt
@@ -16,7 +16,9 @@
(nop)
)
(func $b0-yes (type $i) (param $i1 i32)
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
)
(func $b0-no (type $i) (param $i1 i32)
(block $topmost
@@ -32,313 +34,527 @@
)
)
(func $b1-yes (type $i) (param $i1 i32)
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
)
(func $b2-yes (type $i) (param $i1 i32)
- (i32.const 5)
- (i32.const 10)
- (i32.const 15)
+ (drop
+ (i32.const 5)
+ )
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 15)
+ )
)
(func $b3-yes (type $i) (param $i1 i32)
- (i32.const 3)
- (i32.const 6)
- (i32.const 10)
- (i32.const 15)
- (i32.const 20)
+ (drop
+ (i32.const 3)
+ )
+ (drop
+ (i32.const 6)
+ )
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 15)
+ )
+ (drop
+ (i32.const 20)
+ )
)
(func $b4 (type $i) (param $i1 i32)
(block $inner
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(br $inner)
)
)
(func $b5 (type $i) (param $i1 i32)
(block $middle
(block $inner
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(br $inner)
)
(br $middle)
)
)
(func $b6 (type $i) (param $i1 i32)
- (i32.const 5)
+ (drop
+ (i32.const 5)
+ )
(block $inner
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(br $inner)
)
- (i32.const 15)
+ (drop
+ (i32.const 15)
+ )
)
(func $b7 (type $i) (param $i1 i32)
- (i32.const 3)
+ (drop
+ (i32.const 3)
+ )
(block $middle
- (i32.const 6)
+ (drop
+ (i32.const 6)
+ )
(block $inner
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(br $inner)
)
- (i32.const 15)
+ (drop
+ (i32.const 15)
+ )
(br $middle)
)
- (i32.const 20)
+ (drop
+ (i32.const 20)
+ )
)
(func $unary (type $3)
(local $x i32)
- (i32.eqz
- (block
- (i32.const 10)
+ (drop
+ (i32.eqz
+ (block
+ (i32.const 10)
+ )
)
)
- (i32.const 10)
- (i32.eqz
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.eqz
+ (i32.const 20)
+ )
+ )
+ (drop
+ (i32.const 10)
+ )
+ (drop
(i32.const 20)
)
- (i32.const 10)
- (i32.const 20)
- (i32.eqz
- (i32.const 30)
+ (drop
+ (i32.eqz
+ (i32.const 30)
+ )
+ )
+ (drop
+ (i32.const 10)
)
- (i32.const 10)
(set_local $x
(i32.const 20)
)
- (i32.const 10)
- (i32.load
- (i32.const 20)
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.load
+ (i32.const 20)
+ )
+ )
+ (drop
+ (i32.const 10)
)
- (i32.const 10)
(return
(unreachable)
)
)
(func $binary (type $3)
- (i32.add
- (block
+ (drop
+ (i32.add
+ (block
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
+ )
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.add
+ (i32.const 20)
+ (i32.const 30)
+ )
+ )
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 20)
+ )
+ (drop
+ (i32.add
+ (i32.const 30)
+ (i32.const 40)
+ )
+ )
+ (drop
+ (i32.add
(i32.const 10)
+ (block
+ (i32.const 20)
+ )
)
+ )
+ (drop
(i32.const 20)
)
- (i32.const 10)
- (i32.add
+ (drop
+ (i32.add
+ (i32.const 10)
+ (i32.const 30)
+ )
+ )
+ (drop
(i32.const 20)
- (i32.const 30)
)
- (i32.const 10)
- (i32.const 20)
- (i32.add
+ (drop
(i32.const 30)
- (i32.const 40)
)
- (i32.add
- (i32.const 10)
- (block
- (i32.const 20)
+ (drop
+ (i32.add
+ (i32.const 10)
+ (i32.const 40)
)
)
- (i32.const 20)
- (i32.add
- (i32.const 10)
- (i32.const 30)
+ (drop
+ (i32.add
+ (block
+ (i32.const 10)
+ )
+ (block
+ (i32.const 20)
+ )
+ )
)
- (i32.const 20)
- (i32.const 30)
- (i32.add
+ (drop
(i32.const 10)
- (i32.const 40)
)
- (i32.add
- (block
- (i32.const 10)
- )
- (block
+ (drop
+ (i32.const 30)
+ )
+ (drop
+ (i32.add
(i32.const 20)
+ (i32.const 40)
)
)
- (i32.const 10)
- (i32.const 30)
- (i32.add
+ (drop
+ (i32.const 10)
+ )
+ (drop
(i32.const 20)
+ )
+ (drop
(i32.const 40)
)
- (i32.const 10)
- (i32.const 20)
- (i32.const 40)
- (i32.const 50)
- (i32.add
- (i32.const 30)
- (i32.const 60)
+ (drop
+ (i32.const 50)
+ )
+ (drop
+ (i32.add
+ (i32.const 30)
+ (i32.const 60)
+ )
+ )
+ (drop
+ (i32.const 20)
)
- (i32.const 20)
(i32.store
(i32.const 10)
(i32.const 30)
)
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(i32.store
(i32.const 20)
(i32.const 30)
)
- (i32.add
- (unreachable)
- (block
- (i32.const 10)
- (i32.const 20)
+ (drop
+ (i32.add
+ (unreachable)
+ (block
+ (drop
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
)
)
(unreachable)
- (i32.const 20)
- (i32.add
- (i32.const 10)
- (i32.const 30)
- )
- )
- (func $trinary (type $3)
- (i32.const 10)
- (i32.const 30)
- (i32.const 50)
- (select
+ (drop
(i32.const 20)
- (i32.const 40)
- (i32.const 60)
)
- (i32.const 20)
- (i32.const 40)
- (select
- (block
+ (drop
+ (i32.add
(i32.const 10)
+ (i32.const 30)
)
+ )
+ )
+ (func $trinary (type $3)
+ (drop
+ (i32.const 10)
+ )
+ (drop
(i32.const 30)
+ )
+ (drop
(i32.const 50)
)
- (i32.const 10)
- (i32.const 40)
- (select
- (i32.const 20)
- (block
- (i32.const 30)
+ (drop
+ (select
+ (i32.const 20)
+ (i32.const 40)
+ (i32.const 60)
)
- (i32.const 50)
)
- (i32.const 10)
- (i32.const 30)
- (select
+ (drop
(i32.const 20)
+ )
+ (drop
(i32.const 40)
- (block
+ )
+ (drop
+ (select
+ (block
+ (i32.const 10)
+ )
+ (i32.const 30)
(i32.const 50)
)
)
- (i32.const 30)
- (select
- (block
- (i32.const 10)
- )
- (block
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 40)
+ )
+ (drop
+ (select
(i32.const 20)
+ (block
+ (i32.const 30)
+ )
+ (i32.const 50)
)
- (i32.const 40)
)
- (i32.const 20)
- (select
- (block
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 30)
+ )
+ (drop
+ (select
+ (i32.const 20)
+ (i32.const 40)
+ (block
+ (i32.const 50)
+ )
)
+ )
+ (drop
(i32.const 30)
- (block
+ )
+ (drop
+ (select
+ (block
+ (i32.const 10)
+ )
+ (block
+ (i32.const 20)
+ )
(i32.const 40)
)
)
- (i32.const 10)
- (select
+ (drop
(i32.const 20)
- (block
+ )
+ (drop
+ (select
+ (block
+ (i32.const 10)
+ )
(i32.const 30)
+ (block
+ (i32.const 40)
+ )
)
- (block
- (i32.const 40)
+ )
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (select
+ (i32.const 20)
+ (block
+ (i32.const 30)
+ )
+ (block
+ (i32.const 40)
+ )
)
)
(unreachable)
- (i32.const 30)
- (i32.const 50)
- (select
- (i32.const 20)
- (i32.const 40)
- (i32.const 60)
+ (drop
+ (i32.const 30)
)
- (i32.const 10)
- (select
- (unreachable)
- (block
- (i32.const 30)
+ (drop
+ (i32.const 50)
+ )
+ (drop
+ (select
+ (i32.const 20)
(i32.const 40)
- )
- (block
- (i32.const 50)
(i32.const 60)
)
)
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (select
+ (unreachable)
+ (block
+ (drop
+ (i32.const 30)
+ )
+ (i32.const 40)
+ )
+ (block
+ (drop
+ (i32.const 50)
+ )
+ (i32.const 60)
+ )
+ )
+ )
+ (drop
+ (i32.const 10)
+ )
(unreachable)
- (i32.const 50)
- (select
- (i32.const 20)
- (i32.const 40)
- (i32.const 60)
+ (drop
+ (i32.const 50)
)
- (i32.const 10)
- (i32.const 30)
- (select
- (i32.const 20)
- (unreachable)
- (block
- (i32.const 50)
+ (drop
+ (select
+ (i32.const 20)
+ (i32.const 40)
(i32.const 60)
)
)
- (i32.const 10)
- (i32.const 30)
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 30)
+ )
+ (drop
+ (select
+ (i32.const 20)
+ (unreachable)
+ (block
+ (drop
+ (i32.const 50)
+ )
+ (i32.const 60)
+ )
+ )
+ )
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 30)
+ )
(unreachable)
- (select
- (i32.const 20)
- (i32.const 40)
- (i32.const 60)
+ (drop
+ (select
+ (i32.const 20)
+ (i32.const 40)
+ (i32.const 60)
+ )
)
- (i32.const 10)
- (i32.const 30)
- (i32.const 50)
- (select
- (i32.const 20)
- (i32.const 40)
- (unreachable)
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 30)
+ )
+ (drop
+ (i32.const 50)
+ )
+ (drop
+ (select
+ (i32.const 20)
+ (i32.const 40)
+ (unreachable)
+ )
)
)
(func $breaks (type $3)
(block $out
- (i32.const 10)
- (br $out
+ (drop
+ (i32.const 10)
+ )
+ (drop
(i32.const 20)
)
- (i32.const 10)
+ (br $out)
+ (drop
+ (i32.const 10)
+ )
(br_if $out
(i32.const 20)
)
- (i32.const 10)
- (i32.const 30)
- (br_if $out
+ (drop
+ (i32.const 10)
+ )
+ (drop
(i32.const 20)
+ )
+ (drop
+ (i32.const 30)
+ )
+ (br_if $out
(i32.const 40)
)
- (i32.const 10)
- (br_table $out $out
- (i32.const 20)
+ (drop
+ (i32.const 10)
)
- (i32.const 10)
- (i32.const 30)
(br_table $out $out
(i32.const 20)
- (i32.const 40)
)
+ (drop
+ (block $out2
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 30)
+ )
+ (br_table $out2 $out2
+ (i32.const 20)
+ (i32.const 40)
+ )
+ )
+ )
+ (unreachable)
)
)
(func $calls (type $3)
@@ -347,80 +563,120 @@
(i32.const 10)
)
)
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(call $call-i
(i32.const 20)
)
- (i32.const 10)
- (i32.const 20)
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 20)
+ )
(call $call-i
(i32.const 30)
)
- (i32.const 10)
- (i32.const 30)
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 30)
+ )
(call $call-ii
(i32.const 20)
(i32.const 40)
)
(unreachable)
- (i32.const 20)
+ (drop
+ (i32.const 20)
+ )
(call $call-ii
(i32.const 10)
(i32.const 30)
)
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(call $call-ii
(unreachable)
(block
- (i32.const 20)
+ (drop
+ (i32.const 20)
+ )
(i32.const 30)
)
)
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(unreachable)
(call $call-ii
(i32.const 20)
(i32.const 30)
)
- (i32.const 10)
- (i32.const 30)
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 30)
+ )
(call $call-ii
(i32.const 20)
(unreachable)
)
- (i32.const 10)
- (i32.const 30)
- (i32.const 50)
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 30)
+ )
+ (drop
+ (i32.const 50)
+ )
(call $call-iii
(i32.const 20)
(i32.const 40)
(i32.const 60)
)
- (i32.const 10)
- (i32.const 40)
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 40)
+ )
(call $call-iii
(i32.const 20)
(i32.const 30)
(i32.const 50)
)
- (i32.const 10)
- (i32.const 30)
- (i32.const 50)
+ (drop
+ (i32.const 50)
+ )
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 30)
+ )
(call_indirect $ii
(i32.const 20)
(i32.const 40)
(i32.const 60)
)
+ (drop
+ (i32.const 50)
+ )
(call_indirect $ii
(unreachable)
(block
- (i32.const 30)
+ (drop
+ (i32.const 30)
+ )
(i32.const 40)
)
- (block
- (i32.const 50)
- (i32.const 60)
- )
+ (i32.const 60)
)
)
(func $block-type-change (type $3)
diff --git a/test/passes/remove-unused-names_merge-blocks.wast b/test/passes/remove-unused-names_merge-blocks.wast
index 85bb11da6..562c5bbba 100644
--- a/test/passes/remove-unused-names_merge-blocks.wast
+++ b/test/passes/remove-unused-names_merge-blocks.wast
@@ -1,23 +1,29 @@
(module
(memory 256 256)
(type $i (func (param i32)))
- (type $ii (func (param i32) (param i32)))
- (type $iii (func (param i32) (param i32) (param i32)))
+ (type $ii (func (param i32 i32)))
+ (type $iii (func (param i32 i32 i32)))
+ (type $3 (func))
(table $call-i)
- (func $call-i (param i32)
+ (func $call-i (type $i) (param $0 i32)
+ (nop)
)
- (func $call-ii (param i32) (param i32)
+ (func $call-ii (type $ii) (param $0 i32) (param $1 i32)
+ (nop)
)
- (func $call-iii (param i32) (param i32) (param i32)
+ (func $call-iii (type $iii) (param $0 i32) (param $1 i32) (param $2 i32)
+ (nop)
)
- (func $b0-yes (param $i1 i32)
+ (func $b0-yes (type $i) (param $i1 i32)
(block $topmost
- (block
- (i32.const 10)
+ (block $block0
+ (drop
+ (i32.const 10)
+ )
)
)
)
- (func $b0-no (param $i1 i32)
+ (func $b0-no (type $i) (param $i1 i32)
(block $topmost
(block $block0
(br $block0)
@@ -25,577 +31,836 @@
(br $topmost)
)
)
- (func $b0-br-but-ok (param $i1 i32)
+ (func $b0-br-but-ok (type $i) (param $i1 i32)
(block $topmost
(block $block0
(br $topmost)
)
)
)
- (func $b1-yes (param $i1 i32)
+ (func $b1-yes (type $i) (param $i1 i32)
(block $topmost
- (block
- (block
- (i32.const 10)
+ (block $block0
+ (block $block1
+ (drop
+ (i32.const 10)
+ )
)
)
)
)
- (func $b2-yes (param $i1 i32)
+ (func $b2-yes (type $i) (param $i1 i32)
(block $topmost
- (i32.const 5)
- (block
- (i32.const 10)
+ (drop
+ (i32.const 5)
+ )
+ (block $block0
+ (drop
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.const 15)
)
- (i32.const 15)
)
)
- (func $b3-yes (param $i1 i32)
+ (func $b3-yes (type $i) (param $i1 i32)
(block $topmost
- (i32.const 3)
- (block
- (i32.const 6)
- (block
- (i32.const 10)
+ (drop
+ (i32.const 3)
+ )
+ (block $block0
+ (drop
+ (i32.const 6)
)
- (i32.const 15)
+ (block $block1
+ (drop
+ (i32.const 10)
+ )
+ )
+ (drop
+ (i32.const 15)
+ )
+ )
+ (drop
+ (i32.const 20)
)
- (i32.const 20)
)
)
- (func $b4 (param $i1 i32)
+ (func $b4 (type $i) (param $i1 i32)
(block $topmost
(block $inner
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(br $inner)
)
)
)
- (func $b5 (param $i1 i32)
+ (func $b5 (type $i) (param $i1 i32)
(block $topmost
(block $middle
(block $inner
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(br $inner)
)
(br $middle)
)
)
)
- (func $b6 (param $i1 i32)
+ (func $b6 (type $i) (param $i1 i32)
(block $topmost
- (i32.const 5)
+ (drop
+ (i32.const 5)
+ )
(block $inner
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(br $inner)
)
- (i32.const 15)
+ (drop
+ (i32.const 15)
+ )
)
)
- (func $b7 (param $i1 i32)
+ (func $b7 (type $i) (param $i1 i32)
(block $topmost
- (i32.const 3)
+ (drop
+ (i32.const 3)
+ )
(block $middle
- (i32.const 6)
+ (drop
+ (i32.const 6)
+ )
(block $inner
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
(br $inner)
)
- (i32.const 15)
+ (drop
+ (i32.const 15)
+ )
(br $middle)
)
- (i32.const 20)
+ (drop
+ (i32.const 20)
+ )
)
)
- (func $unary
+ (func $unary (type $3)
(local $x i32)
- (i32.eqz
- (block
- (i32.const 10)
+ (drop
+ (i32.eqz
+ (block $block0
+ (i32.const 10)
+ )
)
)
- (i32.eqz
- (block
- (i32.const 10)
- (i32.const 20)
+ (drop
+ (i32.eqz
+ (block $block1
+ (drop
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
)
)
- (i32.eqz
- (block
- (i32.const 10)
- (i32.const 20)
- (i32.const 30)
+ (drop
+ (i32.eqz
+ (block $block2
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 20)
+ )
+ (i32.const 30)
+ )
)
)
(set_local $x
- (block
- (i32.const 10)
+ (block $block3
+ (drop
+ (i32.const 10)
+ )
(i32.const 20)
)
)
- (i32.load
- (block
- (i32.const 10)
- (i32.const 20)
+ (drop
+ (i32.load
+ (block $block4
+ (drop
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
)
)
(return
- (block
- (i32.const 10)
+ (block $block5
+ (drop
+ (i32.const 10)
+ )
(unreachable)
)
)
)
- (func $binary
- (i32.add
- (block
- (i32.const 10)
- )
- (i32.const 20)
- )
- (i32.add
- (block
- (i32.const 10)
- (i32.const 20)
- )
- (i32.const 30)
- )
- (i32.add
- (block
- (i32.const 10)
- (i32.const 20)
- (i32.const 30)
- )
- (i32.const 40)
- )
- (i32.add
- (i32.const 10)
- (block
+ (func $binary (type $3)
+ (drop
+ (i32.add
+ (block $block0
+ (i32.const 10)
+ )
(i32.const 20)
)
)
- (i32.add
- (i32.const 10)
- (block
- (i32.const 20)
+ (drop
+ (i32.add
+ (block $block1
+ (drop
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
(i32.const 30)
)
)
- (i32.add
- (i32.const 10)
- (block
- (i32.const 20)
- (i32.const 30)
+ (drop
+ (i32.add
+ (block $block2
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 20)
+ )
+ (i32.const 30)
+ )
(i32.const 40)
)
)
- (i32.add
- (block
+ (drop
+ (i32.add
(i32.const 10)
+ (block $block3
+ (i32.const 20)
+ )
)
- (block
- (i32.const 20)
+ )
+ (drop
+ (i32.add
+ (i32.const 10)
+ (block $block4
+ (drop
+ (i32.const 20)
+ )
+ (i32.const 30)
+ )
)
)
- (i32.add
- (block
+ (drop
+ (i32.add
(i32.const 10)
- (i32.const 20)
+ (block $block5
+ (drop
+ (i32.const 20)
+ )
+ (drop
+ (i32.const 30)
+ )
+ (i32.const 40)
+ )
)
- (block
- (i32.const 30)
- (i32.const 40)
+ )
+ (drop
+ (i32.add
+ (block $block6
+ (i32.const 10)
+ )
+ (block $block7
+ (i32.const 20)
+ )
)
)
- (i32.add
- (block
- (i32.const 10)
- (i32.const 20)
- (i32.const 30)
+ (drop
+ (i32.add
+ (block $block8
+ (drop
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
+ (block $block9
+ (drop
+ (i32.const 30)
+ )
+ (i32.const 40)
+ )
)
- (block
- (i32.const 40)
- (i32.const 50)
- (i32.const 60)
+ )
+ (drop
+ (i32.add
+ (block $block10
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 20)
+ )
+ (i32.const 30)
+ )
+ (block $block11
+ (drop
+ (i32.const 40)
+ )
+ (drop
+ (i32.const 50)
+ )
+ (i32.const 60)
+ )
)
)
(i32.store
(i32.const 10)
- (block
- (i32.const 20)
+ (block $block12
+ (drop
+ (i32.const 20)
+ )
(i32.const 30)
)
)
(i32.store
- (block
- (i32.const 10)
+ (block $block13
+ (drop
+ (i32.const 10)
+ )
(i32.const 20)
)
(i32.const 30)
)
- (i32.add
- (unreachable) ;; do not move across this TODO: move non-side-effecting
- (block
- (i32.const 10)
- (i32.const 20)
+ (drop
+ (i32.add
+ (unreachable)
+ (block $block14
+ (drop
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
)
)
- (i32.add
- (block
- (unreachable) ;; moves out, so does not block the rest
- (i32.const 10)
- )
- (block
- (i32.const 20)
- (i32.const 30)
+ (drop
+ (i32.add
+ (block $block15
+ (unreachable)
+ (i32.const 10)
+ )
+ (block $block16
+ (drop
+ (i32.const 20)
+ )
+ (i32.const 30)
+ )
)
)
)
- (func $trinary
- (select
- (block
- (i32.const 10)
- (i32.const 20)
- )
- (block
- (i32.const 30)
- (i32.const 40)
- )
- (block
- (i32.const 50)
- (i32.const 60)
+ (func $trinary (type $3)
+ (drop
+ (select
+ (block $block0
+ (drop
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
+ (block $block1
+ (drop
+ (i32.const 30)
+ )
+ (i32.const 40)
+ )
+ (block $block2
+ (drop
+ (i32.const 50)
+ )
+ (i32.const 60)
+ )
)
)
- (select
- (block
- (i32.const 10)
- )
- (block
- (i32.const 20)
- (i32.const 30)
- )
- (block
- (i32.const 40)
- (i32.const 50)
+ (drop
+ (select
+ (block $block3
+ (i32.const 10)
+ )
+ (block $block4
+ (drop
+ (i32.const 20)
+ )
+ (i32.const 30)
+ )
+ (block $block5
+ (drop
+ (i32.const 40)
+ )
+ (i32.const 50)
+ )
)
)
- (select
- (block
- (i32.const 10)
- (i32.const 20)
- )
- (block
- (i32.const 30)
- )
- (block
- (i32.const 40)
- (i32.const 50)
+ (drop
+ (select
+ (block $block6
+ (drop
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
+ (block $block7
+ (i32.const 30)
+ )
+ (block $block8
+ (drop
+ (i32.const 40)
+ )
+ (i32.const 50)
+ )
)
)
- (select
- (block
- (i32.const 10)
- (i32.const 20)
- )
- (block
- (i32.const 30)
- (i32.const 40)
- )
- (block
- (i32.const 50)
+ (drop
+ (select
+ (block $block9
+ (drop
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
+ (block $block10
+ (drop
+ (i32.const 30)
+ )
+ (i32.const 40)
+ )
+ (block $block11
+ (i32.const 50)
+ )
)
)
- (select
- (block
- (i32.const 10)
- )
- (block
- (i32.const 20)
- )
- (block
- (i32.const 30)
- (i32.const 40)
+ (drop
+ (select
+ (block $block12
+ (i32.const 10)
+ )
+ (block $block13
+ (i32.const 20)
+ )
+ (block $block14
+ (drop
+ (i32.const 30)
+ )
+ (i32.const 40)
+ )
)
)
- (select
- (block
- (i32.const 10)
- )
- (block
- (i32.const 20)
- (i32.const 30)
- )
- (block
- (i32.const 40)
+ (drop
+ (select
+ (block $block15
+ (i32.const 10)
+ )
+ (block $block16
+ (drop
+ (i32.const 20)
+ )
+ (i32.const 30)
+ )
+ (block $block17
+ (i32.const 40)
+ )
)
)
- (select
- (block
- (i32.const 10)
- (i32.const 20)
- )
- (block
- (i32.const 30)
- )
- (block
- (i32.const 40)
+ (drop
+ (select
+ (block $block18
+ (drop
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
+ (block $block19
+ (i32.const 30)
+ )
+ (block $block20
+ (i32.const 40)
+ )
)
)
- ;; now for bad stuff
- (select
- (block
- (unreachable)
- (i32.const 20)
- )
- (block
- (i32.const 30)
- (i32.const 40)
- )
- (block
- (i32.const 50)
- (i32.const 60)
+ (drop
+ (select
+ (block $block21
+ (unreachable)
+ (i32.const 20)
+ )
+ (block $block22
+ (drop
+ (i32.const 30)
+ )
+ (i32.const 40)
+ )
+ (block $block23
+ (drop
+ (i32.const 50)
+ )
+ (i32.const 60)
+ )
)
)
- (select
- (block
- (i32.const 10)
- (unreachable)
- )
- (block
- (i32.const 30)
- (i32.const 40)
- )
- (block
- (i32.const 50)
- (i32.const 60)
+ (drop
+ (select
+ (block $block24
+ (drop
+ (i32.const 10)
+ )
+ (unreachable)
+ )
+ (block $block25
+ (drop
+ (i32.const 30)
+ )
+ (i32.const 40)
+ )
+ (block $block26
+ (drop
+ (i32.const 50)
+ )
+ (i32.const 60)
+ )
)
)
- (select
- (block
- (i32.const 10)
- (i32.const 20)
- )
- (block
- (unreachable)
- (i32.const 40)
- )
- (block
- (i32.const 50)
- (i32.const 60)
+ (drop
+ (select
+ (block $block27
+ (drop
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
+ (block $block28
+ (unreachable)
+ (i32.const 40)
+ )
+ (block $block29
+ (drop
+ (i32.const 50)
+ )
+ (i32.const 60)
+ )
)
)
- (select
- (block
- (i32.const 10)
- (i32.const 20)
- )
- (block
- (i32.const 30)
- (unreachable)
- )
- (block
- (i32.const 50)
- (i32.const 60)
+ (drop
+ (select
+ (block $block30
+ (drop
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
+ (block $block31
+ (drop
+ (i32.const 30)
+ )
+ (unreachable)
+ )
+ (block $block32
+ (drop
+ (i32.const 50)
+ )
+ (i32.const 60)
+ )
)
)
- (select
- (block
- (i32.const 10)
- (i32.const 20)
- )
- (block
- (i32.const 30)
- (i32.const 40)
- )
- (block
- (unreachable)
- (i32.const 60)
+ (drop
+ (select
+ (block $block33
+ (drop
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
+ (block $block34
+ (drop
+ (i32.const 30)
+ )
+ (i32.const 40)
+ )
+ (block $block35
+ (unreachable)
+ (i32.const 60)
+ )
)
)
- (select
- (block
- (i32.const 10)
- (i32.const 20)
- )
- (block
- (i32.const 30)
- (i32.const 40)
- )
- (block
- (i32.const 50)
- (unreachable)
+ (drop
+ (select
+ (block $block36
+ (drop
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
+ (block $block37
+ (drop
+ (i32.const 30)
+ )
+ (i32.const 40)
+ )
+ (block $block38
+ (drop
+ (i32.const 50)
+ )
+ (unreachable)
+ )
)
)
)
- (func $breaks
+ (func $breaks (type $3)
(block $out
- (br $out
- (block
- (i32.const 10)
- (i32.const 20)
+ (block
+ (drop
+ (block $block0
+ (drop
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
)
+ (br $out)
)
(br_if $out
- (block
- (i32.const 10)
+ (block $block1
+ (drop
+ (i32.const 10)
+ )
(i32.const 20)
)
)
- (br_if $out
- (block
- (i32.const 10)
- (i32.const 20)
+ (block
+ (drop
+ (block $block2
+ (drop
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
)
- (block
- (i32.const 30)
- (i32.const 40)
+ (br_if $out
+ (block $block3
+ (drop
+ (i32.const 30)
+ )
+ (i32.const 40)
+ )
)
)
(br_table $out $out
- (block
- (i32.const 10)
+ (block $block4
+ (drop
+ (i32.const 10)
+ )
(i32.const 20)
)
)
- (br_table $out $out
- (block
- (i32.const 10)
- (i32.const 20)
- )
- (block
- (i32.const 30)
- (i32.const 40)
+ (drop
+ (block $out2
+ (br_table $out2 $out2
+ (block $block5
+ (drop
+ (i32.const 10)
+ )
+ (i32.const 20)
+ )
+ (block $block6
+ (drop
+ (i32.const 30)
+ )
+ (i32.const 40)
+ )
+ )
)
)
+ (unreachable)
)
)
- (func $calls
+ (func $calls (type $3)
(call $call-i
- (block
+ (block $block0
(i32.const 10)
)
)
(call $call-i
- (block
- (i32.const 10)
+ (block $block1
+ (drop
+ (i32.const 10)
+ )
(i32.const 20)
)
)
(call $call-i
- (block
- (i32.const 10)
- (i32.const 20)
+ (block $block2
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 20)
+ )
(i32.const 30)
)
)
(call $call-ii
- (block
- (i32.const 10)
+ (block $block3
+ (drop
+ (i32.const 10)
+ )
(i32.const 20)
)
- (block
- (i32.const 30)
+ (block $block4
+ (drop
+ (i32.const 30)
+ )
(i32.const 40)
)
)
(call $call-ii
- (block
+ (block $block5
(unreachable)
(i32.const 10)
)
- (block
- (i32.const 20)
+ (block $block6
+ (drop
+ (i32.const 20)
+ )
(i32.const 30)
)
)
(call $call-ii
- (block
- (i32.const 10)
+ (block $block7
+ (drop
+ (i32.const 10)
+ )
(unreachable)
)
- (block
- (i32.const 20)
+ (block $block8
+ (drop
+ (i32.const 20)
+ )
(i32.const 30)
)
)
(call $call-ii
- (block
- (i32.const 10)
+ (block $block9
+ (drop
+ (i32.const 10)
+ )
(i32.const 20)
)
- (block
+ (block $block10
(unreachable)
(i32.const 30)
)
)
(call $call-ii
- (block
- (i32.const 10)
+ (block $block11
+ (drop
+ (i32.const 10)
+ )
(i32.const 20)
)
- (block
- (i32.const 30)
+ (block $block12
+ (drop
+ (i32.const 30)
+ )
(unreachable)
)
)
(call $call-iii
- (block
- (i32.const 10)
+ (block $block13
+ (drop
+ (i32.const 10)
+ )
(i32.const 20)
)
- (block
- (i32.const 30)
+ (block $block14
+ (drop
+ (i32.const 30)
+ )
(i32.const 40)
)
- (block
- (i32.const 50)
+ (block $block15
+ (drop
+ (i32.const 50)
+ )
(i32.const 60)
)
)
(call $call-iii
- (block
- (i32.const 10)
+ (block $block16
+ (drop
+ (i32.const 10)
+ )
(i32.const 20)
)
(i32.const 30)
- (block
- (i32.const 40)
+ (block $block17
+ (drop
+ (i32.const 40)
+ )
(i32.const 50)
)
)
(call_indirect $ii
- (block
- (i32.const 10)
+ (block $block18
+ (drop
+ (i32.const 10)
+ )
(i32.const 20)
)
- (block
- (i32.const 30)
+ (block $block19
+ (drop
+ (i32.const 30)
+ )
(i32.const 40)
)
- (block
- (i32.const 50)
+ (block $block20
+ (drop
+ (i32.const 50)
+ )
(i32.const 60)
)
)
(call_indirect $ii
(unreachable)
- (block
- (i32.const 30)
+ (block $block21
+ (drop
+ (i32.const 30)
+ )
(i32.const 40)
)
- (block
- (i32.const 50)
+ (block $block22
+ (drop
+ (i32.const 50)
+ )
(i32.const 60)
)
)
)
- (func $block-type-change
+ (func $block-type-change (type $3)
(local $0 f64)
(local $1 f64)
(if
(f64.gt
(get_local $0)
- (block
+ (block $block0
(nop)
(get_local $1)
)
@@ -604,4 +869,3 @@
)
)
)
-
diff --git a/test/passes/reorder-functions.wast b/test/passes/reorder-functions.wast
index 99a8363d4..a69afa3b9 100644
--- a/test/passes/reorder-functions.wast
+++ b/test/passes/reorder-functions.wast
@@ -1,6 +1,16 @@
(module
(memory 256 256)
- (func $a (call $a))
- (func $b (call $b) (call $b))
- (func $c (call $c) (call $c) (call $c))
+ (type $0 (func))
+ (func $a (type $0)
+ (call $a)
+ )
+ (func $b (type $0)
+ (call $b)
+ (call $b)
+ )
+ (func $c (type $0)
+ (call $c)
+ (call $c)
+ (call $c)
+ )
)
diff --git a/test/passes/reorder-locals.txt b/test/passes/reorder-locals.txt
index 7ecb7c4a4..c2b481cab 100644
--- a/test/passes/reorder-locals.txt
+++ b/test/passes/reorder-locals.txt
@@ -45,7 +45,9 @@
)
(func $zero (type $1)
(local $b i32)
- (get_local $b)
+ (drop
+ (get_local $b)
+ )
)
(func $null (type $1)
(nop)
diff --git a/test/passes/reorder-locals.wast b/test/passes/reorder-locals.wast
index 832889a78..872d352ee 100644
--- a/test/passes/reorder-locals.wast
+++ b/test/passes/reorder-locals.wast
@@ -1,29 +1,59 @@
(module
(memory 256 256)
- (func $b0-yes (param $a i32) (param $b i32)
+ (type $0 (func (param i32 i32)))
+ (type $1 (func))
+ (func $b0-yes (type $0) (param $a i32) (param $b i32)
(local $x i32)
(local $y i32)
(local $z i32)
-
- ;; Should reverse the order of the locals.
- (set_local $x (get_local $x))
- (set_local $y (get_local $y)) (set_local $y (get_local $y))
- (set_local $z (get_local $z)) (set_local $z (get_local $z)) (set_local $z (get_local $z))
-
- ;; Should not touch the args.
- (set_local $b (get_local $b)) (set_local $b (get_local $b)) (set_local $b (get_local $b))
- (set_local $b (get_local $b)) (set_local $b (get_local $b)) (set_local $b (get_local $b))
+ (set_local $x
+ (get_local $x)
+ )
+ (set_local $y
+ (get_local $y)
+ )
+ (set_local $y
+ (get_local $y)
+ )
+ (set_local $z
+ (get_local $z)
+ )
+ (set_local $z
+ (get_local $z)
+ )
+ (set_local $z
+ (get_local $z)
+ )
+ (set_local $b
+ (get_local $b)
+ )
+ (set_local $b
+ (get_local $b)
+ )
+ (set_local $b
+ (get_local $b)
+ )
+ (set_local $b
+ (get_local $b)
+ )
+ (set_local $b
+ (get_local $b)
+ )
+ (set_local $b
+ (get_local $b)
+ )
)
- (func $zero
+ (func $zero (type $1)
(local $a i32)
(local $b i32)
(local $c i32)
- (get_local $b) ;; a and c are untouched
+ (drop
+ (get_local $b)
+ )
)
- (func $null
+ (func $null (type $1)
(local $a i32)
(local $c i32)
- (nop) ;; a and c are untouched
+ (nop)
)
)
-
diff --git a/test/passes/simplify-locals.txt b/test/passes/simplify-locals.txt
index 0ca96893f..72bd7aa12 100644
--- a/test/passes/simplify-locals.txt
+++ b/test/passes/simplify-locals.txt
@@ -7,75 +7,138 @@
(type $4 (func (param i32)))
(type $5 (func (param i32) (result i32)))
(type $6 (func (param i32 i32 i32 i32 i32 i32)))
- (import $waka "env" "waka")
- (import $waka_int "env" "waka_int" (result i32))
- (import $_i64Subtract "env" "i64sub" (param i32 i32 i32 i32) (result i32))
- (import $___udivmoddi4 "env" "moddi" (param i32 i32 i32 i32 i32) (result i32))
+ (type $7 (func (param i32 i32)))
+ (import "env" "waka" (func $waka))
+ (import "env" "waka_int" (func $waka_int (result i32)))
+ (import "env" "i64sub" (func $_i64Subtract (param i32 i32 i32 i32) (result i32)))
+ (import "env" "moddi" (func $___udivmoddi4 (param i32 i32 i32 i32 i32) (result i32)))
(func $b0-yes (type $4) (param $i1 i32)
(local $x i32)
(local $y i32)
(local $a i32)
(local $b i32)
+ (local $5 i32)
+ (local $6 i32)
+ (local $7 i32)
+ (local $8 i32)
(nop)
- (i32.const 5)
+ (drop
+ (i32.const 5)
+ )
(block $block0
(nop)
- (i32.const 7)
+ (drop
+ (i32.const 7)
+ )
)
(nop)
- (i32.const 11)
- (i32.const 9)
- (get_local $y)
+ (drop
+ (i32.const 11)
+ )
+ (drop
+ (i32.const 9)
+ )
+ (drop
+ (get_local $y)
+ )
(block $block1
- (i32.const 8)
+ (drop
+ (i32.const 8)
+ )
+ (drop
+ (get_local $y)
+ )
+ )
+ (drop
+ (i32.const 11)
+ )
+ (drop
(get_local $y)
)
- (i32.const 11)
- (get_local $y)
(nop)
(nop)
(nop)
(nop)
(nop)
(nop)
- (i32.const 17)
+ (drop
+ (i32.const 17)
+ )
(block $block2
(nop)
(nop)
- (i32.const 1)
- (i32.const 2)
- (i32.const 3)
- (i32.const 4)
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ (drop
+ (i32.const 3)
+ )
+ (drop
+ (i32.const 4)
+ )
(nop)
(nop)
- (i32.const 6)
- (i32.const 5)
- (i32.const 7)
- (i32.const 8)
+ (drop
+ (i32.const 6)
+ )
+ (drop
+ (i32.const 5)
+ )
+ (drop
+ (i32.const 7)
+ )
+ (drop
+ (i32.const 8)
+ )
(nop)
(nop)
(call_import $waka)
- (i32.const 9)
- (i32.const 10)
- (i32.const 11)
- (i32.const 12)
+ (drop
+ (i32.const 9)
+ )
+ (drop
+ (i32.const 10)
+ )
+ (drop
+ (i32.const 11)
+ )
+ (drop
+ (i32.const 12)
+ )
(nop)
(nop)
- (i32.load
- (i32.const 24)
+ (drop
+ (i32.load
+ (i32.const 24)
+ )
+ )
+ (drop
+ (i32.const 13)
+ )
+ (drop
+ (i32.const 14)
+ )
+ (drop
+ (i32.const 15)
+ )
+ (drop
+ (i32.const 16)
)
- (i32.const 13)
- (i32.const 14)
- (i32.const 15)
- (i32.const 16)
(nop)
(nop)
(i32.store
(i32.const 48)
(i32.const 96)
)
- (i32.const 17)
- (i32.const 18)
+ (drop
+ (i32.const 17)
+ )
+ (drop
+ (i32.const 18)
+ )
)
(block $block3
(nop)
@@ -87,15 +150,21 @@
(call_import $waka_int)
)
(call_import $waka)
- (get_local $a)
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
(set_local $a
(call_import $waka_int)
)
- (i32.load
- (i32.const 1)
+ (drop
+ (i32.load
+ (i32.const 1)
+ )
+ )
+ (drop
+ (get_local $a)
)
- (get_local $a)
(call_import $waka)
(set_local $a
(call_import $waka_int)
@@ -104,7 +173,9 @@
(i32.const 1)
(i32.const 2)
)
- (get_local $a)
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
(nop)
(set_local $a
@@ -114,8 +185,10 @@
)
(call_import $waka)
(nop)
- (i32.load
- (i32.const 1)
+ (drop
+ (i32.load
+ (i32.const 1)
+ )
)
(set_local $a
(i32.load
@@ -129,7 +202,9 @@
)
)
(call_import $waka)
- (get_local $a)
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
(set_local $a
(i32.load
@@ -140,73 +215,123 @@
(i32.const 1)
(i32.const 2)
)
- (get_local $a)
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
(nop)
(set_local $a
- (i32.store
- (i32.const 104)
- (i32.const 105)
+ (block $block0
+ (block $block1
+ (nop)
+ (i32.store
+ (i32.const 104)
+ (tee_local $5
+ (i32.const 105)
+ )
+ )
+ )
+ (get_local $5)
)
)
(call_import $waka)
(set_local $a
- (i32.store
- (i32.const 106)
- (i32.const 107)
+ (block $block2
+ (block $block4
+ (nop)
+ (i32.store
+ (i32.const 106)
+ (tee_local $6
+ (i32.const 107)
+ )
+ )
+ )
+ (get_local $6)
)
)
(call_import $waka)
- (get_local $a)
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
(set_local $a
- (i32.store
- (i32.const 108)
- (i32.const 109)
+ (block $block5
+ (block $block6
+ (nop)
+ (i32.store
+ (i32.const 108)
+ (tee_local $7
+ (i32.const 109)
+ )
+ )
+ )
+ (get_local $7)
)
)
- (i32.load
- (i32.const 1)
+ (drop
+ (i32.load
+ (i32.const 1)
+ )
+ )
+ (drop
+ (get_local $a)
)
- (get_local $a)
(call_import $waka)
(set_local $a
- (i32.store
- (i32.const 110)
- (i32.const 111)
+ (block $block7
+ (block $block8
+ (nop)
+ (i32.store
+ (i32.const 110)
+ (tee_local $8
+ (i32.const 111)
+ )
+ )
+ )
+ (get_local $8)
)
)
(i32.store
(i32.const 1)
(i32.const 2)
)
- (get_local $a)
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
)
(block $out-of-block
(nop)
(nop)
- (block $b
- (block $c
- (br $b
- (i32.const 1337)
+ (drop
+ (block $b
+ (block $c
+ (br $b
+ (i32.const 1337)
+ )
)
+ (nop)
+ (i32.const 9876)
)
- (nop)
- (i32.const 9876)
)
)
(block $loopey
(set_local $a
(i32.const 1337)
)
- (loop $loop-out4 $loop-in5
- (get_local $a)
- (set_local $a
- (i32.const 9876)
+ (drop
+ (loop $loop-in5
+ (drop
+ (get_local $a)
+ )
+ (tee_local $a
+ (i32.const 9876)
+ )
)
)
- (get_local $a)
+ (drop
+ (get_local $a)
+ )
)
)
(func $Ia (type $5) (param $a i32) (result i32)
@@ -229,7 +354,7 @@
)
(nop)
(i32.store8
- (set_local $bi3
+ (tee_local $bi3
(i32.const 1)
)
(get_local $bi3)
@@ -240,7 +365,7 @@
(get_local $bi3)
)
(set_local $di3
- (set_local $bi3
+ (tee_local $bi3
(i32.const 123)
)
)
@@ -248,7 +373,9 @@
(get_local $bi3)
(get_local $di3)
)
- (i32.const 456)
+ (drop
+ (i32.const 456)
+ )
)
(func $___remdi3 (type $FUNCSIG$iiiii) (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32)
(local $$1$1 i32)
@@ -285,124 +412,126 @@
(nop)
(nop)
(nop)
- (call_import $___udivmoddi4
- (call_import $_i64Subtract
- (i32.xor
- (set_local $$1$0
- (i32.or
- (i32.shr_s
- (get_local $$a$1)
- (i32.const 31)
- )
- (i32.shl
- (if
- (i32.lt_s
- (get_local $$a$1)
+ (drop
+ (call_import $___udivmoddi4
+ (call_import $_i64Subtract
+ (i32.xor
+ (tee_local $$1$0
+ (i32.or
+ (i32.shr_s
+ (get_local $$a$1)
+ (i32.const 31)
+ )
+ (i32.shl
+ (if
+ (i32.lt_s
+ (get_local $$a$1)
+ (i32.const 0)
+ )
+ (i32.const -1)
(i32.const 0)
)
- (i32.const -1)
- (i32.const 0)
+ (i32.const 1)
)
- (i32.const 1)
)
)
+ (get_local $$a$0)
)
- (get_local $$a$0)
- )
- (i32.xor
- (set_local $$1$1
- (i32.or
- (i32.shr_s
- (if
- (i32.lt_s
- (get_local $$a$1)
+ (i32.xor
+ (tee_local $$1$1
+ (i32.or
+ (i32.shr_s
+ (if
+ (i32.lt_s
+ (get_local $$a$1)
+ (i32.const 0)
+ )
+ (i32.const -1)
(i32.const 0)
)
- (i32.const -1)
- (i32.const 0)
+ (i32.const 31)
)
- (i32.const 31)
- )
- (i32.shl
- (if
- (i32.lt_s
- (get_local $$a$1)
+ (i32.shl
+ (if
+ (i32.lt_s
+ (get_local $$a$1)
+ (i32.const 0)
+ )
+ (i32.const -1)
(i32.const 0)
)
- (i32.const -1)
- (i32.const 0)
+ (i32.const 1)
)
- (i32.const 1)
)
)
+ (get_local $$a$1)
)
- (get_local $$a$1)
+ (get_local $$1$0)
+ (get_local $$1$1)
)
- (get_local $$1$0)
- (get_local $$1$1)
- )
- (i32.load
- (i32.const 168)
- )
- (call_import $_i64Subtract
- (i32.xor
- (set_local $$2$0
- (i32.or
- (i32.shr_s
- (get_local $$b$1)
- (i32.const 31)
- )
- (i32.shl
- (if
- (i32.lt_s
- (get_local $$b$1)
+ (i32.load
+ (i32.const 168)
+ )
+ (call_import $_i64Subtract
+ (i32.xor
+ (tee_local $$2$0
+ (i32.or
+ (i32.shr_s
+ (get_local $$b$1)
+ (i32.const 31)
+ )
+ (i32.shl
+ (if
+ (i32.lt_s
+ (get_local $$b$1)
+ (i32.const 0)
+ )
+ (i32.const -1)
(i32.const 0)
)
- (i32.const -1)
- (i32.const 0)
+ (i32.const 1)
)
- (i32.const 1)
)
)
+ (get_local $$b$0)
)
- (get_local $$b$0)
- )
- (i32.xor
- (set_local $$2$1
- (i32.or
- (i32.shr_s
- (if
- (i32.lt_s
- (get_local $$b$1)
+ (i32.xor
+ (tee_local $$2$1
+ (i32.or
+ (i32.shr_s
+ (if
+ (i32.lt_s
+ (get_local $$b$1)
+ (i32.const 0)
+ )
+ (i32.const -1)
(i32.const 0)
)
- (i32.const -1)
- (i32.const 0)
+ (i32.const 31)
)
- (i32.const 31)
- )
- (i32.shl
- (if
- (i32.lt_s
- (get_local $$b$1)
+ (i32.shl
+ (if
+ (i32.lt_s
+ (get_local $$b$1)
+ (i32.const 0)
+ )
+ (i32.const -1)
(i32.const 0)
)
- (i32.const -1)
- (i32.const 0)
+ (i32.const 1)
)
- (i32.const 1)
)
)
+ (get_local $$b$1)
)
- (get_local $$b$1)
+ (get_local $$2$0)
+ (get_local $$2$1)
)
- (get_local $$2$0)
- (get_local $$2$1)
- )
- (i32.load
- (i32.const 168)
+ (i32.load
+ (i32.const 168)
+ )
+ (get_local $$rem)
)
- (get_local $$rem)
)
(set_local $$10$0
(call_import $_i64Subtract
@@ -458,7 +587,9 @@
)
(i32.const 1)
)
- (get_local $x)
+ (drop
+ (get_local $x)
+ )
(block $waka2
(set_local $x
(if
@@ -517,8 +648,12 @@
(get_local $r)
(get_local $t)
)
- (get_local $m)
- (get_local $t)
+ (drop
+ (get_local $m)
+ )
+ (drop
+ (get_local $t)
+ )
)
(func $switch-def (type $5) (param $i3 i32) (result i32)
(local $i1 i32)
@@ -539,4 +674,32 @@
(get_local $i1)
)
)
+ (func $no-out-of-label (type $7) (param $x i32) (param $y i32)
+ (loop $moar
+ (set_local $x
+ (block $block0
+ (br_if $moar
+ (get_local $x)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (drop
+ (get_local $x)
+ )
+ (block $moar
+ (set_local $y
+ (block $block1
+ (br_if $moar
+ (get_local $y)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (drop
+ (get_local $y)
+ )
+ )
)
diff --git a/test/passes/simplify-locals.wast b/test/passes/simplify-locals.wast
index 521e8bac4..2b5b84a5f 100644
--- a/test/passes/simplify-locals.wast
+++ b/test/passes/simplify-locals.wast
@@ -1,153 +1,386 @@
(module
(memory 256 256)
+ (type $FUNCSIG$v (func))
+ (type $FUNCSIG$i (func (result i32)))
+ (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32)))
+ (type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32)))
+ (type $4 (func (param i32)))
+ (type $5 (func (param i32) (result i32)))
+ (type $6 (func (param i32 i32 i32 i32 i32 i32)))
(import $waka "env" "waka")
(import $waka_int "env" "waka_int" (result i32))
(import $_i64Subtract "env" "i64sub" (param i32 i32 i32 i32) (result i32))
(import $___udivmoddi4 "env" "moddi" (param i32 i32 i32 i32 i32) (result i32))
- (func $b0-yes (param $i1 i32)
+ (func $b0-yes (type $4) (param $i1 i32)
(local $x i32)
(local $y i32)
(local $a i32)
(local $b i32)
- (set_local $x (i32.const 5))
- (get_local $x)
- (block
- (set_local $x (i32.const 7))
+ (local $5 i32)
+ (local $6 i32)
+ (local $7 i32)
+ (local $8 i32)
+ (set_local $x
+ (i32.const 5)
+ )
+ (drop
(get_local $x)
)
- (set_local $x (i32.const 11))
- (get_local $x)
- (set_local $x (i32.const 9))
- (get_local $y)
- (block
- (set_local $x (i32.const 8))
+ (block $block0
+ (set_local $x
+ (i32.const 7)
+ )
+ (drop
+ (get_local $x)
+ )
+ )
+ (set_local $x
+ (i32.const 11)
+ )
+ (drop
+ (get_local $x)
+ )
+ (set_local $x
+ (i32.const 9)
+ )
+ (drop
(get_local $y)
)
- (set_local $x (i32.const 11))
- (get_local $y)
- (set_local $x (i32.const 17))
- (get_local $x)
- (get_local $x)
- (get_local $x)
- (get_local $x)
- (get_local $x)
- (get_local $x)
- (block
- (set_local $a (i32.const 1))
- (set_local $b (i32.const 2))
- (get_local $a)
- (get_local $b)
- (set_local $a (i32.const 3))
- (set_local $b (i32.const 4))
- (set_local $a (i32.const 5))
- (set_local $b (i32.const 6))
- (get_local $b)
- (get_local $a)
- (set_local $a (i32.const 7))
- (set_local $b (i32.const 8))
- (set_local $a (i32.const 9))
- (set_local $b (i32.const 10))
+ (block $block1
+ (set_local $x
+ (i32.const 8)
+ )
+ (drop
+ (get_local $y)
+ )
+ )
+ (set_local $x
+ (i32.const 11)
+ )
+ (drop
+ (get_local $y)
+ )
+ (set_local $x
+ (i32.const 17)
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $x)
+ )
+ (block $block2
+ (set_local $a
+ (i32.const 1)
+ )
+ (set_local $b
+ (i32.const 2)
+ )
+ (drop
+ (get_local $a)
+ )
+ (drop
+ (get_local $b)
+ )
+ (set_local $a
+ (i32.const 3)
+ )
+ (set_local $b
+ (i32.const 4)
+ )
+ (set_local $a
+ (i32.const 5)
+ )
+ (set_local $b
+ (i32.const 6)
+ )
+ (drop
+ (get_local $b)
+ )
+ (drop
+ (get_local $a)
+ )
+ (set_local $a
+ (i32.const 7)
+ )
+ (set_local $b
+ (i32.const 8)
+ )
+ (set_local $a
+ (i32.const 9)
+ )
+ (set_local $b
+ (i32.const 10)
+ )
(call_import $waka)
- (get_local $a)
- (get_local $b)
- (set_local $a (i32.const 11))
- (set_local $b (i32.const 12))
- (set_local $a (i32.const 13))
- (set_local $b (i32.const 14))
- (i32.load
- (i32.const 24)
+ (drop
+ (get_local $a)
+ )
+ (drop
+ (get_local $b)
+ )
+ (set_local $a
+ (i32.const 11)
+ )
+ (set_local $b
+ (i32.const 12)
+ )
+ (set_local $a
+ (i32.const 13)
+ )
+ (set_local $b
+ (i32.const 14)
+ )
+ (drop
+ (i32.load
+ (i32.const 24)
+ )
+ )
+ (drop
+ (get_local $a)
+ )
+ (drop
+ (get_local $b)
+ )
+ (set_local $a
+ (i32.const 15)
+ )
+ (set_local $b
+ (i32.const 16)
+ )
+ (set_local $a
+ (i32.const 17)
+ )
+ (set_local $b
+ (i32.const 18)
)
- (get_local $a)
- (get_local $b)
- (set_local $a (i32.const 15))
- (set_local $b (i32.const 16))
- (set_local $a (i32.const 17))
- (set_local $b (i32.const 18))
(i32.store
(i32.const 48)
(i32.const 96)
)
- (get_local $a)
- (get_local $b)
+ (drop
+ (get_local $a)
+ )
+ (drop
+ (get_local $b)
+ )
)
- (block
- (set_local $a (call_import $waka_int))
- (get_local $a) ;; yes
+ (block $block3
+ (set_local $a
+ (call_import $waka_int)
+ )
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
-
- (set_local $a (call_import $waka_int))
+ (set_local $a
+ (call_import $waka_int)
+ )
(call_import $waka)
- (get_local $a) ;; no
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
-
- (set_local $a (call_import $waka_int))
- (i32.load (i32.const 1))
- (get_local $a) ;; no
+ (set_local $a
+ (call_import $waka_int)
+ )
+ (drop
+ (i32.load
+ (i32.const 1)
+ )
+ )
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
-
- (set_local $a (call_import $waka_int))
- (i32.store (i32.const 1) (i32.const 2))
- (get_local $a) ;; no
+ (set_local $a
+ (call_import $waka_int)
+ )
+ (i32.store
+ (i32.const 1)
+ (i32.const 2)
+ )
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
-
- (set_local $a (i32.load (i32.const 100)))
- (get_local $a) ;; yes
+ (set_local $a
+ (i32.load
+ (i32.const 100)
+ )
+ )
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
-
- (set_local $a (i32.load (i32.const 101)))
- (i32.load (i32.const 1))
- (get_local $a) ;; yes
+ (set_local $a
+ (i32.load
+ (i32.const 101)
+ )
+ )
+ (drop
+ (i32.load
+ (i32.const 1)
+ )
+ )
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
-
- (set_local $a (i32.load (i32.const 102)))
+ (set_local $a
+ (i32.load
+ (i32.const 102)
+ )
+ )
(call_import $waka)
- (get_local $a) ;; no
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
-
- (set_local $a (i32.load (i32.const 103)))
- (i32.store (i32.const 1) (i32.const 2))
- (get_local $a) ;; no
+ (set_local $a
+ (i32.load
+ (i32.const 103)
+ )
+ )
+ (i32.store
+ (i32.const 1)
+ (i32.const 2)
+ )
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
-
- (set_local $a (i32.store (i32.const 104) (i32.const 105)))
- (get_local $a) ;; yes
+ (set_local $a
+ (block
+ (block
+ (set_local $5
+ (i32.const 105)
+ )
+ (i32.store
+ (i32.const 104)
+ (get_local $5)
+ )
+ )
+ (get_local $5)
+ )
+ )
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
-
- (set_local $a (i32.store (i32.const 106) (i32.const 107)))
+ (set_local $a
+ (block
+ (block
+ (set_local $6
+ (i32.const 107)
+ )
+ (i32.store
+ (i32.const 106)
+ (get_local $6)
+ )
+ )
+ (get_local $6)
+ )
+ )
(call_import $waka)
- (get_local $a) ;; no
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
-
- (set_local $a (i32.store (i32.const 108) (i32.const 109)))
- (i32.load (i32.const 1))
- (get_local $a) ;; no
+ (set_local $a
+ (block
+ (block
+ (set_local $7
+ (i32.const 109)
+ )
+ (i32.store
+ (i32.const 108)
+ (get_local $7)
+ )
+ )
+ (get_local $7)
+ )
+ )
+ (drop
+ (i32.load
+ (i32.const 1)
+ )
+ )
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
-
- (set_local $a (i32.store (i32.const 110) (i32.const 111)))
- (i32.store (i32.const 1) (i32.const 2))
- (get_local $a) ;; no
+ (set_local $a
+ (block
+ (block
+ (set_local $8
+ (i32.const 111)
+ )
+ (i32.store
+ (i32.const 110)
+ (get_local $8)
+ )
+ )
+ (get_local $8)
+ )
+ )
+ (i32.store
+ (i32.const 1)
+ (i32.const 2)
+ )
+ (drop
+ (get_local $a)
+ )
(call_import $waka)
)
(block $out-of-block
- (set_local $a (i32.const 1337))
+ (set_local $a
+ (i32.const 1337)
+ )
(block $b
(block $c
(br $b)
)
- (set_local $a (i32.const 9876))
+ (set_local $a
+ (i32.const 9876)
+ )
+ )
+ (drop
+ (get_local $a)
)
- (get_local $a)
)
(block $loopey
- (set_local $a (i32.const 1337))
- (loop
+ (set_local $a
+ (i32.const 1337)
+ )
+ (drop
+ (loop $loop-in5
+ (drop
+ (get_local $a)
+ )
+ (tee_local $a
+ (i32.const 9876)
+ )
+ )
+ )
+ (drop
(get_local $a)
- (set_local $a (i32.const 9876))
)
- (get_local $a)
)
)
- (func $Ia (param $a i32) (result i32)
+ (func $Ia (type $5) (param $a i32) (result i32)
(local $b i32)
(block $switch$0
(block $switch-default$6
@@ -160,7 +393,7 @@
(get_local $b)
)
)
- (func $memories (param $i2 i32) (param $i3 i32) (param $bi2 i32) (param $bi3 i32) (param $ci3 i32) (param $di3 i32)
+ (func $memories (type $6) (param $i2 i32) (param $i3 i32) (param $bi2 i32) (param $bi3 i32) (param $ci3 i32) (param $di3 i32)
(local $set_with_no_get i32)
(set_local $i3
(i32.const 1)
@@ -184,15 +417,19 @@
(get_local $ci3)
)
(set_local $di3
- (set_local $bi3 (i32.const 123))
+ (tee_local $bi3
+ (i32.const 123)
+ )
)
(i32.store8
(get_local $bi3)
(get_local $di3)
)
- (set_local $set_with_no_get (i32.const 456))
+ (set_local $set_with_no_get
+ (i32.const 456)
+ )
)
- (func $___remdi3 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32)
+ (func $___remdi3 (type $FUNCSIG$iiiii) (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32)
(local $$1$1 i32)
(local $$1$0 i32)
(local $$rem i32)
@@ -325,30 +562,32 @@
(get_local $$1$1)
)
)
- (set_local $$4$1 ;; first this moves, then $$4$0 should be able to move
+ (set_local $$4$1
(i32.load
(i32.const 168)
)
)
- (call_import $___udivmoddi4
- (get_local $$4$0)
- (get_local $$4$1)
- (call_import $_i64Subtract
- (i32.xor
+ (drop
+ (call_import $___udivmoddi4
+ (get_local $$4$0)
+ (get_local $$4$1)
+ (call_import $_i64Subtract
+ (i32.xor
+ (get_local $$2$0)
+ (get_local $$b$0)
+ )
+ (i32.xor
+ (get_local $$2$1)
+ (get_local $$b$1)
+ )
(get_local $$2$0)
- (get_local $$b$0)
- )
- (i32.xor
(get_local $$2$1)
- (get_local $$b$1)
)
- (get_local $$2$0)
- (get_local $$2$1)
- )
- (i32.load
- (i32.const 168)
+ (i32.load
+ (i32.const 168)
+ )
+ (get_local $$rem)
)
- (get_local $$rem)
)
(set_local $$10$0
(call_import $_i64Subtract
@@ -378,7 +617,7 @@
(get_local $__stackBase__)
)
(return
- (block
+ (block $block12
(i32.store
(i32.const 168)
(get_local $$10$1)
@@ -387,46 +626,64 @@
)
)
)
- (func $block-returns
+ (func $block-returns (type $FUNCSIG$v)
(local $x i32)
(block $out
(block $waka
- (set_local $x (i32.const 12))
+ (set_local $x
+ (i32.const 12)
+ )
(br_if $waka
(i32.const 1)
)
- (set_local $x (i32.const 34))
+ (set_local $x
+ (i32.const 34)
+ )
)
- (br_if $out ;; barrier
+ (br_if $out
(i32.const 1)
)
- (get_local $x) ;; a use, so setlocals are not all killed
+ (drop
+ (get_local $x)
+ )
(block $waka2
(if
(i32.const 1)
- (set_local $x (i32.const 13))
- (set_local $x (i32.const 24))
+ (set_local $x
+ (i32.const 13)
+ )
+ (set_local $x
+ (i32.const 24)
+ )
)
(if
(i32.const 1)
- (block
- (set_local $x (i32.const 14))
+ (block $block3
+ (set_local $x
+ (i32.const 14)
+ )
)
- (block
- (set_local $x (i32.const 25))
+ (block $block5
+ (set_local $x
+ (i32.const 25)
+ )
)
)
)
- (br_if $out ;; barrier
+ (br_if $out
(i32.const 1)
)
(block $sink-out-of-me-i-have-but-one-exit
- (set_local $x (i32.const 99))
+ (set_local $x
+ (i32.const 99)
+ )
+ )
+ (drop
+ (get_local $x)
)
- (get_local $x)
)
)
- (func $multiple (param $s i32) (param $r i32) (param $f i32) (param $p i32) (param $t i32) (param $m i32)
+ (func $multiple (type $6) (param $s i32) (param $r i32) (param $f i32) (param $p i32) (param $t i32) (param $m i32)
(set_local $s
(get_local $m)
)
@@ -436,22 +693,26 @@
(get_local $p)
)
)
- (set_local $t ;; t is equal to p's original value; p must not be set to before t gets that value
+ (set_local $t
(get_local $p)
)
(set_local $p
(i32.load
- (i32.const r)
+ (i32.const 0)
)
)
(i32.store
(get_local $r)
(get_local $t)
)
- (get_local $s)
- (get_local $t)
+ (drop
+ (get_local $s)
+ )
+ (drop
+ (get_local $t)
+ )
)
- (func $switch-def (param $i3 i32) (result i32)
+ (func $switch-def (type $5) (param $i3 i32) (result i32)
(local $i1 i32)
(set_local $i1
(i32.const 10)
@@ -470,5 +731,24 @@
(get_local $i1)
)
)
+ (func $no-out-of-label (param $x i32) (param $y i32)
+ (loop $moar
+ (set_local $x
+ (block
+ (br_if $moar (get_local $x))
+ (i32.const 0)
+ )
+ )
+ )
+ (drop (get_local $x))
+ (block $moar
+ (set_local $y
+ (block
+ (br_if $moar (get_local $y))
+ (i32.const 0)
+ )
+ )
+ )
+ (drop (get_local $y))
+ )
)
-
diff --git a/test/passes/vacuum.txt b/test/passes/vacuum.txt
index 7fa247bdd..1adcc3e6f 100644
--- a/test/passes/vacuum.txt
+++ b/test/passes/vacuum.txt
@@ -5,6 +5,8 @@
(type $2 (func (result f32)))
(type $3 (func (result i32)))
(type $4 (func (param i32 f64 i32 i32)))
+ (type $FUNCSIG$i (func (result i32)))
+ (import "env" "int" (func $int (result i32)))
(func $b (type $0)
(nop)
)
@@ -39,8 +41,18 @@
)
)
(func $binary (type $2) (result f32)
- (unreachable)
- (unreachable)
+ (drop
+ (f32.add
+ (unreachable)
+ (f32.const 3)
+ )
+ )
+ (drop
+ (f32.add
+ (f32.const 4)
+ (unreachable)
+ )
+ )
(f32.add
(unreachable)
(unreachable)
@@ -51,23 +63,45 @@
)
)
(func $select (type $3) (result i32)
- (unreachable)
- (unreachable)
- (unreachable)
+ (drop
+ (select
+ (unreachable)
+ (i32.const 4)
+ (i32.const 5)
+ )
+ )
+ (drop
+ (select
+ (i32.const 6)
+ (unreachable)
+ (i32.const 7)
+ )
+ )
+ (drop
+ (select
+ (i32.const 8)
+ (i32.const 9)
+ (unreachable)
+ )
+ )
(select
(unreachable)
(unreachable)
(i32.const 10)
)
- (select
- (unreachable)
- (i32.const 11)
- (unreachable)
+ (drop
+ (select
+ (unreachable)
+ (i32.const 11)
+ (unreachable)
+ )
)
- (select
- (i32.const 12)
- (unreachable)
- (unreachable)
+ (drop
+ (select
+ (i32.const 12)
+ (unreachable)
+ (unreachable)
+ )
)
(select
(unreachable)
@@ -110,7 +144,7 @@
(f64.ne
(f64.promote/f32
(f32.load
- (set_local $l
+ (tee_local $l
(i32.add
(get_local $b)
(i32.const 60)
@@ -126,4 +160,22 @@
(unreachable)
)
)
+ (func $if-drop (type $0)
+ (block $out
+ (if
+ (i32.const 0)
+ (drop
+ (call_import $int)
+ )
+ (br $out)
+ )
+ (if
+ (i32.const 1)
+ (br $out)
+ (drop
+ (call_import $int)
+ )
+ )
+ )
+ )
)
diff --git a/test/passes/vacuum.wast b/test/passes/vacuum.wast
index a6f713123..3630512b4 100644
--- a/test/passes/vacuum.wast
+++ b/test/passes/vacuum.wast
@@ -1,36 +1,60 @@
(module
(memory 256 256)
- (func $b
- (i32.const 50)
+ (type $0 (func))
+ (type $1 (func (param i32)))
+ (type $2 (func (result f32)))
+ (type $3 (func (result i32)))
+ (type $4 (func (param i32 f64 i32 i32)))
+ (import $int "env" "int" (result i32))
+ (func $b (type $0)
+ (drop
+ (i32.const 50)
+ )
(nop)
- (i32.const 51)
+ (drop
+ (i32.const 51)
+ )
(nop)
(nop)
- (i32.const 52)
+ (drop
+ (i32.const 52)
+ )
(block $waka1
- (i32.const 53)
+ (drop
+ (i32.const 53)
+ )
(br $waka1)
- (i32.const 54)
+ (drop
+ (i32.const 54)
+ )
)
(block $waka2
(nop)
(br $waka2)
- (i32.const 56)
+ (drop
+ (i32.const 56)
+ )
)
(block $waka3
(br_table $waka3 $waka3 $waka3
(i32.const 57)
)
- (i32.const 58)
+ (drop
+ (i32.const 58)
+ )
)
(if
(i32.const 100)
(nop)
- (i32.const 101)
+ (drop
+ (i32.const 101)
+ )
)
(if
(i32.const 102)
- (i32.const 103)
+ (drop
+ (i32.const 103)
+ )
(nop)
)
(if
@@ -39,17 +63,27 @@
(nop)
)
)
- (func $l
+ (func $l (type $0)
(local $x i32)
(local $y i32)
- (get_local $x)
- (set_local $x (get_local $x))
- (block $in-a-block
+ (drop
(get_local $x)
)
- (block $two-in-a-block
+ (set_local $x
(get_local $x)
- (get_local $y)
+ )
+ (block $in-a-block
+ (drop
+ (get_local $x)
+ )
+ )
+ (block $two-in-a-block
+ (drop
+ (get_local $x)
+ )
+ (drop
+ (get_local $y)
+ )
)
(set_local $x
(block $result-used
@@ -58,82 +92,197 @@
)
(set_local $x
(block $two-and-result-used
- (get_local $x)
+ (drop
+ (get_local $x)
+ )
(get_local $y)
)
)
)
- (func $loopy (param $0 i32)
- (loop (nop))
- (loop
+ (func $loopy (type $1) (param $0 i32)
+ (loop $loop-in1
+ (nop)
+ )
+ (loop $loop-in3
(nop)
(nop)
)
- (loop
- (get_local $0)
- (i32.const 20)
+ (drop
+ (loop $loop-in5
+ (drop
+ (get_local $0)
+ )
+ (i32.const 20)
+ )
)
)
- (func $unary (result f32)
- (f32.abs (f32.const 1.0)) ;; unneeded position
- (f32.abs (unreachable)) ;; side effects
-
- (f32.abs (f32.const 2.0)) ;; return position
+ (func $unary (type $2) (result f32)
+ (drop
+ (f32.abs
+ (f32.const 1)
+ )
+ )
+ (f32.abs
+ (unreachable)
+ )
+ (f32.abs
+ (f32.const 2)
+ )
)
- (func $binary (result f32)
- (f32.add (f32.const 1.0) (f32.const 2.0))
- (f32.add (unreachable) (f32.const 3.0))
- (f32.add (f32.const 4.0) (unreachable))
- (f32.add (unreachable) (unreachable))
-
- (f32.add (f32.const 5.0) (f32.const 6.0))
+ (func $binary (type $2) (result f32)
+ (drop
+ (f32.add
+ (f32.const 1)
+ (f32.const 2)
+ )
+ )
+ (drop
+ (f32.add
+ (unreachable)
+ (f32.const 3)
+ )
+ )
+ (drop
+ (f32.add
+ (f32.const 4)
+ (unreachable)
+ )
+ )
+ (f32.add
+ (unreachable)
+ (unreachable)
+ )
+ (f32.add
+ (f32.const 5)
+ (f32.const 6)
+ )
)
- (func $select (result i32)
- (select (i32.const 1) (i32.const 2) (i32.const 3))
- (select (unreachable) (i32.const 4) (i32.const 5))
- (select (i32.const 6) (unreachable) (i32.const 7))
- (select (i32.const 8) (i32.const 9) (unreachable))
- (select (unreachable) (unreachable) (i32.const 10))
- (select (unreachable) (i32.const 11) (unreachable))
- (select (i32.const 12) (unreachable) (unreachable))
- (select (unreachable) (unreachable) (unreachable))
-
- (select (i32.const 13) (i32.const 14) (i32.const 15))
+ (func $select (type $3) (result i32)
+ (drop
+ (select
+ (i32.const 1)
+ (i32.const 2)
+ (i32.const 3)
+ )
+ )
+ (drop
+ (select
+ (unreachable)
+ (i32.const 4)
+ (i32.const 5)
+ )
+ )
+ (drop
+ (select
+ (i32.const 6)
+ (unreachable)
+ (i32.const 7)
+ )
+ )
+ (drop
+ (select
+ (i32.const 8)
+ (i32.const 9)
+ (unreachable)
+ )
+ )
+ (select
+ (unreachable)
+ (unreachable)
+ (i32.const 10)
+ )
+ (drop
+ (select
+ (unreachable)
+ (i32.const 11)
+ (unreachable)
+ )
+ )
+ (drop
+ (select
+ (i32.const 12)
+ (unreachable)
+ (unreachable)
+ )
+ )
+ (select
+ (unreachable)
+ (unreachable)
+ (unreachable)
+ )
+ (select
+ (i32.const 13)
+ (i32.const 14)
+ (i32.const 15)
+ )
)
- (func $block-to-one
- (block
- (nop) (nop)
+ (func $block-to-one (type $0)
+ (block $block0
+ (nop)
+ (nop)
)
- (block
- (nop) (unreachable)
+ (block $block1
+ (nop)
+ (unreachable)
)
- (block
- (nop) (unreachable) (nop)
+ (block $block2
+ (nop)
+ (unreachable)
+ (nop)
)
- (block
- (unreachable) (nop)
+ (block $block3
+ (unreachable)
+ (nop)
)
- (block
+ (block $block4
(unreachable)
)
)
- (func $recurse
+ (func $recurse (type $0)
(nop)
- (f32.abs (f32.abs (f32.abs (f32.abs (f32.abs (f32.abs (f32.const 1.0) ) ) ) ) ) )
+ (drop
+ (f32.abs
+ (f32.abs
+ (f32.abs
+ (f32.abs
+ (f32.abs
+ (f32.abs
+ (f32.const 1)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
)
- (func $func-block
- (f32.abs (f32.abs (f32.abs (f32.abs (f32.abs (f32.abs (f32.const 1.0) ) ) ) ) ) )
+ (func $func-block (type $0)
+ (drop
+ (f32.abs
+ (f32.abs
+ (f32.abs
+ (f32.abs
+ (f32.abs
+ (f32.abs
+ (f32.const 1)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
)
- (func $Gu (param $b i32) (param $e f64) (param $l i32) (param $d i32)
- (if ;; if condition must remain valid
+ (func $Gu (type $4) (param $b i32) (param $e f64) (param $l i32) (param $d i32)
+ (if
(if
(get_local $d)
- (block
+ (block $block1
(nop)
(f64.ne
(f64.promote/f32
(f32.load
- (set_local $l
+ (tee_local $l
(i32.add
(get_local $b)
(i32.const 60)
@@ -149,5 +298,20 @@
(unreachable)
)
)
+ (func $if-drop
+ (block $out
+ (drop
+ (if (i32.const 0)
+ (call_import $int)
+ (br $out)
+ )
+ )
+ (drop
+ (if (i32.const 1)
+ (br $out)
+ (call_import $int)
+ )
+ )
+ )
+ )
)
-
diff --git a/test/spec b/test/spec
-Subproject d4b150ce7268f903757ebdf1c7c001c99607da7
+Subproject 377264edb37749a5c15f35c589bea62df560637
diff --git a/test/two_sides.fromasm b/test/two_sides.fromasm
index 98ca149e1..6d8e2a14b 100644
--- a/test/two_sides.fromasm
+++ b/test/two_sides.fromasm
@@ -1,9 +1,13 @@
(module
(memory 256 256)
- (export "memory" memory)
+ (data (get_global $memoryBase) "two_sides.asm.js")
(type $FUNCSIG$id (func (param f64) (result i32)))
- (import $f64-to-int "asm2wasm" "f64-to-int" (param f64) (result i32))
- (export "_test" $_test)
+ (import "asm2wasm" "f64-to-int" (func $f64-to-int (param f64) (result i32)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "_test" (func $_test))
(func $_test (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(local $5 f64)
(if
@@ -14,7 +18,7 @@
(f64.convert_s/i32
(get_local $2)
)
- (set_local $5
+ (tee_local $5
(f64.convert_s/i32
(i32.mul
(get_local $1)
@@ -37,7 +41,7 @@
(f64.convert_s/i32
(get_local $2)
)
- (set_local $5
+ (tee_local $5
(f64.convert_s/i32
(i32.mul
(get_local $3)
diff --git a/test/two_sides.fromasm.imprecise b/test/two_sides.fromasm.imprecise
index ad7e9e61a..1578c86da 100644
--- a/test/two_sides.fromasm.imprecise
+++ b/test/two_sides.fromasm.imprecise
@@ -1,7 +1,10 @@
(module
(memory 256 256)
- (export "memory" memory)
- (export "_test" $_test)
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "_test" (func $_test))
(func $_test (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(local $5 f64)
(if
@@ -12,7 +15,7 @@
(f64.convert_s/i32
(get_local $2)
)
- (set_local $5
+ (tee_local $5
(f64.convert_s/i32
(i32.mul
(get_local $1)
@@ -35,7 +38,7 @@
(f64.convert_s/i32
(get_local $2)
)
- (set_local $5
+ (tee_local $5
(f64.convert_s/i32
(i32.mul
(get_local $3)
diff --git a/test/two_sides.fromasm.imprecise.no-opts b/test/two_sides.fromasm.imprecise.no-opts
index 6c2aa1d83..a8a338489 100644
--- a/test/two_sides.fromasm.imprecise.no-opts
+++ b/test/two_sides.fromasm.imprecise.no-opts
@@ -1,7 +1,10 @@
(module
(memory 256 256)
- (export "memory" memory)
- (export "_test" $_test)
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "_test" (func $_test))
(func $_test (param $i1 i32) (param $i2 i32) (param $i3 i32) (param $i4 i32) (param $i5 i32) (result i32)
(local $d6 f64)
(if
diff --git a/test/two_sides.fromasm.no-opts b/test/two_sides.fromasm.no-opts
index 719566b73..1011976b6 100644
--- a/test/two_sides.fromasm.no-opts
+++ b/test/two_sides.fromasm.no-opts
@@ -1,9 +1,12 @@
(module
(memory 256 256)
- (export "memory" memory)
(type $FUNCSIG$id (func (param f64) (result i32)))
- (import $f64-to-int "asm2wasm" "f64-to-int" (param f64) (result i32))
- (export "_test" $_test)
+ (import "asm2wasm" "f64-to-int" (func $f64-to-int (param f64) (result i32)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "_test" (func $_test))
(func $_test (param $i1 i32) (param $i2 i32) (param $i3 i32) (param $i4 i32) (param $i5 i32) (result i32)
(local $d6 f64)
(if
diff --git a/test/unit.asm.js b/test/unit.asm.js
index 380c97b41..e76ae1ef9 100644
--- a/test/unit.asm.js
+++ b/test/unit.asm.js
@@ -9,6 +9,7 @@ function asm(global, env, buffer) {
var Math_ceil = global.Math.ceil;
var tempDoublePtr = env.tempDoublePtr | 0;
var n = env.gb | 0;
+ var setTempRet0=env.setTempRet0;
var abort = env.abort;
var print = env.print;
@@ -261,6 +262,74 @@ function asm(global, env, buffer) {
return x | 0;
}
+ function smallIf() {
+ do {
+ if (2) {
+ lb(3) | 0;
+ } else {
+ break;
+ }
+ } while (0);
+ }
+
+ function dropCall() {
+ if (0) {
+ phi(); // drop this
+ setTempRet0(10); // this too
+ zeroInit(setTempRet0(10) | 0);
+ }
+ return phi() | 0;
+ }
+
+ function useSetGlobal() {
+ var x = 0;
+ x = (Int = 10);
+ Int = 20;
+ return (Int = 30) | 0;
+ }
+
+ function usesSetGlobal2() {
+ return (Int = 40, 50) | 0;
+ }
+
+ function breakThroughMany($s) {
+ $s = $s|0;
+ L1: do {
+ if ($s) {
+ while(1) {
+ if (!($s)) {
+ break L1;
+ }
+ zeroInit(0);
+ }
+ } else {
+ 1337;
+ }
+ } while(0);
+ }
+
+ function ifChainEmpty(label) {
+ label = label | 0;
+ if ((label|0) == 4) {
+ return 0;
+ }
+ else if ((label|0) == 7) {
+ // unreachable;
+ }
+ return 0;
+ }
+
+ function heap8NoShift(x) {
+ x = x | 0;
+ return HEAP8[x | 0] | 0;
+ }
+
+ function conditionalTypeFun() {
+ var x = 0, y = +0;
+ x = 1 ? abort(5) | 0 : 2;
+ y = 3 ? +abort(7) : 4.5;
+ }
+
function z() {
}
function w() {
diff --git a/test/unit.fromasm b/test/unit.fromasm
index 49189df43..33dd153af 100644
--- a/test/unit.fromasm
+++ b/test/unit.fromasm
@@ -1,20 +1,32 @@
(module
(memory 256 256)
- (export "memory" memory)
+ (data (get_global $memoryBase) "unit.asm.js")
(type $FUNCSIG$id (func (param f64) (result i32)))
(type $FUNCSIG$ddd (func (param f64 f64) (result f64)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vf (func (param f32)))
(type $FUNCSIG$vi (func (param i32)))
- (type $FUNCSIG$vd (func (param f64)))
- (import $abort "env" "abort" (param f64))
- (import $print "env" "print" (param i32))
- (import $h "env" "h" (param i32))
- (import $f64-to-int "asm2wasm" "f64-to-int" (param f64) (result i32))
- (import $f64-rem "asm2wasm" "f64-rem" (param f64 f64) (result f64))
- (import $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32))
- (export "big_negative" $big_negative)
- (export "pick" $big_negative)
+ (type $FUNCSIG$ii (func (param i32) (result i32)))
+ (type $FUNCSIG$dd (func (param f64) (result f64)))
+ (import "global" "NaN" (global $t f64))
+ (import "global" "Infinity" (global $u f64))
+ (import "env" "tempDoublePtr" (global $tempDoublePtr i32))
+ (import "env" "gb" (global $n i32))
+ (import "env" "setTempRet0" (func $setTempRet0 (param i32) (result i32)))
+ (import "env" "abort" (func $abort (param f64) (result f64)))
+ (import "env" "print" (func $print (param i32)))
+ (import "env" "h" (func $h (param i32)))
+ (import "asm2wasm" "f64-to-int" (func $f64-to-int (param f64) (result i32)))
+ (import "asm2wasm" "f64-rem" (func $f64-rem (param f64 f64) (result f64)))
+ (import "asm2wasm" "i32u-div" (func $i32u-div (param i32 i32) (result i32)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "big_negative" (func $big_negative))
+ (export "pick" (func $big_negative))
+ (global $Int i32 (i32.const 0))
+ (global $Double f64 (f64.const 0))
(table 10 10 anyfunc)
(elem (i32.const 0) $big_negative $big_negative $big_negative $big_negative $big_negative $big_negative $importedDoubles $big_negative $big_negative $cneg)
(func $big_negative
@@ -23,9 +35,7 @@
(func $importedDoubles (result f64)
(if
(i32.gt_s
- (i32.load
- (i32.const 24)
- )
+ (get_global $Int)
(i32.const 0)
)
(return
@@ -34,9 +44,7 @@
)
(if
(f64.gt
- (f64.load
- (i32.const 32)
- )
+ (get_global $Double)
(f64.const 0)
)
(return
@@ -96,13 +104,19 @@
(local $0 f64)
(local $1 f32)
(local $2 i32)
- (call_import $f64-to-int
- (get_local $0)
- )
- (set_local $2
+ (drop
(call_import $f64-to-int
- (f64.promote/f32
- (get_local $1)
+ (get_local $0)
+ )
+ )
+ (drop
+ (f64.convert_s/i32
+ (tee_local $2
+ (call_import $f64-to-int
+ (f64.promote/f32
+ (get_local $1)
+ )
+ )
)
)
)
@@ -156,46 +170,42 @@
)
)
)
- (br $switch-default$16)
)
- (br $switch-default$16)
- )
- (block $while-out$10
)
- (br $switch-default$16)
- )
- (loop
- (br $switch-default$16)
)
)
- (loop $label$break$L1 $label$continue$L1
- (loop $label$break$L3 $label$continue$L3
- (block $switch$17
- (block $switch-default$21
- (block $switch-case$20
- (block $switch-case$19
- (block $switch-case$18
- (br_table $switch-case$18 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$20 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$19 $switch-default$21
- (i32.sub
- (get_local $0)
- (i32.const -1)
+ (loop $label$continue$L1
+ (block $label$break$L1
+ (loop $label$continue$L3
+ (block $label$break$L3
+ (block $switch$17
+ (block $switch-default$21
+ (block $switch-case$20
+ (block $switch-case$19
+ (block $switch-case$18
+ (br_table $switch-case$18 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$20 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$19 $switch-default$21
+ (i32.sub
+ (get_local $0)
+ (i32.const -1)
+ )
+ )
)
+ (br $label$break$L1)
)
+ (br $switch$17)
)
- (br $label$break$L1)
+ (br $label$break$L3)
)
- (br $switch$17)
+ (br $label$break$L1)
)
- (br $label$break$L3)
+ (br $label$continue$L3)
)
- (br $label$break$L1)
)
- (br $label$continue$L3)
- )
- (call_import $h
- (i32.const 120)
+ (call_import $h
+ (i32.const 120)
+ )
+ (br $label$continue$L1)
)
- (br $label$continue$L1)
)
(i32.const 0)
)
@@ -223,22 +233,22 @@
(func $neg
(local $0 f32)
(call_indirect $FUNCSIG$vf
+ (f32.neg
+ (get_local $0)
+ )
(i32.add
(i32.const 1)
(i32.const 8)
)
- (f32.neg
- (get_local $0)
- )
)
)
(func $cneg (param $0 f32)
(call_indirect $FUNCSIG$vf
+ (get_local $0)
(i32.add
(i32.const 1)
(i32.const 8)
)
- (get_local $0)
)
)
(func $smallCompare (result i32)
@@ -272,11 +282,11 @@
)
(func $cneg_nosemicolon
(call_indirect $FUNCSIG$vi
+ (i32.const 1)
(i32.add
(i32.const 1)
(i32.const 8)
)
- (i32.const 1)
)
)
(func $forLoop
@@ -284,46 +294,58 @@
(set_local $0
(i32.const 1)
)
- (loop $for-out$0 $for-in$1
- (br_if $for-out$0
- (i32.ge_s
- (get_local $0)
- (i32.const 200)
+ (loop $for-in$1
+ (block $for-out$0
+ (br_if $for-out$0
+ (i32.ge_s
+ (get_local $0)
+ (i32.const 200)
+ )
)
- )
- (call_import $h
- (get_local $0)
- )
- (set_local $0
- (i32.add
+ (call_import $h
(get_local $0)
- (i32.const 1)
)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
+ (br $for-in$1)
)
- (br $for-in$1)
)
)
(func $ceiling_32_64 (param $0 f32) (param $1 f64)
(nop)
)
(func $aborts
- (call_import $abort
- (f64.const 0)
+ (drop
+ (call_import $abort
+ (f64.const 0)
+ )
)
- (call_import $abort
- (f64.convert_s/i32
- (i32.const 55)
+ (drop
+ (call_import $abort
+ (f64.convert_s/i32
+ (i32.const 55)
+ )
)
)
- (call_import $abort
- (f64.const 0)
+ (drop
+ (call_import $abort
+ (f64.const 0)
+ )
)
- (call_import $abort
- (f64.const 12.34)
+ (drop
+ (call_import $abort
+ (f64.const 12.34)
+ )
)
- (call_import $abort
- (f64.promote/f32
- (f32.const 56.779998779296875)
+ (drop
+ (call_import $abort
+ (f64.promote/f32
+ (f32.const 56.779998779296875)
+ )
)
)
)
@@ -350,23 +372,29 @@
(nop)
)
(func $recursiveBlockMerging (param $0 i32) (result i32)
- (call $lb
- (i32.add
+ (drop
+ (call $lb
(i32.add
(i32.add
- (get_local $0)
- (i32.const 3)
+ (i32.add
+ (get_local $0)
+ (i32.const 3)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 12)
)
- (i32.const 12)
)
)
- (call $lb
- (i32.const 1)
+ (drop
+ (call $lb
+ (i32.const 1)
+ )
)
- (call $lb
- (i32.const 2)
+ (drop
+ (call $lb
+ (i32.const 2)
+ )
)
(i32.add
(i32.add
@@ -377,14 +405,20 @@
)
)
(block
- (call $lb
- (i32.const 4)
+ (drop
+ (call $lb
+ (i32.const 4)
+ )
)
- (call $lb
- (i32.const 5)
+ (drop
+ (call $lb
+ (i32.const 5)
+ )
)
- (call $lb
- (i32.const 6)
+ (drop
+ (call $lb
+ (i32.const 6)
+ )
)
(call $lb
(i32.const 7)
@@ -392,17 +426,25 @@
)
)
(block
- (call $lb
- (i32.const 8)
+ (drop
+ (call $lb
+ (i32.const 8)
+ )
)
- (call $lb
- (i32.const 9)
+ (drop
+ (call $lb
+ (i32.const 9)
+ )
)
- (call $lb
- (i32.const 10)
+ (drop
+ (call $lb
+ (i32.const 10)
+ )
)
- (call $lb
- (i32.const 11)
+ (drop
+ (call $lb
+ (i32.const 11)
+ )
)
(call $lb
(i32.const 12)
@@ -415,9 +457,7 @@
(get_local $0)
(i32.add
(i32.add
- (i32.load
- (i32.const 48)
- )
+ (get_global $n)
(i32.const 136)
)
(i32.const 8)
@@ -464,4 +504,116 @@
(i32.const 1)
)
)
+ (func $smallIf
+ (block $do-once$0
+ (if
+ (i32.const 2)
+ (drop
+ (call $lb
+ (i32.const 3)
+ )
+ )
+ )
+ )
+ )
+ (func $dropCall (result i32)
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (call $phi)
+ )
+ (drop
+ (call_import $setTempRet0
+ (i32.const 10)
+ )
+ )
+ (call $zeroInit
+ (call_import $setTempRet0
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ (call $phi)
+ )
+ (func $useSetGlobal (result i32)
+ (set_global $Int
+ (i32.const 10)
+ )
+ (set_global $Int
+ (i32.const 20)
+ )
+ (set_global $Int
+ (i32.const 30)
+ )
+ (get_global $Int)
+ )
+ (func $usesSetGlobal2 (result i32)
+ (set_global $Int
+ (i32.const 40)
+ )
+ (i32.const 50)
+ )
+ (func $breakThroughMany (param $0 i32)
+ (block $label$break$L1
+ (if
+ (get_local $0)
+ (loop $while-in$2
+ (br_if $label$break$L1
+ (i32.eqz
+ (get_local $0)
+ )
+ )
+ (call $zeroInit
+ (i32.const 0)
+ )
+ (br $while-in$2)
+ )
+ )
+ )
+ )
+ (func $ifChainEmpty (param $0 i32) (result i32)
+ (if
+ (i32.eq
+ (get_local $0)
+ (i32.const 4)
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ (i32.const 0)
+ )
+ (func $heap8NoShift (param $0 i32) (result i32)
+ (i32.load8_s
+ (get_local $0)
+ )
+ )
+ (func $conditionalTypeFun
+ (drop
+ (if
+ (i32.const 1)
+ (i32.trunc_s/f64
+ (call_import $abort
+ (f64.convert_s/i32
+ (i32.const 5)
+ )
+ )
+ )
+ (i32.const 2)
+ )
+ )
+ (drop
+ (if
+ (i32.const 3)
+ (call_import $abort
+ (f64.convert_s/i32
+ (i32.const 7)
+ )
+ )
+ (f64.const 4.5)
+ )
+ )
+ )
)
diff --git a/test/unit.fromasm.imprecise b/test/unit.fromasm.imprecise
index d2c10b549..35b8b1768 100644
--- a/test/unit.fromasm.imprecise
+++ b/test/unit.fromasm.imprecise
@@ -1,16 +1,27 @@
(module
(memory 256 256)
- (export "memory" memory)
(type $FUNCSIG$ddd (func (param f64 f64) (result f64)))
(type $FUNCSIG$vf (func (param f32)))
(type $FUNCSIG$vi (func (param i32)))
- (type $FUNCSIG$vd (func (param f64)))
- (import $abort "env" "abort" (param f64))
- (import $print "env" "print" (param i32))
- (import $h "env" "h" (param i32))
- (import $f64-rem "asm2wasm" "f64-rem" (param f64 f64) (result f64))
- (export "big_negative" $big_negative)
- (export "pick" $big_negative)
+ (type $FUNCSIG$ii (func (param i32) (result i32)))
+ (type $FUNCSIG$dd (func (param f64) (result f64)))
+ (import "global" "NaN" (global $t f64))
+ (import "global" "Infinity" (global $u f64))
+ (import "env" "tempDoublePtr" (global $tempDoublePtr i32))
+ (import "env" "gb" (global $n i32))
+ (import "env" "setTempRet0" (func $setTempRet0 (param i32) (result i32)))
+ (import "env" "abort" (func $abort (param f64) (result f64)))
+ (import "env" "print" (func $print (param i32)))
+ (import "env" "h" (func $h (param i32)))
+ (import "asm2wasm" "f64-rem" (func $f64-rem (param f64 f64) (result f64)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "big_negative" (func $big_negative))
+ (export "pick" (func $big_negative))
+ (global $Int i32 (i32.const 0))
+ (global $Double f64 (f64.const 0))
(table 10 10 anyfunc)
(elem (i32.const 0) $big_negative $big_negative $big_negative $big_negative $big_negative $big_negative $importedDoubles $big_negative $big_negative $cneg)
(func $big_negative
@@ -19,9 +30,7 @@
(func $importedDoubles (result f64)
(if
(i32.gt_s
- (i32.load
- (i32.const 24)
- )
+ (get_global $Int)
(i32.const 0)
)
(return
@@ -30,9 +39,7 @@
)
(if
(f64.gt
- (f64.load
- (i32.const 32)
- )
+ (get_global $Double)
(f64.const 0)
)
(return
@@ -91,9 +98,13 @@
(func $conversions
(local $0 f32)
(local $1 i32)
- (set_local $1
- (i32.trunc_s/f32
- (get_local $0)
+ (drop
+ (f64.convert_s/i32
+ (tee_local $1
+ (i32.trunc_s/f32
+ (get_local $0)
+ )
+ )
)
)
)
@@ -146,46 +157,42 @@
)
)
)
- (br $switch-default$16)
)
- (br $switch-default$16)
)
- (block $while-out$10
- )
- (br $switch-default$16)
- )
- (loop
- (br $switch-default$16)
)
)
- (loop $label$break$L1 $label$continue$L1
- (loop $label$break$L3 $label$continue$L3
- (block $switch$17
- (block $switch-default$21
- (block $switch-case$20
- (block $switch-case$19
- (block $switch-case$18
- (br_table $switch-case$18 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$20 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$19 $switch-default$21
- (i32.sub
- (get_local $0)
- (i32.const -1)
+ (loop $label$continue$L1
+ (block $label$break$L1
+ (loop $label$continue$L3
+ (block $label$break$L3
+ (block $switch$17
+ (block $switch-default$21
+ (block $switch-case$20
+ (block $switch-case$19
+ (block $switch-case$18
+ (br_table $switch-case$18 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$20 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$19 $switch-default$21
+ (i32.sub
+ (get_local $0)
+ (i32.const -1)
+ )
+ )
)
+ (br $label$break$L1)
)
+ (br $switch$17)
)
- (br $label$break$L1)
+ (br $label$break$L3)
)
- (br $switch$17)
+ (br $label$break$L1)
)
- (br $label$break$L3)
+ (br $label$continue$L3)
)
- (br $label$break$L1)
)
- (br $label$continue$L3)
- )
- (call_import $h
- (i32.const 120)
+ (call_import $h
+ (i32.const 120)
+ )
+ (br $label$continue$L1)
)
- (br $label$continue$L1)
)
(i32.const 0)
)
@@ -207,22 +214,22 @@
(func $neg
(local $0 f32)
(call_indirect $FUNCSIG$vf
+ (f32.neg
+ (get_local $0)
+ )
(i32.add
(i32.const 1)
(i32.const 8)
)
- (f32.neg
- (get_local $0)
- )
)
)
(func $cneg (param $0 f32)
(call_indirect $FUNCSIG$vf
+ (get_local $0)
(i32.add
(i32.const 1)
(i32.const 8)
)
- (get_local $0)
)
)
(func $smallCompare (result i32)
@@ -256,11 +263,11 @@
)
(func $cneg_nosemicolon
(call_indirect $FUNCSIG$vi
+ (i32.const 1)
(i32.add
(i32.const 1)
(i32.const 8)
)
- (i32.const 1)
)
)
(func $forLoop
@@ -268,46 +275,58 @@
(set_local $0
(i32.const 1)
)
- (loop $for-out$0 $for-in$1
- (br_if $for-out$0
- (i32.ge_s
- (get_local $0)
- (i32.const 200)
+ (loop $for-in$1
+ (block $for-out$0
+ (br_if $for-out$0
+ (i32.ge_s
+ (get_local $0)
+ (i32.const 200)
+ )
)
- )
- (call_import $h
- (get_local $0)
- )
- (set_local $0
- (i32.add
+ (call_import $h
(get_local $0)
- (i32.const 1)
)
+ (set_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
+ (br $for-in$1)
)
- (br $for-in$1)
)
)
(func $ceiling_32_64 (param $0 f32) (param $1 f64)
(nop)
)
(func $aborts
- (call_import $abort
- (f64.const 0)
+ (drop
+ (call_import $abort
+ (f64.const 0)
+ )
)
- (call_import $abort
- (f64.convert_s/i32
- (i32.const 55)
+ (drop
+ (call_import $abort
+ (f64.convert_s/i32
+ (i32.const 55)
+ )
)
)
- (call_import $abort
- (f64.const 0)
+ (drop
+ (call_import $abort
+ (f64.const 0)
+ )
)
- (call_import $abort
- (f64.const 12.34)
+ (drop
+ (call_import $abort
+ (f64.const 12.34)
+ )
)
- (call_import $abort
- (f64.promote/f32
- (f32.const 56.779998779296875)
+ (drop
+ (call_import $abort
+ (f64.promote/f32
+ (f32.const 56.779998779296875)
+ )
)
)
)
@@ -334,23 +353,29 @@
(nop)
)
(func $recursiveBlockMerging (param $0 i32) (result i32)
- (call $lb
- (i32.add
+ (drop
+ (call $lb
(i32.add
(i32.add
- (get_local $0)
- (i32.const 3)
+ (i32.add
+ (get_local $0)
+ (i32.const 3)
+ )
+ (i32.const 7)
)
- (i32.const 7)
+ (i32.const 12)
)
- (i32.const 12)
)
)
- (call $lb
- (i32.const 1)
+ (drop
+ (call $lb
+ (i32.const 1)
+ )
)
- (call $lb
- (i32.const 2)
+ (drop
+ (call $lb
+ (i32.const 2)
+ )
)
(i32.add
(i32.add
@@ -361,14 +386,20 @@
)
)
(block
- (call $lb
- (i32.const 4)
+ (drop
+ (call $lb
+ (i32.const 4)
+ )
)
- (call $lb
- (i32.const 5)
+ (drop
+ (call $lb
+ (i32.const 5)
+ )
)
- (call $lb
- (i32.const 6)
+ (drop
+ (call $lb
+ (i32.const 6)
+ )
)
(call $lb
(i32.const 7)
@@ -376,17 +407,25 @@
)
)
(block
- (call $lb
- (i32.const 8)
+ (drop
+ (call $lb
+ (i32.const 8)
+ )
)
- (call $lb
- (i32.const 9)
+ (drop
+ (call $lb
+ (i32.const 9)
+ )
)
- (call $lb
- (i32.const 10)
+ (drop
+ (call $lb
+ (i32.const 10)
+ )
)
- (call $lb
- (i32.const 11)
+ (drop
+ (call $lb
+ (i32.const 11)
+ )
)
(call $lb
(i32.const 12)
@@ -399,9 +438,7 @@
(get_local $0)
(i32.add
(i32.add
- (i32.load
- (i32.const 48)
- )
+ (get_global $n)
(i32.const 136)
)
(i32.const 8)
@@ -448,4 +485,116 @@
(i32.const 1)
)
)
+ (func $smallIf
+ (block $do-once$0
+ (if
+ (i32.const 2)
+ (drop
+ (call $lb
+ (i32.const 3)
+ )
+ )
+ )
+ )
+ )
+ (func $dropCall (result i32)
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (call $phi)
+ )
+ (drop
+ (call_import $setTempRet0
+ (i32.const 10)
+ )
+ )
+ (call $zeroInit
+ (call_import $setTempRet0
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ (call $phi)
+ )
+ (func $useSetGlobal (result i32)
+ (set_global $Int
+ (i32.const 10)
+ )
+ (set_global $Int
+ (i32.const 20)
+ )
+ (set_global $Int
+ (i32.const 30)
+ )
+ (get_global $Int)
+ )
+ (func $usesSetGlobal2 (result i32)
+ (set_global $Int
+ (i32.const 40)
+ )
+ (i32.const 50)
+ )
+ (func $breakThroughMany (param $0 i32)
+ (block $label$break$L1
+ (if
+ (get_local $0)
+ (loop $while-in$2
+ (br_if $label$break$L1
+ (i32.eqz
+ (get_local $0)
+ )
+ )
+ (call $zeroInit
+ (i32.const 0)
+ )
+ (br $while-in$2)
+ )
+ )
+ )
+ )
+ (func $ifChainEmpty (param $0 i32) (result i32)
+ (if
+ (i32.eq
+ (get_local $0)
+ (i32.const 4)
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ (i32.const 0)
+ )
+ (func $heap8NoShift (param $0 i32) (result i32)
+ (i32.load8_s
+ (get_local $0)
+ )
+ )
+ (func $conditionalTypeFun
+ (drop
+ (if
+ (i32.const 1)
+ (i32.trunc_s/f64
+ (call_import $abort
+ (f64.convert_s/i32
+ (i32.const 5)
+ )
+ )
+ )
+ (i32.const 2)
+ )
+ )
+ (drop
+ (if
+ (i32.const 3)
+ (call_import $abort
+ (f64.convert_s/i32
+ (i32.const 7)
+ )
+ )
+ (f64.const 4.5)
+ )
+ )
+ )
)
diff --git a/test/unit.fromasm.imprecise.no-opts b/test/unit.fromasm.imprecise.no-opts
index 7037a6c1c..c41075df0 100644
--- a/test/unit.fromasm.imprecise.no-opts
+++ b/test/unit.fromasm.imprecise.no-opts
@@ -1,16 +1,27 @@
(module
(memory 256 256)
- (export "memory" memory)
(type $FUNCSIG$ddd (func (param f64 f64) (result f64)))
(type $FUNCSIG$vf (func (param f32)))
(type $FUNCSIG$vi (func (param i32)))
- (type $FUNCSIG$vd (func (param f64)))
- (import $abort "env" "abort" (param f64))
- (import $print "env" "print" (param i32))
- (import $h "env" "h" (param i32))
- (import $f64-rem "asm2wasm" "f64-rem" (param f64 f64) (result f64))
- (export "big_negative" $big_negative)
- (export "pick" $exportMe)
+ (type $FUNCSIG$ii (func (param i32) (result i32)))
+ (type $FUNCSIG$dd (func (param f64) (result f64)))
+ (import "global" "NaN" (global $t f64))
+ (import "global" "Infinity" (global $u f64))
+ (import "env" "tempDoublePtr" (global $tempDoublePtr i32))
+ (import "env" "gb" (global $n i32))
+ (import "env" "setTempRet0" (func $setTempRet0 (param i32) (result i32)))
+ (import "env" "abort" (func $abort (param f64) (result f64)))
+ (import "env" "print" (func $print (param i32)))
+ (import "env" "h" (func $h (param i32)))
+ (import "asm2wasm" "f64-rem" (func $f64-rem (param f64 f64) (result f64)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "big_negative" (func $big_negative))
+ (export "pick" (func $exportMe))
+ (global $Int i32 (i32.const 0))
+ (global $Double f64 (f64.const 0))
(table 10 10 anyfunc)
(elem (i32.const 0) $z $big_negative $z $z $w $w $importedDoubles $w $z $cneg)
(func $big_negative
@@ -37,31 +48,21 @@
(f64.add
(f64.add
(f64.add
- (f64.load
- (i32.const 8)
- )
- (f64.load
- (i32.const 16)
- )
+ (get_global $t)
+ (get_global $u)
)
(f64.neg
- (f64.load
- (i32.const 16)
- )
+ (get_global $u)
)
)
(f64.neg
- (f64.load
- (i32.const 8)
- )
+ (get_global $t)
)
)
)
(if
(i32.gt_s
- (i32.load
- (i32.const 24)
- )
+ (get_global $Int)
(i32.const 0)
)
(return
@@ -70,9 +71,7 @@
)
(if
(f64.gt
- (f64.load
- (i32.const 32)
- )
+ (get_global $Double)
(f64.const 0)
)
(return
@@ -177,11 +176,15 @@
(set_local $J
(f64.sub
(block
- (f64.const 0.1)
+ (drop
+ (f64.const 0.1)
+ )
(f64.const 5.1)
)
(block
- (f64.const 3.2)
+ (drop
+ (f64.const 3.2)
+ )
(f64.const 4.2)
)
)
@@ -247,63 +250,71 @@
(br $label$break$Lout)
)
(block
- (loop $while-out$10 $while-in$11
- (br $while-out$10)
- (br $while-in$11)
+ (loop $while-in$11
+ (block $while-out$10
+ (br $while-out$10)
+ (br $while-in$11)
+ )
)
(br $label$break$Lout)
)
)
(block
- (loop $while-out$13 $while-in$14
- (br $label$break$Lout)
- (br $while-in$14)
+ (loop $while-in$14
+ (block $while-out$13
+ (br $label$break$Lout)
+ (br $while-in$14)
+ )
)
(br $label$break$Lout)
)
)
)
- (loop $label$break$L1 $label$continue$L1
- (loop $label$break$L3 $label$continue$L3
- (block $switch$17
- (block $switch-default$21
- (block $switch-default$21
- (block $switch-case$20
- (block $switch-case$19
- (block $switch-case$18
- (br_table $switch-case$18 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$20 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$19 $switch-default$21
- (i32.sub
- (get_local $x)
- (i32.const -1)
+ (loop $label$continue$L1
+ (block $label$break$L1
+ (loop $label$continue$L3
+ (block $label$break$L3
+ (block $switch$17
+ (block $switch-default$21
+ (block $switch-default$21
+ (block $switch-case$20
+ (block $switch-case$19
+ (block $switch-case$18
+ (br_table $switch-case$18 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$20 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$19 $switch-default$21
+ (i32.sub
+ (get_local $x)
+ (i32.const -1)
+ )
+ )
+ )
+ (block
+ (br $label$break$L1)
+ (br $switch$17)
+ )
+ )
+ (block
+ (set_local $waka
+ (i32.const 1)
)
+ (br $switch$17)
)
)
(block
- (br $label$break$L1)
+ (br $label$break$L3)
(br $switch$17)
)
)
- (block
- (set_local $waka
- (i32.const 1)
- )
- (br $switch$17)
- )
- )
- (block
- (br $label$break$L3)
- (br $switch$17)
+ (br $label$break$L1)
)
)
- (br $label$break$L1)
+ (br $label$continue$L3)
)
)
- (br $label$continue$L3)
- )
- (call_import $h
- (i32.const 120)
+ (call_import $h
+ (i32.const 120)
+ )
+ (br $label$continue$L1)
)
- (br $label$continue$L1)
)
(return
(i32.const 0)
@@ -340,14 +351,26 @@
(func $fr (param $x f32)
(local $y f32)
(local $z f64)
- (f32.demote/f64
- (get_local $z)
+ (drop
+ (f32.demote/f64
+ (get_local $z)
+ )
+ )
+ (drop
+ (get_local $y)
+ )
+ (drop
+ (f32.const 5)
+ )
+ (drop
+ (f32.const 0)
+ )
+ (drop
+ (f32.const 5)
+ )
+ (drop
+ (f32.const 0)
)
- (get_local $y)
- (f32.const 5)
- (f32.const 0)
- (f32.const 5)
- (f32.const 0)
)
(func $negZero (result f64)
(return
@@ -396,6 +419,7 @@
)
)
(call_indirect $FUNCSIG$vf
+ (get_local $x)
(i32.add
(i32.and
(i32.const 1)
@@ -403,11 +427,11 @@
)
(i32.const 8)
)
- (get_local $x)
)
)
(func $cneg (param $x f32)
(call_indirect $FUNCSIG$vf
+ (get_local $x)
(i32.add
(i32.and
(i32.const 1)
@@ -415,14 +439,15 @@
)
(i32.const 8)
)
- (get_local $x)
)
)
(func $___syscall_ret
(local $$0 i32)
- (i32.gt_u
- (get_local $$0)
- (i32.const -4096)
+ (drop
+ (i32.gt_u
+ (get_local $$0)
+ (i32.const -4096)
+ )
)
)
(func $smallCompare (result i32)
@@ -458,6 +483,7 @@
)
(func $cneg_nosemicolon
(call_indirect $FUNCSIG$vi
+ (i32.const 1)
(i32.add
(i32.and
(i32.const 1)
@@ -465,7 +491,6 @@
)
(i32.const 8)
)
- (i32.const 1)
)
)
(func $forLoop
@@ -473,26 +498,28 @@
(set_local $i
(i32.const 1)
)
- (loop $for-out$0 $for-in$1
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $i)
- (i32.const 200)
+ (loop $for-in$1
+ (block $for-out$0
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $i)
+ (i32.const 200)
+ )
)
+ (br $for-out$0)
)
- (br $for-out$0)
- )
- (call_import $h
- (get_local $i)
- )
- (set_local $i
- (i32.add
+ (call_import $h
(get_local $i)
- (i32.const 1)
)
+ (set_local $i
+ (i32.add
+ (get_local $i)
+ (i32.const 1)
+ )
+ )
+ (br $for-in$1)
)
- (br $for-in$1)
)
)
(func $ceiling_32_64 (param $u f32) (param $B f64)
@@ -516,99 +543,141 @@
)
)
(func $aborts
- (call_import $abort
- (f64.const 0)
+ (drop
+ (call_import $abort
+ (f64.const 0)
+ )
)
- (call_import $abort
- (f64.convert_s/i32
- (i32.const 55)
+ (drop
+ (call_import $abort
+ (f64.convert_s/i32
+ (i32.const 55)
+ )
)
)
- (call_import $abort
- (f64.const 0)
+ (drop
+ (call_import $abort
+ (f64.const 0)
+ )
)
- (call_import $abort
- (f64.const 12.34)
+ (drop
+ (call_import $abort
+ (f64.const 12.34)
+ )
)
- (call_import $abort
- (f64.promote/f32
- (f32.const 56.779998779296875)
+ (drop
+ (call_import $abort
+ (f64.promote/f32
+ (f32.const 56.779998779296875)
+ )
)
)
)
(func $continues
- (loop $while-out$0 $while-in$1
- (call_import $print
- (i32.const 1)
- )
- (loop $do-once$2 $unlikely-continue$3
+ (loop $while-in$1
+ (block $while-out$0
(call_import $print
- (i32.const 5)
+ (i32.const 1)
)
- (if
- (i32.const 0)
- (br $unlikely-continue$3)
+ (block $do-once$2
+ (loop $unlikely-continue$3
+ (call_import $print
+ (i32.const 5)
+ )
+ (if
+ (i32.const 0)
+ (br $unlikely-continue$3)
+ )
+ )
)
+ (call_import $print
+ (i32.const 2)
+ )
+ (br $while-in$1)
)
- (call_import $print
- (i32.const 2)
- )
- (br $while-in$1)
)
)
(func $bitcasts (param $i i32) (param $f f32)
(local $d f64)
- (f32.reinterpret/i32
- (get_local $i)
- )
- (f64.promote/f32
+ (drop
(f32.reinterpret/i32
(get_local $i)
)
)
- (i32.reinterpret/f32
- (get_local $f)
+ (drop
+ (f64.promote/f32
+ (f32.reinterpret/i32
+ (get_local $i)
+ )
+ )
)
- (i32.reinterpret/f32
- (f32.demote/f64
- (get_local $d)
+ (drop
+ (i32.reinterpret/f32
+ (get_local $f)
+ )
+ )
+ (drop
+ (i32.reinterpret/f32
+ (f32.demote/f64
+ (get_local $d)
+ )
)
)
)
(func $recursiveBlockMerging (param $x i32) (result i32)
- (call $lb
- (i32.add
+ (drop
+ (call $lb
(i32.add
(i32.add
- (block
- (i32.const 1)
- (get_local $x)
- )
- (block
- (i32.const 2)
- (i32.const 3)
+ (i32.add
+ (block
+ (drop
+ (i32.const 1)
+ )
+ (get_local $x)
+ )
+ (block
+ (drop
+ (i32.const 2)
+ )
+ (i32.const 3)
+ )
)
- )
- (block
(block
(block
- (i32.const 4)
- (i32.const 5)
+ (block
+ (drop
+ (i32.const 4)
+ )
+ (drop
+ (i32.const 5)
+ )
+ )
+ (drop
+ (i32.const 6)
+ )
)
- (i32.const 6)
+ (i32.const 7)
)
- (i32.const 7)
)
- )
- (block
- (i32.const 8)
(block
- (i32.const 9)
+ (drop
+ (i32.const 8)
+ )
(block
- (i32.const 10)
+ (drop
+ (i32.const 9)
+ )
(block
- (i32.const 11)
- (i32.const 12)
+ (drop
+ (i32.const 10)
+ )
+ (block
+ (drop
+ (i32.const 11)
+ )
+ (i32.const 12)
+ )
)
)
)
@@ -620,14 +689,18 @@
(i32.add
(i32.add
(block
- (call $lb
- (i32.const 1)
+ (drop
+ (call $lb
+ (i32.const 1)
+ )
)
(get_local $x)
)
(block
- (call $lb
- (i32.const 2)
+ (drop
+ (call $lb
+ (i32.const 2)
+ )
)
(call $lb
(i32.const 3)
@@ -637,15 +710,21 @@
(block
(block
(block
- (call $lb
- (i32.const 4)
+ (drop
+ (call $lb
+ (i32.const 4)
+ )
)
- (call $lb
- (i32.const 5)
+ (drop
+ (call $lb
+ (i32.const 5)
+ )
)
)
- (call $lb
- (i32.const 6)
+ (drop
+ (call $lb
+ (i32.const 6)
+ )
)
)
(call $lb
@@ -654,20 +733,28 @@
)
)
(block
- (call $lb
- (i32.const 8)
+ (drop
+ (call $lb
+ (i32.const 8)
+ )
)
(block
- (call $lb
- (i32.const 9)
+ (drop
+ (call $lb
+ (i32.const 9)
+ )
)
(block
- (call $lb
- (i32.const 10)
+ (drop
+ (call $lb
+ (i32.const 10)
+ )
)
(block
- (call $lb
- (i32.const 11)
+ (drop
+ (call $lb
+ (i32.const 11)
+ )
)
(call $lb
(i32.const 12)
@@ -687,9 +774,7 @@
(get_local $a)
(i32.add
(i32.add
- (i32.load
- (i32.const 48)
- )
+ (get_global $n)
(i32.const 136)
)
(i32.const 8)
@@ -700,10 +785,14 @@
)
)
(func $forgetMe
- (f64.const 123.456)
+ (drop
+ (f64.const 123.456)
+ )
)
(func $exportMe
- (f64.const -3.14159)
+ (drop
+ (f64.const -3.14159)
+ )
)
(func $zeroInit (param $x i32)
(local $y i32)
@@ -757,6 +846,161 @@
(get_local $x)
)
)
+ (func $smallIf
+ (block $do-once$0
+ (drop
+ (if
+ (i32.const 2)
+ (call $lb
+ (i32.const 3)
+ )
+ (br $do-once$0)
+ )
+ )
+ (nop)
+ )
+ )
+ (func $dropCall (result i32)
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (call $phi)
+ )
+ (drop
+ (call_import $setTempRet0
+ (i32.const 10)
+ )
+ )
+ (call $zeroInit
+ (call_import $setTempRet0
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ (return
+ (call $phi)
+ )
+ )
+ (func $useSetGlobal (result i32)
+ (local $x i32)
+ (set_local $x
+ (block
+ (set_global $Int
+ (i32.const 10)
+ )
+ (get_global $Int)
+ )
+ )
+ (set_global $Int
+ (i32.const 20)
+ )
+ (return
+ (block
+ (set_global $Int
+ (i32.const 30)
+ )
+ (get_global $Int)
+ )
+ )
+ )
+ (func $usesSetGlobal2 (result i32)
+ (return
+ (block
+ (block
+ (set_global $Int
+ (i32.const 40)
+ )
+ (drop
+ (get_global $Int)
+ )
+ )
+ (i32.const 50)
+ )
+ )
+ )
+ (func $breakThroughMany (param $$s i32)
+ (block $label$break$L1
+ (drop
+ (if
+ (get_local $$s)
+ (loop $while-in$2
+ (block $while-out$1
+ (if
+ (i32.eqz
+ (get_local $$s)
+ )
+ (br $label$break$L1)
+ )
+ (call $zeroInit
+ (i32.const 0)
+ )
+ (br $while-in$2)
+ )
+ )
+ (i32.const 1337)
+ )
+ )
+ (nop)
+ )
+ )
+ (func $ifChainEmpty (param $label i32) (result i32)
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 4)
+ )
+ (return
+ (i32.const 0)
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 7)
+ )
+ (nop)
+ )
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ (func $heap8NoShift (param $x i32) (result i32)
+ (return
+ (i32.load8_s
+ (get_local $x)
+ )
+ )
+ )
+ (func $conditionalTypeFun
+ (local $x i32)
+ (local $y f64)
+ (set_local $x
+ (if
+ (i32.const 1)
+ (i32.trunc_s/f64
+ (call_import $abort
+ (f64.convert_s/i32
+ (i32.const 5)
+ )
+ )
+ )
+ (i32.const 2)
+ )
+ )
+ (set_local $y
+ (if
+ (i32.const 3)
+ (call_import $abort
+ (f64.convert_s/i32
+ (i32.const 7)
+ )
+ )
+ (f64.const 4.5)
+ )
+ )
+ )
(func $z
(nop)
)
diff --git a/test/unit.fromasm.no-opts b/test/unit.fromasm.no-opts
index 51ae345b9..2162d9ed7 100644
--- a/test/unit.fromasm.no-opts
+++ b/test/unit.fromasm.no-opts
@@ -1,20 +1,31 @@
(module
(memory 256 256)
- (export "memory" memory)
(type $FUNCSIG$id (func (param f64) (result i32)))
(type $FUNCSIG$ddd (func (param f64 f64) (result f64)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vf (func (param f32)))
(type $FUNCSIG$vi (func (param i32)))
- (type $FUNCSIG$vd (func (param f64)))
- (import $abort "env" "abort" (param f64))
- (import $print "env" "print" (param i32))
- (import $h "env" "h" (param i32))
- (import $f64-to-int "asm2wasm" "f64-to-int" (param f64) (result i32))
- (import $f64-rem "asm2wasm" "f64-rem" (param f64 f64) (result f64))
- (import $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32))
- (export "big_negative" $big_negative)
- (export "pick" $exportMe)
+ (type $FUNCSIG$ii (func (param i32) (result i32)))
+ (type $FUNCSIG$dd (func (param f64) (result f64)))
+ (import "global" "NaN" (global $t f64))
+ (import "global" "Infinity" (global $u f64))
+ (import "env" "tempDoublePtr" (global $tempDoublePtr i32))
+ (import "env" "gb" (global $n i32))
+ (import "env" "setTempRet0" (func $setTempRet0 (param i32) (result i32)))
+ (import "env" "abort" (func $abort (param f64) (result f64)))
+ (import "env" "print" (func $print (param i32)))
+ (import "env" "h" (func $h (param i32)))
+ (import "asm2wasm" "f64-to-int" (func $f64-to-int (param f64) (result i32)))
+ (import "asm2wasm" "f64-rem" (func $f64-rem (param f64 f64) (result f64)))
+ (import "asm2wasm" "i32u-div" (func $i32u-div (param i32 i32) (result i32)))
+ (import "env" "memory" (memory $memory))
+ (import "env" "table" (table $table))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (export "big_negative" (func $big_negative))
+ (export "pick" (func $exportMe))
+ (global $Int i32 (i32.const 0))
+ (global $Double f64 (f64.const 0))
(table 10 10 anyfunc)
(elem (i32.const 0) $z $big_negative $z $z $w $w $importedDoubles $w $z $cneg)
(func $big_negative
@@ -41,31 +52,21 @@
(f64.add
(f64.add
(f64.add
- (f64.load
- (i32.const 8)
- )
- (f64.load
- (i32.const 16)
- )
+ (get_global $t)
+ (get_global $u)
)
(f64.neg
- (f64.load
- (i32.const 16)
- )
+ (get_global $u)
)
)
(f64.neg
- (f64.load
- (i32.const 8)
- )
+ (get_global $t)
)
)
)
(if
(i32.gt_s
- (i32.load
- (i32.const 24)
- )
+ (get_global $Int)
(i32.const 0)
)
(return
@@ -74,9 +75,7 @@
)
(if
(f64.gt
- (f64.load
- (i32.const 32)
- )
+ (get_global $Double)
(f64.const 0)
)
(return
@@ -183,11 +182,15 @@
(set_local $J
(f64.sub
(block
- (f64.const 0.1)
+ (drop
+ (f64.const 0.1)
+ )
(f64.const 5.1)
)
(block
- (f64.const 3.2)
+ (drop
+ (f64.const 3.2)
+ )
(f64.const 4.2)
)
)
@@ -253,63 +256,71 @@
(br $label$break$Lout)
)
(block
- (loop $while-out$10 $while-in$11
- (br $while-out$10)
- (br $while-in$11)
+ (loop $while-in$11
+ (block $while-out$10
+ (br $while-out$10)
+ (br $while-in$11)
+ )
)
(br $label$break$Lout)
)
)
(block
- (loop $while-out$13 $while-in$14
- (br $label$break$Lout)
- (br $while-in$14)
+ (loop $while-in$14
+ (block $while-out$13
+ (br $label$break$Lout)
+ (br $while-in$14)
+ )
)
(br $label$break$Lout)
)
)
)
- (loop $label$break$L1 $label$continue$L1
- (loop $label$break$L3 $label$continue$L3
- (block $switch$17
- (block $switch-default$21
- (block $switch-default$21
- (block $switch-case$20
- (block $switch-case$19
- (block $switch-case$18
- (br_table $switch-case$18 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$20 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$19 $switch-default$21
- (i32.sub
- (get_local $x)
- (i32.const -1)
+ (loop $label$continue$L1
+ (block $label$break$L1
+ (loop $label$continue$L3
+ (block $label$break$L3
+ (block $switch$17
+ (block $switch-default$21
+ (block $switch-default$21
+ (block $switch-case$20
+ (block $switch-case$19
+ (block $switch-case$18
+ (br_table $switch-case$18 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$20 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-default$21 $switch-case$19 $switch-default$21
+ (i32.sub
+ (get_local $x)
+ (i32.const -1)
+ )
+ )
+ )
+ (block
+ (br $label$break$L1)
+ (br $switch$17)
+ )
+ )
+ (block
+ (set_local $waka
+ (i32.const 1)
)
+ (br $switch$17)
)
)
(block
- (br $label$break$L1)
+ (br $label$break$L3)
(br $switch$17)
)
)
- (block
- (set_local $waka
- (i32.const 1)
- )
- (br $switch$17)
- )
- )
- (block
- (br $label$break$L3)
- (br $switch$17)
+ (br $label$break$L1)
)
)
- (br $label$break$L1)
+ (br $label$continue$L3)
)
)
- (br $label$continue$L3)
- )
- (call_import $h
- (i32.const 120)
+ (call_import $h
+ (i32.const 120)
+ )
+ (br $label$continue$L1)
)
- (br $label$continue$L1)
)
(return
(i32.const 0)
@@ -346,14 +357,26 @@
(func $fr (param $x f32)
(local $y f32)
(local $z f64)
- (f32.demote/f64
- (get_local $z)
+ (drop
+ (f32.demote/f64
+ (get_local $z)
+ )
+ )
+ (drop
+ (get_local $y)
+ )
+ (drop
+ (f32.const 5)
+ )
+ (drop
+ (f32.const 0)
+ )
+ (drop
+ (f32.const 5)
+ )
+ (drop
+ (f32.const 0)
)
- (get_local $y)
- (f32.const 5)
- (f32.const 0)
- (f32.const 5)
- (f32.const 0)
)
(func $negZero (result f64)
(return
@@ -402,6 +425,7 @@
)
)
(call_indirect $FUNCSIG$vf
+ (get_local $x)
(i32.add
(i32.and
(i32.const 1)
@@ -409,11 +433,11 @@
)
(i32.const 8)
)
- (get_local $x)
)
)
(func $cneg (param $x f32)
(call_indirect $FUNCSIG$vf
+ (get_local $x)
(i32.add
(i32.and
(i32.const 1)
@@ -421,14 +445,15 @@
)
(i32.const 8)
)
- (get_local $x)
)
)
(func $___syscall_ret
(local $$0 i32)
- (i32.gt_u
- (get_local $$0)
- (i32.const -4096)
+ (drop
+ (i32.gt_u
+ (get_local $$0)
+ (i32.const -4096)
+ )
)
)
(func $smallCompare (result i32)
@@ -464,6 +489,7 @@
)
(func $cneg_nosemicolon
(call_indirect $FUNCSIG$vi
+ (i32.const 1)
(i32.add
(i32.and
(i32.const 1)
@@ -471,7 +497,6 @@
)
(i32.const 8)
)
- (i32.const 1)
)
)
(func $forLoop
@@ -479,26 +504,28 @@
(set_local $i
(i32.const 1)
)
- (loop $for-out$0 $for-in$1
- (if
- (i32.eqz
- (i32.lt_s
- (get_local $i)
- (i32.const 200)
+ (loop $for-in$1
+ (block $for-out$0
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $i)
+ (i32.const 200)
+ )
)
+ (br $for-out$0)
)
- (br $for-out$0)
- )
- (call_import $h
- (get_local $i)
- )
- (set_local $i
- (i32.add
+ (call_import $h
(get_local $i)
- (i32.const 1)
)
+ (set_local $i
+ (i32.add
+ (get_local $i)
+ (i32.const 1)
+ )
+ )
+ (br $for-in$1)
)
- (br $for-in$1)
)
)
(func $ceiling_32_64 (param $u f32) (param $B f64)
@@ -522,99 +549,141 @@
)
)
(func $aborts
- (call_import $abort
- (f64.const 0)
+ (drop
+ (call_import $abort
+ (f64.const 0)
+ )
)
- (call_import $abort
- (f64.convert_s/i32
- (i32.const 55)
+ (drop
+ (call_import $abort
+ (f64.convert_s/i32
+ (i32.const 55)
+ )
)
)
- (call_import $abort
- (f64.const 0)
+ (drop
+ (call_import $abort
+ (f64.const 0)
+ )
)
- (call_import $abort
- (f64.const 12.34)
+ (drop
+ (call_import $abort
+ (f64.const 12.34)
+ )
)
- (call_import $abort
- (f64.promote/f32
- (f32.const 56.779998779296875)
+ (drop
+ (call_import $abort
+ (f64.promote/f32
+ (f32.const 56.779998779296875)
+ )
)
)
)
(func $continues
- (loop $while-out$0 $while-in$1
- (call_import $print
- (i32.const 1)
- )
- (loop $do-once$2 $unlikely-continue$3
+ (loop $while-in$1
+ (block $while-out$0
(call_import $print
- (i32.const 5)
+ (i32.const 1)
)
- (if
- (i32.const 0)
- (br $unlikely-continue$3)
+ (block $do-once$2
+ (loop $unlikely-continue$3
+ (call_import $print
+ (i32.const 5)
+ )
+ (if
+ (i32.const 0)
+ (br $unlikely-continue$3)
+ )
+ )
)
+ (call_import $print
+ (i32.const 2)
+ )
+ (br $while-in$1)
)
- (call_import $print
- (i32.const 2)
- )
- (br $while-in$1)
)
)
(func $bitcasts (param $i i32) (param $f f32)
(local $d f64)
- (f32.reinterpret/i32
- (get_local $i)
- )
- (f64.promote/f32
+ (drop
(f32.reinterpret/i32
(get_local $i)
)
)
- (i32.reinterpret/f32
- (get_local $f)
+ (drop
+ (f64.promote/f32
+ (f32.reinterpret/i32
+ (get_local $i)
+ )
+ )
)
- (i32.reinterpret/f32
- (f32.demote/f64
- (get_local $d)
+ (drop
+ (i32.reinterpret/f32
+ (get_local $f)
+ )
+ )
+ (drop
+ (i32.reinterpret/f32
+ (f32.demote/f64
+ (get_local $d)
+ )
)
)
)
(func $recursiveBlockMerging (param $x i32) (result i32)
- (call $lb
- (i32.add
+ (drop
+ (call $lb
(i32.add
(i32.add
- (block
- (i32.const 1)
- (get_local $x)
- )
- (block
- (i32.const 2)
- (i32.const 3)
+ (i32.add
+ (block
+ (drop
+ (i32.const 1)
+ )
+ (get_local $x)
+ )
+ (block
+ (drop
+ (i32.const 2)
+ )
+ (i32.const 3)
+ )
)
- )
- (block
(block
(block
- (i32.const 4)
- (i32.const 5)
+ (block
+ (drop
+ (i32.const 4)
+ )
+ (drop
+ (i32.const 5)
+ )
+ )
+ (drop
+ (i32.const 6)
+ )
)
- (i32.const 6)
+ (i32.const 7)
)
- (i32.const 7)
)
- )
- (block
- (i32.const 8)
(block
- (i32.const 9)
+ (drop
+ (i32.const 8)
+ )
(block
- (i32.const 10)
+ (drop
+ (i32.const 9)
+ )
(block
- (i32.const 11)
- (i32.const 12)
+ (drop
+ (i32.const 10)
+ )
+ (block
+ (drop
+ (i32.const 11)
+ )
+ (i32.const 12)
+ )
)
)
)
@@ -626,14 +695,18 @@
(i32.add
(i32.add
(block
- (call $lb
- (i32.const 1)
+ (drop
+ (call $lb
+ (i32.const 1)
+ )
)
(get_local $x)
)
(block
- (call $lb
- (i32.const 2)
+ (drop
+ (call $lb
+ (i32.const 2)
+ )
)
(call $lb
(i32.const 3)
@@ -643,15 +716,21 @@
(block
(block
(block
- (call $lb
- (i32.const 4)
+ (drop
+ (call $lb
+ (i32.const 4)
+ )
)
- (call $lb
- (i32.const 5)
+ (drop
+ (call $lb
+ (i32.const 5)
+ )
)
)
- (call $lb
- (i32.const 6)
+ (drop
+ (call $lb
+ (i32.const 6)
+ )
)
)
(call $lb
@@ -660,20 +739,28 @@
)
)
(block
- (call $lb
- (i32.const 8)
+ (drop
+ (call $lb
+ (i32.const 8)
+ )
)
(block
- (call $lb
- (i32.const 9)
+ (drop
+ (call $lb
+ (i32.const 9)
+ )
)
(block
- (call $lb
- (i32.const 10)
+ (drop
+ (call $lb
+ (i32.const 10)
+ )
)
(block
- (call $lb
- (i32.const 11)
+ (drop
+ (call $lb
+ (i32.const 11)
+ )
)
(call $lb
(i32.const 12)
@@ -693,9 +780,7 @@
(get_local $a)
(i32.add
(i32.add
- (i32.load
- (i32.const 48)
- )
+ (get_global $n)
(i32.const 136)
)
(i32.const 8)
@@ -706,10 +791,14 @@
)
)
(func $forgetMe
- (f64.const 123.456)
+ (drop
+ (f64.const 123.456)
+ )
)
(func $exportMe
- (f64.const -3.14159)
+ (drop
+ (f64.const -3.14159)
+ )
)
(func $zeroInit (param $x i32)
(local $y i32)
@@ -763,6 +852,161 @@
(get_local $x)
)
)
+ (func $smallIf
+ (block $do-once$0
+ (drop
+ (if
+ (i32.const 2)
+ (call $lb
+ (i32.const 3)
+ )
+ (br $do-once$0)
+ )
+ )
+ (nop)
+ )
+ )
+ (func $dropCall (result i32)
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (call $phi)
+ )
+ (drop
+ (call_import $setTempRet0
+ (i32.const 10)
+ )
+ )
+ (call $zeroInit
+ (call_import $setTempRet0
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ (return
+ (call $phi)
+ )
+ )
+ (func $useSetGlobal (result i32)
+ (local $x i32)
+ (set_local $x
+ (block
+ (set_global $Int
+ (i32.const 10)
+ )
+ (get_global $Int)
+ )
+ )
+ (set_global $Int
+ (i32.const 20)
+ )
+ (return
+ (block
+ (set_global $Int
+ (i32.const 30)
+ )
+ (get_global $Int)
+ )
+ )
+ )
+ (func $usesSetGlobal2 (result i32)
+ (return
+ (block
+ (block
+ (set_global $Int
+ (i32.const 40)
+ )
+ (drop
+ (get_global $Int)
+ )
+ )
+ (i32.const 50)
+ )
+ )
+ )
+ (func $breakThroughMany (param $$s i32)
+ (block $label$break$L1
+ (drop
+ (if
+ (get_local $$s)
+ (loop $while-in$2
+ (block $while-out$1
+ (if
+ (i32.eqz
+ (get_local $$s)
+ )
+ (br $label$break$L1)
+ )
+ (call $zeroInit
+ (i32.const 0)
+ )
+ (br $while-in$2)
+ )
+ )
+ (i32.const 1337)
+ )
+ )
+ (nop)
+ )
+ )
+ (func $ifChainEmpty (param $label i32) (result i32)
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 4)
+ )
+ (return
+ (i32.const 0)
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 7)
+ )
+ (nop)
+ )
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ (func $heap8NoShift (param $x i32) (result i32)
+ (return
+ (i32.load8_s
+ (get_local $x)
+ )
+ )
+ )
+ (func $conditionalTypeFun
+ (local $x i32)
+ (local $y f64)
+ (set_local $x
+ (if
+ (i32.const 1)
+ (i32.trunc_s/f64
+ (call_import $abort
+ (f64.convert_s/i32
+ (i32.const 5)
+ )
+ )
+ )
+ (i32.const 2)
+ )
+ )
+ (set_local $y
+ (if
+ (i32.const 3)
+ (call_import $abort
+ (f64.convert_s/i32
+ (i32.const 7)
+ )
+ )
+ (f64.const 4.5)
+ )
+ )
+ )
(func $z
(nop)
)
diff --git a/test/unit.wast b/test/unit.wast
index 2e21d44dd..2df02df44 100644
--- a/test/unit.wast
+++ b/test/unit.wast
@@ -9,10 +9,10 @@
(type $5 (func (result i32)))
(type $6 (func (param i32) (result i32)))
(type $7 (func (param f64) (result f64)))
- (import $_emscripten_asm_const_vi "env" "_emscripten_asm_const_vi")
- (import $f64-to-int "asm2wasm" "f64-to-int" (param f64) (result i32))
- (import $f64-rem "asm2wasm" "f64-rem" (param f64 f64) (result f64))
- (export "big_negative" $big_negative)
+ (import "env" "_emscripten_asm_const_vi" (func $_emscripten_asm_const_vi))
+ (import "asm2wasm" "f64-to-int" (func $f64-to-int (param f64) (result i32)))
+ (import "asm2wasm" "f64-rem" (func $f64-rem (param f64 f64) (result f64)))
+ (export "big_negative" (func $big_negative))
(table 10 anyfunc)
(elem (i32.const 0) $z $big_negative $z $z $w $w $importedDoubles $w $z $cneg)
(func $big_negative (type $FUNCSIG$v)
@@ -139,12 +139,14 @@
)
)
(func $hexLiterals (type $FUNCSIG$v)
- (i32.add
+ (drop
(i32.add
- (i32.const 0)
- (i32.const 313249263)
+ (i32.add
+ (i32.const 0)
+ (i32.const 313249263)
+ )
+ (i32.const -19088752)
)
- (i32.const -19088752)
)
)
(func $conversions (type $FUNCSIG$v)
@@ -176,11 +178,15 @@
(set_local $J
(f64.sub
(block $block0
- (f64.const 0.1)
+ (drop
+ (f64.const 0.1)
+ )
(f64.const 5.1)
)
(block $block1
- (f64.const 3.2)
+ (drop
+ (f64.const 3.2)
+ )
(f64.const 4.2)
)
)
@@ -247,8 +253,8 @@
)
(br $label$break$Lout)
)
- (block $block0
- (loop $while-out$10 $while-in$11
+ (block $while-out$10
+ (loop $while-in$11
(block $block1
(br $while-out$10)
(br $while-in$11)
@@ -257,8 +263,8 @@
(br $label$break$Lout)
)
)
- (block $block2
- (loop $while-out$13 $while-in$14
+ (block $while-out$13
+ (loop $while-in$14
(block $block3
(br $label$break$Lout)
(br $while-in$14)
@@ -302,14 +308,26 @@
(local $y f32)
(local $z f64)
(block $block0
- (f32.demote/f64
- (get_local $z)
+ (drop
+ (f32.demote/f64
+ (get_local $z)
+ )
+ )
+ (drop
+ (get_local $y)
+ )
+ (drop
+ (f32.const 5)
+ )
+ (drop
+ (f32.const 0)
+ )
+ (drop
+ (f32.const 5)
+ )
+ (drop
+ (f32.const 0)
)
- (get_local $y)
- (f32.const 5)
- (f32.const 0)
- (f32.const 5)
- (f32.const 0)
)
)
(func $negZero (type $4) (result f64)
@@ -360,6 +378,7 @@
)
)
(call_indirect $FUNCSIG$vf
+ (get_local $x)
(i32.add
(i32.and
(i32.const 1)
@@ -367,12 +386,12 @@
)
(i32.const 8)
)
- (get_local $x)
)
)
)
(func $cneg (type $FUNCSIG$vf) (param $x f32)
(call_indirect $FUNCSIG$vf
+ (get_local $x)
(i32.add
(i32.and
(i32.const 1)
@@ -380,17 +399,18 @@
)
(i32.const 8)
)
- (get_local $x)
)
)
(func $___syscall_ret (type $FUNCSIG$v)
(local $$0 i32)
- (i32.gt_u
- (i32.shr_u
- (get_local $$0)
- (i32.const 0)
+ (drop
+ (i32.gt_u
+ (i32.shr_u
+ (get_local $$0)
+ (i32.const 0)
+ )
+ (i32.const -4096)
)
- (i32.const -4096)
)
)
(func $z (type $FUNCSIG$v)
@@ -401,14 +421,18 @@
)
(func $block_and_after (type $5) (result i32)
(block $waka
- (i32.const 1)
+ (drop
+ (i32.const 1)
+ )
(br $waka)
)
(i32.const 0)
)
(func $loop-roundtrip (type $7) (param $0 f64) (result f64)
- (loop $loop-out0 $loop-in1
- (get_local $0)
+ (loop $loop-in1
+ (drop
+ (get_local $0)
+ )
(get_local $0)
)
)
diff --git a/test/unit.wast.fromBinary b/test/unit.wast.fromBinary
index 29d53598a..4a311f41a 100644
--- a/test/unit.wast.fromBinary
+++ b/test/unit.wast.fromBinary
@@ -9,10 +9,10 @@
(type $5 (func (result i32)))
(type $6 (func (param i32) (result i32)))
(type $7 (func (param f64) (result f64)))
- (import $import$0 "env" "_emscripten_asm_const_vi")
- (import $import$1 "asm2wasm" "f64-to-int" (param f64) (result i32))
- (import $import$2 "asm2wasm" "f64-rem" (param f64 f64) (result f64))
- (export "big_negative" $big_negative)
+ (import "env" "_emscripten_asm_const_vi" (func $import$0))
+ (import "asm2wasm" "f64-to-int" (func $import$1 (param f64) (result i32)))
+ (import "asm2wasm" "f64-rem" (func $import$2 (param f64 f64) (result f64)))
+ (export "big_negative" (func $big_negative))
(table 10 anyfunc)
(elem (i32.const 0) $z $big_negative $z $z $w $w $importedDoubles $w $z $cneg)
(func $big_negative (type $1)
@@ -151,12 +151,14 @@
)
)
(func $hexLiterals (type $1)
- (i32.add
+ (drop
(i32.add
- (i32.const 0)
- (i32.const 313249263)
+ (i32.add
+ (i32.const 0)
+ (i32.const 313249263)
+ )
+ (i32.const -19088752)
)
- (i32.const -19088752)
)
)
(func $conversions (type $1)
@@ -188,11 +190,15 @@
(set_local $var$0
(f64.sub
(block $label$0
- (f64.const 0.1)
+ (drop
+ (f64.const 0.1)
+ )
(f64.const 5.1)
)
(block $label$1
- (f64.const 3.2)
+ (drop
+ (f64.const 3.2)
+ )
(f64.const 4.2)
)
)
@@ -260,17 +266,17 @@
(br $label$9)
)
(block $label$15
- (loop $label$16 $label$17
+ (loop $label$16
+ (br $label$15)
(br $label$16)
- (br $label$17)
)
(br $label$9)
)
)
- (block $label$18
- (loop $label$19 $label$20
+ (block $label$17
+ (loop $label$18
(br $label$9)
- (br $label$20)
+ (br $label$18)
)
(br $label$9)
)
@@ -310,14 +316,26 @@
(local $var$1 f32)
(local $var$2 f64)
(block $label$0
- (f32.demote/f64
- (get_local $var$2)
+ (drop
+ (f32.demote/f64
+ (get_local $var$2)
+ )
+ )
+ (drop
+ (get_local $var$1)
+ )
+ (drop
+ (f32.const 5)
+ )
+ (drop
+ (f32.const 0)
+ )
+ (drop
+ (f32.const 5)
+ )
+ (drop
+ (f32.const 0)
)
- (get_local $var$1)
- (f32.const 5)
- (f32.const 0)
- (f32.const 5)
- (f32.const 0)
)
)
(func $negZero (type $4) (result f64)
@@ -368,6 +386,7 @@
)
)
(call_indirect $0
+ (get_local $var$0)
(i32.add
(i32.and
(i32.const 1)
@@ -375,12 +394,12 @@
)
(i32.const 8)
)
- (get_local $var$0)
)
)
)
(func $cneg (type $0) (param $var$0 f32)
(call_indirect $0
+ (get_local $var$0)
(i32.add
(i32.and
(i32.const 1)
@@ -388,17 +407,18 @@
)
(i32.const 8)
)
- (get_local $var$0)
)
)
(func $___syscall_ret (type $1)
(local $var$0 i32)
- (i32.gt_u
- (i32.shr_u
- (get_local $var$0)
- (i32.const 0)
+ (drop
+ (i32.gt_u
+ (i32.shr_u
+ (get_local $var$0)
+ (i32.const 0)
+ )
+ (i32.const -4096)
)
- (i32.const -4096)
)
)
(func $z (type $1)
@@ -410,15 +430,19 @@
(func $block_and_after (type $5) (result i32)
(block $label$0
(block $label$1
- (i32.const 1)
+ (drop
+ (i32.const 1)
+ )
(br $label$1)
)
(i32.const 0)
)
)
(func $loop-roundtrip (type $7) (param $var$0 f64) (result f64)
- (loop $label$0 $label$1
- (get_local $var$0)
+ (loop $label$0
+ (drop
+ (get_local $var$0)
+ )
(get_local $var$0)
)
)