(module
 (type $none_=>_none (func))
 (type $none_=>_i32 (func (result i32)))
 (type $i32_=>_none (func (param i32)))
 (type $none_=>_f32 (func (result f32)))
 (type $i32_f64_i32_i32_=>_none (func (param i32 f64 i32 i32)))
 (type $none_=>_f64 (func (result f64)))
 (import "env" "int" (func $int (result i32)))
 (memory $0 256 256)
 (global $Int i32 (i32.const 0))
 (func $b (; 1 ;)
  (nop)
 )
 (func $l (; 2 ;)
  (local $x i32)
  (local $y i32)
  (local.set $x
   (local.get $x)
  )
  (local.set $x
   (local.get $x)
  )
  (local.set $x
   (local.get $y)
  )
 )
 (func $loopy (; 3 ;) (param $0 i32)
  (nop)
 )
 (func $unary (; 4 ;) (result f32)
  (f32.abs
   (unreachable)
  )
 )
 (func $binary (; 5 ;) (result f32)
  (drop
   (f32.add
    (unreachable)
    (f32.const 3)
   )
  )
 )
 (func $select (; 6 ;) (result i32)
  (drop
   (select
    (unreachable)
    (i32.const 4)
    (i32.const 5)
   )
  )
 )
 (func $block-to-one (; 7 ;)
  (unreachable)
 )
 (func $recurse (; 8 ;)
  (nop)
 )
 (func $func-block (; 9 ;)
  (nop)
 )
 (func $Gu (; 10 ;) (param $b i32) (param $e f64) (param $l i32) (param $d i32)
  (if
   (if (result i32)
    (local.get $d)
    (f64.ne
     (f64.promote_f32
      (f32.load
       (local.tee $l
        (i32.add
         (local.get $b)
         (i32.const 60)
        )
       )
      )
     )
     (local.get $e)
    )
    (i32.const 0)
   )
   (unreachable)
  )
 )
 (func $if-drop (; 11 ;) (result i32)
  (block $out
   (if
    (call $if-drop)
    (drop
     (call $int)
    )
    (br $out)
   )
   (if
    (call $if-drop)
    (br $out)
    (drop
     (call $int)
    )
   )
  )
  (i32.const 1)
 )
 (func $drop-silly (; 12 ;)
  (drop
   (call $int)
  )
  (drop
   (call $int)
  )
  (drop
   (call $int)
  )
  (drop
   (i32.add
    (call $int)
    (call $int)
   )
  )
 )
 (func $drop-get-global (; 13 ;)
  (call $drop-get-global)
 )
 (func $relooperJumpThreading1 (; 14 ;)
  (local $$vararg_ptr5 i32)
  (local $$11 i32)
  (nop)
 )
 (func $relooperJumpThreading2 (; 15 ;)
  (nop)
 )
 (func $relooperJumpThreading3 (; 16 ;)
  (nop)
 )
 (func $if2drops (; 17 ;) (result i32)
  (drop
   (if (result i32)
    (call $if2drops)
    (call $if2drops)
    (call $if2drops)
   )
  )
  (i32.const 2)
 )
 (func $if2drops-different (; 18 ;) (result i32)
  (if
   (call $if2drops)
   (drop
    (call $if2drops)
   )
   (drop
    (call $unary)
   )
  )
  (i32.const 2)
 )
 (func $if-const (; 19 ;) (param $x i32)
  (call $if-const
   (i32.const 3)
  )
  (call $if-const
   (i32.const 5)
  )
  (call $if-const
   (i32.const 7)
  )
 )
 (func $drop-if-both-unreachable (; 20 ;) (param $0 i32)
  (block $out
   (drop
    (if (result i32)
     (local.get $0)
     (br $out)
     (br $out)
    )
   )
  )
  (drop
   (if (result i32)
    (local.get $0)
    (unreachable)
    (unreachable)
   )
  )
 )
 (func $if-1-block (; 21 ;) (param $x i32)
  (block $out
   (if
    (local.get $x)
    (block $block9
     (local.set $x
      (local.get $x)
     )
     (br $out)
    )
   )
  )
 )
 (func $block-resize-br-gone (; 22 ;)
  (block $out
   (block $in
    (call $block-resize-br-gone)
    (br $in)
   )
   (return)
  )
 )
 (func $block-unreachable-but-last-element-concrete (; 23 ;)
  (local $2 i32)
  (nop)
 )
 (func $a (; 24 ;)
  (block $block
   (i32.store
    (i32.const 1)
    (i32.const 2)
   )
   (f64.div
    (f64.const -nan:0xfffffffffa361)
    (loop $label$1
     (br $label$1)
    )
   )
  )
 )
 (func $leave-block-even-if-br-not-taken (; 25 ;) (result f64)
  (block $label$0 (result f64)
   (f64.store align=1
    (i32.const 879179022)
    (br_if $label$0
     (loop $label$9
      (br $label$9)
     )
     (i32.const 677803374)
    )
   )
  )
 )
 (func $executed-if-in-block (; 26 ;)
  (unreachable)
 )
 (func $executed-if-in-block2 (; 27 ;)
  (unreachable)
 )
 (func $executed-if-in-block3 (; 28 ;)
  (block $label$0
   (br $label$0)
  )
  (unreachable)
 )
 (func $load-may-have-side-effects (; 29 ;) (result i32)
  (i64.ge_s
   (block $block (result i64)
    (drop
     (i64.load32_s
      (i32.const 678585719)
     )
    )
    (i64.const 2912825531628789796)
   )
   (i64.const 0)
  )
 )
 (func $unary-binary-may-trap (; 30 ;)
  (drop
   (i64.div_s
    (i64.const -1)
    (i64.const 729618461987467893)
   )
  )
  (drop
   (i64.trunc_f32_u
    (f32.const 70847791997969805621592064)
   )
  )
 )
 (func $unreachable-if-with-nop-arm-that-leaves-a-concrete-value-if-nop-is-removed (; 31 ;)
  (block $label$0
   (loop $label$1
    (drop
     (br_if $label$0
      (loop $label$9
       (br $label$9)
      )
     )
    )
   )
  )
 )
 (func $if-arm-vanishes (; 32 ;) (result i32)
  (block $label$0 (result i32)
   (br $label$0
    (i32.const 1)
   )
  )
 )
 (func $if-arm-vanishes-2 (; 33 ;) (result i32)
  (block $label$0 (result i32)
   (br $label$0
    (i32.const 1)
   )
  )
 )
 (func $nop-if-type-changes (; 34 ;)
  (local $0 i32)
  (nop)
 )
)
(module
 (type $i64_=>_none (func (param i64)))
 (type $f32_i32_=>_i32 (func (param f32 i32) (result i32)))
 (func $0 (; 0 ;) (param $0 i64)
  (nop)
 )
 (func $1 (; 1 ;) (param $0 f32) (param $1 i32) (result i32)
  (drop
   (block $label$2 (result i64)
    (call $0
     (br_if $label$2
      (i64.const -137438953472)
      (i32.const 1)
     )
    )
    (unreachable)
   )
  )
  (unreachable)
 )
)
(module
 (type $i32_=>_i32 (func (param i32) (result i32)))
 (type $i32_i32_i32_=>_none (func (param i32 i32 i32)))
 (memory $0 1 1)
 (global $global$1 (mut i32) (i32.const 0))
 (export "compress" (func $3))
 (func $_deflate (; 0 ;) (param $0 i32) (result i32)
  (call $_deflate
   (local.get $0)
  )
 )
 (func $_deflateInit2_ (; 1 ;) (param $0 i32) (result i32)
  (call $_deflateInit2_
   (local.get $0)
  )
 )
 (func $_deflateEnd (; 2 ;) (param $0 i32) (result i32)
  (call $_deflateEnd
   (local.get $0)
  )
 )
 (func $3 (; 3 ;) (param $0 i32) (param $1 i32) (param $2 i32)
  (local $3 i32)
  (local.set $3
   (global.get $global$1)
  )
  (global.set $global$1
   (i32.sub
    (global.get $global$1)
    (i32.const -64)
   )
  )
  (i32.store
   (local.get $3)
   (local.get $2)
  )
  (i32.store offset=4
   (local.get $3)
   (i32.const 100000)
  )
  (i32.store offset=12
   (local.get $3)
   (local.get $0)
  )
  (i32.store offset=16
   (local.get $3)
   (i32.load
    (local.get $1)
   )
  )
  (i32.store offset=32
   (local.get $3)
   (i32.const 0)
  )
  (i32.store offset=36
   (local.get $3)
   (i32.const 0)
  )
  (i32.store offset=40
   (local.get $3)
   (i32.const 0)
  )
  (if
   (call $_deflateInit2_
    (local.get $3)
   )
   (block $block
    (global.set $global$1
     (local.get $3)
    )
    (return)
   )
  )
  (drop
   (if (result i32)
    (i32.eq
     (local.tee $0
      (call $_deflate
       (local.get $3)
      )
     )
     (i32.const 1)
    )
    (block $block1 (result i32)
     (i32.store
      (local.get $1)
      (i32.load offset=20
       (local.get $3)
      )
     )
     (local.set $0
      (call $_deflateEnd
       (local.get $3)
      )
     )
     (global.set $global$1
      (local.get $3)
     )
     (i32.const 0)
    )
    (block $block2 (result i32)
     (drop
      (call $_deflateEnd
       (local.get $3)
      )
     )
     (global.set $global$1
      (local.get $3)
     )
     (i32.const 0)
    )
   )
  )
 )
)
(module
 (type $none_=>_none (func))
 (type $i32_=>_none (func (param i32)))
 (event $e (attr 0) (param i32))
 (func $try-test (; 0 ;)
  (nop)
 )
 (func $inner-try-test (; 1 ;)
  (local $0 i32)
  (try
   (throw $e
    (i32.const 0)
   )
   (catch
    (drop
     (exnref.pop)
    )
    (local.set $0
     (i32.const 1)
    )
   )
  )
 )
)
