(module
 (type $0 (func))
 (memory $0 0)
 (func $contrast (; 0 ;) (type $0)
  (local $x i32)
  (local $y i32)
  (local $z i32)
  (local $a i32)
  (local $b i32)
  (nop)
  (if
   (tee_local $x
    (i32.const 1)
   )
   (nop)
  )
  (if
   (get_local $x)
   (nop)
  )
  (nop)
  (drop
   (if (result i32)
    (i32.const 2)
    (i32.const 3)
    (i32.const 4)
   )
  )
  (nop)
  (drop
   (block $block (result i32)
    (i32.const 5)
   )
  )
  (if
   (i32.const 6)
   (set_local $a
    (i32.const 7)
   )
   (set_local $a
    (i32.const 8)
   )
  )
  (drop
   (get_local $a)
  )
  (block $val
   (if
    (i32.const 10)
    (block $block4
     (set_local $b
      (i32.const 11)
     )
     (br $val)
    )
   )
   (set_local $b
    (i32.const 12)
   )
  )
  (drop
   (get_local $b)
  )
 )
 (func $no-unreachable (; 1 ;) (type $0)
  (local $x i32)
  (unreachable)
 )
 (func $implicit-trap-and-global-effects (; 2 ;) (type $0)
  (local $var$0 i32)
  (set_local $var$0
   (i32.trunc_u/f64
    (f64.const -nan:0xfffffffffffc3)
   )
  )
  (f32.store align=1
   (i32.const 22)
   (f32.const 154)
  )
  (drop
   (get_local $var$0)
  )
 )
 (func $implicit-trap-and-local-effects (; 3 ;) (type $0)
  (local $var$0 i32)
  (local $other i32)
  (nop)
  (set_local $other
   (i32.const 100)
  )
  (drop
   (i32.trunc_u/f64
    (f64.const -nan:0xfffffffffffc3)
   )
  )
  (if
   (i32.const 1)
   (drop
    (get_local $other)
   )
  )
 )
)
