summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/emcc_hello_world.fromasm3738
-rw-r--r--test/emcc_hello_world.fromasm.clamp3738
-rw-r--r--test/emcc_hello_world.fromasm.imprecise3738
-rw-r--r--test/example/relooper-fuzz1.txt6
-rw-r--r--test/memorygrowth.fromasm3808
-rw-r--r--test/memorygrowth.fromasm.clamp3808
-rw-r--r--test/memorygrowth.fromasm.imprecise3808
-rw-r--r--test/passes/1.txt12
-rw-r--r--test/passes/O2_precompute-propagate_print-stack-ir.txt16
-rw-r--r--test/passes/merge-blocks.txt28
-rw-r--r--test/passes/merge-blocks.wast16
-rw-r--r--test/passes/remove-unused-names_merge-blocks.txt418
-rw-r--r--test/passes/remove-unused-names_merge-blocks.wast177
13 files changed, 11917 insertions, 11394 deletions
diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm
index e70998db0..4c533a8c0 100644
--- a/test/emcc_hello_world.fromasm
+++ b/test/emcc_hello_world.fromasm
@@ -7589,274 +7589,258 @@
(local $16 i32)
(local $17 i32)
(local $18 i32)
- (block $folding-inner0
- (set_local $0
- (if (result i32)
- (i32.lt_u
- (get_local $0)
- (i32.const 245)
- )
- (block (result i32)
- (if
- (i32.and
- (tee_local $10
- (i32.shr_u
- (tee_local $6
- (i32.load
- (i32.const 176)
- )
+ (set_local $0
+ (if (result i32)
+ (i32.lt_u
+ (get_local $0)
+ (i32.const 245)
+ )
+ (block (result i32)
+ (if
+ (i32.and
+ (tee_local $10
+ (i32.shr_u
+ (tee_local $6
+ (i32.load
+ (i32.const 176)
)
- (tee_local $13
- (i32.shr_u
- (tee_local $2
- (select
- (i32.const 16)
- (i32.and
- (i32.add
- (get_local $0)
- (i32.const 11)
- )
- (i32.const -8)
- )
- (i32.lt_u
+ )
+ (tee_local $13
+ (i32.shr_u
+ (tee_local $2
+ (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 3)
)
+ (i32.const 3)
)
)
)
- (i32.const 3)
)
- (block
- (set_local $11
- (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 $10)
- (i32.const 1)
- )
+ (i32.const 3)
+ )
+ (block
+ (set_local $11
+ (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 $10)
(i32.const 1)
)
- (get_local $13)
+ (i32.const 1)
)
+ (get_local $13)
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 3)
)
+ (i32.const 216)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (if
- (i32.eq
- (get_local $2)
- (get_local $11)
- )
- (i32.store
- (i32.const 176)
- (i32.and
- (get_local $6)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $4)
- )
- (i32.const -1)
+ )
+ (if
+ (i32.eq
+ (get_local $2)
+ (get_local $11)
+ )
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (get_local $6)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $4)
)
+ (i32.const -1)
)
)
- (block
- (if
- (i32.lt_u
- (get_local $11)
- (i32.load
- (i32.const 192)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $11)
+ (i32.load
+ (i32.const 192)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $11)
- (i32.const 12)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $11)
+ (i32.const 12)
)
)
- (get_local $7)
)
- (block
- (i32.store
- (get_local $0)
- (get_local $2)
- )
- (i32.store
- (get_local $3)
- (get_local $11)
- )
- )
- (call $_abort)
+ (get_local $7)
)
- )
- )
- (i32.store offset=4
- (get_local $7)
- (i32.or
- (tee_local $0
- (i32.shl
- (get_local $4)
- (i32.const 3)
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $2)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $11)
)
)
- (i32.const 3)
+ (call $_abort)
)
)
- (i32.store
+ )
+ (i32.store offset=4
+ (get_local $7)
+ (i32.or
(tee_local $0
- (i32.add
- (i32.add
- (get_local $7)
- (get_local $0)
- )
- (i32.const 4)
+ (i32.shl
+ (get_local $4)
+ (i32.const 3)
)
)
- (i32.or
- (i32.load
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (tee_local $0
+ (i32.add
+ (i32.add
+ (get_local $7)
(get_local $0)
)
- (i32.const 1)
+ (i32.const 4)
)
)
- (return
- (get_local $1)
+ (i32.or
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 1)
)
)
+ (return
+ (get_local $1)
+ )
)
- (if (result i32)
- (i32.gt_u
- (get_local $2)
- (tee_local $0
- (i32.load
- (i32.const 184)
- )
+ )
+ (if (result i32)
+ (i32.gt_u
+ (get_local $2)
+ (tee_local $0
+ (i32.load
+ (i32.const 184)
)
)
- (block (result i32)
- (if
- (get_local $10)
- (block
- (set_local $7
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.add
- (i32.and
- (tee_local $3
- (i32.and
- (i32.shl
- (get_local $10)
- (get_local $13)
- )
- (i32.or
- (tee_local $3
- (i32.shl
- (i32.const 2)
- (get_local $13)
- )
- )
- (i32.sub
- (i32.const 0)
- (get_local $3)
+ )
+ (block (result i32)
+ (if
+ (get_local $10)
+ (block
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.add
+ (i32.and
+ (tee_local $3
+ (i32.and
+ (i32.shl
+ (get_local $10)
+ (get_local $13)
+ )
+ (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.const -1)
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
+ )
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (set_local $10
- (i32.load
- (tee_local $4
- (i32.add
- (tee_local $8
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $7
- (i32.add
- (i32.shl
- (tee_local $11
- (i32.add
+ )
+ (set_local $10
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (tee_local $8
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (tee_local $7
+ (i32.add
+ (i32.shl
+ (tee_local $11
+ (i32.add
+ (i32.or
(i32.or
(i32.or
(i32.or
- (i32.or
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $4
- (i32.shr_u
- (get_local $3)
- (get_local $7)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $7)
- )
(tee_local $3
(i32.and
(i32.shr_u
(tee_local $4
(i32.shr_u
- (get_local $4)
(get_local $3)
+ (get_local $7)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $7)
)
(tee_local $3
(i32.and
@@ -7867,9 +7851,9 @@
(get_local $3)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
@@ -7884,310 +7868,310 @@
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $4)
- (get_local $3)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.shr_u
+ (get_local $4)
+ (get_local $3)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
)
)
+ (i32.shr_u
+ (get_local $4)
+ (get_local $3)
+ )
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 3)
)
+ (i32.const 216)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (if
- (i32.eq
- (get_local $7)
- (get_local $10)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.and
- (get_local $6)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $11)
- )
- (i32.const -1)
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (get_local $10)
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (get_local $6)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $11)
)
+ (i32.const -1)
)
)
- (set_local $9
- (get_local $0)
- )
)
- (block
- (if
- (i32.lt_u
- (get_local $10)
- (i32.load
- (i32.const 192)
- )
+ (set_local $9
+ (get_local $0)
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (i32.load
+ (i32.const 192)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $10)
- (i32.const 12)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $10)
+ (i32.const 12)
)
)
- (get_local $8)
)
- (block
- (i32.store
- (get_local $0)
- (get_local $7)
- )
- (i32.store
- (get_local $3)
- (get_local $10)
- )
- (set_local $9
- (i32.load
- (i32.const 184)
- )
+ (get_local $8)
+ )
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $7)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $10)
+ )
+ (set_local $9
+ (i32.load
+ (i32.const 184)
)
)
- (call $_abort)
)
+ (call $_abort)
)
)
- (i32.store offset=4
- (get_local $8)
- (i32.or
+ )
+ (i32.store offset=4
+ (get_local $8)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (tee_local $7
+ (i32.add
+ (get_local $8)
(get_local $2)
- (i32.const 3)
)
)
- (i32.store offset=4
- (tee_local $7
- (i32.add
- (get_local $8)
- (get_local $2)
- )
- )
- (i32.or
- (tee_local $11
- (i32.sub
- (i32.shl
- (get_local $11)
- (i32.const 3)
- )
- (get_local $2)
+ (i32.or
+ (tee_local $11
+ (i32.sub
+ (i32.shl
+ (get_local $11)
+ (i32.const 3)
)
+ (get_local $2)
)
- (i32.const 1)
)
+ (i32.const 1)
)
- (i32.store
- (i32.add
- (get_local $7)
- (get_local $11)
- )
+ )
+ (i32.store
+ (i32.add
+ (get_local $7)
(get_local $11)
)
- (if
- (get_local $9)
- (block
- (set_local $6
- (i32.load
- (i32.const 196)
- )
+ (get_local $11)
+ )
+ (if
+ (get_local $9)
+ (block
+ (set_local $6
+ (i32.load
+ (i32.const 196)
)
- (set_local $2
- (i32.add
- (i32.shl
- (tee_local $0
- (i32.shr_u
- (get_local $9)
- (i32.const 3)
- )
+ )
+ (set_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $0
+ (i32.shr_u
+ (get_local $9)
+ (i32.const 3)
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 3)
)
+ (i32.const 216)
)
- (if
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 176)
- )
+ )
+ (if
+ (i32.and
+ (tee_local $3
+ (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)
)
)
- (if
- (i32.lt_u
- (tee_local $0
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 192)
- )
)
- (call $_abort)
- (block
- (set_local $5
- (get_local $3)
- )
- (set_local $1
- (get_local $0)
- )
+ (i32.load
+ (i32.const 192)
)
)
+ (call $_abort)
(block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $3)
- (get_local $0)
- )
- )
(set_local $5
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
+ (get_local $3)
)
(set_local $1
- (get_local $2)
+ (get_local $0)
)
)
)
- (i32.store
- (get_local $5)
- (get_local $6)
- )
- (i32.store offset=12
- (get_local $1)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $1)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $2)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $3)
+ (get_local $0)
+ )
+ )
+ (set_local $5
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
+ )
+ (set_local $1
+ (get_local $2)
+ )
)
)
- )
- (i32.store
- (i32.const 184)
- (get_local $11)
- )
- (i32.store
- (i32.const 196)
- (get_local $7)
- )
- (return
- (get_local $4)
+ (i32.store
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $1)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $1)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $2)
+ )
)
)
+ (i32.store
+ (i32.const 184)
+ (get_local $11)
+ )
+ (i32.store
+ (i32.const 196)
+ (get_local $7)
+ )
+ (return
+ (get_local $4)
+ )
)
- (if (result i32)
- (tee_local $0
- (i32.load
- (i32.const 180)
- )
+ )
+ (if (result i32)
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
)
- (block
- (set_local $7
- (i32.and
- (i32.shr_u
- (tee_local $0
- (i32.add
- (i32.and
+ )
+ (block
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (tee_local $0
+ (i32.add
+ (i32.and
+ (get_local $0)
+ (i32.sub
+ (i32.const 0)
(get_local $0)
- (i32.sub
- (i32.const 0)
- (get_local $0)
- )
)
- (i32.const -1)
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (set_local $11
- (i32.sub
- (i32.and
- (i32.load offset=4
- (tee_local $0
- (i32.load offset=480
- (i32.shl
- (i32.add
+ )
+ (set_local $11
+ (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
- (i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.shr_u
- (get_local $0)
- (get_local $7)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $7)
- )
(tee_local $0
(i32.and
(i32.shr_u
(tee_local $1
(i32.shr_u
- (get_local $1)
(get_local $0)
+ (get_local $7)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $7)
)
(tee_local $0
(i32.and
@@ -8198,9 +8182,9 @@
(get_local $0)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
@@ -8215,845 +8199,859 @@
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $1)
- (get_local $0)
+ (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.const 2)
+ (i32.shr_u
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.const 2)
)
)
)
- (i32.const -8)
)
- (get_local $2)
+ (i32.const -8)
)
+ (get_local $2)
)
- (set_local $7
- (get_local $0)
- )
- (loop $while-in
- (block $while-out
+ )
+ (set_local $7
+ (get_local $0)
+ )
+ (loop $while-in
+ (block $while-out
+ (if
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $0)
+ )
+ )
+ (set_local $0
+ (get_local $1)
+ )
(if
- (tee_local $1
- (i32.load offset=16
- (get_local $0)
+ (i32.eqz
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $0)
+ )
)
)
- (set_local $0
- (get_local $1)
- )
- (if
- (i32.eqz
- (tee_local $0
- (i32.load offset=20
- (get_local $0)
- )
- )
+ (block
+ (set_local $6
+ (get_local $11)
)
- (block
- (set_local $6
- (get_local $11)
- )
- (set_local $8
- (get_local $7)
- )
- (br $while-out)
+ (set_local $8
+ (get_local $7)
)
+ (br $while-out)
)
)
- (set_local $6
- (i32.lt_u
- (tee_local $1
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $0)
- )
- (i32.const -8)
+ )
+ (set_local $6
+ (i32.lt_u
+ (tee_local $1
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
)
- (get_local $2)
+ (i32.const -8)
)
+ (get_local $2)
)
- (get_local $11)
)
+ (get_local $11)
)
- (set_local $11
- (select
- (get_local $1)
- (get_local $11)
- (get_local $6)
- )
+ )
+ (set_local $11
+ (select
+ (get_local $1)
+ (get_local $11)
+ (get_local $6)
)
- (set_local $7
- (select
- (get_local $0)
- (get_local $7)
- (get_local $6)
- )
+ )
+ (set_local $7
+ (select
+ (get_local $0)
+ (get_local $7)
+ (get_local $6)
)
- (br $while-in)
)
+ (br $while-in)
)
- (if
- (i32.lt_u
- (get_local $8)
- (tee_local $10
- (i32.load
- (i32.const 192)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $8)
+ (tee_local $10
+ (i32.load
+ (i32.const 192)
)
)
- (call $_abort)
)
- (if
- (i32.ge_u
- (get_local $8)
- (tee_local $5
- (i32.add
- (get_local $8)
- (get_local $2)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.ge_u
+ (get_local $8)
+ (tee_local $5
+ (i32.add
+ (get_local $8)
+ (get_local $2)
)
)
- (call $_abort)
)
- (set_local $9
- (i32.load offset=24
- (get_local $8)
+ (call $_abort)
+ )
+ (set_local $9
+ (i32.load offset=24
+ (get_local $8)
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $8)
+ )
)
+ (get_local $8)
)
- (if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
- (get_local $8)
+ (block $do-once4
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $8)
+ (i32.const 20)
+ )
+ )
+ )
)
)
- (get_local $8)
- )
- (block $do-once4
- (if
+ (br_if $do-once4
(i32.eqz
(tee_local $1
(i32.load
(tee_local $0
(i32.add
(get_local $8)
- (i32.const 20)
+ (i32.const 16)
)
)
)
)
)
- (br_if $do-once4
- (i32.eqz
- (tee_local $1
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $8)
- (i32.const 16)
- )
- )
+ )
+ )
+ (loop $while-in7
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $11
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
)
)
)
)
- )
- (loop $while-in7
- (if
- (tee_local $7
- (i32.load
- (tee_local $11
- (i32.add
- (get_local $1)
- (i32.const 20)
- )
- )
- )
+ (block
+ (set_local $1
+ (get_local $7)
)
- (block
- (set_local $1
- (get_local $7)
- )
- (set_local $0
- (get_local $11)
- )
- (br $while-in7)
+ (set_local $0
+ (get_local $11)
)
+ (br $while-in7)
)
- (if
- (tee_local $7
- (i32.load
- (tee_local $11
- (i32.add
- (get_local $1)
- (i32.const 16)
- )
+ )
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $11
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
)
)
)
- (block
- (set_local $1
- (get_local $7)
- )
- (set_local $0
- (get_local $11)
- )
- (br $while-in7)
+ )
+ (block
+ (set_local $1
+ (get_local $7)
+ )
+ (set_local $0
+ (get_local $11)
)
+ (br $while-in7)
)
)
- (if
- (i32.lt_u
+ )
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (get_local $10)
+ )
+ (call $_abort)
+ (block
+ (i32.store
(get_local $0)
- (get_local $10)
+ (i32.const 0)
)
- (call $_abort)
- (block
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (set_local $4
- (get_local $1)
- )
+ (set_local $4
+ (get_local $1)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $11
- (i32.load offset=8
- (get_local $8)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $11
+ (i32.load offset=8
+ (get_local $8)
)
- (get_local $10)
)
- (call $_abort)
+ (get_local $10)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $11)
- (i32.const 12)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $11)
+ (i32.const 12)
)
)
- (get_local $8)
)
- (call $_abort)
+ (get_local $8)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
)
)
- (get_local $8)
)
- (block
- (i32.store
- (get_local $7)
- (get_local $0)
- )
- (i32.store
- (get_local $1)
- (get_local $11)
- )
- (set_local $4
- (get_local $0)
- )
+ (get_local $8)
+ )
+ (block
+ (i32.store
+ (get_local $7)
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $11)
+ )
+ (set_local $4
+ (get_local $0)
)
- (call $_abort)
)
+ (call $_abort)
)
)
- (if
- (get_local $9)
- (block $do-once8
- (if
- (i32.eq
- (get_local $8)
- (i32.load
- (tee_local $0
- (i32.add
- (i32.shl
- (tee_local $1
- (i32.load offset=28
- (get_local $8)
- )
+ )
+ (if
+ (get_local $9)
+ (block $do-once8
+ (if
+ (i32.eq
+ (get_local $8)
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $1
+ (i32.load offset=28
+ (get_local $8)
)
- (i32.const 2)
)
- (i32.const 480)
+ (i32.const 2)
)
+ (i32.const 480)
)
)
)
- (block
- (i32.store
- (get_local $0)
+ )
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $4)
+ )
+ (if
+ (i32.eqz
(get_local $4)
)
- (if
- (i32.eqz
- (get_local $4)
- )
- (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)
+ (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)
)
)
- (br $do-once8)
)
+ (br $do-once8)
)
)
- (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)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $9)
- (i32.const 16)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $9)
+ (i32.const 16)
)
)
- (get_local $8)
- )
- (i32.store
- (get_local $0)
- (get_local $4)
- )
- (i32.store offset=20
- (get_local $9)
- (get_local $4)
)
+ (get_local $8)
)
- (br_if $do-once8
- (i32.eqz
- (get_local $4)
- )
+ (i32.store
+ (get_local $0)
+ (get_local $4)
+ )
+ (i32.store offset=20
+ (get_local $9)
+ (get_local $4)
)
)
- )
- (if
- (i32.lt_u
- (get_local $4)
- (tee_local $0
- (i32.load
- (i32.const 192)
- )
+ (br_if $do-once8
+ (i32.eqz
+ (get_local $4)
)
)
- (call $_abort)
)
- (i32.store offset=24
+ )
+ (if
+ (i32.lt_u
(get_local $4)
- (get_local $9)
+ (tee_local $0
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (get_local $4)
+ (get_local $9)
+ )
+ (if
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $8)
+ )
)
(if
- (tee_local $1
- (i32.load offset=16
- (get_local $8)
- )
+ (i32.lt_u
+ (get_local $1)
+ (get_local $0)
)
- (if
- (i32.lt_u
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (get_local $4)
(get_local $1)
- (get_local $0)
)
- (call $_abort)
- (block
- (i32.store offset=16
- (get_local $4)
- (get_local $1)
- )
- (i32.store offset=24
- (get_local $1)
- (get_local $4)
- )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $4)
)
)
)
+ )
+ (if
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $8)
+ )
+ )
(if
- (tee_local $0
- (i32.load offset=20
- (get_local $8)
+ (i32.lt_u
+ (get_local $0)
+ (i32.load
+ (i32.const 192)
)
)
- (if
- (i32.lt_u
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (get_local $4)
(get_local $0)
- (i32.load
- (i32.const 192)
- )
)
- (call $_abort)
- (block
- (i32.store offset=20
- (get_local $4)
- (get_local $0)
- )
- (i32.store offset=24
- (get_local $0)
- (get_local $4)
- )
+ (i32.store offset=24
+ (get_local $0)
+ (get_local $4)
)
)
)
)
)
- (if
- (i32.lt_u
- (get_local $6)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (tee_local $0
- (i32.add
- (get_local $6)
- (get_local $2)
- )
- )
- (i32.const 3)
- )
- )
- (i32.store
+ )
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $8)
+ (i32.or
(tee_local $0
(i32.add
- (i32.add
- (get_local $8)
- (get_local $0)
- )
- (i32.const 4)
+ (get_local $6)
+ (get_local $2)
)
)
- (i32.or
- (i32.load
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (tee_local $0
+ (i32.add
+ (i32.add
+ (get_local $8)
(get_local $0)
)
- (i32.const 1)
+ (i32.const 4)
)
)
- )
- (block
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (get_local $2)
- (i32.const 3)
+ (i32.or
+ (i32.load
+ (get_local $0)
)
+ (i32.const 1)
)
- (i32.store offset=4
+ )
+ )
+ (block
+ (i32.store offset=4
+ (get_local $8)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (get_local $5)
+ (i32.or
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
(get_local $5)
- (i32.or
- (get_local $6)
- (i32.const 1)
- )
+ (get_local $6)
)
- (i32.store
- (i32.add
- (get_local $5)
- (get_local $6)
+ (get_local $6)
+ )
+ (if
+ (tee_local $0
+ (i32.load
+ (i32.const 184)
)
- (get_local $6)
)
- (if
- (tee_local $0
+ (block
+ (set_local $4
(i32.load
- (i32.const 184)
+ (i32.const 196)
)
)
- (block
- (set_local $4
- (i32.load
- (i32.const 196)
+ (set_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $0
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 216)
)
- (set_local $2
- (i32.add
+ )
+ (if
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 176)
+ )
+ )
+ (tee_local $0
(i32.shl
- (tee_local $0
- (i32.shr_u
- (get_local $0)
- (i32.const 3)
- )
- )
- (i32.const 3)
+ (i32.const 1)
+ (get_local $0)
)
- (i32.const 216)
)
)
(if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
- )
- )
+ (i32.lt_u
(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
+ (tee_local $1
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 192)
- )
)
- (call $_abort)
- (block
- (set_local $12
- (get_local $1)
- )
- (set_local $3
- (get_local $0)
- )
+ (i32.load
+ (i32.const 192)
)
)
+ (call $_abort)
(block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $1)
- (get_local $0)
- )
- )
(set_local $12
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
+ (get_local $1)
)
(set_local $3
- (get_local $2)
+ (get_local $0)
)
)
)
- (i32.store
- (get_local $12)
- (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)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
+ )
+ )
+ (set_local $12
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
+ )
+ (set_local $3
+ (get_local $2)
+ )
)
)
- )
- (i32.store
- (i32.const 184)
- (get_local $6)
- )
- (i32.store
- (i32.const 196)
- (get_local $5)
+ (i32.store
+ (get_local $12)
+ (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)
+ )
)
)
- )
- (return
- (i32.add
- (get_local $8)
- (i32.const 8)
+ (i32.store
+ (i32.const 184)
+ (get_local $6)
+ )
+ (i32.store
+ (i32.const 196)
+ (get_local $5)
)
)
)
- (get_local $2)
+ (return
+ (i32.add
+ (get_local $8)
+ (i32.const 8)
+ )
+ )
)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $2)
)
- (if (result i32)
- (i32.gt_u
- (get_local $0)
- (i32.const -65)
- )
- (i32.const -1)
- (block $do-once (result i32)
- (set_local $2
- (i32.and
- (tee_local $0
- (i32.add
- (get_local $0)
- (i32.const 11)
- )
+ )
+ (if (result i32)
+ (i32.gt_u
+ (get_local $0)
+ (i32.const -65)
+ )
+ (i32.const -1)
+ (block $do-once (result i32)
+ (set_local $2
+ (i32.and
+ (tee_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
)
- (i32.const -8)
)
+ (i32.const -8)
)
- (if (result i32)
- (tee_local $18
- (i32.load
- (i32.const 180)
- )
+ )
+ (if (result i32)
+ (tee_local $18
+ (i32.load
+ (i32.const 180)
)
- (block (result i32)
- (set_local $14
+ )
+ (block (result i32)
+ (set_local $14
+ (if (result i32)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
(if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $0)
- (i32.const 8)
- )
+ (i32.gt_u
+ (get_local $2)
+ (i32.const 16777215)
)
- (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.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
(i32.or
- (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)
+ (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 8)
+ (i32.const 16)
)
+ (i32.const 8)
)
)
)
- (i32.const 520192)
)
- (i32.const 16)
+ (i32.const 520192)
)
- (i32.const 4)
+ (i32.const 16)
)
+ (i32.const 4)
)
- (get_local $3)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
+ (get_local $3)
+ )
+ (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 16)
+ (i32.const 245760)
)
- (i32.const 2)
+ (i32.const 16)
)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- (i32.const 15)
+ )
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
)
+ (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 $9
- (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
+ )
+ (block
+ (set_local $9
+ (i32.shl
+ (get_local $2)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
(get_local $14)
- (i32.const 31)
+ (i32.const 1)
)
)
+ (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 $12
- (i32.and
- (i32.load offset=4
- (get_local $0)
- )
- (i32.const -8)
+ )
+ (set_local $1
+ (i32.const 0)
+ )
+ (loop $while-in14
+ (if
+ (i32.lt_u
+ (tee_local $4
+ (i32.sub
+ (tee_local $12
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
)
+ (i32.const -8)
)
- (get_local $2)
)
+ (get_local $2)
)
- (get_local $3)
)
- (set_local $1
- (if (result i32)
- (i32.eq
- (get_local $12)
- (get_local $2)
- )
- (block
- (set_local $1
- (get_local $4)
- )
- (set_local $3
- (get_local $0)
- )
- (br $__rjti$3)
+ (get_local $3)
+ )
+ (set_local $1
+ (if (result i32)
+ (i32.eq
+ (get_local $12)
+ (get_local $2)
+ )
+ (block
+ (set_local $1
+ (get_local $4)
)
- (block (result i32)
- (set_local $3
- (get_local $4)
- )
+ (set_local $3
(get_local $0)
)
+ (br $__rjti$3)
+ )
+ (block (result i32)
+ (set_local $3
+ (get_local $4)
+ )
+ (get_local $0)
)
)
)
- (set_local $0
- (select
- (get_local $5)
- (tee_local $4
- (i32.load offset=20
- (get_local $0)
- )
+ )
+ (set_local $0
+ (select
+ (get_local $5)
+ (tee_local $4
+ (i32.load offset=20
+ (get_local $0)
)
- (i32.or
- (i32.eqz
- (get_local $4)
- )
- (i32.eq
- (get_local $4)
- (tee_local $12
- (i32.load
+ )
+ (i32.or
+ (i32.eqz
+ (get_local $4)
+ )
+ (i32.eq
+ (get_local $4)
+ (tee_local $12
+ (i32.load
+ (i32.add
(i32.add
- (i32.add
- (get_local $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $9)
- (i32.const 31)
- )
- (i32.const 2)
+ (get_local $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $9)
+ (i32.const 31)
)
+ (i32.const 2)
)
)
)
@@ -9061,138 +9059,124 @@
)
)
)
- (set_local $4
- (i32.shl
- (get_local $9)
- (i32.xor
- (tee_local $5
- (i32.eqz
- (get_local $12)
- )
+ )
+ (set_local $4
+ (i32.shl
+ (get_local $9)
+ (i32.xor
+ (tee_local $5
+ (i32.eqz
+ (get_local $12)
)
- (i32.const 1)
)
+ (i32.const 1)
)
)
- (set_local $0
- (if (result i32)
- (get_local $5)
- (block (result i32)
- (set_local $4
- (get_local $0)
- )
- (get_local $1)
+ )
+ (set_local $0
+ (if (result i32)
+ (get_local $5)
+ (block (result i32)
+ (set_local $4
+ (get_local $0)
)
- (block
- (set_local $5
- (get_local $0)
- )
- (set_local $9
- (get_local $4)
- )
- (set_local $0
- (get_local $12)
- )
- (br $while-in14)
+ (get_local $1)
+ )
+ (block
+ (set_local $5
+ (get_local $0)
+ )
+ (set_local $9
+ (get_local $4)
+ )
+ (set_local $0
+ (get_local $12)
)
+ (br $while-in14)
)
)
)
)
- (set_local $0
- (i32.const 0)
- )
)
- (if
- (i32.eqz
- (i32.or
- (get_local $4)
- (get_local $0)
- )
+ (set_local $0
+ (i32.const 0)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.or
+ (get_local $4)
+ (get_local $0)
)
- (block
- (drop
- (br_if $do-once
- (get_local $2)
- (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)
+ )
+ (block
+ (drop
+ (br_if $do-once
+ (get_local $2)
+ (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)
+ )
)
)
)
)
)
- (set_local $12
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.add
- (i32.and
+ )
+ (set_local $12
+ (i32.and
+ (i32.shr_u
+ (tee_local $1
+ (i32.add
+ (i32.and
+ (get_local $1)
+ (i32.sub
+ (i32.const 0)
(get_local $1)
- (i32.sub
- (i32.const 0)
- (get_local $1)
- )
)
- (i32.const -1)
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (set_local $4
- (i32.load offset=480
- (i32.shl
- (i32.add
+ )
+ (set_local $4
+ (i32.load offset=480
+ (i32.shl
+ (i32.add
+ (i32.or
(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 $12)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $12)
- )
(tee_local $1
(i32.and
(i32.shr_u
(tee_local $4
(i32.shr_u
- (get_local $4)
(get_local $1)
+ (get_local $12)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $12)
)
(tee_local $1
(i32.and
@@ -9203,9 +9187,9 @@
(get_local $1)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
@@ -9220,1048 +9204,1064 @@
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $4)
- (get_local $1)
+ (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.const 2)
+ (i32.shr_u
+ (get_local $4)
+ (get_local $1)
+ )
)
+ (i32.const 2)
)
)
)
)
- (set_local $4
- (if (result i32)
- (get_local $4)
- (block
- (set_local $1
- (get_local $3)
- )
- (set_local $3
- (get_local $4)
- )
- (br $__rjti$3)
+ )
+ (set_local $4
+ (if (result i32)
+ (get_local $4)
+ (block
+ (set_local $1
+ (get_local $3)
)
- (get_local $0)
+ (set_local $3
+ (get_local $4)
+ )
+ (br $__rjti$3)
)
+ (get_local $0)
)
- (br $__rjto$3)
)
- (loop $while-in16
- (set_local $12
- (i32.lt_u
- (tee_local $4
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $3)
- )
- (i32.const -8)
+ (br $__rjto$3)
+ )
+ (loop $while-in16
+ (set_local $12
+ (i32.lt_u
+ (tee_local $4
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $3)
)
- (get_local $2)
+ (i32.const -8)
)
+ (get_local $2)
)
- (get_local $1)
)
+ (get_local $1)
)
- (set_local $1
- (select
- (get_local $4)
- (get_local $1)
- (get_local $12)
- )
+ )
+ (set_local $1
+ (select
+ (get_local $4)
+ (get_local $1)
+ (get_local $12)
)
- (set_local $0
- (select
+ )
+ (set_local $0
+ (select
+ (get_local $3)
+ (get_local $0)
+ (get_local $12)
+ )
+ )
+ (if
+ (tee_local $4
+ (i32.load offset=16
(get_local $3)
- (get_local $0)
- (get_local $12)
)
)
- (if
- (tee_local $4
- (i32.load offset=16
- (get_local $3)
- )
- )
- (block
- (set_local $3
- (get_local $4)
- )
- (br $while-in16)
+ (block
+ (set_local $3
+ (get_local $4)
)
+ (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 $4
- (get_local $0)
- )
- (set_local $3
- (get_local $1)
- )
)
+ (set_local $4
+ (get_local $0)
+ )
+ (set_local $3
+ (get_local $1)
+ )
+ )
+ (if (result i32)
+ (get_local $4)
(if (result i32)
- (get_local $4)
- (if (result i32)
- (i32.lt_u
- (get_local $3)
- (i32.sub
- (i32.load
- (i32.const 184)
- )
- (get_local $2)
+ (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 $8
- (i32.load
- (i32.const 192)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $4)
+ (tee_local $8
+ (i32.load
+ (i32.const 192)
)
)
- (call $_abort)
)
- (if
- (i32.ge_u
- (get_local $4)
- (tee_local $5
- (i32.add
- (get_local $4)
- (get_local $2)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.ge_u
+ (get_local $4)
+ (tee_local $5
+ (i32.add
+ (get_local $4)
+ (get_local $2)
)
)
- (call $_abort)
)
- (set_local $12
- (i32.load offset=24
- (get_local $4)
+ (call $_abort)
+ )
+ (set_local $12
+ (i32.load offset=24
+ (get_local $4)
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $4)
+ )
)
+ (get_local $4)
)
- (if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
- (get_local $4)
+ (block $do-once17
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $4)
+ (i32.const 20)
+ )
+ )
+ )
)
)
- (get_local $4)
- )
- (block $do-once17
- (if
+ (br_if $do-once17
(i32.eqz
(tee_local $1
(i32.load
(tee_local $0
(i32.add
(get_local $4)
- (i32.const 20)
+ (i32.const 16)
)
)
)
)
)
- (br_if $do-once17
- (i32.eqz
- (tee_local $1
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $4)
- (i32.const 16)
- )
- )
+ )
+ )
+ (loop $while-in20
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $11
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
)
)
)
)
- )
- (loop $while-in20
- (if
- (tee_local $7
- (i32.load
- (tee_local $11
- (i32.add
- (get_local $1)
- (i32.const 20)
- )
- )
- )
+ (block
+ (set_local $1
+ (get_local $7)
)
- (block
- (set_local $1
- (get_local $7)
- )
- (set_local $0
- (get_local $11)
- )
- (br $while-in20)
+ (set_local $0
+ (get_local $11)
)
+ (br $while-in20)
)
- (if
- (tee_local $7
- (i32.load
- (tee_local $11
- (i32.add
- (get_local $1)
- (i32.const 16)
- )
+ )
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $11
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
)
)
)
- (block
- (set_local $1
- (get_local $7)
- )
- (set_local $0
- (get_local $11)
- )
- (br $while-in20)
+ )
+ (block
+ (set_local $1
+ (get_local $7)
+ )
+ (set_local $0
+ (get_local $11)
)
+ (br $while-in20)
)
)
- (if
- (i32.lt_u
+ )
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (get_local $8)
+ )
+ (call $_abort)
+ (block
+ (i32.store
(get_local $0)
- (get_local $8)
+ (i32.const 0)
)
- (call $_abort)
- (block
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (set_local $10
- (get_local $1)
- )
+ (set_local $10
+ (get_local $1)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $11
- (i32.load offset=8
- (get_local $4)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $11
+ (i32.load offset=8
+ (get_local $4)
)
- (get_local $8)
)
- (call $_abort)
+ (get_local $8)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $11)
- (i32.const 12)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $11)
+ (i32.const 12)
)
)
- (get_local $4)
)
- (call $_abort)
+ (get_local $4)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
)
)
- (get_local $4)
)
- (block
- (i32.store
- (get_local $7)
- (get_local $0)
- )
- (i32.store
- (get_local $1)
- (get_local $11)
- )
- (set_local $10
- (get_local $0)
- )
+ (get_local $4)
+ )
+ (block
+ (i32.store
+ (get_local $7)
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $11)
+ )
+ (set_local $10
+ (get_local $0)
)
- (call $_abort)
)
+ (call $_abort)
)
)
- (if
- (get_local $12)
- (block $do-once21
- (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)
- )
+ )
+ (if
+ (get_local $12)
+ (block $do-once21
+ (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 480)
+ (i32.const 2)
)
+ (i32.const 480)
)
)
)
- (block
- (i32.store
- (get_local $0)
+ )
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $10)
+ )
+ (if
+ (i32.eqz
(get_local $10)
)
- (if
- (i32.eqz
- (get_local $10)
- )
- (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)
+ (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)
)
)
- (br $do-once21)
)
+ (br $do-once21)
)
)
- (block
- (if
- (i32.lt_u
- (get_local $12)
- (i32.load
- (i32.const 192)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $12)
+ (i32.load
+ (i32.const 192)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $12)
- (i32.const 16)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $12)
+ (i32.const 16)
)
)
- (get_local $4)
- )
- (i32.store
- (get_local $0)
- (get_local $10)
- )
- (i32.store offset=20
- (get_local $12)
- (get_local $10)
)
+ (get_local $4)
)
- (br_if $do-once21
- (i32.eqz
- (get_local $10)
- )
+ (i32.store
+ (get_local $0)
+ (get_local $10)
+ )
+ (i32.store offset=20
+ (get_local $12)
+ (get_local $10)
)
)
- )
- (if
- (i32.lt_u
- (get_local $10)
- (tee_local $0
- (i32.load
- (i32.const 192)
- )
+ (br_if $do-once21
+ (i32.eqz
+ (get_local $10)
)
)
- (call $_abort)
)
- (i32.store offset=24
+ )
+ (if
+ (i32.lt_u
(get_local $10)
- (get_local $12)
+ (tee_local $0
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (get_local $10)
+ (get_local $12)
+ )
+ (if
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $4)
+ )
)
(if
- (tee_local $1
- (i32.load offset=16
- (get_local $4)
- )
+ (i32.lt_u
+ (get_local $1)
+ (get_local $0)
)
- (if
- (i32.lt_u
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (get_local $10)
(get_local $1)
- (get_local $0)
)
- (call $_abort)
- (block
- (i32.store offset=16
- (get_local $10)
- (get_local $1)
- )
- (i32.store offset=24
- (get_local $1)
- (get_local $10)
- )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $10)
)
)
)
+ )
+ (if
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $4)
+ )
+ )
(if
- (tee_local $0
- (i32.load offset=20
- (get_local $4)
+ (i32.lt_u
+ (get_local $0)
+ (i32.load
+ (i32.const 192)
)
)
- (if
- (i32.lt_u
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (get_local $10)
(get_local $0)
- (i32.load
- (i32.const 192)
- )
)
- (call $_abort)
- (block
- (i32.store offset=20
- (get_local $10)
- (get_local $0)
- )
- (i32.store offset=24
- (get_local $0)
- (get_local $10)
- )
+ (i32.store offset=24
+ (get_local $0)
+ (get_local $10)
)
)
)
)
)
- (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.store
+ )
+ (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
- (i32.add
- (get_local $4)
- (get_local $0)
- )
- (i32.const 4)
+ (get_local $3)
+ (get_local $2)
)
)
- (i32.or
- (i32.load
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (tee_local $0
+ (i32.add
+ (i32.add
+ (get_local $4)
(get_local $0)
)
- (i32.const 1)
+ (i32.const 4)
)
)
- )
- (block $do-once25
- (i32.store offset=4
- (get_local $4)
- (i32.or
- (get_local $2)
- (i32.const 3)
+ (i32.or
+ (i32.load
+ (get_local $0)
)
+ (i32.const 1)
)
- (i32.store offset=4
+ )
+ )
+ (block $do-once25
+ (i32.store offset=4
+ (get_local $4)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (get_local $5)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
(get_local $5)
- (i32.or
- (get_local $3)
- (i32.const 1)
- )
+ (get_local $3)
)
- (i32.store
- (i32.add
- (get_local $5)
- (get_local $3)
- )
+ (get_local $3)
+ )
+ (set_local $0
+ (i32.shr_u
(get_local $3)
+ (i32.const 3)
)
- (set_local $0
- (i32.shr_u
- (get_local $3)
- (i32.const 3)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 256)
)
- (if
- (i32.lt_u
- (get_local $3)
- (i32.const 256)
+ (block
+ (set_local $3
+ (i32.add
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
)
- (block
- (set_local $3
- (i32.add
+ (if
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 176)
+ )
+ )
+ (tee_local $0
(i32.shl
+ (i32.const 1)
(get_local $0)
- (i32.const 3)
)
- (i32.const 216)
)
)
(if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
- )
- )
+ (i32.lt_u
(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
+ (tee_local $1
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 192)
- )
)
- (call $_abort)
- (block
- (set_local $13
- (get_local $1)
- )
- (set_local $6
- (get_local $0)
- )
+ (i32.load
+ (i32.const 192)
)
)
+ (call $_abort)
(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)
- )
+ (get_local $1)
)
(set_local $6
- (get_local $3)
+ (get_local $0)
)
)
)
- (i32.store
- (get_local $13)
- (get_local $5)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $5)
- )
- (i32.store offset=8
- (get_local $5)
- (get_local $6)
- )
- (i32.store offset=12
- (get_local $5)
- (get_local $3)
+ (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 $6
+ (get_local $3)
+ )
)
- (br $do-once25)
)
+ (i32.store
+ (get_local $13)
+ (get_local $5)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $5)
+ )
+ (i32.store offset=8
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $5)
+ (get_local $3)
+ )
+ (br $do-once25)
)
- (set_local $2
- (i32.add
- (i32.shl
- (tee_local $7
+ )
+ (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)
+ )
+ )
(if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $3)
- (i32.const 8)
- )
+ (i32.gt_u
+ (get_local $3)
+ (i32.const 16777215)
)
- (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.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
(i32.or
- (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)
+ (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 8)
+ (i32.const 16)
)
+ (i32.const 8)
)
)
)
- (i32.const 520192)
)
- (i32.const 16)
+ (i32.const 520192)
)
- (i32.const 4)
+ (i32.const 16)
)
+ (i32.const 4)
)
- (get_local $2)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
+ (get_local $2)
+ )
+ (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 16)
+ (i32.const 245760)
)
- (i32.const 2)
+ (i32.const 16)
)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- (i32.const 15)
+ )
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
)
+ (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 480)
+ (i32.const 2)
)
+ (i32.const 480)
)
- (i32.store offset=28
- (get_local $5)
- (get_local $7)
- )
- (i32.store offset=4
- (tee_local $0
- (i32.add
- (get_local $5)
- (i32.const 16)
- )
+ )
+ (i32.store offset=28
+ (get_local $5)
+ (get_local $7)
+ )
+ (i32.store offset=4
+ (tee_local $0
+ (i32.add
+ (get_local $5)
+ (i32.const 16)
)
- (i32.const 0)
)
- (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)
- )
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $0)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 180)
)
)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (get_local $1)
- (get_local $0)
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $7)
)
)
- (i32.store
- (get_local $2)
- (get_local $5)
- )
- (i32.store offset=24
- (get_local $5)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $5)
- (get_local $5)
- )
- (i32.store offset=8
- (get_local $5)
- (get_local $5)
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
)
- (br $do-once25)
)
+ (i32.store
+ (get_local $2)
+ (get_local $5)
+ )
+ (i32.store offset=24
+ (get_local $5)
+ (get_local $2)
+ )
+ (i32.store offset=12
+ (get_local $5)
+ (get_local $5)
+ )
+ (i32.store offset=8
+ (get_local $5)
+ (get_local $5)
+ )
+ (br $do-once25)
)
- (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
+ )
+ (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 31)
+ (i32.const 1)
)
)
+ (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)
- )
- (i32.const -8)
+ )
+ (block $__rjto$1
+ (block $__rjti$1
+ (loop $while-in28
+ (br_if $__rjti$1
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
)
- (get_local $3)
+ (i32.const -8)
)
+ (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
+ )
+ (if
+ (tee_local $1
+ (i32.load
+ (tee_local $7
+ (i32.add
(i32.add
- (i32.add
- (get_local $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $7)
- (i32.const 31)
- )
- (i32.const 2)
+ (get_local $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $7)
+ (i32.const 31)
)
+ (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
- (i32.store
- (get_local $7)
- (get_local $5)
- )
- (i32.store offset=24
- (get_local $5)
- (get_local $0)
- )
- (i32.store offset=12
- (get_local $5)
- (get_local $5)
+ (set_local $7
+ (get_local $2)
)
- (i32.store offset=8
- (get_local $5)
- (get_local $5)
+ (set_local $0
+ (get_local $1)
)
- (br $do-once25)
+ (br $while-in28)
)
)
- (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)
+ (i32.lt_u
+ (get_local $7)
+ (i32.load
+ (i32.const 192)
)
)
+ (call $_abort)
(block
- (i32.store offset=12
- (get_local $2)
- (get_local $5)
- )
(i32.store
- (get_local $3)
+ (get_local $7)
(get_local $5)
)
- (i32.store offset=8
+ (i32.store offset=24
(get_local $5)
- (get_local $2)
+ (get_local $0)
)
(i32.store offset=12
(get_local $5)
- (get_local $0)
+ (get_local $5)
)
- (i32.store offset=24
+ (i32.store offset=8
+ (get_local $5)
(get_local $5)
- (i32.const 0)
)
+ (br $do-once25)
)
- (call $_abort)
)
+ (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 $5)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $5)
+ )
+ (i32.store offset=8
+ (get_local $5)
+ (get_local $2)
+ )
+ (i32.store offset=12
+ (get_local $5)
+ (get_local $0)
+ )
+ (i32.store offset=24
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ (call $_abort)
)
)
)
- (return
- (i32.add
- (get_local $4)
- (i32.const 8)
- )
+ )
+ (return
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
)
)
- (get_local $2)
)
(get_local $2)
)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $2)
)
)
)
)
- (if
- (i32.ge_u
- (tee_local $1
- (i32.load
- (i32.const 184)
- )
+ )
+ (if
+ (i32.ge_u
+ (tee_local $1
+ (i32.load
+ (i32.const 184)
)
- (get_local $0)
)
- (block
- (set_local $2
- (i32.load
- (i32.const 196)
+ (get_local $0)
+ )
+ (block
+ (set_local $2
+ (i32.load
+ (i32.const 196)
+ )
+ )
+ (if
+ (i32.gt_u
+ (tee_local $3
+ (i32.sub
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.const 15)
)
- (if
- (i32.gt_u
- (tee_local $3
- (i32.sub
- (get_local $1)
+ (block
+ (i32.store
+ (i32.const 196)
+ (tee_local $1
+ (i32.add
+ (get_local $2)
(get_local $0)
)
)
- (i32.const 15)
)
- (block
- (i32.store
- (i32.const 196)
- (tee_local $1
- (i32.add
- (get_local $2)
- (get_local $0)
- )
- )
- )
- (i32.store
- (i32.const 184)
+ (i32.store
+ (i32.const 184)
+ (get_local $3)
+ )
+ (i32.store offset=4
+ (get_local $1)
+ (i32.or
(get_local $3)
+ (i32.const 1)
)
- (i32.store offset=4
+ )
+ (i32.store
+ (i32.add
(get_local $1)
- (i32.or
- (get_local $3)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (get_local $1)
- (get_local $3)
- )
(get_local $3)
)
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $0)
- (i32.const 3)
- )
- )
+ (get_local $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 $0)
+ (i32.const 3)
)
- (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
+ (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.store
+ (tee_local $0
+ (i32.add
(i32.add
- (i32.add
- (get_local $2)
- (get_local $1)
- )
- (i32.const 4)
+ (get_local $2)
+ (get_local $1)
)
+ (i32.const 4)
)
- (i32.or
- (i32.load
- (get_local $0)
- )
- (i32.const 1)
+ )
+ (i32.or
+ (i32.load
+ (get_local $0)
)
+ (i32.const 1)
)
)
)
- (return
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
+ )
+ (return
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
)
)
)
+ )
+ (block $folding-inner0
(br_if $folding-inner0
(i32.gt_u
(tee_local $1
diff --git a/test/emcc_hello_world.fromasm.clamp b/test/emcc_hello_world.fromasm.clamp
index 244f8adba..91f1fedd4 100644
--- a/test/emcc_hello_world.fromasm.clamp
+++ b/test/emcc_hello_world.fromasm.clamp
@@ -7639,274 +7639,258 @@
(local $16 i32)
(local $17 i32)
(local $18 i32)
- (block $folding-inner0
- (set_local $0
- (if (result i32)
- (i32.lt_u
- (get_local $0)
- (i32.const 245)
- )
- (block (result i32)
- (if
- (i32.and
- (tee_local $10
- (i32.shr_u
- (tee_local $6
- (i32.load
- (i32.const 176)
- )
+ (set_local $0
+ (if (result i32)
+ (i32.lt_u
+ (get_local $0)
+ (i32.const 245)
+ )
+ (block (result i32)
+ (if
+ (i32.and
+ (tee_local $10
+ (i32.shr_u
+ (tee_local $6
+ (i32.load
+ (i32.const 176)
)
- (tee_local $13
- (i32.shr_u
- (tee_local $2
- (select
- (i32.const 16)
- (i32.and
- (i32.add
- (get_local $0)
- (i32.const 11)
- )
- (i32.const -8)
- )
- (i32.lt_u
+ )
+ (tee_local $13
+ (i32.shr_u
+ (tee_local $2
+ (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 3)
)
+ (i32.const 3)
)
)
)
- (i32.const 3)
)
- (block
- (set_local $11
- (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 $10)
- (i32.const 1)
- )
+ (i32.const 3)
+ )
+ (block
+ (set_local $11
+ (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 $10)
(i32.const 1)
)
- (get_local $13)
+ (i32.const 1)
)
+ (get_local $13)
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 3)
)
+ (i32.const 216)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (if
- (i32.eq
- (get_local $2)
- (get_local $11)
- )
- (i32.store
- (i32.const 176)
- (i32.and
- (get_local $6)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $4)
- )
- (i32.const -1)
+ )
+ (if
+ (i32.eq
+ (get_local $2)
+ (get_local $11)
+ )
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (get_local $6)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $4)
)
+ (i32.const -1)
)
)
- (block
- (if
- (i32.lt_u
- (get_local $11)
- (i32.load
- (i32.const 192)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $11)
+ (i32.load
+ (i32.const 192)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $11)
- (i32.const 12)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $11)
+ (i32.const 12)
)
)
- (get_local $7)
)
- (block
- (i32.store
- (get_local $0)
- (get_local $2)
- )
- (i32.store
- (get_local $3)
- (get_local $11)
- )
- )
- (call $_abort)
+ (get_local $7)
)
- )
- )
- (i32.store offset=4
- (get_local $7)
- (i32.or
- (tee_local $0
- (i32.shl
- (get_local $4)
- (i32.const 3)
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $2)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $11)
)
)
- (i32.const 3)
+ (call $_abort)
)
)
- (i32.store
+ )
+ (i32.store offset=4
+ (get_local $7)
+ (i32.or
(tee_local $0
- (i32.add
- (i32.add
- (get_local $7)
- (get_local $0)
- )
- (i32.const 4)
+ (i32.shl
+ (get_local $4)
+ (i32.const 3)
)
)
- (i32.or
- (i32.load
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (tee_local $0
+ (i32.add
+ (i32.add
+ (get_local $7)
(get_local $0)
)
- (i32.const 1)
+ (i32.const 4)
)
)
- (return
- (get_local $1)
+ (i32.or
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 1)
)
)
+ (return
+ (get_local $1)
+ )
)
- (if (result i32)
- (i32.gt_u
- (get_local $2)
- (tee_local $0
- (i32.load
- (i32.const 184)
- )
+ )
+ (if (result i32)
+ (i32.gt_u
+ (get_local $2)
+ (tee_local $0
+ (i32.load
+ (i32.const 184)
)
)
- (block (result i32)
- (if
- (get_local $10)
- (block
- (set_local $7
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.add
- (i32.and
- (tee_local $3
- (i32.and
- (i32.shl
- (get_local $10)
- (get_local $13)
- )
- (i32.or
- (tee_local $3
- (i32.shl
- (i32.const 2)
- (get_local $13)
- )
- )
- (i32.sub
- (i32.const 0)
- (get_local $3)
+ )
+ (block (result i32)
+ (if
+ (get_local $10)
+ (block
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.add
+ (i32.and
+ (tee_local $3
+ (i32.and
+ (i32.shl
+ (get_local $10)
+ (get_local $13)
+ )
+ (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.const -1)
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
+ )
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (set_local $10
- (i32.load
- (tee_local $4
- (i32.add
- (tee_local $8
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $7
- (i32.add
- (i32.shl
- (tee_local $11
- (i32.add
+ )
+ (set_local $10
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (tee_local $8
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (tee_local $7
+ (i32.add
+ (i32.shl
+ (tee_local $11
+ (i32.add
+ (i32.or
(i32.or
(i32.or
(i32.or
- (i32.or
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $4
- (i32.shr_u
- (get_local $3)
- (get_local $7)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $7)
- )
(tee_local $3
(i32.and
(i32.shr_u
(tee_local $4
(i32.shr_u
- (get_local $4)
(get_local $3)
+ (get_local $7)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $7)
)
(tee_local $3
(i32.and
@@ -7917,9 +7901,9 @@
(get_local $3)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
@@ -7934,310 +7918,310 @@
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $4)
- (get_local $3)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.shr_u
+ (get_local $4)
+ (get_local $3)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
)
)
+ (i32.shr_u
+ (get_local $4)
+ (get_local $3)
+ )
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 3)
)
+ (i32.const 216)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (if
- (i32.eq
- (get_local $7)
- (get_local $10)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.and
- (get_local $6)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $11)
- )
- (i32.const -1)
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (get_local $10)
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (get_local $6)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $11)
)
+ (i32.const -1)
)
)
- (set_local $9
- (get_local $0)
- )
)
- (block
- (if
- (i32.lt_u
- (get_local $10)
- (i32.load
- (i32.const 192)
- )
+ (set_local $9
+ (get_local $0)
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (i32.load
+ (i32.const 192)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $10)
- (i32.const 12)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $10)
+ (i32.const 12)
)
)
- (get_local $8)
)
- (block
- (i32.store
- (get_local $0)
- (get_local $7)
- )
- (i32.store
- (get_local $3)
- (get_local $10)
- )
- (set_local $9
- (i32.load
- (i32.const 184)
- )
+ (get_local $8)
+ )
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $7)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $10)
+ )
+ (set_local $9
+ (i32.load
+ (i32.const 184)
)
)
- (call $_abort)
)
+ (call $_abort)
)
)
- (i32.store offset=4
- (get_local $8)
- (i32.or
+ )
+ (i32.store offset=4
+ (get_local $8)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (tee_local $7
+ (i32.add
+ (get_local $8)
(get_local $2)
- (i32.const 3)
)
)
- (i32.store offset=4
- (tee_local $7
- (i32.add
- (get_local $8)
- (get_local $2)
- )
- )
- (i32.or
- (tee_local $11
- (i32.sub
- (i32.shl
- (get_local $11)
- (i32.const 3)
- )
- (get_local $2)
+ (i32.or
+ (tee_local $11
+ (i32.sub
+ (i32.shl
+ (get_local $11)
+ (i32.const 3)
)
+ (get_local $2)
)
- (i32.const 1)
)
+ (i32.const 1)
)
- (i32.store
- (i32.add
- (get_local $7)
- (get_local $11)
- )
+ )
+ (i32.store
+ (i32.add
+ (get_local $7)
(get_local $11)
)
- (if
- (get_local $9)
- (block
- (set_local $6
- (i32.load
- (i32.const 196)
- )
+ (get_local $11)
+ )
+ (if
+ (get_local $9)
+ (block
+ (set_local $6
+ (i32.load
+ (i32.const 196)
)
- (set_local $2
- (i32.add
- (i32.shl
- (tee_local $0
- (i32.shr_u
- (get_local $9)
- (i32.const 3)
- )
+ )
+ (set_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $0
+ (i32.shr_u
+ (get_local $9)
+ (i32.const 3)
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 3)
)
+ (i32.const 216)
)
- (if
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 176)
- )
+ )
+ (if
+ (i32.and
+ (tee_local $3
+ (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)
)
)
- (if
- (i32.lt_u
- (tee_local $0
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 192)
- )
)
- (call $_abort)
- (block
- (set_local $5
- (get_local $3)
- )
- (set_local $1
- (get_local $0)
- )
+ (i32.load
+ (i32.const 192)
)
)
+ (call $_abort)
(block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $3)
- (get_local $0)
- )
- )
(set_local $5
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
+ (get_local $3)
)
(set_local $1
- (get_local $2)
+ (get_local $0)
)
)
)
- (i32.store
- (get_local $5)
- (get_local $6)
- )
- (i32.store offset=12
- (get_local $1)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $1)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $2)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $3)
+ (get_local $0)
+ )
+ )
+ (set_local $5
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
+ )
+ (set_local $1
+ (get_local $2)
+ )
)
)
- )
- (i32.store
- (i32.const 184)
- (get_local $11)
- )
- (i32.store
- (i32.const 196)
- (get_local $7)
- )
- (return
- (get_local $4)
+ (i32.store
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $1)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $1)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $2)
+ )
)
)
+ (i32.store
+ (i32.const 184)
+ (get_local $11)
+ )
+ (i32.store
+ (i32.const 196)
+ (get_local $7)
+ )
+ (return
+ (get_local $4)
+ )
)
- (if (result i32)
- (tee_local $0
- (i32.load
- (i32.const 180)
- )
+ )
+ (if (result i32)
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
)
- (block
- (set_local $7
- (i32.and
- (i32.shr_u
- (tee_local $0
- (i32.add
- (i32.and
+ )
+ (block
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (tee_local $0
+ (i32.add
+ (i32.and
+ (get_local $0)
+ (i32.sub
+ (i32.const 0)
(get_local $0)
- (i32.sub
- (i32.const 0)
- (get_local $0)
- )
)
- (i32.const -1)
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (set_local $11
- (i32.sub
- (i32.and
- (i32.load offset=4
- (tee_local $0
- (i32.load offset=480
- (i32.shl
- (i32.add
+ )
+ (set_local $11
+ (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
- (i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.shr_u
- (get_local $0)
- (get_local $7)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $7)
- )
(tee_local $0
(i32.and
(i32.shr_u
(tee_local $1
(i32.shr_u
- (get_local $1)
(get_local $0)
+ (get_local $7)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $7)
)
(tee_local $0
(i32.and
@@ -8248,9 +8232,9 @@
(get_local $0)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
@@ -8265,845 +8249,859 @@
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $1)
- (get_local $0)
+ (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.const 2)
+ (i32.shr_u
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.const 2)
)
)
)
- (i32.const -8)
)
- (get_local $2)
+ (i32.const -8)
)
+ (get_local $2)
)
- (set_local $7
- (get_local $0)
- )
- (loop $while-in
- (block $while-out
+ )
+ (set_local $7
+ (get_local $0)
+ )
+ (loop $while-in
+ (block $while-out
+ (if
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $0)
+ )
+ )
+ (set_local $0
+ (get_local $1)
+ )
(if
- (tee_local $1
- (i32.load offset=16
- (get_local $0)
+ (i32.eqz
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $0)
+ )
)
)
- (set_local $0
- (get_local $1)
- )
- (if
- (i32.eqz
- (tee_local $0
- (i32.load offset=20
- (get_local $0)
- )
- )
+ (block
+ (set_local $6
+ (get_local $11)
)
- (block
- (set_local $6
- (get_local $11)
- )
- (set_local $8
- (get_local $7)
- )
- (br $while-out)
+ (set_local $8
+ (get_local $7)
)
+ (br $while-out)
)
)
- (set_local $6
- (i32.lt_u
- (tee_local $1
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $0)
- )
- (i32.const -8)
+ )
+ (set_local $6
+ (i32.lt_u
+ (tee_local $1
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
)
- (get_local $2)
+ (i32.const -8)
)
+ (get_local $2)
)
- (get_local $11)
)
+ (get_local $11)
)
- (set_local $11
- (select
- (get_local $1)
- (get_local $11)
- (get_local $6)
- )
+ )
+ (set_local $11
+ (select
+ (get_local $1)
+ (get_local $11)
+ (get_local $6)
)
- (set_local $7
- (select
- (get_local $0)
- (get_local $7)
- (get_local $6)
- )
+ )
+ (set_local $7
+ (select
+ (get_local $0)
+ (get_local $7)
+ (get_local $6)
)
- (br $while-in)
)
+ (br $while-in)
)
- (if
- (i32.lt_u
- (get_local $8)
- (tee_local $10
- (i32.load
- (i32.const 192)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $8)
+ (tee_local $10
+ (i32.load
+ (i32.const 192)
)
)
- (call $_abort)
)
- (if
- (i32.ge_u
- (get_local $8)
- (tee_local $5
- (i32.add
- (get_local $8)
- (get_local $2)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.ge_u
+ (get_local $8)
+ (tee_local $5
+ (i32.add
+ (get_local $8)
+ (get_local $2)
)
)
- (call $_abort)
)
- (set_local $9
- (i32.load offset=24
- (get_local $8)
+ (call $_abort)
+ )
+ (set_local $9
+ (i32.load offset=24
+ (get_local $8)
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $8)
+ )
)
+ (get_local $8)
)
- (if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
- (get_local $8)
+ (block $do-once4
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $8)
+ (i32.const 20)
+ )
+ )
+ )
)
)
- (get_local $8)
- )
- (block $do-once4
- (if
+ (br_if $do-once4
(i32.eqz
(tee_local $1
(i32.load
(tee_local $0
(i32.add
(get_local $8)
- (i32.const 20)
+ (i32.const 16)
)
)
)
)
)
- (br_if $do-once4
- (i32.eqz
- (tee_local $1
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $8)
- (i32.const 16)
- )
- )
+ )
+ )
+ (loop $while-in7
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $11
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
)
)
)
)
- )
- (loop $while-in7
- (if
- (tee_local $7
- (i32.load
- (tee_local $11
- (i32.add
- (get_local $1)
- (i32.const 20)
- )
- )
- )
+ (block
+ (set_local $1
+ (get_local $7)
)
- (block
- (set_local $1
- (get_local $7)
- )
- (set_local $0
- (get_local $11)
- )
- (br $while-in7)
+ (set_local $0
+ (get_local $11)
)
+ (br $while-in7)
)
- (if
- (tee_local $7
- (i32.load
- (tee_local $11
- (i32.add
- (get_local $1)
- (i32.const 16)
- )
+ )
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $11
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
)
)
)
- (block
- (set_local $1
- (get_local $7)
- )
- (set_local $0
- (get_local $11)
- )
- (br $while-in7)
+ )
+ (block
+ (set_local $1
+ (get_local $7)
+ )
+ (set_local $0
+ (get_local $11)
)
+ (br $while-in7)
)
)
- (if
- (i32.lt_u
+ )
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (get_local $10)
+ )
+ (call $_abort)
+ (block
+ (i32.store
(get_local $0)
- (get_local $10)
+ (i32.const 0)
)
- (call $_abort)
- (block
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (set_local $4
- (get_local $1)
- )
+ (set_local $4
+ (get_local $1)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $11
- (i32.load offset=8
- (get_local $8)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $11
+ (i32.load offset=8
+ (get_local $8)
)
- (get_local $10)
)
- (call $_abort)
+ (get_local $10)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $11)
- (i32.const 12)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $11)
+ (i32.const 12)
)
)
- (get_local $8)
)
- (call $_abort)
+ (get_local $8)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
)
)
- (get_local $8)
)
- (block
- (i32.store
- (get_local $7)
- (get_local $0)
- )
- (i32.store
- (get_local $1)
- (get_local $11)
- )
- (set_local $4
- (get_local $0)
- )
+ (get_local $8)
+ )
+ (block
+ (i32.store
+ (get_local $7)
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $11)
+ )
+ (set_local $4
+ (get_local $0)
)
- (call $_abort)
)
+ (call $_abort)
)
)
- (if
- (get_local $9)
- (block $do-once8
- (if
- (i32.eq
- (get_local $8)
- (i32.load
- (tee_local $0
- (i32.add
- (i32.shl
- (tee_local $1
- (i32.load offset=28
- (get_local $8)
- )
+ )
+ (if
+ (get_local $9)
+ (block $do-once8
+ (if
+ (i32.eq
+ (get_local $8)
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $1
+ (i32.load offset=28
+ (get_local $8)
)
- (i32.const 2)
)
- (i32.const 480)
+ (i32.const 2)
)
+ (i32.const 480)
)
)
)
- (block
- (i32.store
- (get_local $0)
+ )
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $4)
+ )
+ (if
+ (i32.eqz
(get_local $4)
)
- (if
- (i32.eqz
- (get_local $4)
- )
- (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)
+ (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)
)
)
- (br $do-once8)
)
+ (br $do-once8)
)
)
- (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)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $9)
- (i32.const 16)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $9)
+ (i32.const 16)
)
)
- (get_local $8)
- )
- (i32.store
- (get_local $0)
- (get_local $4)
- )
- (i32.store offset=20
- (get_local $9)
- (get_local $4)
)
+ (get_local $8)
)
- (br_if $do-once8
- (i32.eqz
- (get_local $4)
- )
+ (i32.store
+ (get_local $0)
+ (get_local $4)
+ )
+ (i32.store offset=20
+ (get_local $9)
+ (get_local $4)
)
)
- )
- (if
- (i32.lt_u
- (get_local $4)
- (tee_local $0
- (i32.load
- (i32.const 192)
- )
+ (br_if $do-once8
+ (i32.eqz
+ (get_local $4)
)
)
- (call $_abort)
)
- (i32.store offset=24
+ )
+ (if
+ (i32.lt_u
(get_local $4)
- (get_local $9)
+ (tee_local $0
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (get_local $4)
+ (get_local $9)
+ )
+ (if
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $8)
+ )
)
(if
- (tee_local $1
- (i32.load offset=16
- (get_local $8)
- )
+ (i32.lt_u
+ (get_local $1)
+ (get_local $0)
)
- (if
- (i32.lt_u
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (get_local $4)
(get_local $1)
- (get_local $0)
)
- (call $_abort)
- (block
- (i32.store offset=16
- (get_local $4)
- (get_local $1)
- )
- (i32.store offset=24
- (get_local $1)
- (get_local $4)
- )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $4)
)
)
)
+ )
+ (if
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $8)
+ )
+ )
(if
- (tee_local $0
- (i32.load offset=20
- (get_local $8)
+ (i32.lt_u
+ (get_local $0)
+ (i32.load
+ (i32.const 192)
)
)
- (if
- (i32.lt_u
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (get_local $4)
(get_local $0)
- (i32.load
- (i32.const 192)
- )
)
- (call $_abort)
- (block
- (i32.store offset=20
- (get_local $4)
- (get_local $0)
- )
- (i32.store offset=24
- (get_local $0)
- (get_local $4)
- )
+ (i32.store offset=24
+ (get_local $0)
+ (get_local $4)
)
)
)
)
)
- (if
- (i32.lt_u
- (get_local $6)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (tee_local $0
- (i32.add
- (get_local $6)
- (get_local $2)
- )
- )
- (i32.const 3)
- )
- )
- (i32.store
+ )
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $8)
+ (i32.or
(tee_local $0
(i32.add
- (i32.add
- (get_local $8)
- (get_local $0)
- )
- (i32.const 4)
+ (get_local $6)
+ (get_local $2)
)
)
- (i32.or
- (i32.load
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (tee_local $0
+ (i32.add
+ (i32.add
+ (get_local $8)
(get_local $0)
)
- (i32.const 1)
+ (i32.const 4)
)
)
- )
- (block
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (get_local $2)
- (i32.const 3)
+ (i32.or
+ (i32.load
+ (get_local $0)
)
+ (i32.const 1)
)
- (i32.store offset=4
+ )
+ )
+ (block
+ (i32.store offset=4
+ (get_local $8)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (get_local $5)
+ (i32.or
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
(get_local $5)
- (i32.or
- (get_local $6)
- (i32.const 1)
- )
+ (get_local $6)
)
- (i32.store
- (i32.add
- (get_local $5)
- (get_local $6)
+ (get_local $6)
+ )
+ (if
+ (tee_local $0
+ (i32.load
+ (i32.const 184)
)
- (get_local $6)
)
- (if
- (tee_local $0
+ (block
+ (set_local $4
(i32.load
- (i32.const 184)
+ (i32.const 196)
)
)
- (block
- (set_local $4
- (i32.load
- (i32.const 196)
+ (set_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $0
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 216)
)
- (set_local $2
- (i32.add
+ )
+ (if
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 176)
+ )
+ )
+ (tee_local $0
(i32.shl
- (tee_local $0
- (i32.shr_u
- (get_local $0)
- (i32.const 3)
- )
- )
- (i32.const 3)
+ (i32.const 1)
+ (get_local $0)
)
- (i32.const 216)
)
)
(if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
- )
- )
+ (i32.lt_u
(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
+ (tee_local $1
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 192)
- )
)
- (call $_abort)
- (block
- (set_local $12
- (get_local $1)
- )
- (set_local $3
- (get_local $0)
- )
+ (i32.load
+ (i32.const 192)
)
)
+ (call $_abort)
(block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $1)
- (get_local $0)
- )
- )
(set_local $12
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
+ (get_local $1)
)
(set_local $3
- (get_local $2)
+ (get_local $0)
)
)
)
- (i32.store
- (get_local $12)
- (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)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
+ )
+ )
+ (set_local $12
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
+ )
+ (set_local $3
+ (get_local $2)
+ )
)
)
- )
- (i32.store
- (i32.const 184)
- (get_local $6)
- )
- (i32.store
- (i32.const 196)
- (get_local $5)
+ (i32.store
+ (get_local $12)
+ (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)
+ )
)
)
- )
- (return
- (i32.add
- (get_local $8)
- (i32.const 8)
+ (i32.store
+ (i32.const 184)
+ (get_local $6)
+ )
+ (i32.store
+ (i32.const 196)
+ (get_local $5)
)
)
)
- (get_local $2)
+ (return
+ (i32.add
+ (get_local $8)
+ (i32.const 8)
+ )
+ )
)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $2)
)
- (if (result i32)
- (i32.gt_u
- (get_local $0)
- (i32.const -65)
- )
- (i32.const -1)
- (block $do-once (result i32)
- (set_local $2
- (i32.and
- (tee_local $0
- (i32.add
- (get_local $0)
- (i32.const 11)
- )
+ )
+ (if (result i32)
+ (i32.gt_u
+ (get_local $0)
+ (i32.const -65)
+ )
+ (i32.const -1)
+ (block $do-once (result i32)
+ (set_local $2
+ (i32.and
+ (tee_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
)
- (i32.const -8)
)
+ (i32.const -8)
)
- (if (result i32)
- (tee_local $18
- (i32.load
- (i32.const 180)
- )
+ )
+ (if (result i32)
+ (tee_local $18
+ (i32.load
+ (i32.const 180)
)
- (block (result i32)
- (set_local $14
+ )
+ (block (result i32)
+ (set_local $14
+ (if (result i32)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
(if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $0)
- (i32.const 8)
- )
+ (i32.gt_u
+ (get_local $2)
+ (i32.const 16777215)
)
- (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.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
(i32.or
- (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)
+ (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 8)
+ (i32.const 16)
)
+ (i32.const 8)
)
)
)
- (i32.const 520192)
)
- (i32.const 16)
+ (i32.const 520192)
)
- (i32.const 4)
+ (i32.const 16)
)
+ (i32.const 4)
)
- (get_local $3)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
+ (get_local $3)
+ )
+ (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 16)
+ (i32.const 245760)
)
- (i32.const 2)
+ (i32.const 16)
)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- (i32.const 15)
+ )
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
)
+ (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 $9
- (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
+ )
+ (block
+ (set_local $9
+ (i32.shl
+ (get_local $2)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
(get_local $14)
- (i32.const 31)
+ (i32.const 1)
)
)
+ (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 $12
- (i32.and
- (i32.load offset=4
- (get_local $0)
- )
- (i32.const -8)
+ )
+ (set_local $1
+ (i32.const 0)
+ )
+ (loop $while-in14
+ (if
+ (i32.lt_u
+ (tee_local $4
+ (i32.sub
+ (tee_local $12
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
)
+ (i32.const -8)
)
- (get_local $2)
)
+ (get_local $2)
)
- (get_local $3)
)
- (set_local $1
- (if (result i32)
- (i32.eq
- (get_local $12)
- (get_local $2)
- )
- (block
- (set_local $1
- (get_local $4)
- )
- (set_local $3
- (get_local $0)
- )
- (br $__rjti$3)
+ (get_local $3)
+ )
+ (set_local $1
+ (if (result i32)
+ (i32.eq
+ (get_local $12)
+ (get_local $2)
+ )
+ (block
+ (set_local $1
+ (get_local $4)
)
- (block (result i32)
- (set_local $3
- (get_local $4)
- )
+ (set_local $3
(get_local $0)
)
+ (br $__rjti$3)
+ )
+ (block (result i32)
+ (set_local $3
+ (get_local $4)
+ )
+ (get_local $0)
)
)
)
- (set_local $0
- (select
- (get_local $5)
- (tee_local $4
- (i32.load offset=20
- (get_local $0)
- )
+ )
+ (set_local $0
+ (select
+ (get_local $5)
+ (tee_local $4
+ (i32.load offset=20
+ (get_local $0)
)
- (i32.or
- (i32.eqz
- (get_local $4)
- )
- (i32.eq
- (get_local $4)
- (tee_local $12
- (i32.load
+ )
+ (i32.or
+ (i32.eqz
+ (get_local $4)
+ )
+ (i32.eq
+ (get_local $4)
+ (tee_local $12
+ (i32.load
+ (i32.add
(i32.add
- (i32.add
- (get_local $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $9)
- (i32.const 31)
- )
- (i32.const 2)
+ (get_local $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $9)
+ (i32.const 31)
)
+ (i32.const 2)
)
)
)
@@ -9111,138 +9109,124 @@
)
)
)
- (set_local $4
- (i32.shl
- (get_local $9)
- (i32.xor
- (tee_local $5
- (i32.eqz
- (get_local $12)
- )
+ )
+ (set_local $4
+ (i32.shl
+ (get_local $9)
+ (i32.xor
+ (tee_local $5
+ (i32.eqz
+ (get_local $12)
)
- (i32.const 1)
)
+ (i32.const 1)
)
)
- (set_local $0
- (if (result i32)
- (get_local $5)
- (block (result i32)
- (set_local $4
- (get_local $0)
- )
- (get_local $1)
+ )
+ (set_local $0
+ (if (result i32)
+ (get_local $5)
+ (block (result i32)
+ (set_local $4
+ (get_local $0)
)
- (block
- (set_local $5
- (get_local $0)
- )
- (set_local $9
- (get_local $4)
- )
- (set_local $0
- (get_local $12)
- )
- (br $while-in14)
+ (get_local $1)
+ )
+ (block
+ (set_local $5
+ (get_local $0)
+ )
+ (set_local $9
+ (get_local $4)
+ )
+ (set_local $0
+ (get_local $12)
)
+ (br $while-in14)
)
)
)
)
- (set_local $0
- (i32.const 0)
- )
)
- (if
- (i32.eqz
- (i32.or
- (get_local $4)
- (get_local $0)
- )
+ (set_local $0
+ (i32.const 0)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.or
+ (get_local $4)
+ (get_local $0)
)
- (block
- (drop
- (br_if $do-once
- (get_local $2)
- (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)
+ )
+ (block
+ (drop
+ (br_if $do-once
+ (get_local $2)
+ (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)
+ )
)
)
)
)
)
- (set_local $12
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.add
- (i32.and
+ )
+ (set_local $12
+ (i32.and
+ (i32.shr_u
+ (tee_local $1
+ (i32.add
+ (i32.and
+ (get_local $1)
+ (i32.sub
+ (i32.const 0)
(get_local $1)
- (i32.sub
- (i32.const 0)
- (get_local $1)
- )
)
- (i32.const -1)
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (set_local $4
- (i32.load offset=480
- (i32.shl
- (i32.add
+ )
+ (set_local $4
+ (i32.load offset=480
+ (i32.shl
+ (i32.add
+ (i32.or
(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 $12)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $12)
- )
(tee_local $1
(i32.and
(i32.shr_u
(tee_local $4
(i32.shr_u
- (get_local $4)
(get_local $1)
+ (get_local $12)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $12)
)
(tee_local $1
(i32.and
@@ -9253,9 +9237,9 @@
(get_local $1)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
@@ -9270,1048 +9254,1064 @@
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $4)
- (get_local $1)
+ (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.const 2)
+ (i32.shr_u
+ (get_local $4)
+ (get_local $1)
+ )
)
+ (i32.const 2)
)
)
)
)
- (set_local $4
- (if (result i32)
- (get_local $4)
- (block
- (set_local $1
- (get_local $3)
- )
- (set_local $3
- (get_local $4)
- )
- (br $__rjti$3)
+ )
+ (set_local $4
+ (if (result i32)
+ (get_local $4)
+ (block
+ (set_local $1
+ (get_local $3)
)
- (get_local $0)
+ (set_local $3
+ (get_local $4)
+ )
+ (br $__rjti$3)
)
+ (get_local $0)
)
- (br $__rjto$3)
)
- (loop $while-in16
- (set_local $12
- (i32.lt_u
- (tee_local $4
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $3)
- )
- (i32.const -8)
+ (br $__rjto$3)
+ )
+ (loop $while-in16
+ (set_local $12
+ (i32.lt_u
+ (tee_local $4
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $3)
)
- (get_local $2)
+ (i32.const -8)
)
+ (get_local $2)
)
- (get_local $1)
)
+ (get_local $1)
)
- (set_local $1
- (select
- (get_local $4)
- (get_local $1)
- (get_local $12)
- )
+ )
+ (set_local $1
+ (select
+ (get_local $4)
+ (get_local $1)
+ (get_local $12)
)
- (set_local $0
- (select
+ )
+ (set_local $0
+ (select
+ (get_local $3)
+ (get_local $0)
+ (get_local $12)
+ )
+ )
+ (if
+ (tee_local $4
+ (i32.load offset=16
(get_local $3)
- (get_local $0)
- (get_local $12)
)
)
- (if
- (tee_local $4
- (i32.load offset=16
- (get_local $3)
- )
- )
- (block
- (set_local $3
- (get_local $4)
- )
- (br $while-in16)
+ (block
+ (set_local $3
+ (get_local $4)
)
+ (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 $4
- (get_local $0)
- )
- (set_local $3
- (get_local $1)
- )
)
+ (set_local $4
+ (get_local $0)
+ )
+ (set_local $3
+ (get_local $1)
+ )
+ )
+ (if (result i32)
+ (get_local $4)
(if (result i32)
- (get_local $4)
- (if (result i32)
- (i32.lt_u
- (get_local $3)
- (i32.sub
- (i32.load
- (i32.const 184)
- )
- (get_local $2)
+ (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 $8
- (i32.load
- (i32.const 192)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $4)
+ (tee_local $8
+ (i32.load
+ (i32.const 192)
)
)
- (call $_abort)
)
- (if
- (i32.ge_u
- (get_local $4)
- (tee_local $5
- (i32.add
- (get_local $4)
- (get_local $2)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.ge_u
+ (get_local $4)
+ (tee_local $5
+ (i32.add
+ (get_local $4)
+ (get_local $2)
)
)
- (call $_abort)
)
- (set_local $12
- (i32.load offset=24
- (get_local $4)
+ (call $_abort)
+ )
+ (set_local $12
+ (i32.load offset=24
+ (get_local $4)
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $4)
+ )
)
+ (get_local $4)
)
- (if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
- (get_local $4)
+ (block $do-once17
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $4)
+ (i32.const 20)
+ )
+ )
+ )
)
)
- (get_local $4)
- )
- (block $do-once17
- (if
+ (br_if $do-once17
(i32.eqz
(tee_local $1
(i32.load
(tee_local $0
(i32.add
(get_local $4)
- (i32.const 20)
+ (i32.const 16)
)
)
)
)
)
- (br_if $do-once17
- (i32.eqz
- (tee_local $1
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $4)
- (i32.const 16)
- )
- )
+ )
+ )
+ (loop $while-in20
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $11
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
)
)
)
)
- )
- (loop $while-in20
- (if
- (tee_local $7
- (i32.load
- (tee_local $11
- (i32.add
- (get_local $1)
- (i32.const 20)
- )
- )
- )
+ (block
+ (set_local $1
+ (get_local $7)
)
- (block
- (set_local $1
- (get_local $7)
- )
- (set_local $0
- (get_local $11)
- )
- (br $while-in20)
+ (set_local $0
+ (get_local $11)
)
+ (br $while-in20)
)
- (if
- (tee_local $7
- (i32.load
- (tee_local $11
- (i32.add
- (get_local $1)
- (i32.const 16)
- )
+ )
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $11
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
)
)
)
- (block
- (set_local $1
- (get_local $7)
- )
- (set_local $0
- (get_local $11)
- )
- (br $while-in20)
+ )
+ (block
+ (set_local $1
+ (get_local $7)
+ )
+ (set_local $0
+ (get_local $11)
)
+ (br $while-in20)
)
)
- (if
- (i32.lt_u
+ )
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (get_local $8)
+ )
+ (call $_abort)
+ (block
+ (i32.store
(get_local $0)
- (get_local $8)
+ (i32.const 0)
)
- (call $_abort)
- (block
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (set_local $10
- (get_local $1)
- )
+ (set_local $10
+ (get_local $1)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $11
- (i32.load offset=8
- (get_local $4)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $11
+ (i32.load offset=8
+ (get_local $4)
)
- (get_local $8)
)
- (call $_abort)
+ (get_local $8)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $11)
- (i32.const 12)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $11)
+ (i32.const 12)
)
)
- (get_local $4)
)
- (call $_abort)
+ (get_local $4)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
)
)
- (get_local $4)
)
- (block
- (i32.store
- (get_local $7)
- (get_local $0)
- )
- (i32.store
- (get_local $1)
- (get_local $11)
- )
- (set_local $10
- (get_local $0)
- )
+ (get_local $4)
+ )
+ (block
+ (i32.store
+ (get_local $7)
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $11)
+ )
+ (set_local $10
+ (get_local $0)
)
- (call $_abort)
)
+ (call $_abort)
)
)
- (if
- (get_local $12)
- (block $do-once21
- (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)
- )
+ )
+ (if
+ (get_local $12)
+ (block $do-once21
+ (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 480)
+ (i32.const 2)
)
+ (i32.const 480)
)
)
)
- (block
- (i32.store
- (get_local $0)
+ )
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $10)
+ )
+ (if
+ (i32.eqz
(get_local $10)
)
- (if
- (i32.eqz
- (get_local $10)
- )
- (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)
+ (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)
)
)
- (br $do-once21)
)
+ (br $do-once21)
)
)
- (block
- (if
- (i32.lt_u
- (get_local $12)
- (i32.load
- (i32.const 192)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $12)
+ (i32.load
+ (i32.const 192)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $12)
- (i32.const 16)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $12)
+ (i32.const 16)
)
)
- (get_local $4)
- )
- (i32.store
- (get_local $0)
- (get_local $10)
- )
- (i32.store offset=20
- (get_local $12)
- (get_local $10)
)
+ (get_local $4)
)
- (br_if $do-once21
- (i32.eqz
- (get_local $10)
- )
+ (i32.store
+ (get_local $0)
+ (get_local $10)
+ )
+ (i32.store offset=20
+ (get_local $12)
+ (get_local $10)
)
)
- )
- (if
- (i32.lt_u
- (get_local $10)
- (tee_local $0
- (i32.load
- (i32.const 192)
- )
+ (br_if $do-once21
+ (i32.eqz
+ (get_local $10)
)
)
- (call $_abort)
)
- (i32.store offset=24
+ )
+ (if
+ (i32.lt_u
(get_local $10)
- (get_local $12)
+ (tee_local $0
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (get_local $10)
+ (get_local $12)
+ )
+ (if
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $4)
+ )
)
(if
- (tee_local $1
- (i32.load offset=16
- (get_local $4)
- )
+ (i32.lt_u
+ (get_local $1)
+ (get_local $0)
)
- (if
- (i32.lt_u
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (get_local $10)
(get_local $1)
- (get_local $0)
)
- (call $_abort)
- (block
- (i32.store offset=16
- (get_local $10)
- (get_local $1)
- )
- (i32.store offset=24
- (get_local $1)
- (get_local $10)
- )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $10)
)
)
)
+ )
+ (if
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $4)
+ )
+ )
(if
- (tee_local $0
- (i32.load offset=20
- (get_local $4)
+ (i32.lt_u
+ (get_local $0)
+ (i32.load
+ (i32.const 192)
)
)
- (if
- (i32.lt_u
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (get_local $10)
(get_local $0)
- (i32.load
- (i32.const 192)
- )
)
- (call $_abort)
- (block
- (i32.store offset=20
- (get_local $10)
- (get_local $0)
- )
- (i32.store offset=24
- (get_local $0)
- (get_local $10)
- )
+ (i32.store offset=24
+ (get_local $0)
+ (get_local $10)
)
)
)
)
)
- (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.store
+ )
+ (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
- (i32.add
- (get_local $4)
- (get_local $0)
- )
- (i32.const 4)
+ (get_local $3)
+ (get_local $2)
)
)
- (i32.or
- (i32.load
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (tee_local $0
+ (i32.add
+ (i32.add
+ (get_local $4)
(get_local $0)
)
- (i32.const 1)
+ (i32.const 4)
)
)
- )
- (block $do-once25
- (i32.store offset=4
- (get_local $4)
- (i32.or
- (get_local $2)
- (i32.const 3)
+ (i32.or
+ (i32.load
+ (get_local $0)
)
+ (i32.const 1)
)
- (i32.store offset=4
+ )
+ )
+ (block $do-once25
+ (i32.store offset=4
+ (get_local $4)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (get_local $5)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
(get_local $5)
- (i32.or
- (get_local $3)
- (i32.const 1)
- )
+ (get_local $3)
)
- (i32.store
- (i32.add
- (get_local $5)
- (get_local $3)
- )
+ (get_local $3)
+ )
+ (set_local $0
+ (i32.shr_u
(get_local $3)
+ (i32.const 3)
)
- (set_local $0
- (i32.shr_u
- (get_local $3)
- (i32.const 3)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 256)
)
- (if
- (i32.lt_u
- (get_local $3)
- (i32.const 256)
+ (block
+ (set_local $3
+ (i32.add
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
)
- (block
- (set_local $3
- (i32.add
+ (if
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 176)
+ )
+ )
+ (tee_local $0
(i32.shl
+ (i32.const 1)
(get_local $0)
- (i32.const 3)
)
- (i32.const 216)
)
)
(if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
- )
- )
+ (i32.lt_u
(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
+ (tee_local $1
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 192)
- )
)
- (call $_abort)
- (block
- (set_local $13
- (get_local $1)
- )
- (set_local $6
- (get_local $0)
- )
+ (i32.load
+ (i32.const 192)
)
)
+ (call $_abort)
(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)
- )
+ (get_local $1)
)
(set_local $6
- (get_local $3)
+ (get_local $0)
)
)
)
- (i32.store
- (get_local $13)
- (get_local $5)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $5)
- )
- (i32.store offset=8
- (get_local $5)
- (get_local $6)
- )
- (i32.store offset=12
- (get_local $5)
- (get_local $3)
+ (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 $6
+ (get_local $3)
+ )
)
- (br $do-once25)
)
+ (i32.store
+ (get_local $13)
+ (get_local $5)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $5)
+ )
+ (i32.store offset=8
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $5)
+ (get_local $3)
+ )
+ (br $do-once25)
)
- (set_local $2
- (i32.add
- (i32.shl
- (tee_local $7
+ )
+ (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)
+ )
+ )
(if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $3)
- (i32.const 8)
- )
+ (i32.gt_u
+ (get_local $3)
+ (i32.const 16777215)
)
- (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.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
(i32.or
- (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)
+ (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 8)
+ (i32.const 16)
)
+ (i32.const 8)
)
)
)
- (i32.const 520192)
)
- (i32.const 16)
+ (i32.const 520192)
)
- (i32.const 4)
+ (i32.const 16)
)
+ (i32.const 4)
)
- (get_local $2)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
+ (get_local $2)
+ )
+ (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 16)
+ (i32.const 245760)
)
- (i32.const 2)
+ (i32.const 16)
)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- (i32.const 15)
+ )
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
)
+ (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 480)
+ (i32.const 2)
)
+ (i32.const 480)
)
- (i32.store offset=28
- (get_local $5)
- (get_local $7)
- )
- (i32.store offset=4
- (tee_local $0
- (i32.add
- (get_local $5)
- (i32.const 16)
- )
+ )
+ (i32.store offset=28
+ (get_local $5)
+ (get_local $7)
+ )
+ (i32.store offset=4
+ (tee_local $0
+ (i32.add
+ (get_local $5)
+ (i32.const 16)
)
- (i32.const 0)
)
- (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)
- )
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $0)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 180)
)
)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (get_local $1)
- (get_local $0)
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $7)
)
)
- (i32.store
- (get_local $2)
- (get_local $5)
- )
- (i32.store offset=24
- (get_local $5)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $5)
- (get_local $5)
- )
- (i32.store offset=8
- (get_local $5)
- (get_local $5)
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
)
- (br $do-once25)
)
+ (i32.store
+ (get_local $2)
+ (get_local $5)
+ )
+ (i32.store offset=24
+ (get_local $5)
+ (get_local $2)
+ )
+ (i32.store offset=12
+ (get_local $5)
+ (get_local $5)
+ )
+ (i32.store offset=8
+ (get_local $5)
+ (get_local $5)
+ )
+ (br $do-once25)
)
- (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
+ )
+ (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 31)
+ (i32.const 1)
)
)
+ (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)
- )
- (i32.const -8)
+ )
+ (block $__rjto$1
+ (block $__rjti$1
+ (loop $while-in28
+ (br_if $__rjti$1
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
)
- (get_local $3)
+ (i32.const -8)
)
+ (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
+ )
+ (if
+ (tee_local $1
+ (i32.load
+ (tee_local $7
+ (i32.add
(i32.add
- (i32.add
- (get_local $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $7)
- (i32.const 31)
- )
- (i32.const 2)
+ (get_local $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $7)
+ (i32.const 31)
)
+ (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
- (i32.store
- (get_local $7)
- (get_local $5)
- )
- (i32.store offset=24
- (get_local $5)
- (get_local $0)
- )
- (i32.store offset=12
- (get_local $5)
- (get_local $5)
+ (set_local $7
+ (get_local $2)
)
- (i32.store offset=8
- (get_local $5)
- (get_local $5)
+ (set_local $0
+ (get_local $1)
)
- (br $do-once25)
+ (br $while-in28)
)
)
- (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)
+ (i32.lt_u
+ (get_local $7)
+ (i32.load
+ (i32.const 192)
)
)
+ (call $_abort)
(block
- (i32.store offset=12
- (get_local $2)
- (get_local $5)
- )
(i32.store
- (get_local $3)
+ (get_local $7)
(get_local $5)
)
- (i32.store offset=8
+ (i32.store offset=24
(get_local $5)
- (get_local $2)
+ (get_local $0)
)
(i32.store offset=12
(get_local $5)
- (get_local $0)
+ (get_local $5)
)
- (i32.store offset=24
+ (i32.store offset=8
+ (get_local $5)
(get_local $5)
- (i32.const 0)
)
+ (br $do-once25)
)
- (call $_abort)
)
+ (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 $5)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $5)
+ )
+ (i32.store offset=8
+ (get_local $5)
+ (get_local $2)
+ )
+ (i32.store offset=12
+ (get_local $5)
+ (get_local $0)
+ )
+ (i32.store offset=24
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ (call $_abort)
)
)
)
- (return
- (i32.add
- (get_local $4)
- (i32.const 8)
- )
+ )
+ (return
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
)
)
- (get_local $2)
)
(get_local $2)
)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $2)
)
)
)
)
- (if
- (i32.ge_u
- (tee_local $1
- (i32.load
- (i32.const 184)
- )
+ )
+ (if
+ (i32.ge_u
+ (tee_local $1
+ (i32.load
+ (i32.const 184)
)
- (get_local $0)
)
- (block
- (set_local $2
- (i32.load
- (i32.const 196)
+ (get_local $0)
+ )
+ (block
+ (set_local $2
+ (i32.load
+ (i32.const 196)
+ )
+ )
+ (if
+ (i32.gt_u
+ (tee_local $3
+ (i32.sub
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.const 15)
)
- (if
- (i32.gt_u
- (tee_local $3
- (i32.sub
- (get_local $1)
+ (block
+ (i32.store
+ (i32.const 196)
+ (tee_local $1
+ (i32.add
+ (get_local $2)
(get_local $0)
)
)
- (i32.const 15)
)
- (block
- (i32.store
- (i32.const 196)
- (tee_local $1
- (i32.add
- (get_local $2)
- (get_local $0)
- )
- )
- )
- (i32.store
- (i32.const 184)
+ (i32.store
+ (i32.const 184)
+ (get_local $3)
+ )
+ (i32.store offset=4
+ (get_local $1)
+ (i32.or
(get_local $3)
+ (i32.const 1)
)
- (i32.store offset=4
+ )
+ (i32.store
+ (i32.add
(get_local $1)
- (i32.or
- (get_local $3)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (get_local $1)
- (get_local $3)
- )
(get_local $3)
)
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $0)
- (i32.const 3)
- )
- )
+ (get_local $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 $0)
+ (i32.const 3)
)
- (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
+ (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.store
+ (tee_local $0
+ (i32.add
(i32.add
- (i32.add
- (get_local $2)
- (get_local $1)
- )
- (i32.const 4)
+ (get_local $2)
+ (get_local $1)
)
+ (i32.const 4)
)
- (i32.or
- (i32.load
- (get_local $0)
- )
- (i32.const 1)
+ )
+ (i32.or
+ (i32.load
+ (get_local $0)
)
+ (i32.const 1)
)
)
)
- (return
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
+ )
+ (return
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
)
)
)
+ )
+ (block $folding-inner0
(br_if $folding-inner0
(i32.gt_u
(tee_local $1
diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise
index 5cfa87fe1..de06484f2 100644
--- a/test/emcc_hello_world.fromasm.imprecise
+++ b/test/emcc_hello_world.fromasm.imprecise
@@ -7503,274 +7503,258 @@
(local $16 i32)
(local $17 i32)
(local $18 i32)
- (block $folding-inner0
- (set_local $0
- (if (result i32)
- (i32.lt_u
- (get_local $0)
- (i32.const 245)
- )
- (block (result i32)
- (if
- (i32.and
- (tee_local $10
- (i32.shr_u
- (tee_local $6
- (i32.load
- (i32.const 176)
- )
+ (set_local $0
+ (if (result i32)
+ (i32.lt_u
+ (get_local $0)
+ (i32.const 245)
+ )
+ (block (result i32)
+ (if
+ (i32.and
+ (tee_local $10
+ (i32.shr_u
+ (tee_local $6
+ (i32.load
+ (i32.const 176)
)
- (tee_local $13
- (i32.shr_u
- (tee_local $2
- (select
- (i32.const 16)
- (i32.and
- (i32.add
- (get_local $0)
- (i32.const 11)
- )
- (i32.const -8)
- )
- (i32.lt_u
+ )
+ (tee_local $13
+ (i32.shr_u
+ (tee_local $2
+ (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 3)
)
+ (i32.const 3)
)
)
)
- (i32.const 3)
)
- (block
- (set_local $11
- (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 $10)
- (i32.const 1)
- )
+ (i32.const 3)
+ )
+ (block
+ (set_local $11
+ (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 $10)
(i32.const 1)
)
- (get_local $13)
+ (i32.const 1)
)
+ (get_local $13)
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 3)
)
+ (i32.const 216)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (if
- (i32.eq
- (get_local $2)
- (get_local $11)
- )
- (i32.store
- (i32.const 176)
- (i32.and
- (get_local $6)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $4)
- )
- (i32.const -1)
+ )
+ (if
+ (i32.eq
+ (get_local $2)
+ (get_local $11)
+ )
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (get_local $6)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $4)
)
+ (i32.const -1)
)
)
- (block
- (if
- (i32.lt_u
- (get_local $11)
- (i32.load
- (i32.const 192)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $11)
+ (i32.load
+ (i32.const 192)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $11)
- (i32.const 12)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $11)
+ (i32.const 12)
)
)
- (get_local $7)
)
- (block
- (i32.store
- (get_local $0)
- (get_local $2)
- )
- (i32.store
- (get_local $3)
- (get_local $11)
- )
- )
- (call $_abort)
+ (get_local $7)
)
- )
- )
- (i32.store offset=4
- (get_local $7)
- (i32.or
- (tee_local $0
- (i32.shl
- (get_local $4)
- (i32.const 3)
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $2)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $11)
)
)
- (i32.const 3)
+ (call $_abort)
)
)
- (i32.store
+ )
+ (i32.store offset=4
+ (get_local $7)
+ (i32.or
(tee_local $0
- (i32.add
- (i32.add
- (get_local $7)
- (get_local $0)
- )
- (i32.const 4)
+ (i32.shl
+ (get_local $4)
+ (i32.const 3)
)
)
- (i32.or
- (i32.load
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (tee_local $0
+ (i32.add
+ (i32.add
+ (get_local $7)
(get_local $0)
)
- (i32.const 1)
+ (i32.const 4)
)
)
- (return
- (get_local $1)
+ (i32.or
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 1)
)
)
+ (return
+ (get_local $1)
+ )
)
- (if (result i32)
- (i32.gt_u
- (get_local $2)
- (tee_local $0
- (i32.load
- (i32.const 184)
- )
+ )
+ (if (result i32)
+ (i32.gt_u
+ (get_local $2)
+ (tee_local $0
+ (i32.load
+ (i32.const 184)
)
)
- (block (result i32)
- (if
- (get_local $10)
- (block
- (set_local $7
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.add
- (i32.and
- (tee_local $3
- (i32.and
- (i32.shl
- (get_local $10)
- (get_local $13)
- )
- (i32.or
- (tee_local $3
- (i32.shl
- (i32.const 2)
- (get_local $13)
- )
- )
- (i32.sub
- (i32.const 0)
- (get_local $3)
+ )
+ (block (result i32)
+ (if
+ (get_local $10)
+ (block
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.add
+ (i32.and
+ (tee_local $3
+ (i32.and
+ (i32.shl
+ (get_local $10)
+ (get_local $13)
+ )
+ (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.const -1)
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
+ )
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (set_local $10
- (i32.load
- (tee_local $4
- (i32.add
- (tee_local $8
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $7
- (i32.add
- (i32.shl
- (tee_local $11
- (i32.add
+ )
+ (set_local $10
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (tee_local $8
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (tee_local $7
+ (i32.add
+ (i32.shl
+ (tee_local $11
+ (i32.add
+ (i32.or
(i32.or
(i32.or
(i32.or
- (i32.or
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $4
- (i32.shr_u
- (get_local $3)
- (get_local $7)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $7)
- )
(tee_local $3
(i32.and
(i32.shr_u
(tee_local $4
(i32.shr_u
- (get_local $4)
(get_local $3)
+ (get_local $7)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $7)
)
(tee_local $3
(i32.and
@@ -7781,9 +7765,9 @@
(get_local $3)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
@@ -7798,310 +7782,310 @@
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $4)
- (get_local $3)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.shr_u
+ (get_local $4)
+ (get_local $3)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
)
)
+ (i32.shr_u
+ (get_local $4)
+ (get_local $3)
+ )
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 3)
)
+ (i32.const 216)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (if
- (i32.eq
- (get_local $7)
- (get_local $10)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.and
- (get_local $6)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $11)
- )
- (i32.const -1)
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (get_local $10)
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (get_local $6)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $11)
)
+ (i32.const -1)
)
)
- (set_local $9
- (get_local $0)
- )
)
- (block
- (if
- (i32.lt_u
- (get_local $10)
- (i32.load
- (i32.const 192)
- )
+ (set_local $9
+ (get_local $0)
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (i32.load
+ (i32.const 192)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $10)
- (i32.const 12)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $10)
+ (i32.const 12)
)
)
- (get_local $8)
)
- (block
- (i32.store
- (get_local $0)
- (get_local $7)
- )
- (i32.store
- (get_local $3)
- (get_local $10)
- )
- (set_local $9
- (i32.load
- (i32.const 184)
- )
+ (get_local $8)
+ )
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $7)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $10)
+ )
+ (set_local $9
+ (i32.load
+ (i32.const 184)
)
)
- (call $_abort)
)
+ (call $_abort)
)
)
- (i32.store offset=4
- (get_local $8)
- (i32.or
+ )
+ (i32.store offset=4
+ (get_local $8)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (tee_local $7
+ (i32.add
+ (get_local $8)
(get_local $2)
- (i32.const 3)
)
)
- (i32.store offset=4
- (tee_local $7
- (i32.add
- (get_local $8)
- (get_local $2)
- )
- )
- (i32.or
- (tee_local $11
- (i32.sub
- (i32.shl
- (get_local $11)
- (i32.const 3)
- )
- (get_local $2)
+ (i32.or
+ (tee_local $11
+ (i32.sub
+ (i32.shl
+ (get_local $11)
+ (i32.const 3)
)
+ (get_local $2)
)
- (i32.const 1)
)
+ (i32.const 1)
)
- (i32.store
- (i32.add
- (get_local $7)
- (get_local $11)
- )
+ )
+ (i32.store
+ (i32.add
+ (get_local $7)
(get_local $11)
)
- (if
- (get_local $9)
- (block
- (set_local $6
- (i32.load
- (i32.const 196)
- )
+ (get_local $11)
+ )
+ (if
+ (get_local $9)
+ (block
+ (set_local $6
+ (i32.load
+ (i32.const 196)
)
- (set_local $2
- (i32.add
- (i32.shl
- (tee_local $0
- (i32.shr_u
- (get_local $9)
- (i32.const 3)
- )
+ )
+ (set_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $0
+ (i32.shr_u
+ (get_local $9)
+ (i32.const 3)
)
- (i32.const 3)
)
- (i32.const 216)
+ (i32.const 3)
)
+ (i32.const 216)
)
- (if
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 176)
- )
+ )
+ (if
+ (i32.and
+ (tee_local $3
+ (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)
)
)
- (if
- (i32.lt_u
- (tee_local $0
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 192)
- )
)
- (call $_abort)
- (block
- (set_local $5
- (get_local $3)
- )
- (set_local $1
- (get_local $0)
- )
+ (i32.load
+ (i32.const 192)
)
)
+ (call $_abort)
(block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $3)
- (get_local $0)
- )
- )
(set_local $5
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
+ (get_local $3)
)
(set_local $1
- (get_local $2)
+ (get_local $0)
)
)
)
- (i32.store
- (get_local $5)
- (get_local $6)
- )
- (i32.store offset=12
- (get_local $1)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $1)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $2)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $3)
+ (get_local $0)
+ )
+ )
+ (set_local $5
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
+ )
+ (set_local $1
+ (get_local $2)
+ )
)
)
- )
- (i32.store
- (i32.const 184)
- (get_local $11)
- )
- (i32.store
- (i32.const 196)
- (get_local $7)
- )
- (return
- (get_local $4)
+ (i32.store
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $1)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $1)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $2)
+ )
)
)
+ (i32.store
+ (i32.const 184)
+ (get_local $11)
+ )
+ (i32.store
+ (i32.const 196)
+ (get_local $7)
+ )
+ (return
+ (get_local $4)
+ )
)
- (if (result i32)
- (tee_local $0
- (i32.load
- (i32.const 180)
- )
+ )
+ (if (result i32)
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
)
- (block
- (set_local $7
- (i32.and
- (i32.shr_u
- (tee_local $0
- (i32.add
- (i32.and
+ )
+ (block
+ (set_local $7
+ (i32.and
+ (i32.shr_u
+ (tee_local $0
+ (i32.add
+ (i32.and
+ (get_local $0)
+ (i32.sub
+ (i32.const 0)
(get_local $0)
- (i32.sub
- (i32.const 0)
- (get_local $0)
- )
)
- (i32.const -1)
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (set_local $11
- (i32.sub
- (i32.and
- (i32.load offset=4
- (tee_local $0
- (i32.load offset=480
- (i32.shl
- (i32.add
+ )
+ (set_local $11
+ (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
- (i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.shr_u
- (get_local $0)
- (get_local $7)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $7)
- )
(tee_local $0
(i32.and
(i32.shr_u
(tee_local $1
(i32.shr_u
- (get_local $1)
(get_local $0)
+ (get_local $7)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $7)
)
(tee_local $0
(i32.and
@@ -8112,9 +8096,9 @@
(get_local $0)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
@@ -8129,845 +8113,859 @@
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $1)
- (get_local $0)
+ (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.const 2)
+ (i32.shr_u
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.const 2)
)
)
)
- (i32.const -8)
)
- (get_local $2)
+ (i32.const -8)
)
+ (get_local $2)
)
- (set_local $7
- (get_local $0)
- )
- (loop $while-in
- (block $while-out
+ )
+ (set_local $7
+ (get_local $0)
+ )
+ (loop $while-in
+ (block $while-out
+ (if
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $0)
+ )
+ )
+ (set_local $0
+ (get_local $1)
+ )
(if
- (tee_local $1
- (i32.load offset=16
- (get_local $0)
+ (i32.eqz
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $0)
+ )
)
)
- (set_local $0
- (get_local $1)
- )
- (if
- (i32.eqz
- (tee_local $0
- (i32.load offset=20
- (get_local $0)
- )
- )
+ (block
+ (set_local $6
+ (get_local $11)
)
- (block
- (set_local $6
- (get_local $11)
- )
- (set_local $8
- (get_local $7)
- )
- (br $while-out)
+ (set_local $8
+ (get_local $7)
)
+ (br $while-out)
)
)
- (set_local $6
- (i32.lt_u
- (tee_local $1
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $0)
- )
- (i32.const -8)
+ )
+ (set_local $6
+ (i32.lt_u
+ (tee_local $1
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
)
- (get_local $2)
+ (i32.const -8)
)
+ (get_local $2)
)
- (get_local $11)
)
+ (get_local $11)
)
- (set_local $11
- (select
- (get_local $1)
- (get_local $11)
- (get_local $6)
- )
+ )
+ (set_local $11
+ (select
+ (get_local $1)
+ (get_local $11)
+ (get_local $6)
)
- (set_local $7
- (select
- (get_local $0)
- (get_local $7)
- (get_local $6)
- )
+ )
+ (set_local $7
+ (select
+ (get_local $0)
+ (get_local $7)
+ (get_local $6)
)
- (br $while-in)
)
+ (br $while-in)
)
- (if
- (i32.lt_u
- (get_local $8)
- (tee_local $10
- (i32.load
- (i32.const 192)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $8)
+ (tee_local $10
+ (i32.load
+ (i32.const 192)
)
)
- (call $_abort)
)
- (if
- (i32.ge_u
- (get_local $8)
- (tee_local $5
- (i32.add
- (get_local $8)
- (get_local $2)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.ge_u
+ (get_local $8)
+ (tee_local $5
+ (i32.add
+ (get_local $8)
+ (get_local $2)
)
)
- (call $_abort)
)
- (set_local $9
- (i32.load offset=24
- (get_local $8)
+ (call $_abort)
+ )
+ (set_local $9
+ (i32.load offset=24
+ (get_local $8)
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $8)
+ )
)
+ (get_local $8)
)
- (if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
- (get_local $8)
+ (block $do-once4
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $8)
+ (i32.const 20)
+ )
+ )
+ )
)
)
- (get_local $8)
- )
- (block $do-once4
- (if
+ (br_if $do-once4
(i32.eqz
(tee_local $1
(i32.load
(tee_local $0
(i32.add
(get_local $8)
- (i32.const 20)
+ (i32.const 16)
)
)
)
)
)
- (br_if $do-once4
- (i32.eqz
- (tee_local $1
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $8)
- (i32.const 16)
- )
- )
+ )
+ )
+ (loop $while-in7
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $11
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
)
)
)
)
- )
- (loop $while-in7
- (if
- (tee_local $7
- (i32.load
- (tee_local $11
- (i32.add
- (get_local $1)
- (i32.const 20)
- )
- )
- )
+ (block
+ (set_local $1
+ (get_local $7)
)
- (block
- (set_local $1
- (get_local $7)
- )
- (set_local $0
- (get_local $11)
- )
- (br $while-in7)
+ (set_local $0
+ (get_local $11)
)
+ (br $while-in7)
)
- (if
- (tee_local $7
- (i32.load
- (tee_local $11
- (i32.add
- (get_local $1)
- (i32.const 16)
- )
+ )
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $11
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
)
)
)
- (block
- (set_local $1
- (get_local $7)
- )
- (set_local $0
- (get_local $11)
- )
- (br $while-in7)
+ )
+ (block
+ (set_local $1
+ (get_local $7)
)
+ (set_local $0
+ (get_local $11)
+ )
+ (br $while-in7)
)
)
- (if
- (i32.lt_u
+ )
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (get_local $10)
+ )
+ (call $_abort)
+ (block
+ (i32.store
(get_local $0)
- (get_local $10)
+ (i32.const 0)
)
- (call $_abort)
- (block
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (set_local $4
- (get_local $1)
- )
+ (set_local $4
+ (get_local $1)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $11
- (i32.load offset=8
- (get_local $8)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $11
+ (i32.load offset=8
+ (get_local $8)
)
- (get_local $10)
)
- (call $_abort)
+ (get_local $10)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $11)
- (i32.const 12)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $11)
+ (i32.const 12)
)
)
- (get_local $8)
)
- (call $_abort)
+ (get_local $8)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
)
)
- (get_local $8)
)
- (block
- (i32.store
- (get_local $7)
- (get_local $0)
- )
- (i32.store
- (get_local $1)
- (get_local $11)
- )
- (set_local $4
- (get_local $0)
- )
+ (get_local $8)
+ )
+ (block
+ (i32.store
+ (get_local $7)
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $11)
+ )
+ (set_local $4
+ (get_local $0)
)
- (call $_abort)
)
+ (call $_abort)
)
)
- (if
- (get_local $9)
- (block $do-once8
- (if
- (i32.eq
- (get_local $8)
- (i32.load
- (tee_local $0
- (i32.add
- (i32.shl
- (tee_local $1
- (i32.load offset=28
- (get_local $8)
- )
+ )
+ (if
+ (get_local $9)
+ (block $do-once8
+ (if
+ (i32.eq
+ (get_local $8)
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $1
+ (i32.load offset=28
+ (get_local $8)
)
- (i32.const 2)
)
- (i32.const 480)
+ (i32.const 2)
)
+ (i32.const 480)
)
)
)
- (block
- (i32.store
- (get_local $0)
+ )
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $4)
+ )
+ (if
+ (i32.eqz
(get_local $4)
)
- (if
- (i32.eqz
- (get_local $4)
- )
- (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)
+ (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)
)
)
- (br $do-once8)
)
+ (br $do-once8)
)
)
- (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)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $9)
- (i32.const 16)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $9)
+ (i32.const 16)
)
)
- (get_local $8)
- )
- (i32.store
- (get_local $0)
- (get_local $4)
- )
- (i32.store offset=20
- (get_local $9)
- (get_local $4)
)
+ (get_local $8)
)
- (br_if $do-once8
- (i32.eqz
- (get_local $4)
- )
+ (i32.store
+ (get_local $0)
+ (get_local $4)
+ )
+ (i32.store offset=20
+ (get_local $9)
+ (get_local $4)
)
)
- )
- (if
- (i32.lt_u
- (get_local $4)
- (tee_local $0
- (i32.load
- (i32.const 192)
- )
+ (br_if $do-once8
+ (i32.eqz
+ (get_local $4)
)
)
- (call $_abort)
)
- (i32.store offset=24
+ )
+ (if
+ (i32.lt_u
(get_local $4)
- (get_local $9)
+ (tee_local $0
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (get_local $4)
+ (get_local $9)
+ )
+ (if
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $8)
+ )
)
(if
- (tee_local $1
- (i32.load offset=16
- (get_local $8)
- )
+ (i32.lt_u
+ (get_local $1)
+ (get_local $0)
)
- (if
- (i32.lt_u
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (get_local $4)
(get_local $1)
- (get_local $0)
)
- (call $_abort)
- (block
- (i32.store offset=16
- (get_local $4)
- (get_local $1)
- )
- (i32.store offset=24
- (get_local $1)
- (get_local $4)
- )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $4)
)
)
)
+ )
+ (if
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $8)
+ )
+ )
(if
- (tee_local $0
- (i32.load offset=20
- (get_local $8)
+ (i32.lt_u
+ (get_local $0)
+ (i32.load
+ (i32.const 192)
)
)
- (if
- (i32.lt_u
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (get_local $4)
(get_local $0)
- (i32.load
- (i32.const 192)
- )
)
- (call $_abort)
- (block
- (i32.store offset=20
- (get_local $4)
- (get_local $0)
- )
- (i32.store offset=24
- (get_local $0)
- (get_local $4)
- )
+ (i32.store offset=24
+ (get_local $0)
+ (get_local $4)
)
)
)
)
)
- (if
- (i32.lt_u
- (get_local $6)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (tee_local $0
- (i32.add
- (get_local $6)
- (get_local $2)
- )
- )
- (i32.const 3)
- )
- )
- (i32.store
+ )
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $8)
+ (i32.or
(tee_local $0
(i32.add
- (i32.add
- (get_local $8)
- (get_local $0)
- )
- (i32.const 4)
+ (get_local $6)
+ (get_local $2)
)
)
- (i32.or
- (i32.load
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (tee_local $0
+ (i32.add
+ (i32.add
+ (get_local $8)
(get_local $0)
)
- (i32.const 1)
+ (i32.const 4)
)
)
- )
- (block
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (get_local $2)
- (i32.const 3)
+ (i32.or
+ (i32.load
+ (get_local $0)
)
+ (i32.const 1)
)
- (i32.store offset=4
+ )
+ )
+ (block
+ (i32.store offset=4
+ (get_local $8)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (get_local $5)
+ (i32.or
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
(get_local $5)
- (i32.or
- (get_local $6)
- (i32.const 1)
- )
+ (get_local $6)
)
- (i32.store
- (i32.add
- (get_local $5)
- (get_local $6)
+ (get_local $6)
+ )
+ (if
+ (tee_local $0
+ (i32.load
+ (i32.const 184)
)
- (get_local $6)
)
- (if
- (tee_local $0
+ (block
+ (set_local $4
(i32.load
- (i32.const 184)
+ (i32.const 196)
)
)
- (block
- (set_local $4
- (i32.load
- (i32.const 196)
+ (set_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $0
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 216)
)
- (set_local $2
- (i32.add
+ )
+ (if
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 176)
+ )
+ )
+ (tee_local $0
(i32.shl
- (tee_local $0
- (i32.shr_u
- (get_local $0)
- (i32.const 3)
- )
- )
- (i32.const 3)
+ (i32.const 1)
+ (get_local $0)
)
- (i32.const 216)
)
)
(if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
- )
- )
+ (i32.lt_u
(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
+ (tee_local $1
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 192)
- )
)
- (call $_abort)
- (block
- (set_local $12
- (get_local $1)
- )
- (set_local $3
- (get_local $0)
- )
+ (i32.load
+ (i32.const 192)
)
)
+ (call $_abort)
(block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $1)
- (get_local $0)
- )
- )
(set_local $12
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
+ (get_local $1)
)
(set_local $3
- (get_local $2)
+ (get_local $0)
)
)
)
- (i32.store
- (get_local $12)
- (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)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
+ )
+ )
+ (set_local $12
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
+ )
+ (set_local $3
+ (get_local $2)
+ )
)
)
- )
- (i32.store
- (i32.const 184)
- (get_local $6)
- )
- (i32.store
- (i32.const 196)
- (get_local $5)
+ (i32.store
+ (get_local $12)
+ (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)
+ )
)
)
- )
- (return
- (i32.add
- (get_local $8)
- (i32.const 8)
+ (i32.store
+ (i32.const 184)
+ (get_local $6)
+ )
+ (i32.store
+ (i32.const 196)
+ (get_local $5)
)
)
)
- (get_local $2)
+ (return
+ (i32.add
+ (get_local $8)
+ (i32.const 8)
+ )
+ )
)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $2)
)
- (if (result i32)
- (i32.gt_u
- (get_local $0)
- (i32.const -65)
- )
- (i32.const -1)
- (block $do-once (result i32)
- (set_local $2
- (i32.and
- (tee_local $0
- (i32.add
- (get_local $0)
- (i32.const 11)
- )
+ )
+ (if (result i32)
+ (i32.gt_u
+ (get_local $0)
+ (i32.const -65)
+ )
+ (i32.const -1)
+ (block $do-once (result i32)
+ (set_local $2
+ (i32.and
+ (tee_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
)
- (i32.const -8)
)
+ (i32.const -8)
)
- (if (result i32)
- (tee_local $18
- (i32.load
- (i32.const 180)
- )
+ )
+ (if (result i32)
+ (tee_local $18
+ (i32.load
+ (i32.const 180)
)
- (block (result i32)
- (set_local $14
+ )
+ (block (result i32)
+ (set_local $14
+ (if (result i32)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
(if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $0)
- (i32.const 8)
- )
+ (i32.gt_u
+ (get_local $2)
+ (i32.const 16777215)
)
- (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.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
(i32.or
- (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)
+ (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 8)
+ (i32.const 16)
)
+ (i32.const 8)
)
)
)
- (i32.const 520192)
)
- (i32.const 16)
+ (i32.const 520192)
)
- (i32.const 4)
+ (i32.const 16)
)
+ (i32.const 4)
)
- (get_local $3)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
+ (get_local $3)
+ )
+ (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 16)
+ (i32.const 245760)
)
- (i32.const 2)
+ (i32.const 16)
)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- (i32.const 15)
+ )
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
)
+ (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 $9
- (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
+ )
+ (block
+ (set_local $9
+ (i32.shl
+ (get_local $2)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
(get_local $14)
- (i32.const 31)
+ (i32.const 1)
)
)
+ (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 $12
- (i32.and
- (i32.load offset=4
- (get_local $0)
- )
- (i32.const -8)
+ )
+ (set_local $1
+ (i32.const 0)
+ )
+ (loop $while-in14
+ (if
+ (i32.lt_u
+ (tee_local $4
+ (i32.sub
+ (tee_local $12
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
)
+ (i32.const -8)
)
- (get_local $2)
)
+ (get_local $2)
)
- (get_local $3)
)
- (set_local $1
- (if (result i32)
- (i32.eq
- (get_local $12)
- (get_local $2)
- )
- (block
- (set_local $1
- (get_local $4)
- )
- (set_local $3
- (get_local $0)
- )
- (br $__rjti$3)
+ (get_local $3)
+ )
+ (set_local $1
+ (if (result i32)
+ (i32.eq
+ (get_local $12)
+ (get_local $2)
+ )
+ (block
+ (set_local $1
+ (get_local $4)
)
- (block (result i32)
- (set_local $3
- (get_local $4)
- )
+ (set_local $3
(get_local $0)
)
+ (br $__rjti$3)
+ )
+ (block (result i32)
+ (set_local $3
+ (get_local $4)
+ )
+ (get_local $0)
)
)
)
- (set_local $0
- (select
- (get_local $5)
- (tee_local $4
- (i32.load offset=20
- (get_local $0)
- )
+ )
+ (set_local $0
+ (select
+ (get_local $5)
+ (tee_local $4
+ (i32.load offset=20
+ (get_local $0)
)
- (i32.or
- (i32.eqz
- (get_local $4)
- )
- (i32.eq
- (get_local $4)
- (tee_local $12
- (i32.load
+ )
+ (i32.or
+ (i32.eqz
+ (get_local $4)
+ )
+ (i32.eq
+ (get_local $4)
+ (tee_local $12
+ (i32.load
+ (i32.add
(i32.add
- (i32.add
- (get_local $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $9)
- (i32.const 31)
- )
- (i32.const 2)
+ (get_local $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $9)
+ (i32.const 31)
)
+ (i32.const 2)
)
)
)
@@ -8975,138 +8973,124 @@
)
)
)
- (set_local $4
- (i32.shl
- (get_local $9)
- (i32.xor
- (tee_local $5
- (i32.eqz
- (get_local $12)
- )
+ )
+ (set_local $4
+ (i32.shl
+ (get_local $9)
+ (i32.xor
+ (tee_local $5
+ (i32.eqz
+ (get_local $12)
)
- (i32.const 1)
)
+ (i32.const 1)
)
)
- (set_local $0
- (if (result i32)
- (get_local $5)
- (block (result i32)
- (set_local $4
- (get_local $0)
- )
- (get_local $1)
+ )
+ (set_local $0
+ (if (result i32)
+ (get_local $5)
+ (block (result i32)
+ (set_local $4
+ (get_local $0)
)
- (block
- (set_local $5
- (get_local $0)
- )
- (set_local $9
- (get_local $4)
- )
- (set_local $0
- (get_local $12)
- )
- (br $while-in14)
+ (get_local $1)
+ )
+ (block
+ (set_local $5
+ (get_local $0)
+ )
+ (set_local $9
+ (get_local $4)
+ )
+ (set_local $0
+ (get_local $12)
)
+ (br $while-in14)
)
)
)
)
- (set_local $0
- (i32.const 0)
- )
)
- (if
- (i32.eqz
- (i32.or
- (get_local $4)
- (get_local $0)
- )
+ (set_local $0
+ (i32.const 0)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.or
+ (get_local $4)
+ (get_local $0)
)
- (block
- (drop
- (br_if $do-once
- (get_local $2)
- (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)
+ )
+ (block
+ (drop
+ (br_if $do-once
+ (get_local $2)
+ (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)
+ )
)
)
)
)
)
- (set_local $12
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.add
- (i32.and
+ )
+ (set_local $12
+ (i32.and
+ (i32.shr_u
+ (tee_local $1
+ (i32.add
+ (i32.and
+ (get_local $1)
+ (i32.sub
+ (i32.const 0)
(get_local $1)
- (i32.sub
- (i32.const 0)
- (get_local $1)
- )
)
- (i32.const -1)
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (set_local $4
- (i32.load offset=480
- (i32.shl
- (i32.add
+ )
+ (set_local $4
+ (i32.load offset=480
+ (i32.shl
+ (i32.add
+ (i32.or
(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 $12)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $12)
- )
(tee_local $1
(i32.and
(i32.shr_u
(tee_local $4
(i32.shr_u
- (get_local $4)
(get_local $1)
+ (get_local $12)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $12)
)
(tee_local $1
(i32.and
@@ -9117,9 +9101,9 @@
(get_local $1)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
@@ -9134,1048 +9118,1064 @@
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $4)
- (get_local $1)
+ (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.const 2)
+ (i32.shr_u
+ (get_local $4)
+ (get_local $1)
+ )
)
+ (i32.const 2)
)
)
)
)
- (set_local $4
- (if (result i32)
- (get_local $4)
- (block
- (set_local $1
- (get_local $3)
- )
- (set_local $3
- (get_local $4)
- )
- (br $__rjti$3)
+ )
+ (set_local $4
+ (if (result i32)
+ (get_local $4)
+ (block
+ (set_local $1
+ (get_local $3)
)
- (get_local $0)
+ (set_local $3
+ (get_local $4)
+ )
+ (br $__rjti$3)
)
+ (get_local $0)
)
- (br $__rjto$3)
)
- (loop $while-in16
- (set_local $12
- (i32.lt_u
- (tee_local $4
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $3)
- )
- (i32.const -8)
+ (br $__rjto$3)
+ )
+ (loop $while-in16
+ (set_local $12
+ (i32.lt_u
+ (tee_local $4
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $3)
)
- (get_local $2)
+ (i32.const -8)
)
+ (get_local $2)
)
- (get_local $1)
)
+ (get_local $1)
)
- (set_local $1
- (select
- (get_local $4)
- (get_local $1)
- (get_local $12)
- )
+ )
+ (set_local $1
+ (select
+ (get_local $4)
+ (get_local $1)
+ (get_local $12)
)
- (set_local $0
- (select
+ )
+ (set_local $0
+ (select
+ (get_local $3)
+ (get_local $0)
+ (get_local $12)
+ )
+ )
+ (if
+ (tee_local $4
+ (i32.load offset=16
(get_local $3)
- (get_local $0)
- (get_local $12)
)
)
- (if
- (tee_local $4
- (i32.load offset=16
- (get_local $3)
- )
- )
- (block
- (set_local $3
- (get_local $4)
- )
- (br $while-in16)
+ (block
+ (set_local $3
+ (get_local $4)
)
+ (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 $4
- (get_local $0)
- )
- (set_local $3
- (get_local $1)
- )
)
+ (set_local $4
+ (get_local $0)
+ )
+ (set_local $3
+ (get_local $1)
+ )
+ )
+ (if (result i32)
+ (get_local $4)
(if (result i32)
- (get_local $4)
- (if (result i32)
- (i32.lt_u
- (get_local $3)
- (i32.sub
- (i32.load
- (i32.const 184)
- )
- (get_local $2)
+ (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 $8
- (i32.load
- (i32.const 192)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $4)
+ (tee_local $8
+ (i32.load
+ (i32.const 192)
)
)
- (call $_abort)
)
- (if
- (i32.ge_u
- (get_local $4)
- (tee_local $5
- (i32.add
- (get_local $4)
- (get_local $2)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.ge_u
+ (get_local $4)
+ (tee_local $5
+ (i32.add
+ (get_local $4)
+ (get_local $2)
)
)
- (call $_abort)
)
- (set_local $12
- (i32.load offset=24
- (get_local $4)
+ (call $_abort)
+ )
+ (set_local $12
+ (i32.load offset=24
+ (get_local $4)
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $4)
+ )
)
+ (get_local $4)
)
- (if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
- (get_local $4)
+ (block $do-once17
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $4)
+ (i32.const 20)
+ )
+ )
+ )
)
)
- (get_local $4)
- )
- (block $do-once17
- (if
+ (br_if $do-once17
(i32.eqz
(tee_local $1
(i32.load
(tee_local $0
(i32.add
(get_local $4)
- (i32.const 20)
+ (i32.const 16)
)
)
)
)
)
- (br_if $do-once17
- (i32.eqz
- (tee_local $1
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $4)
- (i32.const 16)
- )
- )
+ )
+ )
+ (loop $while-in20
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $11
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
)
)
)
)
- )
- (loop $while-in20
- (if
- (tee_local $7
- (i32.load
- (tee_local $11
- (i32.add
- (get_local $1)
- (i32.const 20)
- )
- )
- )
+ (block
+ (set_local $1
+ (get_local $7)
)
- (block
- (set_local $1
- (get_local $7)
- )
- (set_local $0
- (get_local $11)
- )
- (br $while-in20)
+ (set_local $0
+ (get_local $11)
)
+ (br $while-in20)
)
- (if
- (tee_local $7
- (i32.load
- (tee_local $11
- (i32.add
- (get_local $1)
- (i32.const 16)
- )
+ )
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $11
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
)
)
)
- (block
- (set_local $1
- (get_local $7)
- )
- (set_local $0
- (get_local $11)
- )
- (br $while-in20)
+ )
+ (block
+ (set_local $1
+ (get_local $7)
+ )
+ (set_local $0
+ (get_local $11)
)
+ (br $while-in20)
)
)
- (if
- (i32.lt_u
+ )
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (get_local $8)
+ )
+ (call $_abort)
+ (block
+ (i32.store
(get_local $0)
- (get_local $8)
+ (i32.const 0)
)
- (call $_abort)
- (block
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (set_local $10
- (get_local $1)
- )
+ (set_local $10
+ (get_local $1)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $11
- (i32.load offset=8
- (get_local $4)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $11
+ (i32.load offset=8
+ (get_local $4)
)
- (get_local $8)
)
- (call $_abort)
+ (get_local $8)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $11)
- (i32.const 12)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $11)
+ (i32.const 12)
)
)
- (get_local $4)
)
- (call $_abort)
+ (get_local $4)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
)
)
- (get_local $4)
)
- (block
- (i32.store
- (get_local $7)
- (get_local $0)
- )
- (i32.store
- (get_local $1)
- (get_local $11)
- )
- (set_local $10
- (get_local $0)
- )
+ (get_local $4)
+ )
+ (block
+ (i32.store
+ (get_local $7)
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $11)
+ )
+ (set_local $10
+ (get_local $0)
)
- (call $_abort)
)
+ (call $_abort)
)
)
- (if
- (get_local $12)
- (block $do-once21
- (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)
- )
+ )
+ (if
+ (get_local $12)
+ (block $do-once21
+ (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 480)
+ (i32.const 2)
)
+ (i32.const 480)
)
)
)
- (block
- (i32.store
- (get_local $0)
+ )
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $10)
+ )
+ (if
+ (i32.eqz
(get_local $10)
)
- (if
- (i32.eqz
- (get_local $10)
- )
- (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)
+ (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)
)
)
- (br $do-once21)
)
+ (br $do-once21)
)
)
- (block
- (if
- (i32.lt_u
- (get_local $12)
- (i32.load
- (i32.const 192)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $12)
+ (i32.load
+ (i32.const 192)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $12)
- (i32.const 16)
- )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $12)
+ (i32.const 16)
)
)
- (get_local $4)
- )
- (i32.store
- (get_local $0)
- (get_local $10)
- )
- (i32.store offset=20
- (get_local $12)
- (get_local $10)
)
+ (get_local $4)
)
- (br_if $do-once21
- (i32.eqz
- (get_local $10)
- )
+ (i32.store
+ (get_local $0)
+ (get_local $10)
+ )
+ (i32.store offset=20
+ (get_local $12)
+ (get_local $10)
)
)
- )
- (if
- (i32.lt_u
- (get_local $10)
- (tee_local $0
- (i32.load
- (i32.const 192)
- )
+ (br_if $do-once21
+ (i32.eqz
+ (get_local $10)
)
)
- (call $_abort)
)
- (i32.store offset=24
+ )
+ (if
+ (i32.lt_u
(get_local $10)
- (get_local $12)
+ (tee_local $0
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (get_local $10)
+ (get_local $12)
+ )
+ (if
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $4)
+ )
)
(if
- (tee_local $1
- (i32.load offset=16
- (get_local $4)
- )
+ (i32.lt_u
+ (get_local $1)
+ (get_local $0)
)
- (if
- (i32.lt_u
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (get_local $10)
(get_local $1)
- (get_local $0)
)
- (call $_abort)
- (block
- (i32.store offset=16
- (get_local $10)
- (get_local $1)
- )
- (i32.store offset=24
- (get_local $1)
- (get_local $10)
- )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $10)
)
)
)
+ )
+ (if
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $4)
+ )
+ )
(if
- (tee_local $0
- (i32.load offset=20
- (get_local $4)
+ (i32.lt_u
+ (get_local $0)
+ (i32.load
+ (i32.const 192)
)
)
- (if
- (i32.lt_u
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (get_local $10)
(get_local $0)
- (i32.load
- (i32.const 192)
- )
)
- (call $_abort)
- (block
- (i32.store offset=20
- (get_local $10)
- (get_local $0)
- )
- (i32.store offset=24
- (get_local $0)
- (get_local $10)
- )
+ (i32.store offset=24
+ (get_local $0)
+ (get_local $10)
)
)
)
)
)
- (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.store
+ )
+ (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
- (i32.add
- (get_local $4)
- (get_local $0)
- )
- (i32.const 4)
+ (get_local $3)
+ (get_local $2)
)
)
- (i32.or
- (i32.load
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (tee_local $0
+ (i32.add
+ (i32.add
+ (get_local $4)
(get_local $0)
)
- (i32.const 1)
+ (i32.const 4)
)
)
- )
- (block $do-once25
- (i32.store offset=4
- (get_local $4)
- (i32.or
- (get_local $2)
- (i32.const 3)
+ (i32.or
+ (i32.load
+ (get_local $0)
)
+ (i32.const 1)
)
- (i32.store offset=4
+ )
+ )
+ (block $do-once25
+ (i32.store offset=4
+ (get_local $4)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (get_local $5)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
(get_local $5)
- (i32.or
- (get_local $3)
- (i32.const 1)
- )
+ (get_local $3)
)
- (i32.store
- (i32.add
- (get_local $5)
- (get_local $3)
- )
+ (get_local $3)
+ )
+ (set_local $0
+ (i32.shr_u
(get_local $3)
+ (i32.const 3)
)
- (set_local $0
- (i32.shr_u
- (get_local $3)
- (i32.const 3)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 256)
)
- (if
- (i32.lt_u
- (get_local $3)
- (i32.const 256)
+ (block
+ (set_local $3
+ (i32.add
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
)
- (block
- (set_local $3
- (i32.add
+ (if
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 176)
+ )
+ )
+ (tee_local $0
(i32.shl
+ (i32.const 1)
(get_local $0)
- (i32.const 3)
)
- (i32.const 216)
)
)
(if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
- )
- )
+ (i32.lt_u
(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
+ (tee_local $1
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 192)
- )
)
- (call $_abort)
- (block
- (set_local $13
- (get_local $1)
- )
- (set_local $6
- (get_local $0)
- )
+ (i32.load
+ (i32.const 192)
)
)
+ (call $_abort)
(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)
- )
+ (get_local $1)
)
(set_local $6
- (get_local $3)
+ (get_local $0)
)
)
)
- (i32.store
- (get_local $13)
- (get_local $5)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $5)
- )
- (i32.store offset=8
- (get_local $5)
- (get_local $6)
- )
- (i32.store offset=12
- (get_local $5)
- (get_local $3)
+ (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 $6
+ (get_local $3)
+ )
)
- (br $do-once25)
)
+ (i32.store
+ (get_local $13)
+ (get_local $5)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $5)
+ )
+ (i32.store offset=8
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $5)
+ (get_local $3)
+ )
+ (br $do-once25)
)
- (set_local $2
- (i32.add
- (i32.shl
- (tee_local $7
+ )
+ (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)
+ )
+ )
(if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $3)
- (i32.const 8)
- )
+ (i32.gt_u
+ (get_local $3)
+ (i32.const 16777215)
)
- (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.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
(i32.or
- (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)
+ (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 8)
+ (i32.const 16)
)
+ (i32.const 8)
)
)
)
- (i32.const 520192)
)
- (i32.const 16)
+ (i32.const 520192)
)
- (i32.const 4)
+ (i32.const 16)
)
+ (i32.const 4)
)
- (get_local $2)
)
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
+ (get_local $2)
+ )
+ (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 16)
+ (i32.const 245760)
)
- (i32.const 2)
+ (i32.const 16)
)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
- )
- (i32.const 15)
+ )
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
)
+ (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 480)
+ (i32.const 2)
)
+ (i32.const 480)
)
- (i32.store offset=28
- (get_local $5)
- (get_local $7)
- )
- (i32.store offset=4
- (tee_local $0
- (i32.add
- (get_local $5)
- (i32.const 16)
- )
+ )
+ (i32.store offset=28
+ (get_local $5)
+ (get_local $7)
+ )
+ (i32.store offset=4
+ (tee_local $0
+ (i32.add
+ (get_local $5)
+ (i32.const 16)
)
- (i32.const 0)
)
- (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)
- )
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $0)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 180)
)
)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (get_local $1)
- (get_local $0)
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $7)
)
)
- (i32.store
- (get_local $2)
- (get_local $5)
- )
- (i32.store offset=24
- (get_local $5)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $5)
- (get_local $5)
- )
- (i32.store offset=8
- (get_local $5)
- (get_local $5)
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
)
- (br $do-once25)
)
+ (i32.store
+ (get_local $2)
+ (get_local $5)
+ )
+ (i32.store offset=24
+ (get_local $5)
+ (get_local $2)
+ )
+ (i32.store offset=12
+ (get_local $5)
+ (get_local $5)
+ )
+ (i32.store offset=8
+ (get_local $5)
+ (get_local $5)
+ )
+ (br $do-once25)
)
- (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
+ )
+ (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 31)
+ (i32.const 1)
)
)
+ (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)
- )
- (i32.const -8)
+ )
+ (block $__rjto$1
+ (block $__rjti$1
+ (loop $while-in28
+ (br_if $__rjti$1
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
)
- (get_local $3)
+ (i32.const -8)
)
+ (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
+ )
+ (if
+ (tee_local $1
+ (i32.load
+ (tee_local $7
+ (i32.add
(i32.add
- (i32.add
- (get_local $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $7)
- (i32.const 31)
- )
- (i32.const 2)
+ (get_local $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $7)
+ (i32.const 31)
)
+ (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
- (i32.store
- (get_local $7)
- (get_local $5)
- )
- (i32.store offset=24
- (get_local $5)
- (get_local $0)
- )
- (i32.store offset=12
- (get_local $5)
- (get_local $5)
+ (set_local $7
+ (get_local $2)
)
- (i32.store offset=8
- (get_local $5)
- (get_local $5)
+ (set_local $0
+ (get_local $1)
)
- (br $do-once25)
+ (br $while-in28)
)
)
- (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)
+ (i32.lt_u
+ (get_local $7)
+ (i32.load
+ (i32.const 192)
)
)
+ (call $_abort)
(block
- (i32.store offset=12
- (get_local $2)
- (get_local $5)
- )
(i32.store
- (get_local $3)
+ (get_local $7)
(get_local $5)
)
- (i32.store offset=8
+ (i32.store offset=24
(get_local $5)
- (get_local $2)
+ (get_local $0)
)
(i32.store offset=12
(get_local $5)
- (get_local $0)
+ (get_local $5)
)
- (i32.store offset=24
+ (i32.store offset=8
+ (get_local $5)
(get_local $5)
- (i32.const 0)
)
+ (br $do-once25)
)
- (call $_abort)
)
+ (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 $5)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $5)
+ )
+ (i32.store offset=8
+ (get_local $5)
+ (get_local $2)
+ )
+ (i32.store offset=12
+ (get_local $5)
+ (get_local $0)
+ )
+ (i32.store offset=24
+ (get_local $5)
+ (i32.const 0)
+ )
+ )
+ (call $_abort)
)
)
)
- (return
- (i32.add
- (get_local $4)
- (i32.const 8)
- )
+ )
+ (return
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
)
)
- (get_local $2)
)
(get_local $2)
)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $2)
)
)
)
)
- (if
- (i32.ge_u
- (tee_local $1
- (i32.load
- (i32.const 184)
- )
+ )
+ (if
+ (i32.ge_u
+ (tee_local $1
+ (i32.load
+ (i32.const 184)
)
- (get_local $0)
)
- (block
- (set_local $2
- (i32.load
- (i32.const 196)
+ (get_local $0)
+ )
+ (block
+ (set_local $2
+ (i32.load
+ (i32.const 196)
+ )
+ )
+ (if
+ (i32.gt_u
+ (tee_local $3
+ (i32.sub
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.const 15)
)
- (if
- (i32.gt_u
- (tee_local $3
- (i32.sub
- (get_local $1)
+ (block
+ (i32.store
+ (i32.const 196)
+ (tee_local $1
+ (i32.add
+ (get_local $2)
(get_local $0)
)
)
- (i32.const 15)
)
- (block
- (i32.store
- (i32.const 196)
- (tee_local $1
- (i32.add
- (get_local $2)
- (get_local $0)
- )
- )
- )
- (i32.store
- (i32.const 184)
+ (i32.store
+ (i32.const 184)
+ (get_local $3)
+ )
+ (i32.store offset=4
+ (get_local $1)
+ (i32.or
(get_local $3)
+ (i32.const 1)
)
- (i32.store offset=4
+ )
+ (i32.store
+ (i32.add
(get_local $1)
- (i32.or
- (get_local $3)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (get_local $1)
- (get_local $3)
- )
(get_local $3)
)
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $0)
- (i32.const 3)
- )
- )
+ (get_local $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 $0)
+ (i32.const 3)
)
- (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
+ (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.store
+ (tee_local $0
+ (i32.add
(i32.add
- (i32.add
- (get_local $2)
- (get_local $1)
- )
- (i32.const 4)
+ (get_local $2)
+ (get_local $1)
)
+ (i32.const 4)
)
- (i32.or
- (i32.load
- (get_local $0)
- )
- (i32.const 1)
+ )
+ (i32.or
+ (i32.load
+ (get_local $0)
)
+ (i32.const 1)
)
)
)
- (return
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
+ )
+ (return
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
)
)
)
+ )
+ (block $folding-inner0
(br_if $folding-inner0
(i32.gt_u
(tee_local $1
diff --git a/test/example/relooper-fuzz1.txt b/test/example/relooper-fuzz1.txt
index af3140f9c..d05a316e2 100644
--- a/test/example/relooper-fuzz1.txt
+++ b/test/example/relooper-fuzz1.txt
@@ -432,11 +432,11 @@
(i32.const 124)
(i32.const 3)
)
+ (call $print
+ (i32.const 0)
+ )
(block $block$10$break
(block $block$4$break
- (call $print
- (i32.const 0)
- )
(if
(i32.and
(tee_local $0
diff --git a/test/memorygrowth.fromasm b/test/memorygrowth.fromasm
index 38d5d9e5d..992ac9c04 100644
--- a/test/memorygrowth.fromasm
+++ b/test/memorygrowth.fromasm
@@ -110,782 +110,816 @@
(local $52 i32)
(local $53 i32)
(local $54 i32)
- (block $folding-inner0
- (set_local $25
+ (set_local $25
+ (get_global $r)
+ )
+ (set_global $r
+ (i32.add
(get_global $r)
+ (i32.const 16)
)
- (set_global $r
- (i32.add
- (get_global $r)
- (i32.const 16)
+ )
+ (set_local $14
+ (get_local $25)
+ )
+ (set_local $6
+ (if (result i32)
+ (i32.lt_u
+ (get_local $0)
+ (i32.const 245)
)
- )
- (set_local $14
- (get_local $25)
- )
- (set_local $6
- (if (result i32)
- (i32.lt_u
- (get_local $0)
- (i32.const 245)
- )
- (block (result i32)
- (if
- (i32.and
- (tee_local $6
- (i32.shr_u
- (tee_local $5
- (i32.load
- (i32.const 1208)
- )
+ (block (result i32)
+ (if
+ (i32.and
+ (tee_local $6
+ (i32.shr_u
+ (tee_local $5
+ (i32.load
+ (i32.const 1208)
)
- (tee_local $0
- (i32.shr_u
- (tee_local $2
- (select
- (i32.const 16)
- (i32.and
- (i32.add
- (get_local $0)
- (i32.const 11)
- )
- (i32.const -8)
- )
- (i32.lt_u
+ )
+ (tee_local $0
+ (i32.shr_u
+ (tee_local $2
+ (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 3)
)
+ (i32.const 3)
)
)
)
- (i32.const 3)
)
- (block
- (set_local $7
- (i32.load
- (tee_local $2
- (i32.add
- (tee_local $13
- (i32.load
- (tee_local $16
- (i32.add
- (tee_local $9
- (i32.add
- (i32.shl
- (tee_local $0
- (i32.add
- (i32.xor
- (i32.and
- (get_local $6)
- (i32.const 1)
- )
+ (i32.const 3)
+ )
+ (block
+ (set_local $7
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (tee_local $13
+ (i32.load
+ (tee_local $16
+ (i32.add
+ (tee_local $9
+ (i32.add
+ (i32.shl
+ (tee_local $0
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $6)
(i32.const 1)
)
- (get_local $0)
+ (i32.const 1)
)
+ (get_local $0)
)
- (i32.const 3)
)
- (i32.const 1248)
+ (i32.const 3)
)
+ (i32.const 1248)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (if
- (i32.eq
- (get_local $9)
- (get_local $7)
- )
- (i32.store
- (i32.const 1208)
- (i32.and
- (get_local $5)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $0)
- )
- (i32.const -1)
+ )
+ (if
+ (i32.eq
+ (get_local $9)
+ (get_local $7)
+ )
+ (i32.store
+ (i32.const 1208)
+ (i32.and
+ (get_local $5)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
)
+ (i32.const -1)
)
)
- (block
- (if
- (i32.lt_u
- (get_local $7)
- (i32.load
- (i32.const 1224)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (i32.load
+ (i32.const 1224)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $8
- (i32.add
- (get_local $7)
- (i32.const 12)
- )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (get_local $7)
+ (i32.const 12)
)
)
- (get_local $13)
)
- (block
- (i32.store
- (get_local $8)
- (get_local $9)
- )
- (i32.store
- (get_local $16)
- (get_local $7)
- )
+ (get_local $13)
+ )
+ (block
+ (i32.store
+ (get_local $8)
+ (get_local $9)
+ )
+ (i32.store
+ (get_local $16)
+ (get_local $7)
)
- (call $qa)
)
+ (call $qa)
)
)
- (i32.store offset=4
- (get_local $13)
- (i32.or
- (tee_local $7
- (i32.shl
- (get_local $0)
- (i32.const 3)
- )
+ )
+ (i32.store offset=4
+ (get_local $13)
+ (i32.or
+ (tee_local $7
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
)
- (i32.const 3)
)
+ (i32.const 3)
)
- (i32.store
- (tee_local $16
+ )
+ (i32.store
+ (tee_local $16
+ (i32.add
(i32.add
- (i32.add
- (get_local $13)
- (get_local $7)
- )
- (i32.const 4)
- )
- )
- (i32.or
- (i32.load
- (get_local $16)
+ (get_local $13)
+ (get_local $7)
)
- (i32.const 1)
+ (i32.const 4)
)
)
- (set_global $r
- (get_local $25)
- )
- (return
- (get_local $2)
+ (i32.or
+ (i32.load
+ (get_local $16)
+ )
+ (i32.const 1)
)
)
- )
- (if (result i32)
- (i32.gt_u
+ (set_global $r
+ (get_local $25)
+ )
+ (return
(get_local $2)
- (tee_local $16
- (i32.load
- (i32.const 1216)
- )
+ )
+ )
+ )
+ (if (result i32)
+ (i32.gt_u
+ (get_local $2)
+ (tee_local $16
+ (i32.load
+ (i32.const 1216)
)
)
- (block (result i32)
- (if
- (get_local $6)
- (block
- (set_local $9
- (i32.and
- (i32.shr_u
- (tee_local $7
- (i32.add
- (i32.and
- (tee_local $9
- (i32.and
- (i32.shl
- (get_local $6)
- (get_local $0)
- )
- (i32.or
- (tee_local $7
- (i32.shl
- (i32.const 2)
- (get_local $0)
- )
- )
- (i32.sub
- (i32.const 0)
- (get_local $7)
+ )
+ (block (result i32)
+ (if
+ (get_local $6)
+ (block
+ (set_local $9
+ (i32.and
+ (i32.shr_u
+ (tee_local $7
+ (i32.add
+ (i32.and
+ (tee_local $9
+ (i32.and
+ (i32.shl
+ (get_local $6)
+ (get_local $0)
+ )
+ (i32.or
+ (tee_local $7
+ (i32.shl
+ (i32.const 2)
+ (get_local $0)
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $7)
+ )
)
)
- (i32.sub
- (i32.const 0)
- (get_local $9)
- )
)
- (i32.const -1)
+ (i32.sub
+ (i32.const 0)
+ (get_local $9)
+ )
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (set_local $9
- (i32.load
- (tee_local $8
- (i32.add
- (tee_local $10
- (i32.load
- (tee_local $13
- (i32.add
- (tee_local $3
- (i32.add
- (i32.shl
- (tee_local $4
- (i32.add
+ )
+ (set_local $9
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (tee_local $10
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (tee_local $3
+ (i32.add
+ (i32.shl
+ (tee_local $4
+ (i32.add
+ (i32.or
(i32.or
(i32.or
(i32.or
- (i32.or
- (tee_local $7
- (i32.and
- (i32.shr_u
- (tee_local $8
- (i32.shr_u
- (get_local $7)
- (get_local $9)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $9)
- )
- (tee_local $8
+ (tee_local $7
(i32.and
(i32.shr_u
- (tee_local $10
+ (tee_local $8
(i32.shr_u
- (get_local $8)
(get_local $7)
+ (get_local $9)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $9)
)
- (tee_local $10
+ (tee_local $8
(i32.and
(i32.shr_u
- (tee_local $3
+ (tee_local $10
(i32.shr_u
- (get_local $10)
(get_local $8)
+ (get_local $7)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
- (tee_local $3
+ (tee_local $10
(i32.and
(i32.shr_u
- (tee_local $13
+ (tee_local $3
(i32.shr_u
- (get_local $3)
(get_local $10)
+ (get_local $8)
)
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $13)
- (get_local $3)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $13
+ (i32.shr_u
+ (get_local $3)
+ (get_local $10)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
)
)
+ (i32.shr_u
+ (get_local $13)
+ (get_local $3)
+ )
)
- (i32.const 3)
)
- (i32.const 1248)
+ (i32.const 3)
)
+ (i32.const 1248)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (if
- (i32.eq
- (get_local $3)
- (get_local $9)
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.and
- (get_local $5)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $4)
- )
- (i32.const -1)
+ )
+ (if
+ (i32.eq
+ (get_local $3)
+ (get_local $9)
+ )
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.and
+ (get_local $5)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $4)
)
+ (i32.const -1)
)
)
- (set_local $34
- (get_local $16)
- )
)
- (block
- (if
- (i32.lt_u
- (get_local $9)
- (i32.load
- (i32.const 1224)
- )
+ (set_local $34
+ (get_local $16)
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $9)
+ (i32.load
+ (i32.const 1224)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $9)
- (i32.const 12)
- )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $9)
+ (i32.const 12)
)
)
- (get_local $10)
)
- (block
- (i32.store
- (get_local $7)
- (get_local $3)
- )
- (i32.store
- (get_local $13)
- (get_local $9)
- )
- (set_local $34
- (i32.load
- (i32.const 1216)
- )
+ (get_local $10)
+ )
+ (block
+ (i32.store
+ (get_local $7)
+ (get_local $3)
+ )
+ (i32.store
+ (get_local $13)
+ (get_local $9)
+ )
+ (set_local $34
+ (i32.load
+ (i32.const 1216)
)
)
- (call $qa)
)
+ (call $qa)
)
)
- (i32.store offset=4
- (get_local $10)
- (i32.or
+ )
+ (i32.store offset=4
+ (get_local $10)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (tee_local $13
+ (i32.add
+ (get_local $10)
(get_local $2)
- (i32.const 3)
)
)
- (i32.store offset=4
- (tee_local $13
- (i32.add
- (get_local $10)
- (get_local $2)
- )
- )
- (i32.or
- (tee_local $9
- (i32.sub
- (i32.shl
- (get_local $4)
- (i32.const 3)
- )
- (get_local $2)
+ (i32.or
+ (tee_local $9
+ (i32.sub
+ (i32.shl
+ (get_local $4)
+ (i32.const 3)
)
+ (get_local $2)
)
- (i32.const 1)
)
+ (i32.const 1)
)
- (i32.store
- (i32.add
- (get_local $13)
- (get_local $9)
- )
+ )
+ (i32.store
+ (i32.add
+ (get_local $13)
(get_local $9)
)
- (if
- (get_local $34)
- (block
- (set_local $3
- (i32.load
- (i32.const 1228)
+ (get_local $9)
+ )
+ (if
+ (get_local $34)
+ (block
+ (set_local $3
+ (i32.load
+ (i32.const 1228)
+ )
+ )
+ (set_local $5
+ (i32.add
+ (i32.shl
+ (tee_local $16
+ (i32.shr_u
+ (get_local $34)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 1248)
)
- (set_local $5
- (i32.add
+ )
+ (if
+ (i32.and
+ (tee_local $0
+ (i32.load
+ (i32.const 1208)
+ )
+ )
+ (tee_local $6
(i32.shl
- (tee_local $16
- (i32.shr_u
- (get_local $34)
- (i32.const 3)
- )
- )
- (i32.const 3)
+ (i32.const 1)
+ (get_local $16)
)
- (i32.const 1248)
)
)
(if
- (i32.and
+ (i32.lt_u
(tee_local $0
(i32.load
- (i32.const 1208)
- )
- )
- (tee_local $6
- (i32.shl
- (i32.const 1)
- (get_local $16)
- )
- )
- )
- (if
- (i32.lt_u
- (tee_local $0
- (i32.load
- (tee_local $6
- (i32.add
- (get_local $5)
- (i32.const 8)
- )
+ (tee_local $6
+ (i32.add
+ (get_local $5)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 1224)
- )
)
- (call $qa)
- (block
- (set_local $40
- (get_local $6)
- )
- (set_local $35
- (get_local $0)
- )
+ (i32.load
+ (i32.const 1224)
)
)
+ (call $qa)
(block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $0)
- (get_local $6)
- )
- )
(set_local $40
- (i32.add
- (get_local $5)
- (i32.const 8)
- )
+ (get_local $6)
)
(set_local $35
- (get_local $5)
+ (get_local $0)
)
)
)
- (i32.store
- (get_local $40)
- (get_local $3)
- )
- (i32.store offset=12
- (get_local $35)
- (get_local $3)
- )
- (i32.store offset=8
- (get_local $3)
- (get_local $35)
- )
- (i32.store offset=12
- (get_local $3)
- (get_local $5)
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $0)
+ (get_local $6)
+ )
+ )
+ (set_local $40
+ (i32.add
+ (get_local $5)
+ (i32.const 8)
+ )
+ )
+ (set_local $35
+ (get_local $5)
+ )
)
)
+ (i32.store
+ (get_local $40)
+ (get_local $3)
+ )
+ (i32.store offset=12
+ (get_local $35)
+ (get_local $3)
+ )
+ (i32.store offset=8
+ (get_local $3)
+ (get_local $35)
+ )
+ (i32.store offset=12
+ (get_local $3)
+ (get_local $5)
+ )
)
- (i32.store
- (i32.const 1216)
- (get_local $9)
- )
- (i32.store
- (i32.const 1228)
- (get_local $13)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (get_local $8)
- )
+ )
+ (i32.store
+ (i32.const 1216)
+ (get_local $9)
+ )
+ (i32.store
+ (i32.const 1228)
+ (get_local $13)
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (get_local $8)
)
)
- (if (result i32)
- (tee_local $13
- (i32.load
- (i32.const 1212)
- )
+ )
+ (if (result i32)
+ (tee_local $13
+ (i32.load
+ (i32.const 1212)
)
- (block
- (set_local $13
- (i32.and
- (i32.shr_u
- (tee_local $9
- (i32.add
- (i32.and
+ )
+ (block
+ (set_local $13
+ (i32.and
+ (i32.shr_u
+ (tee_local $9
+ (i32.add
+ (i32.and
+ (get_local $13)
+ (i32.sub
+ (i32.const 0)
(get_local $13)
- (i32.sub
- (i32.const 0)
- (get_local $13)
- )
)
- (i32.const -1)
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (set_local $0
- (i32.sub
- (i32.and
- (i32.load offset=4
- (tee_local $16
- (i32.load
- (i32.add
- (i32.shl
- (i32.add
+ )
+ (set_local $0
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (tee_local $16
+ (i32.load
+ (i32.add
+ (i32.shl
+ (i32.add
+ (i32.or
(i32.or
(i32.or
(i32.or
- (i32.or
- (tee_local $9
- (i32.and
- (i32.shr_u
- (tee_local $5
- (i32.shr_u
- (get_local $9)
- (get_local $13)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $13)
- )
- (tee_local $5
+ (tee_local $9
(i32.and
(i32.shr_u
- (tee_local $3
+ (tee_local $5
(i32.shr_u
- (get_local $5)
(get_local $9)
+ (get_local $13)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $13)
)
- (tee_local $3
+ (tee_local $5
(i32.and
(i32.shr_u
- (tee_local $0
+ (tee_local $3
(i32.shr_u
- (get_local $3)
(get_local $5)
+ (get_local $9)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
- (tee_local $0
+ (tee_local $3
(i32.and
(i32.shr_u
- (tee_local $6
+ (tee_local $0
(i32.shr_u
- (get_local $0)
(get_local $3)
+ (get_local $5)
)
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $6)
- (get_local $0)
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $6
+ (i32.shr_u
+ (get_local $0)
+ (get_local $3)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
)
)
- (i32.const 2)
+ (i32.shr_u
+ (get_local $6)
+ (get_local $0)
+ )
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
)
- (i32.const -8)
)
- (get_local $2)
+ (i32.const -8)
)
+ (get_local $2)
)
- (set_local $3
- (tee_local $6
- (get_local $16)
- )
+ )
+ (set_local $3
+ (tee_local $6
+ (get_local $16)
)
- (loop $while-in
- (block $while-out
- (set_local $5
- (i32.lt_u
- (tee_local $16
- (i32.sub
- (i32.and
- (i32.load offset=4
- (tee_local $6
+ )
+ (loop $while-in
+ (block $while-out
+ (set_local $5
+ (i32.lt_u
+ (tee_local $16
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (tee_local $6
+ (if (result i32)
+ (tee_local $16
+ (i32.load offset=16
+ (get_local $6)
+ )
+ )
+ (get_local $16)
(if (result i32)
- (tee_local $16
- (i32.load offset=16
+ (tee_local $5
+ (i32.load offset=20
(get_local $6)
)
)
- (get_local $16)
- (if (result i32)
- (tee_local $5
- (i32.load offset=20
- (get_local $6)
- )
+ (get_local $5)
+ (block
+ (set_local $7
+ (get_local $0)
)
- (get_local $5)
- (block
- (set_local $7
- (get_local $0)
- )
- (set_local $1
- (get_local $3)
- )
- (br $while-out)
+ (set_local $1
+ (get_local $3)
)
+ (br $while-out)
)
)
)
)
- (i32.const -8)
)
- (get_local $2)
+ (i32.const -8)
)
+ (get_local $2)
)
- (get_local $0)
)
+ (get_local $0)
)
- (set_local $0
- (select
- (get_local $16)
- (get_local $0)
- (get_local $5)
- )
+ )
+ (set_local $0
+ (select
+ (get_local $16)
+ (get_local $0)
+ (get_local $5)
)
- (set_local $3
- (select
- (get_local $6)
- (get_local $3)
- (get_local $5)
- )
+ )
+ (set_local $3
+ (select
+ (get_local $6)
+ (get_local $3)
+ (get_local $5)
)
- (br $while-in)
)
+ (br $while-in)
)
- (if
- (i32.lt_u
- (get_local $1)
- (tee_local $3
- (i32.load
- (i32.const 1224)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $1)
+ (tee_local $3
+ (i32.load
+ (i32.const 1224)
)
)
- (call $qa)
)
- (if
- (i32.ge_u
- (get_local $1)
- (tee_local $6
- (i32.add
- (get_local $1)
- (get_local $2)
- )
+ (call $qa)
+ )
+ (if
+ (i32.ge_u
+ (get_local $1)
+ (tee_local $6
+ (i32.add
+ (get_local $1)
+ (get_local $2)
)
)
- (call $qa)
)
- (set_local $0
- (i32.load offset=24
- (get_local $1)
+ (call $qa)
+ )
+ (set_local $0
+ (i32.load offset=24
+ (get_local $1)
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $8
+ (i32.load offset=12
+ (get_local $1)
+ )
)
+ (get_local $1)
)
- (if
- (i32.eq
- (tee_local $8
- (i32.load offset=12
- (get_local $1)
+ (block $do-once4
+ (if
+ (tee_local $4
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $16
+ (get_local $4)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ )
+ (br_if $do-once4
+ (i32.eqz
+ (tee_local $16
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ )
+ )
+ )
)
)
- (get_local $1)
)
- (block $do-once4
+ (loop $while-in7
(if
(tee_local $4
(i32.load
(tee_local $10
(i32.add
- (get_local $1)
+ (get_local $16)
(i32.const 20)
)
)
@@ -898,725 +932,689 @@
(set_local $5
(get_local $10)
)
- )
- (br_if $do-once4
- (i32.eqz
- (tee_local $16
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $1)
- (i32.const 16)
- )
- )
- )
- )
- )
+ (br $while-in7)
)
)
- (loop $while-in7
- (if
- (tee_local $4
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $16)
- (i32.const 20)
- )
+ (if
+ (tee_local $4
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $16)
+ (i32.const 16)
)
)
)
- (block
- (set_local $16
- (get_local $4)
- )
- (set_local $5
- (get_local $10)
- )
- (br $while-in7)
- )
)
- (if
- (tee_local $4
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $16)
- (i32.const 16)
- )
- )
- )
+ (block
+ (set_local $16
+ (get_local $4)
)
- (block
- (set_local $16
- (get_local $4)
- )
- (set_local $5
- (get_local $10)
- )
- (br $while-in7)
+ (set_local $5
+ (get_local $10)
)
+ (br $while-in7)
)
)
- (if
- (i32.lt_u
+ )
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (get_local $3)
+ )
+ (call $qa)
+ (block
+ (i32.store
(get_local $5)
- (get_local $3)
+ (i32.const 0)
)
- (call $qa)
- (block
- (i32.store
- (get_local $5)
- (i32.const 0)
- )
- (set_local $23
- (get_local $16)
- )
+ (set_local $23
+ (get_local $16)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $10
- (i32.load offset=8
- (get_local $1)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $10
+ (i32.load offset=8
+ (get_local $1)
)
- (get_local $3)
)
- (call $qa)
+ (get_local $3)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $4
- (i32.add
- (get_local $10)
- (i32.const 12)
- )
+ (call $qa)
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $10)
+ (i32.const 12)
)
)
- (get_local $1)
)
- (call $qa)
+ (get_local $1)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $8)
- (i32.const 8)
- )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $8)
+ (i32.const 8)
)
)
- (get_local $1)
)
- (block
- (i32.store
- (get_local $4)
- (get_local $8)
- )
- (i32.store
- (get_local $5)
- (get_local $10)
- )
- (set_local $23
- (get_local $8)
- )
+ (get_local $1)
+ )
+ (block
+ (i32.store
+ (get_local $4)
+ (get_local $8)
+ )
+ (i32.store
+ (get_local $5)
+ (get_local $10)
+ )
+ (set_local $23
+ (get_local $8)
)
- (call $qa)
)
+ (call $qa)
)
)
- (if
- (get_local $0)
- (block $do-once8
- (if
- (i32.eq
- (get_local $1)
- (i32.load
- (tee_local $3
- (i32.add
- (i32.shl
- (tee_local $8
- (i32.load offset=28
- (get_local $1)
- )
+ )
+ (if
+ (get_local $0)
+ (block $do-once8
+ (if
+ (i32.eq
+ (get_local $1)
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (i32.shl
+ (tee_local $8
+ (i32.load offset=28
+ (get_local $1)
)
- (i32.const 2)
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
)
- (block
- (i32.store
- (get_local $3)
+ )
+ (block
+ (i32.store
+ (get_local $3)
+ (get_local $23)
+ )
+ (if
+ (i32.eqz
(get_local $23)
)
- (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 $8)
- )
- (i32.const -1)
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.and
+ (i32.load
+ (i32.const 1212)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $8)
)
+ (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)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $8
- (i32.add
- (get_local $0)
- (i32.const 16)
- )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
)
)
- (get_local $1)
- )
- (i32.store
- (get_local $8)
- (get_local $23)
- )
- (i32.store offset=20
- (get_local $0)
- (get_local $23)
)
+ (get_local $1)
)
- (br_if $do-once8
- (i32.eqz
- (get_local $23)
- )
+ (i32.store
+ (get_local $8)
+ (get_local $23)
+ )
+ (i32.store offset=20
+ (get_local $0)
+ (get_local $23)
)
)
- )
- (if
- (i32.lt_u
- (get_local $23)
- (tee_local $8
- (i32.load
- (i32.const 1224)
- )
+ (br_if $do-once8
+ (i32.eqz
+ (get_local $23)
)
)
- (call $qa)
)
- (i32.store offset=24
+ )
+ (if
+ (i32.lt_u
(get_local $23)
- (get_local $0)
+ (tee_local $8
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (call $qa)
+ )
+ (i32.store offset=24
+ (get_local $23)
+ (get_local $0)
+ )
+ (if
+ (tee_local $3
+ (i32.load offset=16
+ (get_local $1)
+ )
)
(if
- (tee_local $3
- (i32.load offset=16
- (get_local $1)
- )
+ (i32.lt_u
+ (get_local $3)
+ (get_local $8)
)
- (if
- (i32.lt_u
+ (call $qa)
+ (block
+ (i32.store offset=16
+ (get_local $23)
(get_local $3)
- (get_local $8)
)
- (call $qa)
- (block
- (i32.store offset=16
- (get_local $23)
- (get_local $3)
- )
- (i32.store offset=24
- (get_local $3)
- (get_local $23)
- )
+ (i32.store offset=24
+ (get_local $3)
+ (get_local $23)
)
)
)
+ )
+ (if
+ (tee_local $3
+ (i32.load offset=20
+ (get_local $1)
+ )
+ )
(if
- (tee_local $3
- (i32.load offset=20
- (get_local $1)
+ (i32.lt_u
+ (get_local $3)
+ (i32.load
+ (i32.const 1224)
)
)
- (if
- (i32.lt_u
+ (call $qa)
+ (block
+ (i32.store offset=20
+ (get_local $23)
(get_local $3)
- (i32.load
- (i32.const 1224)
- )
)
- (call $qa)
- (block
- (i32.store offset=20
- (get_local $23)
- (get_local $3)
- )
- (i32.store offset=24
- (get_local $3)
- (get_local $23)
- )
+ (i32.store offset=24
+ (get_local $3)
+ (get_local $23)
)
)
)
)
)
- (if
- (i32.lt_u
- (get_local $7)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (tee_local $0
- (i32.add
- (get_local $7)
- (get_local $2)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $1)
+ (i32.or
+ (tee_local $0
+ (i32.add
+ (get_local $7)
+ (get_local $2)
)
- (i32.const 3)
)
+ (i32.const 3)
)
- (i32.store
- (tee_local $3
+ )
+ (i32.store
+ (tee_local $3
+ (i32.add
(i32.add
- (i32.add
- (get_local $1)
- (get_local $0)
- )
- (i32.const 4)
+ (get_local $1)
+ (get_local $0)
)
+ (i32.const 4)
)
- (i32.or
- (i32.load
- (get_local $3)
- )
- (i32.const 1)
+ )
+ (i32.or
+ (i32.load
+ (get_local $3)
)
+ (i32.const 1)
)
)
- (block
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (get_local $2)
- (i32.const 3)
- )
+ )
+ (block
+ (i32.store offset=4
+ (get_local $1)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
)
- (i32.store offset=4
+ )
+ (i32.store offset=4
+ (get_local $6)
+ (i32.or
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
(get_local $6)
- (i32.or
- (get_local $7)
- (i32.const 1)
- )
+ (get_local $7)
)
- (i32.store
- (i32.add
- (get_local $6)
- (get_local $7)
+ (get_local $7)
+ )
+ (if
+ (tee_local $3
+ (i32.load
+ (i32.const 1216)
)
- (get_local $7)
)
- (if
- (tee_local $3
+ (block
+ (set_local $0
(i32.load
- (i32.const 1216)
+ (i32.const 1228)
)
)
- (block
- (set_local $0
- (i32.load
- (i32.const 1228)
+ (set_local $3
+ (i32.add
+ (i32.shl
+ (tee_local $8
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 1248)
)
- (set_local $3
- (i32.add
+ )
+ (if
+ (i32.and
+ (tee_local $10
+ (i32.load
+ (i32.const 1208)
+ )
+ )
+ (tee_local $5
(i32.shl
- (tee_local $8
- (i32.shr_u
- (get_local $3)
- (i32.const 3)
- )
- )
- (i32.const 3)
+ (i32.const 1)
+ (get_local $8)
)
- (i32.const 1248)
)
)
(if
- (i32.and
+ (i32.lt_u
(tee_local $10
(i32.load
- (i32.const 1208)
- )
- )
- (tee_local $5
- (i32.shl
- (i32.const 1)
- (get_local $8)
- )
- )
- )
- (if
- (i32.lt_u
- (tee_local $10
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $3)
- (i32.const 8)
- )
+ (tee_local $5
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 1224)
- )
)
- (call $qa)
- (block
- (set_local $41
- (get_local $5)
- )
- (set_local $27
- (get_local $10)
- )
+ (i32.load
+ (i32.const 1224)
)
)
+ (call $qa)
(block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $10)
- (get_local $5)
- )
- )
(set_local $41
- (i32.add
- (get_local $3)
- (i32.const 8)
- )
+ (get_local $5)
)
(set_local $27
- (get_local $3)
+ (get_local $10)
)
)
)
- (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 $3)
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $10)
+ (get_local $5)
+ )
+ )
+ (set_local $41
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
+ )
+ (set_local $27
+ (get_local $3)
+ )
)
)
- )
- (i32.store
- (i32.const 1216)
- (get_local $7)
- )
- (i32.store
- (i32.const 1228)
- (get_local $6)
+ (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 $3)
+ )
)
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $1)
- (i32.const 8)
+ (i32.store
+ (i32.const 1216)
+ (get_local $7)
+ )
+ (i32.store
+ (i32.const 1228)
+ (get_local $6)
)
)
)
- (get_local $2)
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
+ )
)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $2)
)
- (if (result i32)
- (i32.gt_u
- (get_local $0)
- (i32.const -65)
- )
- (i32.const -1)
- (block $do-once (result i32)
- (set_local $0
- (i32.and
- (tee_local $3
- (i32.add
- (get_local $0)
- (i32.const 11)
- )
+ )
+ (if (result i32)
+ (i32.gt_u
+ (get_local $0)
+ (i32.const -65)
+ )
+ (i32.const -1)
+ (block $do-once (result i32)
+ (set_local $0
+ (i32.and
+ (tee_local $3
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
)
- (i32.const -8)
)
+ (i32.const -8)
)
- (if (result i32)
- (tee_local $10
- (i32.load
- (i32.const 1212)
- )
+ )
+ (if (result i32)
+ (tee_local $10
+ (i32.load
+ (i32.const 1212)
)
- (block (result i32)
- (set_local $5
- (i32.sub
- (i32.const 0)
- (get_local $0)
- )
+ )
+ (block (result i32)
+ (set_local $5
+ (i32.sub
+ (i32.const 0)
+ (get_local $0)
)
- (if
- (tee_local $13
- (i32.load
- (i32.add
- (i32.shl
- (tee_local $27
+ )
+ (if
+ (tee_local $13
+ (i32.load
+ (i32.add
+ (i32.shl
+ (tee_local $27
+ (if (result i32)
+ (tee_local $8
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 8)
+ )
+ )
(if (result i32)
- (tee_local $8
- (i32.shr_u
- (get_local $3)
- (i32.const 8)
- )
+ (i32.gt_u
+ (get_local $0)
+ (i32.const 16777215)
)
- (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 $13
- (i32.add
- (i32.sub
- (i32.const 14)
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $0)
+ (i32.add
+ (tee_local $13
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
(i32.or
- (i32.or
- (tee_local $8
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $4
- (i32.shl
- (get_local $8)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $8)
- (i32.const 1048320)
- )
- (i32.const 16)
+ (tee_local $8
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $4
+ (i32.shl
+ (get_local $8)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $8)
+ (i32.const 1048320)
)
- (i32.const 8)
+ (i32.const 16)
)
+ (i32.const 8)
)
)
)
- (i32.const 520192)
)
- (i32.const 16)
+ (i32.const 520192)
)
- (i32.const 4)
+ (i32.const 16)
)
+ (i32.const 4)
)
- (get_local $3)
)
- (tee_local $4
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $16
- (i32.shl
- (get_local $4)
- (get_local $8)
- )
+ (get_local $3)
+ )
+ (tee_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $16
+ (i32.shl
+ (get_local $4)
+ (get_local $8)
)
- (i32.const 245760)
)
- (i32.const 16)
+ (i32.const 245760)
)
- (i32.const 2)
+ (i32.const 16)
)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (i32.shl
- (get_local $16)
- (get_local $4)
- )
- (i32.const 15)
+ )
+ (i32.shr_u
+ (i32.shl
+ (get_local $16)
+ (get_local $4)
)
+ (i32.const 15)
)
)
- (i32.const 7)
)
+ (i32.const 7)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $13)
- (i32.const 1)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
)
)
- (i32.const 0)
)
+ (i32.const 0)
)
- (i32.const 2)
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
- (block $label$break$a
- (set_local $4
- (get_local $5)
- )
- (set_local $16
- (i32.const 0)
- )
- (set_local $3
- (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
+ )
+ (block $label$break$a
+ (set_local $4
+ (get_local $5)
+ )
+ (set_local $16
+ (i32.const 0)
+ )
+ (set_local $3
+ (i32.shl
+ (get_local $0)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
(get_local $27)
- (i32.const 31)
+ (i32.const 1)
)
)
+ (i32.eq
+ (get_local $27)
+ (i32.const 31)
+ )
)
)
- (set_local $8
- (get_local $13)
- )
- (loop $while-in14
- (if
- (i32.lt_u
- (tee_local $13
- (i32.sub
- (tee_local $2
- (i32.and
- (i32.load offset=4
- (get_local $8)
- )
- (i32.const -8)
+ )
+ (set_local $8
+ (get_local $13)
+ )
+ (loop $while-in14
+ (if
+ (i32.lt_u
+ (tee_local $13
+ (i32.sub
+ (tee_local $2
+ (i32.and
+ (i32.load offset=4
+ (get_local $8)
)
+ (i32.const -8)
)
- (get_local $0)
)
+ (get_local $0)
)
- (get_local $4)
)
- (set_local $4
- (if (result i32)
- (i32.eq
- (get_local $2)
- (get_local $0)
+ (get_local $4)
+ )
+ (set_local $4
+ (if (result i32)
+ (i32.eq
+ (get_local $2)
+ (get_local $0)
+ )
+ (block
+ (set_local $29
+ (get_local $13)
)
- (block
- (set_local $29
- (get_local $13)
- )
- (set_local $28
- (get_local $8)
- )
- (set_local $32
- (get_local $8)
- )
- (set_local $8
- (i32.const 90)
- )
- (br $label$break$a)
+ (set_local $28
+ (get_local $8)
)
- (block (result i32)
- (set_local $9
- (get_local $8)
- )
- (get_local $13)
+ (set_local $32
+ (get_local $8)
)
+ (set_local $8
+ (i32.const 90)
+ )
+ (br $label$break$a)
)
- )
- )
- (set_local $2
- (select
- (get_local $16)
- (tee_local $13
- (i32.load offset=20
+ (block (result i32)
+ (set_local $9
(get_local $8)
)
+ (get_local $13)
)
- (i32.or
- (i32.eqz
- (get_local $13)
- )
- (i32.eq
- (get_local $13)
- (tee_local $8
- (i32.load
+ )
+ )
+ )
+ (set_local $2
+ (select
+ (get_local $16)
+ (tee_local $13
+ (i32.load offset=20
+ (get_local $8)
+ )
+ )
+ (i32.or
+ (i32.eqz
+ (get_local $13)
+ )
+ (i32.eq
+ (get_local $13)
+ (tee_local $8
+ (i32.load
+ (i32.add
(i32.add
- (i32.add
- (get_local $8)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $3)
- (i32.const 31)
- )
- (i32.const 2)
+ (get_local $8)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 31)
)
+ (i32.const 2)
)
)
)
@@ -1624,262 +1622,283 @@
)
)
)
- (set_local $6
- (if (result i32)
- (tee_local $13
- (i32.eqz
- (get_local $8)
- )
+ )
+ (set_local $6
+ (if (result i32)
+ (tee_local $13
+ (i32.eqz
+ (get_local $8)
)
- (block (result i32)
- (set_local $36
- (get_local $4)
- )
- (set_local $33
- (get_local $9)
- )
- (set_local $8
- (i32.const 86)
- )
+ )
+ (block (result i32)
+ (set_local $36
+ (get_local $4)
+ )
+ (set_local $33
+ (get_local $9)
+ )
+ (set_local $8
+ (i32.const 86)
+ )
+ (get_local $2)
+ )
+ (block
+ (set_local $16
(get_local $2)
)
- (block
- (set_local $16
- (get_local $2)
- )
- (set_local $3
- (i32.shl
- (get_local $3)
- (i32.xor
- (i32.and
- (get_local $13)
- (i32.const 1)
- )
+ (set_local $3
+ (i32.shl
+ (get_local $3)
+ (i32.xor
+ (i32.and
+ (get_local $13)
(i32.const 1)
)
+ (i32.const 1)
)
)
- (br $while-in14)
)
+ (br $while-in14)
)
)
)
)
- (block
- (set_local $36
- (get_local $5)
- )
- (set_local $8
- (i32.const 86)
- )
- )
)
- (if
- (i32.eq
- (get_local $8)
+ (block
+ (set_local $36
+ (get_local $5)
+ )
+ (set_local $8
(i32.const 86)
)
- (if
- (tee_local $2
- (if (result i32)
- (i32.or
- (get_local $6)
- (get_local $33)
- )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $8)
+ (i32.const 86)
+ )
+ (if
+ (tee_local $2
+ (if (result i32)
+ (i32.or
(get_local $6)
- (block (result i32)
- (drop
- (br_if $do-once
- (get_local $0)
- (i32.eqz
- (tee_local $5
- (i32.and
- (get_local $10)
- (i32.or
- (tee_local $13
- (i32.shl
- (i32.const 2)
- (get_local $27)
- )
- )
- (i32.sub
- (i32.const 0)
- (get_local $13)
+ (get_local $33)
+ )
+ (get_local $6)
+ (block (result i32)
+ (drop
+ (br_if $do-once
+ (get_local $0)
+ (i32.eqz
+ (tee_local $5
+ (i32.and
+ (get_local $10)
+ (i32.or
+ (tee_local $13
+ (i32.shl
+ (i32.const 2)
+ (get_local $27)
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $13)
+ )
)
)
)
)
)
- (set_local $5
- (i32.and
- (i32.shr_u
- (tee_local $13
- (i32.add
- (i32.and
+ )
+ (set_local $5
+ (i32.and
+ (i32.shr_u
+ (tee_local $13
+ (i32.add
+ (i32.and
+ (get_local $5)
+ (i32.sub
+ (i32.const 0)
(get_local $5)
- (i32.sub
- (i32.const 0)
- (get_local $5)
- )
)
- (i32.const -1)
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (i32.load
- (i32.add
- (i32.shl
- (i32.add
+ )
+ (i32.load
+ (i32.add
+ (i32.shl
+ (i32.add
+ (i32.or
(i32.or
(i32.or
(i32.or
- (i32.or
- (tee_local $13
- (i32.and
- (i32.shr_u
- (tee_local $2
- (i32.shr_u
- (get_local $13)
- (get_local $5)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $5)
- )
- (tee_local $2
+ (tee_local $13
(i32.and
(i32.shr_u
- (tee_local $6
+ (tee_local $2
(i32.shr_u
- (get_local $2)
(get_local $13)
+ (get_local $5)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $5)
)
- (tee_local $6
+ (tee_local $2
(i32.and
(i32.shr_u
- (tee_local $9
+ (tee_local $6
(i32.shr_u
- (get_local $6)
(get_local $2)
+ (get_local $13)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
- (tee_local $9
+ (tee_local $6
(i32.and
(i32.shr_u
- (tee_local $3
+ (tee_local $9
(i32.shr_u
- (get_local $9)
(get_local $6)
+ (get_local $2)
)
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $3)
- (get_local $9)
+ (tee_local $9
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.shr_u
+ (get_local $9)
+ (get_local $6)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
)
)
- (i32.const 2)
+ (i32.shr_u
+ (get_local $3)
+ (get_local $9)
+ )
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
)
)
- (block
- (set_local $29
- (get_local $36)
- )
- (set_local $28
- (get_local $2)
- )
- (set_local $32
- (get_local $33)
- )
- (set_local $8
- (i32.const 90)
- )
+ )
+ (block
+ (set_local $29
+ (get_local $36)
)
- (block
- (set_local $18
- (get_local $36)
- )
- (set_local $11
- (get_local $33)
- )
+ (set_local $28
+ (get_local $2)
+ )
+ (set_local $32
+ (get_local $33)
+ )
+ (set_local $8
+ (i32.const 90)
+ )
+ )
+ (block
+ (set_local $18
+ (get_local $36)
+ )
+ (set_local $11
+ (get_local $33)
)
)
)
- (if
- (i32.eq
- (get_local $8)
- (i32.const 90)
+ )
+ (if
+ (i32.eq
+ (get_local $8)
+ (i32.const 90)
+ )
+ (loop $while-in16
+ (set_local $8
+ (i32.const 0)
)
- (loop $while-in16
- (set_local $8
- (i32.const 0)
- )
- (set_local $3
- (i32.lt_u
- (tee_local $9
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $28)
- )
- (i32.const -8)
+ (set_local $3
+ (i32.lt_u
+ (tee_local $9
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $28)
)
- (get_local $0)
+ (i32.const -8)
)
+ (get_local $0)
)
- (get_local $29)
)
+ (get_local $29)
)
- (set_local $6
- (select
- (get_local $9)
- (get_local $29)
- (get_local $3)
- )
+ )
+ (set_local $6
+ (select
+ (get_local $9)
+ (get_local $29)
+ (get_local $3)
)
- (set_local $9
- (select
+ )
+ (set_local $9
+ (select
+ (get_local $28)
+ (get_local $32)
+ (get_local $3)
+ )
+ )
+ (if
+ (tee_local $3
+ (i32.load offset=16
(get_local $28)
- (get_local $32)
+ )
+ )
+ (block
+ (set_local $29
+ (get_local $6)
+ )
+ (set_local $28
(get_local $3)
)
+ (set_local $32
+ (get_local $9)
+ )
+ (br $while-in16)
)
- (if
- (tee_local $3
- (i32.load offset=16
+ )
+ (set_local $18
+ (if (result i32)
+ (tee_local $28
+ (i32.load offset=20
(get_local $28)
)
)
@@ -1887,708 +1906,811 @@
(set_local $29
(get_local $6)
)
- (set_local $28
- (get_local $3)
- )
(set_local $32
(get_local $9)
)
(br $while-in16)
)
- )
- (set_local $18
- (if (result i32)
- (tee_local $28
- (i32.load offset=20
- (get_local $28)
- )
- )
- (block
- (set_local $29
- (get_local $6)
- )
- (set_local $32
- (get_local $9)
- )
- (br $while-in16)
- )
- (block (result i32)
- (set_local $11
- (get_local $9)
- )
- (get_local $6)
+ (block (result i32)
+ (set_local $11
+ (get_local $9)
)
+ (get_local $6)
)
)
)
)
+ )
+ (if (result i32)
+ (get_local $11)
(if (result i32)
- (get_local $11)
- (if (result i32)
- (i32.lt_u
- (get_local $18)
- (i32.sub
- (i32.load
- (i32.const 1216)
- )
- (get_local $0)
+ (i32.lt_u
+ (get_local $18)
+ (i32.sub
+ (i32.load
+ (i32.const 1216)
)
+ (get_local $0)
)
- (block
- (if
- (i32.lt_u
- (get_local $11)
- (tee_local $10
- (i32.load
- (i32.const 1224)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $11)
+ (tee_local $10
+ (i32.load
+ (i32.const 1224)
)
)
- (call $qa)
)
- (if
- (i32.ge_u
- (get_local $11)
- (tee_local $9
- (i32.add
- (get_local $11)
- (get_local $0)
- )
+ (call $qa)
+ )
+ (if
+ (i32.ge_u
+ (get_local $11)
+ (tee_local $9
+ (i32.add
+ (get_local $11)
+ (get_local $0)
)
)
- (call $qa)
)
- (set_local $6
- (i32.load offset=24
- (get_local $11)
- )
+ (call $qa)
+ )
+ (set_local $6
+ (i32.load offset=24
+ (get_local $11)
)
- (if
- (i32.eq
- (tee_local $3
- (i32.load offset=12
- (get_local $11)
- )
+ )
+ (if
+ (i32.eq
+ (tee_local $3
+ (i32.load offset=12
+ (get_local $11)
)
- (get_local $11)
)
- (block $do-once17
- (set_local $4
- (if (result i32)
- (tee_local $5
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $11)
- (i32.const 20)
- )
- )
- )
- )
- (block (result i32)
- (set_local $16
- (get_local $5)
- )
- (get_local $2)
- )
- (if (result i32)
- (tee_local $16
- (i32.load
- (tee_local $13
- (i32.add
- (get_local $11)
- (i32.const 16)
- )
- )
+ (get_local $11)
+ )
+ (block $do-once17
+ (set_local $4
+ (if (result i32)
+ (tee_local $5
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $11)
+ (i32.const 20)
)
)
- (get_local $13)
- (br $do-once17)
)
)
- )
- (loop $while-in20
- (if
- (tee_local $5
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $16)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (set_local $16
- (get_local $5)
- )
- (set_local $4
- (get_local $2)
- )
- (br $while-in20)
+ (block (result i32)
+ (set_local $16
+ (get_local $5)
)
+ (get_local $2)
)
- (if
- (tee_local $5
+ (if (result i32)
+ (tee_local $16
(i32.load
- (tee_local $2
+ (tee_local $13
(i32.add
- (get_local $16)
+ (get_local $11)
(i32.const 16)
)
)
)
)
- (block
- (set_local $16
- (get_local $5)
- )
- (set_local $4
- (get_local $2)
- )
- (br $while-in20)
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $4)
- (get_local $10)
- )
- (call $qa)
- (block
- (i32.store
- (get_local $4)
- (i32.const 0)
- )
- (set_local $22
- (get_local $16)
- )
+ (get_local $13)
+ (br $do-once17)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $2
- (i32.load offset=8
- (get_local $11)
- )
- )
- (get_local $10)
- )
- (call $qa)
- )
+ (loop $while-in20
(if
- (i32.ne
+ (tee_local $5
(i32.load
- (tee_local $5
+ (tee_local $2
(i32.add
- (get_local $2)
- (i32.const 12)
+ (get_local $16)
+ (i32.const 20)
)
)
)
- (get_local $11)
)
- (call $qa)
+ (block
+ (set_local $16
+ (get_local $5)
+ )
+ (set_local $4
+ (get_local $2)
+ )
+ (br $while-in20)
+ )
)
(if
- (i32.eq
+ (tee_local $5
(i32.load
- (tee_local $13
+ (tee_local $2
(i32.add
- (get_local $3)
- (i32.const 8)
+ (get_local $16)
+ (i32.const 16)
)
)
)
- (get_local $11)
)
(block
- (i32.store
+ (set_local $16
(get_local $5)
- (get_local $3)
)
- (i32.store
- (get_local $13)
+ (set_local $4
(get_local $2)
)
- (set_local $22
- (get_local $3)
+ (br $while-in20)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $4)
+ (get_local $10)
+ )
+ (call $qa)
+ (block
+ (i32.store
+ (get_local $4)
+ (i32.const 0)
+ )
+ (set_local $22
+ (get_local $16)
+ )
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $11)
)
)
- (call $qa)
+ (get_local $10)
+ )
+ (call $qa)
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $2)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $11)
)
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
+ )
+ )
+ (get_local $11)
+ )
+ (block
+ (i32.store
+ (get_local $5)
+ (get_local $3)
+ )
+ (i32.store
+ (get_local $13)
+ (get_local $2)
+ )
+ (set_local $22
+ (get_local $3)
+ )
+ )
+ (call $qa)
)
)
- (if
- (get_local $6)
- (block $do-once21
- (if
- (i32.eq
- (get_local $11)
- (i32.load
- (tee_local $10
- (i32.add
- (i32.shl
- (tee_local $3
- (i32.load offset=28
- (get_local $11)
- )
+ )
+ (if
+ (get_local $6)
+ (block $do-once21
+ (if
+ (i32.eq
+ (get_local $11)
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (i32.shl
+ (tee_local $3
+ (i32.load offset=28
+ (get_local $11)
)
- (i32.const 2)
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
)
- (block
- (i32.store
- (get_local $10)
+ )
+ (block
+ (i32.store
+ (get_local $10)
+ (get_local $22)
+ )
+ (if
+ (i32.eqz
(get_local $22)
)
- (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 $3)
- )
- (i32.const -1)
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.and
+ (i32.load
+ (i32.const 1212)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $3)
)
+ (i32.const -1)
)
)
- (br $do-once21)
)
+ (br $do-once21)
)
)
- (block
- (if
- (i32.lt_u
- (get_local $6)
- (i32.load
- (i32.const 1224)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (i32.load
+ (i32.const 1224)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $6)
- (i32.const 16)
- )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $6)
+ (i32.const 16)
)
)
- (get_local $11)
- )
- (i32.store
- (get_local $3)
- (get_local $22)
- )
- (i32.store offset=20
- (get_local $6)
- (get_local $22)
)
+ (get_local $11)
)
- (br_if $do-once21
- (i32.eqz
- (get_local $22)
- )
+ (i32.store
+ (get_local $3)
+ (get_local $22)
+ )
+ (i32.store offset=20
+ (get_local $6)
+ (get_local $22)
)
)
- )
- (if
- (i32.lt_u
- (get_local $22)
- (tee_local $3
- (i32.load
- (i32.const 1224)
- )
+ (br_if $do-once21
+ (i32.eqz
+ (get_local $22)
)
)
- (call $qa)
)
- (i32.store offset=24
+ )
+ (if
+ (i32.lt_u
(get_local $22)
- (get_local $6)
+ (tee_local $3
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (call $qa)
+ )
+ (i32.store offset=24
+ (get_local $22)
+ (get_local $6)
+ )
+ (if
+ (tee_local $10
+ (i32.load offset=16
+ (get_local $11)
+ )
)
(if
- (tee_local $10
- (i32.load offset=16
- (get_local $11)
- )
+ (i32.lt_u
+ (get_local $10)
+ (get_local $3)
)
- (if
- (i32.lt_u
+ (call $qa)
+ (block
+ (i32.store offset=16
+ (get_local $22)
(get_local $10)
- (get_local $3)
)
- (call $qa)
- (block
- (i32.store offset=16
- (get_local $22)
- (get_local $10)
- )
- (i32.store offset=24
- (get_local $10)
- (get_local $22)
- )
+ (i32.store offset=24
+ (get_local $10)
+ (get_local $22)
)
)
)
+ )
+ (if
+ (tee_local $10
+ (i32.load offset=20
+ (get_local $11)
+ )
+ )
(if
- (tee_local $10
- (i32.load offset=20
- (get_local $11)
+ (i32.lt_u
+ (get_local $10)
+ (i32.load
+ (i32.const 1224)
)
)
- (if
- (i32.lt_u
+ (call $qa)
+ (block
+ (i32.store offset=20
+ (get_local $22)
(get_local $10)
- (i32.load
- (i32.const 1224)
- )
)
- (call $qa)
- (block
- (i32.store offset=20
- (get_local $22)
- (get_local $10)
- )
- (i32.store offset=24
- (get_local $10)
- (get_local $22)
- )
+ (i32.store offset=24
+ (get_local $10)
+ (get_local $22)
)
)
)
)
)
- (if
- (i32.lt_u
- (get_local $18)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $11)
- (i32.or
- (tee_local $6
- (i32.add
- (get_local $18)
- (get_local $0)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $18)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $11)
+ (i32.or
+ (tee_local $6
+ (i32.add
+ (get_local $18)
+ (get_local $0)
)
- (i32.const 3)
)
+ (i32.const 3)
)
- (i32.store
- (tee_local $10
+ )
+ (i32.store
+ (tee_local $10
+ (i32.add
(i32.add
- (i32.add
- (get_local $11)
- (get_local $6)
- )
- (i32.const 4)
+ (get_local $11)
+ (get_local $6)
)
+ (i32.const 4)
)
- (i32.or
- (i32.load
- (get_local $10)
- )
- (i32.const 1)
+ )
+ (i32.or
+ (i32.load
+ (get_local $10)
)
+ (i32.const 1)
)
)
- (block $do-once25
- (i32.store offset=4
- (get_local $11)
- (i32.or
- (get_local $0)
- (i32.const 3)
- )
+ )
+ (block $do-once25
+ (i32.store offset=4
+ (get_local $11)
+ (i32.or
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (get_local $9)
+ (i32.or
+ (get_local $18)
+ (i32.const 1)
)
- (i32.store offset=4
+ )
+ (i32.store
+ (i32.add
(get_local $9)
- (i32.or
- (get_local $18)
- (i32.const 1)
- )
+ (get_local $18)
)
- (i32.store
- (i32.add
- (get_local $9)
- (get_local $18)
- )
+ (get_local $18)
+ )
+ (set_local $10
+ (i32.shr_u
(get_local $18)
+ (i32.const 3)
)
- (set_local $10
- (i32.shr_u
- (get_local $18)
- (i32.const 3)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $18)
+ (i32.const 256)
)
- (if
- (i32.lt_u
- (get_local $18)
- (i32.const 256)
+ (block
+ (set_local $6
+ (i32.add
+ (i32.shl
+ (get_local $10)
+ (i32.const 3)
+ )
+ (i32.const 1248)
+ )
)
- (block
- (set_local $6
- (i32.add
+ (if
+ (i32.and
+ (tee_local $3
+ (i32.load
+ (i32.const 1208)
+ )
+ )
+ (tee_local $2
(i32.shl
+ (i32.const 1)
(get_local $10)
- (i32.const 3)
)
- (i32.const 1248)
)
)
(if
- (i32.and
+ (i32.lt_u
(tee_local $3
(i32.load
- (i32.const 1208)
- )
- )
- (tee_local $2
- (i32.shl
- (i32.const 1)
- (get_local $10)
- )
- )
- )
- (if
- (i32.lt_u
- (tee_local $3
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $6)
- (i32.const 8)
- )
+ (tee_local $2
+ (i32.add
+ (get_local $6)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 1224)
- )
)
- (call $qa)
- (block
- (set_local $19
- (get_local $2)
- )
- (set_local $7
- (get_local $3)
- )
+ (i32.load
+ (i32.const 1224)
)
)
+ (call $qa)
(block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $3)
- (get_local $2)
- )
- )
(set_local $19
- (i32.add
- (get_local $6)
- (i32.const 8)
- )
+ (get_local $2)
)
(set_local $7
- (get_local $6)
+ (get_local $3)
)
)
)
- (i32.store
- (get_local $19)
- (get_local $9)
- )
- (i32.store offset=12
- (get_local $7)
- (get_local $9)
- )
- (i32.store offset=8
- (get_local $9)
- (get_local $7)
- )
- (i32.store offset=12
- (get_local $9)
- (get_local $6)
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $3)
+ (get_local $2)
+ )
+ )
+ (set_local $19
+ (i32.add
+ (get_local $6)
+ (i32.const 8)
+ )
+ )
+ (set_local $7
+ (get_local $6)
+ )
)
- (br $do-once25)
)
+ (i32.store
+ (get_local $19)
+ (get_local $9)
+ )
+ (i32.store offset=12
+ (get_local $7)
+ (get_local $9)
+ )
+ (i32.store offset=8
+ (get_local $9)
+ (get_local $7)
+ )
+ (i32.store offset=12
+ (get_local $9)
+ (get_local $6)
+ )
+ (br $do-once25)
)
- (set_local $13
- (i32.add
- (i32.shl
- (tee_local $3
+ )
+ (set_local $13
+ (i32.add
+ (i32.shl
+ (tee_local $3
+ (if (result i32)
+ (tee_local $6
+ (i32.shr_u
+ (get_local $18)
+ (i32.const 8)
+ )
+ )
(if (result i32)
- (tee_local $6
- (i32.shr_u
- (get_local $18)
- (i32.const 8)
- )
+ (i32.gt_u
+ (get_local $18)
+ (i32.const 16777215)
)
- (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 $13
- (i32.add
- (i32.sub
- (i32.const 14)
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $18)
+ (i32.add
+ (tee_local $13
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
(i32.or
- (i32.or
- (tee_local $6
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $2
- (i32.shl
- (get_local $6)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $6)
- (i32.const 1048320)
- )
- (i32.const 16)
+ (tee_local $6
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $2
+ (i32.shl
+ (get_local $6)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $6)
+ (i32.const 1048320)
)
- (i32.const 8)
+ (i32.const 16)
)
+ (i32.const 8)
)
)
)
- (i32.const 520192)
)
- (i32.const 16)
+ (i32.const 520192)
)
- (i32.const 4)
+ (i32.const 16)
)
+ (i32.const 4)
)
- (get_local $3)
)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $10
- (i32.shl
- (get_local $2)
- (get_local $6)
- )
+ (get_local $3)
+ )
+ (tee_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $10
+ (i32.shl
+ (get_local $2)
+ (get_local $6)
)
- (i32.const 245760)
)
- (i32.const 16)
+ (i32.const 245760)
)
- (i32.const 2)
+ (i32.const 16)
)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (i32.shl
- (get_local $10)
- (get_local $2)
- )
- (i32.const 15)
+ )
+ (i32.shr_u
+ (i32.shl
+ (get_local $10)
+ (get_local $2)
)
+ (i32.const 15)
)
)
- (i32.const 7)
)
+ (i32.const 7)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $13)
- (i32.const 1)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
)
)
- (i32.const 0)
)
+ (i32.const 0)
)
- (i32.const 2)
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
- (i32.store offset=28
- (get_local $9)
- (get_local $3)
+ )
+ (i32.store offset=28
+ (get_local $9)
+ (get_local $3)
+ )
+ (i32.store offset=4
+ (tee_local $2
+ (i32.add
+ (get_local $9)
+ (i32.const 16)
+ )
)
- (i32.store offset=4
- (tee_local $2
- (i32.add
- (get_local $9)
- (i32.const 16)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $2)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $2
+ (i32.load
+ (i32.const 1212)
+ )
+ )
+ (tee_local $10
+ (i32.shl
+ (i32.const 1)
+ (get_local $3)
+ )
)
)
- (i32.const 0)
)
- (i32.store
- (get_local $2)
- (i32.const 0)
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.or
+ (get_local $2)
+ (get_local $10)
+ )
+ )
+ (i32.store
+ (get_local $13)
+ (get_local $9)
+ )
+ (i32.store offset=24
+ (get_local $9)
+ (get_local $13)
+ )
+ (i32.store offset=12
+ (get_local $9)
+ (get_local $9)
+ )
+ (i32.store offset=8
+ (get_local $9)
+ (get_local $9)
+ )
+ (br $do-once25)
)
- (if
- (i32.eqz
- (i32.and
- (tee_local $2
- (i32.load
- (i32.const 1212)
- )
+ )
+ (set_local $10
+ (i32.shl
+ (get_local $18)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 1)
)
- (tee_local $10
- (i32.shl
- (i32.const 1)
- (get_local $3)
+ )
+ (i32.eq
+ (get_local $3)
+ (i32.const 31)
+ )
+ )
+ )
+ )
+ (set_local $2
+ (i32.load
+ (get_local $13)
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $8
+ (loop $while-in28 (result i32)
+ (block $while-out27 (result i32)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $2)
+ )
+ (i32.const -8)
+ )
+ (get_local $18)
+ )
+ (block
+ (set_local $17
+ (get_local $2)
+ )
+ (br $while-out27
+ (i32.const 148)
+ )
+ )
+ )
+ (if (result i32)
+ (tee_local $3
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $10)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ )
+ (block
+ (set_local $10
+ (i32.shl
+ (get_local $10)
+ (i32.const 1)
+ )
+ )
+ (set_local $2
+ (get_local $3)
+ )
+ (br $while-in28)
+ )
+ (block (result i32)
+ (set_local $21
+ (get_local $13)
+ )
+ (set_local $15
+ (get_local $2)
+ )
+ (i32.const 145)
+ )
)
)
)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.or
- (get_local $2)
- (get_local $10)
- )
+ (i32.const 145)
+ )
+ (if
+ (i32.lt_u
+ (get_local $21)
+ (i32.load
+ (i32.const 1224)
)
+ )
+ (call $qa)
+ (block
(i32.store
- (get_local $13)
+ (get_local $21)
(get_local $9)
)
(i32.store offset=24
(get_local $9)
- (get_local $13)
+ (get_local $15)
)
(i32.store offset=12
(get_local $9)
@@ -2598,209 +2720,87 @@
(get_local $9)
(get_local $9)
)
- (br $do-once25)
- )
- )
- (set_local $10
- (i32.shl
- (get_local $18)
- (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)
- )
- )
- )
- )
- (set_local $2
- (i32.load
- (get_local $13)
)
)
(if
(i32.eq
- (tee_local $8
- (loop $while-in28 (result i32)
- (block $while-out27 (result i32)
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $2)
- )
- (i32.const -8)
- )
- (get_local $18)
- )
- (block
- (set_local $17
- (get_local $2)
- )
- (br $while-out27
- (i32.const 148)
+ (get_local $8)
+ (i32.const 148)
+ )
+ (if
+ (i32.and
+ (i32.ge_u
+ (tee_local $10
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $17)
+ (i32.const 8)
)
)
)
- (if (result i32)
- (tee_local $3
- (i32.load
- (tee_local $13
- (i32.add
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $10)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
- )
- )
- )
- (block
- (set_local $10
- (i32.shl
- (get_local $10)
- (i32.const 1)
- )
- )
- (set_local $2
- (get_local $3)
- )
- (br $while-in28)
- )
- (block (result i32)
- (set_local $21
- (get_local $13)
- )
- (set_local $15
- (get_local $2)
- )
- (i32.const 145)
- )
+ )
+ (tee_local $3
+ (i32.load
+ (i32.const 1224)
)
)
)
- )
- (i32.const 145)
- )
- (if
- (i32.lt_u
- (get_local $21)
- (i32.load
- (i32.const 1224)
+ (i32.ge_u
+ (get_local $17)
+ (get_local $3)
)
)
- (call $qa)
(block
+ (i32.store offset=12
+ (get_local $10)
+ (get_local $9)
+ )
(i32.store
- (get_local $21)
+ (get_local $2)
(get_local $9)
)
- (i32.store offset=24
+ (i32.store offset=8
(get_local $9)
- (get_local $15)
+ (get_local $10)
)
(i32.store offset=12
(get_local $9)
- (get_local $9)
+ (get_local $17)
)
- (i32.store offset=8
- (get_local $9)
+ (i32.store offset=24
(get_local $9)
+ (i32.const 0)
)
)
- )
- (if
- (i32.eq
- (get_local $8)
- (i32.const 148)
- )
- (if
- (i32.and
- (i32.ge_u
- (tee_local $10
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $17)
- (i32.const 8)
- )
- )
- )
- )
- (tee_local $3
- (i32.load
- (i32.const 1224)
- )
- )
- )
- (i32.ge_u
- (get_local $17)
- (get_local $3)
- )
- )
- (block
- (i32.store offset=12
- (get_local $10)
- (get_local $9)
- )
- (i32.store
- (get_local $2)
- (get_local $9)
- )
- (i32.store offset=8
- (get_local $9)
- (get_local $10)
- )
- (i32.store offset=12
- (get_local $9)
- (get_local $17)
- )
- (i32.store offset=24
- (get_local $9)
- (i32.const 0)
- )
- )
- (call $qa)
- )
+ (call $qa)
)
)
)
)
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $11)
- (i32.const 8)
- )
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.add
+ (get_local $11)
+ (i32.const 8)
)
)
- (get_local $0)
)
(get_local $0)
)
+ (get_local $0)
)
- (get_local $0)
)
+ (get_local $0)
)
)
)
)
+ )
+ (block $folding-inner0
(if
(i32.ge_u
(tee_local $11
diff --git a/test/memorygrowth.fromasm.clamp b/test/memorygrowth.fromasm.clamp
index 38d5d9e5d..992ac9c04 100644
--- a/test/memorygrowth.fromasm.clamp
+++ b/test/memorygrowth.fromasm.clamp
@@ -110,782 +110,816 @@
(local $52 i32)
(local $53 i32)
(local $54 i32)
- (block $folding-inner0
- (set_local $25
+ (set_local $25
+ (get_global $r)
+ )
+ (set_global $r
+ (i32.add
(get_global $r)
+ (i32.const 16)
)
- (set_global $r
- (i32.add
- (get_global $r)
- (i32.const 16)
+ )
+ (set_local $14
+ (get_local $25)
+ )
+ (set_local $6
+ (if (result i32)
+ (i32.lt_u
+ (get_local $0)
+ (i32.const 245)
)
- )
- (set_local $14
- (get_local $25)
- )
- (set_local $6
- (if (result i32)
- (i32.lt_u
- (get_local $0)
- (i32.const 245)
- )
- (block (result i32)
- (if
- (i32.and
- (tee_local $6
- (i32.shr_u
- (tee_local $5
- (i32.load
- (i32.const 1208)
- )
+ (block (result i32)
+ (if
+ (i32.and
+ (tee_local $6
+ (i32.shr_u
+ (tee_local $5
+ (i32.load
+ (i32.const 1208)
)
- (tee_local $0
- (i32.shr_u
- (tee_local $2
- (select
- (i32.const 16)
- (i32.and
- (i32.add
- (get_local $0)
- (i32.const 11)
- )
- (i32.const -8)
- )
- (i32.lt_u
+ )
+ (tee_local $0
+ (i32.shr_u
+ (tee_local $2
+ (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 3)
)
+ (i32.const 3)
)
)
)
- (i32.const 3)
)
- (block
- (set_local $7
- (i32.load
- (tee_local $2
- (i32.add
- (tee_local $13
- (i32.load
- (tee_local $16
- (i32.add
- (tee_local $9
- (i32.add
- (i32.shl
- (tee_local $0
- (i32.add
- (i32.xor
- (i32.and
- (get_local $6)
- (i32.const 1)
- )
+ (i32.const 3)
+ )
+ (block
+ (set_local $7
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (tee_local $13
+ (i32.load
+ (tee_local $16
+ (i32.add
+ (tee_local $9
+ (i32.add
+ (i32.shl
+ (tee_local $0
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $6)
(i32.const 1)
)
- (get_local $0)
+ (i32.const 1)
)
+ (get_local $0)
)
- (i32.const 3)
)
- (i32.const 1248)
+ (i32.const 3)
)
+ (i32.const 1248)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (if
- (i32.eq
- (get_local $9)
- (get_local $7)
- )
- (i32.store
- (i32.const 1208)
- (i32.and
- (get_local $5)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $0)
- )
- (i32.const -1)
+ )
+ (if
+ (i32.eq
+ (get_local $9)
+ (get_local $7)
+ )
+ (i32.store
+ (i32.const 1208)
+ (i32.and
+ (get_local $5)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
)
+ (i32.const -1)
)
)
- (block
- (if
- (i32.lt_u
- (get_local $7)
- (i32.load
- (i32.const 1224)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (i32.load
+ (i32.const 1224)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $8
- (i32.add
- (get_local $7)
- (i32.const 12)
- )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (get_local $7)
+ (i32.const 12)
)
)
- (get_local $13)
)
- (block
- (i32.store
- (get_local $8)
- (get_local $9)
- )
- (i32.store
- (get_local $16)
- (get_local $7)
- )
+ (get_local $13)
+ )
+ (block
+ (i32.store
+ (get_local $8)
+ (get_local $9)
+ )
+ (i32.store
+ (get_local $16)
+ (get_local $7)
)
- (call $qa)
)
+ (call $qa)
)
)
- (i32.store offset=4
- (get_local $13)
- (i32.or
- (tee_local $7
- (i32.shl
- (get_local $0)
- (i32.const 3)
- )
+ )
+ (i32.store offset=4
+ (get_local $13)
+ (i32.or
+ (tee_local $7
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
)
- (i32.const 3)
)
+ (i32.const 3)
)
- (i32.store
- (tee_local $16
+ )
+ (i32.store
+ (tee_local $16
+ (i32.add
(i32.add
- (i32.add
- (get_local $13)
- (get_local $7)
- )
- (i32.const 4)
- )
- )
- (i32.or
- (i32.load
- (get_local $16)
+ (get_local $13)
+ (get_local $7)
)
- (i32.const 1)
+ (i32.const 4)
)
)
- (set_global $r
- (get_local $25)
- )
- (return
- (get_local $2)
+ (i32.or
+ (i32.load
+ (get_local $16)
+ )
+ (i32.const 1)
)
)
- )
- (if (result i32)
- (i32.gt_u
+ (set_global $r
+ (get_local $25)
+ )
+ (return
(get_local $2)
- (tee_local $16
- (i32.load
- (i32.const 1216)
- )
+ )
+ )
+ )
+ (if (result i32)
+ (i32.gt_u
+ (get_local $2)
+ (tee_local $16
+ (i32.load
+ (i32.const 1216)
)
)
- (block (result i32)
- (if
- (get_local $6)
- (block
- (set_local $9
- (i32.and
- (i32.shr_u
- (tee_local $7
- (i32.add
- (i32.and
- (tee_local $9
- (i32.and
- (i32.shl
- (get_local $6)
- (get_local $0)
- )
- (i32.or
- (tee_local $7
- (i32.shl
- (i32.const 2)
- (get_local $0)
- )
- )
- (i32.sub
- (i32.const 0)
- (get_local $7)
+ )
+ (block (result i32)
+ (if
+ (get_local $6)
+ (block
+ (set_local $9
+ (i32.and
+ (i32.shr_u
+ (tee_local $7
+ (i32.add
+ (i32.and
+ (tee_local $9
+ (i32.and
+ (i32.shl
+ (get_local $6)
+ (get_local $0)
+ )
+ (i32.or
+ (tee_local $7
+ (i32.shl
+ (i32.const 2)
+ (get_local $0)
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $7)
+ )
)
)
- (i32.sub
- (i32.const 0)
- (get_local $9)
- )
)
- (i32.const -1)
+ (i32.sub
+ (i32.const 0)
+ (get_local $9)
+ )
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (set_local $9
- (i32.load
- (tee_local $8
- (i32.add
- (tee_local $10
- (i32.load
- (tee_local $13
- (i32.add
- (tee_local $3
- (i32.add
- (i32.shl
- (tee_local $4
- (i32.add
+ )
+ (set_local $9
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (tee_local $10
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (tee_local $3
+ (i32.add
+ (i32.shl
+ (tee_local $4
+ (i32.add
+ (i32.or
(i32.or
(i32.or
(i32.or
- (i32.or
- (tee_local $7
- (i32.and
- (i32.shr_u
- (tee_local $8
- (i32.shr_u
- (get_local $7)
- (get_local $9)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $9)
- )
- (tee_local $8
+ (tee_local $7
(i32.and
(i32.shr_u
- (tee_local $10
+ (tee_local $8
(i32.shr_u
- (get_local $8)
(get_local $7)
+ (get_local $9)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $9)
)
- (tee_local $10
+ (tee_local $8
(i32.and
(i32.shr_u
- (tee_local $3
+ (tee_local $10
(i32.shr_u
- (get_local $10)
(get_local $8)
+ (get_local $7)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
- (tee_local $3
+ (tee_local $10
(i32.and
(i32.shr_u
- (tee_local $13
+ (tee_local $3
(i32.shr_u
- (get_local $3)
(get_local $10)
+ (get_local $8)
)
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $13)
- (get_local $3)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $13
+ (i32.shr_u
+ (get_local $3)
+ (get_local $10)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
)
)
+ (i32.shr_u
+ (get_local $13)
+ (get_local $3)
+ )
)
- (i32.const 3)
)
- (i32.const 1248)
+ (i32.const 3)
)
+ (i32.const 1248)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (if
- (i32.eq
- (get_local $3)
- (get_local $9)
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.and
- (get_local $5)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $4)
- )
- (i32.const -1)
+ )
+ (if
+ (i32.eq
+ (get_local $3)
+ (get_local $9)
+ )
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.and
+ (get_local $5)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $4)
)
+ (i32.const -1)
)
)
- (set_local $34
- (get_local $16)
- )
)
- (block
- (if
- (i32.lt_u
- (get_local $9)
- (i32.load
- (i32.const 1224)
- )
+ (set_local $34
+ (get_local $16)
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $9)
+ (i32.load
+ (i32.const 1224)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $9)
- (i32.const 12)
- )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $9)
+ (i32.const 12)
)
)
- (get_local $10)
)
- (block
- (i32.store
- (get_local $7)
- (get_local $3)
- )
- (i32.store
- (get_local $13)
- (get_local $9)
- )
- (set_local $34
- (i32.load
- (i32.const 1216)
- )
+ (get_local $10)
+ )
+ (block
+ (i32.store
+ (get_local $7)
+ (get_local $3)
+ )
+ (i32.store
+ (get_local $13)
+ (get_local $9)
+ )
+ (set_local $34
+ (i32.load
+ (i32.const 1216)
)
)
- (call $qa)
)
+ (call $qa)
)
)
- (i32.store offset=4
- (get_local $10)
- (i32.or
+ )
+ (i32.store offset=4
+ (get_local $10)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (tee_local $13
+ (i32.add
+ (get_local $10)
(get_local $2)
- (i32.const 3)
)
)
- (i32.store offset=4
- (tee_local $13
- (i32.add
- (get_local $10)
- (get_local $2)
- )
- )
- (i32.or
- (tee_local $9
- (i32.sub
- (i32.shl
- (get_local $4)
- (i32.const 3)
- )
- (get_local $2)
+ (i32.or
+ (tee_local $9
+ (i32.sub
+ (i32.shl
+ (get_local $4)
+ (i32.const 3)
)
+ (get_local $2)
)
- (i32.const 1)
)
+ (i32.const 1)
)
- (i32.store
- (i32.add
- (get_local $13)
- (get_local $9)
- )
+ )
+ (i32.store
+ (i32.add
+ (get_local $13)
(get_local $9)
)
- (if
- (get_local $34)
- (block
- (set_local $3
- (i32.load
- (i32.const 1228)
+ (get_local $9)
+ )
+ (if
+ (get_local $34)
+ (block
+ (set_local $3
+ (i32.load
+ (i32.const 1228)
+ )
+ )
+ (set_local $5
+ (i32.add
+ (i32.shl
+ (tee_local $16
+ (i32.shr_u
+ (get_local $34)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 1248)
)
- (set_local $5
- (i32.add
+ )
+ (if
+ (i32.and
+ (tee_local $0
+ (i32.load
+ (i32.const 1208)
+ )
+ )
+ (tee_local $6
(i32.shl
- (tee_local $16
- (i32.shr_u
- (get_local $34)
- (i32.const 3)
- )
- )
- (i32.const 3)
+ (i32.const 1)
+ (get_local $16)
)
- (i32.const 1248)
)
)
(if
- (i32.and
+ (i32.lt_u
(tee_local $0
(i32.load
- (i32.const 1208)
- )
- )
- (tee_local $6
- (i32.shl
- (i32.const 1)
- (get_local $16)
- )
- )
- )
- (if
- (i32.lt_u
- (tee_local $0
- (i32.load
- (tee_local $6
- (i32.add
- (get_local $5)
- (i32.const 8)
- )
+ (tee_local $6
+ (i32.add
+ (get_local $5)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 1224)
- )
)
- (call $qa)
- (block
- (set_local $40
- (get_local $6)
- )
- (set_local $35
- (get_local $0)
- )
+ (i32.load
+ (i32.const 1224)
)
)
+ (call $qa)
(block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $0)
- (get_local $6)
- )
- )
(set_local $40
- (i32.add
- (get_local $5)
- (i32.const 8)
- )
+ (get_local $6)
)
(set_local $35
- (get_local $5)
+ (get_local $0)
)
)
)
- (i32.store
- (get_local $40)
- (get_local $3)
- )
- (i32.store offset=12
- (get_local $35)
- (get_local $3)
- )
- (i32.store offset=8
- (get_local $3)
- (get_local $35)
- )
- (i32.store offset=12
- (get_local $3)
- (get_local $5)
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $0)
+ (get_local $6)
+ )
+ )
+ (set_local $40
+ (i32.add
+ (get_local $5)
+ (i32.const 8)
+ )
+ )
+ (set_local $35
+ (get_local $5)
+ )
)
)
+ (i32.store
+ (get_local $40)
+ (get_local $3)
+ )
+ (i32.store offset=12
+ (get_local $35)
+ (get_local $3)
+ )
+ (i32.store offset=8
+ (get_local $3)
+ (get_local $35)
+ )
+ (i32.store offset=12
+ (get_local $3)
+ (get_local $5)
+ )
)
- (i32.store
- (i32.const 1216)
- (get_local $9)
- )
- (i32.store
- (i32.const 1228)
- (get_local $13)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (get_local $8)
- )
+ )
+ (i32.store
+ (i32.const 1216)
+ (get_local $9)
+ )
+ (i32.store
+ (i32.const 1228)
+ (get_local $13)
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (get_local $8)
)
)
- (if (result i32)
- (tee_local $13
- (i32.load
- (i32.const 1212)
- )
+ )
+ (if (result i32)
+ (tee_local $13
+ (i32.load
+ (i32.const 1212)
)
- (block
- (set_local $13
- (i32.and
- (i32.shr_u
- (tee_local $9
- (i32.add
- (i32.and
+ )
+ (block
+ (set_local $13
+ (i32.and
+ (i32.shr_u
+ (tee_local $9
+ (i32.add
+ (i32.and
+ (get_local $13)
+ (i32.sub
+ (i32.const 0)
(get_local $13)
- (i32.sub
- (i32.const 0)
- (get_local $13)
- )
)
- (i32.const -1)
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (set_local $0
- (i32.sub
- (i32.and
- (i32.load offset=4
- (tee_local $16
- (i32.load
- (i32.add
- (i32.shl
- (i32.add
+ )
+ (set_local $0
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (tee_local $16
+ (i32.load
+ (i32.add
+ (i32.shl
+ (i32.add
+ (i32.or
(i32.or
(i32.or
(i32.or
- (i32.or
- (tee_local $9
- (i32.and
- (i32.shr_u
- (tee_local $5
- (i32.shr_u
- (get_local $9)
- (get_local $13)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $13)
- )
- (tee_local $5
+ (tee_local $9
(i32.and
(i32.shr_u
- (tee_local $3
+ (tee_local $5
(i32.shr_u
- (get_local $5)
(get_local $9)
+ (get_local $13)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $13)
)
- (tee_local $3
+ (tee_local $5
(i32.and
(i32.shr_u
- (tee_local $0
+ (tee_local $3
(i32.shr_u
- (get_local $3)
(get_local $5)
+ (get_local $9)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
- (tee_local $0
+ (tee_local $3
(i32.and
(i32.shr_u
- (tee_local $6
+ (tee_local $0
(i32.shr_u
- (get_local $0)
(get_local $3)
+ (get_local $5)
)
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $6)
- (get_local $0)
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $6
+ (i32.shr_u
+ (get_local $0)
+ (get_local $3)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
)
)
- (i32.const 2)
+ (i32.shr_u
+ (get_local $6)
+ (get_local $0)
+ )
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
)
- (i32.const -8)
)
- (get_local $2)
+ (i32.const -8)
)
+ (get_local $2)
)
- (set_local $3
- (tee_local $6
- (get_local $16)
- )
+ )
+ (set_local $3
+ (tee_local $6
+ (get_local $16)
)
- (loop $while-in
- (block $while-out
- (set_local $5
- (i32.lt_u
- (tee_local $16
- (i32.sub
- (i32.and
- (i32.load offset=4
- (tee_local $6
+ )
+ (loop $while-in
+ (block $while-out
+ (set_local $5
+ (i32.lt_u
+ (tee_local $16
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (tee_local $6
+ (if (result i32)
+ (tee_local $16
+ (i32.load offset=16
+ (get_local $6)
+ )
+ )
+ (get_local $16)
(if (result i32)
- (tee_local $16
- (i32.load offset=16
+ (tee_local $5
+ (i32.load offset=20
(get_local $6)
)
)
- (get_local $16)
- (if (result i32)
- (tee_local $5
- (i32.load offset=20
- (get_local $6)
- )
+ (get_local $5)
+ (block
+ (set_local $7
+ (get_local $0)
)
- (get_local $5)
- (block
- (set_local $7
- (get_local $0)
- )
- (set_local $1
- (get_local $3)
- )
- (br $while-out)
+ (set_local $1
+ (get_local $3)
)
+ (br $while-out)
)
)
)
)
- (i32.const -8)
)
- (get_local $2)
+ (i32.const -8)
)
+ (get_local $2)
)
- (get_local $0)
)
+ (get_local $0)
)
- (set_local $0
- (select
- (get_local $16)
- (get_local $0)
- (get_local $5)
- )
+ )
+ (set_local $0
+ (select
+ (get_local $16)
+ (get_local $0)
+ (get_local $5)
)
- (set_local $3
- (select
- (get_local $6)
- (get_local $3)
- (get_local $5)
- )
+ )
+ (set_local $3
+ (select
+ (get_local $6)
+ (get_local $3)
+ (get_local $5)
)
- (br $while-in)
)
+ (br $while-in)
)
- (if
- (i32.lt_u
- (get_local $1)
- (tee_local $3
- (i32.load
- (i32.const 1224)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $1)
+ (tee_local $3
+ (i32.load
+ (i32.const 1224)
)
)
- (call $qa)
)
- (if
- (i32.ge_u
- (get_local $1)
- (tee_local $6
- (i32.add
- (get_local $1)
- (get_local $2)
- )
+ (call $qa)
+ )
+ (if
+ (i32.ge_u
+ (get_local $1)
+ (tee_local $6
+ (i32.add
+ (get_local $1)
+ (get_local $2)
)
)
- (call $qa)
)
- (set_local $0
- (i32.load offset=24
- (get_local $1)
+ (call $qa)
+ )
+ (set_local $0
+ (i32.load offset=24
+ (get_local $1)
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $8
+ (i32.load offset=12
+ (get_local $1)
+ )
)
+ (get_local $1)
)
- (if
- (i32.eq
- (tee_local $8
- (i32.load offset=12
- (get_local $1)
+ (block $do-once4
+ (if
+ (tee_local $4
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $16
+ (get_local $4)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ )
+ (br_if $do-once4
+ (i32.eqz
+ (tee_local $16
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ )
+ )
+ )
)
)
- (get_local $1)
)
- (block $do-once4
+ (loop $while-in7
(if
(tee_local $4
(i32.load
(tee_local $10
(i32.add
- (get_local $1)
+ (get_local $16)
(i32.const 20)
)
)
@@ -898,725 +932,689 @@
(set_local $5
(get_local $10)
)
- )
- (br_if $do-once4
- (i32.eqz
- (tee_local $16
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $1)
- (i32.const 16)
- )
- )
- )
- )
- )
+ (br $while-in7)
)
)
- (loop $while-in7
- (if
- (tee_local $4
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $16)
- (i32.const 20)
- )
+ (if
+ (tee_local $4
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $16)
+ (i32.const 16)
)
)
)
- (block
- (set_local $16
- (get_local $4)
- )
- (set_local $5
- (get_local $10)
- )
- (br $while-in7)
- )
)
- (if
- (tee_local $4
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $16)
- (i32.const 16)
- )
- )
- )
+ (block
+ (set_local $16
+ (get_local $4)
)
- (block
- (set_local $16
- (get_local $4)
- )
- (set_local $5
- (get_local $10)
- )
- (br $while-in7)
+ (set_local $5
+ (get_local $10)
)
+ (br $while-in7)
)
)
- (if
- (i32.lt_u
+ )
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (get_local $3)
+ )
+ (call $qa)
+ (block
+ (i32.store
(get_local $5)
- (get_local $3)
+ (i32.const 0)
)
- (call $qa)
- (block
- (i32.store
- (get_local $5)
- (i32.const 0)
- )
- (set_local $23
- (get_local $16)
- )
+ (set_local $23
+ (get_local $16)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $10
- (i32.load offset=8
- (get_local $1)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $10
+ (i32.load offset=8
+ (get_local $1)
)
- (get_local $3)
)
- (call $qa)
+ (get_local $3)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $4
- (i32.add
- (get_local $10)
- (i32.const 12)
- )
+ (call $qa)
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $10)
+ (i32.const 12)
)
)
- (get_local $1)
)
- (call $qa)
+ (get_local $1)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $8)
- (i32.const 8)
- )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $8)
+ (i32.const 8)
)
)
- (get_local $1)
)
- (block
- (i32.store
- (get_local $4)
- (get_local $8)
- )
- (i32.store
- (get_local $5)
- (get_local $10)
- )
- (set_local $23
- (get_local $8)
- )
+ (get_local $1)
+ )
+ (block
+ (i32.store
+ (get_local $4)
+ (get_local $8)
+ )
+ (i32.store
+ (get_local $5)
+ (get_local $10)
+ )
+ (set_local $23
+ (get_local $8)
)
- (call $qa)
)
+ (call $qa)
)
)
- (if
- (get_local $0)
- (block $do-once8
- (if
- (i32.eq
- (get_local $1)
- (i32.load
- (tee_local $3
- (i32.add
- (i32.shl
- (tee_local $8
- (i32.load offset=28
- (get_local $1)
- )
+ )
+ (if
+ (get_local $0)
+ (block $do-once8
+ (if
+ (i32.eq
+ (get_local $1)
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (i32.shl
+ (tee_local $8
+ (i32.load offset=28
+ (get_local $1)
)
- (i32.const 2)
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
)
- (block
- (i32.store
- (get_local $3)
+ )
+ (block
+ (i32.store
+ (get_local $3)
+ (get_local $23)
+ )
+ (if
+ (i32.eqz
(get_local $23)
)
- (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 $8)
- )
- (i32.const -1)
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.and
+ (i32.load
+ (i32.const 1212)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $8)
)
+ (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)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $8
- (i32.add
- (get_local $0)
- (i32.const 16)
- )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
)
)
- (get_local $1)
- )
- (i32.store
- (get_local $8)
- (get_local $23)
- )
- (i32.store offset=20
- (get_local $0)
- (get_local $23)
)
+ (get_local $1)
)
- (br_if $do-once8
- (i32.eqz
- (get_local $23)
- )
+ (i32.store
+ (get_local $8)
+ (get_local $23)
+ )
+ (i32.store offset=20
+ (get_local $0)
+ (get_local $23)
)
)
- )
- (if
- (i32.lt_u
- (get_local $23)
- (tee_local $8
- (i32.load
- (i32.const 1224)
- )
+ (br_if $do-once8
+ (i32.eqz
+ (get_local $23)
)
)
- (call $qa)
)
- (i32.store offset=24
+ )
+ (if
+ (i32.lt_u
(get_local $23)
- (get_local $0)
+ (tee_local $8
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (call $qa)
+ )
+ (i32.store offset=24
+ (get_local $23)
+ (get_local $0)
+ )
+ (if
+ (tee_local $3
+ (i32.load offset=16
+ (get_local $1)
+ )
)
(if
- (tee_local $3
- (i32.load offset=16
- (get_local $1)
- )
+ (i32.lt_u
+ (get_local $3)
+ (get_local $8)
)
- (if
- (i32.lt_u
+ (call $qa)
+ (block
+ (i32.store offset=16
+ (get_local $23)
(get_local $3)
- (get_local $8)
)
- (call $qa)
- (block
- (i32.store offset=16
- (get_local $23)
- (get_local $3)
- )
- (i32.store offset=24
- (get_local $3)
- (get_local $23)
- )
+ (i32.store offset=24
+ (get_local $3)
+ (get_local $23)
)
)
)
+ )
+ (if
+ (tee_local $3
+ (i32.load offset=20
+ (get_local $1)
+ )
+ )
(if
- (tee_local $3
- (i32.load offset=20
- (get_local $1)
+ (i32.lt_u
+ (get_local $3)
+ (i32.load
+ (i32.const 1224)
)
)
- (if
- (i32.lt_u
+ (call $qa)
+ (block
+ (i32.store offset=20
+ (get_local $23)
(get_local $3)
- (i32.load
- (i32.const 1224)
- )
)
- (call $qa)
- (block
- (i32.store offset=20
- (get_local $23)
- (get_local $3)
- )
- (i32.store offset=24
- (get_local $3)
- (get_local $23)
- )
+ (i32.store offset=24
+ (get_local $3)
+ (get_local $23)
)
)
)
)
)
- (if
- (i32.lt_u
- (get_local $7)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (tee_local $0
- (i32.add
- (get_local $7)
- (get_local $2)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $1)
+ (i32.or
+ (tee_local $0
+ (i32.add
+ (get_local $7)
+ (get_local $2)
)
- (i32.const 3)
)
+ (i32.const 3)
)
- (i32.store
- (tee_local $3
+ )
+ (i32.store
+ (tee_local $3
+ (i32.add
(i32.add
- (i32.add
- (get_local $1)
- (get_local $0)
- )
- (i32.const 4)
+ (get_local $1)
+ (get_local $0)
)
+ (i32.const 4)
)
- (i32.or
- (i32.load
- (get_local $3)
- )
- (i32.const 1)
+ )
+ (i32.or
+ (i32.load
+ (get_local $3)
)
+ (i32.const 1)
)
)
- (block
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (get_local $2)
- (i32.const 3)
- )
+ )
+ (block
+ (i32.store offset=4
+ (get_local $1)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
)
- (i32.store offset=4
+ )
+ (i32.store offset=4
+ (get_local $6)
+ (i32.or
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
(get_local $6)
- (i32.or
- (get_local $7)
- (i32.const 1)
- )
+ (get_local $7)
)
- (i32.store
- (i32.add
- (get_local $6)
- (get_local $7)
+ (get_local $7)
+ )
+ (if
+ (tee_local $3
+ (i32.load
+ (i32.const 1216)
)
- (get_local $7)
)
- (if
- (tee_local $3
+ (block
+ (set_local $0
(i32.load
- (i32.const 1216)
+ (i32.const 1228)
)
)
- (block
- (set_local $0
- (i32.load
- (i32.const 1228)
+ (set_local $3
+ (i32.add
+ (i32.shl
+ (tee_local $8
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 1248)
)
- (set_local $3
- (i32.add
+ )
+ (if
+ (i32.and
+ (tee_local $10
+ (i32.load
+ (i32.const 1208)
+ )
+ )
+ (tee_local $5
(i32.shl
- (tee_local $8
- (i32.shr_u
- (get_local $3)
- (i32.const 3)
- )
- )
- (i32.const 3)
+ (i32.const 1)
+ (get_local $8)
)
- (i32.const 1248)
)
)
(if
- (i32.and
+ (i32.lt_u
(tee_local $10
(i32.load
- (i32.const 1208)
- )
- )
- (tee_local $5
- (i32.shl
- (i32.const 1)
- (get_local $8)
- )
- )
- )
- (if
- (i32.lt_u
- (tee_local $10
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $3)
- (i32.const 8)
- )
+ (tee_local $5
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 1224)
- )
)
- (call $qa)
- (block
- (set_local $41
- (get_local $5)
- )
- (set_local $27
- (get_local $10)
- )
+ (i32.load
+ (i32.const 1224)
)
)
+ (call $qa)
(block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $10)
- (get_local $5)
- )
- )
(set_local $41
- (i32.add
- (get_local $3)
- (i32.const 8)
- )
+ (get_local $5)
)
(set_local $27
- (get_local $3)
+ (get_local $10)
)
)
)
- (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 $3)
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $10)
+ (get_local $5)
+ )
+ )
+ (set_local $41
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
+ )
+ (set_local $27
+ (get_local $3)
+ )
)
)
- )
- (i32.store
- (i32.const 1216)
- (get_local $7)
- )
- (i32.store
- (i32.const 1228)
- (get_local $6)
+ (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 $3)
+ )
)
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $1)
- (i32.const 8)
+ (i32.store
+ (i32.const 1216)
+ (get_local $7)
+ )
+ (i32.store
+ (i32.const 1228)
+ (get_local $6)
)
)
)
- (get_local $2)
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
+ )
)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $2)
)
- (if (result i32)
- (i32.gt_u
- (get_local $0)
- (i32.const -65)
- )
- (i32.const -1)
- (block $do-once (result i32)
- (set_local $0
- (i32.and
- (tee_local $3
- (i32.add
- (get_local $0)
- (i32.const 11)
- )
+ )
+ (if (result i32)
+ (i32.gt_u
+ (get_local $0)
+ (i32.const -65)
+ )
+ (i32.const -1)
+ (block $do-once (result i32)
+ (set_local $0
+ (i32.and
+ (tee_local $3
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
)
- (i32.const -8)
)
+ (i32.const -8)
)
- (if (result i32)
- (tee_local $10
- (i32.load
- (i32.const 1212)
- )
+ )
+ (if (result i32)
+ (tee_local $10
+ (i32.load
+ (i32.const 1212)
)
- (block (result i32)
- (set_local $5
- (i32.sub
- (i32.const 0)
- (get_local $0)
- )
+ )
+ (block (result i32)
+ (set_local $5
+ (i32.sub
+ (i32.const 0)
+ (get_local $0)
)
- (if
- (tee_local $13
- (i32.load
- (i32.add
- (i32.shl
- (tee_local $27
+ )
+ (if
+ (tee_local $13
+ (i32.load
+ (i32.add
+ (i32.shl
+ (tee_local $27
+ (if (result i32)
+ (tee_local $8
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 8)
+ )
+ )
(if (result i32)
- (tee_local $8
- (i32.shr_u
- (get_local $3)
- (i32.const 8)
- )
+ (i32.gt_u
+ (get_local $0)
+ (i32.const 16777215)
)
- (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 $13
- (i32.add
- (i32.sub
- (i32.const 14)
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $0)
+ (i32.add
+ (tee_local $13
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
(i32.or
- (i32.or
- (tee_local $8
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $4
- (i32.shl
- (get_local $8)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $8)
- (i32.const 1048320)
- )
- (i32.const 16)
+ (tee_local $8
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $4
+ (i32.shl
+ (get_local $8)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $8)
+ (i32.const 1048320)
)
- (i32.const 8)
+ (i32.const 16)
)
+ (i32.const 8)
)
)
)
- (i32.const 520192)
)
- (i32.const 16)
+ (i32.const 520192)
)
- (i32.const 4)
+ (i32.const 16)
)
+ (i32.const 4)
)
- (get_local $3)
)
- (tee_local $4
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $16
- (i32.shl
- (get_local $4)
- (get_local $8)
- )
+ (get_local $3)
+ )
+ (tee_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $16
+ (i32.shl
+ (get_local $4)
+ (get_local $8)
)
- (i32.const 245760)
)
- (i32.const 16)
+ (i32.const 245760)
)
- (i32.const 2)
+ (i32.const 16)
)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (i32.shl
- (get_local $16)
- (get_local $4)
- )
- (i32.const 15)
+ )
+ (i32.shr_u
+ (i32.shl
+ (get_local $16)
+ (get_local $4)
)
+ (i32.const 15)
)
)
- (i32.const 7)
)
+ (i32.const 7)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $13)
- (i32.const 1)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
)
)
- (i32.const 0)
)
+ (i32.const 0)
)
- (i32.const 2)
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
- (block $label$break$a
- (set_local $4
- (get_local $5)
- )
- (set_local $16
- (i32.const 0)
- )
- (set_local $3
- (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
+ )
+ (block $label$break$a
+ (set_local $4
+ (get_local $5)
+ )
+ (set_local $16
+ (i32.const 0)
+ )
+ (set_local $3
+ (i32.shl
+ (get_local $0)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
(get_local $27)
- (i32.const 31)
+ (i32.const 1)
)
)
+ (i32.eq
+ (get_local $27)
+ (i32.const 31)
+ )
)
)
- (set_local $8
- (get_local $13)
- )
- (loop $while-in14
- (if
- (i32.lt_u
- (tee_local $13
- (i32.sub
- (tee_local $2
- (i32.and
- (i32.load offset=4
- (get_local $8)
- )
- (i32.const -8)
+ )
+ (set_local $8
+ (get_local $13)
+ )
+ (loop $while-in14
+ (if
+ (i32.lt_u
+ (tee_local $13
+ (i32.sub
+ (tee_local $2
+ (i32.and
+ (i32.load offset=4
+ (get_local $8)
)
+ (i32.const -8)
)
- (get_local $0)
)
+ (get_local $0)
)
- (get_local $4)
)
- (set_local $4
- (if (result i32)
- (i32.eq
- (get_local $2)
- (get_local $0)
+ (get_local $4)
+ )
+ (set_local $4
+ (if (result i32)
+ (i32.eq
+ (get_local $2)
+ (get_local $0)
+ )
+ (block
+ (set_local $29
+ (get_local $13)
)
- (block
- (set_local $29
- (get_local $13)
- )
- (set_local $28
- (get_local $8)
- )
- (set_local $32
- (get_local $8)
- )
- (set_local $8
- (i32.const 90)
- )
- (br $label$break$a)
+ (set_local $28
+ (get_local $8)
)
- (block (result i32)
- (set_local $9
- (get_local $8)
- )
- (get_local $13)
+ (set_local $32
+ (get_local $8)
)
+ (set_local $8
+ (i32.const 90)
+ )
+ (br $label$break$a)
)
- )
- )
- (set_local $2
- (select
- (get_local $16)
- (tee_local $13
- (i32.load offset=20
+ (block (result i32)
+ (set_local $9
(get_local $8)
)
+ (get_local $13)
)
- (i32.or
- (i32.eqz
- (get_local $13)
- )
- (i32.eq
- (get_local $13)
- (tee_local $8
- (i32.load
+ )
+ )
+ )
+ (set_local $2
+ (select
+ (get_local $16)
+ (tee_local $13
+ (i32.load offset=20
+ (get_local $8)
+ )
+ )
+ (i32.or
+ (i32.eqz
+ (get_local $13)
+ )
+ (i32.eq
+ (get_local $13)
+ (tee_local $8
+ (i32.load
+ (i32.add
(i32.add
- (i32.add
- (get_local $8)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $3)
- (i32.const 31)
- )
- (i32.const 2)
+ (get_local $8)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 31)
)
+ (i32.const 2)
)
)
)
@@ -1624,262 +1622,283 @@
)
)
)
- (set_local $6
- (if (result i32)
- (tee_local $13
- (i32.eqz
- (get_local $8)
- )
+ )
+ (set_local $6
+ (if (result i32)
+ (tee_local $13
+ (i32.eqz
+ (get_local $8)
)
- (block (result i32)
- (set_local $36
- (get_local $4)
- )
- (set_local $33
- (get_local $9)
- )
- (set_local $8
- (i32.const 86)
- )
+ )
+ (block (result i32)
+ (set_local $36
+ (get_local $4)
+ )
+ (set_local $33
+ (get_local $9)
+ )
+ (set_local $8
+ (i32.const 86)
+ )
+ (get_local $2)
+ )
+ (block
+ (set_local $16
(get_local $2)
)
- (block
- (set_local $16
- (get_local $2)
- )
- (set_local $3
- (i32.shl
- (get_local $3)
- (i32.xor
- (i32.and
- (get_local $13)
- (i32.const 1)
- )
+ (set_local $3
+ (i32.shl
+ (get_local $3)
+ (i32.xor
+ (i32.and
+ (get_local $13)
(i32.const 1)
)
+ (i32.const 1)
)
)
- (br $while-in14)
)
+ (br $while-in14)
)
)
)
)
- (block
- (set_local $36
- (get_local $5)
- )
- (set_local $8
- (i32.const 86)
- )
- )
)
- (if
- (i32.eq
- (get_local $8)
+ (block
+ (set_local $36
+ (get_local $5)
+ )
+ (set_local $8
(i32.const 86)
)
- (if
- (tee_local $2
- (if (result i32)
- (i32.or
- (get_local $6)
- (get_local $33)
- )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $8)
+ (i32.const 86)
+ )
+ (if
+ (tee_local $2
+ (if (result i32)
+ (i32.or
(get_local $6)
- (block (result i32)
- (drop
- (br_if $do-once
- (get_local $0)
- (i32.eqz
- (tee_local $5
- (i32.and
- (get_local $10)
- (i32.or
- (tee_local $13
- (i32.shl
- (i32.const 2)
- (get_local $27)
- )
- )
- (i32.sub
- (i32.const 0)
- (get_local $13)
+ (get_local $33)
+ )
+ (get_local $6)
+ (block (result i32)
+ (drop
+ (br_if $do-once
+ (get_local $0)
+ (i32.eqz
+ (tee_local $5
+ (i32.and
+ (get_local $10)
+ (i32.or
+ (tee_local $13
+ (i32.shl
+ (i32.const 2)
+ (get_local $27)
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $13)
+ )
)
)
)
)
)
- (set_local $5
- (i32.and
- (i32.shr_u
- (tee_local $13
- (i32.add
- (i32.and
+ )
+ (set_local $5
+ (i32.and
+ (i32.shr_u
+ (tee_local $13
+ (i32.add
+ (i32.and
+ (get_local $5)
+ (i32.sub
+ (i32.const 0)
(get_local $5)
- (i32.sub
- (i32.const 0)
- (get_local $5)
- )
)
- (i32.const -1)
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (i32.load
- (i32.add
- (i32.shl
- (i32.add
+ )
+ (i32.load
+ (i32.add
+ (i32.shl
+ (i32.add
+ (i32.or
(i32.or
(i32.or
(i32.or
- (i32.or
- (tee_local $13
- (i32.and
- (i32.shr_u
- (tee_local $2
- (i32.shr_u
- (get_local $13)
- (get_local $5)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $5)
- )
- (tee_local $2
+ (tee_local $13
(i32.and
(i32.shr_u
- (tee_local $6
+ (tee_local $2
(i32.shr_u
- (get_local $2)
(get_local $13)
+ (get_local $5)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $5)
)
- (tee_local $6
+ (tee_local $2
(i32.and
(i32.shr_u
- (tee_local $9
+ (tee_local $6
(i32.shr_u
- (get_local $6)
(get_local $2)
+ (get_local $13)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
- (tee_local $9
+ (tee_local $6
(i32.and
(i32.shr_u
- (tee_local $3
+ (tee_local $9
(i32.shr_u
- (get_local $9)
(get_local $6)
+ (get_local $2)
)
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $3)
- (get_local $9)
+ (tee_local $9
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.shr_u
+ (get_local $9)
+ (get_local $6)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
)
)
- (i32.const 2)
+ (i32.shr_u
+ (get_local $3)
+ (get_local $9)
+ )
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
)
)
- (block
- (set_local $29
- (get_local $36)
- )
- (set_local $28
- (get_local $2)
- )
- (set_local $32
- (get_local $33)
- )
- (set_local $8
- (i32.const 90)
- )
+ )
+ (block
+ (set_local $29
+ (get_local $36)
)
- (block
- (set_local $18
- (get_local $36)
- )
- (set_local $11
- (get_local $33)
- )
+ (set_local $28
+ (get_local $2)
+ )
+ (set_local $32
+ (get_local $33)
+ )
+ (set_local $8
+ (i32.const 90)
+ )
+ )
+ (block
+ (set_local $18
+ (get_local $36)
+ )
+ (set_local $11
+ (get_local $33)
)
)
)
- (if
- (i32.eq
- (get_local $8)
- (i32.const 90)
+ )
+ (if
+ (i32.eq
+ (get_local $8)
+ (i32.const 90)
+ )
+ (loop $while-in16
+ (set_local $8
+ (i32.const 0)
)
- (loop $while-in16
- (set_local $8
- (i32.const 0)
- )
- (set_local $3
- (i32.lt_u
- (tee_local $9
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $28)
- )
- (i32.const -8)
+ (set_local $3
+ (i32.lt_u
+ (tee_local $9
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $28)
)
- (get_local $0)
+ (i32.const -8)
)
+ (get_local $0)
)
- (get_local $29)
)
+ (get_local $29)
)
- (set_local $6
- (select
- (get_local $9)
- (get_local $29)
- (get_local $3)
- )
+ )
+ (set_local $6
+ (select
+ (get_local $9)
+ (get_local $29)
+ (get_local $3)
)
- (set_local $9
- (select
+ )
+ (set_local $9
+ (select
+ (get_local $28)
+ (get_local $32)
+ (get_local $3)
+ )
+ )
+ (if
+ (tee_local $3
+ (i32.load offset=16
(get_local $28)
- (get_local $32)
+ )
+ )
+ (block
+ (set_local $29
+ (get_local $6)
+ )
+ (set_local $28
(get_local $3)
)
+ (set_local $32
+ (get_local $9)
+ )
+ (br $while-in16)
)
- (if
- (tee_local $3
- (i32.load offset=16
+ )
+ (set_local $18
+ (if (result i32)
+ (tee_local $28
+ (i32.load offset=20
(get_local $28)
)
)
@@ -1887,708 +1906,811 @@
(set_local $29
(get_local $6)
)
- (set_local $28
- (get_local $3)
- )
(set_local $32
(get_local $9)
)
(br $while-in16)
)
- )
- (set_local $18
- (if (result i32)
- (tee_local $28
- (i32.load offset=20
- (get_local $28)
- )
- )
- (block
- (set_local $29
- (get_local $6)
- )
- (set_local $32
- (get_local $9)
- )
- (br $while-in16)
- )
- (block (result i32)
- (set_local $11
- (get_local $9)
- )
- (get_local $6)
+ (block (result i32)
+ (set_local $11
+ (get_local $9)
)
+ (get_local $6)
)
)
)
)
+ )
+ (if (result i32)
+ (get_local $11)
(if (result i32)
- (get_local $11)
- (if (result i32)
- (i32.lt_u
- (get_local $18)
- (i32.sub
- (i32.load
- (i32.const 1216)
- )
- (get_local $0)
+ (i32.lt_u
+ (get_local $18)
+ (i32.sub
+ (i32.load
+ (i32.const 1216)
)
+ (get_local $0)
)
- (block
- (if
- (i32.lt_u
- (get_local $11)
- (tee_local $10
- (i32.load
- (i32.const 1224)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $11)
+ (tee_local $10
+ (i32.load
+ (i32.const 1224)
)
)
- (call $qa)
)
- (if
- (i32.ge_u
- (get_local $11)
- (tee_local $9
- (i32.add
- (get_local $11)
- (get_local $0)
- )
+ (call $qa)
+ )
+ (if
+ (i32.ge_u
+ (get_local $11)
+ (tee_local $9
+ (i32.add
+ (get_local $11)
+ (get_local $0)
)
)
- (call $qa)
)
- (set_local $6
- (i32.load offset=24
- (get_local $11)
- )
+ (call $qa)
+ )
+ (set_local $6
+ (i32.load offset=24
+ (get_local $11)
)
- (if
- (i32.eq
- (tee_local $3
- (i32.load offset=12
- (get_local $11)
- )
+ )
+ (if
+ (i32.eq
+ (tee_local $3
+ (i32.load offset=12
+ (get_local $11)
)
- (get_local $11)
)
- (block $do-once17
- (set_local $4
- (if (result i32)
- (tee_local $5
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $11)
- (i32.const 20)
- )
- )
- )
- )
- (block (result i32)
- (set_local $16
- (get_local $5)
- )
- (get_local $2)
- )
- (if (result i32)
- (tee_local $16
- (i32.load
- (tee_local $13
- (i32.add
- (get_local $11)
- (i32.const 16)
- )
- )
+ (get_local $11)
+ )
+ (block $do-once17
+ (set_local $4
+ (if (result i32)
+ (tee_local $5
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $11)
+ (i32.const 20)
)
)
- (get_local $13)
- (br $do-once17)
)
)
- )
- (loop $while-in20
- (if
- (tee_local $5
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $16)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (set_local $16
- (get_local $5)
- )
- (set_local $4
- (get_local $2)
- )
- (br $while-in20)
+ (block (result i32)
+ (set_local $16
+ (get_local $5)
)
+ (get_local $2)
)
- (if
- (tee_local $5
+ (if (result i32)
+ (tee_local $16
(i32.load
- (tee_local $2
+ (tee_local $13
(i32.add
- (get_local $16)
+ (get_local $11)
(i32.const 16)
)
)
)
)
- (block
- (set_local $16
- (get_local $5)
- )
- (set_local $4
- (get_local $2)
- )
- (br $while-in20)
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $4)
- (get_local $10)
- )
- (call $qa)
- (block
- (i32.store
- (get_local $4)
- (i32.const 0)
- )
- (set_local $22
- (get_local $16)
- )
+ (get_local $13)
+ (br $do-once17)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $2
- (i32.load offset=8
- (get_local $11)
- )
- )
- (get_local $10)
- )
- (call $qa)
- )
+ (loop $while-in20
(if
- (i32.ne
+ (tee_local $5
(i32.load
- (tee_local $5
+ (tee_local $2
(i32.add
- (get_local $2)
- (i32.const 12)
+ (get_local $16)
+ (i32.const 20)
)
)
)
- (get_local $11)
)
- (call $qa)
+ (block
+ (set_local $16
+ (get_local $5)
+ )
+ (set_local $4
+ (get_local $2)
+ )
+ (br $while-in20)
+ )
)
(if
- (i32.eq
+ (tee_local $5
(i32.load
- (tee_local $13
+ (tee_local $2
(i32.add
- (get_local $3)
- (i32.const 8)
+ (get_local $16)
+ (i32.const 16)
)
)
)
- (get_local $11)
)
(block
- (i32.store
+ (set_local $16
(get_local $5)
- (get_local $3)
)
- (i32.store
- (get_local $13)
+ (set_local $4
(get_local $2)
)
- (set_local $22
- (get_local $3)
+ (br $while-in20)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $4)
+ (get_local $10)
+ )
+ (call $qa)
+ (block
+ (i32.store
+ (get_local $4)
+ (i32.const 0)
+ )
+ (set_local $22
+ (get_local $16)
+ )
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $11)
)
)
- (call $qa)
+ (get_local $10)
+ )
+ (call $qa)
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $2)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $11)
)
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
+ )
+ )
+ (get_local $11)
+ )
+ (block
+ (i32.store
+ (get_local $5)
+ (get_local $3)
+ )
+ (i32.store
+ (get_local $13)
+ (get_local $2)
+ )
+ (set_local $22
+ (get_local $3)
+ )
+ )
+ (call $qa)
)
)
- (if
- (get_local $6)
- (block $do-once21
- (if
- (i32.eq
- (get_local $11)
- (i32.load
- (tee_local $10
- (i32.add
- (i32.shl
- (tee_local $3
- (i32.load offset=28
- (get_local $11)
- )
+ )
+ (if
+ (get_local $6)
+ (block $do-once21
+ (if
+ (i32.eq
+ (get_local $11)
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (i32.shl
+ (tee_local $3
+ (i32.load offset=28
+ (get_local $11)
)
- (i32.const 2)
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
)
- (block
- (i32.store
- (get_local $10)
+ )
+ (block
+ (i32.store
+ (get_local $10)
+ (get_local $22)
+ )
+ (if
+ (i32.eqz
(get_local $22)
)
- (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 $3)
- )
- (i32.const -1)
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.and
+ (i32.load
+ (i32.const 1212)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $3)
)
+ (i32.const -1)
)
)
- (br $do-once21)
)
+ (br $do-once21)
)
)
- (block
- (if
- (i32.lt_u
- (get_local $6)
- (i32.load
- (i32.const 1224)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (i32.load
+ (i32.const 1224)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $6)
- (i32.const 16)
- )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $6)
+ (i32.const 16)
)
)
- (get_local $11)
- )
- (i32.store
- (get_local $3)
- (get_local $22)
- )
- (i32.store offset=20
- (get_local $6)
- (get_local $22)
)
+ (get_local $11)
)
- (br_if $do-once21
- (i32.eqz
- (get_local $22)
- )
+ (i32.store
+ (get_local $3)
+ (get_local $22)
+ )
+ (i32.store offset=20
+ (get_local $6)
+ (get_local $22)
)
)
- )
- (if
- (i32.lt_u
- (get_local $22)
- (tee_local $3
- (i32.load
- (i32.const 1224)
- )
+ (br_if $do-once21
+ (i32.eqz
+ (get_local $22)
)
)
- (call $qa)
)
- (i32.store offset=24
+ )
+ (if
+ (i32.lt_u
(get_local $22)
- (get_local $6)
+ (tee_local $3
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (call $qa)
+ )
+ (i32.store offset=24
+ (get_local $22)
+ (get_local $6)
+ )
+ (if
+ (tee_local $10
+ (i32.load offset=16
+ (get_local $11)
+ )
)
(if
- (tee_local $10
- (i32.load offset=16
- (get_local $11)
- )
+ (i32.lt_u
+ (get_local $10)
+ (get_local $3)
)
- (if
- (i32.lt_u
+ (call $qa)
+ (block
+ (i32.store offset=16
+ (get_local $22)
(get_local $10)
- (get_local $3)
)
- (call $qa)
- (block
- (i32.store offset=16
- (get_local $22)
- (get_local $10)
- )
- (i32.store offset=24
- (get_local $10)
- (get_local $22)
- )
+ (i32.store offset=24
+ (get_local $10)
+ (get_local $22)
)
)
)
+ )
+ (if
+ (tee_local $10
+ (i32.load offset=20
+ (get_local $11)
+ )
+ )
(if
- (tee_local $10
- (i32.load offset=20
- (get_local $11)
+ (i32.lt_u
+ (get_local $10)
+ (i32.load
+ (i32.const 1224)
)
)
- (if
- (i32.lt_u
+ (call $qa)
+ (block
+ (i32.store offset=20
+ (get_local $22)
(get_local $10)
- (i32.load
- (i32.const 1224)
- )
)
- (call $qa)
- (block
- (i32.store offset=20
- (get_local $22)
- (get_local $10)
- )
- (i32.store offset=24
- (get_local $10)
- (get_local $22)
- )
+ (i32.store offset=24
+ (get_local $10)
+ (get_local $22)
)
)
)
)
)
- (if
- (i32.lt_u
- (get_local $18)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $11)
- (i32.or
- (tee_local $6
- (i32.add
- (get_local $18)
- (get_local $0)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $18)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $11)
+ (i32.or
+ (tee_local $6
+ (i32.add
+ (get_local $18)
+ (get_local $0)
)
- (i32.const 3)
)
+ (i32.const 3)
)
- (i32.store
- (tee_local $10
+ )
+ (i32.store
+ (tee_local $10
+ (i32.add
(i32.add
- (i32.add
- (get_local $11)
- (get_local $6)
- )
- (i32.const 4)
+ (get_local $11)
+ (get_local $6)
)
+ (i32.const 4)
)
- (i32.or
- (i32.load
- (get_local $10)
- )
- (i32.const 1)
+ )
+ (i32.or
+ (i32.load
+ (get_local $10)
)
+ (i32.const 1)
)
)
- (block $do-once25
- (i32.store offset=4
- (get_local $11)
- (i32.or
- (get_local $0)
- (i32.const 3)
- )
+ )
+ (block $do-once25
+ (i32.store offset=4
+ (get_local $11)
+ (i32.or
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (get_local $9)
+ (i32.or
+ (get_local $18)
+ (i32.const 1)
)
- (i32.store offset=4
+ )
+ (i32.store
+ (i32.add
(get_local $9)
- (i32.or
- (get_local $18)
- (i32.const 1)
- )
+ (get_local $18)
)
- (i32.store
- (i32.add
- (get_local $9)
- (get_local $18)
- )
+ (get_local $18)
+ )
+ (set_local $10
+ (i32.shr_u
(get_local $18)
+ (i32.const 3)
)
- (set_local $10
- (i32.shr_u
- (get_local $18)
- (i32.const 3)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $18)
+ (i32.const 256)
)
- (if
- (i32.lt_u
- (get_local $18)
- (i32.const 256)
+ (block
+ (set_local $6
+ (i32.add
+ (i32.shl
+ (get_local $10)
+ (i32.const 3)
+ )
+ (i32.const 1248)
+ )
)
- (block
- (set_local $6
- (i32.add
+ (if
+ (i32.and
+ (tee_local $3
+ (i32.load
+ (i32.const 1208)
+ )
+ )
+ (tee_local $2
(i32.shl
+ (i32.const 1)
(get_local $10)
- (i32.const 3)
)
- (i32.const 1248)
)
)
(if
- (i32.and
+ (i32.lt_u
(tee_local $3
(i32.load
- (i32.const 1208)
- )
- )
- (tee_local $2
- (i32.shl
- (i32.const 1)
- (get_local $10)
- )
- )
- )
- (if
- (i32.lt_u
- (tee_local $3
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $6)
- (i32.const 8)
- )
+ (tee_local $2
+ (i32.add
+ (get_local $6)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 1224)
- )
)
- (call $qa)
- (block
- (set_local $19
- (get_local $2)
- )
- (set_local $7
- (get_local $3)
- )
+ (i32.load
+ (i32.const 1224)
)
)
+ (call $qa)
(block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $3)
- (get_local $2)
- )
- )
(set_local $19
- (i32.add
- (get_local $6)
- (i32.const 8)
- )
+ (get_local $2)
)
(set_local $7
- (get_local $6)
+ (get_local $3)
)
)
)
- (i32.store
- (get_local $19)
- (get_local $9)
- )
- (i32.store offset=12
- (get_local $7)
- (get_local $9)
- )
- (i32.store offset=8
- (get_local $9)
- (get_local $7)
- )
- (i32.store offset=12
- (get_local $9)
- (get_local $6)
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $3)
+ (get_local $2)
+ )
+ )
+ (set_local $19
+ (i32.add
+ (get_local $6)
+ (i32.const 8)
+ )
+ )
+ (set_local $7
+ (get_local $6)
+ )
)
- (br $do-once25)
)
+ (i32.store
+ (get_local $19)
+ (get_local $9)
+ )
+ (i32.store offset=12
+ (get_local $7)
+ (get_local $9)
+ )
+ (i32.store offset=8
+ (get_local $9)
+ (get_local $7)
+ )
+ (i32.store offset=12
+ (get_local $9)
+ (get_local $6)
+ )
+ (br $do-once25)
)
- (set_local $13
- (i32.add
- (i32.shl
- (tee_local $3
+ )
+ (set_local $13
+ (i32.add
+ (i32.shl
+ (tee_local $3
+ (if (result i32)
+ (tee_local $6
+ (i32.shr_u
+ (get_local $18)
+ (i32.const 8)
+ )
+ )
(if (result i32)
- (tee_local $6
- (i32.shr_u
- (get_local $18)
- (i32.const 8)
- )
+ (i32.gt_u
+ (get_local $18)
+ (i32.const 16777215)
)
- (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 $13
- (i32.add
- (i32.sub
- (i32.const 14)
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $18)
+ (i32.add
+ (tee_local $13
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
(i32.or
- (i32.or
- (tee_local $6
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $2
- (i32.shl
- (get_local $6)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $6)
- (i32.const 1048320)
- )
- (i32.const 16)
+ (tee_local $6
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $2
+ (i32.shl
+ (get_local $6)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $6)
+ (i32.const 1048320)
)
- (i32.const 8)
+ (i32.const 16)
)
+ (i32.const 8)
)
)
)
- (i32.const 520192)
)
- (i32.const 16)
+ (i32.const 520192)
)
- (i32.const 4)
+ (i32.const 16)
)
+ (i32.const 4)
)
- (get_local $3)
)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $10
- (i32.shl
- (get_local $2)
- (get_local $6)
- )
+ (get_local $3)
+ )
+ (tee_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $10
+ (i32.shl
+ (get_local $2)
+ (get_local $6)
)
- (i32.const 245760)
)
- (i32.const 16)
+ (i32.const 245760)
)
- (i32.const 2)
+ (i32.const 16)
)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (i32.shl
- (get_local $10)
- (get_local $2)
- )
- (i32.const 15)
+ )
+ (i32.shr_u
+ (i32.shl
+ (get_local $10)
+ (get_local $2)
)
+ (i32.const 15)
)
)
- (i32.const 7)
)
+ (i32.const 7)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $13)
- (i32.const 1)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
)
)
- (i32.const 0)
)
+ (i32.const 0)
)
- (i32.const 2)
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
- (i32.store offset=28
- (get_local $9)
- (get_local $3)
+ )
+ (i32.store offset=28
+ (get_local $9)
+ (get_local $3)
+ )
+ (i32.store offset=4
+ (tee_local $2
+ (i32.add
+ (get_local $9)
+ (i32.const 16)
+ )
)
- (i32.store offset=4
- (tee_local $2
- (i32.add
- (get_local $9)
- (i32.const 16)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $2)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $2
+ (i32.load
+ (i32.const 1212)
+ )
+ )
+ (tee_local $10
+ (i32.shl
+ (i32.const 1)
+ (get_local $3)
+ )
)
)
- (i32.const 0)
)
- (i32.store
- (get_local $2)
- (i32.const 0)
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.or
+ (get_local $2)
+ (get_local $10)
+ )
+ )
+ (i32.store
+ (get_local $13)
+ (get_local $9)
+ )
+ (i32.store offset=24
+ (get_local $9)
+ (get_local $13)
+ )
+ (i32.store offset=12
+ (get_local $9)
+ (get_local $9)
+ )
+ (i32.store offset=8
+ (get_local $9)
+ (get_local $9)
+ )
+ (br $do-once25)
)
- (if
- (i32.eqz
- (i32.and
- (tee_local $2
- (i32.load
- (i32.const 1212)
- )
+ )
+ (set_local $10
+ (i32.shl
+ (get_local $18)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 1)
)
- (tee_local $10
- (i32.shl
- (i32.const 1)
- (get_local $3)
+ )
+ (i32.eq
+ (get_local $3)
+ (i32.const 31)
+ )
+ )
+ )
+ )
+ (set_local $2
+ (i32.load
+ (get_local $13)
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $8
+ (loop $while-in28 (result i32)
+ (block $while-out27 (result i32)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $2)
+ )
+ (i32.const -8)
+ )
+ (get_local $18)
+ )
+ (block
+ (set_local $17
+ (get_local $2)
+ )
+ (br $while-out27
+ (i32.const 148)
+ )
+ )
+ )
+ (if (result i32)
+ (tee_local $3
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $10)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ )
+ (block
+ (set_local $10
+ (i32.shl
+ (get_local $10)
+ (i32.const 1)
+ )
+ )
+ (set_local $2
+ (get_local $3)
+ )
+ (br $while-in28)
+ )
+ (block (result i32)
+ (set_local $21
+ (get_local $13)
+ )
+ (set_local $15
+ (get_local $2)
+ )
+ (i32.const 145)
+ )
)
)
)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.or
- (get_local $2)
- (get_local $10)
- )
+ (i32.const 145)
+ )
+ (if
+ (i32.lt_u
+ (get_local $21)
+ (i32.load
+ (i32.const 1224)
)
+ )
+ (call $qa)
+ (block
(i32.store
- (get_local $13)
+ (get_local $21)
(get_local $9)
)
(i32.store offset=24
(get_local $9)
- (get_local $13)
+ (get_local $15)
)
(i32.store offset=12
(get_local $9)
@@ -2598,209 +2720,87 @@
(get_local $9)
(get_local $9)
)
- (br $do-once25)
- )
- )
- (set_local $10
- (i32.shl
- (get_local $18)
- (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)
- )
- )
- )
- )
- (set_local $2
- (i32.load
- (get_local $13)
)
)
(if
(i32.eq
- (tee_local $8
- (loop $while-in28 (result i32)
- (block $while-out27 (result i32)
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $2)
- )
- (i32.const -8)
- )
- (get_local $18)
- )
- (block
- (set_local $17
- (get_local $2)
- )
- (br $while-out27
- (i32.const 148)
+ (get_local $8)
+ (i32.const 148)
+ )
+ (if
+ (i32.and
+ (i32.ge_u
+ (tee_local $10
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $17)
+ (i32.const 8)
)
)
)
- (if (result i32)
- (tee_local $3
- (i32.load
- (tee_local $13
- (i32.add
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $10)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
- )
- )
- )
- (block
- (set_local $10
- (i32.shl
- (get_local $10)
- (i32.const 1)
- )
- )
- (set_local $2
- (get_local $3)
- )
- (br $while-in28)
- )
- (block (result i32)
- (set_local $21
- (get_local $13)
- )
- (set_local $15
- (get_local $2)
- )
- (i32.const 145)
- )
+ )
+ (tee_local $3
+ (i32.load
+ (i32.const 1224)
)
)
)
- )
- (i32.const 145)
- )
- (if
- (i32.lt_u
- (get_local $21)
- (i32.load
- (i32.const 1224)
+ (i32.ge_u
+ (get_local $17)
+ (get_local $3)
)
)
- (call $qa)
(block
+ (i32.store offset=12
+ (get_local $10)
+ (get_local $9)
+ )
(i32.store
- (get_local $21)
+ (get_local $2)
(get_local $9)
)
- (i32.store offset=24
+ (i32.store offset=8
(get_local $9)
- (get_local $15)
+ (get_local $10)
)
(i32.store offset=12
(get_local $9)
- (get_local $9)
+ (get_local $17)
)
- (i32.store offset=8
- (get_local $9)
+ (i32.store offset=24
(get_local $9)
+ (i32.const 0)
)
)
- )
- (if
- (i32.eq
- (get_local $8)
- (i32.const 148)
- )
- (if
- (i32.and
- (i32.ge_u
- (tee_local $10
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $17)
- (i32.const 8)
- )
- )
- )
- )
- (tee_local $3
- (i32.load
- (i32.const 1224)
- )
- )
- )
- (i32.ge_u
- (get_local $17)
- (get_local $3)
- )
- )
- (block
- (i32.store offset=12
- (get_local $10)
- (get_local $9)
- )
- (i32.store
- (get_local $2)
- (get_local $9)
- )
- (i32.store offset=8
- (get_local $9)
- (get_local $10)
- )
- (i32.store offset=12
- (get_local $9)
- (get_local $17)
- )
- (i32.store offset=24
- (get_local $9)
- (i32.const 0)
- )
- )
- (call $qa)
- )
+ (call $qa)
)
)
)
)
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $11)
- (i32.const 8)
- )
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.add
+ (get_local $11)
+ (i32.const 8)
)
)
- (get_local $0)
)
(get_local $0)
)
+ (get_local $0)
)
- (get_local $0)
)
+ (get_local $0)
)
)
)
)
+ )
+ (block $folding-inner0
(if
(i32.ge_u
(tee_local $11
diff --git a/test/memorygrowth.fromasm.imprecise b/test/memorygrowth.fromasm.imprecise
index 5f0518c42..4925a0ccf 100644
--- a/test/memorygrowth.fromasm.imprecise
+++ b/test/memorygrowth.fromasm.imprecise
@@ -108,782 +108,816 @@
(local $52 i32)
(local $53 i32)
(local $54 i32)
- (block $folding-inner0
- (set_local $25
+ (set_local $25
+ (get_global $r)
+ )
+ (set_global $r
+ (i32.add
(get_global $r)
+ (i32.const 16)
)
- (set_global $r
- (i32.add
- (get_global $r)
- (i32.const 16)
+ )
+ (set_local $14
+ (get_local $25)
+ )
+ (set_local $6
+ (if (result i32)
+ (i32.lt_u
+ (get_local $0)
+ (i32.const 245)
)
- )
- (set_local $14
- (get_local $25)
- )
- (set_local $6
- (if (result i32)
- (i32.lt_u
- (get_local $0)
- (i32.const 245)
- )
- (block (result i32)
- (if
- (i32.and
- (tee_local $6
- (i32.shr_u
- (tee_local $5
- (i32.load
- (i32.const 1208)
- )
+ (block (result i32)
+ (if
+ (i32.and
+ (tee_local $6
+ (i32.shr_u
+ (tee_local $5
+ (i32.load
+ (i32.const 1208)
)
- (tee_local $0
- (i32.shr_u
- (tee_local $2
- (select
- (i32.const 16)
- (i32.and
- (i32.add
- (get_local $0)
- (i32.const 11)
- )
- (i32.const -8)
- )
- (i32.lt_u
+ )
+ (tee_local $0
+ (i32.shr_u
+ (tee_local $2
+ (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 3)
)
+ (i32.const 3)
)
)
)
- (i32.const 3)
)
- (block
- (set_local $7
- (i32.load
- (tee_local $2
- (i32.add
- (tee_local $13
- (i32.load
- (tee_local $16
- (i32.add
- (tee_local $9
- (i32.add
- (i32.shl
- (tee_local $0
- (i32.add
- (i32.xor
- (i32.and
- (get_local $6)
- (i32.const 1)
- )
+ (i32.const 3)
+ )
+ (block
+ (set_local $7
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (tee_local $13
+ (i32.load
+ (tee_local $16
+ (i32.add
+ (tee_local $9
+ (i32.add
+ (i32.shl
+ (tee_local $0
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $6)
(i32.const 1)
)
- (get_local $0)
+ (i32.const 1)
)
+ (get_local $0)
)
- (i32.const 3)
)
- (i32.const 1248)
+ (i32.const 3)
)
+ (i32.const 1248)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (if
- (i32.eq
- (get_local $9)
- (get_local $7)
- )
- (i32.store
- (i32.const 1208)
- (i32.and
- (get_local $5)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $0)
- )
- (i32.const -1)
+ )
+ (if
+ (i32.eq
+ (get_local $9)
+ (get_local $7)
+ )
+ (i32.store
+ (i32.const 1208)
+ (i32.and
+ (get_local $5)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
)
+ (i32.const -1)
)
)
- (block
- (if
- (i32.lt_u
- (get_local $7)
- (i32.load
- (i32.const 1224)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (i32.load
+ (i32.const 1224)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $8
- (i32.add
- (get_local $7)
- (i32.const 12)
- )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (get_local $7)
+ (i32.const 12)
)
)
- (get_local $13)
)
- (block
- (i32.store
- (get_local $8)
- (get_local $9)
- )
- (i32.store
- (get_local $16)
- (get_local $7)
- )
+ (get_local $13)
+ )
+ (block
+ (i32.store
+ (get_local $8)
+ (get_local $9)
+ )
+ (i32.store
+ (get_local $16)
+ (get_local $7)
)
- (call $qa)
)
+ (call $qa)
)
)
- (i32.store offset=4
- (get_local $13)
- (i32.or
- (tee_local $7
- (i32.shl
- (get_local $0)
- (i32.const 3)
- )
+ )
+ (i32.store offset=4
+ (get_local $13)
+ (i32.or
+ (tee_local $7
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
)
- (i32.const 3)
)
+ (i32.const 3)
)
- (i32.store
- (tee_local $16
+ )
+ (i32.store
+ (tee_local $16
+ (i32.add
(i32.add
- (i32.add
- (get_local $13)
- (get_local $7)
- )
- (i32.const 4)
- )
- )
- (i32.or
- (i32.load
- (get_local $16)
+ (get_local $13)
+ (get_local $7)
)
- (i32.const 1)
+ (i32.const 4)
)
)
- (set_global $r
- (get_local $25)
- )
- (return
- (get_local $2)
+ (i32.or
+ (i32.load
+ (get_local $16)
+ )
+ (i32.const 1)
)
)
- )
- (if (result i32)
- (i32.gt_u
+ (set_global $r
+ (get_local $25)
+ )
+ (return
(get_local $2)
- (tee_local $16
- (i32.load
- (i32.const 1216)
- )
+ )
+ )
+ )
+ (if (result i32)
+ (i32.gt_u
+ (get_local $2)
+ (tee_local $16
+ (i32.load
+ (i32.const 1216)
)
)
- (block (result i32)
- (if
- (get_local $6)
- (block
- (set_local $9
- (i32.and
- (i32.shr_u
- (tee_local $7
- (i32.add
- (i32.and
- (tee_local $9
- (i32.and
- (i32.shl
- (get_local $6)
- (get_local $0)
- )
- (i32.or
- (tee_local $7
- (i32.shl
- (i32.const 2)
- (get_local $0)
- )
- )
- (i32.sub
- (i32.const 0)
- (get_local $7)
+ )
+ (block (result i32)
+ (if
+ (get_local $6)
+ (block
+ (set_local $9
+ (i32.and
+ (i32.shr_u
+ (tee_local $7
+ (i32.add
+ (i32.and
+ (tee_local $9
+ (i32.and
+ (i32.shl
+ (get_local $6)
+ (get_local $0)
+ )
+ (i32.or
+ (tee_local $7
+ (i32.shl
+ (i32.const 2)
+ (get_local $0)
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $7)
+ )
)
)
- (i32.sub
- (i32.const 0)
- (get_local $9)
- )
)
- (i32.const -1)
+ (i32.sub
+ (i32.const 0)
+ (get_local $9)
+ )
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (set_local $9
- (i32.load
- (tee_local $8
- (i32.add
- (tee_local $10
- (i32.load
- (tee_local $13
- (i32.add
- (tee_local $3
- (i32.add
- (i32.shl
- (tee_local $4
- (i32.add
+ )
+ (set_local $9
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (tee_local $10
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (tee_local $3
+ (i32.add
+ (i32.shl
+ (tee_local $4
+ (i32.add
+ (i32.or
(i32.or
(i32.or
(i32.or
- (i32.or
- (tee_local $7
- (i32.and
- (i32.shr_u
- (tee_local $8
- (i32.shr_u
- (get_local $7)
- (get_local $9)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $9)
- )
- (tee_local $8
+ (tee_local $7
(i32.and
(i32.shr_u
- (tee_local $10
+ (tee_local $8
(i32.shr_u
- (get_local $8)
(get_local $7)
+ (get_local $9)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $9)
)
- (tee_local $10
+ (tee_local $8
(i32.and
(i32.shr_u
- (tee_local $3
+ (tee_local $10
(i32.shr_u
- (get_local $10)
(get_local $8)
+ (get_local $7)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
- (tee_local $3
+ (tee_local $10
(i32.and
(i32.shr_u
- (tee_local $13
+ (tee_local $3
(i32.shr_u
- (get_local $3)
(get_local $10)
+ (get_local $8)
)
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $13)
- (get_local $3)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $13
+ (i32.shr_u
+ (get_local $3)
+ (get_local $10)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
)
)
+ (i32.shr_u
+ (get_local $13)
+ (get_local $3)
+ )
)
- (i32.const 3)
)
- (i32.const 1248)
+ (i32.const 3)
)
+ (i32.const 1248)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (i32.const 8)
)
+ (i32.const 8)
)
)
)
- (if
- (i32.eq
- (get_local $3)
- (get_local $9)
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.and
- (get_local $5)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $4)
- )
- (i32.const -1)
+ )
+ (if
+ (i32.eq
+ (get_local $3)
+ (get_local $9)
+ )
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.and
+ (get_local $5)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $4)
)
+ (i32.const -1)
)
)
- (set_local $34
- (get_local $16)
- )
)
- (block
- (if
- (i32.lt_u
- (get_local $9)
- (i32.load
- (i32.const 1224)
- )
+ (set_local $34
+ (get_local $16)
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $9)
+ (i32.load
+ (i32.const 1224)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $9)
- (i32.const 12)
- )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $9)
+ (i32.const 12)
)
)
- (get_local $10)
)
- (block
- (i32.store
- (get_local $7)
- (get_local $3)
- )
- (i32.store
- (get_local $13)
- (get_local $9)
- )
- (set_local $34
- (i32.load
- (i32.const 1216)
- )
+ (get_local $10)
+ )
+ (block
+ (i32.store
+ (get_local $7)
+ (get_local $3)
+ )
+ (i32.store
+ (get_local $13)
+ (get_local $9)
+ )
+ (set_local $34
+ (i32.load
+ (i32.const 1216)
)
)
- (call $qa)
)
+ (call $qa)
)
)
- (i32.store offset=4
- (get_local $10)
- (i32.or
+ )
+ (i32.store offset=4
+ (get_local $10)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (tee_local $13
+ (i32.add
+ (get_local $10)
(get_local $2)
- (i32.const 3)
)
)
- (i32.store offset=4
- (tee_local $13
- (i32.add
- (get_local $10)
- (get_local $2)
- )
- )
- (i32.or
- (tee_local $9
- (i32.sub
- (i32.shl
- (get_local $4)
- (i32.const 3)
- )
- (get_local $2)
+ (i32.or
+ (tee_local $9
+ (i32.sub
+ (i32.shl
+ (get_local $4)
+ (i32.const 3)
)
+ (get_local $2)
)
- (i32.const 1)
)
+ (i32.const 1)
)
- (i32.store
- (i32.add
- (get_local $13)
- (get_local $9)
- )
+ )
+ (i32.store
+ (i32.add
+ (get_local $13)
(get_local $9)
)
- (if
- (get_local $34)
- (block
- (set_local $3
- (i32.load
- (i32.const 1228)
+ (get_local $9)
+ )
+ (if
+ (get_local $34)
+ (block
+ (set_local $3
+ (i32.load
+ (i32.const 1228)
+ )
+ )
+ (set_local $5
+ (i32.add
+ (i32.shl
+ (tee_local $16
+ (i32.shr_u
+ (get_local $34)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 1248)
)
- (set_local $5
- (i32.add
+ )
+ (if
+ (i32.and
+ (tee_local $0
+ (i32.load
+ (i32.const 1208)
+ )
+ )
+ (tee_local $6
(i32.shl
- (tee_local $16
- (i32.shr_u
- (get_local $34)
- (i32.const 3)
- )
- )
- (i32.const 3)
+ (i32.const 1)
+ (get_local $16)
)
- (i32.const 1248)
)
)
(if
- (i32.and
+ (i32.lt_u
(tee_local $0
(i32.load
- (i32.const 1208)
- )
- )
- (tee_local $6
- (i32.shl
- (i32.const 1)
- (get_local $16)
- )
- )
- )
- (if
- (i32.lt_u
- (tee_local $0
- (i32.load
- (tee_local $6
- (i32.add
- (get_local $5)
- (i32.const 8)
- )
+ (tee_local $6
+ (i32.add
+ (get_local $5)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 1224)
- )
)
- (call $qa)
- (block
- (set_local $40
- (get_local $6)
- )
- (set_local $35
- (get_local $0)
- )
+ (i32.load
+ (i32.const 1224)
)
)
+ (call $qa)
(block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $0)
- (get_local $6)
- )
- )
(set_local $40
- (i32.add
- (get_local $5)
- (i32.const 8)
- )
+ (get_local $6)
)
(set_local $35
- (get_local $5)
+ (get_local $0)
)
)
)
- (i32.store
- (get_local $40)
- (get_local $3)
- )
- (i32.store offset=12
- (get_local $35)
- (get_local $3)
- )
- (i32.store offset=8
- (get_local $3)
- (get_local $35)
- )
- (i32.store offset=12
- (get_local $3)
- (get_local $5)
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $0)
+ (get_local $6)
+ )
+ )
+ (set_local $40
+ (i32.add
+ (get_local $5)
+ (i32.const 8)
+ )
+ )
+ (set_local $35
+ (get_local $5)
+ )
)
)
+ (i32.store
+ (get_local $40)
+ (get_local $3)
+ )
+ (i32.store offset=12
+ (get_local $35)
+ (get_local $3)
+ )
+ (i32.store offset=8
+ (get_local $3)
+ (get_local $35)
+ )
+ (i32.store offset=12
+ (get_local $3)
+ (get_local $5)
+ )
)
- (i32.store
- (i32.const 1216)
- (get_local $9)
- )
- (i32.store
- (i32.const 1228)
- (get_local $13)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (get_local $8)
- )
+ )
+ (i32.store
+ (i32.const 1216)
+ (get_local $9)
+ )
+ (i32.store
+ (i32.const 1228)
+ (get_local $13)
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (get_local $8)
)
)
- (if (result i32)
- (tee_local $13
- (i32.load
- (i32.const 1212)
- )
+ )
+ (if (result i32)
+ (tee_local $13
+ (i32.load
+ (i32.const 1212)
)
- (block
- (set_local $13
- (i32.and
- (i32.shr_u
- (tee_local $9
- (i32.add
- (i32.and
+ )
+ (block
+ (set_local $13
+ (i32.and
+ (i32.shr_u
+ (tee_local $9
+ (i32.add
+ (i32.and
+ (get_local $13)
+ (i32.sub
+ (i32.const 0)
(get_local $13)
- (i32.sub
- (i32.const 0)
- (get_local $13)
- )
)
- (i32.const -1)
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (set_local $0
- (i32.sub
- (i32.and
- (i32.load offset=4
- (tee_local $16
- (i32.load
- (i32.add
- (i32.shl
- (i32.add
+ )
+ (set_local $0
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (tee_local $16
+ (i32.load
+ (i32.add
+ (i32.shl
+ (i32.add
+ (i32.or
(i32.or
(i32.or
(i32.or
- (i32.or
- (tee_local $9
- (i32.and
- (i32.shr_u
- (tee_local $5
- (i32.shr_u
- (get_local $9)
- (get_local $13)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $13)
- )
- (tee_local $5
+ (tee_local $9
(i32.and
(i32.shr_u
- (tee_local $3
+ (tee_local $5
(i32.shr_u
- (get_local $5)
(get_local $9)
+ (get_local $13)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $13)
)
- (tee_local $3
+ (tee_local $5
(i32.and
(i32.shr_u
- (tee_local $0
+ (tee_local $3
(i32.shr_u
- (get_local $3)
(get_local $5)
+ (get_local $9)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
- (tee_local $0
+ (tee_local $3
(i32.and
(i32.shr_u
- (tee_local $6
+ (tee_local $0
(i32.shr_u
- (get_local $0)
(get_local $3)
+ (get_local $5)
)
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $6)
- (get_local $0)
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $6
+ (i32.shr_u
+ (get_local $0)
+ (get_local $3)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
)
)
- (i32.const 2)
+ (i32.shr_u
+ (get_local $6)
+ (get_local $0)
+ )
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
)
- (i32.const -8)
)
- (get_local $2)
+ (i32.const -8)
)
+ (get_local $2)
)
- (set_local $3
- (tee_local $6
- (get_local $16)
- )
+ )
+ (set_local $3
+ (tee_local $6
+ (get_local $16)
)
- (loop $while-in
- (block $while-out
- (set_local $5
- (i32.lt_u
- (tee_local $16
- (i32.sub
- (i32.and
- (i32.load offset=4
- (tee_local $6
+ )
+ (loop $while-in
+ (block $while-out
+ (set_local $5
+ (i32.lt_u
+ (tee_local $16
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (tee_local $6
+ (if (result i32)
+ (tee_local $16
+ (i32.load offset=16
+ (get_local $6)
+ )
+ )
+ (get_local $16)
(if (result i32)
- (tee_local $16
- (i32.load offset=16
+ (tee_local $5
+ (i32.load offset=20
(get_local $6)
)
)
- (get_local $16)
- (if (result i32)
- (tee_local $5
- (i32.load offset=20
- (get_local $6)
- )
+ (get_local $5)
+ (block
+ (set_local $7
+ (get_local $0)
)
- (get_local $5)
- (block
- (set_local $7
- (get_local $0)
- )
- (set_local $1
- (get_local $3)
- )
- (br $while-out)
+ (set_local $1
+ (get_local $3)
)
+ (br $while-out)
)
)
)
)
- (i32.const -8)
)
- (get_local $2)
+ (i32.const -8)
)
+ (get_local $2)
)
- (get_local $0)
)
+ (get_local $0)
)
- (set_local $0
- (select
- (get_local $16)
- (get_local $0)
- (get_local $5)
- )
+ )
+ (set_local $0
+ (select
+ (get_local $16)
+ (get_local $0)
+ (get_local $5)
)
- (set_local $3
- (select
- (get_local $6)
- (get_local $3)
- (get_local $5)
- )
+ )
+ (set_local $3
+ (select
+ (get_local $6)
+ (get_local $3)
+ (get_local $5)
)
- (br $while-in)
)
+ (br $while-in)
)
- (if
- (i32.lt_u
- (get_local $1)
- (tee_local $3
- (i32.load
- (i32.const 1224)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $1)
+ (tee_local $3
+ (i32.load
+ (i32.const 1224)
)
)
- (call $qa)
)
- (if
- (i32.ge_u
- (get_local $1)
- (tee_local $6
- (i32.add
- (get_local $1)
- (get_local $2)
- )
+ (call $qa)
+ )
+ (if
+ (i32.ge_u
+ (get_local $1)
+ (tee_local $6
+ (i32.add
+ (get_local $1)
+ (get_local $2)
)
)
- (call $qa)
)
- (set_local $0
- (i32.load offset=24
- (get_local $1)
+ (call $qa)
+ )
+ (set_local $0
+ (i32.load offset=24
+ (get_local $1)
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $8
+ (i32.load offset=12
+ (get_local $1)
+ )
)
+ (get_local $1)
)
- (if
- (i32.eq
- (tee_local $8
- (i32.load offset=12
- (get_local $1)
+ (block $do-once4
+ (if
+ (tee_local $4
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $16
+ (get_local $4)
+ )
+ (set_local $5
+ (get_local $10)
+ )
+ )
+ (br_if $do-once4
+ (i32.eqz
+ (tee_local $16
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ )
+ )
+ )
)
)
- (get_local $1)
)
- (block $do-once4
+ (loop $while-in7
(if
(tee_local $4
(i32.load
(tee_local $10
(i32.add
- (get_local $1)
+ (get_local $16)
(i32.const 20)
)
)
@@ -896,725 +930,689 @@
(set_local $5
(get_local $10)
)
- )
- (br_if $do-once4
- (i32.eqz
- (tee_local $16
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $1)
- (i32.const 16)
- )
- )
- )
- )
- )
+ (br $while-in7)
)
)
- (loop $while-in7
- (if
- (tee_local $4
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $16)
- (i32.const 20)
- )
+ (if
+ (tee_local $4
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $16)
+ (i32.const 16)
)
)
)
- (block
- (set_local $16
- (get_local $4)
- )
- (set_local $5
- (get_local $10)
- )
- (br $while-in7)
- )
)
- (if
- (tee_local $4
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $16)
- (i32.const 16)
- )
- )
- )
+ (block
+ (set_local $16
+ (get_local $4)
)
- (block
- (set_local $16
- (get_local $4)
- )
- (set_local $5
- (get_local $10)
- )
- (br $while-in7)
+ (set_local $5
+ (get_local $10)
)
+ (br $while-in7)
)
)
- (if
- (i32.lt_u
+ )
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (get_local $3)
+ )
+ (call $qa)
+ (block
+ (i32.store
(get_local $5)
- (get_local $3)
+ (i32.const 0)
)
- (call $qa)
- (block
- (i32.store
- (get_local $5)
- (i32.const 0)
- )
- (set_local $23
- (get_local $16)
- )
+ (set_local $23
+ (get_local $16)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $10
- (i32.load offset=8
- (get_local $1)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $10
+ (i32.load offset=8
+ (get_local $1)
)
- (get_local $3)
)
- (call $qa)
+ (get_local $3)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $4
- (i32.add
- (get_local $10)
- (i32.const 12)
- )
+ (call $qa)
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $10)
+ (i32.const 12)
)
)
- (get_local $1)
)
- (call $qa)
+ (get_local $1)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $8)
- (i32.const 8)
- )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $8)
+ (i32.const 8)
)
)
- (get_local $1)
)
- (block
- (i32.store
- (get_local $4)
- (get_local $8)
- )
- (i32.store
- (get_local $5)
- (get_local $10)
- )
- (set_local $23
- (get_local $8)
- )
+ (get_local $1)
+ )
+ (block
+ (i32.store
+ (get_local $4)
+ (get_local $8)
+ )
+ (i32.store
+ (get_local $5)
+ (get_local $10)
+ )
+ (set_local $23
+ (get_local $8)
)
- (call $qa)
)
+ (call $qa)
)
)
- (if
- (get_local $0)
- (block $do-once8
- (if
- (i32.eq
- (get_local $1)
- (i32.load
- (tee_local $3
- (i32.add
- (i32.shl
- (tee_local $8
- (i32.load offset=28
- (get_local $1)
- )
+ )
+ (if
+ (get_local $0)
+ (block $do-once8
+ (if
+ (i32.eq
+ (get_local $1)
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (i32.shl
+ (tee_local $8
+ (i32.load offset=28
+ (get_local $1)
)
- (i32.const 2)
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
)
- (block
- (i32.store
- (get_local $3)
+ )
+ (block
+ (i32.store
+ (get_local $3)
+ (get_local $23)
+ )
+ (if
+ (i32.eqz
(get_local $23)
)
- (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 $8)
- )
- (i32.const -1)
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.and
+ (i32.load
+ (i32.const 1212)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $8)
)
+ (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)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $8
- (i32.add
- (get_local $0)
- (i32.const 16)
- )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $8
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
)
)
- (get_local $1)
- )
- (i32.store
- (get_local $8)
- (get_local $23)
- )
- (i32.store offset=20
- (get_local $0)
- (get_local $23)
)
+ (get_local $1)
)
- (br_if $do-once8
- (i32.eqz
- (get_local $23)
- )
+ (i32.store
+ (get_local $8)
+ (get_local $23)
+ )
+ (i32.store offset=20
+ (get_local $0)
+ (get_local $23)
)
)
- )
- (if
- (i32.lt_u
- (get_local $23)
- (tee_local $8
- (i32.load
- (i32.const 1224)
- )
+ (br_if $do-once8
+ (i32.eqz
+ (get_local $23)
)
)
- (call $qa)
)
- (i32.store offset=24
+ )
+ (if
+ (i32.lt_u
(get_local $23)
- (get_local $0)
+ (tee_local $8
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (call $qa)
+ )
+ (i32.store offset=24
+ (get_local $23)
+ (get_local $0)
+ )
+ (if
+ (tee_local $3
+ (i32.load offset=16
+ (get_local $1)
+ )
)
(if
- (tee_local $3
- (i32.load offset=16
- (get_local $1)
- )
+ (i32.lt_u
+ (get_local $3)
+ (get_local $8)
)
- (if
- (i32.lt_u
+ (call $qa)
+ (block
+ (i32.store offset=16
+ (get_local $23)
(get_local $3)
- (get_local $8)
)
- (call $qa)
- (block
- (i32.store offset=16
- (get_local $23)
- (get_local $3)
- )
- (i32.store offset=24
- (get_local $3)
- (get_local $23)
- )
+ (i32.store offset=24
+ (get_local $3)
+ (get_local $23)
)
)
)
+ )
+ (if
+ (tee_local $3
+ (i32.load offset=20
+ (get_local $1)
+ )
+ )
(if
- (tee_local $3
- (i32.load offset=20
- (get_local $1)
+ (i32.lt_u
+ (get_local $3)
+ (i32.load
+ (i32.const 1224)
)
)
- (if
- (i32.lt_u
+ (call $qa)
+ (block
+ (i32.store offset=20
+ (get_local $23)
(get_local $3)
- (i32.load
- (i32.const 1224)
- )
)
- (call $qa)
- (block
- (i32.store offset=20
- (get_local $23)
- (get_local $3)
- )
- (i32.store offset=24
- (get_local $3)
- (get_local $23)
- )
+ (i32.store offset=24
+ (get_local $3)
+ (get_local $23)
)
)
)
)
)
- (if
- (i32.lt_u
- (get_local $7)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (tee_local $0
- (i32.add
- (get_local $7)
- (get_local $2)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $1)
+ (i32.or
+ (tee_local $0
+ (i32.add
+ (get_local $7)
+ (get_local $2)
)
- (i32.const 3)
)
+ (i32.const 3)
)
- (i32.store
- (tee_local $3
+ )
+ (i32.store
+ (tee_local $3
+ (i32.add
(i32.add
- (i32.add
- (get_local $1)
- (get_local $0)
- )
- (i32.const 4)
+ (get_local $1)
+ (get_local $0)
)
+ (i32.const 4)
)
- (i32.or
- (i32.load
- (get_local $3)
- )
- (i32.const 1)
+ )
+ (i32.or
+ (i32.load
+ (get_local $3)
)
+ (i32.const 1)
)
)
- (block
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (get_local $2)
- (i32.const 3)
- )
+ )
+ (block
+ (i32.store offset=4
+ (get_local $1)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
)
- (i32.store offset=4
+ )
+ (i32.store offset=4
+ (get_local $6)
+ (i32.or
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
(get_local $6)
- (i32.or
- (get_local $7)
- (i32.const 1)
- )
+ (get_local $7)
)
- (i32.store
- (i32.add
- (get_local $6)
- (get_local $7)
+ (get_local $7)
+ )
+ (if
+ (tee_local $3
+ (i32.load
+ (i32.const 1216)
)
- (get_local $7)
)
- (if
- (tee_local $3
+ (block
+ (set_local $0
(i32.load
- (i32.const 1216)
+ (i32.const 1228)
)
)
- (block
- (set_local $0
- (i32.load
- (i32.const 1228)
+ (set_local $3
+ (i32.add
+ (i32.shl
+ (tee_local $8
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 1248)
)
- (set_local $3
- (i32.add
+ )
+ (if
+ (i32.and
+ (tee_local $10
+ (i32.load
+ (i32.const 1208)
+ )
+ )
+ (tee_local $5
(i32.shl
- (tee_local $8
- (i32.shr_u
- (get_local $3)
- (i32.const 3)
- )
- )
- (i32.const 3)
+ (i32.const 1)
+ (get_local $8)
)
- (i32.const 1248)
)
)
(if
- (i32.and
+ (i32.lt_u
(tee_local $10
(i32.load
- (i32.const 1208)
- )
- )
- (tee_local $5
- (i32.shl
- (i32.const 1)
- (get_local $8)
- )
- )
- )
- (if
- (i32.lt_u
- (tee_local $10
- (i32.load
- (tee_local $5
- (i32.add
- (get_local $3)
- (i32.const 8)
- )
+ (tee_local $5
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 1224)
- )
)
- (call $qa)
- (block
- (set_local $41
- (get_local $5)
- )
- (set_local $27
- (get_local $10)
- )
+ (i32.load
+ (i32.const 1224)
)
)
+ (call $qa)
(block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $10)
- (get_local $5)
- )
- )
(set_local $41
- (i32.add
- (get_local $3)
- (i32.const 8)
- )
+ (get_local $5)
)
(set_local $27
- (get_local $3)
+ (get_local $10)
)
)
)
- (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 $3)
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $10)
+ (get_local $5)
+ )
+ )
+ (set_local $41
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
+ )
+ (set_local $27
+ (get_local $3)
+ )
)
)
- )
- (i32.store
- (i32.const 1216)
- (get_local $7)
- )
- (i32.store
- (i32.const 1228)
- (get_local $6)
+ (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 $3)
+ )
)
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $1)
- (i32.const 8)
+ (i32.store
+ (i32.const 1216)
+ (get_local $7)
+ )
+ (i32.store
+ (i32.const 1228)
+ (get_local $6)
)
)
)
- (get_local $2)
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
+ )
)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $2)
)
- (if (result i32)
- (i32.gt_u
- (get_local $0)
- (i32.const -65)
- )
- (i32.const -1)
- (block $do-once (result i32)
- (set_local $0
- (i32.and
- (tee_local $3
- (i32.add
- (get_local $0)
- (i32.const 11)
- )
+ )
+ (if (result i32)
+ (i32.gt_u
+ (get_local $0)
+ (i32.const -65)
+ )
+ (i32.const -1)
+ (block $do-once (result i32)
+ (set_local $0
+ (i32.and
+ (tee_local $3
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
)
- (i32.const -8)
)
+ (i32.const -8)
)
- (if (result i32)
- (tee_local $10
- (i32.load
- (i32.const 1212)
- )
+ )
+ (if (result i32)
+ (tee_local $10
+ (i32.load
+ (i32.const 1212)
)
- (block (result i32)
- (set_local $5
- (i32.sub
- (i32.const 0)
- (get_local $0)
- )
+ )
+ (block (result i32)
+ (set_local $5
+ (i32.sub
+ (i32.const 0)
+ (get_local $0)
)
- (if
- (tee_local $13
- (i32.load
- (i32.add
- (i32.shl
- (tee_local $27
+ )
+ (if
+ (tee_local $13
+ (i32.load
+ (i32.add
+ (i32.shl
+ (tee_local $27
+ (if (result i32)
+ (tee_local $8
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 8)
+ )
+ )
(if (result i32)
- (tee_local $8
- (i32.shr_u
- (get_local $3)
- (i32.const 8)
- )
+ (i32.gt_u
+ (get_local $0)
+ (i32.const 16777215)
)
- (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 $13
- (i32.add
- (i32.sub
- (i32.const 14)
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $0)
+ (i32.add
+ (tee_local $13
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
(i32.or
- (i32.or
- (tee_local $8
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $4
- (i32.shl
- (get_local $8)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $8)
- (i32.const 1048320)
- )
- (i32.const 16)
+ (tee_local $8
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $4
+ (i32.shl
+ (get_local $8)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $8)
+ (i32.const 1048320)
)
- (i32.const 8)
+ (i32.const 16)
)
+ (i32.const 8)
)
)
)
- (i32.const 520192)
)
- (i32.const 16)
+ (i32.const 520192)
)
- (i32.const 4)
+ (i32.const 16)
)
+ (i32.const 4)
)
- (get_local $3)
)
- (tee_local $4
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $16
- (i32.shl
- (get_local $4)
- (get_local $8)
- )
+ (get_local $3)
+ )
+ (tee_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $16
+ (i32.shl
+ (get_local $4)
+ (get_local $8)
)
- (i32.const 245760)
)
- (i32.const 16)
+ (i32.const 245760)
)
- (i32.const 2)
+ (i32.const 16)
)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (i32.shl
- (get_local $16)
- (get_local $4)
- )
- (i32.const 15)
+ )
+ (i32.shr_u
+ (i32.shl
+ (get_local $16)
+ (get_local $4)
)
+ (i32.const 15)
)
)
- (i32.const 7)
)
+ (i32.const 7)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $13)
- (i32.const 1)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
)
)
- (i32.const 0)
)
+ (i32.const 0)
)
- (i32.const 2)
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
- (block $label$break$a
- (set_local $4
- (get_local $5)
- )
- (set_local $16
- (i32.const 0)
- )
- (set_local $3
- (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
+ )
+ (block $label$break$a
+ (set_local $4
+ (get_local $5)
+ )
+ (set_local $16
+ (i32.const 0)
+ )
+ (set_local $3
+ (i32.shl
+ (get_local $0)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
(get_local $27)
- (i32.const 31)
+ (i32.const 1)
)
)
+ (i32.eq
+ (get_local $27)
+ (i32.const 31)
+ )
)
)
- (set_local $8
- (get_local $13)
- )
- (loop $while-in14
- (if
- (i32.lt_u
- (tee_local $13
- (i32.sub
- (tee_local $2
- (i32.and
- (i32.load offset=4
- (get_local $8)
- )
- (i32.const -8)
+ )
+ (set_local $8
+ (get_local $13)
+ )
+ (loop $while-in14
+ (if
+ (i32.lt_u
+ (tee_local $13
+ (i32.sub
+ (tee_local $2
+ (i32.and
+ (i32.load offset=4
+ (get_local $8)
)
+ (i32.const -8)
)
- (get_local $0)
)
+ (get_local $0)
)
- (get_local $4)
)
- (set_local $4
- (if (result i32)
- (i32.eq
- (get_local $2)
- (get_local $0)
+ (get_local $4)
+ )
+ (set_local $4
+ (if (result i32)
+ (i32.eq
+ (get_local $2)
+ (get_local $0)
+ )
+ (block
+ (set_local $29
+ (get_local $13)
)
- (block
- (set_local $29
- (get_local $13)
- )
- (set_local $28
- (get_local $8)
- )
- (set_local $32
- (get_local $8)
- )
- (set_local $8
- (i32.const 90)
- )
- (br $label$break$a)
+ (set_local $28
+ (get_local $8)
)
- (block (result i32)
- (set_local $9
- (get_local $8)
- )
- (get_local $13)
+ (set_local $32
+ (get_local $8)
+ )
+ (set_local $8
+ (i32.const 90)
)
+ (br $label$break$a)
)
- )
- )
- (set_local $2
- (select
- (get_local $16)
- (tee_local $13
- (i32.load offset=20
+ (block (result i32)
+ (set_local $9
(get_local $8)
)
+ (get_local $13)
)
- (i32.or
- (i32.eqz
- (get_local $13)
- )
- (i32.eq
- (get_local $13)
- (tee_local $8
- (i32.load
+ )
+ )
+ )
+ (set_local $2
+ (select
+ (get_local $16)
+ (tee_local $13
+ (i32.load offset=20
+ (get_local $8)
+ )
+ )
+ (i32.or
+ (i32.eqz
+ (get_local $13)
+ )
+ (i32.eq
+ (get_local $13)
+ (tee_local $8
+ (i32.load
+ (i32.add
(i32.add
- (i32.add
- (get_local $8)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $3)
- (i32.const 31)
- )
- (i32.const 2)
+ (get_local $8)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 31)
)
+ (i32.const 2)
)
)
)
@@ -1622,262 +1620,283 @@
)
)
)
- (set_local $6
- (if (result i32)
- (tee_local $13
- (i32.eqz
- (get_local $8)
- )
+ )
+ (set_local $6
+ (if (result i32)
+ (tee_local $13
+ (i32.eqz
+ (get_local $8)
)
- (block (result i32)
- (set_local $36
- (get_local $4)
- )
- (set_local $33
- (get_local $9)
- )
- (set_local $8
- (i32.const 86)
- )
+ )
+ (block (result i32)
+ (set_local $36
+ (get_local $4)
+ )
+ (set_local $33
+ (get_local $9)
+ )
+ (set_local $8
+ (i32.const 86)
+ )
+ (get_local $2)
+ )
+ (block
+ (set_local $16
(get_local $2)
)
- (block
- (set_local $16
- (get_local $2)
- )
- (set_local $3
- (i32.shl
- (get_local $3)
- (i32.xor
- (i32.and
- (get_local $13)
- (i32.const 1)
- )
+ (set_local $3
+ (i32.shl
+ (get_local $3)
+ (i32.xor
+ (i32.and
+ (get_local $13)
(i32.const 1)
)
+ (i32.const 1)
)
)
- (br $while-in14)
)
+ (br $while-in14)
)
)
)
)
- (block
- (set_local $36
- (get_local $5)
- )
- (set_local $8
- (i32.const 86)
- )
- )
)
- (if
- (i32.eq
- (get_local $8)
+ (block
+ (set_local $36
+ (get_local $5)
+ )
+ (set_local $8
(i32.const 86)
)
- (if
- (tee_local $2
- (if (result i32)
- (i32.or
- (get_local $6)
- (get_local $33)
- )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $8)
+ (i32.const 86)
+ )
+ (if
+ (tee_local $2
+ (if (result i32)
+ (i32.or
(get_local $6)
- (block (result i32)
- (drop
- (br_if $do-once
- (get_local $0)
- (i32.eqz
- (tee_local $5
- (i32.and
- (get_local $10)
- (i32.or
- (tee_local $13
- (i32.shl
- (i32.const 2)
- (get_local $27)
- )
- )
- (i32.sub
- (i32.const 0)
- (get_local $13)
+ (get_local $33)
+ )
+ (get_local $6)
+ (block (result i32)
+ (drop
+ (br_if $do-once
+ (get_local $0)
+ (i32.eqz
+ (tee_local $5
+ (i32.and
+ (get_local $10)
+ (i32.or
+ (tee_local $13
+ (i32.shl
+ (i32.const 2)
+ (get_local $27)
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $13)
+ )
)
)
)
)
)
- (set_local $5
- (i32.and
- (i32.shr_u
- (tee_local $13
- (i32.add
- (i32.and
+ )
+ (set_local $5
+ (i32.and
+ (i32.shr_u
+ (tee_local $13
+ (i32.add
+ (i32.and
+ (get_local $5)
+ (i32.sub
+ (i32.const 0)
(get_local $5)
- (i32.sub
- (i32.const 0)
- (get_local $5)
- )
)
- (i32.const -1)
)
+ (i32.const -1)
)
- (i32.const 12)
)
- (i32.const 16)
+ (i32.const 12)
)
+ (i32.const 16)
)
- (i32.load
- (i32.add
- (i32.shl
- (i32.add
+ )
+ (i32.load
+ (i32.add
+ (i32.shl
+ (i32.add
+ (i32.or
(i32.or
(i32.or
(i32.or
- (i32.or
- (tee_local $13
- (i32.and
- (i32.shr_u
- (tee_local $2
- (i32.shr_u
- (get_local $13)
- (get_local $5)
- )
- )
- (i32.const 5)
- )
- (i32.const 8)
- )
- )
- (get_local $5)
- )
- (tee_local $2
+ (tee_local $13
(i32.and
(i32.shr_u
- (tee_local $6
+ (tee_local $2
(i32.shr_u
- (get_local $2)
(get_local $13)
+ (get_local $5)
)
)
- (i32.const 2)
+ (i32.const 5)
)
- (i32.const 4)
+ (i32.const 8)
)
)
+ (get_local $5)
)
- (tee_local $6
+ (tee_local $2
(i32.and
(i32.shr_u
- (tee_local $9
+ (tee_local $6
(i32.shr_u
- (get_local $6)
(get_local $2)
+ (get_local $13)
)
)
- (i32.const 1)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 4)
)
)
)
- (tee_local $9
+ (tee_local $6
(i32.and
(i32.shr_u
- (tee_local $3
+ (tee_local $9
(i32.shr_u
- (get_local $9)
(get_local $6)
+ (get_local $2)
)
)
(i32.const 1)
)
- (i32.const 1)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (get_local $3)
- (get_local $9)
+ (tee_local $9
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.shr_u
+ (get_local $9)
+ (get_local $6)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 1)
+ )
)
)
- (i32.const 2)
+ (i32.shr_u
+ (get_local $3)
+ (get_local $9)
+ )
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
)
)
- (block
- (set_local $29
- (get_local $36)
- )
- (set_local $28
- (get_local $2)
- )
- (set_local $32
- (get_local $33)
- )
- (set_local $8
- (i32.const 90)
- )
+ )
+ (block
+ (set_local $29
+ (get_local $36)
)
- (block
- (set_local $18
- (get_local $36)
- )
- (set_local $11
- (get_local $33)
- )
+ (set_local $28
+ (get_local $2)
+ )
+ (set_local $32
+ (get_local $33)
+ )
+ (set_local $8
+ (i32.const 90)
+ )
+ )
+ (block
+ (set_local $18
+ (get_local $36)
+ )
+ (set_local $11
+ (get_local $33)
)
)
)
- (if
- (i32.eq
- (get_local $8)
- (i32.const 90)
+ )
+ (if
+ (i32.eq
+ (get_local $8)
+ (i32.const 90)
+ )
+ (loop $while-in16
+ (set_local $8
+ (i32.const 0)
)
- (loop $while-in16
- (set_local $8
- (i32.const 0)
- )
- (set_local $3
- (i32.lt_u
- (tee_local $9
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $28)
- )
- (i32.const -8)
+ (set_local $3
+ (i32.lt_u
+ (tee_local $9
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $28)
)
- (get_local $0)
+ (i32.const -8)
)
+ (get_local $0)
)
- (get_local $29)
)
+ (get_local $29)
)
- (set_local $6
- (select
- (get_local $9)
- (get_local $29)
- (get_local $3)
- )
+ )
+ (set_local $6
+ (select
+ (get_local $9)
+ (get_local $29)
+ (get_local $3)
)
- (set_local $9
- (select
+ )
+ (set_local $9
+ (select
+ (get_local $28)
+ (get_local $32)
+ (get_local $3)
+ )
+ )
+ (if
+ (tee_local $3
+ (i32.load offset=16
(get_local $28)
- (get_local $32)
+ )
+ )
+ (block
+ (set_local $29
+ (get_local $6)
+ )
+ (set_local $28
(get_local $3)
)
+ (set_local $32
+ (get_local $9)
+ )
+ (br $while-in16)
)
- (if
- (tee_local $3
- (i32.load offset=16
+ )
+ (set_local $18
+ (if (result i32)
+ (tee_local $28
+ (i32.load offset=20
(get_local $28)
)
)
@@ -1885,708 +1904,811 @@
(set_local $29
(get_local $6)
)
- (set_local $28
- (get_local $3)
- )
(set_local $32
(get_local $9)
)
(br $while-in16)
)
- )
- (set_local $18
- (if (result i32)
- (tee_local $28
- (i32.load offset=20
- (get_local $28)
- )
- )
- (block
- (set_local $29
- (get_local $6)
- )
- (set_local $32
- (get_local $9)
- )
- (br $while-in16)
- )
- (block (result i32)
- (set_local $11
- (get_local $9)
- )
- (get_local $6)
+ (block (result i32)
+ (set_local $11
+ (get_local $9)
)
+ (get_local $6)
)
)
)
)
+ )
+ (if (result i32)
+ (get_local $11)
(if (result i32)
- (get_local $11)
- (if (result i32)
- (i32.lt_u
- (get_local $18)
- (i32.sub
- (i32.load
- (i32.const 1216)
- )
- (get_local $0)
+ (i32.lt_u
+ (get_local $18)
+ (i32.sub
+ (i32.load
+ (i32.const 1216)
)
+ (get_local $0)
)
- (block
- (if
- (i32.lt_u
- (get_local $11)
- (tee_local $10
- (i32.load
- (i32.const 1224)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $11)
+ (tee_local $10
+ (i32.load
+ (i32.const 1224)
)
)
- (call $qa)
)
- (if
- (i32.ge_u
- (get_local $11)
- (tee_local $9
- (i32.add
- (get_local $11)
- (get_local $0)
- )
+ (call $qa)
+ )
+ (if
+ (i32.ge_u
+ (get_local $11)
+ (tee_local $9
+ (i32.add
+ (get_local $11)
+ (get_local $0)
)
)
- (call $qa)
)
- (set_local $6
- (i32.load offset=24
- (get_local $11)
- )
+ (call $qa)
+ )
+ (set_local $6
+ (i32.load offset=24
+ (get_local $11)
)
- (if
- (i32.eq
- (tee_local $3
- (i32.load offset=12
- (get_local $11)
- )
+ )
+ (if
+ (i32.eq
+ (tee_local $3
+ (i32.load offset=12
+ (get_local $11)
)
- (get_local $11)
)
- (block $do-once17
- (set_local $4
- (if (result i32)
- (tee_local $5
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $11)
- (i32.const 20)
- )
- )
- )
- )
- (block (result i32)
- (set_local $16
- (get_local $5)
- )
- (get_local $2)
- )
- (if (result i32)
- (tee_local $16
- (i32.load
- (tee_local $13
- (i32.add
- (get_local $11)
- (i32.const 16)
- )
- )
+ (get_local $11)
+ )
+ (block $do-once17
+ (set_local $4
+ (if (result i32)
+ (tee_local $5
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $11)
+ (i32.const 20)
)
)
- (get_local $13)
- (br $do-once17)
)
)
- )
- (loop $while-in20
- (if
- (tee_local $5
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $16)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (set_local $16
- (get_local $5)
- )
- (set_local $4
- (get_local $2)
- )
- (br $while-in20)
+ (block (result i32)
+ (set_local $16
+ (get_local $5)
)
+ (get_local $2)
)
- (if
- (tee_local $5
+ (if (result i32)
+ (tee_local $16
(i32.load
- (tee_local $2
+ (tee_local $13
(i32.add
- (get_local $16)
+ (get_local $11)
(i32.const 16)
)
)
)
)
- (block
- (set_local $16
- (get_local $5)
- )
- (set_local $4
- (get_local $2)
- )
- (br $while-in20)
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $4)
- (get_local $10)
- )
- (call $qa)
- (block
- (i32.store
- (get_local $4)
- (i32.const 0)
- )
- (set_local $22
- (get_local $16)
- )
+ (get_local $13)
+ (br $do-once17)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $2
- (i32.load offset=8
- (get_local $11)
- )
- )
- (get_local $10)
- )
- (call $qa)
- )
+ (loop $while-in20
(if
- (i32.ne
+ (tee_local $5
(i32.load
- (tee_local $5
+ (tee_local $2
(i32.add
- (get_local $2)
- (i32.const 12)
+ (get_local $16)
+ (i32.const 20)
)
)
)
- (get_local $11)
)
- (call $qa)
+ (block
+ (set_local $16
+ (get_local $5)
+ )
+ (set_local $4
+ (get_local $2)
+ )
+ (br $while-in20)
+ )
)
(if
- (i32.eq
+ (tee_local $5
(i32.load
- (tee_local $13
+ (tee_local $2
(i32.add
- (get_local $3)
- (i32.const 8)
+ (get_local $16)
+ (i32.const 16)
)
)
)
- (get_local $11)
)
(block
- (i32.store
+ (set_local $16
(get_local $5)
- (get_local $3)
)
- (i32.store
- (get_local $13)
+ (set_local $4
(get_local $2)
)
- (set_local $22
- (get_local $3)
+ (br $while-in20)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $4)
+ (get_local $10)
+ )
+ (call $qa)
+ (block
+ (i32.store
+ (get_local $4)
+ (i32.const 0)
+ )
+ (set_local $22
+ (get_local $16)
+ )
+ )
+ )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $11)
)
)
- (call $qa)
+ (get_local $10)
+ )
+ (call $qa)
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $2)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $11)
)
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
+ )
+ )
+ (get_local $11)
+ )
+ (block
+ (i32.store
+ (get_local $5)
+ (get_local $3)
+ )
+ (i32.store
+ (get_local $13)
+ (get_local $2)
+ )
+ (set_local $22
+ (get_local $3)
+ )
+ )
+ (call $qa)
)
)
- (if
- (get_local $6)
- (block $do-once21
- (if
- (i32.eq
- (get_local $11)
- (i32.load
- (tee_local $10
- (i32.add
- (i32.shl
- (tee_local $3
- (i32.load offset=28
- (get_local $11)
- )
+ )
+ (if
+ (get_local $6)
+ (block $do-once21
+ (if
+ (i32.eq
+ (get_local $11)
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (i32.shl
+ (tee_local $3
+ (i32.load offset=28
+ (get_local $11)
)
- (i32.const 2)
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
)
- (block
- (i32.store
- (get_local $10)
+ )
+ (block
+ (i32.store
+ (get_local $10)
+ (get_local $22)
+ )
+ (if
+ (i32.eqz
(get_local $22)
)
- (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 $3)
- )
- (i32.const -1)
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.and
+ (i32.load
+ (i32.const 1212)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $3)
)
+ (i32.const -1)
)
)
- (br $do-once21)
)
+ (br $do-once21)
)
)
- (block
- (if
- (i32.lt_u
- (get_local $6)
- (i32.load
- (i32.const 1224)
- )
+ )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (i32.load
+ (i32.const 1224)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $6)
- (i32.const 16)
- )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $6)
+ (i32.const 16)
)
)
- (get_local $11)
- )
- (i32.store
- (get_local $3)
- (get_local $22)
- )
- (i32.store offset=20
- (get_local $6)
- (get_local $22)
)
+ (get_local $11)
)
- (br_if $do-once21
- (i32.eqz
- (get_local $22)
- )
+ (i32.store
+ (get_local $3)
+ (get_local $22)
+ )
+ (i32.store offset=20
+ (get_local $6)
+ (get_local $22)
)
)
- )
- (if
- (i32.lt_u
- (get_local $22)
- (tee_local $3
- (i32.load
- (i32.const 1224)
- )
+ (br_if $do-once21
+ (i32.eqz
+ (get_local $22)
)
)
- (call $qa)
)
- (i32.store offset=24
+ )
+ (if
+ (i32.lt_u
(get_local $22)
- (get_local $6)
+ (tee_local $3
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (call $qa)
+ )
+ (i32.store offset=24
+ (get_local $22)
+ (get_local $6)
+ )
+ (if
+ (tee_local $10
+ (i32.load offset=16
+ (get_local $11)
+ )
)
(if
- (tee_local $10
- (i32.load offset=16
- (get_local $11)
- )
+ (i32.lt_u
+ (get_local $10)
+ (get_local $3)
)
- (if
- (i32.lt_u
+ (call $qa)
+ (block
+ (i32.store offset=16
+ (get_local $22)
(get_local $10)
- (get_local $3)
)
- (call $qa)
- (block
- (i32.store offset=16
- (get_local $22)
- (get_local $10)
- )
- (i32.store offset=24
- (get_local $10)
- (get_local $22)
- )
+ (i32.store offset=24
+ (get_local $10)
+ (get_local $22)
)
)
)
+ )
+ (if
+ (tee_local $10
+ (i32.load offset=20
+ (get_local $11)
+ )
+ )
(if
- (tee_local $10
- (i32.load offset=20
- (get_local $11)
+ (i32.lt_u
+ (get_local $10)
+ (i32.load
+ (i32.const 1224)
)
)
- (if
- (i32.lt_u
+ (call $qa)
+ (block
+ (i32.store offset=20
+ (get_local $22)
(get_local $10)
- (i32.load
- (i32.const 1224)
- )
)
- (call $qa)
- (block
- (i32.store offset=20
- (get_local $22)
- (get_local $10)
- )
- (i32.store offset=24
- (get_local $10)
- (get_local $22)
- )
+ (i32.store offset=24
+ (get_local $10)
+ (get_local $22)
)
)
)
)
)
- (if
- (i32.lt_u
- (get_local $18)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $11)
- (i32.or
- (tee_local $6
- (i32.add
- (get_local $18)
- (get_local $0)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $18)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $11)
+ (i32.or
+ (tee_local $6
+ (i32.add
+ (get_local $18)
+ (get_local $0)
)
- (i32.const 3)
)
+ (i32.const 3)
)
- (i32.store
- (tee_local $10
+ )
+ (i32.store
+ (tee_local $10
+ (i32.add
(i32.add
- (i32.add
- (get_local $11)
- (get_local $6)
- )
- (i32.const 4)
+ (get_local $11)
+ (get_local $6)
)
+ (i32.const 4)
)
- (i32.or
- (i32.load
- (get_local $10)
- )
- (i32.const 1)
+ )
+ (i32.or
+ (i32.load
+ (get_local $10)
)
+ (i32.const 1)
)
)
- (block $do-once25
- (i32.store offset=4
- (get_local $11)
- (i32.or
- (get_local $0)
- (i32.const 3)
- )
+ )
+ (block $do-once25
+ (i32.store offset=4
+ (get_local $11)
+ (i32.or
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (get_local $9)
+ (i32.or
+ (get_local $18)
+ (i32.const 1)
)
- (i32.store offset=4
+ )
+ (i32.store
+ (i32.add
(get_local $9)
- (i32.or
- (get_local $18)
- (i32.const 1)
- )
+ (get_local $18)
)
- (i32.store
- (i32.add
- (get_local $9)
- (get_local $18)
- )
+ (get_local $18)
+ )
+ (set_local $10
+ (i32.shr_u
(get_local $18)
+ (i32.const 3)
)
- (set_local $10
- (i32.shr_u
- (get_local $18)
- (i32.const 3)
- )
+ )
+ (if
+ (i32.lt_u
+ (get_local $18)
+ (i32.const 256)
)
- (if
- (i32.lt_u
- (get_local $18)
- (i32.const 256)
+ (block
+ (set_local $6
+ (i32.add
+ (i32.shl
+ (get_local $10)
+ (i32.const 3)
+ )
+ (i32.const 1248)
+ )
)
- (block
- (set_local $6
- (i32.add
+ (if
+ (i32.and
+ (tee_local $3
+ (i32.load
+ (i32.const 1208)
+ )
+ )
+ (tee_local $2
(i32.shl
+ (i32.const 1)
(get_local $10)
- (i32.const 3)
)
- (i32.const 1248)
)
)
(if
- (i32.and
+ (i32.lt_u
(tee_local $3
(i32.load
- (i32.const 1208)
- )
- )
- (tee_local $2
- (i32.shl
- (i32.const 1)
- (get_local $10)
- )
- )
- )
- (if
- (i32.lt_u
- (tee_local $3
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $6)
- (i32.const 8)
- )
+ (tee_local $2
+ (i32.add
+ (get_local $6)
+ (i32.const 8)
)
)
)
- (i32.load
- (i32.const 1224)
- )
)
- (call $qa)
- (block
- (set_local $19
- (get_local $2)
- )
- (set_local $7
- (get_local $3)
- )
+ (i32.load
+ (i32.const 1224)
)
)
+ (call $qa)
(block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $3)
- (get_local $2)
- )
- )
(set_local $19
- (i32.add
- (get_local $6)
- (i32.const 8)
- )
+ (get_local $2)
)
(set_local $7
- (get_local $6)
+ (get_local $3)
)
)
)
- (i32.store
- (get_local $19)
- (get_local $9)
- )
- (i32.store offset=12
- (get_local $7)
- (get_local $9)
- )
- (i32.store offset=8
- (get_local $9)
- (get_local $7)
- )
- (i32.store offset=12
- (get_local $9)
- (get_local $6)
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $3)
+ (get_local $2)
+ )
+ )
+ (set_local $19
+ (i32.add
+ (get_local $6)
+ (i32.const 8)
+ )
+ )
+ (set_local $7
+ (get_local $6)
+ )
)
- (br $do-once25)
)
+ (i32.store
+ (get_local $19)
+ (get_local $9)
+ )
+ (i32.store offset=12
+ (get_local $7)
+ (get_local $9)
+ )
+ (i32.store offset=8
+ (get_local $9)
+ (get_local $7)
+ )
+ (i32.store offset=12
+ (get_local $9)
+ (get_local $6)
+ )
+ (br $do-once25)
)
- (set_local $13
- (i32.add
- (i32.shl
- (tee_local $3
+ )
+ (set_local $13
+ (i32.add
+ (i32.shl
+ (tee_local $3
+ (if (result i32)
+ (tee_local $6
+ (i32.shr_u
+ (get_local $18)
+ (i32.const 8)
+ )
+ )
(if (result i32)
- (tee_local $6
- (i32.shr_u
- (get_local $18)
- (i32.const 8)
- )
+ (i32.gt_u
+ (get_local $18)
+ (i32.const 16777215)
)
- (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 $13
- (i32.add
- (i32.sub
- (i32.const 14)
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $18)
+ (i32.add
+ (tee_local $13
+ (i32.add
+ (i32.sub
+ (i32.const 14)
+ (i32.or
(i32.or
- (i32.or
- (tee_local $6
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $2
- (i32.shl
- (get_local $6)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $6)
- (i32.const 1048320)
- )
- (i32.const 16)
+ (tee_local $6
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $2
+ (i32.shl
+ (get_local $6)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $6)
+ (i32.const 1048320)
)
- (i32.const 8)
+ (i32.const 16)
)
+ (i32.const 8)
)
)
)
- (i32.const 520192)
)
- (i32.const 16)
+ (i32.const 520192)
)
- (i32.const 4)
+ (i32.const 16)
)
+ (i32.const 4)
)
- (get_local $3)
)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $10
- (i32.shl
- (get_local $2)
- (get_local $6)
- )
+ (get_local $3)
+ )
+ (tee_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $10
+ (i32.shl
+ (get_local $2)
+ (get_local $6)
)
- (i32.const 245760)
)
- (i32.const 16)
+ (i32.const 245760)
)
- (i32.const 2)
+ (i32.const 16)
)
+ (i32.const 2)
)
)
)
- (i32.shr_u
- (i32.shl
- (get_local $10)
- (get_local $2)
- )
- (i32.const 15)
+ )
+ (i32.shr_u
+ (i32.shl
+ (get_local $10)
+ (get_local $2)
)
+ (i32.const 15)
)
)
- (i32.const 7)
)
+ (i32.const 7)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $13)
- (i32.const 1)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $13)
+ (i32.const 1)
)
)
- (i32.const 0)
)
+ (i32.const 0)
)
- (i32.const 2)
)
- (i32.const 1512)
+ (i32.const 2)
)
+ (i32.const 1512)
)
- (i32.store offset=28
- (get_local $9)
- (get_local $3)
+ )
+ (i32.store offset=28
+ (get_local $9)
+ (get_local $3)
+ )
+ (i32.store offset=4
+ (tee_local $2
+ (i32.add
+ (get_local $9)
+ (i32.const 16)
+ )
)
- (i32.store offset=4
- (tee_local $2
- (i32.add
- (get_local $9)
- (i32.const 16)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $2)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $2
+ (i32.load
+ (i32.const 1212)
+ )
+ )
+ (tee_local $10
+ (i32.shl
+ (i32.const 1)
+ (get_local $3)
+ )
)
)
- (i32.const 0)
)
- (i32.store
- (get_local $2)
- (i32.const 0)
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.or
+ (get_local $2)
+ (get_local $10)
+ )
+ )
+ (i32.store
+ (get_local $13)
+ (get_local $9)
+ )
+ (i32.store offset=24
+ (get_local $9)
+ (get_local $13)
+ )
+ (i32.store offset=12
+ (get_local $9)
+ (get_local $9)
+ )
+ (i32.store offset=8
+ (get_local $9)
+ (get_local $9)
+ )
+ (br $do-once25)
)
- (if
- (i32.eqz
- (i32.and
- (tee_local $2
- (i32.load
- (i32.const 1212)
- )
+ )
+ (set_local $10
+ (i32.shl
+ (get_local $18)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 1)
)
- (tee_local $10
- (i32.shl
- (i32.const 1)
- (get_local $3)
+ )
+ (i32.eq
+ (get_local $3)
+ (i32.const 31)
+ )
+ )
+ )
+ )
+ (set_local $2
+ (i32.load
+ (get_local $13)
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $8
+ (loop $while-in28 (result i32)
+ (block $while-out27 (result i32)
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $2)
+ )
+ (i32.const -8)
+ )
+ (get_local $18)
+ )
+ (block
+ (set_local $17
+ (get_local $2)
+ )
+ (br $while-out27
+ (i32.const 148)
+ )
+ )
+ )
+ (if (result i32)
+ (tee_local $3
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $10)
+ (i32.const 31)
+ )
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ )
+ (block
+ (set_local $10
+ (i32.shl
+ (get_local $10)
+ (i32.const 1)
+ )
+ )
+ (set_local $2
+ (get_local $3)
+ )
+ (br $while-in28)
+ )
+ (block (result i32)
+ (set_local $21
+ (get_local $13)
+ )
+ (set_local $15
+ (get_local $2)
+ )
+ (i32.const 145)
+ )
)
)
)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.or
- (get_local $2)
- (get_local $10)
- )
+ (i32.const 145)
+ )
+ (if
+ (i32.lt_u
+ (get_local $21)
+ (i32.load
+ (i32.const 1224)
)
+ )
+ (call $qa)
+ (block
(i32.store
- (get_local $13)
+ (get_local $21)
(get_local $9)
)
(i32.store offset=24
(get_local $9)
- (get_local $13)
+ (get_local $15)
)
(i32.store offset=12
(get_local $9)
@@ -2596,209 +2718,87 @@
(get_local $9)
(get_local $9)
)
- (br $do-once25)
- )
- )
- (set_local $10
- (i32.shl
- (get_local $18)
- (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)
- )
- )
- )
- )
- (set_local $2
- (i32.load
- (get_local $13)
)
)
(if
(i32.eq
- (tee_local $8
- (loop $while-in28 (result i32)
- (block $while-out27 (result i32)
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $2)
- )
- (i32.const -8)
- )
- (get_local $18)
- )
- (block
- (set_local $17
- (get_local $2)
- )
- (br $while-out27
- (i32.const 148)
+ (get_local $8)
+ (i32.const 148)
+ )
+ (if
+ (i32.and
+ (i32.ge_u
+ (tee_local $10
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $17)
+ (i32.const 8)
)
)
)
- (if (result i32)
- (tee_local $3
- (i32.load
- (tee_local $13
- (i32.add
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $10)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
- )
- )
- )
- (block
- (set_local $10
- (i32.shl
- (get_local $10)
- (i32.const 1)
- )
- )
- (set_local $2
- (get_local $3)
- )
- (br $while-in28)
- )
- (block (result i32)
- (set_local $21
- (get_local $13)
- )
- (set_local $15
- (get_local $2)
- )
- (i32.const 145)
- )
+ )
+ (tee_local $3
+ (i32.load
+ (i32.const 1224)
)
)
)
- )
- (i32.const 145)
- )
- (if
- (i32.lt_u
- (get_local $21)
- (i32.load
- (i32.const 1224)
+ (i32.ge_u
+ (get_local $17)
+ (get_local $3)
)
)
- (call $qa)
(block
+ (i32.store offset=12
+ (get_local $10)
+ (get_local $9)
+ )
(i32.store
- (get_local $21)
+ (get_local $2)
(get_local $9)
)
- (i32.store offset=24
+ (i32.store offset=8
(get_local $9)
- (get_local $15)
+ (get_local $10)
)
(i32.store offset=12
(get_local $9)
- (get_local $9)
+ (get_local $17)
)
- (i32.store offset=8
- (get_local $9)
+ (i32.store offset=24
(get_local $9)
+ (i32.const 0)
)
)
- )
- (if
- (i32.eq
- (get_local $8)
- (i32.const 148)
- )
- (if
- (i32.and
- (i32.ge_u
- (tee_local $10
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $17)
- (i32.const 8)
- )
- )
- )
- )
- (tee_local $3
- (i32.load
- (i32.const 1224)
- )
- )
- )
- (i32.ge_u
- (get_local $17)
- (get_local $3)
- )
- )
- (block
- (i32.store offset=12
- (get_local $10)
- (get_local $9)
- )
- (i32.store
- (get_local $2)
- (get_local $9)
- )
- (i32.store offset=8
- (get_local $9)
- (get_local $10)
- )
- (i32.store offset=12
- (get_local $9)
- (get_local $17)
- )
- (i32.store offset=24
- (get_local $9)
- (i32.const 0)
- )
- )
- (call $qa)
- )
+ (call $qa)
)
)
)
)
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $11)
- (i32.const 8)
- )
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.add
+ (get_local $11)
+ (i32.const 8)
)
)
- (get_local $0)
)
(get_local $0)
)
+ (get_local $0)
)
- (get_local $0)
)
+ (get_local $0)
)
)
)
)
+ )
+ (block $folding-inner0
(if
(i32.ge_u
(tee_local $11
diff --git a/test/passes/1.txt b/test/passes/1.txt
index 048ee292c..3fc55487a 100644
--- a/test/passes/1.txt
+++ b/test/passes/1.txt
@@ -182,10 +182,10 @@
)
)
(func $switch (; 10 ;) (type $3) (param $0 i32)
+ (call $switch
+ (i32.const 1)
+ )
(block $block$6$break
- (call $switch
- (i32.const 1)
- )
(block $switch$3$default
(br_table $block$6$break $block$6$break $block$6$break $switch$3$default
(get_local $0)
@@ -203,10 +203,10 @@
(nop)
)
(func $if-br-wat (; 12 ;) (type $3) (param $0 i32)
+ (call $if-br-wat
+ (i32.const 0)
+ )
(block $block$2$break
- (call $if-br-wat
- (i32.const 0)
- )
(if
(get_local $0)
(call $if-br-wat
diff --git a/test/passes/O2_precompute-propagate_print-stack-ir.txt b/test/passes/O2_precompute-propagate_print-stack-ir.txt
index 909e81b85..2d2673bae 100644
--- a/test/passes/O2_precompute-propagate_print-stack-ir.txt
+++ b/test/passes/O2_precompute-propagate_print-stack-ir.txt
@@ -3,12 +3,10 @@
(export "func" (func $0))
(func $0 (; 0 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i64) (result i64)
(local $4 i32)
- (block $label$1
- (set_local $3
- (i64.const 2147483647)
- )
- (nop)
+ (set_local $3
+ (i64.const 2147483647)
)
+ (nop)
(i64.const 2147483647)
)
)
@@ -17,12 +15,10 @@
(export "func" (func $0))
(func $0 (; 0 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i64) (result i64)
(local $4 i32)
- (block $label$1
- (set_local $3
- (i64.const 2147483647)
- )
- (nop)
+ (set_local $3
+ (i64.const 2147483647)
)
+ (nop)
(i64.const 2147483647)
)
)
diff --git a/test/passes/merge-blocks.txt b/test/passes/merge-blocks.txt
index da5f8b315..00d367f50 100644
--- a/test/passes/merge-blocks.txt
+++ b/test/passes/merge-blocks.txt
@@ -2,12 +2,12 @@
(type $0 (func))
(type $1 (func (param i32)))
(type $2 (func (result i32)))
+ (type $3 (func (result f32)))
+ (global $global$0 (mut i32) (i32.const 10))
(func $drop-block (; 0 ;) (type $0)
(block $block
- (block $x
- (drop
- (i32.const 0)
- )
+ (drop
+ (i32.const 0)
)
)
)
@@ -25,10 +25,10 @@
)
(func $drop-block-br-if (; 2 ;) (type $0)
(block $block
+ (drop
+ (i32.const 1)
+ )
(block $x
- (drop
- (i32.const 1)
- )
(br_if $x
(i32.const 2)
)
@@ -269,4 +269,18 @@
)
)
)
+ (func $br-value-blocktypechange (; 20 ;) (type $3) (result f32)
+ (set_global $global$0
+ (i32.const 0)
+ )
+ (block $label$1 (result f32)
+ (set_global $global$0
+ (i32.const 0)
+ )
+ (br_if $label$1
+ (unreachable)
+ (i32.const 0)
+ )
+ )
+ )
)
diff --git a/test/passes/merge-blocks.wast b/test/passes/merge-blocks.wast
index cab2d1804..647645548 100644
--- a/test/passes/merge-blocks.wast
+++ b/test/passes/merge-blocks.wast
@@ -1,4 +1,5 @@
(module
+ (global $global$0 (mut i32) (i32.const 10))
(func $drop-block
(block
(drop
@@ -232,5 +233,18 @@
)
)
)
+ (func $br-value-blocktypechange (result f32)
+ (set_global $global$0
+ (i32.const 0)
+ )
+ (block $label$1 (result f32)
+ (set_global $global$0
+ (i32.const 0)
+ )
+ (br_if $label$1
+ (unreachable)
+ (i32.const 0)
+ )
+ )
+ )
)
-
diff --git a/test/passes/remove-unused-names_merge-blocks.txt b/test/passes/remove-unused-names_merge-blocks.txt
index 5cc6ca891..974ac4d91 100644
--- a/test/passes/remove-unused-names_merge-blocks.txt
+++ b/test/passes/remove-unused-names_merge-blocks.txt
@@ -78,10 +78,10 @@
)
(func $b5 (; 10 ;) (type $i) (param $i1 i32)
(block $middle
+ (drop
+ (i32.const 10)
+ )
(block $inner
- (drop
- (i32.const 10)
- )
(br $inner)
)
(br $middle)
@@ -91,10 +91,10 @@
(drop
(i32.const 5)
)
+ (drop
+ (i32.const 10)
+ )
(block $inner
- (drop
- (i32.const 10)
- )
(br $inner)
)
(drop
@@ -105,19 +105,19 @@
(drop
(i32.const 3)
)
+ (drop
+ (i32.const 6)
+ )
+ (drop
+ (i32.const 10)
+ )
+ (block $inner
+ (br $inner)
+ )
+ (drop
+ (i32.const 15)
+ )
(block $middle
- (drop
- (i32.const 6)
- )
- (block $inner
- (drop
- (i32.const 10)
- )
- (br $inner)
- )
- (drop
- (i32.const 15)
- )
(br $middle)
)
(drop
@@ -1020,14 +1020,14 @@
)
)
(block $l12
+ (br_if $l12
+ (i32.const 21)
+ )
(block $l13
+ (br_if $l13
+ (i32.const 22)
+ )
(block $l14
- (br_if $l12
- (i32.const 21)
- )
- (br_if $l13
- (i32.const 22)
- )
(br_if $l14
(i32.const 23)
)
@@ -1043,26 +1043,26 @@
(i32.const 26)
)
)
- (block $l15
- (block $l16
- (block $l17
- (drop
- (i32.const 27)
- )
- (br_if $l17
- (i32.const 28)
- )
- (drop
- (i32.const 29)
- )
- )
- (br_if $l16
- (i32.const 30)
- )
- (drop
- (i32.const 31)
- )
+ (drop
+ (i32.const 27)
+ )
+ (block $l17
+ (br_if $l17
+ (i32.const 28)
+ )
+ (drop
+ (i32.const 29)
)
+ )
+ (block $l16
+ (br_if $l16
+ (i32.const 30)
+ )
+ (drop
+ (i32.const 31)
+ )
+ )
+ (block $l15
(br_if $l15
(i32.const 32)
)
@@ -1108,12 +1108,12 @@
(i32.const 6)
)
)
- (block $b2
- (loop $l4
- (br_if $l4
- (i32.const 7)
- )
+ (loop $l4
+ (br_if $l4
+ (i32.const 7)
)
+ )
+ (block $b2
(br_if $b2
(i32.const 8)
)
@@ -1375,3 +1375,325 @@
)
)
)
+(module
+ (type $0 (func))
+ (func $merge-some-block (; 0 ;) (type $0)
+ (drop
+ (i32.const 1)
+ )
+ (block $b1
+ (br_if $b1
+ (i32.const 0)
+ )
+ )
+ (block $b2
+ (br_if $b2
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 2)
+ )
+ )
+ (drop
+ (i32.const 3)
+ )
+ (block $b3
+ (br_if $b3
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 4)
+ )
+ )
+ (block $b3-dead-code-so-ignore
+ (drop
+ (i32.const 3)
+ )
+ (br $b3-dead-code-so-ignore)
+ (drop
+ (i32.const 4)
+ )
+ )
+ (drop
+ (i32.const 5)
+ )
+ (block $b4
+ (br_if $b4
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 6)
+ )
+ (br_if $b4
+ (i32.const 0)
+ )
+ )
+ (block $b5
+ (br_if $b5
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 7)
+ )
+ (br_if $b5
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 8)
+ )
+ )
+ (drop
+ (i32.const 9)
+ )
+ (drop
+ (i32.const 10)
+ )
+ (block $b6
+ (br_if $b6
+ (i32.const 0)
+ )
+ )
+ )
+ (func $merge-some-loop (; 1 ;) (type $0)
+ (drop
+ (i32.const 1)
+ )
+ (block $b1
+ (br_if $b1
+ (i32.const 0)
+ )
+ )
+ (block $b2
+ (br_if $b2
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 2)
+ )
+ )
+ (drop
+ (i32.const 3)
+ )
+ (block $b3
+ (br_if $b3
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 4)
+ )
+ )
+ (drop
+ (i32.const 5)
+ )
+ (block $b4
+ (br_if $b4
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 6)
+ )
+ (br_if $b4
+ (i32.const 0)
+ )
+ )
+ (block $b5
+ (br_if $b5
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 7)
+ )
+ (br_if $b5
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 8)
+ )
+ )
+ (drop
+ (i32.const 9)
+ )
+ (drop
+ (i32.const 10)
+ )
+ (block $b6
+ (br_if $b6
+ (i32.const 0)
+ )
+ )
+ )
+ (func $merge-some-loop-taken (; 2 ;) (type $0)
+ (loop $l1
+ (block $b1
+ (drop
+ (i32.const 1)
+ )
+ (br_if $l1
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 2)
+ )
+ (br_if $b1
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 3)
+ )
+ )
+ )
+ (loop $l2
+ (block $b2
+ (drop
+ (i32.const 4)
+ )
+ (br_if $b2
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 5)
+ )
+ (br_if $l2
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 6)
+ )
+ )
+ )
+ (loop $l3
+ (block $b3
+ (drop
+ (i32.const 7)
+ )
+ (br_if $b3
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 8)
+ )
+ (br_if $l3
+ (i32.const 0)
+ )
+ )
+ )
+ (loop $l4
+ (block $b4
+ (br_if $l4
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 9)
+ )
+ (br_if $b4
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 10)
+ )
+ )
+ )
+ (loop $l5
+ (block $b5
+ (drop
+ (i32.const 7)
+ )
+ (br_if $b5
+ (i32.const 0)
+ )
+ (br_if $l5
+ (i32.const 0)
+ )
+ )
+ )
+ (loop $l6
+ (block $b6
+ (br_if $l6
+ (i32.const 0)
+ )
+ (br_if $b6
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 10)
+ )
+ )
+ )
+ (loop $l7
+ (block $b7
+ (drop
+ (i32.const 11)
+ )
+ (br_if $l7
+ (i32.const 0)
+ )
+ (br_if $b7
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 13)
+ )
+ )
+ )
+ (loop $l8
+ (block $b8
+ (drop
+ (i32.const 14)
+ )
+ (br_if $b8
+ (i32.const 0)
+ )
+ (br_if $l8
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 16)
+ )
+ )
+ )
+ (loop $l9
+ (drop
+ (i32.const 17)
+ )
+ (br_if $l9
+ (i32.const 0)
+ )
+ (drop
+ (i32.const 18)
+ )
+ (br_if $l9
+ (i32.const 0)
+ )
+ )
+ (drop
+ (i32.const 19)
+ )
+ (loop $l10
+ (drop
+ (i32.const 20)
+ )
+ (br_if $l10
+ (i32.const 0)
+ )
+ )
+ (drop
+ (i32.const 21)
+ )
+ (loop $l11
+ (br_if $l11
+ (i32.const 0)
+ )
+ )
+ (drop
+ (i32.const 23)
+ )
+ (loop $l12
+ (drop
+ (i32.const 24)
+ )
+ (br_if $l12
+ (i32.const 0)
+ )
+ )
+ )
+)
diff --git a/test/passes/remove-unused-names_merge-blocks.wast b/test/passes/remove-unused-names_merge-blocks.wast
index 3e6add49c..eb0e7b8a8 100644
--- a/test/passes/remove-unused-names_merge-blocks.wast
+++ b/test/passes/remove-unused-names_merge-blocks.wast
@@ -1379,3 +1379,180 @@
)
)
)
+(module
+ (func $merge-some-block
+ (block $b1
+ (drop (i32.const 1))
+ (br_if $b1 (i32.const 0))
+ )
+ (block $b2
+ (br_if $b2 (i32.const 0))
+ (drop (i32.const 2))
+ )
+ (block $b3
+ (drop (i32.const 3))
+ (br_if $b3 (i32.const 0))
+ (drop (i32.const 4))
+ )
+ (block $b3-dead-code-so-ignore
+ (drop (i32.const 3))
+ (br $b3-dead-code-so-ignore)
+ (drop (i32.const 4))
+ )
+ (block $b4
+ (drop (i32.const 5))
+ (br_if $b4 (i32.const 0))
+ (drop (i32.const 6))
+ (br_if $b4 (i32.const 0))
+ )
+ (block $b5
+ (br_if $b5 (i32.const 0))
+ (drop (i32.const 7))
+ (br_if $b5 (i32.const 0))
+ (drop (i32.const 8))
+ )
+ (block $b6
+ (drop (i32.const 9))
+ (drop (i32.const 10))
+ (br_if $b6 (i32.const 0))
+ )
+ )
+ (func $merge-some-loop
+ (loop $l1
+ (block $b1
+ (drop (i32.const 1))
+ (br_if $b1 (i32.const 0))
+ )
+ )
+ (loop $l2
+ (block $b2
+ (br_if $b2 (i32.const 0))
+ (drop (i32.const 2))
+ )
+ )
+ (loop $l3
+ (block $b3
+ (drop (i32.const 3))
+ (br_if $b3 (i32.const 0))
+ (drop (i32.const 4))
+ )
+ )
+ (loop $l4
+ (block $b4
+ (drop (i32.const 5))
+ (br_if $b4 (i32.const 0))
+ (drop (i32.const 6))
+ (br_if $b4 (i32.const 0))
+ )
+ )
+ (loop $l5
+ (block $b5
+ (br_if $b5 (i32.const 0))
+ (drop (i32.const 7))
+ (br_if $b5 (i32.const 0))
+ (drop (i32.const 8))
+ )
+ )
+ (loop $l6
+ (block $b6
+ (drop (i32.const 9))
+ (drop (i32.const 10))
+ (br_if $b6 (i32.const 0))
+ )
+ )
+ )
+ (func $merge-some-loop-taken
+ (loop $l1
+ (block $b1
+ (drop (i32.const 1))
+ (br_if $l1 (i32.const 0))
+ (drop (i32.const 2))
+ (br_if $b1 (i32.const 0))
+ (drop (i32.const 3))
+ )
+ )
+ (loop $l2
+ (block $b2
+ (drop (i32.const 4))
+ (br_if $b2 (i32.const 0))
+ (drop (i32.const 5))
+ (br_if $l2 (i32.const 0))
+ (drop (i32.const 6))
+ )
+ )
+ (loop $l3
+ (block $b3
+ (drop (i32.const 7))
+ (br_if $b3 (i32.const 0))
+ (drop (i32.const 8))
+ (br_if $l3 (i32.const 0))
+ )
+ )
+ (loop $l4
+ (block $b4
+ (br_if $l4 (i32.const 0))
+ (drop (i32.const 9))
+ (br_if $b4 (i32.const 0))
+ (drop (i32.const 10))
+ )
+ )
+ (loop $l5
+ (block $b5
+ (drop (i32.const 7))
+ (br_if $b5 (i32.const 0))
+ (br_if $l5 (i32.const 0))
+ )
+ )
+ (loop $l6
+ (block $b6
+ (br_if $l6 (i32.const 0))
+ (br_if $b6 (i32.const 0))
+ (drop (i32.const 10))
+ )
+ )
+ (loop $l7
+ (block $b7
+ (drop (i32.const 11))
+ (br_if $l7 (i32.const 0))
+ (br_if $b7 (i32.const 0))
+ (drop (i32.const 13))
+ )
+ )
+ (loop $l8
+ (block $b8
+ (drop (i32.const 14))
+ (br_if $b8 (i32.const 0))
+ (br_if $l8 (i32.const 0))
+ (drop (i32.const 16))
+ )
+ )
+ (loop $l9
+ (block $b9
+ (drop (i32.const 17))
+ (br_if $l9 (i32.const 0))
+ (drop (i32.const 18))
+ (br_if $l9 (i32.const 0))
+ (drop (i32.const 19))
+ )
+ )
+ (loop $l10
+ (block $b10
+ (drop (i32.const 20))
+ (br_if $l10 (i32.const 0))
+ (drop (i32.const 21))
+ )
+ )
+ (loop $l11
+ (block $b11
+ (br_if $l11 (i32.const 0))
+ (drop (i32.const 23))
+ )
+ )
+ (loop $l12
+ (block $b12
+ (drop (i32.const 24))
+ (br_if $l12 (i32.const 0))
+ )
+ )
+ )
+)