summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/passes/O3_low-memory-unused_metrics.txt2577
-rw-r--r--test/passes/O3_low-memory-unused_metrics.wast5466
2 files changed, 8043 insertions, 0 deletions
diff --git a/test/passes/O3_low-memory-unused_metrics.txt b/test/passes/O3_low-memory-unused_metrics.txt
new file mode 100644
index 000000000..0978d3715
--- /dev/null
+++ b/test/passes/O3_low-memory-unused_metrics.txt
@@ -0,0 +1,2577 @@
+total
+ [funcs] : 1
+ [imports] : 2
+ [total] : 1601
+ [vars] : 13
+ binary : 213
+ block : 77
+ break : 100
+ call_indirect : 1
+ const : 162
+ drop : 16
+ if : 35
+ load : 230
+ local.get : 449
+ local.set : 173
+ loop : 6
+ return : 4
+ select : 10
+ store : 86
+ unary : 23
+ unreachable : 16
+(module
+ (type $2 (func (param i32 i32) (result i32)))
+ (import "env" "memory" (memory $0 256 256))
+ (import "env" "__indirect_function_table" (table $0 10 funcref))
+ (export "deflate" (func $deflate))
+ (func $deflate (; 0 ;) (; has Stack IR ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
+ (local $2 i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local $6 i32)
+ (local $7 i32)
+ (local $8 i32)
+ (local $9 i32)
+ (local $10 i32)
+ (local $11 i32)
+ (local $12 i32)
+ (local $13 i32)
+ (local $14 i32)
+ (local.set $3
+ (i32.const -2)
+ )
+ (block $folding-inner5
+ (block $folding-inner4
+ (block $folding-inner3
+ (block $folding-inner2
+ (block $folding-inner1
+ (block $folding-inner0
+ (block $label$1
+ (br_if $label$1
+ (i32.eqz
+ (local.get $0)
+ )
+ )
+ (br_if $label$1
+ (i32.gt_u
+ (local.get $1)
+ (i32.const 5)
+ )
+ )
+ (br_if $label$1
+ (i32.eqz
+ (local.tee $2
+ (i32.load offset=28
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (block $label$2
+ (block $label$3
+ (br_if $label$3
+ (i32.eqz
+ (i32.load offset=12
+ (local.get $0)
+ )
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.load
+ (local.get $0)
+ )
+ )
+ (br_if $label$3
+ (i32.load offset=4
+ (local.get $0)
+ )
+ )
+ )
+ (local.set $3
+ (i32.load offset=4
+ (local.get $2)
+ )
+ )
+ (br_if $label$2
+ (i32.eq
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (br_if $label$2
+ (i32.ne
+ (local.get $3)
+ (i32.const 666)
+ )
+ )
+ )
+ (i32.store offset=24
+ (local.get $0)
+ (i32.load
+ (i32.const 15792)
+ )
+ )
+ (return
+ (i32.const -2)
+ )
+ )
+ (br_if $folding-inner0
+ (i32.eqz
+ (i32.load offset=16
+ (local.get $0)
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (local.get $0)
+ )
+ (local.set $14
+ (i32.load offset=40
+ (local.get $2)
+ )
+ )
+ (i32.store offset=40
+ (local.get $2)
+ (local.get $1)
+ )
+ (if
+ (i32.eq
+ (local.get $3)
+ (i32.const 42)
+ )
+ (block
+ (if
+ (i32.eq
+ (i32.load offset=24
+ (local.get $2)
+ )
+ (i32.const 2)
+ )
+ (unreachable)
+ )
+ (local.set $4
+ (i32.add
+ (i32.shl
+ (i32.load offset=48
+ (local.get $2)
+ )
+ (i32.const 12)
+ )
+ (i32.const -30720)
+ )
+ )
+ (local.set $3
+ (i32.const 0)
+ )
+ (block $label$24
+ (br_if $label$24
+ (i32.gt_s
+ (i32.load offset=136
+ (local.get $2)
+ )
+ (i32.const 1)
+ )
+ )
+ (br_if $label$24
+ (i32.lt_s
+ (local.tee $6
+ (i32.load offset=132
+ (local.get $2)
+ )
+ )
+ (i32.const 2)
+ )
+ )
+ (local.set $3
+ (i32.const 64)
+ )
+ (br_if $label$24
+ (i32.lt_s
+ (local.get $6)
+ (i32.const 6)
+ )
+ )
+ (local.set $3
+ (select
+ (i32.const 128)
+ (i32.const 192)
+ (i32.eq
+ (local.get $6)
+ (i32.const 6)
+ )
+ )
+ )
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.const 113)
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $9
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $9)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
+ (local.tee $3
+ (select
+ (i32.or
+ (local.tee $3
+ (i32.or
+ (local.get $3)
+ (local.get $4)
+ )
+ )
+ (i32.const 32)
+ )
+ (local.get $3)
+ (i32.load offset=108
+ (local.get $2)
+ )
+ )
+ )
+ (i32.const 8)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.xor
+ (i32.or
+ (i32.rem_u
+ (local.get $3)
+ (i32.const 31)
+ )
+ (local.get $3)
+ )
+ (i32.const 31)
+ )
+ )
+ (if
+ (i32.load offset=108
+ (local.get $2)
+ )
+ (block
+ (local.set $9
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $7
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $7)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
+ (local.get $9)
+ (i32.const 24)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $7
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $7)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
+ (local.get $9)
+ (i32.const 16)
+ )
+ )
+ (local.set $9
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $7
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $7)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
+ (local.get $9)
+ (i32.const 8)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $7
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $7)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (local.get $9)
+ )
+ )
+ )
+ (unreachable)
+ )
+ )
+ (block $label$6
+ (block $label$7
+ (block $label$8
+ (block $label$9
+ (block $label$10
+ (block $label$11
+ (block $label$12
+ (block $label$13
+ (block $label$14
+ (if
+ (i32.eq
+ (local.get $3)
+ (i32.const 69)
+ )
+ (block
+ (block $label$26
+ (if
+ (i32.load offset=16
+ (local.tee $4
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ )
+ (block
+ (local.set $3
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (br_if $label$26
+ (i32.ge_u
+ (local.tee $6
+ (i32.load offset=32
+ (local.get $2)
+ )
+ )
+ (i32.load16_u offset=20
+ (local.get $4)
+ )
+ )
+ )
+ (local.set $9
+ (local.get $0)
+ )
+ (local.set $13
+ (local.tee $10
+ (local.get $2)
+ )
+ )
+ (local.set $5
+ (local.get $3)
+ )
+ (loop $label$28
+ (if
+ (i32.eq
+ (i32.load offset=12
+ (local.get $10)
+ )
+ (local.get $3)
+ )
+ (block
+ (block $label$30
+ (br_if $label$30
+ (i32.le_u
+ (local.get $3)
+ (local.get $5)
+ )
+ )
+ (br_if $label$30
+ (i32.eqz
+ (i32.load offset=44
+ (local.get $4)
+ )
+ )
+ )
+ (drop
+ (i32.load offset=48
+ (local.get $9)
+ )
+ )
+ (drop
+ (i32.load offset=8
+ (local.get $13)
+ )
+ )
+ (unreachable)
+ )
+ (if
+ (select
+ (local.tee $3
+ (i32.load offset=16
+ (local.get $0)
+ )
+ )
+ (local.tee $4
+ (i32.load offset=20
+ (local.tee $6
+ (i32.load offset=28
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $4)
+ (local.get $3)
+ )
+ )
+ (block
+ (drop
+ (i32.load offset=12
+ (local.get $0)
+ )
+ )
+ (drop
+ (i32.load offset=16
+ (local.get $6)
+ )
+ )
+ (unreachable)
+ )
+ )
+ (local.set $4
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ (br_if $label$26
+ (i32.eq
+ (local.tee $3
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.load offset=12
+ (local.get $10)
+ )
+ )
+ )
+ (local.set $6
+ (i32.load offset=32
+ (local.get $2)
+ )
+ )
+ (local.set $5
+ (local.get $3)
+ )
+ )
+ )
+ (local.set $4
+ (i32.load8_u
+ (i32.add
+ (i32.load offset=16
+ (local.get $4)
+ )
+ (local.get $6)
+ )
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.get $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (i32.load offset=8
+ (local.get $13)
+ )
+ (local.get $3)
+ )
+ (local.get $4)
+ )
+ (i32.store offset=32
+ (local.get $2)
+ (local.tee $6
+ (i32.add
+ (i32.load offset=32
+ (local.get $2)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (if
+ (i32.ge_u
+ (local.get $6)
+ (i32.load16_u offset=20
+ (local.tee $4
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $3
+ (local.get $5)
+ )
+ (br $label$26)
+ )
+ (block
+ (local.set $3
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (br $label$28)
+ )
+ )
+ )
+ )
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.const 73)
+ )
+ (br $label$14)
+ )
+ (block $label$33
+ (br_if $label$33
+ (i32.eqz
+ (i32.load offset=44
+ (local.get $4)
+ )
+ )
+ )
+ (br_if $label$33
+ (i32.le_u
+ (i32.load offset=20
+ (local.get $2)
+ )
+ (local.get $3)
+ )
+ )
+ (br $folding-inner2)
+ )
+ (if
+ (i32.eq
+ (i32.load offset=32
+ (local.get $2)
+ )
+ (i32.load offset=20
+ (local.get $4)
+ )
+ )
+ (block
+ (i32.store offset=4
+ (local.get $2)
+ (i32.const 73)
+ )
+ (i32.store offset=32
+ (local.get $2)
+ (i32.const 0)
+ )
+ (br $label$14)
+ )
+ )
+ (local.set $3
+ (i32.load offset=4
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (br_if $label$13
+ (i32.ne
+ (local.get $3)
+ (i32.const 73)
+ )
+ )
+ (local.set $4
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ )
+ (br_if $label$11
+ (i32.eqz
+ (i32.load offset=28
+ (local.get $4)
+ )
+ )
+ )
+ (local.set $13
+ (local.get $0)
+ )
+ (local.set $10
+ (local.tee $12
+ (local.tee $11
+ (local.get $2)
+ )
+ )
+ )
+ (local.set $5
+ (local.tee $3
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ )
+ (local.set $4
+ (block $label$35 (result i32)
+ (loop $label$37
+ (block $label$36
+ (if
+ (i32.eq
+ (i32.load offset=12
+ (local.get $11)
+ )
+ (local.get $3)
+ )
+ (block
+ (block $label$39
+ (br_if $label$39
+ (i32.le_u
+ (local.get $3)
+ (local.get $5)
+ )
+ )
+ (br_if $label$39
+ (i32.eqz
+ (i32.load offset=44
+ (i32.load offset=28
+ (local.get $12)
+ )
+ )
+ )
+ )
+ (br $folding-inner3)
+ )
+ (if
+ (select
+ (local.tee $3
+ (i32.load offset=16
+ (local.get $0)
+ )
+ )
+ (local.tee $4
+ (i32.load offset=20
+ (local.tee $5
+ (i32.load offset=28
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $4)
+ (local.get $3)
+ )
+ )
+ (br $folding-inner4)
+ )
+ (br_if $label$36
+ (i32.eq
+ (local.tee $3
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.load offset=12
+ (local.get $11)
+ )
+ )
+ )
+ (local.set $5
+ (local.get $3)
+ )
+ )
+ )
+ (local.set $4
+ (i32.load offset=28
+ (i32.load offset=28
+ (local.get $12)
+ )
+ )
+ )
+ (i32.store offset=32
+ (local.get $2)
+ (i32.add
+ (local.tee $7
+ (i32.load offset=32
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (local.set $4
+ (i32.load8_u
+ (i32.add
+ (local.get $4)
+ (local.get $7)
+ )
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.get $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (i32.load offset=8
+ (local.get $10)
+ )
+ (local.get $3)
+ )
+ (local.get $4)
+ )
+ (if
+ (local.get $4)
+ (block
+ (local.set $3
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (br $label$37)
+ )
+ (block
+ (local.set $3
+ (local.get $5)
+ )
+ (br $label$35
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (block $label$42
+ (br_if $label$42
+ (i32.eqz
+ (i32.load offset=44
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (br_if $label$42
+ (i32.le_u
+ (i32.load offset=20
+ (local.get $2)
+ )
+ (local.get $3)
+ )
+ )
+ (br $folding-inner2)
+ )
+ (br_if $label$12
+ (i32.eqz
+ (local.get $4)
+ )
+ )
+ (local.set $3
+ (i32.load offset=4
+ (local.get $2)
+ )
+ )
+ )
+ (br_if $label$10
+ (i32.eq
+ (local.get $3)
+ (i32.const 91)
+ )
+ )
+ (br $label$9)
+ )
+ (i32.store offset=32
+ (local.get $2)
+ (i32.const 0)
+ )
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.const 91)
+ )
+ )
+ (br_if $label$8
+ (i32.eqz
+ (i32.load offset=36
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (local.set $13
+ (local.get $0)
+ )
+ (local.set $10
+ (local.tee $12
+ (local.tee $11
+ (local.get $2)
+ )
+ )
+ )
+ (local.set $5
+ (local.tee $3
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ )
+ (local.set $4
+ (block $label$43 (result i32)
+ (loop $label$45
+ (block $label$44
+ (if
+ (i32.eq
+ (i32.load offset=12
+ (local.get $11)
+ )
+ (local.get $3)
+ )
+ (block
+ (block $label$47
+ (br_if $label$47
+ (i32.le_u
+ (local.get $3)
+ (local.get $5)
+ )
+ )
+ (br_if $label$47
+ (i32.eqz
+ (i32.load offset=44
+ (i32.load offset=28
+ (local.get $12)
+ )
+ )
+ )
+ )
+ (br $folding-inner3)
+ )
+ (if
+ (select
+ (local.tee $3
+ (i32.load offset=16
+ (local.get $0)
+ )
+ )
+ (local.tee $4
+ (i32.load offset=20
+ (local.tee $5
+ (i32.load offset=28
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $4)
+ (local.get $3)
+ )
+ )
+ (br $folding-inner4)
+ )
+ (br_if $label$44
+ (i32.eq
+ (local.tee $3
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.load offset=12
+ (local.get $11)
+ )
+ )
+ )
+ (local.set $5
+ (local.get $3)
+ )
+ )
+ )
+ (local.set $4
+ (i32.load offset=36
+ (i32.load offset=28
+ (local.get $12)
+ )
+ )
+ )
+ (i32.store offset=32
+ (local.get $2)
+ (i32.add
+ (local.tee $7
+ (i32.load offset=32
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (local.set $4
+ (i32.load8_u
+ (i32.add
+ (local.get $4)
+ (local.get $7)
+ )
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.get $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (i32.load offset=8
+ (local.get $10)
+ )
+ (local.get $3)
+ )
+ (local.get $4)
+ )
+ (if
+ (local.get $4)
+ (block
+ (local.set $3
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (br $label$45)
+ )
+ (block
+ (local.set $3
+ (local.get $5)
+ )
+ (br $label$43
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (block $label$50
+ (br_if $label$50
+ (i32.eqz
+ (i32.load offset=44
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (br_if $label$50
+ (i32.le_u
+ (i32.load offset=20
+ (local.get $2)
+ )
+ (local.get $3)
+ )
+ )
+ (br $folding-inner2)
+ )
+ (br_if $label$8
+ (i32.eqz
+ (local.get $4)
+ )
+ )
+ (local.set $3
+ (i32.load offset=4
+ (local.get $2)
+ )
+ )
+ )
+ (br_if $label$7
+ (i32.eq
+ (local.get $3)
+ (i32.const 103)
+ )
+ )
+ (br $label$6)
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.const 103)
+ )
+ )
+ (if
+ (i32.load offset=44
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ (block
+ (block $label$52
+ (br_if $label$52
+ (i32.le_u
+ (i32.add
+ (i32.load offset=20
+ (local.get $2)
+ )
+ (i32.const 2)
+ )
+ (i32.load offset=12
+ (local.get $2)
+ )
+ )
+ )
+ (br_if $label$52
+ (i32.eqz
+ (select
+ (local.tee $3
+ (i32.load offset=16
+ (local.get $0)
+ )
+ )
+ (local.tee $4
+ (i32.load offset=20
+ (local.tee $7
+ (i32.load offset=28
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $4)
+ (local.get $3)
+ )
+ )
+ )
+ )
+ (br $folding-inner5)
+ )
+ (br_if $label$6
+ (i32.gt_u
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.load offset=12
+ (local.get $2)
+ )
+ )
+ )
+ (local.set $6
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.get $4)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (i32.load offset=8
+ (local.get $2)
+ )
+ (local.get $4)
+ )
+ (local.get $6)
+ )
+ (local.set $4
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $6
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $6)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
+ (local.get $4)
+ (i32.const 8)
+ )
+ )
+ (unreachable)
+ )
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.const 113)
+ )
+ )
+ (block $label$53
+ (if
+ (i32.load offset=20
+ (local.get $2)
+ )
+ (block
+ (if
+ (select
+ (local.tee $4
+ (i32.load offset=16
+ (local.get $0)
+ )
+ )
+ (local.tee $3
+ (i32.load offset=20
+ (local.tee $7
+ (i32.load offset=28
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $3)
+ (local.get $4)
+ )
+ )
+ (br $folding-inner5)
+ )
+ (br_if $label$53
+ (local.get $4)
+ )
+ (br $folding-inner1)
+ )
+ )
+ (br_if $label$53
+ (i32.eq
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (br_if $label$53
+ (i32.lt_s
+ (local.get $14)
+ (local.get $1)
+ )
+ )
+ (br_if $label$53
+ (i32.load offset=4
+ (local.get $0)
+ )
+ )
+ (br $folding-inner0)
+ )
+ (local.set $3
+ (i32.load offset=4
+ (local.get $0)
+ )
+ )
+ (block $label$56
+ (block $label$57
+ (block $label$58
+ (if
+ (i32.eq
+ (local.tee $4
+ (i32.load offset=4
+ (local.get $2)
+ )
+ )
+ (i32.const 666)
+ )
+ (block
+ (br_if $label$58
+ (i32.eqz
+ (local.get $3)
+ )
+ )
+ (br $folding-inner0)
+ )
+ )
+ (br_if $label$57
+ (local.get $3)
+ )
+ )
+ (br_if $label$57
+ (i32.ne
+ (i32.or
+ (i32.eqz
+ (local.get $1)
+ )
+ (i32.eq
+ (local.get $4)
+ (i32.const 666)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (br_if $label$56
+ (i32.eqz
+ (i32.load offset=116
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (if
+ (block (result i32)
+ (block $label$63
+ (if
+ (i32.ne
+ (local.tee $3
+ (i32.load offset=136
+ (local.get $2)
+ )
+ )
+ (i32.const 3)
+ )
+ (block
+ (br_if $label$63
+ (i32.ne
+ (local.get $3)
+ (i32.const 2)
+ )
+ )
+ (local.set $9
+ (i32.add
+ (local.tee $12
+ (local.tee $11
+ (local.tee $10
+ (local.tee $3
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (i32.const 5792)
+ )
+ )
+ (local.set $8
+ (i32.add
+ (local.get $2)
+ (i32.const 5796)
+ )
+ )
+ (local.set $13
+ (i32.add
+ (local.get $2)
+ (i32.const 5784)
+ )
+ )
+ (local.set $4
+ (i32.add
+ (local.get $2)
+ (i32.const 5788)
+ )
+ )
+ (loop $label$66
+ (if
+ (i32.eqz
+ (i32.load offset=116
+ (local.get $3)
+ )
+ )
+ (unreachable)
+ )
+ (i32.store offset=96
+ (local.get $10)
+ (i32.const 0)
+ )
+ (local.set $6
+ (i32.load8_u
+ (i32.add
+ (i32.load offset=56
+ (local.get $12)
+ )
+ (i32.load offset=108
+ (local.get $11)
+ )
+ )
+ )
+ )
+ (i32.store16
+ (i32.add
+ (i32.load
+ (local.get $8)
+ )
+ (i32.shl
+ (local.tee $7
+ (i32.load
+ (local.get $9)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $9)
+ (i32.add
+ (local.get $7)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $7)
+ (i32.load
+ (local.get $13)
+ )
+ )
+ (local.get $6)
+ )
+ (i32.store16 offset=148
+ (local.tee $5
+ (i32.add
+ (local.get $12)
+ (i32.shl
+ (local.get $6)
+ (i32.const 2)
+ )
+ )
+ )
+ (i32.add
+ (i32.load16_u offset=148
+ (local.get $5)
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store offset=116
+ (local.get $3)
+ (i32.add
+ (i32.load offset=116
+ (local.get $3)
+ )
+ (i32.const -1)
+ )
+ )
+ (i32.store offset=108
+ (local.get $11)
+ (i32.add
+ (i32.load offset=108
+ (local.get $11)
+ )
+ (i32.const 1)
+ )
+ )
+ (br_if $label$66
+ (i32.ne
+ (i32.load
+ (local.get $9)
+ )
+ (i32.add
+ (i32.load
+ (local.get $4)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ )
+ (drop
+ (if (result i32)
+ (i32.ge_s
+ (local.tee $5
+ (i32.load offset=92
+ (local.get $12)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.add
+ (i32.load offset=56
+ (local.get $12)
+ )
+ (local.get $5)
+ )
+ (i32.const 0)
+ )
+ )
+ (unreachable)
+ )
+ )
+ (local.set $9
+ (i32.add
+ (local.tee $3
+ (local.tee $12
+ (local.tee $11
+ (local.get $2)
+ )
+ )
+ )
+ (i32.const 5792)
+ )
+ )
+ (local.set $4
+ (i32.add
+ (local.get $2)
+ (i32.const 5796)
+ )
+ )
+ (local.set $14
+ (i32.add
+ (local.get $2)
+ (i32.const 5784)
+ )
+ )
+ (local.set $1
+ (i32.add
+ (local.get $2)
+ (i32.const 5788)
+ )
+ )
+ (loop $label$72
+ (block $label$75
+ (if
+ (i32.ge_u
+ (local.tee $6
+ (i32.load offset=116
+ (local.get $11)
+ )
+ )
+ (i32.const 258)
+ )
+ (block
+ (i32.store offset=96
+ (local.get $12)
+ (i32.const 0)
+ )
+ (br $label$75)
+ )
+ )
+ (unreachable)
+ )
+ (block $label$73
+ (block $label$74
+ (if
+ (i32.eqz
+ (local.tee $7
+ (i32.load offset=108
+ (local.get $3)
+ )
+ )
+ )
+ (block
+ (local.set $7
+ (i32.const 0)
+ )
+ (br $label$74)
+ )
+ )
+ (br_if $label$74
+ (i32.ne
+ (local.tee $5
+ (i32.load8_u
+ (i32.add
+ (local.tee $2
+ (i32.add
+ (i32.load offset=56
+ (local.get $3)
+ )
+ (local.get $7)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (i32.load8_u
+ (local.get $2)
+ )
+ )
+ )
+ (br_if $label$74
+ (i32.ne
+ (local.get $5)
+ (i32.load8_u offset=1
+ (local.get $2)
+ )
+ )
+ )
+ (br_if $label$74
+ (i32.ne
+ (local.get $5)
+ (i32.load8_u offset=2
+ (local.get $2)
+ )
+ )
+ )
+ (local.set $0
+ (i32.add
+ (local.get $2)
+ (i32.const 258)
+ )
+ )
+ (local.set $10
+ (i32.const 1)
+ )
+ (block $label$83
+ (block $label$84
+ (block $label$85
+ (block $label$86
+ (block $label$87
+ (block $label$88
+ (loop $label$90
+ (if
+ (i32.eq
+ (i32.load8_u offset=2
+ (local.tee $8
+ (i32.add
+ (local.get $2)
+ (local.get $10)
+ )
+ )
+ )
+ (local.get $5)
+ )
+ (block
+ (br_if $label$88
+ (i32.ne
+ (local.get $5)
+ (i32.load8_u offset=3
+ (local.get $8)
+ )
+ )
+ )
+ (br_if $label$87
+ (i32.ne
+ (local.get $5)
+ (i32.load8_u offset=4
+ (local.get $8)
+ )
+ )
+ )
+ (br_if $label$86
+ (i32.ne
+ (local.get $5)
+ (i32.load8_u offset=5
+ (local.get $8)
+ )
+ )
+ )
+ (br_if $label$85
+ (i32.ne
+ (local.get $5)
+ (i32.load8_u offset=6
+ (local.get $8)
+ )
+ )
+ )
+ (br_if $label$84
+ (i32.ne
+ (local.get $5)
+ (i32.load8_u offset=7
+ (local.get $8)
+ )
+ )
+ )
+ (br_if $label$83
+ (i32.ne
+ (local.get $5)
+ (i32.load8_u
+ (local.tee $8
+ (i32.add
+ (local.get $2)
+ (local.tee $13
+ (i32.add
+ (local.get $10)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.set $8
+ (i32.add
+ (local.get $2)
+ (local.tee $10
+ (i32.add
+ (local.get $10)
+ (i32.const 9)
+ )
+ )
+ )
+ )
+ (br_if $label$83
+ (i32.gt_u
+ (local.get $10)
+ (i32.const 257)
+ )
+ )
+ (local.set $10
+ (local.get $13)
+ )
+ (br_if $label$90
+ (i32.eq
+ (local.get $5)
+ (i32.load8_u
+ (local.get $8)
+ )
+ )
+ )
+ (br $label$83)
+ )
+ )
+ )
+ (local.set $8
+ (i32.add
+ (local.get $8)
+ (i32.const 2)
+ )
+ )
+ (br $label$83)
+ )
+ (local.set $8
+ (i32.add
+ (local.get $8)
+ (i32.const 3)
+ )
+ )
+ (br $label$83)
+ )
+ (local.set $8
+ (i32.add
+ (local.get $8)
+ (i32.const 4)
+ )
+ )
+ (br $label$83)
+ )
+ (local.set $8
+ (i32.add
+ (local.get $8)
+ (i32.const 5)
+ )
+ )
+ (br $label$83)
+ )
+ (local.set $8
+ (i32.add
+ (local.get $8)
+ (i32.const 6)
+ )
+ )
+ (br $label$83)
+ )
+ (local.set $8
+ (i32.add
+ (local.get $8)
+ (i32.const 7)
+ )
+ )
+ )
+ (i32.store offset=96
+ (local.get $12)
+ (local.tee $6
+ (select
+ (local.get $6)
+ (local.tee $5
+ (i32.add
+ (i32.sub
+ (local.get $8)
+ (local.get $0)
+ )
+ (i32.const 258)
+ )
+ )
+ (i32.gt_u
+ (local.get $5)
+ (local.get $6)
+ )
+ )
+ )
+ )
+ (br_if $label$74
+ (i32.lt_u
+ (local.get $6)
+ (i32.const 3)
+ )
+ )
+ (i32.store16
+ (i32.add
+ (i32.load
+ (local.get $4)
+ )
+ (i32.shl
+ (local.tee $7
+ (i32.load
+ (local.get $9)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.store
+ (local.get $9)
+ (i32.add
+ (local.get $7)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $7)
+ (i32.load
+ (local.get $14)
+ )
+ )
+ (local.tee $6
+ (i32.add
+ (local.get $6)
+ (i32.const -3)
+ )
+ )
+ )
+ (i32.store16 offset=152
+ (local.tee $5
+ (i32.add
+ (local.get $3)
+ (i32.or
+ (i32.shl
+ (i32.load8_u
+ (i32.add
+ (i32.and
+ (local.get $6)
+ (i32.const 255)
+ )
+ (i32.const 13488)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 1024)
+ )
+ )
+ )
+ (i32.add
+ (i32.load16_u offset=152
+ (local.get $5)
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store16
+ (local.tee $6
+ (i32.add
+ (i32.add
+ (local.get $3)
+ (i32.shl
+ (i32.load8_u
+ (i32.const 12976)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.const 2440)
+ )
+ )
+ (i32.add
+ (i32.load16_u
+ (local.get $6)
+ )
+ (i32.const 1)
+ )
+ )
+ (local.set $6
+ (i32.load offset=96
+ (local.get $12)
+ )
+ )
+ (i32.store offset=96
+ (local.get $12)
+ (i32.const 0)
+ )
+ (i32.store offset=116
+ (local.get $11)
+ (i32.sub
+ (i32.load offset=116
+ (local.get $11)
+ )
+ (local.get $6)
+ )
+ )
+ (i32.store offset=108
+ (local.get $3)
+ (i32.add
+ (local.get $6)
+ (i32.load offset=108
+ (local.get $3)
+ )
+ )
+ )
+ (br $label$73)
+ )
+ (local.set $6
+ (i32.load8_u
+ (i32.add
+ (i32.load offset=56
+ (local.get $3)
+ )
+ (local.get $7)
+ )
+ )
+ )
+ (i32.store16
+ (i32.add
+ (i32.load
+ (local.get $4)
+ )
+ (i32.shl
+ (local.tee $7
+ (i32.load
+ (local.get $9)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $9)
+ (i32.add
+ (local.get $7)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $7)
+ (i32.load
+ (local.get $14)
+ )
+ )
+ (local.get $6)
+ )
+ (i32.store16 offset=148
+ (local.tee $5
+ (i32.add
+ (local.get $3)
+ (i32.shl
+ (local.get $6)
+ (i32.const 2)
+ )
+ )
+ )
+ (i32.add
+ (i32.load16_u offset=148
+ (local.get $5)
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store offset=116
+ (local.get $11)
+ (i32.add
+ (i32.load offset=116
+ (local.get $11)
+ )
+ (i32.const -1)
+ )
+ )
+ (i32.store offset=108
+ (local.get $3)
+ (i32.add
+ (i32.load offset=108
+ (local.get $3)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (br_if $label$72
+ (i32.ne
+ (i32.load
+ (local.get $9)
+ )
+ (i32.add
+ (i32.load
+ (local.get $1)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ )
+ (drop
+ (if (result i32)
+ (i32.ge_s
+ (local.tee $5
+ (i32.load offset=92
+ (local.get $3)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.add
+ (i32.load offset=56
+ (local.get $3)
+ )
+ (local.get $5)
+ )
+ (i32.const 0)
+ )
+ )
+ (unreachable)
+ )
+ (i32.eq
+ (i32.or
+ (local.tee $3
+ (call_indirect (type $2)
+ (local.get $2)
+ (local.get $1)
+ (i32.load
+ (i32.add
+ (i32.mul
+ (i32.load offset=132
+ (local.get $2)
+ )
+ (i32.const 12)
+ )
+ (i32.const 9832)
+ )
+ )
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.const 666)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (local.get $3)
+ (i32.const -3)
+ )
+ )
+ (block
+ (local.set $3
+ (i32.const 0)
+ )
+ (br_if $label$1
+ (i32.load offset=16
+ (local.get $0)
+ )
+ )
+ (br $folding-inner1)
+ )
+ )
+ (br_if $label$56
+ (i32.ne
+ (local.get $3)
+ (i32.const 1)
+ )
+ )
+ (if
+ (i32.ne
+ (local.get $1)
+ (i32.const 5)
+ )
+ (block
+ (if
+ (i32.eq
+ (local.get $1)
+ (i32.const 1)
+ )
+ (unreachable)
+ )
+ (unreachable)
+ )
+ )
+ (if
+ (select
+ (local.tee $4
+ (i32.load offset=16
+ (local.get $0)
+ )
+ )
+ (local.tee $3
+ (i32.load offset=20
+ (local.tee $7
+ (i32.load offset=28
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $3)
+ (local.get $4)
+ )
+ )
+ (br $folding-inner5)
+ )
+ (br_if $label$56
+ (local.get $4)
+ )
+ (br $folding-inner1)
+ )
+ (local.set $3
+ (i32.const 0)
+ )
+ (br_if $label$1
+ (i32.ne
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (local.set $3
+ (i32.const 1)
+ )
+ (br_if $label$1
+ (i32.lt_s
+ (local.tee $1
+ (i32.load offset=24
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (local.set $4
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store8
+ (block $label$97 (result i32)
+ (if
+ (i32.eq
+ (local.get $1)
+ (i32.const 2)
+ )
+ (block
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (local.get $4)
+ )
+ (local.set $1
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ (local.set $1
+ (i32.load16_u offset=50
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (local.get $1)
+ )
+ (local.set $1
+ (i32.load8_u offset=51
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (local.get $1)
+ )
+ (local.set $1
+ (i32.load offset=8
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (local.get $1)
+ )
+ (local.set $1
+ (i32.load offset=8
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ (local.set $1
+ (i32.load16_u offset=10
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (local.get $1)
+ )
+ (local.set $1
+ (i32.load8_u offset=11
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (br $label$97
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ )
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
+ (local.get $4)
+ (i32.const 24)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
+ (local.get $4)
+ (i32.const 16)
+ )
+ )
+ (local.set $1
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ )
+ (local.get $1)
+ )
+ (if
+ (select
+ (local.tee $3
+ (i32.load offset=16
+ (local.get $0)
+ )
+ )
+ (local.tee $1
+ (i32.load offset=20
+ (local.tee $9
+ (i32.load offset=28
+ (local.tee $5
+ (local.get $0)
+ )
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $1)
+ (local.get $3)
+ )
+ )
+ (block
+ (drop
+ (i32.load offset=12
+ (local.get $5)
+ )
+ )
+ (drop
+ (i32.load offset=16
+ (local.get $9)
+ )
+ )
+ (unreachable)
+ )
+ )
+ (if
+ (i32.ge_s
+ (local.tee $3
+ (i32.load offset=24
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.store offset=24
+ (local.get $2)
+ (i32.sub
+ (i32.const 0)
+ (local.get $3)
+ )
+ )
+ )
+ (local.set $3
+ (i32.eqz
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (return
+ (local.get $3)
+ )
+ )
+ (i32.store offset=24
+ (local.get $0)
+ (i32.load
+ (i32.const 15804)
+ )
+ )
+ (return
+ (i32.const -5)
+ )
+ )
+ (i32.store offset=40
+ (local.get $2)
+ (i32.const -1)
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ (drop
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (drop
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (unreachable)
+ )
+ (drop
+ (i32.load offset=48
+ (local.get $13)
+ )
+ )
+ (drop
+ (i32.load offset=8
+ (local.get $10)
+ )
+ )
+ (unreachable)
+ )
+ (drop
+ (i32.load offset=12
+ (local.get $0)
+ )
+ )
+ (drop
+ (i32.load offset=16
+ (local.get $5)
+ )
+ )
+ (unreachable)
+ )
+ (drop
+ (i32.load offset=12
+ (local.get $0)
+ )
+ )
+ (drop
+ (i32.load offset=16
+ (local.get $7)
+ )
+ )
+ (unreachable)
+ )
+)
diff --git a/test/passes/O3_low-memory-unused_metrics.wast b/test/passes/O3_low-memory-unused_metrics.wast
new file mode 100644
index 000000000..e7d2d1ef6
--- /dev/null
+++ b/test/passes/O3_low-memory-unused_metrics.wast
@@ -0,0 +1,5466 @@
+;; deflate from zlib using wasm backend, before any byn opts
+(module
+ (type $0 (func (param i32 i32 i32) (result i32)))
+ (type $1 (func (param i32 i32)))
+ (type $2 (func (param i32 i32) (result i32)))
+ (type $3 (func (param i32)))
+ (type $4 (func (param i32) (result i32)))
+ (type $5 (func))
+ (type $6 (func (param i32 i32 i32 i32)))
+ (type $7 (func (param i32 i32 i32 i32) (result i32)))
+ (type $8 (func (param i32 i32 i32 i32 i32 i32 i32 i32) (result i32)))
+ (type $9 (func (param i32 i32 i32 i32 i32 i32) (result i32)))
+ (type $10 (func (param i32 i32 i32)))
+ (type $11 (func (result i32)))
+ (type $12 (func (param i64 i64) (result i32)))
+ (type $13 (func (param i32 i64 i64 i32)))
+ (type $14 (func (param i32 i32 i32 i32 i32) (result i32)))
+ (type $15 (func (param i32 i64 i64 i32 i32 i32 i32) (result i32)))
+ (type $16 (func (param i64 i32) (result i32)))
+ (type $17 (func (param i64 i32 i32) (result i32)))
+ (type $18 (func (param i32 i32 i32 i32 i32)))
+ (type $19 (func (param i32 i64 i64 i64 i64)))
+ (type $20 (func (param i64 i64 i64 i64) (result i32)))
+ (type $21 (func (param i32 f64)))
+ (import "env" "memory" (memory $7 256 256))
+ (import "env" "__indirect_function_table" (table $timport$8 10 funcref))
+ (import "env" "exit" (func $exit (param i32)))
+ (import "env" "__syscall140" (func $__syscall140 (param i32 i32) (result i32)))
+ (import "env" "__syscall6" (func $__syscall6 (param i32 i32) (result i32)))
+ (import "env" "__syscall54" (func $__syscall54 (param i32 i32) (result i32)))
+ (import "env" "__syscall146" (func $__syscall146 (param i32 i32) (result i32)))
+ (import "env" "sbrk" (func $sbrk (param i32) (result i32)))
+ (import "env" "emscripten_memcpy_big" (func $emscripten_memcpy_big (param i32 i32 i32) (result i32)))
+ (global $global$0 (mut i32) (i32.const 5261440))
+ (global $global$1 i32 (i32.const 5261440))
+ (global $global$2 i32 (i32.const 18560))
+ (export "deflate" (func $deflate))
+ (func $__wasm_call_ctors (; 7 ;) (type $5)
+ (unreachable)
+ )
+ (func $test_compress (; 8 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
+ (unreachable)
+ )
+ (func $test_deflate (; 9 ;) (type $1) (param $0 i32) (param $1 i32)
+ (unreachable)
+ )
+ (func $test_inflate (; 10 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
+ (unreachable)
+ )
+ (func $test_large_deflate (; 11 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
+ (unreachable)
+ )
+ (func $test_large_inflate (; 12 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
+ (unreachable)
+ )
+ (func $test_flush (; 13 ;) (type $1) (param $0 i32) (param $1 i32)
+ (unreachable)
+ )
+ (func $test_sync (; 14 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
+ (unreachable)
+ )
+ (func $test_dict_deflate (; 15 ;) (type $1) (param $0 i32) (param $1 i32)
+ (unreachable)
+ )
+ (func $test_dict_inflate (; 16 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
+ (unreachable)
+ )
+ (func $main (; 17 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
+ (unreachable)
+ )
+ (func $compress (; 18 ;) (type $7) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ (unreachable)
+ )
+ (func $crc32 (; 19 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $adler32 (; 20 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $deflateInit_ (; 21 ;) (type $7) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ (unreachable)
+ )
+ (func $deflateInit2_ (; 22 ;) (type $8) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (result i32)
+ (unreachable)
+ )
+ (func $deflateEnd (; 23 ;) (type $4) (param $0 i32) (result i32)
+ (unreachable)
+ )
+ (func $deflateReset (; 24 ;) (type $4) (param $0 i32) (result i32)
+ (unreachable)
+ )
+ (func $deflateSetDictionary (; 25 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $deflateParams (; 26 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $deflate (; 27 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
+ (local $2 i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local $6 i32)
+ (local $7 i32)
+ (local $8 i32)
+ (local $9 i32)
+ (local $10 i32)
+ (local $11 i32)
+ (local $12 i32)
+ (local $13 i32)
+ (local $14 i32)
+ (local $15 i32)
+ (local $16 i32)
+ (local $17 i32)
+ (local $18 i32)
+ (local $19 i32)
+ (local.set $2
+ (i32.const -2)
+ )
+ (block $label$1
+ (br_if $label$1
+ (i32.eqz
+ (local.get $0)
+ )
+ )
+ (br_if $label$1
+ (i32.gt_u
+ (local.get $1)
+ (i32.const 5)
+ )
+ )
+ (br_if $label$1
+ (i32.eqz
+ (local.tee $3
+ (i32.load offset=28
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (block $label$2
+ (block $label$3
+ (br_if $label$3
+ (i32.eqz
+ (i32.load offset=12
+ (local.get $0)
+ )
+ )
+ )
+ (block $label$4
+ (br_if $label$4
+ (i32.load
+ (local.get $0)
+ )
+ )
+ (br_if $label$3
+ (i32.load offset=4
+ (local.get $0)
+ )
+ )
+ )
+ (local.set $2
+ (i32.load offset=4
+ (local.get $3)
+ )
+ )
+ (br_if $label$2
+ (i32.eq
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (br_if $label$2
+ (i32.ne
+ (local.get $2)
+ (i32.const 666)
+ )
+ )
+ )
+ (i32.store offset=24
+ (local.get $0)
+ (i32.load offset=15792
+ (i32.const 0)
+ )
+ )
+ (return
+ (i32.const -2)
+ )
+ )
+ (block $label$5
+ (br_if $label$5
+ (i32.load offset=16
+ (local.get $0)
+ )
+ )
+ (i32.store offset=24
+ (local.get $0)
+ (i32.load offset=15804
+ (i32.const 0)
+ )
+ )
+ (return
+ (i32.const -5)
+ )
+ )
+ (i32.store
+ (local.get $3)
+ (local.get $0)
+ )
+ (local.set $4
+ (i32.load offset=40
+ (local.get $3)
+ )
+ )
+ (i32.store offset=40
+ (local.get $3)
+ (local.get $1)
+ )
+ (block $label$6
+ (block $label$7
+ (block $label$8
+ (block $label$9
+ (block $label$10
+ (block $label$11
+ (block $label$12
+ (block $label$13
+ (block $label$14
+ (block $label$15
+ (block $label$16
+ (block $label$17
+ (br_if $label$17
+ (i32.ne
+ (local.get $2)
+ (i32.const 42)
+ )
+ )
+ (block $label$18
+ (br_if $label$18
+ (i32.ne
+ (i32.load offset=24
+ (local.get $3)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.store offset=48
+ (local.get $0)
+ (call $crc32
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $3)
+ (i32.add
+ (local.tee $2
+ (i32.load offset=20
+ (local.get $3)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $2)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ (i32.const 31)
+ )
+ (i32.store offset=20
+ (local.get $3)
+ (i32.add
+ (local.tee $2
+ (i32.load offset=20
+ (local.get $3)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $2)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ (i32.const 139)
+ )
+ (i32.store offset=20
+ (local.get $3)
+ (i32.add
+ (local.tee $2
+ (i32.load offset=20
+ (local.get $3)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $2)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ (i32.const 8)
+ )
+ (block $label$19
+ (br_if $label$19
+ (local.tee $2
+ (i32.load offset=28
+ (local.get $3)
+ )
+ )
+ )
+ (i32.store
+ (local.tee $2
+ (i32.add
+ (local.get $3)
+ (i32.const 20)
+ )
+ )
+ (i32.add
+ (local.tee $5
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $5)
+ (i32.load
+ (local.tee $6
+ (i32.add
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $5
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $5)
+ (i32.load
+ (local.get $6)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $5
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $5)
+ (i32.load
+ (local.get $6)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $5
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $5)
+ (i32.load
+ (local.get $6)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $5
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $5)
+ (i32.load
+ (local.get $6)
+ )
+ )
+ (i32.const 0)
+ )
+ (local.set $6
+ (i32.const 2)
+ )
+ (block $label$20
+ (br_if $label$20
+ (i32.eq
+ (local.tee $5
+ (i32.load offset=132
+ (local.get $3)
+ )
+ )
+ (i32.const 9)
+ )
+ )
+ (local.set $6
+ (select
+ (i32.const 4)
+ (i32.shl
+ (i32.gt_s
+ (i32.load offset=136
+ (local.get $3)
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ (i32.lt_s
+ (local.get $5)
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $5
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $5)
+ (i32.load
+ (local.tee $7
+ (i32.add
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (local.get $6)
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $6
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $6)
+ (i32.load
+ (local.get $7)
+ )
+ )
+ (i32.const 3)
+ )
+ (i32.store
+ (i32.add
+ (local.get $3)
+ (i32.const 4)
+ )
+ (i32.const 113)
+ )
+ (br $label$6)
+ )
+ (local.set $6
+ (i32.load offset=36
+ (local.get $2)
+ )
+ )
+ (local.set $8
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ (local.set $9
+ (i32.load offset=16
+ (local.get $2)
+ )
+ )
+ (local.set $10
+ (i32.load offset=44
+ (local.get $2)
+ )
+ )
+ (local.set $11
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.tee $2
+ (i32.add
+ (local.get $3)
+ (i32.const 20)
+ )
+ )
+ (i32.add
+ (local.tee $12
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (local.set $7
+ (i32.const 2)
+ )
+ (i32.store8
+ (i32.add
+ (local.get $12)
+ (i32.load
+ (local.tee $5
+ (i32.add
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.or
+ (i32.or
+ (i32.or
+ (i32.or
+ (i32.shl
+ (i32.ne
+ (local.get $10)
+ (i32.const 0)
+ )
+ (i32.const 1)
+ )
+ (i32.ne
+ (local.get $11)
+ (i32.const 0)
+ )
+ )
+ (i32.shl
+ (i32.ne
+ (local.get $9)
+ (i32.const 0)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.shl
+ (i32.ne
+ (local.get $8)
+ (i32.const 0)
+ )
+ (i32.const 3)
+ )
+ )
+ (i32.shl
+ (i32.ne
+ (local.get $6)
+ (i32.const 0)
+ )
+ (i32.const 4)
+ )
+ )
+ )
+ (local.set $8
+ (i32.load offset=4
+ (i32.load
+ (local.tee $6
+ (i32.add
+ (local.get $3)
+ (i32.const 28)
+ )
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $9
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $9)
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (local.get $8)
+ )
+ (local.set $8
+ (i32.load offset=4
+ (i32.load
+ (local.get $6)
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $9
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $9)
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (i32.shr_u
+ (local.get $8)
+ (i32.const 8)
+ )
+ )
+ (local.set $8
+ (i32.load16_u
+ (i32.add
+ (i32.load
+ (local.get $6)
+ )
+ (i32.const 6)
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $9
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $9)
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (local.get $8)
+ )
+ (local.set $8
+ (i32.load8_u
+ (i32.add
+ (i32.load
+ (local.get $6)
+ )
+ (i32.const 7)
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $9
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $9)
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (local.get $8)
+ )
+ (block $label$21
+ (br_if $label$21
+ (i32.eq
+ (local.tee $5
+ (i32.load offset=132
+ (local.get $3)
+ )
+ )
+ (i32.const 9)
+ )
+ )
+ (local.set $7
+ (select
+ (i32.const 4)
+ (i32.shl
+ (i32.gt_s
+ (i32.load offset=136
+ (local.get $3)
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ (i32.lt_s
+ (local.get $5)
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $8
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $8)
+ (i32.load
+ (local.tee $5
+ (i32.add
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (local.get $7)
+ )
+ (local.set $7
+ (i32.load offset=12
+ (i32.load
+ (local.get $6)
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $8
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $8)
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (local.get $7)
+ )
+ (block $label$22
+ (br_if $label$22
+ (i32.eqz
+ (i32.load offset=16
+ (local.tee $2
+ (i32.load
+ (local.get $6)
+ )
+ )
+ )
+ )
+ )
+ (local.set $6
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.tee $2
+ (i32.add
+ (local.get $3)
+ (i32.const 20)
+ )
+ )
+ (i32.add
+ (local.tee $7
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $7)
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (local.get $6)
+ )
+ (local.set $7
+ (i32.load offset=20
+ (i32.load
+ (local.tee $6
+ (i32.add
+ (local.get $3)
+ (i32.const 28)
+ )
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $8
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $8)
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (i32.shr_u
+ (local.get $7)
+ (i32.const 8)
+ )
+ )
+ (local.set $2
+ (i32.load
+ (local.get $6)
+ )
+ )
+ )
+ (block $label$23
+ (br_if $label$23
+ (i32.eqz
+ (i32.load offset=44
+ (local.get $2)
+ )
+ )
+ )
+ (i32.store
+ (local.tee $2
+ (i32.add
+ (local.get $0)
+ (i32.const 48)
+ )
+ )
+ (call $crc32
+ (i32.load
+ (local.get $2)
+ )
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ )
+ (i32.store offset=32
+ (local.get $3)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.add
+ (local.get $3)
+ (i32.const 4)
+ )
+ (i32.const 69)
+ )
+ (br $label$16)
+ )
+ (local.set $6
+ (i32.add
+ (i32.shl
+ (i32.load offset=48
+ (local.get $3)
+ )
+ (i32.const 12)
+ )
+ (i32.const -30720)
+ )
+ )
+ (local.set $2
+ (i32.const 0)
+ )
+ (block $label$24
+ (br_if $label$24
+ (i32.gt_s
+ (i32.load offset=136
+ (local.get $3)
+ )
+ (i32.const 1)
+ )
+ )
+ (br_if $label$24
+ (i32.lt_s
+ (local.tee $5
+ (i32.load offset=132
+ (local.get $3)
+ )
+ )
+ (i32.const 2)
+ )
+ )
+ (local.set $2
+ (i32.const 64)
+ )
+ (br_if $label$24
+ (i32.lt_s
+ (local.get $5)
+ (i32.const 6)
+ )
+ )
+ (local.set $2
+ (select
+ (i32.const 128)
+ (i32.const 192)
+ (i32.eq
+ (local.get $5)
+ (i32.const 6)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.tee $5
+ (i32.add
+ (local.get $3)
+ (i32.const 4)
+ )
+ )
+ (i32.const 113)
+ )
+ (i32.store offset=20
+ (local.get $3)
+ (i32.add
+ (local.tee $7
+ (i32.load offset=20
+ (local.get $3)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $7)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ (i32.shr_u
+ (local.tee $2
+ (select
+ (i32.or
+ (local.tee $2
+ (i32.or
+ (local.get $2)
+ (local.get $6)
+ )
+ )
+ (i32.const 32)
+ )
+ (local.get $2)
+ (i32.load offset=108
+ (local.get $3)
+ )
+ )
+ )
+ (i32.const 8)
+ )
+ )
+ (i32.store offset=20
+ (local.get $3)
+ (i32.add
+ (local.tee $6
+ (i32.load offset=20
+ (local.get $3)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $6)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ (i32.xor
+ (i32.or
+ (i32.rem_u
+ (local.get $2)
+ (i32.const 31)
+ )
+ (local.get $2)
+ )
+ (i32.const 31)
+ )
+ )
+ (block $label$25
+ (br_if $label$25
+ (i32.eqz
+ (i32.load offset=108
+ (local.get $3)
+ )
+ )
+ )
+ (local.set $7
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store
+ (local.tee $2
+ (i32.add
+ (local.get $3)
+ (i32.const 20)
+ )
+ )
+ (i32.add
+ (local.tee $8
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $8)
+ (i32.load
+ (local.tee $6
+ (i32.add
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (i32.shr_u
+ (local.get $7)
+ (i32.const 24)
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $8
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $8)
+ (i32.load
+ (local.get $6)
+ )
+ )
+ (i32.shr_u
+ (local.get $7)
+ (i32.const 16)
+ )
+ )
+ (local.set $7
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $8
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $8)
+ (i32.load
+ (local.get $6)
+ )
+ )
+ (i32.shr_u
+ (local.get $7)
+ (i32.const 8)
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $8
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $8)
+ (i32.load
+ (local.get $6)
+ )
+ )
+ (local.get $7)
+ )
+ )
+ (i32.store offset=48
+ (local.get $0)
+ (call $adler32
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 0)
+ )
+ )
+ (local.set $2
+ (i32.load
+ (local.get $5)
+ )
+ )
+ )
+ (br_if $label$15
+ (i32.ne
+ (local.get $2)
+ (i32.const 69)
+ )
+ )
+ )
+ (block $label$26
+ (block $label$27
+ (br_if $label$27
+ (i32.eqz
+ (i32.load offset=16
+ (local.tee $6
+ (i32.load offset=28
+ (local.get $3)
+ )
+ )
+ )
+ )
+ )
+ (local.set $2
+ (i32.load offset=20
+ (local.get $3)
+ )
+ )
+ (br_if $label$26
+ (i32.ge_u
+ (local.tee $5
+ (i32.load offset=32
+ (local.get $3)
+ )
+ )
+ (i32.load16_u offset=20
+ (local.get $6)
+ )
+ )
+ )
+ (local.set $10
+ (i32.add
+ (local.get $3)
+ (i32.const 12)
+ )
+ )
+ (local.set $11
+ (i32.add
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ (local.set $13
+ (i32.add
+ (local.get $0)
+ (i32.const 48)
+ )
+ )
+ (local.set $12
+ (i32.add
+ (local.get $0)
+ (i32.const 16)
+ )
+ )
+ (local.set $14
+ (i32.add
+ (local.get $0)
+ (i32.const 28)
+ )
+ )
+ (local.set $8
+ (i32.add
+ (local.get $3)
+ (i32.const 20)
+ )
+ )
+ (local.set $7
+ (i32.add
+ (local.get $3)
+ (i32.const 32)
+ )
+ )
+ (local.set $9
+ (local.get $2)
+ )
+ (loop $label$28
+ (block $label$29
+ (br_if $label$29
+ (i32.ne
+ (local.get $2)
+ (i32.load
+ (local.get $10)
+ )
+ )
+ )
+ (block $label$30
+ (br_if $label$30
+ (i32.le_u
+ (local.get $2)
+ (local.get $9)
+ )
+ )
+ (br_if $label$30
+ (i32.eqz
+ (i32.load offset=44
+ (local.get $6)
+ )
+ )
+ )
+ (i32.store
+ (local.get $13)
+ (call $crc32
+ (i32.load
+ (local.get $13)
+ )
+ (i32.add
+ (i32.load
+ (local.get $11)
+ )
+ (local.get $9)
+ )
+ (i32.sub
+ (local.get $2)
+ (local.get $9)
+ )
+ )
+ )
+ )
+ (block $label$31
+ (br_if $label$31
+ (i32.eqz
+ (local.tee $2
+ (select
+ (local.tee $2
+ (i32.load
+ (local.get $12)
+ )
+ )
+ (local.tee $6
+ (i32.load offset=20
+ (local.tee $5
+ (i32.load
+ (local.get $14)
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $6)
+ (local.get $2)
+ )
+ )
+ )
+ )
+ )
+ (drop
+ (call $memcpy
+ (i32.load
+ (local.tee $6
+ (i32.add
+ (local.get $0)
+ (i32.const 12)
+ )
+ )
+ )
+ (i32.load offset=16
+ (local.get $5)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.get $6)
+ (i32.add
+ (i32.load
+ (local.get $6)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store offset=16
+ (local.tee $6
+ (i32.load
+ (local.get $14)
+ )
+ )
+ (i32.add
+ (i32.load offset=16
+ (local.get $6)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.tee $5
+ (i32.add
+ (local.get $0)
+ (i32.const 20)
+ )
+ )
+ (i32.add
+ (i32.load
+ (local.get $5)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.get $12)
+ (i32.sub
+ (i32.load
+ (local.get $12)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store offset=20
+ (local.get $6)
+ (local.tee $2
+ (i32.sub
+ (i32.load offset=20
+ (local.get $6)
+ )
+ (local.get $2)
+ )
+ )
+ )
+ (br_if $label$31
+ (local.get $2)
+ )
+ (i32.store
+ (i32.add
+ (local.get $6)
+ (i32.const 16)
+ )
+ (i32.load offset=8
+ (local.get $6)
+ )
+ )
+ )
+ (local.set $6
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 28)
+ )
+ )
+ )
+ (br_if $label$26
+ (i32.eq
+ (local.tee $2
+ (i32.load
+ (local.get $8)
+ )
+ )
+ (i32.load
+ (local.get $10)
+ )
+ )
+ )
+ (local.set $5
+ (i32.load
+ (local.get $7)
+ )
+ )
+ (local.set $9
+ (local.get $2)
+ )
+ )
+ (local.set $6
+ (i32.load8_u
+ (i32.add
+ (i32.load offset=16
+ (local.get $6)
+ )
+ (local.get $5)
+ )
+ )
+ )
+ (i32.store
+ (local.get $8)
+ (i32.add
+ (local.get $2)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (i32.load
+ (local.get $11)
+ )
+ (local.get $2)
+ )
+ (local.get $6)
+ )
+ (i32.store
+ (local.get $7)
+ (local.tee $5
+ (i32.add
+ (i32.load
+ (local.get $7)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (block $label$32
+ (br_if $label$32
+ (i32.lt_u
+ (local.get $5)
+ (i32.load16_u offset=20
+ (local.tee $6
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 28)
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.set $2
+ (local.get $9)
+ )
+ (br $label$26)
+ )
+ (local.set $2
+ (i32.load
+ (local.get $8)
+ )
+ )
+ (br $label$28)
+ )
+ )
+ (i32.store
+ (i32.add
+ (local.get $3)
+ (i32.const 4)
+ )
+ (i32.const 73)
+ )
+ (br $label$14)
+ )
+ (block $label$33
+ (br_if $label$33
+ (i32.eqz
+ (i32.load offset=44
+ (local.get $6)
+ )
+ )
+ )
+ (br_if $label$33
+ (i32.le_u
+ (local.tee $5
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 20)
+ )
+ )
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store offset=48
+ (local.get $0)
+ (call $crc32
+ (i32.load offset=48
+ (local.get $0)
+ )
+ (i32.add
+ (i32.load offset=8
+ (local.get $3)
+ )
+ (local.get $2)
+ )
+ (i32.sub
+ (local.get $5)
+ (local.get $2)
+ )
+ )
+ )
+ (local.set $6
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 28)
+ )
+ )
+ )
+ )
+ (block $label$34
+ (br_if $label$34
+ (i32.ne
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $3)
+ (i32.const 32)
+ )
+ )
+ )
+ (i32.load offset=20
+ (local.get $6)
+ )
+ )
+ )
+ (i32.store
+ (i32.add
+ (local.get $3)
+ (i32.const 4)
+ )
+ (i32.const 73)
+ )
+ (i32.store
+ (local.get $2)
+ (i32.const 0)
+ )
+ (br $label$14)
+ )
+ (local.set $2
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ (br_if $label$13
+ (i32.ne
+ (local.get $2)
+ (i32.const 73)
+ )
+ )
+ (local.set $6
+ (i32.load offset=28
+ (local.get $3)
+ )
+ )
+ )
+ (br_if $label$11
+ (i32.eqz
+ (i32.load offset=28
+ (local.get $6)
+ )
+ )
+ )
+ (local.set $10
+ (i32.add
+ (local.get $3)
+ (i32.const 12)
+ )
+ )
+ (local.set $11
+ (i32.add
+ (local.get $3)
+ (i32.const 28)
+ )
+ )
+ (local.set $12
+ (i32.add
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ (local.set $13
+ (i32.add
+ (local.get $0)
+ (i32.const 48)
+ )
+ )
+ (local.set $14
+ (i32.add
+ (local.get $0)
+ (i32.const 16)
+ )
+ )
+ (local.set $5
+ (i32.add
+ (local.get $3)
+ (i32.const 20)
+ )
+ )
+ (local.set $7
+ (i32.add
+ (local.get $3)
+ (i32.const 32)
+ )
+ )
+ (local.set $9
+ (local.tee $2
+ (i32.load offset=20
+ (local.get $3)
+ )
+ )
+ )
+ (block $label$35
+ (block $label$36
+ (loop $label$37
+ (block $label$38
+ (br_if $label$38
+ (i32.ne
+ (local.get $2)
+ (i32.load
+ (local.get $10)
+ )
+ )
+ )
+ (block $label$39
+ (br_if $label$39
+ (i32.le_u
+ (local.get $2)
+ (local.get $9)
+ )
+ )
+ (br_if $label$39
+ (i32.eqz
+ (i32.load offset=44
+ (i32.load
+ (local.get $11)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $13)
+ (call $crc32
+ (i32.load
+ (local.get $13)
+ )
+ (i32.add
+ (i32.load
+ (local.get $12)
+ )
+ (local.get $9)
+ )
+ (i32.sub
+ (local.get $2)
+ (local.get $9)
+ )
+ )
+ )
+ )
+ (block $label$40
+ (br_if $label$40
+ (i32.eqz
+ (local.tee $2
+ (select
+ (local.tee $2
+ (i32.load
+ (local.get $14)
+ )
+ )
+ (local.tee $6
+ (i32.load offset=20
+ (local.tee $9
+ (i32.load
+ (local.tee $8
+ (i32.add
+ (local.get $0)
+ (i32.const 28)
+ )
+ )
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $6)
+ (local.get $2)
+ )
+ )
+ )
+ )
+ )
+ (drop
+ (call $memcpy
+ (i32.load
+ (local.tee $6
+ (i32.add
+ (local.get $0)
+ (i32.const 12)
+ )
+ )
+ )
+ (i32.load offset=16
+ (local.get $9)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.get $6)
+ (i32.add
+ (i32.load
+ (local.get $6)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store offset=16
+ (local.tee $6
+ (i32.load
+ (local.get $8)
+ )
+ )
+ (i32.add
+ (i32.load offset=16
+ (local.get $6)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.tee $8
+ (i32.add
+ (local.get $0)
+ (i32.const 20)
+ )
+ )
+ (i32.add
+ (i32.load
+ (local.get $8)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.get $14)
+ (i32.sub
+ (i32.load
+ (local.get $14)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store offset=20
+ (local.get $6)
+ (local.tee $2
+ (i32.sub
+ (i32.load offset=20
+ (local.get $6)
+ )
+ (local.get $2)
+ )
+ )
+ )
+ (br_if $label$40
+ (local.get $2)
+ )
+ (i32.store
+ (i32.add
+ (local.get $6)
+ (i32.const 16)
+ )
+ (i32.load offset=8
+ (local.get $6)
+ )
+ )
+ )
+ (br_if $label$36
+ (i32.eq
+ (local.tee $2
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (i32.load
+ (local.get $10)
+ )
+ )
+ )
+ (local.set $9
+ (local.get $2)
+ )
+ )
+ (local.set $6
+ (i32.load offset=28
+ (i32.load
+ (local.get $11)
+ )
+ )
+ )
+ (i32.store
+ (local.get $7)
+ (i32.add
+ (local.tee $8
+ (i32.load
+ (local.get $7)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (local.set $6
+ (i32.load8_u
+ (i32.add
+ (local.get $6)
+ (local.get $8)
+ )
+ )
+ )
+ (i32.store
+ (local.get $5)
+ (i32.add
+ (local.get $2)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (i32.load
+ (local.get $12)
+ )
+ (local.get $2)
+ )
+ (local.get $6)
+ )
+ (block $label$41
+ (br_if $label$41
+ (local.get $6)
+ )
+ (local.set $6
+ (i32.const 0)
+ )
+ (local.set $2
+ (local.get $9)
+ )
+ (br $label$35)
+ )
+ (local.set $2
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (br $label$37)
+ )
+ )
+ (local.set $6
+ (i32.const 1)
+ )
+ )
+ (block $label$42
+ (br_if $label$42
+ (i32.eqz
+ (i32.load offset=44
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 28)
+ )
+ )
+ )
+ )
+ )
+ (br_if $label$42
+ (i32.le_u
+ (local.tee $5
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 20)
+ )
+ )
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.tee $7
+ (i32.add
+ (local.get $0)
+ (i32.const 48)
+ )
+ )
+ (call $crc32
+ (i32.load
+ (local.get $7)
+ )
+ (i32.add
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ (local.get $2)
+ )
+ (i32.sub
+ (local.get $5)
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (br_if $label$12
+ (i32.eqz
+ (local.get $6)
+ )
+ )
+ (local.set $2
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ (br_if $label$10
+ (i32.eq
+ (local.get $2)
+ (i32.const 91)
+ )
+ )
+ (br $label$9)
+ )
+ (i32.store
+ (i32.add
+ (local.get $3)
+ (i32.const 32)
+ )
+ (i32.const 0)
+ )
+ )
+ (i32.store
+ (i32.add
+ (local.get $3)
+ (i32.const 4)
+ )
+ (i32.const 91)
+ )
+ )
+ (br_if $label$8
+ (i32.eqz
+ (i32.load offset=36
+ (i32.load offset=28
+ (local.get $3)
+ )
+ )
+ )
+ )
+ (local.set $10
+ (i32.add
+ (local.get $3)
+ (i32.const 12)
+ )
+ )
+ (local.set $11
+ (i32.add
+ (local.get $3)
+ (i32.const 28)
+ )
+ )
+ (local.set $12
+ (i32.add
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ (local.set $13
+ (i32.add
+ (local.get $0)
+ (i32.const 48)
+ )
+ )
+ (local.set $14
+ (i32.add
+ (local.get $0)
+ (i32.const 16)
+ )
+ )
+ (local.set $5
+ (i32.add
+ (local.get $3)
+ (i32.const 20)
+ )
+ )
+ (local.set $7
+ (i32.add
+ (local.get $3)
+ (i32.const 32)
+ )
+ )
+ (local.set $9
+ (local.tee $2
+ (i32.load offset=20
+ (local.get $3)
+ )
+ )
+ )
+ (block $label$43
+ (block $label$44
+ (loop $label$45
+ (block $label$46
+ (br_if $label$46
+ (i32.ne
+ (local.get $2)
+ (i32.load
+ (local.get $10)
+ )
+ )
+ )
+ (block $label$47
+ (br_if $label$47
+ (i32.le_u
+ (local.get $2)
+ (local.get $9)
+ )
+ )
+ (br_if $label$47
+ (i32.eqz
+ (i32.load offset=44
+ (i32.load
+ (local.get $11)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $13)
+ (call $crc32
+ (i32.load
+ (local.get $13)
+ )
+ (i32.add
+ (i32.load
+ (local.get $12)
+ )
+ (local.get $9)
+ )
+ (i32.sub
+ (local.get $2)
+ (local.get $9)
+ )
+ )
+ )
+ )
+ (block $label$48
+ (br_if $label$48
+ (i32.eqz
+ (local.tee $2
+ (select
+ (local.tee $2
+ (i32.load
+ (local.get $14)
+ )
+ )
+ (local.tee $6
+ (i32.load offset=20
+ (local.tee $9
+ (i32.load
+ (local.tee $8
+ (i32.add
+ (local.get $0)
+ (i32.const 28)
+ )
+ )
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $6)
+ (local.get $2)
+ )
+ )
+ )
+ )
+ )
+ (drop
+ (call $memcpy
+ (i32.load
+ (local.tee $6
+ (i32.add
+ (local.get $0)
+ (i32.const 12)
+ )
+ )
+ )
+ (i32.load offset=16
+ (local.get $9)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.get $6)
+ (i32.add
+ (i32.load
+ (local.get $6)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store offset=16
+ (local.tee $6
+ (i32.load
+ (local.get $8)
+ )
+ )
+ (i32.add
+ (i32.load offset=16
+ (local.get $6)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.tee $8
+ (i32.add
+ (local.get $0)
+ (i32.const 20)
+ )
+ )
+ (i32.add
+ (i32.load
+ (local.get $8)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.get $14)
+ (i32.sub
+ (i32.load
+ (local.get $14)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store offset=20
+ (local.get $6)
+ (local.tee $2
+ (i32.sub
+ (i32.load offset=20
+ (local.get $6)
+ )
+ (local.get $2)
+ )
+ )
+ )
+ (br_if $label$48
+ (local.get $2)
+ )
+ (i32.store
+ (i32.add
+ (local.get $6)
+ (i32.const 16)
+ )
+ (i32.load offset=8
+ (local.get $6)
+ )
+ )
+ )
+ (br_if $label$44
+ (i32.eq
+ (local.tee $2
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (i32.load
+ (local.get $10)
+ )
+ )
+ )
+ (local.set $9
+ (local.get $2)
+ )
+ )
+ (local.set $6
+ (i32.load offset=36
+ (i32.load
+ (local.get $11)
+ )
+ )
+ )
+ (i32.store
+ (local.get $7)
+ (i32.add
+ (local.tee $8
+ (i32.load
+ (local.get $7)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (local.set $6
+ (i32.load8_u
+ (i32.add
+ (local.get $6)
+ (local.get $8)
+ )
+ )
+ )
+ (i32.store
+ (local.get $5)
+ (i32.add
+ (local.get $2)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (i32.load
+ (local.get $12)
+ )
+ (local.get $2)
+ )
+ (local.get $6)
+ )
+ (block $label$49
+ (br_if $label$49
+ (local.get $6)
+ )
+ (local.set $6
+ (i32.const 0)
+ )
+ (local.set $2
+ (local.get $9)
+ )
+ (br $label$43)
+ )
+ (local.set $2
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (br $label$45)
+ )
+ )
+ (local.set $6
+ (i32.const 1)
+ )
+ )
+ (block $label$50
+ (br_if $label$50
+ (i32.eqz
+ (i32.load offset=44
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 28)
+ )
+ )
+ )
+ )
+ )
+ (br_if $label$50
+ (i32.le_u
+ (local.tee $5
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 20)
+ )
+ )
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.tee $7
+ (i32.add
+ (local.get $0)
+ (i32.const 48)
+ )
+ )
+ (call $crc32
+ (i32.load
+ (local.get $7)
+ )
+ (i32.add
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ (local.get $2)
+ )
+ (i32.sub
+ (local.get $5)
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (br_if $label$8
+ (i32.eqz
+ (local.get $6)
+ )
+ )
+ (local.set $2
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ (br_if $label$7
+ (i32.eq
+ (local.get $2)
+ (i32.const 103)
+ )
+ )
+ (br $label$6)
+ )
+ (i32.store
+ (i32.add
+ (local.get $3)
+ (i32.const 4)
+ )
+ (i32.const 103)
+ )
+ )
+ (block $label$51
+ (br_if $label$51
+ (i32.eqz
+ (i32.load offset=44
+ (i32.load offset=28
+ (local.get $3)
+ )
+ )
+ )
+ )
+ (block $label$52
+ (br_if $label$52
+ (i32.le_u
+ (i32.add
+ (i32.load offset=20
+ (local.get $3)
+ )
+ (i32.const 2)
+ )
+ (i32.load offset=12
+ (local.get $3)
+ )
+ )
+ )
+ (br_if $label$52
+ (i32.eqz
+ (local.tee $2
+ (select
+ (local.tee $2
+ (i32.load
+ (local.tee $5
+ (i32.add
+ (local.get $0)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (local.tee $6
+ (i32.load offset=20
+ (local.tee $8
+ (i32.load
+ (local.tee $7
+ (i32.add
+ (local.get $0)
+ (i32.const 28)
+ )
+ )
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $6)
+ (local.get $2)
+ )
+ )
+ )
+ )
+ )
+ (drop
+ (call $memcpy
+ (i32.load
+ (local.tee $6
+ (i32.add
+ (local.get $0)
+ (i32.const 12)
+ )
+ )
+ )
+ (i32.load offset=16
+ (local.get $8)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.get $6)
+ (i32.add
+ (i32.load
+ (local.get $6)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store offset=16
+ (local.tee $6
+ (i32.load
+ (local.get $7)
+ )
+ )
+ (i32.add
+ (i32.load offset=16
+ (local.get $6)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store offset=20
+ (local.get $0)
+ (i32.add
+ (i32.load offset=20
+ (local.get $0)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.get $5)
+ (i32.sub
+ (i32.load
+ (local.get $5)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store offset=20
+ (local.get $6)
+ (local.tee $2
+ (i32.sub
+ (i32.load offset=20
+ (local.get $6)
+ )
+ (local.get $2)
+ )
+ )
+ )
+ (br_if $label$52
+ (local.get $2)
+ )
+ (i32.store
+ (i32.add
+ (local.get $6)
+ (i32.const 16)
+ )
+ (i32.load offset=8
+ (local.get $6)
+ )
+ )
+ )
+ (br_if $label$6
+ (i32.gt_u
+ (i32.add
+ (local.tee $6
+ (i32.load
+ (local.tee $2
+ (i32.add
+ (local.get $3)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 12)
+ )
+ )
+ )
+ )
+ (local.set $5
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.get $6)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (i32.load offset=8
+ (local.get $3)
+ )
+ (local.get $6)
+ )
+ (local.get $5)
+ )
+ (local.set $6
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $5
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $5)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ (i32.shr_u
+ (local.get $6)
+ (i32.const 8)
+ )
+ )
+ (i32.store offset=48
+ (local.get $0)
+ (call $crc32
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 0)
+ )
+ )
+ (i32.store
+ (i32.add
+ (local.get $3)
+ (i32.const 4)
+ )
+ (i32.const 113)
+ )
+ (br $label$6)
+ )
+ (i32.store
+ (i32.add
+ (local.get $3)
+ (i32.const 4)
+ )
+ (i32.const 113)
+ )
+ )
+ (block $label$53
+ (block $label$54
+ (br_if $label$54
+ (i32.eqz
+ (i32.load offset=20
+ (local.get $3)
+ )
+ )
+ )
+ (block $label$55
+ (br_if $label$55
+ (i32.eqz
+ (local.tee $2
+ (select
+ (local.tee $6
+ (i32.load
+ (local.tee $7
+ (i32.add
+ (local.get $0)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (local.tee $2
+ (i32.load offset=20
+ (local.tee $8
+ (i32.load
+ (local.tee $5
+ (i32.add
+ (local.get $0)
+ (i32.const 28)
+ )
+ )
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $2)
+ (local.get $6)
+ )
+ )
+ )
+ )
+ )
+ (drop
+ (call $memcpy
+ (i32.load
+ (local.tee $6
+ (i32.add
+ (local.get $0)
+ (i32.const 12)
+ )
+ )
+ )
+ (i32.load offset=16
+ (local.get $8)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.get $6)
+ (i32.add
+ (i32.load
+ (local.get $6)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store offset=16
+ (local.tee $5
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (i32.add
+ (i32.load offset=16
+ (local.get $5)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store offset=20
+ (local.get $0)
+ (i32.add
+ (i32.load offset=20
+ (local.get $0)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.get $7)
+ (local.tee $6
+ (i32.sub
+ (i32.load
+ (local.get $7)
+ )
+ (local.get $2)
+ )
+ )
+ )
+ (i32.store offset=20
+ (local.get $5)
+ (local.tee $2
+ (i32.sub
+ (i32.load offset=20
+ (local.get $5)
+ )
+ (local.get $2)
+ )
+ )
+ )
+ (br_if $label$55
+ (local.get $2)
+ )
+ (i32.store
+ (i32.add
+ (local.get $5)
+ (i32.const 16)
+ )
+ (i32.load offset=8
+ (local.get $5)
+ )
+ )
+ )
+ (br_if $label$53
+ (local.get $6)
+ )
+ (i32.store
+ (i32.add
+ (local.get $3)
+ (i32.const 40)
+ )
+ (i32.const -1)
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ (br_if $label$53
+ (i32.eq
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (br_if $label$53
+ (i32.lt_s
+ (local.get $4)
+ (local.get $1)
+ )
+ )
+ (br_if $label$53
+ (i32.load offset=4
+ (local.get $0)
+ )
+ )
+ (i32.store offset=24
+ (local.get $0)
+ (i32.load offset=15804
+ (i32.const 0)
+ )
+ )
+ (return
+ (i32.const -5)
+ )
+ )
+ (local.set $2
+ (i32.load offset=4
+ (local.get $0)
+ )
+ )
+ (block $label$56
+ (block $label$57
+ (block $label$58
+ (block $label$59
+ (br_if $label$59
+ (i32.ne
+ (local.tee $6
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 4)
+ )
+ )
+ )
+ (i32.const 666)
+ )
+ )
+ (br_if $label$58
+ (i32.eqz
+ (local.get $2)
+ )
+ )
+ (i32.store offset=24
+ (local.get $0)
+ (i32.load offset=15804
+ (i32.const 0)
+ )
+ )
+ (return
+ (i32.const -5)
+ )
+ )
+ (br_if $label$57
+ (local.get $2)
+ )
+ )
+ (br_if $label$57
+ (i32.ne
+ (i32.or
+ (i32.eqz
+ (local.get $1)
+ )
+ (i32.eq
+ (local.get $6)
+ (i32.const 666)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (br_if $label$56
+ (i32.eqz
+ (i32.load offset=116
+ (local.get $3)
+ )
+ )
+ )
+ )
+ (block $label$60
+ (block $label$61
+ (block $label$62
+ (block $label$63
+ (block $label$64
+ (br_if $label$64
+ (i32.eq
+ (local.tee $2
+ (i32.load offset=136
+ (local.get $3)
+ )
+ )
+ (i32.const 3)
+ )
+ )
+ (br_if $label$63
+ (i32.ne
+ (local.get $2)
+ (i32.const 2)
+ )
+ )
+ (local.set $6
+ (i32.add
+ (local.get $3)
+ (i32.const 116)
+ )
+ )
+ (local.set $11
+ (i32.add
+ (local.get $3)
+ (i32.const 96)
+ )
+ )
+ (local.set $2
+ (i32.add
+ (local.get $3)
+ (i32.const 108)
+ )
+ )
+ (local.set $10
+ (i32.add
+ (local.get $3)
+ (i32.const 56)
+ )
+ )
+ (local.set $7
+ (i32.add
+ (local.get $3)
+ (i32.const 5792)
+ )
+ )
+ (local.set $12
+ (i32.add
+ (local.get $3)
+ (i32.const 5796)
+ )
+ )
+ (local.set $14
+ (i32.add
+ (local.get $3)
+ (i32.const 5784)
+ )
+ )
+ (local.set $13
+ (i32.add
+ (local.get $3)
+ (i32.const 5788)
+ )
+ )
+ (local.set $4
+ (i32.add
+ (local.get $3)
+ (i32.const 92)
+ )
+ )
+ (block $label$65
+ (loop $label$66
+ (block $label$67
+ (br_if $label$67
+ (i32.load
+ (local.get $6)
+ )
+ )
+ (call $fill_window
+ (local.get $3)
+ )
+ (br_if $label$67
+ (i32.load
+ (local.get $6)
+ )
+ )
+ (br_if $label$61
+ (i32.eqz
+ (local.get $1)
+ )
+ )
+ (local.set $2
+ (i32.const 0)
+ )
+ (block $label$68
+ (br_if $label$68
+ (i32.lt_s
+ (local.tee $6
+ (i32.load
+ (local.tee $5
+ (i32.add
+ (local.get $3)
+ (i32.const 92)
+ )
+ )
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (local.set $2
+ (i32.add
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 56)
+ )
+ )
+ (local.get $6)
+ )
+ )
+ )
+ (call $_tr_flush_block
+ (local.get $3)
+ (local.get $2)
+ (i32.sub
+ (i32.load
+ (local.tee $7
+ (i32.add
+ (local.get $3)
+ (i32.const 108)
+ )
+ )
+ )
+ (local.get $6)
+ )
+ (i32.eq
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (i32.store
+ (local.get $5)
+ (i32.load
+ (local.get $7)
+ )
+ )
+ (block $label$69
+ (br_if $label$69
+ (i32.eqz
+ (local.tee $6
+ (select
+ (local.tee $6
+ (i32.load offset=16
+ (local.tee $2
+ (i32.load
+ (local.get $3)
+ )
+ )
+ )
+ )
+ (local.tee $5
+ (i32.load offset=20
+ (local.tee $7
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $5)
+ (local.get $6)
+ )
+ )
+ )
+ )
+ )
+ (drop
+ (call $memcpy
+ (i32.load offset=12
+ (local.get $2)
+ )
+ (i32.load offset=16
+ (local.get $7)
+ )
+ (local.get $6)
+ )
+ )
+ (i32.store offset=12
+ (local.get $2)
+ (i32.add
+ (i32.load offset=12
+ (local.get $2)
+ )
+ (local.get $6)
+ )
+ )
+ (i32.store offset=16
+ (local.tee $5
+ (i32.load
+ (i32.add
+ (local.get $2)
+ (i32.const 28)
+ )
+ )
+ )
+ (i32.add
+ (i32.load offset=16
+ (local.get $5)
+ )
+ (local.get $6)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (i32.load offset=20
+ (local.get $2)
+ )
+ (local.get $6)
+ )
+ )
+ (i32.store
+ (local.tee $2
+ (i32.add
+ (local.get $2)
+ (i32.const 16)
+ )
+ )
+ (i32.sub
+ (i32.load
+ (local.get $2)
+ )
+ (local.get $6)
+ )
+ )
+ (i32.store offset=20
+ (local.get $5)
+ (local.tee $2
+ (i32.sub
+ (i32.load offset=20
+ (local.get $5)
+ )
+ (local.get $6)
+ )
+ )
+ )
+ (br_if $label$69
+ (local.get $2)
+ )
+ (i32.store
+ (i32.add
+ (local.get $5)
+ (i32.const 16)
+ )
+ (i32.load offset=8
+ (local.get $5)
+ )
+ )
+ )
+ (br_if $label$65
+ (i32.load offset=16
+ (i32.load
+ (local.get $3)
+ )
+ )
+ )
+ (local.set $2
+ (i32.shl
+ (i32.eq
+ (local.get $1)
+ (i32.const 4)
+ )
+ (i32.const 1)
+ )
+ )
+ (br $label$62)
+ )
+ (i32.store
+ (local.get $11)
+ (i32.const 0)
+ )
+ (local.set $5
+ (i32.load8_u
+ (i32.add
+ (i32.load
+ (local.get $10)
+ )
+ (i32.load
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (i32.store16
+ (i32.add
+ (i32.load
+ (local.get $12)
+ )
+ (i32.shl
+ (local.tee $8
+ (i32.load
+ (local.get $7)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $7)
+ (i32.add
+ (local.get $8)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $8)
+ (i32.load
+ (local.get $14)
+ )
+ )
+ (local.get $5)
+ )
+ (i32.store16
+ (local.tee $5
+ (i32.add
+ (i32.add
+ (local.get $3)
+ (i32.shl
+ (local.get $5)
+ (i32.const 2)
+ )
+ )
+ (i32.const 148)
+ )
+ )
+ (i32.add
+ (i32.load16_u
+ (local.get $5)
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (local.get $6)
+ (i32.add
+ (i32.load
+ (local.get $6)
+ )
+ (i32.const -1)
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (local.tee $5
+ (i32.add
+ (i32.load
+ (local.get $2)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (br_if $label$66
+ (i32.ne
+ (i32.load
+ (local.get $7)
+ )
+ (i32.add
+ (i32.load
+ (local.get $13)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (local.set $8
+ (i32.const 0)
+ )
+ (block $label$70
+ (br_if $label$70
+ (i32.lt_s
+ (local.tee $9
+ (i32.load
+ (local.get $4)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (local.set $8
+ (i32.add
+ (i32.load
+ (local.get $10)
+ )
+ (local.get $9)
+ )
+ )
+ )
+ (call $_tr_flush_block
+ (local.get $3)
+ (local.get $8)
+ (i32.sub
+ (local.get $5)
+ (local.get $9)
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $4)
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (block $label$71
+ (br_if $label$71
+ (i32.eqz
+ (local.tee $8
+ (select
+ (local.tee $8
+ (i32.load offset=16
+ (local.tee $5
+ (i32.load
+ (local.get $3)
+ )
+ )
+ )
+ )
+ (local.tee $9
+ (i32.load offset=20
+ (local.tee $15
+ (i32.load offset=28
+ (local.get $5)
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $9)
+ (local.get $8)
+ )
+ )
+ )
+ )
+ )
+ (drop
+ (call $memcpy
+ (i32.load offset=12
+ (local.get $5)
+ )
+ (i32.load offset=16
+ (local.get $15)
+ )
+ (local.get $8)
+ )
+ )
+ (i32.store offset=12
+ (local.get $5)
+ (i32.add
+ (i32.load offset=12
+ (local.get $5)
+ )
+ (local.get $8)
+ )
+ )
+ (i32.store offset=16
+ (local.tee $9
+ (i32.load
+ (i32.add
+ (local.get $5)
+ (i32.const 28)
+ )
+ )
+ )
+ (i32.add
+ (i32.load offset=16
+ (local.get $9)
+ )
+ (local.get $8)
+ )
+ )
+ (i32.store offset=20
+ (local.get $5)
+ (i32.add
+ (i32.load offset=20
+ (local.get $5)
+ )
+ (local.get $8)
+ )
+ )
+ (i32.store
+ (local.tee $5
+ (i32.add
+ (local.get $5)
+ (i32.const 16)
+ )
+ )
+ (i32.sub
+ (i32.load
+ (local.get $5)
+ )
+ (local.get $8)
+ )
+ )
+ (i32.store offset=20
+ (local.get $9)
+ (local.tee $5
+ (i32.sub
+ (i32.load offset=20
+ (local.get $9)
+ )
+ (local.get $8)
+ )
+ )
+ )
+ (br_if $label$71
+ (local.get $5)
+ )
+ (i32.store
+ (i32.add
+ (local.get $9)
+ (i32.const 16)
+ )
+ (i32.load offset=8
+ (local.get $9)
+ )
+ )
+ )
+ (br_if $label$66
+ (i32.load offset=16
+ (i32.load
+ (local.get $3)
+ )
+ )
+ )
+ (br $label$61)
+ )
+ )
+ (local.set $2
+ (select
+ (i32.const 3)
+ (i32.const 1)
+ (i32.eq
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ )
+ (br $label$62)
+ )
+ (local.set $2
+ (i32.add
+ (local.get $3)
+ (i32.const 116)
+ )
+ )
+ (local.set $14
+ (i32.add
+ (local.get $3)
+ (i32.const 96)
+ )
+ )
+ (local.set $6
+ (i32.add
+ (local.get $3)
+ (i32.const 108)
+ )
+ )
+ (local.set $11
+ (i32.add
+ (local.get $3)
+ (i32.const 56)
+ )
+ )
+ (local.set $7
+ (i32.add
+ (local.get $3)
+ (i32.const 5792)
+ )
+ )
+ (local.set $13
+ (i32.add
+ (local.get $3)
+ (i32.const 5796)
+ )
+ )
+ (local.set $4
+ (i32.add
+ (local.get $3)
+ (i32.const 5784)
+ )
+ )
+ (local.set $15
+ (i32.add
+ (local.get $3)
+ (i32.const 5788)
+ )
+ )
+ (local.set $16
+ (i32.add
+ (local.get $3)
+ (i32.const 92)
+ )
+ )
+ (loop $label$72
+ (block $label$73
+ (block $label$74
+ (block $label$75
+ (block $label$76
+ (br_if $label$76
+ (i32.lt_u
+ (local.tee $5
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 258)
+ )
+ )
+ (i32.store
+ (local.get $14)
+ (i32.const 0)
+ )
+ (br $label$75)
+ )
+ (call $fill_window
+ (local.get $3)
+ )
+ (local.set $5
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (block $label$77
+ (br_if $label$77
+ (local.get $1)
+ )
+ (br_if $label$61
+ (i32.lt_u
+ (local.get $5)
+ (i32.const 258)
+ )
+ )
+ )
+ (block $label$78
+ (br_if $label$78
+ (i32.eqz
+ (local.get $5)
+ )
+ )
+ (i32.store
+ (local.get $14)
+ (i32.const 0)
+ )
+ (br_if $label$75
+ (i32.gt_u
+ (local.get $5)
+ (i32.const 2)
+ )
+ )
+ (local.set $8
+ (i32.load
+ (local.get $6)
+ )
+ )
+ (br $label$74)
+ )
+ (local.set $2
+ (i32.const 0)
+ )
+ (block $label$79
+ (br_if $label$79
+ (i32.lt_s
+ (local.tee $6
+ (i32.load
+ (local.tee $5
+ (i32.add
+ (local.get $3)
+ (i32.const 92)
+ )
+ )
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (local.set $2
+ (i32.add
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 56)
+ )
+ )
+ (local.get $6)
+ )
+ )
+ )
+ (call $_tr_flush_block
+ (local.get $3)
+ (local.get $2)
+ (i32.sub
+ (i32.load
+ (local.tee $7
+ (i32.add
+ (local.get $3)
+ (i32.const 108)
+ )
+ )
+ )
+ (local.get $6)
+ )
+ (i32.eq
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (i32.store
+ (local.get $5)
+ (i32.load
+ (local.get $7)
+ )
+ )
+ (block $label$80
+ (br_if $label$80
+ (i32.eqz
+ (local.tee $6
+ (select
+ (local.tee $6
+ (i32.load offset=16
+ (local.tee $2
+ (i32.load
+ (local.get $3)
+ )
+ )
+ )
+ )
+ (local.tee $5
+ (i32.load offset=20
+ (local.tee $7
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $5)
+ (local.get $6)
+ )
+ )
+ )
+ )
+ )
+ (drop
+ (call $memcpy
+ (i32.load offset=12
+ (local.get $2)
+ )
+ (i32.load offset=16
+ (local.get $7)
+ )
+ (local.get $6)
+ )
+ )
+ (i32.store offset=12
+ (local.get $2)
+ (i32.add
+ (i32.load offset=12
+ (local.get $2)
+ )
+ (local.get $6)
+ )
+ )
+ (i32.store offset=16
+ (local.tee $5
+ (i32.load
+ (i32.add
+ (local.get $2)
+ (i32.const 28)
+ )
+ )
+ )
+ (i32.add
+ (i32.load offset=16
+ (local.get $5)
+ )
+ (local.get $6)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (i32.load offset=20
+ (local.get $2)
+ )
+ (local.get $6)
+ )
+ )
+ (i32.store
+ (local.tee $2
+ (i32.add
+ (local.get $2)
+ (i32.const 16)
+ )
+ )
+ (i32.sub
+ (i32.load
+ (local.get $2)
+ )
+ (local.get $6)
+ )
+ )
+ (i32.store offset=20
+ (local.get $5)
+ (local.tee $2
+ (i32.sub
+ (i32.load offset=20
+ (local.get $5)
+ )
+ (local.get $6)
+ )
+ )
+ )
+ (br_if $label$80
+ (local.get $2)
+ )
+ (i32.store
+ (i32.add
+ (local.get $5)
+ (i32.const 16)
+ )
+ (i32.load offset=8
+ (local.get $5)
+ )
+ )
+ )
+ (block $label$81
+ (br_if $label$81
+ (i32.load offset=16
+ (i32.load
+ (local.get $3)
+ )
+ )
+ )
+ (local.set $2
+ (i32.shl
+ (i32.eq
+ (local.get $1)
+ (i32.const 4)
+ )
+ (i32.const 1)
+ )
+ )
+ (br $label$62)
+ )
+ (local.set $2
+ (select
+ (i32.const 3)
+ (i32.const 1)
+ (i32.eq
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ )
+ (br $label$62)
+ )
+ (block $label$82
+ (br_if $label$82
+ (local.tee $8
+ (i32.load
+ (local.get $6)
+ )
+ )
+ )
+ (local.set $8
+ (i32.const 0)
+ )
+ (br $label$74)
+ )
+ (br_if $label$74
+ (i32.ne
+ (local.tee $9
+ (i32.load8_u
+ (i32.add
+ (local.tee $10
+ (i32.add
+ (i32.load
+ (local.get $11)
+ )
+ (local.get $8)
+ )
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (i32.load8_u
+ (local.get $10)
+ )
+ )
+ )
+ (br_if $label$74
+ (i32.ne
+ (local.get $9)
+ (i32.load8_u offset=1
+ (local.get $10)
+ )
+ )
+ )
+ (br_if $label$74
+ (i32.ne
+ (local.get $9)
+ (i32.load8_u
+ (i32.add
+ (local.get $10)
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (local.set $17
+ (i32.add
+ (local.get $10)
+ (i32.const 258)
+ )
+ )
+ (local.set $18
+ (i32.const 1)
+ )
+ (block $label$83
+ (block $label$84
+ (block $label$85
+ (block $label$86
+ (block $label$87
+ (block $label$88
+ (block $label$89
+ (loop $label$90
+ (br_if $label$89
+ (i32.ne
+ (local.get $9)
+ (i32.load8_u offset=2
+ (local.tee $12
+ (i32.add
+ (local.get $10)
+ (local.get $18)
+ )
+ )
+ )
+ )
+ )
+ (br_if $label$88
+ (i32.ne
+ (local.get $9)
+ (i32.load8_u offset=3
+ (local.get $12)
+ )
+ )
+ )
+ (br_if $label$87
+ (i32.ne
+ (local.get $9)
+ (i32.load8_u offset=4
+ (local.get $12)
+ )
+ )
+ )
+ (br_if $label$86
+ (i32.ne
+ (local.get $9)
+ (i32.load8_u offset=5
+ (local.get $12)
+ )
+ )
+ )
+ (br_if $label$85
+ (i32.ne
+ (local.get $9)
+ (i32.load8_u offset=6
+ (local.get $12)
+ )
+ )
+ )
+ (br_if $label$84
+ (i32.ne
+ (local.get $9)
+ (i32.load8_u offset=7
+ (local.get $12)
+ )
+ )
+ )
+ (br_if $label$83
+ (i32.ne
+ (local.get $9)
+ (i32.load8_u
+ (local.tee $12
+ (i32.add
+ (local.get $10)
+ (local.tee $19
+ (i32.add
+ (local.get $18)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.set $12
+ (i32.add
+ (local.get $10)
+ (local.tee $18
+ (i32.add
+ (local.get $18)
+ (i32.const 9)
+ )
+ )
+ )
+ )
+ (br_if $label$83
+ (i32.gt_u
+ (local.get $18)
+ (i32.const 257)
+ )
+ )
+ (local.set $18
+ (local.get $19)
+ )
+ (br_if $label$90
+ (i32.eq
+ (local.get $9)
+ (i32.and
+ (i32.load8_u
+ (local.get $12)
+ )
+ (i32.const 255)
+ )
+ )
+ )
+ (br $label$83)
+ )
+ )
+ (local.set $12
+ (i32.add
+ (local.get $12)
+ (i32.const 2)
+ )
+ )
+ (br $label$83)
+ )
+ (local.set $12
+ (i32.add
+ (local.get $12)
+ (i32.const 3)
+ )
+ )
+ (br $label$83)
+ )
+ (local.set $12
+ (i32.add
+ (local.get $12)
+ (i32.const 4)
+ )
+ )
+ (br $label$83)
+ )
+ (local.set $12
+ (i32.add
+ (local.get $12)
+ (i32.const 5)
+ )
+ )
+ (br $label$83)
+ )
+ (local.set $12
+ (i32.add
+ (local.get $12)
+ (i32.const 6)
+ )
+ )
+ (br $label$83)
+ )
+ (local.set $12
+ (i32.add
+ (local.get $12)
+ (i32.const 7)
+ )
+ )
+ )
+ (i32.store
+ (local.get $14)
+ (local.tee $5
+ (select
+ (local.get $5)
+ (local.tee $9
+ (i32.add
+ (i32.sub
+ (local.get $12)
+ (local.get $17)
+ )
+ (i32.const 258)
+ )
+ )
+ (i32.gt_u
+ (local.get $9)
+ (local.get $5)
+ )
+ )
+ )
+ )
+ (br_if $label$74
+ (i32.lt_u
+ (local.get $5)
+ (i32.const 3)
+ )
+ )
+ (i32.store16
+ (i32.add
+ (i32.load
+ (local.get $13)
+ )
+ (i32.shl
+ (local.tee $8
+ (i32.load
+ (local.get $7)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.store
+ (local.get $7)
+ (i32.add
+ (local.get $8)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $8)
+ (i32.load
+ (local.get $4)
+ )
+ )
+ (local.tee $5
+ (i32.add
+ (local.get $5)
+ (i32.const -3)
+ )
+ )
+ )
+ (i32.store16
+ (local.tee $5
+ (i32.add
+ (i32.add
+ (local.get $3)
+ (i32.or
+ (i32.shl
+ (i32.load8_u
+ (i32.add
+ (i32.and
+ (local.get $5)
+ (i32.const 255)
+ )
+ (i32.const 13488)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 1024)
+ )
+ )
+ (i32.const 152)
+ )
+ )
+ (i32.add
+ (i32.load16_u
+ (local.get $5)
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store16
+ (local.tee $5
+ (i32.add
+ (i32.add
+ (local.get $3)
+ (i32.shl
+ (i32.load8_u offset=12976
+ (i32.const 0)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.const 2440)
+ )
+ )
+ (i32.add
+ (i32.load16_u
+ (local.get $5)
+ )
+ (i32.const 1)
+ )
+ )
+ (local.set $5
+ (i32.load
+ (local.get $14)
+ )
+ )
+ (i32.store
+ (local.get $14)
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $2)
+ (i32.sub
+ (i32.load
+ (local.get $2)
+ )
+ (local.get $5)
+ )
+ )
+ (i32.store
+ (local.get $6)
+ (local.tee $5
+ (i32.add
+ (local.get $5)
+ (i32.load
+ (local.get $6)
+ )
+ )
+ )
+ )
+ (br_if $label$72
+ (i32.ne
+ (i32.load
+ (local.get $7)
+ )
+ (i32.add
+ (i32.load
+ (local.get $15)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ (br $label$73)
+ )
+ (local.set $5
+ (i32.load8_u
+ (i32.add
+ (i32.load
+ (local.get $11)
+ )
+ (local.get $8)
+ )
+ )
+ )
+ (i32.store16
+ (i32.add
+ (i32.load
+ (local.get $13)
+ )
+ (i32.shl
+ (local.tee $8
+ (i32.load
+ (local.get $7)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $7)
+ (i32.add
+ (local.get $8)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $8)
+ (i32.load
+ (local.get $4)
+ )
+ )
+ (local.get $5)
+ )
+ (i32.store16
+ (local.tee $5
+ (i32.add
+ (i32.add
+ (local.get $3)
+ (i32.shl
+ (local.get $5)
+ (i32.const 2)
+ )
+ )
+ (i32.const 148)
+ )
+ )
+ (i32.add
+ (i32.load16_u
+ (local.get $5)
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (i32.load
+ (local.get $2)
+ )
+ (i32.const -1)
+ )
+ )
+ (i32.store
+ (local.get $6)
+ (local.tee $5
+ (i32.add
+ (i32.load
+ (local.get $6)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (br_if $label$72
+ (i32.ne
+ (i32.load
+ (local.get $7)
+ )
+ (i32.add
+ (i32.load
+ (local.get $15)
+ )
+ (i32.const -1)
+ )
+ )
+ )
+ )
+ (local.set $8
+ (i32.const 0)
+ )
+ (block $label$91
+ (br_if $label$91
+ (i32.lt_s
+ (local.tee $9
+ (i32.load
+ (local.get $16)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (local.set $8
+ (i32.add
+ (i32.load
+ (local.get $11)
+ )
+ (local.get $9)
+ )
+ )
+ )
+ (call $_tr_flush_block
+ (local.get $3)
+ (local.get $8)
+ (i32.sub
+ (local.get $5)
+ (local.get $9)
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $16)
+ (i32.load
+ (local.get $6)
+ )
+ )
+ (block $label$92
+ (br_if $label$92
+ (i32.eqz
+ (local.tee $8
+ (select
+ (local.tee $8
+ (i32.load offset=16
+ (local.tee $5
+ (i32.load
+ (local.get $3)
+ )
+ )
+ )
+ )
+ (local.tee $9
+ (i32.load offset=20
+ (local.tee $10
+ (i32.load offset=28
+ (local.get $5)
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $9)
+ (local.get $8)
+ )
+ )
+ )
+ )
+ )
+ (drop
+ (call $memcpy
+ (i32.load offset=12
+ (local.get $5)
+ )
+ (i32.load offset=16
+ (local.get $10)
+ )
+ (local.get $8)
+ )
+ )
+ (i32.store offset=12
+ (local.get $5)
+ (i32.add
+ (i32.load offset=12
+ (local.get $5)
+ )
+ (local.get $8)
+ )
+ )
+ (i32.store offset=16
+ (local.tee $9
+ (i32.load
+ (i32.add
+ (local.get $5)
+ (i32.const 28)
+ )
+ )
+ )
+ (i32.add
+ (i32.load offset=16
+ (local.get $9)
+ )
+ (local.get $8)
+ )
+ )
+ (i32.store offset=20
+ (local.get $5)
+ (i32.add
+ (i32.load offset=20
+ (local.get $5)
+ )
+ (local.get $8)
+ )
+ )
+ (i32.store
+ (local.tee $5
+ (i32.add
+ (local.get $5)
+ (i32.const 16)
+ )
+ )
+ (i32.sub
+ (i32.load
+ (local.get $5)
+ )
+ (local.get $8)
+ )
+ )
+ (i32.store offset=20
+ (local.get $9)
+ (local.tee $5
+ (i32.sub
+ (i32.load offset=20
+ (local.get $9)
+ )
+ (local.get $8)
+ )
+ )
+ )
+ (br_if $label$92
+ (local.get $5)
+ )
+ (i32.store
+ (i32.add
+ (local.get $9)
+ (i32.const 16)
+ )
+ (i32.load offset=8
+ (local.get $9)
+ )
+ )
+ )
+ (br_if $label$72
+ (i32.load offset=16
+ (i32.load
+ (local.get $3)
+ )
+ )
+ )
+ (br $label$61)
+ )
+ )
+ (local.set $2
+ (call_indirect (type $2)
+ (local.get $3)
+ (local.get $1)
+ (i32.load
+ (i32.add
+ (i32.mul
+ (i32.load offset=132
+ (local.get $3)
+ )
+ (i32.const 12)
+ )
+ (i32.const 9832)
+ )
+ )
+ )
+ )
+ )
+ (block $label$93
+ (br_if $label$93
+ (i32.ne
+ (i32.or
+ (local.get $2)
+ (i32.const 1)
+ )
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (i32.add
+ (local.get $3)
+ (i32.const 4)
+ )
+ (i32.const 666)
+ )
+ )
+ (br_if $label$60
+ (i32.and
+ (local.get $2)
+ (i32.const -3)
+ )
+ )
+ )
+ (local.set $2
+ (i32.const 0)
+ )
+ (br_if $label$1
+ (i32.load
+ (i32.add
+ (local.get $0)
+ (i32.const 16)
+ )
+ )
+ )
+ (i32.store
+ (i32.add
+ (local.get $3)
+ (i32.const 40)
+ )
+ (i32.const -1)
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ (br_if $label$56
+ (i32.ne
+ (local.get $2)
+ (i32.const 1)
+ )
+ )
+ (block $label$94
+ (br_if $label$94
+ (i32.eq
+ (local.get $1)
+ (i32.const 5)
+ )
+ )
+ (block $label$95
+ (br_if $label$95
+ (i32.ne
+ (local.get $1)
+ (i32.const 1)
+ )
+ )
+ (call $_tr_align
+ (local.get $3)
+ )
+ (br $label$94)
+ )
+ (call $_tr_stored_block
+ (local.get $3)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 0)
+ )
+ (br_if $label$94
+ (i32.ne
+ (local.get $1)
+ (i32.const 3)
+ )
+ )
+ (i32.store16
+ (i32.add
+ (local.tee $2
+ (i32.load offset=68
+ (local.get $3)
+ )
+ )
+ (local.tee $6
+ (i32.add
+ (i32.shl
+ (i32.load offset=76
+ (local.get $3)
+ )
+ (i32.const 1)
+ )
+ (i32.const -2)
+ )
+ )
+ )
+ (i32.const 0)
+ )
+ (drop
+ (call $memset
+ (local.get $2)
+ (i32.const 0)
+ (local.get $6)
+ )
+ )
+ (br_if $label$94
+ (i32.load offset=116
+ (local.get $3)
+ )
+ )
+ (i32.store offset=92
+ (local.get $3)
+ (i32.const 0)
+ )
+ (i32.store offset=108
+ (local.get $3)
+ (i32.const 0)
+ )
+ )
+ (block $label$96
+ (br_if $label$96
+ (i32.eqz
+ (local.tee $2
+ (select
+ (local.tee $6
+ (i32.load
+ (local.tee $7
+ (i32.add
+ (local.get $0)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (local.tee $2
+ (i32.load offset=20
+ (local.tee $8
+ (i32.load
+ (local.tee $5
+ (i32.add
+ (local.get $0)
+ (i32.const 28)
+ )
+ )
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $2)
+ (local.get $6)
+ )
+ )
+ )
+ )
+ )
+ (drop
+ (call $memcpy
+ (i32.load
+ (local.tee $6
+ (i32.add
+ (local.get $0)
+ (i32.const 12)
+ )
+ )
+ )
+ (i32.load offset=16
+ (local.get $8)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.get $6)
+ (i32.add
+ (i32.load
+ (local.get $6)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store offset=16
+ (local.tee $5
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (i32.add
+ (i32.load offset=16
+ (local.get $5)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store offset=20
+ (local.get $0)
+ (i32.add
+ (i32.load offset=20
+ (local.get $0)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.get $7)
+ (local.tee $6
+ (i32.sub
+ (i32.load
+ (local.get $7)
+ )
+ (local.get $2)
+ )
+ )
+ )
+ (i32.store offset=20
+ (local.get $5)
+ (local.tee $2
+ (i32.sub
+ (i32.load offset=20
+ (local.get $5)
+ )
+ (local.get $2)
+ )
+ )
+ )
+ (br_if $label$96
+ (local.get $2)
+ )
+ (i32.store
+ (i32.add
+ (local.get $5)
+ (i32.const 16)
+ )
+ (i32.load offset=8
+ (local.get $5)
+ )
+ )
+ )
+ (br_if $label$56
+ (local.get $6)
+ )
+ (i32.store
+ (i32.add
+ (local.get $3)
+ (i32.const 40)
+ )
+ (i32.const -1)
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ (local.set $2
+ (i32.const 0)
+ )
+ (br_if $label$1
+ (i32.ne
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (local.set $2
+ (i32.const 1)
+ )
+ (br_if $label$1
+ (i32.lt_s
+ (local.tee $1
+ (i32.load offset=24
+ (local.get $3)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (local.set $6
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (block $label$97
+ (block $label$98
+ (br_if $label$98
+ (i32.ne
+ (local.get $1)
+ (i32.const 2)
+ )
+ )
+ (i32.store
+ (local.tee $2
+ (i32.add
+ (local.get $3)
+ (i32.const 20)
+ )
+ )
+ (i32.add
+ (local.tee $1
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ (local.get $6)
+ )
+ (local.set $1
+ (i32.load
+ (i32.add
+ (local.get $0)
+ (i32.const 48)
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $6
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $6)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ (i32.shr_u
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ (local.set $1
+ (i32.load16_u
+ (i32.add
+ (local.get $0)
+ (i32.const 50)
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $6
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $6)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ (local.get $1)
+ )
+ (local.set $1
+ (i32.load8_u
+ (i32.add
+ (local.get $0)
+ (i32.const 51)
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $6
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $6)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ (local.get $1)
+ )
+ (local.set $1
+ (i32.load offset=8
+ (local.get $0)
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $6
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $6)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ (local.get $1)
+ )
+ (local.set $1
+ (i32.load offset=8
+ (local.get $0)
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $6
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $6)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ (i32.shr_u
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ (local.set $1
+ (i32.load16_u
+ (i32.add
+ (local.get $0)
+ (i32.const 10)
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $6
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $6)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ (local.get $1)
+ )
+ (local.set $1
+ (i32.load8_u
+ (i32.add
+ (local.get $0)
+ (i32.const 11)
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $6
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (local.set $2
+ (i32.add
+ (local.get $6)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ )
+ (br $label$97)
+ )
+ (i32.store
+ (local.tee $2
+ (i32.add
+ (local.get $3)
+ (i32.const 20)
+ )
+ )
+ (i32.add
+ (local.tee $1
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ (i32.shr_u
+ (local.get $6)
+ (i32.const 24)
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $1
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ (i32.shr_u
+ (local.get $6)
+ (i32.const 16)
+ )
+ )
+ (local.set $1
+ (i32.load
+ (i32.add
+ (local.get $0)
+ (i32.const 48)
+ )
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $6
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $6)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ (i32.shr_u
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ (i32.store
+ (local.get $2)
+ (i32.add
+ (local.tee $6
+ (i32.load
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (local.set $2
+ (i32.add
+ (local.get $6)
+ (i32.load offset=8
+ (local.get $3)
+ )
+ )
+ )
+ )
+ (i32.store8
+ (local.get $2)
+ (local.get $1)
+ )
+ (block $label$99
+ (br_if $label$99
+ (i32.eqz
+ (local.tee $2
+ (select
+ (local.tee $2
+ (i32.load
+ (local.tee $6
+ (i32.add
+ (local.get $0)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (local.tee $1
+ (i32.load offset=20
+ (local.tee $7
+ (i32.load
+ (local.tee $5
+ (i32.add
+ (local.get $0)
+ (i32.const 28)
+ )
+ )
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $1)
+ (local.get $2)
+ )
+ )
+ )
+ )
+ )
+ (drop
+ (call $memcpy
+ (i32.load
+ (local.tee $1
+ (i32.add
+ (local.get $0)
+ (i32.const 12)
+ )
+ )
+ )
+ (i32.load offset=16
+ (local.get $7)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.get $1)
+ (i32.add
+ (i32.load
+ (local.get $1)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store offset=16
+ (local.tee $1
+ (i32.load
+ (local.get $5)
+ )
+ )
+ (i32.add
+ (i32.load offset=16
+ (local.get $1)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store offset=20
+ (local.get $0)
+ (i32.add
+ (i32.load offset=20
+ (local.get $0)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (local.get $6)
+ (i32.sub
+ (i32.load
+ (local.get $6)
+ )
+ (local.get $2)
+ )
+ )
+ (i32.store offset=20
+ (local.get $1)
+ (local.tee $0
+ (i32.sub
+ (i32.load offset=20
+ (local.get $1)
+ )
+ (local.get $2)
+ )
+ )
+ )
+ (br_if $label$99
+ (local.get $0)
+ )
+ (i32.store
+ (i32.add
+ (local.get $1)
+ (i32.const 16)
+ )
+ (i32.load offset=8
+ (local.get $1)
+ )
+ )
+ )
+ (block $label$100
+ (br_if $label$100
+ (i32.lt_s
+ (local.tee $2
+ (i32.load
+ (local.tee $0
+ (i32.add
+ (local.get $3)
+ (i32.const 24)
+ )
+ )
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (local.get $0)
+ (i32.sub
+ (i32.const 0)
+ (local.get $2)
+ )
+ )
+ )
+ (local.set $2
+ (i32.eqz
+ (i32.load
+ (i32.add
+ (local.get $3)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ )
+ (local.get $2)
+ )
+ (func $fill_window (; 28 ;) (type $3) (param $0 i32)
+ (unreachable)
+ )
+ (func $deflate_stored (; 29 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
+ (unreachable)
+ )
+ (func $deflate_fast (; 30 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
+ (unreachable)
+ )
+ (func $longest_match (; 31 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
+ (unreachable)
+ )
+ (func $deflate_slow (; 32 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
+ (unreachable)
+ )
+ (func $inflate_fast (; 33 ;) (type $1) (param $0 i32) (param $1 i32)
+ (unreachable)
+ )
+ (func $inflateInit2_ (; 34 ;) (type $7) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ (unreachable)
+ )
+ (func $inflateInit_ (; 35 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $inflate (; 36 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
+ (unreachable)
+ )
+ (func $updatewindow (; 37 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
+ (unreachable)
+ )
+ (func $inflateEnd (; 38 ;) (type $4) (param $0 i32) (result i32)
+ (unreachable)
+ )
+ (func $inflateSetDictionary (; 39 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $inflateSync (; 40 ;) (type $4) (param $0 i32) (result i32)
+ (unreachable)
+ )
+ (func $inflate_table (; 41 ;) (type $9) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (result i32)
+ (unreachable)
+ )
+ (func $_tr_init (; 42 ;) (type $3) (param $0 i32)
+ (unreachable)
+ )
+ (func $init_block (; 43 ;) (type $3) (param $0 i32)
+ (unreachable)
+ )
+ (func $_tr_stored_block (; 44 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
+ (unreachable)
+ )
+ (func $_tr_align (; 45 ;) (type $3) (param $0 i32)
+ (unreachable)
+ )
+ (func $_tr_flush_block (; 46 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
+ (unreachable)
+ )
+ (func $build_tree (; 47 ;) (type $1) (param $0 i32) (param $1 i32)
+ (unreachable)
+ )
+ (func $compress_block (; 48 ;) (type $10) (param $0 i32) (param $1 i32) (param $2 i32)
+ (unreachable)
+ )
+ (func $send_tree (; 49 ;) (type $10) (param $0 i32) (param $1 i32) (param $2 i32)
+ (unreachable)
+ )
+ (func $uncompress (; 50 ;) (type $7) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ (unreachable)
+ )
+ (func $zlibVersion (; 51 ;) (type $11) (result i32)
+ (unreachable)
+ )
+ (func $zlibCompileFlags (; 52 ;) (type $11) (result i32)
+ (unreachable)
+ )
+ (func $zcalloc (; 53 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $zcfree (; 54 ;) (type $1) (param $0 i32) (param $1 i32)
+ (unreachable)
+ )
+ (func $strlen (; 55 ;) (type $4) (param $0 i32) (result i32)
+ (unreachable)
+ )
+ (func $strcmp (; 56 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
+ (unreachable)
+ )
+ (func $memchr (; 57 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $__syscall_ret (; 58 ;) (type $4) (param $0 i32) (result i32)
+ (unreachable)
+ )
+ (func $__errno_location (; 59 ;) (type $11) (result i32)
+ (unreachable)
+ )
+ (func $pthread_self (; 60 ;) (type $11) (result i32)
+ (unreachable)
+ )
+ (func $dummy (; 61 ;) (type $4) (param $0 i32) (result i32)
+ (unreachable)
+ )
+ (func $puts (; 62 ;) (type $4) (param $0 i32) (result i32)
+ (unreachable)
+ )
+ (func $fputs (; 63 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
+ (unreachable)
+ )
+ (func $__towrite (; 64 ;) (type $4) (param $0 i32) (result i32)
+ (unreachable)
+ )
+ (func $__fwritex (; 65 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $fwrite (; 66 ;) (type $7) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
+ (unreachable)
+ )
+ (func $__lockfile (; 67 ;) (type $4) (param $0 i32) (result i32)
+ (unreachable)
+ )
+ (func $__unlockfile (; 68 ;) (type $3) (param $0 i32)
+ (unreachable)
+ )
+ (func $__stdout_write (; 69 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $__stdio_close (; 70 ;) (type $4) (param $0 i32) (result i32)
+ (unreachable)
+ )
+ (func $printf (; 71 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
+ (unreachable)
+ )
+ (func $fprintf (; 72 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $__overflow (; 73 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
+ (unreachable)
+ )
+ (func $isdigit (; 74 ;) (type $4) (param $0 i32) (result i32)
+ (unreachable)
+ )
+ (func $wcrtomb (; 75 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $__pthread_self (; 76 ;) (type $11) (result i32)
+ (unreachable)
+ )
+ (func $wctomb (; 77 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
+ (unreachable)
+ )
+ (func $__signbitl (; 78 ;) (type $12) (param $0 i64) (param $1 i64) (result i32)
+ (unreachable)
+ )
+ (func $frexpl (; 79 ;) (type $13) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i32)
+ (unreachable)
+ )
+ (func $vfprintf (; 80 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $printf_core (; 81 ;) (type $14) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
+ (unreachable)
+ )
+ (func $out (; 82 ;) (type $10) (param $0 i32) (param $1 i32) (param $2 i32)
+ (unreachable)
+ )
+ (func $getint (; 83 ;) (type $4) (param $0 i32) (result i32)
+ (unreachable)
+ )
+ (func $pop_arg (; 84 ;) (type $10) (param $0 i32) (param $1 i32) (param $2 i32)
+ (unreachable)
+ )
+ (func $fmt_fp (; 85 ;) (type $15) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i32)
+ (unreachable)
+ )
+ (func $fmt_o (; 86 ;) (type $16) (param $0 i64) (param $1 i32) (result i32)
+ (unreachable)
+ )
+ (func $fmt_x (; 87 ;) (type $17) (param $0 i64) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $fmt_u (; 88 ;) (type $16) (param $0 i64) (param $1 i32) (result i32)
+ (unreachable)
+ )
+ (func $pad (; 89 ;) (type $18) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
+ (unreachable)
+ )
+ (func $__stdio_seek (; 90 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $__stdio_write (; 91 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $malloc (; 92 ;) (type $4) (param $0 i32) (result i32)
+ (unreachable)
+ )
+ (func $free (; 93 ;) (type $3) (param $0 i32)
+ (unreachable)
+ )
+ (func $calloc (; 94 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
+ (unreachable)
+ )
+ (func $__addtf3 (; 95 ;) (type $19) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (unreachable)
+ )
+ (func $__ashlti3 (; 96 ;) (type $13) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i32)
+ (unreachable)
+ )
+ (func $__unordtf2 (; 97 ;) (type $20) (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (result i32)
+ (unreachable)
+ )
+ (func $__eqtf2 (; 98 ;) (type $20) (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (result i32)
+ (unreachable)
+ )
+ (func $__netf2 (; 99 ;) (type $20) (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (result i32)
+ (unreachable)
+ )
+ (func $__extenddftf2 (; 100 ;) (type $21) (param $0 i32) (param $1 f64)
+ (unreachable)
+ )
+ (func $__fixtfsi (; 101 ;) (type $12) (param $0 i64) (param $1 i64) (result i32)
+ (unreachable)
+ )
+ (func $__fixunstfsi (; 102 ;) (type $12) (param $0 i64) (param $1 i64) (result i32)
+ (unreachable)
+ )
+ (func $__floatsitf (; 103 ;) (type $1) (param $0 i32) (param $1 i32)
+ (unreachable)
+ )
+ (func $__floatunsitf (; 104 ;) (type $1) (param $0 i32) (param $1 i32)
+ (unreachable)
+ )
+ (func $__lshrti3 (; 105 ;) (type $13) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i32)
+ (unreachable)
+ )
+ (func $__multf3 (; 106 ;) (type $19) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (unreachable)
+ )
+ (func $__subtf3 (; 107 ;) (type $19) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
+ (unreachable)
+ )
+ (func $__fpclassifyl (; 108 ;) (type $12) (param $0 i64) (param $1 i64) (result i32)
+ (unreachable)
+ )
+ (func $memset (; 109 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $memcpy (; 110 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
+ (unreachable)
+ )
+ (func $setThrew (; 111 ;) (type $1) (param $0 i32) (param $1 i32)
+ (unreachable)
+ )
+)
+