(module
 (type $none_=>_none (func))
 (type $none_=>_i32 (func (result i32)))
 (type $none_=>_i64 (func (result i64)))
 (type $i32_=>_none (func (param i32)))
 (type $i32_=>_i32 (func (param i32) (result i32)))
 (global $glob (mut i32) (i32.const 1))
 (global $glob-imm i32 (i32.const 1))
 (memory $0 1)
 (func $loop1
  (drop
   (i32.const 10)
  )
  (loop $loop
   (nop)
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $loop2
  (drop
   (i32.const 10)
  )
  (drop
   (i32.const 20)
  )
  (loop $loop
   (nop)
   (nop)
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $loop3
  (drop
   (i32.const 10)
  )
  (drop
   (i32.const 20)
  )
  (loop $loop
   (nop)
   (call $loop2)
   (nop)
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $loop4
  (drop
   (i32.load
    (i32.const 1)
   )
  )
  (loop $loop
   (nop)
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $loop3-4
  (loop $loop
   (drop
    (i32.load
     (i32.const 10)
    )
   )
   (call $loop2)
   (drop
    (i32.load
     (i32.const 20)
    )
   )
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $loop3-4-b
  (drop
   (i32.load
    (i32.const 10)
   )
  )
  (drop
   (i32.load
    (i32.const 20)
   )
  )
  (loop $loop
   (nop)
   (nop)
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $loop5
  (loop $loop
   (i32.store
    (i32.const 1)
    (i32.const 2)
   )
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $loop6
  (loop $loop
   (i32.store
    (i32.const 1)
    (i32.const 2)
   )
   (i32.store
    (i32.const 2)
    (i32.const 3)
   )
  )
 )
 (func $loop7
  (loop $loop
   (i32.store
    (i32.const 1)
    (i32.const 2)
   )
   (i32.store
    (i32.const 2)
    (i32.const 3)
   )
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $loop8
  (loop $loop
   (i32.store
    (i32.const 1)
    (i32.const 2)
   )
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $loop9
  (loop $loop
   (drop
    (i32.load
     (i32.const 1)
    )
   )
   (i32.store
    (i32.const 1)
    (i32.const 2)
   )
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $loop10
  (drop
   (i32.load
    (i32.const 1)
   )
  )
  (drop
   (i32.load
    (i32.const 2)
   )
  )
  (loop $loop
   (nop)
   (nop)
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $loop11
  (local $x i32)
  (local $y i32)
  (loop $loop
   (drop
    (local.get $x)
   )
   (br_if $loop
    (local.tee $x
     (i32.const 2)
    )
   )
  )
 )
 (func $loop12
  (local $x i32)
  (local $y i32)
  (drop
   (local.get $x)
  )
  (loop $loop
   (nop)
   (br_if $loop
    (local.tee $y
     (i32.const 2)
    )
   )
  )
 )
 (func $loop13
  (local $x i32)
  (local $y i32)
  (local.set $x
   (i32.eqz
    (local.get $y)
   )
  )
  (loop $loop
   (nop)
   (call $loop12)
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $loop14
  (local $x i32)
  (local $y i32)
  (local.set $x
   (i32.eqz
    (local.get $y)
   )
  )
  (loop $loop
   (nop)
   (call $loop12)
   (br_if $loop
    (i32.const 1)
   )
   (local.set $y
    (local.get $x)
   )
  )
 )
 (func $loop14-1
  (local $x i32)
  (local $y i32)
  (loop $loop
   (local.set $x
    (i32.eqz
     (local.get $y)
    )
   )
   (call $loop12)
   (local.set $y
    (local.get $x)
   )
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $loop15
  (local $x i32)
  (local $y i32)
  (local.set $x
   (i32.eqz
    (local.get $y)
   )
  )
  (loop $loop
   (nop)
   (call $loop12)
   (br_if $loop
    (i32.const 1)
   )
   (drop
    (local.get $y)
   )
  )
 )
 (func $loop15-1
  (local $x i32)
  (local $y i32)
  (local.set $x
   (i32.eqz
    (local.get $y)
   )
  )
  (drop
   (local.get $y)
  )
  (loop $loop
   (nop)
   (call $loop12)
   (nop)
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $loop16
  (local $x i32)
  (local $y i32)
  (local.set $x
   (i32.eqz
    (local.get $y)
   )
  )
  (loop $loop
   (nop)
   (call $loop12)
   (br_if $loop
    (i32.const 1)
   )
   (drop
    (local.get $x)
   )
  )
 )
 (func $loop16-1
  (local $x i32)
  (local $y i32)
  (local.set $x
   (i32.eqz
    (local.get $y)
   )
  )
  (drop
   (local.get $x)
  )
  (loop $loop
   (nop)
   (call $loop12)
   (nop)
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $loop16-2
  (local $x i32)
  (local $y i32)
  (local.set $x
   (i32.const 2)
  )
  (block
   (local.set $x
    (i32.eqz
     (local.get $y)
    )
   )
   (drop
    (local.get $x)
   )
   (loop $loop
    (nop)
    (call $loop12)
    (nop)
    (br_if $loop
     (i32.const 1)
    )
   )
  )
 )
 (func $loop16-3
  (local $x i32)
  (local $y i32)
  (local.set $y
   (i32.const 2)
  )
  (block
   (local.set $x
    (i32.eqz
     (local.get $y)
    )
   )
   (drop
    (local.get $x)
   )
   (loop $loop
    (nop)
    (call $loop12)
    (nop)
    (br_if $loop
     (i32.const 1)
    )
   )
  )
 )
 (func $nop
  (loop $loop
   (nop)
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $nested-blocks
  (loop $loop
   (block
    (nop)
   )
   (block $x
    (nop)
   )
   (block $a
    (block $b
     (block $c
      (nop)
     )
    )
   )
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $nested-unhoistable-blocks
  (loop $loop
   (block
    (call $nested-unhoistable-blocks)
   )
   (block $x
    (call $nested-unhoistable-blocks)
   )
   (block $a
    (block $b
     (block $c
      (call $nested-unhoistable-blocks)
     )
    )
   )
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $conditional
  (if
   (i32.const 0)
   (drop
    (i32.const 10)
   )
  )
  (loop $loop
   (nop)
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $conditional1 (result i32)
  (loop $loop
   (if
    (call $conditional1)
    (drop
     (i32.const 10)
    )
   )
   (br_if $loop
    (i32.const 1)
   )
  )
  (unreachable)
 )
 (func $conditional2
  (block $out
   (loop $loop
    (br_if $out
     (i32.const 1)
    )
    (drop
     (i32.const 10)
    )
    (br_if $loop
     (i32.const 1)
    )
   )
  )
 )
 (func $conditional3
  (block $out
   (block
    (drop
     (i32.const 10)
    )
    (loop $loop
     (nop)
     (br_if $out
      (i32.const 1)
     )
     (br_if $loop
      (i32.const 1)
     )
    )
   )
  )
 )
 (func $after
  (loop $loop
   (nop)
  )
  (drop
   (i32.const 10)
  )
 )
 (func $loops
  (drop
   (i32.const 10)
  )
  (loop $loop2
   (nop)
   (loop $loop1
    (nop)
    (br_if $loop1
     (i32.const 1)
    )
   )
  )
 )
 (func $loops2
  (drop
   (i32.const 10)
  )
  (loop $loop2
   (nop)
   (loop $loop1
    (nop)
    (br_if $loop2
     (i32.const 1)
    )
   )
  )
 )
 (func $fuzz1 (result i64)
  (local $var$1 i64)
  (drop
   (block (result i32)
    (local.set $var$1
     (block $label$5 (result i64)
      (local.set $var$1
       (i64.const -29585)
      )
      (i64.const -70)
     )
    )
    (loop $label$4 (result i32)
     (nop)
     (i32.const 1)
    )
   )
  )
  (loop $label$1 (result i64)
   (block $label$2
    (block $label$3
     (nop)
     (br $label$2)
    )
    (unreachable)
   )
   (local.get $var$1)
  )
 )
 (func $self (result i32)
  (local $x i32)
  (loop $loop
   (local.set $x
    (i32.add
     (local.get $x)
     (i32.const 1)
    )
   )
   (br_if $loop
    (i32.const 1)
   )
  )
  (local.get $x)
 )
 (func $nested-set
  (local $var$0 i32)
  (local $var$1 i64)
  (loop $label$1
   (local.set $var$0
    (block $label$3 (result i32)
     (local.set $var$1
      (i64.const 0)
     )
     (local.get $var$0)
    )
   )
   (local.set $var$1
    (i64.const 1)
   )
   (br_if $label$1
    (i32.const 0)
   )
  )
 )
 (func $load-store (param $x i32)
  (loop $loop
   (drop
    (i32.load
     (i32.const 0)
    )
   )
   (i32.store
    (local.get $x)
    (local.get $x)
   )
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $set-set (param $x i32) (result i32)
  (loop $loop
   (local.set $x
    (i32.const 1)
   )
   (br_if $loop
    (i32.const 2)
   )
   (local.set $x
    (i32.const 3)
   )
   (br_if $loop
    (i32.const 4)
   )
  )
  (local.get $x)
 )
 (func $copies-no
  (local $x i32)
  (local $y i32)
  (local $z i32)
  (local $a i32)
  (local $b i32)
  (local $c i32)
  (loop $loop
   (local.set $x
    (local.get $x)
   )
   (local.set $y
    (local.get $z)
   )
   (local.set $a
    (local.tee $b
     (local.get $c)
    )
   )
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $consts-no
  (local $x i32)
  (local $a i32)
  (local $b i32)
  (loop $loop
   (local.set $x
    (i32.const 0)
   )
   (local.set $a
    (local.tee $b
     (i32.const 1)
    )
   )
   (br_if $loop
    (i32.const 1)
   )
  )
 )
 (func $global
  (local $x i32)
  (local.set $x
   (global.get $glob)
  )
  (drop
   (local.get $x)
  )
  (loop $loop
   (nop)
   (nop)
   (br_if $loop
    (local.get $x)
   )
  )
 )
 (func $global-call
  (local $x i32)
  (loop $loop
   (local.set $x
    (global.get $glob)
   )
   (call $global)
   (drop
    (local.get $x)
   )
   (br_if $loop
    (local.get $x)
   )
  )
 )
 (func $global-call-immutable
  (local $x i32)
  (local.set $x
   (global.get $glob-imm)
  )
  (drop
   (local.get $x)
  )
  (loop $loop
   (nop)
   (call $global)
   (nop)
   (br_if $loop
    (local.get $x)
   )
  )
 )
)
