diff options
Diffstat (limited to 'test/lit/passes/inlining-optimizing_optimize-level=3.wast')
-rw-r--r-- | test/lit/passes/inlining-optimizing_optimize-level=3.wast | 30432 |
1 files changed, 16139 insertions, 14293 deletions
diff --git a/test/lit/passes/inlining-optimizing_optimize-level=3.wast b/test/lit/passes/inlining-optimizing_optimize-level=3.wast index a0e320bd6..fdfbf7b35 100644 --- a/test/lit/passes/inlining-optimizing_optimize-level=3.wast +++ b/test/lit/passes/inlining-optimizing_optimize-level=3.wast @@ -175,7 +175,9 @@ ;; CHECK-NEXT: (global.get $STACKTOP) ;; CHECK-NEXT: (global.get $STACK_MAX) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -204,7 +206,9 @@ (global.get $STACKTOP) (global.get $STACK_MAX) ) - (call $abort) + (then + (call $abort) + ) ) (local.get $1) ) @@ -245,7 +249,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $__THREW__) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (global.set $__THREW__ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -260,12 +264,14 @@ (i32.eqz (global.get $__THREW__) ) - (block - (global.set $__THREW__ - (local.get $0) - ) - (global.set $threwValue - (local.get $1) + (then + (block + (global.set $__THREW__ + (local.get $0) + ) + (global.set $threwValue + (local.get $1) + ) ) ) ) @@ -315,7 +321,9 @@ ;; CHECK-NEXT: (global.get $STACKTOP) ;; CHECK-NEXT: (global.get $STACK_MAX) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (global.get $STACKTOP) @@ -331,7 +339,9 @@ ;; CHECK-NEXT: (global.get $STACKTOP) ;; CHECK-NEXT: (global.get $STACK_MAX) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) @@ -356,7 +366,9 @@ ;; CHECK-NEXT: (global.get $STACKTOP) ;; CHECK-NEXT: (global.get $STACK_MAX) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (i32.add @@ -418,8 +430,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const -1) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.const -1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.load offset=76 ;; CHECK-NEXT: (local.get $0) @@ -437,11 +451,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; 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: (then + ;; 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: ) @@ -454,16 +470,18 @@ ;; 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: (then + ;; 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: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (local.set $10 ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $9 @@ -523,7 +541,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call_indirect (type $FUNCSIG$iiii) ;; CHECK-NEXT: (local.get $0) @@ -612,7 +630,9 @@ (global.get $STACKTOP) (global.get $STACK_MAX) ) - (call $abort) + (then + (call $abort) + ) ) (drop (call $_printf @@ -668,7 +688,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (f64.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (call $_frexp ;; CHECK-NEXT: (f64.mul @@ -685,7 +705,9 @@ ;; CHECK-NEXT: (i32.const -64) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -765,24 +787,28 @@ (local.get $0) (f64.const 0) ) - (block (result i32) - (local.set $0 - (call $_frexp - (f64.mul - (local.get $0) - (f64.const 18446744073709551615) + (then + (block (result i32) + (local.set $0 + (call $_frexp + (f64.mul + (local.get $0) + (f64.const 18446744073709551615) + ) + (local.get $1) ) - (local.get $1) ) - ) - (i32.add - (i32.load - (local.get $1) + (i32.add + (i32.load + (local.get $1) + ) + (i32.const -64) ) - (i32.const -64) ) ) - (i32.const 0) + (else + (i32.const 0) + ) ) ) ) @@ -877,14 +903,18 @@ (i32.load8_s (local.get $0) ) - (block + (then + (block + (local.set $0 + (local.get $2) + ) + (br $while-in3) + ) + ) + (else (local.set $0 (local.get $2) ) - (br $while-in3) - ) - (local.set $0 - (local.get $2) ) ) ) @@ -905,10 +935,14 @@ ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load offset=60 - ;; CHECK-NEXT: (call $_pthread_self) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.load offset=60 + ;; CHECK-NEXT: (call $_pthread_self) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.const 60) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 60) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $___errno_location (result i32) @@ -916,10 +950,14 @@ (i32.load (i32.const 16) ) - (i32.load offset=60 - (call $_pthread_self) + (then + (i32.load offset=60 + (call $_pthread_self) + ) + ) + (else + (i32.const 60) ) - (i32.const 60) ) ) ;; CHECK: (func $___stdio_close (param $0 i32) (result i32) @@ -939,7 +977,9 @@ ;; CHECK-NEXT: (global.get $STACKTOP) ;; CHECK-NEXT: (global.get $STACK_MAX) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $2 @@ -979,7 +1019,9 @@ (global.get $STACKTOP) (global.get $STACK_MAX) ) - (call $abort) + (then + (call $abort) + ) ) (i32.store (local.tee $2 @@ -1020,7 +1062,9 @@ ;; CHECK-NEXT: (global.get $STACKTOP) ;; CHECK-NEXT: (global.get $STACK_MAX) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (local.get $4) @@ -1044,7 +1088,7 @@ ;; CHECK-NEXT: (i32.const 64) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.load offset=60 @@ -1064,9 +1108,11 @@ ;; 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: (then + ;; CHECK-NEXT: (i32.store8 offset=75 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (i32.const -1) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1101,7 +1147,9 @@ (global.get $STACKTOP) (global.get $STACK_MAX) ) - (call $abort) + (then + (call $abort) + ) ) (local.set $3 (local.get $4) @@ -1125,29 +1173,33 @@ (i32.const 64) ) ) - (block - (i32.store - (local.get $3) - (i32.load offset=60 - (local.get $0) + (then + (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) + (i32.store offset=4 (local.get $3) + (i32.const 21505) ) - (i32.store8 offset=75 - (local.get $0) - (i32.const -1) + (i32.store offset=8 + (local.get $3) + (local.get $5) + ) + (if + (call $___syscall54 + (i32.const 54) + (local.get $3) + ) + (then + (i32.store8 offset=75 + (local.get $0) + (i32.const -1) + ) + ) ) ) ) @@ -1181,7 +1233,9 @@ ;; CHECK-NEXT: (global.get $STACKTOP) ;; CHECK-NEXT: (global.get $STACK_MAX) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $3 @@ -1223,15 +1277,17 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (then ;; 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: (else + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1257,7 +1313,9 @@ (global.get $STACKTOP) (global.get $STACK_MAX) ) - (call $abort) + (then + (call $abort) + ) ) (i32.store (local.tee $3 @@ -1299,15 +1357,19 @@ ) (i32.const 0) ) - (block (result i32) - (i32.store - (local.get $0) + (then + (block (result i32) + (i32.store + (local.get $0) + (i32.const -1) + ) (i32.const -1) ) - (i32.const -1) ) - (i32.load - (local.get $0) + (else + (i32.load + (local.get $0) + ) ) ) ) @@ -1320,29 +1382,33 @@ ;; 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.lt_s - ;; CHECK-NEXT: (i32.load offset=76 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (block $do-once (result i32) + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.lt_s + ;; CHECK-NEXT: (i32.load offset=76 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (br $do-once + ;; CHECK-NEXT: (call $___fflush_unlocked + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $do-once + ;; CHECK-NEXT: (local.tee $0 ;; 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: (else ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (local.tee $0 @@ -1350,10 +1416,14 @@ ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_fflush - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_fflush + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $___lock @@ -1365,34 +1435,38 @@ ;; 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: (then + ;; 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: (local.set $0 - ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (call $___fflush_unlocked + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.gt_u + ;; CHECK-NEXT: (i32.load offset=20 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (i32.load offset=28 + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; 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: ) - ;; 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: (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: ) @@ -1411,121 +1485,145 @@ (block $do-once (if (local.get $0) - (block - (if - (i32.le_s - (i32.load offset=76 - (local.get $0) + (then + (block + (if + (i32.le_s + (i32.load offset=76 + (local.get $0) + ) + (i32.const -1) + ) + (then + (block + (local.set $0 + (call $___fflush_unlocked + (local.get $0) + ) + ) + (br $do-once) + ) ) - (i32.const -1) ) - (block - (local.set $0 - (call $___fflush_unlocked + (local.set $2 + (i32.eqz + (call $___lockfile (local.get $0) ) ) - (br $do-once) ) - ) - (local.set $2 - (i32.eqz - (call $___lockfile + (local.set $1 + (call $___fflush_unlocked (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.set $0 + (if (result i32) + (local.get $2) + (then + (local.get $1) + ) + (else + (block (result i32) + (call $___unlockfile + (local.get $0) + ) + (local.get $1) + ) ) - (local.get $1) ) ) ) ) - (block - (local.set $0 - (if (result i32) - (i32.load - (i32.const 12) - ) - (call $_fflush + (else + (block + (local.set $0 + (if (result i32) (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) + (then + (call $_fflush + (i32.load + (i32.const 12) ) - (i32.const -1) - ) - (call $___lockfile - (local.get $1) ) + ) + (else (i32.const 0) ) ) - (if - (i32.gt_u - (i32.load offset=20 - (local.get $1) + ) + (call $___lock + (i32.const 44) + ) + (if + (local.tee $1 + (i32.load + (i32.const 40) + ) + ) + (then + (loop $while-in + (local.set $2 + (if (result i32) + (i32.gt_s + (i32.load offset=76 + (local.get $1) + ) + (i32.const -1) + ) + (then + (call $___lockfile + (local.get $1) + ) + ) + (else + (i32.const 0) + ) + ) ) - (i32.load offset=28 - (local.get $1) + (if + (i32.gt_u + (i32.load offset=20 + (local.get $1) + ) + (i32.load offset=28 + (local.get $1) + ) + ) + (then + (local.set $0 + (i32.or + (call $___fflush_unlocked + (local.get $1) + ) + (local.get $0) + ) + ) + ) ) - ) - (local.set $0 - (i32.or - (call $___fflush_unlocked - (local.get $1) + (if + (local.get $2) + (then + (call $___unlockfile + (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) + (br_if $while-in + (local.tee $1 + (i32.load offset=56 + (local.get $1) + ) + ) ) ) ) ) - ) - (call $___unlock - (i32.const 44) + (call $___unlock + (i32.const 44) + ) ) ) ) @@ -1549,7 +1647,9 @@ (global.get $STACKTOP) (global.get $STACK_MAX) ) - (call $abort) + (then + (call $abort) + ) ) (i32.store (local.tee $3 @@ -1604,7 +1704,9 @@ ;; CHECK-NEXT: (global.get $STACKTOP) ;; CHECK-NEXT: (global.get $STACK_MAX) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $9 ;; CHECK-NEXT: (i32.add @@ -1689,7 +1791,7 @@ ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (call $_pthread_cleanup_push ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: (local.get $0) @@ -1720,7 +1822,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (i32.load @@ -1767,7 +1869,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.tee $7 @@ -1802,13 +1904,13 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.add @@ -1825,8 +1927,10 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $7 + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $3) @@ -1908,11 +2012,15 @@ ;; 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: (then + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: ) @@ -1950,7 +2058,9 @@ (global.get $STACKTOP) (global.get $STACK_MAX) ) - (call $abort) + (then + (call $abort) + ) ) (local.set $9 (i32.add @@ -2035,57 +2145,61 @@ (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) + (then + (block + (call $_pthread_cleanup_push + (i32.const 5) + (local.get $0) ) - ) - (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) + (i32.store + (local.get $10) + (i32.load + (local.get $13) ) ) - ) - (call $_pthread_cleanup_pop - (i32.const 0) + (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) + (else + (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) + (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) + ) ) ) ) @@ -2113,69 +2227,77 @@ ) ) ) - (block (result i32) - (i32.store - (local.get $6) - (local.tee $7 - (i32.load - (local.get $14) + (then + (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) + (i32.store + (local.get $11) + (local.get $7) ) - ) - (local.set $1 - (i32.add - (local.get $1) - (i32.const 8) + (local.set $7 + (i32.load offset=12 + (local.get $1) + ) ) - ) - (local.set $4 - (i32.add - (local.get $4) - (i32.const -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) ) - ) - (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 + (else + (block (result i32) + (if + (i32.eq + (local.get $4) + (i32.const 2) + ) + (then + (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.get $3) ) ) - (local.set $7 - (local.get $5) - ) - (local.set $4 - (i32.const 2) + (else + (local.set $7 + (local.get $5) + ) ) ) - (local.set $7 - (local.get $5) - ) + (local.get $3) ) - (local.get $3) ) ) ) @@ -2254,11 +2376,15 @@ (local.get $4) (i32.const 2) ) - (i32.const 0) - (i32.sub - (local.get $2) - (i32.load offset=4 - (local.get $1) + (then + (i32.const 0) + ) + (else + (i32.sub + (local.get $2) + (i32.load offset=4 + (local.get $1) + ) ) ) ) @@ -2296,7 +2422,9 @@ (global.get $STACKTOP) (global.get $STACK_MAX) ) - (call $abort) + (then + (call $abort) + ) ) (local.set $5 (i32.add @@ -2361,198 +2489,216 @@ ) (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) + (then + (i32.const -1) + ) + (else + (block (result i32) + (local.set $14 + (if (result i32) + (i32.gt_s + (i32.load offset=76 + (local.get $0) + ) + (i32.const -1) ) - (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) + (then + (call $___lockfile + (local.get $0) + ) + ) + (else + (i32.const 0) ) ) ) - (local.set $1 - (call $_printf_core + (local.set $10 + (i32.load (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) - ) - ) + (if + (i32.lt_s + (i32.load8_s offset=74 + (local.get $0) ) + (i32.const 1) ) - (i32.store - (local.get $12) - (local.get $6) - ) - (i32.store - (local.tee $9 - (i32.add - (local.get $0) - (i32.const 28) + (then + (i32.store + (local.get $0) + (i32.and + (local.get $10) + (i32.const -33) ) ) - (local.get $6) ) - (i32.store - (local.tee $3 + ) + (if + (i32.load + (local.tee $11 (i32.add (local.get $0) - (i32.const 20) + (i32.const 48) ) ) - (local.get $6) ) - (i32.store - (local.get $11) - (i32.const 80) - ) - (i32.store - (local.tee $2 - (i32.add + (then + (local.set $1 + (call $_printf_core (local.get $0) - (i32.const 16) + (local.get $1) + (local.get $5) + (local.get $7) + (local.get $8) ) ) - (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) + (else (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) + (local.set $13 + (i32.load + (local.tee $12 + (i32.add + (local.get $0) + (i32.const 44) ) - (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 $6) + ) + (i32.store + (local.tee $9 + (i32.add + (local.get $0) + (i32.const 28) ) ) + (local.get $6) ) (i32.store - (local.get $12) - (local.get $13) + (local.tee $3 + (i32.add + (local.get $0) + (i32.const 20) + ) + ) + (local.get $6) ) (i32.store (local.get $11) - (i32.const 0) + (i32.const 80) ) (i32.store - (local.get $2) - (i32.const 0) + (local.tee $2 + (i32.add + (local.get $0) + (i32.const 16) + ) + ) + (i32.add + (local.get $6) + (i32.const 80) + ) ) - (i32.store - (local.get $9) - (i32.const 0) + (local.set $1 + (call $_printf_core + (local.get $0) + (local.get $1) + (local.get $5) + (local.get $7) + (local.get $8) + ) ) - (i32.store - (local.get $3) - (i32.const 0) + (if + (local.get $13) + (then + (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 + (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) + (then + (call $___unlockfile (local.get $0) ) ) + ) + (select + (i32.const -1) + (local.get $1) (i32.and - (local.get $10) + (local.get $2) (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) - ) - ) ) ) ) @@ -2611,7 +2757,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.or @@ -2621,7 +2767,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store offset=8 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 0) @@ -2654,8 +2800,10 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $5) @@ -2684,7 +2832,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (call_indirect (type $FUNCSIG$iiii) ;; CHECK-NEXT: (local.get $2) @@ -2712,81 +2860,85 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; 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: (then + ;; 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: ) - ;; 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: (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: (i32.const 10) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $3 + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $while-in) ;; 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: (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 7) + ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $3) ;; 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: (local.set $6 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: ) ;; 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: (local.set $1 + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: ) ;; 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: (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: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop @@ -2837,16 +2989,20 @@ (call $___towrite (local.get $2) ) - (local.set $3 - (i32.const 0) - ) - (block + (then (local.set $3 - (i32.load - (local.get $4) + (i32.const 0) + ) + ) + (else + (block + (local.set $3 + (i32.load + (local.get $4) + ) ) + (br $__rjti$0) ) - (br $__rjti$0) ) ) (br $label$break$L5) @@ -2868,24 +3024,26 @@ ) (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) + (then + (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 7) + (i32.const 2) ) - (i32.const 2) ) ) + (br $label$break$L5) ) - (br $label$break$L5) ) ) (local.set $2 @@ -2897,81 +3055,87 @@ ) (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) + (then + (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) + (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) ) - (i32.const 10) - ) - (block - (local.set $3 - (local.get $6) + (then + (block + (local.set $3 + (local.get $6) + ) + (br $while-in) + ) ) - (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) + (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 7) + (i32.const 2) ) - (i32.const 2) ) + (local.get $3) ) - (local.get $3) ) - ) - (local.set $4 - (i32.load - (local.get $5) + (local.set $4 + (i32.load + (local.get $5) + ) ) - ) - (local.set $1 - (i32.sub - (local.get $1) - (local.get $3) + (local.set $1 + (i32.sub + (local.get $1) + (local.get $3) + ) ) - ) - (local.set $0 - (i32.add - (local.get $0) - (local.get $3) + (local.set $0 + (i32.add + (local.get $0) + (local.get $3) + ) ) + (local.get $3) ) - (local.get $3) ) - (i32.const 0) + (else + (i32.const 0) + ) ) ) ) @@ -3033,47 +3197,51 @@ ) (i32.const 8) ) - (block (result i32) - (i32.store - (local.get $0) - (i32.or - (local.get $1) - (i32.const 32) + (then + (block (result i32) + (i32.store + (local.get $0) + (i32.or + (local.get $1) + (i32.const 32) + ) ) + (i32.const -1) ) - (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) + (else + (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 + (i32.store offset=20 + (local.get $0) (local.get $1) - (i32.load offset=48 - (local.get $0) + ) + (i32.store offset=16 + (local.get $0) + (i32.add + (local.get $1) + (i32.load offset=48 + (local.get $0) + ) ) ) + (i32.const 0) ) - (i32.const 0) ) ) ) @@ -3082,361 +3250,387 @@ (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) + (then + (block (result i32) + (if + (i32.lt_u (local.get $1) + (i32.const 128) ) - (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 + (then + (block + (i32.store8 + (local.get $0) (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) + (br $do-once + (i32.const 1) ) - (i32.const 128) ) ) - (br $do-once - (i32.const 2) - ) ) - ) - (if - (i32.or + (if (i32.lt_u (local.get $1) - (i32.const 55296) + (i32.const 2048) ) - (i32.eq - (i32.and - (local.get $1) - (i32.const -8192) + (then + (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) + ) ) - (i32.const 57344) ) ) - (block - (i32.store8 - (local.get $0) - (i32.or - (i32.shr_u + (if + (i32.or + (i32.lt_u + (local.get $1) + (i32.const 55296) + ) + (i32.eq + (i32.and (local.get $1) - (i32.const 12) + (i32.const -8192) ) - (i32.const 224) + (i32.const 57344) ) ) - (i32.store8 offset=1 - (local.get $0) - (i32.or - (i32.and - (i32.shr_u - (local.get $1) - (i32.const 6) + (then + (block + (i32.store8 + (local.get $0) + (i32.or + (i32.shr_u + (local.get $1) + (i32.const 12) + ) + (i32.const 224) ) - (i32.const 63) ) - (i32.const 128) - ) - ) - (i32.store8 offset=2 - (local.get $0) - (i32.or - (i32.and - (local.get $1) - (i32.const 63) + (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) ) - (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) + (if (result i32) + (i32.lt_u + (i32.add + (local.get $1) + (i32.const -65536) ) + (i32.const 1048576) ) - (i32.store8 offset=1 - (local.get $0) - (i32.or - (i32.and - (i32.shr_u - (local.get $1) - (i32.const 12) + (then + (block (result i32) + (i32.store8 + (local.get $0) + (i32.or + (i32.shr_u + (local.get $1) + (i32.const 18) + ) + (i32.const 240) ) - (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.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.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) ) ) - (i32.store8 offset=3 - (local.get $0) - (i32.or - (i32.and - (local.get $1) - (i32.const 63) + (else + (block (result i32) + (i32.store + (call $___errno_location) + (i32.const 84) ) - (i32.const 128) + (i32.const -1) ) ) - (i32.const 4) - ) - (block (result i32) - (i32.store - (call $___errno_location) - (i32.const 84) - ) - (i32.const -1) ) ) ) - (i32.const 1) + (else + (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: (then + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (then + ;; 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: ) - ;; CHECK-NEXT: (i32.store8 offset=1 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.and + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (i32.const 63) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 128) + ;; CHECK-NEXT: (br $do-once + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) ;; 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: (if + ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (i32.const -8192) + ;; CHECK-NEXT: (i32.const 2048) ;; 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: (then + ;; 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: (i32.const 224) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store8 offset=1 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.shr_u + ;; CHECK-NEXT: (i32.eq + ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (i32.const 6) + ;; CHECK-NEXT: (i32.const -8192) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 63) + ;; CHECK-NEXT: (i32.const 57344) ;; 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.lt_u ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (i32.const 63) + ;; CHECK-NEXT: (i32.const 55296) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; 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: (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: (if (result i32) + ;; CHECK-NEXT: (i32.lt_u + ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (i32.const 18) + ;; CHECK-NEXT: (i32.const 65536) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 240) + ;; CHECK-NEXT: (i32.const 1048576) ;; 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: (then + ;; 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: (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: (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: (i32.const 63) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 128) + ;; 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: ) - ;; 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: (else + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (call $___errno_location) + ;; CHECK-NEXT: (i32.const 84) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 128) + ;; CHECK-NEXT: (i32.const -1) ;; 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: (else + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; 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) + (then + (call $_wcrtomb + (local.get $0) + (local.get $1) + (i32.const 0) + ) + ) + (else (i32.const 0) ) - (i32.const 0) ) ) (func $_memchr (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -3467,69 +3661,73 @@ (i32.const 0) ) ) - (block - (local.set $4 - (i32.and - (local.get $1) - (i32.const 255) + (then + (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) + (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) + (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.const 0) ) - ) - (i32.ne - (i32.and - (local.tee $2 - (i32.add - (local.get $2) - (i32.const 1) + (i32.ne + (i32.and + (local.tee $2 + (i32.add + (local.get $2) + (i32.const 1) + ) ) + (i32.const 3) ) - (i32.const 3) + (i32.const 0) ) - (i32.const 0) ) ) ) ) ) - (block - (local.set $3 - (local.get $2) - ) - (local.set $2 - (local.get $0) - ) - (local.set $0 - (local.get $4) + (else + (block + (local.set $3 + (local.get $2) + ) + (local.set $2 + (local.get $0) + ) + (local.set $0 + (local.get $4) + ) ) ) ) @@ -3556,109 +3754,115 @@ ) ) ) - (block - (local.set $3 - (i32.mul - (local.get $5) - (i32.const 16843009) + (then + (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) + (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) + (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) ) - (local.get $3) ) + (i32.const -2139062144) ) (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) + (i32.add + (local.get $4) + (i32.const -16843009) + ) ) ) - (br_if $while-in3 - (i32.gt_u - (local.tee $0 + (then + (block + (local.set $2 (i32.add - (local.get $0) - (i32.const -4) + (local.get $2) + (i32.const 4) ) ) - (i32.const 3) + (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 $__rjti$0) ) ) + (br $__rjto$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) + (if + (i32.eqz + (local.get $0) ) - (i32.and - (local.get $1) - (i32.const 255) + (then + (block + (local.set $0 + (i32.const 0) + ) + (br $label$break$L8) + ) ) ) ) - (local.set $2 - (i32.add - (local.get $2) - (i32.const 1) + (loop $while-in5 + (br_if $label$break$L8 + (i32.eq + (i32.load8_u + (local.get $2) + ) + (i32.and + (local.get $1) + (i32.const 255) + ) + ) ) - ) - (br_if $while-in5 - (local.tee $0 + (local.set $2 (i32.add - (local.get $0) - (i32.const -1) + (local.get $2) + (i32.const 1) ) ) - ) - (local.set $0 - (i32.const 0) + (br_if $while-in5 + (local.tee $0 + (i32.add + (local.get $0) + (i32.const -1) + ) + ) + ) + (local.set $0 + (i32.const 0) + ) ) ) ) @@ -3676,7 +3880,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const -4096) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (call $___errno_location) ;; CHECK-NEXT: (i32.sub @@ -3686,7 +3890,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $___syscall_ret (param $0 i32) (result i32) @@ -3695,17 +3901,21 @@ (local.get $0) (i32.const -4096) ) - (block (result i32) - (i32.store - (call $___errno_location) - (i32.sub - (i32.const 0) - (local.get $0) + (then + (block (result i32) + (i32.store + (call $___errno_location) + (i32.sub + (i32.const 0) + (local.get $0) + ) ) + (i32.const -1) ) - (i32.const -1) ) - (local.get $0) + (else + (local.get $0) + ) ) ) ;; CHECK: (func $___fflush_unlocked (param $0 i32) (result i32) @@ -3786,22 +3996,24 @@ ;; 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: (then + ;; 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 7) + ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -3908,22 +4120,24 @@ ) ) ) - (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) + (then + (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 7) + (i32.const 2) ) - (i32.const 2) ) ) ) @@ -3966,8 +4180,10 @@ (local.get $0) ) ) - (call $___unlockfile - (local.get $0) + (then + (call $___unlockfile + (local.get $0) + ) ) ) ) @@ -3977,21 +4193,33 @@ (local.get $0) (local.get $0) ) - (i32.const -2147483648) - (if (result i32) - (f64.ge - (local.get $0) - (f64.const 2147483648) - ) + (then (i32.const -2147483648) + ) + (else (if (result i32) - (f64.le + (f64.ge (local.get $0) - (f64.const -2147483649) + (f64.const 2147483648) ) - (i32.const -2147483648) - (i32.trunc_f64_s - (local.get $0) + (then + (i32.const -2147483648) + ) + (else + (if (result i32) + (f64.le + (local.get $0) + (f64.const -2147483649) + ) + (then + (i32.const -2147483648) + ) + (else + (i32.trunc_f64_s + (local.get $0) + ) + ) + ) ) ) ) @@ -4000,44 +4228,60 @@ (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) + (then + (if (result i32) + (i32.and + (i32.eq + (local.get $0) + (i32.const -2147483648) + ) + (i32.eq + (local.get $1) + (i32.const -1) + ) ) - (i32.eq - (local.get $1) - (i32.const -1) + (then + (i32.const 0) + ) + (else + (i32.div_s + (local.get $0) + (local.get $1) + ) ) ) + ) + (else (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) + (then + (i32.rem_u + (local.get $0) + (local.get $1) + ) + ) + (else + (i32.const 0) ) - (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) + (then + (i32.div_u + (local.get $0) + (local.get $1) + ) + ) + (else + (i32.const 0) ) - (i32.const 0) ) ) ;; CHECK: (func $_printf_core (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) @@ -4096,7 +4340,9 @@ ;; CHECK-NEXT: (global.get $STACKTOP) ;; CHECK-NEXT: (global.get $STACK_MAX) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $21 ;; CHECK-NEXT: (i32.add @@ -4222,25 +4468,29 @@ ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $17 - ;; CHECK-NEXT: (if (result i32) - ;; CHECK-NEXT: (i32.gt_s - ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.const 2147483647) - ;; CHECK-NEXT: (local.get $17) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $17 + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (i32.gt_s + ;; CHECK-NEXT: (local.get $10) + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (i32.const 2147483647) + ;; CHECK-NEXT: (local.get $17) + ;; CHECK-NEXT: ) ;; 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: (then + ;; 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: (else + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (local.get $10) + ;; CHECK-NEXT: (local.get $17) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const -1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: (local.get $17) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4333,20 +4583,24 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $29) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (then + ;; 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: (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: (then + ;; 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: ) @@ -4356,7 +4610,7 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -4386,7 +4640,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.tee $10 @@ -4421,7 +4675,7 @@ ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -4445,77 +4699,81 @@ ;; 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: (then + ;; 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: (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: (then + ;; 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: ) - ;; 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.extend8_s - ;; CHECK-NEXT: (local.get $1) + ;; 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.extend8_s + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $9) ;; 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 $10 - ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: (i32.const 1) + ;; 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 $10 + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (local.get $10) + ;; 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: (i32.const 32) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 @@ -4527,243 +4785,249 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $do-once5 (result i32) - ;; CHECK-NEXT: (local.set $10 - ;; 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 $10) - ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (block $do-once5 (result i32) + ;; CHECK-NEXT: (local.set $10 + ;; 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 $10) + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 48) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 48) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 10) ;; 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 $10) + ;; CHECK-NEXT: (br_if $__rjti$0 + ;; CHECK-NEXT: (i32.ne + ;; CHECK-NEXT: (i32.load8_s offset=2 + ;; CHECK-NEXT: (local.get $10) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 36) ;; 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: (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: (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: (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 48) + ;; CHECK-NEXT: (i32.const 3) ;; 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 $16 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (local.set $8 + ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $__rjto$0 - ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: (i32.const 3) + ;; CHECK-NEXT: (local.set $16 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $17 - ;; CHECK-NEXT: (i32.const -1) + ;; CHECK-NEXT: (br $__rjto$0 + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (local.get $10) + ;; CHECK-NEXT: (i32.const 3) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (local.get $29) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $10 - ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (local.get $8) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $17 + ;; CHECK-NEXT: (i32.const -1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $16 - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.eqz + ;; CHECK-NEXT: (local.get $29) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $do-once5 - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $9 + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $10 + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $16 + ;; 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: ) - ;; CHECK-NEXT: (local.set $16 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (local.tee $10 - ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (local.set $16 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (local.tee $10 + ;; 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 3) + ;; CHECK-NEXT: (i32.const -4) ;; 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 $10) - ;; CHECK-NEXT: (i32.const 4) + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (local.get $10) + ;; 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: (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 $16) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $16 - ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (local.get $16) + ;; CHECK-NEXT: (local.set $9 + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (i32.lt_s + ;; CHECK-NEXT: (local.get $16) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $16 + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (local.get $16) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.or + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (i32.const 8192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.or + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (i32.const 8192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $8) ;; 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.extend8_s - ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (i32.lt_u + ;; CHECK-NEXT: (local.tee $6 + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (i32.extend8_s + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 48) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 48) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 10) ;; 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: (then + ;; 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: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.lt_u - ;; CHECK-NEXT: (local.tee $11 - ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load8_s - ;; CHECK-NEXT: (local.tee $10 - ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.lt_u + ;; CHECK-NEXT: (local.tee $11 + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (local.tee $10 + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (local.get $10) + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 48) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 48) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 10) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $9 + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $6 + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $while-in8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; 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: (then + ;; CHECK-NEXT: (local.set $17 + ;; CHECK-NEXT: (i32.const -1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $label$break$L1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: (local.set $16 + ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $while-in8) + ;; CHECK-NEXT: (local.get $8) ;; 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 $17 - ;; CHECK-NEXT: (i32.const -1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $label$break$L1) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $9 + ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $16 - ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $8) + ;; CHECK-NEXT: (local.set $16 + ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $8) ;; 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 $16 - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -4775,201 +5039,207 @@ ;; 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 $10) - ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: (then + ;; 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 $10) + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 42) ;; 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 $11 - ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (i32.const 48) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $6 + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (i32.lt_u + ;; CHECK-NEXT: (local.tee $11 + ;; 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: (i32.const 10) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $10 - ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $10 + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $8 + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $10 + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $label$break$L46 + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $10 - ;; CHECK-NEXT: (local.get $6) + ;; 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 $10 + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (local.get $10) + ;; 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 $label$break$L46 - ;; CHECK-NEXT: (i32.const 0) + ;; 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 $10) + ;; 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: (loop $while-in11 - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (br_if $label$break$L46 - ;; CHECK-NEXT: (local.tee $8 + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.eq + ;; CHECK-NEXT: (i32.load8_s offset=3 + ;; CHECK-NEXT: (local.get $10) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 36) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.mul + ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (i32.const 10) + ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 10) ;; 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 $10 - ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: (i32.const 1) + ;; 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: (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: (local.set $10 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: (i32.const 2) + ;; 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: (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 $10) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $17 + ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 36) + ;; CHECK-NEXT: (br $label$break$L1) ;; 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: (if (result i32) + ;; CHECK-NEXT: (local.get $29) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $8 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (local.tee $10 + ;; 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: (local.set $10 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $10) ;; 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 $17 - ;; 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 $29) - ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (local.tee $10 - ;; 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: (local.set $10 + ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: (i32.const 4) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $10 + ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $10 - ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $10 - ;; 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: (else + ;; CHECK-NEXT: (i32.const -1) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 @@ -4991,7 +5261,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 57) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $17 ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) @@ -5030,7 +5300,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $8 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) @@ -5048,7 +5318,7 @@ ;; CHECK-NEXT: (i32.const 255) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $17 ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) @@ -5071,20 +5341,24 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 19) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (local.get $18) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $17 - ;; CHECK-NEXT: (i32.const -1) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (local.get $18) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $17 + ;; CHECK-NEXT: (i32.const -1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $label$break$L1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (br $__rjti$2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $__rjti$2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $18) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $4) @@ -5125,7 +5399,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $29) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $17 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -5145,7 +5419,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $29) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) @@ -5426,7 +5700,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $8 ;; CHECK-NEXT: (local.get $23) ;; CHECK-NEXT: ) @@ -5462,8 +5736,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (local.get $23) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $8 + ;; CHECK-NEXT: (local.get $23) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if @@ -5471,7 +5747,7 @@ ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $7 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) @@ -5494,8 +5770,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $7 + ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $5 @@ -5523,7 +5801,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (global.set $tempRet0 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.sub @@ -5566,19 +5844,21 @@ ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (i32.const 2048) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $8 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4092) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (select - ;; CHECK-NEXT: (i32.const 4093) - ;; CHECK-NEXT: (i32.const 4091) - ;; CHECK-NEXT: (local.tee $8 - ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (local.get $9) - ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (select + ;; CHECK-NEXT: (i32.const 4093) + ;; CHECK-NEXT: (i32.const 4091) + ;; CHECK-NEXT: (local.tee $8 + ;; CHECK-NEXT: (i32.and + ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5652,7 +5932,7 @@ ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (br_if $while-in2 ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (local.tee $9 @@ -5695,13 +5975,15 @@ ;; CHECK-NEXT: (i32.load8_s ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; 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: (else + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -5756,13 +6038,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $8 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $__rjti$6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (call $_pad ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 32) @@ -5802,7 +6084,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $28 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -5813,30 +6095,32 @@ ;; 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 $28 - ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (i32.and + ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (i32.const 2048) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 4111) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $28 - ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (local.get $9) - ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $28 + ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 4111) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (select - ;; CHECK-NEXT: (i32.const 4114) - ;; CHECK-NEXT: (i32.const 4109) - ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $28 + ;; 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: ) @@ -5862,2298 +6146,2416 @@ ;; 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 $25 - ;; CHECK-NEXT: (f64.mul - ;; CHECK-NEXT: (call $_frexp - ;; CHECK-NEXT: (local.get $14) - ;; CHECK-NEXT: (local.get $21) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (block $do-once49 (result i32) + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (local.tee $5 + ;; CHECK-NEXT: (f64.ne + ;; CHECK-NEXT: (local.tee $25 + ;; 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: (f64.const 2) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (f64.const 0) ;; 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: (then + ;; 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: (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: (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: (i32.const 97) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $11 - ;; CHECK-NEXT: (select - ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $11 + ;; 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: (i32.const 9) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $30) - ;; CHECK-NEXT: (local.tee $18 - ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (local.get $15) - ;; CHECK-NEXT: (i32.const 32) + ;; CHECK-NEXT: (local.tee $18 + ;; CHECK-NEXT: (i32.and + ;; CHECK-NEXT: (local.get $15) + ;; CHECK-NEXT: (i32.const 32) + ;; CHECK-NEXT: ) ;; 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: (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: (i32.gt_u - ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (i32.const 11) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $25) - ;; CHECK-NEXT: (block (result f64) - ;; CHECK-NEXT: (local.set $14 - ;; CHECK-NEXT: (f64.const 8) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.get $25) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (loop $while-in54 + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (local.set $14 - ;; CHECK-NEXT: (f64.mul - ;; CHECK-NEXT: (local.get $14) - ;; CHECK-NEXT: (f64.const 16) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (f64.const 8) ;; 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: (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: ) - ;; 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 $25) + ;; 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: (local.get $14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.sub - ;; CHECK-NEXT: (f64.add - ;; CHECK-NEXT: (local.get $25) + ;; 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 $25) + ;; 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 $25) + ;; CHECK-NEXT: (local.get $14) + ;; CHECK-NEXT: ) ;; 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 $11) + ;; CHECK-NEXT: (i32.eq + ;; CHECK-NEXT: (i32.load8_s + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 45) ;; 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 $28) - ;; CHECK-NEXT: (i32.const 2) + ;; CHECK-NEXT: (local.set $12 + ;; CHECK-NEXT: (i32.or + ;; CHECK-NEXT: (local.get $28) + ;; CHECK-NEXT: (i32.const 2) + ;; CHECK-NEXT: ) ;; 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: (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: ) - ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: (i32.lt_s ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (i32.lt_s + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; 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: (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: (i32.const 31) + ;; CHECK-NEXT: (local.get $24) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $24) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $24) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $24) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (i32.store8 - ;; CHECK-NEXT: (local.get $38) - ;; CHECK-NEXT: (i32.const 48) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (local.get $38) - ;; 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: (then + ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (local.get $38) + ;; CHECK-NEXT: (i32.const 48) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $5 + ;; CHECK-NEXT: (local.get $38) ;; 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.store8 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (i32.const 2) + ;; 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.add - ;; CHECK-NEXT: (local.get $15) - ;; CHECK-NEXT: (i32.const 15) + ;; 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: ) - ;; CHECK-NEXT: (local.set $15 - ;; CHECK-NEXT: (i32.le_s - ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (local.set $15 + ;; CHECK-NEXT: (i32.le_s + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; 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: (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: ) - ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (local.get $22) - ;; 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: (local.set $5 + ;; CHECK-NEXT: (local.get $22) + ;; 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.ge + ;; CHECK-NEXT: (f64.ne + ;; CHECK-NEXT: (local.get $14) ;; 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: (then ;; CHECK-NEXT: (i32.const -2147483648) - ;; CHECK-NEXT: (i32.trunc_f64_s - ;; CHECK-NEXT: (local.get $14) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (f64.ge + ;; CHECK-NEXT: (local.get $14) + ;; CHECK-NEXT: (f64.const 2147483648) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.const -2147483648) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (f64.le + ;; CHECK-NEXT: (local.get $14) + ;; CHECK-NEXT: (f64.const -2147483649) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.const -2147483648) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 4075) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 4075) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $18) ;; 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: (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: (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: (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 $22) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $22) + ;; CHECK-NEXT: (i32.const 1) ;; 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: (then + ;; 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: (then + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: ) - ;; 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: (else + ;; CHECK-NEXT: (local.get $7) ;; 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: (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: ) - ;; CHECK-NEXT: (call $_pad - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.const 32) - ;; CHECK-NEXT: (local.get $16) - ;; 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 $42) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (call $_pad + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (i32.const 32) + ;; CHECK-NEXT: (local.get $16) + ;; CHECK-NEXT: (local.tee $7 + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (local.tee $6 + ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (local.get $40) + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (local.get $42) + ;; CHECK-NEXT: ) ;; 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: (i32.add + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (local.get $40) + ;; CHECK-NEXT: (local.get $8) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.lt_s - ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (local.get $41) + ;; 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 $41) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $9) ;; 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: (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: (i32.const 32) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (call $___fwritex - ;; CHECK-NEXT: (local.get $11) - ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (call $___fwritex + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: (local.get $12) + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_pad - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.const 48) - ;; CHECK-NEXT: (local.get $16) - ;; 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 $22) - ;; 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: (call $_pad + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (i32.const 48) + ;; CHECK-NEXT: (local.get $16) + ;; 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: (drop - ;; CHECK-NEXT: (call $___fwritex - ;; CHECK-NEXT: (local.get $22) + ;; CHECK-NEXT: (local.set $5 + ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $22) ;; 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 $24) - ;; CHECK-NEXT: (local.get $8) + ;; 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: ) - ;; 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: (then + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (call $___fwritex + ;; CHECK-NEXT: (local.get $22) + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) ;; 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: (call $_pad + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (i32.const 48) + ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (local.tee $6 + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (local.get $24) + ;; 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: ) - ;; CHECK-NEXT: (call $_pad - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.const 32) - ;; CHECK-NEXT: (local.get $16) - ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: (i32.xor - ;; CHECK-NEXT: (local.get $9) - ;; CHECK-NEXT: (i32.const 8192) + ;; 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: (then + ;; 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: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $do-once49 - ;; CHECK-NEXT: (select + ;; CHECK-NEXT: (call $_pad + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: (i32.lt_s - ;; 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 $16) + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (i32.lt_s + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (local.get $16) + ;; CHECK-NEXT: ) ;; 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: (local.set $14 + ;; CHECK-NEXT: (if (result f64) + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (then + ;; 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: (i32.const 28) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (f64.mul + ;; CHECK-NEXT: (local.get $25) + ;; CHECK-NEXT: (f64.const 268435456) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (f64.mul - ;; CHECK-NEXT: (local.get $25) - ;; 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: (else + ;; CHECK-NEXT: (local.set $5 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (local.get $21) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $25) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $25) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (local.tee $8 - ;; CHECK-NEXT: (select - ;; CHECK-NEXT: (local.get $43) - ;; CHECK-NEXT: (local.get $44) - ;; CHECK-NEXT: (i32.lt_s - ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (local.set $7 + ;; CHECK-NEXT: (local.tee $8 + ;; CHECK-NEXT: (select + ;; CHECK-NEXT: (local.get $43) + ;; CHECK-NEXT: (local.get $44) + ;; 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: ) - ;; 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: (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.ge + ;; CHECK-NEXT: (f64.ne + ;; CHECK-NEXT: (local.get $14) ;; 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: (then ;; CHECK-NEXT: (i32.const -2147483648) - ;; CHECK-NEXT: (i32.trunc_f64_s - ;; CHECK-NEXT: (local.get $14) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (f64.ge + ;; CHECK-NEXT: (local.get $14) + ;; CHECK-NEXT: (f64.const 2147483648) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.const -2147483648) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (f64.le + ;; CHECK-NEXT: (local.get $14) + ;; CHECK-NEXT: (f64.const -2147483649) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.const -2147483648) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: ) ;; 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: (local.set $7 + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (i32.const 4) + ;; CHECK-NEXT: ) ;; 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: (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: (f64.const 1e9) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (f64.const 0) ;; 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 $11 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (local.get $21) + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.gt_s + ;; CHECK-NEXT: (local.tee $11 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (local.get $21) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 0) ;; 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 $18 - ;; CHECK-NEXT: (select - ;; CHECK-NEXT: (i32.const 29) - ;; CHECK-NEXT: (local.get $11) - ;; CHECK-NEXT: (i32.gt_s - ;; CHECK-NEXT: (local.get $11) - ;; CHECK-NEXT: (i32.const 29) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $5 + ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.ge_u - ;; CHECK-NEXT: (local.tee $11 - ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: (i32.const 4) + ;; CHECK-NEXT: (loop $while-in62 + ;; CHECK-NEXT: (local.set $18 + ;; CHECK-NEXT: (select + ;; CHECK-NEXT: (i32.const 29) + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: (i32.gt_s + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: (i32.const 29) ;; 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: (if + ;; CHECK-NEXT: (i32.ge_u + ;; CHECK-NEXT: (local.tee $11 + ;; 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: (loop $while-in66 - ;; 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 $11) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (block $do-once63 + ;; CHECK-NEXT: (local.set $12 + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (loop $while-in66 + ;; 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 $11) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (local.get $18) + ;; 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: (i32.const 0) - ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (global.get $tempRet0) ;; 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: (i32.store + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: (call $___uremdi3 + ;; CHECK-NEXT: (local.get $12) + ;; 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: (global.get $tempRet0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (local.get $11) - ;; CHECK-NEXT: (call $___uremdi3 - ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (local.tee $20 - ;; CHECK-NEXT: (global.get $tempRet0) + ;; CHECK-NEXT: (local.set $12 + ;; CHECK-NEXT: (call $___udivmoddi4 + ;; CHECK-NEXT: (local.get $12) + ;; CHECK-NEXT: (local.get $20) + ;; CHECK-NEXT: (i32.const 1000000000) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br_if $while-in66 + ;; CHECK-NEXT: (i32.ge_u + ;; CHECK-NEXT: (local.tee $11 + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: (i32.const 4) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 1000000000) - ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $12 - ;; CHECK-NEXT: (call $___udivmoddi4 - ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (local.get $20) - ;; CHECK-NEXT: (i32.const 1000000000) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (br_if $do-once63 + ;; CHECK-NEXT: (i32.eqz + ;; CHECK-NEXT: (local.get $12) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br_if $while-in66 - ;; CHECK-NEXT: (i32.ge_u - ;; CHECK-NEXT: (local.tee $11 + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (local.tee $5 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: (local.get $5) ;; 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: (local.get $12) ;; 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: (loop $while-in68 ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (local.tee $11 - ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: (i32.const 4) + ;; CHECK-NEXT: (i32.lt_u + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.eqz + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (local.tee $11 + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (i32.const 4) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $7 + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $while-in68) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (local.get $21) + ;; CHECK-NEXT: (local.tee $11 + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $while-in68) + ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (local.get $21) - ;; CHECK-NEXT: (local.tee $11 - ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (local.get $21) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $18) + ;; CHECK-NEXT: (br_if $while-in62 + ;; CHECK-NEXT: (i32.gt_s + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br_if $while-in62 - ;; CHECK-NEXT: (i32.gt_s - ;; CHECK-NEXT: (local.get $11) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $5 + ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (local.get $8) + ;; 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: ) - ;; CHECK-NEXT: (local.set $19 - ;; CHECK-NEXT: (select - ;; CHECK-NEXT: (i32.const 6) - ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_s - ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.lt_s - ;; CHECK-NEXT: (local.get $11) - ;; 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: (then + ;; 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 9) + ;; CHECK-NEXT: (i32.const 1) ;; 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: (local.set $31 + ;; CHECK-NEXT: (i32.eq + ;; CHECK-NEXT: (local.get $26) + ;; CHECK-NEXT: (i32.const 102) + ;; CHECK-NEXT: ) ;; 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 $18 - ;; 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 $11) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.gt_s - ;; CHECK-NEXT: (local.get $7) + ;; 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 $18 + ;; CHECK-NEXT: (select ;; 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 $18) + ;; CHECK-NEXT: (local.tee $7 + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $34 - ;; CHECK-NEXT: (i32.shr_u - ;; CHECK-NEXT: (i32.const 1000000000) - ;; CHECK-NEXT: (local.get $18) + ;; CHECK-NEXT: (i32.gt_s + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (i32.const 9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $11 - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $7 + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.gt_u + ;; CHECK-NEXT: (local.get $5) ;; 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 $11) - ;; CHECK-NEXT: (i32.shr_u - ;; CHECK-NEXT: (local.tee $11 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; 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 $18) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $34 + ;; CHECK-NEXT: (i32.shr_u + ;; CHECK-NEXT: (i32.const 1000000000) ;; CHECK-NEXT: (local.get $18) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $11 - ;; CHECK-NEXT: (i32.mul - ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (local.get $11) - ;; CHECK-NEXT: (local.get $12) + ;; CHECK-NEXT: (local.set $11 + ;; 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 $11) + ;; CHECK-NEXT: (i32.shr_u + ;; CHECK-NEXT: (local.tee $11 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $18) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $11 + ;; CHECK-NEXT: (i32.mul + ;; CHECK-NEXT: (i32.and + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: (local.get $12) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $34) + ;; 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: (local.get $34) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br_if $while-in74 - ;; CHECK-NEXT: (i32.lt_u - ;; CHECK-NEXT: (local.tee $7 + ;; CHECK-NEXT: (local.set $7 + ;; CHECK-NEXT: (select + ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (local.get $7) + ;; 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 $11) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (local.get $11) + ;; 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: ) - ;; 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: (else + ;; 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: (br_if $do-once71 - ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (local.get $11) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (local.get $11) - ;; 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: (local.set $12 ;; 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: (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: (i32.shl + ;; 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: (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.store + ;; CHECK-NEXT: (local.get $21) + ;; CHECK-NEXT: (local.tee $11 + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (local.get $21) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 2) + ;; CHECK-NEXT: (local.get $18) ;; 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 $11 - ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (local.get $21) + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (i32.lt_s + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $6 + ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $18) + ;; CHECK-NEXT: (local.set $5 + ;; CHECK-NEXT: (local.get $12) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $while-in70) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (if (result i32) - ;; CHECK-NEXT: (i32.lt_s - ;; CHECK-NEXT: (local.get $11) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $6 + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $11 + ;; CHECK-NEXT: (local.get $12) + ;; CHECK-NEXT: ) ;; 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 $11 - ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $11 + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $11 - ;; 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 $11) + ;; CHECK-NEXT: (local.set $20 + ;; CHECK-NEXT: (local.get $8) ;; 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 $8) - ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.lt_u + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; 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 $8) + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 9) ;; 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: (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: (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: (local.set $6 + ;; CHECK-NEXT: (i32.const 10) ;; 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: (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: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $7 + ;; CHECK-NEXT: (i32.const 0) + ;; 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: (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: ) - ;; 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: (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: ) - ;; CHECK-NEXT: (local.tee $34 - ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (local.get $26) - ;; CHECK-NEXT: (i32.const 103) + ;; CHECK-NEXT: (local.tee $34 + ;; 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: (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 $11) - ;; 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: (i32.sub + ;; CHECK-NEXT: (i32.mul + ;; CHECK-NEXT: (i32.shr_s + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (local.get $11) + ;; 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 - ;; CHECK-NEXT: (i32.lt_s - ;; CHECK-NEXT: (local.tee $6 - ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (i32.rem_s + ;; CHECK-NEXT: (then + ;; 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 9) + ;; CHECK-NEXT: (i32.const 9216) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $12 - ;; CHECK-NEXT: (i32.const 10) + ;; 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: (loop $while-in80 + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $12 - ;; CHECK-NEXT: (i32.mul - ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (i32.const 10) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 10) ;; 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: (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: (i32.const 9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $12 + ;; CHECK-NEXT: (i32.const 10) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $12 - ;; CHECK-NEXT: (i32.const 10) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (local.tee $18 - ;; 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: (local.set $8 + ;; CHECK-NEXT: (local.tee $18 + ;; 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: (i32.const 4092) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (if (result i32) - ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (i32.rem_u - ;; CHECK-NEXT: (local.get $8) + ;; CHECK-NEXT: (local.set $8 + ;; CHECK-NEXT: (if (result i32) ;; 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 $11) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.rem_u + ;; CHECK-NEXT: (local.get $8) + ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (local.get $8) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $do-once81 - ;; CHECK-NEXT: (local.set $35 - ;; CHECK-NEXT: (if (result i32) - ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (i32.div_u - ;; CHECK-NEXT: (local.get $18) - ;; CHECK-NEXT: (local.get $12) + ;; 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 $11) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.eqz + ;; CHECK-NEXT: (local.get $8) ;; 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 $8) - ;; CHECK-NEXT: (local.tee $45 - ;; CHECK-NEXT: (i32.div_s - ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (i32.const 2) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (block $do-once81 + ;; CHECK-NEXT: (local.set $35 + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (local.get $12) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.div_u + ;; CHECK-NEXT: (local.get $18) + ;; CHECK-NEXT: (local.get $12) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.const 0) ;; 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.set $14 + ;; CHECK-NEXT: (if (result f64) + ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (local.get $45) + ;; CHECK-NEXT: (local.tee $45 + ;; CHECK-NEXT: (i32.div_s + ;; CHECK-NEXT: (local.get $12) + ;; CHECK-NEXT: (i32.const 2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (f64.const 0.5) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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 $8) + ;; CHECK-NEXT: (local.get $45) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $25 - ;; CHECK-NEXT: (select - ;; CHECK-NEXT: (f64.const 9007199254740994) - ;; CHECK-NEXT: (f64.const 9007199254740992) - ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (local.get $35) - ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: (local.set $25 + ;; CHECK-NEXT: (select + ;; CHECK-NEXT: (f64.const 9007199254740994) + ;; CHECK-NEXT: (f64.const 9007199254740992) + ;; CHECK-NEXT: (i32.and + ;; CHECK-NEXT: (local.get $35) + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (local.get $28) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.eq - ;; CHECK-NEXT: (i32.load8_s - ;; CHECK-NEXT: (local.get $30) + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (local.get $28) + ;; CHECK-NEXT: (then + ;; 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: (then + ;; CHECK-NEXT: (local.set $25 + ;; CHECK-NEXT: (f64.neg + ;; CHECK-NEXT: (local.get $25) + ;; 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.const 45) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $25 - ;; CHECK-NEXT: (f64.neg - ;; CHECK-NEXT: (local.get $25) + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (local.tee $8 + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (local.get $18) + ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $14 - ;; CHECK-NEXT: (f64.neg + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br_if $do-once81 + ;; CHECK-NEXT: (f64.eq + ;; CHECK-NEXT: (f64.add + ;; CHECK-NEXT: (local.get $25) ;; CHECK-NEXT: (local.get $14) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $25) ;; 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 $18) - ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br_if $do-once81 - ;; CHECK-NEXT: (f64.eq - ;; CHECK-NEXT: (f64.add - ;; CHECK-NEXT: (local.get $25) - ;; CHECK-NEXT: (local.get $14) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $25) - ;; 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: (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.lt_u - ;; CHECK-NEXT: (local.tee $6 - ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (i32.gt_u + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (i32.const 999999999) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (loop $while-in86 + ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (i32.const 4) + ;; 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: (then + ;; 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: ) + ;; 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: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (local.tee $5 + ;; 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: (i32.const 4) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (i32.const 9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (br_if $do-once81 + ;; CHECK-NEXT: (i32.lt_u + ;; CHECK-NEXT: (local.tee $8 ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 10) ;; 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: (local.set $12 + ;; CHECK-NEXT: (i32.const 10) ;; 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: (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: ) - ;; 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: (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: ) - ;; 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 $11) - ;; CHECK-NEXT: (i32.lt_u + ;; 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 $11) + ;; CHECK-NEXT: (i32.lt_u + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: ) ;; 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: (else + ;; 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 $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $35 - ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (local.get $8) + ;; CHECK-NEXT: (local.set $35 + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (local.get $8) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $11 - ;; 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.set $11 + ;; 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: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (if (result i32) - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $26 + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $while-out89 ;; 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: (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: (local.get $5) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $26 + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $5 + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $while-in90) ;; 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 $16) - ;; CHECK-NEXT: (local.tee $8 - ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (call $_pad + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (i32.const 32) + ;; CHECK-NEXT: (local.get $16) + ;; CHECK-NEXT: (local.tee $8 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (if (result i32) - ;; CHECK-NEXT: (local.get $34) - ;; 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: (i32.add + ;; CHECK-NEXT: (local.tee $5 + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (local.get $34) + ;; CHECK-NEXT: (then + ;; 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 $19) + ;; 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: (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: (then + ;; 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 $5) + ;; CHECK-NEXT: (local.get $15) ;; 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 $18 - ;; 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: (else + ;; CHECK-NEXT: (local.set $19 ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (local.get $11) - ;; CHECK-NEXT: (i32.const 4) + ;; 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: (block - ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (i32.const 9) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (br_if $do-once91 + ;; CHECK-NEXT: (local.get $19) + ;; CHECK-NEXT: (local.tee $18 + ;; CHECK-NEXT: (i32.and + ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (i32.const 8) + ;; CHECK-NEXT: ) ;; 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: (if + ;; CHECK-NEXT: (local.get $26) + ;; CHECK-NEXT: (then + ;; 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 $11) + ;; CHECK-NEXT: (i32.const 4) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; 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: (i32.const 0) + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (i32.rem_u + ;; CHECK-NEXT: (local.get $15) + ;; CHECK-NEXT: (i32.const 10) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $5 + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $do-once93) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: (br $do-once93) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.const 10) + ;; 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 $6 + ;; CHECK-NEXT: (i32.mul + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (i32.const 10) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.rem_u + ;; CHECK-NEXT: (local.get $15) + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; 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: (else + ;; CHECK-NEXT: (local.set $5 + ;; CHECK-NEXT: (i32.const 9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br_if $while-in96 - ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (if (result i32) - ;; 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: (i32.rem_u - ;; CHECK-NEXT: (local.get $15) - ;; CHECK-NEXT: (local.get $6) + ;; 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 $11) + ;; CHECK-NEXT: (local.get $20) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) + ;; 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: ) - ;; 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 $11) - ;; CHECK-NEXT: (local.get $20) + ;; 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 2) + ;; CHECK-NEXT: (i32.const 102) ;; 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 $18 - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (select - ;; CHECK-NEXT: (local.get $19) - ;; CHECK-NEXT: (local.tee $5 + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $18 + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: (select + ;; CHECK-NEXT: (local.get $19) ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (select + ;; 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.const 0) + ;; CHECK-NEXT: (i32.ge_s + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (i32.ge_s + ;; CHECK-NEXT: (i32.gt_s ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (local.get $19) ;; 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 $18 - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (select - ;; CHECK-NEXT: (local.get $19) - ;; CHECK-NEXT: (local.tee $5 + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $18 + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: (select + ;; CHECK-NEXT: (local.get $19) ;; 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: (select + ;; 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.const 0) + ;; CHECK-NEXT: (i32.ge_s + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (i32.ge_s + ;; CHECK-NEXT: (i32.gt_s ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (local.get $19) ;; 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 $18 - ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (local.get $9) - ;; CHECK-NEXT: (i32.const 8) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $18 + ;; 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: (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 $28) - ;; 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 $18) + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (local.get $28) + ;; CHECK-NEXT: (i32.const 1) ;; 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: (i32.ne + ;; CHECK-NEXT: (local.tee $19 + ;; CHECK-NEXT: (i32.or + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (local.get $18) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 102) + ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $15 - ;; CHECK-NEXT: (i32.const 0) + ;; 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: (select - ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (i32.gt_s + ;; CHECK-NEXT: (then + ;; 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: ) - ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.lt_s - ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (local.get $24) - ;; CHECK-NEXT: (local.tee $6 - ;; CHECK-NEXT: (call $_fmt_u - ;; CHECK-NEXT: (local.tee $6 - ;; CHECK-NEXT: (select - ;; CHECK-NEXT: (local.get $35) - ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (i32.lt_s + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.lt_s + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (local.get $24) + ;; CHECK-NEXT: (local.tee $6 + ;; CHECK-NEXT: (call $_fmt_u + ;; CHECK-NEXT: (local.tee $6 + ;; CHECK-NEXT: (select + ;; CHECK-NEXT: (local.get $35) ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (i32.lt_s + ;; CHECK-NEXT: (local.get $8) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; 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: (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: (i32.const 31) + ;; CHECK-NEXT: (local.get $24) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $24) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 2) ;; 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: (then + ;; 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 $24) + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 2) + ;; CHECK-NEXT: ) ;; 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 $24) - ;; CHECK-NEXT: (local.get $6) + ;; 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: ) - ;; 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: (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: (i32.const 2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 43) + ;; CHECK-NEXT: (local.get $7) ;; 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: (i32.sub + ;; CHECK-NEXT: (local.get $24) + ;; CHECK-NEXT: (local.get $15) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (local.get $24) - ;; CHECK-NEXT: (local.get $15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $9) ;; 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: (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: (i32.const 32) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (call $___fwritex - ;; CHECK-NEXT: (local.get $30) - ;; CHECK-NEXT: (local.get $28) - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (call $___fwritex + ;; CHECK-NEXT: (local.get $30) + ;; CHECK-NEXT: (local.get $28) + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_pad - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.const 48) - ;; CHECK-NEXT: (local.get $16) - ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (i32.xor - ;; CHECK-NEXT: (local.get $9) - ;; CHECK-NEXT: (i32.const 65536) + ;; CHECK-NEXT: (call $_pad + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (i32.const 48) + ;; CHECK-NEXT: (local.get $16) + ;; 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: ) - ;; 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: (if + ;; CHECK-NEXT: (local.get $31) + ;; CHECK-NEXT: (then + ;; 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: ) - ;; 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: (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 $27) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (local.get $27) ;; 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 $27) - ;; 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: (block $do-once103 + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.eq + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (local.get $12) ;; 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 $22) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (br_if $do-once103 + ;; CHECK-NEXT: (i32.ne + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (local.get $27) + ;; CHECK-NEXT: ) ;; 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: (local.get $32) ;; CHECK-NEXT: (i32.const 48) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br_if $while-in106 - ;; CHECK-NEXT: (i32.gt_u + ;; CHECK-NEXT: (local.set $7 + ;; CHECK-NEXT: (local.get $32) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (br_if $do-once103 + ;; CHECK-NEXT: (i32.le_u ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $22) ;; 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 $22) + ;; CHECK-NEXT: ) + ;; 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: (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: (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 $27) - ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (call $___fwritex + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (local.get $27) + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) ;; 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: (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: (local.get $20) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $6 + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $while-in102) ;; 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: (local.get $19) + ;; CHECK-NEXT: (then + ;; 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: (then + ;; 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: (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 $11) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.gt_s - ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (i32.const 0) + ;; 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 $11) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.gt_s + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; 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: (then + ;; 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 $27) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (local.get $27) + ;; CHECK-NEXT: (local.get $22) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $22) - ;; 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: (then + ;; 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 $22) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; 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 $22) + ;; 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: ) - ;; 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: (then + ;; 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: (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.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 $11) + ;; CHECK-NEXT: ) ;; 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: (then + ;; CHECK-NEXT: (local.set $5 + ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $while-in110) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $11) - ;; 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: (else + ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (i32.const 9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 9) + ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 9) - ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $do-once99 - ;; 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.ge_s - ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $20 - ;; CHECK-NEXT: (select - ;; CHECK-NEXT: (local.get $11) - ;; 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: (local.set $18 - ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (local.get $18) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (block $do-once99 + ;; 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.ge_s + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (i32.const 0) ;; 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 $27) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $20 + ;; CHECK-NEXT: (select + ;; CHECK-NEXT: (local.get $11) + ;; 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: (local.get $27) ;; 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: (local.set $18 + ;; CHECK-NEXT: (i32.eqz + ;; CHECK-NEXT: (local.get $18) ;; 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: (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 $0) + ;; CHECK-NEXT: (local.get $6) ;; 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 $18) - ;; CHECK-NEXT: (i32.le_s - ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (local.get $27) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $27) ;; 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: (then + ;; CHECK-NEXT: (i32.store8 + ;; CHECK-NEXT: (local.get $32) + ;; CHECK-NEXT: (i32.const 48) ;; 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: (local.set $5 + ;; CHECK-NEXT: (local.get $32) ;; 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 $22) + ;; 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: ) - ;; CHECK-NEXT: (loop $while-in118 - ;; CHECK-NEXT: (i32.store8 - ;; CHECK-NEXT: (local.tee $5 - ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (then + ;; 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: (then + ;; 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: ) + ;; 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: (i32.const 48) + ;; CHECK-NEXT: (br_if $do-once115 + ;; CHECK-NEXT: (i32.and + ;; CHECK-NEXT: (local.get $18) + ;; CHECK-NEXT: (i32.le_s + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (i32.const 0) + ;; 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: (br_if $while-in118 - ;; CHECK-NEXT: (i32.gt_u - ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (local.get $22) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (br_if $do-once115 + ;; CHECK-NEXT: (i32.le_u + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (local.get $22) + ;; 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 $22) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $11 - ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (local.get $27) - ;; 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: (local.set $11 + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (local.get $27) + ;; CHECK-NEXT: (local.get $5) ;; 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 $11) - ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: (i32.gt_s - ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: (local.get $11) + ;; 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: (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: (then + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (call $___fwritex + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (select + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (i32.gt_s + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $20) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.ge_s - ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: (local.get $11) + ;; 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.ge_s + ;; CHECK-NEXT: (local.tee $7 + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 18) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (i32.const 18) + ;; CHECK-NEXT: (i32.const 0) ;; 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: (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: (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 $24) - ;; CHECK-NEXT: (local.get $15) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (call $___fwritex + ;; CHECK-NEXT: (local.get $15) + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (local.get $24) + ;; CHECK-NEXT: (local.get $15) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) ;; 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 $16) - ;; 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 $16) - ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (i32.lt_s + ;; CHECK-NEXT: (call $_pad + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (i32.const 32) + ;; CHECK-NEXT: (local.get $16) ;; 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 $16) + ;; CHECK-NEXT: (local.get $8) + ;; CHECK-NEXT: (i32.lt_s + ;; CHECK-NEXT: (local.get $8) + ;; CHECK-NEXT: (local.get $16) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (call $_pad ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 32) @@ -8188,7 +8590,7 @@ ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $___fwritex ;; CHECK-NEXT: (local.get $30) @@ -8233,11 +8635,13 @@ ;; 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: (then + ;; 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: ) @@ -8299,7 +8703,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $11 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $15) @@ -8368,13 +8772,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $11 ;; CHECK-NEXT: (i32.const 4091) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (local.set $11 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shr_s @@ -8389,7 +8793,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (local.get $23) ;; CHECK-NEXT: ) @@ -8433,7 +8837,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $7 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -8477,7 +8881,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (local.set $7 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) @@ -8501,7 +8905,7 @@ ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (block $__rjto$06 ;; CHECK-NEXT: (block $__rjti$07 ;; CHECK-NEXT: (br_if $__rjti$07 @@ -8531,7 +8935,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $8 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $8) @@ -8559,7 +8963,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $9 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -8705,7 +9109,7 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $17 ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) @@ -8721,7 +9125,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -8771,11 +9175,13 @@ ;; 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: (then + ;; 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: ) @@ -8794,7 +9200,9 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8849,27 +9257,29 @@ ;; 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 $23) - ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (then + ;; 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 $23) + ;; CHECK-NEXT: (local.tee $7 + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: ) ;; 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: (i32.lt_s + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (local.set $7 ;; CHECK-NEXT: (local.get $23) ;; CHECK-NEXT: ) @@ -8911,11 +9321,13 @@ ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (call $___fwritex - ;; CHECK-NEXT: (local.get $11) - ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (call $___fwritex + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: (local.get $8) + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -8945,11 +9357,13 @@ ;; 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: (then + ;; 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: ) @@ -8978,96 +9392,104 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $17 - ;; 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: (then + ;; CHECK-NEXT: (local.set $17 + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (then + ;; 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: (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: (then + ;; 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 1) + ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 10) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $17 - ;; 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: (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: ) - ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $17 - ;; CHECK-NEXT: (i32.const -1) + ;; 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: (if (result i32) + ;; CHECK-NEXT: (i32.lt_s + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (i32.const 10) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; 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: (then + ;; CHECK-NEXT: (local.set $17 + ;; CHECK-NEXT: (i32.const -1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $label$break$L343) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 10) + ;; 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: ) - ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -9139,7 +9561,9 @@ (global.get $STACKTOP) (global.get $STACK_MAX) ) - (call $abort) + (then + (call $abort) + ) ) (local.set $20 (i32.add @@ -9282,25 +9706,31 @@ (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) + (then + (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) + (then + (block (result i32) + (i32.store + (call $___errno_location) + (i32.const 75) + ) + (i32.const -1) + ) + ) + (else + (i32.add + (local.get $10) + (local.get $16) + ) ) - (i32.const -1) - ) - (i32.add - (local.get $10) - (local.get $16) ) ) ) @@ -9397,20 +9827,24 @@ ) (if (local.get $29) - (if - (i32.eqz - (i32.and - (i32.load - (local.get $0) + (then + (if + (i32.eqz + (i32.and + (i32.load + (local.get $0) + ) + (i32.const 32) ) - (i32.const 32) ) - ) - (drop - (call $___fwritex - (local.get $5) - (local.get $7) - (local.get $0) + (then + (drop + (call $___fwritex + (local.get $5) + (local.get $7) + (local.get $0) + ) + ) ) ) ) @@ -9420,14 +9854,16 @@ (local.get $10) (local.get $5) ) - (block - (local.set $5 - (local.get $6) - ) - (local.set $10 - (local.get $7) + (then + (block + (local.set $5 + (local.get $6) + ) + (local.set $10 + (local.get $7) + ) + (br $label$continue$L1) ) - (br $label$continue$L1) ) ) (local.set $8 @@ -9450,49 +9886,53 @@ ) (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) + (then + (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) ) - (i32.const 36) ) ) ) ) ) - ) - (local.set $17 + (local.set $17 + (select + (local.get $8) + (i32.const -1) + (local.get $11) + ) + ) (select - (local.get $8) - (i32.const -1) + (i32.const 1) + (local.get $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) + (else + (block (result i32) + (local.set $6 + (local.get $11) + ) + (local.set $17 + (i32.const -1) + ) + (local.get $1) ) - (local.get $1) ) ) ) @@ -9513,88 +9953,94 @@ ) (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) + (then + (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) ) - (i32.const 75913) ) - ) - (block - (local.set $6 - (local.get $1) - ) - (local.set $1 - (local.get $11) + (then + (block + (local.set $6 + (local.get $1) + ) + (local.set $1 + (local.get $11) + ) + (br $label$break$L25) + ) ) - (br $label$break$L25) ) - ) - (local.set $11 - (i32.or - (i32.shl - (i32.const 1) - (i32.add - (i32.shr_s - (i32.shl - (local.get $1) + (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 24) + (i32.const -32) ) - (i32.const -32) ) + (local.get $11) ) - (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) + (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) + (i32.const 32) ) - (i32.const 32) ) - ) - (local.set $6 - (local.get $1) - ) - (local.set $1 - (local.get $11) + (local.set $6 + (local.get $1) + ) + (local.set $1 + (local.get $11) + ) ) ) ) - (local.set $1 - (i32.const 0) + (else + (local.set $1 + (i32.const 0) + ) ) ) ) @@ -9607,230 +10053,263 @@ ) (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) + (then + (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 -48) ) + (i32.const 10) ) - (i32.const 10) ) - ) - (br_if $__rjti$0 - (i32.ne - (i32.load8_s offset=2 - (local.get $10) + (br_if $__rjti$0 + (i32.ne + (i32.load8_s offset=2 + (local.get $10) + ) + (i32.const 36) ) - (i32.const 36) ) - ) - (i32.store - (i32.add - (local.get $4) - (i32.shl - (local.get $11) - (i32.const 2) + (i32.store + (i32.add + (local.get $4) + (i32.shl + (local.get $11) + (i32.const 2) + ) ) + (i32.const 10) ) - (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) + (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 -48) + (i32.const 3) ) - (i32.const 3) ) ) ) ) - ) - (local.set $8 - (i32.const 1) - ) - (local.set $14 - (i32.load - (local.get $6) + (local.set $8 + (i32.const 1) ) - ) - (br $__rjto$0 - (i32.add - (local.get $10) - (i32.const 3) + (local.set $14 + (i32.load + (local.get $6) + ) ) - ) - ) - (if - (local.get $8) - (block - (local.set $16 - (i32.const -1) + (br $__rjto$0 + (i32.add + (local.get $10) + (i32.const 3) + ) ) - (br $label$break$L1) ) - ) - (if - (i32.eqz - (local.get $29) - ) - (block - (local.set $11 - (local.get $1) - ) - (local.set $10 - (local.get $6) + (if + (local.get $8) + (then + (block + (local.set $16 + (i32.const -1) + ) + (br $label$break$L1) + ) ) - (local.set $1 - (i32.const 0) + ) + (if + (i32.eqz + (local.get $29) ) - (local.set $14 - (i32.const 0) + (then + (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) + ) ) - (br $do-once5) ) - ) - (local.set $14 - (i32.load - (local.tee $10 - (i32.and - (i32.add - (i32.load - (local.get $2) + (local.set $14 + (i32.load + (local.tee $10 + (i32.and + (i32.add + (i32.load + (local.get $2) + ) + (i32.const 3) ) - (i32.const 3) + (i32.const -4) ) - (i32.const -4) ) ) ) - ) - (i32.store - (local.get $2) - (i32.add - (local.get $10) - (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 $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) + (local.set $11 + (if (result i32) + (i32.lt_s + (local.get $14) + (i32.const 0) + ) + (then + (block (result i32) + (local.set $14 + (i32.sub + (i32.const 0) + (local.get $14) + ) + ) + (i32.or + (local.get $1) + (i32.const 8192) + ) ) ) - (i32.or + (else (local.get $1) - (i32.const 8192) ) ) - (local.get $1) ) - ) - (local.set $1 - (local.get $8) + (local.set $1 + (local.get $8) + ) ) ) - (if - (i32.lt_u - (local.tee $6 - (i32.add - (i32.shr_s - (i32.shl - (local.get $6) + (else + (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 24) + (i32.const -48) ) - (i32.const -48) ) + (i32.const 10) ) - (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) + (then + (block + (local.set $11 + (i32.const 0) ) - ) - (if - (i32.lt_u - (local.tee $9 + (loop $while-in8 + (local.set $6 (i32.add - (i32.load8_s - (local.tee $10 - (i32.add - (local.get $10) - (i32.const 1) + (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 -48) + (i32.const 10) + ) + (then + (block + (local.set $11 + (local.get $6) + ) + (local.set $6 + (local.get $9) + ) + (br $while-in8) + ) ) ) - (i32.const 10) ) - (block - (local.set $11 + (if + (i32.lt_s (local.get $6) + (i32.const 0) ) - (local.set $6 - (local.get $9) + (then + (block + (local.set $16 + (i32.const -1) + ) + (br $label$break$L1) + ) + ) + (else + (block + (local.set $11 + (local.get $1) + ) + (local.set $1 + (local.get $8) + ) + (local.set $14 + (local.get $6) + ) + ) ) - (br $while-in8) ) ) ) - (if - (i32.lt_s - (local.get $6) - (i32.const 0) - ) - (block - (local.set $16 - (i32.const -1) - ) - (br $label$break$L1) - ) + (else (block (local.set $11 (local.get $1) @@ -9839,22 +10318,11 @@ (local.get $8) ) (local.set $14 - (local.get $6) + (i32.const 0) ) ) ) ) - (block - (local.set $11 - (local.get $1) - ) - (local.set $1 - (local.get $8) - ) - (local.set $14 - (i32.const 0) - ) - ) ) ) ) @@ -9867,207 +10335,227 @@ ) (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) + (then + (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) ) - (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) - ) - ) + (then (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 + (if + (i32.lt_u + (local.tee $9 + (i32.add (local.get $8) - (i32.const 10) + (i32.const -48) ) - (local.get $6) ) + (i32.const 10) ) - (i32.ge_u - (local.tee $9 - (i32.add - (i32.load8_s - (local.tee $10 - (i32.add - (local.get $10) - (i32.const 1) + (then + (block + (local.set $10 + (local.get $6) + ) + (local.set $8 + (i32.const 0) + ) + (local.set $6 + (local.get $9) + ) + ) + ) + (else + (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 -48) + (i32.const 10) ) ) - (i32.const 10) ) + (local.set $8 + (local.get $6) + ) + (local.set $6 + (local.get $9) + ) + (br $while-in11) ) ) - (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) + (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 -48) ) + (i32.const 10) ) - (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) + (then + (if + (i32.eq + (i32.load8_s offset=3 + (local.get $10) ) + (i32.const 36) ) - (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) + (then + (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) + ) ) - (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) ) ) ) ) ) - (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) + (if + (local.get $1) + (then + (block + (local.set $16 + (i32.const -1) + ) + (br $label$break$L1) + ) ) - (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) + (if (result i32) + (local.get $29) + (then + (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.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) ) ) - (i32.store - (local.get $2) - (i32.add - (local.get $10) - (i32.const 4) + (else + (block (result i32) + (local.set $10 + (local.get $6) + ) + (i32.const 0) ) ) - (local.set $10 - (local.get $6) - ) - (local.get $8) - ) - (block (result i32) - (local.set $10 - (local.get $6) - ) - (i32.const 0) ) ) ) - (i32.const -1) + (else + (i32.const -1) + ) ) ) ) @@ -10090,11 +10578,13 @@ ) (i32.const 57) ) - (block - (local.set $16 - (i32.const -1) + (then + (block + (local.set $16 + (i32.const -1) + ) + (br $label$break$L1) ) - (br $label$break$L1) ) ) (local.set $10 @@ -10129,17 +10619,21 @@ ) (i32.const 8) ) - (block - (local.set $8 - (local.get $10) - ) - (local.set $9 - (local.get $12) + (then + (block + (local.set $8 + (local.get $10) + ) + (local.set $9 + (local.get $12) + ) + (br $while-in13) ) - (br $while-in13) ) - (local.set $18 - (local.get $8) + (else + (local.set $18 + (local.get $8) + ) ) ) ) @@ -10150,11 +10644,13 @@ (i32.const 255) ) ) - (block - (local.set $16 - (i32.const -1) + (then + (block + (local.set $16 + (i32.const -1) + ) + (br $label$break$L1) ) - (br $label$break$L1) ) ) (local.set $8 @@ -10173,74 +10669,86 @@ ) (i32.const 19) ) - (if - (local.get $8) - (block - (local.set $16 - (i32.const -1) - ) - (br $label$break$L1) - ) - (br $__rjti$2) - ) - (block + (then (if (local.get $8) - (block - (i32.store - (i32.add - (local.get $4) - (i32.shl - (local.get $17) - (i32.const 2) - ) + (then + (block + (local.set $16 + (i32.const -1) ) - (local.get $12) + (br $label$break$L1) ) - (local.set $13 - (i32.load offset=4 - (local.tee $12 + ) + (else + (br $__rjti$2) + ) + ) + ) + (else + (block + (if + (local.get $8) + (then + (block + (i32.store (i32.add - (local.get $3) + (local.get $4) (i32.shl (local.get $17) - (i32.const 3) + (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) ) ) - (i32.store - (local.tee $8 - (local.get $19) - ) - (i32.load - (local.get $12) - ) + ) + (if + (i32.eqz + (local.get $29) ) - (i32.store offset=4 - (local.get $8) - (local.get $13) + (then + (block + (local.set $16 + (i32.const 0) + ) + (br $label$break$L1) + ) ) - (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) ) ) - (call $_pop_arg_336 - (local.get $19) - (local.get $12) - (local.get $2) - ) ) ) (br $__rjto$2) @@ -10249,14 +10757,16 @@ (i32.eqz (local.get $29) ) - (block - (local.set $5 - (local.get $10) - ) - (local.set $10 - (local.get $7) + (then + (block + (local.set $5 + (local.get $10) + ) + (local.set $10 + (local.get $7) + ) + (br $label$continue$L1) ) - (br $label$continue$L1) ) ) ) @@ -10521,50 +11031,54 @@ ) ) ) - (local.set $8 - (local.get $26) - ) - (block - (local.set $5 - (local.get $7) - ) - (local.set $7 - (local.get $8) - ) + (then (local.set $8 (local.get $26) ) - (loop $while-in32 - (i32.store8 - (local.tee $8 - (i32.add - (local.get $8) - (i32.const -1) + ) + (else + (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.or + (i32.and + (local.get $5) + (i32.const 7) + ) + (i32.const 48) ) - (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) + (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) + (i32.eqz + (local.tee $7 + (global.get $tempRet0) + ) ) ) ) @@ -10579,35 +11093,39 @@ (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) + (then + (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) ) - (i32.const 1) ) - ) - (local.get $6) - (i32.lt_s (local.get $6) - (local.get $11) + (i32.lt_s + (local.get $6) + (local.get $11) + ) ) ) + (local.get $8) ) - (local.get $8) ) - (block (result i32) - (local.set $7 - (local.get $11) + (else + (block (result i32) + (local.set $7 + (local.get $11) + ) + (local.get $8) ) - (local.get $8) ) ) ) @@ -10635,33 +11153,35 @@ ) (i32.const 0) ) - (block - (i32.store - (local.tee $8 - (local.get $19) + (then + (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) + ) + ) ) - (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) ) ) - ) - (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 $8 - (i32.const 1) - ) - (local.set $9 - (i32.const 4091) - ) - (br $__rjti$4) ) ) (local.set $9 @@ -10670,25 +11190,29 @@ (local.get $11) (i32.const 2048) ) - (block (result i32) - (local.set $8 - (i32.const 1) + (then + (block (result i32) + (local.set $8 + (i32.const 1) + ) + (i32.const 4092) ) - (i32.const 4092) ) - (block (result i32) - (local.set $8 - (local.tee $9 - (i32.and - (local.get $11) - (i32.const 1) + (else + (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) + (select + (i32.const 4093) + (i32.const 4091) + (local.get $9) + ) ) ) ) @@ -10797,24 +11321,28 @@ ) (if (local.get $6) - (block - (local.set $8 - (local.get $6) + (then + (block + (local.set $8 + (local.get $6) + ) + (br $__rjti$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) + (else + (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) ) - (br $__rjti$7) ) ) ) @@ -10844,41 +11372,49 @@ ) (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) - ) + (then (block (result i32) (local.set $27 (i32.const 1) ) - (i32.const 4111) + (local.set $15 + (f64.neg + (local.get $15) + ) + ) + (i32.const 4108) ) - (block (result i32) - (local.set $27 - (local.tee $5 - (i32.and - (local.get $11) + ) + (else + (if (result i32) + (i32.and + (local.get $11) + (i32.const 2048) + ) + (then + (block (result i32) + (local.set $27 (i32.const 1) ) + (i32.const 4111) ) ) - (select - (i32.const 4114) - (i32.const 4109) - (local.get $5) + (else + (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) + ) + ) ) ) ) @@ -10916,2124 +11452,2096 @@ (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) + (then + (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 2) ) + (f64.const 0) ) - (f64.const 0) ) - ) - (i32.store - (local.get $20) - (i32.add - (i32.load + (then + (i32.store (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) + (i32.load + (local.get $20) ) + (i32.const -1) ) ) ) - (local.set $15 - (if (result f64) + ) + (if + (i32.eq + (local.tee $24 (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 $18) + (i32.const 32) ) - (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) - ) + ) + (i32.const 97) + ) + (then + (block + (local.set $9 + (select + (i32.add + (local.get $31) + (i32.const 9) ) - (br_if $while-in54 - (local.tee $5 - (i32.add - (local.get $5) - (i32.const -1) - ) + (local.get $31) + (local.tee $13 + (i32.and + (local.get $18) + (i32.const 32) ) ) ) + ) + (local.set $15 (if (result f64) - (i32.eq - (i32.load8_s - (local.get $9) + (i32.or + (i32.gt_u + (local.get $6) + (i32.const 11) ) - (i32.const 45) - ) - (f64.neg - (f64.add - (local.get $15) - (f64.sub - (f64.neg - (local.get $23) + (i32.eqz + (local.tee $5 + (i32.sub + (i32.const 12) + (local.get $6) ) - (local.get $15) ) ) ) - (f64.sub - (f64.add - (local.get $23) - (local.get $15) + (then + (local.get $23) + ) + (else + (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) + ) + (then + (f64.neg + (f64.add + (local.get $15) + (f64.sub + (f64.neg + (local.get $23) + ) + (local.get $15) + ) + ) + ) + ) + (else + (f64.sub + (f64.add + (local.get $23) + (local.get $15) + ) + (local.get $15) + ) + ) + ) ) - (local.get $15) ) ) ) - ) - ) - (if - (i32.eq - (local.tee $5 - (call $_fmt_u + (if + (i32.eq (local.tee $5 - (select - (i32.sub - (i32.const 0) - (local.tee $7 - (i32.load - (local.get $20) + (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) ) ) ) - (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) ) ) - (i32.shr_s - (i32.shl - (i32.lt_s - (local.get $5) - (i32.const 0) - ) - (i32.const 31) + (local.get $34) + ) + (then + (block + (i32.store8 + (local.get $42) + (i32.const 48) + ) + (local.set $5 + (local.get $42) ) - (i32.const 31) ) - (local.get $34) ) ) - (local.get $34) - ) - (block + (local.set $12 + (i32.or + (local.get $27) + (i32.const 2) + ) + ) (i32.store8 - (local.get $42) - (i32.const 48) + (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) + ) ) - (local.set $5 - (local.get $42) + (i32.store8 + (local.tee $8 + (i32.add + (local.get $5) + (i32.const -2) + ) + ) + (i32.add + (local.get $18) + (i32.const 15) + ) ) - ) - ) - (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) + (local.set $18 + (i32.lt_s + (local.get $6) + (i32.const 1) ) - (i32.const 2) ) - (i32.const 43) - ) - ) - (i32.store8 - (local.tee $8 - (i32.add - (local.get $5) - (i32.const -2) + (local.set $17 + (i32.eqz + (i32.and + (local.get $11) + (i32.const 8) + ) + ) ) - ) - (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) ) - ) - ) - (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) + (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) ) ) - (i32.const 4075) + (local.get $13) ) ) - (local.get $13) - ) - ) - (local.set $15 - (f64.mul - (f64.sub - (local.get $15) - (f64.convert_i32_s - (local.get $7) + (local.set $15 + (f64.mul + (f64.sub + (local.get $15) + (f64.convert_i32_s + (local.get $7) + ) + ) + (f64.const 16) ) ) - (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.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) + ) + (then + (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) + ) + ) + ) + (else + (local.get $7) ) - (local.get $37) ) - (i32.const 1) ) - (block (result i32) - (drop - (br_if $do-once57 - (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 - (local.get $17) - (i32.and - (local.get $18) - (f64.eq - (local.get $15) - (f64.const 0) + (i32.ne + (local.get $6) + (i32.const 0) + ) + (i32.lt_s + (i32.add + (local.get $46) + (local.get $5) ) + (local.get $6) ) ) ) ) - (i32.store8 - (local.get $7) - (i32.const 46) + (local.get $12) + ) + ) + (local.get $11) + ) + (if + (i32.eqz + (i32.and + (i32.load + (local.get $0) ) - (i32.add - (local.get $5) - (i32.const 2) + (i32.const 32) + ) + ) + (then + (drop + (call $___fwritex + (local.get $9) + (local.get $12) + (local.get $0) ) ) - (local.get $7) ) ) - ) - (br_if $while-in56 - (f64.ne - (local.get $15) - (f64.const 0) + (call $_pad + (local.get $0) + (i32.const 48) + (local.get $14) + (local.get $7) + (i32.xor + (local.get $11) + (i32.const 65536) + ) ) - ) - ) - (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) + (local.set $5 + (i32.sub + (local.get $5) + (local.get $37) + ) + ) + (if + (i32.eqz + (i32.and + (i32.load + (local.get $0) ) - (i32.add - (i32.sub - (local.get $45) - (local.get $8) - ) + (i32.const 32) + ) + ) + (then + (drop + (call $___fwritex + (local.get $22) (local.get $5) + (local.get $0) ) - (i32.and - (i32.ne - (local.get $6) - (i32.const 0) - ) - (i32.lt_s - (i32.add - (local.get $46) - (local.get $5) - ) - (local.get $6) + ) + ) + ) + (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) ) ) ) ) - (local.get $12) + (i32.const 0) + (i32.const 0) ) - ) - (local.get $11) - ) - (if - (i32.eqz - (i32.and - (i32.load - (local.get $0) + (if + (i32.eqz + (i32.and + (i32.load + (local.get $0) + ) + (i32.const 32) + ) ) - (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) + (then + (drop + (call $___fwritex + (local.get $8) + (local.get $5) + (local.get $0) + ) + ) ) - (i32.const 32) ) - ) - (drop - (call $___fwritex - (local.get $22) - (local.get $5) + (call $_pad (local.get $0) + (i32.const 32) + (local.get $14) + (local.get $7) + (i32.xor + (local.get $11) + (i32.const 8192) + ) ) - ) - ) - (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) + (br $do-once49 + (select + (local.get $14) + (local.get $7) + (i32.lt_s + (local.get $7) + (local.get $14) ) ) ) ) - (i32.const 0) - (i32.const 0) ) - (if - (i32.eqz - (i32.and - (i32.load - (local.get $0) + ) + (local.set $15 + (if (result f64) + (local.get $5) + (then + (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) ) - (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 + (else + (block (result f64) + (local.set $5 (i32.load (local.get $20) ) - (i32.const -28) ) + (local.get $23) ) ) - (f64.mul - (local.get $23) - (f64.const 268435456) - ) ) - (block (result f64) - (local.set $5 - (i32.load - (local.get $20) + ) + (local.set $7 + (local.tee $8 + (select + (local.get $48) + (local.get $49) + (i32.lt_s + (local.get $5) + (i32.const 0) ) ) - (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) + ) ) ) - ) - ) - (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) ) ) - ) - (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) + (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 1e9) ) + (f64.const 0) ) - (f64.const 0) ) ) - ) - (if - (i32.gt_s - (local.tee $9 - (i32.load - (local.get $20) + (if + (i32.gt_s + (local.tee $9 + (i32.load + (local.get $20) + ) ) + (i32.const 0) ) - (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) - ) + (then + (block + (local.set $5 + (local.get $8) ) - ) - (block $do-once63 - (if - (i32.ge_u - (local.tee $9 - (i32.add - (local.get $7) - (i32.const -4) + (loop $while-in62 + (local.set $13 + (select + (i32.const 29) + (local.get $9) + (i32.gt_s + (local.get $9) + (i32.const 29) ) ) - (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) + (block $do-once63 + (if + (i32.ge_u + (local.tee $9 + (i32.add + (local.get $7) + (i32.const -4) + ) + ) + (local.get $5) + ) + (then + (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.get $13) ) - (global.get $tempRet0) - (local.get $12) - (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) + ) ) ) - (local.tee $17 - (global.get $tempRet0) + (br_if $do-once63 + (i32.eqz + (local.get $12) + ) ) - (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) + (i32.store + (local.tee $5 + (i32.add + (local.get $5) + (i32.const -4) + ) ) + (local.get $12) ) - (local.get $5) ) ) ) - (br_if $do-once63 - (i32.eqz - (local.get $12) + ) + (loop $while-in68 + (if + (i32.gt_u + (local.get $7) + (local.get $5) ) - ) - (i32.store - (local.tee $5 - (i32.add - (local.get $5) - (i32.const -4) + (then + (if + (i32.eqz + (i32.load + (local.tee $9 + (i32.add + (local.get $7) + (i32.const -4) + ) + ) + ) + ) + (then + (block + (local.set $7 + (local.get $9) + ) + (br $while-in68) + ) + ) ) ) - (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) - ) + (i32.store + (local.get $20) + (local.tee $9 + (i32.sub + (i32.load + (local.get $20) ) + (local.get $13) ) ) - (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) + (br_if $while-in62 + (i32.gt_s + (local.get $9) + (i32.const 0) ) - (local.get $13) ) ) ) - (br_if $while-in62 - (i32.gt_s - (local.get $9) - (i32.const 0) - ) + ) + (else + (local.set $5 + (local.get $8) ) ) ) - (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) + ) + ) ) - ) - (local.set $17 - (select - (i32.const 6) - (local.get $6) + (if (i32.lt_s - (local.get $6) + (local.get $9) (i32.const 0) ) - ) - ) - (if - (i32.lt_s - (local.get $9) - (i32.const 0) - ) - (block - (local.set $21 - (i32.add - (call $i32s-div + (then + (block + (local.set $21 (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) + (call $i32s-div + (i32.add + (local.get $17) + (i32.const 25) + ) + (i32.const 9) ) - ) - (i32.gt_s - (local.get $7) - (i32.const 9) + (i32.const 1) ) ) - ) - (block $do-once71 - (if - (i32.lt_u - (local.get $6) - (local.get $5) + (local.set $32 + (i32.eq + (local.get $24) + (i32.const 102) ) - (block - (local.set $12 - (i32.add - (i32.shl - (i32.const 1) - (local.get $13) + ) + (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.const -1) ) - ) - (local.set $38 - (i32.shr_u - (i32.const 1000000000) - (local.get $13) + (i32.gt_s + (local.get $7) + (i32.const 9) ) ) - (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 + ) + (block $do-once71 + (if + (i32.lt_u + (local.get $6) + (local.get $5) + ) + (then + (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 $7) + (local.get $6) ) ) - (local.get $13) ) - (local.get $9) - ) - ) - (local.set $9 - (i32.mul - (i32.and - (local.get $33) - (local.get $12) + (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.get $38) ) ) - (br_if $while-in74 - (i32.lt_u - (local.tee $7 + (else + (local.set $7 + (select + (local.get $6) (i32.add - (local.get $7) + (local.get $6) (i32.const 4) ) + (i32.load + (local.get $6) + ) ) - (local.get $5) ) ) ) - (local.set $7 - (select - (local.get $6) - (i32.add - (local.get $6) - (i32.const 4) + ) + (local.set $12 + (select + (i32.add + (local.tee $6 + (select + (local.get $8) + (local.get $7) + (local.get $32) + ) ) - (i32.load - (local.get $6) + (i32.shl + (local.get $21) + (i32.const 2) ) ) - ) - (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) + (i32.gt_s + (i32.shr_s + (i32.sub + (local.get $5) + (local.get $6) + ) + (i32.const 2) + ) + (local.get $21) ) ) ) - (local.set $7 - (select - (local.get $6) + (i32.store + (local.get $20) + (local.tee $9 (i32.add - (local.get $6) - (i32.const 4) - ) - (i32.load - (local.get $6) + (i32.load + (local.get $20) + ) + (local.get $13) ) ) ) - ) - ) - (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) + (if + (i32.lt_s + (local.get $9) + (i32.const 0) ) - ) - (local.get $5) - (i32.gt_s - (i32.shr_s - (i32.sub - (local.get $5) - (local.get $6) + (then + (block + (local.set $6 + (local.get $7) + ) + (local.set $5 + (local.get $12) + ) + (br $while-in70) ) - (i32.const 2) ) - (local.get $21) - ) - ) - ) - (i32.store - (local.get $20) - (local.tee $9 - (i32.add - (i32.load - (local.get $20) + (else + (block + (local.set $5 + (local.get $7) + ) + (local.set $9 + (local.get $12) + ) + ) ) - (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) - ) - ) + ) + (else + (local.set $9 + (local.get $7) ) ) ) - (local.set $9 - (local.get $7) + (local.set $21 + (local.get $8) ) - ) - (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) + (block $do-once75 + (if + (i32.lt_u + (local.get $5) + (local.get $9) + ) + (then + (block + (local.set $7 + (i32.mul + (i32.shr_s + (i32.sub + (local.get $21) + (local.get $5) + ) + (i32.const 2) + ) + (i32.const 9) ) - (i32.const 2) ) - (i32.const 9) - ) - ) - (br_if $do-once75 - (i32.lt_u - (local.tee $12 - (i32.load - (local.get $5) + (br_if $do-once75 + (i32.lt_u + (local.tee $12 + (i32.load + (local.get $5) + ) + ) + (i32.const 10) ) ) - (i32.const 10) - ) - ) - (local.set $6 - (i32.const 10) - ) - (loop $while-in78 - (local.set $7 - (i32.add - (local.get $7) - (i32.const 1) + (local.set $6 + (i32.const 10) ) - ) - (br_if $while-in78 - (i32.ge_u - (local.get $12) - (local.tee $6 - (i32.mul - (local.get $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) + (else + (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) + (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) + (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) + (local.tee $38 + (i32.eq + (local.get $24) + (i32.const 103) + ) ) ) + (i32.const 31) ) (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.add + (i32.mul + (i32.shr_s + (i32.sub + (local.get $9) + (local.get $21) + ) + (i32.const 2) ) + (i32.const 9) ) - (i32.const 9) + (i32.const -9) ) ) - (if - (i32.lt_s - (local.tee $6 - (i32.add - (if (result i32) - (local.tee $12 - (i32.const 9) - ) - (i32.rem_s + (then + (block (result i32) + (local.set $13 + (call $i32s-div + (local.tee $6 + (i32.add (local.get $6) - (local.get $12) + (i32.const 9216) ) - (i32.const 0) ) - (i32.const 1) + (i32.const 9) ) ) - (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 + (if + (i32.lt_s (local.tee $6 (i32.add - (i32.add - (local.get $8) - (i32.shl - (local.get $13) - (i32.const 2) + (if (result i32) + (local.tee $12 + (i32.const 9) + ) + (then + (i32.rem_s + (local.get $6) + (local.get $12) + ) + ) + (else + (i32.const 0) ) ) - (i32.const -4092) + (i32.const 1) ) ) + (i32.const 9) ) - ) - (local.get $12) - ) - ) - (block $do-once81 - (if - (i32.eqz - (i32.and - (local.tee $33 - (i32.eq - (i32.add - (local.get $6) - (i32.const 4) + (then + (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.get $9) ) ) - (i32.eqz - (local.get $13) - ) ) - ) - (block - (local.set $50 - (call $i32u-div - (local.get $24) - (local.get $12) + (else + (local.set $12 + (i32.const 10) ) ) - (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 $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) ) - (local.set $23 - (select - (f64.const 9007199254740994) - (f64.const 9007199254740992) + ) + (block $do-once81 + (if + (i32.eqz (i32.and - (local.get $50) - (i32.const 1) + (local.tee $33 + (i32.eq + (i32.add + (local.get $6) + (i32.const 4) + ) + (local.get $9) + ) + ) + (i32.eqz + (local.get $13) + ) ) ) - ) - (block $do-once83 - (if - (local.get $27) + (then (block - (br_if $do-once83 - (i32.ne - (i32.load8_s - (local.get $31) + (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) + ) + ) + ) + (then + (f64.const 0.5) + ) + (else + (select + (f64.const 1) + (f64.const 1.5) + (i32.and + (local.get $33) + (i32.eq + (local.get $13) + (local.get $51) + ) + ) + ) ) - (i32.const 45) ) ) (local.set $23 - (f64.neg - (local.get $23) + (select + (f64.const 9007199254740994) + (f64.const 9007199254740992) + (i32.and + (local.get $50) + (i32.const 1) + ) ) ) - (local.set $15 - (f64.neg - (local.get $15) + (block $do-once83 + (if + (local.get $27) + (then + (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) + (i32.store + (local.get $6) + (local.tee $13 + (i32.sub + (local.get $24) + (local.get $13) ) ) - (local.get $5) + ) + (br_if $do-once81 + (f64.eq + (f64.add + (local.get $23) + (local.get $15) + ) + (local.get $23) + ) ) (i32.store - (local.tee $5 + (local.get $6) + (local.tee $7 (i32.add - (local.get $5) - (i32.const -4) + (local.get $13) + (local.get $12) ) ) - (i32.const 0) ) - ) - (i32.store - (local.get $6) - (local.tee $7 - (i32.add - (i32.load - (local.get $6) + (if + (i32.gt_u + (local.get $7) + (i32.const 999999999) + ) + (then + (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) + ) + (then + (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) + ) + ) ) - (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) + ) ) - ) - ) - ) - (local.set $7 - (i32.mul - (i32.shr_s - (i32.sub - (local.get $21) - (local.get $5) + (br_if $do-once81 + (i32.lt_u + (local.tee $13 + (i32.load + (local.get $5) + ) + ) + (i32.const 10) + ) ) - (i32.const 2) - ) - (i32.const 9) - ) - ) - (br_if $do-once81 - (i32.lt_u - (local.tee $13 - (i32.load - (local.get $5) + (local.set $12 + (i32.const 10) ) - ) - (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) + (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) + ) + ) ) ) - (local.set $12 - (local.get $5) - ) - (local.set $13 - (local.get $7) - ) - (select - (local.tee $5 - (i32.add - (local.get $6) - (i32.const 4) + (else + (block (result i32) + (local.set $12 + (local.get $5) + ) + (local.set $13 + (local.get $7) ) - ) - (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) + (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 + (loop $while-in90 + (block $while-out89 + (if + (i32.le_u (local.get $5) + (local.get $12) ) - (br $while-out89) - ) - ) - (if - (i32.load - (local.tee $7 - (i32.add - (local.get $5) - (i32.const -4) + (then + (block + (local.set $24 + (i32.const 0) + ) + (local.set $9 + (local.get $5) + ) + (br $while-out89) ) ) ) - (block - (local.set $24 - (i32.const 1) + (if + (i32.load + (local.tee $7 + (i32.add + (local.get $5) + (i32.const -4) + ) + ) ) - (local.set $9 - (local.get $5) + (then + (block + (local.set $24 + (i32.const 1) + ) + (local.set $9 + (local.get $5) + ) + ) ) - ) - (block - (local.set $5 - (local.get $7) + (else + (block + (local.set $5 + (local.get $7) + ) + (br $while-in90) + ) ) - (br $while-in90) ) ) ) - ) - (call $_pad - (local.get $0) - (i32.const 32) - (local.get $14) - (local.tee $13 - (i32.add + (call $_pad + (local.get $0) + (i32.const 32) + (local.get $14) + (local.tee $13 (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) + (i32.add + (local.get $27) + (i32.const 1) + ) + (local.tee $5 + (block $do-once91 (result i32) + (if (result i32) + (local.get $38) + (then + (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 $17) + (local.get $13) + ) + (i32.gt_s + (local.get $13) + (i32.const -5) ) ) - (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) + (then + (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) + ) + ) + ) + (else + (block (result i32) + (local.set $17 + (i32.add + (local.get $5) + (i32.const -1) + ) + ) + (i32.add + (local.get $18) + (i32.const -2) + ) ) - (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) + (if + (local.tee $5 + (i32.and + (local.get $11) + (i32.const 8) ) ) - (i32.add - (local.get $18) - (i32.const -2) + (then + (block + (local.set $21 + (local.get $5) + ) + (br $do-once91 + (local.get $17) + ) + ) ) ) - ) - ) - (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 + (block $do-once93 (if - (i32.eqz - (local.tee $18 - (i32.load - (i32.add - (local.get $9) - (i32.const -4) + (local.get $24) + (then + (block + (if + (i32.eqz + (local.tee $18 + (i32.load + (i32.add + (local.get $9) + (i32.const -4) + ) + ) + ) + ) + (then + (block + (local.set $5 + (i32.const 9) + ) + (br $do-once93) + ) + ) + ) + (if + (call $i32u-rem + (local.get $18) + (i32.const 10) + ) + (then + (block + (local.set $5 + (i32.const 0) + ) + (br $do-once93) + ) + ) + (else + (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) + ) + ) + ) + ) ) ) ) ) - (block + (else (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) + ) + (local.set $6 + (i32.add + (i32.mul + (i32.shr_s + (i32.sub + (local.get $9) + (local.get $21) + ) + (i32.const 2) ) - (br $do-once93) + (i32.const 9) ) - (block - (local.set $6 - (i32.const 10) - ) - (local.set $5 - (i32.const 0) - ) + (i32.const -9) + ) + ) + (if (result i32) + (i32.eq + (i32.or + (local.get $7) + (i32.const 32) ) + (i32.const 102) ) - (loop $while-in96 - (local.set $5 - (i32.add - (local.get $5) - (i32.const 1) + (then + (block (result i32) + (local.set $21 + (i32.const 0) ) - ) - (br_if $while-in96 - (i32.eqz - (call $i32u-rem - (local.get $18) - (local.tee $6 - (i32.mul - (local.get $6) - (i32.const 10) + (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) ) ) ) - ) - ) - ) - ) - (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) + (i32.lt_s + (local.get $17) (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) + (else + (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) ) ) - (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) + (else + (block (result i32) + (local.set $21 + (i32.and + (local.get $11) + (i32.const 8) + ) + ) + (local.set $7 + (local.get $18) + ) + (local.get $17) ) ) - (local.set $7 - (local.get $18) - ) - (local.get $17) ) ) ) ) - ) - (i32.ne - (local.tee $32 - (i32.or - (local.get $5) - (local.get $21) + (i32.ne + (local.tee $32 + (i32.or + (local.get $5) + (local.get $21) + ) ) + (i32.const 0) ) - (i32.const 0) ) - ) - (if (result i32) - (local.tee $17 - (i32.eq - (i32.or - (local.get $7) - (i32.const 32) + (if (result i32) + (local.tee $17 + (i32.eq + (i32.or + (local.get $7) + (i32.const 32) + ) + (i32.const 102) ) - (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) + (then + (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 + (else + (block (result i32) + (if + (i32.lt_s + (i32.sub + (local.get $28) (local.tee $6 - (select - (local.get $33) - (local.get $13) - (i32.lt_s - (local.get $13) - (i32.const 0) + (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.shr_s - (i32.shl - (i32.lt_s + ) + (i32.const 2) + ) + (then + (loop $while-in98 + (i32.store8 + (local.tee $6 + (i32.add (local.get $6) - (i32.const 0) + (i32.const -1) ) - (i32.const 31) ) - (i32.const 31) + (i32.const 48) + ) + (br_if $while-in98 + (i32.lt_s + (i32.sub + (local.get $28) + (local.get $6) + ) + (i32.const 2) + ) ) - (local.get $34) ) ) ) - (i32.const 2) - ) - (loop $while-in98 (i32.store8 - (local.tee $6 - (i32.add - (local.get $6) - (i32.const -1) + (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.const 48) ) - (br_if $while-in98 - (i32.lt_s - (i32.sub - (local.get $28) + (i32.store8 + (local.tee $6 + (i32.add (local.get $6) + (i32.const -2) ) - (i32.const 2) ) + (local.get $7) ) - ) - ) - (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) + (local.set $18 + (local.get $6) ) - (i32.const 43) - ) - ) - (i32.store8 - (local.tee $6 - (i32.add + (i32.sub + (local.get $28) (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) ) - (local.get $11) - ) - (if - (i32.eqz - (i32.and - (i32.load - (local.get $0) + (if + (i32.eqz + (i32.and + (i32.load + (local.get $0) + ) + (i32.const 32) ) - (i32.const 32) ) - ) - (drop - (call $___fwritex - (local.get $31) - (local.get $27) - (local.get $0) + (then + (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) + (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) + (block $do-once99 + (if + (local.get $17) + (then + (block + (local.set $6 + (local.tee $12 + (select + (local.get $8) + (local.get $12) + (i32.gt_u + (local.get $12) + (local.get $8) + ) + ) ) - (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) + (loop $while-in102 + (local.set $7 + (call $_fmt_u + (i32.load + (local.get $6) ) - ) - (i32.store8 - (local.get $35) - (i32.const 48) - ) - (local.set $7 - (local.get $35) + (i32.const 0) + (local.get $30) ) ) - (block - (br_if $do-once103 - (i32.le_u - (local.get $7) - (local.get $22) + (block $do-once103 + (if + (i32.eq + (local.get $6) + (local.get $12) ) - ) - (loop $while-in106 - (i32.store8 - (local.tee $7 - (i32.add - (local.get $7) - (i32.const -1) + (then + (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) ) ) - (i32.const 48) ) - (br_if $while-in106 - (i32.gt_u - (local.get $7) - (local.get $22) + (else + (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) + (if + (i32.eqz + (i32.and + (i32.load + (local.get $0) + ) + (i32.const 32) ) - (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 + (then + (drop + (call $___fwritex (local.get $7) + (i32.sub + (local.get $43) + (local.get $7) + ) + (local.get $0) ) - (i32.const 0) - (local.get $30) ) ) - (local.get $22) ) - (loop $while-in112 - (i32.store8 - (local.tee $6 + (if + (i32.le_u + (local.tee $7 (i32.add (local.get $6) - (i32.const -1) + (i32.const 4) ) ) - (i32.const 48) + (local.get $8) ) - (br_if $while-in112 - (i32.gt_u - (local.get $6) - (local.get $22) + (then + (block + (local.set $6 + (local.get $7) + ) + (br $while-in102) ) ) ) ) - (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) + (block $do-once107 + (if + (local.get $32) + (then + (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) + ) ) ) - (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.const 0) ) (i32.lt_u - (local.tee $7 - (i32.add - (local.get $7) - (i32.const 4) - ) - ) + (local.get $7) (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 + (then + (loop $while-in110 + (if + (i32.gt_u + (local.tee $6 + (call $_fmt_u (i32.load - (local.get $0) + (local.get $7) ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (local.get $5) - (i32.const 1) - (local.get $0) + (i32.const 0) + (local.get $30) ) ) + (local.get $22) ) - (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) + (then + (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) + ) ) ) ) - (br_if $do-once115 + ) + (if + (i32.eqz (i32.and (i32.load (local.get $0) @@ -13041,256 +13549,444 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (i32.const 4143) - (i32.const 1) - (local.get $0) + (then + (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) + ) ) ) ) - (block - (br_if $do-once115 - (i32.le_u + (local.set $6 + (i32.add + (local.get $5) + (i32.const -9) + ) + ) + (if + (i32.and + (i32.gt_s (local.get $5) - (local.get $22) + (i32.const 9) ) - ) - (loop $while-in118 - (i32.store8 - (local.tee $5 + (i32.lt_u + (local.tee $7 (i32.add - (local.get $5) - (i32.const -1) + (local.get $7) + (i32.const 4) ) ) - (i32.const 48) + (local.get $9) ) - (br_if $while-in118 - (i32.gt_u - (local.get $5) - (local.get $22) + ) + (then + (block + (local.set $5 + (local.get $6) ) + (br $while-in110) + ) + ) + (else + (local.set $5 + (local.get $6) ) ) ) ) ) - (local.set $8 - (i32.sub - (local.get $43) - (local.get $5) + ) + (call $_pad + (local.get $0) + (i32.const 48) + (i32.add + (local.get $5) + (i32.const 9) + ) + (i32.const 9) + (i32.const 0) + ) + ) + ) + (else + (block + (local.set $9 + (select + (local.get $9) + (i32.add + (local.get $12) + (i32.const 4) ) + (local.get $24) ) - (if - (i32.eqz - (i32.and - (i32.load - (local.get $0) + ) + (if + (i32.gt_s + (local.get $5) + (i32.const -1) + ) + (then + (block + (local.set $17 + (i32.eqz + (local.get $21) ) - (i32.const 32) ) - ) - (drop - (call $___fwritex + (local.set $6 + (local.get $12) + ) + (local.set $7 (local.get $5) - (select - (local.get $8) - (local.get $7) - (i32.gt_s - (local.get $7) - (local.get $8) + ) + (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) + ) + (then + (block + (i32.store8 + (local.get $35) + (i32.const 48) + ) + (local.set $5 + (local.get $35) + ) + ) ) ) - (local.get $0) - ) - ) - ) - (br_if $while-in114 - (i32.and - (i32.lt_u - (local.tee $6 - (i32.add - (local.get $6) - (i32.const 4) + (block $do-once115 + (if + (i32.eq + (local.get $6) + (local.get $12) + ) + (then + (block + (if + (i32.eqz + (i32.and + (i32.load + (local.get $0) + ) + (i32.const 32) + ) + ) + (then + (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) + ) + ) + ) + ) + (else + (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.get $9) - ) - (i32.gt_s - (local.tee $7 + (local.set $8 (i32.sub - (local.get $7) - (local.get $8) + (local.get $43) + (local.get $5) ) ) - (i32.const -1) + (if + (i32.eqz + (i32.and + (i32.load + (local.get $0) + ) + (i32.const 32) + ) + ) + (then + (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) + ) ) ) ) - (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 + (call $_pad (local.get $0) + (i32.const 48) + (i32.add + (local.get $5) + (i32.const 18) + ) + (i32.const 18) + (i32.const 0) ) - (i32.const 32) - ) - ) - (drop - (call $___fwritex - (local.get $18) - (i32.sub - (local.get $28) - (local.get $18) + (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) + ) ) - (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 + (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) + (else + (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 0) ) ) ) + (i32.const 3) ) - (i32.const 3) ) + (local.get $8) ) - (local.get $8) - ) - (if - (i32.eqz - (i32.and - (local.tee $5 - (i32.load - (local.get $0) + (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) + (i32.const 32) ) ) - (local.set $5 - (i32.load - (local.get $0) + (then + (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 + (local.set $6 (select - (i32.const 4135) - (i32.const 4139) - (local.tee $8 - (i32.ne - (i32.and - (local.get $18) - (i32.const 32) + (select + (i32.const 4135) + (i32.const 4139) + (local.tee $8 + (i32.ne + (i32.and + (local.get $18) + (i32.const 32) + ) + (i32.const 0) ) - (i32.const 0) ) ) + (select + (i32.const 4127) + (i32.const 4131) + (local.get $8) + ) + (local.get $6) ) - (select - (i32.const 4127) - (i32.const 4131) - (local.get $8) - ) - (local.get $6) ) - ) - (if - (i32.eqz - (i32.and - (local.get $5) - (i32.const 32) + (if + (i32.eqz + (i32.and + (local.get $5) + (i32.const 32) + ) ) - ) - (drop - (call $___fwritex - (local.get $6) - (i32.const 3) - (local.get $0) + (then + (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 + (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) + ) ) ) ) @@ -13346,115 +14042,123 @@ ) ) ) - (block - (local.set $5 - (local.get $26) - ) - (local.set $8 - (i32.const 0) - ) - (local.set $9 - (i32.const 4091) + (then + (block + (local.set $5 + (local.get $26) + ) + (local.set $8 + (i32.const 0) + ) + (local.set $9 + (i32.const 4091) + ) + (br $__rjti$8) ) - (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 + (else + (block + (local.set $5 + (local.get $8) + ) + (local.set $8 + (local.get $26) + ) + (loop $while-in123 + (i32.store8 + (local.tee $8 (i32.add - (i32.and - (local.get $5) - (i32.const 15) - ) - (i32.const 4075) + (local.get $8) + (i32.const -1) ) ) - (local.get $9) - ) - ) - (br_if $while-in123 - (i32.eqz - (i32.and - (i32.eqz - (local.tee $5 - (call $_bitshift64Lshr + (i32.or + (i32.load8_u + (i32.add + (i32.and (local.get $5) - (local.get $11) - (i32.const 4) + (i32.const 15) ) + (i32.const 4075) ) ) - (i32.eqz - (local.tee $11 - (global.get $tempRet0) - ) - ) + (local.get $9) ) ) - ) - (local.set $5 - (local.get $8) - ) - ) - (local.set $8 - (if (result i32) - (i32.or + (br_if $while-in123 (i32.eqz (i32.and - (local.get $7) - (i32.const 8) - ) - ) - (i32.and - (i32.eqz - (i32.load + (i32.eqz + (local.tee $5 + (call $_bitshift64Lshr + (local.get $5) + (local.get $11) + (i32.const 4) + ) + ) + ) + (i32.eqz (local.tee $11 - (local.get $19) + (global.get $tempRet0) ) ) ) + ) + ) + (local.set $5 + (local.get $8) + ) + ) + (local.set $8 + (if (result i32) + (i32.or (i32.eqz - (i32.load offset=4 - (local.get $11) + (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) + (then + (block (result i32) + (local.set $9 + (i32.const 4091) + ) + (i32.const 0) + ) ) - (i32.const 0) - ) - (block (result i32) - (local.set $9 - (i32.add - (i32.shr_s - (local.get $18) - (i32.const 4) + (else + (block (result i32) + (local.set $9 + (i32.add + (i32.shr_s + (local.get $18) + (i32.const 4) + ) + (i32.const 4091) + ) ) - (i32.const 4091) + (i32.const 2) ) ) - (i32.const 2) ) ) + (br $__rjti$8) ) - (br $__rjti$8) ) ) ) @@ -13580,11 +14284,13 @@ (local.get $7) (i32.const 0) ) - (block - (local.set $16 - (i32.const -1) + (then + (block + (local.set $16 + (i32.const -1) + ) + (br $label$break$L1) ) - (br $label$break$L1) ) ) (call $_pad @@ -13596,89 +14302,99 @@ ) (if (local.get $5) - (block - (local.set $6 - (i32.const 0) - ) - (local.set $7 - (i32.load - (local.get $19) + (then + (block + (local.set $6 + (i32.const 0) ) - ) - (loop $while-in127 - (if - (i32.eqz - (local.tee $8 - (i32.load - (local.get $7) + (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) + (then + (block + (local.set $7 + (local.get $5) + ) + (br $__rjti$7) + ) ) - (br $__rjti$7) ) - ) - (if - (i32.gt_s - (local.tee $6 - (i32.add - (local.tee $8 - (call $_wctomb - (local.get $36) - (local.get $8) + (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 $6) ) - ) - (local.get $5) - ) - (block - (local.set $7 (local.get $5) ) - (br $__rjti$7) + (then + (block + (local.set $7 + (local.get $5) + ) + (br $__rjti$7) + ) + ) ) - ) - (if - (i32.eqz - (i32.and - (i32.load - (local.get $0) + (if + (i32.eqz + (i32.and + (i32.load + (local.get $0) + ) + (i32.const 32) + ) + ) + (then + (drop + (call $___fwritex + (local.get $36) + (local.get $8) + (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) ) ) - ) - (local.set $7 - (i32.add - (local.get $7) - (i32.const 4) + (br_if $while-in127 + (i32.lt_u + (local.get $6) + (local.get $5) + ) ) - ) - (br_if $while-in127 - (i32.lt_u - (local.get $6) + (local.set $7 (local.get $5) ) ) - (local.set $7 - (local.get $5) - ) ) ) - (local.set $7 - (i32.const 0) + (else + (local.set $7 + (i32.const 0) + ) ) ) ) @@ -13743,38 +14459,42 @@ ) ) ) - (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) + (then + (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.const 1) - ) - (i32.sub - (local.get $39) - (local.get $5) + (i32.sub + (local.get $39) + (local.get $5) + ) ) ) - ) - (i32.gt_s - (local.get $6) - (local.get $5) + (i32.gt_s + (local.get $6) + (local.get $5) + ) ) ) ) - (block (result i32) - (local.set $7 - (local.get $26) + (else + (block (result i32) + (local.set $7 + (local.get $26) + ) + (i32.const 0) ) - (i32.const 0) ) ) ) @@ -13825,11 +14545,13 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $9) - (local.get $8) - (local.get $0) + (then + (drop + (call $___fwritex + (local.get $9) + (local.get $8) + (local.get $0) + ) ) ) ) @@ -13859,11 +14581,13 @@ (i32.const 32) ) ) - (drop - (call $___fwritex - (local.get $7) - (local.get $13) - (local.get $0) + (then + (drop + (call $___fwritex + (local.get $7) + (local.get $13) + (local.get $0) + ) ) ) ) @@ -13892,101 +14616,115 @@ (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) - ) - ) - ) + (then + (if + (local.get $1) + (then + (block + (local.set $0 + (i32.const 1) ) - (block - (call $_pop_arg_336 - (i32.add - (local.get $3) - (i32.shl - (local.get $0) - (i32.const 3) + (loop $while-in130 + (if + (local.tee $1 + (i32.load + (i32.add + (local.get $4) + (i32.shl + (local.get $0) + (i32.const 2) + ) + ) ) ) - (local.get $1) - (local.get $2) - ) - (br_if $while-in130 - (i32.lt_s - (local.tee $0 - (i32.add - (local.get $0) + (then + (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) ) - (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) + (i32.lt_s + (local.get $0) + (i32.const 10) + ) + (then + (loop $while-in132 + (if + (i32.load + (i32.add + (local.get $4) + (i32.shl + (local.get $0) + (i32.const 2) + ) + ) + ) + (then + (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) ) ) ) - (block + (else (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 1) ) - (i32.const 10) ) ) - (local.set $16 - (i32.const 1) - ) ) + ) + (else (local.set $16 - (i32.const 1) + (i32.const 0) ) ) ) - (local.set $16 - (i32.const 0) - ) ) ) ) @@ -14005,27 +14743,56 @@ ;; 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: (then + ;; 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 9) + ;; 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 $3 + ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (local.tee $1 + ;; CHECK-NEXT: (local.tee $3 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.load @@ -14041,19 +14808,32 @@ ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (local.get $1) + ;; 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 $3) + ;; 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 $1 + ;; CHECK-NEXT: (local.set $3 ;; 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 @@ -14069,97 +14849,108 @@ ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (local.get $3) + ;; 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 $1) + ;; CHECK-NEXT: (local.get $3) ;; 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: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $3 + ;; CHECK-NEXT: (local.set $5 ;; 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: (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 3) + ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const -4) ;; 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 4) + ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $5 + ;; CHECK-NEXT: (local.set $3 ;; 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: (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 -8) + ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const -4) ;; 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: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (local.get $5) + ;; 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: (local.get $3) + ;; 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: ) @@ -14187,31 +14978,14 @@ ;; 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: (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.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: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) @@ -14239,14 +15013,31 @@ ;; 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: (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.const 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: ) @@ -14274,45 +15065,28 @@ ;; 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: (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.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: (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.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 3) + ;; CHECK-NEXT: (i32.const 7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const -4) + ;; CHECK-NEXT: (i32.const -8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -14321,19 +15095,12 @@ ;; 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: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 + ;; CHECK-NEXT: (f64.store ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L1) ;; CHECK-NEXT: ) @@ -14363,33 +15130,6 @@ ;; 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: ) @@ -14405,27 +15145,56 @@ (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 + (then + (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 9) + (i32.const 4) ) ) + (i32.store + (local.get $0) + (local.get $3) + ) + (br $label$break$L1) ) - (local.set $3 + (local.set $1 (i32.load - (local.tee $1 + (local.tee $3 (i32.and (i32.add (i32.load @@ -14441,19 +15210,32 @@ (i32.store (local.get $2) (i32.add - (local.get $1) + (local.get $3) (i32.const 4) ) ) (i32.store (local.get $0) - (local.get $3) + (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 $1 + (local.set $3 (i32.load - (local.tee $3 + (local.tee $1 (i32.and (i32.add (i32.load @@ -14469,97 +15251,108 @@ (i32.store (local.get $2) (i32.add - (local.get $3) + (local.get $1) (i32.const 4) ) ) (i32.store (local.get $0) - (local.get $1) + (local.get $3) ) (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) - ) + (i32.const 0) ) (br $label$break$L1) ) - (local.set $3 + (local.set $5 (i32.load - (local.tee $1 - (i32.and - (i32.add - (i32.load - (local.get $2) + (local.tee $3 + (local.tee $1 + (i32.and + (i32.add + (i32.load + (local.get $2) + ) + (i32.const 7) ) - (i32.const 3) + (i32.const -8) ) - (i32.const -4) ) ) ) ) + (local.set $3 + (i32.load offset=4 + (local.get $3) + ) + ) (i32.store (local.get $2) (i32.add (local.get $1) - (i32.const 4) + (i32.const 8) ) ) (i32.store (local.get $0) - (local.get $3) + (local.get $5) ) (i32.store offset=4 (local.get $0) - (i32.const 0) + (local.get $3) ) (br $label$break$L1) ) - (local.set $5 + (local.set $3 (i32.load - (local.tee $3 - (local.tee $1 - (i32.and - (i32.add - (i32.load - (local.get $2) - ) - (i32.const 7) + (local.tee $1 + (i32.and + (i32.add + (i32.load + (local.get $2) ) - (i32.const -8) + (i32.const 3) ) + (i32.const -4) ) ) ) ) - (local.set $3 - (i32.load offset=4 - (local.get $3) - ) - ) (i32.store (local.get $2) (i32.add (local.get $1) - (i32.const 8) + (i32.const 4) ) ) (i32.store (local.get $0) - (local.get $5) + (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) - (local.get $3) + (i32.shr_s + (i32.shl + (i32.lt_s + (local.get $1) + (i32.const 0) + ) + (i32.const 31) + ) + (i32.const 31) + ) ) (br $label$break$L1) ) @@ -14587,31 +15380,14 @@ ) (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.and + (local.get $3) + (i32.const 65535) ) ) (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) - ) + (i32.const 0) ) (br $label$break$L1) ) @@ -14639,14 +15415,31 @@ ) (i32.store (local.get $0) - (i32.and - (local.get $3) - (i32.const 65535) + (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.const 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) ) @@ -14674,45 +15467,28 @@ ) (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.and + (local.get $3) + (i32.const 255) ) ) (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) - ) + (i32.const 0) ) (br $label$break$L1) ) - (local.set $3 - (i32.load + (local.set $4 + (f64.load (local.tee $1 (i32.and (i32.add (i32.load (local.get $2) ) - (i32.const 3) + (i32.const 7) ) - (i32.const -4) + (i32.const -8) ) ) ) @@ -14721,19 +15497,12 @@ (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.const 8) ) ) - (i32.store offset=4 + (f64.store (local.get $0) - (i32.const 0) + (local.get $4) ) (br $label$break$L1) ) @@ -14763,33 +15532,6 @@ (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) ) ) ) @@ -14798,81 +15540,85 @@ ;; CHECK: (func $_fmt_u (param $0 i32) (param $1 i32) (param $2 i32) (result 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: (then + ;; 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: (i32.or - ;; CHECK-NEXT: (call $___uremdi3 + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (call $___udivmoddi4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 48) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (call $___udivmoddi4 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (i32.const 10) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: ) - ;; 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: (global.get $tempRet0) + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.gt_u + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (i32.const 9) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $1 + ;; CHECK-NEXT: (global.get $tempRet0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $while-in) ;; 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: (then + ;; 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: (i32.or - ;; CHECK-NEXT: (i32.rem_u + ;; CHECK-NEXT: (local.set $1 + ;; CHECK-NEXT: (i32.div_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: (if + ;; CHECK-NEXT: (i32.ge_u + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (i32.const 10) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $while-in1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $while-in1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -14898,103 +15644,113 @@ ) ) ) - (loop $while-in - (i32.store8 - (local.tee $2 - (i32.add - (local.get $2) - (i32.const -1) + (then + (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.or + (local.tee $3 + (call $___uremdi3 + (local.get $0) + (local.get $1) + (i32.const 10) + (i32.const 0) + ) ) + (i32.const 48) ) - (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.set $3 + (call $___udivdi3 + (local.get $0) (local.get $1) - (i32.const 9) + (i32.const 10) + (i32.const 0) ) - (i32.and - (i32.eq + ) + (local.set $4 + (global.get $tempRet0) + ) + (if + (i32.or + (i32.gt_u (local.get $1) (i32.const 9) ) - (i32.gt_u - (local.get $0) - (i32.const -1) + (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) + (then + (block + (local.set $0 + (local.get $3) + ) + (local.set $1 + (local.get $4) + ) + (br $while-in) + ) ) - (local.set $1 - (local.get $4) + (else + (local.set $0 + (local.get $3) + ) ) - (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) + (then + (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) ) ) - (i32.or - (call $i32u-rem + (local.set $1 + (call $i32u-div (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) + (if + (i32.ge_u + (local.get $0) + (i32.const 10) + ) + (then + (block + (local.set $0 + (local.get $1) + ) + (br $while-in1) + ) ) - (br $while-in1) ) ) ) @@ -15019,7 +15775,9 @@ ;; CHECK-NEXT: (global.get $STACKTOP) ;; CHECK-NEXT: (global.get $STACK_MAX) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (local.get $7) @@ -15038,7 +15796,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $_memset ;; CHECK-NEXT: (local.get $6) @@ -15075,11 +15833,11 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 255) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (loop $while-in ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $___fwritex ;; CHECK-NEXT: (local.get $6) @@ -15129,9 +15887,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br_if $do-once - ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (br_if $do-once + ;; CHECK-NEXT: (i32.eqz + ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15167,7 +15927,9 @@ (global.get $STACKTOP) (global.get $STACK_MAX) ) - (call $abort) + (then + (call $abort) + ) ) (local.set $6 (local.get $7) @@ -15186,110 +15948,118 @@ ) ) ) - (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) + (then + (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) + (local.set $4 + (i32.eqz + (i32.and + (local.tee $1 + (i32.load + (local.get $0) + ) ) + (i32.const 32) ) - (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) + (if + (i32.gt_u + (local.get $5) + (i32.const 255) + ) + (then + (block + (loop $while-in + (if + (local.get $4) + (then + (block + (drop + (call $___fwritex + (local.get $6) + (i32.const 256) + (local.get $0) + ) + ) + (local.set $1 + (i32.load + (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) ) ) ) - ) - (local.set $4 - (i32.eqz - (i32.and - (local.get $1) - (i32.const 32) + (br_if $do-once + (i32.eqz + (local.get $4) ) ) - ) - (br_if $while-in - (i32.gt_u - (local.tee $5 - (i32.add - (local.get $5) - (i32.const -256) + (local.set $5 + (i32.and + (i32.sub + (local.get $2) + (local.get $3) ) + (i32.const 255) ) - (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) + (else + (br_if $do-once + (i32.eqz + (local.get $4) ) - (i32.const 255) ) ) ) - (br_if $do-once - (i32.eqz - (local.get $4) + (drop + (call $___fwritex + (local.get $6) + (local.get $5) + (local.get $0) ) ) ) - (drop - (call $___fwritex - (local.get $6) - (local.get $5) - (local.get $0) - ) - ) ) ) ) @@ -15323,7 +16093,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 245) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $5 @@ -15358,7 +16128,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $10 ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 @@ -15402,20 +16172,22 @@ ;; 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: (then + ;; 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: (i32.const -1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $10) @@ -15423,7 +16195,9 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq @@ -15437,7 +16211,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $2) @@ -15447,7 +16221,9 @@ ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15494,10 +16270,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $10 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.shr_u @@ -15641,7 +16417,7 @@ ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and @@ -15659,7 +16435,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $9) @@ -15667,7 +16443,9 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq @@ -15681,7 +16459,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $10) @@ -15696,7 +16474,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -15736,7 +16516,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $12 ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 196) @@ -15770,33 +16550,37 @@ ;; 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: (then + ;; 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: (i32.load - ;; CHECK-NEXT: (i32.const 192) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (else + ;; 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: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or @@ -15852,7 +16636,7 @@ ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.shr_u @@ -15977,22 +16761,24 @@ ;; 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: (then + ;; 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: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $10 - ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (then + ;; 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: (br $while-out) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16041,7 +16827,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ge_u @@ -16053,7 +16841,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 ;; CHECK-NEXT: (i32.load offset=24 @@ -16070,7 +16860,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $1 @@ -16084,24 +16874,26 @@ ;; 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: (then + ;; 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: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $9 + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $do-once4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $do-once4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16117,7 +16909,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -16138,7 +16930,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -16154,8 +16946,10 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) @@ -16166,7 +16960,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $7 @@ -16176,7 +16970,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne @@ -16190,7 +16986,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq @@ -16204,7 +17002,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $0) @@ -16217,7 +17015,9 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16225,7 +17025,7 @@ ;; CHECK-NEXT: (block $do-once8 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $5) @@ -16245,7 +17045,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $9) @@ -16254,7 +17054,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.and @@ -16274,7 +17074,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $8) @@ -16282,7 +17082,9 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq @@ -16296,13 +17098,17 @@ ;; 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: (then + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=20 - ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (local.get $8) + ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $do-once8 @@ -16321,7 +17127,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $9) @@ -16333,20 +17141,24 @@ ;; 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 - ;; CHECK-NEXT: (i32.store offset=16 - ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: ) @@ -16357,22 +17169,26 @@ ;; 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 - ;; CHECK-NEXT: (i32.store offset=20 - ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (then + ;; 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: (i32.store offset=24 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: ) @@ -16385,7 +17201,7 @@ ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.or @@ -16416,7 +17232,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.or @@ -16444,7 +17260,7 @@ ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $4 ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 196) @@ -16478,33 +17294,37 @@ ;; 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: (then + ;; 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: (i32.load - ;; CHECK-NEXT: (i32.const 192) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (else + ;; 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: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or @@ -16558,252 +17378,270 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: ) ;; 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 - ;; 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: (else + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.gt_u + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (i32.const -65) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (local.tee $18 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.const 180) + ;; CHECK-NEXT: (else + ;; 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: (block - ;; 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 + ;; CHECK-NEXT: (local.tee $18 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.const 180) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $14 ;; CHECK-NEXT: (if (result i32) - ;; CHECK-NEXT: (i32.gt_u - ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: (i32.const 16777215) + ;; 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: (i32.const 31) - ;; CHECK-NEXT: (i32.or - ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.shr_u + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (i32.gt_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: (i32.const 16777215) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.const 31) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 8) ;; 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: (i32.const 520192) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 16) + ;; CHECK-NEXT: (local.get $3) ;; 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: (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: (i32.const 245760) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 2) + ;; 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: ) - ;; 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: (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: (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: (else + ;; CHECK-NEXT: (i32.const 0) + ;; 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: (local.set $3 + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) ;; 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: (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: ) - ;; CHECK-NEXT: (block - ;; 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: (then + ;; 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 1) + ;; CHECK-NEXT: (i32.const 31) ;; 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: (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: (i32.const -8) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $3) ;; 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 - ;; 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 - ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.eq + ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; 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: (else + ;; 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: ) - ;; 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: (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.eq - ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (local.tee $9 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.add + ;; 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: (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: (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: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16811,134 +17649,148 @@ ;; 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: (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: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (block - ;; 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 - ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (then + ;; 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: (local.set $0 - ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (else + ;; 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: (br $while-in14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; 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: (else + ;; 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: (block - ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.and ;; 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: (local.get $4) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.eqz + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; 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: (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 - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $do-once) ;; 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.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: (i32.const -1) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: (i32.const 16) ;; 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: (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: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 5) + ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 8) + ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $1 ;; CHECK-NEXT: (i32.and @@ -16949,9 +17801,9 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 2) + ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 4) + ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -16966,887 +17818,814 @@ ;; 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: (i32.shr_u + ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.shr_u - ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 2) ;; 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 - ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: (then + ;; 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 $3 - ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $4 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $__rjti$3) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $__rjto$3) ;; 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: (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: (i32.const -8) + ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $1) ;; 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: (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: ) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (local.tee $4 - ;; CHECK-NEXT: (i32.load offset=16 + ;; 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: (block - ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (local.get $4) + ;; 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: (then + ;; CHECK-NEXT: (local.set $3 + ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $while-in16) ;; 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: (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: ) - ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (local.get $0) + ;; 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: ) - ;; 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 + ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u - ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (local.tee $12 + ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.const 192) + ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $2) ;; 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: (then + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (local.tee $12 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.const 192) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) ;; 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: (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: (local.get $4) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; 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.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: (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: (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: (then + ;; 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: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $11 - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (then + ;; 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: (then + ;; 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: (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: (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: (then + ;; 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: (then + ;; 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: (block - ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.lt_u + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (local.get $10) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: (br $while-in20) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (local.tee $7 - ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $10 - ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (i32.const 16) + ;; CHECK-NEXT: (i32.load offset=8 + ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $12) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (local.get $7) + ;; 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: (local.set $0 - ;; CHECK-NEXT: (local.get $10) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) ;; 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 - ;; 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 - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.lt_u - ;; CHECK-NEXT: (local.tee $10 - ;; CHECK-NEXT: (i32.load offset=8 + ;; 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: ) - ;; 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: (then + ;; 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: (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.set $11 ;; 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 - ;; 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: (else + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; 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 + ;; CHECK-NEXT: (block $do-once21 ;; 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: (local.get $9) + ;; CHECK-NEXT: (then + ;; 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: (i32.const 2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 480) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; 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 + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.const 180) - ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (i32.load + ;; 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: (then + ;; 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: (i32.xor - ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (br $do-once21) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; 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: (i32.const -1) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (local.get $11) + ;; CHECK-NEXT: ) + ;; 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: (br $do-once21) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u - ;; CHECK-NEXT: (local.get $9) - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.const 192) + ;; 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: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; 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: (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: (local.tee $1 + ;; CHECK-NEXT: (i32.load offset=16 + ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.lt_u + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: (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: (if + ;; CHECK-NEXT: (local.tee $0 + ;; CHECK-NEXT: (i32.load offset=20 + ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; 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: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: ) + ;; CHECK-NEXT: (block $do-once25 ;; 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: (local.get $3) + ;; CHECK-NEXT: (i32.const 16) ;; 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: (then + ;; 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: ) - ;; 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 - ;; CHECK-NEXT: (i32.store offset=16 - ;; CHECK-NEXT: (local.get $11) - ;; CHECK-NEXT: (local.get $1) + ;; 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.store offset=24 - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (local.get $11) + ;; 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: (if - ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.load offset=20 + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.store offset=4 ;; 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 - ;; 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: (i32.or + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (i32.const 3) ;; 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 - ;; 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: (i32.store offset=4 + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (local.get $3) - ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (i32.const 1) ;; 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.store ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (local.get $3) ;; 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: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; 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 - ;; 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: (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.and - ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.const 176) + ;; CHECK-NEXT: (i32.lt_u + ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (i32.const 256) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; 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: (local.tee $0 - ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: (local.get $0) + ;; 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: ) - ;; 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: (then + ;; 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: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: ) - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.const 192) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $13 - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (else + ;; 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: ) - ;; CHECK-NEXT: (block ;; 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: (local.get $13) + ;; CHECK-NEXT: (local.get $6) ;; 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: (i32.store offset=12 + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $5 + ;; 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: (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: (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.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: (i32.const 8) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (i32.gt_u + ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (i32.const 16777215) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.const 31) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: (i32.const 1048320) + ;; 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: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 8) + ;; 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: (i32.const 520192) + ;; 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: (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: (i32.shl + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 16) + ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 7) ;; 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: (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: (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: (else + ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 480) ;; 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: (i32.store offset=28 ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (i32.const 16) + ;; CHECK-NEXT: (local.get $7) ;; 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: (i32.store offset=4 ;; CHECK-NEXT: (local.tee $0 - ;; CHECK-NEXT: (i32.shl - ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; 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: (i32.const 0) ;; 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: (local.get $0) ;; 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: (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: (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: (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: (block - ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; 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: (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 ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (local.get $7) + ;; 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 $0) + ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $6) @@ -17859,79 +18638,194 @@ ;; 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: (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: ) - ;; CHECK-NEXT: (local.tee $1 - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.const 192) + ;; CHECK-NEXT: (i32.eq + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (i32.const 31) ;; 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 - ;; 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.set $0 + ;; CHECK-NEXT: (i32.load ;; 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: (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: (then + ;; 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: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: (i32.store offset=24 - ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (i32.const 0) + ;; 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: (then + ;; 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: (else + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) ;; 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: ) - ;; CHECK-NEXT: (return - ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (i32.const 8) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else ;; 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: ) @@ -17946,7 +18840,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 196) @@ -17962,7 +18856,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: (local.tee $1 @@ -17998,7 +18892,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (i32.const 0) @@ -18057,54 +18951,58 @@ ;; 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: (then + ;; 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: (i32.const -1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block - ;; 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: (then + ;; CHECK-NEXT: (call $_abort) ;; 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: (else + ;; 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 -16) + ;; CHECK-NEXT: (i32.const 1431655768) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 1431655768) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18139,8 +19037,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (return - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (return + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if @@ -18149,29 +19049,33 @@ ;; 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: (then + ;; 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: (local.get $5) ;; 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: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.gt_u - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (return + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (return - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $11 @@ -18191,7 +19095,7 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (block $label$break$L279 ;; CHECK-NEXT: (block $__rjti$5 ;; CHECK-NEXT: (block $__rjti$4 @@ -18218,26 +19122,28 @@ ;; 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: (then + ;; 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: (local.get $4) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $4 + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $while-out33) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $while-out33) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18266,33 +19172,37 @@ ;; 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: (then + ;; 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.load - ;; CHECK-NEXT: (local.get $2) + ;; 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: ) - ;; CHECK-NEXT: (br_if $__rjti$13 - ;; CHECK-NEXT: (i32.ne - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (i32.const -1) + ;; CHECK-NEXT: (then + ;; 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: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $2 + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $__rjti$5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $__rjti$5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18307,7 +19217,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.and @@ -18325,23 +19235,27 @@ ;; 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: (then + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (i32.sub + ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (local.get $4) + ;; 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: ) - ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $9 @@ -18365,22 +19279,24 @@ ;; CHECK-NEXT: (i32.const 2147483647) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; 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: (then + ;; 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: ) @@ -18428,65 +19344,75 @@ ;; 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: (then + ;; 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: ) - ;; CHECK-NEXT: (i32.sub - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (local.get $3) + ;; 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: (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 - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (call $_sbrk - ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: (then + ;; 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: (then + ;; 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: (else + ;; 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: ) - ;; CHECK-NEXT: (br $label$break$L279) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else ;; 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 + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -18510,42 +19436,46 @@ ;; 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: (then + ;; 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: ) - ;; CHECK-NEXT: (local.tee $3 - ;; CHECK-NEXT: (call $_sbrk - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (local.tee $3 + ;; CHECK-NEXT: (call $_sbrk + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; 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: (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: (i32.add - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (i32.const 40) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; 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: ) @@ -18571,9 +19501,11 @@ ;; 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: (then + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.const 612) + ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $do-once40 @@ -18583,7 +19515,7 @@ ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (i32.const 624) ;; CHECK-NEXT: ) @@ -18631,91 +19563,93 @@ ;; 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 - ;; 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: (then + ;; 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: ) - ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (i32.ge_u ;; 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: (local.get $11) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; 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: (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: (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: ) - ;; 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: (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: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=4 - ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (i32.or + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) ;; 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: (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: (br $do-once40) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -18729,7 +19663,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: (local.get $1) @@ -18758,7 +19692,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -18785,10 +19719,12 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (i32.const 624) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $4 + ;; CHECK-NEXT: (i32.const 624) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $1) @@ -18881,7 +19817,7 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: (local.tee $0 @@ -18905,7 +19841,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $5) @@ -18913,7 +19849,7 @@ ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.tee $0 @@ -18962,7 +19898,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $11 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $0) @@ -18981,7 +19917,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $5) @@ -19005,13 +19941,15 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; 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: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $do-once51 ;; CHECK-NEXT: (i32.eq @@ -19030,7 +19968,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and @@ -19055,19 +19993,23 @@ ;; 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: (then + ;; 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: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; 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: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq @@ -19081,7 +20023,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $15 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -19101,7 +20043,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (i32.load offset=24 ;; CHECK-NEXT: (local.get $5) @@ -19117,7 +20059,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $1 @@ -19136,20 +20078,24 @@ ;; 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: (then + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (local.tee $1 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (local.get $3) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $12 - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $12 + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $do-once55) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $do-once55) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19165,7 +20111,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) @@ -19186,7 +20132,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) @@ -19202,8 +20148,10 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) @@ -19214,7 +20162,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $2 @@ -19224,7 +20172,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne @@ -19238,7 +20188,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq @@ -19252,7 +20204,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $0) @@ -19265,7 +20217,9 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19295,7 +20249,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $12) @@ -19320,7 +20274,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L331) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $6) @@ -19328,7 +20282,9 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq @@ -19342,13 +20298,17 @@ ;; 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: (then + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $12) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=20 - ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (local.get $12) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (local.get $12) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $label$break$L331 @@ -19368,7 +20328,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $12) @@ -19385,20 +20347,24 @@ ;; 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 - ;; CHECK-NEXT: (i32.store offset=16 - ;; CHECK-NEXT: (local.get $12) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 - ;; CHECK-NEXT: (local.get $3) - ;; CHECK-NEXT: (local.get $12) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: ) @@ -19419,8 +20385,10 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (local.get $0) @@ -19445,7 +20413,9 @@ ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 4) @@ -19483,7 +20453,7 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl @@ -19508,7 +20478,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $0 @@ -19525,7 +20495,7 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $16 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -19537,7 +20507,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or @@ -19588,7 +20558,7 @@ ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (br_if $do-once65 ;; CHECK-NEXT: (i32.const 31) @@ -19678,7 +20648,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19720,7 +20692,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.or @@ -19811,7 +20783,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) @@ -19829,8 +20801,10 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $8) @@ -19876,7 +20850,7 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $8) @@ -19898,7 +20872,9 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -19924,17 +20900,19 @@ ;; 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: (then + ;; 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: (local.get $6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -20136,7 +21114,7 @@ ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.and @@ -20173,7 +21151,7 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl @@ -20197,33 +21175,37 @@ ;; 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: (then + ;; 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: (i32.load - ;; CHECK-NEXT: (i32.const 192) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $17 - ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (else + ;; 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: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or @@ -20272,93 +21254,101 @@ ;; 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: (then + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (i32.gt_u + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (i32.const 16777215) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.const 31) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.or + ;; CHECK-NEXT: (i32.and + ;; CHECK-NEXT: (i32.shr_u + ;; CHECK-NEXT: (local.get $5) ;; 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: (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: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 520192) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 520192) + ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 4) + ;; CHECK-NEXT: (local.get $2) ;; 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: (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 245760) + ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 2) ;; 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.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: (i32.const 7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 7) + ;; 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: (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: (else + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 2) @@ -20394,7 +21384,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.or @@ -20485,7 +21475,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -20503,8 +21493,10 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $6) @@ -20550,7 +21542,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $6) @@ -20572,13 +21564,15 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.eqz @@ -20593,9 +21587,11 @@ ;; 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: (then + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.const 192) + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.store @@ -20802,198 +21798,220 @@ (local.get $0) (i32.const 245) ) - (block - (if - (i32.and - (local.tee $5 - (i32.shr_u - (local.tee $11 - (i32.load - (i32.const 176) + (then + (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.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 -8) - ) - (i32.lt_u - (local.get $0) - (i32.const 11) ) ) + (i32.const 3) ) - (i32.const 3) ) ) ) + (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 + (then + (block + (local.set $10 + (i32.load + (local.tee $1 + (i32.add + (local.tee $7 + (i32.load + (local.tee $3 (i32.add - (i32.shl - (local.tee $4 - (i32.add - (i32.xor - (i32.and - (local.get $5) - (i32.const 1) + (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 1) ) - (local.get $13) + (i32.const 3) ) + (i32.const 216) ) - (i32.const 3) ) - (i32.const 216) + (i32.const 8) ) ) - (i32.const 8) ) ) + (i32.const 8) ) ) - (i32.const 8) - ) - ) - ) - ) - (if - (i32.eq - (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 + (i32.eq + (local.get $2) (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) + (then + (i32.store + (i32.const 176) + (i32.and + (local.get $11) + (i32.xor + (i32.shl + (i32.const 1) + (local.get $4) + ) + (i32.const -1) ) ) ) - (local.get $7) ) - (block - (i32.store - (local.get $0) - (local.get $2) - ) - (i32.store - (local.get $3) - (local.get $10) + (else + (block + (if + (i32.lt_u + (local.get $10) + (i32.load + (i32.const 192) + ) + ) + (then + (call $_abort) + ) + ) + (if + (i32.eq + (i32.load + (local.tee $0 + (i32.add + (local.get $10) + (i32.const 12) + ) + ) + ) + (local.get $7) + ) + (then + (block + (i32.store + (local.get $0) + (local.get $2) + ) + (i32.store + (local.get $3) + (local.get $10) + ) + ) + ) + (else + (call $_abort) + ) + ) ) ) - (call $_abort) ) - ) - ) - (i32.store offset=4 - (local.get $7) - (i32.or - (local.tee $0 - (i32.shl - (local.get $4) + (i32.store offset=4 + (local.get $7) + (i32.or + (local.tee $0 + (i32.shl + (local.get $4) + (i32.const 3) + ) + ) (i32.const 3) ) ) - (i32.const 3) - ) - ) - (i32.store - (local.tee $0 - (i32.add - (i32.add - (local.get $7) - (local.get $0) + (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) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (local.get $0) + (return + (local.get $1) ) - (i32.const 1) ) ) - (return - (local.get $1) - ) ) - ) - (if - (i32.gt_u - (local.get $4) - (local.tee $0 - (i32.load - (i32.const 184) + (if + (i32.gt_u + (local.get $4) + (local.tee $0 + (i32.load + (i32.const 184) + ) ) ) - ) - (block - (if - (local.get $5) + (then (block - (local.set $10 - (i32.and - (i32.shr_u - (local.tee $3 - (i32.add - (i32.and + (if + (local.get $5) + (then + (block + (local.set $10 + (i32.and + (i32.shr_u (local.tee $3 - (i32.and - (i32.shl - (local.get $5) - (local.get $13) - ) - (i32.or + (i32.add + (i32.and (local.tee $3 - (i32.shl - (i32.const 2) - (local.get $13) + (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 @@ -21001,2416 +22019,2652 @@ (local.get $3) ) ) + (i32.const -1) ) ) - (i32.sub - (i32.const 0) - (local.get $3) - ) + (i32.const 12) ) - (i32.const -1) + (i32.const 16) ) ) - (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 + (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.or - (i32.or - (i32.or + (i32.shl + (local.tee $5 + (i32.add (i32.or - (local.tee $3 - (i32.and - (i32.shr_u - (local.tee $7 + (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.get $3) - (local.get $10) + (local.tee $7 + (i32.shr_u + (local.get $7) + (local.get $3) + ) + ) + (i32.const 2) ) + (i32.const 4) ) - (i32.const 5) ) - (i32.const 8) ) - ) - (local.get $10) - ) - (local.tee $3 - (i32.and - (i32.shr_u - (local.tee $7 + (local.tee $3 + (i32.and (i32.shr_u - (local.get $7) - (local.get $3) + (local.tee $7 + (i32.shr_u + (local.get $7) + (local.get $3) + ) + ) + (i32.const 1) ) + (i32.const 2) ) - (i32.const 2) ) - (i32.const 4) ) - ) - ) - (local.tee $3 - (i32.and - (i32.shr_u - (local.tee $7 + (local.tee $3 + (i32.and (i32.shr_u - (local.get $7) - (local.get $3) + (local.tee $7 + (i32.shr_u + (local.get $7) + (local.get $3) + ) + ) + (i32.const 1) ) + (i32.const 1) ) - (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) + (local.get $7) + (local.get $3) ) - (i32.const 1) ) ) + (i32.const 3) ) - (i32.shr_u - (local.get $7) - (local.get $3) - ) + (i32.const 216) ) ) - (i32.const 3) + (i32.const 8) ) - (i32.const 216) ) ) - (i32.const 8) ) + (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) + (if + (i32.eq (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) + (then + (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) ) - ) - (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) + (else + (block + (if + (i32.lt_u + (local.get $9) + (i32.load + (i32.const 192) ) ) + (then + (call $_abort) + ) + ) + (if + (i32.eq + (i32.load + (local.tee $0 + (i32.add + (local.get $9) + (i32.const 12) + ) + ) + ) + (local.get $12) + ) + (then + (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) + ) + ) + ) + ) + (else + (call $_abort) + ) ) - ) - (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) - ) + (i32.store offset=4 + (local.get $12) + (i32.or + (local.get $4) + (i32.const 3) ) - (local.set $2 + ) + (i32.store offset=4 + (local.tee $10 (i32.add + (local.get $12) (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.or + (local.tee $5 (i32.sub - (i32.const 0) - (local.get $0) + (i32.shl + (local.get $5) + (i32.const 3) + ) + (local.get $4) ) ) - (i32.const -1) + (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.store + (i32.add + (local.get $10) + (local.get $5) + ) + (local.get $5) + ) + (if + (local.get $8) + (then + (block + (local.set $12 + (i32.load + (i32.const 196) + ) + ) + (local.set $4 (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) - ) - ) + (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) + ) + ) + ) + (then + (if + (i32.lt_u (local.tee $0 - (i32.and - (i32.shr_u - (local.tee $1 - (i32.shr_u - (local.get $1) - (local.get $0) - ) + (i32.load + (local.tee $3 + (i32.add + (local.get $4) + (i32.const 8) ) - (i32.const 1) ) - (i32.const 2) ) ) + (i32.load + (i32.const 192) + ) ) - (local.tee $0 - (i32.and - (i32.shr_u - (local.tee $1 - (i32.shr_u - (local.get $1) - (local.get $0) - ) - ) - (i32.const 1) + (then + (call $_abort) + ) + (else + (block + (local.set $2 + (local.get $3) + ) + (local.set $1 + (local.get $0) ) - (i32.const 1) ) ) ) - (i32.shr_u - (local.get $1) - (local.get $0) + ) + (else + (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.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 + (i32.store + (local.get $2) + (local.get $12) + ) + (i32.store offset=12 (local.get $1) + (local.get $12) ) - ) - ) - (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) + (i32.store offset=8 + (local.get $12) + (local.get $1) + ) + (i32.store offset=12 + (local.get $12) + (local.get $4) ) - (local.get $4) ) ) - (local.get $7) ) - ) - (local.set $7 - (select - (local.get $1) - (local.get $7) - (local.get $10) + (i32.store + (i32.const 184) + (local.get $5) ) - ) - (local.set $1 - (local.get $0) - ) - (local.set $2 - (select - (local.get $0) - (local.get $2) + (i32.store + (i32.const 196) (local.get $10) ) - ) - (br $while-in) - ) - ) - (if - (i32.lt_u - (local.get $5) - (local.tee $12 - (i32.load - (i32.const 192) + (return + (local.get $7) ) ) ) - (call $_abort) ) (if - (i32.ge_u - (local.get $5) - (local.tee $11 - (i32.add - (local.get $5) - (local.get $4) - ) + (local.tee $0 + (i32.load + (i32.const 180) ) ) - (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) - ) + (then (block - (if - (i32.eqz - (local.tee $1 - (i32.load - (local.tee $0 - (i32.add - (local.get $5) - (i32.const 20) + (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) ) - (if - (i32.eqz - (local.tee $1 - (i32.load - (local.tee $0 - (i32.add - (local.get $5) - (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) ) - (block - (local.set $9 - (i32.const 0) - ) - (br $do-once4) - ) + (local.get $4) ) ) - (loop $while-in7 - (if - (local.tee $2 - (i32.load - (local.tee $7 - (i32.add + (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) - (i32.const 20) ) ) ) - ) - (block - (local.set $1 - (local.get $2) - ) - (local.set $0 - (local.get $7) + (then + (if + (i32.eqz + (local.tee $0 + (i32.load offset=20 + (local.get $1) + ) + ) + ) + (then + (block + (local.set $10 + (local.get $7) + ) + (local.set $5 + (local.get $2) + ) + (br $while-out) + ) + ) + ) ) - (br $while-in7) ) - ) - (if - (local.tee $2 - (i32.load - (local.tee $7 - (i32.add - (local.get $1) - (i32.const 16) + (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) ) ) - (block - (local.set $1 - (local.get $2) - ) - (local.set $0 + (local.set $7 + (select + (local.get $1) (local.get $7) + (local.get $10) ) - (br $while-in7) ) - ) - ) - (if - (i32.lt_u - (local.get $0) - (local.get $12) - ) - (call $_abort) - (block - (i32.store + (local.set $1 (local.get $0) - (i32.const 0) ) - (local.set $9 - (local.get $1) + (local.set $2 + (select + (local.get $0) + (local.get $2) + (local.get $10) + ) ) + (br $while-in) ) ) - ) - (block (if (i32.lt_u - (local.tee $7 - (i32.load offset=8 - (local.get $5) + (local.get $5) + (local.tee $12 + (i32.load + (i32.const 192) ) ) - (local.get $12) ) - (call $_abort) - ) - (if - (i32.ne - (i32.load - (local.tee $2 - (i32.add - (local.get $7) - (i32.const 12) - ) - ) - ) - (local.get $5) + (then + (call $_abort) ) - (call $_abort) ) (if - (i32.eq - (i32.load - (local.tee $1 - (i32.add - (local.get $0) - (i32.const 8) - ) + (i32.ge_u + (local.get $5) + (local.tee $11 + (i32.add + (local.get $5) + (local.get $4) ) ) - (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) - ) + (then + (call $_abort) ) - (call $_abort) ) - ) - ) - ) - (block $do-once8 - (if - (local.get $8) - (block - (if - (i32.eq + (local.set $8 + (i32.load offset=24 (local.get $5) - (i32.load + ) + ) + (block $do-once4 + (if + (i32.eq (local.tee $0 - (i32.add - (i32.shl + (i32.load offset=12 + (local.get $5) + ) + ) + (local.get $5) + ) + (then + (block + (if + (i32.eqz (local.tee $1 - (i32.load offset=28 - (local.get $5) + (i32.load + (local.tee $0 + (i32.add + (local.get $5) + (i32.const 20) + ) + ) + ) + ) + ) + (then + (if + (i32.eqz + (local.tee $1 + (i32.load + (local.tee $0 + (i32.add + (local.get $5) + (i32.const 16) + ) + ) + ) + ) + ) + (then + (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) + ) + ) + ) + ) + (then + (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) + ) + ) + ) + ) + (then + (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) + ) + (then + (call $_abort) + ) + (else + (block + (i32.store + (local.get $0) + (i32.const 0) + ) + (local.set $9 + (local.get $1) ) ) - (i32.const 2) ) - (i32.const 480) ) ) ) - ) - (block - (i32.store - (local.get $0) - (local.get $9) - ) - (if - (i32.eqz - (local.get $9) - ) + (else (block - (i32.store - (i32.const 180) - (i32.and + (if + (i32.lt_u + (local.tee $7 + (i32.load offset=8 + (local.get $5) + ) + ) + (local.get $12) + ) + (then + (call $_abort) + ) + ) + (if + (i32.ne (i32.load - (i32.const 180) + (local.tee $2 + (i32.add + (local.get $7) + (i32.const 12) + ) + ) ) - (i32.xor - (i32.shl - (i32.const 1) + (local.get $5) + ) + (then + (call $_abort) + ) + ) + (if + (i32.eq + (i32.load + (local.tee $1 + (i32.add + (local.get $0) + (i32.const 8) + ) + ) + ) + (local.get $5) + ) + (then + (block + (i32.store + (local.get $2) + (local.get $0) + ) + (i32.store (local.get $1) + (local.get $7) + ) + (local.set $9 + (local.get $0) ) - (i32.const -1) ) ) + (else + (call $_abort) + ) ) - (br $do-once8) ) ) ) - (block - (if - (i32.lt_u - (local.get $8) - (i32.load - (i32.const 192) + ) + (block $do-once8 + (if + (local.get $8) + (then + (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) + ) + ) + ) + ) + (then + (block + (i32.store + (local.get $0) + (local.get $9) + ) + (if + (i32.eqz + (local.get $9) + ) + (then + (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) + ) + ) + ) + ) + ) + (else + (block + (if + (i32.lt_u + (local.get $8) + (i32.load + (i32.const 192) + ) + ) + (then + (call $_abort) + ) + ) + (if + (i32.eq + (i32.load + (local.tee $0 + (i32.add + (local.get $8) + (i32.const 16) + ) + ) + ) + (local.get $5) + ) + (then + (i32.store + (local.get $0) + (local.get $9) + ) + ) + (else + (i32.store offset=20 + (local.get $8) + (local.get $9) + ) + ) + ) + (br_if $do-once8 + (i32.eqz + (local.get $9) + ) + ) + ) + ) ) - ) - (call $_abort) - ) - (if - (i32.eq - (i32.load + (if + (i32.lt_u + (local.get $9) + (local.tee $0 + (i32.load + (i32.const 192) + ) + ) + ) + (then + (call $_abort) + ) + ) + (i32.store offset=24 + (local.get $9) + (local.get $8) + ) + (if + (local.tee $1 + (i32.load offset=16 + (local.get $5) + ) + ) + (then + (if + (i32.lt_u + (local.get $1) + (local.get $0) + ) + (then + (call $_abort) + ) + (else + (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.add - (local.get $8) - (i32.const 16) + (i32.load offset=20 + (local.get $5) + ) + ) + (then + (if + (i32.lt_u + (local.get $0) + (i32.load + (i32.const 192) + ) + ) + (then + (call $_abort) + ) + (else + (block + (i32.store offset=20 + (local.get $9) + (local.get $0) + ) + (i32.store offset=24 + (local.get $0) + (local.get $9) + ) + ) + ) ) ) ) - (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) - ) + (local.get $10) + (i32.const 16) ) - (if - (i32.lt_u - (local.get $0) - (i32.load - (i32.const 192) - ) - ) - (call $_abort) + (then (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 $5) + (i32.or + (local.tee $0 + (i32.add + (local.get $10) + (local.get $4) + ) + ) + (i32.const 3) + ) ) - ) - ) - ) - ) - ) - ) - (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 + (i32.store (local.tee $0 - (i32.shr_u + (i32.add + (i32.add + (local.get $5) + (local.get $0) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.load (local.get $0) - (i32.const 3) ) + (i32.const 1) ) - (i32.const 3) ) - (i32.const 216) ) ) - (if - (i32.and - (local.tee $1 - (i32.load - (i32.const 176) + (else + (block + (i32.store offset=4 + (local.get $5) + (i32.or + (local.get $4) + (i32.const 3) ) ) - (local.tee $0 - (i32.shl + (i32.store offset=4 + (local.get $11) + (i32.or + (local.get $10) (i32.const 1) - (local.get $0) ) ) - ) - (if - (i32.lt_u + (i32.store + (i32.add + (local.get $11) + (local.get $10) + ) + (local.get $10) + ) + (if (local.tee $0 (i32.load - (local.tee $1 + (i32.const 184) + ) + ) + (then + (block + (local.set $4 + (i32.load + (i32.const 196) + ) + ) + (local.set $2 (i32.add - (local.get $2) - (i32.const 8) + (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) + ) + ) + ) + (then + (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) + ) + ) + (then + (call $_abort) + ) + (else + (block + (local.set $6 + (local.get $1) + ) + (local.set $3 + (local.get $0) + ) + ) + ) + ) + ) + (else + (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.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) - ) + (i32.const 184) + (local.get $10) ) - (local.set $3 - (local.get $2) + (i32.store + (i32.const 196) + (local.get $11) ) ) ) - (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) + ) + (return + (i32.add + (local.get $5) + (i32.const 8) ) ) ) - (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) + (else + (local.set $0 + (local.get $4) + ) ) ) ) + ) + (else (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) - ) + (else + (if + (i32.gt_u + (local.get $0) + (i32.const -65) ) - (if - (local.tee $18 - (i32.load - (i32.const 180) - ) + (then + (local.set $0 + (i32.const -1) ) + ) + (else (block - (local.set $14 - (if (result i32) + (local.set $2 + (i32.and (local.tee $0 - (i32.shr_u + (i32.add (local.get $0) - (i32.const 8) + (i32.const 11) ) ) - (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 + (i32.const -8) + ) + ) + (if + (local.tee $18 + (i32.load + (i32.const 180) + ) + ) + (then + (block + (local.set $14 + (if (result i32) + (local.tee $0 + (i32.shr_u + (local.get $0) + (i32.const 8) + ) + ) + (then + (if (result i32) + (i32.gt_u + (local.get $2) + (i32.const 16777215) + ) + (then + (i32.const 31) + ) + (else + (i32.or + (i32.and + (i32.shr_u + (local.get $2) + (i32.add (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 + (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 1048320) ) - (i32.const 16) ) - (i32.const 8) + (i32.const 245760) ) + (i32.const 16) ) + (i32.const 2) ) ) - (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.shr_u + (i32.shl + (local.get $1) + (local.get $0) ) - (i32.const 245760) + (i32.const 15) ) - (i32.const 16) ) - (i32.const 2) ) + (i32.const 7) ) ) + (i32.const 1) ) - (i32.shr_u - (i32.shl - (local.get $1) - (local.get $0) - ) - (i32.const 15) + (i32.shl + (local.get $0) + (i32.const 1) ) ) ) - (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) + (else + (i32.const 0) ) ) ) - (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 + (local.set $3 + (i32.sub (i32.const 0) + (local.get $2) ) - (loop $while-in14 + ) + (block $__rjto$3 + (block $__rjti$3 (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.tee $0 + (i32.load offset=480 + (i32.shl + (local.get $14) + (i32.const 2) ) ) - (local.get $3) ) - (if - (i32.eq - (local.get $9) - (local.get $2) - ) + (then (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) + (local.set $6 + (i32.const 0) ) - (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 $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 $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) + (local.set $1 + (i32.const 0) ) - ) - (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) - ) + (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 5) + (i32.const -8) ) - (i32.const 8) ) + (local.get $2) ) - (local.get $9) ) - (local.tee $1 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.shr_u - (local.get $4) - (local.get $1) - ) + (local.get $3) + ) + (then + (if + (i32.eq + (local.get $9) + (local.get $2) + ) + (then + (block + (local.set $1 + (local.get $4) ) - (i32.const 2) + (local.set $3 + (local.get $0) + ) + (br $__rjti$3) ) - (i32.const 4) ) - ) - ) - (local.tee $1 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.shr_u + (else + (block + (local.set $3 (local.get $4) - (local.get $1) + ) + (local.set $1 + (local.get $0) ) ) - (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) - ) + (local.set $0 + (select + (local.get $6) + (local.tee $4 + (i32.load offset=20 + (local.get $0) ) - (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) + (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) + ) + ) + ) + ) + ) ) ) ) - ) - ) - (if - (i32.eqz - (local.tee $1 - (i32.load - (local.tee $0 - (i32.add - (local.get $4) - (i32.const 16) + (local.set $4 + (i32.shl + (local.get $8) + (i32.xor + (local.tee $6 + (i32.eqz + (local.get $9) + ) ) + (i32.const 1) ) ) ) - ) - (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) + (if + (local.get $6) + (then + (block + (local.set $4 + (local.get $0) + ) + (local.set $0 + (local.get $1) + ) ) ) - ) - ) - (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) + (else + (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 $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) + (else (block - (i32.store - (local.get $0) + (local.set $4 (i32.const 0) ) - (local.set $11 - (local.get $1) + (local.set $0 + (i32.const 0) ) ) ) ) - (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) - ) - ) - ) + (if + (i32.and + (i32.eqz (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) - ) + (i32.eqz + (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) - ) - ) - ) - ) + (then (block - (i32.store - (local.get $0) - (local.get $11) - ) (if (i32.eqz - (local.get $11) - ) - (block - (i32.store - (i32.const 180) + (local.tee $1 (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) + (local.get $18) + (i32.or + (local.tee $1 + (i32.shl + (i32.const 2) + (local.get $14) + ) + ) + (i32.sub + (i32.const 0) (local.get $1) ) - (i32.const -1) ) ) ) - (br $do-once21) ) - ) - ) - (block - (if - (i32.lt_u - (local.get $9) - (i32.load - (i32.const 192) + (then + (block + (local.set $0 + (local.get $2) + ) + (br $do-once) ) ) - (call $_abort) ) - (if - (i32.eq - (i32.load - (local.tee $0 + (local.set $9 + (i32.and + (i32.shr_u + (local.tee $1 (i32.add - (local.get $9) - (i32.const 16) + (i32.and + (local.get $1) + (i32.sub + (i32.const 0) + (local.get $1) + ) + ) + (i32.const -1) ) ) + (i32.const 12) ) - (local.get $4) - ) - (i32.store - (local.get $0) - (local.get $11) - ) - (i32.store offset=20 - (local.get $9) - (local.get $11) + (i32.const 16) ) ) - (br_if $do-once21 - (i32.eqz - (local.get $11) + (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 - (i32.lt_u - (local.get $11) - (local.tee $0 - (i32.load - (i32.const 192) - ) + ) + (if + (local.get $4) + (then + (block + (local.set $1 + (local.get $3) ) - ) - (call $_abort) - ) - (i32.store offset=24 - (local.get $11) - (local.get $9) - ) - (if - (local.tee $1 - (i32.load offset=16 + (local.set $3 (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) - ) - ) + (br $__rjti$3) ) ) - (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) - ) - ) + (else + (local.set $4 + (local.get $0) ) ) ) + (br $__rjto$3) ) - ) - (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) + (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) ) - (i32.const 4) + (local.get $2) ) ) - (i32.or - (i32.load - (local.get $0) - ) - (i32.const 1) - ) + (local.get $1) ) ) - (block - (i32.store offset=4 + (local.set $1 + (select (local.get $4) - (i32.or - (local.get $2) - (i32.const 3) - ) + (local.get $1) + (local.get $9) ) - (i32.store offset=4 - (local.get $6) - (i32.or + ) + (local.set $0 + (select + (local.get $3) + (local.get $0) + (local.get $9) + ) + ) + (if + (local.tee $4 + (i32.load offset=16 (local.get $3) - (i32.const 1) ) ) - (i32.store - (i32.add - (local.get $6) - (local.get $3) + (then + (block + (local.set $3 + (local.get $4) + ) + (br $while-in16) ) - (local.get $3) ) - (local.set $0 - (i32.shr_u + ) + (br_if $while-in16 + (local.tee $3 + (i32.load offset=20 (local.get $3) - (i32.const 3) ) ) - (if - (i32.lt_u - (local.get $3) - (i32.const 256) + ) + (local.set $3 + (local.get $1) + ) + (local.set $4 + (local.get $0) + ) + ) + ) + (if + (local.get $4) + (then + (if + (i32.lt_u + (local.get $3) + (i32.sub + (i32.load + (i32.const 184) + ) + (local.get $2) ) + ) + (then (block - (local.set $3 - (i32.add - (i32.shl - (local.get $0) - (i32.const 3) - ) - (i32.const 216) - ) - ) (if - (i32.and - (local.tee $1 + (i32.lt_u + (local.get $4) + (local.tee $12 (i32.load - (i32.const 176) + (i32.const 192) ) ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $0) + ) + (then + (call $_abort) + ) + ) + (if + (i32.ge_u + (local.get $4) + (local.tee $6 + (i32.add + (local.get $4) + (local.get $2) ) ) ) + (then + (call $_abort) + ) + ) + (local.set $9 + (i32.load offset=24 + (local.get $4) + ) + ) + (block $do-once17 (if - (i32.lt_u + (i32.eq (local.tee $0 - (i32.load - (local.tee $1 - (i32.add - (local.get $3) - (i32.const 8) + (i32.load offset=12 + (local.get $4) + ) + ) + (local.get $4) + ) + (then + (block + (if + (i32.eqz + (local.tee $1 + (i32.load + (local.tee $0 + (i32.add + (local.get $4) + (i32.const 20) + ) + ) + ) + ) + ) + (then + (if + (i32.eqz + (local.tee $1 + (i32.load + (local.tee $0 + (i32.add + (local.get $4) + (i32.const 16) + ) + ) + ) + ) + ) + (then + (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) + ) + ) + ) + ) + (then + (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) + ) + ) + ) + ) + (then + (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) + ) + (then + (call $_abort) + ) + (else + (block + (i32.store + (local.get $0) + (i32.const 0) + ) + (local.set $11 + (local.get $1) + ) ) ) ) - ) - (i32.load - (i32.const 192) ) ) - (call $_abort) - (block - (local.set $13 - (local.get $1) - ) - (local.set $5 - (local.get $0) + (else + (block + (if + (i32.lt_u + (local.tee $10 + (i32.load offset=8 + (local.get $4) + ) + ) + (local.get $12) + ) + (then + (call $_abort) + ) + ) + (if + (i32.ne + (i32.load + (local.tee $7 + (i32.add + (local.get $10) + (i32.const 12) + ) + ) + ) + (local.get $4) + ) + (then + (call $_abort) + ) + ) + (if + (i32.eq + (i32.load + (local.tee $1 + (i32.add + (local.get $0) + (i32.const 8) + ) + ) + ) + (local.get $4) + ) + (then + (block + (i32.store + (local.get $7) + (local.get $0) + ) + (i32.store + (local.get $1) + (local.get $10) + ) + (local.set $11 + (local.get $0) + ) + ) + ) + (else + (call $_abort) + ) + ) ) ) ) - (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) + ) + (block $do-once21 + (if + (local.get $9) + (then + (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) + ) + ) + ) + ) + (then + (block + (i32.store + (local.get $0) + (local.get $11) + ) + (if + (i32.eqz + (local.get $11) + ) + (then + (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) + ) + ) + ) + ) + ) + (else + (block + (if + (i32.lt_u + (local.get $9) + (i32.load + (i32.const 192) + ) + ) + (then + (call $_abort) + ) + ) + (if + (i32.eq + (i32.load + (local.tee $0 + (i32.add + (local.get $9) + (i32.const 16) + ) + ) + ) + (local.get $4) + ) + (then + (i32.store + (local.get $0) + (local.get $11) + ) + ) + (else + (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) + ) + ) + ) + (then + (call $_abort) + ) + ) + (i32.store offset=24 + (local.get $11) + (local.get $9) + ) + (if + (local.tee $1 + (i32.load offset=16 + (local.get $4) + ) + ) + (then + (if + (i32.lt_u + (local.get $1) + (local.get $0) + ) + (then + (call $_abort) + ) + (else + (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) + ) + ) + (then + (if + (i32.lt_u + (local.get $0) + (i32.load + (i32.const 192) + ) + ) + (then + (call $_abort) + ) + (else + (block + (i32.store offset=20 + (local.get $11) + (local.get $0) + ) + (i32.store offset=24 + (local.get $0) + (local.get $11) + ) + ) + ) + ) + ) + ) ) ) - (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) + (block $do-once25 + (if + (i32.lt_u + (local.get $3) + (i32.const 16) + ) + (then + (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) + ) ) ) - (if (result i32) - (i32.gt_u + ) + (else + (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) - (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) + (local.set $0 + (i32.shr_u + (local.get $3) + (i32.const 3) + ) + ) + (if + (i32.lt_u + (local.get $3) + (i32.const 256) + ) + (then + (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) + ) + ) + ) + (then + (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) + ) + ) + (then + (call $_abort) + ) + (else + (block + (local.set $13 + (local.get $1) + ) + (local.set $5 + (local.get $0) + ) + ) + ) + ) + ) + (else + (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) + ) + ) + (then + (if (result i32) + (i32.gt_u + (local.get $3) + (i32.const 16777215) + ) + (then + (i32.const 31) + ) + (else (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.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) ) - (i32.const 16) ) - (i32.const 8) + (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 520192) ) - (i32.const 16) + (i32.const 7) ) - (i32.const 4) ) + (i32.const 1) ) - (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.shl + (local.get $0) + (i32.const 1) ) ) ) ) - (i32.shr_u - (i32.shl - (local.get $1) - (local.get $0) - ) - (i32.const 15) - ) + ) + (else + (i32.const 0) ) ) - (i32.const 7) ) + (i32.const 2) ) - (i32.const 1) - ) - (i32.shl - (local.get $0) - (i32.const 1) + (i32.const 480) ) ) - ) - (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.store offset=28 + (local.get $6) + (local.get $7) ) - (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.store offset=4 + (local.tee $0 (i32.add - (local.get $0) + (local.get $6) (i32.const 16) ) - (i32.shl - (i32.shr_u + ) + (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) + ) + ) + ) + ) + (then + (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) ) - (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.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) + ) + ) + ) + ) + ) + (then + (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) + ) + ) + (then + (call $_abort) + ) + (else + (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) + ) + ) + (then + (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) + ) + ) + ) + (else + (call $_abort) + ) ) ) ) ) - (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) + (return + (i32.add + (local.get $4) + (i32.const 8) ) ) - (call $_abort) + ) + ) + (else + (local.set $0 + (local.get $2) ) ) ) ) - ) - (return - (i32.add - (local.get $4) - (i32.const 8) + (else + (local.set $0 + (local.get $2) + ) ) ) ) + ) + (else (local.set $0 (local.get $2) ) ) - (local.set $0 - (local.get $2) - ) ) ) - (local.set $0 - (local.get $2) - ) ) ) ) @@ -23425,97 +24679,103 @@ ) (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) - ) + (then + (block + (local.set $2 + (i32.load + (i32.const 196) ) - (i32.const 15) ) - (block - (i32.store - (i32.const 196) - (local.tee $1 - (i32.add - (local.get $2) + (if + (i32.gt_u + (local.tee $3 + (i32.sub + (local.get $1) (local.get $0) ) ) + (i32.const 15) ) - (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 + (then + (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 $2) (local.get $1) + (local.get $3) + ) + (local.get $3) + ) + (i32.store offset=4 + (local.get $2) + (i32.or + (local.get $0) + (i32.const 3) ) - (i32.const 4) ) ) - (i32.or - (i32.load - (local.get $0) + ) + (else + (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) + ) ) - (i32.const 1) ) ) ) - ) - (return - (i32.add - (local.get $2) - (i32.const 8) + (return + (i32.add + (local.get $2) + (i32.const 8) + ) ) ) ) @@ -23536,54 +24796,60 @@ (i32.const 648) ) ) - (if - (i32.and - (i32.add - (local.tee $1 - (call $_sysconf - (i32.const 30) + (then + (if + (i32.and + (i32.add + (local.tee $1 + (call $_sysconf + (i32.const 30) + ) ) + (i32.const -1) ) - (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) + (then + (call $_abort) ) - (i32.store - (i32.const 648) - (i32.xor - (i32.and - (call $_time - (i32.const 0) + (else + (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) ) - (i32.const -16) ) - (i32.const 1431655768) ) ) ) @@ -23618,8 +24884,10 @@ ) (local.get $0) ) - (return - (i32.const 0) + (then + (return + (i32.const 0) + ) ) ) (if @@ -23628,29 +24896,33 @@ (i32.const 616) ) ) - (if - (i32.or - (i32.le_u - (local.tee $1 - (i32.add - (local.tee $3 - (i32.load - (i32.const 608) + (then + (if + (i32.or + (i32.le_u + (local.tee $1 + (i32.add + (local.tee $3 + (i32.load + (i32.const 608) + ) ) + (local.get $5) ) - (local.get $5) ) + (local.get $3) + ) + (i32.gt_u + (local.get $1) + (local.get $2) ) - (local.get $3) ) - (i32.gt_u - (local.get $1) - (local.get $2) + (then + (return + (i32.const 0) + ) ) ) - (return - (i32.const 0) - ) ) ) (local.set $11 @@ -23670,316 +24942,352 @@ (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) + (then + (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) - ) + (local.set $1 + (i32.const 624) + ) + (loop $while-in34 + (block $while-out33 (if - (i32.gt_u - (i32.add - (local.get $3) + (i32.le_u + (local.tee $3 (i32.load - (local.tee $2 - (i32.add + (local.get $1) + ) + ) + (local.get $4) + ) + (then + (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) + ) + (then + (block + (local.set $4 (local.get $1) - (i32.const 4) ) + (br $while-out33) ) ) ) - (local.get $4) ) - (block - (local.set $4 + ) + (br_if $while-in34 + (local.tee $1 + (i32.load offset=8 (local.get $1) ) - (br $while-out33) ) ) + (br $__rjti$4) ) - (br_if $while-in34 - (local.tee $1 - (i32.load offset=8 - (local.get $1) + ) + (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) + ) + (then + (if + (i32.eq + (local.tee $1 + (call $_sbrk + (local.get $3) + ) + ) + (i32.add + (i32.load + (local.get $4) + ) + (i32.load + (local.get $2) + ) + ) + ) + (then + (br_if $__rjti$13 + (i32.ne + (local.get $1) + (i32.const -1) + ) + ) + ) + (else + (block + (local.set $2 + (local.get $1) + ) + (br $__rjti$5) + ) ) ) ) - (br $__rjti$4) ) + (br $label$break$L279) ) (if - (i32.lt_u - (local.tee $3 - (i32.and - (i32.sub - (local.get $6) - (i32.load - (i32.const 188) - ) - ) - (local.get $9) + (i32.ne + (local.tee $1 + (call $_sbrk + (i32.const 0) ) ) - (i32.const 2147483647) + (i32.const -1) ) - (if - (i32.eq - (local.tee $1 - (call $_sbrk + (then + (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) + ) + ) + (then + (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) + ) + ) + ) + ) + (else + (local.get $5) + ) + ) + ) + (local.set $9 + (i32.add + (local.tee $4 + (i32.load + (i32.const 608) + ) + ) (local.get $3) ) ) - (i32.add - (i32.load - (local.get $4) + (if + (i32.and + (i32.gt_u + (local.get $3) + (local.get $0) + ) + (i32.lt_u + (local.get $3) + (i32.const 2147483647) + ) ) - (i32.load - (local.get $2) + (then + (block + (if + (local.tee $2 + (i32.load + (i32.const 616) + ) + ) + (then + (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_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) ) + (local.set $1 + (local.get $3) + ) + (local.set $4 + (i32.sub + (i32.const 0) + (local.get $1) + ) + ) (if - (i32.ne - (local.tee $1 - (call $_sbrk - (i32.const 0) + (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) ) ) - (i32.const -1) ) - (block - (local.set $3 - (if (result i32) - (i32.and - (local.tee $2 + (then + (if + (i32.lt_u + (local.tee $3 + (i32.and (i32.add - (local.tee $4 + (i32.sub + (local.get $8) + (local.get $1) + ) + (local.tee $3 (i32.load - (i32.const 652) + (i32.const 656) ) ) - (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 $3) ) ) ) - (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) - ) + (i32.const 2147483647) ) - (block + (then (if - (local.tee $2 - (i32.load - (i32.const 616) + (i32.eq + (call $_sbrk + (local.get $3) ) + (i32.const -1) ) - (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) + (then + (block + (drop + (call $_sbrk + (local.get $4) + ) ) + (br $label$break$L279) ) ) - ) - (br_if $__rjti$13 - (i32.eq - (local.tee $2 - (call $_sbrk + (else + (local.set $3 + (i32.add (local.get $3) + (local.get $1) ) ) - (local.get $1) ) ) - (br $__rjti$5) + ) + (else + (local.set $3 + (local.get $1) + ) ) ) ) - ) - (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 + (else + (local.set $3 (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) + (i32.ne + (local.get $2) + (i32.const -1) ) - (if - (i32.eq - (call $_sbrk - (local.get $3) - ) - (i32.const -1) - ) + (then (block - (drop - (call $_sbrk - (local.get $4) - ) - ) - (br $label$break$L279) - ) - (local.set $3 - (i32.add - (local.get $3) - (local.get $1) + (local.set $1 + (local.get $2) ) + (br $__rjti$13) ) ) - (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) + (i32.store + (i32.const 620) + (i32.or + (i32.load + (i32.const 620) ) - (br $__rjti$13) - ) - ) - ) - (i32.store - (i32.const 620) - (i32.or - (i32.load - (i32.const 620) + (i32.const 4) ) - (i32.const 4) ) ) ) @@ -23989,42 +25297,46 @@ (local.get $5) (i32.const 2147483647) ) - (if - (i32.and - (i32.lt_u - (local.tee $1 - (call $_sbrk - (local.get $5) + (then + (if + (i32.and + (i32.lt_u + (local.tee $1 + (call $_sbrk + (local.get $5) + ) ) - ) - (local.tee $3 - (call $_sbrk - (i32.const 0) + (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) + (i32.and + (i32.ne (local.get $1) + (i32.const -1) + ) + (i32.ne + (local.get $3) + (i32.const -1) ) ) - (i32.add - (local.get $0) - (i32.const 40) + ) + (then + (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) + ) + ) ) ) ) @@ -24050,9 +25362,11 @@ (i32.const 612) ) ) - (i32.store - (i32.const 612) - (local.get $2) + (then + (i32.store + (i32.const 612) + (local.get $2) + ) ) ) (block $do-once40 @@ -24062,2134 +25376,2286 @@ (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) + (then + (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) + (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_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) - ) + (br $__rjto$10) ) (if - (i32.and - (i32.lt_u - (local.get $6) - (local.get $1) - ) - (i32.ge_u - (local.get $6) - (local.get $11) + (i32.eqz + (i32.and + (i32.load offset=12 + (local.get $2) + ) + (i32.const 8) ) ) - (block - (i32.store - (local.get $4) - (i32.add - (local.get $5) - (local.get $3) + (then + (if + (i32.and + (i32.lt_u + (local.get $6) + (local.get $1) + ) + (i32.ge_u + (local.get $6) + (local.get $11) + ) ) - ) - (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) + (then + (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) ) ) ) - (i32.const 7) ) - (i32.const 0) - (i32.and + ) + (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 7) + (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) ) ) ) - (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) + ) + ) + ) + (if + (i32.lt_u + (local.get $1) + (local.tee $4 + (i32.load + (i32.const 192) ) + ) + ) + (then + (block (i32.store - (i32.const 188) + (i32.const 192) (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) - ) + (local.set $4 + (local.get $1) ) - (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.set $11 + (i32.add (local.get $1) + (local.get $3) ) ) - ) - (local.set $11 - (i32.add - (local.get $1) - (local.get $3) + (local.set $2 + (i32.const 624) ) - ) - (local.set $2 - (i32.const 624) - ) - (block $__rjto$11 - (block $__rjti$11 - (loop $while-in47 - (if - (i32.eq - (i32.load - (local.get $2) + (block $__rjto$11 + (block $__rjti$11 + (loop $while-in47 + (if + (i32.eq + (i32.load + (local.get $2) + ) + (local.get $11) ) - (local.get $11) - ) - (block - (local.set $5 - (local.get $2) + (then + (block + (local.set $5 + (local.get $2) + ) + (br $__rjti$11) + ) ) - (br $__rjti$11) ) - ) - (br_if $while-in47 - (local.tee $2 - (i32.load offset=8 - (local.get $2) + (br_if $while-in47 + (local.tee $2 + (i32.load offset=8 + (local.get $2) + ) ) ) + (local.set $4 + (i32.const 624) + ) ) - (local.set $4 - (i32.const 624) - ) + (br $__rjto$11) ) - (br $__rjto$11) - ) - (if - (i32.and - (i32.load offset=12 - (local.get $2) + (if + (i32.and + (i32.load offset=12 + (local.get $2) + ) + (i32.const 8) ) - (i32.const 8) - ) - (local.set $4 - (i32.const 624) - ) - (block - (i32.store - (local.get $5) - (local.get $1) + (then + (local.set $4 + (i32.const 624) + ) ) - (i32.store - (local.tee $2 - (i32.add - (local.get $2) - (i32.const 4) + (else + (block + (i32.store + (local.get $5) + (local.get $1) ) - ) - (i32.add - (i32.load - (local.get $2) + (i32.store + (local.tee $2 + (i32.add + (local.get $2) + (i32.const 4) + ) + ) + (i32.add + (i32.load + (local.get $2) + ) + (local.get $3) + ) ) - (local.get $3) - ) - ) - (local.set $8 - (i32.add - (local.tee $9 + (local.set $8 (i32.add - (local.get $1) - (select - (i32.and - (i32.sub - (i32.const 0) - (local.tee $1 - (i32.add - (local.get $1) - (i32.const 8) + (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) ) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $1) - (i32.const 7) ) ) + (local.get $0) ) ) - (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) + (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) ) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (local.get $1) - (i32.const 7) ) ) + (local.get $9) ) + (local.get $0) ) - (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) - ) + (i32.store offset=4 + (local.get $9) + (i32.or + (local.get $0) + (i32.const 3) ) ) - (block + (block $do-once48 (if (i32.eq (local.get $5) - (i32.load - (i32.const 196) - ) + (local.get $6) ) - (block - (i32.store - (i32.const 184) - (local.tee $0 - (i32.add - (i32.load - (i32.const 184) + (then + (block + (i32.store + (i32.const 188) + (local.tee $0 + (i32.add + (i32.load + (i32.const 188) + ) + (local.get $7) ) - (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.const 200) + (local.get $8) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (local.get $8) - (local.get $0) + (i32.or + (local.get $0) + (i32.const 1) + ) ) - (local.get $0) ) - (br $do-once48) ) - ) - (i32.store - (local.tee $0 - (i32.add - (local.tee $0 - (if (result i32) - (i32.eq - (i32.and + (else + (block + (if + (i32.eq + (local.get $5) + (i32.load + (i32.const 196) + ) + ) + (then + (block + (i32.store + (i32.const 184) (local.tee $0 - (i32.load offset=4 - (local.get $5) + (i32.add + (i32.load + (i32.const 184) + ) + (local.get $7) ) ) - (i32.const 3) ) - (i32.const 1) - ) - (block (result i32) - (local.set $11 - (i32.and + (i32.store + (i32.const 196) + (local.get $8) + ) + (i32.store offset=4 + (local.get $8) + (i32.or (local.get $0) - (i32.const -8) + (i32.const 1) ) ) - (local.set $1 - (i32.shr_u + (i32.store + (i32.add + (local.get $8) (local.get $0) - (i32.const 3) ) + (local.get $0) ) - (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) + (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) ) - (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) - ) - ) + (i32.const 1) + ) + (then + (block (result i32) + (local.set $11 + (i32.and + (local.get $0) + (i32.const -8) ) - (br $label$break$L331) ) - ) - (block $do-once53 - (if - (i32.eq - (local.get $2) + (local.set $1 + (i32.shr_u (local.get $0) + (i32.const 3) ) - (local.set $15 - (i32.add - (local.get $2) - (i32.const 8) - ) - ) - (block - (if - (i32.lt_u - (local.get $2) - (local.get $4) - ) - (call $_abort) + ) + (block $label$break$L331 + (if + (i32.lt_u + (local.get $0) + (i32.const 256) ) - (if - (i32.eq - (i32.load - (local.tee $0 - (i32.add - (local.get $2) - (i32.const 8) - ) - ) - ) - (local.get $5) - ) + (then (block - (local.set $15 - (local.get $0) + (local.set $2 + (i32.load offset=12 + (local.get $5) + ) ) - (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 + (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) + ) + ) + ) + (then + (block + (if + (i32.lt_u + (local.get $3) + (local.get $4) + ) + (then + (call $_abort) + ) + ) + (br_if $do-once51 + (i32.eq + (i32.load offset=12 + (local.get $3) + ) (local.get $5) - (i32.const 16) ) ) - (i32.const 4) + (call $_abort) ) ) ) ) - ) - (if - (local.tee $1 - (i32.load + (if + (i32.eq + (local.get $2) (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) + (then + (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 - (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 $do-once53 + (if + (i32.eq + (local.get $2) + (local.get $0) + ) + (then + (local.set $15 + (i32.add + (local.get $2) + (i32.const 8) + ) + ) + ) + (else + (block + (if + (i32.lt_u + (local.get $2) + (local.get $4) + ) + (then + (call $_abort) + ) + ) + (if + (i32.eq + (i32.load + (local.tee $0 + (i32.add + (local.get $2) + (i32.const 8) + ) + ) + ) + (local.get $5) + ) + (then + (block + (local.set $15 + (local.get $0) + ) + (br $do-once53) + ) + ) + ) + (call $_abort) ) ) ) ) - (block - (local.set $1 - (local.get $3) - ) - (local.set $0 - (local.get $2) - ) - (br $while-in58) + (i32.store offset=12 + (local.get $3) + (local.get $2) ) - ) - ) - (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) + (local.get $15) + (local.get $3) ) ) ) - ) - (block - (if - (i32.lt_u - (local.tee $2 - (i32.load offset=8 + (else + (block + (local.set $6 + (i32.load offset=24 (local.get $5) ) ) - (local.get $4) - ) - (call $_abort) - ) - (if - (i32.ne - (i32.load - (local.tee $3 - (i32.add - (local.get $2) - (i32.const 12) + (block $do-once55 + (if + (i32.eq + (local.tee $0 + (i32.load offset=12 + (local.get $5) + ) + ) + (local.get $5) ) - ) - ) - (local.get $5) - ) - (call $_abort) - ) - (if - (i32.eq - (i32.load - (local.tee $1 - (i32.add - (local.get $0) - (i32.const 8) + (then + (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) + ) + ) + ) + ) + ) + (then + (if + (local.tee $1 + (i32.load + (local.get $3) + ) + ) + (then + (local.set $0 + (local.get $3) + ) + ) + (else + (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) + ) + ) + ) + ) + (then + (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) + ) + ) + ) + ) + (then + (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) + ) + (then + (call $_abort) + ) + (else + (block + (i32.store + (local.get $0) + (i32.const 0) + ) + (local.set $12 + (local.get $1) + ) + ) + ) + ) + ) + ) + (else + (block + (if + (i32.lt_u + (local.tee $2 + (i32.load offset=8 + (local.get $5) + ) + ) + (local.get $4) + ) + (then + (call $_abort) + ) + ) + (if + (i32.ne + (i32.load + (local.tee $3 + (i32.add + (local.get $2) + (i32.const 12) + ) + ) + ) + (local.get $5) + ) + (then + (call $_abort) + ) + ) + (if + (i32.eq + (i32.load + (local.tee $1 + (i32.add + (local.get $0) + (i32.const 8) + ) + ) + ) + (local.get $5) + ) + (then + (block + (i32.store + (local.get $3) + (local.get $0) + ) + (i32.store + (local.get $1) + (local.get $2) + ) + (local.set $12 + (local.get $0) + ) + ) + ) + (else + (call $_abort) + ) + ) + ) ) ) ) - (local.get $5) - ) - (block - (i32.store - (local.get $3) - (local.get $0) - ) - (i32.store - (local.get $1) - (local.get $2) + (br_if $label$break$L331 + (i32.eqz + (local.get $6) + ) ) - (local.set $12 - (local.get $0) + (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) + ) + ) + ) + ) + (then + (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) + ) + ) + (else + (block + (if + (i32.lt_u + (local.get $6) + (i32.load + (i32.const 192) + ) + ) + (then + (call $_abort) + ) + ) + (if + (i32.eq + (i32.load + (local.tee $0 + (i32.add + (local.get $6) + (i32.const 16) + ) + ) + ) + (local.get $5) + ) + (then + (i32.store + (local.get $0) + (local.get $12) + ) + ) + (else + (i32.store offset=20 + (local.get $6) + (local.get $12) + ) + ) + ) + (br_if $label$break$L331 + (i32.eqz + (local.get $12) + ) + ) + ) + ) + ) ) - ) - (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 + (if + (i32.lt_u + (local.get $12) (local.tee $1 - (i32.load offset=28 - (local.get $5) + (i32.load + (i32.const 192) ) ) - (i32.const 2) ) - (i32.const 480) + (then + (call $_abort) + ) ) - ) - ) - ) - (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.store offset=24 + (local.get $12) + (local.get $6) ) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $1) + (if + (local.tee $3 + (i32.load + (local.tee $0 + (i32.add + (local.get $5) + (i32.const 16) + ) + ) + ) + ) + (then + (if + (i32.lt_u + (local.get $3) + (local.get $1) + ) + (then + (call $_abort) + ) + (else + (block + (i32.store offset=16 + (local.get $12) + (local.get $3) + ) + (i32.store offset=24 + (local.get $3) + (local.get $12) + ) + ) + ) + ) ) - (i32.const -1) ) - ) - ) - (br $label$break$L331) - ) - (block - (if - (i32.lt_u - (local.get $6) - (i32.load - (i32.const 192) + (br_if $label$break$L331 + (i32.eqz + (local.tee $0 + (i32.load offset=4 + (local.get $0) + ) + ) + ) ) - ) - (call $_abort) - ) - (if - (i32.eq - (i32.load - (local.tee $0 - (i32.add - (local.get $6) - (i32.const 16) + (if + (i32.lt_u + (local.get $0) + (i32.load + (i32.const 192) + ) + ) + (then + (call $_abort) + ) + (else + (block + (i32.store offset=20 + (local.get $12) + (local.get $0) + ) + (i32.store offset=24 + (local.get $0) + (local.get $12) + ) ) ) ) - (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) - ) + (local.set $7 + (i32.add + (local.get $11) + (local.get $7) ) ) - (call $_abort) + (i32.add + (local.get $5) + (local.get $11) + ) ) - (i32.store offset=24 - (local.get $12) - (local.get $6) + ) + (else + (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) + ) + (then + (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) + ) ) - (if - (local.tee $3 - (i32.load - (local.tee $0 - (i32.add - (local.get $5) - (i32.const 16) - ) - ) - ) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $0) ) + ) + ) + (then + (block (if - (i32.lt_u - (local.get $3) - (local.get $1) - ) - (call $_abort) - (block - (i32.store offset=16 - (local.get $12) - (local.get $3) + (i32.ge_u + (local.tee $0 + (i32.load + (local.tee $1 + (i32.add + (local.get $3) + (i32.const 8) + ) + ) + ) ) - (i32.store offset=24 - (local.get $3) - (local.get $12) + (i32.load + (i32.const 192) ) ) - ) - ) - (br_if $label$break$L331 - (i32.eqz - (local.tee $0 - (i32.load offset=4 - (local.get $0) + (then + (block + (local.set $16 + (local.get $1) + ) + (local.set $10 + (local.get $0) + ) + (br $do-once63) ) ) ) - ) - (if - (i32.lt_u - (local.get $0) - (i32.load - (i32.const 192) - ) - ) (call $_abort) - (block - (i32.store offset=20 - (local.get $12) + ) + ) + (else + (block + (i32.store + (i32.const 176) + (i32.or + (local.get $1) (local.get $0) ) - (i32.store offset=24 - (local.get $0) - (local.get $12) + ) + (local.set $16 + (i32.add + (local.get $3) + (i32.const 8) ) ) - ) - ) - ) - ) - (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.set $10 (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) + (i32.store + (local.get $16) + (local.get $8) ) - ) - (call $_abort) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (local.get $1) - (local.get $0) + (i32.store offset=12 + (local.get $10) + (local.get $8) ) - ) - (local.set $16 - (i32.add + (i32.store offset=8 + (local.get $8) + (local.get $10) + ) + (i32.store offset=12 + (local.get $8) (local.get $3) - (i32.const 8) ) - ) - (local.set $10 - (local.get $3) + (br $do-once48) ) ) ) - ) - (i32.store - (local.get $16) - (local.get $8) - ) - (i32.store offset=12 - (local.get $10) - (local.get $8) - ) - (i32.store offset=8 - (local.get $8) - (local.get $10) - ) - (i32.store offset=12 - (local.get $8) - (local.get $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) + (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) + ) ) - ) - ) - (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 + (then + (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) - (i32.const 1048320) + (local.tee $3 + (i32.and + (i32.shr_u + (i32.add + (local.get $0) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) ) - (i32.const 16) ) - (i32.const 8) + (i32.const 520192) ) + (i32.const 16) ) + (i32.const 4) ) ) - (i32.const 520192) + (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.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.shl + (local.get $1) + (local.get $0) ) - (i32.const 16) + (i32.const 15) ) - (i32.const 2) ) ) + (i32.const 7) ) ) - (i32.shr_u - (i32.shl - (local.get $1) - (local.get $0) - ) - (i32.const 15) - ) + (i32.const 1) + ) + (i32.shl + (local.get $0) + (i32.const 1) ) ) - (i32.const 7) ) ) - (i32.const 1) - ) - (i32.shl - (local.get $0) - (i32.const 1) + (else + (i32.const 0) + ) ) ) ) - (i32.const 0) + (i32.const 2) ) + (i32.const 480) ) ) - (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) - ) + (i32.store offset=28 + (local.get $8) + (local.get $2) ) - (local.tee $0 - (i32.shl - (i32.const 1) - (local.get $2) + (i32.store offset=4 + (local.tee $0 + (i32.add + (local.get $8) + (i32.const 16) + ) ) + (i32.const 0) ) - ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (local.get $1) + (i32.store (local.get $0) + (i32.const 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 + (if + (i32.eqz (i32.and - (i32.load offset=4 - (local.get $0) + (local.tee $1 + (i32.load + (i32.const 180) + ) + ) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $2) + ) ) - (i32.const -8) ) - (local.get $7) + ) + (then + (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 $3 + (local.set $2 (i32.shl - (local.get $2) - (i32.const 1) + (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) + ) + ) ) ) - (if - (local.tee $1 - (i32.load - (local.tee $2 - (i32.add - (i32.add - (local.get $0) - (i32.const 16) + (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) ) - (i32.shl - (i32.shr_u - (local.get $2) - (i32.const 31) + (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) + ) + ) ) - (i32.const 2) + ) + ) + (then + (block + (local.set $2 + (local.get $3) + ) + (local.set $0 + (local.get $1) + ) + (br $while-in68) ) ) ) ) - ) - (block - (local.set $2 - (local.get $3) - ) - (local.set $0 - (local.get $1) + (if + (i32.lt_u + (local.get $2) + (i32.load + (i32.const 192) + ) + ) + (then + (call $_abort) + ) + (else + (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 $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 $__rjto$7) ) - (br $do-once48) - ) - ) - (br $__rjto$7) - ) - (if - (i32.and - (i32.ge_u - (local.tee $2 - (i32.load - (local.tee $3 - (i32.add + (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) + ) + ) + (then + (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.const 8) + ) + (i32.store offset=24 + (local.get $8) + (i32.const 0) ) ) ) - ) - (local.tee $1 - (i32.load - (i32.const 192) + (else + (call $_abort) ) ) ) - (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) + (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) + (loop $while-in70 + (block $while-out69 + (if + (i32.le_u + (local.tee $2 + (i32.load + (local.get $4) + ) ) + (local.get $6) ) - (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) + (then + (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.get $6) ) ) - ) - (local.set $4 - (i32.load offset=8 - (local.get $4) + (local.set $4 + (i32.load offset=8 + (local.get $4) + ) ) + (br $while-in70) ) - (br $while-in70) ) - ) - (local.set $10 - (i32.add - (local.tee $4 - (i32.add - (local.get $2) - (i32.const -47) + (local.set $10 + (i32.add + (local.tee $4 + (i32.add + (local.get $2) + (i32.const -47) + ) ) + (i32.const 8) ) - (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.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.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.lt_u + (local.get $4) + (local.tee $10 + (i32.add + (local.get $6) + (i32.const 16) + ) ) ) ) ) + (i32.const 8) ) - (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.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.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) + (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 - (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 offset=4 - (i32.add - (local.get $5) - (local.get $4) + (i32.store + (i32.const 204) + (i32.load + (i32.const 664) + ) ) - (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.tee $4 - (i32.add - (local.get $11) - (i32.const 4) + (i32.store + (local.get $12) + (i32.load + (i32.const 624) ) ) - (i32.const 27) - ) - (i32.store - (local.get $12) - (i32.load + (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 offset=4 - (local.get $12) - (i32.load + (i32.store (i32.const 628) + (local.get $3) ) - ) - (i32.store offset=8 - (local.get $12) - (i32.load - (i32.const 632) - ) - ) - (i32.store offset=12 - (local.get $12) - (i32.load + (i32.store (i32.const 636) + (i32.const 0) ) - ) - (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) + (i32.const 632) + (local.get $12) ) - (br_if $while-in72 - (i32.lt_u - (i32.add - (local.get $1) - (i32.const 4) - ) - (local.get $2) + (local.set $1 + (i32.add + (local.get $11) + (i32.const 24) ) ) - ) - (if - (i32.ne - (local.get $11) - (local.get $6) - ) - (block + (loop $while-in72 (i32.store - (local.get $4) - (i32.and - (i32.load - (local.get $4) + (local.tee $1 + (i32.add + (local.get $1) + (i32.const 4) ) - (i32.const -2) ) + (i32.const 7) ) - (i32.store offset=4 - (local.get $6) - (i32.or - (local.tee $5 - (i32.sub - (local.get $11) - (local.get $6) - ) + (br_if $while-in72 + (i32.lt_u + (i32.add + (local.get $1) + (i32.const 4) ) - (i32.const 1) + (local.get $2) ) ) - (i32.store + ) + (if + (i32.ne (local.get $11) - (local.get $5) - ) - (local.set $1 - (i32.shr_u - (local.get $5) - (i32.const 3) - ) + (local.get $6) ) - (if - (i32.lt_u - (local.get $5) - (i32.const 256) - ) + (then (block - (local.set $2 - (i32.add - (i32.shl - (local.get $1) - (i32.const 3) + (i32.store + (local.get $4) + (i32.and + (i32.load + (local.get $4) ) - (i32.const 216) + (i32.const -2) ) ) - (if - (i32.and - (local.tee $3 - (i32.load - (i32.const 176) - ) - ) - (local.tee $1 - (i32.shl - (i32.const 1) - (local.get $1) + (i32.store offset=4 + (local.get $6) + (i32.or + (local.tee $5 + (i32.sub + (local.get $11) + (local.get $6) ) ) + (i32.const 1) ) - (if - (i32.lt_u - (local.tee $1 - (i32.load + ) + (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) + ) + (then + (block + (local.set $2 + (i32.add + (i32.shl + (local.get $1) + (i32.const 3) + ) + (i32.const 216) + ) + ) + (if + (i32.and (local.tee $3 - (i32.add + (i32.load + (i32.const 176) + ) + ) + (local.tee $1 + (i32.shl + (i32.const 1) + (local.get $1) + ) + ) + ) + (then + (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) + ) + ) + (then + (call $_abort) + ) + (else + (block + (local.set $17 + (local.get $3) + ) + (local.set $7 + (local.get $1) + ) + ) + ) + ) + ) + (else + (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.const 8) ) ) ) ) - (i32.load - (i32.const 192) - ) - ) - (call $_abort) - (block - (local.set $17 - (local.get $3) + (i32.store + (local.get $17) + (local.get $6) ) - (local.set $7 - (local.get $1) + (i32.store offset=12 + (local.get $7) + (local.get $6) ) - ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (local.get $3) - (local.get $1) + (i32.store offset=8 + (local.get $6) + (local.get $7) ) - ) - (local.set $17 - (i32.add + (i32.store offset=12 + (local.get $6) (local.get $2) - (i32.const 8) ) - ) - (local.set $7 - (local.get $2) + (br $do-once40) ) ) ) - (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 + (local.set $2 + (i32.add + (i32.shl + (local.tee $4 + (if (result i32) + (local.tee $1 (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 + (i32.const 8) + ) + ) + (then + (if (result i32) + (i32.gt_u + (local.get $5) + (i32.const 16777215) + ) + (then + (i32.const 31) + ) + (else + (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) - (i32.const 1048320) + (local.tee $2 + (i32.and + (i32.shr_u + (i32.add + (local.get $1) + (i32.const 1048320) + ) + (i32.const 16) + ) + (i32.const 8) + ) + ) ) - (i32.const 16) ) - (i32.const 8) + (i32.const 520192) ) + (i32.const 16) ) + (i32.const 4) ) ) - (i32.const 520192) + (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.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.shl + (local.get $3) + (local.get $1) ) - (i32.const 16) + (i32.const 15) ) - (i32.const 2) ) ) + (i32.const 7) ) ) - (i32.shr_u - (i32.shl - (local.get $3) - (local.get $1) - ) - (i32.const 15) - ) + (i32.const 1) + ) + (i32.shl + (local.get $1) + (i32.const 1) ) ) - (i32.const 7) ) ) - (i32.const 1) ) - (i32.shl - (local.get $1) - (i32.const 1) + (else + (i32.const 0) ) ) ) - (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) + (i32.const 2) ) + (i32.const 480) ) ) - ) - (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) + (i32.store offset=28 (local.get $6) + (local.get $4) ) - (i32.store offset=8 - (local.get $6) + (i32.store offset=20 (local.get $6) + (i32.const 0) ) - (br $do-once40) - ) - ) - (local.set $4 - (i32.shl - (local.get $5) - (select + (i32.store + (local.get $10) (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $4) - (i32.const 1) + ) + (if + (i32.eqz + (i32.and + (local.tee $3 + (i32.load + (i32.const 180) + ) + ) + (local.tee $1 + (i32.shl + (i32.const 1) + (local.get $4) + ) + ) ) ) - (i32.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 + (then + (block + (i32.store + (i32.const 180) + (i32.or + (local.get $3) (local.get $1) ) - (i32.const -8) ) - (local.get $5) + (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 $2 - (i32.shl - (local.get $4) - (i32.const 1) + ) + (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) + ) ) ) - (if - (local.tee $3 - (i32.load - (local.tee $4 - (i32.add - (i32.add + ) + (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 16) ) - (i32.shl - (i32.shr_u - (local.get $4) - (i32.const 31) + (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) + ) ) - (i32.const 2) ) ) ) + (then + (block + (local.set $4 + (local.get $2) + ) + (local.set $1 + (local.get $3) + ) + (br $while-in74) + ) + ) ) ) - (block - (local.set $4 - (local.get $2) + (if + (i32.lt_u + (local.get $4) + (i32.load + (i32.const 192) + ) ) - (local.set $1 - (local.get $3) + (then + (call $_abort) + ) + (else + (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 $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) ) - ) - (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) + (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) ) ) - (local.tee $3 - (i32.load - (i32.const 192) + (then + (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) + ) ) ) - ) - (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) + (else + (call $_abort) + ) ) ) - (call $_abort) ) ) ) ) ) - (block - (if - (i32.or - (i32.eqz - (local.tee $2 - (i32.load - (i32.const 192) + (else + (block + (if + (i32.or + (i32.eqz + (local.tee $2 + (i32.load + (i32.const 192) + ) ) ) + (i32.lt_u + (local.get $1) + (local.get $2) + ) ) - (i32.lt_u - (local.get $1) - (local.get $2) + (then + (i32.store + (i32.const 192) + (local.get $1) + ) ) ) (i32.store - (i32.const 192) + (i32.const 624) (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 628) + (local.get $3) ) - ) - (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) - ) + (i32.store + (i32.const 636) + (i32.const 0) + ) + (i32.store + (i32.const 212) + (i32.load + (i32.const 648) ) - (local.get $4) ) - (i32.store offset=8 - (local.get $4) - (local.get $4) + (i32.store + (i32.const 208) + (i32.const -1) ) - (br_if $while-in43 - (i32.ne - (local.tee $2 + (local.set $2 + (i32.const 0) + ) + (loop $while-in43 + (i32.store offset=12 + (local.tee $4 (i32.add - (local.get $2) - (i32.const 1) + (i32.shl + (local.get $2) + (i32.const 3) + ) + (i32.const 216) ) ) - (i32.const 32) + (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.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.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) + (i32.store + (i32.const 188) + (local.tee $1 + (i32.sub + (i32.add + (local.get $3) + (i32.const -40) + ) + (local.get $1) ) - (local.get $1) ) ) - ) - (i32.store offset=4 - (local.get $2) - (i32.or - (local.get $1) - (i32.const 1) - ) - ) - (i32.store offset=4 - (i32.add + (i32.store offset=4 (local.get $2) - (local.get $1) + (i32.or + (local.get $1) + (i32.const 1) + ) ) - (i32.const 40) - ) - (i32.store - (i32.const 204) - (i32.load - (i32.const 664) + (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) + ) ) ) ) @@ -26275,7 +27741,9 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (return) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (return) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u @@ -26291,7 +27759,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq @@ -26310,7 +27780,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $8 ;; CHECK-NEXT: (i32.add @@ -26329,7 +27801,7 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -26337,7 +27809,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (local.set $7 ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) @@ -26347,7 +27819,9 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (return) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (return) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u @@ -26362,7 +27836,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.add @@ -26377,7 +27853,7 @@ ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (i32.and @@ -26395,7 +27871,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -26444,7 +27920,7 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $1) @@ -26467,13 +27943,15 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; 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: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne @@ -26482,7 +27960,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26491,7 +27971,7 @@ ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and @@ -26521,19 +28001,23 @@ ;; 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: (then + ;; 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: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; 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: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq @@ -26547,10 +28031,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $4 + ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26586,7 +28074,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $5 @@ -26605,20 +28093,24 @@ ;; 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: (then + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (local.tee $5 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $4 + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $6 + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $do-once0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $do-once0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -26634,7 +28126,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) @@ -26655,7 +28147,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) @@ -26671,8 +28163,10 @@ ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.const 0) @@ -26683,7 +28177,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $10 @@ -26693,7 +28187,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne @@ -26707,7 +28203,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq @@ -26721,7 +28219,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $4) @@ -26734,14 +28232,16 @@ ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $1) @@ -26761,7 +28261,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $6) @@ -26770,7 +28270,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.and @@ -26796,7 +28296,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $12) @@ -26804,7 +28304,9 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq @@ -26818,20 +28320,24 @@ ;; 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: (then + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=20 - ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (local.get $12) + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -26852,7 +28358,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $6) @@ -26869,20 +28377,24 @@ ;; 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 - ;; CHECK-NEXT: (i32.store offset=16 - ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 - ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: ) @@ -26893,32 +28405,36 @@ ;; 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 - ;; 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: (then + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.const 192) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (else + ;; 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: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -26928,7 +28444,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -26945,7 +28461,9 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz @@ -26963,14 +28481,16 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.and @@ -26993,7 +28513,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $8) @@ -27001,7 +28521,7 @@ ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: (local.tee $0 @@ -27031,7 +28551,9 @@ ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (return) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (return) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 196) @@ -27051,7 +28573,7 @@ ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.tee $0 @@ -27105,7 +28627,7 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $4 ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $8) @@ -27128,7 +28650,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $1) @@ -27136,7 +28658,9 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne @@ -27145,7 +28669,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27154,7 +28680,7 @@ ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and @@ -27178,13 +28704,15 @@ ;; 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: (then + ;; 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: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $4) @@ -27192,7 +28720,9 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq @@ -27206,10 +28736,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $14 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $14 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27222,7 +28756,7 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (i32.load offset=24 ;; CHECK-NEXT: (local.get $8) @@ -27238,7 +28772,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $3 @@ -27257,20 +28791,24 @@ ;; 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: (then + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (local.tee $3 + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $9 + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $do-once6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $do-once6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27286,7 +28824,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -27307,7 +28845,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -27325,8 +28863,10 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) @@ -27337,7 +28877,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $4 @@ -27349,7 +28889,9 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne @@ -27363,7 +28905,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq @@ -27377,7 +28921,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $0) @@ -27390,14 +28934,16 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $8) @@ -27417,7 +28963,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $9) @@ -27426,7 +28972,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.and @@ -27446,7 +28992,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $6) @@ -27454,7 +29000,9 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq @@ -27468,13 +29016,17 @@ ;; 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: (then + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=20 - ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.store offset=20 + ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $do-once4 @@ -27493,7 +29045,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.store offset=24 ;; CHECK-NEXT: (local.get $9) @@ -27510,20 +29064,24 @@ ;; 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 - ;; CHECK-NEXT: (i32.store offset=16 - ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.store offset=24 - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: ) @@ -27534,22 +29092,26 @@ ;; 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 - ;; CHECK-NEXT: (i32.store offset=20 - ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (then + ;; 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: (i32.store offset=24 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; 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: ) @@ -27580,15 +29142,17 @@ ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; 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: (else + ;; CHECK-NEXT: (local.set $3 + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -27604,7 +29168,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl @@ -27628,33 +29192,37 @@ ;; 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: (then + ;; 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: (i32.load - ;; CHECK-NEXT: (i32.const 192) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $15 - ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $13 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (else + ;; 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: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or @@ -27703,93 +29271,101 @@ ;; 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: (then + ;; CHECK-NEXT: (if (result i32) + ;; CHECK-NEXT: (i32.gt_u + ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (i32.const 16777215) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.const 31) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (i32.or + ;; CHECK-NEXT: (i32.and + ;; CHECK-NEXT: (i32.shr_u + ;; CHECK-NEXT: (local.get $3) ;; 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: (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: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 520192) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 520192) + ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 4) + ;; CHECK-NEXT: (local.get $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: (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 245760) + ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 2) ;; 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.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: (i32.const 7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 7) + ;; 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: (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: (else + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 2) @@ -27824,7 +29400,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $3) @@ -27889,7 +29465,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) @@ -27907,8 +29483,10 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $2) @@ -27954,7 +29532,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $2) @@ -27976,11 +29554,13 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (call $_abort) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.or @@ -28020,9 +29600,13 @@ ;; 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: (then + ;; CHECK-NEXT: (return) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (i32.const 632) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $while-in17 @@ -28065,7 +29649,9 @@ (i32.eqz (local.get $0) ) - (return) + (then + (return) + ) ) (if (i32.lt_u @@ -28081,7 +29667,9 @@ ) ) ) - (call $_abort) + (then + (call $_abort) + ) ) (if (i32.eq @@ -28100,7 +29688,9 @@ ) (i32.const 1) ) - (call $_abort) + (then + (call $_abort) + ) ) (local.set $8 (i32.add @@ -28119,184 +29709,269 @@ (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 + (then + (block + (local.set $2 (local.get $1) ) - ) - (if - (i32.eqz - (local.get $5) + (local.set $3 + (local.get $0) ) - (return) ) - (if - (i32.lt_u - (local.tee $1 - (i32.add - (local.get $1) - (i32.sub - (i32.const 0) - (local.get $7) + ) + (else + (block + (local.set $7 + (i32.load + (local.get $1) + ) + ) + (if + (i32.eqz + (local.get $5) + ) + (then + (return) + ) + ) + (if + (i32.lt_u + (local.tee $1 + (i32.add + (local.get $1) + (i32.sub + (i32.const 0) + (local.get $7) + ) ) ) + (local.get $11) + ) + (then + (call $_abort) ) - (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) + (local.set $0 + (i32.add + (local.get $7) + (local.get $0) ) ) - (block - (if - (i32.ne - (i32.and - (local.tee $3 - (i32.load - (local.tee $2 - (i32.add - (local.get $8) - (i32.const 4) + (if + (i32.eq + (local.get $1) + (i32.load + (i32.const 196) + ) + ) + (then + (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) + ) + (then + (block + (local.set $2 + (local.get $1) + ) + (local.set $3 + (local.get $0) + ) + (br $do-once) ) ) - (i32.const 3) ) - (i32.const 3) - ) - (block - (local.set $2 + (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) + ) ) - (local.set $3 + (i32.store + (i32.add + (local.get $1) + (local.get $0) + ) (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) + (return) ) - (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) + (local.set $5 + (i32.shr_u + (local.get $7) + (i32.const 3) + ) ) - (block - (local.set $6 - (i32.load offset=12 - (local.get $1) - ) + (if + (i32.lt_u + (local.get $7) + (i32.const 256) ) - (if - (i32.ne - (local.tee $2 - (i32.load offset=8 + (then + (block + (local.set $6 + (i32.load offset=12 (local.get $1) ) ) - (local.tee $3 - (i32.add - (i32.shl - (local.get $5) - (i32.const 3) + (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) + ) + ) + ) + (then + (block + (if + (i32.lt_u + (local.get $2) + (local.get $11) + ) + (then + (call $_abort) + ) + ) + (if + (i32.ne + (i32.load offset=12 + (local.get $2) + ) + (local.get $1) + ) + (then + (call $_abort) + ) + ) ) - (i32.const 216) ) ) - ) - (block (if - (i32.lt_u + (i32.eq + (local.get $6) (local.get $2) - (local.get $11) ) - (call $_abort) - ) - (if - (i32.ne - (i32.load offset=12 - (local.get $2) + (then + (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) ) - (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) + (if + (i32.eq + (local.get $6) + (local.get $3) + ) + (then + (local.set $4 + (i32.add + (local.get $6) + (i32.const 8) + ) ) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $5) + ) + (else + (block + (if + (i32.lt_u + (local.get $6) + (local.get $11) + ) + (then + (call $_abort) + ) + ) + (if + (i32.eq + (i32.load + (local.tee $3 + (i32.add + (local.get $6) + (i32.const 8) + ) + ) + ) + (local.get $1) + ) + (then + (local.set $4 + (local.get $3) + ) + ) + (else + (call $_abort) + ) ) - (i32.const -1) ) ) ) + (i32.store offset=12 + (local.get $2) + (local.get $6) + ) + (i32.store + (local.get $4) + (local.get $2) + ) (local.set $2 (local.get $1) ) @@ -28306,408 +29981,423 @@ (br $do-once) ) ) + ) + (local.set $12 + (i32.load offset=24 + (local.get $1) + ) + ) + (block $do-once0 (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.tee $4 + (i32.load offset=12 (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) ) - (local.get $1) - ) - (block - (if - (i32.eqz - (local.tee $5 - (i32.load - (local.tee $4 - (i32.add - (local.tee $7 + (then + (block + (if + (i32.eqz + (local.tee $5 + (i32.load + (local.tee $4 (i32.add - (local.get $1) - (i32.const 16) + (local.tee $7 + (i32.add + (local.get $1) + (i32.const 16) + ) + ) + (i32.const 4) ) ) - (i32.const 4) ) ) ) - ) - ) - (if - (local.tee $5 - (i32.load - (local.get $7) + (then + (if + (local.tee $5 + (i32.load + (local.get $7) + ) + ) + (then + (local.set $4 + (local.get $7) + ) + ) + (else + (block + (local.set $6 + (i32.const 0) + ) + (br $do-once0) + ) + ) + ) ) ) - (local.set $4 - (local.get $7) - ) - (block - (local.set $6 - (i32.const 0) + (loop $while-in + (if + (local.tee $7 + (i32.load + (local.tee $10 + (i32.add + (local.get $5) + (i32.const 20) + ) + ) + ) + ) + (then + (block + (local.set $5 + (local.get $7) + ) + (local.set $4 + (local.get $10) + ) + (br $while-in) + ) + ) ) - (br $do-once0) - ) - ) - ) - (loop $while-in - (if - (local.tee $7 - (i32.load - (local.tee $10 - (i32.add - (local.get $5) - (i32.const 20) + (if + (local.tee $7 + (i32.load + (local.tee $10 + (i32.add + (local.get $5) + (i32.const 16) + ) + ) + ) + ) + (then + (block + (local.set $5 + (local.get $7) + ) + (local.set $4 + (local.get $10) + ) + (br $while-in) ) ) ) ) - (block - (local.set $5 - (local.get $7) + (if + (i32.lt_u + (local.get $4) + (local.get $11) ) - (local.set $4 - (local.get $10) + (then + (call $_abort) ) - (br $while-in) - ) - ) - (if - (local.tee $7 - (i32.load - (local.tee $10 - (i32.add + (else + (block + (i32.store + (local.get $4) + (i32.const 0) + ) + (local.set $6 (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) + (else (block - (i32.store - (local.get $4) - (i32.const 0) - ) - (local.set $6 - (local.get $5) + (if + (i32.lt_u + (local.tee $10 + (i32.load offset=8 + (local.get $1) + ) + ) + (local.get $11) + ) + (then + (call $_abort) + ) ) - ) - ) - ) - (block - (if - (i32.lt_u - (local.tee $10 - (i32.load offset=8 + (if + (i32.ne + (i32.load + (local.tee $7 + (i32.add + (local.get $10) + (i32.const 12) + ) + ) + ) (local.get $1) ) + (then + (call $_abort) + ) ) - (local.get $11) - ) - (call $_abort) - ) - (if - (i32.ne - (i32.load - (local.tee $7 - (i32.add - (local.get $10) - (i32.const 12) + (if + (i32.eq + (i32.load + (local.tee $5 + (i32.add + (local.get $4) + (i32.const 8) + ) + ) ) + (local.get $1) ) - ) - (local.get $1) - ) - (call $_abort) - ) - (if - (i32.eq - (i32.load - (local.tee $5 - (i32.add - (local.get $4) - (i32.const 8) + (then + (block + (i32.store + (local.get $7) + (local.get $4) + ) + (i32.store + (local.get $5) + (local.get $10) + ) + (local.set $6 + (local.get $4) + ) ) ) - ) - (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) + (else + (call $_abort) + ) ) ) - (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) + (if + (local.get $12) + (then + (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) ) - (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) + (then + (block + (i32.store + (local.get $4) + (local.get $6) + ) + (if + (i32.eqz + (local.get $6) ) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $5) + (then + (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) ) - (i32.const -1) ) ) ) - (local.set $2 - (local.get $1) - ) - (local.set $3 - (local.get $0) + ) + (else + (block + (if + (i32.lt_u + (local.get $12) + (i32.load + (i32.const 192) + ) + ) + (then + (call $_abort) + ) + ) + (if + (i32.eq + (i32.load + (local.tee $4 + (i32.add + (local.get $12) + (i32.const 16) + ) + ) + ) + (local.get $1) + ) + (then + (i32.store + (local.get $4) + (local.get $6) + ) + ) + (else + (i32.store offset=20 + (local.get $12) + (local.get $6) + ) + ) + ) + (if + (i32.eqz + (local.get $6) + ) + (then + (block + (local.set $2 + (local.get $1) + ) + (local.set $3 + (local.get $0) + ) + (br $do-once) + ) + ) + ) ) - (br $do-once) ) ) - ) - (block (if (i32.lt_u - (local.get $12) - (i32.load - (i32.const 192) + (local.get $6) + (local.tee $5 + (i32.load + (i32.const 192) + ) ) ) - (call $_abort) + (then + (call $_abort) + ) + ) + (i32.store offset=24 + (local.get $6) + (local.get $12) ) (if - (i32.eq + (local.tee $7 (i32.load (local.tee $4 (i32.add - (local.get $12) + (local.get $1) (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) + (then + (if + (i32.lt_u + (local.get $7) + (local.get $5) + ) + (then + (call $_abort) + ) + (else + (block + (i32.store offset=16 + (local.get $6) + (local.get $7) + ) + (i32.store offset=24 + (local.get $7) + (local.get $6) + ) + ) + ) ) - (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 + (if (local.tee $4 - (i32.add - (local.get $1) - (i32.const 16) + (i32.load offset=4 + (local.get $4) ) ) - ) - ) - (if - (i32.lt_u - (local.get $7) - (local.get $5) - ) - (call $_abort) - (block - (i32.store offset=16 - (local.get $6) - (local.get $7) + (then + (if + (i32.lt_u + (local.get $4) + (i32.load + (i32.const 192) + ) + ) + (then + (call $_abort) + ) + (else + (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) + ) + ) + ) + ) ) - (i32.store offset=24 - (local.get $7) - (local.get $6) + (else + (block + (local.set $2 + (local.get $1) + ) + (local.set $3 + (local.get $0) + ) + ) ) ) ) ) - (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) - ) - ) - ) + (else (block (local.set $2 (local.get $1) @@ -28718,14 +30408,6 @@ ) ) ) - (block - (local.set $2 - (local.get $1) - ) - (local.set $3 - (local.get $0) - ) - ) ) ) ) @@ -28735,7 +30417,9 @@ (local.get $2) (local.get $8) ) - (call $_abort) + (then + (call $_abort) + ) ) (if (i32.eqz @@ -28753,593 +30437,681 @@ (i32.const 1) ) ) - (call $_abort) + (then + (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) + (then + (block + (i32.store + (local.get $0) + (i32.and + (local.get $1) + (i32.const -2) ) - (return) ) - ) - (if - (i32.eq - (local.get $8) - (i32.load - (i32.const 196) + (i32.store offset=4 + (local.get $2) + (i32.or + (local.get $3) + (i32.const 1) ) ) - (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 + (i32.store + (i32.add (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.get $3) ) ) - (local.set $3 - (i32.shr_u - (local.get $1) - (i32.const 3) - ) - ) - (block $do-once4 + ) + (else + (block (if - (i32.lt_u - (local.get $1) - (i32.const 256) - ) - (block - (local.set $4 - (i32.load offset=12 - (local.get $8) - ) + (i32.eq + (local.get $8) + (i32.load + (i32.const 200) ) - (if - (i32.ne - (local.tee $1 - (i32.load offset=8 - (local.get $8) - ) - ) + ) + (then + (block + (i32.store + (i32.const 188) (local.tee $0 (i32.add - (i32.shl - (local.get $3) - (i32.const 3) + (i32.load + (i32.const 188) ) - (i32.const 216) + (local.get $3) ) ) ) - (block - (if - (i32.lt_u - (local.get $1) - (i32.load - (i32.const 192) - ) - ) - (call $_abort) + (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 - (i32.load offset=12 - (local.get $1) - ) - (local.get $8) + ) + (if + (i32.ne + (local.get $2) + (i32.load + (i32.const 196) ) - (call $_abort) + ) + (then + (return) ) ) - ) - (if - (i32.eq - (local.get $4) - (local.get $1) + (i32.store + (i32.const 196) + (i32.const 0) ) - (block - (i32.store - (i32.const 176) - (i32.and + (i32.store + (i32.const 184) + (i32.const 0) + ) + (return) + ) + ) + ) + (if + (i32.eq + (local.get $8) + (i32.load + (i32.const 196) + ) + ) + (then + (block + (i32.store + (i32.const 184) + (local.tee $0 + (i32.add (i32.load - (i32.const 176) - ) - (i32.xor - (i32.shl - (i32.const 1) - (local.get $3) - ) - (i32.const -1) + (i32.const 184) ) + (local.get $3) ) ) - (br $do-once4) ) - ) - (if - (i32.eq - (local.get $4) - (local.get $0) + (i32.store + (i32.const 196) + (local.get $2) ) - (local.set $14 - (i32.add - (local.get $4) - (i32.const 8) + (i32.store offset=4 + (local.get $2) + (i32.or + (local.get $0) + (i32.const 1) ) ) - (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 + (i32.add + (local.get $2) + (local.get $0) ) + (local.get $0) ) + (return) ) - (i32.store offset=12 - (local.get $1) - (local.get $4) - ) - (i32.store - (local.get $14) + ) + ) + (local.set $5 + (i32.add + (i32.and (local.get $1) + (i32.const -8) ) + (local.get $3) ) - (block - (local.set $6 - (i32.load offset=24 - (local.get $8) - ) + ) + (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 $do-once6 - (if - (i32.eq - (local.tee $0 - (i32.load offset=12 - (local.get $8) - ) + (then + (block + (local.set $4 + (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 + (i32.ne + (local.tee $1 + (i32.load offset=8 + (local.get $8) ) ) - (if - (local.tee $3 - (i32.load - (local.get $1) - ) - ) - (local.set $0 - (local.get $1) - ) - (block - (local.set $9 - (i32.const 0) + (local.tee $0 + (i32.add + (i32.shl + (local.get $3) + (i32.const 3) ) - (br $do-once6) + (i32.const 216) ) ) ) - (loop $while-in9 - (if - (local.tee $1 - (i32.load - (local.tee $4 - (i32.add - (local.get $3) - (i32.const 20) - ) - ) - ) - ) - (block - (local.set $3 + (then + (block + (if + (i32.lt_u (local.get $1) + (i32.load + (i32.const 192) + ) ) - (local.set $0 - (local.get $4) + (then + (call $_abort) ) - (br $while-in9) ) - ) - (if - (local.tee $1 - (i32.load - (local.tee $4 - (i32.add - (local.get $3) - (i32.const 16) - ) + (if + (i32.ne + (i32.load offset=12 + (local.get $1) ) + (local.get $8) ) - ) - (block - (local.set $3 - (local.get $1) - ) - (local.set $0 - (local.get $4) + (then + (call $_abort) ) - (br $while-in9) ) ) ) - (if - (i32.lt_u - (local.get $0) - (i32.load - (i32.const 192) - ) - ) - (call $_abort) + ) + (if + (i32.eq + (local.get $4) + (local.get $1) + ) + (then (block (i32.store - (local.get $0) - (i32.const 0) - ) - (local.set $9 - (local.get $3) + (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) ) ) ) - (block - (if - (i32.lt_u - (local.tee $4 - (i32.load offset=8 - (local.get $8) - ) - ) - (i32.load - (i32.const 192) + (if + (i32.eq + (local.get $4) + (local.get $0) + ) + (then + (local.set $14 + (i32.add + (local.get $4) + (i32.const 8) ) ) - (call $_abort) ) - (if - (i32.ne - (i32.load - (local.tee $1 - (i32.add - (local.get $4) - (i32.const 12) + (else + (block + (if + (i32.lt_u + (local.get $4) + (i32.load + (i32.const 192) ) ) + (then + (call $_abort) + ) ) - (local.get $8) - ) - (call $_abort) - ) - (if - (i32.eq - (i32.load - (local.tee $3 - (i32.add + (if + (i32.eq + (i32.load + (local.tee $0 + (i32.add + (local.get $4) + (i32.const 8) + ) + ) + ) + (local.get $8) + ) + (then + (local.set $14 (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) + (else + (call $_abort) + ) ) ) - (call $_abort) ) ) + (i32.store offset=12 + (local.get $1) + (local.get $4) + ) + (i32.store + (local.get $14) + (local.get $1) + ) ) ) - (if - (local.get $6) + (else (block - (if - (i32.eq + (local.set $6 + (i32.load offset=24 (local.get $8) - (i32.load + ) + ) + (block $do-once6 + (if + (i32.eq (local.tee $0 - (i32.add - (i32.shl + (i32.load offset=12 + (local.get $8) + ) + ) + (local.get $8) + ) + (then + (block + (if + (i32.eqz (local.tee $3 - (i32.load offset=28 - (local.get $8) + (i32.load + (local.tee $0 + (i32.add + (local.tee $1 + (i32.add + (local.get $8) + (i32.const 16) + ) + ) + (i32.const 4) + ) + ) + ) + ) + ) + (then + (if + (local.tee $3 + (i32.load + (local.get $1) + ) + ) + (then + (local.set $0 + (local.get $1) + ) + ) + (else + (block + (local.set $9 + (i32.const 0) + ) + (br $do-once6) + ) ) ) - (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 + (loop $while-in9 + (if + (local.tee $1 + (i32.load + (local.tee $4 + (i32.add + (local.get $3) + (i32.const 20) + ) + ) + ) + ) + (then + (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) + ) + ) + ) + ) + (then + (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 180) + (i32.const 192) ) - (i32.xor - (i32.shl - (i32.const 1) + ) + (then + (call $_abort) + ) + (else + (block + (i32.store + (local.get $0) + (i32.const 0) + ) + (local.set $9 (local.get $3) ) - (i32.const -1) ) ) ) - (br $do-once4) ) ) - ) - (block - (if - (i32.lt_u - (local.get $6) - (i32.load - (i32.const 192) + (else + (block + (if + (i32.lt_u + (local.tee $4 + (i32.load offset=8 + (local.get $8) + ) + ) + (i32.load + (i32.const 192) + ) + ) + (then + (call $_abort) + ) ) - ) - (call $_abort) - ) - (if - (i32.eq - (i32.load - (local.tee $0 - (i32.add - (local.get $6) - (i32.const 16) + (if + (i32.ne + (i32.load + (local.tee $1 + (i32.add + (local.get $4) + (i32.const 12) + ) + ) ) + (local.get $8) + ) + (then + (call $_abort) + ) + ) + (if + (i32.eq + (i32.load + (local.tee $3 + (i32.add + (local.get $0) + (i32.const 8) + ) + ) + ) + (local.get $8) + ) + (then + (block + (i32.store + (local.get $1) + (local.get $0) + ) + (i32.store + (local.get $3) + (local.get $4) + ) + (local.set $9 + (local.get $0) + ) + ) + ) + (else + (call $_abort) ) ) - (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 + (then + (block + (if + (i32.eq (local.get $8) - (i32.const 16) + (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) + ) + ) + ) + ) + (then + (block + (i32.store + (local.get $0) + (local.get $9) + ) + (if + (i32.eqz + (local.get $9) + ) + (then + (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) + ) + ) + ) + ) + ) + (else + (block + (if + (i32.lt_u + (local.get $6) + (i32.load + (i32.const 192) + ) + ) + (then + (call $_abort) + ) + ) + (if + (i32.eq + (i32.load + (local.tee $0 + (i32.add + (local.get $6) + (i32.const 16) + ) + ) + ) + (local.get $8) + ) + (then + (i32.store + (local.get $0) + (local.get $9) + ) + ) + (else + (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 $1) - (local.get $3) - ) - (call $_abort) - (block - (i32.store offset=16 - (local.get $9) - (local.get $1) + (if + (i32.lt_u + (local.get $9) + (local.tee $3 + (i32.load + (i32.const 192) + ) + ) + ) + (then + (call $_abort) + ) ) (i32.store offset=24 - (local.get $1) (local.get $9) + (local.get $6) ) - ) - ) - ) - (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) + (if + (local.tee $1 + (i32.load + (local.tee $0 + (i32.add + (local.get $8) + (i32.const 16) + ) + ) + ) + ) + (then + (if + (i32.lt_u + (local.get $1) + (local.get $3) + ) + (then + (call $_abort) + ) + (else + (block + (i32.store offset=16 + (local.get $9) + (local.get $1) + ) + (i32.store offset=24 + (local.get $1) + (local.get $9) + ) + ) + ) + ) + ) ) - (i32.store offset=24 - (local.get $0) - (local.get $9) + (if + (local.tee $0 + (i32.load offset=4 + (local.get $0) + ) + ) + (then + (if + (i32.lt_u + (local.get $0) + (i32.load + (i32.const 192) + ) + ) + (then + (call $_abort) + ) + (else + (block + (i32.store offset=20 + (local.get $9) + (local.get $0) + ) + (i32.store offset=24 + (local.get $0) + (local.get $9) + ) + ) + ) + ) + ) ) ) ) @@ -29348,38 +31120,42 @@ ) ) ) - ) - (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 + (i32.store offset=4 (local.get $2) - (i32.load - (i32.const 196) + (i32.or + (local.get $5) + (i32.const 1) ) ) - (block - (i32.store - (i32.const 184) + (i32.store + (i32.add + (local.get $2) (local.get $5) ) - (return) - ) - (local.set $3 (local.get $5) ) + (if + (i32.eq + (local.get $2) + (i32.load + (i32.const 196) + ) + ) + (then + (block + (i32.store + (i32.const 184) + (local.get $5) + ) + (return) + ) + ) + (else + (local.set $3 + (local.get $5) + ) + ) + ) ) ) ) @@ -29394,92 +31170,102 @@ (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 + (then + (block + (local.set $1 + (i32.add (i32.shl - (i32.const 1) (local.get $0) + (i32.const 3) ) + (i32.const 216) ) ) (if - (i32.lt_u - (local.tee $0 + (i32.and + (local.tee $3 (i32.load - (local.tee $3 - (i32.add - (local.get $1) - (i32.const 8) - ) - ) + (i32.const 176) ) ) - (i32.load - (i32.const 192) - ) - ) - (call $_abort) - (block - (local.set $15 - (local.get $3) - ) - (local.set $13 - (local.get $0) + (local.tee $0 + (i32.shl + (i32.const 1) + (local.get $0) + ) ) ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (local.get $3) - (local.get $0) + (then + (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) + ) + ) + (then + (call $_abort) + ) + (else + (block + (local.set $15 + (local.get $3) + ) + (local.set $13 + (local.get $0) + ) + ) + ) ) ) - (local.set $15 - (i32.add - (local.get $1) - (i32.const 8) + (else + (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) + ) ) ) - (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) ) - (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 @@ -29493,93 +31279,101 @@ (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 + (then + (if (result i32) + (i32.gt_u + (local.get $3) + (i32.const 16777215) + ) + (then + (i32.const 31) + ) + (else + (i32.or + (i32.and + (i32.shr_u + (local.get $3) (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) + (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 16) ) - (i32.const 8) ) ) + (i32.const 520192) ) + (i32.const 16) ) - (i32.const 520192) + (i32.const 4) ) - (i32.const 16) ) - (i32.const 4) + (local.get $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) + (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 245760) + (i32.const 2) ) - (i32.const 16) ) - (i32.const 2) ) ) + (i32.shr_u + (i32.shl + (local.get $1) + (local.get $0) + ) + (i32.const 15) + ) ) ) - (i32.shr_u - (i32.shl - (local.get $1) - (local.get $0) - ) - (i32.const 15) - ) + (i32.const 7) ) ) - (i32.const 7) + (i32.const 1) + ) + (i32.shl + (local.get $0) + (i32.const 1) ) ) - (i32.const 1) - ) - (i32.shl - (local.get $0) - (i32.const 1) ) ) ) - (i32.const 0) + (else + (i32.const 0) + ) ) ) (i32.const 2) @@ -29614,185 +31408,199 @@ ) ) ) - (block - (local.set $5 - (i32.shl - (local.get $3) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u + (then + (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 1) + (i32.const 31) ) ) - (i32.eq - (local.get $5) - (i32.const 31) - ) ) ) - ) - (local.set $0 - (i32.load - (local.get $4) + (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) + (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) ) - (i32.const -8) + (local.get $3) ) - (local.get $3) ) - ) - (local.set $4 - (i32.shl - (local.get $5) - (i32.const 1) + (local.set $4 + (i32.shl + (local.get $5) + (i32.const 1) + ) ) - ) - (if - (local.tee $1 - (i32.load - (local.tee $5 - (i32.add + (if + (local.tee $1 + (i32.load + (local.tee $5 (i32.add - (local.get $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (local.get $5) - (i32.const 31) + (i32.add + (local.get $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (local.get $5) + (i32.const 31) + ) + (i32.const 2) ) - (i32.const 2) ) ) ) ) - ) - (block - (local.set $5 - (local.get $4) - ) - (local.set $0 - (local.get $1) + (then + (block + (local.set $5 + (local.get $4) + ) + (local.set $0 + (local.get $1) + ) + (br $while-in15) + ) ) - (br $while-in15) ) ) - ) - (if - (i32.lt_u - (local.get $5) - (i32.load - (i32.const 192) - ) - ) - (call $_abort) - (block - (i32.store + (if + (i32.lt_u (local.get $5) - (local.get $2) - ) - (i32.store offset=24 - (local.get $2) - (local.get $0) + (i32.load + (i32.const 192) + ) ) - (i32.store offset=12 - (local.get $2) - (local.get $2) + (then + (call $_abort) ) - (i32.store offset=8 - (local.get $2) - (local.get $2) + (else + (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 $do-once12) ) + (br $__rjto$1) ) - (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) + (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) + (local.tee $3 + (i32.load + (i32.const 192) + ) ) ) + (i32.ge_u + (local.get $0) + (local.get $3) + ) ) - (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) + (then + (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) + ) + ) ) - (i32.store offset=24 - (local.get $2) - (i32.const 0) + (else + (call $_abort) ) ) - (call $_abort) ) ) ) - (block - (i32.store - (i32.const 180) - (i32.or - (local.get $1) - (local.get $0) + (else + (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 - (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) ) ) ) @@ -29810,9 +31618,13 @@ ) (if (local.get $0) - (return) - (local.set $0 - (i32.const 632) + (then + (return) + ) + (else + (local.set $0 + (i32.const 632) + ) ) ) (loop $while-in17 @@ -29934,7 +31746,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $1) @@ -29948,7 +31760,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.add @@ -29964,7 +31776,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) @@ -30014,7 +31826,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $3) @@ -30037,7 +31849,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) @@ -30072,98 +31884,106 @@ (local.get $2) (i32.const 20) ) - (block - (local.set $1 - (i32.and - (local.get $1) - (i32.const 255) - ) - ) - (if - (local.tee $3 + (then + (block + (local.set $1 (i32.and - (local.get $0) - (i32.const 3) + (local.get $1) + (i32.const 255) ) ) - (block - (local.set $3 - (i32.sub - (i32.add - (local.get $0) - (i32.const 4) - ) - (local.get $3) + (if + (local.tee $3 + (i32.and + (local.get $0) + (i32.const 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 + (then + (block + (local.set $3 + (i32.sub (i32.add (local.get $0) - (i32.const 1) + (i32.const 4) + ) + (local.get $3) + ) + ) + (loop $while-in + (if + (i32.lt_s + (local.get $0) + (local.get $3) + ) + (then + (block + (i32.store8 + (local.get $0) + (local.get $1) + ) + (local.set $0 + (i32.add + (local.get $0) + (i32.const 1) + ) + ) + (br $while-in) + ) ) ) - (br $while-in) ) ) ) ) - ) - (local.set $3 - (i32.or + (local.set $3 (i32.or (i32.or - (local.get $1) + (i32.or + (local.get $1) + (i32.shl + (local.get $1) + (i32.const 8) + ) + ) (i32.shl (local.get $1) - (i32.const 8) + (i32.const 16) ) ) (i32.shl (local.get $1) - (i32.const 16) + (i32.const 24) ) ) - (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) + (local.set $5 + (i32.and + (local.get $4) + (i32.const -4) ) - (block - (i32.store + ) + (loop $while-in1 + (if + (i32.lt_s (local.get $0) - (local.get $3) + (local.get $5) ) - (local.set $0 - (i32.add - (local.get $0) - (i32.const 4) + (then + (block + (i32.store + (local.get $0) + (local.get $3) + ) + (local.set $0 + (i32.add + (local.get $0) + (i32.const 4) + ) + ) + (br $while-in1) ) ) - (br $while-in1) ) ) ) @@ -30175,18 +31995,20 @@ (local.get $0) (local.get $4) ) - (block - (i32.store8 - (local.get $0) - (local.get $1) - ) - (local.set $0 - (i32.add + (then + (block + (i32.store8 (local.get $0) - (i32.const 1) + (local.get $1) ) + (local.set $0 + (i32.add + (local.get $0) + (i32.const 1) + ) + ) + (br $while-in3) ) - (br $while-in3) ) ) ) @@ -30201,7 +32023,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (global.set $tempRet0 ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $1) @@ -30251,33 +32073,35 @@ (local.get $2) (i32.const 32) ) - (block - (global.set $tempRet0 - (i32.shr_u - (local.get $1) - (local.get $2) - ) - ) - (return - (i32.or + (then + (block + (global.set $tempRet0 (i32.shr_u - (local.get $0) + (local.get $1) (local.get $2) ) - (i32.shl - (i32.and - (local.get $1) - (i32.sub - (i32.shl + ) + (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) - (local.get $2) ) - (i32.const 1) ) - ) - (i32.sub - (i32.const 32) - (local.get $2) + (i32.sub + (i32.const 32) + (local.get $2) + ) ) ) ) @@ -30301,7 +32125,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (global.set $tempRet0 ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl @@ -30357,41 +32181,43 @@ (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 + (then + (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.const 1) - ) - (i32.sub - (i32.const 32) - (local.get $2) ) ) - ) - (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) + (return + (i32.shl + (local.get $0) + (local.get $2) + ) ) ) ) @@ -30414,11 +32240,13 @@ ;; 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: (then + ;; 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: ) @@ -30436,20 +32264,22 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; 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 + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (return - ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (return + ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.store8 @@ -30486,7 +32316,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.load @@ -30523,7 +32353,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.load8_s @@ -30561,11 +32391,13 @@ (local.get $2) (i32.const 4096) ) - (return - (call $_emscripten_memcpy_big - (local.get $0) - (local.get $1) - (local.get $2) + (then + (return + (call $_emscripten_memcpy_big + (local.get $0) + (local.get $1) + (local.get $2) + ) ) ) ) @@ -30583,82 +32415,90 @@ (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 + (then + (block + (loop $while-in + (if + (i32.and (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) - ) + (i32.const 3) ) - (local.set $2 - (i32.sub - (local.get $2) - (i32.const 1) + (then + (block + (if + (i32.eqz + (local.get $2) + ) + (then + (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) ) ) - (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) - ) + (loop $while-in1 + (if + (i32.ge_s + (local.get $2) + (i32.const 4) ) - (local.set $2 - (i32.sub - (local.get $2) - (i32.const 4) + (then + (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) ) ) - (br $while-in1) ) ) ) @@ -30670,32 +32510,34 @@ (local.get $2) (i32.const 0) ) - (block - (i32.store8 - (local.get $0) - (i32.load8_s - (local.get $1) - ) - ) - (local.set $0 - (i32.add + (then + (block + (i32.store8 (local.get $0) - (i32.const 1) + (i32.load8_s + (local.get $1) + ) ) - ) - (local.set $1 - (i32.add - (local.get $1) - (i32.const 1) + (local.set $0 + (i32.add + (local.get $0) + (i32.const 1) + ) ) - ) - (local.set $2 - (i32.sub - (local.get $2) - (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) ) - (br $while-in3) ) ) ) @@ -30809,11 +32651,13 @@ ;; 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: (then + ;; 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: ) @@ -30866,11 +32710,13 @@ ) (if (local.get $r) - (i64.store - (local.get $r) - (i64.rem_u - (local.get $x64) - (local.get $y64) + (then + (i64.store + (local.get $r) + (i64.rem_u + (local.get $x64) + (local.get $y64) + ) ) ) ) |