diff options
author | Alon Zakai <alonzakai@gmail.com> | 2017-06-28 22:05:05 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-28 22:05:05 -0700 |
commit | e488da5adbef2613c08fe205db5b79b1765a4af3 (patch) | |
tree | e3cab840dcbf7d8d4ccf1f47a742fbfc41e1d5ef /test | |
parent | e2c08d42ab0ffc05d980ae2d34fee0e77b201134 (diff) | |
download | binaryen-e488da5adbef2613c08fe205db5b79b1765a4af3.tar.gz binaryen-e488da5adbef2613c08fe205db5b79b1765a4af3.tar.bz2 binaryen-e488da5adbef2613c08fe205db5b79b1765a4af3.zip |
Code folding (#1076)
Adds a pass that folds code, i.e. merges it when possible. See details in comment in the pass implementation cpp.
This is enabled by default in -Os and -Oz. Seems risky to enable anywhere else, as it does add branches - likely predictable ones so maybe no slowdown, but still some risk.
Code size numbers:
wasm-backend: 196331
+ binaryen -Os (before): 182598
+ binaryen -Os (with folding): 181943
asm2wasm -Os (before): 172463
asm2wasm -Os (with folding): 168774
So this reduces wasm-backend output by an additional 0.5% than it could before. Mainly this is because the wasm backend already has code folding, whereas on asm2wasm output, where we didn't have folding before, this saves over 2%. The 0.5% improvement on the wasm backend's output might be because this can fold more types of code than LLVM can (it can fold nested control flow, in particular).
Diffstat (limited to 'test')
-rw-r--r-- | test/emcc_hello_world.fromasm | 8016 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm.clamp | 8016 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm.imprecise | 8016 | ||||
-rw-r--r-- | test/memorygrowth.fromasm | 8459 | ||||
-rw-r--r-- | test/memorygrowth.fromasm.clamp | 8459 | ||||
-rw-r--r-- | test/memorygrowth.fromasm.imprecise | 8459 | ||||
-rw-r--r-- | test/passes/remove-unused-names_code-folding.txt | 1681 | ||||
-rw-r--r-- | test/passes/remove-unused-names_code-folding.wast | 1176 | ||||
-rw-r--r-- | test/wasm-only.fromasm | 25 | ||||
-rw-r--r-- | test/wasm-only.fromasm.clamp | 25 | ||||
-rw-r--r-- | test/wasm-only.fromasm.imprecise | 25 |
11 files changed, 27472 insertions, 24885 deletions
diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm index 9d87a0e2c..a7ad859f6 100644 --- a/test/emcc_hello_world.fromasm +++ b/test/emcc_hello_world.fromasm @@ -296,26 +296,20 @@ (set_local $1 (i32.const 87) ) - (set_local $0 - (i32.const 775) - ) (br $__rjti$1) ) ) - (if + (br_if $__rjti$1 (get_local $1) - (block - (set_local $0 - (i32.const 775) - ) - (br $__rjti$1) - ) - (set_local $0 - (i32.const 775) - ) + ) + (set_local $0 + (i32.const 775) ) (br $__rjto$1) ) + (set_local $0 + (i32.const 775) + ) (loop $while-in1 (loop $while-in3 (set_local $2 @@ -956,35 +950,34 @@ (get_local $5) ) ) - (if (result i32) - (i32.eq - (get_local $4) - (i32.const 2) - ) - (block (result i32) - (i32.store - (get_local $6) - (i32.add - (i32.load - (get_local $6) + (block (result i32) + (if + (i32.eq + (get_local $4) + (i32.const 2) + ) + (block + (i32.store + (get_local $6) + (i32.add + (i32.load + (get_local $6) + ) + (get_local $3) ) - (get_local $3) + ) + (set_local $7 + (get_local $5) + ) + (set_local $4 + (i32.const 2) ) ) (set_local $7 (get_local $5) ) - (set_local $4 - (i32.const 2) - ) - (get_local $3) - ) - (block (result i32) - (set_local $7 - (get_local $5) - ) - (get_local $3) ) + (get_local $3) ) ) ) @@ -1861,7 +1854,7 @@ (get_local $0) ) (loop $while-in - (if + (br_if $__rjti$2 (i32.eq (i32.load8_u (get_local $2) @@ -1871,12 +1864,6 @@ (i32.const 255) ) ) - (block - (set_local $0 - (get_local $3) - ) - (br $__rjti$2) - ) ) (br_if $while-in (i32.and @@ -1919,20 +1906,17 @@ ) ) ) - (if + (br_if $__rjti$2 (get_local $0) - (block - (set_local $0 - (get_local $3) - ) - (br $__rjti$2) - ) - (set_local $0 - (i32.const 0) - ) + ) + (set_local $0 + (i32.const 0) ) (br $label$break$L8) ) + (set_local $0 + (get_local $3) + ) (if (i32.ne (i32.load8_u @@ -2921,34 +2905,31 @@ (get_local $6) ) ) - (set_local $1 - (if (result i32) - (i32.lt_s - (get_local $14) - (i32.const 0) - ) - (block (result i32) - (set_local $11 - (i32.or - (get_local $1) - (i32.const 8192) - ) - ) - (set_local $14 - (i32.sub - (i32.const 0) - (get_local $14) - ) + (if + (i32.lt_s + (get_local $14) + (i32.const 0) + ) + (block + (set_local $11 + (i32.or + (get_local $1) + (i32.const 8192) ) - (get_local $8) ) - (block (result i32) - (set_local $11 - (get_local $1) + (set_local $14 + (i32.sub + (i32.const 0) + (get_local $14) ) - (get_local $8) ) ) + (set_local $11 + (get_local $1) + ) + ) + (set_local $1 + (get_local $8) ) ) (if @@ -3788,13 +3769,6 @@ ) ) ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$8) ) (block (set_local $5 @@ -3803,15 +3777,15 @@ (set_local $7 (get_local $11) ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$8) ) ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (br $__rjti$8) ) (set_local $5 (i32.load @@ -3870,7 +3844,6 @@ (set_local $9 (i32.const 4092) ) - (br $__rjti$4) ) (block (set_local $8 @@ -3888,9 +3861,9 @@ (get_local $9) ) ) - (br $__rjti$4) ) ) + (br $__rjti$4) ) (set_local $5 (i32.load @@ -6615,7 +6588,6 @@ (set_local $9 (i32.const 4091) ) - (br $__rjti$8) ) (block (set_local $8 @@ -6630,9 +6602,9 @@ (i32.const 4091) ) ) - (br $__rjti$8) ) ) + (br $__rjti$8) ) ) ) @@ -6898,7 +6870,7 @@ ) ) ) - (if (result i32) + (if (i32.or (get_local $6) (tee_local $12 @@ -6920,7 +6892,7 @@ ) ) ) - (block (result i32) + (block (set_local $7 (get_local $5) ) @@ -6948,18 +6920,17 @@ ) ) ) - (get_local $22) ) - (block (result i32) + (block (set_local $7 (get_local $22) ) (set_local $12 (i32.const 0) ) - (get_local $22) ) ) + (get_local $22) ) ) (call $_pad @@ -7865,258 +7836,274 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (block $do-once - (if - (i32.lt_u - (get_local $0) - (i32.const 245) - ) - (block - (if - (i32.and - (tee_local $5 - (i32.shr_u - (tee_local $11 - (i32.load - (i32.const 176) + (block $folding-inner0 + (block $do-once + (if + (i32.lt_u + (get_local $0) + (i32.const 245) + ) + (block + (if + (i32.and + (tee_local $5 + (i32.shr_u + (tee_local $11 + (i32.load + (i32.const 176) + ) ) - ) - (tee_local $13 - (i32.shr_u - (tee_local $4 - (select - (i32.const 16) - (i32.and - (i32.add + (tee_local $13 + (i32.shr_u + (tee_local $4 + (select + (i32.const 16) + (i32.and + (i32.add + (get_local $0) + (i32.const 11) + ) + (i32.const -8) + ) + (i32.lt_u (get_local $0) (i32.const 11) ) - (i32.const -8) - ) - (i32.lt_u - (get_local $0) - (i32.const 11) ) ) + (i32.const 3) ) - (i32.const 3) ) ) ) + (i32.const 3) ) - (i32.const 3) - ) - (block - (set_local $10 - (i32.load - (tee_local $1 - (i32.add - (tee_local $7 - (i32.load - (tee_local $3 - (i32.add - (tee_local $2 - (i32.add - (i32.shl - (tee_local $4 - (i32.add - (i32.xor - (i32.and - (get_local $5) + (block + (set_local $10 + (i32.load + (tee_local $1 + (i32.add + (tee_local $7 + (i32.load + (tee_local $3 + (i32.add + (tee_local $2 + (i32.add + (i32.shl + (tee_local $4 + (i32.add + (i32.xor + (i32.and + (get_local $5) + (i32.const 1) + ) (i32.const 1) ) - (i32.const 1) + (get_local $13) ) - (get_local $13) ) + (i32.const 3) ) - (i32.const 3) + (i32.const 216) ) - (i32.const 216) ) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 8) ) - (i32.const 8) ) ) ) - ) - (if - (i32.eq - (get_local $2) - (get_local $10) - ) - (i32.store - (i32.const 176) - (i32.and - (get_local $11) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $4) - ) - (i32.const -1) - ) + (if + (i32.eq + (get_local $2) + (get_local $10) ) - ) - (block - (if - (i32.lt_u - (get_local $10) - (i32.load - (i32.const 192) + (i32.store + (i32.const 176) + (i32.and + (get_local $11) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $4) + ) + (i32.const -1) ) ) - (call $_abort) ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $10) - (i32.const 12) - ) + (block + (if + (i32.lt_u + (get_local $10) + (i32.load + (i32.const 192) ) ) - (get_local $7) + (call $_abort) ) - (block - (i32.store - (get_local $0) - (get_local $2) + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $10) + (i32.const 12) + ) + ) + ) + (get_local $7) ) - (i32.store - (get_local $3) - (get_local $10) + (block + (i32.store + (get_local $0) + (get_local $2) + ) + (i32.store + (get_local $3) + (get_local $10) + ) ) + (call $_abort) ) - (call $_abort) ) ) - ) - (i32.store offset=4 - (get_local $7) - (i32.or - (tee_local $0 - (i32.shl - (get_local $4) - (i32.const 3) + (i32.store offset=4 + (get_local $7) + (i32.or + (tee_local $0 + (i32.shl + (get_local $4) + (i32.const 3) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $0 - (i32.add + (i32.store + (tee_local $0 (i32.add - (get_local $7) + (i32.add + (get_local $7) + (get_local $0) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.load (get_local $0) ) - (i32.const 4) + (i32.const 1) ) ) - (i32.or - (i32.load - (get_local $0) - ) - (i32.const 1) + (return + (get_local $1) ) ) - (return - (get_local $1) - ) ) - ) - (if - (i32.gt_u - (get_local $4) - (tee_local $0 - (i32.load - (i32.const 184) + (if + (i32.gt_u + (get_local $4) + (tee_local $0 + (i32.load + (i32.const 184) + ) ) ) - ) - (block - (if - (get_local $5) - (block - (set_local $10 - (i32.and - (i32.shr_u - (tee_local $3 - (i32.add - (i32.and - (tee_local $3 - (i32.and - (i32.shl - (get_local $5) - (get_local $13) - ) - (i32.or - (tee_local $3 - (i32.shl - (i32.const 2) - (get_local $13) - ) + (block + (if + (get_local $5) + (block + (set_local $10 + (i32.and + (i32.shr_u + (tee_local $3 + (i32.add + (i32.and + (tee_local $3 + (i32.and + (i32.shl + (get_local $5) + (get_local $13) ) - (i32.sub - (i32.const 0) - (get_local $3) + (i32.or + (tee_local $3 + (i32.shl + (i32.const 2) + (get_local $13) + ) + ) + (i32.sub + (i32.const 0) + (get_local $3) + ) ) ) ) + (i32.sub + (i32.const 0) + (get_local $3) + ) ) - (i32.sub - (i32.const 0) - (get_local $3) - ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (set_local $9 - (i32.load - (tee_local $7 - (i32.add - (tee_local $12 - (i32.load - (tee_local $3 - (i32.add - (tee_local $10 - (i32.add - (i32.shl - (tee_local $5 - (i32.add - (i32.or + (set_local $9 + (i32.load + (tee_local $7 + (i32.add + (tee_local $12 + (i32.load + (tee_local $3 + (i32.add + (tee_local $10 + (i32.add + (i32.shl + (tee_local $5 + (i32.add (i32.or (i32.or (i32.or + (i32.or + (tee_local $3 + (i32.and + (i32.shr_u + (tee_local $7 + (i32.shr_u + (get_local $3) + (get_local $10) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $10) + ) (tee_local $3 (i32.and (i32.shr_u (tee_local $7 (i32.shr_u + (get_local $7) (get_local $3) - (get_local $10) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $10) ) (tee_local $3 (i32.and @@ -8127,9 +8114,9 @@ (get_local $3) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) @@ -8144,310 +8131,310 @@ ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $7 - (i32.shr_u - (get_local $7) - (get_local $3) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) - ) - (i32.shr_u - (get_local $7) - (get_local $3) + (i32.shr_u + (get_local $7) + (get_local $3) + ) ) ) + (i32.const 3) ) - (i32.const 3) + (i32.const 216) ) - (i32.const 216) ) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 8) ) - (i32.const 8) ) ) ) - ) - (if - (i32.eq - (get_local $10) - (get_local $9) - ) - (block - (i32.store - (i32.const 176) - (i32.and - (get_local $11) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $5) + (if + (i32.eq + (get_local $10) + (get_local $9) + ) + (block + (i32.store + (i32.const 176) + (i32.and + (get_local $11) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $5) + ) + (i32.const -1) ) - (i32.const -1) ) ) - ) - (set_local $8 - (get_local $0) - ) - ) - (block - (if - (i32.lt_u - (get_local $9) - (i32.load - (i32.const 192) - ) + (set_local $8 + (get_local $0) ) - (call $_abort) ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $9) - (i32.const 12) - ) + (block + (if + (i32.lt_u + (get_local $9) + (i32.load + (i32.const 192) ) ) - (get_local $12) + (call $_abort) ) - (block - (i32.store - (get_local $0) - (get_local $10) - ) - (i32.store - (get_local $3) - (get_local $9) - ) - (set_local $8 + (if + (i32.eq (i32.load - (i32.const 184) + (tee_local $0 + (i32.add + (get_local $9) + (i32.const 12) + ) + ) + ) + (get_local $12) + ) + (block + (i32.store + (get_local $0) + (get_local $10) + ) + (i32.store + (get_local $3) + (get_local $9) + ) + (set_local $8 + (i32.load + (i32.const 184) + ) ) ) + (call $_abort) ) - (call $_abort) ) ) - ) - (i32.store offset=4 - (get_local $12) - (i32.or - (get_local $4) - (i32.const 3) - ) - ) - (i32.store offset=4 - (tee_local $10 - (i32.add - (get_local $12) + (i32.store offset=4 + (get_local $12) + (i32.or (get_local $4) + (i32.const 3) ) ) - (i32.or - (tee_local $5 - (i32.sub - (i32.shl - (get_local $5) - (i32.const 3) - ) + (i32.store offset=4 + (tee_local $10 + (i32.add + (get_local $12) (get_local $4) ) ) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (get_local $10) - (get_local $5) - ) - (get_local $5) - ) - (if - (get_local $8) - (block - (set_local $12 - (i32.load - (i32.const 196) - ) - ) - (set_local $4 - (i32.add - (i32.shl - (tee_local $0 - (i32.shr_u - (get_local $8) - (i32.const 3) - ) + (i32.or + (tee_local $5 + (i32.sub + (i32.shl + (get_local $5) + (i32.const 3) ) - (i32.const 3) + (get_local $4) ) - (i32.const 216) ) + (i32.const 1) ) - (if - (i32.and - (tee_local $3 - (i32.load - (i32.const 176) - ) + ) + (i32.store + (i32.add + (get_local $10) + (get_local $5) + ) + (get_local $5) + ) + (if + (get_local $8) + (block + (set_local $12 + (i32.load + (i32.const 196) ) - (tee_local $0 + ) + (set_local $4 + (i32.add (i32.shl - (i32.const 1) - (get_local $0) + (tee_local $0 + (i32.shr_u + (get_local $8) + (i32.const 3) + ) + ) + (i32.const 3) ) + (i32.const 216) ) ) (if - (i32.lt_u - (tee_local $0 + (i32.and + (tee_local $3 (i32.load - (tee_local $3 - (i32.add - (get_local $4) - (i32.const 8) + (i32.const 176) + ) + ) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $0) + ) + ) + ) + (if + (i32.lt_u + (tee_local $0 + (i32.load + (tee_local $3 + (i32.add + (get_local $4) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 192) + ) ) - (i32.load - (i32.const 192) + (call $_abort) + (block + (set_local $2 + (get_local $3) + ) + (set_local $1 + (get_local $0) + ) ) ) - (call $_abort) (block + (i32.store + (i32.const 176) + (i32.or + (get_local $3) + (get_local $0) + ) + ) (set_local $2 - (get_local $3) + (i32.add + (get_local $4) + (i32.const 8) + ) ) (set_local $1 - (get_local $0) - ) - ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (get_local $3) - (get_local $0) - ) - ) - (set_local $2 - (i32.add (get_local $4) - (i32.const 8) ) ) - (set_local $1 - (get_local $4) - ) ) - ) - (i32.store - (get_local $2) - (get_local $12) - ) - (i32.store offset=12 - (get_local $1) - (get_local $12) - ) - (i32.store offset=8 - (get_local $12) - (get_local $1) - ) - (i32.store offset=12 - (get_local $12) - (get_local $4) + (i32.store + (get_local $2) + (get_local $12) + ) + (i32.store offset=12 + (get_local $1) + (get_local $12) + ) + (i32.store offset=8 + (get_local $12) + (get_local $1) + ) + (i32.store offset=12 + (get_local $12) + (get_local $4) + ) ) ) - ) - (i32.store - (i32.const 184) - (get_local $5) - ) - (i32.store - (i32.const 196) - (get_local $10) - ) - (return - (get_local $7) + (i32.store + (i32.const 184) + (get_local $5) + ) + (i32.store + (i32.const 196) + (get_local $10) + ) + (return + (get_local $7) + ) ) ) - ) - (if - (tee_local $0 - (i32.load - (i32.const 180) + (if + (tee_local $0 + (i32.load + (i32.const 180) + ) ) - ) - (block - (set_local $2 - (i32.and - (i32.shr_u - (tee_local $0 - (i32.add - (i32.and - (get_local $0) - (i32.sub - (i32.const 0) + (block + (set_local $2 + (i32.and + (i32.shr_u + (tee_local $0 + (i32.add + (i32.and (get_local $0) + (i32.sub + (i32.const 0) + (get_local $0) + ) ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (set_local $7 - (i32.sub - (i32.and - (i32.load offset=4 - (tee_local $0 - (i32.load offset=480 - (i32.shl - (i32.add - (i32.or + (set_local $7 + (i32.sub + (i32.and + (i32.load offset=4 + (tee_local $0 + (i32.load offset=480 + (i32.shl + (i32.add (i32.or (i32.or (i32.or + (i32.or + (tee_local $0 + (i32.and + (i32.shr_u + (tee_local $1 + (i32.shr_u + (get_local $0) + (get_local $2) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $2) + ) (tee_local $0 (i32.and (i32.shr_u (tee_local $1 (i32.shr_u + (get_local $1) (get_local $0) - (get_local $2) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $2) ) (tee_local $0 (i32.and @@ -8458,9 +8445,9 @@ (get_local $0) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) @@ -8475,163 +8462,135 @@ ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.shr_u - (get_local $1) - (get_local $0) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) + (i32.shr_u + (get_local $1) + (get_local $0) + ) ) - (i32.shr_u - (get_local $1) - (get_local $0) - ) + (i32.const 2) ) - (i32.const 2) ) ) ) + (i32.const -8) ) - (i32.const -8) + (get_local $4) ) - (get_local $4) ) - ) - (set_local $1 - (get_local $0) - ) - (set_local $2 - (get_local $0) - ) - (loop $while-in - (block $while-out - (if - (i32.eqz - (tee_local $0 - (i32.load offset=16 - (get_local $1) - ) - ) - ) + (set_local $1 + (get_local $0) + ) + (set_local $2 + (get_local $0) + ) + (loop $while-in + (block $while-out (if (i32.eqz (tee_local $0 - (i32.load offset=20 + (i32.load offset=16 (get_local $1) ) ) ) - (block - (set_local $10 - (get_local $7) + (if + (i32.eqz + (tee_local $0 + (i32.load offset=20 + (get_local $1) + ) + ) ) - (set_local $5 - (get_local $2) + (block + (set_local $10 + (get_local $7) + ) + (set_local $5 + (get_local $2) + ) + (br $while-out) ) - (br $while-out) ) ) - ) - (set_local $10 - (i32.lt_u - (tee_local $1 - (i32.sub - (i32.and - (i32.load offset=4 - (get_local $0) + (set_local $10 + (i32.lt_u + (tee_local $1 + (i32.sub + (i32.and + (i32.load offset=4 + (get_local $0) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $4) ) - (get_local $4) ) + (get_local $7) ) - (get_local $7) ) - ) - (set_local $7 - (select - (get_local $1) - (get_local $7) - (get_local $10) + (set_local $7 + (select + (get_local $1) + (get_local $7) + (get_local $10) + ) ) - ) - (set_local $1 - (get_local $0) - ) - (set_local $2 - (select + (set_local $1 (get_local $0) - (get_local $2) - (get_local $10) ) - ) - (br $while-in) - ) - ) - (if - (i32.lt_u - (get_local $5) - (tee_local $12 - (i32.load - (i32.const 192) + (set_local $2 + (select + (get_local $0) + (get_local $2) + (get_local $10) + ) ) + (br $while-in) ) ) - (call $_abort) - ) - (if - (i32.ge_u - (get_local $5) - (tee_local $11 - (i32.add - (get_local $5) - (get_local $4) + (if + (i32.lt_u + (get_local $5) + (tee_local $12 + (i32.load + (i32.const 192) + ) ) ) + (call $_abort) ) - (call $_abort) - ) - (set_local $8 - (i32.load offset=24 - (get_local $5) - ) - ) - (block $do-once4 (if - (i32.eq - (tee_local $0 - (i32.load offset=12 + (i32.ge_u + (get_local $5) + (tee_local $11 + (i32.add (get_local $5) + (get_local $4) ) ) + ) + (call $_abort) + ) + (set_local $8 + (i32.load offset=24 (get_local $5) ) - (block - (if - (i32.eqz - (tee_local $1 - (i32.load - (tee_local $0 - (i32.add - (get_local $5) - (i32.const 20) - ) - ) - ) + ) + (block $do-once4 + (if + (i32.eq + (tee_local $0 + (i32.load offset=12 + (get_local $5) ) ) + (get_local $5) + ) + (block (if (i32.eqz (tee_local $1 @@ -8639,719 +8598,733 @@ (tee_local $0 (i32.add (get_local $5) - (i32.const 16) + (i32.const 20) ) ) ) ) ) - (block - (set_local $9 - (i32.const 0) - ) - (br $do-once4) - ) - ) - ) - (loop $while-in7 - (if - (tee_local $2 - (i32.load - (tee_local $7 - (i32.add - (get_local $1) - (i32.const 20) + (if + (i32.eqz + (tee_local $1 + (i32.load + (tee_local $0 + (i32.add + (get_local $5) + (i32.const 16) + ) + ) ) ) ) - ) - (block - (set_local $1 - (get_local $2) - ) - (set_local $0 - (get_local $7) + (block + (set_local $9 + (i32.const 0) + ) + (br $do-once4) ) - (br $while-in7) ) ) - (if - (tee_local $2 - (i32.load - (tee_local $7 - (i32.add - (get_local $1) - (i32.const 16) + (loop $while-in7 + (if + (tee_local $2 + (i32.load + (tee_local $7 + (i32.add + (get_local $1) + (i32.const 20) + ) ) ) ) + (block + (set_local $1 + (get_local $2) + ) + (set_local $0 + (get_local $7) + ) + (br $while-in7) + ) ) - (block - (set_local $1 - (get_local $2) + (if + (tee_local $2 + (i32.load + (tee_local $7 + (i32.add + (get_local $1) + (i32.const 16) + ) + ) + ) ) - (set_local $0 - (get_local $7) + (block + (set_local $1 + (get_local $2) + ) + (set_local $0 + (get_local $7) + ) + (br $while-in7) ) - (br $while-in7) ) ) - ) - (if - (i32.lt_u - (get_local $0) - (get_local $12) - ) - (call $_abort) - (block - (i32.store + (if + (i32.lt_u (get_local $0) - (i32.const 0) - ) - (set_local $9 - (get_local $1) + (get_local $12) ) - ) - ) - ) - (block - (if - (i32.lt_u - (tee_local $7 - (i32.load offset=8 - (get_local $5) + (call $_abort) + (block + (i32.store + (get_local $0) + (i32.const 0) + ) + (set_local $9 + (get_local $1) ) ) - (get_local $12) ) - (call $_abort) ) - (if - (i32.ne - (i32.load - (tee_local $2 - (i32.add - (get_local $7) - (i32.const 12) + (block + (if + (i32.lt_u + (tee_local $7 + (i32.load offset=8 + (get_local $5) ) ) + (get_local $12) ) - (get_local $5) + (call $_abort) ) - (call $_abort) - ) - (if - (i32.eq - (i32.load - (tee_local $1 - (i32.add - (get_local $0) - (i32.const 8) + (if + (i32.ne + (i32.load + (tee_local $2 + (i32.add + (get_local $7) + (i32.const 12) + ) ) ) + (get_local $5) ) - (get_local $5) + (call $_abort) ) - (block - (i32.store - (get_local $2) - (get_local $0) - ) - (i32.store - (get_local $1) - (get_local $7) + (if + (i32.eq + (i32.load + (tee_local $1 + (i32.add + (get_local $0) + (i32.const 8) + ) + ) + ) + (get_local $5) ) - (set_local $9 - (get_local $0) + (block + (i32.store + (get_local $2) + (get_local $0) + ) + (i32.store + (get_local $1) + (get_local $7) + ) + (set_local $9 + (get_local $0) + ) ) + (call $_abort) ) - (call $_abort) ) ) ) - ) - (block $do-once8 - (if - (get_local $8) - (block - (if - (i32.eq - (get_local $5) - (i32.load - (tee_local $0 - (i32.add - (i32.shl - (tee_local $1 - (i32.load offset=28 - (get_local $5) + (block $do-once8 + (if + (get_local $8) + (block + (if + (i32.eq + (get_local $5) + (i32.load + (tee_local $0 + (i32.add + (i32.shl + (tee_local $1 + (i32.load offset=28 + (get_local $5) + ) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 480) ) - (i32.const 480) ) ) ) - ) - (block - (i32.store - (get_local $0) - (get_local $9) - ) - (if - (i32.eqz + (block + (i32.store + (get_local $0) (get_local $9) ) - (block - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $1) + (if + (i32.eqz + (get_local $9) + ) + (block + (i32.store + (i32.const 180) + (i32.and + (i32.load + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $1) + ) + (i32.const -1) ) - (i32.const -1) ) ) + (br $do-once8) ) - (br $do-once8) ) ) - ) - (block - (if - (i32.lt_u - (get_local $8) - (i32.load - (i32.const 192) + (block + (if + (i32.lt_u + (get_local $8) + (i32.load + (i32.const 192) + ) ) + (call $_abort) ) - (call $_abort) - ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $8) - (i32.const 16) + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $8) + (i32.const 16) + ) ) ) + (get_local $5) + ) + (i32.store + (get_local $0) + (get_local $9) + ) + (i32.store offset=20 + (get_local $8) + (get_local $9) ) - (get_local $5) - ) - (i32.store - (get_local $0) - (get_local $9) - ) - (i32.store offset=20 - (get_local $8) - (get_local $9) ) - ) - (br_if $do-once8 - (i32.eqz - (get_local $9) + (br_if $do-once8 + (i32.eqz + (get_local $9) + ) ) ) ) - ) - (if - (i32.lt_u - (get_local $9) - (tee_local $0 - (i32.load - (i32.const 192) + (if + (i32.lt_u + (get_local $9) + (tee_local $0 + (i32.load + (i32.const 192) + ) ) ) + (call $_abort) ) - (call $_abort) - ) - (i32.store offset=24 - (get_local $9) - (get_local $8) - ) - (if - (tee_local $1 - (i32.load offset=16 - (get_local $5) - ) + (i32.store offset=24 + (get_local $9) + (get_local $8) ) (if - (i32.lt_u - (get_local $1) - (get_local $0) + (tee_local $1 + (i32.load offset=16 + (get_local $5) + ) ) - (call $_abort) - (block - (i32.store offset=16 - (get_local $9) + (if + (i32.lt_u (get_local $1) + (get_local $0) ) - (i32.store offset=24 - (get_local $1) - (get_local $9) + (call $_abort) + (block + (i32.store offset=16 + (get_local $9) + (get_local $1) + ) + (i32.store offset=24 + (get_local $1) + (get_local $9) + ) ) ) ) - ) - (if - (tee_local $0 - (i32.load offset=20 - (get_local $5) - ) - ) (if - (i32.lt_u - (get_local $0) - (i32.load - (i32.const 192) + (tee_local $0 + (i32.load offset=20 + (get_local $5) ) ) - (call $_abort) - (block - (i32.store offset=20 - (get_local $9) + (if + (i32.lt_u (get_local $0) + (i32.load + (i32.const 192) + ) ) - (i32.store offset=24 - (get_local $0) - (get_local $9) + (call $_abort) + (block + (i32.store offset=20 + (get_local $9) + (get_local $0) + ) + (i32.store offset=24 + (get_local $0) + (get_local $9) + ) ) ) ) ) ) ) - ) - (if - (i32.lt_u - (get_local $10) - (i32.const 16) - ) - (block - (i32.store offset=4 - (get_local $5) - (i32.or - (tee_local $0 - (i32.add - (get_local $10) - (get_local $4) + (if + (i32.lt_u + (get_local $10) + (i32.const 16) + ) + (block + (i32.store offset=4 + (get_local $5) + (i32.or + (tee_local $0 + (i32.add + (get_local $10) + (get_local $4) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $0 - (i32.add + (i32.store + (tee_local $0 (i32.add - (get_local $5) - (get_local $0) + (i32.add + (get_local $5) + (get_local $0) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $0) + (i32.or + (i32.load + (get_local $0) + ) + (i32.const 1) ) - (i32.const 1) - ) - ) - ) - (block - (i32.store offset=4 - (get_local $5) - (i32.or - (get_local $4) - (i32.const 3) ) ) - (i32.store offset=4 - (get_local $11) - (i32.or - (get_local $10) - (i32.const 1) + (block + (i32.store offset=4 + (get_local $5) + (i32.or + (get_local $4) + (i32.const 3) + ) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $11) - (get_local $10) + (i32.or + (get_local $10) + (i32.const 1) + ) ) - (get_local $10) - ) - (if - (tee_local $0 - (i32.load - (i32.const 184) + (i32.store + (i32.add + (get_local $11) + (get_local $10) ) + (get_local $10) ) - (block - (set_local $4 + (if + (tee_local $0 (i32.load - (i32.const 196) + (i32.const 184) ) ) - (set_local $2 - (i32.add - (i32.shl - (tee_local $0 - (i32.shr_u - (get_local $0) - (i32.const 3) - ) - ) - (i32.const 3) + (block + (set_local $4 + (i32.load + (i32.const 196) ) - (i32.const 216) ) - ) - (if - (i32.and - (tee_local $1 - (i32.load - (i32.const 176) - ) - ) - (tee_local $0 + (set_local $2 + (i32.add (i32.shl - (i32.const 1) - (get_local $0) + (tee_local $0 + (i32.shr_u + (get_local $0) + (i32.const 3) + ) + ) + (i32.const 3) ) + (i32.const 216) ) ) (if - (i32.lt_u - (tee_local $0 + (i32.and + (tee_local $1 (i32.load - (tee_local $1 - (i32.add - (get_local $2) - (i32.const 8) + (i32.const 176) + ) + ) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $0) + ) + ) + ) + (if + (i32.lt_u + (tee_local $0 + (i32.load + (tee_local $1 + (i32.add + (get_local $2) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 192) + ) ) - (i32.load - (i32.const 192) + (call $_abort) + (block + (set_local $6 + (get_local $1) + ) + (set_local $3 + (get_local $0) + ) ) ) - (call $_abort) (block + (i32.store + (i32.const 176) + (i32.or + (get_local $1) + (get_local $0) + ) + ) (set_local $6 - (get_local $1) + (i32.add + (get_local $2) + (i32.const 8) + ) ) (set_local $3 - (get_local $0) - ) - ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (get_local $1) - (get_local $0) - ) - ) - (set_local $6 - (i32.add (get_local $2) - (i32.const 8) ) ) - (set_local $3 - (get_local $2) - ) ) - ) - (i32.store - (get_local $6) - (get_local $4) - ) - (i32.store offset=12 - (get_local $3) - (get_local $4) - ) - (i32.store offset=8 - (get_local $4) - (get_local $3) - ) - (i32.store offset=12 - (get_local $4) - (get_local $2) + (i32.store + (get_local $6) + (get_local $4) + ) + (i32.store offset=12 + (get_local $3) + (get_local $4) + ) + (i32.store offset=8 + (get_local $4) + (get_local $3) + ) + (i32.store offset=12 + (get_local $4) + (get_local $2) + ) ) ) + (i32.store + (i32.const 184) + (get_local $10) + ) + (i32.store + (i32.const 196) + (get_local $11) + ) ) - (i32.store - (i32.const 184) - (get_local $10) - ) - (i32.store - (i32.const 196) - (get_local $11) + ) + (return + (i32.add + (get_local $5) + (i32.const 8) ) ) ) - (return - (i32.add - (get_local $5) - (i32.const 8) - ) + (set_local $0 + (get_local $4) ) ) - (set_local $0 - (get_local $4) - ) + ) + (set_local $0 + (get_local $4) ) ) + ) + (if + (i32.gt_u + (get_local $0) + (i32.const -65) + ) (set_local $0 - (get_local $4) + (i32.const -1) ) - ) - ) - (if - (i32.gt_u - (get_local $0) - (i32.const -65) - ) - (set_local $0 - (i32.const -1) - ) - (block - (set_local $2 - (i32.and - (tee_local $0 - (i32.add - (get_local $0) - (i32.const 11) + (block + (set_local $2 + (i32.and + (tee_local $0 + (i32.add + (get_local $0) + (i32.const 11) + ) ) + (i32.const -8) ) - (i32.const -8) ) - ) - (if - (tee_local $18 - (i32.load - (i32.const 180) + (if + (tee_local $18 + (i32.load + (i32.const 180) + ) ) - ) - (block - (set_local $14 - (if (result i32) - (tee_local $0 - (i32.shr_u - (get_local $0) - (i32.const 8) - ) - ) + (block + (set_local $14 (if (result i32) - (i32.gt_u - (get_local $2) - (i32.const 16777215) + (tee_local $0 + (i32.shr_u + (get_local $0) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $2) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $2) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $2) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (i32.or + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $0) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $3) ) - (get_local $3) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $1) + (get_local $0) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $1) + (get_local $0) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) - ) - (set_local $3 - (i32.sub - (i32.const 0) - (get_local $2) + (set_local $3 + (i32.sub + (i32.const 0) + (get_local $2) + ) ) - ) - (block $__rjto$3 - (block $__rjti$3 - (if - (tee_local $0 - (i32.load offset=480 - (i32.shl - (get_local $14) - (i32.const 2) + (block $__rjto$3 + (block $__rjti$3 + (if + (tee_local $0 + (i32.load offset=480 + (i32.shl + (get_local $14) + (i32.const 2) + ) ) ) - ) - (block - (set_local $6 - (i32.const 0) - ) - (set_local $8 - (i32.shl - (get_local $2) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u + (block + (set_local $6 + (i32.const 0) + ) + (set_local $8 + (i32.shl + (get_local $2) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $14) + (i32.const 1) + ) + ) + (i32.eq (get_local $14) - (i32.const 1) + (i32.const 31) ) ) - (i32.eq - (get_local $14) - (i32.const 31) - ) ) ) - ) - (set_local $1 - (i32.const 0) - ) - (loop $while-in14 - (if - (i32.lt_u - (tee_local $4 - (i32.sub - (tee_local $9 - (i32.and - (i32.load offset=4 - (get_local $0) + (set_local $1 + (i32.const 0) + ) + (loop $while-in14 + (if + (i32.lt_u + (tee_local $4 + (i32.sub + (tee_local $9 + (i32.and + (i32.load offset=4 + (get_local $0) + ) + (i32.const -8) ) - (i32.const -8) ) + (get_local $2) ) - (get_local $2) ) + (get_local $3) ) - (get_local $3) - ) - (if - (i32.eq - (get_local $9) - (get_local $2) - ) - (block - (set_local $1 - (get_local $4) - ) - (set_local $3 - (get_local $0) + (if + (i32.eq + (get_local $9) + (get_local $2) ) - (br $__rjti$3) - ) - (block - (set_local $3 - (get_local $4) + (block + (set_local $1 + (get_local $4) + ) + (set_local $3 + (get_local $0) + ) + (br $__rjti$3) ) - (set_local $1 - (get_local $0) + (block + (set_local $3 + (get_local $4) + ) + (set_local $1 + (get_local $0) + ) ) ) ) - ) - (set_local $0 - (select - (get_local $6) - (tee_local $4 - (i32.load offset=20 - (get_local $0) - ) - ) - (i32.or - (i32.eqz - (get_local $4) + (set_local $0 + (select + (get_local $6) + (tee_local $4 + (i32.load offset=20 + (get_local $0) + ) ) - (i32.eq - (get_local $4) - (tee_local $9 - (i32.load - (i32.add + (i32.or + (i32.eqz + (get_local $4) + ) + (i32.eq + (get_local $4) + (tee_local $9 + (i32.load (i32.add - (get_local $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $8) - (i32.const 31) + (i32.add + (get_local $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $8) + (i32.const 31) + ) + (i32.const 2) ) - (i32.const 2) ) ) ) @@ -9359,134 +9332,148 @@ ) ) ) - ) - (set_local $4 - (i32.shl - (get_local $8) - (i32.xor - (tee_local $6 - (i32.eqz - (get_local $9) + (set_local $4 + (i32.shl + (get_local $8) + (i32.xor + (tee_local $6 + (i32.eqz + (get_local $9) + ) ) + (i32.const 1) ) - (i32.const 1) ) ) - ) - (if - (get_local $6) - (block - (set_local $4 - (get_local $0) - ) - (set_local $0 - (get_local $1) - ) - ) - (block - (set_local $6 - (get_local $0) - ) - (set_local $8 - (get_local $4) + (if + (get_local $6) + (block + (set_local $4 + (get_local $0) + ) + (set_local $0 + (get_local $1) + ) ) - (set_local $0 - (get_local $9) + (block + (set_local $6 + (get_local $0) + ) + (set_local $8 + (get_local $4) + ) + (set_local $0 + (get_local $9) + ) + (br $while-in14) ) - (br $while-in14) ) ) ) - ) - (block - (set_local $4 - (i32.const 0) - ) - (set_local $0 - (i32.const 0) - ) - ) - ) - (if - (i32.and - (i32.eqz - (get_local $4) - ) - (i32.eqz - (get_local $0) + (block + (set_local $4 + (i32.const 0) + ) + (set_local $0 + (i32.const 0) + ) ) ) - (block - (if + (if + (i32.and (i32.eqz - (tee_local $1 - (i32.and - (get_local $18) - (i32.or - (tee_local $1 - (i32.shl - (i32.const 2) - (get_local $14) + (get_local $4) + ) + (i32.eqz + (get_local $0) + ) + ) + (block + (if + (i32.eqz + (tee_local $1 + (i32.and + (get_local $18) + (i32.or + (tee_local $1 + (i32.shl + (i32.const 2) + (get_local $14) + ) + ) + (i32.sub + (i32.const 0) + (get_local $1) ) - ) - (i32.sub - (i32.const 0) - (get_local $1) ) ) ) ) - ) - (block - (set_local $0 - (get_local $2) + (block + (set_local $0 + (get_local $2) + ) + (br $do-once) ) - (br $do-once) ) - ) - (set_local $9 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.add - (i32.and - (get_local $1) - (i32.sub - (i32.const 0) + (set_local $9 + (i32.and + (i32.shr_u + (tee_local $1 + (i32.add + (i32.and (get_local $1) + (i32.sub + (i32.const 0) + (get_local $1) + ) ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (set_local $4 - (i32.load offset=480 - (i32.shl - (i32.add - (i32.or + (set_local $4 + (i32.load offset=480 + (i32.shl + (i32.add (i32.or (i32.or (i32.or + (i32.or + (tee_local $1 + (i32.and + (i32.shr_u + (tee_local $4 + (i32.shr_u + (get_local $1) + (get_local $9) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $9) + ) (tee_local $1 (i32.and (i32.shr_u (tee_local $4 (i32.shr_u + (get_local $4) (get_local $1) - (get_local $9) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $9) ) (tee_local $1 (i32.and @@ -9497,9 +9484,9 @@ (get_local $1) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) @@ -9514,177 +9501,149 @@ ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $1 - (i32.and - (i32.shr_u - (tee_local $4 - (i32.shr_u - (get_local $4) - (get_local $1) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) + (i32.shr_u + (get_local $4) + (get_local $1) + ) ) - (i32.shr_u - (get_local $4) - (get_local $1) - ) + (i32.const 2) ) - (i32.const 2) ) ) ) ) - ) - (if - (get_local $4) - (block - (set_local $1 - (get_local $3) + (if + (get_local $4) + (block + (set_local $1 + (get_local $3) + ) + (set_local $3 + (get_local $4) + ) + (br $__rjti$3) ) - (set_local $3 - (get_local $4) + (set_local $4 + (get_local $0) ) - (br $__rjti$3) - ) - (set_local $4 - (get_local $0) ) + (br $__rjto$3) ) - (br $__rjto$3) - ) - (loop $while-in16 - (set_local $9 - (i32.lt_u - (tee_local $4 - (i32.sub - (i32.and - (i32.load offset=4 - (get_local $3) + (loop $while-in16 + (set_local $9 + (i32.lt_u + (tee_local $4 + (i32.sub + (i32.and + (i32.load offset=4 + (get_local $3) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $2) ) - (get_local $2) ) + (get_local $1) ) - (get_local $1) - ) - ) - (set_local $1 - (select - (get_local $4) - (get_local $1) - (get_local $9) ) - ) - (set_local $0 - (select - (get_local $3) - (get_local $0) - (get_local $9) + (set_local $1 + (select + (get_local $4) + (get_local $1) + (get_local $9) + ) ) - ) - (if - (tee_local $4 - (i32.load offset=16 + (set_local $0 + (select (get_local $3) + (get_local $0) + (get_local $9) ) ) - (block - (set_local $3 - (get_local $4) + (if + (tee_local $4 + (i32.load offset=16 + (get_local $3) + ) + ) + (block + (set_local $3 + (get_local $4) + ) + (br $while-in16) ) - (br $while-in16) ) - ) - (br_if $while-in16 - (tee_local $3 - (i32.load offset=20 - (get_local $3) + (br_if $while-in16 + (tee_local $3 + (i32.load offset=20 + (get_local $3) + ) ) ) - ) - (set_local $3 - (get_local $1) - ) - (set_local $4 - (get_local $0) + (set_local $3 + (get_local $1) + ) + (set_local $4 + (get_local $0) + ) ) ) - ) - (if - (get_local $4) (if - (i32.lt_u - (get_local $3) - (i32.sub - (i32.load - (i32.const 184) - ) - (get_local $2) - ) - ) - (block - (if - (i32.lt_u - (get_local $4) - (tee_local $12 - (i32.load - (i32.const 192) - ) + (get_local $4) + (if + (i32.lt_u + (get_local $3) + (i32.sub + (i32.load + (i32.const 184) ) + (get_local $2) ) - (call $_abort) ) - (if - (i32.ge_u - (get_local $4) - (tee_local $6 - (i32.add - (get_local $4) - (get_local $2) + (block + (if + (i32.lt_u + (get_local $4) + (tee_local $12 + (i32.load + (i32.const 192) + ) ) ) + (call $_abort) ) - (call $_abort) - ) - (set_local $9 - (i32.load offset=24 - (get_local $4) - ) - ) - (block $do-once17 (if - (i32.eq - (tee_local $0 - (i32.load offset=12 + (i32.ge_u + (get_local $4) + (tee_local $6 + (i32.add (get_local $4) + (get_local $2) ) ) + ) + (call $_abort) + ) + (set_local $9 + (i32.load offset=24 (get_local $4) ) - (block - (if - (i32.eqz - (tee_local $1 - (i32.load - (tee_local $0 - (i32.add - (get_local $4) - (i32.const 20) - ) - ) - ) + ) + (block $do-once17 + (if + (i32.eq + (tee_local $0 + (i32.load offset=12 + (get_local $4) ) ) + (get_local $4) + ) + (block (if (i32.eqz (tee_local $1 @@ -9692,1758 +9651,1694 @@ (tee_local $0 (i32.add (get_local $4) - (i32.const 16) + (i32.const 20) ) ) ) ) ) - (block - (set_local $11 - (i32.const 0) - ) - (br $do-once17) - ) - ) - ) - (loop $while-in20 - (if - (tee_local $7 - (i32.load - (tee_local $10 - (i32.add - (get_local $1) - (i32.const 20) + (if + (i32.eqz + (tee_local $1 + (i32.load + (tee_local $0 + (i32.add + (get_local $4) + (i32.const 16) + ) + ) ) ) ) - ) - (block - (set_local $1 - (get_local $7) - ) - (set_local $0 - (get_local $10) + (block + (set_local $11 + (i32.const 0) + ) + (br $do-once17) ) - (br $while-in20) ) ) - (if - (tee_local $7 - (i32.load - (tee_local $10 - (i32.add - (get_local $1) - (i32.const 16) + (loop $while-in20 + (if + (tee_local $7 + (i32.load + (tee_local $10 + (i32.add + (get_local $1) + (i32.const 20) + ) ) ) ) + (block + (set_local $1 + (get_local $7) + ) + (set_local $0 + (get_local $10) + ) + (br $while-in20) + ) ) - (block - (set_local $1 - (get_local $7) + (if + (tee_local $7 + (i32.load + (tee_local $10 + (i32.add + (get_local $1) + (i32.const 16) + ) + ) + ) ) - (set_local $0 - (get_local $10) + (block + (set_local $1 + (get_local $7) + ) + (set_local $0 + (get_local $10) + ) + (br $while-in20) ) - (br $while-in20) ) ) - ) - (if - (i32.lt_u - (get_local $0) - (get_local $12) - ) - (call $_abort) - (block - (i32.store + (if + (i32.lt_u (get_local $0) - (i32.const 0) - ) - (set_local $11 - (get_local $1) + (get_local $12) ) - ) - ) - ) - (block - (if - (i32.lt_u - (tee_local $10 - (i32.load offset=8 - (get_local $4) + (call $_abort) + (block + (i32.store + (get_local $0) + (i32.const 0) + ) + (set_local $11 + (get_local $1) ) ) - (get_local $12) ) - (call $_abort) ) - (if - (i32.ne - (i32.load - (tee_local $7 - (i32.add - (get_local $10) - (i32.const 12) + (block + (if + (i32.lt_u + (tee_local $10 + (i32.load offset=8 + (get_local $4) ) ) + (get_local $12) ) - (get_local $4) + (call $_abort) ) - (call $_abort) - ) - (if - (i32.eq - (i32.load - (tee_local $1 - (i32.add - (get_local $0) - (i32.const 8) + (if + (i32.ne + (i32.load + (tee_local $7 + (i32.add + (get_local $10) + (i32.const 12) + ) ) ) + (get_local $4) ) - (get_local $4) + (call $_abort) ) - (block - (i32.store - (get_local $7) - (get_local $0) - ) - (i32.store - (get_local $1) - (get_local $10) + (if + (i32.eq + (i32.load + (tee_local $1 + (i32.add + (get_local $0) + (i32.const 8) + ) + ) + ) + (get_local $4) ) - (set_local $11 - (get_local $0) + (block + (i32.store + (get_local $7) + (get_local $0) + ) + (i32.store + (get_local $1) + (get_local $10) + ) + (set_local $11 + (get_local $0) + ) ) + (call $_abort) ) - (call $_abort) ) ) ) - ) - (block $do-once21 - (if - (get_local $9) - (block - (if - (i32.eq - (get_local $4) - (i32.load - (tee_local $0 - (i32.add - (i32.shl - (tee_local $1 - (i32.load offset=28 - (get_local $4) + (block $do-once21 + (if + (get_local $9) + (block + (if + (i32.eq + (get_local $4) + (i32.load + (tee_local $0 + (i32.add + (i32.shl + (tee_local $1 + (i32.load offset=28 + (get_local $4) + ) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 480) ) - (i32.const 480) ) ) ) - ) - (block - (i32.store - (get_local $0) - (get_local $11) - ) - (if - (i32.eqz + (block + (i32.store + (get_local $0) (get_local $11) ) - (block - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $1) + (if + (i32.eqz + (get_local $11) + ) + (block + (i32.store + (i32.const 180) + (i32.and + (i32.load + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $1) + ) + (i32.const -1) ) - (i32.const -1) ) ) + (br $do-once21) ) - (br $do-once21) ) ) - ) - (block - (if - (i32.lt_u - (get_local $9) - (i32.load - (i32.const 192) + (block + (if + (i32.lt_u + (get_local $9) + (i32.load + (i32.const 192) + ) ) + (call $_abort) ) - (call $_abort) - ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $9) - (i32.const 16) + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $9) + (i32.const 16) + ) ) ) + (get_local $4) + ) + (i32.store + (get_local $0) + (get_local $11) + ) + (i32.store offset=20 + (get_local $9) + (get_local $11) ) - (get_local $4) - ) - (i32.store - (get_local $0) - (get_local $11) - ) - (i32.store offset=20 - (get_local $9) - (get_local $11) ) - ) - (br_if $do-once21 - (i32.eqz - (get_local $11) + (br_if $do-once21 + (i32.eqz + (get_local $11) + ) ) ) ) - ) - (if - (i32.lt_u - (get_local $11) - (tee_local $0 - (i32.load - (i32.const 192) + (if + (i32.lt_u + (get_local $11) + (tee_local $0 + (i32.load + (i32.const 192) + ) ) ) + (call $_abort) ) - (call $_abort) - ) - (i32.store offset=24 - (get_local $11) - (get_local $9) - ) - (if - (tee_local $1 - (i32.load offset=16 - (get_local $4) - ) + (i32.store offset=24 + (get_local $11) + (get_local $9) ) (if - (i32.lt_u - (get_local $1) - (get_local $0) + (tee_local $1 + (i32.load offset=16 + (get_local $4) + ) ) - (call $_abort) - (block - (i32.store offset=16 - (get_local $11) + (if + (i32.lt_u (get_local $1) + (get_local $0) ) - (i32.store offset=24 - (get_local $1) - (get_local $11) + (call $_abort) + (block + (i32.store offset=16 + (get_local $11) + (get_local $1) + ) + (i32.store offset=24 + (get_local $1) + (get_local $11) + ) ) ) ) - ) - (if - (tee_local $0 - (i32.load offset=20 - (get_local $4) - ) - ) (if - (i32.lt_u - (get_local $0) - (i32.load - (i32.const 192) + (tee_local $0 + (i32.load offset=20 + (get_local $4) ) ) - (call $_abort) - (block - (i32.store offset=20 - (get_local $11) + (if + (i32.lt_u (get_local $0) + (i32.load + (i32.const 192) + ) ) - (i32.store offset=24 - (get_local $0) - (get_local $11) + (call $_abort) + (block + (i32.store offset=20 + (get_local $11) + (get_local $0) + ) + (i32.store offset=24 + (get_local $0) + (get_local $11) + ) ) ) ) ) ) ) - ) - (block $do-once25 - (if - (i32.lt_u - (get_local $3) - (i32.const 16) - ) - (block - (i32.store offset=4 - (get_local $4) - (i32.or - (tee_local $0 - (i32.add - (get_local $3) - (get_local $2) + (block $do-once25 + (if + (i32.lt_u + (get_local $3) + (i32.const 16) + ) + (block + (i32.store offset=4 + (get_local $4) + (i32.or + (tee_local $0 + (i32.add + (get_local $3) + (get_local $2) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $0 - (i32.add + (i32.store + (tee_local $0 (i32.add - (get_local $4) - (get_local $0) + (i32.add + (get_local $4) + (get_local $0) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $0) + (i32.or + (i32.load + (get_local $0) + ) + (i32.const 1) ) - (i32.const 1) - ) - ) - ) - (block - (i32.store offset=4 - (get_local $4) - (i32.or - (get_local $2) - (i32.const 3) ) ) - (i32.store offset=4 - (get_local $6) - (i32.or - (get_local $3) - (i32.const 1) + (block + (i32.store offset=4 + (get_local $4) + (i32.or + (get_local $2) + (i32.const 3) + ) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $6) - (get_local $3) + (i32.or + (get_local $3) + (i32.const 1) + ) ) - (get_local $3) - ) - (set_local $0 - (i32.shr_u + (i32.store + (i32.add + (get_local $6) + (get_local $3) + ) (get_local $3) - (i32.const 3) ) - ) - (if - (i32.lt_u - (get_local $3) - (i32.const 256) + (set_local $0 + (i32.shr_u + (get_local $3) + (i32.const 3) + ) ) - (block - (set_local $3 - (i32.add - (i32.shl - (get_local $0) - (i32.const 3) - ) - (i32.const 216) - ) + (if + (i32.lt_u + (get_local $3) + (i32.const 256) ) - (if - (i32.and - (tee_local $1 - (i32.load - (i32.const 176) - ) - ) - (tee_local $0 + (block + (set_local $3 + (i32.add (i32.shl - (i32.const 1) (get_local $0) + (i32.const 3) ) + (i32.const 216) ) ) (if - (i32.lt_u - (tee_local $0 + (i32.and + (tee_local $1 (i32.load - (tee_local $1 - (i32.add - (get_local $3) - (i32.const 8) + (i32.const 176) + ) + ) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $0) + ) + ) + ) + (if + (i32.lt_u + (tee_local $0 + (i32.load + (tee_local $1 + (i32.add + (get_local $3) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 192) + ) ) - (i32.load - (i32.const 192) + (call $_abort) + (block + (set_local $13 + (get_local $1) + ) + (set_local $5 + (get_local $0) + ) ) ) - (call $_abort) (block + (i32.store + (i32.const 176) + (i32.or + (get_local $1) + (get_local $0) + ) + ) (set_local $13 - (get_local $1) + (i32.add + (get_local $3) + (i32.const 8) + ) ) (set_local $5 - (get_local $0) - ) - ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (get_local $1) - (get_local $0) - ) - ) - (set_local $13 - (i32.add (get_local $3) - (i32.const 8) ) ) - (set_local $5 - (get_local $3) - ) ) + (i32.store + (get_local $13) + (get_local $6) + ) + (i32.store offset=12 + (get_local $5) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $5) + ) + (i32.store offset=12 + (get_local $6) + (get_local $3) + ) + (br $do-once25) ) - (i32.store - (get_local $13) - (get_local $6) - ) - (i32.store offset=12 - (get_local $5) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $5) - ) - (i32.store offset=12 - (get_local $6) - (get_local $3) - ) - (br $do-once25) ) - ) - (set_local $2 - (i32.add - (i32.shl - (tee_local $7 - (if (result i32) - (tee_local $0 - (i32.shr_u - (get_local $3) - (i32.const 8) - ) - ) + (set_local $2 + (i32.add + (i32.shl + (tee_local $7 (if (result i32) - (i32.gt_u - (get_local $3) - (i32.const 16777215) + (tee_local $0 + (i32.shr_u + (get_local $3) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $3) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $3) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $3) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (i32.or + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $0) + (tee_local $2 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $2) ) - (get_local $2) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $1) + (get_local $0) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $1) + (get_local $0) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 480) ) - (i32.const 480) ) - ) - (i32.store offset=28 - (get_local $6) - (get_local $7) - ) - (i32.store offset=4 - (tee_local $0 - (i32.add - (get_local $6) - (i32.const 16) + (i32.store offset=28 + (get_local $6) + (get_local $7) + ) + (i32.store offset=4 + (tee_local $0 + (i32.add + (get_local $6) + (i32.const 16) + ) ) + (i32.const 0) ) - (i32.const 0) - ) - (i32.store - (get_local $0) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $1 - (i32.load - (i32.const 180) + (i32.store + (get_local $0) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (tee_local $1 + (i32.load + (i32.const 180) + ) ) - ) - (tee_local $0 - (i32.shl - (i32.const 1) - (get_local $7) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $7) + ) ) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (get_local $1) - (get_local $0) + (block + (i32.store + (i32.const 180) + (i32.or + (get_local $1) + (get_local $0) + ) ) + (i32.store + (get_local $2) + (get_local $6) + ) + (i32.store offset=24 + (get_local $6) + (get_local $2) + ) + (i32.store offset=12 + (get_local $6) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $6) + ) + (br $do-once25) ) - (i32.store - (get_local $2) - (get_local $6) - ) - (i32.store offset=24 - (get_local $6) - (get_local $2) - ) - (i32.store offset=12 - (get_local $6) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $6) - ) - (br $do-once25) ) - ) - (set_local $7 - (i32.shl - (get_local $3) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u + (set_local $7 + (i32.shl + (get_local $3) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $7) + (i32.const 1) + ) + ) + (i32.eq (get_local $7) - (i32.const 1) + (i32.const 31) ) ) - (i32.eq - (get_local $7) - (i32.const 31) - ) ) ) - ) - (set_local $0 - (i32.load - (get_local $2) + (set_local $0 + (i32.load + (get_local $2) + ) ) - ) - (block $__rjto$1 - (block $__rjti$1 - (loop $while-in28 - (br_if $__rjti$1 - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $0) + (block $__rjto$1 + (block $__rjti$1 + (loop $while-in28 + (br_if $__rjti$1 + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $0) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $3) ) - (get_local $3) ) - ) - (set_local $2 - (i32.shl - (get_local $7) - (i32.const 1) + (set_local $2 + (i32.shl + (get_local $7) + (i32.const 1) + ) ) - ) - (if - (tee_local $1 - (i32.load - (tee_local $7 - (i32.add + (if + (tee_local $1 + (i32.load + (tee_local $7 (i32.add - (get_local $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $7) - (i32.const 31) + (i32.add + (get_local $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $7) + (i32.const 31) + ) + (i32.const 2) ) - (i32.const 2) ) ) ) ) + (block + (set_local $7 + (get_local $2) + ) + (set_local $0 + (get_local $1) + ) + (br $while-in28) + ) ) + ) + (if + (i32.lt_u + (get_local $7) + (i32.load + (i32.const 192) + ) + ) + (call $_abort) (block - (set_local $7 - (get_local $2) + (i32.store + (get_local $7) + (get_local $6) ) - (set_local $0 - (get_local $1) + (i32.store offset=24 + (get_local $6) + (get_local $0) + ) + (i32.store offset=12 + (get_local $6) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $6) ) - (br $while-in28) + (br $do-once25) ) ) + (br $__rjto$1) ) (if - (i32.lt_u - (get_local $7) - (i32.load - (i32.const 192) + (i32.and + (i32.ge_u + (tee_local $2 + (i32.load + (tee_local $3 + (i32.add + (get_local $0) + (i32.const 8) + ) + ) + ) + ) + (tee_local $1 + (i32.load + (i32.const 192) + ) + ) + ) + (i32.ge_u + (get_local $0) + (get_local $1) ) ) - (call $_abort) (block + (i32.store offset=12 + (get_local $2) + (get_local $6) + ) (i32.store - (get_local $7) + (get_local $3) (get_local $6) ) - (i32.store offset=24 + (i32.store offset=8 (get_local $6) - (get_local $0) + (get_local $2) ) (i32.store offset=12 (get_local $6) - (get_local $6) + (get_local $0) ) - (i32.store offset=8 - (get_local $6) + (i32.store offset=24 (get_local $6) - ) - (br $do-once25) - ) - ) - (br $__rjto$1) - ) - (if - (i32.and - (i32.ge_u - (tee_local $2 - (i32.load - (tee_local $3 - (i32.add - (get_local $0) - (i32.const 8) - ) - ) - ) - ) - (tee_local $1 - (i32.load - (i32.const 192) - ) + (i32.const 0) ) ) - (i32.ge_u - (get_local $0) - (get_local $1) - ) - ) - (block - (i32.store offset=12 - (get_local $2) - (get_local $6) - ) - (i32.store - (get_local $3) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $2) - ) - (i32.store offset=12 - (get_local $6) - (get_local $0) - ) - (i32.store offset=24 - (get_local $6) - (i32.const 0) - ) + (call $_abort) ) - (call $_abort) ) ) ) ) - ) - (return - (i32.add - (get_local $4) - (i32.const 8) + (return + (i32.add + (get_local $4) + (i32.const 8) + ) ) ) + (set_local $0 + (get_local $2) + ) ) (set_local $0 (get_local $2) ) ) - (set_local $0 - (get_local $2) - ) ) - ) - (set_local $0 - (get_local $2) + (set_local $0 + (get_local $2) + ) ) ) ) ) ) - ) - (if - (i32.ge_u - (tee_local $1 - (i32.load - (i32.const 184) - ) - ) - (get_local $0) - ) - (block - (set_local $2 - (i32.load - (i32.const 196) + (if + (i32.ge_u + (tee_local $1 + (i32.load + (i32.const 184) + ) ) + (get_local $0) ) - (if - (i32.gt_u - (tee_local $3 - (i32.sub - (get_local $1) - (get_local $0) - ) + (block + (set_local $2 + (i32.load + (i32.const 196) ) - (i32.const 15) ) - (block - (i32.store - (i32.const 196) - (tee_local $1 - (i32.add - (get_local $2) + (if + (i32.gt_u + (tee_local $3 + (i32.sub + (get_local $1) (get_local $0) ) ) + (i32.const 15) ) - (i32.store - (i32.const 184) - (get_local $3) - ) - (i32.store offset=4 - (get_local $1) - (i32.or + (block + (i32.store + (i32.const 196) + (tee_local $1 + (i32.add + (get_local $2) + (get_local $0) + ) + ) + ) + (i32.store + (i32.const 184) (get_local $3) - (i32.const 1) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $1) + (i32.or + (get_local $3) + (i32.const 1) + ) + ) + (i32.store + (i32.add + (get_local $1) + (get_local $3) + ) (get_local $3) ) - (get_local $3) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $0) - (i32.const 3) + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $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 - (get_local $2) - (i32.or - (get_local $1) - (i32.const 3) + (block + (i32.store + (i32.const 184) + (i32.const 0) ) - ) - (i32.store - (tee_local $0 - (i32.add + (i32.store + (i32.const 196) + (i32.const 0) + ) + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $1) + (i32.const 3) + ) + ) + (i32.store + (tee_local $0 (i32.add - (get_local $2) - (get_local $1) + (i32.add + (get_local $2) + (get_local $1) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $0) + (i32.or + (i32.load + (get_local $0) + ) + (i32.const 1) ) - (i32.const 1) ) ) ) - ) - (return - (i32.add - (get_local $2) - (i32.const 8) + (return + (i32.add + (get_local $2) + (i32.const 8) + ) ) ) ) - ) - (if - (i32.gt_u - (tee_local $1 - (i32.load - (i32.const 188) + (br_if $folding-inner0 + (i32.gt_u + (tee_local $1 + (i32.load + (i32.const 188) + ) ) + (get_local $0) ) - (get_local $0) ) - (block - (i32.store - (i32.const 188) - (tee_local $3 - (i32.sub - (get_local $1) - (get_local $0) - ) + (if + (i32.eqz + (i32.load + (i32.const 648) ) ) - (i32.store - (i32.const 200) - (tee_local $1 + (if + (i32.and (i32.add - (tee_local $2 - (i32.load - (i32.const 200) + (tee_local $1 + (call $_sysconf + (i32.const 30) ) ) - (get_local $0) - ) - ) - ) - (i32.store offset=4 - (get_local $1) - (i32.or - (get_local $3) - (i32.const 1) - ) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $0) - (i32.const 3) - ) - ) - (return - (i32.add - (get_local $2) - (i32.const 8) - ) - ) - ) - ) - (if - (i32.eqz - (i32.load - (i32.const 648) - ) - ) - (if - (i32.and - (i32.add - (tee_local $1 - (call $_sysconf - (i32.const 30) - ) + (i32.const -1) ) - (i32.const -1) - ) - (get_local $1) - ) - (call $_abort) - (block - (i32.store - (i32.const 656) (get_local $1) ) - (i32.store - (i32.const 652) - (get_local $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) + (call $_abort) + (block + (i32.store + (i32.const 656) + (get_local $1) + ) + (i32.store + (i32.const 652) + (get_local $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 -16) + (i32.const 1431655768) ) - (i32.const 1431655768) ) ) ) ) - ) - (if - (i32.le_u - (tee_local $5 - (i32.and - (tee_local $6 - (i32.add - (tee_local $1 - (i32.load - (i32.const 656) + (if + (i32.le_u + (tee_local $5 + (i32.and + (tee_local $6 + (i32.add + (tee_local $1 + (i32.load + (i32.const 656) + ) ) - ) - (tee_local $8 - (i32.add - (get_local $0) - (i32.const 47) + (tee_local $8 + (i32.add + (get_local $0) + (i32.const 47) + ) ) ) ) - ) - (tee_local $9 - (i32.sub - (i32.const 0) - (get_local $1) + (tee_local $9 + (i32.sub + (i32.const 0) + (get_local $1) + ) ) ) ) + (get_local $0) ) - (get_local $0) - ) - (return - (i32.const 0) - ) - ) - (if - (tee_local $2 - (i32.load - (i32.const 616) + (return + (i32.const 0) ) ) (if - (i32.or - (i32.le_u - (tee_local $1 - (i32.add - (tee_local $3 - (i32.load - (i32.const 608) + (tee_local $2 + (i32.load + (i32.const 616) + ) + ) + (if + (i32.or + (i32.le_u + (tee_local $1 + (i32.add + (tee_local $3 + (i32.load + (i32.const 608) + ) ) + (get_local $5) ) - (get_local $5) ) + (get_local $3) + ) + (i32.gt_u + (get_local $1) + (get_local $2) ) - (get_local $3) ) - (i32.gt_u - (get_local $1) - (get_local $2) + (return + (i32.const 0) ) ) - (return - (i32.const 0) - ) ) - ) - (set_local $11 - (i32.add - (get_local $0) - (i32.const 48) + (set_local $11 + (i32.add + (get_local $0) + (i32.const 48) + ) ) - ) - (block $__rjto$13 - (block $__rjti$13 - (if - (i32.eqz - (i32.and - (i32.load - (i32.const 620) + (block $__rjto$13 + (block $__rjti$13 + (if + (i32.eqz + (i32.and + (i32.load + (i32.const 620) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (block - (block $label$break$L279 - (block $__rjti$5 - (block $__rjti$4 - (br_if $__rjti$4 - (i32.eqz - (tee_local $4 - (i32.load - (i32.const 200) + (block + (block $label$break$L279 + (block $__rjti$5 + (block $__rjti$4 + (br_if $__rjti$4 + (i32.eqz + (tee_local $4 + (i32.load + (i32.const 200) + ) ) ) ) - ) - (set_local $1 - (i32.const 624) - ) - (loop $while-in34 - (block $while-out33 - (if - (i32.le_u - (tee_local $3 - (i32.load - (get_local $1) - ) - ) - (get_local $4) - ) + (set_local $1 + (i32.const 624) + ) + (loop $while-in34 + (block $while-out33 (if - (i32.gt_u - (i32.add - (get_local $3) + (i32.le_u + (tee_local $3 (i32.load - (tee_local $2 - (i32.add - (get_local $1) - (i32.const 4) + (get_local $1) + ) + ) + (get_local $4) + ) + (if + (i32.gt_u + (i32.add + (get_local $3) + (i32.load + (tee_local $2 + (i32.add + (get_local $1) + (i32.const 4) + ) ) ) ) + (get_local $4) + ) + (block + (set_local $4 + (get_local $1) + ) + (br $while-out33) ) - (get_local $4) ) - (block - (set_local $4 + ) + (br_if $while-in34 + (tee_local $1 + (i32.load offset=8 (get_local $1) ) - (br $while-out33) ) ) + (br $__rjti$4) ) - (br_if $while-in34 - (tee_local $1 - (i32.load offset=8 - (get_local $1) + ) + (if + (i32.lt_u + (tee_local $3 + (i32.and + (i32.sub + (get_local $6) + (i32.load + (i32.const 188) + ) + ) + (get_local $9) ) ) + (i32.const 2147483647) ) - (br $__rjti$4) - ) - ) - (if - (i32.lt_u - (tee_local $3 - (i32.and - (i32.sub - (get_local $6) + (if + (i32.eq + (tee_local $1 + (call $_sbrk + (get_local $3) + ) + ) + (i32.add (i32.load - (i32.const 188) + (get_local $4) + ) + (i32.load + (get_local $2) ) ) - (get_local $9) ) - ) - (i32.const 2147483647) - ) - (if - (i32.eq - (tee_local $1 - (call $_sbrk - (get_local $3) + (br_if $__rjti$13 + (i32.ne + (get_local $1) + (i32.const -1) ) ) - (i32.add - (i32.load - (get_local $4) - ) - (i32.load - (get_local $2) + (block + (set_local $2 + (get_local $1) ) + (br $__rjti$5) ) ) - (br_if $__rjti$13 - (i32.ne - (get_local $1) - (i32.const -1) - ) - ) - (block - (set_local $2 - (get_local $1) - ) - (set_local $1 - (get_local $3) - ) - (br $__rjti$5) - ) ) + (br $label$break$L279) ) - (br $label$break$L279) - ) - (if - (i32.ne - (tee_local $1 - (call $_sbrk - (i32.const 0) + (if + (i32.ne + (tee_local $1 + (call $_sbrk + (i32.const 0) + ) ) + (i32.const -1) ) - (i32.const -1) - ) - (block - (set_local $3 - (if (result i32) - (i32.and - (tee_local $2 - (i32.add - (tee_local $4 - (i32.load - (i32.const 652) + (block + (set_local $3 + (if (result i32) + (i32.and + (tee_local $2 + (i32.add + (tee_local $4 + (i32.load + (i32.const 652) + ) ) + (i32.const -1) ) - (i32.const -1) + ) + (tee_local $3 + (get_local $1) ) ) - (tee_local $3 - (get_local $1) - ) - ) - (i32.add - (i32.sub - (get_local $5) - (get_local $3) - ) - (i32.and - (i32.add - (get_local $2) + (i32.add + (i32.sub + (get_local $5) (get_local $3) ) - (i32.sub - (i32.const 0) - (get_local $4) + (i32.and + (i32.add + (get_local $2) + (get_local $3) + ) + (i32.sub + (i32.const 0) + (get_local $4) + ) ) ) + (get_local $5) ) - (get_local $5) ) - ) - (set_local $9 - (i32.add - (tee_local $4 - (i32.load - (i32.const 608) + (set_local $9 + (i32.add + (tee_local $4 + (i32.load + (i32.const 608) + ) ) - ) - (get_local $3) - ) - ) - (if - (i32.and - (i32.gt_u - (get_local $3) - (get_local $0) - ) - (i32.lt_u (get_local $3) - (i32.const 2147483647) ) ) - (block - (if - (tee_local $2 - (i32.load - (i32.const 616) - ) + (if + (i32.and + (i32.gt_u + (get_local $3) + (get_local $0) ) - (br_if $label$break$L279 - (i32.or - (i32.le_u - (get_local $9) - (get_local $4) + (i32.lt_u + (get_local $3) + (i32.const 2147483647) + ) + ) + (block + (if + (tee_local $2 + (i32.load + (i32.const 616) ) - (i32.gt_u - (get_local $9) - (get_local $2) + ) + (br_if $label$break$L279 + (i32.or + (i32.le_u + (get_local $9) + (get_local $4) + ) + (i32.gt_u + (get_local $9) + (get_local $2) + ) ) ) ) - ) - (br_if $__rjti$13 - (i32.eq - (tee_local $2 - (call $_sbrk - (get_local $3) + (br_if $__rjti$13 + (i32.eq + (tee_local $2 + (call $_sbrk + (get_local $3) + ) ) + (get_local $1) ) - (get_local $1) ) + (br $__rjti$5) ) - (set_local $1 - (get_local $3) - ) - (br $__rjti$5) ) ) ) + (br $label$break$L279) ) - (br $label$break$L279) - ) - (set_local $4 - (i32.sub - (i32.const 0) - (get_local $1) + (set_local $1 + (get_local $3) ) - ) - (if - (i32.and - (i32.gt_u - (get_local $11) + (set_local $4 + (i32.sub + (i32.const 0) (get_local $1) ) + ) + (if (i32.and - (i32.lt_u + (i32.gt_u + (get_local $11) (get_local $1) - (i32.const 2147483647) ) - (i32.ne - (get_local $2) - (i32.const -1) + (i32.and + (i32.lt_u + (get_local $1) + (i32.const 2147483647) + ) + (i32.ne + (get_local $2) + (i32.const -1) + ) ) ) - ) - (if - (i32.lt_u - (tee_local $3 - (i32.and - (i32.add - (i32.sub - (get_local $8) - (get_local $1) - ) - (tee_local $3 - (i32.load - (i32.const 656) + (if + (i32.lt_u + (tee_local $3 + (i32.and + (i32.add + (i32.sub + (get_local $8) + (get_local $1) + ) + (tee_local $3 + (i32.load + (i32.const 656) + ) ) ) + (i32.sub + (i32.const 0) + (get_local $3) + ) ) - (i32.sub - (i32.const 0) + ) + (i32.const 2147483647) + ) + (if + (i32.eq + (call $_sbrk (get_local $3) ) + (i32.const -1) ) - ) - (i32.const 2147483647) - ) - (if - (i32.eq - (call $_sbrk - (get_local $3) + (block + (drop + (call $_sbrk + (get_local $4) + ) + ) + (br $label$break$L279) ) - (i32.const -1) - ) - (block - (drop - (call $_sbrk - (get_local $4) + (set_local $3 + (i32.add + (get_local $3) + (get_local $1) ) ) - (br $label$break$L279) ) (set_local $3 - (i32.add - (get_local $3) - (get_local $1) - ) + (get_local $1) ) ) (set_local $3 (get_local $1) ) ) - (set_local $3 - (get_local $1) - ) - ) - (if - (i32.ne - (get_local $2) - (i32.const -1) - ) - (block - (set_local $1 + (if + (i32.ne (get_local $2) + (i32.const -1) + ) + (block + (set_local $1 + (get_local $2) + ) + (br $__rjti$13) ) - (br $__rjti$13) ) ) - ) - (i32.store - (i32.const 620) - (i32.or - (i32.load - (i32.const 620) + (i32.store + (i32.const 620) + (i32.or + (i32.load + (i32.const 620) + ) + (i32.const 4) ) - (i32.const 4) ) ) ) - ) - (if - (i32.lt_u - (get_local $5) - (i32.const 2147483647) - ) (if - (i32.and - (i32.lt_u - (tee_local $1 - (call $_sbrk - (get_local $5) + (i32.lt_u + (get_local $5) + (i32.const 2147483647) + ) + (if + (i32.and + (i32.lt_u + (tee_local $1 + (call $_sbrk + (get_local $5) + ) ) - ) - (tee_local $3 - (call $_sbrk - (i32.const 0) + (tee_local $3 + (call $_sbrk + (i32.const 0) + ) ) ) - ) - (i32.and - (i32.ne - (get_local $1) - (i32.const -1) - ) - (i32.ne - (get_local $3) - (i32.const -1) - ) - ) - ) - (br_if $__rjti$13 - (i32.gt_u - (tee_local $3 - (i32.sub - (get_local $3) + (i32.and + (i32.ne (get_local $1) + (i32.const -1) + ) + (i32.ne + (get_local $3) + (i32.const -1) ) ) - (i32.add - (get_local $0) - (i32.const 40) + ) + (br_if $__rjti$13 + (i32.gt_u + (tee_local $3 + (i32.sub + (get_local $3) + (get_local $1) + ) + ) + (i32.add + (get_local $0) + (i32.const 40) + ) ) ) ) ) + (br $__rjto$13) ) - (br $__rjto$13) - ) - (i32.store - (i32.const 608) - (tee_local $2 - (i32.add - (i32.load - (i32.const 608) + (i32.store + (i32.const 608) + (tee_local $2 + (i32.add + (i32.load + (i32.const 608) + ) + (get_local $3) ) - (get_local $3) - ) - ) - ) - (if - (i32.gt_u - (get_local $2) - (i32.load - (i32.const 612) ) ) - (i32.store - (i32.const 612) - (get_local $2) - ) - ) - (block $do-once40 (if - (tee_local $6 + (i32.gt_u + (get_local $2) (i32.load - (i32.const 200) + (i32.const 612) ) ) - (block - (set_local $2 - (i32.const 624) + (i32.store + (i32.const 612) + (get_local $2) + ) + ) + (block $do-once40 + (if + (tee_local $6 + (i32.load + (i32.const 200) + ) ) - (block $__rjto$10 - (block $__rjti$10 - (loop $while-in45 - (br_if $__rjti$10 - (i32.eq - (get_local $1) - (i32.add - (tee_local $11 - (i32.load - (get_local $2) + (block + (set_local $2 + (i32.const 624) + ) + (block $__rjto$10 + (block $__rjti$10 + (loop $while-in45 + (br_if $__rjti$10 + (i32.eq + (get_local $1) + (i32.add + (tee_local $11 + (i32.load + (get_local $2) + ) ) - ) - (tee_local $5 - (i32.load - (tee_local $4 - (i32.add - (get_local $2) - (i32.const 4) + (tee_local $5 + (i32.load + (tee_local $4 + (i32.add + (get_local $2) + (i32.const 4) + ) ) ) ) ) ) ) - ) - (br_if $while-in45 - (tee_local $2 - (i32.load offset=8 - (get_local $2) + (br_if $while-in45 + (tee_local $2 + (i32.load offset=8 + (get_local $2) + ) ) ) ) - ) - (br $__rjto$10) - ) - (if - (i32.eqz - (i32.and - (i32.load offset=12 - (get_local $2) - ) - (i32.const 8) - ) + (br $__rjto$10) ) (if - (i32.and - (i32.lt_u - (get_local $6) - (get_local $1) - ) - (i32.ge_u - (get_local $6) - (get_local $11) + (i32.eqz + (i32.and + (i32.load offset=12 + (get_local $2) + ) + (i32.const 8) ) ) - (block - (i32.store - (get_local $4) - (i32.add - (get_local $5) - (get_local $3) + (if + (i32.and + (i32.lt_u + (get_local $6) + (get_local $1) ) - ) - (set_local $2 - (i32.add + (i32.ge_u (get_local $6) - (tee_local $1 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $1 - (i32.add - (get_local $6) - (i32.const 8) + (get_local $11) + ) + ) + (block + (i32.store + (get_local $4) + (i32.add + (get_local $5) + (get_local $3) + ) + ) + (set_local $2 + (i32.add + (get_local $6) + (tee_local $1 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.add + (get_local $6) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $1) - (i32.const 7) ) ) ) ) - ) - (set_local $1 - (i32.add - (i32.sub - (get_local $3) - (get_local $1) - ) - (i32.load - (i32.const 188) + (set_local $1 + (i32.add + (i32.sub + (get_local $3) + (get_local $1) + ) + (i32.load + (i32.const 188) + ) ) ) - ) - (i32.store - (i32.const 200) - (get_local $2) - ) - (i32.store - (i32.const 188) - (get_local $1) - ) - (i32.store offset=4 - (get_local $2) - (i32.or + (i32.store + (i32.const 200) + (get_local $2) + ) + (i32.store + (i32.const 188) (get_local $1) - (i32.const 1) ) - ) - (i32.store offset=4 - (i32.add + (i32.store offset=4 (get_local $2) - (get_local $1) + (i32.or + (get_local $1) + (i32.const 1) + ) ) - (i32.const 40) - ) - (i32.store - (i32.const 204) - (i32.load - (i32.const 664) + (i32.store offset=4 + (i32.add + (get_local $2) + (get_local $1) + ) + (i32.const 40) + ) + (i32.store + (i32.const 204) + (i32.load + (i32.const 664) + ) ) + (br $do-once40) ) - (br $do-once40) ) ) ) - ) - (if - (i32.lt_u - (get_local $1) - (tee_local $4 - (i32.load + (if + (i32.lt_u + (get_local $1) + (tee_local $4 + (i32.load + (i32.const 192) + ) + ) + ) + (block + (i32.store (i32.const 192) + (get_local $1) + ) + (set_local $4 + (get_local $1) ) ) ) - (block - (i32.store - (i32.const 192) - (get_local $1) - ) - (set_local $4 + (set_local $11 + (i32.add (get_local $1) + (get_local $3) ) ) - ) - (set_local $11 - (i32.add - (get_local $1) - (get_local $3) + (set_local $2 + (i32.const 624) ) - ) - (set_local $2 - (i32.const 624) - ) - (block $__rjto$11 - (block $__rjti$11 - (loop $while-in47 - (if - (i32.eq - (i32.load - (get_local $2) + (block $__rjto$11 + (block $__rjti$11 + (loop $while-in47 + (if + (i32.eq + (i32.load + (get_local $2) + ) + (get_local $11) + ) + (block + (set_local $5 + (get_local $2) + ) + (br $__rjti$11) ) - (get_local $11) ) - (block - (set_local $5 - (get_local $2) + (br_if $while-in47 + (tee_local $2 + (i32.load offset=8 + (get_local $2) + ) ) - (br $__rjti$11) + ) + (set_local $4 + (i32.const 624) ) ) - (br_if $while-in47 - (tee_local $2 - (i32.load offset=8 - (get_local $2) - ) + (br $__rjto$11) + ) + (if + (i32.and + (i32.load offset=12 + (get_local $2) ) + (i32.const 8) ) (set_local $4 (i32.const 624) ) - ) - (br $__rjto$11) - ) - (if - (i32.and - (i32.load offset=12 - (get_local $2) - ) - (i32.const 8) - ) - (set_local $4 - (i32.const 624) - ) - (block - (i32.store - (get_local $5) - (get_local $1) - ) - (i32.store - (tee_local $2 - (i32.add - (get_local $2) - (i32.const 4) - ) - ) - (i32.add - (i32.load - (get_local $2) - ) - (get_local $3) + (block + (i32.store + (get_local $5) + (get_local $1) ) - ) - (set_local $8 - (i32.add - (tee_local $9 + (i32.store + (tee_local $2 (i32.add - (get_local $1) - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $1 - (i32.add - (get_local $1) - (i32.const 8) - ) - ) - ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $1) - (i32.const 7) - ) - ) + (get_local $2) + (i32.const 4) ) ) - (get_local $0) + (i32.add + (i32.load + (get_local $2) + ) + (get_local $3) + ) ) - ) - (set_local $7 - (i32.sub - (i32.sub - (tee_local $5 + (set_local $8 + (i32.add + (tee_local $9 (i32.add - (get_local $11) + (get_local $1) (select (i32.and (i32.sub (i32.const 0) (tee_local $1 (i32.add - (get_local $11) + (get_local $1) (i32.const 8) ) ) @@ -11458,1919 +11353,1948 @@ ) ) ) - (get_local $9) + (get_local $0) ) - (get_local $0) ) - ) - (i32.store offset=4 - (get_local $9) - (i32.or - (get_local $0) - (i32.const 3) - ) - ) - (block $do-once48 - (if - (i32.eq - (get_local $5) - (get_local $6) - ) - (block - (i32.store - (i32.const 188) - (tee_local $0 + (set_local $7 + (i32.sub + (i32.sub + (tee_local $5 (i32.add - (i32.load - (i32.const 188) + (get_local $11) + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.add + (get_local $11) + (i32.const 8) + ) + ) + ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) + ) ) - (get_local $7) ) ) + (get_local $9) ) - (i32.store - (i32.const 200) - (get_local $8) + (get_local $0) + ) + ) + (i32.store offset=4 + (get_local $9) + (i32.or + (get_local $0) + (i32.const 3) + ) + ) + (block $do-once48 + (if + (i32.eq + (get_local $5) + (get_local $6) ) - (i32.store offset=4 - (get_local $8) - (i32.or - (get_local $0) - (i32.const 1) + (block + (i32.store + (i32.const 188) + (tee_local $0 + (i32.add + (i32.load + (i32.const 188) + ) + (get_local $7) + ) + ) ) - ) - ) - (block - (if - (i32.eq - (get_local $5) - (i32.load - (i32.const 196) + (i32.store + (i32.const 200) + (get_local $8) + ) + (i32.store offset=4 + (get_local $8) + (i32.or + (get_local $0) + (i32.const 1) ) ) - (block - (i32.store - (i32.const 184) - (tee_local $0 - (i32.add - (i32.load - (i32.const 184) + ) + (block + (if + (i32.eq + (get_local $5) + (i32.load + (i32.const 196) + ) + ) + (block + (i32.store + (i32.const 184) + (tee_local $0 + (i32.add + (i32.load + (i32.const 184) + ) + (get_local $7) ) - (get_local $7) ) ) - ) - (i32.store - (i32.const 196) - (get_local $8) - ) - (i32.store offset=4 - (get_local $8) - (i32.or - (get_local $0) - (i32.const 1) + (i32.store + (i32.const 196) + (get_local $8) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $8) + (i32.or + (get_local $0) + (i32.const 1) + ) + ) + (i32.store + (i32.add + (get_local $8) + (get_local $0) + ) (get_local $0) ) - (get_local $0) + (br $do-once48) ) - (br $do-once48) ) - ) - (i32.store - (tee_local $0 - (i32.add - (tee_local $0 - (if (result i32) - (i32.eq - (i32.and - (tee_local $0 - (i32.load offset=4 - (get_local $5) - ) - ) - (i32.const 3) - ) - (i32.const 1) - ) - (block (result i32) - (set_local $11 + (i32.store + (tee_local $0 + (i32.add + (tee_local $0 + (if (result i32) + (i32.eq (i32.and - (get_local $0) - (i32.const -8) - ) - ) - (set_local $1 - (i32.shr_u - (get_local $0) + (tee_local $0 + (i32.load offset=4 + (get_local $5) + ) + ) (i32.const 3) ) + (i32.const 1) ) - (block $label$break$L331 - (if - (i32.lt_u + (block (result i32) + (set_local $11 + (i32.and (get_local $0) - (i32.const 256) + (i32.const -8) ) - (block - (set_local $2 - (i32.load offset=12 - (get_local $5) - ) + ) + (set_local $1 + (i32.shr_u + (get_local $0) + (i32.const 3) + ) + ) + (block $label$break$L331 + (if + (i32.lt_u + (get_local $0) + (i32.const 256) ) - (block $do-once51 - (if - (i32.ne - (tee_local $3 - (i32.load offset=8 - (get_local $5) - ) - ) - (tee_local $0 - (i32.add - (i32.shl - (get_local $1) - (i32.const 3) + (block + (set_local $2 + (i32.load offset=12 + (get_local $5) + ) + ) + (block $do-once51 + (if + (i32.ne + (tee_local $3 + (i32.load offset=8 + (get_local $5) ) - (i32.const 216) ) - ) - ) - (block - (if - (i32.lt_u - (get_local $3) - (get_local $4) + (tee_local $0 + (i32.add + (i32.shl + (get_local $1) + (i32.const 3) + ) + (i32.const 216) + ) ) - (call $_abort) ) - (br_if $do-once51 - (i32.eq - (i32.load offset=12 + (block + (if + (i32.lt_u (get_local $3) + (get_local $4) ) - (get_local $5) + (call $_abort) ) - ) - (call $_abort) - ) - ) - ) - (if - (i32.eq - (get_local $2) - (get_local $3) - ) - (block - (i32.store - (i32.const 176) - (i32.and - (i32.load - (i32.const 176) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $1) + (br_if $do-once51 + (i32.eq + (i32.load offset=12 + (get_local $3) + ) + (get_local $5) ) - (i32.const -1) ) + (call $_abort) ) ) - (br $label$break$L331) ) - ) - (block $do-once53 (if (i32.eq (get_local $2) - (get_local $0) + (get_local $3) ) - (set_local $15 - (i32.add - (get_local $2) - (i32.const 8) + (block + (i32.store + (i32.const 176) + (i32.and + (i32.load + (i32.const 176) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $1) + ) + (i32.const -1) + ) + ) ) + (br $label$break$L331) ) - (block - (if - (i32.lt_u + ) + (block $do-once53 + (if + (i32.eq + (get_local $2) + (get_local $0) + ) + (set_local $15 + (i32.add (get_local $2) - (get_local $4) + (i32.const 8) ) - (call $_abort) ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $2) - (i32.const 8) + (block + (if + (i32.lt_u + (get_local $2) + (get_local $4) + ) + (call $_abort) + ) + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $2) + (i32.const 8) + ) ) ) + (get_local $5) ) - (get_local $5) - ) - (block - (set_local $15 - (get_local $0) + (block + (set_local $15 + (get_local $0) + ) + (br $do-once53) ) - (br $do-once53) ) + (call $_abort) ) - (call $_abort) ) ) - ) - (i32.store offset=12 - (get_local $3) - (get_local $2) - ) - (i32.store - (get_local $15) - (get_local $3) - ) - ) - (block - (set_local $6 - (i32.load offset=24 - (get_local $5) + (i32.store offset=12 + (get_local $3) + (get_local $2) + ) + (i32.store + (get_local $15) + (get_local $3) ) ) - (block $do-once55 - (if - (i32.eq - (tee_local $0 - (i32.load offset=12 - (get_local $5) - ) - ) + (block + (set_local $6 + (i32.load offset=24 (get_local $5) ) - (block - (if - (i32.eqz - (tee_local $1 - (i32.load - (tee_local $0 - (i32.add - (tee_local $3 - (i32.add - (get_local $5) - (i32.const 16) + ) + (block $do-once55 + (if + (i32.eq + (tee_local $0 + (i32.load offset=12 + (get_local $5) + ) + ) + (get_local $5) + ) + (block + (if + (i32.eqz + (tee_local $1 + (i32.load + (tee_local $0 + (i32.add + (tee_local $3 + (i32.add + (get_local $5) + (i32.const 16) + ) ) + (i32.const 4) ) - (i32.const 4) ) ) ) ) - ) - (if - (tee_local $1 - (i32.load + (if + (tee_local $1 + (i32.load + (get_local $3) + ) + ) + (set_local $0 (get_local $3) ) + (block + (set_local $12 + (i32.const 0) + ) + (br $do-once55) + ) ) - (set_local $0 - (get_local $3) + ) + (loop $while-in58 + (if + (tee_local $3 + (i32.load + (tee_local $2 + (i32.add + (get_local $1) + (i32.const 20) + ) + ) + ) + ) + (block + (set_local $1 + (get_local $3) + ) + (set_local $0 + (get_local $2) + ) + (br $while-in58) + ) + ) + (if + (tee_local $3 + (i32.load + (tee_local $2 + (i32.add + (get_local $1) + (i32.const 16) + ) + ) + ) + ) + (block + (set_local $1 + (get_local $3) + ) + (set_local $0 + (get_local $2) + ) + (br $while-in58) + ) + ) + ) + (if + (i32.lt_u + (get_local $0) + (get_local $4) ) + (call $_abort) (block - (set_local $12 + (i32.store + (get_local $0) (i32.const 0) ) - (br $do-once55) + (set_local $12 + (get_local $1) + ) ) ) ) - (loop $while-in58 + (block (if - (tee_local $3 + (i32.lt_u + (tee_local $2 + (i32.load offset=8 + (get_local $5) + ) + ) + (get_local $4) + ) + (call $_abort) + ) + (if + (i32.ne (i32.load - (tee_local $2 + (tee_local $3 (i32.add - (get_local $1) - (i32.const 20) + (get_local $2) + (i32.const 12) ) ) ) + (get_local $5) ) - (block - (set_local $1 - (get_local $3) - ) - (set_local $0 - (get_local $2) - ) - (br $while-in58) - ) + (call $_abort) ) (if - (tee_local $3 + (i32.eq (i32.load - (tee_local $2 + (tee_local $1 (i32.add - (get_local $1) - (i32.const 16) + (get_local $0) + (i32.const 8) ) ) ) + (get_local $5) ) (block - (set_local $1 + (i32.store (get_local $3) + (get_local $0) ) - (set_local $0 + (i32.store + (get_local $1) (get_local $2) ) - (br $while-in58) - ) - ) - ) - (if - (i32.lt_u - (get_local $0) - (get_local $4) - ) - (call $_abort) - (block - (i32.store - (get_local $0) - (i32.const 0) - ) - (set_local $12 - (get_local $1) + (set_local $12 + (get_local $0) + ) ) + (call $_abort) ) ) ) - (block - (if - (i32.lt_u - (tee_local $2 - (i32.load offset=8 - (get_local $5) + ) + (br_if $label$break$L331 + (i32.eqz + (get_local $6) + ) + ) + (block $do-once59 + (if + (i32.eq + (get_local $5) + (i32.load + (tee_local $0 + (i32.add + (i32.shl + (tee_local $1 + (i32.load offset=28 + (get_local $5) + ) + ) + (i32.const 2) + ) + (i32.const 480) ) ) - (get_local $4) ) - (call $_abort) ) - (if - (i32.ne - (i32.load - (tee_local $3 - (i32.add - (get_local $2) - (i32.const 12) + (block + (i32.store + (get_local $0) + (get_local $12) + ) + (br_if $do-once59 + (get_local $12) + ) + (i32.store + (i32.const 180) + (i32.and + (i32.load + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $1) ) + (i32.const -1) ) ) - (get_local $5) ) - (call $_abort) + (br $label$break$L331) ) - (if - (i32.eq - (i32.load - (tee_local $1 - (i32.add - (get_local $0) - (i32.const 8) - ) + (block + (if + (i32.lt_u + (get_local $6) + (i32.load + (i32.const 192) ) ) - (get_local $5) + (call $_abort) ) - (block + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $6) + (i32.const 16) + ) + ) + ) + (get_local $5) + ) (i32.store - (get_local $3) (get_local $0) + (get_local $12) ) - (i32.store - (get_local $1) - (get_local $2) + (i32.store offset=20 + (get_local $6) + (get_local $12) ) - (set_local $12 - (get_local $0) + ) + (br_if $label$break$L331 + (i32.eqz + (get_local $12) ) ) - (call $_abort) ) ) ) - ) - (br_if $label$break$L331 - (i32.eqz + (if + (i32.lt_u + (get_local $12) + (tee_local $1 + (i32.load + (i32.const 192) + ) + ) + ) + (call $_abort) + ) + (i32.store offset=24 + (get_local $12) (get_local $6) ) - ) - (block $do-once59 (if - (i32.eq - (get_local $5) + (tee_local $3 (i32.load (tee_local $0 (i32.add - (i32.shl - (tee_local $1 - (i32.load offset=28 - (get_local $5) - ) - ) - (i32.const 2) - ) - (i32.const 480) - ) - ) - ) - ) - (block - (i32.store - (get_local $0) - (get_local $12) - ) - (br_if $do-once59 - (get_local $12) - ) - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $1) - ) - (i32.const -1) + (get_local $5) + (i32.const 16) ) ) ) - (br $label$break$L331) ) - (block - (if - (i32.lt_u - (get_local $6) - (i32.load - (i32.const 192) - ) - ) - (call $_abort) + (if + (i32.lt_u + (get_local $3) + (get_local $1) ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $6) - (i32.const 16) - ) - ) - ) - (get_local $5) - ) - (i32.store - (get_local $0) - (get_local $12) - ) - (i32.store offset=20 - (get_local $6) + (call $_abort) + (block + (i32.store offset=16 (get_local $12) + (get_local $3) ) - ) - (br_if $label$break$L331 - (i32.eqz + (i32.store offset=24 + (get_local $3) (get_local $12) ) ) ) ) - ) - (if - (i32.lt_u - (get_local $12) - (tee_local $1 - (i32.load - (i32.const 192) - ) - ) - ) - (call $_abort) - ) - (i32.store offset=24 - (get_local $12) - (get_local $6) - ) - (if - (tee_local $3 - (i32.load + (br_if $label$break$L331 + (i32.eqz (tee_local $0 - (i32.add - (get_local $5) - (i32.const 16) + (i32.load offset=4 + (get_local $0) ) ) ) ) (if (i32.lt_u - (get_local $3) - (get_local $1) + (get_local $0) + (i32.load + (i32.const 192) + ) ) (call $_abort) (block - (i32.store offset=16 + (i32.store offset=20 (get_local $12) - (get_local $3) + (get_local $0) ) (i32.store offset=24 - (get_local $3) - (get_local $12) - ) - ) - ) - ) - (br_if $label$break$L331 - (i32.eqz - (tee_local $0 - (i32.load offset=4 (get_local $0) + (get_local $12) ) ) ) ) - (if - (i32.lt_u - (get_local $0) - (i32.load - (i32.const 192) - ) - ) - (call $_abort) - (block - (i32.store offset=20 - (get_local $12) - (get_local $0) - ) - (i32.store offset=24 - (get_local $0) - (get_local $12) - ) - ) - ) ) ) - ) - (set_local $7 + (set_local $7 + (i32.add + (get_local $11) + (get_local $7) + ) + ) (i32.add + (get_local $5) (get_local $11) - (get_local $7) ) ) - (i32.add - (get_local $5) - (get_local $11) - ) + (get_local $5) ) - (get_local $5) ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.and - (i32.load - (get_local $0) + (i32.and + (i32.load + (get_local $0) + ) + (i32.const -2) ) - (i32.const -2) ) - ) - (i32.store offset=4 - (get_local $8) - (i32.or - (get_local $7) - (i32.const 1) - ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $8) - (get_local $7) + (i32.or + (get_local $7) + (i32.const 1) + ) ) - (get_local $7) - ) - (set_local $0 - (i32.shr_u + (i32.store + (i32.add + (get_local $8) + (get_local $7) + ) (get_local $7) - (i32.const 3) ) - ) - (if - (i32.lt_u - (get_local $7) - (i32.const 256) + (set_local $0 + (i32.shr_u + (get_local $7) + (i32.const 3) + ) ) - (block - (set_local $3 - (i32.add - (i32.shl - (get_local $0) - (i32.const 3) + (if + (i32.lt_u + (get_local $7) + (i32.const 256) + ) + (block + (set_local $3 + (i32.add + (i32.shl + (get_local $0) + (i32.const 3) + ) + (i32.const 216) ) - (i32.const 216) ) - ) - (block $do-once63 - (if - (i32.and - (tee_local $1 - (i32.load - (i32.const 176) + (block $do-once63 + (if + (i32.and + (tee_local $1 + (i32.load + (i32.const 176) + ) ) - ) - (tee_local $0 - (i32.shl - (i32.const 1) - (get_local $0) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $0) + ) ) ) - ) - (block - (if - (i32.ge_u - (tee_local $0 - (i32.load - (tee_local $1 - (i32.add - (get_local $3) - (i32.const 8) + (block + (if + (i32.ge_u + (tee_local $0 + (i32.load + (tee_local $1 + (i32.add + (get_local $3) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 192) + ) ) - (i32.load - (i32.const 192) + (block + (set_local $16 + (get_local $1) + ) + (set_local $10 + (get_local $0) + ) + (br $do-once63) ) ) - (block - (set_local $16 + (call $_abort) + ) + (block + (i32.store + (i32.const 176) + (i32.or (get_local $1) - ) - (set_local $10 (get_local $0) ) - (br $do-once63) ) - ) - (call $_abort) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (get_local $1) - (get_local $0) + (set_local $16 + (i32.add + (get_local $3) + (i32.const 8) + ) ) - ) - (set_local $16 - (i32.add + (set_local $10 (get_local $3) - (i32.const 8) ) ) - (set_local $10 - (get_local $3) - ) ) ) + (i32.store + (get_local $16) + (get_local $8) + ) + (i32.store offset=12 + (get_local $10) + (get_local $8) + ) + (i32.store offset=8 + (get_local $8) + (get_local $10) + ) + (i32.store offset=12 + (get_local $8) + (get_local $3) + ) + (br $do-once48) ) - (i32.store - (get_local $16) - (get_local $8) - ) - (i32.store offset=12 - (get_local $10) - (get_local $8) - ) - (i32.store offset=8 - (get_local $8) - (get_local $10) - ) - (i32.store offset=12 - (get_local $8) - (get_local $3) - ) - (br $do-once48) ) - ) - (set_local $3 - (i32.add - (i32.shl - (tee_local $2 - (block $do-once65 (result i32) - (if (result i32) - (tee_local $0 - (i32.shr_u - (get_local $7) - (i32.const 8) + (set_local $3 + (i32.add + (i32.shl + (tee_local $2 + (block $do-once65 (result i32) + (if (result i32) + (tee_local $0 + (i32.shr_u + (get_local $7) + (i32.const 8) + ) ) - ) - (block (result i32) - (drop - (br_if $do-once65 - (i32.const 31) - (i32.gt_u - (get_local $7) - (i32.const 16777215) + (block (result i32) + (drop + (br_if $do-once65 + (i32.const 31) + (i32.gt_u + (get_local $7) + (i32.const 16777215) + ) ) ) - ) - (i32.or - (i32.and - (i32.shr_u - (get_local $7) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (i32.or + (i32.and + (i32.shr_u + (get_local $7) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (i32.or + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $0) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $3) ) - (get_local $3) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $1) + (get_local $0) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $1) + (get_local $0) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 480) ) - (i32.const 480) ) - ) - (i32.store offset=28 - (get_local $8) - (get_local $2) - ) - (i32.store offset=4 - (tee_local $0 - (i32.add - (get_local $8) - (i32.const 16) + (i32.store offset=28 + (get_local $8) + (get_local $2) + ) + (i32.store offset=4 + (tee_local $0 + (i32.add + (get_local $8) + (i32.const 16) + ) ) + (i32.const 0) ) - (i32.const 0) - ) - (i32.store - (get_local $0) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $1 - (i32.load - (i32.const 180) + (i32.store + (get_local $0) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (tee_local $1 + (i32.load + (i32.const 180) + ) ) - ) - (tee_local $0 - (i32.shl - (i32.const 1) - (get_local $2) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $2) + ) ) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (get_local $1) - (get_local $0) + (block + (i32.store + (i32.const 180) + (i32.or + (get_local $1) + (get_local $0) + ) ) + (i32.store + (get_local $3) + (get_local $8) + ) + (i32.store offset=24 + (get_local $8) + (get_local $3) + ) + (i32.store offset=12 + (get_local $8) + (get_local $8) + ) + (i32.store offset=8 + (get_local $8) + (get_local $8) + ) + (br $do-once48) ) - (i32.store - (get_local $3) - (get_local $8) - ) - (i32.store offset=24 - (get_local $8) - (get_local $3) - ) - (i32.store offset=12 - (get_local $8) - (get_local $8) - ) - (i32.store offset=8 - (get_local $8) - (get_local $8) - ) - (br $do-once48) ) - ) - (set_local $2 - (i32.shl - (get_local $7) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u + (set_local $2 + (i32.shl + (get_local $7) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $2) + (i32.const 1) + ) + ) + (i32.eq (get_local $2) - (i32.const 1) + (i32.const 31) ) ) - (i32.eq - (get_local $2) - (i32.const 31) - ) ) ) - ) - (set_local $0 - (i32.load - (get_local $3) + (set_local $0 + (i32.load + (get_local $3) + ) ) - ) - (block $__rjto$7 - (block $__rjti$7 - (loop $while-in68 - (br_if $__rjti$7 - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $0) + (block $__rjto$7 + (block $__rjti$7 + (loop $while-in68 + (br_if $__rjti$7 + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $0) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $7) ) - (get_local $7) ) - ) - (set_local $3 - (i32.shl - (get_local $2) - (i32.const 1) + (set_local $3 + (i32.shl + (get_local $2) + (i32.const 1) + ) ) - ) - (if - (tee_local $1 - (i32.load - (tee_local $2 - (i32.add + (if + (tee_local $1 + (i32.load + (tee_local $2 (i32.add - (get_local $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $2) - (i32.const 31) + (i32.add + (get_local $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $2) + (i32.const 31) + ) + (i32.const 2) ) - (i32.const 2) ) ) ) ) + (block + (set_local $2 + (get_local $3) + ) + (set_local $0 + (get_local $1) + ) + (br $while-in68) + ) ) + ) + (if + (i32.lt_u + (get_local $2) + (i32.load + (i32.const 192) + ) + ) + (call $_abort) (block - (set_local $2 - (get_local $3) + (i32.store + (get_local $2) + (get_local $8) ) - (set_local $0 - (get_local $1) + (i32.store offset=24 + (get_local $8) + (get_local $0) + ) + (i32.store offset=12 + (get_local $8) + (get_local $8) ) - (br $while-in68) + (i32.store offset=8 + (get_local $8) + (get_local $8) + ) + (br $do-once48) ) ) + (br $__rjto$7) ) (if - (i32.lt_u - (get_local $2) - (i32.load - (i32.const 192) + (i32.and + (i32.ge_u + (tee_local $2 + (i32.load + (tee_local $3 + (i32.add + (get_local $0) + (i32.const 8) + ) + ) + ) + ) + (tee_local $1 + (i32.load + (i32.const 192) + ) + ) + ) + (i32.ge_u + (get_local $0) + (get_local $1) ) ) - (call $_abort) (block - (i32.store + (i32.store offset=12 (get_local $2) (get_local $8) ) - (i32.store offset=24 - (get_local $8) - (get_local $0) - ) - (i32.store offset=12 - (get_local $8) + (i32.store + (get_local $3) (get_local $8) ) (i32.store offset=8 (get_local $8) - (get_local $8) + (get_local $2) ) - (br $do-once48) - ) - ) - (br $__rjto$7) - ) - (if - (i32.and - (i32.ge_u - (tee_local $2 - (i32.load - (tee_local $3 - (i32.add - (get_local $0) - (i32.const 8) - ) - ) - ) + (i32.store offset=12 + (get_local $8) + (get_local $0) ) - (tee_local $1 - (i32.load - (i32.const 192) - ) + (i32.store offset=24 + (get_local $8) + (i32.const 0) ) ) - (i32.ge_u - (get_local $0) - (get_local $1) - ) - ) - (block - (i32.store offset=12 - (get_local $2) - (get_local $8) - ) - (i32.store - (get_local $3) - (get_local $8) - ) - (i32.store offset=8 - (get_local $8) - (get_local $2) - ) - (i32.store offset=12 - (get_local $8) - (get_local $0) - ) - (i32.store offset=24 - (get_local $8) - (i32.const 0) - ) + (call $_abort) ) - (call $_abort) ) ) ) ) - ) - (return - (i32.add - (get_local $9) - (i32.const 8) + (return + (i32.add + (get_local $9) + (i32.const 8) + ) ) ) ) ) - ) - (loop $while-in70 - (block $while-out69 - (if - (i32.le_u - (tee_local $2 - (i32.load - (get_local $4) + (loop $while-in70 + (block $while-out69 + (if + (i32.le_u + (tee_local $2 + (i32.load + (get_local $4) + ) ) + (get_local $6) ) - (get_local $6) - ) - (br_if $while-out69 - (i32.gt_u - (tee_local $2 - (i32.add - (get_local $2) - (i32.load offset=4 - (get_local $4) + (br_if $while-out69 + (i32.gt_u + (tee_local $2 + (i32.add + (get_local $2) + (i32.load offset=4 + (get_local $4) + ) ) ) + (get_local $6) ) - (get_local $6) ) ) - ) - (set_local $4 - (i32.load offset=8 - (get_local $4) + (set_local $4 + (i32.load offset=8 + (get_local $4) + ) ) + (br $while-in70) ) - (br $while-in70) ) - ) - (set_local $10 - (i32.add - (tee_local $4 - (i32.add - (get_local $2) - (i32.const -47) + (set_local $10 + (i32.add + (tee_local $4 + (i32.add + (get_local $2) + (i32.const -47) + ) ) + (i32.const 8) ) - (i32.const 8) ) - ) - (set_local $12 - (i32.add - (tee_local $11 - (select - (get_local $6) - (tee_local $4 - (i32.add - (get_local $4) - (select - (i32.and - (i32.sub - (i32.const 0) + (set_local $12 + (i32.add + (tee_local $11 + (select + (get_local $6) + (tee_local $4 + (i32.add + (get_local $4) + (select + (i32.and + (i32.sub + (i32.const 0) + (get_local $10) + ) + (i32.const 7) + ) + (i32.const 0) + (i32.and (get_local $10) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $10) - (i32.const 7) ) ) ) - ) - (i32.lt_u - (get_local $4) - (tee_local $10 - (i32.add - (get_local $6) - (i32.const 16) + (i32.lt_u + (get_local $4) + (tee_local $10 + (i32.add + (get_local $6) + (i32.const 16) + ) ) ) ) ) + (i32.const 8) ) - (i32.const 8) ) - ) - (i32.store - (i32.const 200) - (tee_local $5 - (i32.add - (get_local $1) - (tee_local $4 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $4 - (i32.add - (get_local $1) - (i32.const 8) + (i32.store + (i32.const 200) + (tee_local $5 + (i32.add + (get_local $1) + (tee_local $4 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $4 + (i32.add + (get_local $1) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $4) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $4) - (i32.const 7) ) ) ) ) ) - ) - (i32.store - (i32.const 188) - (tee_local $4 - (i32.sub - (i32.add - (get_local $3) - (i32.const -40) + (i32.store + (i32.const 188) + (tee_local $4 + (i32.sub + (i32.add + (get_local $3) + (i32.const -40) + ) + (get_local $4) ) + ) + ) + (i32.store offset=4 + (get_local $5) + (i32.or (get_local $4) + (i32.const 1) ) ) - ) - (i32.store offset=4 - (get_local $5) - (i32.or - (get_local $4) - (i32.const 1) + (i32.store offset=4 + (i32.add + (get_local $5) + (get_local $4) + ) + (i32.const 40) ) - ) - (i32.store offset=4 - (i32.add - (get_local $5) - (get_local $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 + (tee_local $4 + (i32.add + (get_local $11) + (i32.const 4) + ) + ) + (i32.const 27) ) - ) - (i32.store - (tee_local $4 - (i32.add - (get_local $11) - (i32.const 4) + (i32.store + (get_local $12) + (i32.load + (i32.const 624) ) ) - (i32.const 27) - ) - (i32.store - (get_local $12) - (i32.load + (i32.store offset=4 + (get_local $12) + (i32.load + (i32.const 628) + ) + ) + (i32.store offset=8 + (get_local $12) + (i32.load + (i32.const 632) + ) + ) + (i32.store offset=12 + (get_local $12) + (i32.load + (i32.const 636) + ) + ) + (i32.store (i32.const 624) + (get_local $1) ) - ) - (i32.store offset=4 - (get_local $12) - (i32.load + (i32.store (i32.const 628) + (get_local $3) ) - ) - (i32.store offset=8 - (get_local $12) - (i32.load - (i32.const 632) - ) - ) - (i32.store offset=12 - (get_local $12) - (i32.load + (i32.store (i32.const 636) + (i32.const 0) ) - ) - (i32.store - (i32.const 624) - (get_local $1) - ) - (i32.store - (i32.const 628) - (get_local $3) - ) - (i32.store - (i32.const 636) - (i32.const 0) - ) - (i32.store - (i32.const 632) - (get_local $12) - ) - (set_local $1 - (i32.add - (get_local $11) - (i32.const 24) - ) - ) - (loop $while-in72 (i32.store - (tee_local $1 - (i32.add - (get_local $1) - (i32.const 4) - ) - ) - (i32.const 7) + (i32.const 632) + (get_local $12) ) - (br_if $while-in72 - (i32.lt_u - (i32.add - (get_local $1) - (i32.const 4) - ) - (get_local $2) + (set_local $1 + (i32.add + (get_local $11) + (i32.const 24) ) ) - ) - (if - (i32.ne - (get_local $11) - (get_local $6) - ) - (block + (loop $while-in72 (i32.store - (get_local $4) - (i32.and - (i32.load - (get_local $4) + (tee_local $1 + (i32.add + (get_local $1) + (i32.const 4) ) - (i32.const -2) ) + (i32.const 7) ) - (i32.store offset=4 - (get_local $6) - (i32.or - (tee_local $5 - (i32.sub - (get_local $11) - (get_local $6) - ) + (br_if $while-in72 + (i32.lt_u + (i32.add + (get_local $1) + (i32.const 4) ) - (i32.const 1) + (get_local $2) ) ) - (i32.store + ) + (if + (i32.ne (get_local $11) - (get_local $5) - ) - (set_local $1 - (i32.shr_u - (get_local $5) - (i32.const 3) - ) + (get_local $6) ) - (if - (i32.lt_u - (get_local $5) - (i32.const 256) + (block + (i32.store + (get_local $4) + (i32.and + (i32.load + (get_local $4) + ) + (i32.const -2) + ) ) - (block - (set_local $2 - (i32.add - (i32.shl - (get_local $1) - (i32.const 3) + (i32.store offset=4 + (get_local $6) + (i32.or + (tee_local $5 + (i32.sub + (get_local $11) + (get_local $6) ) - (i32.const 216) ) + (i32.const 1) ) - (if - (i32.and - (tee_local $3 - (i32.load - (i32.const 176) - ) - ) - (tee_local $1 + ) + (i32.store + (get_local $11) + (get_local $5) + ) + (set_local $1 + (i32.shr_u + (get_local $5) + (i32.const 3) + ) + ) + (if + (i32.lt_u + (get_local $5) + (i32.const 256) + ) + (block + (set_local $2 + (i32.add (i32.shl - (i32.const 1) (get_local $1) + (i32.const 3) ) + (i32.const 216) ) ) (if - (i32.lt_u - (tee_local $1 + (i32.and + (tee_local $3 (i32.load - (tee_local $3 - (i32.add - (get_local $2) - (i32.const 8) + (i32.const 176) + ) + ) + (tee_local $1 + (i32.shl + (i32.const 1) + (get_local $1) + ) + ) + ) + (if + (i32.lt_u + (tee_local $1 + (i32.load + (tee_local $3 + (i32.add + (get_local $2) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 192) + ) ) - (i32.load - (i32.const 192) + (call $_abort) + (block + (set_local $17 + (get_local $3) + ) + (set_local $7 + (get_local $1) + ) ) ) - (call $_abort) (block + (i32.store + (i32.const 176) + (i32.or + (get_local $3) + (get_local $1) + ) + ) (set_local $17 - (get_local $3) + (i32.add + (get_local $2) + (i32.const 8) + ) ) (set_local $7 - (get_local $1) - ) - ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (get_local $3) - (get_local $1) - ) - ) - (set_local $17 - (i32.add (get_local $2) - (i32.const 8) ) ) - (set_local $7 - (get_local $2) - ) ) + (i32.store + (get_local $17) + (get_local $6) + ) + (i32.store offset=12 + (get_local $7) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $7) + ) + (i32.store offset=12 + (get_local $6) + (get_local $2) + ) + (br $do-once40) ) - (i32.store - (get_local $17) - (get_local $6) - ) - (i32.store offset=12 - (get_local $7) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $7) - ) - (i32.store offset=12 - (get_local $6) - (get_local $2) - ) - (br $do-once40) ) - ) - (set_local $2 - (i32.add - (i32.shl - (tee_local $4 - (if (result i32) - (tee_local $1 - (i32.shr_u - (get_local $5) - (i32.const 8) - ) - ) + (set_local $2 + (i32.add + (i32.shl + (tee_local $4 (if (result i32) - (i32.gt_u - (get_local $5) - (i32.const 16777215) + (tee_local $1 + (i32.shr_u + (get_local $5) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $5) - (i32.add - (tee_local $1 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $5) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $5) + (i32.add + (tee_local $1 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $3 - (i32.shl - (get_local $1) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (get_local $1) - (i32.const 1048320) + (i32.or + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $3 + (i32.shl + (get_local $1) + (tee_local $2 + (i32.and + (i32.shr_u + (i32.add + (get_local $1) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $2) ) - (get_local $2) - ) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $3 - (i32.shl - (get_local $3) - (get_local $1) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $3 + (i32.shl + (get_local $3) + (get_local $1) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $3) - (get_local $1) + (i32.shr_u + (i32.shl + (get_local $3) + (get_local $1) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $1) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $1) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 480) ) - (i32.const 480) ) - ) - (i32.store offset=28 - (get_local $6) - (get_local $4) - ) - (i32.store offset=20 - (get_local $6) - (i32.const 0) - ) - (i32.store - (get_local $10) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $3 - (i32.load - (i32.const 180) + (i32.store offset=28 + (get_local $6) + (get_local $4) + ) + (i32.store offset=20 + (get_local $6) + (i32.const 0) + ) + (i32.store + (get_local $10) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (tee_local $3 + (i32.load + (i32.const 180) + ) ) - ) - (tee_local $1 - (i32.shl - (i32.const 1) - (get_local $4) + (tee_local $1 + (i32.shl + (i32.const 1) + (get_local $4) + ) ) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (get_local $3) - (get_local $1) + (block + (i32.store + (i32.const 180) + (i32.or + (get_local $3) + (get_local $1) + ) ) + (i32.store + (get_local $2) + (get_local $6) + ) + (i32.store offset=24 + (get_local $6) + (get_local $2) + ) + (i32.store offset=12 + (get_local $6) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $6) + ) + (br $do-once40) ) - (i32.store - (get_local $2) - (get_local $6) - ) - (i32.store offset=24 - (get_local $6) - (get_local $2) - ) - (i32.store offset=12 - (get_local $6) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $6) - ) - (br $do-once40) ) - ) - (set_local $4 - (i32.shl - (get_local $5) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u + (set_local $4 + (i32.shl + (get_local $5) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $4) + (i32.const 1) + ) + ) + (i32.eq (get_local $4) - (i32.const 1) + (i32.const 31) ) ) - (i32.eq - (get_local $4) - (i32.const 31) - ) ) ) - ) - (set_local $1 - (i32.load - (get_local $2) + (set_local $1 + (i32.load + (get_local $2) + ) ) - ) - (block $__rjto$9 - (block $__rjti$9 - (loop $while-in74 - (br_if $__rjti$9 - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $1) + (block $__rjto$9 + (block $__rjti$9 + (loop $while-in74 + (br_if $__rjti$9 + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $1) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $5) ) - (get_local $5) ) - ) - (set_local $2 - (i32.shl - (get_local $4) - (i32.const 1) + (set_local $2 + (i32.shl + (get_local $4) + (i32.const 1) + ) ) - ) - (if - (tee_local $3 - (i32.load - (tee_local $4 - (i32.add + (if + (tee_local $3 + (i32.load + (tee_local $4 (i32.add - (get_local $1) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $4) - (i32.const 31) + (i32.add + (get_local $1) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $4) + (i32.const 31) + ) + (i32.const 2) ) - (i32.const 2) ) ) ) ) + (block + (set_local $4 + (get_local $2) + ) + (set_local $1 + (get_local $3) + ) + (br $while-in74) + ) + ) + ) + (if + (i32.lt_u + (get_local $4) + (i32.load + (i32.const 192) + ) ) + (call $_abort) (block - (set_local $4 - (get_local $2) + (i32.store + (get_local $4) + (get_local $6) ) - (set_local $1 - (get_local $3) + (i32.store offset=24 + (get_local $6) + (get_local $1) ) - (br $while-in74) + (i32.store offset=12 + (get_local $6) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $6) + ) + (br $do-once40) ) ) + (br $__rjto$9) ) (if - (i32.lt_u - (get_local $4) - (i32.load - (i32.const 192) + (i32.and + (i32.ge_u + (tee_local $4 + (i32.load + (tee_local $2 + (i32.add + (get_local $1) + (i32.const 8) + ) + ) + ) + ) + (tee_local $3 + (i32.load + (i32.const 192) + ) + ) + ) + (i32.ge_u + (get_local $1) + (get_local $3) ) ) - (call $_abort) (block - (i32.store + (i32.store offset=12 (get_local $4) (get_local $6) ) - (i32.store offset=24 - (get_local $6) - (get_local $1) - ) - (i32.store offset=12 - (get_local $6) + (i32.store + (get_local $2) (get_local $6) ) (i32.store offset=8 (get_local $6) - (get_local $6) + (get_local $4) ) - (br $do-once40) - ) - ) - (br $__rjto$9) - ) - (if - (i32.and - (i32.ge_u - (tee_local $4 - (i32.load - (tee_local $2 - (i32.add - (get_local $1) - (i32.const 8) - ) - ) - ) + (i32.store offset=12 + (get_local $6) + (get_local $1) ) - (tee_local $3 - (i32.load - (i32.const 192) - ) + (i32.store offset=24 + (get_local $6) + (i32.const 0) ) ) - (i32.ge_u - (get_local $1) - (get_local $3) - ) - ) - (block - (i32.store offset=12 - (get_local $4) - (get_local $6) - ) - (i32.store - (get_local $2) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $4) - ) - (i32.store offset=12 - (get_local $6) - (get_local $1) - ) - (i32.store offset=24 - (get_local $6) - (i32.const 0) - ) + (call $_abort) ) - (call $_abort) ) ) ) ) - ) - (block - (if - (i32.or - (i32.eqz - (tee_local $2 - (i32.load - (i32.const 192) + (block + (if + (i32.or + (i32.eqz + (tee_local $2 + (i32.load + (i32.const 192) + ) ) ) + (i32.lt_u + (get_local $1) + (get_local $2) + ) ) - (i32.lt_u + (i32.store + (i32.const 192) (get_local $1) - (get_local $2) ) ) (i32.store - (i32.const 192) + (i32.const 624) (get_local $1) ) - ) - (i32.store - (i32.const 624) - (get_local $1) - ) - (i32.store - (i32.const 628) - (get_local $3) - ) - (i32.store - (i32.const 636) - (i32.const 0) - ) - (i32.store - (i32.const 212) - (i32.load - (i32.const 648) + (i32.store + (i32.const 628) + (get_local $3) ) - ) - (i32.store - (i32.const 208) - (i32.const -1) - ) - (set_local $2 - (i32.const 0) - ) - (loop $while-in43 - (i32.store offset=12 - (tee_local $4 - (i32.add - (i32.shl - (get_local $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) ) - (get_local $4) ) - (i32.store offset=8 - (get_local $4) - (get_local $4) + (i32.store + (i32.const 208) + (i32.const -1) ) - (br_if $while-in43 - (i32.ne - (tee_local $2 + (set_local $2 + (i32.const 0) + ) + (loop $while-in43 + (i32.store offset=12 + (tee_local $4 (i32.add - (get_local $2) - (i32.const 1) + (i32.shl + (get_local $2) + (i32.const 3) + ) + (i32.const 216) ) ) - (i32.const 32) + (get_local $4) + ) + (i32.store offset=8 + (get_local $4) + (get_local $4) + ) + (br_if $while-in43 + (i32.ne + (tee_local $2 + (i32.add + (get_local $2) + (i32.const 1) + ) + ) + (i32.const 32) + ) ) ) - ) - (i32.store - (i32.const 200) - (tee_local $2 - (i32.add - (get_local $1) - (tee_local $1 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $1 - (i32.add - (get_local $1) - (i32.const 8) + (i32.store + (i32.const 200) + (tee_local $2 + (i32.add + (get_local $1) + (tee_local $1 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.add + (get_local $1) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $1) - (i32.const 7) ) ) ) ) ) - ) - (i32.store - (i32.const 188) - (tee_local $1 - (i32.sub - (i32.add - (get_local $3) - (i32.const -40) + (i32.store + (i32.const 188) + (tee_local $1 + (i32.sub + (i32.add + (get_local $3) + (i32.const -40) + ) + (get_local $1) ) + ) + ) + (i32.store offset=4 + (get_local $2) + (i32.or (get_local $1) + (i32.const 1) ) ) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $1) - (i32.const 1) + (i32.store offset=4 + (i32.add + (get_local $2) + (get_local $1) + ) + (i32.const 40) ) - ) - (i32.store offset=4 - (i32.add - (get_local $2) - (get_local $1) + (i32.store + (i32.const 204) + (i32.load + (i32.const 664) + ) ) - (i32.const 40) ) - (i32.store - (i32.const 204) + ) + ) + (br_if $folding-inner0 + (i32.gt_u + (tee_local $1 (i32.load - (i32.const 664) + (i32.const 188) ) ) + (get_local $0) ) ) ) - (if - (i32.gt_u - (tee_local $1 - (i32.load - (i32.const 188) - ) - ) + (i32.store + (call $___errno_location) + (i32.const 12) + ) + (return + (i32.const 0) + ) + ) + (i32.store + (i32.const 188) + (tee_local $3 + (i32.sub + (get_local $1) (get_local $0) ) - (block - (i32.store - (i32.const 188) - (tee_local $3 - (i32.sub - (get_local $1) - (get_local $0) - ) - ) - ) - (i32.store - (i32.const 200) - (tee_local $1 - (i32.add - (tee_local $2 - (i32.load - (i32.const 200) - ) - ) - (get_local $0) - ) - ) - ) - (i32.store offset=4 - (get_local $1) - (i32.or - (get_local $3) - (i32.const 1) - ) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $0) - (i32.const 3) - ) - ) - (return - (i32.add - (get_local $2) - (i32.const 8) + ) + ) + (i32.store + (i32.const 200) + (tee_local $1 + (i32.add + (tee_local $2 + (i32.load + (i32.const 200) ) ) + (get_local $0) ) ) ) - (i32.store - (call $___errno_location) - (i32.const 12) + (i32.store offset=4 + (get_local $1) + (i32.or + (get_local $3) + (i32.const 1) + ) + ) + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $0) + (i32.const 3) + ) + ) + (i32.add + (get_local $2) + (i32.const 8) ) - (i32.const 0) ) (func $_free (param $0 i32) (local $1 i32) diff --git a/test/emcc_hello_world.fromasm.clamp b/test/emcc_hello_world.fromasm.clamp index 24b65fc1f..80a1f92b2 100644 --- a/test/emcc_hello_world.fromasm.clamp +++ b/test/emcc_hello_world.fromasm.clamp @@ -294,26 +294,20 @@ (set_local $1 (i32.const 87) ) - (set_local $0 - (i32.const 775) - ) (br $__rjti$1) ) ) - (if + (br_if $__rjti$1 (get_local $1) - (block - (set_local $0 - (i32.const 775) - ) - (br $__rjti$1) - ) - (set_local $0 - (i32.const 775) - ) + ) + (set_local $0 + (i32.const 775) ) (br $__rjto$1) ) + (set_local $0 + (i32.const 775) + ) (loop $while-in1 (loop $while-in3 (set_local $2 @@ -954,35 +948,34 @@ (get_local $5) ) ) - (if (result i32) - (i32.eq - (get_local $4) - (i32.const 2) - ) - (block (result i32) - (i32.store - (get_local $6) - (i32.add - (i32.load - (get_local $6) + (block (result i32) + (if + (i32.eq + (get_local $4) + (i32.const 2) + ) + (block + (i32.store + (get_local $6) + (i32.add + (i32.load + (get_local $6) + ) + (get_local $3) ) - (get_local $3) + ) + (set_local $7 + (get_local $5) + ) + (set_local $4 + (i32.const 2) ) ) (set_local $7 (get_local $5) ) - (set_local $4 - (i32.const 2) - ) - (get_local $3) - ) - (block (result i32) - (set_local $7 - (get_local $5) - ) - (get_local $3) ) + (get_local $3) ) ) ) @@ -1859,7 +1852,7 @@ (get_local $0) ) (loop $while-in - (if + (br_if $__rjti$2 (i32.eq (i32.load8_u (get_local $2) @@ -1869,12 +1862,6 @@ (i32.const 255) ) ) - (block - (set_local $0 - (get_local $3) - ) - (br $__rjti$2) - ) ) (br_if $while-in (i32.and @@ -1917,20 +1904,17 @@ ) ) ) - (if + (br_if $__rjti$2 (get_local $0) - (block - (set_local $0 - (get_local $3) - ) - (br $__rjti$2) - ) - (set_local $0 - (i32.const 0) - ) + ) + (set_local $0 + (i32.const 0) ) (br $label$break$L8) ) + (set_local $0 + (get_local $3) + ) (if (i32.ne (i32.load8_u @@ -2945,34 +2929,31 @@ (get_local $6) ) ) - (set_local $1 - (if (result i32) - (i32.lt_s - (get_local $14) - (i32.const 0) - ) - (block (result i32) - (set_local $11 - (i32.or - (get_local $1) - (i32.const 8192) - ) - ) - (set_local $14 - (i32.sub - (i32.const 0) - (get_local $14) - ) + (if + (i32.lt_s + (get_local $14) + (i32.const 0) + ) + (block + (set_local $11 + (i32.or + (get_local $1) + (i32.const 8192) ) - (get_local $8) ) - (block (result i32) - (set_local $11 - (get_local $1) + (set_local $14 + (i32.sub + (i32.const 0) + (get_local $14) ) - (get_local $8) ) ) + (set_local $11 + (get_local $1) + ) + ) + (set_local $1 + (get_local $8) ) ) (if @@ -3812,13 +3793,6 @@ ) ) ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$8) ) (block (set_local $5 @@ -3827,15 +3801,15 @@ (set_local $7 (get_local $11) ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$8) ) ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (br $__rjti$8) ) (set_local $5 (i32.load @@ -3894,7 +3868,6 @@ (set_local $9 (i32.const 4092) ) - (br $__rjti$4) ) (block (set_local $8 @@ -3912,9 +3885,9 @@ (get_local $9) ) ) - (br $__rjti$4) ) ) + (br $__rjti$4) ) (set_local $5 (i32.load @@ -6639,7 +6612,6 @@ (set_local $9 (i32.const 4091) ) - (br $__rjti$8) ) (block (set_local $8 @@ -6654,9 +6626,9 @@ (i32.const 4091) ) ) - (br $__rjti$8) ) ) + (br $__rjti$8) ) ) ) @@ -6922,7 +6894,7 @@ ) ) ) - (if (result i32) + (if (i32.or (get_local $6) (tee_local $12 @@ -6944,7 +6916,7 @@ ) ) ) - (block (result i32) + (block (set_local $7 (get_local $5) ) @@ -6972,18 +6944,17 @@ ) ) ) - (get_local $22) ) - (block (result i32) + (block (set_local $7 (get_local $22) ) (set_local $12 (i32.const 0) ) - (get_local $22) ) ) + (get_local $22) ) ) (call $_pad @@ -7889,258 +7860,274 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (block $do-once - (if - (i32.lt_u - (get_local $0) - (i32.const 245) - ) - (block - (if - (i32.and - (tee_local $5 - (i32.shr_u - (tee_local $11 - (i32.load - (i32.const 176) + (block $folding-inner0 + (block $do-once + (if + (i32.lt_u + (get_local $0) + (i32.const 245) + ) + (block + (if + (i32.and + (tee_local $5 + (i32.shr_u + (tee_local $11 + (i32.load + (i32.const 176) + ) ) - ) - (tee_local $13 - (i32.shr_u - (tee_local $4 - (select - (i32.const 16) - (i32.and - (i32.add + (tee_local $13 + (i32.shr_u + (tee_local $4 + (select + (i32.const 16) + (i32.and + (i32.add + (get_local $0) + (i32.const 11) + ) + (i32.const -8) + ) + (i32.lt_u (get_local $0) (i32.const 11) ) - (i32.const -8) - ) - (i32.lt_u - (get_local $0) - (i32.const 11) ) ) + (i32.const 3) ) - (i32.const 3) ) ) ) + (i32.const 3) ) - (i32.const 3) - ) - (block - (set_local $10 - (i32.load - (tee_local $1 - (i32.add - (tee_local $7 - (i32.load - (tee_local $3 - (i32.add - (tee_local $2 - (i32.add - (i32.shl - (tee_local $4 - (i32.add - (i32.xor - (i32.and - (get_local $5) + (block + (set_local $10 + (i32.load + (tee_local $1 + (i32.add + (tee_local $7 + (i32.load + (tee_local $3 + (i32.add + (tee_local $2 + (i32.add + (i32.shl + (tee_local $4 + (i32.add + (i32.xor + (i32.and + (get_local $5) + (i32.const 1) + ) (i32.const 1) ) - (i32.const 1) + (get_local $13) ) - (get_local $13) ) + (i32.const 3) ) - (i32.const 3) + (i32.const 216) ) - (i32.const 216) ) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 8) ) - (i32.const 8) ) ) ) - ) - (if - (i32.eq - (get_local $2) - (get_local $10) - ) - (i32.store - (i32.const 176) - (i32.and - (get_local $11) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $4) - ) - (i32.const -1) - ) + (if + (i32.eq + (get_local $2) + (get_local $10) ) - ) - (block - (if - (i32.lt_u - (get_local $10) - (i32.load - (i32.const 192) + (i32.store + (i32.const 176) + (i32.and + (get_local $11) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $4) + ) + (i32.const -1) ) ) - (call $_abort) ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $10) - (i32.const 12) - ) + (block + (if + (i32.lt_u + (get_local $10) + (i32.load + (i32.const 192) ) ) - (get_local $7) + (call $_abort) ) - (block - (i32.store - (get_local $0) - (get_local $2) + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $10) + (i32.const 12) + ) + ) + ) + (get_local $7) ) - (i32.store - (get_local $3) - (get_local $10) + (block + (i32.store + (get_local $0) + (get_local $2) + ) + (i32.store + (get_local $3) + (get_local $10) + ) ) + (call $_abort) ) - (call $_abort) ) ) - ) - (i32.store offset=4 - (get_local $7) - (i32.or - (tee_local $0 - (i32.shl - (get_local $4) - (i32.const 3) + (i32.store offset=4 + (get_local $7) + (i32.or + (tee_local $0 + (i32.shl + (get_local $4) + (i32.const 3) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $0 - (i32.add + (i32.store + (tee_local $0 (i32.add - (get_local $7) + (i32.add + (get_local $7) + (get_local $0) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.load (get_local $0) ) - (i32.const 4) + (i32.const 1) ) ) - (i32.or - (i32.load - (get_local $0) - ) - (i32.const 1) + (return + (get_local $1) ) ) - (return - (get_local $1) - ) ) - ) - (if - (i32.gt_u - (get_local $4) - (tee_local $0 - (i32.load - (i32.const 184) + (if + (i32.gt_u + (get_local $4) + (tee_local $0 + (i32.load + (i32.const 184) + ) ) ) - ) - (block - (if - (get_local $5) - (block - (set_local $10 - (i32.and - (i32.shr_u - (tee_local $3 - (i32.add - (i32.and - (tee_local $3 - (i32.and - (i32.shl - (get_local $5) - (get_local $13) - ) - (i32.or - (tee_local $3 - (i32.shl - (i32.const 2) - (get_local $13) - ) + (block + (if + (get_local $5) + (block + (set_local $10 + (i32.and + (i32.shr_u + (tee_local $3 + (i32.add + (i32.and + (tee_local $3 + (i32.and + (i32.shl + (get_local $5) + (get_local $13) ) - (i32.sub - (i32.const 0) - (get_local $3) + (i32.or + (tee_local $3 + (i32.shl + (i32.const 2) + (get_local $13) + ) + ) + (i32.sub + (i32.const 0) + (get_local $3) + ) ) ) ) + (i32.sub + (i32.const 0) + (get_local $3) + ) ) - (i32.sub - (i32.const 0) - (get_local $3) - ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (set_local $9 - (i32.load - (tee_local $7 - (i32.add - (tee_local $12 - (i32.load - (tee_local $3 - (i32.add - (tee_local $10 - (i32.add - (i32.shl - (tee_local $5 - (i32.add - (i32.or + (set_local $9 + (i32.load + (tee_local $7 + (i32.add + (tee_local $12 + (i32.load + (tee_local $3 + (i32.add + (tee_local $10 + (i32.add + (i32.shl + (tee_local $5 + (i32.add (i32.or (i32.or (i32.or + (i32.or + (tee_local $3 + (i32.and + (i32.shr_u + (tee_local $7 + (i32.shr_u + (get_local $3) + (get_local $10) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $10) + ) (tee_local $3 (i32.and (i32.shr_u (tee_local $7 (i32.shr_u + (get_local $7) (get_local $3) - (get_local $10) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $10) ) (tee_local $3 (i32.and @@ -8151,9 +8138,9 @@ (get_local $3) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) @@ -8168,310 +8155,310 @@ ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $7 - (i32.shr_u - (get_local $7) - (get_local $3) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) - ) - (i32.shr_u - (get_local $7) - (get_local $3) + (i32.shr_u + (get_local $7) + (get_local $3) + ) ) ) + (i32.const 3) ) - (i32.const 3) + (i32.const 216) ) - (i32.const 216) ) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 8) ) - (i32.const 8) ) ) ) - ) - (if - (i32.eq - (get_local $10) - (get_local $9) - ) - (block - (i32.store - (i32.const 176) - (i32.and - (get_local $11) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $5) + (if + (i32.eq + (get_local $10) + (get_local $9) + ) + (block + (i32.store + (i32.const 176) + (i32.and + (get_local $11) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $5) + ) + (i32.const -1) ) - (i32.const -1) ) ) - ) - (set_local $8 - (get_local $0) - ) - ) - (block - (if - (i32.lt_u - (get_local $9) - (i32.load - (i32.const 192) - ) + (set_local $8 + (get_local $0) ) - (call $_abort) ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $9) - (i32.const 12) - ) + (block + (if + (i32.lt_u + (get_local $9) + (i32.load + (i32.const 192) ) ) - (get_local $12) + (call $_abort) ) - (block - (i32.store - (get_local $0) - (get_local $10) - ) - (i32.store - (get_local $3) - (get_local $9) - ) - (set_local $8 + (if + (i32.eq (i32.load - (i32.const 184) + (tee_local $0 + (i32.add + (get_local $9) + (i32.const 12) + ) + ) + ) + (get_local $12) + ) + (block + (i32.store + (get_local $0) + (get_local $10) + ) + (i32.store + (get_local $3) + (get_local $9) + ) + (set_local $8 + (i32.load + (i32.const 184) + ) ) ) + (call $_abort) ) - (call $_abort) ) ) - ) - (i32.store offset=4 - (get_local $12) - (i32.or - (get_local $4) - (i32.const 3) - ) - ) - (i32.store offset=4 - (tee_local $10 - (i32.add - (get_local $12) + (i32.store offset=4 + (get_local $12) + (i32.or (get_local $4) + (i32.const 3) ) ) - (i32.or - (tee_local $5 - (i32.sub - (i32.shl - (get_local $5) - (i32.const 3) - ) + (i32.store offset=4 + (tee_local $10 + (i32.add + (get_local $12) (get_local $4) ) ) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (get_local $10) - (get_local $5) - ) - (get_local $5) - ) - (if - (get_local $8) - (block - (set_local $12 - (i32.load - (i32.const 196) - ) - ) - (set_local $4 - (i32.add - (i32.shl - (tee_local $0 - (i32.shr_u - (get_local $8) - (i32.const 3) - ) + (i32.or + (tee_local $5 + (i32.sub + (i32.shl + (get_local $5) + (i32.const 3) ) - (i32.const 3) + (get_local $4) ) - (i32.const 216) ) + (i32.const 1) ) - (if - (i32.and - (tee_local $3 - (i32.load - (i32.const 176) - ) + ) + (i32.store + (i32.add + (get_local $10) + (get_local $5) + ) + (get_local $5) + ) + (if + (get_local $8) + (block + (set_local $12 + (i32.load + (i32.const 196) ) - (tee_local $0 + ) + (set_local $4 + (i32.add (i32.shl - (i32.const 1) - (get_local $0) + (tee_local $0 + (i32.shr_u + (get_local $8) + (i32.const 3) + ) + ) + (i32.const 3) ) + (i32.const 216) ) ) (if - (i32.lt_u - (tee_local $0 + (i32.and + (tee_local $3 (i32.load - (tee_local $3 - (i32.add - (get_local $4) - (i32.const 8) + (i32.const 176) + ) + ) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $0) + ) + ) + ) + (if + (i32.lt_u + (tee_local $0 + (i32.load + (tee_local $3 + (i32.add + (get_local $4) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 192) + ) ) - (i32.load - (i32.const 192) + (call $_abort) + (block + (set_local $2 + (get_local $3) + ) + (set_local $1 + (get_local $0) + ) ) ) - (call $_abort) (block + (i32.store + (i32.const 176) + (i32.or + (get_local $3) + (get_local $0) + ) + ) (set_local $2 - (get_local $3) + (i32.add + (get_local $4) + (i32.const 8) + ) ) (set_local $1 - (get_local $0) - ) - ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (get_local $3) - (get_local $0) - ) - ) - (set_local $2 - (i32.add (get_local $4) - (i32.const 8) ) ) - (set_local $1 - (get_local $4) - ) ) - ) - (i32.store - (get_local $2) - (get_local $12) - ) - (i32.store offset=12 - (get_local $1) - (get_local $12) - ) - (i32.store offset=8 - (get_local $12) - (get_local $1) - ) - (i32.store offset=12 - (get_local $12) - (get_local $4) + (i32.store + (get_local $2) + (get_local $12) + ) + (i32.store offset=12 + (get_local $1) + (get_local $12) + ) + (i32.store offset=8 + (get_local $12) + (get_local $1) + ) + (i32.store offset=12 + (get_local $12) + (get_local $4) + ) ) ) - ) - (i32.store - (i32.const 184) - (get_local $5) - ) - (i32.store - (i32.const 196) - (get_local $10) - ) - (return - (get_local $7) + (i32.store + (i32.const 184) + (get_local $5) + ) + (i32.store + (i32.const 196) + (get_local $10) + ) + (return + (get_local $7) + ) ) ) - ) - (if - (tee_local $0 - (i32.load - (i32.const 180) + (if + (tee_local $0 + (i32.load + (i32.const 180) + ) ) - ) - (block - (set_local $2 - (i32.and - (i32.shr_u - (tee_local $0 - (i32.add - (i32.and - (get_local $0) - (i32.sub - (i32.const 0) + (block + (set_local $2 + (i32.and + (i32.shr_u + (tee_local $0 + (i32.add + (i32.and (get_local $0) + (i32.sub + (i32.const 0) + (get_local $0) + ) ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (set_local $7 - (i32.sub - (i32.and - (i32.load offset=4 - (tee_local $0 - (i32.load offset=480 - (i32.shl - (i32.add - (i32.or + (set_local $7 + (i32.sub + (i32.and + (i32.load offset=4 + (tee_local $0 + (i32.load offset=480 + (i32.shl + (i32.add (i32.or (i32.or (i32.or + (i32.or + (tee_local $0 + (i32.and + (i32.shr_u + (tee_local $1 + (i32.shr_u + (get_local $0) + (get_local $2) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $2) + ) (tee_local $0 (i32.and (i32.shr_u (tee_local $1 (i32.shr_u + (get_local $1) (get_local $0) - (get_local $2) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $2) ) (tee_local $0 (i32.and @@ -8482,9 +8469,9 @@ (get_local $0) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) @@ -8499,163 +8486,135 @@ ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.shr_u - (get_local $1) - (get_local $0) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) + (i32.shr_u + (get_local $1) + (get_local $0) + ) ) - (i32.shr_u - (get_local $1) - (get_local $0) - ) + (i32.const 2) ) - (i32.const 2) ) ) ) + (i32.const -8) ) - (i32.const -8) + (get_local $4) ) - (get_local $4) ) - ) - (set_local $1 - (get_local $0) - ) - (set_local $2 - (get_local $0) - ) - (loop $while-in - (block $while-out - (if - (i32.eqz - (tee_local $0 - (i32.load offset=16 - (get_local $1) - ) - ) - ) + (set_local $1 + (get_local $0) + ) + (set_local $2 + (get_local $0) + ) + (loop $while-in + (block $while-out (if (i32.eqz (tee_local $0 - (i32.load offset=20 + (i32.load offset=16 (get_local $1) ) ) ) - (block - (set_local $10 - (get_local $7) + (if + (i32.eqz + (tee_local $0 + (i32.load offset=20 + (get_local $1) + ) + ) ) - (set_local $5 - (get_local $2) + (block + (set_local $10 + (get_local $7) + ) + (set_local $5 + (get_local $2) + ) + (br $while-out) ) - (br $while-out) ) ) - ) - (set_local $10 - (i32.lt_u - (tee_local $1 - (i32.sub - (i32.and - (i32.load offset=4 - (get_local $0) + (set_local $10 + (i32.lt_u + (tee_local $1 + (i32.sub + (i32.and + (i32.load offset=4 + (get_local $0) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $4) ) - (get_local $4) ) + (get_local $7) ) - (get_local $7) ) - ) - (set_local $7 - (select - (get_local $1) - (get_local $7) - (get_local $10) + (set_local $7 + (select + (get_local $1) + (get_local $7) + (get_local $10) + ) ) - ) - (set_local $1 - (get_local $0) - ) - (set_local $2 - (select + (set_local $1 (get_local $0) - (get_local $2) - (get_local $10) ) - ) - (br $while-in) - ) - ) - (if - (i32.lt_u - (get_local $5) - (tee_local $12 - (i32.load - (i32.const 192) + (set_local $2 + (select + (get_local $0) + (get_local $2) + (get_local $10) + ) ) + (br $while-in) ) ) - (call $_abort) - ) - (if - (i32.ge_u - (get_local $5) - (tee_local $11 - (i32.add - (get_local $5) - (get_local $4) + (if + (i32.lt_u + (get_local $5) + (tee_local $12 + (i32.load + (i32.const 192) + ) ) ) + (call $_abort) ) - (call $_abort) - ) - (set_local $8 - (i32.load offset=24 - (get_local $5) - ) - ) - (block $do-once4 (if - (i32.eq - (tee_local $0 - (i32.load offset=12 + (i32.ge_u + (get_local $5) + (tee_local $11 + (i32.add (get_local $5) + (get_local $4) ) ) + ) + (call $_abort) + ) + (set_local $8 + (i32.load offset=24 (get_local $5) ) - (block - (if - (i32.eqz - (tee_local $1 - (i32.load - (tee_local $0 - (i32.add - (get_local $5) - (i32.const 20) - ) - ) - ) + ) + (block $do-once4 + (if + (i32.eq + (tee_local $0 + (i32.load offset=12 + (get_local $5) ) ) + (get_local $5) + ) + (block (if (i32.eqz (tee_local $1 @@ -8663,719 +8622,733 @@ (tee_local $0 (i32.add (get_local $5) - (i32.const 16) + (i32.const 20) ) ) ) ) ) - (block - (set_local $9 - (i32.const 0) - ) - (br $do-once4) - ) - ) - ) - (loop $while-in7 - (if - (tee_local $2 - (i32.load - (tee_local $7 - (i32.add - (get_local $1) - (i32.const 20) + (if + (i32.eqz + (tee_local $1 + (i32.load + (tee_local $0 + (i32.add + (get_local $5) + (i32.const 16) + ) + ) ) ) ) - ) - (block - (set_local $1 - (get_local $2) - ) - (set_local $0 - (get_local $7) + (block + (set_local $9 + (i32.const 0) + ) + (br $do-once4) ) - (br $while-in7) ) ) - (if - (tee_local $2 - (i32.load - (tee_local $7 - (i32.add - (get_local $1) - (i32.const 16) + (loop $while-in7 + (if + (tee_local $2 + (i32.load + (tee_local $7 + (i32.add + (get_local $1) + (i32.const 20) + ) ) ) ) + (block + (set_local $1 + (get_local $2) + ) + (set_local $0 + (get_local $7) + ) + (br $while-in7) + ) ) - (block - (set_local $1 - (get_local $2) + (if + (tee_local $2 + (i32.load + (tee_local $7 + (i32.add + (get_local $1) + (i32.const 16) + ) + ) + ) ) - (set_local $0 - (get_local $7) + (block + (set_local $1 + (get_local $2) + ) + (set_local $0 + (get_local $7) + ) + (br $while-in7) ) - (br $while-in7) ) ) - ) - (if - (i32.lt_u - (get_local $0) - (get_local $12) - ) - (call $_abort) - (block - (i32.store + (if + (i32.lt_u (get_local $0) - (i32.const 0) - ) - (set_local $9 - (get_local $1) + (get_local $12) ) - ) - ) - ) - (block - (if - (i32.lt_u - (tee_local $7 - (i32.load offset=8 - (get_local $5) + (call $_abort) + (block + (i32.store + (get_local $0) + (i32.const 0) + ) + (set_local $9 + (get_local $1) ) ) - (get_local $12) ) - (call $_abort) ) - (if - (i32.ne - (i32.load - (tee_local $2 - (i32.add - (get_local $7) - (i32.const 12) + (block + (if + (i32.lt_u + (tee_local $7 + (i32.load offset=8 + (get_local $5) ) ) + (get_local $12) ) - (get_local $5) + (call $_abort) ) - (call $_abort) - ) - (if - (i32.eq - (i32.load - (tee_local $1 - (i32.add - (get_local $0) - (i32.const 8) + (if + (i32.ne + (i32.load + (tee_local $2 + (i32.add + (get_local $7) + (i32.const 12) + ) ) ) + (get_local $5) ) - (get_local $5) + (call $_abort) ) - (block - (i32.store - (get_local $2) - (get_local $0) - ) - (i32.store - (get_local $1) - (get_local $7) + (if + (i32.eq + (i32.load + (tee_local $1 + (i32.add + (get_local $0) + (i32.const 8) + ) + ) + ) + (get_local $5) ) - (set_local $9 - (get_local $0) + (block + (i32.store + (get_local $2) + (get_local $0) + ) + (i32.store + (get_local $1) + (get_local $7) + ) + (set_local $9 + (get_local $0) + ) ) + (call $_abort) ) - (call $_abort) ) ) ) - ) - (block $do-once8 - (if - (get_local $8) - (block - (if - (i32.eq - (get_local $5) - (i32.load - (tee_local $0 - (i32.add - (i32.shl - (tee_local $1 - (i32.load offset=28 - (get_local $5) + (block $do-once8 + (if + (get_local $8) + (block + (if + (i32.eq + (get_local $5) + (i32.load + (tee_local $0 + (i32.add + (i32.shl + (tee_local $1 + (i32.load offset=28 + (get_local $5) + ) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 480) ) - (i32.const 480) ) ) ) - ) - (block - (i32.store - (get_local $0) - (get_local $9) - ) - (if - (i32.eqz + (block + (i32.store + (get_local $0) (get_local $9) ) - (block - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $1) + (if + (i32.eqz + (get_local $9) + ) + (block + (i32.store + (i32.const 180) + (i32.and + (i32.load + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $1) + ) + (i32.const -1) ) - (i32.const -1) ) ) + (br $do-once8) ) - (br $do-once8) ) ) - ) - (block - (if - (i32.lt_u - (get_local $8) - (i32.load - (i32.const 192) + (block + (if + (i32.lt_u + (get_local $8) + (i32.load + (i32.const 192) + ) ) + (call $_abort) ) - (call $_abort) - ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $8) - (i32.const 16) + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $8) + (i32.const 16) + ) ) ) + (get_local $5) + ) + (i32.store + (get_local $0) + (get_local $9) + ) + (i32.store offset=20 + (get_local $8) + (get_local $9) ) - (get_local $5) - ) - (i32.store - (get_local $0) - (get_local $9) - ) - (i32.store offset=20 - (get_local $8) - (get_local $9) ) - ) - (br_if $do-once8 - (i32.eqz - (get_local $9) + (br_if $do-once8 + (i32.eqz + (get_local $9) + ) ) ) ) - ) - (if - (i32.lt_u - (get_local $9) - (tee_local $0 - (i32.load - (i32.const 192) + (if + (i32.lt_u + (get_local $9) + (tee_local $0 + (i32.load + (i32.const 192) + ) ) ) + (call $_abort) ) - (call $_abort) - ) - (i32.store offset=24 - (get_local $9) - (get_local $8) - ) - (if - (tee_local $1 - (i32.load offset=16 - (get_local $5) - ) + (i32.store offset=24 + (get_local $9) + (get_local $8) ) (if - (i32.lt_u - (get_local $1) - (get_local $0) + (tee_local $1 + (i32.load offset=16 + (get_local $5) + ) ) - (call $_abort) - (block - (i32.store offset=16 - (get_local $9) + (if + (i32.lt_u (get_local $1) + (get_local $0) ) - (i32.store offset=24 - (get_local $1) - (get_local $9) + (call $_abort) + (block + (i32.store offset=16 + (get_local $9) + (get_local $1) + ) + (i32.store offset=24 + (get_local $1) + (get_local $9) + ) ) ) ) - ) - (if - (tee_local $0 - (i32.load offset=20 - (get_local $5) - ) - ) (if - (i32.lt_u - (get_local $0) - (i32.load - (i32.const 192) + (tee_local $0 + (i32.load offset=20 + (get_local $5) ) ) - (call $_abort) - (block - (i32.store offset=20 - (get_local $9) + (if + (i32.lt_u (get_local $0) + (i32.load + (i32.const 192) + ) ) - (i32.store offset=24 - (get_local $0) - (get_local $9) + (call $_abort) + (block + (i32.store offset=20 + (get_local $9) + (get_local $0) + ) + (i32.store offset=24 + (get_local $0) + (get_local $9) + ) ) ) ) ) ) ) - ) - (if - (i32.lt_u - (get_local $10) - (i32.const 16) - ) - (block - (i32.store offset=4 - (get_local $5) - (i32.or - (tee_local $0 - (i32.add - (get_local $10) - (get_local $4) + (if + (i32.lt_u + (get_local $10) + (i32.const 16) + ) + (block + (i32.store offset=4 + (get_local $5) + (i32.or + (tee_local $0 + (i32.add + (get_local $10) + (get_local $4) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $0 - (i32.add + (i32.store + (tee_local $0 (i32.add - (get_local $5) - (get_local $0) + (i32.add + (get_local $5) + (get_local $0) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $0) + (i32.or + (i32.load + (get_local $0) + ) + (i32.const 1) ) - (i32.const 1) - ) - ) - ) - (block - (i32.store offset=4 - (get_local $5) - (i32.or - (get_local $4) - (i32.const 3) ) ) - (i32.store offset=4 - (get_local $11) - (i32.or - (get_local $10) - (i32.const 1) + (block + (i32.store offset=4 + (get_local $5) + (i32.or + (get_local $4) + (i32.const 3) + ) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $11) - (get_local $10) + (i32.or + (get_local $10) + (i32.const 1) + ) ) - (get_local $10) - ) - (if - (tee_local $0 - (i32.load - (i32.const 184) + (i32.store + (i32.add + (get_local $11) + (get_local $10) ) + (get_local $10) ) - (block - (set_local $4 + (if + (tee_local $0 (i32.load - (i32.const 196) + (i32.const 184) ) ) - (set_local $2 - (i32.add - (i32.shl - (tee_local $0 - (i32.shr_u - (get_local $0) - (i32.const 3) - ) - ) - (i32.const 3) + (block + (set_local $4 + (i32.load + (i32.const 196) ) - (i32.const 216) ) - ) - (if - (i32.and - (tee_local $1 - (i32.load - (i32.const 176) - ) - ) - (tee_local $0 + (set_local $2 + (i32.add (i32.shl - (i32.const 1) - (get_local $0) + (tee_local $0 + (i32.shr_u + (get_local $0) + (i32.const 3) + ) + ) + (i32.const 3) ) + (i32.const 216) ) ) (if - (i32.lt_u - (tee_local $0 + (i32.and + (tee_local $1 (i32.load - (tee_local $1 - (i32.add - (get_local $2) - (i32.const 8) + (i32.const 176) + ) + ) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $0) + ) + ) + ) + (if + (i32.lt_u + (tee_local $0 + (i32.load + (tee_local $1 + (i32.add + (get_local $2) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 192) + ) ) - (i32.load - (i32.const 192) + (call $_abort) + (block + (set_local $6 + (get_local $1) + ) + (set_local $3 + (get_local $0) + ) ) ) - (call $_abort) (block + (i32.store + (i32.const 176) + (i32.or + (get_local $1) + (get_local $0) + ) + ) (set_local $6 - (get_local $1) + (i32.add + (get_local $2) + (i32.const 8) + ) ) (set_local $3 - (get_local $0) - ) - ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (get_local $1) - (get_local $0) - ) - ) - (set_local $6 - (i32.add (get_local $2) - (i32.const 8) ) ) - (set_local $3 - (get_local $2) - ) ) - ) - (i32.store - (get_local $6) - (get_local $4) - ) - (i32.store offset=12 - (get_local $3) - (get_local $4) - ) - (i32.store offset=8 - (get_local $4) - (get_local $3) - ) - (i32.store offset=12 - (get_local $4) - (get_local $2) + (i32.store + (get_local $6) + (get_local $4) + ) + (i32.store offset=12 + (get_local $3) + (get_local $4) + ) + (i32.store offset=8 + (get_local $4) + (get_local $3) + ) + (i32.store offset=12 + (get_local $4) + (get_local $2) + ) ) ) + (i32.store + (i32.const 184) + (get_local $10) + ) + (i32.store + (i32.const 196) + (get_local $11) + ) ) - (i32.store - (i32.const 184) - (get_local $10) - ) - (i32.store - (i32.const 196) - (get_local $11) + ) + (return + (i32.add + (get_local $5) + (i32.const 8) ) ) ) - (return - (i32.add - (get_local $5) - (i32.const 8) - ) + (set_local $0 + (get_local $4) ) ) - (set_local $0 - (get_local $4) - ) + ) + (set_local $0 + (get_local $4) ) ) + ) + (if + (i32.gt_u + (get_local $0) + (i32.const -65) + ) (set_local $0 - (get_local $4) + (i32.const -1) ) - ) - ) - (if - (i32.gt_u - (get_local $0) - (i32.const -65) - ) - (set_local $0 - (i32.const -1) - ) - (block - (set_local $2 - (i32.and - (tee_local $0 - (i32.add - (get_local $0) - (i32.const 11) + (block + (set_local $2 + (i32.and + (tee_local $0 + (i32.add + (get_local $0) + (i32.const 11) + ) ) + (i32.const -8) ) - (i32.const -8) ) - ) - (if - (tee_local $18 - (i32.load - (i32.const 180) + (if + (tee_local $18 + (i32.load + (i32.const 180) + ) ) - ) - (block - (set_local $14 - (if (result i32) - (tee_local $0 - (i32.shr_u - (get_local $0) - (i32.const 8) - ) - ) + (block + (set_local $14 (if (result i32) - (i32.gt_u - (get_local $2) - (i32.const 16777215) + (tee_local $0 + (i32.shr_u + (get_local $0) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $2) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $2) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $2) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (i32.or + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $0) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $3) ) - (get_local $3) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $1) + (get_local $0) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $1) + (get_local $0) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) - ) - (set_local $3 - (i32.sub - (i32.const 0) - (get_local $2) + (set_local $3 + (i32.sub + (i32.const 0) + (get_local $2) + ) ) - ) - (block $__rjto$3 - (block $__rjti$3 - (if - (tee_local $0 - (i32.load offset=480 - (i32.shl - (get_local $14) - (i32.const 2) + (block $__rjto$3 + (block $__rjti$3 + (if + (tee_local $0 + (i32.load offset=480 + (i32.shl + (get_local $14) + (i32.const 2) + ) ) ) - ) - (block - (set_local $6 - (i32.const 0) - ) - (set_local $8 - (i32.shl - (get_local $2) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u + (block + (set_local $6 + (i32.const 0) + ) + (set_local $8 + (i32.shl + (get_local $2) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $14) + (i32.const 1) + ) + ) + (i32.eq (get_local $14) - (i32.const 1) + (i32.const 31) ) ) - (i32.eq - (get_local $14) - (i32.const 31) - ) ) ) - ) - (set_local $1 - (i32.const 0) - ) - (loop $while-in14 - (if - (i32.lt_u - (tee_local $4 - (i32.sub - (tee_local $9 - (i32.and - (i32.load offset=4 - (get_local $0) + (set_local $1 + (i32.const 0) + ) + (loop $while-in14 + (if + (i32.lt_u + (tee_local $4 + (i32.sub + (tee_local $9 + (i32.and + (i32.load offset=4 + (get_local $0) + ) + (i32.const -8) ) - (i32.const -8) ) + (get_local $2) ) - (get_local $2) ) + (get_local $3) ) - (get_local $3) - ) - (if - (i32.eq - (get_local $9) - (get_local $2) - ) - (block - (set_local $1 - (get_local $4) - ) - (set_local $3 - (get_local $0) + (if + (i32.eq + (get_local $9) + (get_local $2) ) - (br $__rjti$3) - ) - (block - (set_local $3 - (get_local $4) + (block + (set_local $1 + (get_local $4) + ) + (set_local $3 + (get_local $0) + ) + (br $__rjti$3) ) - (set_local $1 - (get_local $0) + (block + (set_local $3 + (get_local $4) + ) + (set_local $1 + (get_local $0) + ) ) ) ) - ) - (set_local $0 - (select - (get_local $6) - (tee_local $4 - (i32.load offset=20 - (get_local $0) - ) - ) - (i32.or - (i32.eqz - (get_local $4) + (set_local $0 + (select + (get_local $6) + (tee_local $4 + (i32.load offset=20 + (get_local $0) + ) ) - (i32.eq - (get_local $4) - (tee_local $9 - (i32.load - (i32.add + (i32.or + (i32.eqz + (get_local $4) + ) + (i32.eq + (get_local $4) + (tee_local $9 + (i32.load (i32.add - (get_local $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $8) - (i32.const 31) + (i32.add + (get_local $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $8) + (i32.const 31) + ) + (i32.const 2) ) - (i32.const 2) ) ) ) @@ -9383,134 +9356,148 @@ ) ) ) - ) - (set_local $4 - (i32.shl - (get_local $8) - (i32.xor - (tee_local $6 - (i32.eqz - (get_local $9) + (set_local $4 + (i32.shl + (get_local $8) + (i32.xor + (tee_local $6 + (i32.eqz + (get_local $9) + ) ) + (i32.const 1) ) - (i32.const 1) ) ) - ) - (if - (get_local $6) - (block - (set_local $4 - (get_local $0) - ) - (set_local $0 - (get_local $1) - ) - ) - (block - (set_local $6 - (get_local $0) - ) - (set_local $8 - (get_local $4) + (if + (get_local $6) + (block + (set_local $4 + (get_local $0) + ) + (set_local $0 + (get_local $1) + ) ) - (set_local $0 - (get_local $9) + (block + (set_local $6 + (get_local $0) + ) + (set_local $8 + (get_local $4) + ) + (set_local $0 + (get_local $9) + ) + (br $while-in14) ) - (br $while-in14) ) ) ) - ) - (block - (set_local $4 - (i32.const 0) - ) - (set_local $0 - (i32.const 0) - ) - ) - ) - (if - (i32.and - (i32.eqz - (get_local $4) - ) - (i32.eqz - (get_local $0) + (block + (set_local $4 + (i32.const 0) + ) + (set_local $0 + (i32.const 0) + ) ) ) - (block - (if + (if + (i32.and (i32.eqz - (tee_local $1 - (i32.and - (get_local $18) - (i32.or - (tee_local $1 - (i32.shl - (i32.const 2) - (get_local $14) + (get_local $4) + ) + (i32.eqz + (get_local $0) + ) + ) + (block + (if + (i32.eqz + (tee_local $1 + (i32.and + (get_local $18) + (i32.or + (tee_local $1 + (i32.shl + (i32.const 2) + (get_local $14) + ) + ) + (i32.sub + (i32.const 0) + (get_local $1) ) - ) - (i32.sub - (i32.const 0) - (get_local $1) ) ) ) ) - ) - (block - (set_local $0 - (get_local $2) + (block + (set_local $0 + (get_local $2) + ) + (br $do-once) ) - (br $do-once) ) - ) - (set_local $9 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.add - (i32.and - (get_local $1) - (i32.sub - (i32.const 0) + (set_local $9 + (i32.and + (i32.shr_u + (tee_local $1 + (i32.add + (i32.and (get_local $1) + (i32.sub + (i32.const 0) + (get_local $1) + ) ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (set_local $4 - (i32.load offset=480 - (i32.shl - (i32.add - (i32.or + (set_local $4 + (i32.load offset=480 + (i32.shl + (i32.add (i32.or (i32.or (i32.or + (i32.or + (tee_local $1 + (i32.and + (i32.shr_u + (tee_local $4 + (i32.shr_u + (get_local $1) + (get_local $9) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $9) + ) (tee_local $1 (i32.and (i32.shr_u (tee_local $4 (i32.shr_u + (get_local $4) (get_local $1) - (get_local $9) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $9) ) (tee_local $1 (i32.and @@ -9521,9 +9508,9 @@ (get_local $1) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) @@ -9538,177 +9525,149 @@ ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $1 - (i32.and - (i32.shr_u - (tee_local $4 - (i32.shr_u - (get_local $4) - (get_local $1) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) + (i32.shr_u + (get_local $4) + (get_local $1) + ) ) - (i32.shr_u - (get_local $4) - (get_local $1) - ) + (i32.const 2) ) - (i32.const 2) ) ) ) ) - ) - (if - (get_local $4) - (block - (set_local $1 - (get_local $3) + (if + (get_local $4) + (block + (set_local $1 + (get_local $3) + ) + (set_local $3 + (get_local $4) + ) + (br $__rjti$3) ) - (set_local $3 - (get_local $4) + (set_local $4 + (get_local $0) ) - (br $__rjti$3) - ) - (set_local $4 - (get_local $0) ) + (br $__rjto$3) ) - (br $__rjto$3) - ) - (loop $while-in16 - (set_local $9 - (i32.lt_u - (tee_local $4 - (i32.sub - (i32.and - (i32.load offset=4 - (get_local $3) + (loop $while-in16 + (set_local $9 + (i32.lt_u + (tee_local $4 + (i32.sub + (i32.and + (i32.load offset=4 + (get_local $3) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $2) ) - (get_local $2) ) + (get_local $1) ) - (get_local $1) - ) - ) - (set_local $1 - (select - (get_local $4) - (get_local $1) - (get_local $9) ) - ) - (set_local $0 - (select - (get_local $3) - (get_local $0) - (get_local $9) + (set_local $1 + (select + (get_local $4) + (get_local $1) + (get_local $9) + ) ) - ) - (if - (tee_local $4 - (i32.load offset=16 + (set_local $0 + (select (get_local $3) + (get_local $0) + (get_local $9) ) ) - (block - (set_local $3 - (get_local $4) + (if + (tee_local $4 + (i32.load offset=16 + (get_local $3) + ) + ) + (block + (set_local $3 + (get_local $4) + ) + (br $while-in16) ) - (br $while-in16) ) - ) - (br_if $while-in16 - (tee_local $3 - (i32.load offset=20 - (get_local $3) + (br_if $while-in16 + (tee_local $3 + (i32.load offset=20 + (get_local $3) + ) ) ) - ) - (set_local $3 - (get_local $1) - ) - (set_local $4 - (get_local $0) + (set_local $3 + (get_local $1) + ) + (set_local $4 + (get_local $0) + ) ) ) - ) - (if - (get_local $4) (if - (i32.lt_u - (get_local $3) - (i32.sub - (i32.load - (i32.const 184) - ) - (get_local $2) - ) - ) - (block - (if - (i32.lt_u - (get_local $4) - (tee_local $12 - (i32.load - (i32.const 192) - ) + (get_local $4) + (if + (i32.lt_u + (get_local $3) + (i32.sub + (i32.load + (i32.const 184) ) + (get_local $2) ) - (call $_abort) ) - (if - (i32.ge_u - (get_local $4) - (tee_local $6 - (i32.add - (get_local $4) - (get_local $2) + (block + (if + (i32.lt_u + (get_local $4) + (tee_local $12 + (i32.load + (i32.const 192) + ) ) ) + (call $_abort) ) - (call $_abort) - ) - (set_local $9 - (i32.load offset=24 - (get_local $4) - ) - ) - (block $do-once17 (if - (i32.eq - (tee_local $0 - (i32.load offset=12 + (i32.ge_u + (get_local $4) + (tee_local $6 + (i32.add (get_local $4) + (get_local $2) ) ) + ) + (call $_abort) + ) + (set_local $9 + (i32.load offset=24 (get_local $4) ) - (block - (if - (i32.eqz - (tee_local $1 - (i32.load - (tee_local $0 - (i32.add - (get_local $4) - (i32.const 20) - ) - ) - ) + ) + (block $do-once17 + (if + (i32.eq + (tee_local $0 + (i32.load offset=12 + (get_local $4) ) ) + (get_local $4) + ) + (block (if (i32.eqz (tee_local $1 @@ -9716,1758 +9675,1694 @@ (tee_local $0 (i32.add (get_local $4) - (i32.const 16) + (i32.const 20) ) ) ) ) ) - (block - (set_local $11 - (i32.const 0) - ) - (br $do-once17) - ) - ) - ) - (loop $while-in20 - (if - (tee_local $7 - (i32.load - (tee_local $10 - (i32.add - (get_local $1) - (i32.const 20) + (if + (i32.eqz + (tee_local $1 + (i32.load + (tee_local $0 + (i32.add + (get_local $4) + (i32.const 16) + ) + ) ) ) ) - ) - (block - (set_local $1 - (get_local $7) - ) - (set_local $0 - (get_local $10) + (block + (set_local $11 + (i32.const 0) + ) + (br $do-once17) ) - (br $while-in20) ) ) - (if - (tee_local $7 - (i32.load - (tee_local $10 - (i32.add - (get_local $1) - (i32.const 16) + (loop $while-in20 + (if + (tee_local $7 + (i32.load + (tee_local $10 + (i32.add + (get_local $1) + (i32.const 20) + ) ) ) ) + (block + (set_local $1 + (get_local $7) + ) + (set_local $0 + (get_local $10) + ) + (br $while-in20) + ) ) - (block - (set_local $1 - (get_local $7) + (if + (tee_local $7 + (i32.load + (tee_local $10 + (i32.add + (get_local $1) + (i32.const 16) + ) + ) + ) ) - (set_local $0 - (get_local $10) + (block + (set_local $1 + (get_local $7) + ) + (set_local $0 + (get_local $10) + ) + (br $while-in20) ) - (br $while-in20) ) ) - ) - (if - (i32.lt_u - (get_local $0) - (get_local $12) - ) - (call $_abort) - (block - (i32.store + (if + (i32.lt_u (get_local $0) - (i32.const 0) - ) - (set_local $11 - (get_local $1) + (get_local $12) ) - ) - ) - ) - (block - (if - (i32.lt_u - (tee_local $10 - (i32.load offset=8 - (get_local $4) + (call $_abort) + (block + (i32.store + (get_local $0) + (i32.const 0) + ) + (set_local $11 + (get_local $1) ) ) - (get_local $12) ) - (call $_abort) ) - (if - (i32.ne - (i32.load - (tee_local $7 - (i32.add - (get_local $10) - (i32.const 12) + (block + (if + (i32.lt_u + (tee_local $10 + (i32.load offset=8 + (get_local $4) ) ) + (get_local $12) ) - (get_local $4) + (call $_abort) ) - (call $_abort) - ) - (if - (i32.eq - (i32.load - (tee_local $1 - (i32.add - (get_local $0) - (i32.const 8) + (if + (i32.ne + (i32.load + (tee_local $7 + (i32.add + (get_local $10) + (i32.const 12) + ) ) ) + (get_local $4) ) - (get_local $4) + (call $_abort) ) - (block - (i32.store - (get_local $7) - (get_local $0) - ) - (i32.store - (get_local $1) - (get_local $10) + (if + (i32.eq + (i32.load + (tee_local $1 + (i32.add + (get_local $0) + (i32.const 8) + ) + ) + ) + (get_local $4) ) - (set_local $11 - (get_local $0) + (block + (i32.store + (get_local $7) + (get_local $0) + ) + (i32.store + (get_local $1) + (get_local $10) + ) + (set_local $11 + (get_local $0) + ) ) + (call $_abort) ) - (call $_abort) ) ) ) - ) - (block $do-once21 - (if - (get_local $9) - (block - (if - (i32.eq - (get_local $4) - (i32.load - (tee_local $0 - (i32.add - (i32.shl - (tee_local $1 - (i32.load offset=28 - (get_local $4) + (block $do-once21 + (if + (get_local $9) + (block + (if + (i32.eq + (get_local $4) + (i32.load + (tee_local $0 + (i32.add + (i32.shl + (tee_local $1 + (i32.load offset=28 + (get_local $4) + ) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 480) ) - (i32.const 480) ) ) ) - ) - (block - (i32.store - (get_local $0) - (get_local $11) - ) - (if - (i32.eqz + (block + (i32.store + (get_local $0) (get_local $11) ) - (block - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $1) + (if + (i32.eqz + (get_local $11) + ) + (block + (i32.store + (i32.const 180) + (i32.and + (i32.load + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $1) + ) + (i32.const -1) ) - (i32.const -1) ) ) + (br $do-once21) ) - (br $do-once21) ) ) - ) - (block - (if - (i32.lt_u - (get_local $9) - (i32.load - (i32.const 192) + (block + (if + (i32.lt_u + (get_local $9) + (i32.load + (i32.const 192) + ) ) + (call $_abort) ) - (call $_abort) - ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $9) - (i32.const 16) + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $9) + (i32.const 16) + ) ) ) + (get_local $4) + ) + (i32.store + (get_local $0) + (get_local $11) + ) + (i32.store offset=20 + (get_local $9) + (get_local $11) ) - (get_local $4) - ) - (i32.store - (get_local $0) - (get_local $11) - ) - (i32.store offset=20 - (get_local $9) - (get_local $11) ) - ) - (br_if $do-once21 - (i32.eqz - (get_local $11) + (br_if $do-once21 + (i32.eqz + (get_local $11) + ) ) ) ) - ) - (if - (i32.lt_u - (get_local $11) - (tee_local $0 - (i32.load - (i32.const 192) + (if + (i32.lt_u + (get_local $11) + (tee_local $0 + (i32.load + (i32.const 192) + ) ) ) + (call $_abort) ) - (call $_abort) - ) - (i32.store offset=24 - (get_local $11) - (get_local $9) - ) - (if - (tee_local $1 - (i32.load offset=16 - (get_local $4) - ) + (i32.store offset=24 + (get_local $11) + (get_local $9) ) (if - (i32.lt_u - (get_local $1) - (get_local $0) + (tee_local $1 + (i32.load offset=16 + (get_local $4) + ) ) - (call $_abort) - (block - (i32.store offset=16 - (get_local $11) + (if + (i32.lt_u (get_local $1) + (get_local $0) ) - (i32.store offset=24 - (get_local $1) - (get_local $11) + (call $_abort) + (block + (i32.store offset=16 + (get_local $11) + (get_local $1) + ) + (i32.store offset=24 + (get_local $1) + (get_local $11) + ) ) ) ) - ) - (if - (tee_local $0 - (i32.load offset=20 - (get_local $4) - ) - ) (if - (i32.lt_u - (get_local $0) - (i32.load - (i32.const 192) + (tee_local $0 + (i32.load offset=20 + (get_local $4) ) ) - (call $_abort) - (block - (i32.store offset=20 - (get_local $11) + (if + (i32.lt_u (get_local $0) + (i32.load + (i32.const 192) + ) ) - (i32.store offset=24 - (get_local $0) - (get_local $11) + (call $_abort) + (block + (i32.store offset=20 + (get_local $11) + (get_local $0) + ) + (i32.store offset=24 + (get_local $0) + (get_local $11) + ) ) ) ) ) ) ) - ) - (block $do-once25 - (if - (i32.lt_u - (get_local $3) - (i32.const 16) - ) - (block - (i32.store offset=4 - (get_local $4) - (i32.or - (tee_local $0 - (i32.add - (get_local $3) - (get_local $2) + (block $do-once25 + (if + (i32.lt_u + (get_local $3) + (i32.const 16) + ) + (block + (i32.store offset=4 + (get_local $4) + (i32.or + (tee_local $0 + (i32.add + (get_local $3) + (get_local $2) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $0 - (i32.add + (i32.store + (tee_local $0 (i32.add - (get_local $4) - (get_local $0) + (i32.add + (get_local $4) + (get_local $0) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $0) + (i32.or + (i32.load + (get_local $0) + ) + (i32.const 1) ) - (i32.const 1) - ) - ) - ) - (block - (i32.store offset=4 - (get_local $4) - (i32.or - (get_local $2) - (i32.const 3) ) ) - (i32.store offset=4 - (get_local $6) - (i32.or - (get_local $3) - (i32.const 1) + (block + (i32.store offset=4 + (get_local $4) + (i32.or + (get_local $2) + (i32.const 3) + ) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $6) - (get_local $3) + (i32.or + (get_local $3) + (i32.const 1) + ) ) - (get_local $3) - ) - (set_local $0 - (i32.shr_u + (i32.store + (i32.add + (get_local $6) + (get_local $3) + ) (get_local $3) - (i32.const 3) ) - ) - (if - (i32.lt_u - (get_local $3) - (i32.const 256) + (set_local $0 + (i32.shr_u + (get_local $3) + (i32.const 3) + ) ) - (block - (set_local $3 - (i32.add - (i32.shl - (get_local $0) - (i32.const 3) - ) - (i32.const 216) - ) + (if + (i32.lt_u + (get_local $3) + (i32.const 256) ) - (if - (i32.and - (tee_local $1 - (i32.load - (i32.const 176) - ) - ) - (tee_local $0 + (block + (set_local $3 + (i32.add (i32.shl - (i32.const 1) (get_local $0) + (i32.const 3) ) + (i32.const 216) ) ) (if - (i32.lt_u - (tee_local $0 + (i32.and + (tee_local $1 (i32.load - (tee_local $1 - (i32.add - (get_local $3) - (i32.const 8) + (i32.const 176) + ) + ) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $0) + ) + ) + ) + (if + (i32.lt_u + (tee_local $0 + (i32.load + (tee_local $1 + (i32.add + (get_local $3) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 192) + ) ) - (i32.load - (i32.const 192) + (call $_abort) + (block + (set_local $13 + (get_local $1) + ) + (set_local $5 + (get_local $0) + ) ) ) - (call $_abort) (block + (i32.store + (i32.const 176) + (i32.or + (get_local $1) + (get_local $0) + ) + ) (set_local $13 - (get_local $1) + (i32.add + (get_local $3) + (i32.const 8) + ) ) (set_local $5 - (get_local $0) - ) - ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (get_local $1) - (get_local $0) - ) - ) - (set_local $13 - (i32.add (get_local $3) - (i32.const 8) ) ) - (set_local $5 - (get_local $3) - ) ) + (i32.store + (get_local $13) + (get_local $6) + ) + (i32.store offset=12 + (get_local $5) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $5) + ) + (i32.store offset=12 + (get_local $6) + (get_local $3) + ) + (br $do-once25) ) - (i32.store - (get_local $13) - (get_local $6) - ) - (i32.store offset=12 - (get_local $5) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $5) - ) - (i32.store offset=12 - (get_local $6) - (get_local $3) - ) - (br $do-once25) ) - ) - (set_local $2 - (i32.add - (i32.shl - (tee_local $7 - (if (result i32) - (tee_local $0 - (i32.shr_u - (get_local $3) - (i32.const 8) - ) - ) + (set_local $2 + (i32.add + (i32.shl + (tee_local $7 (if (result i32) - (i32.gt_u - (get_local $3) - (i32.const 16777215) + (tee_local $0 + (i32.shr_u + (get_local $3) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $3) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $3) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $3) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (i32.or + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $0) + (tee_local $2 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $2) ) - (get_local $2) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $1) + (get_local $0) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $1) + (get_local $0) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 480) ) - (i32.const 480) ) - ) - (i32.store offset=28 - (get_local $6) - (get_local $7) - ) - (i32.store offset=4 - (tee_local $0 - (i32.add - (get_local $6) - (i32.const 16) + (i32.store offset=28 + (get_local $6) + (get_local $7) + ) + (i32.store offset=4 + (tee_local $0 + (i32.add + (get_local $6) + (i32.const 16) + ) ) + (i32.const 0) ) - (i32.const 0) - ) - (i32.store - (get_local $0) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $1 - (i32.load - (i32.const 180) + (i32.store + (get_local $0) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (tee_local $1 + (i32.load + (i32.const 180) + ) ) - ) - (tee_local $0 - (i32.shl - (i32.const 1) - (get_local $7) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $7) + ) ) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (get_local $1) - (get_local $0) + (block + (i32.store + (i32.const 180) + (i32.or + (get_local $1) + (get_local $0) + ) ) + (i32.store + (get_local $2) + (get_local $6) + ) + (i32.store offset=24 + (get_local $6) + (get_local $2) + ) + (i32.store offset=12 + (get_local $6) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $6) + ) + (br $do-once25) ) - (i32.store - (get_local $2) - (get_local $6) - ) - (i32.store offset=24 - (get_local $6) - (get_local $2) - ) - (i32.store offset=12 - (get_local $6) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $6) - ) - (br $do-once25) ) - ) - (set_local $7 - (i32.shl - (get_local $3) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u + (set_local $7 + (i32.shl + (get_local $3) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $7) + (i32.const 1) + ) + ) + (i32.eq (get_local $7) - (i32.const 1) + (i32.const 31) ) ) - (i32.eq - (get_local $7) - (i32.const 31) - ) ) ) - ) - (set_local $0 - (i32.load - (get_local $2) + (set_local $0 + (i32.load + (get_local $2) + ) ) - ) - (block $__rjto$1 - (block $__rjti$1 - (loop $while-in28 - (br_if $__rjti$1 - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $0) + (block $__rjto$1 + (block $__rjti$1 + (loop $while-in28 + (br_if $__rjti$1 + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $0) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $3) ) - (get_local $3) ) - ) - (set_local $2 - (i32.shl - (get_local $7) - (i32.const 1) + (set_local $2 + (i32.shl + (get_local $7) + (i32.const 1) + ) ) - ) - (if - (tee_local $1 - (i32.load - (tee_local $7 - (i32.add + (if + (tee_local $1 + (i32.load + (tee_local $7 (i32.add - (get_local $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $7) - (i32.const 31) + (i32.add + (get_local $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $7) + (i32.const 31) + ) + (i32.const 2) ) - (i32.const 2) ) ) ) ) + (block + (set_local $7 + (get_local $2) + ) + (set_local $0 + (get_local $1) + ) + (br $while-in28) + ) ) + ) + (if + (i32.lt_u + (get_local $7) + (i32.load + (i32.const 192) + ) + ) + (call $_abort) (block - (set_local $7 - (get_local $2) + (i32.store + (get_local $7) + (get_local $6) ) - (set_local $0 - (get_local $1) + (i32.store offset=24 + (get_local $6) + (get_local $0) + ) + (i32.store offset=12 + (get_local $6) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $6) ) - (br $while-in28) + (br $do-once25) ) ) + (br $__rjto$1) ) (if - (i32.lt_u - (get_local $7) - (i32.load - (i32.const 192) + (i32.and + (i32.ge_u + (tee_local $2 + (i32.load + (tee_local $3 + (i32.add + (get_local $0) + (i32.const 8) + ) + ) + ) + ) + (tee_local $1 + (i32.load + (i32.const 192) + ) + ) + ) + (i32.ge_u + (get_local $0) + (get_local $1) ) ) - (call $_abort) (block + (i32.store offset=12 + (get_local $2) + (get_local $6) + ) (i32.store - (get_local $7) + (get_local $3) (get_local $6) ) - (i32.store offset=24 + (i32.store offset=8 (get_local $6) - (get_local $0) + (get_local $2) ) (i32.store offset=12 (get_local $6) - (get_local $6) + (get_local $0) ) - (i32.store offset=8 - (get_local $6) + (i32.store offset=24 (get_local $6) - ) - (br $do-once25) - ) - ) - (br $__rjto$1) - ) - (if - (i32.and - (i32.ge_u - (tee_local $2 - (i32.load - (tee_local $3 - (i32.add - (get_local $0) - (i32.const 8) - ) - ) - ) - ) - (tee_local $1 - (i32.load - (i32.const 192) - ) + (i32.const 0) ) ) - (i32.ge_u - (get_local $0) - (get_local $1) - ) - ) - (block - (i32.store offset=12 - (get_local $2) - (get_local $6) - ) - (i32.store - (get_local $3) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $2) - ) - (i32.store offset=12 - (get_local $6) - (get_local $0) - ) - (i32.store offset=24 - (get_local $6) - (i32.const 0) - ) + (call $_abort) ) - (call $_abort) ) ) ) ) - ) - (return - (i32.add - (get_local $4) - (i32.const 8) + (return + (i32.add + (get_local $4) + (i32.const 8) + ) ) ) + (set_local $0 + (get_local $2) + ) ) (set_local $0 (get_local $2) ) ) - (set_local $0 - (get_local $2) - ) ) - ) - (set_local $0 - (get_local $2) + (set_local $0 + (get_local $2) + ) ) ) ) ) ) - ) - (if - (i32.ge_u - (tee_local $1 - (i32.load - (i32.const 184) - ) - ) - (get_local $0) - ) - (block - (set_local $2 - (i32.load - (i32.const 196) + (if + (i32.ge_u + (tee_local $1 + (i32.load + (i32.const 184) + ) ) + (get_local $0) ) - (if - (i32.gt_u - (tee_local $3 - (i32.sub - (get_local $1) - (get_local $0) - ) + (block + (set_local $2 + (i32.load + (i32.const 196) ) - (i32.const 15) ) - (block - (i32.store - (i32.const 196) - (tee_local $1 - (i32.add - (get_local $2) + (if + (i32.gt_u + (tee_local $3 + (i32.sub + (get_local $1) (get_local $0) ) ) + (i32.const 15) ) - (i32.store - (i32.const 184) - (get_local $3) - ) - (i32.store offset=4 - (get_local $1) - (i32.or + (block + (i32.store + (i32.const 196) + (tee_local $1 + (i32.add + (get_local $2) + (get_local $0) + ) + ) + ) + (i32.store + (i32.const 184) (get_local $3) - (i32.const 1) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $1) + (i32.or + (get_local $3) + (i32.const 1) + ) + ) + (i32.store + (i32.add + (get_local $1) + (get_local $3) + ) (get_local $3) ) - (get_local $3) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $0) - (i32.const 3) + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $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 - (get_local $2) - (i32.or - (get_local $1) - (i32.const 3) + (block + (i32.store + (i32.const 184) + (i32.const 0) ) - ) - (i32.store - (tee_local $0 - (i32.add + (i32.store + (i32.const 196) + (i32.const 0) + ) + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $1) + (i32.const 3) + ) + ) + (i32.store + (tee_local $0 (i32.add - (get_local $2) - (get_local $1) + (i32.add + (get_local $2) + (get_local $1) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $0) + (i32.or + (i32.load + (get_local $0) + ) + (i32.const 1) ) - (i32.const 1) ) ) ) - ) - (return - (i32.add - (get_local $2) - (i32.const 8) + (return + (i32.add + (get_local $2) + (i32.const 8) + ) ) ) ) - ) - (if - (i32.gt_u - (tee_local $1 - (i32.load - (i32.const 188) + (br_if $folding-inner0 + (i32.gt_u + (tee_local $1 + (i32.load + (i32.const 188) + ) ) + (get_local $0) ) - (get_local $0) ) - (block - (i32.store - (i32.const 188) - (tee_local $3 - (i32.sub - (get_local $1) - (get_local $0) - ) + (if + (i32.eqz + (i32.load + (i32.const 648) ) ) - (i32.store - (i32.const 200) - (tee_local $1 + (if + (i32.and (i32.add - (tee_local $2 - (i32.load - (i32.const 200) + (tee_local $1 + (call $_sysconf + (i32.const 30) ) ) - (get_local $0) - ) - ) - ) - (i32.store offset=4 - (get_local $1) - (i32.or - (get_local $3) - (i32.const 1) - ) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $0) - (i32.const 3) - ) - ) - (return - (i32.add - (get_local $2) - (i32.const 8) - ) - ) - ) - ) - (if - (i32.eqz - (i32.load - (i32.const 648) - ) - ) - (if - (i32.and - (i32.add - (tee_local $1 - (call $_sysconf - (i32.const 30) - ) + (i32.const -1) ) - (i32.const -1) - ) - (get_local $1) - ) - (call $_abort) - (block - (i32.store - (i32.const 656) (get_local $1) ) - (i32.store - (i32.const 652) - (get_local $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) + (call $_abort) + (block + (i32.store + (i32.const 656) + (get_local $1) + ) + (i32.store + (i32.const 652) + (get_local $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 -16) + (i32.const 1431655768) ) - (i32.const 1431655768) ) ) ) ) - ) - (if - (i32.le_u - (tee_local $5 - (i32.and - (tee_local $6 - (i32.add - (tee_local $1 - (i32.load - (i32.const 656) + (if + (i32.le_u + (tee_local $5 + (i32.and + (tee_local $6 + (i32.add + (tee_local $1 + (i32.load + (i32.const 656) + ) ) - ) - (tee_local $8 - (i32.add - (get_local $0) - (i32.const 47) + (tee_local $8 + (i32.add + (get_local $0) + (i32.const 47) + ) ) ) ) - ) - (tee_local $9 - (i32.sub - (i32.const 0) - (get_local $1) + (tee_local $9 + (i32.sub + (i32.const 0) + (get_local $1) + ) ) ) ) + (get_local $0) ) - (get_local $0) - ) - (return - (i32.const 0) - ) - ) - (if - (tee_local $2 - (i32.load - (i32.const 616) + (return + (i32.const 0) ) ) (if - (i32.or - (i32.le_u - (tee_local $1 - (i32.add - (tee_local $3 - (i32.load - (i32.const 608) + (tee_local $2 + (i32.load + (i32.const 616) + ) + ) + (if + (i32.or + (i32.le_u + (tee_local $1 + (i32.add + (tee_local $3 + (i32.load + (i32.const 608) + ) ) + (get_local $5) ) - (get_local $5) ) + (get_local $3) + ) + (i32.gt_u + (get_local $1) + (get_local $2) ) - (get_local $3) ) - (i32.gt_u - (get_local $1) - (get_local $2) + (return + (i32.const 0) ) ) - (return - (i32.const 0) - ) ) - ) - (set_local $11 - (i32.add - (get_local $0) - (i32.const 48) + (set_local $11 + (i32.add + (get_local $0) + (i32.const 48) + ) ) - ) - (block $__rjto$13 - (block $__rjti$13 - (if - (i32.eqz - (i32.and - (i32.load - (i32.const 620) + (block $__rjto$13 + (block $__rjti$13 + (if + (i32.eqz + (i32.and + (i32.load + (i32.const 620) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (block - (block $label$break$L279 - (block $__rjti$5 - (block $__rjti$4 - (br_if $__rjti$4 - (i32.eqz - (tee_local $4 - (i32.load - (i32.const 200) + (block + (block $label$break$L279 + (block $__rjti$5 + (block $__rjti$4 + (br_if $__rjti$4 + (i32.eqz + (tee_local $4 + (i32.load + (i32.const 200) + ) ) ) ) - ) - (set_local $1 - (i32.const 624) - ) - (loop $while-in34 - (block $while-out33 - (if - (i32.le_u - (tee_local $3 - (i32.load - (get_local $1) - ) - ) - (get_local $4) - ) + (set_local $1 + (i32.const 624) + ) + (loop $while-in34 + (block $while-out33 (if - (i32.gt_u - (i32.add - (get_local $3) + (i32.le_u + (tee_local $3 (i32.load - (tee_local $2 - (i32.add - (get_local $1) - (i32.const 4) + (get_local $1) + ) + ) + (get_local $4) + ) + (if + (i32.gt_u + (i32.add + (get_local $3) + (i32.load + (tee_local $2 + (i32.add + (get_local $1) + (i32.const 4) + ) ) ) ) + (get_local $4) + ) + (block + (set_local $4 + (get_local $1) + ) + (br $while-out33) ) - (get_local $4) ) - (block - (set_local $4 + ) + (br_if $while-in34 + (tee_local $1 + (i32.load offset=8 (get_local $1) ) - (br $while-out33) ) ) + (br $__rjti$4) ) - (br_if $while-in34 - (tee_local $1 - (i32.load offset=8 - (get_local $1) + ) + (if + (i32.lt_u + (tee_local $3 + (i32.and + (i32.sub + (get_local $6) + (i32.load + (i32.const 188) + ) + ) + (get_local $9) ) ) + (i32.const 2147483647) ) - (br $__rjti$4) - ) - ) - (if - (i32.lt_u - (tee_local $3 - (i32.and - (i32.sub - (get_local $6) + (if + (i32.eq + (tee_local $1 + (call $_sbrk + (get_local $3) + ) + ) + (i32.add (i32.load - (i32.const 188) + (get_local $4) + ) + (i32.load + (get_local $2) ) ) - (get_local $9) ) - ) - (i32.const 2147483647) - ) - (if - (i32.eq - (tee_local $1 - (call $_sbrk - (get_local $3) + (br_if $__rjti$13 + (i32.ne + (get_local $1) + (i32.const -1) ) ) - (i32.add - (i32.load - (get_local $4) - ) - (i32.load - (get_local $2) + (block + (set_local $2 + (get_local $1) ) + (br $__rjti$5) ) ) - (br_if $__rjti$13 - (i32.ne - (get_local $1) - (i32.const -1) - ) - ) - (block - (set_local $2 - (get_local $1) - ) - (set_local $1 - (get_local $3) - ) - (br $__rjti$5) - ) ) + (br $label$break$L279) ) - (br $label$break$L279) - ) - (if - (i32.ne - (tee_local $1 - (call $_sbrk - (i32.const 0) + (if + (i32.ne + (tee_local $1 + (call $_sbrk + (i32.const 0) + ) ) + (i32.const -1) ) - (i32.const -1) - ) - (block - (set_local $3 - (if (result i32) - (i32.and - (tee_local $2 - (i32.add - (tee_local $4 - (i32.load - (i32.const 652) + (block + (set_local $3 + (if (result i32) + (i32.and + (tee_local $2 + (i32.add + (tee_local $4 + (i32.load + (i32.const 652) + ) ) + (i32.const -1) ) - (i32.const -1) + ) + (tee_local $3 + (get_local $1) ) ) - (tee_local $3 - (get_local $1) - ) - ) - (i32.add - (i32.sub - (get_local $5) - (get_local $3) - ) - (i32.and - (i32.add - (get_local $2) + (i32.add + (i32.sub + (get_local $5) (get_local $3) ) - (i32.sub - (i32.const 0) - (get_local $4) + (i32.and + (i32.add + (get_local $2) + (get_local $3) + ) + (i32.sub + (i32.const 0) + (get_local $4) + ) ) ) + (get_local $5) ) - (get_local $5) ) - ) - (set_local $9 - (i32.add - (tee_local $4 - (i32.load - (i32.const 608) + (set_local $9 + (i32.add + (tee_local $4 + (i32.load + (i32.const 608) + ) ) - ) - (get_local $3) - ) - ) - (if - (i32.and - (i32.gt_u - (get_local $3) - (get_local $0) - ) - (i32.lt_u (get_local $3) - (i32.const 2147483647) ) ) - (block - (if - (tee_local $2 - (i32.load - (i32.const 616) - ) + (if + (i32.and + (i32.gt_u + (get_local $3) + (get_local $0) ) - (br_if $label$break$L279 - (i32.or - (i32.le_u - (get_local $9) - (get_local $4) + (i32.lt_u + (get_local $3) + (i32.const 2147483647) + ) + ) + (block + (if + (tee_local $2 + (i32.load + (i32.const 616) ) - (i32.gt_u - (get_local $9) - (get_local $2) + ) + (br_if $label$break$L279 + (i32.or + (i32.le_u + (get_local $9) + (get_local $4) + ) + (i32.gt_u + (get_local $9) + (get_local $2) + ) ) ) ) - ) - (br_if $__rjti$13 - (i32.eq - (tee_local $2 - (call $_sbrk - (get_local $3) + (br_if $__rjti$13 + (i32.eq + (tee_local $2 + (call $_sbrk + (get_local $3) + ) ) + (get_local $1) ) - (get_local $1) ) + (br $__rjti$5) ) - (set_local $1 - (get_local $3) - ) - (br $__rjti$5) ) ) ) + (br $label$break$L279) ) - (br $label$break$L279) - ) - (set_local $4 - (i32.sub - (i32.const 0) - (get_local $1) + (set_local $1 + (get_local $3) ) - ) - (if - (i32.and - (i32.gt_u - (get_local $11) + (set_local $4 + (i32.sub + (i32.const 0) (get_local $1) ) + ) + (if (i32.and - (i32.lt_u + (i32.gt_u + (get_local $11) (get_local $1) - (i32.const 2147483647) ) - (i32.ne - (get_local $2) - (i32.const -1) + (i32.and + (i32.lt_u + (get_local $1) + (i32.const 2147483647) + ) + (i32.ne + (get_local $2) + (i32.const -1) + ) ) ) - ) - (if - (i32.lt_u - (tee_local $3 - (i32.and - (i32.add - (i32.sub - (get_local $8) - (get_local $1) - ) - (tee_local $3 - (i32.load - (i32.const 656) + (if + (i32.lt_u + (tee_local $3 + (i32.and + (i32.add + (i32.sub + (get_local $8) + (get_local $1) + ) + (tee_local $3 + (i32.load + (i32.const 656) + ) ) ) + (i32.sub + (i32.const 0) + (get_local $3) + ) ) - (i32.sub - (i32.const 0) + ) + (i32.const 2147483647) + ) + (if + (i32.eq + (call $_sbrk (get_local $3) ) + (i32.const -1) ) - ) - (i32.const 2147483647) - ) - (if - (i32.eq - (call $_sbrk - (get_local $3) + (block + (drop + (call $_sbrk + (get_local $4) + ) + ) + (br $label$break$L279) ) - (i32.const -1) - ) - (block - (drop - (call $_sbrk - (get_local $4) + (set_local $3 + (i32.add + (get_local $3) + (get_local $1) ) ) - (br $label$break$L279) ) (set_local $3 - (i32.add - (get_local $3) - (get_local $1) - ) + (get_local $1) ) ) (set_local $3 (get_local $1) ) ) - (set_local $3 - (get_local $1) - ) - ) - (if - (i32.ne - (get_local $2) - (i32.const -1) - ) - (block - (set_local $1 + (if + (i32.ne (get_local $2) + (i32.const -1) + ) + (block + (set_local $1 + (get_local $2) + ) + (br $__rjti$13) ) - (br $__rjti$13) ) ) - ) - (i32.store - (i32.const 620) - (i32.or - (i32.load - (i32.const 620) + (i32.store + (i32.const 620) + (i32.or + (i32.load + (i32.const 620) + ) + (i32.const 4) ) - (i32.const 4) ) ) ) - ) - (if - (i32.lt_u - (get_local $5) - (i32.const 2147483647) - ) (if - (i32.and - (i32.lt_u - (tee_local $1 - (call $_sbrk - (get_local $5) + (i32.lt_u + (get_local $5) + (i32.const 2147483647) + ) + (if + (i32.and + (i32.lt_u + (tee_local $1 + (call $_sbrk + (get_local $5) + ) ) - ) - (tee_local $3 - (call $_sbrk - (i32.const 0) + (tee_local $3 + (call $_sbrk + (i32.const 0) + ) ) ) - ) - (i32.and - (i32.ne - (get_local $1) - (i32.const -1) - ) - (i32.ne - (get_local $3) - (i32.const -1) - ) - ) - ) - (br_if $__rjti$13 - (i32.gt_u - (tee_local $3 - (i32.sub - (get_local $3) + (i32.and + (i32.ne (get_local $1) + (i32.const -1) + ) + (i32.ne + (get_local $3) + (i32.const -1) ) ) - (i32.add - (get_local $0) - (i32.const 40) + ) + (br_if $__rjti$13 + (i32.gt_u + (tee_local $3 + (i32.sub + (get_local $3) + (get_local $1) + ) + ) + (i32.add + (get_local $0) + (i32.const 40) + ) ) ) ) ) + (br $__rjto$13) ) - (br $__rjto$13) - ) - (i32.store - (i32.const 608) - (tee_local $2 - (i32.add - (i32.load - (i32.const 608) + (i32.store + (i32.const 608) + (tee_local $2 + (i32.add + (i32.load + (i32.const 608) + ) + (get_local $3) ) - (get_local $3) - ) - ) - ) - (if - (i32.gt_u - (get_local $2) - (i32.load - (i32.const 612) ) ) - (i32.store - (i32.const 612) - (get_local $2) - ) - ) - (block $do-once40 (if - (tee_local $6 + (i32.gt_u + (get_local $2) (i32.load - (i32.const 200) + (i32.const 612) ) ) - (block - (set_local $2 - (i32.const 624) + (i32.store + (i32.const 612) + (get_local $2) + ) + ) + (block $do-once40 + (if + (tee_local $6 + (i32.load + (i32.const 200) + ) ) - (block $__rjto$10 - (block $__rjti$10 - (loop $while-in45 - (br_if $__rjti$10 - (i32.eq - (get_local $1) - (i32.add - (tee_local $11 - (i32.load - (get_local $2) + (block + (set_local $2 + (i32.const 624) + ) + (block $__rjto$10 + (block $__rjti$10 + (loop $while-in45 + (br_if $__rjti$10 + (i32.eq + (get_local $1) + (i32.add + (tee_local $11 + (i32.load + (get_local $2) + ) ) - ) - (tee_local $5 - (i32.load - (tee_local $4 - (i32.add - (get_local $2) - (i32.const 4) + (tee_local $5 + (i32.load + (tee_local $4 + (i32.add + (get_local $2) + (i32.const 4) + ) ) ) ) ) ) ) - ) - (br_if $while-in45 - (tee_local $2 - (i32.load offset=8 - (get_local $2) + (br_if $while-in45 + (tee_local $2 + (i32.load offset=8 + (get_local $2) + ) ) ) ) - ) - (br $__rjto$10) - ) - (if - (i32.eqz - (i32.and - (i32.load offset=12 - (get_local $2) - ) - (i32.const 8) - ) + (br $__rjto$10) ) (if - (i32.and - (i32.lt_u - (get_local $6) - (get_local $1) - ) - (i32.ge_u - (get_local $6) - (get_local $11) + (i32.eqz + (i32.and + (i32.load offset=12 + (get_local $2) + ) + (i32.const 8) ) ) - (block - (i32.store - (get_local $4) - (i32.add - (get_local $5) - (get_local $3) + (if + (i32.and + (i32.lt_u + (get_local $6) + (get_local $1) ) - ) - (set_local $2 - (i32.add + (i32.ge_u (get_local $6) - (tee_local $1 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $1 - (i32.add - (get_local $6) - (i32.const 8) + (get_local $11) + ) + ) + (block + (i32.store + (get_local $4) + (i32.add + (get_local $5) + (get_local $3) + ) + ) + (set_local $2 + (i32.add + (get_local $6) + (tee_local $1 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.add + (get_local $6) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $1) - (i32.const 7) ) ) ) ) - ) - (set_local $1 - (i32.add - (i32.sub - (get_local $3) - (get_local $1) - ) - (i32.load - (i32.const 188) + (set_local $1 + (i32.add + (i32.sub + (get_local $3) + (get_local $1) + ) + (i32.load + (i32.const 188) + ) ) ) - ) - (i32.store - (i32.const 200) - (get_local $2) - ) - (i32.store - (i32.const 188) - (get_local $1) - ) - (i32.store offset=4 - (get_local $2) - (i32.or + (i32.store + (i32.const 200) + (get_local $2) + ) + (i32.store + (i32.const 188) (get_local $1) - (i32.const 1) ) - ) - (i32.store offset=4 - (i32.add + (i32.store offset=4 (get_local $2) - (get_local $1) + (i32.or + (get_local $1) + (i32.const 1) + ) ) - (i32.const 40) - ) - (i32.store - (i32.const 204) - (i32.load - (i32.const 664) + (i32.store offset=4 + (i32.add + (get_local $2) + (get_local $1) + ) + (i32.const 40) + ) + (i32.store + (i32.const 204) + (i32.load + (i32.const 664) + ) ) + (br $do-once40) ) - (br $do-once40) ) ) ) - ) - (if - (i32.lt_u - (get_local $1) - (tee_local $4 - (i32.load + (if + (i32.lt_u + (get_local $1) + (tee_local $4 + (i32.load + (i32.const 192) + ) + ) + ) + (block + (i32.store (i32.const 192) + (get_local $1) + ) + (set_local $4 + (get_local $1) ) ) ) - (block - (i32.store - (i32.const 192) - (get_local $1) - ) - (set_local $4 + (set_local $11 + (i32.add (get_local $1) + (get_local $3) ) ) - ) - (set_local $11 - (i32.add - (get_local $1) - (get_local $3) + (set_local $2 + (i32.const 624) ) - ) - (set_local $2 - (i32.const 624) - ) - (block $__rjto$11 - (block $__rjti$11 - (loop $while-in47 - (if - (i32.eq - (i32.load - (get_local $2) + (block $__rjto$11 + (block $__rjti$11 + (loop $while-in47 + (if + (i32.eq + (i32.load + (get_local $2) + ) + (get_local $11) + ) + (block + (set_local $5 + (get_local $2) + ) + (br $__rjti$11) ) - (get_local $11) ) - (block - (set_local $5 - (get_local $2) + (br_if $while-in47 + (tee_local $2 + (i32.load offset=8 + (get_local $2) + ) ) - (br $__rjti$11) + ) + (set_local $4 + (i32.const 624) ) ) - (br_if $while-in47 - (tee_local $2 - (i32.load offset=8 - (get_local $2) - ) + (br $__rjto$11) + ) + (if + (i32.and + (i32.load offset=12 + (get_local $2) ) + (i32.const 8) ) (set_local $4 (i32.const 624) ) - ) - (br $__rjto$11) - ) - (if - (i32.and - (i32.load offset=12 - (get_local $2) - ) - (i32.const 8) - ) - (set_local $4 - (i32.const 624) - ) - (block - (i32.store - (get_local $5) - (get_local $1) - ) - (i32.store - (tee_local $2 - (i32.add - (get_local $2) - (i32.const 4) - ) - ) - (i32.add - (i32.load - (get_local $2) - ) - (get_local $3) + (block + (i32.store + (get_local $5) + (get_local $1) ) - ) - (set_local $8 - (i32.add - (tee_local $9 + (i32.store + (tee_local $2 (i32.add - (get_local $1) - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $1 - (i32.add - (get_local $1) - (i32.const 8) - ) - ) - ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $1) - (i32.const 7) - ) - ) + (get_local $2) + (i32.const 4) ) ) - (get_local $0) + (i32.add + (i32.load + (get_local $2) + ) + (get_local $3) + ) ) - ) - (set_local $7 - (i32.sub - (i32.sub - (tee_local $5 + (set_local $8 + (i32.add + (tee_local $9 (i32.add - (get_local $11) + (get_local $1) (select (i32.and (i32.sub (i32.const 0) (tee_local $1 (i32.add - (get_local $11) + (get_local $1) (i32.const 8) ) ) @@ -11482,1919 +11377,1948 @@ ) ) ) - (get_local $9) + (get_local $0) ) - (get_local $0) ) - ) - (i32.store offset=4 - (get_local $9) - (i32.or - (get_local $0) - (i32.const 3) - ) - ) - (block $do-once48 - (if - (i32.eq - (get_local $5) - (get_local $6) - ) - (block - (i32.store - (i32.const 188) - (tee_local $0 + (set_local $7 + (i32.sub + (i32.sub + (tee_local $5 (i32.add - (i32.load - (i32.const 188) + (get_local $11) + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.add + (get_local $11) + (i32.const 8) + ) + ) + ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) + ) ) - (get_local $7) ) ) + (get_local $9) ) - (i32.store - (i32.const 200) - (get_local $8) + (get_local $0) + ) + ) + (i32.store offset=4 + (get_local $9) + (i32.or + (get_local $0) + (i32.const 3) + ) + ) + (block $do-once48 + (if + (i32.eq + (get_local $5) + (get_local $6) ) - (i32.store offset=4 - (get_local $8) - (i32.or - (get_local $0) - (i32.const 1) + (block + (i32.store + (i32.const 188) + (tee_local $0 + (i32.add + (i32.load + (i32.const 188) + ) + (get_local $7) + ) + ) ) - ) - ) - (block - (if - (i32.eq - (get_local $5) - (i32.load - (i32.const 196) + (i32.store + (i32.const 200) + (get_local $8) + ) + (i32.store offset=4 + (get_local $8) + (i32.or + (get_local $0) + (i32.const 1) ) ) - (block - (i32.store - (i32.const 184) - (tee_local $0 - (i32.add - (i32.load - (i32.const 184) + ) + (block + (if + (i32.eq + (get_local $5) + (i32.load + (i32.const 196) + ) + ) + (block + (i32.store + (i32.const 184) + (tee_local $0 + (i32.add + (i32.load + (i32.const 184) + ) + (get_local $7) ) - (get_local $7) ) ) - ) - (i32.store - (i32.const 196) - (get_local $8) - ) - (i32.store offset=4 - (get_local $8) - (i32.or - (get_local $0) - (i32.const 1) + (i32.store + (i32.const 196) + (get_local $8) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $8) + (i32.or + (get_local $0) + (i32.const 1) + ) + ) + (i32.store + (i32.add + (get_local $8) + (get_local $0) + ) (get_local $0) ) - (get_local $0) + (br $do-once48) ) - (br $do-once48) ) - ) - (i32.store - (tee_local $0 - (i32.add - (tee_local $0 - (if (result i32) - (i32.eq - (i32.and - (tee_local $0 - (i32.load offset=4 - (get_local $5) - ) - ) - (i32.const 3) - ) - (i32.const 1) - ) - (block (result i32) - (set_local $11 + (i32.store + (tee_local $0 + (i32.add + (tee_local $0 + (if (result i32) + (i32.eq (i32.and - (get_local $0) - (i32.const -8) - ) - ) - (set_local $1 - (i32.shr_u - (get_local $0) + (tee_local $0 + (i32.load offset=4 + (get_local $5) + ) + ) (i32.const 3) ) + (i32.const 1) ) - (block $label$break$L331 - (if - (i32.lt_u + (block (result i32) + (set_local $11 + (i32.and (get_local $0) - (i32.const 256) + (i32.const -8) ) - (block - (set_local $2 - (i32.load offset=12 - (get_local $5) - ) + ) + (set_local $1 + (i32.shr_u + (get_local $0) + (i32.const 3) + ) + ) + (block $label$break$L331 + (if + (i32.lt_u + (get_local $0) + (i32.const 256) ) - (block $do-once51 - (if - (i32.ne - (tee_local $3 - (i32.load offset=8 - (get_local $5) - ) - ) - (tee_local $0 - (i32.add - (i32.shl - (get_local $1) - (i32.const 3) + (block + (set_local $2 + (i32.load offset=12 + (get_local $5) + ) + ) + (block $do-once51 + (if + (i32.ne + (tee_local $3 + (i32.load offset=8 + (get_local $5) ) - (i32.const 216) ) - ) - ) - (block - (if - (i32.lt_u - (get_local $3) - (get_local $4) + (tee_local $0 + (i32.add + (i32.shl + (get_local $1) + (i32.const 3) + ) + (i32.const 216) + ) ) - (call $_abort) ) - (br_if $do-once51 - (i32.eq - (i32.load offset=12 + (block + (if + (i32.lt_u (get_local $3) + (get_local $4) ) - (get_local $5) + (call $_abort) ) - ) - (call $_abort) - ) - ) - ) - (if - (i32.eq - (get_local $2) - (get_local $3) - ) - (block - (i32.store - (i32.const 176) - (i32.and - (i32.load - (i32.const 176) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $1) + (br_if $do-once51 + (i32.eq + (i32.load offset=12 + (get_local $3) + ) + (get_local $5) ) - (i32.const -1) ) + (call $_abort) ) ) - (br $label$break$L331) ) - ) - (block $do-once53 (if (i32.eq (get_local $2) - (get_local $0) + (get_local $3) ) - (set_local $15 - (i32.add - (get_local $2) - (i32.const 8) + (block + (i32.store + (i32.const 176) + (i32.and + (i32.load + (i32.const 176) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $1) + ) + (i32.const -1) + ) + ) ) + (br $label$break$L331) ) - (block - (if - (i32.lt_u + ) + (block $do-once53 + (if + (i32.eq + (get_local $2) + (get_local $0) + ) + (set_local $15 + (i32.add (get_local $2) - (get_local $4) + (i32.const 8) ) - (call $_abort) ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $2) - (i32.const 8) + (block + (if + (i32.lt_u + (get_local $2) + (get_local $4) + ) + (call $_abort) + ) + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $2) + (i32.const 8) + ) ) ) + (get_local $5) ) - (get_local $5) - ) - (block - (set_local $15 - (get_local $0) + (block + (set_local $15 + (get_local $0) + ) + (br $do-once53) ) - (br $do-once53) ) + (call $_abort) ) - (call $_abort) ) ) - ) - (i32.store offset=12 - (get_local $3) - (get_local $2) - ) - (i32.store - (get_local $15) - (get_local $3) - ) - ) - (block - (set_local $6 - (i32.load offset=24 - (get_local $5) + (i32.store offset=12 + (get_local $3) + (get_local $2) + ) + (i32.store + (get_local $15) + (get_local $3) ) ) - (block $do-once55 - (if - (i32.eq - (tee_local $0 - (i32.load offset=12 - (get_local $5) - ) - ) + (block + (set_local $6 + (i32.load offset=24 (get_local $5) ) - (block - (if - (i32.eqz - (tee_local $1 - (i32.load - (tee_local $0 - (i32.add - (tee_local $3 - (i32.add - (get_local $5) - (i32.const 16) + ) + (block $do-once55 + (if + (i32.eq + (tee_local $0 + (i32.load offset=12 + (get_local $5) + ) + ) + (get_local $5) + ) + (block + (if + (i32.eqz + (tee_local $1 + (i32.load + (tee_local $0 + (i32.add + (tee_local $3 + (i32.add + (get_local $5) + (i32.const 16) + ) ) + (i32.const 4) ) - (i32.const 4) ) ) ) ) - ) - (if - (tee_local $1 - (i32.load + (if + (tee_local $1 + (i32.load + (get_local $3) + ) + ) + (set_local $0 (get_local $3) ) + (block + (set_local $12 + (i32.const 0) + ) + (br $do-once55) + ) ) - (set_local $0 - (get_local $3) + ) + (loop $while-in58 + (if + (tee_local $3 + (i32.load + (tee_local $2 + (i32.add + (get_local $1) + (i32.const 20) + ) + ) + ) + ) + (block + (set_local $1 + (get_local $3) + ) + (set_local $0 + (get_local $2) + ) + (br $while-in58) + ) + ) + (if + (tee_local $3 + (i32.load + (tee_local $2 + (i32.add + (get_local $1) + (i32.const 16) + ) + ) + ) + ) + (block + (set_local $1 + (get_local $3) + ) + (set_local $0 + (get_local $2) + ) + (br $while-in58) + ) + ) + ) + (if + (i32.lt_u + (get_local $0) + (get_local $4) ) + (call $_abort) (block - (set_local $12 + (i32.store + (get_local $0) (i32.const 0) ) - (br $do-once55) + (set_local $12 + (get_local $1) + ) ) ) ) - (loop $while-in58 + (block (if - (tee_local $3 + (i32.lt_u + (tee_local $2 + (i32.load offset=8 + (get_local $5) + ) + ) + (get_local $4) + ) + (call $_abort) + ) + (if + (i32.ne (i32.load - (tee_local $2 + (tee_local $3 (i32.add - (get_local $1) - (i32.const 20) + (get_local $2) + (i32.const 12) ) ) ) + (get_local $5) ) - (block - (set_local $1 - (get_local $3) - ) - (set_local $0 - (get_local $2) - ) - (br $while-in58) - ) + (call $_abort) ) (if - (tee_local $3 + (i32.eq (i32.load - (tee_local $2 + (tee_local $1 (i32.add - (get_local $1) - (i32.const 16) + (get_local $0) + (i32.const 8) ) ) ) + (get_local $5) ) (block - (set_local $1 + (i32.store (get_local $3) + (get_local $0) ) - (set_local $0 + (i32.store + (get_local $1) (get_local $2) ) - (br $while-in58) - ) - ) - ) - (if - (i32.lt_u - (get_local $0) - (get_local $4) - ) - (call $_abort) - (block - (i32.store - (get_local $0) - (i32.const 0) - ) - (set_local $12 - (get_local $1) + (set_local $12 + (get_local $0) + ) ) + (call $_abort) ) ) ) - (block - (if - (i32.lt_u - (tee_local $2 - (i32.load offset=8 - (get_local $5) + ) + (br_if $label$break$L331 + (i32.eqz + (get_local $6) + ) + ) + (block $do-once59 + (if + (i32.eq + (get_local $5) + (i32.load + (tee_local $0 + (i32.add + (i32.shl + (tee_local $1 + (i32.load offset=28 + (get_local $5) + ) + ) + (i32.const 2) + ) + (i32.const 480) ) ) - (get_local $4) ) - (call $_abort) ) - (if - (i32.ne - (i32.load - (tee_local $3 - (i32.add - (get_local $2) - (i32.const 12) + (block + (i32.store + (get_local $0) + (get_local $12) + ) + (br_if $do-once59 + (get_local $12) + ) + (i32.store + (i32.const 180) + (i32.and + (i32.load + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $1) ) + (i32.const -1) ) ) - (get_local $5) ) - (call $_abort) + (br $label$break$L331) ) - (if - (i32.eq - (i32.load - (tee_local $1 - (i32.add - (get_local $0) - (i32.const 8) - ) + (block + (if + (i32.lt_u + (get_local $6) + (i32.load + (i32.const 192) ) ) - (get_local $5) + (call $_abort) ) - (block + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $6) + (i32.const 16) + ) + ) + ) + (get_local $5) + ) (i32.store - (get_local $3) (get_local $0) + (get_local $12) ) - (i32.store - (get_local $1) - (get_local $2) + (i32.store offset=20 + (get_local $6) + (get_local $12) ) - (set_local $12 - (get_local $0) + ) + (br_if $label$break$L331 + (i32.eqz + (get_local $12) ) ) - (call $_abort) ) ) ) - ) - (br_if $label$break$L331 - (i32.eqz + (if + (i32.lt_u + (get_local $12) + (tee_local $1 + (i32.load + (i32.const 192) + ) + ) + ) + (call $_abort) + ) + (i32.store offset=24 + (get_local $12) (get_local $6) ) - ) - (block $do-once59 (if - (i32.eq - (get_local $5) + (tee_local $3 (i32.load (tee_local $0 (i32.add - (i32.shl - (tee_local $1 - (i32.load offset=28 - (get_local $5) - ) - ) - (i32.const 2) - ) - (i32.const 480) - ) - ) - ) - ) - (block - (i32.store - (get_local $0) - (get_local $12) - ) - (br_if $do-once59 - (get_local $12) - ) - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $1) - ) - (i32.const -1) + (get_local $5) + (i32.const 16) ) ) ) - (br $label$break$L331) ) - (block - (if - (i32.lt_u - (get_local $6) - (i32.load - (i32.const 192) - ) - ) - (call $_abort) + (if + (i32.lt_u + (get_local $3) + (get_local $1) ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $6) - (i32.const 16) - ) - ) - ) - (get_local $5) - ) - (i32.store - (get_local $0) - (get_local $12) - ) - (i32.store offset=20 - (get_local $6) + (call $_abort) + (block + (i32.store offset=16 (get_local $12) + (get_local $3) ) - ) - (br_if $label$break$L331 - (i32.eqz + (i32.store offset=24 + (get_local $3) (get_local $12) ) ) ) ) - ) - (if - (i32.lt_u - (get_local $12) - (tee_local $1 - (i32.load - (i32.const 192) - ) - ) - ) - (call $_abort) - ) - (i32.store offset=24 - (get_local $12) - (get_local $6) - ) - (if - (tee_local $3 - (i32.load + (br_if $label$break$L331 + (i32.eqz (tee_local $0 - (i32.add - (get_local $5) - (i32.const 16) + (i32.load offset=4 + (get_local $0) ) ) ) ) (if (i32.lt_u - (get_local $3) - (get_local $1) + (get_local $0) + (i32.load + (i32.const 192) + ) ) (call $_abort) (block - (i32.store offset=16 + (i32.store offset=20 (get_local $12) - (get_local $3) + (get_local $0) ) (i32.store offset=24 - (get_local $3) - (get_local $12) - ) - ) - ) - ) - (br_if $label$break$L331 - (i32.eqz - (tee_local $0 - (i32.load offset=4 (get_local $0) + (get_local $12) ) ) ) ) - (if - (i32.lt_u - (get_local $0) - (i32.load - (i32.const 192) - ) - ) - (call $_abort) - (block - (i32.store offset=20 - (get_local $12) - (get_local $0) - ) - (i32.store offset=24 - (get_local $0) - (get_local $12) - ) - ) - ) ) ) - ) - (set_local $7 + (set_local $7 + (i32.add + (get_local $11) + (get_local $7) + ) + ) (i32.add + (get_local $5) (get_local $11) - (get_local $7) ) ) - (i32.add - (get_local $5) - (get_local $11) - ) + (get_local $5) ) - (get_local $5) ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.and - (i32.load - (get_local $0) + (i32.and + (i32.load + (get_local $0) + ) + (i32.const -2) ) - (i32.const -2) ) - ) - (i32.store offset=4 - (get_local $8) - (i32.or - (get_local $7) - (i32.const 1) - ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $8) - (get_local $7) + (i32.or + (get_local $7) + (i32.const 1) + ) ) - (get_local $7) - ) - (set_local $0 - (i32.shr_u + (i32.store + (i32.add + (get_local $8) + (get_local $7) + ) (get_local $7) - (i32.const 3) ) - ) - (if - (i32.lt_u - (get_local $7) - (i32.const 256) + (set_local $0 + (i32.shr_u + (get_local $7) + (i32.const 3) + ) ) - (block - (set_local $3 - (i32.add - (i32.shl - (get_local $0) - (i32.const 3) + (if + (i32.lt_u + (get_local $7) + (i32.const 256) + ) + (block + (set_local $3 + (i32.add + (i32.shl + (get_local $0) + (i32.const 3) + ) + (i32.const 216) ) - (i32.const 216) ) - ) - (block $do-once63 - (if - (i32.and - (tee_local $1 - (i32.load - (i32.const 176) + (block $do-once63 + (if + (i32.and + (tee_local $1 + (i32.load + (i32.const 176) + ) ) - ) - (tee_local $0 - (i32.shl - (i32.const 1) - (get_local $0) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $0) + ) ) ) - ) - (block - (if - (i32.ge_u - (tee_local $0 - (i32.load - (tee_local $1 - (i32.add - (get_local $3) - (i32.const 8) + (block + (if + (i32.ge_u + (tee_local $0 + (i32.load + (tee_local $1 + (i32.add + (get_local $3) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 192) + ) ) - (i32.load - (i32.const 192) + (block + (set_local $16 + (get_local $1) + ) + (set_local $10 + (get_local $0) + ) + (br $do-once63) ) ) - (block - (set_local $16 + (call $_abort) + ) + (block + (i32.store + (i32.const 176) + (i32.or (get_local $1) - ) - (set_local $10 (get_local $0) ) - (br $do-once63) ) - ) - (call $_abort) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (get_local $1) - (get_local $0) + (set_local $16 + (i32.add + (get_local $3) + (i32.const 8) + ) ) - ) - (set_local $16 - (i32.add + (set_local $10 (get_local $3) - (i32.const 8) ) ) - (set_local $10 - (get_local $3) - ) ) ) + (i32.store + (get_local $16) + (get_local $8) + ) + (i32.store offset=12 + (get_local $10) + (get_local $8) + ) + (i32.store offset=8 + (get_local $8) + (get_local $10) + ) + (i32.store offset=12 + (get_local $8) + (get_local $3) + ) + (br $do-once48) ) - (i32.store - (get_local $16) - (get_local $8) - ) - (i32.store offset=12 - (get_local $10) - (get_local $8) - ) - (i32.store offset=8 - (get_local $8) - (get_local $10) - ) - (i32.store offset=12 - (get_local $8) - (get_local $3) - ) - (br $do-once48) ) - ) - (set_local $3 - (i32.add - (i32.shl - (tee_local $2 - (block $do-once65 (result i32) - (if (result i32) - (tee_local $0 - (i32.shr_u - (get_local $7) - (i32.const 8) + (set_local $3 + (i32.add + (i32.shl + (tee_local $2 + (block $do-once65 (result i32) + (if (result i32) + (tee_local $0 + (i32.shr_u + (get_local $7) + (i32.const 8) + ) ) - ) - (block (result i32) - (drop - (br_if $do-once65 - (i32.const 31) - (i32.gt_u - (get_local $7) - (i32.const 16777215) + (block (result i32) + (drop + (br_if $do-once65 + (i32.const 31) + (i32.gt_u + (get_local $7) + (i32.const 16777215) + ) ) ) - ) - (i32.or - (i32.and - (i32.shr_u - (get_local $7) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (i32.or + (i32.and + (i32.shr_u + (get_local $7) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (i32.or + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $0) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $3) ) - (get_local $3) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $1) + (get_local $0) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $1) + (get_local $0) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 480) ) - (i32.const 480) ) - ) - (i32.store offset=28 - (get_local $8) - (get_local $2) - ) - (i32.store offset=4 - (tee_local $0 - (i32.add - (get_local $8) - (i32.const 16) + (i32.store offset=28 + (get_local $8) + (get_local $2) + ) + (i32.store offset=4 + (tee_local $0 + (i32.add + (get_local $8) + (i32.const 16) + ) ) + (i32.const 0) ) - (i32.const 0) - ) - (i32.store - (get_local $0) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $1 - (i32.load - (i32.const 180) + (i32.store + (get_local $0) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (tee_local $1 + (i32.load + (i32.const 180) + ) ) - ) - (tee_local $0 - (i32.shl - (i32.const 1) - (get_local $2) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $2) + ) ) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (get_local $1) - (get_local $0) + (block + (i32.store + (i32.const 180) + (i32.or + (get_local $1) + (get_local $0) + ) ) + (i32.store + (get_local $3) + (get_local $8) + ) + (i32.store offset=24 + (get_local $8) + (get_local $3) + ) + (i32.store offset=12 + (get_local $8) + (get_local $8) + ) + (i32.store offset=8 + (get_local $8) + (get_local $8) + ) + (br $do-once48) ) - (i32.store - (get_local $3) - (get_local $8) - ) - (i32.store offset=24 - (get_local $8) - (get_local $3) - ) - (i32.store offset=12 - (get_local $8) - (get_local $8) - ) - (i32.store offset=8 - (get_local $8) - (get_local $8) - ) - (br $do-once48) ) - ) - (set_local $2 - (i32.shl - (get_local $7) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u + (set_local $2 + (i32.shl + (get_local $7) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $2) + (i32.const 1) + ) + ) + (i32.eq (get_local $2) - (i32.const 1) + (i32.const 31) ) ) - (i32.eq - (get_local $2) - (i32.const 31) - ) ) ) - ) - (set_local $0 - (i32.load - (get_local $3) + (set_local $0 + (i32.load + (get_local $3) + ) ) - ) - (block $__rjto$7 - (block $__rjti$7 - (loop $while-in68 - (br_if $__rjti$7 - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $0) + (block $__rjto$7 + (block $__rjti$7 + (loop $while-in68 + (br_if $__rjti$7 + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $0) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $7) ) - (get_local $7) ) - ) - (set_local $3 - (i32.shl - (get_local $2) - (i32.const 1) + (set_local $3 + (i32.shl + (get_local $2) + (i32.const 1) + ) ) - ) - (if - (tee_local $1 - (i32.load - (tee_local $2 - (i32.add + (if + (tee_local $1 + (i32.load + (tee_local $2 (i32.add - (get_local $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $2) - (i32.const 31) + (i32.add + (get_local $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $2) + (i32.const 31) + ) + (i32.const 2) ) - (i32.const 2) ) ) ) ) + (block + (set_local $2 + (get_local $3) + ) + (set_local $0 + (get_local $1) + ) + (br $while-in68) + ) ) + ) + (if + (i32.lt_u + (get_local $2) + (i32.load + (i32.const 192) + ) + ) + (call $_abort) (block - (set_local $2 - (get_local $3) + (i32.store + (get_local $2) + (get_local $8) ) - (set_local $0 - (get_local $1) + (i32.store offset=24 + (get_local $8) + (get_local $0) + ) + (i32.store offset=12 + (get_local $8) + (get_local $8) ) - (br $while-in68) + (i32.store offset=8 + (get_local $8) + (get_local $8) + ) + (br $do-once48) ) ) + (br $__rjto$7) ) (if - (i32.lt_u - (get_local $2) - (i32.load - (i32.const 192) + (i32.and + (i32.ge_u + (tee_local $2 + (i32.load + (tee_local $3 + (i32.add + (get_local $0) + (i32.const 8) + ) + ) + ) + ) + (tee_local $1 + (i32.load + (i32.const 192) + ) + ) + ) + (i32.ge_u + (get_local $0) + (get_local $1) ) ) - (call $_abort) (block - (i32.store + (i32.store offset=12 (get_local $2) (get_local $8) ) - (i32.store offset=24 - (get_local $8) - (get_local $0) - ) - (i32.store offset=12 - (get_local $8) + (i32.store + (get_local $3) (get_local $8) ) (i32.store offset=8 (get_local $8) - (get_local $8) + (get_local $2) ) - (br $do-once48) - ) - ) - (br $__rjto$7) - ) - (if - (i32.and - (i32.ge_u - (tee_local $2 - (i32.load - (tee_local $3 - (i32.add - (get_local $0) - (i32.const 8) - ) - ) - ) + (i32.store offset=12 + (get_local $8) + (get_local $0) ) - (tee_local $1 - (i32.load - (i32.const 192) - ) + (i32.store offset=24 + (get_local $8) + (i32.const 0) ) ) - (i32.ge_u - (get_local $0) - (get_local $1) - ) - ) - (block - (i32.store offset=12 - (get_local $2) - (get_local $8) - ) - (i32.store - (get_local $3) - (get_local $8) - ) - (i32.store offset=8 - (get_local $8) - (get_local $2) - ) - (i32.store offset=12 - (get_local $8) - (get_local $0) - ) - (i32.store offset=24 - (get_local $8) - (i32.const 0) - ) + (call $_abort) ) - (call $_abort) ) ) ) ) - ) - (return - (i32.add - (get_local $9) - (i32.const 8) + (return + (i32.add + (get_local $9) + (i32.const 8) + ) ) ) ) ) - ) - (loop $while-in70 - (block $while-out69 - (if - (i32.le_u - (tee_local $2 - (i32.load - (get_local $4) + (loop $while-in70 + (block $while-out69 + (if + (i32.le_u + (tee_local $2 + (i32.load + (get_local $4) + ) ) + (get_local $6) ) - (get_local $6) - ) - (br_if $while-out69 - (i32.gt_u - (tee_local $2 - (i32.add - (get_local $2) - (i32.load offset=4 - (get_local $4) + (br_if $while-out69 + (i32.gt_u + (tee_local $2 + (i32.add + (get_local $2) + (i32.load offset=4 + (get_local $4) + ) ) ) + (get_local $6) ) - (get_local $6) ) ) - ) - (set_local $4 - (i32.load offset=8 - (get_local $4) + (set_local $4 + (i32.load offset=8 + (get_local $4) + ) ) + (br $while-in70) ) - (br $while-in70) ) - ) - (set_local $10 - (i32.add - (tee_local $4 - (i32.add - (get_local $2) - (i32.const -47) + (set_local $10 + (i32.add + (tee_local $4 + (i32.add + (get_local $2) + (i32.const -47) + ) ) + (i32.const 8) ) - (i32.const 8) ) - ) - (set_local $12 - (i32.add - (tee_local $11 - (select - (get_local $6) - (tee_local $4 - (i32.add - (get_local $4) - (select - (i32.and - (i32.sub - (i32.const 0) + (set_local $12 + (i32.add + (tee_local $11 + (select + (get_local $6) + (tee_local $4 + (i32.add + (get_local $4) + (select + (i32.and + (i32.sub + (i32.const 0) + (get_local $10) + ) + (i32.const 7) + ) + (i32.const 0) + (i32.and (get_local $10) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $10) - (i32.const 7) ) ) ) - ) - (i32.lt_u - (get_local $4) - (tee_local $10 - (i32.add - (get_local $6) - (i32.const 16) + (i32.lt_u + (get_local $4) + (tee_local $10 + (i32.add + (get_local $6) + (i32.const 16) + ) ) ) ) ) + (i32.const 8) ) - (i32.const 8) ) - ) - (i32.store - (i32.const 200) - (tee_local $5 - (i32.add - (get_local $1) - (tee_local $4 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $4 - (i32.add - (get_local $1) - (i32.const 8) + (i32.store + (i32.const 200) + (tee_local $5 + (i32.add + (get_local $1) + (tee_local $4 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $4 + (i32.add + (get_local $1) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $4) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $4) - (i32.const 7) ) ) ) ) ) - ) - (i32.store - (i32.const 188) - (tee_local $4 - (i32.sub - (i32.add - (get_local $3) - (i32.const -40) + (i32.store + (i32.const 188) + (tee_local $4 + (i32.sub + (i32.add + (get_local $3) + (i32.const -40) + ) + (get_local $4) ) + ) + ) + (i32.store offset=4 + (get_local $5) + (i32.or (get_local $4) + (i32.const 1) ) ) - ) - (i32.store offset=4 - (get_local $5) - (i32.or - (get_local $4) - (i32.const 1) + (i32.store offset=4 + (i32.add + (get_local $5) + (get_local $4) + ) + (i32.const 40) ) - ) - (i32.store offset=4 - (i32.add - (get_local $5) - (get_local $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 + (tee_local $4 + (i32.add + (get_local $11) + (i32.const 4) + ) + ) + (i32.const 27) ) - ) - (i32.store - (tee_local $4 - (i32.add - (get_local $11) - (i32.const 4) + (i32.store + (get_local $12) + (i32.load + (i32.const 624) ) ) - (i32.const 27) - ) - (i32.store - (get_local $12) - (i32.load + (i32.store offset=4 + (get_local $12) + (i32.load + (i32.const 628) + ) + ) + (i32.store offset=8 + (get_local $12) + (i32.load + (i32.const 632) + ) + ) + (i32.store offset=12 + (get_local $12) + (i32.load + (i32.const 636) + ) + ) + (i32.store (i32.const 624) + (get_local $1) ) - ) - (i32.store offset=4 - (get_local $12) - (i32.load + (i32.store (i32.const 628) + (get_local $3) ) - ) - (i32.store offset=8 - (get_local $12) - (i32.load - (i32.const 632) - ) - ) - (i32.store offset=12 - (get_local $12) - (i32.load + (i32.store (i32.const 636) + (i32.const 0) ) - ) - (i32.store - (i32.const 624) - (get_local $1) - ) - (i32.store - (i32.const 628) - (get_local $3) - ) - (i32.store - (i32.const 636) - (i32.const 0) - ) - (i32.store - (i32.const 632) - (get_local $12) - ) - (set_local $1 - (i32.add - (get_local $11) - (i32.const 24) - ) - ) - (loop $while-in72 (i32.store - (tee_local $1 - (i32.add - (get_local $1) - (i32.const 4) - ) - ) - (i32.const 7) + (i32.const 632) + (get_local $12) ) - (br_if $while-in72 - (i32.lt_u - (i32.add - (get_local $1) - (i32.const 4) - ) - (get_local $2) + (set_local $1 + (i32.add + (get_local $11) + (i32.const 24) ) ) - ) - (if - (i32.ne - (get_local $11) - (get_local $6) - ) - (block + (loop $while-in72 (i32.store - (get_local $4) - (i32.and - (i32.load - (get_local $4) + (tee_local $1 + (i32.add + (get_local $1) + (i32.const 4) ) - (i32.const -2) ) + (i32.const 7) ) - (i32.store offset=4 - (get_local $6) - (i32.or - (tee_local $5 - (i32.sub - (get_local $11) - (get_local $6) - ) + (br_if $while-in72 + (i32.lt_u + (i32.add + (get_local $1) + (i32.const 4) ) - (i32.const 1) + (get_local $2) ) ) - (i32.store + ) + (if + (i32.ne (get_local $11) - (get_local $5) - ) - (set_local $1 - (i32.shr_u - (get_local $5) - (i32.const 3) - ) + (get_local $6) ) - (if - (i32.lt_u - (get_local $5) - (i32.const 256) + (block + (i32.store + (get_local $4) + (i32.and + (i32.load + (get_local $4) + ) + (i32.const -2) + ) ) - (block - (set_local $2 - (i32.add - (i32.shl - (get_local $1) - (i32.const 3) + (i32.store offset=4 + (get_local $6) + (i32.or + (tee_local $5 + (i32.sub + (get_local $11) + (get_local $6) ) - (i32.const 216) ) + (i32.const 1) ) - (if - (i32.and - (tee_local $3 - (i32.load - (i32.const 176) - ) - ) - (tee_local $1 + ) + (i32.store + (get_local $11) + (get_local $5) + ) + (set_local $1 + (i32.shr_u + (get_local $5) + (i32.const 3) + ) + ) + (if + (i32.lt_u + (get_local $5) + (i32.const 256) + ) + (block + (set_local $2 + (i32.add (i32.shl - (i32.const 1) (get_local $1) + (i32.const 3) ) + (i32.const 216) ) ) (if - (i32.lt_u - (tee_local $1 + (i32.and + (tee_local $3 (i32.load - (tee_local $3 - (i32.add - (get_local $2) - (i32.const 8) + (i32.const 176) + ) + ) + (tee_local $1 + (i32.shl + (i32.const 1) + (get_local $1) + ) + ) + ) + (if + (i32.lt_u + (tee_local $1 + (i32.load + (tee_local $3 + (i32.add + (get_local $2) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 192) + ) ) - (i32.load - (i32.const 192) + (call $_abort) + (block + (set_local $17 + (get_local $3) + ) + (set_local $7 + (get_local $1) + ) ) ) - (call $_abort) (block + (i32.store + (i32.const 176) + (i32.or + (get_local $3) + (get_local $1) + ) + ) (set_local $17 - (get_local $3) + (i32.add + (get_local $2) + (i32.const 8) + ) ) (set_local $7 - (get_local $1) - ) - ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (get_local $3) - (get_local $1) - ) - ) - (set_local $17 - (i32.add (get_local $2) - (i32.const 8) ) ) - (set_local $7 - (get_local $2) - ) ) + (i32.store + (get_local $17) + (get_local $6) + ) + (i32.store offset=12 + (get_local $7) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $7) + ) + (i32.store offset=12 + (get_local $6) + (get_local $2) + ) + (br $do-once40) ) - (i32.store - (get_local $17) - (get_local $6) - ) - (i32.store offset=12 - (get_local $7) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $7) - ) - (i32.store offset=12 - (get_local $6) - (get_local $2) - ) - (br $do-once40) ) - ) - (set_local $2 - (i32.add - (i32.shl - (tee_local $4 - (if (result i32) - (tee_local $1 - (i32.shr_u - (get_local $5) - (i32.const 8) - ) - ) + (set_local $2 + (i32.add + (i32.shl + (tee_local $4 (if (result i32) - (i32.gt_u - (get_local $5) - (i32.const 16777215) + (tee_local $1 + (i32.shr_u + (get_local $5) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $5) - (i32.add - (tee_local $1 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $5) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $5) + (i32.add + (tee_local $1 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $3 - (i32.shl - (get_local $1) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (get_local $1) - (i32.const 1048320) + (i32.or + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $3 + (i32.shl + (get_local $1) + (tee_local $2 + (i32.and + (i32.shr_u + (i32.add + (get_local $1) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $2) ) - (get_local $2) - ) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $3 - (i32.shl - (get_local $3) - (get_local $1) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $3 + (i32.shl + (get_local $3) + (get_local $1) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $3) - (get_local $1) + (i32.shr_u + (i32.shl + (get_local $3) + (get_local $1) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $1) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $1) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 480) ) - (i32.const 480) ) - ) - (i32.store offset=28 - (get_local $6) - (get_local $4) - ) - (i32.store offset=20 - (get_local $6) - (i32.const 0) - ) - (i32.store - (get_local $10) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $3 - (i32.load - (i32.const 180) + (i32.store offset=28 + (get_local $6) + (get_local $4) + ) + (i32.store offset=20 + (get_local $6) + (i32.const 0) + ) + (i32.store + (get_local $10) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (tee_local $3 + (i32.load + (i32.const 180) + ) ) - ) - (tee_local $1 - (i32.shl - (i32.const 1) - (get_local $4) + (tee_local $1 + (i32.shl + (i32.const 1) + (get_local $4) + ) ) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (get_local $3) - (get_local $1) + (block + (i32.store + (i32.const 180) + (i32.or + (get_local $3) + (get_local $1) + ) ) + (i32.store + (get_local $2) + (get_local $6) + ) + (i32.store offset=24 + (get_local $6) + (get_local $2) + ) + (i32.store offset=12 + (get_local $6) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $6) + ) + (br $do-once40) ) - (i32.store - (get_local $2) - (get_local $6) - ) - (i32.store offset=24 - (get_local $6) - (get_local $2) - ) - (i32.store offset=12 - (get_local $6) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $6) - ) - (br $do-once40) ) - ) - (set_local $4 - (i32.shl - (get_local $5) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u + (set_local $4 + (i32.shl + (get_local $5) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $4) + (i32.const 1) + ) + ) + (i32.eq (get_local $4) - (i32.const 1) + (i32.const 31) ) ) - (i32.eq - (get_local $4) - (i32.const 31) - ) ) ) - ) - (set_local $1 - (i32.load - (get_local $2) + (set_local $1 + (i32.load + (get_local $2) + ) ) - ) - (block $__rjto$9 - (block $__rjti$9 - (loop $while-in74 - (br_if $__rjti$9 - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $1) + (block $__rjto$9 + (block $__rjti$9 + (loop $while-in74 + (br_if $__rjti$9 + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $1) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $5) ) - (get_local $5) ) - ) - (set_local $2 - (i32.shl - (get_local $4) - (i32.const 1) + (set_local $2 + (i32.shl + (get_local $4) + (i32.const 1) + ) ) - ) - (if - (tee_local $3 - (i32.load - (tee_local $4 - (i32.add + (if + (tee_local $3 + (i32.load + (tee_local $4 (i32.add - (get_local $1) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $4) - (i32.const 31) + (i32.add + (get_local $1) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $4) + (i32.const 31) + ) + (i32.const 2) ) - (i32.const 2) ) ) ) ) + (block + (set_local $4 + (get_local $2) + ) + (set_local $1 + (get_local $3) + ) + (br $while-in74) + ) + ) + ) + (if + (i32.lt_u + (get_local $4) + (i32.load + (i32.const 192) + ) ) + (call $_abort) (block - (set_local $4 - (get_local $2) + (i32.store + (get_local $4) + (get_local $6) ) - (set_local $1 - (get_local $3) + (i32.store offset=24 + (get_local $6) + (get_local $1) ) - (br $while-in74) + (i32.store offset=12 + (get_local $6) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $6) + ) + (br $do-once40) ) ) + (br $__rjto$9) ) (if - (i32.lt_u - (get_local $4) - (i32.load - (i32.const 192) + (i32.and + (i32.ge_u + (tee_local $4 + (i32.load + (tee_local $2 + (i32.add + (get_local $1) + (i32.const 8) + ) + ) + ) + ) + (tee_local $3 + (i32.load + (i32.const 192) + ) + ) + ) + (i32.ge_u + (get_local $1) + (get_local $3) ) ) - (call $_abort) (block - (i32.store + (i32.store offset=12 (get_local $4) (get_local $6) ) - (i32.store offset=24 - (get_local $6) - (get_local $1) - ) - (i32.store offset=12 - (get_local $6) + (i32.store + (get_local $2) (get_local $6) ) (i32.store offset=8 (get_local $6) - (get_local $6) + (get_local $4) ) - (br $do-once40) - ) - ) - (br $__rjto$9) - ) - (if - (i32.and - (i32.ge_u - (tee_local $4 - (i32.load - (tee_local $2 - (i32.add - (get_local $1) - (i32.const 8) - ) - ) - ) + (i32.store offset=12 + (get_local $6) + (get_local $1) ) - (tee_local $3 - (i32.load - (i32.const 192) - ) + (i32.store offset=24 + (get_local $6) + (i32.const 0) ) ) - (i32.ge_u - (get_local $1) - (get_local $3) - ) - ) - (block - (i32.store offset=12 - (get_local $4) - (get_local $6) - ) - (i32.store - (get_local $2) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $4) - ) - (i32.store offset=12 - (get_local $6) - (get_local $1) - ) - (i32.store offset=24 - (get_local $6) - (i32.const 0) - ) + (call $_abort) ) - (call $_abort) ) ) ) ) - ) - (block - (if - (i32.or - (i32.eqz - (tee_local $2 - (i32.load - (i32.const 192) + (block + (if + (i32.or + (i32.eqz + (tee_local $2 + (i32.load + (i32.const 192) + ) ) ) + (i32.lt_u + (get_local $1) + (get_local $2) + ) ) - (i32.lt_u + (i32.store + (i32.const 192) (get_local $1) - (get_local $2) ) ) (i32.store - (i32.const 192) + (i32.const 624) (get_local $1) ) - ) - (i32.store - (i32.const 624) - (get_local $1) - ) - (i32.store - (i32.const 628) - (get_local $3) - ) - (i32.store - (i32.const 636) - (i32.const 0) - ) - (i32.store - (i32.const 212) - (i32.load - (i32.const 648) + (i32.store + (i32.const 628) + (get_local $3) ) - ) - (i32.store - (i32.const 208) - (i32.const -1) - ) - (set_local $2 - (i32.const 0) - ) - (loop $while-in43 - (i32.store offset=12 - (tee_local $4 - (i32.add - (i32.shl - (get_local $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) ) - (get_local $4) ) - (i32.store offset=8 - (get_local $4) - (get_local $4) + (i32.store + (i32.const 208) + (i32.const -1) ) - (br_if $while-in43 - (i32.ne - (tee_local $2 + (set_local $2 + (i32.const 0) + ) + (loop $while-in43 + (i32.store offset=12 + (tee_local $4 (i32.add - (get_local $2) - (i32.const 1) + (i32.shl + (get_local $2) + (i32.const 3) + ) + (i32.const 216) ) ) - (i32.const 32) + (get_local $4) + ) + (i32.store offset=8 + (get_local $4) + (get_local $4) + ) + (br_if $while-in43 + (i32.ne + (tee_local $2 + (i32.add + (get_local $2) + (i32.const 1) + ) + ) + (i32.const 32) + ) ) ) - ) - (i32.store - (i32.const 200) - (tee_local $2 - (i32.add - (get_local $1) - (tee_local $1 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $1 - (i32.add - (get_local $1) - (i32.const 8) + (i32.store + (i32.const 200) + (tee_local $2 + (i32.add + (get_local $1) + (tee_local $1 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.add + (get_local $1) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $1) - (i32.const 7) ) ) ) ) ) - ) - (i32.store - (i32.const 188) - (tee_local $1 - (i32.sub - (i32.add - (get_local $3) - (i32.const -40) + (i32.store + (i32.const 188) + (tee_local $1 + (i32.sub + (i32.add + (get_local $3) + (i32.const -40) + ) + (get_local $1) ) + ) + ) + (i32.store offset=4 + (get_local $2) + (i32.or (get_local $1) + (i32.const 1) ) ) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $1) - (i32.const 1) + (i32.store offset=4 + (i32.add + (get_local $2) + (get_local $1) + ) + (i32.const 40) ) - ) - (i32.store offset=4 - (i32.add - (get_local $2) - (get_local $1) + (i32.store + (i32.const 204) + (i32.load + (i32.const 664) + ) ) - (i32.const 40) ) - (i32.store - (i32.const 204) + ) + ) + (br_if $folding-inner0 + (i32.gt_u + (tee_local $1 (i32.load - (i32.const 664) + (i32.const 188) ) ) + (get_local $0) ) ) ) - (if - (i32.gt_u - (tee_local $1 - (i32.load - (i32.const 188) - ) - ) + (i32.store + (call $___errno_location) + (i32.const 12) + ) + (return + (i32.const 0) + ) + ) + (i32.store + (i32.const 188) + (tee_local $3 + (i32.sub + (get_local $1) (get_local $0) ) - (block - (i32.store - (i32.const 188) - (tee_local $3 - (i32.sub - (get_local $1) - (get_local $0) - ) - ) - ) - (i32.store - (i32.const 200) - (tee_local $1 - (i32.add - (tee_local $2 - (i32.load - (i32.const 200) - ) - ) - (get_local $0) - ) - ) - ) - (i32.store offset=4 - (get_local $1) - (i32.or - (get_local $3) - (i32.const 1) - ) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $0) - (i32.const 3) - ) - ) - (return - (i32.add - (get_local $2) - (i32.const 8) + ) + ) + (i32.store + (i32.const 200) + (tee_local $1 + (i32.add + (tee_local $2 + (i32.load + (i32.const 200) ) ) + (get_local $0) ) ) ) - (i32.store - (call $___errno_location) - (i32.const 12) + (i32.store offset=4 + (get_local $1) + (i32.or + (get_local $3) + (i32.const 1) + ) + ) + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $0) + (i32.const 3) + ) + ) + (i32.add + (get_local $2) + (i32.const 8) ) - (i32.const 0) ) (func $_free (param $0 i32) (local $1 i32) diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise index ed7ba8aa4..65fda0e77 100644 --- a/test/emcc_hello_world.fromasm.imprecise +++ b/test/emcc_hello_world.fromasm.imprecise @@ -293,26 +293,20 @@ (set_local $1 (i32.const 87) ) - (set_local $0 - (i32.const 775) - ) (br $__rjti$1) ) ) - (if + (br_if $__rjti$1 (get_local $1) - (block - (set_local $0 - (i32.const 775) - ) - (br $__rjti$1) - ) - (set_local $0 - (i32.const 775) - ) + ) + (set_local $0 + (i32.const 775) ) (br $__rjto$1) ) + (set_local $0 + (i32.const 775) + ) (loop $while-in1 (loop $while-in3 (set_local $2 @@ -953,35 +947,34 @@ (get_local $5) ) ) - (if (result i32) - (i32.eq - (get_local $4) - (i32.const 2) - ) - (block (result i32) - (i32.store - (get_local $6) - (i32.add - (i32.load - (get_local $6) + (block (result i32) + (if + (i32.eq + (get_local $4) + (i32.const 2) + ) + (block + (i32.store + (get_local $6) + (i32.add + (i32.load + (get_local $6) + ) + (get_local $3) ) - (get_local $3) + ) + (set_local $7 + (get_local $5) + ) + (set_local $4 + (i32.const 2) ) ) (set_local $7 (get_local $5) ) - (set_local $4 - (i32.const 2) - ) - (get_local $3) - ) - (block (result i32) - (set_local $7 - (get_local $5) - ) - (get_local $3) ) + (get_local $3) ) ) ) @@ -1858,7 +1851,7 @@ (get_local $0) ) (loop $while-in - (if + (br_if $__rjti$2 (i32.eq (i32.load8_u (get_local $2) @@ -1868,12 +1861,6 @@ (i32.const 255) ) ) - (block - (set_local $0 - (get_local $3) - ) - (br $__rjti$2) - ) ) (br_if $while-in (i32.and @@ -1916,20 +1903,17 @@ ) ) ) - (if + (br_if $__rjti$2 (get_local $0) - (block - (set_local $0 - (get_local $3) - ) - (br $__rjti$2) - ) - (set_local $0 - (i32.const 0) - ) + ) + (set_local $0 + (i32.const 0) ) (br $label$break$L8) ) + (set_local $0 + (get_local $3) + ) (if (i32.ne (i32.load8_u @@ -2866,34 +2850,31 @@ (get_local $6) ) ) - (set_local $1 - (if (result i32) - (i32.lt_s - (get_local $14) - (i32.const 0) - ) - (block (result i32) - (set_local $11 - (i32.or - (get_local $1) - (i32.const 8192) - ) - ) - (set_local $14 - (i32.sub - (i32.const 0) - (get_local $14) - ) + (if + (i32.lt_s + (get_local $14) + (i32.const 0) + ) + (block + (set_local $11 + (i32.or + (get_local $1) + (i32.const 8192) ) - (get_local $8) ) - (block (result i32) - (set_local $11 - (get_local $1) + (set_local $14 + (i32.sub + (i32.const 0) + (get_local $14) ) - (get_local $8) ) ) + (set_local $11 + (get_local $1) + ) + ) + (set_local $1 + (get_local $8) ) ) (if @@ -3733,13 +3714,6 @@ ) ) ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$8) ) (block (set_local $5 @@ -3748,15 +3722,15 @@ (set_local $7 (get_local $11) ) - (set_local $8 - (i32.const 0) - ) - (set_local $9 - (i32.const 4091) - ) - (br $__rjti$8) ) ) + (set_local $8 + (i32.const 0) + ) + (set_local $9 + (i32.const 4091) + ) + (br $__rjti$8) ) (set_local $5 (i32.load @@ -3815,7 +3789,6 @@ (set_local $9 (i32.const 4092) ) - (br $__rjti$4) ) (block (set_local $8 @@ -3833,9 +3806,9 @@ (get_local $9) ) ) - (br $__rjti$4) ) ) + (br $__rjti$4) ) (set_local $5 (i32.load @@ -6554,7 +6527,6 @@ (set_local $9 (i32.const 4091) ) - (br $__rjti$8) ) (block (set_local $8 @@ -6569,9 +6541,9 @@ (i32.const 4091) ) ) - (br $__rjti$8) ) ) + (br $__rjti$8) ) ) ) @@ -6837,7 +6809,7 @@ ) ) ) - (if (result i32) + (if (i32.or (get_local $6) (tee_local $12 @@ -6859,7 +6831,7 @@ ) ) ) - (block (result i32) + (block (set_local $7 (get_local $5) ) @@ -6887,18 +6859,17 @@ ) ) ) - (get_local $22) ) - (block (result i32) + (block (set_local $7 (get_local $22) ) (set_local $12 (i32.const 0) ) - (get_local $22) ) ) + (get_local $22) ) ) (call $_pad @@ -7804,258 +7775,274 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (block $do-once - (if - (i32.lt_u - (get_local $0) - (i32.const 245) - ) - (block - (if - (i32.and - (tee_local $5 - (i32.shr_u - (tee_local $11 - (i32.load - (i32.const 176) + (block $folding-inner0 + (block $do-once + (if + (i32.lt_u + (get_local $0) + (i32.const 245) + ) + (block + (if + (i32.and + (tee_local $5 + (i32.shr_u + (tee_local $11 + (i32.load + (i32.const 176) + ) ) - ) - (tee_local $13 - (i32.shr_u - (tee_local $4 - (select - (i32.const 16) - (i32.and - (i32.add + (tee_local $13 + (i32.shr_u + (tee_local $4 + (select + (i32.const 16) + (i32.and + (i32.add + (get_local $0) + (i32.const 11) + ) + (i32.const -8) + ) + (i32.lt_u (get_local $0) (i32.const 11) ) - (i32.const -8) - ) - (i32.lt_u - (get_local $0) - (i32.const 11) ) ) + (i32.const 3) ) - (i32.const 3) ) ) ) + (i32.const 3) ) - (i32.const 3) - ) - (block - (set_local $10 - (i32.load - (tee_local $1 - (i32.add - (tee_local $7 - (i32.load - (tee_local $3 - (i32.add - (tee_local $2 - (i32.add - (i32.shl - (tee_local $4 - (i32.add - (i32.xor - (i32.and - (get_local $5) + (block + (set_local $10 + (i32.load + (tee_local $1 + (i32.add + (tee_local $7 + (i32.load + (tee_local $3 + (i32.add + (tee_local $2 + (i32.add + (i32.shl + (tee_local $4 + (i32.add + (i32.xor + (i32.and + (get_local $5) + (i32.const 1) + ) (i32.const 1) ) - (i32.const 1) + (get_local $13) ) - (get_local $13) ) + (i32.const 3) ) - (i32.const 3) + (i32.const 216) ) - (i32.const 216) ) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 8) ) - (i32.const 8) ) ) ) - ) - (if - (i32.eq - (get_local $2) - (get_local $10) - ) - (i32.store - (i32.const 176) - (i32.and - (get_local $11) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $4) - ) - (i32.const -1) - ) + (if + (i32.eq + (get_local $2) + (get_local $10) ) - ) - (block - (if - (i32.lt_u - (get_local $10) - (i32.load - (i32.const 192) + (i32.store + (i32.const 176) + (i32.and + (get_local $11) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $4) + ) + (i32.const -1) ) ) - (call $_abort) ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $10) - (i32.const 12) - ) + (block + (if + (i32.lt_u + (get_local $10) + (i32.load + (i32.const 192) ) ) - (get_local $7) + (call $_abort) ) - (block - (i32.store - (get_local $0) - (get_local $2) + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $10) + (i32.const 12) + ) + ) + ) + (get_local $7) ) - (i32.store - (get_local $3) - (get_local $10) + (block + (i32.store + (get_local $0) + (get_local $2) + ) + (i32.store + (get_local $3) + (get_local $10) + ) ) + (call $_abort) ) - (call $_abort) ) ) - ) - (i32.store offset=4 - (get_local $7) - (i32.or - (tee_local $0 - (i32.shl - (get_local $4) - (i32.const 3) + (i32.store offset=4 + (get_local $7) + (i32.or + (tee_local $0 + (i32.shl + (get_local $4) + (i32.const 3) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $0 - (i32.add + (i32.store + (tee_local $0 (i32.add - (get_local $7) + (i32.add + (get_local $7) + (get_local $0) + ) + (i32.const 4) + ) + ) + (i32.or + (i32.load (get_local $0) ) - (i32.const 4) + (i32.const 1) ) ) - (i32.or - (i32.load - (get_local $0) - ) - (i32.const 1) + (return + (get_local $1) ) ) - (return - (get_local $1) - ) ) - ) - (if - (i32.gt_u - (get_local $4) - (tee_local $0 - (i32.load - (i32.const 184) + (if + (i32.gt_u + (get_local $4) + (tee_local $0 + (i32.load + (i32.const 184) + ) ) ) - ) - (block - (if - (get_local $5) - (block - (set_local $10 - (i32.and - (i32.shr_u - (tee_local $3 - (i32.add - (i32.and - (tee_local $3 - (i32.and - (i32.shl - (get_local $5) - (get_local $13) - ) - (i32.or - (tee_local $3 - (i32.shl - (i32.const 2) - (get_local $13) - ) + (block + (if + (get_local $5) + (block + (set_local $10 + (i32.and + (i32.shr_u + (tee_local $3 + (i32.add + (i32.and + (tee_local $3 + (i32.and + (i32.shl + (get_local $5) + (get_local $13) ) - (i32.sub - (i32.const 0) - (get_local $3) + (i32.or + (tee_local $3 + (i32.shl + (i32.const 2) + (get_local $13) + ) + ) + (i32.sub + (i32.const 0) + (get_local $3) + ) ) ) ) + (i32.sub + (i32.const 0) + (get_local $3) + ) ) - (i32.sub - (i32.const 0) - (get_local $3) - ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (set_local $9 - (i32.load - (tee_local $7 - (i32.add - (tee_local $12 - (i32.load - (tee_local $3 - (i32.add - (tee_local $10 - (i32.add - (i32.shl - (tee_local $5 - (i32.add - (i32.or + (set_local $9 + (i32.load + (tee_local $7 + (i32.add + (tee_local $12 + (i32.load + (tee_local $3 + (i32.add + (tee_local $10 + (i32.add + (i32.shl + (tee_local $5 + (i32.add (i32.or (i32.or (i32.or + (i32.or + (tee_local $3 + (i32.and + (i32.shr_u + (tee_local $7 + (i32.shr_u + (get_local $3) + (get_local $10) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $10) + ) (tee_local $3 (i32.and (i32.shr_u (tee_local $7 (i32.shr_u + (get_local $7) (get_local $3) - (get_local $10) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $10) ) (tee_local $3 (i32.and @@ -8066,9 +8053,9 @@ (get_local $3) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) @@ -8083,310 +8070,310 @@ ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (tee_local $7 - (i32.shr_u - (get_local $7) - (get_local $3) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) - ) - (i32.shr_u - (get_local $7) - (get_local $3) + (i32.shr_u + (get_local $7) + (get_local $3) + ) ) ) + (i32.const 3) ) - (i32.const 3) + (i32.const 216) ) - (i32.const 216) ) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 8) ) - (i32.const 8) ) ) ) - ) - (if - (i32.eq - (get_local $10) - (get_local $9) - ) - (block - (i32.store - (i32.const 176) - (i32.and - (get_local $11) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $5) + (if + (i32.eq + (get_local $10) + (get_local $9) + ) + (block + (i32.store + (i32.const 176) + (i32.and + (get_local $11) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $5) + ) + (i32.const -1) ) - (i32.const -1) ) ) - ) - (set_local $8 - (get_local $0) - ) - ) - (block - (if - (i32.lt_u - (get_local $9) - (i32.load - (i32.const 192) - ) + (set_local $8 + (get_local $0) ) - (call $_abort) ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $9) - (i32.const 12) - ) + (block + (if + (i32.lt_u + (get_local $9) + (i32.load + (i32.const 192) ) ) - (get_local $12) + (call $_abort) ) - (block - (i32.store - (get_local $0) - (get_local $10) - ) - (i32.store - (get_local $3) - (get_local $9) - ) - (set_local $8 + (if + (i32.eq (i32.load - (i32.const 184) + (tee_local $0 + (i32.add + (get_local $9) + (i32.const 12) + ) + ) + ) + (get_local $12) + ) + (block + (i32.store + (get_local $0) + (get_local $10) + ) + (i32.store + (get_local $3) + (get_local $9) + ) + (set_local $8 + (i32.load + (i32.const 184) + ) ) ) + (call $_abort) ) - (call $_abort) ) ) - ) - (i32.store offset=4 - (get_local $12) - (i32.or - (get_local $4) - (i32.const 3) - ) - ) - (i32.store offset=4 - (tee_local $10 - (i32.add - (get_local $12) + (i32.store offset=4 + (get_local $12) + (i32.or (get_local $4) + (i32.const 3) ) ) - (i32.or - (tee_local $5 - (i32.sub - (i32.shl - (get_local $5) - (i32.const 3) - ) + (i32.store offset=4 + (tee_local $10 + (i32.add + (get_local $12) (get_local $4) ) ) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (get_local $10) - (get_local $5) - ) - (get_local $5) - ) - (if - (get_local $8) - (block - (set_local $12 - (i32.load - (i32.const 196) - ) - ) - (set_local $4 - (i32.add - (i32.shl - (tee_local $0 - (i32.shr_u - (get_local $8) - (i32.const 3) - ) + (i32.or + (tee_local $5 + (i32.sub + (i32.shl + (get_local $5) + (i32.const 3) ) - (i32.const 3) + (get_local $4) ) - (i32.const 216) ) + (i32.const 1) ) - (if - (i32.and - (tee_local $3 - (i32.load - (i32.const 176) - ) + ) + (i32.store + (i32.add + (get_local $10) + (get_local $5) + ) + (get_local $5) + ) + (if + (get_local $8) + (block + (set_local $12 + (i32.load + (i32.const 196) ) - (tee_local $0 + ) + (set_local $4 + (i32.add (i32.shl - (i32.const 1) - (get_local $0) + (tee_local $0 + (i32.shr_u + (get_local $8) + (i32.const 3) + ) + ) + (i32.const 3) ) + (i32.const 216) ) ) (if - (i32.lt_u - (tee_local $0 + (i32.and + (tee_local $3 (i32.load - (tee_local $3 - (i32.add - (get_local $4) - (i32.const 8) + (i32.const 176) + ) + ) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $0) + ) + ) + ) + (if + (i32.lt_u + (tee_local $0 + (i32.load + (tee_local $3 + (i32.add + (get_local $4) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 192) + ) ) - (i32.load - (i32.const 192) + (call $_abort) + (block + (set_local $2 + (get_local $3) + ) + (set_local $1 + (get_local $0) + ) ) ) - (call $_abort) (block + (i32.store + (i32.const 176) + (i32.or + (get_local $3) + (get_local $0) + ) + ) (set_local $2 - (get_local $3) + (i32.add + (get_local $4) + (i32.const 8) + ) ) (set_local $1 - (get_local $0) - ) - ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (get_local $3) - (get_local $0) - ) - ) - (set_local $2 - (i32.add (get_local $4) - (i32.const 8) ) ) - (set_local $1 - (get_local $4) - ) ) - ) - (i32.store - (get_local $2) - (get_local $12) - ) - (i32.store offset=12 - (get_local $1) - (get_local $12) - ) - (i32.store offset=8 - (get_local $12) - (get_local $1) - ) - (i32.store offset=12 - (get_local $12) - (get_local $4) + (i32.store + (get_local $2) + (get_local $12) + ) + (i32.store offset=12 + (get_local $1) + (get_local $12) + ) + (i32.store offset=8 + (get_local $12) + (get_local $1) + ) + (i32.store offset=12 + (get_local $12) + (get_local $4) + ) ) ) - ) - (i32.store - (i32.const 184) - (get_local $5) - ) - (i32.store - (i32.const 196) - (get_local $10) - ) - (return - (get_local $7) + (i32.store + (i32.const 184) + (get_local $5) + ) + (i32.store + (i32.const 196) + (get_local $10) + ) + (return + (get_local $7) + ) ) ) - ) - (if - (tee_local $0 - (i32.load - (i32.const 180) + (if + (tee_local $0 + (i32.load + (i32.const 180) + ) ) - ) - (block - (set_local $2 - (i32.and - (i32.shr_u - (tee_local $0 - (i32.add - (i32.and - (get_local $0) - (i32.sub - (i32.const 0) + (block + (set_local $2 + (i32.and + (i32.shr_u + (tee_local $0 + (i32.add + (i32.and (get_local $0) + (i32.sub + (i32.const 0) + (get_local $0) + ) ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (set_local $7 - (i32.sub - (i32.and - (i32.load offset=4 - (tee_local $0 - (i32.load offset=480 - (i32.shl - (i32.add - (i32.or + (set_local $7 + (i32.sub + (i32.and + (i32.load offset=4 + (tee_local $0 + (i32.load offset=480 + (i32.shl + (i32.add (i32.or (i32.or (i32.or + (i32.or + (tee_local $0 + (i32.and + (i32.shr_u + (tee_local $1 + (i32.shr_u + (get_local $0) + (get_local $2) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $2) + ) (tee_local $0 (i32.and (i32.shr_u (tee_local $1 (i32.shr_u + (get_local $1) (get_local $0) - (get_local $2) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $2) ) (tee_local $0 (i32.and @@ -8397,9 +8384,9 @@ (get_local $0) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) @@ -8414,163 +8401,135 @@ ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.shr_u - (get_local $1) - (get_local $0) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) + (i32.shr_u + (get_local $1) + (get_local $0) + ) ) - (i32.shr_u - (get_local $1) - (get_local $0) - ) + (i32.const 2) ) - (i32.const 2) ) ) ) + (i32.const -8) ) - (i32.const -8) + (get_local $4) ) - (get_local $4) ) - ) - (set_local $1 - (get_local $0) - ) - (set_local $2 - (get_local $0) - ) - (loop $while-in - (block $while-out - (if - (i32.eqz - (tee_local $0 - (i32.load offset=16 - (get_local $1) - ) - ) - ) + (set_local $1 + (get_local $0) + ) + (set_local $2 + (get_local $0) + ) + (loop $while-in + (block $while-out (if (i32.eqz (tee_local $0 - (i32.load offset=20 + (i32.load offset=16 (get_local $1) ) ) ) - (block - (set_local $10 - (get_local $7) + (if + (i32.eqz + (tee_local $0 + (i32.load offset=20 + (get_local $1) + ) + ) ) - (set_local $5 - (get_local $2) + (block + (set_local $10 + (get_local $7) + ) + (set_local $5 + (get_local $2) + ) + (br $while-out) ) - (br $while-out) ) ) - ) - (set_local $10 - (i32.lt_u - (tee_local $1 - (i32.sub - (i32.and - (i32.load offset=4 - (get_local $0) + (set_local $10 + (i32.lt_u + (tee_local $1 + (i32.sub + (i32.and + (i32.load offset=4 + (get_local $0) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $4) ) - (get_local $4) ) + (get_local $7) ) - (get_local $7) ) - ) - (set_local $7 - (select - (get_local $1) - (get_local $7) - (get_local $10) + (set_local $7 + (select + (get_local $1) + (get_local $7) + (get_local $10) + ) ) - ) - (set_local $1 - (get_local $0) - ) - (set_local $2 - (select + (set_local $1 (get_local $0) - (get_local $2) - (get_local $10) ) - ) - (br $while-in) - ) - ) - (if - (i32.lt_u - (get_local $5) - (tee_local $12 - (i32.load - (i32.const 192) + (set_local $2 + (select + (get_local $0) + (get_local $2) + (get_local $10) + ) ) + (br $while-in) ) ) - (call $_abort) - ) - (if - (i32.ge_u - (get_local $5) - (tee_local $11 - (i32.add - (get_local $5) - (get_local $4) + (if + (i32.lt_u + (get_local $5) + (tee_local $12 + (i32.load + (i32.const 192) + ) ) ) + (call $_abort) ) - (call $_abort) - ) - (set_local $8 - (i32.load offset=24 - (get_local $5) - ) - ) - (block $do-once4 (if - (i32.eq - (tee_local $0 - (i32.load offset=12 + (i32.ge_u + (get_local $5) + (tee_local $11 + (i32.add (get_local $5) + (get_local $4) ) ) + ) + (call $_abort) + ) + (set_local $8 + (i32.load offset=24 (get_local $5) ) - (block - (if - (i32.eqz - (tee_local $1 - (i32.load - (tee_local $0 - (i32.add - (get_local $5) - (i32.const 20) - ) - ) - ) + ) + (block $do-once4 + (if + (i32.eq + (tee_local $0 + (i32.load offset=12 + (get_local $5) ) ) + (get_local $5) + ) + (block (if (i32.eqz (tee_local $1 @@ -8578,719 +8537,733 @@ (tee_local $0 (i32.add (get_local $5) - (i32.const 16) + (i32.const 20) ) ) ) ) ) - (block - (set_local $9 - (i32.const 0) - ) - (br $do-once4) - ) - ) - ) - (loop $while-in7 - (if - (tee_local $2 - (i32.load - (tee_local $7 - (i32.add - (get_local $1) - (i32.const 20) + (if + (i32.eqz + (tee_local $1 + (i32.load + (tee_local $0 + (i32.add + (get_local $5) + (i32.const 16) + ) + ) ) ) ) - ) - (block - (set_local $1 - (get_local $2) - ) - (set_local $0 - (get_local $7) + (block + (set_local $9 + (i32.const 0) + ) + (br $do-once4) ) - (br $while-in7) ) ) - (if - (tee_local $2 - (i32.load - (tee_local $7 - (i32.add - (get_local $1) - (i32.const 16) + (loop $while-in7 + (if + (tee_local $2 + (i32.load + (tee_local $7 + (i32.add + (get_local $1) + (i32.const 20) + ) ) ) ) + (block + (set_local $1 + (get_local $2) + ) + (set_local $0 + (get_local $7) + ) + (br $while-in7) + ) ) - (block - (set_local $1 - (get_local $2) + (if + (tee_local $2 + (i32.load + (tee_local $7 + (i32.add + (get_local $1) + (i32.const 16) + ) + ) + ) ) - (set_local $0 - (get_local $7) + (block + (set_local $1 + (get_local $2) + ) + (set_local $0 + (get_local $7) + ) + (br $while-in7) ) - (br $while-in7) ) ) - ) - (if - (i32.lt_u - (get_local $0) - (get_local $12) - ) - (call $_abort) - (block - (i32.store + (if + (i32.lt_u (get_local $0) - (i32.const 0) - ) - (set_local $9 - (get_local $1) + (get_local $12) ) - ) - ) - ) - (block - (if - (i32.lt_u - (tee_local $7 - (i32.load offset=8 - (get_local $5) + (call $_abort) + (block + (i32.store + (get_local $0) + (i32.const 0) + ) + (set_local $9 + (get_local $1) ) ) - (get_local $12) ) - (call $_abort) ) - (if - (i32.ne - (i32.load - (tee_local $2 - (i32.add - (get_local $7) - (i32.const 12) + (block + (if + (i32.lt_u + (tee_local $7 + (i32.load offset=8 + (get_local $5) ) ) + (get_local $12) ) - (get_local $5) + (call $_abort) ) - (call $_abort) - ) - (if - (i32.eq - (i32.load - (tee_local $1 - (i32.add - (get_local $0) - (i32.const 8) + (if + (i32.ne + (i32.load + (tee_local $2 + (i32.add + (get_local $7) + (i32.const 12) + ) ) ) + (get_local $5) ) - (get_local $5) + (call $_abort) ) - (block - (i32.store - (get_local $2) - (get_local $0) - ) - (i32.store - (get_local $1) - (get_local $7) + (if + (i32.eq + (i32.load + (tee_local $1 + (i32.add + (get_local $0) + (i32.const 8) + ) + ) + ) + (get_local $5) ) - (set_local $9 - (get_local $0) + (block + (i32.store + (get_local $2) + (get_local $0) + ) + (i32.store + (get_local $1) + (get_local $7) + ) + (set_local $9 + (get_local $0) + ) ) + (call $_abort) ) - (call $_abort) ) ) ) - ) - (block $do-once8 - (if - (get_local $8) - (block - (if - (i32.eq - (get_local $5) - (i32.load - (tee_local $0 - (i32.add - (i32.shl - (tee_local $1 - (i32.load offset=28 - (get_local $5) + (block $do-once8 + (if + (get_local $8) + (block + (if + (i32.eq + (get_local $5) + (i32.load + (tee_local $0 + (i32.add + (i32.shl + (tee_local $1 + (i32.load offset=28 + (get_local $5) + ) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 480) ) - (i32.const 480) ) ) ) - ) - (block - (i32.store - (get_local $0) - (get_local $9) - ) - (if - (i32.eqz + (block + (i32.store + (get_local $0) (get_local $9) ) - (block - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $1) + (if + (i32.eqz + (get_local $9) + ) + (block + (i32.store + (i32.const 180) + (i32.and + (i32.load + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $1) + ) + (i32.const -1) ) - (i32.const -1) ) ) + (br $do-once8) ) - (br $do-once8) ) ) - ) - (block - (if - (i32.lt_u - (get_local $8) - (i32.load - (i32.const 192) + (block + (if + (i32.lt_u + (get_local $8) + (i32.load + (i32.const 192) + ) ) + (call $_abort) ) - (call $_abort) - ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $8) - (i32.const 16) + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $8) + (i32.const 16) + ) ) ) + (get_local $5) + ) + (i32.store + (get_local $0) + (get_local $9) + ) + (i32.store offset=20 + (get_local $8) + (get_local $9) ) - (get_local $5) - ) - (i32.store - (get_local $0) - (get_local $9) - ) - (i32.store offset=20 - (get_local $8) - (get_local $9) ) - ) - (br_if $do-once8 - (i32.eqz - (get_local $9) + (br_if $do-once8 + (i32.eqz + (get_local $9) + ) ) ) ) - ) - (if - (i32.lt_u - (get_local $9) - (tee_local $0 - (i32.load - (i32.const 192) + (if + (i32.lt_u + (get_local $9) + (tee_local $0 + (i32.load + (i32.const 192) + ) ) ) + (call $_abort) ) - (call $_abort) - ) - (i32.store offset=24 - (get_local $9) - (get_local $8) - ) - (if - (tee_local $1 - (i32.load offset=16 - (get_local $5) - ) + (i32.store offset=24 + (get_local $9) + (get_local $8) ) (if - (i32.lt_u - (get_local $1) - (get_local $0) + (tee_local $1 + (i32.load offset=16 + (get_local $5) + ) ) - (call $_abort) - (block - (i32.store offset=16 - (get_local $9) + (if + (i32.lt_u (get_local $1) + (get_local $0) ) - (i32.store offset=24 - (get_local $1) - (get_local $9) + (call $_abort) + (block + (i32.store offset=16 + (get_local $9) + (get_local $1) + ) + (i32.store offset=24 + (get_local $1) + (get_local $9) + ) ) ) ) - ) - (if - (tee_local $0 - (i32.load offset=20 - (get_local $5) - ) - ) (if - (i32.lt_u - (get_local $0) - (i32.load - (i32.const 192) + (tee_local $0 + (i32.load offset=20 + (get_local $5) ) ) - (call $_abort) - (block - (i32.store offset=20 - (get_local $9) + (if + (i32.lt_u (get_local $0) + (i32.load + (i32.const 192) + ) ) - (i32.store offset=24 - (get_local $0) - (get_local $9) + (call $_abort) + (block + (i32.store offset=20 + (get_local $9) + (get_local $0) + ) + (i32.store offset=24 + (get_local $0) + (get_local $9) + ) ) ) ) ) ) ) - ) - (if - (i32.lt_u - (get_local $10) - (i32.const 16) - ) - (block - (i32.store offset=4 - (get_local $5) - (i32.or - (tee_local $0 - (i32.add - (get_local $10) - (get_local $4) + (if + (i32.lt_u + (get_local $10) + (i32.const 16) + ) + (block + (i32.store offset=4 + (get_local $5) + (i32.or + (tee_local $0 + (i32.add + (get_local $10) + (get_local $4) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $0 - (i32.add + (i32.store + (tee_local $0 (i32.add - (get_local $5) - (get_local $0) + (i32.add + (get_local $5) + (get_local $0) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $0) + (i32.or + (i32.load + (get_local $0) + ) + (i32.const 1) ) - (i32.const 1) - ) - ) - ) - (block - (i32.store offset=4 - (get_local $5) - (i32.or - (get_local $4) - (i32.const 3) ) ) - (i32.store offset=4 - (get_local $11) - (i32.or - (get_local $10) - (i32.const 1) + (block + (i32.store offset=4 + (get_local $5) + (i32.or + (get_local $4) + (i32.const 3) + ) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $11) - (get_local $10) + (i32.or + (get_local $10) + (i32.const 1) + ) ) - (get_local $10) - ) - (if - (tee_local $0 - (i32.load - (i32.const 184) + (i32.store + (i32.add + (get_local $11) + (get_local $10) ) + (get_local $10) ) - (block - (set_local $4 + (if + (tee_local $0 (i32.load - (i32.const 196) + (i32.const 184) ) ) - (set_local $2 - (i32.add - (i32.shl - (tee_local $0 - (i32.shr_u - (get_local $0) - (i32.const 3) - ) - ) - (i32.const 3) + (block + (set_local $4 + (i32.load + (i32.const 196) ) - (i32.const 216) ) - ) - (if - (i32.and - (tee_local $1 - (i32.load - (i32.const 176) - ) - ) - (tee_local $0 + (set_local $2 + (i32.add (i32.shl - (i32.const 1) - (get_local $0) + (tee_local $0 + (i32.shr_u + (get_local $0) + (i32.const 3) + ) + ) + (i32.const 3) ) + (i32.const 216) ) ) (if - (i32.lt_u - (tee_local $0 + (i32.and + (tee_local $1 (i32.load - (tee_local $1 - (i32.add - (get_local $2) - (i32.const 8) + (i32.const 176) + ) + ) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $0) + ) + ) + ) + (if + (i32.lt_u + (tee_local $0 + (i32.load + (tee_local $1 + (i32.add + (get_local $2) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 192) + ) ) - (i32.load - (i32.const 192) + (call $_abort) + (block + (set_local $6 + (get_local $1) + ) + (set_local $3 + (get_local $0) + ) ) ) - (call $_abort) (block + (i32.store + (i32.const 176) + (i32.or + (get_local $1) + (get_local $0) + ) + ) (set_local $6 - (get_local $1) + (i32.add + (get_local $2) + (i32.const 8) + ) ) (set_local $3 - (get_local $0) - ) - ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (get_local $1) - (get_local $0) - ) - ) - (set_local $6 - (i32.add (get_local $2) - (i32.const 8) ) ) - (set_local $3 - (get_local $2) - ) ) - ) - (i32.store - (get_local $6) - (get_local $4) - ) - (i32.store offset=12 - (get_local $3) - (get_local $4) - ) - (i32.store offset=8 - (get_local $4) - (get_local $3) - ) - (i32.store offset=12 - (get_local $4) - (get_local $2) + (i32.store + (get_local $6) + (get_local $4) + ) + (i32.store offset=12 + (get_local $3) + (get_local $4) + ) + (i32.store offset=8 + (get_local $4) + (get_local $3) + ) + (i32.store offset=12 + (get_local $4) + (get_local $2) + ) ) ) + (i32.store + (i32.const 184) + (get_local $10) + ) + (i32.store + (i32.const 196) + (get_local $11) + ) ) - (i32.store - (i32.const 184) - (get_local $10) - ) - (i32.store - (i32.const 196) - (get_local $11) + ) + (return + (i32.add + (get_local $5) + (i32.const 8) ) ) ) - (return - (i32.add - (get_local $5) - (i32.const 8) - ) + (set_local $0 + (get_local $4) ) ) - (set_local $0 - (get_local $4) - ) + ) + (set_local $0 + (get_local $4) ) ) + ) + (if + (i32.gt_u + (get_local $0) + (i32.const -65) + ) (set_local $0 - (get_local $4) + (i32.const -1) ) - ) - ) - (if - (i32.gt_u - (get_local $0) - (i32.const -65) - ) - (set_local $0 - (i32.const -1) - ) - (block - (set_local $2 - (i32.and - (tee_local $0 - (i32.add - (get_local $0) - (i32.const 11) + (block + (set_local $2 + (i32.and + (tee_local $0 + (i32.add + (get_local $0) + (i32.const 11) + ) ) + (i32.const -8) ) - (i32.const -8) ) - ) - (if - (tee_local $18 - (i32.load - (i32.const 180) + (if + (tee_local $18 + (i32.load + (i32.const 180) + ) ) - ) - (block - (set_local $14 - (if (result i32) - (tee_local $0 - (i32.shr_u - (get_local $0) - (i32.const 8) - ) - ) + (block + (set_local $14 (if (result i32) - (i32.gt_u - (get_local $2) - (i32.const 16777215) + (tee_local $0 + (i32.shr_u + (get_local $0) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $2) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $2) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $2) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (i32.or + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $0) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $3) ) - (get_local $3) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $1) + (get_local $0) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $1) + (get_local $0) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) - ) - (set_local $3 - (i32.sub - (i32.const 0) - (get_local $2) + (set_local $3 + (i32.sub + (i32.const 0) + (get_local $2) + ) ) - ) - (block $__rjto$3 - (block $__rjti$3 - (if - (tee_local $0 - (i32.load offset=480 - (i32.shl - (get_local $14) - (i32.const 2) + (block $__rjto$3 + (block $__rjti$3 + (if + (tee_local $0 + (i32.load offset=480 + (i32.shl + (get_local $14) + (i32.const 2) + ) ) ) - ) - (block - (set_local $6 - (i32.const 0) - ) - (set_local $8 - (i32.shl - (get_local $2) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u + (block + (set_local $6 + (i32.const 0) + ) + (set_local $8 + (i32.shl + (get_local $2) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $14) + (i32.const 1) + ) + ) + (i32.eq (get_local $14) - (i32.const 1) + (i32.const 31) ) ) - (i32.eq - (get_local $14) - (i32.const 31) - ) ) ) - ) - (set_local $1 - (i32.const 0) - ) - (loop $while-in14 - (if - (i32.lt_u - (tee_local $4 - (i32.sub - (tee_local $9 - (i32.and - (i32.load offset=4 - (get_local $0) + (set_local $1 + (i32.const 0) + ) + (loop $while-in14 + (if + (i32.lt_u + (tee_local $4 + (i32.sub + (tee_local $9 + (i32.and + (i32.load offset=4 + (get_local $0) + ) + (i32.const -8) ) - (i32.const -8) ) + (get_local $2) ) - (get_local $2) ) + (get_local $3) ) - (get_local $3) - ) - (if - (i32.eq - (get_local $9) - (get_local $2) - ) - (block - (set_local $1 - (get_local $4) - ) - (set_local $3 - (get_local $0) + (if + (i32.eq + (get_local $9) + (get_local $2) ) - (br $__rjti$3) - ) - (block - (set_local $3 - (get_local $4) + (block + (set_local $1 + (get_local $4) + ) + (set_local $3 + (get_local $0) + ) + (br $__rjti$3) ) - (set_local $1 - (get_local $0) + (block + (set_local $3 + (get_local $4) + ) + (set_local $1 + (get_local $0) + ) ) ) ) - ) - (set_local $0 - (select - (get_local $6) - (tee_local $4 - (i32.load offset=20 - (get_local $0) - ) - ) - (i32.or - (i32.eqz - (get_local $4) + (set_local $0 + (select + (get_local $6) + (tee_local $4 + (i32.load offset=20 + (get_local $0) + ) ) - (i32.eq - (get_local $4) - (tee_local $9 - (i32.load - (i32.add + (i32.or + (i32.eqz + (get_local $4) + ) + (i32.eq + (get_local $4) + (tee_local $9 + (i32.load (i32.add - (get_local $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $8) - (i32.const 31) + (i32.add + (get_local $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $8) + (i32.const 31) + ) + (i32.const 2) ) - (i32.const 2) ) ) ) @@ -9298,134 +9271,148 @@ ) ) ) - ) - (set_local $4 - (i32.shl - (get_local $8) - (i32.xor - (tee_local $6 - (i32.eqz - (get_local $9) + (set_local $4 + (i32.shl + (get_local $8) + (i32.xor + (tee_local $6 + (i32.eqz + (get_local $9) + ) ) + (i32.const 1) ) - (i32.const 1) - ) - ) - ) - (if - (get_local $6) - (block - (set_local $4 - (get_local $0) - ) - (set_local $0 - (get_local $1) ) ) - (block - (set_local $6 - (get_local $0) - ) - (set_local $8 - (get_local $4) + (if + (get_local $6) + (block + (set_local $4 + (get_local $0) + ) + (set_local $0 + (get_local $1) + ) ) - (set_local $0 - (get_local $9) + (block + (set_local $6 + (get_local $0) + ) + (set_local $8 + (get_local $4) + ) + (set_local $0 + (get_local $9) + ) + (br $while-in14) ) - (br $while-in14) ) ) ) - ) - (block - (set_local $4 - (i32.const 0) - ) - (set_local $0 - (i32.const 0) - ) - ) - ) - (if - (i32.and - (i32.eqz - (get_local $4) - ) - (i32.eqz - (get_local $0) + (block + (set_local $4 + (i32.const 0) + ) + (set_local $0 + (i32.const 0) + ) ) ) - (block - (if + (if + (i32.and (i32.eqz - (tee_local $1 - (i32.and - (get_local $18) - (i32.or - (tee_local $1 - (i32.shl - (i32.const 2) - (get_local $14) + (get_local $4) + ) + (i32.eqz + (get_local $0) + ) + ) + (block + (if + (i32.eqz + (tee_local $1 + (i32.and + (get_local $18) + (i32.or + (tee_local $1 + (i32.shl + (i32.const 2) + (get_local $14) + ) + ) + (i32.sub + (i32.const 0) + (get_local $1) ) - ) - (i32.sub - (i32.const 0) - (get_local $1) ) ) ) ) - ) - (block - (set_local $0 - (get_local $2) + (block + (set_local $0 + (get_local $2) + ) + (br $do-once) ) - (br $do-once) ) - ) - (set_local $9 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.add - (i32.and - (get_local $1) - (i32.sub - (i32.const 0) + (set_local $9 + (i32.and + (i32.shr_u + (tee_local $1 + (i32.add + (i32.and (get_local $1) + (i32.sub + (i32.const 0) + (get_local $1) + ) ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (set_local $4 - (i32.load offset=480 - (i32.shl - (i32.add - (i32.or + (set_local $4 + (i32.load offset=480 + (i32.shl + (i32.add (i32.or (i32.or (i32.or + (i32.or + (tee_local $1 + (i32.and + (i32.shr_u + (tee_local $4 + (i32.shr_u + (get_local $1) + (get_local $9) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $9) + ) (tee_local $1 (i32.and (i32.shr_u (tee_local $4 (i32.shr_u + (get_local $4) (get_local $1) - (get_local $9) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $9) ) (tee_local $1 (i32.and @@ -9436,9 +9423,9 @@ (get_local $1) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) @@ -9453,177 +9440,149 @@ ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $1 - (i32.and - (i32.shr_u - (tee_local $4 - (i32.shr_u - (get_local $4) - (get_local $1) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) + (i32.shr_u + (get_local $4) + (get_local $1) + ) ) - (i32.shr_u - (get_local $4) - (get_local $1) - ) + (i32.const 2) ) - (i32.const 2) ) ) ) ) - ) - (if - (get_local $4) - (block - (set_local $1 - (get_local $3) + (if + (get_local $4) + (block + (set_local $1 + (get_local $3) + ) + (set_local $3 + (get_local $4) + ) + (br $__rjti$3) ) - (set_local $3 - (get_local $4) + (set_local $4 + (get_local $0) ) - (br $__rjti$3) - ) - (set_local $4 - (get_local $0) ) + (br $__rjto$3) ) - (br $__rjto$3) - ) - (loop $while-in16 - (set_local $9 - (i32.lt_u - (tee_local $4 - (i32.sub - (i32.and - (i32.load offset=4 - (get_local $3) + (loop $while-in16 + (set_local $9 + (i32.lt_u + (tee_local $4 + (i32.sub + (i32.and + (i32.load offset=4 + (get_local $3) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $2) ) - (get_local $2) ) + (get_local $1) ) - (get_local $1) - ) - ) - (set_local $1 - (select - (get_local $4) - (get_local $1) - (get_local $9) ) - ) - (set_local $0 - (select - (get_local $3) - (get_local $0) - (get_local $9) + (set_local $1 + (select + (get_local $4) + (get_local $1) + (get_local $9) + ) ) - ) - (if - (tee_local $4 - (i32.load offset=16 + (set_local $0 + (select (get_local $3) + (get_local $0) + (get_local $9) ) ) - (block - (set_local $3 - (get_local $4) + (if + (tee_local $4 + (i32.load offset=16 + (get_local $3) + ) + ) + (block + (set_local $3 + (get_local $4) + ) + (br $while-in16) ) - (br $while-in16) ) - ) - (br_if $while-in16 - (tee_local $3 - (i32.load offset=20 - (get_local $3) + (br_if $while-in16 + (tee_local $3 + (i32.load offset=20 + (get_local $3) + ) ) ) - ) - (set_local $3 - (get_local $1) - ) - (set_local $4 - (get_local $0) + (set_local $3 + (get_local $1) + ) + (set_local $4 + (get_local $0) + ) ) ) - ) - (if - (get_local $4) (if - (i32.lt_u - (get_local $3) - (i32.sub - (i32.load - (i32.const 184) - ) - (get_local $2) - ) - ) - (block - (if - (i32.lt_u - (get_local $4) - (tee_local $12 - (i32.load - (i32.const 192) - ) + (get_local $4) + (if + (i32.lt_u + (get_local $3) + (i32.sub + (i32.load + (i32.const 184) ) + (get_local $2) ) - (call $_abort) ) - (if - (i32.ge_u - (get_local $4) - (tee_local $6 - (i32.add - (get_local $4) - (get_local $2) + (block + (if + (i32.lt_u + (get_local $4) + (tee_local $12 + (i32.load + (i32.const 192) + ) ) ) + (call $_abort) ) - (call $_abort) - ) - (set_local $9 - (i32.load offset=24 - (get_local $4) - ) - ) - (block $do-once17 (if - (i32.eq - (tee_local $0 - (i32.load offset=12 + (i32.ge_u + (get_local $4) + (tee_local $6 + (i32.add (get_local $4) + (get_local $2) ) ) + ) + (call $_abort) + ) + (set_local $9 + (i32.load offset=24 (get_local $4) ) - (block - (if - (i32.eqz - (tee_local $1 - (i32.load - (tee_local $0 - (i32.add - (get_local $4) - (i32.const 20) - ) - ) - ) + ) + (block $do-once17 + (if + (i32.eq + (tee_local $0 + (i32.load offset=12 + (get_local $4) ) ) + (get_local $4) + ) + (block (if (i32.eqz (tee_local $1 @@ -9631,1758 +9590,1694 @@ (tee_local $0 (i32.add (get_local $4) - (i32.const 16) + (i32.const 20) ) ) ) ) ) - (block - (set_local $11 - (i32.const 0) - ) - (br $do-once17) - ) - ) - ) - (loop $while-in20 - (if - (tee_local $7 - (i32.load - (tee_local $10 - (i32.add - (get_local $1) - (i32.const 20) + (if + (i32.eqz + (tee_local $1 + (i32.load + (tee_local $0 + (i32.add + (get_local $4) + (i32.const 16) + ) + ) ) ) ) - ) - (block - (set_local $1 - (get_local $7) - ) - (set_local $0 - (get_local $10) + (block + (set_local $11 + (i32.const 0) + ) + (br $do-once17) ) - (br $while-in20) ) ) - (if - (tee_local $7 - (i32.load - (tee_local $10 - (i32.add - (get_local $1) - (i32.const 16) + (loop $while-in20 + (if + (tee_local $7 + (i32.load + (tee_local $10 + (i32.add + (get_local $1) + (i32.const 20) + ) ) ) ) + (block + (set_local $1 + (get_local $7) + ) + (set_local $0 + (get_local $10) + ) + (br $while-in20) + ) ) - (block - (set_local $1 - (get_local $7) + (if + (tee_local $7 + (i32.load + (tee_local $10 + (i32.add + (get_local $1) + (i32.const 16) + ) + ) + ) ) - (set_local $0 - (get_local $10) + (block + (set_local $1 + (get_local $7) + ) + (set_local $0 + (get_local $10) + ) + (br $while-in20) ) - (br $while-in20) ) ) - ) - (if - (i32.lt_u - (get_local $0) - (get_local $12) - ) - (call $_abort) - (block - (i32.store + (if + (i32.lt_u (get_local $0) - (i32.const 0) - ) - (set_local $11 - (get_local $1) + (get_local $12) ) - ) - ) - ) - (block - (if - (i32.lt_u - (tee_local $10 - (i32.load offset=8 - (get_local $4) + (call $_abort) + (block + (i32.store + (get_local $0) + (i32.const 0) + ) + (set_local $11 + (get_local $1) ) ) - (get_local $12) ) - (call $_abort) ) - (if - (i32.ne - (i32.load - (tee_local $7 - (i32.add - (get_local $10) - (i32.const 12) + (block + (if + (i32.lt_u + (tee_local $10 + (i32.load offset=8 + (get_local $4) ) ) + (get_local $12) ) - (get_local $4) + (call $_abort) ) - (call $_abort) - ) - (if - (i32.eq - (i32.load - (tee_local $1 - (i32.add - (get_local $0) - (i32.const 8) + (if + (i32.ne + (i32.load + (tee_local $7 + (i32.add + (get_local $10) + (i32.const 12) + ) ) ) + (get_local $4) ) - (get_local $4) + (call $_abort) ) - (block - (i32.store - (get_local $7) - (get_local $0) - ) - (i32.store - (get_local $1) - (get_local $10) + (if + (i32.eq + (i32.load + (tee_local $1 + (i32.add + (get_local $0) + (i32.const 8) + ) + ) + ) + (get_local $4) ) - (set_local $11 - (get_local $0) + (block + (i32.store + (get_local $7) + (get_local $0) + ) + (i32.store + (get_local $1) + (get_local $10) + ) + (set_local $11 + (get_local $0) + ) ) + (call $_abort) ) - (call $_abort) ) ) ) - ) - (block $do-once21 - (if - (get_local $9) - (block - (if - (i32.eq - (get_local $4) - (i32.load - (tee_local $0 - (i32.add - (i32.shl - (tee_local $1 - (i32.load offset=28 - (get_local $4) + (block $do-once21 + (if + (get_local $9) + (block + (if + (i32.eq + (get_local $4) + (i32.load + (tee_local $0 + (i32.add + (i32.shl + (tee_local $1 + (i32.load offset=28 + (get_local $4) + ) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 480) ) - (i32.const 480) ) ) ) - ) - (block - (i32.store - (get_local $0) - (get_local $11) - ) - (if - (i32.eqz + (block + (i32.store + (get_local $0) (get_local $11) ) - (block - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $1) + (if + (i32.eqz + (get_local $11) + ) + (block + (i32.store + (i32.const 180) + (i32.and + (i32.load + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $1) + ) + (i32.const -1) ) - (i32.const -1) ) ) + (br $do-once21) ) - (br $do-once21) ) ) - ) - (block - (if - (i32.lt_u - (get_local $9) - (i32.load - (i32.const 192) + (block + (if + (i32.lt_u + (get_local $9) + (i32.load + (i32.const 192) + ) ) + (call $_abort) ) - (call $_abort) - ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $9) - (i32.const 16) + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $9) + (i32.const 16) + ) ) ) + (get_local $4) + ) + (i32.store + (get_local $0) + (get_local $11) + ) + (i32.store offset=20 + (get_local $9) + (get_local $11) ) - (get_local $4) - ) - (i32.store - (get_local $0) - (get_local $11) - ) - (i32.store offset=20 - (get_local $9) - (get_local $11) ) - ) - (br_if $do-once21 - (i32.eqz - (get_local $11) + (br_if $do-once21 + (i32.eqz + (get_local $11) + ) ) ) ) - ) - (if - (i32.lt_u - (get_local $11) - (tee_local $0 - (i32.load - (i32.const 192) + (if + (i32.lt_u + (get_local $11) + (tee_local $0 + (i32.load + (i32.const 192) + ) ) ) + (call $_abort) ) - (call $_abort) - ) - (i32.store offset=24 - (get_local $11) - (get_local $9) - ) - (if - (tee_local $1 - (i32.load offset=16 - (get_local $4) - ) + (i32.store offset=24 + (get_local $11) + (get_local $9) ) (if - (i32.lt_u - (get_local $1) - (get_local $0) + (tee_local $1 + (i32.load offset=16 + (get_local $4) + ) ) - (call $_abort) - (block - (i32.store offset=16 - (get_local $11) + (if + (i32.lt_u (get_local $1) + (get_local $0) ) - (i32.store offset=24 - (get_local $1) - (get_local $11) + (call $_abort) + (block + (i32.store offset=16 + (get_local $11) + (get_local $1) + ) + (i32.store offset=24 + (get_local $1) + (get_local $11) + ) ) ) ) - ) - (if - (tee_local $0 - (i32.load offset=20 - (get_local $4) - ) - ) (if - (i32.lt_u - (get_local $0) - (i32.load - (i32.const 192) + (tee_local $0 + (i32.load offset=20 + (get_local $4) ) ) - (call $_abort) - (block - (i32.store offset=20 - (get_local $11) + (if + (i32.lt_u (get_local $0) + (i32.load + (i32.const 192) + ) ) - (i32.store offset=24 - (get_local $0) - (get_local $11) + (call $_abort) + (block + (i32.store offset=20 + (get_local $11) + (get_local $0) + ) + (i32.store offset=24 + (get_local $0) + (get_local $11) + ) ) ) ) ) ) ) - ) - (block $do-once25 - (if - (i32.lt_u - (get_local $3) - (i32.const 16) - ) - (block - (i32.store offset=4 - (get_local $4) - (i32.or - (tee_local $0 - (i32.add - (get_local $3) - (get_local $2) + (block $do-once25 + (if + (i32.lt_u + (get_local $3) + (i32.const 16) + ) + (block + (i32.store offset=4 + (get_local $4) + (i32.or + (tee_local $0 + (i32.add + (get_local $3) + (get_local $2) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $0 - (i32.add + (i32.store + (tee_local $0 (i32.add - (get_local $4) - (get_local $0) + (i32.add + (get_local $4) + (get_local $0) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $0) + (i32.or + (i32.load + (get_local $0) + ) + (i32.const 1) ) - (i32.const 1) - ) - ) - ) - (block - (i32.store offset=4 - (get_local $4) - (i32.or - (get_local $2) - (i32.const 3) ) ) - (i32.store offset=4 - (get_local $6) - (i32.or - (get_local $3) - (i32.const 1) + (block + (i32.store offset=4 + (get_local $4) + (i32.or + (get_local $2) + (i32.const 3) + ) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $6) - (get_local $3) + (i32.or + (get_local $3) + (i32.const 1) + ) ) - (get_local $3) - ) - (set_local $0 - (i32.shr_u + (i32.store + (i32.add + (get_local $6) + (get_local $3) + ) (get_local $3) - (i32.const 3) ) - ) - (if - (i32.lt_u - (get_local $3) - (i32.const 256) + (set_local $0 + (i32.shr_u + (get_local $3) + (i32.const 3) + ) ) - (block - (set_local $3 - (i32.add - (i32.shl - (get_local $0) - (i32.const 3) - ) - (i32.const 216) - ) + (if + (i32.lt_u + (get_local $3) + (i32.const 256) ) - (if - (i32.and - (tee_local $1 - (i32.load - (i32.const 176) - ) - ) - (tee_local $0 + (block + (set_local $3 + (i32.add (i32.shl - (i32.const 1) (get_local $0) + (i32.const 3) ) + (i32.const 216) ) ) (if - (i32.lt_u - (tee_local $0 + (i32.and + (tee_local $1 (i32.load - (tee_local $1 - (i32.add - (get_local $3) - (i32.const 8) + (i32.const 176) + ) + ) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $0) + ) + ) + ) + (if + (i32.lt_u + (tee_local $0 + (i32.load + (tee_local $1 + (i32.add + (get_local $3) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 192) + ) ) - (i32.load - (i32.const 192) + (call $_abort) + (block + (set_local $13 + (get_local $1) + ) + (set_local $5 + (get_local $0) + ) ) ) - (call $_abort) (block + (i32.store + (i32.const 176) + (i32.or + (get_local $1) + (get_local $0) + ) + ) (set_local $13 - (get_local $1) + (i32.add + (get_local $3) + (i32.const 8) + ) ) (set_local $5 - (get_local $0) - ) - ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (get_local $1) - (get_local $0) - ) - ) - (set_local $13 - (i32.add (get_local $3) - (i32.const 8) ) ) - (set_local $5 - (get_local $3) - ) ) + (i32.store + (get_local $13) + (get_local $6) + ) + (i32.store offset=12 + (get_local $5) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $5) + ) + (i32.store offset=12 + (get_local $6) + (get_local $3) + ) + (br $do-once25) ) - (i32.store - (get_local $13) - (get_local $6) - ) - (i32.store offset=12 - (get_local $5) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $5) - ) - (i32.store offset=12 - (get_local $6) - (get_local $3) - ) - (br $do-once25) ) - ) - (set_local $2 - (i32.add - (i32.shl - (tee_local $7 - (if (result i32) - (tee_local $0 - (i32.shr_u - (get_local $3) - (i32.const 8) - ) - ) + (set_local $2 + (i32.add + (i32.shl + (tee_local $7 (if (result i32) - (i32.gt_u - (get_local $3) - (i32.const 16777215) + (tee_local $0 + (i32.shr_u + (get_local $3) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $3) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $3) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $3) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (i32.or + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $0) + (tee_local $2 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $2) ) - (get_local $2) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $1) + (get_local $0) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $1) + (get_local $0) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 480) ) - (i32.const 480) ) - ) - (i32.store offset=28 - (get_local $6) - (get_local $7) - ) - (i32.store offset=4 - (tee_local $0 - (i32.add - (get_local $6) - (i32.const 16) + (i32.store offset=28 + (get_local $6) + (get_local $7) + ) + (i32.store offset=4 + (tee_local $0 + (i32.add + (get_local $6) + (i32.const 16) + ) ) + (i32.const 0) ) - (i32.const 0) - ) - (i32.store - (get_local $0) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $1 - (i32.load - (i32.const 180) + (i32.store + (get_local $0) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (tee_local $1 + (i32.load + (i32.const 180) + ) ) - ) - (tee_local $0 - (i32.shl - (i32.const 1) - (get_local $7) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $7) + ) ) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (get_local $1) - (get_local $0) + (block + (i32.store + (i32.const 180) + (i32.or + (get_local $1) + (get_local $0) + ) ) + (i32.store + (get_local $2) + (get_local $6) + ) + (i32.store offset=24 + (get_local $6) + (get_local $2) + ) + (i32.store offset=12 + (get_local $6) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $6) + ) + (br $do-once25) ) - (i32.store - (get_local $2) - (get_local $6) - ) - (i32.store offset=24 - (get_local $6) - (get_local $2) - ) - (i32.store offset=12 - (get_local $6) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $6) - ) - (br $do-once25) ) - ) - (set_local $7 - (i32.shl - (get_local $3) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u + (set_local $7 + (i32.shl + (get_local $3) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $7) + (i32.const 1) + ) + ) + (i32.eq (get_local $7) - (i32.const 1) + (i32.const 31) ) ) - (i32.eq - (get_local $7) - (i32.const 31) - ) ) ) - ) - (set_local $0 - (i32.load - (get_local $2) + (set_local $0 + (i32.load + (get_local $2) + ) ) - ) - (block $__rjto$1 - (block $__rjti$1 - (loop $while-in28 - (br_if $__rjti$1 - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $0) + (block $__rjto$1 + (block $__rjti$1 + (loop $while-in28 + (br_if $__rjti$1 + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $0) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $3) ) - (get_local $3) ) - ) - (set_local $2 - (i32.shl - (get_local $7) - (i32.const 1) + (set_local $2 + (i32.shl + (get_local $7) + (i32.const 1) + ) ) - ) - (if - (tee_local $1 - (i32.load - (tee_local $7 - (i32.add + (if + (tee_local $1 + (i32.load + (tee_local $7 (i32.add - (get_local $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $7) - (i32.const 31) + (i32.add + (get_local $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $7) + (i32.const 31) + ) + (i32.const 2) ) - (i32.const 2) ) ) ) ) + (block + (set_local $7 + (get_local $2) + ) + (set_local $0 + (get_local $1) + ) + (br $while-in28) + ) ) + ) + (if + (i32.lt_u + (get_local $7) + (i32.load + (i32.const 192) + ) + ) + (call $_abort) (block - (set_local $7 - (get_local $2) + (i32.store + (get_local $7) + (get_local $6) ) - (set_local $0 - (get_local $1) + (i32.store offset=24 + (get_local $6) + (get_local $0) ) - (br $while-in28) + (i32.store offset=12 + (get_local $6) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $6) + ) + (br $do-once25) ) ) + (br $__rjto$1) ) (if - (i32.lt_u - (get_local $7) - (i32.load - (i32.const 192) + (i32.and + (i32.ge_u + (tee_local $2 + (i32.load + (tee_local $3 + (i32.add + (get_local $0) + (i32.const 8) + ) + ) + ) + ) + (tee_local $1 + (i32.load + (i32.const 192) + ) + ) + ) + (i32.ge_u + (get_local $0) + (get_local $1) ) ) - (call $_abort) (block + (i32.store offset=12 + (get_local $2) + (get_local $6) + ) (i32.store - (get_local $7) + (get_local $3) (get_local $6) ) - (i32.store offset=24 + (i32.store offset=8 (get_local $6) - (get_local $0) + (get_local $2) ) (i32.store offset=12 (get_local $6) - (get_local $6) + (get_local $0) ) - (i32.store offset=8 - (get_local $6) + (i32.store offset=24 (get_local $6) + (i32.const 0) ) - (br $do-once25) - ) - ) - (br $__rjto$1) - ) - (if - (i32.and - (i32.ge_u - (tee_local $2 - (i32.load - (tee_local $3 - (i32.add - (get_local $0) - (i32.const 8) - ) - ) - ) - ) - (tee_local $1 - (i32.load - (i32.const 192) - ) - ) - ) - (i32.ge_u - (get_local $0) - (get_local $1) - ) - ) - (block - (i32.store offset=12 - (get_local $2) - (get_local $6) - ) - (i32.store - (get_local $3) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $2) - ) - (i32.store offset=12 - (get_local $6) - (get_local $0) - ) - (i32.store offset=24 - (get_local $6) - (i32.const 0) ) + (call $_abort) ) - (call $_abort) ) ) ) ) - ) - (return - (i32.add - (get_local $4) - (i32.const 8) + (return + (i32.add + (get_local $4) + (i32.const 8) + ) ) ) + (set_local $0 + (get_local $2) + ) ) (set_local $0 (get_local $2) ) ) - (set_local $0 - (get_local $2) - ) ) - ) - (set_local $0 - (get_local $2) + (set_local $0 + (get_local $2) + ) ) ) ) ) ) - ) - (if - (i32.ge_u - (tee_local $1 - (i32.load - (i32.const 184) - ) - ) - (get_local $0) - ) - (block - (set_local $2 - (i32.load - (i32.const 196) + (if + (i32.ge_u + (tee_local $1 + (i32.load + (i32.const 184) + ) ) + (get_local $0) ) - (if - (i32.gt_u - (tee_local $3 - (i32.sub - (get_local $1) - (get_local $0) - ) + (block + (set_local $2 + (i32.load + (i32.const 196) ) - (i32.const 15) ) - (block - (i32.store - (i32.const 196) - (tee_local $1 - (i32.add - (get_local $2) + (if + (i32.gt_u + (tee_local $3 + (i32.sub + (get_local $1) (get_local $0) ) ) + (i32.const 15) ) - (i32.store - (i32.const 184) - (get_local $3) - ) - (i32.store offset=4 - (get_local $1) - (i32.or + (block + (i32.store + (i32.const 196) + (tee_local $1 + (i32.add + (get_local $2) + (get_local $0) + ) + ) + ) + (i32.store + (i32.const 184) (get_local $3) - (i32.const 1) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $1) + (i32.or + (get_local $3) + (i32.const 1) + ) + ) + (i32.store + (i32.add + (get_local $1) + (get_local $3) + ) (get_local $3) ) - (get_local $3) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $0) - (i32.const 3) + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $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 - (get_local $2) - (i32.or - (get_local $1) - (i32.const 3) + (block + (i32.store + (i32.const 184) + (i32.const 0) ) - ) - (i32.store - (tee_local $0 - (i32.add + (i32.store + (i32.const 196) + (i32.const 0) + ) + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $1) + (i32.const 3) + ) + ) + (i32.store + (tee_local $0 (i32.add - (get_local $2) - (get_local $1) + (i32.add + (get_local $2) + (get_local $1) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $0) + (i32.or + (i32.load + (get_local $0) + ) + (i32.const 1) ) - (i32.const 1) ) ) ) - ) - (return - (i32.add - (get_local $2) - (i32.const 8) + (return + (i32.add + (get_local $2) + (i32.const 8) + ) ) ) ) - ) - (if - (i32.gt_u - (tee_local $1 - (i32.load - (i32.const 188) + (br_if $folding-inner0 + (i32.gt_u + (tee_local $1 + (i32.load + (i32.const 188) + ) ) + (get_local $0) ) - (get_local $0) ) - (block - (i32.store - (i32.const 188) - (tee_local $3 - (i32.sub - (get_local $1) - (get_local $0) - ) + (if + (i32.eqz + (i32.load + (i32.const 648) ) ) - (i32.store - (i32.const 200) - (tee_local $1 + (if + (i32.and (i32.add - (tee_local $2 - (i32.load - (i32.const 200) + (tee_local $1 + (call $_sysconf + (i32.const 30) ) ) - (get_local $0) - ) - ) - ) - (i32.store offset=4 - (get_local $1) - (i32.or - (get_local $3) - (i32.const 1) - ) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $0) - (i32.const 3) - ) - ) - (return - (i32.add - (get_local $2) - (i32.const 8) - ) - ) - ) - ) - (if - (i32.eqz - (i32.load - (i32.const 648) - ) - ) - (if - (i32.and - (i32.add - (tee_local $1 - (call $_sysconf - (i32.const 30) - ) + (i32.const -1) ) - (i32.const -1) - ) - (get_local $1) - ) - (call $_abort) - (block - (i32.store - (i32.const 656) (get_local $1) ) - (i32.store - (i32.const 652) - (get_local $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) + (call $_abort) + (block + (i32.store + (i32.const 656) + (get_local $1) + ) + (i32.store + (i32.const 652) + (get_local $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 -16) + (i32.const 1431655768) ) - (i32.const 1431655768) ) ) ) ) - ) - (if - (i32.le_u - (tee_local $5 - (i32.and - (tee_local $6 - (i32.add - (tee_local $1 - (i32.load - (i32.const 656) + (if + (i32.le_u + (tee_local $5 + (i32.and + (tee_local $6 + (i32.add + (tee_local $1 + (i32.load + (i32.const 656) + ) ) - ) - (tee_local $8 - (i32.add - (get_local $0) - (i32.const 47) + (tee_local $8 + (i32.add + (get_local $0) + (i32.const 47) + ) ) ) ) - ) - (tee_local $9 - (i32.sub - (i32.const 0) - (get_local $1) + (tee_local $9 + (i32.sub + (i32.const 0) + (get_local $1) + ) ) ) ) + (get_local $0) ) - (get_local $0) - ) - (return - (i32.const 0) - ) - ) - (if - (tee_local $2 - (i32.load - (i32.const 616) + (return + (i32.const 0) ) ) (if - (i32.or - (i32.le_u - (tee_local $1 - (i32.add - (tee_local $3 - (i32.load - (i32.const 608) + (tee_local $2 + (i32.load + (i32.const 616) + ) + ) + (if + (i32.or + (i32.le_u + (tee_local $1 + (i32.add + (tee_local $3 + (i32.load + (i32.const 608) + ) ) + (get_local $5) ) - (get_local $5) ) + (get_local $3) + ) + (i32.gt_u + (get_local $1) + (get_local $2) ) - (get_local $3) ) - (i32.gt_u - (get_local $1) - (get_local $2) + (return + (i32.const 0) ) ) - (return - (i32.const 0) - ) ) - ) - (set_local $11 - (i32.add - (get_local $0) - (i32.const 48) + (set_local $11 + (i32.add + (get_local $0) + (i32.const 48) + ) ) - ) - (block $__rjto$13 - (block $__rjti$13 - (if - (i32.eqz - (i32.and - (i32.load - (i32.const 620) + (block $__rjto$13 + (block $__rjti$13 + (if + (i32.eqz + (i32.and + (i32.load + (i32.const 620) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (block - (block $label$break$L279 - (block $__rjti$5 - (block $__rjti$4 - (br_if $__rjti$4 - (i32.eqz - (tee_local $4 - (i32.load - (i32.const 200) + (block + (block $label$break$L279 + (block $__rjti$5 + (block $__rjti$4 + (br_if $__rjti$4 + (i32.eqz + (tee_local $4 + (i32.load + (i32.const 200) + ) ) ) ) - ) - (set_local $1 - (i32.const 624) - ) - (loop $while-in34 - (block $while-out33 - (if - (i32.le_u - (tee_local $3 - (i32.load - (get_local $1) - ) - ) - (get_local $4) - ) + (set_local $1 + (i32.const 624) + ) + (loop $while-in34 + (block $while-out33 (if - (i32.gt_u - (i32.add - (get_local $3) + (i32.le_u + (tee_local $3 (i32.load - (tee_local $2 - (i32.add - (get_local $1) - (i32.const 4) + (get_local $1) + ) + ) + (get_local $4) + ) + (if + (i32.gt_u + (i32.add + (get_local $3) + (i32.load + (tee_local $2 + (i32.add + (get_local $1) + (i32.const 4) + ) ) ) ) + (get_local $4) + ) + (block + (set_local $4 + (get_local $1) + ) + (br $while-out33) ) - (get_local $4) ) - (block - (set_local $4 + ) + (br_if $while-in34 + (tee_local $1 + (i32.load offset=8 (get_local $1) ) - (br $while-out33) ) ) + (br $__rjti$4) ) - (br_if $while-in34 - (tee_local $1 - (i32.load offset=8 - (get_local $1) + ) + (if + (i32.lt_u + (tee_local $3 + (i32.and + (i32.sub + (get_local $6) + (i32.load + (i32.const 188) + ) + ) + (get_local $9) ) ) + (i32.const 2147483647) ) - (br $__rjti$4) - ) - ) - (if - (i32.lt_u - (tee_local $3 - (i32.and - (i32.sub - (get_local $6) + (if + (i32.eq + (tee_local $1 + (call $_sbrk + (get_local $3) + ) + ) + (i32.add (i32.load - (i32.const 188) + (get_local $4) + ) + (i32.load + (get_local $2) ) ) - (get_local $9) ) - ) - (i32.const 2147483647) - ) - (if - (i32.eq - (tee_local $1 - (call $_sbrk - (get_local $3) + (br_if $__rjti$13 + (i32.ne + (get_local $1) + (i32.const -1) ) ) - (i32.add - (i32.load - (get_local $4) - ) - (i32.load - (get_local $2) + (block + (set_local $2 + (get_local $1) ) + (br $__rjti$5) ) ) - (br_if $__rjti$13 - (i32.ne - (get_local $1) - (i32.const -1) - ) - ) - (block - (set_local $2 - (get_local $1) - ) - (set_local $1 - (get_local $3) - ) - (br $__rjti$5) - ) ) + (br $label$break$L279) ) - (br $label$break$L279) - ) - (if - (i32.ne - (tee_local $1 - (call $_sbrk - (i32.const 0) + (if + (i32.ne + (tee_local $1 + (call $_sbrk + (i32.const 0) + ) ) + (i32.const -1) ) - (i32.const -1) - ) - (block - (set_local $3 - (if (result i32) - (i32.and - (tee_local $2 - (i32.add - (tee_local $4 - (i32.load - (i32.const 652) + (block + (set_local $3 + (if (result i32) + (i32.and + (tee_local $2 + (i32.add + (tee_local $4 + (i32.load + (i32.const 652) + ) ) + (i32.const -1) ) - (i32.const -1) + ) + (tee_local $3 + (get_local $1) ) ) - (tee_local $3 - (get_local $1) - ) - ) - (i32.add - (i32.sub - (get_local $5) - (get_local $3) - ) - (i32.and - (i32.add - (get_local $2) + (i32.add + (i32.sub + (get_local $5) (get_local $3) ) - (i32.sub - (i32.const 0) - (get_local $4) + (i32.and + (i32.add + (get_local $2) + (get_local $3) + ) + (i32.sub + (i32.const 0) + (get_local $4) + ) ) ) + (get_local $5) ) - (get_local $5) ) - ) - (set_local $9 - (i32.add - (tee_local $4 - (i32.load - (i32.const 608) + (set_local $9 + (i32.add + (tee_local $4 + (i32.load + (i32.const 608) + ) ) - ) - (get_local $3) - ) - ) - (if - (i32.and - (i32.gt_u - (get_local $3) - (get_local $0) - ) - (i32.lt_u (get_local $3) - (i32.const 2147483647) ) ) - (block - (if - (tee_local $2 - (i32.load - (i32.const 616) - ) + (if + (i32.and + (i32.gt_u + (get_local $3) + (get_local $0) ) - (br_if $label$break$L279 - (i32.or - (i32.le_u - (get_local $9) - (get_local $4) + (i32.lt_u + (get_local $3) + (i32.const 2147483647) + ) + ) + (block + (if + (tee_local $2 + (i32.load + (i32.const 616) ) - (i32.gt_u - (get_local $9) - (get_local $2) + ) + (br_if $label$break$L279 + (i32.or + (i32.le_u + (get_local $9) + (get_local $4) + ) + (i32.gt_u + (get_local $9) + (get_local $2) + ) ) ) ) - ) - (br_if $__rjti$13 - (i32.eq - (tee_local $2 - (call $_sbrk - (get_local $3) + (br_if $__rjti$13 + (i32.eq + (tee_local $2 + (call $_sbrk + (get_local $3) + ) ) + (get_local $1) ) - (get_local $1) ) + (br $__rjti$5) ) - (set_local $1 - (get_local $3) - ) - (br $__rjti$5) ) ) ) + (br $label$break$L279) ) - (br $label$break$L279) - ) - (set_local $4 - (i32.sub - (i32.const 0) - (get_local $1) + (set_local $1 + (get_local $3) ) - ) - (if - (i32.and - (i32.gt_u - (get_local $11) + (set_local $4 + (i32.sub + (i32.const 0) (get_local $1) ) + ) + (if (i32.and - (i32.lt_u + (i32.gt_u + (get_local $11) (get_local $1) - (i32.const 2147483647) ) - (i32.ne - (get_local $2) - (i32.const -1) + (i32.and + (i32.lt_u + (get_local $1) + (i32.const 2147483647) + ) + (i32.ne + (get_local $2) + (i32.const -1) + ) ) ) - ) - (if - (i32.lt_u - (tee_local $3 - (i32.and - (i32.add - (i32.sub - (get_local $8) - (get_local $1) - ) - (tee_local $3 - (i32.load - (i32.const 656) + (if + (i32.lt_u + (tee_local $3 + (i32.and + (i32.add + (i32.sub + (get_local $8) + (get_local $1) ) + (tee_local $3 + (i32.load + (i32.const 656) + ) + ) + ) + (i32.sub + (i32.const 0) + (get_local $3) ) ) - (i32.sub - (i32.const 0) + ) + (i32.const 2147483647) + ) + (if + (i32.eq + (call $_sbrk (get_local $3) ) + (i32.const -1) ) - ) - (i32.const 2147483647) - ) - (if - (i32.eq - (call $_sbrk - (get_local $3) + (block + (drop + (call $_sbrk + (get_local $4) + ) + ) + (br $label$break$L279) ) - (i32.const -1) - ) - (block - (drop - (call $_sbrk - (get_local $4) + (set_local $3 + (i32.add + (get_local $3) + (get_local $1) ) ) - (br $label$break$L279) ) (set_local $3 - (i32.add - (get_local $3) - (get_local $1) - ) + (get_local $1) ) ) (set_local $3 (get_local $1) ) ) - (set_local $3 - (get_local $1) - ) - ) - (if - (i32.ne - (get_local $2) - (i32.const -1) - ) - (block - (set_local $1 + (if + (i32.ne (get_local $2) + (i32.const -1) + ) + (block + (set_local $1 + (get_local $2) + ) + (br $__rjti$13) ) - (br $__rjti$13) ) ) - ) - (i32.store - (i32.const 620) - (i32.or - (i32.load - (i32.const 620) + (i32.store + (i32.const 620) + (i32.or + (i32.load + (i32.const 620) + ) + (i32.const 4) ) - (i32.const 4) ) ) ) - ) - (if - (i32.lt_u - (get_local $5) - (i32.const 2147483647) - ) (if - (i32.and - (i32.lt_u - (tee_local $1 - (call $_sbrk - (get_local $5) + (i32.lt_u + (get_local $5) + (i32.const 2147483647) + ) + (if + (i32.and + (i32.lt_u + (tee_local $1 + (call $_sbrk + (get_local $5) + ) ) - ) - (tee_local $3 - (call $_sbrk - (i32.const 0) + (tee_local $3 + (call $_sbrk + (i32.const 0) + ) ) ) - ) - (i32.and - (i32.ne - (get_local $1) - (i32.const -1) - ) - (i32.ne - (get_local $3) - (i32.const -1) - ) - ) - ) - (br_if $__rjti$13 - (i32.gt_u - (tee_local $3 - (i32.sub - (get_local $3) + (i32.and + (i32.ne (get_local $1) + (i32.const -1) + ) + (i32.ne + (get_local $3) + (i32.const -1) ) ) - (i32.add - (get_local $0) - (i32.const 40) + ) + (br_if $__rjti$13 + (i32.gt_u + (tee_local $3 + (i32.sub + (get_local $3) + (get_local $1) + ) + ) + (i32.add + (get_local $0) + (i32.const 40) + ) ) ) ) ) + (br $__rjto$13) ) - (br $__rjto$13) - ) - (i32.store - (i32.const 608) - (tee_local $2 - (i32.add - (i32.load - (i32.const 608) + (i32.store + (i32.const 608) + (tee_local $2 + (i32.add + (i32.load + (i32.const 608) + ) + (get_local $3) ) - (get_local $3) - ) - ) - ) - (if - (i32.gt_u - (get_local $2) - (i32.load - (i32.const 612) ) ) - (i32.store - (i32.const 612) - (get_local $2) - ) - ) - (block $do-once40 (if - (tee_local $6 + (i32.gt_u + (get_local $2) (i32.load - (i32.const 200) + (i32.const 612) ) ) - (block - (set_local $2 - (i32.const 624) + (i32.store + (i32.const 612) + (get_local $2) + ) + ) + (block $do-once40 + (if + (tee_local $6 + (i32.load + (i32.const 200) + ) ) - (block $__rjto$10 - (block $__rjti$10 - (loop $while-in45 - (br_if $__rjti$10 - (i32.eq - (get_local $1) - (i32.add - (tee_local $11 - (i32.load - (get_local $2) + (block + (set_local $2 + (i32.const 624) + ) + (block $__rjto$10 + (block $__rjti$10 + (loop $while-in45 + (br_if $__rjti$10 + (i32.eq + (get_local $1) + (i32.add + (tee_local $11 + (i32.load + (get_local $2) + ) ) - ) - (tee_local $5 - (i32.load - (tee_local $4 - (i32.add - (get_local $2) - (i32.const 4) + (tee_local $5 + (i32.load + (tee_local $4 + (i32.add + (get_local $2) + (i32.const 4) + ) ) ) ) ) ) ) - ) - (br_if $while-in45 - (tee_local $2 - (i32.load offset=8 - (get_local $2) + (br_if $while-in45 + (tee_local $2 + (i32.load offset=8 + (get_local $2) + ) ) ) ) - ) - (br $__rjto$10) - ) - (if - (i32.eqz - (i32.and - (i32.load offset=12 - (get_local $2) - ) - (i32.const 8) - ) + (br $__rjto$10) ) (if - (i32.and - (i32.lt_u - (get_local $6) - (get_local $1) - ) - (i32.ge_u - (get_local $6) - (get_local $11) + (i32.eqz + (i32.and + (i32.load offset=12 + (get_local $2) + ) + (i32.const 8) ) ) - (block - (i32.store - (get_local $4) - (i32.add - (get_local $5) - (get_local $3) + (if + (i32.and + (i32.lt_u + (get_local $6) + (get_local $1) ) - ) - (set_local $2 - (i32.add + (i32.ge_u (get_local $6) - (tee_local $1 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $1 - (i32.add - (get_local $6) - (i32.const 8) + (get_local $11) + ) + ) + (block + (i32.store + (get_local $4) + (i32.add + (get_local $5) + (get_local $3) + ) + ) + (set_local $2 + (i32.add + (get_local $6) + (tee_local $1 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.add + (get_local $6) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $1) - (i32.const 7) ) ) ) ) - ) - (set_local $1 - (i32.add - (i32.sub - (get_local $3) - (get_local $1) - ) - (i32.load - (i32.const 188) + (set_local $1 + (i32.add + (i32.sub + (get_local $3) + (get_local $1) + ) + (i32.load + (i32.const 188) + ) ) ) - ) - (i32.store - (i32.const 200) - (get_local $2) - ) - (i32.store - (i32.const 188) - (get_local $1) - ) - (i32.store offset=4 - (get_local $2) - (i32.or + (i32.store + (i32.const 200) + (get_local $2) + ) + (i32.store + (i32.const 188) (get_local $1) - (i32.const 1) ) - ) - (i32.store offset=4 - (i32.add + (i32.store offset=4 (get_local $2) - (get_local $1) + (i32.or + (get_local $1) + (i32.const 1) + ) ) - (i32.const 40) - ) - (i32.store - (i32.const 204) - (i32.load - (i32.const 664) + (i32.store offset=4 + (i32.add + (get_local $2) + (get_local $1) + ) + (i32.const 40) ) + (i32.store + (i32.const 204) + (i32.load + (i32.const 664) + ) + ) + (br $do-once40) ) - (br $do-once40) ) ) ) - ) - (if - (i32.lt_u - (get_local $1) - (tee_local $4 - (i32.load + (if + (i32.lt_u + (get_local $1) + (tee_local $4 + (i32.load + (i32.const 192) + ) + ) + ) + (block + (i32.store (i32.const 192) + (get_local $1) + ) + (set_local $4 + (get_local $1) ) ) ) - (block - (i32.store - (i32.const 192) - (get_local $1) - ) - (set_local $4 + (set_local $11 + (i32.add (get_local $1) + (get_local $3) ) ) - ) - (set_local $11 - (i32.add - (get_local $1) - (get_local $3) + (set_local $2 + (i32.const 624) ) - ) - (set_local $2 - (i32.const 624) - ) - (block $__rjto$11 - (block $__rjti$11 - (loop $while-in47 - (if - (i32.eq - (i32.load - (get_local $2) + (block $__rjto$11 + (block $__rjti$11 + (loop $while-in47 + (if + (i32.eq + (i32.load + (get_local $2) + ) + (get_local $11) + ) + (block + (set_local $5 + (get_local $2) + ) + (br $__rjti$11) ) - (get_local $11) ) - (block - (set_local $5 - (get_local $2) + (br_if $while-in47 + (tee_local $2 + (i32.load offset=8 + (get_local $2) + ) ) - (br $__rjti$11) + ) + (set_local $4 + (i32.const 624) ) ) - (br_if $while-in47 - (tee_local $2 - (i32.load offset=8 - (get_local $2) - ) + (br $__rjto$11) + ) + (if + (i32.and + (i32.load offset=12 + (get_local $2) ) + (i32.const 8) ) (set_local $4 (i32.const 624) ) - ) - (br $__rjto$11) - ) - (if - (i32.and - (i32.load offset=12 - (get_local $2) - ) - (i32.const 8) - ) - (set_local $4 - (i32.const 624) - ) - (block - (i32.store - (get_local $5) - (get_local $1) - ) - (i32.store - (tee_local $2 - (i32.add - (get_local $2) - (i32.const 4) - ) - ) - (i32.add - (i32.load - (get_local $2) - ) - (get_local $3) + (block + (i32.store + (get_local $5) + (get_local $1) ) - ) - (set_local $8 - (i32.add - (tee_local $9 + (i32.store + (tee_local $2 (i32.add - (get_local $1) - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $1 - (i32.add - (get_local $1) - (i32.const 8) - ) - ) - ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $1) - (i32.const 7) - ) - ) + (get_local $2) + (i32.const 4) ) ) - (get_local $0) + (i32.add + (i32.load + (get_local $2) + ) + (get_local $3) + ) ) - ) - (set_local $7 - (i32.sub - (i32.sub - (tee_local $5 + (set_local $8 + (i32.add + (tee_local $9 (i32.add - (get_local $11) + (get_local $1) (select (i32.and (i32.sub (i32.const 0) (tee_local $1 (i32.add - (get_local $11) + (get_local $1) (i32.const 8) ) ) @@ -11397,1919 +11292,1948 @@ ) ) ) - (get_local $9) + (get_local $0) ) - (get_local $0) - ) - ) - (i32.store offset=4 - (get_local $9) - (i32.or - (get_local $0) - (i32.const 3) ) - ) - (block $do-once48 - (if - (i32.eq - (get_local $5) - (get_local $6) - ) - (block - (i32.store - (i32.const 188) - (tee_local $0 + (set_local $7 + (i32.sub + (i32.sub + (tee_local $5 (i32.add - (i32.load - (i32.const 188) + (get_local $11) + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.add + (get_local $11) + (i32.const 8) + ) + ) + ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) + ) ) - (get_local $7) ) ) + (get_local $9) ) - (i32.store - (i32.const 200) - (get_local $8) + (get_local $0) + ) + ) + (i32.store offset=4 + (get_local $9) + (i32.or + (get_local $0) + (i32.const 3) + ) + ) + (block $do-once48 + (if + (i32.eq + (get_local $5) + (get_local $6) ) - (i32.store offset=4 - (get_local $8) - (i32.or - (get_local $0) - (i32.const 1) + (block + (i32.store + (i32.const 188) + (tee_local $0 + (i32.add + (i32.load + (i32.const 188) + ) + (get_local $7) + ) + ) ) - ) - ) - (block - (if - (i32.eq - (get_local $5) - (i32.load - (i32.const 196) + (i32.store + (i32.const 200) + (get_local $8) + ) + (i32.store offset=4 + (get_local $8) + (i32.or + (get_local $0) + (i32.const 1) ) ) - (block - (i32.store - (i32.const 184) - (tee_local $0 - (i32.add - (i32.load - (i32.const 184) + ) + (block + (if + (i32.eq + (get_local $5) + (i32.load + (i32.const 196) + ) + ) + (block + (i32.store + (i32.const 184) + (tee_local $0 + (i32.add + (i32.load + (i32.const 184) + ) + (get_local $7) ) - (get_local $7) ) ) - ) - (i32.store - (i32.const 196) - (get_local $8) - ) - (i32.store offset=4 - (get_local $8) - (i32.or - (get_local $0) - (i32.const 1) + (i32.store + (i32.const 196) + (get_local $8) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $8) + (i32.or + (get_local $0) + (i32.const 1) + ) + ) + (i32.store + (i32.add + (get_local $8) + (get_local $0) + ) (get_local $0) ) - (get_local $0) + (br $do-once48) ) - (br $do-once48) ) - ) - (i32.store - (tee_local $0 - (i32.add - (tee_local $0 - (if (result i32) - (i32.eq - (i32.and - (tee_local $0 - (i32.load offset=4 - (get_local $5) - ) - ) - (i32.const 3) - ) - (i32.const 1) - ) - (block (result i32) - (set_local $11 + (i32.store + (tee_local $0 + (i32.add + (tee_local $0 + (if (result i32) + (i32.eq (i32.and - (get_local $0) - (i32.const -8) - ) - ) - (set_local $1 - (i32.shr_u - (get_local $0) + (tee_local $0 + (i32.load offset=4 + (get_local $5) + ) + ) (i32.const 3) ) + (i32.const 1) ) - (block $label$break$L331 - (if - (i32.lt_u + (block (result i32) + (set_local $11 + (i32.and (get_local $0) - (i32.const 256) + (i32.const -8) ) - (block - (set_local $2 - (i32.load offset=12 - (get_local $5) - ) + ) + (set_local $1 + (i32.shr_u + (get_local $0) + (i32.const 3) + ) + ) + (block $label$break$L331 + (if + (i32.lt_u + (get_local $0) + (i32.const 256) ) - (block $do-once51 - (if - (i32.ne - (tee_local $3 - (i32.load offset=8 - (get_local $5) - ) - ) - (tee_local $0 - (i32.add - (i32.shl - (get_local $1) - (i32.const 3) + (block + (set_local $2 + (i32.load offset=12 + (get_local $5) + ) + ) + (block $do-once51 + (if + (i32.ne + (tee_local $3 + (i32.load offset=8 + (get_local $5) ) - (i32.const 216) ) - ) - ) - (block - (if - (i32.lt_u - (get_local $3) - (get_local $4) + (tee_local $0 + (i32.add + (i32.shl + (get_local $1) + (i32.const 3) + ) + (i32.const 216) + ) ) - (call $_abort) ) - (br_if $do-once51 - (i32.eq - (i32.load offset=12 + (block + (if + (i32.lt_u (get_local $3) + (get_local $4) ) - (get_local $5) + (call $_abort) ) - ) - (call $_abort) - ) - ) - ) - (if - (i32.eq - (get_local $2) - (get_local $3) - ) - (block - (i32.store - (i32.const 176) - (i32.and - (i32.load - (i32.const 176) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $1) + (br_if $do-once51 + (i32.eq + (i32.load offset=12 + (get_local $3) + ) + (get_local $5) ) - (i32.const -1) ) + (call $_abort) ) ) - (br $label$break$L331) ) - ) - (block $do-once53 (if (i32.eq (get_local $2) - (get_local $0) + (get_local $3) ) - (set_local $15 - (i32.add - (get_local $2) - (i32.const 8) + (block + (i32.store + (i32.const 176) + (i32.and + (i32.load + (i32.const 176) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $1) + ) + (i32.const -1) + ) + ) ) + (br $label$break$L331) ) - (block - (if - (i32.lt_u + ) + (block $do-once53 + (if + (i32.eq + (get_local $2) + (get_local $0) + ) + (set_local $15 + (i32.add (get_local $2) - (get_local $4) + (i32.const 8) ) - (call $_abort) ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $2) - (i32.const 8) + (block + (if + (i32.lt_u + (get_local $2) + (get_local $4) + ) + (call $_abort) + ) + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $2) + (i32.const 8) + ) ) ) + (get_local $5) ) - (get_local $5) - ) - (block - (set_local $15 - (get_local $0) + (block + (set_local $15 + (get_local $0) + ) + (br $do-once53) ) - (br $do-once53) ) + (call $_abort) ) - (call $_abort) ) ) - ) - (i32.store offset=12 - (get_local $3) - (get_local $2) - ) - (i32.store - (get_local $15) - (get_local $3) - ) - ) - (block - (set_local $6 - (i32.load offset=24 - (get_local $5) + (i32.store offset=12 + (get_local $3) + (get_local $2) + ) + (i32.store + (get_local $15) + (get_local $3) ) ) - (block $do-once55 - (if - (i32.eq - (tee_local $0 - (i32.load offset=12 - (get_local $5) - ) - ) + (block + (set_local $6 + (i32.load offset=24 (get_local $5) ) - (block - (if - (i32.eqz - (tee_local $1 - (i32.load - (tee_local $0 - (i32.add - (tee_local $3 - (i32.add - (get_local $5) - (i32.const 16) + ) + (block $do-once55 + (if + (i32.eq + (tee_local $0 + (i32.load offset=12 + (get_local $5) + ) + ) + (get_local $5) + ) + (block + (if + (i32.eqz + (tee_local $1 + (i32.load + (tee_local $0 + (i32.add + (tee_local $3 + (i32.add + (get_local $5) + (i32.const 16) + ) ) + (i32.const 4) ) - (i32.const 4) ) ) ) ) - ) - (if - (tee_local $1 - (i32.load + (if + (tee_local $1 + (i32.load + (get_local $3) + ) + ) + (set_local $0 (get_local $3) ) + (block + (set_local $12 + (i32.const 0) + ) + (br $do-once55) + ) ) - (set_local $0 - (get_local $3) + ) + (loop $while-in58 + (if + (tee_local $3 + (i32.load + (tee_local $2 + (i32.add + (get_local $1) + (i32.const 20) + ) + ) + ) + ) + (block + (set_local $1 + (get_local $3) + ) + (set_local $0 + (get_local $2) + ) + (br $while-in58) + ) + ) + (if + (tee_local $3 + (i32.load + (tee_local $2 + (i32.add + (get_local $1) + (i32.const 16) + ) + ) + ) + ) + (block + (set_local $1 + (get_local $3) + ) + (set_local $0 + (get_local $2) + ) + (br $while-in58) + ) + ) + ) + (if + (i32.lt_u + (get_local $0) + (get_local $4) ) + (call $_abort) (block - (set_local $12 + (i32.store + (get_local $0) (i32.const 0) ) - (br $do-once55) + (set_local $12 + (get_local $1) + ) ) ) ) - (loop $while-in58 + (block (if - (tee_local $3 + (i32.lt_u + (tee_local $2 + (i32.load offset=8 + (get_local $5) + ) + ) + (get_local $4) + ) + (call $_abort) + ) + (if + (i32.ne (i32.load - (tee_local $2 + (tee_local $3 (i32.add - (get_local $1) - (i32.const 20) + (get_local $2) + (i32.const 12) ) ) ) + (get_local $5) ) - (block - (set_local $1 - (get_local $3) - ) - (set_local $0 - (get_local $2) - ) - (br $while-in58) - ) + (call $_abort) ) (if - (tee_local $3 + (i32.eq (i32.load - (tee_local $2 + (tee_local $1 (i32.add - (get_local $1) - (i32.const 16) + (get_local $0) + (i32.const 8) ) ) ) + (get_local $5) ) (block - (set_local $1 + (i32.store (get_local $3) + (get_local $0) ) - (set_local $0 + (i32.store + (get_local $1) (get_local $2) ) - (br $while-in58) - ) - ) - ) - (if - (i32.lt_u - (get_local $0) - (get_local $4) - ) - (call $_abort) - (block - (i32.store - (get_local $0) - (i32.const 0) - ) - (set_local $12 - (get_local $1) + (set_local $12 + (get_local $0) + ) ) + (call $_abort) ) ) ) - (block - (if - (i32.lt_u - (tee_local $2 - (i32.load offset=8 - (get_local $5) + ) + (br_if $label$break$L331 + (i32.eqz + (get_local $6) + ) + ) + (block $do-once59 + (if + (i32.eq + (get_local $5) + (i32.load + (tee_local $0 + (i32.add + (i32.shl + (tee_local $1 + (i32.load offset=28 + (get_local $5) + ) + ) + (i32.const 2) + ) + (i32.const 480) ) ) - (get_local $4) ) - (call $_abort) ) - (if - (i32.ne - (i32.load - (tee_local $3 - (i32.add - (get_local $2) - (i32.const 12) + (block + (i32.store + (get_local $0) + (get_local $12) + ) + (br_if $do-once59 + (get_local $12) + ) + (i32.store + (i32.const 180) + (i32.and + (i32.load + (i32.const 180) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $1) ) + (i32.const -1) ) ) - (get_local $5) ) - (call $_abort) + (br $label$break$L331) ) - (if - (i32.eq - (i32.load - (tee_local $1 - (i32.add - (get_local $0) - (i32.const 8) - ) + (block + (if + (i32.lt_u + (get_local $6) + (i32.load + (i32.const 192) ) ) - (get_local $5) + (call $_abort) ) - (block + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $6) + (i32.const 16) + ) + ) + ) + (get_local $5) + ) (i32.store - (get_local $3) (get_local $0) + (get_local $12) ) - (i32.store - (get_local $1) - (get_local $2) + (i32.store offset=20 + (get_local $6) + (get_local $12) ) - (set_local $12 - (get_local $0) + ) + (br_if $label$break$L331 + (i32.eqz + (get_local $12) ) ) - (call $_abort) ) ) ) - ) - (br_if $label$break$L331 - (i32.eqz + (if + (i32.lt_u + (get_local $12) + (tee_local $1 + (i32.load + (i32.const 192) + ) + ) + ) + (call $_abort) + ) + (i32.store offset=24 + (get_local $12) (get_local $6) ) - ) - (block $do-once59 (if - (i32.eq - (get_local $5) + (tee_local $3 (i32.load (tee_local $0 (i32.add - (i32.shl - (tee_local $1 - (i32.load offset=28 - (get_local $5) - ) - ) - (i32.const 2) - ) - (i32.const 480) - ) - ) - ) - ) - (block - (i32.store - (get_local $0) - (get_local $12) - ) - (br_if $do-once59 - (get_local $12) - ) - (i32.store - (i32.const 180) - (i32.and - (i32.load - (i32.const 180) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $1) - ) - (i32.const -1) + (get_local $5) + (i32.const 16) ) ) ) - (br $label$break$L331) ) - (block - (if - (i32.lt_u - (get_local $6) - (i32.load - (i32.const 192) - ) - ) - (call $_abort) + (if + (i32.lt_u + (get_local $3) + (get_local $1) ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $6) - (i32.const 16) - ) - ) - ) - (get_local $5) - ) - (i32.store - (get_local $0) - (get_local $12) - ) - (i32.store offset=20 - (get_local $6) + (call $_abort) + (block + (i32.store offset=16 (get_local $12) + (get_local $3) ) - ) - (br_if $label$break$L331 - (i32.eqz + (i32.store offset=24 + (get_local $3) (get_local $12) ) ) ) ) - ) - (if - (i32.lt_u - (get_local $12) - (tee_local $1 - (i32.load - (i32.const 192) - ) - ) - ) - (call $_abort) - ) - (i32.store offset=24 - (get_local $12) - (get_local $6) - ) - (if - (tee_local $3 - (i32.load + (br_if $label$break$L331 + (i32.eqz (tee_local $0 - (i32.add - (get_local $5) - (i32.const 16) + (i32.load offset=4 + (get_local $0) ) ) ) ) (if (i32.lt_u - (get_local $3) - (get_local $1) + (get_local $0) + (i32.load + (i32.const 192) + ) ) (call $_abort) (block - (i32.store offset=16 + (i32.store offset=20 (get_local $12) - (get_local $3) + (get_local $0) ) (i32.store offset=24 - (get_local $3) - (get_local $12) - ) - ) - ) - ) - (br_if $label$break$L331 - (i32.eqz - (tee_local $0 - (i32.load offset=4 (get_local $0) + (get_local $12) ) ) ) ) - (if - (i32.lt_u - (get_local $0) - (i32.load - (i32.const 192) - ) - ) - (call $_abort) - (block - (i32.store offset=20 - (get_local $12) - (get_local $0) - ) - (i32.store offset=24 - (get_local $0) - (get_local $12) - ) - ) - ) ) ) - ) - (set_local $7 + (set_local $7 + (i32.add + (get_local $11) + (get_local $7) + ) + ) (i32.add + (get_local $5) (get_local $11) - (get_local $7) ) ) - (i32.add - (get_local $5) - (get_local $11) - ) + (get_local $5) ) - (get_local $5) ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.and - (i32.load - (get_local $0) + (i32.and + (i32.load + (get_local $0) + ) + (i32.const -2) ) - (i32.const -2) - ) - ) - (i32.store offset=4 - (get_local $8) - (i32.or - (get_local $7) - (i32.const 1) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $8) - (get_local $7) + (i32.or + (get_local $7) + (i32.const 1) + ) ) - (get_local $7) - ) - (set_local $0 - (i32.shr_u + (i32.store + (i32.add + (get_local $8) + (get_local $7) + ) (get_local $7) - (i32.const 3) ) - ) - (if - (i32.lt_u - (get_local $7) - (i32.const 256) + (set_local $0 + (i32.shr_u + (get_local $7) + (i32.const 3) + ) ) - (block - (set_local $3 - (i32.add - (i32.shl - (get_local $0) - (i32.const 3) + (if + (i32.lt_u + (get_local $7) + (i32.const 256) + ) + (block + (set_local $3 + (i32.add + (i32.shl + (get_local $0) + (i32.const 3) + ) + (i32.const 216) ) - (i32.const 216) ) - ) - (block $do-once63 - (if - (i32.and - (tee_local $1 - (i32.load - (i32.const 176) + (block $do-once63 + (if + (i32.and + (tee_local $1 + (i32.load + (i32.const 176) + ) ) - ) - (tee_local $0 - (i32.shl - (i32.const 1) - (get_local $0) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $0) + ) ) ) - ) - (block - (if - (i32.ge_u - (tee_local $0 - (i32.load - (tee_local $1 - (i32.add - (get_local $3) - (i32.const 8) + (block + (if + (i32.ge_u + (tee_local $0 + (i32.load + (tee_local $1 + (i32.add + (get_local $3) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 192) + ) ) - (i32.load - (i32.const 192) + (block + (set_local $16 + (get_local $1) + ) + (set_local $10 + (get_local $0) + ) + (br $do-once63) ) ) - (block - (set_local $16 + (call $_abort) + ) + (block + (i32.store + (i32.const 176) + (i32.or (get_local $1) - ) - (set_local $10 (get_local $0) ) - (br $do-once63) ) - ) - (call $_abort) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (get_local $1) - (get_local $0) + (set_local $16 + (i32.add + (get_local $3) + (i32.const 8) + ) ) - ) - (set_local $16 - (i32.add + (set_local $10 (get_local $3) - (i32.const 8) ) ) - (set_local $10 - (get_local $3) - ) ) ) + (i32.store + (get_local $16) + (get_local $8) + ) + (i32.store offset=12 + (get_local $10) + (get_local $8) + ) + (i32.store offset=8 + (get_local $8) + (get_local $10) + ) + (i32.store offset=12 + (get_local $8) + (get_local $3) + ) + (br $do-once48) ) - (i32.store - (get_local $16) - (get_local $8) - ) - (i32.store offset=12 - (get_local $10) - (get_local $8) - ) - (i32.store offset=8 - (get_local $8) - (get_local $10) - ) - (i32.store offset=12 - (get_local $8) - (get_local $3) - ) - (br $do-once48) ) - ) - (set_local $3 - (i32.add - (i32.shl - (tee_local $2 - (block $do-once65 (result i32) - (if (result i32) - (tee_local $0 - (i32.shr_u - (get_local $7) - (i32.const 8) + (set_local $3 + (i32.add + (i32.shl + (tee_local $2 + (block $do-once65 (result i32) + (if (result i32) + (tee_local $0 + (i32.shr_u + (get_local $7) + (i32.const 8) + ) ) - ) - (block (result i32) - (drop - (br_if $do-once65 - (i32.const 31) - (i32.gt_u - (get_local $7) - (i32.const 16777215) + (block (result i32) + (drop + (br_if $do-once65 + (i32.const 31) + (i32.gt_u + (get_local $7) + (i32.const 16777215) + ) ) ) - ) - (i32.or - (i32.and - (i32.shr_u - (get_local $7) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (i32.or + (i32.and + (i32.shr_u + (get_local $7) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $0) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (i32.or + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $0) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $3) ) - (get_local $3) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $1) - (get_local $0) + (tee_local $0 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $1) + (get_local $0) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $0) + (i32.shr_u + (i32.shl + (get_local $1) + (get_local $0) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 480) ) - (i32.const 480) ) - ) - (i32.store offset=28 - (get_local $8) - (get_local $2) - ) - (i32.store offset=4 - (tee_local $0 - (i32.add - (get_local $8) - (i32.const 16) + (i32.store offset=28 + (get_local $8) + (get_local $2) + ) + (i32.store offset=4 + (tee_local $0 + (i32.add + (get_local $8) + (i32.const 16) + ) ) + (i32.const 0) ) - (i32.const 0) - ) - (i32.store - (get_local $0) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $1 - (i32.load - (i32.const 180) + (i32.store + (get_local $0) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (tee_local $1 + (i32.load + (i32.const 180) + ) ) - ) - (tee_local $0 - (i32.shl - (i32.const 1) - (get_local $2) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $2) + ) ) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (get_local $1) - (get_local $0) + (block + (i32.store + (i32.const 180) + (i32.or + (get_local $1) + (get_local $0) + ) ) + (i32.store + (get_local $3) + (get_local $8) + ) + (i32.store offset=24 + (get_local $8) + (get_local $3) + ) + (i32.store offset=12 + (get_local $8) + (get_local $8) + ) + (i32.store offset=8 + (get_local $8) + (get_local $8) + ) + (br $do-once48) ) - (i32.store - (get_local $3) - (get_local $8) - ) - (i32.store offset=24 - (get_local $8) - (get_local $3) - ) - (i32.store offset=12 - (get_local $8) - (get_local $8) - ) - (i32.store offset=8 - (get_local $8) - (get_local $8) - ) - (br $do-once48) ) - ) - (set_local $2 - (i32.shl - (get_local $7) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u + (set_local $2 + (i32.shl + (get_local $7) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $2) + (i32.const 1) + ) + ) + (i32.eq (get_local $2) - (i32.const 1) + (i32.const 31) ) ) - (i32.eq - (get_local $2) - (i32.const 31) - ) ) ) - ) - (set_local $0 - (i32.load - (get_local $3) + (set_local $0 + (i32.load + (get_local $3) + ) ) - ) - (block $__rjto$7 - (block $__rjti$7 - (loop $while-in68 - (br_if $__rjti$7 - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $0) + (block $__rjto$7 + (block $__rjti$7 + (loop $while-in68 + (br_if $__rjti$7 + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $0) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $7) ) - (get_local $7) ) - ) - (set_local $3 - (i32.shl - (get_local $2) - (i32.const 1) + (set_local $3 + (i32.shl + (get_local $2) + (i32.const 1) + ) ) - ) - (if - (tee_local $1 - (i32.load - (tee_local $2 - (i32.add + (if + (tee_local $1 + (i32.load + (tee_local $2 (i32.add - (get_local $0) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $2) - (i32.const 31) + (i32.add + (get_local $0) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $2) + (i32.const 31) + ) + (i32.const 2) ) - (i32.const 2) ) ) ) ) + (block + (set_local $2 + (get_local $3) + ) + (set_local $0 + (get_local $1) + ) + (br $while-in68) + ) + ) + ) + (if + (i32.lt_u + (get_local $2) + (i32.load + (i32.const 192) + ) ) + (call $_abort) (block - (set_local $2 - (get_local $3) + (i32.store + (get_local $2) + (get_local $8) ) - (set_local $0 - (get_local $1) + (i32.store offset=24 + (get_local $8) + (get_local $0) ) - (br $while-in68) + (i32.store offset=12 + (get_local $8) + (get_local $8) + ) + (i32.store offset=8 + (get_local $8) + (get_local $8) + ) + (br $do-once48) ) ) + (br $__rjto$7) ) (if - (i32.lt_u - (get_local $2) - (i32.load - (i32.const 192) + (i32.and + (i32.ge_u + (tee_local $2 + (i32.load + (tee_local $3 + (i32.add + (get_local $0) + (i32.const 8) + ) + ) + ) + ) + (tee_local $1 + (i32.load + (i32.const 192) + ) + ) + ) + (i32.ge_u + (get_local $0) + (get_local $1) ) ) - (call $_abort) (block - (i32.store + (i32.store offset=12 (get_local $2) (get_local $8) ) - (i32.store offset=24 - (get_local $8) - (get_local $0) - ) - (i32.store offset=12 - (get_local $8) + (i32.store + (get_local $3) (get_local $8) ) (i32.store offset=8 (get_local $8) - (get_local $8) + (get_local $2) ) - (br $do-once48) - ) - ) - (br $__rjto$7) - ) - (if - (i32.and - (i32.ge_u - (tee_local $2 - (i32.load - (tee_local $3 - (i32.add - (get_local $0) - (i32.const 8) - ) - ) - ) + (i32.store offset=12 + (get_local $8) + (get_local $0) ) - (tee_local $1 - (i32.load - (i32.const 192) - ) + (i32.store offset=24 + (get_local $8) + (i32.const 0) ) ) - (i32.ge_u - (get_local $0) - (get_local $1) - ) - ) - (block - (i32.store offset=12 - (get_local $2) - (get_local $8) - ) - (i32.store - (get_local $3) - (get_local $8) - ) - (i32.store offset=8 - (get_local $8) - (get_local $2) - ) - (i32.store offset=12 - (get_local $8) - (get_local $0) - ) - (i32.store offset=24 - (get_local $8) - (i32.const 0) - ) + (call $_abort) ) - (call $_abort) ) ) ) ) - ) - (return - (i32.add - (get_local $9) - (i32.const 8) + (return + (i32.add + (get_local $9) + (i32.const 8) + ) ) ) ) ) - ) - (loop $while-in70 - (block $while-out69 - (if - (i32.le_u - (tee_local $2 - (i32.load - (get_local $4) + (loop $while-in70 + (block $while-out69 + (if + (i32.le_u + (tee_local $2 + (i32.load + (get_local $4) + ) ) + (get_local $6) ) - (get_local $6) - ) - (br_if $while-out69 - (i32.gt_u - (tee_local $2 - (i32.add - (get_local $2) - (i32.load offset=4 - (get_local $4) + (br_if $while-out69 + (i32.gt_u + (tee_local $2 + (i32.add + (get_local $2) + (i32.load offset=4 + (get_local $4) + ) ) ) + (get_local $6) ) - (get_local $6) ) ) - ) - (set_local $4 - (i32.load offset=8 - (get_local $4) + (set_local $4 + (i32.load offset=8 + (get_local $4) + ) ) + (br $while-in70) ) - (br $while-in70) ) - ) - (set_local $10 - (i32.add - (tee_local $4 - (i32.add - (get_local $2) - (i32.const -47) + (set_local $10 + (i32.add + (tee_local $4 + (i32.add + (get_local $2) + (i32.const -47) + ) ) + (i32.const 8) ) - (i32.const 8) ) - ) - (set_local $12 - (i32.add - (tee_local $11 - (select - (get_local $6) - (tee_local $4 - (i32.add - (get_local $4) - (select - (i32.and - (i32.sub - (i32.const 0) + (set_local $12 + (i32.add + (tee_local $11 + (select + (get_local $6) + (tee_local $4 + (i32.add + (get_local $4) + (select + (i32.and + (i32.sub + (i32.const 0) + (get_local $10) + ) + (i32.const 7) + ) + (i32.const 0) + (i32.and (get_local $10) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $10) - (i32.const 7) ) ) ) - ) - (i32.lt_u - (get_local $4) - (tee_local $10 - (i32.add - (get_local $6) - (i32.const 16) + (i32.lt_u + (get_local $4) + (tee_local $10 + (i32.add + (get_local $6) + (i32.const 16) + ) ) ) ) ) + (i32.const 8) ) - (i32.const 8) ) - ) - (i32.store - (i32.const 200) - (tee_local $5 - (i32.add - (get_local $1) - (tee_local $4 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $4 - (i32.add - (get_local $1) - (i32.const 8) + (i32.store + (i32.const 200) + (tee_local $5 + (i32.add + (get_local $1) + (tee_local $4 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $4 + (i32.add + (get_local $1) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $4) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $4) - (i32.const 7) ) ) ) ) ) - ) - (i32.store - (i32.const 188) - (tee_local $4 - (i32.sub - (i32.add - (get_local $3) - (i32.const -40) + (i32.store + (i32.const 188) + (tee_local $4 + (i32.sub + (i32.add + (get_local $3) + (i32.const -40) + ) + (get_local $4) ) + ) + ) + (i32.store offset=4 + (get_local $5) + (i32.or (get_local $4) + (i32.const 1) ) ) - ) - (i32.store offset=4 - (get_local $5) - (i32.or - (get_local $4) - (i32.const 1) + (i32.store offset=4 + (i32.add + (get_local $5) + (get_local $4) + ) + (i32.const 40) ) - ) - (i32.store offset=4 - (i32.add - (get_local $5) - (get_local $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 + (tee_local $4 + (i32.add + (get_local $11) + (i32.const 4) + ) + ) + (i32.const 27) ) - ) - (i32.store - (tee_local $4 - (i32.add - (get_local $11) - (i32.const 4) + (i32.store + (get_local $12) + (i32.load + (i32.const 624) ) ) - (i32.const 27) - ) - (i32.store - (get_local $12) - (i32.load + (i32.store offset=4 + (get_local $12) + (i32.load + (i32.const 628) + ) + ) + (i32.store offset=8 + (get_local $12) + (i32.load + (i32.const 632) + ) + ) + (i32.store offset=12 + (get_local $12) + (i32.load + (i32.const 636) + ) + ) + (i32.store (i32.const 624) + (get_local $1) ) - ) - (i32.store offset=4 - (get_local $12) - (i32.load + (i32.store (i32.const 628) + (get_local $3) ) - ) - (i32.store offset=8 - (get_local $12) - (i32.load - (i32.const 632) - ) - ) - (i32.store offset=12 - (get_local $12) - (i32.load + (i32.store (i32.const 636) + (i32.const 0) ) - ) - (i32.store - (i32.const 624) - (get_local $1) - ) - (i32.store - (i32.const 628) - (get_local $3) - ) - (i32.store - (i32.const 636) - (i32.const 0) - ) - (i32.store - (i32.const 632) - (get_local $12) - ) - (set_local $1 - (i32.add - (get_local $11) - (i32.const 24) - ) - ) - (loop $while-in72 (i32.store - (tee_local $1 - (i32.add - (get_local $1) - (i32.const 4) - ) - ) - (i32.const 7) + (i32.const 632) + (get_local $12) ) - (br_if $while-in72 - (i32.lt_u - (i32.add - (get_local $1) - (i32.const 4) - ) - (get_local $2) + (set_local $1 + (i32.add + (get_local $11) + (i32.const 24) ) ) - ) - (if - (i32.ne - (get_local $11) - (get_local $6) - ) - (block + (loop $while-in72 (i32.store - (get_local $4) - (i32.and - (i32.load - (get_local $4) + (tee_local $1 + (i32.add + (get_local $1) + (i32.const 4) ) - (i32.const -2) ) + (i32.const 7) ) - (i32.store offset=4 - (get_local $6) - (i32.or - (tee_local $5 - (i32.sub - (get_local $11) - (get_local $6) - ) + (br_if $while-in72 + (i32.lt_u + (i32.add + (get_local $1) + (i32.const 4) ) - (i32.const 1) + (get_local $2) ) ) - (i32.store + ) + (if + (i32.ne (get_local $11) - (get_local $5) - ) - (set_local $1 - (i32.shr_u - (get_local $5) - (i32.const 3) - ) + (get_local $6) ) - (if - (i32.lt_u - (get_local $5) - (i32.const 256) + (block + (i32.store + (get_local $4) + (i32.and + (i32.load + (get_local $4) + ) + (i32.const -2) + ) ) - (block - (set_local $2 - (i32.add - (i32.shl - (get_local $1) - (i32.const 3) + (i32.store offset=4 + (get_local $6) + (i32.or + (tee_local $5 + (i32.sub + (get_local $11) + (get_local $6) ) - (i32.const 216) ) + (i32.const 1) ) - (if - (i32.and - (tee_local $3 - (i32.load - (i32.const 176) - ) - ) - (tee_local $1 + ) + (i32.store + (get_local $11) + (get_local $5) + ) + (set_local $1 + (i32.shr_u + (get_local $5) + (i32.const 3) + ) + ) + (if + (i32.lt_u + (get_local $5) + (i32.const 256) + ) + (block + (set_local $2 + (i32.add (i32.shl - (i32.const 1) (get_local $1) + (i32.const 3) ) + (i32.const 216) ) ) (if - (i32.lt_u - (tee_local $1 + (i32.and + (tee_local $3 (i32.load - (tee_local $3 - (i32.add - (get_local $2) - (i32.const 8) + (i32.const 176) + ) + ) + (tee_local $1 + (i32.shl + (i32.const 1) + (get_local $1) + ) + ) + ) + (if + (i32.lt_u + (tee_local $1 + (i32.load + (tee_local $3 + (i32.add + (get_local $2) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 192) + ) ) - (i32.load - (i32.const 192) + (call $_abort) + (block + (set_local $17 + (get_local $3) + ) + (set_local $7 + (get_local $1) + ) ) ) - (call $_abort) (block + (i32.store + (i32.const 176) + (i32.or + (get_local $3) + (get_local $1) + ) + ) (set_local $17 - (get_local $3) + (i32.add + (get_local $2) + (i32.const 8) + ) ) (set_local $7 - (get_local $1) - ) - ) - ) - (block - (i32.store - (i32.const 176) - (i32.or - (get_local $3) - (get_local $1) - ) - ) - (set_local $17 - (i32.add (get_local $2) - (i32.const 8) ) ) - (set_local $7 - (get_local $2) - ) ) + (i32.store + (get_local $17) + (get_local $6) + ) + (i32.store offset=12 + (get_local $7) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $7) + ) + (i32.store offset=12 + (get_local $6) + (get_local $2) + ) + (br $do-once40) ) - (i32.store - (get_local $17) - (get_local $6) - ) - (i32.store offset=12 - (get_local $7) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $7) - ) - (i32.store offset=12 - (get_local $6) - (get_local $2) - ) - (br $do-once40) ) - ) - (set_local $2 - (i32.add - (i32.shl - (tee_local $4 - (if (result i32) - (tee_local $1 - (i32.shr_u - (get_local $5) - (i32.const 8) - ) - ) + (set_local $2 + (i32.add + (i32.shl + (tee_local $4 (if (result i32) - (i32.gt_u - (get_local $5) - (i32.const 16777215) + (tee_local $1 + (i32.shr_u + (get_local $5) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $5) - (i32.add - (tee_local $1 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $5) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $5) + (i32.add + (tee_local $1 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $3 - (i32.shl - (get_local $1) - (tee_local $2 - (i32.and - (i32.shr_u - (i32.add - (get_local $1) - (i32.const 1048320) + (i32.or + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $3 + (i32.shl + (get_local $1) + (tee_local $2 + (i32.and + (i32.shr_u + (i32.add + (get_local $1) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $2) ) - (get_local $2) - ) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (tee_local $3 - (i32.shl - (get_local $3) - (get_local $1) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (tee_local $3 + (i32.shl + (get_local $3) + (get_local $1) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $3) - (get_local $1) + (i32.shr_u + (i32.shl + (get_local $3) + (get_local $1) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $1) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $1) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 480) ) - (i32.const 480) ) - ) - (i32.store offset=28 - (get_local $6) - (get_local $4) - ) - (i32.store offset=20 - (get_local $6) - (i32.const 0) - ) - (i32.store - (get_local $10) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $3 - (i32.load - (i32.const 180) + (i32.store offset=28 + (get_local $6) + (get_local $4) + ) + (i32.store offset=20 + (get_local $6) + (i32.const 0) + ) + (i32.store + (get_local $10) + (i32.const 0) + ) + (if + (i32.eqz + (i32.and + (tee_local $3 + (i32.load + (i32.const 180) + ) ) - ) - (tee_local $1 - (i32.shl - (i32.const 1) - (get_local $4) + (tee_local $1 + (i32.shl + (i32.const 1) + (get_local $4) + ) ) ) ) - ) - (block - (i32.store - (i32.const 180) - (i32.or - (get_local $3) - (get_local $1) + (block + (i32.store + (i32.const 180) + (i32.or + (get_local $3) + (get_local $1) + ) ) + (i32.store + (get_local $2) + (get_local $6) + ) + (i32.store offset=24 + (get_local $6) + (get_local $2) + ) + (i32.store offset=12 + (get_local $6) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $6) + ) + (br $do-once40) ) - (i32.store - (get_local $2) - (get_local $6) - ) - (i32.store offset=24 - (get_local $6) - (get_local $2) - ) - (i32.store offset=12 - (get_local $6) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $6) - ) - (br $do-once40) ) - ) - (set_local $4 - (i32.shl - (get_local $5) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u + (set_local $4 + (i32.shl + (get_local $5) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $4) + (i32.const 1) + ) + ) + (i32.eq (get_local $4) - (i32.const 1) + (i32.const 31) ) ) - (i32.eq - (get_local $4) - (i32.const 31) - ) ) ) - ) - (set_local $1 - (i32.load - (get_local $2) + (set_local $1 + (i32.load + (get_local $2) + ) ) - ) - (block $__rjto$9 - (block $__rjti$9 - (loop $while-in74 - (br_if $__rjti$9 - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $1) + (block $__rjto$9 + (block $__rjti$9 + (loop $while-in74 + (br_if $__rjti$9 + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $1) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $5) ) - (get_local $5) ) - ) - (set_local $2 - (i32.shl - (get_local $4) - (i32.const 1) + (set_local $2 + (i32.shl + (get_local $4) + (i32.const 1) + ) ) - ) - (if - (tee_local $3 - (i32.load - (tee_local $4 - (i32.add + (if + (tee_local $3 + (i32.load + (tee_local $4 (i32.add - (get_local $1) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $4) - (i32.const 31) + (i32.add + (get_local $1) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $4) + (i32.const 31) + ) + (i32.const 2) ) - (i32.const 2) ) ) ) ) + (block + (set_local $4 + (get_local $2) + ) + (set_local $1 + (get_local $3) + ) + (br $while-in74) + ) + ) + ) + (if + (i32.lt_u + (get_local $4) + (i32.load + (i32.const 192) + ) ) + (call $_abort) (block - (set_local $4 - (get_local $2) + (i32.store + (get_local $4) + (get_local $6) ) - (set_local $1 - (get_local $3) + (i32.store offset=24 + (get_local $6) + (get_local $1) ) - (br $while-in74) + (i32.store offset=12 + (get_local $6) + (get_local $6) + ) + (i32.store offset=8 + (get_local $6) + (get_local $6) + ) + (br $do-once40) ) ) + (br $__rjto$9) ) (if - (i32.lt_u - (get_local $4) - (i32.load - (i32.const 192) + (i32.and + (i32.ge_u + (tee_local $4 + (i32.load + (tee_local $2 + (i32.add + (get_local $1) + (i32.const 8) + ) + ) + ) + ) + (tee_local $3 + (i32.load + (i32.const 192) + ) + ) + ) + (i32.ge_u + (get_local $1) + (get_local $3) ) ) - (call $_abort) (block - (i32.store + (i32.store offset=12 (get_local $4) (get_local $6) ) - (i32.store offset=24 - (get_local $6) - (get_local $1) - ) - (i32.store offset=12 - (get_local $6) + (i32.store + (get_local $2) (get_local $6) ) (i32.store offset=8 (get_local $6) - (get_local $6) + (get_local $4) ) - (br $do-once40) - ) - ) - (br $__rjto$9) - ) - (if - (i32.and - (i32.ge_u - (tee_local $4 - (i32.load - (tee_local $2 - (i32.add - (get_local $1) - (i32.const 8) - ) - ) - ) + (i32.store offset=12 + (get_local $6) + (get_local $1) ) - (tee_local $3 - (i32.load - (i32.const 192) - ) + (i32.store offset=24 + (get_local $6) + (i32.const 0) ) ) - (i32.ge_u - (get_local $1) - (get_local $3) - ) - ) - (block - (i32.store offset=12 - (get_local $4) - (get_local $6) - ) - (i32.store - (get_local $2) - (get_local $6) - ) - (i32.store offset=8 - (get_local $6) - (get_local $4) - ) - (i32.store offset=12 - (get_local $6) - (get_local $1) - ) - (i32.store offset=24 - (get_local $6) - (i32.const 0) - ) + (call $_abort) ) - (call $_abort) ) ) ) ) - ) - (block - (if - (i32.or - (i32.eqz - (tee_local $2 - (i32.load - (i32.const 192) + (block + (if + (i32.or + (i32.eqz + (tee_local $2 + (i32.load + (i32.const 192) + ) ) ) + (i32.lt_u + (get_local $1) + (get_local $2) + ) ) - (i32.lt_u + (i32.store + (i32.const 192) (get_local $1) - (get_local $2) ) ) (i32.store - (i32.const 192) + (i32.const 624) (get_local $1) ) - ) - (i32.store - (i32.const 624) - (get_local $1) - ) - (i32.store - (i32.const 628) - (get_local $3) - ) - (i32.store - (i32.const 636) - (i32.const 0) - ) - (i32.store - (i32.const 212) - (i32.load - (i32.const 648) + (i32.store + (i32.const 628) + (get_local $3) ) - ) - (i32.store - (i32.const 208) - (i32.const -1) - ) - (set_local $2 - (i32.const 0) - ) - (loop $while-in43 - (i32.store offset=12 - (tee_local $4 - (i32.add - (i32.shl - (get_local $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) ) - (get_local $4) ) - (i32.store offset=8 - (get_local $4) - (get_local $4) + (i32.store + (i32.const 208) + (i32.const -1) ) - (br_if $while-in43 - (i32.ne - (tee_local $2 + (set_local $2 + (i32.const 0) + ) + (loop $while-in43 + (i32.store offset=12 + (tee_local $4 (i32.add - (get_local $2) - (i32.const 1) + (i32.shl + (get_local $2) + (i32.const 3) + ) + (i32.const 216) ) ) - (i32.const 32) + (get_local $4) + ) + (i32.store offset=8 + (get_local $4) + (get_local $4) + ) + (br_if $while-in43 + (i32.ne + (tee_local $2 + (i32.add + (get_local $2) + (i32.const 1) + ) + ) + (i32.const 32) + ) ) ) - ) - (i32.store - (i32.const 200) - (tee_local $2 - (i32.add - (get_local $1) - (tee_local $1 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $1 - (i32.add - (get_local $1) - (i32.const 8) + (i32.store + (i32.const 200) + (tee_local $2 + (i32.add + (get_local $1) + (tee_local $1 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.add + (get_local $1) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $1) - (i32.const 7) ) ) ) ) ) - ) - (i32.store - (i32.const 188) - (tee_local $1 - (i32.sub - (i32.add - (get_local $3) - (i32.const -40) + (i32.store + (i32.const 188) + (tee_local $1 + (i32.sub + (i32.add + (get_local $3) + (i32.const -40) + ) + (get_local $1) ) + ) + ) + (i32.store offset=4 + (get_local $2) + (i32.or (get_local $1) + (i32.const 1) ) ) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $1) - (i32.const 1) + (i32.store offset=4 + (i32.add + (get_local $2) + (get_local $1) + ) + (i32.const 40) ) - ) - (i32.store offset=4 - (i32.add - (get_local $2) - (get_local $1) + (i32.store + (i32.const 204) + (i32.load + (i32.const 664) + ) ) - (i32.const 40) ) - (i32.store - (i32.const 204) + ) + ) + (br_if $folding-inner0 + (i32.gt_u + (tee_local $1 (i32.load - (i32.const 664) + (i32.const 188) ) ) + (get_local $0) ) ) ) - (if - (i32.gt_u - (tee_local $1 - (i32.load - (i32.const 188) - ) - ) + (i32.store + (call $___errno_location) + (i32.const 12) + ) + (return + (i32.const 0) + ) + ) + (i32.store + (i32.const 188) + (tee_local $3 + (i32.sub + (get_local $1) (get_local $0) ) - (block - (i32.store - (i32.const 188) - (tee_local $3 - (i32.sub - (get_local $1) - (get_local $0) - ) - ) - ) - (i32.store - (i32.const 200) - (tee_local $1 - (i32.add - (tee_local $2 - (i32.load - (i32.const 200) - ) - ) - (get_local $0) - ) - ) - ) - (i32.store offset=4 - (get_local $1) - (i32.or - (get_local $3) - (i32.const 1) - ) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $0) - (i32.const 3) - ) - ) - (return - (i32.add - (get_local $2) - (i32.const 8) + ) + ) + (i32.store + (i32.const 200) + (tee_local $1 + (i32.add + (tee_local $2 + (i32.load + (i32.const 200) ) ) + (get_local $0) ) ) ) - (i32.store - (call $___errno_location) - (i32.const 12) + (i32.store offset=4 + (get_local $1) + (i32.or + (get_local $3) + (i32.const 1) + ) + ) + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $0) + (i32.const 3) + ) + ) + (i32.add + (get_local $2) + (i32.const 8) ) - (i32.const 0) ) (func $_free (param $0 i32) (local $1 i32) diff --git a/test/memorygrowth.fromasm b/test/memorygrowth.fromasm index a6d77f5cf..71c095deb 100644 --- a/test/memorygrowth.fromasm +++ b/test/memorygrowth.fromasm @@ -105,830 +105,790 @@ (local $52 i32) (local $53 i32) (local $54 i32) - (set_local $25 - (get_global $r) - ) - (set_global $r - (i32.add + (block $folding-inner0 + (set_local $25 (get_global $r) - (i32.const 16) ) - ) - (set_local $13 - (get_local $25) - ) - (block $do-once - (if - (i32.lt_u - (get_local $0) - (i32.const 245) + (set_global $r + (i32.add + (get_global $r) + (i32.const 16) ) - (block - (if - (i32.and - (tee_local $5 - (i32.shr_u - (tee_local $4 - (i32.load - (i32.const 1208) + ) + (set_local $13 + (get_local $25) + ) + (block $do-once + (if + (i32.lt_u + (get_local $0) + (i32.const 245) + ) + (block + (if + (i32.and + (tee_local $5 + (i32.shr_u + (tee_local $4 + (i32.load + (i32.const 1208) + ) ) - ) - (tee_local $0 - (i32.shr_u - (tee_local $3 - (select - (i32.const 16) - (i32.and - (i32.add + (tee_local $0 + (i32.shr_u + (tee_local $3 + (select + (i32.const 16) + (i32.and + (i32.add + (get_local $0) + (i32.const 11) + ) + (i32.const -8) + ) + (i32.lt_u (get_local $0) (i32.const 11) ) - (i32.const -8) - ) - (i32.lt_u - (get_local $0) - (i32.const 11) ) ) + (i32.const 3) ) - (i32.const 3) ) ) ) + (i32.const 3) ) - (i32.const 3) - ) - (block - (set_local $6 - (i32.load - (tee_local $3 - (i32.add - (tee_local $12 - (i32.load - (tee_local $14 - (i32.add - (tee_local $8 - (i32.add - (i32.shl - (tee_local $0 - (i32.add - (i32.xor - (i32.and - (get_local $5) + (block + (set_local $6 + (i32.load + (tee_local $3 + (i32.add + (tee_local $12 + (i32.load + (tee_local $14 + (i32.add + (tee_local $8 + (i32.add + (i32.shl + (tee_local $0 + (i32.add + (i32.xor + (i32.and + (get_local $5) + (i32.const 1) + ) (i32.const 1) ) - (i32.const 1) + (get_local $0) ) - (get_local $0) ) + (i32.const 3) ) - (i32.const 3) + (i32.const 1248) ) - (i32.const 1248) ) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 8) ) - (i32.const 8) ) ) ) - ) - (if - (i32.eq - (get_local $8) - (get_local $6) - ) - (i32.store - (i32.const 1208) - (i32.and - (get_local $4) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $0) - ) - (i32.const -1) - ) + (if + (i32.eq + (get_local $8) + (get_local $6) ) - ) - (block - (if - (i32.lt_u - (get_local $6) - (i32.load - (i32.const 1224) + (i32.store + (i32.const 1208) + (i32.and + (get_local $4) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $0) + ) + (i32.const -1) ) ) - (call $qa) ) - (if - (i32.eq - (i32.load - (tee_local $7 - (i32.add - (get_local $6) - (i32.const 12) - ) + (block + (if + (i32.lt_u + (get_local $6) + (i32.load + (i32.const 1224) ) ) - (get_local $12) + (call $qa) ) - (block - (i32.store - (get_local $7) - (get_local $8) + (if + (i32.eq + (i32.load + (tee_local $7 + (i32.add + (get_local $6) + (i32.const 12) + ) + ) + ) + (get_local $12) ) - (i32.store - (get_local $14) - (get_local $6) + (block + (i32.store + (get_local $7) + (get_local $8) + ) + (i32.store + (get_local $14) + (get_local $6) + ) ) + (call $qa) ) - (call $qa) ) ) - ) - (i32.store offset=4 - (get_local $12) - (i32.or - (tee_local $6 - (i32.shl - (get_local $0) - (i32.const 3) + (i32.store offset=4 + (get_local $12) + (i32.or + (tee_local $6 + (i32.shl + (get_local $0) + (i32.const 3) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $14 - (i32.add + (i32.store + (tee_local $14 (i32.add - (get_local $12) - (get_local $6) + (i32.add + (get_local $12) + (get_local $6) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $14) + (i32.or + (i32.load + (get_local $14) + ) + (i32.const 1) ) - (i32.const 1) ) - ) - (set_global $r - (get_local $25) - ) - (return - (get_local $3) + (set_global $r + (get_local $25) + ) + (return + (get_local $3) + ) ) ) - ) - (if - (i32.gt_u - (get_local $3) - (tee_local $14 - (i32.load - (i32.const 1216) + (if + (i32.gt_u + (get_local $3) + (tee_local $14 + (i32.load + (i32.const 1216) + ) ) ) - ) - (block - (if - (get_local $5) - (block - (set_local $8 - (i32.and - (i32.shr_u - (tee_local $6 - (i32.add - (i32.and - (tee_local $8 - (i32.and - (i32.shl - (get_local $5) - (get_local $0) - ) - (i32.or - (tee_local $6 - (i32.shl - (i32.const 2) - (get_local $0) - ) + (block + (if + (get_local $5) + (block + (set_local $8 + (i32.and + (i32.shr_u + (tee_local $6 + (i32.add + (i32.and + (tee_local $8 + (i32.and + (i32.shl + (get_local $5) + (get_local $0) ) - (i32.sub - (i32.const 0) - (get_local $6) + (i32.or + (tee_local $6 + (i32.shl + (i32.const 2) + (get_local $0) + ) + ) + (i32.sub + (i32.const 0) + (get_local $6) + ) ) ) ) + (i32.sub + (i32.const 0) + (get_local $8) + ) ) - (i32.sub - (i32.const 0) - (get_local $8) - ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (set_local $8 - (i32.load - (tee_local $7 - (i32.add - (tee_local $9 - (i32.load - (tee_local $12 - (i32.add - (tee_local $1 - (i32.add - (i32.shl - (tee_local $16 - (i32.add - (i32.or + (set_local $8 + (i32.load + (tee_local $7 + (i32.add + (tee_local $9 + (i32.load + (tee_local $12 + (i32.add + (tee_local $1 + (i32.add + (i32.shl + (tee_local $16 + (i32.add (i32.or (i32.or (i32.or - (tee_local $6 + (i32.or + (tee_local $6 + (i32.and + (i32.shr_u + (tee_local $7 + (i32.shr_u + (get_local $6) + (get_local $8) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $8) + ) + (tee_local $7 (i32.and (i32.shr_u - (tee_local $7 + (tee_local $9 (i32.shr_u + (get_local $7) (get_local $6) - (get_local $8) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $8) ) - (tee_local $7 + (tee_local $9 (i32.and (i32.shr_u - (tee_local $9 + (tee_local $1 (i32.shr_u + (get_local $9) (get_local $7) - (get_local $6) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) - (tee_local $9 + (tee_local $1 (i32.and (i32.shr_u - (tee_local $1 + (tee_local $12 (i32.shr_u + (get_local $1) (get_local $9) - (get_local $7) ) ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $1 - (i32.and - (i32.shr_u - (tee_local $12 - (i32.shr_u - (get_local $1) - (get_local $9) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) - ) - (i32.shr_u - (get_local $12) - (get_local $1) + (i32.shr_u + (get_local $12) + (get_local $1) + ) ) ) + (i32.const 3) ) - (i32.const 3) + (i32.const 1248) ) - (i32.const 1248) ) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 8) ) - (i32.const 8) ) ) ) - ) - (if - (i32.eq - (get_local $1) - (get_local $8) - ) - (block - (i32.store - (i32.const 1208) - (i32.and - (get_local $4) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $16) + (if + (i32.eq + (get_local $1) + (get_local $8) + ) + (block + (i32.store + (i32.const 1208) + (i32.and + (get_local $4) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $16) + ) + (i32.const -1) ) - (i32.const -1) ) ) - ) - (set_local $34 - (get_local $14) - ) - ) - (block - (if - (i32.lt_u - (get_local $8) - (i32.load - (i32.const 1224) - ) + (set_local $34 + (get_local $14) ) - (call $qa) ) - (if - (i32.eq - (i32.load - (tee_local $6 - (i32.add - (get_local $8) - (i32.const 12) - ) + (block + (if + (i32.lt_u + (get_local $8) + (i32.load + (i32.const 1224) ) ) - (get_local $9) + (call $qa) ) - (block - (i32.store - (get_local $6) - (get_local $1) - ) - (i32.store - (get_local $12) - (get_local $8) - ) - (set_local $34 + (if + (i32.eq (i32.load - (i32.const 1216) + (tee_local $6 + (i32.add + (get_local $8) + (i32.const 12) + ) + ) + ) + (get_local $9) + ) + (block + (i32.store + (get_local $6) + (get_local $1) + ) + (i32.store + (get_local $12) + (get_local $8) + ) + (set_local $34 + (i32.load + (i32.const 1216) + ) ) ) + (call $qa) ) - (call $qa) ) ) - ) - (i32.store offset=4 - (get_local $9) - (i32.or - (get_local $3) - (i32.const 3) - ) - ) - (i32.store offset=4 - (tee_local $12 - (i32.add - (get_local $9) + (i32.store offset=4 + (get_local $9) + (i32.or (get_local $3) + (i32.const 3) ) ) - (i32.or - (tee_local $8 - (i32.sub - (i32.shl - (get_local $16) - (i32.const 3) - ) + (i32.store offset=4 + (tee_local $12 + (i32.add + (get_local $9) (get_local $3) ) ) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (get_local $12) - (get_local $8) - ) - (get_local $8) - ) - (if - (get_local $34) - (block - (set_local $1 - (i32.load - (i32.const 1228) - ) - ) - (set_local $4 - (i32.add - (i32.shl - (tee_local $14 - (i32.shr_u - (get_local $34) - (i32.const 3) - ) + (i32.or + (tee_local $8 + (i32.sub + (i32.shl + (get_local $16) + (i32.const 3) ) - (i32.const 3) + (get_local $3) ) - (i32.const 1248) ) + (i32.const 1) ) - (if - (i32.and - (tee_local $0 - (i32.load - (i32.const 1208) - ) + ) + (i32.store + (i32.add + (get_local $12) + (get_local $8) + ) + (get_local $8) + ) + (if + (get_local $34) + (block + (set_local $1 + (i32.load + (i32.const 1228) ) - (tee_local $5 + ) + (set_local $4 + (i32.add (i32.shl - (i32.const 1) - (get_local $14) + (tee_local $14 + (i32.shr_u + (get_local $34) + (i32.const 3) + ) + ) + (i32.const 3) ) + (i32.const 1248) ) ) (if - (i32.lt_u + (i32.and (tee_local $0 (i32.load - (tee_local $5 - (i32.add - (get_local $4) - (i32.const 8) + (i32.const 1208) + ) + ) + (tee_local $5 + (i32.shl + (i32.const 1) + (get_local $14) + ) + ) + ) + (if + (i32.lt_u + (tee_local $0 + (i32.load + (tee_local $5 + (i32.add + (get_local $4) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 1224) + ) ) - (i32.load - (i32.const 1224) + (call $qa) + (block + (set_local $40 + (get_local $5) + ) + (set_local $35 + (get_local $0) + ) ) ) - (call $qa) (block + (i32.store + (i32.const 1208) + (i32.or + (get_local $0) + (get_local $5) + ) + ) (set_local $40 - (get_local $5) + (i32.add + (get_local $4) + (i32.const 8) + ) ) (set_local $35 - (get_local $0) - ) - ) - ) - (block - (i32.store - (i32.const 1208) - (i32.or - (get_local $0) - (get_local $5) - ) - ) - (set_local $40 - (i32.add (get_local $4) - (i32.const 8) ) ) - (set_local $35 - (get_local $4) - ) ) - ) - (i32.store - (get_local $40) - (get_local $1) - ) - (i32.store offset=12 - (get_local $35) - (get_local $1) - ) - (i32.store offset=8 - (get_local $1) - (get_local $35) - ) - (i32.store offset=12 - (get_local $1) - (get_local $4) + (i32.store + (get_local $40) + (get_local $1) + ) + (i32.store offset=12 + (get_local $35) + (get_local $1) + ) + (i32.store offset=8 + (get_local $1) + (get_local $35) + ) + (i32.store offset=12 + (get_local $1) + (get_local $4) + ) ) ) - ) - (i32.store - (i32.const 1216) - (get_local $8) - ) - (i32.store - (i32.const 1228) - (get_local $12) - ) - (set_global $r - (get_local $25) - ) - (return - (get_local $7) + (i32.store + (i32.const 1216) + (get_local $8) + ) + (i32.store + (i32.const 1228) + (get_local $12) + ) + (set_global $r + (get_local $25) + ) + (return + (get_local $7) + ) ) ) - ) - (if - (tee_local $12 - (i32.load - (i32.const 1212) + (if + (tee_local $12 + (i32.load + (i32.const 1212) + ) ) - ) - (block - (set_local $12 - (i32.and - (i32.shr_u - (tee_local $8 - (i32.add - (i32.and - (get_local $12) - (i32.sub - (i32.const 0) + (block + (set_local $12 + (i32.and + (i32.shr_u + (tee_local $8 + (i32.add + (i32.and (get_local $12) + (i32.sub + (i32.const 0) + (get_local $12) + ) ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (set_local $0 - (i32.sub - (i32.and - (i32.load offset=4 - (tee_local $14 - (i32.load - (i32.add - (i32.shl - (i32.add - (i32.or + (set_local $0 + (i32.sub + (i32.and + (i32.load offset=4 + (tee_local $14 + (i32.load + (i32.add + (i32.shl + (i32.add (i32.or (i32.or (i32.or - (tee_local $8 + (i32.or + (tee_local $8 + (i32.and + (i32.shr_u + (tee_local $4 + (i32.shr_u + (get_local $8) + (get_local $12) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $12) + ) + (tee_local $4 (i32.and (i32.shr_u - (tee_local $4 + (tee_local $1 (i32.shr_u + (get_local $4) (get_local $8) - (get_local $12) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $12) ) - (tee_local $4 + (tee_local $1 (i32.and (i32.shr_u - (tee_local $1 + (tee_local $0 (i32.shr_u + (get_local $1) (get_local $4) - (get_local $8) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) - (tee_local $1 + (tee_local $0 (i32.and (i32.shr_u - (tee_local $0 + (tee_local $5 (i32.shr_u + (get_local $0) (get_local $1) - (get_local $4) ) ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (tee_local $5 - (i32.shr_u - (get_local $0) - (get_local $1) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) + (i32.shr_u + (get_local $5) + (get_local $0) + ) ) - (i32.shr_u - (get_local $5) - (get_local $0) - ) + (i32.const 2) ) - (i32.const 2) + (i32.const 1512) ) - (i32.const 1512) ) ) ) + (i32.const -8) ) - (i32.const -8) + (get_local $3) ) - (get_local $3) ) - ) - (set_local $5 - (get_local $14) - ) - (set_local $1 - (get_local $14) - ) - (loop $while-in - (block $while-out - (if - (tee_local $14 - (i32.load offset=16 - (get_local $5) - ) - ) - (set_local $6 - (get_local $14) - ) + (set_local $5 + (get_local $14) + ) + (set_local $1 + (get_local $14) + ) + (loop $while-in + (block $while-out (if - (tee_local $4 - (i32.load offset=20 + (tee_local $14 + (i32.load offset=16 (get_local $5) ) ) (set_local $6 - (get_local $4) + (get_local $14) ) - (block + (if + (tee_local $4 + (i32.load offset=20 + (get_local $5) + ) + ) (set_local $6 - (get_local $0) + (get_local $4) ) - (set_local $2 - (get_local $1) + (block + (set_local $6 + (get_local $0) + ) + (set_local $2 + (get_local $1) + ) + (br $while-out) ) - (br $while-out) ) ) - ) - (set_local $4 - (i32.lt_u - (tee_local $14 - (i32.sub - (i32.and - (i32.load offset=4 - (get_local $6) + (set_local $4 + (i32.lt_u + (tee_local $14 + (i32.sub + (i32.and + (i32.load offset=4 + (get_local $6) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $3) ) - (get_local $3) ) + (get_local $0) ) - (get_local $0) ) - ) - (set_local $0 - (select - (get_local $14) - (get_local $0) - (get_local $4) + (set_local $0 + (select + (get_local $14) + (get_local $0) + (get_local $4) + ) ) - ) - (set_local $5 - (get_local $6) - ) - (set_local $1 - (select + (set_local $5 (get_local $6) - (get_local $1) - (get_local $4) ) - ) - (br $while-in) - ) - ) - (if - (i32.lt_u - (get_local $2) - (tee_local $1 - (i32.load - (i32.const 1224) + (set_local $1 + (select + (get_local $6) + (get_local $1) + (get_local $4) + ) ) + (br $while-in) ) ) - (call $qa) - ) - (if - (i32.ge_u - (get_local $2) - (tee_local $5 - (i32.add - (get_local $2) - (get_local $3) + (if + (i32.lt_u + (get_local $2) + (tee_local $1 + (i32.load + (i32.const 1224) + ) ) ) + (call $qa) ) - (call $qa) - ) - (set_local $0 - (i32.load offset=24 - (get_local $2) - ) - ) - (block $do-once4 (if - (i32.eq - (tee_local $7 - (i32.load offset=12 + (i32.ge_u + (get_local $2) + (tee_local $5 + (i32.add (get_local $2) + (get_local $3) ) ) + ) + (call $qa) + ) + (set_local $0 + (i32.load offset=24 (get_local $2) ) - (block - (if - (tee_local $16 - (i32.load - (tee_local $9 - (i32.add - (get_local $2) - (i32.const 20) - ) - ) - ) - ) - (block - (set_local $14 - (get_local $16) - ) - (set_local $4 - (get_local $9) - ) - ) - (if - (i32.eqz - (tee_local $14 - (i32.load - (tee_local $4 - (i32.add - (get_local $2) - (i32.const 16) - ) - ) - ) - ) - ) - (block - (set_local $23 - (i32.const 0) - ) - (br $do-once4) + ) + (block $do-once4 + (if + (i32.eq + (tee_local $7 + (i32.load offset=12 + (get_local $2) ) ) + (get_local $2) ) - (loop $while-in7 + (block (if (tee_local $16 (i32.load (tee_local $9 (i32.add - (get_local $14) + (get_local $2) (i32.const 20) ) ) @@ -941,702 +901,744 @@ (set_local $4 (get_local $9) ) - (br $while-in7) + ) + (if + (i32.eqz + (tee_local $14 + (i32.load + (tee_local $4 + (i32.add + (get_local $2) + (i32.const 16) + ) + ) + ) + ) + ) + (block + (set_local $23 + (i32.const 0) + ) + (br $do-once4) + ) ) ) - (if - (tee_local $16 - (i32.load - (tee_local $9 - (i32.add - (get_local $14) - (i32.const 16) + (loop $while-in7 + (if + (tee_local $16 + (i32.load + (tee_local $9 + (i32.add + (get_local $14) + (i32.const 20) + ) ) ) ) + (block + (set_local $14 + (get_local $16) + ) + (set_local $4 + (get_local $9) + ) + (br $while-in7) + ) ) - (block - (set_local $14 - (get_local $16) + (if + (tee_local $16 + (i32.load + (tee_local $9 + (i32.add + (get_local $14) + (i32.const 16) + ) + ) + ) ) - (set_local $4 - (get_local $9) + (block + (set_local $14 + (get_local $16) + ) + (set_local $4 + (get_local $9) + ) + (br $while-in7) ) - (br $while-in7) ) ) - ) - (if - (i32.lt_u - (get_local $4) - (get_local $1) - ) - (call $qa) - (block - (i32.store + (if + (i32.lt_u (get_local $4) - (i32.const 0) - ) - (set_local $23 - (get_local $14) + (get_local $1) ) - ) - ) - ) - (block - (if - (i32.lt_u - (tee_local $9 - (i32.load offset=8 - (get_local $2) + (call $qa) + (block + (i32.store + (get_local $4) + (i32.const 0) + ) + (set_local $23 + (get_local $14) ) ) - (get_local $1) ) - (call $qa) ) - (if - (i32.ne - (i32.load - (tee_local $16 - (i32.add - (get_local $9) - (i32.const 12) + (block + (if + (i32.lt_u + (tee_local $9 + (i32.load offset=8 + (get_local $2) ) ) + (get_local $1) ) - (get_local $2) + (call $qa) ) - (call $qa) - ) - (if - (i32.eq - (i32.load - (tee_local $4 - (i32.add - (get_local $7) - (i32.const 8) + (if + (i32.ne + (i32.load + (tee_local $16 + (i32.add + (get_local $9) + (i32.const 12) + ) ) ) + (get_local $2) ) - (get_local $2) + (call $qa) ) - (block - (i32.store - (get_local $16) - (get_local $7) - ) - (i32.store - (get_local $4) - (get_local $9) + (if + (i32.eq + (i32.load + (tee_local $4 + (i32.add + (get_local $7) + (i32.const 8) + ) + ) + ) + (get_local $2) ) - (set_local $23 - (get_local $7) + (block + (i32.store + (get_local $16) + (get_local $7) + ) + (i32.store + (get_local $4) + (get_local $9) + ) + (set_local $23 + (get_local $7) + ) ) + (call $qa) ) - (call $qa) ) ) ) - ) - (block $do-once8 - (if - (get_local $0) - (block - (if - (i32.eq - (get_local $2) - (i32.load - (tee_local $1 - (i32.add - (i32.shl - (tee_local $7 - (i32.load offset=28 - (get_local $2) + (block $do-once8 + (if + (get_local $0) + (block + (if + (i32.eq + (get_local $2) + (i32.load + (tee_local $1 + (i32.add + (i32.shl + (tee_local $7 + (i32.load offset=28 + (get_local $2) + ) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 1512) ) - (i32.const 1512) ) ) ) - ) - (block - (i32.store - (get_local $1) - (get_local $23) - ) - (if - (i32.eqz + (block + (i32.store + (get_local $1) (get_local $23) ) - (block - (i32.store - (i32.const 1212) - (i32.and - (i32.load - (i32.const 1212) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $7) + (if + (i32.eqz + (get_local $23) + ) + (block + (i32.store + (i32.const 1212) + (i32.and + (i32.load + (i32.const 1212) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $7) + ) + (i32.const -1) ) - (i32.const -1) ) ) + (br $do-once8) ) - (br $do-once8) ) ) - ) - (block - (if - (i32.lt_u - (get_local $0) - (i32.load - (i32.const 1224) + (block + (if + (i32.lt_u + (get_local $0) + (i32.load + (i32.const 1224) + ) ) + (call $qa) ) - (call $qa) - ) - (if - (i32.eq - (i32.load - (tee_local $7 - (i32.add - (get_local $0) - (i32.const 16) + (if + (i32.eq + (i32.load + (tee_local $7 + (i32.add + (get_local $0) + (i32.const 16) + ) ) ) + (get_local $2) + ) + (i32.store + (get_local $7) + (get_local $23) + ) + (i32.store offset=20 + (get_local $0) + (get_local $23) ) - (get_local $2) - ) - (i32.store - (get_local $7) - (get_local $23) - ) - (i32.store offset=20 - (get_local $0) - (get_local $23) ) - ) - (br_if $do-once8 - (i32.eqz - (get_local $23) + (br_if $do-once8 + (i32.eqz + (get_local $23) + ) ) ) ) - ) - (if - (i32.lt_u - (get_local $23) - (tee_local $7 - (i32.load - (i32.const 1224) + (if + (i32.lt_u + (get_local $23) + (tee_local $7 + (i32.load + (i32.const 1224) + ) ) ) + (call $qa) ) - (call $qa) - ) - (i32.store offset=24 - (get_local $23) - (get_local $0) - ) - (if - (tee_local $1 - (i32.load offset=16 - (get_local $2) - ) + (i32.store offset=24 + (get_local $23) + (get_local $0) ) (if - (i32.lt_u - (get_local $1) - (get_local $7) + (tee_local $1 + (i32.load offset=16 + (get_local $2) + ) ) - (call $qa) - (block - (i32.store offset=16 - (get_local $23) + (if + (i32.lt_u (get_local $1) + (get_local $7) ) - (i32.store offset=24 - (get_local $1) - (get_local $23) + (call $qa) + (block + (i32.store offset=16 + (get_local $23) + (get_local $1) + ) + (i32.store offset=24 + (get_local $1) + (get_local $23) + ) ) ) ) - ) - (if - (tee_local $1 - (i32.load offset=20 - (get_local $2) - ) - ) (if - (i32.lt_u - (get_local $1) - (i32.load - (i32.const 1224) + (tee_local $1 + (i32.load offset=20 + (get_local $2) ) ) - (call $qa) - (block - (i32.store offset=20 - (get_local $23) + (if + (i32.lt_u (get_local $1) + (i32.load + (i32.const 1224) + ) ) - (i32.store offset=24 - (get_local $1) - (get_local $23) + (call $qa) + (block + (i32.store offset=20 + (get_local $23) + (get_local $1) + ) + (i32.store offset=24 + (get_local $1) + (get_local $23) + ) ) ) ) ) ) ) - ) - (if - (i32.lt_u - (get_local $6) - (i32.const 16) - ) - (block - (i32.store offset=4 - (get_local $2) - (i32.or - (tee_local $0 - (i32.add - (get_local $6) - (get_local $3) + (if + (i32.lt_u + (get_local $6) + (i32.const 16) + ) + (block + (i32.store offset=4 + (get_local $2) + (i32.or + (tee_local $0 + (i32.add + (get_local $6) + (get_local $3) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $1 - (i32.add + (i32.store + (tee_local $1 (i32.add - (get_local $2) - (get_local $0) + (i32.add + (get_local $2) + (get_local $0) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $1) + (i32.or + (i32.load + (get_local $1) + ) + (i32.const 1) ) - (i32.const 1) ) ) - ) - (block - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $3) - (i32.const 3) - ) - ) - (i32.store offset=4 - (get_local $5) - (i32.or - (get_local $6) - (i32.const 1) + (block + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $3) + (i32.const 3) + ) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $5) - (get_local $6) + (i32.or + (get_local $6) + (i32.const 1) + ) ) - (get_local $6) - ) - (if - (tee_local $1 - (i32.load - (i32.const 1216) + (i32.store + (i32.add + (get_local $5) + (get_local $6) ) + (get_local $6) ) - (block - (set_local $0 + (if + (tee_local $1 (i32.load - (i32.const 1228) + (i32.const 1216) ) ) - (set_local $1 - (i32.add - (i32.shl - (tee_local $7 - (i32.shr_u - (get_local $1) - (i32.const 3) - ) - ) - (i32.const 3) + (block + (set_local $0 + (i32.load + (i32.const 1228) ) - (i32.const 1248) ) - ) - (if - (i32.and - (tee_local $9 - (i32.load - (i32.const 1208) - ) - ) - (tee_local $4 + (set_local $1 + (i32.add (i32.shl - (i32.const 1) - (get_local $7) + (tee_local $7 + (i32.shr_u + (get_local $1) + (i32.const 3) + ) + ) + (i32.const 3) ) + (i32.const 1248) ) ) (if - (i32.lt_u + (i32.and (tee_local $9 (i32.load - (tee_local $4 - (i32.add - (get_local $1) - (i32.const 8) + (i32.const 1208) + ) + ) + (tee_local $4 + (i32.shl + (i32.const 1) + (get_local $7) + ) + ) + ) + (if + (i32.lt_u + (tee_local $9 + (i32.load + (tee_local $4 + (i32.add + (get_local $1) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 1224) + ) ) - (i32.load - (i32.const 1224) + (call $qa) + (block + (set_local $41 + (get_local $4) + ) + (set_local $27 + (get_local $9) + ) ) ) - (call $qa) (block + (i32.store + (i32.const 1208) + (i32.or + (get_local $9) + (get_local $4) + ) + ) (set_local $41 - (get_local $4) + (i32.add + (get_local $1) + (i32.const 8) + ) ) (set_local $27 - (get_local $9) - ) - ) - ) - (block - (i32.store - (i32.const 1208) - (i32.or - (get_local $9) - (get_local $4) - ) - ) - (set_local $41 - (i32.add (get_local $1) - (i32.const 8) ) ) - (set_local $27 - (get_local $1) - ) ) - ) - (i32.store - (get_local $41) - (get_local $0) - ) - (i32.store offset=12 - (get_local $27) - (get_local $0) - ) - (i32.store offset=8 - (get_local $0) - (get_local $27) - ) - (i32.store offset=12 - (get_local $0) - (get_local $1) + (i32.store + (get_local $41) + (get_local $0) + ) + (i32.store offset=12 + (get_local $27) + (get_local $0) + ) + (i32.store offset=8 + (get_local $0) + (get_local $27) + ) + (i32.store offset=12 + (get_local $0) + (get_local $1) + ) ) ) + (i32.store + (i32.const 1216) + (get_local $6) + ) + (i32.store + (i32.const 1228) + (get_local $5) + ) ) - (i32.store - (i32.const 1216) - (get_local $6) - ) - (i32.store - (i32.const 1228) - (get_local $5) + ) + (set_global $r + (get_local $25) + ) + (return + (i32.add + (get_local $2) + (i32.const 8) ) ) ) - (set_global $r - (get_local $25) - ) - (return - (i32.add - (get_local $2) - (i32.const 8) - ) + (set_local $5 + (get_local $3) ) ) - (set_local $5 - (get_local $3) - ) ) + (set_local $5 + (get_local $3) + ) + ) + ) + (if + (i32.gt_u + (get_local $0) + (i32.const -65) ) (set_local $5 - (get_local $3) + (i32.const -1) ) - ) - ) - (if - (i32.gt_u - (get_local $0) - (i32.const -65) - ) - (set_local $5 - (i32.const -1) - ) - (block - (set_local $0 - (i32.and - (tee_local $1 - (i32.add - (get_local $0) - (i32.const 11) + (block + (set_local $0 + (i32.and + (tee_local $1 + (i32.add + (get_local $0) + (i32.const 11) + ) ) - ) - (i32.const -8) - ) - ) - (if - (tee_local $9 - (i32.load - (i32.const 1212) + (i32.const -8) ) ) - (block - (set_local $4 - (i32.sub - (i32.const 0) - (get_local $0) + (if + (tee_local $9 + (i32.load + (i32.const 1212) ) ) - (block $label$break$a - (if - (tee_local $12 - (i32.load - (i32.add - (i32.shl - (tee_local $27 - (if (result i32) - (tee_local $7 - (i32.shr_u - (get_local $1) - (i32.const 8) - ) - ) + (block + (set_local $4 + (i32.sub + (i32.const 0) + (get_local $0) + ) + ) + (block $label$break$a + (if + (tee_local $12 + (i32.load + (i32.add + (i32.shl + (tee_local $27 (if (result i32) - (i32.gt_u - (get_local $0) - (i32.const 16777215) + (tee_local $7 + (i32.shr_u + (get_local $1) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $0) - (i32.add - (tee_local $12 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $0) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $0) + (i32.add + (tee_local $12 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $7 - (i32.and - (i32.shr_u - (i32.add - (tee_local $16 - (i32.shl - (get_local $7) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (get_local $7) - (i32.const 1048320) + (i32.or + (tee_local $7 + (i32.and + (i32.shr_u + (i32.add + (tee_local $16 + (i32.shl + (get_local $7) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $7) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $1) ) - (get_local $1) - ) - (tee_local $16 - (i32.and - (i32.shr_u - (i32.add - (tee_local $14 - (i32.shl - (get_local $16) - (get_local $7) + (tee_local $16 + (i32.and + (i32.shr_u + (i32.add + (tee_local $14 + (i32.shl + (get_local $16) + (get_local $7) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $14) - (get_local $16) + (i32.shr_u + (i32.shl + (get_local $14) + (get_local $16) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $12) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $12) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 1512) ) - (i32.const 1512) ) ) - ) - (block - (set_local $16 - (get_local $4) - ) - (set_local $14 - (i32.const 0) - ) - (set_local $1 - (i32.shl - (get_local $0) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u + (block + (set_local $16 + (get_local $4) + ) + (set_local $14 + (i32.const 0) + ) + (set_local $1 + (i32.shl + (get_local $0) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $27) + (i32.const 1) + ) + ) + (i32.eq (get_local $27) - (i32.const 1) + (i32.const 31) ) ) - (i32.eq - (get_local $27) - (i32.const 31) - ) ) ) - ) - (set_local $7 - (get_local $12) - ) - (set_local $8 - (i32.const 0) - ) - (loop $while-in14 - (if - (i32.lt_u - (tee_local $12 - (i32.sub - (tee_local $3 - (i32.and - (i32.load offset=4 - (get_local $7) + (set_local $7 + (get_local $12) + ) + (set_local $8 + (i32.const 0) + ) + (loop $while-in14 + (if + (i32.lt_u + (tee_local $12 + (i32.sub + (tee_local $3 + (i32.and + (i32.load offset=4 + (get_local $7) + ) + (i32.const -8) ) - (i32.const -8) ) + (get_local $0) ) - (get_local $0) ) + (get_local $16) ) - (get_local $16) - ) - (if - (i32.eq - (get_local $3) - (get_local $0) - ) - (block - (set_local $29 - (get_local $12) - ) - (set_local $28 - (get_local $7) - ) - (set_local $32 - (get_local $7) - ) - (set_local $7 - (i32.const 90) + (if + (i32.eq + (get_local $3) + (get_local $0) ) - (br $label$break$a) - ) - (block - (set_local $16 - (get_local $12) + (block + (set_local $29 + (get_local $12) + ) + (set_local $28 + (get_local $7) + ) + (set_local $32 + (get_local $7) + ) + (set_local $7 + (i32.const 90) + ) + (br $label$break$a) ) - (set_local $8 - (get_local $7) + (block + (set_local $16 + (get_local $12) + ) + (set_local $8 + (get_local $7) + ) ) ) ) - ) - (set_local $3 - (select - (get_local $14) - (tee_local $12 - (i32.load offset=20 - (get_local $7) - ) - ) - (i32.or - (i32.eqz - (get_local $12) + (set_local $3 + (select + (get_local $14) + (tee_local $12 + (i32.load offset=20 + (get_local $7) + ) ) - (i32.eq - (get_local $12) - (tee_local $7 - (i32.load - (i32.add + (i32.or + (i32.eqz + (get_local $12) + ) + (i32.eq + (get_local $12) + (tee_local $7 + (i32.load (i32.add - (get_local $7) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $1) - (i32.const 31) + (i32.add + (get_local $7) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $1) + (i32.const 31) + ) + (i32.const 2) ) - (i32.const 2) ) ) ) @@ -1644,419 +1646,376 @@ ) ) ) - ) - (if - (tee_local $12 - (i32.eqz - (get_local $7) - ) - ) - (block - (set_local $36 - (get_local $16) - ) - (set_local $5 - (get_local $3) - ) - (set_local $33 - (get_local $8) - ) - (set_local $7 - (i32.const 86) + (if + (tee_local $12 + (i32.eqz + (get_local $7) + ) ) - ) - (block - (set_local $14 - (get_local $3) + (block + (set_local $36 + (get_local $16) + ) + (set_local $5 + (get_local $3) + ) + (set_local $33 + (get_local $8) + ) + (set_local $7 + (i32.const 86) + ) ) - (set_local $1 - (i32.shl - (get_local $1) - (i32.xor - (i32.and - (get_local $12) + (block + (set_local $14 + (get_local $3) + ) + (set_local $1 + (i32.shl + (get_local $1) + (i32.xor + (i32.and + (get_local $12) + (i32.const 1) + ) (i32.const 1) ) - (i32.const 1) ) ) + (br $while-in14) ) - (br $while-in14) ) ) ) - ) - (block - (set_local $36 - (get_local $4) - ) - (set_local $5 - (i32.const 0) - ) - (set_local $33 - (i32.const 0) - ) - (set_local $7 - (i32.const 86) + (block + (set_local $36 + (get_local $4) + ) + (set_local $5 + (i32.const 0) + ) + (set_local $33 + (i32.const 0) + ) + (set_local $7 + (i32.const 86) + ) ) ) ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 86) - ) (if - (tee_local $3 - (if (result i32) - (i32.and - (i32.eqz - (get_local $5) - ) - (i32.eqz - (get_local $33) - ) - ) - (block (result i32) - (if + (i32.eq + (get_local $7) + (i32.const 86) + ) + (if + (tee_local $3 + (if (result i32) + (i32.and (i32.eqz - (tee_local $4 - (i32.and - (get_local $9) - (i32.or - (tee_local $12 - (i32.shl - (i32.const 2) - (get_local $27) + (get_local $5) + ) + (i32.eqz + (get_local $33) + ) + ) + (block (result i32) + (if + (i32.eqz + (tee_local $4 + (i32.and + (get_local $9) + (i32.or + (tee_local $12 + (i32.shl + (i32.const 2) + (get_local $27) + ) + ) + (i32.sub + (i32.const 0) + (get_local $12) ) - ) - (i32.sub - (i32.const 0) - (get_local $12) ) ) ) ) - ) - (block - (set_local $5 - (get_local $0) + (block + (set_local $5 + (get_local $0) + ) + (br $do-once) ) - (br $do-once) ) - ) - (set_local $4 - (i32.and - (i32.shr_u - (tee_local $12 - (i32.add - (i32.and - (get_local $4) - (i32.sub - (i32.const 0) + (set_local $4 + (i32.and + (i32.shr_u + (tee_local $12 + (i32.add + (i32.and (get_local $4) + (i32.sub + (i32.const 0) + (get_local $4) + ) ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (i32.load - (i32.add - (i32.shl - (i32.add - (i32.or + (i32.load + (i32.add + (i32.shl + (i32.add (i32.or (i32.or (i32.or - (tee_local $12 + (i32.or + (tee_local $12 + (i32.and + (i32.shr_u + (tee_local $3 + (i32.shr_u + (get_local $12) + (get_local $4) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $4) + ) + (tee_local $3 (i32.and (i32.shr_u - (tee_local $3 + (tee_local $5 (i32.shr_u + (get_local $3) (get_local $12) - (get_local $4) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $4) ) - (tee_local $3 + (tee_local $5 (i32.and (i32.shr_u - (tee_local $5 + (tee_local $8 (i32.shr_u + (get_local $5) (get_local $3) - (get_local $12) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) - (tee_local $5 + (tee_local $8 (i32.and (i32.shr_u - (tee_local $8 + (tee_local $1 (i32.shr_u + (get_local $8) (get_local $5) - (get_local $3) ) ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $8 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.shr_u - (get_local $8) - (get_local $5) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) + (i32.shr_u + (get_local $1) + (get_local $8) + ) ) - (i32.shr_u - (get_local $1) - (get_local $8) - ) + (i32.const 2) ) - (i32.const 2) + (i32.const 1512) ) - (i32.const 1512) ) ) + (get_local $5) ) - (get_local $5) ) - ) - (block - (set_local $29 - (get_local $36) - ) - (set_local $28 - (get_local $3) - ) - (set_local $32 - (get_local $33) - ) - (set_local $7 - (i32.const 90) - ) - ) - (block - (set_local $18 - (get_local $36) + (block + (set_local $29 + (get_local $36) + ) + (set_local $28 + (get_local $3) + ) + (set_local $32 + (get_local $33) + ) + (set_local $7 + (i32.const 90) + ) ) - (set_local $10 - (get_local $33) + (block + (set_local $18 + (get_local $36) + ) + (set_local $10 + (get_local $33) + ) ) ) ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 90) - ) - (loop $while-in16 - (set_local $7 - (i32.const 0) + (if + (i32.eq + (get_local $7) + (i32.const 90) ) - (set_local $1 - (i32.lt_u - (tee_local $8 - (i32.sub - (i32.and - (i32.load offset=4 - (get_local $28) + (loop $while-in16 + (set_local $7 + (i32.const 0) + ) + (set_local $1 + (i32.lt_u + (tee_local $8 + (i32.sub + (i32.and + (i32.load offset=4 + (get_local $28) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $0) ) - (get_local $0) ) + (get_local $29) ) - (get_local $29) - ) - ) - (set_local $5 - (select - (get_local $8) - (get_local $29) - (get_local $1) - ) - ) - (set_local $8 - (select - (get_local $28) - (get_local $32) - (get_local $1) ) - ) - (if - (tee_local $1 - (i32.load offset=16 - (get_local $28) - ) - ) - (block - (set_local $29 - (get_local $5) - ) - (set_local $28 - (get_local $1) - ) - (set_local $32 + (set_local $5 + (select (get_local $8) + (get_local $29) + (get_local $1) ) - (br $while-in16) ) - ) - (if - (tee_local $28 - (i32.load offset=20 + (set_local $8 + (select (get_local $28) + (get_local $32) + (get_local $1) ) ) - (block - (set_local $29 - (get_local $5) + (if + (tee_local $1 + (i32.load offset=16 + (get_local $28) + ) ) - (set_local $32 - (get_local $8) + (block + (set_local $29 + (get_local $5) + ) + (set_local $28 + (get_local $1) + ) + (set_local $32 + (get_local $8) + ) + (br $while-in16) ) - (br $while-in16) ) - (block - (set_local $18 - (get_local $5) + (if + (tee_local $28 + (i32.load offset=20 + (get_local $28) + ) ) - (set_local $10 - (get_local $8) + (block + (set_local $29 + (get_local $5) + ) + (set_local $32 + (get_local $8) + ) + (br $while-in16) + ) + (block + (set_local $18 + (get_local $5) + ) + (set_local $10 + (get_local $8) + ) ) ) ) ) - ) - (if - (get_local $10) (if - (i32.lt_u - (get_local $18) - (i32.sub - (i32.load - (i32.const 1216) - ) - (get_local $0) - ) - ) - (block - (if - (i32.lt_u - (get_local $10) - (tee_local $9 - (i32.load - (i32.const 1224) - ) + (get_local $10) + (if + (i32.lt_u + (get_local $18) + (i32.sub + (i32.load + (i32.const 1216) ) + (get_local $0) ) - (call $qa) ) - (if - (i32.ge_u - (get_local $10) - (tee_local $8 - (i32.add - (get_local $10) - (get_local $0) + (block + (if + (i32.lt_u + (get_local $10) + (tee_local $9 + (i32.load + (i32.const 1224) + ) ) ) + (call $qa) ) - (call $qa) - ) - (set_local $5 - (i32.load offset=24 - (get_local $10) - ) - ) - (block $do-once17 (if - (i32.eq - (tee_local $1 - (i32.load offset=12 + (i32.ge_u + (get_local $10) + (tee_local $8 + (i32.add (get_local $10) + (get_local $0) ) ) + ) + (call $qa) + ) + (set_local $5 + (i32.load offset=24 (get_local $10) ) - (block - (if - (tee_local $4 - (i32.load - (tee_local $3 - (i32.add - (get_local $10) - (i32.const 20) - ) - ) - ) - ) - (block - (set_local $14 - (get_local $4) - ) - (set_local $1 - (get_local $3) - ) - ) - (if - (tee_local $14 - (i32.load - (tee_local $12 - (i32.add - (get_local $10) - (i32.const 16) - ) - ) - ) - ) - (set_local $1 - (get_local $12) - ) - (block - (set_local $22 - (i32.const 0) - ) - (br $do-once17) + ) + (block $do-once17 + (if + (i32.eq + (tee_local $1 + (i32.load offset=12 + (get_local $10) ) ) + (get_local $10) ) - (loop $while-in20 + (block (if (tee_local $4 (i32.load (tee_local $3 (i32.add - (get_local $14) + (get_local $10) (i32.const 20) ) ) @@ -2069,698 +2028,615 @@ (set_local $1 (get_local $3) ) - (br $while-in20) + ) + (if + (tee_local $14 + (i32.load + (tee_local $12 + (i32.add + (get_local $10) + (i32.const 16) + ) + ) + ) + ) + (set_local $1 + (get_local $12) + ) + (block + (set_local $22 + (i32.const 0) + ) + (br $do-once17) + ) ) ) - (if - (tee_local $4 - (i32.load - (tee_local $3 - (i32.add - (get_local $14) - (i32.const 16) + (loop $while-in20 + (if + (tee_local $4 + (i32.load + (tee_local $3 + (i32.add + (get_local $14) + (i32.const 20) + ) ) ) ) + (block + (set_local $14 + (get_local $4) + ) + (set_local $1 + (get_local $3) + ) + (br $while-in20) + ) ) - (block - (set_local $14 - (get_local $4) + (if + (tee_local $4 + (i32.load + (tee_local $3 + (i32.add + (get_local $14) + (i32.const 16) + ) + ) + ) ) - (set_local $1 - (get_local $3) + (block + (set_local $14 + (get_local $4) + ) + (set_local $1 + (get_local $3) + ) + (br $while-in20) ) - (br $while-in20) ) ) - ) - (if - (i32.lt_u - (get_local $1) - (get_local $9) - ) - (call $qa) - (block - (i32.store + (if + (i32.lt_u (get_local $1) - (i32.const 0) - ) - (set_local $22 - (get_local $14) + (get_local $9) ) - ) - ) - ) - (block - (if - (i32.lt_u - (tee_local $3 - (i32.load offset=8 - (get_local $10) + (call $qa) + (block + (i32.store + (get_local $1) + (i32.const 0) + ) + (set_local $22 + (get_local $14) ) ) - (get_local $9) ) - (call $qa) ) - (if - (i32.ne - (i32.load - (tee_local $4 - (i32.add - (get_local $3) - (i32.const 12) + (block + (if + (i32.lt_u + (tee_local $3 + (i32.load offset=8 + (get_local $10) ) ) + (get_local $9) ) - (get_local $10) + (call $qa) ) - (call $qa) - ) - (if - (i32.eq - (i32.load - (tee_local $12 - (i32.add - (get_local $1) - (i32.const 8) + (if + (i32.ne + (i32.load + (tee_local $4 + (i32.add + (get_local $3) + (i32.const 12) + ) ) ) + (get_local $10) ) - (get_local $10) + (call $qa) ) - (block - (i32.store - (get_local $4) - (get_local $1) - ) - (i32.store - (get_local $12) - (get_local $3) + (if + (i32.eq + (i32.load + (tee_local $12 + (i32.add + (get_local $1) + (i32.const 8) + ) + ) + ) + (get_local $10) ) - (set_local $22 - (get_local $1) + (block + (i32.store + (get_local $4) + (get_local $1) + ) + (i32.store + (get_local $12) + (get_local $3) + ) + (set_local $22 + (get_local $1) + ) ) + (call $qa) ) - (call $qa) ) ) ) - ) - (block $do-once21 - (if - (get_local $5) - (block - (if - (i32.eq - (get_local $10) - (i32.load - (tee_local $9 - (i32.add - (i32.shl - (tee_local $1 - (i32.load offset=28 - (get_local $10) + (block $do-once21 + (if + (get_local $5) + (block + (if + (i32.eq + (get_local $10) + (i32.load + (tee_local $9 + (i32.add + (i32.shl + (tee_local $1 + (i32.load offset=28 + (get_local $10) + ) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 1512) ) - (i32.const 1512) ) ) ) - ) - (block - (i32.store - (get_local $9) - (get_local $22) - ) - (if - (i32.eqz + (block + (i32.store + (get_local $9) (get_local $22) ) - (block - (i32.store - (i32.const 1212) - (i32.and - (i32.load - (i32.const 1212) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $1) + (if + (i32.eqz + (get_local $22) + ) + (block + (i32.store + (i32.const 1212) + (i32.and + (i32.load + (i32.const 1212) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $1) + ) + (i32.const -1) ) - (i32.const -1) ) ) + (br $do-once21) ) - (br $do-once21) ) ) - ) - (block - (if - (i32.lt_u - (get_local $5) - (i32.load - (i32.const 1224) + (block + (if + (i32.lt_u + (get_local $5) + (i32.load + (i32.const 1224) + ) ) + (call $qa) ) - (call $qa) - ) - (if - (i32.eq - (i32.load - (tee_local $1 - (i32.add - (get_local $5) - (i32.const 16) + (if + (i32.eq + (i32.load + (tee_local $1 + (i32.add + (get_local $5) + (i32.const 16) + ) ) ) + (get_local $10) + ) + (i32.store + (get_local $1) + (get_local $22) + ) + (i32.store offset=20 + (get_local $5) + (get_local $22) ) - (get_local $10) - ) - (i32.store - (get_local $1) - (get_local $22) - ) - (i32.store offset=20 - (get_local $5) - (get_local $22) ) - ) - (br_if $do-once21 - (i32.eqz - (get_local $22) + (br_if $do-once21 + (i32.eqz + (get_local $22) + ) ) ) ) - ) - (if - (i32.lt_u - (get_local $22) - (tee_local $1 - (i32.load - (i32.const 1224) + (if + (i32.lt_u + (get_local $22) + (tee_local $1 + (i32.load + (i32.const 1224) + ) ) ) + (call $qa) ) - (call $qa) - ) - (i32.store offset=24 - (get_local $22) - (get_local $5) - ) - (if - (tee_local $9 - (i32.load offset=16 - (get_local $10) - ) + (i32.store offset=24 + (get_local $22) + (get_local $5) ) (if - (i32.lt_u - (get_local $9) - (get_local $1) + (tee_local $9 + (i32.load offset=16 + (get_local $10) + ) ) - (call $qa) - (block - (i32.store offset=16 - (get_local $22) + (if + (i32.lt_u (get_local $9) + (get_local $1) ) - (i32.store offset=24 - (get_local $9) - (get_local $22) + (call $qa) + (block + (i32.store offset=16 + (get_local $22) + (get_local $9) + ) + (i32.store offset=24 + (get_local $9) + (get_local $22) + ) ) ) ) - ) - (if - (tee_local $9 - (i32.load offset=20 - (get_local $10) - ) - ) (if - (i32.lt_u - (get_local $9) - (i32.load - (i32.const 1224) + (tee_local $9 + (i32.load offset=20 + (get_local $10) ) ) - (call $qa) - (block - (i32.store offset=20 - (get_local $22) + (if + (i32.lt_u (get_local $9) + (i32.load + (i32.const 1224) + ) ) - (i32.store offset=24 - (get_local $9) - (get_local $22) + (call $qa) + (block + (i32.store offset=20 + (get_local $22) + (get_local $9) + ) + (i32.store offset=24 + (get_local $9) + (get_local $22) + ) ) ) ) ) ) ) - ) - (block $do-once25 - (if - (i32.lt_u - (get_local $18) - (i32.const 16) - ) - (block - (i32.store offset=4 - (get_local $10) - (i32.or - (tee_local $5 - (i32.add - (get_local $18) - (get_local $0) + (block $do-once25 + (if + (i32.lt_u + (get_local $18) + (i32.const 16) + ) + (block + (i32.store offset=4 + (get_local $10) + (i32.or + (tee_local $5 + (i32.add + (get_local $18) + (get_local $0) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $9 - (i32.add + (i32.store + (tee_local $9 (i32.add - (get_local $10) - (get_local $5) + (i32.add + (get_local $10) + (get_local $5) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $9) + (i32.or + (i32.load + (get_local $9) + ) + (i32.const 1) ) - (i32.const 1) ) ) - ) - (block - (i32.store offset=4 - (get_local $10) - (i32.or - (get_local $0) - (i32.const 3) - ) - ) - (i32.store offset=4 - (get_local $8) - (i32.or - (get_local $18) - (i32.const 1) + (block + (i32.store offset=4 + (get_local $10) + (i32.or + (get_local $0) + (i32.const 3) + ) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $8) - (get_local $18) + (i32.or + (get_local $18) + (i32.const 1) + ) ) - (get_local $18) - ) - (set_local $9 - (i32.shr_u + (i32.store + (i32.add + (get_local $8) + (get_local $18) + ) (get_local $18) - (i32.const 3) ) - ) - (if - (i32.lt_u - (get_local $18) - (i32.const 256) + (set_local $9 + (i32.shr_u + (get_local $18) + (i32.const 3) + ) ) - (block - (set_local $5 - (i32.add - (i32.shl - (get_local $9) - (i32.const 3) - ) - (i32.const 1248) - ) + (if + (i32.lt_u + (get_local $18) + (i32.const 256) ) - (if - (i32.and - (tee_local $1 - (i32.load - (i32.const 1208) - ) - ) - (tee_local $3 + (block + (set_local $5 + (i32.add (i32.shl - (i32.const 1) (get_local $9) + (i32.const 3) ) + (i32.const 1248) ) ) (if - (i32.lt_u + (i32.and (tee_local $1 (i32.load - (tee_local $3 - (i32.add - (get_local $5) - (i32.const 8) + (i32.const 1208) + ) + ) + (tee_local $3 + (i32.shl + (i32.const 1) + (get_local $9) + ) + ) + ) + (if + (i32.lt_u + (tee_local $1 + (i32.load + (tee_local $3 + (i32.add + (get_local $5) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 1224) + ) ) - (i32.load - (i32.const 1224) + (call $qa) + (block + (set_local $19 + (get_local $3) + ) + (set_local $6 + (get_local $1) + ) ) ) - (call $qa) (block + (i32.store + (i32.const 1208) + (i32.or + (get_local $1) + (get_local $3) + ) + ) (set_local $19 - (get_local $3) + (i32.add + (get_local $5) + (i32.const 8) + ) ) (set_local $6 - (get_local $1) - ) - ) - ) - (block - (i32.store - (i32.const 1208) - (i32.or - (get_local $1) - (get_local $3) - ) - ) - (set_local $19 - (i32.add (get_local $5) - (i32.const 8) ) ) - (set_local $6 - (get_local $5) - ) ) + (i32.store + (get_local $19) + (get_local $8) + ) + (i32.store offset=12 + (get_local $6) + (get_local $8) + ) + (i32.store offset=8 + (get_local $8) + (get_local $6) + ) + (i32.store offset=12 + (get_local $8) + (get_local $5) + ) + (br $do-once25) ) - (i32.store - (get_local $19) - (get_local $8) - ) - (i32.store offset=12 - (get_local $6) - (get_local $8) - ) - (i32.store offset=8 - (get_local $8) - (get_local $6) - ) - (i32.store offset=12 - (get_local $8) - (get_local $5) - ) - (br $do-once25) ) - ) - (set_local $12 - (i32.add - (i32.shl - (tee_local $16 - (if (result i32) - (tee_local $5 - (i32.shr_u - (get_local $18) - (i32.const 8) - ) - ) + (set_local $12 + (i32.add + (i32.shl + (tee_local $16 (if (result i32) - (i32.gt_u - (get_local $18) - (i32.const 16777215) + (tee_local $5 + (i32.shr_u + (get_local $18) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $18) - (i32.add - (tee_local $12 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $18) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $18) + (i32.add + (tee_local $12 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $5 - (i32.and - (i32.shr_u - (i32.add - (tee_local $3 - (i32.shl - (get_local $5) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (get_local $5) - (i32.const 1048320) + (i32.or + (tee_local $5 + (i32.and + (i32.shr_u + (i32.add + (tee_local $3 + (i32.shl + (get_local $5) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $5) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $1) ) - (get_local $1) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (tee_local $9 - (i32.shl - (get_local $3) - (get_local $5) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (tee_local $9 + (i32.shl + (get_local $3) + (get_local $5) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $9) - (get_local $3) + (i32.shr_u + (i32.shl + (get_local $9) + (get_local $3) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $12) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $12) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) - ) - ) - (i32.const 2) - ) - (i32.const 1512) - ) - ) - (i32.store offset=28 - (get_local $8) - (get_local $16) - ) - (i32.store offset=4 - (tee_local $3 - (i32.add - (get_local $8) - (i32.const 16) - ) - ) - (i32.const 0) - ) - (i32.store - (get_local $3) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $3 - (i32.load - (i32.const 1212) - ) - ) - (tee_local $9 - (i32.shl - (i32.const 1) - (get_local $16) ) + (i32.const 2) ) + (i32.const 1512) ) ) - (block - (i32.store - (i32.const 1212) - (i32.or - (get_local $3) - (get_local $9) - ) - ) - (i32.store - (get_local $12) - (get_local $8) - ) - (i32.store offset=24 - (get_local $8) - (get_local $12) - ) - (i32.store offset=12 - (get_local $8) - (get_local $8) - ) - (i32.store offset=8 - (get_local $8) - (get_local $8) - ) - (br $do-once25) + (i32.store offset=28 + (get_local $8) + (get_local $16) ) - ) - (set_local $9 - (i32.shl - (get_local $18) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (get_local $16) - (i32.const 1) - ) - ) - (i32.eq - (get_local $16) - (i32.const 31) + (i32.store offset=4 + (tee_local $3 + (i32.add + (get_local $8) + (i32.const 16) ) ) + (i32.const 0) ) - ) - (set_local $3 - (i32.load - (get_local $12) + (i32.store + (get_local $3) + (i32.const 0) ) - ) - (loop $while-in28 - (block $while-out27 - (if - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $3) - ) - (i32.const -8) - ) - (get_local $18) - ) - (block - (set_local $17 - (get_local $3) - ) - (set_local $7 - (i32.const 148) - ) - (br $while-out27) - ) - ) - (if - (tee_local $1 - (i32.load - (tee_local $12 - (i32.add - (i32.add - (get_local $3) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $9) - (i32.const 31) - ) - (i32.const 2) - ) - ) + (if + (i32.eqz + (i32.and + (tee_local $3 + (i32.load + (i32.const 1212) ) ) - ) - (block - (set_local $9 + (tee_local $9 (i32.shl - (get_local $9) (i32.const 1) + (get_local $16) ) ) - (set_local $3 - (get_local $1) - ) - (br $while-in28) ) - (block - (set_local $21 - (get_local $12) - ) - (set_local $15 + ) + (block + (i32.store + (i32.const 1212) + (i32.or (get_local $3) + (get_local $9) ) - (set_local $7 - (i32.const 145) - ) - ) - ) - ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 145) - ) - (if - (i32.lt_u - (get_local $21) - (i32.load - (i32.const 1224) ) - ) - (call $qa) - (block (i32.store - (get_local $21) + (get_local $12) (get_local $8) ) (i32.store offset=24 (get_local $8) - (get_local $15) + (get_local $12) ) (i32.store offset=12 (get_local $8) @@ -2770,375 +2646,449 @@ (get_local $8) (get_local $8) ) + (br $do-once25) ) ) - (if - (i32.eq - (get_local $7) - (i32.const 148) + (set_local $9 + (i32.shl + (get_local $18) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $16) + (i32.const 1) + ) + ) + (i32.eq + (get_local $16) + (i32.const 31) + ) + ) ) - (if - (i32.and - (i32.ge_u - (tee_local $9 - (i32.load - (tee_local $3 + ) + (set_local $3 + (i32.load + (get_local $12) + ) + ) + (loop $while-in28 + (block $while-out27 + (if + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $3) + ) + (i32.const -8) + ) + (get_local $18) + ) + (block + (set_local $17 + (get_local $3) + ) + (set_local $7 + (i32.const 148) + ) + (br $while-out27) + ) + ) + (if + (tee_local $1 + (i32.load + (tee_local $12 + (i32.add (i32.add - (get_local $17) - (i32.const 8) + (get_local $3) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $9) + (i32.const 31) + ) + (i32.const 2) ) ) ) ) - (tee_local $1 - (i32.load - (i32.const 1224) + ) + (block + (set_local $9 + (i32.shl + (get_local $9) + (i32.const 1) ) ) + (set_local $3 + (get_local $1) + ) + (br $while-in28) ) - (i32.ge_u - (get_local $17) - (get_local $1) + (block + (set_local $21 + (get_local $12) + ) + (set_local $15 + (get_local $3) + ) + (set_local $7 + (i32.const 145) + ) ) ) - (block - (i32.store offset=12 - (get_local $9) - (get_local $8) + ) + ) + (if + (i32.eq + (get_local $7) + (i32.const 145) + ) + (if + (i32.lt_u + (get_local $21) + (i32.load + (i32.const 1224) ) + ) + (call $qa) + (block (i32.store - (get_local $3) + (get_local $21) (get_local $8) ) - (i32.store offset=8 + (i32.store offset=24 (get_local $8) - (get_local $9) + (get_local $15) ) (i32.store offset=12 (get_local $8) - (get_local $17) + (get_local $8) ) - (i32.store offset=24 + (i32.store offset=8 + (get_local $8) (get_local $8) - (i32.const 0) ) ) - (call $qa) + ) + (if + (i32.eq + (get_local $7) + (i32.const 148) + ) + (if + (i32.and + (i32.ge_u + (tee_local $9 + (i32.load + (tee_local $3 + (i32.add + (get_local $17) + (i32.const 8) + ) + ) + ) + ) + (tee_local $1 + (i32.load + (i32.const 1224) + ) + ) + ) + (i32.ge_u + (get_local $17) + (get_local $1) + ) + ) + (block + (i32.store offset=12 + (get_local $9) + (get_local $8) + ) + (i32.store + (get_local $3) + (get_local $8) + ) + (i32.store offset=8 + (get_local $8) + (get_local $9) + ) + (i32.store offset=12 + (get_local $8) + (get_local $17) + ) + (i32.store offset=24 + (get_local $8) + (i32.const 0) + ) + ) + (call $qa) + ) ) ) ) ) ) - ) - (set_global $r - (get_local $25) - ) - (return - (i32.add - (get_local $10) - (i32.const 8) + (set_global $r + (get_local $25) ) + (return + (i32.add + (get_local $10) + (i32.const 8) + ) + ) + ) + (set_local $5 + (get_local $0) ) ) (set_local $5 (get_local $0) ) ) - (set_local $5 - (get_local $0) - ) ) - ) - (set_local $5 - (get_local $0) + (set_local $5 + (get_local $0) + ) ) ) ) ) ) - ) - (if - (i32.ge_u - (tee_local $10 - (i32.load - (i32.const 1216) - ) - ) - (get_local $5) - ) - (block - (set_local $15 - (i32.load - (i32.const 1228) + (if + (i32.ge_u + (tee_local $10 + (i32.load + (i32.const 1216) + ) ) + (get_local $5) ) - (if - (i32.gt_u - (tee_local $17 - (i32.sub - (get_local $10) - (get_local $5) - ) + (block + (set_local $15 + (i32.load + (i32.const 1228) ) - (i32.const 15) ) - (block - (i32.store - (i32.const 1228) - (tee_local $21 - (i32.add - (get_local $15) + (if + (i32.gt_u + (tee_local $17 + (i32.sub + (get_local $10) (get_local $5) ) ) + (i32.const 15) ) - (i32.store - (i32.const 1216) - (get_local $17) - ) - (i32.store offset=4 - (get_local $21) - (i32.or + (block + (i32.store + (i32.const 1228) + (tee_local $21 + (i32.add + (get_local $15) + (get_local $5) + ) + ) + ) + (i32.store + (i32.const 1216) (get_local $17) - (i32.const 1) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $21) + (i32.or + (get_local $17) + (i32.const 1) + ) + ) + (i32.store + (i32.add + (get_local $21) + (get_local $17) + ) (get_local $17) ) - (get_local $17) - ) - (i32.store offset=4 - (get_local $15) - (i32.or - (get_local $5) - (i32.const 3) + (i32.store offset=4 + (get_local $15) + (i32.or + (get_local $5) + (i32.const 3) + ) ) ) - ) - (block - (i32.store - (i32.const 1216) - (i32.const 0) - ) - (i32.store - (i32.const 1228) - (i32.const 0) - ) - (i32.store offset=4 - (get_local $15) - (i32.or - (get_local $10) - (i32.const 3) + (block + (i32.store + (i32.const 1216) + (i32.const 0) ) - ) - (i32.store - (tee_local $17 - (i32.add + (i32.store + (i32.const 1228) + (i32.const 0) + ) + (i32.store offset=4 + (get_local $15) + (i32.or + (get_local $10) + (i32.const 3) + ) + ) + (i32.store + (tee_local $17 (i32.add - (get_local $15) - (get_local $10) + (i32.add + (get_local $15) + (get_local $10) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $17) + (i32.or + (i32.load + (get_local $17) + ) + (i32.const 1) ) - (i32.const 1) ) ) ) - ) - (set_global $r - (get_local $25) - ) - (return - (i32.add - (get_local $15) - (i32.const 8) - ) + (br $folding-inner0) ) ) - ) - (if - (i32.gt_u - (tee_local $15 - (i32.load - (i32.const 1220) + (if + (i32.gt_u + (tee_local $15 + (i32.load + (i32.const 1220) + ) ) + (get_local $5) ) - (get_local $5) - ) - (block - (i32.store - (i32.const 1220) - (tee_local $17 - (i32.sub - (get_local $15) - (get_local $5) + (block + (i32.store + (i32.const 1220) + (tee_local $17 + (i32.sub + (get_local $15) + (get_local $5) + ) ) ) - ) - (i32.store - (i32.const 1232) - (tee_local $10 - (i32.add - (tee_local $15 - (i32.load - (i32.const 1232) + (i32.store + (i32.const 1232) + (tee_local $10 + (i32.add + (tee_local $15 + (i32.load + (i32.const 1232) + ) ) + (get_local $5) ) - (get_local $5) ) ) - ) - (i32.store offset=4 - (get_local $10) - (i32.or - (get_local $17) - (i32.const 1) - ) - ) - (i32.store offset=4 - (get_local $15) - (i32.or - (get_local $5) - (i32.const 3) + (i32.store offset=4 + (get_local $10) + (i32.or + (get_local $17) + (i32.const 1) + ) ) - ) - (set_global $r - (get_local $25) - ) - (return - (i32.add + (i32.store offset=4 (get_local $15) - (i32.const 8) + (i32.or + (get_local $5) + (i32.const 3) + ) ) + (br $folding-inner0) ) ) - ) - (if - (i32.eqz - (i32.load - (i32.const 1680) - ) - ) - (block - (i32.store - (i32.const 1688) - (i32.const 4096) - ) - (i32.store - (i32.const 1684) - (i32.const 4096) - ) - (i32.store - (i32.const 1692) - (i32.const -1) - ) - (i32.store - (i32.const 1696) - (i32.const -1) - ) - (i32.store - (i32.const 1700) - (i32.const 0) - ) - (i32.store - (i32.const 1652) - (i32.const 0) - ) - (i32.store - (get_local $13) - (tee_local $15 - (i32.xor - (i32.and - (get_local $13) - (i32.const -16) - ) - (i32.const 1431655768) - ) + (if + (i32.eqz + (i32.load + (i32.const 1680) ) ) - (i32.store - (i32.const 1680) - (get_local $15) - ) - ) - ) - (set_local $15 - (i32.add - (get_local $5) - (i32.const 48) - ) - ) - (if - (i32.le_u - (tee_local $13 - (i32.and - (tee_local $10 - (i32.add - (tee_local $13 - (i32.load - (i32.const 1688) - ) - ) - (tee_local $17 - (i32.add - (get_local $5) - (i32.const 47) - ) + (block + (i32.store + (i32.const 1688) + (i32.const 4096) + ) + (i32.store + (i32.const 1684) + (i32.const 4096) + ) + (i32.store + (i32.const 1692) + (i32.const -1) + ) + (i32.store + (i32.const 1696) + (i32.const -1) + ) + (i32.store + (i32.const 1700) + (i32.const 0) + ) + (i32.store + (i32.const 1652) + (i32.const 0) + ) + (i32.store + (get_local $13) + (tee_local $15 + (i32.xor + (i32.and + (get_local $13) + (i32.const -16) ) - ) - ) - (tee_local $21 - (i32.sub - (i32.const 0) - (get_local $13) + (i32.const 1431655768) ) ) ) - ) - (get_local $5) - ) - (block - (set_global $r - (get_local $25) - ) - (return - (i32.const 0) + (i32.store + (i32.const 1680) + (get_local $15) + ) ) ) - ) - (if - (tee_local $18 - (i32.load - (i32.const 1648) + (set_local $15 + (i32.add + (get_local $5) + (i32.const 48) ) ) (if - (i32.or - (i32.le_u - (tee_local $6 - (i32.add - (tee_local $16 - (i32.load - (i32.const 1640) + (i32.le_u + (tee_local $13 + (i32.and + (tee_local $10 + (i32.add + (tee_local $13 + (i32.load + (i32.const 1688) + ) + ) + (tee_local $17 + (i32.add + (get_local $5) + (i32.const 47) + ) ) ) - (get_local $13) + ) + (tee_local $21 + (i32.sub + (i32.const 0) + (get_local $13) + ) ) ) - (get_local $16) - ) - (i32.gt_u - (get_local $6) - (get_local $18) ) + (get_local $5) ) (block (set_global $r @@ -3149,270 +3099,306 @@ ) ) ) - ) - (if - (i32.eq - (tee_local $7 - (block $label$break$b (result i32) - (if (result i32) - (i32.and - (i32.load - (i32.const 1652) + (if + (tee_local $18 + (i32.load + (i32.const 1648) + ) + ) + (if + (i32.or + (i32.le_u + (tee_local $6 + (i32.add + (tee_local $16 + (i32.load + (i32.const 1640) + ) + ) + (get_local $13) ) - (i32.const 4) ) - (i32.const 188) - (block (result i32) - (block $label$break$c - (if - (tee_local $18 - (i32.load - (i32.const 1232) - ) - ) - (block - (set_local $6 - (i32.const 1656) + (get_local $16) + ) + (i32.gt_u + (get_local $6) + (get_local $18) + ) + ) + (block + (set_global $r + (get_local $25) + ) + (return + (i32.const 0) + ) + ) + ) + ) + (if + (i32.eq + (tee_local $7 + (block $label$break$b (result i32) + (if (result i32) + (i32.and + (i32.load + (i32.const 1652) + ) + (i32.const 4) + ) + (i32.const 188) + (block (result i32) + (block $label$break$c + (if + (tee_local $18 + (i32.load + (i32.const 1232) + ) ) - (loop $while-in32 - (block $while-out31 - (if - (i32.le_u - (tee_local $16 - (i32.load - (get_local $6) - ) - ) - (get_local $18) - ) + (block + (set_local $6 + (i32.const 1656) + ) + (loop $while-in32 + (block $while-out31 (if - (i32.gt_u - (i32.add - (get_local $16) + (i32.le_u + (tee_local $16 (i32.load - (tee_local $19 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) + (get_local $6) ) ) (get_local $18) ) - (block - (set_local $0 - (get_local $6) + (if + (i32.gt_u + (i32.add + (get_local $16) + (i32.load + (tee_local $19 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + ) + ) + (get_local $18) ) - (set_local $4 - (get_local $19) + (block + (set_local $0 + (get_local $6) + ) + (set_local $4 + (get_local $19) + ) + (br $while-out31) ) - (br $while-out31) ) ) - ) - (br_if $while-in32 - (tee_local $6 - (i32.load offset=8 - (get_local $6) + (br_if $while-in32 + (tee_local $6 + (i32.load offset=8 + (get_local $6) + ) ) ) + (set_local $7 + (i32.const 171) + ) + (br $label$break$c) ) - (set_local $7 - (i32.const 171) - ) - (br $label$break$c) ) - ) - (if - (i32.lt_u - (tee_local $6 - (i32.and - (i32.sub - (get_local $10) - (i32.load - (i32.const 1220) + (if + (i32.lt_u + (tee_local $6 + (i32.and + (i32.sub + (get_local $10) + (i32.load + (i32.const 1220) + ) ) + (get_local $21) ) - (get_local $21) ) + (i32.const 2147483647) ) - (i32.const 2147483647) - ) - (if - (i32.eq - (tee_local $19 - (call $ta - (get_local $6) + (if + (i32.eq + (tee_local $19 + (call $ta + (get_local $6) + ) + ) + (i32.add + (i32.load + (get_local $0) + ) + (i32.load + (get_local $4) + ) ) ) - (i32.add - (i32.load - (get_local $0) + (if + (i32.ne + (get_local $19) + (i32.const -1) ) - (i32.load - (get_local $4) + (block + (set_local $20 + (get_local $19) + ) + (set_local $26 + (get_local $6) + ) + (br $label$break$b + (i32.const 191) + ) ) ) - ) - (if - (i32.ne - (get_local $19) - (i32.const -1) - ) (block - (set_local $20 + (set_local $11 (get_local $19) ) - (set_local $26 + (set_local $2 (get_local $6) ) - (br $label$break$b - (i32.const 191) + (set_local $7 + (i32.const 181) ) ) ) - (block - (set_local $11 - (get_local $19) - ) - (set_local $2 - (get_local $6) - ) - (set_local $7 - (i32.const 181) - ) - ) ) ) - ) - (set_local $7 - (i32.const 171) + (set_local $7 + (i32.const 171) + ) ) ) - ) - (block $do-once33 - (if - (i32.eq - (get_local $7) - (i32.const 171) - ) + (block $do-once33 (if - (i32.ne - (tee_local $18 - (call $ta - (i32.const 0) + (i32.eq + (get_local $7) + (i32.const 171) + ) + (if + (i32.ne + (tee_local $18 + (call $ta + (i32.const 0) + ) ) + (i32.const -1) ) - (i32.const -1) - ) - (block - (set_local $3 - (if (result i32) - (i32.and - (tee_local $19 - (i32.add - (tee_local $6 - (i32.load - (i32.const 1684) + (block + (set_local $3 + (if (result i32) + (i32.and + (tee_local $19 + (i32.add + (tee_local $6 + (i32.load + (i32.const 1684) + ) ) + (i32.const -1) ) - (i32.const -1) + ) + (tee_local $0 + (get_local $18) ) ) - (tee_local $0 - (get_local $18) - ) - ) - (i32.add - (i32.sub - (get_local $13) - (get_local $0) - ) - (i32.and - (i32.add - (get_local $19) + (i32.add + (i32.sub + (get_local $13) (get_local $0) ) - (i32.sub - (i32.const 0) - (get_local $6) + (i32.and + (i32.add + (get_local $19) + (get_local $0) + ) + (i32.sub + (i32.const 0) + (get_local $6) + ) ) ) + (get_local $13) ) - (get_local $13) ) - ) - (set_local $0 - (i32.add - (tee_local $6 - (i32.load - (i32.const 1640) + (set_local $0 + (i32.add + (tee_local $6 + (i32.load + (i32.const 1640) + ) ) - ) - (get_local $3) - ) - ) - (if - (i32.and - (i32.gt_u (get_local $3) - (get_local $5) - ) - (i32.lt_u - (get_local $3) - (i32.const 2147483647) ) ) - (block - (if - (tee_local $19 - (i32.load - (i32.const 1648) - ) + (if + (i32.and + (i32.gt_u + (get_local $3) + (get_local $5) ) - (br_if $do-once33 - (i32.or - (i32.le_u - (get_local $0) - (get_local $6) - ) - (i32.gt_u - (get_local $0) - (get_local $19) - ) - ) + (i32.lt_u + (get_local $3) + (i32.const 2147483647) ) ) - (if - (i32.eq + (block + (if (tee_local $19 - (call $ta - (get_local $3) + (i32.load + (i32.const 1648) ) ) - (get_local $18) - ) - (block - (set_local $20 - (get_local $18) - ) - (set_local $26 - (get_local $3) - ) - (br $label$break$b - (i32.const 191) + (br_if $do-once33 + (i32.or + (i32.le_u + (get_local $0) + (get_local $6) + ) + (i32.gt_u + (get_local $0) + (get_local $19) + ) + ) ) ) - (block - (set_local $11 - (get_local $19) + (if + (i32.eq + (tee_local $19 + (call $ta + (get_local $3) + ) + ) + (get_local $18) ) - (set_local $2 - (get_local $3) + (block + (set_local $20 + (get_local $18) + ) + (set_local $26 + (get_local $3) + ) + (br $label$break$b + (i32.const 191) + ) ) - (set_local $7 - (i32.const 181) + (block + (set_local $11 + (get_local $19) + ) + (set_local $2 + (get_local $3) + ) + (set_local $7 + (i32.const 181) + ) ) ) ) @@ -3421,1058 +3407,1084 @@ ) ) ) - ) - (block $label$break$d - (if - (i32.eq - (get_local $7) - (i32.const 181) - ) - (block - (set_local $19 - (i32.sub - (i32.const 0) - (get_local $2) - ) + (block $label$break$d + (if + (i32.eq + (get_local $7) + (i32.const 181) ) - (if - (i32.and - (i32.gt_u - (get_local $15) + (block + (set_local $19 + (i32.sub + (i32.const 0) (get_local $2) ) + ) + (if (i32.and - (i32.lt_u + (i32.gt_u + (get_local $15) (get_local $2) - (i32.const 2147483647) ) - (i32.ne - (get_local $11) - (i32.const -1) + (i32.and + (i32.lt_u + (get_local $2) + (i32.const 2147483647) + ) + (i32.ne + (get_local $11) + (i32.const -1) + ) ) ) - ) - (if - (i32.lt_u - (tee_local $0 - (i32.and - (i32.add - (i32.sub - (get_local $17) - (get_local $2) - ) - (tee_local $18 - (i32.load - (i32.const 1688) + (if + (i32.lt_u + (tee_local $0 + (i32.and + (i32.add + (i32.sub + (get_local $17) + (get_local $2) + ) + (tee_local $18 + (i32.load + (i32.const 1688) + ) ) ) + (i32.sub + (i32.const 0) + (get_local $18) + ) ) - (i32.sub - (i32.const 0) - (get_local $18) - ) - ) - ) - (i32.const 2147483647) - ) - (if - (i32.eq - (call $ta - (get_local $0) ) - (i32.const -1) + (i32.const 2147483647) ) - (block - (drop + (if + (i32.eq (call $ta - (get_local $19) + (get_local $0) + ) + (i32.const -1) + ) + (block + (drop + (call $ta + (get_local $19) + ) + ) + (br $label$break$d) + ) + (set_local $1 + (i32.add + (get_local $0) + (get_local $2) ) ) - (br $label$break$d) ) (set_local $1 - (i32.add - (get_local $0) - (get_local $2) - ) + (get_local $2) ) ) (set_local $1 (get_local $2) ) ) - (set_local $1 - (get_local $2) - ) - ) - (if - (i32.ne - (get_local $11) - (i32.const -1) - ) - (block - (set_local $20 + (if + (i32.ne (get_local $11) + (i32.const -1) ) - (set_local $26 - (get_local $1) - ) - (br $label$break$b - (i32.const 191) + (block + (set_local $20 + (get_local $11) + ) + (set_local $26 + (get_local $1) + ) + (br $label$break$b + (i32.const 191) + ) ) ) ) ) ) - ) - (i32.store - (i32.const 1652) - (i32.or - (i32.load - (i32.const 1652) + (i32.store + (i32.const 1652) + (i32.or + (i32.load + (i32.const 1652) + ) + (i32.const 4) ) - (i32.const 4) ) + (i32.const 188) ) - (i32.const 188) ) ) ) - ) - (i32.const 188) - ) - (if - (i32.lt_u - (get_local $13) - (i32.const 2147483647) + (i32.const 188) ) (if - (i32.and - (i32.lt_u - (tee_local $1 - (call $ta - (get_local $13) + (i32.lt_u + (get_local $13) + (i32.const 2147483647) + ) + (if + (i32.and + (i32.lt_u + (tee_local $1 + (call $ta + (get_local $13) + ) ) - ) - (tee_local $13 - (call $ta - (i32.const 0) + (tee_local $13 + (call $ta + (i32.const 0) + ) ) ) - ) - (i32.and - (i32.ne - (get_local $1) - (i32.const -1) - ) - (i32.ne - (get_local $13) - (i32.const -1) - ) - ) - ) - (if - (i32.gt_u - (tee_local $11 - (i32.sub - (get_local $13) + (i32.and + (i32.ne (get_local $1) + (i32.const -1) + ) + (i32.ne + (get_local $13) + (i32.const -1) ) - ) - (i32.add - (get_local $5) - (i32.const 40) ) ) - (block - (set_local $20 - (get_local $1) - ) - (set_local $26 - (get_local $11) + (if + (i32.gt_u + (tee_local $11 + (i32.sub + (get_local $13) + (get_local $1) + ) + ) + (i32.add + (get_local $5) + (i32.const 40) + ) ) - (set_local $7 - (i32.const 191) + (block + (set_local $20 + (get_local $1) + ) + (set_local $26 + (get_local $11) + ) + (set_local $7 + (i32.const 191) + ) ) ) ) ) ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 191) - ) - (block - (i32.store - (i32.const 1640) - (tee_local $11 - (i32.add - (i32.load - (i32.const 1640) - ) - (get_local $26) - ) - ) + (if + (i32.eq + (get_local $7) + (i32.const 191) ) - (if - (i32.gt_u - (get_local $11) - (i32.load - (i32.const 1644) - ) - ) + (block (i32.store - (i32.const 1644) - (get_local $11) + (i32.const 1640) + (tee_local $11 + (i32.add + (i32.load + (i32.const 1640) + ) + (get_local $26) + ) + ) ) - ) - (block $do-once38 (if - (tee_local $11 + (i32.gt_u + (get_local $11) (i32.load - (i32.const 1232) + (i32.const 1644) ) ) - (block - (set_local $2 - (i32.const 1656) + (i32.store + (i32.const 1644) + (get_local $11) + ) + ) + (block $do-once38 + (if + (tee_local $11 + (i32.load + (i32.const 1232) + ) ) - (loop $do-in41 - (block $do-out40 - (if - (i32.eq - (get_local $20) - (i32.add - (tee_local $1 - (i32.load - (get_local $2) + (block + (set_local $2 + (i32.const 1656) + ) + (loop $do-in41 + (block $do-out40 + (if + (i32.eq + (get_local $20) + (i32.add + (tee_local $1 + (i32.load + (get_local $2) + ) ) - ) - (tee_local $17 - (i32.load - (tee_local $13 - (i32.add - (get_local $2) - (i32.const 4) + (tee_local $17 + (i32.load + (tee_local $13 + (i32.add + (get_local $2) + (i32.const 4) + ) ) ) ) ) ) - ) - (block - (set_local $48 - (get_local $1) - ) - (set_local $49 - (get_local $13) - ) - (set_local $50 - (get_local $17) - ) - (set_local $51 - (get_local $2) - ) - (set_local $7 - (i32.const 201) + (block + (set_local $48 + (get_local $1) + ) + (set_local $49 + (get_local $13) + ) + (set_local $50 + (get_local $17) + ) + (set_local $51 + (get_local $2) + ) + (set_local $7 + (i32.const 201) + ) + (br $do-out40) ) - (br $do-out40) ) - ) - (br_if $do-in41 - (tee_local $2 - (i32.load offset=8 - (get_local $2) + (br_if $do-in41 + (tee_local $2 + (i32.load offset=8 + (get_local $2) + ) ) ) ) ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 201) - ) (if - (i32.eqz - (i32.and - (i32.load offset=12 - (get_local $51) - ) - (i32.const 8) - ) + (i32.eq + (get_local $7) + (i32.const 201) ) (if - (i32.and - (i32.lt_u - (get_local $11) - (get_local $20) - ) - (i32.ge_u - (get_local $11) - (get_local $48) + (i32.eqz + (i32.and + (i32.load offset=12 + (get_local $51) + ) + (i32.const 8) ) ) - (block - (i32.store - (get_local $49) - (i32.add - (get_local $50) - (get_local $26) + (if + (i32.and + (i32.lt_u + (get_local $11) + (get_local $20) ) - ) - (set_local $2 - (i32.add + (i32.ge_u (get_local $11) - (tee_local $17 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $2 - (i32.add - (get_local $11) - (i32.const 8) + (get_local $48) + ) + ) + (block + (i32.store + (get_local $49) + (i32.add + (get_local $50) + (get_local $26) + ) + ) + (set_local $2 + (i32.add + (get_local $11) + (tee_local $17 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $2 + (i32.add + (get_local $11) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $2) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $2) - (i32.const 7) ) ) ) ) - ) - (set_local $13 - (i32.add - (i32.sub - (get_local $26) - (get_local $17) - ) - (i32.load - (i32.const 1220) + (set_local $13 + (i32.add + (i32.sub + (get_local $26) + (get_local $17) + ) + (i32.load + (i32.const 1220) + ) ) ) - ) - (i32.store - (i32.const 1232) - (get_local $2) - ) - (i32.store - (i32.const 1220) - (get_local $13) - ) - (i32.store offset=4 - (get_local $2) - (i32.or + (i32.store + (i32.const 1232) + (get_local $2) + ) + (i32.store + (i32.const 1220) (get_local $13) - (i32.const 1) ) - ) - (i32.store offset=4 - (i32.add + (i32.store offset=4 (get_local $2) - (get_local $13) + (i32.or + (get_local $13) + (i32.const 1) + ) ) - (i32.const 40) - ) - (i32.store - (i32.const 1236) - (i32.load - (i32.const 1696) + (i32.store offset=4 + (i32.add + (get_local $2) + (get_local $13) + ) + (i32.const 40) + ) + (i32.store + (i32.const 1236) + (i32.load + (i32.const 1696) + ) ) + (br $do-once38) ) - (br $do-once38) ) ) ) - ) - (set_local $14 - (if (result i32) - (i32.lt_u - (get_local $20) - (tee_local $13 - (i32.load - (i32.const 1224) + (set_local $14 + (if (result i32) + (i32.lt_u + (get_local $20) + (tee_local $13 + (i32.load + (i32.const 1224) + ) ) ) - ) - (block (result i32) - (i32.store - (i32.const 1224) + (block (result i32) + (i32.store + (i32.const 1224) + (get_local $20) + ) (get_local $20) ) + (get_local $13) + ) + ) + (set_local $13 + (i32.add (get_local $20) + (get_local $26) ) - (get_local $13) ) - ) - (set_local $13 - (i32.add - (get_local $20) - (get_local $26) + (set_local $2 + (i32.const 1656) ) - ) - (set_local $2 - (i32.const 1656) - ) - (loop $while-in43 - (block $while-out42 - (if - (i32.eq - (i32.load - (get_local $2) - ) - (get_local $13) - ) - (block - (set_local $52 - (get_local $2) - ) - (set_local $42 - (get_local $2) + (loop $while-in43 + (block $while-out42 + (if + (i32.eq + (i32.load + (get_local $2) + ) + (get_local $13) ) - (set_local $7 - (i32.const 209) + (block + (set_local $52 + (get_local $2) + ) + (set_local $42 + (get_local $2) + ) + (set_local $7 + (i32.const 209) + ) + (br $while-out42) ) - (br $while-out42) ) - ) - (br_if $while-in43 - (tee_local $2 - (i32.load offset=8 - (get_local $2) + (br_if $while-in43 + (tee_local $2 + (i32.load offset=8 + (get_local $2) + ) ) ) + (set_local $30 + (i32.const 1656) + ) ) - (set_local $30 - (i32.const 1656) - ) - ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 209) ) (if - (i32.and - (i32.load offset=12 - (get_local $42) - ) - (i32.const 8) - ) - (set_local $30 - (i32.const 1656) + (i32.eq + (get_local $7) + (i32.const 209) ) - (block - (i32.store - (get_local $52) - (get_local $20) + (if + (i32.and + (i32.load offset=12 + (get_local $42) + ) + (i32.const 8) ) - (i32.store - (tee_local $2 - (i32.add - (get_local $42) - (i32.const 4) - ) + (set_local $30 + (i32.const 1656) + ) + (block + (i32.store + (get_local $52) + (get_local $20) ) - (i32.add - (i32.load - (get_local $2) + (i32.store + (tee_local $2 + (i32.add + (get_local $42) + (i32.const 4) + ) + ) + (i32.add + (i32.load + (get_local $2) + ) + (get_local $26) ) - (get_local $26) ) - ) - (set_local $17 - (i32.add - (get_local $20) - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $2 - (i32.add - (get_local $20) - (i32.const 8) + (set_local $17 + (i32.add + (get_local $20) + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $2 + (i32.add + (get_local $20) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $2) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $2) - (i32.const 7) ) ) ) - ) - (set_local $1 - (i32.add - (get_local $13) - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $2 - (i32.add - (get_local $13) - (i32.const 8) + (set_local $1 + (i32.add + (get_local $13) + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $2 + (i32.add + (get_local $13) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $2) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $2) - (i32.const 7) ) ) ) - ) - (set_local $2 - (i32.add - (get_local $17) - (get_local $5) - ) - ) - (set_local $15 - (i32.sub - (i32.sub - (get_local $1) + (set_local $2 + (i32.add (get_local $17) + (get_local $5) ) - (get_local $5) ) - ) - (i32.store offset=4 - (get_local $17) - (i32.or - (get_local $5) - (i32.const 3) + (set_local $15 + (i32.sub + (i32.sub + (get_local $1) + (get_local $17) + ) + (get_local $5) + ) ) - ) - (block $do-once44 - (if - (i32.eq - (get_local $1) - (get_local $11) + (i32.store offset=4 + (get_local $17) + (i32.or + (get_local $5) + (i32.const 3) ) - (block - (i32.store - (i32.const 1220) - (tee_local $3 - (i32.add - (i32.load - (i32.const 1220) + ) + (block $do-once44 + (if + (i32.eq + (get_local $1) + (get_local $11) + ) + (block + (i32.store + (i32.const 1220) + (tee_local $3 + (i32.add + (i32.load + (i32.const 1220) + ) + (get_local $15) ) - (get_local $15) ) ) - ) - (i32.store - (i32.const 1232) - (get_local $2) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $3) - (i32.const 1) + (i32.store + (i32.const 1232) + (get_local $2) ) - ) - ) - (block - (if - (i32.eq - (get_local $1) - (i32.load - (i32.const 1228) + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $3) + (i32.const 1) ) ) - (block - (i32.store - (i32.const 1216) - (tee_local $3 - (i32.add - (i32.load - (i32.const 1216) + ) + (block + (if + (i32.eq + (get_local $1) + (i32.load + (i32.const 1228) + ) + ) + (block + (i32.store + (i32.const 1216) + (tee_local $3 + (i32.add + (i32.load + (i32.const 1216) + ) + (get_local $15) ) - (get_local $15) ) ) - ) - (i32.store - (i32.const 1228) - (get_local $2) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $3) - (i32.const 1) + (i32.store + (i32.const 1228) + (get_local $2) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $2) - (get_local $3) + (i32.or + (get_local $3) + (i32.const 1) + ) ) - (get_local $3) - ) - (br $do-once44) - ) - ) - (if - (i32.eq - (i32.and - (tee_local $3 - (i32.load offset=4 - (get_local $1) + (i32.store + (i32.add + (get_local $2) + (get_local $3) ) + (get_local $3) ) - (i32.const 3) + (br $do-once44) ) - (i32.const 1) ) - (block - (set_local $4 + (if + (i32.eq (i32.and - (get_local $3) - (i32.const -8) - ) - ) - (set_local $0 - (i32.shr_u - (get_local $3) + (tee_local $3 + (i32.load offset=4 + (get_local $1) + ) + ) (i32.const 3) ) + (i32.const 1) ) - (block $label$break$e - (if - (i32.lt_u + (block + (set_local $4 + (i32.and (get_local $3) - (i32.const 256) + (i32.const -8) ) - (block - (set_local $10 - (i32.load offset=12 - (get_local $1) - ) + ) + (set_local $0 + (i32.shr_u + (get_local $3) + (i32.const 3) + ) + ) + (block $label$break$e + (if + (i32.lt_u + (get_local $3) + (i32.const 256) ) - (block $do-once47 - (if - (i32.ne - (tee_local $21 - (i32.load offset=8 - (get_local $1) - ) - ) - (tee_local $19 - (i32.add - (i32.shl - (get_local $0) - (i32.const 3) + (block + (set_local $10 + (i32.load offset=12 + (get_local $1) + ) + ) + (block $do-once47 + (if + (i32.ne + (tee_local $21 + (i32.load offset=8 + (get_local $1) ) - (i32.const 1248) ) - ) - ) - (block - (if - (i32.lt_u - (get_local $21) - (get_local $14) + (tee_local $19 + (i32.add + (i32.shl + (get_local $0) + (i32.const 3) + ) + (i32.const 1248) + ) ) - (call $qa) ) - (br_if $do-once47 - (i32.eq - (i32.load offset=12 + (block + (if + (i32.lt_u (get_local $21) + (get_local $14) ) - (get_local $1) - ) - ) - (call $qa) - ) - ) - ) - (if - (i32.eq - (get_local $10) - (get_local $21) - ) - (block - (i32.store - (i32.const 1208) - (i32.and - (i32.load - (i32.const 1208) + (call $qa) ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $0) + (br_if $do-once47 + (i32.eq + (i32.load offset=12 + (get_local $21) + ) + (get_local $1) ) - (i32.const -1) ) + (call $qa) ) ) - (br $label$break$e) ) - ) - (block $do-once49 (if (i32.eq (get_local $10) - (get_local $19) + (get_local $21) ) - (set_local $43 - (i32.add - (get_local $10) - (i32.const 8) + (block + (i32.store + (i32.const 1208) + (i32.and + (i32.load + (i32.const 1208) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $0) + ) + (i32.const -1) + ) + ) ) + (br $label$break$e) ) - (block - (if - (i32.lt_u + ) + (block $do-once49 + (if + (i32.eq + (get_local $10) + (get_local $19) + ) + (set_local $43 + (i32.add (get_local $10) - (get_local $14) + (i32.const 8) ) - (call $qa) ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $10) - (i32.const 8) + (block + (if + (i32.lt_u + (get_local $10) + (get_local $14) + ) + (call $qa) + ) + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $10) + (i32.const 8) + ) ) ) + (get_local $1) ) - (get_local $1) - ) - (block - (set_local $43 - (get_local $0) + (block + (set_local $43 + (get_local $0) + ) + (br $do-once49) ) - (br $do-once49) ) + (call $qa) ) - (call $qa) ) ) - ) - (i32.store offset=12 - (get_local $21) - (get_local $10) - ) - (i32.store - (get_local $43) - (get_local $21) - ) - ) - (block - (set_local $19 - (i32.load offset=24 - (get_local $1) + (i32.store offset=12 + (get_local $21) + (get_local $10) + ) + (i32.store + (get_local $43) + (get_local $21) ) ) - (block $do-once51 - (if - (i32.eq - (tee_local $0 - (i32.load offset=12 - (get_local $1) - ) - ) + (block + (set_local $19 + (i32.load offset=24 (get_local $1) ) - (block - (if - (tee_local $16 - (i32.load - (tee_local $6 - (i32.add - (tee_local $18 - (i32.add - (get_local $1) - (i32.const 16) + ) + (block $do-once51 + (if + (i32.eq + (tee_local $0 + (i32.load offset=12 + (get_local $1) + ) + ) + (get_local $1) + ) + (block + (if + (tee_local $16 + (i32.load + (tee_local $6 + (i32.add + (tee_local $18 + (i32.add + (get_local $1) + (i32.const 16) + ) ) + (i32.const 4) ) - (i32.const 4) ) ) ) - ) - (block - (set_local $3 - (get_local $16) + (block + (set_local $3 + (get_local $16) + ) + (set_local $0 + (get_local $6) + ) ) - (set_local $0 - (get_local $6) + (if + (tee_local $22 + (i32.load + (get_local $18) + ) + ) + (block + (set_local $3 + (get_local $22) + ) + (set_local $0 + (get_local $18) + ) + ) + (block + (set_local $24 + (i32.const 0) + ) + (br $do-once51) + ) ) ) - (if - (tee_local $22 - (i32.load - (get_local $18) + (loop $while-in54 + (if + (tee_local $16 + (i32.load + (tee_local $6 + (i32.add + (get_local $3) + (i32.const 20) + ) + ) + ) + ) + (block + (set_local $3 + (get_local $16) + ) + (set_local $0 + (get_local $6) + ) + (br $while-in54) ) ) - (block - (set_local $3 - (get_local $22) + (if + (tee_local $16 + (i32.load + (tee_local $6 + (i32.add + (get_local $3) + (i32.const 16) + ) + ) + ) ) - (set_local $0 - (get_local $18) + (block + (set_local $3 + (get_local $16) + ) + (set_local $0 + (get_local $6) + ) + (br $while-in54) ) ) + ) + (if + (i32.lt_u + (get_local $0) + (get_local $14) + ) + (call $qa) (block - (set_local $24 + (i32.store + (get_local $0) (i32.const 0) ) - (br $do-once51) + (set_local $24 + (get_local $3) + ) ) ) ) - (loop $while-in54 + (block (if - (tee_local $16 + (i32.lt_u + (tee_local $6 + (i32.load offset=8 + (get_local $1) + ) + ) + (get_local $14) + ) + (call $qa) + ) + (if + (i32.ne (i32.load - (tee_local $6 + (tee_local $16 (i32.add - (get_local $3) - (i32.const 20) + (get_local $6) + (i32.const 12) ) ) ) + (get_local $1) ) - (block - (set_local $3 - (get_local $16) - ) - (set_local $0 - (get_local $6) - ) - (br $while-in54) - ) + (call $qa) ) (if - (tee_local $16 + (i32.eq (i32.load - (tee_local $6 + (tee_local $18 (i32.add - (get_local $3) - (i32.const 16) + (get_local $0) + (i32.const 8) ) ) ) + (get_local $1) ) (block - (set_local $3 + (i32.store (get_local $16) + (get_local $0) ) - (set_local $0 + (i32.store + (get_local $18) (get_local $6) ) - (br $while-in54) - ) - ) - ) - (if - (i32.lt_u - (get_local $0) - (get_local $14) - ) - (call $qa) - (block - (i32.store - (get_local $0) - (i32.const 0) - ) - (set_local $24 - (get_local $3) + (set_local $24 + (get_local $0) + ) ) + (call $qa) ) ) ) - (block - (if - (i32.lt_u - (tee_local $6 - (i32.load offset=8 - (get_local $1) + ) + (br_if $label$break$e + (i32.eqz + (get_local $19) + ) + ) + (block $do-once55 + (if + (i32.eq + (get_local $1) + (i32.load + (tee_local $21 + (i32.add + (i32.shl + (tee_local $0 + (i32.load offset=28 + (get_local $1) + ) + ) + (i32.const 2) + ) + (i32.const 1512) ) ) - (get_local $14) ) - (call $qa) ) - (if - (i32.ne - (i32.load - (tee_local $16 - (i32.add - (get_local $6) - (i32.const 12) + (block + (i32.store + (get_local $21) + (get_local $24) + ) + (br_if $do-once55 + (get_local $24) + ) + (i32.store + (i32.const 1212) + (i32.and + (i32.load + (i32.const 1212) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $0) ) + (i32.const -1) ) ) - (get_local $1) ) - (call $qa) + (br $label$break$e) ) - (if - (i32.eq - (i32.load - (tee_local $18 - (i32.add - (get_local $0) - (i32.const 8) - ) + (block + (if + (i32.lt_u + (get_local $19) + (i32.load + (i32.const 1224) ) ) - (get_local $1) + (call $qa) ) - (block - (i32.store - (get_local $16) - (get_local $0) + (if + (i32.eq + (i32.load + (tee_local $10 + (i32.add + (get_local $19) + (i32.const 16) + ) + ) + ) + (get_local $1) ) (i32.store - (get_local $18) - (get_local $6) + (get_local $10) + (get_local $24) ) - (set_local $24 - (get_local $0) + (i32.store offset=20 + (get_local $19) + (get_local $24) + ) + ) + (br_if $label$break$e + (i32.eqz + (get_local $24) ) ) - (call $qa) ) ) ) - ) - (br_if $label$break$e - (i32.eqz + (if + (i32.lt_u + (get_local $24) + (tee_local $0 + (i32.load + (i32.const 1224) + ) + ) + ) + (call $qa) + ) + (i32.store offset=24 + (get_local $24) (get_local $19) ) - ) - (block $do-once55 (if - (i32.eq - (get_local $1) + (tee_local $10 (i32.load (tee_local $21 (i32.add - (i32.shl - (tee_local $0 - (i32.load offset=28 - (get_local $1) - ) - ) - (i32.const 2) - ) - (i32.const 1512) - ) - ) - ) - ) - (block - (i32.store - (get_local $21) - (get_local $24) - ) - (br_if $do-once55 - (get_local $24) - ) - (i32.store - (i32.const 1212) - (i32.and - (i32.load - (i32.const 1212) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $0) - ) - (i32.const -1) + (get_local $1) + (i32.const 16) ) ) ) - (br $label$break$e) ) - (block - (if - (i32.lt_u - (get_local $19) - (i32.load - (i32.const 1224) - ) - ) - (call $qa) + (if + (i32.lt_u + (get_local $10) + (get_local $0) ) - (if - (i32.eq - (i32.load - (tee_local $10 - (i32.add - (get_local $19) - (i32.const 16) - ) - ) - ) - (get_local $1) - ) - (i32.store - (get_local $10) - (get_local $24) - ) - (i32.store offset=20 - (get_local $19) + (call $qa) + (block + (i32.store offset=16 (get_local $24) + (get_local $10) ) - ) - (br_if $label$break$e - (i32.eqz + (i32.store offset=24 + (get_local $10) (get_local $24) ) ) ) ) - ) - (if - (i32.lt_u - (get_local $24) - (tee_local $0 - (i32.load - (i32.const 1224) - ) - ) - ) - (call $qa) - ) - (i32.store offset=24 - (get_local $24) - (get_local $19) - ) - (if - (tee_local $10 - (i32.load - (tee_local $21 - (i32.add - (get_local $1) - (i32.const 16) + (br_if $label$break$e + (i32.eqz + (tee_local $10 + (i32.load offset=4 + (get_local $21) ) ) ) @@ -4480,11 +4492,13 @@ (if (i32.lt_u (get_local $10) - (get_local $0) + (i32.load + (i32.const 1224) + ) ) (call $qa) (block - (i32.store offset=16 + (i32.store offset=20 (get_local $24) (get_local $10) ) @@ -4495,467 +4509,313 @@ ) ) ) - (br_if $label$break$e - (i32.eqz - (tee_local $10 - (i32.load offset=4 - (get_local $21) - ) - ) - ) - ) - (if - (i32.lt_u - (get_local $10) - (i32.load - (i32.const 1224) - ) - ) - (call $qa) - (block - (i32.store offset=20 - (get_local $24) - (get_local $10) - ) - (i32.store offset=24 - (get_local $10) - (get_local $24) - ) - ) - ) + ) + ) + (set_local $1 + (i32.add + (get_local $1) + (get_local $4) + ) + ) + (set_local $15 + (i32.add + (get_local $4) + (get_local $15) ) ) ) - (set_local $1 + ) + (i32.store + (tee_local $0 (i32.add (get_local $1) - (get_local $4) + (i32.const 4) ) ) - (set_local $15 - (i32.add - (get_local $4) - (get_local $15) + (i32.and + (i32.load + (get_local $0) ) + (i32.const -2) ) ) - ) - (i32.store - (tee_local $0 - (i32.add - (get_local $1) - (i32.const 4) + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $15) + (i32.const 1) ) ) - (i32.and - (i32.load - (get_local $0) + (i32.store + (i32.add + (get_local $2) + (get_local $15) ) - (i32.const -2) - ) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $15) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (get_local $2) (get_local $15) ) - (get_local $15) - ) - (set_local $0 - (i32.shr_u - (get_local $15) - (i32.const 3) - ) - ) - (if - (i32.lt_u - (get_local $15) - (i32.const 256) + (set_local $0 + (i32.shr_u + (get_local $15) + (i32.const 3) + ) ) - (block - (set_local $3 - (i32.add - (i32.shl - (get_local $0) - (i32.const 3) + (if + (i32.lt_u + (get_local $15) + (i32.const 256) + ) + (block + (set_local $3 + (i32.add + (i32.shl + (get_local $0) + (i32.const 3) + ) + (i32.const 1248) ) - (i32.const 1248) ) - ) - (block $do-once59 - (if - (i32.and - (tee_local $10 - (i32.load - (i32.const 1208) + (block $do-once59 + (if + (i32.and + (tee_local $10 + (i32.load + (i32.const 1208) + ) ) - ) - (tee_local $0 - (i32.shl - (i32.const 1) - (get_local $0) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $0) + ) ) ) - ) - (block - (if - (i32.ge_u - (tee_local $19 - (i32.load - (tee_local $0 - (i32.add - (get_local $3) - (i32.const 8) + (block + (if + (i32.ge_u + (tee_local $19 + (i32.load + (tee_local $0 + (i32.add + (get_local $3) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 1224) + ) ) - (i32.load - (i32.const 1224) + (block + (set_local $44 + (get_local $0) + ) + (set_local $37 + (get_local $19) + ) + (br $do-once59) ) ) - (block - (set_local $44 + (call $qa) + ) + (block + (i32.store + (i32.const 1208) + (i32.or + (get_local $10) (get_local $0) ) - (set_local $37 - (get_local $19) - ) - (br $do-once59) ) - ) - (call $qa) - ) - (block - (i32.store - (i32.const 1208) - (i32.or - (get_local $10) - (get_local $0) + (set_local $44 + (i32.add + (get_local $3) + (i32.const 8) + ) ) - ) - (set_local $44 - (i32.add + (set_local $37 (get_local $3) - (i32.const 8) ) ) - (set_local $37 - (get_local $3) - ) ) ) + (i32.store + (get_local $44) + (get_local $2) + ) + (i32.store offset=12 + (get_local $37) + (get_local $2) + ) + (i32.store offset=8 + (get_local $2) + (get_local $37) + ) + (i32.store offset=12 + (get_local $2) + (get_local $3) + ) + (br $do-once44) ) - (i32.store - (get_local $44) - (get_local $2) - ) - (i32.store offset=12 - (get_local $37) - (get_local $2) - ) - (i32.store offset=8 - (get_local $2) - (get_local $37) - ) - (i32.store offset=12 - (get_local $2) - (get_local $3) - ) - (br $do-once44) ) - ) - (set_local $0 - (i32.add - (i32.shl - (tee_local $4 - (block $do-once61 (result i32) - (if (result i32) - (tee_local $0 - (i32.shr_u - (get_local $15) - (i32.const 8) + (set_local $0 + (i32.add + (i32.shl + (tee_local $4 + (block $do-once61 (result i32) + (if (result i32) + (tee_local $0 + (i32.shr_u + (get_local $15) + (i32.const 8) + ) ) - ) - (block (result i32) - (drop - (br_if $do-once61 - (i32.const 31) - (i32.gt_u - (get_local $15) - (i32.const 16777215) + (block (result i32) + (drop + (br_if $do-once61 + (i32.const 31) + (i32.gt_u + (get_local $15) + (i32.const 16777215) + ) ) ) - ) - (i32.or - (i32.and - (i32.shr_u - (get_local $15) - (i32.add - (tee_local $6 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (i32.or + (i32.and + (i32.shr_u + (get_local $15) + (i32.add + (tee_local $6 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $19 - (i32.and - (i32.shr_u - (i32.add - (tee_local $4 - (i32.shl - (get_local $0) - (tee_local $10 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (i32.or + (tee_local $19 + (i32.and + (i32.shr_u + (i32.add + (tee_local $4 + (i32.shl + (get_local $0) + (tee_local $10 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $10) ) - (get_local $10) - ) - (tee_local $4 - (i32.and - (i32.shr_u - (i32.add - (tee_local $0 - (i32.shl - (get_local $4) - (get_local $19) + (tee_local $4 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $4) + (get_local $19) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $0) - (get_local $4) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $4) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $6) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $6) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) ) + (i32.const 2) ) - (i32.const 2) - ) - (i32.const 1512) - ) - ) - (i32.store offset=28 - (get_local $2) - (get_local $4) - ) - (i32.store offset=4 - (tee_local $3 - (i32.add - (get_local $2) - (i32.const 16) - ) - ) - (i32.const 0) - ) - (i32.store - (get_local $3) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $3 - (i32.load - (i32.const 1212) - ) - ) - (tee_local $6 - (i32.shl - (i32.const 1) - (get_local $4) - ) - ) + (i32.const 1512) ) ) - (block - (i32.store - (i32.const 1212) - (i32.or - (get_local $3) - (get_local $6) - ) - ) - (i32.store - (get_local $0) - (get_local $2) - ) - (i32.store offset=24 - (get_local $2) - (get_local $0) - ) - (i32.store offset=12 - (get_local $2) - (get_local $2) - ) - (i32.store offset=8 - (get_local $2) - (get_local $2) - ) - (br $do-once44) + (i32.store offset=28 + (get_local $2) + (get_local $4) ) - ) - (set_local $6 - (i32.shl - (get_local $15) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (get_local $4) - (i32.const 1) - ) - ) - (i32.eq - (get_local $4) - (i32.const 31) + (i32.store offset=4 + (tee_local $3 + (i32.add + (get_local $2) + (i32.const 16) ) ) + (i32.const 0) ) - ) - (set_local $3 - (i32.load - (get_local $0) + (i32.store + (get_local $3) + (i32.const 0) ) - ) - (loop $while-in64 - (block $while-out63 - (if - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $3) - ) - (i32.const -8) - ) - (get_local $15) - ) - (block - (set_local $38 - (get_local $3) - ) - (set_local $7 - (i32.const 279) - ) - (br $while-out63) - ) - ) - (if - (tee_local $4 - (i32.load - (tee_local $0 - (i32.add - (i32.add - (get_local $3) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $6) - (i32.const 31) - ) - (i32.const 2) - ) - ) + (if + (i32.eqz + (i32.and + (tee_local $3 + (i32.load + (i32.const 1212) ) ) - ) - (block - (set_local $6 + (tee_local $6 (i32.shl - (get_local $6) (i32.const 1) + (get_local $4) ) ) - (set_local $3 - (get_local $4) - ) - (br $while-in64) ) - (block - (set_local $45 - (get_local $0) - ) - (set_local $53 + ) + (block + (i32.store + (i32.const 1212) + (i32.or (get_local $3) - ) - (set_local $7 - (i32.const 276) + (get_local $6) ) ) - ) - ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 276) - ) - (if - (i32.lt_u - (get_local $45) - (i32.load - (i32.const 1224) - ) - ) - (call $qa) - (block (i32.store - (get_local $45) + (get_local $0) (get_local $2) ) (i32.store offset=24 (get_local $2) - (get_local $53) + (get_local $0) ) (i32.store offset=12 (get_local $2) @@ -4965,705 +4825,705 @@ (get_local $2) (get_local $2) ) + (br $do-once44) ) ) - (if - (i32.eq - (get_local $7) - (i32.const 279) + (set_local $6 + (i32.shl + (get_local $15) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $4) + (i32.const 1) + ) + ) + (i32.eq + (get_local $4) + (i32.const 31) + ) + ) ) - (if - (i32.and - (i32.ge_u - (tee_local $6 - (i32.load - (tee_local $3 + ) + (set_local $3 + (i32.load + (get_local $0) + ) + ) + (loop $while-in64 + (block $while-out63 + (if + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $3) + ) + (i32.const -8) + ) + (get_local $15) + ) + (block + (set_local $38 + (get_local $3) + ) + (set_local $7 + (i32.const 279) + ) + (br $while-out63) + ) + ) + (if + (tee_local $4 + (i32.load + (tee_local $0 + (i32.add (i32.add - (get_local $38) - (i32.const 8) + (get_local $3) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $6) + (i32.const 31) + ) + (i32.const 2) ) ) ) ) - (tee_local $4 - (i32.load - (i32.const 1224) + ) + (block + (set_local $6 + (i32.shl + (get_local $6) + (i32.const 1) ) ) + (set_local $3 + (get_local $4) + ) + (br $while-in64) ) - (i32.ge_u - (get_local $38) - (get_local $4) + (block + (set_local $45 + (get_local $0) + ) + (set_local $53 + (get_local $3) + ) + (set_local $7 + (i32.const 276) + ) ) ) - (block - (i32.store offset=12 - (get_local $6) - (get_local $2) + ) + ) + (if + (i32.eq + (get_local $7) + (i32.const 276) + ) + (if + (i32.lt_u + (get_local $45) + (i32.load + (i32.const 1224) ) + ) + (call $qa) + (block (i32.store - (get_local $3) + (get_local $45) (get_local $2) ) - (i32.store offset=8 + (i32.store offset=24 (get_local $2) - (get_local $6) + (get_local $53) ) (i32.store offset=12 (get_local $2) - (get_local $38) + (get_local $2) ) - (i32.store offset=24 + (i32.store offset=8 + (get_local $2) (get_local $2) - (i32.const 0) ) ) - (call $qa) + ) + (if + (i32.eq + (get_local $7) + (i32.const 279) + ) + (if + (i32.and + (i32.ge_u + (tee_local $6 + (i32.load + (tee_local $3 + (i32.add + (get_local $38) + (i32.const 8) + ) + ) + ) + ) + (tee_local $4 + (i32.load + (i32.const 1224) + ) + ) + ) + (i32.ge_u + (get_local $38) + (get_local $4) + ) + ) + (block + (i32.store offset=12 + (get_local $6) + (get_local $2) + ) + (i32.store + (get_local $3) + (get_local $2) + ) + (i32.store offset=8 + (get_local $2) + (get_local $6) + ) + (i32.store offset=12 + (get_local $2) + (get_local $38) + ) + (i32.store offset=24 + (get_local $2) + (i32.const 0) + ) + ) + (call $qa) + ) ) ) ) ) ) - ) - (set_global $r - (get_local $25) - ) - (return - (i32.add - (get_local $17) - (i32.const 8) + (set_global $r + (get_local $25) ) - ) - ) - ) - ) - (loop $while-in66 - (block $while-out65 - (if - (i32.le_u - (tee_local $2 - (i32.load - (get_local $30) + (return + (i32.add + (get_local $17) + (i32.const 8) ) ) - (get_local $11) ) + ) + ) + (loop $while-in66 + (block $while-out65 (if - (i32.gt_u - (tee_local $15 - (i32.add - (get_local $2) - (i32.load offset=4 - (get_local $30) - ) + (i32.le_u + (tee_local $2 + (i32.load + (get_local $30) ) ) (get_local $11) ) - (block - (set_local $0 - (get_local $15) + (if + (i32.gt_u + (tee_local $15 + (i32.add + (get_local $2) + (i32.load offset=4 + (get_local $30) + ) + ) + ) + (get_local $11) + ) + (block + (set_local $0 + (get_local $15) + ) + (br $while-out65) ) - (br $while-out65) ) ) - ) - (set_local $30 - (i32.load offset=8 - (get_local $30) + (set_local $30 + (i32.load offset=8 + (get_local $30) + ) ) + (br $while-in66) ) - (br $while-in66) ) - ) - (set_local $15 - (i32.add - (tee_local $17 - (i32.add - (get_local $0) - (i32.const -47) + (set_local $15 + (i32.add + (tee_local $17 + (i32.add + (get_local $0) + (i32.const -47) + ) ) + (i32.const 8) ) - (i32.const 8) ) - ) - (set_local $2 - (i32.add - (tee_local $17 - (select - (get_local $11) - (tee_local $2 - (i32.add - (get_local $17) - (select - (i32.and - (i32.sub - (i32.const 0) + (set_local $2 + (i32.add + (tee_local $17 + (select + (get_local $11) + (tee_local $2 + (i32.add + (get_local $17) + (select + (i32.and + (i32.sub + (i32.const 0) + (get_local $15) + ) + (i32.const 7) + ) + (i32.const 0) + (i32.and (get_local $15) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $15) - (i32.const 7) ) ) ) - ) - (i32.lt_u - (get_local $2) - (tee_local $15 - (i32.add - (get_local $11) - (i32.const 16) + (i32.lt_u + (get_local $2) + (tee_local $15 + (i32.add + (get_local $11) + (i32.const 16) + ) ) ) ) ) + (i32.const 8) ) - (i32.const 8) ) - ) - (i32.store - (i32.const 1232) - (tee_local $1 - (i32.add - (get_local $20) - (tee_local $13 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $1 - (i32.add - (get_local $20) - (i32.const 8) + (i32.store + (i32.const 1232) + (tee_local $1 + (i32.add + (get_local $20) + (tee_local $13 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.add + (get_local $20) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $1) - (i32.const 7) ) ) ) ) ) - ) - (i32.store - (i32.const 1220) - (tee_local $6 - (i32.sub + (i32.store + (i32.const 1220) + (tee_local $6 + (i32.sub + (i32.add + (get_local $26) + (i32.const -40) + ) + (get_local $13) + ) + ) + ) + (i32.store offset=4 + (get_local $1) + (i32.or + (get_local $6) + (i32.const 1) + ) + ) + (i32.store offset=4 + (i32.add + (get_local $1) + (get_local $6) + ) + (i32.const 40) + ) + (i32.store + (i32.const 1236) + (i32.load + (i32.const 1696) + ) + ) + (i32.store + (tee_local $6 (i32.add - (get_local $26) - (i32.const -40) + (get_local $17) + (i32.const 4) ) - (get_local $13) ) + (i32.const 27) ) - ) - (i32.store offset=4 - (get_local $1) - (i32.or - (get_local $6) - (i32.const 1) + (i32.store + (get_local $2) + (i32.load + (i32.const 1656) + ) ) - ) - (i32.store offset=4 - (i32.add - (get_local $1) - (get_local $6) + (i32.store offset=4 + (get_local $2) + (i32.load + (i32.const 1660) + ) ) - (i32.const 40) - ) - (i32.store - (i32.const 1236) - (i32.load - (i32.const 1696) + (i32.store offset=8 + (get_local $2) + (i32.load + (i32.const 1664) + ) ) - ) - (i32.store - (tee_local $6 - (i32.add - (get_local $17) - (i32.const 4) + (i32.store offset=12 + (get_local $2) + (i32.load + (i32.const 1668) ) ) - (i32.const 27) - ) - (i32.store - (get_local $2) - (i32.load + (i32.store (i32.const 1656) + (get_local $20) ) - ) - (i32.store offset=4 - (get_local $2) - (i32.load + (i32.store (i32.const 1660) + (get_local $26) ) - ) - (i32.store offset=8 - (get_local $2) - (i32.load - (i32.const 1664) - ) - ) - (i32.store offset=12 - (get_local $2) - (i32.load + (i32.store (i32.const 1668) + (i32.const 0) ) - ) - (i32.store - (i32.const 1656) - (get_local $20) - ) - (i32.store - (i32.const 1660) - (get_local $26) - ) - (i32.store - (i32.const 1668) - (i32.const 0) - ) - (i32.store - (i32.const 1664) - (get_local $2) - ) - (set_local $2 - (i32.add - (get_local $17) - (i32.const 24) - ) - ) - (loop $do-in68 (i32.store - (tee_local $2 - (i32.add - (get_local $2) - (i32.const 4) - ) - ) - (i32.const 7) + (i32.const 1664) + (get_local $2) ) - (br_if $do-in68 - (i32.lt_u - (i32.add - (get_local $2) - (i32.const 4) - ) - (get_local $0) + (set_local $2 + (i32.add + (get_local $17) + (i32.const 24) ) ) - ) - (if - (i32.ne - (get_local $17) - (get_local $11) - ) - (block + (loop $do-in68 (i32.store - (get_local $6) - (i32.and - (i32.load - (get_local $6) + (tee_local $2 + (i32.add + (get_local $2) + (i32.const 4) ) - (i32.const -2) ) + (i32.const 7) ) - (i32.store offset=4 - (get_local $11) - (i32.or - (tee_local $2 - (i32.sub - (get_local $17) - (get_local $11) - ) + (br_if $do-in68 + (i32.lt_u + (i32.add + (get_local $2) + (i32.const 4) ) - (i32.const 1) + (get_local $0) ) ) - (i32.store + ) + (if + (i32.ne (get_local $17) - (get_local $2) - ) - (set_local $1 - (i32.shr_u - (get_local $2) - (i32.const 3) - ) + (get_local $11) ) - (if - (i32.lt_u - (get_local $2) - (i32.const 256) + (block + (i32.store + (get_local $6) + (i32.and + (i32.load + (get_local $6) + ) + (i32.const -2) + ) ) - (block - (set_local $13 - (i32.add - (i32.shl - (get_local $1) - (i32.const 3) + (i32.store offset=4 + (get_local $11) + (i32.or + (tee_local $2 + (i32.sub + (get_local $17) + (get_local $11) ) - (i32.const 1248) ) + (i32.const 1) ) - (if - (i32.and - (tee_local $3 - (i32.load - (i32.const 1208) - ) - ) - (tee_local $4 + ) + (i32.store + (get_local $17) + (get_local $2) + ) + (set_local $1 + (i32.shr_u + (get_local $2) + (i32.const 3) + ) + ) + (if + (i32.lt_u + (get_local $2) + (i32.const 256) + ) + (block + (set_local $13 + (i32.add (i32.shl - (i32.const 1) (get_local $1) + (i32.const 3) ) + (i32.const 1248) ) ) (if - (i32.lt_u + (i32.and (tee_local $3 (i32.load - (tee_local $4 - (i32.add - (get_local $13) - (i32.const 8) + (i32.const 1208) + ) + ) + (tee_local $4 + (i32.shl + (i32.const 1) + (get_local $1) + ) + ) + ) + (if + (i32.lt_u + (tee_local $3 + (i32.load + (tee_local $4 + (i32.add + (get_local $13) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 1224) + ) ) - (i32.load - (i32.const 1224) + (call $qa) + (block + (set_local $46 + (get_local $4) + ) + (set_local $39 + (get_local $3) + ) ) ) - (call $qa) (block + (i32.store + (i32.const 1208) + (i32.or + (get_local $3) + (get_local $4) + ) + ) (set_local $46 - (get_local $4) + (i32.add + (get_local $13) + (i32.const 8) + ) ) (set_local $39 - (get_local $3) - ) - ) - ) - (block - (i32.store - (i32.const 1208) - (i32.or - (get_local $3) - (get_local $4) - ) - ) - (set_local $46 - (i32.add (get_local $13) - (i32.const 8) ) ) - (set_local $39 - (get_local $13) - ) ) + (i32.store + (get_local $46) + (get_local $11) + ) + (i32.store offset=12 + (get_local $39) + (get_local $11) + ) + (i32.store offset=8 + (get_local $11) + (get_local $39) + ) + (i32.store offset=12 + (get_local $11) + (get_local $13) + ) + (br $do-once38) ) - (i32.store - (get_local $46) - (get_local $11) - ) - (i32.store offset=12 - (get_local $39) - (get_local $11) - ) - (i32.store offset=8 - (get_local $11) - (get_local $39) - ) - (i32.store offset=12 - (get_local $11) - (get_local $13) - ) - (br $do-once38) ) - ) - (set_local $0 - (i32.add - (i32.shl - (tee_local $3 - (if (result i32) - (tee_local $13 - (i32.shr_u - (get_local $2) - (i32.const 8) - ) - ) + (set_local $0 + (i32.add + (i32.shl + (tee_local $3 (if (result i32) - (i32.gt_u - (get_local $2) - (i32.const 16777215) + (tee_local $13 + (i32.shr_u + (get_local $2) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $2) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $2) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $2) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $13 - (i32.and - (i32.shr_u - (i32.add - (tee_local $4 - (i32.shl - (get_local $13) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $13) - (i32.const 1048320) + (i32.or + (tee_local $13 + (i32.and + (i32.shr_u + (i32.add + (tee_local $4 + (i32.shl + (get_local $13) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $13) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $3) ) - (get_local $3) - ) - (tee_local $4 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $4) - (get_local $13) + (tee_local $4 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $4) + (get_local $13) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $4) + (i32.shr_u + (i32.shl + (get_local $1) + (get_local $4) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) - ) - ) - (i32.const 2) - ) - (i32.const 1512) - ) - ) - (i32.store offset=28 - (get_local $11) - (get_local $3) - ) - (i32.store offset=20 - (get_local $11) - (i32.const 0) - ) - (i32.store - (get_local $15) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $4 - (i32.load - (i32.const 1212) - ) - ) - (tee_local $1 - (i32.shl - (i32.const 1) - (get_local $3) ) + (i32.const 2) ) + (i32.const 1512) ) ) - (block - (i32.store - (i32.const 1212) - (i32.or - (get_local $4) - (get_local $1) - ) - ) - (i32.store - (get_local $0) - (get_local $11) - ) - (i32.store offset=24 - (get_local $11) - (get_local $0) - ) - (i32.store offset=12 - (get_local $11) - (get_local $11) - ) - (i32.store offset=8 - (get_local $11) - (get_local $11) - ) - (br $do-once38) + (i32.store offset=28 + (get_local $11) + (get_local $3) ) - ) - (set_local $1 - (i32.shl - (get_local $2) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (get_local $3) - (i32.const 1) - ) - ) - (i32.eq - (get_local $3) - (i32.const 31) - ) - ) + (i32.store offset=20 + (get_local $11) + (i32.const 0) ) - ) - (set_local $4 - (i32.load - (get_local $0) + (i32.store + (get_local $15) + (i32.const 0) ) - ) - (loop $while-in70 - (block $while-out69 - (if - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $4) - ) - (i32.const -8) - ) - (get_local $2) - ) - (block - (set_local $31 - (get_local $4) - ) - (set_local $7 - (i32.const 305) - ) - (br $while-out69) - ) - ) - (if - (tee_local $3 - (i32.load - (tee_local $0 - (i32.add - (i32.add - (get_local $4) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $1) - (i32.const 31) - ) - (i32.const 2) - ) - ) + (if + (i32.eqz + (i32.and + (tee_local $4 + (i32.load + (i32.const 1212) ) ) - ) - (block - (set_local $1 + (tee_local $1 (i32.shl - (get_local $1) (i32.const 1) + (get_local $3) ) ) - (set_local $4 - (get_local $3) - ) - (br $while-in70) ) - (block - (set_local $47 - (get_local $0) - ) - (set_local $54 + ) + (block + (i32.store + (i32.const 1212) + (i32.or (get_local $4) - ) - (set_local $7 - (i32.const 302) + (get_local $1) ) ) - ) - ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 302) - ) - (if - (i32.lt_u - (get_local $47) - (i32.load - (i32.const 1224) - ) - ) - (call $qa) - (block (i32.store - (get_local $47) + (get_local $0) (get_local $11) ) (i32.store offset=24 (get_local $11) - (get_local $54) + (get_local $0) ) (i32.store offset=12 (get_local $11) @@ -5673,271 +5533,406 @@ (get_local $11) (get_local $11) ) + (br $do-once38) ) ) - (if - (i32.eq - (get_local $7) - (i32.const 305) + (set_local $1 + (i32.shl + (get_local $2) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $3) + (i32.const 1) + ) + ) + (i32.eq + (get_local $3) + (i32.const 31) + ) + ) ) - (if - (i32.and - (i32.ge_u - (tee_local $1 - (i32.load - (tee_local $4 + ) + (set_local $4 + (i32.load + (get_local $0) + ) + ) + (loop $while-in70 + (block $while-out69 + (if + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $4) + ) + (i32.const -8) + ) + (get_local $2) + ) + (block + (set_local $31 + (get_local $4) + ) + (set_local $7 + (i32.const 305) + ) + (br $while-out69) + ) + ) + (if + (tee_local $3 + (i32.load + (tee_local $0 + (i32.add (i32.add - (get_local $31) - (i32.const 8) + (get_local $4) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $1) + (i32.const 31) + ) + (i32.const 2) ) ) ) ) - (tee_local $2 - (i32.load - (i32.const 1224) + ) + (block + (set_local $1 + (i32.shl + (get_local $1) + (i32.const 1) ) ) + (set_local $4 + (get_local $3) + ) + (br $while-in70) ) - (i32.ge_u - (get_local $31) - (get_local $2) + (block + (set_local $47 + (get_local $0) + ) + (set_local $54 + (get_local $4) + ) + (set_local $7 + (i32.const 302) + ) ) ) - (block - (i32.store offset=12 - (get_local $1) - (get_local $11) + ) + ) + (if + (i32.eq + (get_local $7) + (i32.const 302) + ) + (if + (i32.lt_u + (get_local $47) + (i32.load + (i32.const 1224) ) + ) + (call $qa) + (block (i32.store - (get_local $4) + (get_local $47) (get_local $11) ) - (i32.store offset=8 + (i32.store offset=24 (get_local $11) - (get_local $1) + (get_local $54) ) (i32.store offset=12 (get_local $11) - (get_local $31) + (get_local $11) ) - (i32.store offset=24 + (i32.store offset=8 + (get_local $11) (get_local $11) - (i32.const 0) ) ) - (call $qa) + ) + (if + (i32.eq + (get_local $7) + (i32.const 305) + ) + (if + (i32.and + (i32.ge_u + (tee_local $1 + (i32.load + (tee_local $4 + (i32.add + (get_local $31) + (i32.const 8) + ) + ) + ) + ) + (tee_local $2 + (i32.load + (i32.const 1224) + ) + ) + ) + (i32.ge_u + (get_local $31) + (get_local $2) + ) + ) + (block + (i32.store offset=12 + (get_local $1) + (get_local $11) + ) + (i32.store + (get_local $4) + (get_local $11) + ) + (i32.store offset=8 + (get_local $11) + (get_local $1) + ) + (i32.store offset=12 + (get_local $11) + (get_local $31) + ) + (i32.store offset=24 + (get_local $11) + (i32.const 0) + ) + ) + (call $qa) + ) ) ) ) ) ) - ) - (block - (if - (i32.or - (i32.eqz - (tee_local $1 - (i32.load - (i32.const 1224) + (block + (if + (i32.or + (i32.eqz + (tee_local $1 + (i32.load + (i32.const 1224) + ) ) ) + (i32.lt_u + (get_local $20) + (get_local $1) + ) ) - (i32.lt_u + (i32.store + (i32.const 1224) (get_local $20) - (get_local $1) ) ) (i32.store - (i32.const 1224) + (i32.const 1656) (get_local $20) ) - ) - (i32.store - (i32.const 1656) - (get_local $20) - ) - (i32.store - (i32.const 1660) - (get_local $26) - ) - (i32.store - (i32.const 1668) - (i32.const 0) - ) - (i32.store - (i32.const 1244) - (i32.load - (i32.const 1680) + (i32.store + (i32.const 1660) + (get_local $26) ) - ) - (i32.store - (i32.const 1240) - (i32.const -1) - ) - (set_local $1 - (i32.const 0) - ) - (loop $do-in - (i32.store offset=12 - (tee_local $13 - (i32.add - (i32.shl - (get_local $1) - (i32.const 3) - ) - (i32.const 1248) - ) + (i32.store + (i32.const 1668) + (i32.const 0) + ) + (i32.store + (i32.const 1244) + (i32.load + (i32.const 1680) ) - (get_local $13) ) - (i32.store offset=8 - (get_local $13) - (get_local $13) + (i32.store + (i32.const 1240) + (i32.const -1) ) - (br_if $do-in - (i32.ne - (tee_local $1 + (set_local $1 + (i32.const 0) + ) + (loop $do-in + (i32.store offset=12 + (tee_local $13 (i32.add - (get_local $1) - (i32.const 1) + (i32.shl + (get_local $1) + (i32.const 3) + ) + (i32.const 1248) + ) + ) + (get_local $13) + ) + (i32.store offset=8 + (get_local $13) + (get_local $13) + ) + (br_if $do-in + (i32.ne + (tee_local $1 + (i32.add + (get_local $1) + (i32.const 1) + ) ) + (i32.const 32) ) - (i32.const 32) ) ) - ) - (i32.store - (i32.const 1232) - (tee_local $1 - (i32.add - (get_local $20) - (tee_local $13 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $1 - (i32.add - (get_local $20) - (i32.const 8) + (i32.store + (i32.const 1232) + (tee_local $1 + (i32.add + (get_local $20) + (tee_local $13 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.add + (get_local $20) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $1) - (i32.const 7) ) ) ) ) ) - ) - (i32.store - (i32.const 1220) - (tee_local $2 - (i32.sub - (i32.add - (get_local $26) - (i32.const -40) + (i32.store + (i32.const 1220) + (tee_local $2 + (i32.sub + (i32.add + (get_local $26) + (i32.const -40) + ) + (get_local $13) ) - (get_local $13) ) ) - ) - (i32.store offset=4 - (get_local $1) - (i32.or - (get_local $2) - (i32.const 1) - ) - ) - (i32.store offset=4 - (i32.add + (i32.store offset=4 (get_local $1) - (get_local $2) + (i32.or + (get_local $2) + (i32.const 1) + ) ) - (i32.const 40) - ) - (i32.store - (i32.const 1236) - (i32.load - (i32.const 1696) + (i32.store offset=4 + (i32.add + (get_local $1) + (get_local $2) + ) + (i32.const 40) + ) + (i32.store + (i32.const 1236) + (i32.load + (i32.const 1696) + ) ) ) ) ) - ) - (if - (i32.gt_u - (tee_local $11 - (i32.load - (i32.const 1220) + (if + (i32.gt_u + (tee_local $11 + (i32.load + (i32.const 1220) + ) ) + (get_local $5) ) - (get_local $5) - ) - (block - (i32.store - (i32.const 1220) - (tee_local $31 - (i32.sub - (get_local $11) - (get_local $5) + (block + (i32.store + (i32.const 1220) + (tee_local $31 + (i32.sub + (get_local $11) + (get_local $5) + ) ) ) - ) - (i32.store - (i32.const 1232) - (tee_local $7 - (i32.add - (tee_local $11 - (i32.load - (i32.const 1232) + (i32.store + (i32.const 1232) + (tee_local $7 + (i32.add + (tee_local $11 + (i32.load + (i32.const 1232) + ) ) + (get_local $5) ) - (get_local $5) ) ) - ) - (i32.store offset=4 - (get_local $7) - (i32.or - (get_local $31) - (i32.const 1) - ) - ) - (i32.store offset=4 - (get_local $11) - (i32.or - (get_local $5) - (i32.const 3) + (i32.store offset=4 + (get_local $7) + (i32.or + (get_local $31) + (i32.const 1) + ) ) - ) - (set_global $r - (get_local $25) - ) - (return - (i32.add + (i32.store offset=4 (get_local $11) - (i32.const 8) + (i32.or + (get_local $5) + (i32.const 3) + ) + ) + (set_global $r + (get_local $25) + ) + (return + (i32.add + (get_local $11) + (i32.const 8) + ) ) ) ) ) ) - ) - (i32.store - (call $Qa) - (i32.const 12) + (i32.store + (call $Qa) + (i32.const 12) + ) + (set_global $r + (get_local $25) + ) + (return + (i32.const 0) + ) ) (set_global $r (get_local $25) ) - (i32.const 0) + (i32.add + (get_local $15) + (i32.const 8) + ) ) (func $fb (param $0 i32) (local $1 i32) diff --git a/test/memorygrowth.fromasm.clamp b/test/memorygrowth.fromasm.clamp index a6d77f5cf..71c095deb 100644 --- a/test/memorygrowth.fromasm.clamp +++ b/test/memorygrowth.fromasm.clamp @@ -105,830 +105,790 @@ (local $52 i32) (local $53 i32) (local $54 i32) - (set_local $25 - (get_global $r) - ) - (set_global $r - (i32.add + (block $folding-inner0 + (set_local $25 (get_global $r) - (i32.const 16) ) - ) - (set_local $13 - (get_local $25) - ) - (block $do-once - (if - (i32.lt_u - (get_local $0) - (i32.const 245) + (set_global $r + (i32.add + (get_global $r) + (i32.const 16) ) - (block - (if - (i32.and - (tee_local $5 - (i32.shr_u - (tee_local $4 - (i32.load - (i32.const 1208) + ) + (set_local $13 + (get_local $25) + ) + (block $do-once + (if + (i32.lt_u + (get_local $0) + (i32.const 245) + ) + (block + (if + (i32.and + (tee_local $5 + (i32.shr_u + (tee_local $4 + (i32.load + (i32.const 1208) + ) ) - ) - (tee_local $0 - (i32.shr_u - (tee_local $3 - (select - (i32.const 16) - (i32.and - (i32.add + (tee_local $0 + (i32.shr_u + (tee_local $3 + (select + (i32.const 16) + (i32.and + (i32.add + (get_local $0) + (i32.const 11) + ) + (i32.const -8) + ) + (i32.lt_u (get_local $0) (i32.const 11) ) - (i32.const -8) - ) - (i32.lt_u - (get_local $0) - (i32.const 11) ) ) + (i32.const 3) ) - (i32.const 3) ) ) ) + (i32.const 3) ) - (i32.const 3) - ) - (block - (set_local $6 - (i32.load - (tee_local $3 - (i32.add - (tee_local $12 - (i32.load - (tee_local $14 - (i32.add - (tee_local $8 - (i32.add - (i32.shl - (tee_local $0 - (i32.add - (i32.xor - (i32.and - (get_local $5) + (block + (set_local $6 + (i32.load + (tee_local $3 + (i32.add + (tee_local $12 + (i32.load + (tee_local $14 + (i32.add + (tee_local $8 + (i32.add + (i32.shl + (tee_local $0 + (i32.add + (i32.xor + (i32.and + (get_local $5) + (i32.const 1) + ) (i32.const 1) ) - (i32.const 1) + (get_local $0) ) - (get_local $0) ) + (i32.const 3) ) - (i32.const 3) + (i32.const 1248) ) - (i32.const 1248) ) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 8) ) - (i32.const 8) ) ) ) - ) - (if - (i32.eq - (get_local $8) - (get_local $6) - ) - (i32.store - (i32.const 1208) - (i32.and - (get_local $4) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $0) - ) - (i32.const -1) - ) + (if + (i32.eq + (get_local $8) + (get_local $6) ) - ) - (block - (if - (i32.lt_u - (get_local $6) - (i32.load - (i32.const 1224) + (i32.store + (i32.const 1208) + (i32.and + (get_local $4) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $0) + ) + (i32.const -1) ) ) - (call $qa) ) - (if - (i32.eq - (i32.load - (tee_local $7 - (i32.add - (get_local $6) - (i32.const 12) - ) + (block + (if + (i32.lt_u + (get_local $6) + (i32.load + (i32.const 1224) ) ) - (get_local $12) + (call $qa) ) - (block - (i32.store - (get_local $7) - (get_local $8) + (if + (i32.eq + (i32.load + (tee_local $7 + (i32.add + (get_local $6) + (i32.const 12) + ) + ) + ) + (get_local $12) ) - (i32.store - (get_local $14) - (get_local $6) + (block + (i32.store + (get_local $7) + (get_local $8) + ) + (i32.store + (get_local $14) + (get_local $6) + ) ) + (call $qa) ) - (call $qa) ) ) - ) - (i32.store offset=4 - (get_local $12) - (i32.or - (tee_local $6 - (i32.shl - (get_local $0) - (i32.const 3) + (i32.store offset=4 + (get_local $12) + (i32.or + (tee_local $6 + (i32.shl + (get_local $0) + (i32.const 3) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $14 - (i32.add + (i32.store + (tee_local $14 (i32.add - (get_local $12) - (get_local $6) + (i32.add + (get_local $12) + (get_local $6) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $14) + (i32.or + (i32.load + (get_local $14) + ) + (i32.const 1) ) - (i32.const 1) ) - ) - (set_global $r - (get_local $25) - ) - (return - (get_local $3) + (set_global $r + (get_local $25) + ) + (return + (get_local $3) + ) ) ) - ) - (if - (i32.gt_u - (get_local $3) - (tee_local $14 - (i32.load - (i32.const 1216) + (if + (i32.gt_u + (get_local $3) + (tee_local $14 + (i32.load + (i32.const 1216) + ) ) ) - ) - (block - (if - (get_local $5) - (block - (set_local $8 - (i32.and - (i32.shr_u - (tee_local $6 - (i32.add - (i32.and - (tee_local $8 - (i32.and - (i32.shl - (get_local $5) - (get_local $0) - ) - (i32.or - (tee_local $6 - (i32.shl - (i32.const 2) - (get_local $0) - ) + (block + (if + (get_local $5) + (block + (set_local $8 + (i32.and + (i32.shr_u + (tee_local $6 + (i32.add + (i32.and + (tee_local $8 + (i32.and + (i32.shl + (get_local $5) + (get_local $0) ) - (i32.sub - (i32.const 0) - (get_local $6) + (i32.or + (tee_local $6 + (i32.shl + (i32.const 2) + (get_local $0) + ) + ) + (i32.sub + (i32.const 0) + (get_local $6) + ) ) ) ) + (i32.sub + (i32.const 0) + (get_local $8) + ) ) - (i32.sub - (i32.const 0) - (get_local $8) - ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (set_local $8 - (i32.load - (tee_local $7 - (i32.add - (tee_local $9 - (i32.load - (tee_local $12 - (i32.add - (tee_local $1 - (i32.add - (i32.shl - (tee_local $16 - (i32.add - (i32.or + (set_local $8 + (i32.load + (tee_local $7 + (i32.add + (tee_local $9 + (i32.load + (tee_local $12 + (i32.add + (tee_local $1 + (i32.add + (i32.shl + (tee_local $16 + (i32.add (i32.or (i32.or (i32.or - (tee_local $6 + (i32.or + (tee_local $6 + (i32.and + (i32.shr_u + (tee_local $7 + (i32.shr_u + (get_local $6) + (get_local $8) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $8) + ) + (tee_local $7 (i32.and (i32.shr_u - (tee_local $7 + (tee_local $9 (i32.shr_u + (get_local $7) (get_local $6) - (get_local $8) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $8) ) - (tee_local $7 + (tee_local $9 (i32.and (i32.shr_u - (tee_local $9 + (tee_local $1 (i32.shr_u + (get_local $9) (get_local $7) - (get_local $6) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) - (tee_local $9 + (tee_local $1 (i32.and (i32.shr_u - (tee_local $1 + (tee_local $12 (i32.shr_u + (get_local $1) (get_local $9) - (get_local $7) ) ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $1 - (i32.and - (i32.shr_u - (tee_local $12 - (i32.shr_u - (get_local $1) - (get_local $9) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) - ) - (i32.shr_u - (get_local $12) - (get_local $1) + (i32.shr_u + (get_local $12) + (get_local $1) + ) ) ) + (i32.const 3) ) - (i32.const 3) + (i32.const 1248) ) - (i32.const 1248) ) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 8) ) - (i32.const 8) ) ) ) - ) - (if - (i32.eq - (get_local $1) - (get_local $8) - ) - (block - (i32.store - (i32.const 1208) - (i32.and - (get_local $4) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $16) + (if + (i32.eq + (get_local $1) + (get_local $8) + ) + (block + (i32.store + (i32.const 1208) + (i32.and + (get_local $4) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $16) + ) + (i32.const -1) ) - (i32.const -1) ) ) - ) - (set_local $34 - (get_local $14) - ) - ) - (block - (if - (i32.lt_u - (get_local $8) - (i32.load - (i32.const 1224) - ) + (set_local $34 + (get_local $14) ) - (call $qa) ) - (if - (i32.eq - (i32.load - (tee_local $6 - (i32.add - (get_local $8) - (i32.const 12) - ) + (block + (if + (i32.lt_u + (get_local $8) + (i32.load + (i32.const 1224) ) ) - (get_local $9) + (call $qa) ) - (block - (i32.store - (get_local $6) - (get_local $1) - ) - (i32.store - (get_local $12) - (get_local $8) - ) - (set_local $34 + (if + (i32.eq (i32.load - (i32.const 1216) + (tee_local $6 + (i32.add + (get_local $8) + (i32.const 12) + ) + ) + ) + (get_local $9) + ) + (block + (i32.store + (get_local $6) + (get_local $1) + ) + (i32.store + (get_local $12) + (get_local $8) + ) + (set_local $34 + (i32.load + (i32.const 1216) + ) ) ) + (call $qa) ) - (call $qa) ) ) - ) - (i32.store offset=4 - (get_local $9) - (i32.or - (get_local $3) - (i32.const 3) - ) - ) - (i32.store offset=4 - (tee_local $12 - (i32.add - (get_local $9) + (i32.store offset=4 + (get_local $9) + (i32.or (get_local $3) + (i32.const 3) ) ) - (i32.or - (tee_local $8 - (i32.sub - (i32.shl - (get_local $16) - (i32.const 3) - ) + (i32.store offset=4 + (tee_local $12 + (i32.add + (get_local $9) (get_local $3) ) ) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (get_local $12) - (get_local $8) - ) - (get_local $8) - ) - (if - (get_local $34) - (block - (set_local $1 - (i32.load - (i32.const 1228) - ) - ) - (set_local $4 - (i32.add - (i32.shl - (tee_local $14 - (i32.shr_u - (get_local $34) - (i32.const 3) - ) + (i32.or + (tee_local $8 + (i32.sub + (i32.shl + (get_local $16) + (i32.const 3) ) - (i32.const 3) + (get_local $3) ) - (i32.const 1248) ) + (i32.const 1) ) - (if - (i32.and - (tee_local $0 - (i32.load - (i32.const 1208) - ) + ) + (i32.store + (i32.add + (get_local $12) + (get_local $8) + ) + (get_local $8) + ) + (if + (get_local $34) + (block + (set_local $1 + (i32.load + (i32.const 1228) ) - (tee_local $5 + ) + (set_local $4 + (i32.add (i32.shl - (i32.const 1) - (get_local $14) + (tee_local $14 + (i32.shr_u + (get_local $34) + (i32.const 3) + ) + ) + (i32.const 3) ) + (i32.const 1248) ) ) (if - (i32.lt_u + (i32.and (tee_local $0 (i32.load - (tee_local $5 - (i32.add - (get_local $4) - (i32.const 8) + (i32.const 1208) + ) + ) + (tee_local $5 + (i32.shl + (i32.const 1) + (get_local $14) + ) + ) + ) + (if + (i32.lt_u + (tee_local $0 + (i32.load + (tee_local $5 + (i32.add + (get_local $4) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 1224) + ) ) - (i32.load - (i32.const 1224) + (call $qa) + (block + (set_local $40 + (get_local $5) + ) + (set_local $35 + (get_local $0) + ) ) ) - (call $qa) (block + (i32.store + (i32.const 1208) + (i32.or + (get_local $0) + (get_local $5) + ) + ) (set_local $40 - (get_local $5) + (i32.add + (get_local $4) + (i32.const 8) + ) ) (set_local $35 - (get_local $0) - ) - ) - ) - (block - (i32.store - (i32.const 1208) - (i32.or - (get_local $0) - (get_local $5) - ) - ) - (set_local $40 - (i32.add (get_local $4) - (i32.const 8) ) ) - (set_local $35 - (get_local $4) - ) ) - ) - (i32.store - (get_local $40) - (get_local $1) - ) - (i32.store offset=12 - (get_local $35) - (get_local $1) - ) - (i32.store offset=8 - (get_local $1) - (get_local $35) - ) - (i32.store offset=12 - (get_local $1) - (get_local $4) + (i32.store + (get_local $40) + (get_local $1) + ) + (i32.store offset=12 + (get_local $35) + (get_local $1) + ) + (i32.store offset=8 + (get_local $1) + (get_local $35) + ) + (i32.store offset=12 + (get_local $1) + (get_local $4) + ) ) ) - ) - (i32.store - (i32.const 1216) - (get_local $8) - ) - (i32.store - (i32.const 1228) - (get_local $12) - ) - (set_global $r - (get_local $25) - ) - (return - (get_local $7) + (i32.store + (i32.const 1216) + (get_local $8) + ) + (i32.store + (i32.const 1228) + (get_local $12) + ) + (set_global $r + (get_local $25) + ) + (return + (get_local $7) + ) ) ) - ) - (if - (tee_local $12 - (i32.load - (i32.const 1212) + (if + (tee_local $12 + (i32.load + (i32.const 1212) + ) ) - ) - (block - (set_local $12 - (i32.and - (i32.shr_u - (tee_local $8 - (i32.add - (i32.and - (get_local $12) - (i32.sub - (i32.const 0) + (block + (set_local $12 + (i32.and + (i32.shr_u + (tee_local $8 + (i32.add + (i32.and (get_local $12) + (i32.sub + (i32.const 0) + (get_local $12) + ) ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (set_local $0 - (i32.sub - (i32.and - (i32.load offset=4 - (tee_local $14 - (i32.load - (i32.add - (i32.shl - (i32.add - (i32.or + (set_local $0 + (i32.sub + (i32.and + (i32.load offset=4 + (tee_local $14 + (i32.load + (i32.add + (i32.shl + (i32.add (i32.or (i32.or (i32.or - (tee_local $8 + (i32.or + (tee_local $8 + (i32.and + (i32.shr_u + (tee_local $4 + (i32.shr_u + (get_local $8) + (get_local $12) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $12) + ) + (tee_local $4 (i32.and (i32.shr_u - (tee_local $4 + (tee_local $1 (i32.shr_u + (get_local $4) (get_local $8) - (get_local $12) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $12) ) - (tee_local $4 + (tee_local $1 (i32.and (i32.shr_u - (tee_local $1 + (tee_local $0 (i32.shr_u + (get_local $1) (get_local $4) - (get_local $8) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) - (tee_local $1 + (tee_local $0 (i32.and (i32.shr_u - (tee_local $0 + (tee_local $5 (i32.shr_u + (get_local $0) (get_local $1) - (get_local $4) ) ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (tee_local $5 - (i32.shr_u - (get_local $0) - (get_local $1) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) + (i32.shr_u + (get_local $5) + (get_local $0) + ) ) - (i32.shr_u - (get_local $5) - (get_local $0) - ) + (i32.const 2) ) - (i32.const 2) + (i32.const 1512) ) - (i32.const 1512) ) ) ) + (i32.const -8) ) - (i32.const -8) + (get_local $3) ) - (get_local $3) ) - ) - (set_local $5 - (get_local $14) - ) - (set_local $1 - (get_local $14) - ) - (loop $while-in - (block $while-out - (if - (tee_local $14 - (i32.load offset=16 - (get_local $5) - ) - ) - (set_local $6 - (get_local $14) - ) + (set_local $5 + (get_local $14) + ) + (set_local $1 + (get_local $14) + ) + (loop $while-in + (block $while-out (if - (tee_local $4 - (i32.load offset=20 + (tee_local $14 + (i32.load offset=16 (get_local $5) ) ) (set_local $6 - (get_local $4) + (get_local $14) ) - (block + (if + (tee_local $4 + (i32.load offset=20 + (get_local $5) + ) + ) (set_local $6 - (get_local $0) + (get_local $4) ) - (set_local $2 - (get_local $1) + (block + (set_local $6 + (get_local $0) + ) + (set_local $2 + (get_local $1) + ) + (br $while-out) ) - (br $while-out) ) ) - ) - (set_local $4 - (i32.lt_u - (tee_local $14 - (i32.sub - (i32.and - (i32.load offset=4 - (get_local $6) + (set_local $4 + (i32.lt_u + (tee_local $14 + (i32.sub + (i32.and + (i32.load offset=4 + (get_local $6) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $3) ) - (get_local $3) ) + (get_local $0) ) - (get_local $0) ) - ) - (set_local $0 - (select - (get_local $14) - (get_local $0) - (get_local $4) + (set_local $0 + (select + (get_local $14) + (get_local $0) + (get_local $4) + ) ) - ) - (set_local $5 - (get_local $6) - ) - (set_local $1 - (select + (set_local $5 (get_local $6) - (get_local $1) - (get_local $4) ) - ) - (br $while-in) - ) - ) - (if - (i32.lt_u - (get_local $2) - (tee_local $1 - (i32.load - (i32.const 1224) + (set_local $1 + (select + (get_local $6) + (get_local $1) + (get_local $4) + ) ) + (br $while-in) ) ) - (call $qa) - ) - (if - (i32.ge_u - (get_local $2) - (tee_local $5 - (i32.add - (get_local $2) - (get_local $3) + (if + (i32.lt_u + (get_local $2) + (tee_local $1 + (i32.load + (i32.const 1224) + ) ) ) + (call $qa) ) - (call $qa) - ) - (set_local $0 - (i32.load offset=24 - (get_local $2) - ) - ) - (block $do-once4 (if - (i32.eq - (tee_local $7 - (i32.load offset=12 + (i32.ge_u + (get_local $2) + (tee_local $5 + (i32.add (get_local $2) + (get_local $3) ) ) + ) + (call $qa) + ) + (set_local $0 + (i32.load offset=24 (get_local $2) ) - (block - (if - (tee_local $16 - (i32.load - (tee_local $9 - (i32.add - (get_local $2) - (i32.const 20) - ) - ) - ) - ) - (block - (set_local $14 - (get_local $16) - ) - (set_local $4 - (get_local $9) - ) - ) - (if - (i32.eqz - (tee_local $14 - (i32.load - (tee_local $4 - (i32.add - (get_local $2) - (i32.const 16) - ) - ) - ) - ) - ) - (block - (set_local $23 - (i32.const 0) - ) - (br $do-once4) + ) + (block $do-once4 + (if + (i32.eq + (tee_local $7 + (i32.load offset=12 + (get_local $2) ) ) + (get_local $2) ) - (loop $while-in7 + (block (if (tee_local $16 (i32.load (tee_local $9 (i32.add - (get_local $14) + (get_local $2) (i32.const 20) ) ) @@ -941,702 +901,744 @@ (set_local $4 (get_local $9) ) - (br $while-in7) + ) + (if + (i32.eqz + (tee_local $14 + (i32.load + (tee_local $4 + (i32.add + (get_local $2) + (i32.const 16) + ) + ) + ) + ) + ) + (block + (set_local $23 + (i32.const 0) + ) + (br $do-once4) + ) ) ) - (if - (tee_local $16 - (i32.load - (tee_local $9 - (i32.add - (get_local $14) - (i32.const 16) + (loop $while-in7 + (if + (tee_local $16 + (i32.load + (tee_local $9 + (i32.add + (get_local $14) + (i32.const 20) + ) ) ) ) + (block + (set_local $14 + (get_local $16) + ) + (set_local $4 + (get_local $9) + ) + (br $while-in7) + ) ) - (block - (set_local $14 - (get_local $16) + (if + (tee_local $16 + (i32.load + (tee_local $9 + (i32.add + (get_local $14) + (i32.const 16) + ) + ) + ) ) - (set_local $4 - (get_local $9) + (block + (set_local $14 + (get_local $16) + ) + (set_local $4 + (get_local $9) + ) + (br $while-in7) ) - (br $while-in7) ) ) - ) - (if - (i32.lt_u - (get_local $4) - (get_local $1) - ) - (call $qa) - (block - (i32.store + (if + (i32.lt_u (get_local $4) - (i32.const 0) - ) - (set_local $23 - (get_local $14) + (get_local $1) ) - ) - ) - ) - (block - (if - (i32.lt_u - (tee_local $9 - (i32.load offset=8 - (get_local $2) + (call $qa) + (block + (i32.store + (get_local $4) + (i32.const 0) + ) + (set_local $23 + (get_local $14) ) ) - (get_local $1) ) - (call $qa) ) - (if - (i32.ne - (i32.load - (tee_local $16 - (i32.add - (get_local $9) - (i32.const 12) + (block + (if + (i32.lt_u + (tee_local $9 + (i32.load offset=8 + (get_local $2) ) ) + (get_local $1) ) - (get_local $2) + (call $qa) ) - (call $qa) - ) - (if - (i32.eq - (i32.load - (tee_local $4 - (i32.add - (get_local $7) - (i32.const 8) + (if + (i32.ne + (i32.load + (tee_local $16 + (i32.add + (get_local $9) + (i32.const 12) + ) ) ) + (get_local $2) ) - (get_local $2) + (call $qa) ) - (block - (i32.store - (get_local $16) - (get_local $7) - ) - (i32.store - (get_local $4) - (get_local $9) + (if + (i32.eq + (i32.load + (tee_local $4 + (i32.add + (get_local $7) + (i32.const 8) + ) + ) + ) + (get_local $2) ) - (set_local $23 - (get_local $7) + (block + (i32.store + (get_local $16) + (get_local $7) + ) + (i32.store + (get_local $4) + (get_local $9) + ) + (set_local $23 + (get_local $7) + ) ) + (call $qa) ) - (call $qa) ) ) ) - ) - (block $do-once8 - (if - (get_local $0) - (block - (if - (i32.eq - (get_local $2) - (i32.load - (tee_local $1 - (i32.add - (i32.shl - (tee_local $7 - (i32.load offset=28 - (get_local $2) + (block $do-once8 + (if + (get_local $0) + (block + (if + (i32.eq + (get_local $2) + (i32.load + (tee_local $1 + (i32.add + (i32.shl + (tee_local $7 + (i32.load offset=28 + (get_local $2) + ) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 1512) ) - (i32.const 1512) ) ) ) - ) - (block - (i32.store - (get_local $1) - (get_local $23) - ) - (if - (i32.eqz + (block + (i32.store + (get_local $1) (get_local $23) ) - (block - (i32.store - (i32.const 1212) - (i32.and - (i32.load - (i32.const 1212) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $7) + (if + (i32.eqz + (get_local $23) + ) + (block + (i32.store + (i32.const 1212) + (i32.and + (i32.load + (i32.const 1212) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $7) + ) + (i32.const -1) ) - (i32.const -1) ) ) + (br $do-once8) ) - (br $do-once8) ) ) - ) - (block - (if - (i32.lt_u - (get_local $0) - (i32.load - (i32.const 1224) + (block + (if + (i32.lt_u + (get_local $0) + (i32.load + (i32.const 1224) + ) ) + (call $qa) ) - (call $qa) - ) - (if - (i32.eq - (i32.load - (tee_local $7 - (i32.add - (get_local $0) - (i32.const 16) + (if + (i32.eq + (i32.load + (tee_local $7 + (i32.add + (get_local $0) + (i32.const 16) + ) ) ) + (get_local $2) + ) + (i32.store + (get_local $7) + (get_local $23) + ) + (i32.store offset=20 + (get_local $0) + (get_local $23) ) - (get_local $2) - ) - (i32.store - (get_local $7) - (get_local $23) - ) - (i32.store offset=20 - (get_local $0) - (get_local $23) ) - ) - (br_if $do-once8 - (i32.eqz - (get_local $23) + (br_if $do-once8 + (i32.eqz + (get_local $23) + ) ) ) ) - ) - (if - (i32.lt_u - (get_local $23) - (tee_local $7 - (i32.load - (i32.const 1224) + (if + (i32.lt_u + (get_local $23) + (tee_local $7 + (i32.load + (i32.const 1224) + ) ) ) + (call $qa) ) - (call $qa) - ) - (i32.store offset=24 - (get_local $23) - (get_local $0) - ) - (if - (tee_local $1 - (i32.load offset=16 - (get_local $2) - ) + (i32.store offset=24 + (get_local $23) + (get_local $0) ) (if - (i32.lt_u - (get_local $1) - (get_local $7) + (tee_local $1 + (i32.load offset=16 + (get_local $2) + ) ) - (call $qa) - (block - (i32.store offset=16 - (get_local $23) + (if + (i32.lt_u (get_local $1) + (get_local $7) ) - (i32.store offset=24 - (get_local $1) - (get_local $23) + (call $qa) + (block + (i32.store offset=16 + (get_local $23) + (get_local $1) + ) + (i32.store offset=24 + (get_local $1) + (get_local $23) + ) ) ) ) - ) - (if - (tee_local $1 - (i32.load offset=20 - (get_local $2) - ) - ) (if - (i32.lt_u - (get_local $1) - (i32.load - (i32.const 1224) + (tee_local $1 + (i32.load offset=20 + (get_local $2) ) ) - (call $qa) - (block - (i32.store offset=20 - (get_local $23) + (if + (i32.lt_u (get_local $1) + (i32.load + (i32.const 1224) + ) ) - (i32.store offset=24 - (get_local $1) - (get_local $23) + (call $qa) + (block + (i32.store offset=20 + (get_local $23) + (get_local $1) + ) + (i32.store offset=24 + (get_local $1) + (get_local $23) + ) ) ) ) ) ) ) - ) - (if - (i32.lt_u - (get_local $6) - (i32.const 16) - ) - (block - (i32.store offset=4 - (get_local $2) - (i32.or - (tee_local $0 - (i32.add - (get_local $6) - (get_local $3) + (if + (i32.lt_u + (get_local $6) + (i32.const 16) + ) + (block + (i32.store offset=4 + (get_local $2) + (i32.or + (tee_local $0 + (i32.add + (get_local $6) + (get_local $3) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $1 - (i32.add + (i32.store + (tee_local $1 (i32.add - (get_local $2) - (get_local $0) + (i32.add + (get_local $2) + (get_local $0) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $1) + (i32.or + (i32.load + (get_local $1) + ) + (i32.const 1) ) - (i32.const 1) ) ) - ) - (block - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $3) - (i32.const 3) - ) - ) - (i32.store offset=4 - (get_local $5) - (i32.or - (get_local $6) - (i32.const 1) + (block + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $3) + (i32.const 3) + ) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $5) - (get_local $6) + (i32.or + (get_local $6) + (i32.const 1) + ) ) - (get_local $6) - ) - (if - (tee_local $1 - (i32.load - (i32.const 1216) + (i32.store + (i32.add + (get_local $5) + (get_local $6) ) + (get_local $6) ) - (block - (set_local $0 + (if + (tee_local $1 (i32.load - (i32.const 1228) + (i32.const 1216) ) ) - (set_local $1 - (i32.add - (i32.shl - (tee_local $7 - (i32.shr_u - (get_local $1) - (i32.const 3) - ) - ) - (i32.const 3) + (block + (set_local $0 + (i32.load + (i32.const 1228) ) - (i32.const 1248) ) - ) - (if - (i32.and - (tee_local $9 - (i32.load - (i32.const 1208) - ) - ) - (tee_local $4 + (set_local $1 + (i32.add (i32.shl - (i32.const 1) - (get_local $7) + (tee_local $7 + (i32.shr_u + (get_local $1) + (i32.const 3) + ) + ) + (i32.const 3) ) + (i32.const 1248) ) ) (if - (i32.lt_u + (i32.and (tee_local $9 (i32.load - (tee_local $4 - (i32.add - (get_local $1) - (i32.const 8) + (i32.const 1208) + ) + ) + (tee_local $4 + (i32.shl + (i32.const 1) + (get_local $7) + ) + ) + ) + (if + (i32.lt_u + (tee_local $9 + (i32.load + (tee_local $4 + (i32.add + (get_local $1) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 1224) + ) ) - (i32.load - (i32.const 1224) + (call $qa) + (block + (set_local $41 + (get_local $4) + ) + (set_local $27 + (get_local $9) + ) ) ) - (call $qa) (block + (i32.store + (i32.const 1208) + (i32.or + (get_local $9) + (get_local $4) + ) + ) (set_local $41 - (get_local $4) + (i32.add + (get_local $1) + (i32.const 8) + ) ) (set_local $27 - (get_local $9) - ) - ) - ) - (block - (i32.store - (i32.const 1208) - (i32.or - (get_local $9) - (get_local $4) - ) - ) - (set_local $41 - (i32.add (get_local $1) - (i32.const 8) ) ) - (set_local $27 - (get_local $1) - ) ) - ) - (i32.store - (get_local $41) - (get_local $0) - ) - (i32.store offset=12 - (get_local $27) - (get_local $0) - ) - (i32.store offset=8 - (get_local $0) - (get_local $27) - ) - (i32.store offset=12 - (get_local $0) - (get_local $1) + (i32.store + (get_local $41) + (get_local $0) + ) + (i32.store offset=12 + (get_local $27) + (get_local $0) + ) + (i32.store offset=8 + (get_local $0) + (get_local $27) + ) + (i32.store offset=12 + (get_local $0) + (get_local $1) + ) ) ) + (i32.store + (i32.const 1216) + (get_local $6) + ) + (i32.store + (i32.const 1228) + (get_local $5) + ) ) - (i32.store - (i32.const 1216) - (get_local $6) - ) - (i32.store - (i32.const 1228) - (get_local $5) + ) + (set_global $r + (get_local $25) + ) + (return + (i32.add + (get_local $2) + (i32.const 8) ) ) ) - (set_global $r - (get_local $25) - ) - (return - (i32.add - (get_local $2) - (i32.const 8) - ) + (set_local $5 + (get_local $3) ) ) - (set_local $5 - (get_local $3) - ) ) + (set_local $5 + (get_local $3) + ) + ) + ) + (if + (i32.gt_u + (get_local $0) + (i32.const -65) ) (set_local $5 - (get_local $3) + (i32.const -1) ) - ) - ) - (if - (i32.gt_u - (get_local $0) - (i32.const -65) - ) - (set_local $5 - (i32.const -1) - ) - (block - (set_local $0 - (i32.and - (tee_local $1 - (i32.add - (get_local $0) - (i32.const 11) + (block + (set_local $0 + (i32.and + (tee_local $1 + (i32.add + (get_local $0) + (i32.const 11) + ) ) - ) - (i32.const -8) - ) - ) - (if - (tee_local $9 - (i32.load - (i32.const 1212) + (i32.const -8) ) ) - (block - (set_local $4 - (i32.sub - (i32.const 0) - (get_local $0) + (if + (tee_local $9 + (i32.load + (i32.const 1212) ) ) - (block $label$break$a - (if - (tee_local $12 - (i32.load - (i32.add - (i32.shl - (tee_local $27 - (if (result i32) - (tee_local $7 - (i32.shr_u - (get_local $1) - (i32.const 8) - ) - ) + (block + (set_local $4 + (i32.sub + (i32.const 0) + (get_local $0) + ) + ) + (block $label$break$a + (if + (tee_local $12 + (i32.load + (i32.add + (i32.shl + (tee_local $27 (if (result i32) - (i32.gt_u - (get_local $0) - (i32.const 16777215) + (tee_local $7 + (i32.shr_u + (get_local $1) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $0) - (i32.add - (tee_local $12 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $0) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $0) + (i32.add + (tee_local $12 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $7 - (i32.and - (i32.shr_u - (i32.add - (tee_local $16 - (i32.shl - (get_local $7) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (get_local $7) - (i32.const 1048320) + (i32.or + (tee_local $7 + (i32.and + (i32.shr_u + (i32.add + (tee_local $16 + (i32.shl + (get_local $7) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $7) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $1) ) - (get_local $1) - ) - (tee_local $16 - (i32.and - (i32.shr_u - (i32.add - (tee_local $14 - (i32.shl - (get_local $16) - (get_local $7) + (tee_local $16 + (i32.and + (i32.shr_u + (i32.add + (tee_local $14 + (i32.shl + (get_local $16) + (get_local $7) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $14) - (get_local $16) + (i32.shr_u + (i32.shl + (get_local $14) + (get_local $16) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $12) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $12) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 1512) ) - (i32.const 1512) ) ) - ) - (block - (set_local $16 - (get_local $4) - ) - (set_local $14 - (i32.const 0) - ) - (set_local $1 - (i32.shl - (get_local $0) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u + (block + (set_local $16 + (get_local $4) + ) + (set_local $14 + (i32.const 0) + ) + (set_local $1 + (i32.shl + (get_local $0) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $27) + (i32.const 1) + ) + ) + (i32.eq (get_local $27) - (i32.const 1) + (i32.const 31) ) ) - (i32.eq - (get_local $27) - (i32.const 31) - ) ) ) - ) - (set_local $7 - (get_local $12) - ) - (set_local $8 - (i32.const 0) - ) - (loop $while-in14 - (if - (i32.lt_u - (tee_local $12 - (i32.sub - (tee_local $3 - (i32.and - (i32.load offset=4 - (get_local $7) + (set_local $7 + (get_local $12) + ) + (set_local $8 + (i32.const 0) + ) + (loop $while-in14 + (if + (i32.lt_u + (tee_local $12 + (i32.sub + (tee_local $3 + (i32.and + (i32.load offset=4 + (get_local $7) + ) + (i32.const -8) ) - (i32.const -8) ) + (get_local $0) ) - (get_local $0) ) + (get_local $16) ) - (get_local $16) - ) - (if - (i32.eq - (get_local $3) - (get_local $0) - ) - (block - (set_local $29 - (get_local $12) - ) - (set_local $28 - (get_local $7) - ) - (set_local $32 - (get_local $7) - ) - (set_local $7 - (i32.const 90) + (if + (i32.eq + (get_local $3) + (get_local $0) ) - (br $label$break$a) - ) - (block - (set_local $16 - (get_local $12) + (block + (set_local $29 + (get_local $12) + ) + (set_local $28 + (get_local $7) + ) + (set_local $32 + (get_local $7) + ) + (set_local $7 + (i32.const 90) + ) + (br $label$break$a) ) - (set_local $8 - (get_local $7) + (block + (set_local $16 + (get_local $12) + ) + (set_local $8 + (get_local $7) + ) ) ) ) - ) - (set_local $3 - (select - (get_local $14) - (tee_local $12 - (i32.load offset=20 - (get_local $7) - ) - ) - (i32.or - (i32.eqz - (get_local $12) + (set_local $3 + (select + (get_local $14) + (tee_local $12 + (i32.load offset=20 + (get_local $7) + ) ) - (i32.eq - (get_local $12) - (tee_local $7 - (i32.load - (i32.add + (i32.or + (i32.eqz + (get_local $12) + ) + (i32.eq + (get_local $12) + (tee_local $7 + (i32.load (i32.add - (get_local $7) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $1) - (i32.const 31) + (i32.add + (get_local $7) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $1) + (i32.const 31) + ) + (i32.const 2) ) - (i32.const 2) ) ) ) @@ -1644,419 +1646,376 @@ ) ) ) - ) - (if - (tee_local $12 - (i32.eqz - (get_local $7) - ) - ) - (block - (set_local $36 - (get_local $16) - ) - (set_local $5 - (get_local $3) - ) - (set_local $33 - (get_local $8) - ) - (set_local $7 - (i32.const 86) + (if + (tee_local $12 + (i32.eqz + (get_local $7) + ) ) - ) - (block - (set_local $14 - (get_local $3) + (block + (set_local $36 + (get_local $16) + ) + (set_local $5 + (get_local $3) + ) + (set_local $33 + (get_local $8) + ) + (set_local $7 + (i32.const 86) + ) ) - (set_local $1 - (i32.shl - (get_local $1) - (i32.xor - (i32.and - (get_local $12) + (block + (set_local $14 + (get_local $3) + ) + (set_local $1 + (i32.shl + (get_local $1) + (i32.xor + (i32.and + (get_local $12) + (i32.const 1) + ) (i32.const 1) ) - (i32.const 1) ) ) + (br $while-in14) ) - (br $while-in14) ) ) ) - ) - (block - (set_local $36 - (get_local $4) - ) - (set_local $5 - (i32.const 0) - ) - (set_local $33 - (i32.const 0) - ) - (set_local $7 - (i32.const 86) + (block + (set_local $36 + (get_local $4) + ) + (set_local $5 + (i32.const 0) + ) + (set_local $33 + (i32.const 0) + ) + (set_local $7 + (i32.const 86) + ) ) ) ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 86) - ) (if - (tee_local $3 - (if (result i32) - (i32.and - (i32.eqz - (get_local $5) - ) - (i32.eqz - (get_local $33) - ) - ) - (block (result i32) - (if + (i32.eq + (get_local $7) + (i32.const 86) + ) + (if + (tee_local $3 + (if (result i32) + (i32.and (i32.eqz - (tee_local $4 - (i32.and - (get_local $9) - (i32.or - (tee_local $12 - (i32.shl - (i32.const 2) - (get_local $27) + (get_local $5) + ) + (i32.eqz + (get_local $33) + ) + ) + (block (result i32) + (if + (i32.eqz + (tee_local $4 + (i32.and + (get_local $9) + (i32.or + (tee_local $12 + (i32.shl + (i32.const 2) + (get_local $27) + ) + ) + (i32.sub + (i32.const 0) + (get_local $12) ) - ) - (i32.sub - (i32.const 0) - (get_local $12) ) ) ) ) - ) - (block - (set_local $5 - (get_local $0) + (block + (set_local $5 + (get_local $0) + ) + (br $do-once) ) - (br $do-once) ) - ) - (set_local $4 - (i32.and - (i32.shr_u - (tee_local $12 - (i32.add - (i32.and - (get_local $4) - (i32.sub - (i32.const 0) + (set_local $4 + (i32.and + (i32.shr_u + (tee_local $12 + (i32.add + (i32.and (get_local $4) + (i32.sub + (i32.const 0) + (get_local $4) + ) ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (i32.load - (i32.add - (i32.shl - (i32.add - (i32.or + (i32.load + (i32.add + (i32.shl + (i32.add (i32.or (i32.or (i32.or - (tee_local $12 + (i32.or + (tee_local $12 + (i32.and + (i32.shr_u + (tee_local $3 + (i32.shr_u + (get_local $12) + (get_local $4) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $4) + ) + (tee_local $3 (i32.and (i32.shr_u - (tee_local $3 + (tee_local $5 (i32.shr_u + (get_local $3) (get_local $12) - (get_local $4) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $4) ) - (tee_local $3 + (tee_local $5 (i32.and (i32.shr_u - (tee_local $5 + (tee_local $8 (i32.shr_u + (get_local $5) (get_local $3) - (get_local $12) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) - (tee_local $5 + (tee_local $8 (i32.and (i32.shr_u - (tee_local $8 + (tee_local $1 (i32.shr_u + (get_local $8) (get_local $5) - (get_local $3) ) ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $8 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.shr_u - (get_local $8) - (get_local $5) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) + (i32.shr_u + (get_local $1) + (get_local $8) + ) ) - (i32.shr_u - (get_local $1) - (get_local $8) - ) + (i32.const 2) ) - (i32.const 2) + (i32.const 1512) ) - (i32.const 1512) ) ) + (get_local $5) ) - (get_local $5) ) - ) - (block - (set_local $29 - (get_local $36) - ) - (set_local $28 - (get_local $3) - ) - (set_local $32 - (get_local $33) - ) - (set_local $7 - (i32.const 90) - ) - ) - (block - (set_local $18 - (get_local $36) + (block + (set_local $29 + (get_local $36) + ) + (set_local $28 + (get_local $3) + ) + (set_local $32 + (get_local $33) + ) + (set_local $7 + (i32.const 90) + ) ) - (set_local $10 - (get_local $33) + (block + (set_local $18 + (get_local $36) + ) + (set_local $10 + (get_local $33) + ) ) ) ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 90) - ) - (loop $while-in16 - (set_local $7 - (i32.const 0) + (if + (i32.eq + (get_local $7) + (i32.const 90) ) - (set_local $1 - (i32.lt_u - (tee_local $8 - (i32.sub - (i32.and - (i32.load offset=4 - (get_local $28) + (loop $while-in16 + (set_local $7 + (i32.const 0) + ) + (set_local $1 + (i32.lt_u + (tee_local $8 + (i32.sub + (i32.and + (i32.load offset=4 + (get_local $28) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $0) ) - (get_local $0) ) + (get_local $29) ) - (get_local $29) - ) - ) - (set_local $5 - (select - (get_local $8) - (get_local $29) - (get_local $1) - ) - ) - (set_local $8 - (select - (get_local $28) - (get_local $32) - (get_local $1) ) - ) - (if - (tee_local $1 - (i32.load offset=16 - (get_local $28) - ) - ) - (block - (set_local $29 - (get_local $5) - ) - (set_local $28 - (get_local $1) - ) - (set_local $32 + (set_local $5 + (select (get_local $8) + (get_local $29) + (get_local $1) ) - (br $while-in16) ) - ) - (if - (tee_local $28 - (i32.load offset=20 + (set_local $8 + (select (get_local $28) + (get_local $32) + (get_local $1) ) ) - (block - (set_local $29 - (get_local $5) + (if + (tee_local $1 + (i32.load offset=16 + (get_local $28) + ) ) - (set_local $32 - (get_local $8) + (block + (set_local $29 + (get_local $5) + ) + (set_local $28 + (get_local $1) + ) + (set_local $32 + (get_local $8) + ) + (br $while-in16) ) - (br $while-in16) ) - (block - (set_local $18 - (get_local $5) + (if + (tee_local $28 + (i32.load offset=20 + (get_local $28) + ) ) - (set_local $10 - (get_local $8) + (block + (set_local $29 + (get_local $5) + ) + (set_local $32 + (get_local $8) + ) + (br $while-in16) + ) + (block + (set_local $18 + (get_local $5) + ) + (set_local $10 + (get_local $8) + ) ) ) ) ) - ) - (if - (get_local $10) (if - (i32.lt_u - (get_local $18) - (i32.sub - (i32.load - (i32.const 1216) - ) - (get_local $0) - ) - ) - (block - (if - (i32.lt_u - (get_local $10) - (tee_local $9 - (i32.load - (i32.const 1224) - ) + (get_local $10) + (if + (i32.lt_u + (get_local $18) + (i32.sub + (i32.load + (i32.const 1216) ) + (get_local $0) ) - (call $qa) ) - (if - (i32.ge_u - (get_local $10) - (tee_local $8 - (i32.add - (get_local $10) - (get_local $0) + (block + (if + (i32.lt_u + (get_local $10) + (tee_local $9 + (i32.load + (i32.const 1224) + ) ) ) + (call $qa) ) - (call $qa) - ) - (set_local $5 - (i32.load offset=24 - (get_local $10) - ) - ) - (block $do-once17 (if - (i32.eq - (tee_local $1 - (i32.load offset=12 + (i32.ge_u + (get_local $10) + (tee_local $8 + (i32.add (get_local $10) + (get_local $0) ) ) + ) + (call $qa) + ) + (set_local $5 + (i32.load offset=24 (get_local $10) ) - (block - (if - (tee_local $4 - (i32.load - (tee_local $3 - (i32.add - (get_local $10) - (i32.const 20) - ) - ) - ) - ) - (block - (set_local $14 - (get_local $4) - ) - (set_local $1 - (get_local $3) - ) - ) - (if - (tee_local $14 - (i32.load - (tee_local $12 - (i32.add - (get_local $10) - (i32.const 16) - ) - ) - ) - ) - (set_local $1 - (get_local $12) - ) - (block - (set_local $22 - (i32.const 0) - ) - (br $do-once17) + ) + (block $do-once17 + (if + (i32.eq + (tee_local $1 + (i32.load offset=12 + (get_local $10) ) ) + (get_local $10) ) - (loop $while-in20 + (block (if (tee_local $4 (i32.load (tee_local $3 (i32.add - (get_local $14) + (get_local $10) (i32.const 20) ) ) @@ -2069,698 +2028,615 @@ (set_local $1 (get_local $3) ) - (br $while-in20) + ) + (if + (tee_local $14 + (i32.load + (tee_local $12 + (i32.add + (get_local $10) + (i32.const 16) + ) + ) + ) + ) + (set_local $1 + (get_local $12) + ) + (block + (set_local $22 + (i32.const 0) + ) + (br $do-once17) + ) ) ) - (if - (tee_local $4 - (i32.load - (tee_local $3 - (i32.add - (get_local $14) - (i32.const 16) + (loop $while-in20 + (if + (tee_local $4 + (i32.load + (tee_local $3 + (i32.add + (get_local $14) + (i32.const 20) + ) ) ) ) + (block + (set_local $14 + (get_local $4) + ) + (set_local $1 + (get_local $3) + ) + (br $while-in20) + ) ) - (block - (set_local $14 - (get_local $4) + (if + (tee_local $4 + (i32.load + (tee_local $3 + (i32.add + (get_local $14) + (i32.const 16) + ) + ) + ) ) - (set_local $1 - (get_local $3) + (block + (set_local $14 + (get_local $4) + ) + (set_local $1 + (get_local $3) + ) + (br $while-in20) ) - (br $while-in20) ) ) - ) - (if - (i32.lt_u - (get_local $1) - (get_local $9) - ) - (call $qa) - (block - (i32.store + (if + (i32.lt_u (get_local $1) - (i32.const 0) - ) - (set_local $22 - (get_local $14) + (get_local $9) ) - ) - ) - ) - (block - (if - (i32.lt_u - (tee_local $3 - (i32.load offset=8 - (get_local $10) + (call $qa) + (block + (i32.store + (get_local $1) + (i32.const 0) + ) + (set_local $22 + (get_local $14) ) ) - (get_local $9) ) - (call $qa) ) - (if - (i32.ne - (i32.load - (tee_local $4 - (i32.add - (get_local $3) - (i32.const 12) + (block + (if + (i32.lt_u + (tee_local $3 + (i32.load offset=8 + (get_local $10) ) ) + (get_local $9) ) - (get_local $10) + (call $qa) ) - (call $qa) - ) - (if - (i32.eq - (i32.load - (tee_local $12 - (i32.add - (get_local $1) - (i32.const 8) + (if + (i32.ne + (i32.load + (tee_local $4 + (i32.add + (get_local $3) + (i32.const 12) + ) ) ) + (get_local $10) ) - (get_local $10) + (call $qa) ) - (block - (i32.store - (get_local $4) - (get_local $1) - ) - (i32.store - (get_local $12) - (get_local $3) + (if + (i32.eq + (i32.load + (tee_local $12 + (i32.add + (get_local $1) + (i32.const 8) + ) + ) + ) + (get_local $10) ) - (set_local $22 - (get_local $1) + (block + (i32.store + (get_local $4) + (get_local $1) + ) + (i32.store + (get_local $12) + (get_local $3) + ) + (set_local $22 + (get_local $1) + ) ) + (call $qa) ) - (call $qa) ) ) ) - ) - (block $do-once21 - (if - (get_local $5) - (block - (if - (i32.eq - (get_local $10) - (i32.load - (tee_local $9 - (i32.add - (i32.shl - (tee_local $1 - (i32.load offset=28 - (get_local $10) + (block $do-once21 + (if + (get_local $5) + (block + (if + (i32.eq + (get_local $10) + (i32.load + (tee_local $9 + (i32.add + (i32.shl + (tee_local $1 + (i32.load offset=28 + (get_local $10) + ) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 1512) ) - (i32.const 1512) ) ) ) - ) - (block - (i32.store - (get_local $9) - (get_local $22) - ) - (if - (i32.eqz + (block + (i32.store + (get_local $9) (get_local $22) ) - (block - (i32.store - (i32.const 1212) - (i32.and - (i32.load - (i32.const 1212) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $1) + (if + (i32.eqz + (get_local $22) + ) + (block + (i32.store + (i32.const 1212) + (i32.and + (i32.load + (i32.const 1212) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $1) + ) + (i32.const -1) ) - (i32.const -1) ) ) + (br $do-once21) ) - (br $do-once21) ) ) - ) - (block - (if - (i32.lt_u - (get_local $5) - (i32.load - (i32.const 1224) + (block + (if + (i32.lt_u + (get_local $5) + (i32.load + (i32.const 1224) + ) ) + (call $qa) ) - (call $qa) - ) - (if - (i32.eq - (i32.load - (tee_local $1 - (i32.add - (get_local $5) - (i32.const 16) + (if + (i32.eq + (i32.load + (tee_local $1 + (i32.add + (get_local $5) + (i32.const 16) + ) ) ) + (get_local $10) + ) + (i32.store + (get_local $1) + (get_local $22) + ) + (i32.store offset=20 + (get_local $5) + (get_local $22) ) - (get_local $10) - ) - (i32.store - (get_local $1) - (get_local $22) - ) - (i32.store offset=20 - (get_local $5) - (get_local $22) ) - ) - (br_if $do-once21 - (i32.eqz - (get_local $22) + (br_if $do-once21 + (i32.eqz + (get_local $22) + ) ) ) ) - ) - (if - (i32.lt_u - (get_local $22) - (tee_local $1 - (i32.load - (i32.const 1224) + (if + (i32.lt_u + (get_local $22) + (tee_local $1 + (i32.load + (i32.const 1224) + ) ) ) + (call $qa) ) - (call $qa) - ) - (i32.store offset=24 - (get_local $22) - (get_local $5) - ) - (if - (tee_local $9 - (i32.load offset=16 - (get_local $10) - ) + (i32.store offset=24 + (get_local $22) + (get_local $5) ) (if - (i32.lt_u - (get_local $9) - (get_local $1) + (tee_local $9 + (i32.load offset=16 + (get_local $10) + ) ) - (call $qa) - (block - (i32.store offset=16 - (get_local $22) + (if + (i32.lt_u (get_local $9) + (get_local $1) ) - (i32.store offset=24 - (get_local $9) - (get_local $22) + (call $qa) + (block + (i32.store offset=16 + (get_local $22) + (get_local $9) + ) + (i32.store offset=24 + (get_local $9) + (get_local $22) + ) ) ) ) - ) - (if - (tee_local $9 - (i32.load offset=20 - (get_local $10) - ) - ) (if - (i32.lt_u - (get_local $9) - (i32.load - (i32.const 1224) + (tee_local $9 + (i32.load offset=20 + (get_local $10) ) ) - (call $qa) - (block - (i32.store offset=20 - (get_local $22) + (if + (i32.lt_u (get_local $9) + (i32.load + (i32.const 1224) + ) ) - (i32.store offset=24 - (get_local $9) - (get_local $22) + (call $qa) + (block + (i32.store offset=20 + (get_local $22) + (get_local $9) + ) + (i32.store offset=24 + (get_local $9) + (get_local $22) + ) ) ) ) ) ) ) - ) - (block $do-once25 - (if - (i32.lt_u - (get_local $18) - (i32.const 16) - ) - (block - (i32.store offset=4 - (get_local $10) - (i32.or - (tee_local $5 - (i32.add - (get_local $18) - (get_local $0) + (block $do-once25 + (if + (i32.lt_u + (get_local $18) + (i32.const 16) + ) + (block + (i32.store offset=4 + (get_local $10) + (i32.or + (tee_local $5 + (i32.add + (get_local $18) + (get_local $0) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $9 - (i32.add + (i32.store + (tee_local $9 (i32.add - (get_local $10) - (get_local $5) + (i32.add + (get_local $10) + (get_local $5) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $9) + (i32.or + (i32.load + (get_local $9) + ) + (i32.const 1) ) - (i32.const 1) ) ) - ) - (block - (i32.store offset=4 - (get_local $10) - (i32.or - (get_local $0) - (i32.const 3) - ) - ) - (i32.store offset=4 - (get_local $8) - (i32.or - (get_local $18) - (i32.const 1) + (block + (i32.store offset=4 + (get_local $10) + (i32.or + (get_local $0) + (i32.const 3) + ) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $8) - (get_local $18) + (i32.or + (get_local $18) + (i32.const 1) + ) ) - (get_local $18) - ) - (set_local $9 - (i32.shr_u + (i32.store + (i32.add + (get_local $8) + (get_local $18) + ) (get_local $18) - (i32.const 3) ) - ) - (if - (i32.lt_u - (get_local $18) - (i32.const 256) + (set_local $9 + (i32.shr_u + (get_local $18) + (i32.const 3) + ) ) - (block - (set_local $5 - (i32.add - (i32.shl - (get_local $9) - (i32.const 3) - ) - (i32.const 1248) - ) + (if + (i32.lt_u + (get_local $18) + (i32.const 256) ) - (if - (i32.and - (tee_local $1 - (i32.load - (i32.const 1208) - ) - ) - (tee_local $3 + (block + (set_local $5 + (i32.add (i32.shl - (i32.const 1) (get_local $9) + (i32.const 3) ) + (i32.const 1248) ) ) (if - (i32.lt_u + (i32.and (tee_local $1 (i32.load - (tee_local $3 - (i32.add - (get_local $5) - (i32.const 8) + (i32.const 1208) + ) + ) + (tee_local $3 + (i32.shl + (i32.const 1) + (get_local $9) + ) + ) + ) + (if + (i32.lt_u + (tee_local $1 + (i32.load + (tee_local $3 + (i32.add + (get_local $5) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 1224) + ) ) - (i32.load - (i32.const 1224) + (call $qa) + (block + (set_local $19 + (get_local $3) + ) + (set_local $6 + (get_local $1) + ) ) ) - (call $qa) (block + (i32.store + (i32.const 1208) + (i32.or + (get_local $1) + (get_local $3) + ) + ) (set_local $19 - (get_local $3) + (i32.add + (get_local $5) + (i32.const 8) + ) ) (set_local $6 - (get_local $1) - ) - ) - ) - (block - (i32.store - (i32.const 1208) - (i32.or - (get_local $1) - (get_local $3) - ) - ) - (set_local $19 - (i32.add (get_local $5) - (i32.const 8) ) ) - (set_local $6 - (get_local $5) - ) ) + (i32.store + (get_local $19) + (get_local $8) + ) + (i32.store offset=12 + (get_local $6) + (get_local $8) + ) + (i32.store offset=8 + (get_local $8) + (get_local $6) + ) + (i32.store offset=12 + (get_local $8) + (get_local $5) + ) + (br $do-once25) ) - (i32.store - (get_local $19) - (get_local $8) - ) - (i32.store offset=12 - (get_local $6) - (get_local $8) - ) - (i32.store offset=8 - (get_local $8) - (get_local $6) - ) - (i32.store offset=12 - (get_local $8) - (get_local $5) - ) - (br $do-once25) ) - ) - (set_local $12 - (i32.add - (i32.shl - (tee_local $16 - (if (result i32) - (tee_local $5 - (i32.shr_u - (get_local $18) - (i32.const 8) - ) - ) + (set_local $12 + (i32.add + (i32.shl + (tee_local $16 (if (result i32) - (i32.gt_u - (get_local $18) - (i32.const 16777215) + (tee_local $5 + (i32.shr_u + (get_local $18) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $18) - (i32.add - (tee_local $12 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $18) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $18) + (i32.add + (tee_local $12 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $5 - (i32.and - (i32.shr_u - (i32.add - (tee_local $3 - (i32.shl - (get_local $5) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (get_local $5) - (i32.const 1048320) + (i32.or + (tee_local $5 + (i32.and + (i32.shr_u + (i32.add + (tee_local $3 + (i32.shl + (get_local $5) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $5) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $1) ) - (get_local $1) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (tee_local $9 - (i32.shl - (get_local $3) - (get_local $5) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (tee_local $9 + (i32.shl + (get_local $3) + (get_local $5) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $9) - (get_local $3) + (i32.shr_u + (i32.shl + (get_local $9) + (get_local $3) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $12) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $12) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) - ) - ) - (i32.const 2) - ) - (i32.const 1512) - ) - ) - (i32.store offset=28 - (get_local $8) - (get_local $16) - ) - (i32.store offset=4 - (tee_local $3 - (i32.add - (get_local $8) - (i32.const 16) - ) - ) - (i32.const 0) - ) - (i32.store - (get_local $3) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $3 - (i32.load - (i32.const 1212) - ) - ) - (tee_local $9 - (i32.shl - (i32.const 1) - (get_local $16) ) + (i32.const 2) ) + (i32.const 1512) ) ) - (block - (i32.store - (i32.const 1212) - (i32.or - (get_local $3) - (get_local $9) - ) - ) - (i32.store - (get_local $12) - (get_local $8) - ) - (i32.store offset=24 - (get_local $8) - (get_local $12) - ) - (i32.store offset=12 - (get_local $8) - (get_local $8) - ) - (i32.store offset=8 - (get_local $8) - (get_local $8) - ) - (br $do-once25) + (i32.store offset=28 + (get_local $8) + (get_local $16) ) - ) - (set_local $9 - (i32.shl - (get_local $18) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (get_local $16) - (i32.const 1) - ) - ) - (i32.eq - (get_local $16) - (i32.const 31) + (i32.store offset=4 + (tee_local $3 + (i32.add + (get_local $8) + (i32.const 16) ) ) + (i32.const 0) ) - ) - (set_local $3 - (i32.load - (get_local $12) + (i32.store + (get_local $3) + (i32.const 0) ) - ) - (loop $while-in28 - (block $while-out27 - (if - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $3) - ) - (i32.const -8) - ) - (get_local $18) - ) - (block - (set_local $17 - (get_local $3) - ) - (set_local $7 - (i32.const 148) - ) - (br $while-out27) - ) - ) - (if - (tee_local $1 - (i32.load - (tee_local $12 - (i32.add - (i32.add - (get_local $3) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $9) - (i32.const 31) - ) - (i32.const 2) - ) - ) + (if + (i32.eqz + (i32.and + (tee_local $3 + (i32.load + (i32.const 1212) ) ) - ) - (block - (set_local $9 + (tee_local $9 (i32.shl - (get_local $9) (i32.const 1) + (get_local $16) ) ) - (set_local $3 - (get_local $1) - ) - (br $while-in28) ) - (block - (set_local $21 - (get_local $12) - ) - (set_local $15 + ) + (block + (i32.store + (i32.const 1212) + (i32.or (get_local $3) + (get_local $9) ) - (set_local $7 - (i32.const 145) - ) - ) - ) - ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 145) - ) - (if - (i32.lt_u - (get_local $21) - (i32.load - (i32.const 1224) ) - ) - (call $qa) - (block (i32.store - (get_local $21) + (get_local $12) (get_local $8) ) (i32.store offset=24 (get_local $8) - (get_local $15) + (get_local $12) ) (i32.store offset=12 (get_local $8) @@ -2770,375 +2646,449 @@ (get_local $8) (get_local $8) ) + (br $do-once25) ) ) - (if - (i32.eq - (get_local $7) - (i32.const 148) + (set_local $9 + (i32.shl + (get_local $18) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $16) + (i32.const 1) + ) + ) + (i32.eq + (get_local $16) + (i32.const 31) + ) + ) ) - (if - (i32.and - (i32.ge_u - (tee_local $9 - (i32.load - (tee_local $3 + ) + (set_local $3 + (i32.load + (get_local $12) + ) + ) + (loop $while-in28 + (block $while-out27 + (if + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $3) + ) + (i32.const -8) + ) + (get_local $18) + ) + (block + (set_local $17 + (get_local $3) + ) + (set_local $7 + (i32.const 148) + ) + (br $while-out27) + ) + ) + (if + (tee_local $1 + (i32.load + (tee_local $12 + (i32.add (i32.add - (get_local $17) - (i32.const 8) + (get_local $3) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $9) + (i32.const 31) + ) + (i32.const 2) ) ) ) ) - (tee_local $1 - (i32.load - (i32.const 1224) + ) + (block + (set_local $9 + (i32.shl + (get_local $9) + (i32.const 1) ) ) + (set_local $3 + (get_local $1) + ) + (br $while-in28) ) - (i32.ge_u - (get_local $17) - (get_local $1) + (block + (set_local $21 + (get_local $12) + ) + (set_local $15 + (get_local $3) + ) + (set_local $7 + (i32.const 145) + ) ) ) - (block - (i32.store offset=12 - (get_local $9) - (get_local $8) + ) + ) + (if + (i32.eq + (get_local $7) + (i32.const 145) + ) + (if + (i32.lt_u + (get_local $21) + (i32.load + (i32.const 1224) ) + ) + (call $qa) + (block (i32.store - (get_local $3) + (get_local $21) (get_local $8) ) - (i32.store offset=8 + (i32.store offset=24 (get_local $8) - (get_local $9) + (get_local $15) ) (i32.store offset=12 (get_local $8) - (get_local $17) + (get_local $8) ) - (i32.store offset=24 + (i32.store offset=8 + (get_local $8) (get_local $8) - (i32.const 0) ) ) - (call $qa) + ) + (if + (i32.eq + (get_local $7) + (i32.const 148) + ) + (if + (i32.and + (i32.ge_u + (tee_local $9 + (i32.load + (tee_local $3 + (i32.add + (get_local $17) + (i32.const 8) + ) + ) + ) + ) + (tee_local $1 + (i32.load + (i32.const 1224) + ) + ) + ) + (i32.ge_u + (get_local $17) + (get_local $1) + ) + ) + (block + (i32.store offset=12 + (get_local $9) + (get_local $8) + ) + (i32.store + (get_local $3) + (get_local $8) + ) + (i32.store offset=8 + (get_local $8) + (get_local $9) + ) + (i32.store offset=12 + (get_local $8) + (get_local $17) + ) + (i32.store offset=24 + (get_local $8) + (i32.const 0) + ) + ) + (call $qa) + ) ) ) ) ) ) - ) - (set_global $r - (get_local $25) - ) - (return - (i32.add - (get_local $10) - (i32.const 8) + (set_global $r + (get_local $25) ) + (return + (i32.add + (get_local $10) + (i32.const 8) + ) + ) + ) + (set_local $5 + (get_local $0) ) ) (set_local $5 (get_local $0) ) ) - (set_local $5 - (get_local $0) - ) ) - ) - (set_local $5 - (get_local $0) + (set_local $5 + (get_local $0) + ) ) ) ) ) ) - ) - (if - (i32.ge_u - (tee_local $10 - (i32.load - (i32.const 1216) - ) - ) - (get_local $5) - ) - (block - (set_local $15 - (i32.load - (i32.const 1228) + (if + (i32.ge_u + (tee_local $10 + (i32.load + (i32.const 1216) + ) ) + (get_local $5) ) - (if - (i32.gt_u - (tee_local $17 - (i32.sub - (get_local $10) - (get_local $5) - ) + (block + (set_local $15 + (i32.load + (i32.const 1228) ) - (i32.const 15) ) - (block - (i32.store - (i32.const 1228) - (tee_local $21 - (i32.add - (get_local $15) + (if + (i32.gt_u + (tee_local $17 + (i32.sub + (get_local $10) (get_local $5) ) ) + (i32.const 15) ) - (i32.store - (i32.const 1216) - (get_local $17) - ) - (i32.store offset=4 - (get_local $21) - (i32.or + (block + (i32.store + (i32.const 1228) + (tee_local $21 + (i32.add + (get_local $15) + (get_local $5) + ) + ) + ) + (i32.store + (i32.const 1216) (get_local $17) - (i32.const 1) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $21) + (i32.or + (get_local $17) + (i32.const 1) + ) + ) + (i32.store + (i32.add + (get_local $21) + (get_local $17) + ) (get_local $17) ) - (get_local $17) - ) - (i32.store offset=4 - (get_local $15) - (i32.or - (get_local $5) - (i32.const 3) + (i32.store offset=4 + (get_local $15) + (i32.or + (get_local $5) + (i32.const 3) + ) ) ) - ) - (block - (i32.store - (i32.const 1216) - (i32.const 0) - ) - (i32.store - (i32.const 1228) - (i32.const 0) - ) - (i32.store offset=4 - (get_local $15) - (i32.or - (get_local $10) - (i32.const 3) + (block + (i32.store + (i32.const 1216) + (i32.const 0) ) - ) - (i32.store - (tee_local $17 - (i32.add + (i32.store + (i32.const 1228) + (i32.const 0) + ) + (i32.store offset=4 + (get_local $15) + (i32.or + (get_local $10) + (i32.const 3) + ) + ) + (i32.store + (tee_local $17 (i32.add - (get_local $15) - (get_local $10) + (i32.add + (get_local $15) + (get_local $10) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $17) + (i32.or + (i32.load + (get_local $17) + ) + (i32.const 1) ) - (i32.const 1) ) ) ) - ) - (set_global $r - (get_local $25) - ) - (return - (i32.add - (get_local $15) - (i32.const 8) - ) + (br $folding-inner0) ) ) - ) - (if - (i32.gt_u - (tee_local $15 - (i32.load - (i32.const 1220) + (if + (i32.gt_u + (tee_local $15 + (i32.load + (i32.const 1220) + ) ) + (get_local $5) ) - (get_local $5) - ) - (block - (i32.store - (i32.const 1220) - (tee_local $17 - (i32.sub - (get_local $15) - (get_local $5) + (block + (i32.store + (i32.const 1220) + (tee_local $17 + (i32.sub + (get_local $15) + (get_local $5) + ) ) ) - ) - (i32.store - (i32.const 1232) - (tee_local $10 - (i32.add - (tee_local $15 - (i32.load - (i32.const 1232) + (i32.store + (i32.const 1232) + (tee_local $10 + (i32.add + (tee_local $15 + (i32.load + (i32.const 1232) + ) ) + (get_local $5) ) - (get_local $5) ) ) - ) - (i32.store offset=4 - (get_local $10) - (i32.or - (get_local $17) - (i32.const 1) - ) - ) - (i32.store offset=4 - (get_local $15) - (i32.or - (get_local $5) - (i32.const 3) + (i32.store offset=4 + (get_local $10) + (i32.or + (get_local $17) + (i32.const 1) + ) ) - ) - (set_global $r - (get_local $25) - ) - (return - (i32.add + (i32.store offset=4 (get_local $15) - (i32.const 8) + (i32.or + (get_local $5) + (i32.const 3) + ) ) + (br $folding-inner0) ) ) - ) - (if - (i32.eqz - (i32.load - (i32.const 1680) - ) - ) - (block - (i32.store - (i32.const 1688) - (i32.const 4096) - ) - (i32.store - (i32.const 1684) - (i32.const 4096) - ) - (i32.store - (i32.const 1692) - (i32.const -1) - ) - (i32.store - (i32.const 1696) - (i32.const -1) - ) - (i32.store - (i32.const 1700) - (i32.const 0) - ) - (i32.store - (i32.const 1652) - (i32.const 0) - ) - (i32.store - (get_local $13) - (tee_local $15 - (i32.xor - (i32.and - (get_local $13) - (i32.const -16) - ) - (i32.const 1431655768) - ) + (if + (i32.eqz + (i32.load + (i32.const 1680) ) ) - (i32.store - (i32.const 1680) - (get_local $15) - ) - ) - ) - (set_local $15 - (i32.add - (get_local $5) - (i32.const 48) - ) - ) - (if - (i32.le_u - (tee_local $13 - (i32.and - (tee_local $10 - (i32.add - (tee_local $13 - (i32.load - (i32.const 1688) - ) - ) - (tee_local $17 - (i32.add - (get_local $5) - (i32.const 47) - ) + (block + (i32.store + (i32.const 1688) + (i32.const 4096) + ) + (i32.store + (i32.const 1684) + (i32.const 4096) + ) + (i32.store + (i32.const 1692) + (i32.const -1) + ) + (i32.store + (i32.const 1696) + (i32.const -1) + ) + (i32.store + (i32.const 1700) + (i32.const 0) + ) + (i32.store + (i32.const 1652) + (i32.const 0) + ) + (i32.store + (get_local $13) + (tee_local $15 + (i32.xor + (i32.and + (get_local $13) + (i32.const -16) ) - ) - ) - (tee_local $21 - (i32.sub - (i32.const 0) - (get_local $13) + (i32.const 1431655768) ) ) ) - ) - (get_local $5) - ) - (block - (set_global $r - (get_local $25) - ) - (return - (i32.const 0) + (i32.store + (i32.const 1680) + (get_local $15) + ) ) ) - ) - (if - (tee_local $18 - (i32.load - (i32.const 1648) + (set_local $15 + (i32.add + (get_local $5) + (i32.const 48) ) ) (if - (i32.or - (i32.le_u - (tee_local $6 - (i32.add - (tee_local $16 - (i32.load - (i32.const 1640) + (i32.le_u + (tee_local $13 + (i32.and + (tee_local $10 + (i32.add + (tee_local $13 + (i32.load + (i32.const 1688) + ) + ) + (tee_local $17 + (i32.add + (get_local $5) + (i32.const 47) + ) ) ) - (get_local $13) + ) + (tee_local $21 + (i32.sub + (i32.const 0) + (get_local $13) + ) ) ) - (get_local $16) - ) - (i32.gt_u - (get_local $6) - (get_local $18) ) + (get_local $5) ) (block (set_global $r @@ -3149,270 +3099,306 @@ ) ) ) - ) - (if - (i32.eq - (tee_local $7 - (block $label$break$b (result i32) - (if (result i32) - (i32.and - (i32.load - (i32.const 1652) + (if + (tee_local $18 + (i32.load + (i32.const 1648) + ) + ) + (if + (i32.or + (i32.le_u + (tee_local $6 + (i32.add + (tee_local $16 + (i32.load + (i32.const 1640) + ) + ) + (get_local $13) ) - (i32.const 4) ) - (i32.const 188) - (block (result i32) - (block $label$break$c - (if - (tee_local $18 - (i32.load - (i32.const 1232) - ) - ) - (block - (set_local $6 - (i32.const 1656) + (get_local $16) + ) + (i32.gt_u + (get_local $6) + (get_local $18) + ) + ) + (block + (set_global $r + (get_local $25) + ) + (return + (i32.const 0) + ) + ) + ) + ) + (if + (i32.eq + (tee_local $7 + (block $label$break$b (result i32) + (if (result i32) + (i32.and + (i32.load + (i32.const 1652) + ) + (i32.const 4) + ) + (i32.const 188) + (block (result i32) + (block $label$break$c + (if + (tee_local $18 + (i32.load + (i32.const 1232) + ) ) - (loop $while-in32 - (block $while-out31 - (if - (i32.le_u - (tee_local $16 - (i32.load - (get_local $6) - ) - ) - (get_local $18) - ) + (block + (set_local $6 + (i32.const 1656) + ) + (loop $while-in32 + (block $while-out31 (if - (i32.gt_u - (i32.add - (get_local $16) + (i32.le_u + (tee_local $16 (i32.load - (tee_local $19 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) + (get_local $6) ) ) (get_local $18) ) - (block - (set_local $0 - (get_local $6) + (if + (i32.gt_u + (i32.add + (get_local $16) + (i32.load + (tee_local $19 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + ) + ) + (get_local $18) ) - (set_local $4 - (get_local $19) + (block + (set_local $0 + (get_local $6) + ) + (set_local $4 + (get_local $19) + ) + (br $while-out31) ) - (br $while-out31) ) ) - ) - (br_if $while-in32 - (tee_local $6 - (i32.load offset=8 - (get_local $6) + (br_if $while-in32 + (tee_local $6 + (i32.load offset=8 + (get_local $6) + ) ) ) + (set_local $7 + (i32.const 171) + ) + (br $label$break$c) ) - (set_local $7 - (i32.const 171) - ) - (br $label$break$c) ) - ) - (if - (i32.lt_u - (tee_local $6 - (i32.and - (i32.sub - (get_local $10) - (i32.load - (i32.const 1220) + (if + (i32.lt_u + (tee_local $6 + (i32.and + (i32.sub + (get_local $10) + (i32.load + (i32.const 1220) + ) ) + (get_local $21) ) - (get_local $21) ) + (i32.const 2147483647) ) - (i32.const 2147483647) - ) - (if - (i32.eq - (tee_local $19 - (call $ta - (get_local $6) + (if + (i32.eq + (tee_local $19 + (call $ta + (get_local $6) + ) + ) + (i32.add + (i32.load + (get_local $0) + ) + (i32.load + (get_local $4) + ) ) ) - (i32.add - (i32.load - (get_local $0) + (if + (i32.ne + (get_local $19) + (i32.const -1) ) - (i32.load - (get_local $4) + (block + (set_local $20 + (get_local $19) + ) + (set_local $26 + (get_local $6) + ) + (br $label$break$b + (i32.const 191) + ) ) ) - ) - (if - (i32.ne - (get_local $19) - (i32.const -1) - ) (block - (set_local $20 + (set_local $11 (get_local $19) ) - (set_local $26 + (set_local $2 (get_local $6) ) - (br $label$break$b - (i32.const 191) + (set_local $7 + (i32.const 181) ) ) ) - (block - (set_local $11 - (get_local $19) - ) - (set_local $2 - (get_local $6) - ) - (set_local $7 - (i32.const 181) - ) - ) ) ) - ) - (set_local $7 - (i32.const 171) + (set_local $7 + (i32.const 171) + ) ) ) - ) - (block $do-once33 - (if - (i32.eq - (get_local $7) - (i32.const 171) - ) + (block $do-once33 (if - (i32.ne - (tee_local $18 - (call $ta - (i32.const 0) + (i32.eq + (get_local $7) + (i32.const 171) + ) + (if + (i32.ne + (tee_local $18 + (call $ta + (i32.const 0) + ) ) + (i32.const -1) ) - (i32.const -1) - ) - (block - (set_local $3 - (if (result i32) - (i32.and - (tee_local $19 - (i32.add - (tee_local $6 - (i32.load - (i32.const 1684) + (block + (set_local $3 + (if (result i32) + (i32.and + (tee_local $19 + (i32.add + (tee_local $6 + (i32.load + (i32.const 1684) + ) ) + (i32.const -1) ) - (i32.const -1) + ) + (tee_local $0 + (get_local $18) ) ) - (tee_local $0 - (get_local $18) - ) - ) - (i32.add - (i32.sub - (get_local $13) - (get_local $0) - ) - (i32.and - (i32.add - (get_local $19) + (i32.add + (i32.sub + (get_local $13) (get_local $0) ) - (i32.sub - (i32.const 0) - (get_local $6) + (i32.and + (i32.add + (get_local $19) + (get_local $0) + ) + (i32.sub + (i32.const 0) + (get_local $6) + ) ) ) + (get_local $13) ) - (get_local $13) ) - ) - (set_local $0 - (i32.add - (tee_local $6 - (i32.load - (i32.const 1640) + (set_local $0 + (i32.add + (tee_local $6 + (i32.load + (i32.const 1640) + ) ) - ) - (get_local $3) - ) - ) - (if - (i32.and - (i32.gt_u (get_local $3) - (get_local $5) - ) - (i32.lt_u - (get_local $3) - (i32.const 2147483647) ) ) - (block - (if - (tee_local $19 - (i32.load - (i32.const 1648) - ) + (if + (i32.and + (i32.gt_u + (get_local $3) + (get_local $5) ) - (br_if $do-once33 - (i32.or - (i32.le_u - (get_local $0) - (get_local $6) - ) - (i32.gt_u - (get_local $0) - (get_local $19) - ) - ) + (i32.lt_u + (get_local $3) + (i32.const 2147483647) ) ) - (if - (i32.eq + (block + (if (tee_local $19 - (call $ta - (get_local $3) + (i32.load + (i32.const 1648) ) ) - (get_local $18) - ) - (block - (set_local $20 - (get_local $18) - ) - (set_local $26 - (get_local $3) - ) - (br $label$break$b - (i32.const 191) + (br_if $do-once33 + (i32.or + (i32.le_u + (get_local $0) + (get_local $6) + ) + (i32.gt_u + (get_local $0) + (get_local $19) + ) + ) ) ) - (block - (set_local $11 - (get_local $19) + (if + (i32.eq + (tee_local $19 + (call $ta + (get_local $3) + ) + ) + (get_local $18) ) - (set_local $2 - (get_local $3) + (block + (set_local $20 + (get_local $18) + ) + (set_local $26 + (get_local $3) + ) + (br $label$break$b + (i32.const 191) + ) ) - (set_local $7 - (i32.const 181) + (block + (set_local $11 + (get_local $19) + ) + (set_local $2 + (get_local $3) + ) + (set_local $7 + (i32.const 181) + ) ) ) ) @@ -3421,1058 +3407,1084 @@ ) ) ) - ) - (block $label$break$d - (if - (i32.eq - (get_local $7) - (i32.const 181) - ) - (block - (set_local $19 - (i32.sub - (i32.const 0) - (get_local $2) - ) + (block $label$break$d + (if + (i32.eq + (get_local $7) + (i32.const 181) ) - (if - (i32.and - (i32.gt_u - (get_local $15) + (block + (set_local $19 + (i32.sub + (i32.const 0) (get_local $2) ) + ) + (if (i32.and - (i32.lt_u + (i32.gt_u + (get_local $15) (get_local $2) - (i32.const 2147483647) ) - (i32.ne - (get_local $11) - (i32.const -1) + (i32.and + (i32.lt_u + (get_local $2) + (i32.const 2147483647) + ) + (i32.ne + (get_local $11) + (i32.const -1) + ) ) ) - ) - (if - (i32.lt_u - (tee_local $0 - (i32.and - (i32.add - (i32.sub - (get_local $17) - (get_local $2) - ) - (tee_local $18 - (i32.load - (i32.const 1688) + (if + (i32.lt_u + (tee_local $0 + (i32.and + (i32.add + (i32.sub + (get_local $17) + (get_local $2) + ) + (tee_local $18 + (i32.load + (i32.const 1688) + ) ) ) + (i32.sub + (i32.const 0) + (get_local $18) + ) ) - (i32.sub - (i32.const 0) - (get_local $18) - ) - ) - ) - (i32.const 2147483647) - ) - (if - (i32.eq - (call $ta - (get_local $0) ) - (i32.const -1) + (i32.const 2147483647) ) - (block - (drop + (if + (i32.eq (call $ta - (get_local $19) + (get_local $0) + ) + (i32.const -1) + ) + (block + (drop + (call $ta + (get_local $19) + ) + ) + (br $label$break$d) + ) + (set_local $1 + (i32.add + (get_local $0) + (get_local $2) ) ) - (br $label$break$d) ) (set_local $1 - (i32.add - (get_local $0) - (get_local $2) - ) + (get_local $2) ) ) (set_local $1 (get_local $2) ) ) - (set_local $1 - (get_local $2) - ) - ) - (if - (i32.ne - (get_local $11) - (i32.const -1) - ) - (block - (set_local $20 + (if + (i32.ne (get_local $11) + (i32.const -1) ) - (set_local $26 - (get_local $1) - ) - (br $label$break$b - (i32.const 191) + (block + (set_local $20 + (get_local $11) + ) + (set_local $26 + (get_local $1) + ) + (br $label$break$b + (i32.const 191) + ) ) ) ) ) ) - ) - (i32.store - (i32.const 1652) - (i32.or - (i32.load - (i32.const 1652) + (i32.store + (i32.const 1652) + (i32.or + (i32.load + (i32.const 1652) + ) + (i32.const 4) ) - (i32.const 4) ) + (i32.const 188) ) - (i32.const 188) ) ) ) - ) - (i32.const 188) - ) - (if - (i32.lt_u - (get_local $13) - (i32.const 2147483647) + (i32.const 188) ) (if - (i32.and - (i32.lt_u - (tee_local $1 - (call $ta - (get_local $13) + (i32.lt_u + (get_local $13) + (i32.const 2147483647) + ) + (if + (i32.and + (i32.lt_u + (tee_local $1 + (call $ta + (get_local $13) + ) ) - ) - (tee_local $13 - (call $ta - (i32.const 0) + (tee_local $13 + (call $ta + (i32.const 0) + ) ) ) - ) - (i32.and - (i32.ne - (get_local $1) - (i32.const -1) - ) - (i32.ne - (get_local $13) - (i32.const -1) - ) - ) - ) - (if - (i32.gt_u - (tee_local $11 - (i32.sub - (get_local $13) + (i32.and + (i32.ne (get_local $1) + (i32.const -1) + ) + (i32.ne + (get_local $13) + (i32.const -1) ) - ) - (i32.add - (get_local $5) - (i32.const 40) ) ) - (block - (set_local $20 - (get_local $1) - ) - (set_local $26 - (get_local $11) + (if + (i32.gt_u + (tee_local $11 + (i32.sub + (get_local $13) + (get_local $1) + ) + ) + (i32.add + (get_local $5) + (i32.const 40) + ) ) - (set_local $7 - (i32.const 191) + (block + (set_local $20 + (get_local $1) + ) + (set_local $26 + (get_local $11) + ) + (set_local $7 + (i32.const 191) + ) ) ) ) ) ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 191) - ) - (block - (i32.store - (i32.const 1640) - (tee_local $11 - (i32.add - (i32.load - (i32.const 1640) - ) - (get_local $26) - ) - ) + (if + (i32.eq + (get_local $7) + (i32.const 191) ) - (if - (i32.gt_u - (get_local $11) - (i32.load - (i32.const 1644) - ) - ) + (block (i32.store - (i32.const 1644) - (get_local $11) + (i32.const 1640) + (tee_local $11 + (i32.add + (i32.load + (i32.const 1640) + ) + (get_local $26) + ) + ) ) - ) - (block $do-once38 (if - (tee_local $11 + (i32.gt_u + (get_local $11) (i32.load - (i32.const 1232) + (i32.const 1644) ) ) - (block - (set_local $2 - (i32.const 1656) + (i32.store + (i32.const 1644) + (get_local $11) + ) + ) + (block $do-once38 + (if + (tee_local $11 + (i32.load + (i32.const 1232) + ) ) - (loop $do-in41 - (block $do-out40 - (if - (i32.eq - (get_local $20) - (i32.add - (tee_local $1 - (i32.load - (get_local $2) + (block + (set_local $2 + (i32.const 1656) + ) + (loop $do-in41 + (block $do-out40 + (if + (i32.eq + (get_local $20) + (i32.add + (tee_local $1 + (i32.load + (get_local $2) + ) ) - ) - (tee_local $17 - (i32.load - (tee_local $13 - (i32.add - (get_local $2) - (i32.const 4) + (tee_local $17 + (i32.load + (tee_local $13 + (i32.add + (get_local $2) + (i32.const 4) + ) ) ) ) ) ) - ) - (block - (set_local $48 - (get_local $1) - ) - (set_local $49 - (get_local $13) - ) - (set_local $50 - (get_local $17) - ) - (set_local $51 - (get_local $2) - ) - (set_local $7 - (i32.const 201) + (block + (set_local $48 + (get_local $1) + ) + (set_local $49 + (get_local $13) + ) + (set_local $50 + (get_local $17) + ) + (set_local $51 + (get_local $2) + ) + (set_local $7 + (i32.const 201) + ) + (br $do-out40) ) - (br $do-out40) ) - ) - (br_if $do-in41 - (tee_local $2 - (i32.load offset=8 - (get_local $2) + (br_if $do-in41 + (tee_local $2 + (i32.load offset=8 + (get_local $2) + ) ) ) ) ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 201) - ) (if - (i32.eqz - (i32.and - (i32.load offset=12 - (get_local $51) - ) - (i32.const 8) - ) + (i32.eq + (get_local $7) + (i32.const 201) ) (if - (i32.and - (i32.lt_u - (get_local $11) - (get_local $20) - ) - (i32.ge_u - (get_local $11) - (get_local $48) + (i32.eqz + (i32.and + (i32.load offset=12 + (get_local $51) + ) + (i32.const 8) ) ) - (block - (i32.store - (get_local $49) - (i32.add - (get_local $50) - (get_local $26) + (if + (i32.and + (i32.lt_u + (get_local $11) + (get_local $20) ) - ) - (set_local $2 - (i32.add + (i32.ge_u (get_local $11) - (tee_local $17 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $2 - (i32.add - (get_local $11) - (i32.const 8) + (get_local $48) + ) + ) + (block + (i32.store + (get_local $49) + (i32.add + (get_local $50) + (get_local $26) + ) + ) + (set_local $2 + (i32.add + (get_local $11) + (tee_local $17 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $2 + (i32.add + (get_local $11) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $2) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $2) - (i32.const 7) ) ) ) ) - ) - (set_local $13 - (i32.add - (i32.sub - (get_local $26) - (get_local $17) - ) - (i32.load - (i32.const 1220) + (set_local $13 + (i32.add + (i32.sub + (get_local $26) + (get_local $17) + ) + (i32.load + (i32.const 1220) + ) ) ) - ) - (i32.store - (i32.const 1232) - (get_local $2) - ) - (i32.store - (i32.const 1220) - (get_local $13) - ) - (i32.store offset=4 - (get_local $2) - (i32.or + (i32.store + (i32.const 1232) + (get_local $2) + ) + (i32.store + (i32.const 1220) (get_local $13) - (i32.const 1) ) - ) - (i32.store offset=4 - (i32.add + (i32.store offset=4 (get_local $2) - (get_local $13) + (i32.or + (get_local $13) + (i32.const 1) + ) ) - (i32.const 40) - ) - (i32.store - (i32.const 1236) - (i32.load - (i32.const 1696) + (i32.store offset=4 + (i32.add + (get_local $2) + (get_local $13) + ) + (i32.const 40) + ) + (i32.store + (i32.const 1236) + (i32.load + (i32.const 1696) + ) ) + (br $do-once38) ) - (br $do-once38) ) ) ) - ) - (set_local $14 - (if (result i32) - (i32.lt_u - (get_local $20) - (tee_local $13 - (i32.load - (i32.const 1224) + (set_local $14 + (if (result i32) + (i32.lt_u + (get_local $20) + (tee_local $13 + (i32.load + (i32.const 1224) + ) ) ) - ) - (block (result i32) - (i32.store - (i32.const 1224) + (block (result i32) + (i32.store + (i32.const 1224) + (get_local $20) + ) (get_local $20) ) + (get_local $13) + ) + ) + (set_local $13 + (i32.add (get_local $20) + (get_local $26) ) - (get_local $13) ) - ) - (set_local $13 - (i32.add - (get_local $20) - (get_local $26) + (set_local $2 + (i32.const 1656) ) - ) - (set_local $2 - (i32.const 1656) - ) - (loop $while-in43 - (block $while-out42 - (if - (i32.eq - (i32.load - (get_local $2) - ) - (get_local $13) - ) - (block - (set_local $52 - (get_local $2) - ) - (set_local $42 - (get_local $2) + (loop $while-in43 + (block $while-out42 + (if + (i32.eq + (i32.load + (get_local $2) + ) + (get_local $13) ) - (set_local $7 - (i32.const 209) + (block + (set_local $52 + (get_local $2) + ) + (set_local $42 + (get_local $2) + ) + (set_local $7 + (i32.const 209) + ) + (br $while-out42) ) - (br $while-out42) ) - ) - (br_if $while-in43 - (tee_local $2 - (i32.load offset=8 - (get_local $2) + (br_if $while-in43 + (tee_local $2 + (i32.load offset=8 + (get_local $2) + ) ) ) + (set_local $30 + (i32.const 1656) + ) ) - (set_local $30 - (i32.const 1656) - ) - ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 209) ) (if - (i32.and - (i32.load offset=12 - (get_local $42) - ) - (i32.const 8) - ) - (set_local $30 - (i32.const 1656) + (i32.eq + (get_local $7) + (i32.const 209) ) - (block - (i32.store - (get_local $52) - (get_local $20) + (if + (i32.and + (i32.load offset=12 + (get_local $42) + ) + (i32.const 8) ) - (i32.store - (tee_local $2 - (i32.add - (get_local $42) - (i32.const 4) - ) + (set_local $30 + (i32.const 1656) + ) + (block + (i32.store + (get_local $52) + (get_local $20) ) - (i32.add - (i32.load - (get_local $2) + (i32.store + (tee_local $2 + (i32.add + (get_local $42) + (i32.const 4) + ) + ) + (i32.add + (i32.load + (get_local $2) + ) + (get_local $26) ) - (get_local $26) ) - ) - (set_local $17 - (i32.add - (get_local $20) - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $2 - (i32.add - (get_local $20) - (i32.const 8) + (set_local $17 + (i32.add + (get_local $20) + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $2 + (i32.add + (get_local $20) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $2) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $2) - (i32.const 7) ) ) ) - ) - (set_local $1 - (i32.add - (get_local $13) - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $2 - (i32.add - (get_local $13) - (i32.const 8) + (set_local $1 + (i32.add + (get_local $13) + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $2 + (i32.add + (get_local $13) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $2) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $2) - (i32.const 7) ) ) ) - ) - (set_local $2 - (i32.add - (get_local $17) - (get_local $5) - ) - ) - (set_local $15 - (i32.sub - (i32.sub - (get_local $1) + (set_local $2 + (i32.add (get_local $17) + (get_local $5) ) - (get_local $5) ) - ) - (i32.store offset=4 - (get_local $17) - (i32.or - (get_local $5) - (i32.const 3) + (set_local $15 + (i32.sub + (i32.sub + (get_local $1) + (get_local $17) + ) + (get_local $5) + ) ) - ) - (block $do-once44 - (if - (i32.eq - (get_local $1) - (get_local $11) + (i32.store offset=4 + (get_local $17) + (i32.or + (get_local $5) + (i32.const 3) ) - (block - (i32.store - (i32.const 1220) - (tee_local $3 - (i32.add - (i32.load - (i32.const 1220) + ) + (block $do-once44 + (if + (i32.eq + (get_local $1) + (get_local $11) + ) + (block + (i32.store + (i32.const 1220) + (tee_local $3 + (i32.add + (i32.load + (i32.const 1220) + ) + (get_local $15) ) - (get_local $15) ) ) - ) - (i32.store - (i32.const 1232) - (get_local $2) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $3) - (i32.const 1) + (i32.store + (i32.const 1232) + (get_local $2) ) - ) - ) - (block - (if - (i32.eq - (get_local $1) - (i32.load - (i32.const 1228) + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $3) + (i32.const 1) ) ) - (block - (i32.store - (i32.const 1216) - (tee_local $3 - (i32.add - (i32.load - (i32.const 1216) + ) + (block + (if + (i32.eq + (get_local $1) + (i32.load + (i32.const 1228) + ) + ) + (block + (i32.store + (i32.const 1216) + (tee_local $3 + (i32.add + (i32.load + (i32.const 1216) + ) + (get_local $15) ) - (get_local $15) ) ) - ) - (i32.store - (i32.const 1228) - (get_local $2) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $3) - (i32.const 1) + (i32.store + (i32.const 1228) + (get_local $2) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $2) - (get_local $3) + (i32.or + (get_local $3) + (i32.const 1) + ) ) - (get_local $3) - ) - (br $do-once44) - ) - ) - (if - (i32.eq - (i32.and - (tee_local $3 - (i32.load offset=4 - (get_local $1) + (i32.store + (i32.add + (get_local $2) + (get_local $3) ) + (get_local $3) ) - (i32.const 3) + (br $do-once44) ) - (i32.const 1) ) - (block - (set_local $4 + (if + (i32.eq (i32.and - (get_local $3) - (i32.const -8) - ) - ) - (set_local $0 - (i32.shr_u - (get_local $3) + (tee_local $3 + (i32.load offset=4 + (get_local $1) + ) + ) (i32.const 3) ) + (i32.const 1) ) - (block $label$break$e - (if - (i32.lt_u + (block + (set_local $4 + (i32.and (get_local $3) - (i32.const 256) + (i32.const -8) ) - (block - (set_local $10 - (i32.load offset=12 - (get_local $1) - ) + ) + (set_local $0 + (i32.shr_u + (get_local $3) + (i32.const 3) + ) + ) + (block $label$break$e + (if + (i32.lt_u + (get_local $3) + (i32.const 256) ) - (block $do-once47 - (if - (i32.ne - (tee_local $21 - (i32.load offset=8 - (get_local $1) - ) - ) - (tee_local $19 - (i32.add - (i32.shl - (get_local $0) - (i32.const 3) + (block + (set_local $10 + (i32.load offset=12 + (get_local $1) + ) + ) + (block $do-once47 + (if + (i32.ne + (tee_local $21 + (i32.load offset=8 + (get_local $1) ) - (i32.const 1248) ) - ) - ) - (block - (if - (i32.lt_u - (get_local $21) - (get_local $14) + (tee_local $19 + (i32.add + (i32.shl + (get_local $0) + (i32.const 3) + ) + (i32.const 1248) + ) ) - (call $qa) ) - (br_if $do-once47 - (i32.eq - (i32.load offset=12 + (block + (if + (i32.lt_u (get_local $21) + (get_local $14) ) - (get_local $1) - ) - ) - (call $qa) - ) - ) - ) - (if - (i32.eq - (get_local $10) - (get_local $21) - ) - (block - (i32.store - (i32.const 1208) - (i32.and - (i32.load - (i32.const 1208) + (call $qa) ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $0) + (br_if $do-once47 + (i32.eq + (i32.load offset=12 + (get_local $21) + ) + (get_local $1) ) - (i32.const -1) ) + (call $qa) ) ) - (br $label$break$e) ) - ) - (block $do-once49 (if (i32.eq (get_local $10) - (get_local $19) + (get_local $21) ) - (set_local $43 - (i32.add - (get_local $10) - (i32.const 8) + (block + (i32.store + (i32.const 1208) + (i32.and + (i32.load + (i32.const 1208) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $0) + ) + (i32.const -1) + ) + ) ) + (br $label$break$e) ) - (block - (if - (i32.lt_u + ) + (block $do-once49 + (if + (i32.eq + (get_local $10) + (get_local $19) + ) + (set_local $43 + (i32.add (get_local $10) - (get_local $14) + (i32.const 8) ) - (call $qa) ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $10) - (i32.const 8) + (block + (if + (i32.lt_u + (get_local $10) + (get_local $14) + ) + (call $qa) + ) + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $10) + (i32.const 8) + ) ) ) + (get_local $1) ) - (get_local $1) - ) - (block - (set_local $43 - (get_local $0) + (block + (set_local $43 + (get_local $0) + ) + (br $do-once49) ) - (br $do-once49) ) + (call $qa) ) - (call $qa) ) ) - ) - (i32.store offset=12 - (get_local $21) - (get_local $10) - ) - (i32.store - (get_local $43) - (get_local $21) - ) - ) - (block - (set_local $19 - (i32.load offset=24 - (get_local $1) + (i32.store offset=12 + (get_local $21) + (get_local $10) + ) + (i32.store + (get_local $43) + (get_local $21) ) ) - (block $do-once51 - (if - (i32.eq - (tee_local $0 - (i32.load offset=12 - (get_local $1) - ) - ) + (block + (set_local $19 + (i32.load offset=24 (get_local $1) ) - (block - (if - (tee_local $16 - (i32.load - (tee_local $6 - (i32.add - (tee_local $18 - (i32.add - (get_local $1) - (i32.const 16) + ) + (block $do-once51 + (if + (i32.eq + (tee_local $0 + (i32.load offset=12 + (get_local $1) + ) + ) + (get_local $1) + ) + (block + (if + (tee_local $16 + (i32.load + (tee_local $6 + (i32.add + (tee_local $18 + (i32.add + (get_local $1) + (i32.const 16) + ) ) + (i32.const 4) ) - (i32.const 4) ) ) ) - ) - (block - (set_local $3 - (get_local $16) + (block + (set_local $3 + (get_local $16) + ) + (set_local $0 + (get_local $6) + ) ) - (set_local $0 - (get_local $6) + (if + (tee_local $22 + (i32.load + (get_local $18) + ) + ) + (block + (set_local $3 + (get_local $22) + ) + (set_local $0 + (get_local $18) + ) + ) + (block + (set_local $24 + (i32.const 0) + ) + (br $do-once51) + ) ) ) - (if - (tee_local $22 - (i32.load - (get_local $18) + (loop $while-in54 + (if + (tee_local $16 + (i32.load + (tee_local $6 + (i32.add + (get_local $3) + (i32.const 20) + ) + ) + ) + ) + (block + (set_local $3 + (get_local $16) + ) + (set_local $0 + (get_local $6) + ) + (br $while-in54) ) ) - (block - (set_local $3 - (get_local $22) + (if + (tee_local $16 + (i32.load + (tee_local $6 + (i32.add + (get_local $3) + (i32.const 16) + ) + ) + ) ) - (set_local $0 - (get_local $18) + (block + (set_local $3 + (get_local $16) + ) + (set_local $0 + (get_local $6) + ) + (br $while-in54) ) ) + ) + (if + (i32.lt_u + (get_local $0) + (get_local $14) + ) + (call $qa) (block - (set_local $24 + (i32.store + (get_local $0) (i32.const 0) ) - (br $do-once51) + (set_local $24 + (get_local $3) + ) ) ) ) - (loop $while-in54 + (block (if - (tee_local $16 + (i32.lt_u + (tee_local $6 + (i32.load offset=8 + (get_local $1) + ) + ) + (get_local $14) + ) + (call $qa) + ) + (if + (i32.ne (i32.load - (tee_local $6 + (tee_local $16 (i32.add - (get_local $3) - (i32.const 20) + (get_local $6) + (i32.const 12) ) ) ) + (get_local $1) ) - (block - (set_local $3 - (get_local $16) - ) - (set_local $0 - (get_local $6) - ) - (br $while-in54) - ) + (call $qa) ) (if - (tee_local $16 + (i32.eq (i32.load - (tee_local $6 + (tee_local $18 (i32.add - (get_local $3) - (i32.const 16) + (get_local $0) + (i32.const 8) ) ) ) + (get_local $1) ) (block - (set_local $3 + (i32.store (get_local $16) + (get_local $0) ) - (set_local $0 + (i32.store + (get_local $18) (get_local $6) ) - (br $while-in54) - ) - ) - ) - (if - (i32.lt_u - (get_local $0) - (get_local $14) - ) - (call $qa) - (block - (i32.store - (get_local $0) - (i32.const 0) - ) - (set_local $24 - (get_local $3) + (set_local $24 + (get_local $0) + ) ) + (call $qa) ) ) ) - (block - (if - (i32.lt_u - (tee_local $6 - (i32.load offset=8 - (get_local $1) + ) + (br_if $label$break$e + (i32.eqz + (get_local $19) + ) + ) + (block $do-once55 + (if + (i32.eq + (get_local $1) + (i32.load + (tee_local $21 + (i32.add + (i32.shl + (tee_local $0 + (i32.load offset=28 + (get_local $1) + ) + ) + (i32.const 2) + ) + (i32.const 1512) ) ) - (get_local $14) ) - (call $qa) ) - (if - (i32.ne - (i32.load - (tee_local $16 - (i32.add - (get_local $6) - (i32.const 12) + (block + (i32.store + (get_local $21) + (get_local $24) + ) + (br_if $do-once55 + (get_local $24) + ) + (i32.store + (i32.const 1212) + (i32.and + (i32.load + (i32.const 1212) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $0) ) + (i32.const -1) ) ) - (get_local $1) ) - (call $qa) + (br $label$break$e) ) - (if - (i32.eq - (i32.load - (tee_local $18 - (i32.add - (get_local $0) - (i32.const 8) - ) + (block + (if + (i32.lt_u + (get_local $19) + (i32.load + (i32.const 1224) ) ) - (get_local $1) + (call $qa) ) - (block - (i32.store - (get_local $16) - (get_local $0) + (if + (i32.eq + (i32.load + (tee_local $10 + (i32.add + (get_local $19) + (i32.const 16) + ) + ) + ) + (get_local $1) ) (i32.store - (get_local $18) - (get_local $6) + (get_local $10) + (get_local $24) ) - (set_local $24 - (get_local $0) + (i32.store offset=20 + (get_local $19) + (get_local $24) + ) + ) + (br_if $label$break$e + (i32.eqz + (get_local $24) ) ) - (call $qa) ) ) ) - ) - (br_if $label$break$e - (i32.eqz + (if + (i32.lt_u + (get_local $24) + (tee_local $0 + (i32.load + (i32.const 1224) + ) + ) + ) + (call $qa) + ) + (i32.store offset=24 + (get_local $24) (get_local $19) ) - ) - (block $do-once55 (if - (i32.eq - (get_local $1) + (tee_local $10 (i32.load (tee_local $21 (i32.add - (i32.shl - (tee_local $0 - (i32.load offset=28 - (get_local $1) - ) - ) - (i32.const 2) - ) - (i32.const 1512) - ) - ) - ) - ) - (block - (i32.store - (get_local $21) - (get_local $24) - ) - (br_if $do-once55 - (get_local $24) - ) - (i32.store - (i32.const 1212) - (i32.and - (i32.load - (i32.const 1212) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $0) - ) - (i32.const -1) + (get_local $1) + (i32.const 16) ) ) ) - (br $label$break$e) ) - (block - (if - (i32.lt_u - (get_local $19) - (i32.load - (i32.const 1224) - ) - ) - (call $qa) + (if + (i32.lt_u + (get_local $10) + (get_local $0) ) - (if - (i32.eq - (i32.load - (tee_local $10 - (i32.add - (get_local $19) - (i32.const 16) - ) - ) - ) - (get_local $1) - ) - (i32.store - (get_local $10) - (get_local $24) - ) - (i32.store offset=20 - (get_local $19) + (call $qa) + (block + (i32.store offset=16 (get_local $24) + (get_local $10) ) - ) - (br_if $label$break$e - (i32.eqz + (i32.store offset=24 + (get_local $10) (get_local $24) ) ) ) ) - ) - (if - (i32.lt_u - (get_local $24) - (tee_local $0 - (i32.load - (i32.const 1224) - ) - ) - ) - (call $qa) - ) - (i32.store offset=24 - (get_local $24) - (get_local $19) - ) - (if - (tee_local $10 - (i32.load - (tee_local $21 - (i32.add - (get_local $1) - (i32.const 16) + (br_if $label$break$e + (i32.eqz + (tee_local $10 + (i32.load offset=4 + (get_local $21) ) ) ) @@ -4480,11 +4492,13 @@ (if (i32.lt_u (get_local $10) - (get_local $0) + (i32.load + (i32.const 1224) + ) ) (call $qa) (block - (i32.store offset=16 + (i32.store offset=20 (get_local $24) (get_local $10) ) @@ -4495,467 +4509,313 @@ ) ) ) - (br_if $label$break$e - (i32.eqz - (tee_local $10 - (i32.load offset=4 - (get_local $21) - ) - ) - ) - ) - (if - (i32.lt_u - (get_local $10) - (i32.load - (i32.const 1224) - ) - ) - (call $qa) - (block - (i32.store offset=20 - (get_local $24) - (get_local $10) - ) - (i32.store offset=24 - (get_local $10) - (get_local $24) - ) - ) - ) + ) + ) + (set_local $1 + (i32.add + (get_local $1) + (get_local $4) + ) + ) + (set_local $15 + (i32.add + (get_local $4) + (get_local $15) ) ) ) - (set_local $1 + ) + (i32.store + (tee_local $0 (i32.add (get_local $1) - (get_local $4) + (i32.const 4) ) ) - (set_local $15 - (i32.add - (get_local $4) - (get_local $15) + (i32.and + (i32.load + (get_local $0) ) + (i32.const -2) ) ) - ) - (i32.store - (tee_local $0 - (i32.add - (get_local $1) - (i32.const 4) + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $15) + (i32.const 1) ) ) - (i32.and - (i32.load - (get_local $0) + (i32.store + (i32.add + (get_local $2) + (get_local $15) ) - (i32.const -2) - ) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $15) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (get_local $2) (get_local $15) ) - (get_local $15) - ) - (set_local $0 - (i32.shr_u - (get_local $15) - (i32.const 3) - ) - ) - (if - (i32.lt_u - (get_local $15) - (i32.const 256) + (set_local $0 + (i32.shr_u + (get_local $15) + (i32.const 3) + ) ) - (block - (set_local $3 - (i32.add - (i32.shl - (get_local $0) - (i32.const 3) + (if + (i32.lt_u + (get_local $15) + (i32.const 256) + ) + (block + (set_local $3 + (i32.add + (i32.shl + (get_local $0) + (i32.const 3) + ) + (i32.const 1248) ) - (i32.const 1248) ) - ) - (block $do-once59 - (if - (i32.and - (tee_local $10 - (i32.load - (i32.const 1208) + (block $do-once59 + (if + (i32.and + (tee_local $10 + (i32.load + (i32.const 1208) + ) ) - ) - (tee_local $0 - (i32.shl - (i32.const 1) - (get_local $0) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $0) + ) ) ) - ) - (block - (if - (i32.ge_u - (tee_local $19 - (i32.load - (tee_local $0 - (i32.add - (get_local $3) - (i32.const 8) + (block + (if + (i32.ge_u + (tee_local $19 + (i32.load + (tee_local $0 + (i32.add + (get_local $3) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 1224) + ) ) - (i32.load - (i32.const 1224) + (block + (set_local $44 + (get_local $0) + ) + (set_local $37 + (get_local $19) + ) + (br $do-once59) ) ) - (block - (set_local $44 + (call $qa) + ) + (block + (i32.store + (i32.const 1208) + (i32.or + (get_local $10) (get_local $0) ) - (set_local $37 - (get_local $19) - ) - (br $do-once59) ) - ) - (call $qa) - ) - (block - (i32.store - (i32.const 1208) - (i32.or - (get_local $10) - (get_local $0) + (set_local $44 + (i32.add + (get_local $3) + (i32.const 8) + ) ) - ) - (set_local $44 - (i32.add + (set_local $37 (get_local $3) - (i32.const 8) ) ) - (set_local $37 - (get_local $3) - ) ) ) + (i32.store + (get_local $44) + (get_local $2) + ) + (i32.store offset=12 + (get_local $37) + (get_local $2) + ) + (i32.store offset=8 + (get_local $2) + (get_local $37) + ) + (i32.store offset=12 + (get_local $2) + (get_local $3) + ) + (br $do-once44) ) - (i32.store - (get_local $44) - (get_local $2) - ) - (i32.store offset=12 - (get_local $37) - (get_local $2) - ) - (i32.store offset=8 - (get_local $2) - (get_local $37) - ) - (i32.store offset=12 - (get_local $2) - (get_local $3) - ) - (br $do-once44) ) - ) - (set_local $0 - (i32.add - (i32.shl - (tee_local $4 - (block $do-once61 (result i32) - (if (result i32) - (tee_local $0 - (i32.shr_u - (get_local $15) - (i32.const 8) + (set_local $0 + (i32.add + (i32.shl + (tee_local $4 + (block $do-once61 (result i32) + (if (result i32) + (tee_local $0 + (i32.shr_u + (get_local $15) + (i32.const 8) + ) ) - ) - (block (result i32) - (drop - (br_if $do-once61 - (i32.const 31) - (i32.gt_u - (get_local $15) - (i32.const 16777215) + (block (result i32) + (drop + (br_if $do-once61 + (i32.const 31) + (i32.gt_u + (get_local $15) + (i32.const 16777215) + ) ) ) - ) - (i32.or - (i32.and - (i32.shr_u - (get_local $15) - (i32.add - (tee_local $6 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (i32.or + (i32.and + (i32.shr_u + (get_local $15) + (i32.add + (tee_local $6 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $19 - (i32.and - (i32.shr_u - (i32.add - (tee_local $4 - (i32.shl - (get_local $0) - (tee_local $10 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (i32.or + (tee_local $19 + (i32.and + (i32.shr_u + (i32.add + (tee_local $4 + (i32.shl + (get_local $0) + (tee_local $10 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $10) ) - (get_local $10) - ) - (tee_local $4 - (i32.and - (i32.shr_u - (i32.add - (tee_local $0 - (i32.shl - (get_local $4) - (get_local $19) + (tee_local $4 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $4) + (get_local $19) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $0) - (get_local $4) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $4) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $6) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $6) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) ) + (i32.const 2) ) - (i32.const 2) - ) - (i32.const 1512) - ) - ) - (i32.store offset=28 - (get_local $2) - (get_local $4) - ) - (i32.store offset=4 - (tee_local $3 - (i32.add - (get_local $2) - (i32.const 16) - ) - ) - (i32.const 0) - ) - (i32.store - (get_local $3) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $3 - (i32.load - (i32.const 1212) - ) - ) - (tee_local $6 - (i32.shl - (i32.const 1) - (get_local $4) - ) - ) + (i32.const 1512) ) ) - (block - (i32.store - (i32.const 1212) - (i32.or - (get_local $3) - (get_local $6) - ) - ) - (i32.store - (get_local $0) - (get_local $2) - ) - (i32.store offset=24 - (get_local $2) - (get_local $0) - ) - (i32.store offset=12 - (get_local $2) - (get_local $2) - ) - (i32.store offset=8 - (get_local $2) - (get_local $2) - ) - (br $do-once44) + (i32.store offset=28 + (get_local $2) + (get_local $4) ) - ) - (set_local $6 - (i32.shl - (get_local $15) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (get_local $4) - (i32.const 1) - ) - ) - (i32.eq - (get_local $4) - (i32.const 31) + (i32.store offset=4 + (tee_local $3 + (i32.add + (get_local $2) + (i32.const 16) ) ) + (i32.const 0) ) - ) - (set_local $3 - (i32.load - (get_local $0) + (i32.store + (get_local $3) + (i32.const 0) ) - ) - (loop $while-in64 - (block $while-out63 - (if - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $3) - ) - (i32.const -8) - ) - (get_local $15) - ) - (block - (set_local $38 - (get_local $3) - ) - (set_local $7 - (i32.const 279) - ) - (br $while-out63) - ) - ) - (if - (tee_local $4 - (i32.load - (tee_local $0 - (i32.add - (i32.add - (get_local $3) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $6) - (i32.const 31) - ) - (i32.const 2) - ) - ) + (if + (i32.eqz + (i32.and + (tee_local $3 + (i32.load + (i32.const 1212) ) ) - ) - (block - (set_local $6 + (tee_local $6 (i32.shl - (get_local $6) (i32.const 1) + (get_local $4) ) ) - (set_local $3 - (get_local $4) - ) - (br $while-in64) ) - (block - (set_local $45 - (get_local $0) - ) - (set_local $53 + ) + (block + (i32.store + (i32.const 1212) + (i32.or (get_local $3) - ) - (set_local $7 - (i32.const 276) + (get_local $6) ) ) - ) - ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 276) - ) - (if - (i32.lt_u - (get_local $45) - (i32.load - (i32.const 1224) - ) - ) - (call $qa) - (block (i32.store - (get_local $45) + (get_local $0) (get_local $2) ) (i32.store offset=24 (get_local $2) - (get_local $53) + (get_local $0) ) (i32.store offset=12 (get_local $2) @@ -4965,705 +4825,705 @@ (get_local $2) (get_local $2) ) + (br $do-once44) ) ) - (if - (i32.eq - (get_local $7) - (i32.const 279) + (set_local $6 + (i32.shl + (get_local $15) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $4) + (i32.const 1) + ) + ) + (i32.eq + (get_local $4) + (i32.const 31) + ) + ) ) - (if - (i32.and - (i32.ge_u - (tee_local $6 - (i32.load - (tee_local $3 + ) + (set_local $3 + (i32.load + (get_local $0) + ) + ) + (loop $while-in64 + (block $while-out63 + (if + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $3) + ) + (i32.const -8) + ) + (get_local $15) + ) + (block + (set_local $38 + (get_local $3) + ) + (set_local $7 + (i32.const 279) + ) + (br $while-out63) + ) + ) + (if + (tee_local $4 + (i32.load + (tee_local $0 + (i32.add (i32.add - (get_local $38) - (i32.const 8) + (get_local $3) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $6) + (i32.const 31) + ) + (i32.const 2) ) ) ) ) - (tee_local $4 - (i32.load - (i32.const 1224) + ) + (block + (set_local $6 + (i32.shl + (get_local $6) + (i32.const 1) ) ) + (set_local $3 + (get_local $4) + ) + (br $while-in64) ) - (i32.ge_u - (get_local $38) - (get_local $4) + (block + (set_local $45 + (get_local $0) + ) + (set_local $53 + (get_local $3) + ) + (set_local $7 + (i32.const 276) + ) ) ) - (block - (i32.store offset=12 - (get_local $6) - (get_local $2) + ) + ) + (if + (i32.eq + (get_local $7) + (i32.const 276) + ) + (if + (i32.lt_u + (get_local $45) + (i32.load + (i32.const 1224) ) + ) + (call $qa) + (block (i32.store - (get_local $3) + (get_local $45) (get_local $2) ) - (i32.store offset=8 + (i32.store offset=24 (get_local $2) - (get_local $6) + (get_local $53) ) (i32.store offset=12 (get_local $2) - (get_local $38) + (get_local $2) ) - (i32.store offset=24 + (i32.store offset=8 + (get_local $2) (get_local $2) - (i32.const 0) ) ) - (call $qa) + ) + (if + (i32.eq + (get_local $7) + (i32.const 279) + ) + (if + (i32.and + (i32.ge_u + (tee_local $6 + (i32.load + (tee_local $3 + (i32.add + (get_local $38) + (i32.const 8) + ) + ) + ) + ) + (tee_local $4 + (i32.load + (i32.const 1224) + ) + ) + ) + (i32.ge_u + (get_local $38) + (get_local $4) + ) + ) + (block + (i32.store offset=12 + (get_local $6) + (get_local $2) + ) + (i32.store + (get_local $3) + (get_local $2) + ) + (i32.store offset=8 + (get_local $2) + (get_local $6) + ) + (i32.store offset=12 + (get_local $2) + (get_local $38) + ) + (i32.store offset=24 + (get_local $2) + (i32.const 0) + ) + ) + (call $qa) + ) ) ) ) ) ) - ) - (set_global $r - (get_local $25) - ) - (return - (i32.add - (get_local $17) - (i32.const 8) + (set_global $r + (get_local $25) ) - ) - ) - ) - ) - (loop $while-in66 - (block $while-out65 - (if - (i32.le_u - (tee_local $2 - (i32.load - (get_local $30) + (return + (i32.add + (get_local $17) + (i32.const 8) ) ) - (get_local $11) ) + ) + ) + (loop $while-in66 + (block $while-out65 (if - (i32.gt_u - (tee_local $15 - (i32.add - (get_local $2) - (i32.load offset=4 - (get_local $30) - ) + (i32.le_u + (tee_local $2 + (i32.load + (get_local $30) ) ) (get_local $11) ) - (block - (set_local $0 - (get_local $15) + (if + (i32.gt_u + (tee_local $15 + (i32.add + (get_local $2) + (i32.load offset=4 + (get_local $30) + ) + ) + ) + (get_local $11) + ) + (block + (set_local $0 + (get_local $15) + ) + (br $while-out65) ) - (br $while-out65) ) ) - ) - (set_local $30 - (i32.load offset=8 - (get_local $30) + (set_local $30 + (i32.load offset=8 + (get_local $30) + ) ) + (br $while-in66) ) - (br $while-in66) ) - ) - (set_local $15 - (i32.add - (tee_local $17 - (i32.add - (get_local $0) - (i32.const -47) + (set_local $15 + (i32.add + (tee_local $17 + (i32.add + (get_local $0) + (i32.const -47) + ) ) + (i32.const 8) ) - (i32.const 8) ) - ) - (set_local $2 - (i32.add - (tee_local $17 - (select - (get_local $11) - (tee_local $2 - (i32.add - (get_local $17) - (select - (i32.and - (i32.sub - (i32.const 0) + (set_local $2 + (i32.add + (tee_local $17 + (select + (get_local $11) + (tee_local $2 + (i32.add + (get_local $17) + (select + (i32.and + (i32.sub + (i32.const 0) + (get_local $15) + ) + (i32.const 7) + ) + (i32.const 0) + (i32.and (get_local $15) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $15) - (i32.const 7) ) ) ) - ) - (i32.lt_u - (get_local $2) - (tee_local $15 - (i32.add - (get_local $11) - (i32.const 16) + (i32.lt_u + (get_local $2) + (tee_local $15 + (i32.add + (get_local $11) + (i32.const 16) + ) ) ) ) ) + (i32.const 8) ) - (i32.const 8) ) - ) - (i32.store - (i32.const 1232) - (tee_local $1 - (i32.add - (get_local $20) - (tee_local $13 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $1 - (i32.add - (get_local $20) - (i32.const 8) + (i32.store + (i32.const 1232) + (tee_local $1 + (i32.add + (get_local $20) + (tee_local $13 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.add + (get_local $20) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $1) - (i32.const 7) ) ) ) ) ) - ) - (i32.store - (i32.const 1220) - (tee_local $6 - (i32.sub + (i32.store + (i32.const 1220) + (tee_local $6 + (i32.sub + (i32.add + (get_local $26) + (i32.const -40) + ) + (get_local $13) + ) + ) + ) + (i32.store offset=4 + (get_local $1) + (i32.or + (get_local $6) + (i32.const 1) + ) + ) + (i32.store offset=4 + (i32.add + (get_local $1) + (get_local $6) + ) + (i32.const 40) + ) + (i32.store + (i32.const 1236) + (i32.load + (i32.const 1696) + ) + ) + (i32.store + (tee_local $6 (i32.add - (get_local $26) - (i32.const -40) + (get_local $17) + (i32.const 4) ) - (get_local $13) ) + (i32.const 27) ) - ) - (i32.store offset=4 - (get_local $1) - (i32.or - (get_local $6) - (i32.const 1) + (i32.store + (get_local $2) + (i32.load + (i32.const 1656) + ) ) - ) - (i32.store offset=4 - (i32.add - (get_local $1) - (get_local $6) + (i32.store offset=4 + (get_local $2) + (i32.load + (i32.const 1660) + ) ) - (i32.const 40) - ) - (i32.store - (i32.const 1236) - (i32.load - (i32.const 1696) + (i32.store offset=8 + (get_local $2) + (i32.load + (i32.const 1664) + ) ) - ) - (i32.store - (tee_local $6 - (i32.add - (get_local $17) - (i32.const 4) + (i32.store offset=12 + (get_local $2) + (i32.load + (i32.const 1668) ) ) - (i32.const 27) - ) - (i32.store - (get_local $2) - (i32.load + (i32.store (i32.const 1656) + (get_local $20) ) - ) - (i32.store offset=4 - (get_local $2) - (i32.load + (i32.store (i32.const 1660) + (get_local $26) ) - ) - (i32.store offset=8 - (get_local $2) - (i32.load - (i32.const 1664) - ) - ) - (i32.store offset=12 - (get_local $2) - (i32.load + (i32.store (i32.const 1668) + (i32.const 0) ) - ) - (i32.store - (i32.const 1656) - (get_local $20) - ) - (i32.store - (i32.const 1660) - (get_local $26) - ) - (i32.store - (i32.const 1668) - (i32.const 0) - ) - (i32.store - (i32.const 1664) - (get_local $2) - ) - (set_local $2 - (i32.add - (get_local $17) - (i32.const 24) - ) - ) - (loop $do-in68 (i32.store - (tee_local $2 - (i32.add - (get_local $2) - (i32.const 4) - ) - ) - (i32.const 7) + (i32.const 1664) + (get_local $2) ) - (br_if $do-in68 - (i32.lt_u - (i32.add - (get_local $2) - (i32.const 4) - ) - (get_local $0) + (set_local $2 + (i32.add + (get_local $17) + (i32.const 24) ) ) - ) - (if - (i32.ne - (get_local $17) - (get_local $11) - ) - (block + (loop $do-in68 (i32.store - (get_local $6) - (i32.and - (i32.load - (get_local $6) + (tee_local $2 + (i32.add + (get_local $2) + (i32.const 4) ) - (i32.const -2) ) + (i32.const 7) ) - (i32.store offset=4 - (get_local $11) - (i32.or - (tee_local $2 - (i32.sub - (get_local $17) - (get_local $11) - ) + (br_if $do-in68 + (i32.lt_u + (i32.add + (get_local $2) + (i32.const 4) ) - (i32.const 1) + (get_local $0) ) ) - (i32.store + ) + (if + (i32.ne (get_local $17) - (get_local $2) - ) - (set_local $1 - (i32.shr_u - (get_local $2) - (i32.const 3) - ) + (get_local $11) ) - (if - (i32.lt_u - (get_local $2) - (i32.const 256) + (block + (i32.store + (get_local $6) + (i32.and + (i32.load + (get_local $6) + ) + (i32.const -2) + ) ) - (block - (set_local $13 - (i32.add - (i32.shl - (get_local $1) - (i32.const 3) + (i32.store offset=4 + (get_local $11) + (i32.or + (tee_local $2 + (i32.sub + (get_local $17) + (get_local $11) ) - (i32.const 1248) ) + (i32.const 1) ) - (if - (i32.and - (tee_local $3 - (i32.load - (i32.const 1208) - ) - ) - (tee_local $4 + ) + (i32.store + (get_local $17) + (get_local $2) + ) + (set_local $1 + (i32.shr_u + (get_local $2) + (i32.const 3) + ) + ) + (if + (i32.lt_u + (get_local $2) + (i32.const 256) + ) + (block + (set_local $13 + (i32.add (i32.shl - (i32.const 1) (get_local $1) + (i32.const 3) ) + (i32.const 1248) ) ) (if - (i32.lt_u + (i32.and (tee_local $3 (i32.load - (tee_local $4 - (i32.add - (get_local $13) - (i32.const 8) + (i32.const 1208) + ) + ) + (tee_local $4 + (i32.shl + (i32.const 1) + (get_local $1) + ) + ) + ) + (if + (i32.lt_u + (tee_local $3 + (i32.load + (tee_local $4 + (i32.add + (get_local $13) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 1224) + ) ) - (i32.load - (i32.const 1224) + (call $qa) + (block + (set_local $46 + (get_local $4) + ) + (set_local $39 + (get_local $3) + ) ) ) - (call $qa) (block + (i32.store + (i32.const 1208) + (i32.or + (get_local $3) + (get_local $4) + ) + ) (set_local $46 - (get_local $4) + (i32.add + (get_local $13) + (i32.const 8) + ) ) (set_local $39 - (get_local $3) - ) - ) - ) - (block - (i32.store - (i32.const 1208) - (i32.or - (get_local $3) - (get_local $4) - ) - ) - (set_local $46 - (i32.add (get_local $13) - (i32.const 8) ) ) - (set_local $39 - (get_local $13) - ) ) + (i32.store + (get_local $46) + (get_local $11) + ) + (i32.store offset=12 + (get_local $39) + (get_local $11) + ) + (i32.store offset=8 + (get_local $11) + (get_local $39) + ) + (i32.store offset=12 + (get_local $11) + (get_local $13) + ) + (br $do-once38) ) - (i32.store - (get_local $46) - (get_local $11) - ) - (i32.store offset=12 - (get_local $39) - (get_local $11) - ) - (i32.store offset=8 - (get_local $11) - (get_local $39) - ) - (i32.store offset=12 - (get_local $11) - (get_local $13) - ) - (br $do-once38) ) - ) - (set_local $0 - (i32.add - (i32.shl - (tee_local $3 - (if (result i32) - (tee_local $13 - (i32.shr_u - (get_local $2) - (i32.const 8) - ) - ) + (set_local $0 + (i32.add + (i32.shl + (tee_local $3 (if (result i32) - (i32.gt_u - (get_local $2) - (i32.const 16777215) + (tee_local $13 + (i32.shr_u + (get_local $2) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $2) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $2) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $2) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $13 - (i32.and - (i32.shr_u - (i32.add - (tee_local $4 - (i32.shl - (get_local $13) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $13) - (i32.const 1048320) + (i32.or + (tee_local $13 + (i32.and + (i32.shr_u + (i32.add + (tee_local $4 + (i32.shl + (get_local $13) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $13) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $3) ) - (get_local $3) - ) - (tee_local $4 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $4) - (get_local $13) + (tee_local $4 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $4) + (get_local $13) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $4) + (i32.shr_u + (i32.shl + (get_local $1) + (get_local $4) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) - ) - ) - (i32.const 2) - ) - (i32.const 1512) - ) - ) - (i32.store offset=28 - (get_local $11) - (get_local $3) - ) - (i32.store offset=20 - (get_local $11) - (i32.const 0) - ) - (i32.store - (get_local $15) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $4 - (i32.load - (i32.const 1212) - ) - ) - (tee_local $1 - (i32.shl - (i32.const 1) - (get_local $3) ) + (i32.const 2) ) + (i32.const 1512) ) ) - (block - (i32.store - (i32.const 1212) - (i32.or - (get_local $4) - (get_local $1) - ) - ) - (i32.store - (get_local $0) - (get_local $11) - ) - (i32.store offset=24 - (get_local $11) - (get_local $0) - ) - (i32.store offset=12 - (get_local $11) - (get_local $11) - ) - (i32.store offset=8 - (get_local $11) - (get_local $11) - ) - (br $do-once38) + (i32.store offset=28 + (get_local $11) + (get_local $3) ) - ) - (set_local $1 - (i32.shl - (get_local $2) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (get_local $3) - (i32.const 1) - ) - ) - (i32.eq - (get_local $3) - (i32.const 31) - ) - ) + (i32.store offset=20 + (get_local $11) + (i32.const 0) ) - ) - (set_local $4 - (i32.load - (get_local $0) + (i32.store + (get_local $15) + (i32.const 0) ) - ) - (loop $while-in70 - (block $while-out69 - (if - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $4) - ) - (i32.const -8) - ) - (get_local $2) - ) - (block - (set_local $31 - (get_local $4) - ) - (set_local $7 - (i32.const 305) - ) - (br $while-out69) - ) - ) - (if - (tee_local $3 - (i32.load - (tee_local $0 - (i32.add - (i32.add - (get_local $4) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $1) - (i32.const 31) - ) - (i32.const 2) - ) - ) + (if + (i32.eqz + (i32.and + (tee_local $4 + (i32.load + (i32.const 1212) ) ) - ) - (block - (set_local $1 + (tee_local $1 (i32.shl - (get_local $1) (i32.const 1) + (get_local $3) ) ) - (set_local $4 - (get_local $3) - ) - (br $while-in70) ) - (block - (set_local $47 - (get_local $0) - ) - (set_local $54 + ) + (block + (i32.store + (i32.const 1212) + (i32.or (get_local $4) - ) - (set_local $7 - (i32.const 302) + (get_local $1) ) ) - ) - ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 302) - ) - (if - (i32.lt_u - (get_local $47) - (i32.load - (i32.const 1224) - ) - ) - (call $qa) - (block (i32.store - (get_local $47) + (get_local $0) (get_local $11) ) (i32.store offset=24 (get_local $11) - (get_local $54) + (get_local $0) ) (i32.store offset=12 (get_local $11) @@ -5673,271 +5533,406 @@ (get_local $11) (get_local $11) ) + (br $do-once38) ) ) - (if - (i32.eq - (get_local $7) - (i32.const 305) + (set_local $1 + (i32.shl + (get_local $2) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $3) + (i32.const 1) + ) + ) + (i32.eq + (get_local $3) + (i32.const 31) + ) + ) ) - (if - (i32.and - (i32.ge_u - (tee_local $1 - (i32.load - (tee_local $4 + ) + (set_local $4 + (i32.load + (get_local $0) + ) + ) + (loop $while-in70 + (block $while-out69 + (if + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $4) + ) + (i32.const -8) + ) + (get_local $2) + ) + (block + (set_local $31 + (get_local $4) + ) + (set_local $7 + (i32.const 305) + ) + (br $while-out69) + ) + ) + (if + (tee_local $3 + (i32.load + (tee_local $0 + (i32.add (i32.add - (get_local $31) - (i32.const 8) + (get_local $4) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $1) + (i32.const 31) + ) + (i32.const 2) ) ) ) ) - (tee_local $2 - (i32.load - (i32.const 1224) + ) + (block + (set_local $1 + (i32.shl + (get_local $1) + (i32.const 1) ) ) + (set_local $4 + (get_local $3) + ) + (br $while-in70) ) - (i32.ge_u - (get_local $31) - (get_local $2) + (block + (set_local $47 + (get_local $0) + ) + (set_local $54 + (get_local $4) + ) + (set_local $7 + (i32.const 302) + ) ) ) - (block - (i32.store offset=12 - (get_local $1) - (get_local $11) + ) + ) + (if + (i32.eq + (get_local $7) + (i32.const 302) + ) + (if + (i32.lt_u + (get_local $47) + (i32.load + (i32.const 1224) ) + ) + (call $qa) + (block (i32.store - (get_local $4) + (get_local $47) (get_local $11) ) - (i32.store offset=8 + (i32.store offset=24 (get_local $11) - (get_local $1) + (get_local $54) ) (i32.store offset=12 (get_local $11) - (get_local $31) + (get_local $11) ) - (i32.store offset=24 + (i32.store offset=8 + (get_local $11) (get_local $11) - (i32.const 0) ) ) - (call $qa) + ) + (if + (i32.eq + (get_local $7) + (i32.const 305) + ) + (if + (i32.and + (i32.ge_u + (tee_local $1 + (i32.load + (tee_local $4 + (i32.add + (get_local $31) + (i32.const 8) + ) + ) + ) + ) + (tee_local $2 + (i32.load + (i32.const 1224) + ) + ) + ) + (i32.ge_u + (get_local $31) + (get_local $2) + ) + ) + (block + (i32.store offset=12 + (get_local $1) + (get_local $11) + ) + (i32.store + (get_local $4) + (get_local $11) + ) + (i32.store offset=8 + (get_local $11) + (get_local $1) + ) + (i32.store offset=12 + (get_local $11) + (get_local $31) + ) + (i32.store offset=24 + (get_local $11) + (i32.const 0) + ) + ) + (call $qa) + ) ) ) ) ) ) - ) - (block - (if - (i32.or - (i32.eqz - (tee_local $1 - (i32.load - (i32.const 1224) + (block + (if + (i32.or + (i32.eqz + (tee_local $1 + (i32.load + (i32.const 1224) + ) ) ) + (i32.lt_u + (get_local $20) + (get_local $1) + ) ) - (i32.lt_u + (i32.store + (i32.const 1224) (get_local $20) - (get_local $1) ) ) (i32.store - (i32.const 1224) + (i32.const 1656) (get_local $20) ) - ) - (i32.store - (i32.const 1656) - (get_local $20) - ) - (i32.store - (i32.const 1660) - (get_local $26) - ) - (i32.store - (i32.const 1668) - (i32.const 0) - ) - (i32.store - (i32.const 1244) - (i32.load - (i32.const 1680) + (i32.store + (i32.const 1660) + (get_local $26) ) - ) - (i32.store - (i32.const 1240) - (i32.const -1) - ) - (set_local $1 - (i32.const 0) - ) - (loop $do-in - (i32.store offset=12 - (tee_local $13 - (i32.add - (i32.shl - (get_local $1) - (i32.const 3) - ) - (i32.const 1248) - ) + (i32.store + (i32.const 1668) + (i32.const 0) + ) + (i32.store + (i32.const 1244) + (i32.load + (i32.const 1680) ) - (get_local $13) ) - (i32.store offset=8 - (get_local $13) - (get_local $13) + (i32.store + (i32.const 1240) + (i32.const -1) ) - (br_if $do-in - (i32.ne - (tee_local $1 + (set_local $1 + (i32.const 0) + ) + (loop $do-in + (i32.store offset=12 + (tee_local $13 (i32.add - (get_local $1) - (i32.const 1) + (i32.shl + (get_local $1) + (i32.const 3) + ) + (i32.const 1248) + ) + ) + (get_local $13) + ) + (i32.store offset=8 + (get_local $13) + (get_local $13) + ) + (br_if $do-in + (i32.ne + (tee_local $1 + (i32.add + (get_local $1) + (i32.const 1) + ) ) + (i32.const 32) ) - (i32.const 32) ) ) - ) - (i32.store - (i32.const 1232) - (tee_local $1 - (i32.add - (get_local $20) - (tee_local $13 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $1 - (i32.add - (get_local $20) - (i32.const 8) + (i32.store + (i32.const 1232) + (tee_local $1 + (i32.add + (get_local $20) + (tee_local $13 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.add + (get_local $20) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $1) - (i32.const 7) ) ) ) ) ) - ) - (i32.store - (i32.const 1220) - (tee_local $2 - (i32.sub - (i32.add - (get_local $26) - (i32.const -40) + (i32.store + (i32.const 1220) + (tee_local $2 + (i32.sub + (i32.add + (get_local $26) + (i32.const -40) + ) + (get_local $13) ) - (get_local $13) ) ) - ) - (i32.store offset=4 - (get_local $1) - (i32.or - (get_local $2) - (i32.const 1) - ) - ) - (i32.store offset=4 - (i32.add + (i32.store offset=4 (get_local $1) - (get_local $2) + (i32.or + (get_local $2) + (i32.const 1) + ) ) - (i32.const 40) - ) - (i32.store - (i32.const 1236) - (i32.load - (i32.const 1696) + (i32.store offset=4 + (i32.add + (get_local $1) + (get_local $2) + ) + (i32.const 40) + ) + (i32.store + (i32.const 1236) + (i32.load + (i32.const 1696) + ) ) ) ) ) - ) - (if - (i32.gt_u - (tee_local $11 - (i32.load - (i32.const 1220) + (if + (i32.gt_u + (tee_local $11 + (i32.load + (i32.const 1220) + ) ) + (get_local $5) ) - (get_local $5) - ) - (block - (i32.store - (i32.const 1220) - (tee_local $31 - (i32.sub - (get_local $11) - (get_local $5) + (block + (i32.store + (i32.const 1220) + (tee_local $31 + (i32.sub + (get_local $11) + (get_local $5) + ) ) ) - ) - (i32.store - (i32.const 1232) - (tee_local $7 - (i32.add - (tee_local $11 - (i32.load - (i32.const 1232) + (i32.store + (i32.const 1232) + (tee_local $7 + (i32.add + (tee_local $11 + (i32.load + (i32.const 1232) + ) ) + (get_local $5) ) - (get_local $5) ) ) - ) - (i32.store offset=4 - (get_local $7) - (i32.or - (get_local $31) - (i32.const 1) - ) - ) - (i32.store offset=4 - (get_local $11) - (i32.or - (get_local $5) - (i32.const 3) + (i32.store offset=4 + (get_local $7) + (i32.or + (get_local $31) + (i32.const 1) + ) ) - ) - (set_global $r - (get_local $25) - ) - (return - (i32.add + (i32.store offset=4 (get_local $11) - (i32.const 8) + (i32.or + (get_local $5) + (i32.const 3) + ) + ) + (set_global $r + (get_local $25) + ) + (return + (i32.add + (get_local $11) + (i32.const 8) + ) ) ) ) ) ) - ) - (i32.store - (call $Qa) - (i32.const 12) + (i32.store + (call $Qa) + (i32.const 12) + ) + (set_global $r + (get_local $25) + ) + (return + (i32.const 0) + ) ) (set_global $r (get_local $25) ) - (i32.const 0) + (i32.add + (get_local $15) + (i32.const 8) + ) ) (func $fb (param $0 i32) (local $1 i32) diff --git a/test/memorygrowth.fromasm.imprecise b/test/memorygrowth.fromasm.imprecise index bd959d564..38e3724a5 100644 --- a/test/memorygrowth.fromasm.imprecise +++ b/test/memorygrowth.fromasm.imprecise @@ -104,830 +104,790 @@ (local $52 i32) (local $53 i32) (local $54 i32) - (set_local $25 - (get_global $r) - ) - (set_global $r - (i32.add + (block $folding-inner0 + (set_local $25 (get_global $r) - (i32.const 16) ) - ) - (set_local $13 - (get_local $25) - ) - (block $do-once - (if - (i32.lt_u - (get_local $0) - (i32.const 245) + (set_global $r + (i32.add + (get_global $r) + (i32.const 16) ) - (block - (if - (i32.and - (tee_local $5 - (i32.shr_u - (tee_local $4 - (i32.load - (i32.const 1208) + ) + (set_local $13 + (get_local $25) + ) + (block $do-once + (if + (i32.lt_u + (get_local $0) + (i32.const 245) + ) + (block + (if + (i32.and + (tee_local $5 + (i32.shr_u + (tee_local $4 + (i32.load + (i32.const 1208) + ) ) - ) - (tee_local $0 - (i32.shr_u - (tee_local $3 - (select - (i32.const 16) - (i32.and - (i32.add + (tee_local $0 + (i32.shr_u + (tee_local $3 + (select + (i32.const 16) + (i32.and + (i32.add + (get_local $0) + (i32.const 11) + ) + (i32.const -8) + ) + (i32.lt_u (get_local $0) (i32.const 11) ) - (i32.const -8) - ) - (i32.lt_u - (get_local $0) - (i32.const 11) ) ) + (i32.const 3) ) - (i32.const 3) ) ) ) + (i32.const 3) ) - (i32.const 3) - ) - (block - (set_local $6 - (i32.load - (tee_local $3 - (i32.add - (tee_local $12 - (i32.load - (tee_local $14 - (i32.add - (tee_local $8 - (i32.add - (i32.shl - (tee_local $0 - (i32.add - (i32.xor - (i32.and - (get_local $5) + (block + (set_local $6 + (i32.load + (tee_local $3 + (i32.add + (tee_local $12 + (i32.load + (tee_local $14 + (i32.add + (tee_local $8 + (i32.add + (i32.shl + (tee_local $0 + (i32.add + (i32.xor + (i32.and + (get_local $5) + (i32.const 1) + ) (i32.const 1) ) - (i32.const 1) + (get_local $0) ) - (get_local $0) ) + (i32.const 3) ) - (i32.const 3) + (i32.const 1248) ) - (i32.const 1248) ) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 8) ) - (i32.const 8) ) ) ) - ) - (if - (i32.eq - (get_local $8) - (get_local $6) - ) - (i32.store - (i32.const 1208) - (i32.and - (get_local $4) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $0) - ) - (i32.const -1) - ) + (if + (i32.eq + (get_local $8) + (get_local $6) ) - ) - (block - (if - (i32.lt_u - (get_local $6) - (i32.load - (i32.const 1224) + (i32.store + (i32.const 1208) + (i32.and + (get_local $4) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $0) + ) + (i32.const -1) ) ) - (call $qa) ) - (if - (i32.eq - (i32.load - (tee_local $7 - (i32.add - (get_local $6) - (i32.const 12) - ) + (block + (if + (i32.lt_u + (get_local $6) + (i32.load + (i32.const 1224) ) ) - (get_local $12) + (call $qa) ) - (block - (i32.store - (get_local $7) - (get_local $8) + (if + (i32.eq + (i32.load + (tee_local $7 + (i32.add + (get_local $6) + (i32.const 12) + ) + ) + ) + (get_local $12) ) - (i32.store - (get_local $14) - (get_local $6) + (block + (i32.store + (get_local $7) + (get_local $8) + ) + (i32.store + (get_local $14) + (get_local $6) + ) ) + (call $qa) ) - (call $qa) ) ) - ) - (i32.store offset=4 - (get_local $12) - (i32.or - (tee_local $6 - (i32.shl - (get_local $0) - (i32.const 3) + (i32.store offset=4 + (get_local $12) + (i32.or + (tee_local $6 + (i32.shl + (get_local $0) + (i32.const 3) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $14 - (i32.add + (i32.store + (tee_local $14 (i32.add - (get_local $12) - (get_local $6) + (i32.add + (get_local $12) + (get_local $6) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $14) + (i32.or + (i32.load + (get_local $14) + ) + (i32.const 1) ) - (i32.const 1) ) - ) - (set_global $r - (get_local $25) - ) - (return - (get_local $3) + (set_global $r + (get_local $25) + ) + (return + (get_local $3) + ) ) ) - ) - (if - (i32.gt_u - (get_local $3) - (tee_local $14 - (i32.load - (i32.const 1216) + (if + (i32.gt_u + (get_local $3) + (tee_local $14 + (i32.load + (i32.const 1216) + ) ) ) - ) - (block - (if - (get_local $5) - (block - (set_local $8 - (i32.and - (i32.shr_u - (tee_local $6 - (i32.add - (i32.and - (tee_local $8 - (i32.and - (i32.shl - (get_local $5) - (get_local $0) - ) - (i32.or - (tee_local $6 - (i32.shl - (i32.const 2) - (get_local $0) - ) + (block + (if + (get_local $5) + (block + (set_local $8 + (i32.and + (i32.shr_u + (tee_local $6 + (i32.add + (i32.and + (tee_local $8 + (i32.and + (i32.shl + (get_local $5) + (get_local $0) ) - (i32.sub - (i32.const 0) - (get_local $6) + (i32.or + (tee_local $6 + (i32.shl + (i32.const 2) + (get_local $0) + ) + ) + (i32.sub + (i32.const 0) + (get_local $6) + ) ) ) ) + (i32.sub + (i32.const 0) + (get_local $8) + ) ) - (i32.sub - (i32.const 0) - (get_local $8) - ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (set_local $8 - (i32.load - (tee_local $7 - (i32.add - (tee_local $9 - (i32.load - (tee_local $12 - (i32.add - (tee_local $1 - (i32.add - (i32.shl - (tee_local $16 - (i32.add - (i32.or + (set_local $8 + (i32.load + (tee_local $7 + (i32.add + (tee_local $9 + (i32.load + (tee_local $12 + (i32.add + (tee_local $1 + (i32.add + (i32.shl + (tee_local $16 + (i32.add (i32.or (i32.or (i32.or - (tee_local $6 + (i32.or + (tee_local $6 + (i32.and + (i32.shr_u + (tee_local $7 + (i32.shr_u + (get_local $6) + (get_local $8) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $8) + ) + (tee_local $7 (i32.and (i32.shr_u - (tee_local $7 + (tee_local $9 (i32.shr_u + (get_local $7) (get_local $6) - (get_local $8) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $8) ) - (tee_local $7 + (tee_local $9 (i32.and (i32.shr_u - (tee_local $9 + (tee_local $1 (i32.shr_u + (get_local $9) (get_local $7) - (get_local $6) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) - (tee_local $9 + (tee_local $1 (i32.and (i32.shr_u - (tee_local $1 + (tee_local $12 (i32.shr_u + (get_local $1) (get_local $9) - (get_local $7) ) ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $1 - (i32.and - (i32.shr_u - (tee_local $12 - (i32.shr_u - (get_local $1) - (get_local $9) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) - ) - (i32.shr_u - (get_local $12) - (get_local $1) + (i32.shr_u + (get_local $12) + (get_local $1) + ) ) ) + (i32.const 3) ) - (i32.const 3) + (i32.const 1248) ) - (i32.const 1248) ) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 8) ) - (i32.const 8) ) ) ) - ) - (if - (i32.eq - (get_local $1) - (get_local $8) - ) - (block - (i32.store - (i32.const 1208) - (i32.and - (get_local $4) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $16) + (if + (i32.eq + (get_local $1) + (get_local $8) + ) + (block + (i32.store + (i32.const 1208) + (i32.and + (get_local $4) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $16) + ) + (i32.const -1) ) - (i32.const -1) ) ) - ) - (set_local $34 - (get_local $14) - ) - ) - (block - (if - (i32.lt_u - (get_local $8) - (i32.load - (i32.const 1224) - ) + (set_local $34 + (get_local $14) ) - (call $qa) ) - (if - (i32.eq - (i32.load - (tee_local $6 - (i32.add - (get_local $8) - (i32.const 12) - ) + (block + (if + (i32.lt_u + (get_local $8) + (i32.load + (i32.const 1224) ) ) - (get_local $9) + (call $qa) ) - (block - (i32.store - (get_local $6) - (get_local $1) - ) - (i32.store - (get_local $12) - (get_local $8) - ) - (set_local $34 + (if + (i32.eq (i32.load - (i32.const 1216) + (tee_local $6 + (i32.add + (get_local $8) + (i32.const 12) + ) + ) + ) + (get_local $9) + ) + (block + (i32.store + (get_local $6) + (get_local $1) + ) + (i32.store + (get_local $12) + (get_local $8) + ) + (set_local $34 + (i32.load + (i32.const 1216) + ) ) ) + (call $qa) ) - (call $qa) ) ) - ) - (i32.store offset=4 - (get_local $9) - (i32.or - (get_local $3) - (i32.const 3) - ) - ) - (i32.store offset=4 - (tee_local $12 - (i32.add - (get_local $9) + (i32.store offset=4 + (get_local $9) + (i32.or (get_local $3) + (i32.const 3) ) ) - (i32.or - (tee_local $8 - (i32.sub - (i32.shl - (get_local $16) - (i32.const 3) - ) + (i32.store offset=4 + (tee_local $12 + (i32.add + (get_local $9) (get_local $3) ) ) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (get_local $12) - (get_local $8) - ) - (get_local $8) - ) - (if - (get_local $34) - (block - (set_local $1 - (i32.load - (i32.const 1228) - ) - ) - (set_local $4 - (i32.add - (i32.shl - (tee_local $14 - (i32.shr_u - (get_local $34) - (i32.const 3) - ) + (i32.or + (tee_local $8 + (i32.sub + (i32.shl + (get_local $16) + (i32.const 3) ) - (i32.const 3) + (get_local $3) ) - (i32.const 1248) ) + (i32.const 1) ) - (if - (i32.and - (tee_local $0 - (i32.load - (i32.const 1208) - ) + ) + (i32.store + (i32.add + (get_local $12) + (get_local $8) + ) + (get_local $8) + ) + (if + (get_local $34) + (block + (set_local $1 + (i32.load + (i32.const 1228) ) - (tee_local $5 + ) + (set_local $4 + (i32.add (i32.shl - (i32.const 1) - (get_local $14) + (tee_local $14 + (i32.shr_u + (get_local $34) + (i32.const 3) + ) + ) + (i32.const 3) ) + (i32.const 1248) ) ) (if - (i32.lt_u + (i32.and (tee_local $0 (i32.load - (tee_local $5 - (i32.add - (get_local $4) - (i32.const 8) + (i32.const 1208) + ) + ) + (tee_local $5 + (i32.shl + (i32.const 1) + (get_local $14) + ) + ) + ) + (if + (i32.lt_u + (tee_local $0 + (i32.load + (tee_local $5 + (i32.add + (get_local $4) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 1224) + ) ) - (i32.load - (i32.const 1224) + (call $qa) + (block + (set_local $40 + (get_local $5) + ) + (set_local $35 + (get_local $0) + ) ) ) - (call $qa) (block + (i32.store + (i32.const 1208) + (i32.or + (get_local $0) + (get_local $5) + ) + ) (set_local $40 - (get_local $5) + (i32.add + (get_local $4) + (i32.const 8) + ) ) (set_local $35 - (get_local $0) - ) - ) - ) - (block - (i32.store - (i32.const 1208) - (i32.or - (get_local $0) - (get_local $5) - ) - ) - (set_local $40 - (i32.add (get_local $4) - (i32.const 8) ) ) - (set_local $35 - (get_local $4) - ) ) - ) - (i32.store - (get_local $40) - (get_local $1) - ) - (i32.store offset=12 - (get_local $35) - (get_local $1) - ) - (i32.store offset=8 - (get_local $1) - (get_local $35) - ) - (i32.store offset=12 - (get_local $1) - (get_local $4) + (i32.store + (get_local $40) + (get_local $1) + ) + (i32.store offset=12 + (get_local $35) + (get_local $1) + ) + (i32.store offset=8 + (get_local $1) + (get_local $35) + ) + (i32.store offset=12 + (get_local $1) + (get_local $4) + ) ) ) - ) - (i32.store - (i32.const 1216) - (get_local $8) - ) - (i32.store - (i32.const 1228) - (get_local $12) - ) - (set_global $r - (get_local $25) - ) - (return - (get_local $7) + (i32.store + (i32.const 1216) + (get_local $8) + ) + (i32.store + (i32.const 1228) + (get_local $12) + ) + (set_global $r + (get_local $25) + ) + (return + (get_local $7) + ) ) ) - ) - (if - (tee_local $12 - (i32.load - (i32.const 1212) + (if + (tee_local $12 + (i32.load + (i32.const 1212) + ) ) - ) - (block - (set_local $12 - (i32.and - (i32.shr_u - (tee_local $8 - (i32.add - (i32.and - (get_local $12) - (i32.sub - (i32.const 0) + (block + (set_local $12 + (i32.and + (i32.shr_u + (tee_local $8 + (i32.add + (i32.and (get_local $12) + (i32.sub + (i32.const 0) + (get_local $12) + ) ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (set_local $0 - (i32.sub - (i32.and - (i32.load offset=4 - (tee_local $14 - (i32.load - (i32.add - (i32.shl - (i32.add - (i32.or + (set_local $0 + (i32.sub + (i32.and + (i32.load offset=4 + (tee_local $14 + (i32.load + (i32.add + (i32.shl + (i32.add (i32.or (i32.or (i32.or - (tee_local $8 + (i32.or + (tee_local $8 + (i32.and + (i32.shr_u + (tee_local $4 + (i32.shr_u + (get_local $8) + (get_local $12) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $12) + ) + (tee_local $4 (i32.and (i32.shr_u - (tee_local $4 + (tee_local $1 (i32.shr_u + (get_local $4) (get_local $8) - (get_local $12) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $12) ) - (tee_local $4 + (tee_local $1 (i32.and (i32.shr_u - (tee_local $1 + (tee_local $0 (i32.shr_u + (get_local $1) (get_local $4) - (get_local $8) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) - (tee_local $1 + (tee_local $0 (i32.and (i32.shr_u - (tee_local $0 + (tee_local $5 (i32.shr_u + (get_local $0) (get_local $1) - (get_local $4) ) ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $0 - (i32.and - (i32.shr_u - (tee_local $5 - (i32.shr_u - (get_local $0) - (get_local $1) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) + (i32.shr_u + (get_local $5) + (get_local $0) + ) ) - (i32.shr_u - (get_local $5) - (get_local $0) - ) + (i32.const 2) ) - (i32.const 2) + (i32.const 1512) ) - (i32.const 1512) ) ) ) + (i32.const -8) ) - (i32.const -8) + (get_local $3) ) - (get_local $3) ) - ) - (set_local $5 - (get_local $14) - ) - (set_local $1 - (get_local $14) - ) - (loop $while-in - (block $while-out - (if - (tee_local $14 - (i32.load offset=16 - (get_local $5) - ) - ) - (set_local $6 - (get_local $14) - ) + (set_local $5 + (get_local $14) + ) + (set_local $1 + (get_local $14) + ) + (loop $while-in + (block $while-out (if - (tee_local $4 - (i32.load offset=20 + (tee_local $14 + (i32.load offset=16 (get_local $5) ) ) (set_local $6 - (get_local $4) + (get_local $14) ) - (block + (if + (tee_local $4 + (i32.load offset=20 + (get_local $5) + ) + ) (set_local $6 - (get_local $0) + (get_local $4) ) - (set_local $2 - (get_local $1) + (block + (set_local $6 + (get_local $0) + ) + (set_local $2 + (get_local $1) + ) + (br $while-out) ) - (br $while-out) ) ) - ) - (set_local $4 - (i32.lt_u - (tee_local $14 - (i32.sub - (i32.and - (i32.load offset=4 - (get_local $6) + (set_local $4 + (i32.lt_u + (tee_local $14 + (i32.sub + (i32.and + (i32.load offset=4 + (get_local $6) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $3) ) - (get_local $3) ) + (get_local $0) ) - (get_local $0) ) - ) - (set_local $0 - (select - (get_local $14) - (get_local $0) - (get_local $4) + (set_local $0 + (select + (get_local $14) + (get_local $0) + (get_local $4) + ) ) - ) - (set_local $5 - (get_local $6) - ) - (set_local $1 - (select + (set_local $5 (get_local $6) - (get_local $1) - (get_local $4) ) - ) - (br $while-in) - ) - ) - (if - (i32.lt_u - (get_local $2) - (tee_local $1 - (i32.load - (i32.const 1224) + (set_local $1 + (select + (get_local $6) + (get_local $1) + (get_local $4) + ) ) + (br $while-in) ) ) - (call $qa) - ) - (if - (i32.ge_u - (get_local $2) - (tee_local $5 - (i32.add - (get_local $2) - (get_local $3) + (if + (i32.lt_u + (get_local $2) + (tee_local $1 + (i32.load + (i32.const 1224) + ) ) ) + (call $qa) ) - (call $qa) - ) - (set_local $0 - (i32.load offset=24 - (get_local $2) - ) - ) - (block $do-once4 (if - (i32.eq - (tee_local $7 - (i32.load offset=12 + (i32.ge_u + (get_local $2) + (tee_local $5 + (i32.add (get_local $2) + (get_local $3) ) ) + ) + (call $qa) + ) + (set_local $0 + (i32.load offset=24 (get_local $2) ) - (block - (if - (tee_local $16 - (i32.load - (tee_local $9 - (i32.add - (get_local $2) - (i32.const 20) - ) - ) - ) - ) - (block - (set_local $14 - (get_local $16) - ) - (set_local $4 - (get_local $9) - ) - ) - (if - (i32.eqz - (tee_local $14 - (i32.load - (tee_local $4 - (i32.add - (get_local $2) - (i32.const 16) - ) - ) - ) - ) - ) - (block - (set_local $23 - (i32.const 0) - ) - (br $do-once4) + ) + (block $do-once4 + (if + (i32.eq + (tee_local $7 + (i32.load offset=12 + (get_local $2) ) ) + (get_local $2) ) - (loop $while-in7 + (block (if (tee_local $16 (i32.load (tee_local $9 (i32.add - (get_local $14) + (get_local $2) (i32.const 20) ) ) @@ -940,702 +900,744 @@ (set_local $4 (get_local $9) ) - (br $while-in7) + ) + (if + (i32.eqz + (tee_local $14 + (i32.load + (tee_local $4 + (i32.add + (get_local $2) + (i32.const 16) + ) + ) + ) + ) + ) + (block + (set_local $23 + (i32.const 0) + ) + (br $do-once4) + ) ) ) - (if - (tee_local $16 - (i32.load - (tee_local $9 - (i32.add - (get_local $14) - (i32.const 16) + (loop $while-in7 + (if + (tee_local $16 + (i32.load + (tee_local $9 + (i32.add + (get_local $14) + (i32.const 20) + ) ) ) ) + (block + (set_local $14 + (get_local $16) + ) + (set_local $4 + (get_local $9) + ) + (br $while-in7) + ) ) - (block - (set_local $14 - (get_local $16) + (if + (tee_local $16 + (i32.load + (tee_local $9 + (i32.add + (get_local $14) + (i32.const 16) + ) + ) + ) ) - (set_local $4 - (get_local $9) + (block + (set_local $14 + (get_local $16) + ) + (set_local $4 + (get_local $9) + ) + (br $while-in7) ) - (br $while-in7) ) ) - ) - (if - (i32.lt_u - (get_local $4) - (get_local $1) - ) - (call $qa) - (block - (i32.store + (if + (i32.lt_u (get_local $4) - (i32.const 0) - ) - (set_local $23 - (get_local $14) + (get_local $1) ) - ) - ) - ) - (block - (if - (i32.lt_u - (tee_local $9 - (i32.load offset=8 - (get_local $2) + (call $qa) + (block + (i32.store + (get_local $4) + (i32.const 0) + ) + (set_local $23 + (get_local $14) ) ) - (get_local $1) ) - (call $qa) ) - (if - (i32.ne - (i32.load - (tee_local $16 - (i32.add - (get_local $9) - (i32.const 12) + (block + (if + (i32.lt_u + (tee_local $9 + (i32.load offset=8 + (get_local $2) ) ) + (get_local $1) ) - (get_local $2) + (call $qa) ) - (call $qa) - ) - (if - (i32.eq - (i32.load - (tee_local $4 - (i32.add - (get_local $7) - (i32.const 8) + (if + (i32.ne + (i32.load + (tee_local $16 + (i32.add + (get_local $9) + (i32.const 12) + ) ) ) + (get_local $2) ) - (get_local $2) + (call $qa) ) - (block - (i32.store - (get_local $16) - (get_local $7) - ) - (i32.store - (get_local $4) - (get_local $9) + (if + (i32.eq + (i32.load + (tee_local $4 + (i32.add + (get_local $7) + (i32.const 8) + ) + ) + ) + (get_local $2) ) - (set_local $23 - (get_local $7) + (block + (i32.store + (get_local $16) + (get_local $7) + ) + (i32.store + (get_local $4) + (get_local $9) + ) + (set_local $23 + (get_local $7) + ) ) + (call $qa) ) - (call $qa) ) ) ) - ) - (block $do-once8 - (if - (get_local $0) - (block - (if - (i32.eq - (get_local $2) - (i32.load - (tee_local $1 - (i32.add - (i32.shl - (tee_local $7 - (i32.load offset=28 - (get_local $2) + (block $do-once8 + (if + (get_local $0) + (block + (if + (i32.eq + (get_local $2) + (i32.load + (tee_local $1 + (i32.add + (i32.shl + (tee_local $7 + (i32.load offset=28 + (get_local $2) + ) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 1512) ) - (i32.const 1512) ) ) ) - ) - (block - (i32.store - (get_local $1) - (get_local $23) - ) - (if - (i32.eqz + (block + (i32.store + (get_local $1) (get_local $23) ) - (block - (i32.store - (i32.const 1212) - (i32.and - (i32.load - (i32.const 1212) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $7) + (if + (i32.eqz + (get_local $23) + ) + (block + (i32.store + (i32.const 1212) + (i32.and + (i32.load + (i32.const 1212) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $7) + ) + (i32.const -1) ) - (i32.const -1) ) ) + (br $do-once8) ) - (br $do-once8) ) ) - ) - (block - (if - (i32.lt_u - (get_local $0) - (i32.load - (i32.const 1224) + (block + (if + (i32.lt_u + (get_local $0) + (i32.load + (i32.const 1224) + ) ) + (call $qa) ) - (call $qa) - ) - (if - (i32.eq - (i32.load - (tee_local $7 - (i32.add - (get_local $0) - (i32.const 16) + (if + (i32.eq + (i32.load + (tee_local $7 + (i32.add + (get_local $0) + (i32.const 16) + ) ) ) + (get_local $2) + ) + (i32.store + (get_local $7) + (get_local $23) + ) + (i32.store offset=20 + (get_local $0) + (get_local $23) ) - (get_local $2) - ) - (i32.store - (get_local $7) - (get_local $23) - ) - (i32.store offset=20 - (get_local $0) - (get_local $23) ) - ) - (br_if $do-once8 - (i32.eqz - (get_local $23) + (br_if $do-once8 + (i32.eqz + (get_local $23) + ) ) ) ) - ) - (if - (i32.lt_u - (get_local $23) - (tee_local $7 - (i32.load - (i32.const 1224) + (if + (i32.lt_u + (get_local $23) + (tee_local $7 + (i32.load + (i32.const 1224) + ) ) ) + (call $qa) ) - (call $qa) - ) - (i32.store offset=24 - (get_local $23) - (get_local $0) - ) - (if - (tee_local $1 - (i32.load offset=16 - (get_local $2) - ) + (i32.store offset=24 + (get_local $23) + (get_local $0) ) (if - (i32.lt_u - (get_local $1) - (get_local $7) + (tee_local $1 + (i32.load offset=16 + (get_local $2) + ) ) - (call $qa) - (block - (i32.store offset=16 - (get_local $23) + (if + (i32.lt_u (get_local $1) + (get_local $7) ) - (i32.store offset=24 - (get_local $1) - (get_local $23) + (call $qa) + (block + (i32.store offset=16 + (get_local $23) + (get_local $1) + ) + (i32.store offset=24 + (get_local $1) + (get_local $23) + ) ) ) ) - ) - (if - (tee_local $1 - (i32.load offset=20 - (get_local $2) - ) - ) (if - (i32.lt_u - (get_local $1) - (i32.load - (i32.const 1224) + (tee_local $1 + (i32.load offset=20 + (get_local $2) ) ) - (call $qa) - (block - (i32.store offset=20 - (get_local $23) + (if + (i32.lt_u (get_local $1) + (i32.load + (i32.const 1224) + ) ) - (i32.store offset=24 - (get_local $1) - (get_local $23) + (call $qa) + (block + (i32.store offset=20 + (get_local $23) + (get_local $1) + ) + (i32.store offset=24 + (get_local $1) + (get_local $23) + ) ) ) ) ) ) ) - ) - (if - (i32.lt_u - (get_local $6) - (i32.const 16) - ) - (block - (i32.store offset=4 - (get_local $2) - (i32.or - (tee_local $0 - (i32.add - (get_local $6) - (get_local $3) + (if + (i32.lt_u + (get_local $6) + (i32.const 16) + ) + (block + (i32.store offset=4 + (get_local $2) + (i32.or + (tee_local $0 + (i32.add + (get_local $6) + (get_local $3) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $1 - (i32.add + (i32.store + (tee_local $1 (i32.add - (get_local $2) - (get_local $0) + (i32.add + (get_local $2) + (get_local $0) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $1) + (i32.or + (i32.load + (get_local $1) + ) + (i32.const 1) ) - (i32.const 1) ) ) - ) - (block - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $3) - (i32.const 3) - ) - ) - (i32.store offset=4 - (get_local $5) - (i32.or - (get_local $6) - (i32.const 1) + (block + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $3) + (i32.const 3) + ) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $5) - (get_local $6) + (i32.or + (get_local $6) + (i32.const 1) + ) ) - (get_local $6) - ) - (if - (tee_local $1 - (i32.load - (i32.const 1216) + (i32.store + (i32.add + (get_local $5) + (get_local $6) ) + (get_local $6) ) - (block - (set_local $0 + (if + (tee_local $1 (i32.load - (i32.const 1228) + (i32.const 1216) ) ) - (set_local $1 - (i32.add - (i32.shl - (tee_local $7 - (i32.shr_u - (get_local $1) - (i32.const 3) - ) - ) - (i32.const 3) + (block + (set_local $0 + (i32.load + (i32.const 1228) ) - (i32.const 1248) ) - ) - (if - (i32.and - (tee_local $9 - (i32.load - (i32.const 1208) - ) - ) - (tee_local $4 + (set_local $1 + (i32.add (i32.shl - (i32.const 1) - (get_local $7) + (tee_local $7 + (i32.shr_u + (get_local $1) + (i32.const 3) + ) + ) + (i32.const 3) ) + (i32.const 1248) ) ) (if - (i32.lt_u + (i32.and (tee_local $9 (i32.load - (tee_local $4 - (i32.add - (get_local $1) - (i32.const 8) + (i32.const 1208) + ) + ) + (tee_local $4 + (i32.shl + (i32.const 1) + (get_local $7) + ) + ) + ) + (if + (i32.lt_u + (tee_local $9 + (i32.load + (tee_local $4 + (i32.add + (get_local $1) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 1224) + ) ) - (i32.load - (i32.const 1224) + (call $qa) + (block + (set_local $41 + (get_local $4) + ) + (set_local $27 + (get_local $9) + ) ) ) - (call $qa) (block + (i32.store + (i32.const 1208) + (i32.or + (get_local $9) + (get_local $4) + ) + ) (set_local $41 - (get_local $4) + (i32.add + (get_local $1) + (i32.const 8) + ) ) (set_local $27 - (get_local $9) - ) - ) - ) - (block - (i32.store - (i32.const 1208) - (i32.or - (get_local $9) - (get_local $4) - ) - ) - (set_local $41 - (i32.add (get_local $1) - (i32.const 8) ) ) - (set_local $27 - (get_local $1) - ) ) - ) - (i32.store - (get_local $41) - (get_local $0) - ) - (i32.store offset=12 - (get_local $27) - (get_local $0) - ) - (i32.store offset=8 - (get_local $0) - (get_local $27) - ) - (i32.store offset=12 - (get_local $0) - (get_local $1) + (i32.store + (get_local $41) + (get_local $0) + ) + (i32.store offset=12 + (get_local $27) + (get_local $0) + ) + (i32.store offset=8 + (get_local $0) + (get_local $27) + ) + (i32.store offset=12 + (get_local $0) + (get_local $1) + ) ) ) + (i32.store + (i32.const 1216) + (get_local $6) + ) + (i32.store + (i32.const 1228) + (get_local $5) + ) ) - (i32.store - (i32.const 1216) - (get_local $6) - ) - (i32.store - (i32.const 1228) - (get_local $5) + ) + (set_global $r + (get_local $25) + ) + (return + (i32.add + (get_local $2) + (i32.const 8) ) ) ) - (set_global $r - (get_local $25) - ) - (return - (i32.add - (get_local $2) - (i32.const 8) - ) + (set_local $5 + (get_local $3) ) ) - (set_local $5 - (get_local $3) - ) ) + (set_local $5 + (get_local $3) + ) + ) + ) + (if + (i32.gt_u + (get_local $0) + (i32.const -65) ) (set_local $5 - (get_local $3) + (i32.const -1) ) - ) - ) - (if - (i32.gt_u - (get_local $0) - (i32.const -65) - ) - (set_local $5 - (i32.const -1) - ) - (block - (set_local $0 - (i32.and - (tee_local $1 - (i32.add - (get_local $0) - (i32.const 11) + (block + (set_local $0 + (i32.and + (tee_local $1 + (i32.add + (get_local $0) + (i32.const 11) + ) ) - ) - (i32.const -8) - ) - ) - (if - (tee_local $9 - (i32.load - (i32.const 1212) + (i32.const -8) ) ) - (block - (set_local $4 - (i32.sub - (i32.const 0) - (get_local $0) + (if + (tee_local $9 + (i32.load + (i32.const 1212) ) ) - (block $label$break$a - (if - (tee_local $12 - (i32.load - (i32.add - (i32.shl - (tee_local $27 - (if (result i32) - (tee_local $7 - (i32.shr_u - (get_local $1) - (i32.const 8) - ) - ) + (block + (set_local $4 + (i32.sub + (i32.const 0) + (get_local $0) + ) + ) + (block $label$break$a + (if + (tee_local $12 + (i32.load + (i32.add + (i32.shl + (tee_local $27 (if (result i32) - (i32.gt_u - (get_local $0) - (i32.const 16777215) + (tee_local $7 + (i32.shr_u + (get_local $1) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $0) - (i32.add - (tee_local $12 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $0) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $0) + (i32.add + (tee_local $12 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $7 - (i32.and - (i32.shr_u - (i32.add - (tee_local $16 - (i32.shl - (get_local $7) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (get_local $7) - (i32.const 1048320) + (i32.or + (tee_local $7 + (i32.and + (i32.shr_u + (i32.add + (tee_local $16 + (i32.shl + (get_local $7) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $7) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $1) ) - (get_local $1) - ) - (tee_local $16 - (i32.and - (i32.shr_u - (i32.add - (tee_local $14 - (i32.shl - (get_local $16) - (get_local $7) + (tee_local $16 + (i32.and + (i32.shr_u + (i32.add + (tee_local $14 + (i32.shl + (get_local $16) + (get_local $7) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $14) - (get_local $16) + (i32.shr_u + (i32.shl + (get_local $14) + (get_local $16) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $12) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $12) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 1512) ) - (i32.const 1512) ) ) - ) - (block - (set_local $16 - (get_local $4) - ) - (set_local $14 - (i32.const 0) - ) - (set_local $1 - (i32.shl - (get_local $0) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u + (block + (set_local $16 + (get_local $4) + ) + (set_local $14 + (i32.const 0) + ) + (set_local $1 + (i32.shl + (get_local $0) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $27) + (i32.const 1) + ) + ) + (i32.eq (get_local $27) - (i32.const 1) + (i32.const 31) ) ) - (i32.eq - (get_local $27) - (i32.const 31) - ) ) ) - ) - (set_local $7 - (get_local $12) - ) - (set_local $8 - (i32.const 0) - ) - (loop $while-in14 - (if - (i32.lt_u - (tee_local $12 - (i32.sub - (tee_local $3 - (i32.and - (i32.load offset=4 - (get_local $7) + (set_local $7 + (get_local $12) + ) + (set_local $8 + (i32.const 0) + ) + (loop $while-in14 + (if + (i32.lt_u + (tee_local $12 + (i32.sub + (tee_local $3 + (i32.and + (i32.load offset=4 + (get_local $7) + ) + (i32.const -8) ) - (i32.const -8) ) + (get_local $0) ) - (get_local $0) ) + (get_local $16) ) - (get_local $16) - ) - (if - (i32.eq - (get_local $3) - (get_local $0) - ) - (block - (set_local $29 - (get_local $12) - ) - (set_local $28 - (get_local $7) - ) - (set_local $32 - (get_local $7) - ) - (set_local $7 - (i32.const 90) + (if + (i32.eq + (get_local $3) + (get_local $0) ) - (br $label$break$a) - ) - (block - (set_local $16 - (get_local $12) + (block + (set_local $29 + (get_local $12) + ) + (set_local $28 + (get_local $7) + ) + (set_local $32 + (get_local $7) + ) + (set_local $7 + (i32.const 90) + ) + (br $label$break$a) ) - (set_local $8 - (get_local $7) + (block + (set_local $16 + (get_local $12) + ) + (set_local $8 + (get_local $7) + ) ) ) ) - ) - (set_local $3 - (select - (get_local $14) - (tee_local $12 - (i32.load offset=20 - (get_local $7) - ) - ) - (i32.or - (i32.eqz - (get_local $12) + (set_local $3 + (select + (get_local $14) + (tee_local $12 + (i32.load offset=20 + (get_local $7) + ) ) - (i32.eq - (get_local $12) - (tee_local $7 - (i32.load - (i32.add + (i32.or + (i32.eqz + (get_local $12) + ) + (i32.eq + (get_local $12) + (tee_local $7 + (i32.load (i32.add - (get_local $7) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $1) - (i32.const 31) + (i32.add + (get_local $7) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $1) + (i32.const 31) + ) + (i32.const 2) ) - (i32.const 2) ) ) ) @@ -1643,419 +1645,376 @@ ) ) ) - ) - (if - (tee_local $12 - (i32.eqz - (get_local $7) - ) - ) - (block - (set_local $36 - (get_local $16) - ) - (set_local $5 - (get_local $3) - ) - (set_local $33 - (get_local $8) - ) - (set_local $7 - (i32.const 86) + (if + (tee_local $12 + (i32.eqz + (get_local $7) + ) ) - ) - (block - (set_local $14 - (get_local $3) + (block + (set_local $36 + (get_local $16) + ) + (set_local $5 + (get_local $3) + ) + (set_local $33 + (get_local $8) + ) + (set_local $7 + (i32.const 86) + ) ) - (set_local $1 - (i32.shl - (get_local $1) - (i32.xor - (i32.and - (get_local $12) + (block + (set_local $14 + (get_local $3) + ) + (set_local $1 + (i32.shl + (get_local $1) + (i32.xor + (i32.and + (get_local $12) + (i32.const 1) + ) (i32.const 1) ) - (i32.const 1) ) ) + (br $while-in14) ) - (br $while-in14) ) ) ) - ) - (block - (set_local $36 - (get_local $4) - ) - (set_local $5 - (i32.const 0) - ) - (set_local $33 - (i32.const 0) - ) - (set_local $7 - (i32.const 86) + (block + (set_local $36 + (get_local $4) + ) + (set_local $5 + (i32.const 0) + ) + (set_local $33 + (i32.const 0) + ) + (set_local $7 + (i32.const 86) + ) ) ) ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 86) - ) (if - (tee_local $3 - (if (result i32) - (i32.and - (i32.eqz - (get_local $5) - ) - (i32.eqz - (get_local $33) - ) - ) - (block (result i32) - (if + (i32.eq + (get_local $7) + (i32.const 86) + ) + (if + (tee_local $3 + (if (result i32) + (i32.and (i32.eqz - (tee_local $4 - (i32.and - (get_local $9) - (i32.or - (tee_local $12 - (i32.shl - (i32.const 2) - (get_local $27) + (get_local $5) + ) + (i32.eqz + (get_local $33) + ) + ) + (block (result i32) + (if + (i32.eqz + (tee_local $4 + (i32.and + (get_local $9) + (i32.or + (tee_local $12 + (i32.shl + (i32.const 2) + (get_local $27) + ) + ) + (i32.sub + (i32.const 0) + (get_local $12) ) - ) - (i32.sub - (i32.const 0) - (get_local $12) ) ) ) ) - ) - (block - (set_local $5 - (get_local $0) + (block + (set_local $5 + (get_local $0) + ) + (br $do-once) ) - (br $do-once) ) - ) - (set_local $4 - (i32.and - (i32.shr_u - (tee_local $12 - (i32.add - (i32.and - (get_local $4) - (i32.sub - (i32.const 0) + (set_local $4 + (i32.and + (i32.shr_u + (tee_local $12 + (i32.add + (i32.and (get_local $4) + (i32.sub + (i32.const 0) + (get_local $4) + ) ) + (i32.const -1) ) - (i32.const -1) ) + (i32.const 12) ) - (i32.const 12) + (i32.const 16) ) - (i32.const 16) ) - ) - (i32.load - (i32.add - (i32.shl - (i32.add - (i32.or + (i32.load + (i32.add + (i32.shl + (i32.add (i32.or (i32.or (i32.or - (tee_local $12 + (i32.or + (tee_local $12 + (i32.and + (i32.shr_u + (tee_local $3 + (i32.shr_u + (get_local $12) + (get_local $4) + ) + ) + (i32.const 5) + ) + (i32.const 8) + ) + ) + (get_local $4) + ) + (tee_local $3 (i32.and (i32.shr_u - (tee_local $3 + (tee_local $5 (i32.shr_u + (get_local $3) (get_local $12) - (get_local $4) ) ) - (i32.const 5) + (i32.const 2) ) - (i32.const 8) + (i32.const 4) ) ) - (get_local $4) ) - (tee_local $3 + (tee_local $5 (i32.and (i32.shr_u - (tee_local $5 + (tee_local $8 (i32.shr_u + (get_local $5) (get_local $3) - (get_local $12) ) ) - (i32.const 2) + (i32.const 1) ) - (i32.const 4) + (i32.const 2) ) ) ) - (tee_local $5 + (tee_local $8 (i32.and (i32.shr_u - (tee_local $8 + (tee_local $1 (i32.shr_u + (get_local $8) (get_local $5) - (get_local $3) ) ) (i32.const 1) ) - (i32.const 2) - ) - ) - ) - (tee_local $8 - (i32.and - (i32.shr_u - (tee_local $1 - (i32.shr_u - (get_local $8) - (get_local $5) - ) - ) (i32.const 1) ) - (i32.const 1) ) ) + (i32.shr_u + (get_local $1) + (get_local $8) + ) ) - (i32.shr_u - (get_local $1) - (get_local $8) - ) + (i32.const 2) ) - (i32.const 2) + (i32.const 1512) ) - (i32.const 1512) ) ) + (get_local $5) ) - (get_local $5) ) - ) - (block - (set_local $29 - (get_local $36) - ) - (set_local $28 - (get_local $3) - ) - (set_local $32 - (get_local $33) - ) - (set_local $7 - (i32.const 90) - ) - ) - (block - (set_local $18 - (get_local $36) + (block + (set_local $29 + (get_local $36) + ) + (set_local $28 + (get_local $3) + ) + (set_local $32 + (get_local $33) + ) + (set_local $7 + (i32.const 90) + ) ) - (set_local $10 - (get_local $33) + (block + (set_local $18 + (get_local $36) + ) + (set_local $10 + (get_local $33) + ) ) ) ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 90) - ) - (loop $while-in16 - (set_local $7 - (i32.const 0) + (if + (i32.eq + (get_local $7) + (i32.const 90) ) - (set_local $1 - (i32.lt_u - (tee_local $8 - (i32.sub - (i32.and - (i32.load offset=4 - (get_local $28) + (loop $while-in16 + (set_local $7 + (i32.const 0) + ) + (set_local $1 + (i32.lt_u + (tee_local $8 + (i32.sub + (i32.and + (i32.load offset=4 + (get_local $28) + ) + (i32.const -8) ) - (i32.const -8) + (get_local $0) ) - (get_local $0) ) + (get_local $29) ) - (get_local $29) - ) - ) - (set_local $5 - (select - (get_local $8) - (get_local $29) - (get_local $1) - ) - ) - (set_local $8 - (select - (get_local $28) - (get_local $32) - (get_local $1) ) - ) - (if - (tee_local $1 - (i32.load offset=16 - (get_local $28) - ) - ) - (block - (set_local $29 - (get_local $5) - ) - (set_local $28 - (get_local $1) - ) - (set_local $32 + (set_local $5 + (select (get_local $8) + (get_local $29) + (get_local $1) ) - (br $while-in16) ) - ) - (if - (tee_local $28 - (i32.load offset=20 + (set_local $8 + (select (get_local $28) + (get_local $32) + (get_local $1) ) ) - (block - (set_local $29 - (get_local $5) + (if + (tee_local $1 + (i32.load offset=16 + (get_local $28) + ) ) - (set_local $32 - (get_local $8) + (block + (set_local $29 + (get_local $5) + ) + (set_local $28 + (get_local $1) + ) + (set_local $32 + (get_local $8) + ) + (br $while-in16) ) - (br $while-in16) ) - (block - (set_local $18 - (get_local $5) + (if + (tee_local $28 + (i32.load offset=20 + (get_local $28) + ) ) - (set_local $10 - (get_local $8) + (block + (set_local $29 + (get_local $5) + ) + (set_local $32 + (get_local $8) + ) + (br $while-in16) + ) + (block + (set_local $18 + (get_local $5) + ) + (set_local $10 + (get_local $8) + ) ) ) ) ) - ) - (if - (get_local $10) (if - (i32.lt_u - (get_local $18) - (i32.sub - (i32.load - (i32.const 1216) - ) - (get_local $0) - ) - ) - (block - (if - (i32.lt_u - (get_local $10) - (tee_local $9 - (i32.load - (i32.const 1224) - ) + (get_local $10) + (if + (i32.lt_u + (get_local $18) + (i32.sub + (i32.load + (i32.const 1216) ) + (get_local $0) ) - (call $qa) ) - (if - (i32.ge_u - (get_local $10) - (tee_local $8 - (i32.add - (get_local $10) - (get_local $0) + (block + (if + (i32.lt_u + (get_local $10) + (tee_local $9 + (i32.load + (i32.const 1224) + ) ) ) + (call $qa) ) - (call $qa) - ) - (set_local $5 - (i32.load offset=24 - (get_local $10) - ) - ) - (block $do-once17 (if - (i32.eq - (tee_local $1 - (i32.load offset=12 + (i32.ge_u + (get_local $10) + (tee_local $8 + (i32.add (get_local $10) + (get_local $0) ) ) + ) + (call $qa) + ) + (set_local $5 + (i32.load offset=24 (get_local $10) ) - (block - (if - (tee_local $4 - (i32.load - (tee_local $3 - (i32.add - (get_local $10) - (i32.const 20) - ) - ) - ) - ) - (block - (set_local $14 - (get_local $4) - ) - (set_local $1 - (get_local $3) - ) - ) - (if - (tee_local $14 - (i32.load - (tee_local $12 - (i32.add - (get_local $10) - (i32.const 16) - ) - ) - ) - ) - (set_local $1 - (get_local $12) - ) - (block - (set_local $22 - (i32.const 0) - ) - (br $do-once17) + ) + (block $do-once17 + (if + (i32.eq + (tee_local $1 + (i32.load offset=12 + (get_local $10) ) ) + (get_local $10) ) - (loop $while-in20 + (block (if (tee_local $4 (i32.load (tee_local $3 (i32.add - (get_local $14) + (get_local $10) (i32.const 20) ) ) @@ -2068,698 +2027,615 @@ (set_local $1 (get_local $3) ) - (br $while-in20) + ) + (if + (tee_local $14 + (i32.load + (tee_local $12 + (i32.add + (get_local $10) + (i32.const 16) + ) + ) + ) + ) + (set_local $1 + (get_local $12) + ) + (block + (set_local $22 + (i32.const 0) + ) + (br $do-once17) + ) ) ) - (if - (tee_local $4 - (i32.load - (tee_local $3 - (i32.add - (get_local $14) - (i32.const 16) + (loop $while-in20 + (if + (tee_local $4 + (i32.load + (tee_local $3 + (i32.add + (get_local $14) + (i32.const 20) + ) ) ) ) + (block + (set_local $14 + (get_local $4) + ) + (set_local $1 + (get_local $3) + ) + (br $while-in20) + ) ) - (block - (set_local $14 - (get_local $4) + (if + (tee_local $4 + (i32.load + (tee_local $3 + (i32.add + (get_local $14) + (i32.const 16) + ) + ) + ) ) - (set_local $1 - (get_local $3) + (block + (set_local $14 + (get_local $4) + ) + (set_local $1 + (get_local $3) + ) + (br $while-in20) ) - (br $while-in20) ) ) - ) - (if - (i32.lt_u - (get_local $1) - (get_local $9) - ) - (call $qa) - (block - (i32.store + (if + (i32.lt_u (get_local $1) - (i32.const 0) - ) - (set_local $22 - (get_local $14) + (get_local $9) ) - ) - ) - ) - (block - (if - (i32.lt_u - (tee_local $3 - (i32.load offset=8 - (get_local $10) + (call $qa) + (block + (i32.store + (get_local $1) + (i32.const 0) + ) + (set_local $22 + (get_local $14) ) ) - (get_local $9) ) - (call $qa) ) - (if - (i32.ne - (i32.load - (tee_local $4 - (i32.add - (get_local $3) - (i32.const 12) + (block + (if + (i32.lt_u + (tee_local $3 + (i32.load offset=8 + (get_local $10) ) ) + (get_local $9) ) - (get_local $10) + (call $qa) ) - (call $qa) - ) - (if - (i32.eq - (i32.load - (tee_local $12 - (i32.add - (get_local $1) - (i32.const 8) + (if + (i32.ne + (i32.load + (tee_local $4 + (i32.add + (get_local $3) + (i32.const 12) + ) ) ) + (get_local $10) ) - (get_local $10) + (call $qa) ) - (block - (i32.store - (get_local $4) - (get_local $1) - ) - (i32.store - (get_local $12) - (get_local $3) + (if + (i32.eq + (i32.load + (tee_local $12 + (i32.add + (get_local $1) + (i32.const 8) + ) + ) + ) + (get_local $10) ) - (set_local $22 - (get_local $1) + (block + (i32.store + (get_local $4) + (get_local $1) + ) + (i32.store + (get_local $12) + (get_local $3) + ) + (set_local $22 + (get_local $1) + ) ) + (call $qa) ) - (call $qa) ) ) ) - ) - (block $do-once21 - (if - (get_local $5) - (block - (if - (i32.eq - (get_local $10) - (i32.load - (tee_local $9 - (i32.add - (i32.shl - (tee_local $1 - (i32.load offset=28 - (get_local $10) + (block $do-once21 + (if + (get_local $5) + (block + (if + (i32.eq + (get_local $10) + (i32.load + (tee_local $9 + (i32.add + (i32.shl + (tee_local $1 + (i32.load offset=28 + (get_local $10) + ) ) + (i32.const 2) ) - (i32.const 2) + (i32.const 1512) ) - (i32.const 1512) ) ) ) - ) - (block - (i32.store - (get_local $9) - (get_local $22) - ) - (if - (i32.eqz + (block + (i32.store + (get_local $9) (get_local $22) ) - (block - (i32.store - (i32.const 1212) - (i32.and - (i32.load - (i32.const 1212) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $1) + (if + (i32.eqz + (get_local $22) + ) + (block + (i32.store + (i32.const 1212) + (i32.and + (i32.load + (i32.const 1212) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $1) + ) + (i32.const -1) ) - (i32.const -1) ) ) + (br $do-once21) ) - (br $do-once21) ) ) - ) - (block - (if - (i32.lt_u - (get_local $5) - (i32.load - (i32.const 1224) + (block + (if + (i32.lt_u + (get_local $5) + (i32.load + (i32.const 1224) + ) ) + (call $qa) ) - (call $qa) - ) - (if - (i32.eq - (i32.load - (tee_local $1 - (i32.add - (get_local $5) - (i32.const 16) + (if + (i32.eq + (i32.load + (tee_local $1 + (i32.add + (get_local $5) + (i32.const 16) + ) ) ) + (get_local $10) + ) + (i32.store + (get_local $1) + (get_local $22) + ) + (i32.store offset=20 + (get_local $5) + (get_local $22) ) - (get_local $10) - ) - (i32.store - (get_local $1) - (get_local $22) - ) - (i32.store offset=20 - (get_local $5) - (get_local $22) ) - ) - (br_if $do-once21 - (i32.eqz - (get_local $22) + (br_if $do-once21 + (i32.eqz + (get_local $22) + ) ) ) ) - ) - (if - (i32.lt_u - (get_local $22) - (tee_local $1 - (i32.load - (i32.const 1224) + (if + (i32.lt_u + (get_local $22) + (tee_local $1 + (i32.load + (i32.const 1224) + ) ) ) + (call $qa) ) - (call $qa) - ) - (i32.store offset=24 - (get_local $22) - (get_local $5) - ) - (if - (tee_local $9 - (i32.load offset=16 - (get_local $10) - ) + (i32.store offset=24 + (get_local $22) + (get_local $5) ) (if - (i32.lt_u - (get_local $9) - (get_local $1) + (tee_local $9 + (i32.load offset=16 + (get_local $10) + ) ) - (call $qa) - (block - (i32.store offset=16 - (get_local $22) + (if + (i32.lt_u (get_local $9) + (get_local $1) ) - (i32.store offset=24 - (get_local $9) - (get_local $22) + (call $qa) + (block + (i32.store offset=16 + (get_local $22) + (get_local $9) + ) + (i32.store offset=24 + (get_local $9) + (get_local $22) + ) ) ) ) - ) - (if - (tee_local $9 - (i32.load offset=20 - (get_local $10) - ) - ) (if - (i32.lt_u - (get_local $9) - (i32.load - (i32.const 1224) + (tee_local $9 + (i32.load offset=20 + (get_local $10) ) ) - (call $qa) - (block - (i32.store offset=20 - (get_local $22) + (if + (i32.lt_u (get_local $9) + (i32.load + (i32.const 1224) + ) ) - (i32.store offset=24 - (get_local $9) - (get_local $22) + (call $qa) + (block + (i32.store offset=20 + (get_local $22) + (get_local $9) + ) + (i32.store offset=24 + (get_local $9) + (get_local $22) + ) ) ) ) ) ) ) - ) - (block $do-once25 - (if - (i32.lt_u - (get_local $18) - (i32.const 16) - ) - (block - (i32.store offset=4 - (get_local $10) - (i32.or - (tee_local $5 - (i32.add - (get_local $18) - (get_local $0) + (block $do-once25 + (if + (i32.lt_u + (get_local $18) + (i32.const 16) + ) + (block + (i32.store offset=4 + (get_local $10) + (i32.or + (tee_local $5 + (i32.add + (get_local $18) + (get_local $0) + ) ) + (i32.const 3) ) - (i32.const 3) ) - ) - (i32.store - (tee_local $9 - (i32.add + (i32.store + (tee_local $9 (i32.add - (get_local $10) - (get_local $5) + (i32.add + (get_local $10) + (get_local $5) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $9) + (i32.or + (i32.load + (get_local $9) + ) + (i32.const 1) ) - (i32.const 1) ) ) - ) - (block - (i32.store offset=4 - (get_local $10) - (i32.or - (get_local $0) - (i32.const 3) - ) - ) - (i32.store offset=4 - (get_local $8) - (i32.or - (get_local $18) - (i32.const 1) + (block + (i32.store offset=4 + (get_local $10) + (i32.or + (get_local $0) + (i32.const 3) + ) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $8) - (get_local $18) + (i32.or + (get_local $18) + (i32.const 1) + ) ) - (get_local $18) - ) - (set_local $9 - (i32.shr_u + (i32.store + (i32.add + (get_local $8) + (get_local $18) + ) (get_local $18) - (i32.const 3) ) - ) - (if - (i32.lt_u - (get_local $18) - (i32.const 256) + (set_local $9 + (i32.shr_u + (get_local $18) + (i32.const 3) + ) ) - (block - (set_local $5 - (i32.add - (i32.shl - (get_local $9) - (i32.const 3) - ) - (i32.const 1248) - ) + (if + (i32.lt_u + (get_local $18) + (i32.const 256) ) - (if - (i32.and - (tee_local $1 - (i32.load - (i32.const 1208) - ) - ) - (tee_local $3 + (block + (set_local $5 + (i32.add (i32.shl - (i32.const 1) (get_local $9) + (i32.const 3) ) + (i32.const 1248) ) ) (if - (i32.lt_u + (i32.and (tee_local $1 (i32.load - (tee_local $3 - (i32.add - (get_local $5) - (i32.const 8) + (i32.const 1208) + ) + ) + (tee_local $3 + (i32.shl + (i32.const 1) + (get_local $9) + ) + ) + ) + (if + (i32.lt_u + (tee_local $1 + (i32.load + (tee_local $3 + (i32.add + (get_local $5) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 1224) + ) ) - (i32.load - (i32.const 1224) + (call $qa) + (block + (set_local $19 + (get_local $3) + ) + (set_local $6 + (get_local $1) + ) ) ) - (call $qa) (block + (i32.store + (i32.const 1208) + (i32.or + (get_local $1) + (get_local $3) + ) + ) (set_local $19 - (get_local $3) + (i32.add + (get_local $5) + (i32.const 8) + ) ) (set_local $6 - (get_local $1) - ) - ) - ) - (block - (i32.store - (i32.const 1208) - (i32.or - (get_local $1) - (get_local $3) - ) - ) - (set_local $19 - (i32.add (get_local $5) - (i32.const 8) ) ) - (set_local $6 - (get_local $5) - ) ) + (i32.store + (get_local $19) + (get_local $8) + ) + (i32.store offset=12 + (get_local $6) + (get_local $8) + ) + (i32.store offset=8 + (get_local $8) + (get_local $6) + ) + (i32.store offset=12 + (get_local $8) + (get_local $5) + ) + (br $do-once25) ) - (i32.store - (get_local $19) - (get_local $8) - ) - (i32.store offset=12 - (get_local $6) - (get_local $8) - ) - (i32.store offset=8 - (get_local $8) - (get_local $6) - ) - (i32.store offset=12 - (get_local $8) - (get_local $5) - ) - (br $do-once25) ) - ) - (set_local $12 - (i32.add - (i32.shl - (tee_local $16 - (if (result i32) - (tee_local $5 - (i32.shr_u - (get_local $18) - (i32.const 8) - ) - ) + (set_local $12 + (i32.add + (i32.shl + (tee_local $16 (if (result i32) - (i32.gt_u - (get_local $18) - (i32.const 16777215) + (tee_local $5 + (i32.shr_u + (get_local $18) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $18) - (i32.add - (tee_local $12 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $18) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $18) + (i32.add + (tee_local $12 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $5 - (i32.and - (i32.shr_u - (i32.add - (tee_local $3 - (i32.shl - (get_local $5) - (tee_local $1 - (i32.and - (i32.shr_u - (i32.add - (get_local $5) - (i32.const 1048320) + (i32.or + (tee_local $5 + (i32.and + (i32.shr_u + (i32.add + (tee_local $3 + (i32.shl + (get_local $5) + (tee_local $1 + (i32.and + (i32.shr_u + (i32.add + (get_local $5) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $1) ) - (get_local $1) - ) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (tee_local $9 - (i32.shl - (get_local $3) - (get_local $5) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (tee_local $9 + (i32.shl + (get_local $3) + (get_local $5) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $9) - (get_local $3) + (i32.shr_u + (i32.shl + (get_local $9) + (get_local $3) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $12) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $12) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) - ) - ) - (i32.const 2) - ) - (i32.const 1512) - ) - ) - (i32.store offset=28 - (get_local $8) - (get_local $16) - ) - (i32.store offset=4 - (tee_local $3 - (i32.add - (get_local $8) - (i32.const 16) - ) - ) - (i32.const 0) - ) - (i32.store - (get_local $3) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $3 - (i32.load - (i32.const 1212) - ) - ) - (tee_local $9 - (i32.shl - (i32.const 1) - (get_local $16) ) + (i32.const 2) ) + (i32.const 1512) ) ) - (block - (i32.store - (i32.const 1212) - (i32.or - (get_local $3) - (get_local $9) - ) - ) - (i32.store - (get_local $12) - (get_local $8) - ) - (i32.store offset=24 - (get_local $8) - (get_local $12) - ) - (i32.store offset=12 - (get_local $8) - (get_local $8) - ) - (i32.store offset=8 - (get_local $8) - (get_local $8) - ) - (br $do-once25) + (i32.store offset=28 + (get_local $8) + (get_local $16) ) - ) - (set_local $9 - (i32.shl - (get_local $18) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (get_local $16) - (i32.const 1) - ) - ) - (i32.eq - (get_local $16) - (i32.const 31) + (i32.store offset=4 + (tee_local $3 + (i32.add + (get_local $8) + (i32.const 16) ) ) + (i32.const 0) ) - ) - (set_local $3 - (i32.load - (get_local $12) + (i32.store + (get_local $3) + (i32.const 0) ) - ) - (loop $while-in28 - (block $while-out27 - (if - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $3) - ) - (i32.const -8) - ) - (get_local $18) - ) - (block - (set_local $17 - (get_local $3) - ) - (set_local $7 - (i32.const 148) - ) - (br $while-out27) - ) - ) - (if - (tee_local $1 - (i32.load - (tee_local $12 - (i32.add - (i32.add - (get_local $3) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $9) - (i32.const 31) - ) - (i32.const 2) - ) - ) + (if + (i32.eqz + (i32.and + (tee_local $3 + (i32.load + (i32.const 1212) ) ) - ) - (block - (set_local $9 + (tee_local $9 (i32.shl - (get_local $9) (i32.const 1) + (get_local $16) ) ) - (set_local $3 - (get_local $1) - ) - (br $while-in28) ) - (block - (set_local $21 - (get_local $12) - ) - (set_local $15 + ) + (block + (i32.store + (i32.const 1212) + (i32.or (get_local $3) + (get_local $9) ) - (set_local $7 - (i32.const 145) - ) - ) - ) - ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 145) - ) - (if - (i32.lt_u - (get_local $21) - (i32.load - (i32.const 1224) ) - ) - (call $qa) - (block (i32.store - (get_local $21) + (get_local $12) (get_local $8) ) (i32.store offset=24 (get_local $8) - (get_local $15) + (get_local $12) ) (i32.store offset=12 (get_local $8) @@ -2769,375 +2645,449 @@ (get_local $8) (get_local $8) ) + (br $do-once25) ) ) - (if - (i32.eq - (get_local $7) - (i32.const 148) + (set_local $9 + (i32.shl + (get_local $18) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $16) + (i32.const 1) + ) + ) + (i32.eq + (get_local $16) + (i32.const 31) + ) + ) ) - (if - (i32.and - (i32.ge_u - (tee_local $9 - (i32.load - (tee_local $3 + ) + (set_local $3 + (i32.load + (get_local $12) + ) + ) + (loop $while-in28 + (block $while-out27 + (if + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $3) + ) + (i32.const -8) + ) + (get_local $18) + ) + (block + (set_local $17 + (get_local $3) + ) + (set_local $7 + (i32.const 148) + ) + (br $while-out27) + ) + ) + (if + (tee_local $1 + (i32.load + (tee_local $12 + (i32.add (i32.add - (get_local $17) - (i32.const 8) + (get_local $3) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $9) + (i32.const 31) + ) + (i32.const 2) ) ) ) ) - (tee_local $1 - (i32.load - (i32.const 1224) + ) + (block + (set_local $9 + (i32.shl + (get_local $9) + (i32.const 1) ) ) + (set_local $3 + (get_local $1) + ) + (br $while-in28) ) - (i32.ge_u - (get_local $17) - (get_local $1) + (block + (set_local $21 + (get_local $12) + ) + (set_local $15 + (get_local $3) + ) + (set_local $7 + (i32.const 145) + ) ) ) - (block - (i32.store offset=12 - (get_local $9) - (get_local $8) + ) + ) + (if + (i32.eq + (get_local $7) + (i32.const 145) + ) + (if + (i32.lt_u + (get_local $21) + (i32.load + (i32.const 1224) ) + ) + (call $qa) + (block (i32.store - (get_local $3) + (get_local $21) (get_local $8) ) - (i32.store offset=8 + (i32.store offset=24 (get_local $8) - (get_local $9) + (get_local $15) ) (i32.store offset=12 (get_local $8) - (get_local $17) + (get_local $8) ) - (i32.store offset=24 + (i32.store offset=8 + (get_local $8) (get_local $8) - (i32.const 0) ) ) - (call $qa) + ) + (if + (i32.eq + (get_local $7) + (i32.const 148) + ) + (if + (i32.and + (i32.ge_u + (tee_local $9 + (i32.load + (tee_local $3 + (i32.add + (get_local $17) + (i32.const 8) + ) + ) + ) + ) + (tee_local $1 + (i32.load + (i32.const 1224) + ) + ) + ) + (i32.ge_u + (get_local $17) + (get_local $1) + ) + ) + (block + (i32.store offset=12 + (get_local $9) + (get_local $8) + ) + (i32.store + (get_local $3) + (get_local $8) + ) + (i32.store offset=8 + (get_local $8) + (get_local $9) + ) + (i32.store offset=12 + (get_local $8) + (get_local $17) + ) + (i32.store offset=24 + (get_local $8) + (i32.const 0) + ) + ) + (call $qa) + ) ) ) ) ) ) - ) - (set_global $r - (get_local $25) - ) - (return - (i32.add - (get_local $10) - (i32.const 8) + (set_global $r + (get_local $25) ) + (return + (i32.add + (get_local $10) + (i32.const 8) + ) + ) + ) + (set_local $5 + (get_local $0) ) ) (set_local $5 (get_local $0) ) ) - (set_local $5 - (get_local $0) - ) ) - ) - (set_local $5 - (get_local $0) + (set_local $5 + (get_local $0) + ) ) ) ) ) ) - ) - (if - (i32.ge_u - (tee_local $10 - (i32.load - (i32.const 1216) - ) - ) - (get_local $5) - ) - (block - (set_local $15 - (i32.load - (i32.const 1228) + (if + (i32.ge_u + (tee_local $10 + (i32.load + (i32.const 1216) + ) ) + (get_local $5) ) - (if - (i32.gt_u - (tee_local $17 - (i32.sub - (get_local $10) - (get_local $5) - ) + (block + (set_local $15 + (i32.load + (i32.const 1228) ) - (i32.const 15) ) - (block - (i32.store - (i32.const 1228) - (tee_local $21 - (i32.add - (get_local $15) + (if + (i32.gt_u + (tee_local $17 + (i32.sub + (get_local $10) (get_local $5) ) ) + (i32.const 15) ) - (i32.store - (i32.const 1216) - (get_local $17) - ) - (i32.store offset=4 - (get_local $21) - (i32.or + (block + (i32.store + (i32.const 1228) + (tee_local $21 + (i32.add + (get_local $15) + (get_local $5) + ) + ) + ) + (i32.store + (i32.const 1216) (get_local $17) - (i32.const 1) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $21) + (i32.or + (get_local $17) + (i32.const 1) + ) + ) + (i32.store + (i32.add + (get_local $21) + (get_local $17) + ) (get_local $17) ) - (get_local $17) - ) - (i32.store offset=4 - (get_local $15) - (i32.or - (get_local $5) - (i32.const 3) + (i32.store offset=4 + (get_local $15) + (i32.or + (get_local $5) + (i32.const 3) + ) ) ) - ) - (block - (i32.store - (i32.const 1216) - (i32.const 0) - ) - (i32.store - (i32.const 1228) - (i32.const 0) - ) - (i32.store offset=4 - (get_local $15) - (i32.or - (get_local $10) - (i32.const 3) + (block + (i32.store + (i32.const 1216) + (i32.const 0) ) - ) - (i32.store - (tee_local $17 - (i32.add + (i32.store + (i32.const 1228) + (i32.const 0) + ) + (i32.store offset=4 + (get_local $15) + (i32.or + (get_local $10) + (i32.const 3) + ) + ) + (i32.store + (tee_local $17 (i32.add - (get_local $15) - (get_local $10) + (i32.add + (get_local $15) + (get_local $10) + ) + (i32.const 4) ) - (i32.const 4) ) - ) - (i32.or - (i32.load - (get_local $17) + (i32.or + (i32.load + (get_local $17) + ) + (i32.const 1) ) - (i32.const 1) ) ) ) - ) - (set_global $r - (get_local $25) - ) - (return - (i32.add - (get_local $15) - (i32.const 8) - ) + (br $folding-inner0) ) ) - ) - (if - (i32.gt_u - (tee_local $15 - (i32.load - (i32.const 1220) + (if + (i32.gt_u + (tee_local $15 + (i32.load + (i32.const 1220) + ) ) + (get_local $5) ) - (get_local $5) - ) - (block - (i32.store - (i32.const 1220) - (tee_local $17 - (i32.sub - (get_local $15) - (get_local $5) + (block + (i32.store + (i32.const 1220) + (tee_local $17 + (i32.sub + (get_local $15) + (get_local $5) + ) ) ) - ) - (i32.store - (i32.const 1232) - (tee_local $10 - (i32.add - (tee_local $15 - (i32.load - (i32.const 1232) + (i32.store + (i32.const 1232) + (tee_local $10 + (i32.add + (tee_local $15 + (i32.load + (i32.const 1232) + ) ) + (get_local $5) ) - (get_local $5) ) ) - ) - (i32.store offset=4 - (get_local $10) - (i32.or - (get_local $17) - (i32.const 1) - ) - ) - (i32.store offset=4 - (get_local $15) - (i32.or - (get_local $5) - (i32.const 3) + (i32.store offset=4 + (get_local $10) + (i32.or + (get_local $17) + (i32.const 1) + ) ) - ) - (set_global $r - (get_local $25) - ) - (return - (i32.add + (i32.store offset=4 (get_local $15) - (i32.const 8) + (i32.or + (get_local $5) + (i32.const 3) + ) ) + (br $folding-inner0) ) ) - ) - (if - (i32.eqz - (i32.load - (i32.const 1680) - ) - ) - (block - (i32.store - (i32.const 1688) - (i32.const 4096) - ) - (i32.store - (i32.const 1684) - (i32.const 4096) - ) - (i32.store - (i32.const 1692) - (i32.const -1) - ) - (i32.store - (i32.const 1696) - (i32.const -1) - ) - (i32.store - (i32.const 1700) - (i32.const 0) - ) - (i32.store - (i32.const 1652) - (i32.const 0) - ) - (i32.store - (get_local $13) - (tee_local $15 - (i32.xor - (i32.and - (get_local $13) - (i32.const -16) - ) - (i32.const 1431655768) - ) + (if + (i32.eqz + (i32.load + (i32.const 1680) ) ) - (i32.store - (i32.const 1680) - (get_local $15) - ) - ) - ) - (set_local $15 - (i32.add - (get_local $5) - (i32.const 48) - ) - ) - (if - (i32.le_u - (tee_local $13 - (i32.and - (tee_local $10 - (i32.add - (tee_local $13 - (i32.load - (i32.const 1688) - ) - ) - (tee_local $17 - (i32.add - (get_local $5) - (i32.const 47) - ) + (block + (i32.store + (i32.const 1688) + (i32.const 4096) + ) + (i32.store + (i32.const 1684) + (i32.const 4096) + ) + (i32.store + (i32.const 1692) + (i32.const -1) + ) + (i32.store + (i32.const 1696) + (i32.const -1) + ) + (i32.store + (i32.const 1700) + (i32.const 0) + ) + (i32.store + (i32.const 1652) + (i32.const 0) + ) + (i32.store + (get_local $13) + (tee_local $15 + (i32.xor + (i32.and + (get_local $13) + (i32.const -16) ) - ) - ) - (tee_local $21 - (i32.sub - (i32.const 0) - (get_local $13) + (i32.const 1431655768) ) ) ) - ) - (get_local $5) - ) - (block - (set_global $r - (get_local $25) - ) - (return - (i32.const 0) + (i32.store + (i32.const 1680) + (get_local $15) + ) ) ) - ) - (if - (tee_local $18 - (i32.load - (i32.const 1648) + (set_local $15 + (i32.add + (get_local $5) + (i32.const 48) ) ) (if - (i32.or - (i32.le_u - (tee_local $6 - (i32.add - (tee_local $16 - (i32.load - (i32.const 1640) + (i32.le_u + (tee_local $13 + (i32.and + (tee_local $10 + (i32.add + (tee_local $13 + (i32.load + (i32.const 1688) + ) + ) + (tee_local $17 + (i32.add + (get_local $5) + (i32.const 47) + ) ) ) - (get_local $13) + ) + (tee_local $21 + (i32.sub + (i32.const 0) + (get_local $13) + ) ) ) - (get_local $16) - ) - (i32.gt_u - (get_local $6) - (get_local $18) ) + (get_local $5) ) (block (set_global $r @@ -3148,270 +3098,306 @@ ) ) ) - ) - (if - (i32.eq - (tee_local $7 - (block $label$break$b (result i32) - (if (result i32) - (i32.and - (i32.load - (i32.const 1652) + (if + (tee_local $18 + (i32.load + (i32.const 1648) + ) + ) + (if + (i32.or + (i32.le_u + (tee_local $6 + (i32.add + (tee_local $16 + (i32.load + (i32.const 1640) + ) + ) + (get_local $13) ) - (i32.const 4) ) - (i32.const 188) - (block (result i32) - (block $label$break$c - (if - (tee_local $18 - (i32.load - (i32.const 1232) - ) - ) - (block - (set_local $6 - (i32.const 1656) + (get_local $16) + ) + (i32.gt_u + (get_local $6) + (get_local $18) + ) + ) + (block + (set_global $r + (get_local $25) + ) + (return + (i32.const 0) + ) + ) + ) + ) + (if + (i32.eq + (tee_local $7 + (block $label$break$b (result i32) + (if (result i32) + (i32.and + (i32.load + (i32.const 1652) + ) + (i32.const 4) + ) + (i32.const 188) + (block (result i32) + (block $label$break$c + (if + (tee_local $18 + (i32.load + (i32.const 1232) + ) ) - (loop $while-in32 - (block $while-out31 - (if - (i32.le_u - (tee_local $16 - (i32.load - (get_local $6) - ) - ) - (get_local $18) - ) + (block + (set_local $6 + (i32.const 1656) + ) + (loop $while-in32 + (block $while-out31 (if - (i32.gt_u - (i32.add - (get_local $16) + (i32.le_u + (tee_local $16 (i32.load - (tee_local $19 - (i32.add - (get_local $6) - (i32.const 4) - ) - ) + (get_local $6) ) ) (get_local $18) ) - (block - (set_local $0 - (get_local $6) + (if + (i32.gt_u + (i32.add + (get_local $16) + (i32.load + (tee_local $19 + (i32.add + (get_local $6) + (i32.const 4) + ) + ) + ) + ) + (get_local $18) ) - (set_local $4 - (get_local $19) + (block + (set_local $0 + (get_local $6) + ) + (set_local $4 + (get_local $19) + ) + (br $while-out31) ) - (br $while-out31) ) ) - ) - (br_if $while-in32 - (tee_local $6 - (i32.load offset=8 - (get_local $6) + (br_if $while-in32 + (tee_local $6 + (i32.load offset=8 + (get_local $6) + ) ) ) + (set_local $7 + (i32.const 171) + ) + (br $label$break$c) ) - (set_local $7 - (i32.const 171) - ) - (br $label$break$c) ) - ) - (if - (i32.lt_u - (tee_local $6 - (i32.and - (i32.sub - (get_local $10) - (i32.load - (i32.const 1220) + (if + (i32.lt_u + (tee_local $6 + (i32.and + (i32.sub + (get_local $10) + (i32.load + (i32.const 1220) + ) ) + (get_local $21) ) - (get_local $21) ) + (i32.const 2147483647) ) - (i32.const 2147483647) - ) - (if - (i32.eq - (tee_local $19 - (call $ta - (get_local $6) + (if + (i32.eq + (tee_local $19 + (call $ta + (get_local $6) + ) + ) + (i32.add + (i32.load + (get_local $0) + ) + (i32.load + (get_local $4) + ) ) ) - (i32.add - (i32.load - (get_local $0) + (if + (i32.ne + (get_local $19) + (i32.const -1) ) - (i32.load - (get_local $4) + (block + (set_local $20 + (get_local $19) + ) + (set_local $26 + (get_local $6) + ) + (br $label$break$b + (i32.const 191) + ) ) ) - ) - (if - (i32.ne - (get_local $19) - (i32.const -1) - ) (block - (set_local $20 + (set_local $11 (get_local $19) ) - (set_local $26 + (set_local $2 (get_local $6) ) - (br $label$break$b - (i32.const 191) + (set_local $7 + (i32.const 181) ) ) ) - (block - (set_local $11 - (get_local $19) - ) - (set_local $2 - (get_local $6) - ) - (set_local $7 - (i32.const 181) - ) - ) ) ) - ) - (set_local $7 - (i32.const 171) + (set_local $7 + (i32.const 171) + ) ) ) - ) - (block $do-once33 - (if - (i32.eq - (get_local $7) - (i32.const 171) - ) + (block $do-once33 (if - (i32.ne - (tee_local $18 - (call $ta - (i32.const 0) + (i32.eq + (get_local $7) + (i32.const 171) + ) + (if + (i32.ne + (tee_local $18 + (call $ta + (i32.const 0) + ) ) + (i32.const -1) ) - (i32.const -1) - ) - (block - (set_local $3 - (if (result i32) - (i32.and - (tee_local $19 - (i32.add - (tee_local $6 - (i32.load - (i32.const 1684) + (block + (set_local $3 + (if (result i32) + (i32.and + (tee_local $19 + (i32.add + (tee_local $6 + (i32.load + (i32.const 1684) + ) ) + (i32.const -1) ) - (i32.const -1) + ) + (tee_local $0 + (get_local $18) ) ) - (tee_local $0 - (get_local $18) - ) - ) - (i32.add - (i32.sub - (get_local $13) - (get_local $0) - ) - (i32.and - (i32.add - (get_local $19) + (i32.add + (i32.sub + (get_local $13) (get_local $0) ) - (i32.sub - (i32.const 0) - (get_local $6) + (i32.and + (i32.add + (get_local $19) + (get_local $0) + ) + (i32.sub + (i32.const 0) + (get_local $6) + ) ) ) + (get_local $13) ) - (get_local $13) ) - ) - (set_local $0 - (i32.add - (tee_local $6 - (i32.load - (i32.const 1640) + (set_local $0 + (i32.add + (tee_local $6 + (i32.load + (i32.const 1640) + ) ) - ) - (get_local $3) - ) - ) - (if - (i32.and - (i32.gt_u (get_local $3) - (get_local $5) - ) - (i32.lt_u - (get_local $3) - (i32.const 2147483647) ) ) - (block - (if - (tee_local $19 - (i32.load - (i32.const 1648) - ) + (if + (i32.and + (i32.gt_u + (get_local $3) + (get_local $5) ) - (br_if $do-once33 - (i32.or - (i32.le_u - (get_local $0) - (get_local $6) - ) - (i32.gt_u - (get_local $0) - (get_local $19) - ) - ) + (i32.lt_u + (get_local $3) + (i32.const 2147483647) ) ) - (if - (i32.eq + (block + (if (tee_local $19 - (call $ta - (get_local $3) + (i32.load + (i32.const 1648) ) ) - (get_local $18) - ) - (block - (set_local $20 - (get_local $18) - ) - (set_local $26 - (get_local $3) - ) - (br $label$break$b - (i32.const 191) + (br_if $do-once33 + (i32.or + (i32.le_u + (get_local $0) + (get_local $6) + ) + (i32.gt_u + (get_local $0) + (get_local $19) + ) + ) ) ) - (block - (set_local $11 - (get_local $19) + (if + (i32.eq + (tee_local $19 + (call $ta + (get_local $3) + ) + ) + (get_local $18) ) - (set_local $2 - (get_local $3) + (block + (set_local $20 + (get_local $18) + ) + (set_local $26 + (get_local $3) + ) + (br $label$break$b + (i32.const 191) + ) ) - (set_local $7 - (i32.const 181) + (block + (set_local $11 + (get_local $19) + ) + (set_local $2 + (get_local $3) + ) + (set_local $7 + (i32.const 181) + ) ) ) ) @@ -3420,1058 +3406,1084 @@ ) ) ) - ) - (block $label$break$d - (if - (i32.eq - (get_local $7) - (i32.const 181) - ) - (block - (set_local $19 - (i32.sub - (i32.const 0) - (get_local $2) - ) + (block $label$break$d + (if + (i32.eq + (get_local $7) + (i32.const 181) ) - (if - (i32.and - (i32.gt_u - (get_local $15) + (block + (set_local $19 + (i32.sub + (i32.const 0) (get_local $2) ) + ) + (if (i32.and - (i32.lt_u + (i32.gt_u + (get_local $15) (get_local $2) - (i32.const 2147483647) ) - (i32.ne - (get_local $11) - (i32.const -1) + (i32.and + (i32.lt_u + (get_local $2) + (i32.const 2147483647) + ) + (i32.ne + (get_local $11) + (i32.const -1) + ) ) ) - ) - (if - (i32.lt_u - (tee_local $0 - (i32.and - (i32.add - (i32.sub - (get_local $17) - (get_local $2) - ) - (tee_local $18 - (i32.load - (i32.const 1688) + (if + (i32.lt_u + (tee_local $0 + (i32.and + (i32.add + (i32.sub + (get_local $17) + (get_local $2) + ) + (tee_local $18 + (i32.load + (i32.const 1688) + ) ) ) + (i32.sub + (i32.const 0) + (get_local $18) + ) ) - (i32.sub - (i32.const 0) - (get_local $18) - ) - ) - ) - (i32.const 2147483647) - ) - (if - (i32.eq - (call $ta - (get_local $0) ) - (i32.const -1) + (i32.const 2147483647) ) - (block - (drop + (if + (i32.eq (call $ta - (get_local $19) + (get_local $0) + ) + (i32.const -1) + ) + (block + (drop + (call $ta + (get_local $19) + ) + ) + (br $label$break$d) + ) + (set_local $1 + (i32.add + (get_local $0) + (get_local $2) ) ) - (br $label$break$d) ) (set_local $1 - (i32.add - (get_local $0) - (get_local $2) - ) + (get_local $2) ) ) (set_local $1 (get_local $2) ) ) - (set_local $1 - (get_local $2) - ) - ) - (if - (i32.ne - (get_local $11) - (i32.const -1) - ) - (block - (set_local $20 + (if + (i32.ne (get_local $11) + (i32.const -1) ) - (set_local $26 - (get_local $1) - ) - (br $label$break$b - (i32.const 191) + (block + (set_local $20 + (get_local $11) + ) + (set_local $26 + (get_local $1) + ) + (br $label$break$b + (i32.const 191) + ) ) ) ) ) ) - ) - (i32.store - (i32.const 1652) - (i32.or - (i32.load - (i32.const 1652) + (i32.store + (i32.const 1652) + (i32.or + (i32.load + (i32.const 1652) + ) + (i32.const 4) ) - (i32.const 4) ) + (i32.const 188) ) - (i32.const 188) ) ) ) - ) - (i32.const 188) - ) - (if - (i32.lt_u - (get_local $13) - (i32.const 2147483647) + (i32.const 188) ) (if - (i32.and - (i32.lt_u - (tee_local $1 - (call $ta - (get_local $13) + (i32.lt_u + (get_local $13) + (i32.const 2147483647) + ) + (if + (i32.and + (i32.lt_u + (tee_local $1 + (call $ta + (get_local $13) + ) ) - ) - (tee_local $13 - (call $ta - (i32.const 0) + (tee_local $13 + (call $ta + (i32.const 0) + ) ) ) - ) - (i32.and - (i32.ne - (get_local $1) - (i32.const -1) - ) - (i32.ne - (get_local $13) - (i32.const -1) - ) - ) - ) - (if - (i32.gt_u - (tee_local $11 - (i32.sub - (get_local $13) + (i32.and + (i32.ne (get_local $1) + (i32.const -1) + ) + (i32.ne + (get_local $13) + (i32.const -1) ) - ) - (i32.add - (get_local $5) - (i32.const 40) ) ) - (block - (set_local $20 - (get_local $1) - ) - (set_local $26 - (get_local $11) + (if + (i32.gt_u + (tee_local $11 + (i32.sub + (get_local $13) + (get_local $1) + ) + ) + (i32.add + (get_local $5) + (i32.const 40) + ) ) - (set_local $7 - (i32.const 191) + (block + (set_local $20 + (get_local $1) + ) + (set_local $26 + (get_local $11) + ) + (set_local $7 + (i32.const 191) + ) ) ) ) ) ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 191) - ) - (block - (i32.store - (i32.const 1640) - (tee_local $11 - (i32.add - (i32.load - (i32.const 1640) - ) - (get_local $26) - ) - ) + (if + (i32.eq + (get_local $7) + (i32.const 191) ) - (if - (i32.gt_u - (get_local $11) - (i32.load - (i32.const 1644) - ) - ) + (block (i32.store - (i32.const 1644) - (get_local $11) + (i32.const 1640) + (tee_local $11 + (i32.add + (i32.load + (i32.const 1640) + ) + (get_local $26) + ) + ) ) - ) - (block $do-once38 (if - (tee_local $11 + (i32.gt_u + (get_local $11) (i32.load - (i32.const 1232) + (i32.const 1644) ) ) - (block - (set_local $2 - (i32.const 1656) + (i32.store + (i32.const 1644) + (get_local $11) + ) + ) + (block $do-once38 + (if + (tee_local $11 + (i32.load + (i32.const 1232) + ) ) - (loop $do-in41 - (block $do-out40 - (if - (i32.eq - (get_local $20) - (i32.add - (tee_local $1 - (i32.load - (get_local $2) + (block + (set_local $2 + (i32.const 1656) + ) + (loop $do-in41 + (block $do-out40 + (if + (i32.eq + (get_local $20) + (i32.add + (tee_local $1 + (i32.load + (get_local $2) + ) ) - ) - (tee_local $17 - (i32.load - (tee_local $13 - (i32.add - (get_local $2) - (i32.const 4) + (tee_local $17 + (i32.load + (tee_local $13 + (i32.add + (get_local $2) + (i32.const 4) + ) ) ) ) ) ) - ) - (block - (set_local $48 - (get_local $1) - ) - (set_local $49 - (get_local $13) - ) - (set_local $50 - (get_local $17) - ) - (set_local $51 - (get_local $2) - ) - (set_local $7 - (i32.const 201) + (block + (set_local $48 + (get_local $1) + ) + (set_local $49 + (get_local $13) + ) + (set_local $50 + (get_local $17) + ) + (set_local $51 + (get_local $2) + ) + (set_local $7 + (i32.const 201) + ) + (br $do-out40) ) - (br $do-out40) ) - ) - (br_if $do-in41 - (tee_local $2 - (i32.load offset=8 - (get_local $2) + (br_if $do-in41 + (tee_local $2 + (i32.load offset=8 + (get_local $2) + ) ) ) ) ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 201) - ) (if - (i32.eqz - (i32.and - (i32.load offset=12 - (get_local $51) - ) - (i32.const 8) - ) + (i32.eq + (get_local $7) + (i32.const 201) ) (if - (i32.and - (i32.lt_u - (get_local $11) - (get_local $20) - ) - (i32.ge_u - (get_local $11) - (get_local $48) + (i32.eqz + (i32.and + (i32.load offset=12 + (get_local $51) + ) + (i32.const 8) ) ) - (block - (i32.store - (get_local $49) - (i32.add - (get_local $50) - (get_local $26) + (if + (i32.and + (i32.lt_u + (get_local $11) + (get_local $20) ) - ) - (set_local $2 - (i32.add + (i32.ge_u (get_local $11) - (tee_local $17 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $2 - (i32.add - (get_local $11) - (i32.const 8) + (get_local $48) + ) + ) + (block + (i32.store + (get_local $49) + (i32.add + (get_local $50) + (get_local $26) + ) + ) + (set_local $2 + (i32.add + (get_local $11) + (tee_local $17 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $2 + (i32.add + (get_local $11) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $2) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $2) - (i32.const 7) ) ) ) ) - ) - (set_local $13 - (i32.add - (i32.sub - (get_local $26) - (get_local $17) - ) - (i32.load - (i32.const 1220) + (set_local $13 + (i32.add + (i32.sub + (get_local $26) + (get_local $17) + ) + (i32.load + (i32.const 1220) + ) ) ) - ) - (i32.store - (i32.const 1232) - (get_local $2) - ) - (i32.store - (i32.const 1220) - (get_local $13) - ) - (i32.store offset=4 - (get_local $2) - (i32.or + (i32.store + (i32.const 1232) + (get_local $2) + ) + (i32.store + (i32.const 1220) (get_local $13) - (i32.const 1) ) - ) - (i32.store offset=4 - (i32.add + (i32.store offset=4 (get_local $2) - (get_local $13) + (i32.or + (get_local $13) + (i32.const 1) + ) ) - (i32.const 40) - ) - (i32.store - (i32.const 1236) - (i32.load - (i32.const 1696) + (i32.store offset=4 + (i32.add + (get_local $2) + (get_local $13) + ) + (i32.const 40) + ) + (i32.store + (i32.const 1236) + (i32.load + (i32.const 1696) + ) ) + (br $do-once38) ) - (br $do-once38) ) ) ) - ) - (set_local $14 - (if (result i32) - (i32.lt_u - (get_local $20) - (tee_local $13 - (i32.load - (i32.const 1224) + (set_local $14 + (if (result i32) + (i32.lt_u + (get_local $20) + (tee_local $13 + (i32.load + (i32.const 1224) + ) ) ) - ) - (block (result i32) - (i32.store - (i32.const 1224) + (block (result i32) + (i32.store + (i32.const 1224) + (get_local $20) + ) (get_local $20) ) + (get_local $13) + ) + ) + (set_local $13 + (i32.add (get_local $20) + (get_local $26) ) - (get_local $13) ) - ) - (set_local $13 - (i32.add - (get_local $20) - (get_local $26) + (set_local $2 + (i32.const 1656) ) - ) - (set_local $2 - (i32.const 1656) - ) - (loop $while-in43 - (block $while-out42 - (if - (i32.eq - (i32.load - (get_local $2) - ) - (get_local $13) - ) - (block - (set_local $52 - (get_local $2) - ) - (set_local $42 - (get_local $2) + (loop $while-in43 + (block $while-out42 + (if + (i32.eq + (i32.load + (get_local $2) + ) + (get_local $13) ) - (set_local $7 - (i32.const 209) + (block + (set_local $52 + (get_local $2) + ) + (set_local $42 + (get_local $2) + ) + (set_local $7 + (i32.const 209) + ) + (br $while-out42) ) - (br $while-out42) ) - ) - (br_if $while-in43 - (tee_local $2 - (i32.load offset=8 - (get_local $2) + (br_if $while-in43 + (tee_local $2 + (i32.load offset=8 + (get_local $2) + ) ) ) + (set_local $30 + (i32.const 1656) + ) ) - (set_local $30 - (i32.const 1656) - ) - ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 209) ) (if - (i32.and - (i32.load offset=12 - (get_local $42) - ) - (i32.const 8) - ) - (set_local $30 - (i32.const 1656) + (i32.eq + (get_local $7) + (i32.const 209) ) - (block - (i32.store - (get_local $52) - (get_local $20) + (if + (i32.and + (i32.load offset=12 + (get_local $42) + ) + (i32.const 8) ) - (i32.store - (tee_local $2 - (i32.add - (get_local $42) - (i32.const 4) - ) + (set_local $30 + (i32.const 1656) + ) + (block + (i32.store + (get_local $52) + (get_local $20) ) - (i32.add - (i32.load - (get_local $2) + (i32.store + (tee_local $2 + (i32.add + (get_local $42) + (i32.const 4) + ) + ) + (i32.add + (i32.load + (get_local $2) + ) + (get_local $26) ) - (get_local $26) ) - ) - (set_local $17 - (i32.add - (get_local $20) - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $2 - (i32.add - (get_local $20) - (i32.const 8) + (set_local $17 + (i32.add + (get_local $20) + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $2 + (i32.add + (get_local $20) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $2) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $2) - (i32.const 7) ) ) ) - ) - (set_local $1 - (i32.add - (get_local $13) - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $2 - (i32.add - (get_local $13) - (i32.const 8) + (set_local $1 + (i32.add + (get_local $13) + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $2 + (i32.add + (get_local $13) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $2) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $2) - (i32.const 7) ) ) ) - ) - (set_local $2 - (i32.add - (get_local $17) - (get_local $5) - ) - ) - (set_local $15 - (i32.sub - (i32.sub - (get_local $1) + (set_local $2 + (i32.add (get_local $17) + (get_local $5) ) - (get_local $5) ) - ) - (i32.store offset=4 - (get_local $17) - (i32.or - (get_local $5) - (i32.const 3) + (set_local $15 + (i32.sub + (i32.sub + (get_local $1) + (get_local $17) + ) + (get_local $5) + ) ) - ) - (block $do-once44 - (if - (i32.eq - (get_local $1) - (get_local $11) + (i32.store offset=4 + (get_local $17) + (i32.or + (get_local $5) + (i32.const 3) ) - (block - (i32.store - (i32.const 1220) - (tee_local $3 - (i32.add - (i32.load - (i32.const 1220) + ) + (block $do-once44 + (if + (i32.eq + (get_local $1) + (get_local $11) + ) + (block + (i32.store + (i32.const 1220) + (tee_local $3 + (i32.add + (i32.load + (i32.const 1220) + ) + (get_local $15) ) - (get_local $15) ) ) - ) - (i32.store - (i32.const 1232) - (get_local $2) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $3) - (i32.const 1) + (i32.store + (i32.const 1232) + (get_local $2) ) - ) - ) - (block - (if - (i32.eq - (get_local $1) - (i32.load - (i32.const 1228) + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $3) + (i32.const 1) ) ) - (block - (i32.store - (i32.const 1216) - (tee_local $3 - (i32.add - (i32.load - (i32.const 1216) + ) + (block + (if + (i32.eq + (get_local $1) + (i32.load + (i32.const 1228) + ) + ) + (block + (i32.store + (i32.const 1216) + (tee_local $3 + (i32.add + (i32.load + (i32.const 1216) + ) + (get_local $15) ) - (get_local $15) ) ) - ) - (i32.store - (i32.const 1228) - (get_local $2) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $3) - (i32.const 1) + (i32.store + (i32.const 1228) + (get_local $2) ) - ) - (i32.store - (i32.add + (i32.store offset=4 (get_local $2) - (get_local $3) + (i32.or + (get_local $3) + (i32.const 1) + ) ) - (get_local $3) - ) - (br $do-once44) - ) - ) - (if - (i32.eq - (i32.and - (tee_local $3 - (i32.load offset=4 - (get_local $1) + (i32.store + (i32.add + (get_local $2) + (get_local $3) ) + (get_local $3) ) - (i32.const 3) + (br $do-once44) ) - (i32.const 1) ) - (block - (set_local $4 + (if + (i32.eq (i32.and - (get_local $3) - (i32.const -8) - ) - ) - (set_local $0 - (i32.shr_u - (get_local $3) + (tee_local $3 + (i32.load offset=4 + (get_local $1) + ) + ) (i32.const 3) ) + (i32.const 1) ) - (block $label$break$e - (if - (i32.lt_u + (block + (set_local $4 + (i32.and (get_local $3) - (i32.const 256) + (i32.const -8) ) - (block - (set_local $10 - (i32.load offset=12 - (get_local $1) - ) + ) + (set_local $0 + (i32.shr_u + (get_local $3) + (i32.const 3) + ) + ) + (block $label$break$e + (if + (i32.lt_u + (get_local $3) + (i32.const 256) ) - (block $do-once47 - (if - (i32.ne - (tee_local $21 - (i32.load offset=8 - (get_local $1) - ) - ) - (tee_local $19 - (i32.add - (i32.shl - (get_local $0) - (i32.const 3) + (block + (set_local $10 + (i32.load offset=12 + (get_local $1) + ) + ) + (block $do-once47 + (if + (i32.ne + (tee_local $21 + (i32.load offset=8 + (get_local $1) ) - (i32.const 1248) ) - ) - ) - (block - (if - (i32.lt_u - (get_local $21) - (get_local $14) + (tee_local $19 + (i32.add + (i32.shl + (get_local $0) + (i32.const 3) + ) + (i32.const 1248) + ) ) - (call $qa) ) - (br_if $do-once47 - (i32.eq - (i32.load offset=12 + (block + (if + (i32.lt_u (get_local $21) + (get_local $14) ) - (get_local $1) - ) - ) - (call $qa) - ) - ) - ) - (if - (i32.eq - (get_local $10) - (get_local $21) - ) - (block - (i32.store - (i32.const 1208) - (i32.and - (i32.load - (i32.const 1208) + (call $qa) ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $0) + (br_if $do-once47 + (i32.eq + (i32.load offset=12 + (get_local $21) + ) + (get_local $1) ) - (i32.const -1) ) + (call $qa) ) ) - (br $label$break$e) ) - ) - (block $do-once49 (if (i32.eq (get_local $10) - (get_local $19) + (get_local $21) ) - (set_local $43 - (i32.add - (get_local $10) - (i32.const 8) + (block + (i32.store + (i32.const 1208) + (i32.and + (i32.load + (i32.const 1208) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $0) + ) + (i32.const -1) + ) + ) ) + (br $label$break$e) ) - (block - (if - (i32.lt_u + ) + (block $do-once49 + (if + (i32.eq + (get_local $10) + (get_local $19) + ) + (set_local $43 + (i32.add (get_local $10) - (get_local $14) + (i32.const 8) ) - (call $qa) ) - (if - (i32.eq - (i32.load - (tee_local $0 - (i32.add - (get_local $10) - (i32.const 8) + (block + (if + (i32.lt_u + (get_local $10) + (get_local $14) + ) + (call $qa) + ) + (if + (i32.eq + (i32.load + (tee_local $0 + (i32.add + (get_local $10) + (i32.const 8) + ) ) ) + (get_local $1) ) - (get_local $1) - ) - (block - (set_local $43 - (get_local $0) + (block + (set_local $43 + (get_local $0) + ) + (br $do-once49) ) - (br $do-once49) ) + (call $qa) ) - (call $qa) ) ) - ) - (i32.store offset=12 - (get_local $21) - (get_local $10) - ) - (i32.store - (get_local $43) - (get_local $21) - ) - ) - (block - (set_local $19 - (i32.load offset=24 - (get_local $1) + (i32.store offset=12 + (get_local $21) + (get_local $10) + ) + (i32.store + (get_local $43) + (get_local $21) ) ) - (block $do-once51 - (if - (i32.eq - (tee_local $0 - (i32.load offset=12 - (get_local $1) - ) - ) + (block + (set_local $19 + (i32.load offset=24 (get_local $1) ) - (block - (if - (tee_local $16 - (i32.load - (tee_local $6 - (i32.add - (tee_local $18 - (i32.add - (get_local $1) - (i32.const 16) + ) + (block $do-once51 + (if + (i32.eq + (tee_local $0 + (i32.load offset=12 + (get_local $1) + ) + ) + (get_local $1) + ) + (block + (if + (tee_local $16 + (i32.load + (tee_local $6 + (i32.add + (tee_local $18 + (i32.add + (get_local $1) + (i32.const 16) + ) ) + (i32.const 4) ) - (i32.const 4) ) ) ) - ) - (block - (set_local $3 - (get_local $16) + (block + (set_local $3 + (get_local $16) + ) + (set_local $0 + (get_local $6) + ) ) - (set_local $0 - (get_local $6) + (if + (tee_local $22 + (i32.load + (get_local $18) + ) + ) + (block + (set_local $3 + (get_local $22) + ) + (set_local $0 + (get_local $18) + ) + ) + (block + (set_local $24 + (i32.const 0) + ) + (br $do-once51) + ) ) ) - (if - (tee_local $22 - (i32.load - (get_local $18) + (loop $while-in54 + (if + (tee_local $16 + (i32.load + (tee_local $6 + (i32.add + (get_local $3) + (i32.const 20) + ) + ) + ) + ) + (block + (set_local $3 + (get_local $16) + ) + (set_local $0 + (get_local $6) + ) + (br $while-in54) ) ) - (block - (set_local $3 - (get_local $22) + (if + (tee_local $16 + (i32.load + (tee_local $6 + (i32.add + (get_local $3) + (i32.const 16) + ) + ) + ) ) - (set_local $0 - (get_local $18) + (block + (set_local $3 + (get_local $16) + ) + (set_local $0 + (get_local $6) + ) + (br $while-in54) ) ) + ) + (if + (i32.lt_u + (get_local $0) + (get_local $14) + ) + (call $qa) (block - (set_local $24 + (i32.store + (get_local $0) (i32.const 0) ) - (br $do-once51) + (set_local $24 + (get_local $3) + ) ) ) ) - (loop $while-in54 + (block (if - (tee_local $16 + (i32.lt_u + (tee_local $6 + (i32.load offset=8 + (get_local $1) + ) + ) + (get_local $14) + ) + (call $qa) + ) + (if + (i32.ne (i32.load - (tee_local $6 + (tee_local $16 (i32.add - (get_local $3) - (i32.const 20) + (get_local $6) + (i32.const 12) ) ) ) + (get_local $1) ) - (block - (set_local $3 - (get_local $16) - ) - (set_local $0 - (get_local $6) - ) - (br $while-in54) - ) + (call $qa) ) (if - (tee_local $16 + (i32.eq (i32.load - (tee_local $6 + (tee_local $18 (i32.add - (get_local $3) - (i32.const 16) + (get_local $0) + (i32.const 8) ) ) ) + (get_local $1) ) (block - (set_local $3 + (i32.store (get_local $16) + (get_local $0) ) - (set_local $0 + (i32.store + (get_local $18) (get_local $6) ) - (br $while-in54) - ) - ) - ) - (if - (i32.lt_u - (get_local $0) - (get_local $14) - ) - (call $qa) - (block - (i32.store - (get_local $0) - (i32.const 0) - ) - (set_local $24 - (get_local $3) + (set_local $24 + (get_local $0) + ) ) + (call $qa) ) ) ) - (block - (if - (i32.lt_u - (tee_local $6 - (i32.load offset=8 - (get_local $1) + ) + (br_if $label$break$e + (i32.eqz + (get_local $19) + ) + ) + (block $do-once55 + (if + (i32.eq + (get_local $1) + (i32.load + (tee_local $21 + (i32.add + (i32.shl + (tee_local $0 + (i32.load offset=28 + (get_local $1) + ) + ) + (i32.const 2) + ) + (i32.const 1512) ) ) - (get_local $14) ) - (call $qa) ) - (if - (i32.ne - (i32.load - (tee_local $16 - (i32.add - (get_local $6) - (i32.const 12) + (block + (i32.store + (get_local $21) + (get_local $24) + ) + (br_if $do-once55 + (get_local $24) + ) + (i32.store + (i32.const 1212) + (i32.and + (i32.load + (i32.const 1212) + ) + (i32.xor + (i32.shl + (i32.const 1) + (get_local $0) ) + (i32.const -1) ) ) - (get_local $1) ) - (call $qa) + (br $label$break$e) ) - (if - (i32.eq - (i32.load - (tee_local $18 - (i32.add - (get_local $0) - (i32.const 8) - ) + (block + (if + (i32.lt_u + (get_local $19) + (i32.load + (i32.const 1224) ) ) - (get_local $1) + (call $qa) ) - (block - (i32.store - (get_local $16) - (get_local $0) + (if + (i32.eq + (i32.load + (tee_local $10 + (i32.add + (get_local $19) + (i32.const 16) + ) + ) + ) + (get_local $1) ) (i32.store - (get_local $18) - (get_local $6) + (get_local $10) + (get_local $24) ) - (set_local $24 - (get_local $0) + (i32.store offset=20 + (get_local $19) + (get_local $24) + ) + ) + (br_if $label$break$e + (i32.eqz + (get_local $24) ) ) - (call $qa) ) ) ) - ) - (br_if $label$break$e - (i32.eqz + (if + (i32.lt_u + (get_local $24) + (tee_local $0 + (i32.load + (i32.const 1224) + ) + ) + ) + (call $qa) + ) + (i32.store offset=24 + (get_local $24) (get_local $19) ) - ) - (block $do-once55 (if - (i32.eq - (get_local $1) + (tee_local $10 (i32.load (tee_local $21 (i32.add - (i32.shl - (tee_local $0 - (i32.load offset=28 - (get_local $1) - ) - ) - (i32.const 2) - ) - (i32.const 1512) - ) - ) - ) - ) - (block - (i32.store - (get_local $21) - (get_local $24) - ) - (br_if $do-once55 - (get_local $24) - ) - (i32.store - (i32.const 1212) - (i32.and - (i32.load - (i32.const 1212) - ) - (i32.xor - (i32.shl - (i32.const 1) - (get_local $0) - ) - (i32.const -1) + (get_local $1) + (i32.const 16) ) ) ) - (br $label$break$e) ) - (block - (if - (i32.lt_u - (get_local $19) - (i32.load - (i32.const 1224) - ) - ) - (call $qa) + (if + (i32.lt_u + (get_local $10) + (get_local $0) ) - (if - (i32.eq - (i32.load - (tee_local $10 - (i32.add - (get_local $19) - (i32.const 16) - ) - ) - ) - (get_local $1) - ) - (i32.store - (get_local $10) - (get_local $24) - ) - (i32.store offset=20 - (get_local $19) + (call $qa) + (block + (i32.store offset=16 (get_local $24) + (get_local $10) ) - ) - (br_if $label$break$e - (i32.eqz + (i32.store offset=24 + (get_local $10) (get_local $24) ) ) ) ) - ) - (if - (i32.lt_u - (get_local $24) - (tee_local $0 - (i32.load - (i32.const 1224) - ) - ) - ) - (call $qa) - ) - (i32.store offset=24 - (get_local $24) - (get_local $19) - ) - (if - (tee_local $10 - (i32.load - (tee_local $21 - (i32.add - (get_local $1) - (i32.const 16) + (br_if $label$break$e + (i32.eqz + (tee_local $10 + (i32.load offset=4 + (get_local $21) ) ) ) @@ -4479,11 +4491,13 @@ (if (i32.lt_u (get_local $10) - (get_local $0) + (i32.load + (i32.const 1224) + ) ) (call $qa) (block - (i32.store offset=16 + (i32.store offset=20 (get_local $24) (get_local $10) ) @@ -4494,467 +4508,313 @@ ) ) ) - (br_if $label$break$e - (i32.eqz - (tee_local $10 - (i32.load offset=4 - (get_local $21) - ) - ) - ) - ) - (if - (i32.lt_u - (get_local $10) - (i32.load - (i32.const 1224) - ) - ) - (call $qa) - (block - (i32.store offset=20 - (get_local $24) - (get_local $10) - ) - (i32.store offset=24 - (get_local $10) - (get_local $24) - ) - ) - ) + ) + ) + (set_local $1 + (i32.add + (get_local $1) + (get_local $4) + ) + ) + (set_local $15 + (i32.add + (get_local $4) + (get_local $15) ) ) ) - (set_local $1 + ) + (i32.store + (tee_local $0 (i32.add (get_local $1) - (get_local $4) + (i32.const 4) ) ) - (set_local $15 - (i32.add - (get_local $4) - (get_local $15) + (i32.and + (i32.load + (get_local $0) ) + (i32.const -2) ) ) - ) - (i32.store - (tee_local $0 - (i32.add - (get_local $1) - (i32.const 4) + (i32.store offset=4 + (get_local $2) + (i32.or + (get_local $15) + (i32.const 1) ) ) - (i32.and - (i32.load - (get_local $0) + (i32.store + (i32.add + (get_local $2) + (get_local $15) ) - (i32.const -2) - ) - ) - (i32.store offset=4 - (get_local $2) - (i32.or - (get_local $15) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (get_local $2) (get_local $15) ) - (get_local $15) - ) - (set_local $0 - (i32.shr_u - (get_local $15) - (i32.const 3) - ) - ) - (if - (i32.lt_u - (get_local $15) - (i32.const 256) + (set_local $0 + (i32.shr_u + (get_local $15) + (i32.const 3) + ) ) - (block - (set_local $3 - (i32.add - (i32.shl - (get_local $0) - (i32.const 3) + (if + (i32.lt_u + (get_local $15) + (i32.const 256) + ) + (block + (set_local $3 + (i32.add + (i32.shl + (get_local $0) + (i32.const 3) + ) + (i32.const 1248) ) - (i32.const 1248) ) - ) - (block $do-once59 - (if - (i32.and - (tee_local $10 - (i32.load - (i32.const 1208) + (block $do-once59 + (if + (i32.and + (tee_local $10 + (i32.load + (i32.const 1208) + ) ) - ) - (tee_local $0 - (i32.shl - (i32.const 1) - (get_local $0) + (tee_local $0 + (i32.shl + (i32.const 1) + (get_local $0) + ) ) ) - ) - (block - (if - (i32.ge_u - (tee_local $19 - (i32.load - (tee_local $0 - (i32.add - (get_local $3) - (i32.const 8) + (block + (if + (i32.ge_u + (tee_local $19 + (i32.load + (tee_local $0 + (i32.add + (get_local $3) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 1224) + ) ) - (i32.load - (i32.const 1224) + (block + (set_local $44 + (get_local $0) + ) + (set_local $37 + (get_local $19) + ) + (br $do-once59) ) ) - (block - (set_local $44 + (call $qa) + ) + (block + (i32.store + (i32.const 1208) + (i32.or + (get_local $10) (get_local $0) ) - (set_local $37 - (get_local $19) - ) - (br $do-once59) ) - ) - (call $qa) - ) - (block - (i32.store - (i32.const 1208) - (i32.or - (get_local $10) - (get_local $0) + (set_local $44 + (i32.add + (get_local $3) + (i32.const 8) + ) ) - ) - (set_local $44 - (i32.add + (set_local $37 (get_local $3) - (i32.const 8) ) ) - (set_local $37 - (get_local $3) - ) ) ) + (i32.store + (get_local $44) + (get_local $2) + ) + (i32.store offset=12 + (get_local $37) + (get_local $2) + ) + (i32.store offset=8 + (get_local $2) + (get_local $37) + ) + (i32.store offset=12 + (get_local $2) + (get_local $3) + ) + (br $do-once44) ) - (i32.store - (get_local $44) - (get_local $2) - ) - (i32.store offset=12 - (get_local $37) - (get_local $2) - ) - (i32.store offset=8 - (get_local $2) - (get_local $37) - ) - (i32.store offset=12 - (get_local $2) - (get_local $3) - ) - (br $do-once44) ) - ) - (set_local $0 - (i32.add - (i32.shl - (tee_local $4 - (block $do-once61 (result i32) - (if (result i32) - (tee_local $0 - (i32.shr_u - (get_local $15) - (i32.const 8) + (set_local $0 + (i32.add + (i32.shl + (tee_local $4 + (block $do-once61 (result i32) + (if (result i32) + (tee_local $0 + (i32.shr_u + (get_local $15) + (i32.const 8) + ) ) - ) - (block (result i32) - (drop - (br_if $do-once61 - (i32.const 31) - (i32.gt_u - (get_local $15) - (i32.const 16777215) + (block (result i32) + (drop + (br_if $do-once61 + (i32.const 31) + (i32.gt_u + (get_local $15) + (i32.const 16777215) + ) ) ) - ) - (i32.or - (i32.and - (i32.shr_u - (get_local $15) - (i32.add - (tee_local $6 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (i32.or + (i32.and + (i32.shr_u + (get_local $15) + (i32.add + (tee_local $6 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $19 - (i32.and - (i32.shr_u - (i32.add - (tee_local $4 - (i32.shl - (get_local $0) - (tee_local $10 - (i32.and - (i32.shr_u - (i32.add - (get_local $0) - (i32.const 1048320) + (i32.or + (tee_local $19 + (i32.and + (i32.shr_u + (i32.add + (tee_local $4 + (i32.shl + (get_local $0) + (tee_local $10 + (i32.and + (i32.shr_u + (i32.add + (get_local $0) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $10) ) - (get_local $10) - ) - (tee_local $4 - (i32.and - (i32.shr_u - (i32.add - (tee_local $0 - (i32.shl - (get_local $4) - (get_local $19) + (tee_local $4 + (i32.and + (i32.shr_u + (i32.add + (tee_local $0 + (i32.shl + (get_local $4) + (get_local $19) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $0) - (get_local $4) + (i32.shr_u + (i32.shl + (get_local $0) + (get_local $4) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $6) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $6) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) ) ) + (i32.const 2) ) - (i32.const 2) - ) - (i32.const 1512) - ) - ) - (i32.store offset=28 - (get_local $2) - (get_local $4) - ) - (i32.store offset=4 - (tee_local $3 - (i32.add - (get_local $2) - (i32.const 16) - ) - ) - (i32.const 0) - ) - (i32.store - (get_local $3) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $3 - (i32.load - (i32.const 1212) - ) - ) - (tee_local $6 - (i32.shl - (i32.const 1) - (get_local $4) - ) - ) + (i32.const 1512) ) ) - (block - (i32.store - (i32.const 1212) - (i32.or - (get_local $3) - (get_local $6) - ) - ) - (i32.store - (get_local $0) - (get_local $2) - ) - (i32.store offset=24 - (get_local $2) - (get_local $0) - ) - (i32.store offset=12 - (get_local $2) - (get_local $2) - ) - (i32.store offset=8 - (get_local $2) - (get_local $2) - ) - (br $do-once44) + (i32.store offset=28 + (get_local $2) + (get_local $4) ) - ) - (set_local $6 - (i32.shl - (get_local $15) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (get_local $4) - (i32.const 1) - ) - ) - (i32.eq - (get_local $4) - (i32.const 31) + (i32.store offset=4 + (tee_local $3 + (i32.add + (get_local $2) + (i32.const 16) ) ) + (i32.const 0) ) - ) - (set_local $3 - (i32.load - (get_local $0) + (i32.store + (get_local $3) + (i32.const 0) ) - ) - (loop $while-in64 - (block $while-out63 - (if - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $3) - ) - (i32.const -8) - ) - (get_local $15) - ) - (block - (set_local $38 - (get_local $3) - ) - (set_local $7 - (i32.const 279) - ) - (br $while-out63) - ) - ) - (if - (tee_local $4 - (i32.load - (tee_local $0 - (i32.add - (i32.add - (get_local $3) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $6) - (i32.const 31) - ) - (i32.const 2) - ) - ) + (if + (i32.eqz + (i32.and + (tee_local $3 + (i32.load + (i32.const 1212) ) ) - ) - (block - (set_local $6 + (tee_local $6 (i32.shl - (get_local $6) (i32.const 1) + (get_local $4) ) ) - (set_local $3 - (get_local $4) - ) - (br $while-in64) ) - (block - (set_local $45 - (get_local $0) - ) - (set_local $53 + ) + (block + (i32.store + (i32.const 1212) + (i32.or (get_local $3) - ) - (set_local $7 - (i32.const 276) + (get_local $6) ) ) - ) - ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 276) - ) - (if - (i32.lt_u - (get_local $45) - (i32.load - (i32.const 1224) - ) - ) - (call $qa) - (block (i32.store - (get_local $45) + (get_local $0) (get_local $2) ) (i32.store offset=24 (get_local $2) - (get_local $53) + (get_local $0) ) (i32.store offset=12 (get_local $2) @@ -4964,705 +4824,705 @@ (get_local $2) (get_local $2) ) + (br $do-once44) ) ) - (if - (i32.eq - (get_local $7) - (i32.const 279) + (set_local $6 + (i32.shl + (get_local $15) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $4) + (i32.const 1) + ) + ) + (i32.eq + (get_local $4) + (i32.const 31) + ) + ) ) - (if - (i32.and - (i32.ge_u - (tee_local $6 - (i32.load - (tee_local $3 + ) + (set_local $3 + (i32.load + (get_local $0) + ) + ) + (loop $while-in64 + (block $while-out63 + (if + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $3) + ) + (i32.const -8) + ) + (get_local $15) + ) + (block + (set_local $38 + (get_local $3) + ) + (set_local $7 + (i32.const 279) + ) + (br $while-out63) + ) + ) + (if + (tee_local $4 + (i32.load + (tee_local $0 + (i32.add (i32.add - (get_local $38) - (i32.const 8) + (get_local $3) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $6) + (i32.const 31) + ) + (i32.const 2) ) ) ) ) - (tee_local $4 - (i32.load - (i32.const 1224) + ) + (block + (set_local $6 + (i32.shl + (get_local $6) + (i32.const 1) ) ) + (set_local $3 + (get_local $4) + ) + (br $while-in64) ) - (i32.ge_u - (get_local $38) - (get_local $4) + (block + (set_local $45 + (get_local $0) + ) + (set_local $53 + (get_local $3) + ) + (set_local $7 + (i32.const 276) + ) ) ) - (block - (i32.store offset=12 - (get_local $6) - (get_local $2) + ) + ) + (if + (i32.eq + (get_local $7) + (i32.const 276) + ) + (if + (i32.lt_u + (get_local $45) + (i32.load + (i32.const 1224) ) + ) + (call $qa) + (block (i32.store - (get_local $3) + (get_local $45) (get_local $2) ) - (i32.store offset=8 + (i32.store offset=24 (get_local $2) - (get_local $6) + (get_local $53) ) (i32.store offset=12 (get_local $2) - (get_local $38) + (get_local $2) ) - (i32.store offset=24 + (i32.store offset=8 + (get_local $2) (get_local $2) - (i32.const 0) ) ) - (call $qa) + ) + (if + (i32.eq + (get_local $7) + (i32.const 279) + ) + (if + (i32.and + (i32.ge_u + (tee_local $6 + (i32.load + (tee_local $3 + (i32.add + (get_local $38) + (i32.const 8) + ) + ) + ) + ) + (tee_local $4 + (i32.load + (i32.const 1224) + ) + ) + ) + (i32.ge_u + (get_local $38) + (get_local $4) + ) + ) + (block + (i32.store offset=12 + (get_local $6) + (get_local $2) + ) + (i32.store + (get_local $3) + (get_local $2) + ) + (i32.store offset=8 + (get_local $2) + (get_local $6) + ) + (i32.store offset=12 + (get_local $2) + (get_local $38) + ) + (i32.store offset=24 + (get_local $2) + (i32.const 0) + ) + ) + (call $qa) + ) ) ) ) ) ) - ) - (set_global $r - (get_local $25) - ) - (return - (i32.add - (get_local $17) - (i32.const 8) + (set_global $r + (get_local $25) ) - ) - ) - ) - ) - (loop $while-in66 - (block $while-out65 - (if - (i32.le_u - (tee_local $2 - (i32.load - (get_local $30) + (return + (i32.add + (get_local $17) + (i32.const 8) ) ) - (get_local $11) ) + ) + ) + (loop $while-in66 + (block $while-out65 (if - (i32.gt_u - (tee_local $15 - (i32.add - (get_local $2) - (i32.load offset=4 - (get_local $30) - ) + (i32.le_u + (tee_local $2 + (i32.load + (get_local $30) ) ) (get_local $11) ) - (block - (set_local $0 - (get_local $15) + (if + (i32.gt_u + (tee_local $15 + (i32.add + (get_local $2) + (i32.load offset=4 + (get_local $30) + ) + ) + ) + (get_local $11) + ) + (block + (set_local $0 + (get_local $15) + ) + (br $while-out65) ) - (br $while-out65) ) ) - ) - (set_local $30 - (i32.load offset=8 - (get_local $30) + (set_local $30 + (i32.load offset=8 + (get_local $30) + ) ) + (br $while-in66) ) - (br $while-in66) ) - ) - (set_local $15 - (i32.add - (tee_local $17 - (i32.add - (get_local $0) - (i32.const -47) + (set_local $15 + (i32.add + (tee_local $17 + (i32.add + (get_local $0) + (i32.const -47) + ) ) + (i32.const 8) ) - (i32.const 8) ) - ) - (set_local $2 - (i32.add - (tee_local $17 - (select - (get_local $11) - (tee_local $2 - (i32.add - (get_local $17) - (select - (i32.and - (i32.sub - (i32.const 0) + (set_local $2 + (i32.add + (tee_local $17 + (select + (get_local $11) + (tee_local $2 + (i32.add + (get_local $17) + (select + (i32.and + (i32.sub + (i32.const 0) + (get_local $15) + ) + (i32.const 7) + ) + (i32.const 0) + (i32.and (get_local $15) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $15) - (i32.const 7) ) ) ) - ) - (i32.lt_u - (get_local $2) - (tee_local $15 - (i32.add - (get_local $11) - (i32.const 16) + (i32.lt_u + (get_local $2) + (tee_local $15 + (i32.add + (get_local $11) + (i32.const 16) + ) ) ) ) ) + (i32.const 8) ) - (i32.const 8) ) - ) - (i32.store - (i32.const 1232) - (tee_local $1 - (i32.add - (get_local $20) - (tee_local $13 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $1 - (i32.add - (get_local $20) - (i32.const 8) + (i32.store + (i32.const 1232) + (tee_local $1 + (i32.add + (get_local $20) + (tee_local $13 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.add + (get_local $20) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $1) - (i32.const 7) ) ) ) ) ) - ) - (i32.store - (i32.const 1220) - (tee_local $6 - (i32.sub + (i32.store + (i32.const 1220) + (tee_local $6 + (i32.sub + (i32.add + (get_local $26) + (i32.const -40) + ) + (get_local $13) + ) + ) + ) + (i32.store offset=4 + (get_local $1) + (i32.or + (get_local $6) + (i32.const 1) + ) + ) + (i32.store offset=4 + (i32.add + (get_local $1) + (get_local $6) + ) + (i32.const 40) + ) + (i32.store + (i32.const 1236) + (i32.load + (i32.const 1696) + ) + ) + (i32.store + (tee_local $6 (i32.add - (get_local $26) - (i32.const -40) + (get_local $17) + (i32.const 4) ) - (get_local $13) ) + (i32.const 27) ) - ) - (i32.store offset=4 - (get_local $1) - (i32.or - (get_local $6) - (i32.const 1) + (i32.store + (get_local $2) + (i32.load + (i32.const 1656) + ) ) - ) - (i32.store offset=4 - (i32.add - (get_local $1) - (get_local $6) + (i32.store offset=4 + (get_local $2) + (i32.load + (i32.const 1660) + ) ) - (i32.const 40) - ) - (i32.store - (i32.const 1236) - (i32.load - (i32.const 1696) + (i32.store offset=8 + (get_local $2) + (i32.load + (i32.const 1664) + ) ) - ) - (i32.store - (tee_local $6 - (i32.add - (get_local $17) - (i32.const 4) + (i32.store offset=12 + (get_local $2) + (i32.load + (i32.const 1668) ) ) - (i32.const 27) - ) - (i32.store - (get_local $2) - (i32.load + (i32.store (i32.const 1656) + (get_local $20) ) - ) - (i32.store offset=4 - (get_local $2) - (i32.load + (i32.store (i32.const 1660) + (get_local $26) ) - ) - (i32.store offset=8 - (get_local $2) - (i32.load - (i32.const 1664) - ) - ) - (i32.store offset=12 - (get_local $2) - (i32.load + (i32.store (i32.const 1668) + (i32.const 0) ) - ) - (i32.store - (i32.const 1656) - (get_local $20) - ) - (i32.store - (i32.const 1660) - (get_local $26) - ) - (i32.store - (i32.const 1668) - (i32.const 0) - ) - (i32.store - (i32.const 1664) - (get_local $2) - ) - (set_local $2 - (i32.add - (get_local $17) - (i32.const 24) - ) - ) - (loop $do-in68 (i32.store - (tee_local $2 - (i32.add - (get_local $2) - (i32.const 4) - ) - ) - (i32.const 7) + (i32.const 1664) + (get_local $2) ) - (br_if $do-in68 - (i32.lt_u - (i32.add - (get_local $2) - (i32.const 4) - ) - (get_local $0) + (set_local $2 + (i32.add + (get_local $17) + (i32.const 24) ) ) - ) - (if - (i32.ne - (get_local $17) - (get_local $11) - ) - (block + (loop $do-in68 (i32.store - (get_local $6) - (i32.and - (i32.load - (get_local $6) + (tee_local $2 + (i32.add + (get_local $2) + (i32.const 4) ) - (i32.const -2) ) + (i32.const 7) ) - (i32.store offset=4 - (get_local $11) - (i32.or - (tee_local $2 - (i32.sub - (get_local $17) - (get_local $11) - ) + (br_if $do-in68 + (i32.lt_u + (i32.add + (get_local $2) + (i32.const 4) ) - (i32.const 1) + (get_local $0) ) ) - (i32.store + ) + (if + (i32.ne (get_local $17) - (get_local $2) - ) - (set_local $1 - (i32.shr_u - (get_local $2) - (i32.const 3) - ) + (get_local $11) ) - (if - (i32.lt_u - (get_local $2) - (i32.const 256) + (block + (i32.store + (get_local $6) + (i32.and + (i32.load + (get_local $6) + ) + (i32.const -2) + ) ) - (block - (set_local $13 - (i32.add - (i32.shl - (get_local $1) - (i32.const 3) + (i32.store offset=4 + (get_local $11) + (i32.or + (tee_local $2 + (i32.sub + (get_local $17) + (get_local $11) ) - (i32.const 1248) ) + (i32.const 1) ) - (if - (i32.and - (tee_local $3 - (i32.load - (i32.const 1208) - ) - ) - (tee_local $4 + ) + (i32.store + (get_local $17) + (get_local $2) + ) + (set_local $1 + (i32.shr_u + (get_local $2) + (i32.const 3) + ) + ) + (if + (i32.lt_u + (get_local $2) + (i32.const 256) + ) + (block + (set_local $13 + (i32.add (i32.shl - (i32.const 1) (get_local $1) + (i32.const 3) ) + (i32.const 1248) ) ) (if - (i32.lt_u + (i32.and (tee_local $3 (i32.load - (tee_local $4 - (i32.add - (get_local $13) - (i32.const 8) + (i32.const 1208) + ) + ) + (tee_local $4 + (i32.shl + (i32.const 1) + (get_local $1) + ) + ) + ) + (if + (i32.lt_u + (tee_local $3 + (i32.load + (tee_local $4 + (i32.add + (get_local $13) + (i32.const 8) + ) ) ) ) + (i32.load + (i32.const 1224) + ) ) - (i32.load - (i32.const 1224) + (call $qa) + (block + (set_local $46 + (get_local $4) + ) + (set_local $39 + (get_local $3) + ) ) ) - (call $qa) (block + (i32.store + (i32.const 1208) + (i32.or + (get_local $3) + (get_local $4) + ) + ) (set_local $46 - (get_local $4) + (i32.add + (get_local $13) + (i32.const 8) + ) ) (set_local $39 - (get_local $3) - ) - ) - ) - (block - (i32.store - (i32.const 1208) - (i32.or - (get_local $3) - (get_local $4) - ) - ) - (set_local $46 - (i32.add (get_local $13) - (i32.const 8) ) ) - (set_local $39 - (get_local $13) - ) ) + (i32.store + (get_local $46) + (get_local $11) + ) + (i32.store offset=12 + (get_local $39) + (get_local $11) + ) + (i32.store offset=8 + (get_local $11) + (get_local $39) + ) + (i32.store offset=12 + (get_local $11) + (get_local $13) + ) + (br $do-once38) ) - (i32.store - (get_local $46) - (get_local $11) - ) - (i32.store offset=12 - (get_local $39) - (get_local $11) - ) - (i32.store offset=8 - (get_local $11) - (get_local $39) - ) - (i32.store offset=12 - (get_local $11) - (get_local $13) - ) - (br $do-once38) ) - ) - (set_local $0 - (i32.add - (i32.shl - (tee_local $3 - (if (result i32) - (tee_local $13 - (i32.shr_u - (get_local $2) - (i32.const 8) - ) - ) + (set_local $0 + (i32.add + (i32.shl + (tee_local $3 (if (result i32) - (i32.gt_u - (get_local $2) - (i32.const 16777215) + (tee_local $13 + (i32.shr_u + (get_local $2) + (i32.const 8) + ) ) - (i32.const 31) - (i32.or - (i32.and - (i32.shr_u - (get_local $2) - (i32.add - (tee_local $0 - (i32.add - (i32.sub - (i32.const 14) - (i32.or + (if (result i32) + (i32.gt_u + (get_local $2) + (i32.const 16777215) + ) + (i32.const 31) + (i32.or + (i32.and + (i32.shr_u + (get_local $2) + (i32.add + (tee_local $0 + (i32.add + (i32.sub + (i32.const 14) (i32.or - (tee_local $13 - (i32.and - (i32.shr_u - (i32.add - (tee_local $4 - (i32.shl - (get_local $13) - (tee_local $3 - (i32.and - (i32.shr_u - (i32.add - (get_local $13) - (i32.const 1048320) + (i32.or + (tee_local $13 + (i32.and + (i32.shr_u + (i32.add + (tee_local $4 + (i32.shl + (get_local $13) + (tee_local $3 + (i32.and + (i32.shr_u + (i32.add + (get_local $13) + (i32.const 1048320) + ) + (i32.const 16) ) - (i32.const 16) + (i32.const 8) ) - (i32.const 8) ) ) ) + (i32.const 520192) ) - (i32.const 520192) + (i32.const 16) ) - (i32.const 16) + (i32.const 4) ) - (i32.const 4) ) + (get_local $3) ) - (get_local $3) - ) - (tee_local $4 - (i32.and - (i32.shr_u - (i32.add - (tee_local $1 - (i32.shl - (get_local $4) - (get_local $13) + (tee_local $4 + (i32.and + (i32.shr_u + (i32.add + (tee_local $1 + (i32.shl + (get_local $4) + (get_local $13) + ) ) + (i32.const 245760) ) - (i32.const 245760) + (i32.const 16) ) - (i32.const 16) + (i32.const 2) ) - (i32.const 2) ) ) ) - ) - (i32.shr_u - (i32.shl - (get_local $1) - (get_local $4) + (i32.shr_u + (i32.shl + (get_local $1) + (get_local $4) + ) + (i32.const 15) ) - (i32.const 15) ) ) + (i32.const 7) ) - (i32.const 7) ) + (i32.const 1) + ) + (i32.shl + (get_local $0) + (i32.const 1) ) - (i32.const 1) - ) - (i32.shl - (get_local $0) - (i32.const 1) ) ) + (i32.const 0) ) - (i32.const 0) - ) - ) - (i32.const 2) - ) - (i32.const 1512) - ) - ) - (i32.store offset=28 - (get_local $11) - (get_local $3) - ) - (i32.store offset=20 - (get_local $11) - (i32.const 0) - ) - (i32.store - (get_local $15) - (i32.const 0) - ) - (if - (i32.eqz - (i32.and - (tee_local $4 - (i32.load - (i32.const 1212) - ) - ) - (tee_local $1 - (i32.shl - (i32.const 1) - (get_local $3) ) + (i32.const 2) ) + (i32.const 1512) ) ) - (block - (i32.store - (i32.const 1212) - (i32.or - (get_local $4) - (get_local $1) - ) - ) - (i32.store - (get_local $0) - (get_local $11) - ) - (i32.store offset=24 - (get_local $11) - (get_local $0) - ) - (i32.store offset=12 - (get_local $11) - (get_local $11) - ) - (i32.store offset=8 - (get_local $11) - (get_local $11) - ) - (br $do-once38) + (i32.store offset=28 + (get_local $11) + (get_local $3) ) - ) - (set_local $1 - (i32.shl - (get_local $2) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (get_local $3) - (i32.const 1) - ) - ) - (i32.eq - (get_local $3) - (i32.const 31) - ) - ) + (i32.store offset=20 + (get_local $11) + (i32.const 0) ) - ) - (set_local $4 - (i32.load - (get_local $0) + (i32.store + (get_local $15) + (i32.const 0) ) - ) - (loop $while-in70 - (block $while-out69 - (if - (i32.eq - (i32.and - (i32.load offset=4 - (get_local $4) - ) - (i32.const -8) - ) - (get_local $2) - ) - (block - (set_local $31 - (get_local $4) - ) - (set_local $7 - (i32.const 305) - ) - (br $while-out69) - ) - ) - (if - (tee_local $3 - (i32.load - (tee_local $0 - (i32.add - (i32.add - (get_local $4) - (i32.const 16) - ) - (i32.shl - (i32.shr_u - (get_local $1) - (i32.const 31) - ) - (i32.const 2) - ) - ) + (if + (i32.eqz + (i32.and + (tee_local $4 + (i32.load + (i32.const 1212) ) ) - ) - (block - (set_local $1 + (tee_local $1 (i32.shl - (get_local $1) (i32.const 1) + (get_local $3) ) ) - (set_local $4 - (get_local $3) - ) - (br $while-in70) ) - (block - (set_local $47 - (get_local $0) - ) - (set_local $54 + ) + (block + (i32.store + (i32.const 1212) + (i32.or (get_local $4) - ) - (set_local $7 - (i32.const 302) + (get_local $1) ) ) - ) - ) - ) - (if - (i32.eq - (get_local $7) - (i32.const 302) - ) - (if - (i32.lt_u - (get_local $47) - (i32.load - (i32.const 1224) - ) - ) - (call $qa) - (block (i32.store - (get_local $47) + (get_local $0) (get_local $11) ) (i32.store offset=24 (get_local $11) - (get_local $54) + (get_local $0) ) (i32.store offset=12 (get_local $11) @@ -5672,271 +5532,406 @@ (get_local $11) (get_local $11) ) + (br $do-once38) ) ) - (if - (i32.eq - (get_local $7) - (i32.const 305) + (set_local $1 + (i32.shl + (get_local $2) + (select + (i32.const 0) + (i32.sub + (i32.const 25) + (i32.shr_u + (get_local $3) + (i32.const 1) + ) + ) + (i32.eq + (get_local $3) + (i32.const 31) + ) + ) ) - (if - (i32.and - (i32.ge_u - (tee_local $1 - (i32.load - (tee_local $4 + ) + (set_local $4 + (i32.load + (get_local $0) + ) + ) + (loop $while-in70 + (block $while-out69 + (if + (i32.eq + (i32.and + (i32.load offset=4 + (get_local $4) + ) + (i32.const -8) + ) + (get_local $2) + ) + (block + (set_local $31 + (get_local $4) + ) + (set_local $7 + (i32.const 305) + ) + (br $while-out69) + ) + ) + (if + (tee_local $3 + (i32.load + (tee_local $0 + (i32.add (i32.add - (get_local $31) - (i32.const 8) + (get_local $4) + (i32.const 16) + ) + (i32.shl + (i32.shr_u + (get_local $1) + (i32.const 31) + ) + (i32.const 2) ) ) ) ) - (tee_local $2 - (i32.load - (i32.const 1224) + ) + (block + (set_local $1 + (i32.shl + (get_local $1) + (i32.const 1) ) ) + (set_local $4 + (get_local $3) + ) + (br $while-in70) ) - (i32.ge_u - (get_local $31) - (get_local $2) + (block + (set_local $47 + (get_local $0) + ) + (set_local $54 + (get_local $4) + ) + (set_local $7 + (i32.const 302) + ) ) ) - (block - (i32.store offset=12 - (get_local $1) - (get_local $11) + ) + ) + (if + (i32.eq + (get_local $7) + (i32.const 302) + ) + (if + (i32.lt_u + (get_local $47) + (i32.load + (i32.const 1224) ) + ) + (call $qa) + (block (i32.store - (get_local $4) + (get_local $47) (get_local $11) ) - (i32.store offset=8 + (i32.store offset=24 (get_local $11) - (get_local $1) + (get_local $54) ) (i32.store offset=12 (get_local $11) - (get_local $31) + (get_local $11) ) - (i32.store offset=24 + (i32.store offset=8 + (get_local $11) (get_local $11) - (i32.const 0) ) ) - (call $qa) + ) + (if + (i32.eq + (get_local $7) + (i32.const 305) + ) + (if + (i32.and + (i32.ge_u + (tee_local $1 + (i32.load + (tee_local $4 + (i32.add + (get_local $31) + (i32.const 8) + ) + ) + ) + ) + (tee_local $2 + (i32.load + (i32.const 1224) + ) + ) + ) + (i32.ge_u + (get_local $31) + (get_local $2) + ) + ) + (block + (i32.store offset=12 + (get_local $1) + (get_local $11) + ) + (i32.store + (get_local $4) + (get_local $11) + ) + (i32.store offset=8 + (get_local $11) + (get_local $1) + ) + (i32.store offset=12 + (get_local $11) + (get_local $31) + ) + (i32.store offset=24 + (get_local $11) + (i32.const 0) + ) + ) + (call $qa) + ) ) ) ) ) ) - ) - (block - (if - (i32.or - (i32.eqz - (tee_local $1 - (i32.load - (i32.const 1224) + (block + (if + (i32.or + (i32.eqz + (tee_local $1 + (i32.load + (i32.const 1224) + ) ) ) + (i32.lt_u + (get_local $20) + (get_local $1) + ) ) - (i32.lt_u + (i32.store + (i32.const 1224) (get_local $20) - (get_local $1) ) ) (i32.store - (i32.const 1224) + (i32.const 1656) (get_local $20) ) - ) - (i32.store - (i32.const 1656) - (get_local $20) - ) - (i32.store - (i32.const 1660) - (get_local $26) - ) - (i32.store - (i32.const 1668) - (i32.const 0) - ) - (i32.store - (i32.const 1244) - (i32.load - (i32.const 1680) + (i32.store + (i32.const 1660) + (get_local $26) ) - ) - (i32.store - (i32.const 1240) - (i32.const -1) - ) - (set_local $1 - (i32.const 0) - ) - (loop $do-in - (i32.store offset=12 - (tee_local $13 - (i32.add - (i32.shl - (get_local $1) - (i32.const 3) - ) - (i32.const 1248) - ) + (i32.store + (i32.const 1668) + (i32.const 0) + ) + (i32.store + (i32.const 1244) + (i32.load + (i32.const 1680) ) - (get_local $13) ) - (i32.store offset=8 - (get_local $13) - (get_local $13) + (i32.store + (i32.const 1240) + (i32.const -1) ) - (br_if $do-in - (i32.ne - (tee_local $1 + (set_local $1 + (i32.const 0) + ) + (loop $do-in + (i32.store offset=12 + (tee_local $13 (i32.add - (get_local $1) - (i32.const 1) + (i32.shl + (get_local $1) + (i32.const 3) + ) + (i32.const 1248) + ) + ) + (get_local $13) + ) + (i32.store offset=8 + (get_local $13) + (get_local $13) + ) + (br_if $do-in + (i32.ne + (tee_local $1 + (i32.add + (get_local $1) + (i32.const 1) + ) ) + (i32.const 32) ) - (i32.const 32) ) ) - ) - (i32.store - (i32.const 1232) - (tee_local $1 - (i32.add - (get_local $20) - (tee_local $13 - (select - (i32.and - (i32.sub - (i32.const 0) - (tee_local $1 - (i32.add - (get_local $20) - (i32.const 8) + (i32.store + (i32.const 1232) + (tee_local $1 + (i32.add + (get_local $20) + (tee_local $13 + (select + (i32.and + (i32.sub + (i32.const 0) + (tee_local $1 + (i32.add + (get_local $20) + (i32.const 8) + ) ) ) + (i32.const 7) + ) + (i32.const 0) + (i32.and + (get_local $1) + (i32.const 7) ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (get_local $1) - (i32.const 7) ) ) ) ) ) - ) - (i32.store - (i32.const 1220) - (tee_local $2 - (i32.sub - (i32.add - (get_local $26) - (i32.const -40) + (i32.store + (i32.const 1220) + (tee_local $2 + (i32.sub + (i32.add + (get_local $26) + (i32.const -40) + ) + (get_local $13) ) - (get_local $13) ) ) - ) - (i32.store offset=4 - (get_local $1) - (i32.or - (get_local $2) - (i32.const 1) - ) - ) - (i32.store offset=4 - (i32.add + (i32.store offset=4 (get_local $1) - (get_local $2) + (i32.or + (get_local $2) + (i32.const 1) + ) ) - (i32.const 40) - ) - (i32.store - (i32.const 1236) - (i32.load - (i32.const 1696) + (i32.store offset=4 + (i32.add + (get_local $1) + (get_local $2) + ) + (i32.const 40) + ) + (i32.store + (i32.const 1236) + (i32.load + (i32.const 1696) + ) ) ) ) ) - ) - (if - (i32.gt_u - (tee_local $11 - (i32.load - (i32.const 1220) + (if + (i32.gt_u + (tee_local $11 + (i32.load + (i32.const 1220) + ) ) + (get_local $5) ) - (get_local $5) - ) - (block - (i32.store - (i32.const 1220) - (tee_local $31 - (i32.sub - (get_local $11) - (get_local $5) + (block + (i32.store + (i32.const 1220) + (tee_local $31 + (i32.sub + (get_local $11) + (get_local $5) + ) ) ) - ) - (i32.store - (i32.const 1232) - (tee_local $7 - (i32.add - (tee_local $11 - (i32.load - (i32.const 1232) + (i32.store + (i32.const 1232) + (tee_local $7 + (i32.add + (tee_local $11 + (i32.load + (i32.const 1232) + ) ) + (get_local $5) ) - (get_local $5) ) ) - ) - (i32.store offset=4 - (get_local $7) - (i32.or - (get_local $31) - (i32.const 1) - ) - ) - (i32.store offset=4 - (get_local $11) - (i32.or - (get_local $5) - (i32.const 3) + (i32.store offset=4 + (get_local $7) + (i32.or + (get_local $31) + (i32.const 1) + ) ) - ) - (set_global $r - (get_local $25) - ) - (return - (i32.add + (i32.store offset=4 (get_local $11) - (i32.const 8) + (i32.or + (get_local $5) + (i32.const 3) + ) + ) + (set_global $r + (get_local $25) + ) + (return + (i32.add + (get_local $11) + (i32.const 8) + ) ) ) ) ) ) - ) - (i32.store - (call $Qa) - (i32.const 12) + (i32.store + (call $Qa) + (i32.const 12) + ) + (set_global $r + (get_local $25) + ) + (return + (i32.const 0) + ) ) (set_global $r (get_local $25) ) - (i32.const 0) + (i32.add + (get_local $15) + (i32.const 8) + ) ) (func $fb (param $0 i32) (local $1 i32) diff --git a/test/passes/remove-unused-names_code-folding.txt b/test/passes/remove-unused-names_code-folding.txt new file mode 100644 index 000000000..0ad10704f --- /dev/null +++ b/test/passes/remove-unused-names_code-folding.txt @@ -0,0 +1,1681 @@ +(module + (type $0 (func)) + (type $1 (func (param i32 i32) (result i32))) + (type $2 (func (result i32))) + (memory $0 0) + (func $ifs (type $0) + (if + (i32.const 0) + (nop) + ) + (block + (drop + (i32.const 0) + ) + (nop) + ) + (if + (i32.const 0) + (nop) + (unreachable) + ) + (drop + (block (result i32) + (drop + (i32.const 0) + ) + (i32.add + (i32.const 1) + (i32.const 2) + ) + ) + ) + (drop + (if (result i32) + (i32.const 0) + (i32.add + (i32.const 1) + (i32.const 2) + ) + (i32.add + (i32.const 1) + (i32.const 333333333) + ) + ) + ) + ) + (func $ifs-blocks (type $0) + (block + (drop + (i32.const 0) + ) + (block + (nop) + ) + ) + (block + (if + (i32.const 0) + (unreachable) + (block + ) + ) + (nop) + ) + (block + (if + (i32.const 0) + (block + ) + (unreachable) + ) + (nop) + ) + (if + (i32.const 0) + (block + (nop) + (unreachable) + ) + (nop) + ) + (if + (i32.const 0) + (nop) + (block + (nop) + (unreachable) + ) + ) + ) + (func $ifs-blocks-big (type $0) + (block + (drop + (i32.const 0) + ) + (block + (drop + (i32.add + (i32.const 1) + (i32.const 2) + ) + ) + ) + ) + (block + (if + (i32.const 0) + (unreachable) + (block + ) + ) + (drop + (i32.add + (i32.const 1) + (i32.const 2) + ) + ) + ) + (block + (if + (i32.const 0) + (block + ) + (unreachable) + ) + (drop + (i32.add + (i32.const 1) + (i32.const 2) + ) + ) + ) + (if + (i32.const 0) + (block + (drop + (i32.add + (i32.const 1) + (i32.const 2) + ) + ) + (unreachable) + ) + (drop + (i32.add + (i32.const 1) + (i32.const 2) + ) + ) + ) + (if + (i32.const 0) + (drop + (i32.add + (i32.const 1) + (i32.const 2) + ) + ) + (block + (drop + (i32.add + (i32.const 1) + (i32.const 2) + ) + ) + (unreachable) + ) + ) + ) + (func $ifs-blocks-long (type $0) + (block + (if + (i32.const 1) + (block + (drop + (i32.const -1234) + ) + (drop + (i32.const -1000) + ) + ) + (drop + (i32.const 999) + ) + ) + (drop + (i32.const 1) + ) + (nop) + (unreachable) + ) + (drop + (block (result i32) + (if + (i32.const 2) + (block + (drop + (i32.const -1234) + ) + (drop + (i32.const -1000) + ) + ) + (drop + (i32.const 999) + ) + ) + (drop + (i32.const 1) + ) + (nop) + (unreachable) + (i32.const 2) + ) + ) + (drop + (block (result i32) + (if + (i32.const 3) + (block + (drop + (i32.const -1234) + ) + (drop + (i32.const -1000) + ) + ) + (drop + (i32.const 999) + ) + ) + (drop + (i32.const 1) + ) + (nop) + (i32.const 2) + ) + ) + ) + (func $if-worth-it-i-dunno (type $0) + (block $folding-inner0 + (block + (if + (i32.const 0) + (if + (i32.const 0) + (block + (drop + (i32.const -1234) + ) + (drop + (i32.const -1000) + ) + (br $folding-inner0) + ) + (block + (drop + (i32.const 999) + ) + (drop + (i32.const 1) + ) + (br $folding-inner0) + ) + ) + ) + (if + (i32.const 0) + (block + (if + (i32.const 0) + (block + (drop + (i32.const -1234) + ) + (drop + (i32.const -1000) + ) + ) + (block + (drop + (i32.const 999) + ) + (drop + (i32.const 1) + ) + ) + ) + (unreachable) + (br $folding-inner0) + ) + ) + (if + (i32.const 0) + (block + (if + (i32.const 0) + (block + ) + (block + (drop + (i32.const 999) + ) + (drop + (i32.const 1) + ) + ) + ) + (br $folding-inner0) + ) + ) + (if + (i32.const 0) + (block + (if + (i32.const 0) + (block + (drop + (i32.const -1234) + ) + (drop + (i32.const -1000) + ) + ) + (block + ) + ) + (br $folding-inner0) + ) + ) + (block + (block + (if + (i32.const 9999) + (block + (drop + (i32.const -51234) + ) + (drop + (i32.const -51000) + ) + ) + (block + (drop + (i32.const 5999) + ) + (drop + (i32.const 51) + ) + ) + ) + (br $folding-inner0) + ) + ) + (drop + (block (result i32) + (block (result i32) + (if + (i32.const 9999) + (block + (drop + (i32.const -51234) + ) + (drop + (i32.const -51000) + ) + ) + (block + (drop + (i32.const 5999) + ) + (drop + (i32.const 51) + ) + ) + ) + (unreachable) + (i32.const 10) + ) + ) + ) + (block + (drop + (if (result i32) + (i32.const 9999) + (block (result i32) + (drop + (i32.const -51234) + ) + (drop + (i32.const -51000) + ) + (unreachable) + (i32.const 10) + ) + (block (result i32) + (drop + (i32.const 5999) + ) + (drop + (i32.const 51) + ) + (unreachable) + (i32.const 10) + ) + ) + ) + ) + ) + ) + (unreachable) + (unreachable) + ) + (func $no-grandparent (type $0) + (if + (i32.const 9999) + (block + (drop + (i32.const -51234) + ) + (drop + (i32.const -51000) + ) + (unreachable) + (unreachable) + ) + (block + (drop + (i32.const 5999) + ) + (drop + (i32.const 51) + ) + (unreachable) + (unreachable) + ) + ) + ) + (func $yes-grandparent (type $0) + (block + (if + (i32.const 9999) + (block + (drop + (i32.const -51234) + ) + (drop + (i32.const -51000) + ) + ) + (block + (drop + (i32.const 5999) + ) + (drop + (i32.const 51) + ) + ) + ) + (unreachable) + (unreachable) + ) + ) + (func $ifs-named-block (type $1) (param $x i32) (param $y i32) (result i32) + (block $out + (block $out2 + (block + (drop + (get_local $x) + ) + (block + (br_if $out + (get_local $y) + ) + (nop) + ) + ) + (block + (if + (get_local $x) + (br_if $out + (get_local $y) + ) + (br_if $out2 + (get_local $y) + ) + ) + (nop) + ) + (if + (i32.const 1234) + (if + (get_local $x) + (block + (nop) + (br_if $out + (get_local $y) + ) + (nop) + ) + (block + (nop) + (br_if $out2 + (get_local $y) + ) + (nop) + ) + ) + ) + (if + (get_local $x) + (block $left + (br_if $left + (get_local $y) + ) + (nop) + ) + (block + (br_if $out + (get_local $y) + ) + (nop) + ) + ) + (if + (get_local $x) + (block + (br_if $out + (get_local $y) + ) + (nop) + ) + (block $right + (br_if $right + (get_local $y) + ) + (nop) + ) + ) + ) + (return + (i32.const 10) + ) + ) + (return + (i32.const 20) + ) + ) + (func $block (type $0) + (block $x + (if + (i32.const 0) + (br $x) + ) + (if + (i32.const 0) + (br $x) + ) + (br $x) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + ) + (func $block2 (type $0) + (block $x + (if + (i32.const 0) + (block + (drop + (i32.const 1) + ) + (drop + (i32.const 333333) + ) + (br $x) + ) + ) + (if + (i32.const 0) + (block + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + (br $x) + ) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + (br $x) + ) + ) + (func $block3 (type $0) + (block $x + (if + (i32.const 0) + (block + (drop + (i32.const 1000) + ) + (br $x) + ) + ) + (if + (i32.const 0) + (block + (drop + (i32.const 2000) + ) + (drop + (i32.const 3000) + ) + (br $x) + ) + ) + (drop + (i32.const 4000) + ) + (drop + (i32.const 5000) + ) + (drop + (i32.const 6000) + ) + (br $x) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + ) + (func $mixture (type $0) + (block $out + (block + (drop + (i32.const 1) + ) + (block + (drop + (i32.const 2) + ) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (br $out) + ) + ) + ) + (block $out2 + (block + (if + (i32.const 1) + (drop + (i32.const 3) + ) + (block + (drop + (i32.const 4) + ) + (drop + (i32.const 5) + ) + ) + ) + (drop + (i32.const 2) + ) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (br $out2) + ) + ) + (block + (block $out3 + (block + (drop + (i32.const 1) + ) + (block + (br $out3) + ) + ) + (block + (drop + (i32.const 1) + ) + (block + (br $out3) + ) + ) + (br $out3) + ) + (drop + (i32.const 2) + ) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + ) + ) + (func $block-corners (type $0) + (block + (block $x + (if + (i32.const 0) + (br $x) + ) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + ) + (drop + (block $y (result i32) + (if + (i32.const 0) + (block + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + (br $y + (i32.const 3) + ) + ) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + (br $y + (i32.const 3) + ) + ) + ) + (drop + (block $z (result i32) + (if + (i32.const 0) + (block + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + (br $z + (i32.const 2) + ) + ) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + (i32.const 3) + ) + ) + (block $w + (if + (i32.const 0) + (block + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + (br_if $w + (i32.const 3) + ) + ) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + ) + (block $x1 + (if + (i32.const 0) + (block + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + (br $x1) + (nop) + ) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + ) + (block $side + (block $x2 + (br_table $x2 $side + (i32.const 0) + ) + (if + (i32.const 0) + (block + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + (br $x2) + ) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + ) + (block $x3 + (br_table $side $x3 + (i32.const 0) + ) + (if + (i32.const 0) + (block + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + (br $x3) + ) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + ) + ) + ) + (func $terminating (type $0) + (block $folding-inner0 + (block + (if + (i32.const 1) + (br $folding-inner0) + ) + (if + (i32.const 2) + (br $folding-inner0) + ) + (if + (i32.const 3) + (br $folding-inner0) + ) + ) + (return) + ) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (unreachable) + ) + (func $terminating-unreachable (type $0) + (block $folding-inner0 + (block + (if + (i32.const 1) + (br $folding-inner0) + ) + (if + (i32.const 2) + (br $folding-inner0) + ) + (if + (i32.const 3) + (br $folding-inner0) + ) + (unreachable) + ) + ) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (unreachable) + ) + (func $terminating-value (type $2) (result i32) + (block $folding-inner0 + (return + (block (result i32) + (if + (i32.const 1) + (br $folding-inner0) + ) + (if + (i32.const 2) + (br $folding-inner0) + ) + (if + (i32.const 3) + (br $folding-inner0) + ) + (i32.const 4) + ) + ) + ) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (unreachable) + ) + (func $terminating-just-2 (type $0) + (block $folding-inner0 + (block + (if + (i32.const 1) + (br $folding-inner0) + ) + (if + (i32.const 2) + (br $folding-inner0) + ) + (if + (i32.const 3) + (block + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (drop + (i32.const 10) + ) + (unreachable) + ) + ) + ) + (return) + ) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (unreachable) + ) + (func $terminating-shortness (type $0) + (block $folding-inner1 + (block + (block $folding-inner0 + (block + (if + (i32.const 1) + (br $folding-inner0) + ) + (if + (i32.const 2) + (br $folding-inner1) + ) + (if + (i32.const 3) + (block + (drop + (i32.const 10) + ) + (br $folding-inner0) + ) + ) + ) + (return) + ) + (nop) + (br $folding-inner1) + ) + ) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (unreachable) + ) + (func $terminating-multiple-separate (type $0) + (block $folding-inner1 + (block + (block $folding-inner0 + (block + (if + (i32.const 1) + (br $folding-inner0) + ) + (if + (i32.const 1) + (br $folding-inner0) + ) + (if + (i32.const 1) + (br $folding-inner1) + ) + (if + (i32.const 1) + (br $folding-inner1) + ) + ) + (return) + ) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (drop + (i32.const 1) + ) + (unreachable) + ) + ) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (drop + (i32.const 2) + ) + (unreachable) + ) + (func $terminating-just-worth-it (type $0) + (block $folding-inner0 + (block + (if + (i32.const 1) + (br $folding-inner0) + ) + (if + (i32.const 2) + (br $folding-inner0) + ) + (if + (i32.const 3) + (br $folding-inner0) + ) + ) + (return) + ) + (nop) + (nop) + (nop) + (unreachable) + ) + (func $terminating-not-worth-it (type $0) + (if + (i32.const 1) + (block + (nop) + (nop) + (unreachable) + ) + ) + (if + (i32.const 2) + (block + (nop) + (nop) + (unreachable) + ) + ) + (if + (i32.const 3) + (block + (nop) + (nop) + (unreachable) + ) + ) + ) + (func $terminating-return (type $0) + (block $folding-inner0 + (block + (if + (i32.const 1) + (br $folding-inner0) + ) + (if + (i32.const 2) + (br $folding-inner0) + ) + (if + (i32.const 3) + (br $folding-inner0) + ) + ) + (return) + ) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (nop) + (return) + ) + (func $terminating-return-value (type $2) (result i32) + (block $folding-inner0 + (block + (if + (i32.const 1) + (br $folding-inner0) + ) + (if + (i32.const 2) + (br $folding-inner0) + ) + (if + (i32.const 3) + (br $folding-inner0) + ) + (if + (i32.const 3) + (block + (nop) + (return + (i32.add + (i32.const 111111111) + (i32.const 2222222) + ) + ) + ) + ) + (return + (i32.const 1234) + ) + ) + ) + (nop) + (return + (i32.add + (i32.const 1) + (i32.const 2) + ) + ) + ) + (func $terminating-fallthrough-value (type $2) (result i32) + (block $folding-inner0 + (return + (block (result i32) + (if + (i32.const 1) + (br $folding-inner0) + ) + (if + (i32.const 2) + (br $folding-inner0) + ) + (if + (i32.const 3) + (br $folding-inner0) + ) + (if + (i32.const 3) + (block + (nop) + (return + (i32.add + (i32.const 111111111) + (i32.const 2222222) + ) + ) + ) + ) + (i32.const 1234) + ) + ) + ) + (nop) + (return + (i32.add + (i32.const 1) + (i32.const 2) + ) + ) + ) + (func $big-return (type $2) (result i32) + (block $folding-inner0 + (block + (if + (i32.const 1) + (br $folding-inner0) + ) + (if + (i32.const 2) + (br $folding-inner0) + ) + (if + (i32.const 3) + (br $folding-inner0) + ) + (if + (i32.const 4) + (br $folding-inner0) + ) + (if + (i32.const 5) + (br $folding-inner0) + ) + (if + (i32.const 6) + (br $folding-inner0) + ) + (unreachable) + ) + ) + (return + (i32.add + (i32.const 1) + (i32.const 2) + ) + ) + ) + (func $return-mix (type $2) (result i32) + (block $folding-inner0 + (block + (if + (i32.const 1) + (br $folding-inner0) + ) + (if + (i32.const 2) + (br $folding-inner0) + ) + (if + (i32.const 3) + (br $folding-inner0) + ) + (if + (i32.const 4) + (br $folding-inner0) + ) + (if + (i32.const 3) + (return + (i32.add + (i32.const 1) + (i32.const 234567) + ) + ) + ) + (br $folding-inner0) + ) + ) + (return + (i32.add + (i32.const 1) + (i32.const 2) + ) + ) + ) + (func $just-unreachable (type $0) + (unreachable) + ) + (func $just-return (type $2) (result i32) + (return + (i32.add + (i32.const 1) + (i32.const 2) + ) + ) + ) + (func $drop-if-with-value-but-unreachable (type $0) + (if + (i32.const 0) + (nop) + ) + (block + (drop + (i32.const 0) + ) + (block + (nop) + ) + ) + (if + (i32.const 0) + (nop) + (unreachable) + ) + (nop) + (drop + (block (result i32) + (drop + (unreachable) + ) + (block (result i32) + (i32.add + (i32.const 1) + (i32.const 2) + ) + ) + ) + ) + (drop + (if (result i32) + (i32.const 0) + (i32.add + (i32.const 1) + (i32.const 2) + ) + (i32.add + (i32.const 1) + (i32.const 333333333) + ) + ) + ) + ) + (func $nested-control-flow (type $0) + (block $out + (block + (block $x + (if + (i32.const 0) + (br $x) + ) + (if + (i32.const 0) + (br $x) + ) + (br $x) + ) + (if + (i32.const 1) + (br $out) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + ) + (drop + (i32.const 3) + ) + ) + ) + (func $nested-control-flow-dangerous (type $0) + (block $folding-inner0 + (block $out + (block + (if + (i32.const 0) + (block + (if + (i32.const 1) + (br $out) + ) + (br $folding-inner0) + ) + ) + (if + (i32.const 0) + (block + (if + (i32.const 1) + (br $out) + ) + (br $folding-inner0) + ) + ) + (if + (i32.const 1) + (br $out) + ) + (br $folding-inner0) + ) + (drop + (i32.const 3) + ) + ) + (return) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + (return) + ) + (func $nested-control-flow-dangerous-but-ok (type $0) + (block $folding-inner0 + (block + (block $middle + (block + (if + (i32.const 0) + (block + (if + (i32.add + (i32.const 0) + (i32.const 1) + ) + (br $middle) + ) + (br $folding-inner0) + ) + ) + (if + (i32.const 0) + (block + (if + (i32.add + (i32.const 0) + (i32.const 1) + ) + (br $middle) + ) + (br $folding-inner0) + ) + ) + (if + (i32.add + (i32.const 0) + (i32.const 1) + ) + (br $middle) + ) + (br $folding-inner0) + ) + ) + (drop + (i32.const 3) + ) + ) + (return) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + (return) + ) + (func $nested-control-flow-dangerous-but-ok-b (type $0) + (block $out + (block $middle + (block + (if + (i32.const 0) + (block + (if + (i32.add + (i32.const 0) + (i32.const 1) + ) + (br $middle) + ) + (br $out) + ) + ) + (if + (i32.const 0) + (block + (if + (i32.add + (i32.const 0) + (i32.const 1) + ) + (br $middle) + ) + (br $out) + ) + ) + (if + (i32.add + (i32.const 0) + (i32.const 1) + ) + (br $middle) + ) + ) + ) + (unreachable) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + (drop + (i32.const 3) + ) + (drop + (i32.const 4) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + (drop + (i32.const 3) + ) + (drop + (i32.const 4) + ) + ) + (func $nested-control-flow-dangerous-but-ok-c (type $0) + (block $x + (block + (block $out + (block + (if + (i32.const 0) + (br $out) + ) + (if + (i32.const 0) + (br $out) + ) + (br $out) + ) + (unreachable) + ) + (if + (i32.add + (i32.const 0) + (i32.const 1) + ) + (br $x) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + ) + (unreachable) + ) + (drop + (i32.const 5) + ) + ) + (func $nested-control-flow-dangerous-but-ok-d (type $0) + (block + (block $out + (block + (if + (i32.const 0) + (br $out) + ) + (if + (i32.const 0) + (br $out) + ) + (br $out) + ) + ) + (block $x + (if + (i32.add + (i32.const 0) + (i32.const 1) + ) + (br $x) + ) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 2) + ) + ) + (drop + (i32.const 3) + ) + ) +) diff --git a/test/passes/remove-unused-names_code-folding.wast b/test/passes/remove-unused-names_code-folding.wast new file mode 100644 index 000000000..35d95ba90 --- /dev/null +++ b/test/passes/remove-unused-names_code-folding.wast @@ -0,0 +1,1176 @@ +(module + (func $ifs + (if (i32.const 0) (nop)) + (if (i32.const 0) (nop) (nop)) + (if (i32.const 0) (nop) (unreachable)) + (drop + (if (result i32) (i32.const 0) + (i32.add (i32.const 1) (i32.const 2)) + (i32.add (i32.const 1) (i32.const 2)) + ) + ) + (drop + (if (result i32) (i32.const 0) + (i32.add (i32.const 1) (i32.const 2)) + (i32.add (i32.const 1) (i32.const 333333333)) + ) + ) + ) + (func $ifs-blocks + (if (i32.const 0) + (block + (nop) + ) + (block + (nop) + ) + ) + (if (i32.const 0) + (block + (unreachable) + (nop) + ) + (block + (nop) + ) + ) + (if (i32.const 0) + (block + (nop) + ) + (block + (unreachable) + (nop) + ) + ) + (if (i32.const 0) + (block + (nop) + (unreachable) + ) + (block + (nop) + ) + ) + (if (i32.const 0) + (block + (nop) + ) + (block + (nop) + (unreachable) + ) + ) + ) + (func $ifs-blocks-big + (if (i32.const 0) + (block + (drop (i32.add (i32.const 1) (i32.const 2))) + ) + (block + (drop (i32.add (i32.const 1) (i32.const 2))) + ) + ) + (if (i32.const 0) + (block + (unreachable) + (drop (i32.add (i32.const 1) (i32.const 2))) + ) + (block + (drop (i32.add (i32.const 1) (i32.const 2))) + ) + ) + (if (i32.const 0) + (block + (drop (i32.add (i32.const 1) (i32.const 2))) + ) + (block + (unreachable) + (drop (i32.add (i32.const 1) (i32.const 2))) + ) + ) + (if (i32.const 0) + (block + (drop (i32.add (i32.const 1) (i32.const 2))) + (unreachable) + ) + (block + (drop (i32.add (i32.const 1) (i32.const 2))) + ) + ) + (if (i32.const 0) + (block + (drop (i32.add (i32.const 1) (i32.const 2))) + ) + (block + (drop (i32.add (i32.const 1) (i32.const 2))) + (unreachable) + ) + ) + ) + (func $ifs-blocks-long + (if (i32.const 1) + (block + (drop (i32.const -1234)) + (drop (i32.const -1000)) + (drop (i32.const 1)) + (nop) + (unreachable) + ) + (block + (drop (i32.const 999)) + (drop (i32.const 1)) + (nop) + (unreachable) + ) + ) + (drop + (if (result i32) (i32.const 2) + (block (result i32) + (drop (i32.const -1234)) + (drop (i32.const -1000)) + (drop (i32.const 1)) + (nop) + (unreachable) + (i32.const 2) + ) + (block (result i32) + (drop (i32.const 999)) + (drop (i32.const 1)) + (nop) + (unreachable) + (i32.const 2) + ) + ) + ) + (drop + (if (result i32) (i32.const 3) + (block (result i32) + (drop (i32.const -1234)) + (drop (i32.const -1000)) + (drop (i32.const 1)) + (nop) + (i32.const 2) + ) + (block (result i32) + (drop (i32.const 999)) + (drop (i32.const 1)) + (nop) + (i32.const 2) + ) + ) + ) + ) + (func $if-worth-it-i-dunno + ;; just 2, so not worth it + (if (i32.const 0) ;; (put them in ifs, so no block outside which would make us more confident in creating a block in hopes it would vanish) + (if (i32.const 0) + (block + (drop (i32.const -1234)) + (drop (i32.const -1000)) + (unreachable) + (unreachable) + ) + (block + (drop (i32.const 999)) + (drop (i32.const 1)) + (unreachable) + (unreachable) + ) + ) + ) + ;; 3, so why not + (if (i32.const 0) ;; (put them in ifs, so no block outside which would make us more confident in creating a block in hopes it would vanish) + (if (i32.const 0) + (block + (drop (i32.const -1234)) + (drop (i32.const -1000)) + (unreachable) + (unreachable) + (unreachable) + ) + (block + (drop (i32.const 999)) + (drop (i32.const 1)) + (unreachable) + (unreachable) + (unreachable) + ) + ) + ) + ;; just 2, but we'll empty out a block + (if (i32.const 0) ;; (put them in ifs, so no block outside which would make us more confident in creating a block in hopes it would vanish) + (if (i32.const 0) + (block + (unreachable) + (unreachable) + ) + (block + (drop (i32.const 999)) + (drop (i32.const 1)) + (unreachable) + (unreachable) + ) + ) + ) + ;; just 2, but we'll empty out a block + (if (i32.const 0) ;; (put them in ifs, so no block outside which would make us more confident in creating a block in hopes it would vanish) + (if (i32.const 0) + (block + (drop (i32.const -1234)) + (drop (i32.const -1000)) + (unreachable) + (unreachable) + ) + (block + (unreachable) + (unreachable) + ) + ) + ) + ;; just two, but on a block, so we hope to merge, and can optimize here + (block $a-holding-block + (if (i32.const 9999) + (block + (drop (i32.const -51234)) + (drop (i32.const -51000)) + (unreachable) + (unreachable) + ) + (block + (drop (i32.const 5999)) + (drop (i32.const 51)) + (unreachable) + (unreachable) + ) + ) + ) + ;; with value + (drop + (block $b-holding-block (result i32) + (if (result i32) (i32.const 9999) + (block (result i32) + (drop (i32.const -51234)) + (drop (i32.const -51000)) + (unreachable) + (i32.const 10) + ) + (block (result i32) + (drop (i32.const 5999)) + (drop (i32.const 51)) + (unreachable) + (i32.const 10) + ) + ) + ) + ) + ;; oops, something in between + (block $c-holding-block + (drop + (if (result i32) (i32.const 9999) + (block (result i32) + (drop (i32.const -51234)) + (drop (i32.const -51000)) + (unreachable) + (i32.const 10) + ) + (block (result i32) + (drop (i32.const 5999)) + (drop (i32.const 51)) + (unreachable) + (i32.const 10) + ) + ) + ) + ) + ) + (func $no-grandparent + ;; if we had a parent block, we might optimize this + (if (i32.const 9999) + (block + (drop (i32.const -51234)) + (drop (i32.const -51000)) + (unreachable) + (unreachable) + ) + (block + (drop (i32.const 5999)) + (drop (i32.const 51)) + (unreachable) + (unreachable) + ) + ) + ) + (func $yes-grandparent + (block + (if (i32.const 9999) + (block + (drop (i32.const -51234)) + (drop (i32.const -51000)) + (unreachable) + (unreachable) + ) + (block + (drop (i32.const 5999)) + (drop (i32.const 51)) + (unreachable) + (unreachable) + ) + ) + ) + ) + (func $ifs-named-block (param $x i32) (param $y i32) (result i32) + (block $out + (block $out2 + (if (get_local $x) + (block + (br_if $out (get_local $y i32)) + (nop) + ) + (block + (br_if $out (get_local $y i32)) + (nop) + ) + ) + (if (get_local $x) + (block + (br_if $out (get_local $y i32)) + (nop) + ) + (block + (br_if $out2 (get_local $y i32)) + (nop) + ) + ) + (if (i32.const 1234) + (if (get_local $x) + (block + (nop) + (br_if $out (get_local $y i32)) + (nop) + ) + (block + (nop) + (br_if $out2 (get_local $y i32)) + (nop) + ) + ) + ) + (if (get_local $x) + (block $left + (br_if $left (get_local $y i32)) + (nop) + ) + (block + (br_if $out (get_local $y i32)) + (nop) + ) + ) + (if (get_local $x) + (block + (br_if $out (get_local $y i32)) + (nop) + ) + (block $right + (br_if $right (get_local $y i32)) + (nop) + ) + ) + ) + (return (i32.const 10)) + ) + (return (i32.const 20)) + ) + (func $block + (block $x + (if (i32.const 0) + (block + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $x) + ) + ) + (if (i32.const 0) + (block + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $x) + ) + ) + ;; no fallthrough, another thing to merge + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $x) + ) + ) + (func $block2 + (block $x + (if (i32.const 0) + (block + (drop (i32.const 1)) + (drop (i32.const 333333)) + (br $x) + ) + ) + (if (i32.const 0) + (block + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $x) + ) + ) + ;; no fallthrough, another thing to merge + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $x) + ) + ) + (func $block3 + (block $x + (if (i32.const 0) + (block + (drop (i32.const 1000)) + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $x) + ) + ) + (if (i32.const 0) + (block + (drop (i32.const 2000)) + (drop (i32.const 3000)) + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $x) + ) + ) + (drop (i32.const 4000)) + (drop (i32.const 5000)) + (drop (i32.const 6000)) + ;; no fallthrough, another thing to merge + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $x) + ) + ) + (func $mixture + (block $out ;; then we reach the block, and the tail infos are stale, should ignore + (if (i32.const 1) ;; then we optimize the if, pushing those brs outside! + (block + (drop (i32.const 2)) ;; first we note the block tails for $out + (nop) (nop) (nop) (nop) (nop) (nop) ;; totally worth it + (br $out) + ) + (block + (drop (i32.const 2)) + (nop) (nop) (nop) (nop) (nop) (nop) + (br $out) + ) + ) + ) + (block $out2 + (if (i32.const 1) + (block + (drop (i32.const 3)) ;; leave something + (drop (i32.const 2)) + (nop) (nop) (nop) (nop) (nop) (nop) + (br $out2) + ) + (block + (drop (i32.const 4)) ;; leave something + (drop (i32.const 5)) ;; leave something + (drop (i32.const 2)) + (nop) (nop) (nop) (nop) (nop) (nop) + (br $out2) + ) + ) + ) + ;; now a case where do **do** want to fold for the block (which we can only do in a later pass) + (block $out3 + (if (i32.const 1) + (block + (drop (i32.const 2)) + (nop) (nop) (nop) (nop) (nop) (nop) + (br $out3) + ) + (block + (drop (i32.const 2)) + (nop) (nop) (nop) (nop) (nop) (nop) + (br $out3) + ) + ) + (if (i32.const 1) + (block + (drop (i32.const 2)) + (nop) (nop) (nop) (nop) (nop) (nop) + (br $out3) + ) + (block + (drop (i32.const 2)) + (nop) (nop) (nop) (nop) (nop) (nop) + (br $out3) + ) + ) + (drop (i32.const 2)) + (nop) (nop) (nop) (nop) (nop) (nop) + (br $out3) + ) + ) + (func $block-corners + ;; these should be merged + (block $x + (if (i32.const 0) + (block + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $x) + ) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + ) + ;; these should not + ;; values + (drop + (block $y (result i32) + (if (i32.const 0) + (block + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $y (i32.const 3)) + ) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $y (i32.const 3)) + ) + ) + (drop + (block $z (result i32) + (if (i32.const 0) + (block + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $z (i32.const 2)) + ) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (i32.const 3) + ) + ) + ;; condition + (block $w + (if (i32.const 0) + (block + (drop (i32.const 1)) + (drop (i32.const 2)) + (br_if $w (i32.const 3)) + ) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + ) + ;; not at the end + (block $x1 + (if (i32.const 0) + (block + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $x1) + (nop) + ) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + ) + ;; switches + (block $side + (block $x2 + (br_table $x2 $side (i32.const 0)) + (if (i32.const 0) + (block + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $x2) + ) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + ) + (block $x3 + (br_table $side $x3 (i32.const 0)) + (if (i32.const 0) + (block + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $x3) + ) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + ) + ) + ) + (func $terminating + (if (i32.const 1) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (unreachable) + ) + ) + (if (i32.const 2) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (unreachable) + ) + ) + (if (i32.const 3) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (unreachable) + ) + ) + ) + (func $terminating-unreachable + (if (i32.const 1) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (unreachable) + ) + ) + (if (i32.const 2) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (unreachable) + ) + ) + (if (i32.const 3) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (unreachable) + ) + ) + (unreachable) + ) + (func $terminating-value (result i32) + (if (i32.const 1) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (unreachable) + ) + ) + (if (i32.const 2) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (unreachable) + ) + ) + (if (i32.const 3) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (unreachable) + ) + ) + (i32.const 4) + ) + (func $terminating-just-2 + (if (i32.const 1) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (unreachable) + ) + ) + (if (i32.const 2) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (unreachable) + ) + ) + (if (i32.const 3) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (drop (i32.const 10)) + (unreachable) + ) + ) + ) + (func $terminating-shortness + (if (i32.const 1) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (unreachable) + ) + ) + (if (i32.const 2) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) ;; shorter. we do the two long ones greedily, then the merged one and this can also be opted + (unreachable) + ) + ) + (if (i32.const 3) + (block + (drop (i32.const 10)) + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (unreachable) + ) + ) + ) + (func $terminating-multiple-separate + (if (i32.const 1) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (drop (i32.const 1)) + (unreachable) + ) + ) + (if (i32.const 1) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (drop (i32.const 1)) + (unreachable) + ) + ) + (if (i32.const 1) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (drop (i32.const 2)) + (unreachable) + ) + ) + (if (i32.const 1) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (drop (i32.const 2)) + (unreachable) + ) + ) + ) + (func $terminating-just-worth-it + (if (i32.const 1) + (block + (nop) (nop) (nop) + (unreachable) + ) + ) + (if (i32.const 2) + (block + (nop) (nop) (nop) + (unreachable) + ) + ) + (if (i32.const 3) + (block + (nop) (nop) (nop) + (unreachable) + ) + ) + ) + (func $terminating-not-worth-it + (if (i32.const 1) + (block + (nop) (nop) + (unreachable) + ) + ) + (if (i32.const 2) + (block + (nop) (nop) + (unreachable) + ) + ) + (if (i32.const 3) + (block + (nop) (nop) + (unreachable) + ) + ) + ) + (func $terminating-return + (if (i32.const 1) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (return) + ) + ) + (if (i32.const 2) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (return) + ) + ) + (if (i32.const 3) + (block + (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) + (return) + ) + ) + ) + (func $terminating-return-value (result i32) + (if (i32.const 1) + (block + (nop) + (return (i32.add (i32.const 1) (i32.const 2))) + ) + ) + (if (i32.const 2) + (block + (nop) + (return (i32.add (i32.const 1) (i32.const 2))) + ) + ) + (if (i32.const 3) + (block + (nop) + (return (i32.add (i32.const 1) (i32.const 2))) + ) + ) + (if (i32.const 3) + (block + (nop) + (return (i32.add (i32.const 111111111) (i32.const 2222222))) + ) + ) + (return (i32.const 1234)) + ) + (func $terminating-fallthrough-value (result i32) + (if (i32.const 1) + (block + (nop) + (return (i32.add (i32.const 1) (i32.const 2))) + ) + ) + (if (i32.const 2) + (block + (nop) + (return (i32.add (i32.const 1) (i32.const 2))) + ) + ) + (if (i32.const 3) + (block + (nop) + (return (i32.add (i32.const 1) (i32.const 2))) + ) + ) + (if (i32.const 3) + (block + (nop) + (return (i32.add (i32.const 111111111) (i32.const 2222222))) + ) + ) + (i32.const 1234) + ) + (func $big-return (result i32) + (if (i32.const 1) (return (i32.add (i32.const 1) (i32.const 2)))) + (if (i32.const 2) (return (i32.add (i32.const 1) (i32.const 2)))) + (if (i32.const 3) (return (i32.add (i32.const 1) (i32.const 2)))) + (if (i32.const 4) (return (i32.add (i32.const 1) (i32.const 2)))) + (if (i32.const 5) (return (i32.add (i32.const 1) (i32.const 2)))) + (if (i32.const 6) (return (i32.add (i32.const 1) (i32.const 2)))) + (unreachable) + ) + (func $return-mix (result i32) + (if (i32.const 1) (return (i32.add (i32.const 1) (i32.const 2)))) + (if (i32.const 2) (return (i32.add (i32.const 1) (i32.const 2)))) + (if (i32.const 3) (return (i32.add (i32.const 1) (i32.const 2)))) + (if (i32.const 4) (return (i32.add (i32.const 1) (i32.const 2)))) + (if (i32.const 3) (return (i32.add (i32.const 1) (i32.const 234567)))) + (return (i32.add (i32.const 1) (i32.const 2))) ;; on a block, and the toplevel in fact + ) + (func $just-unreachable + (unreachable) + ) + (func $just-return (result i32) + (return (i32.add (i32.const 1) (i32.const 2))) ;; on a block, and the toplevel in fact + ) + (func $drop-if-with-value-but-unreachable + (block $label$0 + (if + (i32.const 0) + (block $label$1 + (nop) + ) + ) + (if + (i32.const 0) + (block $label$2 + (nop) + ) + (block $label$3 + (nop) + ) + ) + (if + (i32.const 0) + (block $label$4 + (nop) + ) + (block $label$5 + (unreachable) + ) + ) + (nop) + (drop + (if (result i32) ;; we replace this if, must replace with same type! + (unreachable) + (block $label$6 (result i32) + (i32.add + (i32.const 1) + (i32.const 2) + ) + ) + (block $label$7 (result i32) + (i32.add + (i32.const 1) + (i32.const 2) + ) + ) + ) + ) + (drop + (if (result i32) + (i32.const 0) + (block $label$8 (result i32) + (i32.add + (i32.const 1) + (i32.const 2) + ) + ) + (block $label$9 (result i32) + (i32.add + (i32.const 1) + (i32.const 333333333) + ) + ) + ) + ) + ) + ) + (func $nested-control-flow + (block $out + (block $x + (if (i32.const 0) + (block + (if (i32.const 1) + (br $out) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $x) + ) + ) + (if (i32.const 0) + (block + (if (i32.const 1) + (br $out) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $x) + ) + ) + ;; no fallthrough, another thing to merge + (if (i32.const 1) + (br $out) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $x) + ) + (drop (i32.const 3)) + ) + ) + (func $nested-control-flow-dangerous + (block $out + (block $x + (if (i32.const 0) + (block + (if (i32.const 1) + (br $out) ;; this br cannot be moved out of the $out block! + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (return) + ) + ) + (if (i32.const 0) + (block + (if (i32.const 1) + (br $out) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (return) + ) + ) + ;; no fallthrough, another thing to merge + (if (i32.const 1) + (br $out) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (return) + ) + (drop (i32.const 3)) + ) + ) + (func $nested-control-flow-dangerous-but-ok + (block $out + (block $middle + (block $x + (if (i32.const 0) + (block + (if (i32.add (i32.const 0) (i32.const 1)) + (br $middle) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (return) + ) + ) + (if (i32.const 0) + (block + (if (i32.add (i32.const 0) (i32.const 1)) + (br $middle) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (return) + ) + ) + ;; no fallthrough, another thing to merge + (if (i32.add (i32.const 0) (i32.const 1)) + (br $middle) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (return) + ) + ) + (drop (i32.const 3)) + ) + ) + (func $nested-control-flow-dangerous-but-ok-b + (block $out + (block $middle + (block $x + (if (i32.const 0) + (block + (if (i32.add (i32.const 0) (i32.const 1)) + (br $middle) ;; this is dangerous - we branch to middle with is inside out, so we can't move this out of out + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (drop (i32.const 3)) + (drop (i32.const 4)) + (drop (i32.const 1)) + (drop (i32.const 2)) + (drop (i32.const 3)) + (drop (i32.const 4)) + (br $out) + ) + ) + (if (i32.const 0) + (block + (if (i32.add (i32.const 0) (i32.const 1)) + (br $middle) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (drop (i32.const 3)) + (drop (i32.const 4)) + (drop (i32.const 1)) + (drop (i32.const 2)) + (drop (i32.const 3)) + (drop (i32.const 4)) + (br $out) + ) + ) + ;; no fallthrough, another thing to merge + (if (i32.add (i32.const 0) (i32.const 1)) + (br $middle) + ) + ) + ) + (unreachable) ;; no fallthrough + ) + ) + (func $nested-control-flow-dangerous-but-ok-c + (block $x + (block $out + (block $middle + (if (i32.const 0) + (block + (if (i32.add (i32.const 0) (i32.const 1)) + (br $x) ;; this is ok - we branch to x which is outside of out + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $out) + ) + ) + (if (i32.const 0) + (block + (if (i32.add (i32.const 0) (i32.const 1)) + (br $x) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $out) + ) + ) + ;; no fallthrough, another thing to merge + (if (i32.add (i32.const 0) (i32.const 1)) + (br $x) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $out) + ) + (unreachable) ;; no fallthrough + ) + (unreachable) ;; no fallthrough + ) + (drop (i32.const 5)) + ) + (func $nested-control-flow-dangerous-but-ok-d + (block $out + (block $middle + (if (i32.const 0) + (block + (block $x + (if (i32.add (i32.const 0) (i32.const 1)) + (br $x) ;; this is ok - we branch to x which is nested in us + ) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $out) + ) + ) + (if (i32.const 0) + (block + (block $x + (if (i32.add (i32.const 0) (i32.const 1)) + (br $x) ;; this is ok - we branch to x which is nested in us + ) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $out) + ) + ) + ;; no fallthrough, another thing to merge + (block $x + (if (i32.add (i32.const 0) (i32.const 1)) + (br $x) ;; this is ok - we branch to x which is nested in us + ) + ) + (drop (i32.const 1)) + (drop (i32.const 2)) + (br $out) + ) + ) + (drop (i32.const 3)) + ) +) diff --git a/test/wasm-only.fromasm b/test/wasm-only.fromasm index f12226b1d..6ac8c0ef1 100644 --- a/test/wasm-only.fromasm +++ b/test/wasm-only.fromasm @@ -545,7 +545,7 @@ (get_local $0) ) (loop $while-in - (if + (br_if $__rjti$2 (i32.eq (i32.load8_u (get_local $2) @@ -555,12 +555,6 @@ (i32.const 255) ) ) - (block - (set_local $0 - (get_local $3) - ) - (br $__rjti$2) - ) ) (br_if $while-in (i32.and @@ -603,20 +597,17 @@ ) ) ) - (if + (br_if $__rjti$2 (get_local $0) - (block - (set_local $0 - (get_local $3) - ) - (br $__rjti$2) - ) - (set_local $0 - (i32.const 0) - ) + ) + (set_local $0 + (i32.const 0) ) (br $label$break$L8) ) + (set_local $0 + (get_local $3) + ) (if (i32.ne (i32.load8_u diff --git a/test/wasm-only.fromasm.clamp b/test/wasm-only.fromasm.clamp index f12226b1d..6ac8c0ef1 100644 --- a/test/wasm-only.fromasm.clamp +++ b/test/wasm-only.fromasm.clamp @@ -545,7 +545,7 @@ (get_local $0) ) (loop $while-in - (if + (br_if $__rjti$2 (i32.eq (i32.load8_u (get_local $2) @@ -555,12 +555,6 @@ (i32.const 255) ) ) - (block - (set_local $0 - (get_local $3) - ) - (br $__rjti$2) - ) ) (br_if $while-in (i32.and @@ -603,20 +597,17 @@ ) ) ) - (if + (br_if $__rjti$2 (get_local $0) - (block - (set_local $0 - (get_local $3) - ) - (br $__rjti$2) - ) - (set_local $0 - (i32.const 0) - ) + ) + (set_local $0 + (i32.const 0) ) (br $label$break$L8) ) + (set_local $0 + (get_local $3) + ) (if (i32.ne (i32.load8_u diff --git a/test/wasm-only.fromasm.imprecise b/test/wasm-only.fromasm.imprecise index e05da9799..6d013e11a 100644 --- a/test/wasm-only.fromasm.imprecise +++ b/test/wasm-only.fromasm.imprecise @@ -400,7 +400,7 @@ (get_local $0) ) (loop $while-in - (if + (br_if $__rjti$2 (i32.eq (i32.load8_u (get_local $2) @@ -410,12 +410,6 @@ (i32.const 255) ) ) - (block - (set_local $0 - (get_local $3) - ) - (br $__rjti$2) - ) ) (br_if $while-in (i32.and @@ -458,20 +452,17 @@ ) ) ) - (if + (br_if $__rjti$2 (get_local $0) - (block - (set_local $0 - (get_local $3) - ) - (br $__rjti$2) - ) - (set_local $0 - (i32.const 0) - ) + ) + (set_local $0 + (i32.const 0) ) (br $label$break$L8) ) + (set_local $0 + (get_local $3) + ) (if (i32.ne (i32.load8_u |