(module
 (type $1 (func))
 (type $0 (func (param i32) (result i32)))
 (type $2 (func (result i32)))
 (memory $0 256 256)
 (func $b0 (param $i1 i32) (result i32)
  (i32.const 0)
 )
 (func $loops
  (block $out
   (loop $in
    (br $out)
    (br $in)
   )
  )
  (loop $in0
   (br $in0)
  )
  (nop)
  (block $out1
   (loop $in3
    (br $out1)
    (br $in3)
   )
  )
  (block $out2
   (loop $in4
    (br $out2)
    (br $in4)
   )
  )
  (loop $in5
   (block $out3
    (br $out3)
    (br $in5)
   )
  )
  (loop $in6
   (block $out4
    (br $out4)
    (br $in6)
   )
  )
  (block $out5
   (loop $in7
    (br $out5)
    (br $in7)
   )
  )
 )
 (func $merges
  (block $b
   (br $b)
   (br $b)
  )
  (block $b0
   (br_table $b0 $b0
    (i32.const 3)
   )
  )
  (block $b1
   (br_table $b1 $b1
    (i32.const 3)
   )
  )
 )
 (func $merge-typed-with-unreachable-child (result i32)
  (local $0 f32)
  (block $label$1 (result i32)
   (br_if $label$1
    (i32.const 1)
    (br_if $label$1
     (i32.const 0)
     (br $label$1
      (i32.const 0)
     )
    )
   )
  )
 )
 (func $loop-with-child-of-other-type
  (drop
   (loop (result i32)
    (unreachable)
   )
  )
 )
)
