(module
 (type $0 (func))
 (type $1 (func (param i32)))
 (type $2 (func (result f32)))
 (type $3 (func (result i32)))
 (type $4 (func (param i32 f64 i32 i32)))
 (type $FUNCSIG$i (func (result i32)))
 (type $6 (func (result f64)))
 (import "env" "int" (func $int (result i32)))
 (memory $0 256 256)
 (global $Int i32 (i32.const 0))
 (func $b (; 1 ;) (type $0)
  (nop)
 )
 (func $l (; 2 ;) (type $0)
  (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 ;) (type $1) (param $0 i32)
  (nop)
 )
 (func $unary (; 4 ;) (type $2) (result f32)
  (f32.abs
   (unreachable)
  )
 )
 (func $binary (; 5 ;) (type $2) (result f32)
  (drop
   (f32.add
    (unreachable)
    (f32.const 3)
   )
  )
 )
 (func $select (; 6 ;) (type $3) (result i32)
  (drop
   (select
    (unreachable)
    (i32.const 4)
    (i32.const 5)
   )
  )
 )
 (func $block-to-one (; 7 ;) (type $0)
  (unreachable)
 )
 (func $recurse (; 8 ;) (type $0)
  (nop)
 )
 (func $func-block (; 9 ;) (type $0)
  (nop)
 )
 (func $Gu (; 10 ;) (type $4) (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 ;) (type $3) (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 ;) (type $0)
  (drop
   (call $int)
  )
  (drop
   (call $int)
  )
  (drop
   (call $int)
  )
  (drop
   (i32.add
    (call $int)
    (call $int)
   )
  )
 )
 (func $drop-get-global (; 13 ;) (type $0)
  (call $drop-get-global)
 )
 (func $relooperJumpThreading1 (; 14 ;) (type $0)
  (local $$vararg_ptr5 i32)
  (local $$11 i32)
  (nop)
 )
 (func $relooperJumpThreading2 (; 15 ;) (type $0)
  (nop)
 )
 (func $relooperJumpThreading3 (; 16 ;) (type $0)
  (nop)
 )
 (func $if2drops (; 17 ;) (type $3) (result i32)
  (drop
   (if (result i32)
    (call $if2drops)
    (call $if2drops)
    (call $if2drops)
   )
  )
  (i32.const 2)
 )
 (func $if2drops-different (; 18 ;) (type $3) (result i32)
  (if
   (call $if2drops)
   (drop
    (call $if2drops)
   )
   (drop
    (call $unary)
   )
  )
  (i32.const 2)
 )
 (func $if-const (; 19 ;) (type $1) (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 ;) (type $1) (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 ;) (type $1) (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 ;) (type $0)
  (block $out
   (block $in
    (call $block-resize-br-gone)
    (br $in)
   )
   (return)
  )
 )
 (func $block-unreachable-but-last-element-concrete (; 23 ;) (type $0)
  (local $2 i32)
  (nop)
 )
 (func $a (; 24 ;) (type $0)
  (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 ;) (type $6) (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 ;) (type $0)
  (unreachable)
 )
 (func $executed-if-in-block2 (; 27 ;) (type $0)
  (unreachable)
 )
 (func $executed-if-in-block3 (; 28 ;) (type $0)
  (block $label$0
   (br $label$0)
  )
  (unreachable)
 )
 (func $load-may-have-side-effects (; 29 ;) (type $3) (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 ;) (type $0)
  (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 ;) (type $0)
  (block $label$0
   (loop $label$1
    (drop
     (br_if $label$0
      (loop $label$9
       (br $label$9)
      )
     )
    )
   )
  )
 )
 (func $if-arm-vanishes (; 32 ;) (type $3) (result i32)
  (block $label$0 (result i32)
   (br $label$0
    (i32.const 1)
   )
  )
 )
 (func $if-arm-vanishes-2 (; 33 ;) (type $3) (result i32)
  (block $label$0 (result i32)
   (br $label$0
    (i32.const 1)
   )
  )
 )
 (func $nop-if-type-changes (; 34 ;) (type $0)
  (local $0 i32)
  (nop)
 )
)
