(module
 (type $0 (func (param i32)))
 (type $1 (func (param i32 i32)))
 (type $2 (func))
 (global $global$0 (mut i32) (i32.const 1))
 (memory $0 1 1)
 (func $basics (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 (param $p i32)
  (local $x i32)
  (local $y i32)
  (local $3 i32)
  (drop
   (if (result i32)
    (i32.const 1)
    (then
     (i32.const 0)
    )
    (else
     (i32.const 0)
    )
   )
  )
  (if
   (i32.const 1)
   (then
    (local.set $x
     (i32.const 1)
    )
   )
  )
  (drop
   (local.get $x)
  )
  (if
   (i32.const 1)
   (then
    (local.set $p
     (i32.const 1)
    )
   )
  )
  (drop
   (local.get $p)
  )
  (if
   (i32.const 1)
   (then
    (local.set $x
     (i32.const 2)
    )
   )
   (else
    (nop)
   )
  )
  (drop
   (local.get $x)
  )
  (if
   (i32.const 1)
   (then
    (nop)
   )
   (else
    (local.set $x
     (i32.const 3)
    )
   )
  )
  (drop
   (local.get $x)
  )
  (if
   (i32.const 1)
   (then
    (local.set $x
     (i32.const 4)
    )
   )
   (else
    (local.set $x
     (i32.const 5)
    )
   )
  )
  (drop
   (local.get $x)
  )
  (if
   (i32.const 1)
   (then
    (local.set $x
     (i32.const 6)
    )
   )
   (else
    (local.set $3
     (i32.const 7)
    )
    (local.set $x
     (i32.const 8)
    )
   )
  )
  (drop
   (local.get $x)
  )
 )
 (func $if2 (param $x i32)
  (if
   (i32.const 1)
   (then
    (local.set $x
     (i32.const 1)
    )
    (drop
     (local.get $x)
    )
   )
  )
  (drop
   (local.get $x)
  )
 )
 (func $nomerge (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)
   (then
    (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)
   (then
    (local.set $x
     (i32.const 6)
    )
   )
   (else
    (local.set $x
     (i32.const 7)
    )
   )
  )
  (call $nomerge
   (local.get $x)
   (local.get $x)
  )
 )
 (func $simd-zero
  (local $0 v128)
  (v128.store align=4
   (i32.const 0)
   (i32x4.splat
    (i32.const 0)
   )
  )
  (unreachable)
 )
)
