summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2021-07-12 17:56:34 -0700
committerGitHub <noreply@github.com>2021-07-13 00:56:34 +0000
commit2bdd9e2f70063ebc9004ea2dd2e89e2090ee1c20 (patch)
treef8980a98177e5b84aced37077318787fd4314b9a
parentd22bc1c5dc2685b2c3f9ee004197da249c2b416e (diff)
downloadbinaryen-2bdd9e2f70063ebc9004ea2dd2e89e2090ee1c20.tar.gz
binaryen-2bdd9e2f70063ebc9004ea2dd2e89e2090ee1c20.tar.bz2
binaryen-2bdd9e2f70063ebc9004ea2dd2e89e2090ee1c20.zip
Port test/passes/inlin* to lit (#3972)
-rw-r--r--test/lit/passes/inline-main.wast125
-rw-r--r--test/lit/passes/inlining-optimizing_enable-threads.wast (renamed from test/passes/inlining-optimizing_enable-threads.wast)99
-rw-r--r--test/lit/passes/inlining-optimizing_optimize-level=3.wast31050
-rw-r--r--test/lit/passes/inlining_all-features.wast154
-rw-r--r--test/lit/passes/inlining_enable-tail-call.wast707
-rw-r--r--test/lit/passes/inlining_optimize-level=3.wast224
-rw-r--r--test/passes/inline-main.txt69
-rw-r--r--test/passes/inline-main.wast53
-rw-r--r--test/passes/inlining-optimizing_enable-threads.txt95
-rw-r--r--test/passes/inlining-optimizing_optimize-level=3.txt15333
-rw-r--r--test/passes/inlining-optimizing_optimize-level=3.wast15703
-rw-r--r--test/passes/inlining_all-features.txt84
-rw-r--r--test/passes/inlining_all-features.wast68
-rw-r--r--test/passes/inlining_enable-tail-call.txt418
-rw-r--r--test/passes/inlining_enable-tail-call.wast288
-rw-r--r--test/passes/inlining_optimize-level=3.txt159
-rw-r--r--test/passes/inlining_optimize-level=3.wast58
17 files changed, 32359 insertions, 32328 deletions
diff --git a/test/lit/passes/inline-main.wast b/test/lit/passes/inline-main.wast
new file mode 100644
index 000000000..042e3277b
--- /dev/null
+++ b/test/lit/passes/inline-main.wast
@@ -0,0 +1,125 @@
+;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
+;; NOTE: This test was ported using port_test.py and could be cleaned up.
+
+;; RUN: foreach %s %t wasm-opt --inline-main -S -o - | filecheck %s
+
+(module
+ ;; CHECK: (type $none_=>_i32 (func (result i32)))
+
+ ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
+
+ ;; CHECK: (export "main" (func $main))
+ (export "main" (func $main))
+ ;; CHECK: (func $__original_main (result i32)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ (func $__original_main (result i32)
+ (i32.const 0)
+ )
+ ;; CHECK: (func $main (param $0 i32) (param $1 i32) (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$__original_main (result i32)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $main (param $0 i32) (param $1 i32) (result i32)
+ (call $__original_main)
+ )
+)
+(module
+ ;; CHECK: (type $none_=>_i32 (func (result i32)))
+
+ ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
+
+ ;; CHECK: (export "main" (func $main))
+ (export "main" (func $main))
+ ;; CHECK: (func $__original_main (result i32)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ (func $__original_main (result i32)
+ (i32.const 0)
+ )
+ ;; CHECK: (func $main (param $0 i32) (param $1 i32) (result i32)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ (func $main (param $0 i32) (param $1 i32) (result i32)
+ (i32.const 0)
+ )
+)
+(module
+ ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
+
+ ;; CHECK: (export "main" (func $main))
+ (export "main" (func $main))
+ ;; CHECK: (func $main (param $0 i32) (param $1 i32) (result i32)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ (func $main (param $0 i32) (param $1 i32) (result i32)
+ (i32.const 0)
+ )
+)
+(module
+ ;; CHECK: (type $none_=>_i32 (func (result i32)))
+
+ ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
+
+ ;; CHECK: (export "main" (func $main))
+ (export "main" (func $main))
+ ;; CHECK: (func $__original_main (result i32)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ (func $__original_main (result i32)
+ (i32.const 0)
+ )
+ ;; CHECK: (func $main (param $0 i32) (param $1 i32) (result i32)
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $__original_main)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $__original_main)
+ ;; CHECK-NEXT: )
+ (func $main (param $0 i32) (param $1 i32) (result i32)
+ (drop (call $__original_main))
+ (call $__original_main)
+ )
+)
+(module
+ ;; CHECK: (type $none_=>_i32 (func (result i32)))
+
+ ;; CHECK: (func $__original_main (result i32)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ (func $__original_main (result i32)
+ (i32.const 0)
+ )
+)
+(module
+ ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
+
+ ;; CHECK: (type $none_=>_i32 (func (result i32)))
+
+ ;; CHECK: (import "env" "main" (func $main (param i32 i32) (result i32)))
+ (import "env" "main" (func $main (param i32 i32) (result i32)))
+ ;; CHECK: (export "main" (func $main))
+ (export "main" (func $main))
+ ;; CHECK: (func $__original_main (result i32)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ (func $__original_main (result i32)
+ (i32.const 0)
+ )
+)
+(module
+ ;; CHECK: (type $none_=>_i32 (func (result i32)))
+
+ ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
+
+ ;; CHECK: (import "env" "original_main" (func $__original_main (result i32)))
+ (import "env" "original_main" (func $__original_main (result i32)))
+ ;; CHECK: (export "main" (func $main))
+ (export "main" (func $main))
+ ;; CHECK: (func $main (param $0 i32) (param $1 i32) (result i32)
+ ;; CHECK-NEXT: (call $__original_main)
+ ;; CHECK-NEXT: )
+ (func $main (param $0 i32) (param $1 i32) (result i32)
+ (call $__original_main)
+ )
+)
diff --git a/test/passes/inlining-optimizing_enable-threads.wast b/test/lit/passes/inlining-optimizing_enable-threads.wast
index f0435baa4..135ed9566 100644
--- a/test/passes/inlining-optimizing_enable-threads.wast
+++ b/test/lit/passes/inlining-optimizing_enable-threads.wast
@@ -1,6 +1,29 @@
+;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
+;; NOTE: This test was ported using port_test.py and could be cleaned up.
+
+;; RUN: foreach %s %t wasm-opt --inlining-optimizing --enable-threads -S -o - | filecheck %s
+
(module
(table 1 1 funcref)
(elem (i32.const 0) $tabled)
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (table $0 1 1 funcref)
+
+ ;; CHECK: (elem (i32.const 0) $tabled)
+
+ ;; CHECK: (export "user" (func $user))
+
+ ;; CHECK: (export "exported" (func $exported))
+
+ ;; CHECK: (export "exported_small" (func $exported_small))
+
+ ;; CHECK: (func $user
+ ;; CHECK-NEXT: (call $exported)
+ ;; CHECK-NEXT: (call $tabled)
+ ;; CHECK-NEXT: (call $multi)
+ ;; CHECK-NEXT: (call $multi)
+ ;; CHECK-NEXT: )
(func $user (export "user")
(local $x i32)
(local $y f64)
@@ -23,16 +46,30 @@
(call $multipass)
(call $param (f32.const 12.34) (i64.const 890005350012))
)
+ ;; CHECK: (func $exported
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
(func $exported (export "exported")
(nop)
(nop)
)
+ ;; CHECK: (func $exported_small
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
(func $exported_small (export "exported_small")
(nop)
)
+ ;; CHECK: (func $recursive
+ ;; CHECK-NEXT: (call $recursive)
+ ;; CHECK-NEXT: )
(func $recursive
(call $recursive)
)
+ ;; CHECK: (func $tabled
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
(func $tabled
(nop)
(nop)
@@ -40,12 +77,19 @@
(func $tabled_small
(nop)
)
+ ;; CHECK: (func $cycle1
+ ;; CHECK-NEXT: (call $cycle1)
+ ;; CHECK-NEXT: )
(func $cycle1
(call $cycle2)
)
(func $cycle2
(call $cycle1)
)
+ ;; CHECK: (func $multi
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
(func $multi
(nop)
(nop)
@@ -93,6 +137,11 @@
)
)
(module
+ ;; CHECK: (type $none_=>_i32 (func (result i32)))
+
+ ;; CHECK: (func $main (result i32)
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: )
(func $main (result i32)
(call $func_51)
(i32.const 0)
@@ -102,6 +151,9 @@
)
)
(module
+ ;; CHECK: (type $none_=>_i64 (func (result i64)))
+
+ ;; CHECK: (memory $0 (shared 1 1))
(memory $0 (shared 1 1))
(func $0 (result i32)
(i32.atomic.store16
@@ -110,6 +162,13 @@
)
(i32.const 1)
)
+ ;; CHECK: (func $1 (result i64)
+ ;; CHECK-NEXT: (i32.atomic.store16
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i64.const 0)
+ ;; CHECK-NEXT: )
(func $1 (result i64)
(drop
(call $0)
@@ -119,16 +178,31 @@
)
;; potential infinite recursion
(module
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (func $main
+ ;; CHECK-NEXT: (call $one)
+ ;; CHECK-NEXT: (call $one)
+ ;; CHECK-NEXT: )
(func $main
(call $one)
(call $one)
)
+ ;; CHECK: (func $one
+ ;; CHECK-NEXT: (call $one)
+ ;; CHECK-NEXT: )
(func $one
(call $one)
)
)
;; potential infinite cycling recursion
(module
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (func $main
+ ;; CHECK-NEXT: (call $two)
+ ;; CHECK-NEXT: (call $two)
+ ;; CHECK-NEXT: )
(func $main
(call $one)
(call $one)
@@ -136,16 +210,24 @@
(func $one
(call $two)
)
+ ;; CHECK: (func $two
+ ;; CHECK-NEXT: (call $two)
+ ;; CHECK-NEXT: )
(func $two
(call $one)
)
)
;; make sure to dce, as we may be combining unreachable code with others
(module
+ ;; CHECK: (type $0 (func))
(type $0 (func))
(type $1 (func (param i32 i32) (result i32)))
(table 89 89 funcref)
+ ;; CHECK: (memory $0 17)
(memory $0 17)
+ ;; CHECK: (table $0 89 89 funcref)
+
+ ;; CHECK: (start $1)
(start $1)
(func $0 (; 0 ;) (type $1) (param $0 i32) (param $1 i32) (result i32)
(i32.store
@@ -169,6 +251,23 @@
)
(unreachable)
)
+ ;; CHECK: (func $1
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 56)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i64.store
+ ;; CHECK-NEXT: (i32.const 49)
+ ;; CHECK-NEXT: (i64.load
+ ;; CHECK-NEXT: (i32.const 24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: )
(func $1 (; 1 ;) (type $0)
(drop
(call $0
diff --git a/test/lit/passes/inlining-optimizing_optimize-level=3.wast b/test/lit/passes/inlining-optimizing_optimize-level=3.wast
new file mode 100644
index 000000000..9d0ba919b
--- /dev/null
+++ b/test/lit/passes/inlining-optimizing_optimize-level=3.wast
@@ -0,0 +1,31050 @@
+;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
+;; NOTE: This test was ported using port_test.py and could be cleaned up.
+
+;; RUN: foreach %s %t wasm-opt --inlining-optimizing --optimize-level=3 -S -o - | filecheck %s
+
+;; similar to test/emcc_hello_world.fromasm.clamp ;;
+(module
+ ;; CHECK: (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
+ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
+ ;; CHECK: (type $FUNCSIG$vi (func (param i32)))
+
+ ;; CHECK: (type $FUNCSIG$ii (func (param i32) (result i32)))
+ (type $FUNCSIG$ii (func (param i32) (result i32)))
+ (type $FUNCSIG$vi (func (param i32)))
+ ;; CHECK: (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
+
+ ;; CHECK: (type $FUNCSIG$i (func (result i32)))
+
+ ;; CHECK: (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32)))
+
+ ;; CHECK: (type $FUNCSIG$vii (func (param i32 i32)))
+
+ ;; CHECK: (type $FUNCSIG$v (func))
+ (type $FUNCSIG$v (func))
+ (type $FUNCSIG$i (func (result i32)))
+ (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
+ (type $FUNCSIG$vii (func (param i32 i32)))
+ ;; CHECK: (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32)))
+
+ ;; CHECK: (type $f64_i32_=>_f64 (func (param f64 i32) (result f64)))
+
+ ;; CHECK: (type $i32_i32_i32_=>_none (func (param i32 i32 i32)))
+
+ ;; CHECK: (type $i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32)))
+
+ ;; CHECK: (import "env" "memory" (memory $0 256 256))
+ (import "env" "STACKTOP" (global $STACKTOP$asm2wasm$import i32))
+ ;; CHECK: (data (i32.const 1024) "emcc_hello_world.asm.js")
+
+ ;; CHECK: (import "env" "table" (table $timport$0 18 18 funcref))
+ (import "env" "STACK_MAX" (global $STACK_MAX$asm2wasm$import i32))
+ ;; CHECK: (import "env" "STACKTOP" (global $STACKTOP$asm2wasm$import i32))
+ (import "env" "tempDoublePtr" (global $tempDoublePtr$asm2wasm$import i32))
+ ;; CHECK: (import "env" "STACK_MAX" (global $STACK_MAX$asm2wasm$import i32))
+ (import "env" "abort" (func $abort))
+ ;; CHECK: (import "env" "tempDoublePtr" (global $tempDoublePtr$asm2wasm$import i32))
+ (import "env" "nullFunc_ii" (func $nullFunc_ii (param i32)))
+ ;; CHECK: (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "nullFunc_iiii" (func $nullFunc_iiii (param i32)))
+ ;; CHECK: (import "env" "tableBase" (global $tableBase i32))
+ (import "env" "nullFunc_vi" (func $nullFunc_vi (param i32)))
+ ;; CHECK: (import "env" "abort" (func $abort))
+ (import "env" "_pthread_cleanup_pop" (func $_pthread_cleanup_pop (param i32)))
+ ;; CHECK: (import "env" "nullFunc_ii" (func $nullFunc_ii (param i32)))
+ (import "env" "___lock" (func $___lock (param i32)))
+ ;; CHECK: (import "env" "nullFunc_iiii" (func $nullFunc_iiii (param i32)))
+ (import "env" "_pthread_self" (func $_pthread_self (result i32)))
+ ;; CHECK: (import "env" "nullFunc_vi" (func $nullFunc_vi (param i32)))
+ (import "env" "_abort" (func $_abort))
+ ;; CHECK: (import "env" "_pthread_cleanup_pop" (func $_pthread_cleanup_pop (param i32)))
+ (import "env" "___syscall6" (func $___syscall6 (param i32 i32) (result i32)))
+ ;; CHECK: (import "env" "___lock" (func $___lock (param i32)))
+ (import "env" "_sbrk" (func $_sbrk (param i32) (result i32)))
+ ;; CHECK: (import "env" "_pthread_self" (func $_pthread_self (result i32)))
+ (import "env" "_time" (func $_time (param i32) (result i32)))
+ ;; CHECK: (import "env" "_abort" (func $_abort))
+ (import "env" "_emscripten_memcpy_big" (func $_emscripten_memcpy_big (param i32 i32 i32) (result i32)))
+ ;; CHECK: (import "env" "___syscall6" (func $___syscall6 (param i32 i32) (result i32)))
+ (import "env" "___syscall54" (func $___syscall54 (param i32 i32) (result i32)))
+ ;; CHECK: (import "env" "_sbrk" (func $_sbrk (param i32) (result i32)))
+ (import "env" "___unlock" (func $___unlock (param i32)))
+ ;; CHECK: (import "env" "_time" (func $_time (param i32) (result i32)))
+ (import "env" "___syscall140" (func $___syscall140 (param i32 i32) (result i32)))
+ ;; CHECK: (import "env" "_emscripten_memcpy_big" (func $_emscripten_memcpy_big (param i32 i32 i32) (result i32)))
+ (import "env" "_pthread_cleanup_push" (func $_pthread_cleanup_push (param i32 i32)))
+ ;; CHECK: (import "env" "___syscall54" (func $___syscall54 (param i32 i32) (result i32)))
+ (import "env" "_sysconf" (func $_sysconf (param i32) (result i32)))
+ ;; CHECK: (import "env" "___unlock" (func $___unlock (param i32)))
+ (import "env" "___syscall146" (func $___syscall146 (param i32 i32) (result i32)))
+ ;; CHECK: (import "env" "___syscall140" (func $___syscall140 (param i32 i32) (result i32)))
+ (import "env" "memory" (memory $0 256 256))
+ ;; CHECK: (import "env" "_pthread_cleanup_push" (func $_pthread_cleanup_push (param i32 i32)))
+ (import "env" "table" (table 18 18 funcref))
+ ;; CHECK: (import "env" "_sysconf" (func $_sysconf (param i32) (result i32)))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ ;; CHECK: (import "env" "___syscall146" (func $___syscall146 (param i32 i32) (result i32)))
+ (import "env" "tableBase" (global $tableBase i32))
+ ;; CHECK: (global $STACKTOP (mut i32) (global.get $STACKTOP$asm2wasm$import))
+ (global $STACKTOP (mut i32) (global.get $STACKTOP$asm2wasm$import))
+ ;; CHECK: (global $STACK_MAX (mut i32) (global.get $STACK_MAX$asm2wasm$import))
+ (global $STACK_MAX (mut i32) (global.get $STACK_MAX$asm2wasm$import))
+ ;; CHECK: (global $tempDoublePtr (mut i32) (global.get $tempDoublePtr$asm2wasm$import))
+ (global $tempDoublePtr (mut i32) (global.get $tempDoublePtr$asm2wasm$import))
+ ;; CHECK: (global $__THREW__ (mut i32) (i32.const 0))
+ (global $__THREW__ (mut i32) (i32.const 0))
+ ;; CHECK: (global $threwValue (mut i32) (i32.const 0))
+ (global $threwValue (mut i32) (i32.const 0))
+ ;; CHECK: (global $tempRet0 (mut i32) (i32.const 0))
+ (global $tempRet0 (mut i32) (i32.const 0))
+ (elem (global.get $tableBase) $b0 $___stdio_close $b1 $b1 $___stdout_write $___stdio_seek $___stdio_write $b1 $b1 $b1 $b2 $b2 $b2 $b2 $b2 $_cleanup $b2 $b2)
+ (data (i32.const 1024) "emcc_hello_world.asm.js")
+ ;; CHECK: (elem (global.get $tableBase) $b0 $___stdio_close $b1 $b1 $___stdout_write $___stdio_seek $___stdio_write $b1 $b1 $b1 $b2 $b2 $b2 $b2 $b2 $_cleanup $b2 $b2)
+
+ ;; CHECK: (export "_i64Subtract" (func $_i64Subtract))
+ (export "_i64Subtract" (func $_i64Subtract))
+ ;; CHECK: (export "_free" (func $_free))
+ (export "_free" (func $_free))
+ ;; CHECK: (export "_main" (func $_main))
+ (export "_main" (func $_main))
+ ;; CHECK: (export "_i64Add" (func $_i64Add))
+ (export "_i64Add" (func $_i64Add))
+ ;; CHECK: (export "_memset" (func $_memset))
+ (export "_memset" (func $_memset))
+ ;; CHECK: (export "_malloc" (func $_malloc))
+ (export "_malloc" (func $_malloc))
+ ;; CHECK: (export "_memcpy" (func $_memcpy))
+ (export "_memcpy" (func $_memcpy))
+ ;; CHECK: (export "_bitshift64Lshr" (func $_bitshift64Lshr))
+ (export "_bitshift64Lshr" (func $_bitshift64Lshr))
+ ;; CHECK: (export "_fflush" (func $_fflush))
+ (export "_fflush" (func $_fflush))
+ ;; CHECK: (export "___errno_location" (func $___errno_location))
+ (export "___errno_location" (func $___errno_location))
+ ;; CHECK: (export "_bitshift64Shl" (func $_bitshift64Shl))
+ (export "_bitshift64Shl" (func $_bitshift64Shl))
+ ;; CHECK: (export "runPostSets" (func $runPostSets))
+ (export "runPostSets" (func $runPostSets))
+ ;; CHECK: (export "stackAlloc" (func $stackAlloc))
+ (export "stackAlloc" (func $stackAlloc))
+ ;; CHECK: (export "stackSave" (func $stackSave))
+ (export "stackSave" (func $stackSave))
+ ;; CHECK: (export "stackRestore" (func $stackRestore))
+ (export "stackRestore" (func $stackRestore))
+ ;; CHECK: (export "establishStackSpace" (func $establishStackSpace))
+ (export "establishStackSpace" (func $establishStackSpace))
+ ;; CHECK: (export "setThrew" (func $setThrew))
+ (export "setThrew" (func $setThrew))
+ ;; CHECK: (export "setTempRet0" (func $setTempRet0))
+ (export "setTempRet0" (func $setTempRet0))
+ ;; CHECK: (export "getTempRet0" (func $getTempRet0))
+ (export "getTempRet0" (func $getTempRet0))
+ ;; CHECK: (export "dynCall_ii" (func $dynCall_ii))
+ (export "dynCall_ii" (func $dynCall_ii))
+ ;; CHECK: (export "dynCall_iiii" (func $dynCall_iiii))
+ (export "dynCall_iiii" (func $dynCall_iiii))
+ ;; CHECK: (export "dynCall_vi" (func $dynCall_vi))
+ (export "dynCall_vi" (func $dynCall_vi))
+ ;; CHECK: (export "___udivmoddi4" (func $___udivmoddi4))
+ (export "___udivmoddi4" (func $___udivmoddi4))
+ ;; CHECK: (func $stackAlloc (param $0 i32) (result i32)
+ ;; CHECK-NEXT: (local $1 i32)
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (i32.const 15)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_s
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (global.get $STACK_MAX)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ (func $stackAlloc (param $0 i32) (result i32)
+ (local $1 i32)
+ (local.set $1
+ (global.get $STACKTOP)
+ )
+ (global.set $STACKTOP
+ (i32.add
+ (global.get $STACKTOP)
+ (local.get $0)
+ )
+ )
+ (global.set $STACKTOP
+ (i32.and
+ (i32.add
+ (global.get $STACKTOP)
+ (i32.const 15)
+ )
+ (i32.const -16)
+ )
+ )
+ (if
+ (i32.ge_s
+ (global.get $STACKTOP)
+ (global.get $STACK_MAX)
+ )
+ (call $abort)
+ )
+ (local.get $1)
+ )
+ ;; CHECK: (func $stackSave (result i32)
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: )
+ (func $stackSave (result i32)
+ (global.get $STACKTOP)
+ )
+ ;; CHECK: (func $stackRestore (param $0 i32)
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $stackRestore (param $0 i32)
+ (global.set $STACKTOP
+ (local.get $0)
+ )
+ )
+ ;; CHECK: (func $establishStackSpace (param $0 i32) (param $1 i32)
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACK_MAX
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $establishStackSpace (param $0 i32) (param $1 i32)
+ (global.set $STACKTOP
+ (local.get $0)
+ )
+ (global.set $STACK_MAX
+ (local.get $1)
+ )
+ )
+ ;; CHECK: (func $setThrew (param $0 i32) (param $1 i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (global.get $__THREW__)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block
+ ;; CHECK-NEXT: (global.set $__THREW__
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $threwValue
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $setThrew (param $0 i32) (param $1 i32)
+ (if
+ (i32.eqz
+ (global.get $__THREW__)
+ )
+ (block
+ (global.set $__THREW__
+ (local.get $0)
+ )
+ (global.set $threwValue
+ (local.get $1)
+ )
+ )
+ )
+ )
+ ;; CHECK: (func $setTempRet0 (param $0 i32)
+ ;; CHECK-NEXT: (global.set $tempRet0
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $setTempRet0 (param $0 i32)
+ (global.set $tempRet0
+ (local.get $0)
+ )
+ )
+ ;; CHECK: (func $getTempRet0 (result i32)
+ ;; CHECK-NEXT: (global.get $tempRet0)
+ ;; CHECK-NEXT: )
+ (func $getTempRet0 (result i32)
+ (global.get $tempRet0)
+ )
+ ;; CHECK: (func $_main (result i32)
+ ;; CHECK-NEXT: (local $0 i32)
+ ;; CHECK-NEXT: (local $1 i32)
+ ;; CHECK-NEXT: (local $2 i32)
+ ;; CHECK-NEXT: (local $3 i32)
+ ;; CHECK-NEXT: (local $4 i32)
+ ;; CHECK-NEXT: (local $5 i32)
+ ;; CHECK-NEXT: (local $6 i32)
+ ;; CHECK-NEXT: (local $7 i32)
+ ;; CHECK-NEXT: (local $8 i32)
+ ;; CHECK-NEXT: (local $9 i32)
+ ;; CHECK-NEXT: (local $10 i32)
+ ;; CHECK-NEXT: (local $11 i32)
+ ;; CHECK-NEXT: (local $12 i32)
+ ;; CHECK-NEXT: (local $13 i32)
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_s
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (global.get $STACK_MAX)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_s
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (global.get $STACK_MAX)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (i32.const 224)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_s
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (global.get $STACK_MAX)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 120)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 136)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 80)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 40)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $do-in
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $do-in
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (call $_printf_core
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.const 672)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (i32.load offset=76
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (i32.load8_s offset=74
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const -33)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $_printf_core
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 672)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $9
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 44)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $12
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 28)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $11
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 80)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $13
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 80)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (call $_printf_core
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 672)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call_indirect (type $FUNCSIG$iiii)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load offset=36
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ (func $_main (result i32)
+ (local $0 i32)
+ (local.set $0
+ (global.get $STACKTOP)
+ )
+ (global.set $STACKTOP
+ (i32.add
+ (global.get $STACKTOP)
+ (i32.const 16)
+ )
+ )
+ (if
+ (i32.ge_s
+ (global.get $STACKTOP)
+ (global.get $STACK_MAX)
+ )
+ (call $abort)
+ )
+ (drop
+ (call $_printf
+ (i32.const 672)
+ (local.get $0)
+ )
+ )
+ (global.set $STACKTOP
+ (local.get $0)
+ )
+ (i32.const 0)
+ )
+ ;; CHECK: (func $_frexp (param $0 f64) (param $1 i32) (result f64)
+ ;; CHECK-NEXT: (local $2 i32)
+ ;; CHECK-NEXT: (local $3 i32)
+ ;; CHECK-NEXT: (local $4 i32)
+ ;; CHECK-NEXT: (f64.store
+ ;; CHECK-NEXT: (global.get $tempDoublePtr)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $switch
+ ;; CHECK-NEXT: (block $switch-default
+ ;; CHECK-NEXT: (block $switch-case0
+ ;; CHECK-NEXT: (block $switch-case
+ ;; CHECK-NEXT: (br_table $switch-case $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case0 $switch-default
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (call $_bitshift64Lshr
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (global.get $tempDoublePtr)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (global.get $tempDoublePtr)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 52)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2047)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (f64.ne
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (f64.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block (result i32)
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (call $_frexp
+ ;; CHECK-NEXT: (f64.mul
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (f64.const 18446744073709551615)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -64)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $switch)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $switch)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const -1022)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (global.get $tempDoublePtr)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (global.get $tempDoublePtr)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const -2146435073)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1071644672)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (f64.load
+ ;; CHECK-NEXT: (global.get $tempDoublePtr)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ (func $_frexp (param $0 f64) (param $1 i32) (result f64)
+ (local $2 i32)
+ (local $3 i32)
+ (local $4 i32)
+ (f64.store
+ (global.get $tempDoublePtr)
+ (local.get $0)
+ )
+ (block $switch
+ (block $switch-default
+ (block $switch-case0
+ (block $switch-case
+ (br_table $switch-case $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case0 $switch-default
+ (local.tee $3
+ (i32.and
+ (local.tee $3
+ (call $_bitshift64Lshr
+ (local.tee $2
+ (i32.load
+ (global.get $tempDoublePtr)
+ )
+ )
+ (local.tee $4
+ (i32.load offset=4
+ (global.get $tempDoublePtr)
+ )
+ )
+ (i32.const 52)
+ )
+ )
+ (i32.const 2047)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $1)
+ (local.tee $2
+ (if (result i32)
+ (f64.ne
+ (local.get $0)
+ (f64.const 0)
+ )
+ (block (result i32)
+ (local.set $0
+ (call $_frexp
+ (f64.mul
+ (local.get $0)
+ (f64.const 18446744073709551615)
+ )
+ (local.get $1)
+ )
+ )
+ (i32.add
+ (i32.load
+ (local.get $1)
+ )
+ (i32.const -64)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (br $switch)
+ )
+ (br $switch)
+ )
+ (i32.store
+ (local.get $1)
+ (i32.add
+ (local.get $3)
+ (i32.const -1022)
+ )
+ )
+ (i32.store
+ (global.get $tempDoublePtr)
+ (local.get $2)
+ )
+ (i32.store offset=4
+ (global.get $tempDoublePtr)
+ (i32.or
+ (i32.and
+ (local.get $4)
+ (i32.const -2146435073)
+ )
+ (i32.const 1071644672)
+ )
+ )
+ (local.set $0
+ (f64.load
+ (global.get $tempDoublePtr)
+ )
+ )
+ )
+ (local.get $0)
+ )
+ (func $_strerror (param $0 i32) (result i32)
+ (local $1 i32)
+ (local $2 i32)
+ (local.set $1
+ (i32.const 0)
+ )
+ (block $__rjto$1
+ (block $__rjti$1
+ (block $__rjti$0
+ (loop $while-in
+ (br_if $__rjti$0
+ (i32.eq
+ (i32.load8_u offset=687
+ (local.get $1)
+ )
+ (local.get $0)
+ )
+ )
+ (br_if $while-in
+ (i32.ne
+ (local.tee $1
+ (i32.add
+ (local.get $1)
+ (i32.const 1)
+ )
+ )
+ (i32.const 87)
+ )
+ )
+ (local.set $1
+ (i32.const 87)
+ )
+ (br $__rjti$1)
+ )
+ )
+ (br_if $__rjti$1
+ (local.get $1)
+ )
+ (local.set $0
+ (i32.const 775)
+ )
+ (br $__rjto$1)
+ )
+ (local.set $0
+ (i32.const 775)
+ )
+ (loop $while-in1
+ (loop $while-in3
+ (local.set $2
+ (i32.add
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ (if
+ (i32.load8_s
+ (local.get $0)
+ )
+ (block
+ (local.set $0
+ (local.get $2)
+ )
+ (br $while-in3)
+ )
+ (local.set $0
+ (local.get $2)
+ )
+ )
+ )
+ (br_if $while-in1
+ (local.tee $1
+ (i32.add
+ (local.get $1)
+ (i32.const -1)
+ )
+ )
+ )
+ )
+ )
+ (local.get $0)
+ )
+ ;; CHECK: (func $___errno_location (result i32)
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load offset=60
+ ;; CHECK-NEXT: (call $_pthread_self)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 60)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $___errno_location (result i32)
+ (if (result i32)
+ (i32.load
+ (i32.const 16)
+ )
+ (i32.load offset=60
+ (call $_pthread_self)
+ )
+ (i32.const 60)
+ )
+ )
+ ;; CHECK: (func $___stdio_close (param $0 i32) (result i32)
+ ;; CHECK-NEXT: (local $1 i32)
+ ;; CHECK-NEXT: (local $2 i32)
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_s
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (global.get $STACK_MAX)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load offset=60
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (call $___syscall_ret
+ ;; CHECK-NEXT: (call $___syscall6
+ ;; CHECK-NEXT: (i32.const 6)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ (func $___stdio_close (param $0 i32) (result i32)
+ (local $1 i32)
+ (local $2 i32)
+ (local.set $1
+ (global.get $STACKTOP)
+ )
+ (global.set $STACKTOP
+ (i32.add
+ (global.get $STACKTOP)
+ (i32.const 16)
+ )
+ )
+ (if
+ (i32.ge_s
+ (global.get $STACKTOP)
+ (global.get $STACK_MAX)
+ )
+ (call $abort)
+ )
+ (i32.store
+ (local.tee $2
+ (local.get $1)
+ )
+ (i32.load offset=60
+ (local.get $0)
+ )
+ )
+ (local.set $0
+ (call $___syscall_ret
+ (call $___syscall6
+ (i32.const 6)
+ (local.get $2)
+ )
+ )
+ )
+ (global.set $STACKTOP
+ (local.get $1)
+ )
+ (local.get $0)
+ )
+ ;; CHECK: (func $___stdout_write (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ ;; CHECK-NEXT: (local $3 i32)
+ ;; CHECK-NEXT: (local $4 i32)
+ ;; CHECK-NEXT: (local $5 i32)
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (i32.const 80)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_s
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (global.get $STACK_MAX)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=36
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 64)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.load offset=60
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 21505)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (call $___syscall54
+ ;; CHECK-NEXT: (i32.const 54)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store8 offset=75
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (call $___stdio_write
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ (func $___stdout_write (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local.set $4
+ (global.get $STACKTOP)
+ )
+ (global.set $STACKTOP
+ (i32.add
+ (global.get $STACKTOP)
+ (i32.const 80)
+ )
+ )
+ (if
+ (i32.ge_s
+ (global.get $STACKTOP)
+ (global.get $STACK_MAX)
+ )
+ (call $abort)
+ )
+ (local.set $3
+ (local.get $4)
+ )
+ (local.set $5
+ (i32.add
+ (local.get $4)
+ (i32.const 12)
+ )
+ )
+ (i32.store offset=36
+ (local.get $0)
+ (i32.const 4)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 64)
+ )
+ )
+ (block
+ (i32.store
+ (local.get $3)
+ (i32.load offset=60
+ (local.get $0)
+ )
+ )
+ (i32.store offset=4
+ (local.get $3)
+ (i32.const 21505)
+ )
+ (i32.store offset=8
+ (local.get $3)
+ (local.get $5)
+ )
+ (if
+ (call $___syscall54
+ (i32.const 54)
+ (local.get $3)
+ )
+ (i32.store8 offset=75
+ (local.get $0)
+ (i32.const -1)
+ )
+ )
+ )
+ )
+ (local.set $0
+ (call $___stdio_write
+ (local.get $0)
+ (local.get $1)
+ (local.get $2)
+ )
+ )
+ (global.set $STACKTOP
+ (local.get $4)
+ )
+ (local.get $0)
+ )
+ ;; CHECK: (func $___stdio_seek (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ ;; CHECK-NEXT: (local $3 i32)
+ ;; CHECK-NEXT: (local $4 i32)
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_s
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (global.get $STACK_MAX)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load offset=60
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=16
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (call $___syscall_ret
+ ;; CHECK-NEXT: (call $___syscall140
+ ;; CHECK-NEXT: (i32.const 140)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block (result i32)
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ (func $___stdio_seek (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local.set $4
+ (global.get $STACKTOP)
+ )
+ (global.set $STACKTOP
+ (i32.add
+ (global.get $STACKTOP)
+ (i32.const 32)
+ )
+ )
+ (if
+ (i32.ge_s
+ (global.get $STACKTOP)
+ (global.get $STACK_MAX)
+ )
+ (call $abort)
+ )
+ (i32.store
+ (local.tee $3
+ (local.get $4)
+ )
+ (i32.load offset=60
+ (local.get $0)
+ )
+ )
+ (i32.store offset=4
+ (local.get $3)
+ (i32.const 0)
+ )
+ (i32.store offset=8
+ (local.get $3)
+ (local.get $1)
+ )
+ (i32.store offset=12
+ (local.get $3)
+ (local.tee $0
+ (i32.add
+ (local.get $4)
+ (i32.const 20)
+ )
+ )
+ )
+ (i32.store offset=16
+ (local.get $3)
+ (local.get $2)
+ )
+ (local.set $0
+ (if (result i32)
+ (i32.lt_s
+ (call $___syscall_ret
+ (call $___syscall140
+ (i32.const 140)
+ (local.get $3)
+ )
+ )
+ (i32.const 0)
+ )
+ (block (result i32)
+ (i32.store
+ (local.get $0)
+ (i32.const -1)
+ )
+ (i32.const -1)
+ )
+ (i32.load
+ (local.get $0)
+ )
+ )
+ )
+ (global.set $STACKTOP
+ (local.get $4)
+ )
+ (local.get $0)
+ )
+ ;; CHECK: (func $_fflush (param $0 i32) (result i32)
+ ;; CHECK-NEXT: (local $1 i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (block $do-once (result i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.le_s
+ ;; CHECK-NEXT: (i32.load offset=76
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once
+ ;; CHECK-NEXT: (call $___fflush_unlocked
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (call $___fflush_unlocked
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_fflush
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $___lock
+ ;; CHECK-NEXT: (i32.const 44)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 40)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (i32.load offset=76
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (i32.load offset=20
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load offset=28
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (call $___fflush_unlocked
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load offset=56
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $___unlock
+ ;; CHECK-NEXT: (i32.const 44)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ (func $_fflush (param $0 i32) (result i32)
+ (local $1 i32)
+ (local $2 i32)
+ (block $do-once
+ (if
+ (local.get $0)
+ (block
+ (if
+ (i32.le_s
+ (i32.load offset=76
+ (local.get $0)
+ )
+ (i32.const -1)
+ )
+ (block
+ (local.set $0
+ (call $___fflush_unlocked
+ (local.get $0)
+ )
+ )
+ (br $do-once)
+ )
+ )
+ (local.set $2
+ (i32.eqz
+ (call $___lockfile
+ (local.get $0)
+ )
+ )
+ )
+ (local.set $1
+ (call $___fflush_unlocked
+ (local.get $0)
+ )
+ )
+ (local.set $0
+ (if (result i32)
+ (local.get $2)
+ (local.get $1)
+ (block (result i32)
+ (call $___unlockfile
+ (local.get $0)
+ )
+ (local.get $1)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $0
+ (if (result i32)
+ (i32.load
+ (i32.const 12)
+ )
+ (call $_fflush
+ (i32.load
+ (i32.const 12)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (call $___lock
+ (i32.const 44)
+ )
+ (if
+ (local.tee $1
+ (i32.load
+ (i32.const 40)
+ )
+ )
+ (loop $while-in
+ (local.set $2
+ (if (result i32)
+ (i32.gt_s
+ (i32.load offset=76
+ (local.get $1)
+ )
+ (i32.const -1)
+ )
+ (call $___lockfile
+ (local.get $1)
+ )
+ (i32.const 0)
+ )
+ )
+ (if
+ (i32.gt_u
+ (i32.load offset=20
+ (local.get $1)
+ )
+ (i32.load offset=28
+ (local.get $1)
+ )
+ )
+ (local.set $0
+ (i32.or
+ (call $___fflush_unlocked
+ (local.get $1)
+ )
+ (local.get $0)
+ )
+ )
+ )
+ (if
+ (local.get $2)
+ (call $___unlockfile
+ (local.get $1)
+ )
+ )
+ (br_if $while-in
+ (local.tee $1
+ (i32.load offset=56
+ (local.get $1)
+ )
+ )
+ )
+ )
+ )
+ (call $___unlock
+ (i32.const 44)
+ )
+ )
+ )
+ )
+ (local.get $0)
+ )
+ (func $_printf (param $0 i32) (param $1 i32) (result i32)
+ (local $2 i32)
+ (local $3 i32)
+ (local.set $2
+ (global.get $STACKTOP)
+ )
+ (global.set $STACKTOP
+ (i32.add
+ (global.get $STACKTOP)
+ (i32.const 16)
+ )
+ )
+ (if
+ (i32.ge_s
+ (global.get $STACKTOP)
+ (global.get $STACK_MAX)
+ )
+ (call $abort)
+ )
+ (i32.store
+ (local.tee $3
+ (local.get $2)
+ )
+ (local.get $1)
+ )
+ (local.set $0
+ (call $_vfprintf
+ (i32.load
+ (i32.const 8)
+ )
+ (local.get $0)
+ (local.get $3)
+ )
+ )
+ (global.set $STACKTOP
+ (local.get $2)
+ )
+ (local.get $0)
+ )
+ (func $___lockfile (param $0 i32) (result i32)
+ (i32.const 0)
+ )
+ (func $___unlockfile (param $0 i32)
+ (nop)
+ )
+ ;; CHECK: (func $___stdio_write (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ ;; CHECK-NEXT: (local $3 i32)
+ ;; CHECK-NEXT: (local $4 i32)
+ ;; CHECK-NEXT: (local $5 i32)
+ ;; CHECK-NEXT: (local $6 i32)
+ ;; CHECK-NEXT: (local $7 i32)
+ ;; CHECK-NEXT: (local $8 i32)
+ ;; CHECK-NEXT: (local $9 i32)
+ ;; CHECK-NEXT: (local $10 i32)
+ ;; CHECK-NEXT: (local $11 i32)
+ ;; CHECK-NEXT: (local $12 i32)
+ ;; CHECK-NEXT: (local $13 i32)
+ ;; CHECK-NEXT: (local $14 i32)
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_s
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (global.get $STACK_MAX)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 28)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $11
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $13
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 60)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $14
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 44)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $__rjto$1
+ ;; CHECK-NEXT: (block $__rjti$1
+ ;; CHECK-NEXT: (block $__rjti$0
+ ;; CHECK-NEXT: (loop $while-in
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block
+ ;; CHECK-NEXT: (call $_pthread_cleanup_push
+ ;; CHECK-NEXT: (i32.const 5)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (call $___syscall_ret
+ ;; CHECK-NEXT: (call $___syscall146
+ ;; CHECK-NEXT: (i32.const 146)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_pthread_cleanup_pop
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block14
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (call $___syscall_ret
+ ;; CHECK-NEXT: (call $___syscall146
+ ;; CHECK-NEXT: (i32.const 146)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $__rjti$0
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $__rjti$1
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block16 (result i32)
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.load offset=12
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block17 (result i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block19
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=16
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load offset=48
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjto$1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=16
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ (func $___stdio_write (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local $6 i32)
+ (local $7 i32)
+ (local $8 i32)
+ (local $9 i32)
+ (local $10 i32)
+ (local $11 i32)
+ (local $12 i32)
+ (local $13 i32)
+ (local $14 i32)
+ (local.set $8
+ (global.get $STACKTOP)
+ )
+ (global.set $STACKTOP
+ (i32.add
+ (global.get $STACKTOP)
+ (i32.const 48)
+ )
+ )
+ (if
+ (i32.ge_s
+ (global.get $STACKTOP)
+ (global.get $STACK_MAX)
+ )
+ (call $abort)
+ )
+ (local.set $9
+ (i32.add
+ (local.get $8)
+ (i32.const 16)
+ )
+ )
+ (local.set $10
+ (local.get $8)
+ )
+ (i32.store
+ (local.tee $4
+ (i32.add
+ (local.get $8)
+ (i32.const 32)
+ )
+ )
+ (local.tee $3
+ (i32.load
+ (local.tee $6
+ (i32.add
+ (local.get $0)
+ (i32.const 28)
+ )
+ )
+ )
+ )
+ )
+ (i32.store offset=4
+ (local.get $4)
+ (local.tee $3
+ (i32.sub
+ (i32.load
+ (local.tee $11
+ (i32.add
+ (local.get $0)
+ (i32.const 20)
+ )
+ )
+ )
+ (local.get $3)
+ )
+ )
+ )
+ (i32.store offset=8
+ (local.get $4)
+ (local.get $1)
+ )
+ (i32.store offset=12
+ (local.get $4)
+ (local.get $2)
+ )
+ (local.set $13
+ (i32.add
+ (local.get $0)
+ (i32.const 60)
+ )
+ )
+ (local.set $14
+ (i32.add
+ (local.get $0)
+ (i32.const 44)
+ )
+ )
+ (local.set $1
+ (local.get $4)
+ )
+ (local.set $4
+ (i32.const 2)
+ )
+ (local.set $12
+ (i32.add
+ (local.get $3)
+ (local.get $2)
+ )
+ )
+ (block $__rjto$1
+ (block $__rjti$1
+ (block $__rjti$0
+ (loop $while-in
+ (if
+ (i32.load
+ (i32.const 16)
+ )
+ (block
+ (call $_pthread_cleanup_push
+ (i32.const 5)
+ (local.get $0)
+ )
+ (i32.store
+ (local.get $10)
+ (i32.load
+ (local.get $13)
+ )
+ )
+ (i32.store offset=4
+ (local.get $10)
+ (local.get $1)
+ )
+ (i32.store offset=8
+ (local.get $10)
+ (local.get $4)
+ )
+ (local.set $3
+ (call $___syscall_ret
+ (call $___syscall146
+ (i32.const 146)
+ (local.get $10)
+ )
+ )
+ )
+ (call $_pthread_cleanup_pop
+ (i32.const 0)
+ )
+ )
+ (block
+ (i32.store
+ (local.get $9)
+ (i32.load
+ (local.get $13)
+ )
+ )
+ (i32.store offset=4
+ (local.get $9)
+ (local.get $1)
+ )
+ (i32.store offset=8
+ (local.get $9)
+ (local.get $4)
+ )
+ (local.set $3
+ (call $___syscall_ret
+ (call $___syscall146
+ (i32.const 146)
+ (local.get $9)
+ )
+ )
+ )
+ )
+ )
+ (br_if $__rjti$0
+ (i32.eq
+ (local.get $12)
+ (local.get $3)
+ )
+ )
+ (br_if $__rjti$1
+ (i32.lt_s
+ (local.get $3)
+ (i32.const 0)
+ )
+ )
+ (local.set $5
+ (if (result i32)
+ (i32.gt_u
+ (local.get $3)
+ (local.tee $5
+ (i32.load offset=4
+ (local.get $1)
+ )
+ )
+ )
+ (block (result i32)
+ (i32.store
+ (local.get $6)
+ (local.tee $7
+ (i32.load
+ (local.get $14)
+ )
+ )
+ )
+ (i32.store
+ (local.get $11)
+ (local.get $7)
+ )
+ (local.set $7
+ (i32.load offset=12
+ (local.get $1)
+ )
+ )
+ (local.set $1
+ (i32.add
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ (local.set $4
+ (i32.add
+ (local.get $4)
+ (i32.const -1)
+ )
+ )
+ (i32.sub
+ (local.get $3)
+ (local.get $5)
+ )
+ )
+ (block (result i32)
+ (if
+ (i32.eq
+ (local.get $4)
+ (i32.const 2)
+ )
+ (block
+ (i32.store
+ (local.get $6)
+ (i32.add
+ (i32.load
+ (local.get $6)
+ )
+ (local.get $3)
+ )
+ )
+ (local.set $7
+ (local.get $5)
+ )
+ (local.set $4
+ (i32.const 2)
+ )
+ )
+ (local.set $7
+ (local.get $5)
+ )
+ )
+ (local.get $3)
+ )
+ )
+ )
+ (i32.store
+ (local.get $1)
+ (i32.add
+ (i32.load
+ (local.get $1)
+ )
+ (local.get $5)
+ )
+ )
+ (i32.store offset=4
+ (local.get $1)
+ (i32.sub
+ (local.get $7)
+ (local.get $5)
+ )
+ )
+ (local.set $12
+ (i32.sub
+ (local.get $12)
+ (local.get $3)
+ )
+ )
+ (br $while-in)
+ )
+ )
+ (i32.store offset=16
+ (local.get $0)
+ (i32.add
+ (local.tee $1
+ (i32.load
+ (local.get $14)
+ )
+ )
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ )
+ (i32.store
+ (local.get $6)
+ (local.get $1)
+ )
+ (i32.store
+ (local.get $11)
+ (local.get $1)
+ )
+ (br $__rjto$1)
+ )
+ (i32.store offset=16
+ (local.get $0)
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $6)
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $11)
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $0)
+ (i32.or
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (local.set $2
+ (if (result i32)
+ (i32.eq
+ (local.get $4)
+ (i32.const 2)
+ )
+ (i32.const 0)
+ (i32.sub
+ (local.get $2)
+ (i32.load offset=4
+ (local.get $1)
+ )
+ )
+ )
+ )
+ )
+ (global.set $STACKTOP
+ (local.get $8)
+ )
+ (local.get $2)
+ )
+ (func $_vfprintf (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local $6 i32)
+ (local $7 i32)
+ (local $8 i32)
+ (local $9 i32)
+ (local $10 i32)
+ (local $11 i32)
+ (local $12 i32)
+ (local $13 i32)
+ (local $14 i32)
+ (local.set $4
+ (global.get $STACKTOP)
+ )
+ (global.set $STACKTOP
+ (i32.add
+ (global.get $STACKTOP)
+ (i32.const 224)
+ )
+ )
+ (if
+ (i32.ge_s
+ (global.get $STACKTOP)
+ (global.get $STACK_MAX)
+ )
+ (call $abort)
+ )
+ (local.set $5
+ (i32.add
+ (local.get $4)
+ (i32.const 120)
+ )
+ )
+ (local.set $7
+ (local.get $4)
+ )
+ (local.set $6
+ (i32.add
+ (local.get $4)
+ (i32.const 136)
+ )
+ )
+ (local.set $9
+ (i32.add
+ (local.tee $3
+ (local.tee $8
+ (i32.add
+ (local.get $4)
+ (i32.const 80)
+ )
+ )
+ )
+ (i32.const 40)
+ )
+ )
+ (loop $do-in
+ (i32.store
+ (local.get $3)
+ (i32.const 0)
+ )
+ (br_if $do-in
+ (i32.lt_s
+ (local.tee $3
+ (i32.add
+ (local.get $3)
+ (i32.const 4)
+ )
+ )
+ (local.get $9)
+ )
+ )
+ )
+ (i32.store
+ (local.get $5)
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (local.set $0
+ (if (result i32)
+ (i32.lt_s
+ (call $_printf_core
+ (i32.const 0)
+ (local.get $1)
+ (local.get $5)
+ (local.get $7)
+ (local.get $8)
+ )
+ (i32.const 0)
+ )
+ (i32.const -1)
+ (block (result i32)
+ (local.set $14
+ (if (result i32)
+ (i32.gt_s
+ (i32.load offset=76
+ (local.get $0)
+ )
+ (i32.const -1)
+ )
+ (call $___lockfile
+ (local.get $0)
+ )
+ (i32.const 0)
+ )
+ )
+ (local.set $10
+ (i32.load
+ (local.get $0)
+ )
+ )
+ (if
+ (i32.lt_s
+ (i32.load8_s offset=74
+ (local.get $0)
+ )
+ (i32.const 1)
+ )
+ (i32.store
+ (local.get $0)
+ (i32.and
+ (local.get $10)
+ (i32.const -33)
+ )
+ )
+ )
+ (if
+ (i32.load
+ (local.tee $11
+ (i32.add
+ (local.get $0)
+ (i32.const 48)
+ )
+ )
+ )
+ (local.set $1
+ (call $_printf_core
+ (local.get $0)
+ (local.get $1)
+ (local.get $5)
+ (local.get $7)
+ (local.get $8)
+ )
+ )
+ (block
+ (local.set $13
+ (i32.load
+ (local.tee $12
+ (i32.add
+ (local.get $0)
+ (i32.const 44)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $12)
+ (local.get $6)
+ )
+ (i32.store
+ (local.tee $9
+ (i32.add
+ (local.get $0)
+ (i32.const 28)
+ )
+ )
+ (local.get $6)
+ )
+ (i32.store
+ (local.tee $3
+ (i32.add
+ (local.get $0)
+ (i32.const 20)
+ )
+ )
+ (local.get $6)
+ )
+ (i32.store
+ (local.get $11)
+ (i32.const 80)
+ )
+ (i32.store
+ (local.tee $2
+ (i32.add
+ (local.get $0)
+ (i32.const 16)
+ )
+ )
+ (i32.add
+ (local.get $6)
+ (i32.const 80)
+ )
+ )
+ (local.set $1
+ (call $_printf_core
+ (local.get $0)
+ (local.get $1)
+ (local.get $5)
+ (local.get $7)
+ (local.get $8)
+ )
+ )
+ (if
+ (local.get $13)
+ (block
+ (drop
+ (call_indirect (type $FUNCSIG$iiii)
+ (local.get $0)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (local.get $0)
+ )
+ (i32.const 7)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ (local.set $1
+ (select
+ (local.get $1)
+ (i32.const -1)
+ (i32.load
+ (local.get $3)
+ )
+ )
+ )
+ (i32.store
+ (local.get $12)
+ (local.get $13)
+ )
+ (i32.store
+ (local.get $11)
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $2)
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $9)
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $3)
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $0)
+ (i32.or
+ (local.tee $2
+ (i32.load
+ (local.get $0)
+ )
+ )
+ (i32.and
+ (local.get $10)
+ (i32.const 32)
+ )
+ )
+ )
+ (if
+ (local.get $14)
+ (call $___unlockfile
+ (local.get $0)
+ )
+ )
+ (select
+ (i32.const -1)
+ (local.get $1)
+ (i32.and
+ (local.get $2)
+ (i32.const 32)
+ )
+ )
+ )
+ )
+ )
+ (global.set $STACKTOP
+ (local.get $4)
+ )
+ (local.get $0)
+ )
+ ;; CHECK: (func $___fwritex (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ ;; CHECK-NEXT: (local $3 i32)
+ ;; CHECK-NEXT: (local $4 i32)
+ ;; CHECK-NEXT: (local $5 i32)
+ ;; CHECK-NEXT: (local $6 i32)
+ ;; CHECK-NEXT: (block $label$break$L5
+ ;; CHECK-NEXT: (block $__rjti$0
+ ;; CHECK-NEXT: (br_if $__rjti$0
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 74)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 255)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=28
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load offset=44
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=20
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=16
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.load offset=48
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (call_indirect (type $FUNCSIG$iiii)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load offset=36
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (i32.load8_s offset=75
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $label$break$L10 (result i32)
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (br_if $label$break$L10
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $label$break$L5
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (call_indirect (type $FUNCSIG$iiii)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load offset=36
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $_memcpy
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ (func $___fwritex (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local $6 i32)
+ (block $label$break$L5
+ (block $__rjti$0
+ (br_if $__rjti$0
+ (local.tee $3
+ (i32.load
+ (local.tee $4
+ (i32.add
+ (local.get $2)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (call $___towrite
+ (local.get $2)
+ )
+ (local.set $3
+ (i32.const 0)
+ )
+ (block
+ (local.set $3
+ (i32.load
+ (local.get $4)
+ )
+ )
+ (br $__rjti$0)
+ )
+ )
+ (br $label$break$L5)
+ )
+ (if
+ (i32.lt_u
+ (i32.sub
+ (local.get $3)
+ (local.tee $4
+ (i32.load
+ (local.tee $5
+ (i32.add
+ (local.get $2)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ )
+ (local.get $1)
+ )
+ (block
+ (local.set $3
+ (call_indirect (type $FUNCSIG$iiii)
+ (local.get $2)
+ (local.get $0)
+ (local.get $1)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (local.get $2)
+ )
+ (i32.const 7)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ (br $label$break$L5)
+ )
+ )
+ (local.set $2
+ (block $label$break$L10 (result i32)
+ (if (result i32)
+ (i32.gt_s
+ (i32.load8_s offset=75
+ (local.get $2)
+ )
+ (i32.const -1)
+ )
+ (block (result i32)
+ (local.set $3
+ (local.get $1)
+ )
+ (loop $while-in
+ (drop
+ (br_if $label$break$L10
+ (i32.const 0)
+ (i32.eqz
+ (local.get $3)
+ )
+ )
+ )
+ (if
+ (i32.ne
+ (i32.load8_s
+ (i32.add
+ (local.get $0)
+ (local.tee $6
+ (i32.add
+ (local.get $3)
+ (i32.const -1)
+ )
+ )
+ )
+ )
+ (i32.const 10)
+ )
+ (block
+ (local.set $3
+ (local.get $6)
+ )
+ (br $while-in)
+ )
+ )
+ )
+ (br_if $label$break$L5
+ (i32.lt_u
+ (call_indirect (type $FUNCSIG$iiii)
+ (local.get $2)
+ (local.get $0)
+ (local.get $3)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (local.get $2)
+ )
+ (i32.const 7)
+ )
+ (i32.const 2)
+ )
+ )
+ (local.get $3)
+ )
+ )
+ (local.set $4
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (local.set $1
+ (i32.sub
+ (local.get $1)
+ (local.get $3)
+ )
+ )
+ (local.set $0
+ (i32.add
+ (local.get $0)
+ (local.get $3)
+ )
+ )
+ (local.get $3)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (drop
+ (call $_memcpy
+ (local.get $4)
+ (local.get $0)
+ (local.get $1)
+ )
+ )
+ (i32.store
+ (local.get $5)
+ (i32.add
+ (i32.load
+ (local.get $5)
+ )
+ (local.get $1)
+ )
+ )
+ (local.set $3
+ (i32.add
+ (local.get $2)
+ (local.get $1)
+ )
+ )
+ )
+ (local.get $3)
+ )
+ (func $___towrite (param $0 i32) (result i32)
+ (local $1 i32)
+ (local $2 i32)
+ (local.set $1
+ (i32.load8_s
+ (local.tee $2
+ (i32.add
+ (local.get $0)
+ (i32.const 74)
+ )
+ )
+ )
+ )
+ (i32.store8
+ (local.get $2)
+ (i32.or
+ (i32.add
+ (local.get $1)
+ (i32.const 255)
+ )
+ (local.get $1)
+ )
+ )
+ (local.tee $0
+ (if (result i32)
+ (i32.and
+ (local.tee $1
+ (i32.load
+ (local.get $0)
+ )
+ )
+ (i32.const 8)
+ )
+ (block (result i32)
+ (i32.store
+ (local.get $0)
+ (i32.or
+ (local.get $1)
+ (i32.const 32)
+ )
+ )
+ (i32.const -1)
+ )
+ (block (result i32)
+ (i32.store offset=8
+ (local.get $0)
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (local.get $0)
+ (i32.const 0)
+ )
+ (i32.store offset=28
+ (local.get $0)
+ (local.tee $1
+ (i32.load offset=44
+ (local.get $0)
+ )
+ )
+ )
+ (i32.store offset=20
+ (local.get $0)
+ (local.get $1)
+ )
+ (i32.store offset=16
+ (local.get $0)
+ (i32.add
+ (local.get $1)
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (func $_wcrtomb (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (block $do-once (result i32)
+ (if (result i32)
+ (local.get $0)
+ (block (result i32)
+ (if
+ (i32.lt_u
+ (local.get $1)
+ (i32.const 128)
+ )
+ (block
+ (i32.store8
+ (local.get $0)
+ (local.get $1)
+ )
+ (br $do-once
+ (i32.const 1)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $1)
+ (i32.const 2048)
+ )
+ (block
+ (i32.store8
+ (local.get $0)
+ (i32.or
+ (i32.shr_u
+ (local.get $1)
+ (i32.const 6)
+ )
+ (i32.const 192)
+ )
+ )
+ (i32.store8 offset=1
+ (local.get $0)
+ (i32.or
+ (i32.and
+ (local.get $1)
+ (i32.const 63)
+ )
+ (i32.const 128)
+ )
+ )
+ (br $do-once
+ (i32.const 2)
+ )
+ )
+ )
+ (if
+ (i32.or
+ (i32.lt_u
+ (local.get $1)
+ (i32.const 55296)
+ )
+ (i32.eq
+ (i32.and
+ (local.get $1)
+ (i32.const -8192)
+ )
+ (i32.const 57344)
+ )
+ )
+ (block
+ (i32.store8
+ (local.get $0)
+ (i32.or
+ (i32.shr_u
+ (local.get $1)
+ (i32.const 12)
+ )
+ (i32.const 224)
+ )
+ )
+ (i32.store8 offset=1
+ (local.get $0)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (local.get $1)
+ (i32.const 6)
+ )
+ (i32.const 63)
+ )
+ (i32.const 128)
+ )
+ )
+ (i32.store8 offset=2
+ (local.get $0)
+ (i32.or
+ (i32.and
+ (local.get $1)
+ (i32.const 63)
+ )
+ (i32.const 128)
+ )
+ )
+ (br $do-once
+ (i32.const 3)
+ )
+ )
+ )
+ (if (result i32)
+ (i32.lt_u
+ (i32.add
+ (local.get $1)
+ (i32.const -65536)
+ )
+ (i32.const 1048576)
+ )
+ (block (result i32)
+ (i32.store8
+ (local.get $0)
+ (i32.or
+ (i32.shr_u
+ (local.get $1)
+ (i32.const 18)
+ )
+ (i32.const 240)
+ )
+ )
+ (i32.store8 offset=1
+ (local.get $0)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (local.get $1)
+ (i32.const 12)
+ )
+ (i32.const 63)
+ )
+ (i32.const 128)
+ )
+ )
+ (i32.store8 offset=2
+ (local.get $0)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (local.get $1)
+ (i32.const 6)
+ )
+ (i32.const 63)
+ )
+ (i32.const 128)
+ )
+ )
+ (i32.store8 offset=3
+ (local.get $0)
+ (i32.or
+ (i32.and
+ (local.get $1)
+ (i32.const 63)
+ )
+ (i32.const 128)
+ )
+ )
+ (i32.const 4)
+ )
+ (block (result i32)
+ (i32.store
+ (call $___errno_location)
+ (i32.const 84)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ ;; CHECK: (func $_wctomb (param $0 i32) (param $1 i32) (result i32)
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (block $do-once (result i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 128)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 2048)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store8 offset=1
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 63)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 128)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const -8192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 57344)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 55296)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 224)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store8 offset=1
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 63)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 128)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store8 offset=2
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 63)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 128)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 65536)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1048576)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 18)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 240)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store8 offset=1
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 63)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 128)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store8 offset=2
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 63)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 128)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store8 offset=3
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 63)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 128)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (call $___errno_location)
+ ;; CHECK-NEXT: (i32.const 84)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $_wctomb (param $0 i32) (param $1 i32) (result i32)
+ (if (result i32)
+ (local.get $0)
+ (call $_wcrtomb
+ (local.get $0)
+ (local.get $1)
+ (i32.const 0)
+ )
+ (i32.const 0)
+ )
+ )
+ (func $_memchr (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local.set $5
+ (i32.and
+ (local.get $1)
+ (i32.const 255)
+ )
+ )
+ (block $label$break$L8
+ (block $__rjti$2
+ (if
+ (i32.and
+ (local.tee $4
+ (i32.ne
+ (local.get $2)
+ (i32.const 0)
+ )
+ )
+ (i32.ne
+ (i32.and
+ (local.get $0)
+ (i32.const 3)
+ )
+ (i32.const 0)
+ )
+ )
+ (block
+ (local.set $4
+ (i32.and
+ (local.get $1)
+ (i32.const 255)
+ )
+ )
+ (local.set $3
+ (local.get $2)
+ )
+ (local.set $2
+ (local.get $0)
+ )
+ (loop $while-in
+ (br_if $__rjti$2
+ (i32.eq
+ (i32.load8_u
+ (local.get $2)
+ )
+ (i32.and
+ (local.get $4)
+ (i32.const 255)
+ )
+ )
+ )
+ (br_if $while-in
+ (i32.and
+ (local.tee $0
+ (i32.ne
+ (local.tee $3
+ (i32.add
+ (local.get $3)
+ (i32.const -1)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (i32.ne
+ (i32.and
+ (local.tee $2
+ (i32.add
+ (local.get $2)
+ (i32.const 1)
+ )
+ )
+ (i32.const 3)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ )
+ (block
+ (local.set $3
+ (local.get $2)
+ )
+ (local.set $2
+ (local.get $0)
+ )
+ (local.set $0
+ (local.get $4)
+ )
+ )
+ )
+ (br_if $__rjti$2
+ (local.get $0)
+ )
+ (local.set $0
+ (i32.const 0)
+ )
+ (br $label$break$L8)
+ )
+ (local.set $0
+ (local.get $3)
+ )
+ (if
+ (i32.ne
+ (i32.load8_u
+ (local.get $2)
+ )
+ (local.tee $1
+ (i32.and
+ (local.get $1)
+ (i32.const 255)
+ )
+ )
+ )
+ (block
+ (local.set $3
+ (i32.mul
+ (local.get $5)
+ (i32.const 16843009)
+ )
+ )
+ (block $__rjto$0
+ (block $__rjti$0
+ (br_if $__rjti$0
+ (i32.le_u
+ (local.get $0)
+ (i32.const 3)
+ )
+ )
+ (loop $while-in3
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.xor
+ (i32.and
+ (local.tee $4
+ (i32.xor
+ (i32.load
+ (local.get $2)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.const -2139062144)
+ )
+ (i32.const -2139062144)
+ )
+ (i32.add
+ (local.get $4)
+ (i32.const -16843009)
+ )
+ )
+ )
+ (block
+ (local.set $2
+ (i32.add
+ (local.get $2)
+ (i32.const 4)
+ )
+ )
+ (br_if $while-in3
+ (i32.gt_u
+ (local.tee $0
+ (i32.add
+ (local.get $0)
+ (i32.const -4)
+ )
+ )
+ (i32.const 3)
+ )
+ )
+ (br $__rjti$0)
+ )
+ )
+ )
+ (br $__rjto$0)
+ )
+ (if
+ (i32.eqz
+ (local.get $0)
+ )
+ (block
+ (local.set $0
+ (i32.const 0)
+ )
+ (br $label$break$L8)
+ )
+ )
+ )
+ (loop $while-in5
+ (br_if $label$break$L8
+ (i32.eq
+ (i32.load8_u
+ (local.get $2)
+ )
+ (i32.and
+ (local.get $1)
+ (i32.const 255)
+ )
+ )
+ )
+ (local.set $2
+ (i32.add
+ (local.get $2)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in5
+ (local.tee $0
+ (i32.add
+ (local.get $0)
+ (i32.const -1)
+ )
+ )
+ )
+ (local.set $0
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ )
+ (select
+ (local.get $2)
+ (i32.const 0)
+ (local.get $0)
+ )
+ )
+ ;; CHECK: (func $___syscall_ret (param $0 i32) (result i32)
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const -4096)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block (result i32)
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (call $___errno_location)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $___syscall_ret (param $0 i32) (result i32)
+ (if (result i32)
+ (i32.gt_u
+ (local.get $0)
+ (i32.const -4096)
+ )
+ (block (result i32)
+ (i32.store
+ (call $___errno_location)
+ (i32.sub
+ (i32.const 0)
+ (local.get $0)
+ )
+ )
+ (i32.const -1)
+ )
+ (local.get $0)
+ )
+ )
+ ;; CHECK: (func $___fflush_unlocked (param $0 i32) (result i32)
+ ;; CHECK-NEXT: (local $1 i32)
+ ;; CHECK-NEXT: (local $2 i32)
+ ;; CHECK-NEXT: (local $3 i32)
+ ;; CHECK-NEXT: (local $4 i32)
+ ;; CHECK-NEXT: (local $5 i32)
+ ;; CHECK-NEXT: (local $6 i32)
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (block $__rjto$0 (result i32)
+ ;; CHECK-NEXT: (block $__rjti$0
+ ;; CHECK-NEXT: (br_if $__rjti$0
+ ;; CHECK-NEXT: (i32.le_u
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 28)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call_indirect (type $FUNCSIG$iiii)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load offset=36
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $__rjti$0
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjto$0
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call_indirect (type $FUNCSIG$iiii)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load offset=40
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=16
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $___fflush_unlocked (param $0 i32) (result i32)
+ (local $1 i32)
+ (local $2 i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local $6 i32)
+ (local.tee $0
+ (block $__rjto$0 (result i32)
+ (block $__rjti$0
+ (br_if $__rjti$0
+ (i32.le_u
+ (i32.load
+ (local.tee $1
+ (i32.add
+ (local.get $0)
+ (i32.const 20)
+ )
+ )
+ )
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $0)
+ (i32.const 28)
+ )
+ )
+ )
+ )
+ )
+ (drop
+ (call_indirect (type $FUNCSIG$iiii)
+ (local.get $0)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.add
+ (i32.and
+ (i32.load offset=36
+ (local.get $0)
+ )
+ (i32.const 7)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ (br_if $__rjti$0
+ (i32.load
+ (local.get $1)
+ )
+ )
+ (br $__rjto$0
+ (i32.const -1)
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.tee $4
+ (i32.load
+ (local.tee $3
+ (i32.add
+ (local.get $0)
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ (local.tee $6
+ (i32.load
+ (local.tee $5
+ (i32.add
+ (local.get $0)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ )
+ (drop
+ (call_indirect (type $FUNCSIG$iiii)
+ (local.get $0)
+ (i32.sub
+ (local.get $4)
+ (local.get $6)
+ )
+ (i32.const 1)
+ (i32.add
+ (i32.and
+ (i32.load offset=40
+ (local.get $0)
+ )
+ (i32.const 7)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (i32.store offset=16
+ (local.get $0)
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $2)
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $1)
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $5)
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $3)
+ (i32.const 0)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ ;; CHECK: (func $_cleanup (param $0 i32)
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (i32.load offset=68
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $_cleanup (param $0 i32)
+ (if
+ (i32.eqz
+ (i32.load offset=68
+ (local.get $0)
+ )
+ )
+ (call $___unlockfile
+ (local.get $0)
+ )
+ )
+ )
+ (func $f64-to-int (param $0 f64) (result i32)
+ (if (result i32)
+ (f64.ne
+ (local.get $0)
+ (local.get $0)
+ )
+ (i32.const -2147483648)
+ (if (result i32)
+ (f64.ge
+ (local.get $0)
+ (f64.const 2147483648)
+ )
+ (i32.const -2147483648)
+ (if (result i32)
+ (f64.le
+ (local.get $0)
+ (f64.const -2147483649)
+ )
+ (i32.const -2147483648)
+ (i32.trunc_f64_s
+ (local.get $0)
+ )
+ )
+ )
+ )
+ )
+ (func $i32s-div (param $0 i32) (param $1 i32) (result i32)
+ (if (result i32)
+ (local.get $1)
+ (if (result i32)
+ (i32.and
+ (i32.eq
+ (local.get $0)
+ (i32.const -2147483648)
+ )
+ (i32.eq
+ (local.get $1)
+ (i32.const -1)
+ )
+ )
+ (i32.const 0)
+ (i32.div_s
+ (local.get $0)
+ (local.get $1)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (func $i32u-rem (param $0 i32) (param $1 i32) (result i32)
+ (if (result i32)
+ (local.get $1)
+ (i32.rem_u
+ (local.get $0)
+ (local.get $1)
+ )
+ (i32.const 0)
+ )
+ )
+ (func $i32u-div (param $0 i32) (param $1 i32) (result i32)
+ (if (result i32)
+ (local.get $1)
+ (i32.div_u
+ (local.get $0)
+ (local.get $1)
+ )
+ (i32.const 0)
+ )
+ )
+ ;; CHECK: (func $_printf_core (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
+ ;; CHECK-NEXT: (local $5 i32)
+ ;; CHECK-NEXT: (local $6 i32)
+ ;; CHECK-NEXT: (local $7 i32)
+ ;; CHECK-NEXT: (local $8 i32)
+ ;; CHECK-NEXT: (local $9 i32)
+ ;; CHECK-NEXT: (local $10 i32)
+ ;; CHECK-NEXT: (local $11 i32)
+ ;; CHECK-NEXT: (local $12 i32)
+ ;; CHECK-NEXT: (local $13 i32)
+ ;; CHECK-NEXT: (local $14 f64)
+ ;; CHECK-NEXT: (local $15 i32)
+ ;; CHECK-NEXT: (local $16 i32)
+ ;; CHECK-NEXT: (local $17 i32)
+ ;; CHECK-NEXT: (local $18 i32)
+ ;; CHECK-NEXT: (local $19 i32)
+ ;; CHECK-NEXT: (local $20 i32)
+ ;; CHECK-NEXT: (local $21 i32)
+ ;; CHECK-NEXT: (local $22 i32)
+ ;; CHECK-NEXT: (local $23 i32)
+ ;; CHECK-NEXT: (local $24 f64)
+ ;; CHECK-NEXT: (local $25 i32)
+ ;; CHECK-NEXT: (local $26 i32)
+ ;; CHECK-NEXT: (local $27 i32)
+ ;; CHECK-NEXT: (local $28 i32)
+ ;; CHECK-NEXT: (local $29 i32)
+ ;; CHECK-NEXT: (local $30 i32)
+ ;; CHECK-NEXT: (local $31 i32)
+ ;; CHECK-NEXT: (local $32 i32)
+ ;; CHECK-NEXT: (local $33 i32)
+ ;; CHECK-NEXT: (local $34 i32)
+ ;; CHECK-NEXT: (local $35 i32)
+ ;; CHECK-NEXT: (local $36 i32)
+ ;; CHECK-NEXT: (local $37 i32)
+ ;; CHECK-NEXT: (local $38 i32)
+ ;; CHECK-NEXT: (local $39 i32)
+ ;; CHECK-NEXT: (local $40 i32)
+ ;; CHECK-NEXT: (local $41 i32)
+ ;; CHECK-NEXT: (local $42 i32)
+ ;; CHECK-NEXT: (local $43 i32)
+ ;; CHECK-NEXT: (local $44 i32)
+ ;; CHECK-NEXT: (local $45 i32)
+ ;; CHECK-NEXT: (local $46 i32)
+ ;; CHECK-NEXT: (local $47 i32)
+ ;; CHECK-NEXT: (local $48 i32)
+ ;; CHECK-NEXT: (local.set $13
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (i32.const 624)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_s
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (global.get $STACK_MAX)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $21
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $33
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: (i32.const 528)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $28
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $37
+ ;; CHECK-NEXT: (local.tee $25
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: (i32.const 536)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 40)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $38
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 39)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $42
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $39
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $22
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: (i32.const 576)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $40
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $43
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $22)
+ ;; CHECK-NEXT: (local.tee $34
+ ;; CHECK-NEXT: (local.tee $23
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: (i32.const 588)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $44
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const -2)
+ ;; CHECK-NEXT: (local.get $34)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $45
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $22)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $47
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $46
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: (i32.const 24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 288)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $41
+ ;; CHECK-NEXT: (local.tee $29
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $23)
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $32
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $23)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $label$break$L343
+ ;; CHECK-NEXT: (block $__rjti$9
+ ;; CHECK-NEXT: (loop $label$continue$L1
+ ;; CHECK-NEXT: (block $label$break$L1
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $18)
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $18
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 2147483647)
+ ;; CHECK-NEXT: (local.get $18)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (call $___errno_location)
+ ;; CHECK-NEXT: (i32.const 75)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (local.get $18)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $__rjti$9
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $label$break$L12
+ ;; CHECK-NEXT: (block $__rjti$1
+ ;; CHECK-NEXT: (loop $label$continue$L9
+ ;; CHECK-NEXT: (block $label$break$L9
+ ;; CHECK-NEXT: (block $switch-default
+ ;; CHECK-NEXT: (block $switch-case0
+ ;; CHECK-NEXT: (block $switch-case
+ ;; CHECK-NEXT: (br_table $switch-case0 $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case $switch-default
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.tee $11
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$continue$L9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in
+ ;; CHECK-NEXT: (br_if $label$break$L12
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (i32.load8_s offset=1
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 37)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 37)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $28)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$continue$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.tee $9
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.tee $11
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.tee $11
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (local.tee $9
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load8_s offset=2
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 36)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $19
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $19
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $9
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $label$break$L25 (result i32)
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in4 (result i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 75913)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L25
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in4
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.tee $11
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 255)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 42)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once5 (result i32)
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (block $__rjto$0 (result i32)
+ ;; CHECK-NEXT: (block $__rjti$0
+ ;; CHECK-NEXT: (br_if $__rjti$0
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.tee $9
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $__rjti$0
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (i32.load8_s offset=2
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 36)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $17
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjto$0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $18
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $28)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $17
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once5
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $17
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $11
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $17
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 8192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in8
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.mul
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.tee $11
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $18
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $17
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $17
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 46)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $label$break$L46 (result i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 42)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L46
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in11
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (br_if $label$break$L46
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.mul
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.tee $11
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load8_s offset=3
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 36)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L46
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $18
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (local.get $28)
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $11
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in13
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.tee $12
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 65)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 57)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $18
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.tee $12
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $15
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.mul
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.const 58)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3611)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 255)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (i32.const 255)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $18
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $16
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $19)
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $__rjto$2
+ ;; CHECK-NEXT: (block $__rjti$2
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (i32.const 255)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 19)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $18
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $19)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $15
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.tee $12
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $19)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $28)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $18
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_pop_arg_336
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjto$2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $28)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$continue$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.tee $12
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const -65537)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 8192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $12
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.tee $15
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (block $__rjto$8 (result i32)
+ ;; CHECK-NEXT: (block $__rjti$8
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (block $__rjti$7 (result i32)
+ ;; CHECK-NEXT: (block $__rjti$6
+ ;; CHECK-NEXT: (block $__rjti$5
+ ;; CHECK-NEXT: (block $__rjti$4
+ ;; CHECK-NEXT: (block $__rjti$3
+ ;; CHECK-NEXT: (block $switch-default120
+ ;; CHECK-NEXT: (block $switch-case42
+ ;; CHECK-NEXT: (block $switch-case41
+ ;; CHECK-NEXT: (block $switch-case40
+ ;; CHECK-NEXT: (block $switch-case39
+ ;; CHECK-NEXT: (block $switch-case38
+ ;; CHECK-NEXT: (block $switch-case37
+ ;; CHECK-NEXT: (block $switch-case36
+ ;; CHECK-NEXT: (block $switch-case34
+ ;; CHECK-NEXT: (block $switch-case33
+ ;; CHECK-NEXT: (block $switch-case29
+ ;; CHECK-NEXT: (block $switch-case28
+ ;; CHECK-NEXT: (block $switch-case27
+ ;; CHECK-NEXT: (br_table $switch-case42 $switch-default120 $switch-case40 $switch-default120 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case29 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case42 $switch-default120 $switch-case37 $switch-case34 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-case34 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case29 $switch-default120
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.tee $15
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -33)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 15)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 65)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $switch-default26
+ ;; CHECK-NEXT: (block $switch-case25
+ ;; CHECK-NEXT: (block $switch-case24
+ ;; CHECK-NEXT: (block $switch-case23
+ ;; CHECK-NEXT: (block $switch-case22
+ ;; CHECK-NEXT: (block $switch-case21
+ ;; CHECK-NEXT: (block $switch-case20
+ ;; CHECK-NEXT: (block $switch-case19
+ ;; CHECK-NEXT: (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $18)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$continue$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $18)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$continue$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $18)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $18)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$continue$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store16
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $18)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$continue$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $18)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$continue$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $18)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$continue$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $18)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $18)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$continue$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$continue$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $15
+ ;; CHECK-NEXT: (i32.const 120)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (local.get $25)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in32
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in32
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (call $_bitshift64Lshr
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (global.get $tempRet0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (local.get $25)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $37)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.const 4091)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (global.set $tempRet0
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (global.get $tempRet0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.const 4091)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 2048)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4092)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 4093)
+ ;; CHECK-NEXT: (i32.const 4091)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.const 4091)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.get $38)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.get $38)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.const 4091)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjto$8
+ ;; CHECK-NEXT: (local.get $25)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (call $___errno_location)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $__rjto$1
+ ;; CHECK-NEXT: (block $__rjti$10
+ ;; CHECK-NEXT: (loop $while-in2
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.load8_u offset=687
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (br_if $while-in2
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.tee $9
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 87)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (i32.const 87)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $__rjti$10
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.const 775)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjto$1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.const 775)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in1
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (loop $while-in3 (result i32)
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in1
+ ;; CHECK-NEXT: (local.tee $9
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4101)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $39)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $42)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: (local.get $39)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$7
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $14
+ ;; CHECK-NEXT: (f64.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $21)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (f64.store
+ ;; CHECK-NEXT: (global.get $tempDoublePtr)
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (global.get $tempDoublePtr)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $30
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (global.get $tempDoublePtr)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $27
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $14
+ ;; CHECK-NEXT: (f64.neg
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4108)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 2048)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $27
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4111)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $27
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 4114)
+ ;; CHECK-NEXT: (i32.const 4109)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (f64.store
+ ;; CHECK-NEXT: (global.get $tempDoublePtr)
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (global.get $tempDoublePtr)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (global.get $tempDoublePtr)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2146435072)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2146435072)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once49 (result i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (f64.ne
+ ;; CHECK-NEXT: (local.tee $24
+ ;; CHECK-NEXT: (f64.mul
+ ;; CHECK-NEXT: (call $_frexp
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (local.get $21)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (f64.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (f64.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $21)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $21)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.tee $26
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 97)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $30)
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $30)
+ ;; CHECK-NEXT: (local.tee $16
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $14
+ ;; CHECK-NEXT: (if (result f64)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $24)
+ ;; CHECK-NEXT: (block (result f64)
+ ;; CHECK-NEXT: (local.set $14
+ ;; CHECK-NEXT: (f64.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in54
+ ;; CHECK-NEXT: (local.set $14
+ ;; CHECK-NEXT: (f64.mul
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (f64.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in54
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (f64.neg
+ ;; CHECK-NEXT: (f64.add
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (f64.sub
+ ;; CHECK-NEXT: (f64.neg
+ ;; CHECK-NEXT: (local.get $24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (f64.sub
+ ;; CHECK-NEXT: (f64.add
+ ;; CHECK-NEXT: (local.get $24)
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 45)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $27)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (call $_fmt_u
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $21)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $22)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $22)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.get $40)
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $40)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 43)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (i32.const 15)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $15
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $20
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $23)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in56
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.load8_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (f64.ne
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -2147483648)
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (f64.ge
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (f64.const 2147483648)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -2147483648)
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (f64.le
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (f64.const -2147483649)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -2147483648)
+ ;; CHECK-NEXT: (i32.trunc_f64_s
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4075)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $14
+ ;; CHECK-NEXT: (f64.mul
+ ;; CHECK-NEXT: (f64.sub
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (f64.convert_i32_s
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (f64.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $34)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $20)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (f64.eq
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (f64.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 46)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in56
+ ;; CHECK-NEXT: (f64.ne
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (f64.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $45)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $43)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $44)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 65536)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $34)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (local.get $23)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $22)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 8192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once49
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $14
+ ;; CHECK-NEXT: (if (result f64)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (block (result f64)
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $21)
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $21)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 28)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (f64.mul
+ ;; CHECK-NEXT: (local.get $24)
+ ;; CHECK-NEXT: (f64.const 268435456)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result f64)
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $21)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $46)
+ ;; CHECK-NEXT: (local.get $47)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in60
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (f64.ne
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -2147483648)
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (f64.ge
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (f64.const 2147483648)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -2147483648)
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (f64.le
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (f64.const -2147483649)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -2147483648)
+ ;; CHECK-NEXT: (i32.trunc_f64_s
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in60
+ ;; CHECK-NEXT: (f64.ne
+ ;; CHECK-NEXT: (local.tee $14
+ ;; CHECK-NEXT: (f64.mul
+ ;; CHECK-NEXT: (f64.sub
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (f64.convert_i32_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (f64.const 1e9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (f64.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $21)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in62
+ ;; CHECK-NEXT: (local.set $16
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 29)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.const 29)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once63
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in66
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (call $___uremdi3
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (global.set $tempRet0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.tee $20
+ ;; CHECK-NEXT: (call $_bitshift64Shl
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $12
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (local.get $20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.get $tempRet0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $20
+ ;; CHECK-NEXT: (global.get $tempRet0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1000000000)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (call $___udivdi3
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (local.get $20)
+ ;; CHECK-NEXT: (i32.const 1000000000)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in66
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $do-once63
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in68
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in68)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $21)
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $21)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in62
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $19
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 6)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $20
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.div_s
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $19)
+ ;; CHECK-NEXT: (i32.const 25)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $31
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $26)
+ ;; CHECK-NEXT: (i32.const 102)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (loop $while-in70 (result i32)
+ ;; CHECK-NEXT: (local.set $16
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once71
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $35
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.const 1000000000)
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in74
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.mul
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $35)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in74
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $do-once71
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $20)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $21)
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $21)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in70)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $20
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once75
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.mul
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $20)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $do-once75
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in78
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in78
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.mul
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $19)
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.get $26)
+ ;; CHECK-NEXT: (i32.const 102)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $31
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.get $19)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $35
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $26)
+ ;; CHECK-NEXT: (i32.const 103)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.mul
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (local.get $20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.div_s
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 9216)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.rem_s
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in80
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (i32.mul
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in80
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $16
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $20)
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4092)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $16
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (i32.rem_u
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $26
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once81
+ ;; CHECK-NEXT: (local.set $36
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (i32.div_u
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $14
+ ;; CHECK-NEXT: (if (result f64)
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: (local.tee $48
+ ;; CHECK-NEXT: (i32.div_s
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (f64.const 0.5)
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (f64.const 1)
+ ;; CHECK-NEXT: (f64.const 1.5)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $26)
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: (local.get $48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $24
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (f64.const 9007199254740994)
+ ;; CHECK-NEXT: (f64.const 9007199254740992)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $36)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $27)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.get $30)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 45)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $24
+ ;; CHECK-NEXT: (f64.neg
+ ;; CHECK-NEXT: (local.get $24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $14
+ ;; CHECK-NEXT: (f64.neg
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $do-once81
+ ;; CHECK-NEXT: (f64.eq
+ ;; CHECK-NEXT: (f64.add
+ ;; CHECK-NEXT: (local.get $24)
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 999999999)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in86
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in86
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 999999999)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.mul
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $20)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $do-once81
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in88
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in88
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.tee $12
+ ;; CHECK-NEXT: (i32.mul
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $36
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (loop $while-in90 (result i32)
+ ;; CHECK-NEXT: (block $while-out89 (result i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.le_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $26
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-out89
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $26
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in90)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (local.get $35)
+ ;; CHECK-NEXT: (block $do-once91 (result i32)
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $19)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const -5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $19
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $19
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (br_if $do-once91
+ ;; CHECK-NEXT: (local.get $19)
+ ;; CHECK-NEXT: (local.tee $16
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $26)
+ ;; CHECK-NEXT: (block $do-once93
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $15
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once93)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.rem_u
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once93)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in96
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in96
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (local.tee $16
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.mul
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.rem_u
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.mul
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (local.get $20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 102)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $16
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $19)
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $19)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $16
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $19)
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $19)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $16
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $19)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $27)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.tee $19
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (local.tee $31
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 102)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $15
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $22)
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (call $_fmt_u
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $36)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $22)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in98
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in98
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $22)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 43)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.tee $15
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $22)
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (local.get $30)
+ ;; CHECK-NEXT: (local.get $27)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 65536)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $31)
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (local.tee $12
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $20)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (local.get $20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in102
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (call $_fmt_u
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $29)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once103
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (br_if $do-once103
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $29)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.get $32)
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.get $32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (br_if $do-once103
+ ;; CHECK-NEXT: (i32.le_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $23)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in106
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in106
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $23)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $41)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.le_u
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in102)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $19)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (i32.const 4143)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in110 (result i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (call $_fmt_u
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $29)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $23)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in112
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in112
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $23)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in110)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once99
+ ;; CHECK-NEXT: (local.set $20
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $26)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $16
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in114 (result i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (call $_fmt_u
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $29)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $29)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.get $32)
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once115
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $do-once115
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $do-once115
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (i32.const 4143)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (br_if $do-once115
+ ;; CHECK-NEXT: (i32.le_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $23)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in118
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in118
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $23)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $41)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in114
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 18)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 18)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $do-once99
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $22)
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 8192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $27)
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (f64.ne
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (local.get $30)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 4135)
+ ;; CHECK-NEXT: (i32.const 4139)
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 4127)
+ ;; CHECK-NEXT: (i32.const 4131)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 8192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$continue$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.const 4091)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjto$8
+ ;; CHECK-NEXT: (local.get $25)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $9
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (local.get $25)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (loop $while-in123 (result i32)
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.load8_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 15)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4075)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in123
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (call $_bitshift64Lshr
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $9
+ ;; CHECK-NEXT: (global.get $tempRet0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.const 4091)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4091)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $25)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.const 4091)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (call $_fmt_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $25)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $label$break$L8
+ ;; CHECK-NEXT: (block $__rjti$29
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $9
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in12
+ ;; CHECK-NEXT: (br_if $__rjti$29
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.load8_u
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in12
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $9
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $__rjti$29
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.load8_u
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block $__rjto$013
+ ;; CHECK-NEXT: (block $__rjti$014
+ ;; CHECK-NEXT: (br_if $__rjti$014
+ ;; CHECK-NEXT: (i32.le_u
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in315
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -2139062144)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -2139062144)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 16843009)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in315
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.tee $9
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$014)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjto$013)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (loop $while-in5 (result i32)
+ ;; CHECK-NEXT: (br_if $label$break$L8
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.load8_u
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in5
+ ;; CHECK-NEXT: (local.tee $9
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $16
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $15
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.const 4091)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjto$8
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in125
+ ;; CHECK-NEXT: (block $while-out124
+ ;; CHECK-NEXT: (br_if $while-out124
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-out124
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (call $_wctomb
+ ;; CHECK-NEXT: (local.get $33)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in125
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $18
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in127 (result i32)
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (br_if $__rjti$7
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (br_if $__rjti$7
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (call $_wctomb
+ ;; CHECK-NEXT: (local.get $33)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (local.get $33)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in127
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 8192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$continue$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const -65537)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.tee $12
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $37)
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.get $25)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $25)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 65536)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_pad
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 8192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$continue$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L343)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $18
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in130
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (call $_pop_arg_336
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in130
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $18
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L343)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in132 (result i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $18
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L343)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in132
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $18)
+ ;; CHECK-NEXT: )
+ (func $_printf_core (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
+ (local $5 i32)
+ (local $6 i32)
+ (local $7 i32)
+ (local $8 i32)
+ (local $9 i32)
+ (local $10 i32)
+ (local $11 i32)
+ (local $12 i32)
+ (local $13 i32)
+ (local $14 i32)
+ (local $15 f64)
+ (local $16 i32)
+ (local $17 i32)
+ (local $18 i32)
+ (local $19 i32)
+ (local $20 i32)
+ (local $21 i32)
+ (local $22 i32)
+ (local $23 f64)
+ (local $24 i32)
+ (local $25 i32)
+ (local $26 i32)
+ (local $27 i32)
+ (local $28 i32)
+ (local $29 i32)
+ (local $30 i32)
+ (local $31 i32)
+ (local $32 i32)
+ (local $33 i32)
+ (local $34 i32)
+ (local $35 i32)
+ (local $36 i32)
+ (local $37 i32)
+ (local $38 i32)
+ (local $39 i32)
+ (local $40 i32)
+ (local $41 i32)
+ (local $42 i32)
+ (local $43 i32)
+ (local $44 i32)
+ (local $45 i32)
+ (local $46 i32)
+ (local $47 i32)
+ (local $48 i32)
+ (local $49 i32)
+ (local $50 i32)
+ (local $51 i32)
+ (local.set $25
+ (global.get $STACKTOP)
+ )
+ (global.set $STACKTOP
+ (i32.add
+ (global.get $STACKTOP)
+ (i32.const 624)
+ )
+ )
+ (if
+ (i32.ge_s
+ (global.get $STACKTOP)
+ (global.get $STACK_MAX)
+ )
+ (call $abort)
+ )
+ (local.set $20
+ (i32.add
+ (local.get $25)
+ (i32.const 16)
+ )
+ )
+ (local.set $19
+ (local.get $25)
+ )
+ (local.set $36
+ (i32.add
+ (local.get $25)
+ (i32.const 528)
+ )
+ )
+ (local.set $29
+ (i32.ne
+ (local.get $0)
+ (i32.const 0)
+ )
+ )
+ (local.set $39
+ (local.tee $26
+ (i32.add
+ (local.tee $5
+ (i32.add
+ (local.get $25)
+ (i32.const 536)
+ )
+ )
+ (i32.const 40)
+ )
+ )
+ )
+ (local.set $40
+ (i32.add
+ (local.get $5)
+ (i32.const 39)
+ )
+ )
+ (local.set $44
+ (i32.add
+ (local.tee $41
+ (i32.add
+ (local.get $25)
+ (i32.const 8)
+ )
+ )
+ (i32.const 4)
+ )
+ )
+ (local.set $34
+ (i32.add
+ (local.tee $5
+ (i32.add
+ (local.get $25)
+ (i32.const 576)
+ )
+ )
+ (i32.const 12)
+ )
+ )
+ (local.set $42
+ (i32.add
+ (local.get $5)
+ (i32.const 11)
+ )
+ )
+ (local.set $45
+ (i32.sub
+ (local.tee $28
+ (local.get $34)
+ )
+ (local.tee $37
+ (local.tee $22
+ (i32.add
+ (local.get $25)
+ (i32.const 588)
+ )
+ )
+ )
+ )
+ )
+ (local.set $46
+ (i32.sub
+ (i32.const -2)
+ (local.get $37)
+ )
+ )
+ (local.set $47
+ (i32.add
+ (local.get $28)
+ (i32.const 2)
+ )
+ )
+ (local.set $49
+ (i32.add
+ (local.tee $48
+ (i32.add
+ (local.get $25)
+ (i32.const 24)
+ )
+ )
+ (i32.const 288)
+ )
+ )
+ (local.set $43
+ (local.tee $30
+ (i32.add
+ (local.get $22)
+ (i32.const 9)
+ )
+ )
+ )
+ (local.set $35
+ (i32.add
+ (local.get $22)
+ (i32.const 8)
+ )
+ )
+ (local.set $16
+ (i32.const 0)
+ )
+ (local.set $5
+ (local.get $1)
+ )
+ (local.set $10
+ (i32.const 0)
+ )
+ (local.set $1
+ (i32.const 0)
+ )
+ (block $label$break$L343
+ (block $__rjti$9
+ (loop $label$continue$L1
+ (block $label$break$L1
+ (if
+ (i32.gt_s
+ (local.get $16)
+ (i32.const -1)
+ )
+ (local.set $16
+ (if (result i32)
+ (i32.gt_s
+ (local.get $10)
+ (i32.sub
+ (i32.const 2147483647)
+ (local.get $16)
+ )
+ )
+ (block (result i32)
+ (i32.store
+ (call $___errno_location)
+ (i32.const 75)
+ )
+ (i32.const -1)
+ )
+ (i32.add
+ (local.get $10)
+ (local.get $16)
+ )
+ )
+ )
+ )
+ (br_if $__rjti$9
+ (i32.eqz
+ (local.tee $7
+ (i32.load8_s
+ (local.get $5)
+ )
+ )
+ )
+ )
+ (local.set $10
+ (local.get $5)
+ )
+ (block $label$break$L12
+ (block $__rjti$1
+ (loop $label$continue$L9
+ (block $label$break$L9
+ (block $switch-default
+ (block $switch-case0
+ (block $switch-case
+ (br_table $switch-case0 $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case $switch-default
+ (i32.shr_s
+ (i32.shl
+ (local.get $7)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ )
+ )
+ (local.set $6
+ (local.get $10)
+ )
+ (br $__rjti$1)
+ )
+ (local.set $6
+ (local.get $10)
+ )
+ (br $label$break$L9)
+ )
+ (local.set $7
+ (i32.load8_s
+ (local.tee $10
+ (i32.add
+ (local.get $10)
+ (i32.const 1)
+ )
+ )
+ )
+ )
+ (br $label$continue$L9)
+ )
+ )
+ (br $label$break$L12)
+ )
+ (loop $while-in
+ (br_if $label$break$L12
+ (i32.ne
+ (i32.load8_s offset=1
+ (local.get $6)
+ )
+ (i32.const 37)
+ )
+ )
+ (local.set $10
+ (i32.add
+ (local.get $10)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in
+ (i32.eq
+ (i32.load8_s
+ (local.tee $6
+ (i32.add
+ (local.get $6)
+ (i32.const 2)
+ )
+ )
+ )
+ (i32.const 37)
+ )
+ )
+ )
+ )
+ (local.set $7
+ (i32.sub
+ (local.get $10)
+ (local.get $5)
+ )
+ )
+ (if
+ (local.get $29)
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (local.get $5)
+ (local.get $7)
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (if
+ (i32.ne
+ (local.get $10)
+ (local.get $5)
+ )
+ (block
+ (local.set $5
+ (local.get $6)
+ )
+ (local.set $10
+ (local.get $7)
+ )
+ (br $label$continue$L1)
+ )
+ )
+ (local.set $8
+ (if (result i32)
+ (i32.lt_u
+ (local.tee $8
+ (i32.add
+ (local.tee $11
+ (i32.load8_s
+ (local.tee $10
+ (i32.add
+ (local.get $6)
+ (i32.const 1)
+ )
+ )
+ )
+ )
+ (i32.const -48)
+ )
+ )
+ (i32.const 10)
+ )
+ (block (result i32)
+ (local.set $6
+ (i32.load8_s
+ (local.tee $10
+ (select
+ (i32.add
+ (local.get $6)
+ (i32.const 3)
+ )
+ (local.get $10)
+ (local.tee $11
+ (i32.eq
+ (i32.load8_s offset=2
+ (local.get $6)
+ )
+ (i32.const 36)
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.set $17
+ (select
+ (local.get $8)
+ (i32.const -1)
+ (local.get $11)
+ )
+ )
+ (select
+ (i32.const 1)
+ (local.get $1)
+ (local.get $11)
+ )
+ )
+ (block (result i32)
+ (local.set $6
+ (local.get $11)
+ )
+ (local.set $17
+ (i32.const -1)
+ )
+ (local.get $1)
+ )
+ )
+ )
+ (block $label$break$L25
+ (if
+ (i32.eq
+ (i32.and
+ (local.tee $11
+ (i32.shr_s
+ (i32.shl
+ (local.get $6)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ )
+ (i32.const -32)
+ )
+ (i32.const 32)
+ )
+ (block
+ (local.set $1
+ (local.get $6)
+ )
+ (local.set $6
+ (local.get $11)
+ )
+ (local.set $11
+ (i32.const 0)
+ )
+ (loop $while-in4
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.shl
+ (i32.const 1)
+ (i32.add
+ (local.get $6)
+ (i32.const -32)
+ )
+ )
+ (i32.const 75913)
+ )
+ )
+ (block
+ (local.set $6
+ (local.get $1)
+ )
+ (local.set $1
+ (local.get $11)
+ )
+ (br $label$break$L25)
+ )
+ )
+ (local.set $11
+ (i32.or
+ (i32.shl
+ (i32.const 1)
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (local.get $1)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ (i32.const -32)
+ )
+ )
+ (local.get $11)
+ )
+ )
+ (br_if $while-in4
+ (i32.eq
+ (i32.and
+ (local.tee $6
+ (local.tee $1
+ (i32.load8_s
+ (local.tee $10
+ (i32.add
+ (local.get $10)
+ (i32.const 1)
+ )
+ )
+ )
+ )
+ )
+ (i32.const -32)
+ )
+ (i32.const 32)
+ )
+ )
+ (local.set $6
+ (local.get $1)
+ )
+ (local.set $1
+ (local.get $11)
+ )
+ )
+ )
+ (local.set $1
+ (i32.const 0)
+ )
+ )
+ )
+ (block $do-once5
+ (if
+ (i32.eq
+ (i32.and
+ (local.get $6)
+ (i32.const 255)
+ )
+ (i32.const 42)
+ )
+ (block
+ (local.set $10
+ (block $__rjto$0 (result i32)
+ (block $__rjti$0
+ (br_if $__rjti$0
+ (i32.ge_u
+ (local.tee $11
+ (i32.add
+ (i32.load8_s
+ (local.tee $6
+ (i32.add
+ (local.get $10)
+ (i32.const 1)
+ )
+ )
+ )
+ (i32.const -48)
+ )
+ )
+ (i32.const 10)
+ )
+ )
+ (br_if $__rjti$0
+ (i32.ne
+ (i32.load8_s offset=2
+ (local.get $10)
+ )
+ (i32.const 36)
+ )
+ )
+ (i32.store
+ (i32.add
+ (local.get $4)
+ (i32.shl
+ (local.get $11)
+ (i32.const 2)
+ )
+ )
+ (i32.const 10)
+ )
+ (drop
+ (i32.load offset=4
+ (local.tee $6
+ (i32.add
+ (local.get $3)
+ (i32.shl
+ (i32.add
+ (i32.load8_s
+ (local.get $6)
+ )
+ (i32.const -48)
+ )
+ (i32.const 3)
+ )
+ )
+ )
+ )
+ )
+ (local.set $8
+ (i32.const 1)
+ )
+ (local.set $14
+ (i32.load
+ (local.get $6)
+ )
+ )
+ (br $__rjto$0
+ (i32.add
+ (local.get $10)
+ (i32.const 3)
+ )
+ )
+ )
+ (if
+ (local.get $8)
+ (block
+ (local.set $16
+ (i32.const -1)
+ )
+ (br $label$break$L1)
+ )
+ )
+ (if
+ (i32.eqz
+ (local.get $29)
+ )
+ (block
+ (local.set $11
+ (local.get $1)
+ )
+ (local.set $10
+ (local.get $6)
+ )
+ (local.set $1
+ (i32.const 0)
+ )
+ (local.set $14
+ (i32.const 0)
+ )
+ (br $do-once5)
+ )
+ )
+ (local.set $14
+ (i32.load
+ (local.tee $10
+ (i32.and
+ (i32.add
+ (i32.load
+ (local.get $2)
+ )
+ (i32.const 3)
+ )
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.get $10)
+ (i32.const 4)
+ )
+ )
+ (local.set $8
+ (i32.const 0)
+ )
+ (local.get $6)
+ )
+ )
+ (local.set $11
+ (if (result i32)
+ (i32.lt_s
+ (local.get $14)
+ (i32.const 0)
+ )
+ (block (result i32)
+ (local.set $14
+ (i32.sub
+ (i32.const 0)
+ (local.get $14)
+ )
+ )
+ (i32.or
+ (local.get $1)
+ (i32.const 8192)
+ )
+ )
+ (local.get $1)
+ )
+ )
+ (local.set $1
+ (local.get $8)
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.tee $6
+ (i32.add
+ (i32.shr_s
+ (i32.shl
+ (local.get $6)
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ (i32.const -48)
+ )
+ )
+ (i32.const 10)
+ )
+ (block
+ (local.set $11
+ (i32.const 0)
+ )
+ (loop $while-in8
+ (local.set $6
+ (i32.add
+ (i32.mul
+ (local.get $11)
+ (i32.const 10)
+ )
+ (local.get $6)
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.tee $9
+ (i32.add
+ (i32.load8_s
+ (local.tee $10
+ (i32.add
+ (local.get $10)
+ (i32.const 1)
+ )
+ )
+ )
+ (i32.const -48)
+ )
+ )
+ (i32.const 10)
+ )
+ (block
+ (local.set $11
+ (local.get $6)
+ )
+ (local.set $6
+ (local.get $9)
+ )
+ (br $while-in8)
+ )
+ )
+ )
+ (if
+ (i32.lt_s
+ (local.get $6)
+ (i32.const 0)
+ )
+ (block
+ (local.set $16
+ (i32.const -1)
+ )
+ (br $label$break$L1)
+ )
+ (block
+ (local.set $11
+ (local.get $1)
+ )
+ (local.set $1
+ (local.get $8)
+ )
+ (local.set $14
+ (local.get $6)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $11
+ (local.get $1)
+ )
+ (local.set $1
+ (local.get $8)
+ )
+ (local.set $14
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ )
+ (local.set $6
+ (block $label$break$L46 (result i32)
+ (if (result i32)
+ (i32.eq
+ (i32.load8_s
+ (local.get $10)
+ )
+ (i32.const 46)
+ )
+ (block (result i32)
+ (if
+ (i32.ne
+ (local.tee $8
+ (i32.load8_s
+ (local.tee $6
+ (i32.add
+ (local.get $10)
+ (i32.const 1)
+ )
+ )
+ )
+ )
+ (i32.const 42)
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.tee $9
+ (i32.add
+ (local.get $8)
+ (i32.const -48)
+ )
+ )
+ (i32.const 10)
+ )
+ (block
+ (local.set $10
+ (local.get $6)
+ )
+ (local.set $8
+ (i32.const 0)
+ )
+ (local.set $6
+ (local.get $9)
+ )
+ )
+ (block
+ (local.set $10
+ (local.get $6)
+ )
+ (br $label$break$L46
+ (i32.const 0)
+ )
+ )
+ )
+ (loop $while-in11
+ (drop
+ (br_if $label$break$L46
+ (local.tee $6
+ (i32.add
+ (i32.mul
+ (local.get $8)
+ (i32.const 10)
+ )
+ (local.get $6)
+ )
+ )
+ (i32.ge_u
+ (local.tee $9
+ (i32.add
+ (i32.load8_s
+ (local.tee $10
+ (i32.add
+ (local.get $10)
+ (i32.const 1)
+ )
+ )
+ )
+ (i32.const -48)
+ )
+ )
+ (i32.const 10)
+ )
+ )
+ )
+ (local.set $8
+ (local.get $6)
+ )
+ (local.set $6
+ (local.get $9)
+ )
+ (br $while-in11)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.tee $8
+ (i32.add
+ (i32.load8_s
+ (local.tee $6
+ (i32.add
+ (local.get $10)
+ (i32.const 2)
+ )
+ )
+ )
+ (i32.const -48)
+ )
+ )
+ (i32.const 10)
+ )
+ (if
+ (i32.eq
+ (i32.load8_s offset=3
+ (local.get $10)
+ )
+ (i32.const 36)
+ )
+ (block
+ (i32.store
+ (i32.add
+ (local.get $4)
+ (i32.shl
+ (local.get $8)
+ (i32.const 2)
+ )
+ )
+ (i32.const 10)
+ )
+ (drop
+ (i32.load offset=4
+ (local.tee $6
+ (i32.add
+ (local.get $3)
+ (i32.shl
+ (i32.add
+ (i32.load8_s
+ (local.get $6)
+ )
+ (i32.const -48)
+ )
+ (i32.const 3)
+ )
+ )
+ )
+ )
+ )
+ (local.set $10
+ (i32.add
+ (local.get $10)
+ (i32.const 4)
+ )
+ )
+ (br $label$break$L46
+ (i32.load
+ (local.get $6)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (local.get $1)
+ (block
+ (local.set $16
+ (i32.const -1)
+ )
+ (br $label$break$L1)
+ )
+ )
+ (if (result i32)
+ (local.get $29)
+ (block (result i32)
+ (local.set $8
+ (i32.load
+ (local.tee $10
+ (i32.and
+ (i32.add
+ (i32.load
+ (local.get $2)
+ )
+ (i32.const 3)
+ )
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.get $10)
+ (i32.const 4)
+ )
+ )
+ (local.set $10
+ (local.get $6)
+ )
+ (local.get $8)
+ )
+ (block (result i32)
+ (local.set $10
+ (local.get $6)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (local.set $8
+ (local.get $10)
+ )
+ (local.set $9
+ (i32.const 0)
+ )
+ (loop $while-in13
+ (if
+ (i32.gt_u
+ (local.tee $12
+ (i32.add
+ (i32.load8_s
+ (local.get $8)
+ )
+ (i32.const -65)
+ )
+ )
+ (i32.const 57)
+ )
+ (block
+ (local.set $16
+ (i32.const -1)
+ )
+ (br $label$break$L1)
+ )
+ )
+ (local.set $10
+ (i32.add
+ (local.get $8)
+ (i32.const 1)
+ )
+ )
+ (if
+ (i32.lt_u
+ (i32.add
+ (local.tee $12
+ (i32.and
+ (local.tee $13
+ (i32.load8_s
+ (i32.add
+ (i32.add
+ (i32.mul
+ (local.get $9)
+ (i32.const 58)
+ )
+ (i32.const 3611)
+ )
+ (local.get $12)
+ )
+ )
+ )
+ (i32.const 255)
+ )
+ )
+ (i32.const -1)
+ )
+ (i32.const 8)
+ )
+ (block
+ (local.set $8
+ (local.get $10)
+ )
+ (local.set $9
+ (local.get $12)
+ )
+ (br $while-in13)
+ )
+ (local.set $18
+ (local.get $8)
+ )
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (local.get $13)
+ (i32.const 255)
+ )
+ )
+ (block
+ (local.set $16
+ (i32.const -1)
+ )
+ (br $label$break$L1)
+ )
+ )
+ (local.set $8
+ (i32.gt_s
+ (local.get $17)
+ (i32.const -1)
+ )
+ )
+ (block $__rjto$2
+ (block $__rjti$2
+ (if
+ (i32.eq
+ (i32.and
+ (local.get $13)
+ (i32.const 255)
+ )
+ (i32.const 19)
+ )
+ (if
+ (local.get $8)
+ (block
+ (local.set $16
+ (i32.const -1)
+ )
+ (br $label$break$L1)
+ )
+ (br $__rjti$2)
+ )
+ (block
+ (if
+ (local.get $8)
+ (block
+ (i32.store
+ (i32.add
+ (local.get $4)
+ (i32.shl
+ (local.get $17)
+ (i32.const 2)
+ )
+ )
+ (local.get $12)
+ )
+ (local.set $13
+ (i32.load offset=4
+ (local.tee $12
+ (i32.add
+ (local.get $3)
+ (i32.shl
+ (local.get $17)
+ (i32.const 3)
+ )
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.tee $8
+ (local.get $19)
+ )
+ (i32.load
+ (local.get $12)
+ )
+ )
+ (i32.store offset=4
+ (local.get $8)
+ (local.get $13)
+ )
+ (br $__rjti$2)
+ )
+ )
+ (if
+ (i32.eqz
+ (local.get $29)
+ )
+ (block
+ (local.set $16
+ (i32.const 0)
+ )
+ (br $label$break$L1)
+ )
+ )
+ (call $_pop_arg_336
+ (local.get $19)
+ (local.get $12)
+ (local.get $2)
+ )
+ )
+ )
+ (br $__rjto$2)
+ )
+ (if
+ (i32.eqz
+ (local.get $29)
+ )
+ (block
+ (local.set $5
+ (local.get $10)
+ )
+ (local.set $10
+ (local.get $7)
+ )
+ (br $label$continue$L1)
+ )
+ )
+ )
+ (local.set $11
+ (select
+ (local.tee $8
+ (i32.and
+ (local.get $11)
+ (i32.const -65537)
+ )
+ )
+ (local.get $11)
+ (i32.and
+ (local.get $11)
+ (i32.const 8192)
+ )
+ )
+ )
+ (local.set $5
+ (block $__rjto$8 (result i32)
+ (block $__rjti$8
+ (block $__rjti$7
+ (block $__rjti$6
+ (block $__rjti$5
+ (block $__rjti$4
+ (block $__rjti$3
+ (block $switch-default120
+ (block $switch-case42
+ (block $switch-case41
+ (block $switch-case40
+ (block $switch-case39
+ (block $switch-case38
+ (block $switch-case37
+ (block $switch-case36
+ (block $switch-case34
+ (block $switch-case33
+ (block $switch-case29
+ (block $switch-case28
+ (block $switch-case27
+ (br_table $switch-case42 $switch-default120 $switch-case40 $switch-default120 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case29 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case42 $switch-default120 $switch-case37 $switch-case34 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-case34 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case29 $switch-default120
+ (i32.sub
+ (local.tee $18
+ (select
+ (i32.and
+ (local.tee $12
+ (i32.load8_s
+ (local.get $18)
+ )
+ )
+ (i32.const -33)
+ )
+ (local.get $12)
+ (i32.and
+ (i32.ne
+ (local.get $9)
+ (i32.const 0)
+ )
+ (i32.eq
+ (i32.and
+ (local.get $12)
+ (i32.const 15)
+ )
+ (i32.const 3)
+ )
+ )
+ )
+ )
+ (i32.const 65)
+ )
+ )
+ )
+ (block $switch-default26
+ (block $switch-case25
+ (block $switch-case24
+ (block $switch-case23
+ (block $switch-case22
+ (block $switch-case21
+ (block $switch-case20
+ (block $switch-case19
+ (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
+ (local.get $9)
+ )
+ )
+ (i32.store
+ (i32.load
+ (local.get $19)
+ )
+ (local.get $16)
+ )
+ (local.set $5
+ (local.get $10)
+ )
+ (local.set $10
+ (local.get $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (i32.load
+ (local.get $19)
+ )
+ (local.get $16)
+ )
+ (local.set $5
+ (local.get $10)
+ )
+ (local.set $10
+ (local.get $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (local.tee $5
+ (i32.load
+ (local.get $19)
+ )
+ )
+ (local.get $16)
+ )
+ (i32.store offset=4
+ (local.get $5)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (local.get $16)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ (local.set $5
+ (local.get $10)
+ )
+ (local.set $10
+ (local.get $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store16
+ (i32.load
+ (local.get $19)
+ )
+ (local.get $16)
+ )
+ (local.set $5
+ (local.get $10)
+ )
+ (local.set $10
+ (local.get $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store8
+ (i32.load
+ (local.get $19)
+ )
+ (local.get $16)
+ )
+ (local.set $5
+ (local.get $10)
+ )
+ (local.set $10
+ (local.get $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (i32.load
+ (local.get $19)
+ )
+ (local.get $16)
+ )
+ (local.set $5
+ (local.get $10)
+ )
+ (local.set $10
+ (local.get $7)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (local.tee $5
+ (i32.load
+ (local.get $19)
+ )
+ )
+ (local.get $16)
+ )
+ (i32.store offset=4
+ (local.get $5)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (local.get $16)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ (local.set $5
+ (local.get $10)
+ )
+ (local.set $10
+ (local.get $7)
+ )
+ (br $label$continue$L1)
+ )
+ (local.set $5
+ (local.get $10)
+ )
+ (local.set $10
+ (local.get $7)
+ )
+ (br $label$continue$L1)
+ )
+ (local.set $7
+ (i32.or
+ (local.get $11)
+ (i32.const 8)
+ )
+ )
+ (local.set $6
+ (select
+ (local.get $6)
+ (i32.const 8)
+ (i32.gt_u
+ (local.get $6)
+ (i32.const 8)
+ )
+ )
+ )
+ (local.set $18
+ (i32.const 120)
+ )
+ (br $__rjti$3)
+ )
+ (local.set $7
+ (local.get $11)
+ )
+ (br $__rjti$3)
+ )
+ (if
+ (i32.and
+ (i32.eqz
+ (local.tee $7
+ (i32.load
+ (local.tee $5
+ (local.get $19)
+ )
+ )
+ )
+ )
+ (i32.eqz
+ (local.tee $8
+ (i32.load offset=4
+ (local.get $5)
+ )
+ )
+ )
+ )
+ (local.set $8
+ (local.get $26)
+ )
+ (block
+ (local.set $5
+ (local.get $7)
+ )
+ (local.set $7
+ (local.get $8)
+ )
+ (local.set $8
+ (local.get $26)
+ )
+ (loop $while-in32
+ (i32.store8
+ (local.tee $8
+ (i32.add
+ (local.get $8)
+ (i32.const -1)
+ )
+ )
+ (i32.or
+ (i32.and
+ (local.get $5)
+ (i32.const 7)
+ )
+ (i32.const 48)
+ )
+ )
+ (br_if $while-in32
+ (i32.eqz
+ (i32.and
+ (i32.eqz
+ (local.tee $5
+ (call $_bitshift64Lshr
+ (local.get $5)
+ (local.get $7)
+ (i32.const 3)
+ )
+ )
+ )
+ (i32.eqz
+ (local.tee $7
+ (global.get $tempRet0)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.set $5
+ (if (result i32)
+ (i32.and
+ (local.get $11)
+ (i32.const 8)
+ )
+ (block (result i32)
+ (local.set $7
+ (local.get $11)
+ )
+ (local.set $6
+ (select
+ (local.tee $11
+ (i32.add
+ (i32.sub
+ (local.get $39)
+ (local.get $8)
+ )
+ (i32.const 1)
+ )
+ )
+ (local.get $6)
+ (i32.lt_s
+ (local.get $6)
+ (local.get $11)
+ )
+ )
+ )
+ (local.get $8)
+ )
+ (block (result i32)
+ (local.set $7
+ (local.get $11)
+ )
+ (local.get $8)
+ )
+ )
+ )
+ (local.set $8
+ (i32.const 0)
+ )
+ (local.set $9
+ (i32.const 4091)
+ )
+ (br $__rjti$8)
+ )
+ (local.set $5
+ (i32.load
+ (local.tee $7
+ (local.get $19)
+ )
+ )
+ )
+ (if
+ (i32.lt_s
+ (local.tee $7
+ (i32.load offset=4
+ (local.get $7)
+ )
+ )
+ (i32.const 0)
+ )
+ (block
+ (i32.store
+ (local.tee $8
+ (local.get $19)
+ )
+ (local.tee $5
+ (call $_i64Subtract
+ (i32.const 0)
+ (i32.const 0)
+ (local.get $5)
+ (local.get $7)
+ )
+ )
+ )
+ (i32.store offset=4
+ (local.get $8)
+ (local.tee $7
+ (global.get $tempRet0)
+ )
+ )
+ (local.set $8
+ (i32.const 1)
+ )
+ (local.set $9
+ (i32.const 4091)
+ )
+ (br $__rjti$4)
+ )
+ )
+ (local.set $9
+ (if (result i32)
+ (i32.and
+ (local.get $11)
+ (i32.const 2048)
+ )
+ (block (result i32)
+ (local.set $8
+ (i32.const 1)
+ )
+ (i32.const 4092)
+ )
+ (block (result i32)
+ (local.set $8
+ (local.tee $9
+ (i32.and
+ (local.get $11)
+ (i32.const 1)
+ )
+ )
+ )
+ (select
+ (i32.const 4093)
+ (i32.const 4091)
+ (local.get $9)
+ )
+ )
+ )
+ )
+ (br $__rjti$4)
+ )
+ (local.set $5
+ (i32.load
+ (local.tee $7
+ (local.get $19)
+ )
+ )
+ )
+ (local.set $7
+ (i32.load offset=4
+ (local.get $7)
+ )
+ )
+ (local.set $8
+ (i32.const 0)
+ )
+ (local.set $9
+ (i32.const 4091)
+ )
+ (br $__rjti$4)
+ )
+ (drop
+ (i32.load offset=4
+ (local.tee $5
+ (local.get $19)
+ )
+ )
+ )
+ (i32.store8
+ (local.get $40)
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (local.set $7
+ (local.get $40)
+ )
+ (local.set $11
+ (local.get $8)
+ )
+ (local.set $12
+ (i32.const 1)
+ )
+ (local.set $8
+ (i32.const 0)
+ )
+ (local.set $9
+ (i32.const 4091)
+ )
+ (br $__rjto$8
+ (local.get $26)
+ )
+ )
+ (local.set $5
+ (call $_strerror
+ (i32.load
+ (call $___errno_location)
+ )
+ )
+ )
+ (br $__rjti$5)
+ )
+ (local.set $5
+ (select
+ (local.tee $5
+ (i32.load
+ (local.get $19)
+ )
+ )
+ (i32.const 4101)
+ (local.get $5)
+ )
+ )
+ (br $__rjti$5)
+ )
+ (drop
+ (i32.load offset=4
+ (local.tee $5
+ (local.get $19)
+ )
+ )
+ )
+ (i32.store
+ (local.get $41)
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (i32.store
+ (local.get $44)
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $19)
+ (local.get $41)
+ )
+ (local.set $8
+ (i32.const -1)
+ )
+ (br $__rjti$6)
+ )
+ (if
+ (local.get $6)
+ (block
+ (local.set $8
+ (local.get $6)
+ )
+ (br $__rjti$6)
+ )
+ (block
+ (call $_pad
+ (local.get $0)
+ (i32.const 32)
+ (local.get $14)
+ (i32.const 0)
+ (local.get $11)
+ )
+ (local.set $7
+ (i32.const 0)
+ )
+ (br $__rjti$7)
+ )
+ )
+ )
+ (local.set $15
+ (f64.load
+ (local.get $19)
+ )
+ )
+ (i32.store
+ (local.get $20)
+ (i32.const 0)
+ )
+ (f64.store
+ (global.get $tempDoublePtr)
+ (local.get $15)
+ )
+ (drop
+ (i32.load
+ (global.get $tempDoublePtr)
+ )
+ )
+ (local.set $31
+ (if (result i32)
+ (i32.lt_s
+ (i32.load offset=4
+ (global.get $tempDoublePtr)
+ )
+ (i32.const 0)
+ )
+ (block (result i32)
+ (local.set $27
+ (i32.const 1)
+ )
+ (local.set $15
+ (f64.neg
+ (local.get $15)
+ )
+ )
+ (i32.const 4108)
+ )
+ (if (result i32)
+ (i32.and
+ (local.get $11)
+ (i32.const 2048)
+ )
+ (block (result i32)
+ (local.set $27
+ (i32.const 1)
+ )
+ (i32.const 4111)
+ )
+ (block (result i32)
+ (local.set $27
+ (local.tee $5
+ (i32.and
+ (local.get $11)
+ (i32.const 1)
+ )
+ )
+ )
+ (select
+ (i32.const 4114)
+ (i32.const 4109)
+ (local.get $5)
+ )
+ )
+ )
+ )
+ )
+ (f64.store
+ (global.get $tempDoublePtr)
+ (local.get $15)
+ )
+ (drop
+ (i32.load
+ (global.get $tempDoublePtr)
+ )
+ )
+ (local.set $7
+ (block $do-once49 (result i32)
+ (if (result i32)
+ (i32.or
+ (i32.lt_u
+ (local.tee $5
+ (i32.and
+ (i32.load offset=4
+ (global.get $tempDoublePtr)
+ )
+ (i32.const 2146435072)
+ )
+ )
+ (i32.const 2146435072)
+ )
+ (i32.and
+ (i32.eq
+ (local.get $5)
+ (i32.const 2146435072)
+ )
+ (i32.const 0)
+ )
+ )
+ (block (result i32)
+ (if
+ (local.tee $5
+ (f64.ne
+ (local.tee $23
+ (f64.mul
+ (call $_frexp
+ (local.get $15)
+ (local.tee $5
+ (local.get $20)
+ )
+ )
+ (f64.const 2)
+ )
+ )
+ (f64.const 0)
+ )
+ )
+ (i32.store
+ (local.get $20)
+ (i32.add
+ (i32.load
+ (local.get $20)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (local.tee $24
+ (i32.or
+ (local.get $18)
+ (i32.const 32)
+ )
+ )
+ (i32.const 97)
+ )
+ (block
+ (local.set $9
+ (select
+ (i32.add
+ (local.get $31)
+ (i32.const 9)
+ )
+ (local.get $31)
+ (local.tee $13
+ (i32.and
+ (local.get $18)
+ (i32.const 32)
+ )
+ )
+ )
+ )
+ (local.set $15
+ (if (result f64)
+ (i32.or
+ (i32.gt_u
+ (local.get $6)
+ (i32.const 11)
+ )
+ (i32.eqz
+ (local.tee $5
+ (i32.sub
+ (i32.const 12)
+ (local.get $6)
+ )
+ )
+ )
+ )
+ (local.get $23)
+ (block (result f64)
+ (local.set $15
+ (f64.const 8)
+ )
+ (loop $while-in54
+ (local.set $15
+ (f64.mul
+ (local.get $15)
+ (f64.const 16)
+ )
+ )
+ (br_if $while-in54
+ (local.tee $5
+ (i32.add
+ (local.get $5)
+ (i32.const -1)
+ )
+ )
+ )
+ )
+ (if (result f64)
+ (i32.eq
+ (i32.load8_s
+ (local.get $9)
+ )
+ (i32.const 45)
+ )
+ (f64.neg
+ (f64.add
+ (local.get $15)
+ (f64.sub
+ (f64.neg
+ (local.get $23)
+ )
+ (local.get $15)
+ )
+ )
+ )
+ (f64.sub
+ (f64.add
+ (local.get $23)
+ (local.get $15)
+ )
+ (local.get $15)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (local.tee $5
+ (call $_fmt_u
+ (local.tee $5
+ (select
+ (i32.sub
+ (i32.const 0)
+ (local.tee $7
+ (i32.load
+ (local.get $20)
+ )
+ )
+ )
+ (local.get $7)
+ (i32.lt_s
+ (local.get $7)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (local.get $5)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ (local.get $34)
+ )
+ )
+ (local.get $34)
+ )
+ (block
+ (i32.store8
+ (local.get $42)
+ (i32.const 48)
+ )
+ (local.set $5
+ (local.get $42)
+ )
+ )
+ )
+ (local.set $12
+ (i32.or
+ (local.get $27)
+ (i32.const 2)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $5)
+ (i32.const -1)
+ )
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (local.get $7)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ (i32.const 43)
+ )
+ )
+ (i32.store8
+ (local.tee $8
+ (i32.add
+ (local.get $5)
+ (i32.const -2)
+ )
+ )
+ (i32.add
+ (local.get $18)
+ (i32.const 15)
+ )
+ )
+ (local.set $18
+ (i32.lt_s
+ (local.get $6)
+ (i32.const 1)
+ )
+ )
+ (local.set $17
+ (i32.eqz
+ (i32.and
+ (local.get $11)
+ (i32.const 8)
+ )
+ )
+ )
+ (local.set $5
+ (local.get $22)
+ )
+ (loop $while-in56
+ (i32.store8
+ (local.get $5)
+ (i32.or
+ (i32.load8_u
+ (i32.add
+ (local.tee $7
+ (call $f64-to-int
+ (local.get $15)
+ )
+ )
+ (i32.const 4075)
+ )
+ )
+ (local.get $13)
+ )
+ )
+ (local.set $15
+ (f64.mul
+ (f64.sub
+ (local.get $15)
+ (f64.convert_i32_s
+ (local.get $7)
+ )
+ )
+ (f64.const 16)
+ )
+ )
+ (local.set $5
+ (block $do-once57 (result i32)
+ (if (result i32)
+ (i32.eq
+ (i32.sub
+ (local.tee $7
+ (i32.add
+ (local.get $5)
+ (i32.const 1)
+ )
+ )
+ (local.get $37)
+ )
+ (i32.const 1)
+ )
+ (block (result i32)
+ (drop
+ (br_if $do-once57
+ (local.get $7)
+ (i32.and
+ (local.get $17)
+ (i32.and
+ (local.get $18)
+ (f64.eq
+ (local.get $15)
+ (f64.const 0)
+ )
+ )
+ )
+ )
+ )
+ (i32.store8
+ (local.get $7)
+ (i32.const 46)
+ )
+ (i32.add
+ (local.get $5)
+ (i32.const 2)
+ )
+ )
+ (local.get $7)
+ )
+ )
+ )
+ (br_if $while-in56
+ (f64.ne
+ (local.get $15)
+ (f64.const 0)
+ )
+ )
+ )
+ (call $_pad
+ (local.get $0)
+ (i32.const 32)
+ (local.get $14)
+ (local.tee $7
+ (i32.add
+ (local.tee $6
+ (select
+ (i32.sub
+ (i32.add
+ (local.get $47)
+ (local.get $6)
+ )
+ (local.get $8)
+ )
+ (i32.add
+ (i32.sub
+ (local.get $45)
+ (local.get $8)
+ )
+ (local.get $5)
+ )
+ (i32.and
+ (i32.ne
+ (local.get $6)
+ (i32.const 0)
+ )
+ (i32.lt_s
+ (i32.add
+ (local.get $46)
+ (local.get $5)
+ )
+ (local.get $6)
+ )
+ )
+ )
+ )
+ (local.get $12)
+ )
+ )
+ (local.get $11)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (local.get $9)
+ (local.get $12)
+ (local.get $0)
+ )
+ )
+ )
+ (call $_pad
+ (local.get $0)
+ (i32.const 48)
+ (local.get $14)
+ (local.get $7)
+ (i32.xor
+ (local.get $11)
+ (i32.const 65536)
+ )
+ )
+ (local.set $5
+ (i32.sub
+ (local.get $5)
+ (local.get $37)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (local.get $22)
+ (local.get $5)
+ (local.get $0)
+ )
+ )
+ )
+ (call $_pad
+ (local.get $0)
+ (i32.const 48)
+ (i32.sub
+ (local.get $6)
+ (i32.add
+ (local.get $5)
+ (local.tee $5
+ (i32.sub
+ (local.get $28)
+ (local.get $8)
+ )
+ )
+ )
+ )
+ (i32.const 0)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (local.get $8)
+ (local.get $5)
+ (local.get $0)
+ )
+ )
+ )
+ (call $_pad
+ (local.get $0)
+ (i32.const 32)
+ (local.get $14)
+ (local.get $7)
+ (i32.xor
+ (local.get $11)
+ (i32.const 8192)
+ )
+ )
+ (br $do-once49
+ (select
+ (local.get $14)
+ (local.get $7)
+ (i32.lt_s
+ (local.get $7)
+ (local.get $14)
+ )
+ )
+ )
+ )
+ )
+ (local.set $15
+ (if (result f64)
+ (local.get $5)
+ (block (result f64)
+ (i32.store
+ (local.get $20)
+ (local.tee $5
+ (i32.add
+ (i32.load
+ (local.get $20)
+ )
+ (i32.const -28)
+ )
+ )
+ )
+ (f64.mul
+ (local.get $23)
+ (f64.const 268435456)
+ )
+ )
+ (block (result f64)
+ (local.set $5
+ (i32.load
+ (local.get $20)
+ )
+ )
+ (local.get $23)
+ )
+ )
+ )
+ (local.set $7
+ (local.tee $8
+ (select
+ (local.get $48)
+ (local.get $49)
+ (i32.lt_s
+ (local.get $5)
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (loop $while-in60
+ (i32.store
+ (local.get $7)
+ (local.tee $5
+ (call $f64-to-int
+ (local.get $15)
+ )
+ )
+ )
+ (local.set $7
+ (i32.add
+ (local.get $7)
+ (i32.const 4)
+ )
+ )
+ (br_if $while-in60
+ (f64.ne
+ (local.tee $15
+ (f64.mul
+ (f64.sub
+ (local.get $15)
+ (f64.convert_i32_u
+ (local.get $5)
+ )
+ )
+ (f64.const 1e9)
+ )
+ )
+ (f64.const 0)
+ )
+ )
+ )
+ (if
+ (i32.gt_s
+ (local.tee $9
+ (i32.load
+ (local.get $20)
+ )
+ )
+ (i32.const 0)
+ )
+ (block
+ (local.set $5
+ (local.get $8)
+ )
+ (loop $while-in62
+ (local.set $13
+ (select
+ (i32.const 29)
+ (local.get $9)
+ (i32.gt_s
+ (local.get $9)
+ (i32.const 29)
+ )
+ )
+ )
+ (block $do-once63
+ (if
+ (i32.ge_u
+ (local.tee $9
+ (i32.add
+ (local.get $7)
+ (i32.const -4)
+ )
+ )
+ (local.get $5)
+ )
+ (block
+ (local.set $12
+ (i32.const 0)
+ )
+ (loop $while-in66
+ (i32.store
+ (local.get $9)
+ (call $___uremdi3
+ (local.tee $12
+ (call $_i64Add
+ (call $_bitshift64Shl
+ (i32.load
+ (local.get $9)
+ )
+ (i32.const 0)
+ (local.get $13)
+ )
+ (global.get $tempRet0)
+ (local.get $12)
+ (i32.const 0)
+ )
+ )
+ (local.tee $17
+ (global.get $tempRet0)
+ )
+ (i32.const 1000000000)
+ (i32.const 0)
+ )
+ )
+ (local.set $12
+ (call $___udivdi3
+ (local.get $12)
+ (local.get $17)
+ (i32.const 1000000000)
+ (i32.const 0)
+ )
+ )
+ (br_if $while-in66
+ (i32.ge_u
+ (local.tee $9
+ (i32.add
+ (local.get $9)
+ (i32.const -4)
+ )
+ )
+ (local.get $5)
+ )
+ )
+ )
+ (br_if $do-once63
+ (i32.eqz
+ (local.get $12)
+ )
+ )
+ (i32.store
+ (local.tee $5
+ (i32.add
+ (local.get $5)
+ (i32.const -4)
+ )
+ )
+ (local.get $12)
+ )
+ )
+ )
+ )
+ (loop $while-in68
+ (if
+ (i32.gt_u
+ (local.get $7)
+ (local.get $5)
+ )
+ (if
+ (i32.eqz
+ (i32.load
+ (local.tee $9
+ (i32.add
+ (local.get $7)
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $7
+ (local.get $9)
+ )
+ (br $while-in68)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $20)
+ (local.tee $9
+ (i32.sub
+ (i32.load
+ (local.get $20)
+ )
+ (local.get $13)
+ )
+ )
+ )
+ (br_if $while-in62
+ (i32.gt_s
+ (local.get $9)
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (local.set $5
+ (local.get $8)
+ )
+ )
+ (local.set $17
+ (select
+ (i32.const 6)
+ (local.get $6)
+ (i32.lt_s
+ (local.get $6)
+ (i32.const 0)
+ )
+ )
+ )
+ (if
+ (i32.lt_s
+ (local.get $9)
+ (i32.const 0)
+ )
+ (block
+ (local.set $21
+ (i32.add
+ (call $i32s-div
+ (i32.add
+ (local.get $17)
+ (i32.const 25)
+ )
+ (i32.const 9)
+ )
+ (i32.const 1)
+ )
+ )
+ (local.set $32
+ (i32.eq
+ (local.get $24)
+ (i32.const 102)
+ )
+ )
+ (local.set $6
+ (local.get $5)
+ )
+ (local.set $5
+ (local.get $7)
+ )
+ (loop $while-in70
+ (local.set $13
+ (select
+ (i32.const 9)
+ (local.tee $7
+ (i32.sub
+ (i32.const 0)
+ (local.get $9)
+ )
+ )
+ (i32.gt_s
+ (local.get $7)
+ (i32.const 9)
+ )
+ )
+ )
+ (block $do-once71
+ (if
+ (i32.lt_u
+ (local.get $6)
+ (local.get $5)
+ )
+ (block
+ (local.set $12
+ (i32.add
+ (i32.shl
+ (i32.const 1)
+ (local.get $13)
+ )
+ (i32.const -1)
+ )
+ )
+ (local.set $38
+ (i32.shr_u
+ (i32.const 1000000000)
+ (local.get $13)
+ )
+ )
+ (local.set $9
+ (i32.const 0)
+ )
+ (local.set $7
+ (local.get $6)
+ )
+ (loop $while-in74
+ (i32.store
+ (local.get $7)
+ (i32.add
+ (i32.shr_u
+ (local.tee $33
+ (i32.load
+ (local.get $7)
+ )
+ )
+ (local.get $13)
+ )
+ (local.get $9)
+ )
+ )
+ (local.set $9
+ (i32.mul
+ (i32.and
+ (local.get $33)
+ (local.get $12)
+ )
+ (local.get $38)
+ )
+ )
+ (br_if $while-in74
+ (i32.lt_u
+ (local.tee $7
+ (i32.add
+ (local.get $7)
+ (i32.const 4)
+ )
+ )
+ (local.get $5)
+ )
+ )
+ )
+ (local.set $7
+ (select
+ (local.get $6)
+ (i32.add
+ (local.get $6)
+ (i32.const 4)
+ )
+ (i32.load
+ (local.get $6)
+ )
+ )
+ )
+ (br_if $do-once71
+ (i32.eqz
+ (local.get $9)
+ )
+ )
+ (i32.store
+ (local.get $5)
+ (local.get $9)
+ )
+ (local.set $5
+ (i32.add
+ (local.get $5)
+ (i32.const 4)
+ )
+ )
+ )
+ (local.set $7
+ (select
+ (local.get $6)
+ (i32.add
+ (local.get $6)
+ (i32.const 4)
+ )
+ (i32.load
+ (local.get $6)
+ )
+ )
+ )
+ )
+ )
+ (local.set $12
+ (select
+ (i32.add
+ (local.tee $6
+ (select
+ (local.get $8)
+ (local.get $7)
+ (local.get $32)
+ )
+ )
+ (i32.shl
+ (local.get $21)
+ (i32.const 2)
+ )
+ )
+ (local.get $5)
+ (i32.gt_s
+ (i32.shr_s
+ (i32.sub
+ (local.get $5)
+ (local.get $6)
+ )
+ (i32.const 2)
+ )
+ (local.get $21)
+ )
+ )
+ )
+ (i32.store
+ (local.get $20)
+ (local.tee $9
+ (i32.add
+ (i32.load
+ (local.get $20)
+ )
+ (local.get $13)
+ )
+ )
+ )
+ (if
+ (i32.lt_s
+ (local.get $9)
+ (i32.const 0)
+ )
+ (block
+ (local.set $6
+ (local.get $7)
+ )
+ (local.set $5
+ (local.get $12)
+ )
+ (br $while-in70)
+ )
+ (block
+ (local.set $5
+ (local.get $7)
+ )
+ (local.set $9
+ (local.get $12)
+ )
+ )
+ )
+ )
+ )
+ (local.set $9
+ (local.get $7)
+ )
+ )
+ (local.set $21
+ (local.get $8)
+ )
+ (block $do-once75
+ (if
+ (i32.lt_u
+ (local.get $5)
+ (local.get $9)
+ )
+ (block
+ (local.set $7
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (local.get $21)
+ (local.get $5)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ )
+ (br_if $do-once75
+ (i32.lt_u
+ (local.tee $12
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (i32.const 10)
+ )
+ )
+ (local.set $6
+ (i32.const 10)
+ )
+ (loop $while-in78
+ (local.set $7
+ (i32.add
+ (local.get $7)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in78
+ (i32.ge_u
+ (local.get $12)
+ (local.tee $6
+ (i32.mul
+ (local.get $6)
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.set $7
+ (i32.const 0)
+ )
+ )
+ )
+ (local.set $5
+ (if (result i32)
+ (i32.lt_s
+ (local.tee $6
+ (i32.add
+ (i32.sub
+ (local.get $17)
+ (select
+ (local.get $7)
+ (i32.const 0)
+ (i32.ne
+ (local.get $24)
+ (i32.const 102)
+ )
+ )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.and
+ (local.tee $32
+ (i32.ne
+ (local.get $17)
+ (i32.const 0)
+ )
+ )
+ (local.tee $38
+ (i32.eq
+ (local.get $24)
+ (i32.const 103)
+ )
+ )
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ )
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (local.get $9)
+ (local.get $21)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ (i32.const -9)
+ )
+ )
+ (block (result i32)
+ (local.set $13
+ (call $i32s-div
+ (local.tee $6
+ (i32.add
+ (local.get $6)
+ (i32.const 9216)
+ )
+ )
+ (i32.const 9)
+ )
+ )
+ (if
+ (i32.lt_s
+ (local.tee $6
+ (i32.add
+ (if (result i32)
+ (local.tee $12
+ (i32.const 9)
+ )
+ (i32.rem_s
+ (local.get $6)
+ (local.get $12)
+ )
+ (i32.const 0)
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.const 9)
+ )
+ (block
+ (local.set $12
+ (i32.const 10)
+ )
+ (loop $while-in80
+ (local.set $12
+ (i32.mul
+ (local.get $12)
+ (i32.const 10)
+ )
+ )
+ (br_if $while-in80
+ (i32.ne
+ (local.tee $6
+ (i32.add
+ (local.get $6)
+ (i32.const 1)
+ )
+ )
+ (i32.const 9)
+ )
+ )
+ )
+ )
+ (local.set $12
+ (i32.const 10)
+ )
+ )
+ (local.set $13
+ (call $i32u-rem
+ (local.tee $24
+ (i32.load
+ (local.tee $6
+ (i32.add
+ (i32.add
+ (local.get $8)
+ (i32.shl
+ (local.get $13)
+ (i32.const 2)
+ )
+ )
+ (i32.const -4092)
+ )
+ )
+ )
+ )
+ (local.get $12)
+ )
+ )
+ (block $do-once81
+ (if
+ (i32.eqz
+ (i32.and
+ (local.tee $33
+ (i32.eq
+ (i32.add
+ (local.get $6)
+ (i32.const 4)
+ )
+ (local.get $9)
+ )
+ )
+ (i32.eqz
+ (local.get $13)
+ )
+ )
+ )
+ (block
+ (local.set $50
+ (call $i32u-div
+ (local.get $24)
+ (local.get $12)
+ )
+ )
+ (local.set $15
+ (if (result f64)
+ (i32.lt_u
+ (local.get $13)
+ (local.tee $51
+ (call $i32s-div
+ (local.get $12)
+ (i32.const 2)
+ )
+ )
+ )
+ (f64.const 0.5)
+ (select
+ (f64.const 1)
+ (f64.const 1.5)
+ (i32.and
+ (local.get $33)
+ (i32.eq
+ (local.get $13)
+ (local.get $51)
+ )
+ )
+ )
+ )
+ )
+ (local.set $23
+ (select
+ (f64.const 9007199254740994)
+ (f64.const 9007199254740992)
+ (i32.and
+ (local.get $50)
+ (i32.const 1)
+ )
+ )
+ )
+ (block $do-once83
+ (if
+ (local.get $27)
+ (block
+ (br_if $do-once83
+ (i32.ne
+ (i32.load8_s
+ (local.get $31)
+ )
+ (i32.const 45)
+ )
+ )
+ (local.set $23
+ (f64.neg
+ (local.get $23)
+ )
+ )
+ (local.set $15
+ (f64.neg
+ (local.get $15)
+ )
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $6)
+ (local.tee $13
+ (i32.sub
+ (local.get $24)
+ (local.get $13)
+ )
+ )
+ )
+ (br_if $do-once81
+ (f64.eq
+ (f64.add
+ (local.get $23)
+ (local.get $15)
+ )
+ (local.get $23)
+ )
+ )
+ (i32.store
+ (local.get $6)
+ (local.tee $7
+ (i32.add
+ (local.get $13)
+ (local.get $12)
+ )
+ )
+ )
+ (if
+ (i32.gt_u
+ (local.get $7)
+ (i32.const 999999999)
+ )
+ (loop $while-in86
+ (i32.store
+ (local.get $6)
+ (i32.const 0)
+ )
+ (if
+ (i32.lt_u
+ (local.tee $6
+ (i32.add
+ (local.get $6)
+ (i32.const -4)
+ )
+ )
+ (local.get $5)
+ )
+ (i32.store
+ (local.tee $5
+ (i32.add
+ (local.get $5)
+ (i32.const -4)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (i32.store
+ (local.get $6)
+ (local.tee $7
+ (i32.add
+ (i32.load
+ (local.get $6)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (br_if $while-in86
+ (i32.gt_u
+ (local.get $7)
+ (i32.const 999999999)
+ )
+ )
+ )
+ )
+ (local.set $7
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (local.get $21)
+ (local.get $5)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ )
+ (br_if $do-once81
+ (i32.lt_u
+ (local.tee $13
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (i32.const 10)
+ )
+ )
+ (local.set $12
+ (i32.const 10)
+ )
+ (loop $while-in88
+ (local.set $7
+ (i32.add
+ (local.get $7)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in88
+ (i32.ge_u
+ (local.get $13)
+ (local.tee $12
+ (i32.mul
+ (local.get $12)
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.set $12
+ (local.get $5)
+ )
+ (local.set $13
+ (local.get $7)
+ )
+ (select
+ (local.tee $5
+ (i32.add
+ (local.get $6)
+ (i32.const 4)
+ )
+ )
+ (local.get $9)
+ (i32.gt_u
+ (local.get $9)
+ (local.get $5)
+ )
+ )
+ )
+ (block (result i32)
+ (local.set $12
+ (local.get $5)
+ )
+ (local.set $13
+ (local.get $7)
+ )
+ (local.get $9)
+ )
+ )
+ )
+ (local.set $33
+ (i32.sub
+ (i32.const 0)
+ (local.get $13)
+ )
+ )
+ (loop $while-in90
+ (block $while-out89
+ (if
+ (i32.le_u
+ (local.get $5)
+ (local.get $12)
+ )
+ (block
+ (local.set $24
+ (i32.const 0)
+ )
+ (local.set $9
+ (local.get $5)
+ )
+ (br $while-out89)
+ )
+ )
+ (if
+ (i32.load
+ (local.tee $7
+ (i32.add
+ (local.get $5)
+ (i32.const -4)
+ )
+ )
+ )
+ (block
+ (local.set $24
+ (i32.const 1)
+ )
+ (local.set $9
+ (local.get $5)
+ )
+ )
+ (block
+ (local.set $5
+ (local.get $7)
+ )
+ (br $while-in90)
+ )
+ )
+ )
+ )
+ (call $_pad
+ (local.get $0)
+ (i32.const 32)
+ (local.get $14)
+ (local.tee $13
+ (i32.add
+ (i32.add
+ (i32.add
+ (i32.add
+ (local.get $27)
+ (i32.const 1)
+ )
+ (local.tee $5
+ (block $do-once91 (result i32)
+ (if (result i32)
+ (local.get $38)
+ (block (result i32)
+ (local.set $7
+ (if (result i32)
+ (i32.and
+ (i32.gt_s
+ (local.tee $5
+ (i32.add
+ (i32.xor
+ (local.get $32)
+ (i32.const 1)
+ )
+ (local.get $17)
+ )
+ )
+ (local.get $13)
+ )
+ (i32.gt_s
+ (local.get $13)
+ (i32.const -5)
+ )
+ )
+ (block (result i32)
+ (local.set $17
+ (i32.sub
+ (i32.add
+ (local.get $5)
+ (i32.const -1)
+ )
+ (local.get $13)
+ )
+ )
+ (i32.add
+ (local.get $18)
+ (i32.const -1)
+ )
+ )
+ (block (result i32)
+ (local.set $17
+ (i32.add
+ (local.get $5)
+ (i32.const -1)
+ )
+ )
+ (i32.add
+ (local.get $18)
+ (i32.const -2)
+ )
+ )
+ )
+ )
+ (if
+ (local.tee $5
+ (i32.and
+ (local.get $11)
+ (i32.const 8)
+ )
+ )
+ (block
+ (local.set $21
+ (local.get $5)
+ )
+ (br $do-once91
+ (local.get $17)
+ )
+ )
+ )
+ (block $do-once93
+ (if
+ (local.get $24)
+ (block
+ (if
+ (i32.eqz
+ (local.tee $18
+ (i32.load
+ (i32.add
+ (local.get $9)
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $5
+ (i32.const 9)
+ )
+ (br $do-once93)
+ )
+ )
+ (if
+ (call $i32u-rem
+ (local.get $18)
+ (i32.const 10)
+ )
+ (block
+ (local.set $5
+ (i32.const 0)
+ )
+ (br $do-once93)
+ )
+ (block
+ (local.set $6
+ (i32.const 10)
+ )
+ (local.set $5
+ (i32.const 0)
+ )
+ )
+ )
+ (loop $while-in96
+ (local.set $5
+ (i32.add
+ (local.get $5)
+ (i32.const 1)
+ )
+ )
+ (br_if $while-in96
+ (i32.eqz
+ (call $i32u-rem
+ (local.get $18)
+ (local.tee $6
+ (i32.mul
+ (local.get $6)
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.set $5
+ (i32.const 9)
+ )
+ )
+ )
+ (local.set $6
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (local.get $9)
+ (local.get $21)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ (i32.const -9)
+ )
+ )
+ (if (result i32)
+ (i32.eq
+ (i32.or
+ (local.get $7)
+ (i32.const 32)
+ )
+ (i32.const 102)
+ )
+ (block (result i32)
+ (local.set $21
+ (i32.const 0)
+ )
+ (select
+ (local.get $17)
+ (local.tee $5
+ (select
+ (i32.const 0)
+ (local.tee $5
+ (i32.sub
+ (local.get $6)
+ (local.get $5)
+ )
+ )
+ (i32.lt_s
+ (local.get $5)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.lt_s
+ (local.get $17)
+ (local.get $5)
+ )
+ )
+ )
+ (block (result i32)
+ (local.set $21
+ (i32.const 0)
+ )
+ (select
+ (local.get $17)
+ (local.tee $5
+ (select
+ (i32.const 0)
+ (local.tee $5
+ (i32.sub
+ (i32.add
+ (local.get $6)
+ (local.get $13)
+ )
+ (local.get $5)
+ )
+ )
+ (i32.lt_s
+ (local.get $5)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.lt_s
+ (local.get $17)
+ (local.get $5)
+ )
+ )
+ )
+ )
+ )
+ (block (result i32)
+ (local.set $21
+ (i32.and
+ (local.get $11)
+ (i32.const 8)
+ )
+ )
+ (local.set $7
+ (local.get $18)
+ )
+ (local.get $17)
+ )
+ )
+ )
+ )
+ )
+ (i32.ne
+ (local.tee $32
+ (i32.or
+ (local.get $5)
+ (local.get $21)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (if (result i32)
+ (local.tee $17
+ (i32.eq
+ (i32.or
+ (local.get $7)
+ (i32.const 32)
+ )
+ (i32.const 102)
+ )
+ )
+ (block (result i32)
+ (local.set $18
+ (i32.const 0)
+ )
+ (select
+ (local.get $13)
+ (i32.const 0)
+ (i32.gt_s
+ (local.get $13)
+ (i32.const 0)
+ )
+ )
+ )
+ (block (result i32)
+ (if
+ (i32.lt_s
+ (i32.sub
+ (local.get $28)
+ (local.tee $6
+ (call $_fmt_u
+ (local.tee $6
+ (select
+ (local.get $33)
+ (local.get $13)
+ (i32.lt_s
+ (local.get $13)
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (local.get $6)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ (local.get $34)
+ )
+ )
+ )
+ (i32.const 2)
+ )
+ (loop $while-in98
+ (i32.store8
+ (local.tee $6
+ (i32.add
+ (local.get $6)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in98
+ (i32.lt_s
+ (i32.sub
+ (local.get $28)
+ (local.get $6)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $6)
+ (i32.const -1)
+ )
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (local.get $13)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ (i32.const 43)
+ )
+ )
+ (i32.store8
+ (local.tee $6
+ (i32.add
+ (local.get $6)
+ (i32.const -2)
+ )
+ )
+ (local.get $7)
+ )
+ (local.set $18
+ (local.get $6)
+ )
+ (i32.sub
+ (local.get $28)
+ (local.get $6)
+ )
+ )
+ )
+ )
+ )
+ (local.get $11)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (local.get $31)
+ (local.get $27)
+ (local.get $0)
+ )
+ )
+ )
+ (call $_pad
+ (local.get $0)
+ (i32.const 48)
+ (local.get $14)
+ (local.get $13)
+ (i32.xor
+ (local.get $11)
+ (i32.const 65536)
+ )
+ )
+ (block $do-once99
+ (if
+ (local.get $17)
+ (block
+ (local.set $6
+ (local.tee $12
+ (select
+ (local.get $8)
+ (local.get $12)
+ (i32.gt_u
+ (local.get $12)
+ (local.get $8)
+ )
+ )
+ )
+ )
+ (loop $while-in102
+ (local.set $7
+ (call $_fmt_u
+ (i32.load
+ (local.get $6)
+ )
+ (i32.const 0)
+ (local.get $30)
+ )
+ )
+ (block $do-once103
+ (if
+ (i32.eq
+ (local.get $6)
+ (local.get $12)
+ )
+ (block
+ (br_if $do-once103
+ (i32.ne
+ (local.get $7)
+ (local.get $30)
+ )
+ )
+ (i32.store8
+ (local.get $35)
+ (i32.const 48)
+ )
+ (local.set $7
+ (local.get $35)
+ )
+ )
+ (block
+ (br_if $do-once103
+ (i32.le_u
+ (local.get $7)
+ (local.get $22)
+ )
+ )
+ (loop $while-in106
+ (i32.store8
+ (local.tee $7
+ (i32.add
+ (local.get $7)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in106
+ (i32.gt_u
+ (local.get $7)
+ (local.get $22)
+ )
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (local.get $7)
+ (i32.sub
+ (local.get $43)
+ (local.get $7)
+ )
+ (local.get $0)
+ )
+ )
+ )
+ (if
+ (i32.le_u
+ (local.tee $7
+ (i32.add
+ (local.get $6)
+ (i32.const 4)
+ )
+ )
+ (local.get $8)
+ )
+ (block
+ (local.set $6
+ (local.get $7)
+ )
+ (br $while-in102)
+ )
+ )
+ )
+ (block $do-once107
+ (if
+ (local.get $32)
+ (block
+ (br_if $do-once107
+ (i32.and
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (local.get $0)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.and
+ (i32.gt_s
+ (local.get $5)
+ (i32.const 0)
+ )
+ (i32.lt_u
+ (local.get $7)
+ (local.get $9)
+ )
+ )
+ (loop $while-in110
+ (if
+ (i32.gt_u
+ (local.tee $6
+ (call $_fmt_u
+ (i32.load
+ (local.get $7)
+ )
+ (i32.const 0)
+ (local.get $30)
+ )
+ )
+ (local.get $22)
+ )
+ (loop $while-in112
+ (i32.store8
+ (local.tee $6
+ (i32.add
+ (local.get $6)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in112
+ (i32.gt_u
+ (local.get $6)
+ (local.get $22)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (local.get $6)
+ (select
+ (i32.const 9)
+ (local.get $5)
+ (i32.gt_s
+ (local.get $5)
+ (i32.const 9)
+ )
+ )
+ (local.get $0)
+ )
+ )
+ )
+ (local.set $6
+ (i32.add
+ (local.get $5)
+ (i32.const -9)
+ )
+ )
+ (if
+ (i32.and
+ (i32.gt_s
+ (local.get $5)
+ (i32.const 9)
+ )
+ (i32.lt_u
+ (local.tee $7
+ (i32.add
+ (local.get $7)
+ (i32.const 4)
+ )
+ )
+ (local.get $9)
+ )
+ )
+ (block
+ (local.set $5
+ (local.get $6)
+ )
+ (br $while-in110)
+ )
+ (local.set $5
+ (local.get $6)
+ )
+ )
+ )
+ )
+ (call $_pad
+ (local.get $0)
+ (i32.const 48)
+ (i32.add
+ (local.get $5)
+ (i32.const 9)
+ )
+ (i32.const 9)
+ (i32.const 0)
+ )
+ )
+ (block
+ (local.set $9
+ (select
+ (local.get $9)
+ (i32.add
+ (local.get $12)
+ (i32.const 4)
+ )
+ (local.get $24)
+ )
+ )
+ (if
+ (i32.gt_s
+ (local.get $5)
+ (i32.const -1)
+ )
+ (block
+ (local.set $17
+ (i32.eqz
+ (local.get $21)
+ )
+ )
+ (local.set $6
+ (local.get $12)
+ )
+ (local.set $7
+ (local.get $5)
+ )
+ (loop $while-in114
+ (if
+ (i32.eq
+ (local.tee $5
+ (call $_fmt_u
+ (i32.load
+ (local.get $6)
+ )
+ (i32.const 0)
+ (local.get $30)
+ )
+ )
+ (local.get $30)
+ )
+ (block
+ (i32.store8
+ (local.get $35)
+ (i32.const 48)
+ )
+ (local.set $5
+ (local.get $35)
+ )
+ )
+ )
+ (block $do-once115
+ (if
+ (i32.eq
+ (local.get $6)
+ (local.get $12)
+ )
+ (block
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (local.get $5)
+ (i32.const 1)
+ (local.get $0)
+ )
+ )
+ )
+ (local.set $5
+ (i32.add
+ (local.get $5)
+ (i32.const 1)
+ )
+ )
+ (br_if $do-once115
+ (i32.and
+ (local.get $17)
+ (i32.lt_s
+ (local.get $7)
+ (i32.const 1)
+ )
+ )
+ )
+ (br_if $do-once115
+ (i32.and
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (local.get $0)
+ )
+ )
+ )
+ (block
+ (br_if $do-once115
+ (i32.le_u
+ (local.get $5)
+ (local.get $22)
+ )
+ )
+ (loop $while-in118
+ (i32.store8
+ (local.tee $5
+ (i32.add
+ (local.get $5)
+ (i32.const -1)
+ )
+ )
+ (i32.const 48)
+ )
+ (br_if $while-in118
+ (i32.gt_u
+ (local.get $5)
+ (local.get $22)
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.set $8
+ (i32.sub
+ (local.get $43)
+ (local.get $5)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (local.get $5)
+ (select
+ (local.get $8)
+ (local.get $7)
+ (i32.gt_s
+ (local.get $7)
+ (local.get $8)
+ )
+ )
+ (local.get $0)
+ )
+ )
+ )
+ (br_if $while-in114
+ (i32.and
+ (i32.lt_u
+ (local.tee $6
+ (i32.add
+ (local.get $6)
+ (i32.const 4)
+ )
+ )
+ (local.get $9)
+ )
+ (i32.gt_s
+ (local.tee $7
+ (i32.sub
+ (local.get $7)
+ (local.get $8)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (local.set $5
+ (local.get $7)
+ )
+ )
+ )
+ )
+ (call $_pad
+ (local.get $0)
+ (i32.const 48)
+ (i32.add
+ (local.get $5)
+ (i32.const 18)
+ )
+ (i32.const 18)
+ (i32.const 0)
+ )
+ (br_if $do-once99
+ (i32.and
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (local.get $18)
+ (i32.sub
+ (local.get $28)
+ (local.get $18)
+ )
+ (local.get $0)
+ )
+ )
+ )
+ )
+ )
+ (call $_pad
+ (local.get $0)
+ (i32.const 32)
+ (local.get $14)
+ (local.get $13)
+ (i32.xor
+ (local.get $11)
+ (i32.const 8192)
+ )
+ )
+ (select
+ (local.get $14)
+ (local.get $13)
+ (i32.lt_s
+ (local.get $13)
+ (local.get $14)
+ )
+ )
+ )
+ (block (result i32)
+ (call $_pad
+ (local.get $0)
+ (i32.const 32)
+ (local.get $14)
+ (local.tee $7
+ (i32.add
+ (local.tee $9
+ (select
+ (i32.const 0)
+ (local.get $27)
+ (local.tee $6
+ (i32.or
+ (f64.ne
+ (local.get $15)
+ (local.get $15)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (i32.const 3)
+ )
+ )
+ (local.get $8)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (local.tee $5
+ (i32.load
+ (local.get $0)
+ )
+ )
+ (i32.const 32)
+ )
+ )
+ (block
+ (drop
+ (call $___fwritex
+ (local.get $31)
+ (local.get $9)
+ (local.get $0)
+ )
+ )
+ (local.set $5
+ (i32.load
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (local.set $6
+ (select
+ (select
+ (i32.const 4135)
+ (i32.const 4139)
+ (local.tee $8
+ (i32.ne
+ (i32.and
+ (local.get $18)
+ (i32.const 32)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (select
+ (i32.const 4127)
+ (i32.const 4131)
+ (local.get $8)
+ )
+ (local.get $6)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (local.get $5)
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (local.get $6)
+ (i32.const 3)
+ (local.get $0)
+ )
+ )
+ )
+ (call $_pad
+ (local.get $0)
+ (i32.const 32)
+ (local.get $14)
+ (local.get $7)
+ (i32.xor
+ (local.get $11)
+ (i32.const 8192)
+ )
+ )
+ (select
+ (local.get $14)
+ (local.get $7)
+ (i32.lt_s
+ (local.get $7)
+ (local.get $14)
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.set $5
+ (local.get $10)
+ )
+ (local.set $10
+ (local.get $7)
+ )
+ (br $label$continue$L1)
+ )
+ (local.set $7
+ (local.get $5)
+ )
+ (local.set $12
+ (local.get $6)
+ )
+ (local.set $8
+ (i32.const 0)
+ )
+ (local.set $9
+ (i32.const 4091)
+ )
+ (br $__rjto$8
+ (local.get $26)
+ )
+ )
+ (local.set $9
+ (i32.and
+ (local.get $18)
+ (i32.const 32)
+ )
+ )
+ (if
+ (i32.and
+ (i32.eqz
+ (local.tee $8
+ (i32.load
+ (local.tee $5
+ (local.get $19)
+ )
+ )
+ )
+ )
+ (i32.eqz
+ (local.tee $11
+ (i32.load offset=4
+ (local.get $5)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $5
+ (local.get $26)
+ )
+ (local.set $8
+ (i32.const 0)
+ )
+ (local.set $9
+ (i32.const 4091)
+ )
+ (br $__rjti$8)
+ )
+ (block
+ (local.set $5
+ (local.get $8)
+ )
+ (local.set $8
+ (local.get $26)
+ )
+ (loop $while-in123
+ (i32.store8
+ (local.tee $8
+ (i32.add
+ (local.get $8)
+ (i32.const -1)
+ )
+ )
+ (i32.or
+ (i32.load8_u
+ (i32.add
+ (i32.and
+ (local.get $5)
+ (i32.const 15)
+ )
+ (i32.const 4075)
+ )
+ )
+ (local.get $9)
+ )
+ )
+ (br_if $while-in123
+ (i32.eqz
+ (i32.and
+ (i32.eqz
+ (local.tee $5
+ (call $_bitshift64Lshr
+ (local.get $5)
+ (local.get $11)
+ (i32.const 4)
+ )
+ )
+ )
+ (i32.eqz
+ (local.tee $11
+ (global.get $tempRet0)
+ )
+ )
+ )
+ )
+ )
+ (local.set $5
+ (local.get $8)
+ )
+ )
+ (local.set $8
+ (if (result i32)
+ (i32.or
+ (i32.eqz
+ (i32.and
+ (local.get $7)
+ (i32.const 8)
+ )
+ )
+ (i32.and
+ (i32.eqz
+ (i32.load
+ (local.tee $11
+ (local.get $19)
+ )
+ )
+ )
+ (i32.eqz
+ (i32.load offset=4
+ (local.get $11)
+ )
+ )
+ )
+ )
+ (block (result i32)
+ (local.set $9
+ (i32.const 4091)
+ )
+ (i32.const 0)
+ )
+ (block (result i32)
+ (local.set $9
+ (i32.add
+ (i32.shr_s
+ (local.get $18)
+ (i32.const 4)
+ )
+ (i32.const 4091)
+ )
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ (br $__rjti$8)
+ )
+ )
+ )
+ (local.set $5
+ (call $_fmt_u
+ (local.get $5)
+ (local.get $7)
+ (local.get $26)
+ )
+ )
+ (local.set $7
+ (local.get $11)
+ )
+ (br $__rjti$8)
+ )
+ (local.set $18
+ (i32.eqz
+ (local.tee $13
+ (call $_memchr
+ (local.get $5)
+ (i32.const 0)
+ (local.get $6)
+ )
+ )
+ )
+ )
+ (local.set $7
+ (local.get $5)
+ )
+ (local.set $11
+ (local.get $8)
+ )
+ (local.set $12
+ (select
+ (local.get $6)
+ (i32.sub
+ (local.get $13)
+ (local.get $5)
+ )
+ (local.get $18)
+ )
+ )
+ (local.set $8
+ (i32.const 0)
+ )
+ (local.set $9
+ (i32.const 4091)
+ )
+ (br $__rjto$8
+ (select
+ (i32.add
+ (local.get $5)
+ (local.get $6)
+ )
+ (local.get $13)
+ (local.get $18)
+ )
+ )
+ )
+ (local.set $5
+ (i32.const 0)
+ )
+ (local.set $7
+ (i32.const 0)
+ )
+ (local.set $6
+ (i32.load
+ (local.get $19)
+ )
+ )
+ (loop $while-in125
+ (block $while-out124
+ (br_if $while-out124
+ (i32.eqz
+ (local.tee $9
+ (i32.load
+ (local.get $6)
+ )
+ )
+ )
+ )
+ (br_if $while-out124
+ (i32.or
+ (i32.lt_s
+ (local.tee $7
+ (call $_wctomb
+ (local.get $36)
+ (local.get $9)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.gt_u
+ (local.get $7)
+ (i32.sub
+ (local.get $8)
+ (local.get $5)
+ )
+ )
+ )
+ )
+ (local.set $6
+ (i32.add
+ (local.get $6)
+ (i32.const 4)
+ )
+ )
+ (br_if $while-in125
+ (i32.gt_u
+ (local.get $8)
+ (local.tee $5
+ (i32.add
+ (local.get $7)
+ (local.get $5)
+ )
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_s
+ (local.get $7)
+ (i32.const 0)
+ )
+ (block
+ (local.set $16
+ (i32.const -1)
+ )
+ (br $label$break$L1)
+ )
+ )
+ (call $_pad
+ (local.get $0)
+ (i32.const 32)
+ (local.get $14)
+ (local.get $5)
+ (local.get $11)
+ )
+ (if
+ (local.get $5)
+ (block
+ (local.set $6
+ (i32.const 0)
+ )
+ (local.set $7
+ (i32.load
+ (local.get $19)
+ )
+ )
+ (loop $while-in127
+ (if
+ (i32.eqz
+ (local.tee $8
+ (i32.load
+ (local.get $7)
+ )
+ )
+ )
+ (block
+ (local.set $7
+ (local.get $5)
+ )
+ (br $__rjti$7)
+ )
+ )
+ (if
+ (i32.gt_s
+ (local.tee $6
+ (i32.add
+ (local.tee $8
+ (call $_wctomb
+ (local.get $36)
+ (local.get $8)
+ )
+ )
+ (local.get $6)
+ )
+ )
+ (local.get $5)
+ )
+ (block
+ (local.set $7
+ (local.get $5)
+ )
+ (br $__rjti$7)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (local.get $36)
+ (local.get $8)
+ (local.get $0)
+ )
+ )
+ )
+ (local.set $7
+ (i32.add
+ (local.get $7)
+ (i32.const 4)
+ )
+ )
+ (br_if $while-in127
+ (i32.lt_u
+ (local.get $6)
+ (local.get $5)
+ )
+ )
+ (local.set $7
+ (local.get $5)
+ )
+ )
+ )
+ (local.set $7
+ (i32.const 0)
+ )
+ )
+ )
+ (call $_pad
+ (local.get $0)
+ (i32.const 32)
+ (local.get $14)
+ (local.get $7)
+ (i32.xor
+ (local.get $11)
+ (i32.const 8192)
+ )
+ )
+ (local.set $5
+ (local.get $10)
+ )
+ (local.set $10
+ (select
+ (local.get $14)
+ (local.get $7)
+ (i32.gt_s
+ (local.get $14)
+ (local.get $7)
+ )
+ )
+ )
+ (br $label$continue$L1)
+ )
+ (local.set $11
+ (select
+ (i32.and
+ (local.get $7)
+ (i32.const -65537)
+ )
+ (local.get $7)
+ (i32.gt_s
+ (local.get $6)
+ (i32.const -1)
+ )
+ )
+ )
+ (local.set $12
+ (if (result i32)
+ (i32.or
+ (local.get $6)
+ (local.tee $12
+ (i32.or
+ (i32.ne
+ (i32.load
+ (local.tee $7
+ (local.get $19)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.ne
+ (i32.load offset=4
+ (local.get $7)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (block (result i32)
+ (local.set $7
+ (local.get $5)
+ )
+ (select
+ (local.get $6)
+ (local.tee $5
+ (i32.add
+ (i32.xor
+ (i32.and
+ (local.get $12)
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (i32.sub
+ (local.get $39)
+ (local.get $5)
+ )
+ )
+ )
+ (i32.gt_s
+ (local.get $6)
+ (local.get $5)
+ )
+ )
+ )
+ (block (result i32)
+ (local.set $7
+ (local.get $26)
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (local.get $26)
+ )
+ )
+ (call $_pad
+ (local.get $0)
+ (i32.const 32)
+ (local.tee $6
+ (select
+ (local.tee $5
+ (i32.add
+ (local.get $8)
+ (local.tee $12
+ (select
+ (local.tee $13
+ (i32.sub
+ (local.get $5)
+ (local.get $7)
+ )
+ )
+ (local.get $12)
+ (i32.lt_s
+ (local.get $12)
+ (local.get $13)
+ )
+ )
+ )
+ )
+ )
+ (local.get $14)
+ (i32.lt_s
+ (local.get $14)
+ (local.get $5)
+ )
+ )
+ )
+ (local.get $5)
+ (local.get $11)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (local.get $9)
+ (local.get $8)
+ (local.get $0)
+ )
+ )
+ )
+ (call $_pad
+ (local.get $0)
+ (i32.const 48)
+ (local.get $6)
+ (local.get $5)
+ (i32.xor
+ (local.get $11)
+ (i32.const 65536)
+ )
+ )
+ (call $_pad
+ (local.get $0)
+ (i32.const 48)
+ (local.get $12)
+ (local.get $13)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 32)
+ )
+ )
+ (drop
+ (call $___fwritex
+ (local.get $7)
+ (local.get $13)
+ (local.get $0)
+ )
+ )
+ )
+ (call $_pad
+ (local.get $0)
+ (i32.const 32)
+ (local.get $6)
+ (local.get $5)
+ (i32.xor
+ (local.get $11)
+ (i32.const 8192)
+ )
+ )
+ (local.set $5
+ (local.get $10)
+ )
+ (local.set $10
+ (local.get $6)
+ )
+ (br $label$continue$L1)
+ )
+ )
+ (br $label$break$L343)
+ )
+ (if
+ (i32.eqz
+ (local.get $0)
+ )
+ (if
+ (local.get $1)
+ (block
+ (local.set $0
+ (i32.const 1)
+ )
+ (loop $while-in130
+ (if
+ (local.tee $1
+ (i32.load
+ (i32.add
+ (local.get $4)
+ (i32.shl
+ (local.get $0)
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (block
+ (call $_pop_arg_336
+ (i32.add
+ (local.get $3)
+ (i32.shl
+ (local.get $0)
+ (i32.const 3)
+ )
+ )
+ (local.get $1)
+ (local.get $2)
+ )
+ (br_if $while-in130
+ (i32.lt_s
+ (local.tee $0
+ (i32.add
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ (i32.const 10)
+ )
+ )
+ (local.set $16
+ (i32.const 1)
+ )
+ (br $label$break$L343)
+ )
+ )
+ )
+ (if
+ (i32.lt_s
+ (local.get $0)
+ (i32.const 10)
+ )
+ (loop $while-in132
+ (if
+ (i32.load
+ (i32.add
+ (local.get $4)
+ (i32.shl
+ (local.get $0)
+ (i32.const 2)
+ )
+ )
+ )
+ (block
+ (local.set $16
+ (i32.const -1)
+ )
+ (br $label$break$L343)
+ )
+ )
+ (br_if $while-in132
+ (i32.lt_s
+ (local.tee $0
+ (i32.add
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ (i32.const 10)
+ )
+ )
+ (local.set $16
+ (i32.const 1)
+ )
+ )
+ (local.set $16
+ (i32.const 1)
+ )
+ )
+ )
+ (local.set $16
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (global.set $STACKTOP
+ (local.get $25)
+ )
+ (local.get $16)
+ )
+ ;; CHECK: (func $_pop_arg_336 (param $0 i32) (param $1 i32) (param $2 i32)
+ ;; CHECK-NEXT: (local $3 i32)
+ ;; CHECK-NEXT: (local $4 f64)
+ ;; CHECK-NEXT: (local $5 i32)
+ ;; CHECK-NEXT: (block $label$break$L1
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.le_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $switch-default
+ ;; CHECK-NEXT: (block $switch-case9
+ ;; CHECK-NEXT: (block $switch-case8
+ ;; CHECK-NEXT: (block $switch-case7
+ ;; CHECK-NEXT: (block $switch-case6
+ ;; CHECK-NEXT: (block $switch-case5
+ ;; CHECK-NEXT: (block $switch-case4
+ ;; CHECK-NEXT: (block $switch-case3
+ ;; CHECK-NEXT: (block $switch-case2
+ ;; CHECK-NEXT: (block $switch-case1
+ ;; CHECK-NEXT: (block $switch-case
+ ;; CHECK-NEXT: (br_table $switch-case $switch-case1 $switch-case2 $switch-case3 $switch-case4 $switch-case5 $switch-case6 $switch-case7 $switch-case8 $switch-case9 $switch-default
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 65535)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 65535)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 255)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.shr_s
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 255)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (f64.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (f64.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (f64.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (f64.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $_pop_arg_336 (param $0 i32) (param $1 i32) (param $2 i32)
+ (local $3 i32)
+ (local $4 f64)
+ (local $5 i32)
+ (block $label$break$L1
+ (if
+ (i32.le_u
+ (local.get $1)
+ (i32.const 20)
+ )
+ (block $switch-default
+ (block $switch-case9
+ (block $switch-case8
+ (block $switch-case7
+ (block $switch-case6
+ (block $switch-case5
+ (block $switch-case4
+ (block $switch-case3
+ (block $switch-case2
+ (block $switch-case1
+ (block $switch-case
+ (br_table $switch-case $switch-case1 $switch-case2 $switch-case3 $switch-case4 $switch-case5 $switch-case6 $switch-case7 $switch-case8 $switch-case9 $switch-default
+ (i32.sub
+ (local.get $1)
+ (i32.const 9)
+ )
+ )
+ )
+ (local.set $3
+ (i32.load
+ (local.tee $1
+ (i32.and
+ (i32.add
+ (i32.load
+ (local.get $2)
+ )
+ (i32.const 3)
+ )
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (i32.store
+ (local.get $0)
+ (local.get $3)
+ )
+ (br $label$break$L1)
+ )
+ (local.set $1
+ (i32.load
+ (local.tee $3
+ (i32.and
+ (i32.add
+ (i32.load
+ (local.get $2)
+ )
+ (i32.const 3)
+ )
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.get $3)
+ (i32.const 4)
+ )
+ )
+ (i32.store
+ (local.get $0)
+ (local.get $1)
+ )
+ (i32.store offset=4
+ (local.get $0)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (local.get $1)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ (br $label$break$L1)
+ )
+ (local.set $3
+ (i32.load
+ (local.tee $1
+ (i32.and
+ (i32.add
+ (i32.load
+ (local.get $2)
+ )
+ (i32.const 3)
+ )
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (i32.store
+ (local.get $0)
+ (local.get $3)
+ )
+ (i32.store offset=4
+ (local.get $0)
+ (i32.const 0)
+ )
+ (br $label$break$L1)
+ )
+ (local.set $5
+ (i32.load
+ (local.tee $3
+ (local.tee $1
+ (i32.and
+ (i32.add
+ (i32.load
+ (local.get $2)
+ )
+ (i32.const 7)
+ )
+ (i32.const -8)
+ )
+ )
+ )
+ )
+ )
+ (local.set $3
+ (i32.load offset=4
+ (local.get $3)
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ (i32.store
+ (local.get $0)
+ (local.get $5)
+ )
+ (i32.store offset=4
+ (local.get $0)
+ (local.get $3)
+ )
+ (br $label$break$L1)
+ )
+ (local.set $3
+ (i32.load
+ (local.tee $1
+ (i32.and
+ (i32.add
+ (i32.load
+ (local.get $2)
+ )
+ (i32.const 3)
+ )
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (i32.store
+ (local.get $0)
+ (local.tee $1
+ (i32.shr_s
+ (i32.shl
+ (i32.and
+ (local.get $3)
+ (i32.const 65535)
+ )
+ (i32.const 16)
+ )
+ (i32.const 16)
+ )
+ )
+ )
+ (i32.store offset=4
+ (local.get $0)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (local.get $1)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ (br $label$break$L1)
+ )
+ (local.set $3
+ (i32.load
+ (local.tee $1
+ (i32.and
+ (i32.add
+ (i32.load
+ (local.get $2)
+ )
+ (i32.const 3)
+ )
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (i32.store
+ (local.get $0)
+ (i32.and
+ (local.get $3)
+ (i32.const 65535)
+ )
+ )
+ (i32.store offset=4
+ (local.get $0)
+ (i32.const 0)
+ )
+ (br $label$break$L1)
+ )
+ (local.set $3
+ (i32.load
+ (local.tee $1
+ (i32.and
+ (i32.add
+ (i32.load
+ (local.get $2)
+ )
+ (i32.const 3)
+ )
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (i32.store
+ (local.get $0)
+ (local.tee $1
+ (i32.shr_s
+ (i32.shl
+ (i32.and
+ (local.get $3)
+ (i32.const 255)
+ )
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ )
+ )
+ (i32.store offset=4
+ (local.get $0)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (local.get $1)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
+ )
+ )
+ (br $label$break$L1)
+ )
+ (local.set $3
+ (i32.load
+ (local.tee $1
+ (i32.and
+ (i32.add
+ (i32.load
+ (local.get $2)
+ )
+ (i32.const 3)
+ )
+ (i32.const -4)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (i32.store
+ (local.get $0)
+ (i32.and
+ (local.get $3)
+ (i32.const 255)
+ )
+ )
+ (i32.store offset=4
+ (local.get $0)
+ (i32.const 0)
+ )
+ (br $label$break$L1)
+ )
+ (local.set $4
+ (f64.load
+ (local.tee $1
+ (i32.and
+ (i32.add
+ (i32.load
+ (local.get $2)
+ )
+ (i32.const 7)
+ )
+ (i32.const -8)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ (f64.store
+ (local.get $0)
+ (local.get $4)
+ )
+ (br $label$break$L1)
+ )
+ (local.set $4
+ (f64.load
+ (local.tee $1
+ (i32.and
+ (i32.add
+ (i32.load
+ (local.get $2)
+ )
+ (i32.const 7)
+ )
+ (i32.const -8)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ (f64.store
+ (local.get $0)
+ (local.get $4)
+ )
+ )
+ )
+ )
+ )
+ ;; CHECK: (func $_fmt_u (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ ;; CHECK-NEXT: (local $3 i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (loop $while-in
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (call $___uremdi3
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (call $___udivdi3
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (global.get $tempRet0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (loop $while-in1
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.rem_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.div_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ (func $_fmt_u (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (local $3 i32)
+ (local $4 i32)
+ (if
+ (i32.or
+ (i32.gt_u
+ (local.get $1)
+ (i32.const 0)
+ )
+ (i32.and
+ (i32.eqz
+ (local.get $1)
+ )
+ (i32.gt_u
+ (local.get $0)
+ (i32.const -1)
+ )
+ )
+ )
+ (loop $while-in
+ (i32.store8
+ (local.tee $2
+ (i32.add
+ (local.get $2)
+ (i32.const -1)
+ )
+ )
+ (i32.or
+ (local.tee $3
+ (call $___uremdi3
+ (local.get $0)
+ (local.get $1)
+ (i32.const 10)
+ (i32.const 0)
+ )
+ )
+ (i32.const 48)
+ )
+ )
+ (local.set $3
+ (call $___udivdi3
+ (local.get $0)
+ (local.get $1)
+ (i32.const 10)
+ (i32.const 0)
+ )
+ )
+ (local.set $4
+ (global.get $tempRet0)
+ )
+ (if
+ (i32.or
+ (i32.gt_u
+ (local.get $1)
+ (i32.const 9)
+ )
+ (i32.and
+ (i32.eq
+ (local.get $1)
+ (i32.const 9)
+ )
+ (i32.gt_u
+ (local.get $0)
+ (i32.const -1)
+ )
+ )
+ )
+ (block
+ (local.set $0
+ (local.get $3)
+ )
+ (local.set $1
+ (local.get $4)
+ )
+ (br $while-in)
+ )
+ (local.set $0
+ (local.get $3)
+ )
+ )
+ )
+ )
+ (if
+ (local.get $0)
+ (loop $while-in1
+ (i32.store8
+ (local.tee $2
+ (i32.add
+ (local.get $2)
+ (i32.const -1)
+ )
+ )
+ (i32.or
+ (call $i32u-rem
+ (local.get $0)
+ (i32.const 10)
+ )
+ (i32.const 48)
+ )
+ )
+ (local.set $1
+ (call $i32u-div
+ (local.get $0)
+ (i32.const 10)
+ )
+ )
+ (if
+ (i32.ge_u
+ (local.get $0)
+ (i32.const 10)
+ )
+ (block
+ (local.set $0
+ (local.get $1)
+ )
+ (br $while-in1)
+ )
+ )
+ )
+ )
+ (local.get $2)
+ )
+ ;; CHECK: (func $_pad (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
+ ;; CHECK-NEXT: (local $5 i32)
+ ;; CHECK-NEXT: (local $6 i32)
+ ;; CHECK-NEXT: (local $7 i32)
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (i32.const 256)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_s
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (global.get $STACK_MAX)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 73728)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $_memset
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 256)
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 256)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 255)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block271
+ ;; CHECK-NEXT: (loop $while-in
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (block $block273
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 256)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const -256)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 255)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $do-once
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 255)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $do-once
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___fwritex
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $_pad (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
+ (local $5 i32)
+ (local $6 i32)
+ (local $7 i32)
+ (local.set $7
+ (global.get $STACKTOP)
+ )
+ (global.set $STACKTOP
+ (i32.add
+ (global.get $STACKTOP)
+ (i32.const 256)
+ )
+ )
+ (if
+ (i32.ge_s
+ (global.get $STACKTOP)
+ (global.get $STACK_MAX)
+ )
+ (call $abort)
+ )
+ (local.set $6
+ (local.get $7)
+ )
+ (block $do-once
+ (if
+ (i32.and
+ (i32.gt_s
+ (local.get $2)
+ (local.get $3)
+ )
+ (i32.eqz
+ (i32.and
+ (local.get $4)
+ (i32.const 73728)
+ )
+ )
+ )
+ (block
+ (drop
+ (call $_memset
+ (local.get $6)
+ (local.get $1)
+ (select
+ (i32.const 256)
+ (local.tee $5
+ (i32.sub
+ (local.get $2)
+ (local.get $3)
+ )
+ )
+ (i32.gt_u
+ (local.get $5)
+ (i32.const 256)
+ )
+ )
+ )
+ )
+ (local.set $4
+ (i32.eqz
+ (i32.and
+ (local.tee $1
+ (i32.load
+ (local.get $0)
+ )
+ )
+ (i32.const 32)
+ )
+ )
+ )
+ (if
+ (i32.gt_u
+ (local.get $5)
+ (i32.const 255)
+ )
+ (block
+ (loop $while-in
+ (if
+ (local.get $4)
+ (block
+ (drop
+ (call $___fwritex
+ (local.get $6)
+ (i32.const 256)
+ (local.get $0)
+ )
+ )
+ (local.set $1
+ (i32.load
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (local.set $4
+ (i32.eqz
+ (i32.and
+ (local.get $1)
+ (i32.const 32)
+ )
+ )
+ )
+ (br_if $while-in
+ (i32.gt_u
+ (local.tee $5
+ (i32.add
+ (local.get $5)
+ (i32.const -256)
+ )
+ )
+ (i32.const 255)
+ )
+ )
+ )
+ (br_if $do-once
+ (i32.eqz
+ (local.get $4)
+ )
+ )
+ (local.set $5
+ (i32.and
+ (i32.sub
+ (local.get $2)
+ (local.get $3)
+ )
+ (i32.const 255)
+ )
+ )
+ )
+ (br_if $do-once
+ (i32.eqz
+ (local.get $4)
+ )
+ )
+ )
+ (drop
+ (call $___fwritex
+ (local.get $6)
+ (local.get $5)
+ (local.get $0)
+ )
+ )
+ )
+ )
+ )
+ (global.set $STACKTOP
+ (local.get $7)
+ )
+ )
+ ;; CHECK: (func $_malloc (param $0 i32) (result i32)
+ ;; CHECK-NEXT: (local $1 i32)
+ ;; CHECK-NEXT: (local $2 i32)
+ ;; CHECK-NEXT: (local $3 i32)
+ ;; CHECK-NEXT: (local $4 i32)
+ ;; CHECK-NEXT: (local $5 i32)
+ ;; CHECK-NEXT: (local $6 i32)
+ ;; CHECK-NEXT: (local $7 i32)
+ ;; CHECK-NEXT: (local $8 i32)
+ ;; CHECK-NEXT: (local $9 i32)
+ ;; CHECK-NEXT: (local $10 i32)
+ ;; CHECK-NEXT: (local $11 i32)
+ ;; CHECK-NEXT: (local $12 i32)
+ ;; CHECK-NEXT: (local $13 i32)
+ ;; CHECK-NEXT: (local $14 i32)
+ ;; CHECK-NEXT: (local $15 i32)
+ ;; CHECK-NEXT: (local $16 i32)
+ ;; CHECK-NEXT: (local $17 i32)
+ ;; CHECK-NEXT: (local $18 i32)
+ ;; CHECK-NEXT: (block $folding-inner0
+ ;; CHECK-NEXT: (block $do-once
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 245)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $11
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $13
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block275
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 216)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block277
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block280
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 184)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block282
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (block $block284
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $12
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 216)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block286
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block287
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block290
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 184)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (block $block292
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 196)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 216)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block295
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block296
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 184)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 196)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block298
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load offset=480
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in
+ ;; CHECK-NEXT: (block $while-out
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load offset=16
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load offset=20
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block301
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-out)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.tee $12
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.tee $11
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.load offset=24
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once4
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load offset=12
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block305
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block308
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in7
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block310
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block312
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block314
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block315
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.load offset=8
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block319
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once8
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (block $block321
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load offset=28
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 480)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block323
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block325
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block326
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=20
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $do-once8
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load offset=16
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block332
+ ;; CHECK-NEXT: (i32.store offset=16
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load offset=20
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block335
+ ;; CHECK-NEXT: (i32.store offset=20
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block337
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block338
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 184)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block340
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 196)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 216)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block343
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block344
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 184)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 196)
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const -65)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block346
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $18
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block348
+ ;; CHECK-NEXT: (local.set $14
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 16777215)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 14)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1048320)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 520192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 245760)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 15)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $__rjto$3
+ ;; CHECK-NEXT: (block $__rjti$3
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load offset=480
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block352
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 25)
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in14
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.tee $9
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block355
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block356
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.load offset=20
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.tee $9
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (block $block358
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block359
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in14)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block360
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block362
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $18)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block364
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.load offset=480
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (block $block366
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjto$3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in16
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.load offset=16
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block368
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in16
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load offset=20
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 184)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block371
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.tee $12
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (i32.load offset=24
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once17
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load offset=12
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block375
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block378
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once17)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in20
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block380
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block382
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block384
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block385
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.load offset=8
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block389
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once21
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (block $block391
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load offset=28
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 480)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block393
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block395
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once21)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block396
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=20
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $do-once21
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load offset=16
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block402
+ ;; CHECK-NEXT: (i32.store offset=16
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load offset=20
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block405
+ ;; CHECK-NEXT: (i32.store offset=20
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once25
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block407
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block408
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 256)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block410
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 216)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block413
+ ;; CHECK-NEXT: (local.set $13
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block414
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $13
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once25)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 16777215)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 14)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1048320)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 520192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 245760)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 15)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 480)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=28
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block418
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once25)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 25)
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $__rjto$1
+ ;; CHECK-NEXT: (block $__rjti$1
+ ;; CHECK-NEXT: (loop $while-in28
+ ;; CHECK-NEXT: (br_if $__rjti$1
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block420
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in28)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block422
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once25)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjto$1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block424
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 184)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block426
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 196)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 15)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block428
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 196)
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 184)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block429
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 184)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 196)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $folding-inner0
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 188)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 648)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (call $_sysconf
+ ;; CHECK-NEXT: (i32.const 30)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block432
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 656)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 652)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 660)
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 664)
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 668)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 620)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 648)
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (call $_time
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1431655768)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.le_u
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 656)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 47)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $9
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 616)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.le_u
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 608)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $__rjto$13
+ ;; CHECK-NEXT: (block $__rjti$13
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 620)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block437
+ ;; CHECK-NEXT: (block $label$break$L279
+ ;; CHECK-NEXT: (block $__rjti$5
+ ;; CHECK-NEXT: (block $__rjti$4
+ ;; CHECK-NEXT: (br_if $__rjti$4
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 200)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.const 624)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in34
+ ;; CHECK-NEXT: (block $while-out33
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.le_u
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block440
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-out33)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in34
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load offset=8
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 188)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2147483647)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (call $_sbrk
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $__rjti$13
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block443
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L279)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (call $_sbrk
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block445
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 652)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 608)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 2147483647)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block448
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 616)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $label$break$L279
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.le_u
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $__rjti$13
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (call $_sbrk
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L279)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 2147483647)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 656)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2147483647)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (call $_sbrk
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block453
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $_sbrk
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L279)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block455
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 620)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 620)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 2147483647)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (call $_sbrk
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (call $_sbrk
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $__rjti$13
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 40)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjto$13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 608)
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 608)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 612)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 612)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once40
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $6
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 200)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block460
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.const 624)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $__rjto$10
+ ;; CHECK-NEXT: (block $__rjti$10
+ ;; CHECK-NEXT: (loop $while-in45
+ ;; CHECK-NEXT: (br_if $__rjti$10
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $11
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in45
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.load offset=8
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjto$10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load offset=12
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block463
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 188)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 200)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 188)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 40)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 204)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 664)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once40)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block465
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.const 624)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $__rjto$11
+ ;; CHECK-NEXT: (block $__rjti$11
+ ;; CHECK-NEXT: (loop $while-in47
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block467
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjti$11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in47
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.load offset=8
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.const 624)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjto$11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load offset=12
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.const 624)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block469
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $9
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once48
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block471
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 188)
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 188)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 200)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block472
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 196)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block474
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 184)
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 184)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 196)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block476 (result i32)
+ ;; CHECK-NEXT: (local.set $11
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const -8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $label$break$L331
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 256)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block478
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.load offset=12
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once51
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load offset=8
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 216)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block480
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $do-once51
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load offset=12
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block483
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L331)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once53
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $15
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block485
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block488
+ ;; CHECK-NEXT: (local.set $15
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once53)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block489
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (i32.load offset=24
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once55
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load offset=12
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block491
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block494
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once55)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in58
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block496
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in58)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block498
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in58)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block500
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block501
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.load offset=8
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block505
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $label$break$L331
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once59
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load offset=28
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 480)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block507
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $do-once59
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$break$L331)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block508
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=20
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $label$break$L331
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block514
+ ;; CHECK-NEXT: (i32.store offset=16
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $label$break$L331
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block516
+ ;; CHECK-NEXT: (i32.store offset=20
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 256)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block518
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 216)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once63
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block520
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block522
+ ;; CHECK-NEXT: (local.set $16
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once63)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block523
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $16
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $16)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (block $do-once65 (result i32)
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block525 (result i32)
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (br_if $do-once65
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 16777215)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 14)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1048320)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 520192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 245760)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 15)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 480)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=28
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block527
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 25)
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $__rjto$7
+ ;; CHECK-NEXT: (block $__rjti$7
+ ;; CHECK-NEXT: (loop $while-in68
+ ;; CHECK-NEXT: (br_if $__rjti$7
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block529
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in68)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block531
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once48)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjto$7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block533
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in70
+ ;; CHECK-NEXT: (block $while-out69
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.le_u
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-out69
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.load offset=8
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in70)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $10
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const -47)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $11
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 200)
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 188)
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const -40)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 40)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 204)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 664)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 27)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 624)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 628)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 632)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 636)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 624)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 628)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 636)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 632)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (i32.const 24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in72
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in72
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block536
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 256)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block538
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 216)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block541
+ ;; CHECK-NEXT: (local.set $17
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block542
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $17
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $17)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once40)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 16777215)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 14)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 1048320)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 520192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 245760)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 15)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 480)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=28
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=20
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block546
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once40)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 25)
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $__rjto$9
+ ;; CHECK-NEXT: (block $__rjti$9
+ ;; CHECK-NEXT: (loop $while-in74
+ ;; CHECK-NEXT: (br_if $__rjti$9
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block548
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in74)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block550
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once40)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjto$9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block552
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block553
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 624)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 628)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 636)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 212)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 648)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 208)
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in43
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 216)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in43
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 200)
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 188)
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const -40)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 40)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 204)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 664)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $folding-inner0
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 188)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (call $___errno_location)
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 188)
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 200)
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 200)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $_malloc (param $0 i32) (result i32)
+ (local $1 i32)
+ (local $2 i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local $6 i32)
+ (local $7 i32)
+ (local $8 i32)
+ (local $9 i32)
+ (local $10 i32)
+ (local $11 i32)
+ (local $12 i32)
+ (local $13 i32)
+ (local $14 i32)
+ (local $15 i32)
+ (local $16 i32)
+ (local $17 i32)
+ (local $18 i32)
+ (block $folding-inner0
+ (block $do-once
+ (if
+ (i32.lt_u
+ (local.get $0)
+ (i32.const 245)
+ )
+ (block
+ (if
+ (i32.and
+ (local.tee $5
+ (i32.shr_u
+ (local.tee $11
+ (i32.load
+ (i32.const 176)
+ )
+ )
+ (local.tee $13
+ (i32.shr_u
+ (local.tee $4
+ (select
+ (i32.const 16)
+ (i32.and
+ (i32.add
+ (local.get $0)
+ (i32.const 11)
+ )
+ (i32.const -8)
+ )
+ (i32.lt_u
+ (local.get $0)
+ (i32.const 11)
+ )
+ )
+ )
+ (i32.const 3)
+ )
+ )
+ )
+ )
+ (i32.const 3)
+ )
+ (block
+ (local.set $10
+ (i32.load
+ (local.tee $1
+ (i32.add
+ (local.tee $7
+ (i32.load
+ (local.tee $3
+ (i32.add
+ (local.tee $2
+ (i32.add
+ (i32.shl
+ (local.tee $4
+ (i32.add
+ (i32.xor
+ (i32.and
+ (local.get $5)
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ (local.get $13)
+ )
+ )
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (local.get $2)
+ (local.get $10)
+ )
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (local.get $11)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (local.get $4)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.get $10)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.get $10)
+ (i32.const 12)
+ )
+ )
+ )
+ (local.get $7)
+ )
+ (block
+ (i32.store
+ (local.get $0)
+ (local.get $2)
+ )
+ (i32.store
+ (local.get $3)
+ (local.get $10)
+ )
+ )
+ (call $_abort)
+ )
+ )
+ )
+ (i32.store offset=4
+ (local.get $7)
+ (i32.or
+ (local.tee $0
+ (i32.shl
+ (local.get $4)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (local.tee $0
+ (i32.add
+ (i32.add
+ (local.get $7)
+ (local.get $0)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 1)
+ )
+ )
+ (return
+ (local.get $1)
+ )
+ )
+ )
+ (if
+ (i32.gt_u
+ (local.get $4)
+ (local.tee $0
+ (i32.load
+ (i32.const 184)
+ )
+ )
+ )
+ (block
+ (if
+ (local.get $5)
+ (block
+ (local.set $10
+ (i32.and
+ (i32.shr_u
+ (local.tee $3
+ (i32.add
+ (i32.and
+ (local.tee $3
+ (i32.and
+ (i32.shl
+ (local.get $5)
+ (local.get $13)
+ )
+ (i32.or
+ (local.tee $3
+ (i32.shl
+ (i32.const 2)
+ (local.get $13)
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (local.get $3)
+ )
+ )
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (local.get $3)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ (i32.const 12)
+ )
+ (i32.const 16)
+ )
+ )
+ (local.set $9
+ (i32.load
+ (local.tee $7
+ (i32.add
+ (local.tee $12
+ (i32.load
+ (local.tee $3
+ (i32.add
+ (local.tee $10
+ (i32.add
+ (i32.shl
+ (local.tee $5
+ (i32.add
+ (i32.or
+ (i32.or
+ (i32.or
+ (i32.or
+ (local.tee $3
+ (i32.and
+ (i32.shr_u
+ (local.tee $7
+ (i32.shr_u
+ (local.get $3)
+ (local.get $10)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (local.get $10)
+ )
+ (local.tee $3
+ (i32.and
+ (i32.shr_u
+ (local.tee $7
+ (i32.shr_u
+ (local.get $7)
+ (local.get $3)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ )
+ (local.tee $3
+ (i32.and
+ (i32.shr_u
+ (local.tee $7
+ (i32.shr_u
+ (local.get $7)
+ (local.get $3)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ (local.tee $3
+ (i32.and
+ (i32.shr_u
+ (local.tee $7
+ (i32.shr_u
+ (local.get $7)
+ (local.get $3)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (i32.shr_u
+ (local.get $7)
+ (local.get $3)
+ )
+ )
+ )
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (local.get $10)
+ (local.get $9)
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (local.get $11)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (local.get $5)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (local.set $8
+ (local.get $0)
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.get $9)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.get $9)
+ (i32.const 12)
+ )
+ )
+ )
+ (local.get $12)
+ )
+ (block
+ (i32.store
+ (local.get $0)
+ (local.get $10)
+ )
+ (i32.store
+ (local.get $3)
+ (local.get $9)
+ )
+ (local.set $8
+ (i32.load
+ (i32.const 184)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ )
+ )
+ (i32.store offset=4
+ (local.get $12)
+ (i32.or
+ (local.get $4)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (local.tee $10
+ (i32.add
+ (local.get $12)
+ (local.get $4)
+ )
+ )
+ (i32.or
+ (local.tee $5
+ (i32.sub
+ (i32.shl
+ (local.get $5)
+ (i32.const 3)
+ )
+ (local.get $4)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (local.get $10)
+ (local.get $5)
+ )
+ (local.get $5)
+ )
+ (if
+ (local.get $8)
+ (block
+ (local.set $12
+ (i32.load
+ (i32.const 196)
+ )
+ )
+ (local.set $4
+ (i32.add
+ (i32.shl
+ (local.tee $0
+ (i32.shr_u
+ (local.get $8)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
+ )
+ (if
+ (i32.and
+ (local.tee $3
+ (i32.load
+ (i32.const 176)
+ )
+ )
+ (local.tee $0
+ (i32.shl
+ (i32.const 1)
+ (local.get $0)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.tee $0
+ (i32.load
+ (local.tee $3
+ (i32.add
+ (local.get $4)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ (block
+ (local.set $2
+ (local.get $3)
+ )
+ (local.set $1
+ (local.get $0)
+ )
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (local.get $3)
+ (local.get $0)
+ )
+ )
+ (local.set $2
+ (i32.add
+ (local.get $4)
+ (i32.const 8)
+ )
+ )
+ (local.set $1
+ (local.get $4)
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (local.get $12)
+ )
+ (i32.store offset=12
+ (local.get $1)
+ (local.get $12)
+ )
+ (i32.store offset=8
+ (local.get $12)
+ (local.get $1)
+ )
+ (i32.store offset=12
+ (local.get $12)
+ (local.get $4)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 184)
+ (local.get $5)
+ )
+ (i32.store
+ (i32.const 196)
+ (local.get $10)
+ )
+ (return
+ (local.get $7)
+ )
+ )
+ )
+ (if
+ (local.tee $0
+ (i32.load
+ (i32.const 180)
+ )
+ )
+ (block
+ (local.set $2
+ (i32.and
+ (i32.shr_u
+ (local.tee $0
+ (i32.add
+ (i32.and
+ (local.get $0)
+ (i32.sub
+ (i32.const 0)
+ (local.get $0)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ (i32.const 12)
+ )
+ (i32.const 16)
+ )
+ )
+ (local.set $7
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (local.tee $0
+ (i32.load offset=480
+ (i32.shl
+ (i32.add
+ (i32.or
+ (i32.or
+ (i32.or
+ (i32.or
+ (local.tee $0
+ (i32.and
+ (i32.shr_u
+ (local.tee $1
+ (i32.shr_u
+ (local.get $0)
+ (local.get $2)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (local.get $2)
+ )
+ (local.tee $0
+ (i32.and
+ (i32.shr_u
+ (local.tee $1
+ (i32.shr_u
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ )
+ (local.tee $0
+ (i32.and
+ (i32.shr_u
+ (local.tee $1
+ (i32.shr_u
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ (local.tee $0
+ (i32.and
+ (i32.shr_u
+ (local.tee $1
+ (i32.shr_u
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (i32.shr_u
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (i32.const -8)
+ )
+ (local.get $4)
+ )
+ )
+ (local.set $1
+ (local.get $0)
+ )
+ (local.set $2
+ (local.get $0)
+ )
+ (loop $while-in
+ (block $while-out
+ (if
+ (i32.eqz
+ (local.tee $0
+ (i32.load offset=16
+ (local.get $1)
+ )
+ )
+ )
+ (if
+ (i32.eqz
+ (local.tee $0
+ (i32.load offset=20
+ (local.get $1)
+ )
+ )
+ )
+ (block
+ (local.set $10
+ (local.get $7)
+ )
+ (local.set $5
+ (local.get $2)
+ )
+ (br $while-out)
+ )
+ )
+ )
+ (local.set $10
+ (i32.lt_u
+ (local.tee $1
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (local.get $0)
+ )
+ (i32.const -8)
+ )
+ (local.get $4)
+ )
+ )
+ (local.get $7)
+ )
+ )
+ (local.set $7
+ (select
+ (local.get $1)
+ (local.get $7)
+ (local.get $10)
+ )
+ )
+ (local.set $1
+ (local.get $0)
+ )
+ (local.set $2
+ (select
+ (local.get $0)
+ (local.get $2)
+ (local.get $10)
+ )
+ )
+ (br $while-in)
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $5)
+ (local.tee $12
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.ge_u
+ (local.get $5)
+ (local.tee $11
+ (i32.add
+ (local.get $5)
+ (local.get $4)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (local.set $8
+ (i32.load offset=24
+ (local.get $5)
+ )
+ )
+ (block $do-once4
+ (if
+ (i32.eq
+ (local.tee $0
+ (i32.load offset=12
+ (local.get $5)
+ )
+ )
+ (local.get $5)
+ )
+ (block
+ (if
+ (i32.eqz
+ (local.tee $1
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.get $5)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.eqz
+ (local.tee $1
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.get $5)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ )
+ (block
+ (local.set $9
+ (i32.const 0)
+ )
+ (br $do-once4)
+ )
+ )
+ )
+ (loop $while-in7
+ (if
+ (local.tee $2
+ (i32.load
+ (local.tee $7
+ (i32.add
+ (local.get $1)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $1
+ (local.get $2)
+ )
+ (local.set $0
+ (local.get $7)
+ )
+ (br $while-in7)
+ )
+ )
+ (if
+ (local.tee $2
+ (i32.load
+ (local.tee $7
+ (i32.add
+ (local.get $1)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $1
+ (local.get $2)
+ )
+ (local.set $0
+ (local.get $7)
+ )
+ (br $while-in7)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $0)
+ (local.get $12)
+ )
+ (call $_abort)
+ (block
+ (i32.store
+ (local.get $0)
+ (i32.const 0)
+ )
+ (local.set $9
+ (local.get $1)
+ )
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.tee $7
+ (i32.load offset=8
+ (local.get $5)
+ )
+ )
+ (local.get $12)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $7)
+ (i32.const 12)
+ )
+ )
+ )
+ (local.get $5)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (local.tee $1
+ (i32.add
+ (local.get $0)
+ (i32.const 8)
+ )
+ )
+ )
+ (local.get $5)
+ )
+ (block
+ (i32.store
+ (local.get $2)
+ (local.get $0)
+ )
+ (i32.store
+ (local.get $1)
+ (local.get $7)
+ )
+ (local.set $9
+ (local.get $0)
+ )
+ )
+ (call $_abort)
+ )
+ )
+ )
+ )
+ (block $do-once8
+ (if
+ (local.get $8)
+ (block
+ (if
+ (i32.eq
+ (local.get $5)
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (i32.shl
+ (local.tee $1
+ (i32.load offset=28
+ (local.get $5)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 480)
+ )
+ )
+ )
+ )
+ (block
+ (i32.store
+ (local.get $0)
+ (local.get $9)
+ )
+ (if
+ (i32.eqz
+ (local.get $9)
+ )
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (local.get $1)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (br $do-once8)
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.get $8)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.get $8)
+ (i32.const 16)
+ )
+ )
+ )
+ (local.get $5)
+ )
+ (i32.store
+ (local.get $0)
+ (local.get $9)
+ )
+ (i32.store offset=20
+ (local.get $8)
+ (local.get $9)
+ )
+ )
+ (br_if $do-once8
+ (i32.eqz
+ (local.get $9)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $9)
+ (local.tee $0
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (local.get $9)
+ (local.get $8)
+ )
+ (if
+ (local.tee $1
+ (i32.load offset=16
+ (local.get $5)
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $1)
+ (local.get $0)
+ )
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (local.get $9)
+ (local.get $1)
+ )
+ (i32.store offset=24
+ (local.get $1)
+ (local.get $9)
+ )
+ )
+ )
+ )
+ (if
+ (local.tee $0
+ (i32.load offset=20
+ (local.get $5)
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $0)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (local.get $9)
+ (local.get $0)
+ )
+ (i32.store offset=24
+ (local.get $0)
+ (local.get $9)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $10)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (local.get $5)
+ (i32.or
+ (local.tee $0
+ (i32.add
+ (local.get $10)
+ (local.get $4)
+ )
+ )
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (local.tee $0
+ (i32.add
+ (i32.add
+ (local.get $5)
+ (local.get $0)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (block
+ (i32.store offset=4
+ (local.get $5)
+ (i32.or
+ (local.get $4)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (local.get $11)
+ (i32.or
+ (local.get $10)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (local.get $11)
+ (local.get $10)
+ )
+ (local.get $10)
+ )
+ (if
+ (local.tee $0
+ (i32.load
+ (i32.const 184)
+ )
+ )
+ (block
+ (local.set $4
+ (i32.load
+ (i32.const 196)
+ )
+ )
+ (local.set $2
+ (i32.add
+ (i32.shl
+ (local.tee $0
+ (i32.shr_u
+ (local.get $0)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
+ )
+ (if
+ (i32.and
+ (local.tee $1
+ (i32.load
+ (i32.const 176)
+ )
+ )
+ (local.tee $0
+ (i32.shl
+ (i32.const 1)
+ (local.get $0)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.tee $0
+ (i32.load
+ (local.tee $1
+ (i32.add
+ (local.get $2)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ (block
+ (local.set $6
+ (local.get $1)
+ )
+ (local.set $3
+ (local.get $0)
+ )
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ (local.set $6
+ (i32.add
+ (local.get $2)
+ (i32.const 8)
+ )
+ )
+ (local.set $3
+ (local.get $2)
+ )
+ )
+ )
+ (i32.store
+ (local.get $6)
+ (local.get $4)
+ )
+ (i32.store offset=12
+ (local.get $3)
+ (local.get $4)
+ )
+ (i32.store offset=8
+ (local.get $4)
+ (local.get $3)
+ )
+ (i32.store offset=12
+ (local.get $4)
+ (local.get $2)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 184)
+ (local.get $10)
+ )
+ (i32.store
+ (i32.const 196)
+ (local.get $11)
+ )
+ )
+ )
+ (return
+ (i32.add
+ (local.get $5)
+ (i32.const 8)
+ )
+ )
+ )
+ (local.set $0
+ (local.get $4)
+ )
+ )
+ )
+ (local.set $0
+ (local.get $4)
+ )
+ )
+ )
+ (if
+ (i32.gt_u
+ (local.get $0)
+ (i32.const -65)
+ )
+ (local.set $0
+ (i32.const -1)
+ )
+ (block
+ (local.set $2
+ (i32.and
+ (local.tee $0
+ (i32.add
+ (local.get $0)
+ (i32.const 11)
+ )
+ )
+ (i32.const -8)
+ )
+ )
+ (if
+ (local.tee $18
+ (i32.load
+ (i32.const 180)
+ )
+ )
+ (block
+ (local.set $14
+ (if (result i32)
+ (local.tee $0
+ (i32.shr_u
+ (local.get $0)
+ (i32.const 8)
+ )
+ )
+ (if (result i32)
+ (i32.gt_u
+ (local.get $2)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (local.get $2)
+ (i32.add
+ (local.tee $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (local.tee $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (local.tee $1
+ (i32.shl
+ (local.get $0)
+ (local.tee $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (local.get $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (local.get $3)
+ )
+ (local.tee $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (local.tee $1
+ (i32.shl
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (i32.shr_u
+ (i32.shl
+ (local.get $1)
+ (local.get $0)
+ )
+ (i32.const 15)
+ )
+ )
+ )
+ (i32.const 7)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.shl
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (local.set $3
+ (i32.sub
+ (i32.const 0)
+ (local.get $2)
+ )
+ )
+ (block $__rjto$3
+ (block $__rjti$3
+ (if
+ (local.tee $0
+ (i32.load offset=480
+ (i32.shl
+ (local.get $14)
+ (i32.const 2)
+ )
+ )
+ )
+ (block
+ (local.set $6
+ (i32.const 0)
+ )
+ (local.set $8
+ (i32.shl
+ (local.get $2)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (local.get $14)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
+ (local.get $14)
+ (i32.const 31)
+ )
+ )
+ )
+ )
+ (local.set $1
+ (i32.const 0)
+ )
+ (loop $while-in14
+ (if
+ (i32.lt_u
+ (local.tee $4
+ (i32.sub
+ (local.tee $9
+ (i32.and
+ (i32.load offset=4
+ (local.get $0)
+ )
+ (i32.const -8)
+ )
+ )
+ (local.get $2)
+ )
+ )
+ (local.get $3)
+ )
+ (if
+ (i32.eq
+ (local.get $9)
+ (local.get $2)
+ )
+ (block
+ (local.set $1
+ (local.get $4)
+ )
+ (local.set $3
+ (local.get $0)
+ )
+ (br $__rjti$3)
+ )
+ (block
+ (local.set $3
+ (local.get $4)
+ )
+ (local.set $1
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (local.set $0
+ (select
+ (local.get $6)
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $0)
+ )
+ )
+ (i32.or
+ (i32.eqz
+ (local.get $4)
+ )
+ (i32.eq
+ (local.get $4)
+ (local.tee $9
+ (i32.load
+ (i32.add
+ (i32.add
+ (local.get $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (local.get $8)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.set $4
+ (i32.shl
+ (local.get $8)
+ (i32.xor
+ (local.tee $6
+ (i32.eqz
+ (local.get $9)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (if
+ (local.get $6)
+ (block
+ (local.set $4
+ (local.get $0)
+ )
+ (local.set $0
+ (local.get $1)
+ )
+ )
+ (block
+ (local.set $6
+ (local.get $0)
+ )
+ (local.set $8
+ (local.get $4)
+ )
+ (local.set $0
+ (local.get $9)
+ )
+ (br $while-in14)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $4
+ (i32.const 0)
+ )
+ (local.set $0
+ (i32.const 0)
+ )
+ )
+ )
+ (if
+ (i32.and
+ (i32.eqz
+ (local.get $4)
+ )
+ (i32.eqz
+ (local.get $0)
+ )
+ )
+ (block
+ (if
+ (i32.eqz
+ (local.tee $1
+ (i32.and
+ (local.get $18)
+ (i32.or
+ (local.tee $1
+ (i32.shl
+ (i32.const 2)
+ (local.get $14)
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (local.get $1)
+ )
+ )
+ )
+ )
+ )
+ (block
+ (local.set $0
+ (local.get $2)
+ )
+ (br $do-once)
+ )
+ )
+ (local.set $9
+ (i32.and
+ (i32.shr_u
+ (local.tee $1
+ (i32.add
+ (i32.and
+ (local.get $1)
+ (i32.sub
+ (i32.const 0)
+ (local.get $1)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ (i32.const 12)
+ )
+ (i32.const 16)
+ )
+ )
+ (local.set $4
+ (i32.load offset=480
+ (i32.shl
+ (i32.add
+ (i32.or
+ (i32.or
+ (i32.or
+ (i32.or
+ (local.tee $1
+ (i32.and
+ (i32.shr_u
+ (local.tee $4
+ (i32.shr_u
+ (local.get $1)
+ (local.get $9)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (local.get $9)
+ )
+ (local.tee $1
+ (i32.and
+ (i32.shr_u
+ (local.tee $4
+ (i32.shr_u
+ (local.get $4)
+ (local.get $1)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 4)
+ )
+ )
+ )
+ (local.tee $1
+ (i32.and
+ (i32.shr_u
+ (local.tee $4
+ (i32.shr_u
+ (local.get $4)
+ (local.get $1)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ (local.tee $1
+ (i32.and
+ (i32.shr_u
+ (local.tee $4
+ (i32.shr_u
+ (local.get $4)
+ (local.get $1)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (i32.shr_u
+ (local.get $4)
+ (local.get $1)
+ )
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (local.get $4)
+ (block
+ (local.set $1
+ (local.get $3)
+ )
+ (local.set $3
+ (local.get $4)
+ )
+ (br $__rjti$3)
+ )
+ (local.set $4
+ (local.get $0)
+ )
+ )
+ (br $__rjto$3)
+ )
+ (loop $while-in16
+ (local.set $9
+ (i32.lt_u
+ (local.tee $4
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (local.get $3)
+ )
+ (i32.const -8)
+ )
+ (local.get $2)
+ )
+ )
+ (local.get $1)
+ )
+ )
+ (local.set $1
+ (select
+ (local.get $4)
+ (local.get $1)
+ (local.get $9)
+ )
+ )
+ (local.set $0
+ (select
+ (local.get $3)
+ (local.get $0)
+ (local.get $9)
+ )
+ )
+ (if
+ (local.tee $4
+ (i32.load offset=16
+ (local.get $3)
+ )
+ )
+ (block
+ (local.set $3
+ (local.get $4)
+ )
+ (br $while-in16)
+ )
+ )
+ (br_if $while-in16
+ (local.tee $3
+ (i32.load offset=20
+ (local.get $3)
+ )
+ )
+ )
+ (local.set $3
+ (local.get $1)
+ )
+ (local.set $4
+ (local.get $0)
+ )
+ )
+ )
+ (if
+ (local.get $4)
+ (if
+ (i32.lt_u
+ (local.get $3)
+ (i32.sub
+ (i32.load
+ (i32.const 184)
+ )
+ (local.get $2)
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.get $4)
+ (local.tee $12
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.ge_u
+ (local.get $4)
+ (local.tee $6
+ (i32.add
+ (local.get $4)
+ (local.get $2)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (local.set $9
+ (i32.load offset=24
+ (local.get $4)
+ )
+ )
+ (block $do-once17
+ (if
+ (i32.eq
+ (local.tee $0
+ (i32.load offset=12
+ (local.get $4)
+ )
+ )
+ (local.get $4)
+ )
+ (block
+ (if
+ (i32.eqz
+ (local.tee $1
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.get $4)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.eqz
+ (local.tee $1
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.get $4)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ )
+ (block
+ (local.set $11
+ (i32.const 0)
+ )
+ (br $do-once17)
+ )
+ )
+ )
+ (loop $while-in20
+ (if
+ (local.tee $7
+ (i32.load
+ (local.tee $10
+ (i32.add
+ (local.get $1)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $1
+ (local.get $7)
+ )
+ (local.set $0
+ (local.get $10)
+ )
+ (br $while-in20)
+ )
+ )
+ (if
+ (local.tee $7
+ (i32.load
+ (local.tee $10
+ (i32.add
+ (local.get $1)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $1
+ (local.get $7)
+ )
+ (local.set $0
+ (local.get $10)
+ )
+ (br $while-in20)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $0)
+ (local.get $12)
+ )
+ (call $_abort)
+ (block
+ (i32.store
+ (local.get $0)
+ (i32.const 0)
+ )
+ (local.set $11
+ (local.get $1)
+ )
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.tee $10
+ (i32.load offset=8
+ (local.get $4)
+ )
+ )
+ (local.get $12)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (local.tee $7
+ (i32.add
+ (local.get $10)
+ (i32.const 12)
+ )
+ )
+ )
+ (local.get $4)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (local.tee $1
+ (i32.add
+ (local.get $0)
+ (i32.const 8)
+ )
+ )
+ )
+ (local.get $4)
+ )
+ (block
+ (i32.store
+ (local.get $7)
+ (local.get $0)
+ )
+ (i32.store
+ (local.get $1)
+ (local.get $10)
+ )
+ (local.set $11
+ (local.get $0)
+ )
+ )
+ (call $_abort)
+ )
+ )
+ )
+ )
+ (block $do-once21
+ (if
+ (local.get $9)
+ (block
+ (if
+ (i32.eq
+ (local.get $4)
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (i32.shl
+ (local.tee $1
+ (i32.load offset=28
+ (local.get $4)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 480)
+ )
+ )
+ )
+ )
+ (block
+ (i32.store
+ (local.get $0)
+ (local.get $11)
+ )
+ (if
+ (i32.eqz
+ (local.get $11)
+ )
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (local.get $1)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (br $do-once21)
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.get $9)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.get $9)
+ (i32.const 16)
+ )
+ )
+ )
+ (local.get $4)
+ )
+ (i32.store
+ (local.get $0)
+ (local.get $11)
+ )
+ (i32.store offset=20
+ (local.get $9)
+ (local.get $11)
+ )
+ )
+ (br_if $do-once21
+ (i32.eqz
+ (local.get $11)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $11)
+ (local.tee $0
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (local.get $11)
+ (local.get $9)
+ )
+ (if
+ (local.tee $1
+ (i32.load offset=16
+ (local.get $4)
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $1)
+ (local.get $0)
+ )
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (local.get $11)
+ (local.get $1)
+ )
+ (i32.store offset=24
+ (local.get $1)
+ (local.get $11)
+ )
+ )
+ )
+ )
+ (if
+ (local.tee $0
+ (i32.load offset=20
+ (local.get $4)
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $0)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (local.get $11)
+ (local.get $0)
+ )
+ (i32.store offset=24
+ (local.get $0)
+ (local.get $11)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (block $do-once25
+ (if
+ (i32.lt_u
+ (local.get $3)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (local.get $4)
+ (i32.or
+ (local.tee $0
+ (i32.add
+ (local.get $3)
+ (local.get $2)
+ )
+ )
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (local.tee $0
+ (i32.add
+ (i32.add
+ (local.get $4)
+ (local.get $0)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (block
+ (i32.store offset=4
+ (local.get $4)
+ (i32.or
+ (local.get $2)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (local.get $6)
+ (i32.or
+ (local.get $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (local.get $6)
+ (local.get $3)
+ )
+ (local.get $3)
+ )
+ (local.set $0
+ (i32.shr_u
+ (local.get $3)
+ (i32.const 3)
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $3)
+ (i32.const 256)
+ )
+ (block
+ (local.set $3
+ (i32.add
+ (i32.shl
+ (local.get $0)
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
+ )
+ (if
+ (i32.and
+ (local.tee $1
+ (i32.load
+ (i32.const 176)
+ )
+ )
+ (local.tee $0
+ (i32.shl
+ (i32.const 1)
+ (local.get $0)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.tee $0
+ (i32.load
+ (local.tee $1
+ (i32.add
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ (block
+ (local.set $13
+ (local.get $1)
+ )
+ (local.set $5
+ (local.get $0)
+ )
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ (local.set $13
+ (i32.add
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ (local.set $5
+ (local.get $3)
+ )
+ )
+ )
+ (i32.store
+ (local.get $13)
+ (local.get $6)
+ )
+ (i32.store offset=12
+ (local.get $5)
+ (local.get $6)
+ )
+ (i32.store offset=8
+ (local.get $6)
+ (local.get $5)
+ )
+ (i32.store offset=12
+ (local.get $6)
+ (local.get $3)
+ )
+ (br $do-once25)
+ )
+ )
+ (local.set $2
+ (i32.add
+ (i32.shl
+ (local.tee $7
+ (if (result i32)
+ (local.tee $0
+ (i32.shr_u
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ (if (result i32)
+ (i32.gt_u
+ (local.get $3)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (local.get $3)
+ (i32.add
+ (local.tee $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (local.tee $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (local.tee $1
+ (i32.shl
+ (local.get $0)
+ (local.tee $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (local.get $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (local.get $2)
+ )
+ (local.tee $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (local.tee $1
+ (i32.shl
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (i32.shr_u
+ (i32.shl
+ (local.get $1)
+ (local.get $0)
+ )
+ (i32.const 15)
+ )
+ )
+ )
+ (i32.const 7)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.shl
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 480)
+ )
+ )
+ (i32.store offset=28
+ (local.get $6)
+ (local.get $7)
+ )
+ (i32.store offset=4
+ (local.tee $0
+ (i32.add
+ (local.get $6)
+ (i32.const 16)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $0)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (local.tee $1
+ (i32.load
+ (i32.const 180)
+ )
+ )
+ (local.tee $0
+ (i32.shl
+ (i32.const 1)
+ (local.get $7)
+ )
+ )
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (local.get $6)
+ )
+ (i32.store offset=24
+ (local.get $6)
+ (local.get $2)
+ )
+ (i32.store offset=12
+ (local.get $6)
+ (local.get $6)
+ )
+ (i32.store offset=8
+ (local.get $6)
+ (local.get $6)
+ )
+ (br $do-once25)
+ )
+ )
+ (local.set $7
+ (i32.shl
+ (local.get $3)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (local.get $7)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
+ (local.get $7)
+ (i32.const 31)
+ )
+ )
+ )
+ )
+ (local.set $0
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (block $__rjto$1
+ (block $__rjti$1
+ (loop $while-in28
+ (br_if $__rjti$1
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (local.get $0)
+ )
+ (i32.const -8)
+ )
+ (local.get $3)
+ )
+ )
+ (local.set $2
+ (i32.shl
+ (local.get $7)
+ (i32.const 1)
+ )
+ )
+ (if
+ (local.tee $1
+ (i32.load
+ (local.tee $7
+ (i32.add
+ (i32.add
+ (local.get $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (local.get $7)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ )
+ (block
+ (local.set $7
+ (local.get $2)
+ )
+ (local.set $0
+ (local.get $1)
+ )
+ (br $while-in28)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $7)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ (block
+ (i32.store
+ (local.get $7)
+ (local.get $6)
+ )
+ (i32.store offset=24
+ (local.get $6)
+ (local.get $0)
+ )
+ (i32.store offset=12
+ (local.get $6)
+ (local.get $6)
+ )
+ (i32.store offset=8
+ (local.get $6)
+ (local.get $6)
+ )
+ (br $do-once25)
+ )
+ )
+ (br $__rjto$1)
+ )
+ (if
+ (i32.and
+ (i32.ge_u
+ (local.tee $2
+ (i32.load
+ (local.tee $3
+ (i32.add
+ (local.get $0)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (local.tee $1
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (i32.ge_u
+ (local.get $0)
+ (local.get $1)
+ )
+ )
+ (block
+ (i32.store offset=12
+ (local.get $2)
+ (local.get $6)
+ )
+ (i32.store
+ (local.get $3)
+ (local.get $6)
+ )
+ (i32.store offset=8
+ (local.get $6)
+ (local.get $2)
+ )
+ (i32.store offset=12
+ (local.get $6)
+ (local.get $0)
+ )
+ (i32.store offset=24
+ (local.get $6)
+ (i32.const 0)
+ )
+ )
+ (call $_abort)
+ )
+ )
+ )
+ )
+ )
+ (return
+ (i32.add
+ (local.get $4)
+ (i32.const 8)
+ )
+ )
+ )
+ (local.set $0
+ (local.get $2)
+ )
+ )
+ (local.set $0
+ (local.get $2)
+ )
+ )
+ )
+ (local.set $0
+ (local.get $2)
+ )
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.ge_u
+ (local.tee $1
+ (i32.load
+ (i32.const 184)
+ )
+ )
+ (local.get $0)
+ )
+ (block
+ (local.set $2
+ (i32.load
+ (i32.const 196)
+ )
+ )
+ (if
+ (i32.gt_u
+ (local.tee $3
+ (i32.sub
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ (i32.const 15)
+ )
+ (block
+ (i32.store
+ (i32.const 196)
+ (local.tee $1
+ (i32.add
+ (local.get $2)
+ (local.get $0)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 184)
+ (local.get $3)
+ )
+ (i32.store offset=4
+ (local.get $1)
+ (i32.or
+ (local.get $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (local.get $1)
+ (local.get $3)
+ )
+ (local.get $3)
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.or
+ (local.get $0)
+ (i32.const 3)
+ )
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 184)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 196)
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.or
+ (local.get $1)
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (local.tee $0
+ (i32.add
+ (i32.add
+ (local.get $2)
+ (local.get $1)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ )
+ (return
+ (i32.add
+ (local.get $2)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (br_if $folding-inner0
+ (i32.gt_u
+ (local.tee $1
+ (i32.load
+ (i32.const 188)
+ )
+ )
+ (local.get $0)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.load
+ (i32.const 648)
+ )
+ )
+ (if
+ (i32.and
+ (i32.add
+ (local.tee $1
+ (call $_sysconf
+ (i32.const 30)
+ )
+ )
+ (i32.const -1)
+ )
+ (local.get $1)
+ )
+ (call $_abort)
+ (block
+ (i32.store
+ (i32.const 656)
+ (local.get $1)
+ )
+ (i32.store
+ (i32.const 652)
+ (local.get $1)
+ )
+ (i32.store
+ (i32.const 660)
+ (i32.const -1)
+ )
+ (i32.store
+ (i32.const 664)
+ (i32.const -1)
+ )
+ (i32.store
+ (i32.const 668)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 620)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 648)
+ (i32.xor
+ (i32.and
+ (call $_time
+ (i32.const 0)
+ )
+ (i32.const -16)
+ )
+ (i32.const 1431655768)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.le_u
+ (local.tee $5
+ (i32.and
+ (local.tee $6
+ (i32.add
+ (local.tee $1
+ (i32.load
+ (i32.const 656)
+ )
+ )
+ (local.tee $8
+ (i32.add
+ (local.get $0)
+ (i32.const 47)
+ )
+ )
+ )
+ )
+ (local.tee $9
+ (i32.sub
+ (i32.const 0)
+ (local.get $1)
+ )
+ )
+ )
+ )
+ (local.get $0)
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ (if
+ (local.tee $2
+ (i32.load
+ (i32.const 616)
+ )
+ )
+ (if
+ (i32.or
+ (i32.le_u
+ (local.tee $1
+ (i32.add
+ (local.tee $3
+ (i32.load
+ (i32.const 608)
+ )
+ )
+ (local.get $5)
+ )
+ )
+ (local.get $3)
+ )
+ (i32.gt_u
+ (local.get $1)
+ (local.get $2)
+ )
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ )
+ (local.set $11
+ (i32.add
+ (local.get $0)
+ (i32.const 48)
+ )
+ )
+ (block $__rjto$13
+ (block $__rjti$13
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (i32.const 620)
+ )
+ (i32.const 4)
+ )
+ )
+ (block
+ (block $label$break$L279
+ (block $__rjti$5
+ (block $__rjti$4
+ (br_if $__rjti$4
+ (i32.eqz
+ (local.tee $4
+ (i32.load
+ (i32.const 200)
+ )
+ )
+ )
+ )
+ (local.set $1
+ (i32.const 624)
+ )
+ (loop $while-in34
+ (block $while-out33
+ (if
+ (i32.le_u
+ (local.tee $3
+ (i32.load
+ (local.get $1)
+ )
+ )
+ (local.get $4)
+ )
+ (if
+ (i32.gt_u
+ (i32.add
+ (local.get $3)
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ (local.get $4)
+ )
+ (block
+ (local.set $4
+ (local.get $1)
+ )
+ (br $while-out33)
+ )
+ )
+ )
+ (br_if $while-in34
+ (local.tee $1
+ (i32.load offset=8
+ (local.get $1)
+ )
+ )
+ )
+ (br $__rjti$4)
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.tee $3
+ (i32.and
+ (i32.sub
+ (local.get $6)
+ (i32.load
+ (i32.const 188)
+ )
+ )
+ (local.get $9)
+ )
+ )
+ (i32.const 2147483647)
+ )
+ (if
+ (i32.eq
+ (local.tee $1
+ (call $_sbrk
+ (local.get $3)
+ )
+ )
+ (i32.add
+ (i32.load
+ (local.get $4)
+ )
+ (i32.load
+ (local.get $2)
+ )
+ )
+ )
+ (br_if $__rjti$13
+ (i32.ne
+ (local.get $1)
+ (i32.const -1)
+ )
+ )
+ (block
+ (local.set $2
+ (local.get $1)
+ )
+ (br $__rjti$5)
+ )
+ )
+ )
+ (br $label$break$L279)
+ )
+ (if
+ (i32.ne
+ (local.tee $1
+ (call $_sbrk
+ (i32.const 0)
+ )
+ )
+ (i32.const -1)
+ )
+ (block
+ (local.set $3
+ (if (result i32)
+ (i32.and
+ (local.tee $2
+ (i32.add
+ (local.tee $4
+ (i32.load
+ (i32.const 652)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ (local.tee $3
+ (local.get $1)
+ )
+ )
+ (i32.add
+ (i32.sub
+ (local.get $5)
+ (local.get $3)
+ )
+ (i32.and
+ (i32.add
+ (local.get $2)
+ (local.get $3)
+ )
+ (i32.sub
+ (i32.const 0)
+ (local.get $4)
+ )
+ )
+ )
+ (local.get $5)
+ )
+ )
+ (local.set $9
+ (i32.add
+ (local.tee $4
+ (i32.load
+ (i32.const 608)
+ )
+ )
+ (local.get $3)
+ )
+ )
+ (if
+ (i32.and
+ (i32.gt_u
+ (local.get $3)
+ (local.get $0)
+ )
+ (i32.lt_u
+ (local.get $3)
+ (i32.const 2147483647)
+ )
+ )
+ (block
+ (if
+ (local.tee $2
+ (i32.load
+ (i32.const 616)
+ )
+ )
+ (br_if $label$break$L279
+ (i32.or
+ (i32.le_u
+ (local.get $9)
+ (local.get $4)
+ )
+ (i32.gt_u
+ (local.get $9)
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (br_if $__rjti$13
+ (i32.eq
+ (local.tee $2
+ (call $_sbrk
+ (local.get $3)
+ )
+ )
+ (local.get $1)
+ )
+ )
+ (br $__rjti$5)
+ )
+ )
+ )
+ )
+ (br $label$break$L279)
+ )
+ (local.set $1
+ (local.get $3)
+ )
+ (local.set $4
+ (i32.sub
+ (i32.const 0)
+ (local.get $1)
+ )
+ )
+ (if
+ (i32.and
+ (i32.gt_u
+ (local.get $11)
+ (local.get $1)
+ )
+ (i32.and
+ (i32.lt_u
+ (local.get $1)
+ (i32.const 2147483647)
+ )
+ (i32.ne
+ (local.get $2)
+ (i32.const -1)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.tee $3
+ (i32.and
+ (i32.add
+ (i32.sub
+ (local.get $8)
+ (local.get $1)
+ )
+ (local.tee $3
+ (i32.load
+ (i32.const 656)
+ )
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (local.get $3)
+ )
+ )
+ )
+ (i32.const 2147483647)
+ )
+ (if
+ (i32.eq
+ (call $_sbrk
+ (local.get $3)
+ )
+ (i32.const -1)
+ )
+ (block
+ (drop
+ (call $_sbrk
+ (local.get $4)
+ )
+ )
+ (br $label$break$L279)
+ )
+ (local.set $3
+ (i32.add
+ (local.get $3)
+ (local.get $1)
+ )
+ )
+ )
+ (local.set $3
+ (local.get $1)
+ )
+ )
+ (local.set $3
+ (local.get $1)
+ )
+ )
+ (if
+ (i32.ne
+ (local.get $2)
+ (i32.const -1)
+ )
+ (block
+ (local.set $1
+ (local.get $2)
+ )
+ (br $__rjti$13)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 620)
+ (i32.or
+ (i32.load
+ (i32.const 620)
+ )
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $5)
+ (i32.const 2147483647)
+ )
+ (if
+ (i32.and
+ (i32.lt_u
+ (local.tee $1
+ (call $_sbrk
+ (local.get $5)
+ )
+ )
+ (local.tee $3
+ (call $_sbrk
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.and
+ (i32.ne
+ (local.get $1)
+ (i32.const -1)
+ )
+ (i32.ne
+ (local.get $3)
+ (i32.const -1)
+ )
+ )
+ )
+ (br_if $__rjti$13
+ (i32.gt_u
+ (local.tee $3
+ (i32.sub
+ (local.get $3)
+ (local.get $1)
+ )
+ )
+ (i32.add
+ (local.get $0)
+ (i32.const 40)
+ )
+ )
+ )
+ )
+ )
+ (br $__rjto$13)
+ )
+ (i32.store
+ (i32.const 608)
+ (local.tee $2
+ (i32.add
+ (i32.load
+ (i32.const 608)
+ )
+ (local.get $3)
+ )
+ )
+ )
+ (if
+ (i32.gt_u
+ (local.get $2)
+ (i32.load
+ (i32.const 612)
+ )
+ )
+ (i32.store
+ (i32.const 612)
+ (local.get $2)
+ )
+ )
+ (block $do-once40
+ (if
+ (local.tee $6
+ (i32.load
+ (i32.const 200)
+ )
+ )
+ (block
+ (local.set $2
+ (i32.const 624)
+ )
+ (block $__rjto$10
+ (block $__rjti$10
+ (loop $while-in45
+ (br_if $__rjti$10
+ (i32.eq
+ (local.get $1)
+ (i32.add
+ (local.tee $11
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (local.tee $5
+ (i32.load
+ (local.tee $4
+ (i32.add
+ (local.get $2)
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (br_if $while-in45
+ (local.tee $2
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (br $__rjto$10)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load offset=12
+ (local.get $2)
+ )
+ (i32.const 8)
+ )
+ )
+ (if
+ (i32.and
+ (i32.lt_u
+ (local.get $6)
+ (local.get $1)
+ )
+ (i32.ge_u
+ (local.get $6)
+ (local.get $11)
+ )
+ )
+ (block
+ (i32.store
+ (local.get $4)
+ (i32.add
+ (local.get $5)
+ (local.get $3)
+ )
+ )
+ (local.set $2
+ (i32.add
+ (local.get $6)
+ (local.tee $1
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (local.tee $1
+ (i32.add
+ (local.get $6)
+ (i32.const 8)
+ )
+ )
+ )
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (local.get $1)
+ (i32.const 7)
+ )
+ )
+ )
+ )
+ )
+ (local.set $1
+ (i32.add
+ (i32.sub
+ (local.get $3)
+ (local.get $1)
+ )
+ (i32.load
+ (i32.const 188)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 200)
+ (local.get $2)
+ )
+ (i32.store
+ (i32.const 188)
+ (local.get $1)
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.or
+ (local.get $1)
+ (i32.const 1)
+ )
+ )
+ (i32.store offset=4
+ (i32.add
+ (local.get $2)
+ (local.get $1)
+ )
+ (i32.const 40)
+ )
+ (i32.store
+ (i32.const 204)
+ (i32.load
+ (i32.const 664)
+ )
+ )
+ (br $do-once40)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $1)
+ (local.tee $4
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 192)
+ (local.get $1)
+ )
+ (local.set $4
+ (local.get $1)
+ )
+ )
+ )
+ (local.set $11
+ (i32.add
+ (local.get $1)
+ (local.get $3)
+ )
+ )
+ (local.set $2
+ (i32.const 624)
+ )
+ (block $__rjto$11
+ (block $__rjti$11
+ (loop $while-in47
+ (if
+ (i32.eq
+ (i32.load
+ (local.get $2)
+ )
+ (local.get $11)
+ )
+ (block
+ (local.set $5
+ (local.get $2)
+ )
+ (br $__rjti$11)
+ )
+ )
+ (br_if $while-in47
+ (local.tee $2
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ )
+ (local.set $4
+ (i32.const 624)
+ )
+ )
+ (br $__rjto$11)
+ )
+ (if
+ (i32.and
+ (i32.load offset=12
+ (local.get $2)
+ )
+ (i32.const 8)
+ )
+ (local.set $4
+ (i32.const 624)
+ )
+ (block
+ (i32.store
+ (local.get $5)
+ (local.get $1)
+ )
+ (i32.store
+ (local.tee $2
+ (i32.add
+ (local.get $2)
+ (i32.const 4)
+ )
+ )
+ (i32.add
+ (i32.load
+ (local.get $2)
+ )
+ (local.get $3)
+ )
+ )
+ (local.set $8
+ (i32.add
+ (local.tee $9
+ (i32.add
+ (local.get $1)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (local.tee $1
+ (i32.add
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ )
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (local.get $1)
+ (i32.const 7)
+ )
+ )
+ )
+ )
+ (local.get $0)
+ )
+ )
+ (local.set $7
+ (i32.sub
+ (i32.sub
+ (local.tee $5
+ (i32.add
+ (local.get $11)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (local.tee $1
+ (i32.add
+ (local.get $11)
+ (i32.const 8)
+ )
+ )
+ )
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (local.get $1)
+ (i32.const 7)
+ )
+ )
+ )
+ )
+ (local.get $9)
+ )
+ (local.get $0)
+ )
+ )
+ (i32.store offset=4
+ (local.get $9)
+ (i32.or
+ (local.get $0)
+ (i32.const 3)
+ )
+ )
+ (block $do-once48
+ (if
+ (i32.eq
+ (local.get $5)
+ (local.get $6)
+ )
+ (block
+ (i32.store
+ (i32.const 188)
+ (local.tee $0
+ (i32.add
+ (i32.load
+ (i32.const 188)
+ )
+ (local.get $7)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 200)
+ (local.get $8)
+ )
+ (i32.store offset=4
+ (local.get $8)
+ (i32.or
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ )
+ (block
+ (if
+ (i32.eq
+ (local.get $5)
+ (i32.load
+ (i32.const 196)
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 184)
+ (local.tee $0
+ (i32.add
+ (i32.load
+ (i32.const 184)
+ )
+ (local.get $7)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 196)
+ (local.get $8)
+ )
+ (i32.store offset=4
+ (local.get $8)
+ (i32.or
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (local.get $8)
+ (local.get $0)
+ )
+ (local.get $0)
+ )
+ (br $do-once48)
+ )
+ )
+ (i32.store
+ (local.tee $0
+ (i32.add
+ (local.tee $0
+ (if (result i32)
+ (i32.eq
+ (i32.and
+ (local.tee $0
+ (i32.load offset=4
+ (local.get $5)
+ )
+ )
+ (i32.const 3)
+ )
+ (i32.const 1)
+ )
+ (block (result i32)
+ (local.set $11
+ (i32.and
+ (local.get $0)
+ (i32.const -8)
+ )
+ )
+ (local.set $1
+ (i32.shr_u
+ (local.get $0)
+ (i32.const 3)
+ )
+ )
+ (block $label$break$L331
+ (if
+ (i32.lt_u
+ (local.get $0)
+ (i32.const 256)
+ )
+ (block
+ (local.set $2
+ (i32.load offset=12
+ (local.get $5)
+ )
+ )
+ (block $do-once51
+ (if
+ (i32.ne
+ (local.tee $3
+ (i32.load offset=8
+ (local.get $5)
+ )
+ )
+ (local.tee $0
+ (i32.add
+ (i32.shl
+ (local.get $1)
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.get $3)
+ (local.get $4)
+ )
+ (call $_abort)
+ )
+ (br_if $do-once51
+ (i32.eq
+ (i32.load offset=12
+ (local.get $3)
+ )
+ (local.get $5)
+ )
+ )
+ (call $_abort)
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (local.get $2)
+ (local.get $3)
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (i32.load
+ (i32.const 176)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (local.get $1)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (br $label$break$L331)
+ )
+ )
+ (block $do-once53
+ (if
+ (i32.eq
+ (local.get $2)
+ (local.get $0)
+ )
+ (local.set $15
+ (i32.add
+ (local.get $2)
+ (i32.const 8)
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.get $2)
+ (local.get $4)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.get $2)
+ (i32.const 8)
+ )
+ )
+ )
+ (local.get $5)
+ )
+ (block
+ (local.set $15
+ (local.get $0)
+ )
+ (br $do-once53)
+ )
+ )
+ (call $_abort)
+ )
+ )
+ )
+ (i32.store offset=12
+ (local.get $3)
+ (local.get $2)
+ )
+ (i32.store
+ (local.get $15)
+ (local.get $3)
+ )
+ )
+ (block
+ (local.set $6
+ (i32.load offset=24
+ (local.get $5)
+ )
+ )
+ (block $do-once55
+ (if
+ (i32.eq
+ (local.tee $0
+ (i32.load offset=12
+ (local.get $5)
+ )
+ )
+ (local.get $5)
+ )
+ (block
+ (if
+ (i32.eqz
+ (local.tee $1
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.tee $3
+ (i32.add
+ (local.get $5)
+ (i32.const 16)
+ )
+ )
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (local.tee $1
+ (i32.load
+ (local.get $3)
+ )
+ )
+ (local.set $0
+ (local.get $3)
+ )
+ (block
+ (local.set $12
+ (i32.const 0)
+ )
+ (br $do-once55)
+ )
+ )
+ )
+ (loop $while-in58
+ (if
+ (local.tee $3
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $1)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $1
+ (local.get $3)
+ )
+ (local.set $0
+ (local.get $2)
+ )
+ (br $while-in58)
+ )
+ )
+ (if
+ (local.tee $3
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $1)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $1
+ (local.get $3)
+ )
+ (local.set $0
+ (local.get $2)
+ )
+ (br $while-in58)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $0)
+ (local.get $4)
+ )
+ (call $_abort)
+ (block
+ (i32.store
+ (local.get $0)
+ (i32.const 0)
+ )
+ (local.set $12
+ (local.get $1)
+ )
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.tee $2
+ (i32.load offset=8
+ (local.get $5)
+ )
+ )
+ (local.get $4)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (local.tee $3
+ (i32.add
+ (local.get $2)
+ (i32.const 12)
+ )
+ )
+ )
+ (local.get $5)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (local.tee $1
+ (i32.add
+ (local.get $0)
+ (i32.const 8)
+ )
+ )
+ )
+ (local.get $5)
+ )
+ (block
+ (i32.store
+ (local.get $3)
+ (local.get $0)
+ )
+ (i32.store
+ (local.get $1)
+ (local.get $2)
+ )
+ (local.set $12
+ (local.get $0)
+ )
+ )
+ (call $_abort)
+ )
+ )
+ )
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (local.get $6)
+ )
+ )
+ (block $do-once59
+ (if
+ (i32.eq
+ (local.get $5)
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (i32.shl
+ (local.tee $1
+ (i32.load offset=28
+ (local.get $5)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 480)
+ )
+ )
+ )
+ )
+ (block
+ (i32.store
+ (local.get $0)
+ (local.get $12)
+ )
+ (br_if $do-once59
+ (local.get $12)
+ )
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (local.get $1)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (br $label$break$L331)
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.get $6)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.get $6)
+ (i32.const 16)
+ )
+ )
+ )
+ (local.get $5)
+ )
+ (i32.store
+ (local.get $0)
+ (local.get $12)
+ )
+ (i32.store offset=20
+ (local.get $6)
+ (local.get $12)
+ )
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (local.get $12)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $12)
+ (local.tee $1
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (local.get $12)
+ (local.get $6)
+ )
+ (if
+ (local.tee $3
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.get $5)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $3)
+ (local.get $1)
+ )
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (local.get $12)
+ (local.get $3)
+ )
+ (i32.store offset=24
+ (local.get $3)
+ (local.get $12)
+ )
+ )
+ )
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (local.tee $0
+ (i32.load offset=4
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $0)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (local.get $12)
+ (local.get $0)
+ )
+ (i32.store offset=24
+ (local.get $0)
+ (local.get $12)
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.set $7
+ (i32.add
+ (local.get $11)
+ (local.get $7)
+ )
+ )
+ (i32.add
+ (local.get $5)
+ (local.get $11)
+ )
+ )
+ (local.get $5)
+ )
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.and
+ (i32.load
+ (local.get $0)
+ )
+ (i32.const -2)
+ )
+ )
+ (i32.store offset=4
+ (local.get $8)
+ (i32.or
+ (local.get $7)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (local.get $8)
+ (local.get $7)
+ )
+ (local.get $7)
+ )
+ (local.set $0
+ (i32.shr_u
+ (local.get $7)
+ (i32.const 3)
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $7)
+ (i32.const 256)
+ )
+ (block
+ (local.set $3
+ (i32.add
+ (i32.shl
+ (local.get $0)
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
+ )
+ (block $do-once63
+ (if
+ (i32.and
+ (local.tee $1
+ (i32.load
+ (i32.const 176)
+ )
+ )
+ (local.tee $0
+ (i32.shl
+ (i32.const 1)
+ (local.get $0)
+ )
+ )
+ )
+ (block
+ (if
+ (i32.ge_u
+ (local.tee $0
+ (i32.load
+ (local.tee $1
+ (i32.add
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (block
+ (local.set $16
+ (local.get $1)
+ )
+ (local.set $10
+ (local.get $0)
+ )
+ (br $do-once63)
+ )
+ )
+ (call $_abort)
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ (local.set $16
+ (i32.add
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ (local.set $10
+ (local.get $3)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $16)
+ (local.get $8)
+ )
+ (i32.store offset=12
+ (local.get $10)
+ (local.get $8)
+ )
+ (i32.store offset=8
+ (local.get $8)
+ (local.get $10)
+ )
+ (i32.store offset=12
+ (local.get $8)
+ (local.get $3)
+ )
+ (br $do-once48)
+ )
+ )
+ (local.set $3
+ (i32.add
+ (i32.shl
+ (local.tee $2
+ (block $do-once65 (result i32)
+ (if (result i32)
+ (local.tee $0
+ (i32.shr_u
+ (local.get $7)
+ (i32.const 8)
+ )
+ )
+ (block (result i32)
+ (drop
+ (br_if $do-once65
+ (i32.const 31)
+ (i32.gt_u
+ (local.get $7)
+ (i32.const 16777215)
+ )
+ )
+ )
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (local.get $7)
+ (i32.add
+ (local.tee $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (local.tee $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (local.tee $1
+ (i32.shl
+ (local.get $0)
+ (local.tee $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (local.get $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (local.get $3)
+ )
+ (local.tee $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (local.tee $1
+ (i32.shl
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (i32.shr_u
+ (i32.shl
+ (local.get $1)
+ (local.get $0)
+ )
+ (i32.const 15)
+ )
+ )
+ )
+ (i32.const 7)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.shl
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 480)
+ )
+ )
+ (i32.store offset=28
+ (local.get $8)
+ (local.get $2)
+ )
+ (i32.store offset=4
+ (local.tee $0
+ (i32.add
+ (local.get $8)
+ (i32.const 16)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $0)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (local.tee $1
+ (i32.load
+ (i32.const 180)
+ )
+ )
+ (local.tee $0
+ (i32.shl
+ (i32.const 1)
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ (i32.store
+ (local.get $3)
+ (local.get $8)
+ )
+ (i32.store offset=24
+ (local.get $8)
+ (local.get $3)
+ )
+ (i32.store offset=12
+ (local.get $8)
+ (local.get $8)
+ )
+ (i32.store offset=8
+ (local.get $8)
+ (local.get $8)
+ )
+ (br $do-once48)
+ )
+ )
+ (local.set $2
+ (i32.shl
+ (local.get $7)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (local.get $2)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
+ (local.get $2)
+ (i32.const 31)
+ )
+ )
+ )
+ )
+ (local.set $0
+ (i32.load
+ (local.get $3)
+ )
+ )
+ (block $__rjto$7
+ (block $__rjti$7
+ (loop $while-in68
+ (br_if $__rjti$7
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (local.get $0)
+ )
+ (i32.const -8)
+ )
+ (local.get $7)
+ )
+ )
+ (local.set $3
+ (i32.shl
+ (local.get $2)
+ (i32.const 1)
+ )
+ )
+ (if
+ (local.tee $1
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (i32.add
+ (local.get $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (local.get $2)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ )
+ (block
+ (local.set $2
+ (local.get $3)
+ )
+ (local.set $0
+ (local.get $1)
+ )
+ (br $while-in68)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $2)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ (block
+ (i32.store
+ (local.get $2)
+ (local.get $8)
+ )
+ (i32.store offset=24
+ (local.get $8)
+ (local.get $0)
+ )
+ (i32.store offset=12
+ (local.get $8)
+ (local.get $8)
+ )
+ (i32.store offset=8
+ (local.get $8)
+ (local.get $8)
+ )
+ (br $do-once48)
+ )
+ )
+ (br $__rjto$7)
+ )
+ (if
+ (i32.and
+ (i32.ge_u
+ (local.tee $2
+ (i32.load
+ (local.tee $3
+ (i32.add
+ (local.get $0)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (local.tee $1
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (i32.ge_u
+ (local.get $0)
+ (local.get $1)
+ )
+ )
+ (block
+ (i32.store offset=12
+ (local.get $2)
+ (local.get $8)
+ )
+ (i32.store
+ (local.get $3)
+ (local.get $8)
+ )
+ (i32.store offset=8
+ (local.get $8)
+ (local.get $2)
+ )
+ (i32.store offset=12
+ (local.get $8)
+ (local.get $0)
+ )
+ (i32.store offset=24
+ (local.get $8)
+ (i32.const 0)
+ )
+ )
+ (call $_abort)
+ )
+ )
+ )
+ )
+ )
+ (return
+ (i32.add
+ (local.get $9)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ )
+ (loop $while-in70
+ (block $while-out69
+ (if
+ (i32.le_u
+ (local.tee $2
+ (i32.load
+ (local.get $4)
+ )
+ )
+ (local.get $6)
+ )
+ (br_if $while-out69
+ (i32.gt_u
+ (local.tee $2
+ (i32.add
+ (local.get $2)
+ (i32.load offset=4
+ (local.get $4)
+ )
+ )
+ )
+ (local.get $6)
+ )
+ )
+ )
+ (local.set $4
+ (i32.load offset=8
+ (local.get $4)
+ )
+ )
+ (br $while-in70)
+ )
+ )
+ (local.set $10
+ (i32.add
+ (local.tee $4
+ (i32.add
+ (local.get $2)
+ (i32.const -47)
+ )
+ )
+ (i32.const 8)
+ )
+ )
+ (local.set $12
+ (i32.add
+ (local.tee $11
+ (select
+ (local.get $6)
+ (local.tee $4
+ (i32.add
+ (local.get $4)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (local.get $10)
+ )
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (local.get $10)
+ (i32.const 7)
+ )
+ )
+ )
+ )
+ (i32.lt_u
+ (local.get $4)
+ (local.tee $10
+ (i32.add
+ (local.get $6)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ )
+ (i32.const 8)
+ )
+ )
+ (i32.store
+ (i32.const 200)
+ (local.tee $5
+ (i32.add
+ (local.get $1)
+ (local.tee $4
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (local.tee $4
+ (i32.add
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ )
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (local.get $4)
+ (i32.const 7)
+ )
+ )
+ )
+ )
+ )
+ )
+ (i32.store
+ (i32.const 188)
+ (local.tee $4
+ (i32.sub
+ (i32.add
+ (local.get $3)
+ (i32.const -40)
+ )
+ (local.get $4)
+ )
+ )
+ )
+ (i32.store offset=4
+ (local.get $5)
+ (i32.or
+ (local.get $4)
+ (i32.const 1)
+ )
+ )
+ (i32.store offset=4
+ (i32.add
+ (local.get $5)
+ (local.get $4)
+ )
+ (i32.const 40)
+ )
+ (i32.store
+ (i32.const 204)
+ (i32.load
+ (i32.const 664)
+ )
+ )
+ (i32.store
+ (local.tee $4
+ (i32.add
+ (local.get $11)
+ (i32.const 4)
+ )
+ )
+ (i32.const 27)
+ )
+ (i32.store
+ (local.get $12)
+ (i32.load
+ (i32.const 624)
+ )
+ )
+ (i32.store offset=4
+ (local.get $12)
+ (i32.load
+ (i32.const 628)
+ )
+ )
+ (i32.store offset=8
+ (local.get $12)
+ (i32.load
+ (i32.const 632)
+ )
+ )
+ (i32.store offset=12
+ (local.get $12)
+ (i32.load
+ (i32.const 636)
+ )
+ )
+ (i32.store
+ (i32.const 624)
+ (local.get $1)
+ )
+ (i32.store
+ (i32.const 628)
+ (local.get $3)
+ )
+ (i32.store
+ (i32.const 636)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 632)
+ (local.get $12)
+ )
+ (local.set $1
+ (i32.add
+ (local.get $11)
+ (i32.const 24)
+ )
+ )
+ (loop $while-in72
+ (i32.store
+ (local.tee $1
+ (i32.add
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (i32.const 7)
+ )
+ (br_if $while-in72
+ (i32.lt_u
+ (i32.add
+ (local.get $1)
+ (i32.const 4)
+ )
+ (local.get $2)
+ )
+ )
+ )
+ (if
+ (i32.ne
+ (local.get $11)
+ (local.get $6)
+ )
+ (block
+ (i32.store
+ (local.get $4)
+ (i32.and
+ (i32.load
+ (local.get $4)
+ )
+ (i32.const -2)
+ )
+ )
+ (i32.store offset=4
+ (local.get $6)
+ (i32.or
+ (local.tee $5
+ (i32.sub
+ (local.get $11)
+ (local.get $6)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (local.get $11)
+ (local.get $5)
+ )
+ (local.set $1
+ (i32.shr_u
+ (local.get $5)
+ (i32.const 3)
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $5)
+ (i32.const 256)
+ )
+ (block
+ (local.set $2
+ (i32.add
+ (i32.shl
+ (local.get $1)
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
+ )
+ (if
+ (i32.and
+ (local.tee $3
+ (i32.load
+ (i32.const 176)
+ )
+ )
+ (local.tee $1
+ (i32.shl
+ (i32.const 1)
+ (local.get $1)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.tee $1
+ (i32.load
+ (local.tee $3
+ (i32.add
+ (local.get $2)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ (block
+ (local.set $17
+ (local.get $3)
+ )
+ (local.set $7
+ (local.get $1)
+ )
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (local.get $3)
+ (local.get $1)
+ )
+ )
+ (local.set $17
+ (i32.add
+ (local.get $2)
+ (i32.const 8)
+ )
+ )
+ (local.set $7
+ (local.get $2)
+ )
+ )
+ )
+ (i32.store
+ (local.get $17)
+ (local.get $6)
+ )
+ (i32.store offset=12
+ (local.get $7)
+ (local.get $6)
+ )
+ (i32.store offset=8
+ (local.get $6)
+ (local.get $7)
+ )
+ (i32.store offset=12
+ (local.get $6)
+ (local.get $2)
+ )
+ (br $do-once40)
+ )
+ )
+ (local.set $2
+ (i32.add
+ (i32.shl
+ (local.tee $4
+ (if (result i32)
+ (local.tee $1
+ (i32.shr_u
+ (local.get $5)
+ (i32.const 8)
+ )
+ )
+ (if (result i32)
+ (i32.gt_u
+ (local.get $5)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (local.get $5)
+ (i32.add
+ (local.tee $1
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (local.tee $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (local.tee $3
+ (i32.shl
+ (local.get $1)
+ (local.tee $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (local.get $1)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (local.get $2)
+ )
+ (local.tee $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (local.tee $3
+ (i32.shl
+ (local.get $3)
+ (local.get $1)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (i32.shr_u
+ (i32.shl
+ (local.get $3)
+ (local.get $1)
+ )
+ (i32.const 15)
+ )
+ )
+ )
+ (i32.const 7)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.shl
+ (local.get $1)
+ (i32.const 1)
+ )
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 480)
+ )
+ )
+ (i32.store offset=28
+ (local.get $6)
+ (local.get $4)
+ )
+ (i32.store offset=20
+ (local.get $6)
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $10)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (local.tee $3
+ (i32.load
+ (i32.const 180)
+ )
+ )
+ (local.tee $1
+ (i32.shl
+ (i32.const 1)
+ (local.get $4)
+ )
+ )
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (local.get $3)
+ (local.get $1)
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (local.get $6)
+ )
+ (i32.store offset=24
+ (local.get $6)
+ (local.get $2)
+ )
+ (i32.store offset=12
+ (local.get $6)
+ (local.get $6)
+ )
+ (i32.store offset=8
+ (local.get $6)
+ (local.get $6)
+ )
+ (br $do-once40)
+ )
+ )
+ (local.set $4
+ (i32.shl
+ (local.get $5)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (local.get $4)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
+ (local.get $4)
+ (i32.const 31)
+ )
+ )
+ )
+ )
+ (local.set $1
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (block $__rjto$9
+ (block $__rjti$9
+ (loop $while-in74
+ (br_if $__rjti$9
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (local.get $1)
+ )
+ (i32.const -8)
+ )
+ (local.get $5)
+ )
+ )
+ (local.set $2
+ (i32.shl
+ (local.get $4)
+ (i32.const 1)
+ )
+ )
+ (if
+ (local.tee $3
+ (i32.load
+ (local.tee $4
+ (i32.add
+ (i32.add
+ (local.get $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (local.get $4)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ )
+ (block
+ (local.set $4
+ (local.get $2)
+ )
+ (local.set $1
+ (local.get $3)
+ )
+ (br $while-in74)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $4)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ (block
+ (i32.store
+ (local.get $4)
+ (local.get $6)
+ )
+ (i32.store offset=24
+ (local.get $6)
+ (local.get $1)
+ )
+ (i32.store offset=12
+ (local.get $6)
+ (local.get $6)
+ )
+ (i32.store offset=8
+ (local.get $6)
+ (local.get $6)
+ )
+ (br $do-once40)
+ )
+ )
+ (br $__rjto$9)
+ )
+ (if
+ (i32.and
+ (i32.ge_u
+ (local.tee $4
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (local.tee $3
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (i32.ge_u
+ (local.get $1)
+ (local.get $3)
+ )
+ )
+ (block
+ (i32.store offset=12
+ (local.get $4)
+ (local.get $6)
+ )
+ (i32.store
+ (local.get $2)
+ (local.get $6)
+ )
+ (i32.store offset=8
+ (local.get $6)
+ (local.get $4)
+ )
+ (i32.store offset=12
+ (local.get $6)
+ (local.get $1)
+ )
+ (i32.store offset=24
+ (local.get $6)
+ (i32.const 0)
+ )
+ )
+ (call $_abort)
+ )
+ )
+ )
+ )
+ )
+ (block
+ (if
+ (i32.or
+ (i32.eqz
+ (local.tee $2
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (i32.lt_u
+ (local.get $1)
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (i32.const 192)
+ (local.get $1)
+ )
+ )
+ (i32.store
+ (i32.const 624)
+ (local.get $1)
+ )
+ (i32.store
+ (i32.const 628)
+ (local.get $3)
+ )
+ (i32.store
+ (i32.const 636)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 212)
+ (i32.load
+ (i32.const 648)
+ )
+ )
+ (i32.store
+ (i32.const 208)
+ (i32.const -1)
+ )
+ (local.set $2
+ (i32.const 0)
+ )
+ (loop $while-in43
+ (i32.store offset=12
+ (local.tee $4
+ (i32.add
+ (i32.shl
+ (local.get $2)
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
+ )
+ (local.get $4)
+ )
+ (i32.store offset=8
+ (local.get $4)
+ (local.get $4)
+ )
+ (br_if $while-in43
+ (i32.ne
+ (local.tee $2
+ (i32.add
+ (local.get $2)
+ (i32.const 1)
+ )
+ )
+ (i32.const 32)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 200)
+ (local.tee $2
+ (i32.add
+ (local.get $1)
+ (local.tee $1
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (local.tee $1
+ (i32.add
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ )
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (local.get $1)
+ (i32.const 7)
+ )
+ )
+ )
+ )
+ )
+ )
+ (i32.store
+ (i32.const 188)
+ (local.tee $1
+ (i32.sub
+ (i32.add
+ (local.get $3)
+ (i32.const -40)
+ )
+ (local.get $1)
+ )
+ )
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.or
+ (local.get $1)
+ (i32.const 1)
+ )
+ )
+ (i32.store offset=4
+ (i32.add
+ (local.get $2)
+ (local.get $1)
+ )
+ (i32.const 40)
+ )
+ (i32.store
+ (i32.const 204)
+ (i32.load
+ (i32.const 664)
+ )
+ )
+ )
+ )
+ )
+ (br_if $folding-inner0
+ (i32.gt_u
+ (local.tee $1
+ (i32.load
+ (i32.const 188)
+ )
+ )
+ (local.get $0)
+ )
+ )
+ )
+ (i32.store
+ (call $___errno_location)
+ (i32.const 12)
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ (i32.store
+ (i32.const 188)
+ (local.tee $3
+ (i32.sub
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 200)
+ (local.tee $1
+ (i32.add
+ (local.tee $2
+ (i32.load
+ (i32.const 200)
+ )
+ )
+ (local.get $0)
+ )
+ )
+ )
+ (i32.store offset=4
+ (local.get $1)
+ (i32.or
+ (local.get $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.or
+ (local.get $0)
+ (i32.const 3)
+ )
+ )
+ (i32.add
+ (local.get $2)
+ (i32.const 8)
+ )
+ )
+ ;; CHECK: (func $_free (param $0 i32)
+ ;; CHECK-NEXT: (local $1 i32)
+ ;; CHECK-NEXT: (local $2 i32)
+ ;; CHECK-NEXT: (local $3 i32)
+ ;; CHECK-NEXT: (local $4 i32)
+ ;; CHECK-NEXT: (local $5 i32)
+ ;; CHECK-NEXT: (local $6 i32)
+ ;; CHECK-NEXT: (local $7 i32)
+ ;; CHECK-NEXT: (local $8 i32)
+ ;; CHECK-NEXT: (local $9 i32)
+ ;; CHECK-NEXT: (local $10 i32)
+ ;; CHECK-NEXT: (local $11 i32)
+ ;; CHECK-NEXT: (local $12 i32)
+ ;; CHECK-NEXT: (local $13 i32)
+ ;; CHECK-NEXT: (local $14 i32)
+ ;; CHECK-NEXT: (local $15 i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const -8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $11
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const -4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const -8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block558
+ ;; CHECK-NEXT: (local.set $7
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 196)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block562
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block564
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 184)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const -2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (i32.const 256)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block566
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (i32.load offset=12
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.tee $2
+ ;; CHECK-NEXT: (i32.load offset=8
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 216)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block568
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (i32.load offset=12
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block572
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block574
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $12
+ ;; CHECK-NEXT: (i32.load offset=24
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once0
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.load offset=12
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block578
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block581
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block583
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block585
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block587
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block588
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $10
+ ;; CHECK-NEXT: (i32.load offset=8
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $11)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block592
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (block $block594
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.load offset=28
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 480)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block596
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block598
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block599
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=20
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block603
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $7
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block607
+ ;; CHECK-NEXT: (i32.store offset=16
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $7)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block610
+ ;; CHECK-NEXT: (i32.store offset=20
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block611
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block612
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block616
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const -2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block617
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 200)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block619
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 188)
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 188)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 200)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 196)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 196)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 184)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 196)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block622
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 184)
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 184)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 196)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const -8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once4
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 256)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block624
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.load offset=12
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load offset=8
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 216)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block626
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (i32.load offset=12
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block630
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $14
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block632
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $14
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $14)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block635
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (i32.load offset=24
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once6
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load offset=12
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block637
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block640
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in9
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block642
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block644
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block646
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block647
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.load offset=8
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ne
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const 12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block651
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $9
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (block $block653
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load offset=28
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 480)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block655
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block657
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.xor
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block658
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=20
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $do-once4
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block664
+ ;; CHECK-NEXT: (i32.store offset=16
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block667
+ ;; CHECK-NEXT: (i32.store offset=20
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $9)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 196)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block669
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 184)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 256)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block671
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 216)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block674
+ ;; CHECK-NEXT: (local.set $15
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $13
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block675
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 176)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $15
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $13
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $15)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 16777215)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 14)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1048320)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 520192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 245760)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 15)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 480)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=28
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=20
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=16
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $do-once12
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block679
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 25)
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $__rjto$1
+ ;; CHECK-NEXT: (block $__rjti$1
+ ;; CHECK-NEXT: (loop $while-in15
+ ;; CHECK-NEXT: (br_if $__rjti$1
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $5
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.const 31)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block681
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in15)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: (block $block683
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $do-once12)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__rjto$1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.tee $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 192)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.ge_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block685
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $_abort)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block686
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 180)
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=24
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=8
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 208)
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 208)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (return)
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.const 632)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in17
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br_if $while-in17
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 208)
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $_free (param $0 i32)
+ (local $1 i32)
+ (local $2 i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local $6 i32)
+ (local $7 i32)
+ (local $8 i32)
+ (local $9 i32)
+ (local $10 i32)
+ (local $11 i32)
+ (local $12 i32)
+ (local $13 i32)
+ (local $14 i32)
+ (local $15 i32)
+ (if
+ (i32.eqz
+ (local.get $0)
+ )
+ (return)
+ )
+ (if
+ (i32.lt_u
+ (local.tee $1
+ (i32.add
+ (local.get $0)
+ (i32.const -8)
+ )
+ )
+ (local.tee $11
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (local.tee $5
+ (i32.and
+ (local.tee $7
+ (i32.load
+ (i32.add
+ (local.get $0)
+ (i32.const -4)
+ )
+ )
+ )
+ (i32.const 3)
+ )
+ )
+ (i32.const 1)
+ )
+ (call $_abort)
+ )
+ (local.set $8
+ (i32.add
+ (local.get $1)
+ (local.tee $0
+ (i32.and
+ (local.get $7)
+ (i32.const -8)
+ )
+ )
+ )
+ )
+ (block $do-once
+ (if
+ (i32.and
+ (local.get $7)
+ (i32.const 1)
+ )
+ (block
+ (local.set $2
+ (local.get $1)
+ )
+ (local.set $3
+ (local.get $0)
+ )
+ )
+ (block
+ (local.set $7
+ (i32.load
+ (local.get $1)
+ )
+ )
+ (if
+ (i32.eqz
+ (local.get $5)
+ )
+ (return)
+ )
+ (if
+ (i32.lt_u
+ (local.tee $1
+ (i32.add
+ (local.get $1)
+ (i32.sub
+ (i32.const 0)
+ (local.get $7)
+ )
+ )
+ )
+ (local.get $11)
+ )
+ (call $_abort)
+ )
+ (local.set $0
+ (i32.add
+ (local.get $7)
+ (local.get $0)
+ )
+ )
+ (if
+ (i32.eq
+ (local.get $1)
+ (i32.load
+ (i32.const 196)
+ )
+ )
+ (block
+ (if
+ (i32.ne
+ (i32.and
+ (local.tee $3
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $8)
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ (i32.const 3)
+ )
+ (i32.const 3)
+ )
+ (block
+ (local.set $2
+ (local.get $1)
+ )
+ (local.set $3
+ (local.get $0)
+ )
+ (br $do-once)
+ )
+ )
+ (i32.store
+ (i32.const 184)
+ (local.get $0)
+ )
+ (i32.store
+ (local.get $2)
+ (i32.and
+ (local.get $3)
+ (i32.const -2)
+ )
+ )
+ (i32.store offset=4
+ (local.get $1)
+ (i32.or
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (local.get $1)
+ (local.get $0)
+ )
+ (local.get $0)
+ )
+ (return)
+ )
+ )
+ (local.set $5
+ (i32.shr_u
+ (local.get $7)
+ (i32.const 3)
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $7)
+ (i32.const 256)
+ )
+ (block
+ (local.set $6
+ (i32.load offset=12
+ (local.get $1)
+ )
+ )
+ (if
+ (i32.ne
+ (local.tee $2
+ (i32.load offset=8
+ (local.get $1)
+ )
+ )
+ (local.tee $3
+ (i32.add
+ (i32.shl
+ (local.get $5)
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.get $2)
+ (local.get $11)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
+ (i32.load offset=12
+ (local.get $2)
+ )
+ (local.get $1)
+ )
+ (call $_abort)
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (local.get $6)
+ (local.get $2)
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (i32.load
+ (i32.const 176)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (local.get $5)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (local.set $2
+ (local.get $1)
+ )
+ (local.set $3
+ (local.get $0)
+ )
+ (br $do-once)
+ )
+ )
+ (if
+ (i32.eq
+ (local.get $6)
+ (local.get $3)
+ )
+ (local.set $4
+ (i32.add
+ (local.get $6)
+ (i32.const 8)
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.get $6)
+ (local.get $11)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (local.tee $3
+ (i32.add
+ (local.get $6)
+ (i32.const 8)
+ )
+ )
+ )
+ (local.get $1)
+ )
+ (local.set $4
+ (local.get $3)
+ )
+ (call $_abort)
+ )
+ )
+ )
+ (i32.store offset=12
+ (local.get $2)
+ (local.get $6)
+ )
+ (i32.store
+ (local.get $4)
+ (local.get $2)
+ )
+ (local.set $2
+ (local.get $1)
+ )
+ (local.set $3
+ (local.get $0)
+ )
+ (br $do-once)
+ )
+ )
+ (local.set $12
+ (i32.load offset=24
+ (local.get $1)
+ )
+ )
+ (block $do-once0
+ (if
+ (i32.eq
+ (local.tee $4
+ (i32.load offset=12
+ (local.get $1)
+ )
+ )
+ (local.get $1)
+ )
+ (block
+ (if
+ (i32.eqz
+ (local.tee $5
+ (i32.load
+ (local.tee $4
+ (i32.add
+ (local.tee $7
+ (i32.add
+ (local.get $1)
+ (i32.const 16)
+ )
+ )
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (local.tee $5
+ (i32.load
+ (local.get $7)
+ )
+ )
+ (local.set $4
+ (local.get $7)
+ )
+ (block
+ (local.set $6
+ (i32.const 0)
+ )
+ (br $do-once0)
+ )
+ )
+ )
+ (loop $while-in
+ (if
+ (local.tee $7
+ (i32.load
+ (local.tee $10
+ (i32.add
+ (local.get $5)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $5
+ (local.get $7)
+ )
+ (local.set $4
+ (local.get $10)
+ )
+ (br $while-in)
+ )
+ )
+ (if
+ (local.tee $7
+ (i32.load
+ (local.tee $10
+ (i32.add
+ (local.get $5)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $5
+ (local.get $7)
+ )
+ (local.set $4
+ (local.get $10)
+ )
+ (br $while-in)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $4)
+ (local.get $11)
+ )
+ (call $_abort)
+ (block
+ (i32.store
+ (local.get $4)
+ (i32.const 0)
+ )
+ (local.set $6
+ (local.get $5)
+ )
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.tee $10
+ (i32.load offset=8
+ (local.get $1)
+ )
+ )
+ (local.get $11)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (local.tee $7
+ (i32.add
+ (local.get $10)
+ (i32.const 12)
+ )
+ )
+ )
+ (local.get $1)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (local.tee $5
+ (i32.add
+ (local.get $4)
+ (i32.const 8)
+ )
+ )
+ )
+ (local.get $1)
+ )
+ (block
+ (i32.store
+ (local.get $7)
+ (local.get $4)
+ )
+ (i32.store
+ (local.get $5)
+ (local.get $10)
+ )
+ (local.set $6
+ (local.get $4)
+ )
+ )
+ (call $_abort)
+ )
+ )
+ )
+ )
+ (if
+ (local.get $12)
+ (block
+ (if
+ (i32.eq
+ (local.get $1)
+ (i32.load
+ (local.tee $4
+ (i32.add
+ (i32.shl
+ (local.tee $5
+ (i32.load offset=28
+ (local.get $1)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 480)
+ )
+ )
+ )
+ )
+ (block
+ (i32.store
+ (local.get $4)
+ (local.get $6)
+ )
+ (if
+ (i32.eqz
+ (local.get $6)
+ )
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (local.get $5)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (local.set $2
+ (local.get $1)
+ )
+ (local.set $3
+ (local.get $0)
+ )
+ (br $do-once)
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.get $12)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (local.tee $4
+ (i32.add
+ (local.get $12)
+ (i32.const 16)
+ )
+ )
+ )
+ (local.get $1)
+ )
+ (i32.store
+ (local.get $4)
+ (local.get $6)
+ )
+ (i32.store offset=20
+ (local.get $12)
+ (local.get $6)
+ )
+ )
+ (if
+ (i32.eqz
+ (local.get $6)
+ )
+ (block
+ (local.set $2
+ (local.get $1)
+ )
+ (local.set $3
+ (local.get $0)
+ )
+ (br $do-once)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $6)
+ (local.tee $5
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (local.get $6)
+ (local.get $12)
+ )
+ (if
+ (local.tee $7
+ (i32.load
+ (local.tee $4
+ (i32.add
+ (local.get $1)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $7)
+ (local.get $5)
+ )
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (local.get $6)
+ (local.get $7)
+ )
+ (i32.store offset=24
+ (local.get $7)
+ (local.get $6)
+ )
+ )
+ )
+ )
+ (if
+ (local.tee $4
+ (i32.load offset=4
+ (local.get $4)
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $4)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (local.get $6)
+ (local.get $4)
+ )
+ (i32.store offset=24
+ (local.get $4)
+ (local.get $6)
+ )
+ (local.set $2
+ (local.get $1)
+ )
+ (local.set $3
+ (local.get $0)
+ )
+ )
+ )
+ (block
+ (local.set $2
+ (local.get $1)
+ )
+ (local.set $3
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $2
+ (local.get $1)
+ )
+ (local.set $3
+ (local.get $0)
+ )
+ )
+ )
+ )
+ )
+ )
+ (if
+ (i32.ge_u
+ (local.get $2)
+ (local.get $8)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (local.tee $1
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.get $8)
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.and
+ (local.get $1)
+ (i32.const 2)
+ )
+ (block
+ (i32.store
+ (local.get $0)
+ (i32.and
+ (local.get $1)
+ (i32.const -2)
+ )
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.or
+ (local.get $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (local.get $2)
+ (local.get $3)
+ )
+ (local.get $3)
+ )
+ )
+ (block
+ (if
+ (i32.eq
+ (local.get $8)
+ (i32.load
+ (i32.const 200)
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 188)
+ (local.tee $0
+ (i32.add
+ (i32.load
+ (i32.const 188)
+ )
+ (local.get $3)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 200)
+ (local.get $2)
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.or
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ (if
+ (i32.ne
+ (local.get $2)
+ (i32.load
+ (i32.const 196)
+ )
+ )
+ (return)
+ )
+ (i32.store
+ (i32.const 196)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 184)
+ (i32.const 0)
+ )
+ (return)
+ )
+ )
+ (if
+ (i32.eq
+ (local.get $8)
+ (i32.load
+ (i32.const 196)
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 184)
+ (local.tee $0
+ (i32.add
+ (i32.load
+ (i32.const 184)
+ )
+ (local.get $3)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 196)
+ (local.get $2)
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.or
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (local.get $2)
+ (local.get $0)
+ )
+ (local.get $0)
+ )
+ (return)
+ )
+ )
+ (local.set $5
+ (i32.add
+ (i32.and
+ (local.get $1)
+ (i32.const -8)
+ )
+ (local.get $3)
+ )
+ )
+ (local.set $3
+ (i32.shr_u
+ (local.get $1)
+ (i32.const 3)
+ )
+ )
+ (block $do-once4
+ (if
+ (i32.lt_u
+ (local.get $1)
+ (i32.const 256)
+ )
+ (block
+ (local.set $4
+ (i32.load offset=12
+ (local.get $8)
+ )
+ )
+ (if
+ (i32.ne
+ (local.tee $1
+ (i32.load offset=8
+ (local.get $8)
+ )
+ )
+ (local.tee $0
+ (i32.add
+ (i32.shl
+ (local.get $3)
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.get $1)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
+ (i32.load offset=12
+ (local.get $1)
+ )
+ (local.get $8)
+ )
+ (call $_abort)
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (local.get $4)
+ (local.get $1)
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (i32.load
+ (i32.const 176)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (local.get $3)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (br $do-once4)
+ )
+ )
+ (if
+ (i32.eq
+ (local.get $4)
+ (local.get $0)
+ )
+ (local.set $14
+ (i32.add
+ (local.get $4)
+ (i32.const 8)
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.get $4)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.get $4)
+ (i32.const 8)
+ )
+ )
+ )
+ (local.get $8)
+ )
+ (local.set $14
+ (local.get $0)
+ )
+ (call $_abort)
+ )
+ )
+ )
+ (i32.store offset=12
+ (local.get $1)
+ (local.get $4)
+ )
+ (i32.store
+ (local.get $14)
+ (local.get $1)
+ )
+ )
+ (block
+ (local.set $6
+ (i32.load offset=24
+ (local.get $8)
+ )
+ )
+ (block $do-once6
+ (if
+ (i32.eq
+ (local.tee $0
+ (i32.load offset=12
+ (local.get $8)
+ )
+ )
+ (local.get $8)
+ )
+ (block
+ (if
+ (i32.eqz
+ (local.tee $3
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.tee $1
+ (i32.add
+ (local.get $8)
+ (i32.const 16)
+ )
+ )
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ )
+ (if
+ (local.tee $3
+ (i32.load
+ (local.get $1)
+ )
+ )
+ (local.set $0
+ (local.get $1)
+ )
+ (block
+ (local.set $9
+ (i32.const 0)
+ )
+ (br $do-once6)
+ )
+ )
+ )
+ (loop $while-in9
+ (if
+ (local.tee $1
+ (i32.load
+ (local.tee $4
+ (i32.add
+ (local.get $3)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $3
+ (local.get $1)
+ )
+ (local.set $0
+ (local.get $4)
+ )
+ (br $while-in9)
+ )
+ )
+ (if
+ (local.tee $1
+ (i32.load
+ (local.tee $4
+ (i32.add
+ (local.get $3)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $3
+ (local.get $1)
+ )
+ (local.set $0
+ (local.get $4)
+ )
+ (br $while-in9)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $0)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ (block
+ (i32.store
+ (local.get $0)
+ (i32.const 0)
+ )
+ (local.set $9
+ (local.get $3)
+ )
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.tee $4
+ (i32.load offset=8
+ (local.get $8)
+ )
+ )
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (local.tee $1
+ (i32.add
+ (local.get $4)
+ (i32.const 12)
+ )
+ )
+ )
+ (local.get $8)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (local.tee $3
+ (i32.add
+ (local.get $0)
+ (i32.const 8)
+ )
+ )
+ )
+ (local.get $8)
+ )
+ (block
+ (i32.store
+ (local.get $1)
+ (local.get $0)
+ )
+ (i32.store
+ (local.get $3)
+ (local.get $4)
+ )
+ (local.set $9
+ (local.get $0)
+ )
+ )
+ (call $_abort)
+ )
+ )
+ )
+ )
+ (if
+ (local.get $6)
+ (block
+ (if
+ (i32.eq
+ (local.get $8)
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (i32.shl
+ (local.tee $3
+ (i32.load offset=28
+ (local.get $8)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 480)
+ )
+ )
+ )
+ )
+ (block
+ (i32.store
+ (local.get $0)
+ (local.get $9)
+ )
+ (if
+ (i32.eqz
+ (local.get $9)
+ )
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (local.get $3)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (br $do-once4)
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (local.get $6)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.get $6)
+ (i32.const 16)
+ )
+ )
+ )
+ (local.get $8)
+ )
+ (i32.store
+ (local.get $0)
+ (local.get $9)
+ )
+ (i32.store offset=20
+ (local.get $6)
+ (local.get $9)
+ )
+ )
+ (br_if $do-once4
+ (i32.eqz
+ (local.get $9)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $9)
+ (local.tee $3
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (local.get $9)
+ (local.get $6)
+ )
+ (if
+ (local.tee $1
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.get $8)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $1)
+ (local.get $3)
+ )
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (local.get $9)
+ (local.get $1)
+ )
+ (i32.store offset=24
+ (local.get $1)
+ (local.get $9)
+ )
+ )
+ )
+ )
+ (if
+ (local.tee $0
+ (i32.load offset=4
+ (local.get $0)
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $0)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (local.get $9)
+ (local.get $0)
+ )
+ (i32.store offset=24
+ (local.get $0)
+ (local.get $9)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.or
+ (local.get $5)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (local.get $2)
+ (local.get $5)
+ )
+ (local.get $5)
+ )
+ (if
+ (i32.eq
+ (local.get $2)
+ (i32.load
+ (i32.const 196)
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 184)
+ (local.get $5)
+ )
+ (return)
+ )
+ (local.set $3
+ (local.get $5)
+ )
+ )
+ )
+ )
+ (local.set $0
+ (i32.shr_u
+ (local.get $3)
+ (i32.const 3)
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $3)
+ (i32.const 256)
+ )
+ (block
+ (local.set $1
+ (i32.add
+ (i32.shl
+ (local.get $0)
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
+ )
+ (if
+ (i32.and
+ (local.tee $3
+ (i32.load
+ (i32.const 176)
+ )
+ )
+ (local.tee $0
+ (i32.shl
+ (i32.const 1)
+ (local.get $0)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.tee $0
+ (i32.load
+ (local.tee $3
+ (i32.add
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ (block
+ (local.set $15
+ (local.get $3)
+ )
+ (local.set $13
+ (local.get $0)
+ )
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (local.get $3)
+ (local.get $0)
+ )
+ )
+ (local.set $15
+ (i32.add
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ (local.set $13
+ (local.get $1)
+ )
+ )
+ )
+ (i32.store
+ (local.get $15)
+ (local.get $2)
+ )
+ (i32.store offset=12
+ (local.get $13)
+ (local.get $2)
+ )
+ (i32.store offset=8
+ (local.get $2)
+ (local.get $13)
+ )
+ (i32.store offset=12
+ (local.get $2)
+ (local.get $1)
+ )
+ (return)
+ )
+ )
+ (local.set $4
+ (i32.add
+ (i32.shl
+ (local.tee $5
+ (if (result i32)
+ (local.tee $0
+ (i32.shr_u
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ (if (result i32)
+ (i32.gt_u
+ (local.get $3)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (local.get $3)
+ (i32.add
+ (local.tee $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
+ (i32.or
+ (local.tee $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (local.tee $1
+ (i32.shl
+ (local.get $0)
+ (local.tee $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (local.get $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 520192)
+ )
+ (i32.const 16)
+ )
+ (i32.const 4)
+ )
+ )
+ (local.get $4)
+ )
+ (local.tee $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (local.tee $1
+ (i32.shl
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ (i32.const 245760)
+ )
+ (i32.const 16)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (i32.shr_u
+ (i32.shl
+ (local.get $1)
+ (local.get $0)
+ )
+ (i32.const 15)
+ )
+ )
+ )
+ (i32.const 7)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.shl
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 480)
+ )
+ )
+ (i32.store offset=28
+ (local.get $2)
+ (local.get $5)
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.const 0)
+ )
+ (i32.store offset=16
+ (local.get $2)
+ (i32.const 0)
+ )
+ (block $do-once12
+ (if
+ (i32.and
+ (local.tee $1
+ (i32.load
+ (i32.const 180)
+ )
+ )
+ (local.tee $0
+ (i32.shl
+ (i32.const 1)
+ (local.get $5)
+ )
+ )
+ )
+ (block
+ (local.set $5
+ (i32.shl
+ (local.get $3)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (local.get $5)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
+ (local.get $5)
+ (i32.const 31)
+ )
+ )
+ )
+ )
+ (local.set $0
+ (i32.load
+ (local.get $4)
+ )
+ )
+ (block $__rjto$1
+ (block $__rjti$1
+ (loop $while-in15
+ (br_if $__rjti$1
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (local.get $0)
+ )
+ (i32.const -8)
+ )
+ (local.get $3)
+ )
+ )
+ (local.set $4
+ (i32.shl
+ (local.get $5)
+ (i32.const 1)
+ )
+ )
+ (if
+ (local.tee $1
+ (i32.load
+ (local.tee $5
+ (i32.add
+ (i32.add
+ (local.get $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (local.get $5)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ )
+ (block
+ (local.set $5
+ (local.get $4)
+ )
+ (local.set $0
+ (local.get $1)
+ )
+ (br $while-in15)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (local.get $5)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
+ (block
+ (i32.store
+ (local.get $5)
+ (local.get $2)
+ )
+ (i32.store offset=24
+ (local.get $2)
+ (local.get $0)
+ )
+ (i32.store offset=12
+ (local.get $2)
+ (local.get $2)
+ )
+ (i32.store offset=8
+ (local.get $2)
+ (local.get $2)
+ )
+ (br $do-once12)
+ )
+ )
+ (br $__rjto$1)
+ )
+ (if
+ (i32.and
+ (i32.ge_u
+ (local.tee $4
+ (i32.load
+ (local.tee $1
+ (i32.add
+ (local.get $0)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (local.tee $3
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (i32.ge_u
+ (local.get $0)
+ (local.get $3)
+ )
+ )
+ (block
+ (i32.store offset=12
+ (local.get $4)
+ (local.get $2)
+ )
+ (i32.store
+ (local.get $1)
+ (local.get $2)
+ )
+ (i32.store offset=8
+ (local.get $2)
+ (local.get $4)
+ )
+ (i32.store offset=12
+ (local.get $2)
+ (local.get $0)
+ )
+ (i32.store offset=24
+ (local.get $2)
+ (i32.const 0)
+ )
+ )
+ (call $_abort)
+ )
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ (i32.store
+ (local.get $4)
+ (local.get $2)
+ )
+ (i32.store offset=24
+ (local.get $2)
+ (local.get $4)
+ )
+ (i32.store offset=12
+ (local.get $2)
+ (local.get $2)
+ )
+ (i32.store offset=8
+ (local.get $2)
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (i32.store
+ (i32.const 208)
+ (local.tee $0
+ (i32.add
+ (i32.load
+ (i32.const 208)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (if
+ (local.get $0)
+ (return)
+ (local.set $0
+ (i32.const 632)
+ )
+ )
+ (loop $while-in17
+ (local.set $0
+ (i32.add
+ (local.tee $3
+ (i32.load
+ (local.get $0)
+ )
+ )
+ (i32.const 8)
+ )
+ )
+ (br_if $while-in17
+ (local.get $3)
+ )
+ )
+ (i32.store
+ (i32.const 208)
+ (i32.const -1)
+ )
+ )
+ ;; CHECK: (func $runPostSets
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
+ (func $runPostSets
+ (nop)
+ )
+ ;; CHECK: (func $_i64Subtract (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ ;; CHECK-NEXT: (global.set $tempRet0
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.gt_u
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $_i64Subtract (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ (global.set $tempRet0
+ (i32.sub
+ (i32.sub
+ (local.get $1)
+ (local.get $3)
+ )
+ (i32.gt_u
+ (local.get $2)
+ (local.get $0)
+ )
+ )
+ )
+ (i32.sub
+ (local.get $0)
+ (local.get $2)
+ )
+ )
+ ;; CHECK: (func $_i64Add (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ ;; CHECK-NEXT: (local $4 i32)
+ ;; CHECK-NEXT: (global.set $tempRet0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.lt_u
+ ;; CHECK-NEXT: (local.tee $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ (func $_i64Add (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ (local $4 i32)
+ (global.set $tempRet0
+ (i32.add
+ (i32.add
+ (local.get $1)
+ (local.get $3)
+ )
+ (i32.lt_u
+ (local.tee $4
+ (i32.add
+ (local.get $0)
+ (local.get $2)
+ )
+ )
+ (local.get $0)
+ )
+ )
+ )
+ (local.get $4)
+ )
+ ;; CHECK: (func $_memset (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ ;; CHECK-NEXT: (local $3 i32)
+ ;; CHECK-NEXT: (local $4 i32)
+ ;; CHECK-NEXT: (local $5 i32)
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_s
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 255)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.tee $3
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block689
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block691
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 24)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: (i32.const -4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in1
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block693
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in3
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block695
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $_memset (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local.set $4
+ (i32.add
+ (local.get $0)
+ (local.get $2)
+ )
+ )
+ (if
+ (i32.ge_s
+ (local.get $2)
+ (i32.const 20)
+ )
+ (block
+ (local.set $1
+ (i32.and
+ (local.get $1)
+ (i32.const 255)
+ )
+ )
+ (if
+ (local.tee $3
+ (i32.and
+ (local.get $0)
+ (i32.const 3)
+ )
+ )
+ (block
+ (local.set $3
+ (i32.sub
+ (i32.add
+ (local.get $0)
+ (i32.const 4)
+ )
+ (local.get $3)
+ )
+ )
+ (loop $while-in
+ (if
+ (i32.lt_s
+ (local.get $0)
+ (local.get $3)
+ )
+ (block
+ (i32.store8
+ (local.get $0)
+ (local.get $1)
+ )
+ (local.set $0
+ (i32.add
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ (br $while-in)
+ )
+ )
+ )
+ )
+ )
+ (local.set $3
+ (i32.or
+ (i32.or
+ (i32.or
+ (local.get $1)
+ (i32.shl
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ (i32.shl
+ (local.get $1)
+ (i32.const 16)
+ )
+ )
+ (i32.shl
+ (local.get $1)
+ (i32.const 24)
+ )
+ )
+ )
+ (local.set $5
+ (i32.and
+ (local.get $4)
+ (i32.const -4)
+ )
+ )
+ (loop $while-in1
+ (if
+ (i32.lt_s
+ (local.get $0)
+ (local.get $5)
+ )
+ (block
+ (i32.store
+ (local.get $0)
+ (local.get $3)
+ )
+ (local.set $0
+ (i32.add
+ (local.get $0)
+ (i32.const 4)
+ )
+ )
+ (br $while-in1)
+ )
+ )
+ )
+ )
+ )
+ (loop $while-in3
+ (if
+ (i32.lt_s
+ (local.get $0)
+ (local.get $4)
+ )
+ (block
+ (i32.store8
+ (local.get $0)
+ (local.get $1)
+ )
+ (local.set $0
+ (i32.add
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ (br $while-in3)
+ )
+ )
+ )
+ (i32.sub
+ (local.get $0)
+ (local.get $2)
+ )
+ )
+ ;; CHECK: (func $_bitshift64Lshr (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block
+ ;; CHECK-NEXT: (global.set $tempRet0
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $tempRet0
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $_bitshift64Lshr (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (if
+ (i32.lt_s
+ (local.get $2)
+ (i32.const 32)
+ )
+ (block
+ (global.set $tempRet0
+ (i32.shr_u
+ (local.get $1)
+ (local.get $2)
+ )
+ )
+ (return
+ (i32.or
+ (i32.shr_u
+ (local.get $0)
+ (local.get $2)
+ )
+ (i32.shl
+ (i32.and
+ (local.get $1)
+ (i32.sub
+ (i32.shl
+ (i32.const 1)
+ (local.get $2)
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.sub
+ (i32.const 32)
+ (local.get $2)
+ )
+ )
+ )
+ )
+ )
+ )
+ (global.set $tempRet0
+ (i32.const 0)
+ )
+ (i32.shr_u
+ (local.get $1)
+ (i32.sub
+ (local.get $2)
+ (i32.const 32)
+ )
+ )
+ )
+ ;; CHECK: (func $_bitshift64Shl (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.lt_s
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block
+ ;; CHECK-NEXT: (global.set $tempRet0
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.shr_u
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $tempRet0
+ ;; CHECK-NEXT: (i32.shl
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ (func $_bitshift64Shl (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (if
+ (i32.lt_s
+ (local.get $2)
+ (i32.const 32)
+ )
+ (block
+ (global.set $tempRet0
+ (i32.or
+ (i32.shl
+ (local.get $1)
+ (local.get $2)
+ )
+ (i32.shr_u
+ (i32.and
+ (local.get $0)
+ (i32.shl
+ (i32.sub
+ (i32.shl
+ (i32.const 1)
+ (local.get $2)
+ )
+ (i32.const 1)
+ )
+ (i32.sub
+ (i32.const 32)
+ (local.get $2)
+ )
+ )
+ )
+ (i32.sub
+ (i32.const 32)
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (return
+ (i32.shl
+ (local.get $0)
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (global.set $tempRet0
+ (i32.shl
+ (local.get $0)
+ (i32.sub
+ (local.get $2)
+ (i32.const 32)
+ )
+ )
+ )
+ (i32.const 0)
+ )
+ ;; CHECK: (func $_memcpy (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ ;; CHECK-NEXT: (local $3 i32)
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_s
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 4096)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return
+ ;; CHECK-NEXT: (call $_emscripten_memcpy_big
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block
+ ;; CHECK-NEXT: (loop $while-in
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block698
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in1
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.ge_s
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block701
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (loop $while-in3
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.gt_s
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block $block703
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.load8_s
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $while-in3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ (func $_memcpy (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (local $3 i32)
+ (if
+ (i32.ge_s
+ (local.get $2)
+ (i32.const 4096)
+ )
+ (return
+ (call $_emscripten_memcpy_big
+ (local.get $0)
+ (local.get $1)
+ (local.get $2)
+ )
+ )
+ )
+ (local.set $3
+ (local.get $0)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (local.get $0)
+ (i32.const 3)
+ )
+ (i32.and
+ (local.get $1)
+ (i32.const 3)
+ )
+ )
+ (block
+ (loop $while-in
+ (if
+ (i32.and
+ (local.get $0)
+ (i32.const 3)
+ )
+ (block
+ (if
+ (i32.eqz
+ (local.get $2)
+ )
+ (return
+ (local.get $3)
+ )
+ )
+ (i32.store8
+ (local.get $0)
+ (i32.load8_s
+ (local.get $1)
+ )
+ )
+ (local.set $0
+ (i32.add
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ (local.set $1
+ (i32.add
+ (local.get $1)
+ (i32.const 1)
+ )
+ )
+ (local.set $2
+ (i32.sub
+ (local.get $2)
+ (i32.const 1)
+ )
+ )
+ (br $while-in)
+ )
+ )
+ )
+ (loop $while-in1
+ (if
+ (i32.ge_s
+ (local.get $2)
+ (i32.const 4)
+ )
+ (block
+ (i32.store
+ (local.get $0)
+ (i32.load
+ (local.get $1)
+ )
+ )
+ (local.set $0
+ (i32.add
+ (local.get $0)
+ (i32.const 4)
+ )
+ )
+ (local.set $1
+ (i32.add
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (local.set $2
+ (i32.sub
+ (local.get $2)
+ (i32.const 4)
+ )
+ )
+ (br $while-in1)
+ )
+ )
+ )
+ )
+ )
+ (loop $while-in3
+ (if
+ (i32.gt_s
+ (local.get $2)
+ (i32.const 0)
+ )
+ (block
+ (i32.store8
+ (local.get $0)
+ (i32.load8_s
+ (local.get $1)
+ )
+ )
+ (local.set $0
+ (i32.add
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ (local.set $1
+ (i32.add
+ (local.get $1)
+ (i32.const 1)
+ )
+ )
+ (local.set $2
+ (i32.sub
+ (local.get $2)
+ (i32.const 1)
+ )
+ )
+ (br $while-in3)
+ )
+ )
+ )
+ (local.get $3)
+ )
+ ;; CHECK: (func $___udivdi3 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ ;; CHECK-NEXT: (call $___udivmoddi4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $___udivdi3 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ (call $___udivmoddi4
+ (local.get $0)
+ (local.get $1)
+ (local.get $2)
+ (local.get $3)
+ (i32.const 0)
+ )
+ )
+ ;; CHECK: (func $___uremdi3 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ ;; CHECK-NEXT: (local $4 i32)
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (global.get $STACKTOP)
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $___udivmoddi4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $STACKTOP
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $tempRet0
+ ;; CHECK-NEXT: (i32.load offset=4
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $___uremdi3 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ (local $4 i32)
+ (local.set $4
+ (global.get $STACKTOP)
+ )
+ (global.set $STACKTOP
+ (i32.add
+ (global.get $STACKTOP)
+ (i32.const 16)
+ )
+ )
+ (drop
+ (call $___udivmoddi4
+ (local.get $0)
+ (local.get $1)
+ (local.get $2)
+ (local.get $3)
+ (local.tee $0
+ (local.get $4)
+ )
+ )
+ )
+ (global.set $STACKTOP
+ (local.get $4)
+ )
+ (global.set $tempRet0
+ (i32.load offset=4
+ (local.get $0)
+ )
+ )
+ (i32.load
+ (local.get $0)
+ )
+ )
+ ;; CHECK: (func $___udivmoddi4 (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (param $r i32) (result i32)
+ ;; CHECK-NEXT: (local $x64 i64)
+ ;; CHECK-NEXT: (local $y64 i64)
+ ;; CHECK-NEXT: (local.set $x64
+ ;; CHECK-NEXT: (i64.or
+ ;; CHECK-NEXT: (i64.extend_i32_u
+ ;; CHECK-NEXT: (local.get $xl)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i64.shl
+ ;; CHECK-NEXT: (i64.extend_i32_u
+ ;; CHECK-NEXT: (local.get $xh)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i64.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $y64
+ ;; CHECK-NEXT: (i64.or
+ ;; CHECK-NEXT: (i64.extend_i32_u
+ ;; CHECK-NEXT: (local.get $yl)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i64.shl
+ ;; CHECK-NEXT: (i64.extend_i32_u
+ ;; CHECK-NEXT: (local.get $yh)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i64.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (local.get $r)
+ ;; CHECK-NEXT: (i64.store
+ ;; CHECK-NEXT: (local.get $r)
+ ;; CHECK-NEXT: (i64.rem_u
+ ;; CHECK-NEXT: (local.get $x64)
+ ;; CHECK-NEXT: (local.get $y64)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $x64
+ ;; CHECK-NEXT: (i64.div_u
+ ;; CHECK-NEXT: (local.get $x64)
+ ;; CHECK-NEXT: (local.get $y64)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $tempRet0
+ ;; CHECK-NEXT: (i32.wrap_i64
+ ;; CHECK-NEXT: (i64.shr_u
+ ;; CHECK-NEXT: (local.get $x64)
+ ;; CHECK-NEXT: (i64.const 32)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.wrap_i64
+ ;; CHECK-NEXT: (local.get $x64)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $___udivmoddi4 (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (param $r i32) (result i32)
+ (local $x64 i64)
+ (local $y64 i64)
+ (local.set $x64
+ (i64.or
+ (i64.extend_i32_u
+ (local.get $xl)
+ )
+ (i64.shl
+ (i64.extend_i32_u
+ (local.get $xh)
+ )
+ (i64.const 32)
+ )
+ )
+ )
+ (local.set $y64
+ (i64.or
+ (i64.extend_i32_u
+ (local.get $yl)
+ )
+ (i64.shl
+ (i64.extend_i32_u
+ (local.get $yh)
+ )
+ (i64.const 32)
+ )
+ )
+ )
+ (if
+ (local.get $r)
+ (i64.store
+ (local.get $r)
+ (i64.rem_u
+ (local.get $x64)
+ (local.get $y64)
+ )
+ )
+ )
+ (local.set $x64
+ (i64.div_u
+ (local.get $x64)
+ (local.get $y64)
+ )
+ )
+ (global.set $tempRet0
+ (i32.wrap_i64
+ (i64.shr_u
+ (local.get $x64)
+ (i64.const 32)
+ )
+ )
+ )
+ (i32.wrap_i64
+ (local.get $x64)
+ )
+ )
+ ;; CHECK: (func $dynCall_ii (param $0 i32) (param $1 i32) (result i32)
+ ;; CHECK-NEXT: (call_indirect (type $FUNCSIG$ii)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $dynCall_ii (param $0 i32) (param $1 i32) (result i32)
+ (call_indirect (type $FUNCSIG$ii)
+ (local.get $1)
+ (i32.and
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ )
+ ;; CHECK: (func $dynCall_iiii (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ ;; CHECK-NEXT: (call_indirect (type $FUNCSIG$iiii)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $dynCall_iiii (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ (call_indirect (type $FUNCSIG$iiii)
+ (local.get $1)
+ (local.get $2)
+ (local.get $3)
+ (i32.add
+ (i32.and
+ (local.get $0)
+ (i32.const 7)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ ;; CHECK: (func $dynCall_vi (param $0 i32) (param $1 i32)
+ ;; CHECK-NEXT: (call_indirect (type $FUNCSIG$vi)
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (i32.and
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 7)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $dynCall_vi (param $0 i32) (param $1 i32)
+ (call_indirect (type $FUNCSIG$vi)
+ (local.get $1)
+ (i32.add
+ (i32.and
+ (local.get $0)
+ (i32.const 7)
+ )
+ (i32.const 10)
+ )
+ )
+ )
+ ;; CHECK: (func $b0 (param $0 i32) (result i32)
+ ;; CHECK-NEXT: (call $nullFunc_ii
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ (func $b0 (param $0 i32) (result i32)
+ (call $nullFunc_ii
+ (i32.const 0)
+ )
+ (i32.const 0)
+ )
+ ;; CHECK: (func $b1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ ;; CHECK-NEXT: (call $nullFunc_iiii
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ (func $b1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (call $nullFunc_iiii
+ (i32.const 1)
+ )
+ (i32.const 0)
+ )
+ ;; CHECK: (func $b2 (param $0 i32)
+ ;; CHECK-NEXT: (call $nullFunc_vi
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $b2 (param $0 i32)
+ (call $nullFunc_vi
+ (i32.const 2)
+ )
+ )
+)
diff --git a/test/lit/passes/inlining_all-features.wast b/test/lit/passes/inlining_all-features.wast
new file mode 100644
index 000000000..f48d72409
--- /dev/null
+++ b/test/lit/passes/inlining_all-features.wast
@@ -0,0 +1,154 @@
+;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
+;; NOTE: This test was ported using port_test.py and could be cleaned up.
+
+;; RUN: foreach %s %t wasm-opt --inlining --all-features -S -o - | filecheck %s
+
+(module
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (type $none_=>_funcref (func (result funcref)))
+
+ ;; CHECK: (elem declare func $foo)
+
+ ;; CHECK: (export "ref_func_test" (func $ref_func_test))
+ (export "ref_func_test" (func $ref_func_test))
+ ;; $foo should not be removed after being inlined, because there is 'ref.func'
+ ;; instruction that refers to it
+ ;; CHECK: (func $foo
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
+ (func $foo)
+ ;; CHECK: (func $ref_func_test (result funcref)
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block $__inlined_func$foo
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (ref.func $foo)
+ ;; CHECK-NEXT: )
+ (func $ref_func_test (result funcref)
+ (call $foo)
+ (ref.func $foo)
+ )
+)
+(module
+ ;; a function reference in a global's init should be noticed, and prevent us
+ ;; from removing an inlined function
+ ;; CHECK: (type $none_=>_i32 (func (result i32)))
+
+ ;; CHECK: (global $global$0 (mut funcref) (ref.func $0))
+ (global $global$0 (mut funcref) (ref.func $0))
+ ;; CHECK: (func $0 (result i32)
+ ;; CHECK-NEXT: (i32.const 1337)
+ ;; CHECK-NEXT: )
+ (func $0 (result i32)
+ (i32.const 1337)
+ )
+ ;; CHECK: (func $1 (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$0 (result i32)
+ ;; CHECK-NEXT: (i32.const 1337)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $1 (result i32)
+ (call $0)
+ )
+)
+(module
+ ;; a function reference in the start should be noticed, and prevent us
+ ;; from removing an inlined function
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (start $0)
+ (start $0)
+ ;; CHECK: (func $0
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
+ (func $0
+ (nop)
+ )
+ ;; CHECK: (func $1
+ ;; CHECK-NEXT: (block $__inlined_func$0
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $1
+ (call $0)
+ )
+)
+;; inline a return_call_ref
+(module
+ ;; CHECK: (type $none_=>_none (func))
+ (type $none_=>_none (func))
+ ;; CHECK: (export "func_36_invoker" (func $1))
+ (export "func_36_invoker" (func $1))
+ (func $0
+ (return_call_ref
+ (ref.null $none_=>_none)
+ )
+ )
+ ;; CHECK: (func $1
+ ;; CHECK-NEXT: (block $__inlined_func$0
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (call_ref
+ ;; CHECK-NEXT: (ref.null $none_=>_none)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__inlined_func$0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__inlined_func$0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $1
+ (call $0)
+ )
+)
+;; handle non-nullable parameter types (which turn into local types after
+;; inlining)
+(module
+ (func $0 (param $non-null (ref func)) (result (ref func))
+ (local.get $non-null)
+ )
+ ;; CHECK: (type $none_=>_ref|func| (func (result (ref func))))
+
+ ;; CHECK: (elem declare func $1)
+
+ ;; CHECK: (func $1 (result (ref func))
+ ;; CHECK-NEXT: (local $0 funcref)
+ ;; CHECK-NEXT: (block $__inlined_func$0 (result (ref func))
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (ref.func $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (ref.as_non_null
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $1 (result (ref func))
+ (call $0
+ (ref.func $1)
+ )
+ )
+)
+;; never inline an rtt parameter, as those cannot be handled as locals
+(module
+ ;; CHECK: (type $struct (struct ))
+ (type $struct (struct))
+ ;; CHECK: (type $rtt_$struct_=>_none (func (param (rtt $struct))))
+
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (func $0 (param $rtt (rtt $struct))
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
+ (func $0 (param $rtt (rtt $struct))
+ )
+ ;; CHECK: (func $1
+ ;; CHECK-NEXT: (call $0
+ ;; CHECK-NEXT: (rtt.canon $struct)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $1
+ (call $0
+ (rtt.canon $struct)
+ )
+ )
+)
diff --git a/test/lit/passes/inlining_enable-tail-call.wast b/test/lit/passes/inlining_enable-tail-call.wast
new file mode 100644
index 000000000..646d2cf0d
--- /dev/null
+++ b/test/lit/passes/inlining_enable-tail-call.wast
@@ -0,0 +1,707 @@
+;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
+;; NOTE: This test was ported using port_test.py and could be cleaned up.
+
+;; RUN: foreach %s %t wasm-opt --inlining --enable-tail-call -S -o - | filecheck %s
+
+(module
+ (table 1 1 funcref)
+ (elem (i32.const 0) $tabled)
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (table $0 1 1 funcref)
+
+ ;; CHECK: (elem (i32.const 0) $tabled)
+
+ ;; CHECK: (export "user" (func $user))
+
+ ;; CHECK: (export "exported" (func $exported))
+
+ ;; CHECK: (func $user
+ ;; CHECK-NEXT: (local $x i32)
+ ;; CHECK-NEXT: (local $y f64)
+ ;; CHECK-NEXT: (local $2 f32)
+ ;; CHECK-NEXT: (local $3 i64)
+ ;; CHECK-NEXT: (local $4 f32)
+ ;; CHECK-NEXT: (local $5 i64)
+ ;; CHECK-NEXT: (local $6 f32)
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block $__inlined_func$exported
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block $__inlined_func$tabled
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block $__inlined_func$multi
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block $__inlined_func$multi0
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block $__inlined_func$ok
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$int (result i32)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (block (result f64)
+ ;; CHECK-NEXT: (block $__inlined_func$double (result f64)
+ ;; CHECK-NEXT: (f64.const 3.14159)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $x
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$int2 (result i32)
+ ;; CHECK-NEXT: (i32.const 112)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $y
+ ;; CHECK-NEXT: (block (result f64)
+ ;; CHECK-NEXT: (block $__inlined_func$double2 (result f64)
+ ;; CHECK-NEXT: (f64.const 113.14159)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block $__inlined_func$with-local
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (f32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $2
+ ;; CHECK-NEXT: (f32.const 2.1418280601501465)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block $__inlined_func$with-local2
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i64.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $3
+ ;; CHECK-NEXT: (i64.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$return (result i32)
+ ;; CHECK-NEXT: (br $__inlined_func$return
+ ;; CHECK-NEXT: (i32.const 5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block $__inlined_func$multipass
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block $__inlined_func$multipass2
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (i32.const 6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block $__inlined_func$param
+ ;; CHECK-NEXT: (local.set $4
+ ;; CHECK-NEXT: (f32.const 12.34000015258789)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $5
+ ;; CHECK-NEXT: (i64.const 890005350012)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $6
+ ;; CHECK-NEXT: (f32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (local.get $4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (local.get $5)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (local.get $6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $user (export "user")
+ (local $x i32)
+ (local $y f64)
+ (call $exported)
+ (call $tabled)
+ (call $multi)
+ (call $multi)
+ (call $ok)
+ (drop (call $int))
+ (drop (call $double))
+ (local.set $x (call $int2))
+ (local.set $y (call $double2))
+ (call $with-local)
+ (call $with-local2)
+ (drop (call $return))
+ (call $multipass)
+ (call $param (f32.const 12.34) (i64.const 890005350012))
+ )
+ ;; CHECK: (func $exported
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
+ (func $exported (export "exported")
+ (nop)
+ )
+ ;; CHECK: (func $recursive
+ ;; CHECK-NEXT: (call $recursive)
+ ;; CHECK-NEXT: )
+ (func $recursive
+ (call $recursive)
+ )
+ ;; CHECK: (func $tabled
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
+ (func $tabled
+ (nop)
+ )
+ ;; CHECK: (func $cycle1
+ ;; CHECK-NEXT: (block $__inlined_func$cycle2
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (call $cycle1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $cycle1
+ (call $cycle2)
+ )
+ (func $cycle2
+ (call $cycle1)
+ )
+ (func $multi
+ (nop)
+ )
+ (func $ok
+ (drop (i32.const 1))
+ )
+ (func $int (result i32)
+ (i32.const 2)
+ )
+ (func $double (result f64)
+ (f64.const 3.14159)
+ )
+ (func $int2 (result i32)
+ (i32.const 112)
+ )
+ (func $double2 (result f64)
+ (f64.const 113.14159)
+ )
+ (func $with-local
+ (local $x f32)
+ (local.set $x (f32.const 2.141828))
+ )
+ (func $with-local2
+ (local $y i64)
+ (local.set $y (i64.const 4))
+ )
+ (func $return (result i32)
+ (return (i32.const 5))
+ )
+ (func $multipass
+ (call $multipass2)
+ )
+ (func $multipass2
+ (drop (i32.const 6))
+ )
+ (func $param (param $x f32) (param $y i64)
+ (local $z f32)
+ (drop (local.get $x))
+ (drop (local.get $y))
+ (drop (local.get $z))
+ )
+)
+(module
+ ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32)))
+
+ ;; CHECK: (type $none_=>_i32 (func (result i32)))
+
+ ;; CHECK: (func $child (param $0 i32) (result i32)
+ ;; CHECK-NEXT: (i32.const 1234)
+ ;; CHECK-NEXT: )
+ (func $child (param i32) (result i32)
+ (i32.const 1234)
+ )
+ ;; CHECK: (func $parent (result i32)
+ ;; CHECK-NEXT: (call $child
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $parent (result i32)
+ (call $child
+ (unreachable) ;; call is not performed, no sense to inline
+ )
+ )
+)
+(module
+ ;; CHECK: (type $f32_i32_=>_i32 (func (param f32 i32) (result i32)))
+
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (global $hangLimit (mut i32) (i32.const 25))
+ (global $hangLimit (mut i32) (i32.const 25))
+ ;; CHECK: (memory $0 1 1)
+ (memory $0 1 1)
+ ;; CHECK: (export "hangLimitInitializer" (func $hangLimitInitializer))
+ (export "hangLimitInitializer" (func $hangLimitInitializer))
+ (func $func_3 (result i32)
+ (local $0 i32)
+ (select
+ (local.get $0) ;; we depend on the zero-init value here, so it must be set when inlining!
+ (local.tee $0
+ (i32.const -1)
+ )
+ (i32.const 1)
+ )
+ )
+ ;; CHECK: (func $func_4 (param $0 f32) (param $1 i32) (result i32)
+ ;; CHECK-NEXT: (local $2 i64)
+ ;; CHECK-NEXT: (local $3 f64)
+ ;; CHECK-NEXT: (local $4 f32)
+ ;; CHECK-NEXT: (local $5 i32)
+ ;; CHECK-NEXT: (local $6 i32)
+ ;; CHECK-NEXT: (local $7 f64)
+ ;; CHECK-NEXT: (local $8 i32)
+ ;; CHECK-NEXT: (loop $label$0 (result i32)
+ ;; CHECK-NEXT: (block $block
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (global.get $hangLimit)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return
+ ;; CHECK-NEXT: (i32.const 54)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $hangLimit
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (global.get $hangLimit)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$func_3 (result i32)
+ ;; CHECK-NEXT: (local.set $8
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (select
+ ;; CHECK-NEXT: (local.get $8)
+ ;; CHECK-NEXT: (local.tee $8
+ ;; CHECK-NEXT: (i32.const -1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$0)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $func_4 (param $0 f32) (param $1 i32) (result i32)
+ (local $2 i64)
+ (local $3 f64)
+ (local $4 f32)
+ (local $5 i32)
+ (local $6 i32)
+ (local $7 f64)
+ (loop $label$0 (result i32)
+ (block
+ (if
+ (i32.eqz
+ (global.get $hangLimit)
+ )
+ (return
+ (i32.const 54)
+ )
+ )
+ (global.set $hangLimit
+ (i32.sub
+ (global.get $hangLimit)
+ (i32.const 1)
+ )
+ )
+ )
+ (i32.eqz
+ (if (result i32)
+ (i32.const 1)
+ (if (result i32)
+ (i32.eqz
+ (call $func_3)
+ )
+ (br $label$0)
+ (i32.const 0)
+ )
+ (unreachable)
+ )
+ )
+ )
+ )
+ ;; CHECK: (func $hangLimitInitializer
+ ;; CHECK-NEXT: (global.set $hangLimit
+ ;; CHECK-NEXT: (i32.const 25)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $hangLimitInitializer
+ (global.set $hangLimit
+ (i32.const 25)
+ )
+ )
+)
+(module
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (type $T (func (param i32)))
+ (type $T (func (param i32)))
+ (table 10 funcref)
+ ;; CHECK: (table $0 10 funcref)
+
+ ;; CHECK: (func $0
+ ;; CHECK-NEXT: (block $__inlined_func$1
+ ;; CHECK-NEXT: (call_indirect (type $T)
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $0
+ (call $1)
+ )
+ (func $1
+ (call_indirect (type $T)
+ (if (result i32) ;; if copy must preserve the forced type
+ (i32.const 0)
+ (unreachable)
+ (unreachable)
+ )
+ (i32.const 1)
+ )
+ )
+)
+(module
+ (func $0
+ (block $label$1 ;; copy this name
+ (br_table $label$1 $label$1
+ (i32.const 0)
+ )
+ )
+ )
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (func $1
+ ;; CHECK-NEXT: (block $__inlined_func$0
+ ;; CHECK-NEXT: (block $label$1
+ ;; CHECK-NEXT: (br_table $label$1 $label$1
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $1
+ (call $0)
+ )
+)
+(module
+ ;; CHECK: (type $none_=>_i32 (func (result i32)))
+
+ ;; CHECK: (func $0 (result i32)
+ ;; CHECK-NEXT: (return
+ ;; CHECK-NEXT: (block $__inlined_func$1 (result i32)
+ ;; CHECK-NEXT: (i32.const 42)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $0 (result i32)
+ (return_call $1)
+ )
+ (func $1 (result i32)
+ (i32.const 42)
+ )
+)
+(module
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (func $0
+ ;; CHECK-NEXT: (local $0 i32)
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block $__inlined_func$1
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.const 42)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $0
+ (return_call $1
+ (i32.const 42)
+ )
+ )
+ (func $1 (param i32)
+ (drop
+ (local.get 0)
+ )
+ )
+)
+(module
+ ;; CHECK: (type $none_=>_i32 (func (result i32)))
+
+ ;; CHECK: (func $0 (result i32)
+ ;; CHECK-NEXT: (local $0 i32)
+ ;; CHECK-NEXT: (return
+ ;; CHECK-NEXT: (block $__inlined_func$1 (result i32)
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.const 42)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $0 (result i32)
+ (return_call $1
+ (i32.const 42)
+ )
+ )
+ (func $1 (param i32) (result i32)
+ (local.get 0)
+ )
+)
+(module
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (func $0
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$1 (result i32)
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (br $__inlined_func$1
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$2 (result i32)
+ ;; CHECK-NEXT: (i32.const 42)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $0
+ (drop
+ (call $1)
+ )
+ )
+ (func $1 (result i32)
+ (return_call $2)
+ )
+ (func $2 (result i32)
+ (i32.const 42)
+ )
+)
+(module
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (func $0
+ ;; CHECK-NEXT: (local $0 i32)
+ ;; CHECK-NEXT: (block $__inlined_func$1
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block $__inlined_func$2
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (i32.const 42)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__inlined_func$1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__inlined_func$1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $0
+ (call $1)
+ )
+ (func $1
+ (return_call $2
+ (i32.const 42)
+ )
+ )
+ (func $2 (param i32)
+ (drop
+ (local.get 0)
+ )
+ )
+)
+(module
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (type $T (func (param i32) (result i32)))
+ (type $T (func (param i32) (result i32)))
+ (table 10 funcref)
+ ;; CHECK: (table $0 10 funcref)
+
+ ;; CHECK: (func $0
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$1 (result i32)
+ ;; CHECK-NEXT: (br $__inlined_func$1
+ ;; CHECK-NEXT: (call_indirect (type $T)
+ ;; CHECK-NEXT: (i32.const 42)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $0
+ (drop
+ (call $1)
+ )
+ )
+ (func $1 (result i32)
+ (return_call_indirect (type $T)
+ (i32.const 42)
+ (i32.const 0)
+ )
+ )
+)
+(module
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (type $T (func (param i32)))
+ (type $T (func (param i32)))
+ (table 10 funcref)
+ ;; CHECK: (table $0 10 funcref)
+
+ ;; CHECK: (func $0
+ ;; CHECK-NEXT: (block $__inlined_func$1
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (call_indirect (type $T)
+ ;; CHECK-NEXT: (i32.const 42)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__inlined_func$1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__inlined_func$1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $0
+ (call $1)
+ )
+ (func $1
+ (return_call_indirect (type $T)
+ (i32.const 42)
+ (i32.const 0)
+ )
+ )
+)
+(module
+ ;; CHECK: (type $6 (func))
+ (type $6 (func))
+ ;; CHECK: (global $global$0 (mut i32) (i32.const 10))
+
+ ;; CHECK: (memory $0 1 1)
+ (memory $0 1 1)
+ (global $global$0 (mut i32) (i32.const 10))
+ ;; CHECK: (export "func_102_invoker" (func $19))
+ (export "func_102_invoker" (func $19))
+ (func $2 (; 2 ;) (type $6)
+ (if
+ (global.get $global$0)
+ (return)
+ )
+ (global.set $global$0
+ (i32.const 1)
+ )
+ )
+ (func $13 (; 13 ;) (type $6)
+ (if
+ (global.get $global$0)
+ (unreachable)
+ )
+ (return_call $2)
+ )
+ ;; CHECK: (func $19
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block $__inlined_func$13
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (global.get $global$0)
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (block $__inlined_func$2
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (global.get $global$0)
+ ;; CHECK-NEXT: (br $__inlined_func$2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $global$0
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__inlined_func$13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $__inlined_func$13)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: )
+ (func $19 (; 19 ;) (type $6)
+ (call $13)
+ (unreachable)
+ )
+)
diff --git a/test/lit/passes/inlining_optimize-level=3.wast b/test/lit/passes/inlining_optimize-level=3.wast
new file mode 100644
index 000000000..ad5f2b44e
--- /dev/null
+++ b/test/lit/passes/inlining_optimize-level=3.wast
@@ -0,0 +1,224 @@
+;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
+;; NOTE: This test was ported using port_test.py and could be cleaned up.
+
+;; RUN: foreach %s %t wasm-opt --inlining --optimize-level=3 -S -o - | filecheck %s
+
+(module
+ ;; CHECK: (type $none_=>_i32 (func (result i32)))
+
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (table $0 1 1 funcref)
+
+ ;; CHECK: (elem (i32.const 0) $no-loops-but-one-use-but-tabled)
+
+ ;; CHECK: (export "yes" (func $yes))
+ (export "yes" (func $yes))
+ ;; CHECK: (export "no-loops-but-one-use-but-exported" (func $no-loops-but-one-use-but-exported))
+ (export "no-loops-but-one-use-but-exported" (func $no-loops-but-one-use-but-exported))
+ (table 1 1 funcref)
+ (elem (i32.const 0) $no-loops-but-one-use-but-tabled)
+
+ ;; CHECK: (func $yes (result i32)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ (func $yes (result i32) ;; inlinable: small, lightweight, even with multi uses and a global use, ok when opt-level=3
+ (i32.const 1)
+ )
+ (func $yes-big-but-single-use (result i32)
+ (nop) (nop) (nop) (nop) (nop) (nop)
+ (nop) (nop) (nop) (nop) (nop) (nop)
+ (nop) (nop) (nop) (nop) (nop) (nop)
+ (nop) (nop) (nop) (nop) (nop) (nop)
+ (nop) (nop) (nop) (nop) (nop) (nop)
+ (nop) (nop) (nop) (nop) (nop) (nop)
+ (i32.const 1)
+ )
+ (func $no-calls (result i32)
+ (call $yes)
+ )
+ (func $yes-calls-but-one-use (result i32)
+ (call $yes)
+ )
+ (func $no-loops (result i32)
+ (loop (result i32)
+ (i32.const 1)
+ )
+ )
+ (func $yes-loops-but-one-use (result i32)
+ (loop (result i32)
+ (i32.const 1)
+ )
+ )
+ ;; CHECK: (func $no-loops-but-one-use-but-exported (result i32)
+ ;; CHECK-NEXT: (loop $loop-in (result i32)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $no-loops-but-one-use-but-exported (result i32)
+ (loop (result i32)
+ (i32.const 1)
+ )
+ )
+ ;; CHECK: (func $no-loops-but-one-use-but-tabled (result i32)
+ ;; CHECK-NEXT: (loop $loop-in (result i32)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $no-loops-but-one-use-but-tabled (result i32)
+ (loop (result i32)
+ (i32.const 1)
+ )
+ )
+ ;; CHECK: (func $intoHere
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$yes (result i32)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$yes-big-but-single-use (result i32)
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$no-calls (result i32)
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$yes0 (result i32)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$no-calls1 (result i32)
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$yes2 (result i32)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$yes-calls-but-one-use (result i32)
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$yes3 (result i32)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$no-loops (result i32)
+ ;; CHECK-NEXT: (loop $loop-in (result i32)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$no-loops0 (result i32)
+ ;; CHECK-NEXT: (loop $loop-in1 (result i32)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$yes-loops-but-one-use (result i32)
+ ;; CHECK-NEXT: (loop $loop-in2 (result i32)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$no-loops-but-one-use-but-exported (result i32)
+ ;; CHECK-NEXT: (loop $loop-in3 (result i32)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (block $__inlined_func$no-loops-but-one-use-but-tabled (result i32)
+ ;; CHECK-NEXT: (loop $loop-in4 (result i32)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $intoHere
+ (drop (call $yes))
+ (drop (call $yes-big-but-single-use))
+ (drop (call $no-calls))
+ (drop (call $no-calls))
+ (drop (call $yes-calls-but-one-use))
+ (drop (call $no-loops))
+ (drop (call $no-loops))
+ (drop (call $yes-loops-but-one-use))
+ (drop (call $no-loops-but-one-use-but-exported))
+ (drop (call $no-loops-but-one-use-but-tabled))
+ )
+)
+
diff --git a/test/passes/inline-main.txt b/test/passes/inline-main.txt
deleted file mode 100644
index ee3f6a6dc..000000000
--- a/test/passes/inline-main.txt
+++ /dev/null
@@ -1,69 +0,0 @@
-(module
- (type $none_=>_i32 (func (result i32)))
- (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
- (export "main" (func $main))
- (func $__original_main (result i32)
- (i32.const 0)
- )
- (func $main (param $0 i32) (param $1 i32) (result i32)
- (block $__inlined_func$__original_main (result i32)
- (i32.const 0)
- )
- )
-)
-(module
- (type $none_=>_i32 (func (result i32)))
- (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
- (export "main" (func $main))
- (func $__original_main (result i32)
- (i32.const 0)
- )
- (func $main (param $0 i32) (param $1 i32) (result i32)
- (i32.const 0)
- )
-)
-(module
- (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
- (export "main" (func $main))
- (func $main (param $0 i32) (param $1 i32) (result i32)
- (i32.const 0)
- )
-)
-(module
- (type $none_=>_i32 (func (result i32)))
- (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
- (export "main" (func $main))
- (func $__original_main (result i32)
- (i32.const 0)
- )
- (func $main (param $0 i32) (param $1 i32) (result i32)
- (drop
- (call $__original_main)
- )
- (call $__original_main)
- )
-)
-(module
- (type $none_=>_i32 (func (result i32)))
- (func $__original_main (result i32)
- (i32.const 0)
- )
-)
-(module
- (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
- (type $none_=>_i32 (func (result i32)))
- (import "env" "main" (func $main (param i32 i32) (result i32)))
- (export "main" (func $main))
- (func $__original_main (result i32)
- (i32.const 0)
- )
-)
-(module
- (type $none_=>_i32 (func (result i32)))
- (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
- (import "env" "original_main" (func $__original_main (result i32)))
- (export "main" (func $main))
- (func $main (param $0 i32) (param $1 i32) (result i32)
- (call $__original_main)
- )
-)
diff --git a/test/passes/inline-main.wast b/test/passes/inline-main.wast
deleted file mode 100644
index d86776187..000000000
--- a/test/passes/inline-main.wast
+++ /dev/null
@@ -1,53 +0,0 @@
-(module
- (export "main" (func $main))
- (func $__original_main (result i32)
- (i32.const 0)
- )
- (func $main (param $0 i32) (param $1 i32) (result i32)
- (call $__original_main)
- )
-)
-(module
- (export "main" (func $main))
- (func $__original_main (result i32)
- (i32.const 0)
- )
- (func $main (param $0 i32) (param $1 i32) (result i32)
- (i32.const 0)
- )
-)
-(module
- (export "main" (func $main))
- (func $main (param $0 i32) (param $1 i32) (result i32)
- (i32.const 0)
- )
-)
-(module
- (export "main" (func $main))
- (func $__original_main (result i32)
- (i32.const 0)
- )
- (func $main (param $0 i32) (param $1 i32) (result i32)
- (drop (call $__original_main))
- (call $__original_main)
- )
-)
-(module
- (func $__original_main (result i32)
- (i32.const 0)
- )
-)
-(module
- (import "env" "main" (func $main (param i32 i32) (result i32)))
- (export "main" (func $main))
- (func $__original_main (result i32)
- (i32.const 0)
- )
-)
-(module
- (import "env" "original_main" (func $__original_main (result i32)))
- (export "main" (func $main))
- (func $main (param $0 i32) (param $1 i32) (result i32)
- (call $__original_main)
- )
-)
diff --git a/test/passes/inlining-optimizing_enable-threads.txt b/test/passes/inlining-optimizing_enable-threads.txt
deleted file mode 100644
index 42ca6fb30..000000000
--- a/test/passes/inlining-optimizing_enable-threads.txt
+++ /dev/null
@@ -1,95 +0,0 @@
-(module
- (type $none_=>_none (func))
- (table $0 1 1 funcref)
- (elem (i32.const 0) $tabled)
- (export "user" (func $user))
- (export "exported" (func $exported))
- (export "exported_small" (func $exported_small))
- (func $user
- (call $exported)
- (call $tabled)
- (call $multi)
- (call $multi)
- )
- (func $exported
- (nop)
- (nop)
- )
- (func $exported_small
- (nop)
- )
- (func $recursive
- (call $recursive)
- )
- (func $tabled
- (nop)
- (nop)
- )
- (func $cycle1
- (call $cycle1)
- )
- (func $multi
- (nop)
- (nop)
- )
-)
-(module
- (type $none_=>_i32 (func (result i32)))
- (func $main (result i32)
- (unreachable)
- )
-)
-(module
- (type $none_=>_i64 (func (result i64)))
- (memory $0 (shared 1 1))
- (func $1 (result i64)
- (i32.atomic.store16
- (i32.const 0)
- (i32.const 0)
- )
- (i64.const 0)
- )
-)
-(module
- (type $none_=>_none (func))
- (func $main
- (call $one)
- (call $one)
- )
- (func $one
- (call $one)
- )
-)
-(module
- (type $none_=>_none (func))
- (func $main
- (call $two)
- (call $two)
- )
- (func $two
- (call $two)
- )
-)
-(module
- (type $0 (func))
- (memory $0 17)
- (table $0 89 89 funcref)
- (start $1)
- (func $1
- (i32.store
- (i32.const 4)
- (i32.const 0)
- )
- (i32.store
- (i32.const 56)
- (i32.const 0)
- )
- (i64.store
- (i32.const 49)
- (i64.load
- (i32.const 24)
- )
- )
- (unreachable)
- )
-)
diff --git a/test/passes/inlining-optimizing_optimize-level=3.txt b/test/passes/inlining-optimizing_optimize-level=3.txt
deleted file mode 100644
index 4fdb31e28..000000000
--- a/test/passes/inlining-optimizing_optimize-level=3.txt
+++ /dev/null
@@ -1,15333 +0,0 @@
-(module
- (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
- (type $FUNCSIG$vi (func (param i32)))
- (type $FUNCSIG$ii (func (param i32) (result i32)))
- (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
- (type $FUNCSIG$i (func (result i32)))
- (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32)))
- (type $FUNCSIG$vii (func (param i32 i32)))
- (type $FUNCSIG$v (func))
- (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32)))
- (type $f64_i32_=>_f64 (func (param f64 i32) (result f64)))
- (type $i32_i32_i32_=>_none (func (param i32 i32 i32)))
- (type $i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32)))
- (import "env" "memory" (memory $0 256 256))
- (data (i32.const 1024) "emcc_hello_world.asm.js")
- (import "env" "table" (table $timport$0 18 18 funcref))
- (import "env" "STACKTOP" (global $STACKTOP$asm2wasm$import i32))
- (import "env" "STACK_MAX" (global $STACK_MAX$asm2wasm$import i32))
- (import "env" "tempDoublePtr" (global $tempDoublePtr$asm2wasm$import i32))
- (import "env" "memoryBase" (global $memoryBase i32))
- (import "env" "tableBase" (global $tableBase i32))
- (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)))
- (global $STACKTOP (mut i32) (global.get $STACKTOP$asm2wasm$import))
- (global $STACK_MAX (mut i32) (global.get $STACK_MAX$asm2wasm$import))
- (global $tempDoublePtr (mut i32) (global.get $tempDoublePtr$asm2wasm$import))
- (global $__THREW__ (mut i32) (i32.const 0))
- (global $threwValue (mut i32) (i32.const 0))
- (global $tempRet0 (mut i32) (i32.const 0))
- (elem (global.get $tableBase) $b0 $___stdio_close $b1 $b1 $___stdout_write $___stdio_seek $___stdio_write $b1 $b1 $b1 $b2 $b2 $b2 $b2 $b2 $_cleanup $b2 $b2)
- (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))
- (func $stackAlloc (param $0 i32) (result i32)
- (local $1 i32)
- (local.set $1
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (local.get $0)
- )
- )
- (global.set $STACKTOP
- (i32.and
- (i32.add
- (global.get $STACKTOP)
- (i32.const 15)
- )
- (i32.const -16)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (local.get $1)
- )
- (func $stackSave (result i32)
- (global.get $STACKTOP)
- )
- (func $stackRestore (param $0 i32)
- (global.set $STACKTOP
- (local.get $0)
- )
- )
- (func $establishStackSpace (param $0 i32) (param $1 i32)
- (global.set $STACKTOP
- (local.get $0)
- )
- (global.set $STACK_MAX
- (local.get $1)
- )
- )
- (func $setThrew (param $0 i32) (param $1 i32)
- (if
- (i32.eqz
- (global.get $__THREW__)
- )
- (block $block
- (global.set $__THREW__
- (local.get $0)
- )
- (global.set $threwValue
- (local.get $1)
- )
- )
- )
- )
- (func $setTempRet0 (param $0 i32)
- (global.set $tempRet0
- (local.get $0)
- )
- )
- (func $getTempRet0 (result i32)
- (global.get $tempRet0)
- )
- (func $_main (result i32)
- (local $0 i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local.set $8
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 16)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (local.set $6
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 16)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (i32.store
- (local.get $6)
- (local.get $8)
- )
- (local.set $0
- (i32.load
- (i32.const 8)
- )
- )
- (local.set $1
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 224)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (local.set $2
- (i32.add
- (local.get $1)
- (i32.const 120)
- )
- )
- (local.set $4
- (i32.add
- (local.get $1)
- (i32.const 136)
- )
- )
- (local.set $5
- (i32.add
- (local.tee $3
- (local.tee $7
- (i32.add
- (local.get $1)
- (i32.const 80)
- )
- )
- )
- (i32.const 40)
- )
- )
- (loop $do-in
- (i32.store
- (local.get $3)
- (i32.const 0)
- )
- (br_if $do-in
- (i32.lt_s
- (local.tee $3
- (i32.add
- (local.get $3)
- (i32.const 4)
- )
- )
- (local.get $5)
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.load
- (local.get $6)
- )
- )
- (drop
- (if (result i32)
- (i32.lt_s
- (call $_printf_core
- (i32.const 0)
- (i32.const 672)
- (local.get $2)
- (local.get $1)
- (local.get $7)
- )
- (i32.const 0)
- )
- (i32.const -1)
- (block (result i32)
- (drop
- (i32.load offset=76
- (local.get $0)
- )
- )
- (local.set $3
- (i32.load
- (local.get $0)
- )
- )
- (if
- (i32.lt_s
- (i32.load8_s offset=74
- (local.get $0)
- )
- (i32.const 1)
- )
- (i32.store
- (local.get $0)
- (i32.and
- (local.get $3)
- (i32.const -33)
- )
- )
- )
- (if
- (i32.load
- (local.tee $5
- (i32.add
- (local.get $0)
- (i32.const 48)
- )
- )
- )
- (drop
- (call $_printf_core
- (local.get $0)
- (i32.const 672)
- (local.get $2)
- (local.get $1)
- (local.get $7)
- )
- )
- (block
- (local.set $10
- (i32.load
- (local.tee $9
- (i32.add
- (local.get $0)
- (i32.const 44)
- )
- )
- )
- )
- (i32.store
- (local.get $9)
- (local.get $4)
- )
- (i32.store
- (local.tee $12
- (i32.add
- (local.get $0)
- (i32.const 28)
- )
- )
- (local.get $4)
- )
- (i32.store
- (local.tee $11
- (i32.add
- (local.get $0)
- (i32.const 20)
- )
- )
- (local.get $4)
- )
- (i32.store
- (local.get $5)
- (i32.const 80)
- )
- (i32.store
- (local.tee $13
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
- )
- (i32.add
- (local.get $4)
- (i32.const 80)
- )
- )
- (local.set $2
- (call $_printf_core
- (local.get $0)
- (i32.const 672)
- (local.get $2)
- (local.get $1)
- (local.get $7)
- )
- )
- (if
- (local.get $10)
- (block
- (drop
- (call_indirect (type $FUNCSIG$iiii)
- (local.get $0)
- (i32.const 0)
- (i32.const 0)
- (i32.add
- (i32.and
- (i32.load offset=36
- (local.get $0)
- )
- (i32.const 7)
- )
- (i32.const 2)
- )
- )
- )
- (drop
- (i32.load
- (local.get $11)
- )
- )
- (i32.store
- (local.get $9)
- (local.get $10)
- )
- (i32.store
- (local.get $5)
- (i32.const 0)
- )
- (i32.store
- (local.get $13)
- (i32.const 0)
- )
- (i32.store
- (local.get $12)
- (i32.const 0)
- )
- (i32.store
- (local.get $11)
- (i32.const 0)
- )
- )
- )
- )
- )
- (i32.store
- (local.get $0)
- (i32.or
- (i32.load
- (local.get $0)
- )
- (i32.and
- (local.get $3)
- (i32.const 32)
- )
- )
- )
- (i32.const 0)
- )
- )
- )
- (global.set $STACKTOP
- (local.get $1)
- )
- (global.set $STACKTOP
- (local.get $6)
- )
- (global.set $STACKTOP
- (local.get $8)
- )
- (i32.const 0)
- )
- (func $_frexp (param $0 f64) (param $1 i32) (result f64)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (f64.store
- (global.get $tempDoublePtr)
- (local.get $0)
- )
- (block $switch
- (block $switch-default
- (block $switch-case0
- (block $switch-case
- (br_table $switch-case $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case0 $switch-default
- (local.tee $3
- (i32.and
- (local.tee $3
- (call $_bitshift64Lshr
- (local.tee $2
- (i32.load
- (global.get $tempDoublePtr)
- )
- )
- (local.tee $4
- (i32.load offset=4
- (global.get $tempDoublePtr)
- )
- )
- (i32.const 52)
- )
- )
- (i32.const 2047)
- )
- )
- )
- )
- (i32.store
- (local.get $1)
- (local.tee $2
- (if (result i32)
- (f64.ne
- (local.get $0)
- (f64.const 0)
- )
- (block $block (result i32)
- (local.set $0
- (call $_frexp
- (f64.mul
- (local.get $0)
- (f64.const 18446744073709551615)
- )
- (local.get $1)
- )
- )
- (i32.add
- (i32.load
- (local.get $1)
- )
- (i32.const -64)
- )
- )
- (i32.const 0)
- )
- )
- )
- (br $switch)
- )
- (br $switch)
- )
- (i32.store
- (local.get $1)
- (i32.add
- (local.get $3)
- (i32.const -1022)
- )
- )
- (i32.store
- (global.get $tempDoublePtr)
- (local.get $2)
- )
- (i32.store offset=4
- (global.get $tempDoublePtr)
- (i32.or
- (i32.and
- (local.get $4)
- (i32.const -2146435073)
- )
- (i32.const 1071644672)
- )
- )
- (local.set $0
- (f64.load
- (global.get $tempDoublePtr)
- )
- )
- )
- (local.get $0)
- )
- (func $___errno_location (result i32)
- (if (result i32)
- (i32.load
- (i32.const 16)
- )
- (i32.load offset=60
- (call $_pthread_self)
- )
- (i32.const 60)
- )
- )
- (func $___stdio_close (param $0 i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (local.set $1
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 16)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (i32.store
- (local.tee $2
- (local.get $1)
- )
- (i32.load offset=60
- (local.get $0)
- )
- )
- (local.set $0
- (call $___syscall_ret
- (call $___syscall6
- (i32.const 6)
- (local.get $2)
- )
- )
- )
- (global.set $STACKTOP
- (local.get $1)
- )
- (local.get $0)
- )
- (func $___stdout_write (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local.set $4
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 80)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (local.set $3
- (local.get $4)
- )
- (local.set $5
- (i32.add
- (local.get $4)
- (i32.const 12)
- )
- )
- (i32.store offset=36
- (local.get $0)
- (i32.const 4)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 64)
- )
- )
- (block $block
- (i32.store
- (local.get $3)
- (i32.load offset=60
- (local.get $0)
- )
- )
- (i32.store offset=4
- (local.get $3)
- (i32.const 21505)
- )
- (i32.store offset=8
- (local.get $3)
- (local.get $5)
- )
- (if
- (call $___syscall54
- (i32.const 54)
- (local.get $3)
- )
- (i32.store8 offset=75
- (local.get $0)
- (i32.const -1)
- )
- )
- )
- )
- (local.set $0
- (call $___stdio_write
- (local.get $0)
- (local.get $1)
- (local.get $2)
- )
- )
- (global.set $STACKTOP
- (local.get $4)
- )
- (local.get $0)
- )
- (func $___stdio_seek (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (local $4 i32)
- (local.set $4
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 32)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (i32.store
- (local.tee $3
- (local.get $4)
- )
- (i32.load offset=60
- (local.get $0)
- )
- )
- (i32.store offset=4
- (local.get $3)
- (i32.const 0)
- )
- (i32.store offset=8
- (local.get $3)
- (local.get $1)
- )
- (i32.store offset=12
- (local.get $3)
- (local.tee $0
- (i32.add
- (local.get $4)
- (i32.const 20)
- )
- )
- )
- (i32.store offset=16
- (local.get $3)
- (local.get $2)
- )
- (local.set $0
- (if (result i32)
- (i32.lt_s
- (call $___syscall_ret
- (call $___syscall140
- (i32.const 140)
- (local.get $3)
- )
- )
- (i32.const 0)
- )
- (block $block (result i32)
- (i32.store
- (local.get $0)
- (i32.const -1)
- )
- (i32.const -1)
- )
- (i32.load
- (local.get $0)
- )
- )
- )
- (global.set $STACKTOP
- (local.get $4)
- )
- (local.get $0)
- )
- (func $_fflush (param $0 i32) (result i32)
- (local $1 i32)
- (if
- (local.get $0)
- (local.set $0
- (block $do-once (result i32)
- (if
- (i32.le_s
- (i32.load offset=76
- (local.get $0)
- )
- (i32.const -1)
- )
- (br $do-once
- (call $___fflush_unlocked
- (local.get $0)
- )
- )
- )
- (local.tee $0
- (call $___fflush_unlocked
- (local.get $0)
- )
- )
- )
- )
- (block
- (local.set $0
- (if (result i32)
- (i32.load
- (i32.const 12)
- )
- (call $_fflush
- (i32.load
- (i32.const 12)
- )
- )
- (i32.const 0)
- )
- )
- (call $___lock
- (i32.const 44)
- )
- (if
- (local.tee $1
- (i32.load
- (i32.const 40)
- )
- )
- (loop $while-in
- (drop
- (i32.load offset=76
- (local.get $1)
- )
- )
- (if
- (i32.gt_u
- (i32.load offset=20
- (local.get $1)
- )
- (i32.load offset=28
- (local.get $1)
- )
- )
- (local.set $0
- (i32.or
- (call $___fflush_unlocked
- (local.get $1)
- )
- (local.get $0)
- )
- )
- )
- (br_if $while-in
- (local.tee $1
- (i32.load offset=56
- (local.get $1)
- )
- )
- )
- )
- )
- (call $___unlock
- (i32.const 44)
- )
- )
- )
- (local.get $0)
- )
- (func $___stdio_write (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
- (local.set $8
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 48)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (local.set $9
- (i32.add
- (local.get $8)
- (i32.const 16)
- )
- )
- (local.set $10
- (local.get $8)
- )
- (i32.store
- (local.tee $4
- (i32.add
- (local.get $8)
- (i32.const 32)
- )
- )
- (local.tee $3
- (i32.load
- (local.tee $6
- (i32.add
- (local.get $0)
- (i32.const 28)
- )
- )
- )
- )
- )
- (i32.store offset=4
- (local.get $4)
- (local.tee $3
- (i32.sub
- (i32.load
- (local.tee $11
- (i32.add
- (local.get $0)
- (i32.const 20)
- )
- )
- )
- (local.get $3)
- )
- )
- )
- (i32.store offset=8
- (local.get $4)
- (local.get $1)
- )
- (i32.store offset=12
- (local.get $4)
- (local.get $2)
- )
- (local.set $13
- (i32.add
- (local.get $0)
- (i32.const 60)
- )
- )
- (local.set $14
- (i32.add
- (local.get $0)
- (i32.const 44)
- )
- )
- (local.set $1
- (local.get $4)
- )
- (local.set $4
- (i32.const 2)
- )
- (local.set $12
- (i32.add
- (local.get $3)
- (local.get $2)
- )
- )
- (block $__rjto$1
- (block $__rjti$1
- (block $__rjti$0
- (loop $while-in
- (if
- (i32.load
- (i32.const 16)
- )
- (block $block
- (call $_pthread_cleanup_push
- (i32.const 5)
- (local.get $0)
- )
- (i32.store
- (local.get $10)
- (i32.load
- (local.get $13)
- )
- )
- (i32.store offset=4
- (local.get $10)
- (local.get $1)
- )
- (i32.store offset=8
- (local.get $10)
- (local.get $4)
- )
- (local.set $3
- (call $___syscall_ret
- (call $___syscall146
- (i32.const 146)
- (local.get $10)
- )
- )
- )
- (call $_pthread_cleanup_pop
- (i32.const 0)
- )
- )
- (block $block14
- (i32.store
- (local.get $9)
- (i32.load
- (local.get $13)
- )
- )
- (i32.store offset=4
- (local.get $9)
- (local.get $1)
- )
- (i32.store offset=8
- (local.get $9)
- (local.get $4)
- )
- (local.set $3
- (call $___syscall_ret
- (call $___syscall146
- (i32.const 146)
- (local.get $9)
- )
- )
- )
- )
- )
- (br_if $__rjti$0
- (i32.eq
- (local.get $12)
- (local.get $3)
- )
- )
- (br_if $__rjti$1
- (i32.lt_s
- (local.get $3)
- (i32.const 0)
- )
- )
- (local.set $5
- (if (result i32)
- (i32.gt_u
- (local.get $3)
- (local.tee $5
- (i32.load offset=4
- (local.get $1)
- )
- )
- )
- (block $block16 (result i32)
- (i32.store
- (local.get $6)
- (local.tee $7
- (i32.load
- (local.get $14)
- )
- )
- )
- (i32.store
- (local.get $11)
- (local.get $7)
- )
- (local.set $7
- (i32.load offset=12
- (local.get $1)
- )
- )
- (local.set $1
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- (local.set $4
- (i32.add
- (local.get $4)
- (i32.const -1)
- )
- )
- (i32.sub
- (local.get $3)
- (local.get $5)
- )
- )
- (block $block17 (result i32)
- (if
- (i32.eq
- (local.get $4)
- (i32.const 2)
- )
- (block $block19
- (i32.store
- (local.get $6)
- (i32.add
- (i32.load
- (local.get $6)
- )
- (local.get $3)
- )
- )
- (local.set $7
- (local.get $5)
- )
- (local.set $4
- (i32.const 2)
- )
- )
- (local.set $7
- (local.get $5)
- )
- )
- (local.get $3)
- )
- )
- )
- (i32.store
- (local.get $1)
- (i32.add
- (i32.load
- (local.get $1)
- )
- (local.get $5)
- )
- )
- (i32.store offset=4
- (local.get $1)
- (i32.sub
- (local.get $7)
- (local.get $5)
- )
- )
- (local.set $12
- (i32.sub
- (local.get $12)
- (local.get $3)
- )
- )
- (br $while-in)
- )
- )
- (i32.store offset=16
- (local.get $0)
- (i32.add
- (local.tee $1
- (i32.load
- (local.get $14)
- )
- )
- (i32.load offset=48
- (local.get $0)
- )
- )
- )
- (i32.store
- (local.get $6)
- (local.get $1)
- )
- (i32.store
- (local.get $11)
- (local.get $1)
- )
- (br $__rjto$1)
- )
- (i32.store offset=16
- (local.get $0)
- (i32.const 0)
- )
- (i32.store
- (local.get $6)
- (i32.const 0)
- )
- (i32.store
- (local.get $11)
- (i32.const 0)
- )
- (i32.store
- (local.get $0)
- (i32.or
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (local.set $2
- (if (result i32)
- (i32.eq
- (local.get $4)
- (i32.const 2)
- )
- (i32.const 0)
- (i32.sub
- (local.get $2)
- (i32.load offset=4
- (local.get $1)
- )
- )
- )
- )
- )
- (global.set $STACKTOP
- (local.get $8)
- )
- (local.get $2)
- )
- (func $___fwritex (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (block $label$break$L5
- (block $__rjti$0
- (br_if $__rjti$0
- (local.tee $3
- (i32.load
- (local.tee $5
- (i32.add
- (local.get $2)
- (i32.const 16)
- )
- )
- )
- )
- )
- (local.set $3
- (if (result i32)
- (block (result i32)
- (local.set $3
- (i32.load8_s
- (local.tee $4
- (i32.add
- (local.get $2)
- (i32.const 74)
- )
- )
- )
- )
- (i32.store8
- (local.get $4)
- (i32.or
- (i32.add
- (local.get $3)
- (i32.const 255)
- )
- (local.get $3)
- )
- )
- (if (result i32)
- (i32.and
- (local.tee $3
- (i32.load
- (local.get $2)
- )
- )
- (i32.const 8)
- )
- (block (result i32)
- (i32.store
- (local.get $2)
- (i32.or
- (local.get $3)
- (i32.const 32)
- )
- )
- (i32.const -1)
- )
- (block (result i32)
- (i32.store offset=8
- (local.get $2)
- (i32.const 0)
- )
- (i32.store offset=4
- (local.get $2)
- (i32.const 0)
- )
- (i32.store offset=28
- (local.get $2)
- (local.tee $3
- (i32.load offset=44
- (local.get $2)
- )
- )
- )
- (i32.store offset=20
- (local.get $2)
- (local.get $3)
- )
- (i32.store offset=16
- (local.get $2)
- (i32.add
- (local.get $3)
- (i32.load offset=48
- (local.get $2)
- )
- )
- )
- (i32.const 0)
- )
- )
- )
- (i32.const 0)
- (block
- (local.set $3
- (i32.load
- (local.get $5)
- )
- )
- (br $__rjti$0)
- )
- )
- )
- (br $label$break$L5)
- )
- (if
- (i32.lt_u
- (i32.sub
- (local.get $3)
- (local.tee $6
- (i32.load
- (local.tee $4
- (i32.add
- (local.get $2)
- (i32.const 20)
- )
- )
- )
- )
- )
- (local.get $1)
- )
- (block
- (local.set $3
- (call_indirect (type $FUNCSIG$iiii)
- (local.get $2)
- (local.get $0)
- (local.get $1)
- (i32.add
- (i32.and
- (i32.load offset=36
- (local.get $2)
- )
- (i32.const 7)
- )
- (i32.const 2)
- )
- )
- )
- (br $label$break$L5)
- )
- )
- (local.set $2
- (if (result i32)
- (i32.gt_s
- (i32.load8_s offset=75
- (local.get $2)
- )
- (i32.const -1)
- )
- (block $label$break$L10 (result i32)
- (local.set $3
- (local.get $1)
- )
- (loop $while-in
- (drop
- (br_if $label$break$L10
- (i32.const 0)
- (i32.eqz
- (local.get $3)
- )
- )
- )
- (if
- (i32.ne
- (i32.load8_s
- (i32.add
- (local.get $0)
- (local.tee $5
- (i32.sub
- (local.get $3)
- (i32.const 1)
- )
- )
- )
- )
- (i32.const 10)
- )
- (block
- (local.set $3
- (local.get $5)
- )
- (br $while-in)
- )
- )
- )
- (br_if $label$break$L5
- (i32.lt_u
- (call_indirect (type $FUNCSIG$iiii)
- (local.get $2)
- (local.get $0)
- (local.get $3)
- (i32.add
- (i32.and
- (i32.load offset=36
- (local.get $2)
- )
- (i32.const 7)
- )
- (i32.const 2)
- )
- )
- (local.get $3)
- )
- )
- (local.set $6
- (i32.load
- (local.get $4)
- )
- )
- (local.set $1
- (i32.sub
- (local.get $1)
- (local.get $3)
- )
- )
- (local.set $0
- (i32.add
- (local.get $0)
- (local.get $3)
- )
- )
- (local.get $3)
- )
- (i32.const 0)
- )
- )
- (drop
- (call $_memcpy
- (local.get $6)
- (local.get $0)
- (local.get $1)
- )
- )
- (i32.store
- (local.get $4)
- (i32.add
- (i32.load
- (local.get $4)
- )
- (local.get $1)
- )
- )
- (local.set $3
- (i32.add
- (local.get $1)
- (local.get $2)
- )
- )
- )
- (local.get $3)
- )
- (func $_wctomb (param $0 i32) (param $1 i32) (result i32)
- (if (result i32)
- (local.get $0)
- (if (result i32)
- (local.get $0)
- (block $do-once (result i32)
- (if
- (i32.lt_u
- (local.get $1)
- (i32.const 128)
- )
- (block
- (i32.store8
- (local.get $0)
- (local.get $1)
- )
- (br $do-once
- (i32.const 1)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $1)
- (i32.const 2048)
- )
- (block
- (i32.store8
- (local.get $0)
- (i32.or
- (i32.shr_u
- (local.get $1)
- (i32.const 6)
- )
- (i32.const 192)
- )
- )
- (i32.store8 offset=1
- (local.get $0)
- (i32.or
- (i32.and
- (local.get $1)
- (i32.const 63)
- )
- (i32.const 128)
- )
- )
- (br $do-once
- (i32.const 2)
- )
- )
- )
- (if
- (i32.or
- (i32.eq
- (i32.and
- (local.get $1)
- (i32.const -8192)
- )
- (i32.const 57344)
- )
- (i32.lt_u
- (local.get $1)
- (i32.const 55296)
- )
- )
- (block
- (i32.store8
- (local.get $0)
- (i32.or
- (i32.shr_u
- (local.get $1)
- (i32.const 12)
- )
- (i32.const 224)
- )
- )
- (i32.store8 offset=1
- (local.get $0)
- (i32.or
- (i32.and
- (i32.shr_u
- (local.get $1)
- (i32.const 6)
- )
- (i32.const 63)
- )
- (i32.const 128)
- )
- )
- (i32.store8 offset=2
- (local.get $0)
- (i32.or
- (i32.and
- (local.get $1)
- (i32.const 63)
- )
- (i32.const 128)
- )
- )
- (br $do-once
- (i32.const 3)
- )
- )
- )
- (if (result i32)
- (i32.lt_u
- (i32.sub
- (local.get $1)
- (i32.const 65536)
- )
- (i32.const 1048576)
- )
- (block (result i32)
- (i32.store8
- (local.get $0)
- (i32.or
- (i32.shr_u
- (local.get $1)
- (i32.const 18)
- )
- (i32.const 240)
- )
- )
- (i32.store8 offset=1
- (local.get $0)
- (i32.or
- (i32.and
- (i32.shr_u
- (local.get $1)
- (i32.const 12)
- )
- (i32.const 63)
- )
- (i32.const 128)
- )
- )
- (i32.store8 offset=2
- (local.get $0)
- (i32.or
- (i32.and
- (i32.shr_u
- (local.get $1)
- (i32.const 6)
- )
- (i32.const 63)
- )
- (i32.const 128)
- )
- )
- (i32.store8 offset=3
- (local.get $0)
- (i32.or
- (i32.and
- (local.get $1)
- (i32.const 63)
- )
- (i32.const 128)
- )
- )
- (i32.const 4)
- )
- (block (result i32)
- (i32.store
- (call $___errno_location)
- (i32.const 84)
- )
- (i32.const -1)
- )
- )
- )
- (i32.const 1)
- )
- (i32.const 0)
- )
- )
- (func $___syscall_ret (param $0 i32) (result i32)
- (if (result i32)
- (i32.gt_u
- (local.get $0)
- (i32.const -4096)
- )
- (block $block (result i32)
- (i32.store
- (call $___errno_location)
- (i32.sub
- (i32.const 0)
- (local.get $0)
- )
- )
- (i32.const -1)
- )
- (local.get $0)
- )
- )
- (func $___fflush_unlocked (param $0 i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local.tee $0
- (block $__rjto$0 (result i32)
- (block $__rjti$0
- (br_if $__rjti$0
- (i32.le_u
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $0)
- (i32.const 20)
- )
- )
- )
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $0)
- (i32.const 28)
- )
- )
- )
- )
- )
- (drop
- (call_indirect (type $FUNCSIG$iiii)
- (local.get $0)
- (i32.const 0)
- (i32.const 0)
- (i32.add
- (i32.and
- (i32.load offset=36
- (local.get $0)
- )
- (i32.const 7)
- )
- (i32.const 2)
- )
- )
- )
- (br_if $__rjti$0
- (i32.load
- (local.get $1)
- )
- )
- (br $__rjto$0
- (i32.const -1)
- )
- )
- (if
- (i32.lt_u
- (local.tee $4
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $0)
- (i32.const 4)
- )
- )
- )
- )
- (local.tee $6
- (i32.load
- (local.tee $5
- (i32.add
- (local.get $0)
- (i32.const 8)
- )
- )
- )
- )
- )
- (drop
- (call_indirect (type $FUNCSIG$iiii)
- (local.get $0)
- (i32.sub
- (local.get $4)
- (local.get $6)
- )
- (i32.const 1)
- (i32.add
- (i32.and
- (i32.load offset=40
- (local.get $0)
- )
- (i32.const 7)
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.store offset=16
- (local.get $0)
- (i32.const 0)
- )
- (i32.store
- (local.get $2)
- (i32.const 0)
- )
- (i32.store
- (local.get $1)
- (i32.const 0)
- )
- (i32.store
- (local.get $5)
- (i32.const 0)
- )
- (i32.store
- (local.get $3)
- (i32.const 0)
- )
- (i32.const 0)
- )
- )
- )
- (func $_cleanup (param $0 i32)
- (drop
- (i32.load offset=68
- (local.get $0)
- )
- )
- )
- (func $_printf_core (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 f64)
- (local $15 i32)
- (local $16 i32)
- (local $17 i32)
- (local $18 i32)
- (local $19 i32)
- (local $20 i32)
- (local $21 i32)
- (local $22 i32)
- (local $23 i32)
- (local $24 f64)
- (local $25 i32)
- (local $26 i32)
- (local $27 i32)
- (local $28 i32)
- (local $29 i32)
- (local $30 i32)
- (local $31 i32)
- (local $32 i32)
- (local $33 i32)
- (local $34 i32)
- (local $35 i32)
- (local $36 i32)
- (local $37 i32)
- (local $38 i32)
- (local $39 i32)
- (local $40 i32)
- (local $41 i32)
- (local $42 i32)
- (local $43 i32)
- (local $44 i32)
- (local $45 i32)
- (local $46 i32)
- (local $47 i32)
- (local $48 i32)
- (local.set $13
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 624)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (local.set $21
- (i32.add
- (local.get $13)
- (i32.const 16)
- )
- )
- (local.set $33
- (i32.add
- (local.get $13)
- (i32.const 528)
- )
- )
- (local.set $28
- (i32.ne
- (local.get $0)
- (i32.const 0)
- )
- )
- (local.set $37
- (local.tee $25
- (i32.add
- (local.tee $5
- (i32.add
- (local.get $13)
- (i32.const 536)
- )
- )
- (i32.const 40)
- )
- )
- )
- (local.set $38
- (i32.add
- (local.get $5)
- (i32.const 39)
- )
- )
- (local.set $42
- (i32.add
- (local.tee $39
- (i32.add
- (local.get $13)
- (i32.const 8)
- )
- )
- (i32.const 4)
- )
- )
- (local.set $22
- (i32.add
- (local.tee $5
- (i32.add
- (local.get $13)
- (i32.const 576)
- )
- )
- (i32.const 12)
- )
- )
- (local.set $40
- (i32.add
- (local.get $5)
- (i32.const 11)
- )
- )
- (local.set $43
- (i32.sub
- (local.get $22)
- (local.tee $34
- (local.tee $23
- (i32.add
- (local.get $13)
- (i32.const 588)
- )
- )
- )
- )
- )
- (local.set $44
- (i32.sub
- (i32.const -2)
- (local.get $34)
- )
- )
- (local.set $45
- (i32.add
- (local.get $22)
- (i32.const 2)
- )
- )
- (local.set $47
- (i32.add
- (local.tee $46
- (i32.add
- (local.get $13)
- (i32.const 24)
- )
- )
- (i32.const 288)
- )
- )
- (local.set $41
- (local.tee $29
- (i32.add
- (local.get $23)
- (i32.const 9)
- )
- )
- )
- (local.set $32
- (i32.add
- (local.get $23)
- (i32.const 8)
- )
- )
- (local.set $5
- (local.get $1)
- )
- (local.set $1
- (i32.const 0)
- )
- (block $label$break$L343
- (block $__rjti$9
- (loop $label$continue$L1
- (block $label$break$L1
- (if
- (i32.gt_s
- (local.get $18)
- (i32.const -1)
- )
- (local.set $18
- (if (result i32)
- (i32.gt_s
- (local.get $11)
- (i32.sub
- (i32.const 2147483647)
- (local.get $18)
- )
- )
- (block (result i32)
- (i32.store
- (call $___errno_location)
- (i32.const 75)
- )
- (i32.const -1)
- )
- (i32.add
- (local.get $11)
- (local.get $18)
- )
- )
- )
- )
- (br_if $__rjti$9
- (i32.eqz
- (local.tee $7
- (i32.load8_s
- (local.get $5)
- )
- )
- )
- )
- (local.set $11
- (local.get $5)
- )
- (block $label$break$L12
- (block $__rjti$1
- (loop $label$continue$L9
- (block $label$break$L9
- (block $switch-default
- (block $switch-case0
- (block $switch-case
- (br_table $switch-case0 $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case $switch-default
- (i32.shr_s
- (i32.shl
- (local.get $7)
- (i32.const 24)
- )
- (i32.const 24)
- )
- )
- )
- (local.set $6
- (local.get $11)
- )
- (br $__rjti$1)
- )
- (local.set $6
- (local.get $11)
- )
- (br $label$break$L9)
- )
- (local.set $7
- (i32.load8_s
- (local.tee $11
- (i32.add
- (local.get $11)
- (i32.const 1)
- )
- )
- )
- )
- (br $label$continue$L9)
- )
- )
- (br $label$break$L12)
- )
- (loop $while-in
- (br_if $label$break$L12
- (i32.ne
- (i32.load8_s offset=1
- (local.get $6)
- )
- (i32.const 37)
- )
- )
- (local.set $11
- (i32.add
- (local.get $11)
- (i32.const 1)
- )
- )
- (br_if $while-in
- (i32.eq
- (i32.load8_s
- (local.tee $6
- (i32.add
- (local.get $6)
- (i32.const 2)
- )
- )
- )
- (i32.const 37)
- )
- )
- )
- )
- (local.set $7
- (i32.sub
- (local.get $11)
- (local.get $5)
- )
- )
- (if
- (local.get $28)
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $5)
- (local.get $7)
- (local.get $0)
- )
- )
- )
- )
- (if
- (i32.ne
- (local.get $5)
- (local.get $11)
- )
- (block
- (local.set $5
- (local.get $6)
- )
- (local.set $11
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- )
- (local.set $8
- (if (result i32)
- (i32.lt_u
- (local.tee $8
- (i32.sub
- (local.tee $9
- (i32.load8_s
- (local.tee $11
- (i32.add
- (local.get $6)
- (i32.const 1)
- )
- )
- )
- )
- (i32.const 48)
- )
- )
- (i32.const 10)
- )
- (block (result i32)
- (local.set $6
- (i32.load8_s
- (local.tee $11
- (select
- (i32.add
- (local.get $6)
- (i32.const 3)
- )
- (local.get $11)
- (local.tee $9
- (i32.eq
- (i32.load8_s offset=2
- (local.get $6)
- )
- (i32.const 36)
- )
- )
- )
- )
- )
- )
- (local.set $19
- (select
- (local.get $8)
- (i32.const -1)
- (local.get $9)
- )
- )
- (select
- (i32.const 1)
- (local.get $1)
- (local.get $9)
- )
- )
- (block (result i32)
- (local.set $6
- (local.get $9)
- )
- (local.set $19
- (i32.const -1)
- )
- (local.get $1)
- )
- )
- )
- (local.set $1
- (if (result i32)
- (i32.eq
- (i32.and
- (local.tee $9
- (i32.shr_s
- (i32.shl
- (local.get $6)
- (i32.const 24)
- )
- (i32.const 24)
- )
- )
- (i32.const -32)
- )
- (i32.const 32)
- )
- (block $label$break$L25 (result i32)
- (local.set $1
- (local.get $6)
- )
- (local.set $6
- (local.get $9)
- )
- (local.set $9
- (i32.const 0)
- )
- (loop $while-in4 (result i32)
- (if
- (i32.eqz
- (i32.and
- (i32.shl
- (i32.const 1)
- (i32.sub
- (local.get $6)
- (i32.const 32)
- )
- )
- (i32.const 75913)
- )
- )
- (block
- (local.set $6
- (local.get $1)
- )
- (br $label$break$L25
- (local.get $9)
- )
- )
- )
- (local.set $9
- (i32.or
- (i32.shl
- (i32.const 1)
- (i32.sub
- (i32.shr_s
- (i32.shl
- (local.get $1)
- (i32.const 24)
- )
- (i32.const 24)
- )
- (i32.const 32)
- )
- )
- (local.get $9)
- )
- )
- (br_if $while-in4
- (i32.eq
- (i32.and
- (local.tee $6
- (local.tee $1
- (i32.load8_s
- (local.tee $11
- (i32.add
- (local.get $11)
- (i32.const 1)
- )
- )
- )
- )
- )
- (i32.const -32)
- )
- (i32.const 32)
- )
- )
- (local.set $6
- (local.get $1)
- )
- (local.get $9)
- )
- )
- (i32.const 0)
- )
- )
- (local.set $1
- (if (result i32)
- (i32.eq
- (i32.and
- (local.get $6)
- (i32.const 255)
- )
- (i32.const 42)
- )
- (block $do-once5 (result i32)
- (local.set $11
- (block $__rjto$0 (result i32)
- (block $__rjti$0
- (br_if $__rjti$0
- (i32.ge_u
- (local.tee $9
- (i32.sub
- (i32.load8_s
- (local.tee $6
- (i32.add
- (local.get $11)
- (i32.const 1)
- )
- )
- )
- (i32.const 48)
- )
- )
- (i32.const 10)
- )
- )
- (br_if $__rjti$0
- (i32.ne
- (i32.load8_s offset=2
- (local.get $11)
- )
- (i32.const 36)
- )
- )
- (i32.store
- (i32.add
- (local.get $4)
- (i32.shl
- (local.get $9)
- (i32.const 2)
- )
- )
- (i32.const 10)
- )
- (drop
- (i32.load offset=4
- (local.tee $6
- (i32.add
- (local.get $3)
- (i32.shl
- (i32.sub
- (i32.load8_s
- (local.get $6)
- )
- (i32.const 48)
- )
- (i32.const 3)
- )
- )
- )
- )
- )
- (local.set $8
- (i32.const 1)
- )
- (local.set $17
- (i32.load
- (local.get $6)
- )
- )
- (br $__rjto$0
- (i32.add
- (local.get $11)
- (i32.const 3)
- )
- )
- )
- (if
- (local.get $8)
- (block
- (local.set $18
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- )
- (if
- (i32.eqz
- (local.get $28)
- )
- (block
- (local.set $9
- (local.get $1)
- )
- (local.set $11
- (local.get $6)
- )
- (local.set $17
- (i32.const 0)
- )
- (br $do-once5
- (i32.const 0)
- )
- )
- )
- (local.set $17
- (i32.load
- (local.tee $11
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $11)
- (i32.const 4)
- )
- )
- (local.set $8
- (i32.const 0)
- )
- (local.get $6)
- )
- )
- (local.set $9
- (if (result i32)
- (i32.lt_s
- (local.get $17)
- (i32.const 0)
- )
- (block (result i32)
- (local.set $17
- (i32.sub
- (i32.const 0)
- (local.get $17)
- )
- )
- (i32.or
- (local.get $1)
- (i32.const 8192)
- )
- )
- (local.get $1)
- )
- )
- (local.get $8)
- )
- (if (result i32)
- (i32.lt_u
- (local.tee $6
- (i32.sub
- (i32.shr_s
- (i32.shl
- (local.get $6)
- (i32.const 24)
- )
- (i32.const 24)
- )
- (i32.const 48)
- )
- )
- (i32.const 10)
- )
- (block (result i32)
- (local.set $9
- (i32.const 0)
- )
- (loop $while-in8
- (local.set $6
- (i32.add
- (i32.mul
- (local.get $9)
- (i32.const 10)
- )
- (local.get $6)
- )
- )
- (if
- (i32.lt_u
- (local.tee $10
- (i32.sub
- (i32.load8_s
- (local.tee $11
- (i32.add
- (local.get $11)
- (i32.const 1)
- )
- )
- )
- (i32.const 48)
- )
- )
- (i32.const 10)
- )
- (block
- (local.set $9
- (local.get $6)
- )
- (local.set $6
- (local.get $10)
- )
- (br $while-in8)
- )
- )
- )
- (if (result i32)
- (i32.lt_s
- (local.get $6)
- (i32.const 0)
- )
- (block
- (local.set $18
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- (block (result i32)
- (local.set $9
- (local.get $1)
- )
- (local.set $17
- (local.get $6)
- )
- (local.get $8)
- )
- )
- )
- (block (result i32)
- (local.set $9
- (local.get $1)
- )
- (local.set $17
- (i32.const 0)
- )
- (local.get $8)
- )
- )
- )
- )
- (local.set $6
- (if (result i32)
- (i32.eq
- (i32.load8_s
- (local.get $11)
- )
- (i32.const 46)
- )
- (block $label$break$L46 (result i32)
- (if
- (i32.ne
- (local.tee $8
- (i32.load8_s
- (local.tee $6
- (i32.add
- (local.get $11)
- (i32.const 1)
- )
- )
- )
- )
- (i32.const 42)
- )
- (block
- (local.set $6
- (if (result i32)
- (i32.lt_u
- (local.tee $10
- (i32.sub
- (local.get $8)
- (i32.const 48)
- )
- )
- (i32.const 10)
- )
- (block (result i32)
- (local.set $11
- (local.get $6)
- )
- (local.set $8
- (i32.const 0)
- )
- (local.get $10)
- )
- (block
- (local.set $11
- (local.get $6)
- )
- (br $label$break$L46
- (i32.const 0)
- )
- )
- )
- )
- (loop $while-in11
- (drop
- (br_if $label$break$L46
- (local.tee $8
- (i32.add
- (i32.mul
- (local.get $8)
- (i32.const 10)
- )
- (local.get $6)
- )
- )
- (i32.ge_u
- (local.tee $6
- (i32.sub
- (i32.load8_s
- (local.tee $11
- (i32.add
- (local.get $11)
- (i32.const 1)
- )
- )
- )
- (i32.const 48)
- )
- )
- (i32.const 10)
- )
- )
- )
- (br $while-in11)
- )
- )
- )
- (if
- (i32.lt_u
- (local.tee $8
- (i32.sub
- (i32.load8_s
- (local.tee $6
- (i32.add
- (local.get $11)
- (i32.const 2)
- )
- )
- )
- (i32.const 48)
- )
- )
- (i32.const 10)
- )
- (if
- (i32.eq
- (i32.load8_s offset=3
- (local.get $11)
- )
- (i32.const 36)
- )
- (block
- (i32.store
- (i32.add
- (local.get $4)
- (i32.shl
- (local.get $8)
- (i32.const 2)
- )
- )
- (i32.const 10)
- )
- (drop
- (i32.load offset=4
- (local.tee $6
- (i32.add
- (local.get $3)
- (i32.shl
- (i32.sub
- (i32.load8_s
- (local.get $6)
- )
- (i32.const 48)
- )
- (i32.const 3)
- )
- )
- )
- )
- )
- (local.set $11
- (i32.add
- (local.get $11)
- (i32.const 4)
- )
- )
- (br $label$break$L46
- (i32.load
- (local.get $6)
- )
- )
- )
- )
- )
- (if
- (local.get $1)
- (block
- (local.set $18
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- )
- (if (result i32)
- (local.get $28)
- (block (result i32)
- (local.set $8
- (i32.load
- (local.tee $11
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $11)
- (i32.const 4)
- )
- )
- (local.set $11
- (local.get $6)
- )
- (local.get $8)
- )
- (block (result i32)
- (local.set $11
- (local.get $6)
- )
- (i32.const 0)
- )
- )
- )
- (i32.const -1)
- )
- )
- (local.set $8
- (local.get $11)
- )
- (local.set $10
- (i32.const 0)
- )
- (loop $while-in13
- (if
- (i32.gt_u
- (local.tee $12
- (i32.sub
- (i32.load8_s
- (local.get $8)
- )
- (i32.const 65)
- )
- )
- (i32.const 57)
- )
- (block
- (local.set $18
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- )
- (local.set $11
- (i32.add
- (local.get $8)
- (i32.const 1)
- )
- )
- (if
- (i32.lt_u
- (i32.sub
- (local.tee $12
- (i32.and
- (local.tee $15
- (i32.load8_s
- (i32.add
- (i32.add
- (i32.mul
- (local.get $10)
- (i32.const 58)
- )
- (i32.const 3611)
- )
- (local.get $12)
- )
- )
- )
- (i32.const 255)
- )
- )
- (i32.const 1)
- )
- (i32.const 8)
- )
- (block
- (local.set $8
- (local.get $11)
- )
- (local.set $10
- (local.get $12)
- )
- (br $while-in13)
- )
- )
- )
- (if
- (i32.eqz
- (i32.and
- (local.get $15)
- (i32.const 255)
- )
- )
- (block
- (local.set $18
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- )
- (local.set $16
- (i32.gt_s
- (local.get $19)
- (i32.const -1)
- )
- )
- (block $__rjto$2
- (block $__rjti$2
- (if
- (i32.eq
- (i32.and
- (local.get $15)
- (i32.const 255)
- )
- (i32.const 19)
- )
- (if
- (local.get $16)
- (block
- (local.set $18
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- (br $__rjti$2)
- )
- (block
- (if
- (local.get $16)
- (block
- (i32.store
- (i32.add
- (local.get $4)
- (i32.shl
- (local.get $19)
- (i32.const 2)
- )
- )
- (local.get $12)
- )
- (local.set $15
- (i32.load offset=4
- (local.tee $12
- (i32.add
- (local.get $3)
- (i32.shl
- (local.get $19)
- (i32.const 3)
- )
- )
- )
- )
- )
- (i32.store
- (local.get $13)
- (i32.load
- (local.get $12)
- )
- )
- (i32.store offset=4
- (local.get $13)
- (local.get $15)
- )
- (br $__rjti$2)
- )
- )
- (if
- (i32.eqz
- (local.get $28)
- )
- (block
- (local.set $18
- (i32.const 0)
- )
- (br $label$break$L1)
- )
- )
- (call $_pop_arg_336
- (local.get $13)
- (local.get $12)
- (local.get $2)
- )
- )
- )
- (br $__rjto$2)
- )
- (if
- (i32.eqz
- (local.get $28)
- )
- (block
- (local.set $5
- (local.get $11)
- )
- (local.set $11
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- )
- )
- (local.set $9
- (select
- (local.tee $12
- (i32.and
- (local.get $9)
- (i32.const -65537)
- )
- )
- (local.get $9)
- (i32.and
- (local.get $9)
- (i32.const 8192)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.tee $6
- (select
- (local.tee $5
- (i32.add
- (local.tee $12
- (select
- (local.tee $15
- (i32.sub
- (block $__rjto$8 (result i32)
- (block $__rjti$8
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $17)
- (local.tee $7
- (block $__rjti$7 (result i32)
- (block $__rjti$6
- (block $__rjti$5
- (block $__rjti$4
- (block $__rjti$3
- (block $switch-default120
- (block $switch-case42
- (block $switch-case41
- (block $switch-case40
- (block $switch-case39
- (block $switch-case38
- (block $switch-case37
- (block $switch-case36
- (block $switch-case34
- (block $switch-case33
- (block $switch-case29
- (block $switch-case28
- (block $switch-case27
- (br_table $switch-case42 $switch-default120 $switch-case40 $switch-default120 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case29 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case42 $switch-default120 $switch-case37 $switch-case34 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-case34 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case29 $switch-default120
- (i32.sub
- (local.tee $15
- (select
- (i32.and
- (local.tee $8
- (i32.load8_s
- (local.get $8)
- )
- )
- (i32.const -33)
- )
- (local.get $8)
- (i32.and
- (i32.eq
- (i32.and
- (local.get $8)
- (i32.const 15)
- )
- (i32.const 3)
- )
- (i32.ne
- (local.get $10)
- (i32.const 0)
- )
- )
- )
- )
- (i32.const 65)
- )
- )
- )
- (block $switch-default26
- (block $switch-case25
- (block $switch-case24
- (block $switch-case23
- (block $switch-case22
- (block $switch-case21
- (block $switch-case20
- (block $switch-case19
- (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
- (local.get $10)
- )
- )
- (i32.store
- (i32.load
- (local.get $13)
- )
- (local.get $18)
- )
- (local.set $5
- (local.get $11)
- )
- (local.set $11
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (i32.store
- (i32.load
- (local.get $13)
- )
- (local.get $18)
- )
- (local.set $5
- (local.get $11)
- )
- (local.set $11
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (i32.store
- (local.tee $5
- (i32.load
- (local.get $13)
- )
- )
- (local.get $18)
- )
- (i32.store offset=4
- (local.get $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (local.get $18)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- (local.set $5
- (local.get $11)
- )
- (local.set $11
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (i32.store16
- (i32.load
- (local.get $13)
- )
- (local.get $18)
- )
- (local.set $5
- (local.get $11)
- )
- (local.set $11
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (i32.store8
- (i32.load
- (local.get $13)
- )
- (local.get $18)
- )
- (local.set $5
- (local.get $11)
- )
- (local.set $11
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (i32.store
- (i32.load
- (local.get $13)
- )
- (local.get $18)
- )
- (local.set $5
- (local.get $11)
- )
- (local.set $11
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (i32.store
- (local.tee $5
- (i32.load
- (local.get $13)
- )
- )
- (local.get $18)
- )
- (i32.store offset=4
- (local.get $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (local.get $18)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- (local.set $5
- (local.get $11)
- )
- (local.set $11
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (local.set $5
- (local.get $11)
- )
- (local.set $11
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (local.set $7
- (i32.or
- (local.get $9)
- (i32.const 8)
- )
- )
- (local.set $6
- (select
- (local.get $6)
- (i32.const 8)
- (i32.gt_u
- (local.get $6)
- (i32.const 8)
- )
- )
- )
- (local.set $15
- (i32.const 120)
- )
- (br $__rjti$3)
- )
- (local.set $7
- (local.get $9)
- )
- (br $__rjti$3)
- )
- (if
- (i32.or
- (local.tee $5
- (i32.load
- (local.get $13)
- )
- )
- (local.tee $7
- (i32.load offset=4
- (local.get $13)
- )
- )
- )
- (block
- (local.set $8
- (local.get $25)
- )
- (loop $while-in32
- (i32.store8
- (local.tee $8
- (i32.sub
- (local.get $8)
- (i32.const 1)
- )
- )
- (i32.or
- (i32.and
- (local.get $5)
- (i32.const 7)
- )
- (i32.const 48)
- )
- )
- (br_if $while-in32
- (i32.or
- (local.tee $5
- (call $_bitshift64Lshr
- (local.get $5)
- (local.get $7)
- (i32.const 3)
- )
- )
- (local.tee $7
- (global.get $tempRet0)
- )
- )
- )
- )
- )
- (local.set $8
- (local.get $25)
- )
- )
- (if
- (i32.and
- (local.get $9)
- (i32.const 8)
- )
- (block
- (local.set $7
- (local.get $9)
- )
- (local.set $6
- (select
- (local.tee $5
- (i32.add
- (i32.sub
- (local.get $37)
- (local.get $8)
- )
- (i32.const 1)
- )
- )
- (local.get $6)
- (i32.gt_s
- (local.get $5)
- (local.get $6)
- )
- )
- )
- )
- (local.set $7
- (local.get $9)
- )
- )
- (local.set $5
- (local.get $8)
- )
- (local.set $8
- (i32.const 0)
- )
- (local.set $10
- (i32.const 4091)
- )
- (br $__rjti$8)
- )
- (local.set $5
- (i32.load
- (local.get $13)
- )
- )
- (if
- (i32.lt_s
- (local.tee $7
- (i32.load offset=4
- (local.get $13)
- )
- )
- (i32.const 0)
- )
- (block
- (global.set $tempRet0
- (i32.sub
- (i32.sub
- (i32.const 0)
- (local.get $7)
- )
- (i32.ne
- (local.get $5)
- (i32.const 0)
- )
- )
- )
- (i32.store
- (local.get $13)
- (local.tee $5
- (i32.sub
- (i32.const 0)
- (local.get $5)
- )
- )
- )
- (i32.store offset=4
- (local.get $13)
- (local.tee $7
- (global.get $tempRet0)
- )
- )
- (local.set $8
- (i32.const 1)
- )
- (local.set $10
- (i32.const 4091)
- )
- (br $__rjti$4)
- )
- )
- (local.set $10
- (if (result i32)
- (i32.and
- (local.get $9)
- (i32.const 2048)
- )
- (block (result i32)
- (local.set $8
- (i32.const 1)
- )
- (i32.const 4092)
- )
- (block (result i32)
- (local.set $8
- (local.tee $10
- (i32.and
- (local.get $9)
- (i32.const 1)
- )
- )
- )
- (select
- (i32.const 4093)
- (i32.const 4091)
- (local.get $10)
- )
- )
- )
- )
- (br $__rjti$4)
- )
- (local.set $5
- (i32.load
- (local.get $13)
- )
- )
- (local.set $7
- (i32.load offset=4
- (local.get $13)
- )
- )
- (local.set $8
- (i32.const 0)
- )
- (local.set $10
- (i32.const 4091)
- )
- (br $__rjti$4)
- )
- (drop
- (i32.load offset=4
- (local.get $13)
- )
- )
- (i32.store8
- (local.get $38)
- (i32.load
- (local.get $13)
- )
- )
- (local.set $7
- (local.get $38)
- )
- (local.set $9
- (local.get $12)
- )
- (local.set $12
- (i32.const 1)
- )
- (local.set $8
- (i32.const 0)
- )
- (local.set $10
- (i32.const 4091)
- )
- (br $__rjto$8
- (local.get $25)
- )
- )
- (local.set $5
- (i32.load
- (call $___errno_location)
- )
- )
- (local.set $9
- (i32.const 0)
- )
- (block $__rjto$1
- (block $__rjti$10
- (loop $while-in2
- (if
- (i32.ne
- (local.get $5)
- (i32.load8_u offset=687
- (local.get $9)
- )
- )
- (block
- (br_if $while-in2
- (i32.ne
- (local.tee $9
- (i32.add
- (local.get $9)
- (i32.const 1)
- )
- )
- (i32.const 87)
- )
- )
- (local.set $9
- (i32.const 87)
- )
- (br $__rjti$10)
- )
- )
- )
- (br_if $__rjti$10
- (local.get $9)
- )
- (local.set $5
- (i32.const 775)
- )
- (br $__rjto$1)
- )
- (local.set $5
- (i32.const 775)
- )
- (loop $while-in1
- (local.set $5
- (loop $while-in3 (result i32)
- (local.set $7
- (i32.add
- (local.get $5)
- (i32.const 1)
- )
- )
- (if (result i32)
- (i32.load8_s
- (local.get $5)
- )
- (block
- (local.set $5
- (local.get $7)
- )
- (br $while-in3)
- )
- (local.get $7)
- )
- )
- )
- (br_if $while-in1
- (local.tee $9
- (i32.sub
- (local.get $9)
- (i32.const 1)
- )
- )
- )
- )
- )
- (br $__rjti$5)
- )
- (local.set $5
- (select
- (local.tee $5
- (i32.load
- (local.get $13)
- )
- )
- (i32.const 4101)
- (local.get $5)
- )
- )
- (br $__rjti$5)
- )
- (drop
- (i32.load offset=4
- (local.get $13)
- )
- )
- (i32.store
- (local.get $39)
- (i32.load
- (local.get $13)
- )
- )
- (i32.store
- (local.get $42)
- (i32.const 0)
- )
- (i32.store
- (local.get $13)
- (local.get $39)
- )
- (local.set $8
- (i32.const -1)
- )
- (br $__rjti$6)
- )
- (if
- (local.get $6)
- (block
- (local.set $8
- (local.get $6)
- )
- (br $__rjti$6)
- )
- (block
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $17)
- (i32.const 0)
- (local.get $9)
- )
- (br $__rjti$7
- (i32.const 0)
- )
- )
- )
- )
- (local.set $14
- (f64.load
- (local.get $13)
- )
- )
- (i32.store
- (local.get $21)
- (i32.const 0)
- )
- (f64.store
- (global.get $tempDoublePtr)
- (local.get $14)
- )
- (drop
- (i32.load
- (global.get $tempDoublePtr)
- )
- )
- (local.set $30
- (if (result i32)
- (i32.lt_s
- (i32.load offset=4
- (global.get $tempDoublePtr)
- )
- (i32.const 0)
- )
- (block (result i32)
- (local.set $27
- (i32.const 1)
- )
- (local.set $14
- (f64.neg
- (local.get $14)
- )
- )
- (i32.const 4108)
- )
- (if (result i32)
- (i32.and
- (local.get $9)
- (i32.const 2048)
- )
- (block (result i32)
- (local.set $27
- (i32.const 1)
- )
- (i32.const 4111)
- )
- (block (result i32)
- (local.set $27
- (local.tee $5
- (i32.and
- (local.get $9)
- (i32.const 1)
- )
- )
- )
- (select
- (i32.const 4114)
- (i32.const 4109)
- (local.get $5)
- )
- )
- )
- )
- )
- (f64.store
- (global.get $tempDoublePtr)
- (local.get $14)
- )
- (drop
- (i32.load
- (global.get $tempDoublePtr)
- )
- )
- (local.set $7
- (if (result i32)
- (i32.lt_u
- (i32.and
- (i32.load offset=4
- (global.get $tempDoublePtr)
- )
- (i32.const 2146435072)
- )
- (i32.const 2146435072)
- )
- (block $do-once49 (result i32)
- (if
- (local.tee $5
- (f64.ne
- (local.tee $24
- (f64.mul
- (call $_frexp
- (local.get $14)
- (local.get $21)
- )
- (f64.const 2)
- )
- )
- (f64.const 0)
- )
- )
- (i32.store
- (local.get $21)
- (i32.sub
- (i32.load
- (local.get $21)
- )
- (i32.const 1)
- )
- )
- )
- (if
- (i32.eq
- (local.tee $26
- (i32.or
- (local.get $15)
- (i32.const 32)
- )
- )
- (i32.const 97)
- )
- (block
- (local.set $10
- (select
- (i32.add
- (local.get $30)
- (i32.const 9)
- )
- (local.get $30)
- (local.tee $16
- (i32.and
- (local.get $15)
- (i32.const 32)
- )
- )
- )
- )
- (local.set $14
- (if (result f64)
- (i32.or
- (i32.eqz
- (local.tee $5
- (i32.sub
- (i32.const 12)
- (local.get $6)
- )
- )
- )
- (i32.gt_u
- (local.get $6)
- (i32.const 11)
- )
- )
- (local.get $24)
- (block (result f64)
- (local.set $14
- (f64.const 8)
- )
- (loop $while-in54
- (local.set $14
- (f64.mul
- (local.get $14)
- (f64.const 16)
- )
- )
- (br_if $while-in54
- (local.tee $5
- (i32.sub
- (local.get $5)
- (i32.const 1)
- )
- )
- )
- )
- (select
- (f64.neg
- (f64.add
- (local.get $14)
- (f64.sub
- (f64.neg
- (local.get $24)
- )
- (local.get $14)
- )
- )
- )
- (f64.sub
- (f64.add
- (local.get $24)
- (local.get $14)
- )
- (local.get $14)
- )
- (i32.eq
- (i32.load8_s
- (local.get $10)
- )
- (i32.const 45)
- )
- )
- )
- )
- )
- (local.set $12
- (i32.or
- (local.get $27)
- (i32.const 2)
- )
- )
- (if
- (i32.eq
- (local.tee $5
- (call $_fmt_u
- (local.tee $5
- (select
- (i32.sub
- (i32.const 0)
- (local.tee $7
- (i32.load
- (local.get $21)
- )
- )
- )
- (local.get $7)
- (i32.lt_s
- (local.get $7)
- (i32.const 0)
- )
- )
- )
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (local.get $5)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- (local.get $22)
- )
- )
- (local.get $22)
- )
- (block
- (i32.store8
- (local.get $40)
- (i32.const 48)
- )
- (local.set $5
- (local.get $40)
- )
- )
- )
- (i32.store8
- (i32.sub
- (local.get $5)
- (i32.const 1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (local.get $7)
- (i32.const 31)
- )
- (i32.const 2)
- )
- (i32.const 43)
- )
- )
- (i32.store8
- (local.tee $8
- (i32.sub
- (local.get $5)
- (i32.const 2)
- )
- )
- (i32.add
- (local.get $15)
- (i32.const 15)
- )
- )
- (local.set $15
- (i32.lt_s
- (local.get $6)
- (i32.const 1)
- )
- )
- (local.set $20
- (i32.eqz
- (i32.and
- (local.get $9)
- (i32.const 8)
- )
- )
- )
- (local.set $5
- (local.get $23)
- )
- (loop $while-in56
- (i32.store8
- (local.get $5)
- (i32.or
- (i32.load8_u
- (i32.add
- (local.tee $7
- (if (result i32)
- (f64.ne
- (local.get $14)
- (local.get $14)
- )
- (i32.const -2147483648)
- (if (result i32)
- (f64.ge
- (local.get $14)
- (f64.const 2147483648)
- )
- (i32.const -2147483648)
- (if (result i32)
- (f64.le
- (local.get $14)
- (f64.const -2147483649)
- )
- (i32.const -2147483648)
- (i32.trunc_f64_s
- (local.get $14)
- )
- )
- )
- )
- )
- (i32.const 4075)
- )
- )
- (local.get $16)
- )
- )
- (local.set $14
- (f64.mul
- (f64.sub
- (local.get $14)
- (f64.convert_i32_s
- (local.get $7)
- )
- )
- (f64.const 16)
- )
- )
- (local.set $5
- (if (result i32)
- (i32.eq
- (i32.sub
- (local.tee $7
- (i32.add
- (local.get $5)
- (i32.const 1)
- )
- )
- (local.get $34)
- )
- (i32.const 1)
- )
- (if (result i32)
- (i32.and
- (local.get $20)
- (i32.and
- (local.get $15)
- (f64.eq
- (local.get $14)
- (f64.const 0)
- )
- )
- )
- (local.get $7)
- (block (result i32)
- (i32.store8
- (local.get $7)
- (i32.const 46)
- )
- (i32.add
- (local.get $5)
- (i32.const 2)
- )
- )
- )
- (local.get $7)
- )
- )
- (br_if $while-in56
- (f64.ne
- (local.get $14)
- (f64.const 0)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $17)
- (local.tee $7
- (i32.add
- (local.tee $6
- (select
- (i32.sub
- (i32.add
- (local.get $6)
- (local.get $45)
- )
- (local.get $8)
- )
- (i32.add
- (i32.sub
- (local.get $43)
- (local.get $8)
- )
- (local.get $5)
- )
- (i32.and
- (i32.ne
- (local.get $6)
- (i32.const 0)
- )
- (i32.lt_s
- (i32.add
- (local.get $5)
- (local.get $44)
- )
- (local.get $6)
- )
- )
- )
- )
- (local.get $12)
- )
- )
- (local.get $9)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $10)
- (local.get $12)
- (local.get $0)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 48)
- (local.get $17)
- (local.get $7)
- (i32.xor
- (local.get $9)
- (i32.const 65536)
- )
- )
- (local.set $5
- (i32.sub
- (local.get $5)
- (local.get $34)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $23)
- (local.get $5)
- (local.get $0)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 48)
- (i32.sub
- (local.get $6)
- (i32.add
- (local.get $5)
- (local.tee $6
- (i32.sub
- (local.get $22)
- (local.get $8)
- )
- )
- )
- )
- (i32.const 0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $8)
- (local.get $6)
- (local.get $0)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $17)
- (local.get $7)
- (i32.xor
- (local.get $9)
- (i32.const 8192)
- )
- )
- (br $do-once49
- (select
- (local.get $17)
- (local.get $7)
- (i32.lt_s
- (local.get $7)
- (local.get $17)
- )
- )
- )
- )
- )
- (local.set $14
- (if (result f64)
- (local.get $5)
- (block (result f64)
- (i32.store
- (local.get $21)
- (local.tee $5
- (i32.sub
- (i32.load
- (local.get $21)
- )
- (i32.const 28)
- )
- )
- )
- (f64.mul
- (local.get $24)
- (f64.const 268435456)
- )
- )
- (block (result f64)
- (local.set $5
- (i32.load
- (local.get $21)
- )
- )
- (local.get $24)
- )
- )
- )
- (local.set $7
- (local.tee $8
- (select
- (local.get $46)
- (local.get $47)
- (i32.lt_s
- (local.get $5)
- (i32.const 0)
- )
- )
- )
- )
- (loop $while-in60
- (i32.store
- (local.get $7)
- (local.tee $5
- (if (result i32)
- (f64.ne
- (local.get $14)
- (local.get $14)
- )
- (i32.const -2147483648)
- (if (result i32)
- (f64.ge
- (local.get $14)
- (f64.const 2147483648)
- )
- (i32.const -2147483648)
- (if (result i32)
- (f64.le
- (local.get $14)
- (f64.const -2147483649)
- )
- (i32.const -2147483648)
- (i32.trunc_f64_s
- (local.get $14)
- )
- )
- )
- )
- )
- )
- (local.set $7
- (i32.add
- (local.get $7)
- (i32.const 4)
- )
- )
- (br_if $while-in60
- (f64.ne
- (local.tee $14
- (f64.mul
- (f64.sub
- (local.get $14)
- (f64.convert_i32_u
- (local.get $5)
- )
- )
- (f64.const 1e9)
- )
- )
- (f64.const 0)
- )
- )
- )
- (if
- (i32.gt_s
- (local.tee $10
- (i32.load
- (local.get $21)
- )
- )
- (i32.const 0)
- )
- (block
- (local.set $5
- (local.get $8)
- )
- (loop $while-in62
- (local.set $16
- (select
- (i32.const 29)
- (local.get $10)
- (i32.gt_s
- (local.get $10)
- (i32.const 29)
- )
- )
- )
- (if
- (i32.ge_u
- (local.tee $10
- (i32.sub
- (local.get $7)
- (i32.const 4)
- )
- )
- (local.get $5)
- )
- (block $do-once63
- (local.set $12
- (i32.const 0)
- )
- (loop $while-in66
- (i32.store
- (local.get $10)
- (call $___uremdi3
- (block (result i32)
- (global.set $tempRet0
- (i32.add
- (i32.gt_u
- (local.tee $20
- (call $_bitshift64Shl
- (i32.load
- (local.get $10)
- )
- (i32.const 0)
- (local.get $16)
- )
- )
- (local.tee $12
- (i32.add
- (local.get $12)
- (local.get $20)
- )
- )
- )
- (global.get $tempRet0)
- )
- )
- (local.get $12)
- )
- (local.tee $20
- (global.get $tempRet0)
- )
- (i32.const 1000000000)
- (i32.const 0)
- )
- )
- (local.set $12
- (call $___udivdi3
- (local.get $12)
- (local.get $20)
- (i32.const 1000000000)
- (i32.const 0)
- )
- )
- (br_if $while-in66
- (i32.ge_u
- (local.tee $10
- (i32.sub
- (local.get $10)
- (i32.const 4)
- )
- )
- (local.get $5)
- )
- )
- )
- (br_if $do-once63
- (i32.eqz
- (local.get $12)
- )
- )
- (i32.store
- (local.tee $5
- (i32.sub
- (local.get $5)
- (i32.const 4)
- )
- )
- (local.get $12)
- )
- )
- )
- (loop $while-in68
- (if
- (i32.lt_u
- (local.get $5)
- (local.get $7)
- )
- (if
- (i32.eqz
- (i32.load
- (local.tee $10
- (i32.sub
- (local.get $7)
- (i32.const 4)
- )
- )
- )
- )
- (block
- (local.set $7
- (local.get $10)
- )
- (br $while-in68)
- )
- )
- )
- )
- (i32.store
- (local.get $21)
- (local.tee $10
- (i32.sub
- (i32.load
- (local.get $21)
- )
- (local.get $16)
- )
- )
- )
- (br_if $while-in62
- (i32.gt_s
- (local.get $10)
- (i32.const 0)
- )
- )
- )
- )
- (local.set $5
- (local.get $8)
- )
- )
- (local.set $19
- (select
- (i32.const 6)
- (local.get $6)
- (i32.lt_s
- (local.get $6)
- (i32.const 0)
- )
- )
- )
- (if
- (i32.lt_s
- (local.get $10)
- (i32.const 0)
- )
- (block
- (local.set $20
- (i32.add
- (i32.div_s
- (i32.add
- (local.get $19)
- (i32.const 25)
- )
- (i32.const 9)
- )
- (i32.const 1)
- )
- )
- (local.set $31
- (i32.eq
- (local.get $26)
- (i32.const 102)
- )
- )
- (local.set $6
- (local.get $5)
- )
- (local.set $5
- (local.get $7)
- )
- (local.set $5
- (loop $while-in70 (result i32)
- (local.set $16
- (select
- (i32.const 9)
- (local.tee $7
- (i32.sub
- (i32.const 0)
- (local.get $10)
- )
- )
- (i32.gt_s
- (local.get $7)
- (i32.const 9)
- )
- )
- )
- (if
- (i32.gt_u
- (local.get $5)
- (local.get $6)
- )
- (block $do-once71
- (local.set $12
- (i32.sub
- (i32.shl
- (i32.const 1)
- (local.get $16)
- )
- (i32.const 1)
- )
- )
- (local.set $35
- (i32.shr_u
- (i32.const 1000000000)
- (local.get $16)
- )
- )
- (local.set $10
- (i32.const 0)
- )
- (local.set $7
- (local.get $6)
- )
- (loop $while-in74
- (i32.store
- (local.get $7)
- (i32.add
- (local.get $10)
- (i32.shr_u
- (local.tee $10
- (i32.load
- (local.get $7)
- )
- )
- (local.get $16)
- )
- )
- )
- (local.set $10
- (i32.mul
- (i32.and
- (local.get $10)
- (local.get $12)
- )
- (local.get $35)
- )
- )
- (br_if $while-in74
- (i32.lt_u
- (local.tee $7
- (i32.add
- (local.get $7)
- (i32.const 4)
- )
- )
- (local.get $5)
- )
- )
- )
- (local.set $7
- (select
- (local.get $6)
- (i32.add
- (local.get $6)
- (i32.const 4)
- )
- (i32.load
- (local.get $6)
- )
- )
- )
- (br_if $do-once71
- (i32.eqz
- (local.get $10)
- )
- )
- (i32.store
- (local.get $5)
- (local.get $10)
- )
- (local.set $5
- (i32.add
- (local.get $5)
- (i32.const 4)
- )
- )
- )
- (local.set $7
- (select
- (local.get $6)
- (i32.add
- (local.get $6)
- (i32.const 4)
- )
- (i32.load
- (local.get $6)
- )
- )
- )
- )
- (local.set $12
- (select
- (i32.add
- (local.tee $6
- (select
- (local.get $8)
- (local.get $7)
- (local.get $31)
- )
- )
- (i32.shl
- (local.get $20)
- (i32.const 2)
- )
- )
- (local.get $5)
- (i32.gt_s
- (i32.shr_s
- (i32.sub
- (local.get $5)
- (local.get $6)
- )
- (i32.const 2)
- )
- (local.get $20)
- )
- )
- )
- (i32.store
- (local.get $21)
- (local.tee $10
- (i32.add
- (i32.load
- (local.get $21)
- )
- (local.get $16)
- )
- )
- )
- (if (result i32)
- (i32.lt_s
- (local.get $10)
- (i32.const 0)
- )
- (block
- (local.set $6
- (local.get $7)
- )
- (local.set $5
- (local.get $12)
- )
- (br $while-in70)
- )
- (block (result i32)
- (local.set $10
- (local.get $12)
- )
- (local.get $7)
- )
- )
- )
- )
- )
- (local.set $10
- (local.get $7)
- )
- )
- (local.set $20
- (local.get $8)
- )
- (if
- (i32.lt_u
- (local.get $5)
- (local.get $10)
- )
- (block $do-once75
- (local.set $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (local.get $20)
- (local.get $5)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- )
- (br_if $do-once75
- (i32.lt_u
- (local.tee $8
- (i32.load
- (local.get $5)
- )
- )
- (i32.const 10)
- )
- )
- (local.set $6
- (i32.const 10)
- )
- (loop $while-in78
- (local.set $7
- (i32.add
- (local.get $7)
- (i32.const 1)
- )
- )
- (br_if $while-in78
- (i32.ge_u
- (local.get $8)
- (local.tee $6
- (i32.mul
- (local.get $6)
- (i32.const 10)
- )
- )
- )
- )
- )
- )
- (local.set $7
- (i32.const 0)
- )
- )
- (local.set $5
- (if (result i32)
- (i32.lt_s
- (local.tee $6
- (i32.add
- (i32.sub
- (local.get $19)
- (select
- (local.get $7)
- (i32.const 0)
- (i32.ne
- (local.get $26)
- (i32.const 102)
- )
- )
- )
- (i32.shr_s
- (i32.shl
- (i32.and
- (local.tee $31
- (i32.ne
- (local.get $19)
- (i32.const 0)
- )
- )
- (local.tee $35
- (i32.eq
- (local.get $26)
- (i32.const 103)
- )
- )
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- )
- (i32.sub
- (i32.mul
- (i32.shr_s
- (i32.sub
- (local.get $10)
- (local.get $20)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- (i32.const 9)
- )
- )
- (block (result i32)
- (local.set $8
- (i32.div_s
- (local.tee $6
- (i32.add
- (local.get $6)
- (i32.const 9216)
- )
- )
- (i32.const 9)
- )
- )
- (if
- (i32.lt_s
- (local.tee $6
- (i32.add
- (i32.rem_s
- (local.get $6)
- (i32.const 9)
- )
- (i32.const 1)
- )
- )
- (i32.const 9)
- )
- (block
- (local.set $12
- (i32.const 10)
- )
- (loop $while-in80
- (local.set $12
- (i32.mul
- (local.get $12)
- (i32.const 10)
- )
- )
- (br_if $while-in80
- (i32.ne
- (local.tee $6
- (i32.add
- (local.get $6)
- (i32.const 1)
- )
- )
- (i32.const 9)
- )
- )
- )
- )
- (local.set $12
- (i32.const 10)
- )
- )
- (local.set $16
- (local.tee $8
- (i32.load
- (local.tee $6
- (i32.sub
- (i32.add
- (local.get $20)
- (i32.shl
- (local.get $8)
- (i32.const 2)
- )
- )
- (i32.const 4092)
- )
- )
- )
- )
- )
- (local.set $16
- (if (result i32)
- (local.get $12)
- (i32.rem_u
- (local.get $16)
- (local.get $12)
- )
- (i32.const 0)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (local.tee $26
- (i32.eq
- (i32.add
- (local.get $6)
- (i32.const 4)
- )
- (local.get $10)
- )
- )
- (i32.eqz
- (local.get $16)
- )
- )
- )
- (block $do-once81
- (local.set $36
- (if (result i32)
- (local.get $12)
- (i32.div_u
- (local.get $8)
- (local.get $12)
- )
- (i32.const 0)
- )
- )
- (local.set $14
- (if (result f64)
- (i32.lt_u
- (local.get $16)
- (local.tee $48
- (i32.div_s
- (local.get $12)
- (i32.const 2)
- )
- )
- )
- (f64.const 0.5)
- (select
- (f64.const 1)
- (f64.const 1.5)
- (i32.and
- (local.get $26)
- (i32.eq
- (local.get $16)
- (local.get $48)
- )
- )
- )
- )
- )
- (local.set $24
- (select
- (f64.const 9007199254740994)
- (f64.const 9007199254740992)
- (i32.and
- (local.get $36)
- (i32.const 1)
- )
- )
- )
- (if
- (local.get $27)
- (if
- (i32.eq
- (i32.load8_s
- (local.get $30)
- )
- (i32.const 45)
- )
- (block
- (local.set $24
- (f64.neg
- (local.get $24)
- )
- )
- (local.set $14
- (f64.neg
- (local.get $14)
- )
- )
- )
- )
- )
- (i32.store
- (local.get $6)
- (local.tee $8
- (i32.sub
- (local.get $8)
- (local.get $16)
- )
- )
- )
- (br_if $do-once81
- (f64.eq
- (f64.add
- (local.get $24)
- (local.get $14)
- )
- (local.get $24)
- )
- )
- (i32.store
- (local.get $6)
- (local.tee $7
- (i32.add
- (local.get $8)
- (local.get $12)
- )
- )
- )
- (if
- (i32.gt_u
- (local.get $7)
- (i32.const 999999999)
- )
- (loop $while-in86
- (i32.store
- (local.get $6)
- (i32.const 0)
- )
- (if
- (i32.lt_u
- (local.tee $6
- (i32.sub
- (local.get $6)
- (i32.const 4)
- )
- )
- (local.get $5)
- )
- (i32.store
- (local.tee $5
- (i32.sub
- (local.get $5)
- (i32.const 4)
- )
- )
- (i32.const 0)
- )
- )
- (i32.store
- (local.get $6)
- (local.tee $7
- (i32.add
- (i32.load
- (local.get $6)
- )
- (i32.const 1)
- )
- )
- )
- (br_if $while-in86
- (i32.gt_u
- (local.get $7)
- (i32.const 999999999)
- )
- )
- )
- )
- (local.set $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (local.get $20)
- (local.get $5)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- )
- (br_if $do-once81
- (i32.lt_u
- (local.tee $8
- (i32.load
- (local.get $5)
- )
- )
- (i32.const 10)
- )
- )
- (local.set $12
- (i32.const 10)
- )
- (loop $while-in88
- (local.set $7
- (i32.add
- (local.get $7)
- (i32.const 1)
- )
- )
- (br_if $while-in88
- (i32.ge_u
- (local.get $8)
- (local.tee $12
- (i32.mul
- (local.get $12)
- (i32.const 10)
- )
- )
- )
- )
- )
- )
- )
- (local.set $12
- (local.get $5)
- )
- (local.set $8
- (local.get $7)
- )
- (select
- (local.tee $5
- (i32.add
- (local.get $6)
- (i32.const 4)
- )
- )
- (local.get $10)
- (i32.lt_u
- (local.get $5)
- (local.get $10)
- )
- )
- )
- (block (result i32)
- (local.set $12
- (local.get $5)
- )
- (local.set $8
- (local.get $7)
- )
- (local.get $10)
- )
- )
- )
- (local.set $36
- (i32.sub
- (i32.const 0)
- (local.get $8)
- )
- )
- (local.set $10
- (loop $while-in90 (result i32)
- (block $while-out89 (result i32)
- (if
- (i32.le_u
- (local.get $5)
- (local.get $12)
- )
- (block
- (local.set $26
- (i32.const 0)
- )
- (br $while-out89
- (local.get $5)
- )
- )
- )
- (if (result i32)
- (i32.load
- (local.tee $7
- (i32.sub
- (local.get $5)
- (i32.const 4)
- )
- )
- )
- (block (result i32)
- (local.set $26
- (i32.const 1)
- )
- (local.get $5)
- )
- (block
- (local.set $5
- (local.get $7)
- )
- (br $while-in90)
- )
- )
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $17)
- (local.tee $8
- (i32.add
- (i32.add
- (i32.add
- (local.tee $5
- (if (result i32)
- (local.get $35)
- (block $do-once91 (result i32)
- (local.set $7
- (if (result i32)
- (i32.and
- (i32.gt_s
- (local.tee $5
- (i32.add
- (i32.eqz
- (local.get $31)
- )
- (local.get $19)
- )
- )
- (local.get $8)
- )
- (i32.gt_s
- (local.get $8)
- (i32.const -5)
- )
- )
- (block (result i32)
- (local.set $19
- (i32.sub
- (i32.sub
- (local.get $5)
- (i32.const 1)
- )
- (local.get $8)
- )
- )
- (i32.sub
- (local.get $15)
- (i32.const 1)
- )
- )
- (block (result i32)
- (local.set $19
- (i32.sub
- (local.get $5)
- (i32.const 1)
- )
- )
- (i32.sub
- (local.get $15)
- (i32.const 2)
- )
- )
- )
- )
- (drop
- (br_if $do-once91
- (local.get $19)
- (local.tee $16
- (i32.and
- (local.get $9)
- (i32.const 8)
- )
- )
- )
- )
- (if
- (local.get $26)
- (block $do-once93
- (if
- (i32.eqz
- (local.tee $15
- (i32.load
- (i32.sub
- (local.get $10)
- (i32.const 4)
- )
- )
- )
- )
- (block
- (local.set $5
- (i32.const 9)
- )
- (br $do-once93)
- )
- )
- (local.set $5
- (if (result i32)
- (i32.rem_u
- (local.get $15)
- (i32.const 10)
- )
- (block
- (local.set $5
- (i32.const 0)
- )
- (br $do-once93)
- )
- (block (result i32)
- (local.set $6
- (i32.const 10)
- )
- (i32.const 0)
- )
- )
- )
- (loop $while-in96
- (local.set $5
- (i32.add
- (local.get $5)
- (i32.const 1)
- )
- )
- (br_if $while-in96
- (i32.eqz
- (if (result i32)
- (local.tee $16
- (local.tee $6
- (i32.mul
- (local.get $6)
- (i32.const 10)
- )
- )
- )
- (i32.rem_u
- (local.get $15)
- (local.get $16)
- )
- (i32.const 0)
- )
- )
- )
- )
- )
- (local.set $5
- (i32.const 9)
- )
- )
- (local.set $6
- (i32.sub
- (i32.mul
- (i32.shr_s
- (i32.sub
- (local.get $10)
- (local.get $20)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- (i32.const 9)
- )
- )
- (if (result i32)
- (i32.eq
- (i32.or
- (local.get $7)
- (i32.const 32)
- )
- (i32.const 102)
- )
- (block (result i32)
- (local.set $16
- (i32.const 0)
- )
- (select
- (local.get $19)
- (local.tee $5
- (select
- (i32.const 0)
- (local.tee $5
- (i32.sub
- (local.get $6)
- (local.get $5)
- )
- )
- (i32.lt_s
- (local.get $5)
- (i32.const 0)
- )
- )
- )
- (i32.gt_s
- (local.get $5)
- (local.get $19)
- )
- )
- )
- (block (result i32)
- (local.set $16
- (i32.const 0)
- )
- (select
- (local.get $19)
- (local.tee $5
- (select
- (i32.const 0)
- (local.tee $5
- (i32.sub
- (i32.add
- (local.get $6)
- (local.get $8)
- )
- (local.get $5)
- )
- )
- (i32.lt_s
- (local.get $5)
- (i32.const 0)
- )
- )
- )
- (i32.gt_s
- (local.get $5)
- (local.get $19)
- )
- )
- )
- )
- )
- (block (result i32)
- (local.set $16
- (i32.and
- (local.get $9)
- (i32.const 8)
- )
- )
- (local.set $7
- (local.get $15)
- )
- (local.get $19)
- )
- )
- )
- (i32.add
- (local.get $27)
- (i32.const 1)
- )
- )
- (i32.ne
- (local.tee $19
- (i32.or
- (local.get $5)
- (local.get $16)
- )
- )
- (i32.const 0)
- )
- )
- (if (result i32)
- (local.tee $31
- (i32.eq
- (i32.or
- (local.get $7)
- (i32.const 32)
- )
- (i32.const 102)
- )
- )
- (block (result i32)
- (local.set $15
- (i32.const 0)
- )
- (select
- (local.get $8)
- (i32.const 0)
- (i32.gt_s
- (local.get $8)
- (i32.const 0)
- )
- )
- )
- (block (result i32)
- (if
- (i32.lt_s
- (i32.sub
- (local.get $22)
- (local.tee $6
- (call $_fmt_u
- (local.tee $6
- (select
- (local.get $36)
- (local.get $8)
- (i32.lt_s
- (local.get $8)
- (i32.const 0)
- )
- )
- )
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (local.get $6)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- (local.get $22)
- )
- )
- )
- (i32.const 2)
- )
- (loop $while-in98
- (i32.store8
- (local.tee $6
- (i32.sub
- (local.get $6)
- (i32.const 1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in98
- (i32.lt_s
- (i32.sub
- (local.get $22)
- (local.get $6)
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.store8
- (i32.sub
- (local.get $6)
- (i32.const 1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (local.get $8)
- (i32.const 31)
- )
- (i32.const 2)
- )
- (i32.const 43)
- )
- )
- (i32.store8
- (local.tee $15
- (i32.sub
- (local.get $6)
- (i32.const 2)
- )
- )
- (local.get $7)
- )
- (i32.sub
- (local.get $22)
- (local.get $15)
- )
- )
- )
- )
- )
- (local.get $9)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $30)
- (local.get $27)
- (local.get $0)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 48)
- (local.get $17)
- (local.get $8)
- (i32.xor
- (local.get $9)
- (i32.const 65536)
- )
- )
- (if
- (local.get $31)
- (block
- (local.set $6
- (local.tee $12
- (select
- (local.get $20)
- (local.get $12)
- (i32.gt_u
- (local.get $12)
- (local.get $20)
- )
- )
- )
- )
- (loop $while-in102
- (local.set $7
- (call $_fmt_u
- (i32.load
- (local.get $6)
- )
- (i32.const 0)
- (local.get $29)
- )
- )
- (block $do-once103
- (if
- (i32.eq
- (local.get $6)
- (local.get $12)
- )
- (block
- (br_if $do-once103
- (i32.ne
- (local.get $7)
- (local.get $29)
- )
- )
- (i32.store8
- (local.get $32)
- (i32.const 48)
- )
- (local.set $7
- (local.get $32)
- )
- )
- (block
- (br_if $do-once103
- (i32.le_u
- (local.get $7)
- (local.get $23)
- )
- )
- (loop $while-in106
- (i32.store8
- (local.tee $7
- (i32.sub
- (local.get $7)
- (i32.const 1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in106
- (i32.gt_u
- (local.get $7)
- (local.get $23)
- )
- )
- )
- )
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $7)
- (i32.sub
- (local.get $41)
- (local.get $7)
- )
- (local.get $0)
- )
- )
- )
- (if
- (i32.le_u
- (local.tee $7
- (i32.add
- (local.get $6)
- (i32.const 4)
- )
- )
- (local.get $20)
- )
- (block
- (local.set $6
- (local.get $7)
- )
- (br $while-in102)
- )
- )
- )
- (if
- (local.get $19)
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (local.get $0)
- )
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 48)
- (i32.add
- (if (result i32)
- (i32.and
- (i32.lt_u
- (local.get $7)
- (local.get $10)
- )
- (i32.gt_s
- (local.get $5)
- (i32.const 0)
- )
- )
- (loop $while-in110 (result i32)
- (if
- (i32.gt_u
- (local.tee $6
- (call $_fmt_u
- (i32.load
- (local.get $7)
- )
- (i32.const 0)
- (local.get $29)
- )
- )
- (local.get $23)
- )
- (loop $while-in112
- (i32.store8
- (local.tee $6
- (i32.sub
- (local.get $6)
- (i32.const 1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in112
- (i32.gt_u
- (local.get $6)
- (local.get $23)
- )
- )
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $6)
- (select
- (i32.const 9)
- (local.get $5)
- (i32.gt_s
- (local.get $5)
- (i32.const 9)
- )
- )
- (local.get $0)
- )
- )
- )
- (local.set $6
- (i32.sub
- (local.get $5)
- (i32.const 9)
- )
- )
- (if (result i32)
- (i32.and
- (i32.lt_u
- (local.tee $7
- (i32.add
- (local.get $7)
- (i32.const 4)
- )
- )
- (local.get $10)
- )
- (i32.gt_s
- (local.get $5)
- (i32.const 9)
- )
- )
- (block
- (local.set $5
- (local.get $6)
- )
- (br $while-in110)
- )
- (local.get $6)
- )
- )
- (local.get $5)
- )
- (i32.const 9)
- )
- (i32.const 9)
- (i32.const 0)
- )
- )
- (block $do-once99
- (local.set $20
- (select
- (local.get $10)
- (i32.add
- (local.get $12)
- (i32.const 4)
- )
- (local.get $26)
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 48)
- (i32.add
- (if (result i32)
- (i32.gt_s
- (local.get $5)
- (i32.const -1)
- )
- (block (result i32)
- (local.set $16
- (i32.eqz
- (local.get $16)
- )
- )
- (local.set $6
- (local.get $12)
- )
- (local.set $7
- (local.get $5)
- )
- (loop $while-in114 (result i32)
- (if
- (i32.eq
- (local.tee $5
- (call $_fmt_u
- (i32.load
- (local.get $6)
- )
- (i32.const 0)
- (local.get $29)
- )
- )
- (local.get $29)
- )
- (block
- (i32.store8
- (local.get $32)
- (i32.const 48)
- )
- (local.set $5
- (local.get $32)
- )
- )
- )
- (block $do-once115
- (if
- (i32.eq
- (local.get $6)
- (local.get $12)
- )
- (block
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $5)
- (i32.const 1)
- (local.get $0)
- )
- )
- )
- (local.set $5
- (i32.add
- (local.get $5)
- (i32.const 1)
- )
- )
- (br_if $do-once115
- (i32.and
- (local.get $16)
- (i32.lt_s
- (local.get $7)
- (i32.const 1)
- )
- )
- )
- (br_if $do-once115
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (local.get $0)
- )
- )
- )
- (block
- (br_if $do-once115
- (i32.le_u
- (local.get $5)
- (local.get $23)
- )
- )
- (loop $while-in118
- (i32.store8
- (local.tee $5
- (i32.sub
- (local.get $5)
- (i32.const 1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in118
- (i32.gt_u
- (local.get $5)
- (local.get $23)
- )
- )
- )
- )
- )
- )
- (local.set $10
- (i32.sub
- (local.get $41)
- (local.get $5)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $5)
- (select
- (local.get $10)
- (local.get $7)
- (i32.gt_s
- (local.get $7)
- (local.get $10)
- )
- )
- (local.get $0)
- )
- )
- )
- (br_if $while-in114
- (i32.and
- (i32.lt_u
- (local.tee $6
- (i32.add
- (local.get $6)
- (i32.const 4)
- )
- )
- (local.get $20)
- )
- (i32.gt_s
- (local.tee $7
- (i32.sub
- (local.get $7)
- (local.get $10)
- )
- )
- (i32.const -1)
- )
- )
- )
- (local.get $7)
- )
- )
- (local.get $5)
- )
- (i32.const 18)
- )
- (i32.const 18)
- (i32.const 0)
- )
- (br_if $do-once99
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $15)
- (i32.sub
- (local.get $22)
- (local.get $15)
- )
- (local.get $0)
- )
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $17)
- (local.get $8)
- (i32.xor
- (local.get $9)
- (i32.const 8192)
- )
- )
- (select
- (local.get $17)
- (local.get $8)
- (i32.lt_s
- (local.get $8)
- (local.get $17)
- )
- )
- )
- (block (result i32)
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $17)
- (local.tee $7
- (i32.add
- (local.tee $8
- (select
- (i32.const 0)
- (local.get $27)
- (local.tee $6
- (f64.ne
- (local.get $14)
- (local.get $14)
- )
- )
- )
- )
- (i32.const 3)
- )
- )
- (local.get $12)
- )
- (if
- (i32.eqz
- (i32.and
- (local.tee $5
- (i32.load
- (local.get $0)
- )
- )
- (i32.const 32)
- )
- )
- (block
- (drop
- (call $___fwritex
- (local.get $30)
- (local.get $8)
- (local.get $0)
- )
- )
- (local.set $5
- (i32.load
- (local.get $0)
- )
- )
- )
- )
- (local.set $6
- (select
- (select
- (i32.const 4135)
- (i32.const 4139)
- (local.tee $8
- (i32.ne
- (i32.and
- (local.get $15)
- (i32.const 32)
- )
- (i32.const 0)
- )
- )
- )
- (select
- (i32.const 4127)
- (i32.const 4131)
- (local.get $8)
- )
- (local.get $6)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (local.get $5)
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $6)
- (i32.const 3)
- (local.get $0)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $17)
- (local.get $7)
- (i32.xor
- (local.get $9)
- (i32.const 8192)
- )
- )
- (select
- (local.get $17)
- (local.get $7)
- (i32.lt_s
- (local.get $7)
- (local.get $17)
- )
- )
- )
- )
- )
- (local.set $5
- (local.get $11)
- )
- (local.set $11
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (local.set $7
- (local.get $5)
- )
- (local.set $12
- (local.get $6)
- )
- (local.set $8
- (i32.const 0)
- )
- (local.set $10
- (i32.const 4091)
- )
- (br $__rjto$8
- (local.get $25)
- )
- )
- (local.set $10
- (i32.and
- (local.get $15)
- (i32.const 32)
- )
- )
- (if
- (i32.or
- (local.tee $5
- (i32.load
- (local.get $13)
- )
- )
- (local.tee $9
- (i32.load offset=4
- (local.get $13)
- )
- )
- )
- (block
- (local.set $8
- (local.get $25)
- )
- (local.set $5
- (loop $while-in123 (result i32)
- (i32.store8
- (local.tee $8
- (i32.sub
- (local.get $8)
- (i32.const 1)
- )
- )
- (i32.or
- (i32.load8_u
- (i32.add
- (i32.and
- (local.get $5)
- (i32.const 15)
- )
- (i32.const 4075)
- )
- )
- (local.get $10)
- )
- )
- (br_if $while-in123
- (i32.or
- (local.tee $5
- (call $_bitshift64Lshr
- (local.get $5)
- (local.get $9)
- (i32.const 4)
- )
- )
- (local.tee $9
- (global.get $tempRet0)
- )
- )
- )
- (local.get $8)
- )
- )
- (local.set $8
- (if (result i32)
- (i32.or
- (i32.eqz
- (i32.and
- (local.get $7)
- (i32.const 8)
- )
- )
- (i32.eqz
- (i32.or
- (i32.load
- (local.get $13)
- )
- (i32.load offset=4
- (local.get $13)
- )
- )
- )
- )
- (block (result i32)
- (local.set $10
- (i32.const 4091)
- )
- (i32.const 0)
- )
- (block (result i32)
- (local.set $10
- (i32.add
- (i32.shr_s
- (local.get $15)
- (i32.const 4)
- )
- (i32.const 4091)
- )
- )
- (i32.const 2)
- )
- )
- )
- )
- (block
- (local.set $5
- (local.get $25)
- )
- (local.set $8
- (i32.const 0)
- )
- (local.set $10
- (i32.const 4091)
- )
- )
- )
- (br $__rjti$8)
- )
- (local.set $5
- (call $_fmt_u
- (local.get $5)
- (local.get $7)
- (local.get $25)
- )
- )
- (local.set $7
- (local.get $9)
- )
- (br $__rjti$8)
- )
- (block $label$break$L8
- (block $__rjti$29
- (if
- (i32.and
- (local.tee $10
- (i32.ne
- (local.tee $7
- (local.get $6)
- )
- (i32.const 0)
- )
- )
- (i32.ne
- (i32.and
- (local.tee $9
- (local.get $5)
- )
- (i32.const 3)
- )
- (i32.const 0)
- )
- )
- (block
- (local.set $8
- (local.get $9)
- )
- (loop $while-in12
- (br_if $__rjti$29
- (i32.eqz
- (i32.load8_u
- (local.get $8)
- )
- )
- )
- (br_if $while-in12
- (i32.and
- (local.tee $9
- (i32.ne
- (local.tee $7
- (i32.sub
- (local.get $7)
- (i32.const 1)
- )
- )
- (i32.const 0)
- )
- )
- (i32.ne
- (i32.and
- (local.tee $8
- (i32.add
- (local.get $8)
- (i32.const 1)
- )
- )
- (i32.const 3)
- )
- (i32.const 0)
- )
- )
- )
- )
- )
- (block
- (local.set $8
- (local.get $9)
- )
- (local.set $9
- (local.get $10)
- )
- )
- )
- (br_if $__rjti$29
- (local.get $9)
- )
- (local.set $9
- (i32.const 0)
- )
- (br $label$break$L8)
- )
- (local.set $9
- (local.get $7)
- )
- (if
- (i32.load8_u
- (local.get $8)
- )
- (block
- (block $__rjto$013
- (block $__rjti$014
- (br_if $__rjti$014
- (i32.le_u
- (local.get $9)
- (i32.const 3)
- )
- )
- (loop $while-in315
- (if
- (i32.eqz
- (i32.and
- (i32.xor
- (i32.and
- (local.tee $7
- (i32.load
- (local.get $8)
- )
- )
- (i32.const -2139062144)
- )
- (i32.const -2139062144)
- )
- (i32.sub
- (local.get $7)
- (i32.const 16843009)
- )
- )
- )
- (block
- (local.set $8
- (i32.add
- (local.get $8)
- (i32.const 4)
- )
- )
- (br_if $while-in315
- (i32.gt_u
- (local.tee $9
- (i32.sub
- (local.get $9)
- (i32.const 4)
- )
- )
- (i32.const 3)
- )
- )
- (br $__rjti$014)
- )
- )
- )
- (br $__rjto$013)
- )
- (if
- (i32.eqz
- (local.get $9)
- )
- (block
- (local.set $9
- (i32.const 0)
- )
- (br $label$break$L8)
- )
- )
- )
- (local.set $9
- (loop $while-in5 (result i32)
- (br_if $label$break$L8
- (i32.eqz
- (i32.load8_u
- (local.get $8)
- )
- )
- )
- (local.set $8
- (i32.add
- (local.get $8)
- (i32.const 1)
- )
- )
- (br_if $while-in5
- (local.tee $9
- (i32.sub
- (local.get $9)
- (i32.const 1)
- )
- )
- )
- (i32.const 0)
- )
- )
- )
- )
- )
- (local.set $16
- (i32.eqz
- (local.tee $15
- (select
- (local.get $8)
- (i32.const 0)
- (local.get $9)
- )
- )
- )
- )
- (local.set $9
- (local.get $12)
- )
- (local.set $12
- (select
- (local.get $6)
- (i32.sub
- (local.get $15)
- (local.tee $7
- (local.get $5)
- )
- )
- (local.get $16)
- )
- )
- (local.set $8
- (i32.const 0)
- )
- (local.set $10
- (i32.const 4091)
- )
- (br $__rjto$8
- (select
- (i32.add
- (local.get $5)
- (local.get $6)
- )
- (local.get $15)
- (local.get $16)
- )
- )
- )
- (local.set $5
- (i32.const 0)
- )
- (local.set $7
- (i32.const 0)
- )
- (local.set $6
- (i32.load
- (local.get $13)
- )
- )
- (loop $while-in125
- (block $while-out124
- (br_if $while-out124
- (i32.eqz
- (local.tee $10
- (i32.load
- (local.get $6)
- )
- )
- )
- )
- (br_if $while-out124
- (i32.or
- (i32.lt_s
- (local.tee $7
- (call $_wctomb
- (local.get $33)
- (local.get $10)
- )
- )
- (i32.const 0)
- )
- (i32.gt_u
- (local.get $7)
- (i32.sub
- (local.get $8)
- (local.get $5)
- )
- )
- )
- )
- (local.set $6
- (i32.add
- (local.get $6)
- (i32.const 4)
- )
- )
- (br_if $while-in125
- (i32.gt_u
- (local.get $8)
- (local.tee $5
- (i32.add
- (local.get $5)
- (local.get $7)
- )
- )
- )
- )
- )
- )
- (if
- (i32.lt_s
- (local.get $7)
- (i32.const 0)
- )
- (block
- (local.set $18
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $17)
- (local.get $5)
- (local.get $9)
- )
- (if (result i32)
- (local.get $5)
- (block (result i32)
- (local.set $6
- (i32.const 0)
- )
- (local.set $7
- (i32.load
- (local.get $13)
- )
- )
- (loop $while-in127 (result i32)
- (drop
- (br_if $__rjti$7
- (local.get $5)
- (i32.eqz
- (local.tee $8
- (i32.load
- (local.get $7)
- )
- )
- )
- )
- )
- (drop
- (br_if $__rjti$7
- (local.get $5)
- (i32.gt_s
- (local.tee $6
- (i32.add
- (local.tee $8
- (call $_wctomb
- (local.get $33)
- (local.get $8)
- )
- )
- (local.get $6)
- )
- )
- (local.get $5)
- )
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $33)
- (local.get $8)
- (local.get $0)
- )
- )
- )
- (local.set $7
- (i32.add
- (local.get $7)
- (i32.const 4)
- )
- )
- (br_if $while-in127
- (i32.gt_u
- (local.get $5)
- (local.get $6)
- )
- )
- (local.get $5)
- )
- )
- (i32.const 0)
- )
- )
- )
- (i32.xor
- (local.get $9)
- (i32.const 8192)
- )
- )
- (local.set $5
- (local.get $11)
- )
- (local.set $11
- (select
- (local.get $17)
- (local.get $7)
- (i32.lt_s
- (local.get $7)
- (local.get $17)
- )
- )
- )
- (br $label$continue$L1)
- )
- (local.set $9
- (select
- (i32.and
- (local.get $7)
- (i32.const -65537)
- )
- (local.get $7)
- (i32.gt_s
- (local.get $6)
- (i32.const -1)
- )
- )
- )
- (local.set $12
- (if (result i32)
- (i32.or
- (local.get $6)
- (local.tee $12
- (i32.or
- (i32.ne
- (i32.load
- (local.get $13)
- )
- (i32.const 0)
- )
- (i32.ne
- (i32.load offset=4
- (local.get $13)
- )
- (i32.const 0)
- )
- )
- )
- )
- (select
- (local.get $6)
- (local.tee $5
- (i32.add
- (i32.eqz
- (local.get $12)
- )
- (i32.sub
- (local.get $37)
- (local.tee $7
- (local.get $5)
- )
- )
- )
- )
- (i32.lt_s
- (local.get $5)
- (local.get $6)
- )
- )
- (block (result i32)
- (local.set $7
- (local.get $25)
- )
- (i32.const 0)
- )
- )
- )
- (local.get $25)
- )
- (local.get $7)
- )
- )
- (local.get $12)
- (i32.lt_s
- (local.get $12)
- (local.get $15)
- )
- )
- )
- (local.get $8)
- )
- )
- (local.get $17)
- (i32.gt_s
- (local.get $5)
- (local.get $17)
- )
- )
- )
- (local.get $5)
- (local.get $9)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $10)
- (local.get $8)
- (local.get $0)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 48)
- (local.get $6)
- (local.get $5)
- (i32.xor
- (local.get $9)
- (i32.const 65536)
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 48)
- (local.get $12)
- (local.get $15)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $7)
- (local.get $15)
- (local.get $0)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $6)
- (local.get $5)
- (i32.xor
- (local.get $9)
- (i32.const 8192)
- )
- )
- (local.set $5
- (local.get $11)
- )
- (local.set $11
- (local.get $6)
- )
- (br $label$continue$L1)
- )
- )
- (br $label$break$L343)
- )
- (if
- (i32.eqz
- (local.get $0)
- )
- (local.set $18
- (if (result i32)
- (local.get $1)
- (block (result i32)
- (local.set $0
- (i32.const 1)
- )
- (loop $while-in130
- (if
- (local.tee $1
- (i32.load
- (i32.add
- (local.get $4)
- (i32.shl
- (local.get $0)
- (i32.const 2)
- )
- )
- )
- )
- (block
- (call $_pop_arg_336
- (i32.add
- (local.get $3)
- (i32.shl
- (local.get $0)
- (i32.const 3)
- )
- )
- (local.get $1)
- (local.get $2)
- )
- (br_if $while-in130
- (i32.lt_s
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- (i32.const 10)
- )
- )
- (local.set $18
- (i32.const 1)
- )
- (br $label$break$L343)
- )
- )
- )
- (if (result i32)
- (i32.lt_s
- (local.get $0)
- (i32.const 10)
- )
- (loop $while-in132 (result i32)
- (if
- (i32.load
- (i32.add
- (local.get $4)
- (i32.shl
- (local.get $0)
- (i32.const 2)
- )
- )
- )
- (block
- (local.set $18
- (i32.const -1)
- )
- (br $label$break$L343)
- )
- )
- (br_if $while-in132
- (i32.lt_s
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- (i32.const 10)
- )
- )
- (i32.const 1)
- )
- (i32.const 1)
- )
- )
- (i32.const 0)
- )
- )
- )
- )
- (global.set $STACKTOP
- (local.get $13)
- )
- (local.get $18)
- )
- (func $_pop_arg_336 (param $0 i32) (param $1 i32) (param $2 i32)
- (local $3 i32)
- (local $4 f64)
- (local $5 i32)
- (block $label$break$L1
- (if
- (i32.le_u
- (local.get $1)
- (i32.const 20)
- )
- (block $switch-default
- (block $switch-case9
- (block $switch-case8
- (block $switch-case7
- (block $switch-case6
- (block $switch-case5
- (block $switch-case4
- (block $switch-case3
- (block $switch-case2
- (block $switch-case1
- (block $switch-case
- (br_table $switch-case $switch-case1 $switch-case2 $switch-case3 $switch-case4 $switch-case5 $switch-case6 $switch-case7 $switch-case8 $switch-case9 $switch-default
- (i32.sub
- (local.get $1)
- (i32.const 9)
- )
- )
- )
- (local.set $3
- (i32.load
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (i32.store
- (local.get $0)
- (local.get $3)
- )
- (br $label$break$L1)
- )
- (local.set $1
- (i32.load
- (local.tee $3
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $3)
- (i32.const 4)
- )
- )
- (i32.store
- (local.get $0)
- (local.get $1)
- )
- (i32.store offset=4
- (local.get $0)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (local.get $1)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- (br $label$break$L1)
- )
- (local.set $3
- (i32.load
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (i32.store
- (local.get $0)
- (local.get $3)
- )
- (i32.store offset=4
- (local.get $0)
- (i32.const 0)
- )
- (br $label$break$L1)
- )
- (local.set $5
- (i32.load
- (local.tee $3
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 7)
- )
- (i32.const -8)
- )
- )
- )
- )
- )
- (local.set $3
- (i32.load offset=4
- (local.get $3)
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- (i32.store
- (local.get $0)
- (local.get $5)
- )
- (i32.store offset=4
- (local.get $0)
- (local.get $3)
- )
- (br $label$break$L1)
- )
- (local.set $3
- (i32.load
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (i32.store
- (local.get $0)
- (local.tee $1
- (i32.shr_s
- (i32.shl
- (i32.and
- (local.get $3)
- (i32.const 65535)
- )
- (i32.const 16)
- )
- (i32.const 16)
- )
- )
- )
- (i32.store offset=4
- (local.get $0)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (local.get $1)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- (br $label$break$L1)
- )
- (local.set $3
- (i32.load
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (i32.store
- (local.get $0)
- (i32.and
- (local.get $3)
- (i32.const 65535)
- )
- )
- (i32.store offset=4
- (local.get $0)
- (i32.const 0)
- )
- (br $label$break$L1)
- )
- (local.set $3
- (i32.load
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (i32.store
- (local.get $0)
- (local.tee $1
- (i32.shr_s
- (i32.shl
- (i32.and
- (local.get $3)
- (i32.const 255)
- )
- (i32.const 24)
- )
- (i32.const 24)
- )
- )
- )
- (i32.store offset=4
- (local.get $0)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (local.get $1)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- (br $label$break$L1)
- )
- (local.set $3
- (i32.load
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (i32.store
- (local.get $0)
- (i32.and
- (local.get $3)
- (i32.const 255)
- )
- )
- (i32.store offset=4
- (local.get $0)
- (i32.const 0)
- )
- (br $label$break$L1)
- )
- (local.set $4
- (f64.load
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 7)
- )
- (i32.const -8)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- (f64.store
- (local.get $0)
- (local.get $4)
- )
- (br $label$break$L1)
- )
- (local.set $4
- (f64.load
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 7)
- )
- (i32.const -8)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- (f64.store
- (local.get $0)
- (local.get $4)
- )
- )
- )
- )
- )
- (func $_fmt_u (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (if
- (local.get $1)
- (loop $while-in
- (i32.store8
- (local.tee $2
- (i32.sub
- (local.get $2)
- (i32.const 1)
- )
- )
- (i32.or
- (call $___uremdi3
- (local.get $0)
- (local.get $1)
- (i32.const 10)
- (i32.const 0)
- )
- (i32.const 48)
- )
- )
- (local.set $0
- (call $___udivdi3
- (local.get $0)
- (local.get $1)
- (i32.const 10)
- (i32.const 0)
- )
- )
- (local.set $3
- (global.get $tempRet0)
- )
- (if
- (i32.gt_u
- (local.get $1)
- (i32.const 9)
- )
- (block
- (local.set $1
- (local.get $3)
- )
- (br $while-in)
- )
- )
- )
- )
- (if
- (local.get $0)
- (loop $while-in1
- (i32.store8
- (local.tee $2
- (i32.sub
- (local.get $2)
- (i32.const 1)
- )
- )
- (i32.or
- (i32.rem_u
- (local.get $0)
- (i32.const 10)
- )
- (i32.const 48)
- )
- )
- (local.set $1
- (i32.div_u
- (local.get $0)
- (i32.const 10)
- )
- )
- (if
- (i32.ge_u
- (local.get $0)
- (i32.const 10)
- )
- (block
- (local.set $0
- (local.get $1)
- )
- (br $while-in1)
- )
- )
- )
- )
- (local.get $2)
- )
- (func $_pad (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local.set $7
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 256)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (local.set $6
- (local.get $7)
- )
- (block $do-once
- (if
- (i32.and
- (i32.gt_s
- (local.get $2)
- (local.get $3)
- )
- (i32.eqz
- (i32.and
- (local.get $4)
- (i32.const 73728)
- )
- )
- )
- (block $block
- (drop
- (call $_memset
- (local.get $6)
- (local.get $1)
- (select
- (i32.const 256)
- (local.tee $5
- (i32.sub
- (local.get $2)
- (local.get $3)
- )
- )
- (i32.gt_u
- (local.get $5)
- (i32.const 256)
- )
- )
- )
- )
- (local.set $4
- (i32.eqz
- (i32.and
- (local.tee $1
- (i32.load
- (local.get $0)
- )
- )
- (i32.const 32)
- )
- )
- )
- (if
- (i32.gt_u
- (local.get $5)
- (i32.const 255)
- )
- (block $block271
- (loop $while-in
- (if
- (local.get $4)
- (block $block273
- (drop
- (call $___fwritex
- (local.get $6)
- (i32.const 256)
- (local.get $0)
- )
- )
- (local.set $1
- (i32.load
- (local.get $0)
- )
- )
- )
- )
- (local.set $4
- (i32.eqz
- (i32.and
- (local.get $1)
- (i32.const 32)
- )
- )
- )
- (br_if $while-in
- (i32.gt_u
- (local.tee $5
- (i32.add
- (local.get $5)
- (i32.const -256)
- )
- )
- (i32.const 255)
- )
- )
- )
- (br_if $do-once
- (i32.eqz
- (local.get $4)
- )
- )
- (local.set $5
- (i32.and
- (i32.sub
- (local.get $2)
- (local.get $3)
- )
- (i32.const 255)
- )
- )
- )
- (br_if $do-once
- (i32.eqz
- (local.get $4)
- )
- )
- )
- (drop
- (call $___fwritex
- (local.get $6)
- (local.get $5)
- (local.get $0)
- )
- )
- )
- )
- )
- (global.set $STACKTOP
- (local.get $7)
- )
- )
- (func $_malloc (param $0 i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
- (local $15 i32)
- (local $16 i32)
- (local $17 i32)
- (local $18 i32)
- (block $folding-inner0
- (block $do-once
- (if
- (i32.lt_u
- (local.get $0)
- (i32.const 245)
- )
- (block $block
- (if
- (i32.and
- (local.tee $5
- (i32.shr_u
- (local.tee $11
- (i32.load
- (i32.const 176)
- )
- )
- (local.tee $13
- (i32.shr_u
- (local.tee $4
- (select
- (i32.const 16)
- (i32.and
- (i32.add
- (local.get $0)
- (i32.const 11)
- )
- (i32.const -8)
- )
- (i32.lt_u
- (local.get $0)
- (i32.const 11)
- )
- )
- )
- (i32.const 3)
- )
- )
- )
- )
- (i32.const 3)
- )
- (block $block275
- (local.set $10
- (i32.load
- (local.tee $1
- (i32.add
- (local.tee $7
- (i32.load
- (local.tee $3
- (i32.add
- (local.tee $2
- (i32.add
- (i32.shl
- (local.tee $4
- (i32.add
- (i32.xor
- (i32.and
- (local.get $5)
- (i32.const 1)
- )
- (i32.const 1)
- )
- (local.get $13)
- )
- )
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 8)
- )
- )
- )
- )
- (if
- (i32.eq
- (local.get $2)
- (local.get $10)
- )
- (i32.store
- (i32.const 176)
- (i32.and
- (local.get $11)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $4)
- )
- (i32.const -1)
- )
- )
- )
- (block $block277
- (if
- (i32.lt_u
- (local.get $10)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $10)
- (i32.const 12)
- )
- )
- )
- (local.get $7)
- )
- (block $block280
- (i32.store
- (local.get $0)
- (local.get $2)
- )
- (i32.store
- (local.get $3)
- (local.get $10)
- )
- )
- (call $_abort)
- )
- )
- )
- (i32.store offset=4
- (local.get $7)
- (i32.or
- (local.tee $0
- (i32.shl
- (local.get $4)
- (i32.const 3)
- )
- )
- (i32.const 3)
- )
- )
- (i32.store
- (local.tee $0
- (i32.add
- (i32.add
- (local.get $7)
- (local.get $0)
- )
- (i32.const 4)
- )
- )
- (i32.or
- (i32.load
- (local.get $0)
- )
- (i32.const 1)
- )
- )
- (return
- (local.get $1)
- )
- )
- )
- (if
- (i32.gt_u
- (local.get $4)
- (local.tee $0
- (i32.load
- (i32.const 184)
- )
- )
- )
- (block $block282
- (if
- (local.get $5)
- (block $block284
- (local.set $10
- (i32.and
- (i32.shr_u
- (local.tee $3
- (i32.add
- (i32.and
- (local.tee $3
- (i32.and
- (i32.shl
- (local.get $5)
- (local.get $13)
- )
- (i32.or
- (local.tee $3
- (i32.shl
- (i32.const 2)
- (local.get $13)
- )
- )
- (i32.sub
- (i32.const 0)
- (local.get $3)
- )
- )
- )
- )
- (i32.sub
- (i32.const 0)
- (local.get $3)
- )
- )
- (i32.const -1)
- )
- )
- (i32.const 12)
- )
- (i32.const 16)
- )
- )
- (local.set $9
- (i32.load
- (local.tee $7
- (i32.add
- (local.tee $12
- (i32.load
- (local.tee $3
- (i32.add
- (local.tee $10
- (i32.add
- (i32.shl
- (local.tee $5
- (i32.add
- (i32.or
- (i32.or
- (i32.or
- (i32.or
- (local.tee $3
- (i32.and
- (i32.shr_u
- (local.tee $7
- (i32.shr_u
- (local.get $3)
- (local.get $10)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (local.get $10)
- )
- (local.tee $3
- (i32.and
- (i32.shr_u
- (local.tee $7
- (i32.shr_u
- (local.get $7)
- (local.get $3)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (local.tee $3
- (i32.and
- (i32.shr_u
- (local.tee $7
- (i32.shr_u
- (local.get $7)
- (local.get $3)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
- (local.tee $3
- (i32.and
- (i32.shr_u
- (local.tee $7
- (i32.shr_u
- (local.get $7)
- (local.get $3)
- )
- )
- (i32.const 1)
- )
- (i32.const 1)
- )
- )
- )
- (i32.shr_u
- (local.get $7)
- (local.get $3)
- )
- )
- )
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 8)
- )
- )
- )
- )
- (if
- (i32.eq
- (local.get $10)
- (local.get $9)
- )
- (block $block286
- (i32.store
- (i32.const 176)
- (i32.and
- (local.get $11)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $5)
- )
- (i32.const -1)
- )
- )
- )
- (local.set $8
- (local.get $0)
- )
- )
- (block $block287
- (if
- (i32.lt_u
- (local.get $9)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $9)
- (i32.const 12)
- )
- )
- )
- (local.get $12)
- )
- (block $block290
- (i32.store
- (local.get $0)
- (local.get $10)
- )
- (i32.store
- (local.get $3)
- (local.get $9)
- )
- (local.set $8
- (i32.load
- (i32.const 184)
- )
- )
- )
- (call $_abort)
- )
- )
- )
- (i32.store offset=4
- (local.get $12)
- (i32.or
- (local.get $4)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (local.tee $10
- (i32.add
- (local.get $12)
- (local.get $4)
- )
- )
- (i32.or
- (local.tee $5
- (i32.sub
- (i32.shl
- (local.get $5)
- (i32.const 3)
- )
- (local.get $4)
- )
- )
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $10)
- (local.get $5)
- )
- (local.get $5)
- )
- (if
- (local.get $8)
- (block $block292
- (local.set $12
- (i32.load
- (i32.const 196)
- )
- )
- (local.set $4
- (i32.add
- (i32.shl
- (local.tee $0
- (i32.shr_u
- (local.get $8)
- (i32.const 3)
- )
- )
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (if
- (i32.and
- (local.tee $3
- (i32.load
- (i32.const 176)
- )
- )
- (local.tee $0
- (i32.shl
- (i32.const 1)
- (local.get $0)
- )
- )
- )
- (if
- (i32.lt_u
- (local.tee $0
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $4)
- (i32.const 8)
- )
- )
- )
- )
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block $block295
- (local.set $2
- (local.get $3)
- )
- (local.set $1
- (local.get $0)
- )
- )
- )
- (block $block296
- (i32.store
- (i32.const 176)
- (i32.or
- (local.get $3)
- (local.get $0)
- )
- )
- (local.set $2
- (i32.add
- (local.get $4)
- (i32.const 8)
- )
- )
- (local.set $1
- (local.get $4)
- )
- )
- )
- (i32.store
- (local.get $2)
- (local.get $12)
- )
- (i32.store offset=12
- (local.get $1)
- (local.get $12)
- )
- (i32.store offset=8
- (local.get $12)
- (local.get $1)
- )
- (i32.store offset=12
- (local.get $12)
- (local.get $4)
- )
- )
- )
- (i32.store
- (i32.const 184)
- (local.get $5)
- )
- (i32.store
- (i32.const 196)
- (local.get $10)
- )
- (return
- (local.get $7)
- )
- )
- )
- (if
- (local.tee $0
- (i32.load
- (i32.const 180)
- )
- )
- (block $block298
- (local.set $2
- (i32.and
- (i32.shr_u
- (local.tee $0
- (i32.add
- (i32.and
- (local.get $0)
- (i32.sub
- (i32.const 0)
- (local.get $0)
- )
- )
- (i32.const -1)
- )
- )
- (i32.const 12)
- )
- (i32.const 16)
- )
- )
- (local.set $7
- (i32.sub
- (i32.and
- (i32.load offset=4
- (local.tee $0
- (i32.load offset=480
- (i32.shl
- (i32.add
- (i32.or
- (i32.or
- (i32.or
- (i32.or
- (local.tee $0
- (i32.and
- (i32.shr_u
- (local.tee $1
- (i32.shr_u
- (local.get $0)
- (local.get $2)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (local.get $2)
- )
- (local.tee $0
- (i32.and
- (i32.shr_u
- (local.tee $1
- (i32.shr_u
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (local.tee $0
- (i32.and
- (i32.shr_u
- (local.tee $1
- (i32.shr_u
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
- (local.tee $0
- (i32.and
- (i32.shr_u
- (local.tee $1
- (i32.shr_u
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 1)
- )
- (i32.const 1)
- )
- )
- )
- (i32.shr_u
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.const -8)
- )
- (local.get $4)
- )
- )
- (local.set $1
- (local.get $0)
- )
- (local.set $2
- (local.get $0)
- )
- (loop $while-in
- (block $while-out
- (if
- (i32.eqz
- (local.tee $0
- (i32.load offset=16
- (local.get $1)
- )
- )
- )
- (if
- (i32.eqz
- (local.tee $0
- (i32.load offset=20
- (local.get $1)
- )
- )
- )
- (block $block301
- (local.set $10
- (local.get $7)
- )
- (local.set $5
- (local.get $2)
- )
- (br $while-out)
- )
- )
- )
- (local.set $10
- (i32.lt_u
- (local.tee $1
- (i32.sub
- (i32.and
- (i32.load offset=4
- (local.get $0)
- )
- (i32.const -8)
- )
- (local.get $4)
- )
- )
- (local.get $7)
- )
- )
- (local.set $7
- (select
- (local.get $1)
- (local.get $7)
- (local.get $10)
- )
- )
- (local.set $1
- (local.get $0)
- )
- (local.set $2
- (select
- (local.get $0)
- (local.get $2)
- (local.get $10)
- )
- )
- (br $while-in)
- )
- )
- (if
- (i32.lt_u
- (local.get $5)
- (local.tee $12
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (if
- (i32.ge_u
- (local.get $5)
- (local.tee $11
- (i32.add
- (local.get $5)
- (local.get $4)
- )
- )
- )
- (call $_abort)
- )
- (local.set $8
- (i32.load offset=24
- (local.get $5)
- )
- )
- (block $do-once4
- (if
- (i32.eq
- (local.tee $0
- (i32.load offset=12
- (local.get $5)
- )
- )
- (local.get $5)
- )
- (block $block305
- (if
- (i32.eqz
- (local.tee $1
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $5)
- (i32.const 20)
- )
- )
- )
- )
- )
- (if
- (i32.eqz
- (local.tee $1
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $5)
- (i32.const 16)
- )
- )
- )
- )
- )
- (block $block308
- (local.set $9
- (i32.const 0)
- )
- (br $do-once4)
- )
- )
- )
- (loop $while-in7
- (if
- (local.tee $2
- (i32.load
- (local.tee $7
- (i32.add
- (local.get $1)
- (i32.const 20)
- )
- )
- )
- )
- (block $block310
- (local.set $1
- (local.get $2)
- )
- (local.set $0
- (local.get $7)
- )
- (br $while-in7)
- )
- )
- (if
- (local.tee $2
- (i32.load
- (local.tee $7
- (i32.add
- (local.get $1)
- (i32.const 16)
- )
- )
- )
- )
- (block $block312
- (local.set $1
- (local.get $2)
- )
- (local.set $0
- (local.get $7)
- )
- (br $while-in7)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $0)
- (local.get $12)
- )
- (call $_abort)
- (block $block314
- (i32.store
- (local.get $0)
- (i32.const 0)
- )
- (local.set $9
- (local.get $1)
- )
- )
- )
- )
- (block $block315
- (if
- (i32.lt_u
- (local.tee $7
- (i32.load offset=8
- (local.get $5)
- )
- )
- (local.get $12)
- )
- (call $_abort)
- )
- (if
- (i32.ne
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $7)
- (i32.const 12)
- )
- )
- )
- (local.get $5)
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $0)
- (i32.const 8)
- )
- )
- )
- (local.get $5)
- )
- (block $block319
- (i32.store
- (local.get $2)
- (local.get $0)
- )
- (i32.store
- (local.get $1)
- (local.get $7)
- )
- (local.set $9
- (local.get $0)
- )
- )
- (call $_abort)
- )
- )
- )
- )
- (block $do-once8
- (if
- (local.get $8)
- (block $block321
- (if
- (i32.eq
- (local.get $5)
- (i32.load
- (local.tee $0
- (i32.add
- (i32.shl
- (local.tee $1
- (i32.load offset=28
- (local.get $5)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- )
- )
- (block $block323
- (i32.store
- (local.get $0)
- (local.get $9)
- )
- (if
- (i32.eqz
- (local.get $9)
- )
- (block $block325
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $1)
- )
- (i32.const -1)
- )
- )
- )
- (br $do-once8)
- )
- )
- )
- (block $block326
- (if
- (i32.lt_u
- (local.get $8)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $8)
- (i32.const 16)
- )
- )
- )
- (local.get $5)
- )
- (i32.store
- (local.get $0)
- (local.get $9)
- )
- (i32.store offset=20
- (local.get $8)
- (local.get $9)
- )
- )
- (br_if $do-once8
- (i32.eqz
- (local.get $9)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $9)
- (local.tee $0
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (i32.store offset=24
- (local.get $9)
- (local.get $8)
- )
- (if
- (local.tee $1
- (i32.load offset=16
- (local.get $5)
- )
- )
- (if
- (i32.lt_u
- (local.get $1)
- (local.get $0)
- )
- (call $_abort)
- (block $block332
- (i32.store offset=16
- (local.get $9)
- (local.get $1)
- )
- (i32.store offset=24
- (local.get $1)
- (local.get $9)
- )
- )
- )
- )
- (if
- (local.tee $0
- (i32.load offset=20
- (local.get $5)
- )
- )
- (if
- (i32.lt_u
- (local.get $0)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block $block335
- (i32.store offset=20
- (local.get $9)
- (local.get $0)
- )
- (i32.store offset=24
- (local.get $0)
- (local.get $9)
- )
- )
- )
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $10)
- (i32.const 16)
- )
- (block $block337
- (i32.store offset=4
- (local.get $5)
- (i32.or
- (local.tee $0
- (i32.add
- (local.get $10)
- (local.get $4)
- )
- )
- (i32.const 3)
- )
- )
- (i32.store
- (local.tee $0
- (i32.add
- (i32.add
- (local.get $5)
- (local.get $0)
- )
- (i32.const 4)
- )
- )
- (i32.or
- (i32.load
- (local.get $0)
- )
- (i32.const 1)
- )
- )
- )
- (block $block338
- (i32.store offset=4
- (local.get $5)
- (i32.or
- (local.get $4)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (local.get $11)
- (i32.or
- (local.get $10)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $11)
- (local.get $10)
- )
- (local.get $10)
- )
- (if
- (local.tee $0
- (i32.load
- (i32.const 184)
- )
- )
- (block $block340
- (local.set $4
- (i32.load
- (i32.const 196)
- )
- )
- (local.set $2
- (i32.add
- (i32.shl
- (local.tee $0
- (i32.shr_u
- (local.get $0)
- (i32.const 3)
- )
- )
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (if
- (i32.and
- (local.tee $1
- (i32.load
- (i32.const 176)
- )
- )
- (local.tee $0
- (i32.shl
- (i32.const 1)
- (local.get $0)
- )
- )
- )
- (if
- (i32.lt_u
- (local.tee $0
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $2)
- (i32.const 8)
- )
- )
- )
- )
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block $block343
- (local.set $6
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- )
- )
- (block $block344
- (i32.store
- (i32.const 176)
- (i32.or
- (local.get $1)
- (local.get $0)
- )
- )
- (local.set $6
- (i32.add
- (local.get $2)
- (i32.const 8)
- )
- )
- (local.set $3
- (local.get $2)
- )
- )
- )
- (i32.store
- (local.get $6)
- (local.get $4)
- )
- (i32.store offset=12
- (local.get $3)
- (local.get $4)
- )
- (i32.store offset=8
- (local.get $4)
- (local.get $3)
- )
- (i32.store offset=12
- (local.get $4)
- (local.get $2)
- )
- )
- )
- (i32.store
- (i32.const 184)
- (local.get $10)
- )
- (i32.store
- (i32.const 196)
- (local.get $11)
- )
- )
- )
- (return
- (i32.add
- (local.get $5)
- (i32.const 8)
- )
- )
- )
- (local.set $0
- (local.get $4)
- )
- )
- )
- (local.set $0
- (local.get $4)
- )
- )
- )
- (if
- (i32.gt_u
- (local.get $0)
- (i32.const -65)
- )
- (local.set $0
- (i32.const -1)
- )
- (block $block346
- (local.set $2
- (i32.and
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const 11)
- )
- )
- (i32.const -8)
- )
- )
- (if
- (local.tee $18
- (i32.load
- (i32.const 180)
- )
- )
- (block $block348
- (local.set $14
- (if (result i32)
- (local.tee $0
- (i32.shr_u
- (local.get $0)
- (i32.const 8)
- )
- )
- (if (result i32)
- (i32.gt_u
- (local.get $2)
- (i32.const 16777215)
- )
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (local.get $2)
- (i32.add
- (local.tee $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (local.tee $0
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $1
- (i32.shl
- (local.get $0)
- (local.tee $3
- (i32.and
- (i32.shr_u
- (i32.add
- (local.get $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
- )
- )
- (local.get $3)
- )
- (local.tee $0
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $1
- (i32.shl
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.shr_u
- (i32.shl
- (local.get $1)
- (local.get $0)
- )
- (i32.const 15)
- )
- )
- )
- (i32.const 7)
- )
- )
- (i32.const 1)
- )
- (i32.shl
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (i32.const 0)
- )
- )
- (local.set $3
- (i32.sub
- (i32.const 0)
- (local.get $2)
- )
- )
- (block $__rjto$3
- (block $__rjti$3
- (if
- (local.tee $0
- (i32.load offset=480
- (i32.shl
- (local.get $14)
- (i32.const 2)
- )
- )
- )
- (block $block352
- (local.set $6
- (i32.const 0)
- )
- (local.set $8
- (i32.shl
- (local.get $2)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (local.get $14)
- (i32.const 1)
- )
- )
- (i32.eq
- (local.get $14)
- (i32.const 31)
- )
- )
- )
- )
- (local.set $1
- (i32.const 0)
- )
- (loop $while-in14
- (if
- (i32.lt_u
- (local.tee $4
- (i32.sub
- (local.tee $9
- (i32.and
- (i32.load offset=4
- (local.get $0)
- )
- (i32.const -8)
- )
- )
- (local.get $2)
- )
- )
- (local.get $3)
- )
- (if
- (i32.eq
- (local.get $9)
- (local.get $2)
- )
- (block $block355
- (local.set $1
- (local.get $4)
- )
- (local.set $3
- (local.get $0)
- )
- (br $__rjti$3)
- )
- (block $block356
- (local.set $3
- (local.get $4)
- )
- (local.set $1
- (local.get $0)
- )
- )
- )
- )
- (local.set $0
- (select
- (local.get $6)
- (local.tee $4
- (i32.load offset=20
- (local.get $0)
- )
- )
- (i32.or
- (i32.eqz
- (local.get $4)
- )
- (i32.eq
- (local.get $4)
- (local.tee $9
- (i32.load
- (i32.add
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (local.get $8)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
- )
- )
- )
- )
- )
- )
- (local.set $4
- (i32.shl
- (local.get $8)
- (i32.xor
- (local.tee $6
- (i32.eqz
- (local.get $9)
- )
- )
- (i32.const 1)
- )
- )
- )
- (if
- (local.get $6)
- (block $block358
- (local.set $4
- (local.get $0)
- )
- (local.set $0
- (local.get $1)
- )
- )
- (block $block359
- (local.set $6
- (local.get $0)
- )
- (local.set $8
- (local.get $4)
- )
- (local.set $0
- (local.get $9)
- )
- (br $while-in14)
- )
- )
- )
- )
- (block $block360
- (local.set $4
- (i32.const 0)
- )
- (local.set $0
- (i32.const 0)
- )
- )
- )
- (if
- (i32.and
- (i32.eqz
- (local.get $4)
- )
- (i32.eqz
- (local.get $0)
- )
- )
- (block $block362
- (if
- (i32.eqz
- (local.tee $1
- (i32.and
- (local.get $18)
- (i32.or
- (local.tee $1
- (i32.shl
- (i32.const 2)
- (local.get $14)
- )
- )
- (i32.sub
- (i32.const 0)
- (local.get $1)
- )
- )
- )
- )
- )
- (block $block364
- (local.set $0
- (local.get $2)
- )
- (br $do-once)
- )
- )
- (local.set $9
- (i32.and
- (i32.shr_u
- (local.tee $1
- (i32.add
- (i32.and
- (local.get $1)
- (i32.sub
- (i32.const 0)
- (local.get $1)
- )
- )
- (i32.const -1)
- )
- )
- (i32.const 12)
- )
- (i32.const 16)
- )
- )
- (local.set $4
- (i32.load offset=480
- (i32.shl
- (i32.add
- (i32.or
- (i32.or
- (i32.or
- (i32.or
- (local.tee $1
- (i32.and
- (i32.shr_u
- (local.tee $4
- (i32.shr_u
- (local.get $1)
- (local.get $9)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (local.get $9)
- )
- (local.tee $1
- (i32.and
- (i32.shr_u
- (local.tee $4
- (i32.shr_u
- (local.get $4)
- (local.get $1)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (local.tee $1
- (i32.and
- (i32.shr_u
- (local.tee $4
- (i32.shr_u
- (local.get $4)
- (local.get $1)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
- (local.tee $1
- (i32.and
- (i32.shr_u
- (local.tee $4
- (i32.shr_u
- (local.get $4)
- (local.get $1)
- )
- )
- (i32.const 1)
- )
- (i32.const 1)
- )
- )
- )
- (i32.shr_u
- (local.get $4)
- (local.get $1)
- )
- )
- (i32.const 2)
- )
- )
- )
- )
- )
- (if
- (local.get $4)
- (block $block366
- (local.set $1
- (local.get $3)
- )
- (local.set $3
- (local.get $4)
- )
- (br $__rjti$3)
- )
- (local.set $4
- (local.get $0)
- )
- )
- (br $__rjto$3)
- )
- (loop $while-in16
- (local.set $9
- (i32.lt_u
- (local.tee $4
- (i32.sub
- (i32.and
- (i32.load offset=4
- (local.get $3)
- )
- (i32.const -8)
- )
- (local.get $2)
- )
- )
- (local.get $1)
- )
- )
- (local.set $1
- (select
- (local.get $4)
- (local.get $1)
- (local.get $9)
- )
- )
- (local.set $0
- (select
- (local.get $3)
- (local.get $0)
- (local.get $9)
- )
- )
- (if
- (local.tee $4
- (i32.load offset=16
- (local.get $3)
- )
- )
- (block $block368
- (local.set $3
- (local.get $4)
- )
- (br $while-in16)
- )
- )
- (br_if $while-in16
- (local.tee $3
- (i32.load offset=20
- (local.get $3)
- )
- )
- )
- (local.set $3
- (local.get $1)
- )
- (local.set $4
- (local.get $0)
- )
- )
- )
- (if
- (local.get $4)
- (if
- (i32.lt_u
- (local.get $3)
- (i32.sub
- (i32.load
- (i32.const 184)
- )
- (local.get $2)
- )
- )
- (block $block371
- (if
- (i32.lt_u
- (local.get $4)
- (local.tee $12
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (if
- (i32.ge_u
- (local.get $4)
- (local.tee $6
- (i32.add
- (local.get $4)
- (local.get $2)
- )
- )
- )
- (call $_abort)
- )
- (local.set $9
- (i32.load offset=24
- (local.get $4)
- )
- )
- (block $do-once17
- (if
- (i32.eq
- (local.tee $0
- (i32.load offset=12
- (local.get $4)
- )
- )
- (local.get $4)
- )
- (block $block375
- (if
- (i32.eqz
- (local.tee $1
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $4)
- (i32.const 20)
- )
- )
- )
- )
- )
- (if
- (i32.eqz
- (local.tee $1
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $4)
- (i32.const 16)
- )
- )
- )
- )
- )
- (block $block378
- (local.set $11
- (i32.const 0)
- )
- (br $do-once17)
- )
- )
- )
- (loop $while-in20
- (if
- (local.tee $7
- (i32.load
- (local.tee $10
- (i32.add
- (local.get $1)
- (i32.const 20)
- )
- )
- )
- )
- (block $block380
- (local.set $1
- (local.get $7)
- )
- (local.set $0
- (local.get $10)
- )
- (br $while-in20)
- )
- )
- (if
- (local.tee $7
- (i32.load
- (local.tee $10
- (i32.add
- (local.get $1)
- (i32.const 16)
- )
- )
- )
- )
- (block $block382
- (local.set $1
- (local.get $7)
- )
- (local.set $0
- (local.get $10)
- )
- (br $while-in20)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $0)
- (local.get $12)
- )
- (call $_abort)
- (block $block384
- (i32.store
- (local.get $0)
- (i32.const 0)
- )
- (local.set $11
- (local.get $1)
- )
- )
- )
- )
- (block $block385
- (if
- (i32.lt_u
- (local.tee $10
- (i32.load offset=8
- (local.get $4)
- )
- )
- (local.get $12)
- )
- (call $_abort)
- )
- (if
- (i32.ne
- (i32.load
- (local.tee $7
- (i32.add
- (local.get $10)
- (i32.const 12)
- )
- )
- )
- (local.get $4)
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $0)
- (i32.const 8)
- )
- )
- )
- (local.get $4)
- )
- (block $block389
- (i32.store
- (local.get $7)
- (local.get $0)
- )
- (i32.store
- (local.get $1)
- (local.get $10)
- )
- (local.set $11
- (local.get $0)
- )
- )
- (call $_abort)
- )
- )
- )
- )
- (block $do-once21
- (if
- (local.get $9)
- (block $block391
- (if
- (i32.eq
- (local.get $4)
- (i32.load
- (local.tee $0
- (i32.add
- (i32.shl
- (local.tee $1
- (i32.load offset=28
- (local.get $4)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- )
- )
- (block $block393
- (i32.store
- (local.get $0)
- (local.get $11)
- )
- (if
- (i32.eqz
- (local.get $11)
- )
- (block $block395
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $1)
- )
- (i32.const -1)
- )
- )
- )
- (br $do-once21)
- )
- )
- )
- (block $block396
- (if
- (i32.lt_u
- (local.get $9)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $9)
- (i32.const 16)
- )
- )
- )
- (local.get $4)
- )
- (i32.store
- (local.get $0)
- (local.get $11)
- )
- (i32.store offset=20
- (local.get $9)
- (local.get $11)
- )
- )
- (br_if $do-once21
- (i32.eqz
- (local.get $11)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $11)
- (local.tee $0
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (i32.store offset=24
- (local.get $11)
- (local.get $9)
- )
- (if
- (local.tee $1
- (i32.load offset=16
- (local.get $4)
- )
- )
- (if
- (i32.lt_u
- (local.get $1)
- (local.get $0)
- )
- (call $_abort)
- (block $block402
- (i32.store offset=16
- (local.get $11)
- (local.get $1)
- )
- (i32.store offset=24
- (local.get $1)
- (local.get $11)
- )
- )
- )
- )
- (if
- (local.tee $0
- (i32.load offset=20
- (local.get $4)
- )
- )
- (if
- (i32.lt_u
- (local.get $0)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block $block405
- (i32.store offset=20
- (local.get $11)
- (local.get $0)
- )
- (i32.store offset=24
- (local.get $0)
- (local.get $11)
- )
- )
- )
- )
- )
- )
- )
- (block $do-once25
- (if
- (i32.lt_u
- (local.get $3)
- (i32.const 16)
- )
- (block $block407
- (i32.store offset=4
- (local.get $4)
- (i32.or
- (local.tee $0
- (i32.add
- (local.get $3)
- (local.get $2)
- )
- )
- (i32.const 3)
- )
- )
- (i32.store
- (local.tee $0
- (i32.add
- (i32.add
- (local.get $4)
- (local.get $0)
- )
- (i32.const 4)
- )
- )
- (i32.or
- (i32.load
- (local.get $0)
- )
- (i32.const 1)
- )
- )
- )
- (block $block408
- (i32.store offset=4
- (local.get $4)
- (i32.or
- (local.get $2)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (local.get $6)
- (i32.or
- (local.get $3)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $6)
- (local.get $3)
- )
- (local.get $3)
- )
- (local.set $0
- (i32.shr_u
- (local.get $3)
- (i32.const 3)
- )
- )
- (if
- (i32.lt_u
- (local.get $3)
- (i32.const 256)
- )
- (block $block410
- (local.set $3
- (i32.add
- (i32.shl
- (local.get $0)
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (if
- (i32.and
- (local.tee $1
- (i32.load
- (i32.const 176)
- )
- )
- (local.tee $0
- (i32.shl
- (i32.const 1)
- (local.get $0)
- )
- )
- )
- (if
- (i32.lt_u
- (local.tee $0
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
- )
- )
- )
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block $block413
- (local.set $13
- (local.get $1)
- )
- (local.set $5
- (local.get $0)
- )
- )
- )
- (block $block414
- (i32.store
- (i32.const 176)
- (i32.or
- (local.get $1)
- (local.get $0)
- )
- )
- (local.set $13
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
- )
- (local.set $5
- (local.get $3)
- )
- )
- )
- (i32.store
- (local.get $13)
- (local.get $6)
- )
- (i32.store offset=12
- (local.get $5)
- (local.get $6)
- )
- (i32.store offset=8
- (local.get $6)
- (local.get $5)
- )
- (i32.store offset=12
- (local.get $6)
- (local.get $3)
- )
- (br $do-once25)
- )
- )
- (local.set $2
- (i32.add
- (i32.shl
- (local.tee $7
- (if (result i32)
- (local.tee $0
- (i32.shr_u
- (local.get $3)
- (i32.const 8)
- )
- )
- (if (result i32)
- (i32.gt_u
- (local.get $3)
- (i32.const 16777215)
- )
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (local.get $3)
- (i32.add
- (local.tee $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (local.tee $0
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $1
- (i32.shl
- (local.get $0)
- (local.tee $2
- (i32.and
- (i32.shr_u
- (i32.add
- (local.get $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
- )
- )
- (local.get $2)
- )
- (local.tee $0
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $1
- (i32.shl
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.shr_u
- (i32.shl
- (local.get $1)
- (local.get $0)
- )
- (i32.const 15)
- )
- )
- )
- (i32.const 7)
- )
- )
- (i32.const 1)
- )
- (i32.shl
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (i32.const 0)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- (i32.store offset=28
- (local.get $6)
- (local.get $7)
- )
- (i32.store offset=4
- (local.tee $0
- (i32.add
- (local.get $6)
- (i32.const 16)
- )
- )
- (i32.const 0)
- )
- (i32.store
- (local.get $0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (local.tee $1
- (i32.load
- (i32.const 180)
- )
- )
- (local.tee $0
- (i32.shl
- (i32.const 1)
- (local.get $7)
- )
- )
- )
- )
- (block $block418
- (i32.store
- (i32.const 180)
- (i32.or
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.store
- (local.get $2)
- (local.get $6)
- )
- (i32.store offset=24
- (local.get $6)
- (local.get $2)
- )
- (i32.store offset=12
- (local.get $6)
- (local.get $6)
- )
- (i32.store offset=8
- (local.get $6)
- (local.get $6)
- )
- (br $do-once25)
- )
- )
- (local.set $7
- (i32.shl
- (local.get $3)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (local.get $7)
- (i32.const 1)
- )
- )
- (i32.eq
- (local.get $7)
- (i32.const 31)
- )
- )
- )
- )
- (local.set $0
- (i32.load
- (local.get $2)
- )
- )
- (block $__rjto$1
- (block $__rjti$1
- (loop $while-in28
- (br_if $__rjti$1
- (i32.eq
- (i32.and
- (i32.load offset=4
- (local.get $0)
- )
- (i32.const -8)
- )
- (local.get $3)
- )
- )
- (local.set $2
- (i32.shl
- (local.get $7)
- (i32.const 1)
- )
- )
- (if
- (local.tee $1
- (i32.load
- (local.tee $7
- (i32.add
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (local.get $7)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
- )
- )
- )
- (block $block420
- (local.set $7
- (local.get $2)
- )
- (local.set $0
- (local.get $1)
- )
- (br $while-in28)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $7)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block $block422
- (i32.store
- (local.get $7)
- (local.get $6)
- )
- (i32.store offset=24
- (local.get $6)
- (local.get $0)
- )
- (i32.store offset=12
- (local.get $6)
- (local.get $6)
- )
- (i32.store offset=8
- (local.get $6)
- (local.get $6)
- )
- (br $do-once25)
- )
- )
- (br $__rjto$1)
- )
- (if
- (i32.and
- (i32.ge_u
- (local.tee $2
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $0)
- (i32.const 8)
- )
- )
- )
- )
- (local.tee $1
- (i32.load
- (i32.const 192)
- )
- )
- )
- (i32.ge_u
- (local.get $0)
- (local.get $1)
- )
- )
- (block $block424
- (i32.store offset=12
- (local.get $2)
- (local.get $6)
- )
- (i32.store
- (local.get $3)
- (local.get $6)
- )
- (i32.store offset=8
- (local.get $6)
- (local.get $2)
- )
- (i32.store offset=12
- (local.get $6)
- (local.get $0)
- )
- (i32.store offset=24
- (local.get $6)
- (i32.const 0)
- )
- )
- (call $_abort)
- )
- )
- )
- )
- )
- (return
- (i32.add
- (local.get $4)
- (i32.const 8)
- )
- )
- )
- (local.set $0
- (local.get $2)
- )
- )
- (local.set $0
- (local.get $2)
- )
- )
- )
- (local.set $0
- (local.get $2)
- )
- )
- )
- )
- )
- )
- (if
- (i32.ge_u
- (local.tee $1
- (i32.load
- (i32.const 184)
- )
- )
- (local.get $0)
- )
- (block $block426
- (local.set $2
- (i32.load
- (i32.const 196)
- )
- )
- (if
- (i32.gt_u
- (local.tee $3
- (i32.sub
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 15)
- )
- (block $block428
- (i32.store
- (i32.const 196)
- (local.tee $1
- (i32.add
- (local.get $2)
- (local.get $0)
- )
- )
- )
- (i32.store
- (i32.const 184)
- (local.get $3)
- )
- (i32.store offset=4
- (local.get $1)
- (i32.or
- (local.get $3)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $1)
- (local.get $3)
- )
- (local.get $3)
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $0)
- (i32.const 3)
- )
- )
- )
- (block $block429
- (i32.store
- (i32.const 184)
- (i32.const 0)
- )
- (i32.store
- (i32.const 196)
- (i32.const 0)
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $1)
- (i32.const 3)
- )
- )
- (i32.store
- (local.tee $0
- (i32.add
- (i32.add
- (local.get $2)
- (local.get $1)
- )
- (i32.const 4)
- )
- )
- (i32.or
- (i32.load
- (local.get $0)
- )
- (i32.const 1)
- )
- )
- )
- )
- (return
- (i32.add
- (local.get $2)
- (i32.const 8)
- )
- )
- )
- )
- (br_if $folding-inner0
- (i32.gt_u
- (local.tee $1
- (i32.load
- (i32.const 188)
- )
- )
- (local.get $0)
- )
- )
- (if
- (i32.eqz
- (i32.load
- (i32.const 648)
- )
- )
- (if
- (i32.and
- (i32.add
- (local.tee $1
- (call $_sysconf
- (i32.const 30)
- )
- )
- (i32.const -1)
- )
- (local.get $1)
- )
- (call $_abort)
- (block $block432
- (i32.store
- (i32.const 656)
- (local.get $1)
- )
- (i32.store
- (i32.const 652)
- (local.get $1)
- )
- (i32.store
- (i32.const 660)
- (i32.const -1)
- )
- (i32.store
- (i32.const 664)
- (i32.const -1)
- )
- (i32.store
- (i32.const 668)
- (i32.const 0)
- )
- (i32.store
- (i32.const 620)
- (i32.const 0)
- )
- (i32.store
- (i32.const 648)
- (i32.xor
- (i32.and
- (call $_time
- (i32.const 0)
- )
- (i32.const -16)
- )
- (i32.const 1431655768)
- )
- )
- )
- )
- )
- (if
- (i32.le_u
- (local.tee $5
- (i32.and
- (local.tee $6
- (i32.add
- (local.tee $1
- (i32.load
- (i32.const 656)
- )
- )
- (local.tee $8
- (i32.add
- (local.get $0)
- (i32.const 47)
- )
- )
- )
- )
- (local.tee $9
- (i32.sub
- (i32.const 0)
- (local.get $1)
- )
- )
- )
- )
- (local.get $0)
- )
- (return
- (i32.const 0)
- )
- )
- (if
- (local.tee $2
- (i32.load
- (i32.const 616)
- )
- )
- (if
- (i32.or
- (i32.le_u
- (local.tee $1
- (i32.add
- (local.tee $3
- (i32.load
- (i32.const 608)
- )
- )
- (local.get $5)
- )
- )
- (local.get $3)
- )
- (i32.gt_u
- (local.get $1)
- (local.get $2)
- )
- )
- (return
- (i32.const 0)
- )
- )
- )
- (local.set $11
- (i32.add
- (local.get $0)
- (i32.const 48)
- )
- )
- (block $__rjto$13
- (block $__rjti$13
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (i32.const 620)
- )
- (i32.const 4)
- )
- )
- (block $block437
- (block $label$break$L279
- (block $__rjti$5
- (block $__rjti$4
- (br_if $__rjti$4
- (i32.eqz
- (local.tee $4
- (i32.load
- (i32.const 200)
- )
- )
- )
- )
- (local.set $1
- (i32.const 624)
- )
- (loop $while-in34
- (block $while-out33
- (if
- (i32.le_u
- (local.tee $3
- (i32.load
- (local.get $1)
- )
- )
- (local.get $4)
- )
- (if
- (i32.gt_u
- (i32.add
- (local.get $3)
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- )
- )
- (local.get $4)
- )
- (block $block440
- (local.set $4
- (local.get $1)
- )
- (br $while-out33)
- )
- )
- )
- (br_if $while-in34
- (local.tee $1
- (i32.load offset=8
- (local.get $1)
- )
- )
- )
- (br $__rjti$4)
- )
- )
- (if
- (i32.lt_u
- (local.tee $3
- (i32.and
- (i32.sub
- (local.get $6)
- (i32.load
- (i32.const 188)
- )
- )
- (local.get $9)
- )
- )
- (i32.const 2147483647)
- )
- (if
- (i32.eq
- (local.tee $1
- (call $_sbrk
- (local.get $3)
- )
- )
- (i32.add
- (i32.load
- (local.get $4)
- )
- (i32.load
- (local.get $2)
- )
- )
- )
- (br_if $__rjti$13
- (i32.ne
- (local.get $1)
- (i32.const -1)
- )
- )
- (block $block443
- (local.set $2
- (local.get $1)
- )
- (br $__rjti$5)
- )
- )
- )
- (br $label$break$L279)
- )
- (if
- (i32.ne
- (local.tee $1
- (call $_sbrk
- (i32.const 0)
- )
- )
- (i32.const -1)
- )
- (block $block445
- (local.set $3
- (if (result i32)
- (i32.and
- (local.tee $2
- (i32.add
- (local.tee $4
- (i32.load
- (i32.const 652)
- )
- )
- (i32.const -1)
- )
- )
- (local.tee $3
- (local.get $1)
- )
- )
- (i32.add
- (i32.sub
- (local.get $5)
- (local.get $3)
- )
- (i32.and
- (i32.add
- (local.get $2)
- (local.get $3)
- )
- (i32.sub
- (i32.const 0)
- (local.get $4)
- )
- )
- )
- (local.get $5)
- )
- )
- (local.set $9
- (i32.add
- (local.tee $4
- (i32.load
- (i32.const 608)
- )
- )
- (local.get $3)
- )
- )
- (if
- (i32.and
- (i32.gt_u
- (local.get $3)
- (local.get $0)
- )
- (i32.lt_u
- (local.get $3)
- (i32.const 2147483647)
- )
- )
- (block $block448
- (if
- (local.tee $2
- (i32.load
- (i32.const 616)
- )
- )
- (br_if $label$break$L279
- (i32.or
- (i32.le_u
- (local.get $9)
- (local.get $4)
- )
- (i32.gt_u
- (local.get $9)
- (local.get $2)
- )
- )
- )
- )
- (br_if $__rjti$13
- (i32.eq
- (local.tee $2
- (call $_sbrk
- (local.get $3)
- )
- )
- (local.get $1)
- )
- )
- (br $__rjti$5)
- )
- )
- )
- )
- (br $label$break$L279)
- )
- (local.set $1
- (local.get $3)
- )
- (local.set $4
- (i32.sub
- (i32.const 0)
- (local.get $1)
- )
- )
- (if
- (i32.and
- (i32.gt_u
- (local.get $11)
- (local.get $1)
- )
- (i32.and
- (i32.lt_u
- (local.get $1)
- (i32.const 2147483647)
- )
- (i32.ne
- (local.get $2)
- (i32.const -1)
- )
- )
- )
- (if
- (i32.lt_u
- (local.tee $3
- (i32.and
- (i32.add
- (i32.sub
- (local.get $8)
- (local.get $1)
- )
- (local.tee $3
- (i32.load
- (i32.const 656)
- )
- )
- )
- (i32.sub
- (i32.const 0)
- (local.get $3)
- )
- )
- )
- (i32.const 2147483647)
- )
- (if
- (i32.eq
- (call $_sbrk
- (local.get $3)
- )
- (i32.const -1)
- )
- (block $block453
- (drop
- (call $_sbrk
- (local.get $4)
- )
- )
- (br $label$break$L279)
- )
- (local.set $3
- (i32.add
- (local.get $3)
- (local.get $1)
- )
- )
- )
- (local.set $3
- (local.get $1)
- )
- )
- (local.set $3
- (local.get $1)
- )
- )
- (if
- (i32.ne
- (local.get $2)
- (i32.const -1)
- )
- (block $block455
- (local.set $1
- (local.get $2)
- )
- (br $__rjti$13)
- )
- )
- )
- (i32.store
- (i32.const 620)
- (i32.or
- (i32.load
- (i32.const 620)
- )
- (i32.const 4)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $5)
- (i32.const 2147483647)
- )
- (if
- (i32.and
- (i32.lt_u
- (local.tee $1
- (call $_sbrk
- (local.get $5)
- )
- )
- (local.tee $3
- (call $_sbrk
- (i32.const 0)
- )
- )
- )
- (i32.and
- (i32.ne
- (local.get $1)
- (i32.const -1)
- )
- (i32.ne
- (local.get $3)
- (i32.const -1)
- )
- )
- )
- (br_if $__rjti$13
- (i32.gt_u
- (local.tee $3
- (i32.sub
- (local.get $3)
- (local.get $1)
- )
- )
- (i32.add
- (local.get $0)
- (i32.const 40)
- )
- )
- )
- )
- )
- (br $__rjto$13)
- )
- (i32.store
- (i32.const 608)
- (local.tee $2
- (i32.add
- (i32.load
- (i32.const 608)
- )
- (local.get $3)
- )
- )
- )
- (if
- (i32.gt_u
- (local.get $2)
- (i32.load
- (i32.const 612)
- )
- )
- (i32.store
- (i32.const 612)
- (local.get $2)
- )
- )
- (block $do-once40
- (if
- (local.tee $6
- (i32.load
- (i32.const 200)
- )
- )
- (block $block460
- (local.set $2
- (i32.const 624)
- )
- (block $__rjto$10
- (block $__rjti$10
- (loop $while-in45
- (br_if $__rjti$10
- (i32.eq
- (local.get $1)
- (i32.add
- (local.tee $11
- (i32.load
- (local.get $2)
- )
- )
- (local.tee $5
- (i32.load
- (local.tee $4
- (i32.add
- (local.get $2)
- (i32.const 4)
- )
- )
- )
- )
- )
- )
- )
- (br_if $while-in45
- (local.tee $2
- (i32.load offset=8
- (local.get $2)
- )
- )
- )
- )
- (br $__rjto$10)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load offset=12
- (local.get $2)
- )
- (i32.const 8)
- )
- )
- (if
- (i32.and
- (i32.lt_u
- (local.get $6)
- (local.get $1)
- )
- (i32.ge_u
- (local.get $6)
- (local.get $11)
- )
- )
- (block $block463
- (i32.store
- (local.get $4)
- (i32.add
- (local.get $5)
- (local.get $3)
- )
- )
- (local.set $2
- (i32.add
- (local.get $6)
- (local.tee $1
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (local.tee $1
- (i32.add
- (local.get $6)
- (i32.const 8)
- )
- )
- )
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (local.get $1)
- (i32.const 7)
- )
- )
- )
- )
- )
- (local.set $1
- (i32.add
- (i32.sub
- (local.get $3)
- (local.get $1)
- )
- (i32.load
- (i32.const 188)
- )
- )
- )
- (i32.store
- (i32.const 200)
- (local.get $2)
- )
- (i32.store
- (i32.const 188)
- (local.get $1)
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $1)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (i32.add
- (local.get $2)
- (local.get $1)
- )
- (i32.const 40)
- )
- (i32.store
- (i32.const 204)
- (i32.load
- (i32.const 664)
- )
- )
- (br $do-once40)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $1)
- (local.tee $4
- (i32.load
- (i32.const 192)
- )
- )
- )
- (block $block465
- (i32.store
- (i32.const 192)
- (local.get $1)
- )
- (local.set $4
- (local.get $1)
- )
- )
- )
- (local.set $11
- (i32.add
- (local.get $1)
- (local.get $3)
- )
- )
- (local.set $2
- (i32.const 624)
- )
- (block $__rjto$11
- (block $__rjti$11
- (loop $while-in47
- (if
- (i32.eq
- (i32.load
- (local.get $2)
- )
- (local.get $11)
- )
- (block $block467
- (local.set $5
- (local.get $2)
- )
- (br $__rjti$11)
- )
- )
- (br_if $while-in47
- (local.tee $2
- (i32.load offset=8
- (local.get $2)
- )
- )
- )
- (local.set $4
- (i32.const 624)
- )
- )
- (br $__rjto$11)
- )
- (if
- (i32.and
- (i32.load offset=12
- (local.get $2)
- )
- (i32.const 8)
- )
- (local.set $4
- (i32.const 624)
- )
- (block $block469
- (i32.store
- (local.get $5)
- (local.get $1)
- )
- (i32.store
- (local.tee $2
- (i32.add
- (local.get $2)
- (i32.const 4)
- )
- )
- (i32.add
- (i32.load
- (local.get $2)
- )
- (local.get $3)
- )
- )
- (local.set $8
- (i32.add
- (local.tee $9
- (i32.add
- (local.get $1)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (local.tee $1
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- )
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (local.get $1)
- (i32.const 7)
- )
- )
- )
- )
- (local.get $0)
- )
- )
- (local.set $7
- (i32.sub
- (i32.sub
- (local.tee $5
- (i32.add
- (local.get $11)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (local.tee $1
- (i32.add
- (local.get $11)
- (i32.const 8)
- )
- )
- )
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (local.get $1)
- (i32.const 7)
- )
- )
- )
- )
- (local.get $9)
- )
- (local.get $0)
- )
- )
- (i32.store offset=4
- (local.get $9)
- (i32.or
- (local.get $0)
- (i32.const 3)
- )
- )
- (block $do-once48
- (if
- (i32.eq
- (local.get $5)
- (local.get $6)
- )
- (block $block471
- (i32.store
- (i32.const 188)
- (local.tee $0
- (i32.add
- (i32.load
- (i32.const 188)
- )
- (local.get $7)
- )
- )
- )
- (i32.store
- (i32.const 200)
- (local.get $8)
- )
- (i32.store offset=4
- (local.get $8)
- (i32.or
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (block $block472
- (if
- (i32.eq
- (local.get $5)
- (i32.load
- (i32.const 196)
- )
- )
- (block $block474
- (i32.store
- (i32.const 184)
- (local.tee $0
- (i32.add
- (i32.load
- (i32.const 184)
- )
- (local.get $7)
- )
- )
- )
- (i32.store
- (i32.const 196)
- (local.get $8)
- )
- (i32.store offset=4
- (local.get $8)
- (i32.or
- (local.get $0)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $8)
- (local.get $0)
- )
- (local.get $0)
- )
- (br $do-once48)
- )
- )
- (i32.store
- (local.tee $0
- (i32.add
- (local.tee $0
- (if (result i32)
- (i32.eq
- (i32.and
- (local.tee $0
- (i32.load offset=4
- (local.get $5)
- )
- )
- (i32.const 3)
- )
- (i32.const 1)
- )
- (block $block476 (result i32)
- (local.set $11
- (i32.and
- (local.get $0)
- (i32.const -8)
- )
- )
- (local.set $1
- (i32.shr_u
- (local.get $0)
- (i32.const 3)
- )
- )
- (block $label$break$L331
- (if
- (i32.lt_u
- (local.get $0)
- (i32.const 256)
- )
- (block $block478
- (local.set $2
- (i32.load offset=12
- (local.get $5)
- )
- )
- (block $do-once51
- (if
- (i32.ne
- (local.tee $3
- (i32.load offset=8
- (local.get $5)
- )
- )
- (local.tee $0
- (i32.add
- (i32.shl
- (local.get $1)
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- )
- (block $block480
- (if
- (i32.lt_u
- (local.get $3)
- (local.get $4)
- )
- (call $_abort)
- )
- (br_if $do-once51
- (i32.eq
- (i32.load offset=12
- (local.get $3)
- )
- (local.get $5)
- )
- )
- (call $_abort)
- )
- )
- )
- (if
- (i32.eq
- (local.get $2)
- (local.get $3)
- )
- (block $block483
- (i32.store
- (i32.const 176)
- (i32.and
- (i32.load
- (i32.const 176)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $1)
- )
- (i32.const -1)
- )
- )
- )
- (br $label$break$L331)
- )
- )
- (block $do-once53
- (if
- (i32.eq
- (local.get $2)
- (local.get $0)
- )
- (local.set $15
- (i32.add
- (local.get $2)
- (i32.const 8)
- )
- )
- (block $block485
- (if
- (i32.lt_u
- (local.get $2)
- (local.get $4)
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $2)
- (i32.const 8)
- )
- )
- )
- (local.get $5)
- )
- (block $block488
- (local.set $15
- (local.get $0)
- )
- (br $do-once53)
- )
- )
- (call $_abort)
- )
- )
- )
- (i32.store offset=12
- (local.get $3)
- (local.get $2)
- )
- (i32.store
- (local.get $15)
- (local.get $3)
- )
- )
- (block $block489
- (local.set $6
- (i32.load offset=24
- (local.get $5)
- )
- )
- (block $do-once55
- (if
- (i32.eq
- (local.tee $0
- (i32.load offset=12
- (local.get $5)
- )
- )
- (local.get $5)
- )
- (block $block491
- (if
- (i32.eqz
- (local.tee $1
- (i32.load
- (local.tee $0
- (i32.add
- (local.tee $3
- (i32.add
- (local.get $5)
- (i32.const 16)
- )
- )
- (i32.const 4)
- )
- )
- )
- )
- )
- (if
- (local.tee $1
- (i32.load
- (local.get $3)
- )
- )
- (local.set $0
- (local.get $3)
- )
- (block $block494
- (local.set $12
- (i32.const 0)
- )
- (br $do-once55)
- )
- )
- )
- (loop $while-in58
- (if
- (local.tee $3
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $1)
- (i32.const 20)
- )
- )
- )
- )
- (block $block496
- (local.set $1
- (local.get $3)
- )
- (local.set $0
- (local.get $2)
- )
- (br $while-in58)
- )
- )
- (if
- (local.tee $3
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $1)
- (i32.const 16)
- )
- )
- )
- )
- (block $block498
- (local.set $1
- (local.get $3)
- )
- (local.set $0
- (local.get $2)
- )
- (br $while-in58)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $0)
- (local.get $4)
- )
- (call $_abort)
- (block $block500
- (i32.store
- (local.get $0)
- (i32.const 0)
- )
- (local.set $12
- (local.get $1)
- )
- )
- )
- )
- (block $block501
- (if
- (i32.lt_u
- (local.tee $2
- (i32.load offset=8
- (local.get $5)
- )
- )
- (local.get $4)
- )
- (call $_abort)
- )
- (if
- (i32.ne
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $2)
- (i32.const 12)
- )
- )
- )
- (local.get $5)
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $0)
- (i32.const 8)
- )
- )
- )
- (local.get $5)
- )
- (block $block505
- (i32.store
- (local.get $3)
- (local.get $0)
- )
- (i32.store
- (local.get $1)
- (local.get $2)
- )
- (local.set $12
- (local.get $0)
- )
- )
- (call $_abort)
- )
- )
- )
- )
- (br_if $label$break$L331
- (i32.eqz
- (local.get $6)
- )
- )
- (block $do-once59
- (if
- (i32.eq
- (local.get $5)
- (i32.load
- (local.tee $0
- (i32.add
- (i32.shl
- (local.tee $1
- (i32.load offset=28
- (local.get $5)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- )
- )
- (block $block507
- (i32.store
- (local.get $0)
- (local.get $12)
- )
- (br_if $do-once59
- (local.get $12)
- )
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $1)
- )
- (i32.const -1)
- )
- )
- )
- (br $label$break$L331)
- )
- (block $block508
- (if
- (i32.lt_u
- (local.get $6)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $6)
- (i32.const 16)
- )
- )
- )
- (local.get $5)
- )
- (i32.store
- (local.get $0)
- (local.get $12)
- )
- (i32.store offset=20
- (local.get $6)
- (local.get $12)
- )
- )
- (br_if $label$break$L331
- (i32.eqz
- (local.get $12)
- )
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $12)
- (local.tee $1
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (i32.store offset=24
- (local.get $12)
- (local.get $6)
- )
- (if
- (local.tee $3
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $5)
- (i32.const 16)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $3)
- (local.get $1)
- )
- (call $_abort)
- (block $block514
- (i32.store offset=16
- (local.get $12)
- (local.get $3)
- )
- (i32.store offset=24
- (local.get $3)
- (local.get $12)
- )
- )
- )
- )
- (br_if $label$break$L331
- (i32.eqz
- (local.tee $0
- (i32.load offset=4
- (local.get $0)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $0)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block $block516
- (i32.store offset=20
- (local.get $12)
- (local.get $0)
- )
- (i32.store offset=24
- (local.get $0)
- (local.get $12)
- )
- )
- )
- )
- )
- )
- (local.set $7
- (i32.add
- (local.get $11)
- (local.get $7)
- )
- )
- (i32.add
- (local.get $5)
- (local.get $11)
- )
- )
- (local.get $5)
- )
- )
- (i32.const 4)
- )
- )
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const -2)
- )
- )
- (i32.store offset=4
- (local.get $8)
- (i32.or
- (local.get $7)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $8)
- (local.get $7)
- )
- (local.get $7)
- )
- (local.set $0
- (i32.shr_u
- (local.get $7)
- (i32.const 3)
- )
- )
- (if
- (i32.lt_u
- (local.get $7)
- (i32.const 256)
- )
- (block $block518
- (local.set $3
- (i32.add
- (i32.shl
- (local.get $0)
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (block $do-once63
- (if
- (i32.and
- (local.tee $1
- (i32.load
- (i32.const 176)
- )
- )
- (local.tee $0
- (i32.shl
- (i32.const 1)
- (local.get $0)
- )
- )
- )
- (block $block520
- (if
- (i32.ge_u
- (local.tee $0
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
- )
- )
- )
- (i32.load
- (i32.const 192)
- )
- )
- (block $block522
- (local.set $16
- (local.get $1)
- )
- (local.set $10
- (local.get $0)
- )
- (br $do-once63)
- )
- )
- (call $_abort)
- )
- (block $block523
- (i32.store
- (i32.const 176)
- (i32.or
- (local.get $1)
- (local.get $0)
- )
- )
- (local.set $16
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
- )
- (local.set $10
- (local.get $3)
- )
- )
- )
- )
- (i32.store
- (local.get $16)
- (local.get $8)
- )
- (i32.store offset=12
- (local.get $10)
- (local.get $8)
- )
- (i32.store offset=8
- (local.get $8)
- (local.get $10)
- )
- (i32.store offset=12
- (local.get $8)
- (local.get $3)
- )
- (br $do-once48)
- )
- )
- (local.set $3
- (i32.add
- (i32.shl
- (local.tee $2
- (block $do-once65 (result i32)
- (if (result i32)
- (local.tee $0
- (i32.shr_u
- (local.get $7)
- (i32.const 8)
- )
- )
- (block $block525 (result i32)
- (drop
- (br_if $do-once65
- (i32.const 31)
- (i32.gt_u
- (local.get $7)
- (i32.const 16777215)
- )
- )
- )
- (i32.or
- (i32.and
- (i32.shr_u
- (local.get $7)
- (i32.add
- (local.tee $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (local.tee $0
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $1
- (i32.shl
- (local.get $0)
- (local.tee $3
- (i32.and
- (i32.shr_u
- (i32.add
- (local.get $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
- )
- )
- (local.get $3)
- )
- (local.tee $0
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $1
- (i32.shl
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.shr_u
- (i32.shl
- (local.get $1)
- (local.get $0)
- )
- (i32.const 15)
- )
- )
- )
- (i32.const 7)
- )
- )
- (i32.const 1)
- )
- (i32.shl
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (i32.const 0)
- )
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- (i32.store offset=28
- (local.get $8)
- (local.get $2)
- )
- (i32.store offset=4
- (local.tee $0
- (i32.add
- (local.get $8)
- (i32.const 16)
- )
- )
- (i32.const 0)
- )
- (i32.store
- (local.get $0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (local.tee $1
- (i32.load
- (i32.const 180)
- )
- )
- (local.tee $0
- (i32.shl
- (i32.const 1)
- (local.get $2)
- )
- )
- )
- )
- (block $block527
- (i32.store
- (i32.const 180)
- (i32.or
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.store
- (local.get $3)
- (local.get $8)
- )
- (i32.store offset=24
- (local.get $8)
- (local.get $3)
- )
- (i32.store offset=12
- (local.get $8)
- (local.get $8)
- )
- (i32.store offset=8
- (local.get $8)
- (local.get $8)
- )
- (br $do-once48)
- )
- )
- (local.set $2
- (i32.shl
- (local.get $7)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (local.get $2)
- (i32.const 1)
- )
- )
- (i32.eq
- (local.get $2)
- (i32.const 31)
- )
- )
- )
- )
- (local.set $0
- (i32.load
- (local.get $3)
- )
- )
- (block $__rjto$7
- (block $__rjti$7
- (loop $while-in68
- (br_if $__rjti$7
- (i32.eq
- (i32.and
- (i32.load offset=4
- (local.get $0)
- )
- (i32.const -8)
- )
- (local.get $7)
- )
- )
- (local.set $3
- (i32.shl
- (local.get $2)
- (i32.const 1)
- )
- )
- (if
- (local.tee $1
- (i32.load
- (local.tee $2
- (i32.add
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (local.get $2)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
- )
- )
- )
- (block $block529
- (local.set $2
- (local.get $3)
- )
- (local.set $0
- (local.get $1)
- )
- (br $while-in68)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $2)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block $block531
- (i32.store
- (local.get $2)
- (local.get $8)
- )
- (i32.store offset=24
- (local.get $8)
- (local.get $0)
- )
- (i32.store offset=12
- (local.get $8)
- (local.get $8)
- )
- (i32.store offset=8
- (local.get $8)
- (local.get $8)
- )
- (br $do-once48)
- )
- )
- (br $__rjto$7)
- )
- (if
- (i32.and
- (i32.ge_u
- (local.tee $2
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $0)
- (i32.const 8)
- )
- )
- )
- )
- (local.tee $1
- (i32.load
- (i32.const 192)
- )
- )
- )
- (i32.ge_u
- (local.get $0)
- (local.get $1)
- )
- )
- (block $block533
- (i32.store offset=12
- (local.get $2)
- (local.get $8)
- )
- (i32.store
- (local.get $3)
- (local.get $8)
- )
- (i32.store offset=8
- (local.get $8)
- (local.get $2)
- )
- (i32.store offset=12
- (local.get $8)
- (local.get $0)
- )
- (i32.store offset=24
- (local.get $8)
- (i32.const 0)
- )
- )
- (call $_abort)
- )
- )
- )
- )
- )
- (return
- (i32.add
- (local.get $9)
- (i32.const 8)
- )
- )
- )
- )
- )
- (loop $while-in70
- (block $while-out69
- (if
- (i32.le_u
- (local.tee $2
- (i32.load
- (local.get $4)
- )
- )
- (local.get $6)
- )
- (br_if $while-out69
- (i32.gt_u
- (local.tee $2
- (i32.add
- (local.get $2)
- (i32.load offset=4
- (local.get $4)
- )
- )
- )
- (local.get $6)
- )
- )
- )
- (local.set $4
- (i32.load offset=8
- (local.get $4)
- )
- )
- (br $while-in70)
- )
- )
- (local.set $10
- (i32.add
- (local.tee $4
- (i32.add
- (local.get $2)
- (i32.const -47)
- )
- )
- (i32.const 8)
- )
- )
- (local.set $12
- (i32.add
- (local.tee $11
- (select
- (local.get $6)
- (local.tee $4
- (i32.add
- (local.get $4)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (local.get $10)
- )
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (local.get $10)
- (i32.const 7)
- )
- )
- )
- )
- (i32.lt_u
- (local.get $4)
- (local.tee $10
- (i32.add
- (local.get $6)
- (i32.const 16)
- )
- )
- )
- )
- )
- (i32.const 8)
- )
- )
- (i32.store
- (i32.const 200)
- (local.tee $5
- (i32.add
- (local.get $1)
- (local.tee $4
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (local.tee $4
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- )
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (local.get $4)
- (i32.const 7)
- )
- )
- )
- )
- )
- )
- (i32.store
- (i32.const 188)
- (local.tee $4
- (i32.sub
- (i32.add
- (local.get $3)
- (i32.const -40)
- )
- (local.get $4)
- )
- )
- )
- (i32.store offset=4
- (local.get $5)
- (i32.or
- (local.get $4)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (i32.add
- (local.get $5)
- (local.get $4)
- )
- (i32.const 40)
- )
- (i32.store
- (i32.const 204)
- (i32.load
- (i32.const 664)
- )
- )
- (i32.store
- (local.tee $4
- (i32.add
- (local.get $11)
- (i32.const 4)
- )
- )
- (i32.const 27)
- )
- (i32.store
- (local.get $12)
- (i32.load
- (i32.const 624)
- )
- )
- (i32.store offset=4
- (local.get $12)
- (i32.load
- (i32.const 628)
- )
- )
- (i32.store offset=8
- (local.get $12)
- (i32.load
- (i32.const 632)
- )
- )
- (i32.store offset=12
- (local.get $12)
- (i32.load
- (i32.const 636)
- )
- )
- (i32.store
- (i32.const 624)
- (local.get $1)
- )
- (i32.store
- (i32.const 628)
- (local.get $3)
- )
- (i32.store
- (i32.const 636)
- (i32.const 0)
- )
- (i32.store
- (i32.const 632)
- (local.get $12)
- )
- (local.set $1
- (i32.add
- (local.get $11)
- (i32.const 24)
- )
- )
- (loop $while-in72
- (i32.store
- (local.tee $1
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (i32.const 7)
- )
- (br_if $while-in72
- (i32.lt_u
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- (local.get $2)
- )
- )
- )
- (if
- (i32.ne
- (local.get $11)
- (local.get $6)
- )
- (block $block536
- (i32.store
- (local.get $4)
- (i32.and
- (i32.load
- (local.get $4)
- )
- (i32.const -2)
- )
- )
- (i32.store offset=4
- (local.get $6)
- (i32.or
- (local.tee $5
- (i32.sub
- (local.get $11)
- (local.get $6)
- )
- )
- (i32.const 1)
- )
- )
- (i32.store
- (local.get $11)
- (local.get $5)
- )
- (local.set $1
- (i32.shr_u
- (local.get $5)
- (i32.const 3)
- )
- )
- (if
- (i32.lt_u
- (local.get $5)
- (i32.const 256)
- )
- (block $block538
- (local.set $2
- (i32.add
- (i32.shl
- (local.get $1)
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (if
- (i32.and
- (local.tee $3
- (i32.load
- (i32.const 176)
- )
- )
- (local.tee $1
- (i32.shl
- (i32.const 1)
- (local.get $1)
- )
- )
- )
- (if
- (i32.lt_u
- (local.tee $1
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $2)
- (i32.const 8)
- )
- )
- )
- )
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block $block541
- (local.set $17
- (local.get $3)
- )
- (local.set $7
- (local.get $1)
- )
- )
- )
- (block $block542
- (i32.store
- (i32.const 176)
- (i32.or
- (local.get $3)
- (local.get $1)
- )
- )
- (local.set $17
- (i32.add
- (local.get $2)
- (i32.const 8)
- )
- )
- (local.set $7
- (local.get $2)
- )
- )
- )
- (i32.store
- (local.get $17)
- (local.get $6)
- )
- (i32.store offset=12
- (local.get $7)
- (local.get $6)
- )
- (i32.store offset=8
- (local.get $6)
- (local.get $7)
- )
- (i32.store offset=12
- (local.get $6)
- (local.get $2)
- )
- (br $do-once40)
- )
- )
- (local.set $2
- (i32.add
- (i32.shl
- (local.tee $4
- (if (result i32)
- (local.tee $1
- (i32.shr_u
- (local.get $5)
- (i32.const 8)
- )
- )
- (if (result i32)
- (i32.gt_u
- (local.get $5)
- (i32.const 16777215)
- )
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (local.get $5)
- (i32.add
- (local.tee $1
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (local.tee $1
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $3
- (i32.shl
- (local.get $1)
- (local.tee $2
- (i32.and
- (i32.shr_u
- (i32.add
- (local.get $1)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
- )
- )
- (local.get $2)
- )
- (local.tee $1
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $3
- (i32.shl
- (local.get $3)
- (local.get $1)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.shr_u
- (i32.shl
- (local.get $3)
- (local.get $1)
- )
- (i32.const 15)
- )
- )
- )
- (i32.const 7)
- )
- )
- (i32.const 1)
- )
- (i32.shl
- (local.get $1)
- (i32.const 1)
- )
- )
- )
- (i32.const 0)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- (i32.store offset=28
- (local.get $6)
- (local.get $4)
- )
- (i32.store offset=20
- (local.get $6)
- (i32.const 0)
- )
- (i32.store
- (local.get $10)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (local.tee $3
- (i32.load
- (i32.const 180)
- )
- )
- (local.tee $1
- (i32.shl
- (i32.const 1)
- (local.get $4)
- )
- )
- )
- )
- (block $block546
- (i32.store
- (i32.const 180)
- (i32.or
- (local.get $3)
- (local.get $1)
- )
- )
- (i32.store
- (local.get $2)
- (local.get $6)
- )
- (i32.store offset=24
- (local.get $6)
- (local.get $2)
- )
- (i32.store offset=12
- (local.get $6)
- (local.get $6)
- )
- (i32.store offset=8
- (local.get $6)
- (local.get $6)
- )
- (br $do-once40)
- )
- )
- (local.set $4
- (i32.shl
- (local.get $5)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (local.get $4)
- (i32.const 1)
- )
- )
- (i32.eq
- (local.get $4)
- (i32.const 31)
- )
- )
- )
- )
- (local.set $1
- (i32.load
- (local.get $2)
- )
- )
- (block $__rjto$9
- (block $__rjti$9
- (loop $while-in74
- (br_if $__rjti$9
- (i32.eq
- (i32.and
- (i32.load offset=4
- (local.get $1)
- )
- (i32.const -8)
- )
- (local.get $5)
- )
- )
- (local.set $2
- (i32.shl
- (local.get $4)
- (i32.const 1)
- )
- )
- (if
- (local.tee $3
- (i32.load
- (local.tee $4
- (i32.add
- (i32.add
- (local.get $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (local.get $4)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
- )
- )
- )
- (block $block548
- (local.set $4
- (local.get $2)
- )
- (local.set $1
- (local.get $3)
- )
- (br $while-in74)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $4)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block $block550
- (i32.store
- (local.get $4)
- (local.get $6)
- )
- (i32.store offset=24
- (local.get $6)
- (local.get $1)
- )
- (i32.store offset=12
- (local.get $6)
- (local.get $6)
- )
- (i32.store offset=8
- (local.get $6)
- (local.get $6)
- )
- (br $do-once40)
- )
- )
- (br $__rjto$9)
- )
- (if
- (i32.and
- (i32.ge_u
- (local.tee $4
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- )
- )
- (local.tee $3
- (i32.load
- (i32.const 192)
- )
- )
- )
- (i32.ge_u
- (local.get $1)
- (local.get $3)
- )
- )
- (block $block552
- (i32.store offset=12
- (local.get $4)
- (local.get $6)
- )
- (i32.store
- (local.get $2)
- (local.get $6)
- )
- (i32.store offset=8
- (local.get $6)
- (local.get $4)
- )
- (i32.store offset=12
- (local.get $6)
- (local.get $1)
- )
- (i32.store offset=24
- (local.get $6)
- (i32.const 0)
- )
- )
- (call $_abort)
- )
- )
- )
- )
- )
- (block $block553
- (if
- (i32.or
- (i32.eqz
- (local.tee $2
- (i32.load
- (i32.const 192)
- )
- )
- )
- (i32.lt_u
- (local.get $1)
- (local.get $2)
- )
- )
- (i32.store
- (i32.const 192)
- (local.get $1)
- )
- )
- (i32.store
- (i32.const 624)
- (local.get $1)
- )
- (i32.store
- (i32.const 628)
- (local.get $3)
- )
- (i32.store
- (i32.const 636)
- (i32.const 0)
- )
- (i32.store
- (i32.const 212)
- (i32.load
- (i32.const 648)
- )
- )
- (i32.store
- (i32.const 208)
- (i32.const -1)
- )
- (local.set $2
- (i32.const 0)
- )
- (loop $while-in43
- (i32.store offset=12
- (local.tee $4
- (i32.add
- (i32.shl
- (local.get $2)
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (local.get $4)
- )
- (i32.store offset=8
- (local.get $4)
- (local.get $4)
- )
- (br_if $while-in43
- (i32.ne
- (local.tee $2
- (i32.add
- (local.get $2)
- (i32.const 1)
- )
- )
- (i32.const 32)
- )
- )
- )
- (i32.store
- (i32.const 200)
- (local.tee $2
- (i32.add
- (local.get $1)
- (local.tee $1
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (local.tee $1
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- )
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (local.get $1)
- (i32.const 7)
- )
- )
- )
- )
- )
- )
- (i32.store
- (i32.const 188)
- (local.tee $1
- (i32.sub
- (i32.add
- (local.get $3)
- (i32.const -40)
- )
- (local.get $1)
- )
- )
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $1)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (i32.add
- (local.get $2)
- (local.get $1)
- )
- (i32.const 40)
- )
- (i32.store
- (i32.const 204)
- (i32.load
- (i32.const 664)
- )
- )
- )
- )
- )
- (br_if $folding-inner0
- (i32.gt_u
- (local.tee $1
- (i32.load
- (i32.const 188)
- )
- )
- (local.get $0)
- )
- )
- )
- (i32.store
- (call $___errno_location)
- (i32.const 12)
- )
- (return
- (i32.const 0)
- )
- )
- (i32.store
- (i32.const 188)
- (local.tee $3
- (i32.sub
- (local.get $1)
- (local.get $0)
- )
- )
- )
- (i32.store
- (i32.const 200)
- (local.tee $1
- (i32.add
- (local.tee $2
- (i32.load
- (i32.const 200)
- )
- )
- (local.get $0)
- )
- )
- )
- (i32.store offset=4
- (local.get $1)
- (i32.or
- (local.get $3)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $0)
- (i32.const 3)
- )
- )
- (i32.add
- (local.get $2)
- (i32.const 8)
- )
- )
- (func $_free (param $0 i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
- (local $15 i32)
- (if
- (i32.eqz
- (local.get $0)
- )
- (return)
- )
- (if
- (i32.lt_u
- (local.tee $1
- (i32.add
- (local.get $0)
- (i32.const -8)
- )
- )
- (local.tee $11
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (local.tee $5
- (i32.and
- (local.tee $7
- (i32.load
- (i32.add
- (local.get $0)
- (i32.const -4)
- )
- )
- )
- (i32.const 3)
- )
- )
- (i32.const 1)
- )
- (call $_abort)
- )
- (local.set $8
- (i32.add
- (local.get $1)
- (local.tee $0
- (i32.and
- (local.get $7)
- (i32.const -8)
- )
- )
- )
- )
- (block $do-once
- (if
- (i32.and
- (local.get $7)
- (i32.const 1)
- )
- (block $block
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- )
- (block $block558
- (local.set $7
- (i32.load
- (local.get $1)
- )
- )
- (if
- (i32.eqz
- (local.get $5)
- )
- (return)
- )
- (if
- (i32.lt_u
- (local.tee $1
- (i32.add
- (local.get $1)
- (i32.sub
- (i32.const 0)
- (local.get $7)
- )
- )
- )
- (local.get $11)
- )
- (call $_abort)
- )
- (local.set $0
- (i32.add
- (local.get $7)
- (local.get $0)
- )
- )
- (if
- (i32.eq
- (local.get $1)
- (i32.load
- (i32.const 196)
- )
- )
- (block $block562
- (if
- (i32.ne
- (i32.and
- (local.tee $3
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $8)
- (i32.const 4)
- )
- )
- )
- )
- (i32.const 3)
- )
- (i32.const 3)
- )
- (block $block564
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- (br $do-once)
- )
- )
- (i32.store
- (i32.const 184)
- (local.get $0)
- )
- (i32.store
- (local.get $2)
- (i32.and
- (local.get $3)
- (i32.const -2)
- )
- )
- (i32.store offset=4
- (local.get $1)
- (i32.or
- (local.get $0)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $1)
- (local.get $0)
- )
- (local.get $0)
- )
- (return)
- )
- )
- (local.set $5
- (i32.shr_u
- (local.get $7)
- (i32.const 3)
- )
- )
- (if
- (i32.lt_u
- (local.get $7)
- (i32.const 256)
- )
- (block $block566
- (local.set $6
- (i32.load offset=12
- (local.get $1)
- )
- )
- (if
- (i32.ne
- (local.tee $2
- (i32.load offset=8
- (local.get $1)
- )
- )
- (local.tee $3
- (i32.add
- (i32.shl
- (local.get $5)
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- )
- (block $block568
- (if
- (i32.lt_u
- (local.get $2)
- (local.get $11)
- )
- (call $_abort)
- )
- (if
- (i32.ne
- (i32.load offset=12
- (local.get $2)
- )
- (local.get $1)
- )
- (call $_abort)
- )
- )
- )
- (if
- (i32.eq
- (local.get $6)
- (local.get $2)
- )
- (block $block572
- (i32.store
- (i32.const 176)
- (i32.and
- (i32.load
- (i32.const 176)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $5)
- )
- (i32.const -1)
- )
- )
- )
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- (br $do-once)
- )
- )
- (if
- (i32.eq
- (local.get $6)
- (local.get $3)
- )
- (local.set $4
- (i32.add
- (local.get $6)
- (i32.const 8)
- )
- )
- (block $block574
- (if
- (i32.lt_u
- (local.get $6)
- (local.get $11)
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $6)
- (i32.const 8)
- )
- )
- )
- (local.get $1)
- )
- (local.set $4
- (local.get $3)
- )
- (call $_abort)
- )
- )
- )
- (i32.store offset=12
- (local.get $2)
- (local.get $6)
- )
- (i32.store
- (local.get $4)
- (local.get $2)
- )
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- (br $do-once)
- )
- )
- (local.set $12
- (i32.load offset=24
- (local.get $1)
- )
- )
- (block $do-once0
- (if
- (i32.eq
- (local.tee $4
- (i32.load offset=12
- (local.get $1)
- )
- )
- (local.get $1)
- )
- (block $block578
- (if
- (i32.eqz
- (local.tee $5
- (i32.load
- (local.tee $4
- (i32.add
- (local.tee $7
- (i32.add
- (local.get $1)
- (i32.const 16)
- )
- )
- (i32.const 4)
- )
- )
- )
- )
- )
- (if
- (local.tee $5
- (i32.load
- (local.get $7)
- )
- )
- (local.set $4
- (local.get $7)
- )
- (block $block581
- (local.set $6
- (i32.const 0)
- )
- (br $do-once0)
- )
- )
- )
- (loop $while-in
- (if
- (local.tee $7
- (i32.load
- (local.tee $10
- (i32.add
- (local.get $5)
- (i32.const 20)
- )
- )
- )
- )
- (block $block583
- (local.set $5
- (local.get $7)
- )
- (local.set $4
- (local.get $10)
- )
- (br $while-in)
- )
- )
- (if
- (local.tee $7
- (i32.load
- (local.tee $10
- (i32.add
- (local.get $5)
- (i32.const 16)
- )
- )
- )
- )
- (block $block585
- (local.set $5
- (local.get $7)
- )
- (local.set $4
- (local.get $10)
- )
- (br $while-in)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $4)
- (local.get $11)
- )
- (call $_abort)
- (block $block587
- (i32.store
- (local.get $4)
- (i32.const 0)
- )
- (local.set $6
- (local.get $5)
- )
- )
- )
- )
- (block $block588
- (if
- (i32.lt_u
- (local.tee $10
- (i32.load offset=8
- (local.get $1)
- )
- )
- (local.get $11)
- )
- (call $_abort)
- )
- (if
- (i32.ne
- (i32.load
- (local.tee $7
- (i32.add
- (local.get $10)
- (i32.const 12)
- )
- )
- )
- (local.get $1)
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $5
- (i32.add
- (local.get $4)
- (i32.const 8)
- )
- )
- )
- (local.get $1)
- )
- (block $block592
- (i32.store
- (local.get $7)
- (local.get $4)
- )
- (i32.store
- (local.get $5)
- (local.get $10)
- )
- (local.set $6
- (local.get $4)
- )
- )
- (call $_abort)
- )
- )
- )
- )
- (if
- (local.get $12)
- (block $block594
- (if
- (i32.eq
- (local.get $1)
- (i32.load
- (local.tee $4
- (i32.add
- (i32.shl
- (local.tee $5
- (i32.load offset=28
- (local.get $1)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- )
- )
- (block $block596
- (i32.store
- (local.get $4)
- (local.get $6)
- )
- (if
- (i32.eqz
- (local.get $6)
- )
- (block $block598
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $5)
- )
- (i32.const -1)
- )
- )
- )
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- (br $do-once)
- )
- )
- )
- (block $block599
- (if
- (i32.lt_u
- (local.get $12)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $4
- (i32.add
- (local.get $12)
- (i32.const 16)
- )
- )
- )
- (local.get $1)
- )
- (i32.store
- (local.get $4)
- (local.get $6)
- )
- (i32.store offset=20
- (local.get $12)
- (local.get $6)
- )
- )
- (if
- (i32.eqz
- (local.get $6)
- )
- (block $block603
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- (br $do-once)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $6)
- (local.tee $5
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (i32.store offset=24
- (local.get $6)
- (local.get $12)
- )
- (if
- (local.tee $7
- (i32.load
- (local.tee $4
- (i32.add
- (local.get $1)
- (i32.const 16)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $7)
- (local.get $5)
- )
- (call $_abort)
- (block $block607
- (i32.store offset=16
- (local.get $6)
- (local.get $7)
- )
- (i32.store offset=24
- (local.get $7)
- (local.get $6)
- )
- )
- )
- )
- (if
- (local.tee $4
- (i32.load offset=4
- (local.get $4)
- )
- )
- (if
- (i32.lt_u
- (local.get $4)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block $block610
- (i32.store offset=20
- (local.get $6)
- (local.get $4)
- )
- (i32.store offset=24
- (local.get $4)
- (local.get $6)
- )
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- )
- )
- (block $block611
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- )
- )
- )
- (block $block612
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- )
- )
- )
- )
- )
- (if
- (i32.ge_u
- (local.get $2)
- (local.get $8)
- )
- (call $_abort)
- )
- (if
- (i32.eqz
- (i32.and
- (local.tee $1
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $8)
- (i32.const 4)
- )
- )
- )
- )
- (i32.const 1)
- )
- )
- (call $_abort)
- )
- (if
- (i32.and
- (local.get $1)
- (i32.const 2)
- )
- (block $block616
- (i32.store
- (local.get $0)
- (i32.and
- (local.get $1)
- (i32.const -2)
- )
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $3)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $2)
- (local.get $3)
- )
- (local.get $3)
- )
- )
- (block $block617
- (if
- (i32.eq
- (local.get $8)
- (i32.load
- (i32.const 200)
- )
- )
- (block $block619
- (i32.store
- (i32.const 188)
- (local.tee $0
- (i32.add
- (i32.load
- (i32.const 188)
- )
- (local.get $3)
- )
- )
- )
- (i32.store
- (i32.const 200)
- (local.get $2)
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $0)
- (i32.const 1)
- )
- )
- (if
- (i32.ne
- (local.get $2)
- (i32.load
- (i32.const 196)
- )
- )
- (return)
- )
- (i32.store
- (i32.const 196)
- (i32.const 0)
- )
- (i32.store
- (i32.const 184)
- (i32.const 0)
- )
- (return)
- )
- )
- (if
- (i32.eq
- (local.get $8)
- (i32.load
- (i32.const 196)
- )
- )
- (block $block622
- (i32.store
- (i32.const 184)
- (local.tee $0
- (i32.add
- (i32.load
- (i32.const 184)
- )
- (local.get $3)
- )
- )
- )
- (i32.store
- (i32.const 196)
- (local.get $2)
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $0)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $2)
- (local.get $0)
- )
- (local.get $0)
- )
- (return)
- )
- )
- (local.set $5
- (i32.add
- (i32.and
- (local.get $1)
- (i32.const -8)
- )
- (local.get $3)
- )
- )
- (local.set $3
- (i32.shr_u
- (local.get $1)
- (i32.const 3)
- )
- )
- (block $do-once4
- (if
- (i32.lt_u
- (local.get $1)
- (i32.const 256)
- )
- (block $block624
- (local.set $4
- (i32.load offset=12
- (local.get $8)
- )
- )
- (if
- (i32.ne
- (local.tee $1
- (i32.load offset=8
- (local.get $8)
- )
- )
- (local.tee $0
- (i32.add
- (i32.shl
- (local.get $3)
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- )
- (block $block626
- (if
- (i32.lt_u
- (local.get $1)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.ne
- (i32.load offset=12
- (local.get $1)
- )
- (local.get $8)
- )
- (call $_abort)
- )
- )
- )
- (if
- (i32.eq
- (local.get $4)
- (local.get $1)
- )
- (block $block630
- (i32.store
- (i32.const 176)
- (i32.and
- (i32.load
- (i32.const 176)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $3)
- )
- (i32.const -1)
- )
- )
- )
- (br $do-once4)
- )
- )
- (if
- (i32.eq
- (local.get $4)
- (local.get $0)
- )
- (local.set $14
- (i32.add
- (local.get $4)
- (i32.const 8)
- )
- )
- (block $block632
- (if
- (i32.lt_u
- (local.get $4)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $4)
- (i32.const 8)
- )
- )
- )
- (local.get $8)
- )
- (local.set $14
- (local.get $0)
- )
- (call $_abort)
- )
- )
- )
- (i32.store offset=12
- (local.get $1)
- (local.get $4)
- )
- (i32.store
- (local.get $14)
- (local.get $1)
- )
- )
- (block $block635
- (local.set $6
- (i32.load offset=24
- (local.get $8)
- )
- )
- (block $do-once6
- (if
- (i32.eq
- (local.tee $0
- (i32.load offset=12
- (local.get $8)
- )
- )
- (local.get $8)
- )
- (block $block637
- (if
- (i32.eqz
- (local.tee $3
- (i32.load
- (local.tee $0
- (i32.add
- (local.tee $1
- (i32.add
- (local.get $8)
- (i32.const 16)
- )
- )
- (i32.const 4)
- )
- )
- )
- )
- )
- (if
- (local.tee $3
- (i32.load
- (local.get $1)
- )
- )
- (local.set $0
- (local.get $1)
- )
- (block $block640
- (local.set $9
- (i32.const 0)
- )
- (br $do-once6)
- )
- )
- )
- (loop $while-in9
- (if
- (local.tee $1
- (i32.load
- (local.tee $4
- (i32.add
- (local.get $3)
- (i32.const 20)
- )
- )
- )
- )
- (block $block642
- (local.set $3
- (local.get $1)
- )
- (local.set $0
- (local.get $4)
- )
- (br $while-in9)
- )
- )
- (if
- (local.tee $1
- (i32.load
- (local.tee $4
- (i32.add
- (local.get $3)
- (i32.const 16)
- )
- )
- )
- )
- (block $block644
- (local.set $3
- (local.get $1)
- )
- (local.set $0
- (local.get $4)
- )
- (br $while-in9)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $0)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block $block646
- (i32.store
- (local.get $0)
- (i32.const 0)
- )
- (local.set $9
- (local.get $3)
- )
- )
- )
- )
- (block $block647
- (if
- (i32.lt_u
- (local.tee $4
- (i32.load offset=8
- (local.get $8)
- )
- )
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.ne
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $4)
- (i32.const 12)
- )
- )
- )
- (local.get $8)
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $0)
- (i32.const 8)
- )
- )
- )
- (local.get $8)
- )
- (block $block651
- (i32.store
- (local.get $1)
- (local.get $0)
- )
- (i32.store
- (local.get $3)
- (local.get $4)
- )
- (local.set $9
- (local.get $0)
- )
- )
- (call $_abort)
- )
- )
- )
- )
- (if
- (local.get $6)
- (block $block653
- (if
- (i32.eq
- (local.get $8)
- (i32.load
- (local.tee $0
- (i32.add
- (i32.shl
- (local.tee $3
- (i32.load offset=28
- (local.get $8)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- )
- )
- (block $block655
- (i32.store
- (local.get $0)
- (local.get $9)
- )
- (if
- (i32.eqz
- (local.get $9)
- )
- (block $block657
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $3)
- )
- (i32.const -1)
- )
- )
- )
- (br $do-once4)
- )
- )
- )
- (block $block658
- (if
- (i32.lt_u
- (local.get $6)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $6)
- (i32.const 16)
- )
- )
- )
- (local.get $8)
- )
- (i32.store
- (local.get $0)
- (local.get $9)
- )
- (i32.store offset=20
- (local.get $6)
- (local.get $9)
- )
- )
- (br_if $do-once4
- (i32.eqz
- (local.get $9)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $9)
- (local.tee $3
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (i32.store offset=24
- (local.get $9)
- (local.get $6)
- )
- (if
- (local.tee $1
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $8)
- (i32.const 16)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $1)
- (local.get $3)
- )
- (call $_abort)
- (block $block664
- (i32.store offset=16
- (local.get $9)
- (local.get $1)
- )
- (i32.store offset=24
- (local.get $1)
- (local.get $9)
- )
- )
- )
- )
- (if
- (local.tee $0
- (i32.load offset=4
- (local.get $0)
- )
- )
- (if
- (i32.lt_u
- (local.get $0)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block $block667
- (i32.store offset=20
- (local.get $9)
- (local.get $0)
- )
- (i32.store offset=24
- (local.get $0)
- (local.get $9)
- )
- )
- )
- )
- )
- )
- )
- )
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $5)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $2)
- (local.get $5)
- )
- (local.get $5)
- )
- (if
- (i32.eq
- (local.get $2)
- (i32.load
- (i32.const 196)
- )
- )
- (block $block669
- (i32.store
- (i32.const 184)
- (local.get $5)
- )
- (return)
- )
- (local.set $3
- (local.get $5)
- )
- )
- )
- )
- (local.set $0
- (i32.shr_u
- (local.get $3)
- (i32.const 3)
- )
- )
- (if
- (i32.lt_u
- (local.get $3)
- (i32.const 256)
- )
- (block $block671
- (local.set $1
- (i32.add
- (i32.shl
- (local.get $0)
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (if
- (i32.and
- (local.tee $3
- (i32.load
- (i32.const 176)
- )
- )
- (local.tee $0
- (i32.shl
- (i32.const 1)
- (local.get $0)
- )
- )
- )
- (if
- (i32.lt_u
- (local.tee $0
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- )
- )
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block $block674
- (local.set $15
- (local.get $3)
- )
- (local.set $13
- (local.get $0)
- )
- )
- )
- (block $block675
- (i32.store
- (i32.const 176)
- (i32.or
- (local.get $3)
- (local.get $0)
- )
- )
- (local.set $15
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- (local.set $13
- (local.get $1)
- )
- )
- )
- (i32.store
- (local.get $15)
- (local.get $2)
- )
- (i32.store offset=12
- (local.get $13)
- (local.get $2)
- )
- (i32.store offset=8
- (local.get $2)
- (local.get $13)
- )
- (i32.store offset=12
- (local.get $2)
- (local.get $1)
- )
- (return)
- )
- )
- (local.set $4
- (i32.add
- (i32.shl
- (local.tee $5
- (if (result i32)
- (local.tee $0
- (i32.shr_u
- (local.get $3)
- (i32.const 8)
- )
- )
- (if (result i32)
- (i32.gt_u
- (local.get $3)
- (i32.const 16777215)
- )
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (local.get $3)
- (i32.add
- (local.tee $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (local.tee $0
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $1
- (i32.shl
- (local.get $0)
- (local.tee $4
- (i32.and
- (i32.shr_u
- (i32.add
- (local.get $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
- )
- )
- (local.get $4)
- )
- (local.tee $0
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $1
- (i32.shl
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.shr_u
- (i32.shl
- (local.get $1)
- (local.get $0)
- )
- (i32.const 15)
- )
- )
- )
- (i32.const 7)
- )
- )
- (i32.const 1)
- )
- (i32.shl
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (i32.const 0)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- (i32.store offset=28
- (local.get $2)
- (local.get $5)
- )
- (i32.store offset=20
- (local.get $2)
- (i32.const 0)
- )
- (i32.store offset=16
- (local.get $2)
- (i32.const 0)
- )
- (block $do-once12
- (if
- (i32.and
- (local.tee $1
- (i32.load
- (i32.const 180)
- )
- )
- (local.tee $0
- (i32.shl
- (i32.const 1)
- (local.get $5)
- )
- )
- )
- (block $block679
- (local.set $5
- (i32.shl
- (local.get $3)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (local.get $5)
- (i32.const 1)
- )
- )
- (i32.eq
- (local.get $5)
- (i32.const 31)
- )
- )
- )
- )
- (local.set $0
- (i32.load
- (local.get $4)
- )
- )
- (block $__rjto$1
- (block $__rjti$1
- (loop $while-in15
- (br_if $__rjti$1
- (i32.eq
- (i32.and
- (i32.load offset=4
- (local.get $0)
- )
- (i32.const -8)
- )
- (local.get $3)
- )
- )
- (local.set $4
- (i32.shl
- (local.get $5)
- (i32.const 1)
- )
- )
- (if
- (local.tee $1
- (i32.load
- (local.tee $5
- (i32.add
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (local.get $5)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
- )
- )
- )
- (block $block681
- (local.set $5
- (local.get $4)
- )
- (local.set $0
- (local.get $1)
- )
- (br $while-in15)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $5)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block $block683
- (i32.store
- (local.get $5)
- (local.get $2)
- )
- (i32.store offset=24
- (local.get $2)
- (local.get $0)
- )
- (i32.store offset=12
- (local.get $2)
- (local.get $2)
- )
- (i32.store offset=8
- (local.get $2)
- (local.get $2)
- )
- (br $do-once12)
- )
- )
- (br $__rjto$1)
- )
- (if
- (i32.and
- (i32.ge_u
- (local.tee $4
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $0)
- (i32.const 8)
- )
- )
- )
- )
- (local.tee $3
- (i32.load
- (i32.const 192)
- )
- )
- )
- (i32.ge_u
- (local.get $0)
- (local.get $3)
- )
- )
- (block $block685
- (i32.store offset=12
- (local.get $4)
- (local.get $2)
- )
- (i32.store
- (local.get $1)
- (local.get $2)
- )
- (i32.store offset=8
- (local.get $2)
- (local.get $4)
- )
- (i32.store offset=12
- (local.get $2)
- (local.get $0)
- )
- (i32.store offset=24
- (local.get $2)
- (i32.const 0)
- )
- )
- (call $_abort)
- )
- )
- )
- (block $block686
- (i32.store
- (i32.const 180)
- (i32.or
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.store
- (local.get $4)
- (local.get $2)
- )
- (i32.store offset=24
- (local.get $2)
- (local.get $4)
- )
- (i32.store offset=12
- (local.get $2)
- (local.get $2)
- )
- (i32.store offset=8
- (local.get $2)
- (local.get $2)
- )
- )
- )
- )
- (i32.store
- (i32.const 208)
- (local.tee $0
- (i32.add
- (i32.load
- (i32.const 208)
- )
- (i32.const -1)
- )
- )
- )
- (if
- (local.get $0)
- (return)
- (local.set $0
- (i32.const 632)
- )
- )
- (loop $while-in17
- (local.set $0
- (i32.add
- (local.tee $3
- (i32.load
- (local.get $0)
- )
- )
- (i32.const 8)
- )
- )
- (br_if $while-in17
- (local.get $3)
- )
- )
- (i32.store
- (i32.const 208)
- (i32.const -1)
- )
- )
- (func $runPostSets
- (nop)
- )
- (func $_i64Subtract (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (global.set $tempRet0
- (i32.sub
- (i32.sub
- (local.get $1)
- (local.get $3)
- )
- (i32.gt_u
- (local.get $2)
- (local.get $0)
- )
- )
- )
- (i32.sub
- (local.get $0)
- (local.get $2)
- )
- )
- (func $_i64Add (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (local $4 i32)
- (global.set $tempRet0
- (i32.add
- (i32.add
- (local.get $1)
- (local.get $3)
- )
- (i32.lt_u
- (local.tee $4
- (i32.add
- (local.get $0)
- (local.get $2)
- )
- )
- (local.get $0)
- )
- )
- )
- (local.get $4)
- )
- (func $_memset (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local.set $4
- (i32.add
- (local.get $0)
- (local.get $2)
- )
- )
- (if
- (i32.ge_s
- (local.get $2)
- (i32.const 20)
- )
- (block $block
- (local.set $1
- (i32.and
- (local.get $1)
- (i32.const 255)
- )
- )
- (if
- (local.tee $3
- (i32.and
- (local.get $0)
- (i32.const 3)
- )
- )
- (block $block689
- (local.set $3
- (i32.sub
- (i32.add
- (local.get $0)
- (i32.const 4)
- )
- (local.get $3)
- )
- )
- (loop $while-in
- (if
- (i32.lt_s
- (local.get $0)
- (local.get $3)
- )
- (block $block691
- (i32.store8
- (local.get $0)
- (local.get $1)
- )
- (local.set $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- (br $while-in)
- )
- )
- )
- )
- )
- (local.set $3
- (i32.or
- (i32.or
- (i32.or
- (local.get $1)
- (i32.shl
- (local.get $1)
- (i32.const 8)
- )
- )
- (i32.shl
- (local.get $1)
- (i32.const 16)
- )
- )
- (i32.shl
- (local.get $1)
- (i32.const 24)
- )
- )
- )
- (local.set $5
- (i32.and
- (local.get $4)
- (i32.const -4)
- )
- )
- (loop $while-in1
- (if
- (i32.lt_s
- (local.get $0)
- (local.get $5)
- )
- (block $block693
- (i32.store
- (local.get $0)
- (local.get $3)
- )
- (local.set $0
- (i32.add
- (local.get $0)
- (i32.const 4)
- )
- )
- (br $while-in1)
- )
- )
- )
- )
- )
- (loop $while-in3
- (if
- (i32.lt_s
- (local.get $0)
- (local.get $4)
- )
- (block $block695
- (i32.store8
- (local.get $0)
- (local.get $1)
- )
- (local.set $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- (br $while-in3)
- )
- )
- )
- (i32.sub
- (local.get $0)
- (local.get $2)
- )
- )
- (func $_bitshift64Lshr (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (if
- (i32.lt_s
- (local.get $2)
- (i32.const 32)
- )
- (block $block
- (global.set $tempRet0
- (i32.shr_u
- (local.get $1)
- (local.get $2)
- )
- )
- (return
- (i32.or
- (i32.shr_u
- (local.get $0)
- (local.get $2)
- )
- (i32.shl
- (i32.and
- (local.get $1)
- (i32.sub
- (i32.shl
- (i32.const 1)
- (local.get $2)
- )
- (i32.const 1)
- )
- )
- (i32.sub
- (i32.const 32)
- (local.get $2)
- )
- )
- )
- )
- )
- )
- (global.set $tempRet0
- (i32.const 0)
- )
- (i32.shr_u
- (local.get $1)
- (i32.sub
- (local.get $2)
- (i32.const 32)
- )
- )
- )
- (func $_bitshift64Shl (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (if
- (i32.lt_s
- (local.get $2)
- (i32.const 32)
- )
- (block $block
- (global.set $tempRet0
- (i32.or
- (i32.shl
- (local.get $1)
- (local.get $2)
- )
- (i32.shr_u
- (i32.and
- (local.get $0)
- (i32.shl
- (i32.sub
- (i32.shl
- (i32.const 1)
- (local.get $2)
- )
- (i32.const 1)
- )
- (i32.sub
- (i32.const 32)
- (local.get $2)
- )
- )
- )
- (i32.sub
- (i32.const 32)
- (local.get $2)
- )
- )
- )
- )
- (return
- (i32.shl
- (local.get $0)
- (local.get $2)
- )
- )
- )
- )
- (global.set $tempRet0
- (i32.shl
- (local.get $0)
- (i32.sub
- (local.get $2)
- (i32.const 32)
- )
- )
- )
- (i32.const 0)
- )
- (func $_memcpy (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (if
- (i32.ge_s
- (local.get $2)
- (i32.const 4096)
- )
- (return
- (call $_emscripten_memcpy_big
- (local.get $0)
- (local.get $1)
- (local.get $2)
- )
- )
- )
- (local.set $3
- (local.get $0)
- )
- (if
- (i32.eq
- (i32.and
- (local.get $0)
- (i32.const 3)
- )
- (i32.and
- (local.get $1)
- (i32.const 3)
- )
- )
- (block $block
- (loop $while-in
- (if
- (i32.and
- (local.get $0)
- (i32.const 3)
- )
- (block $block698
- (if
- (i32.eqz
- (local.get $2)
- )
- (return
- (local.get $3)
- )
- )
- (i32.store8
- (local.get $0)
- (i32.load8_s
- (local.get $1)
- )
- )
- (local.set $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- (local.set $1
- (i32.add
- (local.get $1)
- (i32.const 1)
- )
- )
- (local.set $2
- (i32.sub
- (local.get $2)
- (i32.const 1)
- )
- )
- (br $while-in)
- )
- )
- )
- (loop $while-in1
- (if
- (i32.ge_s
- (local.get $2)
- (i32.const 4)
- )
- (block $block701
- (i32.store
- (local.get $0)
- (i32.load
- (local.get $1)
- )
- )
- (local.set $0
- (i32.add
- (local.get $0)
- (i32.const 4)
- )
- )
- (local.set $1
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (local.set $2
- (i32.sub
- (local.get $2)
- (i32.const 4)
- )
- )
- (br $while-in1)
- )
- )
- )
- )
- )
- (loop $while-in3
- (if
- (i32.gt_s
- (local.get $2)
- (i32.const 0)
- )
- (block $block703
- (i32.store8
- (local.get $0)
- (i32.load8_s
- (local.get $1)
- )
- )
- (local.set $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- (local.set $1
- (i32.add
- (local.get $1)
- (i32.const 1)
- )
- )
- (local.set $2
- (i32.sub
- (local.get $2)
- (i32.const 1)
- )
- )
- (br $while-in3)
- )
- )
- )
- (local.get $3)
- )
- (func $___udivdi3 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (call $___udivmoddi4
- (local.get $0)
- (local.get $1)
- (local.get $2)
- (local.get $3)
- (i32.const 0)
- )
- )
- (func $___uremdi3 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (local $4 i32)
- (local.set $4
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 16)
- )
- )
- (drop
- (call $___udivmoddi4
- (local.get $0)
- (local.get $1)
- (local.get $2)
- (local.get $3)
- (local.tee $0
- (local.get $4)
- )
- )
- )
- (global.set $STACKTOP
- (local.get $4)
- )
- (global.set $tempRet0
- (i32.load offset=4
- (local.get $0)
- )
- )
- (i32.load
- (local.get $0)
- )
- )
- (func $___udivmoddi4 (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (param $r i32) (result i32)
- (local $x64 i64)
- (local $y64 i64)
- (local.set $x64
- (i64.or
- (i64.extend_i32_u
- (local.get $xl)
- )
- (i64.shl
- (i64.extend_i32_u
- (local.get $xh)
- )
- (i64.const 32)
- )
- )
- )
- (local.set $y64
- (i64.or
- (i64.extend_i32_u
- (local.get $yl)
- )
- (i64.shl
- (i64.extend_i32_u
- (local.get $yh)
- )
- (i64.const 32)
- )
- )
- )
- (if
- (local.get $r)
- (i64.store
- (local.get $r)
- (i64.rem_u
- (local.get $x64)
- (local.get $y64)
- )
- )
- )
- (local.set $x64
- (i64.div_u
- (local.get $x64)
- (local.get $y64)
- )
- )
- (global.set $tempRet0
- (i32.wrap_i64
- (i64.shr_u
- (local.get $x64)
- (i64.const 32)
- )
- )
- )
- (i32.wrap_i64
- (local.get $x64)
- )
- )
- (func $dynCall_ii (param $0 i32) (param $1 i32) (result i32)
- (call_indirect (type $FUNCSIG$ii)
- (local.get $1)
- (i32.and
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (func $dynCall_iiii (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (call_indirect (type $FUNCSIG$iiii)
- (local.get $1)
- (local.get $2)
- (local.get $3)
- (i32.add
- (i32.and
- (local.get $0)
- (i32.const 7)
- )
- (i32.const 2)
- )
- )
- )
- (func $dynCall_vi (param $0 i32) (param $1 i32)
- (call_indirect (type $FUNCSIG$vi)
- (local.get $1)
- (i32.add
- (i32.and
- (local.get $0)
- (i32.const 7)
- )
- (i32.const 10)
- )
- )
- )
- (func $b0 (param $0 i32) (result i32)
- (call $nullFunc_ii
- (i32.const 0)
- )
- (i32.const 0)
- )
- (func $b1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (call $nullFunc_iiii
- (i32.const 1)
- )
- (i32.const 0)
- )
- (func $b2 (param $0 i32)
- (call $nullFunc_vi
- (i32.const 2)
- )
- )
-)
diff --git a/test/passes/inlining-optimizing_optimize-level=3.wast b/test/passes/inlining-optimizing_optimize-level=3.wast
deleted file mode 100644
index 33c5edb30..000000000
--- a/test/passes/inlining-optimizing_optimize-level=3.wast
+++ /dev/null
@@ -1,15703 +0,0 @@
-;; similar to test/emcc_hello_world.fromasm.clamp ;;
-(module
- (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$i (func (result i32)))
- (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
- (type $FUNCSIG$vii (func (param i32 i32)))
- (import "env" "STACKTOP" (global $STACKTOP$asm2wasm$import i32))
- (import "env" "STACK_MAX" (global $STACK_MAX$asm2wasm$import i32))
- (import "env" "tempDoublePtr" (global $tempDoublePtr$asm2wasm$import i32))
- (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 $0 256 256))
- (import "env" "table" (table 18 18 funcref))
- (import "env" "memoryBase" (global $memoryBase i32))
- (import "env" "tableBase" (global $tableBase i32))
- (global $STACKTOP (mut i32) (global.get $STACKTOP$asm2wasm$import))
- (global $STACK_MAX (mut i32) (global.get $STACK_MAX$asm2wasm$import))
- (global $tempDoublePtr (mut i32) (global.get $tempDoublePtr$asm2wasm$import))
- (global $__THREW__ (mut i32) (i32.const 0))
- (global $threwValue (mut i32) (i32.const 0))
- (global $tempRet0 (mut i32) (i32.const 0))
- (elem (global.get $tableBase) $b0 $___stdio_close $b1 $b1 $___stdout_write $___stdio_seek $___stdio_write $b1 $b1 $b1 $b2 $b2 $b2 $b2 $b2 $_cleanup $b2 $b2)
- (data (i32.const 1024) "emcc_hello_world.asm.js")
- (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))
- (func $stackAlloc (param $0 i32) (result i32)
- (local $1 i32)
- (local.set $1
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (local.get $0)
- )
- )
- (global.set $STACKTOP
- (i32.and
- (i32.add
- (global.get $STACKTOP)
- (i32.const 15)
- )
- (i32.const -16)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (local.get $1)
- )
- (func $stackSave (result i32)
- (global.get $STACKTOP)
- )
- (func $stackRestore (param $0 i32)
- (global.set $STACKTOP
- (local.get $0)
- )
- )
- (func $establishStackSpace (param $0 i32) (param $1 i32)
- (global.set $STACKTOP
- (local.get $0)
- )
- (global.set $STACK_MAX
- (local.get $1)
- )
- )
- (func $setThrew (param $0 i32) (param $1 i32)
- (if
- (i32.eqz
- (global.get $__THREW__)
- )
- (block
- (global.set $__THREW__
- (local.get $0)
- )
- (global.set $threwValue
- (local.get $1)
- )
- )
- )
- )
- (func $setTempRet0 (param $0 i32)
- (global.set $tempRet0
- (local.get $0)
- )
- )
- (func $getTempRet0 (result i32)
- (global.get $tempRet0)
- )
- (func $_main (result i32)
- (local $0 i32)
- (local.set $0
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 16)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (drop
- (call $_printf
- (i32.const 672)
- (local.get $0)
- )
- )
- (global.set $STACKTOP
- (local.get $0)
- )
- (i32.const 0)
- )
- (func $_frexp (param $0 f64) (param $1 i32) (result f64)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (f64.store
- (global.get $tempDoublePtr)
- (local.get $0)
- )
- (block $switch
- (block $switch-default
- (block $switch-case0
- (block $switch-case
- (br_table $switch-case $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case0 $switch-default
- (local.tee $3
- (i32.and
- (local.tee $3
- (call $_bitshift64Lshr
- (local.tee $2
- (i32.load
- (global.get $tempDoublePtr)
- )
- )
- (local.tee $4
- (i32.load offset=4
- (global.get $tempDoublePtr)
- )
- )
- (i32.const 52)
- )
- )
- (i32.const 2047)
- )
- )
- )
- )
- (i32.store
- (local.get $1)
- (local.tee $2
- (if (result i32)
- (f64.ne
- (local.get $0)
- (f64.const 0)
- )
- (block (result i32)
- (local.set $0
- (call $_frexp
- (f64.mul
- (local.get $0)
- (f64.const 18446744073709551615)
- )
- (local.get $1)
- )
- )
- (i32.add
- (i32.load
- (local.get $1)
- )
- (i32.const -64)
- )
- )
- (i32.const 0)
- )
- )
- )
- (br $switch)
- )
- (br $switch)
- )
- (i32.store
- (local.get $1)
- (i32.add
- (local.get $3)
- (i32.const -1022)
- )
- )
- (i32.store
- (global.get $tempDoublePtr)
- (local.get $2)
- )
- (i32.store offset=4
- (global.get $tempDoublePtr)
- (i32.or
- (i32.and
- (local.get $4)
- (i32.const -2146435073)
- )
- (i32.const 1071644672)
- )
- )
- (local.set $0
- (f64.load
- (global.get $tempDoublePtr)
- )
- )
- )
- (local.get $0)
- )
- (func $_strerror (param $0 i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (local.set $1
- (i32.const 0)
- )
- (block $__rjto$1
- (block $__rjti$1
- (block $__rjti$0
- (loop $while-in
- (br_if $__rjti$0
- (i32.eq
- (i32.load8_u offset=687
- (local.get $1)
- )
- (local.get $0)
- )
- )
- (br_if $while-in
- (i32.ne
- (local.tee $1
- (i32.add
- (local.get $1)
- (i32.const 1)
- )
- )
- (i32.const 87)
- )
- )
- (local.set $1
- (i32.const 87)
- )
- (br $__rjti$1)
- )
- )
- (br_if $__rjti$1
- (local.get $1)
- )
- (local.set $0
- (i32.const 775)
- )
- (br $__rjto$1)
- )
- (local.set $0
- (i32.const 775)
- )
- (loop $while-in1
- (loop $while-in3
- (local.set $2
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- (if
- (i32.load8_s
- (local.get $0)
- )
- (block
- (local.set $0
- (local.get $2)
- )
- (br $while-in3)
- )
- (local.set $0
- (local.get $2)
- )
- )
- )
- (br_if $while-in1
- (local.tee $1
- (i32.add
- (local.get $1)
- (i32.const -1)
- )
- )
- )
- )
- )
- (local.get $0)
- )
- (func $___errno_location (result i32)
- (if (result i32)
- (i32.load
- (i32.const 16)
- )
- (i32.load offset=60
- (call $_pthread_self)
- )
- (i32.const 60)
- )
- )
- (func $___stdio_close (param $0 i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (local.set $1
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 16)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (i32.store
- (local.tee $2
- (local.get $1)
- )
- (i32.load offset=60
- (local.get $0)
- )
- )
- (local.set $0
- (call $___syscall_ret
- (call $___syscall6
- (i32.const 6)
- (local.get $2)
- )
- )
- )
- (global.set $STACKTOP
- (local.get $1)
- )
- (local.get $0)
- )
- (func $___stdout_write (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local.set $4
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 80)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (local.set $3
- (local.get $4)
- )
- (local.set $5
- (i32.add
- (local.get $4)
- (i32.const 12)
- )
- )
- (i32.store offset=36
- (local.get $0)
- (i32.const 4)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 64)
- )
- )
- (block
- (i32.store
- (local.get $3)
- (i32.load offset=60
- (local.get $0)
- )
- )
- (i32.store offset=4
- (local.get $3)
- (i32.const 21505)
- )
- (i32.store offset=8
- (local.get $3)
- (local.get $5)
- )
- (if
- (call $___syscall54
- (i32.const 54)
- (local.get $3)
- )
- (i32.store8 offset=75
- (local.get $0)
- (i32.const -1)
- )
- )
- )
- )
- (local.set $0
- (call $___stdio_write
- (local.get $0)
- (local.get $1)
- (local.get $2)
- )
- )
- (global.set $STACKTOP
- (local.get $4)
- )
- (local.get $0)
- )
- (func $___stdio_seek (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (local $4 i32)
- (local.set $4
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 32)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (i32.store
- (local.tee $3
- (local.get $4)
- )
- (i32.load offset=60
- (local.get $0)
- )
- )
- (i32.store offset=4
- (local.get $3)
- (i32.const 0)
- )
- (i32.store offset=8
- (local.get $3)
- (local.get $1)
- )
- (i32.store offset=12
- (local.get $3)
- (local.tee $0
- (i32.add
- (local.get $4)
- (i32.const 20)
- )
- )
- )
- (i32.store offset=16
- (local.get $3)
- (local.get $2)
- )
- (local.set $0
- (if (result i32)
- (i32.lt_s
- (call $___syscall_ret
- (call $___syscall140
- (i32.const 140)
- (local.get $3)
- )
- )
- (i32.const 0)
- )
- (block (result i32)
- (i32.store
- (local.get $0)
- (i32.const -1)
- )
- (i32.const -1)
- )
- (i32.load
- (local.get $0)
- )
- )
- )
- (global.set $STACKTOP
- (local.get $4)
- )
- (local.get $0)
- )
- (func $_fflush (param $0 i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (block $do-once
- (if
- (local.get $0)
- (block
- (if
- (i32.le_s
- (i32.load offset=76
- (local.get $0)
- )
- (i32.const -1)
- )
- (block
- (local.set $0
- (call $___fflush_unlocked
- (local.get $0)
- )
- )
- (br $do-once)
- )
- )
- (local.set $2
- (i32.eqz
- (call $___lockfile
- (local.get $0)
- )
- )
- )
- (local.set $1
- (call $___fflush_unlocked
- (local.get $0)
- )
- )
- (local.set $0
- (if (result i32)
- (local.get $2)
- (local.get $1)
- (block (result i32)
- (call $___unlockfile
- (local.get $0)
- )
- (local.get $1)
- )
- )
- )
- )
- (block
- (local.set $0
- (if (result i32)
- (i32.load
- (i32.const 12)
- )
- (call $_fflush
- (i32.load
- (i32.const 12)
- )
- )
- (i32.const 0)
- )
- )
- (call $___lock
- (i32.const 44)
- )
- (if
- (local.tee $1
- (i32.load
- (i32.const 40)
- )
- )
- (loop $while-in
- (local.set $2
- (if (result i32)
- (i32.gt_s
- (i32.load offset=76
- (local.get $1)
- )
- (i32.const -1)
- )
- (call $___lockfile
- (local.get $1)
- )
- (i32.const 0)
- )
- )
- (if
- (i32.gt_u
- (i32.load offset=20
- (local.get $1)
- )
- (i32.load offset=28
- (local.get $1)
- )
- )
- (local.set $0
- (i32.or
- (call $___fflush_unlocked
- (local.get $1)
- )
- (local.get $0)
- )
- )
- )
- (if
- (local.get $2)
- (call $___unlockfile
- (local.get $1)
- )
- )
- (br_if $while-in
- (local.tee $1
- (i32.load offset=56
- (local.get $1)
- )
- )
- )
- )
- )
- (call $___unlock
- (i32.const 44)
- )
- )
- )
- )
- (local.get $0)
- )
- (func $_printf (param $0 i32) (param $1 i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- (local.set $2
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 16)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (i32.store
- (local.tee $3
- (local.get $2)
- )
- (local.get $1)
- )
- (local.set $0
- (call $_vfprintf
- (i32.load
- (i32.const 8)
- )
- (local.get $0)
- (local.get $3)
- )
- )
- (global.set $STACKTOP
- (local.get $2)
- )
- (local.get $0)
- )
- (func $___lockfile (param $0 i32) (result i32)
- (i32.const 0)
- )
- (func $___unlockfile (param $0 i32)
- (nop)
- )
- (func $___stdio_write (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
- (local.set $8
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 48)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (local.set $9
- (i32.add
- (local.get $8)
- (i32.const 16)
- )
- )
- (local.set $10
- (local.get $8)
- )
- (i32.store
- (local.tee $4
- (i32.add
- (local.get $8)
- (i32.const 32)
- )
- )
- (local.tee $3
- (i32.load
- (local.tee $6
- (i32.add
- (local.get $0)
- (i32.const 28)
- )
- )
- )
- )
- )
- (i32.store offset=4
- (local.get $4)
- (local.tee $3
- (i32.sub
- (i32.load
- (local.tee $11
- (i32.add
- (local.get $0)
- (i32.const 20)
- )
- )
- )
- (local.get $3)
- )
- )
- )
- (i32.store offset=8
- (local.get $4)
- (local.get $1)
- )
- (i32.store offset=12
- (local.get $4)
- (local.get $2)
- )
- (local.set $13
- (i32.add
- (local.get $0)
- (i32.const 60)
- )
- )
- (local.set $14
- (i32.add
- (local.get $0)
- (i32.const 44)
- )
- )
- (local.set $1
- (local.get $4)
- )
- (local.set $4
- (i32.const 2)
- )
- (local.set $12
- (i32.add
- (local.get $3)
- (local.get $2)
- )
- )
- (block $__rjto$1
- (block $__rjti$1
- (block $__rjti$0
- (loop $while-in
- (if
- (i32.load
- (i32.const 16)
- )
- (block
- (call $_pthread_cleanup_push
- (i32.const 5)
- (local.get $0)
- )
- (i32.store
- (local.get $10)
- (i32.load
- (local.get $13)
- )
- )
- (i32.store offset=4
- (local.get $10)
- (local.get $1)
- )
- (i32.store offset=8
- (local.get $10)
- (local.get $4)
- )
- (local.set $3
- (call $___syscall_ret
- (call $___syscall146
- (i32.const 146)
- (local.get $10)
- )
- )
- )
- (call $_pthread_cleanup_pop
- (i32.const 0)
- )
- )
- (block
- (i32.store
- (local.get $9)
- (i32.load
- (local.get $13)
- )
- )
- (i32.store offset=4
- (local.get $9)
- (local.get $1)
- )
- (i32.store offset=8
- (local.get $9)
- (local.get $4)
- )
- (local.set $3
- (call $___syscall_ret
- (call $___syscall146
- (i32.const 146)
- (local.get $9)
- )
- )
- )
- )
- )
- (br_if $__rjti$0
- (i32.eq
- (local.get $12)
- (local.get $3)
- )
- )
- (br_if $__rjti$1
- (i32.lt_s
- (local.get $3)
- (i32.const 0)
- )
- )
- (local.set $5
- (if (result i32)
- (i32.gt_u
- (local.get $3)
- (local.tee $5
- (i32.load offset=4
- (local.get $1)
- )
- )
- )
- (block (result i32)
- (i32.store
- (local.get $6)
- (local.tee $7
- (i32.load
- (local.get $14)
- )
- )
- )
- (i32.store
- (local.get $11)
- (local.get $7)
- )
- (local.set $7
- (i32.load offset=12
- (local.get $1)
- )
- )
- (local.set $1
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- (local.set $4
- (i32.add
- (local.get $4)
- (i32.const -1)
- )
- )
- (i32.sub
- (local.get $3)
- (local.get $5)
- )
- )
- (block (result i32)
- (if
- (i32.eq
- (local.get $4)
- (i32.const 2)
- )
- (block
- (i32.store
- (local.get $6)
- (i32.add
- (i32.load
- (local.get $6)
- )
- (local.get $3)
- )
- )
- (local.set $7
- (local.get $5)
- )
- (local.set $4
- (i32.const 2)
- )
- )
- (local.set $7
- (local.get $5)
- )
- )
- (local.get $3)
- )
- )
- )
- (i32.store
- (local.get $1)
- (i32.add
- (i32.load
- (local.get $1)
- )
- (local.get $5)
- )
- )
- (i32.store offset=4
- (local.get $1)
- (i32.sub
- (local.get $7)
- (local.get $5)
- )
- )
- (local.set $12
- (i32.sub
- (local.get $12)
- (local.get $3)
- )
- )
- (br $while-in)
- )
- )
- (i32.store offset=16
- (local.get $0)
- (i32.add
- (local.tee $1
- (i32.load
- (local.get $14)
- )
- )
- (i32.load offset=48
- (local.get $0)
- )
- )
- )
- (i32.store
- (local.get $6)
- (local.get $1)
- )
- (i32.store
- (local.get $11)
- (local.get $1)
- )
- (br $__rjto$1)
- )
- (i32.store offset=16
- (local.get $0)
- (i32.const 0)
- )
- (i32.store
- (local.get $6)
- (i32.const 0)
- )
- (i32.store
- (local.get $11)
- (i32.const 0)
- )
- (i32.store
- (local.get $0)
- (i32.or
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (local.set $2
- (if (result i32)
- (i32.eq
- (local.get $4)
- (i32.const 2)
- )
- (i32.const 0)
- (i32.sub
- (local.get $2)
- (i32.load offset=4
- (local.get $1)
- )
- )
- )
- )
- )
- (global.set $STACKTOP
- (local.get $8)
- )
- (local.get $2)
- )
- (func $_vfprintf (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
- (local.set $4
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 224)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (local.set $5
- (i32.add
- (local.get $4)
- (i32.const 120)
- )
- )
- (local.set $7
- (local.get $4)
- )
- (local.set $6
- (i32.add
- (local.get $4)
- (i32.const 136)
- )
- )
- (local.set $9
- (i32.add
- (local.tee $3
- (local.tee $8
- (i32.add
- (local.get $4)
- (i32.const 80)
- )
- )
- )
- (i32.const 40)
- )
- )
- (loop $do-in
- (i32.store
- (local.get $3)
- (i32.const 0)
- )
- (br_if $do-in
- (i32.lt_s
- (local.tee $3
- (i32.add
- (local.get $3)
- (i32.const 4)
- )
- )
- (local.get $9)
- )
- )
- )
- (i32.store
- (local.get $5)
- (i32.load
- (local.get $2)
- )
- )
- (local.set $0
- (if (result i32)
- (i32.lt_s
- (call $_printf_core
- (i32.const 0)
- (local.get $1)
- (local.get $5)
- (local.get $7)
- (local.get $8)
- )
- (i32.const 0)
- )
- (i32.const -1)
- (block (result i32)
- (local.set $14
- (if (result i32)
- (i32.gt_s
- (i32.load offset=76
- (local.get $0)
- )
- (i32.const -1)
- )
- (call $___lockfile
- (local.get $0)
- )
- (i32.const 0)
- )
- )
- (local.set $10
- (i32.load
- (local.get $0)
- )
- )
- (if
- (i32.lt_s
- (i32.load8_s offset=74
- (local.get $0)
- )
- (i32.const 1)
- )
- (i32.store
- (local.get $0)
- (i32.and
- (local.get $10)
- (i32.const -33)
- )
- )
- )
- (if
- (i32.load
- (local.tee $11
- (i32.add
- (local.get $0)
- (i32.const 48)
- )
- )
- )
- (local.set $1
- (call $_printf_core
- (local.get $0)
- (local.get $1)
- (local.get $5)
- (local.get $7)
- (local.get $8)
- )
- )
- (block
- (local.set $13
- (i32.load
- (local.tee $12
- (i32.add
- (local.get $0)
- (i32.const 44)
- )
- )
- )
- )
- (i32.store
- (local.get $12)
- (local.get $6)
- )
- (i32.store
- (local.tee $9
- (i32.add
- (local.get $0)
- (i32.const 28)
- )
- )
- (local.get $6)
- )
- (i32.store
- (local.tee $3
- (i32.add
- (local.get $0)
- (i32.const 20)
- )
- )
- (local.get $6)
- )
- (i32.store
- (local.get $11)
- (i32.const 80)
- )
- (i32.store
- (local.tee $2
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
- )
- (i32.add
- (local.get $6)
- (i32.const 80)
- )
- )
- (local.set $1
- (call $_printf_core
- (local.get $0)
- (local.get $1)
- (local.get $5)
- (local.get $7)
- (local.get $8)
- )
- )
- (if
- (local.get $13)
- (block
- (drop
- (call_indirect (type $FUNCSIG$iiii)
- (local.get $0)
- (i32.const 0)
- (i32.const 0)
- (i32.add
- (i32.and
- (i32.load offset=36
- (local.get $0)
- )
- (i32.const 7)
- )
- (i32.const 2)
- )
- )
- )
- (local.set $1
- (select
- (local.get $1)
- (i32.const -1)
- (i32.load
- (local.get $3)
- )
- )
- )
- (i32.store
- (local.get $12)
- (local.get $13)
- )
- (i32.store
- (local.get $11)
- (i32.const 0)
- )
- (i32.store
- (local.get $2)
- (i32.const 0)
- )
- (i32.store
- (local.get $9)
- (i32.const 0)
- )
- (i32.store
- (local.get $3)
- (i32.const 0)
- )
- )
- )
- )
- )
- (i32.store
- (local.get $0)
- (i32.or
- (local.tee $2
- (i32.load
- (local.get $0)
- )
- )
- (i32.and
- (local.get $10)
- (i32.const 32)
- )
- )
- )
- (if
- (local.get $14)
- (call $___unlockfile
- (local.get $0)
- )
- )
- (select
- (i32.const -1)
- (local.get $1)
- (i32.and
- (local.get $2)
- (i32.const 32)
- )
- )
- )
- )
- )
- (global.set $STACKTOP
- (local.get $4)
- )
- (local.get $0)
- )
- (func $___fwritex (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (block $label$break$L5
- (block $__rjti$0
- (br_if $__rjti$0
- (local.tee $3
- (i32.load
- (local.tee $4
- (i32.add
- (local.get $2)
- (i32.const 16)
- )
- )
- )
- )
- )
- (if
- (call $___towrite
- (local.get $2)
- )
- (local.set $3
- (i32.const 0)
- )
- (block
- (local.set $3
- (i32.load
- (local.get $4)
- )
- )
- (br $__rjti$0)
- )
- )
- (br $label$break$L5)
- )
- (if
- (i32.lt_u
- (i32.sub
- (local.get $3)
- (local.tee $4
- (i32.load
- (local.tee $5
- (i32.add
- (local.get $2)
- (i32.const 20)
- )
- )
- )
- )
- )
- (local.get $1)
- )
- (block
- (local.set $3
- (call_indirect (type $FUNCSIG$iiii)
- (local.get $2)
- (local.get $0)
- (local.get $1)
- (i32.add
- (i32.and
- (i32.load offset=36
- (local.get $2)
- )
- (i32.const 7)
- )
- (i32.const 2)
- )
- )
- )
- (br $label$break$L5)
- )
- )
- (local.set $2
- (block $label$break$L10 (result i32)
- (if (result i32)
- (i32.gt_s
- (i32.load8_s offset=75
- (local.get $2)
- )
- (i32.const -1)
- )
- (block (result i32)
- (local.set $3
- (local.get $1)
- )
- (loop $while-in
- (drop
- (br_if $label$break$L10
- (i32.const 0)
- (i32.eqz
- (local.get $3)
- )
- )
- )
- (if
- (i32.ne
- (i32.load8_s
- (i32.add
- (local.get $0)
- (local.tee $6
- (i32.add
- (local.get $3)
- (i32.const -1)
- )
- )
- )
- )
- (i32.const 10)
- )
- (block
- (local.set $3
- (local.get $6)
- )
- (br $while-in)
- )
- )
- )
- (br_if $label$break$L5
- (i32.lt_u
- (call_indirect (type $FUNCSIG$iiii)
- (local.get $2)
- (local.get $0)
- (local.get $3)
- (i32.add
- (i32.and
- (i32.load offset=36
- (local.get $2)
- )
- (i32.const 7)
- )
- (i32.const 2)
- )
- )
- (local.get $3)
- )
- )
- (local.set $4
- (i32.load
- (local.get $5)
- )
- )
- (local.set $1
- (i32.sub
- (local.get $1)
- (local.get $3)
- )
- )
- (local.set $0
- (i32.add
- (local.get $0)
- (local.get $3)
- )
- )
- (local.get $3)
- )
- (i32.const 0)
- )
- )
- )
- (drop
- (call $_memcpy
- (local.get $4)
- (local.get $0)
- (local.get $1)
- )
- )
- (i32.store
- (local.get $5)
- (i32.add
- (i32.load
- (local.get $5)
- )
- (local.get $1)
- )
- )
- (local.set $3
- (i32.add
- (local.get $2)
- (local.get $1)
- )
- )
- )
- (local.get $3)
- )
- (func $___towrite (param $0 i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (local.set $1
- (i32.load8_s
- (local.tee $2
- (i32.add
- (local.get $0)
- (i32.const 74)
- )
- )
- )
- )
- (i32.store8
- (local.get $2)
- (i32.or
- (i32.add
- (local.get $1)
- (i32.const 255)
- )
- (local.get $1)
- )
- )
- (local.tee $0
- (if (result i32)
- (i32.and
- (local.tee $1
- (i32.load
- (local.get $0)
- )
- )
- (i32.const 8)
- )
- (block (result i32)
- (i32.store
- (local.get $0)
- (i32.or
- (local.get $1)
- (i32.const 32)
- )
- )
- (i32.const -1)
- )
- (block (result i32)
- (i32.store offset=8
- (local.get $0)
- (i32.const 0)
- )
- (i32.store offset=4
- (local.get $0)
- (i32.const 0)
- )
- (i32.store offset=28
- (local.get $0)
- (local.tee $1
- (i32.load offset=44
- (local.get $0)
- )
- )
- )
- (i32.store offset=20
- (local.get $0)
- (local.get $1)
- )
- (i32.store offset=16
- (local.get $0)
- (i32.add
- (local.get $1)
- (i32.load offset=48
- (local.get $0)
- )
- )
- )
- (i32.const 0)
- )
- )
- )
- )
- (func $_wcrtomb (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (block $do-once (result i32)
- (if (result i32)
- (local.get $0)
- (block (result i32)
- (if
- (i32.lt_u
- (local.get $1)
- (i32.const 128)
- )
- (block
- (i32.store8
- (local.get $0)
- (local.get $1)
- )
- (br $do-once
- (i32.const 1)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $1)
- (i32.const 2048)
- )
- (block
- (i32.store8
- (local.get $0)
- (i32.or
- (i32.shr_u
- (local.get $1)
- (i32.const 6)
- )
- (i32.const 192)
- )
- )
- (i32.store8 offset=1
- (local.get $0)
- (i32.or
- (i32.and
- (local.get $1)
- (i32.const 63)
- )
- (i32.const 128)
- )
- )
- (br $do-once
- (i32.const 2)
- )
- )
- )
- (if
- (i32.or
- (i32.lt_u
- (local.get $1)
- (i32.const 55296)
- )
- (i32.eq
- (i32.and
- (local.get $1)
- (i32.const -8192)
- )
- (i32.const 57344)
- )
- )
- (block
- (i32.store8
- (local.get $0)
- (i32.or
- (i32.shr_u
- (local.get $1)
- (i32.const 12)
- )
- (i32.const 224)
- )
- )
- (i32.store8 offset=1
- (local.get $0)
- (i32.or
- (i32.and
- (i32.shr_u
- (local.get $1)
- (i32.const 6)
- )
- (i32.const 63)
- )
- (i32.const 128)
- )
- )
- (i32.store8 offset=2
- (local.get $0)
- (i32.or
- (i32.and
- (local.get $1)
- (i32.const 63)
- )
- (i32.const 128)
- )
- )
- (br $do-once
- (i32.const 3)
- )
- )
- )
- (if (result i32)
- (i32.lt_u
- (i32.add
- (local.get $1)
- (i32.const -65536)
- )
- (i32.const 1048576)
- )
- (block (result i32)
- (i32.store8
- (local.get $0)
- (i32.or
- (i32.shr_u
- (local.get $1)
- (i32.const 18)
- )
- (i32.const 240)
- )
- )
- (i32.store8 offset=1
- (local.get $0)
- (i32.or
- (i32.and
- (i32.shr_u
- (local.get $1)
- (i32.const 12)
- )
- (i32.const 63)
- )
- (i32.const 128)
- )
- )
- (i32.store8 offset=2
- (local.get $0)
- (i32.or
- (i32.and
- (i32.shr_u
- (local.get $1)
- (i32.const 6)
- )
- (i32.const 63)
- )
- (i32.const 128)
- )
- )
- (i32.store8 offset=3
- (local.get $0)
- (i32.or
- (i32.and
- (local.get $1)
- (i32.const 63)
- )
- (i32.const 128)
- )
- )
- (i32.const 4)
- )
- (block (result i32)
- (i32.store
- (call $___errno_location)
- (i32.const 84)
- )
- (i32.const -1)
- )
- )
- )
- (i32.const 1)
- )
- )
- )
- (func $_wctomb (param $0 i32) (param $1 i32) (result i32)
- (if (result i32)
- (local.get $0)
- (call $_wcrtomb
- (local.get $0)
- (local.get $1)
- (i32.const 0)
- )
- (i32.const 0)
- )
- )
- (func $_memchr (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local.set $5
- (i32.and
- (local.get $1)
- (i32.const 255)
- )
- )
- (block $label$break$L8
- (block $__rjti$2
- (if
- (i32.and
- (local.tee $4
- (i32.ne
- (local.get $2)
- (i32.const 0)
- )
- )
- (i32.ne
- (i32.and
- (local.get $0)
- (i32.const 3)
- )
- (i32.const 0)
- )
- )
- (block
- (local.set $4
- (i32.and
- (local.get $1)
- (i32.const 255)
- )
- )
- (local.set $3
- (local.get $2)
- )
- (local.set $2
- (local.get $0)
- )
- (loop $while-in
- (br_if $__rjti$2
- (i32.eq
- (i32.load8_u
- (local.get $2)
- )
- (i32.and
- (local.get $4)
- (i32.const 255)
- )
- )
- )
- (br_if $while-in
- (i32.and
- (local.tee $0
- (i32.ne
- (local.tee $3
- (i32.add
- (local.get $3)
- (i32.const -1)
- )
- )
- (i32.const 0)
- )
- )
- (i32.ne
- (i32.and
- (local.tee $2
- (i32.add
- (local.get $2)
- (i32.const 1)
- )
- )
- (i32.const 3)
- )
- (i32.const 0)
- )
- )
- )
- )
- )
- (block
- (local.set $3
- (local.get $2)
- )
- (local.set $2
- (local.get $0)
- )
- (local.set $0
- (local.get $4)
- )
- )
- )
- (br_if $__rjti$2
- (local.get $0)
- )
- (local.set $0
- (i32.const 0)
- )
- (br $label$break$L8)
- )
- (local.set $0
- (local.get $3)
- )
- (if
- (i32.ne
- (i32.load8_u
- (local.get $2)
- )
- (local.tee $1
- (i32.and
- (local.get $1)
- (i32.const 255)
- )
- )
- )
- (block
- (local.set $3
- (i32.mul
- (local.get $5)
- (i32.const 16843009)
- )
- )
- (block $__rjto$0
- (block $__rjti$0
- (br_if $__rjti$0
- (i32.le_u
- (local.get $0)
- (i32.const 3)
- )
- )
- (loop $while-in3
- (if
- (i32.eqz
- (i32.and
- (i32.xor
- (i32.and
- (local.tee $4
- (i32.xor
- (i32.load
- (local.get $2)
- )
- (local.get $3)
- )
- )
- (i32.const -2139062144)
- )
- (i32.const -2139062144)
- )
- (i32.add
- (local.get $4)
- (i32.const -16843009)
- )
- )
- )
- (block
- (local.set $2
- (i32.add
- (local.get $2)
- (i32.const 4)
- )
- )
- (br_if $while-in3
- (i32.gt_u
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const -4)
- )
- )
- (i32.const 3)
- )
- )
- (br $__rjti$0)
- )
- )
- )
- (br $__rjto$0)
- )
- (if
- (i32.eqz
- (local.get $0)
- )
- (block
- (local.set $0
- (i32.const 0)
- )
- (br $label$break$L8)
- )
- )
- )
- (loop $while-in5
- (br_if $label$break$L8
- (i32.eq
- (i32.load8_u
- (local.get $2)
- )
- (i32.and
- (local.get $1)
- (i32.const 255)
- )
- )
- )
- (local.set $2
- (i32.add
- (local.get $2)
- (i32.const 1)
- )
- )
- (br_if $while-in5
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const -1)
- )
- )
- )
- (local.set $0
- (i32.const 0)
- )
- )
- )
- )
- )
- (select
- (local.get $2)
- (i32.const 0)
- (local.get $0)
- )
- )
- (func $___syscall_ret (param $0 i32) (result i32)
- (if (result i32)
- (i32.gt_u
- (local.get $0)
- (i32.const -4096)
- )
- (block (result i32)
- (i32.store
- (call $___errno_location)
- (i32.sub
- (i32.const 0)
- (local.get $0)
- )
- )
- (i32.const -1)
- )
- (local.get $0)
- )
- )
- (func $___fflush_unlocked (param $0 i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local.tee $0
- (block $__rjto$0 (result i32)
- (block $__rjti$0
- (br_if $__rjti$0
- (i32.le_u
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $0)
- (i32.const 20)
- )
- )
- )
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $0)
- (i32.const 28)
- )
- )
- )
- )
- )
- (drop
- (call_indirect (type $FUNCSIG$iiii)
- (local.get $0)
- (i32.const 0)
- (i32.const 0)
- (i32.add
- (i32.and
- (i32.load offset=36
- (local.get $0)
- )
- (i32.const 7)
- )
- (i32.const 2)
- )
- )
- )
- (br_if $__rjti$0
- (i32.load
- (local.get $1)
- )
- )
- (br $__rjto$0
- (i32.const -1)
- )
- )
- (if
- (i32.lt_u
- (local.tee $4
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $0)
- (i32.const 4)
- )
- )
- )
- )
- (local.tee $6
- (i32.load
- (local.tee $5
- (i32.add
- (local.get $0)
- (i32.const 8)
- )
- )
- )
- )
- )
- (drop
- (call_indirect (type $FUNCSIG$iiii)
- (local.get $0)
- (i32.sub
- (local.get $4)
- (local.get $6)
- )
- (i32.const 1)
- (i32.add
- (i32.and
- (i32.load offset=40
- (local.get $0)
- )
- (i32.const 7)
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.store offset=16
- (local.get $0)
- (i32.const 0)
- )
- (i32.store
- (local.get $2)
- (i32.const 0)
- )
- (i32.store
- (local.get $1)
- (i32.const 0)
- )
- (i32.store
- (local.get $5)
- (i32.const 0)
- )
- (i32.store
- (local.get $3)
- (i32.const 0)
- )
- (i32.const 0)
- )
- )
- )
- (func $_cleanup (param $0 i32)
- (if
- (i32.eqz
- (i32.load offset=68
- (local.get $0)
- )
- )
- (call $___unlockfile
- (local.get $0)
- )
- )
- )
- (func $f64-to-int (param $0 f64) (result i32)
- (if (result i32)
- (f64.ne
- (local.get $0)
- (local.get $0)
- )
- (i32.const -2147483648)
- (if (result i32)
- (f64.ge
- (local.get $0)
- (f64.const 2147483648)
- )
- (i32.const -2147483648)
- (if (result i32)
- (f64.le
- (local.get $0)
- (f64.const -2147483649)
- )
- (i32.const -2147483648)
- (i32.trunc_f64_s
- (local.get $0)
- )
- )
- )
- )
- )
- (func $i32s-div (param $0 i32) (param $1 i32) (result i32)
- (if (result i32)
- (local.get $1)
- (if (result i32)
- (i32.and
- (i32.eq
- (local.get $0)
- (i32.const -2147483648)
- )
- (i32.eq
- (local.get $1)
- (i32.const -1)
- )
- )
- (i32.const 0)
- (i32.div_s
- (local.get $0)
- (local.get $1)
- )
- )
- (i32.const 0)
- )
- )
- (func $i32u-rem (param $0 i32) (param $1 i32) (result i32)
- (if (result i32)
- (local.get $1)
- (i32.rem_u
- (local.get $0)
- (local.get $1)
- )
- (i32.const 0)
- )
- )
- (func $i32u-div (param $0 i32) (param $1 i32) (result i32)
- (if (result i32)
- (local.get $1)
- (i32.div_u
- (local.get $0)
- (local.get $1)
- )
- (i32.const 0)
- )
- )
- (func $_printf_core (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
- (local $15 f64)
- (local $16 i32)
- (local $17 i32)
- (local $18 i32)
- (local $19 i32)
- (local $20 i32)
- (local $21 i32)
- (local $22 i32)
- (local $23 f64)
- (local $24 i32)
- (local $25 i32)
- (local $26 i32)
- (local $27 i32)
- (local $28 i32)
- (local $29 i32)
- (local $30 i32)
- (local $31 i32)
- (local $32 i32)
- (local $33 i32)
- (local $34 i32)
- (local $35 i32)
- (local $36 i32)
- (local $37 i32)
- (local $38 i32)
- (local $39 i32)
- (local $40 i32)
- (local $41 i32)
- (local $42 i32)
- (local $43 i32)
- (local $44 i32)
- (local $45 i32)
- (local $46 i32)
- (local $47 i32)
- (local $48 i32)
- (local $49 i32)
- (local $50 i32)
- (local $51 i32)
- (local.set $25
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 624)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (local.set $20
- (i32.add
- (local.get $25)
- (i32.const 16)
- )
- )
- (local.set $19
- (local.get $25)
- )
- (local.set $36
- (i32.add
- (local.get $25)
- (i32.const 528)
- )
- )
- (local.set $29
- (i32.ne
- (local.get $0)
- (i32.const 0)
- )
- )
- (local.set $39
- (local.tee $26
- (i32.add
- (local.tee $5
- (i32.add
- (local.get $25)
- (i32.const 536)
- )
- )
- (i32.const 40)
- )
- )
- )
- (local.set $40
- (i32.add
- (local.get $5)
- (i32.const 39)
- )
- )
- (local.set $44
- (i32.add
- (local.tee $41
- (i32.add
- (local.get $25)
- (i32.const 8)
- )
- )
- (i32.const 4)
- )
- )
- (local.set $34
- (i32.add
- (local.tee $5
- (i32.add
- (local.get $25)
- (i32.const 576)
- )
- )
- (i32.const 12)
- )
- )
- (local.set $42
- (i32.add
- (local.get $5)
- (i32.const 11)
- )
- )
- (local.set $45
- (i32.sub
- (local.tee $28
- (local.get $34)
- )
- (local.tee $37
- (local.tee $22
- (i32.add
- (local.get $25)
- (i32.const 588)
- )
- )
- )
- )
- )
- (local.set $46
- (i32.sub
- (i32.const -2)
- (local.get $37)
- )
- )
- (local.set $47
- (i32.add
- (local.get $28)
- (i32.const 2)
- )
- )
- (local.set $49
- (i32.add
- (local.tee $48
- (i32.add
- (local.get $25)
- (i32.const 24)
- )
- )
- (i32.const 288)
- )
- )
- (local.set $43
- (local.tee $30
- (i32.add
- (local.get $22)
- (i32.const 9)
- )
- )
- )
- (local.set $35
- (i32.add
- (local.get $22)
- (i32.const 8)
- )
- )
- (local.set $16
- (i32.const 0)
- )
- (local.set $5
- (local.get $1)
- )
- (local.set $10
- (i32.const 0)
- )
- (local.set $1
- (i32.const 0)
- )
- (block $label$break$L343
- (block $__rjti$9
- (loop $label$continue$L1
- (block $label$break$L1
- (if
- (i32.gt_s
- (local.get $16)
- (i32.const -1)
- )
- (local.set $16
- (if (result i32)
- (i32.gt_s
- (local.get $10)
- (i32.sub
- (i32.const 2147483647)
- (local.get $16)
- )
- )
- (block (result i32)
- (i32.store
- (call $___errno_location)
- (i32.const 75)
- )
- (i32.const -1)
- )
- (i32.add
- (local.get $10)
- (local.get $16)
- )
- )
- )
- )
- (br_if $__rjti$9
- (i32.eqz
- (local.tee $7
- (i32.load8_s
- (local.get $5)
- )
- )
- )
- )
- (local.set $10
- (local.get $5)
- )
- (block $label$break$L12
- (block $__rjti$1
- (loop $label$continue$L9
- (block $label$break$L9
- (block $switch-default
- (block $switch-case0
- (block $switch-case
- (br_table $switch-case0 $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case $switch-default
- (i32.shr_s
- (i32.shl
- (local.get $7)
- (i32.const 24)
- )
- (i32.const 24)
- )
- )
- )
- (local.set $6
- (local.get $10)
- )
- (br $__rjti$1)
- )
- (local.set $6
- (local.get $10)
- )
- (br $label$break$L9)
- )
- (local.set $7
- (i32.load8_s
- (local.tee $10
- (i32.add
- (local.get $10)
- (i32.const 1)
- )
- )
- )
- )
- (br $label$continue$L9)
- )
- )
- (br $label$break$L12)
- )
- (loop $while-in
- (br_if $label$break$L12
- (i32.ne
- (i32.load8_s offset=1
- (local.get $6)
- )
- (i32.const 37)
- )
- )
- (local.set $10
- (i32.add
- (local.get $10)
- (i32.const 1)
- )
- )
- (br_if $while-in
- (i32.eq
- (i32.load8_s
- (local.tee $6
- (i32.add
- (local.get $6)
- (i32.const 2)
- )
- )
- )
- (i32.const 37)
- )
- )
- )
- )
- (local.set $7
- (i32.sub
- (local.get $10)
- (local.get $5)
- )
- )
- (if
- (local.get $29)
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $5)
- (local.get $7)
- (local.get $0)
- )
- )
- )
- )
- (if
- (i32.ne
- (local.get $10)
- (local.get $5)
- )
- (block
- (local.set $5
- (local.get $6)
- )
- (local.set $10
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- )
- (local.set $8
- (if (result i32)
- (i32.lt_u
- (local.tee $8
- (i32.add
- (local.tee $11
- (i32.load8_s
- (local.tee $10
- (i32.add
- (local.get $6)
- (i32.const 1)
- )
- )
- )
- )
- (i32.const -48)
- )
- )
- (i32.const 10)
- )
- (block (result i32)
- (local.set $6
- (i32.load8_s
- (local.tee $10
- (select
- (i32.add
- (local.get $6)
- (i32.const 3)
- )
- (local.get $10)
- (local.tee $11
- (i32.eq
- (i32.load8_s offset=2
- (local.get $6)
- )
- (i32.const 36)
- )
- )
- )
- )
- )
- )
- (local.set $17
- (select
- (local.get $8)
- (i32.const -1)
- (local.get $11)
- )
- )
- (select
- (i32.const 1)
- (local.get $1)
- (local.get $11)
- )
- )
- (block (result i32)
- (local.set $6
- (local.get $11)
- )
- (local.set $17
- (i32.const -1)
- )
- (local.get $1)
- )
- )
- )
- (block $label$break$L25
- (if
- (i32.eq
- (i32.and
- (local.tee $11
- (i32.shr_s
- (i32.shl
- (local.get $6)
- (i32.const 24)
- )
- (i32.const 24)
- )
- )
- (i32.const -32)
- )
- (i32.const 32)
- )
- (block
- (local.set $1
- (local.get $6)
- )
- (local.set $6
- (local.get $11)
- )
- (local.set $11
- (i32.const 0)
- )
- (loop $while-in4
- (if
- (i32.eqz
- (i32.and
- (i32.shl
- (i32.const 1)
- (i32.add
- (local.get $6)
- (i32.const -32)
- )
- )
- (i32.const 75913)
- )
- )
- (block
- (local.set $6
- (local.get $1)
- )
- (local.set $1
- (local.get $11)
- )
- (br $label$break$L25)
- )
- )
- (local.set $11
- (i32.or
- (i32.shl
- (i32.const 1)
- (i32.add
- (i32.shr_s
- (i32.shl
- (local.get $1)
- (i32.const 24)
- )
- (i32.const 24)
- )
- (i32.const -32)
- )
- )
- (local.get $11)
- )
- )
- (br_if $while-in4
- (i32.eq
- (i32.and
- (local.tee $6
- (local.tee $1
- (i32.load8_s
- (local.tee $10
- (i32.add
- (local.get $10)
- (i32.const 1)
- )
- )
- )
- )
- )
- (i32.const -32)
- )
- (i32.const 32)
- )
- )
- (local.set $6
- (local.get $1)
- )
- (local.set $1
- (local.get $11)
- )
- )
- )
- (local.set $1
- (i32.const 0)
- )
- )
- )
- (block $do-once5
- (if
- (i32.eq
- (i32.and
- (local.get $6)
- (i32.const 255)
- )
- (i32.const 42)
- )
- (block
- (local.set $10
- (block $__rjto$0 (result i32)
- (block $__rjti$0
- (br_if $__rjti$0
- (i32.ge_u
- (local.tee $11
- (i32.add
- (i32.load8_s
- (local.tee $6
- (i32.add
- (local.get $10)
- (i32.const 1)
- )
- )
- )
- (i32.const -48)
- )
- )
- (i32.const 10)
- )
- )
- (br_if $__rjti$0
- (i32.ne
- (i32.load8_s offset=2
- (local.get $10)
- )
- (i32.const 36)
- )
- )
- (i32.store
- (i32.add
- (local.get $4)
- (i32.shl
- (local.get $11)
- (i32.const 2)
- )
- )
- (i32.const 10)
- )
- (drop
- (i32.load offset=4
- (local.tee $6
- (i32.add
- (local.get $3)
- (i32.shl
- (i32.add
- (i32.load8_s
- (local.get $6)
- )
- (i32.const -48)
- )
- (i32.const 3)
- )
- )
- )
- )
- )
- (local.set $8
- (i32.const 1)
- )
- (local.set $14
- (i32.load
- (local.get $6)
- )
- )
- (br $__rjto$0
- (i32.add
- (local.get $10)
- (i32.const 3)
- )
- )
- )
- (if
- (local.get $8)
- (block
- (local.set $16
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- )
- (if
- (i32.eqz
- (local.get $29)
- )
- (block
- (local.set $11
- (local.get $1)
- )
- (local.set $10
- (local.get $6)
- )
- (local.set $1
- (i32.const 0)
- )
- (local.set $14
- (i32.const 0)
- )
- (br $do-once5)
- )
- )
- (local.set $14
- (i32.load
- (local.tee $10
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $10)
- (i32.const 4)
- )
- )
- (local.set $8
- (i32.const 0)
- )
- (local.get $6)
- )
- )
- (local.set $11
- (if (result i32)
- (i32.lt_s
- (local.get $14)
- (i32.const 0)
- )
- (block (result i32)
- (local.set $14
- (i32.sub
- (i32.const 0)
- (local.get $14)
- )
- )
- (i32.or
- (local.get $1)
- (i32.const 8192)
- )
- )
- (local.get $1)
- )
- )
- (local.set $1
- (local.get $8)
- )
- )
- (if
- (i32.lt_u
- (local.tee $6
- (i32.add
- (i32.shr_s
- (i32.shl
- (local.get $6)
- (i32.const 24)
- )
- (i32.const 24)
- )
- (i32.const -48)
- )
- )
- (i32.const 10)
- )
- (block
- (local.set $11
- (i32.const 0)
- )
- (loop $while-in8
- (local.set $6
- (i32.add
- (i32.mul
- (local.get $11)
- (i32.const 10)
- )
- (local.get $6)
- )
- )
- (if
- (i32.lt_u
- (local.tee $9
- (i32.add
- (i32.load8_s
- (local.tee $10
- (i32.add
- (local.get $10)
- (i32.const 1)
- )
- )
- )
- (i32.const -48)
- )
- )
- (i32.const 10)
- )
- (block
- (local.set $11
- (local.get $6)
- )
- (local.set $6
- (local.get $9)
- )
- (br $while-in8)
- )
- )
- )
- (if
- (i32.lt_s
- (local.get $6)
- (i32.const 0)
- )
- (block
- (local.set $16
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- (block
- (local.set $11
- (local.get $1)
- )
- (local.set $1
- (local.get $8)
- )
- (local.set $14
- (local.get $6)
- )
- )
- )
- )
- (block
- (local.set $11
- (local.get $1)
- )
- (local.set $1
- (local.get $8)
- )
- (local.set $14
- (i32.const 0)
- )
- )
- )
- )
- )
- (local.set $6
- (block $label$break$L46 (result i32)
- (if (result i32)
- (i32.eq
- (i32.load8_s
- (local.get $10)
- )
- (i32.const 46)
- )
- (block (result i32)
- (if
- (i32.ne
- (local.tee $8
- (i32.load8_s
- (local.tee $6
- (i32.add
- (local.get $10)
- (i32.const 1)
- )
- )
- )
- )
- (i32.const 42)
- )
- (block
- (if
- (i32.lt_u
- (local.tee $9
- (i32.add
- (local.get $8)
- (i32.const -48)
- )
- )
- (i32.const 10)
- )
- (block
- (local.set $10
- (local.get $6)
- )
- (local.set $8
- (i32.const 0)
- )
- (local.set $6
- (local.get $9)
- )
- )
- (block
- (local.set $10
- (local.get $6)
- )
- (br $label$break$L46
- (i32.const 0)
- )
- )
- )
- (loop $while-in11
- (drop
- (br_if $label$break$L46
- (local.tee $6
- (i32.add
- (i32.mul
- (local.get $8)
- (i32.const 10)
- )
- (local.get $6)
- )
- )
- (i32.ge_u
- (local.tee $9
- (i32.add
- (i32.load8_s
- (local.tee $10
- (i32.add
- (local.get $10)
- (i32.const 1)
- )
- )
- )
- (i32.const -48)
- )
- )
- (i32.const 10)
- )
- )
- )
- (local.set $8
- (local.get $6)
- )
- (local.set $6
- (local.get $9)
- )
- (br $while-in11)
- )
- )
- )
- (if
- (i32.lt_u
- (local.tee $8
- (i32.add
- (i32.load8_s
- (local.tee $6
- (i32.add
- (local.get $10)
- (i32.const 2)
- )
- )
- )
- (i32.const -48)
- )
- )
- (i32.const 10)
- )
- (if
- (i32.eq
- (i32.load8_s offset=3
- (local.get $10)
- )
- (i32.const 36)
- )
- (block
- (i32.store
- (i32.add
- (local.get $4)
- (i32.shl
- (local.get $8)
- (i32.const 2)
- )
- )
- (i32.const 10)
- )
- (drop
- (i32.load offset=4
- (local.tee $6
- (i32.add
- (local.get $3)
- (i32.shl
- (i32.add
- (i32.load8_s
- (local.get $6)
- )
- (i32.const -48)
- )
- (i32.const 3)
- )
- )
- )
- )
- )
- (local.set $10
- (i32.add
- (local.get $10)
- (i32.const 4)
- )
- )
- (br $label$break$L46
- (i32.load
- (local.get $6)
- )
- )
- )
- )
- )
- (if
- (local.get $1)
- (block
- (local.set $16
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- )
- (if (result i32)
- (local.get $29)
- (block (result i32)
- (local.set $8
- (i32.load
- (local.tee $10
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $10)
- (i32.const 4)
- )
- )
- (local.set $10
- (local.get $6)
- )
- (local.get $8)
- )
- (block (result i32)
- (local.set $10
- (local.get $6)
- )
- (i32.const 0)
- )
- )
- )
- (i32.const -1)
- )
- )
- )
- (local.set $8
- (local.get $10)
- )
- (local.set $9
- (i32.const 0)
- )
- (loop $while-in13
- (if
- (i32.gt_u
- (local.tee $12
- (i32.add
- (i32.load8_s
- (local.get $8)
- )
- (i32.const -65)
- )
- )
- (i32.const 57)
- )
- (block
- (local.set $16
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- )
- (local.set $10
- (i32.add
- (local.get $8)
- (i32.const 1)
- )
- )
- (if
- (i32.lt_u
- (i32.add
- (local.tee $12
- (i32.and
- (local.tee $13
- (i32.load8_s
- (i32.add
- (i32.add
- (i32.mul
- (local.get $9)
- (i32.const 58)
- )
- (i32.const 3611)
- )
- (local.get $12)
- )
- )
- )
- (i32.const 255)
- )
- )
- (i32.const -1)
- )
- (i32.const 8)
- )
- (block
- (local.set $8
- (local.get $10)
- )
- (local.set $9
- (local.get $12)
- )
- (br $while-in13)
- )
- (local.set $18
- (local.get $8)
- )
- )
- )
- (if
- (i32.eqz
- (i32.and
- (local.get $13)
- (i32.const 255)
- )
- )
- (block
- (local.set $16
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- )
- (local.set $8
- (i32.gt_s
- (local.get $17)
- (i32.const -1)
- )
- )
- (block $__rjto$2
- (block $__rjti$2
- (if
- (i32.eq
- (i32.and
- (local.get $13)
- (i32.const 255)
- )
- (i32.const 19)
- )
- (if
- (local.get $8)
- (block
- (local.set $16
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- (br $__rjti$2)
- )
- (block
- (if
- (local.get $8)
- (block
- (i32.store
- (i32.add
- (local.get $4)
- (i32.shl
- (local.get $17)
- (i32.const 2)
- )
- )
- (local.get $12)
- )
- (local.set $13
- (i32.load offset=4
- (local.tee $12
- (i32.add
- (local.get $3)
- (i32.shl
- (local.get $17)
- (i32.const 3)
- )
- )
- )
- )
- )
- (i32.store
- (local.tee $8
- (local.get $19)
- )
- (i32.load
- (local.get $12)
- )
- )
- (i32.store offset=4
- (local.get $8)
- (local.get $13)
- )
- (br $__rjti$2)
- )
- )
- (if
- (i32.eqz
- (local.get $29)
- )
- (block
- (local.set $16
- (i32.const 0)
- )
- (br $label$break$L1)
- )
- )
- (call $_pop_arg_336
- (local.get $19)
- (local.get $12)
- (local.get $2)
- )
- )
- )
- (br $__rjto$2)
- )
- (if
- (i32.eqz
- (local.get $29)
- )
- (block
- (local.set $5
- (local.get $10)
- )
- (local.set $10
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- )
- )
- (local.set $11
- (select
- (local.tee $8
- (i32.and
- (local.get $11)
- (i32.const -65537)
- )
- )
- (local.get $11)
- (i32.and
- (local.get $11)
- (i32.const 8192)
- )
- )
- )
- (local.set $5
- (block $__rjto$8 (result i32)
- (block $__rjti$8
- (block $__rjti$7
- (block $__rjti$6
- (block $__rjti$5
- (block $__rjti$4
- (block $__rjti$3
- (block $switch-default120
- (block $switch-case42
- (block $switch-case41
- (block $switch-case40
- (block $switch-case39
- (block $switch-case38
- (block $switch-case37
- (block $switch-case36
- (block $switch-case34
- (block $switch-case33
- (block $switch-case29
- (block $switch-case28
- (block $switch-case27
- (br_table $switch-case42 $switch-default120 $switch-case40 $switch-default120 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case41 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case29 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-default120 $switch-case42 $switch-default120 $switch-case37 $switch-case34 $switch-case42 $switch-case42 $switch-case42 $switch-default120 $switch-case34 $switch-default120 $switch-default120 $switch-default120 $switch-case38 $switch-case27 $switch-case33 $switch-case28 $switch-default120 $switch-default120 $switch-case39 $switch-default120 $switch-case36 $switch-default120 $switch-default120 $switch-case29 $switch-default120
- (i32.sub
- (local.tee $18
- (select
- (i32.and
- (local.tee $12
- (i32.load8_s
- (local.get $18)
- )
- )
- (i32.const -33)
- )
- (local.get $12)
- (i32.and
- (i32.ne
- (local.get $9)
- (i32.const 0)
- )
- (i32.eq
- (i32.and
- (local.get $12)
- (i32.const 15)
- )
- (i32.const 3)
- )
- )
- )
- )
- (i32.const 65)
- )
- )
- )
- (block $switch-default26
- (block $switch-case25
- (block $switch-case24
- (block $switch-case23
- (block $switch-case22
- (block $switch-case21
- (block $switch-case20
- (block $switch-case19
- (br_table $switch-case19 $switch-case20 $switch-case21 $switch-case22 $switch-case23 $switch-default26 $switch-case24 $switch-case25 $switch-default26
- (local.get $9)
- )
- )
- (i32.store
- (i32.load
- (local.get $19)
- )
- (local.get $16)
- )
- (local.set $5
- (local.get $10)
- )
- (local.set $10
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (i32.store
- (i32.load
- (local.get $19)
- )
- (local.get $16)
- )
- (local.set $5
- (local.get $10)
- )
- (local.set $10
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (i32.store
- (local.tee $5
- (i32.load
- (local.get $19)
- )
- )
- (local.get $16)
- )
- (i32.store offset=4
- (local.get $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (local.get $16)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- (local.set $5
- (local.get $10)
- )
- (local.set $10
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (i32.store16
- (i32.load
- (local.get $19)
- )
- (local.get $16)
- )
- (local.set $5
- (local.get $10)
- )
- (local.set $10
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (i32.store8
- (i32.load
- (local.get $19)
- )
- (local.get $16)
- )
- (local.set $5
- (local.get $10)
- )
- (local.set $10
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (i32.store
- (i32.load
- (local.get $19)
- )
- (local.get $16)
- )
- (local.set $5
- (local.get $10)
- )
- (local.set $10
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (i32.store
- (local.tee $5
- (i32.load
- (local.get $19)
- )
- )
- (local.get $16)
- )
- (i32.store offset=4
- (local.get $5)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (local.get $16)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- (local.set $5
- (local.get $10)
- )
- (local.set $10
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (local.set $5
- (local.get $10)
- )
- (local.set $10
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (local.set $7
- (i32.or
- (local.get $11)
- (i32.const 8)
- )
- )
- (local.set $6
- (select
- (local.get $6)
- (i32.const 8)
- (i32.gt_u
- (local.get $6)
- (i32.const 8)
- )
- )
- )
- (local.set $18
- (i32.const 120)
- )
- (br $__rjti$3)
- )
- (local.set $7
- (local.get $11)
- )
- (br $__rjti$3)
- )
- (if
- (i32.and
- (i32.eqz
- (local.tee $7
- (i32.load
- (local.tee $5
- (local.get $19)
- )
- )
- )
- )
- (i32.eqz
- (local.tee $8
- (i32.load offset=4
- (local.get $5)
- )
- )
- )
- )
- (local.set $8
- (local.get $26)
- )
- (block
- (local.set $5
- (local.get $7)
- )
- (local.set $7
- (local.get $8)
- )
- (local.set $8
- (local.get $26)
- )
- (loop $while-in32
- (i32.store8
- (local.tee $8
- (i32.add
- (local.get $8)
- (i32.const -1)
- )
- )
- (i32.or
- (i32.and
- (local.get $5)
- (i32.const 7)
- )
- (i32.const 48)
- )
- )
- (br_if $while-in32
- (i32.eqz
- (i32.and
- (i32.eqz
- (local.tee $5
- (call $_bitshift64Lshr
- (local.get $5)
- (local.get $7)
- (i32.const 3)
- )
- )
- )
- (i32.eqz
- (local.tee $7
- (global.get $tempRet0)
- )
- )
- )
- )
- )
- )
- )
- )
- (local.set $5
- (if (result i32)
- (i32.and
- (local.get $11)
- (i32.const 8)
- )
- (block (result i32)
- (local.set $7
- (local.get $11)
- )
- (local.set $6
- (select
- (local.tee $11
- (i32.add
- (i32.sub
- (local.get $39)
- (local.get $8)
- )
- (i32.const 1)
- )
- )
- (local.get $6)
- (i32.lt_s
- (local.get $6)
- (local.get $11)
- )
- )
- )
- (local.get $8)
- )
- (block (result i32)
- (local.set $7
- (local.get $11)
- )
- (local.get $8)
- )
- )
- )
- (local.set $8
- (i32.const 0)
- )
- (local.set $9
- (i32.const 4091)
- )
- (br $__rjti$8)
- )
- (local.set $5
- (i32.load
- (local.tee $7
- (local.get $19)
- )
- )
- )
- (if
- (i32.lt_s
- (local.tee $7
- (i32.load offset=4
- (local.get $7)
- )
- )
- (i32.const 0)
- )
- (block
- (i32.store
- (local.tee $8
- (local.get $19)
- )
- (local.tee $5
- (call $_i64Subtract
- (i32.const 0)
- (i32.const 0)
- (local.get $5)
- (local.get $7)
- )
- )
- )
- (i32.store offset=4
- (local.get $8)
- (local.tee $7
- (global.get $tempRet0)
- )
- )
- (local.set $8
- (i32.const 1)
- )
- (local.set $9
- (i32.const 4091)
- )
- (br $__rjti$4)
- )
- )
- (local.set $9
- (if (result i32)
- (i32.and
- (local.get $11)
- (i32.const 2048)
- )
- (block (result i32)
- (local.set $8
- (i32.const 1)
- )
- (i32.const 4092)
- )
- (block (result i32)
- (local.set $8
- (local.tee $9
- (i32.and
- (local.get $11)
- (i32.const 1)
- )
- )
- )
- (select
- (i32.const 4093)
- (i32.const 4091)
- (local.get $9)
- )
- )
- )
- )
- (br $__rjti$4)
- )
- (local.set $5
- (i32.load
- (local.tee $7
- (local.get $19)
- )
- )
- )
- (local.set $7
- (i32.load offset=4
- (local.get $7)
- )
- )
- (local.set $8
- (i32.const 0)
- )
- (local.set $9
- (i32.const 4091)
- )
- (br $__rjti$4)
- )
- (drop
- (i32.load offset=4
- (local.tee $5
- (local.get $19)
- )
- )
- )
- (i32.store8
- (local.get $40)
- (i32.load
- (local.get $5)
- )
- )
- (local.set $7
- (local.get $40)
- )
- (local.set $11
- (local.get $8)
- )
- (local.set $12
- (i32.const 1)
- )
- (local.set $8
- (i32.const 0)
- )
- (local.set $9
- (i32.const 4091)
- )
- (br $__rjto$8
- (local.get $26)
- )
- )
- (local.set $5
- (call $_strerror
- (i32.load
- (call $___errno_location)
- )
- )
- )
- (br $__rjti$5)
- )
- (local.set $5
- (select
- (local.tee $5
- (i32.load
- (local.get $19)
- )
- )
- (i32.const 4101)
- (local.get $5)
- )
- )
- (br $__rjti$5)
- )
- (drop
- (i32.load offset=4
- (local.tee $5
- (local.get $19)
- )
- )
- )
- (i32.store
- (local.get $41)
- (i32.load
- (local.get $5)
- )
- )
- (i32.store
- (local.get $44)
- (i32.const 0)
- )
- (i32.store
- (local.get $19)
- (local.get $41)
- )
- (local.set $8
- (i32.const -1)
- )
- (br $__rjti$6)
- )
- (if
- (local.get $6)
- (block
- (local.set $8
- (local.get $6)
- )
- (br $__rjti$6)
- )
- (block
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $14)
- (i32.const 0)
- (local.get $11)
- )
- (local.set $7
- (i32.const 0)
- )
- (br $__rjti$7)
- )
- )
- )
- (local.set $15
- (f64.load
- (local.get $19)
- )
- )
- (i32.store
- (local.get $20)
- (i32.const 0)
- )
- (f64.store
- (global.get $tempDoublePtr)
- (local.get $15)
- )
- (drop
- (i32.load
- (global.get $tempDoublePtr)
- )
- )
- (local.set $31
- (if (result i32)
- (i32.lt_s
- (i32.load offset=4
- (global.get $tempDoublePtr)
- )
- (i32.const 0)
- )
- (block (result i32)
- (local.set $27
- (i32.const 1)
- )
- (local.set $15
- (f64.neg
- (local.get $15)
- )
- )
- (i32.const 4108)
- )
- (if (result i32)
- (i32.and
- (local.get $11)
- (i32.const 2048)
- )
- (block (result i32)
- (local.set $27
- (i32.const 1)
- )
- (i32.const 4111)
- )
- (block (result i32)
- (local.set $27
- (local.tee $5
- (i32.and
- (local.get $11)
- (i32.const 1)
- )
- )
- )
- (select
- (i32.const 4114)
- (i32.const 4109)
- (local.get $5)
- )
- )
- )
- )
- )
- (f64.store
- (global.get $tempDoublePtr)
- (local.get $15)
- )
- (drop
- (i32.load
- (global.get $tempDoublePtr)
- )
- )
- (local.set $7
- (block $do-once49 (result i32)
- (if (result i32)
- (i32.or
- (i32.lt_u
- (local.tee $5
- (i32.and
- (i32.load offset=4
- (global.get $tempDoublePtr)
- )
- (i32.const 2146435072)
- )
- )
- (i32.const 2146435072)
- )
- (i32.and
- (i32.eq
- (local.get $5)
- (i32.const 2146435072)
- )
- (i32.const 0)
- )
- )
- (block (result i32)
- (if
- (local.tee $5
- (f64.ne
- (local.tee $23
- (f64.mul
- (call $_frexp
- (local.get $15)
- (local.tee $5
- (local.get $20)
- )
- )
- (f64.const 2)
- )
- )
- (f64.const 0)
- )
- )
- (i32.store
- (local.get $20)
- (i32.add
- (i32.load
- (local.get $20)
- )
- (i32.const -1)
- )
- )
- )
- (if
- (i32.eq
- (local.tee $24
- (i32.or
- (local.get $18)
- (i32.const 32)
- )
- )
- (i32.const 97)
- )
- (block
- (local.set $9
- (select
- (i32.add
- (local.get $31)
- (i32.const 9)
- )
- (local.get $31)
- (local.tee $13
- (i32.and
- (local.get $18)
- (i32.const 32)
- )
- )
- )
- )
- (local.set $15
- (if (result f64)
- (i32.or
- (i32.gt_u
- (local.get $6)
- (i32.const 11)
- )
- (i32.eqz
- (local.tee $5
- (i32.sub
- (i32.const 12)
- (local.get $6)
- )
- )
- )
- )
- (local.get $23)
- (block (result f64)
- (local.set $15
- (f64.const 8)
- )
- (loop $while-in54
- (local.set $15
- (f64.mul
- (local.get $15)
- (f64.const 16)
- )
- )
- (br_if $while-in54
- (local.tee $5
- (i32.add
- (local.get $5)
- (i32.const -1)
- )
- )
- )
- )
- (if (result f64)
- (i32.eq
- (i32.load8_s
- (local.get $9)
- )
- (i32.const 45)
- )
- (f64.neg
- (f64.add
- (local.get $15)
- (f64.sub
- (f64.neg
- (local.get $23)
- )
- (local.get $15)
- )
- )
- )
- (f64.sub
- (f64.add
- (local.get $23)
- (local.get $15)
- )
- (local.get $15)
- )
- )
- )
- )
- )
- (if
- (i32.eq
- (local.tee $5
- (call $_fmt_u
- (local.tee $5
- (select
- (i32.sub
- (i32.const 0)
- (local.tee $7
- (i32.load
- (local.get $20)
- )
- )
- )
- (local.get $7)
- (i32.lt_s
- (local.get $7)
- (i32.const 0)
- )
- )
- )
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (local.get $5)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- (local.get $34)
- )
- )
- (local.get $34)
- )
- (block
- (i32.store8
- (local.get $42)
- (i32.const 48)
- )
- (local.set $5
- (local.get $42)
- )
- )
- )
- (local.set $12
- (i32.or
- (local.get $27)
- (i32.const 2)
- )
- )
- (i32.store8
- (i32.add
- (local.get $5)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (local.get $7)
- (i32.const 31)
- )
- (i32.const 2)
- )
- (i32.const 43)
- )
- )
- (i32.store8
- (local.tee $8
- (i32.add
- (local.get $5)
- (i32.const -2)
- )
- )
- (i32.add
- (local.get $18)
- (i32.const 15)
- )
- )
- (local.set $18
- (i32.lt_s
- (local.get $6)
- (i32.const 1)
- )
- )
- (local.set $17
- (i32.eqz
- (i32.and
- (local.get $11)
- (i32.const 8)
- )
- )
- )
- (local.set $5
- (local.get $22)
- )
- (loop $while-in56
- (i32.store8
- (local.get $5)
- (i32.or
- (i32.load8_u
- (i32.add
- (local.tee $7
- (call $f64-to-int
- (local.get $15)
- )
- )
- (i32.const 4075)
- )
- )
- (local.get $13)
- )
- )
- (local.set $15
- (f64.mul
- (f64.sub
- (local.get $15)
- (f64.convert_i32_s
- (local.get $7)
- )
- )
- (f64.const 16)
- )
- )
- (local.set $5
- (block $do-once57 (result i32)
- (if (result i32)
- (i32.eq
- (i32.sub
- (local.tee $7
- (i32.add
- (local.get $5)
- (i32.const 1)
- )
- )
- (local.get $37)
- )
- (i32.const 1)
- )
- (block (result i32)
- (drop
- (br_if $do-once57
- (local.get $7)
- (i32.and
- (local.get $17)
- (i32.and
- (local.get $18)
- (f64.eq
- (local.get $15)
- (f64.const 0)
- )
- )
- )
- )
- )
- (i32.store8
- (local.get $7)
- (i32.const 46)
- )
- (i32.add
- (local.get $5)
- (i32.const 2)
- )
- )
- (local.get $7)
- )
- )
- )
- (br_if $while-in56
- (f64.ne
- (local.get $15)
- (f64.const 0)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $14)
- (local.tee $7
- (i32.add
- (local.tee $6
- (select
- (i32.sub
- (i32.add
- (local.get $47)
- (local.get $6)
- )
- (local.get $8)
- )
- (i32.add
- (i32.sub
- (local.get $45)
- (local.get $8)
- )
- (local.get $5)
- )
- (i32.and
- (i32.ne
- (local.get $6)
- (i32.const 0)
- )
- (i32.lt_s
- (i32.add
- (local.get $46)
- (local.get $5)
- )
- (local.get $6)
- )
- )
- )
- )
- (local.get $12)
- )
- )
- (local.get $11)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $9)
- (local.get $12)
- (local.get $0)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 48)
- (local.get $14)
- (local.get $7)
- (i32.xor
- (local.get $11)
- (i32.const 65536)
- )
- )
- (local.set $5
- (i32.sub
- (local.get $5)
- (local.get $37)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $22)
- (local.get $5)
- (local.get $0)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 48)
- (i32.sub
- (local.get $6)
- (i32.add
- (local.get $5)
- (local.tee $5
- (i32.sub
- (local.get $28)
- (local.get $8)
- )
- )
- )
- )
- (i32.const 0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $8)
- (local.get $5)
- (local.get $0)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $14)
- (local.get $7)
- (i32.xor
- (local.get $11)
- (i32.const 8192)
- )
- )
- (br $do-once49
- (select
- (local.get $14)
- (local.get $7)
- (i32.lt_s
- (local.get $7)
- (local.get $14)
- )
- )
- )
- )
- )
- (local.set $15
- (if (result f64)
- (local.get $5)
- (block (result f64)
- (i32.store
- (local.get $20)
- (local.tee $5
- (i32.add
- (i32.load
- (local.get $20)
- )
- (i32.const -28)
- )
- )
- )
- (f64.mul
- (local.get $23)
- (f64.const 268435456)
- )
- )
- (block (result f64)
- (local.set $5
- (i32.load
- (local.get $20)
- )
- )
- (local.get $23)
- )
- )
- )
- (local.set $7
- (local.tee $8
- (select
- (local.get $48)
- (local.get $49)
- (i32.lt_s
- (local.get $5)
- (i32.const 0)
- )
- )
- )
- )
- (loop $while-in60
- (i32.store
- (local.get $7)
- (local.tee $5
- (call $f64-to-int
- (local.get $15)
- )
- )
- )
- (local.set $7
- (i32.add
- (local.get $7)
- (i32.const 4)
- )
- )
- (br_if $while-in60
- (f64.ne
- (local.tee $15
- (f64.mul
- (f64.sub
- (local.get $15)
- (f64.convert_i32_u
- (local.get $5)
- )
- )
- (f64.const 1e9)
- )
- )
- (f64.const 0)
- )
- )
- )
- (if
- (i32.gt_s
- (local.tee $9
- (i32.load
- (local.get $20)
- )
- )
- (i32.const 0)
- )
- (block
- (local.set $5
- (local.get $8)
- )
- (loop $while-in62
- (local.set $13
- (select
- (i32.const 29)
- (local.get $9)
- (i32.gt_s
- (local.get $9)
- (i32.const 29)
- )
- )
- )
- (block $do-once63
- (if
- (i32.ge_u
- (local.tee $9
- (i32.add
- (local.get $7)
- (i32.const -4)
- )
- )
- (local.get $5)
- )
- (block
- (local.set $12
- (i32.const 0)
- )
- (loop $while-in66
- (i32.store
- (local.get $9)
- (call $___uremdi3
- (local.tee $12
- (call $_i64Add
- (call $_bitshift64Shl
- (i32.load
- (local.get $9)
- )
- (i32.const 0)
- (local.get $13)
- )
- (global.get $tempRet0)
- (local.get $12)
- (i32.const 0)
- )
- )
- (local.tee $17
- (global.get $tempRet0)
- )
- (i32.const 1000000000)
- (i32.const 0)
- )
- )
- (local.set $12
- (call $___udivdi3
- (local.get $12)
- (local.get $17)
- (i32.const 1000000000)
- (i32.const 0)
- )
- )
- (br_if $while-in66
- (i32.ge_u
- (local.tee $9
- (i32.add
- (local.get $9)
- (i32.const -4)
- )
- )
- (local.get $5)
- )
- )
- )
- (br_if $do-once63
- (i32.eqz
- (local.get $12)
- )
- )
- (i32.store
- (local.tee $5
- (i32.add
- (local.get $5)
- (i32.const -4)
- )
- )
- (local.get $12)
- )
- )
- )
- )
- (loop $while-in68
- (if
- (i32.gt_u
- (local.get $7)
- (local.get $5)
- )
- (if
- (i32.eqz
- (i32.load
- (local.tee $9
- (i32.add
- (local.get $7)
- (i32.const -4)
- )
- )
- )
- )
- (block
- (local.set $7
- (local.get $9)
- )
- (br $while-in68)
- )
- )
- )
- )
- (i32.store
- (local.get $20)
- (local.tee $9
- (i32.sub
- (i32.load
- (local.get $20)
- )
- (local.get $13)
- )
- )
- )
- (br_if $while-in62
- (i32.gt_s
- (local.get $9)
- (i32.const 0)
- )
- )
- )
- )
- (local.set $5
- (local.get $8)
- )
- )
- (local.set $17
- (select
- (i32.const 6)
- (local.get $6)
- (i32.lt_s
- (local.get $6)
- (i32.const 0)
- )
- )
- )
- (if
- (i32.lt_s
- (local.get $9)
- (i32.const 0)
- )
- (block
- (local.set $21
- (i32.add
- (call $i32s-div
- (i32.add
- (local.get $17)
- (i32.const 25)
- )
- (i32.const 9)
- )
- (i32.const 1)
- )
- )
- (local.set $32
- (i32.eq
- (local.get $24)
- (i32.const 102)
- )
- )
- (local.set $6
- (local.get $5)
- )
- (local.set $5
- (local.get $7)
- )
- (loop $while-in70
- (local.set $13
- (select
- (i32.const 9)
- (local.tee $7
- (i32.sub
- (i32.const 0)
- (local.get $9)
- )
- )
- (i32.gt_s
- (local.get $7)
- (i32.const 9)
- )
- )
- )
- (block $do-once71
- (if
- (i32.lt_u
- (local.get $6)
- (local.get $5)
- )
- (block
- (local.set $12
- (i32.add
- (i32.shl
- (i32.const 1)
- (local.get $13)
- )
- (i32.const -1)
- )
- )
- (local.set $38
- (i32.shr_u
- (i32.const 1000000000)
- (local.get $13)
- )
- )
- (local.set $9
- (i32.const 0)
- )
- (local.set $7
- (local.get $6)
- )
- (loop $while-in74
- (i32.store
- (local.get $7)
- (i32.add
- (i32.shr_u
- (local.tee $33
- (i32.load
- (local.get $7)
- )
- )
- (local.get $13)
- )
- (local.get $9)
- )
- )
- (local.set $9
- (i32.mul
- (i32.and
- (local.get $33)
- (local.get $12)
- )
- (local.get $38)
- )
- )
- (br_if $while-in74
- (i32.lt_u
- (local.tee $7
- (i32.add
- (local.get $7)
- (i32.const 4)
- )
- )
- (local.get $5)
- )
- )
- )
- (local.set $7
- (select
- (local.get $6)
- (i32.add
- (local.get $6)
- (i32.const 4)
- )
- (i32.load
- (local.get $6)
- )
- )
- )
- (br_if $do-once71
- (i32.eqz
- (local.get $9)
- )
- )
- (i32.store
- (local.get $5)
- (local.get $9)
- )
- (local.set $5
- (i32.add
- (local.get $5)
- (i32.const 4)
- )
- )
- )
- (local.set $7
- (select
- (local.get $6)
- (i32.add
- (local.get $6)
- (i32.const 4)
- )
- (i32.load
- (local.get $6)
- )
- )
- )
- )
- )
- (local.set $12
- (select
- (i32.add
- (local.tee $6
- (select
- (local.get $8)
- (local.get $7)
- (local.get $32)
- )
- )
- (i32.shl
- (local.get $21)
- (i32.const 2)
- )
- )
- (local.get $5)
- (i32.gt_s
- (i32.shr_s
- (i32.sub
- (local.get $5)
- (local.get $6)
- )
- (i32.const 2)
- )
- (local.get $21)
- )
- )
- )
- (i32.store
- (local.get $20)
- (local.tee $9
- (i32.add
- (i32.load
- (local.get $20)
- )
- (local.get $13)
- )
- )
- )
- (if
- (i32.lt_s
- (local.get $9)
- (i32.const 0)
- )
- (block
- (local.set $6
- (local.get $7)
- )
- (local.set $5
- (local.get $12)
- )
- (br $while-in70)
- )
- (block
- (local.set $5
- (local.get $7)
- )
- (local.set $9
- (local.get $12)
- )
- )
- )
- )
- )
- (local.set $9
- (local.get $7)
- )
- )
- (local.set $21
- (local.get $8)
- )
- (block $do-once75
- (if
- (i32.lt_u
- (local.get $5)
- (local.get $9)
- )
- (block
- (local.set $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (local.get $21)
- (local.get $5)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- )
- (br_if $do-once75
- (i32.lt_u
- (local.tee $12
- (i32.load
- (local.get $5)
- )
- )
- (i32.const 10)
- )
- )
- (local.set $6
- (i32.const 10)
- )
- (loop $while-in78
- (local.set $7
- (i32.add
- (local.get $7)
- (i32.const 1)
- )
- )
- (br_if $while-in78
- (i32.ge_u
- (local.get $12)
- (local.tee $6
- (i32.mul
- (local.get $6)
- (i32.const 10)
- )
- )
- )
- )
- )
- )
- (local.set $7
- (i32.const 0)
- )
- )
- )
- (local.set $5
- (if (result i32)
- (i32.lt_s
- (local.tee $6
- (i32.add
- (i32.sub
- (local.get $17)
- (select
- (local.get $7)
- (i32.const 0)
- (i32.ne
- (local.get $24)
- (i32.const 102)
- )
- )
- )
- (i32.shr_s
- (i32.shl
- (i32.and
- (local.tee $32
- (i32.ne
- (local.get $17)
- (i32.const 0)
- )
- )
- (local.tee $38
- (i32.eq
- (local.get $24)
- (i32.const 103)
- )
- )
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- )
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (local.get $9)
- (local.get $21)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- (i32.const -9)
- )
- )
- (block (result i32)
- (local.set $13
- (call $i32s-div
- (local.tee $6
- (i32.add
- (local.get $6)
- (i32.const 9216)
- )
- )
- (i32.const 9)
- )
- )
- (if
- (i32.lt_s
- (local.tee $6
- (i32.add
- (if (result i32)
- (local.tee $12
- (i32.const 9)
- )
- (i32.rem_s
- (local.get $6)
- (local.get $12)
- )
- (i32.const 0)
- )
- (i32.const 1)
- )
- )
- (i32.const 9)
- )
- (block
- (local.set $12
- (i32.const 10)
- )
- (loop $while-in80
- (local.set $12
- (i32.mul
- (local.get $12)
- (i32.const 10)
- )
- )
- (br_if $while-in80
- (i32.ne
- (local.tee $6
- (i32.add
- (local.get $6)
- (i32.const 1)
- )
- )
- (i32.const 9)
- )
- )
- )
- )
- (local.set $12
- (i32.const 10)
- )
- )
- (local.set $13
- (call $i32u-rem
- (local.tee $24
- (i32.load
- (local.tee $6
- (i32.add
- (i32.add
- (local.get $8)
- (i32.shl
- (local.get $13)
- (i32.const 2)
- )
- )
- (i32.const -4092)
- )
- )
- )
- )
- (local.get $12)
- )
- )
- (block $do-once81
- (if
- (i32.eqz
- (i32.and
- (local.tee $33
- (i32.eq
- (i32.add
- (local.get $6)
- (i32.const 4)
- )
- (local.get $9)
- )
- )
- (i32.eqz
- (local.get $13)
- )
- )
- )
- (block
- (local.set $50
- (call $i32u-div
- (local.get $24)
- (local.get $12)
- )
- )
- (local.set $15
- (if (result f64)
- (i32.lt_u
- (local.get $13)
- (local.tee $51
- (call $i32s-div
- (local.get $12)
- (i32.const 2)
- )
- )
- )
- (f64.const 0.5)
- (select
- (f64.const 1)
- (f64.const 1.5)
- (i32.and
- (local.get $33)
- (i32.eq
- (local.get $13)
- (local.get $51)
- )
- )
- )
- )
- )
- (local.set $23
- (select
- (f64.const 9007199254740994)
- (f64.const 9007199254740992)
- (i32.and
- (local.get $50)
- (i32.const 1)
- )
- )
- )
- (block $do-once83
- (if
- (local.get $27)
- (block
- (br_if $do-once83
- (i32.ne
- (i32.load8_s
- (local.get $31)
- )
- (i32.const 45)
- )
- )
- (local.set $23
- (f64.neg
- (local.get $23)
- )
- )
- (local.set $15
- (f64.neg
- (local.get $15)
- )
- )
- )
- )
- )
- (i32.store
- (local.get $6)
- (local.tee $13
- (i32.sub
- (local.get $24)
- (local.get $13)
- )
- )
- )
- (br_if $do-once81
- (f64.eq
- (f64.add
- (local.get $23)
- (local.get $15)
- )
- (local.get $23)
- )
- )
- (i32.store
- (local.get $6)
- (local.tee $7
- (i32.add
- (local.get $13)
- (local.get $12)
- )
- )
- )
- (if
- (i32.gt_u
- (local.get $7)
- (i32.const 999999999)
- )
- (loop $while-in86
- (i32.store
- (local.get $6)
- (i32.const 0)
- )
- (if
- (i32.lt_u
- (local.tee $6
- (i32.add
- (local.get $6)
- (i32.const -4)
- )
- )
- (local.get $5)
- )
- (i32.store
- (local.tee $5
- (i32.add
- (local.get $5)
- (i32.const -4)
- )
- )
- (i32.const 0)
- )
- )
- (i32.store
- (local.get $6)
- (local.tee $7
- (i32.add
- (i32.load
- (local.get $6)
- )
- (i32.const 1)
- )
- )
- )
- (br_if $while-in86
- (i32.gt_u
- (local.get $7)
- (i32.const 999999999)
- )
- )
- )
- )
- (local.set $7
- (i32.mul
- (i32.shr_s
- (i32.sub
- (local.get $21)
- (local.get $5)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- )
- (br_if $do-once81
- (i32.lt_u
- (local.tee $13
- (i32.load
- (local.get $5)
- )
- )
- (i32.const 10)
- )
- )
- (local.set $12
- (i32.const 10)
- )
- (loop $while-in88
- (local.set $7
- (i32.add
- (local.get $7)
- (i32.const 1)
- )
- )
- (br_if $while-in88
- (i32.ge_u
- (local.get $13)
- (local.tee $12
- (i32.mul
- (local.get $12)
- (i32.const 10)
- )
- )
- )
- )
- )
- )
- )
- )
- (local.set $12
- (local.get $5)
- )
- (local.set $13
- (local.get $7)
- )
- (select
- (local.tee $5
- (i32.add
- (local.get $6)
- (i32.const 4)
- )
- )
- (local.get $9)
- (i32.gt_u
- (local.get $9)
- (local.get $5)
- )
- )
- )
- (block (result i32)
- (local.set $12
- (local.get $5)
- )
- (local.set $13
- (local.get $7)
- )
- (local.get $9)
- )
- )
- )
- (local.set $33
- (i32.sub
- (i32.const 0)
- (local.get $13)
- )
- )
- (loop $while-in90
- (block $while-out89
- (if
- (i32.le_u
- (local.get $5)
- (local.get $12)
- )
- (block
- (local.set $24
- (i32.const 0)
- )
- (local.set $9
- (local.get $5)
- )
- (br $while-out89)
- )
- )
- (if
- (i32.load
- (local.tee $7
- (i32.add
- (local.get $5)
- (i32.const -4)
- )
- )
- )
- (block
- (local.set $24
- (i32.const 1)
- )
- (local.set $9
- (local.get $5)
- )
- )
- (block
- (local.set $5
- (local.get $7)
- )
- (br $while-in90)
- )
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $14)
- (local.tee $13
- (i32.add
- (i32.add
- (i32.add
- (i32.add
- (local.get $27)
- (i32.const 1)
- )
- (local.tee $5
- (block $do-once91 (result i32)
- (if (result i32)
- (local.get $38)
- (block (result i32)
- (local.set $7
- (if (result i32)
- (i32.and
- (i32.gt_s
- (local.tee $5
- (i32.add
- (i32.xor
- (local.get $32)
- (i32.const 1)
- )
- (local.get $17)
- )
- )
- (local.get $13)
- )
- (i32.gt_s
- (local.get $13)
- (i32.const -5)
- )
- )
- (block (result i32)
- (local.set $17
- (i32.sub
- (i32.add
- (local.get $5)
- (i32.const -1)
- )
- (local.get $13)
- )
- )
- (i32.add
- (local.get $18)
- (i32.const -1)
- )
- )
- (block (result i32)
- (local.set $17
- (i32.add
- (local.get $5)
- (i32.const -1)
- )
- )
- (i32.add
- (local.get $18)
- (i32.const -2)
- )
- )
- )
- )
- (if
- (local.tee $5
- (i32.and
- (local.get $11)
- (i32.const 8)
- )
- )
- (block
- (local.set $21
- (local.get $5)
- )
- (br $do-once91
- (local.get $17)
- )
- )
- )
- (block $do-once93
- (if
- (local.get $24)
- (block
- (if
- (i32.eqz
- (local.tee $18
- (i32.load
- (i32.add
- (local.get $9)
- (i32.const -4)
- )
- )
- )
- )
- (block
- (local.set $5
- (i32.const 9)
- )
- (br $do-once93)
- )
- )
- (if
- (call $i32u-rem
- (local.get $18)
- (i32.const 10)
- )
- (block
- (local.set $5
- (i32.const 0)
- )
- (br $do-once93)
- )
- (block
- (local.set $6
- (i32.const 10)
- )
- (local.set $5
- (i32.const 0)
- )
- )
- )
- (loop $while-in96
- (local.set $5
- (i32.add
- (local.get $5)
- (i32.const 1)
- )
- )
- (br_if $while-in96
- (i32.eqz
- (call $i32u-rem
- (local.get $18)
- (local.tee $6
- (i32.mul
- (local.get $6)
- (i32.const 10)
- )
- )
- )
- )
- )
- )
- )
- (local.set $5
- (i32.const 9)
- )
- )
- )
- (local.set $6
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (local.get $9)
- (local.get $21)
- )
- (i32.const 2)
- )
- (i32.const 9)
- )
- (i32.const -9)
- )
- )
- (if (result i32)
- (i32.eq
- (i32.or
- (local.get $7)
- (i32.const 32)
- )
- (i32.const 102)
- )
- (block (result i32)
- (local.set $21
- (i32.const 0)
- )
- (select
- (local.get $17)
- (local.tee $5
- (select
- (i32.const 0)
- (local.tee $5
- (i32.sub
- (local.get $6)
- (local.get $5)
- )
- )
- (i32.lt_s
- (local.get $5)
- (i32.const 0)
- )
- )
- )
- (i32.lt_s
- (local.get $17)
- (local.get $5)
- )
- )
- )
- (block (result i32)
- (local.set $21
- (i32.const 0)
- )
- (select
- (local.get $17)
- (local.tee $5
- (select
- (i32.const 0)
- (local.tee $5
- (i32.sub
- (i32.add
- (local.get $6)
- (local.get $13)
- )
- (local.get $5)
- )
- )
- (i32.lt_s
- (local.get $5)
- (i32.const 0)
- )
- )
- )
- (i32.lt_s
- (local.get $17)
- (local.get $5)
- )
- )
- )
- )
- )
- (block (result i32)
- (local.set $21
- (i32.and
- (local.get $11)
- (i32.const 8)
- )
- )
- (local.set $7
- (local.get $18)
- )
- (local.get $17)
- )
- )
- )
- )
- )
- (i32.ne
- (local.tee $32
- (i32.or
- (local.get $5)
- (local.get $21)
- )
- )
- (i32.const 0)
- )
- )
- (if (result i32)
- (local.tee $17
- (i32.eq
- (i32.or
- (local.get $7)
- (i32.const 32)
- )
- (i32.const 102)
- )
- )
- (block (result i32)
- (local.set $18
- (i32.const 0)
- )
- (select
- (local.get $13)
- (i32.const 0)
- (i32.gt_s
- (local.get $13)
- (i32.const 0)
- )
- )
- )
- (block (result i32)
- (if
- (i32.lt_s
- (i32.sub
- (local.get $28)
- (local.tee $6
- (call $_fmt_u
- (local.tee $6
- (select
- (local.get $33)
- (local.get $13)
- (i32.lt_s
- (local.get $13)
- (i32.const 0)
- )
- )
- )
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (local.get $6)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- (local.get $34)
- )
- )
- )
- (i32.const 2)
- )
- (loop $while-in98
- (i32.store8
- (local.tee $6
- (i32.add
- (local.get $6)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in98
- (i32.lt_s
- (i32.sub
- (local.get $28)
- (local.get $6)
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.store8
- (i32.add
- (local.get $6)
- (i32.const -1)
- )
- (i32.add
- (i32.and
- (i32.shr_s
- (local.get $13)
- (i32.const 31)
- )
- (i32.const 2)
- )
- (i32.const 43)
- )
- )
- (i32.store8
- (local.tee $6
- (i32.add
- (local.get $6)
- (i32.const -2)
- )
- )
- (local.get $7)
- )
- (local.set $18
- (local.get $6)
- )
- (i32.sub
- (local.get $28)
- (local.get $6)
- )
- )
- )
- )
- )
- (local.get $11)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $31)
- (local.get $27)
- (local.get $0)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 48)
- (local.get $14)
- (local.get $13)
- (i32.xor
- (local.get $11)
- (i32.const 65536)
- )
- )
- (block $do-once99
- (if
- (local.get $17)
- (block
- (local.set $6
- (local.tee $12
- (select
- (local.get $8)
- (local.get $12)
- (i32.gt_u
- (local.get $12)
- (local.get $8)
- )
- )
- )
- )
- (loop $while-in102
- (local.set $7
- (call $_fmt_u
- (i32.load
- (local.get $6)
- )
- (i32.const 0)
- (local.get $30)
- )
- )
- (block $do-once103
- (if
- (i32.eq
- (local.get $6)
- (local.get $12)
- )
- (block
- (br_if $do-once103
- (i32.ne
- (local.get $7)
- (local.get $30)
- )
- )
- (i32.store8
- (local.get $35)
- (i32.const 48)
- )
- (local.set $7
- (local.get $35)
- )
- )
- (block
- (br_if $do-once103
- (i32.le_u
- (local.get $7)
- (local.get $22)
- )
- )
- (loop $while-in106
- (i32.store8
- (local.tee $7
- (i32.add
- (local.get $7)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in106
- (i32.gt_u
- (local.get $7)
- (local.get $22)
- )
- )
- )
- )
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $7)
- (i32.sub
- (local.get $43)
- (local.get $7)
- )
- (local.get $0)
- )
- )
- )
- (if
- (i32.le_u
- (local.tee $7
- (i32.add
- (local.get $6)
- (i32.const 4)
- )
- )
- (local.get $8)
- )
- (block
- (local.set $6
- (local.get $7)
- )
- (br $while-in102)
- )
- )
- )
- (block $do-once107
- (if
- (local.get $32)
- (block
- (br_if $do-once107
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (local.get $0)
- )
- )
- )
- )
- )
- (if
- (i32.and
- (i32.gt_s
- (local.get $5)
- (i32.const 0)
- )
- (i32.lt_u
- (local.get $7)
- (local.get $9)
- )
- )
- (loop $while-in110
- (if
- (i32.gt_u
- (local.tee $6
- (call $_fmt_u
- (i32.load
- (local.get $7)
- )
- (i32.const 0)
- (local.get $30)
- )
- )
- (local.get $22)
- )
- (loop $while-in112
- (i32.store8
- (local.tee $6
- (i32.add
- (local.get $6)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in112
- (i32.gt_u
- (local.get $6)
- (local.get $22)
- )
- )
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $6)
- (select
- (i32.const 9)
- (local.get $5)
- (i32.gt_s
- (local.get $5)
- (i32.const 9)
- )
- )
- (local.get $0)
- )
- )
- )
- (local.set $6
- (i32.add
- (local.get $5)
- (i32.const -9)
- )
- )
- (if
- (i32.and
- (i32.gt_s
- (local.get $5)
- (i32.const 9)
- )
- (i32.lt_u
- (local.tee $7
- (i32.add
- (local.get $7)
- (i32.const 4)
- )
- )
- (local.get $9)
- )
- )
- (block
- (local.set $5
- (local.get $6)
- )
- (br $while-in110)
- )
- (local.set $5
- (local.get $6)
- )
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 48)
- (i32.add
- (local.get $5)
- (i32.const 9)
- )
- (i32.const 9)
- (i32.const 0)
- )
- )
- (block
- (local.set $9
- (select
- (local.get $9)
- (i32.add
- (local.get $12)
- (i32.const 4)
- )
- (local.get $24)
- )
- )
- (if
- (i32.gt_s
- (local.get $5)
- (i32.const -1)
- )
- (block
- (local.set $17
- (i32.eqz
- (local.get $21)
- )
- )
- (local.set $6
- (local.get $12)
- )
- (local.set $7
- (local.get $5)
- )
- (loop $while-in114
- (if
- (i32.eq
- (local.tee $5
- (call $_fmt_u
- (i32.load
- (local.get $6)
- )
- (i32.const 0)
- (local.get $30)
- )
- )
- (local.get $30)
- )
- (block
- (i32.store8
- (local.get $35)
- (i32.const 48)
- )
- (local.set $5
- (local.get $35)
- )
- )
- )
- (block $do-once115
- (if
- (i32.eq
- (local.get $6)
- (local.get $12)
- )
- (block
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $5)
- (i32.const 1)
- (local.get $0)
- )
- )
- )
- (local.set $5
- (i32.add
- (local.get $5)
- (i32.const 1)
- )
- )
- (br_if $do-once115
- (i32.and
- (local.get $17)
- (i32.lt_s
- (local.get $7)
- (i32.const 1)
- )
- )
- )
- (br_if $do-once115
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (local.get $0)
- )
- )
- )
- (block
- (br_if $do-once115
- (i32.le_u
- (local.get $5)
- (local.get $22)
- )
- )
- (loop $while-in118
- (i32.store8
- (local.tee $5
- (i32.add
- (local.get $5)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (br_if $while-in118
- (i32.gt_u
- (local.get $5)
- (local.get $22)
- )
- )
- )
- )
- )
- )
- (local.set $8
- (i32.sub
- (local.get $43)
- (local.get $5)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $5)
- (select
- (local.get $8)
- (local.get $7)
- (i32.gt_s
- (local.get $7)
- (local.get $8)
- )
- )
- (local.get $0)
- )
- )
- )
- (br_if $while-in114
- (i32.and
- (i32.lt_u
- (local.tee $6
- (i32.add
- (local.get $6)
- (i32.const 4)
- )
- )
- (local.get $9)
- )
- (i32.gt_s
- (local.tee $7
- (i32.sub
- (local.get $7)
- (local.get $8)
- )
- )
- (i32.const -1)
- )
- )
- )
- (local.set $5
- (local.get $7)
- )
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 48)
- (i32.add
- (local.get $5)
- (i32.const 18)
- )
- (i32.const 18)
- (i32.const 0)
- )
- (br_if $do-once99
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $18)
- (i32.sub
- (local.get $28)
- (local.get $18)
- )
- (local.get $0)
- )
- )
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $14)
- (local.get $13)
- (i32.xor
- (local.get $11)
- (i32.const 8192)
- )
- )
- (select
- (local.get $14)
- (local.get $13)
- (i32.lt_s
- (local.get $13)
- (local.get $14)
- )
- )
- )
- (block (result i32)
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $14)
- (local.tee $7
- (i32.add
- (local.tee $9
- (select
- (i32.const 0)
- (local.get $27)
- (local.tee $6
- (i32.or
- (f64.ne
- (local.get $15)
- (local.get $15)
- )
- (i32.const 0)
- )
- )
- )
- )
- (i32.const 3)
- )
- )
- (local.get $8)
- )
- (if
- (i32.eqz
- (i32.and
- (local.tee $5
- (i32.load
- (local.get $0)
- )
- )
- (i32.const 32)
- )
- )
- (block
- (drop
- (call $___fwritex
- (local.get $31)
- (local.get $9)
- (local.get $0)
- )
- )
- (local.set $5
- (i32.load
- (local.get $0)
- )
- )
- )
- )
- (local.set $6
- (select
- (select
- (i32.const 4135)
- (i32.const 4139)
- (local.tee $8
- (i32.ne
- (i32.and
- (local.get $18)
- (i32.const 32)
- )
- (i32.const 0)
- )
- )
- )
- (select
- (i32.const 4127)
- (i32.const 4131)
- (local.get $8)
- )
- (local.get $6)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (local.get $5)
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $6)
- (i32.const 3)
- (local.get $0)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $14)
- (local.get $7)
- (i32.xor
- (local.get $11)
- (i32.const 8192)
- )
- )
- (select
- (local.get $14)
- (local.get $7)
- (i32.lt_s
- (local.get $7)
- (local.get $14)
- )
- )
- )
- )
- )
- )
- (local.set $5
- (local.get $10)
- )
- (local.set $10
- (local.get $7)
- )
- (br $label$continue$L1)
- )
- (local.set $7
- (local.get $5)
- )
- (local.set $12
- (local.get $6)
- )
- (local.set $8
- (i32.const 0)
- )
- (local.set $9
- (i32.const 4091)
- )
- (br $__rjto$8
- (local.get $26)
- )
- )
- (local.set $9
- (i32.and
- (local.get $18)
- (i32.const 32)
- )
- )
- (if
- (i32.and
- (i32.eqz
- (local.tee $8
- (i32.load
- (local.tee $5
- (local.get $19)
- )
- )
- )
- )
- (i32.eqz
- (local.tee $11
- (i32.load offset=4
- (local.get $5)
- )
- )
- )
- )
- (block
- (local.set $5
- (local.get $26)
- )
- (local.set $8
- (i32.const 0)
- )
- (local.set $9
- (i32.const 4091)
- )
- (br $__rjti$8)
- )
- (block
- (local.set $5
- (local.get $8)
- )
- (local.set $8
- (local.get $26)
- )
- (loop $while-in123
- (i32.store8
- (local.tee $8
- (i32.add
- (local.get $8)
- (i32.const -1)
- )
- )
- (i32.or
- (i32.load8_u
- (i32.add
- (i32.and
- (local.get $5)
- (i32.const 15)
- )
- (i32.const 4075)
- )
- )
- (local.get $9)
- )
- )
- (br_if $while-in123
- (i32.eqz
- (i32.and
- (i32.eqz
- (local.tee $5
- (call $_bitshift64Lshr
- (local.get $5)
- (local.get $11)
- (i32.const 4)
- )
- )
- )
- (i32.eqz
- (local.tee $11
- (global.get $tempRet0)
- )
- )
- )
- )
- )
- (local.set $5
- (local.get $8)
- )
- )
- (local.set $8
- (if (result i32)
- (i32.or
- (i32.eqz
- (i32.and
- (local.get $7)
- (i32.const 8)
- )
- )
- (i32.and
- (i32.eqz
- (i32.load
- (local.tee $11
- (local.get $19)
- )
- )
- )
- (i32.eqz
- (i32.load offset=4
- (local.get $11)
- )
- )
- )
- )
- (block (result i32)
- (local.set $9
- (i32.const 4091)
- )
- (i32.const 0)
- )
- (block (result i32)
- (local.set $9
- (i32.add
- (i32.shr_s
- (local.get $18)
- (i32.const 4)
- )
- (i32.const 4091)
- )
- )
- (i32.const 2)
- )
- )
- )
- (br $__rjti$8)
- )
- )
- )
- (local.set $5
- (call $_fmt_u
- (local.get $5)
- (local.get $7)
- (local.get $26)
- )
- )
- (local.set $7
- (local.get $11)
- )
- (br $__rjti$8)
- )
- (local.set $18
- (i32.eqz
- (local.tee $13
- (call $_memchr
- (local.get $5)
- (i32.const 0)
- (local.get $6)
- )
- )
- )
- )
- (local.set $7
- (local.get $5)
- )
- (local.set $11
- (local.get $8)
- )
- (local.set $12
- (select
- (local.get $6)
- (i32.sub
- (local.get $13)
- (local.get $5)
- )
- (local.get $18)
- )
- )
- (local.set $8
- (i32.const 0)
- )
- (local.set $9
- (i32.const 4091)
- )
- (br $__rjto$8
- (select
- (i32.add
- (local.get $5)
- (local.get $6)
- )
- (local.get $13)
- (local.get $18)
- )
- )
- )
- (local.set $5
- (i32.const 0)
- )
- (local.set $7
- (i32.const 0)
- )
- (local.set $6
- (i32.load
- (local.get $19)
- )
- )
- (loop $while-in125
- (block $while-out124
- (br_if $while-out124
- (i32.eqz
- (local.tee $9
- (i32.load
- (local.get $6)
- )
- )
- )
- )
- (br_if $while-out124
- (i32.or
- (i32.lt_s
- (local.tee $7
- (call $_wctomb
- (local.get $36)
- (local.get $9)
- )
- )
- (i32.const 0)
- )
- (i32.gt_u
- (local.get $7)
- (i32.sub
- (local.get $8)
- (local.get $5)
- )
- )
- )
- )
- (local.set $6
- (i32.add
- (local.get $6)
- (i32.const 4)
- )
- )
- (br_if $while-in125
- (i32.gt_u
- (local.get $8)
- (local.tee $5
- (i32.add
- (local.get $7)
- (local.get $5)
- )
- )
- )
- )
- )
- )
- (if
- (i32.lt_s
- (local.get $7)
- (i32.const 0)
- )
- (block
- (local.set $16
- (i32.const -1)
- )
- (br $label$break$L1)
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $14)
- (local.get $5)
- (local.get $11)
- )
- (if
- (local.get $5)
- (block
- (local.set $6
- (i32.const 0)
- )
- (local.set $7
- (i32.load
- (local.get $19)
- )
- )
- (loop $while-in127
- (if
- (i32.eqz
- (local.tee $8
- (i32.load
- (local.get $7)
- )
- )
- )
- (block
- (local.set $7
- (local.get $5)
- )
- (br $__rjti$7)
- )
- )
- (if
- (i32.gt_s
- (local.tee $6
- (i32.add
- (local.tee $8
- (call $_wctomb
- (local.get $36)
- (local.get $8)
- )
- )
- (local.get $6)
- )
- )
- (local.get $5)
- )
- (block
- (local.set $7
- (local.get $5)
- )
- (br $__rjti$7)
- )
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $36)
- (local.get $8)
- (local.get $0)
- )
- )
- )
- (local.set $7
- (i32.add
- (local.get $7)
- (i32.const 4)
- )
- )
- (br_if $while-in127
- (i32.lt_u
- (local.get $6)
- (local.get $5)
- )
- )
- (local.set $7
- (local.get $5)
- )
- )
- )
- (local.set $7
- (i32.const 0)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $14)
- (local.get $7)
- (i32.xor
- (local.get $11)
- (i32.const 8192)
- )
- )
- (local.set $5
- (local.get $10)
- )
- (local.set $10
- (select
- (local.get $14)
- (local.get $7)
- (i32.gt_s
- (local.get $14)
- (local.get $7)
- )
- )
- )
- (br $label$continue$L1)
- )
- (local.set $11
- (select
- (i32.and
- (local.get $7)
- (i32.const -65537)
- )
- (local.get $7)
- (i32.gt_s
- (local.get $6)
- (i32.const -1)
- )
- )
- )
- (local.set $12
- (if (result i32)
- (i32.or
- (local.get $6)
- (local.tee $12
- (i32.or
- (i32.ne
- (i32.load
- (local.tee $7
- (local.get $19)
- )
- )
- (i32.const 0)
- )
- (i32.ne
- (i32.load offset=4
- (local.get $7)
- )
- (i32.const 0)
- )
- )
- )
- )
- (block (result i32)
- (local.set $7
- (local.get $5)
- )
- (select
- (local.get $6)
- (local.tee $5
- (i32.add
- (i32.xor
- (i32.and
- (local.get $12)
- (i32.const 1)
- )
- (i32.const 1)
- )
- (i32.sub
- (local.get $39)
- (local.get $5)
- )
- )
- )
- (i32.gt_s
- (local.get $6)
- (local.get $5)
- )
- )
- )
- (block (result i32)
- (local.set $7
- (local.get $26)
- )
- (i32.const 0)
- )
- )
- )
- (local.get $26)
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.tee $6
- (select
- (local.tee $5
- (i32.add
- (local.get $8)
- (local.tee $12
- (select
- (local.tee $13
- (i32.sub
- (local.get $5)
- (local.get $7)
- )
- )
- (local.get $12)
- (i32.lt_s
- (local.get $12)
- (local.get $13)
- )
- )
- )
- )
- )
- (local.get $14)
- (i32.lt_s
- (local.get $14)
- (local.get $5)
- )
- )
- )
- (local.get $5)
- (local.get $11)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $9)
- (local.get $8)
- (local.get $0)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 48)
- (local.get $6)
- (local.get $5)
- (i32.xor
- (local.get $11)
- (i32.const 65536)
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 48)
- (local.get $12)
- (local.get $13)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const 32)
- )
- )
- (drop
- (call $___fwritex
- (local.get $7)
- (local.get $13)
- (local.get $0)
- )
- )
- )
- (call $_pad
- (local.get $0)
- (i32.const 32)
- (local.get $6)
- (local.get $5)
- (i32.xor
- (local.get $11)
- (i32.const 8192)
- )
- )
- (local.set $5
- (local.get $10)
- )
- (local.set $10
- (local.get $6)
- )
- (br $label$continue$L1)
- )
- )
- (br $label$break$L343)
- )
- (if
- (i32.eqz
- (local.get $0)
- )
- (if
- (local.get $1)
- (block
- (local.set $0
- (i32.const 1)
- )
- (loop $while-in130
- (if
- (local.tee $1
- (i32.load
- (i32.add
- (local.get $4)
- (i32.shl
- (local.get $0)
- (i32.const 2)
- )
- )
- )
- )
- (block
- (call $_pop_arg_336
- (i32.add
- (local.get $3)
- (i32.shl
- (local.get $0)
- (i32.const 3)
- )
- )
- (local.get $1)
- (local.get $2)
- )
- (br_if $while-in130
- (i32.lt_s
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- (i32.const 10)
- )
- )
- (local.set $16
- (i32.const 1)
- )
- (br $label$break$L343)
- )
- )
- )
- (if
- (i32.lt_s
- (local.get $0)
- (i32.const 10)
- )
- (loop $while-in132
- (if
- (i32.load
- (i32.add
- (local.get $4)
- (i32.shl
- (local.get $0)
- (i32.const 2)
- )
- )
- )
- (block
- (local.set $16
- (i32.const -1)
- )
- (br $label$break$L343)
- )
- )
- (br_if $while-in132
- (i32.lt_s
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- (i32.const 10)
- )
- )
- (local.set $16
- (i32.const 1)
- )
- )
- (local.set $16
- (i32.const 1)
- )
- )
- )
- (local.set $16
- (i32.const 0)
- )
- )
- )
- )
- (global.set $STACKTOP
- (local.get $25)
- )
- (local.get $16)
- )
- (func $_pop_arg_336 (param $0 i32) (param $1 i32) (param $2 i32)
- (local $3 i32)
- (local $4 f64)
- (local $5 i32)
- (block $label$break$L1
- (if
- (i32.le_u
- (local.get $1)
- (i32.const 20)
- )
- (block $switch-default
- (block $switch-case9
- (block $switch-case8
- (block $switch-case7
- (block $switch-case6
- (block $switch-case5
- (block $switch-case4
- (block $switch-case3
- (block $switch-case2
- (block $switch-case1
- (block $switch-case
- (br_table $switch-case $switch-case1 $switch-case2 $switch-case3 $switch-case4 $switch-case5 $switch-case6 $switch-case7 $switch-case8 $switch-case9 $switch-default
- (i32.sub
- (local.get $1)
- (i32.const 9)
- )
- )
- )
- (local.set $3
- (i32.load
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (i32.store
- (local.get $0)
- (local.get $3)
- )
- (br $label$break$L1)
- )
- (local.set $1
- (i32.load
- (local.tee $3
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $3)
- (i32.const 4)
- )
- )
- (i32.store
- (local.get $0)
- (local.get $1)
- )
- (i32.store offset=4
- (local.get $0)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (local.get $1)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- (br $label$break$L1)
- )
- (local.set $3
- (i32.load
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (i32.store
- (local.get $0)
- (local.get $3)
- )
- (i32.store offset=4
- (local.get $0)
- (i32.const 0)
- )
- (br $label$break$L1)
- )
- (local.set $5
- (i32.load
- (local.tee $3
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 7)
- )
- (i32.const -8)
- )
- )
- )
- )
- )
- (local.set $3
- (i32.load offset=4
- (local.get $3)
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- (i32.store
- (local.get $0)
- (local.get $5)
- )
- (i32.store offset=4
- (local.get $0)
- (local.get $3)
- )
- (br $label$break$L1)
- )
- (local.set $3
- (i32.load
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (i32.store
- (local.get $0)
- (local.tee $1
- (i32.shr_s
- (i32.shl
- (i32.and
- (local.get $3)
- (i32.const 65535)
- )
- (i32.const 16)
- )
- (i32.const 16)
- )
- )
- )
- (i32.store offset=4
- (local.get $0)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (local.get $1)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- (br $label$break$L1)
- )
- (local.set $3
- (i32.load
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (i32.store
- (local.get $0)
- (i32.and
- (local.get $3)
- (i32.const 65535)
- )
- )
- (i32.store offset=4
- (local.get $0)
- (i32.const 0)
- )
- (br $label$break$L1)
- )
- (local.set $3
- (i32.load
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (i32.store
- (local.get $0)
- (local.tee $1
- (i32.shr_s
- (i32.shl
- (i32.and
- (local.get $3)
- (i32.const 255)
- )
- (i32.const 24)
- )
- (i32.const 24)
- )
- )
- )
- (i32.store offset=4
- (local.get $0)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (local.get $1)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- (br $label$break$L1)
- )
- (local.set $3
- (i32.load
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 3)
- )
- (i32.const -4)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (i32.store
- (local.get $0)
- (i32.and
- (local.get $3)
- (i32.const 255)
- )
- )
- (i32.store offset=4
- (local.get $0)
- (i32.const 0)
- )
- (br $label$break$L1)
- )
- (local.set $4
- (f64.load
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 7)
- )
- (i32.const -8)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- (f64.store
- (local.get $0)
- (local.get $4)
- )
- (br $label$break$L1)
- )
- (local.set $4
- (f64.load
- (local.tee $1
- (i32.and
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 7)
- )
- (i32.const -8)
- )
- )
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- (f64.store
- (local.get $0)
- (local.get $4)
- )
- )
- )
- )
- )
- (func $_fmt_u (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (local $4 i32)
- (if
- (i32.or
- (i32.gt_u
- (local.get $1)
- (i32.const 0)
- )
- (i32.and
- (i32.eqz
- (local.get $1)
- )
- (i32.gt_u
- (local.get $0)
- (i32.const -1)
- )
- )
- )
- (loop $while-in
- (i32.store8
- (local.tee $2
- (i32.add
- (local.get $2)
- (i32.const -1)
- )
- )
- (i32.or
- (local.tee $3
- (call $___uremdi3
- (local.get $0)
- (local.get $1)
- (i32.const 10)
- (i32.const 0)
- )
- )
- (i32.const 48)
- )
- )
- (local.set $3
- (call $___udivdi3
- (local.get $0)
- (local.get $1)
- (i32.const 10)
- (i32.const 0)
- )
- )
- (local.set $4
- (global.get $tempRet0)
- )
- (if
- (i32.or
- (i32.gt_u
- (local.get $1)
- (i32.const 9)
- )
- (i32.and
- (i32.eq
- (local.get $1)
- (i32.const 9)
- )
- (i32.gt_u
- (local.get $0)
- (i32.const -1)
- )
- )
- )
- (block
- (local.set $0
- (local.get $3)
- )
- (local.set $1
- (local.get $4)
- )
- (br $while-in)
- )
- (local.set $0
- (local.get $3)
- )
- )
- )
- )
- (if
- (local.get $0)
- (loop $while-in1
- (i32.store8
- (local.tee $2
- (i32.add
- (local.get $2)
- (i32.const -1)
- )
- )
- (i32.or
- (call $i32u-rem
- (local.get $0)
- (i32.const 10)
- )
- (i32.const 48)
- )
- )
- (local.set $1
- (call $i32u-div
- (local.get $0)
- (i32.const 10)
- )
- )
- (if
- (i32.ge_u
- (local.get $0)
- (i32.const 10)
- )
- (block
- (local.set $0
- (local.get $1)
- )
- (br $while-in1)
- )
- )
- )
- )
- (local.get $2)
- )
- (func $_pad (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local.set $7
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 256)
- )
- )
- (if
- (i32.ge_s
- (global.get $STACKTOP)
- (global.get $STACK_MAX)
- )
- (call $abort)
- )
- (local.set $6
- (local.get $7)
- )
- (block $do-once
- (if
- (i32.and
- (i32.gt_s
- (local.get $2)
- (local.get $3)
- )
- (i32.eqz
- (i32.and
- (local.get $4)
- (i32.const 73728)
- )
- )
- )
- (block
- (drop
- (call $_memset
- (local.get $6)
- (local.get $1)
- (select
- (i32.const 256)
- (local.tee $5
- (i32.sub
- (local.get $2)
- (local.get $3)
- )
- )
- (i32.gt_u
- (local.get $5)
- (i32.const 256)
- )
- )
- )
- )
- (local.set $4
- (i32.eqz
- (i32.and
- (local.tee $1
- (i32.load
- (local.get $0)
- )
- )
- (i32.const 32)
- )
- )
- )
- (if
- (i32.gt_u
- (local.get $5)
- (i32.const 255)
- )
- (block
- (loop $while-in
- (if
- (local.get $4)
- (block
- (drop
- (call $___fwritex
- (local.get $6)
- (i32.const 256)
- (local.get $0)
- )
- )
- (local.set $1
- (i32.load
- (local.get $0)
- )
- )
- )
- )
- (local.set $4
- (i32.eqz
- (i32.and
- (local.get $1)
- (i32.const 32)
- )
- )
- )
- (br_if $while-in
- (i32.gt_u
- (local.tee $5
- (i32.add
- (local.get $5)
- (i32.const -256)
- )
- )
- (i32.const 255)
- )
- )
- )
- (br_if $do-once
- (i32.eqz
- (local.get $4)
- )
- )
- (local.set $5
- (i32.and
- (i32.sub
- (local.get $2)
- (local.get $3)
- )
- (i32.const 255)
- )
- )
- )
- (br_if $do-once
- (i32.eqz
- (local.get $4)
- )
- )
- )
- (drop
- (call $___fwritex
- (local.get $6)
- (local.get $5)
- (local.get $0)
- )
- )
- )
- )
- )
- (global.set $STACKTOP
- (local.get $7)
- )
- )
- (func $_malloc (param $0 i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
- (local $15 i32)
- (local $16 i32)
- (local $17 i32)
- (local $18 i32)
- (block $folding-inner0
- (block $do-once
- (if
- (i32.lt_u
- (local.get $0)
- (i32.const 245)
- )
- (block
- (if
- (i32.and
- (local.tee $5
- (i32.shr_u
- (local.tee $11
- (i32.load
- (i32.const 176)
- )
- )
- (local.tee $13
- (i32.shr_u
- (local.tee $4
- (select
- (i32.const 16)
- (i32.and
- (i32.add
- (local.get $0)
- (i32.const 11)
- )
- (i32.const -8)
- )
- (i32.lt_u
- (local.get $0)
- (i32.const 11)
- )
- )
- )
- (i32.const 3)
- )
- )
- )
- )
- (i32.const 3)
- )
- (block
- (local.set $10
- (i32.load
- (local.tee $1
- (i32.add
- (local.tee $7
- (i32.load
- (local.tee $3
- (i32.add
- (local.tee $2
- (i32.add
- (i32.shl
- (local.tee $4
- (i32.add
- (i32.xor
- (i32.and
- (local.get $5)
- (i32.const 1)
- )
- (i32.const 1)
- )
- (local.get $13)
- )
- )
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 8)
- )
- )
- )
- )
- (if
- (i32.eq
- (local.get $2)
- (local.get $10)
- )
- (i32.store
- (i32.const 176)
- (i32.and
- (local.get $11)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $4)
- )
- (i32.const -1)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (local.get $10)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $10)
- (i32.const 12)
- )
- )
- )
- (local.get $7)
- )
- (block
- (i32.store
- (local.get $0)
- (local.get $2)
- )
- (i32.store
- (local.get $3)
- (local.get $10)
- )
- )
- (call $_abort)
- )
- )
- )
- (i32.store offset=4
- (local.get $7)
- (i32.or
- (local.tee $0
- (i32.shl
- (local.get $4)
- (i32.const 3)
- )
- )
- (i32.const 3)
- )
- )
- (i32.store
- (local.tee $0
- (i32.add
- (i32.add
- (local.get $7)
- (local.get $0)
- )
- (i32.const 4)
- )
- )
- (i32.or
- (i32.load
- (local.get $0)
- )
- (i32.const 1)
- )
- )
- (return
- (local.get $1)
- )
- )
- )
- (if
- (i32.gt_u
- (local.get $4)
- (local.tee $0
- (i32.load
- (i32.const 184)
- )
- )
- )
- (block
- (if
- (local.get $5)
- (block
- (local.set $10
- (i32.and
- (i32.shr_u
- (local.tee $3
- (i32.add
- (i32.and
- (local.tee $3
- (i32.and
- (i32.shl
- (local.get $5)
- (local.get $13)
- )
- (i32.or
- (local.tee $3
- (i32.shl
- (i32.const 2)
- (local.get $13)
- )
- )
- (i32.sub
- (i32.const 0)
- (local.get $3)
- )
- )
- )
- )
- (i32.sub
- (i32.const 0)
- (local.get $3)
- )
- )
- (i32.const -1)
- )
- )
- (i32.const 12)
- )
- (i32.const 16)
- )
- )
- (local.set $9
- (i32.load
- (local.tee $7
- (i32.add
- (local.tee $12
- (i32.load
- (local.tee $3
- (i32.add
- (local.tee $10
- (i32.add
- (i32.shl
- (local.tee $5
- (i32.add
- (i32.or
- (i32.or
- (i32.or
- (i32.or
- (local.tee $3
- (i32.and
- (i32.shr_u
- (local.tee $7
- (i32.shr_u
- (local.get $3)
- (local.get $10)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (local.get $10)
- )
- (local.tee $3
- (i32.and
- (i32.shr_u
- (local.tee $7
- (i32.shr_u
- (local.get $7)
- (local.get $3)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (local.tee $3
- (i32.and
- (i32.shr_u
- (local.tee $7
- (i32.shr_u
- (local.get $7)
- (local.get $3)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
- (local.tee $3
- (i32.and
- (i32.shr_u
- (local.tee $7
- (i32.shr_u
- (local.get $7)
- (local.get $3)
- )
- )
- (i32.const 1)
- )
- (i32.const 1)
- )
- )
- )
- (i32.shr_u
- (local.get $7)
- (local.get $3)
- )
- )
- )
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 8)
- )
- )
- )
- )
- (if
- (i32.eq
- (local.get $10)
- (local.get $9)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.and
- (local.get $11)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $5)
- )
- (i32.const -1)
- )
- )
- )
- (local.set $8
- (local.get $0)
- )
- )
- (block
- (if
- (i32.lt_u
- (local.get $9)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $9)
- (i32.const 12)
- )
- )
- )
- (local.get $12)
- )
- (block
- (i32.store
- (local.get $0)
- (local.get $10)
- )
- (i32.store
- (local.get $3)
- (local.get $9)
- )
- (local.set $8
- (i32.load
- (i32.const 184)
- )
- )
- )
- (call $_abort)
- )
- )
- )
- (i32.store offset=4
- (local.get $12)
- (i32.or
- (local.get $4)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (local.tee $10
- (i32.add
- (local.get $12)
- (local.get $4)
- )
- )
- (i32.or
- (local.tee $5
- (i32.sub
- (i32.shl
- (local.get $5)
- (i32.const 3)
- )
- (local.get $4)
- )
- )
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $10)
- (local.get $5)
- )
- (local.get $5)
- )
- (if
- (local.get $8)
- (block
- (local.set $12
- (i32.load
- (i32.const 196)
- )
- )
- (local.set $4
- (i32.add
- (i32.shl
- (local.tee $0
- (i32.shr_u
- (local.get $8)
- (i32.const 3)
- )
- )
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (if
- (i32.and
- (local.tee $3
- (i32.load
- (i32.const 176)
- )
- )
- (local.tee $0
- (i32.shl
- (i32.const 1)
- (local.get $0)
- )
- )
- )
- (if
- (i32.lt_u
- (local.tee $0
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $4)
- (i32.const 8)
- )
- )
- )
- )
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (local.set $2
- (local.get $3)
- )
- (local.set $1
- (local.get $0)
- )
- )
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (local.get $3)
- (local.get $0)
- )
- )
- (local.set $2
- (i32.add
- (local.get $4)
- (i32.const 8)
- )
- )
- (local.set $1
- (local.get $4)
- )
- )
- )
- (i32.store
- (local.get $2)
- (local.get $12)
- )
- (i32.store offset=12
- (local.get $1)
- (local.get $12)
- )
- (i32.store offset=8
- (local.get $12)
- (local.get $1)
- )
- (i32.store offset=12
- (local.get $12)
- (local.get $4)
- )
- )
- )
- (i32.store
- (i32.const 184)
- (local.get $5)
- )
- (i32.store
- (i32.const 196)
- (local.get $10)
- )
- (return
- (local.get $7)
- )
- )
- )
- (if
- (local.tee $0
- (i32.load
- (i32.const 180)
- )
- )
- (block
- (local.set $2
- (i32.and
- (i32.shr_u
- (local.tee $0
- (i32.add
- (i32.and
- (local.get $0)
- (i32.sub
- (i32.const 0)
- (local.get $0)
- )
- )
- (i32.const -1)
- )
- )
- (i32.const 12)
- )
- (i32.const 16)
- )
- )
- (local.set $7
- (i32.sub
- (i32.and
- (i32.load offset=4
- (local.tee $0
- (i32.load offset=480
- (i32.shl
- (i32.add
- (i32.or
- (i32.or
- (i32.or
- (i32.or
- (local.tee $0
- (i32.and
- (i32.shr_u
- (local.tee $1
- (i32.shr_u
- (local.get $0)
- (local.get $2)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (local.get $2)
- )
- (local.tee $0
- (i32.and
- (i32.shr_u
- (local.tee $1
- (i32.shr_u
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (local.tee $0
- (i32.and
- (i32.shr_u
- (local.tee $1
- (i32.shr_u
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
- (local.tee $0
- (i32.and
- (i32.shr_u
- (local.tee $1
- (i32.shr_u
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 1)
- )
- (i32.const 1)
- )
- )
- )
- (i32.shr_u
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.const -8)
- )
- (local.get $4)
- )
- )
- (local.set $1
- (local.get $0)
- )
- (local.set $2
- (local.get $0)
- )
- (loop $while-in
- (block $while-out
- (if
- (i32.eqz
- (local.tee $0
- (i32.load offset=16
- (local.get $1)
- )
- )
- )
- (if
- (i32.eqz
- (local.tee $0
- (i32.load offset=20
- (local.get $1)
- )
- )
- )
- (block
- (local.set $10
- (local.get $7)
- )
- (local.set $5
- (local.get $2)
- )
- (br $while-out)
- )
- )
- )
- (local.set $10
- (i32.lt_u
- (local.tee $1
- (i32.sub
- (i32.and
- (i32.load offset=4
- (local.get $0)
- )
- (i32.const -8)
- )
- (local.get $4)
- )
- )
- (local.get $7)
- )
- )
- (local.set $7
- (select
- (local.get $1)
- (local.get $7)
- (local.get $10)
- )
- )
- (local.set $1
- (local.get $0)
- )
- (local.set $2
- (select
- (local.get $0)
- (local.get $2)
- (local.get $10)
- )
- )
- (br $while-in)
- )
- )
- (if
- (i32.lt_u
- (local.get $5)
- (local.tee $12
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (if
- (i32.ge_u
- (local.get $5)
- (local.tee $11
- (i32.add
- (local.get $5)
- (local.get $4)
- )
- )
- )
- (call $_abort)
- )
- (local.set $8
- (i32.load offset=24
- (local.get $5)
- )
- )
- (block $do-once4
- (if
- (i32.eq
- (local.tee $0
- (i32.load offset=12
- (local.get $5)
- )
- )
- (local.get $5)
- )
- (block
- (if
- (i32.eqz
- (local.tee $1
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $5)
- (i32.const 20)
- )
- )
- )
- )
- )
- (if
- (i32.eqz
- (local.tee $1
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $5)
- (i32.const 16)
- )
- )
- )
- )
- )
- (block
- (local.set $9
- (i32.const 0)
- )
- (br $do-once4)
- )
- )
- )
- (loop $while-in7
- (if
- (local.tee $2
- (i32.load
- (local.tee $7
- (i32.add
- (local.get $1)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (local.set $1
- (local.get $2)
- )
- (local.set $0
- (local.get $7)
- )
- (br $while-in7)
- )
- )
- (if
- (local.tee $2
- (i32.load
- (local.tee $7
- (i32.add
- (local.get $1)
- (i32.const 16)
- )
- )
- )
- )
- (block
- (local.set $1
- (local.get $2)
- )
- (local.set $0
- (local.get $7)
- )
- (br $while-in7)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $0)
- (local.get $12)
- )
- (call $_abort)
- (block
- (i32.store
- (local.get $0)
- (i32.const 0)
- )
- (local.set $9
- (local.get $1)
- )
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (local.tee $7
- (i32.load offset=8
- (local.get $5)
- )
- )
- (local.get $12)
- )
- (call $_abort)
- )
- (if
- (i32.ne
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $7)
- (i32.const 12)
- )
- )
- )
- (local.get $5)
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $0)
- (i32.const 8)
- )
- )
- )
- (local.get $5)
- )
- (block
- (i32.store
- (local.get $2)
- (local.get $0)
- )
- (i32.store
- (local.get $1)
- (local.get $7)
- )
- (local.set $9
- (local.get $0)
- )
- )
- (call $_abort)
- )
- )
- )
- )
- (block $do-once8
- (if
- (local.get $8)
- (block
- (if
- (i32.eq
- (local.get $5)
- (i32.load
- (local.tee $0
- (i32.add
- (i32.shl
- (local.tee $1
- (i32.load offset=28
- (local.get $5)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- )
- )
- (block
- (i32.store
- (local.get $0)
- (local.get $9)
- )
- (if
- (i32.eqz
- (local.get $9)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $1)
- )
- (i32.const -1)
- )
- )
- )
- (br $do-once8)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (local.get $8)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $8)
- (i32.const 16)
- )
- )
- )
- (local.get $5)
- )
- (i32.store
- (local.get $0)
- (local.get $9)
- )
- (i32.store offset=20
- (local.get $8)
- (local.get $9)
- )
- )
- (br_if $do-once8
- (i32.eqz
- (local.get $9)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $9)
- (local.tee $0
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (i32.store offset=24
- (local.get $9)
- (local.get $8)
- )
- (if
- (local.tee $1
- (i32.load offset=16
- (local.get $5)
- )
- )
- (if
- (i32.lt_u
- (local.get $1)
- (local.get $0)
- )
- (call $_abort)
- (block
- (i32.store offset=16
- (local.get $9)
- (local.get $1)
- )
- (i32.store offset=24
- (local.get $1)
- (local.get $9)
- )
- )
- )
- )
- (if
- (local.tee $0
- (i32.load offset=20
- (local.get $5)
- )
- )
- (if
- (i32.lt_u
- (local.get $0)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (i32.store offset=20
- (local.get $9)
- (local.get $0)
- )
- (i32.store offset=24
- (local.get $0)
- (local.get $9)
- )
- )
- )
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $10)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (local.get $5)
- (i32.or
- (local.tee $0
- (i32.add
- (local.get $10)
- (local.get $4)
- )
- )
- (i32.const 3)
- )
- )
- (i32.store
- (local.tee $0
- (i32.add
- (i32.add
- (local.get $5)
- (local.get $0)
- )
- (i32.const 4)
- )
- )
- (i32.or
- (i32.load
- (local.get $0)
- )
- (i32.const 1)
- )
- )
- )
- (block
- (i32.store offset=4
- (local.get $5)
- (i32.or
- (local.get $4)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (local.get $11)
- (i32.or
- (local.get $10)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $11)
- (local.get $10)
- )
- (local.get $10)
- )
- (if
- (local.tee $0
- (i32.load
- (i32.const 184)
- )
- )
- (block
- (local.set $4
- (i32.load
- (i32.const 196)
- )
- )
- (local.set $2
- (i32.add
- (i32.shl
- (local.tee $0
- (i32.shr_u
- (local.get $0)
- (i32.const 3)
- )
- )
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (if
- (i32.and
- (local.tee $1
- (i32.load
- (i32.const 176)
- )
- )
- (local.tee $0
- (i32.shl
- (i32.const 1)
- (local.get $0)
- )
- )
- )
- (if
- (i32.lt_u
- (local.tee $0
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $2)
- (i32.const 8)
- )
- )
- )
- )
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (local.set $6
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- )
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (local.get $1)
- (local.get $0)
- )
- )
- (local.set $6
- (i32.add
- (local.get $2)
- (i32.const 8)
- )
- )
- (local.set $3
- (local.get $2)
- )
- )
- )
- (i32.store
- (local.get $6)
- (local.get $4)
- )
- (i32.store offset=12
- (local.get $3)
- (local.get $4)
- )
- (i32.store offset=8
- (local.get $4)
- (local.get $3)
- )
- (i32.store offset=12
- (local.get $4)
- (local.get $2)
- )
- )
- )
- (i32.store
- (i32.const 184)
- (local.get $10)
- )
- (i32.store
- (i32.const 196)
- (local.get $11)
- )
- )
- )
- (return
- (i32.add
- (local.get $5)
- (i32.const 8)
- )
- )
- )
- (local.set $0
- (local.get $4)
- )
- )
- )
- (local.set $0
- (local.get $4)
- )
- )
- )
- (if
- (i32.gt_u
- (local.get $0)
- (i32.const -65)
- )
- (local.set $0
- (i32.const -1)
- )
- (block
- (local.set $2
- (i32.and
- (local.tee $0
- (i32.add
- (local.get $0)
- (i32.const 11)
- )
- )
- (i32.const -8)
- )
- )
- (if
- (local.tee $18
- (i32.load
- (i32.const 180)
- )
- )
- (block
- (local.set $14
- (if (result i32)
- (local.tee $0
- (i32.shr_u
- (local.get $0)
- (i32.const 8)
- )
- )
- (if (result i32)
- (i32.gt_u
- (local.get $2)
- (i32.const 16777215)
- )
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (local.get $2)
- (i32.add
- (local.tee $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (local.tee $0
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $1
- (i32.shl
- (local.get $0)
- (local.tee $3
- (i32.and
- (i32.shr_u
- (i32.add
- (local.get $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
- )
- )
- (local.get $3)
- )
- (local.tee $0
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $1
- (i32.shl
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.shr_u
- (i32.shl
- (local.get $1)
- (local.get $0)
- )
- (i32.const 15)
- )
- )
- )
- (i32.const 7)
- )
- )
- (i32.const 1)
- )
- (i32.shl
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (i32.const 0)
- )
- )
- (local.set $3
- (i32.sub
- (i32.const 0)
- (local.get $2)
- )
- )
- (block $__rjto$3
- (block $__rjti$3
- (if
- (local.tee $0
- (i32.load offset=480
- (i32.shl
- (local.get $14)
- (i32.const 2)
- )
- )
- )
- (block
- (local.set $6
- (i32.const 0)
- )
- (local.set $8
- (i32.shl
- (local.get $2)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (local.get $14)
- (i32.const 1)
- )
- )
- (i32.eq
- (local.get $14)
- (i32.const 31)
- )
- )
- )
- )
- (local.set $1
- (i32.const 0)
- )
- (loop $while-in14
- (if
- (i32.lt_u
- (local.tee $4
- (i32.sub
- (local.tee $9
- (i32.and
- (i32.load offset=4
- (local.get $0)
- )
- (i32.const -8)
- )
- )
- (local.get $2)
- )
- )
- (local.get $3)
- )
- (if
- (i32.eq
- (local.get $9)
- (local.get $2)
- )
- (block
- (local.set $1
- (local.get $4)
- )
- (local.set $3
- (local.get $0)
- )
- (br $__rjti$3)
- )
- (block
- (local.set $3
- (local.get $4)
- )
- (local.set $1
- (local.get $0)
- )
- )
- )
- )
- (local.set $0
- (select
- (local.get $6)
- (local.tee $4
- (i32.load offset=20
- (local.get $0)
- )
- )
- (i32.or
- (i32.eqz
- (local.get $4)
- )
- (i32.eq
- (local.get $4)
- (local.tee $9
- (i32.load
- (i32.add
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (local.get $8)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
- )
- )
- )
- )
- )
- )
- (local.set $4
- (i32.shl
- (local.get $8)
- (i32.xor
- (local.tee $6
- (i32.eqz
- (local.get $9)
- )
- )
- (i32.const 1)
- )
- )
- )
- (if
- (local.get $6)
- (block
- (local.set $4
- (local.get $0)
- )
- (local.set $0
- (local.get $1)
- )
- )
- (block
- (local.set $6
- (local.get $0)
- )
- (local.set $8
- (local.get $4)
- )
- (local.set $0
- (local.get $9)
- )
- (br $while-in14)
- )
- )
- )
- )
- (block
- (local.set $4
- (i32.const 0)
- )
- (local.set $0
- (i32.const 0)
- )
- )
- )
- (if
- (i32.and
- (i32.eqz
- (local.get $4)
- )
- (i32.eqz
- (local.get $0)
- )
- )
- (block
- (if
- (i32.eqz
- (local.tee $1
- (i32.and
- (local.get $18)
- (i32.or
- (local.tee $1
- (i32.shl
- (i32.const 2)
- (local.get $14)
- )
- )
- (i32.sub
- (i32.const 0)
- (local.get $1)
- )
- )
- )
- )
- )
- (block
- (local.set $0
- (local.get $2)
- )
- (br $do-once)
- )
- )
- (local.set $9
- (i32.and
- (i32.shr_u
- (local.tee $1
- (i32.add
- (i32.and
- (local.get $1)
- (i32.sub
- (i32.const 0)
- (local.get $1)
- )
- )
- (i32.const -1)
- )
- )
- (i32.const 12)
- )
- (i32.const 16)
- )
- )
- (local.set $4
- (i32.load offset=480
- (i32.shl
- (i32.add
- (i32.or
- (i32.or
- (i32.or
- (i32.or
- (local.tee $1
- (i32.and
- (i32.shr_u
- (local.tee $4
- (i32.shr_u
- (local.get $1)
- (local.get $9)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (local.get $9)
- )
- (local.tee $1
- (i32.and
- (i32.shr_u
- (local.tee $4
- (i32.shr_u
- (local.get $4)
- (local.get $1)
- )
- )
- (i32.const 2)
- )
- (i32.const 4)
- )
- )
- )
- (local.tee $1
- (i32.and
- (i32.shr_u
- (local.tee $4
- (i32.shr_u
- (local.get $4)
- (local.get $1)
- )
- )
- (i32.const 1)
- )
- (i32.const 2)
- )
- )
- )
- (local.tee $1
- (i32.and
- (i32.shr_u
- (local.tee $4
- (i32.shr_u
- (local.get $4)
- (local.get $1)
- )
- )
- (i32.const 1)
- )
- (i32.const 1)
- )
- )
- )
- (i32.shr_u
- (local.get $4)
- (local.get $1)
- )
- )
- (i32.const 2)
- )
- )
- )
- )
- )
- (if
- (local.get $4)
- (block
- (local.set $1
- (local.get $3)
- )
- (local.set $3
- (local.get $4)
- )
- (br $__rjti$3)
- )
- (local.set $4
- (local.get $0)
- )
- )
- (br $__rjto$3)
- )
- (loop $while-in16
- (local.set $9
- (i32.lt_u
- (local.tee $4
- (i32.sub
- (i32.and
- (i32.load offset=4
- (local.get $3)
- )
- (i32.const -8)
- )
- (local.get $2)
- )
- )
- (local.get $1)
- )
- )
- (local.set $1
- (select
- (local.get $4)
- (local.get $1)
- (local.get $9)
- )
- )
- (local.set $0
- (select
- (local.get $3)
- (local.get $0)
- (local.get $9)
- )
- )
- (if
- (local.tee $4
- (i32.load offset=16
- (local.get $3)
- )
- )
- (block
- (local.set $3
- (local.get $4)
- )
- (br $while-in16)
- )
- )
- (br_if $while-in16
- (local.tee $3
- (i32.load offset=20
- (local.get $3)
- )
- )
- )
- (local.set $3
- (local.get $1)
- )
- (local.set $4
- (local.get $0)
- )
- )
- )
- (if
- (local.get $4)
- (if
- (i32.lt_u
- (local.get $3)
- (i32.sub
- (i32.load
- (i32.const 184)
- )
- (local.get $2)
- )
- )
- (block
- (if
- (i32.lt_u
- (local.get $4)
- (local.tee $12
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (if
- (i32.ge_u
- (local.get $4)
- (local.tee $6
- (i32.add
- (local.get $4)
- (local.get $2)
- )
- )
- )
- (call $_abort)
- )
- (local.set $9
- (i32.load offset=24
- (local.get $4)
- )
- )
- (block $do-once17
- (if
- (i32.eq
- (local.tee $0
- (i32.load offset=12
- (local.get $4)
- )
- )
- (local.get $4)
- )
- (block
- (if
- (i32.eqz
- (local.tee $1
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $4)
- (i32.const 20)
- )
- )
- )
- )
- )
- (if
- (i32.eqz
- (local.tee $1
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $4)
- (i32.const 16)
- )
- )
- )
- )
- )
- (block
- (local.set $11
- (i32.const 0)
- )
- (br $do-once17)
- )
- )
- )
- (loop $while-in20
- (if
- (local.tee $7
- (i32.load
- (local.tee $10
- (i32.add
- (local.get $1)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (local.set $1
- (local.get $7)
- )
- (local.set $0
- (local.get $10)
- )
- (br $while-in20)
- )
- )
- (if
- (local.tee $7
- (i32.load
- (local.tee $10
- (i32.add
- (local.get $1)
- (i32.const 16)
- )
- )
- )
- )
- (block
- (local.set $1
- (local.get $7)
- )
- (local.set $0
- (local.get $10)
- )
- (br $while-in20)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $0)
- (local.get $12)
- )
- (call $_abort)
- (block
- (i32.store
- (local.get $0)
- (i32.const 0)
- )
- (local.set $11
- (local.get $1)
- )
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (local.tee $10
- (i32.load offset=8
- (local.get $4)
- )
- )
- (local.get $12)
- )
- (call $_abort)
- )
- (if
- (i32.ne
- (i32.load
- (local.tee $7
- (i32.add
- (local.get $10)
- (i32.const 12)
- )
- )
- )
- (local.get $4)
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $0)
- (i32.const 8)
- )
- )
- )
- (local.get $4)
- )
- (block
- (i32.store
- (local.get $7)
- (local.get $0)
- )
- (i32.store
- (local.get $1)
- (local.get $10)
- )
- (local.set $11
- (local.get $0)
- )
- )
- (call $_abort)
- )
- )
- )
- )
- (block $do-once21
- (if
- (local.get $9)
- (block
- (if
- (i32.eq
- (local.get $4)
- (i32.load
- (local.tee $0
- (i32.add
- (i32.shl
- (local.tee $1
- (i32.load offset=28
- (local.get $4)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- )
- )
- (block
- (i32.store
- (local.get $0)
- (local.get $11)
- )
- (if
- (i32.eqz
- (local.get $11)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $1)
- )
- (i32.const -1)
- )
- )
- )
- (br $do-once21)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (local.get $9)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $9)
- (i32.const 16)
- )
- )
- )
- (local.get $4)
- )
- (i32.store
- (local.get $0)
- (local.get $11)
- )
- (i32.store offset=20
- (local.get $9)
- (local.get $11)
- )
- )
- (br_if $do-once21
- (i32.eqz
- (local.get $11)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $11)
- (local.tee $0
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (i32.store offset=24
- (local.get $11)
- (local.get $9)
- )
- (if
- (local.tee $1
- (i32.load offset=16
- (local.get $4)
- )
- )
- (if
- (i32.lt_u
- (local.get $1)
- (local.get $0)
- )
- (call $_abort)
- (block
- (i32.store offset=16
- (local.get $11)
- (local.get $1)
- )
- (i32.store offset=24
- (local.get $1)
- (local.get $11)
- )
- )
- )
- )
- (if
- (local.tee $0
- (i32.load offset=20
- (local.get $4)
- )
- )
- (if
- (i32.lt_u
- (local.get $0)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (i32.store offset=20
- (local.get $11)
- (local.get $0)
- )
- (i32.store offset=24
- (local.get $0)
- (local.get $11)
- )
- )
- )
- )
- )
- )
- )
- (block $do-once25
- (if
- (i32.lt_u
- (local.get $3)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (local.get $4)
- (i32.or
- (local.tee $0
- (i32.add
- (local.get $3)
- (local.get $2)
- )
- )
- (i32.const 3)
- )
- )
- (i32.store
- (local.tee $0
- (i32.add
- (i32.add
- (local.get $4)
- (local.get $0)
- )
- (i32.const 4)
- )
- )
- (i32.or
- (i32.load
- (local.get $0)
- )
- (i32.const 1)
- )
- )
- )
- (block
- (i32.store offset=4
- (local.get $4)
- (i32.or
- (local.get $2)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (local.get $6)
- (i32.or
- (local.get $3)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $6)
- (local.get $3)
- )
- (local.get $3)
- )
- (local.set $0
- (i32.shr_u
- (local.get $3)
- (i32.const 3)
- )
- )
- (if
- (i32.lt_u
- (local.get $3)
- (i32.const 256)
- )
- (block
- (local.set $3
- (i32.add
- (i32.shl
- (local.get $0)
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (if
- (i32.and
- (local.tee $1
- (i32.load
- (i32.const 176)
- )
- )
- (local.tee $0
- (i32.shl
- (i32.const 1)
- (local.get $0)
- )
- )
- )
- (if
- (i32.lt_u
- (local.tee $0
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
- )
- )
- )
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (local.set $13
- (local.get $1)
- )
- (local.set $5
- (local.get $0)
- )
- )
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (local.get $1)
- (local.get $0)
- )
- )
- (local.set $13
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
- )
- (local.set $5
- (local.get $3)
- )
- )
- )
- (i32.store
- (local.get $13)
- (local.get $6)
- )
- (i32.store offset=12
- (local.get $5)
- (local.get $6)
- )
- (i32.store offset=8
- (local.get $6)
- (local.get $5)
- )
- (i32.store offset=12
- (local.get $6)
- (local.get $3)
- )
- (br $do-once25)
- )
- )
- (local.set $2
- (i32.add
- (i32.shl
- (local.tee $7
- (if (result i32)
- (local.tee $0
- (i32.shr_u
- (local.get $3)
- (i32.const 8)
- )
- )
- (if (result i32)
- (i32.gt_u
- (local.get $3)
- (i32.const 16777215)
- )
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (local.get $3)
- (i32.add
- (local.tee $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (local.tee $0
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $1
- (i32.shl
- (local.get $0)
- (local.tee $2
- (i32.and
- (i32.shr_u
- (i32.add
- (local.get $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
- )
- )
- (local.get $2)
- )
- (local.tee $0
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $1
- (i32.shl
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.shr_u
- (i32.shl
- (local.get $1)
- (local.get $0)
- )
- (i32.const 15)
- )
- )
- )
- (i32.const 7)
- )
- )
- (i32.const 1)
- )
- (i32.shl
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (i32.const 0)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- (i32.store offset=28
- (local.get $6)
- (local.get $7)
- )
- (i32.store offset=4
- (local.tee $0
- (i32.add
- (local.get $6)
- (i32.const 16)
- )
- )
- (i32.const 0)
- )
- (i32.store
- (local.get $0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (local.tee $1
- (i32.load
- (i32.const 180)
- )
- )
- (local.tee $0
- (i32.shl
- (i32.const 1)
- (local.get $7)
- )
- )
- )
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.store
- (local.get $2)
- (local.get $6)
- )
- (i32.store offset=24
- (local.get $6)
- (local.get $2)
- )
- (i32.store offset=12
- (local.get $6)
- (local.get $6)
- )
- (i32.store offset=8
- (local.get $6)
- (local.get $6)
- )
- (br $do-once25)
- )
- )
- (local.set $7
- (i32.shl
- (local.get $3)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (local.get $7)
- (i32.const 1)
- )
- )
- (i32.eq
- (local.get $7)
- (i32.const 31)
- )
- )
- )
- )
- (local.set $0
- (i32.load
- (local.get $2)
- )
- )
- (block $__rjto$1
- (block $__rjti$1
- (loop $while-in28
- (br_if $__rjti$1
- (i32.eq
- (i32.and
- (i32.load offset=4
- (local.get $0)
- )
- (i32.const -8)
- )
- (local.get $3)
- )
- )
- (local.set $2
- (i32.shl
- (local.get $7)
- (i32.const 1)
- )
- )
- (if
- (local.tee $1
- (i32.load
- (local.tee $7
- (i32.add
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (local.get $7)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
- )
- )
- )
- (block
- (local.set $7
- (local.get $2)
- )
- (local.set $0
- (local.get $1)
- )
- (br $while-in28)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $7)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (i32.store
- (local.get $7)
- (local.get $6)
- )
- (i32.store offset=24
- (local.get $6)
- (local.get $0)
- )
- (i32.store offset=12
- (local.get $6)
- (local.get $6)
- )
- (i32.store offset=8
- (local.get $6)
- (local.get $6)
- )
- (br $do-once25)
- )
- )
- (br $__rjto$1)
- )
- (if
- (i32.and
- (i32.ge_u
- (local.tee $2
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $0)
- (i32.const 8)
- )
- )
- )
- )
- (local.tee $1
- (i32.load
- (i32.const 192)
- )
- )
- )
- (i32.ge_u
- (local.get $0)
- (local.get $1)
- )
- )
- (block
- (i32.store offset=12
- (local.get $2)
- (local.get $6)
- )
- (i32.store
- (local.get $3)
- (local.get $6)
- )
- (i32.store offset=8
- (local.get $6)
- (local.get $2)
- )
- (i32.store offset=12
- (local.get $6)
- (local.get $0)
- )
- (i32.store offset=24
- (local.get $6)
- (i32.const 0)
- )
- )
- (call $_abort)
- )
- )
- )
- )
- )
- (return
- (i32.add
- (local.get $4)
- (i32.const 8)
- )
- )
- )
- (local.set $0
- (local.get $2)
- )
- )
- (local.set $0
- (local.get $2)
- )
- )
- )
- (local.set $0
- (local.get $2)
- )
- )
- )
- )
- )
- )
- (if
- (i32.ge_u
- (local.tee $1
- (i32.load
- (i32.const 184)
- )
- )
- (local.get $0)
- )
- (block
- (local.set $2
- (i32.load
- (i32.const 196)
- )
- )
- (if
- (i32.gt_u
- (local.tee $3
- (i32.sub
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 15)
- )
- (block
- (i32.store
- (i32.const 196)
- (local.tee $1
- (i32.add
- (local.get $2)
- (local.get $0)
- )
- )
- )
- (i32.store
- (i32.const 184)
- (local.get $3)
- )
- (i32.store offset=4
- (local.get $1)
- (i32.or
- (local.get $3)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $1)
- (local.get $3)
- )
- (local.get $3)
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $0)
- (i32.const 3)
- )
- )
- )
- (block
- (i32.store
- (i32.const 184)
- (i32.const 0)
- )
- (i32.store
- (i32.const 196)
- (i32.const 0)
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $1)
- (i32.const 3)
- )
- )
- (i32.store
- (local.tee $0
- (i32.add
- (i32.add
- (local.get $2)
- (local.get $1)
- )
- (i32.const 4)
- )
- )
- (i32.or
- (i32.load
- (local.get $0)
- )
- (i32.const 1)
- )
- )
- )
- )
- (return
- (i32.add
- (local.get $2)
- (i32.const 8)
- )
- )
- )
- )
- (br_if $folding-inner0
- (i32.gt_u
- (local.tee $1
- (i32.load
- (i32.const 188)
- )
- )
- (local.get $0)
- )
- )
- (if
- (i32.eqz
- (i32.load
- (i32.const 648)
- )
- )
- (if
- (i32.and
- (i32.add
- (local.tee $1
- (call $_sysconf
- (i32.const 30)
- )
- )
- (i32.const -1)
- )
- (local.get $1)
- )
- (call $_abort)
- (block
- (i32.store
- (i32.const 656)
- (local.get $1)
- )
- (i32.store
- (i32.const 652)
- (local.get $1)
- )
- (i32.store
- (i32.const 660)
- (i32.const -1)
- )
- (i32.store
- (i32.const 664)
- (i32.const -1)
- )
- (i32.store
- (i32.const 668)
- (i32.const 0)
- )
- (i32.store
- (i32.const 620)
- (i32.const 0)
- )
- (i32.store
- (i32.const 648)
- (i32.xor
- (i32.and
- (call $_time
- (i32.const 0)
- )
- (i32.const -16)
- )
- (i32.const 1431655768)
- )
- )
- )
- )
- )
- (if
- (i32.le_u
- (local.tee $5
- (i32.and
- (local.tee $6
- (i32.add
- (local.tee $1
- (i32.load
- (i32.const 656)
- )
- )
- (local.tee $8
- (i32.add
- (local.get $0)
- (i32.const 47)
- )
- )
- )
- )
- (local.tee $9
- (i32.sub
- (i32.const 0)
- (local.get $1)
- )
- )
- )
- )
- (local.get $0)
- )
- (return
- (i32.const 0)
- )
- )
- (if
- (local.tee $2
- (i32.load
- (i32.const 616)
- )
- )
- (if
- (i32.or
- (i32.le_u
- (local.tee $1
- (i32.add
- (local.tee $3
- (i32.load
- (i32.const 608)
- )
- )
- (local.get $5)
- )
- )
- (local.get $3)
- )
- (i32.gt_u
- (local.get $1)
- (local.get $2)
- )
- )
- (return
- (i32.const 0)
- )
- )
- )
- (local.set $11
- (i32.add
- (local.get $0)
- (i32.const 48)
- )
- )
- (block $__rjto$13
- (block $__rjti$13
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (i32.const 620)
- )
- (i32.const 4)
- )
- )
- (block
- (block $label$break$L279
- (block $__rjti$5
- (block $__rjti$4
- (br_if $__rjti$4
- (i32.eqz
- (local.tee $4
- (i32.load
- (i32.const 200)
- )
- )
- )
- )
- (local.set $1
- (i32.const 624)
- )
- (loop $while-in34
- (block $while-out33
- (if
- (i32.le_u
- (local.tee $3
- (i32.load
- (local.get $1)
- )
- )
- (local.get $4)
- )
- (if
- (i32.gt_u
- (i32.add
- (local.get $3)
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- )
- )
- (local.get $4)
- )
- (block
- (local.set $4
- (local.get $1)
- )
- (br $while-out33)
- )
- )
- )
- (br_if $while-in34
- (local.tee $1
- (i32.load offset=8
- (local.get $1)
- )
- )
- )
- (br $__rjti$4)
- )
- )
- (if
- (i32.lt_u
- (local.tee $3
- (i32.and
- (i32.sub
- (local.get $6)
- (i32.load
- (i32.const 188)
- )
- )
- (local.get $9)
- )
- )
- (i32.const 2147483647)
- )
- (if
- (i32.eq
- (local.tee $1
- (call $_sbrk
- (local.get $3)
- )
- )
- (i32.add
- (i32.load
- (local.get $4)
- )
- (i32.load
- (local.get $2)
- )
- )
- )
- (br_if $__rjti$13
- (i32.ne
- (local.get $1)
- (i32.const -1)
- )
- )
- (block
- (local.set $2
- (local.get $1)
- )
- (br $__rjti$5)
- )
- )
- )
- (br $label$break$L279)
- )
- (if
- (i32.ne
- (local.tee $1
- (call $_sbrk
- (i32.const 0)
- )
- )
- (i32.const -1)
- )
- (block
- (local.set $3
- (if (result i32)
- (i32.and
- (local.tee $2
- (i32.add
- (local.tee $4
- (i32.load
- (i32.const 652)
- )
- )
- (i32.const -1)
- )
- )
- (local.tee $3
- (local.get $1)
- )
- )
- (i32.add
- (i32.sub
- (local.get $5)
- (local.get $3)
- )
- (i32.and
- (i32.add
- (local.get $2)
- (local.get $3)
- )
- (i32.sub
- (i32.const 0)
- (local.get $4)
- )
- )
- )
- (local.get $5)
- )
- )
- (local.set $9
- (i32.add
- (local.tee $4
- (i32.load
- (i32.const 608)
- )
- )
- (local.get $3)
- )
- )
- (if
- (i32.and
- (i32.gt_u
- (local.get $3)
- (local.get $0)
- )
- (i32.lt_u
- (local.get $3)
- (i32.const 2147483647)
- )
- )
- (block
- (if
- (local.tee $2
- (i32.load
- (i32.const 616)
- )
- )
- (br_if $label$break$L279
- (i32.or
- (i32.le_u
- (local.get $9)
- (local.get $4)
- )
- (i32.gt_u
- (local.get $9)
- (local.get $2)
- )
- )
- )
- )
- (br_if $__rjti$13
- (i32.eq
- (local.tee $2
- (call $_sbrk
- (local.get $3)
- )
- )
- (local.get $1)
- )
- )
- (br $__rjti$5)
- )
- )
- )
- )
- (br $label$break$L279)
- )
- (local.set $1
- (local.get $3)
- )
- (local.set $4
- (i32.sub
- (i32.const 0)
- (local.get $1)
- )
- )
- (if
- (i32.and
- (i32.gt_u
- (local.get $11)
- (local.get $1)
- )
- (i32.and
- (i32.lt_u
- (local.get $1)
- (i32.const 2147483647)
- )
- (i32.ne
- (local.get $2)
- (i32.const -1)
- )
- )
- )
- (if
- (i32.lt_u
- (local.tee $3
- (i32.and
- (i32.add
- (i32.sub
- (local.get $8)
- (local.get $1)
- )
- (local.tee $3
- (i32.load
- (i32.const 656)
- )
- )
- )
- (i32.sub
- (i32.const 0)
- (local.get $3)
- )
- )
- )
- (i32.const 2147483647)
- )
- (if
- (i32.eq
- (call $_sbrk
- (local.get $3)
- )
- (i32.const -1)
- )
- (block
- (drop
- (call $_sbrk
- (local.get $4)
- )
- )
- (br $label$break$L279)
- )
- (local.set $3
- (i32.add
- (local.get $3)
- (local.get $1)
- )
- )
- )
- (local.set $3
- (local.get $1)
- )
- )
- (local.set $3
- (local.get $1)
- )
- )
- (if
- (i32.ne
- (local.get $2)
- (i32.const -1)
- )
- (block
- (local.set $1
- (local.get $2)
- )
- (br $__rjti$13)
- )
- )
- )
- (i32.store
- (i32.const 620)
- (i32.or
- (i32.load
- (i32.const 620)
- )
- (i32.const 4)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $5)
- (i32.const 2147483647)
- )
- (if
- (i32.and
- (i32.lt_u
- (local.tee $1
- (call $_sbrk
- (local.get $5)
- )
- )
- (local.tee $3
- (call $_sbrk
- (i32.const 0)
- )
- )
- )
- (i32.and
- (i32.ne
- (local.get $1)
- (i32.const -1)
- )
- (i32.ne
- (local.get $3)
- (i32.const -1)
- )
- )
- )
- (br_if $__rjti$13
- (i32.gt_u
- (local.tee $3
- (i32.sub
- (local.get $3)
- (local.get $1)
- )
- )
- (i32.add
- (local.get $0)
- (i32.const 40)
- )
- )
- )
- )
- )
- (br $__rjto$13)
- )
- (i32.store
- (i32.const 608)
- (local.tee $2
- (i32.add
- (i32.load
- (i32.const 608)
- )
- (local.get $3)
- )
- )
- )
- (if
- (i32.gt_u
- (local.get $2)
- (i32.load
- (i32.const 612)
- )
- )
- (i32.store
- (i32.const 612)
- (local.get $2)
- )
- )
- (block $do-once40
- (if
- (local.tee $6
- (i32.load
- (i32.const 200)
- )
- )
- (block
- (local.set $2
- (i32.const 624)
- )
- (block $__rjto$10
- (block $__rjti$10
- (loop $while-in45
- (br_if $__rjti$10
- (i32.eq
- (local.get $1)
- (i32.add
- (local.tee $11
- (i32.load
- (local.get $2)
- )
- )
- (local.tee $5
- (i32.load
- (local.tee $4
- (i32.add
- (local.get $2)
- (i32.const 4)
- )
- )
- )
- )
- )
- )
- )
- (br_if $while-in45
- (local.tee $2
- (i32.load offset=8
- (local.get $2)
- )
- )
- )
- )
- (br $__rjto$10)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load offset=12
- (local.get $2)
- )
- (i32.const 8)
- )
- )
- (if
- (i32.and
- (i32.lt_u
- (local.get $6)
- (local.get $1)
- )
- (i32.ge_u
- (local.get $6)
- (local.get $11)
- )
- )
- (block
- (i32.store
- (local.get $4)
- (i32.add
- (local.get $5)
- (local.get $3)
- )
- )
- (local.set $2
- (i32.add
- (local.get $6)
- (local.tee $1
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (local.tee $1
- (i32.add
- (local.get $6)
- (i32.const 8)
- )
- )
- )
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (local.get $1)
- (i32.const 7)
- )
- )
- )
- )
- )
- (local.set $1
- (i32.add
- (i32.sub
- (local.get $3)
- (local.get $1)
- )
- (i32.load
- (i32.const 188)
- )
- )
- )
- (i32.store
- (i32.const 200)
- (local.get $2)
- )
- (i32.store
- (i32.const 188)
- (local.get $1)
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $1)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (i32.add
- (local.get $2)
- (local.get $1)
- )
- (i32.const 40)
- )
- (i32.store
- (i32.const 204)
- (i32.load
- (i32.const 664)
- )
- )
- (br $do-once40)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $1)
- (local.tee $4
- (i32.load
- (i32.const 192)
- )
- )
- )
- (block
- (i32.store
- (i32.const 192)
- (local.get $1)
- )
- (local.set $4
- (local.get $1)
- )
- )
- )
- (local.set $11
- (i32.add
- (local.get $1)
- (local.get $3)
- )
- )
- (local.set $2
- (i32.const 624)
- )
- (block $__rjto$11
- (block $__rjti$11
- (loop $while-in47
- (if
- (i32.eq
- (i32.load
- (local.get $2)
- )
- (local.get $11)
- )
- (block
- (local.set $5
- (local.get $2)
- )
- (br $__rjti$11)
- )
- )
- (br_if $while-in47
- (local.tee $2
- (i32.load offset=8
- (local.get $2)
- )
- )
- )
- (local.set $4
- (i32.const 624)
- )
- )
- (br $__rjto$11)
- )
- (if
- (i32.and
- (i32.load offset=12
- (local.get $2)
- )
- (i32.const 8)
- )
- (local.set $4
- (i32.const 624)
- )
- (block
- (i32.store
- (local.get $5)
- (local.get $1)
- )
- (i32.store
- (local.tee $2
- (i32.add
- (local.get $2)
- (i32.const 4)
- )
- )
- (i32.add
- (i32.load
- (local.get $2)
- )
- (local.get $3)
- )
- )
- (local.set $8
- (i32.add
- (local.tee $9
- (i32.add
- (local.get $1)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (local.tee $1
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- )
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (local.get $1)
- (i32.const 7)
- )
- )
- )
- )
- (local.get $0)
- )
- )
- (local.set $7
- (i32.sub
- (i32.sub
- (local.tee $5
- (i32.add
- (local.get $11)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (local.tee $1
- (i32.add
- (local.get $11)
- (i32.const 8)
- )
- )
- )
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (local.get $1)
- (i32.const 7)
- )
- )
- )
- )
- (local.get $9)
- )
- (local.get $0)
- )
- )
- (i32.store offset=4
- (local.get $9)
- (i32.or
- (local.get $0)
- (i32.const 3)
- )
- )
- (block $do-once48
- (if
- (i32.eq
- (local.get $5)
- (local.get $6)
- )
- (block
- (i32.store
- (i32.const 188)
- (local.tee $0
- (i32.add
- (i32.load
- (i32.const 188)
- )
- (local.get $7)
- )
- )
- )
- (i32.store
- (i32.const 200)
- (local.get $8)
- )
- (i32.store offset=4
- (local.get $8)
- (i32.or
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (block
- (if
- (i32.eq
- (local.get $5)
- (i32.load
- (i32.const 196)
- )
- )
- (block
- (i32.store
- (i32.const 184)
- (local.tee $0
- (i32.add
- (i32.load
- (i32.const 184)
- )
- (local.get $7)
- )
- )
- )
- (i32.store
- (i32.const 196)
- (local.get $8)
- )
- (i32.store offset=4
- (local.get $8)
- (i32.or
- (local.get $0)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $8)
- (local.get $0)
- )
- (local.get $0)
- )
- (br $do-once48)
- )
- )
- (i32.store
- (local.tee $0
- (i32.add
- (local.tee $0
- (if (result i32)
- (i32.eq
- (i32.and
- (local.tee $0
- (i32.load offset=4
- (local.get $5)
- )
- )
- (i32.const 3)
- )
- (i32.const 1)
- )
- (block (result i32)
- (local.set $11
- (i32.and
- (local.get $0)
- (i32.const -8)
- )
- )
- (local.set $1
- (i32.shr_u
- (local.get $0)
- (i32.const 3)
- )
- )
- (block $label$break$L331
- (if
- (i32.lt_u
- (local.get $0)
- (i32.const 256)
- )
- (block
- (local.set $2
- (i32.load offset=12
- (local.get $5)
- )
- )
- (block $do-once51
- (if
- (i32.ne
- (local.tee $3
- (i32.load offset=8
- (local.get $5)
- )
- )
- (local.tee $0
- (i32.add
- (i32.shl
- (local.get $1)
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (local.get $3)
- (local.get $4)
- )
- (call $_abort)
- )
- (br_if $do-once51
- (i32.eq
- (i32.load offset=12
- (local.get $3)
- )
- (local.get $5)
- )
- )
- (call $_abort)
- )
- )
- )
- (if
- (i32.eq
- (local.get $2)
- (local.get $3)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.and
- (i32.load
- (i32.const 176)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $1)
- )
- (i32.const -1)
- )
- )
- )
- (br $label$break$L331)
- )
- )
- (block $do-once53
- (if
- (i32.eq
- (local.get $2)
- (local.get $0)
- )
- (local.set $15
- (i32.add
- (local.get $2)
- (i32.const 8)
- )
- )
- (block
- (if
- (i32.lt_u
- (local.get $2)
- (local.get $4)
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $2)
- (i32.const 8)
- )
- )
- )
- (local.get $5)
- )
- (block
- (local.set $15
- (local.get $0)
- )
- (br $do-once53)
- )
- )
- (call $_abort)
- )
- )
- )
- (i32.store offset=12
- (local.get $3)
- (local.get $2)
- )
- (i32.store
- (local.get $15)
- (local.get $3)
- )
- )
- (block
- (local.set $6
- (i32.load offset=24
- (local.get $5)
- )
- )
- (block $do-once55
- (if
- (i32.eq
- (local.tee $0
- (i32.load offset=12
- (local.get $5)
- )
- )
- (local.get $5)
- )
- (block
- (if
- (i32.eqz
- (local.tee $1
- (i32.load
- (local.tee $0
- (i32.add
- (local.tee $3
- (i32.add
- (local.get $5)
- (i32.const 16)
- )
- )
- (i32.const 4)
- )
- )
- )
- )
- )
- (if
- (local.tee $1
- (i32.load
- (local.get $3)
- )
- )
- (local.set $0
- (local.get $3)
- )
- (block
- (local.set $12
- (i32.const 0)
- )
- (br $do-once55)
- )
- )
- )
- (loop $while-in58
- (if
- (local.tee $3
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $1)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (local.set $1
- (local.get $3)
- )
- (local.set $0
- (local.get $2)
- )
- (br $while-in58)
- )
- )
- (if
- (local.tee $3
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $1)
- (i32.const 16)
- )
- )
- )
- )
- (block
- (local.set $1
- (local.get $3)
- )
- (local.set $0
- (local.get $2)
- )
- (br $while-in58)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $0)
- (local.get $4)
- )
- (call $_abort)
- (block
- (i32.store
- (local.get $0)
- (i32.const 0)
- )
- (local.set $12
- (local.get $1)
- )
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (local.tee $2
- (i32.load offset=8
- (local.get $5)
- )
- )
- (local.get $4)
- )
- (call $_abort)
- )
- (if
- (i32.ne
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $2)
- (i32.const 12)
- )
- )
- )
- (local.get $5)
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $0)
- (i32.const 8)
- )
- )
- )
- (local.get $5)
- )
- (block
- (i32.store
- (local.get $3)
- (local.get $0)
- )
- (i32.store
- (local.get $1)
- (local.get $2)
- )
- (local.set $12
- (local.get $0)
- )
- )
- (call $_abort)
- )
- )
- )
- )
- (br_if $label$break$L331
- (i32.eqz
- (local.get $6)
- )
- )
- (block $do-once59
- (if
- (i32.eq
- (local.get $5)
- (i32.load
- (local.tee $0
- (i32.add
- (i32.shl
- (local.tee $1
- (i32.load offset=28
- (local.get $5)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- )
- )
- (block
- (i32.store
- (local.get $0)
- (local.get $12)
- )
- (br_if $do-once59
- (local.get $12)
- )
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $1)
- )
- (i32.const -1)
- )
- )
- )
- (br $label$break$L331)
- )
- (block
- (if
- (i32.lt_u
- (local.get $6)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $6)
- (i32.const 16)
- )
- )
- )
- (local.get $5)
- )
- (i32.store
- (local.get $0)
- (local.get $12)
- )
- (i32.store offset=20
- (local.get $6)
- (local.get $12)
- )
- )
- (br_if $label$break$L331
- (i32.eqz
- (local.get $12)
- )
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $12)
- (local.tee $1
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (i32.store offset=24
- (local.get $12)
- (local.get $6)
- )
- (if
- (local.tee $3
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $5)
- (i32.const 16)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $3)
- (local.get $1)
- )
- (call $_abort)
- (block
- (i32.store offset=16
- (local.get $12)
- (local.get $3)
- )
- (i32.store offset=24
- (local.get $3)
- (local.get $12)
- )
- )
- )
- )
- (br_if $label$break$L331
- (i32.eqz
- (local.tee $0
- (i32.load offset=4
- (local.get $0)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $0)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (i32.store offset=20
- (local.get $12)
- (local.get $0)
- )
- (i32.store offset=24
- (local.get $0)
- (local.get $12)
- )
- )
- )
- )
- )
- )
- (local.set $7
- (i32.add
- (local.get $11)
- (local.get $7)
- )
- )
- (i32.add
- (local.get $5)
- (local.get $11)
- )
- )
- (local.get $5)
- )
- )
- (i32.const 4)
- )
- )
- (i32.and
- (i32.load
- (local.get $0)
- )
- (i32.const -2)
- )
- )
- (i32.store offset=4
- (local.get $8)
- (i32.or
- (local.get $7)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $8)
- (local.get $7)
- )
- (local.get $7)
- )
- (local.set $0
- (i32.shr_u
- (local.get $7)
- (i32.const 3)
- )
- )
- (if
- (i32.lt_u
- (local.get $7)
- (i32.const 256)
- )
- (block
- (local.set $3
- (i32.add
- (i32.shl
- (local.get $0)
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (block $do-once63
- (if
- (i32.and
- (local.tee $1
- (i32.load
- (i32.const 176)
- )
- )
- (local.tee $0
- (i32.shl
- (i32.const 1)
- (local.get $0)
- )
- )
- )
- (block
- (if
- (i32.ge_u
- (local.tee $0
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
- )
- )
- )
- (i32.load
- (i32.const 192)
- )
- )
- (block
- (local.set $16
- (local.get $1)
- )
- (local.set $10
- (local.get $0)
- )
- (br $do-once63)
- )
- )
- (call $_abort)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (local.get $1)
- (local.get $0)
- )
- )
- (local.set $16
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
- )
- (local.set $10
- (local.get $3)
- )
- )
- )
- )
- (i32.store
- (local.get $16)
- (local.get $8)
- )
- (i32.store offset=12
- (local.get $10)
- (local.get $8)
- )
- (i32.store offset=8
- (local.get $8)
- (local.get $10)
- )
- (i32.store offset=12
- (local.get $8)
- (local.get $3)
- )
- (br $do-once48)
- )
- )
- (local.set $3
- (i32.add
- (i32.shl
- (local.tee $2
- (block $do-once65 (result i32)
- (if (result i32)
- (local.tee $0
- (i32.shr_u
- (local.get $7)
- (i32.const 8)
- )
- )
- (block (result i32)
- (drop
- (br_if $do-once65
- (i32.const 31)
- (i32.gt_u
- (local.get $7)
- (i32.const 16777215)
- )
- )
- )
- (i32.or
- (i32.and
- (i32.shr_u
- (local.get $7)
- (i32.add
- (local.tee $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (local.tee $0
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $1
- (i32.shl
- (local.get $0)
- (local.tee $3
- (i32.and
- (i32.shr_u
- (i32.add
- (local.get $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
- )
- )
- (local.get $3)
- )
- (local.tee $0
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $1
- (i32.shl
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.shr_u
- (i32.shl
- (local.get $1)
- (local.get $0)
- )
- (i32.const 15)
- )
- )
- )
- (i32.const 7)
- )
- )
- (i32.const 1)
- )
- (i32.shl
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (i32.const 0)
- )
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- (i32.store offset=28
- (local.get $8)
- (local.get $2)
- )
- (i32.store offset=4
- (local.tee $0
- (i32.add
- (local.get $8)
- (i32.const 16)
- )
- )
- (i32.const 0)
- )
- (i32.store
- (local.get $0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (local.tee $1
- (i32.load
- (i32.const 180)
- )
- )
- (local.tee $0
- (i32.shl
- (i32.const 1)
- (local.get $2)
- )
- )
- )
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.store
- (local.get $3)
- (local.get $8)
- )
- (i32.store offset=24
- (local.get $8)
- (local.get $3)
- )
- (i32.store offset=12
- (local.get $8)
- (local.get $8)
- )
- (i32.store offset=8
- (local.get $8)
- (local.get $8)
- )
- (br $do-once48)
- )
- )
- (local.set $2
- (i32.shl
- (local.get $7)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (local.get $2)
- (i32.const 1)
- )
- )
- (i32.eq
- (local.get $2)
- (i32.const 31)
- )
- )
- )
- )
- (local.set $0
- (i32.load
- (local.get $3)
- )
- )
- (block $__rjto$7
- (block $__rjti$7
- (loop $while-in68
- (br_if $__rjti$7
- (i32.eq
- (i32.and
- (i32.load offset=4
- (local.get $0)
- )
- (i32.const -8)
- )
- (local.get $7)
- )
- )
- (local.set $3
- (i32.shl
- (local.get $2)
- (i32.const 1)
- )
- )
- (if
- (local.tee $1
- (i32.load
- (local.tee $2
- (i32.add
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (local.get $2)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
- )
- )
- )
- (block
- (local.set $2
- (local.get $3)
- )
- (local.set $0
- (local.get $1)
- )
- (br $while-in68)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $2)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (i32.store
- (local.get $2)
- (local.get $8)
- )
- (i32.store offset=24
- (local.get $8)
- (local.get $0)
- )
- (i32.store offset=12
- (local.get $8)
- (local.get $8)
- )
- (i32.store offset=8
- (local.get $8)
- (local.get $8)
- )
- (br $do-once48)
- )
- )
- (br $__rjto$7)
- )
- (if
- (i32.and
- (i32.ge_u
- (local.tee $2
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $0)
- (i32.const 8)
- )
- )
- )
- )
- (local.tee $1
- (i32.load
- (i32.const 192)
- )
- )
- )
- (i32.ge_u
- (local.get $0)
- (local.get $1)
- )
- )
- (block
- (i32.store offset=12
- (local.get $2)
- (local.get $8)
- )
- (i32.store
- (local.get $3)
- (local.get $8)
- )
- (i32.store offset=8
- (local.get $8)
- (local.get $2)
- )
- (i32.store offset=12
- (local.get $8)
- (local.get $0)
- )
- (i32.store offset=24
- (local.get $8)
- (i32.const 0)
- )
- )
- (call $_abort)
- )
- )
- )
- )
- )
- (return
- (i32.add
- (local.get $9)
- (i32.const 8)
- )
- )
- )
- )
- )
- (loop $while-in70
- (block $while-out69
- (if
- (i32.le_u
- (local.tee $2
- (i32.load
- (local.get $4)
- )
- )
- (local.get $6)
- )
- (br_if $while-out69
- (i32.gt_u
- (local.tee $2
- (i32.add
- (local.get $2)
- (i32.load offset=4
- (local.get $4)
- )
- )
- )
- (local.get $6)
- )
- )
- )
- (local.set $4
- (i32.load offset=8
- (local.get $4)
- )
- )
- (br $while-in70)
- )
- )
- (local.set $10
- (i32.add
- (local.tee $4
- (i32.add
- (local.get $2)
- (i32.const -47)
- )
- )
- (i32.const 8)
- )
- )
- (local.set $12
- (i32.add
- (local.tee $11
- (select
- (local.get $6)
- (local.tee $4
- (i32.add
- (local.get $4)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (local.get $10)
- )
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (local.get $10)
- (i32.const 7)
- )
- )
- )
- )
- (i32.lt_u
- (local.get $4)
- (local.tee $10
- (i32.add
- (local.get $6)
- (i32.const 16)
- )
- )
- )
- )
- )
- (i32.const 8)
- )
- )
- (i32.store
- (i32.const 200)
- (local.tee $5
- (i32.add
- (local.get $1)
- (local.tee $4
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (local.tee $4
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- )
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (local.get $4)
- (i32.const 7)
- )
- )
- )
- )
- )
- )
- (i32.store
- (i32.const 188)
- (local.tee $4
- (i32.sub
- (i32.add
- (local.get $3)
- (i32.const -40)
- )
- (local.get $4)
- )
- )
- )
- (i32.store offset=4
- (local.get $5)
- (i32.or
- (local.get $4)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (i32.add
- (local.get $5)
- (local.get $4)
- )
- (i32.const 40)
- )
- (i32.store
- (i32.const 204)
- (i32.load
- (i32.const 664)
- )
- )
- (i32.store
- (local.tee $4
- (i32.add
- (local.get $11)
- (i32.const 4)
- )
- )
- (i32.const 27)
- )
- (i32.store
- (local.get $12)
- (i32.load
- (i32.const 624)
- )
- )
- (i32.store offset=4
- (local.get $12)
- (i32.load
- (i32.const 628)
- )
- )
- (i32.store offset=8
- (local.get $12)
- (i32.load
- (i32.const 632)
- )
- )
- (i32.store offset=12
- (local.get $12)
- (i32.load
- (i32.const 636)
- )
- )
- (i32.store
- (i32.const 624)
- (local.get $1)
- )
- (i32.store
- (i32.const 628)
- (local.get $3)
- )
- (i32.store
- (i32.const 636)
- (i32.const 0)
- )
- (i32.store
- (i32.const 632)
- (local.get $12)
- )
- (local.set $1
- (i32.add
- (local.get $11)
- (i32.const 24)
- )
- )
- (loop $while-in72
- (i32.store
- (local.tee $1
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (i32.const 7)
- )
- (br_if $while-in72
- (i32.lt_u
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- (local.get $2)
- )
- )
- )
- (if
- (i32.ne
- (local.get $11)
- (local.get $6)
- )
- (block
- (i32.store
- (local.get $4)
- (i32.and
- (i32.load
- (local.get $4)
- )
- (i32.const -2)
- )
- )
- (i32.store offset=4
- (local.get $6)
- (i32.or
- (local.tee $5
- (i32.sub
- (local.get $11)
- (local.get $6)
- )
- )
- (i32.const 1)
- )
- )
- (i32.store
- (local.get $11)
- (local.get $5)
- )
- (local.set $1
- (i32.shr_u
- (local.get $5)
- (i32.const 3)
- )
- )
- (if
- (i32.lt_u
- (local.get $5)
- (i32.const 256)
- )
- (block
- (local.set $2
- (i32.add
- (i32.shl
- (local.get $1)
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (if
- (i32.and
- (local.tee $3
- (i32.load
- (i32.const 176)
- )
- )
- (local.tee $1
- (i32.shl
- (i32.const 1)
- (local.get $1)
- )
- )
- )
- (if
- (i32.lt_u
- (local.tee $1
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $2)
- (i32.const 8)
- )
- )
- )
- )
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (local.set $17
- (local.get $3)
- )
- (local.set $7
- (local.get $1)
- )
- )
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (local.get $3)
- (local.get $1)
- )
- )
- (local.set $17
- (i32.add
- (local.get $2)
- (i32.const 8)
- )
- )
- (local.set $7
- (local.get $2)
- )
- )
- )
- (i32.store
- (local.get $17)
- (local.get $6)
- )
- (i32.store offset=12
- (local.get $7)
- (local.get $6)
- )
- (i32.store offset=8
- (local.get $6)
- (local.get $7)
- )
- (i32.store offset=12
- (local.get $6)
- (local.get $2)
- )
- (br $do-once40)
- )
- )
- (local.set $2
- (i32.add
- (i32.shl
- (local.tee $4
- (if (result i32)
- (local.tee $1
- (i32.shr_u
- (local.get $5)
- (i32.const 8)
- )
- )
- (if (result i32)
- (i32.gt_u
- (local.get $5)
- (i32.const 16777215)
- )
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (local.get $5)
- (i32.add
- (local.tee $1
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (local.tee $1
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $3
- (i32.shl
- (local.get $1)
- (local.tee $2
- (i32.and
- (i32.shr_u
- (i32.add
- (local.get $1)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
- )
- )
- (local.get $2)
- )
- (local.tee $1
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $3
- (i32.shl
- (local.get $3)
- (local.get $1)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.shr_u
- (i32.shl
- (local.get $3)
- (local.get $1)
- )
- (i32.const 15)
- )
- )
- )
- (i32.const 7)
- )
- )
- (i32.const 1)
- )
- (i32.shl
- (local.get $1)
- (i32.const 1)
- )
- )
- )
- (i32.const 0)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- (i32.store offset=28
- (local.get $6)
- (local.get $4)
- )
- (i32.store offset=20
- (local.get $6)
- (i32.const 0)
- )
- (i32.store
- (local.get $10)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (local.tee $3
- (i32.load
- (i32.const 180)
- )
- )
- (local.tee $1
- (i32.shl
- (i32.const 1)
- (local.get $4)
- )
- )
- )
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (local.get $3)
- (local.get $1)
- )
- )
- (i32.store
- (local.get $2)
- (local.get $6)
- )
- (i32.store offset=24
- (local.get $6)
- (local.get $2)
- )
- (i32.store offset=12
- (local.get $6)
- (local.get $6)
- )
- (i32.store offset=8
- (local.get $6)
- (local.get $6)
- )
- (br $do-once40)
- )
- )
- (local.set $4
- (i32.shl
- (local.get $5)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (local.get $4)
- (i32.const 1)
- )
- )
- (i32.eq
- (local.get $4)
- (i32.const 31)
- )
- )
- )
- )
- (local.set $1
- (i32.load
- (local.get $2)
- )
- )
- (block $__rjto$9
- (block $__rjti$9
- (loop $while-in74
- (br_if $__rjti$9
- (i32.eq
- (i32.and
- (i32.load offset=4
- (local.get $1)
- )
- (i32.const -8)
- )
- (local.get $5)
- )
- )
- (local.set $2
- (i32.shl
- (local.get $4)
- (i32.const 1)
- )
- )
- (if
- (local.tee $3
- (i32.load
- (local.tee $4
- (i32.add
- (i32.add
- (local.get $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (local.get $4)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
- )
- )
- )
- (block
- (local.set $4
- (local.get $2)
- )
- (local.set $1
- (local.get $3)
- )
- (br $while-in74)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $4)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (i32.store
- (local.get $4)
- (local.get $6)
- )
- (i32.store offset=24
- (local.get $6)
- (local.get $1)
- )
- (i32.store offset=12
- (local.get $6)
- (local.get $6)
- )
- (i32.store offset=8
- (local.get $6)
- (local.get $6)
- )
- (br $do-once40)
- )
- )
- (br $__rjto$9)
- )
- (if
- (i32.and
- (i32.ge_u
- (local.tee $4
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- )
- )
- (local.tee $3
- (i32.load
- (i32.const 192)
- )
- )
- )
- (i32.ge_u
- (local.get $1)
- (local.get $3)
- )
- )
- (block
- (i32.store offset=12
- (local.get $4)
- (local.get $6)
- )
- (i32.store
- (local.get $2)
- (local.get $6)
- )
- (i32.store offset=8
- (local.get $6)
- (local.get $4)
- )
- (i32.store offset=12
- (local.get $6)
- (local.get $1)
- )
- (i32.store offset=24
- (local.get $6)
- (i32.const 0)
- )
- )
- (call $_abort)
- )
- )
- )
- )
- )
- (block
- (if
- (i32.or
- (i32.eqz
- (local.tee $2
- (i32.load
- (i32.const 192)
- )
- )
- )
- (i32.lt_u
- (local.get $1)
- (local.get $2)
- )
- )
- (i32.store
- (i32.const 192)
- (local.get $1)
- )
- )
- (i32.store
- (i32.const 624)
- (local.get $1)
- )
- (i32.store
- (i32.const 628)
- (local.get $3)
- )
- (i32.store
- (i32.const 636)
- (i32.const 0)
- )
- (i32.store
- (i32.const 212)
- (i32.load
- (i32.const 648)
- )
- )
- (i32.store
- (i32.const 208)
- (i32.const -1)
- )
- (local.set $2
- (i32.const 0)
- )
- (loop $while-in43
- (i32.store offset=12
- (local.tee $4
- (i32.add
- (i32.shl
- (local.get $2)
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (local.get $4)
- )
- (i32.store offset=8
- (local.get $4)
- (local.get $4)
- )
- (br_if $while-in43
- (i32.ne
- (local.tee $2
- (i32.add
- (local.get $2)
- (i32.const 1)
- )
- )
- (i32.const 32)
- )
- )
- )
- (i32.store
- (i32.const 200)
- (local.tee $2
- (i32.add
- (local.get $1)
- (local.tee $1
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (local.tee $1
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- )
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (local.get $1)
- (i32.const 7)
- )
- )
- )
- )
- )
- )
- (i32.store
- (i32.const 188)
- (local.tee $1
- (i32.sub
- (i32.add
- (local.get $3)
- (i32.const -40)
- )
- (local.get $1)
- )
- )
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $1)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (i32.add
- (local.get $2)
- (local.get $1)
- )
- (i32.const 40)
- )
- (i32.store
- (i32.const 204)
- (i32.load
- (i32.const 664)
- )
- )
- )
- )
- )
- (br_if $folding-inner0
- (i32.gt_u
- (local.tee $1
- (i32.load
- (i32.const 188)
- )
- )
- (local.get $0)
- )
- )
- )
- (i32.store
- (call $___errno_location)
- (i32.const 12)
- )
- (return
- (i32.const 0)
- )
- )
- (i32.store
- (i32.const 188)
- (local.tee $3
- (i32.sub
- (local.get $1)
- (local.get $0)
- )
- )
- )
- (i32.store
- (i32.const 200)
- (local.tee $1
- (i32.add
- (local.tee $2
- (i32.load
- (i32.const 200)
- )
- )
- (local.get $0)
- )
- )
- )
- (i32.store offset=4
- (local.get $1)
- (i32.or
- (local.get $3)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $0)
- (i32.const 3)
- )
- )
- (i32.add
- (local.get $2)
- (i32.const 8)
- )
- )
- (func $_free (param $0 i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
- (local $15 i32)
- (if
- (i32.eqz
- (local.get $0)
- )
- (return)
- )
- (if
- (i32.lt_u
- (local.tee $1
- (i32.add
- (local.get $0)
- (i32.const -8)
- )
- )
- (local.tee $11
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (local.tee $5
- (i32.and
- (local.tee $7
- (i32.load
- (i32.add
- (local.get $0)
- (i32.const -4)
- )
- )
- )
- (i32.const 3)
- )
- )
- (i32.const 1)
- )
- (call $_abort)
- )
- (local.set $8
- (i32.add
- (local.get $1)
- (local.tee $0
- (i32.and
- (local.get $7)
- (i32.const -8)
- )
- )
- )
- )
- (block $do-once
- (if
- (i32.and
- (local.get $7)
- (i32.const 1)
- )
- (block
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- )
- (block
- (local.set $7
- (i32.load
- (local.get $1)
- )
- )
- (if
- (i32.eqz
- (local.get $5)
- )
- (return)
- )
- (if
- (i32.lt_u
- (local.tee $1
- (i32.add
- (local.get $1)
- (i32.sub
- (i32.const 0)
- (local.get $7)
- )
- )
- )
- (local.get $11)
- )
- (call $_abort)
- )
- (local.set $0
- (i32.add
- (local.get $7)
- (local.get $0)
- )
- )
- (if
- (i32.eq
- (local.get $1)
- (i32.load
- (i32.const 196)
- )
- )
- (block
- (if
- (i32.ne
- (i32.and
- (local.tee $3
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $8)
- (i32.const 4)
- )
- )
- )
- )
- (i32.const 3)
- )
- (i32.const 3)
- )
- (block
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- (br $do-once)
- )
- )
- (i32.store
- (i32.const 184)
- (local.get $0)
- )
- (i32.store
- (local.get $2)
- (i32.and
- (local.get $3)
- (i32.const -2)
- )
- )
- (i32.store offset=4
- (local.get $1)
- (i32.or
- (local.get $0)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $1)
- (local.get $0)
- )
- (local.get $0)
- )
- (return)
- )
- )
- (local.set $5
- (i32.shr_u
- (local.get $7)
- (i32.const 3)
- )
- )
- (if
- (i32.lt_u
- (local.get $7)
- (i32.const 256)
- )
- (block
- (local.set $6
- (i32.load offset=12
- (local.get $1)
- )
- )
- (if
- (i32.ne
- (local.tee $2
- (i32.load offset=8
- (local.get $1)
- )
- )
- (local.tee $3
- (i32.add
- (i32.shl
- (local.get $5)
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (local.get $2)
- (local.get $11)
- )
- (call $_abort)
- )
- (if
- (i32.ne
- (i32.load offset=12
- (local.get $2)
- )
- (local.get $1)
- )
- (call $_abort)
- )
- )
- )
- (if
- (i32.eq
- (local.get $6)
- (local.get $2)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.and
- (i32.load
- (i32.const 176)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $5)
- )
- (i32.const -1)
- )
- )
- )
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- (br $do-once)
- )
- )
- (if
- (i32.eq
- (local.get $6)
- (local.get $3)
- )
- (local.set $4
- (i32.add
- (local.get $6)
- (i32.const 8)
- )
- )
- (block
- (if
- (i32.lt_u
- (local.get $6)
- (local.get $11)
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $6)
- (i32.const 8)
- )
- )
- )
- (local.get $1)
- )
- (local.set $4
- (local.get $3)
- )
- (call $_abort)
- )
- )
- )
- (i32.store offset=12
- (local.get $2)
- (local.get $6)
- )
- (i32.store
- (local.get $4)
- (local.get $2)
- )
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- (br $do-once)
- )
- )
- (local.set $12
- (i32.load offset=24
- (local.get $1)
- )
- )
- (block $do-once0
- (if
- (i32.eq
- (local.tee $4
- (i32.load offset=12
- (local.get $1)
- )
- )
- (local.get $1)
- )
- (block
- (if
- (i32.eqz
- (local.tee $5
- (i32.load
- (local.tee $4
- (i32.add
- (local.tee $7
- (i32.add
- (local.get $1)
- (i32.const 16)
- )
- )
- (i32.const 4)
- )
- )
- )
- )
- )
- (if
- (local.tee $5
- (i32.load
- (local.get $7)
- )
- )
- (local.set $4
- (local.get $7)
- )
- (block
- (local.set $6
- (i32.const 0)
- )
- (br $do-once0)
- )
- )
- )
- (loop $while-in
- (if
- (local.tee $7
- (i32.load
- (local.tee $10
- (i32.add
- (local.get $5)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (local.set $5
- (local.get $7)
- )
- (local.set $4
- (local.get $10)
- )
- (br $while-in)
- )
- )
- (if
- (local.tee $7
- (i32.load
- (local.tee $10
- (i32.add
- (local.get $5)
- (i32.const 16)
- )
- )
- )
- )
- (block
- (local.set $5
- (local.get $7)
- )
- (local.set $4
- (local.get $10)
- )
- (br $while-in)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $4)
- (local.get $11)
- )
- (call $_abort)
- (block
- (i32.store
- (local.get $4)
- (i32.const 0)
- )
- (local.set $6
- (local.get $5)
- )
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (local.tee $10
- (i32.load offset=8
- (local.get $1)
- )
- )
- (local.get $11)
- )
- (call $_abort)
- )
- (if
- (i32.ne
- (i32.load
- (local.tee $7
- (i32.add
- (local.get $10)
- (i32.const 12)
- )
- )
- )
- (local.get $1)
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $5
- (i32.add
- (local.get $4)
- (i32.const 8)
- )
- )
- )
- (local.get $1)
- )
- (block
- (i32.store
- (local.get $7)
- (local.get $4)
- )
- (i32.store
- (local.get $5)
- (local.get $10)
- )
- (local.set $6
- (local.get $4)
- )
- )
- (call $_abort)
- )
- )
- )
- )
- (if
- (local.get $12)
- (block
- (if
- (i32.eq
- (local.get $1)
- (i32.load
- (local.tee $4
- (i32.add
- (i32.shl
- (local.tee $5
- (i32.load offset=28
- (local.get $1)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- )
- )
- (block
- (i32.store
- (local.get $4)
- (local.get $6)
- )
- (if
- (i32.eqz
- (local.get $6)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $5)
- )
- (i32.const -1)
- )
- )
- )
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- (br $do-once)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (local.get $12)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $4
- (i32.add
- (local.get $12)
- (i32.const 16)
- )
- )
- )
- (local.get $1)
- )
- (i32.store
- (local.get $4)
- (local.get $6)
- )
- (i32.store offset=20
- (local.get $12)
- (local.get $6)
- )
- )
- (if
- (i32.eqz
- (local.get $6)
- )
- (block
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- (br $do-once)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $6)
- (local.tee $5
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (i32.store offset=24
- (local.get $6)
- (local.get $12)
- )
- (if
- (local.tee $7
- (i32.load
- (local.tee $4
- (i32.add
- (local.get $1)
- (i32.const 16)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $7)
- (local.get $5)
- )
- (call $_abort)
- (block
- (i32.store offset=16
- (local.get $6)
- (local.get $7)
- )
- (i32.store offset=24
- (local.get $7)
- (local.get $6)
- )
- )
- )
- )
- (if
- (local.tee $4
- (i32.load offset=4
- (local.get $4)
- )
- )
- (if
- (i32.lt_u
- (local.get $4)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (i32.store offset=20
- (local.get $6)
- (local.get $4)
- )
- (i32.store offset=24
- (local.get $4)
- (local.get $6)
- )
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- )
- )
- (block
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- )
- )
- )
- (block
- (local.set $2
- (local.get $1)
- )
- (local.set $3
- (local.get $0)
- )
- )
- )
- )
- )
- )
- (if
- (i32.ge_u
- (local.get $2)
- (local.get $8)
- )
- (call $_abort)
- )
- (if
- (i32.eqz
- (i32.and
- (local.tee $1
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $8)
- (i32.const 4)
- )
- )
- )
- )
- (i32.const 1)
- )
- )
- (call $_abort)
- )
- (if
- (i32.and
- (local.get $1)
- (i32.const 2)
- )
- (block
- (i32.store
- (local.get $0)
- (i32.and
- (local.get $1)
- (i32.const -2)
- )
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $3)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $2)
- (local.get $3)
- )
- (local.get $3)
- )
- )
- (block
- (if
- (i32.eq
- (local.get $8)
- (i32.load
- (i32.const 200)
- )
- )
- (block
- (i32.store
- (i32.const 188)
- (local.tee $0
- (i32.add
- (i32.load
- (i32.const 188)
- )
- (local.get $3)
- )
- )
- )
- (i32.store
- (i32.const 200)
- (local.get $2)
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $0)
- (i32.const 1)
- )
- )
- (if
- (i32.ne
- (local.get $2)
- (i32.load
- (i32.const 196)
- )
- )
- (return)
- )
- (i32.store
- (i32.const 196)
- (i32.const 0)
- )
- (i32.store
- (i32.const 184)
- (i32.const 0)
- )
- (return)
- )
- )
- (if
- (i32.eq
- (local.get $8)
- (i32.load
- (i32.const 196)
- )
- )
- (block
- (i32.store
- (i32.const 184)
- (local.tee $0
- (i32.add
- (i32.load
- (i32.const 184)
- )
- (local.get $3)
- )
- )
- )
- (i32.store
- (i32.const 196)
- (local.get $2)
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $0)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $2)
- (local.get $0)
- )
- (local.get $0)
- )
- (return)
- )
- )
- (local.set $5
- (i32.add
- (i32.and
- (local.get $1)
- (i32.const -8)
- )
- (local.get $3)
- )
- )
- (local.set $3
- (i32.shr_u
- (local.get $1)
- (i32.const 3)
- )
- )
- (block $do-once4
- (if
- (i32.lt_u
- (local.get $1)
- (i32.const 256)
- )
- (block
- (local.set $4
- (i32.load offset=12
- (local.get $8)
- )
- )
- (if
- (i32.ne
- (local.tee $1
- (i32.load offset=8
- (local.get $8)
- )
- )
- (local.tee $0
- (i32.add
- (i32.shl
- (local.get $3)
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (local.get $1)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.ne
- (i32.load offset=12
- (local.get $1)
- )
- (local.get $8)
- )
- (call $_abort)
- )
- )
- )
- (if
- (i32.eq
- (local.get $4)
- (local.get $1)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.and
- (i32.load
- (i32.const 176)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $3)
- )
- (i32.const -1)
- )
- )
- )
- (br $do-once4)
- )
- )
- (if
- (i32.eq
- (local.get $4)
- (local.get $0)
- )
- (local.set $14
- (i32.add
- (local.get $4)
- (i32.const 8)
- )
- )
- (block
- (if
- (i32.lt_u
- (local.get $4)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $4)
- (i32.const 8)
- )
- )
- )
- (local.get $8)
- )
- (local.set $14
- (local.get $0)
- )
- (call $_abort)
- )
- )
- )
- (i32.store offset=12
- (local.get $1)
- (local.get $4)
- )
- (i32.store
- (local.get $14)
- (local.get $1)
- )
- )
- (block
- (local.set $6
- (i32.load offset=24
- (local.get $8)
- )
- )
- (block $do-once6
- (if
- (i32.eq
- (local.tee $0
- (i32.load offset=12
- (local.get $8)
- )
- )
- (local.get $8)
- )
- (block
- (if
- (i32.eqz
- (local.tee $3
- (i32.load
- (local.tee $0
- (i32.add
- (local.tee $1
- (i32.add
- (local.get $8)
- (i32.const 16)
- )
- )
- (i32.const 4)
- )
- )
- )
- )
- )
- (if
- (local.tee $3
- (i32.load
- (local.get $1)
- )
- )
- (local.set $0
- (local.get $1)
- )
- (block
- (local.set $9
- (i32.const 0)
- )
- (br $do-once6)
- )
- )
- )
- (loop $while-in9
- (if
- (local.tee $1
- (i32.load
- (local.tee $4
- (i32.add
- (local.get $3)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (local.set $3
- (local.get $1)
- )
- (local.set $0
- (local.get $4)
- )
- (br $while-in9)
- )
- )
- (if
- (local.tee $1
- (i32.load
- (local.tee $4
- (i32.add
- (local.get $3)
- (i32.const 16)
- )
- )
- )
- )
- (block
- (local.set $3
- (local.get $1)
- )
- (local.set $0
- (local.get $4)
- )
- (br $while-in9)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $0)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (i32.store
- (local.get $0)
- (i32.const 0)
- )
- (local.set $9
- (local.get $3)
- )
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (local.tee $4
- (i32.load offset=8
- (local.get $8)
- )
- )
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.ne
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $4)
- (i32.const 12)
- )
- )
- )
- (local.get $8)
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $0)
- (i32.const 8)
- )
- )
- )
- (local.get $8)
- )
- (block
- (i32.store
- (local.get $1)
- (local.get $0)
- )
- (i32.store
- (local.get $3)
- (local.get $4)
- )
- (local.set $9
- (local.get $0)
- )
- )
- (call $_abort)
- )
- )
- )
- )
- (if
- (local.get $6)
- (block
- (if
- (i32.eq
- (local.get $8)
- (i32.load
- (local.tee $0
- (i32.add
- (i32.shl
- (local.tee $3
- (i32.load offset=28
- (local.get $8)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- )
- )
- (block
- (i32.store
- (local.get $0)
- (local.get $9)
- )
- (if
- (i32.eqz
- (local.get $9)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (local.get $3)
- )
- (i32.const -1)
- )
- )
- )
- (br $do-once4)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (local.get $6)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $6)
- (i32.const 16)
- )
- )
- )
- (local.get $8)
- )
- (i32.store
- (local.get $0)
- (local.get $9)
- )
- (i32.store offset=20
- (local.get $6)
- (local.get $9)
- )
- )
- (br_if $do-once4
- (i32.eqz
- (local.get $9)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $9)
- (local.tee $3
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (i32.store offset=24
- (local.get $9)
- (local.get $6)
- )
- (if
- (local.tee $1
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $8)
- (i32.const 16)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $1)
- (local.get $3)
- )
- (call $_abort)
- (block
- (i32.store offset=16
- (local.get $9)
- (local.get $1)
- )
- (i32.store offset=24
- (local.get $1)
- (local.get $9)
- )
- )
- )
- )
- (if
- (local.tee $0
- (i32.load offset=4
- (local.get $0)
- )
- )
- (if
- (i32.lt_u
- (local.get $0)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (i32.store offset=20
- (local.get $9)
- (local.get $0)
- )
- (i32.store offset=24
- (local.get $0)
- (local.get $9)
- )
- )
- )
- )
- )
- )
- )
- )
- )
- (i32.store offset=4
- (local.get $2)
- (i32.or
- (local.get $5)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (local.get $2)
- (local.get $5)
- )
- (local.get $5)
- )
- (if
- (i32.eq
- (local.get $2)
- (i32.load
- (i32.const 196)
- )
- )
- (block
- (i32.store
- (i32.const 184)
- (local.get $5)
- )
- (return)
- )
- (local.set $3
- (local.get $5)
- )
- )
- )
- )
- (local.set $0
- (i32.shr_u
- (local.get $3)
- (i32.const 3)
- )
- )
- (if
- (i32.lt_u
- (local.get $3)
- (i32.const 256)
- )
- (block
- (local.set $1
- (i32.add
- (i32.shl
- (local.get $0)
- (i32.const 3)
- )
- (i32.const 216)
- )
- )
- (if
- (i32.and
- (local.tee $3
- (i32.load
- (i32.const 176)
- )
- )
- (local.tee $0
- (i32.shl
- (i32.const 1)
- (local.get $0)
- )
- )
- )
- (if
- (i32.lt_u
- (local.tee $0
- (i32.load
- (local.tee $3
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- )
- )
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (local.set $15
- (local.get $3)
- )
- (local.set $13
- (local.get $0)
- )
- )
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (local.get $3)
- (local.get $0)
- )
- )
- (local.set $15
- (i32.add
- (local.get $1)
- (i32.const 8)
- )
- )
- (local.set $13
- (local.get $1)
- )
- )
- )
- (i32.store
- (local.get $15)
- (local.get $2)
- )
- (i32.store offset=12
- (local.get $13)
- (local.get $2)
- )
- (i32.store offset=8
- (local.get $2)
- (local.get $13)
- )
- (i32.store offset=12
- (local.get $2)
- (local.get $1)
- )
- (return)
- )
- )
- (local.set $4
- (i32.add
- (i32.shl
- (local.tee $5
- (if (result i32)
- (local.tee $0
- (i32.shr_u
- (local.get $3)
- (i32.const 8)
- )
- )
- (if (result i32)
- (i32.gt_u
- (local.get $3)
- (i32.const 16777215)
- )
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (local.get $3)
- (i32.add
- (local.tee $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
- (i32.or
- (local.tee $0
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $1
- (i32.shl
- (local.get $0)
- (local.tee $4
- (i32.and
- (i32.shr_u
- (i32.add
- (local.get $0)
- (i32.const 1048320)
- )
- (i32.const 16)
- )
- (i32.const 8)
- )
- )
- )
- )
- (i32.const 520192)
- )
- (i32.const 16)
- )
- (i32.const 4)
- )
- )
- (local.get $4)
- )
- (local.tee $0
- (i32.and
- (i32.shr_u
- (i32.add
- (local.tee $1
- (i32.shl
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.const 245760)
- )
- (i32.const 16)
- )
- (i32.const 2)
- )
- )
- )
- )
- (i32.shr_u
- (i32.shl
- (local.get $1)
- (local.get $0)
- )
- (i32.const 15)
- )
- )
- )
- (i32.const 7)
- )
- )
- (i32.const 1)
- )
- (i32.shl
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (i32.const 0)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- (i32.store offset=28
- (local.get $2)
- (local.get $5)
- )
- (i32.store offset=20
- (local.get $2)
- (i32.const 0)
- )
- (i32.store offset=16
- (local.get $2)
- (i32.const 0)
- )
- (block $do-once12
- (if
- (i32.and
- (local.tee $1
- (i32.load
- (i32.const 180)
- )
- )
- (local.tee $0
- (i32.shl
- (i32.const 1)
- (local.get $5)
- )
- )
- )
- (block
- (local.set $5
- (i32.shl
- (local.get $3)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (local.get $5)
- (i32.const 1)
- )
- )
- (i32.eq
- (local.get $5)
- (i32.const 31)
- )
- )
- )
- )
- (local.set $0
- (i32.load
- (local.get $4)
- )
- )
- (block $__rjto$1
- (block $__rjti$1
- (loop $while-in15
- (br_if $__rjti$1
- (i32.eq
- (i32.and
- (i32.load offset=4
- (local.get $0)
- )
- (i32.const -8)
- )
- (local.get $3)
- )
- )
- (local.set $4
- (i32.shl
- (local.get $5)
- (i32.const 1)
- )
- )
- (if
- (local.tee $1
- (i32.load
- (local.tee $5
- (i32.add
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (local.get $5)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
- )
- )
- )
- (block
- (local.set $5
- (local.get $4)
- )
- (local.set $0
- (local.get $1)
- )
- (br $while-in15)
- )
- )
- )
- (if
- (i32.lt_u
- (local.get $5)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (i32.store
- (local.get $5)
- (local.get $2)
- )
- (i32.store offset=24
- (local.get $2)
- (local.get $0)
- )
- (i32.store offset=12
- (local.get $2)
- (local.get $2)
- )
- (i32.store offset=8
- (local.get $2)
- (local.get $2)
- )
- (br $do-once12)
- )
- )
- (br $__rjto$1)
- )
- (if
- (i32.and
- (i32.ge_u
- (local.tee $4
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $0)
- (i32.const 8)
- )
- )
- )
- )
- (local.tee $3
- (i32.load
- (i32.const 192)
- )
- )
- )
- (i32.ge_u
- (local.get $0)
- (local.get $3)
- )
- )
- (block
- (i32.store offset=12
- (local.get $4)
- (local.get $2)
- )
- (i32.store
- (local.get $1)
- (local.get $2)
- )
- (i32.store offset=8
- (local.get $2)
- (local.get $4)
- )
- (i32.store offset=12
- (local.get $2)
- (local.get $0)
- )
- (i32.store offset=24
- (local.get $2)
- (i32.const 0)
- )
- )
- (call $_abort)
- )
- )
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (local.get $1)
- (local.get $0)
- )
- )
- (i32.store
- (local.get $4)
- (local.get $2)
- )
- (i32.store offset=24
- (local.get $2)
- (local.get $4)
- )
- (i32.store offset=12
- (local.get $2)
- (local.get $2)
- )
- (i32.store offset=8
- (local.get $2)
- (local.get $2)
- )
- )
- )
- )
- (i32.store
- (i32.const 208)
- (local.tee $0
- (i32.add
- (i32.load
- (i32.const 208)
- )
- (i32.const -1)
- )
- )
- )
- (if
- (local.get $0)
- (return)
- (local.set $0
- (i32.const 632)
- )
- )
- (loop $while-in17
- (local.set $0
- (i32.add
- (local.tee $3
- (i32.load
- (local.get $0)
- )
- )
- (i32.const 8)
- )
- )
- (br_if $while-in17
- (local.get $3)
- )
- )
- (i32.store
- (i32.const 208)
- (i32.const -1)
- )
- )
- (func $runPostSets
- (nop)
- )
- (func $_i64Subtract (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (global.set $tempRet0
- (i32.sub
- (i32.sub
- (local.get $1)
- (local.get $3)
- )
- (i32.gt_u
- (local.get $2)
- (local.get $0)
- )
- )
- )
- (i32.sub
- (local.get $0)
- (local.get $2)
- )
- )
- (func $_i64Add (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (local $4 i32)
- (global.set $tempRet0
- (i32.add
- (i32.add
- (local.get $1)
- (local.get $3)
- )
- (i32.lt_u
- (local.tee $4
- (i32.add
- (local.get $0)
- (local.get $2)
- )
- )
- (local.get $0)
- )
- )
- )
- (local.get $4)
- )
- (func $_memset (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local.set $4
- (i32.add
- (local.get $0)
- (local.get $2)
- )
- )
- (if
- (i32.ge_s
- (local.get $2)
- (i32.const 20)
- )
- (block
- (local.set $1
- (i32.and
- (local.get $1)
- (i32.const 255)
- )
- )
- (if
- (local.tee $3
- (i32.and
- (local.get $0)
- (i32.const 3)
- )
- )
- (block
- (local.set $3
- (i32.sub
- (i32.add
- (local.get $0)
- (i32.const 4)
- )
- (local.get $3)
- )
- )
- (loop $while-in
- (if
- (i32.lt_s
- (local.get $0)
- (local.get $3)
- )
- (block
- (i32.store8
- (local.get $0)
- (local.get $1)
- )
- (local.set $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- (br $while-in)
- )
- )
- )
- )
- )
- (local.set $3
- (i32.or
- (i32.or
- (i32.or
- (local.get $1)
- (i32.shl
- (local.get $1)
- (i32.const 8)
- )
- )
- (i32.shl
- (local.get $1)
- (i32.const 16)
- )
- )
- (i32.shl
- (local.get $1)
- (i32.const 24)
- )
- )
- )
- (local.set $5
- (i32.and
- (local.get $4)
- (i32.const -4)
- )
- )
- (loop $while-in1
- (if
- (i32.lt_s
- (local.get $0)
- (local.get $5)
- )
- (block
- (i32.store
- (local.get $0)
- (local.get $3)
- )
- (local.set $0
- (i32.add
- (local.get $0)
- (i32.const 4)
- )
- )
- (br $while-in1)
- )
- )
- )
- )
- )
- (loop $while-in3
- (if
- (i32.lt_s
- (local.get $0)
- (local.get $4)
- )
- (block
- (i32.store8
- (local.get $0)
- (local.get $1)
- )
- (local.set $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- (br $while-in3)
- )
- )
- )
- (i32.sub
- (local.get $0)
- (local.get $2)
- )
- )
- (func $_bitshift64Lshr (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (if
- (i32.lt_s
- (local.get $2)
- (i32.const 32)
- )
- (block
- (global.set $tempRet0
- (i32.shr_u
- (local.get $1)
- (local.get $2)
- )
- )
- (return
- (i32.or
- (i32.shr_u
- (local.get $0)
- (local.get $2)
- )
- (i32.shl
- (i32.and
- (local.get $1)
- (i32.sub
- (i32.shl
- (i32.const 1)
- (local.get $2)
- )
- (i32.const 1)
- )
- )
- (i32.sub
- (i32.const 32)
- (local.get $2)
- )
- )
- )
- )
- )
- )
- (global.set $tempRet0
- (i32.const 0)
- )
- (i32.shr_u
- (local.get $1)
- (i32.sub
- (local.get $2)
- (i32.const 32)
- )
- )
- )
- (func $_bitshift64Shl (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (if
- (i32.lt_s
- (local.get $2)
- (i32.const 32)
- )
- (block
- (global.set $tempRet0
- (i32.or
- (i32.shl
- (local.get $1)
- (local.get $2)
- )
- (i32.shr_u
- (i32.and
- (local.get $0)
- (i32.shl
- (i32.sub
- (i32.shl
- (i32.const 1)
- (local.get $2)
- )
- (i32.const 1)
- )
- (i32.sub
- (i32.const 32)
- (local.get $2)
- )
- )
- )
- (i32.sub
- (i32.const 32)
- (local.get $2)
- )
- )
- )
- )
- (return
- (i32.shl
- (local.get $0)
- (local.get $2)
- )
- )
- )
- )
- (global.set $tempRet0
- (i32.shl
- (local.get $0)
- (i32.sub
- (local.get $2)
- (i32.const 32)
- )
- )
- )
- (i32.const 0)
- )
- (func $_memcpy (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (local $3 i32)
- (if
- (i32.ge_s
- (local.get $2)
- (i32.const 4096)
- )
- (return
- (call $_emscripten_memcpy_big
- (local.get $0)
- (local.get $1)
- (local.get $2)
- )
- )
- )
- (local.set $3
- (local.get $0)
- )
- (if
- (i32.eq
- (i32.and
- (local.get $0)
- (i32.const 3)
- )
- (i32.and
- (local.get $1)
- (i32.const 3)
- )
- )
- (block
- (loop $while-in
- (if
- (i32.and
- (local.get $0)
- (i32.const 3)
- )
- (block
- (if
- (i32.eqz
- (local.get $2)
- )
- (return
- (local.get $3)
- )
- )
- (i32.store8
- (local.get $0)
- (i32.load8_s
- (local.get $1)
- )
- )
- (local.set $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- (local.set $1
- (i32.add
- (local.get $1)
- (i32.const 1)
- )
- )
- (local.set $2
- (i32.sub
- (local.get $2)
- (i32.const 1)
- )
- )
- (br $while-in)
- )
- )
- )
- (loop $while-in1
- (if
- (i32.ge_s
- (local.get $2)
- (i32.const 4)
- )
- (block
- (i32.store
- (local.get $0)
- (i32.load
- (local.get $1)
- )
- )
- (local.set $0
- (i32.add
- (local.get $0)
- (i32.const 4)
- )
- )
- (local.set $1
- (i32.add
- (local.get $1)
- (i32.const 4)
- )
- )
- (local.set $2
- (i32.sub
- (local.get $2)
- (i32.const 4)
- )
- )
- (br $while-in1)
- )
- )
- )
- )
- )
- (loop $while-in3
- (if
- (i32.gt_s
- (local.get $2)
- (i32.const 0)
- )
- (block
- (i32.store8
- (local.get $0)
- (i32.load8_s
- (local.get $1)
- )
- )
- (local.set $0
- (i32.add
- (local.get $0)
- (i32.const 1)
- )
- )
- (local.set $1
- (i32.add
- (local.get $1)
- (i32.const 1)
- )
- )
- (local.set $2
- (i32.sub
- (local.get $2)
- (i32.const 1)
- )
- )
- (br $while-in3)
- )
- )
- )
- (local.get $3)
- )
- (func $___udivdi3 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (call $___udivmoddi4
- (local.get $0)
- (local.get $1)
- (local.get $2)
- (local.get $3)
- (i32.const 0)
- )
- )
- (func $___uremdi3 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (local $4 i32)
- (local.set $4
- (global.get $STACKTOP)
- )
- (global.set $STACKTOP
- (i32.add
- (global.get $STACKTOP)
- (i32.const 16)
- )
- )
- (drop
- (call $___udivmoddi4
- (local.get $0)
- (local.get $1)
- (local.get $2)
- (local.get $3)
- (local.tee $0
- (local.get $4)
- )
- )
- )
- (global.set $STACKTOP
- (local.get $4)
- )
- (global.set $tempRet0
- (i32.load offset=4
- (local.get $0)
- )
- )
- (i32.load
- (local.get $0)
- )
- )
- (func $___udivmoddi4 (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (param $r i32) (result i32)
- (local $x64 i64)
- (local $y64 i64)
- (local.set $x64
- (i64.or
- (i64.extend_i32_u
- (local.get $xl)
- )
- (i64.shl
- (i64.extend_i32_u
- (local.get $xh)
- )
- (i64.const 32)
- )
- )
- )
- (local.set $y64
- (i64.or
- (i64.extend_i32_u
- (local.get $yl)
- )
- (i64.shl
- (i64.extend_i32_u
- (local.get $yh)
- )
- (i64.const 32)
- )
- )
- )
- (if
- (local.get $r)
- (i64.store
- (local.get $r)
- (i64.rem_u
- (local.get $x64)
- (local.get $y64)
- )
- )
- )
- (local.set $x64
- (i64.div_u
- (local.get $x64)
- (local.get $y64)
- )
- )
- (global.set $tempRet0
- (i32.wrap_i64
- (i64.shr_u
- (local.get $x64)
- (i64.const 32)
- )
- )
- )
- (i32.wrap_i64
- (local.get $x64)
- )
- )
- (func $dynCall_ii (param $0 i32) (param $1 i32) (result i32)
- (call_indirect (type $FUNCSIG$ii)
- (local.get $1)
- (i32.and
- (local.get $0)
- (i32.const 1)
- )
- )
- )
- (func $dynCall_iiii (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (call_indirect (type $FUNCSIG$iiii)
- (local.get $1)
- (local.get $2)
- (local.get $3)
- (i32.add
- (i32.and
- (local.get $0)
- (i32.const 7)
- )
- (i32.const 2)
- )
- )
- )
- (func $dynCall_vi (param $0 i32) (param $1 i32)
- (call_indirect (type $FUNCSIG$vi)
- (local.get $1)
- (i32.add
- (i32.and
- (local.get $0)
- (i32.const 7)
- )
- (i32.const 10)
- )
- )
- )
- (func $b0 (param $0 i32) (result i32)
- (call $nullFunc_ii
- (i32.const 0)
- )
- (i32.const 0)
- )
- (func $b1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (call $nullFunc_iiii
- (i32.const 1)
- )
- (i32.const 0)
- )
- (func $b2 (param $0 i32)
- (call $nullFunc_vi
- (i32.const 2)
- )
- )
-)
diff --git a/test/passes/inlining_all-features.txt b/test/passes/inlining_all-features.txt
deleted file mode 100644
index ac9b00559..000000000
--- a/test/passes/inlining_all-features.txt
+++ /dev/null
@@ -1,84 +0,0 @@
-(module
- (type $none_=>_none (func))
- (type $none_=>_funcref (func (result funcref)))
- (elem declare func $foo)
- (export "ref_func_test" (func $ref_func_test))
- (func $foo
- (nop)
- )
- (func $ref_func_test (result funcref)
- (block
- (block $__inlined_func$foo
- (nop)
- )
- )
- (ref.func $foo)
- )
-)
-(module
- (type $none_=>_i32 (func (result i32)))
- (global $global$0 (mut funcref) (ref.func $0))
- (func $0 (result i32)
- (i32.const 1337)
- )
- (func $1 (result i32)
- (block $__inlined_func$0 (result i32)
- (i32.const 1337)
- )
- )
-)
-(module
- (type $none_=>_none (func))
- (start $0)
- (func $0
- (nop)
- )
- (func $1
- (block $__inlined_func$0
- (nop)
- )
- )
-)
-(module
- (type $none_=>_none (func))
- (export "func_36_invoker" (func $1))
- (func $1
- (block $__inlined_func$0
- (block
- (call_ref
- (ref.null $none_=>_none)
- )
- (br $__inlined_func$0)
- )
- (br $__inlined_func$0)
- )
- )
-)
-(module
- (type $none_=>_ref|func| (func (result (ref func))))
- (elem declare func $1)
- (func $1 (result (ref func))
- (local $0 funcref)
- (block $__inlined_func$0 (result (ref func))
- (local.set $0
- (ref.func $1)
- )
- (ref.as_non_null
- (local.get $0)
- )
- )
- )
-)
-(module
- (type $struct (struct ))
- (type $rtt_$struct_=>_none (func (param (rtt $struct))))
- (type $none_=>_none (func))
- (func $0 (param $rtt (rtt $struct))
- (nop)
- )
- (func $1
- (call $0
- (rtt.canon $struct)
- )
- )
-)
diff --git a/test/passes/inlining_all-features.wast b/test/passes/inlining_all-features.wast
deleted file mode 100644
index 99fab7d26..000000000
--- a/test/passes/inlining_all-features.wast
+++ /dev/null
@@ -1,68 +0,0 @@
-(module
- (export "ref_func_test" (func $ref_func_test))
- ;; $foo should not be removed after being inlined, because there is 'ref.func'
- ;; instruction that refers to it
- (func $foo)
- (func $ref_func_test (result funcref)
- (call $foo)
- (ref.func $foo)
- )
-)
-(module
- ;; a function reference in a global's init should be noticed, and prevent us
- ;; from removing an inlined function
- (global $global$0 (mut funcref) (ref.func $0))
- (func $0 (result i32)
- (i32.const 1337)
- )
- (func $1 (result i32)
- (call $0)
- )
-)
-(module
- ;; a function reference in the start should be noticed, and prevent us
- ;; from removing an inlined function
- (start $0)
- (func $0
- (nop)
- )
- (func $1
- (call $0)
- )
-)
-;; inline a return_call_ref
-(module
- (type $none_=>_none (func))
- (export "func_36_invoker" (func $1))
- (func $0
- (return_call_ref
- (ref.null $none_=>_none)
- )
- )
- (func $1
- (call $0)
- )
-)
-;; handle non-nullable parameter types (which turn into local types after
-;; inlining)
-(module
- (func $0 (param $non-null (ref func)) (result (ref func))
- (local.get $non-null)
- )
- (func $1 (result (ref func))
- (call $0
- (ref.func $1)
- )
- )
-)
-;; never inline an rtt parameter, as those cannot be handled as locals
-(module
- (type $struct (struct))
- (func $0 (param $rtt (rtt $struct))
- )
- (func $1
- (call $0
- (rtt.canon $struct)
- )
- )
-)
diff --git a/test/passes/inlining_enable-tail-call.txt b/test/passes/inlining_enable-tail-call.txt
deleted file mode 100644
index bea38abdf..000000000
--- a/test/passes/inlining_enable-tail-call.txt
+++ /dev/null
@@ -1,418 +0,0 @@
-(module
- (type $none_=>_none (func))
- (table $0 1 1 funcref)
- (elem (i32.const 0) $tabled)
- (export "user" (func $user))
- (export "exported" (func $exported))
- (func $user
- (local $x i32)
- (local $y f64)
- (local $2 f32)
- (local $3 i64)
- (local $4 f32)
- (local $5 i64)
- (local $6 f32)
- (block
- (block $__inlined_func$exported
- (nop)
- )
- )
- (block
- (block $__inlined_func$tabled
- (nop)
- )
- )
- (block
- (block $__inlined_func$multi
- (nop)
- )
- )
- (block
- (block $__inlined_func$multi0
- (nop)
- )
- )
- (block
- (block $__inlined_func$ok
- (drop
- (i32.const 1)
- )
- )
- )
- (drop
- (block (result i32)
- (block $__inlined_func$int (result i32)
- (i32.const 2)
- )
- )
- )
- (drop
- (block (result f64)
- (block $__inlined_func$double (result f64)
- (f64.const 3.14159)
- )
- )
- )
- (local.set $x
- (block (result i32)
- (block $__inlined_func$int2 (result i32)
- (i32.const 112)
- )
- )
- )
- (local.set $y
- (block (result f64)
- (block $__inlined_func$double2 (result f64)
- (f64.const 113.14159)
- )
- )
- )
- (block
- (block $__inlined_func$with-local
- (local.set $2
- (f32.const 0)
- )
- (local.set $2
- (f32.const 2.1418280601501465)
- )
- )
- )
- (block
- (block $__inlined_func$with-local2
- (local.set $3
- (i64.const 0)
- )
- (local.set $3
- (i64.const 4)
- )
- )
- )
- (drop
- (block (result i32)
- (block $__inlined_func$return (result i32)
- (br $__inlined_func$return
- (i32.const 5)
- )
- )
- )
- )
- (block
- (block $__inlined_func$multipass
- (block
- (block
- (block $__inlined_func$multipass2
- (drop
- (i32.const 6)
- )
- )
- )
- )
- )
- )
- (block
- (block $__inlined_func$param
- (local.set $4
- (f32.const 12.34000015258789)
- )
- (local.set $5
- (i64.const 890005350012)
- )
- (local.set $6
- (f32.const 0)
- )
- (block
- (drop
- (local.get $4)
- )
- (drop
- (local.get $5)
- )
- (drop
- (local.get $6)
- )
- )
- )
- )
- )
- (func $exported
- (nop)
- )
- (func $recursive
- (call $recursive)
- )
- (func $tabled
- (nop)
- )
- (func $cycle1
- (block $__inlined_func$cycle2
- (block
- (call $cycle1)
- )
- )
- )
-)
-(module
- (type $i32_=>_i32 (func (param i32) (result i32)))
- (type $none_=>_i32 (func (result i32)))
- (func $child (param $0 i32) (result i32)
- (i32.const 1234)
- )
- (func $parent (result i32)
- (call $child
- (unreachable)
- )
- )
-)
-(module
- (type $f32_i32_=>_i32 (func (param f32 i32) (result i32)))
- (type $none_=>_none (func))
- (global $hangLimit (mut i32) (i32.const 25))
- (memory $0 1 1)
- (export "hangLimitInitializer" (func $hangLimitInitializer))
- (func $func_4 (param $0 f32) (param $1 i32) (result i32)
- (local $2 i64)
- (local $3 f64)
- (local $4 f32)
- (local $5 i32)
- (local $6 i32)
- (local $7 f64)
- (local $8 i32)
- (loop $label$0 (result i32)
- (block $block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return
- (i32.const 54)
- )
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
- )
- (i32.eqz
- (if (result i32)
- (i32.const 1)
- (if (result i32)
- (i32.eqz
- (block (result i32)
- (block $__inlined_func$func_3 (result i32)
- (local.set $8
- (i32.const 0)
- )
- (select
- (local.get $8)
- (local.tee $8
- (i32.const -1)
- )
- (i32.const 1)
- )
- )
- )
- )
- (br $label$0)
- (i32.const 0)
- )
- (unreachable)
- )
- )
- )
- )
- (func $hangLimitInitializer
- (global.set $hangLimit
- (i32.const 25)
- )
- )
-)
-(module
- (type $none_=>_none (func))
- (type $T (func (param i32)))
- (table $0 10 funcref)
- (func $0
- (block $__inlined_func$1
- (call_indirect (type $T)
- (if (result i32)
- (i32.const 0)
- (unreachable)
- (unreachable)
- )
- (i32.const 1)
- )
- )
- )
-)
-(module
- (type $none_=>_none (func))
- (func $1
- (block $__inlined_func$0
- (block $label$1
- (br_table $label$1 $label$1
- (i32.const 0)
- )
- )
- )
- )
-)
-(module
- (type $none_=>_i32 (func (result i32)))
- (func $0 (result i32)
- (return
- (block $__inlined_func$1 (result i32)
- (i32.const 42)
- )
- )
- )
-)
-(module
- (type $none_=>_none (func))
- (func $0
- (local $0 i32)
- (block
- (block $__inlined_func$1
- (local.set $0
- (i32.const 42)
- )
- (drop
- (local.get $0)
- )
- )
- (return)
- )
- )
-)
-(module
- (type $none_=>_i32 (func (result i32)))
- (func $0 (result i32)
- (local $0 i32)
- (return
- (block $__inlined_func$1 (result i32)
- (local.set $0
- (i32.const 42)
- )
- (local.get $0)
- )
- )
- )
-)
-(module
- (type $none_=>_none (func))
- (func $0
- (drop
- (block (result i32)
- (block $__inlined_func$1 (result i32)
- (block
- (br $__inlined_func$1
- (block (result i32)
- (block $__inlined_func$2 (result i32)
- (i32.const 42)
- )
- )
- )
- )
- )
- )
- )
- )
-)
-(module
- (type $none_=>_none (func))
- (func $0
- (local $0 i32)
- (block $__inlined_func$1
- (block
- (block
- (block
- (block $__inlined_func$2
- (local.set $0
- (i32.const 42)
- )
- (drop
- (local.get $0)
- )
- )
- )
- (br $__inlined_func$1)
- )
- )
- (br $__inlined_func$1)
- )
- )
-)
-(module
- (type $none_=>_none (func))
- (type $T (func (param i32) (result i32)))
- (table $0 10 funcref)
- (func $0
- (drop
- (block (result i32)
- (block $__inlined_func$1 (result i32)
- (br $__inlined_func$1
- (call_indirect (type $T)
- (i32.const 42)
- (i32.const 0)
- )
- )
- )
- )
- )
- )
-)
-(module
- (type $none_=>_none (func))
- (type $T (func (param i32)))
- (table $0 10 funcref)
- (func $0
- (block $__inlined_func$1
- (block
- (call_indirect (type $T)
- (i32.const 42)
- (i32.const 0)
- )
- (br $__inlined_func$1)
- )
- (br $__inlined_func$1)
- )
- )
-)
-(module
- (type $6 (func))
- (global $global$0 (mut i32) (i32.const 10))
- (memory $0 1 1)
- (export "func_102_invoker" (func $19))
- (func $19
- (block
- (block
- (block $__inlined_func$13
- (block
- (if
- (global.get $global$0)
- (unreachable)
- )
- (block
- (block
- (block $__inlined_func$2
- (block
- (if
- (global.get $global$0)
- (br $__inlined_func$2)
- )
- (global.set $global$0
- (i32.const 1)
- )
- )
- )
- (br $__inlined_func$13)
- )
- )
- )
- (br $__inlined_func$13)
- )
- )
- )
- (unreachable)
- )
-)
diff --git a/test/passes/inlining_enable-tail-call.wast b/test/passes/inlining_enable-tail-call.wast
deleted file mode 100644
index 0ca64267a..000000000
--- a/test/passes/inlining_enable-tail-call.wast
+++ /dev/null
@@ -1,288 +0,0 @@
-(module
- (table 1 1 funcref)
- (elem (i32.const 0) $tabled)
- (func $user (export "user")
- (local $x i32)
- (local $y f64)
- (call $exported)
- (call $tabled)
- (call $multi)
- (call $multi)
- (call $ok)
- (drop (call $int))
- (drop (call $double))
- (local.set $x (call $int2))
- (local.set $y (call $double2))
- (call $with-local)
- (call $with-local2)
- (drop (call $return))
- (call $multipass)
- (call $param (f32.const 12.34) (i64.const 890005350012))
- )
- (func $exported (export "exported")
- (nop)
- )
- (func $recursive
- (call $recursive)
- )
- (func $tabled
- (nop)
- )
- (func $cycle1
- (call $cycle2)
- )
- (func $cycle2
- (call $cycle1)
- )
- (func $multi
- (nop)
- )
- (func $ok
- (drop (i32.const 1))
- )
- (func $int (result i32)
- (i32.const 2)
- )
- (func $double (result f64)
- (f64.const 3.14159)
- )
- (func $int2 (result i32)
- (i32.const 112)
- )
- (func $double2 (result f64)
- (f64.const 113.14159)
- )
- (func $with-local
- (local $x f32)
- (local.set $x (f32.const 2.141828))
- )
- (func $with-local2
- (local $y i64)
- (local.set $y (i64.const 4))
- )
- (func $return (result i32)
- (return (i32.const 5))
- )
- (func $multipass
- (call $multipass2)
- )
- (func $multipass2
- (drop (i32.const 6))
- )
- (func $param (param $x f32) (param $y i64)
- (local $z f32)
- (drop (local.get $x))
- (drop (local.get $y))
- (drop (local.get $z))
- )
-)
-(module
- (func $child (param i32) (result i32)
- (i32.const 1234)
- )
- (func $parent (result i32)
- (call $child
- (unreachable) ;; call is not performed, no sense to inline
- )
- )
-)
-(module
- (global $hangLimit (mut i32) (i32.const 25))
- (memory $0 1 1)
- (export "hangLimitInitializer" (func $hangLimitInitializer))
- (func $func_3 (result i32)
- (local $0 i32)
- (select
- (local.get $0) ;; we depend on the zero-init value here, so it must be set when inlining!
- (local.tee $0
- (i32.const -1)
- )
- (i32.const 1)
- )
- )
- (func $func_4 (param $0 f32) (param $1 i32) (result i32)
- (local $2 i64)
- (local $3 f64)
- (local $4 f32)
- (local $5 i32)
- (local $6 i32)
- (local $7 f64)
- (loop $label$0 (result i32)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return
- (i32.const 54)
- )
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
- )
- (i32.eqz
- (if (result i32)
- (i32.const 1)
- (if (result i32)
- (i32.eqz
- (call $func_3)
- )
- (br $label$0)
- (i32.const 0)
- )
- (unreachable)
- )
- )
- )
- )
- (func $hangLimitInitializer
- (global.set $hangLimit
- (i32.const 25)
- )
- )
-)
-(module
- (type $T (func (param i32)))
- (table 10 funcref)
- (func $0
- (call $1)
- )
- (func $1
- (call_indirect (type $T)
- (if (result i32) ;; if copy must preserve the forced type
- (i32.const 0)
- (unreachable)
- (unreachable)
- )
- (i32.const 1)
- )
- )
-)
-(module
- (func $0
- (block $label$1 ;; copy this name
- (br_table $label$1 $label$1
- (i32.const 0)
- )
- )
- )
- (func $1
- (call $0)
- )
-)
-(module
- (func $0 (result i32)
- (return_call $1)
- )
- (func $1 (result i32)
- (i32.const 42)
- )
-)
-(module
- (func $0
- (return_call $1
- (i32.const 42)
- )
- )
- (func $1 (param i32)
- (drop
- (local.get 0)
- )
- )
-)
-(module
- (func $0 (result i32)
- (return_call $1
- (i32.const 42)
- )
- )
- (func $1 (param i32) (result i32)
- (local.get 0)
- )
-)
-(module
- (func $0
- (drop
- (call $1)
- )
- )
- (func $1 (result i32)
- (return_call $2)
- )
- (func $2 (result i32)
- (i32.const 42)
- )
-)
-(module
- (func $0
- (call $1)
- )
- (func $1
- (return_call $2
- (i32.const 42)
- )
- )
- (func $2 (param i32)
- (drop
- (local.get 0)
- )
- )
-)
-(module
- (type $T (func (param i32) (result i32)))
- (table 10 funcref)
- (func $0
- (drop
- (call $1)
- )
- )
- (func $1 (result i32)
- (return_call_indirect (type $T)
- (i32.const 42)
- (i32.const 0)
- )
- )
-)
-(module
- (type $T (func (param i32)))
- (table 10 funcref)
- (func $0
- (call $1)
- )
- (func $1
- (return_call_indirect (type $T)
- (i32.const 42)
- (i32.const 0)
- )
- )
-)
-(module
- (type $6 (func))
- (memory $0 1 1)
- (global $global$0 (mut i32) (i32.const 10))
- (export "func_102_invoker" (func $19))
- (func $2 (; 2 ;) (type $6)
- (if
- (global.get $global$0)
- (return)
- )
- (global.set $global$0
- (i32.const 1)
- )
- )
- (func $13 (; 13 ;) (type $6)
- (if
- (global.get $global$0)
- (unreachable)
- )
- (return_call $2)
- )
- (func $19 (; 19 ;) (type $6)
- (call $13)
- (unreachable)
- )
-)
diff --git a/test/passes/inlining_optimize-level=3.txt b/test/passes/inlining_optimize-level=3.txt
deleted file mode 100644
index c2c4013ab..000000000
--- a/test/passes/inlining_optimize-level=3.txt
+++ /dev/null
@@ -1,159 +0,0 @@
-(module
- (type $none_=>_i32 (func (result i32)))
- (type $none_=>_none (func))
- (table $0 1 1 funcref)
- (elem (i32.const 0) $no-loops-but-one-use-but-tabled)
- (export "yes" (func $yes))
- (export "no-loops-but-one-use-but-exported" (func $no-loops-but-one-use-but-exported))
- (func $yes (result i32)
- (i32.const 1)
- )
- (func $no-loops-but-one-use-but-exported (result i32)
- (loop $loop-in (result i32)
- (i32.const 1)
- )
- )
- (func $no-loops-but-one-use-but-tabled (result i32)
- (loop $loop-in (result i32)
- (i32.const 1)
- )
- )
- (func $intoHere
- (drop
- (block (result i32)
- (block $__inlined_func$yes (result i32)
- (i32.const 1)
- )
- )
- )
- (drop
- (block (result i32)
- (block $__inlined_func$yes-big-but-single-use (result i32)
- (block (result i32)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (i32.const 1)
- )
- )
- )
- )
- (drop
- (block (result i32)
- (block (result i32)
- (block $__inlined_func$no-calls (result i32)
- (block (result i32)
- (block $__inlined_func$yes0 (result i32)
- (i32.const 1)
- )
- )
- )
- )
- )
- )
- (drop
- (block (result i32)
- (block (result i32)
- (block $__inlined_func$no-calls1 (result i32)
- (block (result i32)
- (block $__inlined_func$yes2 (result i32)
- (i32.const 1)
- )
- )
- )
- )
- )
- )
- (drop
- (block (result i32)
- (block (result i32)
- (block $__inlined_func$yes-calls-but-one-use (result i32)
- (block (result i32)
- (block $__inlined_func$yes3 (result i32)
- (i32.const 1)
- )
- )
- )
- )
- )
- )
- (drop
- (block (result i32)
- (block $__inlined_func$no-loops (result i32)
- (loop $loop-in (result i32)
- (i32.const 1)
- )
- )
- )
- )
- (drop
- (block (result i32)
- (block $__inlined_func$no-loops0 (result i32)
- (loop $loop-in1 (result i32)
- (i32.const 1)
- )
- )
- )
- )
- (drop
- (block (result i32)
- (block $__inlined_func$yes-loops-but-one-use (result i32)
- (loop $loop-in2 (result i32)
- (i32.const 1)
- )
- )
- )
- )
- (drop
- (block (result i32)
- (block $__inlined_func$no-loops-but-one-use-but-exported (result i32)
- (loop $loop-in3 (result i32)
- (i32.const 1)
- )
- )
- )
- )
- (drop
- (block (result i32)
- (block $__inlined_func$no-loops-but-one-use-but-tabled (result i32)
- (loop $loop-in4 (result i32)
- (i32.const 1)
- )
- )
- )
- )
- )
-)
diff --git a/test/passes/inlining_optimize-level=3.wast b/test/passes/inlining_optimize-level=3.wast
deleted file mode 100644
index ba976e56a..000000000
--- a/test/passes/inlining_optimize-level=3.wast
+++ /dev/null
@@ -1,58 +0,0 @@
-(module
- (export "yes" (func $yes))
- (export "no-loops-but-one-use-but-exported" (func $no-loops-but-one-use-but-exported))
- (table 1 1 funcref)
- (elem (i32.const 0) $no-loops-but-one-use-but-tabled)
-
- (func $yes (result i32) ;; inlinable: small, lightweight, even with multi uses and a global use, ok when opt-level=3
- (i32.const 1)
- )
- (func $yes-big-but-single-use (result i32)
- (nop) (nop) (nop) (nop) (nop) (nop)
- (nop) (nop) (nop) (nop) (nop) (nop)
- (nop) (nop) (nop) (nop) (nop) (nop)
- (nop) (nop) (nop) (nop) (nop) (nop)
- (nop) (nop) (nop) (nop) (nop) (nop)
- (nop) (nop) (nop) (nop) (nop) (nop)
- (i32.const 1)
- )
- (func $no-calls (result i32)
- (call $yes)
- )
- (func $yes-calls-but-one-use (result i32)
- (call $yes)
- )
- (func $no-loops (result i32)
- (loop (result i32)
- (i32.const 1)
- )
- )
- (func $yes-loops-but-one-use (result i32)
- (loop (result i32)
- (i32.const 1)
- )
- )
- (func $no-loops-but-one-use-but-exported (result i32)
- (loop (result i32)
- (i32.const 1)
- )
- )
- (func $no-loops-but-one-use-but-tabled (result i32)
- (loop (result i32)
- (i32.const 1)
- )
- )
- (func $intoHere
- (drop (call $yes))
- (drop (call $yes-big-but-single-use))
- (drop (call $no-calls))
- (drop (call $no-calls))
- (drop (call $yes-calls-but-one-use))
- (drop (call $no-loops))
- (drop (call $no-loops))
- (drop (call $yes-loops-but-one-use))
- (drop (call $no-loops-but-one-use-but-exported))
- (drop (call $no-loops-but-one-use-but-tabled))
- )
-)
-