(module
 (type $i32_=>_none (func (param i32)))
 (type $none_=>_none (func))
 (type $i32_i32_=>_none (func (param i32 i32)))
 (memory $0 1 1)
 (global $global$0 (mut i32) (i32.const 1))
 (func $basics (; 0 ;) (param $x i32)
  (local $y i32)
  (local $z f32)
  (local $w i64)
  (local $t f64)
  (local $5 i32)
  (local $6 f64)
  (local $7 f64)
  (drop
   (local.get $x)
  )
  (drop
   (i32.const 0)
  )
  (drop
   (f32.const 0)
  )
  (drop
   (i64.const 0)
  )
  (drop
   (f64.const 0)
  )
  (local.set $5
   (i32.const 100)
  )
  (drop
   (local.get $5)
  )
  (local.set $6
   (f64.const 2)
  )
  (drop
   (local.get $6)
  )
  (local.set $7
   (f64.const 33)
  )
  (drop
   (local.get $7)
  )
  (drop
   (local.get $7)
  )
 )
 (func $if (; 1 ;) (param $p i32)
  (local $x i32)
  (local $y i32)
  (local $3 i32)
  (drop
   (if (result i32)
    (i32.const 1)
    (i32.const 0)
    (i32.const 0)
   )
  )
  (if
   (i32.const 1)
   (local.set $x
    (i32.const 1)
   )
  )
  (drop
   (local.get $x)
  )
  (if
   (i32.const 1)
   (local.set $p
    (i32.const 1)
   )
  )
  (drop
   (local.get $p)
  )
  (if
   (i32.const 1)
   (local.set $x
    (i32.const 2)
   )
   (nop)
  )
  (drop
   (local.get $x)
  )
  (if
   (i32.const 1)
   (nop)
   (local.set $x
    (i32.const 3)
   )
  )
  (drop
   (local.get $x)
  )
  (if
   (i32.const 1)
   (local.set $x
    (i32.const 4)
   )
   (local.set $x
    (i32.const 5)
   )
  )
  (drop
   (local.get $x)
  )
  (if
   (i32.const 1)
   (local.set $x
    (i32.const 6)
   )
   (block $block
    (local.set $3
     (i32.const 7)
    )
    (local.set $x
     (i32.const 8)
    )
   )
  )
  (drop
   (local.get $x)
  )
 )
 (func $if2 (; 2 ;) (param $x i32)
  (if
   (i32.const 1)
   (block $block
    (local.set $x
     (i32.const 1)
    )
    (drop
     (local.get $x)
    )
   )
  )
  (drop
   (local.get $x)
  )
 )
 (func $nomerge (; 3 ;) (param $p i32) (param $q i32)
  (local $x i32)
  (local $3 i32)
  (local $4 i32)
  (local $5 i32)
  (local.set $3
   (i32.const 1)
  )
  (call $nomerge
   (local.get $3)
   (local.get $3)
  )
  (local.set $4
   (i32.const 2)
  )
  (call $nomerge
   (local.get $4)
   (local.get $4)
  )
  (local.set $x
   (i32.const 3)
  )
  (call $nomerge
   (local.get $x)
   (local.get $x)
  )
  (if
   (i32.const 1)
   (local.set $x
    (i32.const 4)
   )
  )
  (call $nomerge
   (local.get $x)
   (local.get $x)
  )
  (local.set $5
   (i32.const 5)
  )
  (call $nomerge
   (local.get $5)
   (local.get $5)
  )
  (if
   (i32.const 1)
   (local.set $x
    (i32.const 6)
   )
   (local.set $x
    (i32.const 7)
   )
  )
  (call $nomerge
   (local.get $x)
   (local.get $x)
  )
 )
 (func $simd-zero (; 4 ;)
  (local $0 v128)
  (v128.store align=4
   (i32.const 0)
   (i32x4.splat
    (i32.const 0)
   )
  )
  (unreachable)
 )
)
